BR112014018856B1 - Método para a codificação de conteúdo de vídeo tridimensional, aparelho para codificação de conteúdo de vídeo tridimensional, meio legível por computador, método para decodificar conteúdo de vídeo tridimensional codificado, aparelho para decodificar conteúdo de vídeo tridimensional codificado - Google Patents

Método para a codificação de conteúdo de vídeo tridimensional, aparelho para codificação de conteúdo de vídeo tridimensional, meio legível por computador, método para decodificar conteúdo de vídeo tridimensional codificado, aparelho para decodificar conteúdo de vídeo tridimensional codificado Download PDF

Info

Publication number
BR112014018856B1
BR112014018856B1 BR112014018856-4A BR112014018856A BR112014018856B1 BR 112014018856 B1 BR112014018856 B1 BR 112014018856B1 BR 112014018856 A BR112014018856 A BR 112014018856A BR 112014018856 B1 BR112014018856 B1 BR 112014018856B1
Authority
BR
Brazil
Prior art keywords
slice
syntax elements
group
slices
syntax
Prior art date
Application number
BR112014018856-4A
Other languages
English (en)
Other versions
BR112014018856A2 (pt
BR112014018856A8 (pt
Inventor
Miska Matias Hannuksela
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of BR112014018856A2 publication Critical patent/BR112014018856A2/pt
Publication of BR112014018856A8 publication Critical patent/BR112014018856A8/pt
Publication of BR112014018856B1 publication Critical patent/BR112014018856B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

MÉTODO E APARELHO PARA CODIFICAÇÃO DE VÍDEO. É fornecido um método e aparelhos de previsão de cabeçalho fatia para codificação e decodificação de vídeo 3D. Em algumas concretizações de exemplo as seguintes características podem ser obtidas pelo método de previsão de cabeçalho. Qualquer ordem de decodificação de componentes de vista de textura e profundidade pode ser suportada. Também predição flexível de elementos de sintaxe de qualquer cabeçalho de fatia aparecendo mais cedo na ordem de decodificação dentro da mesma unidade de acesso é permitida. A previsão pode ser ligada ou desligada com base na componente de vista. Os elementos de sintaxe do cabeçalho de fatia podem ser categorizados em alguns conjuntos e o uso de previsão, bem como a fonte de predição para cada conjunto pode ser controlada individualmente. Por exemplo, o uso de algumas concretizações do método de todos os elementos de sintaxe do cabeçalho de fatia pode ser previsto.

Description

CAMPO TÉCNICO
[001] O presente pedido refere-se genericamente a um aparelho, um método e um programa de computador para a codificação e decodificação de vídeo.
ANTECEDENTES
[002] Esta seção se destina a fornecer antecedentes ou contexto à invenção que é recitada nas reivindicações. A descrição aqui pode incluir conceitos que possam ser desenvolvidos, mas não são os que foram anteriormente concebidos ou prosseguidos necessariamente. Portanto, a menos que seja indicado de outra forma aqui, o que é descrito nesta seção não é técnica anterior da descrição e reivindicações deste pedido e não é admitido para ser técnica anterior pela inclusão nesta seção.
[003] Várias tecnologias para fornecer conteúdo de vídeo tridimensional (3D) são atualmente utilizadas e desenvolvidas. Especialmente, intensos estudos têm sido focados em várias aplicações multivistas em que um espectador é capaz de ver apenas um par de vídeo estéreo a partir de um ponto de vista específico e outro par de vídeo estéreo a partir de um ponto de vista diferente. Uma das abordagens mais viáveis para tais aplicações multivistas acabou por ser tal que apenas um número limitado de pontos de vista de entrada, por exemplo, um vídeo mono ou um vídeo estéreo e alguns dados complementares, é fornecido para um lado decodificador e todas as vistas necessárias sejam, então, fornecidas (isto é sintetizadas) localmente pelo decodificador para ser exibido em um visor.
[004] Várias tecnologias para a renderização de vista estão disponíveis, e, por exemplo, a renderização com base na profundidade das imagens (DIBR) tem se mostrado uma alternativa competitiva. Uma implementação típica de DIBR leva vídeo estereoscópico e informações de profundidade correspondente com base estereoscópica como entrada e sintetiza uma série de pontos de vista virtuais entre as duas vistas de entrada. Assim, os algoritmos DIBR também pode permitir a extrapolação de pontos de vista que estão fora dos dois pontos de vista de entrada e não entre eles. Da mesma forma, algoritmos de DIBR podem permitir a síntese de vista a partir de uma vista única de textura e respectiva vista de profundidade.
[005] Alguns padrões de codificação de vídeo apresentam cabeçalhos em camada fatia e abaixo, e um conceito de um conjunto de parâmetros em camadas acima da camada de fatia. Uma instância de um conjunto de parâmetros pode incluir tudo imagem, grupo de imagens (GOP), e os dados de nível de sequência, tais como tamanho da imagem, janela de exibição, modos de codificação opcionais empregados, mapa de alocação de macrobloco, e outros. Cada instância de conjunto de parâmetros pode incluir um identificador exclusivo. Cada cabeçalho de fatia pode incluir uma referência a um identificador do conjunto de parâmetros e os valores dos parâmetros do conjunto de parâmetros a que se refere podem ser utilizados quando a decodificação da fatia. Os conjuntos de parâmetros dissociam a ordem de transmissão e decodificação de imagem raramente alterada, GOP, e os dados de nível de sequência da sequência, GOP, e os limites da imagem. Os conjuntos de parâmetros podem ser transmitidos para fora-de-banda utilizando um protocolo de transmissão confiável, enquanto eles são decodificados antes de serem referidos. Se os conjuntos de parâmetros são transmitidos em banda, que pode ser repetido várias vezes para melhorar a resistência a erros em comparação com esquemas de codificação de vídeo convencionais. Os conjuntos de parâmetros podem ser transmitidos em um tempo de configuração da sessão. No entanto, em alguns sistemas, principalmente em transmitidos, transmissão fora de banda confiável de conjuntos de parâmetros pode não ser viável, mas sim conjuntos de parâmetros são transmitidos em banda em unidades de NAL de conjunto de parâmetros.
SUMÁRIO
[006] De acordo com alguns exemplos de concretizações da presente invenção, é proporcionado um método de predição de cabeçalho de fatia e aparelhos de codificação e decodificação de vídeo 3D. Em algumas concretizações de exemplo, as seguintes características podem ser obtidas pelo método de predição de cabeçalho. Qualquer ordem de decodificação de textura e profundidade dos componentes de vista pode ser suportada. Também predição flexível de elementos de sintaxe de qualquer cabeçalho de fatia que aparece mais cedo, na ordem de decodificação dentro da mesma unidade de acesso é permitida. A predição pode ser ligada ou desligada com base no componente de vista. Os elementos de sintaxe do cabeçalho de fatia podem ser categorizados em alguns conjuntos e o uso de predição, bem como a fonte de predição para cada conjunto pode ser controlada individualmente. O uso de algumas concretizações de exemplo do método de todos os elementos de sintaxe do cabeçalho de fatia pode ser predito.
[007] Em algumas concretizações de exemplo, a ferramenta de predição de cabeçalho de fatia pode ser resumida como a seguir. Elementos de sintaxe de cabeçalhos fatia são agrupados em conjuntos de parâmetros de grupo de fatias (GOS). Conjuntos de parâmetros de GOS podem ser válidos no máximo para uma unidade de acesso. Conjuntos de parâmetros de GOS especificados para uma unidade de acesso podem ser feitos. O cabeçalho de fatia do componente de vista de textura da vista de base constitui implicitamente conjunto de parâmetros de GOS. Conjuntos de parâmetros de GOS podem ser incluídos na linha de fluxo de bits.
[008] Em algumas concretizações de exemplo, o conjunto de parâmetros de GOS contém três tipos de elementos de sintaxe ou estruturas. O conjunto de parâmetros de GOS pode conter estruturas de sintaxe que podem ser copiadas de um conjunto de parâmetros de GOS identificado. Estas estruturas de sintaxe incluem modificação lista de imagens de referência, tabela de peso de predição, e marcação de imagem de referência decodificada. O conjunto de parâmetros de GOS também pode conter estruturas de sintaxe que permanecem inalteradas durante todo um componente de vista. O conjunto de parâmetros de GOS pode opcionalmente conter estruturas de sintaxe que permanecem inalteradas para toda a unidade de acesso.
[009] Um conjunto de parâmetros de GOS pode herdar estruturas de sintaxe de mais de um outro conjunto de parâmetros de GOS. Por exemplo, modificação de lista de referência pode ser herdada de um conjunto de parâmetros de GOS, enquanto a marcação da imagem de referência decodificada pode ser herdada de um outro conjunto de parâmetros de GOS.
[010] Os conjuntos de parâmetros de GOS podem ser repetidos. Se eles forem repetidos para cada fatia, a mesma robustez de erro como tendo um cabeçalho de fatia completo pode ser obtida.
[011] Vários aspectos de exemplos da invenção são definidos nas reivindicações.
[012] De acordo com um primeiro aspecto da presente invenção, proporciona-se um método que compreende: codificar a imagem não comprimida em uma imagem codificada que compreende uma fatia, a codificação compreendendo:
[013] classificar elementos de sintaxe para a fatia em um primeiro conjunto e um segundo conjunto;
[014] determinar os valores dos elementos de sintaxe para o primeiro conjunto e o segundo conjunto;
[015] codificar o primeiro conjunto seletivamente em um primeiro grupo de conjunto de parâmetro de fatias ou um cabeçalho de fatia, em que a referida codificação compreende um dos seguintes:
[016] proporcionar uma indicação de uma inclusão do respectivo primeiro conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[017] codificar os valores de elementos de sintaxe do primeiro conjunto; ou
[018] omitir ambas acima; e
[019] codificar o segundo conjunto seletivamente em um segundo conjunto de parâmetros do grupo de fatias ou o cabeçalho de fatia, em que a referida codificação compreende um dos seguintes:
[020] proporcionar uma indicação de uma inclusão do respectivo segundo conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[021] codificar os valores de elementos de sintaxe do segundo conjunto; ou
[022] omitir ambas as opções acima.
[023] De acordo com um segundo aspecto da presente invenção, proporciona-se um aparelho que compreende, pelo menos, um processador e, pelo menos, uma memória, incluindo código de programa de computador, a pelo menos uma memória e o código de programa de computador configurados para, com o pelo menos um processado fazer com que o aparelho:
[024] classifique os elementos de sintaxe para uma fatia de uma imagem codificada que compreende em um primeiro conjunto e um segundo conjunto;
[025] determine os valores dos elementos de sintaxe para o primeiro conjunto e o segundo conjunto;
[026] codifique o primeiro conjunto seletivamente em um primeiro grupo de conjunto de parâmetro de fatias ou um cabeçalho de fatia que compreende um dos seguintes:
[027] proporcionar uma indicação de uma inclusão do respectivo primeiro conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[028] codificar os valores de elementos de sintaxe do primeiro conjunto; ou
[029] omitir ambas acima; e
[030] codificar o segundo conjunto seletivamente em um segundo grupo de conjunto de parâmetro de fatias ou cabeçalho da fatia que compreende um dos seguintes:
[031] proporcionar uma indicação de uma inclusão do respectivo segundo conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[032] codificar os valores de elementos de sintaxe do segundo conjunto; ou
[033] omitir ambas as opções acima.
[034] De acordo com um terceiro aspecto da presente invenção, é proporcionado um produto de programa de computador, incluindo uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que um aparelho execute, pelo menos, o seguinte:
[035] classificar os elementos de sintaxe para uma fatia de uma imagem codificada que compreende em um primeiro conjunto e um segundo conjunto;
[036] determinar os valores dos elementos de sintaxe para o primeiro conjunto e o segundo conjunto;
[037] codificar o primeiro conjunto seletivamente em um primeiro grupo de conjunto de parâmetro de fatias ou um cabeçalho de fatia que compreende um dos seguintes:
[038] proporcionar uma indicação de uma inclusão do respectivo primeiro conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[039] codificar os valores de elementos de sintaxe do primeiro conjunto; ou
[040] omitir ambas acima; e
[041] codificar o segundo conjunto seletivamente em um segundo grupo de conjunto de parâmetro de fatias ou cabeçalho da fatia que compreende um dos seguintes:
[042] proporcionar uma indicação de uma inclusão do respectivo segundo conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[043] codificar os valores de elementos de sintaxe do segundo conjunto; ou
[044] omitir ambas as opções acima.
[045] De acordo com um quarto aspecto da presente invenção, proporciona-se um aparelho que compreende:
[046] meios para a classificação de elementos de sintaxe de uma fatia de uma imagem codificada que compreende em um primeiro conjunto e um segundo conjunto;
[047] meios para determinar os valores dos elementos de sintaxe para o primeiro conjunto e o segundo conjunto;
[048] meios para codificar o primeiro conjunto seletivamente em um primeiro grupo de conjunto de parâmetro de fatias ou um cabeçalho de fatia que compreende um dos seguintes:
[049] proporcionar uma indicação de uma inclusão do respectivo primeiro conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[050] codificar os valores de elementos de sintaxe do primeiro conjunto; ou
[051] omitir ambos acima; e
[052] meios para codificar o segundo conjunto seletivamente em um segundo grupo de conjunto de parâmetro de fatias ou cabeçalho da fatia que compreende um dos seguintes:
[053] proporcionar uma indicação de uma inclusão do respectivo segundo conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[054] codificar os valores de elementos de sintaxe do segundo conjunto; ou
[055] omitir ambas as opções acima.
[056] De acordo com um quinto aspecto da presente invenção, proporciona-se um método que compreende:
[057] decodificar uma fatia codificada de uma imagem codificada, que compreende a decodificação:
[058] identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizado para decodificar a fatia a ser codificada de um cabeçalho de fatia ou um grupo de conjunto de parâmetro de fatias,
[059] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[060] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; e
[061] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; e
[062] decodificar a fatia codificada utilizando o primeiro conjunto decodificado e o segundo conjunto de elementos de sintaxe.
[063] De acordo com um sexto aspecto da presente invenção, proporciona-se um aparelho que compreende, pelo menos, um processador e, pelo menos, uma memória, incluindo o código de programa de computador, a pelo menos uma memória e o código de programa de computador configurados para, com o pelo menos um processado fazer com que o aparelho:
[064] decodifique uma fatia codificada de uma imagem codificada pela:
[065] identificação de uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou um grupo de conjunto de parâmetro de fatias,
[066] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para ser utilizado para decodificar a fatia codificada, que compreende:
[067] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; e
[068] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; e
[069] decodificar a fatia codificada utilizando o primeiro conjunto decodificado e o segundo conjunto de elementos de sintaxe.
[070] De acordo com um sétimo aspecto da presente invenção, é proporcionado um produto de programa de computador, incluindo uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que um aparelho execute, pelo menos, o seguinte:
[071] decodificar uma fatia codificada de uma imagem codificada pela:
[072] identificação de uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizado para decodificar a fatia a ser codificada de um cabeçalho de fatia ou um grupo de conjunto de parâmetro de fatias,
[073] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para ser utilizado para decodificar a fatia codificada, que compreende:
[074] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias,
[075] decodificar um respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; e
[076] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias,
[077] decodificar um respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; e
[078] decodificar a fatia codificada utilizando o primeiro conjunto decodificado e o segundo conjunto de elementos de sintaxe.
[079] De acordo com um oitavo aspecto da presente invenção, proporciona-se um método que compreende:
[080] decodificar uma fatia codificada de uma imagem codificada, a decodificação compreendendo:
[081] identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[082] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[083] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar um respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; ou, se a primeira indicação não é indicativa de um terceiro grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do primeiro conjunto; e
[084] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar um respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; ou se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do segundo conjunto; e
[085] decodificar a fatia codificada utilizando o primeiro conjunto de elementos de sintaxe decodificado e o segundo conjunto de elementos de sintaxe.
[086] De acordo com um nono aspecto da presente invenção, proporciona-se um aparelho que compreende, pelo menos, um processador e, pelo menos, uma memória, incluindo o código de programa de computador, a pelo menos uma memória e o código de programa de computador configurados para, com o pelo menos um processado fazer com que o aparelho:
[087] decodifique uma fatia codificada de uma imagem codificada pela:
[088] identificação de uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[089] decodificação do primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[090] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar um respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; ou, se a primeira indicação não é indicativa do terceiro conjunto de parâmetros do grupo de cortes, decodificar os elementos de sintaxe do primeiro conjunto; e
[091] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; ou se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetros de fatias, decodificar os elementos de sintaxe do segundo conjunto; e
[092] decodificar a fatia codificada utilizando o primeiro conjunto de elementos de sintaxe decodificado e o segundo conjunto de elementos de sintaxe.
[093] De acordo com um décimo aspecto da presente invenção, é proporcionado um produto de programa de computador, incluindo uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que um aparelho execute, pelo menos, o seguinte:
[094] decodificar uma fatia codificada de uma imagem codificada por:
[095] identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para serem utilizadas para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[096] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[097] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; ou, se a primeira indicação não é indicativa de um terceiro grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do primeiro conjunto; e
[098] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; ou se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do segundo conjunto; e
[099] decodificar a fatia codificada utilizando o primeiro conjunto de elementos de sintaxe decodificado e o segundo conjunto de elementos de sintaxe.
[0100] De acordo com um décimo primeiro aspecto da presente invenção, proporciona-se um aparelho que compreende:
[0101] meios para decodificar uma fatia codificada de uma imagem codificada, que compreende a decodificação:
[0102] meios para identificação de uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[0103] meios para decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[0104] meios para decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e, como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe a partir do terceiro grupo de conjunto de parâmetro de fatias; ou, se a primeira indicação não é indicativa de um terceiro grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do primeiro conjunto; e
[0105] meios para decodificar uma segunda indicação de uma inclusão do respectivo segundo conjunto a partir de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; ou se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do segundo conjunto; e
[0106] meios para decodificar a fatia codificada utilizando o primeiro conjunto de elementos de sintaxe decodificado e o segundo conjunto de elementos de sintaxe.
BREVE DESCRIÇÃO DOS DESENHOS
[0107] Para uma compreensão mais completa de concretizações de exemplos da presente invenção, é feita agora referência à seguinte descrição feita em ligação com os desenhos anexos, em que:
[0108] A Figura 1 mostra um diagrama de blocos de um sistema de codificação de vídeo de acordo com uma concretização de exemplo;
[0109] A Figura 2 mostra um aparelho para codificação de vídeo de acordo com uma concretização de exemplo;
[0110] A Figura 3 mostra um dispositivo para codificação de vídeo que compreende uma pluralidade de aparelhos, redes e elementos de rede de acordo com uma concretização de exemplo; e
[0111] As Figuras 4a, 4b mostram diagramas de blocos para a codificação e decodificação de vídeo de acordo com uma concretização de exemplo;
[0112] A Figura 5 mostra um modelo simplificado de um sistema de 3DV com base em DIBR;
[0113] A Figura 6 mostra um modelo 2D simplificado de uma configuração de uma câmera estereoscópica;
[0114] A Figura 7 mostra um exemplo de definição e ordem de codificação de unidades de acesso;
[0115] A Figura 8 mostra um diagrama de fluxo de alto nível de uma concretização de um codificador capaz de codificar vistas de textura e vistas de profundidade;
[0116] A Figura 9 mostra um diagrama de fluxo de alto nível de uma concretização de um decodificador capaz de decodificar vistas de textura e vistas de profundidade;
[0117] A Figura 10 ilustra de uma forma simplificada de uma estrutura de uma unidade de acesso de acordo com uma concretização de exemplo;
[0118] A Figura 11 ilustra um exemplo de um componente de imagem, incluindo uma unidade de NAL de delimitador de componente de imagem e duas unidades NAL de fatia codificada; e
[0119] A Figura 12 ilustra um exemplo de predição inter-CPD de estruturas de parâmetros de fatia.
DESCRIÇÃO DETALHADA DE ALGUMAS CONCRETIZAÇÕES DE EXEMPLO
[0120] Na descrição a seguir, várias concretizações da invenção serão descritas no contexto de uma disposição de codificação de vídeo. Deve ser notado que, contudo, a invenção não está limitada a esta disposição particular. Na verdade, as diferentes concretizações têm aplicações amplamente em qualquer ambiente onde é necessária melhoria da manipulação de imagem de referência. Por exemplo, a invenção pode ser aplicada a sistemas de codificação de vídeo, como os sistemas de transmissão, leitores de DVD, receptores de televisão digital, gravadores de vídeo pessoais, sistemas e programas de computador em computadores pessoais, computadores portáteis e dispositivos de comunicação, bem como elementos de rede, tais como transcoders e arranjos de computação em nuvem, onde os dados de vídeo são tratados.
[0121] O padrão H.264 / AVC foi desenvolvido pela Joint Video Team (JVT) do Video Coding Experts Group (VCEG) do Setor de Normalização das Telecomunicações da International Telecommunication Union (ITU-T) e Moving Picture Experts Group (MPEG) da Organização Internacional de Normalização (ISO) / International Electrotechnical Commission (IEC). O Padrão H.264 / AVC é publicado por duas organizações de normalização principais, e são referidos como Recomendação ITU-T H.264 e ISO / IEC International Standard 14496-10, também conhecido como MPEG-4 Part 10 Advanced Video Coding (AVC). Houve várias versões do padrão H.264 / AVC, cada uma integrando novas extensões ou recursos com a especificação. Estas extensões incluem codificação de vídeo escalonável (Scalable Video Coding (SVC)) e codificação de vídio multivista (Multivista Video Coding (MVC)).
[0122] Existe um projeto em andamento de padronização de codificação de vídeo de alta eficiência (HEVC) pela Equipe Conjunta colaborativa - Video Coding (JCT- VC) de VCEG e MPEG.
[0123] Algumas definições importantes, fluxo de bits e estruturas de codificação e conceitos de H.264 / AVC e HEVC são descritas nesta seção como um exemplo de um codificador de vídeo, um decodificador, método de codificação, método de decodificação, e uma estrutura de fluxo de bits, em que as concretizações podem ser implementadas. Algumas das principais definições, fluxo de bits e estruturas de codificação, e os conceitos de H.264 / AVC são os mesmos que no projeto de trabalho atual do HEVC - portanto, eles são descritos a seguir em conjunto. Os aspectos da invenção não estão limitados a H.264 / AVC ou HEVC, mas a descrição é dada para uma base possível no topo dos quais a invenção pode ser parcial ou completamente realizada.
[0124] Da mesma forma que muitos padrões de codificação de vídeo anteriores, a sintaxe e a semântica do fluxo de bits, bem como o processo de decodificação de fluxos de bits sem erros são especificados em H.264 / AVC e HEVC. O processo de codificação não é especificado, mas codificadores devem gerar fluxos de bits conformes. O fluxo de bits e o decodificador de conformidade podem ser verificados com o decodificador de referência hipotético (DRH). Os padrões de codificação contêm ferramentas que ajudam a lidar com erros e perdas de transmissão, mas o uso das ferramentas de codificação é opcional e nenhum processo de decodificação foi especificado para fluxos de bits errados.
[0125] A unidade elementar para a entrada de um H.264 / AVC ou HEVC codificador e a saída de um AVC ou HEVC / decodificador H.264, respectivamente, é uma imagem. Em H.264 / AVC, uma imagem pode ser um quadro ou um campo. No projeto de trabalho atual do HEVC, uma imagem é um quadro. A estrutura compreende uma matriz de amostras de luminância e amostras de crominância correspondentes. Um campo é um conjunto de linhas de amostra alternadas de um quadro e pode ser utilizada como entrada do codificador, quando o sinal da fonte é entrelaçado. As imagens Croma podem ser subamostradas quando comparadas com as imagens Luma. Por exemplo, no padrão de amostragem 4: 2: 0, a resolução espacial de imagens croma é a metade da imagem luma ao longo dos dois eixos coordenados.
[0126] Em H.264 / AVC, um macrobloco é um bloco de 16x16 de amostras luma e os blocos correspondentes de amostras de croma. Por exemplo, no padrão de amostragem 4: 2: 0, um macrobloco contém um bloco de amostras de 8x8 croma por cada componente de crominância. Em H.264 / AVC, uma imagem é particionada com um ou mais grupos de fatia, e um grupo de fatia contém uma ou mais fatias. Em H.264 / AVC, uma fatia é composta por um número inteiro de macroblocos ordenados consecutivamente na varredura raster dentro de um grupo de fatia particular.
[0127] Em um projeto do padrão HEVC, imagens de vídeo são divididas em unidades de codificação (CU) que cobrem a área da imagem. A CU é constituída por uma ou mais unidades de predição (PU), que definem o processo de predição para as amostras no interior da CU e uma ou mais unidades de transformação (TU) que definem o processo de codificação de erro de predição para as amostras na CU. Tipicamente, uma CU constituída por um bloco de amostras de quadrado com um tamanho a partir de um conjunto de seleção predefinida de possíveis tamanhos CU. A CU com o tamanho máximo permitido é normalmente nomeada como LCU (maior unidade de codificação) e a imagem de vídeo é dividida em LCUs sem sobreposição. Uma LCU pode ser ainda dividida em uma combinação de menor UCs, por exemplo, de forma recursiva a divisão da LCU e UCs resultante. Cada CU resultante tem, tipicamente, pelo menos, uma PU e, pelo menos, uma TU associada a ela. Cada PU e TU pode ainda ser dividida em pequenas PU e TU, a fim de aumentar a granularidade da predição e dos processos de predição do erro de codificação, respectivamente. A divisão de PU pode ser realizada através da divisão do CU em quatro igual tamanho UP quadrados ou dividir o CU em duas PUs de retângulo vertical ou horizontalmente, de forma simétrica ou assimétrica. A divisão da imagem nas CUs, e a divisão de CUs em PU e TU é tipicamente assinalada no fluxo de bits, permitindo ao decodificador reproduzir a estrutura pretendida destas unidades.
[0128] Em um projeto do padrão HEVC, uma imagem pode ser particionada em azulejos, que são retangulares e contêm um número inteiro de LCUs. No projeto de trabalho atual do HEVC, o particionamento dos azulejos forma uma malha regular, onde alturas e larguras dos azulejos diferem entre si por uma LCU no máximo. Em um rascunho HEVC, uma fatia consiste em um número inteiro de UCs. O UCs são digitalizados no raster ordem de digitalização de LCUs dentro dos azulejos ou dentro de uma imagem, se os azulejos não estiverem em uso. Dentro de uma LCU, o UCs têm uma ordem de verificação específica.
[0129] Em um Projeto de Trabalho (WD) 5 de HEVC, algumas definições e conceitos fundamentais para o particionamento de imagem são definidos da seguinte forma. A compartimentação é definido como a divisão de um conjunto em subconjuntos de tal modo que cada elemento do conjunto é exatamente um dos subconjuntos.
[0130] A unidade básica de codificação em um HEVC WD5 é um treeblock. Um treeblock é um bloco NxN de amostras luma e dois blocos correspondentes de amostras de croma de uma imagem que tem três conjuntos de amostras, ou um bloco NxN de amostras de uma imagem monocromática ou uma imagem que é codificada com três planos de cores distintas. O treeblock pode ser particionado para diferentes processos de codificação e decodificação. Uma partição de treeblock é um bloco de amostras de luma e dois blocos correspondentes de amostras de croma resultantes de uma partição de um treeblock para uma imagem que tem três matrizes de amostra ou um bloco de amostras luma resultante de uma partição de um treeblock para uma imagem monocromática ou uma imagem que é codificada de acordo com três planos de cores distintas. Cada treeblock é atribuída a uma partição de sinalização para identificar o tamanho dos blocos para a intra-predição ou inter e para transformação a codificação. O particionamento é um particionamento de quadtree recursivo. A raiz da quadtree está associada com a treeblock. A quadtree é dividida até que uma folha é atingida, o que é referido como o nó de codificação. O nó de codificação é o nó da raiz de duas árvores, a árvore de predição e a árvore de transformação. A árvore de predição especifica a posição e tamanho dos blocos de predição. A árvore de predição e dados de predição associada são referidas como uma unidade de predição. A árvore de transformação especifica a posição e o tamanho de blocos de transformação. A árvore de transformação e os dados de transformação associados são referidos como uma unidade de transformação. A informação de divisão de luminância e crominância é idêntica para a predição da árvore e podem ou não ser idênticas para a árvore de transformação. O nó de codificação e a predição associada e as unidades de transformação formam, em conjunto, uma unidade de codificação.
[0131] Em um HEVC WD5, as imagens são divididas em fatias e azulejos. Uma fatia pode ser uma sequência de treeblocks mas (quando se refere a uma assim chamada fatia granular fina) também pode ter o seu limite dentro de um treeblock em um local em que uma unidade de transformação e a unidade de predição coincidem. Treeblocks dentro de uma fatia são codificados e decodificados em uma ordem de varredura raster. Para o quadro principal codificado, a divisão de cada imagem em fatias é um particionamento.
[0132] Em uma HEVC WD5, um azulejo é definido como um número inteiro de treeblocks co-ocorrendo em uma coluna e uma fileira, ordenada consecutivamente na pesquisa de rastreio dentro do azulejo. Para o quadro principal codificado, a divisão de cada imagem em azulejos é um particionamento. Os azulejos são ordenados consecutivamente na varredura raster dentro da imagem. Apesar de uma fatia conter treeblocks que sejam consecutivos na varredura raster dentro de um azulejo, estes treeblocks não são necessariamente consecutivos na varredura raster dentro da imagem. Fatias e azulejos não precisam conter a mesma sequência de treeblocks. O azulejo pode compreender treeblocks contidos em mais de uma fatia. Da mesma forma, uma fatia pode compreender treeblocks contidos em vários azulejos.
[0133] Em H.264 / AVC e HEVC, a predição em imagem pode ser desativada nos limites das fatias. Deste modo, as fatias podem ser consideradas como uma forma de dividir uma imagem codificadas em pedaços de forma independente decodificáveis, e as fatias são, portanto, muitas vezes, consideradas como unidades elementares para transmissão. Em muitos casos, os codificadores podem indicar no fluxo de bits que tipos de predição em imagem estão desligados nos limites das fatias, e a operação do decodificador leva em conta essa informação, por exemplo, quando da conclusão de quais fontes de predição estão disponíveis. Por exemplo, as amostras a partir de um macrobloco vizinho ou CU podem ser consideradas como não disponível para a intra-predição, se o macrobloco vizinho ou CU reside em uma fatia diferente.
[0134] Um elemento de sintaxe pode ser definido como um elemento de dados representados no fluxo de bits. Uma estrutura de sintaxe pode ser definida como zero ou mais elementos de sintaxe presentes no fluxo de bits juntamente em uma ordem especificada.
[0135] A unidade elementar para a saída de um H.264 / AVC ou codificador HEVC e a entrada de um decodificador AVC ou HEVC / H.264, respectivamente, é uma unidade de camada de abstração de rede (NAL). Para o transporte através de redes orientado por pacotes ou armazenamento em arquivos estruturados, as unidades de NAL podem ser encapsuladas em pacotes ou estruturas similares. Um formato de fluxo de bytes foi especificado em H.264 / AVC e HEVC para ambientes de transmissão ou de armazenamento que não oferecem estruturas de enquadramento. O formato de fluxo de bytes separa unidades de NAL umas das outras por fixação de um código de início, em frente de cada uma das unidades NAL. Para evitar uma falsa detecção de limites de unidades NAL, codificadores executam um algoritmo de prevenção de emulação de código de começo orientado a byte, que adiciona um byte de prevenção de emulação para a carga útil da unidade de NAL se um código de início teria ocorrido de outra forma. A fim de permitir a operação de gateway direto entre os sistemas de pacotes ou orientados a fluxos, a prevenção de emulação de código de início pode ser executada independentemente do formato de fluxo de bytes estar em uso ou não.
[0136] Unidades de NAL consistem de um cabeçalho e de carga útil. Em H.264 / AVC e HEVC, o cabeçalho da unidade de NAL indica o tipo da unidade de NAL e se uma fatia codificada contida na unidade de NAL é uma parte de uma imagem de referência, ou uma imagem sem referência. H.264 / AVC inclui um elemento de sintaxe nal_ref_idc de 2 bits, o qual, quando igual a 0 indica que uma fatia codificada contida na unidade de NAL é uma parte de uma imagem sem referência e, quando maior do que 0 indica que uma fatia codificada contida na unidade de NAL é uma parte de uma imagem de referência. Um projeto de HEVC inclui um elemento de sintaxe ref_nal_idc de 1 bit, também conhecido como nal_ref_flag, que quando igual a 0 indica que uma fatia codificada contida na unidade de NAL é uma parte de uma imagem de referência e não igual a 1 quando indica que uma fatia codificada contida na unidade de NAL é uma parte de uma imagem de referência. O cabeçalho de unidades de SVC e MVC NAL pode ainda conter várias indicações referentes à hierarquia de escalabilidade e multivista. Em HEVC, o cabeçalho da unidade de NAL inclui o elemento de sintaxe temporal_id que especifica um identificador temporal para a unidade de NAL. O fluxo de bits criado excluindo todas as unidades de NAL VCL tendo temporal_ID maior do que ou igual a um valor selecionado e todas as outras unidades de NAL VCL permanecem conformes. Consequentemente, um quadro com temporal_id igual a TID não usa nenhuma imagem tendo temporal_id maior do que TID como referência de predição inter. Em um HEVC de rascunho, a inicialização da lista de imagens de referência é limitada a apenas imagem de referência marcada como "usada para referência" e tendo um temporal_id menor ou igual ao id_temporal da imagem atual.
[0137] As unidades de NAL podem ser categorizadas em unidades de NAL de camada de codificação de Vídeo (VCL) e unidades de NAL não-VCL. As unidades de NAL de VCL são normalmente unidades de NAL de fatias codificadas. Em H.264 / AVC, unidades de NAL de fatia codificada contém elementos de sintaxe que representam um ou mais macroblocos codificados, cada um dos quais corresponde a um bloco de amostras na imagem descompactada. Em HEVC, as unidades de NAL de fatia codificada contêm elementos de sintaxe que representam uma ou mais CU. Em H.264 / AVC e HEVC, uma unidade de NAL de fatia codificada pode ser indicada para ser uma fatia codificado em uma imagem de atualização de decodificação instantânea (IDR) ou fatia codificada em uma imagem não-IDR. Em HEVC, uma unidade de NAL de fatia codificada pode ser indicada como sendo uma fatia de uma imagem codificada em uma imagem de atualização de decodificação limpa (CDR) (que pode também ser referida como uma imagem de Acesso Aleatório limpa).
[0138] A unidade de NAL não-VCL pode ser, por exemplo, um dos seguintes tipos: um conjunto de parâmetros de sequência, um conjunto de parâmetros de imagem, uma unidade de informação de realce suplementar (SEI) NAL, um delimitador de unidade de acesso, um fim de unidade de NAL de sequência, um fim de fluxo de unidade de NAL, ou uma unidade de NAL de dados de enchimento. Podem ser necessários conjuntos de parâmetros para a reconstrução de imagens decodificadas, enquanto muitas das outras unidades de NAL não VCL não são necessárias para a reconstrução de valores da amostra decodificados.
[0139] Parâmetros que permanecem inalterados através de uma sequência de vídeo codificado podem ser incluídos em um conjunto de parâmetros de sequência. Além dos parâmetros que podem ser essenciais para o processo de decodificação, o conjunto de parâmetros de sequência pode conter, opcionalmente, a informação de usabilidade de vídeo (VUI), que inclui parâmetros que podem ser importantes para a memória intermediária, tempo de saída de imagem, processamento, e reserva de recursos. Há três unidades NAL especificados no H.264 / AVC para transportar conjuntos de parâmetros de sequência: a unidade de NAL de conjunto de parâmetro de sequência contendo todos os dados para unidades de NAL H.264 / AVC VCL na sequência, a unidade de NAL de extensão de conjunto de parâmetros de sequência que contém os dados para imagens codificadas auxiliares, e o conjunto de parâmetros de sequência de subconjunto de unidades de NAL MVC e SVC VCL. Um conjunto de parâmetros de imagem contém esses parâmetros que podem manter-se inalterados em várias imagens codificadas.
[0140] Em um HEVC de rascunho, há também um terceiro tipo de conjuntos de parâmetros, aqui referidos como Conjunto de Parâmetros de Adaptação (APS), que inclui parâmetros que possam manter-se inalterados em várias fatias codificadas. Em um HEVC de rascunho, a estrutura de sintaxe do APS inclui parâmetros ou elementos de sintaxe relacionados com a codificação binária aritmética adaptativa baseada em contexto (CABAC), deslocamento de amostra adaptativa, filtragem de circuito adaptativo e filtragem de desbloqueio.Em um HEVC de rascunho, uma APS é uma unidade de NAL e codificada sem referência ou predição de qualquer outra unidade de NAL. Um identificador, referido como elemento de sintaxe ID_aps, está incluído na unidade de APS NAL, e incluído e utilizado no cabeçalho da fatia para se referir a um determinado APS.
[0141] H.264 / AVC e sintaxe HEVC permite muitos exemplos de conjuntos de parâmetros, e cada instância é identificada com um identificador único. Em H.264 / AVC, cada cabeçalho de fatia inclui o identificador da imagem do conjunto de parâmetros que está ativo para a decodificação da imagem que contém a fatia, e cada conjunto de parâmetros de imagem contém o identificador do conjunto de parâmetros de sequência ativo. Consequentemente, a transmissão de imagem e de conjuntos de parâmetros de sequência não tem de ser sincronizada precisamente com a transmissão de fatias. Em vez disso, é suficiente que a sequência ativa e os conjuntos de parâmetros de imagem sejam recebidos em qualquer momento antes de serem referenciados, o que permite a transmissão de conjuntos de parâmetros "fora da banda" usando um mecanismo de transmissão mais confiável em comparação com os protocolos utilizados para a dados de fatia. Por exemplo, conjuntos de parâmetros podem ser incluídos como um parâmetro na descrição da sessão para sessões do protocolo de transporte em tempo real (RTP). Se os conjuntos de parâmetros são transmitidos em banda, que podem ser repetidos para melhorar a robustez do erro.
[0142] A unidade de NAL SEI pode conter uma ou mais mensagens SEI, que não são necessárias para a decodificação de imagens de saída, mas auxiliam em processos relacionados, tais como tempo de saída de imagem, renderização, detecção de erro, ocultação de erro, e reserva de recursos. Várias mensagens SEI são especificadas em H.264 / AVC e HEVC, e as mensagens SEI de dados do usuário permitem que as organizações e empresas especifiquem as mensagens SEI para seu próprio uso. H.264 / AVC e HEVC contêm a sintaxe e a semântica das mensagens SEI especificadas, mas nenhum processo para lidar com as mensagens do destinatário é definido. Consequentemente, os codificadores são obrigados a seguir o padrão H.264 / AVC ou o padrão HEVC quando criam mensagens SEI, e os decodificadores em conformidade com o padrão H.264 / AVC ou o padrão HEVC, respectivamente, não são obrigados a processar as mensagens SEI para conformidade de ordem de saída. Uma das razões para incluir a sintaxe e a semântica de mensagens SEI em H.264 / AVC e HEVC é permitir que diferentes especificações do sistema interpretem as informações complementares de forma idêntica e, portanto, interoperar. Pretende-se que as especificações do sistema possam exigir a utilização de determinadas mensagens SEI tanto na extremidade de codificação e na extremidade de decodificação, e, adicionalmente, o processo para o tratamento de determinadas mensagens SEI no receptor pode ser especificado.
[0143] Uma imagem codificada é uma representação codificada de uma imagem. A imagem codificada em H.264 / AVC compreende as unidades NAL VCL que são necessárias para a decodificação da imagem. Em H.264 / AVC, uma imagem codificada pode ser uma imagem codificada primária ou uma imagem redundante codificada. Uma imagem codificada primária é utilizada no processo de decodificação de fluxos de bits válidos, enquanto que uma imagem codificada redundante é uma representação redundante que só deve ser decodificada quando a imagem primária codificada não pode ser decodificada com sucesso. Em um HEVC de rascunho, nenhuma imagem redundante codificada foi especificada.
[0144] Em H.264 / AVC e HEVC, uma unidade de acesso compreende uma imagem codificada primária e essas unidades de NAL que lhe estão associadas. Em H.264 / AVC, a ordem de aparecimento de unidades NAL dentro de uma unidade de acesso é restrita como a seguir. Um delimitador de unidade de NAL da unidade de acesso opcional pode indicar o início de uma unidade de acesso. Ele é seguido por zero ou mais unidades SEI NAL. As fatias codificadas da imagem principal codificada aparecem em seguida. Em H.264 / AVC, a fatia da imagem codificada primária codificada pode ser seguida por fatias codificadas para zero ou mais imagens codificadas redundantes. A imagem redundante codificada é uma representação codificada de uma imagem ou uma parte de uma imagem. A imagem redundante codificada pode ser decodificada se a imagem primária codificada não é recebida pelo decodificador, por exemplo, devido a uma perda de transmissão ou uma falha no meio de armazenamento físico.
[0145] Em H.264 / AVC, uma unidade de acesso pode também incluir uma imagem codificada auxiliar, que é uma imagem que complementa a imagem primária codificada e pode ser usada, por exemplo, no processo de exibição. Uma imagem codificada auxiliar pode, por exemplo, ser usada como um canal alfa ou plano alfa especificando o nível de transparência das amostras nas imagens decodificadas. Um canal alfa ou plano pode ser usado em uma composição ou sistema de fornecimento de camadas, em que a imagem de saída é formada por sobreposição de imagens, sendo, pelo menos, parcialmente transparente em cima uma das outras. Uma imagem auxiliar codificado tem as mesmas restrições sintáticas e semânticas que uma imagem codificada redundante monocromática. Em H.264 / AVC, uma imagem auxiliar codificada contém o mesmo número de macroblocos que a imagem primária codificada.
[0146] Uma sequência de vídeo codificada é definida para ser uma sequência de unidades de acesso consecutivas na ordem de decodificação a partir de uma unidade de acesso IDR, inclusive, para a próxima unidade de acesso IDR, exclusiva, ou até ao fim da sequência de bits, o que aparecer primeiro.
[0147] Um grupo de imagens (GOP) e as suas características podem ser definidas como a seguir. Um GOP pode ser decodificado independentemente de quaisquer imagens anteriores que foram decodificadas. Um GOP aberto é como um grupo de imagens em que as imagens anteriores à imagem intra inicial na ordem de saída pode não ser corretamente decodificável quando a decodificação começa a partir da imagem intra inicial do GOP aberto. Em outras palavras, as imagens de um GOP aberto pode se referir (em inter predição) às imagens que pertencem a um GOP anterior. Um H.264 / AVC, o decodificador é capaz de reconhecer uma imagem intra iniciando um GOP aberto a partir da mensagem SEI do ponto de recuperação em um H.264 / AVC fluxo de bits. Um decodificador HEVC pode reconhecer um quadro intra iniciando um GOP aberto, porque um tipo de unidade de NAL específica, tipo de unidade CDR NAL, é utilizado pelas suas fatias codificadas. Um GOP fechado é como um grupo de imagens em que todas as imagens podem ser corretamente decodificadas quando a decodificação começa a partir da imagem intra inicial do GOP fechado. Em outras palavras, não há imagem em um GOP fechado refere-se a todas as imagens em GOPs anteriores. Em H.264 / AVC e HEVC, um GOP fechado começa a partir de uma unidade de acesso IDR. Como um resultado, a estrutura do GOP fechado tem mais potencial de resiliência de erro em comparação com a estrutura aberta do GOP, no entanto à custa de uma possível redução na eficiência de compressão. A estrutura de codificação de GOP aberto é potencialmente mais eficiente na compressão, devido a uma maior flexibilidade na seleção de imagens de referência.
[0148] A sintaxe do fluxo de bits de H.264 / AVC e HEVC indica se uma determinada imagem é uma imagem de referência para a inter predição de qualquer outra imagem. Imagens de qualquer tipo de codificação (I, P, B) podem ser imagens de referência ou imagens que não sejam de referência em H.264 / AVC e HEVC. O cabeçalho da unidade de NAL indica o tipo da unidade de NAL e se uma fatia codificada contida na unidade de NAL é uma parte de uma imagem de referência, ou uma imagem sem referência.
[0149] Muitos codecs de vídeo híbridos, incluindo H.264 / AVC e HEVC, codificam informações de vídeo em duas fases. Na primeira fase, valores de pixel ou amostra em uma determinada área de imagem ou "bloco" são preditos. Estes valores de pixel ou amostra podem ser preditos, por exemplo, os mecanismos de compensação de movimento, que envolvem encontrar e indicar uma área em um dos quadros de vídeo previamente codificados que corresponde praticamente ao bloco que está sendo codificado. Além disso, os valores de pixel ou amostra podem ser preditos por mecanismos espaciais que envolvem encontrar e indicar uma relação de região espacial.
[0150] Abordagens de predição utilizando a informação da imagem a partir de uma imagem codificada anteriormente também podem ser chamadas como métodos de predição inter que também pode ser referido como a predição temporal e compensação de movimento. As abordagens de predição utilizando a informação da imagem dentro da mesma imagem também pode ser chamada como métodos de intra- predição.
[0151] A segunda fase é uma codificação de erro entre o bloco de pixels predito ou amostras e bloco original de pixels ou amostras. Isto pode ser conseguido mediante a transformação da diferença em valores de pixel ou de amostras utilizando uma transformação especificada. Esta transformada pode ser uma transformada cosenoidal discreta (DCT) ou uma variante da mesma. Após a transformação da diferença, a diferença transformada é quantificada e entropia codificada.
[0152] Variando a fidelidade do processo de quantização, o codificador pode controlar o equilíbrio entre a precisão da representação de pixel ou amostra (isto é, a qualidade visual da imagem) e o tamanho da representação de vídeo codificado resultante (isto é, o tamanho do arquivo ou taxa de transmissão de bits).
[0153] O decodificador reconstrói o vídeo de saída através da aplicação de um mecanismo de predição semelhante ao utilizado pelo codificador, de modo a formar uma representação predita dos blocos de pixels ou amostra (utilizando a informação de movimento espacial criada pelo codificador e armazenada na representação comprimida da imagem) e a decodificação de erro de predição (a operação inversa da codificação de erro de predição para recuperar o sinal de erro de predição quantificado no domínio espacial).
[0154] Após a aplicação da amostra ou a predição de pixel e de processos de decodificação de erros, o decodificador combina os sinais de erro de predição (pixel ou valores da amostra) para formar o quadro de vídeo de saída e predição.
[0155] O decodificador (e o codificador) também pode aplicar processos de filtragem adicionais, a fim de melhorar a qualidade da saída de vídeo antes de passá-lo para exibição e / ou armazenamento como referência de predição para as próximas imagens na sequência de vídeo.
[0156] Em muitos codecs de vídeo, incluindo H.264 / AVC e HEVC, informações de movimento são indicadas por vetores de movimento associados a cada bloco de imagem em movimento compensado. Cada um destes vetores de movimento representa o deslocamento do bloco de imagem na imagem a ser codificada (no codificador) ou decodificada (no decodificador) e o bloco de fonte de predição de uma das imagens previamente codificadas ou decodificadas (ou imagens). H.264 / AVC e HEVC, como muitos outros padrões de compressão de vídeo, dividir uma imagem em uma malha de retângulos, para cada um dos quais um bloco semelhante em uma das imagens de referência é indicada para a inter predição. A localização do bloco de predição é codificada como um vetor de movimento que indica a posição do bloco de predição em relação ao bloco a ser codificado.
[0157] Processo de predição Inter pode ser caracterizado utilizando um ou mais dos seguintes fatores.
A PRECISÃO DA REPRESENTAÇÃO DO VETOR DE MOVIMENTO
[0158] Por exemplo, os vetores de movimento podem ter uma precisão de quarto de pixel, e valores de amostra em posições fracionárias de um pixel podem ser obtidos usando um filtro de resposta de impulso finito (FIR).
PARTICIONAMENTO DO BLOCO PARA A INTER PREDIÇÃO
[0159] Muitos padrões de codificação, incluindo o H.264 / AVC e HEVC, para permitir a seleção do tamanho e forma do bloco para o qual um vetor de movimento é aplicado para predição com compensação de movimento no codificador, e indicando o formato selecionado e forma no fluxo de bits de modo que os decodificadores podem reproduzir a predição de compensação de movimento feita no codificador.
NÚMERO DE IMAGENS DE REFERÊNCIA PARA INTER PREDIÇÃO
[0160] As fontes de inter predição são imagens previamente decodificadas. Muitos padrões de codificação, incluindo H.264 / AVC e HEVC, permitem o armazenamento de múltiplas imagens de referência para inter predição e seleção do quadro de referência utilizado com base em bloco. Por exemplo, imagens de referência podem ser selecionadas com base em macroblocos ou partição de macroblocos em H.264 / AVC e com base em PU ou CU em HEVC. Muitos padrões de codificação, tais como H.264 / AVC e HEVC, incluem estruturas de sintaxe no fluxo de bits que permitem aos decodificadores criar uma ou mais listas de referência de imagem. Um índice de imagem de referência para uma lista de imagem de referência pode ser utilizado para indicar que uma das múltiplas imagens de referência é usada para a inter predição para um bloco particular. Um índice de imagem de referência pode ser codificado por um codificador no fluxo de bits que estão alguns modos de inter codificação ou podem ser derivados (por um codificador e um decodificador), por exemplo, com o uso de blocos vizinhos em alguns outros meios de inter codificação.
PREDIÇÃO DO VETOR DE MOVIMENTO
[0161] De modo a representar os vetores de movimento de forma eficiente em fluxos de bits, os vetores de movimento podem ser codificados diferencialmente no que diz respeito a um bloco específico do vetor de movimento predito. Em muitos codificadores de vídeo, os vetores de movimento preditos são criados de um modo pré-definido, por exemplo, calculando a média dos vetores de movimento codificados ou decodificados dos blocos adjacentes. Outra maneira de criar as predições do vetor de movimento é gerar uma lista de predições candidatos de blocos adjacentes e / ou blocos co- localizados em imagens de referência temporais e sinalizar o candidato escolhido como o preditor do vetor de movimento. Além de prever os valores dos vetores de movimento, o índice da imagem de referência previamente codificada / decodificada pode ser predito. O índice de referência é normalmente predito a partir de blocos adjacentes e / ou blocos co- localizados na imagem de referência temporal. A codificação diferencial dos vetores de movimento normalmente é desativada nos limites das fatias.
PREDIÇÃO DE MOVIMENTO COMPENSADO MULTI-HIPÓTESES
[0162] H.264 / AVC e HEVC permitem o uso de um único bloco de predição em P fatias (aqui referido como fatias uni-preditivas) ou uma combinação linear de dois blocos de predição com compensação de movimento para fatias bi-preditivas, que também são referidas como fatias B. Blocos individuais em fatias B podem ser bi-preditos, uni-preditos, ou intra-preditos, e blocos individuais em P fatias podem ser uni- preditos ou intra-preditos. As imagens de referência para uma imagem bi-preditiva não podem ser limitadas a ser a imagem posterior e a imagem anterior na ordem de saída, mas sim todas as imagens de referência podem ser usadas. Em muitos padrões de codificação, tais como o H.264 / AVC e HEVC, uma lista de imagem de referência, referida como imagem de referência da lista 0, é construída para P fatias, e duas listas de imagem de referência, lista 0 e lista 1, são construídas para B fatias. Para B fatias, quando a predição em direção à frente pode referir-se à predição de uma imagem de referência na lista da imagem de referência 0, e a predição em direção para trás pode se referir à predição de uma imagem de referência na lista de imagens de referência 1, mesmo que as imagens de referência para a predição possam ter qualquer relação decodificação ou saída para outro ou para o quadro atual.
PREDIÇÃO PONDERADA
[0163] Muitos padrões de codificação usam um peso de predição de 1 para blocos de predição inter (P) e 0,5 para cada bloco de predição de uma imagem B (resultando em média). H.264 / AVC permite a predição ponderada para ambas as fatias P e B. Na predição ponderada implícita, os pesos são proporcionais à contagem da ordem de imagem, enquanto que na predição ponderada explícita, os pesos de predição são explicitamente indicados.
[0164] Em muitos codecs de vídeo, a predição residual após compensação de movimento é primeiro transformada com um kernel de transformação (como DCT) e depois codificada. A razão para isto é que, muitas vezes, ainda existe alguma correlação entre o residual e a transformação em muitos casos pode ajudar a reduzir esta correlação e fornece uma codificação mais eficiente.
[0165] Em um HEVC de rascunho, cada PU tem informações de predição associadas a ela definindo que tipo de predição deve ser aplicada para os pixels dentro dessa PU (por exemplo, informação de vetor de movimento para as Pus Inter preditas e informações de direcionalidade de intra- predição para Pus intra predito). Da mesma forma, cada TU é associado com informações que descrevem o processo de decodificação de erro de predição para as amostras dentro da TU (incluindo por exemplo, informações de coeficiente de DCT). Pode ser assinalada ao nível de CU se a codificação de erro de predição é aplicada ou não para cada CU. No caso, se não há predição de erro residual associada com o CU, pode ser considerado que não há TUs para o CU.
[0166] Em alguns formatos de codificação e codecs, é feita uma distinção entre as chamadas imagens de referência de curto prazo e de longo prazo. Esta distinção pode afetar alguns processos de decodificação, como escala do vetor de movimento no modo direto temporal ou predição ponderada implícita. Se ambas as imagens de referência utilizadas para o modo direto temporal, a curto prazo são imagens de referência, o vetor de movimento utilizado para a predição pode ser dimensionado de acordo com a diferença de contagem de ordem de imagem (POC) entre a imagem atual e cada uma das imagens de referência. No entanto, se, pelo menos, uma imagem de referência para o modo direto temporal, é uma imagem de referência de longo prazo, a escala padrão do vetor de movimento pode ser usado, por exemplo, a escala de movimento para metade pode ser utilizada. Da mesma forma, se uma imagem de referência de curto prazo é utilizada para a predição ponderado implícita, o peso de predição pode ser dimensionado de acordo com a diferença de POC entre o POC da imagem em curso e o POC da imagem de referência. No entanto, se um quadro de referência de longo prazo é usado para a predição ponderada implícita, um peso padrão de predição pode ser utilizado, tal como 0,5 na predição ponderada implícita para blocos bi-preditos.
[0167] Alguns formatos de codificação de vídeo, tais como o H.264 / AVC, incluem o elemento de sintaxe em um quadro, que é usado para decodificar vários processos relacionados com várias imagens de referência. Em H.264 / AVC, o valor de frame_num para imagens IDR é 0. O valor de frame_num para imagens não-IDR é igual ao em um quadro da imagem de referência anterior, a ordem de decodificação incrementada de 1 (em módulo aritmético, ou seja, o valor de frame_num volta a 0 depois de um valor máximo de frame_num).
[0168] H.264 / AVC e HEVC incluem um conceito de contagem de ordem de imagem (POC). Um valor de POC é derivado para cada imagem e é não decrescente com o aumento da posição da imagem, na ordem de saída. POC, por conseguinte, indica a ordem de saída das imagens. POC pode ser usado no processo de decodificação, por exemplo, para o dimensionamento implícito de vetores de movimento em modo direto temporal das fatias bi-preditivas, para pesos implicitamente derivados de predição ponderada, e inicialização de lista de imagens de referência. Além disso, o POC pode ser usado na verificação de conformidade de ordem de saída. Em H.264 / AVC, POC é especificado em relação à imagem de IDR anterior ou uma imagem que contém uma operação de controle de gerenciamento de memória marcando todas as imagens como "sem uso para referência".
[0169] H.264 / AVC especifica o processo para a marcação de imagem de referência decodificada, a fim de controlar o consumo de memória do decodificador. O número máximo de quadros de referência utilizados para a inter predição, referida como M, é determinado no conjunto de parâmetros de sequência. Quando uma imagem de referência é decodificada, ela é marcada como "utilizada como referência". Se a decodificação da imagem de referência causou mais de m imagens marcadas como "utilizada como referência", pelo menos uma imagem é marcada como "sem uso para referência". Existem dois tipos de operação para marcação de imagem de referência decodificada: controle de memória adaptativa e janela de deslizante. O modo de operação para a marcação da imagem de referência decodificada é selecionada com base na imagem. O controle de memória adaptativa permite sinalização explícita de quais as imagens são marcadas como "sem uso para referência" e pode também atribuir índices de longo prazo para imagens de referência de curto prazo. O controle de memória adaptativa pode exigir a presença de parâmetros de operação de controle de gerenciamento de memória (MMCO) no fluxo de bits. Os parâmetros de MMCO podem ser incluídos em uma estrutura de sintaxe da marcação da imagem de referência decodificada. Se o modo de operação de janela deslizante está em uso e existem M imagens marcadas como "utilizada para referência", o quadro de referência de curto prazo, que foi a primeira imagem decodificada entre aquelas imagens de referência de curto prazo que são marcadas como "usada para referência" é marcada como "sem uso para referência". Em outras palavras, os resultados dos modos de operação de janela deslizante em operação de armazenamento temporário primeiro a entrar, primeiro a sair entre imagens de referência de curto prazo.
[0170] Uma das operações de controle de gerenciamento de memória em H.264 / AVC faz com que todas as imagens de referência, exceto para a imagem atual, sejam marcadas como "sem uso para referência". Uma imagem de atualização de decodificação instantânea (IDR) contém apenas fatias intra-codificadas e faz uma "atualização" similar de imagens de referência.
[0171] Em um HEVC de rascunho, a imagem de referência que faz a marcação das estruturas de sintaxe e processos de decodificação relacionados foram substituídos por uma estrutura de sintaxe de conjunto de imagem de referência (RPS) e processo de decodificação são usados em vez de um propósito similar. Um conjunto de imagem de referência válido ou ativo para uma imagem inclui todas as imagens de referência utilizadas como referência para a imagem e todas as imagens de referência que são mantidas marcadas como "usadas para referência" para quaisquer imagens, na ordem de decodificação. Há seis subconjuntos do conjunto de imagem de referência, que são referidos como RefPicSetStCurrO, RefPicSetStCurrl, RefPicSetStFoll0, RefPicSetStFolll, RefPicSetLtCurr e RefPicSetLtFoll. A notação dos seis subconjuntos é como a seguir. "Curr" refere- se às imagens de referência que estão incluídas nas listas de imagens de referência do quadro atual e, portanto, podem ser utilizadas como referência inter predição para o quadro atual. "Foil" refere-se às imagens de referência que não estão incluídas nas listas de imagens de referência do quadro atual, mas podem ser usadas em imagens subsequentes, na ordem de decodificação como imagens de referência. "St" refere-se a imagens de referência de curto prazo, que podem geralmente ser identificadas através de um determinado número de bits menos significativos de seu valor POC. "Lt" refere-se a quadros de referência de longo prazo, que são especificamente identificados e, geralmente, têm uma maior diferença dos valores de POC em relação à imagem atual do que o que pode ser representado pelo certo número de bits menos significativos mencionado. "0" refere-se a essas imagens de referência que tem um valor menor do que o POC da imagem atual. "1" refere-se a essas imagens de referência que têm um valor de POC maior do que o da imagem atual.
[0172] RefPicSetStCurr0, RefPicSetStCurrl, RefPicSetStFoll0 e RefPicSetStFolll são referidos coletivamente como o subconjunto de curto prazo do conjunto de imagem de referência. RefPicSetLtCurr e RefPicSetLtFoll são referidos coletivamente como o subconjunto de longo prazo do conjunto de imagem de referência. Um conjunto de imagem de referência pode ser especificado em um conjunto de parâmetros de imagem e levados em uso no cabeçalho de fatia através de um índice para o conjunto de imagem de referência. Um conjunto de imagem de referência pode também ser especificado em um cabeçalho de fatia. Um subconjunto de longo prazo de um conjunto de imagem de referência é geralmente especificado em um cabeçalho de fatia, enquanto os subconjuntos de curto prazo do mesmo conjunto de imagens de referência podem ser especificados no conjunto de parâmetros de imagem ou cabeçalho de fatia. Imagens que estão incluídas no conjunto de quadro de referência utilizado pela fatia atual são marcadas como "usada para referência", e imagens que não estão no conjunto de quadro de referência utilizado pela fatia atual são marcadas como "sem uso para referência". Se o quadro atual é um quadro IDR, RefPicSetStCurr0, RefPicSetStCurrl, RefPicSetStFoll0, RefPicSetStFolll, RefPicSetLtCurr e RefPicSetLtFoll está tudo pronto para vazio.
[0173] Um buffer de imagem decodificada (OPD) pode ser utilizado no codificador e / ou no decodificador. Há duas razões para armazenar temporariamente imagens decodificadas, para referências em inter predição e para reordenar imagens decodificadas na ordem de saída. Como H.264 / AVC e HEVC proporcionam uma grande flexibilidade tanto para marcação de imagem de referência e reordenação de saída, buffers separados para o buffer de imagem de referência e buffer da imagem de saída podem desperdiçar recursos de memória. Assim, o DPB pode incluir um processo de armazenamento temporário unificado da imagem decodificada para imagens de referência e reordenamento de saída. A imagem decodificada pode ser removida a partir do DPB, quando já não é utilizada como referência, e não é necessária para a saída.
[0174] Em muitos modos de codificação de H.264 / AVC e HEVC, o quadro de referência para a inter predição é indicado com um índice para uma lista de imagens de referência. O índice é codificado com CABAC ou codificação de comprimento variável. Em geral, quanto menor for o índice, menor o elemento de sintaxe correspondente pode tornar-se. Duas listas de imagens de referência (imagem de referência da lista 0 e da lista de imagem de referência 1) são geradas para cada (B) fatia bi-preditiva, e lista uma imagem de referência (lista de imagem de referência 0) é formada para cada (P) fatia inter-codificada.
[0175] Codecs de vídeo de alta eficiência típicos, como um codec de HEVC de rascunho, empregam uma informação sobre o movimento adicional do mecanismo de codificação / decodificação, muitas vezes, chamado de modo/ processo / mecanismo de fusão / junção, onde toda a informação sobre o movimento de um bloco / PU é predito e usado sem qualquer modificação / correção. As informações acima referidas, para um movimento PU compreendem 1) A informação se o PU é uni-predita usando apenas a lista de imagem de referência 0 ou P U é uni-predita usando apenas a lista de imagem de referência 1 ou o PU é bi-predita utilizando tanto a Lista de imagem de referência 0 e 1, 2) o valor do vetor de movimento correspondente à lista da imagem de referência 0, 3) índice de imagem de referência na lista de imagem de referência 0, 4) valor da lista de imagem de referência 0 correspondente à lista de imagem de referência 1, 5) índice de imagem de referência na lista de imagem de referência 1. De modo semelhante, a predição da informação de movimento é efetuada utilizando a informação de movimento de blocos adjacentes e / ou blocos co-localizados em imagens de referência temporais. Normalmente, uma lista, muitas vezes chamada como uma lista de fusão, é construída através da inclusão de candidatos de predição de movimento associados com blocos adjacentes / co-localizados disponíveis e o índice de candidato selecionado de predição de movimento na lista é sinalizado. Em seguida, a informação sobre o movimento do candidato selecionado é copiada para a informação sobre o movimento da PU atual. Quando é empregado o mecanismo de fusão para uma CU completa e o sinal de predição para o CU é usado como sinal de reconstrução, ou seja, a predição residual não é processada, este tipo de codificação / decodificação do CU é normalmente nomeado como modo de salto ou modo de salto com base em fusão. Além disso, para o modo de salto, o mecanismo de fusão é também empregado para UP individuais (não necessariamente a totalidade CU como no modo de salto) e, neste caso, a predição residual pode ser utilizada para melhorar a qualidade de predição. Este tipo de modo de predição é normalmente nomeado como um modo de inter- fusão.
[0176] Uma lista de imagem de referência, tal como a lista de imagem de referência 0 e a lista de imagem de referência 1, podem ser construídas em duas fases: em primeiro lugar, uma lista de imagem de referência inicial é gerada. A lista de imagem de referência inicial pode ser gerada, por exemplo, sobre a base de frame_num, POC, temporal_id, ou informação sobre a hierarquia de predição, tal como uma estrutura de GOP, ou qualquer combinação dos mesmos. Em segundo lugar, a lista de imagens de referência inicial pode ser reordenada por comandos de reordenação da lista de imagens de referência (RPLR), também conhecida como estrutura de sintaxe de modificação de lista de imagem de referência, contidos nos cabeçalhos da fatia. Os comandos de RPLR indicam as imagens que são ordenadas para o início da respectiva lista de imagens de referência. Este segundo passo pode também ser referido como o processo de modificação de lista de imagens de referência e os comandos de RPLR podem ser incluídos em uma estrutura de sintaxe de modificação da lista de imagem de referência. Se forem utilizados conjuntos de imagem de referência, a lista de imagem de referência 0 pode ser inicializada para conter RefPicSetStCurr0, em primeiro lugar, seguido por RefPicSetStCurrl, seguido por RefPicSetLtCurr. A lista de imagem de Referência 1 pode ser inicializada para conter RefPicSetStCurrl, em primeiro lugar, seguido por RefPicSetStCurrO. As listas de imagens de referência iniciais podem ser modificadas através da estrutura de sintaxe de modificação de lista de imagem de referência, onde imagens nas primeiras listas de imagens de referência podem ser identificadas através de um índice de entrada para a lista.
[0177] A lista de junção pode ser gerada com base na lista de imagem de referência 0 e / ou lista de imagem de referência 1, por exemplo, usando a estrutura de sintaxe de combinação de imagem de referência incluídos na sintaxe de cabeçalho de fatia. Pode haver uma estrutura de sintaxe de combinação de imagem de referência criada no fluxo de bits de um codificador e decodificada a partir do fluxo de bits de um decodificador, que indica o conteúdo da lista de junção. A estrutura de sintaxe pode indicar que a lista de imagem de referência 0 e a lista de imagem de referência l são combinadas para constituir uma combinação de lista de imagem de referência adicional utilizada para as unidades de predição serem preditas uni direccionalmente. A estrutura de sintaxe pode incluir uma indicação que, quando igual a um determinado valor, que indica que a lista de imagem de referência 0 e lista de imagem de referência 1 são idênticas, assim, a lista de imagem de referência 0 é usada como a combinação da lista de imagem de referência. A estrutura de sintaxe pode incluir uma lista de entradas, cada uma especificando uma lista de imagem de referência (a lista 0 ou lista 1) e um índice de referência para a lista especificada, em que uma entrada especifica uma imagem de referência para ser incluída na lista de junção.
[0178] Uma estrutura de sintaxe para marcação de imagens de referência decodificadas pode existir em um sistema de codificação de vídeo. Por exemplo, quando a decodificação da imagem foi concluída, a estrutura de sintaxe de marcação de imagem de referência decodificada, se presentes, pode ser usada para marcar de forma adaptativa imagens como "não utilizada para referência" ou "usada como referência a longo prazo". Se a estrutura de sintaxe de marcação de imagem de referência decodificada não está presente e o número de imagens marcadas como "utilizadas para referência" já não pode aumentar, uma marcação de imagem de referência de janela deslizante pode ser utilizada, que, basicamente, marca a imagem de referência mais rapidamente (em ordem de decodificação) decodificada como não utilizada para referência.
[0179] A estrutura de sintaxe da lista de imagem de referência pode incluir três partes, descrição da lista de imagem de referência 0 para P e B fatias, descrição lista de imagem de referência para B fatias e descrição da lista de imagens de referência de ociosa para quaisquer fatias incluindo as imagens de referência que não estão incluídas em qualquer lista de imagem de referência 0 ou 1, mas ainda está sendo mantida marcada como "utilizada para referência". Em outras palavras, pode ser, por exemplo, uma estrutura de sintaxe (em vez de mais do que um), que fornece a informação para marcação de lista de imagem de referência e construção de lista de imagem de referência.
[0180] Quando a decodificação de uma fatia começa, estrutura de sintaxe da lista de imagem de referência pode ser analisada. Para P e B fatias, a estrutura da sintaxe inclui uma descrição de lista de imagem de referência para a lista 0, que é decodificada. A estrutura de sintaxe de descrição da lista de imagem de referência pode listar imagens identificadas pelo valor de contagem de ordem de imagem (POC) na ordem em que aparecem na lista de imagens de referência. Para B fatias, a estrutura de sintaxe da lista de imagem de referência pode incluir uma descrição da lista de imagem de referência para uma lista, que é decodificada.
[0181] Um processo de inicialização de lista de imagem referência e / ou processo de modificação lista de imagem de referência pode ser omitido, e as listas de imagens de referência podem ser descritas diretamente nas estruturas de sintaxe.
[0182] Adicionalmente ou em vez disso, a estrutura de sintaxe da lista de imagem de referência pode incluir uma descrição da lista de imagem de referência para obter uma lista de imagem de referência ociosa, o qual, se presente, é decodificada.
[0183] Imagens que estão em qualquer uma das listas de imagens de referência podem ser marcadas como "utilizadas para referência". Imagens que não estão em nenhuma lista de imagem de referência podem ser marcadas como "sem uso para referência".
[0184] Em outras palavras, a construção da lista de imagem de referência e processos de marcação de imagem de referência e estruturas de sintaxe pode ser tratados em uma única estrutura de sintaxe e processo unificados.
[0185] Note-se que, apesar de as imagens de referência na lista de imagens de referência ociosa terem uma ordem específica determinada pela estrutura de sintaxe de descrição da lista imagem de referência, que geralmente não há requisitos específicos na ordem em que o codificador deve listar as imagens de referência ociosas. Em certo sentido, a lista de imagem de referência ociosa pode, muitas vezes, ser considerada uma lista desordenada ou um conjunto.
[0186] A lista de imagem de referência 0 e 1 pode conter imagens de referência que são indicadas para serem utilizadas como referência para a fatia atual. Por exemplo, um índice de referência além de num_ref_idx_l0_active_minusl pode não ser usado como referência para a fatia de corrente. Pode ser predito que tais imagens não referenciadas de referência na lista de imagem de referência 0 e 1 são marcadas como "usadas para referência". Alternativamente, pode ser especificado que, se uma imagem de referência só é incluída como uma imagem de referência não referenciada na lista 0 ou a lista 1 e não está na lista de imagem de referência ociosa ou como imagem de referência mencionada na lista 0 ou lista 1 é marcada "não usada para referência". Alternativamente, a regra de marcação desejada entre as duas já mencionadas ou qualquer outra norma de marcação determinista pode ser controlada pelo codificador e indicado no fluxo de bits, por exemplo, na sintaxe de SPS do conjunto de parâmetro de sequência. Incluindo uma imagem de referência como uma imagem não-referência na lista 0 ou lista 1 pode ser preferível a incluí-la na lista de imagem de referência inativa por exemplo, se menos bits são consumidos na codificação.
[0187] Na codificação de vídeo expansível, um sinal de vídeo pode ser codificado para uma camada de base e uma ou mais camadas de reforço. Uma camada de reforço pode aumentar a resolução temporal (isto é, a taxa de quadros), a resolução espacial, ou simplesmente o conteúdo da qualidade de vídeo representado por uma outra camada ou parte da mesma. Cada camada, juntamente com todas as suas camadas dependentes é uma representação do sinal de vídeo com uma determinada resolução espacial, resolução temporal e nível de qualidade. Neste documento, nos referimos a uma camada escalonável, juntamente com todas as suas camadas dependentes como uma "representação de camada escalonável". A parte de um fluxo de bits escalonável correspondente a adaptar uma representação de camada flexível pode ser extraída e decodificada para produzir uma representação do sinal original em determinada fidelidade.
[0188] Em alguns casos, os dados em uma camada de reforço podem estar truncados depois de um determinado local, ou mesmo em posições arbitrárias, em que cada posição do truncamento pode incluir dados adicionais representando cada vez melhor qualidade visual. Essa escalabilidade é referida como escalabilidade de fino grão (granularidade) (FGS). FGS foi incluído em algumas versões preliminares do padrão SVC, mas que acabou por ser excluído do padrão SVC final. FGS é posteriormente discutido no contexto de algumas versões preliminares do padrão SVC. A escalabilidade fornecida por essas camadas de reforço que não podem ser truncadas é referida como escalabilidade de granulação grossa (CGS) (granularidade). Ele inclui coletivamente a escalabilidade de qualidade tradicional (SNR) e escalabilidade espacial. O padrão SVC suporta a chamada escalabilidade de grão médio (MGS), onde as imagens de qualidade de aprimoramento são codificadas de forma semelhante a imagens de camada escalonáveis SNR, mas indicada por elementos de sintaxe de alto nível de forma semelhante a imagens de camada FGS, fazendo com que o elemento de sintaxe quality_ID maior que 0.
[0189] SVC utiliza um mecanismo preditivo inter- camada, em que certa informação pode ser predita a partir de outras do que a camada que está reconstruída ou a camada inferior seguinte. Informações que possam ser preditas inter- camada incluem textura intra, movimento e dados residuais. A predição de movimento inter-camadas inclui o modo de predição de codificação de bloco, a informação de cabeçalho, etc, em que o movimento a partir da camada mais baixa pode ser usado para predizer a camada superior. No caso de codificação intra, uma predição de macroblocos em torno de macroblocos ou co-localizado de camadas mais baixas possível. Essas técnicas de predição não empregam informações de unidades de acesso anteriormente codificadas e, portanto, são chamadas de técnicas intra predição. Além disso, os dados residuais de camadas mais baixas, também podem ser utilizados para a predição da camada atual.
[0190] SVC especifica um conceito conhecido como decodificação de circuito único. É ativada utilizando um modo de predição de textura intra restrito, pelo que a predição de textura inter-camada intra pode ser aplicadapara os macroblocos (MB) para o qual o bloco correspondente da camada de base está localizado dentro intra-MB. Ao mesmo tempo, essas intra-MBs na camada de base usam intra-predição restrita (por exemplo, tendo o elemento de sintaxe "constrained_intra_pred_flag" igual a 1). Na decodificação de ciclo único, o decodificador executa a compensação de movimento e reconstrução da imagem completa apenas para a camada escalonável desejada para a reprodução (chamada de "camada desejada" ou a "camada de destino"), reduzindo significativamente a complexidade de decodificação. Todas as outras camadas, exceto a camada desejada não necessitam ser completamente decodificadas por todos ou parte dos dados dos MBs não utilizados para a predição de inter-camada (quer seja predição de textura intra inter-camada, predição de movimento inter-camada ou predição residual inter -camada) não é necessária para a reconstrução da camada desejada.
[0191] Um circuito de decodificação só é necessário para a decodificação da maior parte das imagens, enquanto que um segundo circuito de decodificação é seletivamente aplicado para reconstruir as representações de base, que são necessáriaas como referências de predição, mas não para a saída ou exibição, e são reconstituídas apenas para as chamadas imagens chave (para os quais "Store_ref_base_pic_flag" é igual a 1).
[0192] A estrutura de escalabilidade no projeto de SVC é caracterizada por três elementos de sintaxe:
[0193] "temporal_Id" "dependency_id" e "quality_id". O elemento de sintaxe de "temporal_ID" é usado para indicar a hierarquia de escalabilidade temporal ou, indiretamente, a taxa de quadros. A representação da camada escalonável que compreende imagens de um valor menor máximo "temporal_id " tem uma taxa de quadros menor do que uma representação de camada escalonável compreendendo imagens de um maior "temporal_id" máximo. Uma dada camada temporal tipicamente depende das camadas temporais inferiores (ou seja, as camadas de temporais com valores menores "Temporal_id"), mas não depende de qualquer camada temporal superior. O elemento de sintaxe "Dependency_ID" é usado para indicar a hierarquia de dependência inter-camada de codificação CGS (a qual, como mencionado anteriormente, inclui, tanto a SNR e escalabilidade espacial). Em qualquer localização ao nível temporal, uma imagem de um valor menor "dependency_ID" pode ser usado para a predição inter-camada de codificação de uma imagem com um valor maior "dependency_ID". O elemento de sintaxe "Quality_ID" é utilizado para indicar o nível de hierarquia da qualidade de uma camada FGS ou MGS. Em qualquer localização temporal e com o mesmo valor "dependency_ID", uma imagem com "Quality_ID" igual a QL usa a imagem com "quality_ID" igual a QL-1 para a predição inter-camada. Uma fatia codificada com "quality_ID" maior do que 0 pode ser codificada como uma fatia FGS truncável ou uma fatia MGS não truncável.
[0194] Por simplicidade, todas as unidades de dados (por exemplo, as unidades de camada de rede abstração ou unidades de NAL no contexto SVC) em uma unidade de acesso com um valor igual a "dependency_ID" são referidas como uma unidade de dependência ou uma representação da dependência. Dentro de uma unidade de dependência, todas as unidades de dados com um valor igual de "quality_ID" são referidas como uma unidade de camada de qualidade ou representação.
[0195] Uma representação de base, também conhecida como uma imagem de base decodificada, é uma imagem decodificada resultante da decodificação das unidades de NAL da camada de Codificação de Vídeo (VCL) de uma unidade de dependência tendo "quality_id " igual a 0 e para o qual o "store_ref_base_pic_flag" é igual a 1. Uma representação de reforço, também referida como uma imagem decodificada, resulta do processo de decodificação regular em que todas as representações de camadas que se encontram presentes para uma maior representação de dependência são decodificadas.
[0196] Como mencionado anteriormente, CGS inclui tanto escalabilidade espacial e escalabilidade SNR. Escalabilidade espacial é projetada inicialmente para suportar representações de vídeo com resoluções diferentes. Para cada instância de tempo, unidades de VCL NAL são codificadas na mesma unidade de acesso e estas unidades de VCL NAL podem corresponder a diferentes resoluções. Durante a decodificação, a unidade de VCL NAL de baixa resolução fornece o campo de movimento e residual que pode ser opcionalmente herdado pela decodificação final e reconstrução da imagem de alta resolução. Quando comparada com os padrões de compressão de vídeo mais antigas, a escalabilidade espacial do SVC foi generalizada para permitir que a camada de base seja uma versão cortada e ampliada da camada de reforço.
[0197] Camadas de qualidade MGS estão indicadas com "Quality_ID" semelhante como camadas de qualidade FGS. Para cada unidade de dependência (com o mesmo "Dependency_ID"), existe uma camada de "Quality_ID" igual a 0 e não pode haver outras camadas com "Quality_ID" superior a 0. Estas camadas com "Quality_ID" superior 0 ou são camadas MGS ou camadas FGS, dependendo se as fatias são codificadas como fatias truncáveis.
[0198] Sob a forma de base de camadas de reforço de FGS, apenas predição inter-camada é utilizada. Assim, camadas de reforço FGS podem ser truncadas livremente sem causar qualquer propagação do erro na sequência decodificada. No entanto, a forma básica de FGS sofre de baixa eficiência de compressão. Esse problema surge porque apenas imagens de baixa qualidade são utilizadas para referências inter- predição. Por conseguinte, foi proposto que as imagens aprimoradas FGS fossem usados como referências inter- predição. No entanto, isto pode causar incompatibilidade de codificação-decodificação, também referido como desvio, quando alguns dados FGS são descartados.
[0199] Uma característica de um projeto do padrão SVC é que as unidades FGS NAL podem ser descartadas livremente ou truncadas, e uma característica do padrão SVCV é que as unidades de MGS NAL podem ser livremente descartadas (mas não podem ser truncadas) sem afetar a conformidade do fluxo de bits. Como discutido acima, quando esses dados FGS ou MGS foram utilizados para a referência inter-predição durante a codificação, o abandono ou o truncamento dos dados conduziria a um desfasamento entre as imagens decodificadas no lado do decodificador e no lado do codificador. Esse descompasso também é conhecido como deriva (drift).
[0200] Para controlar a deriva devido ao abandono ou truncamento de dados FGS ou MGS, SVC aplicada a seguinte solução: em determinada unidade de dependência, uma representação base (decodificando apenas a imagem CGS com "Quality_ID" igual a 0 e todo dependente em dados de camada inferior) é armazenado na memória intermediária de imagem decodificada. Ao codificar uma unidade de dependência posterior com o mesmo valor de "Dependency_ID," todas as unidades NAL, incluindo FGS ou unidades MGS NAL, usam a representação de base para a referência inter predição. Consequentemente, toda deriva devido a abandono ou truncamento de unidades FGS ou MGS NAL em uma unidade de acesso anterior é interrompido por esta unidade de acesso. Para outras unidades de dependência com o mesmo valor de "dependency_ID," todas as unidades de NAL usam as imagens decodificadas para referência inter predição, para alta eficiência de codificação.
[0201] Cada unidade de NAL inclui em um cabeçalho de unidade de NAL um elemento de sintaxe "use_ref_base_pic_flag." Quando o valor deste elemento é igual a 1, a unidade de decodificação de NAL utiliza as representações das imagens de base de referência, durante o processo inter predição. O elemento de sintaxe "store_ref_base_pic_flag" especifica se (quando igual a 1) ou não (quando igual a 0) para armazenar a representação base da imagem atual para futuras imagens para usar para a inter predição.
[0202] Unidades de NAL com "Quality_ID" superior a 0 não contêm elementos de sintaxe relacionados com a construção de imagem de referência e predição ponderada, ou seja, elementos de sintaxe "num_ref_active_1x_minusl" (x = 0 ou 1), a referência a tabela de sintaxe de reordenação de imagens de referência, e a tabela de sintaxe de predição ponderada não estão presentes. Por conseguinte, as camadas MGS ou FGS tem que herdar estes elementos de sintaxe das unidades NAL com "Quality_ID" igual a 0, de uma mesma unidade de dependência, quando necessário.
[0203] Em SVC, uma lista de imagens de referência consiste quer apenas representações de base (quando "Use_ref_base_pic_flag" é igual a 1) ou apenas imagens decodificadas não marcadas como "a representação de base" (quando "use_ref_base_pic_flag" é igual a 0), mas nunca ambas ao mesmo tempo.
[0204] Como indicado anteriormente, MVC é uma extensão do H.264 / AVC. Muitas das definições, conceitos, estruturas de sintaxe, semântica e processos de decodificação de H.264 / AVC também se aplicam a MVC, como tal, ou com certas generalizações ou restrições. Algumas definições, conceitos, estruturas de sintaxe, semântica e processos de decodificação de MVC são descritos a seguir.
[0205] Uma unidade de acesso no MVC é definida como sendo um conjunto de unidades NAL que sejam consecutivas na ordem de decodificação e contêm exatamente uma imagem codificada primária que consiste em um ou mais componentes de vista. Além da imagem principal codificada, uma unidade de acesso pode também conter uma ou mais imagens codificadas, uma imagem auxiliar codificada redundante, ou outras unidades de NAL não contendo fatias ou partições de dados de fatia de uma imagem codificada. A decodificação de uma unidade de acesso resulta em uma imagem decodificada que consiste em um ou mais componentes de vista decodificados, ao decodificar erros, erros de fluxo de bits ou outros erros que podem afetar a decodificação não ocorrem. Em outras palavras, uma unidade de acesso em MVC contém os componentes de vistas das vistas, para um exemplo de tempo de uma saída.
[0206] Um componente de vista no MVC é referido como uma representação codificada de uma exibição em uma única unidade de acesso.
[0207] Predição inter-vista pode ser utilizada no MVC e refere-se à predição de um componente de vista a partir de amostras decodificadas de componentes de vista diferentes de uma mesma unidade de acesso. Em MVC, a predição inter-vista é realizada de forma semelhante à inter-predição. Por exemplo, as imagens de referência de inter-vista são colocadas na(s) mesma(s) lista(s) de imagem de referência como imagens de referência para inter-predição, e um índice de referência, bem como um vetor de movimento são codificados de forma semelhante ou inferida para inter-vista e imagens de inter referência.
[0208] Uma imagem de âncora é uma imagem codificada em que todas as fatias podem referenciar apenas fatias dentro da mesma unidade de acesso, ou seja, a predição inter-vista pode ser utilizada, mas não é usada, entre predição, e todas as imagens seguintes codificadas, na ordem de saída não utilizam, inter predição a partir de qualquer imagem, antes da imagem codificada, na ordem de decodificação. A predição inter-vista pode ser usada para visualizar componentes IDR que fazem parte de uma vista não- base. A vista base em MVC é uma vista que tem o valor mínimo de índice de ordem de exibição em uma sequência de vídeo codificado. A vista de base pode ser decodificada independentemente de outros pontos de vista e não usa predição inter-vista. A vista de base pode ser decodificada por decodificadores H.264 / AVC que suportam apenas os perfis de vista único, como o perfil de linha base ou perfil alto H.264 / AVC.
[0209] No padrão MVC, muitos dos sub -processos do processo de decodificação MVC usam os respectivos sub- processos do padrão H.264 / AVC, substituindo o termo "imagem", "quadro" e "campo" na especificação de sub-processo do padrão H.264 / AVC por "componente de vista", "componente de vista de quadro", e "componente de campo de vista", respectivamente. Da mesma forma, os termos "imagem", "quadro" e "campo" são, muitas vezes, utilizados na descrição seguinte para significar "componente de vista", "componente de vista de quadro", e "componente de vista de campo", respectivamente.
[0210] Em codificação multivista escalonável, o mesmo fluxo de bits pode conter código de componentes de vista de vários pontos de vista e, pelo menos, alguns componentes de vista codificados podem ser codificados usando a qualidade e / ou escalabilidade espacial.
[0211] A vista de textura refere-se a uma vista que representa o conteúdo de vídeo comum, por exemplo, foi capturado usando uma câmera comum, e geralmente é adequado para a renderização em um visor. A textura de vista compreende tipicamente imagens com três componentes, um componente de luminância e dois componentes de croma. A seguir, uma imagem de textura tipicamente compreende todas as suas imagens ou os componentes de cor, salvo indicação em contrário, por exemplo, com termos textura de imagem de luma e textura da imagem de croma.
[0212] Vídeo reforçado profundidade se refere a vídeo de textura tendo uma ou mais vistas associadas com vídeo de profundidade tendo uma ou mais vistas de profundidade. Um número de abordagens podem ser utilizadas para a representação de vídeo melhorados de profundidade, incluindo o uso de vídeo mais profundidade (V + D), além de vídeo multivista mais profundidade (MVD), e vídeo de profundidade em camadas (LDV). Na representação de vídeo mais profundidade (V + D), uma vista única de textura e a respectiva vista de profundidade são representadas como sequências de textura de imagem e imagens de profundidade, respectivamente. A representação MVD contém uma série de vistas de textura e respectivas vistas de profundidade. Na representação LDV, a textura e profundidade da vista central está representada convencionalmente, enquanto que a textura e a profundidade das outras vistas são parcialmente representadas e cobrem apenas as áreas dis-ocluídas necessárias para a síntese de vista correta da vista intermediária.
[0213] Vídeo melhorado em profundidade pode ser codificado de uma maneira em que a textura e profundidade são codificadas independentemente uma da outra. Por exemplo, vistas de textura podem ser codificadas como um fluxo de bits MVC e vistas de profundidade podem ser codificadas como um outro fluxo de bits MVC. Alternativamente, vídeo melhorado em profundidade pode ser codificado de uma maneira em que a textura e a profundidade são codificadas em conjunto. Quando a codificação conjunta de vista de textura e profundidade é aplicada para uma representação de vídeo com capacidade de profundidade, algumas amostras decodificadas de uma textura de imagem ou elementos de dados para a decodificação de uma imagem de textura são preditos ou derivados de algumas amostras decodificadas de uma imagem de profundidade ou elementos de dados obtidos no processo de decodificação de uma imagem de profundidade. Alternativamente ou em adição, algumas amostras decodificadas de uma imagem de profundidade ou elementos de dados para a decodificação de uma imagem de profundidade estão preditos ou derivados de algumas amostras decodificadas de uma textura de imagem ou de dados elementos obtidos no processo de decodificação de uma imagem de textura.
[0214] Verificou-se que uma solução para algumas aplicações de vídeo 3D Multivista (3DV) é ter um número limitado de vista de entrada, por exemplo, uma vista mono ou estéreo e alguns dados complementares, de modo a renderizar (isto é, sintetizar) todas as vistas necessárias localmente do lado do decodificador. A partir de várias tecnologias disponíveis para visualização de renderização, a renderização com base em imagens de profundidade (DIBR) tem se mostrado uma alternativa competitiva.
[0215] Um modelo simplificado de um sistema à base de 3DV DIBR é mostrado na Figura 5. A entrada de um codec de vídeo 3D compreende um vídeo estereoscópico e a informação de profundidade correspondente com base estereoscópica b0. Em seguida, o codec de vídeo 3D sintetiza uma série de vistas virtuais entre duas vistas de entrada com linha de base (bi <BO). Algoritmos DIBR também podem permitir a extrapolação de vistas que estão fora das duas vistas de entrada e não entre elas. Da mesma forma, os algoritmos DIBR podem ativar a síntese de vistas a partir de uma vista única de textura e respectiva vista de profundidade. No entanto, a fim de habilitar o processamento multivista baseado em DIBR, dados de textura devem estar disponíveis no lado do decodificador, juntamente com os dados de profundidade correspondentes.
[0216] Em tal sistema 3DV, a informação de profundidade é produzida no lado do codificador, em uma forma de imagens de profundidade (também conhecidas como mapas de profundidade) para cada quadro de vídeo. Um mapa de profundidade é uma imagem com informações de profundidade per-pixel. Cada amostra em um mapa de profundidade representa a distância da respectiva amostra de textura do plano sobre o qual a câmara se encontra. Em outras palavras, se o eixo z é ao longo do eixo das câmaras (e, portanto, ortogonal ao plano no qual se encontram as câmaras), uma amostra de um mapa de profundidade representa o valor no eixo z.
[0217] Informação de profundidade pode ser obtida por diversos meios. Por exemplo, a profundidade da cena 3D pode ser calculada a partir da disparidade registrada por câmeras capturando. Um algoritmo de estimativa de profundidade tem uma vista estereoscópica como entrada e calcula as disparidades locais entre as duas imagens da vista deslocadas. Cada imagem é processada, pixel por pixel em blocos sobrepostos, e por cada bloco de pixels é realizada uma pesquisa na horizontal localizada por um bloco correspondente na imagem de deslocamento. Uma vez que uma disparidade sábia de pixel é calculada, o valor da profundidade correspondente z é calculada pela equação (1):
Figure img0001
[0218] onde f é a distância focal da câmera e b é a distância da linha de base entre as câmaras, como mostrado na Figura 6. Além disso, d refere-se à disparidade observada entre as duas câmaras, e o deslocamento da câmara Δd reflete uma possível má colocação horizontal dos centros ópticos das duas câmeras. No entanto, uma vez que o algoritmo é baseado em correspondência do bloco, a qualidade de uma estimativa de disparidade através da profundidade é dependente do conteúdo e, muitas vezes, não é precisa. Por exemplo, não há solução simples para a estimativa de profundidade é possível para fragmentos de imagens que estão com áreas muito lisas, sem texturas ou grande nível de ruído.
[0219] Mapas de disparidade ou paralaxe, como os mapas de paralaxe especificados na norma ISO / IEC International Standard 23002-3, podem ser processados de forma semelhante a mapas de profundidade. Profundidade e disparidade tem uma correspondência direta e podem ser calculadas uma a partir da outra através de equação matemática.
[0220] A ordem de codificação e decodificação de componentes de vista de textura e profundidade dentro de uma unidade de acesso é tipicamente de tal modo que os dados de um componente de vista codificado não são intercalados por qualquer outro componente de vista codificado, e os dados para uma unidade de acesso não são intercalados por qualquer outra unidade de acesso, fluxo de bits / ordem de decodificação. Por exemplo, pode haver duas vistas de textura e profundidade (T0t, T1t, T0t+ 1, T1t + 1, T0t +2, T1t + 2, D0t, Dlt, D0t+ i, D1t + 1, D0t +2, D1t + 2) em diferentes unidades de acesso (t, t + 1, t + 2), como ilustrado na Figura 7, onde a unidade de acesso t consistindo de componentes de vista de textura e profundidade (T0t, T1t, D0t, D1t) precede em fluxo de bits e ordem de decodificação da unidade de acesso t + 1, compreendendo componentes de vista de textura e profundidade (T0t + 1, T1t + 1, D0t + 1, Dlt + 1).
[0221] A ordem de codificação e decodificação de componentes de vista dentro de uma unidade de acesso pode ser regida pelo formato de codificação ou determinada pelo codificador. Um componente de vista de textura pode ser codificado antes da respectiva componente de vista de profundidade do mesmo ponto de vista, e, portanto, tais componentes de vista de profundidade podem ser preditos a partir dos componentes de vista de textura da mesma vista. Tais componentes de vista de textura podem ser codificados, por exemplo, codificador MVC e decodificados pelo decodificador MVC. Um componente reforçado de vista de textura refere-se aqui a um componente de vista de textura que é codificada após o respectivo componente de vista de profundidade da mesma vista e pode ser predita a partir do respectivo componente de vista de profundidade. Os componentes de vista de textura e profundidade das mesmas unidades de acesso são normalmente codificados em ordem de dependência de vista. Componentes de vista de textura e profundidade podem ser encomendadas em qualquer ordem com relação à outra, desde que a ordem obedeça às restrições mencionadas.
[0222] As vistas de textura e as vistas de profundidade podem ser codificadas em um único fluxo de bits onde algumas das vistas de textura podem ser compatíveis com um ou mais padrões de vídeo, tais como H.264 / AVC e / ou MVC. Em outras palavras, um decodificador pode ser capaz de decodificar algumas das vistas de textura de tal fluxo de bits e pode omitir as demais vistas de textura e vistas de profundidade.
[0223] Neste contexto, um codificador que codifica uma ou mais vistas de textura e profundidade em um único H.264 / AVC e / ou fluxo de bits compatíveis MVC também é chamado como um codificador 3DV-ATM. O fluxo de bits gerados por um tal codificador pode ser referido como fluxo de bits 3DV-ATM. Os fluxos de bits 3DV-ATM podem incluir algumas das vistas de textura que H.264 / AVC e / ou decodificador MVC não podem decodificar, e vistas de profundidade. Um decodificador capaz de decodificar todas as vistas de fluxos de bits 3DV-ATM também pode ser chamado como um decodificador 3DV-ATM.
[0224] O fluxo de bits 3DV-ATM pode incluir um número selecionado de vista de textura AVC / MVC compatíveis. As vistas de profundidade para as vistas AVC / MVC de textura compatíveis podem ser preditas a partir das vistas de textura. As vistas de textura restantes podem utilizar codificação de textura melhorada e uma vista de profundidade pode utilizar codificação de profundidade.
[0225] Um diagrama de fluxo de alto nível de uma concretização de um codificador 200 capaz de codificar vistas de textura e vista de profundidade é apresentado na Figura 8 e um decodificador 210 capaz de exibir decodificação de vista de textura e vista de profundidade é apresentado na Figura 9. Nestas figuras, linhas sólidas representam fluxo de dados geral e linhas tracejadas mostram informações de controle e sinalização. O codificador 200 pode receber componentes de textura 201 a ser codificados por um codificador de textura 202 e componentes de mapa de profundidade 203 a ser codificados por um codificador de profundidade 204. Quando o codificador 200 está codificando componentes de textura de acordo com AVC / MVC, um primeiro comutador 205 pode ser desligado. Quando o codificador 200 está codificando os componentes de textura melhorada, o primeiro comutador 205 pode ser ligado de modo que a informação gerada pelo codificador de profundidade 204 pode ser fornecida para o codificador de textura 202. O codificador deste exemplo compreende também um segundo comutador 206 que pode ser operado do seguinte modo. O segundo comutador 206 é ligado quando o codificador está codificando informações de vista de profundidade AVC / MVC, e o segundo comutador 206 é desligado quando o codificador está codificando informação de profundidade de vistas de textura melhoradas. O codificador 200 pode liberar um fluxo de bits 07 codificado contendo informações de vídeo.
[0226] O decodificador 210 pode funcionar de uma forma semelhante, mas, pelo menos em parte, na ordem inversa. O decodificador 210 pode receber o fluxo de bits 207, contendo informações de vídeo codificado. O decodificador 210 compreende um decodificador de textura 211 para decodificar informações de textura e um decodificador de profundidade 212 para obter informações sobre a decodificação de profundidade. Um terceiro comutador 213 pode ser proporcionado para controlar o fornecimento de informação a partir do decodificador 212 para o decodificador de profundidade da textura 211, e um quarto comutador 214 pode ser proporcionado para controlar o fornecimento de informação a partir do decodificador de textura 211 para o decodificador 212 de profundidade quando o decodificador 210 está decodificando vista de textura AVC / MVC. O terceiro comutador 213 pode ser desligado e quando o decodificador 210 está decodificando a vista de textura reforçada, o terceiro comutador 213 pode ser ligado. Quando o decodificador 210 é para decodificar profundidade da vista de textura de AVC / MVC, o quarto comutador 214 pode ser ligado e quando o decodificador 210 é para decodificar profundidade de vista de textura aperfeiçoada, o quarto comutador 214 pode ser desligado. O decodificador 210 pode liberar componentes de textura reconstruídos 215 e componentes de mapa de profundidade reconstruído 216.
[0227] Muitos codificadores de vídeo utilizam a função de custo de Lagrange para encontrar modo de codificação de distorção- tarifa ideais, por exemplo, o modo de macrobloco desejado e vetores de movimento associados. Este tipo de função de custo utiliza um fator de ponderação ou À para unir a distorção exata ou estimada da imagem devido a métodos de codificação com perdas e a quantidade exata ou estimada de informação necessária para representar os valores de pixel / amostra em uma área de imagem. A função de custo de lagrange pode ser representada pela equação:
[0228] C = D + ÀR
[0229] onde C é o custo de Lagrange a ser minimizado, D é a distorção da imagem (por exemplo, o erro quadrático médio entre o pixel valores / amostra no bloco original e no bloco de imagem codificado) com o modo e os vetores de movimento atualmente considerado, À é um coeficiente de Lagrage e R é o número de bits necessários para representar os dados necessários para reconstruir o bloco de imagem no decodificador (incluindo a quantidade de dados que representam os vetores de movimento candidato).
[0230] A Figura 1 mostra um diagrama de blocos de um sistema de codificação de vídeo de acordo com uma concretização de exemplo de um diagrama de blocos esquemático de um aparelho exemplificativo ou dispositivo eletrônico 50, o qual pode incorporar um codec de acordo com uma concretização da invenção. A Figura 2 mostra um esquema de um aparelho de acordo com uma concretização de exemplo. Os elementos das Figuras 1 e 2 serão explicados a seguir.
[0231] O dispositivo eletrônico 50 pode ser, por exemplo, um terminal móvel ou equipamento usuário do sistema de comunicação sem fio. Contudo, seria apreciado que as concretizações da invenção podem ser implementadas em qualquer dispositivo eletrônico ou aparelho que pode necessitar de codificação e decodificação de imagens de vídeo ou de codificação ou decodificação.
[0232] O aparelho 50 pode incluir um alojamento 30 para a incorporar e proteger o dispositivo. O aparelho 50 pode ainda compreender um visor 32 sob a forma de um visor de cristal líquido. Em outras concretizações da invenção, o visor pode ser qualquer tecnologia de visor apropriado adequada para exibir uma imagem ou vídeo. O aparelho 50 pode compreender inda um teclado 34. Em outras concretizações da invenção, quaisquer dados apropriados ou mecanismo de interface de usuário pode ser empregada. Por exemplo, a interface de usuário pode ser implementada como um sistema de entrada de teclado ou de dados virtual, como parte de um visor sensível ao toque. O aparelho pode compreender um microfone 36 ou qualquer entrada de áudio adequada que pode ser uma entrada de sinal digital ou analógico. O aparelho 50 pode compreender ainda um dispositivo de saída de áudio que em concretizações da invenção pode ser qualquer um dos seguintes: um fone de ouvido 38, alto-falante, ou uma conexão de saída de áudio digital ou analógica. O aparelho 50 pode também compreender uma bateria 40 (ou em outras concretizações da invenção, o dispositivo pode ser alimentado por um dispositivo de energia móvel adequado, tal como célula solar, célula de combustível ou de gerador de relógio). O aparelho pode ainda compreender uma porta de infravermelho 42 para a linha de curto alcance de comunicação de visão com outros dispositivos. Em outras concretizações do aparelho 50 pode compreender ainda qualquer solução de comunicação de curto alcance adequada, tal como por exemplo, uma conexão sem fio Bluetooth ou uma porta USB / conexão com fio firewire.
[0233] O aparelho 50 pode compreender um controlador ou processador 56 para controlar o aparelho 50. O controlador 56 pode ser ligado à memória 58, que em concretizações da invenção pode armazenar os dados na forma de imagem e os dados de áudio e / ou pode também armazenar instruções para a execução do controlador 56. O controlador 56 pode ainda ser conectado a um circuito 54 de codec adequado para realizar a codificação e decodificação de áudio e / ou dados de vídeo ou auxiliar na codificação e decodificação realizada pelo controlador 56.
[0234] O aparelho 50 pode ainda incluir um leitor de cartões 48 e um cartão inteligente 46, por exemplo, um UIC e leitor UIC para fornecer informações sobre o usuário e ser adequado para a prestação de informações de autenticação para autenticação e autorização do usuário em uma rede.
[0235] O aparelho 50 pode compreender um circuito de interface de rádio 52 ligado ao controlador e apropriado para gerar sinais de comunicação sem fio, por exemplo, para a comunicação com uma rede de comunicações celular, um sistema de comunicações sem fios ou uma rede de área local sem fios. O aparelho 50 pode compreender ainda uma antena 44 ligada ao circuito de interface de rádio 52 para a transmissão de sinais de frequências de rádio gerados no circuito de interface de rádio 52 para outro(s) aparelho (s) e para recepção de sinais de frequência de rádio a partir de outro (s) aparelhos (s).
[0236] Em algumas concretizações da invenção, o aparelho 50 compreende uma câmera capaz de gravar ou detectar quadros individuais, que são depois passados para o codec 54 ou controlador de processamento. Em algumas concretizações da invenção, o aparelho pode receber os dados de imagem de vídeo para o processamento de outro dispositivo antes da transmissão e / ou armazenamento. Em algumas concretizações da invenção, o aparelho 50 pode receber sem fio ou através de uma conexão com fios, a imagem para codificação / decodificação.
[0237] A Figura 3 mostra um dispositivo para codificação de vídeo que compreende uma pluralidade de aparelhos, redes e os elementos da rede, de acordo com uma concretização de exemplo. No que diz respeito à Figura 3, um exemplo de um sistema no qual as concretizações da presente invenção podem ser utilizadas é mostrado. O sistema 10 compreende vários dispositivos de comunicação que podem se comunicar através de uma ou mais redes. O sistema 10 pode compreender qualquer combinação de redes com ou sem fios incluindo, mas não se limitando a uma rede de telefonia celular sem fios (tal como uma rede GSM, UMTS, CDMA, etc), uma rede de área local sem fios (WLAN), tal como definido por qualquer uma das as normas IEEE 802.x, uma rede de área pessoal Bluetooth, uma rede de área local Ethernet, rede de área local de anel token, uma rede de área ampla, e a internet.
[0238] O sistema 10 pode incluir ambos os dispositivos de comunicação sem fios ou com fios e aparelhos 50 adequados para a implementação das concretizações da invenção. Por exemplo, o sistema mostrado na Figura 3 mostra uma rede de telefonia móvel 11 e uma representação da Internet 28. A conectividade para a Internet 28 pode incluem, mas não se limita a, conexões sem fios de longo alcance, conexões sem fios de curto alcance, e várias conexões com fio, incluindo, mas não limitado a, linhas telefônicas, linhas de cabos, linhas de energia e vias de comunicação semelhantes.
[0239] Os dispositivos de comunicação de exemplo mostrados no sistema 10 podem incluir, mas não estão limitados a, um dispositivo eletrônico ou aparelhos 50, uma combinação de um assistente pessoal digital (PDA) e um telefone celular 14, um PDA 16, um dispositivo de mensagens integradas (IMD) 18, um computador de mesa 20, um computador notebook 22. O aparelho 50 pode ser fixo ou móvel, quando carregado por um indivíduo que está se movendo. O aparelho 50 também pode estar localizado em um meio de transporte, incluindo, mas não limitado a, um carro, um caminhão, um táxi, um ônibus, um trem, um barco, um avião, uma bicicleta, uma moto ou qualquer meio de transporte apropriado similar.
[0240] Algumas ou outros aparelhos podem enviar e receber chamadas e mensagens e se comunicar com os provedores de serviços através de uma conexão sem fio 25 para uma estação base 24. A estação base 24 pode ser conectada a um servidor de rede 26, que permite a comunicação entre a rede de telefonia móvel 11 e a Internet 28. O sistema pode incluir dispositivos de comunicação adicionais e dispositivos de comunicação de vários tipos.
[0241] Os dispositivos de comunicação podem se comunicar através de várias tecnologias de transmissão, incluindo, mas não limitado a, acesso múltiplo por divisão de código (CDMA), istemas globais de comunicações móveis (GSM), sistema universal de telecomunicações móveis (UMTS), acesso múltiplo por divisão de tempo (TDMA), acesso múltiplo por divisão de frequência (FDMA), protocolo de internet- protocolo de controle de transmissão (TCP-IP), serviço de mensagens curtas (SMS), serviço de mensagens multimídia (MMS), e-mail, serviço de mensagens instantâneas (IMS), Bluetooth, IEEE 802.11 e qualquer tecnologia de comunicação sem fio semelhante. Um dispositivo de comunicações envolvido na aplicação de diversas concretizações da presente invenção pode comunicar-se utilizando vários meios, incluindo, mas não limitado a, equipamento de som, laser, infravermelho, conexões de cabos, bem como qualquer conexão apropriada.
[0242] As Figuras 4A e 4B mostram diagramas de blocos para a codificação e decodificação de vídeo de acordo com uma concretização de exemplo.
[0243] A Figura 4a mostra o codificador como compreendendo um preditor de pixel 302, codificador de predição de erro 303 e decodifícador de do erro de predição 304. A Figura 4a mostra também uma concretização do preditor 302 de pixel que compreende, um inter-preditor 306, um intra- preditor 308, um seletor de modo 310, um filtro 316, e uma memória de quadro de referência 318. Nesta concretização, o seletor de modo 310 compreende um processador de bloco 381 e um avaliador de custo. O codificador 382 pode compreender ainda um codificador de entropia 330 para codificação de entropia do fluxo de bits.
[0244] A Figura 4b ilustra uma concretização do inter preditor 306. O inter preditor 306 compreende um seletor de quadro de referência 360 para a seleção de quadros de referência, ou quadros, um definidor de vetor de movimento 361, um formador de lista de predição 363 e um seletor de vetor de movimento 364. Estes elementos ou alguns deles podem ser parte de um processador de predição 362 ou podem ser implementados através da utilização de outros meios.
[0245] O preditor de pixel 302 recebe a imagem 300 a ser codificada, tanto o inter-preditor 306 (que determina a diferença entre a imagem e um quadro de referência compensado por movimento 318), e o intra-preditor 308 (que determina uma predição para um bloco de imagem baseada apenas nas partes já processadas de um quadro atual ou imagem). A saída de ambos os inter-preditor e intra- preditor são passadas para o seletor de modo 310. Tanto o inter-preditor 306 e o intra-preditor 308 podem ter mais do que um modo de intra-predição. Assim, a inter- predição e a intra-predição podem ser realizadas para cada modo e o sinal predito pode ser fornecido para o seletor de modo 310. O seletor do modo 310 também recebe uma cópia da imagem 300.
[0246] O seletor de modo de 310 determina qual modo de codificação a ser usado para codificar o bloco atual. Se o seletor de modo 310 decide usar um modo de inter- predição passará a saída do inter-preditor 306 para a saída do seletor do modo 310. Se o seletor do modo 310 decide usar um modo intra-predição, passará a saída de um dos modos do intra-predictor à saída do seletor de modo 310.
[0247] O seletor de modo 310 pode utilizar, no bloco avaliador de custo 382, por exemplo, funções de custo de Lagrange para escolher entre os modos de codificação e os seus valores de parâmetros, tais como vetores de movimento, índices de referência e direção de intra-predição, normalmente como base no bloco. Este tipo de função de custo utiliza um fator de ponderação lambda para unir a distorção de imagem (exata ou estimada) devido a métodos de codificação com perdas e a quantidade (exata ou estimada) de informações que são necessárias para representar os valores de pixels em uma área de imagem: C = D + lambda x R, em que C é o custo de Lagrange a ser minimizado, D é a distorção de imagem (por exemplo, erro quadrático médio) com o modo e os seus parâmetros, e R, o número de bits necessários para representar os dados necessários para reconstituir o bloco de imagem no decodificador (por exemplo, incluindo a quantidade de dados que representam os vetores de movimento candidato).
[0248] A saída do seletor de modo é passada para um primeiro dispositivo de soma 321. O primeiro dispositivo de soma pode subtrair o preditor de pixel 302 liberado a partir da imagem 300 para produzir um sinal de erro de primeira predição 320, que é a entrada para o erro de predição do codificador 303.
[0249] O preditor de pixel 302 recebe mais de um reconstrutor preliminar 339, a combinação da representação de predição da imagem do bloco 312 e a saída 338 do decodificador 304. O erro de predição da imagem reconstruída preliminar 314 pode ser passado para o intra-preditor 308 e para um filtro 316. O filtro 316 que recebe a representação preliminar pode filtrar a representação preliminar e libera uma imagem reconstruída final 340 que pode ser salva em uma memória de quadro de referência 318. O quadro de memória de referência 318 pode ser conectado ao inter-preditor 306 para ser usado como a imagem de referência contra a qual a imagem futura 300 é comparada nas operações inter-predição. Em muitas concretizações, sistema de referência de memória 318 pode ser capaz de armazenar mais do que uma imagem decodificada, e uma ou mais delas podem ser utilizados pelo inter-preditor 306 como imagens de referência contra o qual as imagens futuras 300 são comparadas em operações de inter- redição. A memória de imagem de referência 318 pode, em alguns casos também ser referida como o buffer de imagem decodificada.
[0250] A operação do preditor de pixel 302 pode ser configurada para realizar qualquer algoritmo de predição de pixel conhecida conhecidos na técnica.
[0251] O preditor de pixel 302 pode também compreender um filtro 385 para filtrar os valores preditos antes reproduzi-los a partir do indicador de pixel 302.
[0252] A operação do erro de predição do codificador 302 e do erro de predição do decodifícador 304 será descrita a seguir em mais detalhe. Nos exemplos a seguir, o codificador gera imagens em termos macroblocos de pixels de 16x16 que vão formar a imagem completa ou imagem. No entanto, dever ser notado que a Figura 4a não está limitada ao tamanho de bloco de 16x16, mas qualquer tamanho e forma de um bloco podem ser utilizados em geral, e do mesmo modo, a Figura 4a não está limitada à compartimentação de uma imagem para macroblocos, mas qualquer outra imagem de particionamento de blocos, tal como as unidades de codificação, podem ser usadas. Assim, para os exemplos que se seguem o preditor 302 de pixel gera uma série de macroblocos preditos de tamanho de pixels de 16x16 e o primeiro dispositivo de soma 321 emite uma série de macroblocos de dados de pixel de 16x16 residuais, que podem representar a diferença entre um primeiro macrobloco na imagem 300 contra um macrobloco predito (saída do preditor de pixels 302).
[0253] O codificador de erro de predição 303 compreende um bloco 342 e um quantizador 344. O bloco de transformada 342 transforma o sinal de erro de predição 320 primeiro em um domínio de transformação. A transformação é, por exemplo, a transformação DCT ou sua variante. O quantizador 344 quantifica o sinal de domínio de transformação, por exemplo, os coeficientes de transformada de cosseno discreta, para formar coeficientes quantificados.
[0254] O decodificador de erro de predição 304 recebe a saída do codificador de erro de predição 303 e produz um sinal de erro de predição decodificado 338, que, quando combinado com a representação de predição de imagem do bloco 312 no segundo dispositivo somador 339 produz a imagem reconstruída preliminar 314. O decodificador de erro de predição pode ser considerado como compreendendo um dequantizer 346, que dequantiza os valores dos coeficientes quantificados, por exemplo, os coeficientes de transformada de cosseno discreta, para reconstruir o sinal de transformação aproximadamente e um bloco de transformação inversa 348, o qual executa a transformação inversa para transformação do sinal reconstruído em que a saída do bloco de transformação inverso 348 contém bloco (s) reconstruído (s). O decodificador de erro de predição pode também compreender um filtro de macrobloco (não mostrado), que pode filtrar o macrobloco reconstruído de acordo com os parâmetros de filtro e informação adicional decodificada.
[0255] Na sequência, a operação de uma concretização de exemplo do inter preditor 306 será descrita em mais pormenores. O inter preditor 306 recebe o bloco atual para a inter predição. Supõe-se que, para o bloco atual, já existe um ou mais blocos adjacentes que foram codificados e os vetores de movimento foram definidos para eles. Por exemplo, o bloco no lado esquerdo e / ou o bloco de cima do bloco atual podem ser tais blocos. Predições dos vetores de movimento espacial para o bloco atual podem ser formadas, por exemplo, utilizando os vetores de movimento dos blocos vizinhos codificados e / ou blocos não vizinhos na mesma fatia ou quadro, utilizando uma função linear ou não-linear de predição de vetor de movimento espacial, usando uma combinação de vários preditores espaciais de vetor de movimento linear com ou operações não lineares, ou por quaisquer outros meios adequados que não fazem uso de informações de referência temporal. Também pode ser possível obter preditores de vetor de movimento pela combinação de ambas as informações de predição espacial e temporal de um ou mais blocos codificados. Esses tipos de preditores de vetor de movimento também podem ser chamados como preditores de vetor de movimento espaço-temporal.
[0256] Quadros de referência utilizados na codificação podem ser armazenados na memória do quadro de referência. Cada quadro de referência pode ser incluído em uma ou mais das listas de imagem de referência, dentro de uma lista de imagem de referência, cada entrada tem um índice de referência que identifica o quadro de referência. Quando um quadro de referência não é usado como uma estrutura de referência que pode ser removida a partir da memória de imagem de referência, ou marcado como "utilizado para referência" ou uma estrutura diferente da de referência, em que o local de armazenamento que o quadro de referência pode ser ocupado por um novo quadro de referência.
[0257] O protocolo de transporte em tempo real (RTP) é amplamente utilizado para o transporte em tempo real de mídia cronometradas, como áudio e vídeo. No transporte de RTP, dados de mídia são encapsulados em vários pacotes RTP. Um formato de carga útil de RTP pode ser especificado para o transporte de um fluxo de bits codificado de determinado formato ao longo de RTP. Por exemplo, um projeto de formato de carga útil SVC RTP foi especificado no RFC 6190 pela Internet Engineering Task Force (IETF). Em formato de carga útil SVC RTP, um tipo de unidade de NAL, referida como uma unidade de informação de escalabilidade de conteúdo de carga útil (PACSl) NAL, é especificado. A unidade PACSl NAL, se estiver presente, é a primeira unidade de NAL em um pacote agregação contendo múltiplas unidades NAL, e que não está presente em outros tipos de pacotes. A unidade PACSl NAL indica as características de escalabilidade que são comuns para todas as demais unidades NAL na carga, tornando, assim, mais fácil para um elemento de rede ciente de mídia (MANE) decidir se avançar / processar / descartar o pacote de agregação. Os remetentes podem criar unidades PACSl NAL. Os receptores podem ignorar unidades PACSl NAL ou usá-las como sugestões para permitir o processamento de pacotes de agregação eficiente. Quando a primeira unidade de agregação de um pacote de agregação contém uma unidade PACSl NAL, existe pelo menos uma unidade de agregação adicional presente no mesmo pacote. Os campos de cabeçalho RTP são definidos de acordo com as demais unidades NAL no pacote de agregação.
[0258] Como descrito acima, uma unidade de acesso pode conter fatias de diferentes tipos de componentes (por exemplo, componente principal de textura, componentes de textura redundantes, componentes auxiliares, componentes de profundidade / disparidade), pontos de vista diferentes, diferentes camadas e escalonáveis. Elementos de sintaxe que são comuns para uma fatia, por exemplo, os elementos de sintaxe que são convencionalmente incluídos no cabeçalho da fatia, pode ter o mesmo valor em diferentes fatias de uma mesma unidade de acesso. No entanto, convencionalmente estes elementos de sintaxe são codificados em cada fatia. No documento a seguir, são apresentadas concretizações diferentes para reduzir a taxa de bits ou pouco utilizada para a contagem de elementos de sintaxe de codificação que têm o mesmo valor, em várias fatias dentro de uma unidade de acesso.
[0259] Em muitas concretizações, pelo menos um subconjunto dos elementos de sintaxe que têm sido convencionalmente incluídos em um cabeçalho de fatia são incluídos em um conjunto de parâmetros de GOS (Grupo de fatias) por um codificador. Um codificador pode codificar um conjunto de parâmetro de GOS definido como uma unidade de NAL. Unidades de NAL de conjuntos de parâmetros de GOS podem ser incluídas no fluxo de bits em conjunto com, por exemplo, unidades NAL de fatia codificada, mas também podem ser carregadas fora banda, tal como descrito anteriormente, no contexto de outros conjuntos de parâmetros.
[0260] Em muitas concretizações, a estrutura de sintaxe do conjunto de parâmetros de GOS inclui um identificador, que pode ser utilizado quando se refere a um determinado conjunto de parâmetro de GOS de exemplo, por exemplo, a partir de um cabeçalho de fatia ou outro conjunto de parâmetros de GOS. Em algumas concretizações, a estrutura de sintaxe do conjunto de parâmetros de GOS não inclui um identificador, mas um identificador é inferido por ambos o codificador e decodificador, por exemplo, utilizando a ordem de fluxo de bits de conjunto de estruturas de sintaxe de parâmetro de GOS e um esquema de numeração pré-definido.
[0261] Em algumas concretizações, o codificador e o decodificador inferem o conteúdo ou a instância do conjunto de parâmetro de GOS de outras estruturas de sintaxe já codificadas ou decodificadas ou presentes no fluxo de bits. Por exemplo, o cabeçalho da fatia do componente de vista de textura da vista de textura de base pode implicitamente formar um conjunto de parâmetros de GOS. O codificador e o decodificador podem inferir um valor de identificador para esses conjuntos de parâmetros de GOS inferidos. Por exemplo, o conjunto de parâmetros de GOS formado a partir do cabeçalho da fatia do componente de vista da textura da vista de base pode ser inferido como tendo um valor identificador igual a 0.
[0262] Em algumas concretizações, um conjunto de parâmetros de GOS é válido dentro de uma unidade de acesso particular associada com ela. Por exemplo, se uma estrutura de sintaxe de conjunto de parâmetros de GOS está incluída na sequência de unidade de NAL para uma unidade de acesso particular, onde a sequência está na ordem decodificação ou fluxo de bits, o conjunto de parâmetros de GOS pode ser válido a partir de sua localização de aparência até o fim da unidade de acesso. Em algumas concretizações, um conjunto de parâmetros de GOS pode ser válido para muitas unidades de acesso.
[0263] O codificador pode codificar vários conjuntos de parâmetros de GOS para uma unidade de acesso. O codificador pode determinar para codificar um conjunto de parâmetro de GOS, caso seja conhecido, esperado, ou estima-se que pelo menos um subconjunto de valores de elementos de sintaxe de um cabeçalho de fatia a ser codificado seria o mesmo em uma fatia de cabeçalho subsequente.
[0264] O espaço de numeração limitado pode ser usado para o identificador do conjunto de parâmetros de GOS. Por exemplo, um código de comprimento fixo pode ser utilizado e pode ser interpretado como um valor inteiro sem sinal de um determinado intervalo. O codificador pode usar um conjunto de parâmetros de valor identificador de GOS para um primeiro conjunto de parâmetros de GOS e, posteriormente, para um segundo conjunto de parâmetros de GOS, se o primeiro conjunto de parâmetros de GOS, posteriormente, não é referido, por exemplo, através de um cabeçalho de fatia ou conjunto de parâmetros de GOS. O codificador pode repetir uma estrutura de sintaxe de conjunto de parâmetros de GOS dentro do fluxo de bits, por exemplo, para conseguir uma melhor robustez contra erros de transmissão.
[0265] Em muitas concretizações, elementos de sintaxe que podem ser incluídos em um conjunto de parâmetros de GOS são conceitualmente coletados em conjuntos de elementos de sintaxe. Um conjunto de elementos de sintaxe para um conjunto de parâmetros de GOS pode ser formado, por exemplo, em uma ou mais das seguintes bases:
[0266] - Elementos de sintaxe que indicam uma camada escalonável e / ou outros recursos de escalabilidade
[0267] - Elementos de sintaxe que indicam uma vista e / ou outras características multivista
[0268] - Elementos de sintaxe relacionados a um tipo de componente específico, como profundidade / disparidade
[0269] - Elementos de sintaxe relacionados com a identificação da unidade de acesso, na ordem de decodificação e / ou ordem de saída e / ou outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso
[0270] - Elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista
[0271] - Elementos de sintaxe relacionados com modificação de lista de imagens de referência
[0272] - Elementos de sintaxe referentes ao aparelho de imagem de referência usado
[0273] - Elementos de sintaxe relacionados à decodificação de marcação de imagem de referência
[0274] - Elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada
[0275] - Elementos de sintaxe para controlar a filtragem de desbloqueio
[0276] - Elementos de sintaxe para controlar filtragem de circuito adaptativo
[0277] - Elementos de sintaxe para o controle de deslocamento de amostra adaptativo
[0278] - Qualquer combinação de conjuntos acima
[0279] Para cada conjunto de elementos de sintaxe, o codificador pode ter uma ou mais das seguintes opções de codificação, quando um conjunto de parâmetros de GOS:
[0280] - O conjunto de elementos de sintaxe pode ser codificado em conjunto um parâmetro de estrutura de sintaxe de GOS, ou seja, valores dos elementos de sintaxe codificados do conjunto de elementos de sintaxe podem ser incluídos na estrutura da sintaxe do conjunto de parâmetros de GOS.
[0281] - O conjunto de elementos de sintaxe pode ser incluído por referência a um conjunto de parâmetros de GOS. A referência pode ser dada como um identificador para um outro conjunto de parâmetros de GOS. O codificador pode usar um conjunto de parâmetro de GOS de referência diferente para diferentes conjuntos de elementos de sintaxe.
[0282] - O conjunto de elementos de sintaxe pode ser indicado ou inferido para estar ausente do conjunto de parâmetros de GOS.
[0283] As opções de que o codificador seja capaz de escolher por um conjunto de elementos de sintaxe particular quando a codificação de um conjunto de parâmetros de GOS pode depender do tipo de elemento de sintaxe. Por exemplo, o conjunto de elemento de sintaxe relacionado com as camadas escalonáveis pode estar sempre presente em um conjunto de parâmetros de GOS, enquanto que o conjunto de elementos de sintaxe que pode permanecer inalterado em todas as fatias de uma componente de vista pode não estar disponível para a sua inclusão, por referência, mas pode estar opcionalmente presente no conjunto de parâmetros de GOS e os elementos de sintaxe relacionados à modificação da lista de imagem de referência pode ser incluída por referência, incluída como tal, ou estar ausente de uma estrutura de sintaxe de conjunto de parâmetros de GOS. O codificador pode codificar indicações no fluxo de bits, por exemplo, em uma estrutura de sintaxe de conjunto de parâmetros de GOS, que foi utilizada na opção de codificação. A tabela de códigos e / ou de codificação de entropia pode depender do tipo de conjunto de elemento de sintaxe. O decodificador pode usar, com base no tipo de conjunto de elemento de sintaxe a ser decodificado, a tabela de código e / ou a entropia de decodificação que é correspondida com a tabela de código e / ou codificação de entropia utilizada pelo codificador.
[0284] O codificador pode ter vários meios para indicar que a associação entre um conjunto de elementos de sintaxe e o conjunto de parâmetros de GOS utilizado como a fonte para os valores do conjunto de elementos de sintaxe. Por exemplo, o codificador pode codificar um circuito de elementos de sintaxe, em que cada entrada do circuito é codificada como elementos de sintaxe indicando um valor de identificador de conjunto de parâmetro de GOS usada como referência e identificação dos conjuntos de elementos de sintaxe copiados a partir do conjunto de parâmetros de referência do GOP. Em outro exemplo, o codificador pode codificar um número de elementos de sintaxe, indicando cada um conjunto de parâmetros de GOS. O último conjunto de parâmetro de GOS no circuito contendo um conjunto de elementos de sintaxe particular é a referência para o conjunto de elemento de sintaxe no conjunto de parâmetro de GOS, o codificador está atualmente codificando para o fluxo de bits. O decodificador analisa os conjuntos de parâmetros de GOS codificados do fluxo de bits em conformidade, de modo a reproduzir os mesmos conjuntos de parâmetros de GOS como o codificador.
[0285] No exemplo concretizações, as estruturas de sintaxe, semântica de elementos de sintaxe e processo de decodificação podem ser especificados como a seguir. Os elementos de sintaxe do fluxo de bits são representados em negrito. Cada elemento de sintaxe é descrito pelo seu nome (todas as letras minúsculas com caracteres de sublinhado), opcionalmente suas uma ou duas categorias de sintaxe, e um ou dois descritores para o seu método de representação codificada. O processo de decodificação se comporta de acordo com o valor do elemento de sintaxe e para os valores de elementos de sintaxe anteriormente decodificados. Quando um valor de um elemento de sintaxe é usado nas tabelas de sintaxe ou o texto, que aparece em regular (por exemplo, não negrito) tipo. Em alguns casos, as tabelas de sintaxe podem utilizar os valores de outras variáveis derivadas a partir de valores de elementos de sintaxe. Essas variáveis aparecem nas tabelas de sintaxe ou de texto, chamadas por uma mistura de letras minúsculas e maiúsculas e sem qualquer caractere de traço baixo. Variáveis que começam com uma letra maiúscula são derivadas para a decodificação da estrutura de sintaxe atual e todas as estruturas de sintaxe, dependentes. Variáveis iniciadas com uma letra maiúscula podem ser utilizadas no processo de decodificação para estruturas de sintaxe posteriores, sem mencionar a estrutura de sintaxe originária da variável. As variáveis que começam por uma letra minúscula são usadas apenas dentro do contexto em que elas são derivadas. Em alguns casos, os nomes de "mnemónicas" para valores de elementos de sintaxe ou valores de variáveis são utilizados de forma intercambiável com os seus valores numéricos. Às vezes, os nomes "mnemônicos" são utilizados sem quaisquer valores numéricos associados. A associação de valores e nomes é especificada no texto. Os nomes são construídos a partir de um ou mais grupos de letras separadas por um sublinhado. Cada grupo começa com uma letra maiúscula e pode conter mais letras maiúsculas.
[0286] Nas concretizações de exemplo, notação comum para os operadores aritméticos, operadores lógicos, operadores relacionais, operadores bit a bit, operadores de atribuição, e notação de intervalo, por exemplo, conforme especificado no H.264 / AVC ou um projeto HEVC pode ser usada. Além disso, funções matemáticas comuns, por exemplo, conforme especificado no H.264 / AVC ou um projeto HEVC podem ser usadas e uma forma comum de precedência e a ordem de execução (da esquerda para a direita ou da direita para a esquerda) de operadores, por exemplo, conforme especificado no H.264 / AVC ou um projeto HEVC pode ser utilizado.
[0287] Nas concretizações de exemplo, os seguintes descritores podem ser usados para especificar o processo de análise de cada um dos elementos de sintaxe.
[0288] - b (8): byte tendo qualquer padrão de sequência de bits (8 bits).
[0289] - Se (v): elemento de sintaxe inteiro com sinal Exp-Golomb codificado com primeiro bit esquerdo.
[0290] - U (n): inteiro sem sinal usando n bits. Quando n é "v" na tabela de sintaxe, o número de bits varia de uma forma dependente do valor de outros elementos de sintaxe. O processo de análise para este descritor é especificado por n próximos bits do fluxo de bits interpretado como uma representação binária de um inteiro sem sinal com o primeiro bit mais significativo escrito.
[0291] - Ue (v): elemento de sintaxe inteiro sem sinal Exp-Golomb codificado com o primeiro bit esquerdo.
[0292] Uma sequência de bits Exp-Golomb pode ser convertida para um número de código (codeNum), por exemplo, usando a seguinte tabela:
Figure img0002
Figure img0003
[0293] Um número de código que corresponde a uma sequência de bits Exp-Golomb pode ser convertidos para se(v), por exemplo, usando a seguinte tabela:
Figure img0004
[0294] Nas concretizações de exemplo, uma estrutura de sintaxe pode ser especificada usando o seguinte. Um grupo de instruções entre chaves é uma instrução composta e é tratada funcionalmente como uma única instrução. Uma estrutura "enquanto" especifica um teste para saber se a condição for verdadeira, e se for verdade, especifica a avaliação de uma instrução (ou instrução composta) repetidamente até que a condição não é mais verdade. A estrutura "fazer ... enquanto" especifica a avaliação de uma declaração de uma vez, seguido por um teste para saber se a condição for verdadeira, e se for verdade, especifica a avaliação repetida da declaração até que a condição não é mais verdade. Uma estrutura "se ... se não" especifica um teste para saber se a condição for verdadeira, e se a condição for verdadeira, especifica a avaliação de uma instrução primária, caso contrário, especifica a avaliação de uma instrução alternativa. A parte "se não" da estrutura e a declaração alternativa associada é omitida se não é necessária uma avaliação declaração alternativa. A estrutura "para" especifica de avaliação de uma declaração inicial, seguido de um teste de uma condição, e se a condição for verdadeira, especifica a avaliação repetida de uma declaração preliminar seguida por uma declaração posterior até que a condição não é mais verdade.
[0295] Uma concretização de exemplo para 3DV-ATM é fornecida a seguir.
[0296] A unidade 3DV NAL é definida para conjuntos de parâmetros de GOS, fatias codificadas de vistas melhoradas de textura codificada, e fatias de profundidade. O tamanho do cabeçalho da unidade NAL para a unidade 3DV NAL (por exemplo, usando o tipo de unidade de NAL 21) é de 2 bytes. O segundo byte contém temporal_id, 3dv_nal_unit_type e gos_param_id. 3dv_nal_unit_type especifica se a unidade de NAL contém um conjunto de parâmetros de GOS ou uma fatia 3DV. Se a unidade de NAL contém um conjunto de parâmetros de GOS, gos_param_id fornece o valor do identificador do conjunto de parâmetros de GOS especificado na unidade de NAL. Se a unidade de NAL contém uma fatia, gos_param_id refere-se ao conjunto de parâmetros de GOS contendo os valores dos elementos de sintaxe de cabeçalho de fatia de fatia. Elementos de sintaxe que foram anteriormente incluídos na extensão do cabeçalho unidade MVC NAL estão presentes no conjunto de parâmetros de GOS.
[0297] A sintaxe nal_unit é anexada com a seção em itálico abaixo, assumindo que tipo de unidade NAL 21 está reservado para a unidade 3DV NAL.
Figure img0005
Figure img0006
[0298] A sintaxe de nal_unit_header_3dv_extension () pode ser especificada como a seguir:
Figure img0007
[0299] A semântica de nal_unit_header_3dv_extension () pode ser especificada abaixo.
[0300] 3dv_nal_unit_type igual a 0 especifica que a unidade de NAL contém um conjunto de parâmetros de GOS.
[0301] 3dv_nal_unit_type igual a 1, indica que a unidade de NAL contém uma extensão 3DV de fatia codificada.
[0302] Temporal_id especifica um identificador temporal, para a unidade de NAL. Quando nal_unit_type é igual a 1 ou 5 e a unidade de NAL não é imediatamente precedida por uma unidade de NAL com nal_unit_type igual a 14, temporal_id pode ser inferida a ser igual ao valor da temporal_id para as vistas sem base na mesma unidade de acesso. O valor de temporal_id pode ser o mesmo para todos prefixo, extensão de MVC de fatia codificada, e as unidades NAL 3DV de uma unidade de acesso. Quando uma unidade de acesso contém qualquer unidade de NAL com nal_unit_type igual a 5 ou a non-idr_flag igual a 0, temporal_id pode ser igual a 0. A atribuição de valores de temporal_id pode ser adicionalmente restringida por um processo de extração de sub-fluxo de bits.
[0303] gos_param_id especifica um identificador do conjunto de parâmetros de GOS. Quando 3dv_nal_unit_type é igual a 0, gos_param_id especifica o identificador do conjunto de parâmetros de GOS que está em uso para a extensão 3DV de fatia codificada contida na unidade de NAL. Quando 3dv_nal_unit_type é igual a 1, gos_param_id especifica o identificador do conjunto de parâmetros de GOS que é especificado na unidade de NAL. Quando 3dv_nal_unit_type é igual a 1, gos_param_id pode estar no intervalo de 0 a 15, inclusive. Quando 3dv_nal_unit_type é igual a 0, gos_param_id pode estar no intervalo de 1 a 15, inclusive.
[0304] A sintaxe de 3dv_nal_unit (), por exemplo, tipo de unidade de NAL 21, é especificada da seguinte forma:
Figure img0008
[0305] A sintaxe de gos_param_set(), ou seja, a estrutura de sintaxe do conjunto de parâmetros GOS, é especificada da seguinte forma:
Figure img0009
Figure img0010
[0306] As semânticas de gos_param_set () são especificadas da seguinte forma:
[0307] slice_param_for_au_flag igual a 0 especifica que os valores dos elementos de sintaxe contidos na estrutura de sintaxe slice_param_for_au () são os mesmos que em qualquer outra estrutura de sintaxe de conjunto de parâmetros de GOS ou cabeçalho de fatia da mesma unidade de acesso. slice_param_for_au_flag igual a 1, indica que a estrutura de sintaxe slice_param_for_au () está presente neste conjunto de parâmetros de GOS.
[0308] Quando gos_parameter_inheritance_flag é igual a 0, ref_pic_list_modification_flag [i], pred_weight_flag [i], e dec_ref_pic_marking_flag [i] são especificados como a seguir.
[0309] ref_pic_list_modification_flag [i] igual a 1 especifica que a estrutura de sintaxe ref_pic_list_3dv_modification () em vigor no conjunto de parâmetros de GOS identificado por gos_param_id está presente. As semânticas de ref_pic_list_modification_flag [i] iguais a 0 não são especificadas.
[0310] pred_weight_flag [i] igual a 1, indica que a estrutura de sintaxe pred_weight_table () em vigor no conjunto de parâmetros de GOS identificado por gos_param_id está presente. As semânticas de pred_weight_flag [i] igual a 0 não são especificadas.
[0311] dec_ref_pic_marking_flag [i] igual a 1 especifica que a estrutura de sintaxe dec_ref_pic_marking ()do parâmetro GOS definir em vigor no conjunto de parâmetros de GOS identificado por gos_param_id está presente. As semânticas de dec_ref_pic_marking_flag [i] iguais a 0 não são especificadas.
[0312] Quando gos_parameter_inheritance_flag é igual a 1, ref_gos_param_id[ i ], ref_pic_list_modification_flag [i], pred_weight_flag [i], e dec_ref_pic_marking_flag [i] são especificadas como a seguir.
[0313] ref_gos_param_id [i] identifica o conjunto de parâmetros de GOS usado como fonte para a obtenção de estruturas de sintaxe identificadas por ref_pic_list_modification_flag [i], pred_weight_flag [i], e dec_ref_pic_marking_flag [i] que estão em vigor para o conjunto de parâmetros de GOS identificado por
[0314] gos_param_id. ref_gos_param_id [i] igual a 0 identifica que o cabeçalho da fatia do componente de vista da textura da vista de base da mesma unidade de acesso é utilizada como a fonte para a obtenção de estruturas de sintaxe identificados por ref_pic_list_modification_flag [i], pred_weight_flag [i], e dec_ref_pic_marking_flag [i] que estão em vigor para o conjunto de parâmetros de GOS identificado por gos_param_id.
[0315] ref_pic_list_modification_flag [i] igual a 1 especifica que a estrutura de sintaxe ref_pic_list_3dv_modification () do conjunto de parâmetros de GOS identificado por ref_gos_param_id [i] está em vigor no conjunto de parâmetros de GOS identificado por gos_param_id. As semânticas de ref_pic_list_modification_flag [i] igual a 0 não são especificadas.
[0316] pred_weight_flag [i] igual a 1 especifica que a estrutura de sintaxe pred_weight_table ()do conjunto de parâmetros de GOS identificado por ref_gos_param_id [i] está em vigor no conjunto de parâmetros de GOS identificado por gos_param_id. As semânticas de pred_weight_flag [i] igual a 0 não são especificadas.
[0317] dec_ref_pic_marking_flag [i] igual a 1 especifica que a estrutura de sintaxe dec_ref_pic_marking () do conjunto de parâmetros de GOS identificado ref_gos_param_id [i] está em vigor no conjunto de parâmetros de GOS identificado por gos_param_id. As semânticas de dec_ref_pic_marking_flag [i] igual a 0 não são especificadas.
[0318] A sintaxe de slice_param_for_3dv_view_component () é especificada abaixo. A estrutura de sintaxe contém elementos de sintaxe o valor de que pode permanecer inalterado durante todas as fatias de um componente de vista.
Figure img0011
Figure img0012
[0319] As semânticas de slice_param_for_3dv_view_component () são especificadas da seguinte forma.
[0320] A semântica de non_idr_flag, priority_id, view_id, achor_pic flag e inter_view_flag são as mesmas que no MVC quando a unidade de NAL associada é uma unidade 3DV NAL referindo o conjunto de parâmetros de GOS identificado por gos_param_id.
[0321] depth_flag igual a 0 especifica que a unidade de NAL referindo-se ao conjunto de parâmetros de GOS identificados por gos_param_id contém uma fatia para uma maior componente de vista textura, depth_flag igual a 1, indica que a unidade de NAL referindo-se ao conjunto de parâmetros de GOS identificados por gos_param_id contém uma fatia para uma componente de vista de profundidade.
[0322] single_slice_flag igual a 0 especifica que um componente de vista referindo-se conjunto de parâmetros de GOS identificados por gos_param_id pode ter várias fatias, single_slice_flag igual a 1 especifica que cada componente de vista referindo-se ao conjunto de parâmetros de GOS identificados por gos_param_id contém exatamente uma fatia.
[0323] initialisation_param_equal_flag igual a 0 especifica que nenhuma estrutura de sintaxe slice_param_for_3dv está presente. initialisation_param_equal_flag igual a 1, indica que a estrutura de sintaxe slice_param_for_3dv está presente.
[0324] A sintaxe de slice_param_for_3dv () é especificada abaixo. A estrutura de sintaxe pode ser incluída na estrutura de sintaxe slice_param_for_3dv_view_component ()ou na estrutura de sintaxe slice_header_in_3dv_extension ().
Figure img0013
Figure img0014
[0325] As semânticas de slice_param_for_3dv () são especificadas da seguinte forma.
[0326] Quando slice_param_for_3dv () está incluída na estrutura de sintaxe slice_param_for_3dv_view_component (), os valores dos elementos de sintaxe se aplicam a todas as fatias de um componente de vista. Quando slice_param_for_3dv () está incluída na estrutura de sintaxe slice_header_in_3dv_extension (), os valores dos elementos de sintaxe aplicam-se à fatia contida na mesma unidade de NAL.
[0327] As semânticas especificadas no H.264 / AVC solicitam os elementos de sintaxe de slice_param_for_3dv () com as seguintes modificações. slice_type tem uma restrição adicional que slice_type não é ser igual a 3, 4, 8 ou 9 Quando colour_plane_id está presente, a semântica especificadas no H.264 / AVC aplica-se. Quando o sinalizador de profundidade é igual a 0, separate_colour_plane_flag é inferida a ser igual a 1 e colour_plane_id é inferida para ser igual a 0. diret_spatial_mv_pred_flag tem a mesma semântica, tal como especificado em H.264 / AVC com a seguinte modificação. Quando RefPicListl [0] aponta para um componente de referência inter-vista ou um único componente de referência inter-vista, que pertence à mesma unidade de acesso como o componente de vista atual, diret_spatial_mv_pred_flag é igual a 1. num_ref_idx_10_active_minusl e num_ref_idx_11_active_minusl tem a mesma semântica conforme especificado no MVC. dmvp_flag igual a 0 especifica que o processo de predição de vista inter e inter especificado em MVC é aplicado, dmvp_flag igual a 1, indica que o processo de predição de vista inter e baseado em inter profundidade é aplicado.
[0328] depth_weighted_pred_flag igual a 0 especifica que nenhuma predição ponderada baseada em intervalo de profundidade é usado para P ou B fatias de componentes de vista de profundidade. depth_weighted_pred_flag igual a 1, indica que a predição ponderada baseada em intervalo de profundidade é usada para P e B fatias de componentes de vista de profundidade.
[0329] A sintaxe de slice_param_for_au () é especificada abaixo. A estrutura de sintaxe contém elementos de sintaxe, o valor dos quais pode permanecer inalterado durante todas as fatias de uma unidade de acesso contendo unidades 3DV NAL.
Figure img0015
[0330] As semânticas de slice_param_for_au () são especificadas da seguinte forma. A semântica especificada H.264 / AVC aplica-se, com as seguintes restrições adicionais. O valor de cada elemento de sintaxe, em slice_param_for_au pode permanecer inalterado em todos os cabeçalhos de fatia e estruturas de sintaxe slice_header_for_au incluídas na mesma unidade de acesso.
[0331] A sintaxe de slice_header_in_3dv_extension () é especificada abaixo. Os valores da single_slice_flag e initialisation_param_equal_flag são do conjunto de parâmetros de GOS identificado por gos_param_id.
Figure img0016
[0332] As semânticas de slice_header_in_3dv_extension () são especificadas da seguinte forma. A semântica especificada no H.264 / AVC aplicam-se. Se um elemento ou estrutura de sintaxe não está presente em slice_header_in_3dv_extension (), o seu valor é herdado do conjunto de parâmetros de GOS identificado por gos_param_id.
[0333] Uma concretização de exemplo para HEVC e suas eventuais extensões escaláveis são fornecida a seguir. As referidas extensões escaláveis podem incluir, por exemplo, escalabilidade de qualidade de grão médio e / de grãos grosseiros, escalabilidade espacial, escalabilidade espacial prolongada, codificação multivista, codificação de profundidade avançada, codificação de imagem auxiliar, profundidade de bits de codificação escalonável, ou qualquer combinação destes.
[0334] Com extensões escaláveis habilitadas, uma unidade de acesso pode ser composta por um número relativamente grande componentes de imagens, tais como textura codificada e componentes de vista de profundidade, bem como de dependência e representações de camada. O tamanho codificado de alguns componentes de imagem pode ser relativamente pequeno, por exemplo, porque eles podem ser considerados para representar deltas relativos à vista base ou camada de base e porque os componentes de imagem de profundidade podem ser relativamente fáceis para compactar. Consequentemente, o cabeçalho da unidade de NAL e a sobrecarga do cabeçalho de fatia podem levar a maior parte proporcional da contagem de byte utilizada para essas imagens que o compõem.
[0335] O codec HEVC pode ser vulnerável a erros de transmissão e qualquer tipo de ocultação de erro pode resultar em um aumento tanto da magnitude e da área espacial do erro ao longo do tempo. Muitos dos sistemas de transmissão, tais como MPEG-DASH, são livres de erros.
[0336] Algumas das propriedades de escalabilidade de SVC e MVC são fornecidas no cabeçalho da unidade de NAL, devido a que o cabeçalho da unidade de NAL tem tamanho relativamente grande, ou seja, 4 bytes, para fatias codificadas de SVC e MVC. Um menor tamanho do cabeçalho da unidade de NAL poderia ser conseguido, se a unidade de cabeçalho ou fatia cabeçalho NAL deu uma referência a um conjunto de parâmetros, em que foram indicadas as propriedades de escalabilidade. No entanto, tal projeto exigiria que a entidade realizasse a extração de sub- fluxo de bits ou adaptação escalonável do fluxo de bits, como um gateway de multimídia ou uma unidade de controle de conferência Multiponto (MCU), tem de ter acesso aos conjuntos de parâmetros e manter o estado de ativação dos conjuntos de parâmetros.
[0337] A concretização de exemplo fornecida abaixo pode fornecer soluções para combater as seguintes áreas técnicas em conjunto. Em primeiro lugar, a concretização de exemplo pode proporcionar ganchos para extensões escaláveis de HEVC. Em segundo lugar, pode ser possível fornecer extração sub-fluxo de bits que não requer acesso a conjuntos de parâmetros, a análise de conjuntos de parâmetros, ou manter o controle da ativação dos conjuntos de parâmetros. Em terceiro lugar, concretização de exemplo pode proporcionar a redução do tamanho do cabeçalho da unidade de NAL, quando comparado com o cabeçalho de 4 bytes de VPC e MVC. Em quarto lugar, ela também pode proporcionar a redução da sobrecarga da contagem de bytes do cabeçalho de fatia quando uma imagem tiver várias fatias. Em quinto lugar, uma prestação adicional da concretização de exemplo pode incluir redução sobrecarga da contagem de bytes do cabeçalho de fatia nas extensões escaláveis.
[0338] A componente de imagem pode ser definida como uma unidade de NAL delimitador componente de imagem e as subsequentes unidades de NAL de fatias codificadas até o final da unidade de acesso ou até a próxima unidade de NAL de componente de delimitador de imagem, exclusive, o que ocorrer primeiro, na ordem de decodificação. Na prática, em HEVC sem extensões escalonáveis, a componente de imagem pode ser considerada como contendo a imagem codificada de uma unidade de acesso, e nas futuras extensões escalonáveis um componente de imagem, por exemplo, deverá conter um componente de vista, um mapa de profundidade, uma representação da dependência, uma representação de camada.
[0339] Imagens de componentes são separadas umas das outras utilizando uma unidade de NAL de delimitador de componente de imagem, que também pode transportar valores comuns de elementos de sintaxe para serem utilizados para a decodificação das fatias codificadas do componente de imagem.
[0340] Nesta concretização de exemplo, a cada componente de imagem é dado um identificador de componente de imagem de dependência (cpg_id), o qual é sinalizado tanto para a unidade de NAL de delimitador de componente de imagem e para as fatias codificadas, formando, portanto, a associação entre elas.
[0341] A Figura 10 proporciona uma ilustração simplificada da estrutura de uma unidade de acesso de acordo com uma concretização de exemplo.
[0342] Uma unidade de acesso pode começar com uma unidade de NAL de delimitador de unidade de acesso, que pode estar opcionalmente presente. Zero ou mais unidades de NAL SEI podem acompanhar a unidade de NAL de delimitador unidade de acesso (se presente). A unidade de NAL de delimitador de componente de imagem precede cada componente de imagem. Um componente de imagem compreende uma ou mais unidades NAL de fatia codificada. Pode haver uma ou mais componentes de imagem dentro de uma unidade de acesso.
[0343] Os elementos de sintaxe do cabeçalho de fatia são classificados em uma estrutura de elementos de sintaxe, onde cada estrutura pode ter características semelhantes dentro de um componente de imagem, ou seja, quer que ficam inalteradas em todas as fatias codificadas de uma componente de imagem ou mudam entre as fatias codificadas de uma componentes de imagem. Por exemplo, podem ser especificadas as seguintes estruturas de elementos de sintaxe ou estruturas de parâmetros fatia:
[0344] 1. Identificação de imagem (idr_pic_id e POC relacionada)
[0345] 2. Conjunto de Imagem de referência Adaptação
[0346] 3. ID de conjunto de parâmetro de
[0347] 4. Controle de filtro de desbloqueio Adaptativo
[0348] 5. Controle de filtro de circuito Referência
[0349] 6. Construção de lista de imagens de
[0350] 7. Tabela de peso de predição para a predição ponderada
[0351] Ao codificar uma unidade de NAL de delimitador de componente de imagem, pode ser indicado se quais os acima mencionados estão presentes na unidade de NAL de delimitador de componente de imagem e, portanto, compartilhado entre todas as fatias de componente de imagem codificadas. As estruturas de elementos de sintaxe não presentes na unidade de NAL de delimitador de componente de imagem podem estar presentes no cabeçalho da fatia.
[0352] A Figura 11 mostra um exemplo de um componente de imagem, incluindo uma unidade de NAL de delimitador de componente de imagem e duas unidades de NAL de fatia codificada. A unidade de NAL de componente de imagem inclui três das sete estruturas de sintaxe de parâmetro de fatia listadas acima: identificação de imagem, conjunto de imagem de referência, e ID de conjunto de parâmetro de adaptação. As fatias codificadas herdam essas três estruturas de parâmetros de fatia da unidade de NAL de delimitador de componente de imagem. Neste exemplo, os cabeçalhos de fatia das fatias codificadas também contêm estruturas de construção da lista de imagens de referência, que, neste exemplo, é adaptada de forma diferente para as fatias codificadas e, portanto, não incluídas na unidade de NAL de delimitador de componente de imagem. As três estruturas restantes não estão presentes neste exemplo, mas o funcionamento do filtro de desbloqueio e do filtro de circuito fechado adaptativo é governado pelo APS em vigor e predição ponderada não está sendo utilizado neste exemplo e, por conseguinte, a tabela de peso de predição não está presente.
[0353] Em ambientes onde decodificação independente das fatias pode ser desejável, mesmo que um ou mais delimitadores de componentes de imagem foram perdidos, qualquer uma das seguintes estratégias podem ser utilizadas:
[0354] - O codificador pode optar por não codificar elementos de sintaxe de cabeçalho de fatia no delimitador de componente de imagem, mas nos cabeçalhos de fatia como é feito convencionalmente. Assim, a mesma robustez de erro como com a HEVC WD corrente pode ser alcançado.
[0355] - Um mecanismo de repetir as unidades NAL de delimitador de componente de imagem poderia ser introduzido.
[0356] O mecanismo pode ser introduzido em HEVC - por exemplo, um mecanismo SEI em que as mensagens SEI são permitidas em qualquer ponto no fluxo de bits pode ser introduzido e a repetição do delimitador de componente de imagem pode ser realizada com tais mensagens SEI. Alternativamente ou em adição, um mecanismo de nível de transporte pode ser usado. Por exemplo, a unidade de NAL de delimitador de componente de imagem pode ser repetida, quando o transmissor vê apropriado, dentro de pacotes de transporte, por exemplo, levados dentro de um mecanismo, tal como a unidade PACSI NAL do formato de carga útil SVC RTP.
[0357] A fim de reduzir a contagem de bits para transportar os parâmetros de cabeçalho de fatia ainda mais quando vários componentes imagens estão presentes em uma unidade de acesso, uma predição dos parâmetros selecionados podem acontecer através de unidade de NAL de delimitador de componente de imagem. Por exemplo, uma codificação de vídeo multivista de profundidade melhorada pode ser vantajosa que as estruturas de alguns dos parâmetros de fatia são preditas entre componentes de vista de textura e profundidade da mesma ID de vista, enquanto que para alguns outros elementos de sintaxe, é melhor herdar a partir de elementos de sintaxe um componente de vista diferente do mesmo tipo de componente (textura ou profundidade).
[0358] Na prática, uma unidade de NAL de delimitador de componente de imagem para uma componente de imagem sem base pode conter tanto por inclusão ou por referência a outra unidade de NAL de delimitador de componente de imagem as estruturas de elementos de sintaxe indicadas. A referência é dada em termos de um valor cpg_id. Os elementos de sintaxe em uma unidade de NAL de delimitador de componente de imagem com cpg_id igual a CPDID1 estão agrupados em conjuntos de elementos de sintaxe. Cada conjunto de elementos de sintaxe pode ser copiado seletivamente a partir de um delimitador de componente de imagem anterior NAL tendo cpg_id igual a unidade CPDID2 na mesma unidade de acesso. CPDID1 é maior do que CPDID2. Por isso, os parâmetros de cabeçalho de fatia podem ser, de modo eficiente e flexível, compartilhados entre as imagens que os compõem.
[0359] A Figura 12 fornece um exemplo que ilustra uma unidade de acesso de profundidade mais multivista com dois componentes de imagens de textura e profundidade. A ordem fluxo de bits desses componentes de imagens é assumida como sendo o seguinte: imagem de textura de vista de base, imagem de profundidade de vista de base, imagem de textura de vista sem base, e imagem de profundidade de vista sem base. Neste exemplo, a identificação da imagem e estruturas da imagem de referência são as mesmas em todos os componentes de imagem e, portanto, incluídas por referência nas unidades de NAL de delimitador de componente de imagem com cpg_id maior que 0, As listas de imagens de referência de componentes de textura imagens são as mesmas, e as listas de imagem de referência para componentes de imagens de profundidade são as mesmas. No entanto, as listas de imagem de referência de textura de componentes de imagens diferem das dos componentes de imagens de profundidade. Assim, a fonte de predição muda para a estrutura de construção de lista de imagem de referência. Neste exemplo, assume-se que as estruturas de quatro parâmetros de fatia restantes são incluídas nos cabeçalhos de fatia ou estão ausentes. Note que cpg_id das duas últimas unidades NAL de delimitador de imagem pode ser o mesmo valor (2), nenhum deles são usados para a predição de qualquer unidade de NAL de delimitador de imagem posterior.
[0360] A cada componente de imagem é dado um identificador de componente de imagem de dependência (cpg_id), que é também sinalizado no cabeçalho da unidade de NAL. Os valores de cpg_id são restringidos, de tal modo que a extração de sub-fluxo de bits pode ser feita com base em cpg_id. Em outras palavras, um fluxo de bits formado por exclusão das unidades de NAL de delimitador de componente de imagem e unidades NAL de fatia codificada tendo um certo cpg_id maior que 0 é um fluxo de bits em conformidade.
[0361] Neste exemplo de concretização da cpg_id está incluído no cabeçalho da unidade de NAL. Portanto, tem uma gama de valor limitado (por exemplo, 5 bits). Em um caso geral, pode haver um maior número de imagens dentro de um componente da unidade de acesso do que o valor máximo predito pelo intervalo de valores (por exemplo, 32). Consequentemente, os valores cpg_id podem ter de voltar a ser usados dentro de uma unidade de acesso. Em algumas concretizações de exemplos, a unidade de NAL de delimitador de componente de imagem pode ter aninhada estrutura de predição, ou seja, uma unidade de NAL de delimitador de componente de imagem tendo cpg_id igual a CPDID1 pode ser predita a partir da unidade de NAL de delimitador de componente de imagem determinada como a seguir e não são preditas a partir de qualquer outra unidade de NAL de delimitador de componente de imagem. A seguir, as unidades de NAL de delimitador de componente de imagem dentro de uma unidade de acesso são indexados na ordem de decodificação (ou seja ordem de fluxo de bits) com 0, 1, 2, ... e o índice da unidade de NAL de delimitador de componente de imagem atual tendo cpg_id igual CPDID1 é igual a currlndex, onde currlndex é superior a 0. Isto pode ser ilustrado com o seguinte pseudo-código.
[0362] currSmallestCpdld = CPDIDI
[0363] for (i = currlndex - 1, j = 0; i> 0; i-) {
[0364] if (cpdld [i] <currSmallestCpdld) {
[0365] refCpdIdx [j] = i
[0366] j ++
[0367] currSmallestCpdld = cpd_id [i]
[0368] }
[0369] }
[0370] numRefCpdldx = j
[0371] No pseudo-código,
[0372] - um parâmetro de entrada cpdld [i] fornece o valor cpg_id da unidade de NAL de delimitador de componente de imagem com índice i dentro da unidade de acesso;
[0373] - um parâmetro de saída numRefCpdldx fornece o número de unidade de NAL de delimitador de componente de imagem que podem ser utilizadas para prever a unidade de NAL de delimitador de componente de imagem; e
[0374] - se numRefCpdldx é maior do que 0, refCpdIdx [j] fornece os índices da unidade de NAL de delimitador de componente de imagem que podem ser utilizados para prever a unidade de NAL de delimitador de componente de imagem, em que j está no intervalo de 0 a numRefCpdldx - 1, inclusive.
[0375] Consequentemente, a extração de sub-fluxo de bits também pode ser feita em uma granularidade mais fina dentro de uma unidade de acesso como a seguir. Se a componente de imagem que consiste de uma unidade de NAL de delimitador de componente de imagem e as seguintes unidades codificadas de fatia NAL, tendo todos cpg_id igual CPDID 1, é removida a partir do fluxo de bits, em seguida, as imagens componentes que também devem ser removidas a partir do fluxo de bits pode ser determinada com o seguinte algoritmo. Tal como referido acima, os componentes de imagem dentro de uma unidade de acesso são indexados na ordem de decodificação (isto é, a ordem de fluxo de bits), com 0, 1, 2, ... e o índice do componente de imagem de corrente (a ser removida) é currlndex, e o número total de componentes de imagem dentro da unidade de acesso é numlndex.
[0376] for (i = currlndex + 1, j <numlndex; i ++) {
[0377] if (cpdld [i]> CPDID 1) {
[0378] toBeRemovedIdx [j] = i
[0379] j ++
[0380] }
[0381] else
[0382] break
[0383] }
[0384] numToBeRemovedldx = j
[0385] No pseudo-código, "break" sai do circuito (como na linguagem de programação C) e as entradas e saídas são as seguintes:
[0386] - um parâmetro de entrada cpdld [i] fornece o valor cpg_id da unidade de NAL de delimitador de componente de imagem com índice i dentro da unidade de acesso;
[0387] - um parâmetro de saída numToBeRemovedldx fornece o número de imagens do componente a ser removido a partir da unidade de acesso, além do componente de imagem corrente; e
[0388] - numToBeRemovedldx se é maior do que 0,toBeRemovedIdx [j] fornece os índices das imagens de componente a serem removidos a partir do acesso, além do componente de imagem corrente, em que j está no intervalo de 0 a numToBeRemoved - 1, inclusive.
[0389] Este tipo de remoção ou processo de extração de sub-fluxo de bits não estuda quais unidades de NAL de delimitador de componente imagem são realmente utilizadas para a predição, mas só usa as informações que unidade de NAL de delimitador de componente de imagem podem ser usadas para a predição, regido pelas restrições da semântica cpg_id. No entanto, este processo de extração de sub-fluxo de bits pode operar apenas com valores cpg_id que são acessíveis no cabeçalho da unidade de NAL e podem ser usados em uma forma simples, por exemplo, em gateways de mídia ou MCUs.
[0390] Na descrição a seguir, uma concretização de exemplo de algumas estruturas de sintaxe é descrita.
[0391] A sintaxe unidade de NAL podem incluir o seguinte:
Figure img0017
[0392] As semânticas do cpg_id são adicionadas como a seguir. cpd_id é um identificador de imagem de um componente. Os valores de cpg_id são restringidos, como descrito acima.
[0393] A tabela do NAL tipos de unidade podem incluir o seguinte:
Figure img0018
[0394] A estrutura de sintaxe da unidade de NAL de delimitador de componente de imagem de acordo com uma concretização de exemplo é como a seguir.
Figure img0019
Figure img0020
[0395] structure_idc é um identificador da estrutura utilizada nesta estrutura de sintaxe, stracture_idc pode ser usado para indicar a presença e combinação de diferentes elementos de sintaxe estarem presentes nos cabeçalhos de fatia e com unidade de NAL de delimitador de componente de imagem de componentes de imagens especificados HEVC de extensões escaláveis. As unidades de NAL de delimitador de componente imagem com valores estrutura da IDC que não são reconhecidas podem ser ignorados no processo de decodificação.
[0396] single_slice_type_flag igual a 0 especifica que a componente de imagem pode incluir fatias de diferentes tipos. single_slice_type_flag igual a 1 especifica que todas as fatias da componente de imagem têm o mesmo tipo de fatia.
[0397] pred_flag igual a 0 especifica que as seguintes estruturas de parâmetros de fatia indicadas estão incluídas nesta unidade de NAL, pred_flag igual a 1 especifica que as seguintes estruturas de parâmetros de fatia indicadas são incluídas por referência a partir de uma unidade de NAL de delimitador de componente de imagem com cpg_id igual a ref_cpd_id [idx].
[0398] ref_cpd_id [idx] especifica a unidade de NAL de delimitador de componente de imagem usado como referência para as estruturas de parâmetros de fatia indicadas.
[0399] slice_param_flag [i] [idx] especifica que a ia estrutura de parâmetro de fatia está incluída nesta unidade de NAL de delimitador de componente imagem. A inclusão pode ser feita por referência a outra unidade de NAL de delimitador de componente de imagem.
[0400] De acordo com uma concretização de exemplo, a sintaxe do cabeçalho da fatia pode incluir o seguinte:
Figure img0021
Figure img0022
Enquanto decodificação ou análise do cabeçalho de fatia, os elementos de sintaxe incluídos na unidade de NAL de delimitador de componente de imagem anterior com a mesma cpg_id estão em vigor.
[0401] As seguintes estruturas de sintaxe de parâmetro de fatia podem ser especificadas. Estas estruturas de sintaxe incluem parâmetros que residem no cabeçalho de fatia de uma especificação HEVC de projeto.
Figure img0023
Figure img0024
Figure img0025
Figure img0026
Figure img0027
[0402] A semântica dos elementos de sintaxe nestas estruturas mantém-se inalterada em relação à semântica proferidas em uma especificação de projeto HEVC.
[0403] Para uma extensão escalonável de HEVC, um ou mais novos valores de structure_idc podem ser tomados em uso. Além disso, uma extensão escalonável pode também levar uma ou mais novas estruturas de parâmetros de fatia em uso. Um exemplo de uma extensão escalonável para a unidade de NAL de delimitador de componente de imagem com dependency_id e quality_id semelhantes aos de SVC é fornecida abaixo.
Figure img0028
[0404] Predição ou inclusão por referência de uma unidade de NAL de delimitador de componente de imagem para outro pode ser subordinada no valor de structure_idc da unidade de NAL de delimitador de componente de imagem de referência para a predição e / ou a unidade de NAL de delimitador de componente de imagem sendo predita. Por exemplo, certas estruturas de parâmetros de fatia podem ser válidas para profundidade de componentes imagens, embora possam estar ausentes para componente de imagens de textura, e, portanto, nenhuma predição de tal estrutura de parâmetro de fatia ocorre.
[0405] No exemplo acima, os exemplos de concretizações tenham sido descritos com a ajuda da sintaxe do fluxo de bits. Tem de ser compreendido, no entanto, que a estrutura correspondente e / ou o programa de computador pode residir no codificador para gerar o fluxo de bits e / ou no decodificador para decodificar o fluxo de bits. Do mesmo modo, os exemplos de concretizações em que foram descritos com referência a um codificador, que tem de ser entendido que o fluxo de bits resultante e o decodificador têm elementos correspondentes nos mesmos. Do mesmo modo, as concretizações de exemplos que foram descritas com referência a um decodificador, tem de ser entendido que o codificador tem uma estrutura e / ou o programa de computador para gerar o fluxo de bits para serem decodificados pelo decodificador.
[0406] Embora os exemplos acima descrevam concretizações da invenção para operar dentro de um codec dentro de um dispositivo eletrônico, seria apreciado que a invenção, tal como descrito abaixo, pode ser implementada como parte de qualquer codec de vídeo. Assim, por exemplo, concretizações da invenção podem ser implementadas em um codec vídeo, o qual pode aplicar codificação de vídeo sobre caminhos de comunicação com ou sem fios fixos.
[0407] Assim, o equipamento de usuário pode compreender um codec de vídeo, tal como aqueles descritos nas concretizações da invenção acima. Deve ser apreciado que o termo equipamento do usuário destina-se a cobrir qualquer tipo adequado de equipamento de usuário sem fios, tal como telefones móveis, dispositivos de processamento de dados portáteis ou browsers portáteis.
[0408] Além disso, os elementos de uma rede móvel terrestre pública (PLMN) também pode compreender codecs de vídeo, como descrito acima.
[0409] Em geral, as várias concretizações da invenção podem ser implementadas em hardware ou circuitos para fins especiais, ou software, lógica ou qualquer combinação dos mesmos. Por exemplo, alguns aspectos podem ser implementados em hardware, enquanto que outros aspectos podem ser implementados em firmware ou software que pode ser executado por um controlador, microprocessador ou outro dispositivo de computação, embora a invenção não se limite a eles. Embora vários aspectos da invenção possam ser ilustrados e descritos como diagramas de blocos, fluxogramas, ou utilizando alguma outra representação pictórica, deve ser bem compreendido que estes blocos, aparelhos, sistemas e métodos, as técnicas aqui descritas podem ser implementados em, como não exemplos limitantes, hardware, software, firmware, circuitos de propósito específico ou lógica, hardware de propósito geral ou controlador ou outros dispositivos de computação, ou alguma combinação destes.
[0410] As concretizações da presente invenção podem ser implementadas por software de computador executável por um processador de dados do dispositivo móvel, tal como na entidade de processador, ou por hardware, ou por uma combinação de hardware e software. Além disso, neste contexto, deve-se notar que todos os blocos da lógica de fluxo como nas figuras podem representar as etapas do programa, ou circuitos lógicos interligados, blocos e funções, ou uma combinação de etapas de programas e circuitos lógicos, blocos e funções. O software pode ser armazenado em mídia física, tal como chips de memória, ou blocos de memória implementados dentro do processador, meios magnéticos, como disco rígido ou disquetes e mídias ópticas, como, por exemplo DVD e variantes de dados do mesmo, CD.
[0411] As várias concretizações da invenção podem ser implementadas com a ajuda do código do programa de computador que reside na memória e faz com que os aparelhos relevantes realizem a invenção. Por exemplo, um dispositivo de terminal pode compreender um circuito e eletrônica para o tratamento, recepção e transmissão de dados, o código de programa de computador em uma memória, e um processador que, durante a execução do código de programa de computador, faz com que o dispositivo terminal execute as funções de uma concretização. Ainda, além disso, um dispositivo de rede pode compreender circuitos e eletrônica para o tratamento, recepção e transmissão de dados, o código de programa de computador em uma memória, e um processador que, durante a execução do código de programa de computador, faz com que o dispositivo de rede realize as funções de uma concretização.
[0412] A memória pode ser de qualquer tipo apropriado para o ambiente local e técnica pode ser implementada utilizando qualquer tecnologia de armazenamento de dados adequado, tal como dispositivos de memória com base em dispositivos semicondutores, memória magnética e sistemas, dispositivos de memória óptica, e os sistemas de memória de memória fixa e removível. Os processadores de dados podem ser de qualquer tipo apropriado para o ambiente técnico local, e podem incluir um ou mais dos computadores de uso geral, computadores de propósito específico, microprocessadores, processadores de sinal digital (DSPs) e processadores baseados na arquitetura do processador multi-core, como exemplos não limitativos.
[0413] Concretizações das invenções podem ser praticadas em vários componentes, tais como os módulos de circuitos integrados. O projeto de circuitos integrados é, em grande parte, um processo altamente automatizado. Ferramentas de software complexas e poderosas estão disponíveis para converter um projeto de nível lógico em um projeto de circuito semicondutor pronto para ser gravado e formado por um substrato semicondutor.
[0414] Programas, tais como os fornecidos pela Synopsys Inc., de Mountain View, Califórnia e Cadence Design, de San Jose, Califórnia automaticamente roteiam condutores e localizam os componentes em um chip semicondutor usando regras bem estabelecidas de projeto, bem como bibliotecas de módulos de projeto pré-armazenados. Uma vez que o desenho de um circuito semicondutor foi completado, a concepção resultante, em um formato eletrônico normalizado (por exemplo, opus, GDSII, ou semelhantes) pode ser transmitida para uma instalação de fabricação de semicondutores ou "Fab" para fabricação.
[0415] A descrição anterior foi dada a título exemplificativo e não limitativa de exemplos de uma descrição completa e informativo da concretização exemplar da presente invenção. No entanto, diversas modificações e adaptações poderão tornar-se evidentes para os peritos na técnica relevante, tendo em vista a descrição anterior, quando lidas em conjunto com os desenhos que a acompanham e as reivindicações anexas. No entanto, todas as modificações e tais semelhantes dos ensinamentos da presente invenção continuarão a cair dentro do escopo da presente invenção.
[0416] A seguir exemplos serão fornecidos.
[0417] De acordo com um primeiro exemplo, é proporcionado um método de codificação de uma imagem descomprimida em uma imagem codificada compreendendo uma fatia, que compreende:
[0418] codificar uma imagem descomprimida em uma imagem codificada compreendendo uma fatia, a codificação compreendendo:
[0419] classificar elementos de sintaxe para a fatia em um primeiro conjunto e um segundo conjunto;
[0420] determinar os valores dos elementos de sintaxe para o primeiro conjunto e o segundo conjunto;
[0421] que codifica para o primeiro conjunto seletivamente em um primeiro grupo de conjunto de parâmetro de fatias ou um cabeçalho de fatia, em que a referida codificação compreende um dos seguintes:
[0422] proporcionar uma indicação de uma inclusão do respectivo primeiro conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[0423] codificar os valores de elementos de sintaxe do primeiro conjunto; ou
[0424] omitir ambos acima; e
[0425] codificar para o segundo conjunto seletivamente em um segundo conjunto de parâmetros do grupo de fatias ou o cabeçalho de fatia, em que a referida codificação compreende um dos seguintes:
[0426] proporcionar uma indicação de uma inclusão do respectivo segundo conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[0427] codificar os valores de elementos de sintaxe do segundo conjunto; ou
[0428] omitir ambas as opções acima.
[0429] Em algumas concretizações, compreende, pelo menos, incluir um subconjunto de elementos de sintaxe do grupo de conjunto de parâmetro de fatias.
[0430] Em algumas concretizações, o método compreende inferir o conteúdo ou a instância do grupo de conjunto de parâmetros de fatias de outras estruturas de sintaxe já codificadas ou decodificadas ou presentes em um fluxo de bits.
[0431] Em algumas concretizações, o método compreende a formação de um grupo de conjunto de parâmetro a partir de fatias de um cabeçalho de fatia de um componente de vista de textura de uma vista de base.
[0432] Em algumas concretizações, o método compreende a formação de um valor de identificador para o grupo inferido dos conjuntos de parâmetros de fatias.
[0433] Em algumas concretizações do método de um grupo de conjunto de parâmetro de fatias é válida dentro de uma unidade de acesso particular associado com ele.
[0434] Em algumas concretizações do método, o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias está incluído em uma sequência de unidade de camada de abstração de rede para uma determinada unidade de acesso, em que a sequência é a ordem de decodificação ou de fluxo de bits, e o grupo de conjunto de parâmetro de fatias é válido a partir da sua localização de aparência até o final da unidade de acesso.
[0435] Em algumas concretizações do método, o grupo de conjunto de parâmetro de fatias é válido para mais de uma unidade de acesso.
[0436] Em algumas concretizações, o método compreende que codificar muitos grupos de fatias de conjuntos de parâmetros para uma unidade de acesso.
[0437] Em algumas concretizações, o método compreende determinar se, pelo menos, um subconjunto de valores de elementos de sintaxe de um cabeçalho de fatia a ser codificado seria a mesma em um cabeçalho de fatia subsequente, e se assim que codifica o grupo de conjunto de parâmetro em fatias em um fluxo de bits.
[0438] Em algumas concretizações do método, o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias inclui um identificador.
[0439] Em algumas concretizações, o método compreende a utilização do identificador para se referir a um grupo particular de exemplo de conjunto de parâmetro de fatias.
[0440] Em algumas concretizações, o método compreende a utilização do identificador para se referir ao grupo de fatias de um cabeçalho de fatia ou outro grupo de conjunto de parâmetro de fatias.
[0441] Em algumas concretizações do método, um espaço de numeração pré-determinado é utilizado para o identificador.
[0442] Em algumas concretizações, o método compreende a utilização de um grupo de valor identificador de conjunto de parâmetros de fatias para um primeiro grupo de conjunto de parâmetro de fatias e, subsequentemente, por um segundo grupo de conjunto de parâmetro de fatias, se o primeiro grupo de conjunto de parâmetro de fatias posteriormente não é referido por qualquer cabeçalho de fatia ou grupo de conjunto de parâmetro de fatias.
[0443] Em algumas concretizações, o método compreende a repetição do grupo de estrutura de sintaxe de conjunto de parâmetro de fatias dentro de um fluxo de bits.
[0444] Em algumas concretizações, o método compreende identificar o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias utilizando uma ordem de fluxo de bits do grupo de conjunto de estrutura de sintaxe de conjunto de parâmetro de fatias e um esquema de numeração pré-definido.
[0445] Em algumas concretizações, o método compreende a formação de um conjunto de elementos de sintaxe para o conjunto de parâmetro de fatias a partir de pelo menos uma das seguintes características:
[0446] Elementos de sintaxe que indicam uma camada escalonável e / ou outros recursos de escalabilidade
[0447] Elementos de sintaxe que indicam uma vista e / ou outras características multivista
[0448] Elementos de sintaxe relacionados a um tipo de componente específico, como profundidade / disparidade
[0449] Elementos de sintaxe relacionados com a identificação da unidade de acesso, na ordem de decodificação e / ou ordem de saída e / ou outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso
[0450] Elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista
[0451] Elementos de sintaxe relacionados com modificação de lista de imagens de referência
[0452] Elementos de sintaxe referentes ao aparelho de imagem de referência usado
[0453] Elementos de sintaxe relacionados à decodificação de marcação de imagem de referência
[0454] Elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada
[0455] Elementos de sintaxe para controlar a filtragem de desbloqueio
[0456] Elementos de sintaxe para controlar filtragem de circuito adaptativo
[0457] Elementos de sintaxe para o controle de deslocamento de amostra adaptativo.
[0458] Em algumas concretizações, o método compreende um ou mais dos procedimentos a seguir, quando o grupo de codificação de conjunto de parâmetro de fatias:
[0459] codificação do elemento de sintaxe definida para um grupo de estrutura de sintaxe de conjunto de parâmetros de fatias;
[0460] incluir o elemento de sintaxe definida por referência em um grupo de conjunto de parâmetro de fatias;
[0461] indicar o elemento de sintaxe definido para estar ausente do grupo de conjunto de parâmetro de fatias.
[0462] Em algumas concretizações, o método compreende incluir um conjunto de elementos de sintaxe relacionado com camadas expansíveis no grupo de conjunto de parâmetro de fatias, e incluir um elemento de sintaxe que permanece inalterado em todas as fatias de um componente de vista no grupo de conjunto de parâmetro de fatias.
[0463] Em algumas concretizações, o método compreende incluir um elemento de sintaxe relacionado com a modificação de lista de imagem de referência por referência, tal como incluído no, ou estando ausente do grupo de estrutura de sintaxe de conjunto de parâmetro de fatias.
[0464] Em algumas concretizações, o método compreende codificar um grupo de conjunto de parâmetros de fatias como uma unidade de camada de abstração de rede.
[0465] Em algumas concretizações, o método compreende codificar o grupo de unidades NAL de conjunto de parâmetros de fatias no fluxo de bits em conjunto com as unidades da camada de abstração de rede de fatias codificadas.
[0466] De acordo com um segundo exemplo, é proporcionado um aparelho que compreende, pelo menos, um processador e, pelo menos, uma memória, incluindo o código de programa de computador, a pelo menos uma memória e o código de programa de computador configurados para, com o pelo menos um processado fazer com que o aparelho:
[0467] classifique os elementos de sintaxe para uma fatia de uma imagem codificada que compreende em um primeiro conjunto e um segundo conjunto;
[0468] determine os valores dos elementos de sintaxe para o primeiro conjunto e o segundo conjunto;
[0469] codifique o primeiro conjunto seletivamente em um primeiro grupo de conjunto de parâmetro de fatias ou um cabeçalho de fatia que compreende um dos seguintes:
[0470] proporcionar uma indicação de uma inclusão do respectivo primeiro conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[0471] codificar os valores de elementos de sintaxe do primeiro conjunto; ou
[0472] omitir ambos acima; e
[0473] codificar o segundo conjunto seletivamente em um segundo grupo de conjunto de parâmetro de fatias ou cabeçalho de fatia que compreende um dos seguintes:
[0474] proporcionar uma indicação de uma inclusão do respectivo segundo conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[0475] codificar os valores de elementos de sintaxe do segundo conjunto; ou
[0476] omitir ambas as opções acima.
[0477] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, fazer com que o aparelho ainda inclua, pelo menos, um subconjunto dos elementos de sintaxe do grupo de conjunto de parâmetro de fatias.
[0478] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda infira o conteúdo ou a ocorrência de grupo de conjunto de parâmetro de fatias de outras estruturas de sintaxe de sintaxe já codificadas ou decodificadas ou presentes em um fluxo de bits.
[0479] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executada pelo dito, pelo menos, um processador, faz com que o aparelho adicional forme o grupo de conjunto de parâmetro a partir de fatias de um cabeçalho de fatia de um componente de vista da textura de uma base vista.
[0480] Em algumas concretizações, o aparelho da referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda forme um valor de identificador para o grupo de conjuntos de parâmetros de fatias inferidos.
[0481] Em algumas concretizações do aparelho, um conjunto de parâmetro de fatias é válido dentro de uma unidade de acesso particular associada com ela.
[0482] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho adicional inclua o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias em uma sequência de unidade da camada de abstração de rede para uma determinada unidade de acesso, em que a sequência é a decodificação ou ordem de fluxo de bits, e o grupo de conjunto de parâmetro de fatias é válido a partir de sua localização de aparecimento, até ao final da unidade de acesso.
[0483] Em algumas concretizações do aparelho, o grupo de conjunto de parâmetro de fatias é válido para mais de uma unidade de acesso.
[0484] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho adicional codifique muitos grupos de fatias de conjuntos de parâmetros para uma unidade de acesso.
[0485] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho adicional determine se, pelo menos, um subconjunto de valores de elementos de sintaxe de um cabeçalho de fatia a ser codificado seria o mesmo em um cabeçalho de fatia subsequente, e em caso afirmativo, codificar o grupo de conjunto de parâmetro de fatias em um fluxo de bits.
[0486] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda inclua um identificador do grupo de estrutura de sintaxe de conjunto de parâmetro de fatias.
[0487] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, ainda faz com que o aparelho utilize o identificador para se referir a um grupo particular de exemplo de conjunto de parâmetro de fatias.
[0488] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho adicional utilize o identificador para se referir ao grupo de fatias de um cabeçalho de fatia ou outro grupo de conjunto de parâmetros de fatias.
[0489] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, ainda faz com que o aparelho utilize um espaço pré-determinado de numeração para o identificador.
[0490] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda utilize um grupo de valor identificador de conjunto de parâmetros de fatias de um primeiro grupo de conjunto de parâmetro de fatias e subsequentemente por um segundo grupo de conjunto de parâmetro de fatias, se o primeiro grupo de conjunto de parâmetro de fatias é posteriormente não referido no cabeçalho de qualquer fatia ou grupo de conjunto de parâmetro de fatias.
[0491] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda repita o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias dentro de um fluxo de bits.
[0492] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho identifique o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias utilizando uma ordem de fluxo de bits do grupo de estruturas de sintaxe de conjunto de parâmetro de fatias e um esquema de numeração pré-definido.
[0493] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho forme o conjunto de elementos de sintaxe para o grupo de conjunto de parâmetros de fatias a partir de pelo menos um dos seguintes:
[0494] Elementos de sintaxe que indicam uma camada escalonável e / ou outros recursos de escalabilidade
[0495] Elementos de sintaxe que indicam uma vista e / ou outras características multivista
[0496] Elementos de sintaxe relacionados a um tipo de componente específico, como profundidade / disparidade
[0497] Elementos de sintaxe relacionados com a identificação da unidade de acesso, na ordem de decodificação e / ou ordem de saída e / ou outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso
[0498] Elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista
[0499] Elementos de sintaxe relacionados com modificação de lista de imagens de referência
[0500] Elementos de sintaxe referentes ao aparelho de imagem de referência usado
[0501] Elementos de sintaxe relacionados à decodificação de marcação de imagem de referência
[0502] Elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada
[0503] Elementos de sintaxe para controlar a filtragem de desbloqueio
[0504] Elementos de sintaxe para controlar filtragem de circuito adaptativo
[0505] Elementos de sintaxe para o controle de deslocamento de amostra adaptativo
[0506] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, ainda faz com que o aparelho realize uma ou mais das seguintes características, quando o grupo de codificação de conjunto de parâmetro de fatias:
[0507] codificar o elemento de sintaxe definida para um grupo de estrutura de sintaxe de conjunto de parâmetros de fatias;
[0508] incluir o elemento de sintaxe definida por referência em um grupo de conjunto de parâmetro de fatias;
[0509] indicar o conjunto de elemento de sintaxe para estar ausente do grupo de conjunto de parâmetro de fatias.
[0510] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda inclua um conjunto de elemento de sintaxe relacionado com camadas expansíveis no grupo de conjunto de parâmetro de fatias, e inclua elementos de sintaxe que permanecem inalterados em todas as fatias de um componente de vista no grupo de conjunto de parâmetro de fatias.
[0511] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda inclua um elemento de sintaxe relacionado com a modificação da lista de imagem de referência por referência, tal como incluído em, ou estando ausente do grupo de estrutura de sintaxe de conjunto de parâmetro de fatias.
[0512] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que ainda o aparelho codifique um grupo de conjunto de parâmetro de fatias como uma unidade de camada de abstração de rede.
[0513] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, ainda faz com que o aparelho codifique o grupo de conjunto de unidades NAL de parâmetros de fatias no fluxo de bits em conjunto com as unidades de camada de rede de captação de fatia codificada.
[0514] De acordo com um terceiro exemplo, é proporcionado um produto de programa de computador, incluindo uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que um aparelho execute, pelo menos, o seguinte:
[0515] classifique os elementos de sintaxe para uma fatia de uma imagem codificada que compreende em um primeiro conjunto e um segundo conjunto;
[0516] determine os valores dos elementos de sintaxe para o primeiro conjunto e o segundo conjunto;
[0517] codifique o primeiro conjunto seletivamente em um primeiro grupo de conjunto de parâmetro de fatias ou um cabeçalho de fatia que compreende um dos seguintes:
[0518] proporcionar uma indicação de uma inclusão do respectivo primeiro conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[0519] codificar os valores de elementos de sintaxe do primeiro conjunto; ou
[0520] omitir ambos acima; e
[0521] codificar o segundo conjunto seletivamente em um segundo grupo de conjunto de parâmetro de fatias ou cabeçalho da fatia que compreende um dos seguintes:
[0522] proporcionar uma indicação de uma inclusão do respectivo segundo conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[0523] codificar os valores de elementos de sintaxe do segundo conjunto; ou
[0524] omitir ambas as opções acima.
[0525] Em algumas concretizações do produto de programa de computador incluem uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem ainda com que o aparelho de modo a inclua, pelo menos, um subconjunto dos elementos de sintaxe do grupo de conjunto de parâmetro de fatias.
[0526] Em algumas concretizações do produto de programa de computador incluem uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem ainda com que o aparelho infira o conteúdo ou a ocorrência de grupo de conjunto de parâmetro de fatias a partir de outras estruturas de sintaxe já codificadas ou decodificadas ou presentes em um fluxo de bits.
[0527] Em algumas concretizações do produto de programa de computador incluem uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho forme o grupo de conjunto de parâmetro de fatias de um cabeçalho de fatia de um componente de uma vista de textura de vista de base.
[0528] Em algumas concretizações do produto de programa de computador incluem uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho forme um valor de identificador para o grupo dos conjuntos de parâmetros fatias inferido.
[0529] Em algumas concretizações do produto de programa de computador, um grupo de conjunto de parâmetro de fatias é válido dentro de uma unidade de acesso particular associado com ele.
[0530] Em algumas concretizações do produto de programa de computador incluem uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho de modo inclua a estrutura de sintaxe de conjunto de parâmetro de fatias em uma sequência de unidade da camada de abstração de rede para uma determinada unidade de acesso, em que a sequência é a ordem de decodificação ou fluxo de bits, e o grupo de conjunto de parâmetro de fatias é válido a partir do seu local de aparecimento, até ao final da unidade de acesso.
[0531] Em algumas concretizações do produto de programa de computador o grupo de conjunto de parâmetro de fatias é válido para mais de uma unidade de acesso.
[0532] Em algumas concretizações do produto de programa de computador incluem uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho codifique muitos grupos de fatias de conjuntos de parâmetros para uma unidade de acesso.
[0533] Em algumas concretizações do produto de programa de computador incluem um ou mais processadores, que fazem com que o aparelho determine se, pelo menos, um subconjunto de valores de elementos de sintaxe de um cabeçalho de fatia codificada seria a mesma em uma fatia de cabeçalho subsequente, e se assim, codificar o grupo de conjunto de parâmetros de fatias em um fluxo de bits.
[0534] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho inclua um identificador do grupo de estrutura de sintaxe de conjunto de parâmetro de fatias.
[0535] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho utilize o identificador para se referir a um grupo particular de exemplo de conjunto de parâmetro de fatias.
[0536] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho utilize o identificador para se referir ao grupo de fatias de um cabeçalho de fatia ou outro grupo de conjunto de parâmetros de fatias.
[0537] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho utilize um espaço pré-determinado de numeração para o identificador.
[0538] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho utilize um conjunto de valor de identificador de parâmetro de fatias de conjunto de um primeiro grupo de parâmetro e conjunto de fatias subsequentemente, por um segundo grupo de conjunto de parâmetro de fatias, se o primeiro grupo de conjunto de parâmetro de fatias posteriormente não é referido por qualquer cabeçalho de fatia ou grupo de conjunto de parâmetro de fatias.
[0539] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho repita o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias dentro de um fluxo de bits.
[0540] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho identifique o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias utilizando uma ordem de fluxo de bits do grupo de estruturas de sintaxe de conjunto de parâmetro de fatias e um esquema de numeração pré-definido.
[0541] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem ainda com que o aparelho de modo a formar o conjunto de elementos de sintaxe para o grupo de conjunto de parâmetro de fatias de, pelo menos, um a seguir:
[0542] Elementos de sintaxe que indicam uma camada escalonável e / ou outros recursos de escalabilidade
[0543] Elementos de sintaxe que indicam uma vista e / ou outras características multivista
[0544] Elementos de sintaxe relacionados a um tipo de componente específico, como profundidade / disparidade
[0545] Elementos de sintaxe relacionados com a identificação da unidade de acesso, na ordem de decodificação e / ou ordem de saída e / ou outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso
[0546] Elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista
[0547] Elementos de sintaxe relacionados com modificação de lista de imagens de referência
[0548] Elementos de sintaxe referentes ao aparelho de imagem de referência usado
[0549] Elementos de sintaxe relacionados à decodificação de marcação de imagem de referência
[0550] Elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada
[0551] Elementos de sintaxe para controlar a filtragem de desbloqueio
[0552] Elementos de sintaxe para controlar filtragem de circuito adaptativo
[0553] Elementos de sintaxe para o controle de deslocamento de amostra adaptativo
[0554] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho realize uma ou mais das seguintes características, quando o grupo de codificação de conjunto de parâmetro de fatias:
[0555] codificar o conjunto de elemento de sintaxe para um grupo de estrutura de sintaxe de conjunto de parâmetros de fatias;
[0556] incluir o conjunto de elemento de sintaxe por referência a um grupo de conjunto de parâmetro de fatias;
[0557] indicar o conjunto de elemento de sintaxe para estar ausente do grupo de conjunto de parâmetro de fatias.
[0558] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho inclua um conjunto de elementos de sintaxe relacionados com camadas expansíveis no grupo de conjunto de parâmetro de fatias, e para incluir elementos de sintaxe que permanecem inalterados em todas as fatias de um componente de vista no grupo de conjunto de parâmetro de fatias.
[0559] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho inclua um elemento de sintaxe relacionado com a modificação da lista de imagem de referência por referência na, incluída como tal, ou estando ausente do grupo de estrutura de sintaxe de conjunto de parâmetro de fatias.
[0560] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho codifique um grupo de conjunto de parâmetro de fatias como uma unidade de camada de abstração de rede.
[0561] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho codifique as unidades NAL do grupo de conjunto de parâmetro de fatias no fluxo de bits juntamente com unidades de camada de abstração de rede de fatia codificada.
[0562] De acordo com um quarto exemplo, é proporcionado um aparelho que compreende:
[0563] meios para a classificação de elementos de sintaxe para uma fatia de uma imagem codificada que compreende em um primeiro conjunto e um segundo conjunto;
[0564] meios para determinar os valores dos elementos de sintaxe para o primeiro conjunto e o segundo conjunto;
[0565] meios para codificar o primeiro conjunto seletivamente em um primeiro grupo de conjunto de parâmetro de fatias ou um cabeçalho de fatia que compreende um dos seguintes:
[0566] proporcionar uma indicação de uma inclusão do respectivo primeiro conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[0567] codificar os valores de elementos de sintaxe do primeiro conjunto; ou
[0568] omitir ambos acima; e
[0569] meios para codificar o segundo conjunto seletivamente em um segundo grupo de conjunto de parâmetro de fatias ou cabeçalho da fatia que compreende um dos seguintes:
[0570] proporcionar uma indicação de uma inclusão do respectivo segundo conjunto de um outro grupo de conjunto de parâmetro de fatias; ou
[0571] codificar os valores de elementos de sintaxe do segundo conjunto; ou
[0572] omitir ambas as opções acima.
[0573] De acordo com um quinto exemplo, é fornecido um método que compreende:
[0574] decodificar uma fatia codificada de uma imagem codificada, a decodificação compreendendo:
[0575] identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[0576] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[0577] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; e
[0578] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; e
[0579] decodificar a fatia codificada utilizando o primeiro conjunto decodificado e o segundo conjunto de elementos de sintaxe.
[0580] Em algumas concretizações, o método compreende decodificar os elementos de sintaxe do primeiro conjunto, quando a primeira indicação não é indicativa de um terceiro grupo de conjunto de parâmetro de fatias.
[0581] Em algumas concretizações, o método compreende decodificar os elementos de sintaxe do segundo conjunto, se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias.
[0582] De acordo com um sexto exemplo, é proporcionado um aparelho que compreende, pelo menos, um processador e, pelo menos, uma memória, incluindo o código de programa de computador, a pelo menos uma memória e o código de programa de computador configurados para, com o pelo menos um processado fazer com que o aparelho:
[0583] decodifique uma fatia codificada de uma imagem codificada para:
[0584] identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[0585] decodifique o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[0586] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; e
[0587] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; e
[0588] decodificar a fatia codificada utilizando o primeiro conjunto decodificado e o segundo conjunto de elementos de sintaxe.
[0589] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho adicional para decodificar elementos de sintaxe do primeiro conjunto, quando a primeira indicação não é indicativa do terceiro grupo de conjunto de parâmetro de fatias.
[0590] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho decodifique elementos de sintaxe do segundo conjunto, se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias.
[0591] De acordo com um sétimo exemplo, é proporcionado um produto de programa de computador, incluindo uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com um aparelho execute, pelo menos, o seguinte:
[0592] decodificar uma fatia codificada de uma imagem codificada para:
[0593] identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[0594] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[0595] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; e
[0596] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; e
[0597] decodificar a fatia codificada utilizando o primeiro conjunto decodificado e o segundo conjunto de elementos de sintaxe.
[0598] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com o aparelho decodifique elementos de sintaxe do primeiro conjunto, quando a primeira indicação não é indicativa do terceiro grupo de conjunto de parâmetro de fatias.
[0599] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com o aparelho decodifique elementos de sintaxe do segundo conjunto, se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias.
[0600] De acordo com um oitavo exemplo, é fornecido um método que compreende:
[0601] decodificar uma fatia codificada de uma imagem codificada, a decodificação compreendendo:
[0602] identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[0603] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[0604] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação ser indicativa do terceiro grupo de conjunto de parâmetros de fatias, decodificar um respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; ou, se a primeira indicação não é indicativa de um terceiro grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do primeiro conjunto; e
[0605] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; ou se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do segundo conjunto; e
[0606] decodificar a fatia codificada utilizando o primeiro conjunto de elementos de sintaxe decodificado e o segundo conjunto de elementos de sintaxe.
[0607] Em algumas concretizações, o método compreende a decodificação de, pelo menos, um subconjunto dos elementos de sintaxe entre o grupo de conjunto de parâmetro de fatias.
[0608] Em algumas concretizações, o método compreende inferir o conteúdo ou a instância do grupo de conjunto de parâmetros de fatias de outras estruturas de sintaxe já codificadas ou decodificadas ou presentes em um fluxo de bits.
[0609] Em algumas concretizações, o método compreende decodificar um valor de identificador indicativo do grupo de conjuntos de parâmetros de fatias inferidos.
[0610] Em algumas concretizações do método, um grupo de conjunto de parâmetro de fatias é válido dentro de uma unidade de acesso particular associada com ele.
[0611] Em algumas concretizações do método, o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias está incluído em uma sequência de unidade de camada de abstração de rede para uma determinada unidade de acesso, em que a sequência é a ordem de decodificação ou de fluxo de bits, e o grupo de conjunto de parâmetro de fatias é válido a partir da sua localização de aparência até o final da unidade de acesso.
[0612] Em algumas concretizações do método, o grupo de conjunto de parâmetro de fatias é válido para mais de uma unidade de acesso.
[0613] Em algumas concretizações, o método compreende a decodificar muitos grupos de fatias de conjuntos de parâmetros para uma unidade de acesso.
[0614] Em algumas concretizações do método, o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias inclui um identificador.
[0615] Em algumas concretizações, o método compreende a utilização do identificador para se referir a um grupo particular de exemplo de conjunto de parâmetro de fatias.
[0616] Em algumas concretizações, o método compreende a utilização do identificador para se referir ao grupo de fatias de um cabeçalho de fatia ou outro grupo de conjunto de parâmetro de fatias.
[0617] Em algumas concretizações do método, um espaço pré-determinado é de numeração utilizado para o identificador.
[0618] Em algumas concretizações, o método compreende a utilização de um grupo de valor de identificador de conjunto de parâmetros de fatias de um primeiro grupo de conjunto de parâmetro de fatias e, subsequentemente, para um segundo grupo de conjunto de parâmetro de fatias, se o primeiro grupo de parâmetro de conjunto de fatias posteriormente não é referido por qualquer cabeçalho de fatia ou grupo de conjunto de parâmetro de fatias.
[0619] Em algumas concretizações, o método compreende a decodificação de um grupo repetitivo de estrutura de sintaxe de conjunto de parâmetro de fatias a partir de um fluxo de bits.
[0620] Em algumas concretizações, o método compreende identificar o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias utilizando uma ordem de fluxo de bits do grupo de conjunto de estrutura de sintaxe de conjunto de parâmetro de fatias e um esquema de numeração pré-definido.
[0621] Em algumas concretizações, o método compreende a decodificação do conjunto de elementos de sintaxe para o grupo de conjunto de parâmetro de fatias para obter pelo menos uma das seguintes características:
[0622] Elementos de sintaxe que indicam uma camada escalonável e / ou outros recursos de escalabilidade
[0623] Elementos de sintaxe que indicam uma vista e / ou outras características multivista
[0624] Elementos de sintaxe relacionados a um tipo de componente específico, como profundidade / disparidade
[0625] Elementos de sintaxe relacionados com a identificação da unidade de acesso, na ordem de decodificação e / ou ordem de saída e / ou outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso
[0626] Elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista
[0627] Elementos de sintaxe relacionados com modificação de lista de imagens de referência
[0628] Elementos de sintaxe referentes ao aparelho de imagem de referência usado
[0629] Elementos de sintaxe relacionados à decodificação de marcação de imagem de referência
[0630] Elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada
[0631] Elementos de sintaxe para controlar a filtragem de desbloqueio
[0632] Elementos de sintaxe para controlar filtragem de circuito adaptativo
[0633] Elementos de sintaxe para o controle de deslocamento de amostra adaptativo
[0634] Em algumas concretizações, o método compreende um ou mais dos procedimentos a seguir ao decodificar o grupo de conjunto de parâmetro de fatias:
[0635] decodificar o conjunto de elemento de sintaxe a partir de um grupo de estrutura de sintaxe de conjunto de parâmetros de fatias;
[0636] determinar se o conjunto de elementos de sintaxe foi incluído por referência ao grupo de conjunto de parâmetro de fatias;
[0637] determinar se o conjunto de elemento de sintaxe é indicado para estar ausente do grupo de conjunto de parâmetro de fatias.
[0638] Em algumas concretizações, o método compreende a decodificação de um conjunto de elementos de sintaxe relacionado com camadas expansíveis a partir do grupo de conjunto de parâmetro de fatias, e decodificação de um elemento de sintaxe que permanece inalterado em todas as fatias de um componente de vista do grupo de conjunto de parâmetro de fatias.
[0639] Em algumas concretizações, o método compreende determinar se um elemento de sintaxe relacionada com referência modificação lista de imagens é incluída por referência, incluída como tal no, ou está ausente do grupo de estrutura de sintaxe de conjunto de parâmetro de fatias.
[0640] Em algumas concretizações, o método compreende a decodificação de um grupo de conjunto de parâmetro de fatias a partir de uma unidade de camada de abstração de rede.
[0641] Em algumas concretizações, o método compreende grupo de decodificação de unidades NAL de conjunto de parâmetros fatias do fluxo de bits em conjunto com as unidades de camada de abstração de rede de fatia codificadas.
[0642] De acordo com um nono exemplo, é proporcionado um aparelho que compreende, pelo menos, um processador e, pelo menos, uma memória, incluindo o código de programa de computador, a pelo menos uma memória e o código de programa de computador configurados para, com o pelo menos um processado fazer com que o aparelho:
[0643] decodifique uma fatia codificada de uma imagem codificada pela:
[0644] identificação de uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[0645] decodificação do primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[0646] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; ou, se a primeira indicação não é indicativa de o terceiro conjunto de parâmetros do grupo de cortes, decodificar os elementos de sintaxe do primeiro conjunto; e
[0647] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; ou se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetros de fatias, decodificar os elementos de sintaxe do segundo conjunto; e
[0648] decodificar a fatia codificada utilizando o primeiro conjunto de elementos de sintaxe decodificado e o segundo conjunto de elementos de sintaxe.
[0649] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, ainda faz com que o aparelho decodifique pelo menos um subconjunto dos elementos de sintaxe entre o grupo de conjunto de parâmetro de fatias.
[0650] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda infira o conteúdo ou a ocorrência de grupo de conjunto de parâmetro de fatias de outras estruturas já codificadas ou sintaxe decodificada ou presente em um fluxo de bits.
[0651] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho decodifique um valor de identificador indicativo do grupo dos conjuntos de parâmetros de fatias inferidos.
[0652] Em algumas concretizações do aparelho, um conjunto de parâmetro de fatias é válido dentro de uma unidade de acesso particular associada com ele.
[0653] Em algumas concretizações do aparelho, o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias está incluído em uma sequência de unidade de camada de abstração de rede para uma determinada unidade de acesso, em que a sequência é a ordem de decodificação ou de fluxo de bits, e o grupo de conjunto de parâmetro de fatias é válido a partir da sua localização de aparência até o final da unidade de acesso.
[0654] Em algumas concretizações do aparelho, o grupo de conjunto de parâmetro de fatias é válido para mais de uma unidade de acesso.
[0655] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho decodifique muitos grupos de conjuntos de parâmetros de fatias para uma unidade de acesso.
[0656] Em algumas concretizações do aparelho, o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias inclui um identificador.
[0657] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, ainda faz com que o aparelho utilize o identificador para se referir a um grupo particular de exemplo de conjunto de parâmetro de fatias.
[0658] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda utilize o identificador para se referir ao grupo de fatias de um cabeçalho de fatia ou outro grupo de conjunto de parâmetros de fatias.
[0659] Em algumas concretizações do aparelho de um espaço pré-determinado é de numeração utilizado para o identificador.
[0660] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda utilize um grupo de valor identificador de conjunto de parâmetros de fatias de um primeiro grupo de conjunto de parâmetro de fatias e subsequentemente por um segundo grupo de conjunto de parâmetro de fatias, se o primeiro grupo de conjunto de parâmetro de fatias é posteriormente não referido no cabeçalho de qualquer fatia ou grupo de conjunto de parâmetro de fatias.
[0661] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda decodifique um grupo repetitivo de estrutura de sintaxe de conjunto de parâmetro de fatias a partir de um fluxo de bits.
[0662] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho ainda identifique o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias utilizando uma ordem de fluxo de bits do grupo de estruturas de sintaxe de conjunto de parâmetro de fatias e um esquema de numeração pré-definido.
[0663] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que ainda o aparelho decodifique o conjunto de elementos de sintaxe para o grupo de conjunto de parâmetro de fatias para obter pelo menos um de a seguir:
[0664] Elementos de sintaxe que indicam uma camada escalonável e / ou outros recursos de escalabilidade
[0665] Elementos de sintaxe que indicam uma vista e / ou outras características multivista
[0666] Elementos de sintaxe relacionados a um disparidade
[0667] Elementos de sintaxe relacionados com a identificação da unidade de acesso, na ordem de decodificação e / ou ordem de saída e / ou outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso
[0668] Elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista
[0669] Elementos de sintaxe relacionados com modificação de lista de imagens de referência
[0670] Elementos de sintaxe referentes ao aparelho de imagem de referência usado
[0671] Elementos de sintaxe relacionados à decodificação de marcação de imagem de referência
[0672] Elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada
[0673] Elementos de sintaxe para controlar a filtragem de desbloqueio
[0674] Elementos de sintaxe para controlar filtragem de circuito adaptativo
[0675] Elementos de sintaxe para o controle de deslocamento de amostra adaptativo
[0676] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, ainda faz com que o aparelho realize uma ou mais das seguintes características, quando a decodificação do grupo de conjunto de parâmetro de fatias:
[0677] decodificar o conjunto de elemento de sintaxe a partir de um grupo de estrutura de sintaxe de conjunto de parâmetros de fatias;
[0678] determinar se o conjunto de elementos de sintaxe foi incluído por referência o grupo de conjunto de parâmetro de fatias;
[0679] determinar se o conjunto de elementos de sintaxe é indicado para estar ausente do grupo de conjunto de parâmetro de fatias.
[0680] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que ainda o aparelho decodifique um conjunto de elementos de sintaxe relacionada com camadas expansíveis a partir do grupo de conjunto de parâmetro de fatias, e decodificação de um elemento de sintaxe que permanece inalterado em todas as fatias de um componente de vista do grupo de conjunto de parâmetro de fatias.
[0681] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que o aparelho adicional determine se um elemento de sintaxe relacionado com referência a modificação da lista de imagem é incluído por referência, incluído como tal em, ou está ausente do grupo de estrutura de sintaxe de conjunto parâmetro de fatias.
[0682] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, faz com que ainda o aparelho decodifique um conjunto de conjunto de parâmetro de fatias a partir de uma unidade de camada de abstração de rede.
[0683] Em algumas concretizações do aparelho, a referida pelo menos uma memória armazenada nela com o código, o qual quando executado pelo dito, pelo menos, um processador, ainda faz com que o aparelho decodifique o grupo de unidades NAL de conjunto de parâmetros de fatias partir do fluxo de bits em conjunto com as unidades de camada de rede de captação de fatia codificada.
[0684] De acordo com um décimo exemplo, é proporcionado um produto de programa de computador, incluindo uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que um aparelho para executar, pelo menos, o seguinte:
[0685] decodificar uma fatia codificada de uma imagem codificada para:
[0686] identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[0687] decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[0688] decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do terceiro grupo de conjunto de parâmetro de fatias; ou, se a primeira indicação não é indicativa de um terceiro grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do primeiro conjunto; e
[0689] decodificar uma segunda indicação de uma inserção do respectivo segundo conjunto de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe do quarto grupo de conjunto de parâmetro de fatias; ou se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do segundo conjunto; e
[0690] decodificar a fatia codificada utilizando o primeiro conjunto de elementos de sintaxe decodificado e o segundo conjunto de elementos de sintaxe.
[0691] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho decodifique pelo menos um subconjunto dos elementos de sintaxe de entre o grupo de conjunto de parâmetro de fatias.
[0692] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho para inferir o conteúdo ou a ocorrência de grupo de conjunto de parâmetro de fatias de outras estruturas de sintaxe já codificadas ou decodificadas ou presentes em um fluxo de bits.
[0693] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho para decodifique um valor de identificador indicativo do grupo dos conjuntos de parâmetros de fatias inferidas.
[0694] Em algumas concretizações do produto de programa de computador, um grupo de conjunto de parâmetro de fatias é válido dentro de uma unidade de acesso particular associada com ele.
[0695] Em algumas concretizações do produto de programa de computador, o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias está incluído em uma sequência de unidade de camada de abstração de rede para uma determinada unidade de acesso, em que a sequência é a ordem de decodificação ou de fluxo de bits, e o grupo de fatias do conjunto de parâmetros é válido a partir de sua localização de aparecimento, até o final da unidade de acesso.
[0696] Em algumas concretizações do produto de programa de computador, o grupo de conjunto de parâmetro de fatias é válido para mais de uma unidade de acesso.
[0697] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com o aparelho decodifique muitos grupos de fatias de conjuntos de parâmetros para uma unidade de acesso.
[0698] Em algumas concretizações do produto de programa de computador, o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias inclui um identificador.
[0699] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho utilize o identificador para se referir a um grupo particular de conjunto de parâmetro de fatias de exemplo.
[0700] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho utilize o identificador para se referir ao grupo de fatias de um cabeçalho de fatia ou outro grupo de conjunto de parâmetros de fatias.
[0701] Em algumas concretizações do produto de programa de computador de um espaço de numeração pré- determinado é utilizado para o identificador.
[0702] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com o aparelho para utilize um conjunto de parâmetro de fatias de valor identificador de conjunto de um primeiro grupo de conjunto de parâmetro de fatias e subsequentemente por um segundo grupo de conjunto de parâmetro de fatias, se o primeiro grupo de conjunto de parâmetro de fatias é posteriormente não referido no cabeçalho de qualquer fatia ou grupo de conjunto de parâmetro de fatias.
[0703] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho decodifique um grupo repetitivo de estrutura de sintaxe de conjunto de parâmetro fatias a partir de um fluxo de bits.
[0704] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho identifique o grupo de estrutura de sintaxe de conjunto de parâmetro de fatias utilizando uma ordem de fluxo de bits do grupo de estruturas de sintaxe de conjunto de parâmetro de fatias e um esquema de numeração pré-definido.
[0705] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho para decodifique o conjunto de elementos de sintaxe para o grupo de conjunto de parâmetro de fatias para se obter pelo menos um de a seguir:
[0706] Elementos de sintaxe que indicam uma camada escalonável e / ou outros recursos de escalabilidade
[0707] Elementos de sintaxe que indicam uma vista e / ou outras características multivista
[0708] Elementos de sintaxe relacionados a um tipo de componente específico, como profundidade / disparidade
[0709] Elementos de sintaxe relacionados com a identificação da unidade de acesso, na ordem de decodificação e / ou ordem de saída e / ou outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso
[0710] Elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista
[0711] Elementos de sintaxe relacionados com modificação de lista de imagens de referência
[0712] Elementos de sintaxe referentes ao aparelho de imagem de referência usado
[0713] Elementos de sintaxe relacionados à decodificação de marcação de imagem de referência
[0714] Elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada
[0715] Elementos de sintaxe para controlar a filtragem de desbloqueio
[0716] Elementos de sintaxe para controlar filtragem de circuito adaptativo
[0717] Elementos de sintaxe para o controle de deslocamento de amostra adaptativo
[0718] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho realize uma ou mais das seguintes características, quando a decodificação do o grupo de conjunto de parâmetro de fatias:
[0719] decodificar o elemento de sintaxe definir a partir de um grupo de estrutura de sintaxe de conjunto de parâmetros de fatias;
[0720] determinar se o conjunto de elementos de sintaxe foi incluído por referência ao grupo de conjunto de parâmetro de fatias;
[0721] determinar se o conjunto de elemento de sintaxe é indicado para estar ausente do grupo de conjunto de parâmetro de fatias.
[0722] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho decodifique um conjunto de elementos de sintaxe relacionado com camadas expansíveis a partir do grupo de conjunto de parâmetro de fatias, e decodificação um elemento de sintaxe que permanece inalterado em todas as fatias de um componente de vista do grupo de conjunto de parâmetro de fatias.
[0723] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho determine se um elemento de sintaxe relacionado com referência a modificação da lista de imagem é incluído por referência, incluído como tal em, ou está ausente do grupo de estrutura de sintaxe de conjunto de parâmetro de fatias.
[0724] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho decodifique um grupo de conjunto de parâmetro de fatias a partir de uma unidade de camada de abstração de rede.
[0725] Em algumas concretizações, o produto de programa de computador inclui uma ou mais sequências de uma ou mais instruções que, quando executadas por um ou mais processadores, fazem com que o aparelho decodifique grupo de unidades NAL de conjunto de parâmetro de fatias do fluxo de bits em conjunto com as unidades de camada de rede de captação de fatia codificada.
[0726] De acordo com um décimo primeiro exemplo, é fornecido um método que compreende:
[0727] meios para decodificar uma fatia codificada de uma imagem codificada, que compreende a decodificação:
[0728] meios para identificação de uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia a ser codificada de um cabeçalho de fatia ou de um grupo de conjunto de parâmetro de fatias,
[0729] meios para decodificar o primeiro conjunto de elementos de sintaxe e o segundo conjunto de elementos de sintaxe para serem utilizados para decodificar a fatia codificada, que compreende:
[0730] meios para decodificar uma primeira indicação de uma inclusão do respectivo primeiro conjunto a partir de um terceiro grupo de conjunto de parâmetro de fatias, e, como resposta à primeira indicação sendo indicativa do terceiro grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe a partir do terceiro grupo de conjunto de parâmetro de fatias; ou, se a primeira indicação não é indicativa de um terceiro grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do primeiro conjunto; e
[0731] meios para decodificar uma segunda indicação de uma inclusão do respectivo segundo conjunto a partir de um quarto grupo de conjunto de parâmetro de fatias e, como resposta à primeira indicação sendo indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar o respectivo primeiro conjunto de elementos de sintaxe de o quarto grupo de conjunto de parâmetro de fatias; ou se a segunda indicação não é indicativa do quarto grupo de conjunto de parâmetro de fatias, decodificar os elementos de sintaxe do segundo conjunto; e
[0732] meios para decodificar a fatia codificada utilizando o primeiro conjunto de elementos de sintaxe decodificado e o segundo conjunto de elementos de sintaxe.

Claims (20)

1. MÉTODO PARA A CODIFICAÇÃO DE CONTEÚDO DE VÍDEO TRIDIMENSIONAL (3D), que compreende um componente de vista de textura (201) e um componente de vista de profundidade (203), caracterizado por compreender: codificar uma imagem não comprimida em uma imagem codificada compreendendo uma fatia codificada do componente de vista de textura (201) e uma fatia codificada do componente de vista de profundidade (203), a codificação compreendendo: classificar os elementos de sintaxe para a fatia do componente de vista de profundidade (203) em um primeiro conjunto e um segundo conjunto; determinar valores de elementos de sintaxe para o primeiro conjunto e o segundo conjunto; codificar valores de elementos de sintaxe para o primeiro conjunto seletivamente em um grupo de conjunto de parâmetros de fatias ou no cabeçalho de fatia da fatia do componente de vista de profundidade (203); formar o grupo de conjunto de parâmetros de fatias a partir de um cabeçalho de fatia da fatia codificada do componente de vista de textura; ao codificar o dito grupo de conjunto de parâmetro de fatias, prover uma indicação quanto a se e quais valores de elemento de sintaxe para o primeiro conjunto são codificados no grupo de conjunto de parâmetro de fatias, e se e quais valores de elemento de sintaxe para o primeiro conjunto são incluídos no cabeçalho de fatia da fatia do componente de vista de profundidade (203); e codificar os valores dos elementos de sintaxe do segundo conjunto no cabeçalho de fatia da fatia do componente de vista de profundidade (203).
2. MÉTODO, de acordo com a reivindicação 1, caracterizado por compreender ainda: formar o grupo de conjunto de parâmetros de fatias a partir de um cabeçalho de fatia de outra fatia da mesma vista que a fatia do componente de vista de profundidade (203).
3. MÉTODO, de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado pelo grupo de conjunto de parâmetros de fatias ser válido dentro de uma unidade de acesso especial a ela associada, em que a estrutura de sintaxe do conjunto de parâmetros de fatias está incluído em uma sequência de unidade de camada de abstração de rede para uma unidade de acesso especial, onde a sequência está na ordem de decodificação ou fluxo de bits, e o grupo de conjunto de parâmetros de fatias é válido a partir de sua localização de aparência até o final da unidade de acesso.
4. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado por compreender ainda: formar o conjunto dos elementos de sintaxe para o parâmetro de fatias definido a partir de pelo menos uma das seguintes características: elementos de sintaxe que indicam uma camada escalável e/ou outras características de escalabilidade; elementos de sintaxe que indicam uma vista e/ou outras características multivistas; elementos de sintaxe relacionados a um tipo de componente específico de um vídeo multivistas; elementos de sintaxe relacionados à identificação da unidade de acesso; elementos de sintaxe relacionadas à ordem de decodificação; elementos de sintaxe relacionadas à ordem de saída; elementos de sintaxe relacionados a outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso; elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista; elementos de sintaxe relacionados à modificação de lista de imagem de referência; elementos de sintaxe relacionados a um conjunto de imagens de referência utilizado; elementos de sintaxe relacionados à decodificação de marcação da imagem de referência; elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada; elementos de sintaxe para controlar a filtragem de desbloqueio; elementos de sintaxe para controlar a filtragem de loop adaptativo; elementos de sintaxe para controlar o deslocamento adaptável da amostra.
5. APARELHO (200) PARA CODIFICAÇÃO DE CONTEÚDO DE VÍDEO TRIDIMENSIONAL (3D), que compreende um componente de vista de textura (201) e um componente de vista de profundidade (201), o aparelho (200) caracterizado por compreender pelo menos um processador e, pelo menos, uma memória, a pelo menos uma memória configurada para, com o pelo menos um processador fazer com que o aparelho (200): codifique uma imagem não comprimida em uma imagem codificada compreendendo uma fatia codificada do componente de vista de textura (201) e uma fatia codificada do componente de vista de profundidade (203), a codificação compreendendo: classifique os elementos de sintaxe para a fatia do componente de vista de profundidade (203) em um primeiro conjunto e um segundo conjunto; determine valores de elementos de sintaxe para o primeiro conjunto e o segundo conjunto; codifique valores de elementos de sintaxe para o primeiro conjunto seletivamente em um grupo de conjunto de parâmetros de fatias ou no cabeçalho de fatia da fatia do componente de vista de profundidade (203); forme o grupo de conjunto de parâmetros de fatias a partir de um cabeçalho de fatia da fatia codificada do componente de vista de textura; ao codificar o dito grupo de conjunto de parâmetro de fatias, prover uma indicação quanto a se e quais valores de elemento de sintaxe para o primeiro conjunto são codificados no grupo de conjunto de parâmetro de fatias, e se e quais valores de elemento de sintaxe para o primeiro conjunto são incluídos no cabeçalho de fatia da fatia de componente de vista de profundidade (203); e codifique os valores dos elementos de sintaxe do segundo conjunto no cabeçalho de fatia da fatia de componente de vista de profundidade (203).
6. APARELHO (200), de acordo com a reivindicação 5, caracterizado por a pelo menos uma memória ser ainda configurada para, com o pelo menos um processador, ainda fazer com que o aparelho (200): forme o grupo de conjunto de parâmetros de fatias a partir de um cabeçalho de fatia de outra fatia de mesma vista que a fatia do componente de vista de profundidade (203).
7. APARELHO (200), de acordo com qualquer uma das reivindicações 5 ou 6, caracterizado pelo grupo de conjunto de parâmetros de fatias ser válido dentro de uma unidade de acesso especial a ela associada, em que o grupo de estrutura de sintaxe de conjunto de parâmetros de fatias está incluído em uma sequência da unidade de camada de abstração de rede para uma unidade de acesso especial, onde a sequência está na ordem de decodificação ou fluxo de bits, e o grupo de conjunto de parâmetros de fatias é válido a partir de sua localização de aparência até o final da unidade de acesso.
8. APARELHO (200), de acordo com qualquer uma das reivindicações 5 a 7, caracterizado por a pelo menos uma memória ser ainda configurada para, com o pelo menos um processador, fazer com que o aparelho (200): forme o conjunto de elementos de sintaxe para o grupo de parâmetros de fatias definido a partir de pelo menos uma das seguintes características: elementos de sintaxe que indicam uma camada escalável e/ou outras características de escalabilidade; elementos de sintaxe que indicam uma vista e/ou outras características multivistas; elementos de sintaxe relacionados a um tipo de componente específico de um vídeo multivistas; elementos de sintaxe relacionados à identificação da unidade de acesso; elementos de sintaxe relacionadas à ordem de decodificação; elementos de sintaxe relacionadas à ordem de saída; elementos de sintaxe relacionados a outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso; elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista; elementos de sintaxe relacionados à modificação de lista de imagem de referência; elementos de sintaxe relacionados a um conjunto de imagens de referência utilizado; elementos de sintaxe relacionados à decodificação de marcação da imagem de referência; elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada; elementos de sintaxe para controlar a filtragem de desbloqueio; elementos de sintaxe para controlar a filtragem de loop adaptativo; elementos de sintaxe para controlar o deslocamento adaptável da amostra.
9. MEIO LEGÍVEL POR COMPUTADOR, caracterizado por incluir uma ou mais sequências de uma ou mais instruções para a codificação de conteúdo de vídeo tridimensional (3D), que compreende um componente de vista da textura (201) e um componente de vista de profundidade (203), a dita uma ou mais instruções quando executadas por um ou mais processadores, fazem com que um aparelho execute um método, conforme definido em qualquer uma das reivindicações 1 a 4.
10. MÉTODO PARA DECODIFICAR CONTEÚDO DE VÍDEO TRIDIMENSIONAL (3D) CODIFICADO, compreendendo uma fatia codificada de um componente de vista de textura (201) e uma fatia codificada de um componente de vista de profundidade (203), o método caracterizado por compreender: decodificar uma fatia codificada do componente de vista de profundidade (203); identificar uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizado para decodificar a fatia codificada do componente de vista de profundidade (203) a ser um de um cabeçalho de fatia da fatia do componente de vista de profundidade (203) ou um grupo de parâmetros de fatias definido, decodificar a partir do grupo de conjunto de parâmetro de fatias uma primeira indicação se os valores dos elementos de sintaxe para o primeiro conjunto devem ser inferidos a partir do grupo de parâmetros de fatias definido, ou incluídos no cabeçalho de fatia da fatia do componente de vista de profundidade (203); em resposta ao primeiro sinal indicar que os valores dos elementos de sintaxe para o primeiro conjunto estão incluídos no cabeçalho da fatia da fatia do componente de vista de profundidade (203), decodificar os valores de elementos de sintaxe do primeiro conjunto a partir do cabeçalho de fatia da fatia do componente de vista de profundidade (203), caso contrário, prever os valores dos elementos de sintaxe para o primeiro conjunto do grupo do parâmetro de fatias definido; decodificar os valores dos elementos de sintaxe do segundo conjunto do cabeçalho de fatia da fatia do componente de vista de profundidade (203); e decodificar a fatia codificada de um componente de visualização de profundidade (203) usando o primeiro conjunto decodificado e o segundo conjunto de elementos de sintaxe.
11. MÉTODO, de acordo com a reivindicação 10, caracterizado por compreender ainda: formar o grupo de conjunto de parâmetros de fatias a partir de um cabeçalho de fatia da fatia codificada do componente de vista de textura (201).
12. MÉTODO, de acordo com a reivindicação 10, caracterizado por compreender ainda: formar o grupo de conjunto de parâmetros de fatias a partir de um cabeçalho de fatia de outra fatia de mesma vista que a fatia codificada do componente de vista de profundidade (203).
13. MÉTODO, de acordo com qualquer uma das reivindicações 10 a 12, caracterizado pelo grupo de conjunto de parâmetros de fatias ser válido dentro de uma unidade de acesso particular associada com ela, em que o grupo de conjunto de estrutura de sintaxe de parâmetro de fatias está incluído em uma sequência de unidade de camada de abstração de rede para uma unidade de acesso especial, onde a sequência está na ordem de decodificação ou fluxo de bits, e o grupo de conjunto de parâmetros de fatias é válido a partir de sua localização de aparência até o final da unidade de acesso.
14. MÉTODO, de acordo com qualquer uma das reivindicações 10 ou 13, caracterizado por compreender ainda: formar o conjunto dos elementos de sintaxe para o grupo de parâmetros de fatias definido a partir de pelo menos uma das seguintes características: elementos de sintaxe que indicam uma camada escalável e/ou outras características de escalabilidade; elementos de sintaxe que indicam uma vista e/ou outras características multivistas; elementos de sintaxe relacionados a um tipo de componente específico de um vídeo multivistas; elementos de sintaxe relacionados à identificação da unidade de acesso; elementos de sintaxe relacionadas à ordem de decodificação; elementos de sintaxe relacionadas à ordem de saída; elementos de sintaxe relacionados a outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso; elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista; elementos de sintaxe relacionados à modificação de lista de imagem de referência; elementos de sintaxe relacionados a um conjunto de imagens de referência utilizado; elementos de sintaxe relacionados à decodificação de marcação da imagem de referência; elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada; elementos de sintaxe para controlar a filtragem de desbloqueio; elementos de sintaxe para controlar a filtragem de loop adaptativo; elementos de sintaxe para controlar o deslocamento adaptável da amostra.
15. APARELHO (210) PARA DECODIFICAR CONTEÚDO DE VÍDEO TRIDIMENSIONAL (3D) CODIFICADO, que compreende uma fatia codificada de um componente de vista da textura (201) e uma fatia codificada de um componente de vista de profundidade (203), o aparelho (210) caracterizado por compreender, pelo menos, um processador e, pelo menos, uma memória, a pelo menos uma memória configurada para, com o pelo menos um processador fazer com que o aparelho (210): decodifique uma fatia codificada do componente de vista de profundidade (203); identifique uma primeira localização de um primeiro conjunto de elementos de sintaxe e uma segunda localização de um segundo conjunto de elementos de sintaxe para ser utilizada para decodificar a fatia codificada do componente de vista de profundidade (203) a ser um de um cabeçalho de fatia da fatia do componente de vista de profundidade (203) ou um grupo de parâmetros de fatias definido, decodifique a partir do grupo de conjunto de parâmetro de fatias uma primeira indicação se os valores dos elementos de sintaxe para o primeiro conjunto devem ser inferidos a partir do grupo de parâmetros de fatias definido, ou incluídos no cabeçalho de fatia da fatia do componente de vista de profundidade (203); em resposta ao primeiro sinal indicando que os valores dos elementos de sintaxe para o primeiro conjunto estão incluídos no cabeçalho de fatia da fatia do componente de vista de profundidade (203), decodificar os valores de elementos de sintaxe do primeiro conjunto a partir do cabeçalho de fatia da fatia do componente de vista de profundidade (203), caso contrário, prever os valores dos elementos de sintaxe para o primeiro conjunto do grupo do conjunto de parâmetros de fatias; decodifique os valores dos elementos de sintaxe do segundo conjunto do cabeçalho de fatia da fatia do componente de vista de profundidade (203); e decodifique a fatia codificada de um componente de vista de profundidade (203) usando o primeiro conjunto decodificado e o segundo conjunto de elementos de sintaxe.
16. APARELHO (210), de acordo com a reivindicação 15, caracterizado por a pelo menos uma memória ser ainda configurada para, com o pelo menos um processador, ainda fazer com que o aparelho (210): forme o grupo de conjunto de parâmetros de fatias a partir de um cabeçalho de fatia da fatia codificada do componente de vista de textura (201).
17. APARELHO (210), de acordo com a reivindicação 15, caracterizado por a pelo menos uma memória ser ainda configurada para, com o pelo menos um processador, ainda fazer com que o aparelho (210): forme o grupo de conjunto de parâmetros de fatias a partir de um cabeçalho de fatia de outra fatia de mesma vista que a fatia codificada do componente de vista de profundidade (203).
18. APARELHO (210), de acordo com qualquer uma das reivindicações 15 a 17, caracterizado pelo grupo de conjunto de parâmetros de fatias ser válido dentro de uma determinada unidade de acesso associada com ela, em que o grupo de estrutura de sintaxe de conjunto de parâmetros de fatias é incluído numa sequência de unidade de camada de abstração de rede para uma unidade especial de acesso, onde a sequência está na ordem de decodificação ou fluxo de bits, e o grupo de conjunto de parâmetros de fatias é válido a partir de sua localização de aparência até o final da unidade de acesso.
19. APARELHO (210), de acordo com qualquer uma das reivindicações 15 a 18, caracterizado por a pelo menos uma memória ser ainda configurada para, com o pelo menos um processador, ainda fazer com que o aparelho (210): forme o conjunto de elementos de sintaxe para o grupo de parâmetros definido fatias a partir de pelo menos uma das seguintes características: elementos de sintaxe que indicam uma camada escalável e/ou outras características de escalabilidade; elementos de sintaxe que indicam uma vista e/ou outras características multivistas; elementos de sintaxe relacionados a um tipo de componente específico de um vídeo multivistas; elementos de sintaxe relacionados à identificação da unidade de acesso; elementos de sintaxe relacionadas à ordem de decodificação; elementos de sintaxe relacionadas à ordem de saída; elementos de sintaxe relacionados a outros elementos de sintaxe que podem permanecer inalterados para todas as fatias de uma unidade de acesso; elementos de sintaxe que podem permanecer inalterados em todas as fatias de um componente de vista; elementos de sintaxe relacionados à modificação de lista de imagem de referência; elementos de sintaxe relacionados a um conjunto de imagens de referência utilizado; elementos de sintaxe relacionados à decodificação de marcação da imagem de referência; elementos de sintaxe relacionados com tabelas de peso de predição para predição ponderada; elementos de sintaxe para controlar a filtragem de desbloqueio; elementos de sintaxe para controlar a filtragem de loop adaptativo; elementos de sintaxe para controlar o deslocamento adaptável da amostra.
20. MEIO LEGÍVEL POR COMPUTADOR, caracterizado por incluir uma ou mais sequências de uma ou mais instruções para decodificação de conteúdo de vídeo tridimensional (3D) codificado, que compreende uma fatia codificada de um componente de vista da textura (201) e uma fatia codificada de um componente de vista profundidade (203), as ditas uma ou mais instruções, quando executadas por um ou mais processadores, fazem com que um aparelho execute um método, conforme definido em qualquer uma das reivindicações 10 a 14.
BR112014018856-4A 2012-02-01 2013-01-31 Método para a codificação de conteúdo de vídeo tridimensional, aparelho para codificação de conteúdo de vídeo tridimensional, meio legível por computador, método para decodificar conteúdo de vídeo tridimensional codificado, aparelho para decodificar conteúdo de vídeo tridimensional codificado BR112014018856B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261593519P 2012-02-01 2012-02-01
US61/593,519 2012-02-01
PCT/FI2013/050103 WO2013113997A1 (en) 2012-02-01 2013-01-31 Method and apparatus for video coding

Publications (3)

Publication Number Publication Date
BR112014018856A2 BR112014018856A2 (pt) 2017-06-20
BR112014018856A8 BR112014018856A8 (pt) 2017-07-11
BR112014018856B1 true BR112014018856B1 (pt) 2022-09-20

Family

ID=48869870

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014018856-4A BR112014018856B1 (pt) 2012-02-01 2013-01-31 Método para a codificação de conteúdo de vídeo tridimensional, aparelho para codificação de conteúdo de vídeo tridimensional, meio legível por computador, método para decodificar conteúdo de vídeo tridimensional codificado, aparelho para decodificar conteúdo de vídeo tridimensional codificado

Country Status (9)

Country Link
US (2) US9479775B2 (pt)
EP (1) EP2810443B1 (pt)
JP (1) JP5947405B2 (pt)
KR (1) KR101669524B1 (pt)
CN (1) CN104205819B (pt)
BR (1) BR112014018856B1 (pt)
CA (1) CA2863131C (pt)
SG (1) SG11201404509QA (pt)
WO (1) WO2013113997A1 (pt)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
JP2013198059A (ja) * 2012-03-22 2013-09-30 Sharp Corp 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法およびプログラム
US10491913B2 (en) * 2012-04-24 2019-11-26 Telefonaktiebolaget L M Ericsson (Publ) Identifying a parameter set for decoding a multi-layer video representation
US9813705B2 (en) 2012-04-26 2017-11-07 Qualcomm Incorporated Parameter set coding
US9332269B2 (en) * 2012-06-27 2016-05-03 Broadcom Corporation Slice overhead coding
DK2868082T3 (en) 2012-06-29 2016-09-12 ERICSSON TELEFON AB L M (publ) Coding and decoding video sequences comprehensive referencebilledsæt
US9686542B2 (en) 2012-09-05 2017-06-20 Qualcomm Incorporated Network abstraction layer header design
US9491461B2 (en) 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
US9380307B2 (en) 2012-11-19 2016-06-28 Qualcomm Incorporated Method and system for intra base layer (BL) transform in video coding
US9648319B2 (en) 2012-12-12 2017-05-09 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
US10021388B2 (en) * 2012-12-26 2018-07-10 Electronics And Telecommunications Research Institute Video encoding and decoding method and apparatus using the same
US9584808B2 (en) * 2013-02-22 2017-02-28 Qualcomm Incorporated Device and method for scalable coding of video information
US9578339B2 (en) 2013-03-05 2017-02-21 Qualcomm Incorporated Parallel processing for video coding
US9516306B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US20140301436A1 (en) * 2013-04-05 2014-10-09 Qualcomm Incorporated Cross-layer alignment in multi-layer video coding
KR102233965B1 (ko) * 2013-07-01 2021-03-30 삼성전자주식회사 필터링을 수반한 비디오 부호화 및 복호화 방법 및 그 장치
US9906768B2 (en) * 2013-07-26 2018-02-27 Qualcomm Incorporated Use of a depth condition in 3DV codec
JP6212212B2 (ja) * 2013-10-11 2017-10-11 ヴィド スケール インコーポレイテッド Hevc拡張のための高レベル構文
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
WO2015101716A1 (en) * 2014-01-03 2015-07-09 Nokia Technologies Oy Parameter set coding
JP2015136060A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
FR3018417B1 (fr) * 2014-03-04 2017-07-28 Sagemcom Broadband Sas Procede de modification d'un flux video binaire.
FR3029381A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de composition d’une representation video intermediaire
US10370060B2 (en) * 2015-10-30 2019-08-06 Shimano Inc. Bicycle electrical component assembly
GB2598255B (en) * 2016-02-17 2022-07-27 V Nova Int Ltd Physical adapter, signal processing equipment, methods and computer programs
KR102387909B1 (ko) * 2016-11-29 2022-04-18 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN108616748A (zh) * 2017-01-06 2018-10-02 科通环宇(北京)科技有限公司 一种码流及其封装方法、解码方法及装置
CN106878753B (zh) * 2017-02-16 2020-04-28 南京理工大学 一种使用纹理平滑信息的3d视频残差编码模式选择方法
EP3489900A1 (en) * 2017-11-23 2019-05-29 Thomson Licensing Method, apparatus and stream for encoding/decoding volumetric video
KR102503743B1 (ko) * 2018-04-11 2023-02-28 삼성전자주식회사 이미지 처리 장치 및 방법
US11451773B2 (en) * 2018-06-01 2022-09-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) design and signaling
SG11202012293RA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Update of look up table: fifo, constrained fifo
EP3791585A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
TWI719523B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 哪個查找表需要更新或不更新
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
WO2020003284A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
JP7328330B2 (ja) 2018-06-29 2023-08-16 北京字節跳動網絡技術有限公司 Lutにおける動き候補のチェック順序
CN110677669B (zh) 2018-07-02 2021-12-07 北京字节跳动网络技术有限公司 具有lic的lut
US11064196B2 (en) * 2018-09-03 2021-07-13 Qualcomm Incorporated Parametrizable, quantization-noise aware bilateral filter for video coding
WO2020053800A1 (en) 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. How many hmvp candidates to be checked
JP7132436B2 (ja) * 2018-10-27 2022-09-06 華為技術有限公司 ビデオコーディングのための、サブブロックマージ候補のための個別マージリストと、イントラ-インター技術との調和
US11051017B2 (en) 2018-12-20 2021-06-29 Qualcomm Incorporated Adaptive loop filter (ALF) index signaling
KR102648159B1 (ko) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
WO2020156526A1 (en) 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and inter coding tools
BR112021014202A2 (pt) 2019-02-01 2021-09-21 Beijing Bytedance Network Technology Co., Ltd. Sinalização de informações de reformulação em malha usando conjuntos de parâmetros
WO2020184673A1 (ja) * 2019-03-12 2020-09-17 ソニー株式会社 画像復号装置、画像復号方法、画像符号化装置、および画像符号化方法
JPWO2020184672A1 (pt) 2019-03-12 2020-09-17
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CN113632469B (zh) 2019-03-23 2022-12-13 北京字节跳动网络技术有限公司 默认的环内整形参数
US20220159279A1 (en) * 2019-04-15 2022-05-19 Lg Electronics Inc. Video or image coding based on signaling of scaling list data
JP7403245B2 (ja) * 2019-06-21 2023-12-22 キヤノン株式会社 画像復号装置、画像復号方法
CA3145175A1 (en) * 2019-06-24 2020-12-30 Interdigital Vc Holdings, Inc. Method and apparatus for signaling decoding data using high level syntax elements
GB2586516B (en) * 2019-08-23 2022-07-06 Imagination Tech Ltd Random accessible image data compression
US11535339B2 (en) * 2019-08-30 2022-12-27 Shimano Inc. Bicycle derailleur
CN117376552A (zh) * 2019-09-16 2024-01-09 Lg电子株式会社 解码设备、编码设备和发送设备
US11758193B2 (en) * 2019-11-04 2023-09-12 Hfi Innovation Inc. Signaling high-level information in video and image coding
KR102192631B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 병렬 포렌식 마킹 장치 및 방법
US11902584B2 (en) 2019-12-19 2024-02-13 Tencent America LLC Signaling of picture header parameters
EP4088469A1 (en) * 2020-01-09 2022-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Picture header presence
WO2021195588A1 (en) * 2020-03-26 2021-09-30 Alibaba Group Holding Limited Methods and apparatuses for signaling picture header
US11516514B2 (en) * 2020-03-27 2022-11-29 Tencent America LLC High level control for deblocking operations
CN112468818B (zh) * 2021-01-22 2021-06-29 腾讯科技(深圳)有限公司 视频通信的实现方法及装置、介质和电子设备
EP4113996A1 (en) * 2021-06-30 2023-01-04 Panasonic Intellectual Property Corporation of America Encoding mergable bitstreams with subpictures

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004248124A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> 階層的画像符号化装置および階層的画像復号装置
US7586924B2 (en) * 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
WO2006119389A2 (en) * 2005-05-03 2006-11-09 Mutual Pharmaceutical Company, Inc. Quinine-containing controlled-release formulations
BRPI0616407B1 (pt) * 2005-10-12 2020-08-11 Interdigital Vc Holdings, Inc Codificação/decodificação de vídeo escalonável h.264 com região de interesse
KR20090129412A (ko) 2007-03-02 2009-12-16 엘지전자 주식회사 비디오 신호 디코딩/인코딩 방법 및 장치
EP2177036A2 (en) 2007-08-15 2010-04-21 Thomson Licensing Methods and apparatus for motion skip mode in multi-view coded video using regional disparity vectors
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
CN101911700A (zh) 2008-01-11 2010-12-08 汤姆逊许可证公司 视频和深度编码
KR20090089960A (ko) * 2008-02-20 2009-08-25 엘지전자 주식회사 초고해상도 영상 인코딩 및 디코딩 방법 및 장치
WO2009136681A1 (en) * 2008-05-08 2009-11-12 Lg Electronics Inc. Method for encoding and decoding image, and apparatus for displaying image
CN101374243B (zh) * 2008-07-29 2010-06-23 宁波大学 一种应用于3dtv与ftv系统的深度图编码压缩方法
CN102257818B (zh) * 2008-10-17 2014-10-29 诺基亚公司 3d视频编码中运动向量的共享
JP2010157821A (ja) * 2008-12-26 2010-07-15 Victor Co Of Japan Ltd 画像符号化装置、画像符号化方法およびそのプログラム
EP2425626A2 (en) * 2009-05-01 2012-03-07 Thomson Licensing Inter-layer dependency information for 3dv
US9591320B2 (en) * 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
CN102055982B (zh) * 2011-01-13 2012-06-27 浙江大学 三维视频编解码方法及装置
KR101830787B1 (ko) * 2011-07-12 2018-02-21 삼성전자 주식회사 수기로 작성된 메모 데이터 검색 방법 및 장치
US9521418B2 (en) * 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US20130188013A1 (en) * 2011-07-22 2013-07-25 Qualcomm Incorporated Mvc based 3dvc codec supporting inside view motion prediction (ivmp) mode
US11496760B2 (en) * 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US20130188709A1 (en) * 2012-01-25 2013-07-25 Sachin G. Deshpande Video decoder for tiles with absolute signaling
TW201342884A (zh) * 2012-01-31 2013-10-16 Sony Corp 編碼裝置及編碼方法、以及解碼裝置及解碼方法

Also Published As

Publication number Publication date
CN104205819B (zh) 2017-06-30
WO2013113997A1 (en) 2013-08-08
CN104205819A (zh) 2014-12-10
BR112014018856A2 (pt) 2017-06-20
CA2863131C (en) 2017-03-28
US20170048550A1 (en) 2017-02-16
US9479775B2 (en) 2016-10-25
US20130194384A1 (en) 2013-08-01
EP2810443A1 (en) 2014-12-10
EP2810443A4 (en) 2016-11-09
KR20140130152A (ko) 2014-11-07
EP2810443B1 (en) 2021-03-31
JP2015509345A (ja) 2015-03-26
KR101669524B1 (ko) 2016-11-09
US10397610B2 (en) 2019-08-27
BR112014018856A8 (pt) 2017-07-11
JP5947405B2 (ja) 2016-07-06
CA2863131A1 (en) 2013-08-08
SG11201404509QA (en) 2014-08-28

Similar Documents

Publication Publication Date Title
US10904543B2 (en) Method and apparatus for video coding and decoding
US10397610B2 (en) Method and apparatus for video coding
AU2017204114B2 (en) Method and apparatus for video coding
JP6057395B2 (ja) ビデオ符号化方法および装置
CN106416250B (zh) 视频编码和解码
ES2898887T3 (es) Manejo de imágenes de referencia
KR101967398B1 (ko) 모션 정보를 시그널링하기 위한 구문을 수반하는 비디오 코딩을 위한 방법 및 장치
KR101630564B1 (ko) 비디오 코딩을 위한 방법 및 장치
US20130343459A1 (en) Method and apparatus for video coding
JP6417039B2 (ja) 画像シーケンスのコーディングおよびデコーディングのための装置、方法およびコンピュータ・プログラム

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: NOKIA TECHNOLOGIES OY (FI)

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 31/01/2013, OBSERVADAS AS CONDICOES LEGAIS