BR122020015411B1 - Aparelho de decodificação de imagem - Google Patents

Aparelho de decodificação de imagem Download PDF

Info

Publication number
BR122020015411B1
BR122020015411B1 BR122020015411-0A BR122020015411A BR122020015411B1 BR 122020015411 B1 BR122020015411 B1 BR 122020015411B1 BR 122020015411 A BR122020015411 A BR 122020015411A BR 122020015411 B1 BR122020015411 B1 BR 122020015411B1
Authority
BR
Brazil
Prior art keywords
motion vector
motion
block
image
reference image
Prior art date
Application number
BR122020015411-0A
Other languages
English (en)
Inventor
Sung Chang Lim
Hui Yong Kim
Se Yoon Jeong
Suk Hee Cho
Dong San Jun
Jong Ho Kim
Ha Hyun Lee
Jin Ho Lee
Jin Soo Choi
Jin Woong Kim
Original Assignee
Electronics And Telecommunications Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46873758&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR122020015411(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from KR1020110065707A external-priority patent/KR20120088494A/ko
Application filed by Electronics And Telecommunications Research Institute filed Critical Electronics And Telecommunications Research Institute
Priority claimed from KR1020120010096A external-priority patent/KR101428030B1/ko
Publication of BR122020015411B1 publication Critical patent/BR122020015411B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A presente invenção refere-se a um aparelho para codificação e decodificação de imagem utilizando um vetor de movimento. De acordo com uma modalidade da presente invenção, o aparelho de decodificação de imagem, caracterizado por compreender: um armazenamento temporário de imagem de referência para armazenar uma imagem de referência; e uma unidade de compensação de movimento para gerar um bloco predito utilizando a imagem de referência e um vetor de movi-mento da imagem de referência; em que o vetor de movimento da imagem de referência é cortado em uma faixa predeterminada.

Description

Campo Técnico
[001] A presente invenção refere-se a processamento de imagem, e mais particularmente, a um aparelho de codificação/decodificação de vídeo utilizando um vetor de movimento cortado.
Técnica Fundamental
[002] Recentemente, de acordo com a expansão de um sistema de difusão suportando resolução de alta definição (HD) no país e em todo o mundo, muitos usuários têm se acostumado a uma imagem de alta resolução e definição, de modo que muitas organizações têm conduzido muitas tentativas de desenvolver os dispo-sitivos de vídeo de próxima geração. Adicionalmente, à medida que o interesse em HDTV e definição ultra alta (UHD possuindo uma resolução quatro vezes maior do que a HDTV tem aumentado, uma tecnologia de compressão por um vídeo de reso-lução mais alta e maior definição tem sido exigida.
[003] Para compressão de imagem, uma tecnologia interpredição de predição de valores de pixel incluídos em uma imagem atual a partir de uma imagem anterior e/ou posterior à imagem atual, uma tecnologia de intrapredição de predição de valores de pixel utilizando informação de pixel na imagem, uma tecnologia de codificação por entropia de alocação de um código curto para um símbolo possuindo uma alta frequência de surgimento e um código longo para um símbolo possuindo uma baixa frequência de surgimento, ou similares, pode ser utilizada.
Descrição Problema Técnico
[004] A presente invenção fornece um método de codificação e decodifica- ção de vídeo utilizando um vetor de movimento cortado e um aparelho para tal.
[005] A presente invenção também fornece um método de cortar um vetor de movimento de uma imagem de referência.
[006] A presente invenção também fornece um método de transmissão de informação em um vetor de movimento.
[007] Solução Técnica
[008] 1. Uma modalidade da presente invenção se refere a um método de codificação de uma imagem. O método inclui cortar um vetor de movimento de uma imagem de referência em uma faixa dinâmica predeterminada para gerar um vetor de movimento cortado, armazenando o vetor de movimento cortado em um armaze-namento temporário (buffer) e codificando um vetor de movimento de um bloco de árvore de codificação utilizando um vetor de movimento armazenado no armazena-mento temporário.
[009] 2. Em 1, a faixa dinâmica pode ser definida por um nível de um codec (codificador/decodificador) de vídeo.
[010] 3. Em 1, a faixa dinâmica pode ser determinada por uma profundidade predeterminada de bit, e a profundidade de bit pode ser definida por um nível de um codec de vídeo.
[011] 4. Em 1, o componente X e o componente Y do vetor de movimento da imagem de referência podem ser cortados em diferentes faixas dinâmicas.
[012] 5. Outra modalidade da presente invenção se refere a um método de decodificação de uma imagem. O método inclui cortar um vetor de movimento de uma imagem de referência em uma faixa dinâmica predeterminada para gerar um vetor de movimento cortado, o armazenamento do vetor de movimento cortado em um armazenamento temporário, a derivação de um vetor de movimento de um bloco de árvore de codificação utilizando o vetor de movimento armazenado no armaze-namento temporário, e realizando o processo de decodificação interpredição utili-zando o vetor de movimento do bloco de arvore de codificação.
[013] 6. Em 5, a faixa dinâmica pode ser definida por um nível de um codec de vídeo.
[014] 7. Em 5, a faixa dinâmica pode ser determinada por uma profundidade de bit predeterminada, e a profundidade de bit pode ser definida por um nível de um codec de vídeo.
[015] 8. Em 5, a faixa dinâmica pode ser determinada por uma profundidade de bit predeterminada, e a profundidade de bit pode ser obtida através de um parâ-metro de sequência determinado transmitido a partir de um aparelho de codificação de uma imagem.
[016] 9. Em 8, o parâmetro de sequência determinado pode incluir um indi-cador indicando se o vetor de movimento da imagem de referência é cortado e um parâmetro para obtenção da profundidade de bit.
[017] 10. Em 9, o método de decodificação de uma imagem pode incluir a compressão do vetor de movimento da imagem de referência, onde o parâmetro de sequência determinado inclui um indicador indicando se o vetor de movimento da imagem de referência é comprimida e um parâmetro para obtenção de uma razão de compressão do vetor de movimento da imagem de referência.
[018] 11. Em 5, o método de decodificação de uma imagem pode incluir a limitação de uma resolução de representação do vetor de movimento da imagem de referência.
[019] 12. Em 5, o vetor de movimento cortado pode ser armazenado de acordo com uma prioridade.
[020] 13. Em 5, o vetor de movimento cortado pode ser um vetor de movimento de um bloco codificado no modo interpredição.
[021] 14. Em 5, o método de decodificação de uma imagem pode incluir a realização do escalonamento do vetor de movimento da imagem de referência.
[022] 15. Em 5, o componente X e o componente Y do vetor de movimento da imagem de referência pode ser cortado em diferentes faixas dinâmicas.
[023] 16. Em 15, a faixa dinâmica do componente X e a faixa dinâmica do componente Y podem ser definidas por um nível de um codec de vídeo.
[024] 17. Outra modalidade da presente invenção se refere a um aparelho de decodificação de uma imagem. O aparelho inclui um armazenamento temporário de imagem de referência armazenando uma imagem de referência e um compensador de movimento gerando um bloco predito utilizando a imagem de referência e um vetor de movimento da imagem de referência, onde o vetor de movimento da imagem de referência é cortado em uma faixa dinâmica predeterminada.
[025] 18. Em 17, a faixa dinâmica pode ser definida por um nível de um codec de vídeo.
[026] 19. Em 17, a faixa dinâmica pode ser determinada por uma profundidade de bit predeterminada, e a profundidade de bit pode ser definida por um nível de um codec de vídeo.
[027] 20. Em 17, a faixa dinâmica pode ser determinada por uma profundidade de bit predeterminada, e a profundidade de bit pode ser obtida através de um parâmetro de sequência determinado transmitido a partir de um aparelho de codifi-cação de uma imagem.
Efeitos Vantajosos
[028] De acordo com a modalidade ilustrativa da presente invenção, o vídeo pode ser codificado utilizando o vetor de movimento cortado.
[029] De acordo com a modalidade ilustrativa da presente invenção, um ta-manho de uma memória necessária para o armazenamento de vetores pode ser re-duzido.
[030] De acordo com a modalidade ilustrativa da presente invenção, uma largura de banda de acesso à memória necessária para se coletar dados da memória pode ser reduzida.
Descrição dos Desenhos
[031] A figura 1 é um diagrama em bloco ilustrando um exemplo de uma es-trutura de um codificador de acordo com uma modalidade ilustrativa da presente in-venção;
[032] A figura 2 é um diagrama em bloco ilustrando um exemplo de uma es-trutura de um decodificador de acordo com uma modalidade ilustrativa da presente invenção;
[033] A figura 3 ilustra exemplos de uma imagem de objeto de codificação e decodificação e uma imagem de referência;
[034] A figura 4 ilustra um exemplo de limitação de uma faixa dinâmica de um vetor de movimento;
[035] As figuras de 5 a 8 são fluxogramas ilustrando um método de armaze-namento de um vetor de movimento de uma imagem de referência;
[036] A figura 9 ilustra um exemplo de quantização de um vetor de movimento;
[037] As figuras de 10 a 13 ilustram exemplos de coleta de informação de movimento a partir de uma imagem de referência;
[038] A figura 14 é um fluxograma ilustrando um método de codificação de uma imagem de acordo com a modalidade ilustrativa da presente invenção;
[039] A figura 15 é um fluxograma ilustrando um método de decodificação de uma imagem de acordo com a modalidade ilustrativa da presente invenção.
Modo de Invenção
[040] Doravante, as modalidades ilustrativas da presente invenção serão descritas em detalhes com referência aos desenhos em anexo. No entanto, na des-crição das modalidades ilustrativas da presente invenção, funções ou construções bem conhecidas não serão descritas em detalhes visto que podem obscurecer des-necessariamente a compreensão da presente invenção.
[041] Deve-se compreender que quando qualquer elemento é referido como estando "conectado a" ou "acoplado a" outro elemento, o mesmo pode ser conectado diretamente a ou acoplado diretamente a outro elemento ou ser conectado a ou acoplado a outro elemento, possuindo o outro elemento intervindo entre os mesmos. Adicionalmente, na presente especificação, no caso de descrição "incluindo" um componente específico, deve-se compreender que componentes adicionais além de um componente correspondente não estão excluídos, mas podem ser incluídos nas modalidades ilustrativas ou escopo técnico da presente invenção.
[042] Os termos utilizados na especificação, "primeiro", "segundo", etc. podem ser utilizados para descrever vários componentes, mas os componentes não devem ser considerados como estando limitados aos termos. Isso é, os termos são utilizados para distinguir um componente de outro componente. Por exemplo, o "pri-meiro" componente pode ser chamado de "segundo" componente, e vice-versa, sem se distanciar do escopo da presente invenção.
[043] Adicionalmente, os componentes descritos nas modalidades ilustrativas da presente invenção são ilustrados independentemente apenas a fim de indicar que realizam funções características diferentes. Portanto, os componentes que são ilustrados independentemente não significam que cada um dos componentes pode não ser implementado como um hardware ou software. Isso é, cada um dos compo-nentes é dividido por motivos de conveniência de explicação, uma pluralidade de componentes pode ser combinada um com o outro para, dessa forma, ser operado como um componente ou um componente pode ser dividido em uma pluralidade de componentes para, dessa forma, ser operado como uma pluralidade de componentes, que são incluídos no escopo da presente invenção desde que se distancie das características essenciais da presente invenção.
[044] Adicionalmente, alguns dos componentes podem não ser componentes indispensáveis realizando funções essenciais da presente invenção, mas os componentes seletivos aperfeiçoando apenas o desempenho dos mesmos. A pre-sente invenção também pode ser implementada apenas por uma estrutura incluindo os componentes indispensáveis exceto pelos componentes seletivos, e a estrutura incluindo apenas os componentes indispensáveis também é incluída no escopo da presente invenção.
[045] A figura 1 é um diagrama em bloco ilustrando um exemplo de uma es-trutura de um codificador de acordo com uma modalidade ilustrativa da presente in-venção.
[046] Com referência à figura 1, o codificador 100 inclui um preditor de mo-vimento 111, um compensador de movimento 112, um intrapreditor 120, um comu-tador 115, um subtraidor 125, um transformador 130, um quantizador 140, um codifi-cador por entropia 150, um desquantizador 160, um transformador invertido 170, um somador 175, uma unidade de filtro 180 e um armazenamento temporário de ima- gem de referência 190.
[047] O codificador 100 codifica as imagens de entrada em um modo de in- trapredição ou um modo de interpredição para a saída do codificador de uma se-quência de bits. Intrapredição significa predição de intra imagem e interpredição sig-nifica predição inter imagem. O codificador 100 é comutado entre o modo de intra- predição e o modo de interpredição através da comutação do comutador 115. O co-dificador 100 gera um bloco predito para um bloco de entrada da imagem de entrada e então codifica um residual entre o bloco de entrada e o bloco predito.
[048] No caso do modo de intrapredição, o intrapreditor 120 realiza a predição espacial utilizando valores de pixel de blocos vizinhos que são codificados já para gerar os blocos preditos.
[049] No caso do modo de intrapredição, o preditor de movimento 111 busca um bloco de referência idealmente combinado com o bloco de entrada em uma imagem de referência armazenada no armazenamento temporário de imagem de referência 190 durante um processo de predição de movimento para obter um vetor de movimento. O compensador de movimento 112 realiza a compensação de movimento utilizando o vetor de movimento para gerar o bloco predito. Aqui, o vetor de movimento pode ser um vetor bidimensional utilizado para a interpredição e representa um desvio entre um bloco de árvore de codificação atual e o bloco de referência.
[050] O subtraidor 125 gera um bloco residual com base no residual entre o bloco de entrada e o bloco predito, e o transformador 130 transforma o bloco residual para enviar um coeficiente de transformação. O quantizador 140 quantiza o coefi-ciente de transformação para enviar o coeficiente quantizado.
[051] O codificador por entropia 150 realiza a codificação por entropia com base na informação obtida durante um processo de codificação e quantização para enviar a sequência de bits. A codificação por entropia representa símbolos gerados com frequência como um número pequeno de bits, reduzindo, assim, um tamanho de uma sequência de bits para um símbolo de codificação. Portanto, o desempenho de compressão de um vídeo pode ser aperfeiçoado através da codificação por en-tropia. O codificador por entropia 150 pode utilizar um método de codificação tal como exponencial-Golomb, codificação de comprimento variável adaptativo de contexto (CAVLC), codificação aritmética binária adaptativa de contexto (CABAC), ou similares, para a codificação por entropia.
[052] Uma imagem codificada precisa ser decodificada novamente e arma-zenada a fim de ser utilizada como uma imagem de referência para a realização da codificação interpredição. Portanto, o desquantizador 160 desquantiza o coeficiente quantizado, e o transformador invertido 170 transforma de forma invertida o coefici-ente desquantizado para enviar um bloco residual reconstruído. O somador 175 soma o bloco residual reconstruído ao bloco predito para gerar um bloco reconstruído.
[053] A unidade de filtro 180 é chamada também de um filtro em circuito adaptativo e aplica pelo menos uma filtragem de desbloqueio, compensação de des-vio adaptativo de amostra (SAO), filtragem de circuito adaptativo (ALF) ao bloco re-construído. A filtragem de desbloqueio significa que a distorção de bloco ocorrida em um limite entre os blocos é removida, e a compensação SAO significa que um desvio adequado é adicionado a um valor de pixel a fim de compensar um erro de codi-ficação. Adicionalmente, ALF significa que a filtragem é realizada com base em um valor de comparação entre uma imagem reconstruída e uma imagem original.
[054] Enquanto isso, o armazenamento temporário de imagem de referência 190 armazena o bloco reconstruído passando através da unidade de filtro 180.
[055] A figura 2 é um diagrama em bloco ilustrando um exemplo de uma es-trutura de um decodificador de acordo com uma modalidade ilustrativa da presente invenção.
[056] Com referência à figura 2, um decodificador inclui um decodificador por entropia 210, um desquantizador 220, um transformador invertido 230, um intra- preditor 240, um compensador de movimento 250, um somador 255, uma unidade de filtro 260, e um armazenamento temporário de imagem de referência 270.
[057] O decodificador 200 decodifica a sequência de bits no modo intrapre- dição ou o modo de interpredição para enviar uma imagem reconstruída. O decodifi- cador 200 é comutado entre o modo de intrapredição e o modo interpredição através da comutação do comutador. O decodificador 200 obtém um bloco residual a partir da sequência de bits para gerar um bloco predito e então adiciona o bloco residual e o bloco predito um para outro para gerar um bloco reconstruído.
[058] O decodificador de entropia 210 realiza uma decodificação por entropia com base na distribuição de probabilidade. O processo de decodificação por entropia é um processo oposto ao processo de codificação por entropia mencionado acima. Isso é, o decodificador por entropia 210 gera um símbolo incluindo um coeficiente quantizado a partir da sequência de bits onde um símbolo gerado com frequência é representado como um número pequeno de bits.
[059] O desquantizador 220 desquantiza o coeficiente quantizado, e o trans-formador invertido 230 transforma de forma invertida o coeficiente desquantizado para gerar um bloco residual.
[060] No caso do modo de intrapredição, o intrapreditor 240 realiza a predição espacial utilizando valores de pixel de blocos vizinhos que já são codificados para gerar os blocos preditos.
[061] No caso do modo de interpredição, o compensador de movimento 250 realiza a compensação de movimento utilizando o vetor de movimento e a imagem de referência armazenada no armazenamento temporário de imagem de referência 270 para gerar o bloco predito.
[062] O somador 255 adiciona o bloco predito para o bloco residual, e a uni-dade de filtro 260 aplica pelo menos um dentre a filtragem de desbloqueio, compen-sação SAO, ALF para o bloco passando através do somador para enviar uma imagem reconstruída.
[063] A imagem reconstruída pode ser armazenada no armazenamento temporário de imagem de referência 270 para, dessa forma, ser utilizado para a compensação de movimento.
[064] Doravante, um bloco significa uma unidade de codificação e decodifi- cação. Em um processo de codificação e decodificação, uma imagem é dividida em um tamanho predeterminado e então codificada e decodificada. Portanto, um bloco também pode ser chamado de unidade de codificação (CU), uma unidade de predição (PU), uma unidade de transformação (TU), ou similares, e um bloco único também pode ser dividido em sub-blocos possuindo um tamanho menor.
[065] Aqui, uma unidade de predição significa uma unidade básica na qual a predição e/ou compensação de movimento é realizada. Uma unidade de predição pode ser dividida em uma pluralidade de partições, e cada uma das partições também pode ser chamada de partição de unidade de predição. Quando uma unidade de predição é dividida em uma pluralidade de partições, cada uma das partições de unidade de predição pode se tornar uma unidade básica na qual a predição e/ou compensação de movimento são realizadas. Doravante, na modalidade ilustrativa da presente invenção, uma unidade de predição pode significar também as partições de unidade de predição.
[066] Enquanto isso, na codificação de vídeo de alta eficiência (HEVC), um método de predição de vetor de movimento com base na predição de vetor de mo-vimento avançada (AMVP) é utilizada.
[067] No método de predição de vetor de movimento com base na predição de vetor de movimento avançado, um vetor de movimento (MV) de um bloco, existente em uma posição que é igual a ou corresponde ao de um bloco de árvore de codificação, em uma imagem de referência além de vetores de movimento de blocos reconstruídos posicionados em torno do bloco de árvore de codificação pode ser utilizado. Aqui, o bloco, existente em uma posição que é igual a ou corresponde espacialmente à do bloco de árvore de codificação, na imagem de referência é chamada de bloco co-localizado, e um vetor de movimento do bloco co-localizado é chamado de um vetor de movimento co-localizado ou um vetor de movimento temporal. No entanto, o bloco co-localizado pode ser um bloco, existente em uma posição similar a (isso é, correspondente a) igual à do bloco de árvore de codificação, na imagem de referência além de um bloco existente na mesma posição que o bloco de árvore de codificação.
[068] Em um método de mistura de informação de movimento, a informação de movimento é estimada a partir do bloco co-localizado além de blocos reconstruídos posicionados em torno do bloco de árvore de codificação para, dessa forma, ser utilizado como informação de movimento do bloco de árvore de codificação. Aqui, a informação de movimento inclui pelo menos uma dentre a informação de modo de interpredição indicando um índice de imagem de referência, um vetor de movimento, uma direção única ou uma direção dupla, ou similares, necessários no momento da interpredição, uma lista de imagem de referência, e informação de modo de predição sobre se a codificação é realizada em um modo de intrapredição ou em um modo de interpredição.
[069] Um vetor de movimento predito no bloco de árvore de codificação pode ser um vetor de movimento do bloco co-localizado, que é um bloco temporalmente adjacente ao bloco de árvore de codificação, além de um dos vetores de movimento dos blocos vizinhos espacialmente adjacentes ao bloco de árvore de codificação.
[070] A figura 3 ilustra exemplos de uma imagem de objeto de codificação e decodificação e uma imagem de referência.
[071] Na figura 3, um bloco X indica um bloco de árvore de codificação em uma imagem de objeto de codificação e decodificação 310, e um bloco A, um bloco B, um bloco C, um bloco D, e um bloco E indicam blocos reconstruídos posicionados em torno do bloco de árvore de codificação. Adicionalmente, um bloco T na imagem de referência 320 indica um bloco co-localizado existente em uma posição corres-pondente à do bloco de árvore de codificação.
[072] Qual vetor de movimento no bloco de árvore de codificação é utilizado como o vetor de movimento predito pode ser reconhecido através de um índice de preditor de vetor de movimento.
[073] Tabela 1
Figure img0001
[074] Como ilustrado na tabela 1, os índices de preditor de vetor de movimento mvp_idx_10 e mvp_idx_11 para cada lista de imagem de referência são transmitidos para um decodificador, e o decodificador utiliza o mesmo vetor de movimento como um vetor de movimento predito por um codificador como um vetor de movimento predito.
[075] No caso no qual o bloco de árvore de codificação é codificado e deco-dificado utilizando os vetores de movimento dos blocos vizinhos espacialmente adja-centes ao bloco de árvore de codificação, o vetor de movimento pode ser armazenado apenas com uma memória possuindo um tamanho relativamente pequeno. No entanto, no caso no qual um vetor de movimento temporal é utilizado, visto que todos os vetores de movimento da imagem de referência precisam ser armazenados em uma memória, uma memória possuindo um tamanho relativamente grande é necessária, e um tamanho de uma largura de banda de acesso de memória necessária para se coletar os dados da memória também aumenta. Portanto, existe a necessidade de se armazenar de forma mais eficiente o vetor de movimento temporal em um ambiente de aplicativo no qual um espaço de memória de um terminal portátil, ou similar, não é suficiente ou o consumo de energia é minimizado.
[076] Enquanto isso, como uma tecnologia de armazenamento de um vetor de movimento em uma memória, existe um método de redução de uma resolução espacial do vetor de movimento. Nesse método, o vetor de movimento é comprimido em qualquer razão e então armazenado na memória. Por exemplo, um vetor de mo-vimento armazenado em uma unidade de bloco 4x4 é armazenado em uma unidade de bloco 4x4 ou maior para reduzir o número de vetores de movimento armazenados. Aqui, a fim de se ajustar um tamanho de bloco do vetor de movimento armazenado, a informação sobre uma razão de compressão é transmitida. A informação é transmitida através de um conjunto de parâmetros de sequência (SPS) como ilustrado na Tabela 2.
[077] Tabela 2
Figure img0002
[078] Com referência à Tabela 2, no caso no qual motion_buffer_comp_flag é igual a 1, um processo de compressão de armazenamento temporário de vetor de movimento é realizado.
[079] motion_vector_buffer_comp_ratio_log2 indica uma razão de compressão do processo de compressão de armazenamento temporário de vetor de movimento. No caso no qual o motion_vector_buffer_comp_ratio_log2 não existe, mo- tion_vector_buffer_comp_ratio_log2 é estimado para 0, e uma razão de compressão de armazenamento temporário de vetor de movimento é representada pela Equação 1.
[080] Equação!
Figure img0003
[081] Por exemplo, no caso no qual todos os blocos 4x4 de 1920x1080 ima- gens possuem vetores de movimento diferente e utilizam duas listas de imagem de referência, cada uma utilizando duas imagens de referência, um espaço de memória total de 3,21 Mbytes é necessário para armazenar um vetor de movimento temporal como descrito abaixo.
[082] 1. Profundidade de bit de 26 bits por vetor de movimento
[083] (1) Faixa dinâmica de componente X do vetor de movimento: -252 para +7676 (comprimento de bit: 13 bits)
[084] (2) Faixa dinâmica de componente Y de vetor de movimento: -252 para +4316 (comprimento de bit: 13 bits)
[085] (3) (Faixas dinâmicas de cada componente do vetor de movimento foram calculados com base em uma primeira unidade de predição em uma imagem correspondente).
[086] 2. No caso no qual todas as unidades de bloco 4x4 possuem vetores de movimento diferentes 480 x 270 = 129600 blocos.
[087] 3. Uso de dois vetores de movimento por cada bloco
[088] 4. O número de listas de imagem de referência: 2
[089] 5. Uso de duas imagens de referência por lista de imagem de referência.
[090] => 26 bits x 129600 blocos x dois vetores de movimento x duas listas de imagem de referência x duas imagens de referência = 26956800 bits = 3,21 Mbytes.
[091] De acordo com o método de redução de uma resolução espacial de um vetor de movimento como descrito acima, é possível se reduzir o tamanho do espaço de memória necessário e a largura de banda de acesso demo ria utilizando a correlação espacial do vetor de movimento. No entanto, o método de redução de uma resolução espacial de um vetor de movimento não limita a faixa dinâmica do vetor de movimento.
[092] Quando o tamanho do espaço de memória é reduzido para 1/4, um tamanho de espaço de memória necessário no exemplo mencionado acima é redu- zido para cerca de 0,8 Mbytes. Aqui, quando apenas seis bits da profundidade de bit necessária para o armazenamento do vetor de movimento são utilizados para cada componente do vetor de movimento pela limitação adicional da faixa dinâmica do vetor de movimento, o tamanho do espaço de memória necessário pode ser reduzido adicionalmente para 0,37 Mbytes.
[093] Portanto, na modalidade ilustrativa da presente invenção, a faixa di-nâmica do vetor de movimento é limitada a fim de reduzir um tamanho de um espaço de memória necessário par ao armazenamento do vetor de movimento e uma largura de banda de acesso de memória necessária para a coleta de dados a partir da memória. O vetor de movimento da imagem de referência do qual a faixa dinâmica é limitada pode ser utilizado como um vetor de movimento temporal no bloco de árvore de codificação.
[094] Doravante, uma faixa dinâmica significa uma faixa entre um valor mí-nimo e um valor máximo de um componente negativo ou um componente positivo de um vetor de movimento com base em 0, a profundidade de bit, que indica um tamanho de um espaço necessário para o armazenamento do vetor de movimento, significa uma largura de bit. Adicionalmente, a menos que particularmente descrito, o vetor de movimento significa um vetor de movimento de uma imagem de referência, isso é, um vetor de movimento temporal.
[095] No caso no qual cada componente do vetor de movimento está fora da faixa dinâmica, o mesmo é representado pelo valor mínimo ou valor máximo da faixa dinâmica correspondente. Por exemplo, no caso no qual um componente X do vetor de movimento 312 e um valor máximo de uma faixa dinâmica de cada componente do vetor de movimento 256, o componente X do vetor de movimento é limitado a 256.
[096] Da mesma forma, no caso no qual uma profundidade de bit de cada componente do vetor de movimento é igual a 16 bits e o vetor de movimento é (-36, 24), quando a profundidade de bit de cada componente do vetor de movimento é limitado a 6 bits, cada componente do vetor de movimento possui uma faixa dinâmi- ca de -32 a +31, de modo que o vetor de movimento seja representado por (-32, 24) que está em sua faixa dinâmica.
[097] Adicionalmente, no caso no qual uma profundidade de bit de cada componente do vetor de movimento é igual a 16 bits e o vetor de movimento é (-49, 142), quando a profundidade de bit de cada componente do vetor de movimento é limitada a 9 bits, cada componente do vetor de movimento possui uma faixa dinâmica de -256 a +255, de modo que o vetor de movimento seja representado por (-49, 142) sem uma alteração.
[098] A figura 4 ilustra um exemplo de limitação de uma faixa dinâmica de um vetor de movimento.
[099] Com referência à figura 4, quando uma faixa dinâmica de um vetor de movimento possuindo uma faixa dinâmica de -4096 a +4095 é limitada a -128 a +127, uma profundidade de bit pode ser reduzida de 13 bits para 8 bits.
[0100] Cada componente de um vetor de movimento temporal é cortado como representado pelas Equações 2 e 3 a fim de ser armazenado em uma profundidade de bit de N bits. Onde N indica um inteiro positivo.
[0101] Equação 2
Figure img0004
[0102] Equação 3
Figure img0005
[0103] Onde MV_X indica um componente X do vetor de movimento, MV_Y indica um componente Y do vetor de movimento, min(a,b) significa uma operação de envio de um valor menor em a e b, e max(a,b) significa uma operação de envio de um valor maior em a e b. Cada MV_X cortado e MV_Y cortado indica os componentes X e Y do vetor de movimento temporal cortado e é armazenado na memória para, dessa forma, ser utilizado como um vetor de movimento temporal do bloco de árvore de codificação.
[0104] Por exemplo, como ilustrado na Tabela 3, no caso no qual um tamanho de um espaço de memória é de 48 bytes e cada componente do vetor de movi- mento utiliza uma profundidade de bit de 16 bits, um total de doze vetores de movi-mento pode ser armazenado.
[0105] Tabela 3
Figure img0006
[0106] No entanto, quando cada componente do vetor de movimento utiliza apenas uma profundidade de bit de 8 bits, um total de vinte e quatro vetores de mo-vimento pode ser armazenado como ilustrado na Tabela 4.
[0107] Tabela 4
Figure img0007
[0108] Portanto, de acordo com a modalidade ilustrativa da presente invenção, quando uma imagem reconstruída em um codificador e/ou um decodificador é submetida a um processo de filtragem em circuito tal como um filtro de desbloqueio, um filtro de circuito adaptativo, ou similar, e então armazenada em um armazena-mento temporário de imagem decodificada (DPB), a faixa dinâmica do vetor de mo-vimento é limitada, de modo que um vetor de movimento de uma imagem de refe-rência seja armazenado. O armazenamento temporário de imagem decodificada significa o armazenamento temporário de imagem de referência da figura 1 ou figura 2.
I.Processo de Aparamento do Vetor de Movimento
[0109] Um processo de aparamento de cada componente de um vetor de movimento é invocado no caso no qual um slice_type não é igual a I. O processo de aparamento de um vetor de movimento é realizado em um bloco de árvore ou unidade de codificação maior (LCU) depois de um processo de filtragem ter sido encerrado.
[0110] Os registros no processo de aparamento de um vetor de movimento são uma localização (xP, yP) especificando a amostra superior esquerda da unidade de predição com relação à amostra superior esquerda da imagem atual, e as matrizes de vetor de movimento MvL0 e MvL1. As saídas no processo são as matrizes de vetor de movimento cortado CMvL0 e CMvL1.
[0111] Com relação às matrizes MvL0, MvL1, CMvL0 e CMvL1, as operações das Equações 4 a 7 são realizadas.
[0112] Equação 4
Figure img0008
[0113] Equação 5
Figure img0009
[0114] Equação 6
Figure img0010
[0115] Equação 7
Figure img0011
[0116] Onde TMVBitWidth indica uma profundidade de bit de um vetor de movimento, Clip3 (a, b, c) significa uma função de aparamento c de modo a existir em uma faixa entre a e b.
II.Processo de Armazenamento de Vetor de Movimento
[0117] As figuras de 5 a 8 são fluxogramas ilustrando um método de arma-zenamento de um vetor de movimento de uma imagem de referência.
[0118] Com referência à figura 5, o vetor de movimento da imagem de referência pode ser armazenado utilizando ambos um armazenamento temporário de imagem armazenando uma imagem reconstruída e um armazenamento temporário de vetor de movimento armazenando um vetor de movimento. Aqui, a imagem reconstruída é submetida a um processo de filtragem em circuito (S510) e o vetor de movimento é submetido a um processo de faixa dinâmica limitadora (S520) e então armazenada (S540).
[0119] Adicionalmente, com referência à figura 6, ambos um armazenamento temporário de imagem e um armazenamento temporário de vetor de movimento são utilizados, e o vetor de movimento é submetido a um processo de faixa dinâmica limitadora (S620) e a um processo de resolução espacial reduzida (S630) e então armazenado (S640).
[0120] Adicionalmente, com referência à figura 7, a imagem reconstruída é submetida a um processo de filtragem em circuito (S710) e então armazenado em um armazenamento temporário de imagem (S740), e o vetor de movimento é submetido a um processo de faixa dinâmica limitadora (S720) e então armazenado em um armazenamento temporário de vetor de movimento (S750).
[0121] Adicionalmente, com referência à figura 8, a imagem reconstruída é submetida a um processo de filtragem em circuito (S810) e então armazenado em um armazenamento temporário de imagem (S840), e o vetor de movimento é submetido a um processo de faixa dinâmica limitadora (S820) e um processo de resolução espacial reduzida (S830) e entoa armazenado (S850).
[0122] Enquanto isso, nas modalidades ilustrativas das figuras 6 e 8, uma sequência e processo de faixa dinâmica limitadora S620 ou S820 e o processo de resolução espacial reduzida S630 e S830 não é limitada, mas pode ser alterada.
[0123] Adicionalmente, a fim de se reduzir adicionalmente uma largura de banda de acesso à memória, as faixas dinâmicas de cada componente do vetor de movimento podem ser limitadas de forma diferente. Por exemplo, apenas uma dentre uma faixa dinâmica de um componente X e uma faixa dinâmica de um componente Y pode ser limitada ou a faixa dinâmica do componente Y pode ser adicionalmente limitada em comparação com a faixa dinâmica do componente X.
[0124] A faixa dinâmica limitada do vetor de movimento é transmitida através de um conjunto de parâmetros de sequência, um conjunto de parâmetros de imagem (PPS), um cabeçalho de fatia, ou similares, e o decodificador realiza de forma similar a limitação de uma faixa dinâmica de um vetor de movimento temporal na sequência, na imagem ou na fatia. Nesse caso, uma profundidade de bit, que é um tamanho de um espaço de memória necessário para o armazenamento de vetor de movimento representado na faixa dinâmica também pode ser transmitido. Adicio- nalmente, é possível se armazenar de forma eficiente o vetor de movimento temporal de modo a ser combinado com as características de movimento da imagem utilizando a faixa dinâmica transmitida através do conjunto de parâmetros de sequência, conjunto de parâmetros de imagem, cabeçalho de fatia, ou similares, ao invés do armazenamento do vetor de movimento utilizando uma profundidade de bit possuindo um tamanho fixo.
[0125] Enquanto isso, o vetor de movimento pode ser quantizado e armazenado. No caso no qual o vetor de movimento é quantizado e armazenado, a precisão do vetor de movimento é reduzida. Como um método de quantização, existe a quan- tização uniforme na qual os tamanhos de etapa são uniformes, a quantização não- uniforme na qual os tamanhos de etapa não são uniformes, e similares. O tamanho de etapa na quantização é determinado para um valor fixo predefinido entre o codificador e o decodificador ou é transmitido a partir do codificador para o decodificador através do conjunto de parâmetros de sequência, o conjunto de parâmetros de imagem, o cabeçalho de fatia ou similares. O decodificador utiliza o vetor de movimento quantizado como está ou desquantiza e utiliza o vetor de movimento quantizado. A figura 9 ilustra um exemplo da quantização de um vetor de movimento. Com referência à figura 9, no caso no qual o vetor de movimento possui um valor de componente de 32 a 48, o vetor de movimento é quantizado para 40.
[0126] Adicionalmente, o vetor de movimento pode ser limitado em uma re-solução de representação e armazenado. A resolução de representação significa uma unidade de pixel inteiro (1 unidade de pixel), uma unidade de pixel de fração (uma unidade de pixel 1/2, uma unidade de pixel 1/4, ou similares). Por exemplo, uma resolução do vetor de movimento processado em uma unidade de pixel de 1/4 pode ser armazenada como um pixel inteiro. A resolução de representação do vetor de movimento é determinada para um valor fixo predefinido entre o codificador e o decodificador ou é transmitida a partir do codificador para o decodificador através do conjunto de parâmetros de sequência, conjunto de parâmetros de imagem, cabeçalho de fatia, ou similares.
[0127] Adicionalmente, apenas com relação a alguns vetores de movimento entre os vetores de movimento temporal armazenados em uma memória, um processo de faixa dinâmica limitadora, um processo de resolução de espaço reduzido, e um processo de quantização do vetor de movimento podem ser realizados.
[0128] No caso no qual a faixa dinâmica do vetor de movimento é limitada e armazenada, a informação sobre a faixa dinâmica do vetor de movimento pode ser adicionada ou armazenada à memória. Por exemplo, no caso no qual a faixa dinâmica do vetor de movimento é igual a -128 a +127, um indicador de 1 pode ser adicionalmente armazenado, e no caso no qual a faixa dinâmica do vetor de movimento é -32 a + 31, um indicador de 0 pode ser adicionalmente armazenado. Nesse caso, a informação de indicador pode ser armazenada juntamente com o vetor de movimento ou pode ser armazenada em uma memória diferente da memória na qual o vetor de movimento está armazenado. No caso no qual a informação de indicador e o vetor de movimento são armazenados em memórias diferentes, quando em que faixa dinâmica um vetor de movimento específico está armazenado for reconhecido, o acesso arbitrário à informação de indicador pode ser permitida. Adicionalmente, a informação sobre em que faixa dinâmica alguns dos vetores de movimento são armazenados é transmitida através do conjunto de parâmetro de sequência, conjunto de parâmetro de imagem, cabeçalho de fatia, ou similares, possibilitando, assim, poder ser decodificar par realizar uma operação similar à de um codificador.
[0129] No caso no qual a resolução espacial do vetor de movimento é reduzida e armazenada, a informação em um tamanho de bloco do vetor de movimento pode ser adicionada e armazenada na memória. Por exemplo, no caso no qual o tamanho de bloco do vetor de movimento é 4x4, um indicador de 1 pode ser adicionalmente armazenado, e no caso no qual o tamanho de bloco do vetor de movimento é 16x16, um indicador de 0 pode ser adicionalmente armazenado. Nesse caso, a informação de indicador pode ser armazenada juntamente com o vetor d movimento ou pode ser armazenada em uma memória diferente da memória na qual o vetor de movimento é armazenado. No caso no qual a informação de indicador e o vetor de movimento são armazenados em memórias diferentes, quando em que tamanho de bloco um vetor de movimento específico é armazenado é reconhecido, o acesso arbitrário à informação de indicador pode ser permitido. Adicionalmente, a informação sobre qual tamanho de bloco alguns vetores de movimento são armazenados é transmitida através do conjunto de parâmetros de sequência, conjunto de parâmetros de imagem, cabeçalho de fatia, ou similares, possibilitando, assim, que um de- codificador realize uma operação similar à de um codificador.
[0130] No caso no qual o vetor de movimento é quantizado e armazenado, a informação sobre a precisão do vetor de movimento pode ser adicionada e armazenada na memória. Por exemplo, no caos no qual um tamanho de etapa de quantiza- ção é igual a 4, um indicador igual a 1 pode ser adicionalmente armazenado, e no caso no qual o tamanho de etapa de quantização é igual a 1, um indicador igual a 0 pode ser adicionalmente armazenado. Nesse caso, a informação de indicador pode ser armazenada juntamente com o vetor de movimento ou pode ser armazenada em uma memória diferente da memória na qual o vetor de movimento é armazenado. No caso no qual a informação de indicador e o vetor de movimento são armazenados em memórias diferentes, quando em que tamanho de etapa um vetor de movimento específico é quantizado e armazenado é reconhecido, o acesso arbitrário à informação de indicador pode ser permitido. Adicionalmente, a informação sobre em que tamanho de etapa alguns vetores de movimento são quantizados e armazenados é transmitida através do conjunto de parâmetro de sequência, o conjunto de parâmetros de imagem, o cabeçalho de fatia, ou similares, possibilitando, assim, que um decodificador realize uma operação similar à de um codificador.
[0131] Adicionalmente, no caso no qual a informação de movimento é ar-mazenada na memória, a resolução espacial do vetor de movimento pode ser reduzida e armazenada. Aqui, a informação de movimento inclui pelo menos uma dentre a informação de modo de interpredição indicando um índice de imagem de referência, um vetor de movimento, uma direção única, uma direção dupla, ou similares, necessários no momento de interpredição, uma lista de imagens de referência, uma informação de modo de predição sobre se um modo de intrapredição é realizado ou um modo de interpredição é realizado.
[0132] Por exemplo, a informação de movimento de uma unidade de predição possuindo o maior tamanho de divisão dentre uma pluralidade de informações de movimento de uma região específica pode ser armazenada como informação de movimento representativa na memória. Aqui, a região específica pode incluir uma região no bloco de árvore de codificação e regiões dos blocos vizinhos do bloco de árvore de codificação. Adicionalmente, a região específica pode ser uma região incluindo um bloco no qual a informação de movimento é armazenada no caso no qual toda a imagem ou fatia é dividida em um tamanho predeterminado.
[0133] Por exemplo, depois da informação de movimento, que é codificada em um método de mistura de informação de movimento, um método de pular informação de codificação, ou similar, é excluído a partir da pluralidade de informações de movimento incluídas na região específica, a informação de movimento representativa podendo ser armazenada na memória.
[0134] Por exemplo, a informação de movimento gerada com maior frequência entre a pluralidade de informações de movimento incluída na região específica pode ser armazenada como informação de movimento representativa na memória. Nesse caso, o número de geração de informação de movimento para cada tamanho de bloco, ou similar, pode ser calculado.
[0135] Por exemplo, a informação de movimento em uma posição específica dentre a pluralidade de informações de movimento incluídas na região específica pode ser armazenada. Aqui, a posição especifica que é uma posição incluída na região específica, pode ser uma posição fixa da região específica. Adicionalmente, a posição especifica pode ser selecionada como uma dentre uma pluralidade de posições. Quando a pluralidade de posições é utilizada, uma prioridade para cada posição pode ser determinada, e a informação de movimento pode ser armazenada na memória de acordo com a prioridade.
[0136] Por exemplo, quando a pluralidade de informações de movimento in- cluída na região específica é armazenada na memória, visto que a informação de movimento não existe fora de um limite de um bloco codificado em um modo de in- trapredição, um bloco codificado em um modo de modulação codificada por pulso (PCM), uma fatia ou uma imagem, a informação de movimento da posição correspondente pode não ser armazenada na memória.
[0137] Nos exemplos mencionados acima, quando a informação de movimento da posição específica é armazenada, no caso no qual a informação de movimento da posição correspondente não existe, a informação de movimento de um bloco co-localizado, informação de movimento de um bloco já codificado, ou informação de movimento de um bloco vizinho podem ser utilizadas como a informação de movimento da posição correspondente. Aqui, a posição específica pode ser uma posição de amostra em um bloco vizinho ou uma posição do bloco. Por exemplo, no caso no qual a informação de movimento da posição específica não existe, um valor médio ou valor médio entre a informação de movimento dos blocos vizinhos que são codificados em interpredição podem ser armazenados na memória. Por exemplo, no caso no qual a informação de movimento da posição específica não existe, um valor médio da informação de posição dos blocos vizinhos pode ser armazenado na memória. Quando o valor médio e o valor de média são calculados, no caso no qual a informação de movimento dos blocos vizinhos é diferente de pelo menos um dos índices de imagem de referência, lista de imagem de referência e informação de modo de interpredição, um tamanho do vetor de movimento pode ser ajustado de acordo com o índice de imagem de referência, lista de imagem de referência, informação de modo de interpredição, contador de ordem de imagem, e similares.
[0138] III. Processo de Derivação de Vetor de Movimento
[0139] No caso no qual a informação de movimento é armazenada na memória utilizando os métodos de informação de movimento mencionados acima e a informação de movimento da imagem de referência é utilizada no método de predição de vetor de movimento, o método de predição de vetor de movimento, ou o método de mistura de informação de movimento, a informação de movimento armaze- nada pode ser coletada.
[0140] Por exemplo, a informação de movimento de uma posição correspondente à do bloco de árvore de codificação na imagem de referência pode ser coletada. Nesse caso, a posição correspondente à do bloco de árvore de codificação na imagem de referência pode ser uma posição fixa em uma região específica ou uma posição relativa a partir da posição do bloco de árvore de codificação.
[0141] As figuras 10 a 13 ilustram exemplos de coleta de informação de mo-vimento a partir de uma imagem de referência.
[0142] Nas figuras de 10 a 13, um bloco X indica um bloco de árvore de co-dificação em uma imagem de codificação e decodificação de objeto 1010, 1110, 1210 ou 1310 e um bloco A, um bloco B, um bloco C, um bloco D, e um bloco E indica os blocos vizinhos reconstruídos. Adicionalmente, um bloco T na imagem de referência 1020, 1120, 1220, e 1320 indica um bloco co-localizado correspondente ao bloco de árvore de codificação. Um bloco Y na imagem de referência 1320 da figura 13 indica um bloco correspondente a uma posição além do bloco de objeto de codificação e decodificação.
[0143] Com referência à figura 10, a informação de movimento correspondente a uma posição correspondente a uma posição de pixel superior esquerda entre as posições de um bloco de árvore de codificação X em uma imagem de referência pode ser coletada.
[0144] Com referência à figura 11, a informação de movimento correspondente a uma posição correspondente a uma posição de pixel central entre as posições de um bloco de árvore de codificação X em uma imagem de referência pode ser coletada.
[0145] Com referência à figura 12, a informação de movimento correspondente a uma posição correspondente a uma posição de pixel inferior direita entre as posições de um bloco de árvore de codificação X em uma imagem de referência pode ser coletada.
[0146] Com referência à figura 13, a informação de movimento correspon- dentes a uma posição correspondente a uma posição de pixel além de um bloco de árvore de codificação X em uma imagem de referência pode ser coletada.
[0147] Um método de codificação e decodificação tal como uma predição de vetor de movimento, predição de vetor de movimento avançada, mistura de informação de movimento, pulo de mistura de informação de movimento, ou similares, pode ser realizado utilizando-se a informação de movimento armazenada na memória, isso é, a informação de movimento da imagem de referência.
[0148] O vetor de movimento pode ser armazenado na memória utilizando pelo menos um dentre um método de limitação de uma faixa dinâmica de um vetor de movimento, um método de redução de uma resolução espacial de um vetor de movimento, um método de quantização de um vetor de movimento, e um método de redução de uma resolução de representação de um vetor de movimento, e o vetor de movimento armazenado pode ser utilizado para predizer um vetor de movimento do bloco de árvore de codificação e misturando a informação de movimento.
[0149] Um processo de coleta do vetor de movimento da imagem de referência a partir da memória é chamado de processo de derivação de um vetor de movimento temporal. Em um processo de derivação de um vetor de movimento temporal, TMVBitWidth indica uma largura de bit de um vetor de movimento temporal armazenado na memória.
[0150] Os registros no processo de derivação de um vetor de movimento temporal são uma localização (xP, yP) especificando a amostra de luminescência superior esquerda da unidade de predição atual com relação à amostra superior esquerda da imagem atual, variáveis especificando a largura e a altura da unidade de predição para luminescência, nPSW e nPSH, o índice de referência da partição de unidade de predição atual refIdxLX (com X sendo igual a 0 ou 1). Saídas no processo são a predição de vetor de movimento mvLXCol e o indicador de disponibilidade availableFlagLXCol.
[0151] A função RefPicOrderCnt(pic, refidx, LX) é especificada pelo valor de PicOrderCnt da imagem que é a imagem de referência RefPicListX[refidx] de pic com X sendo igual a 0 ou 1. PicOrderCnt da imagem de referência deve ser mantido até que a imagem seja marcada como "não existente". Clip3(a,b) significa uma função aparamento c de modo a existir em uma faixa entre a e b.
[0152] Se slice_type for igual a B e collocated_from_10_flag for igual a 0, a variável colPic especifica a imagem que contém a partição co-localizada como espe-cificado por RefPicList1[0]. Do contrário, (slice_type é igual a B e colloca- ted_from_10_flag é igual a 1 ou slice_type é igual a P), a variável colPic especifica a imagem que contém a partição co-localizada como especificado por RefPicList0[0].
[0153] A variável colPu e sua posição (xPCol, yPCol) são derivadas nas se-guintes etapas ordenadas:
[0154] 1. posição de luminescência inferior direita (xPRb, yPRb) da unidade de predição atual é definida como representado pelas Equações 8 e 9.
[0155] Equação 8
Figure img0012
[0156] Equação 9
Figure img0013
[0157] 2. Se colPu for codificado em um modo de intrapredição ou colPu não estiver disponível, (1) a posição de luminescência Central da unidade de predição atual é definida como representada pelas Equações 10 e 11.
[0158] Equação 10
Figure img0014
[0159] Equação 11
Figure img0015
[0160] (2) A variável colPu é configurada como a unidade de predição que cobre a posição modificada fornecida por ((xPCtr >>4)<<4, (yPCtr >> 4)<<4) dentro de colPic.
[0161] 3. (xPCol, yPCol) e configurado igual à amostra de luminescência superior esquerda de colPu com relação à amostra de luminescência superior esquerda de colPic.
[0162] As variáveis mvLXCol e availableFlagLXCol são derivadas como se segue.
[0163] 1. Se colPu for codificada em um modo de intrapredição ou colPu não estiver disponível, ambos os componentes de mvLXCol são configurados iguais a 0 e availableFlagLXCol é configurado igual a 0.
[0164] 2. Do contrário, (colPu não é codificado em um modo de intrapredi- ção e colPu está disponível), as variáveis mvCol e refIdxCol são derivadas como se segue,
[0165] (1) Se PredFlagL0[xPCol][yPCol] for igual a 0, o vetor de movimento mvCol e o índice de referência refIdxCol são configurados iguais a MvL1[xPCol][yPCol] e RefIdxL1[xPCol][yPCol], respectivamente
[0166] (2) Do contrário, (PredFlagL0xPCol][yPCol] é igual a 1), o seguinte se aplica:
[0167] 1) Se PredFlagL1[xPCol][yPCol] for igual a 0, o vetor de movimento mvCol e o índice de referência refIdxCol são configurados igual a MvL0[xPCol][yPCol] e RefIdxL0[xPCol][yPCol], respectivamente,
[0168] 2) Do contrário (PredFlagL1[xPCol][yPCol] é igual a 1), o seguinte se aplica:
[0169] a. As designações a seguir são feitas com X sendo igual a 0 ou 1.
[0170] i. RefIdxColLX = RefIdxLX[xPCol][yPCol]
[0171] ii. Se PicOrderCnt(colPic) for inferior a PicOrderCnt (currPic) e RefPi- cOrderCnt(colPic, RefIdxColLX, LX) for maior que PicOrderCnt(currPic) ou PicOr- derCnt(colPic) for maior do que PicOrderCnt(currPic), a variável MvXCross é igual a 1.
[0172] iii. Do contrário, (PicOrderCnt(colPic) é inferior a PicOr- derCnt(currPic) e RefPicOrderCnt(colPic, RefIdxColLX, LX) é inferior a ou igual a PicOrderCnt(currPic) ou PicOrderCnt(colPic) é maior do que PicOrderCnt(currPic) e RefPicOrderCnt(colPic, RefIdxColLX, LX) é maior do que ou igual a PicOr- derCnt)currPic)), a variável MvXCross é igual a 0.
[0173] b. Se uma das seguintes condições for verdadeira, o vetor de movimento mvCol, o índice de referência RefIdxCol e ListCol são configurados iguais a MvL1[xPCol][yPCol], RefIdxColL1 e L1, respectivamente.
[0174] i. Mv0Cross é igual a 0 e Mv1Cross é igual a 1.
[0175] ii. Mv0Cross é igual a Mv1Cross e a lista de índice de referência é igual a L1
[0176] c. Do contrário, o vetor de movimento mvCol, o índice de referência refIdxCol e ListCol são configurados para MvL0[xPCol][yPCol]. RefIdxColL0 e L0, respectivamente.
[0177] 3) a variável availableFlagLXCol é configurada igual a 1 e operações da Equação 12 e Equações de 13 a 18 são aplicadas.
[0178] a. Se PicOrderCnt(colPic)-RefPicOrderCnt(colPic, refIdxCol, ListCol) for igual a PicOrderCnt(currPic) - RefPicOrderCnt (currPic, refIdxLX, LX)
[0179] Equação 12
Figure img0016
[0180] b. Do contrário,
[0181] Equação 13
Figure img0017
[0182] Equação 14
Figure img0018
[0183] Equação 15
Figure img0019
[0184] Equação 16
Figure img0020
onde td e Tb são derivados das Equações 17 e 18.
[0185] Equação 17
Figure img0021
[0186] Equação 18
Figure img0022
[0187] Isso é, com referência às Equações de 13 a 16, mvLXCol é derivado como uma versão escalonada do vetor de movimento mvCol.
[0188] Enquanto isso, apesar de o vetor de movimento ser cortado em uma faixa dinâmica, no caos no qual o vetor de movimento cortado é escalonado, o vetor de movimento cortado pode novamente estar fora da faixa dinâmica. Portanto, depois de o vetor de movimento escalonado ser derivado, a faixa dinâmica do vetor de movimento pode ser limitada. Nesse caso, cada uma das Equações 15 e 16 pode ser substituída pelas Equações 19 e 20.
[0189] Equação 19
Figure img0023
[0190] Equação 20
Figure img0024
IV.Método de Transmissão de Informação para Aparamento de Vetor de Movimento Temporal no Decodificador
[0191] Doravante, um método de transmissão de informação necessária para o aparamento cortado de um vetor de movimento temporal em um decodificador utilizando o mesmo método que o de um codificador será descrito.
[0192] TMVBitWidth no processo de derivação de um vetor de movimento temporal pode ser transmitido a partir do codificador para o decodificador através de um conjunto de parâmetros de sequência, um conjunto de parâmetros de imagem, um cabeçalho de fatia, ou similares.
[0193] Tabela 5
Figure img0025
[0194] bit_width_temporal_motion_vector_minus8 da Tabela 5 especifica a largura de bit do componente de vetor de movimento temporal. Quando bit_width_temporal_motion_vector_minus8 não está presente, deve ser inferido como igual a 0. A largura de bit do componente de vetor de movimento temporal é es- pecificada como segue:
[0195] Equação 21
Figure img0026
[0196] 1. Método de transmissão de informação 1 - no caso no qual o vetor de movimento é comprimido e a profundidade de bit do vetor de movimento é limitada.
[0197] Tabela 6
Figure img0027
[0198] Com referência à Tabela 6, no caso no qual mo- tion_vector_buffer_comp_flag é igual a 1 o processo de compressão de armazenamento temporário de vetor de movimento é aplicado.
[0199] motion_vector_buffer_comp_ratio_log2 especifica a razão de compressão no processo de compressão de armazenamento temporário de vetor de movimento. Quando motion_vecto_buffer_com_ratio_log2 não está presente, o mesmo deve ser inferido como sendo igual a 0. A razão de compressão de armazenamento temporário de vetor de movimento é especificada como se segue.
[0200] Equação 22
Figure img0028
[0201] Novamente com referência à Tabela 6, no caso no qual bit_depth_temporal_motion_vector_constraint_flag é igual a 1 o processo de restrição de limitação de profundidade de bit de vetor de movimento temporal é aplicado.
[0202] bit_depth_temporal_motion_vector_minus8 especifica a profundidade de bit do vetor de movimento temporal. Quando bit_depth_temporal_motion_vector_minus8 não está presente, deve ser inferido co- mo sendo igual a 0. A profundidade de bit do vetor de movimento temporal é especi- ficada como segue:
[0203] Equação 23
Figure img0029
[0204] 2. Método de transmissão de informação 2 - no caso no qual a pro- fundidade de bit do vetor de movimento é limitada
[0205] Tabela 7
Figure img0030
[0206] Com referência à Tabela 7, no caso no qual bit_depth_temporal_motion_vector_constraint_flag é igual a 1 o processo de restrição de profundidade de bit de vetor de movimento temporal é aplicado.
[0207] bit_depth_temporal_motino_vector_minus8 especifica a profundidade bit_depth_temporal_motion_vector_minus8 não está presente, deve ser inferior como sendo igual a 0. A profundidade de bit do vetor de movimento temporal é especificada como se segue:
[0208] Equação 24
Figure img0031
[0209] 3. Método de transmissão de informação 3 - no caso no qual a pro- fundidade de bit do vetor de movimento é limitada.
[0210] Tabela 8
Figure img0032
[0211]
[0212] bit_depth_temporal_motion_vector_minus8 especifica a profundidade de bit do vetor de movimento temporal. Quando bit_depth_temporal_motion_vector_minus8 não está presente, deve ser inferido que é igual a 0. A profundidade de bit do vetor de movimento temporal é especificada como segue.
[0213] Equação 25
Figure img0033
[0214] 4. Método de transmissão de informação 4 - no caso no qual a pro-fundidade de bit é limitada com relação a cada um dos componentes X e Y do vetor de movimento
[0215] Tabela 9
Figure img0034
[0216] Com referência à Tabela 9, no caso no qual bit_depth_temporal_motion_vector_constraint_flag é igual a 1 o processo de restrição de profundidade de bit de vetor de movimento temporal é aplicado.
[0217] bit_depth_temporal_motion_vector_x_minus8 especifica a profundidade de bit do componente de vetor de movimento temporal x. Quando bit_depth_temporal_motion_vector_x_minus8 não está presente, deve ser inferido como sendo igual a 0. A profundidade de bit do componente de vetor de movimento temporal x é especificado como segue:
[0218] Equação 26
Figure img0035
[0219] bit_depth_temporal_motion_vector_y_minus8 especifica a profundidade de bit do componente de vetor de movimento temporal y. Quando bit_depth_temporal_motion_vector_y_minus8 não está presente, deve ser inferido que seja igual a 0. A profundidade de bit do componente de vetor de movimento temporal y é especificada com se segue:
[0220] Equação 27
Figure img0036
[0221] 5. Método de transmissão de informação 5 - no caso no qual o vetor de movimento é comprimido e a profundidade de bit do vetor de movimento é limitada.
[0222] Tabela 10
Figure img0037
[0223] Com referência à Tabela 10, no caso no qual mo- tion_vector_buffer_comp_flag é igual a 1 o processo de compressão de armazenamento temporário de vetor de movimento é aplicado.
[0224] motion_vector_buffer_comp_ratio_log2 especifica a razão de compressão no processo de compressão de armazenamento temporário de vetor de movimento. Quando motion_vector_buffer_comp_ratio_log2 não está presente, deve ser inferido como sendo igual a 0. A razão de compressão de armazenamento temporário de vetor de movimento é especificada como segue:
[0225] Equação 28
Figure img0038
V.Definição de uma Faixa Dinâmica através dos Níveis de CODEC de Vídeo
[0226] A faixa dinâmica do vetor de movimento temporal pode ser definida através de um nível de um codec de vídeo ao invés de ser transmitida através do conjunto de parâmetro de sequência, conjunto de parâmetro de imagem, ou cabeçalho de fatia. O codificador e o decodificador podem determinar uma faixa dinâmica limitada de vetor de movimento utilizando informação de nível.
[0227] Adicionalmente, mesmo nos níveis, as faixas dinâmicas e/ou profun-didades de bit de cada um dos componentes X e Y do vetor de movimento podem ser definidas diferentemente, e valores mínimos e valores máximos de cada um dos componentes podem ser definidos.
[0228] As Tabelas 11 e 12 ilustram um exemplo de um caso no qual TMVBitWidth no processo de derivação de um vetor de movimento temporal descrito acima é definido nos níveis.
[0229] Tabela 11
Figure img0039
[0230] Com referência à Tabela 11, TMVBitWidth é configurado como Max- TMVBitWidth definido nos níveis. Aqui, MaxTMVBitWidth dica uma largura máxima de bit de um vetor de movimento temporal quando o vetor de movimento temporal é armazenado na memória.
[0231] Enquanto isso, TMVBitWidth também pode ser definido nos níveis, e uma diferença do valor definido (um valor delta) pode ser transmitida através do con- junto de parâmetros de sequência, conjunto de parâmetros de imagem, ou cabeçalho de fatia. Isso é, TMVBitWidth pode ser configurado como um valor obtido pela adição da diferença transmitida através do conjunto de parâmetro de sequência, conjunto de parâmetro de imagem, ou cabeçalho de fatia para MaxTMVBitWidth definido nos níveis. Aqui, TMVBitWidth indica uma largura de bit do vetor de movimento temporal quando o vetor de movimento temporal é armazenado na memória.
[0232] Tabela 12
Figure img0040
[0233] Tabela 13
Figure img0041
[0234] delta_bit_width_temporal_motion_vector_minus8 especifica a largura de bit delta do componente de vetor de movimento temporal. Quando del- ta_bit_width_temporal_motion_vector_minus8 não está presente, deve ser inferido que é igual a 9. A largura de bit do componente de vetor de movimento temporal é especificada como se segue:
[0235] Equação 29
[0236] TMVBitWidth = delta_bit_width_temporal_motion_vector_minus8 + MaxTMVBitWidth.
[0237] Adicionalmente, como ilustrado na Tabela 14, as faixas dinâmicas de cada componente do vetor de movimento temporal também podem ser definidas em níveis.
[0238] Tabela 14
Figure img0042
Figure img0043
[0239] Adicionalmente, como ilustrado nas Tabelas de 15 a 17, as larguras de bit de cada componente do vetor de movimento temporal também podem ser definidos em níveis.
[0240] Tabela 15
Figure img0044
Figure img0045
[0241] Tabela 16
Figure img0046
[0242] Tabela 17
Figure img0047
Figure img0048
[0243] Adicionalmente, como ilustrado na Tabela 18, uma largura de bit de um componente Y do vetor de movimento temporal também pode ser definida em níveis.
[0244] Tabela 18
Figure img0049
[0245] Adicionalmente, a faixa dinâmica do vetor de movimento temporal pode ser definida como um valor fixo predefinido entre o codificador e o decodifica- dor sem transmissão da informação em uma limitação do vetor de movimento ou ser armazenado em uma forma de uma profundidade de bit fixo.
[0246] No caso no qual TMVBitWidth é fixo no mesmo valor e utilizado no codificador e no decodificador, TMVBitWidth pode ser um inteiro positivo tal como 4, 6, 8, 10, 12, 14, 16 ou similar. Aqui, TMVBitWidth indica a largura do bit do vetor de movimento temporal quando o vetor de movimento temporal é armazenado na memória.
[0247] A figura 14 é um fluxograma ilustrando um método de codificação de uma imagem de acordo com a modalidade ilustrativa da presente invenção. Com referência à figura 14, o método de codificação de uma imagem inclui uma etapa de aparamento (S1410), uma etapa de armazenamento (S1420) e uma etapa de codificação (S1430).
[0248] Um aparelho de codificação de uma imagem e/ou um aparelho de decodificação de uma de imagem cortar um vetor de movimento de uma imagem de referência em uma faixa dinâmica predeterminada (S1410). Como descrito acima através de "I. Processo de vetor de movimento de aparamento", o vetor de movimento que está fora da faixa dinâmica é representado por um valor mínimo ou um valor máximo da faixa dinâmica correspondente. Portanto, como descrito acima através de "IV. Método de Transmissão de informação para Aparamento de Vetor de Movimento Temporal no Decodificador", e "V. Definição da Faixa Dinâmica Através de Níveis de CODEC de Vídeo", a profundidade de bit é limitada através do nível do codec de vídeo, conjunto de parâmetro de sequência, e similares, ou a faixa dinâmica é limitada através do nível de codec de vídeo, possibilitando assim o aparamento do vetor de movimento da imagem de referência na faixa dinâmica predeterminada.
[0249] O aparelho de codificação de uma imagem e/ou o aparelho de deco- dificação de uma imagem armazenam o vetor de movimento cortado da imagem de referência em um armazenamento temporário como descrito acima através de "II. Processo de Armazenamento de Vetor de Movimento" (S1420). O vetor de movi- mento pode ser armazenado no armazenamento temporário juntamente com ou se-paradamente da imagem reconstruída.
[0250] O aparelho de codificação de uma imagem codifica um vetor de mo-vimento de um bloco de árvore de codificação utilizando o vetor de movimento ar-mazenado da imagem de referência (S1430). Como descrito acima através de "III. Processo de Derivação de Vetor de Movimento", no método de predição de vetor de movimento avançado utilizado em HEVC, um vetor de movimento de um bloco existente em uma posição que é igual a ou corresponde \á do bloco de árvore de codificação na imagem de referência além dos vetores de movimento dos blocos reconstruídos posicionados em torno do bloco de árvore de codificação pode ser utilizado. Portanto, o vetor de movimento do bloco de árvore de codificação também pode ser um vetor de movimento da imagem de referência, isso é, um vetor de movimento temporal, além de vetores de movimento dos blocos vizinhos adjacentes ao bloco de árvore de codificação.
[0251] Enquanto isso, visto que a faixa dinâmica do componente X e com-ponente Y do vetor de movimento da imagem de referência pode ser definida dife-rentemente, cada componente do vetor de movimento da imagem de referência pode ser cortado em cada faixa dinâmica.
[0252] Adicionalmente, um método de compressão de vetor de movimento de uma imagem de referência além de um método de limitação de uma faixa dinâmica de um vetor de movimento de uma imagem de referência pode ser utilizado. No caso de limitação de faixa dinâmica do vetor de movimento da imagem de referência ou compressão de vetor de movimento da imagem de referência, um indicador indicando a faixa dinâmica e o vetor de movimento e um parâmetro relacionado com isso podem ser definidos em um nível de um codec de vídeo, um conjunto de parâmetros de sequência, ou similares.
[0253] Adicionalmente, um método de codificação tal como uma predição de vetor de movimento, predição de vetor de movimento avançado, mistura de informação de movimento, pulo de mistura de informação de movimento, ou similar, pode ser realizado utilizando a informação de movimento armazenada na memória, isso é, a informação de movimento da imagem de referência.
[0254] A figura 15 é um fluxograma ilustrando um método de decodificação de uma imagem de acordo com a modalidade ilustrativa da presente invenção. Com referência à figura 15, o método de decodificação de uma imagem inclui uma etapa de aparamento (S1510), uma etapa de armazenamento (S1520), uma etapa de derivação (S1530) e uma etapa de decodificação (S1540).
[0255] A etapa de aparamento (S1510) e a etapa de armazenamento (S1520) da figura 15 são similares à etapa de aparamento (S1410) e a etapa de armazenamento (S1420) da figura 14 utilizando "I. Processo de Aparamento de Vetor de Movimento" e "II. Processo de Armazenamento de Vetor de Movimento" descritos acima. Adicionalmente, a etapa de derivação (S1530) da figura 15 utiliza "III. Processo de Derivação de Vetor de Movimento" descrito acima e é simétrica à etapa de codificação (S1430) da figura 14. Portanto, uma descrição detalhada será omitida.
[0256] Um aparelho de decodificação de uma imagem realiza a decodifica- ção por interpredição utilizando um vetor de movimento de um bloco de árvore de codificação (S1540). O aparelho de decodificação de uma imagem pode armazenar um vetor de movimento em uma memória utilizando pelo menos um dentre um método de limitação de uma faixa dinâmica de um vetor de movimento, um método de redução de uma resolução espacial de um vetor de movimento, um método de quan- tização de um vetor de movimento, e um método de redução de uma resolução de representação de um vetor de movimento, e utilizar o vetor de movimento armazenado para predizer um vetor de movimento do bloco de árvore de codificação e misturar a informação de movimento do mesmo.
[0257] Adicionalmente, o aparelho de decodificação de uma imagem pode realizar um método de decodificação tal como a predição de vetor de movimento, predição de vetor de movimento avançada, mistura de informação de movimento, pulo de mistura de informação de movimento, ou similar, utilizando a informação de movimento armazenada na memória, isso é, a informação de movimento da imagem de referência.
[0258] Apesar de as modalidades ilustrativas mencionadas acima terem sido descritas através de fluxogramas representados por uma série de etapas ou blocos, a presente invenção não está limitada a uma sequência de etapas descrita acima. Isso é, algumas etapas podem ser geradas em uma sequência diferente ou simultaneamente a partir de ou com outras etapas. Adicionalmente, pode ser compreendido pelos versados na técnica à qual a presente invenção pertence que as etapas ilustradas nos fluxogramas são não exclusivas, de modo que outras etapas possam ser incluídas ou algumas etapas possam ser eliminadas.
[0259] Adicionalmente, as modalidades ilustrativas mencionadas acima incluem exemplos de vários aspectos. Apesar de todas as possíveis combinações para ilustrar vários aspectos não serem descritas, pode ser apreciado pelos versados na técnica que outras combinações podem ser feitas. Portanto, a presente invenção deve ser considerada como incluindo todas as outras substituições, alterações e modificações que pertencem às reivindicações a seguir.

Claims (1)

1. Aparelho de decodificação de imagem, CARACTERIZADO por compre-ender: um armazenamento temporário (buffer) de imagem de referência para arma-zenar uma imagem de referência; e uma unidade de compensação de movimento para gerar um bloco de predi-ção usando a imagem de referência e um vetor de movimento da imagem de refe-rência; em que o vetor de movimento da imagem de referência é cortado (clipped) em uma faixa predeterminada, em que o vetor de movimento da imagem de referência é um vetor de movi-mento de um bloco co-localizado na imagem de referência, e em que o bloco co-localizado é determinado executando: calcular uma primeira posição correspondente a uma posição inferior direita de um bloco atual em uma imagem atual, determinar um primeiro bloco cobrindo a primeira posição calculada na ima-gem de referência calcular, quando o primeiro bloco é codificado em um modo de intrapredição, uma segunda posição correspondente a uma posição central do bloco atual na ima-gem atual; modificar a segunda posição com base em uma operação de deslocamento aritmético; e determinar um segundo bloco cobrindo a segunda posição modificada na imagem de referência.
BR122020015411-0A 2011-01-31 2012-01-31 Aparelho de decodificação de imagem BR122020015411B1 (pt)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
KR10-2011-0009636 2011-01-31
KR20110009636 2011-01-31
KR20110019166 2011-03-03
KR10-2011-0019166 2011-03-03
KR1020110050853A KR20120088488A (ko) 2011-01-31 2011-05-27 시간적 움직임 벡터 저장 방법 및 그 장치
KR10-2011-0050853 2011-05-27
KR1020110065707A KR20120088494A (ko) 2011-01-31 2011-07-01 시간적 움직임 벡터 저장 방법 및 그 장치
KR10-2011-0065707 2011-07-01
KR10-2012-0010096 2012-01-31
KR1020120010096A KR101428030B1 (ko) 2011-01-31 2012-01-31 움직임 벡터를 이용한 영상 복호화 장치
PCT/KR2012/000770 WO2012105807A2 (ko) 2011-01-31 2012-01-31 움직임 벡터를 이용한 영상 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
BR122020015411B1 true BR122020015411B1 (pt) 2022-12-27

Family

ID=46873758

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122020015455-1A BR122020015455B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
BR122020015411-0A BR122020015411B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
BR122020015452-7A BR122020015452B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
BR112013019495-2A BR112013019495B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
BR122014018140-0A BR122014018140B1 (pt) 2011-01-31 2012-01-31 Método de decodificação de imagem

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122020015455-1A BR122020015455B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem

Family Applications After (3)

Application Number Title Priority Date Filing Date
BR122020015452-7A BR122020015452B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
BR112013019495-2A BR112013019495B1 (pt) 2011-01-31 2012-01-31 Aparelho de decodificação de imagem
BR122014018140-0A BR122014018140B1 (pt) 2011-01-31 2012-01-31 Método de decodificação de imagem

Country Status (16)

Country Link
US (4) US10244252B2 (pt)
EP (2) EP3930332A1 (pt)
JP (6) JP5911890B2 (pt)
KR (5) KR20120088488A (pt)
CN (11) CN108124161B (pt)
BR (5) BR122020015455B1 (pt)
CA (3) CA3050903C (pt)
DK (1) DK2672708T3 (pt)
ES (1) ES2899990T3 (pt)
HK (2) HK1251832A1 (pt)
HU (1) HUE056876T2 (pt)
PL (1) PL2672708T3 (pt)
PT (1) PT2672708T (pt)
RU (1) RU2586017C2 (pt)
SI (1) SI2672708T1 (pt)
WO (1) WO2012105807A2 (pt)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120088488A (ko) 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
KR101706318B1 (ko) * 2012-10-03 2017-02-15 에이치에프아이 이노베이션 인크. 3차원 비디오 코딩을 위한 모션 데이터 버퍼 감소 방법 및 장치
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
CN110572650B (zh) 2014-01-08 2023-10-27 索尼公司 解码设备和解码方法、以及编码设备和编码方法
KR102105606B1 (ko) 2014-06-02 2020-05-04 한국전자통신연구원 데이터 압축 장치
WO2016050219A1 (en) 2014-09-30 2016-04-07 Mediatek Inc. Method of adaptive motion vetor resolution for video coding
WO2017052250A1 (ko) * 2015-09-23 2017-03-30 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
KR20170058838A (ko) 2015-11-19 2017-05-29 한국전자통신연구원 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
CN106954074B (zh) * 2016-01-07 2019-12-20 青岛海信电器股份有限公司 一种视频数据处理方法和装置
TW202344052A (zh) 2016-02-09 2023-11-01 弗勞恩霍夫爾協會 用於圖像/視訊資料串流而允許有效可縮減性或有效隨機存取之技術
CN105744275B (zh) * 2016-02-22 2019-04-05 青岛海信电器股份有限公司 一种视频数据输入、输出方法和装置
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
EP3613014B1 (en) * 2017-04-21 2023-10-18 Zenimax Media Inc. Player input motion compensation by anticipating motion vectors
EP3613015A4 (en) 2017-04-21 2021-02-24 Zenimax Media Inc. SYSTEMS AND PROCEDURES FOR TOY GENERATED MOTION VECTORS
US11700391B2 (en) 2017-05-18 2023-07-11 Hfi Innovation Inc. Method and apparatus of motion vector constraint for video coding
KR102368621B1 (ko) 2018-02-28 2022-02-28 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
KR102516233B1 (ko) * 2018-04-02 2023-03-30 엘지전자 주식회사 움직임 벡터에 기반한 영상 코딩 방법 및 그 장치
US10873748B2 (en) * 2018-05-12 2020-12-22 Qualcomm Incorporated Storage of high precision motion vectors in video coding
CN112040243B (zh) 2018-06-04 2021-06-29 华为技术有限公司 获取运动矢量的方法和装置
CA3105072A1 (en) * 2018-06-29 2020-01-02 Vid Scale, Inc. Adaptive control point selection for affine motion model based video coding
TWI750486B (zh) 2018-06-29 2021-12-21 大陸商北京字節跳動網絡技術有限公司 運動資訊共用的限制
US20220150529A1 (en) * 2018-09-17 2022-05-12 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus, and recording medium storing bitstream
CN112997494B (zh) * 2018-10-08 2023-05-09 北京达佳互联信息技术有限公司 用于视频编码的运动矢量存储
AU2019381454A1 (en) * 2018-11-16 2021-06-24 FG Innovation Company Limited Systems and methods for deriving a motion vector prediction in video coding
CN113039796B (zh) 2018-11-17 2023-09-19 北京字节跳动网络技术有限公司 视频处理中的广义双向预测模式
WO2020125751A1 (en) * 2018-12-21 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Information signaling in current picture referencing mode
CN113273205A (zh) 2018-12-21 2021-08-17 北京字节跳动网络技术有限公司 使用更高比特深度精度的运动矢量推导
BR112021009911A2 (pt) * 2018-12-29 2021-08-17 Huawei Technologies Co., Ltd. codificador, decodificador e métodos correspondentes usando armazenamento de mv compacto
JP2022544164A (ja) 2019-08-06 2022-10-17 オーピー ソリューションズ, エルエルシー フレームタイプに基づく適応分解能管理の暗示的信号伝達
BR112022002204A2 (pt) * 2019-08-06 2022-10-18 Op Solutions Llc Redimensionamento de previsão de gerenciamento de resolução adaptativa
WO2021026324A1 (en) * 2019-08-06 2021-02-11 Op Solutions Adaptive resolution management prediction rescaling
KR20220090493A (ko) 2019-08-06 2022-06-29 오피 솔루션즈, 엘엘씨 블록-기반 적응적 해상도 관리
BR112022008918A2 (pt) 2019-11-08 2022-08-02 Op Solutions Llc Métodos e sistemas para corte adaptável
KR20220093915A (ko) 2020-12-28 2022-07-05 삼성전자주식회사 반도체 집적회로 레이아웃의 확률적 취약점 검출 방법 및 이를 수행하는 컴퓨터 시스템

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5262854A (en) * 1992-02-21 1993-11-16 Rca Thomson Licensing Corporation Lower resolution HDTV receivers
CA2263855C (en) * 1997-06-25 2003-04-01 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector decoding method,predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
JP2914448B2 (ja) * 1997-06-25 1999-06-28 日本電信電話株式会社 動きベクトル予測符号化方法および動きベクトル復号方法、予測符号化装置および復号装置、並びに、動きベクトルの予測符号化プログラムおよび復号プログラムを記録した記録媒体
US7206346B2 (en) * 1997-06-25 2007-04-17 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
JPH11122624A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
ATE404019T1 (de) * 2001-09-12 2008-08-15 Nxp Bv Bewegungsschätzung und/oder kompensation
KR100632072B1 (ko) * 2001-12-25 2006-10-04 마츠시타 덴끼 산교 가부시키가이샤 동화상 압축 부호화장치 및 모션벡터 검출방법
US7177356B2 (en) * 2002-01-11 2007-02-13 Webtv Networks, Inc. Spatially transcoding a video stream
EP1427216A1 (en) * 2002-07-02 2004-06-09 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
US20040057521A1 (en) 2002-07-17 2004-03-25 Macchina Pty Ltd. Method and apparatus for transcoding between hybrid video CODEC bitstreams
CN101090499A (zh) * 2002-07-17 2007-12-19 达丽星网络有限公司 在混合视频codec比特流之间进行码转换的方法和装置
US8837605B2 (en) 2006-09-26 2014-09-16 Onmobile Global Limited Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay
AU2003273307A1 (en) * 2002-10-01 2004-04-23 Thomson Licensing S.A. Implicit weighting of reference pictures in a video encoder
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
KR100941123B1 (ko) * 2003-10-09 2010-02-10 톰슨 라이센싱 에러 은닉을 위한 직접 모드 도출 프로세스
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
US7961963B2 (en) * 2005-03-18 2011-06-14 Sharp Laboratories Of America, Inc. Methods and systems for extended spatial scalability with picture-level adaptation
KR101406156B1 (ko) * 2006-02-02 2014-06-13 톰슨 라이센싱 움직임 보상 예측을 위한 적응 가중 선택 방법 및 장치
US8494052B2 (en) 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
JP2008067194A (ja) * 2006-09-08 2008-03-21 Toshiba Corp フレーム補間回路、フレーム補間方法、表示装置
KR101365574B1 (ko) 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
CN101115200B (zh) * 2007-04-20 2010-05-19 西安交通大学 一种有效的运动矢量可伸缩编码方法
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
US8345763B2 (en) * 2007-11-27 2013-01-01 Mediatek Inc. Motion compensation method and integrated circuit utilizing the same
ES2812473T3 (es) * 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
CN101873483B (zh) * 2009-04-24 2012-08-29 深圳市九洲电器有限公司 一种运动估计方法及采用运动估计方法的编码芯片、装置
JP5209572B2 (ja) 2009-06-29 2013-06-12 三菱電機株式会社 画像符号化装置及び画像復号装置
JP5738549B2 (ja) 2009-07-22 2015-06-24 株式会社Sumco 包装済石英ガラスルツボ用クレーン装置およびこの装置を用いる包装済石英ガラスルツボの梱包方法
KR20110017302A (ko) 2009-08-13 2011-02-21 삼성전자주식회사 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치
KR20110019166A (ko) 2009-08-19 2011-02-25 삼화주철공업 주식회사 소음 방지용 맨홀
KR101356613B1 (ko) * 2009-08-21 2014-02-06 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101074238B1 (ko) 2009-11-09 2011-10-14 부경대학교 산학협력단 초임계 처리를 이용한 오징어 및 고등어 내장에서의 단당류를 수득하는 방법
KR101418104B1 (ko) * 2010-03-08 2014-07-16 에스케이 텔레콤주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN101841712A (zh) * 2010-04-28 2010-09-22 广西大学 面向全景视频编码的b帧扩展直接模式
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
KR20120088488A (ko) 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
WO2012122927A1 (en) * 2011-03-14 2012-09-20 Mediatek Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
AU2011362447B2 (en) * 2011-03-14 2015-09-24 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
US10536701B2 (en) * 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
JP5895469B2 (ja) * 2011-11-18 2016-03-30 富士通株式会社 動画像符号化装置、および動画像復号装置

Also Published As

Publication number Publication date
KR20130084286A (ko) 2013-07-24
JP2019193298A (ja) 2019-10-31
CA2826157A1 (en) 2012-08-09
US20190149837A1 (en) 2019-05-16
HK1251838A1 (zh) 2019-04-12
KR101477771B1 (ko) 2015-01-05
US20220086479A1 (en) 2022-03-17
DK2672708T3 (da) 2021-12-13
HUE056876T2 (hu) 2022-03-28
HK1251832A1 (zh) 2019-04-04
KR20130093057A (ko) 2013-08-21
JP2016129371A (ja) 2016-07-14
BR112013019495B1 (pt) 2022-05-17
CN103583044B (zh) 2018-01-26
JP2014509479A (ja) 2014-04-17
CN108124162B (zh) 2020-11-24
EP2672708A2 (en) 2013-12-11
CN108174219B (zh) 2020-11-24
KR101461499B1 (ko) 2014-11-17
US20200228822A1 (en) 2020-07-16
CN108174221A (zh) 2018-06-15
JP6203878B2 (ja) 2017-09-27
JP7369679B2 (ja) 2023-10-26
CN108124162A (zh) 2018-06-05
CA3220287A1 (en) 2012-08-09
CN107846596A (zh) 2018-03-27
RU2586017C2 (ru) 2016-06-10
CN108174215A (zh) 2018-06-15
ES2899990T3 (es) 2022-03-15
CN108124161B (zh) 2020-11-24
JP6783355B2 (ja) 2020-11-11
CA3050903C (en) 2024-01-16
CN107888927A (zh) 2018-04-06
KR20130084287A (ko) 2013-07-24
US10645411B2 (en) 2020-05-05
JP2021007261A (ja) 2021-01-21
KR101461498B1 (ko) 2014-11-17
CN108174219A (zh) 2018-06-15
US20130294522A1 (en) 2013-11-07
BR122020015452B1 (pt) 2024-01-30
CA2826157C (en) 2019-09-24
KR101378888B1 (ko) 2014-04-02
BR122020015455B1 (pt) 2022-12-27
CN108174216A (zh) 2018-06-15
PL2672708T3 (pl) 2022-02-07
CN108174220A (zh) 2018-06-15
BR122014018140A2 (pt) 2019-04-30
RU2013140464A (ru) 2015-03-10
EP2672708B1 (en) 2021-11-17
PT2672708T (pt) 2021-12-16
BR112013019495A2 (pt) 2018-04-03
JP2023018075A (ja) 2023-02-07
KR20120088488A (ko) 2012-08-08
JP6550429B2 (ja) 2019-07-24
JP5911890B2 (ja) 2016-04-27
CN107888916A (zh) 2018-04-06
CN108174215B (zh) 2020-11-24
CN107888927B (zh) 2020-11-24
WO2012105807A3 (ko) 2012-12-13
BR122014018140B1 (pt) 2022-06-07
CN103583044A (zh) 2014-02-12
CN108124161A (zh) 2018-06-05
EP3930332A1 (en) 2021-12-29
WO2012105807A2 (ko) 2012-08-09
CA3050903A1 (en) 2012-08-09
JP2018011323A (ja) 2018-01-18
SI2672708T1 (sl) 2022-01-31
EP2672708A4 (en) 2015-01-21
US10244252B2 (en) 2019-03-26
KR20140102639A (ko) 2014-08-22

Similar Documents

Publication Publication Date Title
BR122020015411B1 (pt) Aparelho de decodificação de imagem
BR112020014654A2 (pt) compensação de movimento afim em codificação de vídeo
WO2019147826A1 (en) Advanced motion vector prediction speedups for video coding
KR20180041211A (ko) 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
BR112013021612B1 (pt) Método e dispositivo para decodificar dados de vídeo de acordo com um modo de fusão, método e dispositivo para codificar dados de vídeo de acordo com um modo de fusão e memória legível por computador
BR112015032977B1 (pt) Equipamento e método para codificar informações de vídeo, equipamento e método para decodificar informações de vídeo, e memória legível por computador
BR112014030605B1 (pt) Sinalização de dados para imagens de referência de longo prazo para codificação de vídeo
KR101428030B1 (ko) 움직임 벡터를 이용한 영상 복호화 장치
JPWO2015008339A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/32

Ipc: H04N 19/426 (2006.01)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 31/01/2012, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.