BRPI0608004B1 - esquema de codificação permitindo escalabilidade de precisão - Google Patents
esquema de codificação permitindo escalabilidade de precisão Download PDFInfo
- Publication number
- BRPI0608004B1 BRPI0608004B1 BRPI0608004A BRPI0608004A BRPI0608004B1 BR PI0608004 B1 BRPI0608004 B1 BR PI0608004B1 BR PI0608004 A BRPI0608004 A BR PI0608004A BR PI0608004 A BRPI0608004 A BR PI0608004A BR PI0608004 B1 BRPI0608004 B1 BR PI0608004B1
- Authority
- BR
- Brazil
- Prior art keywords
- snr
- encoded
- information
- data
- frame
- Prior art date
Links
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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/36—Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] 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/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/112—Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- 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
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
esquema de codificação permitindo escalabilidade de precisão. é obtida uma melhor eficiência de codificação dando ao codificador a oportunidade de alterar o tratamento direcionado ao campo/quadro de porções de figura individual entre os primeiros dados codificados com precisão e os segundos dados codificados com precisão, com a segunda precisão sendo superior à primeira precisão.
Description
ESQUEMA DE CODIFICAÇÃO PERMITINDO ESCALABILIDADE
DE PRECISÃO
Descrição
A presente invenção se refere a uma codificação de figura ou vídeo que suporta escalabilidade de qualidade, precisão ou SNR.
Um projeto em curso do Joint Video Team (JVT), do
ISO/IEC Moving Pictures Experts Group (MPEG) e do ITU-T Video
Coding Experts Group (VCEG) ê o desenvolvimento de uma extensão escalável do padrão de codificação de vídeo de ponta H.264/MPEG4AVC definido no ITU-T Rec. & ISO/IEC 14496-10 AVC, Advanced Video
Coding for Generic Audiovisual Services, version 3, 2005. O atual esboço de trabalho descrito em J. Reichel, H. Schwarz and M. Wien, eds., Scalable Video Coding - Joint Draft 4, Joint Video Team,
Doc. JVT-Q201, Nice, France, October 2005 e J. Reichel, H. Schwarz and M. Wien, eds., Joint Scalable Video Model JSVM-4, Joint Video Team, Doc. JVT-Q202, Nice, France, October 2005, suporta a codificação escalável temporal, espacial e SNR de sequências de vídeo ou qualquer de suas combinações.
O H.264/MPEG4-AVC descrito em ITU-T Rec. &
ISO/IEC 14496-10 AVC, Advanced Video Coding for Generic
Audiovisual Services, version 3, 2005, especifica um codec de vídeo híbrido no qual sinais de predição de macrobloco são gerados por predição de compensação por movimento ou intrapredição, sendo ambas as predições seguidas por codificação residual. A codificação H.264/MPEG4-AVC sem a extensão de escalabilidade é denominada codificação H. 264/MPEG4-AVC de camada simples . O desempenho índice-distorção comparável ao H.264/MPEG4-AVC de <5>
camada simples significa que a mesma qualidade de reprodução visual é normalmente conseguida com uma taxa de bits de 10%. Considerando o acima exposto, a escalabilidade é considerada como uma funcionalidade para a remoção de partes do fluxo de bits 5 enquanto atinge um desempenho R-D em qualquer resolução espacial, temporal ou SNR suportada que seja comparável à codificação H. 264/MPEG4-AVC de camada simples naquela resolução específica.
O projeto básico da scalable video coding (SVC) pode ser classificado como codec de vídeo em camadas. Em cada 10 camada, são empregados os conceitos básicos da predição de compensação por movimento e de intrapredição como no H.264/MPEG4AVC. Entretanto, outros mecanismos de predição intercamadas foram integrados de maneira a explorar a redundância entre várias camadas espaciais ou SNR. A escalabilidade SNR é basicamente 15 conseguida pela quantização residual, enquanto para a escalabilidade espacial, é empregada uma combinação de predição de compensação por movimento e de decomposição piramidal excessivamente amostrada. É mantida a abordagem de escalabilidade temporal do H.264/MPEG4-AVC.
Em geral, a estrutura codificadora depende do espaço de escalabilidade exigido por uma aplicação. Como ilustração, a Fig. 5 mostra uma estrutura codificadora típica 900 com duas camadas espaciais 902a, 902b. Em cada camada, é empregada uma estrutura de predição de compensação por movimento hierárquica 25 independente 904a,b com parâmetros de movimento específicos de camada 906a,b. A redundância entre as camadas consecutivas 902a,b é explorada por conceitos de predição intercamadas 908 que incluem mecanismos de predição para parâmetros de movimentos 906a,b assim
*.c como dados de textura 910a,b. É obtida uma representação básica 912a,b das figuras de entrada 914a,b de cada camada 902a,b por codificação transformada 916a,b similar à do H.264/MPEG4-AVC, as unidades correspondentes NAL (NAL - Network Abstraction Layer) contendo informações de movimento e dados de textura; as unidades NAL da representação básica da camada mais baixa, isto é, 912a, são compatíveis com a H.264/MPEG4-AVC de camada simples. A qualidade de reconstrução das representações básicas pode ser aperfeiçoada por meio de uma codificação adicional 918a,b das denominadas fatias de refinamento progressivo [progressive refinement slices]; as unidades NAL correspondentes podem ser truncadas arbitrariamente de maneira a suportar a escalabilidade de qualidade granular fina (FGS) ou adaptação flexível da taxa de bits.
Os resultantes fluxos de bits produzidos pela codificação de camada básica 916a,b e pela codificação de textura de refinamento SNR progressiva 918a,b das respectivas camadas 902a,b, respectivamente, são multiplexados por um multiplexador 920 de maneira a resultar no fluxo de bits escalável 922. Esse fluxo de bits 922 é escalável na qualidade de tempo, espaço e SNR.
Em resumo, de acordo com a extensão escalável acima do Padrão de Codificação de Vídeo H.264/MPEG4-AVC, a escalabilidade temporal é provida usando uma estrutura de predição hierárquica. Para esta estrutura de predição hierárquica, um dos padrões H.264/MPEG4-AVC de camada simples pode ser usado sem alterações. Para a escalabilidade espacial e SNR, devem ser adicionadas outras ferramentas ao H.264/MPEG4.AVC de camada simples.
Todos os três tipos de escalabilidade podem ser
€ combinados para gerar um fluxo de bits que suporte um alto grau de escalabilidade combinada.
Para a escalabilidade SNR, a escalabilidade de granulação grosseira (CGS) e a escalabilidade de granulação fina (FGS) são diferenciadas. Com a CGS, somente camadas selecionadas de escalabilidade SNR são suportadas e a eficiência de codificação é otimizada para as graduações de índice grosseiro como o fator
1,5-2 de uma camada para a próxima. A FGS permite o truncamento das unidades NAL em qualquer ponto arbitrário e eventualmente de bytes alinhados. As unidades NAL representam pacotes de bits, que são alinhados em série para representarem o fluxo de bits escalável 922 produzido pelo multiplexador 920.
De maneira a suportar a escalabilidade SNR de granulação fina, foram introduzidas as denominadas fatias de refinamento progressivo (PR) [progressive refinement (PR) slices] . As fatias de refinamento progressivo contêm informações de refinamento para refinar a qualidade disponível de reconstrução daquela fatia do fluxo de bits de camada base 912a,b, respectivamente. Ainda mais precisa, cada unidade NAL de uma fatia PR representa um sinal de refinamento que corresponde a uma bisecção de um tamanho de etapa de quantização (aumento QP de 6) . Esses sinais são representados de maneira que deve ser feita somente uma transformada inversa simples para cada bloco de transformada no lado do decodificador. Em outras palavras, o sinal de refinamento representado por uma unidade NAL PR refina os coeficientes de transformação dos blocos de transformada nos quais foi separada uma figura atual do vídeo. No lado do decodificador, esse sinal de refinamento pode ser usado para refinar os
coeficientes de transformação dentro de um fluxo de bits de camada base antes da realização da transformada inversa, de maneira a reconstruir a textura de predição residual usada para a reconstrução da figura real por meio do uso de uma predição espacial e/ou temporal, como por meio de movimento compensado.
As unidades NAL de refinamento progressivo podem ser truncadas em qualquer ponto arbitrário, de maneira que a qualidade da camada base SNR pode ser aperfeiçoada em granulação fina. Portanto, foi modificada a ordem de codificação dos níveis dos coeficientes da transformada. Ao invés de fazer a varredura dos coeficientes da transformada macrobloco por macrobloco, como é feito em fatias (normais), os blocos de coeficientes da transformada são varridos em caminhos separados e, em cada caminho, somente são codificados alguns símbolos de codificação para um bloco de coeficientes de transformada. À exceção da ordem de codificação modificada, é reutilizada a codificação de entropia CABAC como especificado no H.264/MPEG4-AVC.
Foi descrito um aperfeiçoamento da estrutura codificadora mostrada na Fig. 5 em M. Winken, H. Schwarz, D. Marpe, and T. Wiegand, Adaptive motion refinement for FGS slices, Joint Video Team, Doc. JVT-Q031, Nice, France, October
2005. Em particular, como ora descrito, foi adicionado um conceito de codificação escalável SNR de grânulos finos de sequências de vídeo com um refinamento adaptativo de informações de movimento/predição à estrutura de codificação da Fig. 5. A abordagem do refinamento das informações de movimento adaptativo da codificação de vídeo escalável SNR permite que o codificador de vídeo da Fig. 5 escolha, em um senso índice-distorção (RD) , a
seleção de uma melhor troca entre as taxas de bits para a codificação de dados residuais e de movimento. Em particular, como indicado pelas linhas tracejadas 924a e 924b na Fig. 5, os blocos de refinamento de codificação 918a e 918b também decidem, para 5 cada macrobloco em uma fatia de refinamento progressivo que corresponde à fatia de camada base que confirma a predição de compensação por movimento (denominada fatias P e B) , quais dos dois modos de codificação possíveis a seguir devem ser usados. Em particular, de acordo com um primeiro modo, o bloco de codificação 10 918a, b usa as mesmas informações de movimento que a camada base
SNR e assim transmite somente um refinamento dos dados residuais.
Esse modo é igual à descrição anterior sobre a funcionalidade da estrutura de codificação da Fig. 5. Entretanto, no modo de codificação alternativo, o bloco de codificação 918a,b transmite 15 novas informações de movimento com um novo resíduo dentro das informações de refinamento de fatia. Tanto os novos dados de movimento e residuais podem ser preditos a partir da camada subordinada SNR para obter um melhor desempenho RD. Os possíveis modos de movimento são os mesmos que os suportados pelo padrão de 20 codificação de vídeo H.264/MPEG 4-AVC, o que significa que pela subdivisão dos macroblocos em blocos menores para a predição de compensação por movimento, podem ser sinalizados até 16 vetores de movimento para as fatias P e até 32 vetores de movimento para as fatias B.
A decisão entre os dois modos de codificação com relação à informações de movimento realizadas pelos blocos 918a,b é feita usando uma abordagem de Lagrange, em que o custo funcional de Lagrange J = D + 1R é minimizado para um dado λ. Aqui, D
significa a distorção entre o sinal original e o reconstruído (decodificado) e R dá a taxa de bits necessária para a codificação do macrobloco. Se o custo para refinar somente os dados residuais for maior que o custo de um dos possíveis modos de refinamento de movimento, será obviamente melhor no sentido índice-distorção transmitir um novo conjunto de informações de movimento para este macrobloco. Como consequência, é possível o uso do refinamento das informações de movimento adaptativo para obter uma maior qualidade de figuras com a mesma taxa de bits.
As extensões escaláveis supramencionadas do padrão de codificação de vídeo H.264/MPEG 4-AVC funcionam bem com material de origem progressiva, isto é, vídeos nos quais as figuras podem ser efetivamente manipuladas por figuras ou por quadros, isto é, independente de suas composições de um campo superior e um campo inferior. Entretanto, seria desejável ter uma estrutura de codificação que permita a escalabilidade de precisão com um melhor desempenho RD para os materiais de fontes entrelaçadas, isto é, vídeos em que cada quadro seja composto de dois campos interfolheados com os campos sendo manipulados individualmente como quadros (codificação de campo) ou com macroblocos pareados decidindo se a respectiva porção macrobloco é dividida em até dois macroblocos de acordo com a associação com o campo superior ou inferior ou a associação com a metade superior ou inferior da área pareada do macrobloco dentro do quadro.
Portanto, é um objetivo do presente pedido prover um esquema de codificação que proporcione escalabilidade de precisão que permita uma maior eficiência de codificação, especialmente no material de vídeo entrelaçado.
Este objetivo é alcançado por um decodificador de acordo com a reivindicação 1, um codificador de acordo com a reivindicação 13, um método de acordo com a reivindicação 22 ou 23 e um fluxo de bits de precisão escalável 21.
A idéia básica subjacente ã presente invenção é que pode ser obtida uma melhor eficiência de codificação quando se dá ao codificador a oportunidade de alterar o tratamento dirigido ao campo/quadro das porções individuais de figuras entre os primeiros dados codificados de precisão e os segundos dados codificados de precisão, com a segunda precisão sendo maior que a primeira precisão.
De acordo com uma configuração preferida da presente invenção, é obtido um conceito de codificação escalável SNR de grânulos finos de quadros entrelaçados produzindo e codificando a decisão quadro/campo em uma fatia de refinamento progressivo independentemente da decisão quadro/campo da correspondente fatia de qualidade base. Comparado a isto, as extensões escaláveis acima descritas do padrão H.264/MPEG 4-AVC que não suportam o refinamento das informações de movimento somente codificam um refinamento dos coeficientes da transformada. As informações de movimento e de predição são copiadas da correspondente fatia de camada base. Além disso, as ferramentas para o suporte da escalabilidade SNR e espacial somente foram projetadas para o material fonte progressivo. As ferramentas especiais para o aumento da eficiência de codificação do material fonte entrelaçado não foram incorporadas. De acordo com a extensão escalável supramencionada, que inclui o refinamento das informações de movimento, o esquema de codificação FGS permite o
refinamento adaptativo das informações de movimento e predição para o aperfeiçoamento da eficiência de codificação da codificação escalável SNR de grânulos finos, especialmente para grandes intervalos de taxas de bits. Entretanto, também o último esquema de codificação FGS foi somente projetado para os materiais fonte progressivos.
A configuração do esquema de codificação FGS abaixo explicado prolonga a extensão escalável de refinamento das informações de movimento supramencionadas de maneira que também suporta uma revisão da decisão quadro/campo do par de macroblocos co-localizado e a fatia de qualidade base, permitindo assim a consecução de um fluxo de dados escaláveis com precisão com um índice R/D aperfeiçoado.
A seguir, são descritas as configurações preferidas do presente pedido com referência às Figuras. Em particular, está mostrado na
Fig. 1 um diagrama de blocos de um codificador de vídeo de acordo com uma configuração da presente invenção;
Fig. 2 um esquema ilustrando a subdivisão de uma figura em pares de macroblocos, assim como uma varredura de macroblocos de uma fatia de refinamento progressivo no caso de uma fatia de um quadro codificado estando ativada a decisão quadro/campo adaptada a macroblocos;
Fig. 3a um diagrama de blocos esquemático ilustrando o modo de operação do codificador da Fig. 1 com relação à criação do fluxo de dados de camada base;
Fig. 3b um diagrama de blocos esquemático ilustrando o modo de operação do codificador da Fig. 1 com relação
♦ à criação da primeira camada de realce;
Fig. 4 um fluxograma mostrando as etapas realizadas no lado do decodificador de acordo com uma configuração da presente invenção; e
Fig. 5 uma estrutura de codificador convencional para a codificação escalável de vídeo.
A presente invenção é descrita a seguir por meio de uma configuração com uma estrutura similar ã estrutura do codificador convencional da Fig. 5. Entretanto, de maneira a indicar mais claramente os aperfeiçoamentos de acordo com a presente invenção, o codificador de vídeo da Fig. 1 que representa uma configuração da presente invenção ê primeiramente descrito como operando de acordo com as extensões escaláveis do padrão H. 264/MPEG4-AVC tendo sido apresentadas na parte introdutória da presente especificação com relação à Fig. 5. Depois, a operação real do codificador da Fig. 1 está ilustrada enfatizando as diferenças do modo de operação de acordo com a estrutura de vídeo da Fig. 5. Como ficará evidente a partir desta discussão, as diferenças estão nos meios de refinamento de codificação.
codificador de vídeo da Fig. 1 operando como definido nos Esboços Conjuntos supramencionados suporta duas camadas espaciais. Para isto, o codificador da Fig. 1, geralmente indicado por 10 0, compreende duas partes de camadas ou camadas 102a e 102b, entre as quais a camada 102b é dedicada para a geração daquela parte do desejável fluxo de bits escalável referente a uma resolução espacial mais grosseira, enquanto a outra camada 102a é dedicada para a suplementação da produção de fluxo de bits pela camada 102b com as informações referentes a uma
maior representação de resolução de um sinal de vídeo de entrada 104. Portanto, o sinal de vídeo 104 a ser codificado pelo codificador 100 entra diretamente na camada 102a, considerando que o codificador 100 compreende um decímetro espacial 106 para decimar espacialmente o sinal de vídeo 104 antes de entrar com o sinal de vídeo espacialmente decimado resultante 108 na camada 102b.
A decimação realizada no decímetro espacial 106 compreende, por exemplo, a decimação do número de pixels para cada figura 104a do sinal original de vídeo 104 por um fator de 4, por meio do descarte de cada segundo pixel nas direções de linha e de coluna.
A camada de baixa resolução 102b compreende um bloco de predição de compensação por movimento 110b, um bloco de codificação de camada base 112b e um bloco de codificação de refinamento 114b. O bloco de predição 110b realiza uma predição de compensação por movimento nas figuras 108a do sinal de vídeo decimado 108 de maneira a predizer figuras 108a do sinal de vídeo decimado 108 de outras figuras de referência 108a do sinal de vídeo decimado 108. Por exemplo, para uma figura específica 108a, o bloco de predição 110b gera informações de movimento que indicam como essa figura pode ser predita a partir de outras figuras do sinal de vídeo 108, isto é, a partir das figuras de referência. Em particular, para esse objetivo, as informações de movimento podem compreender pares de vetores de movimento e índices associados de figuras de referência, cada par indicando, por exemplo, como uma parte específica ou macrobloco da figura atual é predita a partir de uma figura de referência índice pelo deslocamento da respectiva
figura de referência pelo respectivo vetor de movimento. Para cada niacrobloco pode ser indicado um ou mais pares de vetores de movimento e índices de figura de referência. Além disso, alguns dos macroblocos de uma figura podem ser intrapreditos, isto é, 5 preditos pelo uso das informações da figura atual. Em particular, o bloco de predição 110b pode realizar uma predição hierárquica compensadora de movimentos no sinal de vídeo decimado 108.
O bloco de predição 110b produz as informações de movimento 116b assim como os resíduos de predição das informações 10 de textura do vídeo 118b que representam as diferenças entre os preditores e as figuras decimadas reais 108a. Em particular, a determinação das informações de movimento e das informações de textura 116b e 118b e do bloco de predição 110b é realizada de maneira que a codificação resultante dessas informações, por meio da subsequente codificação de camada base 110b resulta em um fluxo de bits de representação básica com, preferivelmente, um desempenho ideal de índice-distorção.
Como já descrito acima, o bloco de codificação de camada base 112b recebe as primeiras informações de movimento 116b e as informações de textura 118b do bloco 110b e codifica as informações em um fluxo de bits de representação base 12 0b. A codificação realizada pelo bloco 112b compreende uma transformação e uma quantização das informações de textura 118b. Em particular, a quantização usada pelo bloco 112b é relativamente grosseira.
Assim, de maneira a permitir uma escalação para a melhoria da qualidade ou da precisão do fluxo de bits 120b, o bloco de codificação de refinamento 114b suporta o fluxo de bits 120b com adicionais fluxos de bits para várias camadas de refinamento
contendo informações para o refínamento dos coeficientes da transformada quant.izada grosseiramente representando as informações de textura em fluxo de bits
120b.
Como discutido posteriormente em maiores detalhes, o bloco de codificação de refinamento 114b por exemplo, em cooperação com o bloco de predição 110b pode também decidir que um específico fluxo de bits de camada de refinamento 12 2b deve ser acompanhado por informações de movimento refinado 116b, uma funcionalidade que também foi descrita na extensão escalável supramencionada. Entretanto, essa funcionalidade está, de acordo com a configuração da presente invenção, relacionada com a funcionalidade da recente codificação da decisão quadro/campo e, portanto, essas funcionalidades serão doravante descritas coletivamente. O refinamento das informações de textura residuais relativas à representação base 120b do anteriormente produzido fluxo de bits de camada de refinamento inferior 122b compreende, por exemplo, a codificação do atual erro de quantização dos coeficientes da transformada, representando assim as informações de textura 118b com uma predição de quantização mais fina.
Ambos os fluxos de bits 120b e 122b são multiplexados pelo multiplexador 124 compreendido pelo codificador 100 para inserir ambos os fluxos de bits no fluxo de bits final escalável 126 representando a produção do codificador 100.
A camada 102a opera substancialmente como a camada 102b. Da mesma forma, a camada 102a compreende um bloco de predição com compensação de movimentos 110a, um bloco de codificação de camada base 112a e um bloco de codificação de refinamento 114a. Em conformidade com a camada 102b, o bloco de
predição 110a recebe o sinal de vídeo 104 e faz aí uma predição de compensação por movimento para obter as informações de movimento 116a e as informações de textura 118a, O movimento de saída e as informações de textura 116a e 118a são recebidos pelo bloco de codificação 112a, que codifica essas informações para obter o fluxo de bits de representação base 120a. 0 bloco de codificação de refinamento 114a codifica os refinamentos do erro de quantização que se manifesta na representação base 120a comparando um coeficiente de transformação do fluxo de bits 120a e o real coeficiente de transformação que resulta das informações de textura originais 118a e, da mesma forma, produz os fluxos de bits de camada de refinamento 122a para várias camadas de refinamento.
A única diferença entre as camadas 102a e 102b é que a camada 102a tem predição intercamadas, isto é, o bloco de predição 110a usa as informações derivadas da camada 102b, como as informações de textura residuais, as informações de movimento ou um sinal de vídeo reconstruído, como derivados de um ou mais fluxos de bits 120b e 122b para predizer as figuras de alta resolução 104a do sinal de vídeo 104, realizando depois a predição de compensação por movimento nos resíduos de pré-predição, como mencionado acima com relação ao bloco de predição 110b relativo ao sinal de vídeo decimado 108. De maneira alternativa, o bloco de predição 110a usa as informações derivadas da camada 102b para predizer o resíduo de movimento compensado 118a. Nesse caso, para os intrablocos, o teor de figuras 104a pode ser predito por meio de uma figura de camada base reconstruída. Para os interblocos 104a, o(s) vetor (es) de movimento 116a produzido (s) por 110a podem ser preditos a partir do correspondente vetor de movimento de camada base reconstruído. Além disso, depois de tez sido determinado o resíduo de movimento compensado 118a da camada 102a, o mesmo pode ser predito a partir do resíduo de camada base reconstruído para a figura correspondente cuj o resíduo é então processado nos blocos 112a, 114a.
Até agora, a descrição do modo de operação do codificador da Fig. 1 se concentrou no tratamento das informações residuais pelo meio de codificação de refinamento 114a,b. Em particular, as informações residuais ou informações de textura produzidas pelos blocos 110a,b e codificadas com uma precisão de camada base nos meios de codificação 112a,b são refinadas no meio de codificação de refinamento 114a,b. Entretanto, o meio de codificação de refinamento 114a,b também permite um refinamento ou alteração das informações de movimento de uma camada para a próxima, assim como uma alteração na decisão quadro/campo feita pelos blocos 118a,b.
A funcionalidade do codificador da Fig. 1, descrita até o presente, adapta-se bem aos casos de material fonte de vídeo progressivo ou a casos em que o meio de codificação de camada base 112a,b usa frame_MBS_only_flag sendo igual a um, o que significa que a seqüência de figuras que representam o vídeo consiste somente de quadros codificados, de maneira que é negligenciada a decomposição de quadros nos campos. Entretanto, a escalabilidade SNR e espacial provida pelo codificador da Fig. 1 de acordo com a funcionalidade descrita até o presente não é ideal para o material fonte entrelaçado. Por esta razão, o codificador da Fig. 1 operando de acordo com uma configuração da presente invenção, não somente capacita o refinamento das informações de textura como também das informações de movimento e, primariamente, a decisão quadrn/rampo. formando assim um tipo de extensão com as fontes entrelaçadas.
Entretanto, antes de descrever o comportamento diferente do codificador da Fig. 1, é feita referência ao padrão H . 264/MPEG4-AVC em que foram incorporadas várias ferramentas entrelaçadas. Na primeira ferramenta, um quadro pode ser codificado como quadro codificado ou como dois campos codificados. Isto é denominado codificação de campo de quadro com adaptação de figura. Em outras palavras, um quadro ou vídeo pode ser considerado como contendo dois campos entrelaçados, um campo superior e um campo inferior. 0 campo superior contém fileiras de números pares 0, 2, . . . H/2-1, com H sendo o número de fileiras do quadro, caracterizado pelo fato d.e que o campo inferior contém as fileiras de números ímpares iniciando na segunda linha do quadro. Se dois campos de um quadro são capturados em diferentes pontos do tempo, o quadro pode ser denominado como quadro entrelaçado ou pode, por outro lado, ser denominado de quadro progressivo. A representação da codificação no H.264/MPEG4-AVC é primariamente incerta com relação a esta característica de vídeo, isto é, a temporização subjacente entrelaçada ou progressiva das figuras originais capturadas. Ao invés disso, sua codificação especifica uma representação primária baseada em conceitos geométricos, ao invés de se basear na temporização. O conceito supramencionado de codificação de campo de quadro com adaptação de figura é também estendido à codificação de campo de quadro com adaptação de macrobloco. Quando um quadro é codificado como um quadro simples e o flagr mb_adapti ve_frame_fi eld_flag, que é
transmitido no conjunto paramétrico seqüencial é igual a 1, é modificada a varredura dos macroblocos dentro de uma fatia, como mostrado na Fig. 2. A Fig. 2 mostra uma porção exemplar de uma figura 200. A figura é subdividida em macroblocos 202. Além disso, estando ativada a codificação quadro/campo com adaptação de macrobloco, cada par de macroblocos verticalmente adjacentes 202 é agrupado em um par de macroblocos 2 04. Como ficará mais claro a partir da discussão a seguir, a subdivisão da figura 200 em macroblocos 202 serve, por sua vez, como provisão da unidade quantum onde o codificador pode decidir sobre os parâmetros de codificação que devem ser adaptados ao teor de vídeo na área da figura respectiva para resultar em uma alta eficiência de codificação. Os pares de macroblocos 204, por sua vez, subdividem a figura 200 espacialmente em uma disposição retangular de pares de macroblocos 204. Os dois macroblocos 202a e 202b de um par de macroblocos 204 ocupam espacialmente ou substancialmente toda a porção do par de macroblocos da figura 20 0 com uma resolução vertical sendo a metade da resolução vertical da figura 200, ou dividem a área do par de macroblocos 204 espacialmente em uma metade superior e uma metade inferior. Em qualquer caso, o macrobloco que contém a primeira, terceira,... linhas ou que ocupe a metade superior é denominado macrobloco superior 202a, considerando que o outro é denominado macrobloco inferior. Em outras palavras, dois desses macroblocos verticais adjacentes são denominados de par de macroblocos, que podem também ser dispostos retangularmente como mostrado na Fig. 2. Para cada par de macroblocos, é transmitido ou inferido um elemento de sintaxe mb_field_decoding_flag. Quando mb_field_decoding_flag é igual a 0,
o par de macroblocos é codificado como um par de macroblocos de quadro com o macrobloco superior representando a metade superior do par de macroblocos e o macrobloco inferior representando a metade inferior do par de macroblocos no sentido geométrico. Ά predição de compensação de movimento e a codificação transformada tanto do macrobloco superior como do inferior é aplicada como para os macroblocos de quadros com mb_adaptive_frame_field_coding igual a 0, indicando que a codificação de campo de quadro com adaptação de macrobloco está desativada e que somente existem macroblocos de quadros. Quando mb_field_decoding_flag é igual a 1, o par de macroblocos representa um par de macroblocos de campo com um macrobloco superior representando as linhas de campo superiores do par de macroblocos e o macrobloco inferior representando as linhas de campo inferiores do par de macroblocos. Assim, nesse caso, os macroblocos superior e inferior cobrem substancialmente a mesma área da figura, isto é, a área do par de macroblocos. Entretanto, nesses macroblocos, a resolução vertical é o dobro da resolução horizontal. No caso dos últimos pares de macroblocos de campo, a predição de compensação de movimento e a codificação transformada são feitas em base de campo. A codificação do teor da figura na base e nas camadas de refinamento é feita em fatias, isto é, grupos de macroblocos ou pares de macroblocos. Uma figura ou quadro pode ser composto de uma ou mais fatias. Na Fig. 2, supõese que os pares de macroblocos pertençam à mesma fatia, e as
| flechas da | Fig. | 2 indicam a | ordem | em que | os | macroblocos são |
| codifiçados | nas | respectivas | camadas. | Como | pode | ser visto, os |
| macroblocos | são | varridos em | pares, | com o | macrobloco superior |
primeiro seguido pelo respectivo macrobloco inferior, em que o próximo par de macroblocos é posteriormente visitado.
Os macroblocos de campos codificados ou macroblocos com mb_ficld_decoding_flag igual a 1 de quadros codificados são denominados de macroblocos de campo. Como cada bloco de transformada de um macrobloco de campo representa uma área de imagem com uma resolução vertical igual ao dobro da resolução horizontal, é provável que a distribuição de níveis de coeficientes de transformada não zero sejam alterados na direção de baixas freqüências horizontais e para uma codificação índicedistorção otimizada, com a varredura dos coeficientes da transformada dentro de um bloco de transformada sendo modificada para os macroblocos de campo com relação aos macroblocos de quadro.
A seguinte descrição do codificador da Fig. 1 focaliza o refinamento das informações de movimento, assim como a renovação da decisão quadro/campo realizada para os respectivos pares de macroblocos. Entretanto, antes de descrever a renovação de refinamento desses dados, será feita referência à Fig. 3a mostrando esquematicamente as etapas feitas pelos blocos 110a,b e 112a, b para obter o fluxo de bits de camada base 912a, b. Novamente, como ponto de partida, a Fig. 3a mostra um quadro atual 200 a ser codificado, o quadro 200 sendo subdividido em macroblocos 202, os macroblocos 202 sendo agrupados em pares de macroblocos 204, de maneira que os pares de macroblocos 204 subdividam espacialmente o quadro 200 em uma disposição retangular. Ao codificar o quadro 200, o bloco 110a,b decide, para cada par de macroblocos 204, se os macroblocos deste par de macroblocos serão macroblocos de campos codificados ou macroblocos de quadros codificados. Ετη outras palavras, o bloco 904a,b decide para cada par de macroblocos a codificação ou no modo de campo ou no modo de quadro, sendo esta decisão indicada na Fig. 3a de 206. O desempenho relativo ao par de macroblocos da decisão 206 é indicado focalizando-se exemplarmente um dos pares de macroblocos 204, marcando-o com um círculo 208. A consequência da decisão 206 está indicada em 210a e b. Como pode ser visto, no caso dos macroblocos codificados por quadro 202a e 202b constituindo um par de macroblocos 204, este subdivide espacialmente a área de quadro ocupada pelo par de macroblocos 204 em uma metade superior e uma metade inferior. Portanto, ambos os pares de macroblocos 202a e 202b compreendem as informações de figura contidas nas linhas de números pares e de números ímpares da figura, as linhas de números ímpares sendo indicadas por retângulos brancos, considerando que as 1inhas de números pares são tracej adas. Em contraste, no caso do modo de campo, o macrobloco superior 202a somente compreende as informações de figura dentro da área do par de macroblocos contidas nas linhas de números ímpares, isto é, o campo superior, considerando que o macrobloco inferior contém as informações de figura dentro da área do par de macroblocos contidas nas linhas de números pares. Isto fica claro comparando 210a e 210b. A resolução de figura na direção vertical é reduzida por um fator de 2 no caso do modo de campo. A decisão de modo quadro/campo 2 06 feita pelo bloco 104a, b é, de certa forma, refletida no fluxo de bits de camada base 120a,b de maneira que, no lado do decodificador, as decisões 206 podem ser extraídas do fluxo de bits escalável 126 e, especialmente, do fluxo de dados de camada base no fluxo de bits escalável 126, como indicado na Fig. 3a pela flecha 212 procedente da decisão 2 06 para um bloco 214 contida no fluxo de dados de camada base 216. Somente como medida de precaução, nota-se que as decisões de modo quadro/campo não necessariamente devem ser dispostas ou codificadas em um bloco contínuo dentro do fluxo de dados de camada base 216. A decisão referente aos respectivos pares de macroblocos 2 04 pode ser distribuída no fluxo de dados de camada base 216 de maneira descritiva. Para maiores detalhes, é feita referência ao padrão H.264/MPEG-AVC.
Entretanto, as decisões de modo quadro/campo 206 não são as únicas decisões a serem tomadas pelos blocos 110a,b. Ao invés disso, como indicado por 218, os blocos 110a,b também determinam os parâmetros de movimento de cada macrobloco. Esses parâmetros de movimento definem, por exemplo, em qual resolução espacial os vetores de movimento estão determinados para um respectivo macrobloco. Como mostrado na Fig. 3a em 22 0a, por exemplo, o macrobloco superior 202a foi ainda subdividido em quatro partes 222, caracterizado pelo fato de que para cada parte 222 é definido um vetor de movimento 224. Em comparação, o macrobloco inferior 202b é mantido como uma parte, de maneira que somente um vetor de movimento 224 tenha sido determinado para esse macrobloco. É claro que a decisão 218 com relação aos parâmetros de movimento não é, no sentido de otimização índice/distorção, independente da decisão quadro/campo 206. Isto é mostrado por 220b que indica uma partição exemplar dos macroblocos 202a e 202b no caso dos macroblocos codificados por campo, considerando que o caso descrito anteriormente de 22 0a refletirá o caso dos macroblocos codificados por campo. Apesar de o particionamento ser mostrado exemplarmente como o mesmo, fica claro que
particionamento pode ser diferente, dependendo da decisão quadro/campo 206. Um outro parâmetro de movimento pode definir o número de figuras referência usado para predizer o macrobloco respectivo com compensação de movimento. Esta decisão pode ser tomada em base de partição, em base de macrobloco ou em base de figura, assim como em base de fatia. Entretanto, para simplificar a Fig. 3a, somente é mostrado um vetor de movimento para cada partição 222. Além disso, os parâmetros de movimento 218 obviamente definem os próprios vetores de movimento, como suas direções e comprimentos. Os vetores de movimento definem o deslocamento da figura de referência reconstruída tendo que ser realizado antes de tomar o teor da figura da figura de referência reconstruída como uma predição das informações da figura contidas no macrobloco 202a, b. Ao determinar 226 o erro residual ou de predição, o teor da figura tomado a partir da figura de referência reconstruída como definida pelos vetores de movimento 224 é obviamente diferente quando se considera os macroblocos codificados por campo e os macroblocos codificados por quadro. No caso dos macroblocos codificados por quadro, as informações de figura usadas a partir da figura de referência deslocada e reconstruída representam uma sub-área espacial contínua.
| Entretanto, | no | caso de um macrobloco | codificado | por | campo, as | |
| informações | de | figura usadas a partir | da | figura | de | referência |
| deslocada e | reconstruída se referem a | uma | área | que | é o dobro |
desta. O resíduo assim obtido de uma partição específica 222 está indicado em 228 para um macrobloco codificado por quadro e em 222b para um macrobloco codificado por campo. As amostras residuais contidas nessa partição 228a,b não são diretamente codificadas no
fluxo de bits de camada base. Ao invés disso, é feita uma transformação, como uma DCT ou alguma outra decomposição espectral, nas amostras residuais de maneira a obter uma matriz de coeficiente de transformação para representar as informações residuais contidas em 228a,b. A transformação 230 pode ser feita em toda a partição ou no macrobloco 202a,b. Entretanto, a transformação 230 também pode ser feita em sub-partes do macrobloco 202a,b ou da partição 228a,b, como indicado exemplarmente pelas linhas tracejadas 232 na partição 228a. Da mesma forma, uma ou mais matrizes de coeficientes de transformação 234 podem ser obtidas a partir de um macrobloco ou partição.
Os parâmetros de movimento 218 assim como os coeficientes de transformação nas matrizes 234 - a última sob a forma quantizada relativamente grosseira como já acima mencionado - são incorporados pelo meio de codificação de camada base 112a,b ao fluxo de dados de camada base 216 ou 120a, b, como mostrado pelas flechas 236 e 238, obtendo assim as informações de movimento 240 e as informações residuais 242 no fluxo de dados de camada base 120a,b.
Pode ser usada uma abordagem Lagrangiana para determinar as decisões de modo quadro/campo e dos parâmetros de movimento 218 de maneira que a razão índice/distorção seja de certa forma otimizada. Apesar de as decisões 206 e 218 poderem ser ideais no sentido índice/distorção para a qualidade associada ao fluxo de dados de camada base, podem ser ideais decisões diferentes 206 e 218 ao se considerar uma maior qualidade. Essa consideração resulta no modo de operação do codificador da Fig. 1 de acordo com uma configuração do presente pedido, de acordo com a qual a decisão de modo quadro/campo 206 não tem que ser necessariamente mantida pelo codificador. Ao invés disso, o codificador e o decodificador podem alterar a decisão de modo quadro/campo com relação aos pares de macroblocos individuais nas camadas de refinamento. De acordo com a configuração da Fig. 1, uma alteração da decisão de modo quadro/campo é sempre acompanhada por uma renovação dos parâmetros de movimento, como também dos coeficientes de transformada residual. Entretanto, como será posteriormente descrito, este não precisa ser necessariamente o caso.
A Fig. 3b mostra esquematicamente o modo de operação do meio de codificação de refinamento 114a,b de acordo com uma configuração da presente invenção. A Fig. 3b mostra o refinamento de um par de macroblocos exemplar 204, composto exemplarmente por dois macroblocos codificados por quadro 202a e 202b, com um macrobloco superior 202a sendo dividido em quatro partes 222, considerando que o macrobloco inferior 202b é composto somente por uma partição. A decisão de modo campo/quadro e os parâmetros de movimento assim definidos para o par de macroblocos representativo 204 correspondem aos mostrados em 220a na Fig. 3a. Como já foi descrito com relação à Fig. 3a, as informações residuais relativas ao par de macroblocos 204 são transmitidas pelo uso dos coeficientes de transformada dispostos em uma matriz de coeficientes de transformada 234. Os coeficientes de transformada na matriz de coeficientes de transformada 234 correspondem às diferentes freqüências na direção horizontal 244 e na direção vertical 246. Na Fig. 3b, o coeficiente superior esquerdo da transformada, por exemplo, corresponde à componente
DC, sendo este coeficiente de transformada indicado por 248a.
Agora, considerando o refinamento ou o realce de qualidade ou de precisão do par de macroblocos 204, o meio de codificação de refinamento 114a,b faz 250 tomar a decisão de se manter ou alterar a decisão de modo quadro/campo com relação à decisão tomada pelo bloco 110a,b com relação à camada base.
Primeiramente, é considerado o caso de manter uma decisão de modo quadro/campo. Nesse caso, o par de macroblocos 204 é ainda tratado como codificado por quadros na camada de 10 refinamento. Entretanto, o meio de codificação de refinamento
114a,b considera se no senso de índice-distorção é melhor manter as informações de movimento, isto é, adotar as informações de movimento a partir de uma camada subordinada, isto é, a camada base, e só refinar as informações residuais, ou se ê melhor mudar 15 as informações de movimento e as informações residuais comparadas à camada base. Essa decisão é indicada por 252 na Fig. 3b. Se o meio de codificação de refinamento 114a,b decidir, para um par de macroblocos específico 204, manter tanto a decisão de modo quadro/campo e as informações de movimento, o meio de codificação 20 de refinamento 114a,b incorpora os resultados das decisões 250 e
252 no primeiro fluxo de dados de camada de realce 122a,b. O resultado da decisão 250 é incorporado ao fluxo de dados 122a,b sob a forma de indicadores de alteração de modo 256, como indicado pela linha tracejada 258. Da mesma forma, o resultado da decisão 25 252 é incorporado ao fluxo de dados 122a, b como um indicador liga/desliga de realce da precisão de movimento 260, como indicado pela linha tracejada 262. Além disso, o meio de codificação de refinamento 114a,b incorpora ao fluxo de dados 122a,b as
| informações | de realce | da | precisão residual | 266, | sendo esta | |
| incorporação | indicada | pela | flecha tracejada | 263 | Na atual | |
| configuração | preferida, | as | informações de realce | da | precisão | |
| residual 266 | incorporadas em | 263 representarão os | níveis | residuais |
de coeficientes de transformada, que representam um resíduo dos respectivos níveis de coeficientes de transformada como até o momento definido pela camada subordinada, isto é, a camada de refinamento subordinada ou camada base, relativa aos coeficientes de transformada real em uma dimensão reduzida de etapa de quantização, como dividida por dois com relação à camada subordinada. Entretanto, como abaixo indicado, pode ser usado um outro flag/indicador no fluxo 122a,b para indicar que, para um macrobloco específico, as informações de realce da precisão residual 266 devem ser interpretadas no lado do decodificador como novos níveis de coeficientes de transformada representando os níveis de coeficientes de transformada independentes dos atuais níveis de coeficientes de transformada como deriváveis até a camada subordinada.
O meio de codificação de refinamento 114a,b pode decidir não manter as informações de movimento de um macrobloco específico, mas refinar este com relação à camada base. Nesse caso, o meio de codificação de refinamento 114a,b indica o resultado dessa decisão alternativa 252 por um indicador respectivo 260 no primeiro fluxo de dados de camada de realce 122a,b. Além disso, o meio de codificação de refinamento 114a,b incorpora no fluxo de dados 122a,b as informações de realce de precisão de movimento 264, assim como as informações de realce da precisão residual 266, como indicadas pelas flechas tracejadas 268 e 270. As informações de realce de precisão de movimento 264 e/ou as informações de realce da precisão residual 266 tanto podem representar completamente novas informações de movimento/informações residuais ou informações de refinamento para refinar as informações de movimento e as informações residuais da camada subordinada, respectivamente, isto é, a camada base no caso ilustrado na Fig. 3b. Informações de realce 264 ou 266 completamente novas indicarão - como já mostrado acima com relação aos dados residuais - informações de realce que substituem completamente as respectivas informações de realce da camada subordinada de realce, isto é, a camada base. Contrariamente a isto, as informações de realce 264 e 266 se destinam ao refinamento das informações de movimento/residuais da camada subordinada, as informações de movimento/residuais da atual camada de refinamento, isto é, a primeira camada de realce no caso da Fig. 3b, sendo derivável somente pela combinação tanto das atuais informações de realce 264, 266 como das informações de movimento/residuais da camada subordinada, como pela adição dos correspondentes níveis de coeficientes de transformada ou níveis de componentes de vetores de movimento dos dois consecutivos níveis de refinamento.
Para ilustrar o efeito da alteração das informações de movimento na primeira camada de realce, o efeito de manter a decisão de modo quadro/campo, mas alterar as informações de movimento, está indicado na Fig. 3b em 272. Como aí mostrado, as informações de movimento associadas ao par de macroblocos 204 na primeira camada de realce diferem das informações de movimento associadas àquele par de macroblocos 2 04 na camada base por duas figuras de referência estarem sendo usadas para a predição do teor de figuras dentro do par de macroblocos. Da mesma forma, cada partição 222 está associada a dois vetores de movimento 224a e 224b. Além disso, as informações de movimento da primeira camada de refinamento mudam o particionamento do macrobloco inferior 202b por este estar partido em quatro partes ao invés de formar meramente uma parte, como é o caso na camada base. As informações de movimento da primeira camada de refinamento, isto é, os números das figuras de referência, dos vetores de movimento 224a e 224b, assim como das partições dos macroblocos 202a e 202b tanto podem ser completamente codificados como novos no primeiro fluxo de dados de camada de realce 122a,b ou tomando as informações de movimento da camada base como preditor. Por exemplo, se os vetores de movimento 224a corresponderem à mesma figura de referência, somente o deslocamento dos vetores de movimento 224a com relação aos vetores de movimento 224 da camada base poderá ser codificado nas informações de realce com precisão de movimento 264. Supondo um movimento temporário linear, os vetores de movimento 224 também podem servir como base de uma predição dos novos vetores de movimento 224b com relação a uma diferente figura de referência. Paralelamente, o vetor de movimento único 224 da partição simples do macrobloco inferior 202b pode servir como preditor dos vetores de movimento de cada partição do macrobloco inferior 2 02b na primeira camada de realce.
De maneira similar, os níveis dos coeficientes das transformada para os coeficientes de transformada da matriz de coeficientes de transformada 234 transmitidos no primeiro fluxo de dados de camada de realce 122a,b pode tanto representar somente os
resíduos ou os deslocamentos relativos aos níveis de coeficientes de transformada da camada base quantizada com uma dimensão da etapa de quantização mais fina, ou representar um coeficiente de transformada da matriz de coeficientes de transformada 234 completamente novo sem o uso dos coeficientes de transformada da camada base como predição.
Até agora, foi descrito o caso em que o meio de codificação de refinamento 114a,b decide manter a decisão de modo quadro/campo com relação ao par de macroblocos 204. Entretanto, se o resultado da for mudar o modo quadro/campo na primeira camada de realce, de modo
256, sendo inseridas novas informações de movimento com novas residuais sob a forma de informações de realce de movimento
264 e informações de realce da fluxo de dados de camada de tracejadas 274 e 276.
realce 122a,b, como indicado pelas flechas
Em particular, de acordo com o exemplo da
Fig. 3b, as informações de movimento do par de macroblocos 204 são alteradas da camada base para a primeira camada de realce, de maneira que são definidos novos vetores de movimento 224 para as partições 222 do macrobloco superior 202a, e o macrobloco inferior
202b é dividido em quatro partições 222 com um vetor de movimento
224 para cada partição 222. Como indicado em 278, os macroblocos 202a e 202b são agora codificados por campo com o macrobloco superior 202a, por exemplo, somente incluindo linhas com números ímpares. As informações residuais são codificadas por meio de níveis de coeficientes de transformada dos coeficientes de transformada nas respectivas matrizes de coeficientes de transformada 234 com os níveis sendo codificados sem o uso dos níveis de coeficientes de transformada das matrizes 234 da camada base como predição.
Entretanto, apesar de estar de acordo com a presente configuração, as informações de movimento e residuais são totalmente codificadas como novas no caso de não manter a decisão de modo quadro/campo; alternativamente, podem ser usadas como preditoras as informações de movimento e informações residuais da camada base definida para diferentes modos quadro/campo.
Considere, por exemplo, os coeficientes da transformada. A resolução vertical das amostras residuais na camada base é o dobro da resolução vertical das amostras residuais da primeira camada de realce. Por isso, a componente de maior frequência na direção vertical 246 para a qual a matriz 234 da camada base compreende coeficientes de transformada é o dobro da componente de maior freqüência na direção vertical 246 para a qual a matriz 234 da primeira camada de realce compreende coeficientes de transformada. Assim, pelo menos uma parte das matrizes 234 da camada base pode ser usada como preditora dos coeficientes da transformada das matrizes 234 da primeira camada de realce. Para ser mais preciso, o nível de coeficientes de transformada do coeficiente de transformada 248a que representa a componente DC e transmitida 276 dentro das informações de realce da precisão residual 266 no primeiro fluxo de dados de camada de realce 122a,b pode representar um desvio relativo ao nível de coeficientes de transformada do correspondente coeficiente de transformada 248a transmitido no fluxo de dados de camada base 120a,b. 0 mesmo se aplica para as componentes horizontais de maiores frequências.
... '-<>>
Além disso, os níveis de coeficientes de transformada da primeira camada de realce transmitida para a próxima, mas uma maior componente de freqüência vertical 280, pode ser codificado como erros de predição relativos às próximas componentes de freqüência vertical na camada base indicada por 2 82 . De maneira similar, os vetores de movimento dos macroblocos codificados por quadro da camada base podem ser usados como preditores dos vetores de movimento da primeira camada de realce.
É claro que o exemplo acima de trocar o par de macroblocos codificados por quadros da camada base para um par de macroblocos codificado por campo na primeira camada de realce foi somente um exemplo possível. Ê claro que um par de macroblocos codificado por campo na camada base pode ser alterado para um par de macroblocos codificado por quadros na primeira camada de realce. Além disso, é possível que não ocorra nenhuma alteração na decisão de modo quadro/campo com relação a um par de macroblocos específico na primeira camada de realce, mas na segunda ou na seguinte camada de realce. A qualidade ou a precisão das figuras de vídeo pode ser aumentada e a distorção da figura reduzida de uma camada para a próxima, por exemplo, reduzindo a dimensão da etapa de quantização para a transmissão do nível de coeficientes de transformada, aumentando a resolução pela qual os vetores de movimento são definidos e/ou usando um particionamento mais fino e um maior número de figuras de referência para a compensação de movimentos. Além disso, à parte dos indicadores 256 e 260, também podem ser transmitidos outros indicadores dentro do primeiro fluxo de dados de camada de realce 122a,b. Por exemplo, os indicadores podem ser transmitidos dentro do primeiro fluxo de dados de camada
de realce 122a,b para indicar se somente as informações de movimento ou as informações residuais, ou ambas, são substituídas ou refinadas pelo primeiro fluxo de dados de camada de realce 122a,b com relação a um macrobloco específico. De maneira similar, podem ser usados indicadores de índices para definir se as informações de realce de precisão de movimento ou as informações de realce da precisão residual com relação a um macrobloco específico devem substituir ou refinar as respectivas informações de movimento/residuais da camada subordinada.
Pode ser notado que, de acordo com uma configuração preferida da presente invenção, a ordem em que os níveis de coeficientes de transformada da primeira camada de realce é inserido no atual fluxo de dados de camada de realce 122a,b depende do resultado da decisão 250. Por exemplo, se, de acordo com uma atual camada de realce, um macrobloco específico se trata de um macrobloco codificado por quadros, o caminho de varredura 284 usado para a definição da ordem em que os níveis de coeficientes de transformada da primeira camada de realce é inserido nas informações de realce da precisão residual 266 é diferente de um caminho de varredura 286 usado para o nível de coeficientes de transformada do respectivo macrobloco codificado por campo na camada subordinada de realce. A diferença nos caminhos de varredura dos macroblocos codificados por campo e quadro reflete a existência de componentes verticais de mais alta freqüência nas matrizes de coeficientes de transformada 234 dos macroblocos codificados por quadro relativos aos macroblocos codificados por campo. Em particular, preferivelmente os coeficientes de transformada são transmitidos dentro das
informações de realce da precisão residual 266, primeiramente transmitindo os níveis de coeficientes de transformada dos coeficientes de transformada não significativas, isto é, aqueles coeficientes de transformada para os quais o nível de coeficientes de transformada é 0 de acordo com a camada subordinada. O nível de coeficientes de transformada dos coeficientes de transformada não significativas é codificado em um denominado caminho significativo. A codificação dos níveis de coeficientes de transformada dos coeficientes de transformada significativos seguintes é denominada caminho de refinamento. 0 caminho de significatividade é feito em vários ciclos. No primeiro ciclo, por exemplo, é codificado o primeiro coeficiente de transformada não significativa ao longo do caminho de varredura 284 ou 286 no primeiro bloco de transformada (ver 232 na Fig. 3a) no primeiro macrobloco. Eventualmente, são codificados, logo a seguir, outros níveis de coeficientes de transformada dos seguintes coeficientes de transformada não significativas na direção do caminho de varredura 284 e 286 dentro do atual bloco de transformada, dependendo da dimensão do bloco de transformada. Depois, é visitado o próximo bloco de transformada na ordem de varredura do bloco de transformada dentro do macrobloco atual, até que todos os blocos de transformada dentro do macrobloco atual tenham sido visitados. Depois, é visitado o próximo macrobloco na ordem de varredura de macroblocos dentro da fatia atual, caracterizado pelo fato de que o procedimento é feito novamente dentro deste macrobloco, sendo a ordem de varredura do macrobloco indicada na Fig. 2 por 288. São feitos outros ciclos após ter sido visitado o último bloco de transformada no último macrobloco da fatia atual.
Após ter codificado os níveis de coeficientes de transformada dos coeficientes de transformada não significativos, os níveis de coeficientes de transformada dos coeficientes de transformada significativas são codificados no caminho de refinamento. O caminho de refinamento pode, dependendo do esquema de codificação usado para a codificação dos elementos de sintaxe no fluxo de bits 126, por exemplo, ter codificação de comprimento variável ou codificação aritmética feita por meio de varredura dos macroblocos dentro de uma fatia somente uma vez, ou pela varredura destas em um número fixo de ciclos, cada ciclo sendo dedicado para uma posição de coeficiente de transformada específica em ordem de varredura 284 ou 286, com um respectivo nível de coeficientes de transformada para uma posição de coeficiente de transformada específica somente sendo codificada se o coeficiente de transformada for significativo.
No caminho de significatividade, assim como no caminho de refinamento, o caminho de varredura usado para a determinação da ordem de visitação entre os coeficientes de transformada dentro do respectivo bloco de transformada depende do modo quadro/campo do correspondente par de macroblocos de acordo com a atual camada de refinamento. Isto é, o ordenamento dos coeficientes de transformada no primeiro fluxo de dados de camada de realce 122a,b pode ter um impacto sobre a razão índice/distorção do primeiro fluxo de dados de camada de realce resultante 122a,b já que, se for usado um esquema de codificação com adaptação de contexto, é disposto um ordenamento dos níveis de coeficientes de transformada na primeira camada de realce, de maneira que estes níveis de coeficientes de transformada tendo uma
similar distribuição de probabilidades em uma posição justaposta dentro do primeiro fluxo de dados de camada de realce 122a,b possam permitir uma melhor adaptação da estimativa de probabilidades usada para a codificação. Portanto, as decisões 250 e 252 também podem depender da influência dessas decisões para a eficiência da codificação ou para a qualidade da estimativa de probabilidades usada para a codificação dos elementos de sintaxe e, em particular, dos níveis dos coeficientes de transformada na primeira camada de realce.
A forma com que o meio de codificação de refinamento 114a,b toma decisões 250 e 252 pode ser similar à forma com que os blocos 110a,b com os blocos de codificação de camada base 112a, b cria o fluxo de bits de camada base 120a,b. Para ser mais exato, pode ser usada uma abordagem Lagrangiana para otimizar as decisões no sentido índice/distorção.
Depois de ter sido descrita a funcionalidade do meio de codificação de refinamento 114a,b com relação à Fig. 3b, é descrito o modo de operação do codificador da Fig. 1 novamente com relação à Fig. 1 até a Fig. 3b, com maior referência específica ao padrão H.264/MPEG4-AVC. Em outras palavras, é descrita a funcionalidade do codificador da Fig. 1 mais precisamente no contexto da criação de um fluxo de bits escalável 126 como uma extensão escalável do padrão H.264/MPEG4-AVC. Nos esboços de trabalho SVC supramencionados de outubro de 2005, as ferramentas de escalabilidade foram especialmente dedicadas para frame_MBS_only_flag igual a 1. Em outras palavras, de acordo com esses esboços, os macroblocos foram somente macroblocos de quadro. Os conceitos de suporte da escalabilidade SNR e espacial somente foram indicados para o material de fonte progressiva. Entretanto, o codificador da Fig. 1 forma uma extensão com as fontes entrelaçadas pela consideração das propriedades do material fonte entrelaçado. Em particular, o codificador da Fig. 1 otimiza a codificação das fatias de refinamento progressivo com refinamento de movimento adaptativo como descrito no esboço de trabalho acima JVT-Q031 para o material fonte entrelaçado. Além do refinamento de movimento e residual, pode ser transmitida uma revisão da decisão quadro/campo baseada em macroblocos da camada de qualidade base em uma camada de realce FGS.
Em particular, o codificador da Fig. 1 amplia a codificação das fatias de refinamento progressivo com refinamento de movimento adaptativo para quadros entrelaçados com decisões quadro/campo adaptativas aos macroblocos de maneira que, quando é habilitada a codificação quadro/campo com adaptação de macrobloco, então, para todos os pares de macroblocos ou um subconjunto de pares de macroblocos de uma fatia de refinamento progressivo de um quadro codificado, é transmitido um elemento de sintaxe que sinaliza se os pares de macroblocos estão codificados como um par, um campo ou um quadro de macroblocos. Dependendo do modo quadro/campo do par de macroblocos, da fatia de refinamento progressivo e do modo quadro/campo do par de macroblocos colocalizado na camada SNR subordinada, aplica-se o seguinte: (1) Se o macrobloco atual 202a (Fig. 3b) estiver codificado no modo campo-quadro e o par de macroblocos co-localizado na camada SNR subordinada (na Fig. 3b, a camada base) estiver codificado no mesmo modo campo-quadro (ver o caminho sim que inicia a partir da decisão 250 na Fig. 3b), é usada a decisão campo-quadro do par /// * \ de macroblocos da camada subordinada SNR, As informações de movimento e predição podem ser refinadas independentemente da decisão campo/quadro como transmitidas por outros indicadores ou elementos de sintaxe 262, 268 e 270, caracterizado pelo fato de ser feita referência ao PCT EP 2005/010972 para maiores detalhes a esse respeito, cujo teor está incorporado à presente por referência com relação ao refinamento das informações de movimento e as informações de refinamento, no caso de ser mantida inalterada a decisão de modo quadro/campo. (2) Por outro lado, se a decisão campo/quadro da fatia atual for diferente da decisão campo/quadro na camada SNR subordinada (ver ramal sim em 2 50) , para ambos os macroblocos no par de macroblocos, é transmitido um novo modo macrobloco (260) juntamente com as correspondentes informações de movimento e predição (264) em adição ao refinamento (266) do sinal residual. Os possíveis modos de macroblocos são os mesmos que os suportados pelo padrão de codificação H.264/MPEG4-AVC, o que significa que pela subdivisão do macrobloco em menores blocos ou partições para a predição de compensação por movimento, podem ser sinalizados até 16 vetores de movimento para as fatias P e até 32 vetores de movimento para as fatias B.
Uma maneira para tomar essa decisão quadro/campo em uma fatia de refinamento progressivo é usar uma abordagem Lagrangiana onde a função de custo Lagrangiano J = D + ÀR é minimizada para um dado λ. Aqui, D significa a distorção entre o sinal original e o reconstruído (decodifiçado) e R representa a taxa de bits necessária para a codificação do par de macroblocos. Se o custo para reverter a decisão quadro/campo da camada SNR subordinada for menor que o custo para manter a decisão quadro/campo da camada SNR subordinada, é obviamente melhor, no sentido índice-distorção, reverter a decisão quadro/campo do par de macrobloco s e transmitir um novo conjunto de informações de movimento e/ou predição (ver no-path [não-caminho] de decisão 250) . Como conseqüência, usando o refinamento adaptativo quadro/campo é possível obter uma melhor qualidade de figura com a mesma taxa de bits.
Uma vantagem do esquema de codificação FGS ora apresentada com relação às Figs. 1 e 3b é que a transformada inversa no lado do decodificador deve ser solucionada apenas uma vez para cada bloco de transformada. Os coeficientes de transformada escalada da camada de qualidade base e de todas as fatias de refinamento progressivo associadas são somados, relativamente aos pares de macroblocos com modo de codificação quadro/campo mantido, e somente os coeficientes de transformada obtidos, que representam a mais alta qualidade disponível, devem ser transformados. Este conceito é, de acordo com o esquema de codificação FGS das Figs. 1 e 3b, também observado com relação ao refinamento de movimento adaptativo. De maneira a não aumentar a complexidade do decodificador para o esquema de codificação FGS com decisões quadro/campo adaptativas, é introduzida de preferência uma restrição especial para o caso em que a decisão quadro/campo da camada SNR subordinada é alterada. Quando é transmitido um novo modo de macrobloco no esquema de codificação FGS com refinamento de movimento adaptativo em uma determinada camada de refinamento, um outro elemento de sintaxe residual_prediction_flag sinaliza se o sinal residual da camada base SNR (ou da camada de refinamento subordinada) é usado para a reconstrução. Se este marcador for igual a 1, os coeficientes de transformada que foram transmitidos na camada base SNR são usados para a reconstrução do resíduo da representação da camada de realce. Ou então, se este marcador for igual a 0, o sinal residual da representação da camada de realce é reconstruído usando somente o nível de coeficientes de transformada 266 que foram transmitidos na camada de realce FGS 122a, b. Como as transformada que são feitas para pares de macroblocos de campo usam diferentes conjuntos de amostras que as transformadas que são feitas para pares de macroblocos de quadros, é vantaj oso evitar múltiplas transformadas, proibindo a predição residual quando é alterada uma decisão quadro/campo. Assim, em uma configuração preferida da presente invenção, o elemento de sintaxe que especifica o uso supramencionado de um resíduo da camada base SNR, isto ê, o elemento de sintaxe residual_prediction_f lag, é somente transmitido quando a decisão quadro/campo de uma camada base SNR não é modificada na camada de realce SNR. Ou então, o elemento de sintaxe residual_prediction_flag é inferido como sendo igual a 0 no lado do decodificador.
De acordo com uma configuração da presente invenção, a sintaxe de especificação da decisão quadro/campo e do modo macrobloco da camada de realce FGS pode ser expressa pelo seguinte pseudo-código. Até o momento, o código a seguir define as etapas realizadas pelos blocos 114a,b para codificar os elementos de sintaxe supramencionados no fluxo de dados da camada de refinamento 122a,b.
(10) ...
(12) if( ! field_pic_flag &&
| mb adaptive frame f | ield flag ) { (14) | |
| (16) | mb field decoding flag EL // decisão | |
| quadro/campo na | ||
| (18) | // camada de realce | |
| (20) | if(mb_field_decoding_flag_EL = | |
| = mb field decoding | _flag) ( | |
| (22) | // decisão quadro/campo não é modificada | |
| (24) | // macrobloco superior | |
| (26) | change top pred info flag // modificado | |
| (28) | // movimento/predição | |
| (30) | if (change_top pred info_flag ) { | |
| (32) | transmissão do modo macrobloco, dados de | |
| movimento e | ||
| (34) | dados de predição | |
| (36) | transmissão do residual_prediction_flag | |
| (38) | } | |
| (40) | início de transmissão do coeficiente de | |
| transformada | ||
| (42) | níveis do macrobloco superior | |
| (44) | // macrobloco inferior | |
| (46) | change bot pred info flag // modificado | |
| (48) | // movimento/predição | |
| (50) | if ( change_bot pred_info_flag ) { | |
| (52) | transmissão do modo macrobloco, dados de | |
| movimento e | ||
| (54) | dados de predição | |
| (56) | transmissão do residual_prediction_flag |
| (58) (60) | 1 início de | transmissão do coeficiente | de | |
| r raηs f ο rmad3 | ||||
| (62) | niveis | do macrobloco inferior | ||
| (64) | } else { | |||
| (66) | // decisão quadro/campo é modificada | |||
| (68) | // macrobloco superior | |||
| (70) | transmissão do modo macrobloco, dados | de | ||
| movimento e | ||||
| (72) | dados | de predição | ||
| (74) | residual prediction flag é inferido como | |||
| sendo igual | ||||
| (76) | a 0 | |||
| (78) | // macrobloco inferior | |||
| (80) | transmissão do modo macrobloco, dados | de | ||
| movimento e | ||||
| (82) | dados | de predição | ||
| (84) | residual prediction flag é inferido | |||
| como sendo igual | ||||
| (86) | a 0 | |||
| (88) | // | codificação dos coeficientes | de | |
| transformada | ||||
| (90) | inicio de transmissão do coeficiente | |||
| de transformada | ||||
| (92) | níveis para o par de macroblocos | |||
| (94) | } | |||
| (96) |
(98) }
A primeira if-clause (linha 12) verifica se o material fonte de vídeo foi codificado pelos blocos de codificação de camada base 112a, b de maneiid a ser ativada uma decisão quadro/campo com adaptação de macrobloco. Se este for o caso, é transmitido um elemento de sintaxe mb_field_decoding_flag_EL na camada de realce para um atual par de macroblocos ou vários pares de macroblocos (linha 16) de maneira a definir sua decisão quadro/campo naquela camada de realce. A segunda if-clause (linha 20) verifica se a decisão quadro/campo foi alterada na camada de realce relativa à camada base, onde a decisão quadro/campo é codificada no mb_f ield__decoding_f lag.
As próximas linhas (linhas 22-62) definem as informações transmitidas quando a decisão quadro/campo não tiver sido modificada. Nesse caso, em primeiro, ê transmitido e codificado um elemento de sintaxe change_top_pred_info_flag (linha 26) indicando se as informações de movimento/predição do atual macrobloco superior estão modificadas com relação à camada subordinada. Portanto, este elemento de sintaxe representa um indicador 2 60 como mostrado na Fig. 3b. Se este for o caso (terceira if-clause na linha 30) , são transmitidos um novo modo macrobloco, novos vetores de movimento e números de figura de referência (linhas 32 e 34). Depois, é feita uma transmissão (linha 36) de elemento de sintaxe residual_prediction_flag para sinalizar se os níveis de coeficientes de transformada para o atual macrobloco superior a serem seguidos são transmitidos como novos coeficientes de transformada auto-contidos ou como informações de refinamento para refinar os atuais coeficientes de transformada quantizados mais grosseiramente. Depois, isto é, se as informações de movimento forem indicadas para ser adotadas a partir da camada subordinada (no path de if clause na linha 30) ou tiverem sido transmitidas as novas informações de movimento com a residual_prediction_flag (linhas 32-36), é feita a transmissão dos níveis de coeficientes de transformada (linhas 40, 42) com os níveis de coeficientes de transformada representando, no caso de ser estabelecido change_top_pred_mfof lag, novas informações de nível de coeficientes de transformada ou níveis de coeficientes de transformada codificados diferencialmente ou residuais, dependendo da residual_prediction_f lag transferida na linha 36. No outro caso, isto é, change_top_pred_info_flag não sendo estabelecido, os níveis de coeficientes de transformada representam níveis residuais de coeficientes de transformada, isto é, residual_prediction_flag é inferida para indicar codificação diferencial. Isto se repete para o macrobloco inferior (linhas 4460) .
Em outras palavras, de acordo com a presente configuração, no caso da decisão quadro/campo não ser modificada, em qualquer caso, ocorre um refinamento das informações residuais. É claro que esse refinamento pode ser zero, o refinamento pode significar que o fluxo de bits até o momento transmitido não é usado, mas que um novo sinal completo é transmitido e que não esta codificado diferencialmente. O primeiro marcador (flag) , isto é, change_top/bot_pred_info__flag, indica se o refinamento do residual é realizado no modo normal, isto é, são usados os mesmos parâmetros de movimento que na camada subordinada, e o refinamento do residual é codificado como uma diferença dos coeficientes de transformada transmitidos até o
momento na camada base e nas camadas de refinamento subordinadas, se houver. No caso de change_top/bot_pred_inf o_f lag não estar estabelecido, sào transmitidos novos parâmetros de movimento - no presente caso sem codificação diferencial, mas este último é também possível como acima indicado sendo um outro marcador transmitido, isto é, residual__prediction_f lag, este marcador indicando se o residual válido até o presente está sendo usado. Se o último marcador for estabelecido, então o refinamento é codificado como um refinamento/residual/diferença, caso contrário, o sinal residual é codificado completamente sob nova forma.
Entretanto, por outro lado, se a decisão quadro/campo tiver sido modificada com relação à camada base, são transmitidos novo modo de particionamento de macrobloco, vetores de movimento e números de figura de referência (linhas 70, 72) para o atual macrobloco superior, sem elemento de sintaxe sinalizador residual_prediction_flag que deve, por sua vez, no lado do decodificador, ser inferido como sendo igual a 0 (linhas 74, 76) . Isto se repete para o macrobloco inferior (linhas 78-86) . Então começa a transmissão dos níveis de coeficientes de transformada para o atual par de macroblocos (linhas 90 e 92) após ter transmitido as informações de movimento para os macroblocos superior e inferior para todo o par de macroblocos. É claro que as etapas 10-92 são também realizadas para outros pares de macroblocos.
Com relação à configuração pseudo-código acima, ressalta-se que a sintaxe modificada somente se aplica quando um quadro codificado é transmitido, isto é, field_pic_flag igual a 0, sendo habilitada a codificação quadro/campo com adaptação de macrobloco, isto é, mb_adaptive_f rame__f ield_f lag é igual a 1 (linha 12) . Além disso, a decisão quadro/campo somente é transmitida (linhas 16, 18) quando o par de macroblocos é visitado pela primeira vez durante a codificação da fatia de refinamento progressivo. Quando o elemento de sintaxe é diferente do elemento de sintaxe correspondente da camada base SNR, é transmitido um novo conjunto de modos macroblocos, de informações de movimento e/ou predição (linhas 70, 72, 80, 82) para ambos os macroblocos do par de macroblocos, e a residual_prediction_flag é inferida como sendo igual a 0 para ambos os macroblocos do par de macroblocos
76, 84, ser transmitido um elemento de sintaxe especificando o tamanho da transformada.
codificação prossegue com um primeiro nível de coeficientes de transformada do macrobloco superior no caminho de
Quando o valor do elemento de sintaxe quadro/campo é idêntico a seu valor na fatia de qualidade base, a segue o conceito no pedido PCT supramencionado ou o conceito de JVT-Q031. A codificação prossegue com o macrobloco superior e, aqui, primeiro um elemento de sintaxe é transmitido change_top_pred_info_flag, que especifica uma mudança do modo macrobloco e dos dados associados de movimento e predição (linha 26) . Se este elemento de sintaxe for igual a 1, são transmitidos um novo modo de macrobloco e os dados associados de movimento e predição, assim como um marcador (flag) especificando o uso da predição residual da camada base (linhas 32-36) . A codificação então prossegue com o primeiro nível de coeficientes de transformada do macrobloco superior no caminho de significatividade (linhas 40, 42).
Em todas as visitas seguintes de um par de macroblocos ou macrobloco, isto é, quando mb_field_decoding_flag_EL e change__top_pred_inf o_f lag ou change_bot_pred_info_flag (quando aplicável) e os correspondentes elementos de sintaxe que especificam modos de predição de macroblocos modificados já tiverem sido transmitidos, somente são codificados outros níveis de coeficientes de transformada na ordem supramencionada. Isto significa que o elemento de sintaxe mb_field_decoding_flag_EL (e uma possível modificação das informações de predição de macrobloco para o correspondente par de macroblocos) é somente transmitido quando um par de macroblocos é visitado pela primeira vez e nenhum nível de coeficientes de transformada deste par de macroblocos tiver sido transmitido na atual fatia de refinamento progressivo. De maneira similar, o elemento de sintaxe change_top_pred__info_f lag ou change_bot__pred_inf o_f lag, assim como uma possível modificação das informações de predição de macrobloco são somente transmitidos quando mb_field_decoding_flag_EL for igual a mb_f ield_decoding_flag do par de macroblocos co-localizado na camada base SNR, e quando o macrobloco é visitado pela primeira vez e nenhum nível de coeficientes de transformada tiver sido transmitido para esse macrobloco.
Com relação à Fig. 4, são descritas as etapas a serem realizadas pelo decodificador na decodificação do fluxo de bits escalável 126. 0 decodif icador inicia rompendo o fluxo de bits de camada base 122a e 122b contido no fluxo de bits escalável 126 na etapa 800. Como resultado da etapa 800, o decodif icador
conhece o modo campo/quadro de cada par de macroblocos, assim como os parâmetros de movimento de cada macrobloco e a existência das informações residuais. Em outras palavras, na etapa 800, o decodif icador extrai as informações 214, 240 e 242 do fluxo de dados de camada base 122a, b. Na próxima etapa, a etapa 802, o decodificador verifica se é desejado/necessário outro refinamento ou realce de qualidade. Se não, o decodificador imediatamente decodifica o fluxo de dados de camada base 122a,b em uma etapa de decodificação 804. Dependendo da resolução espacial desejada/necessária, a decodificação 804 é feita somente decodificando o fluxo de bits de camada base 120b de acordo com o padrão H. 264/MPEG4-AVC ou ambos os fluxos de bits de camada base 120a,b são decodificados de acordo com aquele padrão e então as figuras grosseiramente reconstruídas são refinadas por meio das mais finamente reconstruídas.
Se for desejado/necessário um outro refinamento, o decodificador prossegue para a etapa 806 em que a indicação de alteração de modo quadro/campo (mb_f ield_decoding_f lag) e, caso nenhuma alteração seja indicada, a indicação liga/desliga de realce da precisão de movimento (change_*_pred_into_flag) é extraída do próximo fluxo de bits de camada de refinamento de ordem superior 122a, b. Após a etapa 806, o decodif icador pode reconstruir a partir do modo quadro/campo dos pares de macroblocos na atual camada de refinamento e a significatividade dos níveis dos coeficientes das transformada na camada base ou camada subordinada, o caminho de significatividade e o caminho de refinamento usado no lado do codificador para a atual camada de refinamento. Na próxima etapa, a etapa 808, o decodificador divide a camada de refinamento da mesma forma para extrair as informações de movimento de todos os macroblocos com indicação liga/desliga de realce de movimento indicando uma substituição das atuais informações de movimento e para todos os macroblocos com decisão de modo quadro/campo alterada, assim como as informações residuais que representam as informações residuais codificadas diferencialmente ou as informações residuais auto-contidas, dependendo da residual_prediction_flag sendo dividida a partir do fluxo de dados de refinamento no caso de ser estabelecida change_*_pred_into_flag, e inferida para indicar a codificação diferencial no caso de não ser estabelecida change_*_pred_into_flag. Depois, na etapa 810, decodificador verifica para cada par de macroblocos se o modo quadro/campo foi alterado com relação à camada subordinada. Se sim, o decodificador prossegue para a etapa 812 e substitui, já que a residual_prediction_flag é inferida como sendo igual a 0, os atuais dados de codificação, isto é, os atuais dados de movimento/residuais, com as informações de movimento/ref inamento
264 e 266 extraídas do fluxo de dados de camada de realce da atual camada de realce. Entretanto, para todos os pares de macroblocos em que o modo quadro / campo não tiver sido modificado, o decodificador verifica o indicador liga/desliga de realce de movimento, isto é, elemento de sintaxe change_bot_pred_info_flag, com relação a se informações de realce de movimento 264 ou 266 existem para os respectivos macroblocos do par de macroblocos. Se este for o caso, o decodificador substitui
- em uma configuração alternativa, refina - os atuais dados de movimento para este macrobloco, isto é, as informações de movimento, e substitui ou refina os dados residuais para este macrobloco, dependendo do marcador respectivo transmitido no fluxo de dados de entrada, isto é, residual_prediction_ f lag. Para ser mais exato, no caso da decodificação do fluxo de dados de camada de realce de acordo com o pseudo código acima, as informações de movimento são sempre substituídas, considerando que, no caso da decisão quadro/campo não ser modificada, as informações residuais são substituídas ou refinadas, dependendo de algum indicador, isto é, residual_prediction_flag, no caso do fluxo de dados de camada de realce de pseudo código acima. No caso de substituição, as informações de movimento para um macrobloco específico contido na camada de realce substituem totalmente as informações de movimento da camada subordinada. No caso de refinamento, as informações da camada subordinada são combinadas com as informações respectivas na camada de realce. Especialmente, os níveis de coeficientes de transformada da camada de realce são dequantizados e adicionados aos já dequantizados ou escalados (e eventualmente somados) níveis de coeficientes de transformada dos correspondentes coeficientes de transformada da camada subordinada.
De outra forma, isto é, se o indicador liga/desliga de realce de movimento mostrar que a camada de realce não tem informações de realce de movimento para o respectivo macrobloco, nada é alterado com relação aos dados de movimento deste macrobloco, mas o decodificador refina, na etapa 818, os dados residuais por meio da combinação dos atuais coeficientes de transformada obtidos a partir do fluxo de dados de entrada até o momento e - via de-quantização - as informações de refinamento da atual camada de refinamento para refinar os dados residuais, isto
é, os níveis de coeficientes de transformada definidos para uma dimensão de etapa de quantização reduzida.
Depois, isto é, após ter realizado qualquer das etapas 812, 816 e 818 para todos os macroblocos da figura atual, o procedimento retorna à etapa 802 para verificar se outros refinamentos são desejados/necessários. Se sim, as etapas 806 a 818 são novamente realizadas para a próxima camada de refinamento. Ou então, as etapas do procedimento prosseguem para a etapa 804, onde os atuais dados de codificação são decodificados, isto é, é feita a re-transformação, como uma decomposição espectral inversa, o teor da figura dos macroblocos é predito pelo uso das atuais informações de movimento e baseado em figuras de referência jã reconstruídas e as informações residuais obtidas pelas retransformações combinadas com a predição assim obtida, para produzir a figura atual em sua forma reconstruída.
Resumindo as configurações acima, estas representam um esquema de codificação FGS com as seguintes propriedades. Primeiro, é suportada a codificação dos sinais de refinamento dos quadros com decisão quadro/campo com adaptação de macroblocos em que um par de macroblocos adj acentes verticais é codificado como um par de macroblocos de quadro ou como um par de macroblocos de campo. Depois, é permitido que a decisão quadro/campo para os pares de macroblocos da camada base SNR seja modificada adaptativamente na camada de realce FGS. Ê possível que a decisão quadro/campo de uma camada de realce FGS seja sinalizada pelo elemento de sintaxe para cada par de macroblocos ou para um subconjunto de pares de macroblocos na camada de realce FGS. Para os pares de macroblocos, para os quais a decisão quadro/campo não
é sinalizada, é inferida a decisão quadro/campo usando os já transmitidos elementos de sintaxe. Em uma configuração, um conjunto completo de informações de movimento e predição de macroblocos é transmitido quando a decisão quadro/campo na camada de realce for diferente da decisão quadro/campo da camada base SNR. Um elemento de sintaxe especificando o uso de uma predição residual da camada base SNR pode ser inferido como igual aX, quando a decisão quadro/campo na camada de realce for diferenteda decisão quadro/campo da camada base SNR. Aí, um valor deX especifica que nenhuma predição residual é aplicada e que os sinais residuais reconstruídos são obtidos usando somente os níveis de coeficientes de transformada da atual camada de realce FGS. De maneira alternativa, para ambos os macroblocos de um par de macroblocos, pode ser transmitido um elemento de sintaxe quando suas decisões quadro/campo na camada de realce forem idênticas à decisão quadro/campo da camada base SNR. Este elemento de sintaxe poderia especificar se novas informações de movimento e/ou predição de macroblocos são transmitidas na camada de realce FGS ou se são usadas as informações de movimento e/ou predição do macrobloco co-localizado na camada base SNR. A compensação de movimento dos macroblocos de campo é feita em base de campo, considerando que a compensação de movimento dos macroblocos de quadro é feita em base de quadros. De maneira similar, a transformada inversa dos macroblocos de campo pode ser feita em base de campo, considerando que a transformada inversa dos macroblocos de quadro pode ser feita em base de quadros. Além disso, de maneira similar, a ordem de varredura dos coeficientes de transformada dentro de um bloco de transformada pode ser
dependente do fato de o macrobloco será um macrobloco de campo ou de quadro.
Por último, nota-se que o elemento de sintaxe para a especificação do modo quadro/campo de um par de macroblocos pode ser transmitido usando códigos de entropia condicionados, onde a condição é dependente do modo quadro/campo do par de macroblocos co-locali zado na camada base SNR. Por exemplo, o elemento de sintaxe 258 podería ser transmitido por meio de um código de entropia usando uma estimativa de probabilidade dependente da decisão de modo campo/quadro 212 na camada base.
Finalmente, nota-se que as configurações acima se relacionaram especialmente com o padrão H.264/MPEG4-AVC. Entretanto, a presente invenção aplica-se também a outros esquemas de codificação.
Dependendo de uma implementação real, o esquema de codificação do invento pode ser implementado em hardware ou em software. Portanto, a presente invenção também se relaciona a um programa de computador, que pode ser armazenado em um meio de leitura por computador como um CD, um disco ou qualquer outro portador de dados. Portanto, a presente invenção é também um programa de computador tendo um código de programa que, quando executado em um computador, realiza o método do invento descrito em conexão com as figuras acima.
Além disso, nota-se que todas as etapas indicadas nos diagramas de fluxo poderíam ser implementadas pelos meios respectivos e as implementações podem compreender a operação de sub-rotinas em uma CPU, peças de circuitos de um ASIC ou similares.
| mostrado e | Apesar de o mencionado ter sido particularmente descrito com referência as suas configurações |
particulares, será compreendido pelos peritos na técnica que várias outras alterações de forma e detalhes podem ser feitas sem 5 abandonar o espírito e o escopo da invenção. Deve ser entendido que várias alterações podem ser feitas para a adaptação a diferentes configurações, sem abandonar os conceitos mais amplos ora revelados e englobados pelas reivindicações que seguem.
Claims (22)
- REIVINDICAÇÕE S1. Decodificador para a decodificação de um fluxo de dados codificado com SNR escalável (126) codificando uma figura predeterminada (200), caracterizado pelo fato de que o fluxo de dados codificado com SNR escalável incluindo primeiro os dados codificados com SNR (120a,b) tendo a figura predeterminada em si codificada com uma primeira precisão por meio do tratamento de uma porção predeterminada (202a,b) da figura predeterminada, uma primeira informação de maior precisão direcionada a quadro e direcionada a campo (122a,b) representando os segundos dados codificados de SNR, tendo a porção predeterminada (202a,b) aí codificada, com uma segunda precisão maior que a primeira precisão pelo tratamento da porção predeterminada (202a,b) uma segunda informação direcionada a quadro e direcionada a campo ou de refinamento que permite o refinamento dos primeiros dados codificados com SNR, para obter os segundos dados codificados com SNR, e informações indicativas (256) que indicam a falta ou a existência de uma alteração no tratamento direcionado a quadro/campo entre os primeiros dados codificados com SNR e os segundos dados codificados com SNR, o decodificador compreendendo: meios de verificação (810) das informações indicativas, com relação a se estas indicam uma alteração no tratamento direcionado a quadro/campo da porção predeterminada entre os primeiros dados codificados com SNR e os segundos dados codificados com SNR; meios de disposição (810-816) para, se as informações indicativas indicarem a alteração de tratamento direcionado a quadro/campo, não considerar, pelo menos parcialmente, os primeiros dados codificados com SNR com relação à porção predeterminada e dispor,Petição 870190066332, de 15/07/2019, pág. 7/19
- 2/12 por sua vez, os segundos dados codificados com SNR como dados para decodificação, ou, baseado em informações de maior precisão, refinar os primeiros dados codificados com SNR para obter os segundos dados codificados com SNR e dispor os segundos dados obtidos codificados com SNR como dados para decodificação; e meios de decodificação (804) para a decodificação dos dados dispostos para decodificação, pelo tratamento da porção predeterminada da figura predeterminada, aquela direcionada a quadro ou campo para reconstruir a figura predeterminada com a segunda precisão.2. Decodificador de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda meios de divisão (800-808) para dividir o fluxo de dados codificados escaláveis com SNR para proporcionar os primeiros dados codificados com SNR e as informações de maior precisão.
- 3. Decodificador de acordo com a reivindicação 2, caracterizado pelo fato de que os meios de divisão são configurados para fazer a divisão das informações de maior precisão, dependendo das informações indicativas.
- 4. Decodificador de acordo com a reivindicação 1, caracterizado pelo fato de que a figura predeterminada é parte de uma seqüência de figuras de vídeo (104) e os meios de decodificação são configurados para extrair as informações de movimento e as respectivas informações residuais para a porção predeterminada dos dados para decodificação, aplicar as informações de movimento às figuras de referência reconstruídas para obter uma predição de compensação por movimento para a porção predeterminada, e reconstruir a porção predeterminada com base na predição de compensação por movimento e nas informações residuais.Petição 870190066332, de 15/07/2019, pág. 8/193/12
- 5. Decodificador de acordo com a reivindicação 4, caracterizado pelo fato de que os meios de decodificação são configurados para fazer uma decomposição espectral inversa para extrair as informações residuais.
- 6. Decodificador de acordo com a reivindicação 4, caracterizado pelo fato de que os meios de decodificação são configurados para fazer o pedido das informações de movimento e a reconstrução da porção predeterminada dependente das informações indicativas.
- 7. Decodificador de acordo com a reivindicação 1, caracterizado pelo fato de que os meios de disposição (810-816) são configurados para desconsiderar os segundos dados codificados com SNR e dispor os primeiros dados codificados com SNR como dados para decodificação, se uma instrução ao decodificador indicar que a figura predeterminada deve ser reconstruída somente na primeira precisão.
- 8. Decodificador de acordo com a reivindicação 1, caracterizado pelo fato de que os meios de disposição (810-816) forem configurados para, caso as informações indicativas indicarem
a ausência de uma alteração no tratamento direcionado a quadro/campo da porção predeterminada entre os primeiros dados codificados com SNR e os segundos dados codificados com SNR , verificar (814) as informações de alteração de refinamento (260) no fluxo de dados codificado com SNR escalável se os primeiros dados codificados com SNR devem ser refinados ou não com relação à porção predeterminada, e, dependendo do resultado da verificação, manter os primeiros dados codificados com SNR como os dados a serem decodificados com relação à porção predeterminada ou refinarPetição 870190066332, de 15/07/2019, pág. 9/194/12 (816), com base nas informações de alta precisão, os primeiros dados codificados com SNR para obter os segundos dados codificados com SNR e dispor os segundos dados codificados com SNR obtidos como os dados a serem decodificados. - 9. Decodificador de acordo com a reivindicação 1, caracterizado pelo fato de que as informações indicativas são sinalizadas por um primeiro elemento de sintaxe associado à referida porção predeterminada e a figura predeterminada compreende outra porção predeterminada, onde as informações de mais alta precisão não possuem um segundo elemento de sintaxe associado à referida outra porção para sinalizar a ausência ou a existência de uma alteração no tratamento direcionado a quadro/campo referente à outra porção predeterminada, onde os meios de verificação são configurados para inferir um valor do segundo elemento de sintaxe com o uso dos já verificados elementos de sintaxe nas informações de mais alta precisão.
- 10. Decodificador de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda segundos meios de verificação para, se as informações indicativas indicarem a ausência de uma alteração no tratamento direcionado a quadro/campo referente à porção predeterminada, verificando as informações subordinadas (260) nas informações de mais alta precisão com relação a se os segundos dados codificados com SNR incluem informações de movimento e/ou informações residuais, e com relação a se os segundos dados codificados com SNR substituem os primeiros dados codificados com SNR com relação à porção predeterminada ou os segundos dados codificados com SNR serem dedicados para o refinamento dos primeiros dados codificados com SNR para obteremPetição 870190066332, de 15/07/2019, pág. 10/195/12 os segundos dados codificados com SNR , para obterem um resultado da verificação, onde os meios de disposição são configurados para realizarem a não consideração e a disposição ou o refinamento e a disposição com relação às informações de movimento e/ou residuais dependentes do resultado da verificação.
- 11. Decodificador de acordo com a reivindicaçãoI, caracterizado pelo fato de que os segundos dados codificados com SNR compreendem os níveis de coeficientes de transformada de uma matriz de coeficientes de transformada representando um resíduo com compensação de movimento de pelo menos uma porção da porção predeterminada, e onde os meios de divisão são dispostos para associarem os níveis de coeficientes de transformada aos coeficientes de transformada da matriz de coeficientes de transformada de acordo com suas ordens de ocorrência no fluxo de dados codificado com SNR escalável e uma ordem de varredura entre os coeficientes de transformada, que é igual a uma de uma primeira e de uma segunda ordem de varreduras diferentes da primeira ordem de varredura, dependente das informações indicativas.
- 12. Decodificador de acordo com a reivindicaçãoII, caracterizado pelo fato de que os meios de disposição e de decodificação são configurados para, caso as informações indicativas (256) indicarem a presença de uma alteração no tratamento direcionado a quadro/campo da porção predeterminada, aplicar uma transformada inversa à matriz de transformada para obter o resíduo com compensação de movimento, combinar o resíduo com compensação de movimento com uma porção direcionada a campo ou quadro de uma figura de referência reconstruída deslocada da porção predeterminada pelas informações de movimento indicadas nasPetição 870190066332, de 15/07/2019, pág. 11/196/12 informações de mais alta precisão ou os primeiros dados codificados com SNR para obter uma figura reconstruída candidata que seja igual à figura reconstruída no caso do segundo direcionamento a quadro e direcionamento a campo ser direcionado a quadro, e, se o segundo direcionamento a quadro e direcionamento a campo for direcionado a campo, converter a figura reconstruída candidata de uma representação de campo para uma representação de quadro para obter a figura reconstruída.
- 13. Codificador para a codificação de uma figura predeterminada, caracterizado pelo fato de que compreende: meios de codificação base (110a,b, 112a,b) para, pelo tratamento de uma porção predeterminada (202a,b) de uma figura predeterminada (200), uma das direcionadas a quadro ou das direcionadas a campo, codificar a figura predeterminada com uma primeira precisão para obter os primeiros dados codificados com SNR (120a,b); meios de determinação (114a,b) para determinar as informações de mais alta precisão (120a,b) pelo tratamento da porção predeterminada, a outra das direcionadas a quadro ou direcionadas a campo, as informações de mais alta precisão representado os segundos dados codificados com SNR , tendo aí codificada a porção predeterminada com uma segunda precisão sendo maior que a primeira precisão pelo tratamento da porção predeterminada, a outra das direcionadas a quadro ou direcionadas a campo ou as informações de refinamento que permitem o refinamento dos primeiros dados codificados com SNR para obter os segundos dados codificados com SNR ; e meios de construção (124) para construir um fluxo de dados codificados escaláveis com SNR (126) codificando a figura predeterminada de maneira a incluir os primeiros dados codificados com SNR (120a,b),Petição 870190066332, de 15/07/2019, pág. 12/197/12 as informações de mais alta precisão (122a,b) e as informações indicativas (256) que indicam uma mudança no tratamento direcionado a quadro/campo da porção predeterminada entre os primeiros dados codificados com SNR e os segundos dados codificados com SNR .
- 14. Codificador de acordo com a reivindicação 13, caracterizado pelo fato de que a figura predeterminada ainda compreende uma outra porção predeterminada, e as informações de mais alta precisão também representam outros segundos dados codificados com SNR , tendo a outra porção predeterminada aí codificada com a segunda precisão tratando a outra porção predeterminada, aquela direcionada a quadro e direcionada a campo ou outras respectivas informações de refinamento permitindo o refinamento de outros dados codificados de primeira SNR tendo a outra porção predeterminada aí codificada com a primeira precisão, onde os meios de determinação são configurados para determinar os dados codificados de segunda SNR , de maneira que estes compreendem os primeiros níveis de coeficientes de transformada de uma primeira matriz de coeficientes de transformada representando um resíduo com compensação de movimento da porção predeterminada e os outros segundos dados codificados com SNR , de maneira que estes compreendem os segundos níveis de coeficientes de transformada de uma segunda matriz de coeficientes de transformada representando um resíduo com compensação de movimento da outra porção predeterminada, e os meios de construção sendo configurados para inserirem os primeiros níveis de coeficientes de transformada no fluxo de dados codificados escaláveis com SNR de acordo com uma primeira ordem de varredura entre os coeficientes de transformadaPetição 870190066332, de 15/07/2019, pág. 13/198/12 da primeira matriz de coeficientes de transformada, e os segundos níveis de coeficientes de transformada no fluxo de dados codificados escaláveis com SNR de acordo com uma segunda ordem de varredura entre os coeficientes de transformada da segunda matriz de coeficientes de transformada sendo diferente da primeira ordem de varredura.
- 15. Codificador de acordo com a reivindicação 13, caracterizado pelo fato de que os meios de construção são configurados para fazer a construção de maneira que a correta divisão das informações de mais alta precisão depende das informações indicativas.
- 16. Codificador de acordo com a reivindicação 13, caracterizado pelo fato de que a figura predeterminada é parte de uma seqüência de figuras de vídeo (104) e os meios de codificação base e os meios de determinação são projetados de maneira que os dados codificados de segunda SNR permitem a obtenção de informações de movimento e/ou das informações residuais respectivas para a porção predeterminada do fluxo de dados codificados escaláveis comSNR aplicando as informações de movimento às figuras de referência já codificadas e reconstruídas para obter uma predição de compensação por movimento para a porção predeterminada, e reconstruir a porção predeterminada com base na predição de compensação por movimento e nas informações residuais.
- 17. Codificador de acordo com a reivindicação 16, caracterizado pelo fato de que os meios de codificação base e os meios de determinação são configurados de maneira que uma decomposição espectral inversa deve ser realizada para extrair as informações residuais.Petição 870190066332, de 15/07/2019, pág. 14/199/12
- 18. Codificador de acordo com a reivindicação 16, caracterizado pelo fato de que os meios de codificação base e os meios de determinação são configurados de maneira que a aplicação das informações de movimento e a reconstrução da porção predeterminada devem ser feitas dependentes das informações indicativas.
- 19. Codificador de acordo com a reivindicação 13, caracterizado pelo fato de que os meios de construção (114a,b) são configurados de maneira que as informações indicativas indicam a ausência de uma mudança no tratamento direcionado a quadro/campo de outra porção predeterminada da figura predeterminada, e os meios de construção e os meios de determinação são configurados de maneira que o fluxo de dados codificados escaláveis com SNR compreendem informações de alteração de refinamento (260) indicando se os dados codificados de primeira SNR devem ser refinados ou não com relação à outra porção predeterminada e as informações de mais alta precisão ainda representam outras informações de refinamento que permitem refinar os primeiros dados codificados com SNR com relação à outra porção predeterminada para obter outros dados codificados de segunda SNR que codificam a porção predeterminada com a segunda precisão.
- 20. Codificador de acordo com a reivindicação 13, caracterizado pelo fato de que os meios de construção (114a,b) são configurados de maneira que as informações indicativas indicam a ausência de uma alteração no tratamento direcionado a quadro/campo de outra porção predeterminada da figura predeterminada, os meios de construção e os meios de determinação são configurados de maneira que o fluxo de dados codificados escaláveis com SNRPetição 870190066332, de 15/07/2019, pág. 15/1910/12 compreendem informações subordinadas (260) nas informações de mais alta precisão, indicando se as informações de mais alta precisão incluem outros segundos dados codificados com SNR incluindo as informações de movimento e/ou as informações residuais para a outra porção predeterminada, e indicando se os outros segundos dados codificados com SNR devem substituir os primeiros dados codificados com SNR com relação à porção predeterminada ou outros dados codificados de segunda SNR são dedicados para o refinamento dos primeiros dados codificados com SNR com relação à outra porção predeterminada para obter os dados codificados de segunda SNR .
- 21. Método para a decodificação de um fluxo de dados codificados escaláveis com SNR (126) codificando uma figura predeterminada (200), caracterizado pelo fato de que o fluxo de dados codificados escaláveis com SNR incluindo primeiros dados codificados com SNR (120a,b), tendo a figura predeterminada neles codificada com uma primeira precisão pelo tratamento de uma porção predeterminada (202a,b) da figura predeterminada, uma primeira das direcionadas a quadro e direcionadas a campo, informações de mais alta precisão (122a,b) representando segundos dados codificados com SNR tendo a porção predeterminada (202a,b) neles codificada com uma segunda precisão superior à primeira precisão pelo tratamento da porção predeterminada (202a,b) , uma segunda das direcionadas a quadro e direcionadas a campo, ou informações de refinamento que permitem o refinamento dos primeiros dados codificados com SNR de maneira a obter os segundos dados codificados com SNR e informações indicativas (256) que indicam uma ausência ou a existência de uma alteração no tratamento direcionado a quadro/campo entre os primeiros dados codificadosPetição 870190066332, de 15/07/2019, pág. 16/1911/12 com SNR e os segundos dados codificados com SNR o método compreendendo as seguintes etapas:verificar (810) se as informações indicativas indicam uma alteração no tratamento direcionado a quadro/campo da porção predeterminada entre os primeiros dados codificados com SNR e os segundos dados codificados com SNR ; se as informações indicativas indicam uma alteração no tratamento direcionado a quadro/campo, (810-816) não considerando, pelo menos parcialmente, os primeiros dados codificados com SNR com relação à porção predeterminada e dispondo, por sua vez, os segundos dados codificados com SNR como dados para codificação, ou, baseado nas informações de mais alta precisão, o refinamento dos primeiros dados codificados comSNR para obter os segundos dados codificados comSNR e dispor os segundos dados codificados com SNR obtidos como dados para decodificação;e decodificar (804) os dados dispostos para codificação pelo tratamento da porção predeterminada da figura predeterminada, aquela direcionada a quadro e direcionada a campo para reconstruir a figura predeterminada com a segunda precisão.
- 22 .Método para codificar uma figura predeterminada, caracterizado pelo fato de que compreende as seguintes etapas: pelo tratamento da porção predeterminada (202a,b) de uma figura predeterminada (200), uma das direcionadas a quadro e direcionadas a campo, codificando a figura predeterminada com uma primeira SNR para obter os primeiros dados codificados com precisão (120a,b); determinar as informações de mais alta precisão (120a,b) pelo tratamento da porção predeterminada, a outra das direcionadas a quadro e direcionadas a campo, as informações de mais alta precisão representando osPetição 870190066332, de 15/07/2019, pág. 17/1912/12 segundos dados codificados com SNR tendo neles codificada a porção predeterminada com uma segunda precisão sendo maior do que a primeira precisão pelo tratamento da porção predeterminada, a outra das direcionadas a quadro e direcionadas a campo ou informações de refinamento que permitem refinar os primeiros dados codificados com SNR para obter os segundos dados codificados com SNR ; e construir um fluxo de dados codificados escaláveis com SNR (126) codificando a figura predeterminada para incluir os primeiros dados codificados com SNR (120a,b), as informações de mais alta precisão (122a,b) e as informações indicativas (256) que indicam uma alteração no tratamento direcionado a quadro/campo da porção predeterminada entre os primeiros dados codificados com SNR e os segundos dados codificados com SNR .
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2006/002634 WO2007107170A1 (en) | 2006-03-22 | 2006-03-22 | Coding scheme enabling precision-scalability |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0608004A2 BRPI0608004A2 (pt) | 2009-11-03 |
| BRPI0608004B1 true BRPI0608004B1 (pt) | 2019-08-27 |
Family
ID=37696248
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0608004A BRPI0608004B1 (pt) | 2006-03-22 | 2006-03-22 | esquema de codificação permitindo escalabilidade de precisão |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8428143B2 (pt) |
| EP (1) | EP1859630B1 (pt) |
| JP (1) | JP4876122B2 (pt) |
| BR (1) | BRPI0608004B1 (pt) |
| WO (1) | WO2007107170A1 (pt) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101589625B (zh) | 2006-10-25 | 2011-09-21 | 弗劳恩霍夫应用研究促进协会 | 质量可缩放编码 |
| US8243798B2 (en) * | 2006-12-20 | 2012-08-14 | Intel Corporation | Methods and apparatus for scalable video bitstreams |
| KR101365597B1 (ko) * | 2007-10-24 | 2014-02-20 | 삼성전자주식회사 | 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법 |
| JP5203503B2 (ja) * | 2008-04-16 | 2013-06-05 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | ビット深度スケーラビリティ |
| KR101233627B1 (ko) * | 2008-12-23 | 2013-02-14 | 한국전자통신연구원 | 스케일러블 부호화 장치 및 방법 |
| US20110002554A1 (en) * | 2009-06-11 | 2011-01-06 | Motorola, Inc. | Digital image compression by residual decimation |
| US20110002391A1 (en) * | 2009-06-11 | 2011-01-06 | Motorola, Inc. | Digital image compression by resolution-adaptive macroblock coding |
| DE102009039095A1 (de) * | 2009-08-27 | 2011-03-10 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Erzeugen, Decodieren und Transcodieren eines codierten Videodatenstroms |
| JP2011109469A (ja) * | 2009-11-18 | 2011-06-02 | Canon Inc | コンテンツ受信装置及びコンテンツ受信装置の制御方法 |
| WO2011127964A2 (en) * | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus for intra predicting a block, apparatus for reconstructing a block of a picture, apparatus for reconstructing a block of a picture by intra prediction |
| KR101550112B1 (ko) | 2010-07-21 | 2015-09-11 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 픽쳐 코딩 및 디코딩 |
| US9497472B2 (en) * | 2010-11-16 | 2016-11-15 | Qualcomm Incorporated | Parallel context calculation in video coding |
| US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
| US9049444B2 (en) | 2010-12-22 | 2015-06-02 | Qualcomm Incorporated | Mode dependent scanning of coefficients of a block of video data |
| US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
| JP5982734B2 (ja) * | 2011-03-11 | 2016-08-31 | ソニー株式会社 | 画像処理装置および方法 |
| US20130083856A1 (en) * | 2011-06-29 | 2013-04-04 | Qualcomm Incorporated | Contexts for coefficient level coding in video compression |
| US9516316B2 (en) | 2011-06-29 | 2016-12-06 | Qualcomm Incorporated | VLC coefficient coding for large chroma block |
| US9445093B2 (en) * | 2011-06-29 | 2016-09-13 | Qualcomm Incorporated | Multiple zone scanning order for video coding |
| US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
| US9584819B2 (en) * | 2011-10-24 | 2017-02-28 | Qualcomm Incorporated | Grouping of tiles for video coding |
| CA3056122C (en) * | 2012-04-13 | 2021-05-04 | Robert SKUPIN | Low delay picture coding |
| US20130287109A1 (en) * | 2012-04-29 | 2013-10-31 | Qualcomm Incorporated | Inter-layer prediction through texture segmentation for video coding |
| TWI558182B (zh) | 2012-06-29 | 2016-11-11 | Ge影像壓縮有限公司 | 視訊資料串流槪念技術 |
| CN108401157B (zh) | 2012-10-01 | 2022-06-24 | Ge视频压缩有限责任公司 | 可伸缩视频解码器、编码器及可伸缩视频解码、编码方法 |
| US9756613B2 (en) | 2012-12-06 | 2017-09-05 | Qualcomm Incorporated | Transmission and reception timing for device-to-device communication system embedded in a cellular system |
| US9380305B2 (en) * | 2013-04-05 | 2016-06-28 | Qualcomm Incorporated | Generalized residual prediction in high-level syntax only SHVC and signaling and management thereof |
| US9807421B2 (en) * | 2013-04-05 | 2017-10-31 | Sharp Kabushiki Kaisha | NAL unit type restrictions |
| US20150016502A1 (en) * | 2013-07-15 | 2015-01-15 | Qualcomm Incorporated | Device and method for scalable coding of video information |
| FR3011429A1 (fr) * | 2013-09-27 | 2015-04-03 | Orange | Codage et decodage video par heritage d'un champ de vecteurs de mouvement |
| US9794558B2 (en) * | 2014-01-08 | 2017-10-17 | Qualcomm Incorporated | Support of non-HEVC base layer in HEVC multi-layer extensions |
| TWI625955B (zh) * | 2016-10-12 | 2018-06-01 | 國立清華大學 | 合作式多媒體通訊方法及其系統 |
| KR102907066B1 (ko) * | 2018-01-29 | 2026-01-05 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 재구성된 픽처의 정제를 갖는 인코딩 및 디코딩 |
| KR20250079887A (ko) * | 2023-11-27 | 2025-06-04 | 한국전자통신연구원 | 계층적 양자화에 기반한 잠재 표현 부호화/복호화 방법 및 이를 기록한 컴퓨터로 판독 가능한 기록 매체 |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4974171A (en) * | 1989-08-03 | 1990-11-27 | Eastman Kodak Company | Page buffer system for an electronic gray-scale color printer |
| US5144424A (en) | 1991-10-15 | 1992-09-01 | Thomson Consumer Electronics, Inc. | Apparatus for video data quantization control |
| US5533173A (en) * | 1991-10-21 | 1996-07-02 | Polaroid Corporation | Method and apparatus for processing a color map using discrete cosine transforms |
| DE4310727C2 (de) * | 1992-04-06 | 1996-07-11 | Hell Ag Linotype | Verfahren und Einrichtung zur Analyse von Bildvorlagen |
| US5253055A (en) * | 1992-07-02 | 1993-10-12 | At&T Bell Laboratories | Efficient frequency scalable video encoding with coefficient selection |
| US5671298A (en) * | 1994-08-30 | 1997-09-23 | Texas Instruments Incorporated | Image scaling using cubic filters |
| JP3600372B2 (ja) * | 1995-06-27 | 2004-12-15 | 株式会社リコー | 色再現域補正装置および方法 |
| US6094454A (en) * | 1997-06-19 | 2000-07-25 | International Business Machines Corporation | Multi-spectral image compression and transformation |
| US6658056B1 (en) * | 1999-03-30 | 2003-12-02 | Sony Corporation | Digital video decoding, buffering and frame-rate converting method and apparatus |
| JP3975629B2 (ja) * | 1999-12-16 | 2007-09-12 | ソニー株式会社 | 画像復号装置及び画像復号方法 |
| JP2002247375A (ja) | 2001-02-15 | 2002-08-30 | Canon Inc | 画像符号化装置及びその方法並びにプログラムコード、記憶媒体 |
| JP4576770B2 (ja) | 2001-08-03 | 2010-11-10 | セイコーエプソン株式会社 | 画像ファイルの生成 |
| US7092573B2 (en) * | 2001-12-10 | 2006-08-15 | Eastman Kodak Company | Method and system for selectively applying enhancement to an image |
| JP4015934B2 (ja) * | 2002-04-18 | 2007-11-28 | 株式会社東芝 | 動画像符号化方法及び装置 |
| JP2004112566A (ja) | 2002-09-20 | 2004-04-08 | Ricoh Co Ltd | 画像処理装置、画像処理方法、画像処理プログラム、及び画像処理プログラムを記憶する記憶媒体 |
| JP2004328634A (ja) * | 2003-04-28 | 2004-11-18 | Sony Corp | 画像復号化装置及び方法 |
| US7924921B2 (en) * | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Signaling coding and display options in entry point headers |
| US20050129130A1 (en) * | 2003-12-10 | 2005-06-16 | Microsoft Corporation | Color space coding framework |
| KR100596705B1 (ko) * | 2004-03-04 | 2006-07-04 | 삼성전자주식회사 | 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템 |
| US20050259730A1 (en) * | 2004-05-18 | 2005-11-24 | Sharp Laboratories Of America, Inc. | Video coding with residual color conversion using reversible YCoCg |
| KR20050113501A (ko) * | 2004-05-29 | 2005-12-02 | 삼성전자주식회사 | 에이치 264 비디오 디코더를 위한 구문 분석기 |
| US7994946B2 (en) * | 2004-06-07 | 2011-08-09 | Agency For Science, Technology And Research | Systems and methods for scalably encoding and decoding data |
| KR100763178B1 (ko) * | 2005-03-04 | 2007-10-04 | 삼성전자주식회사 | 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치 |
| WO2007042063A1 (en) * | 2005-10-12 | 2007-04-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Video codec supporting quality-scalability |
| JP5101522B2 (ja) * | 2006-01-13 | 2012-12-19 | フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | 適応色空間変換を用いた画像符号化 |
-
2006
- 2006-03-22 WO PCT/EP2006/002634 patent/WO2007107170A1/en not_active Ceased
- 2006-03-22 JP JP2008505762A patent/JP4876122B2/ja not_active Expired - Lifetime
- 2006-03-22 EP EP06723626.5A patent/EP1859630B1/en not_active Expired - Lifetime
- 2006-03-22 BR BRPI0608004A patent/BRPI0608004B1/pt active IP Right Grant
-
2007
- 2007-09-12 US US11/854,375 patent/US8428143B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP1859630A1 (en) | 2007-11-28 |
| HK1114988A1 (zh) | 2008-11-14 |
| US8428143B2 (en) | 2013-04-23 |
| US20080002767A1 (en) | 2008-01-03 |
| EP1859630B1 (en) | 2014-10-22 |
| JP2008533949A (ja) | 2008-08-21 |
| BRPI0608004A2 (pt) | 2009-11-03 |
| JP4876122B2 (ja) | 2012-02-15 |
| WO2007107170A1 (en) | 2007-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0608004B1 (pt) | esquema de codificação permitindo escalabilidade de precisão | |
| JP2018082447A5 (pt) | ||
| JP5014438B2 (ja) | 品質スケーラブル・ビデオ・データ・ストリーム | |
| KR101773413B1 (ko) | 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념 | |
| CN101248674B (zh) | 宏块自适应层间内纹理预测的方法和设备 | |
| CN105052133B (zh) | 将子块细分的推导用于来自基础层的预测的可伸缩视频编码 | |
| BR112013031215B1 (pt) | Método e aparelho de codificação escalável de vídeo | |
| US20080031346A1 (en) | Methods and Systems for Image Processing Control Based on Adjacent Block Characteristics | |
| BR122018016188B1 (pt) | equipamento e método para a geração de uma seqüência de vídeo codificado e para decodificação de uma seqüência de vídeo codificado usando uma predição de valor residual de camada intermediária | |
| TW202533568A (zh) | 解碼器、編碼器、及相關聯方法和電腦可讀媒體 | |
| BRPI0808642A2 (pt) | Codificação 'run-length' combinada de coeficientes de refinamento e significativos em camadas de melhoramento de codificação de vídeo escalonável | |
| CN101180882B (zh) | 用于对视频数据进行编码的方法和设备,及用于对视频数据进行解码的方法和设备 | |
| BRPI0818590B1 (pt) | aparelho de codificação de imagem, aparelho de decodificação de imagem, método de codificação de imagem e método de decodificação de imagem | |
| JP2008104188A (ja) | 画像の系列をスケーラブル形式で符号化する装置および方法ならびに対応する復号装置および方法 | |
| ES3040589T3 (en) | Method and apparatus for video coding | |
| US20070019721A1 (en) | Method and device for processing a sequence of digital images with spatial or quality scalability | |
| CN113366838B (zh) | 对灵活大小的图片分割进行复杂度处理的编码器和解码器、编码方法和解码方法 | |
| JP5211048B2 (ja) | 低解像度画像のモーションデータから高解像度画像用のモーションデータを取得する方法並びにその方法を実施する符号化及び復号装置 | |
| CN100588259C (zh) | 具有精度可缩放性的编码方案 | |
| KR20080002936A (ko) | 하나 이상의 디지털 영상을 인코딩하는 방법, 인코더 및컴퓨터 프로그램 생성물 | |
| WO2007042063A1 (en) | Video codec supporting quality-scalability | |
| HK1114988B (en) | Coding scheme enabling precision-scalability | |
| KR20140127405A (ko) | 비디오 부호화 및 복호화 방법, 그를 이용한 장치 | |
| HK1135827B (zh) | 质量可缩放视频数据流 | |
| KR20140127406A (ko) | 비디오 부호화 및 복호화 방법, 그를 이용한 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B15K | Others concerning applications: alteration of classification |
Ipc: H04N 19/36 (2014.01), H04N 19/112 (2014.01), H04N |
|
| B06T | Formal requirements before examination [chapter 6.20 patent gazette] |
Free format text: EXIGENCIA DE PRE-EXAME (6.20) |
|
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B06A | Notification to applicant to reply to the report for non-patentability or inadequacy of the application [chapter 6.1 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted |
Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 27/08/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 27/08/2019, OBSERVADAS AS CONDICOES LEGAIS |