BR112016008229B1 - Sistemas e métodos para derivação rps intercamada com base em dependência de previsão de referência de subcamada - Google Patents

Sistemas e métodos para derivação rps intercamada com base em dependência de previsão de referência de subcamada Download PDF

Info

Publication number
BR112016008229B1
BR112016008229B1 BR112016008229-0A BR112016008229A BR112016008229B1 BR 112016008229 B1 BR112016008229 B1 BR 112016008229B1 BR 112016008229 A BR112016008229 A BR 112016008229A BR 112016008229 B1 BR112016008229 B1 BR 112016008229B1
Authority
BR
Brazil
Prior art keywords
layer
image
images
direct reference
current
Prior art date
Application number
BR112016008229-0A
Other languages
English (en)
Other versions
BR112016008229A2 (pt
Inventor
Jianle Chen
Krishnakanth RAPAKA
Fnu HENDRY
Ye-Kui Wang
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 BR112016008229A2 publication Critical patent/BR112016008229A2/pt
Publication of BR112016008229B1 publication Critical patent/BR112016008229B1/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

SISTEMAS E MÉTODOS PARA DERIVAÇÃO RPS INTERCAMADA COM BASE EM DEPENDÊNCIA DE PREVISÃO DE REFERÊNCIA DE SUBCAMADA. Sistemas e métodos para derivação de conjunto de imagens de referência intercamada com base em uma dependência de previsão de referência de subcamada são descritos aqui. Um aspecto da presente matéria descrita nessa descrição fornece um codificador de vídeo compreendendo uma memória configurada para armazenar uma ou mais imagens de camada de referência direta de uma ou mais imagens atuais em uma sequência, onde as uma ou mais imagens atuais são associadas com uma camada atual, a camada atual sendo associada com uma ou mais camadas de referência direta. O codificador de vídeo compreende adicionalmente um processador em comunicação com a unidade de memória. A unidade de memória é configurada para determinar uma indicação associada com uma imagem atual para indicar se todas as uma ou mais imagens de camada de referência direta da imagem atual que não são restringidas para uso na previsão intercamada são incluídas em um conjunto de imagens de referência intercamada associado com a imagem atual.

Description

Campo Técnico
[0001] Essa descrição se refere ao campo de codificação de vídeo escalonável (SVC). Mais particularmente, é relacionada a extensões SVC com base em HEVC (HEVC-SC) e HEVC.
Fundamentos
[0002] As capacidades de vídeo digital podem ser incorporadas em uma ampla faixa de dispositivos, incluindo televisões digitais, sistemas de difusão direta digital, sistemas de difusão sem fio, assistentes digitais pessoais (PDAs), computadores laptop ou desktop, computadores tablet, leitores de livro eletrônico, 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, rádio telefones celulares ou via satélite, os chamados "smartphones", dispositivos de teleconferência de vídeo, dispositivos de sequenciamento de vídeo, e similares. Os dispositivos de vídeo digital implementam técnicas de compressão de vídeo, tal como as descritas em vários padrões de codificação de vídeo como descrito abaixo (por exemplo, Codificação de Vídeo de Alta Eficiência (HEVC)). Os dispositivos de vídeo podem transmitir, receber, codificar, decodificar e/ou armazenar informação de vídeo digital com maior eficiência pela implementação de tais técnicas de compressão de vídeo.
Sumário
[0003] Os sistemas, métodos e dispositivos dessa descrição possuem, cada um, vários aspectos inovadores, nenhum dos quais é responsável, sozinho, pelos atributos desejáveis descritos aqui. Os detalhes de um ou mais exemplos são apresentados nos desenhos em anexo e na descrição abaixo. Outras características, objetos e vantagens serão aparentes a partir da descrição e desenhos, e das reivindicações
[0004] Um aspecto da presente matéria descrito na descrição fornece um codificador de vídeo compreendendo uma memória configurada para armazenar uma ou mais imagens de camada de referência direta de uma ou mais imagens atuais em uma sequência, onde uma ou mais imagens atuais são associadas com uma camada atual, a camada atual sendo associada com uma ou mais camadas de referência direta. O codificador de vídeo compreende adicionalmente um processador em comunicação com a unidade de memória. A unidade de memória é configurada para determinar uma indicação associação com uma imagem atual para indicar se todas as uma ou mais imagens de camada de referência direta da imagem atual que não são restritas ao uso na previsão intercamada estão incluídas em um conjunto de imagens de referência intercamada associado com a imagem atual.
[0005] Outro aspecto da presente matéria descrita na descrição fornece um método de codificação de vídeo. O método compreende o armazenamento de uma ou mais imagens de camada de referência direta de uma ou mais imagens atuais em uma sequência, onde uma ou mais imagens atuais são associadas com uma camada atual, a camada atual sendo associada com uma ou mais camadas de referência direta. O método compreende adicionalmente a configuração de uma indicação associada com uma imagem atual para indicar se todas as uma ou mais imagens de camada de referência direta da imagem atual que não são restringidas para uso na previsão intercamada estão incluídas em um conjunto de imagens de referência intercamada associado com a imagem atual.
[0006] Outro aspecto da presente matéria descrita na descrição fornece um decodificador de vídeo compreendendo uma unidade de memória. A unidade de memória é configurada para armazenar uma ou mais imagens de camada de referência direta, onde cada uma das uma ou mais imagens de referência direta é associada com uma camada de referência direta respectiva de uma ou mais camadas de referência direta, onde uma ou mais camadas de referência direta são associadas com uma camada atual, e onde a camada atual é associada com uma imagem atual. O decodificador de vídeo compreende adicionalmente um processador em comunicação com a memória. O processador é configurado para determinar, com base em uma indicação, se todas dentre uma ou mais imagens de camada de referência direta que não são restringidas para uso na previsão intercamada são incluídas em um conjunto de imagens de referência intercamada associado com a imagem atual.
[0007] Outro aspecto da presente matéria descrito na descrição fornece um método de decodificação de vídeo. O método compreende o armazenamento de uma ou mais imagens de camada de referência direta, onde cada uma das uma ou mais imagens de camada de referência direta é associada com uma camada de referência direta respectiva de uma ou mais camadas de referência direta, onde uma ou mais camadas de referência direta são associados com uma camada atual, e onde a camada atual é associada com uma imagem atual. O método compreende adicionalmente a determinação, com base em uma indicação, se todas as uma ou mais imagens de camada de referência direta que não são restringidas para uso na previsão de intercamada são incluídas em um conjunto de imagens de referência intercamada associado com a imagem atual.
Breve Descrição dos Desenhos
[0008] A figura 1A é um diagrama em bloco ilustrando um sistema de codificação e decodificação de vídeo ilustrativo que pode utilizar as técnicas de derivação de conjunto de imagem de referência intercamada (RPS) descritas nessa descrição;
[0009] A figura 1B é um diagrama em bloco ilustrando outro sistema de codificação e decodificação de vídeo ilustrativo que pode utilizar as técnicas de derivação de conjunto de imagens de referência intercamada descritas nessa descrição;
[0010] A figura 2 é um diagrama em bloco ilustrando um codificador de vídeo ilustrativo que pode implementar as técnicas de derivação de conjunto de imagens de referência intercamada descritas nessa descrição;
[0011] A figura 3 é um diagrama em bloco ilustrando um decodificador de vídeo ilustrativo que pode implementar as técnicas de derivação de conjunto de imagens de referência intercamada descritas nessa descrição;
[0012] A figura 4 ilustra um exemplo de informação de vídeo que pode ser processado para indicar se um conjunto de imagens de referência intercamada inclui todas as imagens de camada de referência direta que não são restringidas para uso na previsão intercamada;
[0013] A figura 5 ilustra um fluxograma de um método para um processador de um codificador de vídeo para indicar se um conjunto de imagens de referência intercamada inclui todas as imagens de camada de referência direta que não são restringidas para uso na previsão intercamada;
[0014] A figura 6 ilustra um exemplo de informação de vídeo que pode ser processado para determinar um número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta;
[0015] A figura 7 ilustra um fluxograma de um método para um processador de um decodificador de vídeo para determinar um número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta.
Descrição Detalhada
[0016] A descrição detalhada apresentada abaixo com relação aos desenhos em anexo deve servir como uma descrição de modalidades ilustrativas da invenção e não deve representar as únicas modalidades nas quais a invenção pode ser praticada. O termo "ilustrativo" utilizado por toda essa descrição significa "servir como um exemplo, caso ou ilustração", e não devem ser consideradas como preferidas ou vantajosas sobre outras modalidades ilustrativas. A descrição detalhada inclui detalhes específicos para fins de fornecimento de uma compreensão profunda das modalidades ilustrativas da invenção. Em alguns casos, alguns dispositivos são ilustrados na forma de diagrama em bloco.
[0017] Enquanto para fins de simplicidade de explicação, as metodologias são ilustradas e descritas como uma série de atos, deve-se compreender e apreciar que as metodologias não são limitadas pela ordem dos atos, visto que alguns atos podem, de acordo com um ou mais aspectos, ocorrer em ordens diferentes e/ou simultaneamente com outros atos a partir do que foi ilustrado e descrito aqui. Por exemplo, os versados na técnica compreenderão e apreciarão que uma metodologia pode ser alternativamente representada como uma série de estados ou eventos inter- relacionados, tal como em um diagrama de estado. Ademais, nem todos os atos ilustrados podem ser necessários para implementar uma metodologia de acordo com um ou mais aspectos.
[0018] Os padrões de codificação de vídeo incluem os definidos por ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 ou ISO/IEC MPEG-2 Visual, ISO/IEC MPEG-4 Visual, ITU- T H.263, ISO/IEC MPEG-4 Visual e ITU-T H.264 (também conhecido como ISO/IEC MPEG-4 AVC), incluindo suas extensões de Codificação de Vídeo Escalonável (SVC) e Codificação de Vídeo de Múltiplas Visualizações (MVC), e Parte 10, padrão de Codificação de Vídeo Avançado (AVC) e Codificação de Vídeo de Alta Eficiência (HEVC) atualmente em desenvolvimento, e extensões de tais padrões. HEVC tem sido recentemente desenvolvido pela Equipe de Colaboração Conjunta em Codificação de Vídeo (JCT-VC) do Grupo de Especialistas de Codificação de Vídeo ITU-T (VCEG) e Grupo de Especialistas de Imagem em Movimento ISO/IEC (MPEG). A última especificação de rascunho HEVC ("HEVC WD") está disponível a partir de http://phenix.int- evry.fr/jct/doc end user/documents/14 Vienna/wg11/JCTVC- N1003-v1.zip. A extensão de últimas visualizações para HEVC (MV-HEVC) e uma extensão de codificação de vídeo HEVC 3D avançado (3D-HEVC) estão sendo desenvolvidos pelo JCT-3V. Adicionalmente, a extensão de codificação de vídeo escalonavel para HEVC (SHVC) está sendo desenvolvida pelo JCT-VC. Um Rascunho de Trabalho recente de MV-HEVC ("MV- HEVC WD5") está disponível a partir de http://phenix.it- sudparis.eu/jct2/doc end user/documents/5 Vienna/wg11/NCT3V -E1004-v6.zip. O último Rascunho de Trabalho de 3D-HEVC ("3D-HEVC WD1") está disponível a partir de http://phenix.it- sudparis.cu/jct2/doc end user/documents/5 Vienna/wg11/JCT3V -E1001-v3.zip. Adicionalmente, um Rascunho de Trabalho recente de SHVC ("SHVC WD3") está disponível a partir de http://phenix.it- sudparis.eu/jct/doc end user/documents/14 Vienna/wg11/JCTVC -N1008-V3.zip.
[0019] Como descrito acima, determinados aspectos da codificação de vídeo (por exemplo, em extensões HEVC) incluem a derivação de um conjunto de imagens de referência intercamada para uso na previsão intercamada de imagens atuais em camadas atuais. Por exemplo, um codificador de vídeo pode analisar um número de imagens de referência associadas com uma imagem atual em uma camada atual de modo que o codificador de vídeo pode fornecer a informação utilizável por um decodificador de vídeo que pode permitir que o decodificador de vídeo derive o conjunto de imagens de referência intercamada para a imagem atual e/ou a camada atual. Por exemplo, no nível de conjunto de parâmetro de vídeo (VPS), o codificador de vídeo pode fornecer uma indicação (por exemplo, um elemento de sintaxe e/ou um conjunto de indicador para um valor de "0" ou "1") que indica para o decodificador de vídeo que todas as imagens de uma camada de referência direta da camada atual podem ser utilizadas para (por exemplo, incluída dentro) um conjunto de imagens de referência (RPS). Pelo fornecimento de determinadas indicações (por exemplo, configuração de determinados indicadores para um valor de "0" ou "1"), o codificador de vídeo pode permitir que o decodificador de vídeo determine como a memória será alocada para todas as imagens na sequência de vídeo associada e pode permitir que o decodificador de vídeo insira cada uma das imagens dentro do conjunto de imagens de referência (RPS).
[0020] Por exemplo, os Rascunhos de Trabalho recentes de MV-HEVC WD5 e SHVC WD3 incluem o indicador all_ref_layers_active_flag no conjunto de parâmetros de vídeo (VPS) com as semânticas a seguir: "all_ref_layers_active_flag igual a 1 especifica que para cada imagem referente a VPS, as imagens de camada de referência de todas as camadas de referência direta da camada contendo a imagem estão presentes na mesma unidade de acesso que a imagem e são incluídas no conjunto de imagens de referência intercamada da imagem, all_ref_layers_active_flag igual a 0 especifica que a restrição acima pode ou não aplicar". Quando o codificador de vídeo configura all_ref_layers_active_flag para um valor de "1" e sinaliza all_ref_layers_active_flag para o decodificador de vídeo, o decodificador de vídeo pode derivar uma variável especificando um número de imagens de referência de intercamada incluídas no conjunto de imagens de referência intercamada (RPS) para uma imagem associada (por exemplo, o decodificador de vídeo pode determinar um número de imagens de camada de referência ativas). Rascunhos de Trabalho recentes de MV-HEVC WD5 e SHVC WD3 incluem a variável NumActiveRefLayerPics para essa finalidade. O código abaixo ilustra como a variável NumActiveRefLayerPics é derivado em Rascunhos de Trabalho recentes de MV-HEVC WD5 e SHVC WD3: se (nuh_layer_id = = 0 || NumDirectRefLayers [nuh_layer_id] = = 0) NumActiveRefLayerPics = 0; ou se (all_ref_layers_active_flag) NumActiveRefLayerPics = NumDirectRefLayers [nuh_layer_id]; ou se (!inter_layer_pred_enabled_flag) NumActiveRefLayerPics = 0; ou se (max_one_active_ref_layer_flag | | NumDirectRefLayers [nuh_layer_id] = = 1) NumActiveRefLayerPics = 1; ou NumActiveRefLayerPics = num_inter_layer_ref_pics_minus1 + 1;
[0021] Pela utilização de all_ref_layers_active_flag da forma descrita acima, algum overhead de sinalização de nível de fatia pode ser salvo durante a derivação de um RPS intercamada. Por exemplo, a sinalização de overhead pode ser salva quando cada uma das imagens de camada de referência direta (algumas vezes referidas como imagens de camada de referência) da camada atual (a camada contendo a imagem atual) estão presentes na mesma unidade de acesso que a imagem atual e são incluídos no conjunto de imagem de referência intercamadas da imagem atual. Uma camada de referência direta é uma camada que pode ser utilizada para a previsão de intercamada de outra camada, tal como a camada atual. Uma imagem de camada de referência direta (ou imagem de camada de referência) é uma imagem em uma camada de referência direta que é utilizada para a previsão intercamada da imagem atual e está na mesma unidade de acesso que a imagem atual. Tal economia de overhead de sinalização pode ocorrer em situações de codificação de vídeo de múltiplas visualizações quando as imagens de camada de referência direta especificadas em VPS estão presentes em cada unidade de acesso, as imagens de camada de referência direta especificadas em VPS são todas utilizadas para previsão intercamada, e as imagens de camada de referência direta especificadas em VPS são todas inseridas em pelo menos uma lista de imagens de referência da imagem atual. Outra situação na qual isso pode ocorrer é durante a codificação de vídeo escalonavel, onde é comum para cada camada de aperfeiçoamento ter apenas uma camada de referência direta e para as imagens de camada de referência direta estarem presentes em cada unidade de acesso e utilizadas para a previsão intercamada.
[0022] No entanto, os métodos de extensão HEVC atuais para sinalização e derivação RPS descritos acima possuem determinadas desvantagens. Por exemplo, o processo atual não permite que o codificador de vídeo forneça o decodificador de vídeo com a indicação de economia de overhead de sinalização como descrito acima se qualquer uma das imagens associadas em pelo menos uma subcamada estiver restringida de utilizar na previsão intercamada. Mais especificamente, os Rascunhos de Trabalho recentes de MV- HEVC WD 5 e SHVC WD3 exigem que all_ref_layers_active_flag sejam configurados para um valor igual a zero (isso é, indicando que uma restrição exigindo que para cada imagem com referência a VPS, as imagens de camada de referência para todas as camadas de referência direta da camada contendo a imagem estão presentes na mesma unidade de acesso que a imagem e são incluídas no conjunto de imagens de referência intercamada da imagem podem ou não aplicar) quando qualquer uma das imagens associadas possui um Valor de Identificação Temporal (TID ou TemporalID) superior a um valor de identificação temporal máximo (Max TID), por exemplo, max_tid_il_ref_pics_plus1[i]. Em outras palavras, uma restrição de previsão de intercamada e subcamada temporal é indicada por max_tid_il_ref_pics_plus1[i] - 1, para qualquer valor de i na faixa de 0 para vps_max_layers_minus1, inclusive, menos que ou igual ao valor mais alto de TemporalId de todas as unidades de camada de abstração de rede (NAL) de camada de codificação de vídeo (VCL) nas sequências de vídeo de codificação (CVSs) com referência a VPS. Essas limitações podem fazer com que abordagens atuais desperdicem os recursos de codificação (por exemplo, apresentando altos custos de memória, altos custos de sinalização, etc.) e para diminuir a utilidade dos indicadores e variáveis descritos acima e/ou diminuir a utilidade de quaisquer outros elementos de sintaxe que podem, de outra forma, ser utilizados para otimizar a memória. Em vista de tais limitações, seria benéfico se permitir que um codificador de vídeo fornecesse um decodificador de vídeo com as indicações de economia de overhead de sinalização descritas acima em uma base mais frequente, por exemplo, mesmo se algumas das imagens associadas em pelo menos uma subcamada forem restringidas de uso na previsão intercamada.
[0023] Dessa forma, a presente descrição descreve as técnicas para a derivação de conjunto de imagens de referência intercamada (RPS) utilizando as indicações e/ou determinações relacionadas com determinadas propriedades das imagens de camada de referência direta para determinar um número de imagens de camada de referência ativas de um conjunto de imagens de camada de referência direta. Em um aspecto, as técnicas descritas podem compreender vários métodos para aperfeiçoar os métodos de derivação RPS intercamada existentes com base na dependência de previsão de referência de subcamada. Por exemplo, as técnicas podem fazer com que (ou ativar) um codificador de vídeo forneça um decodificador de vídeo com indicações de economia de overhead de sinalização mais frequentemente do que os métodos atuais. Por exemplo, os métodos aperfeiçoados podem ser integrados, por exemplo, em extensões HEVC, e aplicados à codificação escalonável, codificação de múltiplas visualizações (por exemplo, com ou sem profundidade), e qualquer outra extensão de HEVC e/ou outros codecs de vídeo de múltiplas camadas. Qualquer um dos métodos e/ou mecanismos de sinalização descritos pode ser aplicado independentemente um do outro ou em combinação.
[0024] Vantagens das técnicas descritas na presente descrição, entre outras vantagens, podem incluir a redução de alocação de memória e redução de custos de sinalização (por exemplo, custos de sinalização de índice) durante a derivação de conjuntos de imagem de referência intercamada. Como comparado com os métodos atuais em MV- HEVC WD5 e SHVC WD3, as técnicas descritas na presente descrição também podem reduzir os bits de cabeçalho de fatia para sinalização de RPS de intercamada durante determinadas situações.
[0025] A figura 1A é um diagrama em bloco ilustrando um sistema de codificação e decodificação de vídeo ilustrativo 10 que pode utilizar as técnicas de derivação de conjunto de imagem de referência intercamada descritas nessa descrição. Como ilustrado na figura 1A, o sistema 10 inclui um módulo de fonte 12 que gera os dados de vídeo codificados a serem decodificados posteriormente por um módulo de destino 14. No exemplo da figura 1A, o módulo fonte 12 e o módulo de destino 14 estão em dispositivos separados - especificamente, o módulo fonte 12 é parte do módulo fonte, e o módulo de destino 14 é parte de um dispositivo de destino. É notado, no entanto, que os módulos fonte e de destino 12, 14 podem estar em ou parte do mesmo dispositivo, como ilustrado no exemplo da figura 1B.
[0026] Com referência mais uma vez à figura 1A, o módulo fonte 12 e o módulo de destino 14 podem compreender qualquer um dentre uma faixa ampla de dispositivos, incluindo computadores desktop, computadores notebook (isso é, laptop), computadores tablet, caixas de decodificação, aparelhos telefônicos tal como os chamados "smartphones", os chamados "smart pads", televisões, câmeras, dispositivos de exibição, aparelhos de mídia digital, consoles de jogos de vídeo, dispositivo de sequenciamento de vídeo, ou similares. Em alguns casos, o módulo fonte 12 e o módulo de destino 14 podem ser equipados para comunicação sem fio.
[0027] O módulo de destino 14 pode receber os dados de vídeo codificados a serem decodificados através de um link 16. O link 16 pode compreender qualquer tipo de meio ou dispositivo capaz de mover os dados de vídeo codificados a partir do módulo fonte 12 para o módulo de destino 14. No exemplo da figura 1A, o link 16 pode compreender um meio de comunicação para permitir que o módulo fonte 12 transmita os dados de vídeo codificados diretamente para o módulo de destino 14 em tempo real. Os dados de vídeo codificados podem ser modulados de acordo com um padrão de comunicação, tal como um protocolo de comunicação sem fio e transmitido para o módulo de destino 14. O meio de comunicação pode compreender qualquer meio de comunicação com ou sem fio, tal como o espectro de frequência de rádio (RF) ou uma ou mais linhas de transmissão físicas. O meio de comunicação pode formar parte de uma rede com base em pacote, tal como uma rede de área local, uma rede de área ampla, ou uma rede global tal como a Internet. O meio de comunicação pode incluir roteadores, comutadores, estações base, ou qualquer outro equipamento que pode ser útil para facilitar a comunicação do módulo fonte 12 para o módulo de destino 14.
[0028] Alternativamente, os dados codificados podem ser enviados a partir de uma interface de saída 22 para um dispositivo de armazenamento opcional 31. De forma similar, os dados codificados podem ser acessados a partir do dispositivo de armazenamento 31 pela interface de entrada. O dispositivo de armazenamento 31 pode incluir qualquer um dentre uma variedade de meios de armazenamento de dados acessados distribuídos ou localmente tal como um disco rígido, memória flash, memória volátil ou não volátil, ou qualquer outro meio de armazenamento digital adequado para armazenar dados de vídeo codificados. Em um exemplo adicional, o dispositivo de armazenamento 31 pode corresponder a um servidor de arquivo ou outro dispositivo de armazenamento intermediário que pode manter o vídeo codificado gerado pelo módulo fonte 12. O módulo de destino 14 pode acessar os dados de vídeo armazenados a partir do dispositivo de armazenamento 31 através de sequenciamento ou download. O servidor de arquivo pode ser qualquer tipo de servidor capaz de armazenar dados de vídeo codificados e transmitindo esses dados de vídeo codificados para o módulo de destino 14. Servidores de arquivo ilustrativos incluem um servidor de rede (por exemplo, para um sítio de rede), um servidor FTP, dispositivos de armazenamento anexados à rede (NAS), ou um acionador de disco local. O módulo de destino 14 pode acessar os dados de vídeo codificados através de qualquer conexão de dados padrão, incluindo uma conexão Internet. Isso pode incluir um canal sem fio (por exemplo, uma conexão Wi-Fi), uma conexão com fio (por exemplo, DSL, modem a cabo, etc.), ou uma combinação de ambos que é adequada para acessar dados de vídeo codificados armazenados em um servidor de arquivo. A transmissão de dados de vídeo codificados do dispositivo de armazenamento 31 pode ser uma transmissão de sequenciamento, uma transmissão de download, ou uma combinação de ambos.
[0029] No exemplo da figura 1A, o módulo fonte 12 inclui uma fonte de vídeo 18, codificador de vídeo 20 e uma interface de saída 22. Em alguns casos, a interface de saída 22 pode inclui um modulador/demodulador (modem) e/ou transmissor. No módulo fonte 12, a fonte de vídeo 18 pode incluir uma fonte tal como um dispositivo de captura de vídeo, por exemplo, uma câmera de vídeo, um arquivo de vídeo contendo vídeo previamente capturado, uma interface de alimentação de vídeo para receber vídeo de um provedor de conteúdo de vídeo, e/ou um sistema gráfico de computador para gerar dados gráficos computador como vídeo fonte, ou uma combinação de tais fontes. Como um exemplo, se a fonte de vídeo 18 for uma câmera de vídeo, o módulo fonte 12 e o módulo de destino 14 podem formar os chamados de telefones de câmera ou telefones de vídeo, como ilustrado no exemplo da figura 1B. 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.
[0030] O vídeo capturado, pré-capturado ou gerado por computador pode ser codificado pelo codificador de vídeo 20. Os dados de vídeo codificados podem ser transmitidos diretamente para o módulo de destino 14 através da interface de saída 22 do módulo fonte 12. Os dados de vídeo codificados também podem (ou podem, alternativamente) ser armazenados no dispositivo de armazenamento 31 para acesso posterior pelo módulo de destino 14 ou outros dispositivos, para decodificação e/ou reprodução.
[0031] O módulo de destino 14 inclui uma interface de entrada 28, um decodificador de vídeo 30, e um dispositivo de exibição 32. Em alguns casos, a interface de entrada 28 pode incluir um receptor e/ou um modem. A interface de entrada 28 do módulo de destino 14 pode receber os dados de vídeo codificados através do link 16. Os dados de vídeo codificados comunicados através do link 16, ou fornecidos no dispositivo de armazenamento 31, podem incluir uma variedade de elementos de sintaxe gerados pelo codificador de vídeo 20 para uso por um decodificador de vídeo, tal como o decodificador de vídeo 30, na decodificação de dados de vídeo. Tais elementos de sintaxe podem ser incluídos com os dados de vídeo codificados transmitidos em um meio de comunicação, armazenados em um meio de armazenamento, ou armazenados em um servidor de arquivo.
[0032] O dispositivo de exibição 32 pode ser integrado com, ou externo ao módulo de destino 14. Em alguns exemplos, o módulo de destino 14 pode incluir um dispositivo de exibição integrado e também ser configurado para interfacear com um dispositivo de exibição externa. Em outros exemplos, o módulo de destino 14 pode ser um dispositivo de exibição. Em geral, o dispositivo de exibição 32 exibe os dados de vídeo decodificados para um usuário, e pode compreender qualquer um dentre uma variedade de dispositivos de exibição tal como o 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.
[0033] Em aspectos relacionados, a figura 1B ilustra um sistema de codificação e decodificação de vídeo ilustrativo 10' no qual os módulos de fonte e destino 12, 14 estão em ou fazem parte de um dispositivo ou dispositivo de usuário 11. O dispositivo 11 pode ser um aparelho telefônico, tal como um "smartphone" ou similar. O dispositivo 11 pode incluir um módulo de controlador/processador opcional 13 em comunicação operacional com os módulos fonte e de destino 12, 14. O sistema 10' da figura 1B pode incluir adicionalmente uma unidade de processamento de vídeo 21 entre o codificador de vídeo 20 e a interface de saída 22. Em algumas implementações, a unidade de processamento de vídeo 21 é uma unidade separada, como ilustrado na figura 1B; no entanto, em outras implementações, a unidade de processamento de vídeo 21 pode ser implementada como uma parte do codificador de vídeo 20 e/ou módulo de processador/controlador 13. O sistema 10' também pode incluir um rastreador opcional 29, que pode rastrear um objeto de interesse em uma sequência de vídeo. O objeto ou interesse a ser rastreado pode ser segmentado por uma técnica descrita com relação a um ou mais aspectos da presente descrição. Em aspectos relacionados, o rastreamento pode ser realizado pelo dispositivo de exibição 32, sozinho ou em conjunto com o rastreador 29. O sistema 10' da figura 1B, e componentes do mesmo, são de outra forma similares ao sistema 10 da figura 1A, e componentes do mesmo.
[0034] Como descrito em maiores detalhes abaixo, os aspectos dessa descrição geralmente se referem às técnicas de derivação de conjunto de imagem de referência intercamada utilizando indicações de determinadas propriedades de imagens de camada de referência para determinar um número de imagens de camada de referência ativas de um conjunto de imagens de camada de referência direta. As técnicas dessa descrição podem ser realizadas pelo codificador de vídeo 20, o decodificador de vídeo 30 e/ou o módulo processador/controlador 13.
[0035] Em um exemplo, o codificador de vídeo 20 e o decodificador de vídeo 30 pode operar de acordo com os padrões de compressão de vídeo, incluinod HEVC ou similares. Em outro exemplo, o codificador de vídeo 20 e o decodificador de vídeo 30 podem operar de acordo com outros padrões proprietários ou da indústria, tal como o padrão ITU-T H.264, alternativamente referidos como Codificação de Vídeo Avançada (AVC), parte 10, MPEG-4, ou extensões de tais padrões. Outros exemplos de padrões de compressão de vídeo incluem MPEG-2 e ITU-T H.263. As técnicas dessa descrição, no entanto, não estão limitadas a qualquer padrão de codificação em particular ou técnica.
[0036] Apesar de não ilustrado nas figuras 1A e B, 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 pode 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 sequência de dados comum ou sequências de dados separadas. Se aplicável, em alguns exemplos, as unidades MUX-DEMUX podem ser conformar ao protocolo multiplexador ITU H.223, ou outros protocolos tal como o protocolo de datagrama de usuário (UDP).
[0037] O codificador de vídeo 20 e o decodificador de vídeo 30 podem, cada um, ser implementados como qualquer um dentre um conjunto de circuitos de codificador adequado, tal como um ou mais microprocessadores, processadores de sinal digital (DSPs), circuitos integrados específicos de aplicativo (ASICs), conjuntos de porta programáveis em campo (FPGAs), lógica discreta, software, hardware, firmware ou quaisquer combinações dos mesmos. Quando as técnicas são implementadas parcialmente em software, um dispositivo pode armazenar instruções para o software em um meio legível por computador não transitório adequado e executar as instruções em hardware utilizando um ou mais processadores para realizar as técnicas dessa descrição. 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 (CODEC) combinado em um dispositivo respectivo.
[0038] O JCT-VC está trabalhando no desenvolvimento do padrão HEVC. Os esforços de padronização HEVC são baseados em um modelo de evolução de um dispositivo de codificação de vídeo referido como Modelo de Teste HEVC (HM). HM presume que várias capacidades adicionais dos dispositivos de codificação de vídeo com relação aos dispositivos existentes de acordo com, por exemplo, ITU.T H.264/AVC. Por exemplo, ao passo que H.264 fornece nove modos de codificação intraprevisão, HM pode fornecer tantos quantos trinta e três modos de codificação intraprevisão.
[0039] Em geral, o modelo de trabalho de HM descreve que um quadro de vídeo ou imagem pode ser dividido em uma sequência de unidades de árvore de codificação (CTUs), também referidas como as unidades de codificação maiores (LCUs), que incluem ambas as amostras de luminescência e crominância. Um bloco de árvore possui uma finalidade similar como um macro bloco do padrão H.264. Uma fatia inclui um número de blocos de árvore consecutivos na ordem de codificação. Um quadro de vídeo ou imagem pode ser dividido em uma ou mais fatias. Cada bloco de árvore pode ser dividido em unidades de codificação (CUs) de acordo com um quadtree. Por exemplo, um bloco de arvore, como um nó raiz de quadtree, pode ser dividido em quatro nós criança, e cada nó criança pode, por sua vez, ser um nó parente e pode ser dividido em outros quatro nós criança. Um nó criança final e não dividido, como um nó folha do quadtree, compreende um nó de codificação, isso é, um bloco de vídeo codificado. Os dados de sintaxe associados com uma sequência de bits codificada podem definir um número máximo de vezes em que o bloco de árvore pode ser dividido, e também pode definir um tamanho mínimo de nós de codificação.
[0040] Uma CU inclui um nó de codificação e unidades de previsão (PUs) e unidades de transformação (TUs) associadas com o nó de codificação. Um tamanho da CU corresponde a um tamanho do nó de codificação e tem formato quadrado. O tamanho da CU pode variar de 8 x 8 pixels até o tamanho do bloco de árvore com um máximo de 64 x 64 pixels ou mais. Cada CU pode conter uma ou mais PUs e uma ou mais TUs. Os dados de sintaxe associados com uma CU podem descrever, por exemplo, a divisão da CU em uma ou mais PUs. Os modos de partição podem diferir entre se a CU foi codificada por pulo ou modo direto, codificada por modo de intraprevisão, ou codificada por modo de interprevisão. PUs podem ser divididas para terem um formato não quadrado. Os dados de sintaxe associados com uma CU também podem descrever, por exemplo, a partição da CU em uma ou mais TUs de acordo com um quadtree. Uma TU pode ser quadrada ou não.
[0041] A figura 2 é um diagrama em bloco ilustrando um codificador de vídeo ilustrativo 20 que pode implementar as técnicas de derivação de conjunto de imagens de referência intercamada (RPS) descritas nessa descrição. O codificador de vídeo 20 pode realizar a intra e intercodificação de blocos de vídeo dentro de fatias de vídeo. A intracodificação se baseia na previsão espacial para redução ou remoção de redundância espacial em vídeo dentro de um quadro de vídeo ou imagem determinado. A intercodificação se baseia em previsão temporal para reduzir ou remover a redundância temporal em vídeo dentro de quadros ou imagens adjacentes de uma sequência de vídeo. O intramodo (modo I) pode se referir a qualquer um dentre os vários modos de compressão com base espacial. Os intermodos, tal como a previsão unidirecional (modo P) ou previsão dupla (modo B), pode se referir a qualquer um dos vários modos de compressão com base em tempo.
[0042] No exemplo da figura 2, o codificador de vídeo 20 inclui uma unidade de partição 35, uma unidade de processamento de previsão 41, uma memória 64 (que também pode ser referida como uma memória de imagem de referência 64), um somador 50, uma unidade de processamento de transformação 52, uma unidade de quantização 54, uma unidade de codificação por entropia 56. A unidade de processamento de previsão 41 inclui a unidade de estimativa de movimento 42, a unidade de compensação de movimento 44, e a unidade de processamento de intraprevisão 46. Para a reconstrução de bloco de vídeo, o codificador de vídeo 20 também inclui a unidade de quantização inversa 58, a unidade de processamento de transformação inversa 60 e o somador 62. O filtro de desbloqueio 72 também pode ser incluído nos limites de bloco de filtro para remoção de artefatos de bloqueio do vídeo reconstruído. Como ilustrado na figura 2, o codificador de vídeo 20 também inclui filtros de circuito adicionais, incluindo o filtro de desvio adaptativo de amostra (SAO) 74 e um filtro de circuito adaptativo opcional (ALF) 76. Apesar de o filtro de desbloqueio 72 e o filtro SAO 74, e ALF 76 opcional serem ilustrados como sendo filtros em circuito na figura 2, em algumas configurações o filtro de desbloqueio 72, o filtro SAO 74, e ALF opcional 76 podem ser implementados como filtros pós-circuito. Adicionalmente, um ou mais dentre o filtro de desbloqueio 72 e ALF opcional 76 pode ser omitido em algumas implementações das técnicas dessa descrição. Em particular, ALF 76 pode ser omitido em implementações para HEVC, visto que ALF 76 não existe em HEVC.
[0043] Como ilustrado na figura 2, o codificador de vídeo 20 recebe dados de vídeo, e a unidade de partição 35 divide os dados em blocos de vídeo. Essa divisão também pode incluir a divisão em fatias, tiles ou outras unidades maiores além de parição de bloco de vídeo, por exemplo, de acordo com uma estrutura quadtree de LCUs e CUs. O codificador de vídeo 20 geralmente ilustra os componentes que codificam os blocos de vídeo dentro de uma fatia de vídeo a ser codificada. A fatia pode ser dividida em múltiplos blocos de vídeo (e, possivelmente, em conjuntos de blocos de vídeo referidos como tiles). A unidade de processamento de previsão 41 pode selecionar um dentre uma pluralidade de modos de codificação possíveis, que podem incluir um tamanho de partição, tal como um dentre uma pluralidade de modos intracodificação ou um dentre uma pluralidade de modos de intercodificação, para o bloco de vídeo atual com base nos resultados de erro (por exemplo, taxa de codificação e nível de distorção). A unidade de processamento de previsão 41 pode fornecer o bloco intra ou intercodificado resultante para o somador 50 para gerar os dados de bloco residuais e para o somador 62 para reconstruir o bloco codificado para uso como uma imagem de referência.
[0044] A unidade de processamento de intraprevisão 46 dentro da unidade de processamento de previsão 41 pode realizar a codificação intraprevisão do bloco de vídeo atual com relação a um ou mais blocos vizinhos no mesmo quadro ou fatia que o bloco atual a ser codificado para fornecer compressão espacial. A unidade de estimativa de movimento 42 e unidade de compensação de movimento 44 dentro da unidade de processamento de previsão 41 realiza a codificação intraprevisão do bloco de vídeo atual com relação a um ou mais blocos de previsão em uma ou mais imagens de referência para fornecer a compressão temporal.
[0045] A unidade de estimativa de movimento 42 pode ser configurada para determinar o modo de interprevisão para uma fatia de vídeo de acordo com um padrão predeterminado para uma sequência de vídeo. O padrão predeterminado pode designar fatias de vídeo na sequência como fatias previstas (fatias P), fatias previstas bidirecionais (fatias B), ou fatias P/B generalizadas (fatias GPB). 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, realizada pela unidade de estimativa de movimento 42, é 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 uma PU de um bloco de vídeo dentro de um quadro de vídeo atual ou imagem com relação a um bloco de previsão dentro de uma imagem de referência.
[0046] Um bloco de previsão é um bloco que é considerado próximo à PU do bloco de vídeo a ser codificado em termos de diferença de pixel, que pode ser determinado pela soma da diferença absoluta (SAD), soma de diferença quadrada (SSD), ou outras métricas de diferença. Em alguns exemplos, o codificador de vídeo 20 pode calcular valores para as posições de pixel subinteiros das imagens de referência armazenadas na memória de imagem de referência 64. Por exemplo, o codificador de vídeo 20 pode interpolar valores de posições de um quarto de pixel, posições de um oitavo de pixel, ou outras posições de pixel fracionado da imagem de referência. Portanto, a unidade de estimativa de movimento 42 pode realizar uma busca de movimento com relação às posições de pixel inteiro e posições de pixel fracionado e envia um vetor de movimento com precisão de pixel fracionada.
[0047] A unidade de estimativa de movimento 42 calcula um vetor de movimento para uma PU de um bloco de vídeo em uma fatia intercodificada pela comparação da posição da PU para a posição de um bloco de previsão de uma imagem de referência. A imagem de referência pode ser selecionada a partir de uma primeira lista de imagens de referência (Lista 0) ou uma segunda lista de imagens de referência (Lista 1), cada um dos quais identifica uma ou mais imagens de referência armazenadas na memória de imagem 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 unidade de compensação de movimento 44.
[0048] A compensação de movimento, realizada pela unidade de compensação de movimento 44, pode envolver a coleta ou geração de bloco de previsão com base no vetor de movimento determinado pela estimativa de movimento, possivelmente realizando interpolações para precisão de subpixel. Mediante o recebimento do vetor de movimento para a PU do bloco de vídeo atual, a unidade de compensação de movimento 44 pode localizar o bloco de previsão ao qual o vetor de movimento aponta para um dentre as listas de imagens de referência. O codificador de vídeo 20 forma um bloco de vídeo residual pela subtração de valores de pixel do bloco de previsão dos valores de pixel do bloco de vídeo atual sendo codificado, formando os valores de diferença de pixel. Os valores de diferença de pixel formam os dados residuais para o bloco, e podem incluir ambos os componentes de diferença de luminescência e crominância. O somador 50 representa o componente ou componentes que realizam essa operação de subtração. A unidade de compensação de movimento 44 pode gerar também elementos de sintaxe associados com os blocos de vídeo e a fatia de vídeo para uso pelo decodificador de vídeo 30 na decodificação de blocos de vídeo da fatia de vídeo.
[0049] A unidade de processamento intraprevisão 46 pode realizar a intraprevisão em um bloco atual, como uma alternativa para a interprevisão realizada pela unidade de estimativa de movimento 42 e unidade de compensação de movimento 44, como descrito acima. Em particular, a unidade de processamento de intraprevisão 46 pode determinar um modo de intraprevisão para uso na codificação de um bloco atual. Em alguns exemplos, a unidade de processamento de intraprevisão 46 pode codificar um bloco atual utilizando vários modos de intraprevisão, por exemplo, durante passagens de codificação separadas, e a unidade de processamento de previsão 41 pode selecionar um modo de intraprevisão ou interprevisão adequado para uso a partir dos modos testados. Por exemplo, a unidade de processamento de intraprevisão 46 pode calcular os valores de distorção de taxa utilizando uma análise de distorção de taxa para vários modos de intraprevisão testados, e selecionar um modo de intraprevisã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 processamento de intraprevisã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 intraprevisão exibe o melhor valor de distorção de taxa para o bloco.
[0050] Em qualquer caso, depois da seleção de um modo de intraprevisão para um bloco, a unidade de processamento de previsão 41 pode fornecer informação indicativa do modo de intraprevisã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 intraprevisão selecionado de acordo com as técnicas dessa descrição. O codificador de vídeo 20 pode incluir nos dados de configuração de sequência de bits transmitidos, que pode incluir uma pluralidade de tabelas de índice de modo de intraprevisão e uma pluralidade de tabelas de índice de modo de intraprevisão modificadas (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 intraprevisão mais provável, uma tabela de índice de modo de intraprevisão, e uma tabela de índice de modo de intraprevisão modificada para uso para cada um dos contextos.
[0051] Depois de a unidade de processamento de previsão 41 gerar o bloco de previsão para o bloco de vídeo atual através da interprevisão ou intraprevisão, o codificador de vídeo 20 forma um bloco de vídeo residual pela subtração do bloco de previsão do bloco de vídeo atual. Os dados de vídeo residuais no bloco residual podem ser incluídos em uma ou mais TUs e aplicados à unidade de processamento de transformação 52. A unidade de processamento de transformação 52 transforma os dados de vídeo residuais em coeficientes de transformação residuais utilizando uma transformação, tal como uma transformação de cosseno discreta (DCT) ou transformação conceitualmente similar. A unidade de processamento de transformação 52 pode converter os dados de vídeo residuais de um domínio de pixel em um domínio de transformação, tal como um domínio de frequência.
[0052] A unidade de processamento de transformação 52 pode enviar os coeficientes de transformação resultantes para a unidade de quantização 54. A unidade de quantização 54 quantiza os coeficientes de transformação 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. Em alguns exemplos, a unidade de quantização 54 pode então realizar uma digitalização da matriz incluindo os coeficientes de transformação quantizados. Alternativamente, a unidade de codificação por entropia 56 pode realizar a digitalização.
[0053] Seguindo a quantização, a unidade de codificação por entropia 56 codifica por entropia os coeficientes de transformação quantizados. Por exemplo, a unidade de codificação por entropia 56 pode realizar a codificação de comprimento variável adaptativa de contexto (CAVLC), a codificação aritmética binária adaptativa de contexto (CABAC), a codificação aritmética binária adaptativa de contexto com base em sintaxe (SBAC), a codificação por entropia de partição de intervalo de probabilidade (PIPE) ou outra metodologia de codificação por entropia ou técnica. Seguindo a codificação por entropia pela unidade de codificação por entropia 56, a sequência de bits codificada pode ser transmitida para o decodificador de vídeo 30, ou arquivada para transmissão ou recuperação posterior pelo decodificador de vídeo 30. A unidade de codificação por entropia 56 também pode codificar por entropia os vetores de movimento e outros elementos de sintaxe para a fatia de vídeo atual sendo codificada.
[0054] A unidade de quantização inversa 58 e a unidade de processamento de transformação inversa 60 aplicam quantização inversa e transformação inversa, respectivamente, para reconstruir o bloco residual no domínio de pixel para uso futuro como um bloco de referência de uma imagem de referência. A unidade de compensação de movimento 44 pode calcular um bloco de referência pela adição do bloco residual para um bloco de previsão de uma das imagens de referência dentro de uma das listas de imagem de referência. A unidade de compensação de movimento 44 também pode aplicar um ou mais filtros de interpolação para o bloco residual reconstruído para calcular os valores de pixel subinteiros para uso na estimativa de movimento. O somador 62 adiciona o bloco residual reconstruído ao bloco de previsão de movimento compensado pela unidade de compensação de movimento 44 para produzir um bloco de referência para armazenamento na memória de imagem de referência 64.
[0055] Antes do armazenamento na memória 64, o bloco residual reconstruído pode ser filtrado por um ou mais filtros. Se desejado, o filtro de desbloqueio 72 também pode ser aplicado para filtrar os blocos residuais reconstruídos a fim de remover os artefatos de bloqueio. Outros filtros de circuito (no circuito de codificação ou depois do circuito de codificação) também podem ser utilizados para suavizar as transições de pixel, ou de outra forma aperfeiçoar a qualidade de vídeo. Um exemplo de tal filtro de circuito é o filtro SAO 74. O bloco de referência pode ser utilizado pela unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 como um bloco de referência para interprever um bloco em um quadro de vídeo ou imagem subsequente.
[0056] O filtro SAO 74 pode determinar os valores de desvio para a filtragem SAO de uma forma que aperfeiçoe a qualidade de codificação de vídeo. Aperfeiçoar a qualidade de codificação de vídeo pode, por exemplo, envolver determinar os valores de desvio que criam uma imagem reconstruída que se assemelha mais a uma imagem original. O codificador de vídeo 20 pode, por exemplo, codificar os dados de vídeo utilizando múltiplas passagens com diferentes valores de desvio e escolher, para inclusão em uma sequência de bits codificada, os valores de desvio que oferecem uma qualidade de codificação desejável, como determinado com base em um cálculo de distorção de taxa, por exemplo.
[0057] Em algumas configurações, o filtro SAO 74 pode ser configurado para aplicar um ou mais tipos de desvio, tal como desvio de borda como descrito acima. O filtro SAO 74 pode também em alguns momentos não aplicar qualquer desvio, que pode, por si só, ser considerado um terceiro tipo de desvio. O tipo de desvio aplicado pelo filtro SAO 74 pode ser explicitamente ou implicitamente sinalizado para um decodificador de vídeo. Quando da aplicação do desvio de borda, pixels podem ser classificados com base na informação de borda.
[0058] O codificador de vídeo 20 da figura 2 representa um exemplo de um codificador de vídeo configurado para determinar um primeiro índice de borda, onde o primeiro índice de borda compreende um índice de borda para um componente de luminescência de um primeiro pixel circundante, determinar um segundo índice de borda, onde o segundo índice de borda compreende um índice de borda para um componente de luminescência de um segundo pixel circundante, determinar um terceiro índice de borda com base no primeiro índice de borda e segundo índice de borda, onde o terceiro índice de borda compreende um índice de borda para um componente de crominância de um pixel atual, selecionar um desvio com base no terceiro índice de borda, e aplicar o desvio ao componente de crominância do pixel atual.
[0059] A figura 3 é um diagrama em bloco ilustrando um decodificador de vídeo ilustrativo 30 que pode implementar as técnicas de derivação de conjunto de imagem de referência intercamada (RPS) descritas nessa descrição. No exemplo da figura 3, o decodificador de vídeo 30 inclui uma unidade de decodificação por entropia 80, a unidade de processamento de previsão 81, a unidade de quantização inversa 86, a unidade de transformação inversa 88, o somador 90, e a memória de imagem de referência 92. A unidade de processamento de previsão 81 inclui a unidade de compensação de movimento 82 para a decodificação por interprevisão, e a unidade de processamento de intraprevisão 84 para decodificação por intraprevisão. O decodificador de vídeo 30 pode, em alguns exemplos, realizar uma passagem de decodificação geralmente alternada com a passagem de codificação descrita com relação ao codificador de vídeo 20 da figura 2.
[0060] Durante o processo de decodificação, o decodificador de vídeo 30 recebe uma sequência de bits de vídeo codificada que representa os blocos de vídeo de uma fatia de vídeo codificada e elementos de sintaxe associados do codificador de vídeo 20. A unidade de decodificação por entropia 80 do decodificador de vídeo 30 decodifica por entropia a sequência de bits para gerar coeficientes quantizados, vetores de movimento, e outros elementos de sintaxe. A unidade de decodificação por entropia 80 envia os vetores de movimento e outros elementos de sintaxe para a unidade de processamento por previsão 81. O decodificador de vídeo 30 pode receber os elementos de sintaxe no nível de fatia de vídeo e/ou nível de bloco de vídeo.
[0061] Quando a fatia de vídeo é codificada como uma fatia intracodificada (I), a unidade de processamento por intraprevisão 84 da unidade de processamento por previsão 81 pode gerar dados de previsão para um bloco de vídeo da fatia de vídeo atual com base em um modo de intraprevisão sinalizado e dados dos blocos previamente decodificados do quadro ou imagem atual. Quando o quadro de vídeo é codificado como uma fatia intercodificada (por exemplo, B, P ou GPB), a unidade de compensação de movimento 82 da unidade de processamento por previsão 81 produz os blocos de previsão para um bloco de vídeo da fatia de vídeo atual com base nos vetores de movimento e outros elementos de sintaxe recebidos da unidade de decodificação por entropia 80. Os blocos de previsão podem ser produzidos a partir de uma das imagens de referência dentro de uma das listas de imagem de referência. O decodificador de vídeo 30 pode construir as listas de quadro de referência, Lista 0 e Lista 1, utilizando as técnicas de construção padrão com base nas imagens de referência armazenadas na memória de imagem de referência 82.
[0062] A unidade de compensação de movimento 82 determinar a informação de previsão por um bloco de vídeo da fatia de vídeo atual pela análise de vetores de movimento e outros elementos de sintaxe, e utiliza a informação de previsão para produzir os blocos de previsão par o bloco de vídeo atual sendo decodificado. Por exemplo, a unidade de compensação de movimento 82 utiliza alguns dos elementos de sintaxe recebidos para determinar um modo de previsão (por exemplo, intra ou interprevisão) utilizado para codificar os blocos de vídeo da fatia de vídeo, um tipo de fatia de interprevisão (por exemplo, fatia B, fatia P, ou fatia GPB), informação de construção para uma ou mais das listas de imagem de referência para a fatia, vetores de movimento para cada bloco de vídeo intercodificado da fatia, situação de interprevisão para cada bloco de vídeo intercodificado da fatia, e outras informações para decodificar os blocos de vídeo na fatia de vídeo atual.
[0063] A unidade de compensação de movimento 82 também pode realizar a interpolação com base nos filtros de interpolação. A unidade de compensação de movimento 82 pode utilizar filtros de interpolação como utilizados pelo codificador de vídeo 20 durante a codificação dos blocos de vídeo para calcular os valores interpolados para pixels subinteiros de blocos de referência. Nesse caso, a unidade de compensação de movimento 82 pode determinar os filtros de interpolação utilizados pelo codificador de vídeo 20 a partir dos elementos de sintaxe recebidos e utilizar os filtros de interpolação para produzir blocos de previsão.
[0064] A unidde de quantização inversa 86 quantiza de forma invertida, isso é, desquantiza os coeficientes de transformação quantizados fornecidos na sequência de bits e decodificados pela unidade de decodificação por entropia 80. O processo de quantização inversa pode incluir o uso de um parâmetro de quantização calculado pelo codificador de vídeo 20 para cada bloco de vídeo na fatia de vídeo para determinar um grau de quantização e, da mesma forma, um grau de quantização inversa que deve ser aplicado. A unidade de processamento de transformação inversa 88 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 residuais no domínio de pixel.
[0065] Depois que a unidade de processamento de previsão 81 gera o bloco de previsão para o bloco de vídeo atual com base nos vetores de movimento e outros elementos de sintaxe, o decodificador de vídeo 30 forma um bloco de vídeo decodificado pela soma de blocos residuais a partir da unidade de processamento de transformação inversa 88 com os blocos de previsão correspondentes gerados pela unidade de compensação de movimento 82. O somador 90 representa o componente ou componentes que realizam essa operação de soma. Os blocos de vídeo decodificados formados pelo somador 90 podem então ser filtrados por um filtro de desbloqueio 93, filtro SAO 94, e ALF opcional 95. ALF opcional 95 representa um filtro opcional que pode ser excluído de algumas implementações. É notado que ALF 95 seria omitido em implementações para HEVC, visto que ALF 95 não existe em HEVC. Os blocos de vídeo decodificados em um quadro ou imagem determinado são então armazenados na memória de imagem de referência 92, que armazena as imagens de referência utilizadas para compensação de movimento subsequente. A memória de imagem de referência 92 também armazena vídeo decodificado para a apresentação posterior em um dispositivo de exibição, tal como um dispositivo de exibição 32 das figuras 1A e 1B. Em aspectos relacionados, o filtro SAO 94 pode ser configurado para aplicar uma ou mais da mesma filtragem (por exemplo, desvio de borda e desvio de banda) como o filtro SAO 74 discutido acima.
[0066] O decodificador de vídeo 30 da figura 3 representa um exemplo de um decodificador de vídeo configurado para determinar um primeiro índice de borda, onde o primeiro índice de borda compreende um índice de borda para um componente luma de um primeiro pixel circundante, determina um segundo índice de borda, onde o segundo índice de borda compreende um índice de borda para um componente de luminescência de um segundo pixel circundante, determina um terceiro índice de borda com base no primeiro índice de borda e o segundo índice de borda, onde o terceiro índice de borda compreende um índice de borda para um componente de crominância de um pixel atual, seleciona um desvio com base no terceiro índice de borda, e aplica o desvio ao componente de crominância do pixel atual.
[0067] De acordo com um ou mais aspectos da presente descrição, são fornecidas técnicas para a derivação de conjunto de imagens de referência intercamada (RPS). As técnicas podem ser realizadas por um sistema ou, por exemplo, pelo dispositivo 10 da figura 1B. Em algumas implementações, as técnicas podem ser realizadas pelo codificador de vídeo 20, o decodificador de vídeo 30 e/ou o módulo de processador-controlador 13, sozinho ou em combinação. Em um aspecto, as técnicas podem envolver a indicação de se um conjunto de imagens de referência intercamada inclui todas as imagens de camada de referência direta que não estão restritas para uso na previsão intercamada. Como descrito adicionalmente com relação às figuras 4 e 5. Em outro aspecto, as técnicas podem envolver a determinação de um número de imagens de camada de referência ativa de uma ou mais imagens de camada de referência direta, como descrito adicionalmente com relação às figuras 6 e 7.
[0068] A figura 4 ilustra um exemplo de informação de vídeo 400 que pode ser processado para indicar se um conjunto de imagens de referência intercamada inclui todas as imagens de camada de referência direta (também referidas aqui como "imagens de referência" ou "imagens de camada de referência") que não são restringidas para uso na previsão intercamada. Em um aspecto, uma ou mais das características descritas com relação à figura 4 podem geralmente ser realizados por um codificador (por exemplo, codificador de vídeo 20 das figuras 1A, 1B e/ou 2). Em uma modalidade, o codificador de vídeo 20 pode fornecer a indicação para um decodificador de vídeo (por exemplo, o decodificador de vídeo 30 das figuras 1A, 1B e/ou 3). Em outra modalidade, a indicação pode ser indicada ou determinada por um dispositivo diferente. Os vários aspectos descritos com relação à figura 4 podem ser incluídos em uma unidade de memória (por exemplo, o dispositivo de armazenamento 34 da figura 1A, a memória 64 da figura 2, etc.). As várias operações descritas com relação à figura 4 podem ser realizadas por um processador (por exemplo, um processador dentro do módulo fonte, módulo de destino, codificador de vídeo e/ou decodificador de vídeo de qualquer uma ou mais das figuras de 1A a 3, o módulo de processador/controlador 13 da figura 1B, e/ou uma unidade de processamento de vídeo, tal como a unidade de processamento de vídeo 21 da figura 1B, etc.). O codificador de vídeo, o decodificador de vídeo, a unidade de memória, e/ou o processador podem estar em comunicação um com o outro e/ou conectados de forma operacional.
[0069] Uma sequência de vídeo 415 inclui unidades de acesso (coletivamente referidas como unidades de acesso 420), onde cada uma das unidades de acesso 420 pode conter uma ou mais imagens. As imagens podem ser associadas com um conjunto de parâmetros de vídeo (VPS). VPS especifica parâmetros comuns para todas as imagens em uma sequência de vídeo, tal como a sequência de vídeo 415. A sequência de vídeo 415 da figura 4 ilustra duas unidades de acesso AU1, AU2; no entanto, a sequência de vídeo 415 da figura 4 ilustra duas unidades de acesso 420. Cada unidade de acesso, AU1, AU2 pode ser associada com uma ou mais camadas 425 de informação de vídeo, como ilustrado por uma camada base BL e três camadas de aperfeiçoamento EL1, EL2, EL3. A camada ilustrada mais inferior ou camada no nível mais baixo da informação de vídeo 400 pode ser a camada de base (BL) ou uma camada de referência (RL), e a camada no nível mais alto ou em um nível mais alto da informação de vídeo 400 pode ser uma camada aperfeiçoada. A "camada aperfeiçoada" pode ser considerada sinonimo de "camada de aperfeiçoamento", e esses termos podem ser utilizados de forma intercambiável. Nesse exemplo, a camada BL é a camada de base e as camadas EL1, EL2 e EL3 são a primeira, segunda e terceira camadas de aperfeiçoamento, respectivamente. As camadas entre a camada base BL e a camada de aperfeiçoamento mais alta EL3 podem servir como camadas de aperfeiçoamento e/ou camadas de referência. Nesse exemplo, as camadas EL1, EL2 e EL3 representam as camadas de aperfeiçoamento.
[0070] Por exemplo, uma camada determinada (por exemplo, a segunda camada de aperfeiçoamento EL2) pode ser uma camada de aperfeiçoamento para uma camada abaixo (isso é, que precede) a camada determinada, de modo que tal como a camada de base (por exemplo, a camada de base BL) ou qualquer camada de aperfeiçoamento interveniente (por exemplo, a primeira camada de aperfeiçoamento EL2) também pode servir como uma camada de referência para uma camada de aperfeiçoamento (por exemplo, a terceira camada de aperfeiçoamento EL3) acima (isso é, subsequente a) da camada determinada. Qualquer camada determinada entre a camada de base (isso é, a camada mais baixa possuindo, por exemplo, uma identificação de camada (ID) configurada ou igual a "1") e a camada superior (ou a camada mais alta) pode ser utilizada como uma referência para a previsão intercamada por uma camada mais alta com relação à camada determinada e pode ser determinada utilizando-se uma camada inferior à camada determinada como uma referência para a previsão intercamada.
[0071] A camada 426 que está sendo atualmente processada pode ser referida como a "camada atual". Na ilustração, a terceira camada de aperfeiçoamento EL3 representa a camada atual, apesar de dever ser compreendido que qualquer camada 625 pode ser tratada como a camada atual e processada de acordo com qualquer uma das modalidades descritas aqui. Uma camada atual pode ser associada com uma ou mais camadas de referência direta. Como mencionado acima. Uma camada de referência direta é uma camada que pode ser utilizada para previsão intercamada de outra camada, tal como a camada atual. No exemplo ilustrado, a primeira camada de aperfeiçoamento EL1 e a camada de base BL representam primeira e segunda camadas de referência direta da camada atual EL3, respectivamente. A primeira camada de aperfeiçoamento EL1 e a camada de base BL são camadas de referência direta da camada corrente e processadas de acordo com qualquer uma das modalidades descritas aqui. Uma camada atual pode ser associada com uma ou mais camadas de referência direta. Como mencionado acima, uma camada de referência direta é uma camada que pode ser utilizada para previsão intercamada de outra camada, tal como a camada atual. No exemplo ilustrado, a primeira camada de aperfeiçoamento EL1 e a camada de base BL representa primeira e segunda camadas de referência direta da camada atual EL3, respectivamente. A primeira camada de aperfeiçoamento EL1 e a camada de base BL são camadas de referência direta da camada atual porque são determinadas como sendo camadas que podem ser utilizadas para a interprevisão da terceira camada de aperfeiçoamento, que nesse exemplo é a camada atual.
[0072] Cada uma das camadas 425 pode compreender uma ou mais imagens, cada imagem sendo associada com uma das camadas 425 e uma das unidades de acesso AU1, AU2. As imagens associadas com a camada atual (nesse exemplo, a terceira camada de aperfeiçoamento EL3) pode ser referida coletivamente como imagens atuais 405. Por exemplo, na modalidade ilustrada, as imagens atuais 405 incluem uma primeira imagem atual CP1 localizada entre a primeira unidade de acesso AU1 e uma segunda imagem atual CP2 localizada dentro da segunda unidade de acesso AU2. As imagens (por exemplo, imagens 410A1, 410A2, 410B1, 410B2) que estão em camadas de referência direta (por exemplo, a primeira camada de aperfeiçoamento EL1 e a camada de base BL) da camada atual (por exemplo, a terceira camada de aperfeiçoamento EL3) podem ser referidas coletivamente como imagens de camada de referência direta 410 (ou imagens de camada de referência 410). Por exemplo, a imagem de camada de referência direta 410B1 é a imagem na primeira camada de referência direta (nesse exemplo, a primeira camada de aperfeiçoamento EL1) e a segunda unidade de acesso AU2. Essa imagem de camada de referência direta 410B1 também pode ser referida como "imagem de camada de referência direta 1 da imagem atual 2". Como outro exemplo, a imagem de camada de referência direta 410A2 é a imagem na segunda camada de referência direta (nesse exemplo, a camada de base BL) e a primeira unidade de acesso AU1. Essa imagem de camada de referência direta 410A1 também pode ser referida como "imagem de camada de referência direta 2 da imagem atual 1". As imagens que estão em camadas de referência não direta da camada atual (por exemplo, a camada de referência direta EL2) pode ser referida simplesmente como imagens 408. Na modalidade ilustrada, as imagens 408 incluem uma imagem 408A localizada na primeira unidade de acesso AU1 e uma segunda imagem 408B localizada na segunda unidade de acesso AU2. Em uma modalidade, o processador (por exemplo, o processador 13) pode não considerar ou fazer quaisquer determinações com base nas imagens 408A e 408B na camada de referência não direta (por exemplo, segunda camada de aperfeiçoamento EL2).
[0073] Cada uma das imagens de camada de referência direta 410 pode ser associada com um número de identificação temporal respectivo ou valor ou "valor TID" (não ilustrado). Em um aspecto, cada uma das imagens em uma das unidades de acesso AU1, AU2 pode ser associada com o mesmo valor TID (isso é, um valor comum). Por exemplo, para a primeira unidade de acesso AU1, a imagem atual CP1, a imagem 408A, e ambas as imagens de camada de referência direta 410A1 e 410A2 podem ser associadas com o mesmo valor TID. Em alguns aspectos, o processador 13 pode determinar respectivamente se o valor TID associado de cada uma das imagens de camada de referência direta 410 é menor do que um limite predeterminado (por exemplo, "valor de identificação temporal máximo", "número de identificação temporal máximo", ou "Max TID"). Em algumas modalidades, Max TID pode ser associado com a camada atual e a sequência de vídeo 415. No exemplo ilustrado, a imagem de camada de referência direta 410A1 é associada com um valor TID que é superior a ou igual a Max TID, e a imagem de camada de referência direta 410B1 é associada com um valor TID que é inferior a Max TID. Em uma modalidade, Max TID pode ser um valor de "4", o valor TID associado com a imagem de camada de referência direta 410A1 (na primeira unidade de acesso AU1) pode ser "5", e o valor TID associado com a imagem de camada de referência direta 410B1 (na segunda unidade de acesso AU2) pode ser "2". Em algumas modalidades, Max TID pode ser um valor constante para toda a sequência de vídeo 415. Por exemplo, Max TID pode permanecer constante por toda a sequência de vídeo 415 de acordo com um padrão de codificação de vídeo (por exemplo, a variável max_tid_il_ref_pics_plus1[i] do padrão HEVC). Em outras modalidades, Max TID pode variar de acordo com a unidade de acesso AU1, AU2 na sequência de vídeo 415. Em outras palavras, cada unidade de acesso respectiva 420 pode ser associada com um Max TID respectivo.
[0074] O processador 13 pode determinar várias informações utilizando as propriedades de cada uma das imagens de camada de referência 410 e cada imagem atual associada com a imagem de camada de referência direta 405. As fileiras 430, 440, 450 e 460 da figura 4 ilustram uma modalidade de tal informação. Por exemplo, os valores na fileira 430 representam as imagens de camada de referência 410 associadas com as unidades de acesso AU1, AU2. A figura 4 ilustra adicionalmente as associações (ilustradas como ovais possuindo linhas interrompidas) entre cada uma das imagens de camada de referência direta 410 (por exemplo, imagem de camada de referência direta 410A1 associada com a primeira unidade de acesso AU1, imagem de camada de referência direta 410A2 associada com a primeira unidade de acesso AU1, imagem de camada de referência direta 410B1 associada com a segunda unidade de acesso AU2, e imagem de camada de referência direta 410B2 associada com a segunda unidade de acesso AU2) e os registros correspondentes nas fileiras 440 e 450, como descrito adicionalmente abaixo.
[0075] Para cada unidade de acesso da sequência de vídeo 415, um processador 13 pode determinar se as imagens de camada de referência direta 410 dentro da unidade de acesso são incluídas em uma imagem de referência intercamada determinada para a imagem atual 405. Em um aspecto, o conjunto de imagens de referência intercamada pode incluir também outras imagens. Por exemplo, com referência à primeira unidade de acesso AU1, um processador pode determinar se a primeira imagem de camada de referência direta 410A1 é incluída em um conjunto de imagens de referência intercamada para prever CP1. O processador também pode determinar se a segunda imagem de camada de referência direta 410A2 é incluída no conjunto de imagem de referência intercamada para prever CP1. Com referência à segunda unidade de acesso AU2, o processador pode determinar se a primeira imagem de camada de referência direta 410B1 está incluída em um conjunto de imagens de referência intercamada para prever CP2. O processador também pode determinar se a segunda imagem de camada de referência direta 410B2 está incluída no conjunto de imagens de referência intercamada para prever CP2. Os resultados dessas determinações ilustrativas são ilustrados na fileira 440. Tal determinação pode envolver a determinação de se cada uma das imagens de camada de referência direta 410 podem ser utilizados para previsão intercamada de uma imagem associada dentre as imagens atuais 405. Em algumas modalidades, o processador 13 pode realizar essa determinação com base em um grau de eficiência de previsão que pode ser realizada pela utilização da imagem de camada de referência direta 410. Por exemplo, se o processador 13 determinar que uma ou mais dentre as imagens de camada de referência direta 410 compreende um nível de similaridade (por exemplo, com base na estimativa de movimento, tal como, mas não limitado a uma diferença na estimativa de movimento entre a imagem de camada de referência direta particular e a imagem atual associada) com uma imagem associada dentre as imagens atuais 405 que é maior do que uma quantidade limite, então o processador 13 pode determinar que seria eficiente (por exemplo, o processador utilizaria menos bits na sinalização) se utilizar uma ou mais imagens de camada de referência direta 410 para prever a imagem associada dentre as imagens atuais 405. Dessa forma, o processador 13 pode determinar se uma ou mais dentre as imagens de camada de referência direta 410 estão incluídas no conjunto de imagem de referência intercamada.
[0076] Como ilustrado na fileira 440, apenas as imagens de camada de referência direta 410A2, 410B1, e 410B2 são incluídas no conjunto de imagem de referência intercamada. Alternativamente, o processador 13 pode determinar que uma ou mais dentre as imagens de camada de referência 410 não possuem similaridade com a imagem atual 405 superior a um limite, de modo que não seria eficiente se utilizar tais uma ou mais imagens de camada de referência 410 para prever a imagem associada dentre as imagens atuais 405. Em tal caso, o processador 13 pode determinar que tais imagens de camada de referência direta 410 não estão incluídas no conjunto de imagens de referência intercamada. Por exemplo, como ilustrado na fileira 440, a imagem de camada de referência direta 410A1 não está incluída no conjunto de imagens de referência intercamada. Em algumas modalidades, o processador 13 pode realizar as determinações mencionadas acima para cada uma das imagens de camada de referência direta 410, como ilustrado na fileira 440.
[0077] O processador 13 também pode determinar se cada uma das imagens de camada de referência direta 410 estão restringidas do uso na previsão intercamada. Os resultados de tais determinações são ilustrados na fileira 450. Em algumas modalidades, o processador 13 pode analisar apenas as imagens de camada de referência direta 410 que o processador 13 determinou previamente que não fossem incluídas no conjunto de imagem de referência intercamada para determinar se tais imagens de camada de referência direta são restringidas do uso na previsão intercamada. Por exemplo, como ilustrado na fileira 440, apenas a primeira imagem de camada de referência direta 410A1 da primeira unidade de acesso AU1 foi previamente determinada para não ser incluída no conjunto de imagens de referência intercamada. Portanto, em uma modalidade, o processador 13 analisa apenas tal imagem (a primeira imagem de camada de referência direta 410A1) para determinar se está restringido do uso na previsão intercamada. Em outra modalidade, o processador 13 pode determinar se cada uma das imagens de camada de referência direta 410 estão restringidas do uso na previsão intercamada, independentemente de se o processador 13 tiver determinado previamente se inclui tais imagens de camada de referência direta 410 no conjunto de imagens de referência intercamada ou não. Em outra modalidade, o processador 13 determina se uma ou mais dentre as imagens de camada de referência direta 410 estão restringidas do uso na previsão intercamada antes da determinação de se tais imagens de camada de referência direta 410 estão incluídas no conjunto de imagem de referência intercamada. A determinação de se cada uma das imagens de camada de referência direta 410 está restringida do uso na previsão intercamada pode ser baseada no fato de se cada uma das imagens de camada de referência direta 410 está associada com um valor TID que é superior a ou igual a Max TID. No exemplo ilustrado da figura 4, o processador 13 determina que a primeira imagem de camada de referência direta 410A1 da primeira unidade de acesso A1 é restringida do uso na previsão intercamada. Essa determinação é representada na fileira 450 como "Sim". O processador 13 determina que a primeira imagem de camada de referência direta 410A1 da primeira unidade de acesso A1 é restringida de uso na previsão intercamada visto que a imagem de camada de referência direta 410A1 está associada a um valor TID superior a ou igual a TID Max (como indicado na interseção para primeira camada de aperfeiçoamento EL1 e a primeira unidade de acesso AU10. Em uma modalidade, como descrito acima (mas não ilustrado na figura 4), visto que o restante das imagens de camada de referência direta 410A2, 410B1 e 410B2 da sequência de vídeo 415 são determinadas como incluídas no conjunto de imagens de referência intercamada (como indicado na fileira 440), o processador 13 não precisa determinar adicionalmente se tais imagens de camada de referência direta restantes 410A2, 410B1 e 410B2 são restringidas de uso na previsão intercamada. Visto que o processador não precisa realizar tais determinações adicionais, os valores na fileira 450 correspondentes a tal determinação adicional podem ser indicados como "N/A". No entanto, na modalidade ilustrada, o processador 13 determina adicionalmente se cada uma das imagens de camada de referência direta restantes 410A2, 410B1 e 410B2 são restringidas do uso na previsão intercamada com base no fato de se cada um dos seus respectivos valores TID é maior do que ou igual a Max TID. Os resultados associados com as imagens de camada de referência direta restantes 410A2, 410B1 e 410B2, são fornecidos na fileira 450 como "sim", "não" e "não", respectivamente. Visto que a imagem de camada de referência direta 410A2 é associada com um valor TID superior a ou igual a Max TID, o processador 13 determina que a imagem de camada de referência direta 410A2 é restringida de uso na previsão intercamada. De forma similar, visto que as imagens de camada de referência direta 410B1 e 410B2 são associadas com um valor TID que não é superior a ou igual a Max TID, o processador 13 determina que as imagens de camada de referência direta 410B1 e 410B2 não estão restringidas de uso na previsão intercamada.
[0078] O processador 13 pode determinar se configura uma indicação com base no fato de as imagens de camada de referência direta estarem ou não incluídas em um conjunto de imagens de referência intercamada (como ilustrado na fileira 440) e se pelo menos as imagens de camada de referência direta que não estão incluídas no conjunto de imagens de referência intercamada (por exemplo, imagem de camada de referência direta 410A1) estão restringidas do uso na previsão intercamada (como ilustrado na fileira 450). A indicação configurada para um valor de "1" específica que para cada imagem referindo a VPS, as imagens de camada de referência que pertencem a todas as camadas de referência direta da camada contendo a imagem e que não estão restringidas a serem utilizadas para a previsão intercamada, estão presentes na mesma unidade de acesso que a imagem, e são incluídas no conjunto de imagem de referência intercamada da imagem. A indicação configurada para um valor de "0" especifica que a restrição acima pode ou não se aplicar. O processador 13 pode determinar se configura a indicação para cada uma das imagens atuais 405 (ou coletivamente para a camada atual) e/ou para uma sequência de vídeo codificada (CVS) (por exemplo, para todas as camadas dentro de CVS). Em uma modalidade, a indicação indica se todas as imagens de camada de referência direta 410 que não estão restringidas para uso na previsão intercamada (na modalidade ilustrada, imagens de camada de referência direta 410B1 e 410B2, como indicado na fileira 450) estão incluídas no conjunto de imagem de referência intercamada (como indicado na fileira 440). Em uma modalidade, o processador 13 pode configurar a indicação para todas as imagens atuais 405 na sequência de vídeo 415 utilizando uma única indicação (por exemplo, compreendendo um único bit). Por exemplo, a indicação pode ser um indicador que o processador 13 configura para um valor de "1" ou um valor de "0". Em algumas modalidades, o indicador sendo indicado para um valor de "1" pode indicar que todas as imagens de camada de referência direta associadas 410 que não estão restringidas para uso na previsão intercamada estão incluídas no conjunto de imagem de referência intercamada e o indicador sendo configurado para um valor de "0" pode indicar que todas as imagens de camada de referência direta associadas 410 que não estão restringidas para uso na previsão intercamada não estão incluídas no conjunto de imagem de referência intercamada. Em algumas modalidades, o indicador sendo configurado para um valor de "1" pode indicar que todas as imagens de camada de referência direta associadas 410 que não estão restringidas para uso na previsão intercamada estão incluídas no conjunto de imagem de referência intercamada e o indicador sendo configurado para um valor de "0" pode indicar que todas as imagens de camada de referência direta associadas 410 que não são restringidas para uso na previsão intercamada não estão incluídas no conjunto de imagem de referência intercamada. Em algumas modalidades, o indicador sendo configurado para um valor de "1" pode indicar que todas as imagens de camada de referência direta associadas 410 que não estão restringidas para uso na previsão intercamada estão incluídas no conjunto de imagem de referência intercamada e o indicador sendo configurado para um valor de "0" pode indicar que pelo menos uma das imagens de camada de referência direta associadas 410 que não estão restringidas para uso na previsão intercamada não estão incluídas no conjunto de imagem de referência intercamada. Em algumas modalidades, os valores, "0" e "1", do indicador podem fornecer uma indicação oposta à descrita acima.
[0079] Em algumas modalidades, o indicador pode ser inicializado para um valor de "0" ou "1" antes de o processador 13 realizar qualquer uma das determinações descritas acima. Em uma modalidade, o indicador pode ser um indicador relacionado com HEVC, por exemplo, all_ref_layers_active_flag. Em outra modalidade, o processador 13 pode realizar essa indicação de uma forma diferente. Por exemplo, em uma modalidade alternativa, o processador 13 pode fornecer individualmente essa indicação para cada uma das imagens atuais 405 na sequência de vídeo 415.
[0080] No exemplo ilustrado da figura 4, as imagens de camada de referência direta 410 das imagens atuais 405 são imagens de camada de referência direta 410A1, 410A2, 410B1 e 410B2 (como indicado na fileira 430). As imagens de camada de referência direta 410A2, 410B1 e 410B2 são incluídas no conjunto de imagem de referência intercamada (como indicado na fileira 440). Visto que pelo menos uma das imagens de camada de referência direta 410 (na modalidade ilustrada, a imagem de camada de referência direta 410A1) não está incluída no conjunto de imagens de referência intercamada, métodos anteriores determinariam que uma indicação devesse ser configurada para um valor de "0". No entanto, de acordo com várias modalidades descritas aqui, um processador pode, em vez disso, determinar adicionalmente se tal imagem de camada de referência direta 410A1 é restringida do uso na previsão intercamada. No exemplo ilustrado, como discutido acima, visto que a imagem de camada de referência direta 410A1 possui um valor TID que é maior do que ou igual a Max TID, o processador 13 pode determinar que a imagem de camada de referência direta 410A1 está restringida do uso na previsão intercamada (como indicado na fileira 450). Portanto, todas as imagens de camada de referência direta 410 para a camada atual que não estão restringidas para uso na previsão intercamada são incluídas no conjunto de imagem de referência intercamada. Com relação à primeira imagem atual CP1 na primeira unidade de acesso AU1, um processador pode determinar que as imagens de camada de referência (por exemplo, imagens de camada de referência direta 410A1 e 410A2) que pertencem a todas as camadas de referência direta (por exemplo, a camada base BL e a primeira camada de aperfeiçoamento EL1) da camada (por exemplo, a camada atual, que nessa modalidade é a terceira camada de aperfeiçoamento EL3) contendo a imagem (por exemplo, a imagem atual CP1) e que não está restringida de ser utilizada para previsão intercamada (por exemplo, não existem tais imagens, como indicado nas duas colunas da esquerda da fileira 450), presentes na mesma unidade de acesso que a imagem, e são incluídas no conjunto de imagens de referência intercamada da imagem. O processador pode configurar a indicação nessa modalidade visto que não existem imagens de camada de referência direta que não sejam restringidas do uso na previsão intercamada. Adicionalmente, com relação à segunda imagem atual CP2 na segunda unidade de acesso AU2, o processador também pode fornecer a indicação (por exemplo, a indicação na fileira 460) para indicar que as imagens de camada de referência (por exemplo, as imagens de camada de referência direta 410B1 e 410B2) que pertencem a todas as camadas de referência direta (por exemplo, a camada de base BL e a primeira camada de aperfeiçoamento EL1) da camada (por exemplo, a camada atual, que nessa modalidade é a terceira camada de aperfeiçoamento EL3) contendo a imagem (por exemplo, a imagem atual CP2) e que não está restringida para ser utilizada para a previsão intercamada (por exemplo, como indicado nas duas colunas da direita da fileira 450), estão presentes na mesma unidade de acesso (por exemplo, AU2) que a imagem (por exemplo, imagem atual CP2) e são incluídas no conjunto de imagens de referência intercamada (por exemplo, como indicado nas duas colunas da direita da fileira 440) da imagem (por exemplo, a segunda imagem atual CP2). Por exemplo, o processador pode configurar a indicação pela configuração de um indicador para um valor de "1" (como ilustrado na fileira 460). Em outras palavras, as imagens de camada de referência direta que pertencem a todas as camadas de referência direta da camada contendo a imagem e que não estão restringidas a serem utilizadas para a previsão intercamada (como determinado pela comparação de valores TID associados com um Max TID) estão presentes na mesma unidade de acesso que a imagem e podem ser incluídas no conjunto de imagens de referência intercamada da imagem. Em outra modalidade, o indicador é inicializado para um valor de "1", e o processador pode se abster de mudar o valor de indicador quando todas as imagens de camada de referência 410 para a camada atual que não são restringidas para uso na previsão intercamada são incluídas no conjunto de imagens de referência intercamada. Por exemplo, o processador pode, em vez disso, configurar o indicador para um valor de "0" quando pelo menos uma das imagens de camada de referência direta 410 para a camada atual que não é restringida para uso na previsão intercamada não é incluída no conjunto de imagem de referência intercamada.
[0081] Em outra modalidade (não apresentada na figura 4), todo o resto sendo igual ao descrito acima, o processador 13 pode ter, em vez disso, determinado que a imagem de camada de referência direta 410B2 não está incluída no conjunto de imagem de referência intercamada. Nesse exemplo proposto, o registro na fileira 440 associada com a imagem de camada de referência direta 410B2 seria, em vez disso, preenchida com um "não". Nessa modalidade, o processador 13 pode então determinar se a imagem de camada de referência direta 410B2 é restringida do uso na previsão intercamada (o resultado de tal determinação indicado no registro na fileira 450 associada com a imagem de camada de referência direta 410B2). Visto que a imagem de camada de referência direta 410B2 possui um valor TID inferior a Max TID, o processador 13 pode determinar que a imagem de camada de referência direta 410B2 não está restringida do uso na previsão intercamada (como indicado na fileira 450). Dessa forma, nem todas as imagens de camada de referência direta 410 para a camada atual que não são restringidas para uso na previsão intercamada são incluídas no conjunto de imagem de referência intercamada. Como resultado disso, o processador 13 pode fornecer indicação para indicar que uma restrição que, para cada imagem referindo a VPS, as imagens de camada de referência que pertencem a todas as camadas de referência direta da camada contendo a imagem e que não são restringidas a serem utilizadas para a previsão intercamada, estão presentes na mesma unidade de acesso que a imagem, e são incluídas no conjunto de imagem de referência intercamada da imagem, pode ou não ser aplicável. Tal indicação pode incluir a configuração de um indicador para um valor de "0". Como tal, nesse exemplo proposto, o registro na fileira 450 seria, em vez disso, preenchido com um "0". Em uma modalidade, o processador 13 pode configurar o indicador para um valor de "0" para indicar que as imagens de camada de referência direta 410 associadas com as imagens atuais 405 podem ou não incluir todas as imagens de camada de referência direta 410 que não são restringidas para uso na previsão intercamada. Em outra modalidade, o processador pode inicializar o indicador para ter um valor de "0". Em tal modalidade, o processador 13 pode não modificar o indicador quando nem todas as imagens de camada de referência direta 410 para a camada atual 425A que não são restringidos para uso na previsão intercamada são incluídas no conjunto de imagem de referência intercamada. O processador 13 pode utilizar qualquer outro número de considerações e/ou determinações possíveis para determinar uma configuração da indicação.
[0082] Em uma modalidade alternativa, mesmo se o processador determinar que todas as imagens da camada de referência direta 410 para a camada atual que não são restringidas para uso na previsão intercamada estão incluídas no conjunto de imagem de referência intercamada, em alguns casos, o processador ainda pode configurar a indicação para um valor de "0". Por exemplo, o processador pode configurar a indicação para um valor de "0" quando o processador determinar que mais de um número predeterminado de imagens de camada de referência direta 410 não está incluído no conjunto de imagens de referência de intercamada apesar de estarem restringidas do uso na previsão intercamada. Em uma modalidade, o número predeterminado pode ser baseado em um limite predeterminado (por exemplo, um percentual), que pode variar com base no tipo de codificação, tipo de imagem, um valor de quadros por segundo, e/ou qualquer outro parâmetro de imagem. Por exemplo, se o número de imagens de camada de referência direta 410 for igual a 10, o limite predeterminado é igual a 4, e o processador determina que 5 dentre as 10 imagens de camada de referência direta 410 não estão incluídas no conjunto de imagem de referência intercamada, então em uma modalidade, o processador pode configurar o valor de indicação para "0".
[0083] Tendo determinado a indicação (como indicado na seta 460), o processador 13 pode então ativar um dispositivo (por exemplo, o codificador de vídeo 20) para sinalizar a indicação para outro dispositivo (por exemplo, o decodificador de vídeo 30). O codificador de vídeo 20 também pode sinalizar outras indicações com base em várias determinações do processador 13. Por exemplo, o codificador de vídeo 20 pode sinalizar um número de imagens de camada de referência direta com relação a uma imagem atual 405 e/ou para todas as imagens atuais 405 na sequência de vídeo 415. Em um aspecto, o codificador de vídeo 20 pode sinalizar indicações em um nível de fatia. Em um aspecto, com base em uma ou mais dessas indicações, o decodificador de vídeo 30 pode então determinar um número de imagens de camada de referência ativas a partir das imagens de camada de referência direta de modo que o decodificador de vídeo 30 possa determinar um número de imagens de referência intercamada incluídas em um conjunto de imagens de referência intercamada (RPS), como descrito adicionalmente abaixo com relação à figura 6.
[0084] No contexto dos métodos de extensão HEVC atuais descritos acima, em uma modalidade, as técnicas descritas com relação à figura 4, podem ser utilizadas para modificar determinadas semânticas HEVC de modo a permitir que o codificador configure all_ref_layers_active_flag para 1 mesmo quando as imagens de algumas subcamadas não são utilizadas para previsão intercamada. Em uma modalidade, essa característica pode ser ativada se, para cada imagem que não pertence a essas subcamadas, as imagens de camada de referência de todas as camadas de referência direta da camada contendo a imagem estejam presentes na mesma unidade de acesso que a imagem e sejam incluídas no conjunto de imagem de referência intercamada da imagem. Por exemplo, uma nova definição semântica de all_ref_layers_active_flag pode incluir: "all_ref_layers_active_flag igual a 1 especifica que para cada imagem referindo a VPS, as imagens de camada de referência pertencem a todas as camadas de referência direta da camada contendo a imagem e que não estão restringidas com relação ao uso para previsão intercamada, como determinado pelos valores de max_tid_il_ref_pics_plus1 [i], estão presentes na mesma unidade de acesso que a imagem, e são incluídas no conjunto de imagem de referência intercamada da imagem. all_ref_layers_active_flag igual a 0 especifica que a restrição acima pode ou não se aplicar".
[0085] Em uma modalidade alternativa, o indicador descrito acima pode ser configurado para 0 em determinadas circunstâncias quando Max TID é igual a 0. A linguagem adicional ilustrativa para essa definição pode incluir "When max_tid_il_ref_pics_plus1 [i] é igual a 0 para qualquer valor de i na faixa de 0 a vps_max_layers_minus1, inclusive, o valor de all_ref_layers_active_flag deve ser igual a 0".
[0086] Em outra modalidade alternativa, o processador 13 pode sinalizar o indicador de camada de referência descrito acima (por exemplo, all_ref_layers_active_flag) em uma posição anterior a de qualquer indicador existente que possa indicar a presença de um Max TID (por exemplo, max_tid_ref_present_flag). Em tal modalidade, quando o indicador de camada de referência é determinado (por exemplo, igual a 1), o indicador de presença Max TID pode não ser determinado (por exemplo, igual a 0).
[0087] Em outra modalidade alternativa, qualquer indicador existente que possa indicar uma presença de um Max TID (por exemplo, max_tid_ref_present_flag) pode não estar presente (por exemplo, pode ter sido removido da sintaxe no contexto dos métodos de extensão HEVC descritos acima). Adicionalmente, o processador 13 pode sinalizar o indicador de camada de referência descrito acima (por exemplo, all_ref_layers_active_flag) em uma posição anterior à posição de uma variável representando um valor Max TID (por exemplo, max_tid_il_ref_pics_plus]i]). Em tal modalidade, quando o indicador de camada de referência é configurado (por exemplo, igual a 1), a variável representando o valor Max TID pode não estar presente. Uma implementação ilustrativa dessa modalidade alternativa é ilustrada na Tabela 1 de sintaxe abaixo:
Figure img0001
Tabela 1
[0088] Em outra modalidade, o processador 13 pode sinalizar o indicador de camada de referência descrito acima (por exemplo, all_ref_layers_active_flag) em uma posição anterior a qualquer indicador existente que possa indicar a presença de um Max TID (por exemplo, max_tid_ref_present_flag) e anterior a uma variável representando um valor Max TID (por exemplo, max_tid_il_ref_pics_plus1[i]). Em tal modalidade, quando o indicador de camada de referência é configurado (por exemplo, igual a 1) e a variável Max TID estiver presente, o valor de variável Max TID pode ser igual a 7. Em outras palavras, o valor da variável Max TID pode ser igual a uma variável de subcamada VPS max (por exemplo, vps_max_sub_layers_minus1 + 1).
[0089] A figura 5 ilustra um fluxograma de um método para um processador (por exemplo, o processador 13) de um codificador de vídeo (por exemplo, o codificador de vídeo 20) para indicar se um conjunto de imagens de referência intercamada inclui todas as imagens de camada de referência direta que não estão restringidas do uso na previsão intercamada, como descrito com relação à figura 4.
[0090] O método 500 inicia no bloco 505. No bloco 510, o processador 13 pode determinar se cada uma das imagens de camada de referência direta (por exemplo, as imagens de camada de referência direta 410A1, 410A2 da figura 4) associadas com uma primeira imagem atual (por exemplo, a primeira imagem atual CP1 da figura 4) estão incluídas em um conjunto de imagem de referência intercamada da primeira imagem atual CP1. O método pode ser repetido para cada uma das imagens na sequência de vídeo. O processador 13 pode realizar essa determinação utilizando qualquer um dos métodos descritos acima. Em algumas modalidades, o processador 13 pode realizar essa determinação de outra forma.
[0091] O processador 13 pode determinar (no bloco 510) que cada uma das imagens de camada de referência direta associada com a imagem atual são incluídas no conjunto de imagem de referência intercamada da imagem atual. Em tal caso, no bloco 520, o processador pode configurar uma indicação indicando que todas as imagens de camada de referência direta para a camada atual que não estão restringidas para uso na previsão intercamada sejam incluídas no conjunto de imagens de referência intercamada da imagem atual. Em um aspecto, isso pode corresponder a cada um dos valores na fileira 440 da figura 4 sendo "sim", independentemente dos valores na fileira 450 da figura 4. A configuração da indicação no bloco 520 pode, portanto, corresponder aos métodos descritos com relação à configuração de um indicador para um valor de "1", como indicado na fileira 460 da figura 4.
[0092] O processador 13 pode, em vez disso, determinar (no bloco 510) que nem cada uma das imagens de camada de referência direta associadas com a imagem atual estão incluídas no conjunto de imagens de referência intercamada da imagem atual. Por exemplo, como ilustrado na figura 4, a imagem de camada de referência direta 410A1 não está incluída no conjunto de imagens de referência intercamada. Em tal caso, no bloco 530, o processador pode determinar se qualquer uma das imagens de camada de referência direta associadas com a imagem atual que não estão incluídas no conjunto de imagens de referência intercamada da imagem atual não são restringidas para uso na previsão intercamada. Por exemplo, o processador 13 pode realizar essa determinação com relação à imagem de camada de referência direta 410A1 utilizando os métodos descritos com relação à fileira 450 da figura 4. Em alguns aspectos, o processador 13 pode realizar essa determinação de outra forma, como descrito adicionalmente com relação à figura 4.
[0093] O processador pode determinar (no bloco 530) que nenhuma das imagens de camada de referência direta associadas com a imagem atual que não estejam incluídas no conjunto de imagem de referência intercamada da imagem atual 405 não sejam restringidas do uso na previsão intercamada (ou que todas as imagens de camada de referência direta associadas com a imagem atual que não estejam incluídas no conjunto de imagem de referência intercamada da imagem atual sejam restringidas par auso na previsão intercamada). Em tal caso, no bloco 520, o processador pode configurar uma indicação indicando que todas as imagens de camada de referência direta para a camada atual que não são restringidas para uso na previsão intercamada sejam incluídas no conjunto de imagens de referência intercamada da imagem atual, como discutido acima.
[0094] Alternativamente, o processador pode, em vez disso, determinar (no bloco 530), que pelo menos uma das imagens de camada de referência direta associadas com a imagem atual que não são incluídas no conjunto de imagem de referência intercamada da imagem atual 405 não sejam restringidas para uso na previsão intercamada. Nesse caso, então no bloco 540, o processador pode configurar uma indicação indicando que nem todas as imagens de camada de referência direta para a camada atual que não são restringidas de uso na previsão intercamada são incluídas no conjunto de imagem de referência intercamada. Em um aspecto, isso pode corresponder aos métodos descritos com relação à configuração de um indicador a um valor de "0" como descrito com relação à figura 4. Como discutido acima, em algumas modalidades, os valores de indicador podem ser inicializados para um valor de inicialização. Em tal caso, o processador pode não configurar o valor de indicador se o valor a ser configurado for igual ao valor inicializado.
[0095] O método termina no bloco 550. Como descrito acima com relação à figura 4, o processo acima é apenas um exemplo de como o processador 13 pode determinar a indicação.
[0096] A figura 6 ilustra um exemplo de informação de vídeo 600 que pode ser processada para determinar um número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta (também referidas aqui como "imagens de referência direta", "imagens de referência", ou "imagens de camada de referência). As imagens de camada de referência ativa são imagens nas camadas de referência que estão sendo atualmente processadas utilizando-se a previsão intercamada. As imagens de camada de referência ativa correspondem às imagens de camada de referência direta particular que são utilizadas para decodificar a imagem atual. Em uma modalidade, um conjunto de imagens de referência contém apenas imagens de camada de referência ativa. Portanto, em uma modalidade, os termos "conjunto de imagem de referência ativa" e "conjunto de imagens de referência" podem ser utilizados de forma intercambiável. Em um aspecto, uma ou mais das características descritas com relação à figura 6 podem ser geralmente realizadas por um decodificador (por exemplo, o decodificador de vídeo 30 das figuras 1A, 1B e/ou 3). Em um aspecto, o decodificador de vídeo 30 pode receber várias indicações de um codificador (por exemplo, o codificador de vídeo 20 das figuras 1A, 1B e/ou 2). Em outra modalidade, as indicações podem ser recebidas de um dispositivo diferente ou podem ser armazenadas em uma unidade de memória (por exemplo, o dispositivo de armazenamento 34 da figura 1A, a memória 92 da figura 3, etc.). Outras modalidades descritas com relação à figura 6 podem ser incluídas também na unidade de memória. As operações descritas com relação à figura 6 podem ser realizadas por um processador (por exemplo, um processador dentro do módulo fonte, módulo de destino, codificador de vídeo, e/ou decodificador de vídeo de qualquer uma ou mais das figuras de 1A a 3, o módulo de processador/controlador 13 da figura 1B, e/ou uma unidade de processamento de vídeo, tal como a unidade de processamento de vídeo 21 da figura 1B, etc.). O decodificador de vídeo, o codificador de vídeo, a unidade de memória, e/ou o processador podem estar em comunicação um com o outro e/ou conectados operacionalmente.
[0097] Em uma modalidade, antes da determinação de um número (por exemplo, uma quantidade) de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta, o decodificador de vídeo 30 pode primeiramente determinar se todas as uma ou mais imagens de camada de referência direta que não são restringidas para uso na previsão intercamada estão incluídas no conjunto de imagens de referência intercamada associado com uma imagem atual. Em um aspecto, o conjunto de imagens de referência intercamada pode compreender todo ou uma parte do conjunto de imagens de referência intercamada descrito com relação às figuras 4 e 5. Em um aspecto, o conjunto de imagens de referência intercamada também pode incluir outras imagens. Em uma modalidade, o decodificador de vídeo 30 pode determinar se todas dentre uma ou mais imagens de camada de referência direta que não são restringidas ao uso na previsão intercamada estão incluídas em um conjunto de imagens de referência intercamada associado com uma imagem atual com base em uma indicação. Por exemplo, a indicação pode ser determinada e armazenada e/ou fornecida para o decodificador de vídeo 30 pelo codificador de vídeo 20. Em tal exemplo, a indicação pode compreender a indicação descrita com relação à fileira 460 da figura 4. Em um exemplo, a indicação pode ser um indicador configurado para "1". Em outras modalidades, o decodificador de vídeo 30 pode realizar a determinação de outras formas. Como descrito com relação à figura 4, o decodificador de vídeo 30 também pode receber uma ou mais imagens de camada de referência direta do codificador de vídeo 20 ou de alguma outra fonte.
[0098] Uma sequência de vídeo 615 inclui unidades de acesso (coletivamente referidas como unidades de acesso 620), onde cada uma das unidades de acesso 620 pode conter uma ou mais imagens. A sequência de vídeo 615 da figura 6 ilustra duas unidades de acesso AU1, AU2; no entanto, a sequência de vídeo 615 pode incluir qualquer número de unidades de acesso 620. Cada unidade de acesso AU1, AU2 pode ser associada com uma ou mais camadas 625 de informação de vídeo, como ilustrado por uma camada de base BL e três camadas de aperfeiçoamento EL1, EL2 e EL3. A camada mais baixa ilustrada ou camada no fundo da informação de vídeo 600 pode ser a camada de base (BL) ou uma camada de referência (RL), e a camada no nível mais superior ou em um nível mais alto da informação de vídeo 600 pode ser uma camada aperfeiçoada. A "camada aperfeiçoada" pode ser considerada como sendo sinonimo de "câmara de aperfeiçoamento" e esses termos podem ser utilizados de forma intercambiável. Nesse exemplo, a camada BL é a camada de base, e as camadas EL1, EL2 e EL3 são a primeira, segunda e terceira camadas de aperfeiçoamento, respectivamente. As camadas entre a camada de base BL e a camada de aperfeiçoamento mais alta EL3 pode servir como camadas de aperfeiçoamento e/ou camadas de referência. Nesse exemplo, as camadas EL1, EL2 e EL3 representam as camadas de aperfeiçoamento.
[0099] Por exemplo, uma camada determinada (por exemplo, a segunda camada de aperfeiçoamento EL2) pode ser uma camada de aperfeiçoamento para uma camada abaixo (isso é, que antecede) a camada determinada, tal como a camada de base (por exemplo, a camada de base BL) ou qualquer camada de aperfeiçoamento interveniente (por exemplo, a primeira camada de aperfeiçoamento EL1). Adicionalmente, a camada determinada (por exemplo, a segunda camada de aperfeiçoamento EL2) também pode servir como uma camada de referência para uma camada de aperfeiçoamento (por exemplo, a terceira camada de aperfeiçoamento EL3) acima (isso é, subsequente a) da camada determinada. Qualquer camada determinada entre a camada de base (isso é, a camada mais inferior possuindo, por exemplo, uma identificação de camada (ID) configurada para ou igual a "1") e a camada superior (ou a camada mais alta) pode ser utilizada como uma referência para a previsão intercamada por uma camada superior relativa à camada determinada e pode ser determinada utilizando uma camada inferior à camada determinada como uma referência para previsão intercamada.
[0100] A camada 625 que está sendo processada no momento pode ser referida como "camada atual". Na ilustração, a terceira camada de aperfeiçoamento EL3 representa a camada atual. Uma camada atual pode ser associada com uma ou mais camadas de referência direta. Como mencionado acima, uma camada de referência direta é uma camada que pode ser utilizada para previsão intercamada de outra camada, tal como a camada atual. No exemplo ilustrado, a primeira camada de aperfeiçoamento EL1 e a camada base BL representam a primeira e segunda camadas de referência direta da camada atual (por exemplo, que na modalidade ilustrada é a terceira camada de aperfeiçoamento EL3), respectivamente. A primeira camada de aperfeiçoamento EL1 e a camada de base BL são camadas de referência direta da camada atual visto que são determinadas como camadas que podem ser utilizadas para a interprevisão da terceira camada de aperfeiçoamento, que nesse exemplo é a camada atual.
[0101] Cada uma das camadas 625 pode compreender uma ou mais imagens, cada imagem sendo associada com uma das camadas 625 e uma das unidades de acesso AU1, AU2. As imagens associadas com a camada atual (nesse exemplo, a terceira camada de aperfeiçoamento EL3) pode ser referida coletivamente como imagens atuais 605. Por exemplo, na modalidade ilustrada, as imagens atuais 605 incluem uma primeira imagem atual CP1 localizada dentro da primeira unidade de acesso AU1 e uma segunda imagem atual CP2 localizada dentro da segunda unidade de acesso AU2. As imagens (por exemplo, imagens 610A1, 610A2, 610B1, 610B2) que estão nas camadas de referência direta (por exemplo, a primeira camada de aperfeiçoamento EL1 e a camada de base BL) da camada atual (por exemplo, a terceira camada de aperfeiçoamento EL3) podem ser referidas coletivamente como imagens de camada de referência direta 610 (ou imagens de camada de referência 610). Por exemplo, a imagem de camada de referência direta 610B1 é a imagem na primeira camada de referência direta (nesse exemplo, a primeira camada de aperfeiçoamento EL1) e a segunda unidade de acesso AU2. Essa imagem de camada de referência direta 610B1 também pode ser referida como "imagem de camada de referência direta 1 da imagem atual 2". Como outro exemplo, a imagem de camada de referência direta 610A2 é a imagem na segunda camada de referência direta (nesse exemplo, a camada de base BL) e a primeira unidade de acesso AU1. Essa imagem de camada de referência direta 610A1 também pode ser referida como "imagem de camada de referência direta 2 da imagem atual 1". As imagens que estão nas camadas de referência não direta da camada atual (por exemplo, camada de referência não direta EL2) podem ser referidas simplesmente como imagens 608. Na modalidade ilustrada, as imagens 608 incluem uma imagem 608A localizada na primeira unidade de acesso AU1 e uma segunda imagem 608B localizada na segunda unidade de acesso AU2. Em uma modalidade, o processador (por exemplo, o processador 13) pode não considerar ou realizar qualquer determinação com base nas imagens 608A e 608B na camada de referência não direta (por exemplo, a segunda camada de aperfeiçoamento EL2).
[0102] Cada uma das imagens de camada de referência direta 610 pode ser associada com um número ou valor de identificação temporal respectivo ou "valor TID" (não ilustrado). Em um aspecto, cada uma das imagens em uma das unidades de acesso AU1, AU2 pode ser associada com o mesmo valor TID (isso é, um valor comum). Por exemplo, para a primeira unidade de acesso AU1, a imagem atual CP1, a imagem 608A, e ambas as imagens de camada de referência direta 610A1 e 610A2 podem ser associadas com o mesmo valor TID. Em alguns aspectos, o processador 13 pode determinar respectivamente se o valor TID associado de cada uma das imagens de camada de referência direta 610 é inferior a um limite predeterminado (por exemplo, "valor de identificação temporal máximo", "número de identificação temporal máximo" ou "Max TID"). Em algumas modalidades, Max TID pode ser associado à camada atual e sequência de vídeo 615. No exemplo ilustrado, a imagem de camada de referência direta 610A1 é associada com um valor TID que é superior a ou igual a Max TID, e a imagem de camada de referência direta 610B1 é associada com um valor TID que é inferior a Max TID. Em uma modalidade, Max TID pode ser um valor igual a "4", o valor TID associado com a imagem de camada de referência direta 610A1 (na primeira unidade de acesso AU1) pode ser igual a "5", e o valor TID associado com a imagem de camada de referência direta 610B1 (na segunda unidade de acesso AU2) pode ser igual a "2". Em tal caso, a imagem de camada de referência direta 610A1 não seria determinada como sendo uma imagem de camada de referência ativa da imagem atual visto que o valor TID associado com a imagem de camada de referência direta 610A1 é maior do que ou igual a Max TID. No entanto, em tal caso, a imagem de camada de referência direta 610B1 seria determinada como sendo uma imagem de camada de referência ativa da imagem atual visto que o valor TID associado com a imagem de camada de referência direta 610B1 não é superior a ou igual a Max TID. Em algumas modalidades, Max TID pode ser um valor constante para toda a sequência de vídeo 615. Por exemplo, Max TID pode permanecer constante para toda a sequência de vídeo 615 de acordo com um padrão de codificação de vídeo (por exemplo, a variável max_tid_il_ref_pics_plus1[i] do padrão HEVC). Em outras modalidades, Max TID pode variar de acordo com a unidade de acesso AU1, AU2 na sequência de vídeo 615. Em outras palavras, cada unidade de acesso respectiva AU1, AU2 pode ser associada com um Max TID respectivo.
[0103] O processador 13 pode determinar várias informações utilizando as propriedades de cada uma das imagens de camada de referência direta 610 e cada imagem atual associada com a imagem de camada de referência direta 605. A fileira 630 da figura 6 ilustra uma modalidade de tal informação. Por exemplo, os valores na fileira 630 representam o número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta 610 em cada uma das unidades de acesso AU1, AU2.
[0104] Como descrito acima, para cada unidade de acesso da sequência de vídeo 615, um processador 13 pode determinar um número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta 610. Por exemplo, com relação à primeira unidade de acesso AU1, um processador 13 pode determinar um número de imagens de camada de referência ativa a partir das imagens de camada de referência direta da imagem atual da unidade de acesso 610A1 e 610A2. Em uma modalidade, o processador 13 pode determinar o número de imagens de camada de referência ativa como igual a um número de imagens de camada de referência direta 610 que são associadas com um valor TID inferior a Max TID. Com referência à unidade de acesso AU1, ambas as imagens da camada de referência direta 610A1 e 610A2 são associadas com um valor TID que é superior a ou igual a Max TID. Dessa forma, o processador 13 pode não contar qualquer uma dentre as imagens de camada de referência direta 610A1 ou 610A2 como imagens de camada de referência ativa. Dessa forma, na modalidade ilustrada para a unidade de acesso AU1, o processador 13 pode determinar que o número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta 610 é igual a "0", como ilustrado na parte da fileira 630 correspondente à primeira unidade de acesso AU1.
[0105] Com referência à segunda unidade de acesso AU2, o processador 13 pode, de forma similar, determinar um número de imagens de camada de referência ativa a partir das imagens de camada de referência direta da segunda imagem atual da unidade de acesso 610B1 e 610B2. Como descrito acima, em uma modalidade, o processador 13 pode determinar o número de imagens de camada de referência ativa para que seja igual a um número de imagens de camada de referência direta 610 que são associadas com um valor TID inferior a Max TID. Com referência à unidade de acesso AU2, ambas as imagens de camada de referência direta 610B1 e 610B2 são associadas com um valor TID que é inferior a Max TID. Dessa forma, o processador 13 pode contar ambas as imagens de camada de referência direta 610B1 e 610B2 como imagens de camada de referência ativa. Dessa forma, na modalidade ilustrada para unidade de acesso AU2, o processador 13 pode determinar que o número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta 610 seja igual a "2", como ilustrado na parte da fileira 530 correspondente à segunda unidade de acesso AU2.
[0106] O processador 13 pode utilizar qualquer outro número de possíveis considerações e/ou determinações para determinar o número de imagens de camada de referência ativa. Em uma modalidade alternativa, o processador 13 pode determinar qual dentre as imagens de camada de referência direta 610 não são imagens de camada de referência ativa (por exemplo, pela determinação de um número de imagens de camada de referência direta 610 que são associadas com um valor TID superior a ou igual a Max TID) e então determinar um número de imagens de camada de referência ativa com base em um valor de diferença.
[0107] Tendo determinado o número de imagens de camada de referência ativa (como indicado na fileira 630), o processador 13 pode então indicar tal determinação como um valor variável de acordo com um padrão de decodificação de vídeo (por exemplo, a variável NumActiveRefLayerPics do padrão HEVC). Em uma modalidade, o processador 13 pode definir um conjunto de imagens de referência intercamada (RPS) (por exemplo, um "conjunto de imagens de referência ativa" ou "um conjunto de imagens de referência") de modo que contenha as imagens de camada de referência ativa associadas. O processador 13 pode então decodificar a imagem atual associada 605, utilizando a previsão intercamada com base pelo menos em uma das imagens de camada de referência ativa. Por exemplo, com base na análise descrita acima, o processador 13 pode decodificar a imagem atual 605 em AU2 utilizando a previsão intercamada com base em uma ou mais das imagens de camada de referência ativa 610B1 e/ou 610B2.
[0108] No contexto dos métodos de extensão HEVC acuais descritos acima, em uma modalidade, determinadas definições de variáveis do Padrão HEVC também podem ser modificadas para levar vantagem das modificações semânticas como descrito com relação à figura 4. Por exemplo, determinadas modificações de definição de variável podem permitir que o decodificador de vídeo 30 conte seletivamente as imagens durante a derivação de determinadas variáveis (por exemplo, NumActiveRefLayerPics). Isso é, as imagens de camada de referência que pertencem às subcamadas que não são utilizadas para a previsão intercamada (por exemplo, como indicado por um Max TID, que pode ser a variável max_tid_il_ref_pics_plus1 descrita acima) pode não ser incluída no conjunto de imagens de referência intercamada. Por exemplo, o novo código para derivação de NumActiveRefLayerPics pode incluir o seguinte: se (nuh_layer_id = = 0 | | NumDirectRefLayers[nuh_layer_id] = = 0) NumActiveRefLayerPics = 0; ou se (all_ref_layers_active_flag) com (i = 0, NumActiveRefLayerPics = 0; i < NumDirectRefLayers[nuh_layer_id]; i ++){ layerIdx = LayerIdxInVps[RefLayerId[nuh_layer_id][i]] se (max_tid_il_ref_pics_plus1[layerIdx] > TemporalId) NumActiveRefLayerPics++ }; ou se (!inter_layer_pred_enabled_flag) NumActiveRefLayerPics = 0; ou se (max_one_active_ref_layer_flag || NumDirectRefLayers[nuh_layer_id] == 1) NumActiveRefLayerPics = 1; ou NumActiveRefLayerPics = num_inter_layer_ref_pics_minus1 + 1;
[00109] Como descrito acima com relação à figura 4, as modificações e métodos de semântica descritos na presente descrição podem fazer com que all_ref_layers_active_flag para ser configurado para 1 com mais frequência do que nos métodos de extensões HEVC atuais. Portanto, o novo código acima para derivação NumActiveRefLayerPics pode fazer com que o primeiro "ou se" no bloco de código seja utilizado com mais frequência (por exemplo, visto que all_ref_layers_active_flag é configurado para 1 com mais frequência) do que nos métodos de extensões HEVC atuais. Em uma modalidade, os parâmetros do primeiro "ou se" no bloco de código podem representar uma parte dos métodos descritos com relação às figuras 6 e 7.
[0110] A figura 7 ilustra um fluxograma de um método para um processador (por exemplo, o processador 13) de um decodificador de vídeo (por exemplo, o decodificador de vídeo 30) para determinar um número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência ativa como descrito com relação à figura 6.
[0111] O método 700 inicia no bloco 705. No bloco 710, o processador 13 pode determinar se todas dentre uma ou mais imagens de camada de referência que não são restringidas para uso na previsão intercamada são incluídas em um conjunto de imagens de referência intercamada associado com uma imagem atual. Em um aspecto, o conjunto de imagens de referência intercamada pode compreender todo ou parte do conjunto de imagem de referência intercamada descrito com relação às figuras 4 e 5. Por exemplo, o conjunto de imagens de referência intercamada pode compreender cada uma das imagens de camada de referência direta 610A1, 610A2, 610B1 e 610B2 da figura 6. Em uma modalidade, o processador 13 pode determinar se todas dentre uma ou mais imagens de camada de referência direta que não são restringidas para uso na previsão intercamada estão incluídas em um conjunto de imagens de referência intercamada associado com uma imagem atual com base em uma indicação fornecida por um codificador de vídeo (por exemplo, o codificador de vídeo 20), como descrito adicionalmente com relação às figuras de 4 a 6. Em outras modalidades, o processador 13 pode realizar a determinação utilizando qualquer um dos métodos descritos acima. Em algumas modalidades, o processador 13 pode realizar a determinação de outra forma.
[0112] O processador 13 pode determinar (no bloco 710) que todas dentre uma ou mais imagens de camada de referência direta que não são restringidas para uso na previsão intercamada são incluídas no conjunto de imagens de referência intercamada associado com a imagem atual. Em um exemplo, o processador 13 pode realizar tal determinação com base no recebimento de um indicador configurado para "1" como descrito com relação à figura 6. Em tal caso, no bloco 720 o processador 13 pode determinar um número de uma ou mais imagens de camada de referência direta que são imagens de camada de referência ativa. Em uma modalidade, o número de uma ou mais imagens de camada de referência direta que são imagens de camada de referência ativa pode ser igual a um número de imagens de camada de referência direta que são associadas com um valor TID inferior a um Max TID. O valor TID e Max TID podem ser o valor TID e Max TID como descrito com relação à figura 6. Em uma modalidade, o processador 13 pode realizar a determinação descrita com relação ao bloco 720 para cada unidade de acesso. Por exemplo, com referência a AU1 da figura 6, o processador 13 pode determinar um número de imagens de camada de referência direta 610A1 e 610A2 que são associadas com um valor TID inferior a Max TID e então separadamente determinam um número de imagens de camada de referência direta 610B1 e 610B2 que são associadas a um valor TID inferior a Max TID. Como descrito acima, tal determinação também pode ser descrita como determinando um número de imagens de camada de referência ativa a partir de uma ou mais imagens de camada de referência direta. Por exemplo, tal determinação pode corresponder às determinações descritas com relação à fileira 630 da figura 6. O método pode então terminar no bloco 730. Como descrito acima com relação à figura 6, o processo acima é apenas um exemplo de como o processador 13 pode realizar tal determinação.
[0113] O processador 13 pode, em vez disso, determinar (no bloco 710) que nem todas as uma ou mais imagens de camada de referência direta que não são restringidas para uso na previsão intercamada sejam incluídas no conjunto de imagens de referência intercamada associado com a imagem atual. Em um exemplo, o processador 13 pode realizar tal determinação com base no recebimento de um indicador configurado para "0" como descrito com relação à figura 6. Em tal caso, o método pode então encerrar no bloco 730. Como descrito acima com relação à figura 6, o processo acima é apenas um exemplo de como o processador 13 pode realizar tal determinação.
[0114] 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, um meio legível por computador e executadas por uma unidade de processamento com base em hardware. O meio legível por computador pode incluir meio 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, o meio legível por computador geralmente pode corresponder a (1) meio de armazenamento legível por computador tangível que é não transitório ou (2) um meio de comunicação tal como um sinal ou onda portadora. O meio de armazenamento de dados pode ser qualquer meio disponível que possa ser acessado 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.
[0115] 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 armazenamento em disco ótico, armazenamento em disco 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 computador. Por exemplo, se instruções forem transmitidas a partir de um sítio da rede, servidor ou outra fonte remota utilizando um cabo coaxial, um cabo de fibra ótica, um par torcido, linha de assinante digital (DSL), ou tecnologias sem fio tal como infravermelho, rádio e micro-ondas, então o cabo coaxial, o cabo de fibra ótica, o par torcido, DSL ou tecnologias sem fio tal como infravermelho, rádio e micro-ondas são incluídos na definição de meio. Deve-se compreender, no entanto, que o meio de armazenamento legível por computador e o meio de armazenamento de dados não incluem conexões, ondas portadoras, sinais, ou outro meio transiente, mas, em vez disso, são direcionados para meio de armazenamento tangível não transiente. Disquete e disco, como utilizados aqui, incluem disco compacto (CD), disco a laser, disco ótico, disco versátil digital (DVD), disquete e disco Blu- ray, onde disquetes normalmente reproduzem os dados magneticamente, enquanto discos reproduzem os dados oticamente com lasers. As combinações do acima exposto também devem ser incluídas no escopo de meio legível por computador.
[0116] 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ógicos discretos ou integrados equivalentes. De acordo, o termo "processador", como utilizado aqui pode se referir a qualquer uma dentre uma estrutura acima ou qualquer outra estrutura adequada para implementação das técnicas descritas aqui. Adicionalmente, em alguns aspectos, funcionalidade descrita aqui pode ser fornecida dentro de módulos de hardware e/ou software dedicados configurados para codificar e decodificar, ou incorporados a um codec combinado. Além disso, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos lógicos.
[0117] 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 chips). Vários componentes, módulos ou unidades são descritos nessa descrição para enfatizar os aspectos funcionais dos dispositivos configurados para realizar as técnicas descritas, mas não exigem necessariamente a realização por diferentes unidades de hardware. Em vez disso, como descrito acima, várias unidades podem ser combinadas em uma unidade de hardware de codec ou fornecidas por uma coleção de unidades de hardware interoperacionais, incluindo um ou mais processadores como descrito acima, em conjunto com software e/ou firmware adequado. Vários exemplos foram descritos. Esses e outros exemplos estado dentro do escopo das reivindicações a seguir.

Claims (8)

1. Codificador de vídeo (20) caracterizado por compreender: uma unidade de memória configurada para armazenar uma ou mais imagens de camada de referência direta (410) de uma ou mais imagens atuais (405) em uma sequência (415), em que as uma ou mais imagens atuais são associadas a uma camada atual (425), sendo que a camada atual é associada com a uma ou mais camadas de referência direta, e em que uma camada de referência direta é uma camada que pode ser usada para predição intercamada de outra camada, tal como a camada atual; e um processador (13) em comunicação com a unidade de memória e configurado para: determinar que uma imagem de camada de referência direta dentre uma ou mais imagens de camada de referência direta não é restrita para uso, de modo que a imagem de camada de referência direta possa ser usada, em predição intercamada, quando a imagem de camada de referência direta tiver um valor de identificação temporal inferior a um limiar predeterminado com base em um valor de identificação temporal máximo associado à camada atual; determinar se todas dentre uma ou mais imagens de camada de referência de uma imagem atual que não sejam restritas para uso em predição intercamada estão incluídas em um conjunto de imagem de referência intercamada associado à imagem atual; e ajustar um sinalizador associado à imagem atual a um primeiro valor com base em uma determinação que todas as imagens de camada de referência direta da imagem atual que não sejam restritas para uso em predição intercamada estão incluídas no conjunto de imagem de referência intercamada associado à imagem atual; ou ajustar um sinalizador associado à imagem atual a um segundo valor com base em uma determinação que nem todas as imagens de camada de referência direta da imagem atual que não sejam restritas para uso em predição intercamada estão incluídas no conjunto de imagem de referência intercamada associado à imagem atual, em que todas dentre uma ou mais imagens de camada de referência direta da imagem atual que não sejam restritas para uso estão disponíveis para uso em predição intercamada.
2. Codificador de vídeo, de acordo com a reivindicação 1, caracterizado pelo fato de que o processador é adicionalmente configurado para ajustar uma respectiva indicação para cada uma dentre as uma ou mais imagens atuais na sequência com base na indicação associada à imagem atual.
3. Codificador de vídeo, de acordo com a reivindicação 1, caracterizado pelo fato de que o processador é adicionalmente configurado para determinar se cada imagem de camada de referência direta respectiva está incluída no conjunto de imagens de referência intercamada com base em uma determinação de se a imagem de camada de referência direta respectiva pode ser utilizada para predição intercamada da imagem atual.
4. Método de codificação de vídeo, o método caracterizado por compreender: armazenar uma ou mais imagens de camada de referência direta (410) de uma ou mais imagens atuais (405) em uma sequência (415), em que as uma ou mais imagens atuais são associadas a uma camada atual (425), sendo que a camada atual é associada a uma ou mais camadas de referência direta, e em que uma camada de referência direta é uma camada que pode ser usada para predição intercamada de outra camada, tal como a camada atual; e determinar que uma imagem de camada de referência direta dentre uma ou mais imagens de camada de referência direta não é restrita para uso, de modo que a imagem de camada de referência direta possa ser usada, em predição intercamada, quando a imagem de camada de referência direta tiver um valor de identificação temporal inferior a um limiar predeterminado com base em um valor de identificação temporal máximo associado à camada atual; determinar se todas dentre uma ou mais imagens de camada de referência de uma imagem atual que não sejam restritas para uso em predição intercamada estão incluídas em um conjunto de imagem de referência intercamada associado à imagem atual; e ajustar um sinalizador associado à imagem atual a um primeiro valor com base em uma determinação que todas as imagens de camada de referência direta da imagem atual que não sejam restritas para uso em predição intercamada estão incluídos no conjunto de imagem de referência intercamada associado à imagem atual; ou ajustar um sinalizador associado à imagem atual a um segundo valor com base em uma determinação que nem todas as imagens de camada de referência direta da imagem atual que não sejam restritas para uso em predição intercamada estão incluídos no conjunto de imagem de referência intercamada associado à imagem atual, em que todas dentre uma ou mais imagens de camada de referência direta da imagem atual que não sejam restritas para uso estão disponíveis para uso em predição intercamada.
5. Método, de acordo com a reivindicação 4, caracterizado por compreender adicionalmente ajustar uma respectiva indicação para cada uma das uma ou mais imagens atuais na sequência com base na indicação associada à imagem atual.
6. Método, de acordo com a reivindicação 4, caracterizado por compreender adicionalmente determinar se cada imagem de camada de referência direta respectiva é incluída no conjunto de imagens de referência intercamada com base em uma determinação se a imagem de camada de referência direta pode ser utilizada para predição intercamada da imagem atual.
7. Decodificador de vídeo (30) caracterizado por compreender: uma unidade de memória configurada para armazenar uma ou mais imagens de camada de referência direta (610), em que cada uma das uma ou mais imagens de camada de referência direta é associada a uma camada de referência direta respectiva de uma ou mais camadas de referência direta, em que as uma ou mais camadas de referência direta são associadas a uma camada atual (625), e em que a camada atual é associada a uma imagem atual (605), e em que uma camada de referência direta é uma camada que pode ser usada para predição intercamada de outra camada, tal como a camada atual; e um processador (13) em comunicação com a memória e configurado para: determinar, com base em um sinalizador, se todas dentre as uma ou mais imagens de camada de referência direta que não sejam restritas para uso em predição intercamada estão incluídas em um conjunto de imagem de referência intercamada associado à imagem atual; e determinar um número das uma ou mais imagens de camada de referência direta que não são restritas para uso na predição intercamada, subsequente à determinação de que todas as uma ou mais imagens de camada de referência direta que não sejam restritas para uso na predição intercamada, sejam incluídas no conjunto de imagem de referência intercamada associado com a imagem atual, em que o número determinado das uma ou mais imagens de camada de referência direta pode ser usado na predição intercamada, em que o processador é configurado para determinar que uma imagem de camada de referência direta das uma ou mais imagens de camada de referência direta não é restrita para uso, de modo que a imagem de camada de referência direta possa ser usada, em predição intercamada, determinando que um valor de identificação temporal associado à imagem de camada de referência direta é menor que um limiar predeterminado com base em um valor de identificação temporal máximo associado à camada atual; em que todas dentre uma ou mais imagens de camada de referência direta que não sejam restritas para uso estão disponíveis para uso em predição intercamada.
8. Método de decodificação de vídeo, o método caracterizado por compreender: armazenar uma ou mais imagens de camada de referência direta (610), em que cada uma das uma ou mais imagens de camada de referência direta é associada a uma camada de referência direta respectiva de uma ou mais camadas de referência direta, em que uma ou mais camadas de referência direta são associadas a uma camada atual (625), e em que a camada atual é associada com uma imagem atual (605), e em que uma camada de referência direta é uma camada que pode ser usada para predição intercamada de outra camada, tal como a camada atual; determinar, com base em uma indicação, se todas as uma ou mais imagens de camada de referência direta que não sejam restritas para uso na predição intercamada estão incluídas em um conjunto de imagens de referência intercamada associado à imagem atual; e determinar um número das uma ou mais imagens de camada de referência direta que não são restritas para uso na predição intercamada, subsequente à determinação de que todas as uma ou mais imagens de camada de referência direta que não sejam restritas para uso na predição intercamada, sejam incluídas no conjunto de imagem de referência intercamada associado com a imagem atual, em que o número determinado das uma ou mais imagens de camada de referência direta pode ser usado na predição intercamada, em que determinar que uma imagem de camada de referência direta de uma ou mais imagens de camada de referência direta não é restrita para uso, de modo que a imagem de camada de referência direta possa ser usada, em predição intercamada compreende determinar que um valor de identificação temporal associado à imagem de camada de referência direta é menor que um limiar predeterminado com base em um valor de identificação temporal máximo associado à camada atual; em que todas dentre uma ou mais imagens de camada de referência direta que não sejam restritas para uso estão disponíveis para uso em predição intercamada.
BR112016008229-0A 2013-10-14 2014-10-14 Sistemas e métodos para derivação rps intercamada com base em dependência de previsão de referência de subcamada BR112016008229B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361890759P 2013-10-14 2013-10-14
US61/890,759 2013-10-14
US14/513,089 2014-10-13
US14/513,089 US9681145B2 (en) 2013-10-14 2014-10-13 Systems and methods for inter-layer RPS derivation based on sub-layer reference prediction dependency
PCT/US2014/060486 WO2015057706A1 (en) 2013-10-14 2014-10-14 Systems and methods for inter-layer rps derivation based on sub-layer reference prediction dependency

Publications (2)

Publication Number Publication Date
BR112016008229A2 BR112016008229A2 (pt) 2017-08-01
BR112016008229B1 true BR112016008229B1 (pt) 2023-04-18

Family

ID=52809633

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016008229-0A BR112016008229B1 (pt) 2013-10-14 2014-10-14 Sistemas e métodos para derivação rps intercamada com base em dependência de previsão de referência de subcamada

Country Status (10)

Country Link
US (1) US9681145B2 (pt)
EP (1) EP3058746B1 (pt)
JP (1) JP2016537931A (pt)
KR (1) KR101870546B1 (pt)
CN (1) CN105612751B (pt)
BR (1) BR112016008229B1 (pt)
ES (1) ES2754056T3 (pt)
HU (1) HUE047035T2 (pt)
MX (1) MX351255B (pt)
WO (1) WO2015057706A1 (pt)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180112099A (ko) * 2012-07-09 2018-10-11 브이아이디 스케일, 인크. 멀티 레이어 비디오 코딩용 코덱 아키텍처
US9648326B2 (en) 2013-07-02 2017-05-09 Qualcomm Incorporated Optimizations on inter-layer prediction signalling for multi-layer video coding
KR102294092B1 (ko) * 2014-01-02 2021-08-27 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치
WO2015147426A1 (ko) * 2014-03-24 2015-10-01 주식회사 케이티 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치
JP6578685B2 (ja) * 2015-03-16 2019-09-25 富士通株式会社 関係推定方法、関係推定プログラムおよび情報処理装置
CN116320402A (zh) 2018-04-04 2023-06-23 日本放送协会 预测图像校正装置、图像编码装置、图像解码装置以及程序
CN110868594B (zh) 2018-08-28 2023-04-07 北京字节跳动网络技术有限公司 分割方法的冗余移除
BR112021023866A8 (pt) * 2019-05-30 2022-06-21 Huawei Tech Co Ltd Codificador, decodificador e métodos correspondentes
EP4140140A4 (en) * 2020-05-21 2023-07-05 ByteDance Inc. PROGRESSIVE DECODING REFRESH SIGNALING AND REFERENCE PICTURE LISTS

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366918B1 (ko) 2005-10-12 2014-02-24 톰슨 라이센싱 스케일러블 비디오 인코딩 및 디코딩에서의 가중 예측을위한 방법 및 장치
US20120050475A1 (en) * 2009-05-01 2012-03-01 Dong Tian Reference picture lists for 3dv
CN102088605B (zh) * 2011-02-23 2012-12-05 浙江大学 可伸缩视频编码快速层间预测选择方法
US8693793B2 (en) 2012-01-19 2014-04-08 Sharp Laboratories Of America, Inc. Reducing reference picture set signal overhead on an electronic device
KR101652928B1 (ko) 2012-01-31 2016-09-01 브이아이디 스케일, 인크. 스케일러블 고효율 비디오 코딩(hevc)을 위한 참조 픽처 세트(rps) 시그널링
US10609394B2 (en) 2012-04-24 2020-03-31 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and deriving parameters for coded multi-layer video sequences
US20140140406A1 (en) 2012-11-16 2014-05-22 General Instrument Corporation Devices and methods for processing of non-idr related syntax for high efficiency video coding (hevc)
US10419778B2 (en) 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
KR20140091494A (ko) * 2013-01-10 2014-07-21 삼성전자주식회사 멀티 레이어 비디오의 복호화 방법 및 장치, 멀티 레이어 비디오의 부호화 방법 및 장치
WO2014116047A1 (ko) 2013-01-23 2014-07-31 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN105075269B (zh) * 2013-04-04 2018-07-03 夏普株式会社 图像解码装置、图像编码装置及计算机可读取的记录介质
US9532067B2 (en) * 2013-04-05 2016-12-27 Sharp Kabushiki Kaisha Decoding of inter-layer reference picture set and reference picture list construction
US9807421B2 (en) 2013-04-05 2017-10-31 Sharp Kabushiki Kaisha NAL unit type restrictions
US9351009B2 (en) 2013-04-05 2016-05-24 Sharp Kabushiki Kaisha Marking pictures for inter-layer prediction
US10104374B2 (en) 2013-06-18 2018-10-16 Vid Scale, Inc. Inter-layer parameter set for HEVC extensions
US9648326B2 (en) * 2013-07-02 2017-05-09 Qualcomm Incorporated Optimizations on inter-layer prediction signalling for multi-layer video coding
KR20150026598A (ko) * 2013-09-03 2015-03-11 주식회사 케이티 멀티레이어 구조에서 비디오 파라미터 세트에서 인터레이어 예측 방법 시그날링 최적화 방법
WO2015052942A1 (en) 2013-10-11 2015-04-16 Sharp Kabushiki Kaisha Signaling information for coding

Also Published As

Publication number Publication date
US20150103904A1 (en) 2015-04-16
WO2015057706A1 (en) 2015-04-23
MX351255B (es) 2017-10-06
BR112016008229A2 (pt) 2017-08-01
ES2754056T3 (es) 2020-04-15
US9681145B2 (en) 2017-06-13
JP2016537931A (ja) 2016-12-01
MX2016004626A (es) 2016-08-01
CN105612751B (zh) 2018-10-12
CN105612751A (zh) 2016-05-25
EP3058746B1 (en) 2019-08-07
KR101870546B1 (ko) 2018-06-22
HUE047035T2 (hu) 2020-04-28
KR20160070808A (ko) 2016-06-20
EP3058746A1 (en) 2016-08-24

Similar Documents

Publication Publication Date Title
KR101787864B1 (ko) 출력 계층 세트에 대한 비디오 데이터 코딩
ES2904510T3 (es) Uso de una imagen actual como una referencia para la codificación de vídeo
BR112016008229B1 (pt) Sistemas e métodos para derivação rps intercamada com base em dependência de previsão de referência de subcamada
BR112018006408B1 (pt) Predição intra de vídeo melhorada usando combinação de predição dependente de posição para codificação de vídeo
US20150016550A1 (en) Adaptive filtering in video coding
US20150373334A1 (en) Block vector coding for intra block copying
BR112014010046B1 (pt) Método para decodificar dados de vídeo, método e dispositivo para codificar dados de vídeo e memória legível por computador
BR112014017706B1 (pt) Sinalização de parâmetros de filtro de desbloqueio em codificação de vídeo
BR112019019423A2 (pt) propagação de modo de intrapredição
BR112015016256B1 (pt) Sinalização de contagem de ordem de imagens para relações de informação de temporização para temporização de vídeo em codificação de vídeo
BR112016000863B1 (pt) Previsão residual de componente intercor
BR112014018445B1 (pt) Método de codificação de vídeo e armazenamento de conteúdo de vídeo
BR112014011060B1 (pt) Número de redução de contextos para codificação aritmética binária adaptativa de contexto
BR112015006839B1 (pt) Sinalizando identificadores de camada para pontos de operação em codificação de vídeo
ES2842082T3 (es) Indicación de alineación de tipos de imágenes entre capas en la codificación de vídeo multicapa
US20150098504A1 (en) Block vector coding for intra block copying
BR112015025639B1 (pt) Alinhamento poc de camada cruzada para fluxos de bits de várias camadas que podem incluir imagens irap não alinhadas
BR112020011099A2 (pt) intra-predição com pixels vizinhos distantes
KR20170126889A (ko) 저 복잡도 샘플 적응 오프셋 (sao) 코딩
ES2749747T3 (es) Sistemas y procedimientos para definir por separado las dependencias para la predicción entre capas basada en subcapas
BR112021000318A2 (pt) Particionamento de bloco de fronteira em codificação de vídeo
BR112015025643B1 (pt) Codificação de dados de vídeo para um conjunto de camada de saída
BR112016021138B1 (pt) Codificação de nível de coeficiente em um processo de codificação de vídeo
BR112014024749B1 (pt) Método e aparelho para processar dados de vídeo e mídia de armazenamento não transitória legível por computador
BR112015021727B1 (pt) Processamento paralelo para codificação de vídeo

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
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 14/10/2014, OBSERVADAS AS CONDICOES LEGAIS