BRPI0616619B1 - método e aparelho para prognóstico ponderal na codificação e decodificação de vídeo com abordagem de escala - Google Patents
método e aparelho para prognóstico ponderal na codificação e decodificação de vídeo com abordagem de escala Download PDFInfo
- Publication number
- BRPI0616619B1 BRPI0616619B1 BRPI0616619A BRPI0616619A BRPI0616619B1 BR PI0616619 B1 BRPI0616619 B1 BR PI0616619B1 BR PI0616619 A BRPI0616619 A BR PI0616619A BR PI0616619 A BRPI0616619 A BR PI0616619A BR PI0616619 B1 BRPI0616619 B1 BR PI0616619B1
- Authority
- BR
- Brazil
- Prior art keywords
- layer
- base
- intensification
- weight
- blocks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004393 prognosis Methods 0.000 title abstract description 19
- 238000013459 approach Methods 0.000 title abstract description 13
- 239000010410 layer Substances 0.000 description 285
- 230000006870 function Effects 0.000 description 127
- 238000004891 communication Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 13
- 239000011229 interlayer Substances 0.000 description 13
- 239000013598 vector Substances 0.000 description 12
- 230000009466 transformation Effects 0.000 description 9
- 238000005303 weighing Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 5
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100328519 Caenorhabditis elegans cnt-2 gene Proteins 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001944 accentuation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- ZXKXJHAOUFHNAS-UHFFFAOYSA-N fenfluramine hydrochloride Chemical compound [Cl-].CC[NH2+]C(C)CC1=CC=CC(C(F)(F)F)=C1 ZXKXJHAOUFHNAS-UHFFFAOYSA-N 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
- H04N19/615—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
método e aparelho para prognóstico ponderal na codificação e decodificação de vídeo com abordagem de escala. trata-se de métodos e aparelhos para previsão ponderada em codificação de decodificação de vídeo escalonável. um codificador de vídeo escalonável inclui um codificador (100) para codificar um bloco em uma camada de intensificação de uma imagem aplicando-se um parâmetro de ponderação a uma imagem de referência de camada de intensificação. o parâmetro de ponderação usado para codificar o bloco na camada de intensificação é selecionado de forma adaptável entre um parâmetro de ponderação aplicado a uma imagem de referência de camada inferior para codificar um bloco na camada inferior da imagem e um parâmetro de ponderação diferente aplicável na camada de intensificação. o bloco na camada de intensificação corresponde ao bloco na camada inferior. a imagem de referência de camada de intensificação corresponde à imagem de referência de camada inferior.
Description
“MÉTODO E APARELHO PARA PROGNÓSTICO PONDERAL NA CODIFICAÇÃO E DECODIFICAÇÃO DE VÍDEO COM ABORDAGEM DE ESCALA
REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
O presente pedido reivindica o benefício do Pedido
Provisório N_ de Série U.S. 60/725.687, depositado em 12 de outubro de 2005 e intitulado “METHOD AND APPARATUS FOR
WEIGHTED PREDICTION IN SCALABLE VIDEO ENCODING AND
DECODING que é incorporado ao presente na íntegra, por referência.
CAMPO DA INVENÇÃO
A presente invenção refere-se, em geral, codificação e decodificaçao de vídeo e, mais particularmente, a métodos e aparelhos para prognóstico ponderal na codificação e decodificação de vídeo com abordagem de escala.
ANTECEDENTES DA INVENÇÃO
A Organização
Internacional de
Normatizaçao/Comissao Eletrotécnica Internacional (ISO/IEC), o Grupo 4 de especialistas de imagens em movimento (MPEG-4), o padrão Parte 10 de Codificação de Vídeo Avançado (AVC) /Sindicato Internacional de Telecomunicações, o padrão H.264 do Setor das Telecomunicações (ITU-T), (doravante designados no presente como o “padrão MEPG/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 de peso (WP). O padrão de codificação de vídeo passível de pesagem que, atualmente, é desenvolvido para alterar o
Petição 870190025687, de 18/03/2019, pág. 7/91
2/51 padrão H.264 (e, nesse sentido, também é designado no presente, de forma inter-permutável, como o “padrão H.264), adota, também, a previsão baseada em peso. No entanto o padrão H.264 não especifica a relação de pesos entre a camada base e a camada de intensificação.
A Previsão Baseada em Peso é sustentada nos perfis Principal, Estendido e Alto do padrão H.264. O uso do WP é indicado na configuração de parâmetro da seqüência para os blocos SP usando o campo weighted_pred_flag e para os blocos B, usando o weighted_bipred_idc. Há dois caminhos de execução WP, um caminho de execução explícito e um implícito. O modo explícito é sustentado nos blocos P, SP e B. O caminho de execução é sustentado apenas nos blocos B.
A linguagem weighted_pred_flag, igual a 0, descreve o prognóstico ponderal não deve ser aplicado nos blocos P e SP. A linguagem weighted_bipred_idc 0 descreve o prognóstico ponderal padrão deve ser aplicado nos Blocos B. A linguagem weighted_bipred_idc é igual a 2 descreve que uma
| previsão baseada | em peso | deve estar no | raio | de 0 | a 2, |
| inclusive. | |||||
| Um únic | o fator | de ponderação | e o | desvio | são |
| associados com | cada índice de referência | para | cada | ||
| componente de cor | em cada | bloco. No modo | explícito, | esses |
parâmetros WP podem ser codificados no cabeçalho do bloco. No modo implícito, esses parâmetros WP são derivados com base apenas nas distâncias relativas da imagem corrente e suas imagens de referência.
Petição 870190025687, de 18/03/2019, pág. 8/91
3/51
Para cada macrobloco ou partição do macrobloco, os parâmetros de ponderação aplicados são baseados em um índice da imagem de referência (ou índices no caso de um biprognóstico) do corrente macrobloco ou partição do macrobloco. Os índices de imagem de referência também são codificados na corrente de bits ou podem ser derivados, por exemplo, para macrobolocos de modo direto ou por salto. O uso do índice de referência da imagem para sinalizar quais os parâmetros de ponderação se aplicam é eficaz com relação a uma taxa de bits, em comparação ao requerimento de um índice de parâmetro de ponderação no fluxo de bits, desde que o índice da imagem de referência já esteja disponível com base nos campos de fluxo de bits requeridos.
Muitos métodos diferentes de graduabilidade foram amplamente estudados e padronizados, incluindo a graduabilidade SNR, graduabilidade espacial, graduabilidade temporal e graduabilidade granular, em perfis de abordagem em escala dos padrões MPEG-2 e H.624, ou estão sendo correntemente desenvolvidos como uma emenda do padrão H.264.
Para graduabilidades espaciais, temporais e SNR, um alto grau de prognóstico de camada interna é incorporada. Intra e inter-macroblocos podem ser ponderados usando os sinais correspondentes das camadas anteriores. Além disso, a descrição da movimentação de cada camada pode ser usada para um prognóstico da descrição da movimentação para as camadas acentuadoras seguintes. Essas técnicas encaixam-se em três categorias: prognóstico de intra textura inter-camada, prognóstico de movimento de inter-camada e prognóstico de
Petição 870190025687, de 18/03/2019, pág. 9/91
4/51 residual de inter-camada de residual_prediction_flag).
No JSVM (Joint Scalable Video
Model
Modelo de
Vídeo com Abordagem em Escala Conjunto) que ora está sendo desenvolvido como extensão/alteração para a Organização
Internacional de
Normatização/Comissão
Eletrotécnica
Internacional (ISO/IEC) o Grupo de Especialistas de
Imagens em
Movimento (MPEG-4), o padrão Parte 10 de
Codificação de Vídeo Avançado (AVC) /Sindicato Internacional de Telecomunicações, o padrão
H.264 do
Setor das
Telecomunicações (ITU-T), (doravante designados como o “padrão MEPG/H.264) ou, simplesmente no presente o “padrão
H.264) um macroblobo de camada acentuadora pode explorar o prognóstico de movimento em inter-camada usando dados de movimento de camada base com abordagem em escala, usando “BASE_LAYER_MODE ou “QPEL_REFINEMENT_MODE, como no caso da graduabilidade espacial (em duas camadas) diádico. Ademais, no modo de prognóstico de macrobloco (ou no sub-macroblobo), o preditor de um vetor de movimento pode escolher a partir de um vetor de movimento de camada base ou um vetor de movimento de camada acentuadora a partir de um vizinho espacial, através de motion_prediction_flag_lxü. O motion_prediction_flag_lxü igual a 1 especifica que o vetor de movimento da camada base (abordada em escala) é usado como os preditores do vetor de movimento. O motion_prediction_flag_lxü igual a 0 especifica que o vetor de movimento da camada intensificadora a partir dos vizinhos espaciais são usados como preditores do vetor de movimento.
Petição 870190025687, de 18/03/2019, pág. 10/91
5/51
Nas primeira e segunda abordagens da técnica anterior em relação ao prognóstico de ponderação para codificação de vídeo graduável, propôs-se que sempre se herde os pesos da camada de base para a camada acentuadora. Isso apenas será eficaz uma vez que os pesos na camada acentuadora não tenham sido transmitidos quando o mesmo algoritmo tiver sido usado para calcular os parâmetros de ponderação na base e na camada acentuadora. Essa herança é indicada na primeira abordagem da técnica anterior pela adição de um sinalizador (base_pred_weight_table_flag) ao cabeçalho do bloco e na segunda abordagem da técnica anterior pelas mudanças sintáticas e semânticas do weighted_pred_flag, weighted_bipred_idc, motion_prediction_flag_|flagü e residue_prediction_flag. Na primeira abordagem da técnica anterior, quando a base_pred_weight_table_flag for igual a 1, a camada acentuadora sempre herdará as ponderações da camada de base. O padrão H.264 não especifica qual configuração das ponderações deve ser usada para a camada acentuadora, quando os módulos de predição da inter-camada (mencionados acima) são usados e o base_pred_weight_table_flag é 0.
SUMÁRIO DA INVENÇÃO
Essas e outras inconveniências e desvantagens da técnica anterior são endereçadas na presente invenção, que é direcionada aos métodos e aparelhos para prognóstico ponderal na codificação e decodificação de vídeo com possibilidade de pesagem.
Petição 870190025687, de 18/03/2019, pág. 11/91
6/51
De acordo um aspecto da presente invenção, se fornece um codificador de vídeo graduável. O codificador do vídeo graduável inclui um codificador para codificação de uma camada de intensificação de uma imagem pela aplicação de um parâmetro de ponderação em uma imagem de referência de uma camada de intensificação.
O parâmetro de ponderação usado para codificar o bloco na camada de intensificação será adaptavelmente selecionada entre um parâmetro de ponderação aplicado em uma imagem de referência da camada mais baixa para codificar um bloco na camada mais baixa da imagem e um parâmetro de ponderação diferente aplicável na camada de intensificação. O bloco na camada de intensificação corresponde ao bloco na camada mais baixa. A imagem de referência da camada de intensificação corresponde à imagem de referência da camada mais baixa.
De acordo com outro aspecto da presente invenção, foi fornecido um método para codificação de vídeo graduável.
O método inclui a codificação de um bloco em uma camada de intensificação de uma imagem pela aplicação de um parâmetro de ponderação em uma imagem de referência na camada de intensificação. O parâmetro de ponderação usado para codificar o bloco na camada de intensificação é selecionado de forma adaptável entre um parâmetro de ponderação aplicado em uma imagem de referência da camada mais baixa para codificar um bloco na camada mais baixa da figura e um parâmetro de ponderação diferente aplicável na camada de intensificação. O bloco na camada de intensificação corresponde ao bloco na camada mais baixa. A imagem de
Petição 870190025687, de 18/03/2019, pág. 12/91
7/51 referência da camada de intensificação corresponde à imagem de referência da camada mais baixa.
De acordo com ainda outro aspecto da presente invenção, foi fornecido um codificador graduável de vídeo. O codificador graduável de vídeo inclui um decodificador para decodificar um bloco em uma camada de intensificação de uma imagem pela aplicação de um parâmetro de ponderação em uma imagem de referência da camada de intensificação. O parâmetro de ponderação usado para decodificar o bloco na camada de intensificação é adaptavelmente determinado a partir de entre um parâmetro de ponderação aplicado em uma imagem de referência de uma camada mais baixa para decodificar um bloco na camada mais baixa da imagem e um parâmetro de ponderação diferente aplicável na camada de intensificação. O bloco na camada de intensificação corresponde ao bloco na camada mais baixa. A imagem de referência da camada de intensificação corresponde à imagem de referência da camada mais baixa.
De acordo com um aspecto adicional da presente invenção, foi fornecido um método para codificação de vídeo graduável. O método inclui a decodificação de um bloco em uma camada de intensificação de uma imagem aplicando um parâmetro de ponderação em uma imagem de referência da camada de intensificação. O parâmetro de ponderação usado para codificar o bloco na camada de intensificação é adaptavelmente determinado entre um parâmetro de pesagem aplicado em uma imagem de referência de uma camada mais baixa para decodificar um bloco na camada mais baixa da
Petição 870190025687, de 18/03/2019, pág. 13/91
8/51 imagem e um parâmetro de pesagem diferente aplicável na camada de intensificação. O bloco na camada de intensificação corresponde ao bloco na camada mais baixa. A imagem de referência da camada de intensificação corresponde à imagem de referência da camada mais baixa.
De acordo com um aspecto adicional da presente invenção, foi fornecida uma estrutura de sinal de vídeo para codificação de vídeo graduável. Essa estrutura de sinal de vídeo inclui um bloco codificado em uma camada de intensificação de uma imagem gerada pela aplicação de um parâmetro de pesagem em uma imagem de referência da camada de intensificação. O parâmetro de ponderação usado para codificar o bloco na camada de intensificação é selecionada de forma adaptável entre um parâmetro aplicado em uma imagem de referência de uma camada mais baixa da imagem e um parâmetro de pesagem aplicável na camada de intensificação. O bloco na camada de intensificação corresponde ao bloco na camada mais baixa. A imagem de referência da camada de intensificação corresponde à imagem de referência da camada mais baixa.
De acordo com um aspecto adicional da presente invenção, um meio de armazenagem é fornecido tendo dados de sinal de vídeo codificados passíveis de serem graduado, em seguida. Os dados de sinal de vídeo codificados passíveis de serem graduados incluem um bloco codificado na camada de intensificação de uma imagem gerada pela aplicação de um parâmetro de pesagem em uma imagem de referência da camada de intensificação. O parâmetro de ponderação usado para
Petição 870190025687, de 18/03/2019, pág. 14/91
9/51 codificar o bloco na camada de intensificação é selecionado de forma adaptável entre um parâmetro de ponderação aplicável em uma imagem de referência da camada mais baixa para codificar um bloco na camada mais baixa da imagem e um parâmetro de pesagem diferente aplicável na camada de intensificação. O bloco na camada de intensificação corresponde ao bloco na camada mais baixa. A imagem de referência camada de intensificação corresponde à imagem de referência da camada mais baixa.
Esses e outros aspectos, características e vantagens da presente invenção tornar-se-ão aparentes na seguinte descrição detalhada das modalidades exemplares, as quais deverão ser lidas com os desenhos em anexo.
BREVE DESCRIÇÃO DOS DESENHOS
A presente invenção pode ser mais bem compreendida de acordo com as seguintes figuras exemplificativas, nas quais:
A FIGURA 1 mostra um diagrama para um codificador exemplificativo Joint Scalable Vídeo Model (JSVM) para o qual os presentes princípios podem ser aplicados;
A FIGURA 2 mostra um diagrama em bloco para um decodificador exemplificativo para o qual os presentes princípios podem ser aplicados;
A FIGURA 3 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma primeira modalidade exemplificativa dos presentes princípios;
Petição 870190025687, de 18/03/2019, pág. 15/91
10/51
A FIGURA 4 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma primeira modalidade exemplificativa dos presentes princípios;
A FIGURA 5 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma segunda modalidade exemplificativa dos presentes princípios;
A FIGURA 6 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma segunda modalidade exemplificativa dos presentes princípios;
A FIGURA 7 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma terceira modalidade exemplificativa dos presentes princípios;
A FIGURA 8 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma terceira modalidade exemplificativa dos presentes princípios;
A FIGURA 9 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma quarta modalidade exemplificativa dos presentes princípios;
A FIGURA 10 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma quarta modalidade exemplificativa dos presentes princípios;
Petição 870190025687, de 18/03/2019, pág. 16/91
11/51
A FIGURA 12 mostra um diagrama de fluxo para um método de decodificação de uma camada de intensificação de acordo com uma quinta modalidade exemplificativa dos presentes princípios;
DESCRIÇÃO DETALHADA
A presente invenção é direcionada para métodos aparelhos para prognóstico de ponderação em codificação decodificação de vídeo com possibilidade de pesagem.
A presente invenção ilustra os princípios da presente invenção, o que será adicionalmente estimado que aqueles versados na técnica estarão aptos a desenvolver várias disposições que, embota não seja explicitamente descritas ou mostradas aqui, compõem os princípios da invenção e são incluídos com seu espírito e âmbito.
citados auxiliar
Todos os exemplos e linguagem condicional aqui são destinados para propósitos pedagógicos para o leitor na compreensão dos princípios da invenção e os conceitos contribuídos pelo inventor aos favorecidos na técnica e serão construídos como sendo sem limitação para tais exemplos e condições especificamente recitadas.
Além disso, todos os relatos que recitam aqui, princípios, aspectos e modalidades da invenção, assim como exemplos específicos destes, cujo objetivo é conter ambos os equivalentes funcionais estruturais e funcionais destes.
Adicionalmente, entende-se que tais equivalentes incluem ambos os equivalentes correntemente conhecidos assim como os equivalentes desenvolvidos no futuro, por exemplo, quaisquer
Petição 870190025687, de 18/03/2019, pág. 17/91
12/51 elementos desenvolvidos que desempenham a mesma função, exceto a estrutura.
Dessa forma, por exemplo, os versados na técnica verificarão que os diagramas de bloco aqui representam vistas conceituais do circuito ilustrativo que compõe os princípios da invenção. Similarmente, verificar-se-á que quaisquer fluxograma, diagramas de fluxo, diagramas de transição de estado, pseudocódigos e similares representam vários processos os quais podem ser substancialmente representados no meio legível em computador e então executados por um computador ou processador, caso tal computador seja ou não, explicitamente mostrado.
As funções dos vários elementos mostrados nas figuras podem ser fornecidas através do uso de hardware dedicado assim como hardware capaz de executar software junto com um software apropriado. Quando fornecidas por um processador, as funções podem ser fornecidas por um único processador exclusivo, por um único processador compartilhado ou por vários processadores individuais, alguns dos quais podem ser compartilhados. Além disso, o uso explícito do termo processador ou controlador não deve ser construído para se referir exclusivamente ao hardware capaz de executar software e pode incluir, implicitamente, sem limitações, processador digital de sinal, hardware (DSP), read-only-memory (ROM) para software de armazenamento, memória de acesso aleatório (RAM) e armazém não-volátil.
Petição 870190025687, de 18/03/2019, pág. 18/91
13/51
Outro hardware, convencional ou personalizado, pode também ser incluído. Similarmente, quaisquer interruptores mostrados nas figuras são apenas conceituais. Sua função pode ser carregada para fora através da operação 5 da lógica do programa, através da lógica exclusiva, através da interação do controle do programa e lógica exclusiva, ou mesmo manualmente, a técnica particular sendo selecionável pelo implementador como mais especificamente compreendida a partir do contexto.
Nas reivindicações do presente documento, todos e quaisquer elementos expressos como um meio para desempenhar uma função específica são projetados para abrangerem quaisquer meios de desempenhar aquela função incluindo, por exemplo, a) uma combinação de elementos de circuito que desempenham aquela função ou b)software em qualquer forma, incluindo, por sua vez, firmware, microcódigo ou similares, junto com o circuito apropriado para execução do software para desempenhar a função. A invenção como definida por tais reivindicações reside no fato de que as funcionalidades fornecidas pelos vários meios recitados são combinados e postos juntos na maneira a qual as reivindicações requererem. Nesse sentido, considera-se que quaisquer meios que podem fornecer essas funcionalidades são equivalentes àquelas mostradas aqui.
Com referência à Figura 1, um codificador Joint
Scalable Vídeo Model (JSVM a seguir) para o qual a presente invenção pode ser aplicada, é indicada, geralmente, pela referência numeral 100. O codificador JSVM 100 usa três
Petição 870190025687, de 18/03/2019, pág. 19/91
14/51 camadas espaciais e filtragem de movimentação temporal compensada. O codificador JSVM 100 inclui um decimador bidimensional (2D) 104, um decimador 2D 106 e um filtro de movimentação temporal compensada, cada um tendo uma entrada para recebimento de dados de sinal de vídeo 102.
Uma saída do decimador 2D 106 é conectada em comunicação via sinal com uma entrada de um módulo MCTF 110. Uma primeira saída do módulo MCTF 110 é conectada em comunicação via sinal com uma entrada de um codificador de movimentação 112, e uma segunda saída do módulo MCTF 110 é conectada em comunicação via sinal com uma entrada de um módulo de prognóstico 116. Uma primeira saída do codificador de movimentação 112 é conectada em comunicação via sinal com uma primeira entrada de um multiplexador 114. Uma segunda saída do codificador de movimentação 112 é conectado em comunicação via sinal com uma primeira entrada de um codificador de movimentação 124. Uma primeira saída do módulo de prognóstico 116 é conectada em comunicação via sinal com uma entrada de um transformador espacial 118. Uma saída do transformador espacial 118 é conectada em comunicação via sinal com uma segunda entrada do multiplexador 114. Um segunda saída do módulo de prognóstico 116 é conectada em sinal de comunicação com uma saída de um interpolador 120. Uma saída do interpolador é conectada em comunicação via 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 via sinal com uma entrada de um transformador espacial 126. Uma saída do
Petição 870190025687, de 18/03/2019, pág. 20/91
15/51 transformador espacial 126 é conectada em comunicação via sinal com a segunda entrada do multiplexador 114. Uma segunda saída é conectada em comunicação via sinal com uma primeira entrada de um módulo de prognóstico 134. Uma saída do módulo de prognóstico 134 é conectada em comunicação via sinal com um transformador espacial 136. Uma saída do transformador espacial é conectada por comunicação via sinal com a segunda saída de um multiplexador 114.
Uma saída do decimador 2D 104 é conectada em comunicação via sinal com uma saída de um módulo 128 MCTF.
Uma primeira saída do módulo MCTF é conectada em comunicação via sinal com uma segunda saída do codificador 124. Uma primeira saída do codificador 124 é conectada em comunicação via sinal com a primeira entrada do multiplexador 114. Uma segunda saída do codificador de movimentação 124 é conectado em comunicação via sinal com uma primeira saída de um codificador de movimentação 132. Uma segunda saída do módulo MCTF 128 é conectado em comunicação via sinal com uma segunda entrada do módulo de predição 122.
Uma primeira saída do módulo MCTF 108 é conectada em comunicação via sinal com uma segunda entrada do codificador de movimentação 132. Uma saída do codificador de movimentação 132 é conectada em comunicação via sinal com uma primeira entrada do multiplexador 114. Uma segunda saída do módulo MCTF 108 é conectada em comunicação via sinal com uma segunda entrada do módulo de predição 134. Uma saída do multiplexador 114 fornece um fluxo de bits de saída 138.
Petição 870190025687, de 18/03/2019, pág. 21/91
16/51
Para cada camada espacial, uma decomposição temporal compensada pelo movimento é realizada. Essa decomposição fornece uma graduabilidade temporal. Informações de movimentação a partir das camadas espaciais mais baixas podem ser usadas para predição da movimentação em camadas mais altas. Para codificação da estrutura, a predição espacial entre sucessivas camadas espaciais pode ser aplicada para remover o excesso. O sinal residual resultante do inter-prognóstico compensado por movimento é codificado por transformação. Um residual de camada baseado na qualidade propicia uma qualidade mínima da reconstrução em cada camada espacial. Essa camada pode ser codificada em um fluxo compatível H.264 padrão caso nenhum prognóstico da camada interna seja aplicado. Para escalabilidade de qualidade, as camadas de intensificação são codificadas adicionalmente. Essas camadas de intensificação podem ser escolhidas para que ambas forneçam qualidade (escabilidade SNR)em grãos finos e grossos.
Com referência à FIGURA 2, um do codificador de vídeo graduável exemplificativo para o qual a presente invenção pode ser aplicada é indicada, geralmente, pela referência numeral 200. Uma entrada de um de multiplexador 202 é disponível como uma entrada no codificador de vídeo graduável 200, para recebimento de um fluxo de bits graduável. Uma primeira saída do de multiplexador 202 fica conectada por comunicação em sinal com uma entrada de um decodificador de entropia passível de graduação SNR com transformação inversa espacial 204. Uma saída de um
Petição 870190025687, de 18/03/2019, pág. 22/91
17/51 decodificador de entropia passível de graduação SNR com transformação inversa espacial 204 é conectada em comunicação via sinal com uma primeira entrada de um módulo de predição 206. Um saída do módulo de predição 206 é 5 conectado em comunicação via sinal com uma primeira entrada de um módulo inverso MCTF 208.
Uma segunda saída do decodificador de entropia passível de graduação SNR com transformação inversa espacial 204 é conectada em comunicação via sinal com uma primeira 10 entrada de um vetor de movimentação (MV) decodificador 210.
Uma saída do decodificador MV 210 é conectada em comunicação via sinal com uma segunda entrada do módulo MCTF inversa 218.
Uma segunda saída do demultiplexador 202 é conectada em comunicação via sinal com uma entrada de um decodificador de entropia passível de graduação SNR com transformação inversa espacial 212. Uma primeira saída do de um decodificador de entropia passível de graduação SNR com transformação inversa espacial 212 é conectada em comunicação via sinal com uma primeira entrada do módulo de predição 214. Uma primeira saída do módulo de predição 214 é conectado em comunicação via sinal com uma entrada de um módulo de interpolação 216. Uma saída do módulo de interpolação 216 é conectado em comunicação via sinal com 25 uma segunda entrada do módulo de predição 206. Uma segunda saída do módulo de predição 214 é conectada em comunicação via sinal com uma primeira entrada de um módulo MCTF inverso 218.
Petição 870190025687, de 18/03/2019, pág. 23/91
18/51
Uma terceira saída do demultiplexador 202 conectada em comunicação via sinal com uma entrada de um decodificador de entropia passível de graduação SNR com transformação inversa espacial 222. Uma primeira saída de um decodificador de entropia passível de graduação SNR com transformação inversa espacial 222 é conectada em comunicação via sinal com uma entrada de um módulo de interpolação
226. Uma saída do módulo de interpolação 226 é conectado em comunicação via sinal com uma segunda entrada do módulo de predição 214.
Uma segunda saída do módulo de predição
224 é conectada com comunicação via sinal com uma primeira entrada de um módulo
MCTF inverso
Uma segunda saída do decodificador de entropia passível de graduação SNR com transformação inversa espacial
222 é conectada em comunicação via sinal com uma entrada de um decodificador
MV
230. Uma primeira saída do decodificador
230 é conectada em comunicação via sinal com uma saída do decodificador MV 220.
Uma segunda saída do decodificador 230 é conectada em comunicação via sinal com uma segunda entrada do módulo inverso MCTF 228.
Uma saída do módulo inverso MSTC 228 é disponível como uma saída do decodificador 200, para saída de uma camada de sinal 0. Uma saída do módulo inverso MCTF 218 é disponível como uma saída do decodificador 200, para saída de uma camada de sinal 1. Uma saída do módulo inverso MCTF 209 é disponível como uma saída do decodificador 200, para saída de uma camada de sinal 2.
Petição 870190025687, de 18/03/2019, pág. 24/91
19/51
De acordo com as modalidades dos presentes princípios, os parâmetros de ponderação para prognóstico de pesagem da camada de intensificação são selecionados por entre os pesos da camada base e os pesos das camadas de intensificação. Isso pode resultar num aprimoramento do desempenho da codificação especialmente por mudanças de intensidade localizada. Em várias modalidades dos presentes princípios, a seleção é desempenhada de forma adaptável e/ou a seleção depende do módulo de macrobloco. Várias modalidades exemplares são também ilustradas pela seleção de módulos no codificador.
Se o codificador escolher usar um algoritmo diferente para as camadas de base e intensificação ou se a camada base não escolher usar os parâmetros de ponderação, porém a camada de intensificação usa prognóstico de ponderação, os parâmetros de ponderação são explicitamente transmitidos na camada de intensificação.
No JSVM, uma camada de intensificação de macrobloco pode explorar um prognóstico de inter-camada usando dados de movimentação da camada de base graduada, usando ambos “BASE_LAYER_MODE ou “QPEL_REFINEMENT_MODE, como no caso de diádico (duas-camadas)graduabilidade espacial. Adicionalmente, um módulo de predição de macrobloco (ou sub-macrobloco), o preditor de movimentação de vetor pode escolher entre um vetor de camada de base de movimentação ou uma camada de predição de um vetor de movimentação de camada de intensificação a partir de um vizinho espacial, via motion_prediction_flagl x[] é igual a
Petição 870190025687, de 18/03/2019, pág. 25/91
20/51
1, refere-se a que os vetores esses macroblocos como macroblocos previstos de inter-camadas.
Quando o base_mode_flag for igual a 1 ou o base_mode_refinement for igual a 1, ou o motion_prediction_flag_|xü for igual a 1, refere-se as esses macroblocos como macroblocos prognosticados de inter-camada. O sinalizador da parte do cabeçalho base_pred_weight_table_flag atualmente possui 2 valores, ambos um 0 ou um 1. Um valor de 0 indica que os pesos da camada de intensificação (EL) serão transmitidos, Um valor de 1 indica que os pesos da camada base (BL) devem ser herdados pela camada de intensificação.
Para módulos de predição de inter-camada, o padrão H.264 não especifica claramente qual configuração dos pesos deve ser usada. Com o objetivo de especificar esses casos com respeito aos princípios presentes, cinco modalidades exemplificativas são fornecidas, como descrito com respeito aos métodos das Figuras 3 através da 12. É claro que os presentes princípios não se limitam a somente as cinco modalidades descritas exemplificativas e, dando ensinamento dos presentes princípios aqui, uma das pessoa com habilidades comuns nessas e nas contemplar essas e várias outras afins irão modalidades enquanto fizeram à manutenção do escopo dos presentes princípios.
Nas primeira e segunda modalidades, se esclarece o uso da base_pred_weight_table_flag quando é igual a 0 para um macrobloco prognosticado de inter-camada sem qualquer mudança de sintaxe. Na terceira modalidade exemplar, a
Petição 870190025687, de 18/03/2019, pág. 26/91
21/51 abordagem do método da primeira arte anterior é estendida pela adição de um novo elemento de sintaxe na camada de macrobloco, base_mode_weight_flag, o qual indica em uma base de macrobloco quais configurações dos pesos deverão ser usadas na camada de intensificação para macroblocos previstos de inter-camada. No quarto método exemplificativo, a base_pred_weight_table_flag é estendida para empregar três valores como descritos abaixo. No quinto método exemplificativo, estende-se o quarto método para adicionar um elemento de sintaxe, base_mode_weight_flag, na camada de macrobloco para indicar se os pesos BL ou EL deverão ser usados.
No presente documento, a Tabela 1 ilustra a sintaxe da parte do cabeçalho para a primeira, segunda e terceira modalidades exemplificativas. A Tabela 2 ilustra uma parte da sintaxe do cabeçalho para a quarta e quinta modalidades exemplificativas. A Tabela 3 ilustra uma sintaxe da camada do macrobloco para a terceira modalidade exemplificativa. A Tabela 4 ilustra uma sintaxe da camada de
Petição 870190025687, de 18/03/2019, pág. 27/91
22/51
Tabela 1
| slice header in scalable extension() { | c | Descriptor |
| first_mb_in_slice | 2 | ue(v) |
| slice type | 2 | ue(v) |
| pic parameter set id | 2 | ue(v) |
| if(slice type == PR) { | ||
| num_mbs_in_slice_minusl | 2 | ue(v) |
| luma chroma sep flag · | 2 | u(l) |
| } . · | ||
| framenuin | 2 | u(v) |
| if( !frame mbs only flag) { | ||
| field pic flag | 2 | u(l) |
| if( fíeld pic flag ) | ||
| bottom field flag | 2 | u(l) |
| } | ||
| if( nal unit type = = 21) | ||
| idr pic id | 2 | ue(v) |
| if( pic order cnt type = = 0 ) { | ||
| . pic order cnt lsb | 2 | u(v) |
| if( pic orderjpresent flag && !field pic flag ) | ||
| deltajpic order cnt bottom | 2 | se(v) |
| } | ||
| if( pic order cnt type = = 1 && !delta pic order always zero flag) { | ||
| ηΐη ζιτ·/1η>· /«ntf Λ Ί uciia piv viuví vui[ v j | 2 | se(v) |
| if( pic order present flag && !field pic flag) | ||
| delta pic order cnt( 1 ] | 2 | se(v) |
| } | ||
| if( slice type != PR) { | ||
| if( redundant pic cnt present flag) | ||
| redundant pic cnt | 2 | úe(v) |
| if( slice_type = = EB ) | ||
| direct spatial mv pred flag | 2 | u(l) |
| key picture flag | 2 | u(l) |
| decompositionstages | 2 | ue(v) |
| base id plusl | 2 | ue(v) |
| if( base id plusl != 0) { | ||
| adaptive prediction flag | 2 | u(l) |
| } | ||
| if( slice type = = EP 11 slicejype = = EB) { | ||
| num ref idx activc override flag ; | 2 | u(l) |
| if( num ref idx active override flag) { | ||
| num ref idx 10 active minusl | 2 | ue(v) |
| if( slice type == EB) | ||
| num ref idx Il active minusl | 2 | ue(v) |
| } 1 - |
Petição 870190025687, de 18/03/2019, pág. 28/91
23/51
| ref pic list reordering() | 2 | |
| for( decLvl = temporal levei; decLvl < decomposition_stages; decLvl++ ) L | ||
| num_ref_idx_update_10_active[ decLvl + 1 ] | 2 | ue(v) |
| num_ref_idx_update_ll_active[ decLvl + 1 ] | 2 | ue(v) |
| } | ||
| if( (weighted_pred_flag && slice_type = = EP ) 11 (weighted bipred ide = = 1 && slice type = = EB ) ) . | ||
| { | ||
| if ((base id plusl != 0) && ( adaptive prediction flag = =1)) | ||
| base pred weight table flag | 2 | u(l) |
| if ( base pred weight table flag = = 0) | ||
| pred weight table( ) | 2 | |
| } . | ||
| if( nal ref idc != 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( deblocking filter control present flag) { | ||
| disable deblocldng filter idc | 2 | ue(v) |
| if( disable deblocking filter idc != 1) { | ||
| slice alpha c0 offset div2 | 2 | se(v) |
| slice beta offset div2 | 2 | se(v) |
| } | ||
| ) | ||
| if( slice type != PR) | ||
| if( num_slice_groups_minusl > 0 && slice group map type >= 3 && slice group map type <= 5) | ||
| slicegroupchangecycle | 2 | u(v) |
| if{ slice type != PR && extended spatial scálability > 0) { | ||
| if (chroma format idc > 0) { | ||
| base chroma phase xjplusl | 2 | u(2) |
| base chroma phase y plusl | 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() | ||
| } |
Petição 870190025687, de 18/03/2019, pág. 29/91
24/51
Tabela 2
| slice header in scalable extension() { | C | Descriptor |
| first mb in slice | 2 | ue(v) |
| slice type | 2 | ue(v) |
| pic parameter set id | 2 | ue(v) |
| if( slice type = = PR) { | ||
| num mbs in slice minusl | 2 | ue(v) |
| luma chroma sep flag | 2 | u(l) |
| } | ||
| framenuin | 2 | u(v) |
| if( !frame mbs only flag) { | ||
| field pic flag | 2 | u(l) |
| if( field pic flag ) | ||
| bottom field flag . | 2 | u(l) |
| } · | ||
| if( nal unit type = = 21) | ||
| idr pic id | 2 | ue(v) |
| if( pic order cnt type = = 0) { | ||
| pic order cnt lsb | 2 | u(v) |
| if( pic order present flag && !fíeld 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 cnt[ 0 ] | 2 | se(v) |
| if( pic order present flag && !field pic flag ) | ||
| delta pic order cntí 1 ] | 2 | se(v) |
| } | ||
| if( slice type != PR) { | ||
| if( redimdant pic cnt present flag) | ||
| redundant pic cnt | 2 | ue(v) |
| if( slice type' = = EB ) | ||
| direct spatial mv pred flag | 2 | u(l) |
| key picture flag | 2 | u(l) |
| decompositionstages | 2 | ue(v) |
| base idjplusl | 2 | ue(v) |
| if( base id plusl != 0) { | ||
| adaptive prediction flag | 2 | u(l) |
| } | ||
| if( slice type = = EP 11 slice type = = EB ) { | ||
| - num ref idx active override flag | 2, | u(l) . · |
| if( num ref idx active override flag ) { | ||
| num ref idx lO active minusl | 2 | ue(v) |
| if( slice type == EB) | ||
| num ref idx ll active minusl | 2 | ue(v) |
| } | ||
| } |
Petição 870190025687, de 18/03/2019, pág. 30/91
25/51
| ref pic list reordering( ) | 2 | |
| for( decLvl = temporaljevel; decLvl < decomposition stages; decLvl++) { . | ||
| num ref idx update 10 active[ decLvl + 1 ] | 2 | ue(v) |
| num ref_idx_update_ll_active[ decLvl + 1 ] | 2 | ue(v) |
| } | ||
| if( (weighted pred flag && slice type = — EP ) 11· ( weighted bipred ide = = 1 && slice type = = EB)) . | ||
| { | ||
| if ((base id plusl != 0) && (adaptíve prediction flag = =1)) . | ||
| base pred weight table flag | 2 | u(2) |
| if ((base__pred_weight_table_flag = = 0) || (base pred weight table flag = = 2)) | ||
| pred_weight_table() | 2 | |
| } | ||
| if( nal ref idc != 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( deblocking fílter control present flag ) { | ||
| disable deblocking filter idc | 2 | ue(v) |
| if( disable deblocking fílter idc != 1) { . . | ||
| slice alpha c0 offset div2 | 2 | se(v) |
| slice beta offset div2 | 2 | se(v) |
| } | ||
| } | ||
| if( slice type != PR) | ||
| if( num slice groups minusl > 0 && slice group map type >= 3 && slice group map type <= 5) | ||
| rrmvvr» z«li antro ovolo . . | .2 | u(v) ...... |
| if( slice type != PR &&extended spatial scalability>O).{ | ||
| if (chroma format idc > 0) { | ||
| base chromajphase x plusl | 2 | u(2) |
| base chroma phase y plusl | 2 | u(2) |
| } | ||
| if( extended spatial scalability = = 2 ) { | ||
| scaled base left offset | 2 | se(v) |
| scaled base top offset | o £. | „„ΛΛ |
| scaled base_right_offset | 2 | se(v) |
| scaled base bottom offset | 2 | se(v) |
| } | ||
| } | ||
| SpatialScalabilityType = spatial_scalability_type() | ||
| } |
Petição 870190025687, de 18/03/2019, pág. 31/91
26/51
Tabela 3
| macroblock layer in scalable extension( ) { | C | Descriptor |
| if[in crop window( CurrMbAddr ) ) | ||
| If( (base pred weight table flag = 0) && (slice type — EP || slice type — EB) ) | ||
| base_mode_weight_flag | 2 | ae(v) |
| if(adaptive prediction flag ) { | ||
| base mode flag | 2 | ae(v) |
| ií( ! base mode flag && SpatialScalabilityType > 0 && ! intra base mb( CurrMbAddr)) | ||
| base mode refinement flag | 2 | ae(v) |
| } | ||
| } | ||
| if( ! base mode flag && ! base mode refínement flag) { | ||
| mbtype | 2 | ae(v) |
| if(mb type - I_NxN && in_crop_window( CurrMbAddr) && (intra base mb( CurrMbAddr) ||! constrained inter layer pred() ) ) | ||
| intra base flag | 2 | ae(v) |
| } | ||
| if( mb type = = I PCM) { | ||
| while( !byte aligned()) | ||
| pcm alignment zero bit | 2 | f(l) |
| for( i = 0; i < 256; i++) | ||
| pcm sample luma[ i ] | 2 | u(v) |
| for( i = 0; i < 2 * MbWidthC * MbHeightC; i++) | ||
| pcm sample chroma[ i ] | 2 | u(v) |
| } else { | ||
| NoSubMbPartSizeLessThan8x8Flag = 1 | ||
| if( mb type != I NxN && MbPartPredMode( mb_type, 0) 1= Intra_16xl6 && NumMbPart( mb type ) = = 4 ) { | ||
| sub mb pred in scalable extension( mb type) | 2 | |
| for( mbPartldx = 0; mbPartldx < 4; mbPartIdx++ ) | ||
| if( sub mb type[ mbPartldx ] != B Direct 8x8) { | ||
| if( NumSubMbPart( sub mb type [ mbPartldx ] ) > 1) | ||
| NoSubMbPartSizeLessThan8x8Flag = 0 | ||
| } else if( !direct 8x8 inference flag) | ||
| NoSubMbPartSizeLessThan8x8Flag = 0 | ||
| } else { | ||
| . if( transform 8x8 mode flag && mb type == I NxN) | ||
| transform size 8x8 flag | 2 | ae(v) |
| mb pred in scalable extension( mb type) | 2 | |
| } | ||
| if( MbPartPredMode( mb type, 0) != Intra 16xl6) { | ||
| coded blockjpattern | 2 | ae(v) |
Petição 870190025687, de 18/03/2019, pág. 32/91
27/51
| if( CodedBlockPattemLuma > 0 && transform_8x8_mode_flag && mb_type != I_NxN && NoSubMbPartSizeLessThan8x8Flag && !(MbPartPredMode( mb_type, 0) == B_Direct_16xl6 && idirect 8x8 inference flag)) | ||
| transform_size_8x8_flag | 2 | ae(v) |
| } | ||
| if( CodedBlockPattemLuma > 0 || CodedBlockPattemChroma > 0 || MbPartPredMode( mb type, 0) == Intra 16x16) { | ||
| mb qp delta | 2 | ae(v) |
| residual in scalable extension() | 3|4 | |
| } | ||
| } . | ||
| } |
Tabela 4
| macroblock layer in scalable extension() { . | C | Descriptor |
| if(m crop window( CurrMbAddr ) ) | ||
| If( ((base pred weight table flag = 0) || (base_pred_weight_table_flag = 2)) && (slice type = EP || slice type = EB)) | ||
| base mode weight flag | 2 | ae(v) |
| if(adaptive prediction flag) { | ||
| base mode flag | 2 | ae(v) |
| if(! base mode flag && SpatialScalabilityType > 0 && ! intra base mb( CurrMbAddr)) . | ||
| base mode refinement flag | 2 | ae(v) |
| } | ||
| } | ||
| if( ! base mode flag && 1 base mode refínement flag ) .{ | ||
| mbtype | 2 | ae(v) |
| if( mb type = = I NxN && in crop window( CurrMbAddr) && (intra base mb( CurrMbAddr ) ||! constrained inter Iayer pred())) | ||
| intra base flag | 2 | ae(v) |
| } . | ||
| if( mb_type = = I_PCM ) { | ||
| while( !byte aligned()) | ||
| pcm alignment zero bit | 2 . | f(l) |
| for( i = 0; i < 256; i++) . | ||
| pcõi sample luma[ i ] | 2 | u(v) ' ' |
| for( i = 0; i < 2 * MbWidthC * MbHeightC; i++ ) | ||
| pcm sample chroma( i ] | 2 . | u(v) · |
| } else { | ||
| NoSubMbPartSizeLessThan8x8Flag = 1 | ||
| if(mb_type != I_NxN && MbPartPredMode( mb_type, 0 ) != Intra_16xl6 && NumMbPart( mb type ) = = 4 ) { |
Petição 870190025687, de 18/03/2019, pág. 33/91
28/51
| sub mbjpred in scalable extension( mb type) | 2 | |
| for( mbPartldx = 0; mbPartldx < 4; mbPartldx-H·) | ||
| if( sub mb type[ mbPartldx ] != B Direct 8x8) { | ||
| if( NumSubMbPart( sub_mb_type [ mbPartldx ]) > 1) | ||
| NoSubMbPartSizeLessThan8x8Flag = 0 | ||
| } else if( !direct 8x8 inference flag ) | ||
| NoSubMbPartSizeLessThan8x8Flag = 0 | ||
| } else { · | ||
| if( transform 8x8 mode flag && mb type == I NxN) | ||
| transform size 8x8 flag | 2 | ae(v) |
| mb pred in scalable extension( mb type) | 2 | |
| } | ||
| if( MbPartPredMode( mb type, 0 ) != Intra 16xl6 ) { | ||
| coded block pattern | 2 | ae(v) |
| if( CodedBlockPattemLuma > 0 && transform_8x8_mode_flag && mb_type != I_NxN && NoSubMbPartSizeLessThan8x8Flag && !( MbPartPredMode( mb_type, 0) == B_Direct_16xl6 && Idirect 8x8 inference flag)) | ||
| transform size 8x8 flag | 2 | ae(v) |
| } | ||
| if( CodedBlockPattemLuma > 0 11 CodedBlockPattemChroma > 0 11 MbPartPredMode( mb type, 0) == Intra 16x16) { | ||
| mb qp delta | 2 | ae(v) |
| residual in scalable extension() | 3|4 | |
| } | ||
| } . | ||
| } |
Uma descrição será agora dada, com respeito à primeira modalidade exemplificativa. Na primeira modalidade exemplificativa, não é alterado nenhum elemento de sintaxe.
Quando a base_pred_weight_table_flag é igual a 0 e quando o macrobloco da camada de intensificação é uma inter-camada de macrobloco, soa intuitivo usar os pesos para pesar o macrobloco correspondente. Como um resultado, o decodificador deve também estar ciente desse fato. Além disso, propõe-se uma mudança semântica para motion_preditcion_flag|x[], base_mode_flag, base_mode_refinement_flag.
Em particular, propõe-se
Petição 870190025687, de 18/03/2019, pág. 34/91
29/51 adicionar a seguinte linha à definição já existente da sintaxe.
Motion_prediction_flag_|0[mbPartidx] igual a 1 especificam que a camada base pred_weight_table() será usada para desempenhar a predição de ponderação no macrobloco atual.
O base_mode_refinement_flag igual a 1 especifica que a camada base pred_weight_table_() será usada para desempenhar-se o prognóstico ponderal no atual macrobloco.
Com referência à Figura 3, um método para codificar uma camada de intensificação que usa previsão ponderada é, geralmente, indicado pela referência numérica 300. O método 300 inclui um bloco inicial 305 que inicia a codificação da camada de intensificação e passa o controle para um bloco de decisão 310. O bloco de decisão 310 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 1. Sendo assim, então, o controle é passado para um bloco de função 315. Caso contrário, o controle é passado para um bloco de função 340.
O bloco de função 315 usa os parâmetros de ponderação de camada de base para macroblocos de camada intermediária e passa o controle para o bloco de função 320. O bloco de função 320 pondera a imagem de referência com os pesos obtidos e passa o controle para um bloco de função 325. O bloco de função 325 grava a sintaxe base_pred_weight_table_flag em um cabeçalho de fração que corresponde à camada de intensificação e passa o controle para um bloco de decisão 330. O bloco de decisão 330
Petição 870190025687, de 18/03/2019, pág. 35/91
30/51 determina se a sintaxe base_pred_weight_table_flag é ou não (verdadeira). Sendo assim, então, o controle é passado para um bloco de função 335. Caso contrário, o controle é passado para um bloco de função 350.
O bloco de função 335 codifica uma imagem de camada de intensificação que usa a imagem de referência ponderada, e passa o controle para um bloco final 399.
O bloco de função 350 grava os pesos no cabeçalho de fração e passa o controle para o bloco de função 335. O 10 bloco de função 340 calcula os pesos para a imagem de camada de intensificação, e passa o controle para um bloco de função 345. O bloco de função 345 usa os parâmetros de ponderação de camada de base para macroblocos de camada intermediária na imagem de camada de intensificação e os 15 parâmetros de ponderação de camada de intensificação para outros macroblocos na imagem de camada de intensificação, e passa o controle para o bloco de função 320.
Com referência à Figura 4, um método para decodificar uma camada de intensificação que usa previsão 20 ponderada é, geralmente, indicado pela referência numérica 400. O método 400 inclui um bloco inicial 405 que inicia a decodificação da camada de intensificação e passa o controle para um bloco de decisão 410. O bloco de decisão 410 determina se a sintaxe base_pred_weight_table_flag é ou não 25 igual a 0. Sendo assim, então, o controle é passado para um bloco de função 415. Caso contrário, o controle é passado para um bloco de função 420.
O bloco de função 415 usa parâmetros de ponderação
Petição 870190025687, de 18/03/2019, pág. 36/91
31/51 de camada de base para macroblocos de camada intermediária e parâmetros de ponderação de camada de intensificação em todos os outros macroblocos e passa o controle para um bloco final 499.
O bloco de ponderação de camada de função 420 usa os parâmetros de base em todos os macroblocos e passa o controle para o bloco final 499.
Agora, será fornecida uma descrição em relação ao segundo método exemplificativo. A motivação do segundo método exemplificativo é similar ao primeiro, exceto pelo fato de que semântica das sintaxes motion base_mode_flag base_mode_refinement_flag foram alteradas como se segue.
Quando a sintaxe base_pred_weight_table_flag é igual a 0, a camada de intensificação sempre usa os pesos de camada de intensificação e nunca os pesos de camada de base.
A sintaxe motion_prediction_flag_|0[mbPart|dx] igual a 1 especifica que a camada de intensificação pred_weight_table() será usada para realizar a previsão ponderada no macrobloco atual.
A sintaxe base_mode_flag igual a 1 especifica que a camada de intensificação pred_weight_table() será usada para realizar a previsão ponderada no macrobloco atual.
A sintaxe base__mode_refinement_flag igual a 1 especifica que esta camada de intensificação pred_weight_table() será usada para realizar a previsão ponderada no macrobloco atual.
Com referência à Figura
5, um método para
Petição 870190025687, de 18/03/2019, pág. 37/91
32/51 codificar uma camada de intensificação que usa a previsão ponderada é, geralmente, indicado pela referência numérica 500. O método inclui um bloco inicial 505 que inicia a codificação da camada de intensificação e passa o controle 5 para um bloco de decisão 510. O bloco de decisão 510 determina se a sintaxe base_pred_weight_table_flag é igual a um. Sendo assim, então, o controle é passado para um bloco de função 515. Caso contrário, o controle é passado para um bloco de função 540.
O bloco de função 515 usa os parâmetros de ponderação de camada de base em todos os macroblocos e passa o controle para um bloco de função 520. O bloco de função
520 pondera a imagem de referência com os pesos obtidos e passa o controle para um bloco de função 525. O bloco de função 525 grava base_pred_weight_table_flag em um cabeçalho de fração que corresponde à camada de intensificação e passa o controle para um bloco de decisão 530. O bloco de decisão 530 determina se a sintaxe base_pred_weight_table_flag é igual a 1 (verdadeira). Sendo assim, então, o controle é passado para um bloco de função 535. Caso contrário, o controle é passado para um bloco de função 550.
O bloco de função 535 codifica uma imagem de camada de intensificação que usa imagem de referência ponderada e passa o controle para um bloco final 599. O 25 bloco de função 550 grava os pesos no cabeçalho de fração e passa o controle para o bloco de função 535.
O bloco de função 540 calcula os pesos para a imagem de camada de intensificação e passa o controle para
Petição 870190025687, de 18/03/2019, pág. 38/91
33/51 um bloco de função 545. O bloco de função 545 usa os parâmetros de ponderação de camada de intensificação em todos os macroblocos e passa o controle para o bloco de função 520.
Com referência à Figura 6, um método para decodificar uma camada de intensificação que usa a previsão ponderada é, geralmente, indicado pela referência numérica 600. O método 600 inclui um bloco inicial 605 que inicia a decodificação da camada de intensificação e passa o controle para um bloco de decisão 610. O bloco de decisão 610 determina a sintaxe base_pred_weight_table_flag é ou não igual a 0. Sendo assim, então, o controle é passado para um bloco de função 615. Caso contrário, o controle é passado para um bloco de função 620. O bloco de função 615 usa os parâmetros de ponderação de camada de intensificação em todos os macroblocos e passa o controle para um bloco final 6 9 9.
O bloco de função 620 usa os parâmetros de ponderação de camada de base em todos os macroblocos e passa o controle para o bloco final 699.
Agora, será fornecida a descrição em relação à terceira modalidade exemplificativa. Na terceira modalidade exemplificativa, mantém-se a sintaxe de cabeçalho de fração existente, base_pred_weight_table_flag, porém se adiciona um novo elemento de sintaxe, base_mode_weight_flag, na camada de macrobloco, conforme mostrado na Tabela 3.
A sintaxe base_mode_weight_flag igual a 1 especifica que os parâmetros de ponderação devem ser
Petição 870190025687, de 18/03/2019, pág. 39/91
34/51 inferidos na dependência dos macroblocos de base correspondentes.
A sintaxe base_mode_weight_flag igual a 0 especifica que os parâmetros de ponderação não são inferidos.
Este flag está presente somente quando a sintaxe base_pred_weight_table_flag é igual a 0. Neste caso, o codificador pode usar uma técnica de otimização de distorção de taxa (RDO) para decidir qual conjunto de pesos proporciona o melhor desempenho para o macrobloco previsto de camada intermediária da camada de intensificação. Se
| utilizar os | pesos | de camada de | base proporciona | melhor |
| desempenho, | então, | a sintaxe | base_mode_weight_ | flag é |
| ajustada | em 1 | ; caso | contrário, a | sintaxe |
base_mode_weight_flag é ajustada em 0. O decodificador pode, então, decodificar a sintaxe base_mode_weight_flag e determinar qual conjunto de parâmetros de ponderação será usado para reconstruir o MB atual.
Com referência à Figura 7, um método para codificar uma camada de intensificação que usa a previsão ponderada é, geralmente, indicado pela referência numérica 700. O método 700 inclui um bloco inicial 705 que inicia a codificação da camada de intensificação e passa o controle para um bloco de decisão 710. O bloco de decisão 710 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 1. Sendo assim, então, o controle é passado para um bloco de função 715. Caso contrário, o controle é passado para um bloco de função 740.
Petição 870190025687, de 18/03/2019, pág. 40/91
35/51
O bloco de função 715 obtém os pesos de uma imagem de camada de base e passa o controle para um bloco de função 720. O bloco de função 720 codifica uma imagem de camada de intensificação com uma imagem de referência ponderada e passa o controle para um bloco de decisão 725. O bloco de decisão 725 determina se a sintaxe base_pred_weight__table_flag é ou não igual a 1 (verdadeira). Sendo assim, então, o controle é passado para um bloco de função 730. Caso contrário, o controle é passado para um bloco de função 735. O bloco de função 730 grava a imagem de camada de intensificação e passa o controle para um bloco final 799.
O bloco de função 735 grava os pesos em um cabeçalho de fração que corresponde à camada de intensificação e passa o controle para o bloco de função 730.
O bloco de função 740 usa a técnica de otimização de distorção de taxa (RDO) para decidir os pesos de camada de base ou os pesos de camada de intensificação para cada macrobloco previsto de camada intermediária, usa os pesos de camada de intensificação em todos os outros macroblocos e passa o controle para um bloco de decisão 745. O bloco de decisão 745 determina se a sintaxe base_mode_weight_flag é ou não igual a 1 e se o macrobloco atual é ou não um macrobloco previsto de camada intermediária. Sendo assim, então, o controle é passado para um bloco de função 750. Caso contrário, o controle é passado para um bloco de função 760.
O bloco de função 750 usa os pesos de camada de
Petição 870190025687, de 18/03/2019, pág. 41/91
36/51 base para o macrobloco atual e passa o controle para um bloco de decisão 755.
O bloco de função 760 usa os pesos de camada de intensificação para o macrobloco atual e passa o controle para o bloco de decisão 755.
bloco de decisão 755 determina se todos os macroblocos foram ou não ponderados. Sendo assim, então, o controle é passado para o bloco de decisão 725. Caso contrário, o controle volta para o bloco de função 740.
Com referência à Figura 8, um método para decodificar uma camada de intensificação que usa a previsão ponderada é, geralmente, indicado pela referência numérica
800. O método 800 inclui um bloco inicial 805 que inicia a decodificação da camada de intensificação e passa o controle para um bloco de decisão 810. O bloco de decisão 810 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 0. Sendo assim, então, o controle é passado para um bloco de função 815. Caso contrário, o controle é passado para um bloco de função 835. O bloco de função 815 lê a sintaxe base_mode_weight_flag para cada macrobloco em uma fração intermediária e passa o controle para um bloco de decisão 820. O bloco de decisão 820 determina se a sintaxe base_mode_weight_flag é ou não igual a um e se um macrobloco atual é um macrobloco de camada intermediária. Sendo assim, então, o controle é passado para um bloco de função 825.
Caso contrário, o controle é passado para um bloco de função
830. O bloco de função 825 usa parâmetros de ponderação de camada de base para o macrobloco atual e passa o controle
Petição 870190025687, de 18/03/2019, pág. 42/91
37/51 para um bloco final 899.
O bloco de função 830 usa os parâmetros de camada de intensificação para o macrobloco atual e passa o controle para o bloco final 899.
O bloco de função 835 usa os parâmetros de ponderação da camada de base para todos os macroblocos, e passa o controle ao bloco final 899.
Agora, será fornecida uma descrição em relação à quarta modalidade exemplar. Na quarta modalidade, propomos alterar a sintaxe base_pred_weight__table_flag para adotarmos três valores e, também, alterar a semântica de modo a repercutir esta alteração.
A sintaxe base_pred_weight_table_flag igual a 0 é semelhante à sintaxe add_ref_num, onde a camada de intensificação não herda os parâmetros de ponderação da camada de base, a não ser pelo fato de esclarecermos que para os modos de previsão da camada intermediária sempre usamos os pesos da camada de intensificação.
A sintaxe base_pred_weight_table_flag igual a 1 é semelhante à sintaxe onde herdamos os pesos da camada de base para todos os macroblocos na camada de intensificação.
A sintaxe base_pred_weight_table_flag igual a 2: neste caso, propomos selecionar, de forma adaptável, entre os pesos da camada de base e os pesos da camada de intensificação dependendo do tipo de MB. Para os macroblocos previstos pela camada intermediária propomos usar os pesos da camada de base, enquanto para todos os outros macroblocos propomos usar os pesos da camada de intensificação.
Petição 870190025687, de 18/03/2019, pág. 43/91
38/51
No quarto método, o codificador decide qual modo (0, 1, 2) selecionar em uma base de fração. Não há necessidade de enviar sintaxes adicionais para indicar qual configuração de parâmetros de ponderação é usada para cada macrobloco. O modo 2 é particularmente útil quando a camada de base não usa previsão ponderada, porém, a camada de intensificação usa previsão ponderada e a seqüência inclui variações de intensidade local. Isto porque nas imagens que incluem variações de intensidade local, podem-se selecionar dois pesos diferentes para uma imagem de referência. Para estas imagens que não incluem tais variações de intensidade local, não precisamos usar parâmetros de ponderação.
Voltando-se à Figura 9, um método para codificação de uma camada de intensificação que usa previsão ponderada é, genericamente, indicado pela referência numérica 900. O método 900 inclui um bloco inicial 905 que inicia a codificação da camada de intensificação, e passa o controle para um bloco de decisão 910. O bloco de decisão 910 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 1. Se for, então o controle é passado para um bloco de função 915. Caso contrário, o controle é passado para um bloco de decisão 940.
O bloco de função 915 obtém os pesos de uma imagem da camada de base, e passa o controle para um bloco de função 920. O bloco de função 920 codifica uma imagem da camada de intensificação junto à imagem de referência ponderada, e passa o controle para um bloco de decisão 925. O bloco de decisão 925 determina se a sintaxe
Petição 870190025687, de 18/03/2019, pág. 44/91
39/51 base_pred_weight_table_flag é ou não igual a 1. Se for, então o controle é passado para um bloco de função 930. Caso contrário, o controle é passado para um bloco de função 935.
O bloco de função 930 grava a imagem da camada de intensificação, e passa o controle para um bloco final 999.
O bloco de função 935 grava os pesos em um cabeçalho de fração correspondente à camada de intensificação, e passa o controle para um bloco de função 930.
O bloco de função 940 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 2. Se for, então o controle é passado para um bloco de função 945. Caso contrário, o controle é passado para um bloco de função 950.
O bloco de função 945 usa os pesos da camada de base para cada macrobloco previsto pela camada intermediária, usa os pesos da camada de intensificação para todos os outros macroblocos, e passa o controle para o bloco de decisão 925.
O bloco de função 950 usa os pesos da camada de intensificação para todos os macroblocos, e passa o controle para o bloco de decisão 925.
Voltando-se à Figura 10, um método para decodificação de uma camada de intensificação que usa previsão ponderada é, genericamente, indicado pela referência numérica 1000. O método inclui um bloco inicial 1005 que inicia a decodificação da camada de intensificação, e passa o controle para um bloco de decisão 1010. O bloco de decisão 1010 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 0. Se for,
Petição 870190025687, de 18/03/2019, pág. 45/91
40/51 então o controle é passado para um bloco de função 1015. Caso contrário, o controle é passado para um bloco de decisão 1020.
O bloco de função 1015 usa parâmetros de ponderação da camada de intensificação para todos os macroblocos, e passa o controle para um bloco final 1099.
O bloco de decisão 1020 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 1. Se for, então o controle é passado para um bloco de função 1025. Caso contrário, o controle é passado para um bloco de função 1030.
O bloco de função 1025 usa parâmetros de ponderação da camada de base para todos os macroblocos, e passa o controle para o bloco final 1099.
O bloco de função 1030 usa parâmetros de ponderação da camada de base para os macroblocos da camada intermediária, usa parâmetros de ponderação da camada de intensificação para todos os outros macroblocos, e passa o controle para o bloco final 1099.
Agora, será fornecida uma descrição em relação à quinta modalidade exemplar. Na quinta modalidade, a abordagem da quarta modalidade é estendida e adiciona-se um novo elemento de sintaxe na camada do macrobloco, base_mode_weight_flag, conforme mostrado na Tabela 4. Nós definimos nesta flag, conforme definido acima em relação á terceira modalidade.
A sintaxe base_mode_weight_flag está apenas presente quando a sintaxe base_pred_weight_table_flag for
Petição 870190025687, de 18/03/2019, pág. 46/91
41/51 igual a 0 ou 2. Semelhante ao terceiro método, o codificador pode usar uma técnica de otimização por distorção de taxa (RDO) para decidir qual configuração de pesos fornece o melhor desempenho para o macrobloco atual previsto pela camada de intensificação. Se o uso dos pesos da camada de base fornecer o melhor desempenho, então, a sintaxe base_mode_weight_flag é configurada para um; por outro lado, a sintaxe base_mode_weight_flag é configurada para zero. O decodificador pode, então, decodificar sintaxe base_mode_weight_flag e determina qual configuração dos parâmetros de ponderação deve ser usada para reconstruir o macrobloco atual.
resultar onde se exemplo,
A seleção dos pesos, de em uma melhor eficiência localizaram alterações flashes, explosões, de de
Alternativamente, onde há uma intensidade como, por exemplo, forma adaptável, pode codificação para casos intensidade como, por assim por diante.
alteração global na desvanecimento, isso é proposto com a finalidade de simplificar o uso da sintaxe base_pred_weight_table_flag igual a 1.
A seleção dos pesos, de forma adaptável precisa que os parâmetros de ponderação sejam armazenados em uma base de macrobloco ao invés de serem armazenados em uma base de fração. Isto porque quando temos mais de duas camadas, as camadas superiores podem selecionar novamente os parâmetros de ponderação em uma base de macrobloco. Portanto, o uso de previsão da camada intermediária para a camada atual requer o conhecimento dos parâmetros de ponderação de sua camada
Petição 870190025687, de 18/03/2019, pág. 47/91
42/51 inferior correspondente.
Voltando-se à Figura 11, um método para codificar uma camada de intensificação que usa previsão ponderada é, genericamente, indicado pela referência numérica 1100. O método inclui um bloco inicial 1105 que inicia a codificação da camada de intensificação, e passa o controle para um bloco de decisão 1110. O bloco de decisão 1110 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 1. Se for, então o controle é passado para um bloco de função 1115. Caso contrário, o controle é passado para um bloco de decisão 1140.
O bloco de função 1115 obtém os pesos de uma imagem da camada de base, e passa o controle para um bloco de função 1120. O bloco de função 1120 codifica uma imagem da camada de intensificação junto a uma imagem de referência ponderada, e passa o controle para um bloco de decisão 1125. O bloco de decisão 1125 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 1. Se for, então o controle é passado para um bloco de função 1130. Caso contrário, o controle é passado para um bloco de função 1135.
O bloco de função 1130 grava a imagem da camada de intensificação, e passa o controle para um bloco final 1199.
O bloco de função 1135 grava os pesos no cabeçalho de fração, e passa o controle para o bloco de função 1130.
O bloco de decisão 1140 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 2. Se for, o controle é passado para um bloco de função 1145, para um
Petição 870190025687, de 18/03/2019, pág. 48/91
43/51 bloco de função 1150 e para um bloco de função 1155.
O bloco de função 1145 usa pesos da camada de base para os macroblocos da camada intermediária (Custo A), e passa o controle para um bloco de função 1160.
O bloco de função 1150 usa os pesos da camada de intensificação para os macroblocos da camada intermediária (Custo B), e passa o controle para o bloco de função 1160.
O bloco de função 1155 usa os pesos da camada de intensificação para macroblocos da camada não-intermediária (Custo C), e passa o controle para o bloco de função 1160.
O bloco de função 1160 determina o valor mínimo entre o Custo A, Custo B e Custo C, e passa o controle para um bloco de decisão 1165. O bloco de decisão 1165 determina se o Custo A tem ou não o valor mínimo. Se tiver, o controle é passado para um bloco de função 1170. Caso contrário, o controle é passado para um bloco de função 1175.
O bloco de função 1170 configura a sintaxe base_mode_weight_flag igual a 1, grava a mesma para o fluxo de bits da camada de intensificação, e passa o controle para um bloco de decisão 1180. O bloco de função 1175 configura a sintaxe base_mode_weight_flag igual a 0, grava a mesma para o fluxo de bits da camada de intensificação, passa controle para o bloco de decisão 1180.
bloco de decisão 1180 determina se todos os macroblocos foram ou não ponderados.
Se forem, então controle é passado para o bloco de decisão 1125. Caso contrário, o controle volta para o bloco de função 1145.
O bloco de função 1185 usa os pesos da camada de
Petição 870190025687, de 18/03/2019, pág. 49/91
44/51 intensificação, e passa o controle para o bloco de decisão
1125 .
Voltando-se à
Figura 12, um método para decodificar uma camada de intensificação que usa previsão ponderada é, genericamente, indicado pela referência numérica 1200.
O método inclui um bloco inicial 1205 que inicia a decodificação da camada de intensificação, e passa o controle para um bloco de decisão
1210. O bloco de decisão
1210 determina se a sintaxe base_pred_weight_table_flag é ou não igual a 0. Se for, então o controle é passado para um bloco de função 1215. Caso contrário, o controle é passado para um bloco de decisão 1230.
O bloco de função 1215 lê a sintaxe base_mode_weight_flag para cada macrobloco em uma fração da camada intermediária, e passa o controle para um bloco de decisão 1220. O bloco de decisão 1220 determina se a sintaxe base_mode_weight_flag é ou não igual a 1, e se o macrobloco atual é ou não um macrobloco da camada intermediária. Se for, então o controle passa para um bloco de função 1225. Caso contrário, o controle é passado para um bloco de função 1235.
O bloco de função 1225 usa os parâmetros de ponderação de camada de base para macroblocos atuais, e passa o controle para um bloco final 1299.
O bloco de função 1235 usa parâmetros de ponderação de camada de intensificação para o macrobloco atual, e passa o controle para o bloco final 1299
O bloco de decisão 1230 determina se a sintaxe
Petição 870190025687, de 18/03/2019, pág. 50/91
45/51 base_pred_weight_table_flag é ou não igual a 1. Sendo assim, então, o controle é passado para um bloco de função 1240.
Caso contrário, o controle é passado para um bloco de função 1215.
| O bloco de | função | 1240 | usa os | parâmetros de |
| ponderação de camada | de base | para | todos os | macroblocos, e |
| passa o controle para | o bloco | final | 1299. |
Agora será dada uma descrição de algumas das vantagens/características presentes da presente invenção, sendo que algumas destas foram mencionadas acima. Por exemplo, uma vantagem/característica é um codificador de vídeo escalonável que inclui um codificador para codificar um bloco em uma camada de intensificação de uma imagem ao aplicar um parâmetro de ponderação a uma imagem de referência de camada de intensificação. O parâmetro de ponderação usado para codificar o bloco na camada de intensificação é selecionado de forma adaptável entre um parâmetro de ponderação aplicado a uma imagem de referencia de camada inferior para codificar um bloco na camada inferior da imagem e um parâmetro de ponderação diferente aplicável na camada de intensificação. O bloco na camada de intensificação corresponde ao bloco na camada inferior. A imagem de referência de camada de intensificação corresponde à imagem de referência de camada inferior.
Outra vantagem/característica é o codificador de vídeo escalonável como descrito acima, onde o codificador adiciona um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente. O
Petição 870190025687, de 18/03/2019, pág. 51/91
46/51 elemento de sintaxe base_pred_weight_table_flag reformulado é capaz de adotar um dos dois valores diferentes. Um primeiro dos dois valores diferentes indica que os blocos previstos de camada intermediária na camada de intensificação são codificados usando parâmetros de ponderação que também são respectivamente usados na camada inferior para codificar os blocos correspondentes aos blocos previstos de camada intermediária, e que os blocos previstos de camada não intermediária na camada de intensificação são codificados usando parâmetros de ponderação diferentes daqueles usados respectivamente na camada inferior para codificar os blocos correspondentes aos blocos previstos de camada não intermediária.
Ademais, outra vantagem/característica é o codificador de vídeo escalonável como descrito acima, onde o codificador adiciona um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente. O elemento de sintaxe base_pred_weight_table_flag reformulado é capaz de adotar um dos dois valores diferentes. Um primeiro dos dois valores diferentes indica que os blocos na camada de intensificação, independente de ter um estado como camada intermediária prevista ou camada não intermediária prevista, são codificados usando parâmetros de ponderação diferentes daqueles usados para codificar respectivamente os blocos correspondentes na camada inferior.
Ademais, outra vantagem/característica é o codificador de vídeo escalonável como descrito acima, onde o
Petição 870190025687, de 18/03/2019, pág. 52/91
47/51 codificador adiciona um elemento de sintaxe de nível de macrobloco base_mode_weight_flag em um elemento de cabeçalho correspondente quando um elemento de sintaxe base_pred_weight_table_flag é igual a um primeiro valor. O elemento de sintaxe de nível de macrobloco base_mode_weight_flag serve para indicar uma seleção entre um primeiro conjunto e um segundo conjunto de parâmetros de ponderação com relação aos macroblocos previstos de camada intermediária na camada de intensificação. O primeiro conjunto inclui parâmetros de ponderação também usados respectivamente para codificar os macroblocos correspondentes na camada inferior. O segundo conjunto inclui parâmetros de peso diferentes daqueles respectivamente usados respectivamente para codificar os macroblocos correspondentes na camada inferior.
Também, outra vantagem/característica é o codificador de vídeo escalonável como descrito acima, onde o codificador adiciona um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente. O elemento de sintaxe base_pred_weight_table_flag reformulado é capaz de adotar um dos três valores diferentes.
Adicionalmente, outra vantagem/característica é o codificador de vídeo escalonável que possui o codificador que adiciona o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de adotar um dos três valores diferentes, no elemento de cabeçalho correspondente como descrito acima, onde o codificador
Petição 870190025687, de 18/03/2019, pág. 53/91
48/51 ajusta o elemento de sintaxe base_pred_weight_table_flag reformulado igual a um dos três valores diferentes particulares para indicar que os parâmetros de ponderação diferentes serão usados para codificar todos os macroblocos na camada de intensificação em vez daqueles respectivamente usados para codificar macroblocos correspondentes na camada inferior.
Ademais, outra vantagem/característica é o codificador de vídeo escalonável que possui o codificador que adiciona o elemento de sintaxe base_pred_weight_table_flag reformulado, capaz de adotar um dos três valores diferentes, no elemento de cabeçalho correspondente como descrito acima, onde o codificador ajusta o elemento de sintaxe base_pred_weight_table_flag reformulado igual a um dos três valores particulares diferentes para indicar, em todos os macroblocos na camada de intensificação que um parâmetro de ponderação aplicado a uma imagem de referência particular na camada inferior para codificar um dado macrobloco na camada inferior será sempre aplicado à imagem de referência particular para codificar uma que corresponde a um dos macroblocos na camada de intensificação.
Ademais, outra vantagem/característica é o codificador de vídeo escalonável que possui o codificador que adiciona o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de adotar um dos três valores diferentes no elemento de cabeçalho como descrito acima, onde o codificador ajusta o elemento de
Petição 870190025687, de 18/03/2019, pág. 54/91
49/51 sintaxe base_pred_weight_table_flag reformulado igual a u m dos três valores diferentes particulares para indicar que os blocos previstos de camada intermediária na camada de intensificação são codificados usando os parâmetros de ponderação que inferior para também são respectivamente usados na camada codificar os blocos que correspondem aos blocos previstos de camada previstos de camada intensificação são ponderação diferentes camada inferior para não intermediária intermediária codificados usando que os blocos na camada parâmetros daqueles respectivamente usados de de na codificar os blocos que correspondem aos blocos previstos de camada não intermediária.
Também, outra vantagem/característica codificador de vídeo escalonável que possui o codificador que adiciona elemento de sintaxe base_pred_weight_table_flag reformulado capaz de dos três valores diferentes, no elemento correspondente como adiciona um elemento base_mode_weight_flag correspondente de adotar um cabeçalho descrito acima, onde de em quando codificador sintaxe de nível base_pred_weight_table_flag de macrobloco um elemento elemento reformulado for dois valores pré-especificados entre os de de igual três cabeçalho sintaxe um dos valores diferentes. O elemento de sintaxe de nível base_mode_weight_flag serve para indicar uma um primeiro conjunto e um segundo conjunto de de macrobloco seleção entre parâmetros de ponderação com relação aos macroblocos previstos de camada intermediária de codificação na camada de intensificação da
Petição 870190025687, de 18/03/2019, pág. 55/91
50/51 imagem. O primeiro conjunto inclui parâmetros de ponderação também usados respectivamente para codificar macroblocos correspondentes na camada inferior. O segundo conjunto inclui parâmetros de peso diferentes daqueles
| respectivamente | usados | para codificar | os macroblocos |
| correspondentes | na camada | inferior. | |
| Estas | e outras | características | e vantagens da |
presente invenção podem ser facilmente verificadas por um versado na técnica baseado nos ensinamentos no presente documento. Deve ser entendido que os ensinamentos da presente invenção podem ser implementados em diversas formas de hardware, software, firmware, processadores de propósito especial, ou combinações destes.
Mais preferivelmente, os ensinamentos da presente invenção são implementados como uma combinação de hardware e software. Ademais, o software pode ser implementado como um programa de aplicação incorporado de forma tangível sobre uma unidade de armazenamento de programa. O programa de aplicação pode ser carregado e executado por uma máquina que compreende qualquer arquitetura adequada. De preferência, a máquina é implementada sobre uma plataforma de computador que possui hardware, tal como, uma ou mais unidades central de processamento (CPU), uma memória de acesso aleatório (RAM), e interfaces de entrada/saída (I/O). A plataforma de computador também pode incluir um sistema operacional e código de microinstrução. Os diversos processos e funções descritos aqui podem ser tanto parte do código de microinstrução como parte do programa de aplicação, ou
Petição 870190025687, de 18/03/2019, pág. 56/91
51/51 qualquer combinação destes, que pode ser executado por uma CPU. Ademais, diversas outras unidades periféricas podem ser conectadas à plataforma de computador, tal como, uma unidade de armazenamento de dados adicional e uma unidade de impressão.
Deve ser, adicionalmente, entendido que devido ao fato de alguns componentes de sistema e métodos mostrados nos desenhos em anexo serem preferivelmente implementados em software, as conexões reais entre os componentes de sistema ou os blocos de função de processo podem se diferir dependendo da maneira na qual a presente invenção está programada. Dados aqui os ensinamentos, um versado na técnica será capaz de considerar estas e implementações ou configurações similares da presente invenção. Embora as modalidades ilustrativas sejam descritas aqui com referência aos desenhos em anexo, deve ser entendido que a presente invenção não se limita às modalidades precisas, e que diversas alterações e modificações podem ser efetuadas no presente documento por um versado na técnica sem que se abandone o escopo ou espírito da presente invenção. Todas tais alterações e modificações pretendem ser incluídas dentro do escopo da presente invenção conforme estabelecido nas reivindicações em anexo.
Petição 870190025687, de 18/03/2019, pág. 57/91
Claims (14)
- REIVINDICAÇÕES1. Aparelho, CARACTERIZADO pelo fato de compreender:um codificador (100) para codificar um bloco em uma camada de intensificação de uma imagem aplicando-se um parâmetro de ponderação em uma imagem de referência de camada de intensificação, em que o parâmetro de ponderação usado para codificar o bloco na camada de intensificação é selecionado, de forma adaptativa, entre um parâmetro de ponderação aplicado em uma imagem de referência de camada inferior para codificar um bloco na camada inferior da imagem e um parâmetro de ponderação diferente aplicável na camada de intensificação, o bloco na camada de intensificação correspondendo ao bloco na camada inferior e a imagem de referência de camada de intensificação correspondendo à imagem de referência de camada inferior.
- 2. Aparelho, de acordo com a reivindicação 1, CARACTERIZADO pelo fato do dito codificador (100) adicionar um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente, o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de adotar um dos dois valores diferentes, um primeiro dos dois valores diferentes para indicar que os blocos previstos de camada intermediária na camada de intensificação são codificados usando os parâmetros de ponderação que também são respectivamente usados na camada inferior para codificar blocos que correspondem aos blocosPetição 870190025687, de 18/03/2019, pág. 58/912/20 previstos de camada intermediária, e que os blocos previstos de camada não intermediária na camada de intensificação são codificados usando parâmetros de ponderação diferentes daqueles usados respectivamente na camada inferior para codificar os blocos que correspondem aos blocos previstos de camada não intermediária.
- 3. Aparelho, de acordo com a reivindicação 1, CARACTERIZADO pelo fato do dito codificador (100) adicionar um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente, o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de adotar um dos dois valores diferentes, um primeiro dos dois valores diferentes para indicar que blocos na camada de intensificação, independentemente de ter um estado como camada intermediária prevista ou camada não intermediária prevista, são codificados usando parâmetros de ponderação diferentes daqueles usados para codificar respectivamente blocos correspondentes na camada inferior, um segundo dos dois valores diferentes para indicar que os blocos na camada de intensificação, independentemente de ter o estado de camada intermediária prevista ou camada não intermediária prevista, são codificados usando os mesmos parâmetros de ponderação que os usados para codificar respectivamente os blocos correspondentes na camada inferior.
- 4. Aparelho, de acordo com a reivindicação 1 , CARACTERIZADO pelo fato do dito codificador (100) adicionar um elemento de sintaxe de nível de macroblocoPetição 870190025687, de 18/03/2019, pág. 59/913/20 base_mode_weight_flag em um elemento de cabeçalho correspondente quando um elemento de sintaxe base_pred_weight_table_flag é igual a um primeiro valor, o elemento de sintaxe de nível de macrobloco base_mode_weight_flag para indicar uma seleção entre um primeiro conjunto e um segundo conjunto de parâmetros de ponderação com relação aos macroblocos previstos de camada intermediária na camada de intensificação, o primeiro conjunto incluindo parâmetros de ponderação também usados respectivamente para codificar macroblocos correspondentes na camada inferior, o segundo conjunto incluindo parâmetros de peso diferentes daqueles respectivamente usados para codificar os macroblocos correspondentes na camada inferior.
- 5. Aparelho, de acordo com a reivindicação 1, CARACTERIZADO pelo fato do dito codificador (100) adicionar um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente, o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de adotar um de três valores diferentes.
- 6. Aparelho, de acordo com a reivindicação 5, CARACTERIZADO pelo fato do dito codificador (100) ajustar o elemento de sintaxe base_pred_weight_table_flag reformulado igual a um valor particular dos três valores diferentes para indicar que parâmetros de ponderação diferentes serão usados para codificar todos os macroblocos na camada de intensificação em vez daqueles respectivamente usados para codificar macroblocos correspondentes na camada inferior.Petição 870190025687, de 18/03/2019, pág. 60/914/20
- 7. Aparelho, de acordo com a reivindicação 5, CARACTERIZADO pelo fato do dito codificador (100) ajustar o elemento de sintaxe base_pred_weight_table_flag reformulado igual a um valor particular dos três valores diferentes para indicar, para todos os macroblocos na camada de intensificação, que um parâmetro de ponderação aplicado em uma imagem de referência particular na camada inferior para codificar um dado macrobloco na camada inferior será sempre aplicado à imagem de referência particular para codificar uma que corresponde a um dos macroblocos na camada de intensificação.
- 8. Aparelho, de acordo com a reivindicação 5, CARACTERIZADO pelo fato do dito codificador (100) ajustar o elemento de sintaxe base_pred_weight_table_flag reformulado igual a um valor particular dos três valores diferentes para indicar que os blocos previstos de camada intermediária na camada de intensificação são codificados usando os parâmetros de ponderação que também são respectivamente usados na camada inferior para codificar os blocos que correspondem aos blocos previstos de camada intermediária, e que os blocos previstos de camada não intermediária na camada de intensificação são codificados usando parâmetros de ponderação diferentes daqueles respectivamente usados na camada inferior para codificar os blocos que correspondem aos blocos previstos de camada não intermediária.
- 9. Aparelho, de acordo com a reivindicação 5, CARACTERIZADO pelo fato do dito codificador (100) adicionar um elemento de sintaxe de nível de macroblocoPetição 870190025687, de 18/03/2019, pág. 61/915/20 base_mode_weight_flag em um elemento de cabeçalho correspondente quando o elemento de sintaxe base_pred_weight_table_flag reformulado for igual a um dos dois valores pré-especificados dentre os três valores diferentes, o elemento de sintaxe de nível de macrobloco base_mode_weight_flag para indicar uma seleção entre um primeiro conjunto e um segundo conjunto de parâmetros de ponderação com relação aos macroblocos previstos de camada intermediária de codificação na camada de intensificação da imagem, o primeiro conjunto incluindo parâmetros de ponderação também usados respectivamente para codificar macroblocos correspondentes na camada inferior, o segundo conjunto incluindo parâmetros de peso diferentes daqueles respectivamente usados para codificar os macroblocos correspondentes na camada inferior.
10. Método para codificar um vídeo escalonável, em um codificador de víde o, CARACTERIZADO pelo fato de compreender: codificar (300, 500, 700, 900) um bloco em uma camada de intensificação de uma imagem aplicando-se um parâmetro de ponderação em uma imagem de referência de camada de intensificação, em que o parâmetro de ponderação usado para codificar o bloco na camada de intensificação é selecionado, de forma adaptativa, entre um parâmetro de ponderação aplicado a uma imagem de referência de camada inferior para codificar um bloco na camada inferior da imagem e um parâmetro de ponderação diferente aplicável à camada dePetição 870190025687, de 18/03/2019, pág. 62/916/20 intensificação, o bloco na camada de intensificação correspondendo ao bloco na camada inferior, e a imagem de referência de camada de intensificação correspondendo à imagem de referência de camada inferior.11. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato da dita etapa de codificação (300) compreender adicionar um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente, o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de adotar um dos dois valores diferentes, um primeiro dos dois valores diferentes para indicar que os blocos previstos de camada intermediária na camada de intensificação são codificados usando parâmetros de ponderação que também são respectivamente usados na camada inferior para codificar blocos que correspondem aos blocos previstos de camada intermediária, e que os blocos previstos de camada não intermediária na camada de intensificação são codificados usando parâmetros de ponderação diferentes daqueles respectivamente usados na camada inferior para codificar os blocos que correspondem aos blocos previstos de camada não intermediária.12. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato da dita etapa de codificação (500) compreender adicionar um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente, o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de adotar umPetição 870190025687, de 18/03/2019, pág. 63/917/20 dos dois valores diferentes, um primeiro dos dois valores diferentes para indicar que blocos na camada de intensificação, independentemente de terem um estado de camada intermediária previsto ou camada não intermediária previsto, são codificados usando parâmetros de ponderação diferentes daqueles usados para codificar respectivamente os blocos correspondentes na camada inferior, um segundo dos dois valores diferentes para indicar que os blocos na camada de intensificação, independentemente de terem um estado de camada intermediária previsto ou camada não intermediária previsto, são codificados usando mesmos parâmetros de ponderação que os usados para codificar respectivamente os blocos correspondentes na camada inferior.13. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato da dita etapa de codificação (700) compreender a adição de um elemento de sintaxe de macrobloco base_mode_weight_flag em um elemento de cabeçalho correspondente, quando um elemento de sintaxe base_pred_weight_table_flag for igual a um primeiro valor, o elemento de sintaxe a nível de macrobloco base_mode_weight_flag que serve para indicar uma seleção entre uma primeira configuração e uma segunda configuração dos parâmetros de ponderação em relação à codificação dos macroblocos previstos pela camada intermediária na camada de intensificação, a primeira configuração incluindo parâmetros de ponderação também usados respectivamente para codificar macroblocos correspondentes na camada inferior, a segunda configuração incluindo parâmetros de peso diferentes dosPetição 870190025687, de 18/03/2019, pág. 64/918/20 usados respectivamente para codificar os macroblocos correspondentes na camada inferior.14. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato da dita etapa de compreender adicionar um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente, elemento de sintaxe base_pred_weight_table_flag reformulado capaz de assumir um dentre três valores diferentes.15.Método, de acordo com a reivindicação 14,CARACTERIZADO pelo fato da dita etapa de codificação (900) compreender configurar elemento de sintaxe base_pred_weight_table_flag reformulado igual a um valor particular dentre os três valores diferentes, com a finalidade de indicar que parâmetros de ponderação diferentes dos usados respectivamente para codificar os macroblocos correspondentes na camada inferior serão usados para codificar todos os macroblocos na camada de intensificação.16.Método, de acordo com a reivindicação 14,CARACTERIZADO compreender pelo fato da dita etapa de a configuração do elemento de sintaxe base_pred_weight_table_flag reformulado igual a um valor particular dentre os três valores diferentes, com a finalidade de indicar, para todos os macroblocos na camada de intensificação, que um parâmetro de ponderação aplicado a uma imagem de referência particular na camada inferior para codificar um dado macrobloco na camada inferior sempre seráPetição 870190025687, de 18/03/2019, pág. 65/919/20 aplicado à imagem de referência particular para codificar um macrobloco correspondente aos macroblocos na camada de intensificação.17.Método, de acordo com a reivindicação 14,CARACTERIZADO pelo fato da dita etapa de codificação (900) compreender a configuração do elemento base_pred_weight_table_flag reformulado igual particular de na de indicar camada de sintaxe a um valor dentre três valores diferentes, com que os blocos previstos pela camada a finalidade intermediária de intensificação são codificados através parâmetros respectivamente correspondentes intermediária, do uso de ponderação que também são na camada inferior para codificar aos blocos previstos pela intermediária na usados blocos camada que blocos previstos pela camada nãocamada de intensificação são codificados através do uso de parâmetros de ponderação respectivamente usados blocos correspondentes intermediária.CARACTERIZADO compreender a na aosMétodo, de pelo fato da diferentes dos camada inferior para codificar blocos previstos pela camada nãoacordo com a dita etapa de adição de um elemento de reivindicação 14, sintaxe a nível de macrobloco base_mode_weight_flag em um elemento de correspondente, quando elemento de base_pred_weight_table_flag reformulado for igual cabeçalho sintaxe a um dos valores pré-especificados dentre três valores diferentes, o elemento de sintaxe nível de macrobloco base_mode_weight_flag para indicar uma seleção entre umaPetição 870190025687, de 18/03/2019, pág. 66/91 - 10/20 primeira configuração e uma segunda configuração de parâmetros de ponderação em relação à codificação dos macroblocos previstos pela camada intermediária na camada de intensificação da imagem, a primeira configuração incluindo parâmetros de ponderação também usados respectivamente para codificar macroblocos correspondentes na camada inferior, a segunda configuração incluindo parâmetros de peso diferentes dos usados respectivamente para codificar os macroblocos correspondentes na camada inferior.19. Aparelho, CARACTERIZADO pelo fato de compreender:um decodificador (200) para decodificar um bloco em uma camada de intensificação de um parâmetro de ponderação a uma uma imagem aplicando-se imagem de referência da camada de intensificação, em que o parâmetro de ponderação usado para decodificar o bloco na camada de intensificação é determinado, de forma adaptável, dentre um parâmetro de ponderação aplicado uma imagem de referência da camada inferior que serve para decodificar um bloco na camada inferior da imagem e um parâmetro de ponderação diferente aplicável na camada de intensificação, bloco na camada de intensificação correspondente ao bloco na camada inferior, e a imagem de referência da camada de intensificação correspondente à imagem de referência da camada inferior.20. Aparelho,CARACTERIZADO pelo fato de acordo com a reivindicação 19, de o dito decodificador (200) ler um elemento de sintaxe base_pred_weight_table_flag reformuladoPetição 870190025687, de 18/03/2019, pág. 67/91
- 11/20 em um elemento de cabeçalho correspondente, o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de assumir um dentre dois valores diferentes, um primeiro valor dos dois valores diferentes para indicar que os blocos previstos pela camada intermediária na camada de intensificação são decodificados através do uso de parâmetros de ponderação que também são respectivamente usados na camada inferior para decodificar os blocos correspondentes aos blocos previstos pela camada intermediária, e que os blocos previstos pela camada nãointermediária na camada de intensificação são decodificados através do uso de parâmetros de ponderação diferentes dos respectivamente usados na camada inferior para decodificar os blocos correspondentes aos blocos previstos pela camada não-intermediária.21. Aparelho, de acordo com a reivindicação 19, CARACTERIZADO pelo fato de o dito decodificador (200) ler um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente, o elemento de sintaxe base_pred_weight_table_flag reformulado capaz de assumir um dentre os dois valores diferentes, um primeiro valor dentre os dois valores diferentes para indicar que os blocos na camada de intensificação, independentemente de terem um estado como previsto pela camada intermediária ou previsto pela camada não-intermediária, são decodificados através do uso de parâmetros de ponderação diferentes dos usados para decodificar respectivamente os blocos correspondentes na camada inferior, um segundo valor dentrePetição 870190025687, de 18/03/2019, pág. 68/91
- 12/20 os dois valores diferentes para indicar que os blocos na camada de intensificação, independentemente de terem um estado de camada intermediária previsto ou de camada nãointermediária previsto, são decodificados usando os mesmos parâmetros de ponderação que os usados para decodificar respectivamente os blocos correspondentes na camada inferior.22. Aparelho, deCARACTERIZADO pelo fato do elemento de sintaxe base_mode_weight_flag em correspondente, quando base_pred_weight_table_flag elemento de sintaxe base_mode_weight_flag para primeira configuração e acordo com a reivindicação 19,
dito decodificador (200) ler um a nível de macrobloco um elemento de cabeçalho um elemento de sintaxe for igual a um primeiro valor, o a nível de macrobloco uso na determinação entre uma uma segunda configuração de de em relação à decodificação parâmetros de ponderação macroblocos previstos pela camada intermediária na camada de intensificação, a primeira configuração incluindo parâmetros de ponderação também respectivamente usados para decodificar macroblocos correspondentes na camada inferior, a segunda configuração incluindo parâmetros de ponderação diferentes dos respectivamente usados para decodificar os macroblocos correspondentes na camada inferior.23. Aparelho, de acordo com a reivindicação 19,CARACTERIZADO pelo fato do dito decodificador (200) ler um elemento de sintaxe base_pred_weight_table_flag reformulado em um elemento de cabeçalho correspondente, o elemento dePetição 870190025687, de 18/03/2019, pág. 69/91 - 13/20 sintaxe base_pred_weight_table_flag reformulado capaz de assumir um de três valores diferentes.24. Aparelho, de acordo com a reivindicação 23, CARACTERIZADO pelo fato do dito decodificador (200) ler o elemento de sintaxe base_pred_weight_table_flag reformulado configurado em um valor particular dentre os três valores diferentes para indicar que parâmetros de ponderação diferentes serão usados para decodificar todos os macroblocos na camada de intensificação diferentes dos respectivamente usados para decodificar macroblocos correspondentes na camada inferior.25. Aparelho, de acordo com a reivindicação 23, CARACTERIZADO pelo fato do dito decodificador (200) ler o conjunto de elementos de sintaxe base_pred_weight_table_flag reformulado igual a um valor particular dentre os três valores diferentes para indicar, para todos os macroblocos na camada de intensificação, que um parâmetro de ponderação aplicado a uma imagem de referência particular na camada inferior para decodificar um dado macrobloco na camada inferior será sempre aplicado à imagem de referência particular para decodificar um dos macroblocos correspondentes na camada inferior.26. Aparelho, de acordo com a reivindicação 23, CARACTERIZADO pelo fato do dito decodificador (200) ler o conjunto de elementos de sintaxe base_pred_weight_table_flag reformulado igual a um valor particular dentre os três valores para indicar que os blocos previstos de camada intermediária na camada de intensificação são decodificadosPetição 870190025687, de 18/03/2019, pág. 70/91
- 14/20 usando parâmetros de ponderação que também sao, respectivamente, usados na camada inferior para decodificar blocos correspondentes aos blocos previstos de camada intermediária, e que blocos previstos de camada não intermediária na camada de intensificação são decodificados usando parâmetros de ponderação diferentes daqueles usados respectivamente na camada inferior para decodificar
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US72568705P | 2005-10-12 | 2005-10-12 | |
| US60/725.687 | 2005-10-12 | ||
| PCT/US2006/039556 WO2007047271A2 (en) | 2005-10-12 | 2006-10-10 | Methods and apparatus for weighted prediction in scalable video encoding and decoding |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0616619A2 BRPI0616619A2 (pt) | 2011-06-28 |
| BRPI0616619B1 true BRPI0616619B1 (pt) | 2019-09-10 |
Family
ID=37908229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0616619A BRPI0616619B1 (pt) | 2005-10-12 | 2006-10-10 | método e aparelho para prognóstico ponderal na codificação e decodificação de vídeo com abordagem de escala |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8311121B2 (pt) |
| EP (1) | EP1949702A2 (pt) |
| JP (1) | JP5275806B2 (pt) |
| KR (1) | KR101366918B1 (pt) |
| CN (1) | CN101288311B (pt) |
| BR (1) | BRPI0616619B1 (pt) |
| WO (1) | WO2007047271A2 (pt) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2440004A (en) * | 2006-07-10 | 2008-01-16 | Mitsubishi Electric Inf Tech | Fine granularity scalability encoding using a prediction signal formed using a weighted combination of the base layer and difference data |
| JP4747975B2 (ja) * | 2006-07-14 | 2011-08-17 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
| US20080013623A1 (en) * | 2006-07-17 | 2008-01-17 | Nokia Corporation | Scalable video coding and decoding |
| WO2009000110A1 (en) * | 2007-06-27 | 2008-12-31 | Thomson Licensing | Method and apparatus for encoding and/or decoding video data using enhancement layer residual prediction for bit depth scalability |
| ES2630211T3 (es) * | 2007-07-02 | 2017-08-18 | Nippon Telegraph And Telephone Corporation | Método de codificación y descodificación escalable de imagen en movimiento usando predicción ponderada, sus dispositivos, sus programas, y medios de grabación que almacenan los programas |
| EP2051527A1 (en) * | 2007-10-15 | 2009-04-22 | Thomson Licensing | Enhancement layer residual prediction for bit depth scalability using hierarchical LUTs |
| JP5261774B2 (ja) | 2007-10-25 | 2013-08-14 | 日本電信電話株式会社 | 動画像スケーラブル符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記録媒体 |
| EP2059050A1 (en) * | 2007-10-31 | 2009-05-13 | Thomson Licensing | Method for coding a subsequent sequence of pictures by help of a preceding sequence of pictures |
| US8831086B2 (en) | 2008-04-10 | 2014-09-09 | Qualcomm Incorporated | Prediction techniques for interpolation in video coding |
| US9967590B2 (en) | 2008-04-10 | 2018-05-08 | Qualcomm Incorporated | Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter |
| JP5156704B2 (ja) * | 2008-07-29 | 2013-03-06 | パナソニック株式会社 | 画像符号化装置、画像符号化方法、集積回路及びカメラ |
| CN102655950B (zh) * | 2009-02-18 | 2015-05-13 | 巴斯夫欧洲公司 | 制备吸水聚合物颗粒的方法 |
| US8711930B2 (en) | 2009-07-09 | 2014-04-29 | Qualcomm Incorporated | Non-zero rounding and prediction mode selection techniques in video encoding |
| US9161057B2 (en) * | 2009-07-09 | 2015-10-13 | Qualcomm Incorporated | Non-zero rounding and prediction mode selection techniques in video encoding |
| US8995526B2 (en) | 2009-07-09 | 2015-03-31 | Qualcomm Incorporated | Different weights for uni-directional prediction and bi-directional prediction in video coding |
| EP2302933A1 (en) * | 2009-09-17 | 2011-03-30 | Mitsubishi Electric R&D Centre Europe B.V. | Weighted motion compensation of video |
| FI3703369T3 (fi) | 2010-04-13 | 2024-10-29 | Ge Video Compression Llc | Näytealueen liitäntä |
| CN102223527B (zh) * | 2010-04-13 | 2013-04-17 | 华为技术有限公司 | 频带加权量化编解码方法和装置 |
| WO2011127966A1 (en) | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Inter-plane prediction |
| KR101792967B1 (ko) | 2010-04-13 | 2017-11-02 | 지이 비디오 컴프레션, 엘엘씨 | 샘플 배열 멀티트리 세부분할에서 계승 |
| CN106231325B (zh) | 2010-04-13 | 2020-02-04 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
| US20120029048A1 (en) * | 2010-07-30 | 2012-02-02 | Via Pharmaceuticals, Inc. | Phenylalkyl n-hydroxyureas for treating leukotriene related pathologies |
| WO2012051735A1 (en) * | 2010-10-18 | 2012-04-26 | Technicolor (China) Technology Co., Ltd. | Method and device for automatic prediction of a value associated with a data tuple |
| US9521424B1 (en) | 2010-10-29 | 2016-12-13 | Qualcomm Technologies, Inc. | Method, apparatus, and manufacture for local weighted prediction coefficients estimation for video encoding |
| WO2013185336A1 (en) * | 2012-06-15 | 2013-12-19 | Intel Corporation | Adaptive filtering for scalable video coding |
| CN109068141A (zh) | 2012-06-29 | 2018-12-21 | 威勒斯媒体国际有限公司 | 编码设备和编码方法 |
| US9854259B2 (en) * | 2012-07-09 | 2017-12-26 | Qualcomm Incorporated | Smoothing of difference reference picture |
| US9906786B2 (en) | 2012-09-07 | 2018-02-27 | Qualcomm Incorporated | Weighted prediction mode for scalable video coding |
| WO2014050732A1 (ja) * | 2012-09-28 | 2014-04-03 | ソニー株式会社 | 符号化装置および符号化方法、並びに、復号装置および復号方法 |
| RU2666305C1 (ru) | 2012-09-28 | 2018-09-06 | Сони Корпорейшн | Устройство и способ кодирования, устройство и способ декодирования |
| JP6135250B2 (ja) * | 2013-03-29 | 2017-05-31 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム |
| JP6135251B2 (ja) * | 2013-03-29 | 2017-05-31 | 株式会社Jvcケンウッド | 画像復号装置、画像復号方法及び画像復号プログラム |
| HUE038732T2 (hu) | 2013-04-08 | 2018-11-28 | Ge Video Compression Llc | Komponensközi elõrejelzés |
| US9648326B2 (en) * | 2013-07-02 | 2017-05-09 | Qualcomm Incorporated | Optimizations on inter-layer prediction signalling for multi-layer video coding |
| US9681145B2 (en) | 2013-10-14 | 2017-06-13 | Qualcomm Incorporated | Systems and methods for inter-layer RPS derivation based on sub-layer reference prediction dependency |
| KR20150075040A (ko) | 2013-12-24 | 2015-07-02 | 주식회사 케이티 | 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치 |
| KR20150110294A (ko) | 2014-03-24 | 2015-10-02 | 주식회사 케이티 | 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치 |
| CN114363636B (zh) * | 2016-07-05 | 2024-06-04 | 株式会社Kt | 用于处理视频信号的方法和装置 |
| CN115428444B (zh) | 2020-04-01 | 2025-01-17 | 抖音视界有限公司 | 对自适应参数集语法元素的约束 |
| JP7506175B2 (ja) | 2020-04-09 | 2024-06-25 | 北京字節跳動網絡技術有限公司 | 映像コーディングにおけるデブロッキング信号通知 |
| WO2021204251A1 (en) | 2020-04-10 | 2021-10-14 | Beijing Bytedance Network Technology Co., Ltd. | Use of header syntax elements and adaptation parameter set |
| CN115868159A (zh) | 2020-04-17 | 2023-03-28 | 抖音视界有限公司 | 自适应参数集单元的存在 |
| CN115552802B (zh) | 2020-04-26 | 2025-05-16 | 字节跳动有限公司 | 加权预测信息的条件信令通知 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100392379B1 (ko) * | 1997-07-09 | 2003-11-28 | 주식회사 팬택앤큐리텔 | 아래층과현재층의모드를이용한신축형이진영상부호화/복호화방법및장치 |
| CN1248509C (zh) * | 2001-02-13 | 2006-03-29 | 皇家菲利浦电子有限公司 | 运动信息编码和解码方法 |
| US8406301B2 (en) * | 2002-07-15 | 2013-03-26 | Thomson Licensing | Adaptive weighting of reference pictures in video encoding |
| CA2600410C (en) * | 2005-03-25 | 2014-01-28 | Samsung Electronics Co., Ltd. | Video coding and decoding method using weighted prediction and apparatus for the same |
| KR100714696B1 (ko) * | 2005-06-24 | 2007-05-04 | 삼성전자주식회사 | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 |
-
2006
- 2006-10-10 WO PCT/US2006/039556 patent/WO2007047271A2/en not_active Ceased
- 2006-10-10 BR BRPI0616619A patent/BRPI0616619B1/pt active IP Right Grant
- 2006-10-10 EP EP06825695A patent/EP1949702A2/en not_active Ceased
- 2006-10-10 KR KR1020087008921A patent/KR101366918B1/ko active Active
- 2006-10-10 US US11/992,452 patent/US8311121B2/en active Active
- 2006-10-10 JP JP2008535624A patent/JP5275806B2/ja active Active
- 2006-10-10 CN CN2006800382885A patent/CN101288311B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009512347A (ja) | 2009-03-19 |
| CN101288311B (zh) | 2011-05-11 |
| CN101288311A (zh) | 2008-10-15 |
| WO2007047271A2 (en) | 2007-04-26 |
| KR20080058391A (ko) | 2008-06-25 |
| BRPI0616619A2 (pt) | 2011-06-28 |
| KR101366918B1 (ko) | 2014-02-24 |
| US20100158110A1 (en) | 2010-06-24 |
| US8311121B2 (en) | 2012-11-13 |
| WO2007047271A3 (en) | 2007-08-09 |
| EP1949702A2 (en) | 2008-07-30 |
| JP5275806B2 (ja) | 2013-08-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2406253C2 (ru) | Способ и устройство для взвешенного предсказания для масштабируемого кодирования видеосигнала | |
| US8311121B2 (en) | Methods and apparatus for weighted prediction in scalable video encoding and decoding | |
| KR101839629B1 (ko) | 비디오 인코딩 및 디코딩을 위한 적응적 템플릿 매칭 예측 방법 및 장치 | |
| RU2411689C2 (ru) | Способ и устройство для адаптивного к макроблоку межслойного предсказания внутренней текстуры | |
| RU2571572C2 (ru) | Кодирование и декодирование видео | |
| KR101782661B1 (ko) | 비디오 인코딩 및 디코딩을 위한 템플릿 매칭 예측의 복잡도를 감소시키는 방법 및 장치 | |
| JP5452584B2 (ja) | ビデオ符号化及び復号化におけるテンプレート・マッチング予測(tmp)のための方法及び装置 | |
| JP5666293B2 (ja) | ビデオ・エンコーディング、およびデコーディングのためのスキップ/ダイレクトモードのコンテクストに依存するマージのための方法と装置 | |
| JP6538488B2 (ja) | 映像符号化のためのdcイントラ予測モードのための方法 | |
| CN102893606B (zh) | 帧内编码将像素指定给各组的块的方法和装置 | |
| KR20100080792A (ko) | 기하학적으로 분할된 쌍방 예측 모드 분할들을 비디오 인코딩 및 디코딩하기 위한 방법 및 장치 | |
| BR112013022774B1 (pt) | Método e aparelho de decodificação de um fluxo de bits e meio legível por computador | |
| BRPI0616407B1 (pt) | Codificação/decodificação de vídeo escalonável h.264 com região de interesse |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B15K | Others concerning applications: alteration of classification |
Ipc: H04N 19/615 (2014.01), H04N 19/105 (2014.01), H04N |
|
| B06T | Formal requirements before examination [chapter 6.20 patent gazette] | ||
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B25G | Requested change of headquarter approved |
Owner name: THOMSON LICENSING (FR) |
|
| B25A | Requested transfer of rights approved |
Owner name: THOMSON LICENSING DTV (FR) |
|
| B25A | Requested transfer of rights approved |
Owner name: INTERDIGITAL MADISON PATENT HOLDINGS (FR) |
|
| 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: 10 (DEZ) ANOS CONTADOS A PARTIR DE 10/09/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 10/09/2019, OBSERVADAS AS CONDICOES LEGAIS |