"CODIFICAÇÃO/DECODIFICAÇÃO DE VÍDEO ESCALONÁVELH.2 64 COM REGIÃO DE INTERESSE"
REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOSEste pedido reivindica o beneficio do Pedido USProvisório de No. de Série 60/725.700, depositado em 12 deoutubro de 2005 e intitulado "METHOD AND APPARATUS FORSCALABLE VIDEO ENCODING AND DECODING", incorporado a estedocumento na integra e a titulo de referência.
CAMPO DA INVENÇÃO
Em geral, a presente invenção refere-se à codifi-cação e decodificação de vídeos, mais especificamente, a ummétodo e aparelho para codificação e decodificação de vídeoescalonável.
ANTECEDENTES DA INVENÇÃO
A escalabilidade de regiões de interesse (ROI) éuma característica essencial para algumas aplicações de co-dificação/decodificação de vídeo escalonável. Os usuáriospodem desejar ter diferentes escalabilidades espaci-al/temporal/de qualidade dentro e fora das ROIs.
A ordenação de macroblocos flexível (FMO) foi dis-cutida para implementar o recurso de ROI. 0 padrão de Codi-ficação/Decodificação de Vídeo Avançada (AVC) Parte 10 doGrupo de Peritos em Imagens em Movimento-4 (MPEG-4) da Orga-nização Internacional de Normalização Técnica/Comissão In-ternacional Eletrotécnica (IS0/IEC)/padrão H.264 da UniãoInternacional de Comunicações, Setor de Comunicações (ITU-T)(doravante referido como "padrão MPEG4/H.264" ou simplesmen-te "padrão H.264") exige que cada macrobloco na imagem sejaincluído em um grupo de fatias, e que todos os grupos de fa-tias sejam codificados/decodificados em imagens codificadasprimárias (embora não seja necessário para imagens redundan-tes). O padrão H.264 não permite a ausência de quaisquergrupos de fatias, o que significa que, mesmo para os gruposde fatias que não incluem ROIs, ainda precisamos codificaresses grupos de fatias e enviá-los para a rede. Pode-se a-firmar que o codificador possui a opção de controlar os bitspara os macroblocos fora da ROI. Por exemplo, em uma imple-mentação da técnica anterior, o codificador pode codificartodos os macroblocos fora de ROIs para serem do modo BL_SKIPou INTRA_BL. Embora os bits necessários para sinalizar o mo-do BL_SKIP ou INTRA_BL possam ser pequenos, o codificadorainda tem esforço extra para codificá-los. Com maior impor-tância, a codificação de não-ROIs requer unidades NAL extrase, conseqüentemente, sobrecarga extra da taxa de bits. Porexemplo, nos casos de uma divisão ROI versus não-ROI de (1/4contra H) e (h contra H) para uma camada de base de um quar-to de formato intermediário comum (QCIF) e uma camada de a-perfeiçoamento de formato intermediário comum (CIF) (30fps),a sobrecarga de taxa de bits para transmitir o modo INTRA_BLpara a região não-ROI na camada de aperfeiçoamento pelo pro-tocolo de transporte em tempo real (RTP) é aproximadamentecalculada em 12kbps e 9kbps, respectivamente. Ao mesmo tem-po, ela aumenta a carga sobre o roteador para analisar todasessas unidades NAL. Além disso, o decodificador ainda preci-sa analisar os fluxos de bits para não-ROIs. Deve-se obser-var que, no Joint Scalable Video Model (JSVM) Versão 3.0,suportando o modo INTRA_BL para todos os macroblocos na ca-mada de aperfeiçoamento, independente dos tipos dos macrob-locos na camada de base, é necessária a decodificação emmúltiplos laços, que pode não ser permitida para alguns per-fis. Essas restrições limitam o uso do modo INTRA_BL, caso ocodificador suporte apenas a decodificação em único laço.Sendo assim, no presente momento, o JSVM Versão 3.0 não per-mite o uso do modo INTRA_BL para todos os MBs em não-ROI,seja em decodificação em múltiplos o em único laço.
SUMÁRIO DA INVENÇÃO
Esses e outros obstáculos e desvantagens da técni-ca anterior são tratados pela presente invenção, que é dire-cionada a um método e aparelho para codificação e decodifi-cação de vídeo escalonável.
De acordo com um aspecto da presente invenção, éproposto um codificador de vídeo escalonável. O codificadorde vídeo escalonável inclui um codificador para codificaruma imagem a fim de formar um fluxo de bits de camada de ba-se e um fluxo de bits de camada de aperfeiçoamento. O fluxode bits da camada de base e o fluxo de bits da camada de a-perfeiçoamento são formados dividindo a imagem em váriosblocos de imagem, agrupando os vários blocos de imagem em umou mais grupos de fatias no fluxo de bits da camada de basee em dois ou mais grupos de fatias no fluxo de bits da cama-da de aperfeiçoamento, codificando todos do um ou mais gru-pos de fatias no fluxo de bits da camada de base e menos doque todos dos dois ou mais grupos de fatias na camada de a-perfeiçoamento, de modo que pelo menos um grupo de fatiasdentre os dois ou mais grupos de fatias seja intencionalmen-te não-codifiçado no fluxo de bits da camada de aperfeiçoa-mento, codificando um elemento de sintaxe em um cabeçalhopara indicar o pelo menos um grupo de fatias intencionalmen-te não-codifiçado na camada de aperfeiçoamento.
De acordo com outro aspecto da presente invenção,é proposto um método para codificação de video escalonável.o método inclui codificar uma imagem a fim de formar um flu-xo de bits de camada de base e um fluxo de bits de camada deaperfeiçoamento. A etapa de codificação inclui dividir a i-magem em vários blocos de imagem. A etapa de codificaçãotambém inclui agrupar os vários blocos de imagem em um oumais grupos de fatias no fluxo de bits da camada de base eem dois ou mais grupos de fatias no fluxo de bits da camadade aperfeiçoamento. A etapa de codificação inclui ainda co-dificar todos do um ou mais grupos de fatias no fluxo debits da camada de base e menos do que todos dos dois ou maisgrupos de fatias na camada de aperfeiçoamento, de modo quepelo menos um grupo de fatias dentre os dois ou mais gruposde fatias seja intencionalmente não-codifiçado no fluxo debits da camada de aperfeiçoamento. A etapa de codificaçãoadicionalmente inclui codificar um elemento de sintaxe em umcabeçalho a fim de indicar o pelo menos um grupo de fatiasintencionalmente não-codifiçado na camada de aperfeiçoamento.
De acordo com ainda outro aspecto da presente in-venção, é proposto um decodificador de video escalonável. Odecodificador de video escalonável inclui um decodificadorpara decodificar um fluxo de bits da camada de base e umfluxo de bits da camada de aperfeiçoamento. 0 fluxo de bitsda camada de base e o fluxo de bits da camada de aperfeiçoa-mento são decodificados pela leitura de um elemento de sin-taxe que indica que pelo menos um de vários grupos de fatiasé intencionalmente não-codifiçado na camada de aperfeiçoa-mento; pela decodificação do fluxo de bits da camada de a-perfeiçoamento usando apenas informações da camada de basepara o pelo menos um de vários grupos de fatias indicadospelo elemento de sintaxe; e pela decodificação de quaisquerdos vários grupos de fatias restantes na camada de aperfei-çoamento usando informações da camada de aperfeiçoamento.
De acordo com ainda outro aspecto da presente in-venção, é proposto um método para decodificação de video es-calonável. O método inclui decodificar um fluxo de bits dacamada de base e um fluxo de bits da camada de aperfeiçoa-mento pela leitura de um elemento de sintaxe que indica quepelo menos um de vários grupos de fatias é intencionalmentenão-codifiçado na camada de aperfeiçoamento; pela decodifi-cação do fluxo de bits da camada de base usando apenas in-formações da camada de base para o pelo menos um de váriosgrupos de fatias indicados pelo elemento de sintaxe; e peladecodificação de quaisquer dos vários grupos de fatias res-tantes na camada de aperfeiçoamento usando informações dacamada de aperfeiçoamento.
De acordo com um aspecto adicional da presente in-venção, é proposta uma estrutura de sinal de video para co-dificação de video escalonável. A estrutura de sinal de vi-deo inclui uma imagem codificada a fim de formar um fluxo debits da camada de base e um fluxo de bits da camada de aper-feiçoamento. O fluxo de bits da camada de base e o fluxo debits da camada de aperfeiçoamento são formados dividindo aimagem em vários blocos de imagem, agrupando os vários blo-cos de imagem em um ou mais grupos de fatias no fluxo debits da camada de base e em dois ou mais grupos de fatias nofluxo de bits da camada de aperfeiçoamento, codificando to-dos do um ou mais grupos de fatias no fluxo de bits da cama-da de base e menos do que todos dos dois ou mais grupos defatias na camada de aperfeiçoamento, de modo que pelo menosum grupo de fatias dentre os dois ou mais grupos de fatiasseja intencionalmente não-codifiçado no fluxo de bits da ca-mada de aperfeiçoamento, codificando um elemento de sintaxeem um cabeçalho para indicar o pelo menos um grupo de fatiasintencionalmente não-codifiçado na camada de aperfeiçoamento.
De acordo com outro aspecto adicional da presenteinvenção, é proposto um meio de armazenamento com dados desinal de video escalonável codificados nele. 0 meio de ar-mazenamento inclui uma imagem codificada a fim de formar umfluxo de bits da camada de base e um fluxo de bits da camadade aperfeiçoamento. O fluxo de bits da camada de base e ofluxo de bits da camada de aperfeiçoamento são formados di-vidindo a imagem em vários blocos de imagem, agrupando osvários blocos de imagem em um ou mais grupos de fatias nofluxo de bits da camada de base e em dois ou mais grupos defatias no fluxo de bits da camada de aperfeiçoamento, codi-ficando todos do um ou mais grupos de fatias no fluxo debits da camada de base e menos do que todos dos dois ou maisgrupos de fatias na camada de aperfeiçoamento, de modo quepelo menos um grupo de fatias dentre os dois ou mais gruposde fatias seja intencionalmente não-codifiçado no fluxo debits da camada de aperfeiçoamento, codificando um elementode sintaxe em um cabeçalho para indicar que o pelo menos umgrupo de fatias intencionalmente não-codifiçado na camada deaperfeiçoamento.
Esses e outros aspectos, características e vanta-gens da presente invenção transparecerão por meio da descri-ção detalhada das concretizações exemplificativas a seguir,que deverá ser lida junto com os desenhos em anexo.
BREVE DESCRIÇÃO DOS DESENHOS
A presente invenção pode ser melhor compreendidade acordo com as figuras exemplificativas a seguir, nasquais:
A FIG. 1 ilustra ura diagrama de blocos para um co-dificador Joint Scalable Video Model (JSVM) 3.0, ao qual ospresentes princípios podem ser aplicados;
A FIG. 2 ilustra um diagrama de blocos para um de-codificador exemplificativo, ao qual os presentes princípiospodem ser aplicados;
A FIG. 3 ilustra um diagrama de fluxo de dados pa-ra um método exemplificativo para codificação de vídeo esca-lonável conjunta com regiões de interesse de acordo com umaconcretização dos presentes princípios; e
A FIG. 4 ilustra um diagrama de fluxo de dados pa-ra um método exemplificativo para decodificação de video es-calonável conjunta com regiões de interesse de acordo comuma concretização dos presentes princípios.
DESCRIÇÃO DETALHADA
A presente invenção está voltada para um método eaparelho para codificação e decodificação de vídeo escalonável.
A presente descrição ilustra os princípios da pre-sente invenção. Sendo assim, apreciar-se-á que os versadosna técnica serão capazes de descobrir várias combinaçõesque, embora não explicitamente descritas ou ilustradas nestedocumento, concretizam os princípios da invenção e estão in-cluídas dentro de sua essência e âmbito.
Todos os exemplos e linguagens condicionais rela-tados no presente documento são concebidos para propósitospedagógicos a fim de auxiliar o leitor a compreender osprincípios da invenção e os conceitos contribuídos pelo in-ventor para favorecer a técnica, e devem ser interpretadossem restrições a tais exemplos e condições especificamenterelatados.
Além disso, todas as declarações, neste documento,relatando princípios, aspectos e concretizações da invenção,bem como exemplos específicos dela, devem abranger tanto e-quivalentes estruturais quanto funcionais dela. Além disso,pretende-se que tais equivalentes incluam tanto equivalentesatualmente conhecidos quanto equivalentes desenvolvidos nofuturo, isto é, quaisquer elementos desenvolvidos que desem-penhem a mesma função, independente da estrutura.Sendo assim, por exemplo, será apreciado pelosversados na técnica que os diagramas de blocos apresentadosneste documento representam visualizações conceituais dosistema de circuitos ilustrativo que concretiza os princí-pios da invenção. De maneira semelhante, apreciar-se-á quequaisquer fluxogramas, diagramas de fluxo de dados, diagra-mas de transição de estados, pseudocódigos, entre outros,representam vários processos que podem ser substancialmenterepresentados em meios legíveis por computador e, portanto,executados por um computador ou processador, quer tal compu-tador ou processador seja ilustrado explicitamente ou não.
As funções dos vários elementos ilustrados nas fi-guras podem ser realizadas pelo uso de hardware dedicado,bem como de hardware capaz de executar softwares relaciona-dos ao software apropriado. Quando realizadas por um proces-sador, as funções podem ser realizadas por um único proces-sador dedicado, por um único processador compartilhado oupor vários processadores individuais, alguns dos quais podemser compartilhados.
Além disso, o uso explícito do termo "processador"ou "controlador" não deve ser interpretado como referênciaexclusiva a hardware capaz de executar softwares e pode in-cluir implicitamente, sem restrição, hardware processador desinais digitais ("DSP"), memória somente para leitura("ROM") para armazenar softwares, memória de acesso aleató-rio ("RAM") e armazenamentos não voláteis.
Também podem ser incluídos outros hardwares, con-vencionais e/ou personalizados. De maneira semelhante,quaisquer botões ilustrados nas figuras são meramente con-ceituais. Sua função pode ser realizada pela operação de ló-gica de programa, por meio de lógica dedicada, pela intera-ção de controle de programa e lógica dedicada, ou até mesmomanualmente, a técnica especifica sendo selecionável peloimplementador como mais especificamente compreendido com ba-se no contexto.
Nas reivindicações deste documento, qualquer ele-mento expresso como um meio para desempenhar uma função es-pecifica tem a intenção de abranger qualquer forma de desem-penhar tal função, incluindo, por exemplo: a) uma combinaçãode elementos de circuito que desempenham tal função ou b)softwares de qualquer forma, incluindo, portanto, firmwares,microcódigos ou similares, combinados com o sistema de cir-cuitos apropriado para executar tal software para desempe-nhar a função. A invenção, conforme definida por tais rei-vindicações, consiste no fato de que as funcionalidades ofe-recidas pelos vários meios relatados são combinadas e unidasda maneira que as reivindicações prescrevem. Assim, conside-ra-se que qualquer meio capaz de oferecer tais funcionalida-des é equivalente aos ilustrados no presente documento.
Com relação à FIG. 1, um codificador Joint Scala-ble Video Model. Versão 3.0 (doravante referido como"JSVM3.0") exemplificativo, ao qual a presente invenção podeser aplicada, é, em geral, indicado pelo número de referên-cia 100. O codificador JSVM3.0 100 usa três camadas espaci-ais e filtragem temporal com compensação de movimento. 0 co-dificador JSVM 100 inclui um decimador bidirecional (2D)104, um decimador 2D 106 e um módulo de filtragem temporalcom compensação de movimento (MCTF) 108, cada um contendouma entrada para receber dados de sinal de video 102.
Uma saida do decimador 2D 106 é conectada, em co-municação de sinais, a uma entrada de um módulo MCTF 110.
Uma primeira saída do módulo MCTF 110 é conectada, em comu-nicação de sinais, a uma entrada de um codificador de movi-mento 112 e uma segunda saída do módulo MCTF 110 é conecta-da, em comunicação de sinais, a uma entrada de um módulo depredição 116. Uma primeira saída do codificador de movimento112 é conectada, em comunicação de sinais, a uma primeiraentrada de um multiplexador 114. Uma segunda saída do codi-ficador de movimento 112 é conectada, em comunicação de si-nais, a uma primeira entrada de um codificador de movimento124. Uma primeira saída do módulo de predição 116 é conecta-da, em comunicação de sinais, a uma entrada de um transfor-mador espacial 118. Uma saída do transformador espacial 118é conectada, em comunicação de sinais, a uma segunda entradado multiplexador 114. Uma segunda saída do módulo de predi-ção 116 é conectada, em comunicação de sinais, a uma entradade um interpolador 120. Uma saída do interpolador é conecta-da, em comunicação de sinais, a uma primeira entrada de ummódulo de predição 122. Uma primeira saída do módulo de pre-dição 122 é conectada, em comunicação de sinais, a uma en-trada de um transformador espacial 126. Uma saída do trans-formador espacial 126 é conectada, em comunicação de sinais,à segunda entrada do multiplexador 114. Uma segunda saída domódulo de predição 122 é conectada, em comunicação de si-nais, a uma entrada de um interpolador 130. Uma saída do in-terpolador 130 é conectada, em comunicação de sinais, a umaprimeira entrada de um módulo de predição 134. Uma saída domódulo de predição 134 é conectada, em comunicação de si-nais, a um transformador espacial 136. Uma saída do trans-formador espacial é conectada, em comunicação de sinais, àsegunda entrada de um multiplexador 114 .
Uma saída do decimador 2D 104 é conectada, em co-municação de sinais, a uma entrada de um módulo MCTF 128.Uma primeira saída do módulo MCTF 128 é conectada, em comu-nicação de sinais, a uma segunda entrada do codificador demovimento 124. Uma primeira saída do codificador de movimen-to 124 é conectada, em comunicação de sinais, à primeira en-trada do multiplexador 114. Uma segunda saída do codificadorde movimento 124 é conectada, em comunicação de sinais, auma primeira entrada de um codificador de movimento 132. Umasegunda saída do módulo MCTF 128 é conectada, em comunicaçãode sinais, a uma segunda entrada do módulo de predição 122.
Uma primeira saída do módulo MCTF 108 é conectada,em comunicação de sinais, a uma segunda entrada do codifica-dor de movimento 132. Uma saída do codificador de movimento132 é conectada, em comunicação de sinais, à primeira entra-da do multiplexador 114. Uma segunda saída do módulo MCTF108 é conectada, em comunicação de sinais, a uma segunda en-trada do módulo de predição 134. Uma saída do multiplexador114 fornece um fluxo de bits de saída 138.
Para cada camada espacial, é realizada uma decom-posição temporal com compensação de movimento. Essa decompo-sição propicia escalabilidade temporal. As informações demovimento das camadas espaciais inferiores podem ser usadaspara predição de movimento nas camadas superiores. Para acodificação de textura, a predição espacial entre camadasespaciais sucessivas pode ser aplicada para remover redun-dâncias. O sinal residual resultante da predição intra ou dapredição inter com compensação de movimento é codificado emtransformada. Um residual da camada de base de qualidade o-ferece qualidade de reconstrução mínima em cada camada espa-ciai. Essa camada de base de qualidade pode ser codificadaem um fluxo compatível com o padrão H.264, se nenhuma predi-ção intercamadas for aplicada. Para escalabilidade de quali-dade, as camadas de aperfeiçoamento de qualidade são adicio-nalmente codificadas. Essas camadas de aperfeiçoamento podemser escolhidas tanto para oferecer escalabilidade de quali-dade de granularidade (SNR) fina ou grossa.
Voltando-se para a FIG. 2, um codificador de vídeoescalonável exemplificativo, ao qual a presente invenção po-de ser aplicada, é indicado, em geral, pelo número de refe-rência 200. Uma entrada de um demultiplexador 202 é disponí-vel como uma entrada para o decodificador de vídeo escaloná-vel 200 para receber um fluxo de bits escalonável. Uma pri-meira saída do demultiplexador 202 é conectada, em comunica-ção de sinais, a uma entrada de um decodificador de entropiaescalonável SNR de transformada espacial inversa 204. Umaprimeira saída do decodificador de entropia escalonável SNRde transformada espacial inversa 204 é conectada, em comuni-cação de sinais, a uma primeira entrada de um módulo de pre-dição 206. Uma saída do módulo de predição 206 é conectada,em comunicação de sinais, a uma primeira entrada de um módu-lo MCTF inverso 208.
Uma segunda saída do decodificador de entropia es-calonável SNR de transformada espacial inversa 204 é conec-tada, em comunicação de sinais, a uma primeira entrada de umdecodificador de vetor de movimento (MV) 210. Uma saída dodecodificador MV 210 é conectada, em comunicação de sinais,a uma segunda entrada de um módulo MCTF inverso 208.
Uma segunda saída do demultiplexador 202 é conec-tada, em comunicação de sinais, a uma entrada de um decodi-ficador de entropia escalonável SNR de transformada espacialinversa 212. Uma primeira saída do decodificador de entropiaescalonável SNR de transformada espacial inversa 212 é co-nectada, em comunicação de sinais, a uma primeira entrada deum módulo de predição 214. Uma primeira saída do módulo depredição 214 é conectada, em comunicação de sinais, a umaentrada de um módulo de interpolação 216. Uma saída do módu-lo de interpolação 216 é conectada, em comunicação de si-nais, a uma segunda entrada do módulo de predição 206. Umasaída do módulo de predição 214 é conectada, em comunicaçãode sinais, a uma primeira entrada de um módulo MCTF inverso 218.
Uma segunda saída do decodificador de entropia es-calonável SNR de transformada espacial inversa 212 é conec-tada, em comunicação de sinais, a uma primeira entrada de umdecodificador MV 220. Uma primeira saída do decodificador MV220 é conectada, em comunicação de sinais, a uma segunda en-trada do decodificador MV 210. Uma segunda saída do decodi-ficador MV 220 é conectada, em comunicação de sinais, a umasegunda entrada do módulo MCTF inverso 218.
Uma terceira saída do demultiplexador 202 é conec-tada, em comunicação de sinais, a uma entrada de um decodi-ficador de entropia escalonável SNR de transformada espacialinversa 222. Uma primeira saída do decodificador de entropiaescalonável SNR de transformada espacial inversa 222 é co-nectada, em comunicação de sinais, a uma entrada de um módu-Lo de predição 224. Uma primeira saída do módulo de predição224 é conectada, em comunicação de sinais, a uma entrada deum módulo de interpolação 226. Uma saída do módulo de inter-polação 226 é conectada, em comunicação de sinais, a uma se-gunda entrada do módulo de predição 214.
Uma saída do módulo de predição 224 é conectada,em comunicação de sinais, a uma primeira entrada de um módu-lo MCTF inverso 228. Uma segunda saída do decodificador deentropia escalonável SNR de transformada espacial inversa222 é conectada, em comunicação de sinais, a uma entrada deum decodificador MV 230. Uma primeira saída do decodificadorMV 230 é conectada, em comunicação de sinais, a uma segundaentrada do decodificador MV 220. Uma segunda saída do deco-dificador MV 230 é conectada, em comunicação de sinais, auma segunda entrada do módulo MCTF inverso 228.
Uma saída do módulo MCTF inverso 228 é disponívelcomo uma saída do decodificador 200 para emitir um sinal decamada O. Uma saída do módulo MCTF inverso 218 é disponívelcomo uma saída do decodificador 200 para emitir um sinal decamada 1. Uma saída do módulo MCTF inverso 208 é disponívelcomo uma saída do decodificador 200 para emitir um sinal decamada 2.
A FMO (ordenação de macroblocos flexível) foi dis-cutida para implementar o recurso de escalabilidade ROI (re-gião de interesse). A especificação H.264/AVC não permite aausência de qualquer grupo de fatias, o que significa queaté mesmo grupos de fatias que incluem não-ROIs ainda preci-sam ser codificados e enviados para uma rede. De acordo comuma concretização dos presentes princípios, esse requisito éreduzido e passamos a permitir a ausência de grupos de fati-as nas camadas de aperfeiçoamento, bem como definimos umcomportamento padronizado para fatias intencionalmente au-sentes. A camada de base continua compatível com o padrãoH.2 64 .
Sendo assim, de acordo com uma concretização dospresentes princípios, propomos reduzir os requisitos do pa-drão H.264 a fim de permitir grupos de fatias ausentes nacamada de aperfeiçoamento para a aplicação de ROI. Essa a-bordagem oferece pelo menos as seguintes vantagens: (2) eco-nomia de taxa de bits; (b) redução da carga sobre o rotea-dor; (c) simplificação da análise para o decodificador; e(d) economia de codificação para o codificador para regiõesnão-ROI.
Se permitirmos grupos de fatias ausentes na camadade aperfeiçoamento, um problema imediato que ocorre é de queforma o decodificador pode determinar se um grupo de fatiasausente está intencionalmente não-codifiçado pelo codifica-dor ou está ausente devido a falhas de rede. Se um grupo defatias é intencionalmente omitido, então, de acordo com ospresentes princípios, o decodificador oferece um comporta-mento padronizado, de modo que o decodificador ainda possater a capacidade de decodificar a imagem inteira (ROI + não-ROI), a saída do processo de decodificação se comporta demaneira consistente entre diferentes decodificadores, e aexatidão de bits do codificador/decodificador pode ser man-tida. No entanto, se um grupo de fatias estiver ausente de-vido à falhas de rede, é possível aplicar um encobrimento defalha não-padronizado, que depende da aplicação.
Para esclarecer a ambigüidade de se um grupo defatias é voluntária ou involuntariamente ausente, propomosadicionar um sinalizador no sequence_parameter_set(), a sa-ber, missing_slice_groups_allowed_flag, conforme ilustradona TABELA 1. Em particular, a TABELA 1 ilustra a sintaxeRBSP do conjunto de parâmetros de seqüência. A fim de supor-tar todos os slice_group_map_types, precisamos indicar quaisgrupos de fatias estão faltando para slice_group_map_typeigual a 0,1 e 6. Para outros casos, podemos sempre pressuporque apenas o último grupo de fatias está ausente, sendo as-sim, não é necessária nenhuma sintaxe adicional. Para o casomais comumente esperado de escalabilidade ROI retangular,slice_group_map_type = = 2 será selecionado e, então, é adi-cionada uma pequena sintaxe em picture_parameter_set(). Umasintaxe completa é ilustrada na TABELA 2.
TABELA 1
<table>table see original document page 18</column></row><table><table>table see original document page 19</column></row><table>
TABELA 2
<table>table see original document page 19</column></row><table><table>table see original document page 20</column></row><table><table>table see original document page 21</column></row><table>
missing_slice_groups_allowed_fIag especifica a ad-missão de grupos de fatias ausentes no fluxo de bits. Quandomissing_slice_groups_allowed_fIag não está presente, deve-sepressupor que ele é igual a 0. Quando mis-sing_slice_groups_allowed_fIag é igual a 1, então o "mesmomapeamento de grupo de fatias" tem de existir entre a camadade base e a camada de aperfeiçoamento. O "mesmo mapeamentode grupo de fatias" significa o mesmonum_slice_groups_minus_l e o mesmo slice_group_map_type.num_missing_slice_groups especifica o número degrupos de fatias ausentes para uma imagem.missing_slice_group_id[ i ] identifica um grupo defatias ausente da i-ésima unidade de mapa de grupo de fatiasausente em ordem de varredura por rastreio.
Com a nova sintaxe proposta, o decodificador podedecidir se um grupo de fatias na camada de aperfeiçoamentoestá intencionalmente ausente ou, em vez disso, está ausentedevido a uma falha de rede. Ao decidir qual deve ser o com-portamento padrão do processo de decodificação para um grupointencionalmente ausente, deve-se considerar o seguinte: (1)uma vez que um grupo de fatias ausente é aplicado a não-ROIna camada de aperfeiçoamento, a qualidade não precisa sermuito alta, mas a qualidade deve ser aceitável; e (2) a com-plexidade deve ser mantida baixa e o decodificador deve reu-tilizar a funcionalidade disponível no projeto SVC atual.
Propomos duas possíveis soluções que podem usar oprojeto SVC atual: (1) o uso do modo INTRA_BL sem resíduo,isto é, copiar ou aumentar a qualidade da imagem da camadade base; e 2) o uso do modo BL_SKIP sem resíduo. Como conse-qüência, podemos escolher comportamentos padronizados usandoqualquer um dos métodos acima para decodificar um grupo defatias intencionalmente ausente.
Voltando-se para a FIG. 3, um método exemplifica-tivo para codificação de vídeo escalonável conjunta com re-giões de interesse é indicado, em geral, pelo número de re-ferência 300. O método inclui um bloco inicial 305 que ini-cia a codificação com as informações de região de interesse(ROI), e passa o controle para um bloco de função 310. Obloco de função 310 cria grupos de fatias dependendo das in-formações ROI, e passa o controle para um bloco de decisão315. 0 bloco de decisão 315 determina se a camada atual aser codificada é ou não é a camada de base. Se a respostafor positiva, então o controle passa para um bloco de função320. Caso contrário, o controle passa para um bloco de fun-ção 325.
O bloco de função 320 codifica todos os grupos defatias (na camada de base), e passa o controle para um blocofinal 370.
O bloco de função 325 mapeia grupos de fatias dacamada de base para grupos de fatias da camada de aperfeiço-amento, e passa o controle para um bloco de função 330. Obloco de função 330 define missing_slice_groups_allowed_fIagigual a um, e passa o controle para um bloco de decisão 335.O bloco de decisão 335 determina se o grupo de fatias atualpertence ou não a uma região de interesse. Se a resposta forpositiva, então o controle passa para um bloco de função340. Caso contrário, o controle passa para um bloco de fun-ção 355.
O bloco de função 340 codifica o grupo de fatiasatual usando predição intercamadas, e passa o controle paraum bloco de decisão 345.
O bloco de função 355 não codifica o grupo de fa-tias atual, e passa o controle para um bloco de função 360.
O bloco de função 360 incrementa num_missing_slice_groups, epassa o controle para o bloco de decisão 345.
O bloco de decisão 345 determina senum_missing_slice_groups é ou não maior do que um. Se a res-posta for positiva, então o controle passa para um bloco defunção 350. Caso contrário, o controle passa para o blocofinal 370.
O bloco de função 350, para cada grupo de fatiasausente i, indica missing_slice_groups_id[i], e passa o con-trole para o bloco final 370.
Voltando-se para a FIG. 4, um método exemplifica-tivo para decodificação de video escalonável conjunta comregiões de interesse é indicado, em geral, .pelo número dereferência 400. O método inclui um bloco inicial 405 que i-nicia a decodificação da camada de aperfeiçoamento, e passao controle para um bloco de função 410. O bloco de função410 obtém o missing_slice_groups_allowed_flag, e passa ocontrole para um bloco de função 415. O bloco de função415, para cada grupo de fatias ausente i, indica mis-sing_slice_groups_id[i], e passa o controle para um bloco defunção 420. O bloco de função 420 obtémnum_missing_slice_groups, e passa o controle para um blocode decisão 425. O bloco de decisão 425 determina senum_missing_slice_groups é ou não maior do que um. Se a res-posta for positiva, então o controle passa para um bloco defunção 430. Caso contrário, o controle passa para um blocode decisão 435.
O bloco de função 430, para cada grupo de fatiasausente i, lê missing_slice_groups_id[i], e passa o controlepara o bloco de decisão 435.
O bloco de decisão 435 determina se irá ou não de-codificar apenas a região ROI. Se a resposta for positiva,então o controle passa para um bloco de decisão 440. Casocontrário, o controle passa para um bloco de decisão 450.
O bloco de decisão 440 determina se um grupo defatias (que inclui a região ROI) é intencionalmente ausenteou não. Se a resposta for positiva, então o controle passapara um bloco de função 445. Caso contrário, o controle pas-sa para um bloco de função 460.
O bloco de função 445 decodifica o próximo grupode fatias ROI, e passa o controle para um bloco final 480.
0 bloco de função 460 oculta o grupo de fatias ROIperdido, e passa o controle para o bloco final 480.O bloco de decisão 450 determina se o grupo de fa-tias pertence ou não a uma ROI. Se a resposta for positiva,então o controle passa para um bloco de função 455. Casocontrário, o controle passa para um bloco de decisão 465.
O bloco de função 455 decodifica o grupo de fatiasROI, e passa o controle para um bloco final 480.
O bloco de decisão 465 determina se o grupo de fa-tias é intencionalmente ausente ou não. Se a resposta forpositiva, então o controle passa para um bloco de função470. Caso contrário, o controle passa para o bloco de função460.
O bloco de função 470 decodifica esse grupo de fa-tias na camada de base, e passa o controle para um bloco defunção 475. O bloco de função 475 usa o modo INTRA_BL ou omodo BL_SKIP sem resíduo para decodificar esse grupo de fa-tias na camada de aperfeiçoamento, e passa o controle para obloco final 480.
Agora será feita uma descrição de algumas das mui-tas vantagens/características concomitantes da presente in-venção, algumas das quais foram mencionadas acima. Por exem-plo, uma vantagem/característica é um codificador de vídeoescalonável. O codificador de vídeo escalonável inclui umcodificador para codificar uma imagem a fim de formar umfluxo de bits da camada de base e um fluxo de bits da camadade aperfeiçoamento. O fluxo de bits da camada de base e ofluxo de bits da camada de aperfeiçoamento são formados di-vidindo a imagem em vários blocos de imagem, agrupando osvários blocos de imagem em um ou mais grupos de fatias nofluxo de bits da camada de base e em dois ou mais grupos defatias no fluxo de bits da camada de aperfeiçoamento, codi-ficando todos do um ou mais grupos de fatias no fluxo debits da camada de base e menos do que todos dos dois ou maisgrupos de fatias na camada de aperfeiçoamento, de modo quepelo menos um grupo de fatias dentre os dois ou mais gruposde fatias seja. intencionalmente não-codifiçado no fluxo debits da camada de aperfeiçoamento, codificando um elementode sintaxe em um cabeçalho para indicar o pelo menos um gru-po de fatias intencionalmente não-codifiçado na camada deaperfeiçoamento.
Outra vantagem/característica é o codificador devideo escalonável conforme descrito acima, em que o fluxo debits da camada de aperfeiçoamento é formado para suportarpelo menos uma aplicação de região de interesse, de modo quequalquer um dos dois ou mais grupos de fatias na camada deaperfeiçoamento que incluem regiões de interesse seja codi-ficado no fluxo de bits da camada de aperfeiçoamento, aopasso que qualquer um dos dois ou mais grupos de fatias nacamada de aperfeiçoamento que estão sem regiões de interesseseja intencionalmente não-codifiçado.
Ainda outra vantagem/característica é o codifica-dor de video escalonável conforme descrito acima, em que ocodificador adiciona o elemento de sintaxe com a adição deum campo missing_slice_groups_allowed_fIag em um conjunto deparâmetros de seqüência correspondente ao fluxo de bits dacamada de aperfeiçoamento.
Além disso, outra vantagem/característica é o co-dificador de vídeo escalonável que adiciona o elemento desintaxe, conforme descrito acima, em que um mesmo mapeamentode grupos de fatias existe entre o fluxo de bits da camadade aperfeiçoamento e o fluxo de bits da camada de base,quando o campo missing_slice_groups_allowed_fIag é igual a1, o mesmo mapeamento de grupos de fatias relacionado a umcampo num_slice_groups_minus_l e slice_group_map_type, res-pectivamente, contendo o mesmo valor para o fluxo de bits dacamada de base e o fluxo de bits da camada de aperfeiçoamento.
Ademais, outra vantagem/característica é o codifi-cador de vídeo escalonável, conforme descrito acima, em queo codificador adiciona um campo num_missing_slice groups emum conjunto de parâmetros de seqüência correspondendo aofluxo de bits da camada de aperfeiçoamento para especificaruma quantidade de grupos de fatias que são intencionalmentenão-codifiçados para a imagem.
Além do mais, outra vantagem/característica é ocodificador de vídeo escalonável que adiciona o camponum_missing_slice_groups, conforme descrito acima, em que ocodificador adiciona um campo missing_slice_group_id[ i ] emum conjunto de parâmetros de imagem correspondente ao fluxode bits da camada de aperfeiçoamento a fim de identificarnela pelo menos o grupo de fatias intencionalmente não-codificado de uma i-ésima unidade de mapa do grupo de fatiasintencionalmente omitido em ordem de varredura por rastreiopara um campo slice_group_map igual a qualquer um dentre 0,1 e 6.Além disso, outra vantagem/característica é o co-dificador de vídeo escalonável que adiciona o camponum_missing_slice_groups, conforme descrito acima, em que ocodificador atribui a um campo slice_group_map um valor i-gual a qualquer um dentre 2, 3, 4 e 5 a fim de indicar que oúltimo grupo de fatias no fluxo de bits da camada de aper-feiçoamento é o pelo menos um grupo de fatias intencional-mente não-codifiçado.
Essas e outras características e vantagens da pre-sente invenção podem ser facilmente verificadas pelos versa-dos na técnica pertinente com base nos ensinamentos destedocumento. Deve-se compreender que os ensinamentos da pre-sente invenção podem ser implementados em várias formas dehardware, software, firmware, processadores de uso específi-co ou combinações desses.
Mais preferivelmente, os ensinamentos da presenteinvenção são implementados como uma combinação de hardware esoftware. Ademais, o software pode ser implementado como umprograma aplicativo incorporado de forma tangível a uma uni-dade de armazenamento de programas. 0 programa aplicativopode ser carregado para, e executado por, uma máquina com-preendendo qualquer arquitetura adequada. De preferência, amáquina é implementada em uma plataforma de computador comhardwares tal como uma ou mais unidades centrais de proces-samento ("CPU"), uma memória de acesso aleatório ("RAM") einterfaces de entrada/saída ("1/0"). A plataforma de compu-tador também pode incluir um sistema operacional e código demicro-instrução. Os vários processos e funções descritosneste documento podem ser parte ou do código de micro-instrução ou do programa aplicativo, ou qualquer combinaçãodesses, que pode ser executada por uma CPU. Além disso, vá-rias outras unidades periféricas podem ser conectadas à pla-taforma de computador, tal como uma unidade de armazenamentode dados adicional e uma unidade de impressão.
Também deve ser compreendido que, já que algunsdos componentes e métodos constituintes do sistema represen-tados nos desenhos em anexo são preferencialmente implemen-tados em software, as conexões reais entre os componentes dosistema ou os blocos de função de processo podem divergir,dependendo da maneira na qual a presente invenção é progra-mada. Dados os ensinamentos neste documento, os versados natécnica pertinente serão capazes de contemplar essas imple-mentações ou configurações, bem como implementações ou con-figurações similares, da presente invenção.
Embora as concretizações ilustrativas tenham sidodescritas com referência aos desenhos em anexo, deve-se com-preender que a presente invenção não se restringe a essasconcretizações exatas, e que várias alterações e modifica-ções podem ser realizadas pelos versados na técnica perti-nente sem divergir do âmbito e da essência da presente in-venção. Todas essas alterações e modificações devem ser in-cluídas dentro do âmbito da presente invenção, conforme es-tabelecido nas reivindicações em anexo.