BR122015021744B1 - Método de decodificação de imagem - Google Patents

Método de decodificação de imagem Download PDF

Info

Publication number
BR122015021744B1
BR122015021744B1 BR122015021744-0A BR122015021744A BR122015021744B1 BR 122015021744 B1 BR122015021744 B1 BR 122015021744B1 BR 122015021744 A BR122015021744 A BR 122015021744A BR 122015021744 B1 BR122015021744 B1 BR 122015021744B1
Authority
BR
Brazil
Prior art keywords
unit
encoding
units
size
prediction
Prior art date
Application number
BR122015021744-0A
Other languages
English (en)
Other versions
BR122015021744A2 (pt
Inventor
Jung-hye MIN
Woo-jin Han
Il-koo KIM
Original Assignee
Samsung Electronics Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR20090075855A external-priority patent/KR101510108B1/ko
Application filed by Samsung Electronics Co., Ltd. filed Critical Samsung Electronics Co., Ltd.
Publication of BR122015021744A2 publication Critical patent/BR122015021744A2/pt
Publication of BR122015021744B1 publication Critical patent/BR122015021744B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

MÉTODO DE DECODIFICAÇÃO DE IMAGEM. São revelados 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 realizar intra-previsão em um bloco atual a ser codificado são filtrados e intra-previsão é realizada mediante uso dos pixels vizinhos filtrados.

Description

Campo Técnico
(0001) As modalidades exemplares se referem a um método e equipamento para codificar um vídeo, e um método e equipamento para decodificar um vídeo, capaz de aperfeiçoar a eficiência de compactação de vídeo mediante realização de intra-previsão através do uso de pixels vizinhos filtrados.
Fundamentos da Técnica
(0002) Nos métodos de compactação de vídeo tais como MPEG-1, MPEG-2, MPEG-4, e Codificação Avançada de Vídeo (AVC) H.264/MPEG-4, uma imagem é dividida em macroblocos para codificar um vídeo. Após isso, cada macrobloco é codificado de acordo com todos os modos de codificação disponíveis em inter-previsão e intra-previsão, e então um modo de codificação é selecionado de acordo com uma taxa de bits exigida para codificar o macrobloco e distorção entre o macrobloco original e um macrobloco decodificado, de modo a codificar o macrobloco.
(0003) Um hardware para reproduzir e armazenar conteúdo de vídeo de alta resolução ou de alta qualidade está sendo desenvolvido, e fornecido, está aumentando a necessidade no sentido de codec de vídeo para efetivamente codificar ou decodificar o conteúdo de vídeo de alta resolução ou de alta qualidade. Em um codec de vídeo convencional, um vídeo é codificado de acordo com um modo de previsão limitado com base em um macrobloco tendo um tamanho predeterminado.
Revelação da Invenção Problema Técnico
(0004) Em um codec de video convencional, um video é codificado de acordo com um modo de previsão limitado com base em um macrobloco tendo um tamanho predeterminado.
Solução do Problema
(0005) As modalidades exemplares proporcionam um método e um equipamento para codificar um video, e um método e equipamento para decodificar um video, capaz de aperfeiçoar a eficiência de compactação de video mediante filtração de pixels vizinhos de um bloco atual e realizando intra- previsão no bloco atual mediante uso dos pixels vizinhos filtrados.
Efeitos Vantajosos da Invenção
(0006) De acordo com a presente invenção, a eficiência de codificação pode ser aperfeiçoada.
Breve Descrição dos Desenhos
(0007) A Figura 1 é um diagrama de blocos de um equipamento para codificar um video, de acordo com uma modalidade exemplar.
(0008) A Figura 2 é um diagrama de blocos de um equipamento para decodificar um video, de acordo com uma modalidade exemplar.
(0009) A Figura 3 é um diagrama para descrever um conceito de unidade de codificação de acordo com uma modalidade exemplar.
(0010) 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.
(0011) A Figura 5 é um diagrama de blocos de um decodificador de imagem baseado em unidades de codificação de acordo com uma modalidade exemplar.
(0012) A Figura 6 é um diagrama ilustrando unidades de codificação mais profunda de acordo com as profundidades, e partições de acordo com uma modalidade exemplar.
(0013) A Figura 7 é um diagrama para descrever uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma modalidade exemplar.
(0014) A Figura 8 é um diagrama para descrever a informação de codificação das unidades de codificação correspondendo a uma profundidade codificada, de acordo com uma modalidade exemplar.
(0015) A Figura 9 é um diagrama de unidades de codificação mais profunda de acordo com as profundidades, de acordo com uma modalidade exemplar.
(0016) As Figuras 10 a 12 são diagramas para descrever uma relação entre as unidades de codificação, unidades de previsão, e unidades de transformação, de acordo com uma modalidade exemplar.
(0017) A Figura 13 é um diagrama para descrever 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 informação de modo de codificação da tabela 1.
(0018) A Figura 14 é um diagrama de blocos de um equipamento de intra-previsão de acordo com uma modalidade exemplar.
(0019) A Figura 15 é uma tabela mostrando os números de modos de intra-previsão de acordo com os tamanhos das unidades de codificação, de acordo com uma modalidade exemplar.
(0020) As Figuras 16A a 16C ilustram modos de intra- previsão aplicados a uma unidade de codificação que tem um tamanho predeterminado, de acordo com uma modalidade exemplar.
(0021) A Figura 17 ilustra modos de intra-previsão aplicados a uma unidade de codificação que tem um tamanho predeterminado, de acordo com outra modalidade exemplar.
(0022) As Figuras 18A a 18C são diagramas para descrever modos de intra-previsão que tem várias diretividades, de acordo com uma modalidade exemplar.
(0023) A Figura 19 é um diagrama ilustrando uma unidade de codificação atual e pixels vizinhos a serem filtrados, de acordo com uma modalidade exemplar.
(0024) A Figura 20 é um diagrama para descrever um processo de filtração de pixels vizinhos, de acordo com uma modalidade exemplar.
(0025) A Figura 21 é um fluxograma ilustrando um método de codificação de video de acordo com uma modalidade exemplar; e
(0026) A Figura 22 é um fluxograma ilustrando um método de decodificação de video de acordo com uma modalidade exemplar.
Melhor Modo para Realização da Invenção
(0027) De acordo com um aspecto de uma modalidade exemplar é provido um método de codificação de video incluindo a filtração de pixels vizinhos de um bloco atual a ser codificado de modo a gerar pixels vizinhos filtrados; selecionar os pixels vizinhos filtrados ou os pixels vizinhos originais como pixels de referência para serem usados para realizar intra-previsão no bloco atual; e realizar intra-previsão no bloco atual mediante uso dos pixels de referência selecionados.
(0028) De acordo com outro aspecto da modalidade exemplar, é provido um método de decodificação de video incluindo a filtração de pixels vizinhos de um bloco atual a ser decodificado de modo a gerar pixels vizinhos filtrados; extrair informação sobre um modo de intra- previsão aplicado ao bloco atual a partir de um fluxo de bits; selecionar os pixels vizinhos filtrados ou os pixels vizinhos originais como pixels de referência para serem usados para realizar intra-previsão no bloco atual; e realizar intra-previsão no bloco atual utilizando a informação extraida sobre o modo de intra-previsão e os pixels de referência selecionados.
(0029) De acordo com outro aspecto de uma modalidade exemplar, é provido um equipamento de codificação de video incluindo uma unidade de filtração de pixels vizinhos para filtração dos pixels vizinhos de um bloco atual a ser codificado de modo a gerar pixels vizinhos filtrados; uma unidade de determinação de pixels de referência para selecionar os pixels vizinhos filtrados ou os pixels vizinhos originais como pixels de referência a serem usados para realizar intra-previsão no bloco atual; e uma unidade de realização de intra-previsão para realizar intra- previsão no bloco atual mediante uso dos pixels de referência selecionados.
(0030) De acordo com outro aspecto de uma modalidade exemplar, é provido um equipamento de decodificação de video incluindo uma unidade de filtração de pixels vizinhos para filtração dos pixels vizinhos de um bloco atual a ser decodificado de modo a gerar pixels vizinhos filtrados; um decodificador de entropia para extrair informação sobre um modo de intra-previsão aplicado ao bloco atual a partir de um fluxo de bits; uma unidade de determinação de pixels de referência para selecionar os pixels vizinhos filtrados ou os pixels vizinhos originais como pixels de referência para serem usados para realizar intra-previsão no bloco atual; e uma unidade de realização de intra-previsão para realizar intra-previsão no bloco atual mediante uso da informação extraida sobre o modo de intra-previsão e os pixels de referência selecionados.
Modo para a Invenção
(0031) Em seguida, as modalidades exemplares serão descritas mais completamente com referência aos desenhos anexos, nos quais modalidades exemplares são mostradas. Nas modalidades exemplares, unidade pode ou não se referir a uma unidade de tamanho, dependendo de seu contexto. No presente relatório descritivo, uma imagem pode denotar uma imagem estática para um video ou uma imagem em movimento, isto é, o próprio video.
(0032) Em seguida, uma "unidade de codificação" é uma unidade de dados de codificação na qual os dados de imagem são codificados pelo lado de um codificador e uma unidade de dados codificados na qual os dados de imagem codificados são decodificados pelo lado do decodificador, de acordo com modalidades exemplares. Além disso, uma profundidade codificada significa uma profundidade onde uma unidade de codificação é codificada.
(0033) Em primeiro lugar, um método e equipamento para codificar video e um método e equipamento para decodificar video, de acordo com uma modalidade exemplar, serão descritos com referência às Figuras 1 a 13.
(0034) A Figura 1 é um diagrama de blocos de um equipamento de codificação de video 100, de acordo com uma modalidade exemplar.
(0035) 0 equipamento de codificação de video 100 inclui um divisor de unidade de codificação máxima 110, um determinador de unidade de codificação 120, e uma unidade de saida 130.
(0036) 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 o quadro atual de uma imagem. O quadro atual é maior do que a unidade de codificação máxima, os dados de imagem do quadro atual podem ser divididos na 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 32x32, 64x64, 128x128, 256x256, etc., em que um formato da unidade de dados é um quadrado tendo uma largura e altura em quadrados de 2. Os dados de imagem podem ser emitidos para o determinador de unidade de codificação 120 de acordo com pelo menos uma unidade de codificação máxima.
(0037) 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 em que a unidade de codificação é dividida espacialmente a partir da unidade de codificação máxima e, à medida que a profundidade é aprofundada ou aumentada, 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 minima. Uma profundidade da unidade de codificação máxima é uma profundidade mais elevada e uma profundidade da unidade de codificação minima é uma profundidade mais baixa. Como o tamanho de uma unidade de codificação correspondendo a cada profundidade diminui à medida que a profundidade da unidade de codificação máxima é aprofundada, uma unidade de codificação correspondendo a uma profundidade superior pode incluir uma pluralidade de unidades de codificação correspondendo às profundidades inferiores.
(0038) Conforme descrito acima, os dados de imagem do quadro atual são divididos nas unidades de codificação máxima de acordo com um tamanho máximo da unidade de codificação, e cada uma das unidades de codificação máxima pode incluir unidades de codificação mais profunda que são divididas de acordo com as profundidades. Como 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 dominio espacial incluido na unidade de codificação máxima podem ser classificados de forma hierárquica de acordo com as profundidades.
(0039) A profundidade máxima e um tamanho máximo de uma unidade de codificação, que limitam o número total de vezes em que a altura e uma largura da unidade de codificação máxima são divididas de forma hierárquica, podem ser predeterminados.
(0040) 0 determinador de unidade de codificação 120 codifica pelo menos uma região dividida obtida mediante divisão de uma região da unidade de codificação máxima de acordo com as profundidades, e determina uma profundidade para emitir os dados de imagem finalmente codificados de acordo com a pelo menos uma região dividida. Em outras palavras, o determinador de unidade de codificação 120 determina uma profundidade codificada mediante codificação dos dados de imagem nas unidades de codificação mais profundas de acordo com as profundidades, em conformidade com a unidade de codificação máxima do quadro atual, e seleciona uma profundidade tendo o menor erro de codificação. Assim, os dados de imagem codificados da unidade de codificação correspondendo à profundidade codificada determinada são finalmente produzidos. Além disso, as unidades de codificação correspondendo à profundidade codificada podem ser consideradas como unidades de codificação codificadas.
(0041) A profundidade codificada determinada e os dados de imagem codificados de acordo com a profundidade codificada determinada são emitidos para a unidade de saida 130.
(0042) Os dados de imagem na unidade de codificação máxima são codificados com base nas unidades de codificação mais profundas correspondendo a pelo menos uma profundidade igual ou abaixo da profundidade máxima, e os resultados da codificação dos dados de imagem são comparados com base em cada uma das unidades de codificação mais profundas. Uma profundidade tendo o menor erro de codificação pode ser selecionada após comparar os erros de codificação das unidades de codificação mais profunda. Pelo menos uma profundidade codificada pode ser selecionada para cada unidade de codificação máxima.
(0043) 0 tamanho da unidade de codificação máxima é dividido uma vez que uma unidade de codificação é dividida hierarquicamente de acordo com as profundidades, e à medida que aumenta o número de unidades de codificação. Além disso, mesmo se as unidades de codificação corresponderem à mesma profundidade em uma unidade de codificação máxima, é determinado se divide cada uma das unidades de codificação correspondendo à mesma profundidade para uma profundidade inferior mediante diminuição de um erro de codificação dos dados de imagem de cada unidade de codificação, separadamente. Consequentemente, mesmo quando os dados de imagem são incluidos em uma unidade de codificação máxima, os dados de imagem são divididos em regiões de acordo com as profundidades e os erros de codificação podem diferir de acordo com as regiões naquela unidade de codificação máxima, e assim as profundidades codificadas podem diferir de acordo com as regiões nos dados de imagem. Assim, uma ou mais profundidades codificadas podem ser determinadas em uma unidade de codificação máxima, e os dados de imagem da unidade de codificação máxima podem ser divididos de acordo com as unidades de codificação de pelo menos uma profundidade codificada.
(0044) Consequentemente, o determinador de unidade de codificação 120 pode determinar as unidades de codificação que têm uma estrutura de árvore incluida 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 codificada, a partir de todas as unidades de codificação mais profundas incluidas na unidade de codificação máxima. Uma unidade de codificação de uma profundidade codificada pode ser determinada hierarquicamente de acordo com as profundidades na mesma região da unidade de codificação máxima, e pode ser determinada de forma independente em diferentes regiões. Similarmente, uma profundidade codificada em uma região atual pode ser determinada independentemente de uma profundidade codificada em outra região.
(0045) Uma profundidade máxima de acordo com uma modalidade exemplar é um indice relacionado ao número de vezes de divisão a partir de uma unidade de codificação máxima para uma unidade de codificação mínima. Uma primeira profundidade máxima de acordo com uma modalidade exemplar pode denotar o número total de vezes de divisão a partir da unidade de codificação máxima para a unidade de codificação mínima. Uma segunda profundidade máxima de acordo com uma 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 a profundidade da unidade de codificação máxima é zero, 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; na qual a unidade de codificação máxima é dividida duas vezes; pode ser ajustada para 2. Aqui, se a unidade de codificação mínima for uma unidade de codificação na qual a unidade de codificação máxima é dividida quatro vezes, existem 5 niveis de profundidade, de profundidade 0, 1, 2, 3 e 4, e assim a primeira profundidade máxima pode ser ajustada para 4, e a segunda profundidade máxima pode ser ajustada para 5.
(0046) A codificação de previsão e a transformação podem ser realizadas de acordo com a unidade de codificação máxima. A codificação de previsã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 a, 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 um método de transformação ortogonal ou transformação de número inteiro.
(0047) Como o número de unidades de codificação mais profunda aumenta sempre que a unidade de codificação máxima for dividida de acordo com as profundidades; codificação incluindo a codificação de previsão e a transformação é realizada em todas as unidades e codificação mais profunda geradas à medida que é aprofundada a profundidade. Para conveniência de descrição, a codificação de previsã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.
(0048) O equipamento de codificação de video 100 pode selecionar de forma variável um tamanho ou formato de uma unidade de dados para codificar os dados de imagem. Para codificar os dados de imagem, operações tais como codificação de previsão, transformação, e codificação de entropia, são realizadas e nesse momento, a mesma unidade de dados pode ser usada para todas as operações ou diferentes unidades de dados podem ser usadas para cada operação.
(0049) Por exemplo, o equipamento de codificação de video 100 pode selecionar não apenas uma unidade de codificação para codificar a imagem, mas também uma unidade de dados diferente da unidade de codificação de modo a realizar a codificação de previsão nos dados de imagem na unidade de codificação.
(0050) Para realizar codificação de previsão na unidade de codificação máxima, a codificação de previsão pode ser realizada com base em uma unidade de codificação correspondendo a uma profundidade codificada, isto é, com base em uma unidade de codificação que não é mais dividida em uma unidade de codificação correspondendo a uma profundidade inferior. Em seguida, a unidade de codificação que não mais é dividida e se torna uma unidade de base para codificação de previsão será referida agora como uma unidade de previsão. Uma partição obtida mediante divisão da unidade de previsão pode incluir uma unidade de previsão ou uma unidade de dados obtida mediante divisão de pelo menos uma de uma altura e uma largura da unidade de previsão.
(0051) Por exemplo, quando uma unidade de codificação de 2Nx2N (onde N é um número inteiro positivo) não é mais dividida e se torna uma unidade de previsã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 simplesmente mediante divisão de uma altura ou largura da unidade de previsão, partições obtidas mediante divisão assimétrica da altura ou largura da unidade de previsão, tal como l:n ou n:l, partições que são obtidas mediante divisão geométrica da unidade de previsão, e partições que têm formatos arbitrários.
(0052) Um modo de previsão da unidade de previsão pode ser pelo menos um de: um intra-modo, um inter-modo, e um modo de salto. Por exemplo, o intra-modo ou o inter-modo pode ser realizado na partição de 2Nx2N, 2NxN, Nx2N, ou NxN. Além disso, o modo de salto pode ser realizado apenas na partição de 2Nx2N. A codificação é realizada independentemente em uma unidade de previsão em uma unidade de codificação, desse modo selecionando um modo de previsão que tem o menor erro de codificação.
(0053) O equipamento de codificação de video 100 também pode realizar a transformação nos 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 na unidade de dados que é diferente da unidade de codificação.
(0054) Para realizar a transformação na unidade de codificação, a transformação pode ser realizada com base em uma unidade de dados que tem um tamanho menor do que ou igual ao da unidade de codificação. Por exemplo, a unidade de dados para a transformação pode incluir uma unidade de dados para um intra-modo e uma unidade de dados para um inter-modo.
(0055) Uma unidade de dados usada como uma base da transformação será agora referida como uma unidade de transformação. Uma profundidade de transformação indicando o número de vezes de divisão para atingir a unidade de transformação mediante divisão da altura e largura da unidade de codificação pode 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, dividida totalmente em 4A1 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, dividida totalmente em 4A1 unidades de transformação e o tamanho das unidades de transformação é assim de N/2xN/2. Por exemplo, a unidade de transformação pode ser ajustada de acordo com uma estrutura de árvore hierárquica, na qual 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.
(0056) Similar à unidade de codificação, a unidade de transformação na unidade de codificação pode ser dividida de forma recursiva em regiões de tamanho menor, de modo que a unidade de transformação pode ser determinada independentemente em unidades de região. 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.
(0057) Informação de codificação de acordo com as unidades de codificação correspondendo a uma profundidade codificada requer não apenas informação sobre a profundidade codificada, mas também sobre informação relacionada à codificação de previsão e transformação. Consequentemente, o determinador de unidade de codificação 120 não apenas determina uma profundidade codificada tendo um menor erro de codificação, mas também determina um tipo de partição em uma unidade de previsão, um modo de previsão de acordo com as unidades de previsão, e um tamanho de uma unidade de transformação para transformação.
(0058) Unidades de codificação de acordo com uma estrutura de árvore em uma unidade de codificação máxima e um método de determinar uma partição, de acordo com modalidades exemplares, serão descritos em detalhe posteriormente com referência às figuras 3 a 12.
(0059) O determinador de unidade de codificação 120 pode medir um erro de codificação de unidades de codificação mais profunda de acordo com as profundidades mediante uso de Otimização de Taxa-Distorção com base em multiplicadores Lagrangianos.
(0060) A unidade de saida 120 emite os dados de imagem da unidade de codificação máxima, os quais são codificados com base na menor profundidade codificada determinada pelo determinador de unidade de codificação 120, e informação sobre o modo de codificação de acordo com a profundidade codificada, em fluxos de bits.
(0061) Os dados de imagem codificados podem ser obtidos mediante codificação dos dados residuais de uma imagem.
(0062) 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 previsão, o modo de previsão, e o tamanho da unidade de transformação.
(0063) A informação sobre a profundidade codificada pode ser definida mediante uso de informação dividida 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 emitidos, e assim a informação dividida pode ser definida não para dividir a unidade de codificação atual para uma profundidade inferior. Alternativamente, se a profundidade atual da unidade de codificação atual não for a profundidade codificada, a codificação é realizada na unidade de codificação da profundidade mais baixa, e assim a informação dividida pode ser definida para dividir a unidade de codificação atual para obter as unidades de codificação da profundidade mais baixa.
(0064) Se a profundidade atual não for a profundidade codificada, a codificação é realizada na unidade de codificação que é dividida em unidade de codificação da profundidade mais baixa. Como existe pelo menos uma unidade de codificação da profundidade mais baixa em uma unidade de codificação da profundidade atual, a codificação é realizada repetidamente em cada unidade de codificação da profundidade mais baixa, e assim a codificação pode ser realizada de forma recursiva para as unidades de codificação que têm a mesma profundidade.
(0001) Como as unidades de codificação tendo uma estrutura de árvore são determinadas para uma unidade de codificação máxima, e informação sobre pelo menos um modo de codificação é determinada para uma unidade de codificação de uma profundidade codificada, 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 as localizações uma vez que os dados de imagem são divididos hierarquicamente de acordo com as profundidades, e assim a informação sobre a profundidade codificada e o modo de codificação pode ser ajustada para os dados de imagem.
(0002) Consequentemente, a unidade de saida 130 pode atribuir informação de codificação sobre uma profundidade codificada correspondente e um modo de codificação para pelo menos uma de unidade de codificação, unidade de previsão, e uma unidade minima incluida na unidade de codificação máxima.
(0003) A unidade minima de acordo com uma modalidade exemplar é uma unidade de dados retangular obtida mediante divisão por 4 da unidade de codificação minima constituindo a profundidade mais baixa. Alternativamente, a unidade minima pode ser uma unidade de dados retangular máxima que pode ser incluida em todas as unidades de codificação, unidades de previsão, unidades de partição, e unidades de transformação incluidas na unidade de codificação máxima.
(0004) Por exemplo, a informação de codificação emitida através da unidade de saida 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 previsão. A informação de codificação de acordo com as unidades de codificação pode incluir a informação sobre o modo de previsão e sobre o tamanho das partições. A informação de codificação de acordo com as unidades de previsão pode incluir informação sobre uma direção estimada de um inter-modo, sobre um indice de imagem de referência do inter-modo, sobre um vetor de movimento, sobre um componente croma de um intra-modo, e sobre um método de interpolação do intra-modo. Além disso, informação sobre um tamanho máximo da unidade de codificação definido de acordo com as ilustrações, fatias, ou GOPs, e informação sobre uma profundidade máxima podem ser inseridas em SPS (Conjunto de Parâmetros de Sequência) ou um cabeçalho de um fluxo de bits .
(0005) No equipamento de codificação de video 100, a unidade de codificação mais profunda pode ser uma unidade de codificação obtida mediante divisão de uma altura ou largura de uma unidade de codificação de uma profundidade superior, que está uma camada acima, 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 é de NxN. Além disso, a unidade de codificação da profundidade atual tendo o tamanho de 2Nx2N pode incluir no máximo 4 das unidades de codificação da profundidade inferior.
(0006) Consequentemente, o equipamento de codificação de video 100 pode formar as unidades de codificação tendo a estrutura de árvore mediante determinação das unidades de codificação tendo um tamanho ótimo 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 do quadro atual. Além disso, como a codificação pode ser realizada em cada unidade de codificação máxima mediante uso de qualquer um dos vários modos de previsã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.
(0007) Assim, se uma imagem tendo elevada resolução ou grande quantidade de dados for codificada em um macrobloco convencional, um número de macroblocos por quadro aumenta excessivamente. Consequentemente, um número de peças de informação compactada geradas para cada macrobloco aumenta, e assim é difícil transmitir a informação compactada e diminui a eficiência de compactação dos dados. Contudo, mediante uso do equipamento de codificação de video 100, a eficiência de compactação de 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 enquanto considerando um tamanho da imagem.
(0008) A Figura 2 é um diagrama de blocos de um equipamento de decodificação de video 200, de acordo com uma modalidade exemplar.
(0009) O equipamento de decodificação de video 200 inclui um receptor 210, um extrator de informação de codificação e de dados de imagem 220, e um decodificador de dados de imagem 230. Definições dos vários termos, tal como uma unidade de codificação, uma profundidade, uma unidade de previsão, uma unidade de transformação, e informação sobre vários modos de codificação, para várias operações do equipamento de decodificação de video 200 são idênticas àquelas descritas com referência à Figura 1 e ao equipamento de codificação de vídeo 100.
(0010) O receptor 210 recebe e analisa um fluxo de bits de um vídeo codificado. O extrator de informação de codificação e dados de imagem 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 emite os dados de imagem extraídos para o decodificador de dados de imagem 230. O extrator de informação de codificação e dados de imagem 220 pode extrair informação sobre um tamanho máximo de uma unidade de codificação de um quadro atual, a partir de um cabeçalho sobre o quadro atual ou SPS.
(0011) Além disso, o extrator de informação de codificação e dados de imagem 220 extrai 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 é emitida para o decodif icador de dados de imagem 230. Em outras palavras, os dados de imagem em um fluxo de bits são divididos para a unidade de codificação máxima de modo que o decodificador de dados de imagem 230 decodifica os dados de imagem para cada unidade de codificação máxima.
(0012) 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 informação sobre pelo menos uma unidade de codificação correspondendo à profundidade codificada, e informação sobre um modo de codificação pode incluir informação sobre um tipo de partição de uma unidade de codificação correspondente, correspondendo à profundidade codificada, sobre um modo de previsão, e um tamanho da unidade de transformação. Além disso, informação dividida de acordo com as profundidades pode ser extraida como a informação sobre a profundidade codificada.
(0013) A informação sobre a profundidade codificada e o modo de codificação de acordo com cada unidade de codificação máxima extraida pelos dados de imagem e extrator de informação de codificação 220 é informação sobre uma profundidade codificada e um modo de codificação determinado para gerar um erro de codificação minimo quando um codificador, tal como o equipamento de codificação de video 100, realiza repetidamente 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. Consequentemente, o equipamento de decodificação de video 200 pode restaurar uma imagem mediante 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 minimo.
(0014) Como a informação de codificação sobre a profundidade codificada e o modo de codificação pode ser atribuida a uma unidade de dados predeterminada dentre uma unidade de codificação correspondente, uma unidade de previsão, e uma unidade minima, o extrator de informação de codificação e dados de imagem 220 pode 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 as quais a mesma informação sobre a profundidade codificada e o modo de codificação é atribuída pode ser inferida como sendo a unidade de dados incluida na mesma unidade de codificação máxima.
(0015) O decodificador de dados de imagem 230 restaura o quadro atual mediante 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áxima. Em outras palavras, o decodificador de dados de imagem 230 pode decodificar os dados de imagem decodificados com base na informação extraida sobre o tipo de partição, o modo de previsão, e a unidade de transformação para cada unidade de codificação dentre as unidades de codificação que têm a estrutura de árvore incluida em cada unidade de codificação máxima. Um processo de decodificação pode incluir uma previsão incluindo intra-previsã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 número inteiro inversa.
(0016) O decodificador de dados de imagem 230 pode realizar intra-previsão ou compensação de movimento de acordo com uma partição e um modo de previsão de cada unidade de codificação, com base na informação sobre o tipo de partição e o modo de previsão da unidade de previsão da unidade de codificação de acordo com as profundidades codificadas.
(0017) Além disso, o decodificador de dados de imagem 230 pode realizar 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áxima.
(0018) O decodificador de dados de imagem 230 pode determinar pelo menos uma profundidade codificada de uma unidade de codificação máxima atual mediante uso de informação dividida de acordo com as profundidades. Se a informação dividida indicar que os dados de imagem não estão mais divididos na profundidade atual, a profundidade atual é uma profundidade codificada. Consequentemente, o decodificador de dados de imagem 230 pode decodificar os dados codificados de pelo menos uma unidade de codificação correspondendo a cada profundidade codificada na unidade de codificação máxima atual mediante uso da informação sobre o tipo de partição da unidade de previsão, o modo de previsão, e o tamanho da unidade de transformação para cada unidade de codificação correspondendo à profundidade codificada, e emitir os dados de imagem da unidade de codificação máxima atual.
(0019) Em outras palavras, as unidades de dados contendo a informação de codificação incluindo a mesma informação dividida podem ser compiladas mediante observação do conjunto de informações de codificação atribuídas para a unidade de dados predeterminada dentre a unidade de codificação, a unidade de previsão, e a unidade minima, e as unidades de dados compilados podem ser consideradas como sendo uma unidade de dados a ser decodificada pelo decodif icador de dados de imagem 230 no mesmo modo de codificação.
(0020) 0 equipamento de decodificação de video 200 pode obter informação sobre pelo menos uma unidade de codificação que gera o erro de codificação minimo quando a codificação é realizada de forma recursiva para cada unidade de codificação máxima, e pode usar a informação para decodificar a imagem atual. Em outras palavras, as unidades de codificação tendo a estrutura de árvore determinada para ser a unidade de codificação ótima em cada unidade de codificação máxima podem ser decodificadas. Além disso, o tamanho máximo da unidade de codificação é determinado considerando a resolução e uma quantidade de dados de imagem.
(0021) Consequentemente, mesmo se os dados de imagem tiverem elevada resolução e uma grande quantidade de dados, os dados de imagem podem ser decodificados eficientemente e restaurados mediante uso de um tamanho de uma unidade de codificação e de um modo de codificação, os quais são determinados de forma adaptativa de acordo com as características dos dados de imagem, mediante uso de informação sobre um modo de codificação ótimo recebido a partir de um codificador.
(0022) Um método de determinar unidades de codificação tendo uma estrutura de árvore, uma unidade de previsão, e uma unidade de transformação, de acordo com uma modalidade exemplar, será descrito agora com referência às Figuras 3 a 13.
(0023) A Figura 3 é um diagrama para descrever um conceito das unidades de codificação de acordo com uma modalidade exemplar.
(0024) Um tamanho de uma unidade de codificação pode ser expresso em largura x altura, e pode ser 64x64, 32x32, 16x16 e 8x8. Uma unidade de codificação de 64x64 pode ser dividida em partições de 64x64, 64x32, 32x64 ou 32x32, e uma unidade de codificação de 32x32 pode ser dividida em partições de 32x32, 32x16, 16x32, ou 16x16, uma unidade de codificação de 16x16 pode ser dividida em partições de 16x16, 16x8, 8x16 ou 8x8, e uma unidade de codificação de 8x8 pode ser dividida em partições de 8x8, 8x4, 4x8 ou 4x4.
(0025) Nos dados de video 310, uma resolução é de 1920x1080, um tamanho máximo de uma unidade de codificação é de 64, e uma profundidade máxima é de 2. Nos dados de video 320, uma resolução é de 1920x1080, um tamanho máximo de codificação é de 64, e uma profundidade máxima é de 3. Nos dados de video 330, uma resolução é de 352x288, um tamanho máximo de uma unidade de codificação é de 16, e uma profundidade máxima é de 1. A profundidade máxima mostrada na Figura 3 denota um número total de divisões a partir de uma unidade de codificação máxima para uma unidade de decodificação minima.
(0026) Se uma resolução for elevada ou se uma quantidade de dados for grande, um tamanho máximo de uma unidade de codificação pode ser tão grande de modo a não apenas aumentar a eficiência de codificação, mas também refletir de forma exata as características de uma imagem. Consequentemente, o tamanho máximo da unidade de codificação dos dados de video 310 e 320 tendo a resolução mais alta do que os dados de video 330 pode ser de 64.
(0027) Como a profundidade máxima dos dados de video 310 é de 2, as unidades de codificação 315 dos dados de video 310 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 64, e unidades de codificação tendo tamanhos de eixo longos de 32 e 16 uma vez que as profundidades são aprofundadas para duas camadas mediante divisão duas vezes da unidade de codificação máxima. Entretanto, como a profundidade máxima dos dados de video 330 é de 1, as unidades de codificação 335 dos dados de video 330 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 16, e unidades de codificação tendo um tamanho de eixo longo de 8 uma vez que as profundidades são aprofundadas para uma camada mediante divisão uma vez da unidade de codificação máxima.
(0028) Como a profundidade máxima dos dados de video 320 é de 3, as unidades de codificação 325 dos dados de video 320 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 64, e unidades de codificação tendo tamanhos de eixo longo de 32, 16 e 8 uma vez que as profundidades são aprofundadas para 3 camadas mediante divisão da unidade de codificação máxima três vezes. À medida que a profundidade é aprofundada, informação detalhada pode ser expressa com exatidão.
(0029) A Figura 4 é um diagrama de blocos de um codificador de imagem 400 com base nas unidades de codificação, de acordo com uma modalidade exemplar.
(0030) 0 codificador de imagem 400 realiza operações do determinador de unidade de codificação 120 do equipamento de codificação de video 100 para codificar os dados de imagem. Em outras palavras, um intra-previsor 410 realiza intra-previsão nas unidades de codificação em um intra- modo, dentre um quadro atual 405, e um estimador de movimento 420 e um compensador de movimento 425 realiza inter-estimação e compensação de movimento nas unidades de codificação em um inter-modo dentre o quadro atual 405 mediante uso do quadro atual 405, e um quadro de referência 495.
(0031) Dados emitidos a partir do intra-previsor 410, do estimador de movimento 420, e do compensador de movimento 425 são emitidos como um coeficiente de transformação quantizado através do transformador 430 e de um quantizador 440. 0 coeficiente de transformação quantizado é restaurado como dados em um dominio espacial através de um quantizador inverso 460 e um transformador inverso 470, e os dados restaurados no dominio espacial são emitidos como o quadro de referência 495 após ser pós-processado através de uma unidade de desbloqueio 480 e uma unidade de filtração de laço 490. 0 coeficiente de transformação quantizado pode ser emitido como um fluxo de bits 455 através de um codificador de entropia 450.
(0032) Para que o codificador de imagem 400 seja aplicado no equipamento de codificação de video 100, todos os elementos do codificador de imagem 400, isto é, o intra- previsor 410, o estimador de movimento 420, o compensador de movimento 425, o transformador 430, o quantizador 440, o codificador de entropia 450, o quantizador inverso 460, o transformador inverso 470, a unidade de desbloqueio 480, e a unidade de filtração de laço 490 realizam operações com base em cada unidade de codificação dentre unidades de codificação tendo uma estrutura de árvore enquanto considerando a profundidade máxima de cada unidade de codificação máxima.
(0033) Especificamente, o intra-previsor 410, o estimador de movimento 420, e o compensador de movimento 425 determinam partições e um modo de previsão de cada unidade de codificação dentre as unidades de codificação tendo uma estrutura de árvore enquanto considerando o tamanho máximo e a profundidade máxima de uma unidade de codificação máxima atual, e o transformador 430 determina o tamanho da unidade de transformação em cada unidade de codificação dentre as unidades de codificação tendo uma estrutura de árvore.
(0034) A Figura 5 é um diagrama de blocos de um decodif icador de imagem 500 com base nas unidades de codificação, de acordo com uma modalidade exemplar.
(0035) Um analisador 510 analisa os dados de imagem codificados a serem decodificados e informação sobre a codificação exigida para decodificação a partir de um fluxo de bits 505. Os dados de imagem codificados são emitidos como dados quantizados inversos através de um decodificador de entropia 520 e um quantizador inverso 530, e os dados quantizados inversos são restaurados para dados de imagem em um dominio espacial através de um transformador inverso 540.
(0036) Um intra-previsor 550 realiza intra-previsão nas unidades de codificação em um intra-modo com relação aos dados de imagem no dominio espacial, e um compensador de movimento 560 realiza compensação de movimento nas unidades de codificação em um inter-modo mediante uso de um quadro de referência 585.
(0037) Os dados de imagem no dominio espacial, os quais passaram através do intra-previsor 550 e do compensador de movimento 560, podem ser emitidos como um quadro restaurado 595 após serem pós-processados através de uma unidade de desbloqueio 570 e uma unidade de filtração de laço 580. Além disso, os dados de imagem que são pós-processados através da unidade de desbloqueio 570 e da unidade de filtração de laço 580 podem ser emitidos como o quadro de referência 585.
(0038) Para decodificar os dados de imagem no decodificador de dados de imagem 230 do equipamento de decodificação de video 200, o decodificador de imagem 500 pode realizar operações que são realizadas após o analisador 510.
(0039) Para que o decodif icador de imagem 500 seja aplicado no equipamento de decodificação de video 200, todos os elementos do decodificador de imagem 500, isto é, o analisador 510, o decodificador de entropia 520, o quantizador inverso 530, o transformador inverso 540, o intra-previsor 550, o compensador de movimento 560, a unidade de desbloqueio 570, e a unidade de filtração de laço 580 realizam operações com base nas unidades de codificação tendo uma estrutura de árvore para cada unidade de codificação máxima.
(0040) Especificamente, a intra-previsão 550 e o compensador de movimento 560 realizam operações com base nas partições e em um modo de previsão para cada uma das unidades de codificação tendo uma estrutura de árvore, e o transformador inverso 540 realiza operações com base em um tamanho de uma unidade de transformação para cada unidade de codificação.
(0041) A Figura 6 é um diagrama ilustrando unidades de codificação mais profunda de acordo com as profundidades, e partições, de acordo com uma modalidade exemplar.
(0042) O equipamento de codificação de video 100 e o equipamento de decodificação de video 200 utilizam 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 determinadas de forma adaptativa de acordo com as características da imagem, ou podem ser ajustadas de forma diferente por um usuário. Tamanhos de unidades de codificação mais profundas, de acordo com as profundidades, podem ser determinados de acordo com o tamanho máximo predeterminado da unidade de codificação.
(0043) Em uma estrutura hierárquica 600 das unidades de codificação, de acordo com uma modalidade exemplar, a altura máxima e a largura máxima das unidades de codificação são individualmente de 64, e a profundidade máxima é de 4. Como uma profundidade é aprofundada 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 individualmente divididas. Além disso, uma unidade de previsão e as partições, que são as bases para codificação de previsão de cada unidade de codificação mais profunda, são mostradas ao longo de um eixo horizontal da estrutura hierárquica 600.
(0044) 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 é de 0 e um tamanho, isto é, uma altura por largura, é de 64x64. A profundidade é aprofundada ao longo do eixo vertical, e existe uma unidade de codificação 620, tendo um tamanho de 32x32, e uma profundidade de 1; uma unidade de codificação 630, tendo um tamanho de 16x16, e uma profundidade de 2; uma unidade de codificação 640, tendo um tamanho de 8x8, e uma profundidade de 3; e uma unidade de codificação 650, tendo um tamanho de 4x4, e uma profundidade de 4. A unidade de codificação 650 tendo o tamanho de 4x4 e a profundidade de 4 é uma unidade de codificação minima.
(0045) A unidade de previsão e as partições de uma unidade de codificação são arranjadas ao longo do eixo horizontal de acordo com cada profundidade. Em outras palavras, se a unidade de codificação 610, tendo o tamanho de 64x64, e a profundidade de 0, for uma unidade de previsão, a unidade de previsão pode ser dividida em partições incluidas na unidade de codificação 610, isto é, uma partição 610 tendo um tamanho de 64x64, partições 612 tendo o tamanho de 64x32, partições 614 tendo o tamanho de 32x64, ou partições 616 tendo o tamanho de 32x32.
(0046) Similarmente, uma unidade de previsão da unidade de codificação 620 tendo o tamanho de 32x32 e a profundidade de 1 pode ser dividida em partições incluidas na unidade de codificação 620, isto é, uma partição 620 tendo um tamanho de 32x32, partições 622 tendo um tamanho de 32x16, partições 624 tendo um tamanho de 16x32, e partições 626 tendo um tamanho de 16x16.
(0047) Similarmente, uma unidade de previsão da unidade de codificação 630 tendo o tamanho de 16x16 e a profundidade de 2 pode ser dividida em partições incluídas na unidade de codificação 630, isto é, uma partição tendo um tamanho de 16x16 incluida na unidade de codificação 630, partições 632 tendo um tamanho de 16x8, partições 634 tendo um tamanho de 8x16, e partições 636 tendo um tamanho de 8x8 .
(0048) Similarmente, uma unidade de previsão da unidade de codificação 640 tendo o tamanho de 8x8 e a profundidade de 3 pode ser dividida em partições incluidas na unidade de codificação 640, isto é, uma partição tendo um tamanho de 8x8 incluida na unidade de codificação 640, partições 642 tendo um tamanho de 8x4, partições 644 tendo um tamanho de 4x8, e partições 646 tendo um tamanho de 4x4.
(0049) A unidade de codificação 650 tendo o tamanho de 4x4 e a profundidade de 4 é a unidade de codificação minima e uma unidade de codificação da profundidade mais baixa. Uma unidade de previsão da unidade de codificação 650 é designada apenas para uma partição tendo um tamanho de 4x4.
(0050) Para determinar a pelo menos uma profundidade codificada das unidades de codificação constituindo a unidade de codificação máxima 610, o determinador de unidade de codificação 120 do equipamento de codificação de video 100 realiza codificação para as unidades de codificação correspondendo a cada profundidade incluida na unidade de codificação máxima 610.
(0051) Um número de unidades de codificação mais profunda, de acordo com as profundidades incluindo dados na mesma faixa e no mesmo tamanho, aumenta à medida que é aprofundada a profundidade. Por exemplo, quatro unidades de codificação correspondendo a uma profundidade de 2 são exigidas para cobrir os dados que são incluidos em uma unidade de codificação correspondendo a uma profundidade de 1. Consequentemente, para comparar os resultados de codificação dos mesmos dados de acordo com as profundidades, a unidade de codificação correspondendo à profundidade de 1; e quatro unidades de codificação correspondendo à profundidade de 2; são individualmente codificadas.
(0052) Para realizar a codificação para uma profundidade atual entre as profundidades, um erro de codificação minimo pode ser selecionado para a profundidade atual mediante realização de codificação para cada unidade de previsão nas unidades de codificação correspondendo à profundidade atual, ao longo do eixo horizontal da estrutura hierárquica 600. Alternativamente, o erro de codificação minimo pode ser pesquisado mediante comparação dos erros de codificação minimos de acordo com as profundidades, mediante realização de codificação para cada profundidade à medida que a profundidade é aprofundada ao longo do eixo vertical da estrutura hierárquica 600. Uma profundidade e uma partição tendo o erro de codificação minimo 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.
(0053) A Figura 7 é um diagrama para descrever uma relação entre uma unidade de codificação 710 e unidades de transformação 720, de acordo com uma modalidade exemplar.
(0054) 0 equipamento de codificação de video 100 ou 200 codifica ou decodifica uma imagem de acordo com as unidades de codificação tendo tamanhos menores do que ou iguais 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 codificação podem ser selecionados com base nas unidades de dados que não são maiores do que uma unidade de codificação correspondente.
(0055) Por exemplo, no equipamento de codificação de video 100 ou 200, se um tamanho da unidade de codificação 710 é de 64x64, a transformação pode ser realizada mediante uso das unidades de transformação 720 tendo um tamanho de 32x32.
(0056) Além disso, os dados da unidade de codificação 710 tendo o tamanho de 64x64 podem ser codificados mediante realização da transformação em cada uma das unidades de transformação tendo o tamanho de 32x32, 16x16, 8x8, e 4x4, que são menores do que 64x64, e então uma unidade de transformação tendo o erro de codificação minimo pode ser selecionada.
(0057) A Figura 8 é um diagrama para descrever informação de codificação das unidades de codificação correspondendo a uma profundidade codificada, de acordo com uma modalidade exemplar.
(0058) A unidade de saída 130 do equipamento de codificação de vídeo 100 pode codificar e transmitir informação 800 sobre um tipo de partição, informação 810 sobre um modo de previsão, e informação 820 sobre um tamanho de uma unidade de transformação para cada unidade de codificação correspondendo a uma profundidade codificada, como informação sobre um modo de codificação.
(0059) A informação 800 indica informação sobre um formato de uma partição obtida mediante divisão de uma unidade de previsão de uma unidade de codificação atual, em que a partição é uma unidade de dados para codificação de previsão da unidade de codificação atual. Por exemplo, uma unidade de codificação atual CU_0 tendo um tamanho de 2Nx2N pode ser dividida em qualquer uma de uma partição 802 tendo um tamanho de 2Nx2N, uma partição 804 tendo um tamanho de 2NxN, uma partição de 806 tendo um tamanho de Nx2N, e uma partição 808 tendo um tamanho de NxN. Aqui, a informação 800 sobre um tipo de partição é estabelecida para indicar uma da partição 804 tendo um tamanho de 2NxN, a partição 806 tendo um tamanho de Nx2N, e a partição 808 tendo um tamanho de NxN.
(0060) A informação 810 indica um modo de previsão de cada partição. Por exemplo, a informação 810 pode indicar um modo de codificação de previsão realizado em uma partição indicada pela informação 800, isto é, um intra- modo 812, um inter-modo 814, ou um modo de salto 816.
(0061) A informação 820 indica uma unidade de transformação para ser baseada 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 intra-transformação 822, uma segunda unidade de intra transformação 824, uma primeira unidade de inter transformação 826, ou uma segunda unidade de intra transformação 828.
(0062) Os dados de imagem e o extrator de informação de codificação 220 do equipamento de decodificação de video 200 podem extrair e utilizar a informação 800, 810 e 820 para decodificação, de acordo com cada unidade de codificação mais profunda.
(0063) A Figura 9 é um diagrama de unidades de codificação mais profunda de acordo com as profundidades, de acordo com uma modalidade exemplar.
(0064) Informação dividida pode ser usada para indicar uma mudança de uma profundidade. A informação dividida indica se uma unidade de codificação de uma profundidade atual é dividida em unidades de codificação de uma profundidade inferior.
(0065) Uma unidade de previsão 910 para codificação de previsão de uma unidade de codificação 900 tendo uma profundidade de 0 e um tamanho de 2N_0x2N_0 pode incluir partições de um tipo de partição 912 tendo um tamanho de 2N_0x2N_0, um tipo de partição 914 tendo um tamanho de 2N_0xN_0, um tipo de partição 916 tendo um tamanho de N_0x2N_0, e um tipo de partição 918 tendo um tamanho de N_0xN_0. A Figura 9 ilustra apenas os tipos de partição 912 a 918 que são obtidos mediante divisão simétrica da unidade de previsão 910, porém um tipo de partição não é limitado a isso, e as partições da unidade de previsão 910 podem incluir partições assimétricas, partições tendo um formato predeterminado e partições tendo um formato geométrico.
(0066) A codificação de previsão é realizada de forma repetida em uma partição tendo um tamanho de 2N_0x2N_0, duas partições tendo um tamanho de 2N_0xN_0, duas partições tendo um tamanho de N_0x2N_0, e quatro partições tendo um tamanho de N_OxN_0, de acordo com cada tipo de partição. A codificação de previsão em um intra-modo e em um inter-modo pode ser realizada nas partições tendo os tamanhos de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 e N_0xN_0. A codificação de previsão em um modo de salto é realizada apenas na partição tendo o tamanho de 2N_0x2N_0.
(0067) Erros de codificação incluindo a codificação de previsão nos tipos de partição 912 a 918 são comparados, e o erro de codificação mínimo é determinado entre os tipos de partição. Se um erro de codificação for menor em um dos tipos de partição 912 a 916, a unidade de previsão 910 pode não ser dividida em uma profundidade inferior.
(0068) Se o erro de codificação for o menor no tipo de partição 918, uma profundidade é mudada de 0 para 1 para dividir o tipo de partição 918 na operação 920, e a codificação é realizada repetidamente nas unidades de codificação 930 tendo uma profundidade de 2 e um tamanho de N_0xN_O para procurar um erro de codificação mínimo.
(0069) Uma unidade de previsão 940 para codificação de previsão da unidade de codificação 930 tendo uma profundidade de 1 e um tamanho de 2N_lx2N_l (=N_0xN_0) pode incluir partições de um tipo de partição 942 tendo um tamanho de 2N_lx2N_l, um tipo de partição 944 tendo um tamanho de 2N_lxN_l, um tipo de partição 94 6 tendo um tamanho de N_lx2N_l, e um tipo de partição 94 8 tendo um tamanho de N_lxN_l.
(0070) Se um erro de codificação for o menor no tipo de partição 948, uma profundidade é mudada de 1 para 2 para dividir o tipo de partição 948 em operação 950, e a codificação é realizada repetidamente nas unidades de codificação 960, as quais têm uma profundidade de 2 e um tamanho de N_2xN_2 para procurar um erro de codificação mínimo.
(0071) 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 tornar d-1, e a informação dividida pode ser codificada até quando uma profundidade for uma de 0 a d-2. Em outras palavras, quando a codificação é realizada até quando a profundidade é d-1 após uma unidade de codificação correspondendo a uma profundidade de d-2 ser dividida na operação 970, uma unidade de previsão 990 para codificação de previsão de uma unidade de codificação 980 tendo uma profundidade de d-1 e um tamanho de 2N_(d-l)x2N_(d-l) pode incluir partições de um tipo de partição 992 tendo um tamanho de 2N_(d-1)x2N_(d- 1), um tipo de partição 994 tendo um tamanho de 2N_(d- l)xN_(d-l), um tipo de partição 996 tendo um tamanho de N_(d-1)x2N_(d-1), um tipo de partição 998 tendo um tamanho de N_(d-1)xN_(d-l).
(0072) Codificação de previsão pode ser realizada repetidamente em uma partição tendo um tamanho de 2N_(d- l)x2N_(d-l), duas partições tendo um tamanho de 2N_(d- l)xN_(d-l), duas partições tendo um tamanho de N_(d- 1)x2N_(d-1), quatro partições tendo um tamanho de N_(d- l)xN_(d-l) dentre os tipos de partição 992 a 998 para procurar um tipo de partição tendo um erro de codificação minimo.
(0073) Mesmo quando o tipo de partição 998 tem o erro de codificação minimo, como uma profundidade máxima é d, uma unidade de codificação CU_(d-l), tendo uma profundidade de d-1 não mais é dividida para uma profundidade inferior, e uma profundidade codificada para as unidades de codificação constituindo uma unidade de codificação máxima atual 900 é determinada para ser d-1 e um tipo de partição da unidade de codificação máxima atual 900 pode ser determinada para ser N_(d-1)xN_(d-1). Além disso, como a profundidade máxima é d e uma unidade de codificação minima 980 tendo a profundidade mais baixa de d-1 não mais é dividida para uma profundidade inferior, a informação dividida para a unidade de codificação minima 980 não é estabelecida.
(0074) A unidade de dados 999 pode ser uma unidade minima para a unidade de codificação máxima atual. Uma unidade minima de acordo com uma modalidade exemplar pode ser uma unidade de dados retangular obtida mediante divisão de uma unidade de codificação mínima 980 por 4. Mediante realização da codificação repetidamente, o equipamento de codificação de vídeo 100 pode selecionar uma profundidade tendo o erro de codificação mínimo mediante comparação dos erros de codificação de acordo com as profundidades da unidade de codificação 900 para determinar uma profundidade codificada, e estabelecer um tipo de partição correspondente e um modo de previsão como um modo de codificação da profundidade codificada.
(0075) Como tal, os erros de codificação mínimos de acordo com as profundidades são comparados em todas as profundidades de 1 a d, e a 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 previsão, e o modo de previsão podem ser codificados e transmitidos como informação sobre um modo de codificação. Além disso, como uma unidade de codificação é dividida a partir de uma profundidade de 0 até uma profundidade codificada, apenas a informação dividida da profundidade codificada é ajustada para 0, e a informação dividida das profundidades excluindo a profundidade codificada é ajustada para 1.
(0076) O extrator de informação de codificação e dados de imagem 220 do equipamento de decodificação de video 200 pode extrair e utilizar a informação sobre a profundidade codificada e a unidade de previsão da unidade de codificação 900 para decodificar a partição 912. O equipamento de decodificação de video 200 pode determinar uma profundidade, na qual a informação dividida é 0, como uma profundidade codificada mediante uso da informação dividida de acordo com as profundidades, e usar a informação sobre um modo de codificação da profundidade correspondente para decodificação.
(0077) As Figuras 10 a 12 são diagramas para descrever uma relação entre as unidades de codificação 1010, unidades de previsão 1060, e unidades de transformação 1070, de acordo com uma modalidade exemplar.
(0078) As unidades de codificação 1010 são unidades de codificação que têm uma estrutura de árvore, correspondendo às profundidades codificadas determinadas pelo equipamento de codificação de video 100, em uma unidade de codificação máxima. As unidades de previsão 1060 são partições das unidades de previsã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.
(0079) Quando uma profundidade de uma unidade de codificação máxima é 0 nas unidades de codificação 1010, as profundidades das unidades de codificação 1012 e 1054 são 1, as profundidades das unidades de codificação 1014, 1016, 1018, 1028, 1050, e 1052 são 2, as profundidades das unidades de decodificação 1020, 1022, 1024, 1026, 1030, 1032 e 1048 são 3, e as profundidades das unidades de codificação 1040, 1042, 1044 e 1046 são 4.
(0080) Nas unidades de previsão 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052, 1054 são obtidas mediante divisão das unidades de codificação nas unidades de codificação 1010. Em outras palavras, tipos de partição nas unidades de codificação 1014, 1022, 1050, e 1054 têm um tamanho de 2NxN, os tipos de partição nas unidades de codificação 1016, 1048 e 1052 têm um tamanho de Nx2N, e um tipo de partição da unidade de codificação 1032 tem um tamanho de NxN. As unidades de previsão e partições das unidades de codificação 1010 são menores do que ou iguais a cada unidade de codificação.
(0081) Transformação ou transformação inversa é realizada nos 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 e 1052 nas unidades de transformação 1070 são diferentes daquelas nas unidades de previsão 1060 em termos de tamanhos e formatos. Em outras palavras, os equipamentos de codificação e decodificação de video 100 e 200 podem realizar intra-previsão, estimação de movimento, compensação de movimento, transformação, e transformação inversa individualmente em uma unidade de dados na mesma unidade de codificação.
(0082) Consequentemente, a codificação é realizada de forma recursiva 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 de codificação ótima, e assim unidades de codificação que têm uma estrutura de árvore recursiva podem ser obtidas. A informação de codificação pode incluir informação dividida sobre uma unidade de codificação, informação sobre um tipo de partição, informação sobre um modo de previsão, e informação sobre um tamanho de uma unidade de transformação. A Tabela 1 mostra a informação de codificação que pode ser estabelecida pelos equipamentos de codificação e decodificação de video 100 e 200. Table 1
Figure img0001
(0083) A unidade de saida 130 do equipamento de codificação de video 100 pode emitir a informação de codificação sobre as unidades de codificação tendo uma estrutura de árvore, e o extrator de informação de codificação e dados de imagem 220 do equipamento de decodificação de video 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.
(0084) A informação dividida indica se uma unidade de codificação atual é dividida em unidades de codificação de uma profundidade inferior. Se a informação dividida de uma profundidade atual d for 0, uma profundidade, na qual uma unidade de codificação atual não mais é dividida em uma profundidade inferior, é uma profundidade codificada, e assim a informação sobre um tipo de partição, o modo de previsão, e um tamanho de uma unidade de transformação, pode ser definida para a profundidade codificada. Se a unidade de codificação atual for dividida adicionalmente de acordo com a informação dividida, a codificação é realizada independentemente em quatro unidades de codificação divididas de uma profundidade inferior.
(0085) Um modo de previsão pode ser um de: um intra- modo, um inter-modo, e um modo de salto. O intra-modo e o inter-modo 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 2Nx2N.
(0086) A informação sobre o tipo de partição pode indicar tipos de partição simétrica tendo tamanhos de 2Nx2N, 2NxN, Nx2N, e NxN, que são obtidos mediante divisão de forma simétrica de uma altura ou de uma largura de uma unidade de previsão, e tipos de partição assimétrica tendo tamanhos de 2NxnU, 2NxnD, nLx2N e nRx2N, os quais são obtidos mediante divisão de forma assimétrica da altura ou largura da unidade de previsão. Os tipos de partição assimétrica tendo os tamanhos de 2NxnU e 2NxnD podem ser obtidos respectivamente mediante divisão da altura da unidade de previsão em. 1:3 e 3:1, e os tipos de partição assimétrica tendo os tamanhos de nLx2N e nRx2N podem ser obtidos respectivamente mediante divisão da largura da unidade de previsão em 1:3 e 3:1.
(0087) O tamanho da unidade de transformação pode ser ajustado para ser de dois tipos no intra-modo e de dois tipos no inter-modo. Em outras palavras, se a informação dividida da unidade de transformação for 0, o tamanho da unidade de transformação pode ser 2Nx2N, que é o tamanho da unidade de codificação atual. Se informação dividida da unidade de transformação for 1, as unidades de transformação podem ser obtidas mediante divisão da unidade de codificação atual. Além disso, se um tipo de divisão da unidade de codificação atual tendo o tamanho de 2Nx2N for um tipo de partição assimétrica, um tamanho de uma unidade de transformação pode ser NxN, e se o tipo de partição da unidade de codificação atual for um tipo de partição assimétrica, o tamanho da unidade de transformação pode ser N/2xN/2.
(0088) A informação de codificação sobre as 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 previsão, e uma unidade minima. A unidade de codificação correspondendo à profundidade codificada pode incluir pelo menos uma de uma unidade de previsão e uma unidade minima contendo a mesma informação de codificação.
(0089) Consequentemente é determinado se as unidades de dados adjacentes são incluídas na mesma unidade de codificação correspondendo à profundidade codificada mediante comparação da informação de codificação das unidades de dados adjacentes. Além disso, uma unidade de codificação correspondente que corresponde a uma profundidade codificada é determinada mediante uso da informação de codificação de uma unidade de dados, e assim uma distribuição das profundidades codificadas em uma unidade de codificação máxima pode ser determinada.
(0090) Consequentemente, se uma unidade de codificação atual for predita com base na informação de codificação das unidades de dados adjacentes, informação de codificação das unidades de dados em unidades de codificação mais profunda adjacentes à unidade de codificação atual pode ser diretamente consultada e utilizada.
(0091) Alternativamente, se uma unidade de codificação atual for predita com base na informação de codificação das unidades de dados adjacentes, as unidades de dados adjacentes à unidade de codificação atual são procuradas utilizando-se a informação de codificação das unidades de dados, e as unidades de codificação adjacentes procuradas podem ser referidas para previsão da unidade de codificação atual.
(0092) A Figura 13 é um diagrama para descrever 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.
(0093) A unidade de codificação máxima 1300 inclui unidades de codificação 1302 1304, 1306, 1312, 1314, 1316 e 1318 de profundidades codificadas. Aqui, como a unidade de codificação 1318 é uma unidade de codificação de uma profundidade codificada, a informação dividida pode ser ajustada para 0. A informação sobre um tipo de partição da unidade de codificação 1318 tendo um tamanho de 2Nx2N pode ser ajustada para ser um de: um tipo de partição 1322 tendo um tamanho de 2Nx2N, um tipo de partição 1324 tendo um tamanho de 2NxN, um tipo de partição 1326 tendo um tamanho de Nx2N, um tipo de partição 328 tendo um tamanho de NxN, um tipo de partição 1332 tendo um tamanho de 2NxnU, um tipo de partição 1334 tendo um tamanho de 2NxnD, um tipo de partição 1336 tendo um tamanho de nLx2N, e um tipo de partição 1338 tendo um tamanho de nRx2N.
(0094) 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 2Nx2N é estabelecido se informação dividida (sinalizador de tamanho TU) de uma unidade de transformação é 0, e uma unidade de transformação 1344 tendo um tamanho de NxN é estabelecido se um sinalizador de tamanho TU for 1.
(0095) Quando o tipo de partição é estabelecido como sendo assimétrico, isto é, o tipo de partição 1332, 1334, 1336 ou 1338, uma unidade de transformação 1352 tendo um tamanho de 2Nx2N é estabelecido se um sinalizador de tamanho TU for 0, e uma unidade de transformação 1354 tendo um tamanho de N/2xN/2 é estabelecido se um sinalizador de tamanho TU for 1.
(0096) Com referência à Figura 13, o sinalizador de tamanho TU é um sinalizador tendo um valor de 0 ou 1, porém o sinalizador de tamanho TU não é limitado a 1 bit, e a unidade de transformação pode ser dividida de forma hierárquica tendo uma estrutura de árvore enquanto o sinalizador de tamanho TU aumenta a partir de 0.
(0097) Nesse caso, o tamanho de uma unidade de transformação que foi efetivamente usada pode ser expresso mediante uso de um sinalizador de tamanho TU de uma unidade de transformação, de acordo com uma modalidade exemplar, em conjunto com um tamanho máximo e um tamanho minimo da unidade de transformação. De acordo com uma modalidade exemplar, o equipamento de codificação de video 100 é capaz de codificar informação de tamanho de unidade de transformação máximo, informação de tamanho de unidade de transformação minimo, e um sinalizador de tamanho TU máximo. 0 resultado da codificação da informação de tamanho de unidade de transformação máximo, informação de tamanho de unidade de transformação minimo, e o sinalizador de tamanho TU máximo podem ser inseridos em um SPS. De acordo com uma modalidade exemplar, o equipamento de codificação de video 200 pode decodificar video mediante uso da informação de tamanho de unidade de transformação máximo, da informação de tamanho de unidade de transformação minima, e do sinalizador de tamanho TU máximo.
(0098) Por exemplo, se o tamanho de uma unidade de codificação atual for 64x64 e um tamanho de unidade de transformação máximo for 32x32, então o tamanho de uma unidade de transformação pode ser 32x32 quando um sinalizador de tamanho TU é 0, pode ser 16x16 quando o sinalizador de tamanho TU for 1, e pode ser 8x8 quando o sinalizador de tamanho TU for 2.
(0099) Como outro exemplo, se o tamanho da unidade de codificação atual for 32x32 e um tamanho de unidade de transformação minimo for 32x32, então o tamanho da unidade de transformação pode ser 32x32 quando o sinalizador de tamanho TU for 0. Aqui, o sinalizador de tamanho TU não pode ser ajustado para um valor diferente de 0, uma vez que o tamanho da unidade de transformação não pode ser menor do que 32x32.
(00100) Como outro exemplo, se o tamanho da unidade de codificação atual for 64x64 e um sinalizador de tamanho TU máximo for 1, então o sinalizador de tamanho TU pode ser 0 ou 1. Aqui, o sinalizador de tamanho TU não pode ser ajustado para um valor diferente de 0 ou 1.
(00101) Assim, se for definido que o sinalizador de tamanho TU máximo é "MaxTransformSizelndex", um tamanho de unidade de transformação minimo é "MinTransformSize", e um tamanho de unidade de transformação é "RootTuSize" quando o sinalizador de tamanho TU for 0, então um tamanho de unidade de transformação minimo atual "CurrMinTuSize" que pode ser determinado em uma unidade de codificação atual, pode ser definido pela Equação (1):
Figure img0002
(00102) Em comparação com o tamanho de unidade de transformação minimo atual "CurrMinTuSize" que pode ser determinado na unidade de codificação atual, um tamanho de unidade de transformação "RootTuSize" quando o sinalizador de tamanho TU é 0, pode denotar um tamanho de unidade de transformação máximo que pode ser selecionado no sistema. Na Equação (1), "RootTuSize(2AMaxTransformSizeIndex)"denota um tamanho de unidade de transformação quando o tamanho de unidade de transformação "RootTuSize", quando o sinalizador de tamanho TU for 0, é dividido o número de vezes correspondendo ao sinalizador de tamanho TU máximo, e e "MintransformSize" denota um tamanho de transformação minimo. Assim, um valor menor dentre "RootTuSize/(2AMaxTransformSizelndex)"e "MinTransformSize" pode ser o tamanho de unidade de transformação minimo atual "CurrMinTuSize" que pode ser determinado na unidade de codificação atual.
(00103) De acordo com uma modalidade exemplar, o tamanho de unidade de transformação máximo RootTuSize pode variar de acordo com o tipo de modo de previsão.
(00104) Por exemplo, se um modo de previsão atual for um inter-modo, então RootTuSize pode ser determinado mediante uso da Equação (2) abaixo. Na Equação (2), "MaxTransformSize" denota um tamanho de unidade de transformação máximo, e "PUSize" denota um tamanho de unidade de previsão atual. RootTuSize = min(MaxTransformSize, PUSize) .... (2)
(00105) Isto é, se o modo de previsão atual for o inter- modo, o tamanho de unidade de transformação "RootTuSize" quando o sinalizador de tamanho TU for 0, pode ser um valor menor entre o tamanho de unidade de transformação máximo e o tamanho de unidade de previsão atual.
(00106) Se um modo de previsão de uma unidade de partição atual for um intra-modo, "RootTuSize" pode ser determinado mediante uso da Equação (3) abaixo. Na Equação (3), "Partitionsize"denota o tamanho da unidade de partição atual.
Figure img0003
(00107) Isto é, se o modo de previsão atual for o intra- modo, o tamanho de unidade de transformação "RootTuSize"quando o sinalizador de tamanho TO for 0 pode ser urn valor menor entre o tamanho de unidade de transformação máximo e o tamanho da unidade de partição atual.
(00108) Contudo, o tamanho de unidade de transformação máximo atual "RootTuSize" que varia de acordo com o tipo de um modo de previsão em uma unidade de partição é apenas um exemplo e não é limitado a isso.
(00109) Intra-previsão realizada pela unidade de intra- previsão 410 do equipamento de codificação de video 100 ilustrado na Figura 4 e a unidade de intra-previsão 550 do equipamento de decodificação de video 200 ilustrado na Figura 5 serão descritas agora em detalhe. Na descrição seguinte, uma unidade de codificação denota um bloco codificado atual em um processo de codificação de uma imagem, e uma unidade de decodificação denota um bloco decodificado atual em um processo de decodificação de uma imagem. A unidade de codificação e a unidade de decodificação são diferentes apenas em que a unidade de codificação é usada no processo de codificação e a unidade de decodificação é usada na decodificação. Para consistência dos termos, exceto para um caso especifico, 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 de decodificação. Além disso, a unidade de codificação pode ser unidade de previsão, partição de previsão e bloco. Além disso, aqueles de conhecimento comum na técnica entenderiam por intermédio do relatório descritivo presente, que um método de intra- previsão e equipamento de acordo com uma modalidade exemplar também podem ser aplicados para realizar intra- previsão em um codec de video comum.
(00110) A Figura 14 é um diagrama de blocos de um equipamento de intra-previsão 1200 de acordo com uma modalidade exemplar.
(00111) Com referência à Figura 14, o equipamento de intra-previsão 1200 inclui uma unidade de filtração de pixels vizinhos 1210, uma unidade de determinação de pixels de referência 1220, e uma unidade de realização de intra- previsão 1230.
(00112) A unidade de filtração de pixels vizinhos 1210 filtra os pixels vizinhos usados para realizar intra- previsão em uma unidade de codificação atual a ser codificada de modo a gerar pixels vizinhos filtrados. A filtração dos pixels vizinhos será descrita agora com referência às Figuras 19 e 20.
(00113) A Figura 19 é um diagrama ilustrando uma unidade de codificação atual 1700 e pixels vizinhos 1710 e 1720 a serem filtrados, de acordo com uma modalidade exemplar.
(00114) Com referência à Figura 19, a unidade de filtração de pixels vizinhos 1210 filtra X pixels vizinhos 1710 em um lado superior da unidade de codificação atual 1700 e Y pixels vizinhos 1720 em um lado esquerdo da unidade de codificação atual 1700 pelo menos uma vez de modo a gerar pixels vizinhos filtrados. Aqui, se a unidade de codificação atual 1700 tem um tamanho de NxN, a unidade de filtragem de pixels vizinhos 1210 pode filtrar 4N pixels vizinhos tal como 2N pixels vizinhos 1710 no lado superior da unidade de codificação atual 1700 e 2N pixels vizinhos 1720 no lado esquerdo da unidade de codificação atual 1700. Isto é, X = 2N e Y = 2N. 0 número dos pixels vizinhos 1710 e 1720 filtrados pela unidade de filtração de pixels vizinhos 1210 não é limitado a isso e pode ser mudado em consideração da diretividade de um modo de intra-previsão aplicado à unidade de codificação atual 1700.
(00115) Além disso, na Figura 19, se X + Y pixels vizinhos originais 1710 e 1720 nos lados superior e esquerdo da unidade de codificação atual 1700 forem representados por ContextOrg[n] (onde n é um número inteiro a partir de 0 a X+Y-l), e um pixel vizinho mais baixo dos Y pixels vizinhos 1720 tiveram um valor de n = 0, isto é, ContextOrg[0], um pixel vizinho mais à direita dos X pixels vizinhos 1710 tem um valor de n=X+Y-l, isto é, ContextOrg[X + Y-l].
(00116) A Figura 20 é um diagrama para descrever um processo de filtração de pixels vizinhos, de acordo com uma modalidade exemplar.
(00117) Com referência à Figura 20, se 4N pixels vizinhos originais nos lados superior e esquerdo de uma unidade de codificação atual tendo um número seis de NxN forem representados por ContextOrg[n] (onde n é um número inteiro de 0 a 4N-1), a unidade de filtração de pixels vizinhos 1210 filtra os pixels vizinhos originais mediante cálculo dos valores médios ponderados entre os pixels vizinhos originais de modo a gerar primeiros pixels vizinhos filtrados ContextFilteredl[n]. Por exemplo, a unidade de filtração de pixels vizinhos 1210 gera os primeiros pixels vizinhos filtrados mediante aplicação de um filtro de 3- derivações para os pixels vizinhos originais ContextOrg[n] conforme representado pela Equação (4).
Figure img0004
(00118) Com referência à Equação (4), a unidade de filtração de pixels vizinhos 1210 calcula um valor médio ponderado de um pixel vizinho ContextOrg[n] para ser atualmente filtrado dentre os pixels vizinhos originais e pixels vizinhos ContextOrg[n-1] e ContextOrg[n+1] localizados nos lados, esquerdo e direito, do pixel vizinho ContextOrg[n] de modo a gerar um primeiro pixel vizinho filtrado. Os pixels vizinhos filtrados mais externos dentre os primeiros pixels vizinhos filtrados têm valores dos pixels vizinhos originais. Isto é, ContextFilteredl[0] = ContextOrg[0] e ContextFilteredl[4N-1] - ContextOrg [4N-1].
(00119) Similarmente, a unidade de filtração de pixels vizinhos 1210 pode calcular valores médios ponderados entre os primeiros pixels vizinhos filtrados ContextFilteredl[n] de modo a gerar segundos pixels vizinhos filtrados ContextFiltered2[n]. Por exemplo, a unidade de filtração de pixels vizinhos 1210 gera os segundos pixels vizinhos filtrados mediante aplicação de um filtro de 3-derivações aos primeiros pixels vizinhos filtrados ContextFilteredl[n] como representado pela Equação (5).
Figure img0005
Figure img0006
(00120) Com referência à Equação (5), a unidade de filtração de pixels vizinhos 1210 calcula um valor médio ponderado de um pixel vizinho ContextFilteredl[n] para ser atualmente filtrado dentre os primeiros pixels vizinhos filtrados e pixels vizinhos ContextFilteredl[n-1] e ContextFilteredl[n +1] localizados nos lados esquerdo e direito dos pixels vizinhos ContextFilteredl[n] de modo a gerar um segundo pixel vizinho filtrado. Os pixels vizinhos filtrados mais externos dentre os segundos pixels vizinhos filtrados têm valores dos primeiros pixels vizinhos. Isto é, ContextFiltered2[0] = ContextFilteredl[0] e ContextFiltered2[4N-1] = ContextFilteredl[4N-1]. 0 processo de filtração de pixels vizinhos, descrito acima pode ser repetido mais do que duas vezes. Além disso, o número de derivações de um filtro para filtração de pixels vizinhos não é limitado a três, conforme descrito acima, e pode ser alterado de modo variável. Além disso, pode-se empregar de forma adaptativa o número de derivações de um filtro e o coeficiente do filtro para filtração de pixels vizinhos.
(00121) A unidade de determinação de pixels de referência 1220 determina os pixels vizinhos filtrados ou os pixels vizinhos originais como referência a serem usados para realizar intra-previsão na unidade de codificação atual. Em mais detalhe, a unidade de determinação de pixel de referência 1220 seleciona os pixels vizinhos originais, os primeiros pixels vizinhos filtrados, ou os segundos pixels vizinhos filtrados como os pixels de referência de acordo com o tamanho da unidade de codificação atual e o tipo de um modo de intra-previsão a ser realizado atualmente. Por exemplo, se um indice de referência de um modo de previsão utilizando os pixels vizinhos originais for 0; um indice de referência de um modo de previsão usando os primeiros pixels vizinhos filtrados for 1; e um indice de referência de um modo de previsão usando os segundos pixels vizinhos filtrados for 2, a unidade de determinação de pixels de referência 1220 pode determinar o tipo de pixels vizinhos a serem usados para realizar intra-previsão de acordo com o tamanho da unidade de codificação atual e o tipo de um modo de intra-previsão a ser atualmente realizado, conforme mostrado na Tabela 2. Tabela 2
Figure img0007
Figure img0008
(00122) Com referência à Tabela 2, por exemplo, se a unidade de codificação atual tiver um tamanho de 32x32 e intra-previsão for realizada mediante uso do modo de intra- previsão 4, um indice de referência é 0 e, assim, a unidade de determinação de pixel de referência 1220 determina os pixels vizinhos originais ContextOrg[n] como o pixel de referência a ser usado para realizar intra-previsão na unidade de codificação atual. Os modos de intra-previsão na Tabela 2 representam os modos de intra-previsão mostrados na Tabela 3. Além disso, na Tabela 2 representa que um modo de intra-previsão para um tamanho correspondente de uma unidade de codificação não é definido. A Tabela 2 se baseia nos modos de intra-previsão mostrados na Tabela 3, e é mostrada de forma exemplar. Ao contrário da Tabela 3, desde que modos de intra-previsão diferentes sejam estabelecidos de acordo com os tamanhos das unidades de codificação, os índices de referência na Tabela 2 podem ser estabelecidos de forma diferente.
(00123) Com referência de volta à Figura 14, se a unidade de determinação de pixels de referência 1220 determinar pixels de referência a serem usados para realizar intra- previsão na unidade de codificação atual dentre os pixels vizinhos originais e os pixels vizinhos filtrados, a unidade de realização de intra-previsão 1230 realiza intra- previsão mediante uso dos pixels de referência determinados de acordo com um modo de intra-previsão que é disponível de acordo com o tamanho da unidade de codificação atual, de modo a gerar uma unidade de codificação de previsão.
(00124) A Figura 15 é uma tabela mostrando os números dos modos de intra-previsão de acordo com os tamanhos das unidades de codificação, de acordo com uma modalidade exemplar.
(00125) De acordo com uma modalidade exemplar, o número de modos de intra-previsão a serem aplicados a uma unidade de codificação (uma unidade de decodificação em um processo de decodificação) pode ser estabelecido de forma variável. Por exemplo, com referência à Figura 15, se o tamanho de uma unidade de codificação na qual a intra-previsão é realizada for NxN, os números de modos de intra-previsão efetivamente realizados em unidades de codificação de tamanho 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, 128x128 podem ser estabelecidos respectivamente como 5, 9, 9, 17, 33, 5, e 5 (no Exemplo 2) . Para outro exemplo, quando um tamanho de uma unidade de codificação a ser intra-previsto for NxN, números dos modos de intra-previsão a serem efetivamente realizados nas unidades de codificação tendo tamanhos de 2x2, 4x4, 8x8, 16x16, 32x32, 64x64 e 128x128 podem ser estabelecidos para ser 3, 17, 34, 34, 34, 5 e 5. Os números de modos de intra-previsão a serem efetivamente realizados são estabelecidos de forma diferente de acordo com os tamanhos das unidades de codificação devido ao fato de que códigos extras para codificação de informação de modo de previsão diferem de acordo com os tamanhos das unidades de codificação. Em outras palavras, uma unidade de codificação pequena ocupa uma pequena porção dos dados de imagem inteira, porém pode ter um código extraordinariamente grande para transmitir informação adicional, tal como informação de modo de previsão da unidade de codificação. Consequentemente, se uma pequena unidade de codificação for codificada mediante uso de um número excessivamente grande de modos de previsão, o número de bits pode ser aumentado e, assim, a eficiência de compactação pode ser reduzida. Além disso, uma unidade de codificação grande, por exemplo, uma unidade de codificação igual ou maior do que 64x64, geralmente corresponde a uma região plana dos dados de imagem e assim a codificação da unidade de codificação grande mediante um número excessivamente grande de modos de previsão também pode reduzir a eficiência de compactação.
(00126) Assim, de acordo com uma modalidade exemplar, as unidades de codificação são aproximadamente classificadas em pelo menos três tamanhos, tal como NlxNl (onde 2=N1=4, e NI é um número inteiro) , N2xN2 (onde 8=N2=32 e N2 é um número inteiro), e N3xN3 (onde 64=N3 e N3 é um número inteiro). Se o número de modos de intra-previsão realizados nas unidades de codificação de NlxNl for Al (onde Al é um número inteiro positivo), o número de modos de intra- previsão realizados nas unidades de codificação de N2xN2 é A2 (onde A2 é um número inteiro positivo) , e o número de modos de intra-previsão realizados nas unidades de codificação de N3xN3 é A3 (onde A3 é um número inteiro positivo), os números de modos de intra-previsão realizados de acordo com os tamanhos das unidades de codificação podem ser estabelecidos para satisfazer A3=A1=A2. Isto é, se uma imagem atual for dividida em pequenas unidades de codificação, unidades de codificação média, e unidades de codificação grandes, as unidades de codificação médias podem ser estabelecidas de modo a ter o maior número de modos de previsão e as unidades de codificação pequenas e as unidades de codificação grandes podem ser estabelecidas para ter um número relativamente pequeno de modos de previsão. Os números de modos de previsão de acordo com os tamanhos das unidades de codificação na Figura 15 são mostrados exemplarmente e podem ser mudados.
(00127) A Figura 16A é uma tabela mostrando os modos de intra-previsão aplicados a uma unidade de codificação tendo um tamanho predeterminado, de acordo com uma modalidade exemplar.
(00128) Com referência às Figuras 15 e 16A, por exemplo, quando intra-previsão é realizada em uma unidade de codificação tendo um tamanho 4x4, um modo vertical (modo 0) , a unidade de codificação pode ter um modo horizontal (modo 1); um modo de corrente direta (CD) (modo 2); um modo descendente-esquerdo diagonal (modo 3); um modo descendente-direito diagonal (modo 4); um modo direito- vertical (modo 5); um modo descendente-horizontal (modo 6); um modo esquerdo-vertical (modo 7) ; e um modo horizontal- ascendente (modo 8).
(00129) A Figura 16B ilustra as direções dos modos de intra-previsão mostrados na Figura 16A. Na Figura 16B, números nas extremidades das setas representam modos de previsão correspondente às direções de previsão indicadas pelas setas. Aqui, o modo 2 é um modo CD não tendo diretividade e assim não é mostrado na Figura 16B.
(00130) A Figura 16C é um diagrama para descrever um método de realizar intra-previsão em uma unidade de codificação mediante uso dos modos de intra-previsão mostrados na Figura 16A.
(00131) Com referência à Figura 16C, uma unidade de codificação de previsão é gerada mediante realização de um modo de intra-previsão disponível determinado de acordo com o tamanho de uma unidade de codificação atual mediante uso de pixels vizinhos de A a M da unidade de codificação atual. Por exemplo, será descrita uma operação de realização de codificação de previsão em uma unidade de codificação atual tendo um tamanho de 4x4 de acordo com o modo 0, isto é, um modo vertical, mostrado na Figura 16A. Inicialmente, valores dos pixels vizinhos de A a D em um lado superior da unidade de codificação atual são preditos como valores de pixel da unidade de codificação atual. Isto é, o valor do pixel vizinho A é previsto como um valor de quatro pixels em uma primeira coluna da unidade de codificação atual, o valor do pixel vizinho B é previsto como um valor de quatro pixels em uma segunda coluna da unidade de codificação atual, o valor do pixel vizinho C é previsto como um valor de quatro pixels em uma terceira coluna da unidade de codificação atual, e o valor do pixel vizinho D é previsto como um valor de quatro pixels em uma quarta coluna da unidade de codificação atual. Após isso, os valores de pixel da unidade de codificação atual preditos mediante uso dos pixels vizinhos A a D são subtraídos a partir dos valores de pixel da unidade de codificação atual original de modo a calcular um valor de erro e então o valor de erro é codificado. Entretanto, quando os vários modos de intra-previsão são aplicados, os pixels vizinhos usados como pixels de referência podem ser pixels vizinhos originais ou pixels vizinhos filtrados, conforme descrito acima.
(00132) A Figura 17 ilustra modos de intra-previsão aplicados a uma unidade de codificação tendo um dispositivo predeterminado, de acordo com outra modalidade exemplar.
(00133) Com referência às Figuras 15 e 17, por exemplo, quando intra-previsão é realizada em uma unidade de codificação tendo um tamanho 2x2, a unidade de codificação pode ter no total cinco modos tal como um modo vertical, um modo horizontal, um modo de CD, um modo plano, e um modo para baixo-direita, diagonal.
(00134) Entretanto, se uma unidade de codificação tendo um tamanho 32x32 tiver 33 modos de intra-previsão, conforme mostrado na Figura 15, direções dos 33 modos de intra- previsão precisam ser estabelecidas. De acordo com uma modalidade exemplar, para estabelecer o modo de intra- previsão tendo várias direções além dos modos de intra- previsão ilustrados nas Figuras 16A a 16C, e 17, as direções de previsão, para selecionar pixels vizinhos usados como pixels de referência dos pixels da unidade de codificação, são estabelecidas mediante uso de (dx, dy) parâmetros. Por exemplo, se cada um dos 33 modos de previsão for definido como modo N (onde N é um número inteiro de 0 a 32), o modo 0 pode ser estabelecido como um modo vertical, o modo 1 pode ser estabelecido como um modo horizontal, o modo de 2 pode ser estabelecido como um modo DC, o modo 3 pode ser estabelecido como um modo plano, e cada um do modo de 4 ao modo 31 pode ser definido como um modo de previsão tendo uma diretividade de tan-1 (dy/dx) mediante uso (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) mostrados na Tabela 3.
Figure img0009
Tabela 3
Figure img0010
0 modo 0 é um modo vertical; o modo 1 é um modo horizontal; modo 2 é um modo CD; modo 3 é um modo plano; e o modo 32 é um modo bi-linear.
(00135) As Figuras 18A a 18C são diagramas para descrever modos de intra-previsão tendo várias diretividades, de acordo com uma modalidade exemplar.
(00136) Como descrito acima em relação à Tabela 3, os modos de intra-previsão de acordo com uma modalidade exemplar pode ter várias diretividades de tan’1 (dy/dx) mediante uso de uma pluralidade de parâmetros (dx,dy).
(00137) Com referência à Figura 18A, pixels vizinhos A e B em uma linha de extensão 160 tendo um ângulo de tan'1 (dy/dx) de acordo com valores (dx, dy) na Tabela 3 com relação a um pixel atual P em uma unidade de codificação atual a serem preditos podem ser usados como um previsor do pixel atual P. Neste caso, os pixels vizinhos usados como previsor podem ser os pixels previamente codificados e restaurados de uma unidade de codificação anterior nos lados superior e esquerdo de uma unidade de codificação atual. Além disso, se a linha de extensão 160 passa entre dois pixels vizinhos posicionados em locais de número inteiro, um dos pixels vizinhos mais próximos da linha de extensão 160 do que o outro pode ser usado como o previsor do pixel atual P.
(00138) Além disso, se a linha de extensão 160 passa entre dois pixels vizinhos posicionados em locais de número inteiro, um dos pixels vizinhos mais próximos ao pixel atual P do que o outro pode ser usado como o previsor do pixel atual P, ou um valor médio ponderado calculado considerando as distâncias a partir dos pixels vizinhos até um cruzamento da linha de extensão 160 e uma linha entre os pixels vizinhos pode ser usada como o previsor do pixel atual P.
(00139) As Figuras 18B e 18C são diagramas para descrever um processo de gerar um previsor quando a linha de extensão 160 passa entre dois pixels vizinhos posicionados em locais de número inteiro, de acordo com uma modalidade exemplar.
(00140) Com referência à Figura 18B, se a linha de extensão 160 tendo um ângulo de tan"1 (dy/dx) a ser determinada de acordo com um valor de (dx, dy) de cada modo passa entre os pixels vizinhos A 151 e B 152 posicionados em locais de número inteiro, conforme descrito acima, um dos pixels vizinhos A 151 e B 152 mais próximos da linha de extensão 160 ou um valor médio ponderado calculado considerando as distâncias a partir dos pixels vizinhos A 151 e B 152 até um cruzamento da linha de extensão 160 e uma linha entre os pixels vizinhos A 151 e B 152 pode ser usada como um previsor dos pixels atuais P. Por exemplo, se a distância entre o cruzamento e o pixel vizinho A 151 for f e a distância entre o cruzamento e o pixel vizinho B 152 for g , o previsor do pixel atual P pode ser obtido como (A*g+B*f)/(f+g) . Aqui, f e g podem ser distâncias reguladas como números inteiros. Em implementação real de software ou hardware, o previsor do pixel atual P pode ser obtido mediante realização de uma operação de desvio, tal como (g*A+f*B+2)>> 2. Conforme ilustrado na Figura 18B, se a linha de extensão 160 passa por um local 1/4 entre os pixels vizinhos A 151 e B 152, que é mais próximo do pixel vizinho A 151, o previsor do pixel atual P pode ser obtido como (3*A+B)/4. Esse valor pode ser obtido mediante realização de uma operação de desvio, tal como (3*A+B +2)» 2 considerando-se o arredondamento.
(00141) Entretanto, se a linha de extensão 160 passa entre os pixels vizinhos A 151 e B 152, a seção entre os pixels vizinhos A 151 e B 152 pode ser dividida em um número predeterminado de seções, e um valor médio ponderado calculado considerando as distâncias entre o cruzamento e os pixels vizinhos A 151 e B 152 em cada seção pode ser usado como o previsor. Por exemplo, com referência à Figura 18C, a seção entre os pixels vizinhos A 151 e B 152 é dividida em cinco seções Pl a P5, um valor médio ponderado representativo calculado considerando as distâncias entre o cruzamento e os pixels vizinhos A 151 e B 152 em cada seção pode ser determinada e pode ser usada como o previsor do pixel atual P. Em mais detalhe, se a linha de extensão 160 passa pela seção Pl, um valor do pixel vizinho A 151 pode ser determinado como o previsor do pixel atual P. Se a linha de extensão 160 passa pela seção P2, um valor médio ponderado calculado considerando as distâncias entre o centro da seção P2 e os pixels vizinhos A 151 e B 152, isto é, (3*A+l*B+2)>>2, pode ser determinado como o previsor do pixel atual P. Se a linha de extensão 160 passa pela seção P3, um valor médio ponderado calculado considerando as distâncias entre o centro da seção P3 e os pixels vizinhos A 151 e B 152, isto é, (2*A+2*B+2)>>2, pode ser determinado como o previsor do pixel atual P. Se a linha de extensão 160 passa pela seção P4, um valor médio ponderado calculado considerando as distâncias entre o centro da seção P4 e os pixels vizinhos A 151 e B 152, isto é, (l*A+3*B+2)>>2, pode ser determinado como o previsor do pixel atual P. Se a linha de extensão 160 passa pela seção P5, um valor do pixel vizinho B 152 pode ser determinado como o previsor do pixel atual P.
(00142) Também, conforme ilustrado na Figura 18A, se a linha de extensão 160 encontrar dois pixels vizinhos tal como o pixel vizinho A em um lado superior e o pixel vizinho B em um lado esquerdo, um valor médio dos pixels vizinhos A e B pode ser usado como o previsor do pixel atual P. Alternativamente, o pixel vizinho A pode ser usado se um valor de dx*dy for um número positivo, e o pixel vizinho B pode ser usado se o valor de dx*dy for um número negativo. Além disso, os pixels vizinhos usados como pixels de referência podem ser pixels vizinhos originais ou pixels vizinhos filtrados conforme descrito acima.
(00143) Os modos de intra-previsão tendo várias diretividades na Tabela 3 podem ser estabelecidos previamente pelo lado do codificador e pelo lado de um decodificador, e assim cada unidade de codificação pode transmitir os indices correspondendo apenas aos modos de intra-previsão estabelecidos.
(00144) De acordo com uma modalidade exemplar, como a codificação de previsão é realizada de acordo com os modos de intra-previsão estabelecidos de forma variável de acordo com o tamanho de uma unidade de codificação, a eficiência de compactação de uma imagem pode ser aperfeiçoada de acordo com as características da imagem.
(00145) Além disso, de acordo com uma modalidade exemplar, como os pixels vizinhos originais e os pixels vizinhos filtrados são usados seletivamente para realizar intra-previsão, a previsão pode ser realizada de forma mais variável e assim a eficiência de compactação de uma imagem pode ser aperfeiçoada.
(00146) De acordo com outra modalidade exemplar, em vez de utilizar pixels vizinhos previamente determinados de acordo com o tamanho de uma unidade de codificação atual e o tipo de modo de intra-previsão a ser realizado atualmente, a unidade de realização de intra-previsão 1230 pode realizar previsão em uma unidade de codificação atual de acordo com um modo de intra-previsão disponível mediante primeiros pixels vizinhos filtrados, e os segundos pixels vizinhos filtrados como pixels de referência, e a unidade de determinação de pixel de referência 1220 pode selecionar os pixels vizinhos que têm custos minimos como pixels de referência a serem finalmente usados para realizar intra- previsão na unidade de codificação atua.
(00147) A Figura 21 é um fluxograma ilustrando um método de codificação de video de acordo com uma modalidade exemplar.
(00148) Com referência à Figura 21, na operação de 1910, pixels vizinhos de uma unidade de codificação atual a serem codificados são filtrados para gerar pixels vizinhos filtrados. Conforme descrito acima, a unidade de filtração de pixels vizinhos 1210 filtra os pixels vizinhos nos lados, superior e esquerdo, da unidade de codificação atual, pelo menos uma vez, de modo a gerar o pixel vizinho filtrado. Aqui, uma unidade de codificação pode ser obtida mediante divisão de um quadro atual com base em uma unidade de codificação máxima que é uma unidade de codificação tendo um tamanho máximo, e uma profundidade codificada que é informação dividida hierárquica da unidade de codificação máxima.
(00149) Na operação de 1920, os pixels vizinhos filtrados ou os pixels vizinhos originais são selecionados como pixels de referência para serem usado para realizar intra- previsão na unidade de codificação atual. Conforme descrito acima, a unidade de determinação de pixel de referência 1220 pode selecionar os pixels de referência de acordo com o tamanho da unidade de codificação atual e o tipo de um modo de intra-previsão a ser atualmente realizado, conforme mostrado na Tabela 2. De acordo com outra modalidade exemplar, a unidade de determinação de pixel de referência 1220 pode comparar os custos resultantes da codificação de intra-previsão realizada mediante uso separadamente do pixel vizinho original e dos pixels vizinhos filtrados, e pode determinar que o pixel vizinho seja por fim usado para realizar a intra-previsão. Além disso, a unidade de determinação de pixel de referência 1220 pode sinalizar para indicar qual pixel vizinho é selecionado entre os pixels vizinhos originais e os pixels vizinhos filtrados para realizar intra-previsão na unidade de codificação atual. Em outras palavras, informação de modo de intra- previsão pode compreender informação de indice de referência indicando qual pixel vizinho é selecionado entre os pixels vizinhos originais e os pixels vizinhos filtrados para realizar intra-previsão na unidade de codificação atual. Quando os pixels de referência a serem usados são preestabelecidos em uma extremidade de codificação e em uma extremidade de decodificação, conforme mostrado na Tabela 2, a informação de indice de referência não precisa ser transmitida.
(00150) Na operação 1930, intra-previsão é realizada na unidade de codificação atual mediante uso dos pixels de referência selecionados. Conforme descrito acima, a unidade de realização de intra-previsão 1230 gera uma unidade de codificação de previsão mediante a realização de intra- previsão na unidade de codificação atual mediante aplicação de um modo de intra-previsão que está disponivel na unidade de codificação atual mediante uso dos pixels de referência selecionados, e emite a unidade de codificação de previsão.
(00151) A Figura 22 é um fluxograma ilustrando um método de decodificação de video de acordo com uma modalidade exemplar.
(00152) Com referência à Figura 22, na operação 2010, pixels vizinhos de uma unidade de decodificação atual a serem decodificados são filtrados para gerar pixels vizinhos filtrados.
(00153) Na operação 2020, informação sobre um modo de intra-previsão aplicado à unidade de decodificação atual é extraida a partir de fluxo de bits. A informação sobre o modo de intra-previsão pode incluir informação sobre um modo de intra-previsão aplicado à unidade de decodificação atual e informação sobre um indice representando se os pixels vizinhos originais ou os pixels vizinhos filtrados são usados como pixels de referência. Se, conforme mostrado na Tabela 1, o mesmo tipo de pixels de referência a ser usado de acordo com o modo de intra-previsão e o tamanho da unidade de decodificação atual for estabelecido pelo lado de um codificador e pelo lado de um decodif icador, a informação sobre o indice de referência não é necessariamente transmitida.
(00154) Na operação 2030, os pixels vizinhos filtrados ou os pixels vizinhos originais são selecionados como pixels de referência para serem usados para realizar intra- previsão na unidade de decodificação atual. Conforme descrito acima, se a informação sobre o indice de referência for incluida adicionalmente no fluxo de bits, os pixels de referência são selecionados de acordo com a informação extraida sobre o indice de referência. Se, como mostrado na Tabela 2, pixels de referência podem ser determinados com base no tamanho e no modo de intra- previsão da unidade de decodificação atual, os pixels vizinhos originais ou os pixels vizinhos filtrados a serem usados como os pixels de referência podem ser determinados com base no tamanho e no modo de intra-previsão da unidade de decodificação atual.
(00155) Na operação 2040, intra-previsão é realizada na unidade de decodificação atual mediante uso da informação extraida sobre o modo de intra-previsão e os pixels de referência selecionados.
(00156) A presente invenção também pode ser incorporada como código legivel por computador em um meio de gravação legivel por computador. O meio de gravação legivel por computador é qualquer dispositivo de armazenamento de dados que pode armazenar dados os quais podem ser posteriormente lidos por um sistema de computador. Exemplos do meio de gravação de legivel por computador incluem memória de leitura (ROM), memória de acesso aleatório (RAM), CD-ROMs, fitas magnéticas, disquetes, e dispositivos óticos de armazenamento de dados. O meio de gravação legivel por computador também pode ser distribuído através de sistemas de computador acoplados em rede de modo que o código legivel por computador é armazenado e executado de uma forma distribuída.
(00157) Embora a presente invenção tenha sido particularmente mostrada e descrita com referência às suas modalidades exemplares, será entendido por aqueles versados na técnica que diversas alterações em forma e detalhes podem ser feitas na mesma sem se afastar da essência e escopo da invenção conforme definidos pelas reivindicações a seguir. As modalidades exemplares devem ser consideradas apenas em um sentido descritivo e não com o propósito de limitação. Portanto, o escopo da invenção é definido não pela descrição detalhada da invenção, mas pelas reivindicações a seguir, e todas as diferenças dentro do escopo serão consideradas como incluídas na presente invenção.

Claims (5)

1. APARELHO DE DECODIFICAÇÃO DE IMAGEM, o aparelho caracterizado pelo fato de que compreende: um decodificador de entropia que extrai informações que indicam um modo de intra-previsão aplicado a um bloco atual a ser decodificado, a partir de um fluxo de bits; uma unidade de determinação de pixel de referência que determina um dos pixels vizinhos adjacentes ao bloco atual ou pixels vizinhos filtrados, filtrados dos pixels vizinhos como pixels de referência, com base no modo de intra-previsão do bloco atual; uma unidade de execução intra-previsão que realiza intra- previsão no bloco atual usando a informação extraída e os pixels de referência selecionados, em que a imagem é dividida em uma pluralidade de unidades máximas de codificação em formato quadrado, de acordo com uma informação sobre um tamanho máximo de uma unidade de codificação extraída do fluxo de bits, em que uma unidade de codificação máxima dentre a pluralidade de unidades de codificação máximas em forma quadrada é hierarquicamente dividida em uma ou mais unidades de codificação de profundidades codificadas de acordo com uma informação dividida extraída do fluxo de bits, uma ou mais unidades de codificação de profundidades codificadas têm forma quadrada, em que uma unidade de codificação de uma profundidade codificada atual, k + 1, onde k é um número inteiro, é uma das unidades de dados em forma quadrada dividida a partir de uma unidade de codificação de uma profundidade codificada menor k, em que, quando a informação de divisão indica que a unidade de codificação da profundidade codificada atual, k + 1 se divide, a unidade de codificação da profundidade codificada atual, k + 1, é dividida em unidades de codificação de uma profundidade codificada mais profunda, k + 2, em que, quando a informação dividida indica que a unidade de codificação da profundidade codificada atual, k + 1, não está mais dividida, uma ou mais unidades de previsão para decodificação de previsão são obtidas a partir da unidade de codificação da profundidade codificada atual, k + 1, e uma ou mais unidades de transformação para transformação inversa são obtidas a partir da unidade de codificação da profundidade codificada atual, k + 1, em que a uma ou mais unidades de previsão são obtidas mediante dividir igualmente uma de uma altura ou largura da unidade de codificação da profundidade codificada atual, k + 1, por 2, ou mediante dividir igualmente a altura e a largura da unidade de codificação da profundidade codificada atual, k + 1, por 2, ou mediante determinar a unidade de codificação da profundidade codificada atual, k + 1 como a uma unidade de previsão de acordo com um tipo de partição extraído do fluxo de bits, em que a uma ou mais unidades de transformação são quadradas, as unidades de transformação divididas da unidade de codificação da profundidade codificada atual têm tamanho igual e a uma ou mais unidades de transformação são obtidas de acordo com uma informação sobre o tamanho da unidade de transformação extraída a partir do fluxo de bits, o bloco atual é uma das uma ou mais unidades de previsão obtidas a partir da unidade de codificação da profundidade codificada atual, k + 1.
2. Aparelho, de acordo com a reivindicação 1, caracterizado por a unidade de determinação de pixel de referência selecionar um número predeterminado dos pixels vizinhos com base no tamanho do bloco atual e filtra o número predeterminado selecionado dos pixels vizinhos, para gerar os pixels vizinhos filtrados.
3. Aparelho, de acordo com a reivindicação 1, caracterizado por os pixels vizinhos filtrados serem obtidos usando valores médios ponderados dos pixels vizinhos.
4. Aparelho, de acordo com a reivindicação 2, caracterizado por um tamanho de um bloco atual ser NxN, e o número predeterminado de pixels vizinhos compreender 2N pixels vizinhos adjacentes a um lado superior e um lado direito superior do bloco atual e 2N pixels vizinhos adjacentes a um lado esquerdo e um lado esquerdo abaixo do bloco atual.
5. Aparelho, de acordo com a reivindicação 1, caracterizado por a unidade de execução de intra-previsão executar intra-previsão de acordo com um modo de previsão para executar intra-previsão por usar os pixels vizinhos selecionados com base em uma linha estendendo através de um pixel atual, a linha tendo um ângulo de tan-1(dy/dx), em que dx e dy são números inteiros, com relação ao pixel atual.
BR122015021744-0A 2009-08-17 2010-08-17 Método de decodificação de imagem BR122015021744B1 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2009-0075855 2009-08-17
KR20090075855A KR101510108B1 (ko) 2009-08-17 2009-08-17 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
PCT/KR2010/005437 WO2011021839A2 (en) 2009-08-17 2010-08-17 Method and apparatus for encoding video, and method and apparatus for decoding video
BR112012001687-3A BR112012001687B1 (pt) 2009-08-17 2010-08-17 Aparelho de decodificação de imagem

Publications (2)

Publication Number Publication Date
BR122015021744A2 BR122015021744A2 (pt) 2016-04-26
BR122015021744B1 true BR122015021744B1 (pt) 2021-10-19

Family

ID=

Similar Documents

Publication Publication Date Title
BR122013019723B1 (pt) Método de decodificar uma imagem
CA2770995C (en) Method and apparatus for encoding video, and method and apparatus for decoding video
BR122015021748B1 (pt) Método de decodificar dados de vídeo
BR122013019015B1 (pt) Aparelho para decodificar um vídeo
BR112012009722B1 (pt) Método de decodificar um bloco residual, e método de codificar um bloco residual
BR122013019953B1 (pt) Método de decodificar um vídeo
BR112012003245B1 (pt) Método para decodificar um vídeo codificado
BR112012025308B1 (pt) Método de codificar um vídeo, método de decodificar um vídeo codificado, equipamento de codificação de vídeo incluindo um processador, equipamento de decodificação de vídeo incluindo um processador, e meio de gravação legível por computador
AU2015203822B2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
BR122015021744B1 (pt) Método de decodificação de imagem
BR122015021747B1 (pt) Método de decodificação de imagem
BR122015021745B1 (pt) Aparelho de decodificação de imagem
AU2013202078B2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
AU2014200181B2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
BR122020001936B1 (pt) método de decodificar um vídeo
BR112014018115B1 (pt) Método de decodificar um vídeo