MÉTODO E APARELHO PARA O PROGNÓSTICO PONDERADO
PARA UMA CODIFICAÇÃO DE VÍDEO REDIMENSIONÁVEL”
REFERÊNCIA CRUZADA COM PEDIDOS RELACIONADOS
O presente pedido reivindica o benefício do Pedido de Patente Provisório dos Estados Unidos N. de Série 60/701 464, depositado em 21 de julho de 2005 e intitulado METHOD AND APPARATUS FOR WEIGHTED PREDICTION FOR SCALABLE VIDEO CODING”, incorporado ao presente documento à guisa de referência em sua totalidade.
CAMPO DA INVENÇÃO
A presente invenção refere-se de modo geral à codificação e decodificação de vídeo e mais particularmente a métodos e aparelho para o prognóstico ponderado de uma codificação e decodificação de vídeo redimensionável.
FUNDAMENTOS DA INVENÇÃO
A Organização Internacional para a Padronização / Comissão Internacional Eletrotécnica (ISO/IEC) do Moving Picture Experts Group-4 (MPEG-4) Parte 10 do padrão de Codificação Avançada de Vídeo (AVC) / União Internacional de Telecomunicações, Setor de Telecomunicações (ITU-T) do padrão H.264 (doravante o padrão MPEG4/H.264 ou simplesmente o padrão H.264) é o primeiro padrão internacional de codificação de vídeo a incluir uma ferramenta de Prognóstico Ponderado (WP). O Prognóstico Ponderado foi adotado para melhorar a eficiência da codificação. O padrão de codificação de vídeo redimensionável (SVC), desenvolvido como uma emenda do padrão H.264, também adota o prognóstico ponderado. No entanto, o padrão SVC não explicitamente
Petição 870180167360, de 24/12/2018, pág. 6/52
2/35 especifica a relação dos pesos entre uma camada de base e as suas camadas de aperfeiçoamento.
O prognóstico ponderado é suportado nos perfis Principal, Estendido, e Alto do padrão H.264. O uso do prognóstico WP é indicado no parâmetro de seqüência definido para as fatias P e SP usando o campo weighted_pred_flag, e para as fatias B usando o campo weighting_bipred_idc. Existem dois modos de prognóstico WP, um modo explícito e um modo implícito. O modo explícito é suportado nas fatias P, SP e B. O modo implícito é suportado apenas nas fatias B.
Um fator de prognóstico único e deslocamento são associados a cada índice de imagem de referência para cada componente de cor em cada fatia. No modo explícito, estes parâmetros de prognóstico WP podem ser codificados no cabeçalho da fatia. No modo implícito, estes parâmetros são derivados com base na distância relativa da imagem corrente e suas imagens de referência.
Para cada macrobloco ou divisão de macrobloco, os parâmetros ponderados aplicados se baseiam em um índice de imagem de referência (ou índices, no caso do bi-prognóstico) do macrobloco corrente ou divisão de macrobloco. Os índices de imagem de referência são codificados no fluxo de bits ou podem ser derivados, por exemplo, para saltar ou direcionar macroblocos de modo. O uso do índice de imagem de referência para sinalizar quais parâmetros ponderados aplicar é eficiente em taxa de bits, em comparação à necessidade de um índice de parâmetro ponderado no fluxo de bits, uma vez que
Petição 870180167360, de 24/12/2018, pág. 7/52
3/35 o índice de imagem de referência já se encontra disponível com base nos outros campos de fluxo de bits requeridos.
Muitos métodos diferentes de redimensionamento têm sido amplamente estudados e padronizados, incluindo o redimensionamento
SNR, o redimensionamento espacial, redimensionamento temporal, e o redimensionamento de grão fino, em perfis de redimensionamento dos padrões MPEG-2 e
H.264, ou estão sendo correntemente desenvolvidos como uma emenda do padrão H.264.
Para um redimensionamento espacial, temporal e
SNR, um grande grau de prognóstico entre camadas incorporado. Os intra e inter macroblocos podem ser previstos usando os sinais correspondentes das camadas anteriores. Além disso, a descrição de animação de cada camada pode ser usada para um prognóstico da descrição de animação para as camadas de aperfeiçoamento a seguir. Estas técnicas recaem em três categorias: um prognóstico de intercamada e intra-textura, um prognóstico de animação intercamada e um prognóstico de resíduo inter-camada.
No Modelo de Vídeo Redimensionável Conjunto (JSVM)
2.0, um macrobloco de camada de aperfeiçoamento pode explorar o prognóstico de inter-camada usando os dados de animação de camada de base redimensionados, usando o BASE_LAYER_MODE ou o QPEL_REFINEMENT_MODE, como no caso do redimensionamento espacial (de duas camadas) diádicos. Quando o prognóstico de animação inter-camada é usado, o vetor de animação (incluindo o seu índice de imagem de referência e parâmetros ponderados associados) do macrobloco
Petição 870180167360, de 24/12/2018, pág. 8/52
4/35 (super-amostrado) correspondente na camada anterior é usado para o prognóstico de animação. Quando a camada de aperfeiçoamento e sua camada anterior possuem diferentes valores pred_weight_table(), precisamos armazenar diferentes conjuntos de parâmetros ponderados para a mesma imagem de referência na camada de aperfeiçoamento.
SUMÁRIO DA INVENÇÃO
Estas e outras falhas e desvantagens da técnica anterior são tratadas pela presente invenção, a qual diz respeito a métodos e aparelho para o prognóstico ponderado para uma codificação e decodificação de vídeo redimensionável.
De acordo com um aspecto da presente invenção, é provido um decodificador de vídeo redimensionável. O decodificador de vídeo redimensionável inclui um decodificador para a decodificação de um bloco em uma camada de aperfeiçoamento de uma imagem por meio da aplicação de um mesmo parâmetro ponderado a uma imagem de referência de camada de aperfeiçoamento que o aplicado a uma imagem de referência de camada inferior usada para decodificar um bloco em uma camada inferior da imagem. O bloco na camada de aperfeiçoamento corresponde ao bloco na camada inferior, e a imagem de referência de camada de aperfeiçoamento corresponde à imagem de referência de camada inferior.
De acordo com um outro aspecto da presente invenção, é provido um método para uma decodificação de vídeo redimensionável. O método inclui a etapa de decodificar um bloco em uma camada de aperfeiçoamento de uma
Petição 870180167360, de 24/12/2018, pág. 9/52
5/35 imagem por meio da aplicação de um mesmo parâmetro ponderado a uma imagem de referência de camada de aperfeiçoamento que o aplicado a uma imagem de referência de camada inferior usada para decodificar um bloco em uma camada inferior da imagem. O bloco na camada de aperfeiçoamento corresponde ao bloco na camada inferior, e a imagem de referência de camada de aperfeiçoamento corresponde à imagem de referência de camada inferior.
De acordo com outro aspecto da presente invenção, é provido um meio de armazenamento tendo dados de sinal de vídeo redimensionável codificados no mesmo incluindo um bloco codificado em uma camada de aperfeiçoamento de uma imagem gerada por meio da aplicação de um mesmo parâmetro ponderado a uma imagem de referência de camada de aperfeiçoamento que o aplicado a uma imagem de referência de camada inferior usada para codificar um bloco em uma camada inferior da imagem. O bloco na camada de aperfeiçoamento corresponde ao bloco da camada inferior, e a imagem de referência de camada de aperfeiçoamento corresponde à imagem de referência de camada inferior.
Estes e outros aspectos, recursos e vantagens da presente invenção ficarão aparentes a partir da descrição detalhada a seguir de modalidades exemplares que podem ser lidas com relação aos desenhos em anexo.
BREVE DESCRIÇÃO DOS DESENHOS
A presente invenção pode ser entendida de acordo com as seguintes figuras exemplares, nas quais:
Petição 870180167360, de 24/12/2018, pág. 10/52
6/35
A Figura 1 mostra um diagrama em blocos de um codificador de Vídeo Redimensionável Conjunto (JSVM) Modelo 2.0 ao a qual os presentes princípios podem ser aplicados;
A Figura 2 mostra um diagrama em blocos para um decodificador exemplar ao qual os presentes princípios podem ser aplicados;
A Figura 3 é um diagrama em blocos para um método exemplar para a codificação de vídeo redimensionável de um bloco de imagem usando o prognóstico ponderado de acordo com uma modalidade exemplar dos presentes princípios;
A Figura 4 é um fluxograma de um método exemplar para a decodificação de vídeo redimensionável de um bloco de imagem usando o prognóstico ponderado de acordo com uma modalidade exemplar dos presentes princípios;
A Figura 5 é um fluxograma de um método exemplar para a decodificação das sintaxes level_idc e profile_idc de acordo com uma modalidade exemplar dos presentes princípios; e
A Figura 6 é um fluxograma de um método exemplar para a decodificação de uma limitação de prognóstico ponderado para uma camada de aperfeiçoamento de acordo com uma modalidade exemplar dos presentes princípios.
DESCRIÇÃO DETALHADA DA INVENÇÃO
A presente invenção refere-se a métodos e aparelho para o prognóstico ponderado para a codificação e decodificação de vídeo redimensionáveis.
De acordo com os princípios da presente invenção, métodos e aparelho são apresentados que reutilizam os
Petição 870180167360, de 24/12/2018, pág. 11/52
7/35 parâmetros ponderados de camada de base para um prognóstico ponderado de camada de aperfeiçoamento. Com vantagem, as modalidades de acordo com os presentes princípios podem salvar na memória e/ou complexidade para ambos o codificador e decodificador. Além disso, as modalidades de acordo com os presentes princípios podem também salvar bits em taxas de bits muito baixas.
A presente descrição ilustra os princípios da presente invenção. Deste modo, será apreciado que os versados na técnica serão capazes de imaginar várias disposições que, embora não explicitamente descritas ou mostradas no presente documento, incorporam os princípios da presente invenção e são incluídas no seu espírito e âmbito.
Todos os exemplos e linguagem condicional aqui apresentados se prestam a fins pedagógicos a fim de auxiliar o leitor no entendimento dos princípios da presente invenção e dos conceitos contribuídos pelo inventor para melhorar a técnica, e devem ser construídos sem limitação aos exemplos e condições especificamente apresentados.
Além disso, todas as instruções aqui apresentam princípios, aspectos, e modalidades da presente invenção, assim como exemplos específicos da mesma, pretendem abranger tanto os equivalentes estruturais e funcionais da mesma. Além disso, é pretendido que tais equivalentes incluam ambos os equivalentes correntemente conhecidos, mais ainda os equivalentes desenvolvidos no futuro, isto é, quaisquer elementos desenvolvidos que realizam a mesma função, independente da estrutura.
Petição 870180167360, de 24/12/2018, pág. 12/52
8/35
Sendo assim, por exemplo, será apreciado pelos versados na técnica que os diagramas em blocos aqui apresentados representam vistas conceituais de um circuito ilustrativo incorporando os princípios da presente invenção.
de maneira similar, será apreciado que qualquer fluxograma, diagramas de transição de estado, pseudo-códigos, ou coisa do gênero, representam vários substancialmente representados computador e assim executados processador, queira ou não este seja explicitamente mostrado.
As funções dos vários figuras dedicado software providas podem ser providas assim como de um em por por um único associação a processos que podem em um meio legível por um computador ser em ou computador elementos através do uso hardware capaz ou processador mostrados nas de um hardware de executar um um software apropriado. Quando um processador, as funções podem ser providas processador compartilhado, ou individuais, alguns
Além disso, o controladora exclusivamente uso deve a um por dos dedicado, por um único processador uma pluralidade de processadores quais podendo ser compartilhados.
explícito do termo processador ou ser construído de modo a se referir hardware capaz de executar um software, e pode implicitamente incluir sem limitação um hardware de processador de sinal digital (DSP), uma memória de leitura
ROM) para o armazenamento do software, uma memória de acesso aleatório (RAM), e um armazenamento não volátil.
Outros hardwares, convencionais e/ou personalizados podem também ser incluídos. De maneira
Petição 870180167360, de 24/12/2018, pág. 13/52
9/35 similar, quaisquer comutadores mostrados nas figuras são apenas conceituais. Sua função pode ser realizada através da operação de uma lógica de programa, através de uma lógica dedicada, através da interação do controle de programa e da lógica dedicada, ou ainda manualmente, a técnica em particular sendo executável pelo implementador, conforme mais especificamente entendido a partir do contexto.
Nas presentes reivindicações, qualquer elemento expresso como um meio para a execução de uma função específica pretende abranger qualquer maneira de se executar aquela função, incluindo, por exemplo, a) uma combinação de elementos de circuito que realiza aquela função, ou b) um software de qualquer forma, incluindo, portanto, um firmware, um micro-código, ou coisa do gênero, combinado com um circuito apropriado para a execução daquele software no sentido de realizar a função. A presente invenção conforme definida por tais reivindicações é inerente ao fato de que as funcionalidades providas pelos diversos meios apresentados são combinadas e reunidas da maneira que as reivindicações sugerem. É, por conseguinte, considerado que qualquer meio que possa prover estas funcionalidades seja equivalente aos mostrados no presente documento.
De acordo com as modalidades dos presentes princípios, um método e aparelho são apresentados que reutilizam os parâmetros ponderados para a camada de aperfeiçoamento.
Uma vez que a camada de base é simplesmente a versão sub-amostrada da camada de aperfeiçoamento, é benéfico que a camada de aperfeiçoamento e a camada de base
Petição 870180167360, de 24/12/2018, pág. 14/52
10/35 tenham os mesmos parâmetros ponderados para a mesma imagem de referência.
Além disso, outras vantagens / aspectos são providos pelos presentes princípios. Uma vantagem / aspecto é que apenas um conjunto de parâmetros ponderados precisa ser armazenado em cada camada de aperfeiçoamento, o que pode salvar uso de memória. Além disso, quando o prognóstico de imagem de inter-camada é usado, o decodificador precisa saber que conjunto de parâmetros ponderados é usado. Uma tabela de pesquisa pode ser utilizada para armazenar as informações necessárias.
Uma outra vantagem / aspecto é a redução da complexidade tanto no codificador como no decodificador. No decodificador, as modalidades da presente invenção podem reduzir a complexidade da análise e a pesquisa de tabela para localizar o conjunto certo de parâmetros ponderados. No codificador, as modalidades da presente invenção podem reduzir a complexidade do uso de diferentes algoritmos e deste modo tomar as decisões para a estimativa de parâmetros ponderados. Quando uma etapa de atualização é usada e ponderações de prognóstico são levadas em consideração, tendo múltiplos parâmetros ponderados para a mesma imagem de referência, o índice tornará a derivação das informações de animação em uma etapa de atualização inversa no decodificador e a etapa de atualização no codificador mais complicadas.
Ainda, uma outra vantagem / aspecto está em taxas de bits muito baixas, as modalidades da presente invenção
Petição 870180167360, de 24/12/2018, pág. 15/52
11/35 podem também ter uma leve vantagem na eficiência da codificação, uma vez que os parâmetros ponderados não são explicitamente transmitidos no cabeçalho da fatia para a camada de aperfeiçoamento.
Voltando para a Figura 1, um codificador de Modelo de Vídeo Redimensionável Conjunto Versão 2.0 (JSVM2.0) ao qual a presente invenção se aplica é indicado de modo geral pelo numeral de referência 100. O codificador JSVM2.0 100 usa três camadas espaciais e um filtro temporal compensado. O codificador JSVM 100 inclui um decimador bidimensional (2D) 104, um decimador 2D, e um módulo de filtragem temporal compensado de animação (MCTF) 108, cada qual tendo uma entrada para o recebimento de dados de sinal de vídeo 102.
Uma saída do decimador 2D 106 é conectada em comunicação de sinal com uma entrada do módulo MCTF 110. Uma primeira saída do módulo MCTF 110 é conectada em comunicação de sinal com uma entrada de um codificador de animação 112, e uma segunda saída do módulo MCTF 110 é conectado em comunicação de sinal com uma entrada de um módulo de prognóstico 116. Uma primeira saída do codificador de animação 112 é conectado em comunicação de sinal com uma primeira entrada de um multiplexador 114. Uma segunda saída do codificador de animação 112 é conectada em comunicação de sinal com uma primeira entrada de um codificador de animação
124. Uma primeira saída do conectada em comunicação de transformador espacial 118. espacial 118 é conectada em módulo de prognóstico 116 é sinal com uma entrada de um
Uma saída do transformador comunicação de sinal com uma
Petição 870180167360, de 24/12/2018, pág. 16/52
12/35 segunda entrada do multiplexador 114. Uma segunda saída do módulo de prognóstico 116 é conectada em comunicação de sinal com uma entrada de um interpolador 120. Uma saída do interpolador é conectada em comunicação de sinal com uma primeira entrada de um módulo de prognóstico 122. Uma primeira saída do módulo de prognóstico 122 é conectada em comunicação de sinal com uma entrada de um transformador espacial 126. Uma saída do transformador espacial 126 é conectada em comunicação de sinal com a segunda entrada do multiplexador 114. Uma segunda saída do módulo de prognóstico 122 é conectada em comunicação de sinal com uma entrada de um interpolador 130. Uma saída do interpolador 130 é conectada em comunicação de sinal com a primeira entrada de um módulo de prognóstico 134. Uma saída do módulo de prognóstico 134 é conectada em comunicação de sinal com um transformador espacial 136. Uma saída do transformador espacial é conectada em comunicação de sinal com a segunda entrada de um multiplexador 114.
Uma saída do decimador 2D 104 é conectada em comunicação de sinal com uma entrada de um módulo MCTF 128. Uma primeira saída do módulo MCTF 128 é conectada em comunicação de sinal com uma segunda entrada do codificador de animação 124. Uma primeira saída do codificador de animação 124 é conectada em comunicação de sinal com a primeira entrada do multiplexador 114. Uma segunda saída do codificador de animação 124 é conectada em comunicação de sinal com uma primeira entrada de um codificador de movimento 132. Uma segunda saída do módulo MCTF 120 é
Petição 870180167360, de 24/12/2018, pág. 17/52
13/35 conectada em comunicação de sinal com uma segunda entrada do módulo de prognóstico 122.
Uma primeira saída do módulo MCTF 108 é conectada em comunicação de sinal com uma segunda entrada do 5 codificador de movimento 132. Uma saída do codificador de animação 132 é conectada em comunicação de sinal com a primeira entrada do multiplexador 114. Uma segunda saída do módulo MCTF 108 é conectada em comunicação de sinal com uma segunda entrada do módulo de prognóstico 134. Uma saída do 10 multiplexador 114 provê um fluxo de bits de saída 138.
Para cada camada espacial, uma decomposição temporal compensada de animação é feita. Esta decomposição provê um redimensionamento temporal. As informações de animação das camadas espaciais inferiores podem ser usadas 15 para o prognóstico de animação nas camadas superiores. Para a codificação de textura, o prognóstico espacial entre sucessivas camadas espaciais pode ser aplicado para remover redundância. O sinal residual resultante do intraprognóstico ou do inter-prognóstico compensado em animação é 20 codificado em transformação. Uma camada de base de qualidade provê uma qualidade de reconstrução mínima em cada camada espacial. Esta camada de base de qualidade pode ser codificada em um fluxo correspondente padrão H.264 se nenhum prognóstico inter-camada for aplicado. Para um 25 redimensionamento de qualidade, as camadas de aperfeiçoamento de qualidade são também codificadas. Estas camadas de aperfeiçoamento podem ser escolhidas de modo a
Petição 870180167360, de 24/12/2018, pág. 18/52
14/35 prover um redimensionamento de qualidade de grão grosso ou fino (SNR).
Voltando para a Figura 2, um decodificador de vídeo redimensionável exemplar ao qual a presente invenção pode ser aplicada é indicado de modo geral pelo numeral de referência 200. Uma entrada de um demultiplexador 202 é disponível como uma entrada para o decodificador de vídeo redimensionável 200, para o recebimento de um fluxo de bits redimensionável. Uma primeira saída do demultiplexador 202 é conectada em comunicação de sinal com uma entrada de um decodificador de entropia redimensionável
SNR de transformador inverso espacial
204. Uma primeira saída do decodificador de entropia redimensionável
SNR de transformador inverso espacial 204 é conectado em comunicação fluida com uma primeira entrada de um módulo de prognóstico 206. Uma saída do módulo de prognóstico 206 é conectada em comunicação de sinal com uma primeira entrada de um módulo MCTF inverso 208.
Uma segunda saída do decodificador de entropia redimensionável SNR de transformador inverso espacial 204 é conectada em comunicação de sinal com uma primeira entrada de um decodificador de vetor de movimento (MV) 210. Uma saída do decodificador MV é conectada em comunicação de sinal com uma segunda entrada do módulo MCTF inverso.
Uma segunda saída do demultiplexador 202 é conectada em comunicação de sinal a uma entrada de um decodificador de entropia redimensionável SNR de transformador inverso espacial.212. Uma primeira saída do
Petição 870180167360, de 24/12/2018, pág. 19/52
15/35 decodificador de entropia redimensionável SNR de transformador inverso espacial 212 é conectada em comunicação de sinal com uma primeira entrada de um módulo de prognóstico 214. Uma primeira saída do módulo de prognóstico 214 é conectada em comunicação de sinal a uma entrada de um módulo de interpolação 216. Uma saída do módulo de interpolação 216 é conecta em comunicação de sinal com uma segunda entrada do módulo de prognóstico 206. Uma segunda saída do módulo de prognóstico 214 é conectada em comunicação de sinal a uma primeira entrada de um módulo MCTF inverso 218.
Uma segunda saída do decodificador de entropia redimensionável SNR de transformador inverso espacial 212 é conectada em comunicação de sinal a uma primeira entrada de um decodificador MV 220. Uma primeira saída do decodificador
MV 220 é conectada em comunicação de sinal a uma segunda entrada do decodificador MV 210. Uma segunda saída do decodificador MV 220 é conectada em comunicação de sinal uma segunda entrada do módulo MCTF inverso 218.
Uma terceira saída do demultiplexador
202 conectada em comunicação de sinal a uma entrada de um decodificador de entropia redimensionável
SNR de transformador inverso espacial
222. Uma primeira saída do decodificador de entropia redimensionável
SNR de transformador inverso espacial 222 é conectada em comunicação de sinal a uma entrada de um módulo de prognóstico 224.
Uma primeira saída do módulo de prognóstico
224 é conectada em comunicação de sinal a uma entrada de um
Petição 870180167360, de 24/12/2018, pág. 20/52
16/35 módulo de interpolação 226. Uma saída do módulo de interpolação 226 é conecta em comunicação de sinal a uma segunda entrada do módulo de prognóstico 214.
Uma segunda saída do módulo de prognóstico 224 é conectada em comunicação de sinal a uma primeira entrada de um módulo MCTF inverso
228. Uma segunda saída do decodificador de entropia redimensionável
SNR de transformador inverso espacial 222 é conectada em comunicação de sinal a uma entrada de um decodificador
MV
230. Uma primeira saída do decodificador MV 230 é conectada em comunicação de sinal com uma segunda entrada do decodificador MV
220.
Uma segunda saída do decodificador MV
230 é conectada em comunicação de sinal a uma segunda entrada do módulo
MCTF inverso 228.
Uma saída do módulo MCTF inverso 228 é disponível como uma saída do decodificador 200 para a emissão de um sinal 0 de camada. Uma saída do módulo MCTF inverso 218 é disponível como uma saída do decodificador 200 para a emissão de um sinal da camada 1. Uma saída do módulo MCTF inverso 208 é disponível como uma saída do decodificador 200 para a emissão de um sinal da camada 2.
Em uma primeira modalidade exemplar de acordo com a presente invenção, uma nova sintaxe não é usada. Nesta primeira modalidade exemplar, a camada de aperfeiçoamento reutiliza os pesos da camada de base. A primeira modalidade exemplar pode ser implementada, por exemplo, como uma limitação de perfil ou de nível. A exigência pode ser também indicada na seqüência ou definições de parâmetro de imagem.
Petição 870180167360, de 24/12/2018, pág. 21/52
17/35
Em uma segunda modalidade exemplar de acordo com a presente invenção, um elemento de sintaxe, base_pred_weight_table_flag, é introduzido na sintaxe de cabeçalho de fatia na extensão conforme mostrada na Tabela 1, de 5 modo que o codificador possa adaptativamente selecionar que modo é usado para o prognóstico ponderado em uma base de fatia. Quando o base_pred_weigh_table_flag não se encontra presente, o base_pred_weight_table_flag será inferido para ser igual a 0. Quando o base_pred_weight_table_flag é igual 10 a 1, isto indica que a camada de aperfeiçoamento reutilize o pred_weight_table() da sua camada anterior.
A tabela 1 ilustra a sintaxe para o prognóstico ponderado para a codificação de vídeo redimensionável.
Tabela 1
slice header in scalable extension(){ |
C |
Descritor |
first mb in slice |
2 |
ue(v) |
slice type |
2 |
ue(v) |
pic parameter set id |
2 |
ue(v) |
if(slice type = = PR) { |
|
|
num nbs in slice minus1 |
2 |
ue(v) |
numa chroma sep flag |
2 |
u(1) |
} |
|
|
frame num |
2 |
u(v0 |
if( !frame)mbs only flag){ |
|
|
field pic flag) |
2 |
u(1) |
bottom field flag |
|
|
bottom field flag |
2 |
u(1) |
} |
|
|
Petição 870180167360, de 24/12/2018, pág. 22/52
18/35
if(na1 unit type = = 21) |
|
|
idr pic id |
2 |
ue(v) |
if(pic order cnt type = = 0){ |
|
|
pic order cnt 1sb |
2 |
u(v) |
if(pic order present flag && !field pic flag) |
|
|
delta pic order cnt bottom |
2 |
se(v) |
} |
|
|
if(pic_order_cnt_type = = 1 &&
!delta pic order always zero flag){ |
|
|
delta pic order ent[0] |
2 |
se(v) |
if(pic order present flag && !field pic flag) |
|
|
delta pic order ent[1] |
2 |
se(v) |
} |
|
|
if(Slice type != PR){ |
|
|
if(redundant pic cnt present flag) |
|
|
redundant pic cnt |
2 |
ue(v) |
if(slice type = = EB) |
|
|
direct spatial mv pred flag |
2 |
u(1) |
key picture flag |
2 |
u(1) |
decompositions stages |
2 |
ue(v) |
base id plus1 |
2 |
ue(v) |
if(base id plus1 != 0){ |
|
|
adaptative prediction flag |
2 |
u(1) |
} |
|
|
if(slice type = = EP ||slice type = = EB){ |
|
|
num ref idx active override flag |
2 |
u(1) |
if(num ref idx active override flag){ |
|
|
num ref idx 10 active minus1 |
2 |
ue(v) |
Petição 870180167360, de 24/12/2018, pág. 23/52
19/35
if(slice type = = EB) |
|
|
num ref idx active minusl |
2 |
ue(v) |
} |
|
|
} |
|
|
ref pic list reordering() |
2 |
|
for(decLv1 - temporal level;
decLv1<decorrposition stages; decLv1++){ |
|
|
num ref idx update 10 active[decLv + 1) |
2 |
ue(v) |
num ref idx update 11 active[decLv + 1) |
2 |
ue(v) |
} |
|
|
if(weighted pred flag && slice type = = EP)||
(weighted bipred idc = = 1 && slice type = = EB)) |
|
|
{ |
|
|
if(base id plus1 != 0)&&(adaptive predection flag + + 1)) |
|
|
base pred weight table flag |
2 |
u(v) |
if(base pred weight table flag = = 0) |
|
|
pred weight table() |
2 |
|
} |
|
|
if( na1 ref idc 1=0) |
|
|
dec ref pic marking() |
2 |
|
if(entropy coding mode flag && slice type !+EI |
|
|
cabac init idc |
2 |
ue(v) |
} |
|
|
slice qp delta |
2 |
se(v) |
if(deblockig filter control present flag){ |
|
|
disable deblocking filter idc |
2 |
ue(v) |
if(disble deblocking filter idc 1= 1){ |
|
|
slice alpha c0 offset div2 |
2 |
se(v) |
Petição 870180167360, de 24/12/2018, pág. 24/52
20/35
slice beta offset div2 |
2 |
se(v) |
} |
|
|
} |
|
|
if(slice type !+ PR) |
|
|
if(num slice groups minus1>0 &&
(slice group map type>=3 && slice group map type<=5) |
|
|
slice group change cycle |
2 |
u(v) |
if(slice type != PR && extended spatial scalability>0){ |
|
|
if(chroma format idc>0){ |
|
|
base chroma phase x plus1 |
2 |
u(2) |
base chroma phase y plus1 |
2 |
u(2) |
} |
|
|
if(extended spatial scalability = = 2){ |
|
|
scaled base-left offset |
2 |
se(v) |
scaled base-top offset |
2 |
se(v) |
scaled base right offset |
2 |
se(v) |
scaled base bottom offset |
2 |
se(v) |
} |
|
|
} |
|
|
SpatialScalabilityType = spatial scalability type() |
|
|
} |
|
|
No decodificador, quando a camada de aperfeiçoamento deve reutilizar as ponderações da camada de base, um re-mapeamento da pred_weight_table() é feito a partir da camada de base (ou anterior) para 5 pred_weight_table() na camada de aperfeiçoamento corrente.
Este processo é utilizado para os seguintes casos: em um primeiro caso, o mesmo índice de imagem de referência na
Petição 870180167360, de 24/12/2018, pág. 25/52
21/35 camada de base e a camada de aperfeiçoamento indica uma imagem de referência diferente; ou em um segundo caso, a imagem de referência usada na camada de aperfeiçoamento não tem uma correspondência na camada de base. Para o primeiro caso, o número de contagem de ordem de imagem (POPC) é usado para mapear os parâmetros ponderados a partir da camada de base para o índice de imagem de referência direita na camada de aperfeiçoamento. Quando múltiplos parâmetros ponderados são usados na camada de base, os parâmetros ponderados com o menor índice de imagem de referência são de preferência, porém não necessariamente, mapeados primeiro. Para o segundo
caso, presume-se |
que
a |
base_pred_weight_table_flag |
seja
não se |
definido |
em 0 para |
imagem |
de |
referência que |
encontra |
disponível |
na |
camada |
de |
aperfeiçoamento. |
O re- |
mapeamento de pred_weight_table() a partir da camada de base (ou anterior) para pred_weight_table() na camada de aperfeiçoamento corrente é derivada como se segue. O processo é referido como um processo de herança para pred_weight_table().^Em particular, este processo de herança é invocado quando base_pred_weight_table_flag é igual a 1. As saídas deste processo são como se segue:
- luma_weight_LX[](com X sendo 0 ou 1)
- luma_offset_LX[] (com X sendo 0 ou 1)
- chroma_weight_LX[] (com X sendo 0 ou 1)
- chroma_offset_LX[] (com X sendo 0 ou 1)
- luma_log2_weight_denom
- chroma_log2_weight_denom
Petição 870180167360, de 24/12/2018, pág. 26/52
22/35
O processo de derivação para as imagens de base é invocado com basePic conforme emitido. Para X sendo substituído por 0 ou 1, o seguinte se aplica:
- Considere que base_luma_weight_LX[] seja o valor do elemento de sintaxe luma_weight_LX[] o valor da imagem de base basePic.
- Considere que base_luma_offset_LX[] seja o valor do elemento de sintaxe luma_offset_LX[] da imagem de base basePic.
- Considere que base_chroma_weight_LX[] seja o valor do elemento de sintaxe chroma_weight_LX[] da imagem de base basePic.
- Considere que base_ chroma_offset_LX[] seja o valor do elemento de sintaxe chroma_offset_LX[] o valor da imagem de base basePic.
- Considere que base_luma_log2_weight_denom seja o valor do elemento de sintaxe luma_log2_weight_denom o valor da imagem de base basePic.
- Considere que base_chroma_log2_weight_denom seja o valor do elemento de sintaxe chroma_log2_weight_denom da imagem de base basePic.
- Considere que BaseRefPicListX seja a lista de índice de referência RefPicListX da imagem de base basePic.
- Para cada índice de referência refldxLX da lista de índice de referência de fatia corrente RefPicListX (loop de 0 para número_ref_idx_IX_active_minus1), os seus parâmetros ponderados associados na fatia corrente são herdados como se segue:
Petição 870180167360, de 24/12/2018, pág. 27/52
23/35
- Considere que RefPic seja a imagem que é referida por refldxLX
- Considere que refPicBase, a imagem de referência da camada de base correspondente, seja considerada para existir se houver uma imagem para a qual todas as seguintes condições são verdadeiras.
- O elemento de sintaxe dependency_id para a imagem refPicBase é igual à variável DependencyIdBase da imagem refPic.
- O elemento de sintaxe quality_level para a imagem refPicBase é igual à variável QualityLevelBase da imagem refPic.
- O elemento de sintaxe fragment_order para a imagem refPicBase é igual à variável FragmentOrderBase da imagem refPic.
- O valor de PicOrderCnt( refPic ) é igual ao valor de PicOrderCnt( refPicBase ).
- Existe um índice baseRefldxLX igual ao índice de referência disponível de valor mais baixo na lista de indice de referência de camada de base correspondente que faz referência à refPicBase.
- Se uma refPicBase existir, o seguinte se aplica:
- baseRefkdxKX é marcada como indisponível para as etapas subseqüentes do processo.
luma_log2_weight_denom = base_luma_log2_weight_denom (1) chroma_log2_weight_denom =
Petição 870180167360, de 24/12/2018, pág. 28/52
24/35 base_chroma_log2_weight_denom (2) luma_weight_lX] = base_luma_weight_LX[baseRefldxLX](3) luma_offset_LX[refldxLX] = base_luma_offset_LX[baseRefldxLX](4) chroma_weight_LX[refldxLX] = base_chroma_weight_LX[baseRefldxLX][0](5) chroma_offset_LX[refldxLX][0] base_chroma_offset_LX[baseRefldxLX][0](6) chroma_weight_LX[refldxLX][1] = base chroma_weight_LX[baseRefldxLX][1](7) chroma_offset_LX[refldxLX][1] base_chroma_offset_LX[baseRefldxLX][1](8)
- De outra forma, luma_log2_weight_denom = base_luma_log2_weight_denom(9) chroma_log2_weight_denom = base_chroma_log2_weight_denom(10) luma_weight_LX[refldxLX] = <<luma_log2_weight_denom (11)
Petição 870180167360, de 24/12/2018, pág. 29/52
25/35 luma_offset_LX[refldxLX] = 0 (12) chroma_weight_LX[refldxLX][0] =
1<<chroma_log_weight_denom(13) chroma_offset_LX[refldxLX][0] = 0(14) chroma_weight_LX[refldxLX][1] =
1<<chroma_log2_weight_denom(15) chroma_offset_LX[refldxLX][1] = 0(16)
O seguinte é um método exemplar para implementar o processo de herança:
para(baseRefldxLX = 0; baseRefldxLX <= base_num_ref_idx_IX_active_minus1; baseRefldxLX ++) base_ref_avail[baseRefldxLX] = 1 para(refldxLX = 0; refldxLX <= num_idx_IX_active_minus1; refldxLX++){ baseweights_avail_flag[refldxLX] = 0 para(baseRefldxLX = 0; baseRefldxLX <= base_num_ref_idx_IX_active_minus1; baseRefldxLX ++){ se (base_ref_avail[baseRefldx] &&
(PicOrderCnt(RefPicListX[refldxLX])
PicOrderCnt(BaseRefPicListX[BaseRefldxLX]) aplicar equações (1) a (8) base_ref_avail[baseRefldxLX] = baseweights_avail_flag[refldxLX] = 1 break;
Petição 870180167360, de 24/12/2018, pág. 30/52
26/35 }
}
Se(base_weights_avail_flag[refldxLX] = = 0){
Aplicar equações (9) a (16) }
} (17)
Se a imagem de camada de aperfeiçoamento e a imagem de camada de base têm a mesma divisão de fatia, o remapeamento de pred_weight_table() da camada de base (ou inferior) para pred_weight_table() na camada de aperfeiçoamento pode ser feito em fatia. No entanto, se a camada de aperfeiçoamento e a camada de base tiverem uma divisão de fati quando a camada de mesmas duas divisões ser chamado uma vez precisará ser feito
a |
diferente, |
da |
camada |
de |
na |
camada |
de |
em |
termos |
de |
ase |
e a camada |
de |
fatia, |
o p |
por |
fatia. |
Em |
a re-mapeamento de base (ou inferior) para aperfeiçoamento corrente macrobloco. Por exemplo, de aperfeiçoamento cesso de herança contrapartida, se a têm as poderá camada de base tiver duas divisões e camada de aperfeiçoamento tiver três divisões, neste caso o processo de herança é chamado em termos de macrobloco.
Voltando para a Figura 3, um método exemplar para a codificação de vídeo redimensionável de um bloco de imagem usando o prognóstico ponderado é indicado de modo geral pelo numeral de referência 300.
Um bloco de início 305 começa a codificação de uma imagem de camada de aperfeiçoamento (EL), e passa o controle
Petição 870180167360, de 24/12/2018, pág. 31/52
27/35 para um bloco de decisão 310. O bloco de decisão 310 determina se uma imagem de camada de base (BL) está presente ou não para a imagem EL corrente. Caso positivo, o controle é então passado para um bloco de função 350. De outra forma, o controle é passado para um bloco de função 315.
O bloco de função 315 obtém as ponderações da imagem BL, e passa o controle para um bloco de função 320. O bloco de função 320 re-mapeia pred_weight_table() da imagem BL para pred_weight_table() da camada de aperfeiçoamento, e passa o controle para um bloco de função 325. O bloco de função 325 define base_pred_weight_table_flag igual a verdadeiro, e passa o controle para um bloco de função 335. O bloco de função 335 escreve base_pred_weight_table_flag no cabeçalho de fatia, e passa o controle para um bloco de decisão 340. O bloco de decisão 340 determina se a base_pred_weight_table_flag é igual ou não a verdadeiro. Caso positivo, o controle é passado para um bloco de função 345. De outra forma, o controle é passado para um bloco de função 360.
O bloco de função 350 calcula as ponderações para a imagem EL e passa o controle para um bloco de função 355. O bloco de função 355 define base_pred_weight_table_flag igual a falso e passa o controle para um bloco de função 330.
O bloco de função 345 codifica a imagem EL usando a imagem de referência ponderada e passa o controle para um bloco de finalização. 365.
Petição 870180167360, de 24/12/2018, pág. 32/52
28/35
O bloco de função 360 escreve as ponderações no cabeçalho de fatia, e passa o controle para o bloco de função 345.
Voltando para a Figura 4, um método exemplar para a codificação de vídeo redimensionável de um bloco de imagem usando um prognóstico ponderado é indicado de modo geral pelo numeral de referência 400.
Um bloco de início 405 começa a decodificação de uma imagem de camada de aperfeiçoamento corrente (EL) passa o controle para um bloco de função
410. O bloco de função 410 analisa base_pred_weight_table_flag no cabeçalho de fatia e passa o controle para um bloco de decisão 415.
O bloco de decisão
415 determina se base_pred_weight_table_flag igual a um.
Caso positivo, controle é passado para um bloco de função 420. De outra forma, o controle é passado para um bloco de função 435.
O bloco de função 420 copia as ponderações a partir da imagem de camada de base correspondente (BL) para a imagem EL e passa o controle para um bloco de função 425.
O bloco de função
425 re-mapeia pred_weight_table() da imagem BL para pred da imagem EL e passa o controle para um bloco de função 430. O bloco de função 430 decodifica a imagem ELÁSTICO com as ponderações obtidas e passa o controle para um bloco de finalização 440.
O bloco de função 435 analisa os parâmetros de ponderação e passa o controle para o bloco de função 430.
Petição 870180167360, de 24/12/2018, pág. 33/52
29/35
Voltando para a Figura 5, um método exemplar para a decodificação das sintaxes level_idc e profile_idc é indicado de modo geral pelo numeral de referência 500.
Um bloco de partida 505 passa o controle para um bloco de fundição 510. O bloco de função 510 analisa as sintaxes level_idc e profile_idc e passa o controle para um bloco de função 515. O bloco de função 515 determina a limitação do prognóstico ponderado para a camada de aperfeiçoamento baseada na análise feita pelo bloco de função 510, e passa o controle para um bloco de finalização 520.
Voltando para a Figura 6, um método exemplar para a decodificação de uma limitação de prognóstico ponderado para uma camada de aperfeiçoamento é indicado pelo numeral de referência 600.
Um bloco de partida 605 passa o controle para um bloco de fundição 610. O bloco de função 610 analisa a sintaxe para o prognóstico ponderado para a camada de aperfeiçoamento e passa o controle para um bloco de finalização 615.
Será feita a seguir uma descrição das muitas vantagens e aspectos auxiliares da presente invenção, alguns dos quais tendo sido mencionados acima. Por exemplo, uma vantagem / aspecto é um codificador de vídeo redimensionável, que inclui um codificador para a codificação de um bloco em uma camada de aperfeiçoamento de uma imagem por meio da aplicação de um mesmo parâmetro ponderado para uma imagem de referência de camada de
Petição 870180167360, de 24/12/2018, pág. 34/52
30/35 aperfeiçoamento que o aplicado a uma imagem de referência de camada inferior em particular usada para codificar um bloco em uma camada inferior da imagem, em que o bloco na camada de aperfeiçoamento corresponde ao bloco na camada inferior, e a imagem de referência de camada de aperfeiçoamento corresponde à imagem de referência de camada inferior em particular. Uma outra vantagem / aspecto é o codificador de vídeo redimensionável conforme descrito acima, em que o codificador codifica o bloco na camada de aperfeiçoamento por meio da seleção entre um modo de parâmetro ponderado explícito e um modo de parâmetro ponderado implícito. Ainda, uma outra vantagem / aspecto é o codificador de vídeo redimensionável conforme descrito acima, em que o codificador impõe a limitação de que o mesmo parâmetro ponderado seja sempre aplicado à imagem de referência de camada de aperfeiçoamento que o aplicado à imagem de referência de camada inferior em particular, quando o bloco na camada de aperfeiçoamento corresponde ao bloco da camada inferior, e a imagem de referência de camada de aperfeiçoamento corresponde à imagem de referência de camada inferior em particular. Além disso, uma outra vantagem / aspecto é o codificador de vídeo redimensionável tendo a limitação conforme descrito acima, em que a limitação é definida como uma limitação de perfil ou de nível, ou é sinalizada em uma definição de parâmetro de imagem de seqüência. Além disso, uma outra vantagem / aspecto é o codificador de vídeo redimensionável conforme descrito acima, em que o codificador adiciona uma sintaxe em um
Petição 870180167360, de 24/12/2018, pág. 35/52
31/35 cabeçalho de fatia, para uma fatia na camada de aperfeiçoamento de modo a seletivamente aplicar o mesmo parâmetro ponderado à imagem de referência de camada de aperfeiçoamento ou um parâmetro ponderado diferente. Ainda, uma outra vantagem / aspecto é o codificador de vídeo redimensionável conforme descrito acima, em que o codificador realiza um re-mapeamento de uma sintaxe pred_weight_table() a partir da camada inferior para uma sintaxe pred_weight_table() para a camada de aperfeiçoamento. Além disso, uma outra vantagem / aspecto é codificador de vídeo redimensionável com o re-mapeamento conforme descrito acima, em que o codificador usa uma contagem de ordem de imagem para re-mapear os parâmetros ponderados a partir da camada inferior para um índice de imagem de referência correspondente na camada de aperfeiçoamento. Além disso, uma outra vantagem / aspecto é codificador de vídeo redimensionável com o re-mapeamento usando a contagem de ordem de imagem conforme descrito acima, em que os parâmetros ponderados com um índice de imagem de referência menor são re-mapeados primeiro. Além disso, uma outra vantagem / aspecto é codificador de vídeo redimensionável com o re-mapeamento conforme descrito acima, em que o codificador define um campo weighted_pred_flag em zero para uma imagem de referência usada na camada de aperfeiçoamento que é indisponível na camada inferior. Ainda, uma outra vantagem / aspecto é codificador de vídeo redimensionável com o re-mapeamento conforme descrito acima, em que o codificador envia, em um cabeçalho de fatia,
Petição 870180167360, de 24/12/2018, pág. 36/52
32/35 parâmetros ponderados para um índice de imagem de referência corre a uma imagem de referência usada na camada de aperfeiçoamento, quando a imagem de referência usada na camada de aperfeiçoamento não tem uma correspondência na camada inferior. Além disso, uma outra vantagem / aspecto é codificador de vídeo redimensionável com o re-mapeamento conforme descrito acima, em que o codificador realiza o remapeamento em uma base de fatia quando a imagem tem a mesma divisão de fatia em ambas a camada de aperfeiçoamento e a camada inferior, e o codificador realiza o re-mapeamento em uma base de macrobloco quando a imagem tem uma divisão de fatia diferente na camada de aperfeiçoamento com relação à camada inferior. Além disso, uma outra vantagem / aspecto é o codificador de vídeo redimensionável conforme descrito acima, em que o codificador realiza um re-mapeamento de uma sintaxe pred_weight_table() da camada inferior para uma sintaxe pred_weight_table() para a camada de aperfeiçoamento, em que o aplica o mesmo parâmetro ponderado à imagem de referência de camada de aperfeiçoamento que o aplicado na imagem de referência de camada inferior. Ainda, uma outra vantagem / aspecto é o codificador de vídeo redimensionável conforme descrito acima, em que o codificador salta a realização da estimativa de parâmetros ponderados, em que o codificador aplica o mesmo parâmetro
ponderado para |
a |
imagem de |
referência de |
camada |
de |
aperfeiçoamento |
que |
o aplicado |
à imagem de referência |
de |
camada inferior |
em |
particular. |
Adicionalmente, |
uma outra |
vantagem / aspecto é o codificador de vídeo redimensionável
Petição 870180167360, de 24/12/2018, pág. 37/52
33/35 conforme descrito acima, em que o codificador armazena apenas um conjunto de parâmetros ponderados para cada índice de imagem de referência, quando o codificador aplica o mesmo parâmetro ponderado à imagem de referência de camada de aperfeiçoamento que o aplicado à imagem de referência de camada inferior em particular. Além disso, uma outra vantagem / aspecto é o codificador de vídeo redimensionável conforme descrito acima, em que o codificador estima os parâmetros ponderados, quando o codificador aplica um parâmetro ponderado diferente ou a camada de aperfeiçoamento não tem a camada inferior.
Estes e outros aspectos e vantagens da presente invenção podem ser prontamente obtidas por uma pessoa com habilidade simples na técnica em questão com base nos presentes ensinamentos. Deve-se entender que os ensinamentos da presente invenção podem ser implementados em várias formas de hardware, software, firmware, processadores de uso especial, ou suas combinações.
Mais preferivelmente, os ensinamentos da presente invenção são implementados como uma combinação de um hardware e um software. Além disso, o software pode ser implementado como um programa de aplicação tangivelmente incorporado em uma unidade de armazenamento de programa. O programa de aplicação pode ser transferido para, e executado por, uma máquina que compreende qualquer arquitetura adequada. De preferência, a máquina é implementada em uma plataforma de computador tendo um hardware, como, por exemplo, uma ou mais unidades de processamento central
Petição 870180167360, de 24/12/2018, pág. 38/52
34/35 (CPU), uma memória de acesso aleatório (RAM), e interfaces de entrada / saída (I/O). A plataforma de computador pode também incluir um sistema operacional e um código de micro-instrução. Os vários processos e funções descritos no presente documento podem fazer parte de um código de micro-instrução ou de um programa de aplicação, ou qualquer combinação dos mesmos, que possam ser executados por uma unidade CPU. Além disso, várias outras unidades periféricas podem ser conectadas à plataforma de computador, como, por exemplo, uma unidade de armazenamento de dados adicional ou uma unidade de impressão.
Deve-se entender que, uma vez que alguns dos componentes e métodos do sistema constituinte ilustrado nos desenhos em anexo são de preferência implementados em um software, as conexões em questão entre os componentes de sistema e os blocos de função de processo podem diferir dependendo da maneira na qual a presente invenção é programada. Dados os ensinamentos da presente invenção, uma pessoa com habilidade simples na técnica em questão será capaz de contemplar estas implementações ou implementações e configurações similares às da presente invenção.
Embora as modalidades ilustrativas tenham sido descritas no presente documento com referência aos desenhos em anexo, deve-se entender que a presente invenção não se limita a estas precisas modalidades, e que várias mudanças e modificações podem ser feitas por uma pessoa com habilidade simples na técnica pertinente sem se afastar do âmbito ou espírito da presente invenção. Todas estas mudanças e
Petição 870180167360, de 24/12/2018, pág. 39/52
35/35 modificações pretendem estar incluídas dentro do âmbito da presente invenção conforme apresentada nas reivindicações em apenso.