BR112013017423A2 - indicação de seleção de modo intra-previsão para codificação de vídeo utilizando cabac - Google Patents

indicação de seleção de modo intra-previsão para codificação de vídeo utilizando cabac Download PDF

Info

Publication number
BR112013017423A2
BR112013017423A2 BR112013017423-4A BR112013017423A BR112013017423A2 BR 112013017423 A2 BR112013017423 A2 BR 112013017423A2 BR 112013017423 A BR112013017423 A BR 112013017423A BR 112013017423 A2 BR112013017423 A2 BR 112013017423A2
Authority
BR
Brazil
Prior art keywords
intra
mode
prediction mode
index
prediction
Prior art date
Application number
BR112013017423-4A
Other languages
English (en)
Other versions
BR112013017423B1 (pt
Inventor
Marta Karczewicz
Xianglin Wang
Wei-Jung Chien
Original Assignee
Qualcomm Incorporated
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
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112013017423A2 publication Critical patent/BR112013017423A2/pt
Publication of BR112013017423B1 publication Critical patent/BR112013017423B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Landscapes

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

Abstract

  INDICAÇÃO DE SELEÇÃO DE MODO INTRA-PREVISÃO PARA CODIFICAÇÃO DE VÍDEO UTILIZANDO CABAC Para um bloco de dados de vídeo, um codificador de vídeo pode sinalizar para um decodificador de vídeo, utilizando um processo de codificação aritmética binária adaptiva com base em contexto (CABAC), um modo de intra-previsão selecionado utilizando uma palavra-código que é mapeada em um índice de modo de intra-previsão modificado. O decodificador de vídeo pode realizar um processo de codificação aritmética binária adaptativa com base em contexto (CABAC) para determinar a palavra-código sinalizada pelo codificador de vídeo, determinar o índice de modo de intra-previsão modificado correspondente à palavra-código, determinar os modos mais prováveis com base em um contexto, mapear o índice de modo de intra-previsão modificado em um índice de modo de intra-previsão pela comparação do índice de modo de intra-previsão modificado com os índices de modo dos modos mais prováveis, e determinar o modo de intra-previsão selecionado utilizado para codificar o bloco de dados de vídeo com base no índice de modo de intra-previsão.

Description

"INDICAÇÃO DE SELEÇÃO DE MODO INTRA-PREVISÃO PARA CODIFICAÇÃO DE VÍDEO UTILIZANDO CABAC"
Referência Cruzada a Pedidos Relacionados Esse pedido reivindica o benefício do pedido de 5 patente provisório U.S.
No. 61/430.520, depositado em 6 de janeiro de 2011; do pedido provisório U.S.
No. 61/446.402, depositado em 24 de fevereiro de 2011, e do pedido provisório U.S.
No. 61/448.623, depositado em 2 de março de < . 2011, todo o conteúdo de cada um sendo incorporado aqui- por 10 referência.
Campo da Invenção Essa descrição refere-se à codificação de vídeo, e mais particularmente à sinalização das característícas de codificação para dados de vídeo codificados. 15 Descrição da Técnica Anterior As capacidades de vídeo digital podem ser incorporadas em uma ampla variedade de dispositivos, incluindo televisões digitais, sistemas de dífusão direta digital,, sistemas de difusão sem fio, assistentes digitais
20 pessoaís (PDAS), computadores Iapt:op e desktop, cãmeras digitais, dispositivos de gravação digital, aparelhos de mídia digital, dispositivos de modos de vídeo, consoles de jogos de vídeo, rádio telefones celulares ou via satélite, dispositivos de teleconferência de vídeo, e similares.
Os 25 disposítivos de vídeo digital implementam as técnicas de compressão de vídeo, tal como as descritas nos padrões definidos pelos padrões MPEG-2, MPEG-2, ITU-T H.263 e ITU-T H.264/MPEG-4, Parte 10, Codificação de Vídeo Avançada
(AVC), e extensões de tais padrões, para transmitir e 30 receber informacão de vídeo digital mais eficientemente. m
As técnicas de compressão de vídeo realizam a previsão espacial e/ou previsão temporal para reduzir ou remover a redundância inerente às sequências de vídeo.
Para codificação de vídeo com base em bloco, um quadro ou fatia de vídeo pode ser dividido em blocos de vídeo. Cada bloco de vídeo pode ser adicionalmente dividído. Os blocos de vídeo em um quadro ou fatia íntra-codificado (I) são 5 codificados utilizando previsão espacial com relação aos blocos de vídeo vizinhos. Os blocos de vídeo em um quadro ou fatia inter-codificado (P ou B) podem utilizar previsão èspacial coni relação aos macroblocos vizinhos ou unidades de codificação no mesmo quadro ou fatía ou previsão temporal com relação a outros quadros de referência.
Sumário da Invenção Em geral, essa descrição descreve técnicas para a sinalização de características de codificação para dados de vídeo codificados. As técnicas descricão dessa podem » aperfeiçoar a eficiência de sinalização de um modo intra- previsão utilizado para codificar um bloco de dados de vídeo. As técnícas dessa descrição incluem a sinalização em modos intra-previsão de fluxo de bits codificados para blocos de dados de vídeo utilizando palavras-código. As técnicas incluern adicionalmente a codificação de palavras- código utilizando um processo de codificação aritmética bínária adaptativa de contexto (CABAC)- Dessa forma, exíste muita economia de bit relativa para um fluxo de bits codificado quando são utilizadas técnicas dessa descrição.
Em um exemplo, um método de decodificacão > de dados de vídeo inclui a determinação de um primeíro modo intra-previsão mais provável e u.n segundo modo de intra- previsão mais provável para um bloco codificado de dados de vídeo com base em um contexto para o bloco atual; a seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras-código correspondendo aos índices de modo de intra-previsão modificados que correspondem aos mo'dos. d.e íntra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; a realização de um processo CABAC para determinar uma palavra-código 5 recebida; a determinação de um dos índices de modo de intra-previsão modificados que correspondem à palavra- código recebida utilizando a tabela de palavras-código; a seleção de um modo de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-
lO previsão mais provável a ser utilizado para decodificar o bloco codificado, ern que o modo de intra-previsão selecionado corresponde ao índice determinado dentre os índices de modo de' intra-previsão modificados; e a decodificação do bloco atual utilizando o modo de intra-
previsão selecionado.
Em um exemplo, um aparelho para decodificação de dados de vídeo inclui um decodificador de vídeo configurado para determinar um primeiro modo de intra-prevísão mais provável e um segundo modo de intra-previsão mais provável para um bloco codificado de dado3 de vídeo com base em um contexto para o bloco atual; a seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabel-a de palavras-código compreende uma pluralidade de palavras-código correspondendo aos índices de modo de intra-previsão modificados que correspondem aos modos de intra-previsão além do primeiro modo de íntra-previsão mais provável e o segundo modo de intra-previsão mais provável;
a realização de um processo CABAC para determinar uma palavra-código recebida; determinação de um dos índices de modo de intra-previsão modificados que corresponde à palavra-código recebida utilizando a tabela de palavras- código; a seleção de um modo de intra-previsão além do primeiro modo de intra-previsão rnais provável e o segundo modo de intra-previsão mais provável para uso para decodificar o bloco codificado, em que o modo de intra- previsão selecionado corresponde ao índice determinado dentre os índices de modo de intra-previsão modíficados; e 5 a decodificação do bloco atual utilizando o modo de intra- previsão selecionado.
Em um exemplo, um método de codifícação de dados de vídeo inclui a determinação de um primeiro modo de intra-previsão mais provável e um segundo modo de intra- lO previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificação para o bloco atual; a seleção de uma tabela de palavras-código com base no contexto para' o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras- código correspondendo aos índices de modo de intra-previsão modificados que correspondem aos modos de intra-previsão além do primeiro modo de intra-previsão mais prováveí e o segundo modo de intra-previsão mais provável; a codificação do bloco atual utilizando um dos modos de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; a " determinação de um dos índices de modo de intra-previsão modificados que corresponde a um dos modos de intra- previsão utilizando a tabela de palavras-código; e a codificação de uma palavra-código a partir da tabela selecionada de palavras-código pela realização de um processo CABAC, em que a palavra-código corresponde a um dos índices de modo de intra-previsão modificados.
Em um exemplo, um aparelho para codificação de dados de vídeo inclui um codificador de vídeo configurado para determinar urn primeiro modo de intra-previsão mais provável e um segundo modo de intra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificação para o bloco atual; seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma f pluralidade de palavras-código correspondendo aos índices 5 de modo de intra-previsão modificados que correspondem aos modos de intra-previsão além do primeiro modo de intra- previsão mais provável e o segundo modo de intra-previsão mais provável; codificação do bloco atual utilizando um dos modos de intra-previsão além do primeiro modo de intra- lO previsão mais provável e o segundo modo de intra-previsão mais provável; a determinação de um dos índices de modo de íntra-previsão modificados que corresponde a um dos modos de intra-previsão utilizando a tabela de palavras-cód.igo; e a codificação de uma palavra-cõdigo a partir da tabela 15 selecionada de palavras-código pela realização de um processo CABAC, em que a palavra-código corresponde a um dos índices de modo de intra-previsão modificados.
Em um exemplo, um aparelho de decodifícação de vídeo inclui meios de determinação de um primeiro modo de 20 intra-previsão mais provável e um segundo modo de intra- previsão mais provável para urri bloco codificado de dados de vídeo com base em um contexto para o bloco atual; meios de seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em, que a tabela de palavras- 25 código compreende uma pluralidade de palavras-código correspondendo aos índíces de modo de intra-previsão modificados que correspondem aos modos de intra-previsão além dos primeiro modo de intra-previsão mais provável e segundo modo de intra-previsão mais provável; meios de 30 realização de um processo CABAC para determinar uma palavra-código recebida; meios para determinação de um dos índices de modo de intra-prevísão modificados que corresponde à palavra-código recebida utilizando a tabela de palavras-código; meios para seleção de um modo de intra- previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável para uso na decodificação do bloco codificado, erri que o 5 modo de intra-previsão selecionado corresponde a um índice determinado dentre os índices de modo de intra-previsão modificados; e meios para a decodificação do bloco atual utilizando o modo de intra-previsão selecionado.
Em um exemplo, um aparelho para codificação de dados de vídeo inclui meios de determinação de um primeiro modo intra-previsão mais provável e um segundo modo de intra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificação para o bloco atual; meios para a seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabela de palavras-cõdigo compreende uma pluralidade de palavras-código correspondendo aos índices de modo de íntra-previsão rnodificados que correspondem aos modos de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; meios para a determinação de um dos índices de modo de intra-previsão modificados que corresponde a um dos modos de intra-prevísão utilizando a tabela de palavras-cõdigo; e meios para a codificação de uma palavra-código a partir da tabela selecionada de palavras-código pela realização de um processo CABAC, em que a palavra-código corresponde a um dos índices de modo de intra-previsão modificados.
Em um exemplo, um meio de armazenamento legível por computador possuindo arrnazenado no mesmo instruções que quando executadas fazem com que um ou maís processadores determinem um primeiro modo de intra-previsão mais provável e um. segundo modo de intra-previsão mais provável para um bloco codificado de dados de vídeo com base em um contexto para o bloco atual; a seleção de uma tabela de palavras- código com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras-código correspondendo aos índices de modo de 5 íntra-previsão modificados que correspondem aos rnodos de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; a realização de um processo CABAC para determi-nar uma palavra-código recebida; a determinação de um dos índices de modo de intra-previsão modificados que corresponde à palavra-código recebida utilizando a tabela de palavras- código; a seleção de um modo de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável para uso para decodificação do bloco codificado, em que o modo de intra- previsão selecionado corresponde a um índice determinado dentre os índices de modo de intra-previsão modificados; e a decodificação do bloco atual utilizando o modo de intra- previsão selecionado.
Em um exemplo, um meio de armazenamento legível por computador possuindo armazenado no mesmo instruções que quando executadas fazem com que um ou mais processadores deterrninem um primeiro modo de intra-prevísão mais provável e um segundo modo de intra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificação para o bloco atual; selecão de uma tabela de » palavras-código com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras-código correspondendo aos índices de modo de intra-previsão modificados que corresponde aos modos de intra-previsão alér, do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; a codificação do bloco atual utilizando um dos modos de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provãvel; a determinação de um dos índices de modo de intra-previsão mais provável que corresponde a um dos modos de intra- 5 previsão utilizando a tabela de palavras-código; e a codificação de uma palavra-código a partir da tabela selecionada de palavras-código pela realização de um processo CABAC, em que a palavra-código corresponde a um dos índices de modo de intra-previsão modificados.
Em um exemplo, um método de decodificação de dados de vídeo inclui a determinação de um primeiro modo de intra-previsão mais provável e um segundo modo de intra- previsão mais provável para um bloco atual de dados de vídeo com base em um contexto para o bloco atual; a seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras-código correspondendo aos índices de palavra-código, em que os índices de palavra-códígo são mapeados para modos de intra- previsão; a realização de um processo CABAC para determinar uma palavra-código recebida; a determinação de um índice de palavra-cõdigo modificado que corresponde à palavra-código recebida utilizando a tabela de palavras-código; a seleção de um modo de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra- previsão mais provável para uso na decodificação do bloco codificado, em que o modo de intra-previsão selecionado corresponde a um índice de palavra-código selecionado com base no índice de palavra-código modificado, o primeiro modo de intra-previsão mais provável, e o segundo modo de intra-previsão mais provável; e a decodificação do bloco atual utilizando o modo de intra-previsão selecionado.
Em um exemplo, um aparelho para a decodíficação de dados de vídeo inclui um decodificador de vídeo confígurado para determinar um primeiro modo de intra- previsão mais provável e um segundo modo de intra-previsão 5 mais provável para um bloco atual de dados de vídeo com base em um contexto para o bloco atual; a seleção de uma tabela de palavras-cõdigo com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras-código correspondendo a um índice de palavra-código, em que os índices de palavra-cõdigo são mapeacíos para os modos de intra-previsão; a realização de um processo CABAC para determinação de uma palavra-códígo recebida; a determinação de um índice de palavra-código modificado que corresponde à palavra-código recebida utilizando a tabela de palavras-código; a seleção de um modo de intra-previsão além do primeiro modo de intra- previsão mais provável e o segundo modo de intra-previsão mais provável para uso na decodificação do bloco codificado, em que o modo de intra-previsão selecionado corresponde a um índice de palavra-código selecionado com base no índice de palavra-código modíficado, o primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; e a decodificação do bloco atual utílízando o modo de íntra-previsão selecionado.
Em urn exemplo, um aparelho para decodificação de vídeo inclui meios para a determinação de um primeiro modo de intra-previsão mais provável e um segundo modo de intra- previsão mais provável para um bloco atual de dados de vídeo com base em um contexto para o bloco atual; meios parà a seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabela de palavras- código compreende uma pluralidade de paíavras-código correspondendo aos índices de palavra-código, em que os índices de palavra-código são mapeados para os modos de intra-previsão; meios para a realização de um processo CABAC para determinação de uma palavra-código recebida; meios para a determinação de um índice de palavra-código 5 modifíicado, que corresponde à palavra-código recebida utilizando a tabela de palavras-código; meios para a seleção de um rnodo de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra- previsão mais provável para uso na decodificação do bloco codificado, em que o modo de intra-previsão selecionado corresponde a um índice de palavra-código selecionado com base no índice de palavra-cõdigo modificado, o primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; e meios para decodíficação do bloco atual utilizando o modo' de intra-previsão selecionado.
Em um exemplo, um meio de armazenamento legível por computador possuindo armazenadas, no mesmo, instruções que quando executadas fazem com que um ou mais processadores determinem um primeiro modo de intra-previsão mais provável e um segundo modo de intra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto para o bloco atual; a seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras-códígo correspondendo aos índices de palavra- código, em que os índices de palavra-código são mapeados para os modos de intra-previsão; a realização de um processo CABAC para determinar uma palavra-código recebida; a determinação de urn índice de palavra-código modíficado que corresponde à palavra-código recebida utilizando a tabela de palavras-código; a seleção de um modo de intra- previsão além do primeiro modo de intra-previsão mais provável e um segundo modo de intra-previsão mais provável para uso na decodificação do bloco codificado, em que o modo de intra-previsão selecionado corresponde a um índice de palavra-código selecionado com base no índíce de 5 palavra-código rnodificado, o primeiro modo de intra- previsão mais provável e o segundo modo de intra-previsão mais provável; e a decodificação do bloco atual utilizando o modo de intra-previsão selecionado.
Em um exeinplo, um método de codificação de dados de vídeo inclui. a determinação de um primeíro modo de irrtra-previsão mais provável e um segundo modo de intra- previsão mais provável para um bloco atual dos dados de vídeo com base em um contexto de codificação para o bloco atual; a seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras- código correspondendo aos índices de palavra-código, em que os índices de palavra-código são mapeados para modos de intra-previsão; a codificação do bloco atual utilizando uw dos modos de íntra-previsão além do primeiro modo de intra- previsão mais provável e o segundo modo de intra-previsão mais provável; a determinação de um índice de palavra- código modificado com base no índice de palavra-cõdigo de um dos modos de intra-previsão utilizados para codificar o blóco atual, um índice de palavra-código mapeado para o primeiro modo mais provável, e urri índice de palavra-código mapeado para o segundo modo mais provável; e a codificação de uma palavra-código a partir da tabela selecionada de palavras-código pela realização de um processo CABAC, em que a palavra-código corresponde a um dos índices de modo de intra-previsão modificados. Em um exemplo, um aparelho para codificação de dados de vídeo inclui um codificador de vídeo configurado para determinar um primeiro modo de intra-previsão mais provável e um segundo modo de intra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificação para o bloco atual; a seleção de 5 uma tabela de palavras-código com base no contexto para o bloco atual-, em que a tabela de palavras-código compreende uma pluralidade de palavras-código correspondentes aos índices de palavra-código, em que os índices de palavra- código são mapeados para modos de intra-previsão; a codificação do bloco atual utilizando um dos modos de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável, a determinação de um índice de palavra-código modificado com base no índice de palavra-código de um dos modos de intra-previsão utilizados para codificar o bloco atual, um índice de palavra-código mapeado para o primeiro modo mais provável, e um índice de palavra-código mapeado para o segundo modo mais provável; e a codificação de uma palavra- código a partir da tabela selecionada de palavras-código pela realização de um processo CABAC, em que a palavra- código corresponde a um dos índices de modo de intra- previsão modificados.
Em um exemplo, um aparelho para codificação de vídeo inclui meíos para a determinação de um primeiro modo de intra-previsão mais provável e um segundo modo de intra- previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificação para o bloco atual; meios de seleção de uma tabela de palavras-código com base no contexto para o bloco atual, em que a tabela de palavras-código compreende uma pluralidade de palavras- código correspondendo aos índices de palavra-código, em que os índices de palavra-código são mapeados para modos de intra-previsão; meios para a codificação do bloco atual
13/1.15 utilizando um dos modos de intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; meios para a determinação de um índice de palavra-código modificado com base no índíce 5 de palavra-código de um dos modos de intra-previsão utilizados para codificar o bloco atual, um índice de palavra-código mapeado para o primeiro modo mais provável, e um índice de palavra-código mapeado para o segundo modo mais provável; e meios para a codificação de uma palavra- lO código a partir da tabela selecionada de palavras-código pela realização de um processo CABAC, em que a palavra- código corresponde a um dos índices de modo de intra- previsão modificados.
Em um exemplo, um meío de arrnazenamento legível por computador possuindo armazenadas, no mesmo, instruções que quando executadas fazem com que um ou mais processadores determinem um primeiro modo de intra-previsão mais provável e um segundci modo de intra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificação para o bloco atual; a seleção de uma tabela de palavras-código com base no contexto para o " bloco atual, em que a tabela de palavras-código compreende uma pIuralidade de pal-avras-código correspondendo aos índices de palavra-código, em que os índices de palavra- cÓdigo são rnapeados para os modos de intra-previsão; a codificação do bloco atual utilizando um dos modos de "\
intra-previsão além do primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; a determinação de um índice de palavra-código modificado com base no índice de palavra-código de um dos modos de intra-previsão utílizados para codificar o bloco atual, um índice de palavra-código ma,peado para o primeiro modo mais provãvel, e um índice de palavra-código mapeado para o segundo modo mais provável; e a codificação de uma palavra- código a partir da tabela selecíonada de palavras-código pela realização de um processo CABAC, em que a palavra- código corresponde a um dos índices de modo de intra- 5 previsão modificados.
Os detalhes de um ou mais exemplos são apresentados nos desenhos em anexo e na descrição abaixo. Outras características, objetivos, e vantagens serão aparentes a partir da descricão e desenhos e a partir das > reivindicações. Breve Descrição dos Desenhos A figura 1 é um diagrama ení bloco ilustrando um sistema de codificação e decodificação de vídeo ilustrativo que pode utilizar técnicas para a codificaçào de dados de sintaxe representativos de modos de íntra-previsão para blocos de dados de vídeo; A figura 2 é um diagrama em bloco ilustrando um exemplo de um codificador de vídeo que pode implementar técnicas para codificação de infiormação indicativa de um modo de intra-previsão; A figura 3 ilustra um exemplo de modos de intra- previsão e índices de modo correspondentes; a figura 4 é um diagrama em bloco ilustrando um exemplo de um decodificador de vídeo, que decodifica uma sequência de vídeo codificada; A figura 5A é um diagrama em bloco ilustrando um exemplo de uma unidade de codificação aritmética binária adaptativa com base em contexto que pode ser utilizada de acordo com as técnicas descritas nessa descrição; A figura 5B é um diagrama eín bloco ilustrando um exemplo de uma unidade de decodificação aritmética binária adaptativa com base em contexto que pode ser utilizada de acordo com as técnicas descritas nessa descrição;
A figura 6 é um fluxograma ilustrando um método ilustrativo para a codificação intra-previsão de um bloco
. de dados de vídeo;
As figuras 7A e 7B são fluxogramas ilustrando 5 métodos ilustrativos para seleção de uma palavra-código indicativa de um modo de intra-previsão para um bloco codificado; A figura 8 é um fluxograma ilustrando um método ilustrativo para a decodificação intra-previsão de um bloco de dados de vídeo; As figuras 9A e 8B são fluxogramas ilustrando métodos ilustrativos para a determinação de um modo de intra-previsão para um bloco utilizando uma palavra-cõdigo recebida indicativa do modo de intra-previsão para um bloco codificado; A figura 10 é um diagrama conceitual ilustrando um exemplo configurado de dados de configuração, que indica as relações entre uma tabela de índice de modo de intra- previsão, uma tabela de índice de modo de intra-previsão modificada, e dados de contexto.
Descrição Detalhada da Invenção Em geral, essa descrição descreve técnicas para sinalização de características de codificação para dados de vídeo codificados, e mais particularmente, essa descrição descreve a utilização de um processo de codificação aritmética binária com base em çontexto (CABAC) para sinalizar os modos de intra-prevísão para um decodificador de vídeo.
As técnicas dessa descrição podem aperfeiçoar a eficiência para sinalizacão -> de um modo de intra-previsão utilizado para intra-codificar um bloco de dados de vídeo.
Um codificador de vídeo, por exemplo, pode incj-uir dados de configuração que indicam os índices para os modos de intra- prevísão com base nos contextos de codificação para os blocos codificados utilizando os vários modos de intra- previsão. Os contextos de codificacão podem incluir, .J por exemplo, modos de codificação para blocos codíficados anteriormente vizinhos e/ou tamanhos de bloco. 5 Os dados de codificação podem ser utilizados para definir um modo de intra-previsão mais provável para cada contexto ou podem definir dois ou mais modos de intra- previsão mais prováveis para cada contexto. Esses modos de intra-previsão mais prováveis podem algumas vezes nessa descrição ser referidos simplesrnente como modos mais prováveis. Os dados de configuração podem definir também uma tabela de rnapeamento para uso na codificação de dados de sintaxe descrevendo o modo de intra-previsão para modos além dos modos mais prováveis ein urri determinado contexto.
Em particular, a tabela de mapeamento pode incluir urn mapeamento de índices para palavras-código. Como será descrito em maiores detalhes abaixo, a tabela de mapeamento pode mapear índices de modo de intra-previsão modificados para palavras-código, ou podem mapear os índices de modo de intra-previsão para índices de palavra-código que são então ajustados em índices de palavra-código modificados.
De acordo, o codificador de vídeo pode ser configurado para determinar um contexto de coçiificação para um bloco a ser codificado pelo modo de intra-previsão. O contexto de codificação pode ser relacionado com um modo de intra-previsão mais provãvel, além de probabilidades de outros modos de intra-previsão. Quando o modo de intra- previsão mais provável é selecionado para uso na codificação e um bloco atual, o codificador de vídeo pode selecionar uma palavra-código de um bit (por exemplo, '1') para indícar que o bloco é codificado no modo mais provável para o contexto em que o bloco ocorre. Ern casos nos quais mais de um modo de intra-previsão mais provável é utilízado, um primeiro bit pode indicar se um dos modos de intra-previsão rnais prováveis é selecionado para uso n a codificação de um bloco atual, e se um dos modos de intra- previsão mais prováveis for utilizado, então um segundo bit 5 (ou série de bi"ts) pode indicar qual dos modos de intra- previsão mais provável é selecionadm Nos momentos por toda essa descrição, a combinação desse primeiro bit e se um segundo bit pode ser referida como uma palavra-código, com o primeiro bit da palavra-código sinalizando que um modo de intra-previsão selecionado é um dos modos de intra-previsão mais prováveis, e o segundo bit (ou série de bits) identificando qual dos modos de intra-previsão mais prováveis.r De acordo com as técnicas dessa descrição, uma palavra-código indicando se um modo selecionado é um modo mais provável e qual dos modos mais prováveis o modo selecionado é pode ser codificada utilizando um processo
CABAC como descrito nessa descrição.
Adicionalmente, em alguns casos, os bits utilizados para sinalização dos modos mais prováveis em conjunto com uma palavra-cõdigo identificando urn modo não mais provável podem ser tratados em conjunto como uma pal-avra-código e codificados utilizando um processo CABAC como descrito nessa descriçãm Cada um dos outros modos de intra-previsão (isso é, os modos de intra-previsão além dos modos de intra-
previsão mais prováveis) também pode receber um valor de índice rnodíficado, com base no contexto de codificação.
Ademais, o contexto de codificacão pode corresponder » adicionalmente a uma tabela possui.ndo um conjunto de palavras-código indexadas pelos valores de índice relacionados com os índices para os modos de intra- previsão.
Em particular, como discutido acima, o valor de índice para os modos de irrtra-prevísão rnais prováveis não precisa receber outra palavra-código, além de uma palavra de único bit (ou possivelmente maior) representando que o modo de intra-previsão mais provável foi selecionado.
Para mapear uma palavra-código para cada modo de intra-previsão restante, o índice de cada modo de intra-previsão restante 5 pode ser modificado primeiro para excluir esses modos mais preferíveis originalmente alocados.
De acordo, os índices de modo de intra-previsão modificados podem ser iguais aos índices de modo de intra-previsão que são menores do que o índíce de modo para o modo rnais provável.
Por outro lado, quando é utilizado um rnodo mais provável, os índices de modo de intra-previsão modificados podem ser uma vez menor que os índices de modo de intra-previsão para os índices de niodo de intra-previsão que são maiores do que o índice par ao modo mais provável.
Dessa forma, pode haver uma palavra- código menor que os modos de intra-previsão, e as palavras- código podem ser mapeadas para os modos de intra-previsão com base no contexto de codificação.
Quando é utilizado mais de um modo de intra-previsão mais provável, pode haver duas ou mais palavras-código menor na tabela de palavra-
código do que os modos de intra-previsão, e as palavras- cõdigo podem da mesma forma ser mapeadas para os modos de intra-previsão cojn base no contexto de codificação.
A palavra-código pode ser codificada utilizando-se um processo CABAC.
Um decodificador de vídeo pode ser configurado de maneira similar, por exemplo, para realizar técnicas similares quando é determinado urn modo de intra-prevísão para um bloco codificado.
De acordo com as técnicas dessa descríção, 'um decodíficador de vídeo pode receber dados para um bloco codificado, al-ém de uma palavra-código indicativa de um modo de intra-previsão para uso na decodificação do bloco codificado.
O decodificador de vídeo pode receber e decodificar a palavra-código pela realização de um processo CABAC que é geralmente a alternância do processo CABAC realizado pelo codificador de vídeo. O decodificador de vídeo pode determínar um contexto para o bloco de forma similar ao um codificador de vídeo. Com base 5 no contexto, o decodificador de vídeo pode determinar um modo de intra-previsão mais provável ou modos para o bloco.
Quando é utilizado um modo de intra-previsão mais provável, um único bit pode ser decodificado para determinar se o modo mais provável é selecionado. SE o único bit indicar que o modo mais provável é selecionado, o decodificador de vídeo pode decodificar o bloco utilizando o modo de intra- previsão mais provável. Do contrário, o decodificador de vídeo pode çe referir ao índice de modo de intra-previsão modificado mapeado para a palavra-código recebida. Se o índice de modo de intra-previsão modificado for maior que ou igual ao índice de modo para o modo de intra-previsão mais provável, o decodificador de vídeo pode decodificar o bloco utilizando o modo de intra-previsão mapeado em um índice de modo que é uma vez maior que o índice de modo de intra-previsão modificado. Se o índice de modo de íntra- previsão modificado for menor que o índice de modo para o modo de intra-previsão mais provável, o decodificador de vídeo pode decodificar o bloco utilizando o rnodo de intra- previsão mapeado para um índice de modo que é igual ao índice de modo de intra-previsão modificado.
De forma similar, quando são utilizados dois modos de codificação de intra-previsão mais prováveis, se o primeiro bit ou série de bits indicarem que o modo de intra-previsão selecionado é um dentre os modos de intra- previsão mais prováveis, então o decodificador de vídeo pode decodificar o bloco utilizando o modo de intra- previsão mais provãvel identificado por um segundo bit. Do contrário, o decodificador de vide pode se referir ao
.
índice de modo de intra-previsão modificado mapeado em palavra-código recebida. Se o índice de modo de intra- previsão modificado for menor que o índice de modo para o primeiro modo de intra-previsão mais provável, o 5 decodificador de vídeo pode decodificar o bloco utilizando o modo de intra-previsão mapeado para um índice de modo que é igual ao índice de modo de intra-previsão modificado. Do contrário, se o índice de modo de intra-previsão modificado mais um for menor que o índice de modo para o segundo modQ de intra-previsão mais provável, então o decodificador de vídeo pode decodificar o bloco utilizando o modo de intra- previsão mapeado para um índice de modo que é uma vez maior que o índice de modo de intra-previsão modificado. Do contrário, o decodificador de vídeo pode decodificar o bloco utilizando o modo de intra-previsão mapeado para um índice de moçlo que é duas vezes maior que o índice de modo de intra-previsão modificado, e assim por diante.
As frases "primeiro mais provável" e "segundo mais provável" são geralmente utilizadas nessa descrição para fazer referência a dois modos de intra-previsão mais prováveis separados, e não devem implicar em uma similaridade relativa de dois modos de intra-previsão. Como será explicado posteriormente através de exemplos, no entanto, pode ser geralmente considerado que, para fins de explicação nessa descrição, o primeiro modo de intra- previsão mais provável possui um valor de índice de modo correspondente menor que c) segundo modo de intra-previsão mais provável. Dessa forma, se um valor de índice de modo de intra-previsão modificado for considerado menor que o índice de modo para um prímeiro modo mais provável, pode-se assumir que o valor de índice de modo de intra-previsão modificado também é menor que o índice de modo para um segundo modo de intra-previsão mais provável, terceiro niodo de intra-previsão mais provável, e assim por diante.
As técnicas dessa descricão podem ser estendidas > às implementações que utilizam mais de dois modos de íntra- 5 previsão mais prováveis. Por exemplo, considerando-se que existam N modos de intra-previsão maís prováveis, um primeíro bit ou série de bits pode indicar se o modo de intra-previsão selecionado é um dos n modos de intra- previsão mais prováveis. Se o modo de intra-previsão selecionado for um dos N modos de intra-previsão mais prováveis, então uma segunda série de bits pode identificar quais dos N modos de intra-previsão mais prováveis é o modo de intra-previsão selecionado. Por exemplo, utilizando-se três modos mais prováveis, dois bits podem ser utilizados para sinalizar se o modo de intra-previsão selecionado é um dos modos mais prováveis como se segue: sinalizar um "00" para indicar que o primeiro modo mais provável é utilizado; sinalizar um "01" para indicar que o segundo modo mais provável é utilizado; sinalizar um "10" para indicar que o terceiro modo mais provável é utilizado. Se nenhum dos modos mais prováveis for utilizado, uma palavra-código adicional pode ser utilizada para sinalizar o modo de intra-previsão selecionado. Em alguns casos, os inodos de intra-previsão mais provãveis podem ser sinalizados em um ou mais grupos, em que um primeiro bit ou série de bits sinaliza se o modo de intra-previsão mais provável é de um primeiro grupo. Se o modo de intra-previsão selecionado não for de um primeiro grupo, então, bits subsequentes podem sinalizar se é de um segundo grupo, e assim por diante. Se, por exemplo, cinco modos mais prováveis forem utilizados, então um primeiro bít ou série de bits deve sinalizar se o modo de intra-previsão selecionado é de um primeiro grupo de dois modos de intra-previsão mais prováveis. Se o modo selecionado for um dos dois, então um segundo bit . pode identificar qual dos dois é o modo selecionado. Se o modo selecionado não for um dos dois, 5 então um segundo grupo de bits pode identifiicar o modo selecionado. Se, por exemplo, o segundo grupo de bits incluir dois bits, então uma primeira combinação de bits (por exemplo, 00) pode indícar que o modo selecionado é um %.
terceiro modo mais provável, uma segunda combinacão de bits b (por exemplo, 01) pode indicar que o modo selecionado é um quarto modo mais provável, e urria terceira combinaçãQ de bits (por exemplo, 10) pode indicar que o modo selecionado é um quinto modo mais provável. Se o modo selecionado for um dos cinco modos de intra-previsão mais provãveis, então o decodificador pode decodificar o bloco utilizando o modo mais provável. Uma quarta combinação de bit (por exemplo, 11) pode indicar que q modo selecionado não é um dos cinco modos mais prováveis, caso em que a quarta combinação de bits pode ser seguida por bits subsequentes identificando o modo selecionado de acordo com as técnicas descritas nessa descrição. Em casos nos quais um modo selecionado não é um modo mais provável, o decodificador de vídeo pode se referir ao índice de modo de intra-previsão modificado mapeado para a palavra-código recebida. Para fins de exemplo, pode-se assumir que um primeíro modo de intra- previsão mais provável possui um valor de índice de modo correspondente menor que um segundo modo de intra-previsão mais provável, e o segundo possui um índice menor que o terceíro e assim por díante. De acordo com as técnicas dessa descrição, se o índice de modo de intra-previsão modificado for menor que o índice de modo para o primeiro modo de intra-previsão mais provável, o decodificador de vídeo pode decodificar o bloco utilizando o modo de intra- previsão mapeado para um índice de modo que é igual ao índice de modo de intra-previsão modifícado.
Do contrário, se o índice de modo de intra-previsão modificado mais um 5 for menor que o índice de modo para o segundo modo de intra-previsão mais provável, então o decodificador de vídeo pode decodificar o bloco utilizando o modo de intra- previsão mapeado para um índice de modo que é uma vez maior que o índice de modo de intra-previsão modificado.
Do lO contrário, se o índice de modo de intra-previsão modificado mais dois for menor que o índice de modo para o terceiro modo de intra-previsão mais provável, então o decodificador de vídeo pode decodificar o bloco utilizando o modo de intra-previsão mapeado para um índice de modo que é duas vezes maior que o índice de modo de intra-previsão modificado, e assim por diante.
Como será explicado em maiores detalhes abaixo, o índice de modo de íntra-previsão modificado pode não incluir os registros para os modós mais prováveis, que é porque o índice de modo de intra-previsão pode ser mapeado para o índice de modo de intra-previsão modificado mais um, q índice de modo de intra-previsão modificado mais dois, etc., dependendo do índice de modo dos modos mais prováveis.
A figura 1 é um diagrama em bloco ilustrando um sistema de codificação e decodificação de vídeo ilustrativo 10 que pode utilizar técnícas para a codíficação de dados de sintaxe representativos dos modos de intra-previsão para os blocos de dados de vídeo.
Como ilustrado na figura 1, o sistema 10 inclui um dispositivo fonte 12 que transmite vídeo codificado para um dispositivo de destino 14 através de um canal de comunicação 16. O dispositivo fonte 12 e o dispositivo de destino 14 podem compreender qualquer um dentre uma ampla faixa de dispositivos.
Em alguns casos, o díspositivo fonte 12 e o dispositivo de destino 14 podem compreender dispositivos de comunicação sem fio, tal como aparelhos sem fio, chamados radio telefones celulares ou via satélite ou quaisquer dispositivos sem fio que possam 5 comunicar ínformação de vídeo através de um canal de comunicação 16, caso em que o canal de comunicação 16 é sem fio.
As técnicas dessa descrição, no entanto, que se referem à codificação dos dados de sintaxe representativos dos modos de intra-previsão para os blocos de dados de vídeo, não são necessariamente limitadas a aplicativos ou configurações sem fio.
Por exemplo, essas técnicas podem se aplicar a difusões de televisão aéreas, transmissões de televisão a cabo, transmissões de televísão via satélite, transmissões de vídeo pela Internet, vídeo digital codificado que é codificado em um meio de armazenarnento, e outras situações.
De acordo, o canal de comunicação 16 pode compreender qualquer combinação de mídia sem fio ou com fio adequada para transmissão de dados de vídeo codificados.
Ademais, o canal de comunicação 16 deve representar apenas uma das muitas formas nas quais um dispositivo de codificação de vídeo pode transmitir dados para um dispositivo de decodificação de vídeo.
Por exemplo, em outras configurações do sistema 10, o dispositivo fonte 12 deve gerar vídeo codificado para decodificação pelo dispositivo de destino 14 e armazenar o vídeo codificado em um meio de armazenamento ou um servidor de arquivo, de modo que o vídeo codifícado possa ser acessado pelo dispositivo de destino 14 como desejado.
No exemplo da figura 1, q dispositivo fonte 12 inclui uma fonte de vídeo 18, codificador de vídeo 20, um modulador/demodulador (modem) 22 e um transmíssor 24. O dispositivo de destino 14 inclui um receptor 26, um modem
28, um decodificador de vídeo 30 e um dispositivo de exibição 32. De acordo com essa descrição, o codificador de vídeo 20 do dispositivo fonte 12 pode ser configurado para aplicar as técnicas para codificação de dados de sintaxe 5 representativos dos modos de intra-previsão para os blocos de dados de vídeo.
Em outros exemplos, um dispositivo fonte e um dispositivo de destino podem incluir outros componentes ou disposições.
Por exemplo, o dispositivo fonte 12 pode receber dados de vídeo de uma fonte de vídeo externa 18, tal- como uma câmera externa.
Da mesma forma, o dispositivo de destino 14 pode ínterfacear com um dispositivo de exibição externo, ao invés de incluir um dispositivo de exibição integrado.
O sistema ilustrado 10 da figura 1 é meramente um exemplo.
As técnicas para codificação de dados de sintaxe representativos dos rnodos de intra-previsão para blocos de dados de vídeo podem ser realizadas por qualquer dispositivo de codificação e/ou decodificação de vídeo digital.
Apesar de geralmente as técnicas dessa descrição serem realizadas por um dispositivo de codificação de vídeo, as técnicas também podem ser realízadas por um codificador/decodifica.dor de vídeo, tipicamente referido como um "CODEC". Ademais, as técnicas dessa descrição também podem ser realizadas por um processador de vídeo.
O dispositivo fonte 12 e o dispositivo de destino 14 são meramente exemplos de tais dispositivos de codificação nos quais o dispositivo fonte 12 gera dados de vídeo codificados para a transmissão para o dispositivo de destino 14. Em alguns exemplos, os disposítivos 12, 14 incluem componentes de codificação e decodificação de vídeo.
Dessa forma, o sistema 10 pode suportar a transmissão de vídeo de uma via ou duas vias entre os dispositivos de vídeo 12, 14, por exemplo, para o sequenciamento de vídeo, reprodução de vídeo, difusão de vídeo ou vídeo telefonia.
A fonte de vídeo 18 do dispositivo de fonte 12 pode incluir um dispositivo de captura de vídeo, tal com 5 uma câmera de vídeo, um arquivo de vídeo contendo vídeo previamente capturado e/ou uma alimentacão de vídeo de um -> provedor de conteúdo e vídeo. Como uma alternativa, a fonte de vídeo 18 pode gerar dados com base em gráficos de computador como o vídeo fonte, ou uma combinação de vídeo ao vivo, vídeo arquivado, e vídeo gerado por computador. Em alguns casos, se a fonte de vídeo 18 for uma câmera de vídeo, o dispositivo fonte 12 e o dispositivo de destino 14 podem formar os chamados telefones de câmera ou vídeo telefones. Corno mencionado acima, no entanto, as técnicas descritas nessa descrição podem ser aplicáveis à codificação de vídeo em geral, e podem ser aplicadas a aplicações sem fio e/ou com fio. Em cada caso, o vídeo capturado, pré-capturado, ou gerado por computador pode ser codificado pelo codificador de vídeo 20. A informação de vídeo codificada pode então ser rnodulada pelo modem 22 de acordo com um padrão de comunicação, e transmitida para o dispositivo de destino 14 através do transmíssor 24, O modem 22 pode incluir vários místuradores, filtros, amplificadores ou outros componentes projetados para a modulação de sinal. O transmissor 24 pode incluir circuitos projetados para a transmissão de dados, incluindo amplificadores, filtros e uma ou mais antenas.
O receptor 26 do dispositivo de destino 14 receber informação através de canal 6, e o modem 28 demodula a informação. Novamente, o processo de codificação de vídeo pode implementar uma ou mais das técnicas descritas aqui para codificação de dados de sintaxe representativos de modos de intra-previsão para blocos de dados de vídeo.
A informação comunícada através do canal 16 pode incluir informação de sintaxe definida pelo codificador de vídeo 20, que também é utilizada pelo decodificador de vídeo 30, que inclui eíementos de sintaxe
5 que descrevem as características e/ou processamento de macro blocos e outras unidades codificadas, por exemplo, GOPs.
O dispositivo de exibição 32 exibe os dados de vídeo decodificados para um usuário, e pode compreender qualquer um dentre uma variedade de díspositívos de exibição tal como um tubo de raio catodo (CRT), um monitor de cristal líquido (LCD), um monitor de plasrria, um monitor de diodo de luz orgânica (OLED), ou outro tipo de dispositivo de exibição.
No exemplo da figura 1, o canal de comunicacão 16 3 pode compreender qualquer meio de comunicação sem ou com fio, tal como um espectro de frequência de rádio (RF) ou uma ou mais linhas de transmissão física, ou qualquer combinação de mídia sem ou com fio.
O canal de comunícação
16 pode formar parte de uma rede com base em pacote, tal como uma rede de área local, uma rede de área ampla ou uma rede global tal como a Internet.
O canal de coinunicacão 16 > geralmente representa qualquer meio de comunicação adequado, ou coleção de meios de comunicação diferentes, para transmissão de dados de vídeo do dispositivo fonte 12 para o dispositivo de destino 14, incluindo qualquer combinação adequada de mídia com ou sem fio.
O canal de comunicação 16 pode incluir roteadores, comutadores, estações base, ou qualquer outro equipamento que possa ser útil para facilitar a comunicação do dispositivo fonte 12 para o dispositivo de destino 14. O codificador de vídeo 20 e o decodificador de vídeo 30 podem operar de acordo com um padrão de compressão de vídeo, tal como o padrão ITU-T H.264, alternativamente referido como MPEG-4, parte 10, Codificação d'e Vídeo Avançada (AVC). As técnicas dessa descrição, no entanto, não estão limitadas a qualquer padrão de codificação em particular.
Outros exemplos incluem MPEG-2 e rTU-T H.263. 5 Apesar de não ilustrado na figura 1, em alguns aspectos, o codificador de vídeo 20 e o decodificador de vídeo 30 podem, cada um, ser integrados com um codifícador e decodificador de áudio, e podem incluir unidades MUX-DEMUX adequadas, ou outro hardware e software, para manusear a codificação de ambos o áudio e vídeo em uma sequência de dados comum ou sequências de dados separadas.
Se aplicável, as unidades MUX-DEMUX podem se conformar ao protocolo de multiplexador ITU H.223, ou outros protocolos tal como o protocolo de datagrama de usuário (UDP). O padrão ITU-T H.264/MPEG-4 (AVC) foi formulado pelo Grupo de Especialistas de Codificação de Vídeo ITU-T (VCEG) juntamente com o Grupo de Especialistas em Imagem em Movimento ISSO/IEC (MPEG) coitio o produto de uma parceira coletiva conhecida como Equipe de Vídeo conjunta (jvt). Em alguns aspectos, as técnicas descritas nessa descrição podem ser aplicadas aos dispositivos que se conformam geralmente ao padrão H.264. O padrão H.264 é descrito na Recomendação ITU-T H.264, Codificação de Vídeo Avançada para serviços audiovisuais genéricos, pelo Grupo de Estudo ITU-T, e datado de março de 2005, que pode ser referido aqui como padrão H.264 ou especificação H.264, ou o padrão ou especificação H.264/AVC.
A Equipe de Vídeo conjunta (JVT) continua a trabalhar na extensão para H.264/MPEG-4 AVC.
O codificador de vídeo 20 e o decodificador de vídeo 30 podern, cada urn, ser ímplementados como qualquer um dentre uma variedade de conjuntos de circuito de codificador adequados, tal como um ou mais microprocessadores, processadores de sinal- digital (DSPS), circuitos integrados específicos de aplicativo (ASICs), conjuntos de porta programáveis em campo (FPGAs), lõgica discreta, software, hardware, firmware ou qualquer 5 combinações dos mesmos. Cada um dentre o codificador de vídeo 20 e o decodíficador de vídeo 30 pode ser incluído em um ou mais codificadores ou decodificadores, qualquer um dos quais pode ser integrado como parte de um. codíficador/decodificador combinado (CODEC) em uma câmera, computador, dispositivo móvel, dispositivo de assinante, dispositivo de difusão, caixa de decodificação respectivo, ou similares.
Uma sequência de vídeo inclui tipicamente uma série de quadros de vídeo. Um grupo de imagens (GOP) geralmente compreende uma série de um ou mais quadros de vídeo. Um GOP pode incluir dados de sintaxe em um cabeçalho do GOP, um cabeçalho de um ou mais quadros do GOP, ou em outro lugar, que descreva um número de quadros incluído.s no GOP. Cada quadro pode incluir dados de sintaxe de quadro que descrevem um modo de codificação para o quadro respectivo. O codificador de vídeo 20 opera tipicamente em blocos de vídeo dentro dos quadros de vídeo individuais a fim de codíficar os dados de vídeo. Urn bloco de vídeo pode corresponder a um macro bloco ou a uma partição de um macro bloco. Os blocos de vídeo podem possuir tamanhos fixos ou variáveis, e podem diferir em tamanho de acordo com um padrão de codificacão especificado.3 Cada quadro de vídeo pode incluir uma pluralidade de fatias. Cada fatia pode incluir uma pluralidade de macro blocos, que podem ser dispostos dentro da partição, também referidos como sub- blocos. Como um exemplo, o padrão ITU-T H.264 suporta a intra-previsão em vãrios tamanhos de bloco, tal- como 16 x
16, 8 x 8, 4 x 4 para componentes de luininescência e 8 x 8 para componentes de croma, além de inter-previsão erri vários tamanhos de blocp, tal como 16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8 e 4 x 4 para componentes de Iuminescência e 5 tamanhos escalonados correspondentes para componentes de croma. Nessa descrição, "NXN" e "N por N" podem ser utilizados de forma intercambiável para fazer referência às dimensões de pixel do bloco em termos de dimensões vertical- e horizontal, por exemplo, pixels 16X16 ou pixels 16 por
16. Em geral, um bloco de 16x16 terá 16 pixels na direção vertical (y = 16) e 16 pixels na direção horizontal (x = 16). Da mesma forma, um bloco nxn geralmente terá N pixels em uma direção vertical e N pixels em uma direção horizontal, onde N representa um valor inteiro não negativo. Os pixels em um bloco podem ser dispostos em fileiras e colunas. Ademais, os blocos não precisani necessariamente possuir o mesrno número de pixels na direção horizontal que na direcão .J vertical. Por exemplo, blocos podem compreender NXM píxels, onde M não é necessariamente igual a N. Os tamanhos de bloco que são menores que a 16X16 podem se referidos como partições de um macro bloco de 16x16 em ITU-T H.264.
Os blocos de vídeo podem compreender blocos de dados de pixel no domínio de pixel, ou blocos de coeficientes de transformação no domínio de transformação, por exemplo, seguindo a aplicação de uma transformacão tal -» como a transformação de cosseno discreto (DCT), uma transformação de inteiro, uma transformação de wavelet, ou uma transformação conceitualmente similar aos dados de bloco de vídeo residuais que representam as diferenças de pixel entre os blocos de vídeo codificados e os blocos de vídeo de previsão. Em alguns casos, um bloco de vídeo pode compreender blocos de coeficientes de transformação quantizados no domínio de transformação.
Blocos de vídeo menores podem fornecer uma melhor resolução, e podem ser utilizados para locais de um quadro 5 de vídeo que incluem níveis mais altos de detalhamento. Ern geral, os macro blocos e as várias partições, algumas vezes referidas como sub-blocos, podem ser considerados blocos de vídeo. Adicionalmente, uma fíatia pode ser considerada como sendo uma pluralidade de blocos de vídeo, tal como macro blocos e/ou sub-blocos. Cada fatia pode ser uma unidade descodificãvel independentemente de um quadro de vídeo. Al-ternativamente, os quadros propriamente ditos podem ser unidades decodificáveis, ou outras partes de um quadro podem ser definidas como unidades decodificáveis. O termo "unidade codificada" pode fazer referência a qualquer unidade descodificável independentemente de um quadro de vídeo tal como todo um quadro, uma fatia de um quadro, um grupo de imagens (GOP) também referido como uma sequência, ou outra unidade que possa ser decodificáda independentemente definida de acordo com as técnicas de codificação aplicáveis. Esforços estão atualmente em andamento no sentido de se desenvolver um novo padrão de codificação de vídeo, atualmente referido como Codificação de Vídeo de Alta Eficiência (HEVC). O padrão HEVC emergente também pode ser referido como H.265. Os esforços de padronização são baseados em um modelo de um dispositivo de codificação de vídeo referido como Modelo de Teste HEVC (HM). O HM presume várias capacidades de dispositivos de codificação de vídeo através dos dispositivos de acordo com, por exemplo, ITU-T H.264/AVC. Por exemplo, ao passo que H.264 fornece nove modos de intra-previsão, HM fornece tanto quando trinta e três modos de intra-previsão, por exemplo, com base no tamanho de um bloco sendo codificado por i.ntra-previsão.
HM se refere a um bloco de dados de vídeo como i
E uma unidade de codificação (CU). Os dados de sintaxe dentro í i 5 de um fluxo de bits podem definir uma unidade de ! codificação maior (LCU) que é uma unidade de codificação maior em termos de número de pixels. Em geral, uma CU possui uma finalidade similar a um macro bloco de H.264, exceto que uma CU não possui uma distinção de tamanho. Dessa forma, uma CU pode ser dividida em sub-CUs. Em geral, referências nessa descrição a uma CU podem fazer referência a uma unidade de codificação maior de uma imagem ou uma sub-CU de uma LCU. Uma LCU pode ser dividida em sub-CUs, e cada sub-CU pode ser dividida em sub-CUs. Os dados de sintaxe para um fluxo de bits pode definir 'um número rnáximo q ;.
de vezes em que uma LCU pode ser dividida, com referência à profundidade de CU. De acordo, um fluxo de bits também pode definir uma unidade de codificação menor (SCU). Essa descrição também utili-za o termo "bloco" para fazer referência a qualquer uma dentre uma CU, uma unidade de previsão (PU), ou uma unidade de transformação (TU). Uma LCU pode ser associada com uma estrutura de dados quadtree. Em geral, uma estrutura de dados quadtree inclui uin nó por CU, onde um nÓ raiz corresponde à LCU. Se uma CU for dividida em quatro sub-CUs, o nó correspondente à CU inclui quatro nós folha, cada um dos quais corresponde a uma das sub-CUs. Cada nó da estrutura de dados de quadtree pode fornecer dados de sintaxe para a CU correspondente. Por exemplo, um nó na quadtree pode incluir um indicador de divisão, indicando se a CU correspondente ao nó é dividida em sub-CUs. Os elementos de sintaxe para uma CU podem ser definidos de forma recursiva, e podem depender de se a CU é dividida em sub-CUs.
Uma CU que não é dividida pode incluir uma oü mais unidades de previsão (PUS). Em geral, uma PU representa toda ou uma parte da CU correspondente, e inclui dados para a recuperação de uma amostra de referência para 5 a PU. Por exemplo, quando a PU é codificada pelo modo de intra-previsão, a PU pode incluir dados descrevendo um modo de íntra-previsão para a PU. Como outro exemplo, quando a PU é codificada pelo intermodo, a PU pode incluir dados definindo um vetor de movirríento para a PU. Os dados que definem o vetor de movimento podem descrever, por exeinplo, um componente horizontal do vetor de movimento, um componente vertical do vetor de movimento, uma resolução para o vetor de movimento (por exemplo, uma precisão de um quarto de pixel ou uma precisão de um oitavo de pixel), um quadro de referência para o qual o vetor de movimento aponta, e/ou uma lista de referência (por exemplo, lista 0 ou lista 1) para o vetor de movimento. Os dados para a CU definíndo as PU(S) também podem descrever, por exemplo, a divisão da CU em uma ou mais PUS. Os modos de divisão podem diferir entre se a CU não está codificada, codificada pelo modo de intra-previsão, ou codificada pelo niodo de inter- previsão.
Uma CU possuindo uma ou ínais PUS também pode incluir uma ou mais unidades de transformacão 3 (TUS). Seguindo a previsão utilizando uma PU, um codificador de vídeo pode calcular um valor residual para a parte da CU correspondente à PU. Um conjunto de valores residuais pode ser transformado, dígítalizado e quantizado para definir um conjunto de coeficientes de transformação. A TU define unia estrutura de dados que inclui os coeficientes de transformação. Uma TU não é necessariamente limitada ao tamanho de urna PU. Dessa forma, TUs podem ser maiores ou menores do que as PUS correspondentes para a mesma CU. Em á alguns exemplos, o tamanho máximo de uma TU pode corresponder ao tamanho da CU correspondente.
De acordo com as técnicas dessa descrição, o codificador de vídeo 20 pode codificar determinados blocos 5 de dados de vídeo utilizando a codificação de modo de íntra-previsão, e fornecer informação indicando um modo de intra-previsão selecíonado utilizado para codificar o bloco.
O codificador de vídeo 20 pode codificar por intra- previsão os blocos de qualquer tipo de quadro ou fatia utilizando um modo de intra-previsão, por exemplo, quadros I ou fatias I, em adição a quadros P ou fatias P e quadros B ou fatias B.
Quando o codificador de vídeo 20 determina que um bloco deve ser codifícado por modo de intra- previsão, o codificador de vídeo 20 pode realizar uma análise de distorção de taxa para selecionar um modo de intra-previsão mais adequadm Por exemplo, o codificador de vídeo 20 pode calcular valo.res de distorção de taxa para um ou mais modos de intra-previsão, e selecionar um dos modos possuindo características de distorção de taxa aceitáveis.
O codificador de vídeo 20 também pode ser configurado para determinar um contexto de codificação para o bloco.
O contexto pode incluir várias características do bloco tal como, por exemplo, um tamanho de bloco, que pode ser determinado em termos de dimensões de pixel, tipo de unidade de previsão (PU) tal como, no exemplo de HEVC, 2Nx2N, NX2N, 2NXN, NSN, tipos de intra-previsão de curta distância (SDIP) tal como 2NXN/2, N/2X2N, 2NX1, 1X2N, um tipo de macro bloco no exemplo de H.264, uma profundidade de unidade de codificacão A (CU) para o bloco, ou outras medições de tamanho para um bloco de dados de vídeo.
Em alguns exemplos, o contexto pode corresponder a como qualquer um ou toros os modos de intra-previsão para um bloco vizinho acima, um bloco vizinho à esquerda, um bloco vizinho acima e à esquerda, um bloco vizinho acima à direita, ou outros blocos vizinhos. Em alguns exemplos, o contexto pode incluir ambos os modos de intra-previsão para um ou mais blocos além da informacão de.> tamanho para o 5 bloco atual sendo codificado.
Em qualquer caso, o decodificador de vídeo 20 pode incluir dados de configuração que mapeiam o contexto para o bloco para várias características de codificação para o bloco atual. Por exemplo, com base no contexto para o bloco, os dados de configuração podem indicar um ou mais modos de intra-previsão rrtais provávei.s, uma tabela de índice de modo de intra-previsão, e uma tabela de mapeamento. Isso é, os dados de configuração podem incluir uma pluralidade de tabelas de índice de modo de intra- previsão e tabelas de mapeamento, al-ém de uma indicação de uma de.ntre uma pluralidade de tabelas de índice de modo de intra-previsão e uma das tabelas de mapeamento para uso na codificação de uma indicação de um modo de intra-previsão para um bloco atual com base no contexto de codificação para o bloco atual. Os dados de configuração podem fornecer adicionalmente uma indicação de um ou mais dos modos mais prováveis para o bloco atual com base no contexto de codificacão. m O número de modos de irrtra-previsão mais prováveis utilizado pode ser fixo de modo que um modo de intra-previsão mais provável seja sempre utilizado, dois modos de intra-previsão mais prováveis sejam sempre utilizados, três modos de íntra-previsão mais prOVáVeiSr sejam sempre utilizados, e assim por diante, ou alternativamente, o número de modos de intra-previsão mais prováveis podem ser dependentes de contexto, de modo que alguns contextos utilizem um modo de intra-previsão mais provãvel enquanto outros contextos utilizam dois ou mais modos de intra-previsão mais provável.
A tabela de índice de modo pode incluir um conjunto de modos de intra-previsão além de índices mapeados para cada um dos modos de intra--previsão.
Em alguns exemplos, o número de modos de intra-previsão 5 disponíveis pode depender do tamanho do bloco sendo codificado, e, portanto, a pluralidade de tabelas de índice de modo de intra-previsão e as tabelas de mapeamento podem ter números diferentes de registros, dependendo, por exemplo, de um tamanho do bloco sendo codificado e/ou outros fatores.
Pode haver uma relação de um para muitos entre as tabelas de mapeamento e as tabelas de índice de modo de intra-previsão nos dados de configuração.
Isso é, a mesma tabela de mapeamento pode ser u'tilízada para codificar os modos de intra-previsão selecionados a partir de uma ou mais tabelas de índice de modo de intra-previsão.
Dessa forma, as tabelas de mapeamento podem ser reutilizadas para múltiplas tabelas de índice de modo de intra-previsão.
Da mesma forma, as mesmas tabelas de índice de modo de íntra-prevísão podem ser reutilizadas em uma variedade de contextos, por exemplo, quando dois ou mais contextos compartilham o mesmo conjunto de modos de intra- previsão e probabilidades relatívas similares ou idênticas de modos de intra-previsão serem utilizados nesses contextos.
Ademais, em alguns casos, a mesma tabela de índice de modo de intra-previsão e tabela de mapeamento pode ser utilizada para todos os blocos de um tamanho particular, e o modo de intra-previsão mais provável pode ser determinado com base em, por exemplo, modos de intra- previsão para blocos vizinhos para um bloco do tamanho particular.
Em qualquer caso, de acordo com as técnicas dessa descrição, o codificador de vídeo 20 pode determinar um ou mais modos maís prováveis para um bloco, com base em um contexto de codificação para o bloco, além de uma tabela de índice de modo de intra-previsão e uma tabela de mapeamento com base no contexto de codificação para o bloco. Depois da seleção do modo de intra-previsão para uso na codificação 5 do bloco, o codificador de vídeo 20 pode determinar se o modo de intra-previsão selecionado é um dentre os modos de intra-previsão mais prováveis para o bloco. Se o modo selecionado for um dos modos mais prováveis, o codificador de vídeo 20 pode sinalizar o modo de intra-previsão utilizando uma palavra-código de bit único (por exemplo, '0', ou '1') ou uma palavra-código consistindo de uma série de bits.
Ademais, o modo de intra-previsão mais provável pode ter um valor de índice na tabela de índice de modo de intra-previsão selecionada para o bloco com base no contexto de codificação do bloco. Erri particular, a tabela de índice de modo de intra-previsão pode incluir um valor de índice singular para cada modo de intra-previsão na tabela. Considere-se m como representando o valor do índice para o modo de intra-previsão mais provável. visto que a palavra-código para. o modo de intra-previsão mais provável pode ser sinalizada separadamente, a tabel-a de mapeamento não precisa incluir uma palavra-cõdigo adicional para c) modo de intra-previsão mais provável. Dessa forma, se o conjunto de modos de intra-previsão disponíveis possuir K + 1 eleinentos mapeados para uma faixa de índices variando de 0 para K, a tabela de mapeamento pode designar K palavras- código para os índices 0 a K-l. Para se determinar uma palavra-código de acordo com esse esquema il-ustrativo, supõe-se que o modo de intra- previsão selecionado não seja o modo de intra-previsão mais provável, e tenha um valor de índíce de modo de j. Deixemos o valor n representar o índice do modo de intra-previsão modificado correspondente a j. De acordo com a descríção anterior, a palavra-código que é mapeada para o índice n é sinalizada do codificador para o decodificador para indicar o modo intra-previsão selecíonado j. Se o valor de índice 5 de modo para o modo de intra-previsão selecionado for menor que o valor de índice de modo do modo de intra-previsão mais provável, então o codificador de vídeo 20 pode codificar a indicação do modo de intra-previsão utij-izado para codificar o bloco atual utilizando a palavra-código correspondente a j. Eií\ outras palavras, se j < m, então n = j. Por outro lado, se o valor de índice de modo para o modo de intra-previsão selecionado for maior que ou igual ao valor de índice de modo do modo de íntra-previsão mais provável, então o codificador de vídeo 20 pode codificar a indicação do modo de intra-previsão utilizado para codificar o bloco atual utilizando a palavra-código correspondente a j—l. Em outras palavras, se j > m, então n= j-l.
Em casos nos quais mais de um modo de intra- previsão mais provável é selecionado, o codificador de vídeo 20 pode sinalizar no fluxo de bits codificado se o modo selecionado é um dos modos de intra-previsão mais prováveis determinados utilizando um primeiro bit (por exemplo, '0' ou '1') ou uma série de bits. Se o rnodo selecionado for um dos modos de intra-previsão mais prováveís determinados, então o codificador de vídeo 20 pode sinalizar qual dos modos de intra-previsão mais provávei-s é o modo selecionado utilízando um segundo bit.
Se o modo selecionado não for um dos modos de intra- previsão mais prováveis deterininados, então o codificador de vídeo 20 pode sinalizar qual dos outros modos de intra- previsão é o modo selecionado utilizando uma palavra-código de uma tabela de mapeamento. Considerando-se novamente sem uma perda de generalidade de que o primeiro bít tem um valor de "0" para indicar que o modo selecionado é um dos modos de intra-previsão mais prováveis e o codificador de 20 determinar dois modos de intra-previsão mais prováveis,
5 então o codificador de vídeo 20 pode sinalizar qual dos dois modos de íntra-previsão mais prováveis é o modo selecionado com um valor de "00" ou "'01" onde o primeiro 0 representa o primeiro bit.
Se o modo selecionado não for um dos modos de intra-previsão mais prováveis, ent:ão o codificador de vídeo 20 pode sinalizar o modo selecionado pela sinalização de um primeiro bit de "1" seguido por uma palavra-código.
Ademais, os dois modos de intra-previsão mais prováveis podem possuir valores de índice na tabela de índice de modo de intra-previsão selecíonado para o bloco com base no contexto de codificação do bloco.
Em particular, a tabela de índice de modo de intra-previsão pode incluir um valor de índice singular para cada modo de intra-prevísão na tabela.
Deixemos Klj representar o valor do índice para o primeiro modo de intra-previsão mais provável e m2 representar o valor de índice pa.ra o segundo modo de intra-previsão mais provável.
Visto que a palavra- código para o primeiro modo de intra-previsão mais provável e o segundo modo mais provável pode ser sinalizada utilizando um primeiro bit e um segundo bit como descrito acima, a tabela de mapeamento não preci.sa incluir palavras- código adicionais para o primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão maís provável.
Dessa forma, se o conjunto de modos de intra- previsão mais prováveis possuir K + 1 elementos mapeados em uma faixa de índices variando de 0 a K, a tabela de mapeamento pode designar K -1 palavras-código para os índices de 0 a K-2.
Para se determinar uma palavra-código de acordo com esse esquema ilustrativo onde dois modos mais prováveis São identificados, supõe-se que o rnodo de intra-previsão selecionado não seja um dos modos de intra-previsão mais 5 prováveis, e possua um valor de índice de modo de j- D'eixemos o valor n representar o modo de intra-previsão modificado correspondente a j. De acordo com a descrição anterior, a palavra-código que é mapeada para o índice n é sinalizada a partir do codificador para o decodificador para indicar o modo de intra-previsão selecionado j. SE o valor de índice de modo para o modo de intra-previsão selecionado for menor que o valor de índice de modo do primeiro modo de intra-previsão mais provável,a então o codificador de vídeo 20 pode codificar a indicação do modo de intra-previsão utilizado par codificar o bloco atual utilízando a palavra-código correspondente a j. Em outras palavras. se j < m1, então n = j. Por outro lado, se o valor de índice de modo para o modo de intra-previsão selecionado for maior que ou igual ao valor de índice de modo do primeiro modo de intra-previsão mais provável, mas menor que o segundo modo de intra-previsão mais provável, então o codificador de vídeo 20 pode codificar a indicação do modo de intra-previsão utilizado para codificar o bloco atual utilizando a palavra-código correspondente a j-l. Em outras palavras, se j > ml e j < m2, então n = j - 1.
Finalmente, se o valor de índice de modo para o modo de intra-previsão selecionado for maior que o valor de índice de modo do primeiro modo de intra-previsão mais provável, e o segundo modo de intra-previsão mais provável, então o codificador de vídeo 20 pode codificar a indicação do modo de intra-previsão utilízado para codificar o bloco atual utilizando a palavra-código correspondente a j - 2. Em outra palavras, se j > m e j > m2, então n = j - 2. As tabelas de mapeamento para os modos de intra-previsão restantes podem ser construídas mais eficíentemente pela nova designação de índices de modo a compensar o fato de que os modos mais prováveis não estão incluídos nas tabelas 5 de mapeamento, que pode somar à economia de bít quando um ou mais modos mais prováveis não selecionados teriam palavras-código designadas.
O codificador de vídeo 20 pode, em algumas exemplos, ser configurado para iniciar a análise para a seleção de um modo intra—previsão com o modo mais provável, com base no contexto. Quando o modo mais provável alcança as características de distorção de taxa adequadas, em alguns exemplos, o codificador de vídeo 20 pode selecionar o modo mais provável. Em outros exemplos, c) codificador de vídeo 20 não precisa começar o processo de seleção com o modo mais provável.
Seguindo a codificação intra-previsível ou inter- previsível para produzir os dados de previsão e os dados residuais, e seguindo quaisquer transformações (tal como transformação de inteiro 4X4 ou 8x8 utilizada em H.264/AVC ou uma transformação de cosseno discreto DCT) para produzir coeficientes de transformação, a quantização dos coeficientes de transformação podem ser realizados. A quantização geralmente se refere a um processo em que os coeficientes de transformação são quantizados para possivelmente reduzir a quantidade de dados utilizados para representar os coeficientes. O processo de quantizacão pode D reduzir a profundidade de bit associada com alguns ou todos os coeficientes. por exemplo, um valor de n bits pode ser arredondado para baixo para um valor de m bi-ts durante a quarrtização, onde n é ínaior que m. Seguindo a quantização, a codificação por entropia dos dados quantizados pode ser realizada, por exemplo, de acordo com a codificação de comprimento variável adaptativa de conteúdo (CAVLC), codificação aritmética binária adaptativa de contexto (CABAC) ou outra metodologia de codificação por entropia. Uma unidade de 5 processamento configurada para codificação por entropia, ou outra unidade de processamento, pode realizar outras funções de processamento, tal corno codificação de comprimento de funcionamento zero de coeficientes quantizados e/ou geração de informação de sintaxe tal como valores de padrão de bloco codificados (CBP), tipo macro bloco, modo de codíficação, tamanho máxiino de macro bloco para uma unidade codificada (tal como um quadro, fatia, macro bloco ou sequência) e similares.
O decodificador de vídeo 30 pode, por fim, receber dados de vídeo codificados, por exemplo, do modeni ' 28 e receptor 26. De acordo com as técnicas dessa descrição, o decodificador de vídeo 30 pode receber uma palavra-código representativa de um modo de intra-previsão utilízado para codificar um bloco de dados de vídeo. A palavra-cõdígo pode ser codificada pelo codificador de vídeo 20 utilizando um processo CABAC e pode ser decodificada pelo decodificador de vídeo 30 utilizando um processo CABAC alternado. O decodificador de vídeo 30 pode ser configurado para determinar um contexto de codificação para o bloco de uma forma substancialmente similar ao codificador de vídeo 20. Ademais, o decodificador de vídeo 30 pode incluir dados de configuração similares ao codificador de vídeo 20, por exemplo, indícações de um modo mais provável, uma tabela de índice de modo de intra- previsão, e uma tabela de mapeamento para cada contexto de codificação. Quando é utilizado um modo de intra-previsão mais provável, um único bit pode ser utilizado para indicar se o modo de intra-previsão utilizado para codíficar o bloco é o modo mais provável. Se o modo selecionado for determinado como não sendo o modo mais provável, então o decodificador de vídeo 30 pode determin.ar o modo de intra-previsão 5 utilizado para codíficar o bloco de dados de vídeo de uma forma geralmente alternada desse codificador de vídeo 20. Especificamente, novamente deixemos n representar o índice do modo de intra-previsão modificado à qual uma palavra-código recebida na tabela de mapeamento é mapeada, j representa o índice de modo do modo de intra-previsão a ser utilizado para decodificar o bloco codificado e m representa o índice de modo do modo mais provável. Se o índice de modo de intra-previsão modificado n for menor que o índice de modo do modo mais provável m, então o decodificador de vídeo 30 pode decodificar o bloco codificado utilizando o modo de intra-previsão possuindo índíce n. Isso é, se n < m, então j - n. Por outro lado, se o índice de modo de intra-previsão modificado n for maior que ou igual ao índice de modo do modo mais provável m, então o codificador de vídeo 30 pode decodificar o bloco codificado utilizando o modo de intra-previsão possuindo índice n + 1. Em outras palavras, se n > m, então j = n +
1. Quando da utilização de dois ou mais modos de intra-previsão prováveis, se a palavra-código compreende um primeiro bit indicando um modo selecionado é um dos dois modos de intra-prevísão mais prováveis, então o decodificador de vídeo 30 pode determinar o mQdo de intra- previsão utilizado para codificar o bloco codificado com base em bits adicionais identificando qual dos dois modos de intra-previsão mais prováveis corresponde ao modo selecionado. Se o primeiro bit indicar que o modo selecionado não é um dos dois modos de intra-previsão mais prováveis, então o decodificador de vídeo 30 pode determinar o modo de intra-previsão utilizado para codificar o bloco de dados de vídeo de uma forma geralmente " alternada à do codificador de vídeo 20. 5 Especificamente, novamente deixemos n representar o índice de modo de intra-previsão modificado à qual uma palavra-código recebida na tabela de mapeamento é mapeada, j representa o índice de modo do modo de intra-previsão a ser utilizado para decodificar o bloco codificado, m representa o índice de modo do primeiro modo mais provável,
e m2 representa o índice de modo do segundo modo mais provável.
Como mencionado anteriormente, pode-se assumir que o índice de modo n é menor que o índice de rnodo do primeiro modo mais provável m, então o decodificador de vídeo 30 pode decodifícar o bloco codificado utilizando o modo de intra-previsão possuindo o índice n.
Isso é, se n <
Rl, então j = n.
Do contrário, se o índice de modo de intra-previsão modificado mais um (n + 1) for menor que o índice de modo para o segundo modo rnais provável m2, então o decodificador de vídeo 30 pode decodificar o bloco codificado utilizando o modo de intra-previsão possuindo o índice n + 1. Em outras palavras, se n + 1 < m2, então j = n + 1. Do contrário, c) decodificador de vídeo 30 pode decodificar o bloco codifiicado utilizando o modo de intra-
previsão possuindo o índice n + 2. Em outras palavras, se n
+ 1 > m2, então j = n+2. Para dois modos mais prováveis, o mapeamento dos índices de rnodo em índices de modo de intra-previsão modíficados, como realizado pelo codificador de vídeo 20, pode, dessa forma ser representado pelo seguinte pseudocódigo:
se (j > m2) n = j - 2 ou se (j > In1)
n = j - 1 ou n = j· 5 Para os N modos mais prováveis, onde m representa o primeiro ntodo mais provável e mN representa o modo mais provável N, o mapeamento dos índices de modo em índices de modo de intra-previsão modificados, como realizado pelo codificador de vídeo 20 pode, B dessa forma, ser representado pelo seguinte pseudocódigo:
. se (j > InN) N = j - N ou se (j > mN-1)
n = j - N + 1
0 q 0 0 ou se (j > m2) n = j - 2 ou se (j > m) n "' j — 1 ou n = j· Para os dois inodos mais prováveis, o mapeamento de um índice de modo de intra-previsão modifícado para um índice de modo, como realizado pelo decodificador de vídeo 30, pode, dessa forma, ser represerrtado pelo seguinte pseudocódigo:
se (n < m) j - n; ou se (n + 1 < m2)
j = n + 1;
ou j = n + 2 para N modos mais prováveis, o mapeamento de um índice de modo de intra-previsão modificado para um índice de modo, com realizado pelo decodificador de vídeo 30, pode, dessa forma, ser representado pelo seguinte 5 pseudocódigo: se ( n<m1 ) j = n; ou se (n + 1 < m2) j = n + 1; ou se (n + 2 < m) j = n + 2; ou se (n + 3 < m4) j = n + 3; ou se (n + (N-l) < mN j = n + (N -1) ou j = n + N.
I De acordo com as técnicas dessa descrição, os modos também podem ser rnapeados diretamente em índices de palavra-código que indicam as palavras-código correspondentes. De uma forma similar aos índices de modo de intra-previsão modificados descritos acima, ao invés de enviar a palavra-código com um índice correspondente ao índice de modo, uma economia de bit pode ser alcançada pelo / envio de uma palavra-código com um índice de pal-avra-código modificado, onde a modificação é urn resultado de utilização de índices de palavra-código originalmente associados com os modos mais prováveis para indicar os modos que não são os modos mais prováveis. visto que os modos mais prováveis são sinalizados utili7ando-se um bit inicial ou série de bits como descrito acima, os rnodos mais prováveis podem ser excluídos da consideração quando da sinalização de um índice de palavra-código de um modo que não é um dos modos mais prováveis. Como resultado disso, um índice de palavra- códígo que é Qriginalmente mapeado para um dos modos mais prováveis pode ser utilizado para indicar um modo que não é 5 um dos modos mais prováveis. Independentemente de se a palavra-código é mapeada para um índice de modo intra- previsão modificado ou um índice de palavra-código modificado, a palavra-código pode ser codificada utilizando-se um processo CABAC.
Assumindo-se, por exemplo, dois modos de intra- previsão mais prováveis utilizados, como com os modos de intra-previsão modificados acima, se o conjunto de modos de intra-previsão disponíveis possuir K+l elementos mapeados para uma faixa de índices de palavra-código variando de 0 para K, a tabela de índices de palavra-código modificadas pode designar K - 1 palavras-código para os índices de palavra-código de 0 a K-2.
Assumindo-se que C represente um índice de palavra-código e Cmod represente um índice de palavra-código modificado. Assume-se adicionalmente que Cm, represente o índice de palavra-cõdigo mais baixo de um modo mais provável, Cm2 represente o segundo índice de palavra-código niais baíxo correspondente a um modo rnais provável e assim por diante. Como será explicado em maiores detalhes abaixo, o mapeamento de modos em índices de palavra-códígo pode ser dinâmico. Dessa forma, um primeiro modo mais provável com um índice de modo mais baixo também pode não ter um índice de palavra-código mais baixo. De acordo, Cm1 pode não corresponder necessariamente a um primeiro modo mais provável, C,q pode não corresponder a um segundo modo mais provável, e assim por diante. Para os N modos mais prováveis, o mapeamento dos índices de palavra-código em índices de palavra-código modificados, como realízado pelo codificador de vídeo 20, pode dessa forma ser representado \ pelo seguinte pseudocõdigo: se (C Z CJ Cmod = C — N 5 ou se (C Z CmN-1 Ç,,,,,d = C - N + 1
D Q V ou se (C > Cm2) Cmod = C - 2 ou se (C > C,,j) Cmod = C— 1 ou CInod = C· Para N modos mais prováveis, o mapeamento de índices de palavra-código em índices de palavra-código, como realizado pelo decodificador de vídeo 30, ainda pode ser representado pelo pseudocódigo a seguir: se (C > Cml) C = Cmod ou se (CInQd + 1 < CIn2 ) C = Crnod + 1 ou se (Cmod + 2 < C,n3 ) C = Cmod + 2; ou se ( CmDd + 3 < Cm4 ) C = Cmod + 3; V « * ou se (Cmod + (N-l) < C,nN C = Cmod + (N-l) ou C = Cmod + N.
O codificador de vídeo 20 e o decodificador de vídeo 30 podem, cada um, ser implementados como qualquer um dentre uma variedade de conjuntos de circuito de codificador ou decodificador adequados, como aplicável, tal com um ou mais microprocessadores, processadores de sinal digital (DSPS), circuítos integrados específicos de 5 aplicativo (ASICs), conjuntos de porta programáveis em campo (fpgas), conjunto de circuito lógico discreto, software, hardware, firmware ou qualquer combinações dos mesmos. Cada codificador de vídeo 20 e decodificador de vídeo 30 pode ser incluído em um ou mais codificadores ou decodificadores, qualquer um dos quais podendo ser integrado como parte de um codificador/decodificador de vídeo coMbinado (CODEC). Um aparelho incluindo um codificador de vídeo 20 e/ou decodificador de vídeo 30 pode compreender um circuito integrado, um microprocessador, e/ou um dispositivo de comunicação sem fio, tal como um telefone celular. A figura 2 é um diagrama em bloco ilustrando um exemplo do codificador de vídeo 20 que pode implementar técnicas para codificação de informação indicativa de um modo de intra-codificação. O codificador de vídeo 20 pode realizar a intra e inter-codificação de blocos dentro dos quadros de vídeo, incluindo macroblocos, ou partições ou subpartições de macroblocos. A intra-codificação se baseia em previsão espacial para reducão ou remoção de redundância > espacial em vídeo dentro de um determinado quadro de vídeo.
A inter-codificacão se baseia em previsão temporal para » redução ou remoção de redundância temporal em vídeo dentro de quadros adjacentes de uma sequência de vídeo. O modo de inter-previsão (modo I) pode se referir a qualquer um dos modos de compressão baseados em espaço e os intermodos tal como previsão unidirecional (modo P) ou previsão bidirecional (modo B) podem se referir a quaisquer inodos de compressão com base em tempo. Apesar de os componentes para a codificação intermodo serem descritos na figura 2, deve- se compreender que o codificador de vídeo 20 pode incluir adicionalmente componentes para a codificação de modo de intra-previsão. No entanto, tais componentes não são 5 ílustrados para fins de brevidade e clareza.
Como ilustrado na figura 2, o codificador de vídeo 20 recebe um bloco de vídeo atual dentro de um quadro de vídeo a ser codifícado. No exemplo da figura 2, o codificador de vídeo 20 inclui a unidade de compensação de movimento 44, a unidade de estimativa de movimento 42, a memóría 64, o somador 49, o módulo de transformação 52, a unidade de quantização 54, e a unidade de codifícação por entropia 56. Para a reconstrução de bloco de vídeo, o codificador de vídeo 20 também ínclui a unidade de quantização invertida 58, o módulo de transformação invertida 60, e o somador 62. Urn filtro de desbloqueio (não ilustrado na figura 2) pode também ser incluído para filtrar os limites de bloco para remover artefatos de bloqueio do vídeo reconstruído. Se for desejável, o filtro de desbloqueio filtrará tipicamente a saída do somador 62. Durante o processo de codificação, o codificador de vídeo 20 recebe um quadro de vídeo ou fatia para ser codificado. O quadro ou fatia pode ser dividido em múltiplos blocos de vídeo. A unidade de estimativa de movimento 42 e a unídade de cornpensação e movímento 44 realizam a codificação inter-previsão do bloco de vídeo recebido com relação a um ou maís blocos em um ou mais quadros de referência para fornecer compressão temporal. O módulo de intra-previsão 46 pode realizar a codificação de intra-previsão do bloco de vídeo recebido com relação a um ou mais blocos vizinhos no mesmo quadro ou fatia que o bloco a ser codificado para fornecer compressão espacial.
A unidade de seleção de modo 40 pode selecionar um dos modos de codificação, intra ou inter, por exemplo, com base em resultados de erro e com base em um tipo de quadro ou fatia para o quadro ou fatia incluindo um bloco 5 atual sendo codificado, e fornece o bloco intra ou inter- codificado resultante para o somador 49 pa.ra geração dos dados de bloco residuais e para o somador 62 para reconstrução do bloco codificado para uso em um quadro de referência ou fatia de referência.
Em geral, a intra- lO previsão envolve a previsão de um bloco atual com relação a blocos vizinhos codificados anteriormente, enquanto a inter-previsão envolve a estimativa de movimento e compensação de movimento para prever temporariamente o bloco atual.
A unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 representam os elementos de inter-previsão do codificador de vídeo 20. A unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 podem ser altamente integradas,
mas são ilustradas separadamente para fins conceituais.
A estimativa de movimento é o processo de geração de vetores de movimento, que estima o movimento para os blocos de vídeo.
Um vetor de movimento, por exemplo, pode indicar o deslocamerrto de um bloco de previsão dentro de um quadro de referência de previsão (ou outra unidade codificada) "com relação ao bloco atual sendo codificado dentro do quadro atual (ou outra unidade codificada). Um bloco de prevísão é urrt bloco que é combina de perto com o bloco a ser codificado, em termos de diferença de pixel, que pode ser determinada pela soma da diferença absoluta (SAD), soma da diferença quadrada (SSD), ou outras métricas de diferença.
Um vetor de movimento também pode indicar o deslocamento de \
uma partição de um macro bloco.
A compensação de movimento pode envolver a coleta ou geração do bloco de previsão com base em um vetor de movimento determinado pela estimativa de movimento.
Novamente, a unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 5 podern ser integradas de forma funcional, em alguns exemplos.
A unidade de estimativa de movimento 42 calcula um vetor de movimento para o bloco de vídeo de 'um quadro inter-codificado pela comparação do bloco de vídeo com os blocos de vídeo de um quadro de referência no armazenador de quadro de referência 64. A unidade de compensação de movimento 44 também pode interpolar os pixels subinteiros do quadro de referência, por exemplo, um quadro I ou um quadro P.
O padrão ITU H.264, como um exemplo, descreve duas listas: lista 0, que inclui quadros de referência possuindo uma ordem de exibição arrterior a um quadro atual sendo codificado, e a lista 1, que inclui os quadros de referência possuindo uma ordem de exibição posterior ao quadro atual sendo codificado.
Portanto, os dados armazenados no armazenador de quadro de referência 64 podem ser organizados de acordo com essas listas.
A unidade de estimativa de movimento 42 compara os blocos de um ou mais quadros de referência a partir do armazenadç)r de quadro de referência 64 com um bloco a ser codificado de um quadro atual, por exemplo, um quadro P ou um quadro B.
Quando os quadros de referência no armazenador de quadro de referência 64 íncluem valores para pixels subinteiros, um vetor de movimento calculado pela unidade" de estimativa de movimento 42 pode fazer referência a uma localização de pixel subinteiro de um quadro de referência.
A unidade de estimativa de movimento 42 e/ou a unidade de compensação de movimento 44 também podem ser configuradas para calcular valores para as posições de pixel subinteiro dos quadros de referência armazenados no armazenador de quadro de referência 64 se nenhuin valor para as posições de pixel subinteiro for armazenada rio armazenador de quadro de referêncía 64. A unidade de estimativa de movimento 42 5 envia o vetor de movimento calculado para a unidade de codificação por entropia 56 e a unidade de compensação de movimento 44. O bloco de quadro de referência identificado por um vetor de movimento pode ser referido com um bloco de previsão. A unidade de compensação de movimento' 44 pode calcul-ar os dados de previsão com base no bloco inter- previsão.
O módulo de intra-previsão 46 pode intra-prever um bloco atual, como uma alternativa para a inter-prevísão realizada pela unidade de estimativa de movimento 42 e unidade de compensacão.> de movirnento 44, como descrito acima. em particular, o módulo de intra-previsão 46 pode determinar um modo de intra-previsão a ser utilízado para a codificação de um bloco atual. Em alguns exemplos, o módulo de intra-previsão 46 pode codificar um bloco atual utilizando vários modos de intra-previsão, por exemplo, durante passagens de codíficação separadas, e o módulo de intra-previsão 46 (ou unidade de seleção de modo 40, em alguns exemplos) pode selecionar urn modo de intra-previsão adequado para ser utilizado a partír dos modos testados. Por exemplo, o módulo de intra-previsão 46 pode calcular os valores de distorção de taxa utilizando uma análise de distorção de taxa para os vários modos de intra-previsão testados, e selecionar q modo de intra-previsão possuindo as melhores características de distorção de taxa entre os modos testados. A análise de distorção de taxa geralmente determina uma quantidade de distorção (ou erro) entre um bloco codificado e um bloco original não codificado que foi codificado para produzir o bloco codificado, além de uma taxa de bits (isso é, um número de bits) utilizada para produzir o bloco codificado.
O mõdulo de intra-previsão 46 pode calcular as razões das distorções e taxas para os vários blocos codificados para determinar qual modo de 5 intra-previsão exibe o melhor valor de distorção de taxa para o bloco.
Em qualquer caso,, depois da seleção de um modo de intra-previsão para um bloco, o módulo de intra-previsão 46 pode fornecer informação indicativa do modo de intra- lO previsão selecionado para o bloco para a unidade de codificação por entropia 56. A unidade de codificação por entropía 56 pode codificar a informação indicando o modo de intra-previsão selecionado utilizando CABAC de acordo com as técnicas dessa descrição.
Como ilustrado na figura 2, o codificador de vídeo 20 pode incluir dados de configuração 66, que podem incluir uma pluralidade de tabelas de índice de modo de intra-previsão e uma pluralidade de tabelas de índice de modo de intra-previsão rnodificadas (também referidas como tabelas de mapeamento de palavra-código), definições dos contextos de codificação para vários blocos, e indicações de um modo de intra-previsão mais provável,
uma tabela de índice de modo de intra-previsão, e uma tabela de índice de Inodo de intra-previsão modificada para uso para cada um dos contextos.
A Tabela 1 abaixo representa um exemplo de índices de modo de inti:a-previsão, modos de intra-previsão correspondentes, e uma indicação de quais dos modos é o modo mais provável para um contexto em partícular.
A tabela 1 também ilustra os índices de modo de intra-previsão modificados que mapeiam cada índice de modo, nesse exemplo em particular.
A Tabela 2 fornece uma tabela de mapeamento ílustrativa que mapeia as palavras-código para os índices de modo de intra-previsão modifícados que correspondeni ge'ral-mente aos índices de modo da Tabela 1. Como díscutido abaixo, mais de um modo mais provável pode ser utilizado, mas os exemplos das Tabelas 1 e 2 assumem apenas um modo mais provável sendo util-izado. Devido ao fato de apenas um 5 modo mais provável ser utilizado, a Tabela 2 inclui uma entrada menor que a Tabela 1. visto que o modo mais provável é sinalizado separadamente dos modos restantes, o índice de modo 5 não possui uni índice de modo de intra- previsão modificado correspondente. De forma similar, a Tabela 2 não precisa incluir uma palavra-código para o modo mais provável.
Tabela 1 ndice de Modo : Mais Provável Índice de Modo Modo Intra- previsão Modificado 0 DC NAO 0 1 Vertical NÃO 1 2 Horizontal NÃO 2 3 diagonal para NÃO 3 baixo/direita 4 Diagonal para iSWoÀ 4 baixo/esquerda 5 Vertical para ~ X a direita 6 Vertical para NÃO 5 a esquerda 7 Horizontal NÃO 6 para cima Horizonta1 7 para baixo Tabela 2
Indice de Modo de I-ntra- palavra-código previsão MQdificado
0 000 1 001 2 010
3 011 4 100 5 101 6 110 7 111 Para fíns de exemplo, deixemos m representar o índice de modo do modo mais provável da Tabela 1, e deixemos n representar o índice do modo de intra-previsão modificado correspondente a j.
Se o rnodo selecionado for o
5 modo mais provável, então um prirrieiro bit (por exemplo, '0') é utilizado para representa o modo, nesse exemplo, e o modo é determinado como o modo mais provável, como indicado pela Tabla 1 (vertical para direita, nesse exemplo). Se 'um primeiro bit além de 0 (isso é, um "1'") for enviado, então o modo não é o modo mais provável.
Deixemos n corresponder ao índice de modo intra-previsão modificado indicado pela palavra-código que é enviada para representar o modo.
A palavra-código que é mapeada para o índice n é sinalizada a partir do codificador para o decodificador para indicar o modo de intra-previsão selecionado j.
Se o valor de índice de modo para o modo de intra-previsão selecionado for menor que o valor de índice de modo do modo de intra-previsão mais provável, então o codificador de vídeo 20 pode codificar a indicação do modo de intra-previsão utilizado para codificar o bloco atual utilizando a palavra-código correspondente a j.
Em outras palavras, se j < m, então n = j.
Por outro lado, se o valor de índice de modo para o modo de intra-previsão selecionado for maior que ou igual ao valor de índice de modo do modo de intra-previsão mais provável, então o codificador de vídeo 20 pode codificar a indicação do modo de intra-previsão utilízado para codificar o bloco atual utilizando a palavra-código 5 correspondente a j - 1. Em outras palavras, se j > m, então n = j-l.
Um decodificador, tal como o decodificador 30 realizará geralmente o mapeamento oposto do codificador 20. Dessa forma, o decodificador 30 pode determinar que se n < m, então o índice de modo é igual a n. Por outro lado, se n Z m, então o índice de modo é igual a n+1. Em outras palavras, se o índice de modo intra-previsão modificado (por exemplo, o índice de modo intra-previsão modificado a partir da Tabela 2 correspondendo à palavra-código que é enviada) for maior que ou igual ao índice do modo mais provável (a partir da Tabela 1, nesse exemplo), então o modo de intra-previsão é de fato indicado por n+1, ao invés de n. Dessa fornía, quando o índice de modo para o modo de intra-previsão utílizado para codificar o bloco atual (por exernplo, n + 1) é maior que o índice para o modo de codificação mais provável (m), a palavra-código utilizada para representar o modo de intra-previsão selecionado corresponde a um índice de modo de intra-previsão modificado (n) que é uma vez menor que o índíce de modo (n+1) para o modo intra-previsão utilizado para codificar o bloco atual.
Como um exemplo com relação aos exemplos das Tabela 1 e 2, supondo-se que para um bloco atual, que possui um contextó indicando um modo mais provável de vertical para a direi.ta, o modo selecionado seja horizontal para baixo. O índice m para o modo mais provável é 5, nesse exemplo, enquanto que o índice de modo para o modo selecíonado (de acordo com a Tabela 1) é 8. Nesse exernplo,
v.ísto que o índice de modo para o modo selecionado é maior que o í.ndice de modo para o modo mais provável, então n = j-l, onde n é o índice de modo de intra-previsão modificado e é igual a 7. Dessa forma, com a Tabela 2 o codificador de 5 vídeo 20 utilizará a palavra-código 11l para representar o modo selecionado, nesse exemplo. A palavra-código 111 pode seguir um bit inicial indicando que o modo selecionado não é um modo mais provável. De acordo, o codificador de vídeo 30 (figuras 1 e 4) receberão o bit ini.cial e palavra-código 111 e determinarão que o valor de n é 7. visto que 7 é maior que 5 (isso é, n > m) nesse exemplo, o decodificador de vídeo 30 recuperará o modo da Tabela 1 possuindo o índice de modo n + 1, que é 9, correspondendo a horizontal para baixo, nesse exeinplo.
Como outro exemplo, novamente com relação aos exemplos das Tabelas 1 e 2, supõe-se que para o bloco atual, o modo selecionado seja dc. Novamente, o índice m para o modo mais provável é 5 nesse exemplo enquanto o índice de modo para o modo selecionado (de acordo com a Tabela 1) é 0. Nesse exemplo, visto que o índice de modo para o modo selecionado é menor que o índice de modo para o modo mais provável, o índice de modo é igual a n, onde n é o índice de modo de intra-previsão modificado. Dessa forma, com a Tabela 2 o codíficador de vídeo 20 utilizaría a ' palavra-código 000 para representar q modo selecionado, nesse exemplo. A palavra-código 000 seguiria um bit inicial indicando que o modo selecionado não é um modo mais provável. De acordo, o decodificador de vídeo 30 (figuras 1 e 4) receberá o bit inicial e a palavra-código 000 e determinará que o valor de n é 0. visto que 0 é menor que 5 (isso é, n < m) nesse exemplo, o decodificador de vídeo 30 recuperará o modo a partir da Tabela 1 possuindo o índice de modo n, que é 0, correspondendo ao DC, nesse exemplo.
a tabela 3 abaíxo r'epresenta ülll exemplo de índices de modo de intra-previsão, modos de intra-previsão correspondentes, e uma indicação de quais dos modos é o modo mais provável para um contexto em partícular. A tabela 5 3 também ilustra os índices de modo de intra-previsão modificados que mçpeiam em cada índice de modo, nesse exemplo em particular. A tabela 4 fornece uma tabela de mapeamento ilustrativa 'que mapeia as pal-avras-código em índices de modo de intra-previsão modificados que geralmente correspondem aos índices de modo da Ta.bela 3.
Como discutido acima, mais de dois modos mais prováveis também são utilizados, mas os exemplos da Tabela 3 e 4 assumem que apenas dois modos mais prováveis sejam utilizados. visto que dois modos mais prováveis são utilízados, a Tabela 4 contém duas entradas menores que a Tabela 3.
Tabela 3 Índice de Modo Mais Provável Índice de Modo Modo Intra- previsão Modificado 0 DC NÃO 0 1 Vertical NÃO 1 2 Horizontal NÃO 2 "7 -J l díagonal para NÃO 3 I baixo/direita 4 · Diagonal para SIM X jbaixo/esquerda 5 Vertical para im 4 a direita 6 Vertical para SIM X a esquerda
7 Horizontal NÃO 5 para cima 8 Horizontal im 6 para baíxo Tabela 4 Índice de Modo de Intra Palavra-código previsão Modificado 0 000 1 001 2 010 3 011 4 100 5 101 6 110 Em particular, deixemos m representar o índíce de modo do primeiro ínodo mais provável na Tabela 3, e m2 representar o índice de modo do segundo modo mais provávej-.
5 Se o modo selecionado Íior um dos modos mais prováveis, então um primeiro bit (por exemplo, "0") é utilizado para sinalizar que o modo é um dos dois modos mais prováveis. Se o modo for um dos dois modos mais prováveis, então um Segundo bit é utilizado para sinalizar qual dos dois modos lo inais prováveis corresponde ao modo selecionado. Dessa forrna, os dois modos mais prováveis podem ser sinalizados com sequências de bit inicial de "00" e "01" respectivamente. Se um primeiro bit além de "0" (isso é, um "1") for enviado, então o modo selecionado não é um dos dois modos mais prováveis. Deixemos n corresponder ao índice de modo de intra-previsão modificado indicado pela palavra-código que é enviada para representar o modo.
O codificador de vídeo 20 pode determinar o índice de modo do modo selecíonado (j) e mapear o índice de modo para um índice de modo modificado (n). Se j Z m2, então n = j-2. Do contrário, se j > m,, então n = j-la. Do contrário, n = j. O decodificadQr de vídeo 30 recebe o índice de modo de intra-previsão modificado (n) e pode 5 comparar primeiro n com m" Se n < m,, então c) índice de modo (j) é igual a n. Se m não for menor que m, então n+1 pode ser comparado com m2. Se n+1 < m2, então o índice de modo é igual a m. Do contrário, o índice de modo é igual a n2.
Como um exemplo com relação aos exemplos das Tabelas 3 e 4, supõe-se que para um bloco atual, que possui um contexto indicando os rnodos mais prováveis de vertical para a esquerda e diagonal para baixo e para a esquerda, o modo selecionado seja o horizontal para baixo. Os índices m e m2 para os modos mais prováveis são 4 e 6, nesse exemplo, enquanto o índice de modo j para o modo selecionado (de acordo com a Tabela 3) é 8. Nesse exemplo, visto que o índice de modo para o modo selecionado é maior que o índice de modo para ambos os modos mais prováveis, o índice de modo j é igual a n + 2, onde n é igual ao índice do modo de intra-previsão modificado na Tabela 4. Dessa forma, se o índice de modo j for igual a 8, então n = 6.
Dessa forma, o codificador de vídeo 20 utilizaria a palavra-código 110 para representar o modo selecionado, nesse exemplo. De acordo, o decodificador de vídeo 30 (figuras 1 e 4) receberá a palavra-código 110 e determinará que o valor de n é 6. Visto que 6 não é menor que 4 (isso é, n > m) e 6 mais 1 não é menor que 6 (isso é, n+l Z m2) nesse exemplo, o decodificador de vídeo 30 recuperaria o modo da Tabela 3 possuindo um índice de modo j igual a n + 2, que é 8, correspondendo ao horizontal para baixo, nesse exemplo.
Como outro exemplo, novame'nte com relação aos exemplos das Tabelas 3 e 4, supõe-se que para o bloco atual, o modo selecionado é DC. Novamente, os índices Klj e m2 para os modos mais prováveis são 4 e 6, nesse exemplo, 5 enquanto o índice de modo j para o modo selecionado (de acordo com a Tabela 3) é 0. Nesse exemplo, visto que o índice de modo para o modo selecionado é menor que os índices de modo para ambos os modos mais prováveis (isso é, n < m), o índice de modo j é igual a n, onde n é igual ao índice do modo de intra-previsão modificado na Tabela 4.
Dessa forma, n é igual a 0. Dessa forma, com base na Tabela 4 o codificador de vídeo 20 utilizaria a palavra-código 0 para representar o modo selecionado, nesse exemplo. A palavra-código 000 segue um bit inicial ou séríe de bits indicando o modo selecionado não é um modo mais provável.
De acordo, o decodificador de vídeo 30 (figuras 1 e 4) receberá o bit inicial ou série de bits e a palavra-código 000 e determinará que o valor de n é 0. visto que 0 é menor que 4 e 6 (isso é, n < m1) nesse exemplo, o decodificador de vídeo 30 recuperaria o modo da Tabela 3 possuindo o índice de modo j que é igual a n, que é 0, correspondendo a DC, nesse exemplo. Como outro exernplo com relação aos exemplos das Tabelas' 3 e 4, supões-se que para um bloco atual o modo selecionado é vertical-direito. Os índices IIlj e m2 para os modos mais prováveis são 4 e 6, nesse exemplo, enquanto o índice de modo j para o modo selecionado (de acordo com a Tabela 3) é 5. Nesse exemplo, visto que o índice de modo para o mQdo selecionado é maior que ou igual ao índice de modo para o primeiro modo mais provável, mas menor que o índice de modo para o segundo modo mais provável, o índice - de modo j é igual a n+1, onde n é igual ao índice do modo de intra-previsão modificado na Tabela 4. Dessa forma, se o índice de modo j for 5, então n = 4. Dessa forma, o codificador de vídeo 20 utilizaria a palavra-código 110 para representar o modo selecionado, nesse exemplo.
A palavra-código 110 segue um bit inicial ou série de bits 5 indicando que o modo selecionado não é um modo mais provável.
De acordo, o decodificador de vídeo 30 (figuras 1 e 4) receberia o bit inicial e série de bits e a palavra- código 110 e determina que o valor de n é 4. Visto que 4 é maior que ou igual a 4, mas 4 mais 1 é menor que 6 (isso é, - n > m, mas n+l < Irl2) nesse exemplo, o decodificador de vídeo 30 recuperaria o modo da Tabela 3 possuindo o índice de modo j igual a n+1, que é 5, correspondente a vertical- direito, nesse exemplo.
Deve-se compreender que as Tabelas 1, 2, 3 e4 são meramente exemplos de tabelas de modos mais prováveis, í'ndices para os modos, e palavras-código designadas para v'ários índices.
Em outros exemplos, outros modos podem ser 'determinados como o mais provável, por exemplo, com base no C'ontexto de codificação para um bloco determinado.
Por exemplo, o modo mais provável pode ser determinado com base nos modos de codificação utilizados para codificar os blocos vizinhos da esquerda e de cima.
Os dados de configura.ção 66 podem incluir uma pluralidade de tabelas diferentes associadas corn os diferentes rnodos de codificação identificados conio sendo o modo mais provável, geralmente similar aos exemplos das Tabelas 1 e 3. Da mesma forma, os dados de configuração 66 podem incluir uma pluralidade de tabelas de mapeamento de palavra-código, tal como as Tabelas 2 e 4, que mapeiam índices em pa1avras- código.
Em geral, as tabelas 1 e 3 podem ser referidas como tabelas de índíce de modo, enquanto as tabelas 2 e 4 podem ser referidas como tabelas de mapeamento de índice de modo de intra-previsão modificadas, ou simplesmente tabelas de mapeamento. Como notado acima, as tabelas 1 e 2 são meramente um exemplo de uma tabela de índice de modo e uma tabela de mapeamento. Em alguns exemplos, os dados de 5 configuração 66 podem íncluir dados para uma pluralidade de tabelas de índice de inodo e uma pluralidade de tabelas de mapeamento. Em alguns exemplos, múltiplos contextos de codificação podem corresponder a uma tabela de índice de modo comum. Da mesma forma, múltiplas tabelas de índice de modo podem ser mapeadas em uma tabela de mapeamento comum.
De acordo com as técnicas dessa descrição, os modos também podem ser mapeados em índices de palavra- código ao invés de índices de modo de intra-previsão modificados. Os índices de palavra-código podem então ser mapeados em índices de palavra-código modificados, que são utilizados para consultar as palavras-código. A Tabela 5 abaixo representa um exemplo de índices de modo de intra- previsão e modos que são mapeados em um índice de palavra- código. A Tabela 5 também ilustra uma índicação de quais modos são os modos mais prováveis para um contexto em particular, e ilustra os índices de palavra-código modificados correspondendo aos índices de palavra-código para esse exemplo em partícular. Tabela 5 Índíce I Modo I Mais I Índice I Índice de i de Modo I i provável i de I Modo Intra- jPalavra-| previsão l código ! Modificado 0 I DC i NÃO i 3 i 2 1 i Vertical : NÃO l 0 : 0 2 Horizontal NÃO 4 3 3 I diagonal para I SIM : 5 I X baixo/direita 4 DiagQnal para m 6 4 baixo/esquerda 5 Vertical para NÃO 1 1 a direita 6 Vertical para SIM 2 X a esquerda 7 Horizontal NÃO 7 5 para cima
8 Horizontal NÃO 8 6 para baixo
Tabela 6 Índice de Modo de Intra- Palavra-código previsão Modificado
0 000 1 001 2 010 3 011 4 100 5 101 6 110 Para fins de exernplo, deixemos Cml represente um índice de palavra-código de urn modo mais provável e Cm2 represente um índice de palavra-código de outro rnodo mais
5 provável, onde Cm1 possui um menor valor de índice de palavra-código que Cn,2. Como discutido acima, C,,j e C,n2 são determínados cóm base nos valores de índice de palavra- código em oposição aos valores de índice de modo.
Dessa forma, Cm1 pode não corresponder necessariamente ao lO primeiro modo mais provável, e Cm2 pode não necessariamente corresponder ao segundo modo mais provável.
No exemplo da
Tabela 5, por exemplo, o modo 3 (diagonal para baíxo/direita) é o primeiro modo mais provável, visto que possui o menor índice de modo dos modos mais provãveis, e o modo 6 é o segundo rnodo mais provável.
O segundo rnodo mais provável, no entanto, possui um índice de palavra-código 5 correspondente mais baixo do que o primeiro modo mais provãvel.
Dessa forma, no exemplo da Tabela 5, Cml corresponde ao índice de palavra-código do segundo modo mais provável, e Cm2 corresponde ao índice de palavra- código do primeiro modo mais provável.
Na descrição a seguir é considerado que Cml seja menor que Cm2. Se o modo selecionado for um dos modos mais prováveis, então um primeiro bit (por exemplo, "0") é utilizado para sinalizar que o modo é um dos dois inodos mais prováveis.
Se o modo for um dos dois modos mais prováveis, então um segundo bit é utilizado para sinalizar, qual dos dois modos mais prováveis corresponde ao modo selecionado.
Dessa forma, os dois modos mais prováveis podem ser sinalizados com as sequências de bit iniciais de "00" e "01", respectivarnente.
Se um primeíro bit além de "0" (isso é, "1'") for enviado, então o modo sej-ecionado não é um dos dois modos mais prováveis, e o modo selecionado é enviado coitio uma palavra-código correspondendo a um índice de palavra-código.
Ao invés de enviar uma palavra-código que corresponde diretamente a um índice de palavra-código para o modo selecíonado, no entanto, uma economia de bit pode ser alcançada pelo codificador de vídeo 20 enviando uma palavra-código correspondendo a um índice de palavra- código modificado.
O decodificador de vídeo 30 pode receber a palavra-código correspondendo ao índice de palavra-código rnodificado e então determinar o índice de paj-avra-código correspondendo ao modo de intra-previsão selecionado.
O codificador de vídeo 20 pode determinar o índice de palavra-código do modo selecionado (C) e mapear o índice de modo para o índíce de modo modificado (CmQd). Se C Z Cm2, então Cmod = C - 2. Do contrário, se C > C,,j, então CmDd = C - 1. Do contrário, Cmod = C. O decodificador de vídeo 30 recebe o índice de modo de intra-previsão 5 modificado (CmQd) e pode primeiro comparar o mesmo com Cm1.
Se Ç,,,,d < Cm1, então o índice de modo (C) é igual a C,mod. Se Cmod não for menor que Cml, então Cmo,i + 1 pode ser comparado com Cm2. Se C,,,Q,í + 1 < Cm2, então o índice de modo é igual a Cmod + 1. Do contrário, o índice de modo é igual a Cmod + 2.
Corno um exemplo com relação aos exemplos das Tabelas 5 e 6, supõe-se que para um bloco atual, que possui um contexto indicando os modos mais prováveis de vertical- esquerda (índice de modo 6) e diagonal para baixo/direita (índice de modo 3), o modo selecionado seja horizontal/para baixo (índice de modo 8). Os índices de palavra-código Cm1 e Cm2 para os modos mais prováveis são 2 e 5, nesse exemplo, enquanto o índice de modo para o modo selecionado (de acordo com a tabela 5) é igual a 8. De acordo com a Tabela 5, os índices de inodo 3, 6 e 8 mapeiam em índices de palavra-código 5, 2 e 8, respectivamente. Nesse exemplo, visto que o índice de palavra-código para o modo selecionado (isso é, o índice de palavra-código 8) é maior que os índices de palavra-código para ambos os modos mais prováveis (isso é, índices de palavra-código 5 e 2), o índice de palavra-código é igual a CmQd + 2, onde Cmod é igual ao índice de palavra-código modificado correspondendo a uma palavra-código na Tabela 6. Dessa forma, se o índice de palavra-código do modo selecionado for igual a 8, então Cmod a= 6. Dessa forma, o codificador de vídeo 20 pode utilizar a palavra-código 110 para representar o modo selecionado, nesse exemplo. De acordo, o decodificador de vídeo 30 (figuras 1 e 4) receberá a palavra-código 110 e determinará que o valor de Cmod = 6. Como 6 não é menor que
2 (isso é C,qq,Í Z Cmj) e 6 mais 1 não é menor que 5 (isso é, Cmod + 1 Z Cm2) nesse exemplo, o decodificador de vídeo 30 recuperará o modo da Tabela 5 possuindo o índice de modo Cmod + 2, que é 8, correspondendo a horizontal-para baixo, 5 nesse exemplo.
Como outro exemplo, novamente com relação aos exemplos das Tabelas 5 e 6, supões que para o bloco atual, o rnodo selecionado seja vertical (índice de modo 1 e índice de palavra-código 0). Novamente, os índices C,,j e Cm2 para lO os modos mais prováveis são 5 e 2. Nesse exemplo, visto que o índice de palavra-código para o modo selecionado é menor que os índices de palavra-código para ambos os modos mais prováveis (isso é, C < Cm1), o índice de palavra-código modificado C,nod e igual ao índice de palavra-código. Dessa forma, o codificador 20 utilizaria a palavra-código 000 para representar o modo selecionado, nesse exempl-o. A palavra-código 000 segue um bit inicial ou série de bits indicando que o modo selecionado não é um modo mais provável. De acordo, o decodificador de vídeo 30 (figuras 1 e 4) receberia o bit inicial ou série de bits e a palavra- cõdigo 000 e determinaria que o valor de Cmod ê 0. visto que 0 é menor que 5 e 2 (isso é, Cmod < Cml) nesse exemplo, o decodificador de vídeo 30 recuperaria o modo da tabela 5 possuindo o índice de modo C igual a Ç,,,,d que é igual a 0 correspondendo a vertical, nesse exemplo. Como outro exemplo com relação aos exemplos das tabelas 5 e 6, supõe-se que para um bloco atual o modo selecionado seja horizontal (índice de modo 2 e índice de palavra-código 4). Os índices Cm1 e Cm2 para os modos mais prováveis são 2 e 5, nesse exemplo. Nesse exemplo, visto que o índice de palavra-código para o modo selecionado é maior que ou igual a C,,j, mas menor que Cm2, o índice de palavra-cõdigo é igual a Cmod + 1, onde Cmod é o índice de palavra-código modificado. Dessa forma, se o índice de - palavra-cõdigo e 4, então Cmod = 3. Dessa forma, o codificador de vídeo 20 utilizaria a palavra-código 011 para representar o modo selecionado, nesse exemplo. A 5 palavra-código 011 segue um bit inicial ou série de bits indicando que o modo selecionado não é urn modo mais provável. De acordo, o decodificador de vídeo 30 (figuras 1 e 4) receberia o bit inicial ou série de bits e a palavra- código 011 e determinaria que o valor de Cmod é 3. Como 3 não é menor que 2, mas 3 mais 1 é menor que 5 (ísso é, CmDd Z C,,j, mas Cmod + 1 < Cm2) nesse exemplo, o decodíficador de vídeo 30 recuperaria o modo da tabela 5 possuindo um índice de modo igual a Cmod + 1, que é igual a 4, correspondendo ao modo horizontal.
Deve-se compreender que as tabelas de 1 a 6 são meramente exemplos das tabelas dos modos rnais prováveis, índices para os modos, índices de palavra-código, e palavras-código designadas para os vários índices. Em outros exernplos, outros modos de intra-previsão podem ser determinados como o modo mais provável, por exemplo, com base no contexto de codificação para um bloco determinado.
Por exemplo, o modo mais provável pode ser determinado com base nos modos de intra-previsão utilízados para codificar os blocos vizinhos da esquerda e de cima. Os dados de configuração 66 podem incluir uma pluralidade de tabelas diferentes associadas com diferentes modos de intra- previsão identificados como sendo o modo mais provável além de um número diferente de modos mais prováveis identificados, geralmente similares aos exemplos das tabelas 1, 3 e 5. Da mesma forma, os dados de configuração 66 podem incluir uma pluralidade de tabelas de mapeamento de palavra-código, tal como as tabelas 2, 4 e 6 que mapeiam os índices de modo de intra-previsão restantes em palavras-
eÓdigo. Como descrito acima, os modos mais prováveis são sinalizados utilizando um bit inicial ou uma série de bits. Tal bit inicial ou série de bits também podem depender de contexto. Por exemplo, uma série diferente de bits pode ser 5 utilizada para sinalizar os modos mais prováveis dependendo dos quais os modos de intra-previsão são identificados como sendo o modo rnais provável além de quantos modos mais prováveis são identificados. Os modos mais provãveis e as tabelas de codificação para qualquer caso determinado 10 também podem ser definidos coiti base em outros tipos de contextos, ao invés de ou em adição ao modo de intra- previsão de bloco vizinho utilizado nesse caso.
Os exemplos das Tabelas 1, 2, 3, 4 e 5 são fornecidos com relação a nove modos de intra-previsão de 15 H.264. No entanto, deve-se compreender que as técnicas dessa descrição podem ser aplicadas a outros padrões de codificação e técnicas, tal como Codificação de Vídeo de alta Eficiência (HEVC). Em alguns exemplos, tal como em HEVC, o número de modos de intra-previsão disponíveis pode 20 depender do tamanho de um bloco (por exemplo, uma "unidade de codificação" ou "CU" em HEVC) sendo codificado. Para cada modo de intra-previsão, um índice de modo pode ser designado com base em uma probabilidade de ocorrência de cada modo de intra-previsão. A figura 3 ilustra um exemplo 25 dos modos de intra-previsão e índices de modo correspondente que podem ser utilizados com HEVC. As setas da figura 3 representam uma direção de previsão, os números representam um índice de modo. A tabela 7 abaixo fornece uma correspondência entre um tamanho de CU e um número de 30 modos de intra-previsão disponíveis para codificar CUS desse tamanho. Corrio pode ser observado na tabela 7, CUS 8X8, 16x16 e 32X32 podem utilizar os 35 modos de intra- previsão ilustrados na figura 3, enquanto as CUs de 4X4 e El.
64X64 utilizam um conjunto men'or de modos de intra- previsão.
Tabela 7
Tamanho de Unidade de | Número de Modos de Intra-
Codificação I previsão
4X4 18
8X8 | 35 16xl6 I 35 32X32 I 35 64x64 I 4 Nos exemplos onde o número de modos de intra- 5 previsão varia com base no tamanho de bloco, os dados de configuração 66 podern incluir diferentes tabelas para diferentes tamanhos de blocos.
De acordo, um contexto para F^ codificação de uma indicação de um modo de intra-previsão utilizado para codificar um bloco pode incluir uin tamanho de bloco, além de modos de codificação utilizados para codificar os blocos vizinhos.
A unidade de codificação por entropia 56 pode selecionar a tabela de índice de modo e tabela de mapeamento de palavra-código utilizada para sel-ecionar uma palavra-código representativa do modo de íntra-previsão selecionado utilizado para codificar o bloco com base no contexto para o bloco.
Ademais, as tabelas de índice de modo para os blocos de um tamanho em particular podem ter números de registros íguais ao número de modos de intra-previsão para os blocos desse tamanho.
Dessa forma, as tabelas de índice de modo para os blocos de tamanho 4X4 podem ter 18 registros, as tabelas de índice de modo para os blocos de tamanho de 8x8, 16x16 e 32x32 podem ter 35 registros, e as tabelas de índice de modo para qs blocos de tamanho 64x64 podem ter 4 registros.
Outros tamanhos de blocos, por exemplo, 128xl28 podem ter também um número determinado de modos de intra-previsão disponíveis.
Os modos de intra-prevísão disponíveis para os blocos de tamanho 8X8, 16X16 e 32x32 podern ser iguais, e, portanto, as mesmas tabelas de índice de modo podem ser utilizadas para os blocos dos tamanhos 8x8, 16x16 e 32X32.
5 Apesar de os mesmos modos poderem ser possíveis para os blocos desses tamanhos, no entanto, a probabilidade de utilização de um modo particular para codificar um bloco pode variar com base no tamanho do bloco. De acordo, a unidade de codificação por entropia 56 pode determinar uma tabela de mapeamento de palavra-código para uma tabela de índice de modo particular COKl base no tamanho do bloco para o qual um modo de intra-previsão deve ser sinalizado, em alguns exemplos. Para fins de exemplo, as Tabelas 2, 4 e 6 acima são simplesmente tabela.s ilustrativas para representar vários modos de codificacão. No entanto deve-se compreender » que outros tipos de palavras-código podem ser utilizadas em outros exemplos. Qualquer conjunto de palavras-código pode ser utilizado para a tabela de mapeamento de palavra-cõdigo (isso é, a tabela de mapeamento ou tabela de índice de modo de intra-previsão modificado), desde que cada uma das palavras-código seja decodificada de forma singular. Depois de prever um bloco atual, por exemplo, utilizando intra-previsão ou inter-previsão, o codifícador de vídeo 20 pode formar um bloco de vídeo residual pela subtração dos dados de previsão calculados pel-a unidade de compensação de movimento 44 ou módulo de intra-previsão 46 do bloco de vídeo original sendo codificado. O somador 49 representa o componente ou componentes que realizam essa operação de subtração. O módulo de transformação 52 aplica uma transformação, tal como uma transformação de cosseno discreto (DCT) ou uma transformação conceitualmente similar, ao bloco residual, produzindo um bloco de vídeo que compreende valores de coeficiente de transformação residual.
O módulo de transformação 52 pode reali.zar outras transformações, tal como as definidas pelo padrão H.264,
que são conceitualmente similares a DCT.
As transformações
5 de wavelet, transformações de inteiro, transformações de sub-banda, ou outros tipos de transformações podem ser utilizadas também.
Em qualquer caso, o módulo de transformação 52 aplica a transformação ao bloco residual, produzindo 11I1l bloco de coeficientes de transformação residuais.
A transformação pode converter a informação residual de um domínio de valor de pixel em um domínio de transformação, tal como um domínio de frequência.
A unidade de quantização 54 quantiza os coeficientes de transformação residual para reduzir aínda mais a taxa de bit.
O processo de quantização pode reduzir a profundidade de bit associada com alguns ou todos os coeficientes.
O grau de quantização pode ser rnodificado pelo ajuste de um parâmetro de quantização.
Depois da quantização, a unidade de codificação por entropia 56 codifica por entropia os coeficientes de transformação quantizados.
Por exemplo, a unidade de codificação por entropia 56 pode realizar a codificação de comprimento variãvel adaptativo de conteúdo (CAVLC), a codificação aritmética binária adaptativa de contexto (CABAC), ou outra técnica de codificação por entropia.
Seguindo a codifícação por entropia pela unidade de codificação por entropia 56, o vídeo codificado pode ser transmitido para outro dispositivo ou arquivado para transmissão ou recuperação posterior.
No caso de codificação aritmética bínária adaptativa de contexto, o contexto pode ser baseado em blocos vizinhos e/ou tamanhos de bloco.
Em alguns casos, a unidade de codifícação por entropia 56 ou outra unidade de codificador de vídeo 20 pode ser configurada para realizar outras funções de codificação, em adição à codificação por entropia e 5 codificação de modo de intra-previsão como descrito acima.
Por exemplo, a unidade de codificação por entropia 56 pode ser configurada para determinar os valores de padrão de bloco codificados (CBP) para os blocos e partições. Além disso, em alguns casos, a unidade de codificação por entropia 56 pode realizar a- codificação de comprimento de , funcionamento dos coeficientes em um macro bloco ou partição do mesmo. Em particular, a unidade de codificação por entropia 56 pode aplicar uma digitalização em ziguezague ou outro padrão de digital-ização para digitalizar os coeficientes de transformação em um macro . bloco ou partição e codificar os comprimentos iguais a zero para compressão adicional. A unidade de codificação por entropia 56 também pode construir informação de cabeçalho com elementos de sintaxe adequados para transmissão no fluxo de bits de vídeo codificado. A unidade de quantização invertida 58 e o módulo de transformação invertida 60 aplicam a quantização invertida e a transforinação invertida, respectivamente, para reconstruir o bloco residual no domínio de pixel, por exemplo, para uso futuro como um bloco de referência. A unidade de compensação de movimento 44 pode calcular um bloco de referência pela adição do bloco residual a um bloco de previsão de um dos quadros do armazenador de quadro de referência 64. A unidade de compensação de movimento 44 também pode aplicar um ou maís filtros de interpolação ao bloco residual reconstruído para calcular os valores de pixel de subinteiro para uso na estimativa de movimento. O somador 62 adiciona o bloco residual
" 75/11p reconstruído ao bloco de previsão de movimento coinpensado produzido pela unidade de compensação de movimento 44 pa-ra produzir urn boco de vídeo reconstruído para armazenamento no armazenador de quadro de referência 64. O bloco de vídeo 5 reconstruído pode ser utílizado pela unidade de estimativa de movimento 42 e unidade de compensação de movimento 44 como um bloco de referência para inter-codificar um bloco em um quadro de vídeo subsequente.
Dessa forma, o codificador de vídeo 20 representa um exemplo de um cod.i.ficador de vídeo configurado para determinar um primeiro modo de intra-previsão mais provável e um segundo modo de intra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificacão .> para o bloco atual; selecionar uma tabela de palavras-código com base no contexto para o bloco atual, onde a tabela de palavras-código cornpreende uma pIuralidade de palavras-código correspondendo aos índices de modo de intra-previsão modificados UE correspondem aos modos de intra-previsão além do primeiro rnodo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; codificar o bloco atua.l utilizando um dos modos de intra- previsão além do primeiro modo de intra-previsão mais provável e do segundo modo de intra-previsão mais provável; determinar um dos índices de modo de irrtra-previsão modificados que corresponde a um dos inodos de intra- previsão utilizando a tabela de palavras-código; e codificar uma palavra-código a partir da tabela selecionada de palavras-código pela realização de um processo CABAC, onde a palavra-código corresponde a um dos índices de modo de intra-previsão modificados.
Dessa forma, o codificador de vídeo 20 também representa um exemplo de um codifícador de vídeo configurado para determinar um primeiro modo de intra-
q 76/115 a g '* ·NF . ·W : previsão mais provável e um segundo modo de in'tra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto de codificação para obloco atual;.
selecíonar uma tabela de palavras-código com base no 5 contexto para o bloco atual, onde a tabela de palavras- código compreende uma pluralidade de palavras-código correspondendo aos índices de palavra-código, onde os índices de pal-avra-código são mapeados para os modos de intra-previsão; codificar o bloco atuaí utilizando um dos 10 modos de intra-previsão além do primeiro modo de intra- previsão mais provável e o segundo modo de intra-previsão mais provável; determinar um índíce de palavra-código modificado com base no índice de palavra-código de um dos modos de intra-previsão utilizados para codificar o bloco 15 atual, um índice de palavra-código mapeado para o primeiro modo mais provável, e um índice de palavra-cõdigo mapeado para o segundo rnodo mais provável; e codificar uma palavra- código a partir da tabela selecionada de palavras-cõdigo pela realização de um processo CABAC, onde a palavra-cõdigo 20 corresponde a um dos índiceg de modo de i-ntra-previsão modificados.
A figura 4 é um diagrama em bloco ilustrando um exemplo do decodificador de vídeo 30, que decodifica uma sequência de vídeo codificada. No exemplo da figura 4, o 25 decodificador de vídeo 30 inclui uma unidade de decodificação de entropia 70, a unidade de compensação de movimento 72, o Inódulo de intra-previsão 74, a unidade de quantização invertida 76, a unidade de transformação invertida 78, a memória 82 e o somador 80. O decodificador 30 de vídeo 30 pode, em alguns exemplos, realizar uma passagem de decodificação geralmente alternada com relacão
O à passage-n de codificação descrita com relação ao codificador de vídeo 20 (figura 2). A unidade de compensação de '";}áá,,
movimento 72 pode gerar dados de previsão com base nos vetores de movimento recebida da unidade de decodificação por entropia 70.
A unidade de compensação de movimento 72 pode 5 utilizar vetores de movimento recebidos no fluxo de bits para identificar um bloco de previsão nos quadros de referência no armazenador de quadro de referência 82. O modo de intra-previsão 74 pode utilizar os modos de intra- previsão recebidos no fluxo de bits para formar um bloco de previsão a partir de blocos espacialmente adjacentes. Em particular, o decodificador de vídeo 30, no exernplo da figura 4, inclui dados de configuração 84. Os dados de configuração 84 são substancialmente similares aos dados de configuração 66 da figura 2, pelo fato de os dados de configuração 84 incluírem informação descrevendo contextos para os blocos intra-previstos, além de uma dentre uma pluralidade de tabelas de mapeamento de índice de intra- previsão para uso para cada contexto, uma dentre uma pluralidade de tabel-as de índice de modo de intra-prevísão modificados (ou mapeamento em palavra-código) para uso para cada contexto, e um modo de intra-previsão maís provável para cada contexto. A unidade de decodificação por entropia 70 pode receber uma palavra-código representativa de um modo de intra-previsão para uso para decodificar um bloco codificado de dados de vídeo, A unidade de decodificação por entropia 70 pode determinar um contexto para o blocQ codificado, por exemplo, com base nos modos de intra- previsão a um bloco vizinho esquerdo e vizinho acima do bloco codificado e/ou um tamanho para o bloco codificado.
Com base no contexto, a unidade de decodificação por entropia 70 pode determinar um ou mais modos de intra- previsão mais prováveis para uso na decodificação do bloco,
além de uma tabel-a de índice de intra-previsão e uma tabela de índice de modo de intra-previsão modificado para uso n a determinação do modo de intra-previsão real para uso na decodificação do bloco. 5 Quando da utilização de um modo de intra-previsão mais provável singular, se a palavra-código compreender um primeiro bit, por exernplo, '0', então a unidade de decodificação pro entropia 70 pode determinar que o modo de intra-previsão real é o modo de intra-previsão mais provável para o bloco codificado.
Do contrário, a unidade de decodificação por entropia 70 pode determinar um índice de modo de intra-previsão modificado com base na palavra- código recebida, com base na tabela de índice de modo de íntra-previsão modificada para o contexto do bloco codificado.
DeixeIrlos n representar o índice de modo de intra-previsão modificado, e deixemos n representar o índice de modo para o modo de intra-previsão mais provável. quando n < m, a unidade de decodificação por entropia 70 pode determinar que o modo de intra-previsão real para o bloco codificado possui um índice de modo de n.
Do contrário, (isso é, quando n Z m), a unidade de decodificação por entropia 70 pode determinar que o modo de intra-previsão real para o bloco codificado possui um índice de modo de n + 1. Utilizando-se o índice de modo, que é igual a n ou n+l como descrito acima, a unidade de decodificação por entropia 70 pode recuperar informação indicando o modo de intra-previsão real para uso na decodificação do bloco codificado e enviar uma indicação do modo para o modo de intra-previsão 74. Quando da utilização de mais de um modo de intra- previsão mais provável, tal como dois modos de intra- previsão mais prováveis, se um primeiro bit possuir um determinado valor, por exemplo, '0', então a unidade de decod'ifiicação por entropia 70 pode determinar que o modo de intra-previsão real é um dos modos de intra-previsão mais prováveis par ao bloco codificado.
Em tais casos, com base em um segundo bit ou série de bits, a unidade de 5 decodificação por entropia 70 pode determinar qual dos rnodos de intra-previsão mais prováveis é o modo de intra- previsão selecionado.
Do contrário, seguindo o primeiro bit, a unidade de decodificação por entropia 70 pode determinar um índice de modo de intra-previsão modificado com base na palavra-cõdigo recebida e corn base no índice de modo de intra-previsão modifícado, determina o modo de intra-previsão selecionado para o bloco.
Como um exemplo, deixemos n representar o índice de rnodo de intra-previsão modificado, e deixemos m e m2 representarem os índices de modo para os modos de intra-previsão mais prováveis.
Se n < m, entã-o a unidade de decodificação por entropia 70 pode determinar que c) modo de intra-previsão selecionado para o bloco codificado possui um índice de modo igual a n.
Quando n + 1 < rrl2 (mas n não é menor que mi), então a unidade de decodificação por entropia 70 pode determinar que o modo de intra-previsão selecionado para o bloco codificado possui um índice de modo de n + 1. Do contrário, quando n + 1 não é menor que m2, então a unidade de decodificação por entropia 70 pode determinar que o modo de intra-previsão selecionado para o bloco codificado possui um índice de modo de n + 2. Utilizando-se o índice de modo, a unidade de decodificação por entropia 70 pode recuperar a informação indicando o modo de intra-previsão para uso para decodificação do bloco codificado e enviar uma indicação do modo para o módulo de intra-previsão 74. Da mesma forma, se os índices de modo de intra- previsão forem mapeados em índíces de palavra-código e mais de um modo mais provável estiver sendo utilizado, se um primeiro bit ou série de bits possuir um determinado valor, por exemplo, '0', então a unidade de decodificação por entropia 70 pode determinar que o modo de intra-previsão real é um dos modos de intra-previsão mais provável para o 5 bloco codificado. Em tais casos, com base em um segundo bit ou série de bits, "a unidade de decodificação 70 pode determinar qual dos modos de intra-previsão mais prováveis é o modo de intra-previsão selecionado. Do contrário, seguindo o primeiro bit ou série de bits, a unidade de decodificação por entropia 70 pode determinar um índice de palavra-código modificado mapeado para a palavra-código recebida, e com base no índice de palavra-código modificado, determina o modo de intra-previsão selecionado para o bloco. Como um exemplo, deixemos Cmod representar o índice de palavra-código modificado, e deixemos C,n, e C,n2 represêntar os índices de palavra-código para os modos de intra-previsão mais prováveis. Se Cmod < Cm1, então a unidade de decodificação por entropia 70 pode determinar que o modo de intra-previsão selecionador real para o bloco codificado possui um índice de palavra-código igual a Cmod. Quando Cmod + 1 < Cm2 (mas Cmod não é menor que CmI), então a unidade de decodificação por entropia 70 pode determinar que o rnodo de intra-previsão selecionado real para o bloco codificado possui um índice de palavra-código de Cmod + 1. Do contrãrio, quando Cmod + 1 não é menor que Cm2, então a unidade de decodificacão por entropia 70 pode determinar .> que o modo de intra-previsão selecionado real para o bloco codificado possui um índice de palavra-código de Ç,,,,d + 2.
Utilizando o índice de palavra-código, a unidade de decodificação por entropía 70 pode recuperar a informação indicando o modo de intra-previsão selecionado real para uso para decodificação do bloco codificado e enviar uma indicação do modo para o módulo de íntra-previsão 74.
O módulo de intra-previsão 74 pode utilizar a indicação do modo de intra-previsão para intra-prever o bj-oco codificado, por exemplo, utilizando pixels de blocos vizinhos, previamente decodificados. Para exemplos nos 5 quais o bloco é o modo de inter-previsão codificado, a unidade de compensação de moviínento 72 pode receber informação definindo um vetor de movimento, a fim de recuperar os dados de previsão de movimento compensado para o bloco codificado. Em qualquer caso, a unidade de compensação de movimento 72 ou mõdulo de intra-previsão 74 pode fornecer informação definindo um bloco de previsão para o somador 80. A unidade de quantização inversa 76 quantiza de forma, ínvertida, isso é, dequantiza, os coeficientes de bloco quantizados fornecidos no fluxo de bits e decodificados pela unidade de decodificação por entropia
70. O processo de 'quantização inversa pode incluir um processo convencional, por exemplo, como definido pelo padrão de decodificação H.264 ou como realizado pelo Modelo de Teste HEVC. O processo de quantização inversa também pode incluir o uso de urri parâmetro de quantização QPy calculado pelo codificador 20 para cada macrobloco para determinar um grau de quantização e, da mesma forma, um grau de quantização invertida que deve ser aplicado.
O módulo de transformação inversa 58 aplica uma transformação inversa, por exemplo, uma DCT invertida, uma transformação de i.nteiro invertida, ou um processo de transformação invertida conceitualmente similar, aos coeficientes de transformacão a fim de produzir blocos » residuais no domínio de pixel. A unidade de compensação de movimento 72 produz blocos de movimento compensado, possivelmente realizando a interpolação com base nos filtros de interpolação. Os identificadores para os filtros de interpolação a serem utilizados para a estimativa de movimento com precisão de subpixel podem ser incluídos nos elementos de sintaxe. A unidade de compensação de rnovimento 72 pode utiliza-r filtros de interpolação como utilizados 5 pelo codificador de vídeo 20 durante a codíficação do bloco de vídeo para calcular os valores interpolados para os pixels de subinteiro de um bloco de referência. A unidade de compensação de movimento 72 pode determinar os filtros de interpolação utilizados pelo codificador de vídeo 20 de acordo com a informacão.> de sintaxe recebida e usarn os filtros de interpolação para produzír blocos de previsão. A unidade de compensação de movimento 72 utiliza alguma informação de sintaxe para determinar os tamanhos de blocos utilizados para codificar os quadros da sequência de vídeo codificada, informação de partição que descreve como cada bloco de um quadro ou fatia da sequência de vídeo codificada é dividida, modos indicando corno cada partição é codificada, um ou mais quadros de referência (e Iistas de quadro de referência) para cada bloco inter-codificado ou partição, e outra inforrnação para decodificação da sequência de vídeo codificada.
O somador 80 soma os blocos residuais com os blocos de prevísão correspondentes gerados pela unidade de compensação de movi-mento 72 ou módulo de intra-previsão 74 para formar os blocos decodificados. Se desejado, um filtro de desbloqueio também pode ser aplicado para filtrar os blocos decodificados a fim de remover os artefatos de bloqueio. Os blocos de vídeo decodificados são então armazenados no armazenador de quadro de referência 82, que fornece os blocos de referência para compensação de movimento subsequente e também produz vídeo decodificado para apresentação em um dispositivo de exibição (tal como um dispositivo de exibição 32 da figura 1).
Dessa forma, o decodificador de vídeo 30 da figura 4 representa um exemplo de um decodifícador de vídeo configurado para determinar um primeiro modo de intra- previsão mais provável e um segundo modo de intra-previsão 5 mais provável para um bloco codificado de dados de vídeo com base em um contexto para q bloco atual; selecionar uma tabela de palavras-código com base no contexto para o bloco atual, onde a tabela de palavras-código compreende uma pluralidade de palavras-código correspondendo aos índices de modo de intra-previsão modificados que correspondem aos modos de intra-previsão além do primeiro modo de intra- - previsão mãos provável e o segundo modo de intra-previsão mais provável; realizar um processo CABAC para determinar uma palavra-código recebida; determinar um dos índices de modo de intra-previsão niodificados que corresponde à palavra-código recebida utilizando a tabela de palavras- código; selecionar um modo de intra-previsão além do primeiro modo de intra-prevísão provável e segundo modo de intra-previsão mais provável para uso na decodificação do bloco codificado, onde o modo de intra-previsão selecionado corresponde a um dos índices determinados dentre os índices de modo de intra-previsão modificados; e decodifica o bloco atual utilizando o modo de intra-previsão seíecionado.
Dessa forma, o decodificador de vídeo 30 da figura 4 também representa um exemplo de um decodificador de vídeo configurado para determinar um primeiro modo de intra-previsão mais provável e um segundo modo de intra- previsão mais provável para um bloco atual de dados de vídeo com base em 'um contexto para o bloco atual; selecionar uma tab,ela de palavras-código com base no contexto para o bloco atual, onde a tabela de palavras- código compreende uma pluralidade de palavras-código correspondendo a um índice de palavra-código, onde os índices de palavra-código são mapeados para os modos de intra-previsão; realizar um processo CABAC para determinar uma palavra-código recebi-da; determínar um índice de palavra-código modificado que corresponde à palavra-cõdigo
5 recebida utilizando a tabela de palavras-código; selecíonar um modo de intra-previsão além do primeiro modo de intra- previsão mais provável e segundo modo de intra-previsão mais provável para uso na decodificação do bloco codificado, onde o modo de intra-previsão mais provável corresponde a um índice de palavra-código selecionado com base no índice de palavra-cõdigo modificado, o primeiro modo de intra-previsão mais provável, e o segundo modo de intra-previsào mais provável; e decodificar o bloco atual utilizando o modo de intra-previsão selecionado.
A figura 5A é um diagrama em bloco ilustrando um exemplo de uma unidade de codificação CABAC 50A que pode ser utilizada de acordo com as técnicas descritas nessa descrição.
A unídade de codifícacão CABAC a 50A inclui um mõdulo de mapeamento de valor para binário 51A, um rnódulo de designação de contexto 53A, e um módulo de codificação de aritmética adaptativa 55A.
O módulo de codificacão de > aritmética adaptativa 55A inclui um módulo de estirnativa de probabilidade 57A e um motor de codificação 59A.
A unidade de codificação CABAC 50A pode, por exemplo, ser considerada uma parte da unidade de codificação por entropia 56 da figura 2. b
Para um elemento de sintaxe de valo não binário,
o módulo de mapeamento de valor para binário 51A pode designar um valor do el-emento de sintaxe para uma sequência binária, também referida como uma "sequência de binário"
que pode compreender um ou mais bits ou "binários". Em outras palavras, o módulo de mapeamento de valor para binário 51A pode "binarizar" o valor do elernento de síntaxe, de modo que o valor seja representado utilizando a sequência de binário.
Deve-se notar que uma sequência de binário de valor arbitrário pode receber qualquer elemento de sintaxe de valor não binário particular e que a 5 sequência de binário não representa necessariamente o valor do elemento de sintaxe na forma binária.
Nos exemplos das
Tabelas 2, 4 e 6, descritas acima, as palavras-código fornecidas já estão na forma binária e, dessa forma, podem ser utilizadas para binarização.
O mapearnento de um valor de sintaxe em uma palavra-código binária essencialmente "binariza" o valor de sintaxe antes de o elemento de sintaxe ser passado para o módulo de mapeamento de binário
51A.
Para elementos de sintaxe não binários, no entanto, o módulo de mapeamento de binário 51A pode binarizar o elemento de sintaxe.
Como previamente mencionado, v.isto que cada uma das tabelas 2, 4 e 6 já são representadas como valores binários, isso é, já são binarizadas, as palavras-código podem ultrapassar esse processo de binarização e prosseguir para o estágio de modelagem de contexto de CABAC realizado pelo módulo de designação de contexto 53A descri"to abaixo.
De forma similar, os um ou mais binários descritos acima com referência às Tabelas 1, 3 e 5, indicando se um modo de intra-prevísão utilízado é um modo de intra-previsão mais provável para um contexto em particular, também jã pode ser representado como valores binários, e, dessa forma, pode não precisar ser binarizado pelas mesmas razões mencionadas acima.
Em outros exemplos, os índices de modo de intra- previsão modificados, os índices de palavra-código modificados, outros elementos de sintaxe e indicações de se um modo de intra-previsão utilizado é um modo de intra- previsão mais provável para um contexto em particular,
podem ter valores binários, e, dessa forma, podem utilizar a binarização.
O módulo de designação de contexto 53A desígna um contexto para cada binário da sequência de binários 5 utilizada para representar o elemento de sintaxe. Por exemplo, o módulo de designação de contexto 53A pode designar um contexto diferente para cada binário dentro da sequência de binários. Alternativaniente, o módulo de designação de contexto 53A pode designar um contexto comum para um ou mais binários da sequência de binários. Em alguns outros casos, por exemplo, quando um binário é codificado utilizando um modo de ultrapassagem CABAC, nenhum contexto explícito é necessário e q módulo de designação de contexto 53A pode não precisar designar qualquer contexto ao binário. Ein qualquer caso, em alguns exemplos, cada contexto pode ser representado utilizando-se um índice de contexto. Em outras palavras, cada binário da sequência de binários pode ser associado com um índice de contexto que indica o contexto particular designado para o binário respectivo.
O módulo de designação de contexto 53A pode realizar a designação de contexto para cada binãrio dentre a sequência de binários utilizando um processo algumas vezes referido corno "modelagem de contex'to". Por exempl-o, o módulo de designação de contexto 53A pode designar cada binário para um contexto determinado com base em um modelo de contexto. O modelo de contexto determina como um contexto em particular é calculado para um determinado bínário. por exemplo, o contexto pode ser calculado com base na informação disponível para o binário, tal como, por exemplo, valores de elementos de sintaxe codificados previamente correspondentes para os blocos vizinhos dos dados de vídeo, ou uma posíção relativa do binário dentro da sequência de binários. Por exemplo, o modelo de corrtexto pode utilizar valores de índices de modo de intra-previsão modificados (ou palavras-código utilizadas para representar os índices) para os blocos vizinhos de dados de vídeo no 5 topo e na esquerda do bloco atual, e/ou uma posição do binário dentro da sequência de binários, para calcular o contexto. Em alguns exemplos, cada contexto pode incluir uma pluralidade de "estados de contexto", onde cada um dos estados de contexto é associado com um conjunto particular de estimativas de probabilidade que indicam uma probabilidade de urn binário ao qual o contexto é designado compreendendo um determinado valor, por exemplo, "0" ou "1". Adicionalmente, cada contexto pode ser assocíado com um estado de corrtexto atual particular em qualquer momento deterrninado, onde o estado de contexto atual indica as estimativas de probabilidade mais atuais para esse contexto.
O binário da sequência de binários pode ser subsequentemente codificado pelo rnódulo de codificação aritmética adaptativa 55A. Para codificar o binário, o módul-o de estimativa de probabilidade 57A do módulo de codificação aritmética adaptativa 55A pode determínar as estimativas de probabilidade para o binário sendo codificado com base no contexto (e seu estado atual) designado para o binário. O motor de codifícação 59A pode utílizar o valor do binário, e as estimativas de probabi.lidade correspondentes ao contexto (e seu estado atual) designados para o binário, corno registros no módulo de codificação aritmética adaptativa 55A quando da codificação do binário.
As estimativas de probabilidade são determinadas para o binário pelo módulo de estimativa de probabílidade 5A utilizando o contexto designado, como descríto acima.
Como descrito prevíamente, essas estimativas de probabilidade geralmente correspondem à probabilidade do binário possuir um valor igual a "0" ou um valor igual a "1". As 5 estimativas de probabilidade podem ser iguais para os binários designados a um contexto e podem diferír entre contextos, como refl-etido pelo estado atmal de contexto de cada um dos contextos.
Âdicionalmente, as estimativas de probabilidade para o contexto designado podem ser atuaj-izadas com base no valor real do binário sendo codificado pelo motor de codificação 59A.
Por exemplo, se um binário em particular possuir um valor de "1", então as estimativas de probabilidade de "1"" para o contexto designado são aumentadas.
De forma similar, se o binário tiver um valor de "0", então as estimativas de probabilidade de "0" para o contexto designado são aumentadas.
No exemplos descritos acima, as estimativas de probabilidade para o contexto designado podem ser atualizadas pela atualização do estado de contexto para refletir as estimativas de probabilidade mais atuais para o contexto, como previamente descrito.
Por exemplo, as estimativas de probabilidade mais atuais índicadas pelo estado de contexto atualizado podem ser utilizadas para a codificação de um binário subsequente para o qual o mesmo contexto é selecionado.
A técníca descrita acima pode ser repetida para cada binário da sequência de binário.
Em alguns casos, um modo de ultrapassagem pode ser utilizado para um ou m.ais binários da sequência de binário, caso em que um ou mais binários são codificados sem o uso de um modelo de contexto designado explicitamente, que pode simplificar e acelerar a codifícação dos binários.
Por exemplo, para um ou mais binários codificados utilizando o modo de ultrapassagem,
estimativas de- probabílidade quase uniformes (por exemplo, "0,5" possuindo um valor de "0" e "1") podem ser consideradas. Em outras palavras, o modo de ultrapassagem pode ser utilizado para codificar os binários distribuídos 5 uniformemente. O processo CABAC descrito acima deve representar um exemplo de um processo CABAC. É contemplado que as modificações no processo descrito acima, além de processos CABAC alternativos com relação ao descrito acima, estão dentro do escopo das técnicas descritas nessa descrição.
Adicionalmente, as técnicas dessa descrição contemplam adicionalmente a utilização de outros processos de codificação por entropia adaptativa de contexto tal como os processos de Codificação- por Entropia de Partição de Intervalo de Probabilidade (PIPE), além de outros processos de codificação por entropia adaptativa de contexto.
A figura 5B é um diagrama em bloco ilustrando urri exernplo de uma unidade de decodificação CABAC 50B que pode ser utilizada de acordo COKl as técnicas descritas nessa descrição. a unidade de decodificação CABAC 50B inclui um módulo de mapeamento de binário para valor 51B, um módulo de designação de contexto 53B, e um módulo de decodificação aritmética adaptativa 55B. O mõdulo de decodificação aritmética adaptativa 55B inclui urri módulo de estimativa de probabilidade 57B e um motor de decodificação 59B. A unidade de decodificação CABAC 50B pode, por exemplo, ser encontrada como parte da unidade de decodíficacão m por entropia 70 da figura 4. De uma forma alternada similar à descrita acima com referência à unidade de codi,ficação CABAC 50A, a unidade de decodificação CABAC 50B pode decodificar uma sequência de bínário codificada compreendendo um ou mais binários. Como descrito anteriormente, a sequência de binários codificada pode representar um elemento de sintaxe de valor bínário ou não binário codificado.
Por exemplo, o módulo de designação de contexto 53B pode utilizar a modej-agem de contexto para determinar 5 um contexto que deve ser designado a um binãrio em particular da sequência de binários. O módulo de estimativa de probabilidade 57B pode utilizar o contexto designado (e seu estado atual) para determinar as estimativas de probabilidade utilizadas para decodificar o binário. Àdicionalmente, o motor de decodificação 59B pode decodificar o binário utilizando as estimativas de probabilidade. De uma forma similar à descrita acima, esse processo pode ser repetido para alguns ou todos os binários da sequência de binários, resultando na sequência de binário de codificada. Finalmente, o mõdulo de mapeamento de binário para valor 51B pode mapear os binários decodificados da sequência de binários para um elemento de sintaxe de valor não binário, ou "desbínarizar" os um ou mais binários decodificados. Mais uma vez, o processo CABAC descrito acima deve representar um exemplo de um processo CABAC. É contemplado que as modificações no processo descrito acima, além de processos CABAC alternativos aos descritos acima, se encontram dentro do escopo das técnicas descritas nessa descrição. Adicionalmente, as técnicas dessa descrição contemplam adicionalmente a utilização de outros processos de codificação por entropia adaptativa de contexto, tal conío processos PIPE, além de outros processos de codificação por entropia adaptativa de contexto. A figura 6 é um fluxograma ilustrando um método ilustrativo para a codificação de intra-previsão de um bloco de dados de vídeo. As técnicas da fígura 6 podem geralmente ser realizadas por qualquer unidade de processamento ou processador, implementados por hardware, software, firmware ou uma combinação dos mesmos, e quando implementado em software ou firmware, hardware correspondente pode ser fornecido para executar as 5 instruções para software ou firmware. Para fins de ilustração, as técnicas da figura 6 são descritas com relação ao codificador de vídeo 20 (fíguras 1 e 2), apesar de ser compreendido que outros dispositivos podem ser configurados para realizar as técnicas simílares. Ademais, as etapas ilustradas na figura 6 podem ser realizadas em uma ordem diferente ou em paralelo, e etapas adicionais podem ser adicionadas e determinadas etapas omitidas, sem se distanciar das técnicas dessa descriçãcn Inicialmente, o codificador de vídeo 20 pode selecionar um modo de intra-previsão para um bloco atual de dados de vídeo (100). Por exemplo, o módulo de intra- previsão 46 pode calcular os valores de distorção de taxa para os vários modos de intra-previsão utilizados para codificar ob loco, e então selecionar o modo de i-ntra- previsão exibindo o mesmo valor de distorção de taxa dos modos de intra-previsão testados. O módulo de intra- previsão 46 podem então codificar o bloco utilizando o modo de intra-previsão selecionado (102). Isso é, o mõdulo de íntra-previsão 46 pode calcular um bloco de previsão para o bloco com base no modo de intra-previsão selecionado. O codificador de vídeo 20 pode calcular adicionalmente uma diferença entre o bloco de previsão e o bloco original para produzir um bloco residual, codificador de vídeo esse 20 que pode então transformar e quantizar.
O codificador de vídeo 20 pode codificar adicionalmente a informação que representa o modo de intra- previsão selecionado. Isso é, o módulo de irrtra-previsão 46 pode enviar uma indicação do modo de intra-previsão selecionado para a unidade de codificação por entropia 56. A unidade de codificação por entropia 56, ou outra unidade do codificador de vídeo 20, pode determinar um contexto para o bloco (104). O contexto para o bloco pode incluir um 5 tamanho de bloco e/ou modos de intra-previsão dos blocos t vizinhos, tal como um bloco de vizinho acima e/ou um bloco de vizinho da esquerda. A unidade de codificação por entropia 56 pode selecionar também uma tabela de índice de modo de intra-previsão modificada para uso na codificação do indicador de modo de intra-previsão com base no contexto de codificação para o bloco (106). A unidade de codificação por entropia 56 pode selecionar adicionalmente uma tabela de índice de intra-previsão, em alguns exemplos, enquanto em outros exernplos, os índices de modo de intra-previsão podem ser fixos. A unidade de codificação por entropia 56 pode determinar adicionalmente um ou mais dos modos de intra-previsão mais prováveis para ob loco no contexto de bloco (108).
A unidade de codificação por entropia 56 pode então selecionar uma palavra-código para o modo de intra- prevísão a partir da tabela de índice de mocío de intra- previsão inodificado com base nos modos de intra-previsão mais prováveis (110). Por exemplo, como discutido em maiores detalhes abaixo, a unidade de codificação por entropia 56 pode utilizar um único bit ou uma série de bits (por exemplo, um bit único ou dois bits) para sinalizar que o modo de intra-previsão selecionado cornpreende um dos modos de intra-previsão mais prováveis. Se o modo de intra- previsão selecionado não for um dos modos de intra-previsão mais prováveis, a unidade de codificação por entropia 56 pode selecionar uma palavra-código para sinalizar c) modo de intra-previsão selecionado. A unidade de codificação por entropia 56 pode então enviar o bloco codificado (por exemplo, coeficientes de transformação quantizados codificados) para o fluxo de bits, e utilizando urn processo CABAC, pode enviar a palavra-código selecionada para o fluxo de bits (112). 5 A figura 7A é um fluxograma ilustrando um método ilustrativo para selecionar uma palavra-códígo indicativa de um modo de intra-previsão para um bloco codificado.
Novamente, as técnicas das figura 7A são discutidas com relação ao exemplo do codificador de vídeo 20 para fins de exemplo. A figura 7A geralmente fornece detalhes adicionais para a etapa 110 da figura 6. As etapas do método ilustrado na figura 7A podem ser realizadas em uma ordem diferente ou em paralelo, e etapas adicionais podem ser adicionadas e determinadas etapas omitidas, sem se distanciar das técnicas dessa descrição.
f O codificador de vídeo 20 pode determinar um contexto de codificação para um bloco atual (120), como discutido acima. Da mesma forma, o codificador de vídeo 20 pode selecionar uma tabela de índice de modo de intra- previsão modificada com base em unt contexto de codificação para o bloco (122A). Os dados de configuração do codificador de vídeo 20 podem fornecer uma indicação da tabela de índice de modo de intra-previsão modificada, e em alguns exemplos, uma tabela de índice de modo de intra- previsão, para o contexto do bloco. Adicionalmente, o codificador de vídeo 20 pode determinar um modo de intra- previsão mais provável para uso na codificação do bloco com base no contexto de codificação para o bloco (124A). Novamente, os dados de configuração do codificador de vídeo 20 podem fornecer uma indicação do modo de intra-previsão mais provável para o contexto de bl-oco. Como discutido acíma, o codificador de vídeo 20 pode selecionar um modo de intra-previsão para o bloco,
para uso na codificação real do bloco (126A). o codificador de vídeo 20 pode determinar se o modo de intra-previsão selecionado é o mesmo que o modo de intra-previsão mais provável para o bloco, com base no contexto do bloco 5 (128A). Se o modo selecionado for o modo mais provável ("SIM" na ramificação de 128A), o codificador de vídeo 20 pode, com base no modo mais provável, codificar uma indicação do modo de intra-previsão utílizado para codificar o bloco utilizando um único bit, por exemplo, '0' ou '1' (130A). Quando o modo selecionado não é o modo mais provável ("NÃO'" em 128A), o codificador de vídeo 20 pode determinar um índice de modo para o inodo de intra-previsão (122A), por exemplo, a partir de uma tabela de índice de modo de intra-previsão.
Em alguns exemplos, os índices de modo podem ser valores globais independentemente do contexto, enquanto ern outros exemplos, os dados de configuração do codifiCador de vídeo 20 podem mapear cada contexto em uma dentre uma pluralidade de tabelas de índice de modo de intra-previsão.
O codificador de vídeo 20 pode determinar adicionalmente um índice de modo para o modo intra-previsão mais provável.
O codificador de vídeo 20 pode então deterininar se o índice de modo para o modo de íntra-previsão selecionado é menor que o índice de modo para o modo de intra-previsão mais provável no contexto para o bloco (134A). Quando o índice de modo para o modo de intra- previsão selecionado é rnenor que o índice de modo para o modo de intra-previsão mais provável (ramificação "SIM" de 134A), o codificador de vídeo 20 pode determinar uma palavra-código a partir da tabela de índíce de modo de intra-previsão modificada para o contexto do bloco correspondendo ao índice de modo para o modo de intra-
previsão selecionado.
Mais particularmente, o codificador de vídeo 20 pode enviar, utilizando um processo CABAC, a palavra-código mapeada em índice de modo de intra-previsão modificado igual ao índice de modo para o modo de intra- 5 previsão selecionado (136A). Por outro lado, quando o índice de modo para o modo de intra-previsão selecionado é maior que o índice de modo para o modo de intra-previsão mais provável (ramificação "NÃO" de 134A), o codificador de vídeo 20 pode determinar uma palavra-códi'go a partir da tabela de índice de modo de intra-previsão modificada para q contexto do bloco correspondendo a uma vez menor que o índice de modo para o modo de intra-previsão selecionado.
Mais particularmente, o codificador de vídeo 20 pode enviar,
utilizando um processo CABAC, a palavra-código mapeada em índice de modo de intra-previsão modificado igual a uma vez menor que o índice de modo para o modo de intra-previsão selecionado (138A). visto que o modo de intra-previsão mais provável é sinalizado separadamente, a tabela de índice de modo de intra-previsão modificado não precisa mapear uma palavra- código adicional em índice para o modo de intra-previsão mais provável.
Portanto, o índice de modo de intra-previsão modificado igual ao índice de modo para o modo de intra-
previsão mais provável pode ser mapeado em índice de modo que é uma vez maior que o índice de modo para o modo de intra-previsão mais provável, dessa forma.
Dessa forma, se houver K modos de intra-previsão disponíveis para o bloco, a tabela de índice de modo de intra-previsão modificado só precisa fornecer palavras-código para K-l índices de modo de intra-previsão modificados, além da palavra-código de bit único indicativa de se o modo de intra-previsão mais provável é utilizado para côdificar o bloco.
A figura 7B é um fluxograma ilustr'ando um mé-todo ilustrativo para a seleção de uma palavra-código indicativa de um modo de intra-previsão para um bloco codificado.
Novamente, as técnicas da figura 7B podem ser implementadas 5 em qualquer processador adequado, apesar de as técnicas da figura 7B serem discutidas com relação ao exernplo de codificador de vídeo 20 para fins de exemplo.
A figura 7B geralmente fornece detalhes adicionais para a etapa 110 da figura 6, para casos onde dois modos mais prováveis são utilizados.
As etapas do método ilustrado na figura 7B podem ser realizadas e-n uma ordem diferente ou em paralelo, e etapas adicionais podem ser somadas e determinadas etapas omitidas, sem se distanciar das técnicas dessa descricão. .>
O codifícador de vídeo 20 pode determinar um contexto de codificação para um bloco atual (120B), como discutido acima.
Da mesma forma, o codíficador de vídeo 20 pode selecionar uma tabela de índice de modo de intra- previsão modificado com base em um contexto de codificação para o bloco (122B). Os dados de configuração do codificador de vídeo 20 podem fornecer uma indicação da tabela de índice de modo de intra-previsão modificado, e em alguns exemplos, uma tabela de índice de modo de intra- previsão, para o contexto do bloco.
Adicionalmente, o codificador de vídeo 20 pode determinar um primeiro modo de intra-previsão mais provável e um segundo modo de intra- previsão mais provável,para codificar o bloco com base no contexto de codificação par ao bloco (124B). Novamente, os dados de configuração do codifícador de vídeo 20 pode fornecer uma indicação dos modos de intra-previsão mais prováveis para o contexto do bloco.
Como discutido acima, o codificador de vídeo 20 pode selecionar um modo de intra-previsão para o bloco, para uso na codificação real do bloco (126B). O codificador de vídeo 20 pode determínar se o modo de intra-previsão selecionado é o mesmo que um dos modos de intra-previsão mais prováveis para o bloco, com base no contexto do bloco (128B). Se o rnodo selecionado for um modo mais provável 5 ("SIM" em 128B), então o codificador de vídeo 20 pode codificar, com base nos modos mais prováveis, uma indicação do modo de intra-previsão utilizado para codíficar o bloco utilizando uma serie inicial de bits, tal como dois bits que incluem um primeiro bit para indicar que o modo real é um dos modos mais prováveis e um segundo bit para indicar qual dos modos mais prováveis é o modo real (130B). Quando o modo selecionado não é um dos modos mais prováveis (ramificação "NÃO" do 128B), o codificador de vídeo 20 pode determinar um índice de modo para o modo de intra-previsão selecionado (122B), por exemplo, a partir de uma tabela de índice de modo de intra-previsão.
Em alguns exemplos, os índices de modo podem ser valores globaís independentemente do contexto, enquanto em outros exemplos, os dados de configuração do codificador de vídeo 20 podem mapear cada contexto em uma pluralidade de tabelas de índice de modo de intra-previsão.
O codificador de vídeo 20 pode determinar adicionalmente os índices de rnodo para os modos de intra-previsão mais prováveís.
O codificador de vídeo 20 pode então determinar se o índice de modo para o modo de intra-previsão selecionado é menor que os índices de modo para o primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável no contex'to para o bloco (134B). Quando o índice de modo para o modo de intra- previsão selecionado é menor que os índices de modo para ambos os modos de intra-prevísão mais prováveis (ramificação "SIM" de 134B), codificador de vídeo 20 pode determinar uma palavra-código a partir da tabela de índice de modo de intra-previsão modificada para o contexto do bloco correspondendo ao índice de modo para o modo de íntra-previsão selecionado.
Mais particularmente, o codificador de vídeo 20 pode utilizar a palavra-código 5 mapeada para o índíce de modo de intra-previsão modificado igual ao índice de modo para o modo de intra-previsão selecionado (136B). Por outro lado, quando o índice de mQdo para o modo de intra-previsão selecionado não é menor que os índices de modo para ambos os modos de intra-previsão mais prováveis (ramificação "NÃO" de 134B), o codificador de vídeo 20 pode então determinar se o índice de modo para o modo de intra-previsão selecionado é maior que ou igual aos índices de modo para o primeiro modo de intra-previsão mais provável e segundo modo de intra-previsão mais provável no contexto para o bloco (138B). Quando o índice de modo para o modo de intra-previsão selecionado é rnaior que ou iguaí aos índices de modo para ambos os modos de intra-previsão mais prováveis (ramificação "SIM" de 138B), o codificador
'de vídeo 20 pode determinar uma palavra-código a partir da tabela de índice de modo de intra-previsão mod.ificada para o contexto do bloco correspondendo ao índice de modo para o modo de intra-previsão selecionado.
Mais particularmente, o codificador de vídeo 20 pode determinar uma palavra-código a partir da tabela de índice de modo de intra-previsão modificada para o contexto do bloco correspondendo a menos dois do que o índice de modo para o modo de intra-previsão selecionado.
Mais partícularmente, o codificador de vídeo
20 pode enviar, utilizando um processo CABAC, a palavra-
código mapeada para o índice de modo de íntra-previsão modificado igual a duas vezes menor que o índice de modo para o modo de intra-previsão selecionado (140B).
Qua.ndo o índice de modo para o modo de intra- previsão não é menor que os índices de modo para ambos os modos de íntra-previsão mais prováveis (ramificação "NÃO"' de 134B) e quando o índice de modo para o modo de intra- S previsão selecionado não é igual a ou maior que os índices de modo para ambos os modos de intra-previsão mais prováveis (ramificação "NÃO"' em 138B), então o índice de modo para o modo de intra-previsão selecionado é maior que ou igual ao índice de modo para o primeiro modo de intra- lO previsão mais provável, mas rnenor que o índice de modo para o segundo modo de intra-previsão mais provável, o codificador de vídeo 20 pode determinar uma palavra-código a partir da tabela de índice de modo de intra-previsão modificado para q contexto do bloco correspondendo ao
15. í'ndice de modo para o modo de intra-previsão selecionado. Mais particularmente, o codificador de vídeo 20 pode enviar, utilizando um processo CABAC, a palavra-código mapeada para o índice de modo de intra-prevísão modificado igual a uma vez menor que o índice de modo para o modo de intra-previsão selecionado (142B). visto que um primeiro bit ou segundo bit são utilizados para sinalizar os modos mais provãveis da forma descrita acima, a tabela de índice de modo de intra- previsão modificado não precisa inapear as palavras-cõdigo adicionais em índice para os rnodos de intra-previsão mais prováveis. Dessa forína, se houver K modos de intra-previsão disponíveís para o bloco, a tabela de índice de modo de intra-previsão modifica'do só precisa fornecer palavras- código para K-2 índices de modo de intra-previsão modificados. A figura 8 é um fluxograrna ilustrando um método ilustrativo para a decodificação intra-previsão de um bloco de dados de vídeo. As técnicas da figura 8 podem ser geralmente realizadas por qualquer unidade de processamento ou processador, seja implementado em hardware, software, firmware ou uma combinação dos mesmos, e quando implementada em software ou firmware, o hardware 5 correspondente pode ser fornecido para executar as instruções para o software ou firmware. Para fins ilustrativos, as técnicas da figura 8 são descritas com relação ao decodificador de vídeo 30 (figuras 1 e 4) apesar de poder ser compreendido que outros dispositivos podem ser configurados para realizar técnicas similares. Ademais, as etapas ilustradas na figura 8 podem ser realizadas em uma ordem diferente ou errt paralelo, e etapas adicionais podem ser adicionadas e determinadas etapas omitidas, sem se distanciar dos ensinamentos dessa descrição.
O decodificador de vídeo 30 pode determinar uma palavra-código para um bloco codificado de modo de intra- previsão utilizando um processo CABAC (150). A palavra- código pode representar geralmente o modo de intra-previsão utilizado para codificar o bloco e, da mesma forma, o modo de intra-previsão a ser utilizado para decodificar o bloco.
O decodificador de vídeo 30 pode determinar um contexto de codificação para o bloco de uma forma similar ao do codificador de vídeo 20 (152), por exemplo, com base em um tamanho do bl-oco e/ou modos de intra-previsão de blocos vizinhos, tal como um bloco vizinho acima e/ou um bloco vizinho para a esquerda.
O decodificador de vídeo 30 pode selecionar adicionalmente uma tabela de índice de modo de intra- previsão modificado para o bloco com base no contexto de codificação determinado para o bloco (154). O decodificador de vídeo 30 também pode, em alguns exemplos, determínar uma tabela de índice de modo de intra-previsão no contexto, enquanto em outros exemplos, os índices de modo de intra- -
previsão podem s'er fíxos e aplicados a todos os contextos de forma global.
O decodificador de vídeo 30 pode determinar adicionalmente um ou mais modos de intra- previsão mais prováveis para o contexto do bloco (156). 5 O decodificador de vídeo 30 pode então determinar um modo de intra-previsào real para uso na decodificação do bloco utilizando a tabela de palavra-código selecionada, os modos de intra-previsão mais prováveis e a palavra-código recebida (158). Por exemplo, se a palavra-código compreende um único bit ou série de bits indicando se o modo selecionado é o modo mais provável, então o decodificador de vídeo 30 pode utílizar o bit único ou série de bits para determinar se os modos de intra-previsão mais prováveis devem ser utilízados para decodificar o bloco.
Se o modo selecionado for determinado como não sendo um modo mais provável, então o decodificador de vídeo 30 pode determinar um índíce de modo de intra-previsão modificado com base na palavra-código, utilizando a tabela de índice de modo de intra-previsão modificado e com base no índice de modo de intra-previsão modificado, o decodificador de vídeo 30 podendo determinar o modo de intra-previsão utilizado para codificar o bloco.
O decodificador de vídeo 30 pode utilízar o modo de intra-previsão determinado para decodifícar o bloco (160). por exemplo, o decodificador de vídeo 30 pode calcular um bloco de previsão para o bloco utilizando o modo de intra-previsão determinado.
O decodificador de vídeo 30 pode receber adicionalmente coeficientes de transformação quantizados codificados, decodificador de vídeo esse 30 que pode decodificar, quantizar de forma invertida, e transformar de forma invertida para reconstruir um bloco residual para o bloco.
O decodificador de vídeo 30 pode então adicionar o bloco de previsão e o bloco residual para formar um bloco decodíficado. O decodificador de vídeo 30 pode enviar o bloco decodificador (162), que pode incluir um ou ambos o envio de bloco de vídeo decodificado para urn dispositivo de exibição para 5 exibir (por exemplo, através de um armazenador de quando), e armazenar uma cópia do bloco decodificado em um armazenador de quadro de referência par auso como um bloco de referência quando da decodifícação de blocos subsequentes de dados de vídeo, por exemplo, em quadros ou fatias temporalmente separados.
A figura 9A é um fluxograma ilustrando um método ilustrativo para a determinação de um modo intra-previsão para um bloco utílizando uma palavra-código recebida indicativa do modo de intra-previsão para um bloco codificado. Novamente, as técnicas da figura 9a podem ser implementadas em qualquer processador adequado, apesar de as técnicas da figura 9A serem discutidas com relação ao exemplo do decodificador de vídeo 30 para fins de exemplo e explicação. A figura 9A geralmente fornece detalhes adicionais para a etapa 160 da figura 8. As etapas do método ilustrado na figura 9A podem ser realizadas em uma ordem diferente ou em paralelo, e etapas adicionais podem ser somadas e determinadas etapas omitidas, sem se distanciar das técnicas dessa descrição.
O decodificador de vídeo 30 pode determinar uma palavra-código para um bloco intra-codificado utilizando um processo CABAC (170A). Como discutido acima, o decodificador de vídeo 30 pode determinar um contexto de codificação para o bloco (172A), por exernplo, com base em um tamanho de bloco e/ou modos de codificação de intra- previsão dos blocos Úizinhos. Coiii base no contexto determinado, o decodificador de vídeo 30 pode selecionar uma tabela de índice de modo de intra-previsão modificado para o bloco (174A), e determinar um modo de intra-previsão mais provável para o bloco (176A). Eki alguns exemplos, o decodificador de vídeo 30 pode selecionar adicionalmente uma tabela de índice de modo de intra-previsão para o bloco 5 com base no contexto determinado.
O decodificador de vídeo 30 pode determinar se um primeiro bit na palavra-código indica que o modo de intra- previsão selecionado é o modo mais provável. Se o modo de intra-previsão selecionado é o modo mais provável (ramificação "SIM" de 178A), o decodificador de vídeo 30 pode decodificar o bloco utilizando o modo de intra- previsão mais provável (180A). Por outro lado, se o modo de intra-previsão selecionado for um modo de intra-previsão além do rnodo mais provávei (ramifícação "NÃO" de 178A), então o decodificador de vídeo 30 pode determinar um índice de modo de intra-previsão modificado (MIPM) com base na palavra-código a partir da tabela de índice de modo de intra-previsão modificado selecionado (182A). O decodificador de vídeo 30 pode então determinar se o índice de modo de intra-previsão modificado é menor que o índice de modo para q modo de intra-previsão mais provável para o contexto do bloco (184A). Se c) índíce de modo de intra-previsão modificado for menor que o índice de modo para o modo de intra-previsão mais provável (ramificação "SIM" de 184A), o decodificador de vídeo 30 pode decodificar o bloco utilizando o modo de intra- previsão possuindo um índice de modo que é igual a-o índice de modo de intra-previsão modificado (186A). Por outro lado, se o índice de modo de intra-previsão modificado for inaior que ou igual ao índice de modo para o modo de intra- previsão mais provável (ramificação "NÃO" de 184A), o decodificador de vídeo 30 pode decodificar o bloco utilizando o modo de intra-previsão possuindo um índice de modo que e igual ao uma vez maior que o índíce de modo de intra-previsão modificado (188A).
A figura 9B é urn fluxograma ilustrando um método ilustrativo para a determinação de um modo de intra- 5 previsão para um bloco utilizando uma palavra-código recebida indicativa do modo de intra-previsão para um bloco codificado. Novarnente, as técnicas da figura 9B podem ser implementadas em qualquer processador adequado, apesar de as técnicas da figura 9B serem discutidas com relacão ao D exemplo do decodificador de vídeo 30 para fins de exemplo e explicação. A figura 9B fornece geralmente detalhes adicionais para a etapa 160 da figura 8, em casos nos quais mais de um modo mais provável é utilizado. As etapas do método ilustrado na figura 9B podern ser realizadas em uma ordem diferente ou em paralelo, e etapas adicionais podem ser adicionadas e determinadas etapas omitidas, sem se distanciar das técnicas dessa descricão. > O decodificador de vídeo 30 pode determinar uma palavra-código para um bloco intra-codificado utilizando um processo CABAC (170B). Como discutido acima, o decodificador de vídeo 30 pode determinar um contexto de codificação para o bloco (172B), por exemplo, com base em um tamanho do bloco e/ou rnodos de codificação intra- previsão dos blocos vizinhos. Com base no contexto determinado, o decodifícador de vídeo 30 pode selecionar uma tabela de índice de modo de intra-previsão modificado para o bloco (174B), e determinar um modo de intra-previsão mais provável para o bloco (176B). Em alguns exemplos, o decodificador de vídeo 30 pode selecionar adicionalmente uma tabela de índice de modo de intra-previsão para o bloco com base no contexto determínado.
O decodificador de vídeo 30 pode determinar se um primeiro bit ou série de bits na palavra-cõdigo indica que o modo de intra-previsão selecionado é um dos modos mais prováveis. Se o modo selecionado for um dos modos mais prováveis (ramificação "SIM" em 178B), então o decodificador de vídeo 30 pode decodificar o bloco 5 utilizando os modos de irrtra-previsão mais prováveis (180B). O decodificador de vídeo 30 pode, por exemplo, receber um segundo bit ou série de bits para indicar qual dos modos mais prováveis é o modo selecionado. Por outro lado, se o primeiro bit ou série de bits indicar q'ue o modo selecionado não é um dos modos mais prováveis (ramificação "NÃO" em 178B), o decodificador de vídeo 30 pode del-erminar um índice de modo de intra-previsão modificado {MIPM) com base na palavra-código a partir da tabela de índice de modo de intra-previsão modificado selecionada (182B).
O decodificador de vídeo 30 pode então determinar se o índice de wodo de intra-previsão modificado é menor que o índice de modo para o primeiro modo de intra-previsão inais provável para o contexto do bloco (184B). Como explicado anteriormente, é considerado que o índíce de modo para o primeiro modo mais provável seja menor que o índice de modo para o segundo modo mais provável. Portanto, se o índice de modo de intra-previsão modificado for menor que o índice de modo para o primeiro modo de intra-previsão mais provável, o mesmo também é menor que o índice de modo para o segundo modo de intra-previsão mais provável. Se o índiee de modo de intra-previsão modificado for menor que o índice de modo para o prirneiro modo de intra-previsão mais provável (ramificaçào "SIM" em 184B), então o decodificador de vídeo 30 pode decodificar o bloco utilizando o modo de intra-previsão possuindo um índice de modo que é igual ao índice de modo de intra-previsão modificado (186B). Se o índice de modo de intra-previsão modificado não for menor que o índice de modo para o primeiro modo de intra-previsão mais provável (ramificação "NÃO" em 184B)", então o decodificador de vídeo 39 pode determinar se o índice de modo de intra-previsão modificado mais um é menor que o índice de modo para o segundo modo de intra-previsão mais 5 provável para o contexto do bloco (188B). Se o índice de modo de intra-previsão modificado mais um for menor que o índice de modo para o segundo modo de intra-previsão mais provável para o contexto do bloco (ramificação "SIM" de 188B), então o decodificador de vídeo 30 pode decodificar o bloco utilizando o modo de intra-previsão possuindo um índice de modo que é igual a uma vez maior que o índice de modo de intra-previsão modificado (190B). Se o índice de modo de intra-previsão modificado não for menor que o índice de modo para o segundo modo de intra-previsão mais provável (ramifiCação "NÃO" em 188B), então o decodificador de vídeo 30 pode decodificar o bloco utilizando o modo de intra-previsão possuindo um índice de modo que é igual a mais dois do que o índice de modo de intra-previsão modificado (192B). Apesar de o métQdo das fiiguras 6, 7A, 7B, 8, 9A e 9B ter sido ilustrado com relaçào ao mapeamento de índices de modo de intra-previsão modificados em índices de rnodo, deve-se compreender que as têcnicas subjacentes dos ínétodos também podem ser utilizadas para mapear índices de pa1avra- código modificados em índices de palavra-códígo, e vice- versa, da forma descrita acima com relação aos exemplos das Tabelas 5 e 6. A figura 10 é um diagrama conceitual ilustrando um exemp1D determinado de configuração de dados 250, que índica as relações entre uma tabela de índice de modo de intra-previsão 200, uma tabela de índice de modo de intra- previsão modificado 210, e dados de contexto 220. Os dados de configuração 250 podem corresponder geralmente aos dados de configuração 66 (fígura 2) ou da'dos de configuração 84 (figura 4). Ademais, os dados de configuração descrevendo contextos, tabelas e modos de intra-previsão mais prováveis devem ser iguais em ambos o codificador e o decodificador 5 para um fluxo de bits determinado.
No exemplo da figura 10, a tabela de índice de modo de intra-previsão 200 inclui um conjunto de modos de intra-previsão 202,-202k (modos de intra-previsão 202) e índices correspondentes 2041 - 204k.
Apesar de apenas uma tabela de índice de modo de intra-previsão 200 ser ilustrada para fins de explícação e exemplo, deve-se coinpreender que os dadQs de configuração 250 podem incluir uma pIuralidade de tabelas de índice de modo de intra- previsão similares à tabela de índice de modo de intra- previsão 200. As tabelas de índice de modo de intra- previsão não precisam ter todas o mesmo tamanho, visto que o número de modos de intra-previsão disponível para um bloco pode depender do tamanho do bloco, como discutido acima com relação a, por exemplo, a Tabela 5. Os índices 204 também podem ser referidos como índices de modo de intra-previsão ou simplesmente como índices de modo.
A tabela de índíce de modo de intra-previsão modificado 210 inclui índices 212,-212k-,, além de palavras- código 214,-2l4K-l.
Dessa forma, a tabela de índice de modo intra-previsão modifícado 210 compreende um registro menor (K-l) que a tabela de índice intra modo 200 (K). Como discutido acima, o modo de intra-previsão mais provável pode ser indicado utilizando-se um único bit ou série de bits, ao invés de uma das palavras-código 214. Portanto, os modos de intra-previsão além do modo de intra-previsão mais provável podem ser representados por uma das palavras- código 214. Novamente, apesar de apenas uma tabela de índice de modo de intra-previsão modificado ser ilustrada no exemplo da figura 10, deve-se compreender que os dados de configuração 250 podem incluir uma pluralidade de tabelas de índice de modo de intra-previsão modificado.
Adicionalmente, o número de tabelas de índice de modo de 5 intra-previsão modificado não precisam necessariamente ser igual ao número de tabelas de indica de intra modo. Em alguns exemplos, pode haver uma relação de mui"tos para um entre as tabelas de índice de intra modo e tabelas de índice de modQ de intra-previsão, de modo que a mesma tabela de índice de modo possa corresponder a uma ou mais tabelas de índice de intra rnodo.
Adici.onalmente, os dados de confíguracão > 250 incluem dados de contexto 220, que incluem uma pluralidade de registros de contexto siinilares ao registro de contexto 222A. Nesse exemplo, o registro de contextõ 222A inclui um indicador de intra modo mais provável 224A, o identificador de tabela de índice de modo de intra-previsão 226A, o identificador de tabela de índice de modo de intra-previsão modificado 228A, e os dados de contexto de bloco 230A. Os dados de contexto de bloco 230A podem incluir informação indicando os blocos em que o registro de contexto 222A se aplica. Por exemplo, os dados de contexto de bloco 230A podem incluir informação descrevendo um ou mais tamanhos de blocos em que o registro de contexto 222A se aplica, além de modos de intra-previsão para blocos vizinhos de blocos em que o registro de contexto 222A se aplica. Como um exemplo, os dados de contexto de bloco para um dos regístros de contexto 222 podem indicar que o registro de contexto corresponde aos blocos possuindo pixels de 16X16 onde o bloco vizinho acima é codificado utilizando-se um modo de intra-previsão horizontal e onde um bloco vizinho esquerdo também é codificado utilizando-se o modo de intra- previsão horizontal.
O indicador de intra modo maís provável- 224A,
nesse exemplo, indica o modo de intra-previsão 202m.
Em alguns exemplos, os dados de configuração 250 podem especificar uma palavra-código de único bit para uso para 5 representar que um bloco é codificado utilizando o modo de intra-previsão mais provável.
Dessa forma, para os blocos possuindo contextos correspondendo aos dados de contexto de bloco 230A, c) modo de intra-previsão mais provável é o modo de intra-previsão 202m, nesse exemplo. visto que o modo de intra-previsão 202,, é o modo de intra-previsão mais provãvel para o registro de contexto 222A, o rnodo de intra- prevísão 202m não precisa ser mapeado em uma das palavras- código 214 na tabela de índice de modo de intra-previsão modificado 210, e, dessa forma, pode haver uma palavra-
código menor na tabela de índice de modo de intra-previsão modificado 210 do que nos modos de intra-previsão 202 na tabela de índice de intra modo 200. Ademais, os índices de modo 204 que são menores que ao índice de modo 204m, isso é, os índices de modo 2041-204,4-1, nesse exemplo, são rnapeados para índices de modo de intra-previsão modificados de mesmo valor 212 da tabela de índice de modo de intra-previsão modificado 210. Por exemplo, o índice de modo 2042 é mapeado em índice de modo de intra-previsão modificado 2122, nesse exemplo, devido ao índice de modo 2042 sendo menor que o índice de modo 204m Dessa forma, quando o codificador de vídeo 20 codifica um bloco possuindo um contexto definido pelos dados de conteúdo de bloco 230A utilizando o modo de intra- previsão 2022, o codificador de vídeo 20 pode sinalízar o modo de intra-previsão para o bloco utilizando a palavra- códígo 2142. Da mesma fiorma, quando o decodificador de vídeo 30 recebe a palavra-código 2142 para um bloco possuindo um contexto definido pelos dados de contexto de bloco 230A, o decodificador de vídeo '30 pode determinar que o modo de intra-previsão utilizado para codifi.car o bloco (e, da mesma forma, o modo de intra-previsão a ser utilizado para decodificar o bloco) compreende o modo de 5 íntra-previsão 2022. De forma similar, o modo de intra- previsão 202m-1 é mapeado em palavra-código 2l4M-,, devido ao índice de modo 204m-i" sendo mapeado ern índice de modo de intra-previsão modificado 212m-1.
Por outro lado, os .índices de modo 204 que são maiores que o índíce de modo 204m, isso é, os índices de modo 204m-1-204k, nesse exemplo, são mapeados em índices de modo de intra-previsão modificados 212 que são uma vez menor que o índice de modcm Por exemplo, o índice de modo 204K-l é mapeado ein índice de modo intra-previsão modificado 212k-2, nesse exemplo, devido ao índice de modo 204K-l ser maior que o índice de modo 204,,. Dessa forma, quando o codificador de vídeo 20 codifica um bloco possuindo um contexto definido pelos dados de contexto de bloco 230A utilizando o modo de intra-previsão 202k-1, o codifícador de vídeo 20 pode sinalizar o modo de intra-previsão para o bloco utilizando a palavra-código 214k-2. Da mesma forma, quando o decodificador de vídeo 30 recebe a palavra-código 214k-2 para ülll bloco possuindo um contexto definido pelos dados de contexto de bloco 230A, o decodificador de vídeo 30 pode determinar que o modo de in'tra-previsão utilizado para codificar o bloco '(e, de forma similar, o modo de intra-previsão a ser utilizado para decodificar o bloco) compreende o modo de intra-previsão 202k-1. De forma similar, o modo de intra-previsão 202m-, é mapeado para a palavra-código 214m, devido ao índice de modo 204M+l ser mapeado em índice de modo de intra-previsão modificado 2l2M.
Dessa forma, de acordo com um modo de intra- previsão mapeado em índice de modo j, o codificador de vídeo 20 pode determinar uma palavra-código, para modos de intra-previsão al-ém dos modos mais prováveis, utilizando a
5 função de etapa seguinte f(j)f onde m representa o índice de modo para o niodo intra-previsão mais provável, e palavra-código (n) representa a palavra-código designada para o índice de modo de intra-previsão modificado n:
f Ó") = jcodeword Ü), j<m codeword Ú' - 1), j > m (1) De forma similar, de acordo com uma palavra-
código para um modo de intra-previsão selecionado que não é um modo mais provável, o decodificador de vídeo 30 pode determinar um modo intra-previsão mapeado em uma palavra-
código utilizando a função de etapa g(n), onde m representa o índice de modo para o modo intra-previsão mais provável e mode(j) se refere ao modo de intra-codificação mapeado no índice de modo j:
g(n) - lmode(n), n<m (2) mode(n+1), n>m
Quando esses conceitos são estendidos aos exemplos onde dois inodos mais prováveis são utilizados, de acordo com um modo de intra-codificação mapeado para o índice de modo j, o codificador de vídeo 20 pode determinar uma palavra-código utilizando a seguinte etapa de função f(j), onde ITlj representa o índice de modo para o primeiro modo de intra-previsão mais provável, m2 representa o índice de modo para o segundo modo de intra-previsão mais provável, e a palavra-código (n) representa a palavra- código designada para o índice de modo de intra-previsão modificado n:
f j) {"°dewordÜ), j<m1andm2 (' codeword(j - 1), m1<j<m2 (3) codewordçj - 2), j > ml and m2
De forma similar, de acordo com uma palavra- código, o decodificador de vídeo 30 pode determinar um modo de intra-previsão mapeado em uma palavra-código utilizando a etapa de função a seguir g(n), onde m representa o 5 índice de modo para um prímeiro modo de intra-previsão mais provável-, m2 representa o índice de inodo para um segundo modo de intra-previsão mais provável, e mode(j) se refere ao modo de intra-previsão mapeado em índice de modo j:
g(n)={mode(n+ mode(n). 1), n-F1n<ml <m2 (4)
mode(n+2). otherwíse
Em um ou niais exemplos, as funções descritas podeni ser implementadas em hardware, software, firmware, ou qualquer combinação dos mesmos.
Se implementadas em software, as funções podem ser armazenadas em ou transmitidas como uma ou mais instruções ou código em um meio legível por computador e executadas por uma unidade de processamento com base em hardware.
A mídia legível por computador pode incluir mídia de armazenamento legível por computador, que corresponde a um meio tangível tal corno mídia de armazenamento de dados, ou mídia de comunicação incluindo qualquer meio que facilite a transferência de um programa de computador de urn lugar para outro, por exemplo,
de acordo com um protocolo de comunicação.
Dessa forma, a mídia legível por computador pode geralmente corresponder a
(1) mídia de armazenamento legível por computador tangível que é não transitória ou (2) um meio de comunicação tal como um sinal ou onda portadora.
A mídia de armazenamento de dados pode ser qualquer mídia disponível que possa ser acessada por um ou mais computadores ou um ou mais processadores para recuperação de instruções, código e/ou estruturas de dados para impleínentação das técnicas descritas nessa descrição. Um produto de programa de computador pode incluir um meio legível por computador.
Por meio de exemplo, e não de limitação, tal mídía de armazenamento legível por compntador pode 5 compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento em dísco ótico, armazenamento em disco magnético, ou outros dispositivos de armazenamento magnétíco, memória flash, ou qualquer outro meio que possa ser utilizado pa.ra armazenar o código de programa desejado na forma de instruções ou estruturas de dados e que possa ser acessado por um computador. Além disso, qualquer conexão é adequadamente chamada de meio legível por computador. Por exemplo, se instruções forem transmitidas a partír de um sítio da rede, servidor, ou outra fonte remota utilizando um cabo coaxial, cabo de fibra ótica, par torcido, linha de assinante digital (DSL) ou tecnologias sem fio tal como infravermelho, rádio e micro-ondas, então o cabo coaxial, o cabo de fibra ótica, o par torcido, DSL, ou tecnologias sem fio tal como infravermelho, rádio e micro-ondas são incluídos na definição de meio. Deve-se cornpreender, no entanto, que a mídia de armazenamento legível por computador e a mídia de armazenamento de dados não incluem conexões, ondas portadoras, sinais, ou outra mídia transitóría, mas, ao invés disso, são direcionados para mídia de armazenamento tangível não transitõria. Disquete e disco, coino utilizados aqui, incluem disco compacto (CD), disco a laser, disco ótico, disco versátil digital (DVD), disquete e disco blu-ray, onde disquetes normalmente reproduzem os dados magneticamente, enquanto díscos reproduzem os dados oticamente com lasers. As combinações do acima exposto devem ser incluídas também dentro do escopo de mídia legível por computador.
Instruções podem ser executadas por um ou mais processadores, tal como um ou mais processadores de sinal digital (DSPS), microprocessadores de finalidade geral, circuitos integrados específicos de aplicativo (ASICS), 5 conjuntos lógicos programãveis em campo (FPGAs), ou outros conjuntos de circuito lógico discreto ou integrado '"\ equivalente. De acordo, o termo "processador", como utilizado aqui pode se referir a qualquer uma das estruturas acima ou qúalquer outra estrutura adequada para implementação das técnicas descrítas aqui. Adicionalmente, d em alguns aspectos, a funcíonalidade descrita aqui pode ser fornecida dentro de hardware dedicado e/ou módulos de software configurados para codificar e decodificar, ou incorporados em um codec combinado. Aléni disso, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos lógicos.
As técnicas dessa descricão podem ser implementadas em uma ampla variedade de dispositivos ou aparelhos, incluindo um aparelho sem fio, um circuito integrado (IC) ou um conjunto de ics (por exemplo, um conjunto de chip). Vários componentes, módulos ou unidades são descritos nessa descrição para enfatizar os aspectos e dispositivos funcionais configurados para a realização das técnicas descritas, mas não exigem necessariamente a realização por unidades de hardware diferentes. Ao invés disso, como descrito acima, várias unidades podem ser combinadas em 'uma unidade de hardware de codec ou fornecidas por uma coleção de unidades de hardware interoperacionaiS, incluindo um ou mais processadores como descrito acirna, em conjunto com software e/ou firmware adequado.
Vários exemplos forarn descritos.
Esses e outros exemplos estão dentro do escopo das reivindicações em anexo.

Claims (15)

REIVINDICAÇÕES
1. Método de decodificação de dados de vídeo, o método compreendendo: determinar um primeiro modo de intra-previsão 5 mais provável e um segundo modo de intra-previsão mais provável para um bloco atual de dados de vídeo com base em um contexto para o bloco atual; realizar um processo de codificação aritmética binária adaptativa com base em contexto, CABAC, para determinar uma palavra-código recebida, em que a palavra- código recebida corresponde a um índice de modo de intra- previsão modificado; determinar um índice de modo de intra-previsão, j, por comparar o índice de modo de intra-previsão modificado a um índice de modo de intra-previsão para o primeiro modo mais provável, m1, e um índice de modo de intra-previsão para o segundo modo mais provável, m2; selecionar com base em um mapeamento dos índices de modo de intra-previsão em modos de intra-previsão, um modo intra-previsão além do primeiro modo intra-previsão mais provável e o segundo modo de intra-previsão mais provável para decodificar o bloco atual, em que o modo de intra-previsão selecionado corresponde ao índice de modo de intra-previsão determinado; e decodificar o bloco atual utilizando o modo de intra-previsão selecionado.
2. Método, de acordo com a reivindicação 1, compreendendo adicionalmente determinar o contexto para o bloco atual com base pelo menos em parte nos modos de intra-previsão para pelo menos um bloco vizinho esquerdo ao bloco atual e um bloco vizinho acima do bloco atual e preferivelmente compreendendo adicionalmente determinar o contexto para o bloco atual com base pelo menos em parte em um tamanho do bloco atual e em particular em que cada um dos modos de intra-previsão corresponde a um índice de modo de intra-previsão respectivo.
3. Método, de acordo com a reivindicação 2, em 5 que determinar o índice de modo de intra-previsão compreende determinar o índice de modo de intra-previsão modificado mais um é maior que ou igual a um índice de modo para o primeiro modo de intra-previsão mais provável e maior que ou igual a um índice de modo para o segundo modo de intra-previsão mais provável, e em que selecionar o modo de intra-previsão compreende selecionar o modo de intra- previsão correspondendo a um índice de modo que é duas vezes maior que o índice de modo de intra-previsão modificado.
4. Método, de acordo com a reivindicação 2, em que determinar o índice de modo de intra-previsão compreende determinar os índices de modo de intra-previsão modificados são menores que um índice de modo para o primeiro modo de intra-previsão mais provável e menor que um índice de modo para o segundo modo de intra-previsão mais provável, e em que selecionar o modo de intra-previsão compreende selecionar o modo de intra-previsão possuindo um índice de modo igual ao índice de modo de intra-previsão modificado.
5. Método, de acordo com a reivindicação 2, em que determinar o índice de modo de intra-previsão compreende determinar o modo de intra-previsão modificado mais um é maior que ou igual a um índice de modo para o primeiro modo de intra-previsão mais provável e menor que um índice de modo para o segundo modo de intra-previsão mais provável, e em que selecionar o modo de intra-previsão compreende selecionar o modo de intra-previsão correspondendo a um índice de modo que é uma vez maior que o índice de modo de intra-previsão modificado.
6. Método, de acordo com a reivindicação 1, compreendendo adicionalmente: 5 determinar mais de dois modos de intra-previsão mais prováveis.
7. Aparelho para decodificação de vídeo, compreendendo: mecanismos para determinar um primeiro modo de intra-previsão mais provável e um segundo modo de intra- previsão mais provável para um bloco atual de dados de vídeo com base em um contexto para o bloco atual; mecanismos para realizar um processo de codificação aritmética binária adaptativa com base em contexto, CABAC, para determinar uma palavra-código recebida, em que a palavra-código recebida corresponde a um índice de modo de intra-previsão modificado; mecanismos para determinar um índice de modo de intra-previsão, j, por comparar o índice de modo de intra- previsão modificado a um índice de modo de intra-previsão para o primeiro modo mais provável, m1, e um índice de modo de intra-previsão para o segundo modo mais provável, m2; mecanismos para selecionar com base em um mapeamento dos índices de modo de intra-previsão em modos de intra-previsão, um modo intra-previsão além do primeiro modo intra-previsão mais provável e o segundo modo de intra-previsão mais provável para decodificar o bloco atual, em que o modo de intra-previsão selecionado corresponde ao índice de modo de intra-previsão determinado; e mecanismos para decodificar o bloco atual utilizando o modo de intra-previsão selecionado.
8. Aparelho, de acordo com a reivindicação 7, em que o decodificador de vídeo é adicionalmente configurado para determinar o contexto para o bloco atual com base pelo menos em parte em modos de intra-previsão para pelo menos 5 um dentre um bloco vizinho esquerdo ao bloco atual e um bloco vizinho acima do bloco atual e preferivelmente em que o decodificador de vídeo é adicionalmente configurado para determinar o contexto para o bloco atual com base pelo menos em parte em um tamanho do bloco atual e em particular em que cada um dos modos de intra-previsão corresponde a um índice de modo respectivo.
9. Aparelho, de acordo com a reivindicação 7, em que quando o índice de modo determinado dos índices de modo intra-previsão modificados mais um é maior que ou igual a um índice de modo para o primeiro modo de intra-previsão mais provável e maior que ou igual a um índice de modo para o segundo modo de intra-previsão mais provável, os mecanismos para selecionar o modo de intra-previsão compreende mecanismos para selecionar o modo de intra- previsão correspondendo a um índice de modo que é duas vezes maior que o índice de modo de intra-previsão modificado.
10. Aparelho, de acordo com a reivindicação 8, em que quando o índice de modo determinado dos índices de modo de intra-previsão modificados é menor que um índice de modo para o primeiro modo de intra-previsão mais provável e menor que um índice de modo para o segundo modo de intra- previsão mais provável, os mecanismos para selecionar o modo de intra-previsão compreendem mecanismos para selecionar o modo de intra-previsão possuindo um índice de modo igual ao índice de modo de intra-previsão modificado.
11. Aparelho, de acordo com a reivindicação 8, em que quando o índice de modo determinado dos índices de modo de intra-previsão modificados mais um é maior que ou igual a um índice de modo para o primeiro modo de intra-previsão mais provável e menor que um índice de modo para o segundo modo de intra-previsão mais provável, os mecanismos para 5 selecionar o modo de intra-previsão compreendendo mecanismos para selecionar o modo de intra-previsão correspondendo a um índice de modo que é uma vez maior que o índice de modo de intra-previsão modificado.
12. Aparelho, de acordo com a reivindicação 7, compreendendo adicionalmente: mecanismos para determinar mais de dois modos de intra-previsão mais prováveis.
13. Método de codificação de dados de vídeo, o método compreendendo: determinar um primeiro modo de intra-previsão mais provável, m1, e um segundo modo de intra-previsão mais provável, m2, para um bloco atual de dados de vídeo com base em um contexto de codificação para o bloco atual; codificar o bloco atual utilizando um modo de intra-previsão além do primeiro modo de intra-previsão provável e o segundo modo de intra-previsão mais provável; determinar um índice de modo de intra-previsão para um dos modos de intra-previsão fora o primeiro modo de intra-previsão mais provável e o segundo modo de intra- previsão mais provável; determinar um índice de modo de intra-previsão modificado por comparar o índice de modo de intra-previsão para um dos modos de intra-previsão fora o primeiro modo de intra-previsão mais provável e o segundo modo de intra- previsão mais provável a um índice de modo de intra- previsão para o primeiro modo de intra-previsão mais provável, m1, e um índice de modo de intra-previsão para o segundo modo de intra-previsão mais provável, m2;
selecionar a partir de uma tabela de palavras- código compreendendo uma pluralidade de palavras-código correspondentes aos índices de modo de intra-previsão modificados, uma palavra-código correspondendo ao índice de 5 intra-previsão modificado; e codificar a palavra-código a partir da tabela de palavras-código pela realização de um processo de codificação aritmética binária adaptativa com base em contexto, CABAC.
14. Aparelho para codificação de dados de vídeo, o aparelho compreendendo: mecanismos para determinar um primeiro modo de intra-previsão mais provável, m1 , e um segundo modo de intra-previsão mais provável, m2, para um bloco de dados de vídeo atual com base em um contexto de codificação para o bloco atual; mecanismos para codificar o bloco atual utilizando um dos modoso de intra-previsão além do primeiro modo de intra-previsão mais provável, m1, e o segundo modo de intra-previsão mais provável, m2; mecanismos para determinar um índice de modo de intra-previsão para um dos modos de intra-previsão fora o primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável; mecanismos para determinar um índice de modo de intra-previsão modificado por comparar o índice de modo de intra-previsão para um dos modos de intra-previsão fora o primeiro modo de intra-previsão mais provável e o segundo modo de intra-previsão mais provável a um índice de modo de intra-previsão para o primeiro modo de intra-previsão mais provável, m1, e um índice de modo de intra-previsão para o segundo modo de intra-previsão mais provável, m2;
mecanismos para selecionar a partir de uma tabela de palavras-código compreendendo uma pluralidade de palavras-código correspondentes aos índices de modo de intra-previsão modificados, uma palavra-código 5 correspondendo ao índice de intra-previsão modificado; e mecanismos para codificar a palavra-código a partir da tabela de palavras-código pela realização de um processo de codificação aritmética binária adaptativa com base em contexto, CABAC.
15. Meio de armazenamento legível por computador possuindo armazenadas, no mesmo, instruções que quando executadas fazem com que um ou mais processadores realizem o método de acordo com qualquer uma das reivindicações de 1 a 6 ou 13.
BR112013017423-4A 2011-01-06 2012-01-05 Indicação de seleção de modo intra-previsão para codificação de vídeo utilizando cabac BR112013017423B1 (pt)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161430520P 2011-01-06 2011-01-06
US61/430,520 2011-01-06
US201161446402P 2011-02-24 2011-02-24
US61/446,402 2011-02-24
US201161448623P 2011-03-02 2011-03-02
US61/448,623 2011-03-02
US13/343,573 US8913662B2 (en) 2011-01-06 2012-01-04 Indicating intra-prediction mode selection for video coding using CABAC
US13/343,573 2012-01-04
PCT/US2012/020346 WO2012094506A1 (en) 2011-01-06 2012-01-05 Indicating intra-prediction mode selection for video coding using cabac

Publications (2)

Publication Number Publication Date
BR112013017423A2 true BR112013017423A2 (pt) 2020-09-01
BR112013017423B1 BR112013017423B1 (pt) 2022-06-07

Family

ID=46455223

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013017423-4A BR112013017423B1 (pt) 2011-01-06 2012-01-05 Indicação de seleção de modo intra-previsão para codificação de vídeo utilizando cabac

Country Status (17)

Country Link
US (1) US8913662B2 (pt)
EP (1) EP2661890B1 (pt)
JP (1) JP5731013B2 (pt)
KR (1) KR101518157B1 (pt)
CN (1) CN103299628B (pt)
AU (1) AU2012204302B2 (pt)
BR (1) BR112013017423B1 (pt)
CA (1) CA2823948C (pt)
DK (1) DK2661890T3 (pt)
ES (1) ES2692387T3 (pt)
HU (1) HUE039795T2 (pt)
IL (1) IL226974A (pt)
MY (1) MY164378A (pt)
RU (1) RU2554545C2 (pt)
SG (1) SG191201A1 (pt)
SI (1) SI2661890T1 (pt)
WO (1) WO2012094506A1 (pt)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5732454B2 (ja) * 2009-07-06 2015-06-10 トムソン ライセンシングThomson Licensing 空間変化残差符号化を行う方法および装置
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
US9716886B2 (en) * 2010-08-17 2017-07-25 M&K Holdings Inc. Method for restoring an intra prediction mode
US20120163456A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
AU2011354441B2 (en) 2011-01-07 2014-07-17 Hfi Innovation Inc. Method and apparatus of improved intra luma prediction mode coding
WO2012134246A2 (ko) * 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
KR101876173B1 (ko) * 2011-06-17 2018-07-09 엘지전자 주식회사 인트라 예측 모드 부호화/복호화 방법 및 장치
US8929455B2 (en) * 2011-07-01 2015-01-06 Mitsubishi Electric Research Laboratories, Inc. Method for selecting transform types from mapping table for prediction modes
WO2013039676A1 (en) 2011-09-13 2013-03-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra mode coding in hevc
KR102005468B1 (ko) * 2011-10-24 2019-10-01 (주)대가람 복원 블록을 생성하는 방법 및 장치
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
US9088796B2 (en) * 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
US20130114686A1 (en) * 2011-11-08 2013-05-09 Sharp Laboratories Of America, Inc. Video decoder with enhanced cabac motion vector decoding
JP2013126093A (ja) * 2011-12-14 2013-06-24 Sony Corp 画像処理装置及び画像処理方法
WO2013106986A1 (en) * 2012-01-16 2013-07-25 Mediatek Singapore Pte. Ltd. Methods and apparatuses of intra mode coding
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
WO2014005924A1 (en) * 2012-07-05 2014-01-09 Thomson Licensing Video coding and decoding method with adaptation of coding modes
WO2014110452A1 (en) * 2013-01-11 2014-07-17 Futurewei Technologies Co., Ltd. Method and apparatus of depth prediction mode selection
US9426473B2 (en) 2013-02-01 2016-08-23 Qualcomm Incorporated Mode decision simplification for intra prediction
US9148667B2 (en) 2013-02-06 2015-09-29 Qualcomm Incorporated Intra prediction mode decision with reduced storage
US9369708B2 (en) 2013-03-27 2016-06-14 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US9516306B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
WO2014172387A1 (en) * 2013-04-15 2014-10-23 Huawei Technologies Co., Ltd. Method and apparatus of depth prediction mode selection
US9787989B2 (en) * 2013-06-11 2017-10-10 Blackberry Limited Intra-coding mode-dependent quantization tuning
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
CN105659606B (zh) 2013-10-14 2019-06-18 微软技术许可有限责任公司 用于视频和图像编码和解码的方法、系统和介质
BR112016012009B1 (pt) 2013-11-27 2023-11-07 Hfi Innovation Inc Método de sinalização de modo de codificação incluindo um modo intrabc para uma imagem
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
KR102353787B1 (ko) 2014-01-03 2022-01-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
KR102401946B1 (ko) 2014-03-04 2022-05-24 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 인트라 블록 카피 예측에서의 스킵 모드 및 블록 플립핑
US9455743B2 (en) * 2014-05-27 2016-09-27 Qualcomm Incorporated Dedicated arithmetic encoding instruction
KR102311815B1 (ko) 2014-06-19 2021-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
US10085028B2 (en) * 2014-06-26 2018-09-25 Futurewei Technologies, Inc. Method and device for reducing a computational load in high efficiency video coding
JP2017535145A (ja) 2014-09-30 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
FR3051309A1 (fr) * 2016-05-10 2017-11-17 Bcom Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
CN108737841B (zh) * 2017-04-21 2020-11-24 腾讯科技(深圳)有限公司 编码单元深度确定方法及装置
US10560723B2 (en) 2017-05-08 2020-02-11 Qualcomm Incorporated Context modeling for transform coefficient coding
US10630978B2 (en) * 2017-05-12 2020-04-21 Blackberry Limited Methods and devices for intra-coding in video compression
US10484695B2 (en) 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
US10645381B2 (en) 2018-04-30 2020-05-05 Google Llc Intra-prediction for smooth blocks in image/video
KR20190140862A (ko) * 2018-06-12 2019-12-20 한국전자통신연구원 문맥 적응적 이진 산술 부호화 방법 및 장치
KR20210046804A (ko) * 2018-09-07 2021-04-28 주식회사 비원영상기술연구소 영상 부호화/복호화 방법 및 장치
GB2580084B (en) 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
CN111010577B (zh) * 2018-12-31 2022-03-01 北京达佳互联信息技术有限公司 一种视频编码中帧内帧间联合预测的方法和设备及介质
US11172197B2 (en) * 2019-01-13 2021-11-09 Tencent America LLC Most probable mode list generation scheme
CN113661712A (zh) * 2019-03-12 2021-11-16 夏普株式会社 在视频编码中用于执行帧内预测编码的系统和方法
US11405638B2 (en) * 2019-03-17 2022-08-02 Tencent America LLC Method and apparatus for video coding by determining intra prediction direction based on coded information of neighboring blocks

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0155784B1 (ko) 1993-12-16 1998-12-15 김광호 영상데이타의 적응형 가변장 부호화/복호화방법
KR970009408B1 (ko) 1994-01-18 1997-06-13 대우전자 주식회사 인터/인트라 테이블 선택 회로
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
CN100481955C (zh) * 2000-12-06 2009-04-22 真实网络公司 对视频数据进行内编码的方法和设备
WO2003084241A2 (en) 2002-03-22 2003-10-09 Realnetworks, Inc. Context-adaptive macroblock type encoding/decoding methods and apparatuses
JP4130780B2 (ja) * 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
US7170937B2 (en) 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
DE60345459C5 (de) 2002-06-11 2022-11-17 Nokia Technologies Oy Intracodierung auf der basis räumlicher prädiktion
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US7194137B2 (en) 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
US7778472B2 (en) * 2006-03-27 2010-08-17 Qualcomm Incorporated Methods and systems for significance coefficient coding in video compression
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
JP2008199100A (ja) 2007-02-08 2008-08-28 Toshiba Corp 可変長符号復号装置
US7535387B1 (en) * 2007-09-10 2009-05-19 Xilinx, Inc. Methods and systems for implementing context adaptive binary arithmetic coding
BRPI0818444A2 (pt) 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
NO328295B1 (no) * 2007-12-20 2010-01-25 Tandberg Telecom As VLC-fremgangsmate og -innretning
US8891615B2 (en) * 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
JP5189172B2 (ja) * 2008-01-22 2013-04-24 ドルビー ラボラトリーズ ライセンシング コーポレイション 適応性動き情報コスト推定
US8761253B2 (en) 2008-05-28 2014-06-24 Nvidia Corporation Intra prediction mode search scheme
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
KR101507344B1 (ko) * 2009-08-21 2015-03-31 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체
CA2784517A1 (en) * 2009-12-17 2011-06-23 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for video coding
KR101789634B1 (ko) * 2010-04-09 2017-10-25 엘지전자 주식회사 비디오 데이터 처리 방법 및 장치
US20120106640A1 (en) * 2010-10-31 2012-05-03 Broadcom Corporation Decoding side intra-prediction derivation for video coding

Also Published As

Publication number Publication date
AU2012204302B2 (en) 2015-05-28
KR20130121932A (ko) 2013-11-06
CN103299628A (zh) 2013-09-11
SI2661890T1 (sl) 2018-10-30
KR101518157B1 (ko) 2015-05-06
BR112013017423B1 (pt) 2022-06-07
RU2554545C2 (ru) 2015-06-27
ES2692387T3 (es) 2018-12-03
CA2823948C (en) 2015-09-29
DK2661890T3 (en) 2018-11-19
EP2661890A1 (en) 2013-11-13
SG191201A1 (en) 2013-07-31
MY164378A (en) 2017-12-15
US20120177118A1 (en) 2012-07-12
AU2012204302A1 (en) 2013-07-18
EP2661890B1 (en) 2018-07-25
US8913662B2 (en) 2014-12-16
JP2014506067A (ja) 2014-03-06
JP5731013B2 (ja) 2015-06-10
CN103299628B (zh) 2016-10-05
CA2823948A1 (en) 2012-07-12
IL226974A (en) 2017-05-29
RU2013136381A (ru) 2015-02-20
HUE039795T2 (hu) 2019-02-28
WO2012094506A1 (en) 2012-07-12

Similar Documents

Publication Publication Date Title
BR112013017423A2 (pt) indicação de seleção de modo intra-previsão para codificação de vídeo utilizando cabac
EP2622864B1 (en) Indicating intra-prediction mode selection for video coding
KR101752989B1 (ko) 인트라 예측을 위한 모드 결정 단순화
KR101618021B1 (ko) 인트라 예측 모드들의 서브세트 및 대응하는 방향 변환들을 이용한 비디오 코딩
KR101632776B1 (ko) 비디오 코딩에 대한 구문 엘리먼트들의 공동 코딩
KR20190007427A (ko) 인트라 예측 모드들의 이웃 기반의 시그널링
BR112013007563B1 (pt) Filtro de intra suavização para codificação de vídeo
BR112013013650B1 (pt) Método, dispositivo e meio legível por computador para codificar coeficientes associados a um bloco de dados de vídeo durante um processo de codificação de vídeo
BR122020003135B1 (pt) Método e dispositivo para decodificar dados de vídeo e meio de armazenamento não transitório legível por computador
BR112013022516B1 (pt) Modulação de código de pulso quantizada em codificação de vídeo
BR112013032110B1 (pt) Método e equipamento para codificar um vetor de movimento em um processo de codificação de vídeo, método e equipamento para decodificar um vetor de movimento em um processo de codificação de vídeo e memória legível por computador
BR112013031197B1 (pt) Método e dispositivo para codificação de vídeo, e memória legível por computador
JP2014504820A (ja) マッピングされた変換と走査モードとを使用するビデオコード化
BR112021015212A2 (pt) Redução de bin codificado regular para codificação de coeficiente usando limiar
TW202228437A (zh) 用於在視訊寫碼中最可能模式列表建構的解碼器側幀內模式推導

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B15K Others concerning applications: alteration of classification

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

Ipc: H04N 19/11 (2006.01), H04N 19/13 (2006.01), H04N 1

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 05/01/2012, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.