BR112013031197B1 - Método e dispositivo para codificação de vídeo, e memória legível por computador - Google Patents

Método e dispositivo para codificação de vídeo, e memória legível por computador Download PDF

Info

Publication number
BR112013031197B1
BR112013031197B1 BR112013031197-5A BR112013031197A BR112013031197B1 BR 112013031197 B1 BR112013031197 B1 BR 112013031197B1 BR 112013031197 A BR112013031197 A BR 112013031197A BR 112013031197 B1 BR112013031197 B1 BR 112013031197B1
Authority
BR
Brazil
Prior art keywords
intra
mode
prediction
block
modes
Prior art date
Application number
BR112013031197-5A
Other languages
English (en)
Other versions
BR112013031197A2 (pt
Inventor
Wei-Jung Chien
Xianglin Wang
Marta Karczewicz
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 BR112013031197A2 publication Critical patent/BR112013031197A2/pt
Publication of BR112013031197B1 publication Critical patent/BR112013031197B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

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

SINALIZAÇÃO DE MODO DE INTRA-PREDIÇÃO MELHORADA PARA CODIFICAÇÃO DE VÍDEO UTILIZANDO MODO DE VIZINHOS. Essa descrição descreve técnicas para sinalização de modo de intra-predição para a codificação de vídeo. Em um exemplo, um codificador de vídeo é configurado para determinar, para um bloco de dados de vídeo, um conjunto de modos de intra-predição mais prováveis de modo que o conjunto de modos de intra-predição mais prováveis tenha um tamanho que é igual a um número predeterminado que é maior do que ou igual a dois. O codificador de vídeo também é configurado para codificar um valor representativo de um modo de intra-predição atual para o bloco com base pelo menos em parte no conjunto de modos de intra-predição mais prováveis e codificar o bloco utilizando o modo de intra-predição atual. O codificador de vídeo pode ser adicionalmente configurado para codificar o bloco utilizando o modo de intra-predição atual, por exemplo, para codificar ou decodificar o bloco. Os codificadores de vídeo e decodificadores de vídeo podem implementar essas técnicas.

Description

[0001] Esse pedido se refere e reivindica prioridade do pedido de patente provisório U.S. No. 61/495.332, depositado em 9 de junho de 2011; pedido provisório U.S. No. 61/503.712, depositado em 1 de julho de 2011; pedido provisório U.S. No. 61/504.664, depositado em 5 de julho de 2011; e pedido provisório U.S. No. 61/533.118, depositado em 9 de setembro de 2011; a totalidade do conteúdo de cada um sendo incorporada aqui por referência.
Campo da Invenção
[0002] Essa descrição refere-se à codificação de vídeo, e mais particularmente, à sinalização de características de codificação para os dados de vídeo codificados.
Descrição da Técnica Anterior
[0003] Capacidades de vídeo digital podem ser incorporadas em uma ampla faixa de dispositivos, incluindo televisões digitais, sistemas de difusão direta digitais, sistemas de difusão sem fio, assistentes digitais pessoais (PDAs), computadores laptop ou desktop, câmeras digitais, dispositivos de gravação digital, aparelhos de mídia digital, dispositivos de jogos de vídeo, consoles de jogos de vídeo, telefones celulares ou de rádio via satélite, dispositivos de teleconferência de vídeo, e similares. Os dispositivos de vídeo digital implementam técnicas de compressão de vídeo, tal como as descritas nos padrões definidos por MPEG-2, MPEG-4, ITU-T H.263 ou 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 receber informação de vídeo digital de forma mais eficiente.
[0004] As técnicas de compressão de vídeo atualizam a predição espacial (imagem-intra) e/ou predição temporal (imagem-inter) para reduzir ou remover a redundância inerente às sequências de vídeo. Para a codificação de vídeo com base em bloco, um quadro de vídeo, imagem, ou fatia pode ser dividida em blocos de vídeo. Cada bloco de vídeo pode ser adicionalmente dividido. Os blocos de vídeo em um quadro intra-codificado (I) ou fatia são codificados utilizando-se predição especial com relação aos blocos de vídeo vizinhos no mesmo quadro, imagem ou fatia. Os blocos de vídeo em um quadro ou fatia inter-codificado (P ou B) podem utilizar a predição espacial com relação aos macro blocos vizinhos no mesmo quadro ou fatia ou a predição temporal com relação a outras quadros de referência. Como utilizado aqui, os termos "imagem" podem se referidos como quadros, e "imagens de referência" podem ser referidos como quadros de referência.
[0005] A predição espacial ou temporal resulta em um bloco de predição para um bloco a ser codificado. Os dados residuais representam diferenças de pixel entre o bloco original a ser codificado e o bloco de predição. Um bloco inter-codificado é codificado de acordo com um vetor de movimento que aponta para um bloco de amostras de referência formando o bloco de predição, e os dados residuais indicando a diferença entre o bloco codificado e o bloco de predição. Um bloco intra-codificado é codificado de acordo com um modo de intra-codificação e os dados residuais. Para compressão adicional, os dados residuais podem ser transformados a partir do domínio de pixel para um domínio de transformação, resultando em coeficientes de transformação residual, que então podem ser quantizados. Os coeficientes de transformação quantizados, inicialmente dispostos em um conjunto bidimensional, podem ser digitalizados a fim de produzir um vetor unidimensional de coeficientes de transformação, e a codificação por entropia pode ser aplicada para alcançar uma compressão ainda maior.
Sumário da Invenção
[0006] Em geral, essa descrição descreve técnicas para sinalização de modos de intra-predição para codificação de vídeo. As técnicas dessa descrição podem aperfeiçoar a eficiência para sinalização de um modo de codificação de intra-predição utilizado para codificar por intra-modo um bloco de dados de vídeo. Os dados de vídeo incluem uma sequência de quadros (ou imagens) reproduzidos em rápida sucessão para simular o movimento. Cada um dos quadros pode ser dividido em blocos. As técnicas dessa descrição incluem fixação de um número de candidatos ao modo de intra-predição mais prováveis para mais que ou igual a dois para cada bloco dentro de um quadro. Dessa forma, pode haver um aperfeiçoamento relativo na eficiência para analisar o processamento de decodificação e uma redução na utilização de memória quando utilizando as técnicas dessa descrição.
[0007] Em um exemplo, um método de codificação de dados de vídeo, o método compreendendo a determinação, para um bloco de dados de vídeo, de um conjunto de modos intra- predição mais prováveis de modo que o conjunto de modos de intra-predição mais prováveis possui um tamanho que é igual a um número predeterminado que é maior que ou igual a dois. O método também compreende a codificação de um valor representativo de um modo de intra-predição atual para o bloco com base pelo menos em parte no conjunto de modos de intra-predição mais provável e codificação do bloco utilizando o modo de intra-predição atual.
[0008] Em outro aspecto, um dispositivo de codificação de dados compreende um codificador de vídeo configurado para determinar, para um bloco de dados de vídeo, um conjunto de modos de intra-predição mais provável de modo que o conjunto de modos de intra-predição mais prováveis tenha um tamanho que seja igual a um número predeterminado que é maior do que ou igual a dois. O codificador de vídeo também é configurado para codificar um valor representativo de um modo de intra-predição atual para o bloco com base pelo menos em parte no conjunto de modos de intra-predição mais prováveis. O codificador de vídeo é adicionalmente configurado para e codifica o bloco utilizando o modo de intra-predição atual.
[0009] Em outro aspecto, um meio legível por computador compreende o meio de armazenamento legível por computador possuindo armazenado no mesmo instruções que, quando executadas, fazem com que um processador de um dispositivo de codificação de vídeo determine, para um bloco de dados de vídeo, um conjunto de modos de intra-predição mais prováveis de modo que o conjunto de modos de intra- predição mais prováveis tenha um tamanho que é igual a um número predeterminado que é maior que ou igual a dois. As instruções fazem adicionalmente com que o processador codifique um valor representativo de um modo de intra- predição atual para o bloco com base pelo menos em parte no conjunto de modos de intra-predição mais prováveis e codifique o bloco utilizando o moto de intra-predição atual.
[0010] Em outro aspecto, um dispositivo é fornecido compreendendo meios para a determinação, para um bloco de dados de vídeo, de um conjunto de modos de intra-predição mais prováveis de modo que o conjunto de modos de intra- predição mais prováveis tenha um tamanho que seja igual a um número predeterminado que é maior que ou igual a dois. O aparelho também compreende meios de codificação de um valor representativo de um modo de intra-predição atual para o bloco com base pelo menos em parte no conjunto de modos de intra-predição mais prováveis e meios para codificação do bloco utilizando o modo de intra-predição atual.
[0011] As técnicas descritas nessa descrição podem ser implementadas em hardware, software, firmware ou qualquer combinação dos mesmos. Se implementadas em software, o software pode ser executado em um processador, que pode se referir a um ou mais processadores, tal como um microprocessador, circuito integrado específico de aplicativo (ASIC), conjunto de porta programável em campo (FPGA), ou processador de sinal digital (DSP), ou outro conjunto de circuito lógico discreto ou integrado equivalente. O software compreendendo instruções para execução das técnicas pode ser inicialmente armazenado em um meio legível por computador e carregado e executado por um processador.
[0012] De acordo, essa descrição também contempla uma mídia legível por computador compreendendo instruções para fazer com que um processador atualize qualquer uma dentre uma variedade de técnicas como descrito nessa descrição. Em alguns casos, o meio legível por computador pode formar parte de um produto de programa de computador, que pode ser vendido para fabricantes e/ou utilizado em um dispositivo. O produto de programa de computador pode incluir um meio legível por computador, e em alguns casos, também pode incluir materiais de empacotamento.
[0013] Essa descrição também se aplica a sinais eletromagnéticos portando informação. Por exemplo, um sinal eletromagnético pode compreender informação referente ao suporte de pixel total utilizado para interpolar um valor para um pixel sub-inteiro de uma amostra de referência. Em alguns exemplos, um sinal pode ser gerado a partir de ou transmitido por um dispositivo implementando as técnicas descritas aqui. Em outros exemplos, essa descrição pode se aplicar a sinais que podem ser recebidos em um dispositivo implementando as técnicas descritas aqui.
[0014] Os detalhes de um ou mais aspectos da descrição são apresentados nos desenhos em anexo e na descrição abaixo. Outras características, objetivos e vantagens das técnicas descritas nessa descrição serão aparentes a partir da descrição e dos desenhos e a partir das reivindicações.
Breve Descrição das Figuras
[0015] Figura 1 - representa um exemplo de três blocos, incluindo um bloco atual a ser codificado e dois blocos vizinhos.
[0016] Figura 2 - é um diagrama em blocos ilustrando um sistema de codificação e decodificação de vídeo ilustrativo que pode utilizar as técnicas para codificação de dados de sintaxe representativos dos modos de intra- predição para os blocos de dados de vídeo.
[0017] Figura 3 - é um diagrama em blocos ilustrando um exemplo de um codificador de vídeo que pode implementar as técnicas para codificação de informação indicativa de um modo de intra-predição.
[0018] Figura 4 - é um diagrama em blocos ilustrando um exemplo de um decodificador de vídeo, que decodifica uma sequência de vídeo codificada.
[0019] Figura 5 - é um diagrama ilustrando um exemplo de 35 modos de intra-predição e suas direções de predição correspondentes;
[0020] Figura 6 - é um diagrama ilustrando outro exemplo de 35 modos de intra-predição e suas direções de predição correspondentes.
[0021] Figura 7 - é um fluxograma ilustrando um exemplo de um método de sinalização de modo de intra-predição para codificação de vídeo.
[0022] Figura 8 - é um fluxograma ilustrando um exemplo de um método de determinação dos candidatos ao modo de intra-predição mais prováveis quando um conjunto de modos de intra-predição mais prováveis é igual a três.
Descrição Detalhada
[0023] Em geral, essa descrição descreve técnicas para sinalização de modos de intra-predição para codificação de vídeo. As técnicas dessa descrição podem aperfeiçoar a eficiência de sinalização de um modo de codificação de intra- predição utilizado para a intra-codificação de um bloco de dados de vídeo. Um codificador de vídeo, por exemplo, pode incluir um conjunto de dois ou mais modos de intra-predição candidatos para um bloco atual que inclui dois (ou mais) modos de intra-predição mais prováveis com base nos modos de intra-predição de blocos vizinhos ao bloco atual. O conjunto candidato pode incluir índices para dois ou mais modos de intra-predição mais prováveis. Como utilizado aqui, "modos" podem ser utilizados geralmente para fazer referência aos "modos de intra-predição".
[0024] Em alguns exemplos, as técnicas dessa descrição fornecem conjuntos candidatos eficientes de modos de intra-predição com base no tipo de dados de vídeo sendo previstos. Por exemplo, sob determinadas condições, determinados modos de intra-predição podem ser incluídos como um modo de intra-predição provável quando o conjunto de modos de intra-predição mais prováveis inclui 3 ou mais modos, tal como um modo plano ou DC.
[0025] Os dados de vídeo incluem uma sequência de quadros (ou imagens) reproduzidos em sucessão rápida para simular movimento. Cada um dos quadros pode ser dividido em blocos. Como utilizado aqui, os termos "quadro" e "imagem" podem ser utilizados de forma intercambiável.
[0026] Os codificadores de vídeo codificam os dados de vídeo pela utilização de redundância espacial ou temporal. Por exemplo, um codificador de vídeo pode levar vantagem da redundância espacial pela predição de um bloco com relação aos blocos previamente codificados, vizinhos. Da mesma forma, um codificador de vídeo pode levar vantagem da redundância temporal pela predição de um bloco com relação a dados de quadros previamente codificados. Em particular, o codificador de vídeo prevê um bloco atual a partir dos dados de um vizinho espacial ou de dados de um ou mais quadros codificados previamente. O codificador de vídeo então calcula um valor residual para o bloco como uma diferença entre o valor atual para o bloco e o valor previsto para o bloco. O codificador de vídeo utiliza unidades de predição (PUs) para representar os dados de predição para uma unidade de codificação (CU) e unidades de transformação (TUs) para representar os dados residuais. Os dados residuais para um bloco incluem valores de diferença de pixel por pixel no domínio de pixel (ou espacial). O codificador de vídeo pode transformar adicionalmente os dados residuais, representando os dados no domínio de transformação.
[0027] Um decodificador de vídeo pode receber dados codificados para um bloco codificado. Os dados codificados podem incluir uma representação do modo de predição utilizado para codificar o bloco, além de uma indicação de divisão de PUs para o bloco. Dessa forma, o decodificador de vídeo pode utilizar a mesma partição de PUs e aplicar o mesmo modo de predição para decodificar o bloco. Para reduzir a quantidade de bits consumidos na sinalização do modo de predição, os dispositivos de codificação de vídeo podem determinar as probabilidades de codificação de modos de predição para um bloco atual com base nos modos de codificação dos blocos vizinhos. A figura 1 representa um exemplo de três blocos de vídeo: A (4), B (6) e C (8). O bloco C(8) representa um bloco atual sendo codificado, o bloco A (4) representa um bloco codificado previamente, vizinho, do lado esquerdo com relação ao bloco C(8), e o bloco B(6) representa um bloco previamente codificado, vizinho, de cima com relação ao bloco C(8).
[0028] Para fins do exemplo da figura 1, os blocos A(4), B(6) e C(8) são blocos de uma imagem intra-predita, quadro ou fatia. Um dispositivo de codificação de vídeo, tal como um codificador de vídeo ou um decodificador de vídeo, pode determinar dois ou mais modos de intra-predição prováveis para o bloco C(8) com base nos modos de intra- predição dos blocos A(4) e B(6). Em geral, o bloco C é mais provável se ser previsto utilizando um modo do bloco A(4) ou bloco B(6). Tipicamente, quando os blocos A(4) e B(6) possuem o esmo modo intra-predição, o modo de intra-predição mais provável para o bloco C(8) será o modo de intra-predição para os blocos A(4) e B(6). Por outro lado, quando os blocos A(4) e B(6) possuem modos de intra-predição diferentes, um dispositivo de codificação de vídeo deve determinar se o modo de predição para o bloco C(8) é mais provável de ser o modo de intra-predição do bloco A(4) ou o modo de intra- predição do bloco B(6).
[0029] Mais particularmente, em Codificação de Vídeo de Alta Eficiência (HEVC) convencional, uma tabela de mapeamento pode ser utilizada para mapear os modos de intra- predição para índices de palavra código. Os índices de palavra código podem ser mapeados para outra tabela para códigos de comprimento variável (para CAVLC) ou valores binarizados (para CABAC). Adicionalmente, para cada bloco, um número de modos mais prováveis pode ser determinado, onde os modos mais prováveis podem ser designados índices menores, onde os menores índices são mais prováveis e, dessa forma, codificados utilizando-se menos bits. Na HEVC convencional, o número de modos mais prováveis pode variar com base no fato de se os blocos A(4) e B(6) possuem os mesmos modos de intra-predição ou modos diferentes.
[0030] Essa descrição fornece várias técnicas para o aperfeiçoamento de sinalização de modos de intra-predição para codificação de vídeo. Em um exemplo, ao invés de permitir que um número de modos mais prováveis varie para cada bloco, como discutido acima, pode sempre haver um número fixo de modos mais prováveis, que é igual a pelo menos dois. Enquanto o número de modos mais prováveis pode ser maior que dois nessas técnicas, o número de modos mais prováveis é fixado para todos os blocos em uma imagem. Em outras palavras, um dispositivo de codificação de vídeo pode ser configurado para utilizar um número predeterminado de modos mais prováveis para todos os blocos, e o número predeterminado pode ser maior que ou igual a dois.
[0031] Nesse exemplo, se os modos de intra-predição de blocos A(4) e B(6) forem diferentes, e o número predeterminado de modos mais prováveis para o bloco C(8) for igual a dois, então os dois modos de intra-predição mais prováveis para o bloco C(8) pode corresponder aos modos de intra-predição dos blocos A(4) e B(6). No entanto, se os modos de intra-predição dos blocos A(4) e B(6) forem iguais, o dispositivo de codificação de vídeo pode adicionar um segundo modo mais provável ao conjunto de modos mais prováveis.
[0032] Em alguns exemplos, se os modos de intra- predição dos blocos A(4) e B(6) forem iguais e o modo for um modo além do modo plano, então o segundo modo mais provável para o bloco C(8) é selecionado como modo plano. Por outro lado, se os modos de intra-predição dos blocos A(4) e B(6) são iguais e o modo é modo plano, então o segundo modo mais provável para o bloco C(8) é selecionado como o modo DC. Em alguns exemplos, o modo plano pode sempre ser mapeado para o valor de índice 0.
[0033] Para exemplos onde existem dois ou mais modos mais prováveis no número predeterminado de modos mais prováveis, esses modos podem corresponder aos modos de intra- predição que são similares no sentido das direções de intra- predição para os blocos A(4) e B(6).
[0034] Os exemplos discutidos acima fizeram referência aos modos de intra-predição para dados de luminância. Para dados de crominância, essa descrição propõe a fixação do número disponível de modos de intra-predição de modo que determinados modos de intra-predição sejam sempre modos de intra-predição candidatos em alguns exemplos. De forma convencional, seis modos estão disponíveis para os blocos de crominância: modo vertical, modo horizontal, modo DC, modo plano, modo de predição com base em sinal de luminância, e herança do modo de predição de luminância. A herança do modo de predição de luminância permite que o modo de crominância herde o modo do bloco de luminância correspondente. Devido a esse fato, dois símbolos, ou valores de índice, podem ser designados para o mesmo modo, por exemplo, quando o bloco de luminância é previsto utilizando o modo vertical, horizontal, DC ou plano. Efetivamente, isso significa que o bloco de crominância pode ter apenas cinco modos possíveis, ao invés de seis. Dessa forma, existe um sinal redundante para pelo menos um modo em tais situações.
[0035] Essa descrição propõe a adição de outro modo de intra-predição para os blocos de crominância quando um sinal redundante está disponível, em alguns exemplos. Assumindo-se que o bloco de luminância seja previsto utilizando um modo horizontal, vertical, DC ou plano, o modo correspondente ao valor de índice que deve, do contrário, indicar a herança do modo de intra-predição de luminância pode ser mapeado para um modo diferente do modo utilizado para o bloco de luminância correspondente. Esse modo adicional pode corresponder a um modo possuindo uma direção similar ao modo de bloco de luminância correspondente que não é, do contrário, disponível para o bloco de crominância.
[0036] De acordo com as técnicas da presente descrição, um processo de derivação ilustrativo para os modos de intra-predição de luminância podem incluir os seguintes registros: um local de luminância (xB, yB) especificando uma amostra de luminância de cima para esquerda de um bloco atual com relação a uma amostra de luminância de cima para a esquerda de uma imagem atual do bloco atual; uma variável, log2TrafoSize, especificando o tamanho da unidade de predição atual; e, se disponível, conjuntos variáveis, IntraPredMode, que são derivados para unidades de codificação adjacentes previamente decodificadas na ordem de decodificação. A saída desse processo de derivação pode ser denotada com a variável IntraPredMode[xB][yB].
[0037] A Tabela 1 específica um exemplo de um número de modos de intra-predição de luminância, intraPredModeNum, dependendo de log2TrafoSize, o tamanho de um bloco de predição atual. Tabela 1 - Especificação do intraPredModeNum
Figure img0001
[0038] A variável candModeList[x] define os modos de intra-predição que são disponíveis. A variável NumMPMCand define o número de candidatos de modo mais prováveis (MPM). De acordo com as técnicas descritas aqui, o número de MPM candidatos é fixado para todos os blocos em uma imagem ou quadro. Um codificador de vídeo pode ser configurado para sinalizar um valor representativo do número de candidatos MPM, por exemplo, em um conjunto de parâmetro de sequência (SPS) para uma sequência de imagens, um conjunto de parâmetros de imagem (PPS) para uma imagem individual, ou outra estrutura de dados. Da mesma forma, um decodificador de vídeo pode determinar o número de candidatos MPM pela interpretação de tais valores sinalizados.
[0039] O candModeList[x] e NumMPMCand podem ser derivados com base na presença e valores de candIntraPredModeN. Se ambos candIntraPredModeN não estiverem disponíveis, então o valor de índice 2 é designado para candModeList[0] e NumMPMCand é configurado igual a 1. Do contrário, se apenas um candIntraPredModeN estiver disponível, então esse candIntraPredModeN é designado para candModeList[0] e NumMPMCand é configurado igual a 1. Da mesma forma, se ambos candIntraPredModeN forem iguais, um candIntraPredModeN é designado para candModeList[0] e NumMPMCand é configurado igual a 1. Se ambos candIntraPredModeN forem diferentes, NumMPMCand é configurado igual a 2 e ambos candIntraPredModeN são designados para a lista de modos candidatos, com o menor dos dois candidatos em candModeList e o maior em candModeList[1]. A tabela 2 resume como candModeList[x] e NumMPMCand pode ser derivado. Tabela 2 - Especificação de intraPredModeNum
Figure img0002
Figure img0003
[0040] IntraPredMode[xB][yB] podem ser derivados pela aplicação do seguinte procedimento. Se prev_intra_pred_flag[xB][yB] é verdadeiro, IntraPredMode[xB][yB] é configurado igual a candModeList[mpm_idx[xB][yB]]. Do contrário, IntraPredMode[xB][yB] é derivado pela aplicação das seguintes equações: IntraPredMode[xB][yB]=rem_intra_luma_pred_mode para (cIdx = 0; cIdx < NumMPMCand; cIdx++) (1) se (IntraPredMode[xB][yB] > candModeList[cIdx]), então IntraPredMode[xB][yB]++ (2) Nesses exemplos, a variável rem_intra_pred_mode é sinalizada pela binarização de comprimento fixo com um contexto. A variável cIdx específica o componente de crominância do bloco atual.
[0041] Para sinalização de modo de intra-predição de crominância, HEVC atual permite seis modos incluindo: sinal vertical, horizontal, DC, plano, de luminância com base em predição de crominância, e herança do modo de predição de luminância. Dentre todos esses modos, a herança do modo de predição de luminância significa que a direção de predição de crominância é igual à direção de predição de luminância. Devido a isso, alguns símbolos redundantes são removidos se o modo de luminância for vertical, horizontal, DC ou plano. Como resultado disso, as tabelas de código possuem tamanhos diferentes para diferentes modos de predição de luminância.
[0042] Esse processo pode exigir o processo de decodificação adicional na memória de análise e adicional. Primeiro, a fim de analisar intra_pred_mode, o decodificador precisa decodificar intra_pred_mode dos blocos A e B vizinhos a fim de determinar candIntraPredModeA e candIntraPredModeB. Adicionalmente, o decodificador precisa determinar candModeList e NumMPMC. A memória adicional é necessária visto que seis bits são necessários em um armazenador de linha de decodificador para cada bloco 4x4 a fim de armazenar intra_pred_mode. Adicionalmente, a codificação de rem_intra_pred_mode não é eficiente devido à binarização de comprimento fixo e sua modelagem de contexto. Ademais, possuindo tamanhos diferentes de tabelas de código para o modo de predição de crominância exige se ter um conhecimento anterior do modo de predição de luminância antes de analisar o modo de predição de crominância.
[0043] A figura 2 é um diagrama em bloco ilustrando um sistema de codificação e decodificação de vídeo ilustrativo 10 que pode ser utilizado para implementar as várias técnicas descritas aqui. Como ilustrado na figura 2, o sistema 10 inclui um dispositivo de origem 12 que transmite dados de vídeo codificados para um dispositivo de destino 14 através de um canal de comunicação 16. O dispositivo de origem 12 e o dispositivo de destino 14 podem compreender qualquer uma dentre uma ampla faixa de dispositivos. Em alguns casos, o dispositivo de origem 12 e o dispositivo de destino 14 podem compreender dispositivos de comunicação sem fio, tal como aparelhos sem fio, os chamados radiotelefones via satélite ou celulares, ou qualquer dispositivo sem fio que possa comunicar informação de vídeo através de um canal de comunicação 16, caso no qual o canal de comunicação 16 é sem fio.
[0044] As técnicas dessa descrição, no entanto, 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 através do ar, transmissões de televisão a cabo, transmissões de televisão via satélite, transmissões de vídeo de Internet, vídeo digital codificado que é codificado em um meio de armazenamento ou outras situações. De acordo, o canal de comunicação 16 pode compreender qualquer combinação de mídia com ou sem 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 de origem 12 pode 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 codificado possa ser acessado pelo dispositivo de destino 14 como desejado.
[0045] No exemplo da figura 2, o dispositivo de origem 12 inclui uma fonte de vídeo 18, um codificador de vídeo 20 um modulador/demodulador (modem) 22, e um transmissor 24. O dispositivo de destino 14 inclui um receptor 26, um modem 28, e 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 de origem 12 pode ser configurado para aplicar as técnicas de codificação dos dados de sintaxe representativos dos modos de intra-predição para blocos de dados de vídeo. Em outros exemplos, um dispositivo de origem e um dispositivo de destino podem incluir outros componentes ou disposições. Por exemplo, o dispositivo de origem 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 interfacear com um dispositivo de exibição externo, ao invés de incluir um dispositivo de exibição integrado. O sistema ilustrado 10 da figura 2 é meramente um exemplo. As técnicas para codificação de dados de sintaxe representativos dos modos de intra-predição para os blocos de dados de vídeo podem ser atualizadas por qualquer dispositivo de codificação e/ou decodificação de vídeo digital. Apesar de geralmente as técnicas dessa descrição serem atualizadas por um dispositivo de codificação de vídeo, as técnicas podem ser atualizadas também por um codificador/decodificador de vídeo, tipicamente referido como um "CODEC". Ademais, as técnicas dessa descrição também podem ser atualizadas por um pré-processador de vídeo. O dispositivo de origem 12 e o dispositivo de destino 14 são meramente exemplos de tais dispositivos de codificação nos quais o dispositivo de origem 12 gera dados de vídeo codificados para transmissão para o dispositivo de destino 14. Em alguns exemplos, os dispositivos 12 e 14 podem operar de uma forma substancialmente simétrica de modo que cada um dos dispositivos 12 e 14 inclua componentes de codificação e decodificação de vídeo. Dessa forma, o sistema 10 pode suportar transmissão de vídeo de via única ou duas vias entre os dispositivos de vídeo 12, 14, por exemplo, para sequenciamento de vídeo, reprodução de vídeo, difusão de vídeo ou videotelefonia.
[0046] A fonte de vídeo 18 do dispositivo de origem 12 pode incluir um dispositivo de captura de vídeo, tal como uma câmera de vídeo, um arquivo de vídeo contendo vídeo previamente capturado, e/ou uma alimentação de vídeo a partir de um provedor de conteúdo de vídeo. Como uma alternativa adicional, a fonte de vídeo 18 pode gerar dados com base em gráfico 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 de origem 12 e o dispositivo de destino 14 podem formar os chamados telefones de câmera ou videotelefones. Como 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 aplicativos com e/ou sem fio. Em cada caso, o vídeo gerado por computador pré-capturado pode ser codificado pelo codificador de vídeo 20. A informação de vídeo codificada pode então ser modulada pelo modem 22 de acordo com um padrão de comunicação, e transmitida para o dispositivo de destino 14 através do transmissor 24. O modem 22 pode incluir vários misturadores, filtros, amplificadores ou outros componentes projetados para 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.
[0047] O receptor 26 do dispositivo de destino 14 recebe informação através do canal 16, e 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 dos modos de intra-predição para os blocos de dados de vídeo. a informação comunicada 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 elementos de sintaxe que descrevem as características e/ou processamento dos 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 a variedade de dispositivos de exibição tal como o tubo de raio catodo (CRT), um monitor de cristal líquido (LCD), um monitor de plasma, um monitor de diodo de emissão de luz orgânica (OLED), ou outro tipo de dispositivo de exibição.
[0048] No exemplo da figura 1, o canal de comunicação 16 pode compreender qualquer meio de comunicação com ou sem fio, tal como espectro de frequência de rádio (RF) ou uma ou mais linhas de transmissão física, ou qualquer combinação de meio com ou sem fio. O canal de comunicação 16 pode formar parte de uma rede com base em pacote, tal como a rede de área local, uma rede de área ampla, ou uma rede global tal como a Internet. O canal de comunicaçã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 a partir do dispositivo de origem 12 para o dispositivo de destino 14, incluindo qualquer combinação adequada de meio com ou sem fio. O canal de comunicação 16 pode incluir roteadores, comutadores, estações base, ou qualquer outro equipamento que pode ser útil para facilita a comunicação do dispositivo de origem 12 para o dispositivo de destino 14.
[0049] 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 de Vídeo Avançada (AVC). As técnicas dessa descrição, no entanto, não são limitadas a qualquer padrão de codificação em particular. Outros exemplos incluem MPEG-2 e ITU-T H.263. 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 codificador e decodificador de áudio, e podem incluir unidades MUX-DEMUX adequados, ou outro hardware e software, para manusear a codificação de ambos o áudio e o vídeo em uma corrente de dados comum ou correntes de dados separadas. Se aplicável, as unidades MUX- DEMUX podem se conformar ao protocolo de multiplexador ITU H.223, ou outros protocolos tais como o protocolo de datagrama de usuário (UDP).
[0050] 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 de Imagem em Movimento ISO/IEC (MPEG) como o produto de uma parceria 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 geralmente se conformam 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 o padrão H.264 ou especificação H.264, ou padrão ou especificação H.264/AVC. A Equipe de Vídeo Conjunta (JVT) continua a trabalhar nas extensões para H.264/MPEG-4 AVC.
[0051] 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 adequado, tal como um ou mais microprocessadores, processadores de sinal digital (DSPs), circuitos integrados de aplicação específica (ASICs), arranjos de portas programáveis em campo (FPGAs), lógica discreta, software, hardware, firmware ou qualquer combinação dos mesmos. Cada um dos 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 pode ser integrado como parte de um codificador/decodificador combinados (CODEC) em uma câmera, computador, dispositivo móvel, dispositivo de assinante, dispositivo de difusão, caixa decodificadora respectivos, ou similares.
[0052] 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 de GOP, um cabeçalho de um ou mais quadros de GOP, ou em outro local, que descreve um número de quadros incluídos 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, por exemplo, pode incluir um conjunto fixo de modos de intra-predição candidatos mais prováveis para cada bloco em um quadro, ou cada bloco dentro de cada quadro dentro de cada GOP. O conjunto fixo de candidatos MPM pode incluir dois (ou mais) modos de intra- predição mais prováveis com base nos modos de intra-predição dos blocos vizinhos de um bloco atual. O codificador de vídeo 20 opera tipicamente nos blocos de vídeo dentro dos quadros de vídeo a fim de codificar os dados de vídeo. Um bloco de vídeo pode corresponder a um bloco, uma CU, uma PU, ou uma TU. Os blocos de vídeo podem ter tamanhos fixos ou variáveis, e podem diferir em tamanho de acordo com um padrão de codificação especificado. Cada quadro de vídeo pode incluir uma pluralidade de fatias. Cada fatia pode incluir uma pluralidade de macro blocos, que podem ser dispostos em partições, também referidas como sub-blocos.
[0053] Como um exemplo, o padrão ITU-T H.264 suporta a intra-predição em vários tamanhos de bloco, tal como 16 por 16, 8 por 8, ou 4 por 4 para componentes de luminância, e 8x8 para componentes de cor, além de interpredição em vários tamanhos de bloco, tal como 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 e 4x4 para componentes de luminância e tamanhos escalonados correspondentes para componentes de cor. 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, 16x16 pixels ou 16 por 16 pixels. Em geral, um bloco de 16x16 terá 16 pixels em uma direção vertical (y=16) e 16 pixels em uma 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 precisam necessariamente ter o mesmo número de pixels na direção horizontal como na direção vertical. Por exemplo, os blocos podem compreender NxM pixels, onde M não é necessariamente igual a N.
[0054] Os tamanhos de bloco que são inferiores a 16 por 16 podem ser referidos como partições de um macro bloco de 16 por 16. 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 transformação tal como uma 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 representando diferenças de pixel entre os blocos de vídeo codificados e os blocos de vídeo previsíveis. Em alguns casos, um bloco de vídeo pode compreender blocos de coeficientes de transformação quantizados no domínio de transformação.
[0055] Blocos de vídeo menores podem fornecer melhor resolução, e podem ser utilizados para localizações de um quadro de vídeo que incluem altos níveis de detalhamento. Em 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 fatia 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 independentemente decodificável de um quadro de vídeo. Alternativamente, 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 se referir a qualquer unidade independentemente decodificável 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 independentemente descodificável definida de acordo com as técnicas de codificação aplicáveis.
[0056] Esforços estão atualmente em andamento para 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 dos 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 codificação intra-predição, HM fornece tanto quanto trinta e três modos de codificação de intra-predição, por exemplo, com base no tamanho de um bloco sendo codificado por intra- predição.
[0057] HM se refere a um bloco de dados de vídeo como uma unidade de codificação (CU). Os dados de sintaxe dentro de uma corrente de bits podem definir uma maior unidade de codificação (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 se referir a uma unidade de codificação maior de uma imagem ou 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 uma corrente de bits podem definir um número máximo de vezes em que uma LCU pode ser dividida, referida como profundidade de CU. De acordo, uma corrente de bits também pode definir uma menor unidade de codificação (SCU). Essa descrição também utiliza o termo "bloco" para se referir a qualquer uma dentre uma CU, uma unidade de predição (PU), ou uma unidade de transformação (TU).
[0058] Uma LCU pode ser associada com uma estrutura de dados quadtree. Em geral, uma estrutura de dados quadtree inclui um nó por CU, onde um nó raiz corresponde a 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 quadtree pode fornecer dados de sintaxe para a CU correspondente. Por exemplo, um nó em 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.
[0059] Uma CU que não é dividida pode incluir uma ou mais unidades de predição (PUs). Em geral, uma PU representa toda ou uma parte da CU correspondente, e inclui dados para recuperação de uma amostra de referência para a PU. Por exemplo, quando a PU é codificada por intra-modo, a PU pode incluir dados descrevendo um modo de intra-predição para a PU. Por exemplo, de acordo com as técnicas dessa descrição, um conjunto fixo de modos de intra-predição de candidatos mais prováveis para cada PU em uma CU. O conjunto fixo de candidatos MPM pode incluir dois ou mais modos de intra- predição candidatos com base nos modos de intra-predição de blocos vizinhos a um bloco atual. Como outro exemplo, quando a PU é codificada por inter-modo, a PU pode incluir dados definindo um vetor de movimento para a PU. Os dados definindo o vetor de movimento podem descrever, por exemplo, 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 definindo as PUs podem descrever também, por exemplo, a partição da CU em uma ou mais PUs. A partição dos modos pode diferir entre se a CU não é codificada, codificada por modo intra-predição, ou codificada por modo inter-predição.
[0060] Uma CU possuindo uma ou mais PUs também pode incluir uma ou mais unidades de transformação (TUs). Segundo a predição utilizando uma PU, o codificador de vídeo pode calcular um valor residual para a partição da CU correspondendo à PU. Um conjunto de valores residuais pode ser transformado, digitalizado e quantizado para definir um conjunto de coeficientes de transformação. A TU define uma estrutura de dados que inclui os coeficientes de transformação. Uma TU não é necessariamente limitada ao tamanho de uma PU. Dessa forma, as 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.
[0061] De acordo com as técnicas dessa descrição, o codificador de vídeo 20 pode codificar determinados blocos de dados de vídeo utilizando a codificação de modo de intra- predição, e fornecendo informação indicando um modo de intra- predição selecionado utilizado para codificar o bloco. O codificador de vídeo 20 pode codificar por intra-predição os blocos de qualquer tipo de quadro ou fatia utilizando um modo de intra-predição, por exemplo, quadros I, ou fatias I, em adição aos quadros P ou fatias P e quadros B ou fatias B. Quando o codificador de vídeo 20 determina que um bloco deve ser codificado por modo de intra-predição, o codificador de vídeo 20 pode atualizar uma análise de distorção de taxa para selecionar um modo de codificação intra-predição mais adequado. Por exemplo, o codificador de vídeo 20 pode calcular os valores de distorção de taxa para um ou mais modos de codificação intra-predição, e selecionar um dos modos possuindo características de distorção de taxa aceitáveis.
[0062] 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 predição (PU) tal como, no exemplo de HEVC, 2Nx2N, Nx2N 2NxN, NxN, tipos de intra-prediçã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 codificação (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 todos os modos de intra-predição para um bloco vizinho acima, um bloco vizinho esquerdo, e um bloco vizinho esquerdo acima, um bloco vizinho direito acima, ou outros blocos vizinhos. Em alguns exemplos, o contexto pode incluir ambos os modos de intra- predição para um ou mais blocos, além de informação de tamanho para o bloco atual sendo codificado.
[0063] Em qualquer caso, o codificador 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-predição mais prováveis. De acordo com as técnicas dessa descrição, o codificador de vídeo 20 pode determinar um ou mais dos modos de codificação mais prováveis para um bloco, com base em um contexto de codificação para o bloco, além de uma tabela de índice de intra-modo e uma tabela de palavra código com base no contexto de codificação para o bloco. A tabela de palavra código pode compreender uma tabela de código de comprimento variável (VLC) para CAVCL ou uma tabela de binarização para codificação aritmética binária adaptativa de contexto (CABAC). Em CABAC, o codificador de vídeo 20 pode adicionalmente binarizar o código aritmético por um valor binarizado selecionado a partir da tabela. Depois da seleção do modo de intra-predição para usar para codificar o bloco, o codificador de vídeo 20 pode determinar se o modo de intra-predição selecionado é o modo de intra-predição mais provável para o bloco. Se o modo selecionado for o modo mais provável, o codificador de vídeo 20 pode sinalizar o modo de intra-predição utilizando uma palavra código de bit único (por exemplo, '0', '1'). Assumindo-se sem perda de generalidade que a palavra código de bit único tenha um valor de '0', e que a tabela de palavra código seja uma tabela VLC, outras palavras código na tabela VLC podem começar com '1' para evitar a violação das exigências de prefixo de VLC (isso é, que nenhuma palavra código na tabela seja um prefixo de outra palavra código na tabela). Nos exemplos onde o modo de intra-predição selecionado não é um dos modos mais prováveis, o codificador de vídeo 20 pode sinalizar o modo de intra-predição atual. Em alguns exemplos, um indicador pode ser configurado indicando que o modo de intra-predição atual não está incluído na lista de candidatos dos modos de intra-predição mais prováveis.
[0064] O codificador de vídeo 20 pode, em alguns exemplos, ser configurado para iniciar a análise para seleção de um modo de codificação intra-predição com o modo de codificação mais provável, com base no contexto. Quando o modo de codificação mais provável alcança características de distorção de taxa adequadas, em alguns exemplos, o codificador de vídeo 20 pode selecionar o modo de codificação mais provável. Em outros exemplos, o codificador de vídeo 20 não precisa iniciar o processo de seleção com o modo de codificação mais provável.
[0065] Seguindo a codificação intra-predita ou inter-predita para produzir os dados de predição e dados residuais, e seguindo quaisquer transformações (tal como a transformação de inteiro 4x4 ou 8x8 utilizada em H.264/AVC ou uma transformação de cosseno discreta DCT) para produzir coeficientes de transformação, a quantização de coeficientes de transformação podem ser atualizados. A quantização geralmente se refere a um processo no qual os coeficientes de transformação são quantizados para reduzir possivelmente a quantidade de dados utilizados para representar os coeficientes. O processo de quantização pode reduzir a profundidade de bit associada com alguns ou todos os coeficientes. Por exemplo, um valor de bit n pode ser arredondado para baixo para um valor de bit m durante a quantização, onde n é maior que m.
[0066] Seguindo a quantização, a codificação por entropia dos dados quantizados pode ser atualizada, por exemplo, de acordo com a codificação de comprimento variável adaptativo 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 processamento configurada para codificação por entropia, ou outra unidade de processamento, pode atualizar outras funções de processamento, tal como uma codificação de comprimento de rodada zero de coeficientes quantizados e/ou geração da informação de sintaxe tal como valores de padrão de bloco codificado (CBP), tipo de macro bloco, modo de codificação, tamanho de macro bloco máximo para uma unidade codificada (tal como um quadro, uma fatia, um macro bloco, ou sequência) ou similares.
[0067] O decodificador de vídeo 30 pode receber por fim dados de vídeo codificados, por exemplo, do modem 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-predição utilizado para codificar um bloco de dados de vídeo. 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. demais, o decodificador de vídeo 30 pode incluir dados de configuração similares ao codificador de vídeo 20, por exemplo, indicações de um modo de codificação mais provável, uma tabela de índice de modo de intra-predição, e uma tabela VLC para cada contexto de codificação.
[0068] Quando utilizando um modo de intra-predição mais provável, se a palavra código compreender uma palavra código de bit único, o decodificador de vídeo 30 pode determinar que o modo de intra-predição utilizado para codificar o bloco codificado foi o modo de intra-predição mais provável. Obviamente, como discutido acima, a palavra código de bit único não deve ser um prefixo de palavras código da tabela VLC. De acordo, se a palavra código recebida não for a palavra código de bit único, o decodificador de vídeo 30 pode determinar o modo de intra-predição utilizado para codificar o bloco de dados de vídeo de uma forma geralmente alternada à do codificador de vídeo 20.
[0069] 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 e decodificador adequado, como aplicável, tal como um ou mais microprocessadores, processadores de sinal digital (DSPs), circuitos integrados de aplicação específica (ASICs), arranjos de portas programáveis em campo (FPGAs), conjunto de circuito lógico discreto, software, hardware, firmware ou quaisquer combinações dos mesmos. Cada um dentre o codificador de vídeo 20 e o decodificador 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 codificador/decodificador de vídeo combinado (CODEC). Um aparelho incluindo o codificador de vídeo 20 e/ou o 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.
[0070] A figura 3 é um diagrama em bloco ilustrando um exemplo de codificador de vídeo 20 que pode implementar técnicas para a codificação de informação indicativa de um modo de intra-predição, e que pode ser utilizada para implementar as várias técnicas descritas acima. O codificador de vídeo 20 pode atualizar a intra e inter- codificação de blocos dentro dos quadros de vídeo, incluindo macro blocos, ou partições ou subpartições de macro blocos. A intra-codificação se baseia na predição espacial para redução ou remoção de redundância espacial em vídeo dentro de um determinado quadro de vídeo. A inter-codificação se baseia na predição temporal para redução ou remoção de redundância temporal no vídeo dentro dos quadros adjacentes de uma sequência de vídeo. Intra-modo (modo I) pode ser referir a qualquer um dentre vários modos de compressão com base em espaço e inter-modos tal como predição unidirecional (modo P) ou predição bidirecional (modo B) podem se referir a qualquer um dentre os vários modos de compressão com base em tempo. Apesar de os componentes para a codificação de inter-modo serem apresentados na figura 3, deve-se compreender que o codificador de vídeo 20 pode incluir adicionalmente componentes para a codificação intra-modo. No entanto, tais componentes não são ilustrados para fins de brevidade e clareza.
[0071] Como ilustrado na figura 3, o codificador de vídeo 20 recebe um bloco de vídeo atual dentro de um quadro de vídeo a ser codificado. No exemplo da figura 2, o codificador de vídeo 20 inclui unidade de compensação de movimento 44, unidade de estimativa de movimento 42, memória 64, somador 50, unidade de processamento de transformação 52, unidade de quantização 54, e unidade de codificação por entropia 56. Para a reconstrução de bloco de vídeo, o codificador de vídeo 20 também inclui a unidade de quantização invertida 58, a unidade de transformação invertida 60, e o somador 62. Um filtro de desbloqueio também pode ser incluído para filtrar os limites de bloco para remoção de artefatos de bloqueio do vídeo reconstruído. Se desejado, o filtro de desbloqueio filtraria tipicamente a saída do somador 62.
[0072] Durante o processo de codificação, o codificador de vídeo 20 recebe um quadro ou fatia de vídeo 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 unidade de compensação de movimento 44 atualizam a codificação inter-predita do bloco de vídeo recebido com relação a um ou mais blocos em um ou mais quadros de referência para fornecer compressão temporal. A unidade de intra-predição 46 pode atualizar codificação de intra-prediçã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.
[0073] A unidade de seleção de modo 40 pode selecionar um dos modos de codificação, intra ou inter, por exemplo com base nos resultados de erro e com base em um tipo de quadro ou fatia para o quadro ou fatia incluindo um bloco atual sendo codificado e fornece o bloco intra ou inter-codificado resultante para o somador 50 para gerar dados de bloco residuais e para o somador 62 reconstruir o bloco codificado para uso em um quadro de referência ou fatia de referência. Em geral, a intra-predição envolve a predição de um bloco atual com relação a blocos codificados previamente vizinhos, enquanto a inter-predição envolve a estimativa de movimento e a compensação de movimento para prever de forma temporal o bloco atual.
[0074] A unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 representam os elementos de inter-prediçã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 estimam o movimento para os blocos de vídeo. Um vetor de movimento, por exemplo, pode indicar o deslocamento de um bloco de predição dentro de um quadro de referência de predição (ou outra unidade codificada) com relação ao bloco atual sendo codificado dentro do quadro atual (ou outra unidade codificada). Um bloco de predição é um bloco que é considerado fortemente combinado com o bloco a ser codificado, em termos de diferença de pixel, que pode ser determinado 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 coletar ou gerar o bloco de predição com base no vetor de movimento determinado pela estimativa de movimento. Novamente, a unidade de estimativa de movimento 42 e a unidade de compensação de movimento 4 podem ser funcionalmente integradas, em alguns exemplos.
[0075] A unidade de estimativa de movimento 42 calcula um vetor de movimento par ao bloco de vídeo de um quadro inter-codificado pela comparação do bloco de vídeo com 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 pixels sub-inteiros do quadro de referência, por exemplo, um quadro I e 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 anterior a um quadro atual sendo codificado; e lista 1, que inclui 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.
[0076] A unidade de estimativa de movimento 42 compara os blocos de um ou mais quadros de referência do armazenador de quadro de referência 64 com o 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 incluem valores para os pixels sub-inteiros, um vetor de movimento calculado pela unidade de estimativa de movimento 42 pode se referir a um local de pixel sub-inteiro 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 os valores para as posições de pixel sub-inteiro dos quadros de referência armazenados no armazenador de quadro de referência 64 se nenhum valor para as posições de pixel sub- inteiro forem armazenados no armazenador de quadro de referência 64. A unidade de estimativa de movimento 42 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 como um bloco de predição. A unidade de compensação de movimento 44 pode calcular os dados de predição com base no bloco de inter-predição.
[0077] A unidade de intra-predição 46 pode intra- predizer um bloco atual, como uma alternativa para a inter- predição atualizada pela unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44, como descrito acima. Em particular, a unidade de intra-predição 46 pode determinar um modo de intra-predição para utilizar para codificar um bloco atual. Em alguns exemplos, a unidade de intra-predição 46 pode codificar um bloco atual utilizando vários modos de intra-predição, por exemplo, durante passagens de codificação separadas e unidade de intra- predição 46 (ou unidade de seleção de modo 40, em alguns exemplos) pode selecionar um modo de intra-predição adequado para uso a partir dos modos testados. Por exemplo, a unidade de intra-prediçã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-predição testados, e seleciona o modo de intra-prediçã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 não codificado original que foi codificado para produzir o bloco codificado, além de uma taxa de bit (isso é, um número de bits) utilizada para produzir o bloco codificado. A unidade de intra-predição 46 pode calcular as razões a partir das distorções e taxas para os vários blocos codificados para determinar qual modo de intra-predição exibe o melhor valor de distorção de taxa para o bloco.
[0078] Em qualquer caso, depois da seleção de um modo de intra-predição para um bloco, a unidade de intra-predição 46 pode fornecer informação indicativa do modo de intra- predição selecionado para o bloco para a unidade de codificação por entropia 56. A unidade de codificação por entropia 56 pode codificar a informação indicando o modo de intra-predição selecionado de acordo com as técnicas dessa descrição. Como ilustrado na figura 3, 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- predição e uma pluralidade de tabelas de índice de palavra código (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-predição mais provável, uma tabela de índice de modo de intra- predição, e uma tabela de índice de palavra código para uso para cada um dos contextos.
[0079] Nos exemplos onde o número de modos de intra- predição varia com base no tamanho de bloco, os dados de configuração 66 podem incluir tabelas diferentes para tamanhos diferentes de blocos. De acordo, um contexto para codificação de uma indicação de um modo de intra-predição utilizado para codificar um bloco pode incluir um tamanho do 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 a tabela de mapeamento de palavra código utilizada para selecionar uma palavra código representativa do modo de intra-predição selecionado utilizado para codificar o bloco com base no contexto par ao bloco Ademais as tabelas de índice de modo par aos blocos de um tamanho em particular podem possuir números de registros iguais ao número de modos de intra- predição para blocos desse tamanho. Dessa forma, as tabelas de índice de modo para os blocos de tamanho 4x4 podem ter 17 registros, as tabelas de índice de modo para os blocos de tamanho 8x8, 16x16 e 32x32 podem ter 34 registros, e as tabelas de índice de modo para os blocos de tamanho de 64x64 podem ter 5 registros. Outros tamanhos de blocos, por exemplo, 128x128 também podem ter um número determinado de modos de intra-predição disponíveis também.
[0080] Os modos de intra-predição disponíveis para os blocos de tamanho 8x8, 16x16, e 32x32 podem ser iguais, e, portanto, as mesmas tabelas de índice de modo podem ser utilizadas para os blocos de tamanhos 8x8, 16x16 e 32x32. Apesar de os mesmos modos poderem ser possíveis para os blocos desses tamanhos, a probabilidade de utilização de um modo em particular para codificação de 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 em particular com base no tamanho do bloco para o qual um modo de intra-predição deve ser sinalizado, em alguns exemplos.
[0081] Por exemplo, o codificador de vídeo 20 determina o conjunto de modos mais prováveis. A unidade de intra-predição 46 pode determinar um modo de intra-predição atual dos blocos vizinhos do bloco atual. O codificador de vídeo 20 também pode ser configurado para determinar um primeiro modo de intra-predição para um bloco vizinho esquerdo do bloco, determinar um segundo modo de intra- predição para um bloco vizinho acima do bloco e quando o primeiro modo de intra-predição é diferente do segundo modo de intra-predição, incluir ambos o primeiro modo de intra- predição e o segundo modo de intra-predição no conjunto de modos de intra-predição mais prováveis. Por exemplo, com referência à figura 1, a unidade de intra-predição 46 pode determinar os modos de intra-predição reais utilizados para os blocos vizinhos A(4) e B(6) com relação ao bloco atual C(8). Com base nos modos de intra-predição utilizados para os blocos vizinhos A(4) e B(6), a unidade de intra-predição 46 determina os modos mais prováveis para o bloco C(8). A unidade de intra-predição 46 pode comparar o modo de intra- predição atual utilizado para o bloco A(4) vizinho com o modo de intra-predição atual utilizado para o bloco B(6) vizinho. Com base nessa comparação, um modo de intra-predição em particular, tal como um modo plano, pode ser incluído no conjunto de modos mais prováveis para o bloco C(8). A unidade de intra-predição 46 também pode determinar um modo atual para uso para o bloco atual intraprevisto C(8).
[0082] Quando o primeiro bloco de intra-predição é igual ao segundo modo de intra-predição, e quando o primeiro e segundo modos de intra-predição compreendem um modo além de um modo plano, a unidade de intra-predição 46 inclui o modo plano no conjunto de modos de intra-predição mais prováveis. Em outro exemplo, quando o primeiro modo de intra- predição igual ao segundo modo de intra-predição, e quando os primeiro e segundo modos de intra-predição compreendem um modo plano, a unidade de intra-predição 46 inclui o modo plano e um modo DC no conjunto de modos de intra-predição mais prováveis.
[0083] Em outro exemplo, quando o bloco atual compreende um bloco de luminância, o codificador de vídeo 20 determina, para um bloco de crominância correspondente ao bloco de luminância, um mapeamento de um conjunto de valores para um conjunto de modos de intra-predição, o conjunto de modos de intra-predição compreendendo o modo horizontal, o modo vertical, o modo plano, o modo DC, e o modo de predição de sinal de luz quando o modo de intra-predição atual para o bloco de luminância compreende um modo além de um modo horizontal, um modo vertical, um modo plano, e um modo DC, o conjunto de modos de intra-predição compreende adicionalmente uma reutilização de modo de intra-predição de luz mapeado a partir de um primeiro valor do conjunto de valores. Quando o modo de intra-predição atual para o bloco de luminância compreende um dentre o modo horizontal, o modo vertical, o modo plano, e o modo DC, o conjunto de modos de intra-predição compreende adicionalmente um modo além do modo horizontal, do modo vertical, do modo plano, e do modo DC mapeado a partir do primeiro valor do conjunto de valores, o codificador de vídeo 20 codifica um valor representativo de um modo de intra-predição atual para o bloco de crominância com base no mapeamento do conjunto de valores para o conjunto de modos.
[0084] Em outro exemplo, a unidade de intra-predição 46 determina uma direção de predição do modo de intra- predição atual e inclui pelo menos um modo de intra-predição possuindo uma direção de predição mais próxima da direção de predição do modo de intra-predição atual no conjunto de modos de intra-predição mais prováveis.
[0085] Em outro exemplo adicional, quando o tamanho do conjunto de modos de intra-predição mais prováveis é igual a três, a unidade de intra-predição 46 determina uma direção de predição de um primeiro modo de intra-predição e compara a direção de predição do primeiro modo de intra-predição com as direções de predição de um ou mais dos outros modos de intra-predição disponíveis. A unidade de intra-predição 46 inclui o primeiro modo de intra-predição no conjunto de modos de intra-predição mais prováveis. Adicionalmente, com base na comparação, a unidade de intra-predição 46 inclui um segundo e terceiro modos de intra-predição de um ou mais dos modos de intra-predição disponíveis no conjunto de modos de intra-predição mais prováveis, onde os segundo e terceiro modos de intra-predição possuem direções de predição determinadas como sendo mais próximas da direção de predição do primeiro modo de intra-predição.
[0086] Depois de prever um bloco atual, por exemplo, utilizando intra-predição ou interpredição, o codificador de vídeo 20 pode formar um bloco de vídeo residual pela subtração dos dados de predição calculados pela unidade de compensação de movimento 44 ou unidade de intra-predição 46 a partir do bloco de vídeo original sendo codificado. O somador 50 representa o componente ou componentes que atualizam essa operação de subtração. A unidade de processamento de transformação 52 aplica uma transformação, tal como a transformação de cosseno discreta (DCT) ou uma transformação conceitualmente similar, ao bloco residual, produzindo um bloco de vídeo compreendendo os valores de coeficiente de transformação residual. A unidade de processamento de transformação 52 pode atualizar outras transformações, tal como as definidas pelo padrão H.264, que são conceitualmente similares à DCT. As transformações de wavelet, transformações de inteiro, transformações de subbanda, ou outros tipos de transformações também podem ser utilizadas. Em qualquer caso, a unidade de processamento de transformação 52 aplica a transformação ao bloco residual, produzindo um bloco de coeficientes de transformação residual. 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 ainda 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 modificado pelo ajuste de um parâmetro de quantização.
[0087] 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 atualizar a codificação de comprimento variável adaptativa de conteúdo (CAVLC), a codificação aritmética binária adaptativa de contexto (CABAC), ou outra técnica de codificação por entropia. Depois da codificaçã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 posterior ou recuperação. No caso de codificação aritmética binária adaptativa de contexto, o contexto pode ser baseado nos blocos vizinhos e/ou tamanhos de bloco.
[0088] Em alguns casos, a unidade de codificação por entropia 56 ou outra unidade do codificador de vídeo 20 pode ser configurada para atualizar outras funções de codificação, em adição à codificação por entropia e codificação do modo de intra-prediçã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 codificado (CBP) para os blocos e partições. Além disso, em alguns casos, a unidade de codificação por entropia 56 pode atualizar 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 digitalização para digitalizar os coeficientes de transformação em um macro bloco ou partição e codificar as sequências de zeros para compressão adicional. A unidade de codificação por entropia 56 também pode construir informação de cabeçalho com os elementos de sintaxe adequados para transmissão na corrente de bits de vídeo codificada.
[0089] A unidade de quantização invertida 58 e a unidade de transformação invertida 60 aplicam a quantização inversa e a transformação inversa, 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 prediçã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 mais filtros de interpolação ao bloco residual reconstruído para calcular os valores de pixel de sub-inteiro para uso na estimativa de movimento. O somador 62 adiciona o bloco residual reconstruído ao bloco de predição de movimento compensado produzido pela unidade de compensação de movimento 44 para produzir um bloco de vídeo reconstruído para o armazenamento no armazenador de quadro de referência 64. O bloco de vídeo reconstruído pode ser utilizado 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.
[0090] Dessa forma, o codificador de vídeo 20 representa um exemplo de um codificador de vídeo configurado para determinar um ou mais modos de codificação de intra- predição mais prováveis para um bloco atual dos dados de vídeo com base em um contexto de codificaçã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 compreende uma pluralidade de palavras código de comprimento variável correspondendo aos índices de palavra código que correspondem aos modos de intra-predição além dos modos de intra-predição mais prováveis com base no contexto, codificar o bloco atual utilizando um dos modos de intra- predição além do modo de codificação de intra-predição mais provável, determinar um dos índices de palavra código que corresponde a um dos modos de intra-predição utilizando a tabela de palavras código, e enviar uma palavra código a partir da tabela selecionada de palavras código, onde a palavra código corresponde a um dos índices de palavra código.
[0091] A figura 4 é um diagrama em bloco ilustrando um exemplo de decodificador de vídeo 30, que decodifica uma sequência de vídeo codificada e que pode ser utilizada para implementar as várias técnicas descritas aqui. No exemplo da figura 3, o decodificador de vídeo 30 inclui uma unidade de decodificação por entropia 70, a unidade de compensação de movimento 72, a unidade de intra-prediçã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 de vídeo 30 pode, em alguns exemplos, atualizar uma passagem de decodificação geralmente alternada com relação à passagem de codificação descrita com relação ao codificador de vídeo 20 (figura 3). A unidade de compensação de movimento 72 pode gerar os dados de predição com base nos vetores de movimento recebidos da unidade de decodificação por entropia 70.
[0092] A unidade de compensação de movimento 72 pode utilizar os vetores de movimento recebidos na corrente de bits para identificar um bloco de predição em quadros de referência no armazenador de quadro de referência 82. A unidade de intra-predição 74 pode utilizar os modos de intra- predição recebidos na corrente de bits para formar um bloco de predição dos blocos espacialmente adjacentes. Em particular, o decodificador de vídeo 30, no exemplo 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 3, visto que os dados de configuração 84 incluem informação descrevendo contextos para os blocos intra- preditos, além de uma dentre uma pluralidade de tabelas de mapeamento de índice de intra-predição par auso para cada contexto, uma dentre uma pluralidade de tabelas de índice de palavra código (ou mapeamento de palavra código) para uso para cada contexto, e um modo de intra-predição mais provável para cada contexto.
[0093] A unidade de decodificação por entropia 70 pode receber uma palavra código representativa de um modo de intra-predição para uso para a decodificação de um bloco codificado de dados de vídeo. Em alguns exemplos, a palavra código pode ser uma palavra código VLC ou um valor binarizado codificado por entropia que é a primeira entropia decodificada utilizando CABAC A unidade de decodificação por entropia 70 pode determinar um contexto para o bloco codificado, por exemplo, com base nos modos de intra-predição para um bloco vizinho esquerdo ou um bloco vizinho superior com relação ao bloco codificado e/ou um tamanho para o bloco codificado. Isso é, o contexto pode corresponder a dois ou mais modos mais prováveis. As palavras código fornecem uma indicação de um modo de intra-predição atual para o bloco atual. Por exemplo, a palavra código indica se o modo de intra-predição atual é um dos modos mais prováveis, e se não for, a unidade de intra-predição 74 fornece uma indicação do modo de intra-predição atual. Com base no contexto, a unidade de decodificação por entropia 70 pode determinar um ou mais modos de intra-predição mais prováveis para uso na decodificação do bloco, além de uma tabela de índice de intra-predição e uma tabela de índice de palavra código para uso na determinação do modo de intra-predição atual para uso na decodificação do bloco.
[0094] A unidade de intra-predição 74 pode utilizar o modo de intra-predição, correspondendo à indicação, para intra-predizer o bloco codificado, por exemplo, utilizando pixels de blocos vizinhos previamente decodificados. Para exemplos nos quais o bloco é codificado com modo de inter- predição, a unidade de compensação de movimento 72 pode receber a informação definindo um vetor de movimento, a fim de recuperar os dados de predição de movimento compensado para o bloco codificado. Em qualquer caso, a unidade de compensação de movimento 72 ou unidade de intra-predição 74 pode fornecer informação definindo um bloco de predição para o somador 80.
[0095] A unidade de quantização inversa 76 quantiza de forma invertida, isso é, desquantiza, os coeficientes de bloco quantizados fornecidos na corrente de bits e decodificados pela unidade de decodificação por entropia 70. O processo de quantização invertida pode incluir um processo convencional, por exemplo, como definido pelo padrão de decodificação H.264 ou como atualizado pelo Modelo de Teste HEVC. O processo de quantização invertida também pode incluir o uso de um parâmetro de quantização QPY calculado pelo codificador 50 para cada macro bloco para determinar um grau de quantização e, da mesma forma, um grau de quantização invertida que deve ser aplicado.
[0096] A unidade de transformação inversa 58 aplica uma transformação inversa, por exemplo, uma DCT inversa, uma transformação de inteiro inversa, ou um processo de transformação inversa conceitualmente similar, aos coeficientes de transformação a fim de produzir blocos compensados, possivelmente atualizando 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 sub-pixel podem ser incluídos nos elementos de sintaxe. A unidade de compensação de movimento 72 pode utilizar os filtros de interpolação como utilizados pelo codificador de vídeo 20 durante a codificação do bloco de vídeo para calcular valores interpolados para pixels sub-inteiros 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 informação de sintaxe recebida e uso dos filtros de interpolação para produzir os blocos de predição.
[0097] A unidade de compensação de movimento 72 utiliza alguma informação de sintaxe para determinar os tamanhos de blocos utilizados para codificar quadros da sequência de vídeo codificada, a informação de partição que descreve como cada bloco de um quadro ou fatia da sequência de vídeo codificada é dividido, modos indicando como cada partição é codificada, um ou mais quadros de referência (e listas de quadro de referência) para cada bloco inter- codificado ou partição e outra informação para decodificar a sequência de vídeo codificada.
[0098] O somador 80 soma os blocos residuais com os blocos de predição correspondentes gerados pela unidade de compensação de movimento 72 ou unidade de intra-predição 74 para formar os blocos decodificados. Se desejado, o filtro de desbloqueio também pode ser aplicado ao filtro de 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 blocos de referência para a compensação de movimento subsequente e também produz um vídeo decodificado para apresentação em um dispositivo de exibição (tal como o dispositivo de exibição 32 da figura 2).
[0099] Dessa forma, o decodificador de vídeo 30 da figura 4 representa um exemplo de um decodificador de vídeo configurado para determinar um ou mais modos de intra- predição mais prováveis para um bloco codificado de dados de vídeo com base em um contexto 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 compreende uma pluralidade de palavras código de comprimento variável correspondendo aos índices de palavra código que correspondem aos modos de intra-predição além dos modos de intra-predição mais prováveis com base no contexto, determinar um dos índices de palavra código que corresponde a uma palavra código recebida utilizando a tabela de palavras código, selecionar um modo de intra-predição além do modo de intra-predição mais provável para uso para decodificar o bloco codificado, onde o modo de intra-predição selecionado corresponde ao índice determinado dos índices de palavra código; e decodificar o bloco atual utilizando o modo de intra-predição selecionado.
[0100] De acordo com as técnicas descritas aqui, o decodificador de vídeo 30 determina o conjunto de modos mais prováveis para um bloco de vídeo atual. A unidade de intra- predição 74 pode determinar um modo de intra-predição atual dos blocos vizinhos do bloco atual. O decodificador de vídeo 30 também pode ser configurado para determinar um primeiro modo de intra-predição para um bloco vizinho esquerdo do bloco, determinar um segundo modo de intra-predição para um bloco vizinho acima do bloco e quando o primeiro modo de intra-predição é diferente do segundo modo de intra- predição, incluir ambos o primeiro modo de intra-predição e o segundo modo de intra-predição no conjunto de modos de intra-predição mais prováveis. Por exemplo, com referência à figura 1, a unidade de intra-predição 74 pode determinar os modos de intra-predição reais utilizados para os blocos vizinhos A(4) e B(6) com relação ao bloco atual C(8). Com base nos modos de intra-predição utilizados para os blocos vizinhos A(4) e B(6), a unidade de intra-predição 74 determina os modos mais prováveis para o bloco C(8). A unidade de intra-predição 74 pode comparar o modo de intra- predição atual utilizado para o bloco vizinho A(4) com o modo de intra-predição atual utilizado para o bloco vizinho B(6). Com base nessa comparação, um modo de intra-predição particular, tal como o modo plano, pode ser incluído no conjunto de modos mais prováveis para o bloco C(8). A unidade de intra-predição 74 também pode determinar um modo atual para uso para intraprever o bloco atual C(8).
[0101] Quando o primeiro modo de intra-predição é igual ao segundo modo de intra-predição, e quando os primeiro e segundo modos de intra-predição compreendem um modo além de um modo plano, a unidade de intra-predição 74 inclui o modo plano no conjunto de modos de intra-predição mais prováveis. Em outro exemplo, quando o primeiro modo de intra- predição é igual ao segundo modo de intra-predição, e quando os primeiro e segundo modos de intra-predição compreendem um modo plano a unidade de intra-predição 74 inclui um modo plano e um modo DC no conjunto de modos de intra-predição mais prováveis.
[0102] Em outro exemplo, quando o bloco atual compreende um bloco de luminância, o decodificador de vídeo 30 determina, para um bloco de crominância correspondendo ao bloco de luminância, um mapeamento de um conjunto de valores para um conjunto de modos de intra-predição, o conjunto de modos de intra-predição compreendendo o modo horizontal, o modo vertical, o modo plano o modo DC, e o modo de predição de sinal de luminância quando o modo de intra-predição atual para o bloco de luminância compreende um modo além do modo horizontal, do modo vertical, do modo plano, e do modo DC, o conjunto de modos de intra-predição compreendendo adicionalmente uma reutilização do modo de intra-predição de luminância mapeados a partir de um primeiro valor do conjunto de valores. Quando o modo de intra-predição atual para o bloco de luminância compreende um dentre o modo horizontal, o modo vertical, o modo plano e o modo DC, o conjunto de modos de intra-predição compreende adicionalmente um modo além do modo horizontal, do modo vertical, do modo plano, e do modo DC mapeados a partir do primeiro valor do conjunto de valores, o decodificador de vídeo 30 decodifica um valor representativo de um modo de intra-predição atual para o bloco de crominância com base no mapeamento do conjunto de valores para o conjunto de modos.
[0103] Em outro exemplo, a unidade de intra-predição 74 determina uma direção de predição do modo de intra- predição atual do bloco atual e inclui pelo menos um modo de intra-predição possuindo uma direção de predição mais próxima da direção de predição do modo de intra-predição atual no conjunto de modos de intra-predição mais prováveis.
[0104] Em outro exemplo, quando o tamanho do conjunto de modos de intra-predição mais prováveis é igual a três, a unidade de intra-predição 74 determina uma direção de predição de um primeiro modo de intra-predição e compara a direção de predição do primeiro modo de intra-predição com as direções de predição de um ou mais outros modos de intra- predição disponíveis. A unidade de intra-predição 74 inclui um primeiro modo de intra-predição no conjunto de modos de intra-predição mais prováveis. Adicionalmente, com base na comparação, a unidade de intra-predição 74 inclui um segundo e um terceiro modos de intra-predição dentre um ou mais modos de intra-predição disponíveis no conjunto de modos de intra- predição mais prováveis, onde o segundo e terceiro modos de intra-predição possuem direções de predição determinadas como sendo mais próximas da direção de predição do primeiro modo de intra-predição.
[0105] A figura 5 é um diagrama ilustrando um exemplo de 35 modos de intra-predição e suas direções de predição correspondentes. Como definido nesse exemplo, cada um dos 35 valores de índice é designado de forma singular a diferentes modos de intra-predição. Nesse exemplo, o valor de índice 2 é mapeado para o modo de intra-predição DC, o valor de índice 34 é mapeado para o modo de intra-predição plano, e o valor de índice 35 é mapeado para o modo de intra-predição from_luma. O resto dos valores de índice são designados para o conjunto disponível de diferentes modos de intra-predição, cada um possuindo uma direção de predição. Por exemplo, a unidade de intra-predição 46 do codificador de vídeo 20 pode fornecer um dos cinco valores para um elemento de sintaxe que indica o modo de intra-predição atual utilizado para codificar um bloco luma. De forma similar, a unidade de intra-predição 46 do codificador de vídeo 20 pode fornecer um dos seis valores para um elemento de sintaxe que indica o modo de intra-predição atual utilizado para codificar um bloco de cor. Os seis valores podem ser um dos cinco valores utilizados para o bloco de luminância, mais um valor indicando uma imitação do modo de intra-predição que foi utilizado para codificar o bloco de luminância correspondente.
[0106] Por exemplo, o modo de intra-predição mapeado para o valor de índice 0 possui uma direção de predição ascendente com relação ao bloco atual sendo codificado. Isso é, os pixels utilizados para prever um bloco atual são provenientes de acima do bloco atual quando o modo mapeado para o valor de índice 0 é selecionado. Por exemplo, onde o número de modo de intra-predição é 34, os modos de intra- predição possuindo direções de predição mais próximas do modo de intra-predição mapeado para o valor de índice 0 são os modos de intra-predição mapeados para os valores de índice 21 e 22. Para exemplos onde o número do modo de intra- predição é igual a 17, os modos de intra-predição possuindo direções de predição mais próximas do modo de intra-predição mapeado para o valor de índice 0 são os modos de intra- predição mapeados para os valores de índice 11 e 12, visto que os valores de índice 21 e 22 não estejam disponíveis para o conjunto de 17 modos de intra-predição.
[0107] Em um esquema de numeração alternada, o modo intra_planar pode corresponder ao modo 0, caso no qual o número de modo de todos os outros modos seria aumentado por 1. Algumas das tabelas utilizadas por toda essa descrição geralmente correspondem a esse esquema de numeração alternada. Deve ser claro, no entanto, para os versados na técnica que as técnicas dessa descrição não são limitadas a um esquema de numeração em particular.
[0108] A figura 6 é um diagrama ilustrando outro exemplo de 35 modos de intra-predição e suas direções de predição correspondentes. Como definido no exemplo da figura 6, cada um dos 35 valores de índice são singularmente designados para diferentes modos de intra-predição. Nesse exemplo, valor de índice 0 é mapeado para o modo de intra- predição plano, o valor de índice 1 é mapeado para o modo de intra-predição DC, e o valor de índice 35 é mapeado para o modo de intra-predição from_luma. O resto dos valores de índice é designado para o conjunto disponível de diferentes modos de intra-predição, cada um possuindo uma direção de predição.
[0109] O diagrama da figura 6 ilustra IntraPredMode[xB][yB] rotulado 0, 1, 2,...,35 representa as direções de previsões de acordo com a Tabela 3.1. A Tabela 3.1 especifica o valor para o modo de intra-predição e os nomes associados. O modo 34, por exemplo, é um modo intra- angular que aponta para uma direção superior direita do bloco atual a ser codificado. Em alguns exemplos, o modo 34 é o modo de intra-predição de direção superior direita. Tabela 3.1 - Especificação do modo de intra-predição e nomes associados
Figure img0004
[0110] Os registros em um processo de derivação ilustrativo para modos de intra-predição de luminância incluem um local de luminância (xB, yB) especificando a amostra de luminância superior esquerda do bloco atual com relação à amostra de luminância superior esquerda da imagem atual, uma variável log2PUSize especificando o tamanho da unidade de predição atual, e conjuntos de variável IntraPredMode (Se disponível) que são previamente (na ordem de decodificação) derivadas para unidades de codificação adjacentes. A saída do processo de derivação de processo ilustrativo para os modos de intra-predição de luminância é a variável IntraPredMode[xB][yB].
[0111] IntraPredMode[xB][yB] pode ser derivado como as etapas ordenadas a seguir. Primeiro, as localizações vizinhas (xBA, yBA) e (xBB, yBB) são configuradas iguais a (Xb-1, yB) e (xB, yB-1), respectivamente. Segundo, os endereços de bloco de codificação mínima cbAddrA e cbAddrB dos blocos de árvore de codificação cobrindo os locais (xBA, yBA) e (xBB, yBB) respectivamente, onde são derivados como se segue: cbAddrA = MinCbAddrZS[xBA << Log2MinCbSize][yBA << Log2MinCbSize] cbAddrB =MinCbAddrZS[xBB << Log2MinCbSize][yBB << Log2MinCbSize]
[0112] Em terceiro lugar, um processo de disponibilidade para um endereço de bloco de codificação mínima especificado é invocado uma vez com o endereço de bloco de codificação mínima cbAddrA como a entrada e a saída designadas como availableA e uma vez com o endereço de bloco de codificação mínima cbAddrB como a entrada e saída designadas como availableB.
[0113] Em quarto lugar, com N sendo substituído por A ou B, as variáveis intraPredModeN são derivadas como segue: Se a availableN for igual a FALSO, intraPredModeN é configurado igual a Intra_DC. Do contrário, se a unidade de codificação cobrindo (xBN, yBN) não for codificada como intramodo, intraPredModeN é configurado igual a Intra_DC, do contrário, se yB-1 for inferior a yCtb, intraPredModeA é configurado igual a IntraPredMode[xBA][yBA] e intraPredModeB é configurado igual a Intra_DC. Do contrário, intraPredModeN é configurado igual a IntraPredMode[xBN][yBN], onde IntraPredMode é o conjunto de variáveis designado para a unidade de codificação cobrindo a localização de luminância (xBN, yBN).
[0114] Em quinto lugar, candModeList[x] com x=0..2 é derivado como segue: Se candIntraPredModeB é igual a candIntraPredModeA, o seguinte se aplica: Se candIntraPredModeA for inferior a 2 (Intra_Planar ou Intra_DC), candModeList[x] com x=0..2 é derivado como: candModeList[0] = Intra_Planar candModeList[1] = Intra_DC candModeList[2] = Intra_Angular (26) Do contrário, candModeList[x] = com x = 0..2 é derivado como: candModeList[0] = candIntraPredModeA candModeList[1] = 2 + ((candIntraPredModeA - 2 - 1)% 32 candModeList[2] = 2 + ((candIntraPredModeA - 2 + 1)% 32
[0115] Do contrário (candIntraPredModeB não é igual a candIntraPredModeA), o seguinte se aplica: candModeList[0] e candModeList[1] são derivados como se segue: candModeList[0] = candIntraPredModeA candModeList[1] = candIntraPredModeB
[0116] Se nenhum dentre candModeList[0] e candModeList[1] for iguala a Intra_Planar, candModeList[2] é configurado igual a Intra_Planar. Do contrário, se nenhum dentre candModeList[0] e candModeList[1] for igual a Intra_DC, candModeList[2] é configurado igual a Intra_DC. Do contrário, candModeList[2] é configurado igual a Intra_Angular (26).
[0117] Em sexto lugar, IntraPredMode[xB][yB] é derivado pela aplicação do procedimento a seguir. Se prev_intra_pred_flag[xB][yB] for igual a VERDADEIRO, IntraPredMode[xB][yB] é configurado igual a candModeList[mpm_idx]. Do contrário, IntraPredMode[xB][yB] é derivado pela aplicação das seguintes etapas ordenadas: Primeiro, o conjunto candModeList[x], x = 0..2 é modificado da seguinte forma: Se candModeList[0] for maior do que candModeList[1], mudar os dois valores; se candModeList[0] for maior que candModeList[2], trocar os dois valores; e se candModeList[1] for maior que candModeList[2], mudar os dois valores. Em segundo lugar, IntraPredMode[xB][yB] é derivado como as seguintes etapas ordenadas: Primeiro, IntraPredMode [xB][yB] = rem_intra_luma_pred_mode. Quando IntraPredMode[xB][yB] é maior do que ou igual a candModeList[valor de IntraPredMode[xB][yB] é aumentado por um. Quando IntraPredMode[xB][yB] é maior do que ou igual a candModeList[1], o valor de IntraPredMode[xB][yB] é aumentado por um. Quando IntraPredMode [xB][yB] é maior que ou igual a candModeList[2], o valor de IntraPredMode[xB][yB] é aumentado por um.
[0118] Um processo de derivação ilustrativo para o modo de intra-predição de crominância é definido como se segue. Um registro nesse processo é uma localização de luminância (xB, yB) especificando a amostra de luminância superior esquerda do bloco atual com relação à amostra de luminância superior esquerda da imagem atual. Uma saída desse processo é a variável IntraPredModeC. O modo de intra- predição de crominânciaIntraPredModeC é derivado como especificado nas Tabelas 3.2 ou 3.3 com intra_chroma_pred_mode, IntraPredMode[xB][yB] e Chroma_pred_from_luma_enabled_flag como registros. Tabela 3.2 - Especificação de IntraPredModeC de acordo com os valores de intrachromapredmode e IntraPredMode[xB][yB] quando Chromapredfromlumaenabledflag é igual a 1
Figure img0005
Tabela 3.3 - Especificação de IntraPredModeC de acordo com os valores de intra chroma pred mode e IntraPredMode[xB][yB] quando Chroma pred from luma enabled flag é igual a 0
Figure img0006
[0119] Detalhes adicionais referentes aos processos de codificação para as unidades de codificação codificadas no modo de intra-predição podem ser encontrados na especificação em texto de codificação de vídeo de alta eficiência (HEVC) rascunho 6, JCT-VC de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 7th Meeting, Genebra, 21-30, Novembro de 2011, o conteúdo total do qual é incorporado aqui por referência. Detalhes adicionais referentes aos processos de codificação para unidades de codificação codificadas no modo de intra-predição de acordo com HEVC podem ser encontrados na especificação de texto HEVC rascunho 7, documento HCTVC-11003, Bross et al., "High Efficiency Video Coding (HEVC) Text Specification Draft 7", Joint Collaborative Team on Video Coding (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 9th Meeting: Genebra, Suíça, 27 de abril de 2010 a 7 de maio de 2012, que, a partir de 6 de junho de 2012 está disponível para download em HTTP://phenix.it- sudparis.eu/jct/doc end user/documents/9 Geneva/wg11/JCTVC- 11003-v3.zip.
[0120] A figura 7 é um fluxograma ilustrando um exemplo de um método 100 para a sinalização de modo de intra- predição para codificação de vídeo. O método 100 pode ser atualizado por qualquer um dentre o sistema 10 da figura 1, o codificador de vídeo 20 da figura 3, o decodificador de vídeo 30 da figura 4, ou qualquer outro dispositivo adequado.
[0121] O método 100 inclui a determinação, para um bloco de dados de vídeo, de um conjunto de modos de intra- predição mais prováveis de modo que o conjunto de modos de intra-predição mais prováveis tenha um tamanho que seja igual a um número predeterminado que é maior do que ou igual a dois (102). Método 100 também pode incluir a codificação de um valor representativo de um modo de intra-predição atual para o bloco com base pelo menos em parte no conjunto de modos de intra-predição mais prováveis (104). Adicionalmente, o método 100 inclui a codificação do bloco utilizando o modo de intra-predição atual (106).
[0122] O método 100 pode incluir a configuração NumMPMC para um número fixo para um quadro ou imagem, que é maior que ou igual a 2. Por exemplo, se NumMPMC = 3, três modos de candidatos são selecionados sob todas as circunstâncias para uma determinada imagem. Com relação a um bloco na imagem, se ambos candIntraPredModeN forem iguais, a direção de predição para candIntraPredModeN é determinada. Dos modos de predição disponíveis para o bloco, os dois modos de predição que possuem as direções de predição mais próximas à direção de predição de candIntraPredModeN são designados para serem os dois modos candidatos adicionais, trazendo o total de modos mais prováveis para o conjunto de três modos fixos. Se os valores para candIntraPredModeN forem diferentes, o modo de candidato adicional pode ser escolhido como sendo os modos DC, vertical ou horizontal.
[0123] Em outro exemplo onde NumMPMC = 3, três modos candidatos são selecionados sob todas as circunstâncias para uma determinada imagem, de o conjunto de três modos de intra- predição mais prováveis inclui o modo DC, o modo vertical e o modo plano.
[0124] A figura 8 é um fluxograma ilustrando um exemplo de um método 200 para determinação dos candidatos ao modo de intra-predição mais prováveis quando um conjunto de modos de intra-predição mais prováveis é igual a três. O método 200 pode ser atualizado por um codificador de vídeo, tal como o codificador de vídeo 20 das figuras 2 e 3. Em outros exemplos, o método 200 pode ser atualizado por um decodificador de vídeo, tal como um decodificador de vídeo 30 das figuras 2 e 4.
[0125] Os detalhes de uma derivação ilustrativa do método 200 é como segue. Primeiro, NumMPMC é configurado igual a três modos mais prováveis (202). Em alguns exemplos, o codificador de vídeo 20 ou decodificador de vídeo 30 configuram NumMPMC igual a três para um bloco atual. Em outros exemplos, o codificador de vídeo 20 ou o decodificador de vídeo 30 determinam NumMPMC a partir de um bloco previamente codificado com relação ao bloco atual, onde o bloco codificado previamente é do mesmo quadro que o bloco atual.
[0126] O codificador de vídeo 20 ou o decodificador de vídeo 30 determina se ambos candIntraPredModeN estão disponíveis em um conjunto de modos de intra-predição disponíveis (204). O conjunto de modos de intra-predição disponíveis pode ser baseado em intraPredModeNum, e pode ser, por exemplo, igual a 17 ou 34. Se ambos candIntraPredModeN não estiverem disponíveis, então o valor 2 é designado para candModeList[0], o valor 0 é designado para candModeList[1], e o valor 1 é designado para candModeList[2] (206). Por exemplo, se ambos candIntraPredModeN não estiverem disponíveis, candModeList[0] é designado para o modo DC, candModeList[1] é designado para o modo plano, e candModeList[2] é designado para o modo vertical. Por exemplo, se ambos candIntraPredModeN não estiverem disponíveis, então candModeList pode ser escolhido como sendo DC, vertical ou horizontal. Do contrário, se ambos candIntraPredModeN estiverem disponíveis, o codificador de vídeo 20 ou o decodificador de vídeo 30 determina se ambos candIntraPredModeN possuem o mesmo valor, isso é, apontam para o mesmo modo de intra-predição (208).
[0127] Se ambos candIntraPredModeN forem iguais, então esse candIntraPredModeN é designado para candModeList[0] (210). CandModeList[1] e candModeList[2] são então derivados, pela unidade de intra-predição 46 ou 74, respectivamente, pela aplicação do procedimento a seguir: preModeMinus1_M [candModeList[0]] é designado para candModeList[1] e PreModeList1_M[candModeList[0]] é designado para candModeList[2], onde M representa intraPredModeNum (212). As tabelas 3.3, 4.3 e 5.3, fornecidas abaixo, podem ser utilizadas na determinação desses valores. Por exemplo, utilizando-se a figura 5, se intraPredModeNum for igual a 34, e candModeList[0]=0 (significando que candIntraPredModeN = 0), então candModeList[1] = preModeMinus1_M[candModeList[0]] = 21 e candModeList[2] = PreModePlus1_M[candModeList[0]] = 22.
[0128] Voltando-se à figura 8, se ambos candIntraPredModeN forem iguais (208), então ambos candIntraPredModeN são designados ara a lista de modos candidatos (214). Por exemplo, o menor dos dois candidatos é designado para candModeList[0] e o candidato maior é designado para candModeList[1].
[0129] O terceiro candidato restante a ser incluído no conjunto de modos mais prováveis, CandModeList[2], é derivado pela aplicação do procedimento a seguir: O codificador de vídeo 20 ou o decodificador de vídeo 30 determina se qualquer um dentre candIntraPredModeN é igual ao valor de 2 (216). Se nenhum dentre candIntraPredModeN for igual ao valor 2, então o valor 2 é designado para candModeList[2] (218). Isso garante que o valor 2 não seja repetido na lista de modo de candidatos. Se pelo menos um dentre candIntraPredModeN for igual ao valor 2, então o codificador de vídeo 20 ou decodificador de vídeo 30 determina se candIntraPredModeN é igual ao valor 0 (220). Se nenhum dentre candIntraPredModeN for igual ao valor 0, então o valor 0 é designado para candModeList[2] (222). Do contrário, o valor 1 é designado para candModeList[2] (224).
[0130] A Tabela 4 fornece um mapeamento de modo de candidato ilustrativo com a variável intraPredModeNum configurada para três. Em um exemplo, um codificador de vídeo, tal como o codificador de vídeo 20 das figuras 2 e 3, é configurado com dados correspondentes à Tabela 4.3. Da mesma forma, um decodificador de vídeo, tal como o decodificador de vídeo 30 das figuras 2 e 4, é configurado com dados correspondentes à Tabela 4.3. A Tabela 4.3 fornece um mapeamento entre um modo de intra-predição candidato (ou atual) e os dois modos de intra-predição mais próximos do modo de intra-predição quando intraPredModeNum é igual a três. Em alguns exemplos, os modos de intra-predição mais próximos do modo de intra-predição devem ser mais próximos em termos de direção de predição. O codificador de vídeo pode utilizar o mapeamento de modo de candidato da Tabela 4.3 para determinar quais modos de intra-predição estão incluídos em uma lista de candidatos aos modos mais prováveis para um bloco atual quando intraPredModeNum é igual a três. Tabela 4.3 - Mapeamento de modo candidato quando intraPredModeNum é igual a 3
Figure img0007
[0131] A Tabela 5.3 fornece um mapeamento de modo candidato ilustrativo com a variável intraPredModeNum configurada para 17. Em um exemplo, um codificador de vídeo, tal como o codificador de vídeo 20 das figuras 2 e 3, é configurado com dados correspondentes à Tabela 5.3. Da mesma forma, um decodificador de vídeo, tal como o decodificador de vídeo 30 das figuras 2 e 4, é configurado com dados correspondentes à Tabela 5.3. A Tabela 5.3 fornece um mapeamento entre um modo de intra-predição candidato (ou atual) e dois modos de intra-predição mais próximos ao modo de intra-predição quando intraPredModeNum é igual a 17. Em alguns exemplos, os modos de intra-predição mais próximos ao modo de intra-predição podem ser mais próximos em termos de direção de predição. O codificador de vídeo pode utilizar o mapeamento de modo candidato da Tabela 5.3 para determinar quais modos de intra-predição são incluídos em uma lista de candidatos aos modos mais prováveis para um bloco atual quando intraPredModeNum é igual a 17. Tabela 5.3 - Mapeamento de código candidato quando intraPredModeNum é igual a 17
Figure img0008
[0132] A Tabela 6.3 fornece um mapeamento de modo de candidato ilustrativo com a variável intraPredModeNum configurada para 34. Em um exemplo, um codificador de vídeo, tal como o codificador de vídeo 20 das figuras 2 e 3, é configurado com dados correspondendo à Tabela 6.3. Da mesma forma, um decodificador de vídeo, tal como decodificador de vídeo 30 das figuras 2 e 4, é configurado com dados correspondendo à Tabela 6.3. A Tabela 6.3 fornece um mapeamento entre um modo de intra-predição candidato (ou atual) e os dois modos de intra-predição mais próximos ao modo de intra-predição quando o intraPredModeNum é igual a 34. Em alguns exemplos, os modos de intra-predição mais próximos ao modo de intra-predição pode ser os mais próximos em termos de direção de predição. O codificador de vídeo pode utilizar o mapeamento de modo candidato da Tabela 6.3 ara determinar quais modos de intra-predição são incluídos em uma lista de candidatos a modos mais prováveis para um bloco atual quando intraPredModeNum é igual a 34. Tabela 6.3 - Mapeamento de modo candidato quando intraPredModeNum é igual a 34
Figure img0009
[0133] Em alguns exemplos, onde NumMPMC é superior a ou igual a dois, um dos modos de candidatos mais prováveis é o modo plano. Por exemplo, se NumMPMC for igual a quatro, três modos candidatos podem ser determinados como descrito acima, enquanto um quarto modo é configurado para o modo plano. Se um dos três modos candidatos forem is ao modo plano, o quarto modo pode ser configurado igual ao modo DC.
[0134] Outro parâmetro, o modo de intra-predição restante, rem_intra_pred_mode, também pode ser definido. De acordo com as técnicas da presente descrição, rem_intra_pred_mode pode ter múltiplos contextos. O modo mais provável pode ser utilizado para prever o modo de intra- predição restante. Cada compartimento é codificado com um contexto para melhor representar a estatística, resultando na seleção de modo mais provável aperfeiçoado.
[0135] De acordo com outras técnicas, o agrupamento de palavra código pode ser fornecido. Por exemplo, todas as palavras código para os modos de intra-predição podem ser divididos em múltiplos grupos. Uma binarização de comprimento fixo ou variável pode ser utilizada para sinalizar o índice do grupo. Então, uma binarização de comprimento fixo ou variável pode ser utilizada para sinalizar o índice de palavra código dentro do grupo.
[0136] Por exemplo, três grupos de códigos são formados para intraPredModeNum igual a 17 ou 34. Todos os grupos menos um possuem sequências de 2N compartimentos, como ilustrado na Tabela 7. Em um exemplo, codificador de vídeo, tal como o codificador de vídeo 20 das figuras 2 e 3, é configurado com dados correspondendo à Tabela 7. Da mesma forma, um decodificador de vídeo, tal como um decodificador de vídeo 30 das figuras 2 e 4, é configurado com dados correspondendo à Tabela 7. Tabela 7 - Número de compartimentos para intraModeTable[rem intra luma pred mode]
Figure img0010
Figure img0011
[0137] Uma exceção à Tabela 7 é quando rem_intra_luma_pred_mode mapeado é maior que 23 e a binarização é ilustrada na Tabela 8. Uma binarização unary é utilizada para indicar o índice de grupo de rem_intra_luma_pred_mode mapeado. Em um exemplo, um codificador de vídeo, tal como um codificador de vídeo 20 das figuras 2 e 3, é configurado com dados correspondendo à Tabela 8. Da mesma forma, um decodificador de vídeo, tal como o decodificador de vídeo 30 das figuras 2 e 4, é configurado com dados correspondendo à Tabela 8. Tabela 8 - Tabela de Binarização quando intraModeTable[rem intra luma pred mode]>24
Figure img0012
[0138] Um índice de palavra código é derivado de um modo de intra-predição, independentemente de se o codificador de vídeo está utilizando VLC ou CABAC. O índice de palavra código pode mapear um valor binarizado, tal como ilustrado na Tabela 8. Um valor binarizado é uma sequência de bits, que pode ser referida como compartimentos. Cada compartimento pode ser codificado sequencialmente. Dessa forma, duas tabelas são fornecidas de modo que para cada situação diferente, as palavras código já são fornecidas em uma tabela e não precisam ser determinadas para cada situação. Uma única tabela de binarização é fornecida independentemente de quais modos de intra-predição mais prováveis são incluídos na lista de candidatos.
[0139] As técnicas descritas aqui também fornecem a palavra código fixa e um tamanho de tabela de código para um modo de predição de crominância sob diferentes modos de predição luma. Devido ao modo de herança, a abordagem existente remove quaisquer palavras código redundantes das tabelas de código. Uma tabela de código de tamanho fixo pode ser benéfica para o processo de análise visto que a decodificação do modo luma não precisa mais ser atualizado de antemão.
[0140] Duas abordagens diferentes podem ser feitas para se alcançar uma tabela de código de tamanho fixo. Primeiro, um dos modos de intra-predição é desativado quando não existe uma palavra código redundante, de modo que a palavra código redundante seja criada artificialmente. Em segundo lugar, um modo diferente é ativado para substituir o modo redundante a fim de eliminar a palavra código redundante. Adicionalmente, um mapeamento da palavra código e o modo de intra-predição podem ser diferentes para modos de predição de luminância diferentes.
[0141] Em outro exemplo, o mapeamento do modo plano pode ser alterado a partir de HEVC anterior. Por exemplo, o modo plano pode ser mapeado para o valor de índice 0. Subsequentemente, valor de índice associado com todos os outros modos de intra-predição pode ser alterado para cima por 1. Essa mudança aumentará a probabilidade de se obter um rem_intra_luma_pred_mode menor, visto que o modo plano é escolhido mais frequentemente.
[0142] As técnicas da descrição fixam o número de modos de intra-predição de crominância disponíveis. A variável Intra_Pred_ModeC é um modo de intra-predição de cor. Por exemplo, seis modos de intra-predição de crominância disponíveis (IntraPredModeC) podem ser sinalizados. Dois modos, modo de predição de sinal de luminância e reutilização do modo de intra-predição de luminância, permanecem inalterados. Para os outros quatro modos, duas escolhas de modo são adicionadas, que incluem os modos de intra-predição adjacentes e os modos de intra-predição adjacentes perpendiculares. A Tabela 9 fornece um mapeamento de índice ilustrativo para os modos de intra-predição adjacentes. A Tabela 9 fornece um mapeamento de índice ilustrativo para os modos de intra-predição adjacentes perpendiculares. Tabela 9 - Mapeamento de modo perpendicular quando intraPredModeNum é igual a 18
Figure img0013
Tabela 9 - Mapeamento de modo perpendicular quando intraPredModeNum é igual a 35
Figure img0014
Figure img0015
[0143] Os outros quatro modos são derivados como segue: Se intra_pred_mode for igual a 2, 0 é designado para intra_chroma_pred_mode[0], 1 é designado para intra_chroma_pred_mode[1], 6 é designado para intra_chroma_pred_mode[2], e 35 é designado para intra_chroma_pred_mode[se intra_pred_mode for igual a 35, por exemplo, 0 é designado para intra_chroma_pred_mode[0], 1 é designado para intra_chroma_pred_mode[1], 2 é designado para intra_chroma_pred_mode[2], e 6 é designado para intra_chroma_pred_mode[3].
[0144] Se, por exemplo, intraPredModeNum for igual a 18 ou 35, intra_chroma_pred_mode[0], intra_chroma_pred_mode[1], e intra_chroma_pred_mode[2] é derivado pela aplicação do procedimento a seguir, utilizando algumas das tabelas, tal como as Tabelas 8 e 9. PredModeMinus1_M[intra_pred_mode] é designado para intra_chroma_pred_mode[0], PredModePlus1_M[intra_pred_mode] é designado para intra_chroma_pred_mode[1], PredMode_P_M[intra_pred_mode] é designado para intra_chroma_pred_mode[2], e 35 é designado para intra_chroma_pred_mode[3], onde M representa intraPredModeNum. Do contrário, 0 é designado para intra_chroma_pred_mode[0], 1 é designado para intra_chroma_pred_mode[1], 2 é designado para intra_chroma_pred_mode[2], e 35 é designado para intra_chroma_pred_mode[3].
[0145] Em outro exemplo onde o número de modos de intra-predição de crominância disponíveis é fixado, qualquer intra_pred_mode redundante na lista de modos de intra- predição candidatos pode ser substituído por um modo de intra-predição predefinido.
[0146] Em outro exemplo, NumMPMC pode ser configurado para quatro. Isso é, quatro modos candidatos são selecionados sob todas as circunstâncias para um determinado quadro de vídeo (isso é, NumMPMC = 4). Se ambos candIntraPredModeN forem iguais, os dois modos de predição disponíveis que estão mais perto de candIntraPredModeN na direção de predição são designados para serem dois modos candidatos adicionais. Se candIntraPredModeN forem diferentes, o modo candidato adicional pode ser escolhido como sendo o modo DC, vertical ou horizontal.
[0147] Uma derivação ilustrativa para as listas de modo candidato são como segue para quando NumMPMC = 4; Se ambos candIntraPredModeN não estiverem disponíveis, então o valor 3 é designado para candModeList[0], o valor 0 é designado para candModeList[1], o valor 1 é designado para candModeList[2], e o valor 2 é designado para candModeList[3]. Do contrário, se ambos candIntraPredModeN forem iguais, então esse candIntraPredModeN é designado para candModeList[0]. CandModeList[1] e candModeList[2] são derivados pela aplicação do seguinte procedimento, utilizando as Tabelas 3.4, 4.4 e 5.4.
[0148] Como pode ser observado nas Tabelas 3.4, 4.4 e 5.4, se candModeList[0] não for igual a, o valor 0 é designado para candModeList[1], o valor 1 é designado para candModeList[2], e o valor 2 é designado para candModeList[3]. Do contrário, se ambos candIntraPredModeN forem iguais, então esse candIntraPredModeN é designado para candModeList[0]. CandModeList[1] e candModeList[2] são derivados pela aplicação do procedimento a seguir, utilizando as Tabela 3.4, 4.4, e 5.4.
[0149] Como pode ser observado nas Tabelas 3.4., 4.4 e 5.4, se candModeList[0] não for igual a, o valor 0 é designado para candModeList[1]. Do contrário, o valor 2 é designado para candModeList[1]. PredModeMinus1_M[candModeList é designado para candModeList[2] e PreModePlus1_M[candModeList[0]] é designado para candModeList[3], onde M representa intraPredModeNum.
[0150] Do contrário, ambos candIntraPredModeN são designados para a lista de modos candidatos com o menor dos dois candidatos em candModeList[0] e o maior em candModeList[1]. As variáveis candModeList[2], candModeList[3] e candModeList[4] são derivadas pela aplicação do procedimento a seguir: se candIntraPredMode[0] = 0, então candModeList[2] = PredModeMinus1_M[candModeList[1]] e candModeList[3] = PreModePlus1_M[candModeList [1]]. Do contrário, se candIntraPredMode1 = 0, então candModeList[2] = PredModeMinus1_M[candModeList[0]] e candModeList[3] = PreModePlus1_M[candModeList[0]]. Do contrário, candModeList[2] = 0, e as variáveis candModeList[3] e candModeList[4] são escolhidos os primeiros dois elementos disponíveis do conjunto a seguir:
Figure img0016
Um modo pode ser definido como disponível quando o modo não existir anteriormente no candModeList.
[0151] As Tabelas 3.4, 4.4 e 5.4 são fornecidos abaixo, e são análogas ás Tabelas 3.3, 4.3 e 5.3 fornecidas acima. As Tabelas 3.3, 4.3 e 5.3 se aplicam a exemplos onde intraPredModeNum é igual a 3. Em contraste, as Tabelas 3.4, 4.4 e 5.4 se aplicam a exemplos onde intraPredModeNum é igual a 4. Especificamente, a Tabela 4.4 fornece um mapeamento de modo candidato ilustrativo quando intraPredModeNum é igual a 4. Tabela 4.4 - Mapeamento de modo candidatos quando intraPredModeNum é igual a 4
Figure img0017
[0152] A tabela 5.4 fornece um mapeamento de modo candidato ilustrativo quando intraPredModeNum é igual a 18. Tabela 5.4 - Mapeamento de modo candidato quando intraPredModeNum é igual a 18
Figure img0018
[0153] A Tabela 6.4 fornece um mapeamento de modo candidato ilustrativo quando intraPredModeNum é igual a 35. Tabela 6.4 - Mapeamento de modo candidato quando intraPredModeNum é igual a 35
Figure img0019
Figure img0020
[0154] De acordo com outro exemplo, NumMPMC pode ser igual a 5. Isso é, cinco modos candidatos são selecionados sob todas as circunstâncias (isso é, NumMPMC = 5), exceto por intraPredModeNum = 4, onde NumMPMC = 4. Se NumMPMC = 4, a derivação de candModeList[4] é pulada. Nesse exemplo de NumMPMC = 5, o modo plano é considerado como sendo configurado para o valor 0. Se ambos candIntraPredModeN forem iguais, isso é, por exemplo, se os modos de intra-predição dos blocos vizinhos esquerdo e vizinho acima forem iguais, os dois modos de predição disponíveis que estão mais próximos de candIntraPredModeN na direção de predição podem ser designados como sendo os dois modos candidatos adicionais. Se candIntraPredModeN forem diferentes, o modo candidato adicional pode ser escolhido como sendo o modo DC, vertical ou horizontal.
[0155] Os detalhes de uma derivação ilustrativa são como segue: se ambos candIntraPredModeN não estiverem disponíveis, então o valor 3 é designado para candModeList[0], o valor 0 é designado para candModeList[1], o valor 1 é designado para candModeList[2]valor 2 é designado para candModeList[3], e o valor 9 é designado para candModeList[4]. Por exemplo, candIntraPredMode0 pode corresponder ao bloco vizinho esquerdo (bloco 6 na figura 1) e candIntraPredMode1 pode corresponder ao bloco vizinho acima (bloco 4 na figura 1). Do contrário, se ambos candIntraPredModeN estiverem disponíveis e forem iguais, então o valor do mesmo candIntraPredModeN é designado para candModeList[0].
[0156] Os valores para candModeList[1] candModeList[2] são derivados pela aplicação do procedimento a seguir, utilizando as Tabelas 2.4, 3.4 e 4.4. Se candModeList[0] não for igual a 0 ou 2, o valor 0 é designado para candModeList[1]. Do contrário, o valor 2 é designado para candModeList[1]. PredModeMinus1_M[candModeList[0]] é designado para candModeList[2], PreModePlus1_M[candModeList[0]] é designado para candModeList[2], PreModePlus1_M[candModeList[0]] é designado para candModeList[3], e Last_MPM[candModeList[0]] é designado para candModeList[4], onde M representa intraPredModeNum.
[0157] Do contrário, ambos candIntraPredModeN são designados para a lista de modos candidatos com o menor dos dois candidatos em candModeList[0] e o Mario em candModeList[1]. As variáveis candModeList[2], candModeList[3] e candModeList[4] são derivadas pela aplicação do procedimento a seguir. Se candIntraPredMode0 = 0, então candModeList[2] = PredModeMinus1_M[candModeList[1]], candModeList[3] = PredModePlus1_M[candModeList[1]], e candModeList[4] = LastMPM_M[candModeList[1]]. Do contrário, se candIntraPredMode1 = 0, então candModeList[2] = PredModeMinus1_M[candModeList[0]], candModeList[3] = PredModePlus1_M[candModeList[0]], e candModeList[4] = LastMPM_McandModeList[0]]. Do contrário, candModeList[2] = 0, e candModeList[3] e candModeList[4] são escolhidos a partir dos dois primeiros elementos disponíveis a partir do conjunto a seguir:
Figure img0021
Um modo pode ser definido como disponível quando o modo não existia anteriormente no candModeList.
[0158] Com relação à sinalização de modo de intra- predição de cor, HEVC atual permite 6 modos, plano, vertical, horizontal, DC, predição de crominância com base em sinal Luma, e herança do modo de predição Luma. Uma designação de índice para esses modos pode ser como segue: plano(0), vertical(1), horizontal(2), DC(3), e predição de crominância com base em sinal Luma(35). No entanto, em outros exemplos, outras designações de índice são utilizadas. Entre todos, a herança de modo de predição Luma significa a direção de predição de crominância é igual à direção de predição de luminância.
[0159] Por exemplo, 0 é designado para intra_chroma_pred_mode[0], 1 é designado para intra_chroma_pred_mode[1], 2 é designado para intra_chroma_pred_mode[2], e 3 é designado para intra_chroma_pred_mode[3]. Se intra_pred_mode for igual a 0, 1, 2, ou 3 (isso é, modo plano, vertical, horizontal, ou DC), 7 é designado para intra_chroma_pred_mode[intra_pred_mode]. A figura 6 ilustra outro exemplo possuindo um mapeamento diferente dos valores de índice para os modos de intra-predição para componentes de luminância. Por exemplo, na figura 6, se intra_pred_mode for igual a 0, 1, 26 ou 1 (modo plano, vertical, horizontal ou DC, respectivamente), então 34 (superior direito) é designado para intra_chroma_pred_mode[intra_pred_mode]. Isso é, se intra_pred_mode for igual ao do plano, vertical, horizontal ou DC, então intra_chroma_pred_mode[intra_pred_mode] é igual ao modo direcional superior direito.
[0160] O desenho last_MPM pode ser igual para intraPredModeNum - 18 e os primeiros 18 modos quando intraPredModeNum = 35 para ter o mesmo tamanho de tabela. Além disso, quando intraPredModeNum = 35, os últimos 17 modos podem ser simetricamente projetados com relação ao modo 1, 2 e 4 para salvar adicionalmente o tamanho de tabela.
[0161] Em outro exemplo o número de modos de intra- predição de crominância disponíveis podem ser fixados. Por exemplo, os seis modos de intra-predição de crominância disponíveis (IntraPredModeC) podem se sinalizados. Dois modos, predição de sinal luma e reutilização do modo de intra-predição luma, permanecem inalterados. Para outros quatro modos, duas escolhas são adicionadas, que são modos intra-predição adjacentes (Tabela 4.4 e Tabela 5.4) e os modos de intra-predição adjacente perpendiculares (Tabela 8 e Tabela 9).
[0162] Os outros quatro modos são derivados como segue: 0 é designado para intra_chroma_pred_mode[0], 1 é designado para intra_chroma_pred_mode[1], 2 é designado para intra_chroma_pred_mode[2] e 3 é designado para intra_chroma_pred_mode[3]. Se intra_pred_mode for igual a 0 ou 3, 7 é designado para intra_chroma_pred_mode[intra_pred_mode]. Do contrário, PredModeMinus1_M[intra_pred_mode] é designado para intra_chroma_pred_mode[0], PredModePlus1_M[intra_pred_mode] é designado para intra_chroma_pred_mode[1], PredMode_P_M[intra_pred_mode] é designado para intra_chroma_pred_mode[2]. Tabela 8 - Mapeamento de modo perpendicular quando intraPredModeNum é igual a 18
Figure img0022
Tabela 9 - Mapeamento de modo perpendicular quando intraPredModeNum é igual a 35
Figure img0023
[0163] Em um ou mais exemplos, as funções descritas podem 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 de um meio legível por computador e executadas por uma unidade de processamento com base em hardware. Mídia legível por computador pode incluir mídia de armazenamento legível por computador, que corresponde a um meio tangível tal como o meio de armazenamento de dados, ou meio de comunicação incluindo qualquer meio que facilite a transferência de um programa de computador de um lugar para outro, por exemplo, de acordo com um protocolo de comunicação. Dessa forma, a mídia legível por computador geralmente pode 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 recuperar instruções, código e/ou estruturas de dados para implementação das técnicas descritas nessa descrição. Um produto de programa de computador pode incluir um meio legível por computador.
[0164] Por meio de exemplo, e não de limitação, tal meio de armazenamento legível por computador pode compreender RAM, ROM, EEPROM, CD-ROM, ou outro armazenador em disco ótico, armazenador em disto magnético ou outros dispositivos de armazenamento magnético, memória flash, ou qualquer outro meio que possa ser utilizado para 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 computar. Por exemplo, se instruções forem transmitidas a partir 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ídas na definição de meio. Deve-se compreender, 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ória, mas são, ao invés disso, direcionadas para mídia de armazenamento tangível não transitória. Disquete disco, como utilizado aqui, incluem disco compacto (CD), disco a laser, disco ótico, disco versátil digital (DVD), disquete e disco blu- ray onde disquetes normalmente reproduzem dados magneticamente, enquanto discos reproduzem os dados oticamente com lasers. Combinações do acima exposto também podem ser incluídas no escopo de meio legível por computador.
[0165] 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), 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 dentre uma estrutura acima e qualquer outra estrutura adequada para implementação e técnicas descritas aqui. Adicionalmente, em alguns aspectos, a funcionalidade descrita aqui pode ser fornecida dentro de módulos de hardware e/ou software dedicados configurados para codificação e decodificação, ou incorporados em um codec combinado. Além disso, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos lógicos.
[0166] As técnicas dessa descriçã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 funcionais dos dispositivos configurados para atualizar as técnicas descritas, mas não exigem necessariamente a atualização por unidades de hardware diferentes. Ao invés disso, como descrito acima, várias unidades podem ser combinadas em uma unidade de hardware codec ou fornecidas por uma coleção de unidades de hardware interoperacionais, incluindo um ou mais processadores como descrito acima, em conjunto com software e/ou firmware adequados.
[0167] Vários exemplos foram descritos. Esses e outros exemplos estão dentro do escopo das reivindicações a seguir.

Claims (14)

1. Método para codificação de dados de vídeo, o método compreendendo: - determinar, para um bloco dentro de uma imagem de dados de vídeo, um conjunto de modos de intra-predição mais prováveis para predição do bloco de dados de vídeo a partir dos modos de intra-predição disponíveis para predizer o bloco de dados de vídeo, o método sendo caracterizado pelo fato de que o conjunto de modos de intra-predição mais prováveis possui um tamanho que é igual a um número predeterminado que é maior ou igual a dois, e em que o tamanho é fixo para todos os blocos na imagem; - fornecer uma palavra-código, em que a palavra- código indica se o modo de intra-predição atual é um dos modos de intra-predição mais prováveis, e caso negativo, fornece uma indicação do modo de intra-predição atual; e - codificar o bloco utilizando o modo de intra- predição atual, em que determinar o conjunto de modos de intra- predição mais prováveis compreende: - determinar um primeiro modo de intra- predição para um bloco vizinho esquerdo do bloco; - determinar um segundo modo de intra-predição para um bloco vizinho acima do bloco; - incluir ambos o primeiro modo de intra- predição e o segundo modo de intra-predição no conjunto de modos de intra-predição mais prováveis quando o primeiro modo de intra-predição for diferente do segundo modo de intra-predição; - incluir o primeiro modo de intra-predição e o modo plano no conjunto de modos de intra-predição mais prováveis quando o primeiro modo de intra-predição for igual ao segundo modo de intra-predição, e quando os primeiro e segundo modos de intra-predição compreenderem um modo diferente do modo plano; e - incluir o modo plano e um modo DC no conjunto de modos de intra-predição mais prováveis quando o primeiro modo de intra-predição for igual ao segundo modo de intra-predição, e quando os primeiro e segundo modos de intra-predição compreendem um modo plano.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o bloco compreende um bloco de luminância, o método compreendendo adicionalmente: - determinar, para um bloco de crominância correspondente ao bloco de luminância, um mapeamento de um conjunto de valores para um conjunto de modos de intra- predição, o conjunto de modos de intra-predição compreendendo modo horizontal, modo vertical, modo plano, modo DC, e o modo de predição de sinal de luma, em que quando o modo de intra-predição atual para o bloco de luminância compreende um modo diferente do modo horizontal, modo vertical, modo plano e modo DC, o conjunto de modos de intra-predição compreende adicionalmente uma reutilização do modo de intra-predição de luma mapeado a partir de um primeiro valor do conjunto de valores, e em que quando o modo de intra-predição atual para o bloco de luminância compreende um dentre o modo horizontal, modo vertical, modo plano e o modo DC, o conjunto de modos de intra-predição compreende adicionalmente um modo diferente do modo horizontal, modo vertical, modo plano, e modo DC mapeado a partir do primeiro valor do conjunto de valores; - codificar um valor representativo de um modo de intra-predição atual para o bloco de crominância com base no mapeamento do conjunto de valores para o conjunto de modos; e - codificar o bloco de crominância utilizando o modo de intra-predição atual para o bloco de crominância.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o tamanho do conjunto de modos de intra-predição mais prováveis é igual a três, o método compreendendo adicionalmente: - determinar uma direção de predição do primeiro modo de intra-predição; - comparar a direção de predição do primeiro modo de intra-predição com direções de predição de um ou mais outros modos de intra-predição disponíveis; e - incluir um segundo modo de intra-predição e um terceiro modo de intra-predição dos um ou mais modos de intra-predição disponíveis no conjunto de modos de intra- predição mais prováveis, em que o segundo modo de intra- predição e o terceiro modo de intra-predição possuem uma direção de predição determinada para estar mais próxima da direção de predição do primeiro modo de intra-predição com base na comparação.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: o tamanho do conjunto de modos de intra-predição mais prováveis é igual a quatro.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: - selecionar o modo de intra-predição atual; e em que codificar o bloco compreende adicionalmente codificar o bloco com base no modo de intra- predição atual.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: - codificar o bloco compreende adicionalmente decodificar o bloco utilizando o modo de intra-predição atual; e - codificar o valor representativo do modo de intra-predição atual compreende determinar o modo de intra- predição atual a partir do valor.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que quando o modo de intra- predição atual for o modo plano, vertical, horizontal ou modo DC, um modo de intra-predição croma é um modo de intra-predição de direção superior direita.
8. Memória legível por computador caracterizada pelo fato de que compreende instruções armazenadas na mesma que, quando executadas, fazem com que um processador de um dispositivo de codificação de vídeo realize o método conforme definido em qualquer umas das reivindicações 1 a 7.
9. Dispositivo para codificação de vídeo, compreendendo: - mecanismos para determinar, para um bloco dentro de uma imagem de dados de vídeo, um conjunto de modos de intra-predição mais prováveis para predição do bloco de dados de vídeo a partir dos modos de intra- predição disponíveis para predição do bloco de dados de vídeo, o dispositivo caracterizado pelo fato de que o conjunto de modos de intra-predição mais prováveis possui um tamanho que é igual a um número predeterminado que é maior ou igual a dois, e em que o tamanho é fixo para todos os blocos na imagem; - mecanismos para fornecer uma palavra-código, em que a palavra-código indica se o modo de intra-predição atual é um dos modos de intra-predição mais prováveis, e caso negativo, fornece uma indicação do modo de intra- predição atual; - mecanismos para codificar o bloco utilizando o modo de intra-predição atual; - mecanismos para determinar um primeiro modo de intra-predição para um bloco vizinho esquerdo do bloco; e - mecanismos para determinar um segundo modo de intra-predição para um bloco vizinho acima do bloco; em que o dispositivo compreende adicionalmente: - mecanismos para incluir ambos o primeiro modo de intra-predição e o segundo modo de intra-predição no conjunto de modos de intra-predição mais prováveis quando o primeiro modo de intra-predição for diferente do segundo modo de intra-predição; - mecanismos para incluir o primeiro modo de intra-predição e modo plano no conjunto de modos de intra- predição mais prováveis quando o primeiro modo de intra- predição for igual ao segundo modo de intra-predição, e quando os primeiro e segundo modos de intra-predição compreendem um modo diferente do modo plano; e - mecanismos para incluir o modo plano e um modo DC no conjunto de modos de intra-predição mais prováveis quando o primeiro modo de intra-predição for igual ao segundo modo de intra-predição, e quando os primeiro e segundo modos de intra-predição compreendem um modo plano.
10. Dispositivo, de acordo com a reivindicação 9, caracterizado pelo fato de que o bloco compreende um bloco de luminância, o dispositivo compreendendo adicionalmente: - mecanismos para determinar, para um bloco de crominância correspondente ao bloco de luminância, um mapeamento de um conjunto de valores para um conjunto de modos de intra-predição, o conjunto de modos de intra- predição compreendendo modo horizontal, modo vertical, modo plano, modo DC, e modo de predição de sinal luma, em que quando o modo de intra-predição atual para o bloco de luminância compreende um modo diferente do modo horizontal, do modo vertical, do modo plano, e do modo DC, o conjunto de modos de intra-predição compreende adicionalmente uma reutilização do modo de intra-predição luma mapeado a partir de um primeiro valor do conjunto de valores, e em que quando o modo de intra-predição atual para o bloco de luminância compreende um dentre o modo horizontal, o modo vertical, o modo plano, e o modo DC, o conjunto de modos de intra-predição compreende adicionalmente um modo diferente do modo horizontal, do modo vertical, do modo plano e do modo DC mapeados a partir do primeiro valor do conjunto de valores; - mecanismos para codificar um valor representativo de um modo de intra-predição atual para o bloco de crominância baseado no mapeamento do conjunto de valores para o conjunto de modos; e - mecanismos para codificar o bloco de crominância utilizando o modo de intra-predição atual para o bloco de crominância.
11. Dispositivo, de acordo com a reivindicação 9, caracterizado pelo fato de que o tamanho do conjunto de modos de intra-predição mais prováveis é igual a três, o dispositivo compreendendo adicionalmente: mecanismos para determinar uma direção de predição de um primeiro modo de intra-predição; mecanismos para comparar a direção de predição do primeiro modo de intra-predição com direções de predição de um ou mais outros modos de intra-predição disponíveis; mecanismos para incluir um segundo modo de intra-predição e um terceiro modo de intra-predição dos um ou mais modos de intra-predição disponíveis no conjunto de modos de intra-predição mais prováveis, em que o segundo modo de intra-predição e o terceiro modo de intra-predição possuem uma direção de predição determinada para ser mais próxima da direção de predição do primeiro modo de intra- predição baseado na comparação.
12. Dispositivo, de acordo com a reivindicação 9, caracterizado pelo fato de que: o tamanho do conjunto de modos de intra-predição mais prováveis é igual a quatro.
13. Dispositivo, de acordo com a reivindicação 9, caracterizado pelo fato de que o dispositivo compreende um codificador de vídeo.
14. Dispositivo, de acordo com a reivindicação 9, caracterizado pelo fato de que o dispositivo compreende um decodificador de vídeo.
BR112013031197-5A 2011-06-09 2012-06-08 Método e dispositivo para codificação de vídeo, e memória legível por computador BR112013031197B1 (pt)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161495332P 2011-06-09 2011-06-09
US61/495,332 2011-06-09
US201161503712P 2011-07-01 2011-07-01
US61/503,712 2011-07-01
US201161504664P 2011-07-05 2011-07-05
US61/504,664 2011-07-05
US201161533118P 2011-09-09 2011-09-09
US61/533,118 2011-09-09
US13/491,076 2012-06-07
US13/491,076 US9654785B2 (en) 2011-06-09 2012-06-07 Enhanced intra-prediction mode signaling for video coding using neighboring mode
PCT/US2012/041545 WO2012170812A1 (en) 2011-06-09 2012-06-08 Enhanced intra-prediction mode signaling for video coding using neighboring mode

Publications (2)

Publication Number Publication Date
BR112013031197A2 BR112013031197A2 (pt) 2017-01-31
BR112013031197B1 true BR112013031197B1 (pt) 2022-05-17

Family

ID=47293185

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013031197-5A BR112013031197B1 (pt) 2011-06-09 2012-06-08 Método e dispositivo para codificação de vídeo, e memória legível por computador

Country Status (21)

Country Link
US (2) US9654785B2 (pt)
EP (2) EP3282702B1 (pt)
JP (2) JP5805861B2 (pt)
KR (2) KR101600720B1 (pt)
CN (1) CN103597832B (pt)
AU (1) AU2012267737B2 (pt)
BR (1) BR112013031197B1 (pt)
CA (1) CA2837952C (pt)
DK (1) DK2719180T3 (pt)
ES (1) ES2657546T3 (pt)
HU (1) HUE035456T2 (pt)
IL (1) IL229415A (pt)
MX (1) MX336905B (pt)
PL (1) PL2719180T3 (pt)
PT (1) PT2719180T (pt)
RU (1) RU2601843C2 (pt)
SG (1) SG194971A1 (pt)
SI (1) SI2719180T1 (pt)
UA (1) UA110649C2 (pt)
WO (1) WO2012170812A1 (pt)
ZA (1) ZA201400151B (pt)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101356448B1 (ko) * 2008-10-01 2014-02-06 한국전자통신연구원 예측 모드를 이용한 복호화 장치
US8867854B2 (en) 2008-10-01 2014-10-21 Electronics And Telecommunications Research Institute Image encoder and decoder using undirectional prediction
CN102484701A (zh) * 2009-07-06 2012-05-30 汤姆逊许可证公司 用于空间变化残差编码的方法和设备
US9918086B2 (en) * 2010-08-17 2018-03-13 M&K Holdings Inc. Method for encoding an intra prediction mode
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
AU2011354441B2 (en) * 2011-01-07 2014-07-17 Hfi Innovation Inc. Method and apparatus of improved intra luma prediction mode coding
KR101824241B1 (ko) * 2011-01-11 2018-03-14 에스케이 텔레콤주식회사 인트라 부가정보 부호화/복호화 장치 및 방법
KR101789478B1 (ko) 2011-03-06 2017-10-24 엘지전자 주식회사 휘도 샘플을 이용한 색차 블록의 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
MY165837A (en) 2011-06-13 2018-05-17 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN106412585A (zh) * 2011-06-17 2017-02-15 联发科技股份有限公司 内部预测模式编码的方法
CN105187836B (zh) 2011-06-17 2017-07-18 Jvc建伍株式会社 图像解码装置、图像解码方法及接收装置、接收方法
TR201906149T4 (tr) 2011-06-28 2019-05-21 Samsung Electronics Co Ltd İç tahmin ile video kodlamak için usul ve cihaz.
WO2013023518A1 (en) * 2011-08-17 2013-02-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction using non-square blocks
GB2494468B (en) * 2011-09-12 2014-01-15 Canon Kk Method and device for encoding or decoding information representing prediction modes
EP3139596B1 (en) * 2011-09-13 2019-09-25 HFI Innovation Inc. Method and apparatus for intra mode coding in hevc
KR101974952B1 (ko) * 2011-10-06 2019-05-07 인텔렉추얼디스커버리 주식회사 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
JP5869681B2 (ja) * 2011-10-07 2016-02-24 パンテック カンパニー リミテッド 候補画面内予測モードを利用した画面内予測モードの符号化/復号化方法及び装置
HUE062143T2 (hu) * 2011-10-18 2023-09-28 Lg Electronics Inc Eljárások intra predikcióra, valamint tárolóközeg
DK2942954T3 (da) * 2011-10-24 2020-08-24 Innotive Ltd Billedafkodningsindretning
HUE050655T2 (hu) * 2011-10-24 2020-12-28 Innotive Ltd Képdekódolási eljárás
KR20130045152A (ko) * 2011-10-24 2013-05-03 (주)인터앱 인트라 예측 모드 복호화 방법 및 장치
RS61146B1 (sr) * 2011-10-24 2020-12-31 Innotive Ltd Postupak i aparat za dekodiranje slike
WO2013062194A1 (ko) * 2011-10-24 2013-05-02 (주)인터앱 복원 블록을 생성하는 방법 및 장치
KR20130049523A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
US10390016B2 (en) 2011-11-04 2019-08-20 Infobridge Pte. Ltd. Apparatus of encoding an image
KR20130049524A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
KR20130049522A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130049525A (ko) 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
US9154796B2 (en) 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
KR20130058524A (ko) 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
CN108184121A (zh) * 2011-12-05 2018-06-19 Lg 电子株式会社 帧内预测的方法和设备
CN103220506B (zh) 2012-01-19 2015-11-25 华为技术有限公司 一种编解码方法和设备
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
CN109194961B (zh) * 2012-01-20 2022-05-17 杜比实验室特许公司 解码方法、视频解码设备及编码方法
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
US9210438B2 (en) * 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
US9264710B2 (en) 2012-07-06 2016-02-16 Texas Instruments Incorporated Method and system for video picture intra-prediction estimation
KR20160048025A (ko) * 2013-01-07 2016-05-03 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
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
SG10201913539SA (en) * 2013-04-07 2020-02-27 Dolby Int Ab Signaling change in output layer sets
WO2014168643A1 (en) * 2013-04-12 2014-10-16 Intel Corporation Coding unit size dependent simplified depth coding for 3d video coding
US9729875B2 (en) 2013-07-08 2017-08-08 Sony Corporation Palette coding mode
US20150271491A1 (en) * 2014-03-24 2015-09-24 Ati Technologies Ulc Enhanced intra prediction mode selection for use in video transcoding
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
CN106716999B (zh) * 2014-06-20 2019-08-09 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
JP5983715B2 (ja) * 2014-11-28 2016-09-06 株式会社Jvcケンウッド 画像復号装置、画像復号方法、及び画像復号プログラム
US10205968B2 (en) * 2015-02-13 2019-02-12 Mediatek Inc. Method and apparatus for palette index coding in video and image compression
US9756401B2 (en) * 2015-04-07 2017-09-05 Sony Corporation Processing and providing an image in which a plurality of symbols are encoded
CN115134595A (zh) * 2015-06-05 2022-09-30 杜比实验室特许公司 用于执行帧间预测的图像编解码方法、比特流存储方法
US10142627B2 (en) * 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US10560693B2 (en) * 2015-11-24 2020-02-11 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
EP3363199B1 (en) * 2015-11-27 2021-05-19 MediaTek Inc. Method and apparatus of entropy coding and context modelling for video and image coding
ES2711189R1 (es) * 2016-04-06 2020-02-04 Kt Corp Metodo y aparato para procesar senales de video
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
CN109479129B (zh) 2016-07-18 2023-07-11 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
WO2018062699A1 (ko) * 2016-09-30 2018-04-05 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
EP3301915A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
CN117395408A (zh) * 2016-10-04 2024-01-12 韩国电子通信研究院 对图像进行编码/解码的方法和设备以及记录介质
US10506228B2 (en) 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
KR20180046876A (ko) 2016-10-28 2018-05-09 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
PT3552393T (pt) * 2016-12-23 2023-05-30 Huawei Tech Co Ltd Um aparelho de codificação para sinalizar um modo de intra-predição direcional de extensão dentro de um conjunto de modos de intra-predição direcional
CN112188194B (zh) 2016-12-23 2021-08-03 华为技术有限公司 帧内预测装置、方法、编解码装置及计算机可读存储介质
WO2018117891A1 (en) 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd. An intra-prediction apparatus for removing a directional intra-prediction mode from a set of predetermined directional intra-prediction modes
JP6917719B2 (ja) * 2017-01-27 2021-08-11 日本放送協会 イントラ予測器、画像符号化装置、画像復号装置およびプログラム
US11496747B2 (en) * 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
WO2018181252A1 (en) * 2017-03-28 2018-10-04 Panasonic Intellectual Property Corporation Of America Encoding apparatus, decoding apparatus, encoding method, and decoding method
EP3399754A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus for most probable mode (mpm) reordering for intra prediction
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US10630978B2 (en) * 2017-05-12 2020-04-21 Blackberry Limited Methods and devices for intra-coding in video compression
EP3422716A1 (en) * 2017-06-26 2019-01-02 Thomson Licensing Method and apparatus for most probable mode (mpm) sorting and signaling in video encoding and decoding
WO2019001710A1 (en) * 2017-06-29 2019-01-03 Huawei Technologies Co., Ltd. APPARATUSES AND METHODS FOR ENCODING AND DECODING A VIDEO CODING BLOCK OF A MULTIVATE VIDEO SIGNAL
WO2019026807A1 (en) * 2017-08-03 2019-02-07 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PARTITIONING VIDEO BLOCKS IN INTER VIDEO PREDICTION WAFER
US11212553B2 (en) * 2017-11-28 2021-12-28 Electronics And Telecommunications Research Institute Bidirectional intra prediction method and apparatus
WO2019129166A1 (en) * 2017-12-29 2019-07-04 Fg Innovation Ip Company Limited Device and method for coding video data based on mode list including different mode groups
CN112106360A (zh) * 2018-05-10 2020-12-18 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
WO2020004900A1 (ko) 2018-06-25 2020-01-02 김기백 화면내 예측 방법 및 장치
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
US10638161B2 (en) * 2018-07-13 2020-04-28 Tencent America LLC Methods and apparatus for most probable mode derivation
WO2020050697A1 (ko) * 2018-09-06 2020-03-12 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US11394965B2 (en) 2018-09-11 2022-07-19 Lg Electronics Inc. Method for processing image on basis of intra prediction mode, and device therefor
EP3834410A4 (en) * 2018-09-13 2021-11-03 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR INTRAPREDICTION
MX2021002931A (es) * 2018-09-13 2021-07-16 Fraunhofer Ges Forschung Intrapredicciones ponderadas lineales afines.
EP3629579A1 (en) 2018-09-27 2020-04-01 Ateme Method for image processing and apparatus for implementing the same
EP3709644A1 (en) * 2019-03-12 2020-09-16 Ateme Method for image processing and apparatus for implementing the same
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
EP3861736A4 (en) 2018-11-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. POSITION DEPENDENT INTRAPREDICTION
US10848763B2 (en) * 2018-11-14 2020-11-24 Tencent America LLC Method and apparatus for improved context design for prediction mode and coded block flag (CBF)
US11652984B2 (en) * 2018-11-16 2023-05-16 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
GB2579824B (en) 2018-12-14 2022-05-18 British Broadcasting Corp Video encoding and video decoding
JP7311263B2 (ja) 2018-12-17 2023-07-19 ナブテスコ株式会社 ドアロック装置、およびドアロックシステム、およびドア制御装置
KR20210103539A (ko) 2018-12-20 2021-08-23 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 인접 샘플 감소에 의해 선형 또는 아핀 변환을 사용하는 인트라 예측
GB2580326A (en) 2018-12-28 2020-07-22 British Broadcasting Corp Video encoding and video decoding
US11595662B2 (en) * 2019-02-06 2023-02-28 Tencent America LLC Method and apparatus for neighboring block availability in video coding
EP3912358A4 (en) * 2019-02-07 2022-03-30 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR SIGNALING INTRAPREDICTION MODE
CN115967810A (zh) 2019-02-24 2023-04-14 抖音视界有限公司 对视频数据进行编解码的方法、设备及计算机可读介质
GB2582023A (en) * 2019-03-08 2020-09-09 British Broadcasting Corp Method of signalling in a video codec
GB2596394B (en) * 2019-03-08 2022-08-17 British Broadcasting Corp Method of signalling in a video codec
JP2022068379A (ja) * 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
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
AU2020240981A1 (en) * 2019-03-21 2021-10-28 Huawei Technologies Co., Ltd. Method and apparatus for intra-prediction
EP3888361B1 (en) * 2019-03-24 2024-04-24 Huawei Technologies Co., Ltd. Method and apparatus for chroma intra prediction in video coding
KR20220020339A (ko) * 2019-06-14 2022-02-18 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 인트라-예측 모드들의 코딩
WO2020256597A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Matrix-based intra prediction for still picture and video coding
EP3970377B1 (en) * 2019-06-21 2023-08-30 Huawei Technologies Co., Ltd. Method and apparatus of quantizing coefficients for matrix-based intra prediction technique
US11330298B2 (en) * 2019-06-25 2022-05-10 Qualcomm Incorporated Simplified intra chroma mode coding in video coding
CA3145479A1 (en) * 2019-08-01 2021-02-04 Biao Wang An encoder, a decoder and corresponding methods of chroma intra mode derivation
IL291768A (en) * 2019-10-03 2022-06-01 Huawei Tech Co Ltd Encoding process for geometric division mode
GB2588406B (en) * 2019-10-22 2022-12-07 British Broadcasting Corp Video encoding and video decoding
WO2021034229A2 (en) * 2019-12-16 2021-02-25 Huawei Technologies Co., Ltd. Method and apparatus of reference sample interpolation filtering for directional intra prediction
EP4059220A4 (en) * 2019-12-19 2023-04-19 Huawei Technologies Co., Ltd. POSITION DEPENDENT PREDICTION COMBINATION METHOD AND APPARATUS
WO2021045655A2 (en) * 2019-12-31 2021-03-11 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
US20220345692A1 (en) * 2021-04-26 2022-10-27 Tencent America LLC Template matching based intra prediction
WO2022256451A1 (en) * 2021-06-03 2022-12-08 Innopeak Technology, Inc. Quantization level binarization in video coding
US11917136B2 (en) 2021-07-15 2024-02-27 Tencent America LLC Intra mode coding
US20230069984A1 (en) * 2021-08-24 2023-03-09 Tencent America LLC Hardware friendly design for intra mode coding

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US7474699B2 (en) 2001-08-28 2009-01-06 Ntt Docomo, Inc. Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method decoding method and program usable for the same
US6983079B2 (en) 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
KR20030073120A (ko) 2002-03-08 2003-09-19 주식회사 엘지이아이 임베디드 시스템에서 동영상 인트라 예측모드 구현방법
US7170937B2 (en) 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
EP2290989B1 (en) 2002-05-28 2015-01-28 Sharp Kabushiki Kaisha Method and systems for image intra-prediction mode estimation, communication, and organization
US7386048B2 (en) * 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
JP4490261B2 (ja) 2002-06-11 2010-06-23 ノキア コーポレイション イントラ符号化に基づく空間予測
BRPI0408087A (pt) 2003-03-03 2006-02-14 Agency Science Tech & Res método de intrapredição de codificação de vìdeo avançada (avc) para codificar vìdeo digital, aparelho que utiliza essa intrapredição e produto de programa de computador
CN100534192C (zh) 2003-10-28 2009-08-26 松下电器产业株式会社 帧内预测编码方法
MXPA06006107A (es) 2003-12-01 2006-08-11 Samsung Electronics Co Ltd Metodo y aparato de codificacion y decodificacion escalables de video.
EP1558039A1 (en) * 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
EP1605706A2 (en) 2004-06-09 2005-12-14 Broadcom Corporation Advanced video coding (AVC) intra prediction scheme
KR100627329B1 (ko) * 2004-08-19 2006-09-25 전자부품연구원 H.264 비디오 코덱을 위한 적응형 움직임 예측 및 모드결정 장치 및 그 방법
JP4501631B2 (ja) 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
TWI256258B (en) 2004-12-16 2006-06-01 Ind Tech Res Inst Method to speed up the mode decision of video coding
US20060153299A1 (en) 2005-01-07 2006-07-13 Kabushiki Kaisha Toshiba Coded video sequence conversion apparatus, method and program product for coded video sequence conversion
US7830960B2 (en) * 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding
US7751478B2 (en) 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US7706442B2 (en) * 2005-02-15 2010-04-27 Industrial Technology Research Institute Method for coding mode selection of intra prediction in video compression
KR100678911B1 (ko) 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
US7840078B2 (en) 2006-07-10 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for image processing control based on adjacent block characteristics
US8976870B1 (en) * 2006-08-30 2015-03-10 Geo Semiconductor Inc. Block and mode reordering to facilitate parallel intra prediction and motion vector prediction
FR2908007A1 (fr) 2006-10-31 2008-05-02 Thomson Licensing Sas Procede de codage d'une sequence d'images
CN101222641B (zh) 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
FR2916931A1 (fr) 2007-05-29 2008-12-05 Thomson Licensing Sas Procede de selection d'une donnee de codage et dispositif de codage implementant ledit procede
JP4650461B2 (ja) 2007-07-13 2011-03-16 ソニー株式会社 符号化装置、符号化方法、プログラム、及び記録媒体
KR100924048B1 (ko) 2007-07-30 2009-10-27 한국과학기술원 비디오 부호화에서 화면내 방향성 예측모드 고속 결정방법
TW200910971A (en) 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
JP2009111691A (ja) 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
US8467451B2 (en) 2007-11-07 2013-06-18 Industrial Technology Research Institute Methods for selecting a prediction mode
CN101971631B (zh) 2007-12-21 2013-03-27 艾利森电话股份有限公司 自适应帧内模式选择
JP4962400B2 (ja) * 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US8761253B2 (en) * 2008-05-28 2014-06-24 Nvidia Corporation Intra prediction mode search scheme
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
KR101306834B1 (ko) 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
WO2010036772A2 (en) 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
KR101260369B1 (ko) 2008-10-22 2013-05-07 니폰덴신뎅와 가부시키가이샤 스케일러블 동화상 부호화 방법, 스케일러블 동화상 부호화 장치, 스케일러블 동화상 부호화 프로그램 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN102308586B (zh) 2009-02-06 2015-03-25 汤姆森特许公司 用于视频编码器和解码器隐式和半隐式帧内模式信令的方法和装置
CN101854540B (zh) 2009-04-01 2014-07-02 辉达公司 用于应用h.264视频编码标准的帧内预测方法及装置
JP5169978B2 (ja) 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
KR101702553B1 (ko) 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
US20110002386A1 (en) 2009-07-06 2011-01-06 Mediatek Singapore Pte. Ltd. Video encoder and method for performing intra-prediction and video data compression
KR101507344B1 (ko) 2009-08-21 2015-03-31 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체
CN102598667B (zh) 2009-09-14 2015-03-18 汤姆森特许公司 帧内预测模式的高效视频编码和解码的方法和装置
KR20110047310A (ko) 2009-10-30 2011-05-09 삼성전자주식회사 비디오 인코딩 장치 및 비디오 인코딩 방법
EP2522144B1 (en) * 2010-01-08 2019-05-01 Nokia Technologies Oy Apparatus and method for video coding
WO2011099792A2 (ko) 2010-02-10 2011-08-18 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
KR102268821B1 (ko) 2010-04-09 2021-06-23 엘지전자 주식회사 비디오 데이터 처리 방법 및 장치
US10080024B2 (en) * 2010-05-14 2018-09-18 Thomson Licensing Methods and apparatus for intra coding a block having pixels assigned to groups
KR101939699B1 (ko) * 2010-05-19 2019-01-18 에스케이 텔레콤주식회사 영상 부호화/복호화 장치 및 방법
US8902978B2 (en) 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
CN101877792B (zh) 2010-06-17 2012-08-08 无锡中星微电子有限公司 帧内模式预测方法与装置、编码器
US8855188B2 (en) * 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
CA2806511C (en) 2010-09-30 2018-09-04 Panasonic Corporation Decoding and encoding according to a prediction mode determined from multiple estimated prediction modes
KR101505755B1 (ko) 2010-11-25 2015-03-24 엘지전자 주식회사 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
KR20120070479A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
BR122021004600B1 (pt) 2010-12-23 2022-08-16 Samsung Electronics Co., Ltd Método de decodificar uma imagem, e método de codificação de uma imagem
AU2011354441B2 (en) 2011-01-07 2014-07-17 Hfi Innovation Inc. Method and apparatus of improved intra luma prediction mode coding
WO2012092761A1 (en) * 2011-01-07 2012-07-12 Mediatek Singapore Pte. Ltd. Method and apparatus for improved intra prediction mode coding
JP5781313B2 (ja) 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
JP2012147332A (ja) 2011-01-13 2012-08-02 Sony Corp 符号化装置および符号化方法、並びに復号装置および復号方法
CN102595121A (zh) 2011-01-15 2012-07-18 华为技术有限公司 帧内预测模式二进制化的方法、解码方法、装置和系统
CN102685474B (zh) 2011-03-10 2014-11-05 华为技术有限公司 预测模式的编解码方法、编解码设备及网络系统
AU2011201336B2 (en) 2011-03-23 2013-09-05 Canon Kabushiki Kaisha Modulo embedding of video parameters
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
PL3220641T3 (pl) 2011-04-21 2019-07-31 Hfi Innovation Inc. Sposób i urządzenie do poprawionego filtrowania w pętli
KR101383775B1 (ko) 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
US10123053B2 (en) * 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
WO2012164902A1 (ja) 2011-05-30 2012-12-06 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
US10070126B2 (en) * 2011-06-28 2018-09-04 Hfi Innovation Inc. Method and apparatus of intra mode coding
JP2013058939A (ja) 2011-09-08 2013-03-28 Sharp Corp 画像復号装置、および画像符号化装置

Also Published As

Publication number Publication date
IL229415A0 (en) 2014-01-30
JP2014517630A (ja) 2014-07-17
BR112013031197A2 (pt) 2017-01-31
SG194971A1 (en) 2013-12-30
RU2601843C2 (ru) 2016-11-10
ZA201400151B (en) 2020-05-27
CN103597832A (zh) 2014-02-19
JP6250583B2 (ja) 2017-12-20
SI2719180T1 (en) 2018-02-28
UA110649C2 (uk) 2016-01-25
HUE035456T2 (en) 2018-05-02
ES2657546T3 (es) 2018-03-05
US20120314766A1 (en) 2012-12-13
RU2013158134A (ru) 2015-07-20
MX336905B (es) 2016-02-02
KR101600720B1 (ko) 2016-03-21
CA2837952A1 (en) 2012-12-13
KR20150091184A (ko) 2015-08-07
JP5805861B2 (ja) 2015-11-10
CA2837952C (en) 2018-02-06
EP3282702A1 (en) 2018-02-14
EP3282702B1 (en) 2024-03-06
AU2012267737B2 (en) 2015-12-03
KR20140022952A (ko) 2014-02-25
PT2719180T (pt) 2018-02-07
EP2719180B1 (en) 2017-11-08
DK2719180T3 (en) 2018-02-05
EP2719180A1 (en) 2014-04-16
KR101825275B1 (ko) 2018-02-02
PL2719180T3 (pl) 2018-04-30
US10264280B2 (en) 2019-04-16
US20170214940A1 (en) 2017-07-27
IL229415A (en) 2016-04-21
MX2013014484A (es) 2014-03-27
EP3282702C0 (en) 2024-03-06
CN103597832B (zh) 2017-05-24
JP2015164328A (ja) 2015-09-10
US9654785B2 (en) 2017-05-16
WO2012170812A1 (en) 2012-12-13

Similar Documents

Publication Publication Date Title
US10264280B2 (en) Enhanced intra-prediction mode signaling for video coding using neighboring mode
CA2867764C (en) Grouping bypass coded syntax elements in video coding
DK2622858T3 (en) VIDEO Coding GLASS FILTER
AU2012267737A1 (en) Enhanced intra-prediction mode signaling for video coding using neighboring mode
KR20190044629A (ko) 비디오 코딩을 위한 트리-타입 코딩
EP2781094B1 (en) Reference mode selection in intra mode coding
BR112016021151B1 (pt) Transformada inversa de espaço-cor tanto para vídeo codificado com perdas como sem perdas
EP2751999A1 (en) Intra prediction mode coding with directional partitions
BR112013017423B1 (pt) Indicação de seleção de modo intra-previsão para codificação de vídeo utilizando cabac
EP2767086A1 (en) Most probable transform for intra prediction coding
BR112014026750B1 (pt) Codificação de parâmetro de quantização (pq) em codificação de vídeo
EP2628300A1 (en) Adaptive motion vector resolution signaling for video coding
EP2772050A1 (en) Unified design for picture partitioning schemes
BR112015007273B1 (pt) Método e dispositivo para processar dados de vídeo de múltiplas camadas, dispositivo de codificação de vídeo e memória legível por computador
BR112016021144B1 (pt) Método e dispositivo de codificação e decodificação de dados de vídeo, e memória legível por computador

Legal Events

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

Ipc: H04N 19/593 (2014.01), H04N 19/11 (2014.01), H04N

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]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 08/06/2012, OBSERVADAS AS CONDICOES LEGAIS