BR122013020184A2 - método para decodificar uma imagem - Google Patents
método para decodificar uma imagem Download PDFInfo
- Publication number
- BR122013020184A2 BR122013020184A2 BR122013020184-0A BR122013020184A BR122013020184A2 BR 122013020184 A2 BR122013020184 A2 BR 122013020184A2 BR 122013020184 A BR122013020184 A BR 122013020184A BR 122013020184 A2 BR122013020184 A2 BR 122013020184A2
- Authority
- BR
- Brazil
- Prior art keywords
- unit
- coding
- mode
- coding unit
- size
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
São divulgados um método e um aparelho para codificar um vídeo e um método e aparelho para decodificar um vídeo, nos quais pixels vizinhos usados para a realização de intra predição em um bloco atual a ser codificado são filtrados e a intra predição é realizada usando os pixels vizinhos filtrados.
Description
Este pedido é um pedido dividido do pedido de patente BR 11 2012003430 8 de 17.08.2010
As modalidades exemplares dizem respeito à codificação e decodificação de um vídeo, e mais particularmente, a um método e um aparelho para codificação e decodificação de um vídeo que executa intra predição selecionando um modo de intra predição de acordo com um tamanho de uma unidade de dados intra-predita.
De acordo com um padrão de compressão de imagem, como grupo de especialista de figura em movimento (MPEG)-1, MPEG-2, MPEG-4, ou codificação de vídeo avançada H.264/MPEG-4 (AVC), uma imagem é dividida em macroblocos para de codificação de vídeo. Depois de cada um dos macroblocos é codificado em qualquer de inter predição e modos de codificação de intra de predição, um modo de codificação apropriado é escolhido de acordo com uma taxa de bits exigida para codificar o macrobloco e uma distorção permitida entre o macrobloco original e o macrobloco decodificado. Em seguida, o macrobloco é codificado no modo de codificação selecionado.
À medida que o hardware para reprodução e armazenamento de alta resolução ou conteúdo de vídeo de alta qualidade está sendo desenvolvido e fornecido, a necessidade de um codec de vídeo para efetivamente codificar ou decodificar o conteúdo de vídeo de alta resolução ou de alta qualidade está aumentando. Em um codec de vídeo convencional, um vídeo é codificado de acordo com um método de codificação limitado com base em um macrobloco que tem um tamanho predeterminado.
Em um codec de vídeo convencional, um vídeo é codificado de acordo com um método de codificação limitado com base em um macrobloco que tem um tamanho predeterminado.
As modalidades exemplares proporcionam um método e um aparelho para codificação e decodificação de um vídeo que utiliza um método de intra predição tendo várias diretividades com base em unidades de codificação hierárquicas com vários tamanhos.
De acordo com a presente invenção, a eficiência de codificação para a codificação de vídeo é melhorada.
A Figura 1 é um diagrama de blocos de um aparelho para codificar um vídeo, de acordo com uma modalidade exemplar.
A Figura 2 é um diagrama de blocos de um aparelho para a decodificação de um vídeo, de acordo com uma modalidade exemplar.
A Figura 3 é um diagrama para explicar um conceito de unidades de codificação de acordo com uma modalidade exemplar.
A Figura 4 é um diagrama de blocos de um codificador de imagem com base em unidades de codificação de acordo com uma modalidade exemplar.
A Figura 5 é um diagrama de blocos de um decodificador de imagem com base em unidades de codificação de acordo com uma modalidade exemplar.
A Figura 6 é um diagrama que ilustra unidades de codificação mais profundas de acordo com as profundidades, e partições de acordo com uma modalidade exemplar.
A Figura 7 é um diagrama para explicar uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma modalidade exemplar.
A Figura 8 é um diagrama para explicar informação de codificação de unidades de codificação correspondentes a uma profundidade codificada, de acordo com uma modalidade exemplar.
A Figura 9 é um diagrama de unidades de codificação mais profundas de acordo com profundidades, de acordo com uma modalidade exemplar.
As Figuras 10 a 12 são diagramas para explicar uma relação entre as unidades de codificação, unidades de predição, e unidades de transformação, de acordo com uma modalidade exemplar.
A Figura 13 é um diagrama para explicar uma relação entre uma unidade de codificação, uma unidade de previsão ou uma partição, e uma unidade de transformação, de acordo com a informação de modo de codificação da Tabela 1.
A Figura 14 ilustra um número de modos de intra predição de acordo com um tamanho de uma unidade de codificação, de acordo com uma modalidade exemplar.
As Figuras 15A através de 15C são diagramas para explicar um modo de intra predição aplicado a uma unidade de codificação tendo um tamanho predeterminado, de acordo com uma modalidade exemplar.
A Figura 16 é um diagrama para explicar um modo de intra predição aplicado a uma unidade de codificação tendo um tamanho predeterminado, de acordo com outra modalidade exemplar.
A Figura 17 é um diagrama de referência para explicar os modos de intra predição possuindo várias diretividades, de acordo com uma modalidade exemplar.
A Figura 18 é um diagrama de referência para explicar um modo bilinear de acordo com uma modalidade exemplar.
A Figura 19 é um diagrama para explicar um processo de geração de um valor de predição de um modo de intra predição de uma unidade de codificação atual, de acordo com uma modalidade exemplar.
Figura 20 é um diagrama de referência para explicar um processo de mapeamento de unificar modos de intra predição de unidades de codificação com tamanhos diferentes, de acordo com uma modalidade exemplar.
A Figura 21 é um diagrama de referência para explicar um processo de mapeamento modos de intra predição de unidades de codificação vizinhas para um dos modos de intra predição representativos, de acordo com uma modalidade exemplar.
A Figura 22 é um diagrama de blocos de um aparelho de intra predição de acordo com uma modalidade exemplar.
A Figura 23 é um fluxograma que ilustra um método de codificação de uma imagem, de acordo com uma modalidade exemplar.
A Figura 24 é um fluxograma que ilustra um método de decodificação de uma imagem, de acordo com uma modalidade exemplar.
A Figura 25 é um diagrama para explicar uma relação entre um pixel corrente e os pixels vizinhos localizados sobre uma linha estendida tendo uma diretividade de (dx, dy) .
A Figura 26 é um diagrama para explicar uma mudança de um pixel vizinho localizado sobre uma linha estendida tendo uma diretividade de (dx, dy) , de acordo com uma localização de um pixel corrente, de acordo com uma modalidade exemplar.
As Figuras 27 e 28 são diagramas para explicar um método de determinação uma direção de modo de intra predição, de acordo com modalidades exemplar; e
A Figura 29 é um diagrama que ilustra uma unidade de codificação atual e pixels vizinhos a serem utilizados para a intra predição, de acordo com uma modalidade exemplar.
A Figura 2 é um diagrama de blocos de um aparelho para a decodificação de um vídeo, de acordo com uma modalidade exemplar.
A Figura 3 é um diagrama para explicar um conceito de unidades de codificação de acordo com uma modalidade exemplar.
A Figura 4 é um diagrama de blocos de um codificador de imagem com base em unidades de codificação de acordo com uma modalidade exemplar.
A Figura 5 é um diagrama de blocos de um decodificador de imagem com base em unidades de codificação de acordo com uma modalidade exemplar.
A Figura 6 é um diagrama que ilustra unidades de codificação mais profundas de acordo com as profundidades, e partições de acordo com uma modalidade exemplar.
A Figura 7 é um diagrama para explicar uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma modalidade exemplar.
A Figura 8 é um diagrama para explicar informação de codificação de unidades de codificação correspondentes a uma profundidade codificada, de acordo com uma modalidade exemplar.
A Figura 9 é um diagrama de unidades de codificação mais profundas de acordo com profundidades, de acordo com uma modalidade exemplar.
As Figuras 10 a 12 são diagramas para explicar uma relação entre as unidades de codificação, unidades de predição, e unidades de transformação, de acordo com uma modalidade exemplar.
A Figura 13 é um diagrama para explicar uma relação entre uma unidade de codificação, uma unidade de previsão ou uma partição, e uma unidade de transformação, de acordo com a informação de modo de codificação da Tabela 1.
A Figura 14 ilustra um número de modos de intra predição de acordo com um tamanho de uma unidade de codificação, de acordo com uma modalidade exemplar.
As Figuras 15A através de 15C são diagramas para explicar um modo de intra predição aplicado a uma unidade de codificação tendo um tamanho predeterminado, de acordo com uma modalidade exemplar.
A Figura 16 é um diagrama para explicar um modo de intra predição aplicado a uma unidade de codificação tendo um tamanho predeterminado, de acordo com outra modalidade exemplar.
A Figura 17 é um diagrama de referência para explicar os modos de intra predição possuindo várias diretividades, de acordo com uma modalidade exemplar.
A Figura 18 é um diagrama de referência para explicar um modo bilinear de acordo com uma modalidade exemplar.
A Figura 19 é um diagrama para explicar um processo de geração de um valor de predição de um modo de intra predição de uma unidade de codificação atual, de acordo com uma modalidade exemplar.
Figura 20 é um diagrama de referência para explicar um processo de mapeamento de unificar modos de intra predição de unidades de codificação com tamanhos diferentes, de acordo com uma modalidade exemplar.
A Figura 21 é um diagrama de referência para explicar um processo de mapeamento modos de intra predição de unidades de codificação vizinhas para um dos modos de intra predição representativos, de acordo com uma modalidade exemplar.
A Figura 22 é um diagrama de blocos de um aparelho de intra predição de acordo com uma modalidade exemplar.
A Figura 23 é um fluxograma que ilustra um método de codificação de uma imagem, de acordo com uma modalidade exemplar.
A Figura 24 é um fluxograma que ilustra um método de decodificação de uma imagem, de acordo com uma modalidade exemplar.
A Figura 25 é um diagrama para explicar uma relação entre um pixel corrente e os pixels vizinhos localizados sobre uma linha estendida tendo uma diretividade de (dx, dy) .
A Figura 26 é um diagrama para explicar uma mudança de um pixel vizinho localizado sobre uma linha estendida tendo uma diretividade de (dx, dy) , de acordo com uma localização de um pixel corrente, de acordo com uma modalidade exemplar.
As Figuras 27 e 28 são diagramas para explicar um método de determinação uma direção de modo de intra predição, de acordo com modalidades exemplar; e
A Figura 29 é um diagrama que ilustra uma unidade de codificação atual e pixels vizinhos a serem utilizados para a intra predição, de acordo com uma modalidade exemplar.
De acordo com uma modalidade exemplar, é proporcionado um método de codificação de uma imagem, o método inclui: dividir uma imagem atual em pelo menos um bloco tendo um tamanho predeterminado; determinar um modo de intra predição a ser aplicado a um bloco atual a ser codificado de acordo para um tamanho do bloco atual; e realizar intra predição no bloco atual de acordo com o modo de intra predição determinado, em que o modo de intra predição compreende um modo de predição para a realização de previsão usando uma linha estendida com um ângulo de tg-1 (dy / dx) (dx e dy são números inteiros) sobre cada pixel dentro do bloco atual.
De acordo com um outro aspecto de uma modalidade exemplar, é proporcionado um método de decodificação de uma imagem, o método incluindo: dividir uma imagem atual em pelo menos um bloco tendo um tamanho predeterminado; extrair informação acerca de um modo de intra predição aplicado a um bloco atual a ser decodificado a partir de um fluxo de dados contínuo, e realizar intra predição no bloco atual de acordo com o modo de intra predição extraído, em que o modo de intra predição compreende um modo de predição para a realização de previsão usando uma linha estendida com um ângulo de tg-1 (dy / dx ) (dx e dy são números inteiros) sobre cada pixel do bloco atual.
De acordo com outro aspecto da modalidade exemplar, é proporcionado um aparelho para a codificação de uma imagem, o aparelho incluindo: um determinador de modo intra predição para determinar um modo de intra predição que é para ser realizado de acordo com um tamanho de um bloco atual a ser codificado; e um executor de intra predição para realizar a intra predição no bloco atual a ser codificado de acordo com o modo de intra predição, em que o modo de intra predição inclui um modo de predição para a realização de previsão usando uma linha estendida com um ângulo de tg -1 (dy / dx) (dx e dy são números inteiros) sobre cada pixel dentro do bloco atual.
De acordo com outro aspecto da modalidade exemplar, é proporcionado um aparelho para a decodificação de uma imagem, o aparelho incluindo: um decodificador de entropia para extrair informações sobre um modo de intra predição aplicado a um bloco atual a ser decodificado a partir de um fluxo de dados contínuo, e um executor de intra predição para a realização de intra predição no bloco atual de acordo com o modo de intra predição, em que o modo de intra predição compreende um modo de predição para a realização de previsão usando uma linha estendida com um ângulo de tg -1 (dy / dx) (dx e dy são inteiros) sobre cada pixel dentro do bloco atual.
De acordo com outro aspecto da modalidade exemplar, é proporcionado uma mídia de gravação legível por computador tendo nela incorporada um programa para a execução do método.
De acordo com outro aspecto da modalidade exemplar, é proporcionado uma mídia de gravação legível por computador tendo nela incorporada um programa para a execução do método.
De acordo com a modalidade exemplar, a eficiência de compressão da imagem pode ser melhorada através da realização de codificação de intra predição em várias direções sobre unidades de codificação com vários tamanhos.
Daqui em diante, as modalidades exemplares serão descritas mais completamente com referência aos desenhos anexos, em que modalidades exemplares são mostradas.
No presente relatório descritivo, uma "unidade de codificação" é uma unidade de codificação de dados em que os dados de imagem são codificados em um lado do codificador e uma unidade de dados codificados em que os dados de imagem codificados são decodificados em um lado do decodificador, de acordo com as modalidades exemplares. Além disso, uma "profundidade codificada" significa uma profundidade onde uma unidade de codificação é codificada. Além disso, o vídeo compreende uma imagem estática e imagem em movimento. Nas modalidades exemplares, "unidade" pode ou não referir-se a uma unidade de tamanho, dependendo do seu contexto.
Em primeiro lugar, um método e um aparelho para a codificação de vídeo e um método e um aparelho para a decodificação de vídeo, de acordo com uma modalidade exemplar, serão descritos com referência às Figuras 1 a 13.
Figura 1 é um diagrama de blocos de um aparelho 100 para codificação de um vídeo, de acordo com uma modalidade exemplar.
O aparelho 100 inclui um divisor de unidade de codificação máxima 110, um determinador de unidade de codificação 120, e uma unidade de saída 130.
[45] O divisor de unidade de codificação máxima 110 pode dividir uma imagem atual, com base em uma unidade de codificação máxima para a imagem atual de uma imagem. Se a imagem corrente é maior do que a unidade de codificação máxima, os dados de imagem da imagem corrente podem ser divididos em pelo menos uma unidade de codificação máxima. A unidade de codificação máxima de acordo com uma modalidade exemplar pode ser uma unidade de dados tendo um tamanho de 32 x 32, 64 x 64, 128 x 128, 256 x 256, etc, em que um formato da unidade de dados é um quadrado com uma largura e altura em quadrados de 2. Os dados de imagem podem ser liberados para o determinador de unidade de codificação 120 de acordo com pelo menos uma unidade de codificação máxima.
Uma unidade de codificação de acordo com uma modalidade exemplar pode ser caracterizada por um tamanho máximo e uma profundidade. A profundidade denota um número de vezes que a unidade de codificação é espacialmente dividir a partir da unidade de codificação máxima e, à medida que a profundidade se aprofunda ou aumenta, as unidades de codificação mais profundas de acordo com as profundidades podem ser divididas a partir da unidade de codificação máxima para uma unidade de codificação mínima. Uma profundidade da unidade de codificação máxima é uma profundidade mais alta e uma profundidade da unidade de codificação mínima é uma profundidade mais baixa. Uma vez que um tamanho de uma unidade de codificação correspondente a cada profundidade diminui à medida que a profundidade da unidade de codificação máxima aprofunda-se, uma unidade de codificação correspondente a uma profundidade superior pode incluir uma pluralidade de unidades de codificação correspondentes às profundidades inferiores.
Como descrito acima, os dados de imagem da imagem corrente são divididos em unidades de codificação máximas de acordo com um tamanho máximo da unidade de codificação, e cada uma das unidades de codificação máximas pode incluir unidades de codificação mais profundas que são divididas de acordo com as profundidades. Uma vez que a unidade de codificação máxima de acordo com uma modalidade exemplar é dividida de acordo com as profundidades, os dados de imagem de um domínio espacial incluído na unidade de codificação máxima podem ser classificados hierarquicamente de acordo com profundidades.
Uma profundidade máxima e uma dimensão máxima de uma unidade de codificação, que limita o número total de vezes que uma altura e uma largura da unidade de codificação máxima são hierarquicamente divididas, podem ser predeterminadas.
O determinador da unidade de codificação 120 codifica pelo menos uma região de divisão obtida por divisão de uma região da unidade de codificação de acordo com a profundidade, e determina uma profundidade para liberar dados de imagem finalmente codificados de acordo com pelo menos uma região de divisão. Em outras palavras, o determinador de unidade de codificação 120 determina uma profundidade codificada por codificação de dados de imagem nas unidades de codificação mais profundas de acordo com a profundidade, de acordo com a unidade de codificação máxima da imagem atual, e seleciona uma profundidade tendo pelo menos o erro de codificação. Assim, os dados de imagem codificados da unidade de codificação correspondentes à profundidade codificada determinada são finalmente saída. Além disso, as unidades de codificação correspondentes à profundidade codificada podem ser consideradas como unidades de codificação codificadas.
A profundidade codificada determinada e os dados de imagem codificados de acordo com a profundidade codificada determinada são liberados para a unidade de saída 130.
Os dados de imagem na unidade de codificação máxima são codificados com base nas unidades de codificação mais profundas correspondentes a pelo menos uma profundidade igual a ou abaixo da profundidade máxima, e os resultados dos dados de imagem são comparados com base em cada uma das unidades de codificação mais profundas. Uma profundidade tendo pelo menos o erro de codificação pode ser selecionada após a comparação de erros de codificação das unidades mais profundas de codificação. Pelo menos uma profundidade codificada pode ser selecionada para cada unidade de codificação máxima.
O tamanho da unidade de codificação máxima é dividido como uma unidade de codificação é hierarquicamente dividido de acordo com profundidades, e à medida que o número de unidades de codificação aumenta. Além disso, mesmo se unidades de codificação correspondentes a mesma profundidade em uma unidade de codificação máxima, cada uma das unidades de codificação correspondentes à mesma profundidade pode ser dividida para uma profundidade mais baixa medindo um erro de codificação dos dados de imagem de cada unidade de codificação, separadamente. Por conseguinte, mesmo quando os dados de imagem são incluídos em uma unidade de codificação máxima, os dados de imagem são divididos em regiões de acordo com as profundidades, os erros de codificação podem diferir de acordo com as regiões nem que codificação máxima se une, e, assim, as profundidades codificadas podem diferir de acordo com regiões dos dados de imagem. Assim, uma ou mais profundidades codificadas podem ser determinadas de uma unidade de codificação máxima, e os dados da imagem da unidade de codificação máxima podem ser divididos de acordo com unidades de codificação de pelo menos uma profundidade codificada.
Por conseguinte, o determinador de unidade de codificação 120 pode determinar unidades de codificação tendo uma estrutura de árvore incluída na unidade de codificação máxima. As unidades de codificação tendo uma estrutura de árvore de acordo com uma modalidade exemplar incluem unidades de codificação correspondendo a uma profundidade determinada para ser a profundidade máxima uma, de entre todas as unidades de codificação mais profundas incluídas na unidade de codificação máxima. Uma unidade de codificação de uma profundidade codificada pode ser determinada hierarquicamente de acordo com profundidades na mesma região da unidade de codificação máxima, e pode ser determinada de forma independente em regiões diferentes. Do mesmo modo, uma profundidade codificada em uma região corrente pode ser determinada independentemente a partir de uma profundidade codificada em outra região.
Uma profundidade máxima de acordo com uma modalidade exemplar é um índice relacionado com o número de tempos da divisão a partir de uma unidade de codificação máxima para uma unidade de codificação mínima. Uma profundidade máxima de acordo com a primeira modalidade exemplar pode denotar o número total de vezes de divisão da unidade de codificação máxima para a unidade de codificação mínima. Uma profundidade máxima de acordo com a segunda modalidade exemplar pode denotar o número total de níveis de profundidade a partir da unidade de codificação máxima para a unidade de codificação mínima. Por exemplo, quando uma profundidade máxima da unidade de codificação é 0, uma profundidade de uma unidade de codificação, na qual a unidade de codificação máxima é dividida uma vez, pode ser ajustada para 1, e uma profundidade de uma unidade de codificação, em que a unidade de codificação máxima é dividida por duas vezes, pode ser definida como 2. Aqui, se a unidade de codificação mínima é uma unidade de codificação em que a unidade de codificação máxima é dividida por quatro vezes, 5 níveis de profundidade de profundidades 0, 1, 2, 3 e 4 existem, e, portanto, a primeiro profundidade máxima pode ser ajustado para 4, e a segunda profundidade máxima pode ser definida como 5.
A codificação de predição e transformação podem ser realizadas de acordo com a unidade de codificação máxima. A codificação de predição e a transformação também são realizadas com base nas unidades de codificação mais profundas de acordo com uma profundidade igual ou profundidades menores do que a profundidade máxima, de acordo com a unidade de codificação máxima. A transformação pode ser realizada de acordo com o método de transformação ortogonal ou transformação inteira.
Uma vez que o número de unidades de codificação mais profundas aumenta sempre que a unidade de codificação máxima é dividida de acordo com profundidades, a codificação incluindo a codificação de predição e a transformação é realizada em todas as unidades de codificação mais profundas geradas à medida que a profundidade se aprofunda. Por conveniência de descrição, a codificação de predição e a transformação serão agora descritas com base em uma unidade de codificação de uma profundidade atual, em uma unidade de codificação máxima.
O aparelho 100 pode variadamente selecionar um tamanho ou forma de uma unidade de dados para codificar os dados de imagem. A fim de codificar os dados de imagem, as operações, tal como a codificação de predição, transformação e codificação de entropia são realizadas, e neste momento, a mesma unidade de dados pode ser usada para todas as operações ou unidades de dados diferentes podem ser utilizadas para cada operação.
Por exemplo, o aparelho 100 pode selecionar não só uma unidade de codificação para codificar os dados de imagem, mas também uma unidade de dados diferente da unidade de codificação de modo a executar a codificação de predição sobre os dados de imagem na unidade de codificação.
A fim de executar a codificação de predição na unidade de codificação máxima, a codificação de predição pode ser realizada com base em uma unidade de codificação correspondente a uma profundidade codificada, isto é, com base em uma unidade de codificação que não é mais dividida para unidades de codificação correspondentes a uma menor profundidade. A seguir, a unidade de codificação que não é mais dividida e torna-se uma unidade de base para a codificação de predição será agora referida como uma unidade de predição. Uma partição obtida pela divisão da unidade de predição pode incluir uma unidade de dados obtida a partir da divisão de pelo menos uma de uma altura e uma largura da unidade de predição.
Por exemplo, quando uma unidade de codificação de 2Nx2N (onde N é um número inteiro positivo) já não se encontra dividida e torna-se uma unidade de predição de 2Nx2N, e um tamanho de uma partição pode ser 2Nx2N, 2NxN, Nx2N, ou NxN. Exemplos de um tipo de partição incluem partições simétricas que são obtidas através da divisão simétrica de uma altura ou a largura da unidade de predição, as partições obtidas por fracionamento assimétrico da altura ou a largura da unidade de predição, tal como 1: n ou n: 1, partições que são obtido por divisão geométrica da unidade de predição, e as partições com formas arbitrárias.
Um modo de predição da unidade de predição pode ser de pelo menos um de um modo intra, um modo inter, e um modo de salto. Por exemplo, o modo intra ou o modo inter pode ser realizado na partição de 2Nx2N, 2NxN, Nx2N, ou NxN. Além disso, o modo de salto apenas pode ser realizado na partição de 2Nx2N. A codificação é realizada de forma independente em uma unidade de predição de uma unidade de codificação, assim, selecionando um modo de predição tendo uma codificação de erro mínima.
O aparelho 100 pode também realizar a transformação dos dados de imagem em uma unidade de codificação com base não apenas na unidade de codificação para codificar os dados de imagem, mas também com base em uma unidade de dados que é diferente da unidade de codificação.
A fim de realizar a transformação na unidade de codificação, a transformação pode ser realizada com base em uma unidade de dados tendo um tamanho menor do que ou igual à unidade de codificação. Por exemplo, a unidade de dados para a transformação pode incluir uma unidade de dados para um modo intra e uma unidade de dados para um modo inter.
Uma unidade de dados utilizada como uma base da transformação será agora referida como uma unidade de transformação. Uma profundidade de transformação que indica O número de vezes de divisão para atingir a unidade de transformação através da divisão da altura e da largura da unidade de codificação pode também ser ajustada na unidade de transformação. Por exemplo, em uma unidade de codificação atual de 2Nx2N, uma profundidade de transformação pode ser 0, quando o tamanho de uma unidade de transformação é também 2Nx2N, pode ser 1 quando cada uma de altura e largura da unidade de codificação atual é dividida em duas partes iguais, totalmente dividido em 4 ⌃ 1 unidades de transformação, e o tamanho da unidade de transformação é, assim, NxN, e pode ser 2 quando cada uma de altura e largura da unidade de codificação atual é dividida em quatro partes iguais, totalmente divididas em 4 2 unidades de transformação e o tamanho da unidade de transformação é, assim, N/2xN/2. Por exemplo, a unidade de transformação pode ser definida de acordo com uma estrutura de árvore hierárquica, em que uma unidade de transformação de uma profundidade de transformação superior é dividida em quatro unidades de transformação de uma profundidade de transformação inferior de acordo com as características hierárquicas de uma profundidade de transformação.
De maneira similar para a unidade de codificação, a unidade de transformação na unidade de codificação pode ser dividida recursivamente em regiões de tamanho menor, de modo que a unidade de transformação pode ser determinada de forma independente em unidades de regiões. Assim, os dados residuais na unidade de codificação podem ser divididos de acordo com a transformação tendo a estrutura de árvore de acordo com as profundidades de transformação.
A Informação de codificação de acordo com as unidades e codificação correspondentes a uma profundidade codificada requer não apenas informações sobre a profundidade codificada, mas também informação relacionada com a codificação de previsão e transformação. Por conseguinte, o determinador da unidade de codificação 120 determina não só uma profundidade codificada tendo um erro de codificação menor, mas também determina um tipo de partição em uma unidade de predição, um modo de predição de acordo com as unidades de predição, e um tamanho de uma unidade de transformação para transformação.
As unidades de codificação de acordo com uma estrutura de árvore em uma unidade de codificação máxima e um método de determinação de uma partição, de acordo com modalidades exemplares, serão descritas em detalhe mais tarde com referência às Figuras 3 a 12.
O determinador da unidade de codificação 120 pode medir um erro de codificação das unidades de codificação mais profundas de acordo com profundidades usando Otimização de Distorção de Taxa com base em multiplicadores de Lagrange.
A unidade de saída 130 gera os dados de imagem da unidade de codificação máxima, que são codificados com base em pelo menos uma na profundidade codificada determinada pelo determinador de unidade de codificação 120, e as informações sobre o modo de codificação de acordo com a profundidade codificada, em fluxos de bits.
Os dados de imagem codificados podem ser obtidos através da codificação de dados residuais de uma imagem.
A informação sobre o modo de codificação de acordo com a profundidade codificada pode incluir informação sobre a profundidade codificada, sobre o tipo de partição na unidade de predição, o modo de predição, e o tamanho da unidade de transformação.
A informação sobre a profundidade codificada pode ser definida usando a informação de divisão de acordo com as profundidades, que indica se a codificação é realizada em unidades de codificação de uma profundidade inferior em vez de uma profundidade atual. Se a profundidade atual da unidade de codificação atual é a profundidade codificada, os dados de imagem na unidade de codificação atual são codificados e liberados, e, assim, a informação de divisão pode ser definida para não dividir a unidade de codificação atual para uma profundidade menor. Alternativamente, se a profundidade atual da unidade de codificação atual não é a profundidade codificada, a codificação é executada na unidade de codificação da profundidade inferior, e, assim, a informação de divisão pode ser definida para dividir a unidade de codificação atual para obter as unidades de codificação de menor profundidade.
Se a profundidade atual não é a profundidade codificada, a codificação é executada na unidade de codificação que é dividida em unidade de codificação da profundidade menor. Uma vez que pelo menos uma unidade de codificação da profundidade inferior existe em uma unidade de codificação da profundidade atual, a codificação é repetidamente realizada em cada unidade de codificação da profundidade inferior, e, assim, a codificação pode ser realizada de forma recursiva para as unidades de codificação com a mesma profundidade.
Uma vez que as unidades de codificação que têm uma estrutura de árvore são determinadas para uma unidade de codificação máxima, e as informações sobre, pelo menos, um modo de codificação são determinadas para uma unidade de codificação de uma profundidade codificada, a informação sobre, pelo menos, um modo de codificação pode ser determinada para uma unidade de codificação máxima. Além disso, uma profundidade codificada dos dados de imagem da unidade de codificação máxima pode ser diferente de acordo com locais uma vez que os dados de imagem são hierarquicamente divididos de acordo com profundidades e, assim, a informação sobre a profundidade codificada, e o modo de codificação pode ser definida para os dados de imagem.
Por conseguinte, a unidade de saída 130 pode atribuir informação de codificação acerca de uma profundidade codificada correspondente, e um modo de codificação para, pelo menos, uma da unidade de codificação, a unidade de predição e uma unidade mínima incluída na unidade de codificação máxima.
A unidade mínima de acordo com uma modalidade exemplar é uma unidade de dados retangular obtida através da divisão da unidade de codificação mínima que constitui a profundidade mais baixa por 4. Alternativamente, a unidade mínima pode ser uma unidade de dados máxima retangular que pode ser incluída em todas as unidades de codificação, unidades de predição, unidades de partição, e unidades de transformação incluídas na unidade de codificação máxima.
Por exemplo, a informação de codificação liberada através da unidade de saída 130 pode ser classificada em informação de codificação de acordo com as unidades de codificação, e informação de codificação de acordo com as unidades de predição. A informação de codificação de acordo com as unidades de codificação pode incluir as informações sobre o modo de predição e sobre o tamanho das partições. A informação de codificação de acordo com as unidades de predição pode incluir informação sobre uma direção estimada de um modo inter, acerca de um índice de imagem de referência de modo, acerca de um vetor de movimento, acerca de um componente de crominância de um modo intra, e acerca de um método de interpolação do modo intra. Além disso, as informações sobre um tamanho máximo da unidade de codificação definida de acordo com imagens, fatias ou GOPs, e informações sobre uma profundidade máxima podem ser inserida no SPS (conjunto de parâmetros de Sequência) ou um cabeçalho de um fluxo de bits.
No aparelho 100, a unidade de codificação mais profunda pode ser uma unidade de codificação obtido dividindo uma altura ou a largura de uma unidade de codificação de uma profundidade superior por dois. Em outras palavras, quando o tamanho da unidade de codificação da profundidade atual é 2Nx2N, o tamanho da unidade de codificação da profundidade inferior é NxN. Além disso, a unidade de codificação da profundidade atual que tem o tamanho de 2Nx2N pode incluir no máximo 4 da unidade de codificação de menor profundidade.
Por conseguinte, o aparelho 100 pode formar as unidades de codificação tendo a estrutura de árvore, determinando unidades de codificação tendo uma forma ótima e um tamanho ótimo para cada unidade de codificação máxima, com base no tamanho da unidade de codificação máxima e a profundidade máxima determinada considerando as características da figura atual. Além disso, uma vez que a codificação pode ser realizada em cada unidade de codificação máxima usando qualquer um dos vários modos de predição e transformações, um modo de codificação ótimo pode ser determinado, considerando as características da unidade de codificação de vários tamanhos de imagem.
Assim, se uma imagem com alta resolução ou quantidade de dados grande é codificada em um macrobloco convencional, um número de macroblocos por imagem aumenta excessivamente. Por conseguinte, um número de peças da informação comprimida gerada por cada macrobloco aumenta, e assim é difícil transmitir a informação comprimida e a eficiência de compressão de dados diminui. No entanto, usando o aparelho 100, a eficiência de compressão da imagem pode ser aumentada, uma vez que uma unidade de codificação é ajustada, enquanto considerando as características de uma imagem, enquanto aumentando um tamanho máximo de uma unidade de codificação embora considerando um tamanho da imagem.
A Figura 2 é um diagrama de blocos de um aparelho 200 para decodificação de um vídeo, de acordo com uma modalidade exemplar.
O aparelho 200 inclui um receptor 210, um conjunto de extrator de informações de dados de imagem e codificação 220, e um decodificador de dados de imagem 230. Definições de vários termos, tais como uma unidade de codificação, uma profundidade, uma unidade de predição, uma unidade de transformação, e as informações sobre os modos de codificação diferentes, para várias operações do aparelho 200 são idênticas às descritas com referência à figura 1 e o aparelho 100.
O receptor 210 recebe e analisa um fluxo contínuo de vídeo codificado. Os dados de imagem e o extrator de informação de codificação 220 extrai os dados de imagem codificados para cada unidade de codificação a partir do fluxo de bits analisado, em que as unidades de codificação têm uma estrutura de árvore de acordo com cada unidade de codificação máxima, e gera os dados de imagem extraídos para o decodif icador de dados de imagem 230. Os dados de imagem e o extrator de informação de codificação220 podem extrair informações sobre um tamanho máximo de uma unidade de codificação de uma imagem atual, a partir de um cabeçalho sobre a imagem atual ou SPS.
Além disso, os dados de imagem e o extrator de informação de codificação220 extraem informação sobre uma profundidade codificada, e um modo de codificação para as unidades de codificação tendo uma estrutura de árvore de acordo com cada unidade de codificação máxima, a partir do fluxo de bits analisado. A informação extraída sobre a profundidade codificada, e o modo de codificação é liberada para os dados de imagem do decodificador 230. Em outras palavras, os dados de imagem em uma corrente de bits são divididos em unidade de codificação máxima de modo que o decodificador de dados de imagem 230 decodifica os dados da imagem para cada unidade de codificação máxima.
A informação sobre a profundidade codificada e o modo de codificação de acordo com a unidade de codificação máxima pode ser ajustada para obter informações sobre pelo menos uma unidade de codificação correspondente à profundidade codificada, e as informações sobre um modo de codificação podem incluir informações sobre um tipo de partição de uma unidade de codificação correspondente correspondendo à profundidade codificada, acerca de um modo de predição, e um tamanho de uma unidade de transformação. Além disso, a informação de divisão de acordo com as profundidades pode ser extraída, como a informação sobre a profundidade codificada.
A informação sobre a profundidade codificada, e do modo de codificação de acordo com cada unidade de codificação máxima extraída pelos dados de imagem e o extrator de informação de codificação 220 é a informação sobre a profundidade codificada, e um modo de codificação determinado para gerar um erro de codificação mínimo quando um codificador, tal como o aparelho 100, repetidamente, realiza a codificação para cada unidade de codificação mais profunda de acordo com as profundidades de acordo com cada unidade de codificação máxima. Por conseguinte, o aparelho 200 pode restaurar uma imagem por decodificação dos dados de imagem de acordo com uma profundidade codificada, e um modo de codificação que gera o erro de codificação mínimo.
Uma vez que a informação sobre a profundidade de codificação codificada, e o modo de codificação pode ser atribuído a uma unidade de dados predeterminada entre uma unidade de codificação correspondente, uma unidade de predição, e uma unidade mínima, os extrator de informações de dados de imagem e codificação 220 podem extrair a informação sobre a profundidade codificada e o modo de codificação de acordo com as unidades de dados predeterminadas. As unidades de dados predeterminadas para as quais a mesma informação sobre a profundidade codificada, e o modo de codificação são atribuídas podem ser inferidas como as unidades de dados incluídas na mesma unidade de codificação máxima.
O decodificador de dados de imagem 230 repõe a imagem atual por decodificação dos dados de imagem em cada unidade de codificação máxima com base na informação sobre a profundidade codificada, e o modo de codificação de acordo com as unidades de codificação máximas. Em outras palavras, o decodificador de dados de imagem 230 pode decodificar os dados de imagem codificados com base na informação extraída sobre o tipo de partição, o modo de predição, e a unidade de transformação para cada unidade de codificação entre as unidades de codificação tendo a estrutura de árvore incluída em cada unidade de codificação máxima. Um processo de decodificação pode incluir uma previsão incluindo intra predição e compensação de movimento, e uma transformação inversa. A transformação inversa pode ser realizada de acordo com o método de transformação ortogonal inversa ou transformação de inteiro inversa.
O decodificador de dados de imagem 230 pode realizar a intra predição ou compensação de movimento de acordo com uma partição e um modo de predição de cada unidade de codificação, com base na informação sobre o tipo de partição e no modo de predição da unidade de predição da unidade de codificação de acordo com profundidades codificadas.
Além disso, o decodificador de dados de imagem 230 pode realizar a transformação inversa de acordo com cada unidade de transformação na unidade de codificação, com base na informação sobre o tamanho da unidade de transformação da unidade de codificação de acordo com as profundidades codificadas, de modo a realizar a transformação inversa de acordo com as unidades de codificação máximas.
O decodificador de dados de imagem 230 pode determinar, pelo menos, uma profundidade codificada de uma unidade de codificação máxima corrente usando a informação de divisão de acordo com as profundidades. Se a informação de divisão indica que os dados de imagem não são mais divididos na profundidade atual, a profundidade atual é uma profundidade codificada. Assim, o decodificador de dados de imagem 230 pode decodificar dados codificados de pelo menos uma unidade de codificação correspondendo a cada profundidade codificada na unidade de codificação máxima corrente usando a informação sobre o tipo de partição da unidade de predição, o modo de predição, e o tamanho da unidade de transformação para cada unidade de codificação correspondendo à profundidade codificada, e os dados de imagem liberados da unidade de codificação máxima corrente.
Em outras palavras, as unidades de dados que contêm a informação de codificação, incluindo a mesma informação de divisão podem ser recolhidas através da observação do conjunto de informação de codificação atribuído para a unidade de dados predeterminada entre a unidade de codificação, a unidade de predição, e a unidade mínima, e as unidades de dados recolhidas podem ser consideradas como uma unidade de dados a ser decodificada pelo decodificador de dados de imagem 230 no mesmo modo de codificação.
O aparelho 200 pode obter informações sobre pelo menos uma unidade de codificação que gera o erro de codificação mínima quando a codificação é realizada de forma recursiva para cada unidade de codificação máxima, e pode utilizar as informações para decodificar a imagem atual. Em outras palavras, as unidades de codificação tendo a estrutura de árvore determinada para ser as unidades de codificação ótimas em cada unidade de codificação máxima pode ser decodificada. Além disso, o tamanho máximo da unidade de codificação é determinado considerando a resolução e uma quantidade de dados de imagem.
Assim, mesmo se os dados de imagem tem alta resolução e uma grande quantidade de dados, os dados de imagem podem ser eficientemente decodificados e restaurado usando um tamanho de uma unidade de codificação e um modo de codificação, que são adaptativamente determinados de acordo com as características dos dados de imagem, usando a informação sobre um modo de codificação ótimo recebido a partir de um codificador.
Um método de determinação de unidades de codificação tendo uma estrutura de árvore, uma unidade de predição, e uma unidade de transformação, de acordo com uma modalidade exemplar, será agora descrito com referência às Figuras 3 a 13.
A Figura 3 é um diagrama para explicar um conceito de unidades de codificação de acordo com uma modalidade exemplar.
Um tamanho de uma unidade de codificação pode ser expresso em altura x largura, e pode ser 64 x 64, 32 x 32, 16 x 16, e 8 x 8. Uma unidade de codificação de 64 x 64 pode ser dividida em partições de 64 x 64, 64 x 32 e 32 x 64, ou 32 x 32, e uma unidade de codificação de 32 x 32 pode ser dividida em partições de 32 x 32, 32 x 16, 16 x 32, ou 16 x 16, uma unidade de codificação de 16 x 16 pode ser dividida em partições de 16 x 16, 16 x 8 e 8 x 16, ou 8 x 8, e uma unidade de codificação de 8 x 8 pode ser dividida em partições de 8 x 8, 8x4, 4x8 ou 4 x 4.
Em dados de vídeo 310, uma resolução é 1920 x 1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima é 2. Em dados de vídeo 320, uma resolução é 1920 x 1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima é 3. Em dados de vídeo 330, uma resolução é 352 x 288, um tamanho máximo de uma unidade de codificação é 16, e uma profundidade máxima é 1. A profundidade máxima mostrada na Figura 3 indica um número total de divisões a partir de uma unidade de codificação máxima para uma unidade de decodificação mínima.
Se uma resolução é elevada ou uma quantidade de dados é grande, um tamanho máximo de uma unidade de codificação pode ser grande de modo a não só aumentar a eficiência de codificação, mas também para refletir com precisão as características de uma imagem. Consequentemente, o tamanho máximo da unidade de codificação dos dados de vídeo 310 e 320 tendo a resolução mais alta que os dados de vídeo 330 pode ser de 64.
Uma vez que a profundidade máxima dos dados de vídeo 310 é 2, as unidades de codificação 315 do dados de vídeo 310 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 64, e as unidades de codificação tendo tamanhos eixo longo de 32 e 16, uma vez que as profundidades são aprofundadas para duas camadas através da divisão da unidade de codificação máxima duas vezes. Enquanto isso, uma vez que a profundidade máxima dos dados de vídeo 330 é 1, as unidades de codificação 335 dos dados de vídeo 330 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 16, e as unidades de codificação tendo um tamanho de eixo longo de 8, uma vez que as profundidades são aprofundadas para uma camada através da divisão da unidade de codificação máxima uma vez.
Uma vez que a profundidade máxima dos dados de vídeo 320 é 3, as unidades de codificação 325 dos dados de vídeo 320 pode incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 64, e as unidades de codificação com tamanhos eixo longo de 32, 16 e 8, uma vez que as profundidades são aprofundadas para 3 camadas, dividindo a unidade de codificação máxima três vezes. Na medida em que uma profundidade aprofunda, informações detalhadas podem ser precisamente expressas.
A Figura 4 é um diagrama de blocos de um codificador de imagem 400 com base em unidades de codificação, de acordo com uma modalidade exemplar.
A O codificador de imagem 400 executa as operações do determinador de unidade de codificação 120 do aparelho 100 para codificar os dados de imagem. Em outras palavras, um preditor intra 410 executa intra predição em unidades de codificação em um modo intra, entre um quadro corrente 405, e um estimador de movimento 420 e um compensador de movimento 425 executam estimativa inter e compensação de movimento em unidades de codificação em um modo inter entre o quadro corrente 405 usando o quadro corrente 405 e uma estrutura de referência 495.
A saída de dados a partir do preditor intra 410, o estimador de movimento 420, e o compensador de movimento 425 é liberada como um coeficiente de transformação quantizado através de um transformador 430 e um quantificador 440. O coeficiente de transformação quantizado é restaurado como dados em um domínio espacial através de um quantificador inverso 460 e um transformador inverso 470, e os dados recuperados no domínio espacial são liberados como o quadro de referência 495 depois de terem sido pós-processados através de uma unidade de desbloqueio 480 e uma unidade de filtragem de loop 490. O coeficiente de transformação quantificado pode ser liberado como um fluxo de dados contínuo 455 através de um codificador de entropia 450.
Para que o codificador de imagem 400 ser aplicado no aparelho 100, todos os elementos do codificador de imagem 400, isto é, o preditor intra 410, o estimador de movimento 420, o movimento do compensador 425, o transformador 430, o quantificador 440, o codificador de entropia 450, o quantificador inverso 460, o transformador inverso 470, a unidade de desbloqueio 480, e a unidade de filtragem de loop 490 executam operações com bases em cada unidade de codificação entre as unidades de codificação tendo uma estrutura de árvore enquanto se considera a profundidade máxima de cada unidade de codificação máxima.
Especificamente, o preditor intra 410, o estimador de movimento 420, e o compensador de movimento 425 determinam partições e um modo de predição de cada unidade de codificação entre as unidades de codificação tendo uma estrutura de árvore, considerando o tamanho máximo e a profundidade máxima de uma unidade de codificação máxima corrente, e o transformador 430 determina o tamanho da unidade de transformação em cada unidade de codificação entre as unidades de codificação tendo uma estrutura de árvore.
A Figura 5 é um diagrama de blocos de um decodificador de imagem 500 com base em unidades de codificação, de acordo com uma modalidade exemplar.
Um analisador 510 analisa dados de imagem codificados para serem decodificados e informações sobre a codificação necessária para decodificação de um fluxo de bits 505. Os dados de imagem codificados são liberados como dados quantificados inversos através de um decodificador de entropia 520 e um quantificador inverso 530, e os dados quantizados inversos são restaurados para os dados de imagem de um domínio espacial através de um transformador inverso 540.
Um preditor intra 550 executa intra predição em unidades de codificação em um modo intra com respeito aos dados da imagem no domínio espacial, e um compensador de movimento 560 executa a compensação de movimento em unidades de codificação em um modo inter usando uma estrutura de referência 585.
Os dados de imagens no domínio espacial, que passaram através do preditor intra 550 e o compensador de movimento 560 podem ser liberados como um quadro restaurado 595 depois de ter sido pós-processado através de uma unidade de desbloqueio 570 e uma unidade de filtragem de loop 580. Além disso, os dados da imagem que são pós-tratados através da unidade de desbloqueio 570 e a unidade de filtragem de loop 580 podem ser liberados como o quadro de referência 585.
A fim de decodificar os dados de imagem no decodificador de dados de imagem 230 do aparelho 200, o decodificador de imagem 500 pode realizar operações que são realizadas após o analisador 510.
A fim de que o decodificador da imagem 500 a ser aplicada no aparelho 200, todos os elementos da imagem de decodificação 500, isto é, o analisador 510, o decodificador de entropia 520, os quantificador inverso 530, o transformador inverso 540, o preditor intra 550, o compensador de movimento 560, a unidade de desbloqueio 570, e a unidade de filtragem de loop 580 executam operações de codificação com base em unidades com uma estrutura de árvore para cada unidade de codificação máxima.
Especificamente, a intra predição 550 e o compensador de movimento 560 executam operações com base em partições e um modo de predição para cada uma das unidades de codificação tendo uma estrutura de árvore, e o transformador inverso 540 executa operações com bases em um tamanho de uma unidade de transformação para cada unidade de codificação.
A Figura 6 é um diagrama que ilustra unidades de codificação mais profundas de acordo com a profundidade, e as partições, de acordo com uma modalidade exemplar.
O aparelho 100 e os aparelhos 200 usam unidades de codificação hierárquicas de modo a considerar as características de uma imagem. Uma altura máxima, uma largura máxima, e uma profundidade máxima das unidades de codificação podem ser adaptativamente determinadas de acordo com as características da imagem, ou podem ser diferentemente definidas por um usuário. Os tamanhos de unidades de codificação mais profundas de acordo com profundidades podem ser determinados de acordo com o tamanho máximo predeterminado da unidade de codificação.
Em uma estrutura hierárquica das unidades de codificação600, de acordo com uma modalidade exemplar, a altura máxima e a largura máxima das unidades de codificação são cada 64, e a profundidade máxima é de 4. Uma vez que uma profundidade aprofunda-se ao longo de um eixo vertical da estrutura hierárquica 600, uma altura e uma largura da unidade de codificação mais profunda são, cada uma, dividida. Além disso, uma unidade de predição e partições, que são as bases para a codificação de predição de cada unidade de codificação mais profunda, são mostradas ao longo de um eixo horizontal da estrutura hierárquica 600.
Em outras palavras, uma unidade de codificação 610 é uma unidade de codificação máxima na estrutura hierárquica 600, em que uma profundidade é 0 e um tamanho, ou seja, uma altura de largura, é 64 x 64. A profundidade aprofunda-se ao longo do eixo vertical, e uma unidade de codificação 620 tendo um tamanho de 32 x 32 e uma profundidade de 1, uma unidade de codificação 630 tendo um tamanho de 16 x 16 e uma profundidade de 2, uma unidade de codificação 640 tendo um tamanho de 8 x 8 e uma profundidade de 3, e uma unidade de codificação 650 tendo um tamanho de 4 x 4 e uma profundidade de 4 existe. A unidade de codificação 650 tendo o tamanho de 4 x 4 e a profundidade de 4 é uma unidade de codificação mínima.
A unidade de predição e as partições de uma unidade de codificação estão dispostas ao longo do eixo horizontal de acordo com cada profundidade. Em outras palavras, se a unidade de codificação 610 tendo o tamanho de64x64ea profundidade de 0 é uma unidade de predição, a unidade de predição que pode ser dividida em partições inclui na unidade de codificação 610, ou seja, uma partição 610 tendo um tamanho de 64 x 64, partições 612 tendo o tamanho de 64 x 32, partições 614 tendo o tamanho de 32 x 64, ou partições 616 tendo o tamanho de 32 x 32.
Do mesmo modo, uma unidade de predição da unidade de codificação 620 tendo o tamanho de 32 x 32 e a profundidade de 1 pode ser dividida em partições incluídas na unidade de codificação 620, ou seja, uma partição 620 tendo um tamanho de 32 x 32, partições 622 tendo um tamanho de 32 x 16, partições 624 tendo um tamanho de 16 x 32 e partições 626 tendo um tamanho de 16 x 16.
Do mesmo modo, uma unidade de predição da unidade de codificação 630 tendo o tamanho de 16 x 16 e a profundidade de 2 pode ser dividida em partições incluídas na unidade de codificação 630, ou seja, uma partição tendo um tamanho de 16 x 16 incluída na unidade de codificação 630, partições 632 possuindo um tamanho de 16 x 8, as partições 634 tendo um tamanho de 8 x 16 e partições 636 tendo um tamanho de 8 x 8.
Do mesmo modo, uma unidade de predição da unidade de codificação 640 tendo o tamanho de 8 x 8 e a profundidade de 3 pode ser dividida em partições incluídas na unidade de codificação 640, ou seja, uma partição tendo um tamanho de 8 x 8 incluído na unidade de codificação 640, partições 642 tendo um tamanho de 8 x 4, partições 644 possuindo um tamanho de 4 x 8 e partições 646 possuindo um tamanho de 4 x 4.
A unidade de codificação 650 tendo o tamanho de 4 x 4 e a profundidade da 4 é a unidade de codificação mínima e uma unidade de codificação da profundidade mais baixa. Uma unidade de predição da unidade de codificação 650 só é atribuída a uma partição tendo um tamanho de 4 x 4.
A fim de determinar pelo menos uma profundidade das unidades de codificação codificadas que constituem a unidade de codificação máxima 610, O determinador de unidade de codificação 120 do aparelho 100 executa codificação para as unidades de codificação correspondentes a cada profundidade incluídas na unidade de codificação máxima 610.
Uma série de unidades de codificação mais profundas de acordo com profundidades incluindo dados na mesma faixa e o mesmo tamanho aumenta à medida que a profundidade aprofunda-se. Por exemplo, quatro unidades de codificação correspondentes a uma profundidade de 2 são necessárias para cobrir os dados que são incluídos em uma unidade de codificação correspondente a uma profundidade de 1. Consequentemente, a fim de comparar os resultados de codificação dos mesmos dados de acordo com as profundidades, a unidade de codificação correspondente à profundidade de 1 e quatro unidades de codificação correspondentes à profundidade de 2 são, cada uma, codificadas.
A fim de executar a codificação para uma profundidade atual entre a profundidade, um erro de codificação menor pode ser selecionado para a profundidade atual através da realização de codificação para cada unidade de predição nas unidades de codificação correspondentes à profundidade atual, ao longo do eixo horizontal da estrutura hierárquica 600. Alternativamente, o erro de codificação mínimo pode ser pesquisado por comparação dos erros de codificação menores de acordo com as profundidades, através da realização de codificação para cada profundidade à medida que a profundidade aprofunda-se ao longo do eixo vertical da estrutura hierárquica 600. Uma profundidade e uma partição tendo o erro de codificação mínimo na unidade de codificação 610 podem ser selecionadas como a profundidade codificada, e um tipo de partição da unidade de codificação 610.
A Figura 7 é um diagrama para explicar uma relação entre uma unidade de codificação 710 e as unidades de transformação 720, de acordo com uma modalidade exemplar.
O aparelho 100 ou 200 codifica ou decodifica uma imagem de acordo com as unidades de codificação com tamanhos menores do que ou igual a uma unidade de codificação máxima para cada unidade de codificação máxima. Tamanhos de unidades de transformação para transformação durante a codificação podem ser selecionados com base em unidades de dados que não são maiores do que a unidade de codificação correspondente.
Por exemplo, no aparelho 100 ou 200, se um tamanho da unidade de codificação 710 é 64 x 64, a transformação pode ser executada usando as unidades de transformação 720 tendo um tamanho de 32 x 32.
Também, os dados da unidade de codificação 710 tendo o tamanho de 64 x 64 podem ser codificados realizando a transformação em cada uma das unidades de transformação com o tamanho de 32 x 32, 16 x 16, 8 x 8, e 4 x 4, que são menores do que 64 x 64, e, em seguida, uma unidade de transformação tendo o menor erro de codificação pode ser selecionada.
A Figura 8 é um diagrama para explicar informação de codificação de unidades de codificação correspondentes a uma profundidade codificada, de acordo com uma modalidade exemplar.
A unidade de saída 130 do aparelho 100 pode codificar e transmitir informação 800 sobre um tipo de partição, a informação 810 sobre um modo de predição, e informação 820 sobre um tamanho de uma unidade de transformação para cada unidade de codificação correspondente a uma profundidade codificada, como a informação sobre um modo de codificação.
A informação 800 indica uma informação sobre uma forma de uma partição obtida pela divisão de uma unidade de predição de uma unidade de codificação atual, em que a partição é uma unidade de dados para a predição que codifica para a unidade de codificação atual. Por exemplo, uma unidade de codificação atual CU_0 tendo um tamanho de 2N x 2N pode ser dividida em qualquer uma de uma partição 802 tendo um tamanho de 2N x 2N, uma partição 804 tendo um tamanho de 2N x N, uma partição 806 tendo um tamanho de N x 2N, e uma partição 808 tendo um tamanho de N x N. Aqui, a informação 800 sobre um tipo de partição é definida para indicar uma da partição 804 tendo um tamanho de 2N x N, a partição 806 tendo um tamanho de N x 2N, e a partição 808 tendo um tamanho de N x N
A informação 810 indica um modo de predição de cada partição. Por exemplo, a informação 810 pode indicar um modo de codificação de predição realizada em uma partição indicada pela informação 800, isto é, um modo intra 812, um modo inter 814, ou um modo de salto 816.
A informação 820 indica uma unidade de transformação para ser com base em quando a transformação é realizada em uma unidade de codificação atual. Por exemplo, a unidade de transformação pode ser uma primeira unidade de transformação intra 822, uma segunda unidade de transformação intra 824, uma primeira unidade de transformação inter 826, ou uma segunda unidade de transformação intra 828.
O extrator de informações de dados de imagem e codificação 220 do aparelho 200 pode extrair e utilizar a informação 800, 810, e 820 para decodificação.
A Figura 9 é um diagrama de unidades de codificação mais profundas de acordo com profundidades, de acordo com uma modalidade exemplar.
A informação de divisão pode ser usada para indicar uma mudança de uma profundidade. A informação de divisão indica se uma unidade de codificação de uma profundidade atual é dividida em unidades de codificação de uma menor profundidade.
Uma unidade de predição 910 para codificação de predição de uma unidade de codificação 900 tendo uma profundidade de 0 e um tamanho de 2N_0 x 2N_0 pode incluir partições de um tipo de partição 912 tendo um tamanho de 2N_0 x 2N_0, um tipo de partição 914 tendo um tamanho de 2N_0 x N_0, um tipo de partição 916 tendo um tamanho de N__0 x 2N_0, e um tipo de partição 918 tendo um tamanho de N_0 x N_0. A Figura 9 ilustra apenas os tipos de partição 912 a 918, que são obtidos através da divisão simétrica da unidade de predição 910, mas um tipo de partição não está limitado a isso, e as partições da unidade de predição 910 podem incluir partições assimétricas, partições com uma forma predeterminada, e as partições tendo uma forma geométrica.
A codificação de predição é repetidamente realizada em uma partição tendo um tamanho de 2N_0 x 2N_0, duas partições possuindo um tamanho de 2N_0 x N_0, duas partições possuindo um tamanho de N_0 x 2N_0, e quatro partições possuindo um tamanho de N_0 x N_0, de acordo com cada tipo de partição. A codificação de predição em um modo intra e um modo inter pode ser realizada nas partições com os tamanhos de 2N_0 x 2N_0 e N_0 x 2N_0 e 2N_0 x N_0, e N_0 x N_0. A codificação de predição de um modo de salto é realizada apenas na partição tendo o tamanho de 2N_0 x 2N_0 .
Erros de codificação, incluindo a codificação de predição nos tipos de partição 912 a 918 são comparados, e pelo menos o erro de codificação é determinado entre os tipos de partição. Se um erro de codificação é menor em um dos tipos de partição 912 a 916, a unidade de predição 910 não pode ser dividida em uma menor profundidade.
Se o erro de codificação é o menor do tipo de partição 918, uma profundidade é alterada de 0 a 1 para dividir o tipo de partição 918 em operação 920, e codificação é repetidamente realizada em unidades de codificação 930 tendo uma profundidade de 2 e um tamanho de N_0 x N_0 para procurar um erro de codificação mínima.
Uma unidade de predição 940 para a predição que codifica a unidade de codificação 930 tendo uma profundidade de 1 e um tamanho de 2N_1 x 2N_1 (= N_0 x N_0) pode incluir partições de um tipo de partição 942 tendo um tamanho de 2N_1 x 2N_1, um tipo de partição 944 tendo um tamanho de 2N_1 x N_l, uma tipo de partição 946 tendo um tamanho de N_1 x 2N_1, e um tipo de partição 948 tendo um tamanho de N_1 x N_1.
Se um erro de codificação é o menor no tipo de partição 948, uma profundidade é alterada de 1 a 2 para dividir o tipo de partição 948 em operação 950, e codificação é repetidamente realizada em unidades de codificação 960, que têm uma profundidade de 2 e um tamanho de N_2 x N_2 para procurar um erro de codificação mínima.
Quando uma profundidade máxima é d, a operação de divisão de acordo com cada profundidade pode ser realizada até quando uma profundidade se torna d-1, e informação de divisão pode ser codificado até quando uma profundidade é uma de 0 a d-2. Em outras palavras, quando a codificação é realizada até que a profundidade é d-1 após uma unidade de codificação correspondente a uma profundidade de d-2 ser dividida em operação 970, uma unidade de predição 990 para a predição que codifica para uma unidade de codificação 980 tendo uma profundidade de d-1 e um tamanho de 2N_ (d-1) x 2N_ (d-1) pode incluir partições de um tipo de partição 992 tendo um tamanho de 2N_ (d-1) x 2N_ (d-1) , um tipo de partição 994 tendo uma tamanho de 2N_ (d-1) x N_ (d-1), um tipo de partição 996 tendo um tamanho de N_ (d-1) x 2N_ (d-1), e um tipo de partição 998 tendo um tamanho de N_ (d-1 ) x N_ (d-1).
A codificação de predição pode ser repetidamente realizada em uma partição tendo um tamanho de 2N_ (d-1) x 2N_ (d-1), duas partições possuindo um tamanho de 2N_ (d-1) x N_ (d-1), duas partições possuindo um tamanho de N_ (d-1) x 2N_ (d-1), quatro partições possuindo um tamanho de N_ (d-1) x N_ (d-1), entre os tipos de partição 992 a 998 para pesquisar um tipo de partição tendo um erro de codificação mínimo.
Mesmo quando o tipo de partição 998 tem o erro de codificação mínimo, uma vez que uma profundidade máxima é d, uma unidade de codificação CU_ (d-1) tendo uma profundidade de d-1 não é mais dividida para uma profundidade mais baixa, e uma profundidade codificada para a unidades de codificação que constitui uma unidade de codificação máxima corrente 900 é determinada para ser d-1 e um tipo de partição da unidade de codificação 900 pode ser determinado para ser N_ (d-1) x N_ (d-1) . Além disso, uma vez que a profundidade máxima é d e uma unidade de codificação mínima 980 tendo uma profundidade mais baixa de d-1 não é mais dividida para uma profundidade menor, a informação de divisão para uma unidade de codificação 980 não está definida.
Uma unidade de dados 999 pode ser uma unidade mínima para a unidade de codificação máxima corrente. Uma unidade mínima de acordo com uma modalidade exemplar pode ser uma unidade de dados retangular obtida dividindo uma unidade de codificação mínima 980 por 4. Ao realizar a codificação repetidamente, o aparelho 100 pode selecionar uma profundidade tendo o menor erro de codificação através da comparação de erros de codificação de acordo com a profundidade da unidade de codificação 900 para determinar uma profundidade codificada, e definir um tipo de partição correspondente e um modo de predição como um modo de codificação da profundidade codificada.
Como tal, os erros de codificação mínimos de acordo com profundidades são comparados em todas as profundidades de 1 até d, e uma profundidade tendo o menor erro de codificação pode ser determinada como uma profundidade codificada. A profundidade codificada, o tipo de partição da unidade de predição, e o modo de predição podem ser codificados e transmitidos como informação sobre um modo de codificação. Além disso, uma vez que uma unidade de codificação é dividida de uma profundidade de 0 a uma profundidade codificada, apenas informação de divisão da profundidade codificada é definida como 0, e informações de divisão de profundidades, excluindo a profundidade codificada são definidas como 1.
Os dados de imagem e o extrator de informação de codificação 220 do aparelho 200 podem extrair e utilizar a informação sobre a profundidade codificada, e a unidade de predição da unidade de codificação 900 para decodificar a partição 912. O aparelho 200 pode determinar uma profundidade, na qual a informação de divisão é 0, tal como uma profundidade codificada usando a informação de divisão de acordo com a profundidade, e utilizar a informação sobre um modo de codificação da profundidade correspondente para decodificação.
As Figuras 10 a 12 são diagramas para explicar uma relação entre as unidades de codificação 1010, unidades de predição 1060 e unidades de transformação 1070, de acordo com uma modalidade exemplar.
As unidades de codificação 1010 são unidades de codificação tendo uma estrutura de árvore, o que corresponde às profundidades codificadas determinadas pelo aparelho 100, em uma unidade de codificação máxima. As unidades de predição 1060 são partições de unidades de predição de cada uma das unidades de codificação 1010 e as unidades de transformação 1070 são unidades de transformação de cada uma das unidades de codificação 1010.
Quando uma profundidade máxima de uma unidade de codificação ê 0 nas unidades de codificação 1010, profundidades de unidades de codificação 1012 e 1054 são 1, profundidades de unidades de codificação 1014, 1016, 1018, 1028, 1050, e 1052 são 2, profundidades de unidades de codificação 1020, 1022, 1024, 1026, 1030, 1032, e 1048 são 3, e as profundidades de unidades de codificação 1040, 1042, 1044, e 1046 são 4.
Nas unidades de predição 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052, e 1054 são divididas em partições para codificação de predição. Em outras palavras, os tipos de partição nas unidades de codificação 1014, 1022, 1050, e 1054 têm um tamanho de 2N x N, tipos de partição nas unidades de codificação 1016, 1048, e 1052 têm um tamanho de N x 2N, e um tipo de partição da unidade de codificação 1032 tem um tamanho de N x N. As unidades de predição e as partições das unidades de codificação 1010 são menores do que ou igual a cada unidade de codificação.
A transformação ou a transformação inversa é realizada em dados de imagem da unidade de codificação 1052 nas unidades de transformação 1070 em uma unidade de dados que é menor do que a unidade de codificação 1052. Além disso, as unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052 e as unidades de transformação 1070 são diferentes daquelas nas unidades de predição 1060 em termos de tamanhos e formas. Em outras palavras, os aparelhos 100 e 200 podem realizar a intra predição, a estimativa de movimento, a compensação de movimento, transformação e transformação inversa individualmente em uma unidade de dados na mesma unidade de codificação.
Por conseguinte, a codificação é recursivamente realizada em cada uma das unidades de codificação tendo uma estrutura hierárquica em cada região de uma unidade de codificação máxima para determinar uma unidade ótima de codificação, e as unidades de codificação, assim, possuindo uma estrutura de árvore recursiva podem ser obtidas. A informação de codificação pode incluir informações sobre a divisão de uma unidade de codificação, as informações sobre um tipo de partição, informações sobre um modo de predição, e informações sobre o tamanho de uma unidade de transformação. A Tabela 1 mostra a informação de codificação que pode ser definida pelos aparelhos 100 e 200.
A unidade de saída 130 do aparelho 100 pode liberar a informação de codificação sobre as unidades de codificação tendo uma estrutura de árvore, e os extrator de informações de dados de imagem e codificação 220 do aparelho 200 pode extrair a informação de codificação sobre as unidades de codificação tendo uma estrutura de árvore a partir de um fluxo de bits recebido.
Dividir a informação indica se uma unidade de codificação atual é dividida em unidades de codificação de uma menor profundidade. Se a informação de divisão de uma profundidade atual d é 0, uma profundidade, na qual uma unidade de codificação atual não é mais dividida em uma profundidade menor, é uma profundidade codificada, e, assim, as informações sobre um tipo de partição, o modo de predição, e um tamanho de uma unidade de transformação pode ser definido para a profundidade codificada. Se a unidade de codificação atual é ainda dividida de acordo com a informação de divisão, a codificação é realizada de forma independente em quatro unidades de codificação divididas de uma menor profundidade.
Um modo de predição pode ser um de um modo intra, um modo inter, e um modo de salto. O modo intra e o modo inter podem ser definidos em todos os tipos de partição, e o modo de salto é definido apenas em um tipo de partição tendo um tamanho de 2N x 2N.
A informação sobre o tipo de partição pode indicar tipos de partição simétricas tendo tamanhos de 2N x 2N, 2N x N, N x 2N, e N x N, que são obtidos através da divisão simétrica de uma altura ou a largura de uma unidade de predição, e tipos de partição assimétricas possuindo tamanhos de 2N x nU, 2N x nD, nL x 2N, e nR x 2N, que são obtidas por divisão assimétrica da altura ou da largura da unidade de predição. Os tipos de partição assimétricas com os tamanhos de 2N x nU e 2N x nD podem ser, respectivamente, obtidos pela divisão da altura da unidade de predição em 1:3 e 3:1, e os tipos de partição assimétricos com os tamanhos de nL x 2N e nR x 2N podem ser obtidos, respectivamente, através da divisão a largura da unidade de predição em 1:3 e 3:1.
O tamanho da unidade de transformação pode ser ajustado para ser de dois tipos no modo intra e dois tipos no modo inter. Em outras palavras, se a informação de divisão da unidade de transformação é 0, o tamanho da unidade de transformação pode ser 2N x 2N, que é o tamanho da unidade de codificação atual. Se a informação de divisão da unidade de transformação é de 1, as unidades de transformação podem ser obtidas através da divisão da unidade de codificação atual. Além disso, se um tipo de partição da unidade de codificação atual tendo o tamanho de 2N x 2N é um tipo de partição simétrica, um tamanho de uma unidade de transformação pode ser N x N, e se o tipo de partição da unidade de codificação atual é um tipo de partição assimétrica, o tamanho da unidade de transformação pode ser N/2 x N/2.
A informação de codificação acerca das unidades de codificação tendo uma estrutura de árvore pode incluir pelo menos uma de uma unidade de codificação correspondendo a uma profundidade codificada, uma unidade de predição, e uma unidade mínima. A unidade de codificação correspondente à profundidade codificada pode incluir pelo menos uma de uma unidade de predição e uma unidade mínima contendo a mesma informação de codificação.
Por conseguinte, é determinado se unidades de dados adjacentes estão incluídas na mesma unidade de codificação correspondendo à profundidade codificada pela comparação da informação de codificação das unidades de dados adjacentes.
Além disso, uma unidade de codificação correspondente correspondendo a uma profundidade codificada é determinada usando a informação de codificação de uma unidade de dados e, assim, uma distribuição de profundidades codificadas em uma unidade de codificação máxima pode ser determinada.
Assim, se uma unidade de codificação atual é prevista com base na informação de codificação das unidades de dados adjacentes, a informação de codificação das unidades de dados em unidades de codificação mais profundas adjacentes à unidade de codificação atual pode ser diretamente referida e utilizada.
Alternativamente, se uma unidade de codificação atual é prevista com base em informação de codificação das unidades de dados adjacentes, unidades de dados adjacentes à unidade de codificação atual são pesquisadas utilizando informação de codificação das unidades de dados, e as unidades de codificação procuradas adjacentes podem ser referidas para predizer a unidade de codificação atual.
A Figura 13 é um diagrama para explicar uma relação entre uma unidade de codificação, uma unidade de predição ou uma partição, e uma unidade de transformação, de acordo com a informação de modo de codificação da Tabela 1.
Uma unidade de codificação máxima 1300 inclui unidades de codificação 1302, 1304, 1306, 1312, 1314, 1316, 1318 e de profundidades codificadas. Aqui, uma vez que a unidade de codificação 1318 é uma unidade de codificação de uma profundidade codificada, a informação de divisão pode ser configurada para 0. A informação sobre um tipo de partição da unidade de codificação 1318 tendo um tamanho de 2N x 2N pode ser ajustado para ser um de um tipo de partição 1322 tendo um tamanho de 2N x 2N, um tipo de partição 1324 tendo um tamanho de 2N x N, um tipo de partição 1326 tendo um tamanho de N x 2N, um tipo de partição 1328 tendo um tamanho de N x N, um tipo de partição 1332 tendo um tamanho de 2N x nU, um tipo de partição 1334 tendo um tamanho de 2N x nD, um tipo de partição 1336 tendo um tamanho de nL x 2N, e um tipo de partição 1338 tendo um tamanho de nR x 2N.
Quando o tipo de partição é ajustado para ser simétrico, isto é, o tipo de partição 1322, 1324, 1326 ou 1328, uma unidade de transformação 1342 tendo um tamanho de 2N x 2N é definido se a informação de divisão (indicador de tamanho TU) de uma unidade de transformação é 0, e uma unidade de transformação 1344 tendo um tamanho de N x N é definida se um indicador de tamanho TU é 1.
Quando o tipo de partição é ajustado para ser assimétrico, isto é, o tipo de partição 1332, 1334, 1336, ou 1338, uma unidade de transformação 1352 tendo um tamanho de 2N x 2N é definido se um indicador de tamanho TU é 0, e uma unidade de transformação 1354 tendo um tamanho de N/2 x N/2 está definido se um indicador de tamanho TU é 1.
Com referência à figura 13, o indicador de tamanho TU é um indicador, tendo um valor ou 0 ou 1, mas o indicador de tamanho TU não está limitado a 1 bit, e uma unidade de transformação pode ser hierarquicamente dividida tendo uma estrutura de árvore, enquanto o indicador de tamanho TU aumenta de 0.
Neste caso, o tamanho de uma unidade de transformação que foi realmente utilizada pode ser expresso usando um indicador de tamanho TU de uma unidade de transformação, de acordo com uma modalidade exemplar, em conjunto com um tamanho máximo e tamanho mínimo da unidade de transformação. De acordo com uma modalidade exemplar, o aparelho 100 é capaz de codificar a informação de tamanho da unidade de transformação máximo, a informação do tamanho da unidade de transformação mínimo, e um tamanho de indicador máximo TU. O resultado da codificação da informação de tamanho da unidade de transformação máximo, da informação do tamanho da unidade de transformação mínimo, e um tamanho de indicador máximo TU pode ser inserida em um SPS. De acordo com uma modalidade exemplar, o aparelho 200 pode decodificar vídeo usando o a informação de tamanho da unidade de transformação máximo, a informação do tamanho da unidade de transformação mínimo, e o tamanho de indicador máximo TU.
A intra predição efetuada pela unidade de intra predição 410 do aparelho de codificação de vídeo 100 ilustrada na Figura 4 e a unidade de intra predição 550 do aparelho de decodificação de vídeo 200 ilustrada na Figura 5 serão agora descritas em detalhe. Na descrição seguinte, uma unidade de codificação denota um bloco codificado corrente em um processo de codificação de uma imagem, e uma unidade de decodificação denota um bloco atual decodificado em um processo de decodificação de uma imagem. A unidade de codificação e a unidade de decodificação são diferentes apenas na medida em que a unidade de codificação é usada no processo de codificação e a unidade de decodificação é utilizada na decodificação. Para a consistência de termos, exceto para um caso particular, a unidade de codificação e a unidade de decodificação são referidas como uma unidade de codificação em ambos os processos de codificação e decodificação. Além disso, uma pessoa de conhecimento comum na técnica compreenderia a partir do presente relatório descritivo que um método de intra predição e o aparelho de acordo com uma modalidade exemplar podem também ser aplicados para realizar a intra predição em um codificador de vídeo geral.
A Figura 14 ilustra um número de modos de intra predição de acordo com um tamanho de uma unidade de codificação, de acordo com uma modalidade exemplar.
Na Figura 14, um número de modos de intra predição a ser aplicado a uma unidade de codificação (uma unidade de decodificação em uma etapa de decodificação) pode variar de acordo com um tamanho da unidade de codificação. Por exemplo, Com referência à figura 14, quando um tamanho de uma unidade de codificação para ser intra previsto é N x N, o número de modos de intra predição para ser realmente executado em unidades de codificação com tamanhos de 2 x 2, 4 x 4, 16 x 16, 32 x 32, 64 x 64, 128 x 128 e pode ser configurado para ser de 5 , 9, 9, 17, 33, 5, e 5 (no caso do Exemplo 2). Para outro exemplo, quando um tamanho de uma unidade de codificação para ser intra predita é N x N, o número de modos de intra predição a ser efetivamente realizado em unidades de codificação tendo tamanhos de 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32, 64 x 64, e 128 x 128 pode ser ajustado para ser de 3, 17, 34, 34, 34, 5 e 5. A razão pela qual um número de modos de intra predição a serem executados varia de acordo com um tamanho de uma unidade de codificação é que a sobrecarga para codificação de informação do modo de predição varia de acordo com o tamanho da unidade de codificação. Em outras palavras, no caso de uma unidade de codificação tendo um tamanho pequeno, embora ela ocupe uma pequena parte de uma imagem inteira, sobrecarrega para a transmissão de informação adicional, tal como um modo de predição da unidade de codificação tendo o tamanho pequeno pode ser elevado. Por conseguinte, se a unidade de codificação tendo o tamanho pequeno é codificada utilizando muitos modos de predição, a quantidade de bits pode ser aumentada e a eficiência de compressão pode ser reduzida. Uma unidade de codificação tendo um tamanho grande, por exemplo, uma unidade de codificação tendo um tamanho superior a 64 x 64 é frequentemente escolhida como uma unidade de codificação para uma área plana. Se a unidade de codificação tendo o tamanho grande é codificada utilizando muitos modos de predição, no entanto, a eficiência de compressão pode também ser reduzida.
Assim, na figura 14, se os tamanhos das unidades de codificação são aproximadamente classificados em pelo menos três tamanhos N1 x N1 (2 = N1 = 4, N1 é um número inteiro), N2 x N2 (8 = N2 = 32, N2 é um número inteiro) e N3 x N3 (64 = N3, N3 é um número inteiro), um número de modos de intra predição a ser executados na unidade de codificação tendo o tamanho de N1 x N1 é Al (Al é um número inteiro positivo), um número de modos de intra predição a ser executado na unidade de codificação tendo o tamanho de N2 x N2 é A2 (A2 é um número inteiro positivo), e um número de modos de intra predição a ser executada na unidade de codificação tendo o tamanho de N3 x N3 é A3 (A3 é um número inteiro positivo), um número de modos de intra predição a ser executado de acordo com um tamanho de cada unidade de codificação pode ser ajustado para satisfazer uma relação de A3 = Al = A2. Isto é, quando uma imagem atual é dividida em uma unidade de codificação tendo um tamanho pequeno, uma unidade de codificação tendo um tamanho intermédio, e uma unidade de codificação tendo um tamanho maior, a unidade de codificação tendo o tamanho intermediário pode ser ajustado para ter um maior número de modos de predição, sendo a unidade de codificação com o pequeno tamanho e a unidade de codificação tendo o tamanho grande pode ser ajustado para ter um número relativamente pequeno de modos de predição. No entanto, a presente modalidade exemplar da mesma não é limitada, e que a unidade de codificação tendo o tamanho pequeno e a unidade de codificação tendo o tamanho grande pode ser ajustado para ter um grande número de modos de predição. Um certo número de modos de predição variando de acordo com um tamanho de cada unidade de codificação ilustrada na Figura 14 é um exemplo, e pode ser alterado.
A Figura 15A é um diagrama para explicar um modo de intra predição aplicado a uma unidade de codificação tendo um tamanho predeterminado, de acordo com uma modalidade exemplar.
Fazendo referência às Figuras 14 e 15A, por exemplo, quando a intra predição é realizada em uma unidade de codificação tendo um tamanho de 4 x 4, a unidade de codificação tendo o tamanho de 4 x 4 pode ter um modo vertical (modo 0) , um modo horizontal (modo 1) , um modo (DC) corrente atual (modo 2) , um modo esquerdo inferior diagonal (modo 3), um modo esquerdo inferior diagonal (modo 4) , um modo direito vertical (modo 5) , um modo inferior horizontal (modo 6), modo esquerdo vertical (modo 7), e um modo superior horizontal (modo 8).
A Figura 15B ilustra as direções dos modos de intra predição da Figura 15A. Na Figura 15B, um numeral mostrado em uma extremidade de uma seta indica a um valor de modo correspondente, quando a predição é realizada em uma direção marcada pela seta. Aqui, o modo 2 é um modo de predição DC sem diretividade e, portanto, não é mostrado.
A Figura 15C ilustra um método de intra predição realizada na unidade de codificação da Figura 15A.
Com referência à figura 15C, uma unidade de predição de codificação é gerada usando pixels vizinhos A-M de uma unidade de codificação atual em um modo de intra predição disponível determinado por um tamanho de uma unidade de codificação. Por exemplo, uma operação de predição codifica uma unidade de codificação atual tendo um tamanho de 4 x 4 no modo 0, isto é, o modo vertical, será agora explicada. Em primeiro lugar, os valores de pixel dos pixels de A a D adjacentes acima da unidade de codificação atual tendo o tamanho de 4 x 4 são previstos para serem valores de pixel da unidade de codificação atual tendo o tamanho de 4 x 4. Isto é, um valor de pixel do pixel A está previsto para ser valores de pixel de quatro pixels de uma primeira coluna da unidade de codificação atual tendo o tamanho de 4 x 4, um valor do pixel B está previsto para ser valores de pixel de quatro pixels de uma segunda coluna da unidade de codificação atual tendo o tamanho de 4 x 4, um valor do pixel C está previsto para ser valores de pixel de quatro pixels de uma terceira coluna da unidade de codificação atual tendo o tamanho de 4 x 4, e um valor do pixel D está previsto para ser valores de pixel de quatro pixels de uma quarta coluna da unidade de codificação atual tendo o tamanho de 4 x 4. Em seguida, um valor de erro entre os valores de pixel atuais de pixels incluídos na unidade de codificação atual 4 x 4 original e valores de pixel dos pixels incluídos na unidade de codificação 4 x 4 corrente prevista usando os pixels A a D é obtido e codificado.
A Figura 16 é um diagrama para explicar um modo de intra predição aplicado a uma unidade de codificação tendo um tamanho predeterminado, de acordo com outra modalidade exemplar.
Fazendo referência às Figuras 14 e 16, quando a intra predição é realizada em uma unidade de codificação tendo um tamanho de 2 x 2, a unidade de codificação tendo o tamanho de 2 x 2 pode ter 5 modos, isto é, um modo vertical, um modo horizontal, um modo DC, um modo plano , e um modo direito inferior diagonal.
Se uma unidade de codificação tendo um tamanho de 32 x 32 tem 33 modos de intra predição como mostrado na Figura 14, é necessário definir as direções dos 33 modos de intra predição. A fim de definir os modos de intra predição possuindo várias direções, com exceção dos modos de intra predição ilustrados nas Figuras 15 e 16, em uma direção de predição para selecionar um pixel vizinho para ser usado como um pixel de referência sobre um pixel em uma unidade de codificação é definido usando parâmetros dx e dy. Por exemplo, quando cada um dos 33 modos de predição é representado como um modo N (N é um número inteiro de 0 a 32), um modo 0 pode ser ajustado para ser um modo vertical, um modo 1 é definido para ser um modo horizontal, um modo 2 é ajustado para ser um modo DC, e um modo de 3 é ajustado para ser um modo plano, e cada um de um modo 4 até um modo 31 pode ser ajustado para ser um modo de predição tendo uma diretividade de tg -1 (dy / dx) usando (dx, dy) representado como um de (1, -1), (1, 1), (1, 2), (2, 1), (1, - 2), (2,1 ), (1, -2), (2, -1), (2, -11), (5, -7), (10, -7), (11,3) , (4,3), ( 1,11), (1, -1), (12, -3), (1, -11), (1, -7), (3, -10), (5, -6), (7, -6), (7, -4), (11,1), (6,1), (8,3) , (5,3), (5,7), (2,7), (5, -7), e (4, -3), como mostrado na Tabela 2.
O modo 0 é um modo vertical, o modo 1 é um modo horizontal, o modo 2 é um modo DC, o modo 3 é um modo plano, e o modo 32 é um modo de bilinear.
Um último modo 32 pode ser ajustado para ser um modo bilinear usando interpolação bilinear como será descrito com referência à figura 18.
As Figuras 17A até 17C são diagramas de referência para explicar os modos de intra predição possuindo várias diretividades, de acordo com uma modalidade exemplar.
Tal como descrito acima com referência à Tabela 2, os modos de intra predição podem ter várias diretividades de tg -1 (dy / dx) usando uma pluralidade de (dx, dy) parâmetros.
Com referência à figura 17A, os pixels vizinhos A e B que se encontram em uma linha estendida 150 com um ângulo de tg -1 (dy / dx) determinado de acordo com (dx, dy) de cada modo mostrado na Tabela 2 sobre um pixel corrente P a ser previsto em uma unidade de codificação atual pode ser utilizado como um preditor para o pixel corrente P. Neste caso, os pixels vizinhos utilizados como um preditor podem ser pixels das unidades de codificação anteriores acima, à esquerda, à direita para cima, à esquerda para baixo de uma unidade de codificação atual, que são previamente codificados e restaurados. Além disso, se a linha estendida 150 passa entre, e não através, os pixels vizinhos de locais inteiros, os pixels vizinhos próximos da linha estendida 150 podem ser utilizados como um preditor. Por exemplo, um pixel vizinho mais próximo da linha estendida 150 pode ser utilizado como um preditor. Além disso, um valor médio entre os pixels vizinhos mais próximos da linha estendida 150 entre os pixels vizinhos pode ser utilizada como um preditor, ou um valor médio ponderado considerando uma distância entre uma interseção da linha estendida 150 e os pixels vizinhos perto da linha estendida 150 pode ser utilizado como um preditor para o pixel corrente P. Além disso, pode ser sinalizado que pixel vizinho entre o pixel vizinho no eixo X e o pixel vizinho do eixo Y, como pixels vizinhos A e B, é utilizado como um preditor para o atual pixel P em cada unidade de predição.
As Figuras 17B e 17C são diagramas de referência para explicar um processo de geração de um preditor quando a linha estendida 150 da Figura 17A passa entre, não através, os pixels vizinhos de locais inteiros.
Referindo-se às figura 17B, se a linha estendida 150 com um ângulo de tg -1 (dy / dx) que é determinado de acordo com (dx, dy) de cada modo de passa entre um pixel vizinho A 151 e um pixel vizinho B 152 de locais inteiros, um valor médio ponderado considerando uma distância entre uma interseção da linha estendida 150 e os pixels vizinhos A 151 e B 152 perto da linha estendida 150 pode ser utilizado como um preditor como descrito acima. Por exemplo, se uma distância entre o pixel vizinho A 151 e a interseção do prolongamento da linha 150 tendo o ângulo de tg -1 (dy / dx) é f, e uma distância entre o pixel vizinho B 152 e a interseção da linha estendida 150 é g, um preditor para o pixel corrente P pode ser obtida como (A * g + B*f) / (f + g). Aqui, F e G podem ser cada um uma distância normalizada utilizando um número inteiro. Se software ou hardware é usado, o preditor para o pixel corrente P pode ser obtido por operação de deslocamento como (g * A + f * B 2) >> 2. Como mostrado na Figura 17B, se a linha estendida 150 passa através de um primeiro quarto próximo ao pixel vizinho A 151 entre quatro partes obtidas por dividindo em quatro uma distância entre o pixel vizinho A 151 e o pixel vizinho B 152 dos locais inteiros, o preditor para o pixel corrente P pode ser adquirido como (3 * A + B) / 4. Tal operação pode ser realizada por operação de deslocamento considerando arredondamento para um número inteiro mais próximo como (3 * A + B 2) >> 2.
Enquanto isso, se a linha estendida 150 tendo o ângulo de tg -1 (dy / dx) que é determinado de acordo com (dx, dy) de cada modo passa entre o pixel vizinho A 151 e o pixel vizinho B 152 dos locais inteiros, uma seção entre o pixel vizinho A 151 e o vizinho do pixel B 152 pode ser dividida em um número predeterminado de áreas, e um valor médio ponderado considerando uma distância entre uma interseção e o pixel vizinho A e 151 o pixel vizinho B 152 em cada área dividida pode ser usado como um valor de predição. Por exemplo, Com referência à figura 17C, uma seção entre o pixel vizinho A 151 e o vizinho do pixel B 152 pode ser dividida em cinco seções P1 a P5 como mostrado na FIG 17C, um valor médio ponderado representativo considerando uma distância entre uma interseção e o pixel vizinho A 151 e o pixel vizinho B 152 em cada seção pode ser determinada, e o valor médio ponderado representante pode ser utilizado como um indicador para o pixel corrente P. Em pormenores, se a linha estendida 150 passa através da seção Pl, um valor do pixel vizinho A pode ser determinado como um preditor para o pixel corrente P. Se a linha estendida 150 passa através da seção P2, um valor médio ponderado (3*A+l*B+2) >> 2 considerando uma distância entre os pixels vizinhos A e B e um ponto médio da seção P2 pode ser determinado como um preditor para o pixel corrente P. Se a linha estendida 150 passa através da seção P3, um valor de média ponderada (2 * A +2 * B + 2) >> 2 considerando uma distância entre os pixels vizinhos A e B e um ponto médio da seção P3 pode ser determinado como um preditor para o pixel corrente P. Se a linha estendida 150 passa através da seção P4, um valor de média ponderada (1 *A+3*B+2) >> 2 considerando uma distância entre os pixels vizinhos A e B e um ponto médio da seção P4 podem ser determinados como um preditor para o pixel corrente P. Se a linha estendida 150 passa através da seção P5, um valor do pixel vizinho B pode ser determinado como um preditor para o pixel corrente P.
Além disso, se dois pixels vizinhos, isto é, o pixel vizinho A no lado superior e o pixel vizinho B do lado esquerdo satisfazerem À linha estendida 150 como mostrado na Figura 17A, um valor médio do pixel vizinho A e do pixel vizinho B pode ser utilizado como um preditor para o pixel corrente P, ou se (dx * dy) é um valor positivo, o pixel vizinho A no lado para cima pode ser utilizado , e se (dx * dy) é um valor negativo, o pixel vizinho B do lado esquerdo pode ser usado.
Os modos de intra predição possuindo várias diretividades como mostrado na Tabela 2, pode ser pré-ajustado a uma extremidade de codificação e uma decodificação final, e apenas um indice correspondente de um modo de intra predição definido para cada unidade de codificação podem ser transmitidos.
A Figura 29 é um diagrama que ilustra uma unidade de codificação atual 2900 e pixels vizinhos 2910e 2920 para serem usados para a intra predição, de acordo com uma modalidade exemplar.
Com referência à figura 29, os pixels vizinhos 2910 no lado superior da unidade de codificação atual 2900 e os pixels vizinhos 2920 no lado esquerdo da unidade de codificação atual 2900 podem ser utilizados para a intra predição da unidade de codificação atual 2900. Como mostrado na Figura 29, como porção inferior dos pixels vizinhos 2920, os pixels à esquerda inferiores incluídos no bloco vizinho não codificados ainda podem ser utilizados também para a predição da unidade de codificação intra corrente 2900. O número de pixels vizinhos 2910 e 2920 utilizados para a intra predição da unidade de codificação atual 2900 não é limitado a isso e pode ser alterado em consideração da diretividade de um modo de intra predição aplicado à unidade de codificação atual 2900. Assim, de acordo com uma modalidade exemplar, os pixels vizinhos utilizados para a intra predição da unidade de codificação atual podem incluir pixels vizinhos à esquerda inferiores e pixel vizinho à direita superior acerca de unidade de codificação atual, bem como os pixels vizinhos à esquerda e acima de pixels vizinhos.
A Figura 18 é um diagrama de referência para explicar um modo bilinear de acordo com uma modalidade exemplar.
Com referência à figura 18, em um modo bilinear, um valor de média geométrica considerando as distâncias para bordas para cima, para baixo, à esquerda e à direita do pixel atual P e pixels localizados nas bordas para cima, para baixo, à esquerda e à direita sobre o pixel atual P a ser previsto em uma unidade de codificação atual é calculado e um resultado do cálculo é utilizado como um preditor para o pixel corrente P. Isto é, em um modo bilinear, um valor médio geométrico de uma distância para as bordas cima, para baixo, à esquerda e à direita do pixel corrente P e um pixel A 161, um pixel B 162, um pixel D 166, e um pixel E 167, que estão localizados na borda para cima, para baixo, à esquerda, e à direita do pixel corrente P é usado como um preditor para o pixel corrente P. Uma vez que o modo bilinear é um dos modos de intra predição, os pixels vizinhos nos lados para cima e para a esquerda, que são previamente codificados e depois restaurados deve também ser utilizados como pixels de referência durante a predição. Por conseguinte, os valores de pixel correspondentes na unidade de codificação atual não são utilizados como o pixel A 161 e o pixel B, mas os valores de pixel virtuais gerados pela utilização de pixels vizinhos em lados para cima e à esquerda são utilizados.
Por exemplo, primeiro, um pixel virtual C 163 em um lado inferior à direita de uma unidade de codificação atual pode ser calculado usando um valor médio de um pixel vizinho LeftDownPixel 165 a um lado esquerdo inferior e um pixel vizinho RightUpPixel 164 em um lado superior à direita adjacente à unidade de codificação atual, como mostrado na Equação 1.
[Equação 1]
C = 0,5 (LeftDownPixel + RightUpPixel)
[Equação 1]
C = 0,5 (LeftDownPixel + RightUpPixel)
O pixel virtual C 163 pode ser obtido por operação de deslocamento como a equação 1 pode ser o preditor para o pixel corrente P pode ser obtido por operação de deslocamento à medida que C = 0,5 (LeftDownPixel + RightUpPixel + 1) >> 1.
Em seguida, um valor de um pixel virtual A 161 localizado na borda para baixo quando o pixel corrente P é estendido para baixo, considerando uma distância W2 para a borda direita e uma distância W1 para a borda esquerda do pixel corrente P pode ser obtido usando um valor médio do pixel vizinho LeftDownPixel 165 e o pixel virtual C 163 considerando as distâncias W1 e W2. Por exemplo, o valor do pixel virtual A 161 pode ser calculado utilizando uma equação mostrada na Equação 2.
[Equação 2]
A = (C * W1 + LeftDownPixel * W2) / (W1 + W2);
A = (C * W1 + W2 LeftDownPixel * + ((W1 + W2) / 2)) / (W1 + W2)
[Equação 2]
A = (C * W1 + LeftDownPixel * W2) / (W1 + W2);
A = (C * W1 + W2 LeftDownPixel * + ((W1 + W2) / 2)) / (W1 + W2)
Quando um valor de W1 + W2 na Equação 2 é uma potência de 2, como 2 ⌃ n, A = (C * W1 + LeftDownPixel * W2 + ( (W1 + W2) / 2) ) / (W1 + W2) pode ser calculada por operação de deslocamento como A (C * W1 + W2 LeftDownPixel * 2 ⌃ (n-1)) >> n, sem divisão.
Da mesma forma, um valor de um pixel virtual B 162 localizado na borda direita quando o pixel corrente P é estendido para a direita, considerando uma distância h2 para a borda inferior e uma distância hl para a borda superior do pixel corrente P, pode ser obtido usando um valor médio do pixel vizinho RightUpPixel 164 considerando as distâncias hl e h2. Por exemplo, o valor do pixel virtual B 162 pode ser calculado utilizando uma equação mostrada na Equação 3.
[Equação 3]
B = (C * + h1 RightUpPixel * h2) / (h1 + h2);
B = (C * + h1 RightUpPixel * h2 + ((h1 + h2) / 2)) / (h1 + h2)
[Equação 3]
B = (C * + h1 RightUpPixel * h2) / (h1 + h2);
B = (C * + h1 RightUpPixel * h2 + ((h1 + h2) / 2)) / (h1 + h2)
Quando um valor de hl+ h2 na Equação 3 é uma potência de 2, como 2 ⌃ m, B= (C * h1 + RightUpPixel * h2 + ( (h1 + h2) / 2) ) / (h1 + h2) pode ser calculada por operação de deslocamento como B = (C * h1 + h2 RightUpPixel * 2 ⌃ (m-1)) >> m, sem divisão.
Uma vez que os valores do pixel virtual B 162 na borda direita e do pixel virtual A 161 na borda inferior do pixel corrente P 160 são determinados usando as Equações 1 a 3, um preditor para o pixel corrente P 160 pode ser determinado usando-se um valor médio de A+B+D+E. Em pormenor, um valor médio ponderado considerando uma distância entre o pixel corrente P 160 e o pixel virtual A 161, o pixel virtual de B 162, o pixel D 166, e o pixel E 167 ou um valor médio de A+B+D+E podem ser utilizados como um preditor para o pixel corrente P 160. Por exemplo, se um valor médio ponderado é utilizado e o tamanho do bloco é 16x16, um preditor para o pixel corrente P pode ser obtido como (h1 * A + D + Hh * W1 * B + W2 * E 16) >> 5. Tal predição bilinear é aplicada a todos os pixels na unidade de codificação atual, e uma unidade de codificação de predição da unidade de codificação atual em um modo de predição bilinear é gerada.
Uma vez que a codificação de predição é realizada de acordo com modos de intra predição que variam de acordo com um tamanho de uma unidade de codificação, compressão mais eficiente pode ser alcançada de acordo com as características de uma imagem.
Uma vez que um maior número de modos de intra predição do que os modos de intra predição utilizados em um codec convencional são utilizados de acordo com um tamanho de uma unidade de codificação em conformidade com uma modalidade exemplar, a compatibilidade com o codec convencional pode tornar-se um problema. Em uma técnica convencional, 9 modos de intra predição no máximo podem ser utilizados, como mostrado nas Figuras 13A e 13B. Por conseguinte, é necessário mapear os modos de intra predição que têm várias direções selecionadas, de acordo com uma modalidade exemplar para um de um número menor de modos de intra predição. Isto é, quando um número de modos de predição disponíveis intra de uma unidade de codificação atual é N1 (N1 é um número inteiro) , com a finalidade de tornar os modos de intra predição disponíveis da unidade de codificação atual compatíveis com uma unidade de codificação de um tamanho predeterminado incluindo os modos de intra predição N2 (N2 é um inteiro diferente de Nl) , os modos de intra predição da unidade de codificação atual podem ser mapeados para um modo de intra predição que tenha uma direção mais similar entre os modos de intra predição N2. Por exemplo, um total de 33 modos de intra predição está disponível como mostrado na Tabela 2 na unidade de codificação atual, e é assumido que um modo de intra predição finalmente aplicado à unidade de codificação atual é o modo 14, isto é, (dx, dy) = (4,3), tendo uma diretividade de tg-1 (3/4)? 36,87 (graus). Neste caso, a fim de combinar o modo de intra predição aplicado ao bloco atual com um dos 9 modos de intra predição como mostrado nas Figuras 15A e 15B, o modo 4 (down_right) que tem uma diretividade mais semelhante à diretividade de 36,87 (graus) pode ser selecionada. Isto é, o modo 14 da Tabela 2 pode ser mapeado para o modo 4 mostrado na Figura 15A. Da mesma forma, se um modo de intra predição aplicado à unidade de codificação atual é selecionado para ser o modo 15, isto é, (dx, dy) = (1,11), de entre os 33 modos de intra predição disponíveis da Tabela 2, uma vez que uma diretividade do modo de intra predição aplicada à unidade de codificação atual é tg-1 (11)? 84,80 (graus), o modo de 0 (vertical) da Figura 13 que possui uma diretividade mais semelhante à diretividade 84,80 (graus) pode ser mapeado para o modo 15.
Enquanto isso, a fim de decodificar uma unidade de codificação codificada por intra predição, a informação do modo de predição sobre através da qual o modo de intra predição uma unidade de codificação atual é codificada é requerida. Da mesma forma, quando uma imagem ê codificada, informação sobre um modo de intra predição da unidade de codificação atual é adicionada a um fluxo de bits contínuo, e neste momento, se a informação sobre o modo de predição é adicionada intra como o é para o fluxo de bits para cada unidade de codificação, a sobrecarga é aumentada, reduzindo assim a eficiência de compressão. Sendo assim, a informação sobre o modo de intra predição da unidade de codificação atual determinada como um resultado da codificação da unidade de codificação atual não é transmitida tal como ela é, mas apenas uma diferença de valor entre um valor de um modo de intra predição real e um valor de predição de um modo de intra predição previsto a partir de unidades de codificação vizinhas é transmitido.
Se modos de intra predição que possuem várias direções selecionadas de acordo com uma modalidade exemplar são usados, um número de modos de intra predição disponíveis pode variar de acordo com um tamanho de uma unidade de codificação. Dessa forma, com a finalidade de prever um modo de intra predição de uma unidade de codificação atual, é necessário mapear os modos de intra predição de unidades de codificação vizinhas para os modos de intra predição representativos. Aqui, modos de intra predição representativos podem ser um menor número de modos de intra predição de entre os modos de intra predição de unidades de codificação vizinhas disponíveis, ou 9 modos de intra predição como mostrado na Figura 19.
A Figura 19 é um diagrama para explicar um processo de geração de um valor de predição de um modo de intra predição de uma unidade de codificação atual, de acordo com uma modalidade exemplar.
Em referência à Figura 19, quando a unidade de codificação atual é A 170, um modo de intra predição da unidade de codificação atual A 170 pode ser previsto a partir de modos de intra predição determinados a partir de unidades de codificação vizinhas. Por exemplo, se um modo de intra predição determinado a partir de uma unidade de codificação à esquerda B 171 da unidade de codificação atual A 170 é um modo 3 e um modo de intra predição de uma unidade de codificação superior C 172 é um modo 4, um modo de intra predição da unidade de codificação atual A 170 pode ser prevista para ser um modo 3 que tem um valor menor de entre os modos de predição da unidade de codificação superior C 172 e da unidade codificação à esquerda B 171. Se um modo de intra predição determinado como um resultado de uma codificação de intra predição real realizada na unidade de codificação atual A 170 é um modo 4, apenas uma diferença 1 a partir do modo 3 que é um valor do modo de intra predição previsto a partir das unidades de codificação vizinhas é transmitido como informação do modo de intra predição para a unidade de codificação atual A 170. Quando uma imagem é decodificada, da mesma maneira, um valor de predição de um modo de intra predição de uma unidade de decodificação corrente é gerado, um valor de diferença de modo transmitido através de um fluxo de bits contínuo é adicionado ao valor de predição valor do modo de intra predição, e informações do modo de intra predição efetivamente aplicado à unidade de decodificação corrente é obtido. Embora apenas as unidades de codificação vizinhas localizados na parte superior e à esquerda da unidade de codificação atual sejam utilizadas na descrição acima, um modo de intra predição da unidade de codificação atual A 170 pode ser previsto utilizando-se outras unidades de codificação vizinhas, tais como E e D da Figura 19.
Uma vez que os modos de intra predição efetivamente realizados variam de acordo com os tamanhos das unidades de codificação, um modo de intra predição previsto a partir de unidades de codificação vizinhas não pode se combinar com um modo de intra predição da unidade de codificação atual. Sendo assim, como objetivo de prever um modo de intra predição de uma unidade de codificação atual a partir de unidades de codificação vizinhas com tamanhos diferentes, um processo de mapeamento para unificar os modos de intra predição das unidades de codificação que têm diferentes modos de intra predição é requerido.
As Figuras 20A e 20B são diagramas de referência para explicar um processo de mapeamento para unificar modos de intra predição de unidades de codificação com tamanhos diferentes, de acordo com uma modalidade exemplar.
Em referência à Figura 20A, é assumido que uma unidade de codificação atual A 180 tem um tamanho de 16x16, uma unidade de codificação à esquerda B 181 tem um tamanho de 8x8, e uma unidade de codificação superior C 182 tem um tamanho de 4x4. Além disso, como mostrado na Figura 14, presume-se que os números de modos de intra predição disponíveis das unidades de codificação com os tamanhos de 4x4, 8x8 e 16x16 são, respectivamente, 9, 9 e 33. Nesse caso, uma vez que os números dos modos de intra predição disponíveis da unidade de codificação â esquerda B 181 e da unidade de codificação superior C 182 são diferentes do número dos modos de intra predição disponíveis da unidade de codificação atual A 180, um modo de intra predição prevista a partir da unidade de codificação à esquerda B 181 e da unidade de codificação superior C 182 não é adequado para ser usado como um valor de predição de um modo de intra predição da unidade de codificação atual A 180. Dessa forma, na Figura 20A, os modos de intra predição das unidades de codificação vizinhas B e C 181 e 182 são, respectivamente, alterados para o primeiro e o segundo modos de intra predição representativos que possuem uma direção mais semelhante de entre um número predeterminado de modos de intra predição representativos, e um modo com um valor menor de entre o primeiro e o segundo modos de intra predição representativos é selecionado como modo de intra predição representativo final. E, um modo de intra predição que tem uma direção mais semelhante ao modo de intra predição representativo selecionado de entre os modos de intra predição disponíveis de acordo com um tamanho da unidade de codificação atual 1080 é previsto para ser um modo de intra predição da unidade de codificação atual 1080 .
De forma alternativa, em referência à Figura 20B, é assumido que uma unidade de codificação atual A tem um tamanho de 16x16, uma unidade de codificação à esquerda B tem um tamanho de 32x32, e uma unidade de codificação superior C tem um tamanho de 8x8. Além disso, como mostrado na Figura 14, presume-se que os números dos modos de intra predição disponíveis das unidades de codificação que têm os tamanhos de 8x8, 16x16, e 32x32 são, respectivamente, 9, 9 e 33. Além disso, assume-se que um modo de intra predição da unidade de codificação esquerda B é um modo 4, e um modo de intra predição da unidade de codificação superior C é um modo 31. Nesse caso, uma vez que os modos de intra predição da unidade de codificação esquerda B e da unidade de codificação superior C não são compatíveis uns com os outros, cada um dos modos de intra predição da unidade de codificação esquerda B e da unidade de codificação superior C é mapeado para um dos modos de intra predição representativos mostrados na Figura 21. Uma vez que o modo 31, que é o modo de intra predição da unidade de codificação à esquerda B tem uma diretividade de (dx, dy) = (4, -3) , como mostrado na Tabela 2, um modo 5 que tem uma diretividade mais semelhante a tg-1 (-3 / 4), de entre os modos de intra predição representativos da Figura 21 é mapeado, e uma vez que o modo de modo de intra predição 4 da unidade de codificação superior C tem a mesma diretividade que aquela do modo 4 a partir de entre os modos de intra predição representativos da Figura 21, o modo 4 é mapeado.
O modo 4, que tem um menor valor de modo de entre o modo 5, que é o modo de intra predição mapeado da unidade de codificação à esquerda B, e o modo 4, que é o modo de intra predição mapeado da unidade de codificação superior C, podem ser determinados como sendo um valor de predição de um modo de intra predição da unidade de codificação atual, e apenas um valor de diferença de modo entre um modo de intra predição real e um modo intra predição previsto da unidade de codificação atual podem ser codificados como informação de modo de predição da unidade de codificação atual.
A Figura 21 é um diagrama de referência para explicar um processo de mapeamento dos modos de intra predição de unidades de codificação vizinhas para um dos modos de intra predição representativos, de acordo com uma modalidade exemplar. Na Figura 21, como modos de intra predição representativos, um modo vertical, um modo horizontal, um modo DC, um modo diagonal à esquerda, um modo diagonal à direita, um modo vertical à direita, um modo vertical à esquerda, um modo horizontal superior, e um modo horizontal inferior estão definidos. No entanto, os modos de intra predição representativos não são limitados a esses, e podem ser ajustados para terem um número variado tipos de diretividades.
Com referência à figura 21, um número predeterminado de modos de intra predição representativos são previamente definidos, e os modos de intra predição de unidades de codificação vizinhas são mapeados para um modo de intra predição representativo tendo uma direção mais semelhante. Por exemplo, se um determinado modo de intra predição da unidade de codificação A é um modo de intra predição MODE_A (190) tendo uma diretividade, o modo de intra predição MODE_A (190) da unidade de codificação A é mapeado para o MODO 1 tendo uma direção mais semelhante entre os 9 modos de intra predição predefinidos representativos del a 9. Da mesma forma, se um determinado modo de intra predição da unidade B de codificação esquerda é um modo de intra predição MOD_B (191) tendo uma diretividade, o modo de intra predição MODE_B (191) da unidade B de codificação esquerda é mapeado para MODO 5 tendo uma direção mais semelhante entre os 9 modos de intra predição predefinidos representativos de 1 a 9.
Em seguida, um modo tendo um valor menor entre um primeiro modo de intra predição representativo e um segundo modo de intra predição representativo é selecionado como um último modo de intra predição representativo de uma unidade de codificação mais próxima. A razão pela qual um modo de intra predição representativo tendo um valor de modo menor é selecionado é que um valor de modo menor está definido para os modos de intra predição mais frequentemente gerados. Isto é, se diferentes modos de intra predição são preditos a partir das unidades de codificação vizinhas, uma vez que um modo de intra predição tendo um valor de modo menor tem uma possibilidade de ocorrência maior, é preferível selecionar um modo de predição tendo um valor menor como um preditor de um modo de predição da unidade de codificação atual quando existem modos de predição diferentes.
Embora um modo de intra predição representativo seja selecionado a partir de unidades de codificação vizinhas, o modo de intra predição representativo pode não ser utilizado como ele é como um preditor de um modo de intra predição de uma unidade de codificação atual algumas vezes. Se a unidade de codificação atual A180 tem 33 modos de intra predição e um modo de intra predição representativo tem 9 modos de intra predição como descrito com referência à Figura 20, um modo de intra predição da unidade de codificação atual A 180 correspondendo a um modo de intra predição representativo não existe. Neste caso, um modo semelhante ao utilizado para mapear os modos de intra predição de unidades de codificação vizinhas para um modo de intra predição representativo como descrito acima, um modo de intra predição tendo uma direção mais semelhante a um modo de intra predição representativo selecionado a partir de modos de intra predição de acordo com um tamanho de uma unidade de codificação atual pode ser selecionado como um preditor final de um modo de intra predição da unidade de codificação atual. Por exemplo, se um modo de intra predição representativo finalmente selecionado a partir das unidades de codificação vizinhas na figura 21 é o Modo 1, um modo de intra predição tendo uma diretividade mais semelhante ao modo 1 entre os modos de intra predição disponíveis de acordo com o tamanho da unidade de codificação atual pode ser finalmente selecionado como um preditor do modo de intra predição da unidade de codificação atual.
Enquanto isso, como descrito com referência às Figuras 15A até 15C, se um preditor para o pixel corrente P é gerado usando pixels vizinhos na ou perto da linha estendida 150, a linha estendida 150 tem efetivamente uma diretividade de tg -1 (dy / dx) . A fim de calcular a diretividade, uma vez que divisão (dy / dx) é necessária, o cálculo é feita para baixo para casas decimais quando software ou hardware é usado, aumentando, assim, a quantidade de cálculo. Por conseguinte, um processo de ajuste de dx e dy é utilizado a fim de reduzir a quantidade de cálculo quando uma direção de predição para a seleção de pixels vizinhos para serem usados como pixels de referência sobre um pixel em uma unidade de codificação é definido usando os parâmetros dx e dy em uma maneira semelhante à descrita com referência à Tabela 2.
A Figura 25 é um diagrama para explicar uma relação entre um pixel corrente e os pixels vizinhos localizados sobre uma linha estendida tendo uma diretividade (dy / dx), de acordo com uma modalidade exemplar.
Com referência à figura 25, presume-se que uma localização do pixel corrente P é P (j, i) , e um pixel vizinho superior e um pixel vizinho esquerdo B localizado sobre uma linha estendida 2510 tendo uma diretividade, isto é, um gradiente, de tg-1 (dy / dx) e que passa através do pixel corrente P são, respectivamente, A e B. Quando é assumido que os locais de pixels vizinhos superiores correspondem a um eixo X em um plano de coordenadas, e os locais de pixels vizinhos à esquerda P correspondem a um eixo y no plano coordenado, o pixel vizinho A está localizado em (j + i * dx / dy, 0) , e o pixel vizinho esquerdo B está localizado em (0, i + j * dy / dx) . Por conseguinte, a fim de determinar qualquer um do pixel vizinho superior A e o pixel vizinho esquerdo B para predizer o pixel corrente , a divisão, tal como dx / dy ou dy / dx, é necessária. Tal divisão é muito complexa, como descrito acima, reduzindo assim uma velocidade de cálculo de software ou hardware.
Por conseguinte, um valor de qualquer um de dx e dy representando uma diretividade de um modo de predição para a determinação de pixels vizinhos pode ser determinada para ser uma potência de 2. Isto é, quando N e M são números inteiros, dx e dy podem ser 2 ⌃ n e 2 ⌃ m, respectivamente. Com referência à figura 25, se o pixel vizinho esquerdo B é usado como um preditor para o pixel corrente P e dx tem um valor de 2 ⌃ n, j * dy / dx necessário determinar (0, i + j * dy / dx) que é uma localização do pixel vizinho esquerdo B torna-se (j * dy / (2 ⌃ n) ) , e a divisão usando uma tal potência de 2 é facilmente obtida por meio de operação de deslocamento como (j * dy) >> n, reduzindo, assim, a quantidade de cálculo .
Da mesma forma, se o pixel vizinho superior A é usado como um preditor para o pixel corrente P e dy tem um valor de 2 ⌃ m, i * dx / dy necessário determinar (j + i * dx / dy, 0) que é uma localização do pixel vizinho superior A torna-se (i * dx) / (2 ⌃ m), e a divisão usando uma tal potência de 2 é facilmente obtida por meio de operação de deslocamento como (i * dx) >> m.
A Figura 26 é um diagrama para explicar uma mudança de um pixel vizinho localizado sobre uma linha estendida tendo uma diretividade de (dx, dy) de acordo com uma localização de um pixel corrente, de acordo com uma modalidade exemplar.
Como um pixel vizinho necessário para a predição de acordo com uma localização de um pixel corrente, qualquer um de um pixel vizinho superior e um pixel vizinho esquerdo é selecionado.
Com referência à figura 26, quando um pixel corrente 2610 é P (j, i) e está previsto usando um pixel vizinho localizado em uma direção de predição, um pixel superior A é usado para prever o pixel corrente P 2610. Quando o pixel corrente 2610 é Q (b, a), um pixel esquerdo B é utilizado para prever o pixel corrente Q 2620.
Se apenas um componente dy de uma direção do eixo y, entre (dx, dy) , representando uma direção de predição tem uma potência de 2, como 2 ⌃ m, enquanto o pixel superior A na Figura 24 pode ser determinado através de operação de deslocamento sem divisão, tal como (j + (i * dx) >> m, 0) , o pixel esquerdo B requer divisão, tal como (0, a + b * 2 ⌃ m/ dx). Por conseguinte, a fim de excluir a divisão, quando um preditor é gerado para todos os pixels de um bloco atual, todos dx e dy podem ter um tipo de potência de 2.
As Figuras 27 e 28 são diagramas para explicar um método de determinação de uma direção de modo de intra predição, de acordo com modalidades exemplares.
De modo geral, há muitos casos em que os padrões lineares mostrados em uma imagem ou um sinal de vídeo são verticais ou horizontais. Consequentemente, quando os modos de intra predição possuindo várias diretividades são definidos usando parâmetros dx e dy, a eficiência de codificação de imagem pode ser melhorada através da definição de valores dx e dy como a seguir.
Em pormenores, se dy tem um valor fixo de 2 ⌃ m, um valor absoluto de dx pode ser fixado de modo que uma distância entre direções de predição próximas de uma direção vertical seja estreita, e uma distância entre os modos de predição mais estreitos para uma direção horizontal é mais ampla. Por exemplo, Com referência à figura 27, se dy tem um valor de 2 ⌃ 4, isto é, 16, um valor de dx pode ser ajustado para ser 1, 2, 3, 4, 6, 9, 12, 16, 0, -1, -2, -3, -4, -6, -9, -12, -16 e de modo a que uma distância entre direções de predição perto de uma direção vertical é estreita e uma distância entre os modos de predição mais estreitos para uma direção horizontal é mais larga.
Da mesma forma, se dx tem um valor fixo de 2 ⌃ n, um valor absoluto de dy pode ser fixado de modo que uma distância entre direções de predição perto de uma direção horizontal é estreita e uma distância entre os modos de predição mais perto de uma direção vertical ê mais larga. Por exemplo, Com referência à figura 28, se dx tem um valor de 2 ⌃ 4, isto é, 16, um valor de dy pode ser ajustado para ser 1, 2, 3 ,4, 6, 9, 12, 16, 0, -1, -2, -3, -4, -6, -9, 12, -16 e de modo a que uma distância entre direções de predição perto de uma direção horizontal é estreita e uma distância entre os modos de predição mais estreitas para uma direção vertical é mais larga.
Além disso, quando um dos valores de dx e dy são fixados, o valor remanescente pode ser configurado para ser aumentado de acordo com um modo de predição. Por exemplo, se dy é fixo, uma distância entre dx pode ser ajustada para ser aumentada por um valor predeterminado. Além disso, um ângulo de uma direção horizontal e uma direção vertical pode ser dividido em unidades predeterminadas, e uma tal quantidade aumentada pode ser ajustada em cada um dos ângulos divididos. Por exemplo, se dy é fixo, um valor de dx pode ser ajustado para ter uma quantidade aumentada de a em uma seção inferior a 15 graus, uma quantidade aumentada de b em uma seção entre 15 graus e 30 graus, e uma largura aumentada de c em uma seção maior do que 30 graus. Neste caso, a fim de ter uma forma tal como mostrado na Figura 25, o valor de dx pode ser ajustado para satisfazer uma relação de a <b <c.
Por exemplo, os modos de predição descritos com referência às Figuras 25 a 28 podem ser definido como um modo de predição tendo uma diretividade de tg-1 (dy / dx) usando (dx, dy), como mostrados nas Tabelas 3 a 5.
A Figura 22 é um diagrama de blocos de um aparelho de intra predição 200 de acordo com uma modalidade exemplar. O aparelho de intra predição 200 pode operar como o preditor intra 410 do aparelho 400 da Figura 4 e o preditor intra 550 do aparelho 500 da Figura 5.
Com referência à figura 22, um determinador de modo de intra predição 2010 determina um modo de intra predição a ser aplicado a uma unidade de codificação atual de acordo com um tamanho de cada uma das unidades de codificação com base em dividir uma unidade de codificação máxima e profundidade, como descrito acima. Isto é, o determinador de modo de intra predição 2010 determina modos de intra predição a ser aplicados de acordo com um tamanho de uma unidade de codificação atual entre os modos de intra predição possuindo várias direções.
Um executor de intra predição 2020 executa intra predição em cada unidade de codificação usando os determinados modos de intra predição. Um modo de intra predição ótimo tendo um valor de erro menor entre os valores de erro entre uma unidade de codificação original e uma unidade de codificação de predição gerada como resultado da intra predição realizada pelo executor de intra predição 2020 é determinado como um modo de intra predição final da unidade de codificação.
Enquanto isso, se o aparelho de intra predição 2000 ilustrado na Figura 22 é aplicado a um aparelho de decodificação, o determinador de modo de intra predição 2010 determina um tamanho de uma unidade de decodificação corrente usando uma unidade de codificação máxima extraída de um fluxo de bits codificado pelo decodificador de entropia 520 da Figura 5 e a informação de profundidade que é obtida hierarquicamente por meio da divisão da unidade de codificação máxima. Além disso, o executor de intra predição 2020 gera uma unidade de decodificação de predição através da realização de intra predição sobre uma unidade de decodificação de acordo com um modo de intra predição extraído. A unidade de decodificação de predição é adicionada aos dados residuais restaurados a partir do fluxo de bits para executar a decodificação na unidade de decodificação.
A Figura 23 é um fluxograma que ilustra um método de codificação de uma imagem, de acordo com uma modalidade exemplar.
Com referência à figura 23, em operação 2110, uma imagem corrente é dividida em pelo menos um bloco. Como descrito acima, a imagem corrente pode ser dividida co base em uma unidade de codificação máxima que é uma unidade de codificação tendo um tamanho máximo e uma profundidade que é obtida hierarquicamente, dividindo a unidade de codificação máxima.
Em operação 2120, um modo de intra predição a ser executado por um bloco atual de acordo com um tamanho do bloco atual é determinado. Como descrito acima, o modo de intra predição inclui um modo de predição para a realização de predição usando pixels dos blocos vizinhos na ou perto de uma linha estendida com um ângulo de tg -1 (dy / dx) sobre cada pixel dentro do bloco atual.
Em operação 2130, a intra predição é executada no bloco atual de acordo com o modo de intra predição determinado. Um modo de intra predição tendo um valor de erro de predição menor entre modos de intra predição é selecionado como um modo de predição final intra do bloco atual.
A Figura 24 é um fluxograma que ilustra um método de decodificação de uma imagem, de acordo com uma modalidade exemplar.
Com referência ã figura 24, em operação 2210, uma imagem corrente é dividida em pelo menos um bloco tendo um tamanho predeterminado. Aqui, a imagem corrente pode ser dividida com base em uma unidade de decodificação máxima que é uma unidade de decodificação tendo um tamanho máximo extraído a partir de um fluxo de dados contínuo e a informação de profundidade que é obtida hierarquicamente dividindo a unidade de decodificação máxima.
Em operação 2220, informações sobre um modo de intra predição aplicado a um bloco atual são extraídas do fluxo de bits. O modo de intra predição inclui um modo de predição para a realização de predição usando pixels de blocos vizinhos em ou perto de uma linha estendida com um ângulo de tg -1 (dy / dx) (dx e dy são números inteiros) sobre cada pixel dentro do bloco atual. Tal como descrito acima com referência às Figuras 19 a 21, se um preditor de um modo de intra predição previsto a partir dos modos de intra predição das unidades de decodificação adjacentes é usado, os modos de intra predição das unidades de decodificação adjacentes de uma unidade de decodificação corrente são mapeados para os modos de intra predição representativos, e um modo de intra predição representativo com um valor de modo menor entre os modos de intra predição representativos é selecionado como um modo de intra predição representativo final. E, um modo de intra predição tendo uma direção mais semelhante ao último modo de intra predição representativo entre os modos de intra predição disponíveis determinados de acordo com uma dimensão da unidade de decodificação corrente é selecionado como um preditor do modo de intra predição da unidade de decodificação corrente, um valor de diferença entre os preditores do modo de intra predição e um modo de intra predição real incluídos no fluxo de bits é extraído, e o valor de diferença é adicionado ao preditor do modo de intra predição, determinando, assim, o modo de intra predição da unidade de decodificação corrente.
Em operação 2230, uma unidade de decodificação é decodificada através da realização de intra predição na unidade de decodificação de acordo com o modo de intra predição extraído.
As modalidades exemplares podem ser escrita como programas de computador e podem ser implementadas em computadores digitais de uso geral que executam os programas utilizando um meio de gravação legível por computador. Exemplos do meio de gravação legível por computador incluem meios de armazenamento magnéticos (por exemplo, ROM, disquetes, discos rígidos, etc) e mídia de gravação óptica (por exemplo, CD-ROMs ou DVDs).
Embora esta invenção tenha sido particularmente ilustrada e descrita com referência a modalidades preferidas da mesma, será entendido por aqueles com conhecimentos ordinários na técnica que várias alterações na forma e nos detalhes podem ser feitas nela sem se afastar do espírito e do escopo da invenção tal como definido pelas reivindicações anexas. As modalidades preferidas devem ser consideradas em sentido descritivo e não para fins de limitação. Por conseguinte, o escopo da invenção não está definido pela descrição detalhada da invenção, mas pelas reivindicações anexas, e todas as diferenças no escopo serão interpretadas como estando incluídas na presente invenção.
Claims (3)
- MÉTODO PARA DECODIFICAR UMA IMAGEM, o método caracterizado por compreender:
extrair, de um fluxo de bits, informação que indique um modo de previsão intra aplicado a um bloco atual a ser decodificado; e
executar previsão intra no bloco atual, de acordo com o modo de previsão intra indicado pela informação extraída,
em que o modo de previsão intra indica a previsão intra para um pixel atual localizado em uma posição (i,j) do bloco atual, onde i e j são números inteiros, a previsão intra compreendendo:
determinar um dentre (i) um pixel vizinho esquerdo de um primeiro bloco anterior adjacente a um lado esquerdo do bloco atual e decodificado antes do bloco atual, e (ii) um pixel superior vizinho de um segundo bloco anterior adjacente a um lado superior do bloco atual e decodificado antes do bloco atual, o pixel vizinho esquerdo determinado com base numa operação de mudança, como divisão pela potência de 2, j*dy>>n e o pixel superior vizinho determinado com base numa operação de mudança como divisão pela potência de 2, i*dx>>m, onde dx, dy, men são números inteiros; e
executar a previsão intra usando um dentre o pixel vizinho esquerdo e o pixel superior vizinho determinados, em que o bloco atual é obtido por divisão hierárquica de uma unidade de codificação máxima, que é uma unidade de codificação tendo um tamanho máximo baseado na informação de profundidade, e
em que a informação de profundidade indica um número de vezes que a unidade de codificação máxima é dividida. - MÉTODO, de acordo com a reivindicação 1, caracterizado por um dentre o pixel vizinho esquerdo e o pixel superior vizinho ser determinado, usando uma linha estendida através do pixel atual, a linha tendo um ângulo de tan-1 (dy/dx) com relação ao pixel atual.
- MÉTODO, de acordo com a reivindicação 1, caracterizado por men serem 5, e dx e dy serem um dentre -32, -26, -21, -17, -13, -9, -5, -2, 0, 2, 5, 9, 13, 17, 21, 26, e 32.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2009-0075854 | 2009-08-17 | ||
KR1020090075854A KR101452860B1 (ko) | 2009-08-17 | 2009-08-17 | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
PCT/KR2010/005436 WO2011021838A2 (en) | 2009-08-17 | 2010-08-17 | Method and apparatus for encoding video, and method and apparatus for decoding video |
BR112012003430-8A BR112012003430A2 (pt) | 2009-08-17 | 2010-08-17 | método para codificar uma imagem, e método de decodificação de uma imagem |
BR112012003430-8 | 2010-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
BR122013020184A2 true BR122013020184A2 (pt) | 2020-10-27 |
Family
ID=43588577
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122013020184-0A BR122013020184A2 (pt) | 2009-08-17 | 2010-08-17 | método para decodificar uma imagem |
BR112012003430-8A BR112012003430A2 (pt) | 2009-08-17 | 2010-08-17 | método para codificar uma imagem, e método de decodificação de uma imagem |
BR122013020185-8A BR122013020185A2 (pt) | 2009-08-17 | 2010-08-17 | método para decodificar uma imagem |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112012003430-8A BR112012003430A2 (pt) | 2009-08-17 | 2010-08-17 | método para codificar uma imagem, e método de decodificação de uma imagem |
BR122013020185-8A BR122013020185A2 (pt) | 2009-08-17 | 2010-08-17 | método para decodificar uma imagem |
Country Status (23)
Country | Link |
---|---|
US (8) | US9313502B2 (pt) |
EP (10) | EP2928188A1 (pt) |
JP (11) | JP5770185B2 (pt) |
KR (1) | KR101452860B1 (pt) |
CN (6) | CN103179403B (pt) |
AU (1) | AU2010285491B2 (pt) |
BR (3) | BR122013020184A2 (pt) |
CA (6) | CA2823882C (pt) |
CY (1) | CY1121266T1 (pt) |
DK (2) | DK3461130T3 (pt) |
ES (4) | ES2952572T3 (pt) |
HR (1) | HRP20190020T1 (pt) |
HU (4) | HUE062768T2 (pt) |
LT (1) | LT3288262T (pt) |
MX (1) | MX2011013033A (pt) |
MY (5) | MY174665A (pt) |
PL (4) | PL3654652T3 (pt) |
PT (1) | PT3288262T (pt) |
RU (7) | RU2493671C1 (pt) |
SI (1) | SI3288262T1 (pt) |
TR (1) | TR201900025T4 (pt) |
WO (1) | WO2011021838A2 (pt) |
ZA (5) | ZA201201156B (pt) |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101452860B1 (ko) * | 2009-08-17 | 2014-10-23 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
KR101700358B1 (ko) * | 2009-12-09 | 2017-01-26 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
USRE47243E1 (en) * | 2009-12-09 | 2019-02-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
KR101495724B1 (ko) * | 2010-02-02 | 2015-02-25 | 삼성전자주식회사 | 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
KR101503269B1 (ko) * | 2010-04-05 | 2015-03-17 | 삼성전자주식회사 | 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치 |
CN105472386B (zh) | 2010-04-09 | 2018-09-18 | Lg电子株式会社 | 处理视频数据的方法和装置 |
WO2011128365A1 (en) | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Inheritance in sample array multitree subdivision |
PT2559246T (pt) | 2010-04-13 | 2016-09-14 | Ge Video Compression Llc | Regiões de fusão de amostras |
CN106231328B (zh) | 2010-04-13 | 2020-06-12 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
CN106067983B (zh) | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
KR101530284B1 (ko) | 2010-07-16 | 2015-06-19 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
HUE059881T2 (hu) * | 2010-09-27 | 2023-01-28 | Lg Electronics Inc | Blokkfelosztási eljárás és dekódoló eszköz |
US8923395B2 (en) * | 2010-10-01 | 2014-12-30 | Qualcomm Incorporated | Video coding using intra-prediction |
CN103262542A (zh) * | 2010-10-26 | 2013-08-21 | 数码士有限公司 | 自适应帧内预测编码和解码方法 |
EP2661080A4 (en) * | 2010-12-31 | 2016-06-29 | Korea Electronics Telecomm | METHOD FOR CODING VIDEO INFORMATION AND METHOD FOR DECODING VIDEO INFORMATION AND DEVICE THEREFOR |
AU2011354441B2 (en) * | 2011-01-07 | 2014-07-17 | Hfi Innovation Inc. | Method and apparatus of improved intra luma prediction mode coding |
KR20120103517A (ko) * | 2011-03-10 | 2012-09-19 | 한국전자통신연구원 | 인트라 예측 방법 및 그 장치 |
WO2012122495A1 (en) * | 2011-03-10 | 2012-09-13 | Huawei Technologies Co., Ltd. | Using multiple prediction sets to encode extended unified directional intra mode numbers for robustness |
ES2459890B2 (es) * | 2011-04-25 | 2015-06-05 | Lg Electronics Inc. | Método de predicción intra, y codificador y descodificador que lo usan |
KR102081350B1 (ko) | 2011-04-25 | 2020-02-25 | 엘지전자 주식회사 | 인트라 예측 방법과 이를 이용한 부호화기 및 복호화기 |
US8494290B2 (en) * | 2011-05-05 | 2013-07-23 | Mitsubishi Electric Research Laboratories, Inc. | Method for coding pictures using hierarchical transform units |
WO2012161445A2 (ko) * | 2011-05-20 | 2012-11-29 | 주식회사 케이티 | 단거리 인트라 예측 단위 복호화 방법 및 복호화 장치 |
KR101383775B1 (ko) | 2011-05-20 | 2014-04-14 | 주식회사 케이티 | 화면 내 예측 방법 및 장치 |
US20140185948A1 (en) * | 2011-05-31 | 2014-07-03 | Humax Co., Ltd. | Method for storing motion prediction-related information in inter prediction method, and method for obtaining motion prediction-related information in inter prediction method |
CA3101406C (en) | 2011-06-14 | 2023-05-09 | Tammy Lee | Method and apparatus for encoding motion information and method and apparatus for decoding same |
BR122020013891B1 (pt) * | 2011-06-17 | 2022-09-13 | JVC Kenwood Corporation | Dispositivo e método para decodificação de imagem, dispositivo e método para transmissão, e dispositivo e método para recepção |
EP3678373A1 (en) * | 2011-06-20 | 2020-07-08 | HFI Innovation Inc. | Method and apparatus of directional intra prediction |
CA3208227A1 (en) * | 2011-06-24 | 2012-12-27 | Mitsubishi Electric Corporation | Intra prediction of a processing block using a predicted value which is proportional to the amount of change in the horizontal direction of the signal value of a pixel adjacent to the left of the processing block |
KR101654673B1 (ko) * | 2011-06-28 | 2016-09-22 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
CN102857764B (zh) | 2011-07-01 | 2016-03-09 | 华为技术有限公司 | 帧内预测模式处理的方法和装置 |
EP2742690B1 (en) * | 2011-08-08 | 2016-07-27 | Google Technology Holdings LLC | Residual tree structure of transform unit partitioning |
US8965062B2 (en) * | 2011-09-16 | 2015-02-24 | The Invention Science Fund I, Llc | Reporting imaged portions of a patient's body part |
JP5972888B2 (ja) * | 2011-09-29 | 2016-08-17 | シャープ株式会社 | 画像復号装置、画像復号方法および画像符号化装置 |
EP2763414B1 (en) | 2011-09-29 | 2020-09-23 | Sharp Kabushiki Kaisha | Image decoding device and image decoding method for performing bi-prediction to uni-prediction conversion |
EP4231639A3 (en) * | 2011-10-28 | 2023-08-30 | Samsung Electronics Co., Ltd. | Method and apparatus for intra prediction of video |
KR20130049525A (ko) * | 2011-11-04 | 2013-05-14 | 오수미 | 잔차 블록 복원을 위한 역변환 방법 |
KR20130050405A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 시간 후보자 결정방법 |
WO2013067942A1 (zh) * | 2011-11-08 | 2013-05-16 | 华为技术有限公司 | 一种帧内预测方法和装置 |
DK3249926T3 (en) * | 2011-12-13 | 2019-03-25 | Jvc Kenwood Corp | VIDEO DECODING DEVICE, VIDEO DECODING METHOD, AND VIDEO DECODING PROGRAM |
CN103220506B (zh) * | 2012-01-19 | 2015-11-25 | 华为技术有限公司 | 一种编解码方法和设备 |
US9491477B2 (en) * | 2012-03-30 | 2016-11-08 | Hitachi, Ltd. | Image decoding method and image decoding apparatus |
US9930362B2 (en) * | 2012-04-20 | 2018-03-27 | Futurewei Technologies, Inc. | Intra prediction in lossless coding in HEVC |
WO2014014276A1 (ko) * | 2012-07-17 | 2014-01-23 | 한국전자통신연구원 | 인루프 필터링 방법 및 이를 이용하는 장치 |
CN102984523B (zh) * | 2012-12-14 | 2015-12-09 | 北京大学 | 一种多方向的帧内预测编解码方法及装置 |
CN104104959B (zh) * | 2013-04-10 | 2018-11-20 | 乐金电子(中国)研究开发中心有限公司 | 深度图像帧内预测方法及装置 |
US9497485B2 (en) | 2013-04-12 | 2016-11-15 | Intel Corporation | Coding unit size dependent simplified depth coding for 3D video coding |
US20150016516A1 (en) * | 2013-07-15 | 2015-01-15 | Samsung Electronics Co., Ltd. | Method for intra prediction improvements for oblique modes in video coding |
CN110740320B (zh) * | 2013-12-19 | 2022-07-05 | 三星电子株式会社 | 视频编码方法和设备以及视频解码方法和设备 |
KR101737861B1 (ko) * | 2014-01-20 | 2017-05-19 | 한국전자통신연구원 | 변환 깊이 기반 dct 사이즈 결정 장치 및 방법 |
US20180035123A1 (en) * | 2015-02-25 | 2018-02-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Encoding and Decoding of Inter Pictures in a Video |
WO2016140090A1 (ja) * | 2015-03-04 | 2016-09-09 | ソニー株式会社 | 画像符号化装置および方法 |
KR20170135847A (ko) * | 2015-04-08 | 2017-12-08 | 엘지전자 주식회사 | 비디오 신호의 인코딩/디코딩 방법 및 장치 |
CN106604028A (zh) * | 2015-10-16 | 2017-04-26 | 中兴通讯股份有限公司 | 编码处理、解码处理方法及装置、编码器及解码器 |
EP3367688A4 (en) * | 2015-10-21 | 2018-10-24 | Sharp Kabushiki Kaisha | Predictive image generation device, image decoding device, and image encoding device |
CN105472389B (zh) * | 2015-12-01 | 2018-11-16 | 上海交通大学 | 一种用于超高清视频处理系统的片外缓存压缩方法 |
KR102345475B1 (ko) * | 2016-01-05 | 2022-01-03 | 한국전자통신연구원 | 잔차 신호에 대한 예측 방법 및 장치 |
EP3393126A4 (en) * | 2016-02-16 | 2019-04-17 | Samsung Electronics Co., Ltd. | INTRA PREDICTION METHOD FOR REDUCING INTRA PREDICTION ERRORS AND DEVICE THEREFOR |
CN105791868B (zh) * | 2016-04-07 | 2019-03-12 | 中星技术股份有限公司 | 视频编码的方法和设备 |
WO2017188652A1 (ko) | 2016-04-26 | 2017-11-02 | 인텔렉추얼디스커버리 주식회사 | 영상 부호화/복호화 방법 및 장치 |
CN117499647A (zh) * | 2016-04-29 | 2024-02-02 | 英迪股份有限公司 | 图像解码方法、图像编码方法和用于发送比特流的方法 |
US20170347094A1 (en) * | 2016-05-31 | 2017-11-30 | Google Inc. | Block size adaptive directional intra prediction |
EP3499884B1 (en) * | 2016-08-08 | 2022-12-14 | LG Electronics Inc. | Intra-prediction mode-based video coding methods and video processing apparatus thereof |
CN109792521A (zh) * | 2016-10-04 | 2019-05-21 | 韩国电子通信研究院 | 用于对图像进行编码/解码的方法和设备以及存储比特流的记录介质 |
CN116668728A (zh) * | 2016-11-08 | 2023-08-29 | 株式会社Kt | 对视频进行解码和编码的方法、发送压缩数据的方法 |
FI3552393T3 (fi) * | 2016-12-23 | 2023-05-19 | Huawei Tech Co Ltd | Koodauslaite laajennussuunnatun intra-ennustustilan signaloimiseksi suunnattujen intra-ennustustilojen joukossa |
US11184639B2 (en) | 2017-05-17 | 2021-11-23 | Kt Corporation | Method and device for video signal processing |
CN118413665A (zh) * | 2017-11-28 | 2024-07-30 | Lx 半导体科技有限公司 | 图像编码/解码方法、图像数据的传输方法和存储介质 |
EP3496401A1 (en) * | 2017-12-05 | 2019-06-12 | Thomson Licensing | Method and apparatus for video encoding and decoding based on block shape |
CN110278443B (zh) * | 2018-03-16 | 2022-02-11 | 华为技术有限公司 | 划分标志位的上下文建模方法及装置 |
WO2019174567A1 (zh) | 2018-03-16 | 2019-09-19 | 华为技术有限公司 | 划分标志位的上下文建模方法及装置 |
CN118018723A (zh) * | 2018-05-10 | 2024-05-10 | 三星电子株式会社 | 视频编码方法和设备以及视频解码方法和设备 |
KR20210007987A (ko) * | 2018-05-14 | 2021-01-20 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 쿼드트리-이진 트리에 대한 블록 형상 적응적 인트라 예측 방향들 |
CN116456095A (zh) | 2018-06-25 | 2023-07-18 | Oppo广东移动通信有限公司 | 帧内预测方法和装置 |
CN115379211B (zh) * | 2018-09-02 | 2024-06-04 | Lg电子株式会社 | 对视频信号进行解码/编码的方法和计算机可读存储介质 |
BR112021004890A2 (pt) * | 2018-09-13 | 2021-06-01 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. | intrapredições ponderadas lineares afins |
JP7243732B2 (ja) * | 2018-09-14 | 2023-03-22 | 株式会社ソシオネクスト | 動画像符号化方法及び動画像符号化装置 |
CN109040754A (zh) * | 2018-11-06 | 2018-12-18 | 深圳市网心科技有限公司 | 一种hevc的帧内预测模式确定方法、设备、系统及介质 |
CN115714861A (zh) | 2018-12-16 | 2023-02-24 | 华为技术有限公司 | 视频译码器及相应方法 |
EP3941048B1 (en) * | 2019-03-13 | 2024-09-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Image encoding/decoding method and device, and method for transmitting bitstream |
CN111770337B (zh) * | 2019-03-30 | 2022-08-19 | 华为技术有限公司 | 视频编码方法、视频解码方法及相关设备 |
CN110446049A (zh) * | 2019-07-26 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 帧内预测的方法及装置 |
US11638081B2 (en) | 2021-09-04 | 2023-04-25 | Bose Corporation | Earphone port |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1003336A1 (en) | 1998-11-17 | 2000-05-24 | STMicroelectronics S.r.l. | Video pictures compression and coding with decision step for field/frame and motion vectors DCT |
JP2001204024A (ja) * | 2000-01-18 | 2001-07-27 | Tadahiro Omi | データ圧縮方法、データ圧縮装置及び記憶媒体 |
US7386048B2 (en) | 2002-05-28 | 2008-06-10 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode organization |
RU2314656C2 (ru) * | 2002-06-11 | 2008-01-10 | Нокиа Корпорейшн | Внутреннее кодирование, основанное на пространственном прогнозировании |
HUP0301368A3 (en) * | 2003-05-20 | 2005-09-28 | Amt Advanced Multimedia Techno | Method and equipment for compressing motion picture data |
MXPA06002210A (es) | 2003-08-26 | 2006-05-19 | Thomson Licensing | Metodo y aparato para la decodificacion de bloques intra-inter codificados hibridos. |
US7369707B2 (en) | 2003-10-28 | 2008-05-06 | Matsushita Electric Industrial Co., Ltd. | Intra-picture prediction coding method |
CA2547891C (en) * | 2003-12-01 | 2014-08-12 | Samsung Electronics Co., Ltd. | Method and apparatus for scalable video encoding and decoding |
CN100536573C (zh) * | 2004-01-16 | 2009-09-02 | 北京工业大学 | 基于方向的dc预测方法及用于视频编码的帧内预测方法 |
KR100813958B1 (ko) | 2004-06-07 | 2008-03-14 | 세종대학교산학협력단 | 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치 |
US8085846B2 (en) | 2004-08-24 | 2011-12-27 | Thomson Licensing | Method and apparatus for decoding hybrid intra-inter coded blocks |
US7725721B2 (en) * | 2004-11-18 | 2010-05-25 | Cisco Technology, Inc. | Method and system for transferring software and hardware feature licenses between devices |
KR100657919B1 (ko) * | 2004-12-13 | 2006-12-14 | 삼성전자주식회사 | 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법 |
CN1819657A (zh) | 2005-02-07 | 2006-08-16 | 松下电器产业株式会社 | 图像编码装置和图像编码方法 |
JP2006246431A (ja) * | 2005-02-07 | 2006-09-14 | Matsushita Electric Ind Co Ltd | 画像符号化装置および画像符号化方法 |
CN1658673A (zh) * | 2005-03-23 | 2005-08-24 | 南京大学 | 视频压缩编解码方法 |
TWI301723B (en) | 2005-05-17 | 2008-10-01 | Novatek Microelectronics Corp | Method and apparatus for selecting prediction mode of intra coding |
KR100716999B1 (ko) | 2005-06-03 | 2007-05-10 | 삼성전자주식회사 | 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치 |
KR100739714B1 (ko) | 2005-07-06 | 2007-07-13 | 삼성전자주식회사 | 인트라 예측 모드 결정 방법 및 장치 |
KR100725407B1 (ko) | 2005-07-21 | 2007-06-07 | 삼성전자주식회사 | 방향적 인트라 잔차 예측에 따라 비디오 신호를 인코딩하고디코딩하는 방법 및 장치 |
KR100678911B1 (ko) | 2005-07-21 | 2007-02-05 | 삼성전자주식회사 | 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치 |
JP4650173B2 (ja) | 2005-09-05 | 2011-03-16 | ソニー株式会社 | 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体 |
CN100484249C (zh) * | 2005-09-25 | 2009-04-29 | 海信集团有限公司 | 视频帧间编码基于边缘方向的帧内预测方法 |
EP2720467B1 (en) | 2005-09-26 | 2017-03-29 | Mitsubishi Electric Corporation | Moving image decoding apparatus |
US7782955B2 (en) | 2005-09-28 | 2010-08-24 | Avisonic Technology Corporation | Transcoder and transcoding method operating in a transform domain for video coding schemes possessing different transform kernels |
KR100750145B1 (ko) * | 2005-12-12 | 2007-08-21 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
CN101001383A (zh) | 2006-01-12 | 2007-07-18 | 三星电子株式会社 | 基于多层的视频编码/解码方法和编码器/解码器 |
KR100772873B1 (ko) | 2006-01-12 | 2007-11-02 | 삼성전자주식회사 | 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 |
KR100772390B1 (ko) * | 2006-01-23 | 2007-11-01 | 삼성전자주식회사 | 방향 보간 방법 및 그 장치와, 그 보간 방법이 적용된부호화 및 복호화 방법과 그 장치 및 복호화 장치 |
JP2007228096A (ja) | 2006-02-21 | 2007-09-06 | Victor Co Of Japan Ltd | デジタル動画像記録装置及びデジタル動画像記録方法 |
KR20060027842A (ko) | 2006-02-24 | 2006-03-28 | 삼성전자주식회사 | 4×4인트라 휘도 예측 모드 결정방법 및 장치 |
JP4763549B2 (ja) | 2006-08-18 | 2011-08-31 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、画像符号化装置、及び画像復号化装置 |
US7912302B2 (en) | 2006-09-21 | 2011-03-22 | Analog Devices, Inc. | Multiprocessor decoder system and method |
FR2908949A1 (fr) | 2006-11-16 | 2008-05-23 | Thomson Licensing Sas | Procede de transcodage de donnees du standard mpeg2 a un standard mpeg4. |
CN101193305B (zh) * | 2006-11-21 | 2010-05-12 | 安凯(广州)微电子技术有限公司 | 用于视频编解码芯片中帧内预测的数据存储和交换方法 |
US8233537B2 (en) | 2007-03-19 | 2012-07-31 | Texas Instruments Incorporated | Efficient implementation of H.264 4 by 4 intra prediction on a VLIW processor |
KR101362757B1 (ko) * | 2007-06-11 | 2014-02-14 | 삼성전자주식회사 | 인터 컬러 보상을 이용한 영상의 부호화 방법 및 장치,복호화 방법 및 장치 |
KR101579394B1 (ko) * | 2007-10-16 | 2015-12-21 | 톰슨 라이센싱 | 기하학적으로 분할된 수퍼 블록들의 비디오 인코딩 및 디코딩 방법 및 장치 |
CN101217669A (zh) * | 2008-01-15 | 2008-07-09 | 北京中星微电子有限公司 | 帧内预测方法及装置 |
EP2081386A1 (en) | 2008-01-18 | 2009-07-22 | Panasonic Corporation | High precision edge prediction for intracoding |
JP5111127B2 (ja) | 2008-01-22 | 2012-12-26 | キヤノン株式会社 | 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム |
CN101500161B (zh) | 2008-01-31 | 2012-03-21 | 华为技术有限公司 | 基于自适应块变换的帧内预测方法及装置 |
KR101394209B1 (ko) | 2008-02-13 | 2014-05-15 | 삼성전자주식회사 | 영상의 인트라 예측 부호화 방법 |
TWI359617B (en) * | 2008-07-03 | 2012-03-01 | Univ Nat Taiwan | Low-complexity and high-quality error concealment |
US8666189B2 (en) * | 2008-08-05 | 2014-03-04 | Aptina Imaging Corporation | Methods and apparatus for flat region image filtering |
KR20110017719A (ko) * | 2009-08-14 | 2011-02-22 | 삼성전자주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
KR101452860B1 (ko) | 2009-08-17 | 2014-10-23 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
EP2747436A1 (en) | 2010-07-15 | 2014-06-25 | Kabushiki Kaisha Toshiba | Image decoding method using transform matrices |
KR101530284B1 (ko) | 2010-07-16 | 2015-06-19 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
US20120236936A1 (en) * | 2011-03-14 | 2012-09-20 | Segall Christopher A | Video coding based on edge determination |
TWI516994B (zh) | 2011-03-15 | 2016-01-11 | 晨星半導體股份有限公司 | 多指觸控方法與相關裝置 |
-
2009
- 2009-08-17 KR KR1020090075854A patent/KR101452860B1/ko active IP Right Grant
-
2010
- 2010-08-17 CN CN201310096270.2A patent/CN103179403B/zh active Active
- 2010-08-17 EP EP15168611.0A patent/EP2928188A1/en not_active Ceased
- 2010-08-17 EP EP17190565.6A patent/EP3288262B1/en active Active
- 2010-08-17 CA CA2823882A patent/CA2823882C/en active Active
- 2010-08-17 MY MYPI2015001391A patent/MY174665A/en unknown
- 2010-08-17 AU AU2010285491A patent/AU2010285491B2/en active Active
- 2010-08-17 PT PT17190565T patent/PT3288262T/pt unknown
- 2010-08-17 RU RU2012105475/08A patent/RU2493671C1/ru active
- 2010-08-17 BR BR122013020184-0A patent/BR122013020184A2/pt not_active Application Discontinuation
- 2010-08-17 BR BR112012003430-8A patent/BR112012003430A2/pt not_active Application Discontinuation
- 2010-08-17 CN CN201510075249.3A patent/CN104702948B/zh active Active
- 2010-08-17 HU HUE20218006A patent/HUE062768T2/hu unknown
- 2010-08-17 EP EP13185327.7A patent/EP2677748A3/en not_active Ceased
- 2010-08-17 CA CA2823808A patent/CA2823808C/en active Active
- 2010-08-17 DK DK18204758.9T patent/DK3461130T3/da active
- 2010-08-17 MY MYPI2012000238A patent/MY159946A/en unknown
- 2010-08-17 CA CA2857365A patent/CA2857365C/en active Active
- 2010-08-17 EP EP10810146.0A patent/EP2454882A4/en not_active Ceased
- 2010-08-17 CN CN201510075767.5A patent/CN104702949B/zh active Active
- 2010-08-17 PL PL20150492T patent/PL3654652T3/pl unknown
- 2010-08-17 MY MYPI2013003309A patent/MY157778A/en unknown
- 2010-08-17 LT LTEP17190565.6T patent/LT3288262T/lt unknown
- 2010-08-17 EP EP18204758.9A patent/EP3461130B1/en active Active
- 2010-08-17 RU RU2013113953/08A patent/RU2513708C1/ru active
- 2010-08-17 EP EP20150492.5A patent/EP3654652B1/en active Active
- 2010-08-17 EP EP22178477.0A patent/EP4080881A1/en active Pending
- 2010-08-17 ES ES20218006T patent/ES2952572T3/es active Active
- 2010-08-17 TR TR2019/00025T patent/TR201900025T4/tr unknown
- 2010-08-17 PL PL20218006.3T patent/PL3823279T3/pl unknown
- 2010-08-17 US US12/857,682 patent/US9313502B2/en active Active
- 2010-08-17 CN CN201510075768.XA patent/CN104683799B/zh active Active
- 2010-08-17 MY MYPI2015001392A patent/MY174666A/en unknown
- 2010-08-17 EP EP15168609.4A patent/EP2928187A1/en not_active Ceased
- 2010-08-17 PL PL17190565T patent/PL3288262T3/pl unknown
- 2010-08-17 MX MX2011013033A patent/MX2011013033A/es active IP Right Grant
- 2010-08-17 EP EP13185319.4A patent/EP2677747A3/en not_active Ceased
- 2010-08-17 WO PCT/KR2010/005436 patent/WO2011021838A2/en active Application Filing
- 2010-08-17 MY MYPI2013003153A patent/MY155173A/en unknown
- 2010-08-17 HU HUE17190565A patent/HUE043983T2/hu unknown
- 2010-08-17 CN CN201310096284.4A patent/CN103152577B/zh active Active
- 2010-08-17 CA CA2857392A patent/CA2857392C/en active Active
- 2010-08-17 EP EP20218006.3A patent/EP3823279B1/en active Active
- 2010-08-17 DK DK17190565.6T patent/DK3288262T3/en active
- 2010-08-17 CN CN201080036789.6A patent/CN102484704B/zh active Active
- 2010-08-17 CA CA2770995A patent/CA2770995C/en active Active
- 2010-08-17 SI SI201031831T patent/SI3288262T1/sl unknown
- 2010-08-17 HU HUE18204758A patent/HUE051089T2/hu unknown
- 2010-08-17 PL PL18204758T patent/PL3461130T3/pl unknown
- 2010-08-17 BR BR122013020185-8A patent/BR122013020185A2/pt not_active Application Discontinuation
- 2010-08-17 ES ES20150492T patent/ES2863416T3/es active Active
- 2010-08-17 CA CA2857370A patent/CA2857370C/en active Active
- 2010-08-17 ES ES18204758T patent/ES2782101T3/es active Active
- 2010-08-17 ES ES17190565T patent/ES2706573T3/es active Active
- 2010-08-17 RU RU2013113952/08A patent/RU2514927C1/ru active
- 2010-08-17 JP JP2012525479A patent/JP5770185B2/ja active Active
- 2010-08-17 HU HUE20150492A patent/HUE053969T2/hu unknown
-
2012
- 2012-02-13 US US13/371,874 patent/US8270486B2/en not_active Expired - Fee Related
- 2012-02-16 ZA ZA2012/01156A patent/ZA201201156B/en unknown
- 2012-07-19 US US13/553,422 patent/US8446953B2/en active Active
-
2013
- 2013-05-20 US US13/897,823 patent/US9277224B2/en active Active
- 2013-07-03 ZA ZA2013/04972A patent/ZA201304972B/en unknown
- 2013-07-03 ZA ZA2013/04971A patent/ZA201304971B/en unknown
- 2013-10-09 JP JP2013211775A patent/JP2014042320A/ja active Pending
- 2013-10-09 JP JP2013211776A patent/JP2014042321A/ja active Pending
- 2013-10-17 US US14/056,551 patent/US9319686B2/en active Active
- 2013-10-17 US US14/056,605 patent/US9313503B2/en active Active
- 2013-10-18 US US14/057,199 patent/US9369715B2/en active Active
-
2014
- 2014-01-09 RU RU2014100181/08A patent/RU2603539C2/ru active
- 2014-01-09 RU RU2014100179/08A patent/RU2603543C2/ru active
- 2014-01-09 RU RU2014100169/08A patent/RU2603541C2/ru active
- 2014-01-09 RU RU2014100177/08A patent/RU2603542C2/ru active
- 2014-05-12 JP JP2014099019A patent/JP2014180027A/ja active Pending
- 2014-05-12 JP JP2014099018A patent/JP2014180026A/ja active Pending
- 2014-05-12 JP JP2014099020A patent/JP2014195290A/ja active Pending
- 2014-06-09 US US14/299,226 patent/US9392283B2/en active Active
-
2015
- 2015-01-29 JP JP2015015775A patent/JP5969066B2/ja active Active
- 2015-01-29 JP JP2015015776A patent/JP5972411B2/ja active Active
- 2015-05-14 ZA ZA2015/03355A patent/ZA201503355B/en unknown
- 2015-05-14 ZA ZA2015/03434A patent/ZA201503434B/en unknown
-
2016
- 2016-07-12 JP JP2016137203A patent/JP6276336B2/ja active Active
- 2016-07-12 JP JP2016137202A patent/JP6276335B2/ja active Active
-
2018
- 2018-01-11 JP JP2018002926A patent/JP6646078B2/ja active Active
-
2019
- 2019-01-03 HR HRP20190020TT patent/HRP20190020T1/hr unknown
- 2019-01-30 CY CY20191100134T patent/CY1121266T1/el unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR122013020184A2 (pt) | método para decodificar uma imagem | |
ES2640629T3 (es) | Modo de intra predicción determinante de unidad de codificación de imagen y unidad de decodificación de imagen | |
BR122020013768B1 (pt) | Método para codificação de imagens através de predição intra | |
TWI685251B (zh) | 對影像做畫面內預測的裝置及編碼裝置以及包括位元串流的非暫態電腦可讀取媒體 | |
BR112013016095B1 (pt) | Método de decodificar uma imagem, e método de codificar uma imagem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B03A | Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette] | ||
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B15K | Others concerning applications: alteration of classification |
Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/24 Ipc: H04N 19/105 (2014.01), H04N 19/176 (2014.01), H04N |
|
B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
B09B | Patent application refused [chapter 9.2 patent gazette] | ||
B12B | Appeal against refusal [chapter 12.2 patent gazette] |