BR122015021741A2 - método para determinar vetor de movimento para previsão inter, aparelho determinador de vetor de movimento para previsão inter, e mídia de gravação legível por computador - Google Patents
método para determinar vetor de movimento para previsão inter, aparelho determinador de vetor de movimento para previsão inter, e mídia de gravação legível por computador Download PDFInfo
- Publication number
- BR122015021741A2 BR122015021741A2 BR122015021741A BR122015021741A BR122015021741A2 BR 122015021741 A2 BR122015021741 A2 BR 122015021741A2 BR 122015021741 A BR122015021741 A BR 122015021741A BR 122015021741 A BR122015021741 A BR 122015021741A BR 122015021741 A2 BR122015021741 A2 BR 122015021741A2
- Authority
- BR
- Brazil
- Prior art keywords
- unit
- motion vector
- candidate
- current
- image
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
método para decodificar uma imagem são fornecidos um método para movimento e aparelho para determinar um através da previsão do vetor de movimento. o método para determinar vetor determinar uma lista de vetores de determinar vetor de vetor de movimento compreendendo vetores de movimento de candidatos referidos, a fim de prever de movimento envolve movimento candidatos uma pluralidade de blocos um vetor de movimento de um bloco atual, bloco candidato quando uma imagem de referência de um primeiro dentre a pluralidade de blocos candidatos for diferente de uma imagem de referência do bloco atual, determinar se deve ou não usar um vetor de movimento do primeiro bloco candidato da lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato ser uma imagem de referência de curta duração ou uma imagem de referência de longa duração, e determinar o vetor de movimento do bloco atual usando um vetor de movimento candidato selecionado dentre os vetores de movimento compreendidos na lista de vetores de movimento candidatos .
Description
MÉTODO PARA DECODIFICAR UMA IMAGEM
Pedido Dividido do Pedido de Patente BR 1120140109664 de 08.11.2014
Domínio Técnico [0001] A presente invenção se refere à codificação e decodificação de vídeo e, mais particularmente, à codificação e decodificação, em que previsão inter e/ou compensação de movimento é realizada.
Fundamentos da Arte [0002] Como hardware para reprodução e armazenamento de conteúdo de vídeo de alta resolução ou alta qualidade está sendo desenvolvido e fornecido, aumenta a necessidade de um codec de vídeo para codificar ou decodificar eficazmente conteúdo de vídeo de alta resolução ou de alta qualidade. De acordo com um codec de vídeo convencional, um vídeo é codificado, de acordo com um método de codificação limitado com base em um macrobloco tendo um tamanho predeterminado.
[0003] Dados de imagem de uma região espacial são transformados em coeficientes de uma região de frequência, através de transformação de frequência. De acordo com um codec de vídeo, uma imagem é dividida em blocos tendo um tamanho predeterminado, transformação discreta de cosseno (DCT) é executada para cada bloco respectivo, e coeficientes de frequência são codificados em unidades de bloco, para cálculo rápido de transformação de frequência. Em comparação com dados de imagem de uma região espacial, coeficientes de uma região de frequência são facilmente compactados. Em particular, visto que um valor de pixel da imagem de uma região espacial é expresso de acordo com um erro de previsão via previsão inter ou previsão intra de um codec de vídeo, quando transformação de frequência é realizada sobre o erro
2/110 de previsão, uma grande quantidade de dados pode ser transformada em 0. De acordo com um codec de video, uma quantidade de dados pode ser reduzida, substituindo dados consecutiva e repetidamente gerados com dados de pequeno tamanho.
[0004] De acordo com um código de video multi-view, um vídeo de exibição base e um ou mais vídeos de exibição adicionais são codificados e decodificados. Por meio da remoção da redundância temporal/ espacial entre o vídeo de exibição base e o vídeo de exibição adicional e redundância entre exibições, uma quantidade de dados do vídeo de exibição base e do vídeo de exibição adicional pode ser reduzida.
Descrição Detalhada da Invenção
Problema Técnico [0005] A presente invenção fornece um método e aparelho para determinar vetor de movimento, efetuado através da previsão do vetor de movimento, um método e aparelho para codificar um vídeo, realizando previsão inter e compensação de movimento através da previsão do vetor de movimento, e um método e aparelho para decodificar um vídeo, realizando compensação de movimento através de previsão do vetor de movimento.
Solução Técnica [0006] De acordo com um aspecto, de acordo com a presente invenção, é fornecido um método para determinar vetor de movimento para previsão inter, o método para determinar vetor de movimento incluindo operações de determinar uma lista de vetores de movimento candidatos compreendendo vetores de movimento de uma pluralidade de blocos candidatos referidos, a fim de prever um vetor de movimento de um bloco atual; quando uma imagem de referência de um primeiro bloco candidato dentre a pluralidade de blocos candidatos for diferente de uma imagem de referência do
3/110 bloco atual, determinar se deve ou não usar um vetor de movimento do primeiro bloco candidato da lista de vetores de movimento candidatos, dependendo se cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato ser um imagem de referência de curta duração ou uma imagem de referência de longa duração; e determinar o vetor de movimento do bloco atual, usando um vetor de movimento candidato selecionado dentre os vetores de movimento compreendidos na lista de vetores de movimento candidatos.
Efeitos Vantajosos [0007] Quando um método para determinar um vetor de movimento, de acordo com uma ou mais formas de realização da presente invenção, é realizado, em caso de uma imagem de referência indicada por um índice de referências de um bloco candidato ser diferente de uma imagem de referência de um bloco atual, e pelo menos uma das imagens de referência do bloco atual e do bloco candidato ser uma imagem de referência de longa duração, é possível ignorar um processo para dimensionar um tamanho de um vetor de movimento do bloco candidato ou um processo de referência ao vetor de movimento do bloco candidato, e é possível controlar o bloco atual para fazer referência a um vetor de movimento de outro bloco candidato, tendo uma precisão de previsão relativamente alta, segundo o qual, uma eficiência de um processo de previsão do vetor de movimento pode ser melhorada.
Descrição dos Desenhos [0008] A Fig. 1 é um diagrama de blocos de um aparelho determinador de vetor de movimento, de acordo com uma forma de realização, de acordo com a presente invenção.
[0009] A Fig. 2 é um fluxograma de um método para determinar vetor de movimento, de acordo com uma forma de realização da
4/110 presente invenção.
[00010] A Fig. 3 ilustra um exemplo, em que um bloco candidato é um bloco co-localizado de outra imagem, de acordo com uma forma de realização da presente invenção.
[00011] A Fig. 4 ilustra um exemplo, em que o bloco candidato é um bloco vizinho da mesma imagem, de acordo com uma forma de realização da presente invenção.
[00012] A Fig. 5 é um fluxograma de um método de codificação de vídeo, incluindo o método para determinar vetor de movimento, de acordo com uma forma de realização da presente invenção.
[00013] A Fig. 6 é um fluxograma de um método de codificação de vídeo, incluindo o método para determinar vetor de movimento, de acordo com uma forma de realização da presente invenção.
[00014] A Fig. 7 é um diagrama de blocos de uma unidade de codificação de vídeo, incluindo o aparelho determinador de vetor de movimento, de acordo com uma forma de realização da presente invenção.
[00015] A Fig. 8 é um diagrama de blocos de uma unidade de decodificação de vídeo, incluindo o aparelho determinador de vetor de movimento, de acordo com uma forma de realização da presente invenção.
[00016] A Fig. 9 é um diagrama de blocos de um aparelho de codificação de vídeo com base em uma unidade de codificação, de acordo com uma estrutura em árvore, de acordo com uma forma de realização, de acordo com a presente invenção.
[00017] A Fig. 10 é um diagrama de blocos de um aparelho de decodificação de vídeo baseado em uma unidade de codificação, de acordo com uma estrutura em árvore, de acordo com uma forma de realização, de acordo com a presente invenção.
[00018] A Fig. 11 é um diagrama para descrever um conceito de
5/110 unidades de codificação, de acordo com uma forma de realização, de acordo com a presente invenção.
[00019] A Fig. 12 é um diagrama de blocos de um codificador de imagem com base em unidades de codificação, de acordo com uma forma de realização, de acordo com a presente invenção.
[00020] A Fig. 13 é um diagrama de blocos de um decodificador de imagem baseado em unidades de codificação, de acordo com uma forma de realização, de acordo com a presente invenção.
[00021] A Fig. 14 é um diagrama ilustrando unidades de codificação mais profundas, de acordo com profundidades e partições, de acordo com uma forma de realização, de acordo com a presente invenção.
[00022] A Fig. 15 é um diagrama para descrever uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma forma de realização, de acordo com a presente invenção.
[00023] A Fig. 16 é um diagrama para descrever informações de codificação de unidades de codificação, que correspondem a uma profundidade codificada, de acordo com uma forma de realização, de acordo com a presente invenção.
[00024] A Fig. 17 é um diagrama de unidades de codificação mais profundas, de acordo com profundidades, de acordo com uma forma de realização, de acordo com a presente invenção.
[00025] As Figs. 18 a 20 são diagramas para descrever uma relação entre unidades de codificação, unidades de previsão, e unidades de transformação, de acordo com uma forma de realização, de acordo com a presente invenção.
[00026] A Fig. 21 é 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ções sobre modo de codificação da Tabela 1.
6/110 [00027] A Fig. 22 ilustra uma estrutura física de um disco que armazena um programa, de acordo com uma forma de realização da presente invenção.
[00028] A Fig. 23 ilustra uma unidade de disco, que grava e lê um programa usando um disco.
[00029] A Fig. 24 ilustra uma estrutura completa de um sistema de fornecimento de conteúdo, que fornece serviço de distribuição de conteúdo.
[00030] As Figs. 25 e 26 ilustram estruturas externas e internas de um telefone móvel, ao qual um método de codificação de video e um método de decodificação de video são aplicados, de acordo com formas de realização da presente invenção.
[00031] A Fig. 27 ilustra um sistema de radiodifusão digital empregando um sistema de comunicação, de acordo com uma forma de realização da presente invenção.
[00032] A Fig. 28 ilustra uma estrutura de rede de uma sistema de computação em nuvem usando um aparelho de codificação de video e um aparelho de decodificação de video, de acordo com uma forma de realização da presente invenção.
Melhor Modalidade [00033] De acordo com um aspecto, de acordo com a presente invenção, é fornecido um método para determinar vetor de movimento para previsão inter, o método para determinar vetor de movimento incluindo operações de determinar uma lista de vetores de movimento candidatos compreendendo vetores de movimento de uma pluralidade de blocos candidatos referidos, a fim de prever um vetor de movimento de um bloco atual; quando uma imagem de referência de um primeiro bloco candidato dentre a pluralidade de blocos candidatos for diferente de uma imagem de referência do bloco atual, determinar se deve ou não usar um vetor de movimento
7/110 do primeiro bloco candidato da lista de vetores de movimento candidatos, dependendo se cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato ser uma imagem de referência de curta duração ou uma imagem de referência de longa duração; e determinar o vetor de movimento do bloco atual usando um vetor de movimento candidato selecionado dentre os vetores de movimento compreendidos na lista de vetores de movimento candidatos.
[00034] O primeiro bloco candidato pode ser um bloco vizinho do bloco atual em uma imagem atual do bloco atual, ou pode ser um bloco co-localizado na mesma posição que o bloco atual em uma imagem, que foi restaurada mais cedo do que a imagem atual.
[00035] Quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem as imagens de referência de longa duração, a operação de determinar se deve ou não usar o vetor de movimento pode incluir uma operação de manutenção do vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos.
[00036] Quando uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de curta duração, e a outra dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de longa duração, a operação de determinar se deve ou não usar o vetor de movimento pode incluir uma operação de determinação para não usar o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos.
[00037] De acordo com outro aspecto, de acordo com a presente invenção, é fornecido um aparelho determinador de vetor de movimento para previsão inter, o aparelho determinador de vetor de
8/110 movimento incluindo uma unidade determinadora de lista de candidatos para determinação de uma lista de vetores de movimento candidatos, compreendendo vetores de movimento de uma pluralidade de blocos candidatos referidos, a fim de prever um vetor de movimento de um bloco atual e, quando uma imagem de referência de um primeiro bloco candidato dentre a pluralidade de blocos candidatos for diferente de uma imagem de referência do bloco atual, para determinar se deve ou não usar um vetor de movimento do primeiro bloco candidato da lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato ser uma imagem de referência de curta duração ou uma imagem de referência de longa duração; e uma unidade determinadora de vetor de movimento para determinar o vetor de movimento do bloco atual usando um vetor de movimento candidato selecionado dentre os vetores de movimento compreendidos na lista de vetores de movimento candidatos.
[00038] De acordo com outro aspecto, de acordo com a presente invenção, é fornecida uma midia de gravação legível por computador, tendo nela gravado um programa de computador para executar o método para determinar vetor de movimento.
Modalidade da Invenção [00039] Adiante, um aparelho determinador de vetor de movimento 10 e um método para determinar vetor de movimento serão descritos com referência às Figuras 1 a 4. Além disso, métodos e aparelhos para a codificação e decodificação de um vídeo realizando o método para determinar vetor de movimento, serão descritos com referência às Figs. 5 e 8. Além disso, esquemas de codificação e decodificação de vídeo, incluindo um método para determinar vetor de movimento com base em unidades de codificação com uma estrutura
9/110 em árvore, serão descritos com referência às Figs. 9 a 21. A seguir, o termo 'imagem' pode fazer referência a uma imagem estática ou a uma imagem em movimento, ou seja, um vídeo em si.
[00040] Em primeiro lugar, o aparelho determinador de vetor de movimento 10 e o método para determinar vetor de movimento serão descritos com referência às Figuras 1 a 4. Além disso, os métodos e aparelhos para codificação e decodificação de um vídeo, realizando o método para determinar vetor de movimento, serão descritos com referência às Figs. 5 e 8.
[00041] A Fig. 1 é um diagrama de blocos do aparelho determinador de vetor de movimento 10, de acordo com uma forma de realização, de acordo com a presente invenção.
[00042] O aparelho determinador de vetor de movimento 10 inclui uma unidade determinadora de lista de candidatos 12 e uma unidade determinadora de vetor de movimento 14.
[00043] Previsão inter é realizada por meio de uma semelhança entre uma imagem atual e outra imagem. Em uma imagem de referência, que é restaurada mais cedo do que a imagem atual, uma região de referência, que é semelhante a uma região atual na imagem atual, é detectada. Uma distância entre coordenadas da região atual e da região de referência é representada como um vetor de movimento, e uma diferença entre valores de pixel da região atual e da região de referência é representada como dados residuais. Assim, realizando a previsão inter na região atual, é possível emitir um índice indicando a imagem de referência, o vetor de movimento, e os dados residuais, em vez de emitir diretamente informações de imagem sobre a região atual.
[00044] O aparelho determinador de vetor de movimento 10 pode realizar a previsão inter em cada imagem de vídeo para cada respectivo bloco. Um bloco pode ter uma forma quadrada, uma forma
10/110 retangular, ou qualquer forma geométrica, e não está limitado a uma unidade de dados tendo um tamanho predeterminado. De acordo com uma forma de realização, de acordo com a presente invenção, um bloco pode ser uma unidade de codificação máxima, uma unidade de codificação, uma unidade de previsão, uma unidade de transformação, ou similares dentre unidades de codificação, de acordo com uma estrutura em árvore. Métodos de codificação e decodificação de vídeo baseados em unidades, de acordo com uma estrutura em árvore, serão descritos abaixo com referência às Figs. 9 a 21.
[00045] A imagem de referência, que é usada na previsão inter da imagem atual, tem que ser uma imagem, que é decodificada mais cedo do que a imagem atual. Na forma de realização atual, a imagem de referência para a previsão inter pode ser classificada em uma imagem de referência de curta duração e uma imagem de referência de longa duração. Um buffer de quadros decodificados (DPB (não mostrado)) armazena imagens restauradas, que são geradas por meio da compensação de movimento em imagens anteriores. As imagens restauradas, que são anteriormente geradas, podem ser usadas como a imagem de referência para previsão inter de outras imagens. Assim, para realizar a previsão inter da imagem atual, pelo menos uma imagem de referência de curta duração ou pelo menos uma imagem de referência de longa duração pode ser selecionada a partir das imagens restauradas armazenadas no buffer de quadros decodificados. A imagem de referência de curta duração pode ser uma imagem, que foi recentemente decodificada em uma ordem de decodificação incluindo a imagem atual, enquanto que a imagem de referência de longa duração pode ser uma imagem, que foi decodificada muito mais cedo do que a imagem atual, é selecionada para ser usada como uma imagem de referência para a previsão inter
11/110 de outras imagens e, portanto, é armazenada no buffer de quadros decodificados.
[00046]
Para previsão do vetor de movimento, mesclagem de PU, ou previsão avançada do vetor de movimento (AMVP), previsão do vetor de movimento do bloco atual pode ser determinada, por referência a um vetor de movimento de outro bloco.
[00047] aparelho determinador de vetor de movimento 10 pode determinar um vetor de movimento, referindo-se a um vetor de movimento de outro bloco, que é temporal ou espacialmente adjacente ao bloco atual. O aparelho determinador de vetor de movimento pode determinar uma lista de vetores de movimento movimento de candidatos incluindo uma pluralidade de vetores de
blocos | candidatos, | que | podem | se tornar | alvos de | referência para | o | |
vetor | de | movimento | do | bloco | atual. 0 | aparelho | determinador | de |
vetor | de | movimento | 10 | pode | determinar | o vetor | de movimento | do |
bloco atual, referindo-se a um vetor de movimento selecionado da lista de vetores de movimento candidatos.
[00048] Na forma de realização atual, um bloco candidato pode indicar um bloco vizinho do bloco atual na imagem atual, ou pode ser um bloco co-localizado, que está na mesma posição que o bloco atual em uma imagem restaurada mais cedo do que a imagem atual.
[00049] A unidade determinadora de lista de candidatos 12 pode dimensionar tamanhos dos vetores de movimento candidatos, que satisfazem uma condição predeterminada e que estão na lista de vetores de movimento candidatos, incluindo os vetores de movimento dos blocos candidatos, que são referidos para previsão do vetor de movimento do bloco atual, ou pode excluir os vetores de movimento candidatos da lista de vetores de movimento candidatos.
[00050] Quando uma imagem de referência de um primeiro bloco candidato dentre os blocos candidatos incluídos na lista de
12/110 vetores de movimento candidatos for diferente da imagem de referência do bloco atual, a unidade determinadora de lista de candidatos pode determinar, se cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato é a imagem de referência de curta duração ou imagem de referência de longa duração. Ά unidade determinadora de lista de candidatos pode determinar como usar um vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato ser a imagem de referência de curta duração ou a imagem de referência de longa duração.
[00051] Quando todas entre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem as imagens de referência de longa duração, a unidade determinadora de lista de candidatos 12 pode manter o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos. Ou seja, o primeiro bloco candidato pode ser incluído na lista de vetores de movimento candidatos, enquanto um tamanho do vetor de movimento do primeiro bloco candidato não for dimensionado.
[00052] Quando uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de curta duração, e a outra dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de longa duração, a unidade determinadora de lista de candidatos 12 pode determinar não usar o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos. Então, o vetor de movimento do primeiro bloco candidato pode ser declarado como um vetor de
13/110 movimento não utilizável.
[00053] Quando todas entre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem as imagens de referência de curta duração, a unidade determinadora de lista de candidatos 12 pode dimensionar o tamanho do vetor de movimento do primeiro bloco candidato e pode incluir o vetor de movimento dimensionado do primeiro bloco candidato na lista de vetores de movimento candidatos. Neste caso, a unidade determinadora de lista de candidatos 12 pode dimensionar o tamanho do vetor de movimento do primeiro bloco candidato, com base em uma relação de distância entre a imagem atual e a imagem de referência do bloco atual, a uma distância entre uma imagem do primeiro bloco candidato e uma imagem de referência do primeiro bloco candidato, e pode atualizar um valor do vetor de movimento do primeiro bloco candidato como um valor dimensionado na lista de vetores de movimento candidatos.
[00054] A unidade determinadora de vetor de movimento 14 pode selecionar um vetor de movimento candidato, a partir dos vetores de movimento incluídos na lista de vetores de movimento candidatos, e pode determinar o vetor de movimento do bloco atual usando o vetor de movimento candidato selecionado. A unidade determinadora de vetor de movimento 14 pode determinar o vetor de movimento do bloco atual, duplicando o vetor de movimento candidato sem uma mudança do, ou modificando o, vetor de movimento candidato.
[00055] A Fig. 2 é um fluxograma de um método para determinar vetor de movimento, de acordo com uma forma de realização da presente invenção.
[00056] O aparelho determinador de vetor de movimento 10 pode prever um vetor de movimento de um bloco atual, usando um vetor de
14/110 movimento de um bloco, que está temporal ou espacialmente perto do bloco atual. Além disso, o aparelho determinador de vetor de movimento 10 pode determinar uma pluralidade de blocos candidatos tendo vetores de movimento previsíveis, pode selecionar um bloco candidato dentre os blocos candidatos, pode fazer referência a um vetor de movimento do bloco candidato selecionado e, assim, pode determinar o vetor de movimento do bloco atual.
[00057] No entanto, quando uma imagem de referência indicada por um índice de referências de um bloco candidato dentre os blocos candidatos for diferente de uma imagem de referência do bloco atual, se o aparelho determinador de vetor de movimento 10 prever o vetor de movimento do bloco atual por referência a um vetor de movimento do bloco candidato, uma precisão do vetor de movimento previsto pode se deteriorar, apesar de um tamanho do vetor de movimento do bloco candidato ser dimensionado e, depois, o vetor de movimento do bloco candidato ser referido. Assim, quando a imagem de referência do bloco atual for diferente da imagem de referência do bloco candidato, o aparelho determinador de vetor de movimento 10 pode determinar se deve fazer referência ao bloco candidato, após o dimensionamento do tamanho do vetor de movimento do bloco candidato, ou pode determinar não fazer referência ao bloco candidato.
[00058] A seguir, quando a imagem de referência do bloco atual for diferente da imagem de referência do bloco candidato, um método de prever, pelo aparelho determinador de vetor de movimento
10, o vetor | de movimento | do | bloco atual, | a partir | do | vetor | de | |
movimento | do | bloco candidato, | é descrito em | detalhes | em | relação | às | |
operações | 21, | 23 e 25. | ||||||
[00059] | Na | operação 21, | o | aparelho determinador | de | vetor | de | |
movimento | 10 determina | uma | lista de | vetores | de | movimento |
15/110 candidatos, incluindo vetores de movimento de uma pluralidade de blocos candidatos para o bloco atual.
[00060] Na operação 23, quando uma imagem de referência de um primeiro bloco candidato dentre os blocos candidatos for diferente da imagem de referência do bloco atual, o aparelho determinador de vetor de movimento 10 determina se, ou não, usar um vetor de movimento do primeiro bloco candidato da lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato ser uma imagem de referência de curta duração ou uma imagem de referência de longa duração.
[00061] O aparelho determinador de vetor de movimento 10 pode determinar, se a imagem de referência do bloco atual é a imagem de referência de longa duração, por meio de um índice de referências de longa duração, indicando se a imagem de referência do bloco atual é a imagem de referência de longa duração. Da mesma forma, o aparelho determinador de vetor de movimento 10 pode determinar, se a imagem de referência do primeiro bloco candidato é a imagem de referência de longa duração, por meio de um índice de referências de longa duração do primeiro bloco candidato.
[00062] Em outra forma de realização, quando um valor de uma diferença entre contagens da ordem de quadros (POCs) da imagem de referência do bloco atual e da imagem de referência do primeiro bloco candidato for maior que um primeiro valor limite, o aparelho determinador de vetor de movimento 10 pode determinar que a imagem de referência do primeiro bloco candidato é a imagem de referência de longa duração. Da mesma forma, quando o valor da diferença entre os POCs da imagem de referência do bloco atual e da imagem de referência do primeiro bloco candidato for maior que um segundo valor limite, o aparelho determinador de vetor de movimento 10
16/110 pode determinar que a imagem de referência do bloco atual é a imagem de referência de longa duração.
[00063] Na operação 25, o aparelho determinador de vetor de movimento 10 determina o vetor de movimento do bloco atual, usando um vetor de movimento candidato selecionado a partir de vetores de movimento incluídos na lista de vetores de movimento candidatos.
[00064] Na operação 25, independentemente da imagem de referência do bloco atual ser a imagem de referência de curta duração ou a imagem de referência de longa duração, o aparelho determinador de vetor de movimento 10 pode determinar um bloco de referência indicado pelo vetor de movimento do bloco atual, que é determinado na imagem de referência do bloco atual, de acordo com um POC indicado por um índice de referências do bloco atual.
[00065] Na operação 23, quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem as imagens de referência de longa duração, o aparelho determinador de vetor de movimento 10 pode manter o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos, sem dimensionar um tamanho do vetor de movimento do primeiro bloco candidato. Quando uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de curta duração, e a outra dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de longa duração, o aparelho determinador de vetor de movimento 10 pode determinar não usar o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos. Quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem imagens de referência de curta duração, o aparelho determinador de vetor de movimento 10
17/110 pode atualizar o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos, de acordo com o vetor de movimento do primeiro bloco candidato, que é dimensionado quanto ao tamanho baseado em uma relação de uma distância entre a imagem
atual e a | imagem | de | referência do bloco atual, | e uma | distância | |
entre uma | imagem | do | primeiro bloco | candidato | e uma | imagem de |
referência | do primeiro | bloco candidato. | ||||
[00066] | Através | de | realização das | operações | 21, 23 | e 25, o |
aparelho determinador de vetor de movimento 10 pode determinar novamente a lista de vetores de movimento candidatos. Quando somente uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de longa duração, o aparelho determinador de vetor de movimento 10 pode excluir o vetor de movimento do primeiro bloco candidato da lista de vetores de movimento candidatos e, portanto, não precisa usar o primeiro bloco candidato como um destino de referência. Assim, o aparelho determinador de vetor de movimento 10 pode determinar o vetor de movimento do bloco candidato, fazendo referência a outro vetor de movimento incluído na lista de vetores de movimento candidatos.
[00067] Quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem as imagens de referência de longa duração, o aparelho determinador de vetor de movimento 10 inclui o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos, sem dimensionar um tamanho do vetor de movimento do primeiro bloco candidato. Assim, o aparelho determinador de vetor de movimento 10 pode selecionar um vetor de movimento de referência ideal dentre o outro vetor de movimento candidato e o vetor de movimento do primeiro bloco candidato incluídos na lista de vetores de
18/110 movimento candidatos, e pode determinar o vetor de movimento do bloco atual usando o vetor de movimento de referência selecionado.
[00068] Quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem imagens de referência de curta duração, o aparelho determinador de vetor de movimento 10 pode dimensionar o tamanho do vetor de movimento do primeiro bloco candidato e pode incluir o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos. Assim, o aparelho determinador de vetor de movimento 10 pode selecionar um vetor de movimento de referência ideal dentre o outro vetor de movimento candidato e o vetor de movimento de tamanho dimensionado do primeiro bloco candidato incluído na lista de vetores de movimento candidatos, e pode determinar o vetor de movimento do bloco atual usando o vetor de movimento de referência selecionado.
[00069] Assim, de acordo com o aparelho determinador de vetor de movimento 10 e o método para determinar vetor de movimento acima descrito com referência às Figuras 1 e 2, quando a imagem de referência indicada pelo índice de referências do bloco candidato for diferente da imagem de referência do bloco atual, e pelo menos uma dentre a imagem de referência do bloco atual e a imagem de referência do bloco candidato for a imagem de referência de longa duração, um processo de dimensionar o tamanho do vetor de movimento do bloco candidato pode ser ignorado, ou um processo de referência ao vetor de movimento do bloco candidato pode ser ignorado.
[00070] Isto é, quando a imagem de referência do bloco atual for diferente da imagem de referência do bloco candidato, e pelo menos uma dentre a imagem de referência do bloco atual e a imagem de referência do bloco candidato for a imagem de referência de longa
19/110 duração, se o vetor de movimento do bloco atual for previsto por referência ao vetor de movimento do bloco candidato, uma precisão do vetor de movimento previsto pode deteriorar-se e, portanto, um processo de referência ao vetor de movimento do bloco candidato, que não possui uma precisão de previsão, pode ser ignorado e o bloco atual pode ser previsto, por referência a um vetor de movimento de outro bloco candidato tendo uma precisão relativamente alta. Fazendo assim, uma eficiência de um processo de previsão do vetor de movimento pode ser melhorada.
[00071] A seguir, com referência às Figs. 3 e 4, um método de previsão de vetor de movimento, de acordo com tipos de um bloco candidato, é descrito em detalhes.
[00072] A Fig. 3 ilustra um exemplo, em que o bloco candidato é um bloco co-localizado de outra imagem, de acordo com uma forma de realização da presente invenção.
[00073] Uma imagem co-localizada 35 é restaurada mais cedo do que uma imagem atual 30 e pode ser referida para previsão inter de um bloco atual 31 na imagem atual 30. A imagem co-localizada 35 pode ser determinada, de acordo com um índice co-localizado 32 do bloco atual 31.
[00074]
Na imagem co-localizada 35, um bloco, que está na mesma posição que o bloco atual 31 da imagem atual
30, pode ser determinado como um bloco co-localizado
36.
aparelho determinador de vetor de movimento 10 pode usar bloco colocalizado como um bloco candidato, ou seja, um alvo de referência utilizado para prever um vetor de movimento 34 do bloco atual 31.
Assim, o vetor de movimento 34 do bloco atual pode ser previsto por referência a um vetor de movimento 37 do bloco co-localizado 36.
[00075] Uma imagem de referência co-localizada 38 pode ser
20/110 determinada, de acordo com um POC indicado por um índice de referências do bloco co-localizado 36. Uma imagem de referência atual 33 pode ser determinada, de acordo com um POC indicado por um índice de referências do bloco atual 31.
[00076] No entanto, quando a imagem de referência co-localizada 38 for diferente da imagem de referência atual 33, o aparelho determinador de vetor de movimento 10 pode determinar novamente, se deve, ou não, fazer referência ao vetor de movimento 37 do bloco co-localizado 36, ou como fazer referência ao vetor de movimento 37 do bloco co-localizado 36.
[00077] Mais detalhadamente, quando o índice de referências do bloco co-localizado 36 for diferente do índice de referências do bloco atual 31, o aparelho determinador de vetor de movimento 10 pode verificar, se a imagem de referência co-localizada 38 e a imagem de referência atual 33 são imagens de referência de curta duração ou imagens de referência de longa duração, usando um índice de referências de longa duração do bloco co-localizado 36 e um índice de referências de longa duração do bloco atual 31.
[00078] Quando a imagem de referência co-localizada 38 for diferente da imagem de referência atual 33, o aparelho determinador de vetor de movimento 10 pode determinar novamente, se deve, ou não, fazer referência ao vetor de movimento 37 do bloco co-localizado 36, ou como fazer referência ao vetor de movimento 37 do bloco co-localizado 36.
[00079] De acordo com um resultado da verificação, quando a imagem de referência co-localizada 38 for diferente da imagem de referência atual 33, mas todas dentre a imagem de referência atual 33 e a imagem de referência co-localizada 38 forem imagens de referência de curta duração, um tamanho do vetor de movimento 37 do bloco co-localizado 36 pode ser dimensionado com base em uma
21/110 relação de uma distância Td entre a imagem co-localizada 35 e a imagem de referência co-localizada 38 e uma distância Tb entre a imagem atual 30 e a imagem de referência atual 33. Aqui, uma distância Td entre a imagem co-localizada 35 e a imagem de referência co-localizada 38 pode ser determinada, de acordo com um valor de uma diferença entre POCs da imagem co-localizada 35 e a imagem de referência co-localizada 38. Da mesma forma, a distância Tb entre a imagem atual 30 e a imagem de referência atual 33 pode ser determinada, de acordo com um valor de uma diferença entre POCs da imagem atual 30 e da imagem de referência atual 33.
[00080] Ou seja, quando todas dentre a imagem de referência atual 33 e a imagem de referência co-localizada 38 forem as imagens de referência de curta duração, um vetor de movimento candidato MVcol' pode ser atualizado por um valor obtido, multiplicando-se o vetor de movimento 37 (MVcol) do bloco colocalizado 36 pela relação da distância Td entre a imagem colocalizada 35 e a imagem de referência co-localizada 38 e a distância Tb entre a imagem atual 30 e a imagem de referência atual 33 (MVcol1 = MVcol * Tb/Td).
[00081] Assim, de acordo com o resultado da verificação, quando a imagem de referência co-localizada 38 for diferente da imagem de referência atual 33, mas todas dentre a imagem de referência atual 33 e a imagem de referência co-localizada 38 forem as imagens de referência de curta duração, o aparelho determinador de vetor de movimento 10 pode mudar o vetor de movimento 37 do bloco colocalizado 36 como o valor MVcol' na lista de vetores de movimento candidatos, onde o valor MVcol' é obtido, multiplicando-se o vetor de movimento 37 do bloco co-localizado 36 pela relação (Tb/Td) da distância Td entre a imagem co-localizada 35 e a imagem de referência co-localizada 38, e a distância Tb entre a imagem atual
22/110 e a imagem de referência atual 33.
[00082] Quando uma dentre a imagem de referência atual 33 e a imagem de referência co-localizada 38 for uma imagem de referência de curta duração, e a outra dentre a imagem de referência atual 33 e a imagem de referência co-localizada 38 for uma imagem de referência de longa duração, um sinalizador 'Não-disponível' pode ser alocado ao vetor de movimento do bloco co-localizado 36.
Neste caso, o vetor de movimento do bloco co-localizado 36 pode ser excluído da lista de vetores de movimento candidatos.
[00083]
Quando todas dentre a imagem de referência atual 33 e a imagem de referência co-localizada 38 forem imagens de referência de longa duração, o vetor de movimento 37 do bloco co-localizado pode ser mantido.
Neste caso, o vetor de movimento 37 do bloco co-localizado 36 pode ser mantido na lista de vetores de movimento candidatos, enquanto um tamanho do vetor de movimento 37 não for dimensionado.
[00084]
A Fig. 4 ilustra um exemplo, em que o bloco candidato é um bloco vizinho 46 da mesma imagem, de acordo com uma forma de realização da presente invenção.
[00085] aparelho determinador de vetor de movimento 10 pode usar o bloco vizinho 46 como um bloco candidato, que é um destino de referência utilizado na previsão de um vetor de movimento
4 de um bloco atual 41, onde o bloco vizinho é adjacente ao bloco atual 41.
Assim, pode-se prever o vetor de movimento do bloco atual 41, fazendo referência a um vetor de movimento do bloco vizinho 46.
[00086]
Uma imagem de referência vizinha 48 pode ser determinada, de acordo com um
POC indicado por um índice de referências do bloco vizinho
46.
Uma imagem de referência atual 43 pode ser determinada, de acordo com um POC indicado por um índice
23/110 de referências do bloco atual 41.
[00087] No entanto, quando a imagem de referência vizinha 48 for diferente da imagem de referência atual 43, o aparelho determinador de vetor de movimento 10 pode determinar novamente, se deve fazer referência ao vetor de movimento 47 do bloco vizinho 4 6, ou como fazer referência ao vetor de movimento 47 do bloco vizinho 46.
[00088] Mais detalhadamente, quando o índice de referências do bloco vizinho 4 6 for diferente do índice de referências do bloco atual 41, o aparelho determinador de vetor de movimento 10 pode verificar, se o bloco vizinho 46 e a imagem de referência atual 43 são imagens de referência de curta duração ou imagens de referência de longa duração, usando o índice de referências de longa duração do bloco vizinho 46 e o índice de referências de longa duração do bloco atual 41.
[00089] Quando a imagem de referência vizinha 48 for diferente da imagem de referência atual 43, o aparelho determinador de vetor de movimento 10 pode determinar novamente, se deve fazer referência ao vetor de movimento 47 do bloco vizinho 46, ou como fazer referência ao vetor de movimento 47 do bloco vizinho 46.
[00090] De acordo com um resultado da verificação, quando a imagem de referência 43 atual for diferente da imagem de referência vizinha 48, mas todas dentre a imagem de referência atual 43 e a imagem de referência vizinha 48 forem imagens de referência de curta duração, um tamanho do vetor de movimento 47 do bloco vizinho 46 pode ser dimensionado, com base em uma relação de uma distância Td entre uma imagem atual 40 e a imagem de referência vizinha 48, a uma distância Tb entre a imagem atual 40 e a imagem de referência atual 43. A distância Td entre a imagem atual 40 e a imagem de referência vizinha 48 pode ser determinada
24/110 como um valor de diferença entre POCs da imagem atual 40 e da imagem de referência vizinha 48. Da mesma forma, a distância Tb entre a imagem atual 40 e a imagem de referência atual 43 pode ser determinada como um valor de uma diferença entre POCs da imagem atual 40 e a imagem de referência atual 43.
[00091] Ou seja, quando todas dentre a imagem de referência atual 43 e a imagem de referência vizinha 48 forem as imagens de referência de curta duração, um vetor de movimento candidato MVne' pode ser atualizado como como valor obtido, multiplicando-se o vetor de movimento 47 (MVne) do bloco vizinho 46 pela relação (Tb/Td) da distância Td entre a imagem atual 40 e a imagem de referência vizinha 48 à distância Tb entre a imagem atual 40 e a imagem de referência atual 43 (MVne' = MVne * Tb/Td).
[00092] Assim, de acordo com o resultado da verificação, quando a imagem de referência atual 43 e a imagem de referência vizinha 48 forem diferentes entre si, mas todas elas forem as imagens de referência de curta duração, o aparelho determinador de vetor de movimento 10 pode mudar o vetor de movimento 47 do bloco vizinho 46 como o valor MVne' na lista de vetores de movimento candidatos, no qual o valorMVne' é obtido, multiplicando-se o vetor de movimento 47 (MVne) do bloco vizinho 46 pela relação (Tb/Td) da distância Td entre a imagem de referência vizinha 48 e a imagem atual 40 à distância Tb entre a imagem atual 40 e a imagem de referência atual 43.
[00093] Quando uma dentre a imagem de referência atual 43 e a imagem de referência vizinha 48 for uma imagem de referência de curta duração, e a outra for uma imagem de referência de longa duração, um sinalizador 'Não-utilizável' pode ser alocado ao vetor de movimento 47 do bloco vizinho 46. Neste caso, o vetor de movimento 47 do bloco vizinho 4 6 pode ser excluído da lista de
25/110 vetores de movimento candidatos da imagem atual 40.
[00094] Quando todas dentre a imagem de referência atual 43 e a imagem de referência vizinha 48 forem imagens de referência de longa duração, o vetor de movimento 47 do bloco vizinho 4 6 pode ser mantido. Neste caso, o vetor de movimento 47 do bloco vizinho pode ser mantido na lista de vetores de movimento candidatos, enquanto um tamanho do vetor de movimento 47 não for dimensionado. [00095] Nas formas de realização das Figs. 3 e 4, o aparelho determinador de vetor de movimento 10 pode determinar, se cada uma dentre uma imagem de referência atual (ou seja, as imagens de referência atuais 33 e 43) e uma imagem de referência (ou seja, a imagem de referência co-localizada 38 e a imagem de referência vizinha 48) de um bloco candidato (i.e., o bloco co-localizado 36 e o bloco vizinho 46) é a imagem de referência de curta duração ou a imagem de referência de longa duração, por meio de índices de referência de longa duração de um bloco atual (ou seja, os blocos atuais 31 e 41) e o bloco candidato, e de acordo com um resultado da determinação, o aparelho determinador de vetor de movimento 10 pode determinar, se deve ou não fazer referência a um vetor de movimento (ou seja, os vetores de movimento 37 e
47) do bloco candidato, ou se é necessário fazer referência ao vetor de movimento, após o dimensionamento de um tamanho do vetor de movimento.
[00096]
Em outra forma de realização, o aparelho determinador de vetor de movimento 10 pode determinar, se deve fazer, ou não, referência ao vetor de movimento do bloco candidato, ou se é necessário fazer referência ao vetor de movimento após o dimensionamento do tamanho do vetor de movimento, por meio de índices de referência indicando POCs da imagem de referência atual e da imagem de referência do bloco candidato, em vez de usar os
26/110 índices de referência de longa duração do bloco atual e do bloco candidato.
[00097] Em mais detalhes, o aparelho determinador de vetor de movimento 10, de acordo com outra forma de realização com referência à Fig. 3, pode comparar uma diferença Tr entre o índice de referências do bloco co-localizado 36 e o índice de referências do bloco atual 31 com um primeiro valor limite THpocdiffl, e quando a diferença Tr entre os índices de referência for maior do que o primeiro valor limite THpocdiffl, o aparelho determinador de vetor de movimento 10 pode determinar que o vetor de movimento 37 do bloco co-localizado 36 não é um destino de referência, ou pode determinar fazer referência ao vetor de movimento 37, sem dimensionar um tamanho do vetor de movimento 37.
[00098] Da mesma forma, o aparelho determinador de vetor de movimento 10, de acordo com outra forma de realização com referência à Fig. 4, pode comparar uma diferença Tr entre o índice de referências do bloco vizinho 46 e o índice de referências do bloco atual 41 com um primeiro valor limite THpocdiffl, e quando a diferença Tr entre os índices de referência for maior que o primeiro valor limite THpocdiffl Tr, o aparelho determinador de vetor de movimento 10 pode determinar que o vetor de movimento 4 7 do bloco vizinho 46 não é um destino de referência, ou pode determinar fazer referência ao vetor de movimento 47, sem dimensionar um tamanho do vetor de movimento 47.
[00099] Nas outras formas de realização das Figs. 3 e 4, quando a diferença Tr entre o índice de referências do bloco candidato (ou seja, os blocos candidatos 36 e 46) e o índice de referências do bloco 31 atual for maior que o primeiro valor limite THpocdiffl,o aparelho determinador de vetor de movimento 10 pode determinar que pelo menos uma dentre a imagem de referência
27/110 candidata (ou seja, a imagem de referência co-localizada 38 e a imagem de referência vizinha 48) , que é indicada pelo índice de referências do bloco candidato (36 e 46), e a imagem de referência atual (33 e 43) , que é indicada pelo índice de referências do bloco atual 31, é a imagem de referência de longa duração.
[000100] Assim, quando a diferença Tr entre o índice de referências do bloco candidato (36 e 46) e o índice de referências do bloco 31 atual for maior que o primeiro valor limite THpocdiffl, o aparelho determinador de vetor de movimento 10 não precisa dimensionar o tamanho do vetor de movimento (37 e 47) do bloco candidato (36 e 46) , usando uma relação de distância da imagem (Tb/Td), mas pode determinar que o bloco candidato (36 e 46) não é um destino de referência e, portanto, pode excluir o vetor de movimento (37 e 47) do bloco candidato (36 e 46) da lista de vetores de movimento candidatos. Alternativamente, o aparelho determinador de vetor de movimento 10 pode determinar prever o vetor de movimento (34 e 44) do bloco atual (31 e 41), fazendo referência ao vetor de movimento (37 e 47) do bloco candidato (36 e 46), enquanto o tamanho do vetor de movimento (37 e 47) do bloco candidato (36 e 46) não for dimensionado.
[000101] Em outra forma de realização, o aparelho determinador de vetor de movimento 10 pode comparar um valor de uma diferença entre POCs da imagem atual (30 e 40) e da imagem de referência atual (33 e 43) com um segundo valor limite THpocdiff2 e, de acordo com um resultado da comparação, o aparelho determinador de vetor de movimento 10 pode determinar, se deve, ou não, fazer referência ao vetor de movimento (37 e 47) do bloco candidato (36 e 46), ou se é necessário fazer referência ao vetor de movimento dimensionado, após o dimensionamento do tamanho do vetor de movimento (37 e 47).
28/110 [000102] Assim, quando uma diferença Tb éntre os POCs da imagem de referência atual (33 e 43) , que é indicada pelo índice de referências do bloco atual (31 e 41) e a imagem atual (30 e 40), for maior que o segundo valor limite THpocdiff2, o aparelho determinador de vetor de movimento 10 não precisa dimensionar o tamanho do vetor de movimento (37 e 47) do bloco candidato (36 e
46) , usando a relação de distância da imagem (Tb/Td), mas pode determinar que o bloco candidato (36 e 4 6) não é um destino de referência e, portanto, pode excluir o vetor de movimento (37 e
47) do bloco candidato (36 e 46) da lista de vetores de movimento candidatos. Alternativamente, o aparelho determinador de vetor de movimento 10 pode determinar prever o vetor de movimento (34 e 44) do bloco atual (31 e 41), fazendo referência ao vetor de movimento (37 e 47) do bloco candidato (36 e 46), enquanto o tamanho do vetor de movimento (37 e 47) do candidato do bloco (36 e 46) não for dimensionado.
[000103] O primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 pode ser definido como um dos valores abaixo, i) número de imagens de referência; ii) dobro do número de imagens de referência; iii) soma total de um tamanho de grupo de quadros (GOP) e o dobro do número de imagens de referência; iv) soma total do número máximo permitido max_num_reorder_pics de imagens, que precede uma imagem atual em uma ordem de decodificação e que é consecutivo em uma ordem de saída e o dobro do número de imagens de referência; v) soma total de um tempo máximo de retardo max_output_delay, através do qual, uma saída de uma imagem restaurada, que é armazenada em um DPB, é maximamente retardada e o dobro do número de imagens de referência; vi) dobro do tamanho do GOP; vii) dobro do número máximo permitido max_num_reorder_pics de imagens, que precede a imagem atual na prdem de decodificação e
29/110 que é consecutivo na ordem de saída; e viii) dobro do tempo máximo de retardo max_output_delay, pelo qual, a saída da imagem restaurada, que é armazenada no- DPB, é maximamente atrasada.
[000104] Quando um bloco candidato for o bloco co-localizado 36, o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 podem variar, de acordo com posições relativas da imagem atual 30, da imagem de referência atual 33, e da imagem de referência co-localizada 38. Por exemplo, pode haver dois casos de
i) quando todos dentre o índice de referências do bloco colocalizado 36 e o índice de referências do bloco atual 31 forem maiores ou menores que o POC da imagem atual 30 (primeiro caso), e ii) quando o POC da imagem atual 30 estiver entre o índice de referências do bloco co-localizado 36 e o índice de referências do bloco atual 31 (segundo caso). O primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 podem diferir nos primeiro e segundo casos.
[000105] Além disso, o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 podem variar, com base em uma profundidade temporal de uma estrutura hierárquica, de acordo com a previsão temporal da imagem atual 30. Por exemplo, quando uma pluralidade de imagens for hierarquicamente referida para a previsão temporal da imagem atual 30, o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 podem ser ajustados, de acordo com a quantidade de hierarquias referida na estrutura hierárquica.
[000106] Como alternativa, o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 podem variar, de acordo com uma posição da imagem atual 40 em uma estrutura GOP, incluindo a imagem atual 30.
[000107] Como alternativa, o primeiro valor limite THpocdiffl ou
30/110 o segundo valor limite THpocdiff2 podem variar, de acordo com um POC da imagem atual 30 na estrutura GOP, incluindo a imagem atual 30.
[000108] O primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 da imagem atual 30, que são utilizados na codificação de vídeo, podem ser codificados e transferidos para um decodificador de vídeo. Por exemplo, o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 pode ser determinado para cada sequência, cada quadro, ou cada fatia, ou pode ser adaptavelmente determinado, de acordo com quadros. Nesse sentido, um conjunto de parâmetros de sequências (SPS), um conjunto de parâmetros de quadros (PPS), um cabeçalho em fatias, e um conjunto de parâmetros de adaptação (APS) podem conter informações sobre o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2.
[000109] Em outra forma de realização, um codificador de video e o decodificador de video não precisam transmitir e receber o primeiro valor limite THpocdiffl ou o segundo limite de valor THpocdiff2 da imagem atual 30, mas podem prever o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2. Por exemplo, o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 podem ser previstos com base em um acesso aleatório ou um baixo retardo, que é a estrutura hierárquica da previsão temporal da imagem atual 30. Como alternativa, o primeiro valor limite THpocdiffl ou o segundo valor limite THpocdiff2 podem ser previstos com base no POC da imagem atual 30.
[000110] A seguir, referindo-se às Figs. 5 e 6, métodos para codificação e decodificação, incluindo o método para determinar vetor de movimento, são descritos em detalhes.
[000111] A Fig. 5 é um fluxograma de um método de codificação de
31/110 video, incluindo o método para determinar vetor de movimento, de acordo com uma forma de realização da presente invenção.
[000112] Na operação 51, de acordo com o método para determinar vetor de movimento, uma lista de vetores de movimento candidatos, incluindo vetores de movimento de uma pluralidade de blocos candidatos, que são referidos, a fim de prever um vetor de movimento de um bloco atual, pode ser determinada.
[000113] Quando uma imagem de referência de um primeiro bloco candidato dentre os blocos candidatos for diferente de uma imagem de referência do bloco atual, o método de codificação de vídeo pode determinar, se deve usar um vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato ser uma imagem de referência de curta duração ou uma imagem de referência de longa duração.
[000114] Quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem as imagens de referência de longa duração, o vetor de movimento do primeiro bloco candidato pode ser incluído na lista de vetores de movimento candidatos, enquanto um tamanho do vetor de movimento do primeiro bloco candidato não for dimensionado.
[000115] Quando uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de curta duração, e a outra delas for a imagem de referência de longa duração, o método de codificação de vídeo pode determinar não usar vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos.
[000116] Quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem
32/110 as imagens de referência de curta duração, o vetor de movimento do primeiro bloco candidato pode ser incluído na lista de vetores de movimento candidatos, após o tamanho do vetor de movimento do primeiro bloco candidato ser dimensionado.
[000117] Na operação 53, um vetor de movimento candidato, que é determinado na operação 51, e que está dentre os vetores de movimento incluídos na lista de vetores de movimento candidatos, pode ser selecionado como um vetor de movimento de referência, e um vetor de movimento do bloco atual pode ser determinado, fazendo referência ao vetor de movimento de referência selecionado. O vetor de movimento do bloco atual pode ser determinado, duplicando-se o vetor de movimento de referência sem uma mudança, ou modificando o vetor de movimento de referência. Por exemplo, quando houver informações de diferença sobre o vetor de movimento, o vetor de movimento de referência e as informações de diferença podem ser sintetizados, para que o vetor de movimento do bloco atual possa ser determinado.
[000118] Quando um bloco de referência, que é indicado pelo vetor de movimento do bloco atual, que é determinado na imagem de referência do bloco atual, for determinado, dados residuais entre o bloco de referência e o bloco atual podem ser gerados.
[000119] Na operação 55, transformação e quantização podem ser executadas nos dados residuais gerados na operação 53, para que coeficientes de transformação quantizados possam ser gerados.
[000120] Previsão inter das operações 51, 53 e 55, a transformação e a quantização podem ser executadas em cada bloco da imagem atual, para que os coeficientes de transformação quantizados possam ser gerados em cada bloco. Além disso, codificação por entropia pode ser realizada nos coeficientes de transformação quantizados para cada bloco, para que um fluxo de
33/110 bits possa ser gerado e emitido.
[000121] O método de codificação de vídeo, de acordo com a forma de realização da Fig. 5, pode ser implementado por um aparelho de codificação de vídeo. Um processador de codificação de vídeo para implementação do método de codificação de vídeo, de acordo com a forma de realização da Fig. 5, pode ser montado no aparelho de codificação de vídeo, ou pode ser acionado em conexão com um aparelho de codificação de vídeo externo, para que o aparelho de codificação de vídeo possa realizar operações de codificação de vídeo, incluindo a previsão inter, a transformação, e a quantização. De acordo com uma forma de realização, de acordo com a presente invenção, um processador interno de codificação de vídeo do aparelho de codificação de vídeo pode ser incorporado, pela adição de um módulo de processamento de codificação de vídeo a um dispositivo de codificação de vídeo, um dispositivo de funcionamento central, ou um dispositivo gráfico operacional, bem como um processador separado, que executa uma operação básica de codificação de vídeo.
[000122] A Fig. 6 é um fluxograma de um método de codificação de vídeo, incluindo o método para determinar vetor de movimento, de acordo com uma forma de realização da presente invenção.
[000123] Na operação 61, um índice de referências e coeficientes de transformação quantizados de um bloco atual, e um vetor de movimento de um bloco candidato, podem ser recebidos.
[000124] Na operação 63, quantização inversa e transformação inversa podem ser executadas nos coeficientes de transformação quantizados do bloco atual, que são recebidos na operação 61, para que dados residuais do bloco atual possam ser restaurados.
[000125] Na operação 65, uma lista de vetores de movimento candidatos para o bloco atual pode ser determinada. Quando uma
34/110 imagem de referência de um primeiro bloco candidato dentre uma pluralidade de blocos candidatos for diferente de uma imagem de referência do bloco atual, o método de decodificação de vídeo pode determinar se deve usar um vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato ser uma imagem de referência de curta duração ou uma imagem de referência de longa duração.
[000126] Quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem as imagens de referência de longa duração, o vetor de movimento do primeiro bloco candidato pode ser incluído na lista de vetores de movimento candidatos, enquanto um tamanho do vetor de movimento do primeiro bloco candidato não for dimensionado.
[000127] Quando uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de curta duração e a outra delas for a imagem de referência de longa duração, o método de decodificação de vídeo pode determinar não usar o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos.
[000128] Quando todas dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato forem as imagens de referência de curta duração, o vetor de movimento do primeiro bloco candidato pode ser incluído na lista de vetores de movimento candidatos, após o tamanho do vetor de movimento do primeiro bloco candidato ser dimensionado.
[000129] Na operação 67, um vetor de movimento candidato, que é determinado na operação 65 e que está dentre os vetores de movimento incluídos na lista de vetores de movimento candidatos,
35/110 pode ser selecionado como um vetor de movimento de referência, e um vetor de movimento do bloco atual pode ser determinado, fazendo referência ao vetor de movimento de referência selecionado. Por exemplo, quando informações de diferença sobre o vetor de movimento forem recebidas, o vetor de movimento de referência e as informações de diferença podem ser sintetizados, para que o vetor de movimento do bloco atual possa ser determinado.
[000130] Um bloco de referência, que é indicado pelo vetor de movimento do bloco atual na imagem de referência do bloco atual, que é indicado por um índice de referências do bloco atual, pode ser determinado. Sintetizando o bloco de referência e dados residuais determinados do bloco atual, o bloco atual pode ser restaurado.
[000131] As operações 61, 63, 65 e 67 podem ser executadas para cada um dos blocos, para que a imagem atual, incluindo os blocos restaurados, possa ser restaurada. Quando imagens são restauradas, um vídeo, incluindo uma sequência das imagens restauradas, pode ser restaurado.
[000132] Um procedimento de decodificação de vídeo incluindo as operações 61, 63, 65 e 67 pode ser realizado, quando o vídeo for restaurado, ao receber um fluxo de vídeo codificado e, depois, decodificar o fluxo de vídeo. Neste caso, na operação 61, o fluxo de vídeo recebido pode ser analisado e, assim, coeficientes de transformação quantizados do índice de referências do bloco atual, e o vetor de movimento do bloco candidato, podem ser extraídos do fluxo de vídeo.
[000133] O procedimento de decodificação de vídeo incluindo as operações 61, 63, 65 e 67 também pode ser realizado para gerar uma imagem restaurada, para ser submetida à previsão inter de outra imagem no método de codificação de vídeo acima mencionado. Neste
36/110 caso, na operação 61, o índice de referências e os coeficientes de transformação quantizados do bloco atual, que são gerados através da previsão inter, a transformação, e a quantização, e o vetor de movimento do bloco candidato, podem ser recebidos e, então, as operações 63, 65 e 67 podem ser gradualmente realizadas, para que uma imagem atual finalmente restaurada possa ser usada como uma imagem de [000134] referência para previsão inter de outra imagem.
O método de decodificação de vídeo, de acordo com forma de realização da Fig. 6, pode ser implementado por um aparelho de decodificação de vídeo. Um processador de decodificação de vídeo para aplicação do método de decodificação de vídeo, de acordo com a forma de realização da
Fig. 6, pode ser montado no aparelho de decodificação de vídeo, ou pode ser acionado em conexão com um aparelho de decodificação de vídeo externo, para que o aparelho de decodificação de vídeo possa realizar as operações de decodificação de vídeo, incluindo a quantização inversa, a transformação inversa, e a previsão intra, e a compensação de movimento. De acordo com uma forma de realização, de acordo com a presente invenção, um processador de decodificação de vídeo interno do aparelho de decodificação de vídeo pode ser incorporado, pela adição de um módulo de processamento de decodificação de vídeo a um dispositivo de decodificação de vídeo, um dispositivo de funcionamento central, ou um dispositivo gráfico separado, que executa uma operacional, bem como um processador operação básica de decodificação de vídeo.
[000135] A Fig. 7 é um diagrama de blocos de uma unidade de codificação de vídeo 70 incluindo o aparelho determinador de vetor de movimento 10, de acordo com uma forma de realização da presente invenção.
37/110 [000136] A unidade de codificação de vídeo 70 inclui uma unidade de previsão inter 71 e uma unidade de transformação e quantização 75. A unidade de previsão inter 71 pode incluir o aparelho determinador de vetor de movimento 10 e uma unidade de geração residual 73.
[000137] O aparelho determinador de vetor de movimento 10 determina um vetor de movimento para cada bloco. Além disso, para previsão do vetor de movimento, mesclagem de PU, ou AMVP, um vetor de movimento de um bloco atual pode ser previsto, fazendo referência a um vetor de movimento de outro bloco. O aparelho determinador de vetor de movimento 10 pode determinar uma lista de vetores de movimento candidatos do bloco atual, a fim de realizar previsão do vetor de movimento. Um vetor de movimento de referência pode ser decidido dentre vetores de movimento candidatos incluídos na lista de vetores de movimento candidatos.
[000138] O aparelho determinador de vetor de movimento 10 pode determinar o vetor de movimento de referência, selecionando um vetor de movimento candidato ideal dentre os vetores de movimento incluídos na lista de vetores de movimento candidatos, e pode determinar o vetor de movimento do bloco atual usando o vetor de movimento de referência selecionado.
[000139] A unidade de geração residual 73 pode determinar um bloco de referência, que é indicado pelo vetor de movimento do bloco atual na imagem de referência do bloco atual, e pode gerar dados residuais entre o bloco de referência e o bloco atual.
[000140] Nesse sentido, a unidade de previsão inter 71 pode executar previsão inter para cada bloco e, depois, pode emitir os dados residuais para cada bloco.
[000141] A unidade de transformação e quantização 75 pode executar transformação e quantização nos dados residuais, que são
38/110 emitidos pela unidade de previsão inter 71 e, assim, pode gerar coeficientes de transformação quantizados. A unidade de transformação e quantização 75 pode realizar a transformação e a quantização nos dados residuais para cada bloco, que é recebido da unidade de previsão inter 71 e, assim, pode gerar coeficientes de transformação quantizados para cada bloco.
[000142] A unidade de codificação de vídeo 70 pode executar codificação por entropia nos coeficientes de transformação quantizados, que são gerados pela unidade de transformação e quantização e, assim, pode emitir um fluxo de bits codificado.
Além disso, quando o índice de referência, o vetor de movimento, um índice de referências de longa duração ou semelhante, são emitidos pela unidade de previsão inter
71, a unidade de codificação de vídeo 70 pode executar a codificação por entropia, não só nos coeficientes de transformação quantizados, mas também no índice de referência, no vetor de movimento, e no índice de referências de longa duração e, assim, pode emitir um fluxo de bits.
[000143] | A Fig. 8 é | um | diagrama | de blocos | de uma unidade | |
decodificação de vídeo | 80 | incluindo | o aparelho | determinador | de | |
vetor de | movimento 10, | de | acordo com | uma forma | de realização | da |
presente | invenção. | |||||
[000144] | A unidade de | decodificação | de vídeo | 80 inclui | uma |
unidade de quantização inversa e transformação inversa 81 e uma unidade de compensação de movimento 83. A unidade de compensação de movimento 83 pode incluir o aparelho determinador de vetor de movimento 10 e uma unidade de restauração de bloco 85.
[000145] A unidade de decodificação de vídeo 80 pode receber um índice de referências e coeficientes de transformação quantizados de um bloco atual, e um vetor de movimento de um bloco candidato.
39/110
A unidade de quantização inversa e transformação inversa 81 pode efetuar quantização inversa e transformação inversa nos coeficientes de transformação quantizados do bloco atual e, portanto, pode restaurar dados residuais do bloco atual.
[000146] A unidade de compensação de movimento 83 pode realizar compensação de movimento no bloco atual, que é codificado via previsão inter e, portanto, pode restaurar o bloco atual.
[000147] 0 aparelho determinador de vetor de movimento 10 determina um vetor de movimento para cada bloco. O aparelho determinador de vetor de movimento 10 pode determinar uma lista de vetores de movimento candidatos do bloco atual, de modo a prever o vetor de movimento. Um bloco candidato pode incluir um bloco colocalizado ou um bloco vizinho. 0 aparelho determinador de vetor de movimento 10 pode determinar um vetor de movimento de referência dentre vetores de movimento candidatos incluídos na lista de vetores de movimento candidatos.
[000148] Quando uma imagem de referência de um primeiro bloco candidato dentre os blocos candidatos incluídos na lista de vetores de movimento candidatos do bloco atual for diferente da imagem de referência do bloco atual, o aparelho determinador de vetor de movimento 10 pode determinar, se deve ou não usar a imagem de referência do primeiro bloco candidato na lista de vetores de movimento candidatos, dependendo se cada uma dentre a imagem de referência do bloco atual e a imagem de referência do primeiro bloco candidato for uma imagem de referência de curta duração ou uma imagem de referência de longa duração.
[000149] O aparelho determinador de vetor de movimento 10 pode determinar o vetor de movimento de referência, selecionando um vetor de movimento candidato ideal dentre os vetores de movimento candidatos incluídos na lista de vetores de movimento candidatos,
40/110 pode prever um vetor de movimento do bloco atual usando o vetor de movimento de referência e, então, pode determinar o vetor de movimento do bloco atual.
[000150] A unidade restauradora de blocos 85 pode determinar a imagem de referência do bloco atual, que é indicada por um índice de referências do bloco atual, que é recebida pela unidade de decodificação de vídeo 80. Um bloco de referência do vetor de movimento do bloco atual, que é determinado no aparelho determinador de vetor de movimento 10, indicado na imagem de referência pode ser determinado, o bloco de referência e dados residuais do bloco atual podem ser sintetizados e, assim, o bloco atual pode ser restaurado.
[000151] A unidade de compensação de movimento 83 pode executar compensação de movimento para cada bloco, pode restaurar cada bloco e, portanto, pode restaurar a imagem atual incluindo blocos restaurados. Desta forma, a unidade de decodificação de vídeo 80 pode restaurar imagens e, portanto, pode restaurar um vídeo, incluindo uma sequência de imagens.
[000152] A unidade de decodificação de vídeo 80 pode ainda incluir uma unidade de filtragem de circuito (não mostrada), que realiza filtragem de desbloqueio na imagem restaurada incluindo o bloco atual e blocos que são restaurados, quando os blocos são restaurados.
[000153] A unidade de decodificação de vídeo 80 pode receber um fluxo de vídeo codificado, pode decodificar o fluxo de vídeo e, portanto, pode restaurar o vídeo. Neste caso, a unidade de decodificação de vídeo 80 pode analisar o fluxo de vídeo e, portanto, pode extrair o índice de referências e os coeficientes de transformação quantizados do bloco atual, e o vetor de movimento do bloco candidato do fluxo de vídeo. Além disso, a
41/110 unidade de decodificação de vídeo 80 pode ainda incluir uma unidade receptora (não mostrada), que recebe um fluxo de bits, que executa decodificação por entropia no fluxo de bits, e que analisa e extrai o índice de referências e os coeficientes de transformação quantizados do bloco atual, e o vetor de movimento do bloco candidato do fluxo de bits.
[000154] A fim de gerar uma imagem restaurada, para ser submetida à previsão inter de outra imagem pela unidade de codificação de vídeo 70, que é acima descrita com referência à Fig. 7, a unidade de decodificação de vídeo 80 pode ser combinada com a unidade de codificação de vídeo 70. Neste caso, a unidade de decodificação de vídeo 80 pode receber o índice de referências e os coeficientes de transformação quantizados do bloco atual, que são gerados através da previsão inter, a transformação, e a quantização e, em seguida, são emitidos pela unidade de codificação de vídeo 70, pode receber o vetor de movimento do bloco candidato, e pode emitir a imagem atual, que é finalmente restaurada pela unidade de quantização inversa e transformação inversa 81 e a unidade de compensação de movimento 83. A imagem restaurada, que é emitida pela unidade de decodificação de vídeo 80, pode ser utilizada como uma imagem de referência para previsão inter de outra imagem pela unidade de codificação de vídeo 70.
[000155] Como acima descrito, no aparelho determinador de vetor de movimento 10, blocos obtidos dividindo-se os dados de vídeo são divididos em unidades de codificação, de acordo com uma estrutura em árvore, e unidades de codificação por previsão são utilizadas para previsão inter para uma unidade de codificação. Adiante, tendo como referência as Figs. 9 a 22, um método e aparelho para a codificação de um vídeo e um método e aparelho para a decodificação de um vídeo, baseado em uma unidade de codificação e
42/110 uma unidade de transformação, de acordo com uma estrutura em árvore, serão descritos.
[000156] A Fig. 9 é um diagrama de blocos de um aparelho de codificação de vídeo 100 com base em uma unidade de codificação, de acordo com uma estrutura em árvore, de acordo com uma forma de realização, de acordo com a presente invenção.
[000157] O aparelho codificador de video 100, através da previsão de video com base em uma unidade de codificação, de acordo com uma estrutura em árvore, inclui uma unidade de divisão da unidade de codificação máxima 110, um determinador de unidade de codificação 120 e uma unidade de saída 130. Adiante, por conveniência de descrição, o aparelho codificador de vídeo 100, através da previsão de vídeo com base em uma unidade de codificação, de acordo com uma estrutura em árvore, é conhecido como 'o aparelho de codificação de vídeo 100'.
[000158] A unidade de divisão da unidade de codificação máxima 110 pode dividir um quadro atual com base em uma unidade de codificação máxima no quadro atual de uma imagem. Se o quadro atual for maior que a unidade de codificação máxima, dados de imagem do quadro atual podem ser divididos em pelo menos uma unidade de codificação máxima. A unidade de codificação máxima, de acordo com uma forma de realização, de acordo com a presente invenção, pode ser uma unidade de dados tendo um tamanho de 32x32, 64x64, 128x128, 256x256 etc., em que uma forma da unidade de dados é um quadrado com uma largura e comprimento em quadrados de 2. Os dados de imagem podem ser emitidos para o determinador da unidade de codificação 120 por pelo menos uma unidade de codificação máxima.
[000159] Uma unidade de codificação, de acordo com uma forma de realização, de acordo com a presente invenção, pode ser
43/110 caracterizada por um tamanho e uma profundidade máxima. A profundidade denota um número de vezes que a unidade de codificação é dividida espacialmente a partir da unidade de codificação máxima, e quando a profundidade aumenta, unidades de codificação mais profundas, de acordo com profundidades, podem ser divididas da unidade de codificação máxima em uma unidade de codificação mínima. Uma profundidade da unidade de codificação máxima é uma profundidade mais superior e uma profundidade da unidade de codificação mínima é uma profundidade mais inferior. Visto que um tamanho de uma unidade de codificação correspondente a cada profundidade diminui, à medida que a profundidade da unidade de codificação máxima aumenta, uma unidade de codificação correspondente a uma profundidade superior pode incluir uma pluralidade de unidades de codificação correspondentes a menores profundidades.
[000160] Conforme acima descrito, os dados de imagem do quadro atual são divididos nas unidades de codificação máximas, de acordo com um tamanho máximo da unidade de codificação, e cada uma das unidades de codificação máximas pode incluir unidades de codificação mais profundas, que são divididas de acordo com profundidades. Visto que a unidade de codificação máxima, de acordo com uma forma de realização, de acordo com a presente invenção, é dividida de acordo com profundidades, os dados da imagem de um domínio espacial incluído na unidade de codificação máxima podem ser classificados hierarquicamente, de acordo com profundidades.
[000161] Uma profundidade máxima e um tamanho máximo de uma unidade de codificação, que limitam o número total de vezes que uma altura e uma largura da unidade de codificação máxima são divididas hierarquicamente, podem ser predeterminados.
44/110 [000162] O determinador da unidade de codificação 120 codifica pelo menos uma região de divisão obtida, dividindo-se uma região da unidade de codificação máxima, de acordo com profundidades, e determina uma profundidade para emitir dados de imagem finalmente codificados, de acordo com pelo menos uma região de divisão. Em outras palavras, o determinador da unidade de codificação 120 determina uma profundidade codificada, por codificação dos dados de imagem nas unidades de codificação mais profundas, de acordo com profundidades, de acordo com a unidade de codificação máxima do quadro atual, e selecionando uma profundidade tendo o menor erro de codificação. Assim, os dados de imagem codificados da unidade de codificação correspondente à determinada profundidade codificada são finalmente emitidos. Além disso, as unidades de codificação correspondentes à profundidade codificada podem ser consideradas como unidades de codificação codificadas. A profundidade codificada, determinada, e os dados de imagem codificados, de acordo com a profundidade codificada determinada, são emitidos para a unidade de saída 130.
[000163] Os dados de imagem na unidade de codificação máxima são codificados com base nas unidades de codificação mais profundas, correspondente pelo menos a uma profundidade igual ou inferior à profundidade máxima, e resultados de 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, depois de comparar os erros de codificação das unidades de codificação mais profundas. Pelo menos uma profundidade codificada pode ser selecionada para cada unidade de codificação máxima.
[000164] O tamanho da unidade de codificação máxima é dividido, quando uma unidade de codificação é dividida hierarquicamente, de
45/110 acordo com profundidades, e quando o número de unidades de codificação aumenta. Além disso, mesmo se unidades de codificação corresponderem à mesma profundidade em uma unidade de codificação máxima, é determinada condição de se dividir cada uma das unidades de codificação correspondentes à mesma profundidade em uma profundidade inferior, medindo-se um erro de codificação dos dados de imagem de cada unidade de codificação, separadamente. Nesse sentido, mesmo quando dados de imagem estiverem incluídos em uma unidade de codificação máxima, os dados de imagem são divididos em regiões, de acordo com as profundidades, 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 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 unidades de codificação de pelo menos uma profundidade codificada.
[000165] Nesse sentido, o determinador da unidade de codificação 120 pode determinar unidades de codificação, tendo uma estrutura em árvore, incluída na unidade de codificação máxima. As 'unidades de codificação tendo uma estrutura em árvore', de acordo com uma forma de realização, de acordo com a presente invenção, incluem unidades de codificação que correspondem a uma profundidade determinada, como sendo a profundidade codificada, dentre todas as unidades de codificação mais profundas incluídas na unidade de codificação máxima. Uma unidade de codificação de uma profundidade codificada pode ser determinada hierarquicamente, de acordo com profundidades na mesma região da unidade de codificação máxima, e pode ser determinada de forma independente em diferentes regiões. Da mesma forma, uma profundidade codificada em uma região atual
46/110 pode ser determinada independentemente de uma profundidade codificada em outra região.
[000166] Uma profundidade máxima, de acordo com uma forma de realização, de acordo com a presente invenção, é um índice relacionado ao número de vezes que a divisão é realizada, de uma unidade de codificação máxima em uma unidade de codificação mínima. Uma primeira profundidade máxima, de acordo com uma forma de realização, de acordo com a presente invenção, pode denotar o número total de vezes que a divisão é realizada, da unidade de codificação máxima na unidade de codificação mínima. Uma segunda profundidade máxima, de acordo com uma forma de realização, de acordo com a presente invenção, pode denotar o número total de níveis de profundidade da unidade de codificação máxima para unidade de codificação mínima. Por exemplo, quando uma profundidade da unidade de codificação máxima for 0, uma profundidade de uma unidade de codificação, em que a unidade de codificação máxima é uma profundidade de dividida uma vez, pode ser definida como 1, e uma unidade de codificação, em que a unidade de codificação máxima é dividida em duas vezes, pode ser definida como 2. Aqui, se a unidade de codificação mínima for uma unidade de codificação, em que a unidade de codificação máxima é dividida quatro vezes, 5 níveis de profundidade de profundidades 0, 1, 2, 3 e 4 existem e, assim, a primeira profundidade máxima pode ser definida como 4, e a segunda profundidade máxima pode ser definida como 5.
[000167] Codificação por previsão e transformação podem ser realizadas, de acordo com a unidade de codificação máxima. Além disso, a codificação por previsão e a transformação são executadas com base nas unidades de codificação mais profundas, de acordo com uma profundidade igual ou profundidades menores que a profundidade
47/110 máxima, de acordo com a unidade de codificação máxima. Transformação pode ser realizada, de acordo com o método de transformação ortogonal ou transformação de número inteiro.
[000168] Uma vez que o número de unidades de codificação mais profundas aumenta, sempre que a unidade de codificação máxima é dividida, de acordo com profundidades, codificação incluindo a codificação por previsão e a transformação é realizada em todas as unidades de codificação mais profundas geradas, quando a profundidade aumenta. Para conveniência de descrição, a codificação por 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.
[000169] O aparelho para codificar vídeo 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 por previsão, transformação, e codificação por entropia, são realizadas e, neste momento, a mesma unidade de dados pode ser usada para todas as operações, ou diferentes unidades de dados podem ser utilizadas para cada operação.
[000170] Por exemplo, o aparelho para codificar vídeo 100 pode selecionar, não só uma unidade de codificação para codificar os dados de imagem, mas também uma unidade de dados diferente da unidade de codificação, a fim de realizar a codificação por previsão nos dados de imagem na unidade de codificação.
[000171] Para realizar codificação por previsão na unidade de codificação máxima, a codificação por previsão pode ser realizada com base em uma unidade de codificação correspondente a uma profundidade codificada, ou seja, com base em uma unidade de codificação, que não é mais dividida nas unidades de codificação
48/110 correspondentes a uma menor profundidade. A seguir, a unidade de codificação, que não é mais dividida e se torna uma unidade básica para codificação por previsão, será agora referida como uma 'unidade de previsão'. Uma partição obtida, dividindo-se a unidade de previsão, pode incluir uma unidade de previsão ou uma unidade de dados obtida, dividindo-se pelo menos uma dentre a altura e a largura da unidade de previsão. A partição é uma unidade de dados obtida, dividindo-se a unidade de previsão da unidade de codificação, e a unidade de previsão pode ser uma partição tendo o mesmo tamanho que a unidade de codificação.
[000172] 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, 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, dividindo-se simetricamente uma altura ou largura da unidade de previsão, partições obtidas, dividindo-se assimetricamente a altura ou largura da unidade de previsão, como l:n ou n:l, partições que são obtidas, dividindo-se geometricamente a unidade de previsão, e partições tendo formatos arbitrários.
[000173] Um modo de previsão da unidade de | previsão pode | ser pelo | ||||||
menos aquele | dentre | um modo intra, | um | modo inter, e | um | modo | ||
ignorar. Por | exemplo, | o modo | intra | ou | o | modo inter | pode | ser |
executado na | partição | de 2Nx2N, | 2NxN, | Nx2N | ou NxN. Além | disso, o | ||
modo ignorar | pode ser | realizado | somente | na | partição de | 2Nx2N. A |
de codificação em uma unidade é realizada independentemente previsão numa unidade de codificação, selecionando, assim, um modo de previsão tendo um menor erro de codificação.
[000174] 0 aparelho para codificar video 100 pode ainda executar a transformação nos dados de imagem em uma unidade de codificação,
49/110 baseado não apenas na unidade de codificação para codificar os
dados de | imagem, | mas também | com base | em | uma unidade | de |
transformação, que | é diferente | da unidade | de | codificação. | Para | |
realizar | a transformação na | unidade | de | codificação, | a |
transformação pode ser realizada com base em uma unidade de dados tendo um tamanho menor ou igual à unidade de codificação. Por exemplo, a unidade de transformação para a transformação pode incluir uma unidade de transformação para um modo intra e uma unidade de dados para um modo inter.
[000175] Da mesma forma que para a unidade de codificação, de acordo com a estrutura em arvore, de acordo com a presente forma de realização, a unidade de transformação na unidade de codificação pode ser recursivamente dividida em regiões com menores tamanhos, e dados residuais na unidade de codificação podem ser divididos, de acordo com a transformação tendo a estrutura em árvore, de acordo com profundidades de transformação.
[000176] De acordo com uma forma de realização, de acordo com a presente invenção, uma profundidade de transformação, indicando o número de vezes que a divisão é realizada para alcançar a unidade de transformação, dividindo-se a altura e largura da unidade de codificação, também pode ser definida na unidade de transformação. Por exemplo, quando o tamanho de uma unidade de transformação de uma unidade de codificação atual for 2Nx2N, uma profundidade de transformação pode ser definida como 0. Quando o tamanho de uma unidade de transformação for NxN, a profundidade de transformação pode ser definida como 1. Além disso, quando o tamanho da unidade de transformação for N/2xN/2, a profundidade da transformação pode ser definida como 2. Ou seja, a unidade de transformação, de acordo com a estrutura em árvore, também pode ser definida de acordo com a profundidade da transformação.
50/110 [000177] Informações de codificação, de acordo com as unidades de codificação que correspondem a uma profundidade codificada, requerem não só informações sobre a profundidade codificada, mas também sobre informações relacionadas à codificação por previsão e transformação. Nesse sentido, o determinador da unidade de codificação 120 não só 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 unidades de previsão, e um tamanho de uma unidade de transformação para transformação.
[000178] Unidades de codificação e uma unidade de previsão/ partição, de acordo com uma estrutura em árvore em um unidade de codificação máxima, e um método para determinar uma unidade de transformação, de acordo com formas de realização da presente invenção, serão descritos em detalhes mais tarde com referência às Figuras 11 a 22.
[000179] 0 determinador da unidade de codificação 120 pode medir um erro de codificação das unidades de codificação mais profundas, de acordo com profundidades, usando otimização de taxa-distorção baseado em multiplicadores de Lagrange.
[000180] A unidade de saída 130 emite os dados de imagem da unidade de codificação máxima, que são codificados baseado pelo menos em uma profundidade codificada, determinada pelo determinador da unidade de codificação 120, e informações sobre o modo de codificação, de acordo com a profundidade codificada, em fluxos de bits.
[000181] Os dados de imagem codificados podem ser obtidos pela codificação de dados residuais de uma imagem.
[000182] As informações sobre o modo de codificação, de acordo com a profundidade codificada, podem incluir informações sobre a
51/110 profundidade codificada, o tipo de partição na unidade de previsão, o modo de previsão, e o tamanho da unidade de transformação.
[000183] As informações sobre a profundidade codificada podem ser definidas, usando informações de divisão de acordo com profundidades, que indicam se a codificação foi executada em unidades de codificação de uma menor profundidade, em vez de uma profundidade atual. Se a profundidade atual da unidade de codificação atual for a profundidade codificada, dados de imagem na unidade de codificação atual são codificados e emitidos e, portanto, as informações de divisão podem ser definidas para não dividir a unidade de codificação atual em uma menor profundidade. 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 menor profundidade e, portanto, as informações de divisão podem ser definidas para dividir a unidade de codificação atual, para obter as unidades de codificação da menor profundidade.
[000184] Se a profundidade atual não for a profundidade codificada, codificação é realizada na unidade de codificação, que é dividida na unidade de codificação da menor profundidade. Uma vez que pelo menos uma unidade de codificação da menor profundidade existe em uma unidade de codificação da profundidade atual, a codificação é executada repetidamente em cada unidade de codificação da menor profundidade e, portanto, a codificação pode ser recursivamente realizada para as unidades de codificação tendo a mesma profundidade.
[000185] Uma | vez que | as | unidades de | codificação | tendo | uma | |
estrutura em | árvore | são | determinadas | para | uma | unidade | de |
codificação máxima, e | informações sobre | pelo | menos | um modo | de |
52/110 codificação são determinadas para uma unidade de codificação de uma profundidade codificada, informações sobre pelo menos um modo de codificação podem ser determinadas 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 posições, uma vez que os dados de imagem são hierarquicamente divididos de acordo com profundidades e, portanto, informações sobre a profundidade codificada e o modo de codificação podem ser definidas para os dados de imagem.
[000186] Nesse sentido, a unidade de saída 130 pode atribuir informações de codificação sobre uma profundidade codificada correspondente e um modo de codificação para pelo menos uma dentre a unidade de codificação, a unidade de previsão, e uma unidade mínima incluída na unidade de codificação máxima.
[000187] A unidade mínima, de acordo com uma forma de realização da presente invenção, é uma unidade de dados retangulares obtida, dividindo-se a unidade de codificação mínima que constitui a menor profundidade por 4. Como alternativa, a unidade mínima pode ser uma unidade máxima de dados retangulares, tendo um tamanho máximo que é incluído em todas as unidades de codificação, unidades de previsão, unidades de partição, e unidades de transformação incluídas na unidade de codificação máxima.
[000188] Por exemplo, as informações de codificação emitidas pela unidade de saída 130 podem ser classificadas em informações de codificação, de acordo com unidades de codificação, e informações de codificação, de acordo com unidades de previsão. As informações de codificação, de acordo com as unidades de codificação, podem incluir as informações sobre o modo de previsão e sobre o tamanho das partições. As informações de codificação, de acordo com as unidades de previsão, podem incluir informações sobre uma direção
53/110 estimada de um modo inter, sobre um índice de imagens de referência do modo inter, sobre um vetor de movimento, sobre um componente de crominância de um modo intra, e sobre um método de interpolação do modo intra.
[000189] Além disso, informações sobre um tamanho máximo da unidade de codificação definida de acordo com GOPs, fatias ou quadros, e informações sobre uma profundidade máxima, podem ser inseridas em um cabeçalho de um fluxo de bits, um SPS (conjunto de parâmetros de sequência) ou um conjunto de parâmetros de quadro (PPS) .
[000190] Além disso, informações sobre um tamanho máximo de uma unidade de transformação e informações sobre um tamanho mínimo de uma transformação, que são aceitáveis para um vídeo atual, também podem ser emitidas através de um cabeçalho de um fluxo de bits, um
SPS ou um PPS. A unidade de saída 130 pode codificar e emitir informações de referência, informações de previsão, informações de previsão de único sentido, e informações sobre um tipo de fatia, incluindo um quarto tipo de fatia, que são relacionadas à previsão descrita com referência às Figuras 1 a
8.
[000191] No aparelho para codificar vídeo 100, unidade de codificação mais profunda pode ser uma unidade de codificação obtida, dividindo-se uma altura ou largura de uma unidade de codificação de uma profundidade superior, que está uma camada outras palavras, quando acima, por dois. Em de codificação da profundidade atual for o tamanho
2Nx2N, o unidade de codificação da menor profundidade unidade de
2Nx2N pode da unidade tamanho da é NxN. Além disso, codificação da profundidade atual tendo o tamanho incluir um valor máximo 4 da unidade de codificação de da menor profundidade.
[000192] Nesse sentido, o aparelho para codificar vídeo 100 pode
54/110 formar as unidades de codificação tendo a estrutura em árvore, determinando as unidades de codificação tendo um formato ideal e um tamanho ideal para cada unidade de codificação máxima, baseado no tamanho da unidade de codificação máxima e na profundidade máxima determinada, levando em conta as características do quadro atual. Além disso, uma vez que a codificação pode ser realizada em cada unidade de codificação máxima usando qualquer um dos vários modos de previsão e transformações, um modo de codificação ideal pode ser determinado, considerando as características da unidade de codificação de vários tamanhos de imagem.
[000193] Assim, se uma imagem de alta resolução ou grande quantidade de dados for codificada em um macrobloco convencional, um número de macroblocos por quadro aumenta excessivamente. Por conseguinte, um número de segmentos de informações comprimidas geradas para cada macrobloco aumenta e, assim, é difícil transmitir as informações comprimidas, e a eficiência de compressão de dados diminui. No entanto, usando o aparelho para codificar vídeo 100, a eficiência de compressão de imagem pode ser aumentada, visto que uma unidade de codificação é ajustada, considerando as características de uma imagem, enquanto que aumentando um tamanho máximo de uma unidade de codificação, ao considerar um tamanho da imagem.
[000194] O aparelho codificador de vídeo 100 da Fig. 9 pode executar operações pelo aparelho determinador de vetor de movimento 10 e a unidade de codificação de vídeo 70, que são acima descritos com referência à Fig. 1.
[000195] 0 determinador da unidade de codificação 120 pode determinar uma unidade de previsão, incluindo uma partição para previsão inter para cada respectiva unidade de codificação, de acordo com uma estrutura em árvore para cada unidade de
55/110 codificação máxima, e pode executar previsão inter para cada respectiva unidade de previsão.
[000196] 0 determinador da unidade de codificação 120 determina um vetor de movimento para cada respectiva unidade de previsão. Além disso, para previsão do vetor de movimento, mesclagem de PU, ou AMVP, pode prever-se um vetor de movimento de uma unidade de previsão atual (partição), por referência a um vetor de movimento de outra unidade de previsão. O determinador da unidade de codificação 120 pode determinar uma lista de vetores de movimento candidatos da unidade de previsão atual, a fim de realizar a previsão do vetor de movimento. Um vetor de movimento de referência pode ser decidido dentre vetores de movimento candidatos incluídos na lista de vetores de movimento candidatos. A primeira unidade de previsão candidata pode ser uma unidade de previsão vizinha, que é adjacente à unidade de previsão atual em uma imagem atual, ou pode ser uma unidade de previsão colocalizada numa imagem co-localizada.
[000197] Quando uma imagem de referência de uma primeira unidade de previsão candidata dentre as unidades de previsão candidatas na lista de vetores de movimento candidatos da unidade de previsão atual for diferente da imagem de referência da unidade de previsão atual, o determinador da unidade de codificação 120 determina se deve ou não usar um vetor de movimento da primeira unidade de previsão candidata da lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência da unidade de previsão atual e a imagem de referência da unidade de previsão da primeira unidade de previsão candidata ser uma imagem de referência de curta duração ou uma imagem de referência de longa duração.
[000198] Como alternativa, é possível determinar se cada uma
56/110 dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata é uma imagem de referência de curta duração ou uma imagem de referência de longa duração, com base em índices de referência de longa duração da unidade de previsão atual e da primeira unidade de previsão candidata.
[000199] Quando todas dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata forem as imagens de referência de longa duração, é possível manter o vetor de movimento da primeira unidade de previsão candidata na lista de vetores de movimento candidatos, sem dimensionar um tamanho do vetor de movimento da primeira unidade de previsão candidata [000200] Quando uma dentre a imagem de referência da unidade de previsão atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de curta duração, e a outra dentre a imagem de referência da unidade de previsão atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de longa duração, é possível determinar não usar o vetor de movimento da primeira unidade de previsão candidata na lista de vetores de movimento candidatos.
[000201] Quando todas dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata forem as imagens de referência de curta duração, é possível dimensionar o tamanho do vetor de movimento da primeira unidade de previsão candidata e, então, incluir o vetor de movimento da primeira unidade de previsão candidata na lista de vetores de movimento candidatos.
[000202] O determinador da unidade de codificação 120 pode determinar um vetor de movimento de referência, selecionando um
57/110 vetor de movimento de referência ideal dentre vetores de movimento incluídos na lista de vetores de movimento candidatos, e pode prever e determinar o vetor de movimento da unidade de previsão atual usando o vetor de movimento de referência selecionado.
[000203] O determinador da unidade de codificação 120 pode determinar a imagem de referência da unidade de previsão atual, de acordo com um POC indicado pelo índice de referências da unidade de previsão atual. Independentemente da imagem de referência da unidade de previsão atual ser a imagem de referência de curta duração ou a imagem de referência de longa duração, o índice de referências pode indicar o POC, e o determinador da unidade de codificação 120 pode determinar uma imagem, que é indicada pelo POC, como a imagem de referência.
[000204] O determinador da unidade de codificação 120 pode determinar um bloco de referência, que é indicado pelo vetor de movimento da unidade de previsão atual na imagem de referência da unidade de previsão atual, e pode gerar dados residuais entre a unidade de previsão de referência e a unidade de previsão atual.
[000205] Por conseguinte, o determinador da unidade de codificação 120 pode executar previsão inter para cada unidade de previsão e, então, pode emitir os dados residuais para cada unidade de previsão.
[000206] O determinador da unidade de codificação 120 pode executar transformação e quantização em unidades de transformação de uma unidade de codificação, incluindo os dados residuais para cada unidade de previsão e, assim, pode gerar coeficientes de transformação quantizados. Nesse sentido, o determinador da unidade de codificação 120 pode gerar coeficientes de transformação quantizados para cada unidade de transformação.
[000207] Além disso, o determinador da unidade de codificação 120
58/110 pode executar operações da unidade de decodificação de vídeo 80 acima descritas com referência à Fig. 8, a fim de gerar uma imagem de referência usada em previsão inter de uma unidade de previsão.
[000208] O determinador da unidade de codificação 120 pode realizar quantização inversa e transformação inversa nos coeficientes de transformação quantizados da unidade de previsão atual e, portanto, pode restaurar os dados residuais do bloco atual.
[000209] O determinador da unidade de codificação 120 pode determinar a lista de vetores de movimento candidatos da unidade de previsão atual, e quando a imagem de referência da primeira unidade de previsão candidata dentre as unidades de previsão candidatas na lista de vetores de movimento candidatos da unidade de previsão atual for diferente da imagem de referência da unidade de previsão atual, o determinador da unidade de codificação 120 pode determinar se deve ou não usar um vetor de movimento da primeira unidade de previsão candidata da lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata ser a imagem de referência de curta duração ou a imagem de referência de longa duração.
[000210] O determinador da unidade de codificação 120 pode determinar o vetor de movimento de referência, selecionando o vetor de movimento de referência ideal dentre os vetores de movimento incluídos na lista de vetores de movimento candidatos, e pode prever e determinar o vetor de movimento da unidade de previsão atual usando o vetor de movimento de referência selecionado.
[000211] O determinador da unidade de codificação 120 pode
59/110 determinar a imagem de referência da unidade de previsão corrente indicada pelo índice de referências da unidade de previsão atual. Ou seja, a imagem de referência da unidade de previsão atual pode ser determinada, de acordo com o POC indicado pelo índice de referências da unidade de previsão atual. Independentemente da imagem de referência da unidade de previsão atual ser a imagem de referência de curta duração ou a imagem de referência de longa duração, o índice de referências pode indicar o POC e uma imagem, que é indicada pelo POC, pode ser determinada como a imagem de referência.
[000212] Assim, o determinador da unidade de codificação 120 pode realizar compensação de movimento para cada unidade de previsão, pode restaurar cada unidade de previsão e, portanto, pode restaurar a imagem atual, incluindo as unidades de previsão restauradas. A unidade de previsão restaurada e a imagem podem se tornar alvos de referência de outra unidade de previsão e de outra imagem.
[000213] A Fig. 10 é um diagrama de blocos de um aparelho de decodificação de vídeo 200 com base em uma unidade de codificação, de acordo com uma estrutura em árvore, de acordo com uma forma de realização, de acordo com a presente invenção.
[000214] O aparelho de decodificação vídeo 200, baseado na unidade de codificação, de acordo com a estrutura em árvore, inclui um receptor 210, um extrator de informações de codificação e dados de imagem 220, e um decodifiçador de dados de imagem 230. Adiante, por conveniência de descrição, o aparelho de decodificação de vídeo 200, usando previsão de vídeo com base em uma unidade de codificação de acordo com uma estrutura em árvore, será referido como o 'aparelho de decodificação de video 200'.
[000215] Definições de vários termos, tais como uma unidade de
60/110 codificação, uma profundidade, uma unidade de previsão, uma unidade de transformação, e informações sobre vários modos de codificação, para operações de decodificação do aparelho de decodificação de vídeo 200, são idênticas àquelas descritas com referência à Fig. 9 e ao aparelho de codificação de vídeo 100.
[000216] O receptor 210 recebe e analisa um fluxo de bits de um vídeo codificado. O extrator de informações de codificação e dados de imagem 220 extrai dados de imagem codificados para cada unidade de codificação do fluxo de bits analisado, no qual as unidades de codificação têm uma estrutura em á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ções de codificação e dados de imagem 220 pode extrair informações sobre um tamanho máximo de uma unidade de codificação de um quadro atual, de um cabeçalho sobre o quadro atual, um SPS, ou um PPS.
[000217] Além disso, o extrator de informações de codificação e dados de imagem 220 extrai informações sobre uma profundidade codificada e um modo de codificação para as unidades de codificação tendo uma estrutura em árvore, de acordo com cada unidade de codificação máxima, do fluxo de bits analisado. As informações extraídas sobre a profundidade codificada e o modo de codificação são emitidas para o decodificador de dados de imagem 230. Em outras palavras, os dados de imagem em um fluxo de bits são divididos na unidade de codificação máxima, para que o decodificador de dados de imagem 230 decodifique os dados de imagem para cada unidade de codificação máxima.
[000218] As informações sobre a profundidade codificada e o modo de codificação, de acordo com a unidade de codificação máxima, podem ser definidas para obter informações sobre pelo menos uma
61/110 unidade de codificação correspondente à profundidade codificada, e informações sobre um modo de codificação podem incluir informações sobre um tipo de partição de uma unidade de codificação correspondente à profundidade codificada, sobre um modo de previsão, e um tamanho de uma unidade de transformação. Além disso, informações de divisão, de acordo com profundidades, podem ser extraídas como as informações sobre a profundidade codificada. [000219] As informações sobre a profundidade codificada e o modo de codificação, de acordo com cada unidade de codificação máxima, extraídas pelo extrator de informações de codificação e dados de imagem 220 são informações sobre uma profundidade codificada e um modo de codificação determinado para gerar um erro mínimo de codificação, quando um codificador, tal como o aparelho de codificação de vídeo 100, executa repetidamente codificação para cada unidade de codificação mais profunda, de acordo com profundidades, de acordo com cada unidade de codificação máxima. Por conseguinte, o aparelho de decodificação de vídeo 200 pode restaurar uma imagem pela decodificação de dados de imagem, de acordo com uma profundidade codificada e um modo de codificação, que gera o erro mínimo de codificação.
[000220] Visto que as informações de codificação sobre a profundidade codificada e o modo de codificação podem ser atribuídas a uma unidade de dados predeterminada dentre uma unidade de codificação, uma unidade de previsão, e uma unidade mínima correspondente, o extrator de informações de codificação e dados de imagem 220 pode extrair as informações sobre a profundidade codificada e o modo de codificação, de acordo com as unidades de dados predeterminadas. As unidades de dados predeterminadas, às quais são atribuídas as mesmas informações sobre a profundidade codificada e o modo de codificação, podem ser
62/110 deduzidas como sendo as unidades de dados incluídas na mesma unidade de codificação máxima.
[000221] O decodificador de dados de imagem 230 restaura o quadro atual pela decodificação dos dados de imagem em cada unidade de codificação máxima, com base nas informações sobre a profundidade codificada e o modo de codificação, de acordo com as unidades de codificação máximas. Em outras palavras, o decodificador de dados de imagem 230 pode decodificar os dados de imagem codificados, com base nas informações extraídas 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, tendo a estrutura em árvore, incluídas em cada unidade de codificação máxima. Um processo de decodificação pode incluir previsão incluindo previsão intra e compensação de movimento, e transformação inversa. Transformação inversa pode ser executada, de acordo com um método de transformação ortogonal inversa ou transformação inversa de números inteiros.
[000222] O decodificador de dados de imagem 230 pode realizar previsão intra 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 nas informações 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 profundidades codificadas.
[000223] Além disso, o decodificador de dados de imagem 230 pode ler informações da unidade de transformação, de acordo com uma estrutura em árvore para cada unidade de codificação, a fim de determinar unidades de transformação para cada unidade de codificação e executar transformação inversa com base em unidades de transformação para cada unidade de codificação, para transformação inversa para cada unidade de codificação máxima.
63/110
Através da transformação inversa, um valor de pixel de uma região espacial da [000224] O unidade de codificação pode ser restaurado.
decodifiçador de dados de imagem 230 pode determinar pelo menos uma profundidade codificada de uma unidade de codificação máxima atual usando informações de divisão, de acordo com profundidades.
Se as informações de divisão indicarem que dados de imagem não são mais divididos na profundidade atual, a profundidade atual é uma profundidade codificada. Nesse sentido, o decodifiçador de dados de imagem
230 pode decodificar dados codificados de pelo menos uma unidade de codificação correspondente a cada profundidade codificada na unidade de codificação máxima atual, usando as informações 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 correspondente à profundidade codificada, e emitir os dados de imagem da unidade de codificação máxima corrente.
[000225] Em outras palavras, unidades de dados contendo as informações de codificação, incluindo as mesmas informações de divisão, podem ser obtidas, observando o conjunto de informações de codificação atribuído para a unidade de dados predeterminada dentre a unidade de codificação, a unidade de previsão, e a unidade mínima, e as unidades de dados obtidas podem ser consideradas como uma unidade de dados a ser decodificada pelo decodifiçador de dados de imagem 230 no mesmo modo de codificação. Para cada unidade de codificação determinada, conforme acima descrito, informações sobre um modo de codificação podem ser obtidas, a fim de decodificar a unidade de codificação atual.
[000226] Além disso, o decodifiçador de dados de imagem 230 do aparelho de decodificação de vídeo 200 mostrado na Fig. 10 pode realizar operações do aparelho determinador de vetor de movimento
64/110 e da unidade de decodificação de video 80, acima descritas com referência à Fig. 1.
[000227] O decodifiçador de dados de imagem 230 pode determinar unidades de previsão para compensação de movimento, e pode efetuar a compensação de movimento nas respectivas unidades de previsão para cada respectiva unidade de codificação, de acordo com uma estrutura em árvore, em cada unidade de codificação máxima. O decodifiçador de dados de imagem 230 pode realizar quantização inversa e transformação inversa em coeficientes de transformação quantizados da unidade de previsão atual e, portanto, pode restaurar dados residuais do bloco atual. O decodifiçador de dados de imagem 230 pode executar compensação de movimento na unidade de previsão atual, que foi codificada através de previsão inter e, portanto, pode restaurar a unidade de previsão atual.
[000228] O decodificador de dados de imagem 230 pode determinar uma lista de vetores de movimento candidatos da unidade de previsão atual, e quando uma imagem de referência de uma primeira unidade de previsão candidata dentre unidades de previsão candidatas na lista de vetores de movimento candidatos for diferente de uma imagem de referência da unidade de previsão atual, o decodificador de dados de imagem 230 pode determinar se deve ou não usar um vetor de movimento da primeira unidade de previsão candidata da lista de vetores de movimento candidatos, dependendo de cada uma dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata ser uma imagem de referência de curta duração ou uma imagem de referência de longa duração. A primeira unidade de previsão candidata pode ser uma unidade de previsão vizinha, que é adjacente à unidade de previsão atual em uma imagem atual, ou pode ser uma unidade de previsão co-localizada em uma imagem
65/110 co-localizada.
[000229] É possível determinar se cada uma dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata é uma imagem de referência de curta duração ou uma imagem de referência de longa duração, com base em índices de referência de longa duração da unidade de previsão atual e da primeira unidade de previsão candidata.
[000230] Quando todas dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata forem as imagens de referência de longa duração, é possível manter o vetor de movimento da primeira unidade de previsão candidata na lista de vetores de movimento candidatos, sem dimensionar um tamanho do vetor de movimento da primeira unidade de previsão candidata.
[000231] Quando uma dentre a imagem de referência da unidade de previsão atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de curta duração, e a outra dentre a imagem de referência da unidade de previsão atual e a imagem de referência do primeiro bloco candidato for a imagem de referência de longa duração, é possível determinar não usar o vetor de movimento da primeira unidade de previsão candidata na lista de vetores de movimento candidatos.
[000232] Quando todas dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata forem as imagens de referência de curta duração, é possível dimensionar o tamanho do vetor de movimento da primeira unidade de previsão candidata e, então, incluir o vetor de movimento da primeira unidade de previsão candidata na lista de vetores de movimento candidatos.
66/110 [000233] O decodificador de dados de imagem 230 pode determinar um vetor de movimento de referência, selecionando um vetor de movimento de referência ideal dentre vetores de movimento incluídos na lista de vetores de movimento candidatos, e pode prever e determinar o vetor de movimento da unidade de previsão atual usando o vetor de movimento de referência selecionado.
[000234] O decodificador de dados de imagem 230 pode determinar a imagem de referência da unidade de previsão atual, de acordo com um POC indicado pelo índice de referências da unidade de previsão atual. Independentemente da imagem de referência da unidade de previsão atual ser a imagem de referência de curta duração ou a imagem de referência de longa duração, o índice de referências pode indicar o POC e o decodificador de dados de imagem 230 pode determinar uma imagem, que é indicada pelo POC, como a imagem de referência.
[000235] Uma unidade de previsão de referência, que é indicada pelo vetor de movimento da unidade de previsão atual na imagem de referência da unidade de previsão atual, pode ser determinada, e a unidade de previsão de referência e os dados residuais da unidade de previsão atual podem ser sintetizados, para que a unidade de previsão atual possa ser restaurada.
[000236] Assim, o decodificador de dados de imagem 230 pode realizar compensação de movimento para cada unidade de previsão, pode restaurar cada unidade de previsão e, portanto, pode restaurar a imagem atual, incluindo as unidades de previsão restauradas. Como imagens são restauradas da forma acima citada, um vídeo, incluindo uma sequência das imagens restauradas, pode ser restaurado. Além disso, a imagem e unidade de previsão restauradas podem tornar-se alvos de referência de outra unidade de previsão e de outra imagem.
67/110 [000237] O aparelho para decodificar vídeo 200 pode obter informações sobre pelo menos uma unidade de codificação, que gera o menor erro de codificação, quando a codificação for recursivamente executada para cada unidade de codificação máxima, e pode usar as informações para decodificar o quadro atual. Em outras palavras, as unidades de codificação tendo a estrutura em arvore, determinadas como sendo as unidades de codificação ideais em cada unidade de codificação máxima, podem ser decodificadas. Além disso, o tamanho máximo de uma unidade de codificação é determinado, considerando a resolução e uma quantidade de dados de imagem.
[000238] Nesse sentido, mesmo se os dados de imagem tiverem alta resolução e uma grande quantidade de dados, os dados de imagem podem ser eficientemente decodificados e restaurados usando um tamanho de uma unidade de codificação e um modo de codificação, que adaptavelmente são determinados de acordo com as características dos dados de imagem, por meio de informações sobre um modo de codificação ideal recebidas de um codificador.
[000239] A Fig. 11 é um diagrama para descrever um conceito de unidades de codificação, de acordo com uma forma de realização da presente invenção.
[000240] Um tamanho de uma unidade de codificação pode ser expresso em largura x altura, e pode ser de 64 x 64, 32 x 32, 16 x 16 e 8 x 8. Uma unidade de codificação de 64 x 64 pode ser dividida em partições de 64 x 64, 64 x 32, 32 x 64 ou 32 x 32, e uma unidade de codificação de 32 x 32 pode ser dividida em partições de 32 x 32, 32 x 16, 16 x 32 ou 16 x 16, uma unidade de codificação de 16 x 16 pode ser dividida em partições de 16 x 16, 16x8, 8x16, ou 8x8, e uma unidade de codificação de 8 x 8 pode ser dividida em partições de 8 x 8, 8x4, 4x8, ou 4 x 4.
68/110 [000241] Nos dados de vídeo 310, uma resolução é de 1920 x 1080, o tamanho máximo de uma unidade de codificação é de 64, e uma profundidade máxima é de 2. Nos dados de vídeo 320, uma resolução é de 1920 x 1080, um tamanho máximo de uma unidade de codificação é de 64, e uma profundidade máxima é de 3. Nos dados de vídeo 330, uma resolução é de 352 x 288, 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 Fig. 11 denota um número total de divisões, a partir de uma unidade de codificação máxima até uma unidade de decodificação mínima.
[000242] Se uma resolução for alta ou uma quantidade de dados for grande, um tamanho máximo de uma unidade de codificação pode ser grande, a fim de aumentar a eficiência de codificação e para refletir com precisão as características de uma imagem. Consequentemente, o tamanho máximo da unidade de codificação dos dados de vídeo 310 e 320, tendo maior resolução que os dados de vídeo 330, pode ser 64.
[000243] Uma vez que a profundidade máxima dos dados de vídeo 310 é 2, unidades de codificação 315 dos dados de vídeo 310 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 64, e unidades de codificação com tamanhos de eixo longo de 32 e 16, uma vez que profundidades são aumentadas em duas camadas, dividindo-se a unidade de codificação máxima por duas vezes. Entretanto, uma vez que a profundidade máxima dos dados de vídeo 330 é 1, unidades de codificação 335 dos dados de vídeo 330 podem incluir uma unidade de codificação máxima tendo um tamanho de eixo longo de 16, e unidades de codificação com um tamanho de eixo longo de 8, visto que profundidades são aumentadas em uma camada, dividindo-se a unidade de codificação máxima por uma vez.
[000244] Uma vez que a profundidade máxima dos dados de vídeo 320
69/110 é 3, unidades de codificação 325 dos dados de vídeo 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 8, 16 e 32, visto que as profundidades são aumentadas em 3 camadas, dividindo-se a unidade de codificação máxima por três vezes. Quando uma profundidade aumenta, informações detalhadas podem ser precisamente expressas.
[000245] A Fig. 12 é um diagrama de blocos detalhado de um codificador de imagens 400 com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[000246] O codificador de imagem 400 executa operações do determinador da unidade de codificação 120 do aparelho de codificação de vídeo 100 para codificar dados de imagem. Em outras palavras, um previsor intra 410 executa previsão intra nas unidades de codificação em um modo intra, dentre uma moldura atual 405, e um estimador de movimento 420, e um compensador de movimento 425 executa compensação de movimento e estimativa inter nas unidades de codificação em um modo inter dentre a moldura atual 405 usando a moldura atual 405 e uma moldura de referência 495.
[000247] Dados emitidos pelo previsor intra 410, o estimador de movimento 420, e o compensador de movimento 425 são emitidos como coeficientes de transformação quantizados, através de um transformador 430 e um quantizador 440. Os coeficientes de transformação quantizados são restaurados como dados em um domínio espacial, através de um quantizador inverso 460 e um transformador inverso 470, e os dados restaurados no domínio espacial são emitidos como a moldura de referência 4 95, após ser pósprocessados através de uma unidade de desbloqueio 480 e uma unidade de filtragem de circuito 490. Os coeficientes de
70/110 transformação quantizados podem ser emitidos como um fluxo de bits
455, através | de | um codificador por entropia | 450. | |||
[000248] A | fim | de que o codificador | de imagem 4 00 | seja | aplicado | |
no aparelho | de | codificação de vídeo | 100, | todos os | elementos do | |
codificador | de | imagem 400, ou seja | , o | previsor | intra | 410, o |
estimador de movimento 420, o compensador de movimento 425, o transformador 430, o quantizador 440, o codificador por entropia 450, o quantizador inverso 460, o transformador inverso 470, a unidade de desbloqueio 480 e a unidade de filtragem de circuito 490 executam operações com base em cada unidade de codificação dentre unidades de codificação tendo uma estrutura em árvore, enquanto consideram a profundidade máxima de cada unidade de codificação máxima.
[000249] Especificamente, o previsor intra 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 em árvore, ao considerar 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 em árvore.
[000250] Especificamente, para previsão do vetor de movimento, mesclagem de PU, ou AMVP, o estimador de movimento 420 pode prever um vetor de movimento de uma unidade de previsão atual (partição), fazendo referência a um vetor de movimento de outra unidade de previsão.
[000251] Quando uma imagem de referência de uma primeira unidade de previsão candidata dentre as unidades de previsão candidatas na lista de vetores de movimento candidatos da unidade de previsão
71/110 atual for diferente da moldura de referência 4 95 da unidade de previsão atual, o estimador de movimento 420 determina se deve ou não usar um vetor de movimento da primeira unidade de previsão candidata da lista de vetores de movimento candidatos, baseado em se cada uma dentre a moldura de referência 4 95 da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata for uma imagem de referência de curta duração ou uma imagem de referência de longa duração.
[000252] Quando pelo menos uma dentre a imagem de referência da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata for a imagem de referência de longa duração, o estimador de movimento 420 pode determinar a inclusão do vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos, enquanto um tamanho do vetor de movimento do primeiro bloco candidato não for dimensionado, ou pode determinar não usar o vetor de movimento do primeiro bloco candidato na lista de vetores de movimento candidatos.
[000253] O estimador de movimento 420 pode determinar um vetor de movimento de referência, selecionando um vetor de movimento de referência ideal dentre vetores de movimento incluídos na lista de vetores de movimento candidatos, e pode prever e determinar o vetor de movimento da unidade de previsão atual usando o vetor de movimento de referência selecionado. O estimador de movimento 420 pode determinar um bloco de referência, que é indicado pelo vetor de movimento do bloco atual na moldura de referência 495 da unidade de previsão atual, e pode gerar dados residuais entre a unidade de previsão de referência e a unidade de previsão atual. Nesse sentido, o estimador de movimento 420 pode emitir dados residuais para cada unidade de previsão.
[000254] Além disso, quando a imagem de referência da primeira
72/110 unidade de previsão candidata dentre as unidades de previsão candidatas na lista de vetores de movimento candidatos da unidade de previsão atual for diferente do quadro de referência 495 da unidade de previsão atual, o compensador de movimento 425 pode também determinar se deve ou não usar, ou se é necessário excluir, o vetor de movimento da primeira unidade de previsão candidata da lista de vetores de movimento candidatos, baseado pelo menos em uma dentre a moldura de referência 495 da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata ser a imagem de referência de longa duração.
[000255] O compensador de movimento 425 pode determinar um vetor de movimento de referência, selecionando um vetor de movimento de referência ideal dentre os vetores de movimento incluídos na lista de vetores de movimento candidatos, e pode prever e determinar o vetor de movimento da unidade de previsão atual, usando o vetor de movimento de referência selecionado.
[000256] O compensador de movimento 425 pode determinar uma unidade de previsão de referência, que é indicada pelo vetor de movimento da unidade de previsão atual na moldura de referência 4 95, pode sintetizar a unidade de previsão de referência e os
dados residuais | da | unidade de | previsão atual | e, | portanto, | pode |
restaurar a unidade | de previsão | atual. | ||||
[000257] Assim, | 0 | compensador | de movimento | 425 | pode realizar | |
compensação de | movimento para | cada unidade | de | previsão, | pode |
restaurar cada unidade de previsão e, portanto, pode restaurar a imagem atual, incluindo as unidades de previsão restauradas. A unidade de previsão restaurada e a imagem podem se tornar alvos de referência de outra unidade de previsão e de outra imagem.
[000258] A Fig. 13 é um diagrama de blocos de um decodificador de imagens 500, com base em unidades de codificação, de acordo com
73/110 uma forma de realização da presente invenção.
[000259] Um analisador 510 analisa informações sobre codificação necessárias para decodificar um fluxo de' bits 505 e dados de imagem codificados a serem decodificados. Os dados de imagem codificados são emitidos como dados quantizados inversos, através de um decodificador por entropia 520 e um quantizador inverso 530, e os dados quantizados inversos são restaurados como dados de imagem em um domínio espacial através de um transformador inverso 540.
[000260] Um previsor intra 550 executa previsão intra nas unidades de codificação em um modo intra, em relação aos dados de imagem no domínio espacial, e um compensador de movimento 560 executa compensação de movimento em unidades de codificação em um modo inter usando uma moldura de referência 585.
[000261] Os dados de imagem no domínio espacial, que passaram pelo previsor intra 550 e o compensador de movimento 560, podem ser emitidos como uma moldura restaurada 595, após ser pósprocessados através de uma unidade de desbloqueio 570 e uma unidade de filtragem de circuito 580. Além disso, dados de imagem, que são pós-processados através da unidade de desbloqueio 570 e a unidade de filtragem de circuito 580, podem ser emitidos como a moldura de referência 585.
[000262] Para decodificar os dados de imagem no decodificador de dados de imagem 230 do aparelho de decodificação de vídeo 200, o decodificador de imagem 500 pode realizar operações que são executadas, após o analisador 510 executar uma operação.
[000263] A fim de que o decodificador de imagem 500 seja aplicado no aparelho de decodificação de vídeo 200, todos os elementos do decodificador de imagem 500, ou seja, o analisador 510, o decodificador por entropia 520, o quantizador inverso 530, o
74/110 transformador inverso 540, o previsor intra 550, o compensador de movimento 560, a unidade de desbloqueio 570 e a unidade de filtragem de circuito 580 executam operações com base nas unidades de codificação com uma estrutura em árvore para cada unidade de codificação máxima.
[000264] Especificamente, o previsor intra 550 e o compensador de movimento 560 executam operações com base em partições e um modo de previsão para cada uma das unidades de codificação tendo uma estrutura em árvore, e o transformador inverso 540 executa operações com base em um tamanho de uma unidade de transformação para cada unidade de codificação.
[000265] Especificamente, quando uma imagem de referência de uma primeira unidade de previsão candidata dentre unidades de previsão candidatas em uma lista de vetores de movimento candidatos de uma unidade de previsão atual for diferente da moldura de referência 585 da unidade de previsão atual, o compensador de movimento 560 pode determinar se deve ou não usar, ou se é necessário excluir um vetor de movimento da primeira unidade de previsão candidata da lista de vetores de movimento candidatos, com base na condição de pelo menos uma dentre a moldura de referência 585 da unidade de previsão atual e a imagem de referência da primeira unidade de previsão candidata ser uma imagem de referência de longa duração.
[000266] O compensador de movimento 560 pode determinar um vetor de movimento de referência, selecionando um vetor de movimento de referência ideal dentre os vetores de movimento incluídos na lista de vetores de movimento candidatos, e pode prever e determinar o vetor de movimento da unidade de previsão atual usando o vetor de movimento de referência selecionado.
[000267] O compensador de movimento 560 pode determinar a moldura de referência 585 indicada por um POC, de acordo com o índice de
75/110 referências da unidade de previsão atual, pode determinar uma unidade de previsão de referência, que é indicada pelo vetor de movimento da unidade de previsão atual na moldura de referência 585, pode sintetizar a unidade de previsão de referência e os
dados residuais | da | unidade de | previsão atual | e, | portanto, | pode |
restaurar a unidade | de previsão | atual. | ||||
[000268] Assim, | o | compensador | de movimento | 560 | pode realizar | |
compensação de | movimento para | cada unidade | de | previsão, | pode |
restaurar cada unidade de previsão e, portanto, pode restaurar a imagem atual, incluindo as unidades de previsão restauradas. A unidade de previsão restaurada e a imagem podem se tornar alvos de referência de outra unidade de previsão e de outra imagem.
[000269] A Fig. 14 é um diagrama ilustrando unidades de codificação mais profundas, de acordo com profundidades e partições, de acordo com uma forma de realização da presente invenção.
[000270] O aparelho para codificar video 100 e o aparelho para decodificar video 200 usam unidades de codificação hierárquicas, a fim de considerar as características de uma imagem. Uma altura máxima, largura máxima, e uma profundidade máxima das unidades de codificação podem ser adaptavelmente determinadas, de acordo com as características da imagem, ou podem ser definidas de forma diferente por um usuário. Tamanhos das unidades de codificação mais profundas, de acordo com profundidades, podem ser determinados, de acordo com o tamanho máximo predeterminado da unidade de codificação.
[000271] Em uma estrutura hierárquica 600 de unidades de codificação, de acordo com uma forma de realização da presente invenção, a altura máxima e a largura máxima das unidades de codificação são, cada qual, iguais a 64, e a profundidade máxima é
76/110
4. Neste caso, a profundidade máxima se refere a um numero total de vezes que a unidade de codificação é dividida, a partir da unidade de codificação máxima para a unidade de codificação mínima. Visto que uma profundidade aumenta ao longo de um eixo vertical da estrutura hierárquica 600, uma altura e uma largura da unidade de codificação mais profunda são, cada qual, divididas. Além disso, uma unidade de previsão e partições, que são as bases para a codificação por previsão de cada unidade de codificação mais profunda, são mostradas ao longo de um eixo horizontal da estrutura hierárquica 600.
[000272] Em outras palavras, uma unidade de codificação 610 é uma unidade de codificação máxima na estrutura hierárquica 600, onde
uma profundidade | é 0, e um tamanho, | ou seja, i | ima altura pela | |||
largura, é | 64 x | 64. | A | profundidade | aumenta ao | longo do eixo |
vertical, | existindo | uma | unidade de | codificação | 620 tendo | um |
tamanho de | 32 x | 32 | e | uma profundidade de 1, | uma unidade | de |
codificação | 630 tendo | um | tamanho de 16 | x 16 e uma | profundidade | de |
2, uma unidade de codificação 64 0 tendo um tamanho de 8 x 8 e uma profundidade de 3. A unidade de codificação 640 tendo um tamanho de 8 x 8 e a profundidade de 3 é uma unidade de codificação minima tenho uma menor profundidade.
[000273] A unidade de previsão e as partições de uma unidade de codificação são dispostas ao longo do eixo horizontal, de acordo com cada profundidade. Em outras palavras, se a unidade de codificação 610, tendo o tamanho de 64x64 e a profundidade de 0, for uma unidade de previsão, a unidade de previsão pode ser dividida em partições incluídas na unidade de codificação 610, ou seja, uma partição 610 tendo um tamanho de 64 x 64, partições 612 tendo o tamanho de 64 x 32, partições 614 tendo o tamanho de 32 x 64, ou partições 616 tendo o tamanho de 32 x 32.
77/110 [000274] Da mesma forma, uma unidade de previsão da unidade de codificação 620, tendo o tamanho de 32 x 32 e a profundidade de 1, pode ser dividida em partições incluídas na unidade de codificação 620, ou seja, uma partição 620 tendo um tamanho de 32 x 32, partições 622 tendo um tamanho de 32 x 16, partições 624 tendo um tamanho de 16 x 32, e partições 626 tendo um tamanho de 16 x 16.
[000275] Da mesma forma, uma unidade de previsão da unidade de codificação 630 tendo o tamanho de 16 x 16 e a profundidade de 2 pode ser dividida em partições incluídas na unidade de codificação 630, ou seja, uma partição tendo um tamanho de 16 x 16 incluído na unidade de codificação 630, partições 632 tendo um tamanho de 16 x 8, partições 634 tendo um tamanho de 8 x 16, e partições 636 tendo um tamanho de 8 x 8.
[000276] Da mesma forma, uma unidade de previsão da unidade de codificação 640, tendo o tamanho de 8 x 8 e a profundidade de 3, pode ser dividida em partições incluídas na unidade de codificação 640, ou seja, uma partição tendo um tamanho de 8 x 8 incluído na unidade de codificação 640, partições 642 tendo um tamanho de 8 x 4, partições 644 tendo um tamanho de 4 x 8, e partições 64 6 tendo um tamanho de 4 x 4.
[000277] A fim de determinar pelo menos uma profundidade codificada das unidades de codificação, que constitui a unidade de codificação máxima 610, o determinador da unidade de codificação 120 do aparelho para codificar vídeo 100 executa codificação para unidades de codificação correspondentes a cada profundidade incluída na unidade de codificação máxima 610.
[000278] Um número de unidades de codificação mais profundas, de acordo com profundidades incluindo dados na mesma faixa e mesmo tamanho, aumenta à medida que a profundidade aumenta. Por exemplo, quatro unidades de codificação correspondentes a uma profundidade
78/110 de 2 são necessárias para abranger dados, que estão incluídos em uma unidade de codificação correspondente a uma profundidade de 1. Nesse sentido, a fim de comparar resultados de codificação dos mesmos dados, de acordo com profundidades, a unidade de codificação correspondente à profundidade de 1 e quatro unidades de codificação correspondentes à profundidade de 2 são, cada qual, codificadas.
[000279] Para realizar a codificação para uma profundidade atual dentre as profundidades, um menor erro de codificação pode ser escolhido para a profundidade atual, através da realização de codificação para cada unidade de previsão nas unidades de codificação correspondentes à profundidade atual, ao longo do eixo horizontal da estrutura hierárquica 600. Como alternativa, o menor erro de codificação pode ser procurado, comparando os menores erros de codificação de acordo com profundidades, através da realização de codificação para cada profundidade, enquanto a profundidade aumenta ao longo do eixo vertical da estrutura hierárquica 600. Uma profundidade e uma partição com o menor erro de codificação 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.
[000280] A Fig. 15 é um diagrama para descrever uma relação entre uma unidade de codificação 710 e unidades de transformação 720, de acordo com uma forma de realização da presente invenção.
[000281] 0 aparelho para codificar vídeo 100 ou 200 codifica ou decodifica uma imagem, de acordo com as unidades de codificação com tamanhos menores 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 a codificação podem ser selecionados com base em unidades de dados, que não são maiores do
79/110 que uma unidade de codificação correspondente.
[000282] Por exemplo, no aparelho para codificar video 100 ou 200, se um tamanho da unidade de codificação 710 for 64 x 64, transformação pode ser realizada usando as unidades de transformação 720 tendo um tamanho de 32 x 32.
[000283] Além disso, dados da unidade de codificação 710 tendo o tamanho de 64x64 podem ser codificados por meio de transformação em cada uma das unidades de transformação tendo o tamanho de 32 x 32, 16 x 16, 8 x 8 e 4 x 4, que são menores do que 64 x 64 e, então, uma unidade de transformação tendo o menor erro de codificação pode ser selecionada.
[000284] A Fig. 16 é um diagrama para descrever informações de codificação de unidades de codificação, que correspondem a uma profundidade codificada, de acordo com uma forma de realização da presente invenção.
[000285] A unidade de saida 130 do aparelho para codificar video 100 pode codificar e transmitir informações 800 sobre um tipo de partição, informações 810 sobre um modo de previsão, e informações 820 sobre um tamanho de uma unidade de transformação para cada unidade de codificação correspondente a uma profundidade codificada, como informações sobre um modo de codificação.
[000286] As informações 800 indicam informações sobre um formato de uma partição obtida, dividindo-se uma unidade de previsão de uma unidade de codificação atual, em que a partição é uma unidade de dados para codificação por 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 806 tendo um tamanho de Nx2N, e uma partição 808 tendo um tamanho de Nx2N. Aqui, as informações 800 sobre um
80/110 tipo de partição são definidas para indicar uma dentre a 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.
[000287] As informações 810 indicam um modo de previsão de cada partição. Por exemplo, as informações 810 podem indicar um modo de codificação por previsão realizada em uma partição indicada pelas informações 800, ou seja, um modo intra 812, um modo inter 814, ou um modo ignorar 816.
[000288] As informações 820 indicam uma unidade de transformação a ser baseada, quando a transformação for realizada em uma unidade de codificação atual. Por exemplo, a unidade de transformação pode ser uma primeira unidade de transformação intra 822, uma segunda unidade de transformação intra 824, uma primeira unidade de transformação inter 826, ou uma segunda unidade de transformação inter 828.
[000289] 0 extrator de informações de codificação e dados de imagem 220 do aparelho para decodificar vídeo 200 pode extrair e usar as informações 800, 810 e 820 para decodificação, de acordo com cada unidade de codificação mais profunda.
[000290] A Fig. 17 é um diagrama das unidades de codificação mais profundas, de acordo com profundidades, de acordo com uma forma de realização da presente invenção.
[000291] Informações de divisão podem ser usadas para indicar uma mudança de uma profundidade. As informações de divisão indicam se uma unidade de codificação de uma profundidade atual foi dividida em unidades de codificação de uma menor profundidade.
[000292] Uma unidade de previsão 910 para codificar por previsão 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 uma
81/110 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 Fig. 17 ilustra apenas os tipos de partição 912 a 918 obtidos, dividindo-se simetricamente a unidade de previsão 910, mas um tipo de partição não é por este aspecto limitado, 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.
[000293] Codificação por previsão é executada repetidamente 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_0xN_0, de acordo com cada tipo de partição. A codificação por previsão em um modo intra e um modo inter pode ser efetuada nas partições tendo os tamanhos de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 e N_0xN_0. A codificação por previsão em um modo ignorar é realizada somente na partição com o tamanho de 2N_0x2N_0.
[000294] Erros de codificação, incluindo a codificação por previsão nos tipos de partição 912 a 918, são comparados, e o menor erro de codificação é determinado entre os tipos de partição. Se um erro de codificação for o menor deles em um dos tipos de partição 912 a 916, a unidade de previsão 910 não precisa ser dividida em uma menor profundidade.
[000295] Se o erro de codificação for o menor deles no tipo de partição 918, uma profundidade é alterada de 0 para 1, para dividir o tipo de partição 918 na operação 920, e codificação é executada repetidamente nas unidades de codificação 930 tendo uma profundidade de 2 e um tamanho de N_0xN_0, para procurar um menor erro de codificação.
[000296] Uma unidade de previsão 940 para codificar por previsão
82/110 a 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 1, um tipo de partição 946 tendo | um |
tamanho de | N_ | _lx2N_l, | e um tipo de partição 948 tendo um tamanho | de |
N_lxN_l. | ||||
[000297] | Se | um erro | de codificação for o menor deles no tipo | de |
partição 948, uma profundidade é alterada de 1 para 2, para dividir o tipo de partição 948 na operação 950, e codificação é executada repetidamente nas unidades de codificação 960, que têm uma profundidade de 2 e um tamanho de N_2xN_2, para procurar um menor erro de codificação.
[000298] Quando uma profundidade máxima for d, operação de divisão, de acordo com cada profundidade, pode ser realizada, até quando uma profundidade se torne d-1, e informações de divisão podem ser codificadas até quando uma profundidade for uma de 0 a d-2. Em outras palavras, quando a codificação for realizada até quando a profundidade for d-1, depois de uma unidade de codificação correspondente a uma profundidade d-2 ser dividida na operação 970, uma unidade de previsão 990 para codificar por previsão uma unidade de codificação 980, tendo uma profundidade d1 e um tamanho 2N_(d-1)x2N_(d-1), 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-1)xN_(d-1), um tipo de partição 996 tendo um tamanho de N_(d-1)x2N_(d-1), e um tipo de partição 998 tendo um tamanho de N_(d-1)xN_(d-l).
[000299] Codificação por previsão pode ser executada repetidamente em uma partição tendo um tamanho de 2N_(d-1)x2N_(d1), duas partições tendo um tamanho de 2N_(d-1)xN_(d-1), duas partições tendo um tamanho de N_(d-1)x2N_(d-1), quatro partições
83/110 tendo um tamanho de N_(d-1)xN_(d-l), dentre os tipos de partição
992 a 998, para procurar um tipo de partição tendo um menor erro de codificação.
[000300] Mesmo quando o tipo de partição 998 tiver o menor erro de codificação, uma vez que a profundidade máxima é d, uma unidade de codificação CU_(d-l) tendo uma profundidade d-1 não é mais dividida em uma menor profundidade, e uma profundidade codificada para as unidades de codificação, constituindo uma unidade de codificação máxima atual 900, é determinada como sendo d-1, e um tipo de partição da unidade de codificação máxima atual 900 pode ser determinado como sendo N_(d-1)xN_(d-l). Além disso, uma vez que a profundidade máxima é d, e uma unidade de codificação mínima 980, tendo uma menor profundidade d-1, não é mais dividida em uma menor profundidade, informações de divisão para a unidade de codificação mínima 980 não são definidas.
[000301] Uma unidade de dados 999 pode ser uma 'unidade mínima' para a unidade de codificação máxima atual. Uma unidade mínima, de acordo com uma forma de realização da presente invenção, pode ser uma unidade de dados retangulares obtida, dividindo-se uma unidade de codificação mínima 980 por 4. Realizando a codificação repetidamente, o aparelho para codificar vídeo 100 pode selecionar uma profundidade tendo o menor erro de codificação, comparando erros de codificação, de acordo com profundidades da unidade de codificação 900, para determinar uma profundidade codificada, e definir um tipo de partição correspondente e um modo de previsão, como um modo de codificação da profundidade codificada.
[000302] Assim sendo, os menores erros de codificação, de acordo com profundidades, são comparados em todas as profundidades de 1 a d, e uma profundidade tendo o menor erro de codificação pode ser determinada como uma profundidade codificada. A profundidade
84/110 codificada, o tipo de partição da unidade de previsão, e o modo de previsão podem ser codificados e transmitidos como informações sobre um modo de codificação. Além disso, como uma unidade de codificação é dividida de uma profundidade 0 em uma profundidade codificada, só informações de divisão da profundidade codificada são definidas como 0, e informações de divisão das profundidades, excluindo a profundidade codificada, são definidas como 1.
[000303] O extrator de informações de codificação e dados de imagem 220 do aparelho para decodificar vídeo 200 pode extrair e usar as informações sobre a profundidade codificada e a unidade de previsão da unidade de codificação 900, para decodificar a partição 912. O aparelho para decodificar vídeo 200 pode determinar uma profundidade, em que informações de divisão são 0, como uma profundidade codificada usando informações de divisão de acordo com profundidades, e usar as informações sobre um modo de codificação da profundidade correspondente para decodificação.
[000304] As Figs. 18 a 20 são diagramas para descrever uma relação entre unidades de codificação 1010, unidades de previsão 1060, e unidades de transformação 1070, de acordo com uma forma de realização da presente invenção.
[000305] As unidades de codificação 1010 são unidades de codificação tendo uma estrutura em árvore correspondente às profundidades codificadas determinadas pelo aparelho para codificar vídeo 100, em uma unidade de codificação máxima. As unidades de previsão 1060 são partições de 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.
[000306] Quando uma profundidade de uma unidade de codificação máxima for 0 nas unidades de codificação 1010, profundidades das
85/110 unidades de codificação 1012 e 1054 são 1, profundidades das unidades de codificação 1014, 1016, 1018, 1028, 1050 e 1052 são 2, profundidades das unidades de codificação 1020, 1022, 1024, 1026,
1030, 1032 e 1048 são 3, e profundidades das unidades de codificação 1040, 1042, 1044 e 1046 são 4.
[000307] Nas unidades de previsão 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052 e 1054 são obtidas, dividindo-se as unidades de codificação nas unidades de codificação 1010. Em outras palavras, os tipos de partição nas unidades de codificação 1014, 1022, 1050 e 1054 têm um tamanho de 2NxN, 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. Unidades de previsão e partições das unidades de codificação 1010 são menores ou iguais a cada unidade de codificação.
[000308] Transformação ou transformação inversa é realizada em dados de imagem da unidade de codificação 1052 nas unidades de transformação 1070 em uma unidade de dados, que é menor do que a unidade de codificação 1052. Além disso, as unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050 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 aparelhos para codificar e decodificar vídeo 100 e 200 podem executar previsão intra, estimativa de movimento, compensação de movimento, transformação, e transformação inversa individualmente em uma unidade de dados na mesma unidade de codificação.
[000309] Nesse sentido, codificação é recursivamente executada 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,
86/110 para determinar uma unidade de codificação ideal e, assim, unidades de codificação tendo uma estrutura em árvore recursiva podem ser obtidas. Informações de codificação podem incluir informações de divisão sobre uma unidade de codificação, informações sobre um tipo de partição, informações sobre um modo de previsão, e informações sobre um tamanho de uma unidade de transformação. A Tabela 1 mostra as informações de codificação, que podem ser definidas pelos aparelhos para codificar e decodificar vídeo 100 e 200.
Tabela 1
Informações de divisão 0 (Codificação em unidade de codificação tendo tamanho de 2Nx2N e profundidade atual de d) | Informações de divisão 1 | |||
Modo de previsão | Tipo de partição | Tamanho da unidade de transformação | Codificar repetidamente unidades de codificação tendo menor profundidade de d + 1 | |
Intra Inter Ignorar (apenas 2Nx2N) | Tipo de partição simétrico | Tipo de partição assimétrico | Informações de divisão 0 da unidade de transformação | Informações de divisão 1 da unidade de transformação |
2Nx2N 2NxN Nx2N NxN | 2NxnU 2NxnD nLx2N nRx2N | 2Nx2N | NxN (Tipo simétrico) N/2xN/2 (Tipo assimétrico) |
[000310] A unidade de saída 130 do aparelho para codificar vídeo
100 pode emitir as informações de codificação sobre as unidades de
codificação | tendo uma estrutura | em | árvore, | e | o | extrator | de | |
informações | de codificação | e dados | de | imagem | 220 | do | aparelho | de |
decodificar | vídeo 200 pode | extrair | as | informações | de | codificação |
sobre as unidades de codificação tendo uma estrutura em árvore do
87/110 fluxo de bits recebido.
[000311] Informações de divisão indicam se uma unidade de codificação atual foi dividida em unidades de codificação de menor profundidade. Se informações de divisão de uma profundidade atual d forem 0, uma profundidade, em que uma unidade de codificação atual não é mais dividida em uma menor profundidade, é uma profundidade codificada e, assim, informações sobre um tipo de partição, modo de previsão, e um tamanho de uma unidade de transformação, podem ser definidas para a profundidade codificada. Se a unidade de codificação atual for ainda dividida, de acordo com as informações de divisão, a codificação é independentemente realizada em quatro unidades de codificação divididas de menor profundidade.
[000312] Um modo de previsão pode ser de um modo intra, um modo inter, e um modo ignorar. 0 modo intra e modo inter podem ser definidos em todos os tipos de partição, e o modo ignorar é definido apenas em um tipo de partição tendo um tamanho de 2Nx2N.
[000313] As informações sobre o tipo de partição podem indicar tipos de partição simétricos tendo tamanhos de 2Nx2N, 2NxN, Nx2N e NxN, que são obtidos, dividindo-se simetricamente uma altura ou largura de uma unidade de previsão, .e tipos de partição assimétricos tendo tamanhos de 2NxnU, 2NxnD, nLx2N e nRx2N, que são obtidos, dividindo-se assimetricamente a altura ou largura da unidade de previsão. Os tipos de partição assimétricos tendo os tamanhos de 2NxnU e 2NxnD podem ser obtidos, respectivamente, dividindo-se a altura da unidade de previsão em 1:3 e 3:1, e os tipos de partição assimétricos, tendo os tamanhos de nLx2N e nRx2N, podem ser obtidos, respectivamente, dividindo-se a largura da unidade de previsão em 1:3 e 3:1.
[000314] O tamanho da unidade de transformação pode ser definido
88/110 como sendo de dois tipos no modo intra e de dois tipos no modo inter. Em outras palavras, se informações de divisão da unidade de transformação forem 0, o tamanho da unidade de transformação pode ser 2Nx2N, que é o tamanho da unidade de codificação atual. Se informações de divisão da unidade de transformação forem 1, as unidades de transformação podem ser obtidas, dividindo-se a unidade de codificação atual. Além disso, se um tipo de partição da unidade de codificação atual tendo o tamanho de 2Nx2N for um tipo de partição simétrico, 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étrico, o tamanho da unidade de transformação pode ser N/2xN/2.
[000315] As informações de codificação sobre unidades de codificação tendo uma estrutura em árvore podem incluir pelo menos uma dentre a unidade de codificação correspondente a uma profundidade codificada, uma unidade de previsão, e uma unidade mínima. A unidade de codificação correspondente à profundidade codificada pode incluir pelo menos uma dentre a unidade de previsão e a unidade mínima, que contêm as mesmas informações de codificação.
[000316] Nesse sentido, é determinado se as unidades de dados adjacentes estão incluídas na mesma unidade de codificação correspondente à profundidade codificada, comparando as informações de codificação das unidades de dados adjacentes. Além disso, uma unidade de codificação correspondente a uma profundidade codificada é determinada, usando as informações de codificação de uma unidade de dados e, portanto, uma distribuição de profundidades codificadas em uma unidade de codificação máxima pode ser determinada.
[000317] Nesse sentido, se uma unidade de codificação atual for
89/110 prevista, com base em informações de codificação das unidades de dados adjacentes, informações de codificação das unidades de dados em unidades de codificação mais profundas adjacentes à unidade de codificação atual podem ser diretamente referidas e usadas.
[000318] Como alternativa, se uma unidade de codificação atual for prevista, com base em informações de codificação das unidades de dados adjacentes, unidades de dados adjacentes à unidade de codificação atual são pesquisadas usando informações codificadas das unidades de dados, e as unidades de codificação adjacentes pesquisadas podem ser referidas para prever a unidade de codificação atual.
[000319] A Fig. 21 é 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ções sobre modo de codificação da Tabela 1.
[000320] Uma unidade de codificação máxima 1300 inclui unidades de codificação 1302, 1304, 1306, 1312, 1314, 1316 e 1318 de profundidades codificadas. Aqui, uma vez que a unidade de codificação 1318 é uma unidade de codificação de uma profundidade codificada, informações de divisão podem ser definidas como 0. Informações sobre um tipo de partição da unidade de codificação 1318 tendo um tamanho de 2Nx2N podem ser configuradas para ser 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 1328 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.
[000321] Informações de divisão (sinalizador de tamanho da TU)
90/110 (Unidade de Transformação) ) de uma unidade de transformação são um tipo de um índice de transformações. O tamanho da unidade de transformação correspondente ao índice de transformações pode ser alterado, de acordo com um tipo de unidade de previsão ou tipo de partição da unidade de codificação.
[000322] Por exemplo, quando o tipo de partição for definido para ser simétrico, ou seja, o tipo de partição 1322, 1324, 1326 ou 1328, uma unidade de transformação 1342 tendo um tamanho de 2Nx2N é definida, se informações de divisão (sinalizador de tamanho da TU) de uma unidade de transformação for 0, e uma unidade de transformação 1344 tendo um tamanho de NxN é definida, se um sinalizador de tamanho da TU for 1.
[000323] Quando o tipo de partição for definido para ser assimétrico, ou seja, o tipo de partição 1332, 1334, 1336 ou 1338, uma unidade de transformação 1352 tendo um tamanho de 2Nx2N é definida, se um sinalizador de tamanho da TU for 0, e uma unidade de transformação 1354 tendo um tamanho de N/2xN/2 é definida, se um sinalizador de tamanho da TU for 1.
[000324] Referindo-se à Fig. 21, o sinalizador de tamanho da TU é um sinalizador tendo um valor 0 ou 1, mas o sinalizador de tamanho da TU não está limitado a 1 bit, e uma unidade de transformação pode ser dividida hierarquicamente tendo uma estrutura em árvore, enquanto o sinalizador de tamanho da TU aumenta a partir de 0. Informações de divisão (sinalizador de tamanho da TU) de uma unidade de transformação podem ser um exemplo de um índice de transformações.
[000325] Neste caso, o tamanho de uma unidade de transformação, que foi de fato usado, pode ser expresso usando um sinalizador de tamanho da TU de uma unidade de transformação, de acordo com uma forma de realização da presente invenção, juntamente com um
91/110 tamanho máximo e tamanho mínimo da unidade de transformação. De acordo com uma forma de realização da presente invenção,o aparelho para codificar vídeo 100 é capaz de codificar informações de tamanho da unidade de transformação máxima, informaçõesde tamanho da unidade de transformação mínima, e um sinalizador de tamanho da TU máxima. O resultado de codificar as informações de tamanho da unidade de transformação máxima, as informaçõesde tamanho da unidade de transformação mínima, e o sinalizadorde tamanho da TU máxima, pode ser inserido num SPS. De acordo com uma forma de realização da presente invenção, o aparelho para decodificar vídeo 200 pode decodificar vídeo usando as informações de tamanho da unidade de transformação máxima, as informações de tamanho da unidade de transformação mínima, e o sinalizador de tamanho da TU máxima.
[000326] Por exemplo, (a) se o tamanho de uma unidade de codificação atual for 64 x 64, e um tamanho da unidade de transformação máxima for 32 x 32, (a-1) então o tamanho de uma unidade de transformação pode ser 32 x 32, quando um sinalizador de tamanho da TU for 0, (a-2) pode ser 16 x 16, quando o sinalizador de tamanho da TU for 1, e (a-3) pode ser 8x8, quando o sinalizador de tamanho da TU for 2.
[000327] Como outro exemplo, (b) se o tamanho da unidade de codificação atual for 32 x 32, e um tamanho da unidade de transformação mínima for 32 x 32, (b) então o tamanho da unidade de transformação pode ser 32 x 32, quando o sinalizador de tamanho da TU for 0. Aqui, o sinalizador de tamanho da TU não pode ser definido como um valor diferente de 0, uma vez que o tamanho da unidade de transformação não pode ser menor que 32 x 32.
[000328] Como outro exemplo, (c) se o tamanho da unidade de codificação atual for 64 x 64 e um sinalizador do tamanho da TU
92/110 máxima for 1, então o sinalizador de tamanho da TU pode ser 0 ou 1. Aqui, o sinalizador de tamanho da TU não pode ser definido como um valor diferente de 0 ou 1.
[000329] Assim, se for definido que o sinalizador de tamanho da TU máxima é 'MaxTransformSizelndex' , um tamanho da unidade de transformação mínima é 'MinTransformSize' , e um tamanho da unidade de transformação é 'RootTuSize' , quando o sinalizador de tamanho da TU for 0, então, um tamanho da unidade de transformação mínima atual 'CurrMinTuSize', que pode ser determinado em uma unidade de codificação atual, pode ser definido pela equação (1): CurrMinTuSize = max (MinTransformSíze,
RootTuSize/ (2AMaxTransformSizeIndex) )....... (1) [000330] Em comparação com o tamanho da unidade de transformação mínima atual 'CurrMinTuSize', que pode ser determinado na unidade de codificação atual, um tamanho da unidade de transformação 'RootTuSize', quando o sinalizador de tamanho da TU for 0, pode denotar um tamanho da unidade de transformação máxima, que pode ser selecionado no sistema. Na equação (1), 'RootTuSize/ (2AMaxTransformSízelndex)' denota um tamanho da unidade de transformação, quando o tamanho da unidade de transformação 'RootTuSize', quando o sinalizador de tamanho da TU for 0, for dividido um número de vezes correspondente ao sinalizador do tamanho da TU máxima, e 'MinTransformSíze' denota um tamanho de transformação mínimo. Assim, um valor menor entre os 'RootTuSize/ (2AMaxTransformSizeIndex)' e 'MinTransformSíze' pode ser o tamanho da unidade de transformação mínima atual 'CurrMinTuSize', que pode ser determinado na unidade de codificação atual.
[000331] De acordo com uma forma de realização da presente invenção, o tamanho da unidade de transformação máxima RootTuSize pode variar, de acordo com o tipo de um modo de previsão.
93/110 [000332] Por exemplo, se um modo de previsão atual for um modo inter, então 'RootTuSize' pode ser determinado, usando a Equação (2) abaixo. Na Equação (2), 'MaxTransformSize' denota um tamanho da unidade de transformação máxima, e 'PUSize' denota um tamanho da unidade de previsão atual.
RootTuSize = min(MaxTransformSize, PUSize)... (2) [000333] Ou seja, se o modo de previsão atual for o modo inter, o tamanho da unidade de transformação 'RootTuSize', quando o sinalizador de tamanho da TU for 0, pode ser um valor menor entre o tamanho da unidade de transformação máxima e o tamanho da unidade de previsão atual.
[000334] Se um modo de previsão de uma unidade de partição atual for um modo intra, 'RootTuSize' pode ser determinado, usando a Equação (3) abaixo. Na Equação (3), ' PartitionSize' denota o tamanho da unidade de partição atual.
RootTuSize = min (MaxTransformSize, PartitionSize)...(3) [000335] Ou seja, se o modo de previsão atual for o modo intra, o tamanho da unidade de transformação 'RootTuSize', quando o sinalizador de tamanho da TU for 0, pode ser um valor menor entre o tamanho da unidade de transformação máxima e o tamanho da unidade de partição atual.
[000336] No entanto, o tamanho da unidade de transformação máxima 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 a presente invenção não está limitada ao mesmo.
[000337] De acordo com o método de codificação de video baseado em unidades de codificação tendo uma estrutura em árvore, como descrito com referência às Figs. 9 a 21, dados de imagem de uma região espacial são codificados para cada unidade de codificação de uma estrutura em árvore. De acordo com o método de
94/110 decodificação de vídeo baseado em unidades de codificação tendo uma estrutura em árvore, a decodificação é executada para cada unidade de codificação máxima, para restaurar dados de imagem de uma região espacial. Assim, um quadro e um vídeo, que é uma sequência de quadros, podem ser restaurados. 0 vídeo restaurado pode ser reproduzido por um aparelho de reprodução, armazenado em uma mídia de armazenamento, ou transmitido através de uma rede.
[000338] As formas de realização da presente invenção podem ser gravadas como programas de computador e podem ser executadas em computadores digitais de uso geral, que executam os programas usando uma mídia de gravação legível por computador. Suportes magnéticos (por exemplo, ROM, disquetes, discos rígidos, etc.) e mídia de gravação óptica (por exemplo, CD-ROMs ou DVDs) são exemplos de mídia de gravação legível por computador.
[000339] Para conveniência de descrição, um método de codificação de vídeo, de acordo com o método para determinar vetor de movimento, que foi descrito com referência às Figuras 1 a 21, será referido coletivamente como um 'método de codificação de vídeo, de acordo com a presente invenção'. Além disso, o método de decodificação de vídeo, de acordo com o método para determinar vetor de movimento, que foi descrito com referência às Figuras 1 a 21, será referido como um 'método de decodificação de vídeo, de acordo com a presente invenção'.
[000340] Um aparelho de codificação de vídeo incluindo o aparelho de determinação de vetor de movimento 10, a unidade codificação de vídeo 70, a unidade de decodificação de vídeo 80, e o aparelho de codificação de vídeo 100, ou o codificador de imagem 400, que foi descrito com referência às Figuras 1 a 21, será referido como um 'aparelho de codificação de vídeo, de acordo com a presente invenção'. Além disso, um aparelho de decodificação de vídeo,
95/110 incluindo o aparelho determinador de vetor de movimento 10, a unidade de decodificação de video 80, o aparelho de decodificação de video 200, ou o decodificador de imagem 500, que foi descrito com referência às Figuras 1 a 21, será referido como um 'aparelho de decodificação de video, de acordo com a presente invenção'.
[000341] Uma mídia de gravação legível por computador armazenando um programa, por exemplo, um disco 26000, de acordo com uma forma de realização da presente invenção, será agora descrita em detalhes.
[000342] A Fig. 22 ilustra uma estrutura física de um disco 26000 que armazena um programa, de acordo com uma forma de realização da presente invenção. 0 disco 26000, que é uma mídia de armazenamento, pode ser um disco rígido, um disco compacto de memória somente de leitura de disco (CD-ROM), um disco Blu-ray, ou um disco versátil digital (DVD). O disco 26000 inclui uma pluralidade de faixas concêntricas Tr, cada qual sendo dividida em um número específico de setores Se no sentido circunferencial do disco 26000. Em uma região específica do disco 26000, um programa que executa o método para determinar vetor de movimento, o método de codificação de vídeo, e o método de decodificação de vídeo, conforme acima descrito, pode ser atribuído e armazenado.
[000343] Um sistema de computador incorporado usando uma mídia de armazenamento, que armazena um programa para a execução de um método de codificação de vídeo e um método de decodificação de vídeo acima descritos, será agora descrito com referência à Fig. 23.
[000344] A Fig. 23 ilustra uma unidade de disco 26800, que grava e lê um programa usando um disco 26000. Um sistema de computador 26700 pode armazenar um programa, que executa pelo menos um dentre um método de codificação de vídeo e um método de decodificação de
96/110 vídeo, de acordo com uma forma de realização da presente invenção, em um disco 26000 através da unidade de disco 26800. Para executar o programa armazenado no disco 26000, no sistema de computador 26700, o programa pode ser lido no disco 26000 e ser transmitido ao sistema do computador 26700, usando a unidade de disco 26800.
[000345] 0 programa, que executa pelo menos um dentre um método de codificação de vídeo e um método de decodificação de vídeo, de acordo com uma forma de realização da presente invenção, pode ser armazenado não só no disco 26000 ilustrado na Fig. 22 ou 23, mas também em um cartão de memória, um cassete de ROM, ou em uma unidade de estado sólido (SSD).
[000346] Um sistema, para o qual o método de codificação de vídeo e um método de decodificação de vídeo acima descritos são aplicados, será abaixo descrito.
[000347] A Fig. 24 ilustra uma estrutura completa de um sistema de fornecimento de conteúdo . 11000, que fornece o serviço de distribuição de conteúdo. Uma área de serviço de um sistema de comunicação é dividida em células de tamanho predeterminado, e estações base sem fio 11800 11700, 11900 e 12000 são instaladas nessas células, respectivamente.
[000348] 0 sistema de abastecimento de conteúdo 11000 inclui uma pluralidade de dispositivos independentes. Por exemplo, a pluralidade de dispositivos independentes, como um computador 12100, um assistente digital pessoal (PDA) 12200, uma câmera de vídeo 12300, e um telefone móvel 12500, estão conectados à Internet 11100, através de um provedor de serviços de internet 11200, uma rede de comunicação 11400, e as estações base sem fio 11700, 11800, 11900 e 12000.
[000349] No entanto, o sistema de abastecimento de conteúdo 11000 não está limitado, conforme ilustrado na Fig. 24, e dispositivos
97/110 podem ser conectados seletivamente aos mesmos. A pluralidade de dispositivos independentes pode ser conectada diretamente à rede de comunicação 11400, e não através das estações base sem fio 11700 11800, 11900 e 12000.
[000350] A câmara de vídeo 12300 é um dispositivo de imagem, por exemplo, uma câmera de vídeo digital, que é capaz de captar imagens de vídeo. 0 telefone móvel 12500 pode empregar pelo menos um método de comunicação dentre vários protocolos, por exemplo, Personal Digital Communications (PDC), Code Division Multiple Access (CDMA), Wideband-Code Division Multiple Access (W-CDMA), Global System for Mobile Communications (GSM), e Personal Handyphone System (PHS).
[000351] A câmara de vídeo 12300 pode ser conectada a um servidor de streaming 11300, através da estação base sem fio 11900 e da rede de comunicação 11400. 0 servidor de streaming 11300 permite que conteúdo recebido de um usuário através da câmera de vídeo 12300 seja transmitido, através de uma transmissão em tempo real. 0 conteúdo recebido da câmera de vídeo 12300 pode ser codificado, usando a câmera de vídeo 12300 ou o servidor de streaming 11300. Dados de vídeo capturados pela câmera de vídeo 12300 podem ser transmitidos para o servidor de streaming 11300, através do computador 12100.
[000352] Dados de vídeo capturados por uma câmera 12600 também podem ser transmitidos para o servidor de streaming 11300, através do computador 12100. A câmera 12600 é um dispositivo formador de imagens capaz de captar imagens estáticas e imagens de vídeo, semelhante a uma câmera digital. Os dados de vídeo capturados pela câmera 12600 podem ser codificados, usando a câmera 12600 ou o computador 12100. Software, que realiza codificação e decodificação de vídeo, pode ser armazenado em uma mídia de
98/110 gravação legível por computador, por exemplo, um disco de CD-ROM, um disquete, uma unidade de disco rígido, um SSD, ou um cartão de memória, que pode ser acessado pelo computador 12100.
[000353] | Se | dados de | vídeo forem | capturados | por uma | câmera |
instalada | no | telefone | móvel 12500, | os dados | de | vídeo podem ser |
recebidos | do | telefone móvel 12500. | ||||
[000354] | Os | dados de | vídeo também | podem ser | codificados | por um |
sistema de circuitos integrados (LSI) em larga escala instalado na câmera de vídeo 12300, no telefone móvel 12500, ou na câmera 12600.
[000355] De acordo com uma forma de realização da presente invenção, o sistema de abastecimento de conteúdo 11000 pode codificar dados de conteúdo gravados por um usuário usando a câmera de vídeo 12300, a câmera 12600, o telefone móvel 12500, ou outro dispositivo formador de imagens, por exemplo, o conteúdo gravado durante um concerto, e transmitir os dados de conteúdo codificados para o servidor de streaming 11300. 0 servidor de streaming 11300 pode transmitir os dados de conteúdo codificados em um tipo de um conteúdo de streaming para outros clientes que solicitam os dados de conteúdo.
[000356] Os clientes são dispositivos capazes de descodificar os dados codificados de conteúdo, por exemplo, o computador 12100, o PDA 12200, a câmera de vídeo 12300, ou o telefone móvel 12500. Assim, o sistema de abastecimento de conteúdo 11000 permite que os clientes recebam e reproduzam os dados codificados de conteúdo. Além disso, o sistema de abastecimento de conteúdo 11000 permite que os clientes recebam os dados de conteúdo codificados e decodifiquem e reproduzam os dados codificados de conteúdo em tempo real, permitindo assim radiodifusão pessoal.
[000357] Operações de codificação e decodificação da pluralidade
99/110 de dispositivos independentes incluídos no sistema de fornecimento de conteúdo 11000 podem ser semelhantes àquelas de um aparelho de codificação de vídeo e um aparelho de decodificação de vídeo, de acordo com uma forma de realização da presente invenção.
[000358] O telefone móvel 12500 incluído no sistema de fornecimento de conteúdo 11000, de acordo com uma forma de realização da presente invenção, será agora descrito mais detalhadamente com referencias às Fig. 25 e 26.
[000359] A Fig. 25 ilustra uma estrutura externa de um telefone móvel 12500, para a qual um método de codificação de vídeo e um método de decodificação de vídeo são aplicados, de acordo com uma forma de realização da presente invenção. 0 telefone móvel 12500 pode ser um smartphone, cujas funções não são limitadas, e grande parte de cujas funções pode ser alterada ou expandida.
[000360] 0 telefone móvel 12500 inclui uma antena interna 12510, através da qual um sinal de radiofrequência (RF) pode ser trocado com a estação base sem fio 12000 da Fig. 25, e inclui uma tela de exposição 12520 para exibir imagens capturadas por uma câmera 12530, ou imagens que são recebidas através da antena 12510 e decodificadas, por exemplo, um display de cristal líquido (LCD) ou uma tela orgânica de diodos emissores de luz (OLED) . O smartphone 12500 inclui um painel de operação 12540, incluindo um botão de controle e um painel de toque. Se a tela de exibição 12520 for uma tela de toque, o painel de operação 12540 ainda inclui um painel sensível a toque da tela de exibição 12520. 0 smartphone 12500 inclui um alto-falante 12580 para emitir voz e som ou outro tipo de unidade de saída de som, e um microfone 12550 para entrada de voz e som, ou outro tipo de unidade de entrada de som. O smartphone 12500 ainda inclui a câmera 12530, tal como uma câmera de dispositivo de carga acoplada (CCD), para capturar vídeo e
100/110 imagens estáticas. O smartphone 12500 pode ainda incluir uma mídia de armazenamento 12570 para armazenar dados codificados/ decodificados, por exemplo, vídeo ou imagens estáticas capturadas pela câmera 12530, recebidas via e-mail, ou obtidas de acordo com várias formas; e um slot 12560, através do qual a mídia de armazenamento 12570 é carregada no telefone móvel 12500. A mídia de armazenamento 12570 pode ser uma memória flash, por exemplo, um cartão digital seguro (SD), ou uma memória somente de leitura, eletricamente apagável e programável (EEPROM) incluída em um estojo plástico.
[000361] A Fig. 26 ilustra uma estrutura interna do telefone móvel 12500, de acordo com uma forma de realização da presente invenção. Para controlar sistemicamente partes do telefone móvel 12500, incluindo a tela de exposição 1252 e o painel de operação 12540, um circuito alimentador de energia 12700, um controlador de entrada de operação 12640, uma unidade de codificação de imagem 12720, uma interface de câmera 12630, um controlador de LCD 12620, uma unidade de decodificação de imagem 12690, um multiplexador/ demultiplexador 12680, uma de unidade de leitura/ gravação 12670, uma unidade de modulação/ demodulação 12660, e um processador de som 12650, são conectados a um controlador central 12710 através de um barramento de sincronização 12730.
[000362] Se um usuário operar um botão liga/ desliga e definir um estado de 'energia desligada' ou um estado de 'energia ligada', o circuito de alimentação de energia 12700 fornece energia para todas as partes do telefone móvel 12500, através de uma bateria, assim definindo o telefone móvel 12500 em um modo de operação.
[000363] O controlador central 12710 inclui uma unidade de processamento central (CPU), uma ROM, e uma memória de acesso aleatório (RAM).
101/110 [000364] Enquanto o telefone móvel 12500 transmite dados de comunicação para o exterior, um sinal digital é gerado no telefone móvel 12500 sob controle do controlador central. Por exemplo, o processador de som 12650 pode gerar um sinal de som digital, a unidade de codificação de imagem 12720 pode gerar um sinal de imagem digital, e dados de texto de uma mensagem podem ser gerados através do painel de operação 12540 e do controlador de entrada de operação 12640. Quando um sinal digital for entregue para a unidade de modulação/ demodulação 12660 sob controle do controlador central 12710, a unidade de modulação/ demodulação 12660 modula uma faixa de frequências do sinal digital, e um circuito de comunicação 12610 executa a conversão digital analógica (DAC) e conversão de frequência no sinal digital de som com faixa de frequências modulada. Um sinal de transmissão emitido pelo circuito de comunicação 12610 pode ser transmitido para uma estação base de comunicação de voz ou a estação base sem fio 12000 através da antena 12510.
[000365] Por exemplo, quando o telefone móvel 12500 estiver em um modo de conversação, um sinal sonoro, obtido através do microfone 12550, é transformado em um sinal digital de som pelo processador de som 12650, sob controle do controlador central 12710. O sinal de som digital pode ser transformado em um sinal de transformação através da unidade de modulação/ demodulação 12660 e do circuito de comunicação 12610, e pode ser transmitido através da antena 12510.
[000366] Quando uma mensagem de texto, por exemplo, e-mail, for transmitida em um modo de comunicação de dados, dados de texto da mensagem de texto são inseridos através do painel de operação 12540, e são transmitidos para o controlador central 12610 através do controlador de entrada de operação 12640. Sob o controle do
102/110 controlador central 12610, os dados de texto são transformados em um sinal de transmissão através da unidade de modulação/ demodulação 12660 e do circuito de comunicação 12610, e são transmitidos para a estação base sem fio 12000 através da antena 12510.
[000367] Para transmitir dados de imagem no modo de comunicação de dados, dados da imagem capturados pela câmera 12530 são fornecidos para a unidade de codificação de imagem 12720 através da interface de câmera 12630. Os dados da imagem capturados podem ser exibidos diretamente na tela de exibição 12520 através da interface de câmera 12630 e do controlador de LCD 12620.
[000368] Uma estrutura da unidade de codificação de imagem 12720 pode corresponder àquela do aparelho de codificação de vídeo 100 acima descrito. A unidade de codificação de imagem 12720 pode transformar os dados de imagem recebidos da câmera 12530 em dados de imagem compactados e codificados, de acordo com um método de codificação de vídeo empregado pelo aparelho de codificação de vídeo 100 ou o codificador de imagem 400 descritos acima e, em seguida, emitir os dados de imagem codificados para o multiplexador/ demultiplexador 12680. Durante uma operação de gravação da câmera 12530, um sinal sonoro, obtido pelo microfone 12550 do telefone móvel 12500, pode ser transformado em dados sonoros digitais através do processador de som 12650, e os dados sonoros digitais podem ser entregues para o multiplexador/ demultiplexador 12680.
[000369] O multiplexador/ demultiplexador 12680 multiplexa os dados de imagem codificados, recebidos da unidade de codificação de imagem 12720, juntamente com os dados de som recebidos do processador de som 12650. Um resultado de multiplexação dos dados pode ser transformado em um sinal de transmissão através da
103/110 unidade de modulação/ demodulação 12660 e do circuito de comunicação 12610, e pode ser, então, transmitido através da antena 12510.
[000370] Enquanto o telefone móvel 12500 recebe dados de comunicação do exterior, recuperação de frequência e ADC são executadas em um sinal recebido através da antena 12510 para transformar o sinal em um sinal digital. A unidade de modulação/ demodulação 12660 modula uma faixa de frequências do sinal digital. O sinal digital com faixa de frequências modulada é transmitido para a unidade de decodificação de vídeo 12690, o processador de som 12650, ou o controlador de LCD 12620, de acordo com o tipo do sinal digital.
[000371] No modo de conversação, o telefone móvel 12500 amplifica o sinal recebido através da antena 12510 e obtém um sinal sonoro digital por meio de conversão de frequência e ADC no sinal amplificado. Um sinal de som digital recebido é transformado em um sinal analógico de som através da unidade de modulação/ demodulação 12660 e do processador de som 12650, e o sinal de som analógico é emitido através do alto-falante 12580, sob controle do controlador central 12710.
[000372] Quando no modo de comunicação de dados, dados de um arquivo de vídeo acessados em um site da Internet são recebidos, um sinal recebido da estação base sem fio 12000 através da antena 12510 é emitido como dados multiplexados através da unidade de modulação/ demodulação 12660, e os dados multiplexados são transmitidos para o multiplexador/ demultiplexador 12680.
[000373] Para decodificar os dados multiplexados recebidos através da antena 12510, o multiplexador/ demultiplexador 12680 demultiplexa os dados multiplexados em um fluxo de dados de vídeo codificados e um fluxo de dados de áudio codificados. Através do
104/110 barramento de sincronização 12730, o fluxo de dados de video codificado e o fluxo de dados de áudio codificado são fornecidos, respectivamente, para a unidade de decodificação de vídeo 12690 e o processador de som 12650.
[000374] Uma estrutura da unidade de decodificação de imagem 12690 pode corresponder àquela do aparelho de decodificação de vídeo 200, acima descrito. A unidade de decodificação de imagem 12690 pode decodificar os dados de vídeo codificados para obter dados de vídeo restaurados e fornecer os dados de vídeo restaurados para a tela de exibição 12520 através do controlador de LCD 12620, de acordo com um método de decodificação de vídeo empregado pelo aparelho de decodificação de vídeo 200 ou o decodificador de imagem 500, acima descritos.
[000375] Assim, os dados do arquivo de vídeo acessado no site da Internet podem ser exibidos na tela de exibição 12520. Ao mesmo tempo, o processador de som 12650 pode transformar dados de áudio em um sinal de som analógico, e fornecer o sinal de som analógico para o alto-falante 12580. Assim, dados de áudio contidos no arquivo de vídeo acessado no site da Internet também podem ser reproduzidos através do alto-falante 12580.
[000376] O telefone móvel 12500 ou outro tipo de terminal de comunicação pode ser um terminal transceptor incluindo um aparelho de codificação de vídeo e um aparelho de decodificação de vídeo, de acordo com uma forma de realização da presente invenção, pode ser um terminal transceptor incluindo apenas o aparelho de codificação de vídeo, ou pode ser um terminal transceptor incluindo apenas o aparelho de decodificação de vídeo.
[000377] Um sistema de comunicação, de acordo com a presente invenção, não está limitado ao sistema de comunicação acima descrito com referência à Fig. 25. Por exemplo, a Fig. 27 ilustra
105/110 um sistema de radiodifusão digital empregando um sistema de comunicação, de acordo com uma forma de realização da presente invenção. O sistema de radiodifusão digital da Fig. 27 pode receber uma transmissão digital transmitida através de um satélite ou uma rede terrestre por meio de um aparelho de codificação de vídeo e um aparelho de decodificação de vídeo, de acordo com uma forma de realização da presente invenção.
[000378] Especificamente, uma estação de radiodifusão 12890 transmite um fluxo de dados de vídeo para um satélite de comunicação ou um satélite de radiodifusão 12900 usando ondas de rádio. O satélite de radiodifusão 12900 transmite um sinal de radiodifusão, e o sinal de radiodifusão é transmitido para um receptor de radiodifusão via satélite, através de uma antena doméstica 12860. Em cada residência, um fluxo de vídeo codificado pode ser decodificado e reproduzido por um receptor de TV 12810, um decodificador 12870, ou outro dispositivo.
[000379] Quando um aparelho de decodificação de vídeo, de acordo com uma forma de realização da presente invenção, é implementado em um aparelho de reprodução 12830, o aparelho de reprodução 12830 pode analisar e decodificar um fluxo de vídeo codificado, gravado em uma mídia de armazenamento 12820, tal como um disco ou um cartão de memória, para restaurar sinais digitais. Assim, o sinal de vídeo restaurado pode ser reproduzido, por exemplo, em um monitor 12840.
[000380] No decodificador 12870 conectado à antena 12860 para uma radiodifusão terrestre/ via satélite, ou uma antena viae cabo 12850 para receber uma radiodifusão de televisão (TV) via cabo, um aparelho de decodificação de vídeo, de acordo com uma forma de realização da presente invenção, pode ser instalado. Dados emitidos pelo decodificador 12870 também podem ser reproduzidos em
106/110 um monitor de TV 12880.
[000381] Como outro exemplo, um aparelho de decodificação de video, de acordo com uma forma de realização da presente invenção, pode ser instalado no receptor de TV 12810, em vez do decodificador 12870.
[000382] Um automóvel 12920 incluindo uma antena adequada 12910 pode receber um sinal transmitido a partir do satélite 12900, ou a estação base sem fio 11700. Um video decodificado pode ser reproduzido em uma tela de exibição de um sistema de navegação de automóvel 12930 instalado no automóvel 12920.
[000383] Um sinal de vídeo pode ser codificado por um aparelho de codificação de vídeo, de acordo com uma forma de realização da presente invenção, e pode ser, então, armazenado em uma mídia de armazenamento. Especificamente, um sinal de imagem pode ser armazenado em um disco de DVD 12960 por um gravador de DVD, ou pode ser armazenado em um disco rígido por um gravador de disco rígido 12950. Como outro exemplo, o sinal de vídeo pode ser armazenado em um cartão SD 12970. Se o gravador de disco rígido 12950 incluir um aparelho de decodificação de vídeo, de acordo com uma forma de realização da presente invenção, um sinal de vídeo gravado no disco DVD 12960, cartão SD 12970, ou em outra mídia de armazenamento, pode ser reproduzido no monitor de TV 12880.
[000384] 0 sistema de navegação de automóvel 12930 não precisa incluir a câmera 12530, a interface de câmera 12630, e a unidade de codificação de imagem 12720 da Fig. 27. Por exemplo, o computador 12100 e o receptor de TV 12810 não precisam ser incluídos na câmera 12530, na interface de câmera 12630, e na unidade de codificação de imagem 12720 da Fig. 27.
[000385] A Fig. 28 ilustra uma estrutura de rede de um sistema de computação em nuvem, usando um aparelho de codificação de vídeo e
107/110 um aparelho de decodificação de vídeo, de acordo com uma forma de realização da presente invenção.
[000386] O sistema de computação em nuvem pode incluir um servidor de computação em nuvem 14000, um banco de dados (DB) de usuário 14100, uma pluralidade de recursos de computação 14200, e um terminal de usuário.
[000387] O sistema de computação em nuvem fornece um serviço de terceirização sob demanda da pluralidade de recursos de computação 14200, através de uma rede de comunicação de dados, por exemplo, a Internet, em resposta a uma solicitação do terminal de usuário. Sob um ambiente de computação em nuvem, um provedor de serviço fornece serviços aos usuários, combinando recursos de computação em centros de dados localizados em locais fisicamente diferentes, usando a tecnologia de virtualização. Um usuário do serviço não precisa instalar recursos de computação, por exemplo, um aplicativo, um armazenamento, um sistema operacional (SO) e segurança, em seu próprio terminal a fim de usá-los, mas pode selecionar e usar os serviços desejados dentre os serviços em um espaço virtual gerado através da tecnologia de virtualização, em um instante de tempo desejado.
[000388] Um terminal de usuário de um usuário de serviço especificado está conectado ao servidor de computação em nuvem 14100. através de uma rede de comunicação de dados incluindo a Internet e uma rede de telecomunicações móveis. Terminais de usuário podem ser alimentados com serviços de computação de nuvem e, particularmente, serviços de reprodução de vídeo, do servidor de computação em nuvem 14100. Os terminais de usuário podem ser vários tipos de dispositivos eletrônicos capazes de ser conectados à Internet, por exemplo, um PC de mesa 14300, uma smart TV 14400, um smartphone 14500, um notebook 14600, um leitor multimídia
108/110 portátil (PMP) 14700, um tablet 14800 e similares.
[000389] 0 servidor de computação em nuvem 14100 pode combinar a pluralidade de recursos de computação 14200 distribuída em uma rede de nuvem e alimentar terminais de usuário com um resultado da combinação. A pluralidade de recursos de computação 14200 pode incluir vários serviços de dados, e pode incluir dados enviados a partir de terminais de usuário. Conforme acima descrito, o servidor de computação em nuvem 14100 pode alimentar terminais de usuário com serviços desejados, combinando o banco de dados de vídeo distribuído em diferentes regiões, de acordo com a tecnologia de virtualização.
[000390] Informações de usuário sobre os usuários, que se inscreveram em um serviço de computação em nuvem, são armazenadas no DB de usuário 14100. As informações de usuário podem incluir informações de conexão, endereços, nomes e informações de crédito pessoal dos usuários. As informações de usuário podem ainda incluir índices de vídeo. Aqui, os índices podem incluir uma lista de vídeos que já foram reproduzidos, uma lista de vídeos que estão sendo reproduzidos, um ponto de pausa de um vídeo, que estava sendo reproduzido, e afins.
[000391] Informações sobre um vídeo armazenado no DB de usuário 14100 podem ser compartilhadas entre dispositivos de usuário. Por exemplo, quando um serviço de vídeo é fornecido para o notebook 14600 em resposta a uma solicitação do notebook 14600, um histórico de reprodução do serviço de vídeo é armazenado no DB de usuário 14100. Quando uma solicitação é recebida para reproduzir esse serviço de vídeo do smartphone 14500, o servidor de computação de nuvem 14100 procura e reproduz esse serviço de vídeo, com base no DB de usuário 14100. Quando o smartphone 14500 recebe um fluxo de dados de vídeo do servidor de computação em
109/110 nuvem 14100, um processo de reprodução de video por decodificação do fluxo de dados de vídeo é semelhante a uma operação do telefone móvel 12500, acima descrita com referência à Fig. 27.
[000392] 0 servidor de computação em nuvem 14100 pode fazer referência a um histórico de reprodução de um serviço de vídeo desejado, armazenado no DB de usuário 14100. Por exemplo, o servidor de computação em nuvem 14100 recebe uma solicitação para reproduzir um vídeo armazenado no DB de usuário 14100, de um terminal de usuário. Se esse vídeo estava sendo reproduzido, então um método de streaming desse vídeo, realizado pelo servidor de computação em nuvem 14100, pode variar de acordo com o pedido do terminal de usuário, ou seja, segundo se o vídeo irá ser reproduzido, a partir de seu começo, ou de seu ponto de pausa. Por exemplo, se o terminal de usuário solicitar a reprodução do vídeo, a partir de seu início, o servidor de computação em nuvem 14100 transmite dados de streaming do vídeo a partir de sua primeira moldura para o terminal de usuário. Se o terminal do usuário solicitar a reprodução do vídeo, a partir de seu ponto de pausa, o servidor de computação em nuvem 14100 transmite dados de streaming do vídeo, a partir de uma moldura correspondente ao ponto de pausa, para o terminal de usuário.
[000393] Neste caso, o terminal de usuário pode incluir um aparelho de decodificação de vídeo, conforme acima descrito com referência às Figs. 1 a 23. Como outro exemplo, o terminal de usuário pode incluir um aparelho de codificação de vídeo, conforme acima descrito com referência às Fig. 1 a 23. Como alternativa, o terminal de usuário pode incluir o aparelho de decodificação de vídeo e o aparelho de codificação de vídeo, conforme acima descrito com referência às Fig. 1 a 23.
[000394] Várias aplicações de um método de codificação de vídeo,
110/110 um método de decodificação de vídeo, um aparelho de codificação de vídeo, e um aparelho de vídeo de decodificação, de acordo com formas de realização da presente invenção, acima descritas com referência às Fig. 1 a 21, foram acima descritas com referência às Figs. 22 a 28. No entanto, métodos de armazenar o método de codificação de vídeo e o método de decodificação de vídeo em uma mídia de armazenamento, ou métodos de aplicação do aparelho de codificação de vídeo e do aparelho de decodificação de vídeo em um dispositivo, de acordo com várias formas de realização da presente invenção, não estão limitados às formas de realização acima descritas com referência às Fig. 22 a 28.
[000395] Embora a presente invenção tenha sido particularmente mostrada e descrita com referência a suas formas de realização exemplares, deve ser compreendido pelas pessoas com habilidade comum na arte, que várias alterações na forma e detalhes podem ser feitas, sem se afastar do espírito e escopo, de acordo com a presente invenção, conforme definidos pelas reivindicações a seguir.
Claims (3)
- - REIVINDICAÇÕES -1. MÉTODO PARA DECODIFICAR UMA IMAGEM, caracterizado pelo fato dele compreender:determinar se a imagem de referência de um bloco atual é igual a uma imagem de referência de um bloco candidato a partir de entre uma pluralidade de blocos candidatos adjacente ao bloco atual;quando a imagem de referência do bloco candidato não for igual a imagem referência do bloco atual, determinar se ambas a figura referência do bloco candidato e a figura referência do bloco atual são figuras referência de longa duração;quando ambas a figura referência do bloco candidate e a figura referência do bloco atual forem figures referência de longa duração, obter uma predição de vetor de movimento especial candidate sem dimensionar um vetor de movimento do bloco candidato;determiner uma predição de vetor de movimento do bloco atual a partir de entre predição de vetor de movimento candidates compreendendo a predição de vetor de movimento especial candidate; e gerar um vetor de movimento do bloco atual mediante utilização de predição de vetor de movimento.
- 2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de adicionalmente compreender, quando uma das imagens de referência da unidade de previsão atual e a imagem de referência do bloco candidato for imagem de referência de curta duração e outra for imagem de referência de longa duração, determinar não usar o vetor de movimento do bloco candidato como candidato para a previsão de vetor de movimento.2/2
- 3. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de adicionalmente compreender, quando uma das imagens de referência da unidade de previsão atual e a imagem de referência do bloco candidato for imagem de referência de curta duração e outra for imagem de referência de longa duração, determinar a previsão de vetor de movimento espacial candidato causado pelo bloco candidato como 0.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161557133P | 2011-11-08 | 2011-11-08 | |
BR112014010966A BR112014010966A2 (pt) | 2011-11-08 | 2012-11-08 | método para determinar vetor de movimento para previsão inter, aparelho determinador de vetor de movimento para previsão inter, e mídia de gravação legível por computador |
Publications (1)
Publication Number | Publication Date |
---|---|
BR122015021741A2 true BR122015021741A2 (pt) | 2019-08-27 |
Family
ID=48290288
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122015021736A BR122015021736A2 (pt) | 2011-11-08 | 2012-11-08 | aparelho para decodificar uma imagem |
BR122015021735A BR122015021735A2 (pt) | 2011-11-08 | 2012-11-08 | aparelho para decodificar uma imagem |
BR122015021739A BR122015021739A2 (pt) | 2011-11-08 | 2012-11-08 | método para decodificar uma imagem |
BR122015021741A BR122015021741A2 (pt) | 2011-11-08 | 2012-11-08 | método para determinar vetor de movimento para previsão inter, aparelho determinador de vetor de movimento para previsão inter, e mídia de gravação legível por computador |
BR112014010966A BR112014010966A2 (pt) | 2011-11-08 | 2012-11-08 | método para determinar vetor de movimento para previsão inter, aparelho determinador de vetor de movimento para previsão inter, e mídia de gravação legível por computador |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR122015021736A BR122015021736A2 (pt) | 2011-11-08 | 2012-11-08 | aparelho para decodificar uma imagem |
BR122015021735A BR122015021735A2 (pt) | 2011-11-08 | 2012-11-08 | aparelho para decodificar uma imagem |
BR122015021739A BR122015021739A2 (pt) | 2011-11-08 | 2012-11-08 | método para decodificar uma imagem |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112014010966A BR112014010966A2 (pt) | 2011-11-08 | 2012-11-08 | método para determinar vetor de movimento para previsão inter, aparelho determinador de vetor de movimento para previsão inter, e mídia de gravação legível por computador |
Country Status (16)
Country | Link |
---|---|
US (6) | US20140307783A1 (pt) |
EP (7) | EP2916552A3 (pt) |
JP (7) | JP2014535239A (pt) |
KR (6) | KR101493698B1 (pt) |
CN (7) | CN104796724B (pt) |
AU (1) | AU2012336572B2 (pt) |
BR (5) | BR122015021736A2 (pt) |
CA (5) | CA2883363C (pt) |
MX (5) | MX2014005643A (pt) |
MY (5) | MY169355A (pt) |
PH (5) | PH12014500945A1 (pt) |
RU (5) | RU2586001C2 (pt) |
SG (5) | SG10201502731VA (pt) |
TW (5) | TWI508533B (pt) |
WO (1) | WO2013069990A1 (pt) |
ZA (5) | ZA201403267B (pt) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MY170743A (en) | 2011-06-30 | 2019-08-27 | Sony Corp | Image processing device and image processing method |
RU2646328C1 (ru) | 2011-10-28 | 2018-03-02 | Сан Пэтент Траст | Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений и устройство декодирования изображений |
ES2780186T3 (es) * | 2011-10-28 | 2020-08-24 | Sun Patent Trust | Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes |
US20130177084A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Motion vector scaling in video coding |
US9602831B2 (en) * | 2012-03-07 | 2017-03-21 | Lg Electronics Inc. | Method and apparatus for processing video signals |
CN104170389B (zh) * | 2012-04-24 | 2018-10-26 | 联发科技股份有限公司 | 运动向量预测器的产生方法和装置及视点间运动向量预测器候选的产生方法 |
CN104704819B (zh) * | 2012-10-03 | 2016-12-21 | 联发科技股份有限公司 | 3d视频编码的视差矢量推导和视图间运动矢量预测的方法及装置 |
WO2014166068A1 (en) * | 2013-04-09 | 2014-10-16 | Mediatek Inc. | Refinement of view synthesis prediction for 3-d video coding |
WO2015034303A1 (ko) * | 2013-09-04 | 2015-03-12 | 삼성전자 주식회사 | 스크린 영상 부호화 방법 및 그 장치, 스크린 영상 복호화 방법 및 그 장치 |
ES2906182T3 (es) * | 2014-01-02 | 2022-04-13 | Dolby Laboratories Licensing Corp | Método para decodificar vídeo multivista |
KR102466902B1 (ko) | 2014-10-31 | 2022-11-14 | 삼성전자주식회사 | 움직임 벡터 부복호화 방법 및 장치 |
CN111491165B (zh) * | 2014-12-26 | 2024-03-15 | 索尼公司 | 影像处理设备和影像处理方法 |
CN104811721B (zh) * | 2015-05-26 | 2017-09-22 | 珠海全志科技股份有限公司 | 视频解码数据存储方法及运动向量数据的计算方法 |
US10555002B2 (en) * | 2016-01-21 | 2020-02-04 | Intel Corporation | Long term reference picture coding |
CN109089119B (zh) * | 2017-06-13 | 2021-08-13 | 浙江大学 | 一种运动矢量预测的方法及设备 |
KR102360412B1 (ko) | 2017-08-25 | 2022-02-09 | 엘지디스플레이 주식회사 | 영상 생성 방법과 이를 이용한 표시장치 |
BR112020001579A2 (pt) * | 2017-09-26 | 2020-07-21 | Panasonic Intellectual Property Corporation Of America | codificador, decodificador, método de codificação, método de decodificação |
WO2019191890A1 (zh) | 2018-04-02 | 2019-10-10 | 深圳市大疆创新科技有限公司 | 用于图像处理的方法和图像处理装置 |
TWI728388B (zh) | 2018-06-29 | 2021-05-21 | 大陸商北京字節跳動網絡技術有限公司 | Lut中的運動候選的檢查順序 |
CN110662053B (zh) | 2018-06-29 | 2022-03-25 | 北京字节跳动网络技术有限公司 | 使用查找表的视频处理方法、装置和存储介质 |
JP7460617B2 (ja) | 2018-06-29 | 2024-04-02 | 北京字節跳動網絡技術有限公司 | Lut更新条件 |
AU2019293670B2 (en) | 2018-06-29 | 2023-06-08 | Beijing Bytedance Network Technology Co., Ltd. | Update of look up table: FIFO, constrained FIFO |
JP7295231B2 (ja) | 2018-06-29 | 2023-06-20 | 北京字節跳動網絡技術有限公司 | Lutとamvpの間の相互作用 |
EP3791589A1 (en) | 2018-06-29 | 2021-03-17 | Beijing Bytedance Network Technology Co. Ltd. | Which lut to be updated or no updating |
KR20210024502A (ko) | 2018-06-29 | 2021-03-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝 |
EP3791586A1 (en) | 2018-06-29 | 2021-03-17 | Beijing Bytedance Network Technology Co. Ltd. | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
TWI731365B (zh) | 2018-07-02 | 2021-06-21 | 大陸商北京字節跳動網絡技術有限公司 | Merge索引編碼 |
US10284432B1 (en) * | 2018-07-03 | 2019-05-07 | Kabushiki Kaisha Ubitus | Method for enhancing quality of media transmitted via network |
CN112585976A (zh) | 2018-08-06 | 2021-03-30 | 韩国电子通信研究院 | 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质 |
CN110868613B (zh) * | 2018-08-28 | 2021-10-01 | 华为技术有限公司 | 基于历史候选列表的图像编码方法、图像解码方法及装置 |
CN110868601B (zh) * | 2018-08-28 | 2024-03-15 | 华为技术有限公司 | 帧间预测方法、装置以及视频编码器和视频解码器 |
CN110876058B (zh) * | 2018-08-30 | 2021-09-21 | 华为技术有限公司 | 一种历史候选列表更新方法与装置 |
CN111064961B (zh) | 2018-09-12 | 2023-06-09 | 北京字节跳动网络技术有限公司 | 视频处理方法和装置 |
CN116684589A (zh) * | 2018-12-12 | 2023-09-01 | Lg电子株式会社 | 图像编解码设备和视频信号发送设备 |
CN111279693B (zh) * | 2018-12-29 | 2021-11-12 | 北京大学 | 视频处理方法和设备 |
WO2020133518A1 (zh) | 2018-12-29 | 2020-07-02 | 深圳市大疆创新科技有限公司 | 视频处理方法和设备 |
JP7275286B2 (ja) | 2019-01-10 | 2023-05-17 | 北京字節跳動網絡技術有限公司 | Lut更新の起動 |
CN113383554B (zh) | 2019-01-13 | 2022-12-16 | 北京字节跳动网络技术有限公司 | LUT和共享Merge列表之间的交互 |
CN113330739A (zh) | 2019-01-16 | 2021-08-31 | 北京字节跳动网络技术有限公司 | Lut中的运动候选的插入顺序 |
CN117041556B (zh) * | 2019-02-20 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 用于视频编码的方法、计算设备、存储介质和程序产品 |
WO2020184922A1 (ko) * | 2019-03-08 | 2020-09-17 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
US11350074B2 (en) * | 2019-03-20 | 2022-05-31 | Electronics And Telecommunications Research Institute | Method for processing immersive video and method for producing immersive video |
WO2020197038A1 (ko) | 2019-03-22 | 2020-10-01 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인트라 서브 파티션 기반의 인트라 예측 방법 및 장치 |
WO2020192611A1 (en) | 2019-03-22 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
US10638130B1 (en) * | 2019-04-09 | 2020-04-28 | Google Llc | Entropy-inspired directional filtering for image coding |
CN111953997B (zh) | 2019-05-15 | 2024-08-09 | 华为技术有限公司 | 候选运动矢量列表获取方法、装置及编解码器 |
US12034961B2 (en) | 2019-06-13 | 2024-07-09 | Lg Electronics Inc. | Motion vector prediction-based image/video coding method and device |
AU2020292097B2 (en) * | 2019-06-14 | 2023-11-30 | Lg Electronics Inc. | Method and device for image coding using motion vector differences |
EP3952314B1 (en) | 2019-09-24 | 2024-07-17 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Inter-frame prediction method and apparatus, device and storage medium |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3347954B2 (ja) * | 1995-11-02 | 2002-11-20 | 三菱電機株式会社 | 動画像符号化装置及び動画像復号化装置 |
US6594313B1 (en) * | 1998-12-23 | 2003-07-15 | Intel Corporation | Increased video playback framerate in low bit-rate video applications |
ES2725714T3 (es) | 2001-11-06 | 2019-09-26 | Panasonic Ip Corp America | Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento |
CN101656881B (zh) * | 2001-11-06 | 2012-03-28 | 松下电器产业株式会社 | 运动图像编码方法及运动图像解码方法 |
KR100931746B1 (ko) * | 2002-04-19 | 2009-12-14 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
CN1992895B (zh) | 2002-04-19 | 2010-12-08 | 松下电器产业株式会社 | 图像编码方法及图像编码装置 |
JP4130783B2 (ja) | 2002-04-23 | 2008-08-06 | 松下電器産業株式会社 | 動きベクトル符号化方法および動きベクトル復号化方法 |
KR100491530B1 (ko) * | 2002-05-03 | 2005-05-27 | 엘지전자 주식회사 | 모션 벡터 결정 방법 |
KR100506864B1 (ko) * | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
CN1784008B (zh) | 2004-12-02 | 2010-04-28 | 北京凯诚高清电子技术有限公司 | 高清晰视频超强压缩编码方法及解码方法 |
KR100668463B1 (ko) * | 2004-12-31 | 2007-01-12 | 엠큐브웍스(주) | 동영상 데이터의 인코딩을 위한 다중 참조 프레임 선택 방법 |
KR100763182B1 (ko) | 2005-05-02 | 2007-10-05 | 삼성전자주식회사 | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 |
US8559515B2 (en) | 2005-09-21 | 2013-10-15 | Samsung Electronics Co., Ltd. | Apparatus and method for encoding and decoding multi-view video |
WO2007035042A1 (en) | 2005-09-21 | 2007-03-29 | Samsung Electronics Co., Ltd. | Apparatus and method for encoding and decoding multi-view video |
CN101375594B (zh) * | 2006-01-12 | 2011-09-07 | Lg电子株式会社 | 处理多视图视频 |
KR100934677B1 (ko) | 2006-01-12 | 2009-12-31 | 엘지전자 주식회사 | 다시점 비디오의 처리 |
RU2395174C1 (ru) * | 2006-03-30 | 2010-07-20 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ и устройство для декодирования/кодирования сигнала видео |
KR101380580B1 (ko) * | 2006-08-02 | 2014-04-02 | 톰슨 라이센싱 | 비디오 인코딩을 위한 적응형 기하학적 파티셔닝 방법 및 장치 |
EP2123042A4 (en) | 2007-01-24 | 2010-03-10 | Lg Electronics Inc | METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL |
JP2008245016A (ja) * | 2007-03-28 | 2008-10-09 | Canon Inc | 画像符号化装置、画像符号化方法、及びプログラム |
US8494049B2 (en) * | 2007-04-09 | 2013-07-23 | Cisco Technology, Inc. | Long term reference frame management with error video feedback for compressed video communication |
US9648325B2 (en) | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
HUE037450T2 (hu) | 2007-09-28 | 2018-09-28 | Dolby Laboratories Licensing Corp | Videó információ kezelése |
BRPI0818444A2 (pt) * | 2007-10-12 | 2016-10-11 | Qualcomm Inc | codificação adaptativa de informação de cabeçalho de bloco de vídeo |
KR100901642B1 (ko) | 2008-01-25 | 2009-06-09 | 엘지전자 주식회사 | 모션 벡터 결정 방법 |
KR100985263B1 (ko) * | 2008-07-18 | 2010-10-04 | 엘지전자 주식회사 | 모션벡터 결정방법 |
CN102210152A (zh) | 2008-10-06 | 2011-10-05 | Lg电子株式会社 | 用于处理视频信号的方法和设备 |
KR101377527B1 (ko) * | 2008-10-14 | 2014-03-25 | 에스케이 텔레콤주식회사 | 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법 |
KR20110008653A (ko) * | 2009-07-20 | 2011-01-27 | 삼성전자주식회사 | 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법 |
KR101452859B1 (ko) | 2009-08-13 | 2014-10-23 | 삼성전자주식회사 | 움직임 벡터를 부호화 및 복호화하는 방법 및 장치 |
JP2011082683A (ja) * | 2009-10-05 | 2011-04-21 | Sony Corp | 画像処理装置、画像処理方法、及び、プログラム |
CN102045557B (zh) * | 2009-10-20 | 2012-09-19 | 鸿富锦精密工业(深圳)有限公司 | 视频编解码方法及使用其的视频编码、解码装置 |
KR101457418B1 (ko) * | 2009-10-23 | 2014-11-04 | 삼성전자주식회사 | 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
CN102104781B (zh) * | 2009-12-18 | 2013-03-20 | 联咏科技股份有限公司 | 图像解码器 |
US20110217994A1 (en) | 2010-03-03 | 2011-09-08 | Boku, Inc. | Systems and Methods to Automate Transactions via Mobile Devices |
US20110310976A1 (en) * | 2010-06-17 | 2011-12-22 | Qualcomm Incorporated | Joint Coding of Partition Information in Video Coding |
US8848779B2 (en) * | 2010-07-15 | 2014-09-30 | Sharp Laboratories Of America, Inc. | Method of parallel video coding based on block size |
US8526495B2 (en) * | 2010-11-22 | 2013-09-03 | Mediatek Singapore Pte. Ltd. | Apparatus and method of constrained partition size for high efficiency video coding |
WO2013061551A1 (ja) * | 2011-10-27 | 2013-05-02 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置 |
ES2780186T3 (es) * | 2011-10-28 | 2020-08-24 | Sun Patent Trust | Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, y dispositivo de decodificación de imágenes |
US10200709B2 (en) * | 2012-03-16 | 2019-02-05 | Qualcomm Incorporated | High-level syntax extensions for high efficiency video coding |
-
2012
- 2012-11-08 TW TW104114742A patent/TWI508533B/zh active
- 2012-11-08 RU RU2014117652/08A patent/RU2586001C2/ru active
- 2012-11-08 MX MX2014005643A patent/MX2014005643A/es active IP Right Grant
- 2012-11-08 EP EP15164428.3A patent/EP2916552A3/en not_active Ceased
- 2012-11-08 EP EP15164430.9A patent/EP2916553A3/en not_active Ceased
- 2012-11-08 RU RU2015114980/08A patent/RU2566956C2/ru active
- 2012-11-08 BR BR122015021736A patent/BR122015021736A2/pt not_active Application Discontinuation
- 2012-11-08 SG SG10201502731VA patent/SG10201502731VA/en unknown
- 2012-11-08 BR BR122015021735A patent/BR122015021735A2/pt not_active Application Discontinuation
- 2012-11-08 SG SG10201502739QA patent/SG10201502739QA/en unknown
- 2012-11-08 CN CN201510161074.8A patent/CN104796724B/zh active Active
- 2012-11-08 US US14/357,043 patent/US20140307783A1/en not_active Abandoned
- 2012-11-08 RU RU2015115002/08A patent/RU2566973C2/ru active
- 2012-11-08 CN CN201510162074.XA patent/CN104768010B/zh active Active
- 2012-11-08 CA CA2883363A patent/CA2883363C/en active Active
- 2012-11-08 MY MYPI2014001213A patent/MY169355A/en unknown
- 2012-11-08 EP EP17185127.2A patent/EP3264770A1/en not_active Ceased
- 2012-11-08 SG SG10201502738XA patent/SG10201502738XA/en unknown
- 2012-11-08 BR BR122015021739A patent/BR122015021739A2/pt not_active Application Discontinuation
- 2012-11-08 TW TW104114740A patent/TWI528792B/zh active
- 2012-11-08 AU AU2012336572A patent/AU2012336572B2/en active Active
- 2012-11-08 MX MX2015004579A patent/MX336650B/es unknown
- 2012-11-08 CN CN201510161048.5A patent/CN104796723B/zh active Active
- 2012-11-08 MX MX2015004569A patent/MX336649B/es unknown
- 2012-11-08 EP EP15163868.1A patent/EP2916550A3/en not_active Ceased
- 2012-11-08 EP EP15164427.5A patent/EP2916551A3/en not_active Ceased
- 2012-11-08 WO PCT/KR2012/009408 patent/WO2013069990A1/ko active Application Filing
- 2012-11-08 CN CN201810167672.XA patent/CN108259915B/zh active Active
- 2012-11-08 MY MYPI2015000872A patent/MY179745A/en unknown
- 2012-11-08 CA CA2883368A patent/CA2883368C/en active Active
- 2012-11-08 CA CA2883050A patent/CA2883050C/en active Active
- 2012-11-08 MY MYPI2015000861A patent/MY177794A/en unknown
- 2012-11-08 MX MX2015004571A patent/MX337403B/es unknown
- 2012-11-08 BR BR122015021741A patent/BR122015021741A2/pt not_active Application Discontinuation
- 2012-11-08 SG SG11201402160XA patent/SG11201402160XA/en unknown
- 2012-11-08 TW TW104114746A patent/TWI505696B/zh active
- 2012-11-08 MY MYPI2015000871A patent/MY174659A/en unknown
- 2012-11-08 CN CN201510194833.0A patent/CN104811727B/zh active Active
- 2012-11-08 MY MYPI2015000865A patent/MY179763A/en unknown
- 2012-11-08 RU RU2015114988/08A patent/RU2566957C2/ru active
- 2012-11-08 TW TW104114733A patent/TWI532370B/zh active
- 2012-11-08 BR BR112014010966A patent/BR112014010966A2/pt not_active Application Discontinuation
- 2012-11-08 CA CA2854887A patent/CA2854887C/en active Active
- 2012-11-08 CA CA2883047A patent/CA2883047C/en active Active
- 2012-11-08 MX MX2015004567A patent/MX336648B/es unknown
- 2012-11-08 CN CN201280054956.9A patent/CN103931192B/zh active Active
- 2012-11-08 JP JP2014540946A patent/JP2014535239A/ja active Pending
- 2012-11-08 EP EP12848529.9A patent/EP2763416A4/en not_active Ceased
- 2012-11-08 RU RU2015114969/08A patent/RU2566955C9/ru active
- 2012-11-08 SG SG10201502735PA patent/SG10201502735PA/en unknown
- 2012-11-08 KR KR1020120126170A patent/KR101493698B1/ko active IP Right Grant
- 2012-11-08 TW TW101141663A patent/TWI556648B/zh active
- 2012-11-08 CN CN201510161050.2A patent/CN104754356B/zh active Active
- 2012-11-08 EP EP15163909.3A patent/EP2953367A1/en not_active Ceased
-
2014
- 2014-04-29 PH PH12014500945A patent/PH12014500945A1/en unknown
- 2014-05-06 ZA ZA2014/03267A patent/ZA201403267B/en unknown
- 2014-05-07 KR KR20140054461A patent/KR101493699B1/ko active IP Right Grant
- 2014-10-29 KR KR1020140148740A patent/KR101575004B1/ko active IP Right Grant
-
2015
- 2015-01-22 US US14/603,112 patent/US9204163B2/en active Active
- 2015-01-22 US US14/603,164 patent/US9225995B2/en active Active
- 2015-02-24 KR KR1020150025921A patent/KR101575006B1/ko active IP Right Grant
- 2015-02-24 KR KR1020150025920A patent/KR101575005B1/ko active IP Right Grant
- 2015-02-26 US US14/632,673 patent/US9451282B2/en active Active
- 2015-02-26 US US14/632,717 patent/US9332273B2/en active Active
- 2015-03-25 PH PH12015500671A patent/PH12015500671B1/en unknown
- 2015-03-25 PH PH12015500673A patent/PH12015500673A1/en unknown
- 2015-03-25 PH PH12015500669A patent/PH12015500669A1/en unknown
- 2015-03-25 PH PH12015500672A patent/PH12015500672B1/en unknown
- 2015-04-07 KR KR1020150049072A patent/KR101881551B1/ko active IP Right Grant
- 2015-04-08 JP JP2015079406A patent/JP6120902B2/ja active Active
- 2015-04-08 JP JP2015079405A patent/JP6120901B2/ja active Active
- 2015-04-08 JP JP2015079403A patent/JP2015159586A/ja active Pending
- 2015-04-08 JP JP2015079404A patent/JP6122056B2/ja active Active
- 2015-06-29 ZA ZA2015/04683A patent/ZA201504683B/en unknown
- 2015-06-29 ZA ZA2015/04682A patent/ZA201504682B/en unknown
- 2015-06-29 ZA ZA2015/04684A patent/ZA201504684B/en unknown
- 2015-06-29 ZA ZA2015/04681A patent/ZA201504681B/en unknown
-
2017
- 2017-03-30 JP JP2017066507A patent/JP6466986B2/ja active Active
-
2018
- 2018-02-22 US US15/902,519 patent/US20180184114A1/en not_active Abandoned
-
2019
- 2019-01-10 JP JP2019002964A patent/JP2019071662A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR122015021741A2 (pt) | método para determinar vetor de movimento para previsão inter, aparelho determinador de vetor de movimento para previsão inter, e mídia de gravação legível por computador | |
RU2624578C2 (ru) | Способ и устройство для прогнозирования вектора движения для кодирования видео или декодирования видео | |
ES2733027T3 (es) | Procedimiento de decodificación por entropía de segmentos de corte | |
BR122021007881B1 (pt) | Método de decodificação de vídeo, e método de codificação de vídeo | |
BR112014015171B1 (pt) | Aparelho de decodificação de vídeo | |
AU2015201552B2 (en) | Method and device for determining motion vector for video coding or video decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B03A | Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette] | ||
B15K | Others concerning applications: alteration of classification |
Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/00 Ipc: H04N 19/56 (2014.01), H04N 19/124 (2014.01), H04N |
|
B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
B09B | Patent application refused [chapter 9.2 patent gazette] | ||
B12B | Appeal against refusal [chapter 12.2 patent gazette] |