BR112016008953B1 - Condução de dados de fluxo de bits com extensão- padrão de codificação de vídeo com o uso de sistemas de mpeg-2 - Google Patents

Condução de dados de fluxo de bits com extensão- padrão de codificação de vídeo com o uso de sistemas de mpeg-2 Download PDF

Info

Publication number
BR112016008953B1
BR112016008953B1 BR112016008953-7A BR112016008953A BR112016008953B1 BR 112016008953 B1 BR112016008953 B1 BR 112016008953B1 BR 112016008953 A BR112016008953 A BR 112016008953A BR 112016008953 B1 BR112016008953 B1 BR 112016008953B1
Authority
BR
Brazil
Prior art keywords
video
layer
hevc
descriptor
data
Prior art date
Application number
BR112016008953-7A
Other languages
English (en)
Inventor
Ying Chen
Fnu HENDRY
Ye--Kui Wang
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112016008953B1 publication Critical patent/BR112016008953B1/pt

Links

Abstract

CONDUÇÃO DE DADOS DE FLUXO DE BITS COM EXTENSÃO-PADRÃO DE CODIFICAÇÃO DE VÍDEO COM O USO DE SISTEMAS DE MPEG-2. Trata-se de, em um exemplo, um dispositivo para processar dados de vídeo inclui uma memória para armazenar uma camada de aprimoramento de dados de vídeo codificados de acordo com uma extensão de um padrão de codificação de vídeo, e um ou mais processadores configurados para decodificar um descritor de extensão de hierarquia para um fluxo elementar que inclui a camada de aprimoramento, em que o descritor de extensão de hierarquia inclui dados representativos de duas ou mais camadas de referência nas quais a camada de aprimoramento depende, em que as duas ou mais camadas de referência incluem uma primeira camada de aprimoramento, que se conforma a uma primeira dimensão de escalabilidade, e uma segunda camada de aprimoramento, que se conforma a uma segunda dimensão de escalabilidade, e em que a primeira dimensão de escalabilidade é diferente da segunda dimensão de escalabilidade, e para processar os dados de vídeo com base pelo menos em parte nos dados representativos das duas ou mais camadas de referência.

Description

[0001] Este pedidoreivindica o benefício do pedido provisório de no de série 61/894.829, depositado em quarta-feira, 23 de outubro de 2013, cujo conteúdo é incorporado ao presente documento a título de referência em sua totalidade.
CAMPO DA TÉCNICA
[0002] Esta revelação refere-se à codificação de vídeo e, mais particularmente, para transporte de dados de vídeo codificados.
ANTECEDENTES
[0003] As capacidades de vídeo digital podem ser incorporadas em uma ampla faixa de dispositivos, incluindo televisões digitais, sistemas de difusão avançar digital, sistemas de difusão sem fio, assistentes digitais pessoais (PDAs), computadores do tipo laptop ou desktop, computadores do tipo tablet, leitores de e-book, câmeras digitais, dispositivos de gravação digitais, reprodutores de mídia digitais, dispositivos de vídeo jogo, consoles de vídeo jogo, celular ou telefones de rádio satélite, conhecidos como "telefones inteligentes", dispositivos de teleconferência por vídeo, dispositivos de difusão por vídeo e similares. Os dispositivos de vídeo digital implantam técnicas de codificação de vídeo, como as descritas nos padrões definidos por MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Parte 10, Codificação de Vídeo Avançada (AVC), o padrão de Codificação de Vídeo de Alta Eficiência (HEVC) atualmente sob desenvolvimento e extensões de tais padrões. Os dispositivos de vídeo podem transmitir, receber, criptar, decodificar e/ou armazenar informações de vídeo digital de maneira mais eficiente implantando-se tais técnicas de codificação de vídeo.
[0004] As técnicas de codificação de vídeo incluemprevisão espacial (intrafoto) e/ouprevisão temporal (interfoto) para reduzirou remover a redundância inerenteemsequências de vídeo. Para a codificação de vídeo com base embloco, umafatia de vídeo (porexemplo, um quadro de vídeo ouumaporção de um quadro de vídeo) pode ser particionadaemblocos de vídeo, que também podem ser denominados de blocosemárvore, unidades de codificação (CUs) e/ounós de codificação. Osblocos de vídeo emumafatiaintracodificada (I) de umafotosão criptados com o uso de umaprevisão espacialemrelação às amostras de referência emblocosvizinhosnamesmafoto. Osblocos de vídeo emumafatiaintercodificada (P ou B) de umafotopodem usar previsão espacialemrelação às amostras de referência emblocosvizinhosnamesmaprevisão de fotoou temporal emrelação às amostras de referência emoutrasfotos de referência. As fotospodem ser referidascomoquadros e as fotos de referência podem ser referidascomoquadros de referência.
[0005] A previsão espacialou temporal resultaem um blocoprevisto para um bloco a ser codificado. Os dados residuaisrepresentamdiferenças de pixel entre o bloco original a ser codificado e o blocoprevisto. Um blocointercodificadoé codificado de acordo com um vetor de movimento que aponta para um bloco de amostras de referência que forma o blocoprevisto, em que os dados residuaisindicam a diferença entre o blococodificado e o blocoprevisto. Um blocointracodificadoé codificado de acordo com um modo de intracodificação e os dados residuais. Para compactação adicional, os dados residuaispodem ser transformados do domínio de pixel para um domínio de transformada, resultandoemcoeficientesresiduais que podem, então, ser quantizados. O coeficiente de transformadaquantizadopode ser dispostoinicialmenteemumamatriz bidimensional e varrido a fim de produzir um vetormonodimensional de coeficiente de transformada, e a codificação de entropiapode ser aplicada para conseguiraindamaiscompressão.
SUMÁRIO
[0006] Emgeral, estarevelação descrevetécnicas para transportar dados de vídeo codificados de acordo com, porexemplo, sistemas de MPEG-2 (Grupo de Especialistas de FotosemMovimento). O transporte de dados de vídeo codificadostambém pode ser denominadocomocondução de dados de vídeo codificados. As técnicas destarevelação podem ser usadas para transporte de dados de vídeo codificados para umaextensão ouextensão com múltiplas camadas de um padrão de codificação de vídeo, porexemplo, umaextensão do padrão de Codificação de Vídeo de Alta Eficiência (HEVC). Tais extensões podemincluirextensões emmúltiplas vistas (porexemplo, MV-HEVC), extensões escaláveis (porexemplo, SHVC), e extensões tridimensionais (porexemplo, 3D-HEVC). Desse modo, as técnicas destarevelação podem ser usadas para umaextensão com múltiplas camadas do padrão de codificação de vídeo, porexemplo, umaextensão com múltiplas camadas de HEVC.
[0007] Em um exemplo, um método incluidecodificar um descritor de extensão de hierarquia para um fluxoelementar que inclui dados de vídeo de camada de aprimoramentocodificados de acordo com umaextensão de um padrão de codificação de vídeo, em que odescritor de extensão de hierarquiainclui dados representativos de duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de aprimoramentoincluemumaprimeiracamada de aprimoramento, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e processaros dados de vídeo com base pelomenosempartenos dados representativos das duas oumaiscamadas de aprimoramento.
[0008] Em outro exemplo, um dispositivoincluiumamemória para armazenarumacamada de aprimoramento de dados de vídeo codificados de acordo com umaextensão de um padrão de codificação de vídeo, e um oumaisprocessadoresconfigurados para decodificar um descritor de extensão de hierarquia para um fluxoelementar que inclui a camada de aprimoramento, em que odescritor de extensão de hierarquiainclui dados representativos de duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de aprimoramento, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e para processaros dados de vídeo com base pelomenosempartenos dados representativos das duas oumaiscamadas de referência.
[0009] Em outro exemplo, um dispositivoincluimeios para decodificar um descritor de extensão de hierarquia para um fluxoelementar que inclui dados de vídeo de camada de aprimoramentocodificados de acordo com umaextensão de um padrão de codificação de vídeo, em que odescritor de extensão de hierarquiainclui dados representativos de duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de aprimoramento, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e meios para processaros dados de vídeo com base pelomenosempartenos dados representativos das duas oumaiscamadas de referência.
[0010] Em outro exemplo, um meio de armazenamentolegível porcomputadorarmazenou no mesmoinstruções que, quandoexecutadas, fazem com que um processadordecodifique um descritor de extensão de hierarquia para um fluxoelementar que inclui dados de vídeo de camada de aprimoramentocodificados de acordo com umaextensão de um padrão de codificação de vídeo, em que odescritor de extensão de hierarquiainclui dados representativos de duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de aprimoramento, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e processamos dados de vídeo com base pelomenosempartenos dados representativos das duas oumaiscamadas de referência.
[0011] Em outro exemplo, um método incluireceber dados de vídeo que incluemumacamada de aprimoramentocodificada de acordo com umaextensão de um padrão de codificação de vídeo e duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de referência, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de referência, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e criptar um descritor de extensão de hierarquia, em que odescritor de extensão de hierarquiainclui dados representativos das duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende.
[0012] Em outro exemplo, um dispositivoincluiumamemória para armazenar dados de vídeo que incluiumacamada de aprimoramentocodificada de acordo com umaextensão de um padrão de codificação de vídeo e duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de referência, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de referência, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e um oumaisprocessadoresconfigurados para criptar um descritor de extensão de hierarquia, em que odescritor de extensão de hierarquiainclui dados representativos das duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende.
[0013] Osdetalhes de um oumaisexemplossão apresentadosnosdesenhosanexos e nadescrição abaixo. Outros atributos, objetivos e vantagensserão evidentes a partir da descrição e dos desenhos e a partir das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[0014] A Figura 1 é um diagrama de blocos que ilustra um sistema de criptação e decodificação de vídeo exemplificador que podeutilizartécnicas para transportar dados de vídeo codificados de acordo com extensões de um padrão de codificação de vídeo.
[0015] A Figura 2 é um diagrama de blocos que ilustra um exemplo de um criptador de vídeo que podeimplantartécnicas para transportar dados de vídeo codificados de acordo com extensões de um padrão de codificação de vídeo.
[0016] A Figura 3 é um diagrama de blocos que ilustra um exemplo de um decodificador de vídeo que podeimplantartécnicas para transportar dados de vídeo codificados de acordo com extensões de um padrão de codificação de vídeo.
[0017] A Figura 4 é um diagrama de blocos que ilustra um sistemaexemplificador no qual um dispositivo de fonte de áudio/vídeo (A/V) transporta dados de áudio e vídeo a um dispositivo de destino de A/V.
[0018] A Figura 5 é um fluxograma que ilustra um método exemplificador para processar dados de vídeo de acordo com as técnicas destarevelação.
[0019] A Figura 6 é um fluxograma que ilustra um método exemplificador para processar dados de vídeo de acordo com as técnicas destarevelação.
DESCRIÇÃO DETALHADA
[0020] Emgeral, estarevelação descrevetécnicas relacionadasaos dados de nível de Sistemas de Grupo de Especialistas de FotoemMovimento (MPEG)-2 para dados de mídia. Sistemas de MPEG-2 descrevegeralmentecomodoisoumaisfluxos de dados são multiplexados entre si para formar um único fluxo de dados. Estarevelação descrevetécnicas relacionadas a dados de sistemas de MPEG- 2 para dados de vídeo de múltiplas camadas. Maisparticularmente, estarevelação descreve um descritor de extensão de hierarquia que podem ser usados para descrever dados de vídeo de múltiplas camadas de um fluxo de dados de sistemas de MPEG-2. Por exemplo, o descritor de extensão de hierarquiapodeindicar se dados estão presentes para qualquerdentre de umapluralidade de dimensões de escalabilidadepossíveis, tais comoescalabilidadeespacial, sinal de razão de pico para ruído (PSNR) escalabilidade, escalabilidade de profundidade de bit de crominância ousimilares. Dispositivospodem usar esses dados para realizarcorretamentedemultiplexação ouextração de subfluxo de bits.
[0021] Estarevelação também descrevemodificações aodescritor de vídeo de Codificação de Vídeo de Alta Eficiência (HEVC) de sistemas de MPEG-2. Em particular, de acordo com essastécnicas, o descritor de vídeo de HEVC podeincluir um elemento de sintaxepresente de extensão de HEVC (porexemplo, um sinalizador) que indica se um descritor de extensão de HEVC está presentecomoparte do descritor de vídeo de HEVC. O descritor de extensão de HEVC podeincluir dados que descrevempontos de operação para dados de vídeo de HEVC, porexemplo, perfil, faixa, e indicadores de nível, informações de empacotamento de quadro, informações de escalabilidade temporal, se camadasparticulares do ponto de operação foremalmejadas para saída, informações de taxa de bits e informações na taxa de quadro.
[0022] As técnicas destarevelação são geralmentedirecionadasà condução (porexemplo, transporte) de dados de vídeo codificados de acordo com umaextensão a um padrão de codificação de vídeo (porexemplo, umaextensão aopadrão de Codificação de Vídeo de Alta Eficiência (HEVC), também denominadacomo ITU-T H.265). Tais extensões podemincluirextensões de múltiplas vistas, tridimensionais e/ouescaláveis. Desse modo, as técnicas destarevelação podem ser aplicadasao HEVC de múltiplas vistas (MV-HEVC), HEVC tridimensional (3D-HEVC) e HEVC escalonável (SHVC).
[0023] Dados de vídeo de múltiplas camadas, porexemplo, dados de vídeo de múltiplas vistas e/ou dados de vídeo com múltiplas camadasescaláveis, podemincluirpontos de operação designados. Emgeral, um ponto de operação descreve um subconjunto de camadas (porexemplo, vistas) de um conjunto completo de camadas de dados de vídeo de múltiplas camadas. O ponto de operação também podeidentificarcamadas de saída alvo, ouseja, camadas para osquais dados devem ser emitidos. Emalgunscasos, dados de umacamadapodem ser incluídos em um ponto de operação somente para usocomoumacamada de referência e, portanto, talcamadanão seriaconsideradaumacamada de saída alvo.
[0024] Um tipo de dimensão escalonável é a dimensão temporal. Por exemplo, emescalabilidade temporal, um conjunto de dados de vídeo podesuportarvárias taxas de quadrooutaxas de reprodução, porexemplo, 15 quadrosporsegundo (FPS), 30 FPS, 60 FPS e 120 FPS. Um dado nível temporal podeincluirtodas as fotosnessenível ouníveis inferiores. Por exemplo, continuando o exemplo anterior, um nível temporal de 0 podecorresponder a 15 FPS, um nível temporal de 1 podeincluirfotos de nível temporal 0 assimcomofotosemnível temporal para suportar 30 FPS, um nível temporal de 2 podeincluirfotos de níveis temporais 0 e 1 assimcomofotosemnível temporal 2 para suportar 60 FPS e assimpordiante. Um temporal_identifier, ouTemporallD, pode ser sinalizadocomorepresentativo do nível temporal ao qual umafoto particular pertence.
[0025] Um dispositivo de destinopode usar descritores de ponto de operação incluídos em um fluxo de bits para selecionar um dos pontos de operação a ser decodificados e apresentadosporúltimo (porexemplo, exibidos) a um usuário. Emvez de passar dados para todas as vistas a um decodificador de vídeo medianterecebimento, o dispositivo de destinopodeenviarsomente as vistas de um ponto de operação selecionadoaodecodificador de vídeo. Dessa maneira, o dispositivo de destinopodedescartar dados para vistas que não serão decodificados. O dispositivo de destinopodeselecionar um ponto de operação com base namaiorqualidadesuportadoem um dos pontos de operação para um fluxo de bits e/ou com base emumaquantidadedisponível de largura de banda de rede. Adicionaloualternativamente, um dispositivo de rede intermediária podedescartar dados para vistas que não correspondema um ponto de operação requisitado, porexemplo, para utilizarmelhor a largura de banda, e encaminhar dados extraídos aodispositivo de destino.
[0026] Dados de vídeo também podem ser descritosporperfis, camadas e faixas. Um “perfil” é um subconjunto de umasintaxe de fluxo de bits inteira que é especificadapor um padrão de codificação de vídeo aplicável. Um “nível” correspondeàs limitações doconsumo de recurso de decodificador, tais comoporexemplo, memória e decodificação e computação, que são relacionadasà resolução das fotos, taxa de bits e taxa de processamento de bloco.
[0027] Ospadrões de codificação de vídeo incluem ITU-T H.261, ISO/IEC MPEG- -1 Visual, ITU-T H.262 ou ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual e ITU-T H.264 (também chamado de ISO/IEC MPEG-4 AVC), incluindosuasextensões de Codificação de Vídeo Escalonável (SVC) e de Codificação de Vídeo de Múltiplas Vistas (MVC).
[0028] Recentemente, o projeto de um novo padrão de codificação de vídeo, a saber Codificação de Vídeo de Alta Eficácia (HEVC), foifinalizado pela Equipe de Colaboração ConjuntaemCodificação de Vídeo (JCT-VC) do Grupo de Especialistas de Codificação de Vídeo de ITU-T (VCEG) e do Grupo de Especialistas de FilmeCinematográfico de ISO/IEC (MPEG). Uma especificação de rascunho de HEVC, denominadacomo WD de HEVC doravante, está disponível a partir de http://phenix.int- evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC- N1003-vl.zip. A extensão de múltiplas vistas para HEVC, ouseja, MV-HEVC, também está sendodesenvolvidapelo JCT-3 V. um Rascunho de Trabalho (WD) de MV-HEVC, denominadocomo MV-HEVC WD5 doravante, está disponível a partir de http://phenix.it- sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3 V-E 1004-v6.zip. Aextensão escalonável para HEVC, denominada SHVC, também está sendodesenvolvidapelo JCT- VC. Um Rascunho de Trabalho (WD) recente de SHVC e denominadocomo SHVC WD3 doravante, está disponível a partir de http://phenix.it- sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCT VC-N 1008-v3.zip.
[0029] Um rascunho de trabalho (WD) da extensão de faixa de HEVC, está disponível a partir de http://phenix.int-evry. fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N 1005- v3.zip. Um rascunho de trabalho (WD) da extensão 3D de HEVC, ouseja, 3D-HEVC está disponível a partir de http://phenix.int- evry.fr/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3 V-El 001 -v3.zip.
[0030] Tecnologias de Sistemas de MPEG-2 (Grupo de Especialistas de FotosemMovimento) podem ser empregadas para transportar dados de vídeo. Sistemas de MPEG-2 são algumasvezesdenominadoscomo MPEG-2 TS. Uma especificação de MPEG-2 TS é a recomendação de ITU-T H.222.0, versão de junho de 2012, que fornecesuporte para ITU-T H.264/AVC (Codificação de Vídeo Avançada) e extensões de AVC.
[0031] Recentemente, modificações de MPEG-2 TS para HEVC foramdesenvolvidas. Um documento que descrevemodificações para MPEG-2 TS para HEVC é “Text of ISO/IEC 13818-1: 2013/Final Draft Amendment 3 - Transport of HEVC video over MPEG-2 Systems”, no documento de MPEG wl3656, julho de 2013.
[0032] A especificação de sistemas de MPEG-2 descrevecomofluxos de dados de multimídia comprimida(Vídeo e Áudio) podem ser multiplexadosem conjunto com outros dados para formar um único fluxo de dados adequados para transmissão digital ouarmazenamento. Sistemas de MPEG-2 descrevem um fluxoelementar, que é um único, componentedigitalmentecodificado (possivelmentecomprimidopor MPEG) de um programa(também algumasvezespronunciado “programa”). Por exemplo, a parte de vídeo e áudio codificado do programapode ser um fluxoelementar. Um fluxoelementaré primeiramenteconvertidoem um fluxoelementar (PES) empacotado antes multiplexadosem um fluxo de programaou um fluxo de transporte. Dentro do mesmoprograma, um elemento de sintaxe de id de fluxoé usado para distinguirospacotes de PES que pertencema um fluxoelementaruns dos outros.
[0033] Fluxos de programa e fluxos de transportesão dois multiplexes alternativos que almejamdiferentesaplicações. O fluxo de programaé desviado para o armazenamento e exibição de um único programa de um serviço de armazenamento digital e um fluxo de programaé destinado para usoem ambientes semerrodevidoaofato de que omesmopode ser suscetível aerros. Um fluxo de programaincluiosfluxoselementares que pertencemaomesmo e geralmentecontém pacotes com pacotes de comprimentovariável. Em um fluxo de programa, pacotes de PES que são derivados a partir de fluxoselementares de contribuição são organizadosem "conjuntos". Um conjunto inclui um leitor de conjunto, um cabeçalho de sistemaopcional e qualquernúmero de pacotes de PES tomados a partir de qualquer um dos fluxoselementares de contribuição emqualquerordem. O cabeçalho de sistemacontém um resumo das características dofluxo de programa tais como: sua taxa de dados máxima; o número de fluxoselementares de vídeo e áudio de contribuição; informações de temporização adicionais. Um decodificadorpode usar as informações contidasem um cabeçalho de sistema para determinar se o decodificadortemcapacidade de decodificar o fluxo de programaounão.
[0034] O fluxo de transporteé destinadoà entregasimultânea de um número de programasatravés de canaispotencialmentepropensosaerros. O mesmoé um multiplex elaborado para aplicações de múltiplos programas tais comotransmissão contínua, de modo que um único fluxo de transportepossaacomodarmuitosprogramasindependentes.
[0035] Um fluxo de transporteincluiumasucessão de pacotes de transporte, e cada um dos pacotes de transportetem 188 bytes de comprimento. O uso de pacotes de comprimentocurtofixosignifica que ofluxo de transportenão é tão suscetível aerrosquanto o fluxo de programa. Além disso, cadapacote de transporte de 188 bytes de comprimentoé facilmente dado a proteção adicional contra errosprocessando-se o mesmoatravés de um processo de proteção contra errospadrão, tais comocriptação Reed- Solomon. A resiliência de errosaprimorada do fluxo de transportesignifica que omesmotemuma chance melhor de sobreviveraoscanais de erros a seremconstatadosem um ambiente de difusão, porexemplo.
[0036] Pode-se observar que ofluxo de transporteé claramente o melhordois multiplexes com suaresiliência aerrosaumentada e capacidade de conduzirmuitosprogramassimultâneos. No entanto, o fluxo de transporteé um multiplex maissofisticado do que ofluxo de programa e é consequentementemaisdifícil de criar e demultiplexar.
[0037] O primeiro byte de um pacote de transporteé um byte de sincronização, que é 0x47 (ouseja, valor hexadecimal 47, ou 0100 0111). Um único fluxo de transportepodetransportarmuitosprogramasdiferentes, em que cada um compreendemuitosfluxoselementaresempacotados. Um campo de identificador de pacote (PID) de 13 bits é usado para distinguirpacotes de transporte que contêm os dados de um fluxoelementardaqueles que conduzemos dados de outros fluxoselementares. É a responsabilidade do multiplexadorgarantir que cadafluxoelementarsejaprivilegiadoem um valor de PID único. O último byte de um pacote de transporteé um campo de contagem de continuidade. O mesmoé acrescentado entre sucessivospacotes de transportepertencentesaomesmofluxoelementar. Issopermite que um decodificadordetecte a perdaouganho de um pacote de transporte e esperançosamente oculteoserros que podem, de outro modo, se resultar de talevento.
[0038] Embora o valor de PID torne claro ao qual o fluxoelementar um pacote de transportepertence, o decodificadortambém precisatercapacidade de determinarquaisfluxoselementarespertencem a qual programa. As informações específicas de programasão usadas para especificarexplicitamente a relação entre programas e fluxoselementares de componente. As informações específicas de programapodemincluirumatabela de mapa de programa (PMT), um mapa de fluxo de programa (PSM), umatabela de associação de programa (PAT), umatabela de informações de rede (NIT), e/ouumatabela de acessocondicional (CAT).
[0039] Cadaprogramaconduzidoem um fluxo de transportetemumatabela de mapa de programaassociadaaomesmo. Essa tabelafornecedetalhesacerca do programa e osfluxoselementares que formam o programa. Por exemplo, pode haver um programa com número 3 que contém vídeo com PID 33, áudio eminglês com PID 57, e áudio emchinês com PID 60. Permite-se que um PMT incluamais do que um programa. A tabelabásica de mapa de programapode ser acrescida com alguns dos muitosdescritoresespecificadosdentro da especificação de sistemas de MPEG-2. Osdescritoresconduzeminformações adicionaisacerca de um programaouseusfluxoselementares de componente. Osdescritorespodemincluir, porexemplo, parâmetros de criptação de vídeo, parâmetros de criptação de áudio, identificação de linguagem, informações de pan & scan, detalhes de acessocondicionais, informações de direitosautorais, e assimpordiante. Um transmissorcontínuo ou outro usuário podedefinirdescritoresadicionais privados se for exigido. Emfluxoselementares de componenterelacionados a vídeo, há também um descritor de hierarquia, que forneceinformações para identificaroselementos de programa que contêm componentes de fluxos de vídeo, áudio e privados codificados de modo hierárquico.
[0040] O PSM forneceumadescrição dos fluxoselementares no fluxo de programa e suarelação um com o outro. Quandoconduzidoem um fluxo de transporte, essaestruturanão deve ser modificada, pela especificação de sistemas de MPEG-2. O PSM está presentecomo um pacote de PES quando o valor de id de fluxoé OxBC (valor hexadecimal BC, ou 1011 1100).
[0041] Uma listacomplexa de todososprogramasdisponíveis em um fluxo de transporteé mantidanaTabela de Associação de Programa. Essa tabelapode ser facilmenteconstatada, à medida que a mesmatem sempre o valor de PID 0. Cadaprogramaé listado junto ao valor de PID dos pacotes de transporte que contêm suatabela de mapa de programa. Com o uso do mesmoexemplomencionadoacima, a PMT que especificaosfluxoselementares de programanúmero 3 tem um PID de 1001 e outra PMT tem outro PID de 1002. Esse conjunto de informações é incluído na PAT.
[0042] O programanúmero zero, especificadona PAT, tem um significado especial. Esseprogramaé usado para apontar o caminhoà tabela de informações de rede. A NIT é opcional. Quandopresente, a NIT é destinada a fornecerinformações acerca da rede física que realiza o fluxo de transporte, tais comofrequências de canal, detalhes de transponder de satélite, características de modulação, originador de serviço, nome de serviço, e detalhes de redes alternativasdisponíveis.
[0043] Se quaisquerfluxoselementaresdentro de um fluxo de transporteforemembaralhados, então umatabela de acessocondicionalprecisaestarpresente, pela especificação de sistemas de MPEG-2. A CAT fornecedetalhes do(s) sistema(s) de embaralhamentoemuso e forneceosvalores de PID de pacotes de transporte que contêm as informações de gerenciamento e direito de acessocondicional. O formato dessas informações não é especificadodentro da especificação de sistemas de MPEG-2.
[0044] Em MPEG-2 TS, um descritor de hierarquiaé projetado para sinalizar a hierarquia de subfluxos de bits emdiferentesfluxoselementares. O descritor de hierarquiaforneceinformações para identificaroselementos de programa que contêm componentes de fluxos de vídeo, áudio e privados codificados de modo hierárquico. A tabela 2-49 da especificação de sistemas de MPEG-2 é reproduzidaabaixo: TABELA 2-49 - DESCRITOR DE HIERARQUIA
[0045] Semântica para oselementos de sintaxe da tabela 2-49 de sistemas de MPEG-2 é fornecidaabaixo:
[0046] temporal_scalability_flag - Um sinalizador de 1-bit, que quandodefinidas para "0" indica que oelemento de programaassociadoaprimora a taxa de quadro do fluxo de bits resultante do elemento de programareferenciadopelohierarchy_embedded_layer_index. O valor de "1" para essesinalizadoré reservado.
[0047] spatial_scalability_flag - Um sinalizador de 1-bit, que, quandoajustado para "0", indica que oelemento de programaassociadoaprimora a resolução espacial do fluxo de bits resultante do elemento de programareferenciadopelohierarchy_embedded_layer_index. O valor de "1" para essesinalizadoré reservado.
[0048] quality_scalability_flag - Um sinalizador de 1-bit, que, quandoajustado para "0", indica que oelemento de programaassociadoaprimora a qualidade de SNR oufidelidade do fluxo de bits resultante do elemento de programareferenciadopelohierarchy_embedded_layer_index. O valor de "1" para essesinalizadoré reservado.
[0049] hierarchy_type - A relação hierárquica entre a camadahierárquica associada e suacamadaembutida de hierarquiaé definidanatabela 2-50. Se a escalabilidade se aplicaremmais do que umadimensão, esse campo deve ser ajustado para o valor de "8" (“escalabilidadecombinada”), e ossinalizadorestemporal_scalability_flag, spatial_scalability_flag e quality_scalability_flagdevem ser ajustados de acordo. Para ossubfluxos de bits de vídeo de MVC, esse campo deve ser ajustado para o valor de "9" (“subfluxo de bits de vídeo de MVC”) e ossinalizadorestemporal_scalability_flag, spatial_scalability_flag e quality_scalability_flagdevem ser ajustados para "1". Para ossubfluxos de bits de vista de base de MVC, esse campo deve ser ajustado para o valor de "15" e ossinalizadorestemporal_scalability_flag, spatial_scalability_flag e quality_scalability_flagdevem ser ajustados para "1".
[0050] hierarchy_layer_index - O índice de camada de hierarquiaé um campo de 6 bits que define um índice exclusivo do elemento de programaassociadoemumatabela de hierarquias de camada de codificação. Osíndices devem ser exclusivosdentro de umaúnica definição de programa. Para subfluxos de bits de vídeo de fluxos de vídeo de AVC que se conformama um oumaisperfisdefinidosem Annex G de Rec. ITU-T H.264|ISO/IEC 14496-10, esseé o índice de elemento de programa, que é atribuído de modo que a ordem de fluxo de bits sejacorreta se representações de dependência de SVC associadas dos subfluxos de bits de vídeo da mesmaunidade de acessoforemremontadas de maneiracrescente de índice de camada de hierarquia. Para subfluxos de bits de vídeo de MVC de fluxos de vídeo de AVC que se conformama um oumaisperfisdefinidosem Annex H de Rec. ITU-T H.264|ISO/IEC 14496-10, esseé o índice de elemento de programa, que é atribuído de modo que a ordem de fluxo de bits sejacorreta se subconjuntos de componente de vista de MVC associados dos subfluxos de bits de vídeo de MVC da mesmaunidade de acessoforemremontadas de maneiracrescente de índice de camada de hierarquia.
[0051] tref_present_flag - Um sinalizador de 1-bit, que, quandoajustado para "0", indica que o campo de TREF podeestarpresentenoscabeçalhos de pacote de PES no fluxoelementarassociado. O valor de "1" "para essesinalizadoré reservado.
[0052] hierarchy_embedded_layer_index - O hierarchy_embedded_layer_indexé um campo de 6 bits que define o índice de camada de hierarquia do elemento de programa que precisa ser acessado e estarpresentenaordem de decodificação antes da decodificação dofluxoelementarassociadoaessedescritor de hierarquia. Esse campo é indefinido se o valor de hierarchy_type for 15.
[0053] hierarchy_channel - O hierarchy_channelé um campo de 6 bits que indica o número de canal destinado para o elemento de programaassociadoem um conjunto ordenado de canais de transmissão. O canal de transmissão maisrobustaé definidopelomenor valor desse campo em relação à definição de hierarquia de transmissão geral. Um dado hierarchy_channelpode ser, aomesmo tempo, atribuído aosdiversoselementos de programa.
[0054] A tabela 2-50 da especificação de sistemas de MPEG-2 é reproduzidaabaixo: TABELA 2-50 - VALORES DE CAMPO DE HIERARCHY_TYPE
[0055] Em MPEG-2 TS, doisdescritoressão projetados para sinalizarcaracterísticas dos subfluxos de bits para SVC e MVC respectivamente: O descritor de extensão de SVC e descritor de extensão de MVC. SVC e MVC são as extensões de codificação de vídeo escalonável e codificação de vídeo de múltiplas vistas de ITU-T H.264/AVC. Adicionalmente, em MPEG-2 TS, há um descritor de ponto de operação de MVC que descreve as características de pontos de operação. A sintaxe e semântica dos três descritoressão fornecidasabaixo.
[0056] A Tabela 2-96 abaixoilustraelementos de sintaxe para o descritor de extensão de SVC de sistemas de MPEG-2. Para ossubfluxos de bits de vídeo de fluxos de vídeo de AVC que se conformama um oumaisperfisdefinidosem Annex G de Rec. ITU T H.264|ISO/IEC 14496-10, o descritor de extensão de SVC da tabela 2-96 forneceinformações acerca do fluxo de vídeo de AVC resultante da remontagem(até) o subfluxo de bits de vídeo associado e forneceinformações acerca de escalabilidade e a remontagem do subfluxo de bits de vídeo associado. Pode haver um descritor de extensão de SVC associado a qualquer um dos subfluxos de bits de vídeo de um fluxo de vídeo de AVC que se conformaa um oumaisperfisdefinidosem Annex G de Rec. ITU-T H.264|ISO/IEC 14496-10. Tabela 2-96 - descritor de extensão de SVC
[0057] A semântica para oselementos de sintaxe da Tabela 2-96 de acordo com aespecificação de sistemas de MPEG-2 é fornecidaabaixo:
[0058] largura - Esse campo de 16 bits indica a resolução de largura de imagemmáxima, em pixels, do fluxo de vídeo de AVC remontado.
[0059] altura - Esse campo de 16 bits indica a resolução de altura de imagemmáxima, em pixels, do fluxo de vídeo de AVC remontado.
[0060] frame_rate - Esse campo de 16 bits indica a taxa de quadromáxima, emquadros/256 segundos, do fluxo de vídeo de AVC remontado.
[0061] average_bitrate - Esse campo de 16 bits indica a taxa de bits média, em kbit porsegundo, do fluxo de vídeo de AVC remontado.
[0062] maximum_bitrate - Esse campo de 16 bits indica a taxa de bits máxima, em kbit porsegundo, do fluxo de vídeo de AVC remontado.
[0063] dependency_id - Esse campo de 3 bits indica o valor de id de dependência associadaaosubfluxo de bits de vídeo.
[0064] quality_id_start - Esse campo de 4 bits indica o valor mínimo do id de qualidade do elemento de sintaxe de cabeçalho de unidade de camada de abstração de rede (NAL) de todas as unidades de NAL contidas no subfluxo de bits de vídeo associado.
[0065] quality_id_end - Esse campo de 4 bits indica o valor máximo do id de qualidade do elemento de sintaxe de cabeçalho de unidade de NAL de todas as unidades de NAL contidas no subfluxo de bits de vídeo associado.
[0066] temporal_id_start - Esse campo de 3 bits indica o valor mínimo de o temporal_id do elemento de sintaxe de cabeçalho de unidade de NAL de todas as unidades de NAL contidas no subfluxo de bits de vídeo associado.
[0067] temporal_id_end - Esse campo de 3 bits indica o valor máximo dotemporal_id do elemento de sintaxe de cabeçalho de unidade de NAL de todas as unidades de NAL contidas no subfluxo de bits de vídeo associado.
[0068] no_sei_nal_unit_present - Essesinalizador de 1-bit, quandodefinido para "1"indica que nenhuma SEI unidade de NAL SEI está presente no subfluxo de bits de vídeo associado. No casoem que osinalizadorno_sei_nal_unit_presenté ajustado para "1" para todosossubfluxos de bits de vídeo de SVC e não é ajustado para "1" ounão está presente para o subfluxo de bits de vídeo de AVC de SVC, quaisquerunidades de NAL SEI, se estiverempresentes, são incluídas no subfluxo de bits de vídeo de AVC de SVC. Se o descritor de extensão de SVC estiverausente para todosossubfluxos de bits de vídeo, unidades de NAL SEI podemestarpresentesemqualquerrepresentação de dependência de SVC de um SVC subfluxo de bits de vídeo, e podemexigir a reordenação para aordem de unidades de NAL dentro de umaunidade de acessoconformedefinidoem Rec. ITU-T H.264|ISO/IEC 14496-10 antes da remontagem de unidade de acesso.
[0069] A tabela 2-97 abaixofornecesintaxe para o descritor de extensão de MVC da especificação de sistemas de MPEG-2. Para ossubfluxos de bits de vídeo de MVC de fluxos de vídeo de AVC que se conformama um oumaisperfisdefinidosem Annex H de Rec. ITU-T H.264|ISO/IEC 14496-10, o descritor de extensão de MVC forneceinformações acerca do fluxo de vídeo de AVC resultante da remontagem(até) o subfluxo de bits de vídeo de MVC associado e forneceinformações acerca do subfluxo de bits de vídeo de MVC contido e para a remontagem do subfluxo de bits de vídeo de MVC associado. Pode haver um descritor de extensão de MVC associado a qualquer um dos subfluxos de bits de vídeo de MVC (com tipo de fluxoigual a 0x20) de um fluxo de vídeo de AVC que se conformaa um oumaisperfisdefinidosem Annex H de Rec. ITU-T H.264|ISO/IEC 14496 10. Quando o subfluxo de bits de vídeo de MVC é um subfluxo de bits de vista de base de MVC, o descritor de extensão de MVC deveestarpresente no PMT ou PSM associado para o tipo de fluxoigual a 0x1B. DESCRITOR DE EXTENSÃO DE MVC
[0070] A semântica para oselementos de sintaxe da Tabela 2-97 de acordo com aespecificação de sistemas de MPEG-2 é fornecidaabaixo:
[0071] average_bitrate - Esse campo de 16 bits indica a taxa de bits média, em kbits porsegundo, do fluxo de vídeo de AVC remontado. Quandoajustada para 0, a taxa de bits média não é indicada.
[0072] maximum_bitrate - Esse campo de 16 bits indica a taxa de bits máxima, em kbits porsegundo, do fluxo de vídeo de AVC remontado. Quandoajustada para 0, a taxa de bits máxima não é indicada.
[0073] view_order_index_min - Esse campo de 10 bits indica o valor mínimo do índice de ordem de vista de todas as unidades de NAL contidas no subfluxo de bits de vídeo de MVC associado.
[0074] view_order_index_max - Esse campo de 10 bits indica o valor máximo do índice de ordem de vista de todas as unidades de NAL contidas no subfluxo de bits de vídeo de MVC associado.
[0075] temporal_id_start - Esse campo de 3 bits indica o valor mínimo dotemporal_id do elemento de sintaxe de cabeçalho de unidade de NAL de todas as unidades de NAL contidas no subfluxo de bits de vídeo de MVC associado.
[0076] temporal_id_end - Esse campo de 3 bits indica o valor máximo dotemporal_id do elemento de sintaxe de cabeçalho de unidade de NAL de todas as unidades de NAL contidas no subfluxo de bits de vídeo de MVC associado.
[0077] no_sei_nal_unit_present - Essesinalizador de 1-bit, quandoajustado para "1", indica que nenhumaunidade de NAL SEI está presente no subfluxo de bits de vídeo associado. No casoem que osinalizadorno_sei_nal_unit_presenté ajustado para "1" para todosossubfluxos de bits de vídeo de MVC e não é ajustado para "1" ounão está presente para o subfluxo de bits de vídeo de AVC de MVC, quaisquerunidades de NAL SEI, se estiverempresentes, são incluídas no subfluxo de bits de vídeo de AVC de MVC. Se o descritor de extensão de MVC estiverausente para todosossubfluxos de bits de vídeo de MVC, as unidades de NAL SEI podemestarpresentesemqualquersubconjunto de componente de vista de MVC de um subfluxo de bits de vídeo de MVC, e podeexigir a reordenação à ordem de unidades de NAL dentro de umaunidade de acessoconformedefinidoem Rec. ITU-T H.264|ISO/IEC 14496-10 antes da remontagem de unidade de acesso.
[0078] no_prefix_nal_unit_present - Essesinalizador de 1-bit, quandoajustado para "1" indica que nenhumaunidade de prefixo NAL está presenteemnenhumdentre o subfluxo de bits de vídeo de AVC de MVC ousubfluxos de bits de vídeo de MVC. Quandoesse bit é ajustado para "0", o mesmo indica que as unidades de prefixo NAL estão presentes no subfluxo de bits de vídeo de AVC de MVC somente.
[0079] A tabela 2 100 abaixofornecesintaxe para o descritor de ponto de operação de MVC da especificação de sistemas de MPEG-2. O descritor de ponto de operação de MVC (consultar a tabela 2-100) fornece um método para indicar o perfil e nível para um oumaispontos de operação, cada um constituído por um conjunto de um oumaissubfluxos de bits de vídeo de MVC. Se estiverpresente, o descritor de ponto de operação de MVC deve ser incluído no grupo de elementos de dados seguidosimediatamente do campo program_info_length no program_map_section. Se um descritor de ponto de operação de MVC está presentedentro de umadescrição de programa, pelomenos um descritor de hierarquiadeveestarpresente para cadasubfluxo de bits de vídeo de MVC presente no mesmoprograma. De acordo com aespecificação de sistemas de MPEG-2, de modo a indicardiferentesperfis, um descritor de ponto de operação de MVC porperfilé usado. TABELA 2-100 - DESCRITOR DE PONTO DE OPERAÇÃO DE MVC TABELA 2-100 - DESCRITOR DE PONTO DE OPERAÇÃO DE MVC
[0080] A semântica para oselementos de sintaxe da Tabela 2-100 de acordo com aespecificação de sistemas de MPEG-2 é fornecidaabaixo:
[0081] profile_idc - Esse campo de 8 bits indica o perfil, conformedefinidoem Rec. ITU-T H.264|ISO/IEC 14496-10, de todosospontos de operação descritosdentrodessedescritor para o fluxo de bits de MVC.
[0082] constraint_set0_flag, constraint_set1_flag, constraint_set2_flag, constraint_set3_flag, constraint_set4_flag, constraint_set5_flag - Esses campos devem ser codificados de acordo com a semântica para esses campos definidosem Rec. ITU-T H.264|ISO/IEC 14496-10.
[0083] AVC_compatible_flags - A semântica de sinalizadorescompatíveis com AVC são exatamenteiguaisà semântica do(s) campo(s) definido(s) para os 2 bits entre o sinalizador constraint_set2 e o campo level_idc no parâmetro de sequência ajustado, conformedefinidoem Rec. ITU-T H.264|ISO/IEC 14496-10.
[0084] level_count - Esse campo de 8 bits indica o número de níveis para osquaisospontos de operação são descritos.
[0085] leve_idc - Esse campo de 8 bits indica o nível, conformedefinidoem Rec. ITU-T H.264|ISO/IEC 14496-10, do fluxo de bits de MVC para ospontos de operação descritospelosgrupos de elementos de dados a seguir.
[0086] operation_points_count - Esse campo de 8 bits indica o número de pontos de operação descritos pela listaincluída no grupo de elementos de dados a seguir.
[0087] applicable_temporal_id - Esse campo de 3 bits indica o maior valor do temporal_id das unidades de NAL VCL no fluxo de vídeo de AVC remontado.
[0088] num_target_output_views - Esse campo de 8 bits indica o valor donúmero das vistas almejadas para saída para o ponto de operação associado.
[0089] ES_count - Esse campo de 8 bits indica o número de valores de referência de ES incluídos no grupo de elementos de dados a seguir. Osfluxoselementaresindicados no grupo de elementos de dados a seguirformamem conjunto um ponto de operação dofluxo de bits de vídeo de MVC. O valor 0xff é reservado.
[0090] ES_reference - Esse campo de 6 bits indica o índice de camada de hierarquia valor presente no descritor de hierarquia que identifica um subfluxo de bits de vídeo. O perfil e nível para um único ponto de operação, porexemplo, o fluxo de bits de vídeo de MVC inteiro, pode ser sinalizado com o uso do descritor de vídeo de AVC. Além disso, MVC permitedecodificardiferentessubconjuntos de vista que podemexigirdiferentesperfis e/ouníveis. Aespecificação dodescritor de ponto de operação de MVC suporta a indicação de diferentesperfis e níveis para múltiplos pontos de operação.
[0091] A tabela X-1 abaixofornecesintaxe para o descritor de vídeo de HEVC de acordo com aespecificação de sistemas de MPEG-2. Para um fluxo de vídeo de HEVC, o descritor de vídeo de HEVC forneceinformações básicas para identificarparâmetros de codificação, tais comoparâmetros de perfil e nível dessefluxo de vídeo de HEVC. Para um subfluxo de bits de vídeo temporal de HEVC ou um subconjunto de vídeo temporal de HEVC, o descritor de vídeo de HEVC forneceinformações tais como a maiorrepresentação de subcamada temporal de HEVC associadacontida no fluxoelementar a qual o mesmo se aplica. TABELA X-1 - DESCRITOR DE VÍDEO DE HEVC
[0092] A semântica para oselementos de sintaxe da Tabela X-1 de acordo com aespecificação de sistemas de MPEG-2 é fornecidaabaixo:
[0093] profile_space, tier_flag, profile_idc, profile_compatibility_indication, progressive_source_flag, interlaced_source_flag, non_packed_constraint_flag, frame_only_constraint_flag, reserved_zero_44bits, level_idc - Quando o descritor de vídeo de HEVC se aplicaa um fluxo de vídeo de HEVC ou a umarepresentação temporal completa de HEVC, esses campos devem ser codificados de acordo com a semântica definidaem Rec. ITU-T H.265 |ISO/IEC 23008-2 para general_profile_space, general_tier_flag, general_profile_idc, general_profile_compatibility_flag [i], general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag, general_frame_only_constraint_flag, general_reserved_zero_44bits, general_level_idc, respectivamente, para o fluxo de vídeo de HEVC correspondenteourepresentação temporal completa de HEVC, e o fluxo de vídeo de HEVC inteiroourepresentação temporal completa de HEVC à qual o descritor de vídeo de HEVC é associadodevem se conformaràs informações sinalizadasporesses campos.
[0094] Quando o descritor de vídeo de HEVC se aplicaa um subfluxo de bits de vídeo temporal de HEVC ousubconjunto de vídeo temporal de HEVC cuja a maiorrepresentação de subcamada temporal de HEVC correspondentenão é umarepresentação temporal completa de HEVC, esses campos devem ser codificados de acordo com a semântica definidaem Rec. ITU-T H.265 |ISO/IEC 23008-2 para sub_layer_profile_space, sub_layer_tier_flag, sub_layer_profile_idc, sub_layer_profile_compatibility_flag [i], sub_layer_progressive_source_flag, sub_layer_interlaced_source_flag, sub_layer_non_packed_constraint_flag, sub_layer_frame_only_constraint_flag, sub_layer_reserved_zero_44bits, sub_layer_level_idc, respectivamente, para a maiorrepresentação de subcamada temporal de HEVC correspondente, e a maiorrepresentação de subcamada temporal de HEVC inteiraà qual o descritor de vídeo de HEVC é associadodevem se conformaràs informações sinalizadasporesses campos.
[0095] Emumaoumaissequências no fluxo de vídeo de HEVC, o nível pode ser menor do que o nível sinalizado no descritor de vídeo de HEVC, enquantotambém podeocorrer um perfil que é um subconjunto do perfilsinalizado no descritor de vídeo de HEVC. No entanto, no fluxo de vídeo de HEVC inteiro, somentesubconjuntos da sintaxe de fluxo de bits inteiradevem ser usados que são incluídos no perfilsinalizado no descritor de vídeo de HEVC, se estiverpresente. Se o parâmetro de sequência ajustarem um sinal de fluxo de vídeo de HEVC diferentesperfis, e nenhumarestrição adicional for sinalizada, então o fluxopodeprecisarexame para determinar qual perfil, se houver, o fluxointeiro se conforma. Se um descritor de vídeo de HEVC tiver de ser associadoa um fluxo de vídeo de HEVC que não se conforma a um único perfil, então o fluxo de vídeo de HEVC deve ser particionadoemdoisoumaissubfluxos, de modo que osdescritores de vídeo de HEVC possasinalizar um único perfil para cadatalsubfluxo.
[0096] temporal_layer_subset_flag - Essesinalizador de 1-bit, quandoajustado para '1', indica que oselementos de sintaxe que descrevem um subconjunto de camadastemporaissão incluídos nessedescritor. Esse campo deve ser ajustado para 1 para subconjuntos de vídeo temporais de HEVC e para subfluxos de bits de vídeo temporais de HEVC. Quandoajustados para "0", oselementos de sintaxetemporal_id_min e temporal_id_maxnão são incluídos nessedescritor.
[0097] HEVC_still_present_flag - Esse campo de 1 bit, quandoajustado para "1", indica que ofluxo de vídeo de HEVC ou a maiorrepresentação de subcamada temporal de HEVC podeincluirfotosestáticas de HEVC. Quandoajustado para "0", então o fluxo de vídeo de HEVC associadonão deveconterfotosestáticas de HEVC. De acordo com Rec. ITU-T H.265 |ISO/IEC 23008-2, fotos de IDR são sempre associadasa um valor de Temporalldigual a 0, consequentemente, se o descritor de vídeo de HEVC se aplicar a um subconjunto de vídeo temporal de HEVC, fotosestáticas de HEVC pode ser somentepresente no subfluxo de bits de vídeo temporal de HEVC associado.
[0098] HEVC_24_hour_picture_present_flag - Essesinalizador de 1-bit, quandoajustado para '1', indica que ofluxo de vídeo de HEVC associadoou a maiorrepresentação de subcamada temporal de HEVC podeconterfotos de HEVC de 24 horas. Para a definição de umafoto de HEVC de 24 horas, consultar 2.1.97. Se essesinalizador for ajustado para "0", o fluxo de vídeo de HEVC associadonão deveconternenhumafoto de HEVC de 24 horas.
[0099] temporal_id_min - Esse campo de 3 bits indica o valor mínimo doTemporalld, conformedefinidoem Rec. ITU-T H.265 |ISO/IEC 23008-2, de todas as unidades de acesso de HEVC no fluxoelementarassociado.
[0100] temporal_id_max - Esse campo de 3 bits indica o valor máximo doTemporalld, conformedefinidoem Rec. ITU-T H.265 |ISO/IEC 23008-2, de todas as unidades de acesso de HEVC no fluxoelementarassociado.
[0101] Estarevelação reconhecedeterminados problemas que podem ser encontradosaotentartransportar dados de vídeo criptados de acordo com umaextensão aopadrão de HEVC. Ouseja, não há suporte de fluxos de bits de extensão de HEVC naespecificação de sistemas de MPEG-2. O descritor de hierarquiapode ser usado para estendercamadas de modo linear, significando que umacamadatemsomenteumacamadadependentedireta. No entanto, atualmente, não há meio de sinalizarmúltiplas camadasdependentesdiretasemsistemas de MPEG-2. Adicionalmente, ostipos das escalabilidades, conformesinalizadoporhierarchy_type, são limitados e o projetoatualnão é genérico o suficiente. Ademais, o descritor de extensão de MVC, o descritor de extensão de SVC e o descritor de ponto de operação de MVC não são sistematicamenteprojetados e podemnão ser significativos para extensões para HEVC ou outros padrões de codificação de vídeo além de H.264/AVC.
[0102] A Figura 1 é um diagrama de blocos que ilustra um sistema de criptação e decodificação de vídeo 10 exemplificador que podeutilizartécnicas para transportar dados de vídeo codificados de acordo com extensões de um padrão de codificação de vídeo. ConformemostradonaFigura 1, o sistema 10 inclui um dispositivo de fonte 12 que fornece dados de vídeo criptados a seremdecodificadosposteriormentepor um dispositivo de destino 14. Em particular, o dispositivo de fonte 12 forneceos dados de vídeo para o dispositivo de destino 14 pormeio de umamídia legível porcomputador 16. O dispositivo de origem 12 e o dispositivo de destino 14 podemcompreenderqualquer um dentreumaamplafaixa de dispositivos, incluindocomputadores de mesa, computadores do tipo notebook (istoé, do tipo laptop), computadores do tipo tablet, decodificadores de sinais, parelhos de telefone, tais comoosentão chamadostelefones "inteligentes", dispositivos tipo tablet, televisões, câmeras, dispositivos de exibição, reprodutores de mídias digital, consoles de jogoseletrônicos, dispositivo de transmissão contínua de vídeo ousemelhantes. Emalgunscasos, o dispositivo de origem 12 e o dispositivo de destino 14 podem ser equipados para comunicação semfio.
[0103] O dispositivo de destino 14 podereceberos dados de vídeo criptados a seremdecodificadospormeio de umamídia legível porcomputador 16. A mídia legível porcomputador 16 podecompreenderqualquertipo de mídias oudispositivos com capacidade para mover os dados de vídeo codificados do dispositivo de fonte 12 aodispositivo de destino 14. Em um exemplo, a mídia legível porcomputador 16 podecompreenderumamídia de comunicação para possibilitar que um dispositivo de fonte 12 transmiteos dados de vídeo codificadosdiretamentea um dispositivo de destino 14 em tempo real. Os dados de vídeo codificadospodem ser modulados de acordo com um padrão de comunicação, talcomo, um protocolo de comunicação semfio e transmitidosa um dispositivo de destino 14. A mídia de comunicação podecompreenderqualquermídia de comunicação semfio e cabeada, talcomo, um espectro de radiofrequência (RF) ouumaoumaislinhas de transmissão física. A mídia de comunicação podeformarparte de uma rede com base empacote, talcomo, uma rede de área local, uma rede de longa distância ouuma rede global, talcomo, a Internet. A mídia de comunicação podeincluirroteadores, comutadores, estações-base, ouqualquer outro equipamento que pode ser útil que para facilitar a comunicação dodispositivo de origem 12 com o dispositivo de destino 14.
[0104] Emalgunsexemplos, dados criptadospodem ser emitidos a partir da interface de saída 22 para um dispositivo de armazenamento. De modo similar, dados criptadospodem ser acessados a partir do dispositivo de armazenamento pela interface de entrada. O dispositivo de armazenamentopodeincluirqualquer um dentreumavariedade de meios de armazenamento de dados distribuídos ouacessadoslocalmentecomo um disco rígido, discos Blu-ray, DVDs, CD-ROMs, memória flash, memória volátil ounão volátil ouquaisquer outros meios de armazenamento digital adequado para armazenar dados de vídeo codificados. Em um exemploadicional, o dispositivo de armazenamentopodecorrespondera um servidor de arquivoou a outro dispositivo de armazenamentointermediário que podearmazenar o vídeo codificadogeradopelodispositivo de fonte 12. O dispositivo de destino 14 podeacessaros dados de vídeo armazenados do dispositivo de armazenamentopormeio de transmissão contínua outransferência por download. O servidor de arquivopode ser qualquertipo de servidor com capacidade para armazenar dados de vídeo criptados e para transmitiresses dados de vídeo criptados para o dispositivo de destino 14. Osservidores de arquivoexemplificativosincluem um servidor da web (porexemplo, para um site da web), um servidor FTP, dispositivos de armazenamentoanexadoà rede (NAS) ouumaunidade de disco local. O dispositivo de destino 14 podeacessaros dados de vídeo criptadosatravés de qualquerconexão de dados padrão, incluindoumaconexão de Internet. Issopodeincluir um canal semfio (porexemplo, umaconexão Wi-Fi), umaconexão cabeada (porexemplo, DSL, modem a cabo, etc.), ouumacombinação dos dois que é adequada para cessaros dados de vídeo criptadosarmazenadosem um servidor de arquivo. A transmissão de dados de vídeo criptados a partir do dispositivo de armazenamentopode ser umatransmissão contínua, umatransmissão através de transferência por download ouumacombinação das mesmas.
[0105] As técnicas destarevelação não se limitamnecessariamenteàs aplicações ouconfigurações semfio. As técnicas podem ser aplicadasà codificação de vídeo visandodarapoio a qualquerumadentreumavariedade de aplicações de multimídia, tais comodifusões de televisão aberta, transmissões de televisão a cabo, transmissões de televisão porsatélite, transmissões contínuas de vídeo pela Internet, tais comotransmissão contínua adaptativadinâmica através de HTTP (DASH), vídeo digital que é criptadoemumamídia de armazenamento de dados, decodificação de vídeo digital armazenadoemumamídia de armazenamento de dados, ououtrasaplicações. Emalgunsexemplos, o sistema 10 pode ser configurado para suportartransmissão de vídeo unidirecionaloubidirecional a fim de suportaraplicações, tais comotransmissão contínua de vídeo, reprodução de vídeo, difusão de vídeo e/ouvideotelefonia.
[0106] No exemplo da Figura 1, o dispositivo de fonte 12 incluiumafonte de vídeo 18, um criptador de vídeo 20, multiplexador 21 e uma interface de saída 22. O dispositivo de destino 14 incluiuma interface de entrada 28, demultiplexador 29, um decodificador de vídeo 30 e um dispositivo de exibição 32. De acordo com estarevelação, o multiplexador 21 de dispositivo de fonte 12 pode ser configurado para aplicar as técnicas para transportar dados de vídeo codificados de acordo com extensões de um padrão de codificação de vídeo, enquanto o demultiplexador 29 podereceber tais dados para processar e encaminharos dados de vídeo processados para, porexemplo, o decodificador de vídeo 30. Em outros exemplos, um dispositivo de fonte e um dispositivo de destinopodemincluir outros componentesoudisposições. Por exemplo, o dispositivo de fonte 12 podereceber dados de vídeo a partir de umafonte de vídeo externa 18, comoumacâmera externa. De modo semelhante, o dispositivo de destino 14 podefazer interface com um dispositivo de exibição externo, emvez de incluir um dispositivo de exibição integrado.
[0107] O sistemailustrado 10 da Figura 1 é meramente um exemplo. As técnicas para transportar dados de vídeo codificados de acordo com extensões de um padrão de codificação de vídeo podem ser realizadasporqualquerdispositivo de criptação e/oudecodificação de vídeo digital. Embora, emgeral, as técnicas destarevelação sejamrealizadaspor um dispositivo de criptografia de vídeo, as técnicas também podem ser realizadaspor um criptógrafo/decodificador de vídeo, tipicamentechamado de um "CODEC". Além disso, as técnicas destarevelação também podem ser realizadaspor um pré-processador de vídeo. O dispositivo de fonte 12 e o dispositivo de destino 14 são simplesmenteexemplos de tais dispositivos de codificação nosquais o dispositivo de fonte 12 gera dados de vídeo codificados para transmissão para o dispositivo de destino 14. Emalgunsexemplos, osdispositivos 12, 14 podemoperar de maneirasubstancialmentesimétrica de modo que cada um dos dispositivos 12, 14 incluacomponentes de criptação e decodificação de vídeo. Por conseguinte, o sistema 10 podesuportartransmissão de vídeo unidirecionaloubidirecional entre dispositivos de vídeo 12, 14, porexemplo, para transmissão contínua de vídeo, reprodução de vídeo, radiodifusão de vídeo ouvideotelefonia.
[0108] A fonte de vídeo 18 do dispositivo de fonte 12 podeincluir um dispositivo de captura de vídeo, talcomo, umacâmera de vídeo, um arquivo de vídeo que contém um vídeo anteriormentecapturado e/ouuma interface de alimentação de vídeo para recebervídeo de um fornecedor de conteúdo de vídeo. Como umaalternativaadicional, uma fonte de vídeo 18 podegerar dados com base emcomputação gráfica como o vídeo-fonte ouumacombinação de vídeo ao vivo, vídeo arquivado e vídeo geradoporcomputador. Emalgunscasos, caso a fonte de vídeo 18 sejaumacâmera de vídeo, o dispositivo de fonte 12 e o dispositivo de destino 14 podemformarosassimchamadostelefones de câmera ouvideofones. No entanto, conformemencionadoacima, as técnicas descritasnestarevelação podem ser aplicáveis à codificação de vídeo emgeral, e podem ser aplicadasaaplicações semfio e/oucabeadas. Emcadacaso, o vídeo capturado, pré-capturado ougeradoporcomputadorpode ser criptadoporcriptador de vídeo 20. As informações de vídeo criptadaspodem, então, ser emitidas pela interface de saída 22 para umamídia legível porcomputador 16.
[0109] O meiolegível porcomputador 16 podeincluirmeiostransitórios, comoumatransmissão pordifusão semfiooupordifusão com fiooumeios de armazenamento (ouseja, meios de armazenamentonão transitórios), como um disco rígido, unidade flash, disco compacto, disco de vídeo digital, disco Blu-ray ou outros meioslegíveis porcomputador. Emalgunsexemplos, um servidor de rede (não mostrado) podereceber dados de vídeo criptados a partir do dispositivo de fonte 12 e forneceros dados de vídeo criptados para o dispositivo de destino 14, porexemplo, pormeio de transmissão por rede. De modo similar, um dispositivo de computação de umainstalação de produção de mídia, talcomoumainstalação de rotulação de disco, podereceber dados de vídeo criptados a partir do dispositivo de fonte 12 e produzir um disco contendoos dados de vídeo criptados. Portanto, a mídia legível porcomputador 16 pode ser entendidacomoincluindoumaoumaismídias legíveis porcomputadorvárias formas, emvários exemplos.
[0110] A interface de entrada 28 de dispositivo de destino 14 recebeinformações a partir da mídia legível porcomputador 16. As informações de mídia legível porcomputador 16 podemincluirinformações de sintaxedefinidaspelocriptador de vídeo 20, que também é usadopelodecodificador de vídeo 30, que incluielementos de sintaxe que descrevemcaracterísticas e/ou o processamento de blocos e outrasunidadescodificadas, porexemplo, grupos de fotos (GOPs). O dispositivo de exibição 32 exibeos dados de vídeo decodificados para um usuário, e podecompreenderqualquer um dentreumavariedade de dispositivos de visorescomo um tubo de raio de cátodo (CRT), um visor de cristallíquido (LCD), um visor de plasma, um visor de diodoemissor de luz orgânico (OLED) ou outro tipo de dispositivo de exibição.
[0111] O codificador de vídeo 20 e o decodificador de vídeo 30 podemoperar de acordo com um padrão de codificação de vídeo, como a padrão de Codificação de Vídeo de Alta Eficiência (HEVC), e pode se conformaraoModelo de Teste HEVC (HM). Alternativamente, o codificador de vídeo 20 e o decodificador de vídeo 30 podemoperar de acordo com outros padrões de proprietário ou de indústria, como o padrão ITU-T H.264, referido de modo alternativo como MPEG-4, Parte 10, Codificação de Vídeo Avançada (AVC), ouextensões de tais padrões. No entanto, as técnicas destarevelação não são limitadas a qualquerpadrão de codificação particular. Outros exemplospadrões de codificação de vídeo incluem MPEG-2 e ITU-T H.263.
[0112] O padrão ITU-T H.264/MPEG-4 (AVC) foiformuladopelo Grupo de EspecialistasemCodificação de Vídeo (VCEG) de ITU-T junto com o Grupo de Especialistas de FotoemMovimento (MPEG) de ISO/IEC como o produto de umaparceriacoletivaconhecidacomo a Equipe de Vídeo Conjunta (JVT). Emalgunsaspectos, as técnicas descritasnestarevelação podem ser aplicadasaosdispositivos que geralmente se conformamaopadrão H.264. O padrão H.264 é descritonarecomendação de ITU-T H.264, Codificação de Vídeo Avançada para serviços audiovisuaisgenéricos, pelo Grupo de Estudo de ITU-T, e datado de março de 2005, que pode ser denominado no presentedocumentocomo o padrão H.264 ouespecificação de H.264, ou o padrão ouespecificação H.264/AVC. A Equipe de Vídeo Conjunta (JVT) continua a funcionarnasextensões para H.264/MPEG-4 AVC.
[0113] O criptador de vídeo 20 e o decodificador de vídeo 30, cada um, podem ser implantadoscomoqualquer um dentreumavariedade de conjunto de circuitos de criptadoradequado, como um oumaismicroprocessadores, processadores de sinal digital (DSPs), circuitosintegrados de aplicação específica (ASICs), matrizes de porta programáveis por campo (FPGAs), lógica discreta, software, hardware, firmware ouquaisquercombinações dos mesmos. Quando as técnicas são implantadasparcialmenteem software, um dispositivopodearmazenarinstruções para o software emumamídia legível porcomputadornão transitório adequada e executar as instruções em hardware com o uso de um oumaisprocessadores para realizar as técnicas destarevelação. Cada um dentre o criptador de vídeo 20 e o decodificador de vídeo 30 podemestarincluídos em um oumaiscriptadoresoudecodificadores, um dos quaispode ser integradocomoparte de um criptador/decodificador (CODEC) combinadoem um dispositivorespectivo.
[0114] A JCT-VC trabalha no desenvolvimento do padrão HEVC. Osesforços de padronização HEVC têm base em um modelo de evolução de um dispositivo de codificação de vídeo referidocomo o Modelo de Teste HEVC (HM). O HM presume um certonúmero de capacidadesadicionais de dispositivos de vídeo de codificação emrelação a dispositivosexistentes de acordo com, porexemplo, ITU-T H.264/AVC. Por exemplo, enquanto o H.264 fornecenovemodos de criptação intraprevisão, o HM podeforneceraté trinta e três modos de criptação de intraprevisão.
[0115] Emgeral, o modelo de trabalho do HM descreve que um quadro de vídeo oufotopode ser divididaemumasequência de blocos-árvore ou as maioresunidades de codificação (LCUs) (também denominadascomo “unidades de árvore de codificação”) que incluem ambas as amostras luma e croma. Os dados de sintaxedentro de um fluxo de bits podemdefinir um tamanho para a LCU, que é umamaiorunidade de codificação emtermos dos vários pixels. Uma fatiaincluivários blocosemárvore consecutivosemordem de codificação. Um quadro de vídeo oufotopode ser particionadoemumaoumaisfatias. Cadabloco de árvore pode ser partidoemunidades de codificação (CUs) de acordo com umaárvore quadrática. Emgeral, umaestrutura de dados de árvore quadrática inclui um nó por CU, com um nó de raizcorrespondenteaoblocoemárvore. Se uma CU for partidaemquatro sub-CUs, o nó correspondenteao CU incluiquadronós de folha, cada um dos quaiscorrespondea um dos sub-CUs.
[0116] Cadanó da estrutura de dados de árvore quadrática podefornecer dados de sintaxe para o CU correspondente. Por exemplo, um nó naárvore quadrática podeincluir um sinalizadorpartido, que indica se a CU que correspondeaonó está partidaem sub-CUs. Oselementos de sintaxe para um CU podem ser definidos de modo recursivo e podemdepender de se a CU está partidoem sub-CUs. Se uma CU não estivermaispartido, a mesmaé denominadacomouma CU-folha. Nessa revelação, quatro sub-CUs de uma CU-folhatambém serão referidoscomo CUs-folhamesmo se não houver partição explícita da CU-folha original. Por exemplo, se uma CU de tamanho 16x16 não estivermaispartida, as quatro sub-CUs 8x8 também serão referidascomo CUs-folhamesmo que a CU 16x16 nuncativessesidopartida.
[0117] Uma CU tem um propósito similar a um macrobloco do padrão H.264, exceto que uma CU não temumadistinção de tamanho. Por exemplo, um blocoemárvore pode ser partidoemquatronós-filho (também referidoscomo sub- CUs), e cadanó-filho pode ser, porsuavez, ser um nó-pai e ser partidoem outros quatronós-filhos. Um nó-filho final não partido, referidocomo um nó-filho da árvore quadrática, compreende um nó de codificação, também referidocomo CU-folha. Os dados de sintaxeassociadosa um fluxo de bits codificadopodemdefinirumaquantidademáxima de vezes que um blocoemárvore pode ser partido, denominadacomoumaprofundidade de CU máxima, e também podedefinir um tamanhomínimo dos nós de codificação. Consequentemente, um fluxo de bits também podedefinirumamenorunidade de codificação (SCU). Essa revelação usa o termo "bloco" para se referir a qualquer um dentreuma CU, uma PU ouuma TU, no contexto de HEVC, ouestruturas de dados similares no contexto de outros padrões (porexemplo, macroblocos e sub-blocos dos mesmosem H.264/AVC).
[0118] Uma CU inclui um nó de codificação e unidades de previsão (PUs) e unidades de transformada (TUs) associadasaonó de codificação. Um tamanho da CU correspondea um tamanho do nó de codificação e deveterformatoquadrado. O tamanho da CU podevariar de 8x8 pixels até o tamanho do blocoemárvore com um máximo de 64x64 pixels oumaior. Cada CU podeconterumaoumais PUs e umaoumais TUs. Os dados de sintaxeassociados a uma CU podemdescrever, porexemplo, a partição da CU emumaoumais PUs. Osmodos de partição podemdiferir entre a possibilidade de a CU ser criptadaemsaltoou de modo direto, criptada de modo emintraprevisão oucriptação de modo eminterprevisão. As PUs podem ser particionadas para teremformatonão quadrado. Os dados de sintaxeassociados a uma CU também podemdescrever, porexemplo, a partição da CU emumaoumais TUs de acordo com umaárvore quadrática. Uma TU pode ser quadradaounão quadrada (porexemplo, retangular) emformato.
[0119] O padrão HEVC prevê transformações de acordo com TUs, que podem ser diferentes para diferentes CUs. As TUs são dimensionadastipicamente com base no tamanho de PUs dentro de umadeterminada CU definidaporuma LCU particionada, emboraessepossanem sempre ser o caso. As TUs têm tipicamente o mesmotamanhoousão menores que as PUs. Emalgunsexemplos, as amostrasresiduaiscorrespondentes a uma CU podem ser subdivididasemunidadesmenores com o uso de umaestrutura de árvore quadrática conhecidacomo"árvore quadrática residual" (RQT). Osnós de folha da RQT podem ser chamados de unidades de transformada (TUs). Osvalores de diferença de pixel associadosàs TUs podem ser transformados para produzir o coeficiente de transformada, que pode ser quantizado.
[0120] Uma CU-folhapodeincluirumaoumaisunidades de previsão (PUs). Emgeral, uma PU representaumaárea espacialcorrespondente a todaou a umaporção da CU correspondente, e podeincluir dados para recuperarumaamostra de referência para a PU. Além domais, uma PU inclui dados relacionados a previsão. Por exemplo, quando a PU é codificadaemintramodo, os dados para a PU podem ser incluídos emumaárvore quadrática residual (RQT), que podemincluir dados que descrevem um modo intraprevisão para uma TU correspondenteà PU. Como outro exemplo, quando a PU for codificadaemintermodo, a PU podeincluir dados que definem um oumaisvetores de movimento para a PU. Os dados que definem o vetor de movimento para um PU podemdescrever, porexemplo, um componente horizontal do vetor de movimento, um componente vertical do vetor de movimento, umaresolução para o vetor de movimento (porexemplo, precisão de um quarto de pixel ouprecisão de um oitavo de pixel), umagravura de referência para a qual o vetor de movimentoaponta e/ouumalista de gravuras de referência (porexemplo, Lista 0, Lista 1 ou Lista C) para o vetor de movimento.
[0121] Uma CU-folha que temumaoumais PUs também podemincluiumaoumaisunidades de transformada (TUs). As unidades de transformadapodem ser especificadas com o uso de uma RQT (também denominadacomoumaestrutura de árvore quadrática de TU), conformediscutidoacima. Por exemplo, um sinalizadorpartidopodeindicar se uma CU- folhaé partidaemquatrounidades de transformada. Então, cadaunidade de transformadapode ser aindamaisdivididaemquatro sub-TUs. Quandouma TU não estivermaispartida, a TU pode ser denominadacomouma TU-folha. Emgeral, para intracodificação, todas as TUs-folha que pertencem a uma CU-folhacompartilham o mesmo modo de intraprevisão. Ouseja, o mesmo modo intraprevisão é geralmenteaplicado para calcularvalorespraticados para todas as TUs de uma CU- folha. Para aintracodificação, um codificador de vídeo podecalcular um valor residual para cada TU-folha com o uso do modo intraprevisão, comoumadiferença entre a porção da CU correspondenteao TU e aobloco original. Uma TU não está necessariamentelimitadoaotamanho de uma PU. Dessa forma, as TUs podem ser maioresoumenores que uma PU. Para aintracodificação, uma PU pode ser colocada com uma TU-folhacorrespondentes para a mesma CU. Emalgunsexemplos, o tamanhomáximo de uma TU-folhapode corresponderaotamanho da CU-folhacorrespondente.
[0122] Além domais, as TUs das CUs-folhatambém podemestarassociadasàs estruturas de dados de árvore quadrática respectivas, referidascomoárvores quadráticas residuais (RQTs). Ouseja, uma CU-folhapodeincluirumaárvore quadrática que indica como a CU-folhaé particionadaem TUs. O nó de raiz de uma TU árvore quadrática correspondegeralmente a uma CU-folha, enquanto o nó de raiz de umaárvore quadrática de CU correspondegeralmentea um blocoemárvore (ou LCU). As TUs da RQT que não são partidasestão referidascomo TUs-folha. Emgeral, essarevelação usaostermos CU e TU para se referirà CU- folha e à TU-folha, respectivamente, a não ser que notado de outro modo.
[0123] Uma sequência de vídeo incluitipicamenteumasérie de quadrosougravuras de vídeo. Um grupo de gravuras (GOP) geralmentecompreendeumasérie de umaoumais das gravuras de vídeo. Uma GOP podeincluir dados de sintaxeem um cabeçalho do GOP, um cabeçalho de umaoumais das gravuras, euem outro lugar, que descreve um certonúmero de gravurasincluídas no GOP. Cadafatia de umafotopodeincluirumafatia de dados de sintaxe que descrevem um modo de criptação para a respectivafatia. O criptador de vídeo 20 opera tipicamenteemblocos de vídeo dentro de fatias de vídeo individuais a fim de criptaros dados de vídeo. Um bloco de vídeo podecorrespondera um nó de codificação dentro de uma CU. Osblocos de vídeo podemtertamanhosfixosouvariados e podemdiferiremtamanho de acordo com um padrão de codificação especificado.
[0124] Como exemplo, o HM sustentaumaprevisão emvários tamanhos de PU. Presumindo-se que otamanho de uma CU particular seja 2Nx2N, o HM sustentaintraprevisão emtamanhos de PU de 2Nx2N ouxN e interprevisão emtamanhossimétricos de PU de 2Nx2N, 2NxN, Nx2N ouNxN. O HM também sustenta a partição assimétrico para interprevisão emtamanhos de PU de 2NxnU, 2NxnD, nLx2N e nRx2N. Na partição assimétrico, umadireção de uma CU não é particionada, enquantoaoutradireção é particionadaem 25% e 75%. A porção da CU correspondenteaos 25% de partição é indicadapor um "n" seguidaporumaindicação de "Cima", "Baixo", "Esquerda" ou "Direita". Desse modo, porexemplo, "2NxnU" se refere a uma CU de 2Nx2N que é particionadahorizontalmente com uma PU de 2Nx0,5N no topo e uma PU de 2Nx1,5N no fundo.
[0125] Nessa revelação, "NxN" e "N por N" podem ser usados de modo intercambiável para se referiràs dimensões de pixel de um bloco de vídeo emtermos de dimensões horizontal e vertical, porexemplo, 16x16 pixels ou 16 por 16 pixels. Emgeral, um bloco de 16x16 terá 16 pixels emumadireção vertical (y = 16) e 16 pixels emumadireção horizontal (x = 16). De modo semelhante, um blocoNxNgeralmentetem N pixels emumadireção vertical e N pixels emumadireção horizontal, em que N representa um valor de número inteironão negativo. Os pixels em um blocopodem ser representadosemfileiras e colunas. Além disso, osblocosnão necessariamentetêm a mesmaquantidade de pixels tanto nadireção horizontal quantonadireção vertical. Por exemplo, osblocospodemcompreender Pixels NxM, em que M não é necessariamenteigual a N.
[0126] Após a codificação intrapreditivaouinterpreditiva com o uso das PUs de uma CU, o codificador de vídeo 20 podecalcular dados residuais para as TUs da CU. As PUs podemcompreender dados de sintaxe que descrevem um método ou modo de geração de dados de pixel preditivos no domínio espacial(também referidocomo o domínio de pixels) e as TUs podemcompreendercoeficientes no domínio de transformadaapós a aplicação de umatransformada, porexemplo, umatransformada de cossenodiscreta (DCT), umatransformada de número inteiro, umatransformada de wavelet ouumatransformadaconceitualmente similar de dados de vídeo residuais. Os dados residuaispodemcorresponder a diferenças de pixel entre pixels da gravuranão codificada e valores de previsão correspondentesàs PUs. O codificador de vídeo 20 podemformar as TUs incluindoos dados residuais para a CU, e, então, transformar as TUs para produzir o coeficiente de transformada para a CU.
[0127] Após quaisquertransformações para produzir o coeficiente de transformada, o codificador de vídeo 20 poderealizar a quantização docoeficiente de transformada. A quantização, emgeral, se referea um processo no qual oscoeficientes de transformadasão quantizados para reduzirpossivelmente a quantidade de dados usados para representaroscoeficientes, fornecendocompressão adicional. O processo de quantização podereduzir a profundidade de bit associadaaalgunsoutodososcoeficientes. Por exemplo, um valor n-bit pode ser arredondado para baixo para um valor m-bit durante a quantização, em que n é maior que m.
[0128] Após a quantização, o codificador de vídeo podevarrer o coeficiente de transformada, produzindo um vetormonodimensional a partir da matriz bidimensional que inclui o coeficiente de transformadaquantizado. A varredurapode ser atribuída para aplicarcoeficientes de energiamaisalta (e portantofrequência maisbaixa) nafrente da matriz e aplicarcoeficientes de energiamaisbaixa (e, portanto, frequência maisalta) no verso da matriz. Emalgunsexemplos, o codificador de vídeo 20 podeutilizarumaordem de varredurapredefinida para varrer o coeficiente de transformadaquantizado para produzir o vetorserializado que pode ser codificadoporentropia. Em outros exemplos, o criptador de vídeo 20 poderealizarumavarreduraadaptativa. Após varrer o coeficiente de transformadaquantizado para formar um vetormonodimensional, o codificador de vídeo 20 podecodificarporentropia o vetormonodimensional, porexemplo, de acordo com a codificação de comprimentovariável adaptativa a contexto (CAVLC), codificação aritmética binária adaptativa a contexto (CABAC), codificação aritmética binária adaptativa a contexto com base emsintaxe (SBAC), codificação porEntropia de Particionamento de Intervalo de Probabilidade (PIPE) ououtrametodologia de codificação de entropia. O criptógrafo de vídeo 20 também podecriptarporentropiaelementos de sintaxeassociadosaos dados de vídeo codificados para usopelodecodificador de vídeo 30 nadecodificação dos dados de vídeo.
[0129] Para realizar a CABAC, o criptógrafo de vídeo 20 podeatribuir um contextodentro de um modelo de contextoa um símbolo a ser transmitido. O contextopode se relacionar a, porexemplo, se valoresvizinhos do símbolo são diferentes de zero ounão. Para realizar a CAVLC, o codificador de vídeo 20 podeselecionar um código de comprimentovariável para um símbolo a ser transmitido. As palavras-código em VLC podem ser construídas de modo que códigos relativamentemaiscurtoscorresponda a maissímbolos prováveis, enquantocódigos maislongoscorrespondem a símbolos menosprováveis. Desse modo, o uso de VLC podeconseguirumaeconomia de bits sobre, porexemplo, o uso de palavras-código de comprimentoigual para cadasímbolo a ser transmitido. A determinação de probabilidadepodeter base em um contextoatribuído aosímbolo.
[0130] Esta revelação descreve técnicas para a condução de fluxos de bits de extensão de HEVC. Ouseja, de acordo com as técnicas destarevelação, o multiplexador 21 e/oudemultiplexador 29 podem ser configurados para transportar dados de vídeo (ouseja, enviaroureceber dados de vídeo) que são codificadas de acordo com umaextensão de um padrão de codificação de vídeo, tais como HEVC ou outros padrões de codificação de vídeo aindanão desenvolvidos. Emgeral, multiplexador 21 podeencapsular dados de vídeo criptados para formar um fluxo de bits, porexemplo, substancialmente de acordo com sistemas de MPEG-2 e as técnicas destarevelação, enquanto o demultiplexador 29 podereceber e descapsular dados encapsulados, porexemplo, dados de vídeo criptados de acordo com umaextensão de um padrão de codificação de vídeo, talcomo HEVC.
[0131] Estarevelação propõe um descritor de extensão de hierarquia que pode ser usado para sinalizar dados para umacamada de HEVC (fluxoelementar). O multiplexador 21 pode ser configurado para formar o descritor de extensão de hierarquia, enquanto o demultiplexador 29 pode usar o descritor de extensão de hierarquia para processar dados de vídeo recebidos, porexemplo, para montaros dados de vídeo emuma forma que pode ser usadapelodecodificador de vídeo 30. Emboranão mostrado no exemplo da Figura 1, um dispositivointermediário também pode usar o descritor de extensão de hierarquia, porexemplo, para realizarextração de subfluxo de bits. Por exemplo, um elemento de rede ciente de mídia (MANE) poderealizarextração de subfluxo de bits com o uso do descritor de extensão de hierarquia. O descritor de extensão de hierarquiapodeincluir um oumais dos seguintesitens de informações:
[0132] a. Uma série de bits de escalabilidade, em que cada um indica o aprimoramento de umadimensão escalonável específica.
[0133] i. O bit não é atualmenteatribuído para escalabilidade temporal e a montagem de subcamadastemporaisé alcançada pelodescritor de hierarquia.
[0134] ii. Alternativamente, aescalabilidade temporal pode ser sinalizadacomoparte dos bits de escalabilidade.
[0135] b. Um Temporalldcorrespondenteaessesubfluxo de bits, em que oTemporalldé o maiorTemporallddepois que as camadasdependentesforammontadas para formar um fluxo de bits totalmentedecodificável.
[0136] i. Alternativamente, umafaixaTemporalld (menorTemporalld e maiorTemporalld) é especificada.
[0137] c. Um índice para o fluxoelementaratual.
[0138] d. Um identificador de camada do fluxoelementaratual.
[0139] i. Alternativamente, múltiplos identificadores de camadapodem ser especificados, e talsubfluxo de bits correspondea um fluxoelementar que contém múltiplas camadas.
[0140] e. Uma oumaiscamadas e um índice para cadafluxoelementarcorrespondente a umadentre as umaoumaiscamadas.
[0141] f. Alternativamente, um descritor de extensão de hierarquiapoderiaincluir as informações mencionadasacima para cadacamadaemcombinação com cadaTemporalldpossível.
[0142] Como exemplo, o descritor de extensão de hierarquiapodeincluir um conjunto de bits, em que cada um dos quaiscorrespondea um tipo particular de dimensão de escalabilidade. O valor de cada bit podeindicar se essadimensão de escalabilidadeestá presente no fluxo de bits. Dessa maneira, o descritor de extensão de hierarquiapodeincluir dados representativos da possibilidade de os dados de vídeo estarempresentes para qualquer de umapluralidade de dimensões de escalabilidade de vários tipos (porexemplo, espacial, PSNR, profundidade de bit de croma, formato de cor, formato de gama de cores ousimilares). Consequentemente, o descritor de extensão de hierarquiapode ser usado para indicar que há doisoumaiscamadas de aprimoramento que se conformamàs diferentesdimensões de escalabilidade para a mesmacamada de base. Emalgunsexemplos, os dados temporais de escalabilidadepodem ser separados do descritor de extensão de hierarquia. Por exemplo, um descritor de hierarquiapodeindicarsubcamadastemporais para escalabilidade temporal, e o descritor de extensão de hierarquiapodeindicar dados para outrasdimensões de escalabilidade.
[0143] Adicionaloualternativamente, o multiplexador 21 e/oudemultiplexador 29 pode ser configurado para codificarelementos de sintaxe de umaextensão aodescritor de hierarquia da especificação de sistemas de MPEG-2. A parte de extensão podesinalizaríndices a outros fluxoselementares de referência.
[0144] Estarevelação também descreve um descritor de extensão de HEVC, cujomultiplexador 21 e/oudemultiplexador 29 podecodificar (criptaroudecodificar, respectivamente). O descritor de extensão de HEVC podedescrevercomofluxoselementarespodem ser combinados para formarpontos de operação disponibilizados e recomendadospor um fornecedor de serviços. O descritor de extensão de HEVC podeestarcondicionalmentepresente no descritor de HEVC, emalgunsexemplos. De acordo com as técnicas desta revelação, o multiplexador 21 e o demultiplexador 29 pode ser configurado para codificar um elemento de sintaxe de um descritor de HEVC que indica se o descritor de extensão de HEVC está presente. Para cadaponto de operação, umaoumais das peças de informações a seguirpode ser sinalizada no descritor de extensão de HEVC, quandoestiverpresente:
[0145] a. As camadas que pertencemà camada de saída alvo.
[0146] i. Adicionaloualternativamente, somente o número de camadas de saída alvoestá presente.
[0147] ii. Adicionaloualternativamente, osvalores de índice para todososfluxoselementaressão sinalizados.
[0148] b. Perfil, nível, e informações de faixa para cadaponto de operação.
[0149] c. Informações de taxa de bits.
[0150] d. Informações na taxa de quadro.
[0151] e.
[0152] f. O maiorTemporalld. As informações de resolução espacial, tais como 1) a maiorresolução espacial de todas as camadas de saída alvo, 2) a resolução espacial da maior camada de saída alvo ou 3) a resolução espacial de cada camada de saída alvo.
[0153] g. As informações de profundidade de bit, tais como 1) a maiorprofundidade de bit de todas as camadas de saída alvo, 2) a profundidade de bit da maiorcamada de saída alvo, ou 3) a profundidade de bit de cadacamada de saída alvo.
[0154] h. O formato de cor (porexemplo 4:0:0, 4:2:0, 4:2:2, ou 4:4:4), talcomo 1) o maiorformato de cor de todas as camadas de saída alvo, 2) o formato de cor da maiorcamada de saída alvo, ou 3) o formato de cor de cadacamada de saída alvo.
[0155] i. O formato de gama de cores (porexemplo BT 709 ou BT 2020), talcomo 1) o maiorformato de gama de cores de todas as camadas de saída alvo, 2) o formato de gama de cores da maiorcamada de saída alvo, ou 3) o formato de gama de cores de cadacamada de saída alvo.
[0156] J. Um sinalizador que indica se a comutação ascendente de subcamada temporal é possível emcadaunidade de acesso do fluxoelementar.
[0157] A sintaxe e semântica para as várias técnicas destarevelação são descritasabaixo, em que otextoemitálico representaadições à especificação de sistemas de MPEG-2.
[0158] Subfluxo de bits de vídeo de HEVC: Um subfluxo de bits de vídeo é definidocomotodas as unidades de NAL VCL associadasaomesmo valor de nuh_layer_id um fluxo de vídeo de HEVC que se conformaa um oumaisperfisdefinidosem Rec. ITU-T H.265 |ISO/IEC 23008- 2 Annex A, G.11 ouH.laterratodas as unidadesdiferentes de NAL VCL associadasemordem de decodificação conformedefinidoem Rec. ITU-T H.265 |ISO/IEC 23008-2. A remontagem de subfluxos de bits de vídeo emumaordemconsecutiva de nuh_layer_idcomeça de nuh_layer_idigual a 0 até qualquer valor de nuh_layer_idresultaem um fluxo de vídeo de HEVC. Um subfluxo de bits de vídeo deveter o formato de fluxo de byte de HEVC conformedefinidoem Annex B de Rec. ITU-T H. 265 |ISO/IEC 23008-2.
[0159] Fluxo de vídeo de extensão HEVC: O fluxo de bits de vídeo que se confirmaa um oumaisperfisdefinidosem Rec. ITU-T H.265 |ISO/IEC 23008-2 G.11 ou H.11.
[0160] A sequência de vídeo HEVC (sistema): sequência de vídeo codificadaconformedefinidoem Rec. ITU-T H.265 |ISO/IEC 23008-2. TABELA 2-45 - DESCRITORES DE PROGRAMA E ELEMENTO DE PROGRAMA
[0161] O descritor de extensão de hierarquia (porexemplo, de acordo com tabela 2-49 abaixo) forneceinformações para identificaroselementos de programa que contêm componentes de fluxos de vídeo, áudio e privados codificados de modo hierárquico. TABELA 2-49 - DESCRITOR DE EXTENSÃO DE HIERARQUIA
[0162] A semântica exemplificadora para o descritor de extensão de hierarquiaé fornecidaabaixo:
[0163] Quando o descritor de extensão de hierarquiaestá presente, o mesmoé usado para especificar a dependência de camadaspresenteemdiferentesfluxoselementares. Aagregação de subcamadastemporais, no entanto, é realizadapelodescritor de hierarquia, conformeespecificadoemAmd. 3 de ISO/IEC 13818-1.
[0164] extension_dimension_bits - Um campo de 16 bits que indica o possível aprimoramento do elemento de programaassociado a partir da camada de base resultante do elemento de programa da camada com nuh_layer_idigual a 0.
[0165] A alocação dos bits às dimensões de aprimoramentopode ser da seguintemaneira.
[0166] O i-ésimo bit igual a 1 podeindicar que a dimensão de aprimoramentocorrespondenteestá presente.
[0167] hierarchy_layer_index - O índice de camada de hierarquiaé um campo de 6 bits que define um índice exclusivo do elemento de programaassociadoemumatabela de hierarquias de camada de codificação. Osíndices devem ser exclusivosdentro de umaúnica definição de programa. Para subfluxos de bits de vídeo de fluxos de vídeo de HEVC que se conformaa um oumaisperfisdefinidosem Annex G ou H de Rec. ITU T H.265 |ISO/IEC 23008-2, esseé o índice de elemento de programa, que é atribuído de modo que a ordem de fluxo de bits será correta se as camadas de dependência associadas dos subfluxos de bits de vídeo da mesmaunidade de acessoforemremontadas de maneiracrescente de índice de camada de hierarquia.
[0168] tref_present_flag - Um sinalizador de 1-bit, que, quandoajustado para "0", indica que o campo de TREF podeestarpresentenoscabeçalhos de pacote de PES no fluxoelementarassociado. O valor de "1" para essesinalizadoré reservado.
[0169] nuh_layer_id - Um campo de 6 bits especifica o maiornuh_layer_id das unidades de NAL no fluxoelementarassociado a essehierarchy_extension_descriptor().
[0170] temporal_id - Um campo de 3 bits especifica o maiorTemporalld das unidades de NAL no fluxoelementarassociado a essehierarchy_extension_descriptor().
[0171] num_embedded_layers - Um campo de 6 bits que especifica o número de elementos de programadependentesdiretos que precisam ser acessados e estarpresentesnaordem de decodificação antes da decodificação dofluxoelementarassociado a essehierarchy_extension_descriptor().
[0172] hierarchy_ext_embedded_layer_index - O hierarchy_ext_embedded_layer_index é um campo de 6 bits que define o índice de camada de hierarquia do elemento de programa que precisa ser acessado e estar presente na ordem de decodificação antes da decodificação do fluxo elementar associado a esse descritor de extensão de hierarquia. Esse campo é indefinido se o valor de hierarchy_type for 15.
[0173] hierarchy_channel - O hierarchy_channel é um campo de 6 bits que indica o número de canal destinado para o elemento de programa associado em um conjunto ordenado de canais de transmissão. O canal de transmissão mais robusta é definido pelo menor valor desse campo em relação à definição de hierarquia de transmissão geral. Um dado hierarchy_channel pode ser, ao mesmo tempo, atribuído aos diversos elementos de programa.
[0174] Adicional ou alternativamente, múltiplas camadas podem estar presentes em um fluxo elementar. Quando múltiplas camadas em um fluxo elementar são suportadas, o descritor de extensão de hierarquia é projetado da seguinte maneira, com adições destacadas no texto em itálico e deleções representadas por [removido:“”]. TABELA 2-49 - DESCRITOR DE EXTENSÃO DE HIERARQUIA
[0175] Nesseexemplo, 64 layer_present_flagssão adicionadosaodescritor de extensão de hierarquia de sistemas de MPEG-2, e o nuh_layer_id_elementé removido do descritor de extensão de hierarquia de sistemas de MPEG-2. A semântica para o layer_present_flagpode ser definido da seguintemaneira:
[0176] layer_present_flag - Um campo de 1 bitquando valor atribuído "1" indica que as unidades de NAL da camada com nuh_layer_idigualiestá presente no fluxoelementar com um índice aofluxoelementar de índice de camada de hierarquia. O conjunto de layer_present_flag bits representa um exemplo de umapluralidade de bits de escalabilidade, em que cada um corresponde a umarespectivadentreumapluralidade de camadas de aprimoramento, em que valores para cada um dos bits de escalabilidadeindicam se a respectivacamada de aprimoramentoé incluída no fluxoelementarcorrespondenteaodescritor de extensão de hierarquia.
[0177] Adicionaloualternativamente, múltiplas camadaspodemestarpresentesem um fluxoelementar com umadeterminadafaixa de subcamadastemporais. Quandoisso for suportado, o descritor de extensão de hierarquiapode ser projetadoconforme a seguir, com adições destacadas com o uso de textoemitálico. TABELA 2-49 - DESCRITOR DE EXTENSÃO DE HIERARQUIA
[0178] Nesseexemplo, elementos de sintaxe de min_temporal_id e max_temporal_idsão também adicionados, emrelação aoexemplo anterior. A semântica para esseselementos de sintaxepode ser definida da seguintemaneira:
[0179] min_temporal_id - Um campo de 3 bits que especifica o menorTemporalld das unidades de NAL no fluxoelementarassociado a essehierarchy_extension_descriptor().
[0180] max_temporal_id - Um campo de 3 bits que especifica o maiorTemporalld das unidades de NAL no fluxo elementar associado a esse hierarchy_extension_descriptor().
[0181] Para um fluxo de vídeo de HEVC, o descritor de vídeo de HEVC forneceinformações básicas para identificarparâmetros de codificação, tais comoparâmetros de perfil e nível dessefluxo de vídeo de HEVC. Para um subfluxo de bits de vídeo temporal de HEVC ou um subconjunto de vídeo temporal de HEVC, o descritor de vídeo de HEVC forneceinformações tais como a maiorrepresentação de subcamada temporal de HEVC associadacontida no fluxoelementar a qual o mesmo se aplica. A sintaxe da Tabela X-1 é mostradaabaixo, em que textoemitálico representaadições relativasaossistemas de MPEG-2: TABELA X-1 - DESCRITOR DE VÍDEO DE HEVC
[0182] A semântica para a tabela X-1 pode ser definida da seguintemaneira:
[0183] profile_space, tier_flag, profile_idc, profile_compatibility_indication, progressive_source_flag, interlaced_source_flag, non_packed_constraint_flag, frame_only_constraint_flag, reserved_zero_44bits, level_idc - Quando o descritor de vídeo de HEVC se aplica a um fluxo de vídeo de HEVC ou a umarepresentação temporal completa de HEVC, esses campos devem ser codificados de acordo com a semântica definidaem Rec. ITU-T H.265 |ISO/IEC 23008-2 para general_profile_space, general_tier_flag, general_profile_idc, general_profile_compatibility_flag [i], general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag, general_frame_only_constraint_flag, general_reserved_zero_44bits, general_level_idc, respectivamente, para o fluxo de vídeo de HEVC correspondenteourepresentação temporal completa de HEVC, e o fluxo de vídeo de HEVC inteiroourepresentação temporal completa de HEVC à qual o descritor de vídeo de HEVC é associadodevem se conformaràs informações sinalizadasporesses campos.
[0184] Quando o descritor de vídeo de HEVC se aplicaa um subfluxo de bits de vídeo temporal de HEVC ousubconjunto de vídeo temporal de HEVC cuja a maiorrepresentação de subcamada temporal de HEVC correspondentenão é umarepresentação temporal completa de HEVC, esses campos devem ser codificados de acordo com a semântica definidaem Rec. ITU-T H.265 |ISO/IEC 23008-2 para sub_layer_profile_space, sub_layer_tier_flag, sub_layer_profile_idc, sub_layer_profile_compatibility_flag [i], sub_layer_progressive_source_flag, sub_layer_interlaced_source_flag, sub_layer_non_packed_constraint_flag, sub_layer_frame_only_constraint_flag, sub_layer_reserved_zero_44bits, sub_layer_level_idc, respectivamente, para a maiorrepresentação de subcamada temporal de HEVC correspondente, e a maiorrepresentação de subcamada temporal de HEVC inteiraà qual o descritor de vídeo de HEVC é associadodevem se conformaràs informações sinalizadasporesses campos.
[0185] Emumaoumaissequências no fluxo de vídeo de HEVC, o nível pode ser menor do que o nível sinalizado no descritor de vídeo de HEVC, enquantotambém podeocorrer um perfil que é um subconjunto do perfilsinalizado no descritor de vídeo de HEVC. No entanto, no fluxo de vídeo de HEVC inteiro, somentesubconjuntos da sintaxe de fluxo de bits inteiradevem ser usados que são incluídos no perfilsinalizado no descritor de vídeo de HEVC, se estiverpresente. Se o parâmetro de sequência ajustarem um sinal de fluxo de vídeo de HEVC diferentesperfis, e nenhumarestrição adicional for sinalizada, então o fluxopodeprecisarexame para determinar qual perfil, se houver, o fluxointeiro se conforma. Se um descritor de vídeo de HEVC tiver de ser associadoa um fluxo de vídeo de HEVC que não se conforma a um único perfil, então o fluxo de vídeo de HEVC deve ser particionadoemdoisoumaissubfluxos, de modo que osdescritores de vídeo de HEVC possasinalizar um único perfil para cadatalsubfluxo.
[0186] temporal_layer_subset_flag - Essesinalizador de 1-bit, quandoajustado para "1", indica que oselementos de sintaxe que descrevem um subconjunto de camadastemporaissão incluídos nessedescritor. Esse campo deve ser ajustado para 1 para subconjuntos de vídeo temporais de HEVC e para subfluxos de bits de vídeo temporais de HEVC. Quandoajustados para "0", oselementos de sintaxetemporal_id_min e temporal_id_maxnão são incluídos nessedescritor.
[0187] HEVC_still_present_flag - Esse campo de 1 bit, quandoajustado para '1', indica que ofluxo de vídeo de HEVC ou a maiorrepresentação de subcamada temporal de HEVC podeincluirfotosestáticas de HEVC. Quandoajustadopara "0", então o fluxo de vídeo de HEVC associadonão deveconterfotosestáticas de HEVC. De acordo com Rec. ITU-T H.265 |ISO/IEC 23008-2, fotos de IDR são sempre associadasa um valor de Temporalldigual a 0, consequentemente, se o descritor de vídeo de HEVC se aplicar a um subconjunto de vídeo temporal de HEVC, fotosestáticas de HEVC pode ser somentepresente no subfluxo de bits de vídeo temporal de HEVC associado.
[0188] HEVC_24_hour_picture_present_flag - Essesinalizador de 1-bit, quandoajustado para '1', indica que ofluxo de vídeo de HEVC associadoou a maiorrepresentação de subcamada temporal de HEVC podeconterfotos de HEVC de 24 horas. Para a definição de umafoto de HEVC de 24 horas, consultar 2.1.97. Se essesinalizador for ajustado para "0", o fluxo de vídeo de HEVC associadonão deveconternenhumafoto de HEVC de 24 horas.
[0189] temporal_id_min - Esse campo de 3 bits indica o valor mínimo doTemporalld, conformedefinidoem Rec. ITU-T H.265 |ISO/IEC 23008-2, de todas as unidades de acesso de HEVC no fluxoelementarassociado.
[0190] temporal_id_max - Esse campo de 3 bits indica o valor máximo doTemporalld, conformedefinidoem Rec. ITU-T H.265 |ISO/IEC 23008-2, de todas as unidades de acesso de HEVC no fluxoelementarassociado.
[0191] hevc_extension_present_flag - Essesinalizador de 1-bit, quandoajustado para "1", indica que odescritor de extensão de HEVC está presentecomoparte do descritor de HEVC. Quandoajustado para "0", o descritor de extensão de HEVC não está presente. O hevc_extension_present_flagrepresenta um exemplo de um elemento de sintaxepresente de extensão de HEVC de um descritor de vídeo de HEVC, em que oelemento de sintaxepresente de extensão de HEVC indica se um descritor de extensão de HEVC está presentecomoparte de um descritor de HEVC.
[0192] Adicional ou alternativamente, descritor de extensão de HEVC podeestarpresenteem outros lugares, tais como PMT e PSM.
[0193] O descritor de extensão de HEVC a seguir da Tabela X pode ser adicionadoà especificação de sistemas de MPEG-2, e o multiplexador 21 e o demultiplexador 29 podem ser configurados para codificar dados do descritor de extensão de HEVC consequentemente. TABELA X - DESCRITOR DE EXTENSÃO DE HEVC
[0194] A semântica para oselementos de sintaxe da Tabela X pode ser definida da seguintemaneira:
[0195] num_operation_points - Um campo de 8 especificadosnessedescritor.
[0196] profile_space - Um campo de 2 bits especifica o contexto para ainterpretação de profile_idc para todososvalores de inafaixa de 0 a 31, inclusive, profile_spacenão deve ser atribuído valoresdiferentesdaquelesespecificadosem Annex A ousubcláusula G.11 ounasubcláusula H.11 de Rec. ITU T H.265 |ISO/IEC 23008-2. Outros valores de profile_idcsão reservados para usofuturopor ITU-T |ISO/IEC.
[0197] tier_flag - Um campo de 1 bitespecifica o contexto de faixa para a interpretação de level_idcconformeespecificadoem Annex A ousubcláusula G.11 ousubcláusula H.11 de Rec. ITU T H.265 |ISO/IEC 23008-2.
[0198] profile_idc - Um campo de 5 bits que, quandoprofile_spaceé igual a 0, indica um perfilao qual o CVS se conformaconformeespecificadoem Annex A ou de Rec. ITU T H.265 |ISO/IEC 23008-2. profile_idcnão deve ser atribuído valoresdiferentesdaquelesespecificadosem Annex A ou G.11 ou H.11 de Rec. ITU T H.265 |ISO/IEC 230082. Outros valores de profile_idcsão reservados para usofuturopor ITU-T |ISO/IEC.
[0199] profile_compatibility_indication, progressive_source_flag, interlaced_source_flag, non_packed_constraint_flag, frame_only_constraint_flag, reserved_zero_44bits, level_idc - quando o descritor de vídeo de extensão de HEVC se aplicaa um fluxo de vídeo de extensão HEVC, esses campos devem ser codificados de acordo com a semântica definidaem Rec. ITU-T H.265 |ISO/IEC 23008-2 para general_profile_space, general_tier_flag, general_profile_idc, general_profile_compatibility_flag [i], general_progressive_source_flag, general_interlaced_source_flag, general_non_packed_constraint_flag, general_frame_only_constraint_flag, general_reserved_zero_44bits, general_level_idc, respectivamente, para o fluxo de vídeo de HEVC correspondenteoufluxo de vídeo de extensão HEVC ourepresentação temporal completa de HEVC, e o fluxo de vídeo de HEVC inteiroourepresentação temporal completa de HEVC à qual o descritor de vídeo de HEVC é associadodevem se conformaràs informações sinalizadasporesses campos.
[0200] leve_idc - Um campo de 8 bits indica um nível à qual o CVS se conformaconformeespecificadoem Annex A, G.11 ou H.11 de Rec. ITU T H.265 |ISO/IEC 23008-2. leve_idcnão deve ser atribuído valores de leve_idcdiferentesdaquelesespecificadosem Annex A, G.11 ou H.11 de Rec. ITU T H.265 |ISO/IEC 23008-2. Outros valores de leve_idcsão reservados para usofuturopor ITU-T |ISO/IEC.
[0201] reserved_zero-5bits - Um campo de 5 bits reservado de valor "0".
[0202] max_temporal_id - Um campo de 3 bits especifica o maiorTemporalld das unidades de NAL das camadas no i-ésimo ponto de operação.
[0203] hevc_output_layer_flag - Um campo de 1 bitquando valor atribuído "1" indica que a camada com nuh_layer_idigual a ipertence a um conjunto de camada de saída e é exigida para saída quando o i-ésimo ponto de operação é decodificado. Quandoatribuído o valor "0", a camada com nuh_layer_idigual a inão pertencea um conjunto de camada de saída. Quando o i-ésimo sinalizador de camada de saída HEVC é igual a "1", o valor doi-ésimo hevc_layer_present_flagdeve ser igual a "1".
[0204] average_bitrate - Um campo de 16 bits indica a taxa de bits média, em kbit porsegundo, do fluxo de vídeo de extensão HEVC correspondenteaoi-ésimo ponto de operação.
[0205] maximum_bitrate - Um campo de 16 bits indica a taxa de bits máxima, em kbit porsegundo, do fluxo de vídeo de extensão HEVC correspondenteaoi-ésimo ponto de operação.
[0206] frame_rate - Um campo de 16 bits indica a taxa de quadromáxima, emquadros/256 segundos do fluxo de vídeo de extensão HEVC correspondenteaoi-ésimo ponto de operação.
[0207] Adicionaloualternativamente, osvalores de nuh_layer_idestão diretamentepresentes para cada conjunto de camada da camada de saída.
[0208] Adicionaloualternativamente, um ciclodiferente de sinalizadores, em que cada um indica umacamadapresente no ponto de operação é adicionalmentesinalizado.
[0209] hevc_layer_present_flag - Um campo de 1 bitquando o valor atribuído "1" indica que as unidades de NAL da camada com nuh_layer_idigualiestá presente no fluxo de vídeo de extensão HEVC que correspondeaoi-ésimo ponto de operação definidonessedescritor. Quandoatribuído o valor "0", o mesmo indica que unidades de NAL da camada com nuh_layer_idigualinão estão presentes.
[0210] Adicionaloualternativamente, quando as camadaspresentesnão são sinalizadas, o número de camadas a seremdecodificadaspode ser sinalizado.
[0211] O multiplexador 21, demultiplexador 29, criptador de vídeo 20 e o decodificador de vídeo 30, podem ser, cada um, implantadoscomoqualquer um dentreumavariedade de conjunto de circuitos de criptadoroudecodificadoradequado, conformeaplicável, talcomo um oumaismicroprocessadores, processadores de sinal digital (DSPs), circuitosintegrados de aplicação específica (ASICs), matrizes de porta programáveis por campo (FPGAs), conjunto de circuitoslógico discreto, software, hardware, firmware ouquaisquercombinações dos mesmos. Cada um dentre o criptador de vídeo 20 e o decodificador de vídeo 30 podeestarincluído em um oumaiscriptadoresoudecodificadores, um dos quaispode ser integradocomoparte de um criptador/decodificador (CODEC) de vídeo combinado. Um dispositivo que inclui o criptador de vídeo 20 e/ou o decodificador de vídeo 30 podecompreender um circuitointegrado, um microprocessador e/ou um dispositivo de comunicação semfio, como um telefonecelular.
[0212] Dessa maneira, o multiplexador 21 representa um exemplo de um dispositivo que incluiumamemória para armazenar dados de vídeo que incluiumacamada de aprimoramentocodificada de acordo com umaextensão de um padrão de codificação de vídeo e duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de referência, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de referência, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e um oumaisprocessadoresconfigurados para criptar um descritor de extensão de hierarquia, em que odescritor de extensão de hierarquiainclui dados representativos das duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende.
[0213] De modo similar, o demultiplexador 29 representa um exemplo de um dispositivo que incluiumamemória para armazenarumacamada de aprimoramento de dados de vídeo codificados de acordo com umaextensão de um padrão de codificação de vídeo, e um oumaisprocessadores configurados para decodificar um descritor de extensão de hierarquia para um fluxoelementar que inclui a camada de aprimoramento, em que odescritor de extensão de hierarquiainclui dados representativos de duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de aprimoramento, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e para processaros dados de vídeo com base pelomenosempartenos dados representativos das duas oumaiscamadas de referência.
[0214] A Figura 2 é um diagrama de blocos que ilustra um exemplo de criptador de vídeo 20 que podeimplantartécnicas para transportar dados de vídeo codificados de acordo com extensões de um padrão de codificação de vídeo. Os dados de vídeo podemincluirmúltiplas (porexemplo, duas oumais) camadas de aprimoramento a umacamada de base, em que as camadas de aprimoramentopodemcorresponder a diferentesdimensões de escalabilidade. O criptador de vídeo 20 poderealizar intra e intercodificação de blocos de vídeo dentro de fatias de vídeo. Aintracodificação tem base naprevisão espacial para reduzirou remover a redundância espacial no vídeo dentro de um quadro de vídeo oufoto dados. Aintercodificação consisteemprevisão temporal ou entre camadas para reduzirou remover a redundância emvídeo dentro de quadrosoufotos de umasequência de vídeo ou de umacamada de referência (porexemplo, uma vista de referência). O intramodo (modo I) pode se referir a qualquer um dentrevários modos de codificação com base em espaço. Osintermodos, comoprevisão monodirecional (modo P) oubiprevisão (modo B), podem se referir a qualquer um dentrevários modos de codificação com base em tempo.
[0215] ConformemostradonaFigura 2, o codificador de vídeo 20 recebe um bloco de vídeo atualdentro de um quadro de vídeo a ser criptado. No exemplo da Figura 2, o codificador de vídeo 20 inclui a unidade de seleção de modo 40, a memória de foto de referência 64, somador 50, a unidade de processamento de transformada 52, a unidade de quantização 54 e a unidade de codificação porentropia 56. A unidade de seleção de modo 40, porsuavez, inclui a unidade de compensação de modo 44, a unidade de estimativa de movimento 42, a unidade de intraprevisão 46 e a unidade de partição 48. Para o bloco de vídeo reconstrução, o codificador de vídeo 20 também inclui a unidade de quantização inversa 58, a unidade de transformadainversa 60 e o somador 62. Um filtro de desbloqueio(não mostradonaFigura 2) também pode ser incluído para filtraroslimites do bloco para remover artefatos de característica de bloqueio de vídeo reconstruído. Caso desejado, o filtro de desbloqueiopodefiltrartipicamente o resultado do somador 62. Filtrosadicionais (emcircuitooupós-circuito) também podem ser usadosadicionalmenteaofiltro de desbloqueio. Tais filtrosnão são mostrados para propósitos de brevidade, mas casodesejado, podemfiltrar o resultado do somador 50 (como um filtroemcircuito).
[0216] Durante o processo de codificação, o codificador de vídeo 20 recebe um quadrooufatia de vídeo a ser codificado. O quadrooufatiapode ser divididoemmúltiplos blocos de vídeo. A unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 realizamcodificação interpreditiva do bloco de vídeo recebidoemrelação a um oumaisblocosem um oumaisquadros de referência para fornecerprevisão temporal. A unidade de intraprevisão 46 poderealizar de modo alternativo a codificação intrapreditiva do bloco de vídeo recebidoemrelação a um oumaisblocosvizinhos no mesmoquadrooufatia que o bloco a ser codificado para fornecerprevisão espacial. O codificador de vídeo 20 poderealizarmúltiplos passos de codificação, porexemplo, para selecionar um modo de codificação apropriado para cadabloco de dados de vídeo.
[0217] Além domais, a unidade de partição 48 podeparticionarblocos de dados de vídeo em sub-blocos, com base naavaliação de esquemas de particionamentoanterioresempassos de codificação anteriores. Por exemplo, a unidade de partição 48 podeparticionarinicialmente um quadrooufatiaem LCUs, e particionarcadauma das LCUs em sub-CUs com base naanálise de distorção de taxa (porexemplo, otimização de distorção de taxa). A unidade de seleção de modo 40 podeproduziradicionalmenteumaestrutura de dados de árvore quadrática que indica a partição de uma LCU em sub-CUs. As CUs de nó-folha da árvore quadrática podemincluirumaoumais PUs e umaoumais TUs.
[0218] A unidade de seleção de modo 40 podeselecionar um dos modos de codificação, intra ou inter, porexemplo, com base emresultados de erro e fornece o bloco intra ouinterprevistoresultante para o somador 50 para gerar dados de blocoresiduais e para o somador 62 para reconstruir o blococriptado para usoem um quadro de referência. A unidade de seleção de modo 40 também forneceelementos de sintaxe, comovetores de movimento, indicadores de intramodo, informações de partição e outras tais informações de sintaxe, para a unidade de criptação porentropia 56.
[0219] A unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 podem ser altamenteintegradas, mas são ilustradasseparadamente para propósitos conceituais. Aestimativa de movimento, realizada pela unidade de estimativa de movimento 42, é o processo de geração de vetores de movimento, que estima o movimento para blocos de vídeo. Um vetor de movimento, porexemplo, podeindicar o deslocamento de uma PU de um bloco de vídeo dentro de um quadrooufoto de vídeo atualemrelação a um blocopreditivodentro de um quadro de referência (ououtraunidadecodificada) emrelação aoblocoatual que está codificadodentro do quadroatual (ououtraunidadecodificada). Um blocopreditivoé um bloco que se encontraemcorrespondência muitopróxima aobloco a ser codificado, emtermos de diferença de pixels, que pode ser determinadopelosomatório da diferença absoluta (SAD), somatório da diferença quadrada (SSD) ououtrasmedidas de diferença. Emalgunsexemplos, o criptador de vídeo podecalcularvalores para posições de pixel subnúmero inteiro de fotos de referência armazenadasnamemória de foto de referência 64. Por exemplo, o criptador de vídeo 20 pode interpolar valores de posições de um quarto de pixel, posições de um oitavo de pixel ououtrasposições fracionadas de pixel da foto de referência. Portanto, a unidade de estimativa de movimento 42 poderealizarumabusca de movimentoemrelação a todas as posições de pixel e posições fracionadas de pixel e emitir um vetor de movimento com precisão fracionada de pixel.
[0220] A unidade de estimativa de movimento 42 calcula um vetor de movimento para uma PU de um bloco de vídeo emumafatiaintercodificada pela comparação da posição da PU emrelação à posição de um blocopreditivo de umafoto de referência. A foto de referência pode ser selecionada a partir de umaprimeiralista de foto de referência (Lista 0) ouumasegundalista de foto de referência (Lista 1), cadauma das quaisidentificaumaoumaisfotos de referência armazenadasnamemória de foto de referência 64. A unidade de estimativa de movimento 42 envia o vetor de movimentocalculado para a unidade de criptação porentropia 56 e a unidade de compensação de modo 44.
[0221] A compensação de movimento, realizada pela unidade de compensação de movimento 44, podeenvolverobterougerar o blocopreditivo com base no vetor de movimentodeterminado pela unidade de estimativa de movimento 42. Novamente, a unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44 podem ser integradas de modo funcional, emalgunsexemplos. Mediante o recebimento do vetor de movimento para a PU do bloco de vídeo atual, a unidade de compensação de modo 44 podelocalizar o blocopreditivo para o qual o vetor de movimentoapontaemuma das listas de fotos de referência. O somador 50 forma um bloco de vídeo residual subtraindo-se valores de pixel doblocopreditivo dos valores de pixel do bloco de vídeo atual que está codificado, o que forma a diferença de valores de pixels, conformediscutidoabaixo. Emgeral, a unidade de estimativa de movimento 42 realizaaestimativa de movimentoemrelação aoscomponentes de luma, e a unidade de compensação de movimento 44 usavetores de movimentocalculados com base noscomponentes de luma tanto para oscomponentes de cromaquanto para oscomponentes de luma. A unidade de seleção de modo 40 também podegerarelementos de sintaxeassociadosaosblocos de vídeo e à fatia de vídeo para usopelodecodificador de vídeo 30 nadecodificação dos blocos de vídeo da fatia de vídeo.
[0222] Alternativamente, a unidade de estimativa de movimento 42 poderealizarprevisão entre camadas (porexemplo, entrevista) para um bloco de umafotoemumacamadadependente. Por exemplo, a unidade de estimativa de movimento 42 pode ser configurada para calcular um vetor de movimento de disparidadeaorealizarprevisão entre vistas de umafotoemuma vista dependente. Em outros exemplos, a unidade de compensação de movimento 44 poderealizarprevisão de vetorsemmovimento de um blocoaorealizarprevisão entre camadas, porexemplo, quandoumacamada de aprimoramentocorresponde a umadimensão de escalabilidade para a qual osblocosnacamada de aprimoramentosão posicionadosaomesmo tempo ousubstancialmente a mesmaposição que osblocosnacamada de base que é aprimorada. Tais dimensões de escalabilidadepodemincluir, porexemplo, profundidade de bit de croma, formato de cor, gama de cores, PSNR ousimilares.
[0223] A unidade de intraprevisão 46 podeintrapreveroucalcular um blocoatual, comoumaalternativaà interprevisão realizada pela unidade de estimativa de movimento 42 e a unidade de compensação de movimento 44, conformedescritoacima. Em particular, a unidade de intraprevisão 46 podedeterminar um modo de intraprevisão para usar para criptar um blocoatual. Emalgunsexemplos, a unidade de intraprevisão 46 podecodificar um blocoatual com o uso de vários modos de intraprevisão, porexemplo, durantepassos de codificação separados, e a unidade de intraprevisão 46 (ouunidade de seleção de modo 40, emalgunsexemplos) podeselecionar um modo de intraprevisão apropriado para usar a partir dos modostestados.
[0224] Por exemplo, a unidade de intraprevisão 46 podecalcularvalores de distorção de taxa com o uso de umaanálise de distorção de taxa para osvários modos de intraprevisão testados, e selecionar o modo de intraprevisão que tem as melhorescaracterísticas de distorção de taxa entre osmodostestados. Aanálise de distorção de taxa geralmentedeterminaumaquantidade de distorção (ouerro) entre um blococriptado e um bloco original não criptado que foicriptado para produzir o blococriptado, bemcomouma taxa de bits (istoé, vários bits) usados para produzir o blococriptado. A unidade de intraprevisão 46 podecalcularrazões a partir de distorções e taxas para osvários blocoscriptados para determinar qual modo de intraprevisão exibe o melhor valor de distorção de taxa para o bloco.
[0225] Após selecionar um modo de intraprevisão para um bloco, a unidade de intraprevisão 46 podefornecerinformações que indicam o modo de intraprevisão selecionado para o blocoemrelação à unidade de codificação porentropia 56. A unidade de codificação porentropia 56 podecodificar as informações que indicam o modo de intraprevisão selecionado. O criptador de vídeo 20 podeincluirnos dados de configuração de fluxo de bits transmitidos, que podemincluirumapluralidade de tabelas de índices de modo de intraprevisão e umapluralidade de tabelas de índices de modo de intraprevisão modificados(também chamadas de tabelas de mapeamento de palavras- código), as definições de criptação de contextos para vários blocos, e indicações de um modo de intraprevisão maisprovável, umatabela de índices de modo de intraprevisão e umatabela de índices de modo de intraprevisão modificados para usar para cada um dos contextos.
[0226] O criptador de vídeo 20 forma um bloco de vídeo residual subtraindo-se os dados de previsão da unidade de seleção de modo 41 a partir do bloco de vídeo original que está codificado. O somador 50 representa o componenteouoscomponentes que realizamessaoperação de subtração. A unidade de processamento de transformada 52 aplicaumatransformada, comoumatransformada de cossenodiscreta (DCT) ouumatransformadaconceitualmente similar, aobloco residual, o que produz um bloco de vídeo que compreendevalores de coeficiente de transformadaresiduais. A unidade de processamento de transformada 52 poderealizaroutrastransformadas que sejamconceitualmentesimilaresà DCT. As transformadas de wavelet, transformadas de números inteiros, transformadas de subfaixaou outros tipos de transformadastambém podem ser usadas.
[0227] Emtodocaso, a unidade de processamento de transformada 52 aplica a transformadaaobloco residual, produzindo um bloco de coeficiente de transformada residual. A transformadapode converter as informações residuaisprovenientes de um domínio de valor de pixel para um domínio de transformada, talcomo um domínio de frequência. A unidade de processamento de transformada 52 podeenviarcoeficientes de transformadaresultantes para a unidade de quantização 54. A unidade de quantização 54 quantizaoscoeficientes de transformada para reduziraindamais a taxa de bits. O processo de quantização podereduzir a profundidade de bits associadaaalgunsoutodososcoeficientes. O processo de quantização também pode ser denominadocomo a processo de "escalonamento", e desse modo, coeficientes de transformadaquantizadostambém podem ser denominadoscomo “coeficientes de transformadaescalonados”. O grau de quantização (ouescalonamento) pode ser modificadoajustando-se um parâmetro de quantização. Emalgunsexemplos, a unidade criptação de entropia 56, pode, então, realizarumavarredura da matriz, que incluicoeficientes de transformadaquantizados.
[0228] Após a quantização, a unidade de criptação porentropia 56 codificaporentropiaoscoeficientes de transformadaquantizadossubmetidos a varredura. Por exemplo, umaunidade de codificação porentropia 56 poderealizarcodificação de comprimentovariável adaptativa a contexto (CAVLC), codificação aritmética binária adaptativa a contexto (CABAC), codificação aritmética binária adaptativa a contexto com base emsintaxe (SBAC), codificação porEntropia de partição de Intervalo de Probabilidade (PIPE) ououtrametodologia de codificação porentropia. No caso de codificação porentropia com base emcontexto, o contextopodeter base emblocosvizinhos. Após a codificação porentropia pela unidade de codificação porentropia 56, o fluxo de bits codificadopode ser transmitido para outro dispositivo (porexemplo, o decodificador de vídeo 30) ouarquivado para transmissão ourecuperação posterior.
[0229] A unidade de quantização inversa 58 e a unidade de transformadainversa 60 aplicamquantização inversa e transformadainversa, respectivamente, para reconstruir o bloco residual no domínio de pixels, porexemplo, para uso posterior como um bloco de referência. A unidade de compensação de movimento 44 podecalcular um bloco de referência adicionando-se o bloco residual a um bloco de previsão de um dos quadros de memória de foto de referência 64. A unidade de compensação de movimento 44 também podeaplicar um oumaisfiltros de interpolação aobloco residual reconstruído para calcularvalores de pixel de subnúmeros inteiros para usonaestimativa de movimento. O somador 62 adiciona o bloco residual reconstruído ao bloco de previsão compensado de movimentoproduzido pela unidade de compensação de modo 44 para produzir um bloco de vídeo reconstruído para o armazenamentonamemória de foto de referência 64. O bloco de vídeo reconstruído pode ser usado pela unidade de estimativa de movimento 42 e pela unidade de compensação de movimento 44 como um bloco de referência para intercodificar um blocoem um quadro de vídeo subsequente.
[0230] A Figura 3 é um diagrama de blocos que ilustra um exemplo de decodificador de vídeo 30 que podeimplantartécnicas para transportar dados de vídeo codificados de acordo com extensões de um padrão de codificação de vídeo. No exemplo da Figura 3, o decodificador de vídeo 30 incluiumaunidade de decodificação e entropia 70, umaunidade de compensação de modo 72, umaunidade de intraprevisão 74, umaunidade de quantização inversa 76, umaunidade de transformadainversa 78, umamemória de foto de referência 82 e um somador 80. O decodificador de vídeo 30 pode, emalgunsexemplos, realizar um passo de decodificação geralmenterecíproco aopasso de criptação descritoemrelação aocriptador de vídeo 20 (Figura 2). A unidade de compensação de movimento 72 podegerar dados de previsão com base emvetores de movimentorecebidos a partir da unidade de decodificação e entropia 70, enquanto a unidade de intraprevisão 74 podegerar dados de previsão com base emindicadores de modo de intraprevisão recebidos a partir da unidade de decodificação e entropia 70.
[0231] Durante o processo de decodificação, o decodificador de vídeo 30 recebe um fluxo de bits de vídeo codificado que representablocos de vídeo de umafatia de vídeo codificada e elementos de sintaxeassociadosprovenientes do codificador de vídeo 20. A unidade de decodificação de entropia 70 do decodificador de vídeo 30 decodificaporentropia o fluxo de bits para gerarcoeficientesquantizados, vetores de movimentoouindicadores de modo de intraprevisão e outros elementos de sintaxe. A unidade de decodificação porentropia 70 encaminhaosvetores de movimento e outros elementos de sintaxe para a unidade de compensação de movimento 72. O decodificador de vídeo 30 podereceberoselementos de sintaxe no nível de fatia de vídeo e/ou no nível de bloco de vídeo.
[0232] Quando a fatia de vídeo for codificadacomoumafatiaintracodificada (I), a unidade de intraprevisão 74 podegerar dados de previsão para um bloco de vídeo da fatia de vídeo atual com base em um modo de intraprevisão sinalizado e dados provenientes de blocosdecodificadosanteriormente do quadroougravuraatual. Quando o quadro de vídeo for codificadocomoumafatiaintercodificada (porexemplo, B, P ou GPB), a unidade de compensação de modo 72 produzblocospreditivos para um bloco de vídeo da fatia de vídeo atual com base nosvetores de movimento e outros elementos de sintaxerecebidos a partir da unidade de decodificação e entropia 70. Osblocospreditivospodem ser produzidos a partir de uma das fotos de referência dentro de uma das listas de fotos de referência. O decodificador de vídeo 30 podeconstruir as listas de quadro de referência, a Lista 0 e a Lista 1, com o uso de técnicas de construção padrão com base emfotos de referência armazenadasnamemória de foto de referência 82.
[0233] A unidade de compensação de movimento 72 determinainformações de previsão para um bloco de vídeo da fatia de vídeo atualanalisando-se osvetores de movimento e outros elementos de sintaxe, e usa as informações de previsão para produzirosblocospreditivos para o bloco de vídeo atualemdecodificação. Por exemplo, a unidade de compensação de modo 72 usaumaparte dos elementos de sintaxerecebidos para determinar um modo de previsão (porexemplo, intra ouinterprevisão) usado para codificarosblocos de vídeo da fatia de vídeo, um tipo de fatia de interprevisão (porexemplo, fatia B, fatia P oufatia GPB), informações de construção para umaoumaisdentre as listas de fotos de referência para a fatia, vetores de movimento para cadabloco de vídeo intercodificado da fatia, situações de interprevisão para cadabloco de vídeo intercodificado da fatia e outrasinformações para decodificarosblocos de vídeo nafatia de vídeo atual.
[0234] A unidade de compensação de movimento 72 também poderealizarinterpolação com base emfiltros de interpolação. A unidade de compensação de movimento 72 por usar filtros de interpolação conformeusadopelocriptador de vídeo 20 durante a codificação dos blocos de vídeo para calcularvaloresinterpolados para pixels de subnúmeros inteiros de blocos de referência. Nessecaso, a unidade de compensação de modo 72 podedeterminarosfiltros de interpolação usadospelocriptador de vídeo a partir dos elementos de sintaxerecebidos e usar osfiltros de interpolação para produzirblocospreditivos.
[0235] Emalgunsexemplos, a unidade de compensação de movimento 72 poderealizarprevisão de vetorsemmovimento de um blocoaorealizarprevisão entre camadas, porexemplo, quandoumacamada de aprimoramentocorresponde a umadimensão de escalabilidade para a qual blocosnacamada de aprimoramentosão posicionadosnamesmaousubstancialmentenamesmaposição comoblocosnacamada de base que é aprimorada Tais dimensões de escalabilidadepodemincluir, porexemplo, profundidade de bit de croma, formato de cor, gama de cores, PSNR ousimilares. Alternativamente, unidade de compensação de movimento 72 pode usar vetores de movimento de disparidade para preverblocos de uma vista dependente de umaoumais vistas de referência (porexemplo, uma vista de base). Deve-se entender que uma vista é um exemplo de umacamada. Ouseja, quandoumacamada de aprimoramentoé uma vista, a dimensão de escalabilidadepodecorresponder a umadimensão de vista (porexemplo, para fornecer dados para produzir um efeito tridimensional para um visualizador).
[0236] A unidade de quantização inversa 76 quantizainversamente, istoé, de-quantiza, oscoeficientes de transformadaquantizadosfornecidos no fluxo de bits e decodificados pela unidade de decodificação porentropia 70. O processo de quantização inversapodeincluir o uso de um parâmetro de quantização QPycalculadopelodecodificador de vídeo 30 para cadabloco de vídeo nafatia de vídeo para determinar um grau de quantização e, de modo similar, um grau de quantização inversa que deve ser aplicado. A unidade de transformadainversa 78 aplicaumatransformadainversa, porexemplo, uma DCT inversa, umatransformada de número inteiroinversaou um processo de transformadainversaconceitualmente similar, aocoeficiente de transformada a fim de produzirblocosresiduais no domínio de pixels.
[0237] Após a unidade de compensação de modo 72 gerar o bloco de previsão para o bloco de vídeo atual com base nosvetores de movimento e outros elementos de sintaxe, o decodificador de vídeo 30 forma um bloco de vídeo decodificadosomando-se osblocosresiduaisprovenientes da unidade de transformadainversa 78 com osblocospreditivoscorrespondentesgerados pela unidade de compensação de modo 72. O somador 80 representa componenteouoscomponentes que realizamessaoperação de soma. Caso desejado, um filtro de desbloqueiotambém pode ser aplicado para filtrarosblocosdecodificados a fim de remover osartefatos de característica de bloqueio. Outros filtros de laço (tanto no laço de codificação quantoapós o laço de codificação) também podem ser usados para suavizar as transições de pixel, ou, de outro modo, aprimorar a qualidade de vídeo. Osblocos de vídeo decodificadosem um quadroougravura dados são, então, armazenadosnamemória de gravura de referência 82, que armazenagravuras de referência usadas para a composição de movimentosubsequente. A memória de foto de referência 82 também armazena o vídeo decodificado para apresentação posterior em um dispositivo de exibição, como o dispositivo de exibição 32 da Figura 1.
[0238] A Figura 4 é um diagrama de blocos que ilustra um sistemaexemplificador 100 no qual o dispositivo de fonte de áudio/vídeo (A/V) 120 transporta dados de áudio e vídeo aodispositivo de destino de A/V 140. O sistema 100 da Figura 4 podecorrespondera um vídeo sistema de teleconferência, um sistema de servidor/cliente, um sistema de transmissorcontínuo/receptor, ouqualquer outro sistema no qual dados de vídeo são enviados de um dispositivo de fonte, tais comodispositivo de fonte de A/V 120, a um dispositivo de destino, talcomodispositivo de destino de A/V 140. Emalgunsexemplos, dispositivo de fonte de A/V 120 e dispositivo de destino de A/V 140 poderealizartroca de informações bidirecionais. Ouseja, o dispositivo de fonte de A/V 120 e o dispositivo de destino de A/V 140 podetercapacidade tanto de criptarquanto de codificar (e transmitir e receber) dados de áudio e vídeo. Emalgunsexemplos, o criptador de áudio 126 podecompreender um criptador de voz, também denominadocomo vocoder.
[0239] O dispositivo de fonte de A/V 120, no exemplo da Figura 4, compreendefonte de áudio 122 e fonte de vídeo 124. A fonte de áudio 122 podecompreender, porexemplo, um microfone que produzsinaiselétricos representativos de dados de áudio capturados a seremcriptadospelocriptador de áudio 126. Alternativamente, a fonte de áudio 122 podecompreender um meio de armazenamento que armazena dados de áudio anteriormenteregistrados, um gerador de dados de áudio tais como um sintetizadorcomputadorizado, ouqualqueroutrafonte de dados de áudio. A fonte de vídeo 124 podecompreenderumacâmera de vídeo que produz dados de vídeo a seremcriptadospelocriptador de vídeo 128, um meio de armazenamentocriptado com dados de vídeo anteriormenteregistrados, umaunidade de geração de dados de vídeo, ouqualqueroutrafonte de dados de vídeo.
[0240] Dados de áudio e vídeo brutospodemcompreender dados análogos oudigitais. Os dados análogos podem ser digitalizados antes de ser criptadospelocriptador de áudio 126 e/oucriptador de vídeo 128. A fonte de áudio 122 podeobter dados de áudio de um participantefalanteenquanto o participantefalanteestá falando, e a fonte de vídeo 124 podeobtersimultaneamente dados de vídeo doparticipantefalante. Em outros exemplos, a fonte de áudio 122 podecompreender um meio de armazenamentolegível porcomputador que compreende dados de áudio armazenados, e fonte de vídeo 124 podecompreender um meio de armazenamentolegível porcomputador que compreende dados de vídeo armazenados. Dessa maneira, as técnicas descritasnestarevelação podem ser aplicadas a dados de áudio e vídeo ao vivo, streaming, em tempo real ou a dados de áudio e vídeo alcançados pré-registrados.
[0241] Quadros de áudio que correspondem a quadros de vídeo são geralmentequadros de áudio que contém dados de áudio que foramcapturados pela fonte de áudio 122 simultaneamente com dados de vídeo capturados pela fonte de vídeo 124 que é contidadentro dos quadros de vídeo. Por exemplo, embora um participantefalantegeralmenteproduza dados de áudio falando, a fonte de áudio 122 capturaos dados de áudio, e fonte de vídeo 124 captura dados de vídeo doparticipantefalanteaomesmo tempo, ouseja, enquanto a fonte de áudio 122 capturaos dados de áudio. Portanto, um quadro de áudio podecorresponder de modo temporal a um oumaisquadros de vídeo particulares. Consequentemente, um quadro de áudio que correspondea um quadro de vídeo correspondegeralmente a umasituação na qual dados de áudio e dados de vídeo foramcapturadosaomesmo tempo e para a qual um quadro de áudio e um quadro de vídeo compreendem, respectivamente, os dados de áudio e os dados de vídeo que foramcapturadosaomesmo tempo.
[0242] Emalgunsexemplos, criptador de áudio 126 podecriptar um carimbo temporal emcadaquadro de áudio criptado que representa um tempo no qual os dados de áudio para o quadro de áudio criptadoforamregistrados e, de modo similar, criptador de vídeo 128 podecriptar um carimbo temporal emcadaquadro de vídeo criptado que representa um tempo no qual os dados de vídeo para o quadro de vídeo criptadoforamregistrados. Em tais exemplos, um quadro de áudio que correspondea um quadro de vídeo podecompreender um quadro de áudio que compreende um carimbo temporal e um quadro de vídeo que compreende o mesmocarimbo temporal. Dispositivo de fonte de A/V 120 podeincluir um relógio interno do qual o criptador de áudio 126 e/oucriptador de vídeo 128 podegeraroscarimbostemporais, ouessafonte de áudio 122 e fonte de vídeo 124 podem usar para associar dados de áudio e vídeo, respectivamente, com um carimbo temporal.
[0243] Emalgunsexemplos, a fonte de áudio 122 podeenviar dados aocriptador de áudio 126 correspondentesa um tempo no qual dados de áudio foramregistrados, e a fonte de vídeo 124 podeenviar dados aocriptador de vídeo 128 correspondente a um tempo no qual dados de vídeo foramregistrados. Emalgunsexemplos, o criptador de áudio 126 podecriptar um identificador de sequência em dados de áudio criptados para indicarumaordenação temporal relativa de dados de áudio criptados, mas semindicarnecessariamente um tempo absoluto no qual os dados de áudio foramregistrados, e de modo similar, o criptador de vídeo 128 também pode usar identificadores de sequência para indicarumaordenação temporal relativa de dados de vídeo criptados. De modo similar, emalgunsexemplos, um identificador de sequência pode ser mapeadoou de outro modo correlacionadoa um carimbo temporal.
[0244] As técnicas destarevelação são geralmentedirecionadasaotransporte de dados de multimídia criptada (porexemplo, áudio e vídeo), e recepção e interpretação subsequente e decodificação dos dados de multimídia transportados. As técnicas destarevelação são particularmenteaplicáveis para transporte de dados de codificação de vídeo de múltiplas vistas (MVC), ouseja, dados de vídeo que compreendemumapluralidade de vistas. Conformemostrado no exemplo da Figura 4, a fonte de vídeo 124 podefornecerumapluralidade de vistas de um cenário aocriptador de vídeo 128. MVC pode ser útil para gerar dados de vídeo tridimensionais a seremusadosporumaexibição tridimensional, talcomoumaexibição tridimensional estereoscópica ouautostereoscópica.
[0245] O dispositivo de fonte de A/V 120 podefornecer um “serviço” aodispositivo de destino de AV 140. Um serviço correspondegeralmentea um subconjunto de vistas disponíveis de dados de MVC. Por exemplo, dados de MVC podemestardisponíveis para oito vistas, ordenadas de zero a sete. Um serviço podecorresponder a vídeo estéreo que tem duas vistas, enquanto outro serviço podecorresponder a quatro vistas, e ainda outro serviço podecorresponder a todas as oito vistas. Emgeral, um serviço corresponde a qualquercombinação (ouseja, qualquersubconjunto) das vistas disponíveis. Um serviço também podecorresponder a umacombinação de vistas disponíveis assimcomo dados de áudio. Um ponto de operação podecorrespondera um serviço, de modo que odispositivo de fonte de A/V 120 possaforneceradicionalmente um descritor de ponto de operação para cadaserviço fornecidopordispositivo de fonte de A/V 120.
[0246] O dispositivo de fonte de A/V 120, de acordo com as técnicas destarevelação, temcapacidade de fornecerserviços que correspondema um subconjunto de vistas. Emgeral, uma vista é representadapor um identificador de vista, também denominadocomo um "view_id". Identificadores de vista geralmentecompreendemelementos de sintaxe que podem ser usados para identificaruma vista. Um criptador de MVC fornece o id de vista de uma vista quando a vista é criptada. O id de vista pode ser usadopor um decodificador de MVC para previsão entre vistas ouporoutrasunidades para outros propósitos, porexemplo, para renderização.
[0247] Previsão entre vistas é umatécnica para criptar dados de MVC de vídeo de um quadroemreferência a um oumaisquadrosem um local temporal comumcomo o quadrocriptado de diferentes vistas. Emgeral, um quadrocriptado de dados de MVC de vídeo pode ser criptado de modo previstoespacialmente, temporalmente e/ouem referência a quadros de outras vistas em um local temporal comum. Consequentemente, vistas de referência, das quaisoutras vistas são previstas, geralmentesão decodificadas antes das vistas para as quais as vistas de referência atuamcomoreferência, de modo que essas vistas decodificadaspodem ser usadas para referência aodecodificar vistas referenciais. Aordem de decodificação não correspondenecessariamenteà ordem dos ids de vista. Portanto, aordem de decodificação de vistas é descrita com o uso de índices de ordem de vista. Osíndices de ordem de vista são índices que indicamaordem de decodificação de componentes de vista correspondentesemumaunidade de acesso.
[0248] Cadafluxo individual de dados (sejaáudio ouvídeo) é denominadocomo um fluxoelementar. Um fluxoelementaré um único componentedigitalmentecodificado (possivelmentecomprimido) de um programa. Por exemplo, a parte de vídeo e áudio codificado do programapode ser um fluxoelementar. Um fluxoelementarpode ser convertidoem um fluxoelementar (PES) empacotado antes multiplexadoem um fluxo de programaoufluxo de transporte. Dentro do mesmoprograma, um ID de fluxoé usado para distinguirospacotes de PES que pertencema um fluxoelementar a partir do outro. A unidadebásica de dados de um fluxoelementaré um pacote de fluxoelementar (PES) empacotado. Desse modo, cada vista de dados de MVC de vídeo corresponde a respectivosfluxoselementares. De modo similar, dados de áudio correspondema um oumaisrespectivosfluxoselementares.
[0249] Uma sequência de vídeo codificada de MVC pode ser separadaemvários subfluxos de bits, em que cada um dos quaisé um fluxoelementar. Cadasubfluxo de bits pode ser identificada com o uso de um subconjunto de view_id de MVC. Com base no conceito de cadasubconjunto de view_id de MVC, um subfluxo de bits de vídeo de MVC é definido. Um subfluxo de bits de vídeo de MVC contém as unidades de NAL das vistas listadas no subconjunto de view_id de MVC. Um fluxo de programageralmentecontém somente as unidades de NAL que são daquelas dos fluxoselementares. É também projetado que quaisquerdoisfluxoselementaresnão podemconteruma vista idêntica.
[0250] No exemplo da Figura 4, o multiplexador 130 recebefluxoselementares que compreende dados de vídeo docriptador de vídeo 128 e fluxoselementares que compreendem dados de áudio docriptador de áudio 126. Emalgunsexemplos, o criptador de vídeo 128 e o criptador de áudio 126 podemincluir, cada um, empacotadores para formarpacotes de PES de dados criptados. Em outros exemplos, criptador de vídeo 128 e criptador de áudio 126 podem, cada um, interagir com respectivosempacotadores para formarpacotes de PES a partir de dados criptados. Emainda outros exemplos, o multiplexador 130 podeincluirempacotadores para formarpacotes de PES de dados de áudio e vídeo criptados.
[0251] Um “programa”, conformeusadonestarevelação, podecompreenderumacombinação de dados de áudio e dados de vídeo, porexemplo, um fluxoelementar de áudio e um subconjunto de vistas disponíveis entreguespor um serviço de dispositivo de fonte de A/V 120. Cadapacote de PES inclui um ID de fluxo que identifica o fluxoelementarao qual o pacote de PES pertence. O multiplexador 130 é responsável pormontarfluxoselementaresemfluxos de programaconstituintesoufluxos de transporte. Um fluxo de programa e um fluxo de transportesão dois multiplexes alternativos voltados a diferentesaplicações.
[0252] Em geral, um fluxo de programainclui dados para um programa, enquanto um fluxo de transportepodeincluir dados para um oumaisprogramas. O multiplexador 130 podecriptar tanto um fluxo de programaquanto/como um fluxo de transporte, com base em um serviço que é fornecido, um meio no qual o fluxoserá passado, um número de programas a ser enviado, ououtrasconsiderações. Por exemplo, quandoos dados de vídeo tiverem de ser criptadosem um meio de armazenamento, o multiplexador 130 pode ser maispropenso a formar um fluxo de programa, enquantoquandoos dados de vídeo devem ser transmitidospor streaming over uma rede, transmissão contínua, ouenviadocomoparte de telefonia de vídeo, o multiplexador 130 pode ser maispropenso a usar um fluxo de transporte.
[0253] O multiplexador 130 pode ser desviadoem favor do uso de um fluxo de programa para o armazenamento e exibição de um único programa a partir de um serviço de armazenamento digital. Um fluxo de programaé destinado para o usoem ambientes semerroou ambientes menossuscetíveis aencontrarerros, devidoaofato de que osfluxos de programasão preferencialmentesuscetíveis a erros. Um fluxo de programacompreendesimplesmenteosfluxoselementarespertencentesaomesmo e contém geralmentepacotes de comprimentosvariáveis. Em um fluxo de programa, pacotes de PES que são derivados a partir de fluxoselementares de contribuição são organizadosem “conjuntos”. Um conjunto compreende um leitor de conjunto, um cabeçalho de sistemaopcional, e qualquernúmero de pacotes de PES tomados de qualquer um dos fluxoselementares de contribuição, emqualquerordem. O cabeçalho de sistemacontém um sumário das características dofluxo de programa tais comosua taxa de dados máxima, o número de fluxoselementares de vídeo e áudio de contribuição, informações de temporização adicionaisououtras informações. Um decodificadorpode usar as informações contidasem um cabeçalho de sistema para determinar se o decodificadortemcapacidadeounão de decodificar o fluxo de programa.
[0254] O multiplexador 130 pode usar um fluxo de transporte para aentregasimultânea de umapluralidade de programasatravés de canaispotencialmentepropensos a erros. Um fluxo de transporteé um multiplex elaborado para aplicações de múltiplos programas, tais comotransmissão contínua, de modo que um único fluxo de transportepossaacomodarmuitosprogramasindependentes. Um fluxo de transportepodecompreenderumasucessão de pacotes de transporte, sendo que cada um dos pacotes de transportetem 188 bytes de comprimento. O uso de pacotes de comprimentocurtofixofaz com que ofluxo de transportesejamenossuscetível aerros do que ofluxo de programa. Além disso, a cadapacote de transporte de 188 bytes de comprimento, pode ser dada proteção adicional contra errosprocessando- se o pacoteatravés de um processo de proteção contra errospadrão, talcomocriptação Reed-Solomon. A resiliência de errosaprimorada do fluxo de transportesignifica que omesmotemuma chance melhor de sobreviveraoscanais de erros a seremconstatadosem um ambiente de difusão, porexemplo.
[0255] Pode-se observar que ofluxo de transporteé melhor do que um fluxo de programadevido a suaresiliência aerrosaumentada e capacidade de conduzirmuitosprogramassimultâneos. No entanto, o fluxo de transporteé um multiplex maissofisticado do que ofluxo de programa e é consequentementemaisdifícil de criar e maiscomplicado de demultiplexar do que um fluxo de programa. O primeiro byte de um pacote de transportepode ser um byte de sincronização que tem um valor de 0x47 (hexadecimal 47, binário "01000111", decimal 71). Um único fluxo de transportepodetransportarmuitosprogramasdiferentes, sendo que cadaprogramacompreendemuitosfluxoselementaresempacotados. O multiplexador 130 pode usar um campo de identificador de pacote (PID) de treze bits para distinguirpacotes de transporte que contêm os dados de um fluxoelementar a partirdaqueles que conduzemos dados de outros fluxoselementares. É a responsabilidade do multiplexadorgarantir que cadafluxoelementarsejaprivilegiadoem um valor de PID único. O último byte de um pacote de transportepode ser o campo de contagem de continuidade. O multiplexador 130 incrementa o valor do campo de contagem de continuidade entre sucessivospacotes de transporte que pertencemaomesmofluxoelementar. Issopermite que um decodificadorououtraunidade de um dispositivo de destino, talcomodispositivo de destino de A/V 140, para detectar a perdaouganho de um pacote de transporte e esperançosamente ocultaroserros que podem, de outro modo, se resultar de talevento.
[0256] O multiplexador 130 recebepacotes de PES para fluxoselementares de um programa do criptador de áudio 126 e criptador de vídeo 128 e forma unidades de camada de abstração de rede (NAL) correspondentes dos pacotes de PES. No exemplo de H.264/AVC (Codificação de Vídeo Avançada), segmentos de vídeo codificadossão organizadosemunidades de NAL, que fornecemumarepresentação de vídeo "amigável para rede" voltadasaaplicações tais comotelefonia de vídeo, armazenamento, transmissão contínua ou streaming. As unidades de NAL podem ser categorizadas para unidades de NAL de codificação de vídeo camada (VCL) e unidadesdiferentes de NAL VCL. As unidades de VCL contêm dados para o mecanismo de compressão de núcleo e podecompreenderbloco, macrobloco e/ouníveis de fatia. Outrasunidades de NAL são unidadesdiferentes de NAL VCL.
[0257] O multiplexador 130 podeformarunidades de NAL que compreendem um cabeçalho que identifica um programaao qual a NAL pertence, assimcomouma carga, porexemplo, dados de áudio, dados de vídeo, ou dados que descrevem o transporteoufluxo de programaao qual a unidade de NAL corresponde. Por exemplo, em H.264/AVC, umaunidade de NAL inclui um cabeçalho de 1 byte e uma carga de tamanhovariado. Em um exemplo, umaunidade de cabeçalho de NAL compreende um elementopriority_id, um elementotemporal_id, um elementoanchor_pic_flag, um elementoview_id, um elementonon_idr_flag, e um elemento de inter_view_flag. Em MVC convencional, a unidade de NAL definidapor H.264 é retida, exceto para unidades de prefixo NAL e unidades de NAL de fatiacodificadaspor MVC, que incluem um cabeçalho de unidade de NAL de MVC de 4 bytes e a carga de unidade de NAL.
[0258] O elementopriority_id de um cabeçalho de NAL pode ser usado para um simples processo de adaptação de fluxo de bits de umatrajetória. O elementotemporal_idpode ser usado para especificar o nível temporal da unidade de NAL correspondente, em que diferentesníveis temporaiscorrespondem a diferentestaxas de quadro.
[0259] O elementoanchor_pic_flagpodeindicar se umafotoé umafotoâncora oufotonão âncora. As fotosâncora e todas as fotos que sucedem a mesmasnaordem de saída (ouseja, aordem de exibição) podem ser corretamentedecodificadassemdecodificação de fotosanterioresnaordem de decodificação (ouseja, a ordem de fluxo de bits), e desse modo, podem ser usadascomopontos de acessoaleatórios. Fotosâncora e fotosnão âncora podemterdiferentesdependências, ambas as quaissão sinalizadas no conjunto de parâmetro de sequência. Outros sinalizadoresdevem ser discutidos e usadosnasseguintesseções nestecapítulo. Tal fotoâncora também pode ser denominadacomo um ponto de acesso de GOP (grupo de fotos) aberto, enquanto um ponto de acesso de GOP fechadoé também suportadoquando o elementonon_idr_flagé igual a zero. O elementonon_idr_flag indica se umafotoé um atualizador de decodificadorinstantâneo (IDR) oufoto de IDR de vista (V- IDR). Emgeral, umafoto de IDR, e todas as fotos que sucedem a mesmanaordem de saída ouordem de fluxo de bits, podem ser corretamentedecodificadassem a decodificação de fotosanterioresnemnaordem de decodificação nemnaordem de exibição.
[0260] O elementoview_idpodecompreenderinformações de sintaxe que podem ser usadas para identificaruma vista, que pode ser usada para interatividade de dados dentro de um decodificador de MVC, porexemplo, para previsão entre vistas, e fora de um decodificador, porexemplo, para renderização. O elementointer_view_flagpodeespecificar se a unidade de NAL correspondenteé usadaporoutras vistas para previsão entre vistas. Para conduzir as informações de unidade de cabeçalho de NAL de 4 bytes para uma vista de base, que podeestaremconformidade com AVC, umaunidade de prefixo NAL é definidaem MVC. No contexto de MVC, a unidade de acesso de vista de base inclui as unidades de NAL VCL da instância de tempo atual da vista assimcomosuaunidade de prefixo NAL, que contém somente o cabeçalho de unidade de NAL. Um decodificador de H.264/AVC podeignorar a unidade de prefixo NAL.
[0261] Uma unidade de NAL que inclui dados de vídeo emsua carga podecompreendervários níveis granularidade de dados de vídeo. Por exemplo, umaunidade de NAL podecompreender um bloco de dados de vídeo, um macrobloco, umapluralidade de macroblocos, umafatia de dados de vídeo, ou um quadrointeiro de dados de vídeo. O multiplexador 130 podereceber dados de vídeo criptados de criptador de vídeo 128 na forma de pacotes de PES de fluxoselementares. O multiplexador 130 podeassociarcadafluxoelementar com um programacorrespondentemapeando-se ids de fluxoaosprogramascorrespondentes, porexemplo, em um banco de dados ououtraestrutura de dados, talcomoumaTabela de Mapa de Programa (PMT) ou Mapa de Fluxo de Programa (PSM).
[0262] O multiplexador 130 também podemontarunidades de acesso de umapluralidade de unidades de NAL. Emgeral, umaunidade de acessopodecompreender um oumaisunidades de NAL para representar um quadro de dados de vídeo, assimcomo dados de áudio correspondentesaoquadroquando tais dados de áudio estão disponíveis. Uma unidade de acessogeralmenteincluitodas as unidades de NAL para umainstância de tempo de saída, porexemplo, todosos dados de áudio e vídeo porumainstância de tempo. Por exemplo, se cada vista tiveruma taxa de quadro de 120 quadrosporsegundo (fps), então cadainstância de tempo podecorrespondera um intervalo de tempo de 0,05 segundo. Durante esseintervalo de tempo, osquadrosespecíficos para todas as vistas da mesmaunidade de acesso (a mesmainstância de tempo) podem ser renderizadossimultaneamente. Em um exemplocorrespondente a H.264/AVC, umaunidade de acessopodecompreenderumafotocodificadaemumainstância de tempo, que pode ser apresentadocomoumafotocodificadaprimária. Consequentemente, umaunidade de acessopodecompreendertodososquadros de áudio e vídeo de umainstância temporal comum, porexemplo, todas as vistas correspondentesao tempo X. Estarevelação também se refere a umafotocriptada de uma vista particular como um “componente de vista”. Ouseja, um componente de vista podecompreenderumafotocriptada (ouquadro) para uma vista particular em um tempo particular. Consequentemente, umaunidade de acessopode ser definidacomocompreendendotodososcomponentes de vista de umainstância temporal comum. Aordem de decodificação de unidades de acessonão precisam ser necessariamente as mesmas que a ordem de saída ouexibição.
[0263] O multiplexador 130 podetambém embutir dados relacionados um programaemumaunidade de NAL. Por exemplo, multiplexador 130 podecriarumaunidade de NAL que compreendeumatabela de mapa de programa (PMT) ou um mapa de fluxo de programa (PSM). Emgeral, um PMT é usado para descrever um fluxo de transporte, enquanto um PSM é usado para descrever um fluxo de programa. Conformedescritoemmaisdetalhesemrelação aoexemplo da Figura 2 abaixo, multiplexador 130 podecompreenderouinteragir com umaunidade de armazenamento de dados que associaosfluxoselementaresrecebidos do criptador de áudio 126 e do criptador de vídeo 128 com programas e consequentemente com osrespectivosfluxos de transporte e/oufluxos de programa.
[0264] Assimcomo a maioria dos padrões de codificação de vídeo, H.264/AVC e HEVC definem a sintaxe, semântica, e processo de decodificação para fluxos de bits semerros, em que qualquer um dos quais se conformama um determinadoperfilounível. Essespadrões não especificam o criptador, mas o criptadoré atarefado com a garantia de que osfluxos de bits geradosestão emconformidade de padrão para um decodificador. No contexto de padrão de codificação de vídeo, um “perfil” correspondea um subconjunto de algoritmos, recursosou ferramentas e restrições que se aplicamaosmesmos. Conformedefinidopelopadrão H.264, porexemplo, um “perfil” é um subconjunto da sintaxe de fluxo de bits inteira que é especificadapelopadrão H.264. Um “nível” correspondeàs limitações doconsumo de recurso de decodificador, tais como, porexemplo, memória e decodificação e computação, que são relacionadasà resolução das fotos, taxa de bits e taxa de processamento de macrobloco (MB).
[0265] O padrão H.264, porexemplo, reconhece que, dentro das ligações impostas pela sintaxe de um dado perfil, aindaé possível exigirumagrandevariação no desempenho de criptadores e decodificadores que dependem dos valorestomadospeloselementos de sintaxe no fluxo de bits tais como o tamanhoespecificado das fotosdecodificadas. O padrão H.264 reconheceadicionalmente que, emmuitasaplicações, não é prático nemeconômico implantar um decodificador com capacidade de lidar com todososusoshipotéticos da sintaxedentro de um perfil particular. Consequentemente, o padrão H.264 define um “nível” como um conjunto especificado de restrições impostasemvalores dos elementos de sintaxe no fluxo de bits. Essasrestrições podem ser limitessimplesemvalores. Alternativamente, essasrestrições podemtomara forma de restrições emcombinações aritméticas de valores (porexemplo, largura de fotomultiplicadasporfotoalturamultiplicadaspornúmero de fotosdecodificadasporsegundo). O padrão H.264 determinaadicionalmente que implantações individuaispodemsuportar um nível diferente para cadaperfilsuportado.
[0266] Um decodificador que se conformaa um perfilsuportanormalmentetodososrecursosdefinidos no perfil. Por exemplo, como um recurso de codificação, codificação de foto B não é suportado no perfil de linha de base de H.264/AVC, mas é suportadoem outros perfis de H.264/AVC. Um decodificador que se conformaa um nível devetercapacidade de decodificarqualquerfluxo de bits que não exigerecursosalém das limitações definidas no nível. Definições de perfis e níveis podem ser úteis para interpretabilidade. Por exemplo, durante a transmissão de vídeo, um par de definições de perfil e nível pode ser negociado e estar de acordo para umasessão de transmissão inteira. Maisespecificamente, em H.264/AVC, um nível podedefinir, porexemplo, limitações no número de macroblocos que precisam ser processados, tamanho de armazenamentotemporário de fotodecodificada (DPB), tamanho de armazenamentotemporário de fotocodificada (DPB), faixa de vetor de movimento vertical, número máximo de vetores de movimentopordois MBs consecutivos, e se um bloco B podeterpartições de submacroblocomenores do que 8x8 pixels. Dessa maneira, um decodificadorpodedeterminar se o decodificadortemcapacidade de decodificarapropriadamente o fluxo de bits.
[0267] Conjuntos de parâmetros contêm geralmenteinformações de cabeçalho de camada de sequência nos conjuntos de parâmetro de sequência (SPS) e as informações de cabeçalho de camada de fotos que mudam de modo infrequentenos conjuntos de parâmetros de foto (PPS). Com conjuntos de parâmetros, essasinformações que mudam de modo infrequentenão precisam ser repetidas para cadasequência oufoto; portanto, aeficiência de codificação pode ser aprimorada. Ademais, o uso de conjuntos de parâmetros podepermitir a transmissão fora de banda de informações de cabeçalho, evitando a necessidade de transmissões redundantes para alcançar resiliência de erro. Na transmissão fora de banda, unidades de NAL de conjunto de parâmetros são transmitidasem um canal diferente das outrasunidades de NAL.
[0268] Ossistemaspadrão de MPEG-2 permite as extensões do sistemapormeio de “descritores". Tanto PMTs quanto PSMs incluemciclos de descritornosquais um oumaisdescritorespodem ser inseridos. Emgeral, um descritorpodecompreenderumaestrutura de dados que pode ser usada para estender a definição de programas e/ouelementos de programa. Estarevelação descrevedescritores de ponto de operação para realizar as técnicas destarevelação. Emgeral, o descritor de ponto de operação destarevelação aprimora o descritor de extensão de MVC convencionaldescrevendo-se umacapacidade de renderização, umacapacidade de decodificação e uma taxa de bits para um ponto de operação. Um dispositivo de destino, talcomodispositivo de destino de A/V 140, pode usar descritores de ponto de operação para cadaponto de operação para selecionar um dos pontos de operação de um fluxo de bits a ser decodificado.
[0269] Cada PMT ou PSM podeincluir um descritor de ponto de operação que descrevecaracterísticas de um ponto de operação. Por exemplo, dispositivo de fonte 120 podefornecer o descritor de ponto de operação para fornecer um valor de capacidade de renderização que descreveumacapacidade de renderização para dispositivo de destino 140 (porexemplo, um dispositivo de cliente). De modo que odispositivo de destino 140 renderizeapropriadamente (porexemplo, exiba) dados de vídeo do ponto de operação, o dispositivo de destino 140 devesatisfazer as capacidades de renderização sinalizadaspelo valor de capacidade de renderização. O valor de capacidade de renderização podedescrever, porexemplo, um número de vistas a seremexibidas (porexemplo, um número de vistas almejadas para renderização) e/ou a taxa de quadro dos dados de vídeo para as vistas. Desse modo, dispositivo de destino 140 podedeterminar que as capacidades de renderização são atendidasquando a saída de vídeo 144 de dispositivo de destino 140 temcapacidade de exibir o número de vistas do ponto de operação na taxa de quadroespecificadapelodescritor de ponto de operação.
[0270] Depois que omultiplexador 130 montouumaunidade de NAL e/ouumaunidade de acesso dos dados recebidos, o multiplexador 130 passa a unidadeà interface de saída 132 para saída. A interface de saída 132 podecompreender, porexemplo, um transmissor, um transceptor, um dispositivo para gravar dados em um meiolegível porcomputadortalcomo, porexemplo, umaunidadeóptica, umaunidade de mídia magnética (porexemplo, disquete), uma porta de barramento serial universal (USB), uma interface de rede, ououtra interface de saída. A interface de saída 132 emite a unidade de NAL ouunidade de acesso a um meiolegível porcomputador 134, talcomo, porexemplo, um sinal de transmissão, um meiomagnético, um meioóptico, umamemória, umaunidade de flash, ou outro meiolegível porcomputador.
[0271] Por fim, a interface de entrada 136 recuperaos dados do meiolegível porcomputador 134. A interface de entrada 136 podecompreender, porexemplo, umaunidadeóptica, umaunidade de mídia magnética, uma porta USB, um receptor, um transceptorououtra interface de meiolegível porcomputador. A interface de entrada 136 podefornecer a unidade de NAL ouunidade de acessoaodemultiplexador 138. O demultiplexador 138 podedemultiplexar um fluxo de transporteoufluxo de programaemfluxos de PES constituinte, desempacotarosfluxos de PES para recuperar dados criptados, e enviaros dados criptados tanto aodecodificador de áudio 146 comodecodificador de vídeo 148, dependendo da possibilidade de os dados criptadosseremparte de um fluxo de áudio ouvídeo, porexemplo, conformeindicadopeloscabeçalhos de pacote de PES dofluxo. O decodificador de áudio 146 decodifica dados de áudio criptados e enviaos dados de áudio decodificadosà saída de áudio 142, enquanto o decodificador de vídeo 148 decodifica dados de vídeo criptados e enviaos dados de vídeo decodificados, que podemincluirumapluralidade de vistas de um fluxoà saída de vídeo 144. A saída de vídeo 144 podecompreender um visor que usaumapluralidade de vistas de um cenário, porexemplo, umaexibição estereoscópica ouautostereoscópica que apresentacada vista de um cenário simultaneamente.
[0272] Em particular, o demultiplexador 138 podeselecionar um ponto de operação de um fluxo de bits recebido. Por exemplo, o demultiplexador 138 podecompararcaracterísticas de pontos de operação dofluxo de bits para selecionar um ponto de operação apropriado a ser usadopelodispositivo de destino de A/V 140. Emgeral, o demultiplexador 138 podetentarselecionar um dos pontos de operação que fornecerão a maiorexperiência de visualização de qualidade para um usuário que pode ser decodificadopelodecodificador de vídeo 148. Por exemplo, o demultiplexador 138 podecomparar as capacidades de renderização e capacidades de decodificação dodecodificador de vídeo 148 às capacidadessugeridas de renderização e decodificação sinalizadaspelosdescritores de ponto de operação dofluxo de bits. Dos pontos de operação que odemultiplexador 138 determinapoderiam ser apropriadamentedecodificadospelodecodificador de vídeo 148, o demultiplexador 138 podeselecionar um ponto de operação que fornecerão a maiorqualidade dados de vídeo, porexemplo, a maior taxa de quadro e/ou a taxa de bits. Em outros exemplos, o demultiplexador 138 podeselecionar um dos pontos de operação suportados com base emoutrasconsiderações, tais como, porexemplo, consumo de potência.
[0273] Emgeral, o sistema 100 podecorrespondersubstancialmenteaosistema 10 da Figura 1. De modo similar, o multiplexador 130 podecorrespondersubstancialmenteaomultiplexador 21 da Figura 1, o demultiplexador 138 podecorrespondersubstancialmenteaodemultiplexador 29 da Figura 1, e outros componentes de sistema 100 nomeados de modo similar podemcorrespondersubstancialmenteaoscomponentesnomeados de modo similar da Figura1.Desse modo, o multiplexador 130 e o demultiplexador 138 pode ser configurado para realizarqualqueruma das várias técnicas descritasnestarevelação, porsisó ouemqualquercombinação.
[0274] Desse modo, o multiplexador 21, multiplexador 130, demultiplexador 29 e/oudemultiplexador 138 podem ser configurados para codificar um descritor de extensão de hierarquia para umacamada de um fluxoelementar que inclui dados de vídeo codificados de acordo com um padrão de codificação de vídeo, em que odescritor de extensão de hierarquiainclui dados representativos de pelomenosumaextensão aopadrão de codificação de vídeo, e processaros dados de vídeo dofluxoelementar com base pelomenosempartenos dados representativos da pelomenosumaextensão.
[0275] O descritor de extensão de hierarquiapodeincluir dados representativos de duas oumaiscamadas de aprimoramento que dependem de umacamada de base e que correspondem a diferentesdimensões de escalabilidade. Ouseja, as duas oumaiscamadas de aprimoramentopodemincluirumaprimeiracamada de aprimoramento, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a uma segundadimensão de escalabilidade, em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade. O multiplexador 130 podegerar o descritor de extensão de hierarquia para incluir um conjunto de informações (porexemplo, o extension_dimension_bits das tabelasexemplificadorasdiscutidasacima) que indicamquaisdentreumapluralidade de dimensões de escalabilidadepossíveis têm dados de camada de aprimoramentopresente, em que os dados de camada de aprimoramentopodem ser associados a umacamada de base (ouseja, umacamada com nuh_layer_idigual a zero).
[0276] Dessa maneira, o multiplexador 130 representa um exemplo de um dispositivo que incluiumamemória para armazenar dados de vídeo que incluiumacamada de aprimoramentocodificada de acordo com umaextensão de um padrão de codificação de vídeo e duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de referência, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de referência, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e um oumaisprocessadoresconfigurados para criptar um descritor de extensão de hierarquia, em que odescritor de extensão de hierarquiainclui dados representativos das duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende.
[0277] O demultiplexador 138 pode usar o descritor de extensão de hierarquia para determinar se as várias camadas de aprimoramentoestão presentes, de modo a demultiplexarapropriadamenteos dados de vídeo. Consequentemente, o demultiplexador 138 representa um exemplo de um dispositivo que incluiumamemória para armazenarumacamada de aprimoramento de dados de vídeo codificados de acordo com umaextensão de um padrão de codificação de vídeo, e um oumaisprocessadoresconfigurados para decodificar um descritor de extensão de hierarquia para um fluxoelementar que inclui a camada de aprimoramento, em que odescritor de extensão de hierarquiainclui dados representativos de duas oumaiscamadas de referência nasquais a camada de aprimoramentodepende, em que as duas oumaiscamadas de referência incluemumaprimeiracamada de aprimoramento, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e para processaros dados de vídeo com base pelomenosempartenos dados representativos das duas oumaiscamadas de referência.
[0278] Ademais, multiplexador 130 podegerar um descritor de vídeo de HEVC que inclui um elemento de sintaxe que indica se um descritor de extensão de HEVC está presente. O multiplexador 130 podegerar o descritor de extensão de HEVC e, de modo similar, ajustar o elemento de sintaxea um valor que indica que odescritor de extensão de HEVC está presente, quandoumacamada de base de HEVC é estendida com o uso de umaoumaiscamadas de aprimoramento. O descritor de extensão de HEVC pode se conformaraodescritor de extensão de HEVC da Tabela X acima.
[0279] Adicionaloualternativamente, o multiplexador 21, multiplexador 130, demultiplexador 29 e/oudemultiplexador 138 podem ser configurados para codificar um descritor de hierarquia para um primeirofluxo elementar que incluiíndices a um oumaisfluxoselementares de referência adicionais, e processar dados de vídeo doprimeirofluxoelementar com base pelomenosempartenosíndices.
[0280] Adicionaloualternativamente, o multiplexador 21, multiplexador 130, demultiplexador 29 e/oudemultiplexador 138 podem ser configurados para codificar dados indicativos de comodoisoumaisfluxoselementarespodem ser combinados para formardoisoumaispontos de operação, e processar dados de vídeo de doisoumais dos fluxoselementares com o uso dos dados.
[0281] A Figura 5 é um fluxograma que ilustra um método exemplificador para processar dados de vídeo de acordo com as técnicas destarevelação. O método da Figura 5 é explicadoemrelação aocriptador de vídeo 128 e multiplexador 130 da Figura4. No entanto, deve-se entender que outros dispositivos, tais comocriptador de vídeo 21 e multiplexador 21 da Figura 1, podem ser configurados para realizar o método da Figura5.
[0282] Inicialmente, o criptador de vídeo 128 codifica dados de vídeo de umacamada de base (150). Os dados de vídeo da camada de base podem se conformar a, porexemplo, HEVC, ou outro padrão de codificação de vídeo. O criptador de vídeo 128 podeentão criptar dados de vídeo de umaoumaiscamadas de aprimoramento (152). Os dados de vídeo das camadas de aprimoramentopodemcorresponder a várias dimensões de escalabilidadediferentes, conformeexplicadoacima. Ouseja, o criptador de vídeo 128 podecriptar as camadas de aprimoramento de modo que duas oumaiscamadas de aprimoramento, correspondentesàs diferentesdimensões de escalabilidade, dependem da mesmacamada de base.
[0283] O criptador de vídeo 128 podeentão formarpontos de operação para os dados de vídeo (154). Cadaponto de operação podeincluirtodosou um subconjunto das várias camadas de dados de vídeo. Em particular, cadaponto de operação podeincluir a camada de base e qualquercombinação das várias camadas de aprimoramento. Ademais, o criptador de vídeo 128 podedesignarsomentedeterminadascamadas de um ponto de operação comosendoalmejadas para saída.
[0284] O criptador de vídeo 128 podeforneceros dados de vídeo criptados (a camada de base e as camadas de aprimoramento) aomultiplexador 130. O multiplexador 130 podemultiplexar a camada de base e as camadas de aprimoramento (156). Ouseja, o multiplexador 130 poderecebermúltiplos fluxoselementares, sendo que cadafluxoelementarcorresponde a umacamada particular, e montarosfluxoselementaresem um único fluxo de bits.
[0285] O multiplexador 130 podetambém criptar um descritor de vídeo de HEVC que inclui dados temporais de escalabilidade (158). Por exemplo, o descritor de vídeo de HEVC podeincluir um elemento de sintaxe de subconjunto de camada temporal (porexemplo, um sinalizador) que indica se um subconjunto de camada temporal é incluído nos dados de vídeo. Um subconjunto de camada temporal correspondegeralmentea um subconjunto dos dados de vídeo que pode ser reproduzidoemuma taxa de quadrodiferente. Por exemplo, os dados de vídeo inteiropodemincluir dados de vídeo em 240 quadrosporsegundo (fps), mas os dados de vídeo podemtambém suportarreprodução em 120 fps, 60 fps, 30 fps e 15 fps. Para indicar as informações de camada temporal, multiplexador 130 podesinalizarvalores para um elemento de sintaxe de identificador temporal mínimo e um elemento de sintaxe de identificador de camada temporal máxima. O descritor de vídeo de HEVC podetambém incluir um elemento de sintaxepresente de extensão de HEVC, que indica se um descritor de extensão de HEVC está presente.
[0286] O multiplexador 130 podetambém criptar um descritor de extensão de hierarquia que inclui outros dados de escalabilidade (160), ouseja, dados de escalabilidade para dimensões de escalabilidadediferentes da escalabilidade temporal. Por exemplo, tais outrasdimensões de escalabilidadepodemincluir PSNR, profundidade de bit de croma, formato de cor, formato de gama de cores, resolução espacialousimilares. O descritor de extensão de hierarquiapodeincluir o elemento de sintaxe de extension_dimension_bitsdescritoacima, que geralmente indica quaisdentreumapluralidade de camadas de aprimoramentoestão presentesnos dados de vídeo para umacamada de base.
[0287] O multiplexador 130 podeincluiradicionalmente um descritor de extensão de HEVC incluindo dados de ponto de operação (162). Ouseja, assumindo o multiplexador 130 determinou que camadas de aprimoramentoestão presentesnos dados de vídeo, o multiplexador 130 podeajustar um valor do elemento de sintaxepresente de extensão de HEVC para indicar que odescritor de extensão de HEVC está presente, e criptaradicionalmente o descritor de extensão de HEVC. O descritor de extensão de HEVC podeincluir dados que indicam qual das camadasé almejado para saída para cada um dos vários pontos de operação dos dados de vídeo.
[0288] Dessa maneira, o método da Figura 5 representa um exemplo de um método para processar dados de vídeo que compreendemreceber dados de vídeo que incluemumacamada de base codificada de acordo com um padrão de codificação de vídeo e duas oumaiscamadas de aprimoramento que dependem da camada de base, em que as duas oumaiscamadas de aprimoramentoincluemumaprimeiracamada de aprimoramento, que se conforma a umaprimeira dimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a umasegundadimensão de escalabilidade, e em que a primeira dimensão de escalabilidade é diferente da segunda dimensão de escalabilidade, e criptar um descritor de extensão de hierarquia, em que o descritor de extensão de hierarquia inclui dados representativos das duas oumaiscamadas de aprimoramento que dependem da camada de base.
[0289] A Figura 6 é um fluxograma que ilustra um método exemplificador para processar dados de vídeo de acordo com as técnicas destarevelação. Para propósitos de discussão, o método exemplificador da Figura 6 é descritoemrelação aodemultiplexador 138 e aodecodificador de vídeo 148 da Figura4. No entanto, deve-se entender que outros dispositivos, tais comodemultiplexador 29 e decodificador de vídeo 30 da Figura 1, pode ser configurado para realizar as técnicas da Figura6.
[0290] Inicialmente, o demultiplexador 138 podedeterminar um ponto de operação de dados de vídeo que deve ser processado e exibidoporúltimo (180). Por exemplo, o demultiplexador 138 podereceberumasolicitação de um usuário e/oudeterminarcapacidades de decodificação e renderização de dispositivo de destino 140 para determinar (porexemplo, selecionar) o ponto de operação.
[0291] O demultiplexador 138 podeentão decodificar um descritor de vídeo de HEVC que inclui dados temporais de escalabilidade (182). O demultiplexador 138 podedeterminar a possibilidade de usar um conjunto completo de dados de vídeo ou um subconjunto dos dados de vídeo, porexemplo, para alcançar umaversão de taxa de quadroreduzida dos dados de vídeo. Por exemplo, um dispositivo de exibição de saída de vídeo 144 podenão tercapacidade de exibir dados de vídeo na taxa de quadro total e, portanto, o demultiplexador 138 podeextrairsomenteos dados de vídeo necessários para uma taxa de quadro que odispositivo de exibição temcapacidade de exibição. O descritor de vídeo de HEVC podetambém incluir um elemento de sintaxepresente de extensão de HEVC que indica se um descritor de extensão de HEVC está presente.
[0292] Assumir o elemento de sintaxepresente de extensão de HEVC indica que odescritor de extensão de HEVC está presente, o demultiplexador 138 podedecodificar o descritor de extensão de HEVC, que podeincluir dados de ponto de operação (184). Os dados de ponto de operação podemindicar, porexemplo, qual dentre as camadasé incluído emcadaponto de operação, assimcomo qual dentre as camadasé almejado para saída para cadaponto de operação. Dessa maneira, o demultiplexador 138 podedeterminarquaiscamadasdevem ser extraídas e enviadasaodecodificador de vídeo 148, e quaiscamadaspodem ser omitidas.
[0293] O demultiplexador 186 podedecodificaradicionalmente um descritor de extensão de hierarquia que inclui outros dados de escalabilidade (186), ouseja, dados de escalabilidade para dimensões de escalabilidadediferentes da escalabilidade temporal. Por exemplo, tais outrasdimensões de escalabilidadepodemincluir PSNR, profundidade de bit de croma, formato de cor, formato de gama de cores, resolução espacialousimilares. O descritor de extensão de hierarquiapodeincluir o elemento de sintaxeextension_dimension_bitsdescritoacima, que geralmente indica qual dentreumapluralidade de camadas de aprimoramentoestá presentenos dados de vídeo para umacamada de base. O usodesses dados, junto aoponto de operação selecionado e os dados de ponto de operação dodescritor de extensão de HEVC, demultiplexador 138 podedeterminarquaiscamadas de escalabilidadeestão presentes e devem ser emitidas, de modo que odemultiplexador 138 podedemultiplexarapropriadamente o fluxo de bits emfluxoselementarescorrespondentes. Depois que odemultiplexador 138 demultiplexa o fluxo de bits emfluxoselementarescorrespondentes para a camada de base e camadas de aprimoramento para o ponto de operação determinado (188), o demultiplexador 138 fornece dados de vídeo dos fluxoselementares para o ponto de operação determinadoaodecodificador de vídeo 148. O decodificador de vídeo 148 podeentão decodificar a camada de base (190) e as camadas de aprimoramento (192).
[0294] Dessa maneira, o método da Figura 6 representa um exemplo de um método que incluidecodificar um descritor de extensão de hierarquia para umacamada de base que inclui dados de vídeo codificados de acordo com um padrão de codificação de vídeo, em que odescritor de extensão de hierarquiainclui dados representativos de duas oumaiscamadas de aprimoramento que dependem da camada de base, em que as duas oumaiscamadas de aprimoramentoincluemumaprimeiracamada de aprimoramento, que se conforma a umaprimeiradimensão de escalabilidade, e umasegundacamada de aprimoramento, que se conforma a umasegundadimensão de escalabilidade, e em que a primeiradimensão de escalabilidadeé diferente da segundadimensão de escalabilidade, e processaros dados de vídeo com base pelomenosempartenos dados representativos das duas oumaiscamadas de aprimoramento.
[0295] Deve ser reconhecido que, dependendo do exemplo, certosatosoueventos de quaisquerumadentre as técnicas descritas no presentedocumentopodem ser realizadosemumasequência diferente, podem ser adicionados, fundidosoudeixados de fora todosjuntos (porexemplo, nemtodososatos e eventosdescritossão necessários para a prática das técnicas). Ademais, emcertosexemplos, osatos e eventospodem ser realizados de modo concorrente, porexemplo, através de processamento de múltiplos encadeamentos, processamentointerruptoouemmúltiplos processadores, emvez de sequencialmente.
[0296] Em um oumaisexemplos, as funções descritaspodem ser implantadasem hardware, software, firmware ouqualquercombinação dos mesmos. Caso implantadoem software, as funções podem ser armazenadasoutransmitidascomoumaoumaisinstruções oucódigo emumamídia legível porcomputador e executadasporumaunidade de processamento com base em hardware. As mídias legíveis porcomputadorpodemincluirmídias de armazenamentolegíveis porcomputador, que correspondem a umamídia tangível comomídias de armazenamento de dados oumídias de comunicação que incluemqualquermídia que facilite a transferência de um programa de computadorproveniente de um lugar para outro, porexemplo, de acordo com um protocolo de comunicação. Dessa maneira, meioslegíveis porcomputador, emgeral, podemcorrespondera (1) meios de armazenamentolegíveis porcomputadortangíveis que são não transitórios ou (2) um meio de comunicação como um sinalouonda de portador. As mídias de armazenamento de dados podem ser quaisquermídias disponíveis que possam ser acessadaspor um oumaiscomputadoresou um oumaisprocessadores para recuperarinstruções, estruturas de código e/ou dados para aimplantação das técnicas descritasnestarevelação. Um produto de programa de computadorpodeincluirumamídia legível porcomputador.
[0297] A título de exemplo, e não de limitação, tais mídias de armazenamentolegíveis porcomputadorpodemcompreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco óptico, armazenamento de disco magnético ou outros dispositivos de armazenamentomagnético, ouqualquer outro meio que possa ser usado para armazenar o código de programadesejadona forma de instruções ouestruturas de dados e que possa ser acessadopor um computador. Também, qualquerconexão pode ser propriamentedenominada um meiolegível porcomputador. Por exemplo, se as instruções foremtransmitidas a partir de um sítio da web, servidorououtrafonteremota com o uso de um cabo coaxial, cabo de fibraóptica, par trançado, linha de inscrição digital (DSL) outecnologiassemfiocomoinfravermelho, rádio e micro-onda, então, o cabo coaxial, o cabo de fibraóptica, o par trançado, a DSL ou as tecnologiassemfiocomoinfravermelho, rádio e micro-ondaestão incluídos nadefinição de mídia. Deve ser entendido, entretanto, que as mídias de armazenamentolegíveis porcomputador e as mídias de armazenamento de dados não incluemconexões, ondastransportadoras, sinaisououtrasmídias transitórias, mas são, emvezdisso, direcionadas para mídias não transientes e tangíveis. Disco magnético e disco óptico, conformeusado no presentedocumento, incluem disco compacto (CD), disco laser, disco ótico, disco versátil digital (DVD), disquete e disco blu-ray, em que os discos magnéticos normalmentereproduzemos dados de modo magnético, enquantoos discos ópticos reproduzemos dados de modo óptico com lasers. As combinações dos supracitadostambém devem ser abrangidaspeloescopo de meioslegíveis porcomputador.
[0298] As instruções podem ser executadaspor um oumaisprocessadores, como um oumaisprocessadores de sinal digital (DSPs), microprocessadores para propósitos gerais, circuitosintegrados de aplicação específica (ASICs), matrizeslógicas programáveis por campo (FPGAs) ou outro conjunto de circuitoslógicos equivalentesintegradosoudiscretos. Portanto, o termo "processador", conformeusado no presentedocumentopode se referir a qualqueruma das estruturassupracitadasouqualqueroutraestruturaadequada para aimplantação das técnicas descritas no presentedocumento. Adicionalmente, emalgunsaspectos, a funcionalidadedescrita no presentedocumentopode ser fornecidadentro de módulos dedicados de hardware e/ou software configurados para criptar e decodificarouincorporadosem um codec combinado. Também, as técnicas podem ser totalmenteimplantadasem um oumaiscircuitosouelementoslógicos.
[0299] As técnicas dessa revelação podem ser implantadasemumaamplavariedade de dispositivosouaparelhos, incluindo um monofone, um circuitointegrado (IC) ou um conjunto de ICs (porexemplo, um conjunto de chips). Vários componentes, módulos ouunidadessão descritosnessarevelação para enfatizarosaspectosfuncionais dos dispositivosconfigurados para realizar as técnicas reveladas, mas não exigemnecessariamente a realização pordiferentesunidades de hardware. Emvezdisso, conformedescritoacima, várias unidadespodem ser combinadasemumaunidade de hardware de codec oufornecidasporumacoleção de unidades de hardware interoperativas, incluindo um oumaisprocessadoresconformedescritoacima, em conjunto com software e/ou firmware adequados.
[0300] Vários exemplosforamdescritos. Essas e outrasimplantações estão dentro do escopo das reivindicações a seguir.

Claims (19)

1. Método de processamento de dados de vídeo de múltiplas camadas que compreendeumaoumaisunidades de acesso, cadaunidade de acessoincluindo dados de vídeo para umaúnica instância de tempo, o método sendocaracterizadopelo fato de que compreende: decodificar (186) para uma pluralidade de pontos de operação informação de um primeiro descritor de extensão que indica uma ou mais camadas a serem incluídas para o processamento dos dados de vídeo para um respectivo ponto de operação da pluralidade de pontos de operação, onde a informação do primeiro descritor de extensão indica duas ou mais camadas de referência e uma de camada de aprimoramento a ser incluída para o processamento dos dados de vídeo para um ponto de operação de saída da pluralidade de pontos de operação; decodificar um descritor de extensão hierárquico externo a uma camada codificadora de vídeo para uma camada codificadora de vídeo e para um fluxo elementar incluindo dados de vídeo de uma camada de aprimoramento codificada de acordo com uma extensão de Codificação de Vídeo de Alta Eficiência (HEVC), onde o descritor de extensão hierárquico compreende dados de índice estendidos que definem um respectivo valor de índice numa tabela de hierarquias de camadas de codificação para cada elemento de programa de dois ou mais elementos de programa para as duas ou mais camadas de referência dos quais a camada de aprimoramento depende, onde as duas ou mais camadas de referência compreendem uma primeira camada de referência, conforme uma primeira dimensão de escalabilidade, e uma segunda camada de referência, conforme uma segunda dimensão de escalabilidade, onde pelo menos uma imagem de aprimoramento da camada de aprimoramento é prevista de uma primeira imagem de referência da primeiracamada de referência, e umasegundaimagem de referência da segundacamada de referência, e onde a camada de codificação de vídeo inclui a pelomenosumaimagem de aprimoramento, a primeiraimagem de referência e a segundaimagem de referência; em que pelomenosumadentre a primeira e a segundadimensões de escalabilidadeé: umadimensão de escalabilidade de razão de sinal de pico para ruído (PSNR), umadimensão de escalabilidade de profundidade de bit de croma, umadimensão de escalabilidade de formato de cor, umadimensão de escalabilidade de formato de gama de cores, umadimensão de vista, ouumadimensão de escalabilidade de resolução espacial; e processar (188) os dados de vídeo com base, pelomenosemparte, nainformação doprimeirodescritor de extensão e os dados de índice estendidos, onde o processamentocompreende: determinar o ponto de operação de saída ser a saída baseadanainformação doprimeirodescritor de extensão, e demultiplexar um fluxo de bits emfluxoselementaresbaseados no ponto de operação de saída, ainformação doprimeirodescritor de extensão e os dados de índice estendidos.
2. Método, de acordo com a reivindicação 1, caracterizadopelo fato de que decodificar o descritor de extensão hierárquico compreende decodificar uma pluralidade de bits de escalabilidade sendo que cada um corresponde a uma respectiva dentre uma pluralidade de camadas de aprimoramento, em que os valores para cada um dos bits de escalabilidade indicam se a camada de aprimoramento respectiva está incluída no fluxo elementar.
3. Método, de acordo com a reivindicação 1, caracterizadopelo fato de que compreende adicionalmente decodificar um valor para uma extensão de codificação de vídeo de alta eficiência (HEVC) presente no elemento de sintaxe de um descritor de vídeo HEVC, onde o elemento de sintaxe presente na extensão HEVC indica se um descritor de extensão HEVC está presente como parte de um descritor HEVC.
4. Método, de acordo com a reivindicação 1, caracterizadopelo fato de que a decodificação da informação do primeiro descritor de extensão compreende decodificar, para cada um da pluralidade de pontos de operação, informação de um descritor de extensão de codificação de vídeo de alta eficiência (HEVC) representativo de camadas necessárias para a saída do ponto de operação.
5. Método, de acordo com a reivindicação 1, caracterizadopelo fato de que adicionalmente compreende decodificar um descritor hierárquico incluindo dados representativos para sub-camadas temporais da camada de aprimoramento, onde o descritor hierárquico de extensão não inclui dados representativos de sub-camadas temporais da camada de aprimoramento.
6. Método, de acordo com a reivindicação 1, caracterizadopelo fato de que decodificar o descritor de extensão hierárquico compreende decodificar uma pluralidade de identificadores de camadas quando os dados de vídeo contêm camadas múltiplas.
7. Método, de acordo com a reivindicação 1, caracterizadopelo fato de que decodificar o descritor de extensão hierárquico compreende decodificar informações indicativas de uma ou mais camadas e índices para fluxos elementares que correspondem a uma dentre as uma ou mais camadas.
8. Método de acordo com a reivindicação 1, caracterizadopelo fato de que decodificar o descritor de extensão hierárquico compreende decodificar uma parte do descritor de extensão hierárquico de acordo com o padrão de sistemas MPEG-2.
9. Método de acordo com a reivindicação 1, caracterizadopelo fato de que o processamento compreende demultiplexar a camada de aprimoramento e as camadas de referência com base, pelo menos em parte, nos dados de índices de extensão.
10. Método, de acordo com a reivindicação 1, caracterizadopelo fato de que o processamento compreende: determinar pelo menos um da primeira camada de referência ou da segunda camada de referência que deve ser emitida, com base no ponto de operação de saída.
11. Dispositivo (14, 140) para processar dados de vídeo de múltiplas camadas que compreende uma ou mais unidades de acesso, cada unidade de acesso incluindo dados de vídeo para uma única instância de tempo, o dispositivo sendo caracterizadopelo fato de que compreende: uma memória para armazenar dados de vídeo de camada de aprimoramento codificados de acordo com uma extensão de Codificação de Vídeo de Alta Eficiência (HEVC); e um ou mais processadores configurados para: decodificar (186) para uma pluralidade de pontos de operação informação de um primeiro descritor de extensão que indica uma ou mais camadas a serem incluídas para o processamento dos dados de vídeo para um respectivo ponto de operação da pluralidade de pontos de operação, onde a informação do primeiro descritor de extensão indica duas ou mais camadas de referência e uma de camada de aprimoramento a ser incluída para o processamento dos dados de vídeo para um ponto de operação de saída da pluralidade de pontos de operação; decodificar um descritor de extensão hierárquico externo a umacamadacodificadora de vídeo para umacamadacodificadora de vídeo e para um fluxoelementarincluindo a camada de aprimoramento, onde o descritor de extensão hierárquico compreende dados de índice estendidos que definem um respectivo valor de índice numatabela de hierarquias de camadas de codificação para cadaelemento de programa de doisoumaiselementos de programa para as duas oumaiscamadas de referência dos quais a camada de aprimoramentodepende, onde as duas oumaiscamadas de referência compreendemumaprimeiracamada de referência, conformeumaprimeiradimensão de escalabilidade, e umasegundacamada de referência, conformeumasegundadimensão de escalabilidade, ondepelomenosumaimagem de aprimoramento da camada de aprimoramentoé prevista de umaprimeiraimagem de referência da primeiracamada de referência, e umasegundaimagem de referência da segundacamada de referência, e onde a camada de codificação de vídeo inclui a pelomenosumaimagem de aprimoramento, a primeiraimagem de referência e a segundaimagem de referência; em que pelomenosumadentre a primeira e a segundadimensões de escalabilidadeé: umadimensão de escalabilidade de razão de sinal de pico para ruído (PSNR), umadimensão de escalabilidade de profundidade de bit de croma, umadimensão de escalabilidade de formato de cor, umadimensão de escalabilidade de formato de gama de cores, umadimensão de vista, ouumadimensão de escalabilidade de resolução espacial; e processar (188) os dados de vídeo com base, pelomenosemparte, nainformação doprimeirodescritor de extensão e o índice de extensão, onde, a fim de processaros dados de vídeo, os um oumaisprocessadoressão configurados para: determinar o ponto de operação de saída com base nainformação doprimeirodescritor de extensão, e demultiplexar um fluxo de bits emfluxoselementaresbaseados no ponto de operação de saída, nainformação doprimeirodescritor de extensão e nos dados de índice estendidos.
12. Dispositivo, de acordo com a reivindicação 11, caracterizadopelo fato de que os um ou mais processadores são configurados para decodificar uma pluralidade de bits de escalabilidade sendo que cada um corresponde a uma respectiva dentre uma pluralidade de camadas de aprimoramento, em que os valores para cada um dos bits de escalabilidade indicam se a camada de aprimoramento respectiva está incluída no fluxo elementar.
13. Dispositivo, de acordo com a reivindicação 11, caracterizadopelo fato de que os um ou mais processadores são configurados para decodificar um valor para uma codificação de vídeo de alta eficiência (HEVC) presente no elemento de sintaxe de um descritor de vídeo HEVC, onde o elemento de sintaxe presente na extensão HEVC indica se um descritor de extensão HEVC está presente como parte de um descritor HEVC.
14. Dispositivo, de acordo com a reivindicação 11, caracterizadopelo fato de que, a fim de decodificar a informação do primeiro descritor de extensão, os um ou mais processadores são configurados para decodificar, para cada um da pluralidade de pontos de operação, informação de um descritor de extensão de codificação de vídeo de alta eficiência (HEVC) representativo das camadas necessárias para saída para o ponto de operação.
15. Dispositivo de acordo com a reivindicação 11, caracterizadopelo fato de que os um ou mais processadores são configurados para decodificar um descritor hierárquico que inclui dados representativos indicativos de subcamadas temporais da camada de aprimoramento, em que o primeiro descritor não inclui dados representativos de subcamadas temporais da camada de aprimoramento.
16. Dispositivo de acordo com a reivindicação 11, caracterizadopelo fato de que os um ou mais processadores são configurados para decodificar uma pluralidade de identificadores de camadas quando os dados de vídeo contêm camadas múltiplas.
17. Dispositivo de acordo com a reivindicação 11, caracterizadopelo fato de que os um ou mais processadores são configurados para decodificar informação indicativa de uma ou mais camadas e índices para fluxos elementares correspondendo a uma das uma ou mais camadas.
18. Dispositivo de acordo com a reivindicação 11, caracterizadopelo fato de que os um ou mais processadores são configurados para demultiplexar a camada de aprimoramento e as camadas de referência com base em pelo menos parcialmente uma das uma ou mais camadas.
19. Dispositivo de acordo com a reivindicação 11, caracterizadopelo fato de que o dispositivo compreende: um circuito integrado; um microprocessador; ou um dispositivo de comunicação sem fio.
BR112016008953-7A 2013-10-23 2014-10-23 Condução de dados de fluxo de bits com extensão- padrão de codificação de vídeo com o uso de sistemas de mpeg-2 BR112016008953B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US61/894,829 2013-10-23
US14/520,562 2014-10-22

Publications (1)

Publication Number Publication Date
BR112016008953B1 true BR112016008953B1 (pt) 2023-09-05

Family

ID=

Similar Documents

Publication Publication Date Title
KR102315232B1 (ko) Mpeg-2 시스템들을 이용한 비디오 코딩 표준 확장 비트스트림 데이터의 캐리지
US10306269B2 (en) Operation point for carriage of layered HEVC bitstream
CA2932442C (en) Carriage of hevc extension bitstreams and buffer model with mpeg-2 systems
KR20180113584A (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
BR112016008374B1 (pt) Suporte de extração em múltiplos modos para codecs de vídeo de múltiplas camadas
BR112016007916B1 (pt) Sinalização para armazenamento temporário de figuração subdecodificada (sub-dpb) com base em operações de dpb em codificação de vídeo
WO2013019811A1 (en) Coding parameter sets for various dimensions in video coding
BR112016008224B1 (pt) Escalabilidade de gama de cores com base em tabela de pesquisa tridimensional em codificação de vídeo de múltiplas camadas
ES2903013T3 (es) Capas de referencia de señalización para la predicción del color 3D para la escalabilidad de la gama de color
JP6452798B2 (ja) ビデオコーディング拡張の搬送のためのトランスポートストリーム
BR112016008953B1 (pt) Condução de dados de fluxo de bits com extensão- padrão de codificação de vídeo com o uso de sistemas de mpeg-2
BR112017007298B1 (pt) Método e dispositivo para processamento de um fluxo de bits incluindo dados de vídeo de codificação de vídeo de alta eficiência, hevc, e memória legível por computador
CN116601963A (zh) 生成/接收包括nal单元阵列信息的媒体文件的方法和装置及发送媒体文件的方法