BR122012013078B1 - Método para processamento de codificação de vídeo de múltiplas vistas - Google Patents

Método para processamento de codificação de vídeo de múltiplas vistas Download PDF

Info

Publication number
BR122012013078B1
BR122012013078B1 BR122012013078-8A BR122012013078A BR122012013078B1 BR 122012013078 B1 BR122012013078 B1 BR 122012013078B1 BR 122012013078 A BR122012013078 A BR 122012013078A BR 122012013078 B1 BR122012013078 B1 BR 122012013078B1
Authority
BR
Brazil
Prior art keywords
sps
layer
encoding
unit
nal
Prior art date
Application number
BR122012013078-8A
Other languages
English (en)
Other versions
BR122012013078A2 (pt
Inventor
Linhua Zhu
Jiancong Luo
Peng Yin
Jiheng Yang
Original Assignee
Dolby International Ab
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
Priority claimed from US11/824,006 external-priority patent/US20090003431A1/en
Application filed by Dolby International Ab filed Critical Dolby International Ab
Publication of BR122012013078A2 publication Critical patent/BR122012013078A2/pt
Publication of BR122012013078B1 publication Critical patent/BR122012013078B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

método para processamento de codificação de vídeo de múltiplas vistas. em uma implementação, uma estrutura de conjunto de parâmetros de sequência suplementar ("sps") é fornecida que tem seu próprio tipo de unidade de camada de abstração de rede ("nal") e permite a transmissão de parâmetros dependentes de camada para camadas não base em um ambiente svc. a estrutura sps suplementar pode ser utilizada também para visualizar informações em um ambiente mvc. em um aspecto geral, uma estrutura é fornecida que inclui (1) informações (1410) a partir de uma unidade nal sps, as informações descrevendo um parâmetro para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens, e (2) informações (1420) a partir de uma unidade nal sps suplementar tendo uma estrutura diferente da unidade nal sps, e as informações a partir da unidade nal sps suplementar descrevendo um parâmetro para uso na decodificação de uma codificação de segunda camada da sequência de imagens. métodos e aparelhos associados são fornecidos nos lados de codificador e decodificador, bem com para o sinal.

Description

Dividido do PI 0810366-6, depositado em 07/04/2008. Referência remissiva a pedidos relacionados
Esse pedido reivindica o benefício de cada um de e pelo presente incorpora a título de referência para todas as finalidades na íntegra cada um de: (1) pedido provisional US número de série 60/923.993, intitulado “Supplemental Sequence parameter set for scalable video coding ou multi-view view coding,” e depositado em 18 de abril de 2007 (número de referência do advogado PU070101) e (2) pedido de patente US número de série 11/824.006, intitulado “Supplemental sequence parameter set for scalable video coding or multi-view video coding,” e depositado em 28 de junho de 2007 (número de referência do advogado PA070032).
Campo técnico
Pelo menos uma implementação refere-se à codificação e decodificação de dados de vídeo em um modo escalonável.
Antecedentes
A codificação de dados de vídeo, de acordo com várias camadas, pode ser útil quando terminais para os quais os dados são destinados, têm capacidades diferentes e portanto não decodificam um fluxo total de dados porém somente parte de um fluxo total de dados. Quando os dados de vídeo são codificados de acordo com várias camadas em um modo escalonável, o terminal de recepção pode extrair do fluxo de bits recebido uma porção dos dados, de acordo com o perfil do terminal. Um fluxo total de dados também pode transmitir informações overhead para cada camada suportada, para facilitar decodificação de cada uma das camadas em um terminal.
Sumário
De acordo com um aspecto geral, informações são acessadas a partir de uma unidade de camada de abstração de rede (“NAL”) de conjunto de parâmetros de sequência (“SPS”). As informações descrevem um parâmetro para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. Informações também são acessadas a partir de uma unidade NAL SPS suplementar tendo uma estrutura diferente da unidade NAL SPS. As informações da unidade NAL SPS suplementar descrevem um parâmetro para uso na decodificação de codificação de uma segunda camada da sequência de imagens. Uma decodificação da sequência de imagens é gerada com base na codificação de primeira camada, codificação de segunda camada, as informações acessadas a partir da unidade NAL SPS, e as informações acessadas a partir da unidade NAL SPS suplementar.
De acordo com outro aspecto geral, uma estrutura de sintaxe é utilizada que provê decodificação de uma sequência de imagens em múltiplas camadas. A estrutura de sintaxe inclui sintaxe para uma unidade NAL SPS que inclui informações descrevendo um parâmetro para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. A estrutura de sintaxe também inclui sintaxe para uma unidade NAL SPS suplementar tendo uma estrutura diferente da unidade NAL SPS. A unidade NAL SPS suplementar inclui informações que descrevem um parâmetro para uso na decodificação de codificação de uma segunda camada da sequência de imagens. Uma decodificação da sequência de imagens pode ser gerada com base na codificação de primeira camada, codificação de segunda camada, informações a partir da unidade NAL SPS, e informações a partir da unidade NAL SPS suplementar.
De acordo com outro aspecto geral, um sinal é formatado para incluir informações a partir de uma unidade NAL SPS. As informações descrevem um parâmetro para uso na de-codificação de uma codificação de primeira camada de uma sequência de imagens. O sinal é adicionalmente formatado para incluir informações a partir de uma unidade NAL SPS su-plementar tendo uma estrutura diferente da unidade NAL SPS. As informações a partir da unidade NAL SPS suplementar descrevem um parâmetro para uso na decodificação de uma codificação de segunda camada da sequência de imagens.
De acordo com outro aspecto geral, uma unidade NAL SPS é gerada que inclui in-formações descrevendo um parâmetro para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. Uma unidade NAL SPS suplementar é gerada que tem uma estrutura diferente da unidade NAL SPS. A unidade NAL SPS suplementar inclui informações que descrevem um parâmetro para uso na decodificação de uma codificação de segunda camada da sequência de imagens. Um conjunto de dados é fornecido que inclui a codificação de primeira camada da sequência de imagens, a codificação de segunda camada da sequência de imagens, a unidade NAL SPS, e a unidade NAL SPS.
De acordo com outro aspecto geral, uma estrutura de sintaxe é utilizada que provê codificação de uma sequência de imagens em múltiplas camadas. A estrutura de sintaxe inclui sintaxe para uma unidade NAL SPS. A unidade NAL SPS inclui informações que descrevem um parâmetro para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. A estrutura de sintaxe inclui sintaxe para uma unidade NAL SPS suplementar. A unidade NAL SPS suplementar tem uma estrutura diferente da unidade NAL SPS. A unidade NAL SPS suplementar inclui informações que descrevem um parâmetro para uso na decodificação de uma codificação de segunda camada da sequência de imagens. Um conjunto de dados pode ser fornecido que inclui a codificação de primeira camada da sequência de imagens, a codificação de segunda camada da sequência de imagens, a unidade NAL SPS, e a unidade NAL SPS suplementar.
De acordo com outro aspecto geral, as informações dependentes de primeira camada são acessadas em um primeiro conjunto de parâmetros normativos. As informações dependentes de primeira camada acessadas são para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. As informações dependentes de segunda camada são acessadas em um segundo conjunto de parâmetros normativos. O segundo conjunto de parâmetros normativos tem uma estrutura diferente do primeiro conjunto de parâmetros normativos. As informações dependentes de segunda camada acessadas são para uso na decodificação de uma codificação de segunda camada da sequência de imagens. A sequência de imagens é decodificada com base em uma ou mais das informações dependentes de primeira camada acessadas ou informações dependentes de segunda camada acessadas.
De acordo com outro aspecto geral, um primeiro conjunto de parâmetros normativos é gerado que inclui informações dependentes de primeira camada. As informações dependentes de primeira camada são para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. Um segundo conjunto de parâmetros normativo é gerado tendo uma estrutura diferente do primeiro conjunto de parâmetros normativos. O segundo conjunto de parâmetros normativos inclui informações dependentes de segunda camada para uso na decodificação de uma codificação de segunda camada da sequência de imagens. Um conjunto de dados é fornecido que inclui o primeiro conjunto de parâmetros normativos e o segundo conjunto de parâmetros normativos.
Os detalhes de uma ou mais implementações são expostos nos desenhos em anexo e descrição abaixo. Mesmo se descrito em um modo específico, deve ser evidente que implementações podem ser configuradas ou incorporadas de várias maneiras. Por exemplo, uma implementação pode ser executada como um método, ou incorporada como um aparelho como, por exemplo, um aparelho configurado para executar um conjunto de operações ou um aparelho que armazena instruções para executar um conjunto de operações, ou incorporado em um sinal. Outros aspectos e características tornar-se-ão evidentes a partir da seguinte descrição detalhada considerada em combinação com os desenhos em anexo e reivindicações.
Breve descrição dos desenhos
A figura 1 é um diagrama de blocos para uma implementação de um codificador.
A figura 1a é um diagrama de blocos para outra implementação de um codificador. A figura 2 é um diagrama de blocos para uma implementação de um decodificador.
A figura 2a é um diagrama de blocos para outra implementação de um decodificador.
A figura 3 é uma estrutura de uma implementação de uma unidade de Camada de abstração de rede (“NAL”) de conjunto de parâmetros de sequência de camada única (“SPS”).
A figura 4 é uma vista de bloco de um exemplo de porções de um fluxo de dados que ilustra uso de uma unidade NAL SPS.
A figura 5 é uma estrutura de uma implementação de uma unidade NAL SPS su-plementar (“SPS SUP”).
A figura 6 é uma implementação de uma hierarquia organizacional entre uma unidade SPS e múltiplas unidades SPS SUP.
A figura 7 é uma estrutura de outra implementação de uma unidade NAL SPS SUP.
A figura 8 é uma vista funcional de uma implementação de um codificador de vídeo escalonável que gera unidades SPS SUP.
A figura 9 é uma vista hierárquica de uma implementação da geração de um fluxo de dados que contém unidades SPS SUP.
A figura 10 é uma vista de blocos de um exemplo de um fluxo de dados gerado pela implementação da figura 9.
A figura 11 é um diagrama de blocos de uma implementação de um codificador.
A figura 12 é um diagrama de blocos de outra implementação de um codificador.
A figura 13 é um fluxograma de uma implementação de um processo de codificação utilizado pelos codificadores das figuras 11 ou 12.
A figura 14 é uma vista de blocos de um exemplo de um fluxo de dados gerado pelo processo da figura 13.
Afigura 15 é um diagrama de blocos de uma implementação de um decodificador.
Afigura 16 é um diagrama de blocos de outra implementação de um decodificador.
A figura 17 é um fluxograma de uma implementação de um processo de decodificação utilizado pelos decodificadores das figuras 15 ou 16.
Descrição detalhada
Vários padrões de codificação de vídeo existem atualmente que podem codificar dados de vídeo de acordo com diferentes camadas e/ou perfis. Entre eles, pode-se citar H.264/MPEG-4 AVC (o “padrão AVC”) também referenciado como a recomendação H.264 da International Organization for Standardization/lnternational Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4) parte 10 padrão Advanced Video Coding (AVC)Zlnternational Telecommunication Union, Telecommunication Sector (ITU-T). Adi- cionalmente, extensões do padrão AVC existem. Uma primeira tal extensão é uma extensão de codificação de vídeo escalonável (“SVC”) (Anexo G) mencionada como extensão de codi-ficação de vídeo escalonável, H.264/MPEG-4 AVC (a “extensão SVC”). Uma segunda tal extensão é uma extensão de codificação de vídeo de múltiplas vistas (“MVC”)(Anexo H) mencionado como extensão MVC, H.264/MPEG-4 AVC (a “extensão MVC”).
Pelo menos uma implementação descrita nessa revelação pode ser utilizada com o padrão AVC bem como as extensões MVC e SVC. A implementação provê uma unidade de camada de abstração de rede (“NAL”) de conjunto de parâmetros de sequência (“SPS”) su- plementar (“SUP”) tendo um tipo de unidade NAL diferente das unidades NAL SPS. Uma unidade SPS inclui, tipicamente, porém não necessita, informações para pelo menos uma camada única. Além disso, a unidade NAL SPS SUP inclui informações dependentes de camada para pelo menos uma camada adicional. Desse modo, por acessar unidades SPS SUP e SPS, um decodificador tem certas informações dependentes de camada (e tipicamente todas) disponíveis necessárias para decodificar um fluxo de bits.
Utilizando essa implementação em um sistema AVC, as unidades NAL SPS SUP não necessitam ser transmitidas, e uma unidade NAL SPS de camada única (como descrito abaixo) pode ser transmitida. Utilizando essa implementação em um sistema SVC (ou MVC), a(s) unidade(s) NAL SPS SUP podem ser transmitidas para as camadas (ou vistas) adicionais desejadas, além de uma unidade NAL SPS. Utilizando essa implementação em um sistema que inclui tanto decodificadores compatíveis com AVC como decodificadores compatíveis com SVC (ou compatíveis com MVC), os decodificadores compatíveis com AVC podem ignorar as unidades NAL SPS SUP por detectar o tipo de unidade NAL. Em cada caso, eficiência e compatibilidade são obtidas.
A implementação acima também provê benefícios para sistemas (padrões ou de outro modo) que impõem uma exigência de que certas camadas compartilhem informações de cabeçalho, como, por exemplo, um SPS ou informação específica tipicamente contida em um SPS. Por exemplo, se uma camada base e suas camadas temporais compósitas necessitarem compartilhar um SPS, então as informações dependentes de camada não podem ser transmitidas com o SPS compartilhado. Entretanto, o SPS SUP provê um mecanismo para transmitir as informações dependentes de camada.
O SPS SUP de várias implementações também fornece uma vantagem de eficiência em que o SPS SUP não necessita incluir, e portanto repetir, todos os parâmetros no SPS. O SPS SUP será tipicamente focalizado nos parâmetros dependentes de camada. Entretanto, várias implementações incluem uma estrutura SPS SUP que inclui parâmetros não dependentes de camada, ou mesmo repete tudo de uma estrutura SPS.
Várias implementações se referem à extensão SVC. A extensão SVC propõe a transmissão de dados de vídeo de acordo com vários níveis espaciais, níveis temporais, e níveis de qualidade. Para um nível espacial, pode-se codificar de acordo com vários níveis temporais, e para cada nível temporal de acordo com vários níveis de qualidade. Portanto, quando são definidos m níveis espaciais, n níveis temporais, e 0 níveis de qualidade, os dados de vídeo podem ser codificados de acordo com combinações diferentes m*n*0. Essas combinações são mencionadas como camadas, ou como pontos de interoperabilidade (“IOPS”). De acordo com as capacidades do decodificador (também mencionado como o receptor do cliente), diferentes camadas podem ser transmitidas até uma certa camada que corresponde ao máximo das capacidades do cliente.
Como utilizado aqui, informações “dependentes de c,amada” se referem a informações que se referem especificamente a uma camada única. Isto é, como o nome sugere, as informações dependem da camada específica. Tais informações não necessitam variar ne-cessariamente de camada para camada, porém seriam tipicamente fornecidas separadamente para cada camada.
Como utilizado aqui, “sintaxe de nível elevado” se refere à sintaxe presente no fluxo de bits que reside hierarquicamente acima da camada de macroblocos. Por exemplo, sintaxe de nível elevado, como utilizado aqui, pode se referir a, porém não é limitado a, sintaxe no nível de cabeçalho de fatia, nível de informações de Intensificação suplementar (SEI), nível de Conjunto de Parâmetros de imagem (PPS), nível de Conjunto de parâmetros de sequência (SPS) e nível de cabeçalho de unidade de Camada de abstração de rede (NAL).
Com referência à figura 1, um codificador SVC exemplar é indicado genericamente pelo numeral de referência 100. O codificador SVC 100 também pode ser utilizado para co-dificação AVC, isto é, para uma camada única (por exemplo, camada base). Além disso, o codificador SVC 100 pode ser utilizado para codificação MVC como uma pessoa com co-nhecimentos na técnica reconhecerá. Por exemplo, vários componentes do codificador SVC 100, ou variações desses componentes, podem ser utilizados na codificação de múltiplas vistas.
Uma primeira saída de um módulo de decomposição temporal 142 é conectada em comunicação de sinal com uma primeira entrada de uma intrapredição para módulo de in-trabloco 146. Uma segunda saída do módulo de decomposição temporal 142 é conectada em comunicação de sinal com uma primeira entrada de um módulo de codificação de movimento 144. Uma saída da intrapredição para módulo de intrabloco 146 é conectada em comunicação de sinal com uma entrada de um codificador de entropia/transformação (relação de sinal para ruído (SNR) escalonável) 149. Uma primeira saída do codificador de entropia/transformação 149 é conectada em comunicação de sinal com uma primeira entrada de um multiplexor 170.
Uma primeira saída de um módulo de decomposição temporal 132 é conectada em comunicação de sinal com uma primeira entrada de uma intrapredição para módulo de in-trabloco 146. Uma segunda saída do módulo de decomposição temporal 132 é conectada em comunicação de sinal com uma primeira entrada de um módulo de codificação de movimento 134. Uma saída da intrapredição para módulo de intrabloco 136 é conectada em comunicação de sinal com uma entrada de um codificador de entropia/transformação (relação de sinal para ruído (SNR) escalonável) 139. Uma primeira saída do codificador de entropia/transformação 139 é conectada em comunicação de sinal com uma primeira entrada de um multiplexor í 70.
Uma segunda saída do codificador de entropia/transformação 149 é conectada em comunicação de sinal com uma entrada de um módulo de interpolação espacial 2D 138. Uma saída de módulo de interpolação espacial 2D 138 é conectada em comunicação de sinal com uma segunda entrada da intrapredição para módulo de intrabloco 136. Uma segunda saída do módulo de codificação de movimento 144 é conectada em comunicação de sinal com uma entrada do módulo de codificação de movimento 134.
Uma primeira saída de um módulo de decomposição temporal 122 é conectada em comunicação de sinal com uma primeira entrada de um meio de intrapredição 126. Uma segunda saída do módulo de decomposição temporal 122 é conectada em comunicação de sinal com uma primeira entrada de um módulo de codificação de movimento 124. Uma saída do intrapreditor 126 é conectada em comunicação de sinal com uma entrada de um codificador de entropia/transformação (relação de sinal para ruído (SNR) escalonável) 129. Uma saída do codificador de entropia/transformação 129 é conectada em comunicação de sinal com uma primeira entrada de um multiplexor 170.
Uma segunda saída do codificador de entropia/transformação 139 é conectada em comunicação de sinal com uma entrada de um módulo de interpolação espacial 2D 128. Uma saída de módulo de interpolação espacial 2D 128 é conectada em comunicação de sinal com uma segunda entrada do módulo intrapreditor 126. Uma segunda saída do módulo de codificação de movimento 134 é conectada em comunicação de sinal com uma entrada do módulo de codificação de movimento 124.
Uma primeira saída do módulo de codificação de movimento 124, uma primeira saída do módulo de codificação de movimento 134, e uma primeira saída do módulo de codificação de movimento 144 são individualmente conectadas em comunicação de sinal com uma segunda entrada do multiplexor 170.
Uma primeira saída de um módulo de decimação espacial 2D 104 é conectado em comunicação de sinal com uma entrada do módulo de decomposição temporal 132. Uma segunda saída do módulo de decimação espacial 2D 104 é conectada em comunicação de sinal com uma entrada do módulo de decomposição temporal 142.
Uma entrada do módulo de decomposição temporal 122 e uma entrada do módulo de decimação espacial 2D 104 são disponíveis como entradas do codificador 100, para receber vídeo de entrada 102.
Uma saída do multiplexor 170 é disponível como uma saída do codificador 100, para fornecer um fluxo de bits 180.
O módulo de decomposição temporal 122, o módulo de decomposição temporal 132, o módulo de decomposição temporal 142, o módulo de codificação de movimento 124, o módulo de codificação de movimento 134, o módulo de codificação de movimento 144, o intrapreditor 126, o intrapreditor 136, o intrapreditor 146, o codificador de entropia/transformação 129, o codificador de entropia/transformação 139, o codificador de entro- pia/transformação 149, o módulo de interpolação espacial 2D 128, e o módulo de interpolação espacial 2D 138 são incluídos em uma porção de codificador de núcleo 187 do codificador 100.
A figura 1 inclui três codificadores de núcleo 187. Na implementação mostrada, o codificador de núcleo mais inferior 187 pode codificar uma camada base, com os codificadores de núcleo médio e superior 187 codificando camadas mais elevadas.
Voltando para a figura 2, um decodificador SVC exemplar é indicado genericamente pelo numeral de referência 200. O decodificador SVC 200 também pode ser utilizado para decodificação AVC, isto é, para uma vista única. Além disso, o decodificador SVC 200 pode ser utilizado para decodificação de MVC como uma pessoa com conhecimentos comuns na técnica reconhecerá. Por exemplo, vários componentes do decodificador de SVC 200, ou variações desses componentes, podem ser utilizados na decodificação de múltiplas vistas.
Observe que o codificador 100 e decodificador 200, bem como outros codificadores e decodificadores discutidos nessa revelação, podem ser configurados para executar vários métodos mostrados em toda essa revelação. Além de executar operações de codificação, os codificadores descritos nessa revelação podem executar várias operações de decodificação durante um processo de reconstrução para espelhar as ações esperadas de um decodificador. Por exemplo, um codificador pode decodificar unidades SPS SUP para decodificar dados de vídeo codificados para produzir uma reconstrução dos dados de vídeo codificados para uso na previsão de dados de vídeo adicionais. Consequentemente, um codificador pode executar substancialmente todas as operações que são executadas por um decodificador.
Uma entrada de um demultiplexor 202 é disponível como uma entrada para o deco-dificador de vídeo escalonável 200, para receber um fluxo de bits escalonável. Uma primeira saída do demultiplexor 202 é conectada em comunicação de sinal com uma entrada de um decodificador de entropia escalonável SNR de transformada inversa especial, 204. Uma primeira saída do decodificador de entropia escalonável SNR de transformada inversa espacial 204 é conectada em comunicação de sinal com uma primeira entrada de um módulo de predição 206. Uma saída do módulo de predição 206 é conectada em comunicação de sinal com uma primeira entrada de um combinador 230.
Uma segunda saída do decodificador de entropia escalonável SNR de transformada inversa espacial 204 é conectada em comunicação de sinal com uma primeira entrada de um decodificador de vetor de movimento (MV) 210. Uma saída do decodificador de MV 210 é conectada em comunicação de sinal com uma entrada de um compensador de movimento 232. Uma saída do compensador de movimento 232 é conectada em comunicação de sinal com uma segunda entrada do combinador 230.
Uma segunda saída do demultiplexor 202 é conectada em comunicação de sinal com uma entrada de um decodificador de entropia escalonável SNR de transformada inversa espacial 212. Uma primeira saída do decodificador de entropia escalonável SNR de transformada inversa espacial 212 é conectada em comunicação de sinal com uma primeira entrada de um módulo de predição 214. Uma primeira saída do módulo de predição 214 é conectada em comunicação de sinal com uma entrada de um módulo de interpolação 216. Uma saída do módulo de interpolação 216 é conectada em comunicação de sinal com uma segunda entrada do módulo de predição 206. Uma segunda saída do módulo de predição 214 é conectada em comunicação de sinal com uma primeira entrada de um combinador 240.
Uma segunda saída do decodificador de entropia escalonável SNR de transformada inversa espacial 212 é conectada em comunicação de sinal com uma primeira entrada de um decodificador MV 220. Uma primeira saída do decodificador MV 220 é conectada em comunicação de sinal com uma segunda entrada do decodificador MV 210. Uma segunda saída do decodificador MV 220 é conectada em comunicação de sinal com uma entrada de um compensador de movimento 242. Uma saída do compensador de movimento 242 é conectada em comunicação de sinal com uma segunda entrada do combinador 240.
Uma terceira saída do demultiplexor 202 é conectada em comunicação de sinal com uma entrada de um decodificador de entropia escalonável SNR de transformàda inversa espacial 222. Uma primeira saída do decodificador de entropia escalonável SNR de transformada inversa espacial 222 é conectada em comunicação de sinal com uma entrada de um módulo de predição 224. Uma primeira saída do módulo de predição 224 é conectada em comunicação de sinal com uma entrada de um módulo de interpolação 226. Uma saída do módulo de interpolação 226 é conectado em comunicação de sinal com uma segunda entrada do módulo de predição 214.
Uma segunda saída do módulo de predição 224 é conectado em comunicação de sinal com uma primeira entrada de um combinador 250. Uma segunda saída do decodificador de entropia escalonável SNR de transformada inversa espacial 222 é conectado em comunicação de sinal com uma entrada do decodificador MV 230. Uma primeira saída do decodificador MV 230 é conectada em comunicação de sinal com uma segunda entrada do decodificador MV 220. Uma segunda saída do decodificador MV 230 é conectada em comunicação de sinal com uma entrada de um compensador de movimento 252. Uma saída do compensador de movimento 252 é conectada em comunicação de sinal com uma segunda entrada do combinador 250.
Uma saída do combinador 250 é disponível como uma saída do decodificador 200, para transmitir um sinal de camada 0. Uma saída do combinador 240 é disponível como uma saída do decodificador 200, para transmitir um sinal de camada 1. Uma saída do combinador 230 é disponível como uma saída do decodificador 200, para transmitir um sinal de camada 2.
Com referência à figura 1a, um codificador AVC exemplar é indicado genericamente pelo numeral de referência 2100. O codificador AVC 2100 pode ser utilizado, por exemplo, para codificar uma camada única (por exemplo, camada base).
O codificador de vídeo 2100 inclui um armazenamento intermediário de ordenação de quadro 2110 tendo uma saída em comunicação de sinal com uma entrada de não inversão de um combinador2185. Uma saída do combinador2185 é conectada em comunicação de sinal com uma primeira entrada de um transformador e quantizador 2125. Uma saída do transformador e quantizador 2125 é conectada em comunicação de sinal com uma primeira entrada de um codificador de entropia 2145 e uma primeira entrada de um transformador inverso e quantizador inverso 2150. Uma saída do codificador de entropia 2145 é conectado em comunicação de sinal com uma primeira entrada de não inversão de um combinador 2190. Uma saída do combinador 2190 é conectada em comunicação de sinal com uma primeira entrada de um armazenamento intermediário de saída 2135.
Uma primeira saída de um controlador de codificador 2105 é conectada em comunicação de sinal com uma segunda entrada do armazenamento intermediário de ordenação de quadro 2110, uma segunda entrada do transformador inverso e quantizador inverso 2150, uma entrada de um módulo de decisão do tipo de imagem 2115, uma entrada de um módulo de decisão do tipo macrobloco (tipo MB) 2120, uma segunda entrada de um módulo de intrapredição 2160, uma segunda entrada de um filtro de desbloqueio 2165, uma primeira entrada de um compensador de movimento 2170, uma primeira entrada de um estimador de movimento 2175, e uma segunda entrada de um armazenamento intermediário de imagem de referência 2180.
Uma segunda saída do controlador de codificador 2105 é conectada em comunicação de sinal com uma primeira entrada de um inseridor de Informação de Intensificação suplementar (“SEI”) 2130, uma segunda entrada do transformador e quantizador 2125, uma segunda entrada do codificador de entropia 2145, uma segunda entrada do armazenamento intermediário de saída 2135, e uma entrada do inseridor de Conjunto de parâmetros de sequência (SPS) e Conjunto de parâmetros de imagem (PPS) 2140.
Uma primeira saída do módulo de decisão do tipo de imagem 2115 é conectada em comunicação de sinal com uma terceira entrada de um armazenamento intermediário de ordenação de quadro 2110. Uma segunda saída do módulo de decisão do tipo de imagem 2115 é conectada em comunicação de sinal com uma segunda entrada de um módulo de decisão do tipo de macrobloco 2120.
Uma saída do inseridor de Conjunto de parâmetros de sequência (“SPS”) e Conjunto de parâmetros de imagem (“PPS”) 2140 é conectado em comunicação de sinal com uma terceira entrada de não inversão do combinador 2190. Uma saída do inseridor SEI 2130 é conectada em comunicação de sinal com uma segunda entrada de não inversão do combinador 2190.
Uma saída do quantizador inverso e transformador inverso 2150 é conectada em comunicação de sinal com uma primeira entrada de não inversão de um combinador 2127. Uma saída do combinador 2127 é conectada em comunicação de sinal com uma primeira entrada do módulo de intrapredição 2160 e uma primeira entrada do filtro de desbloqueio 2165. Uma saída do filtro de desbloqueio 2165 é conectado em comunicação de sinal com uma primeira entrada de um armazenamento intermediário de imagem de referência 2180. Uma saída do armazenamento intermediário de imagem de referência 2180 é conectada em comunicação de sinal com uma segunda entrada do estimador de movimento 2175 e com uma primeira entrada de um compensador de movimento 2170. Uma primeira saída do estimador de movimento 2175 é conectado em comunicação de sinal com uma segunda entrada do compensador de movimento 2170. Uma segunda saída do estimador de movimento 2175 é conectada em comunicação de sinal com uma terceira entrada do codificador de entropia 2145.
Uma saída do compensador de movimento 2170 é conectada em comunicação de sinal com uma primeira entrada de um comutador 2197. Uma saída do módulo de intrapredição 2160 é conectada em comunicação de sinal com uma segunda entrada do comutador 2197. Uma saída do módulo de decisão do tipo macrobloco 2120 é conectada em comunicação de sinal com uma terceira entrada do comutador 2197 para fornecer uma entrada de controle para o comutador 2197. Uma saída do comutador 2197 é conectada em comunicação de sinal com uma segunda entrada de não inversão do combinador 2127 e com uma entrada de inversão do combinador 2185.
As entradas do armazenamento intermediário de ordenação de quadro 2110 e con-trolador de codificador 2105 são disponíveis como entrada do codificador 2100, para receber uma imagem de entrada 2101. Além disso, uma entrada do inseridor SEI 2130 é disponível como uma entrada do codificador 2100, para receber metadados. Uma saída do armazenamento intermediário de saída 2135 é disponível como uma saída do codificador 2100, para transmitir um fluxo de bits.
Com referência à figura 2a, um decodificador de vídeo capaz de executar decodificação de vídeo de acordo com o padrão AVC MPEG-4 é indicado genericamente pelo numeral de referência 2200.
O decodificador de vídeo 2200 inclui um armazenamento intermediário de entrada 2210 tendo uma saída conectada em comunicação de sinal com uma primeira entrada do decodificador de entropia 2245. Uma primeira saída do decodificador de entropia 2245 é conectada em comunicação de sinal com uma primeira entrada de um transformador inverso e quantizador inverso 2250. Uma saída do transformador inverso e quantizador inverso 2250 é conectada em comunicação de sinal com uma segunda entrada de não inversão de um combinador 2225. Uma saída do combinador 2225 é conectada em comunicação de sinal com uma segunda entrada de um filtro de desbloqueio 2265 e uma primeira entrada de um módulo de intrapredição 2260. Uma segunda saída do filtro de desbloqueio 2265 é conectada em comunicação de sinal com uma primeira entrada de um armazenamento intermediário de imagem de referência 2280. Uma saída do armazenamento intermediário de imagem de referência 2280 é conectada em comunicação de sinal com uma segunda entrada de um compensador de movimento 2270.
Uma segunda saída do decodificador de entropia 2245 é conectada em comunicação de sinal com uma terceira entrada do compensador de movimento 2270 e uma primeira entrada do filtro de desbloqueio 2265. Uma terceira saída do decodificador de entropia 2245 é conectada em comunicação de sinal com uma entrada de um controlador de decodificador 2205. Uma primeira saída do controlador de decodificador 2205 é conectada em comunicação de sinal com uma segunda entrada do decodificador de entropia 2245. Uma segunda saída do controlador de decodificador 2205 é conectada em comunicação de sinal com uma segunda entrada do transformador inverso e quantizador inverso 2250. Uma terceira saída do controlador de decodificador 2205 é conectada em comunicação de sinal com uma terceira entrada do filtro de desbloqueio 2265. Uma quarta saída do controlador de decodificador 2205 é conectada em comunicação de sinal com uma segunda entrada do módulo de intrapredição 2260, com uma primeira entrada do compensador de movimento 2270, e com uma segunda entrada do armazenamento intermediário de imagem de referência 2280.
Uma saída do compensador de movimento 2270 é conectada em comunicação de sinal com uma primeira entrada de um comutador 2297. Uma saída do módulo de intrapredição 2260 é conectada em comunicação de sinal com uma segunda entrada do comutador 2297. Uma saída do comutador 2297 é conectada em comunicação de sinal com uma primeira entrada de não inversão do combinador 2225.
Uma entrada do armazenamento intermediário de entrada 2210 é disponível como uma entrada do decodificador 2200, para receber um fluxo de bits de entrada. Uma primeira saída do filtro de desbloqueio 2265 é disponível como uma saída do decodificador 2200, para transmitir uma imagem de saída.
Com referência à figura 3, um SPS de camada única 300 é mostrada. SPS é uma estrutura de sintaxe que genericamente contém elementos de sintaxe que se aplicam a zero ou mais sequências de vídeo codificadas inteiras. Na extensão SVC, os valores de alguns elementos de sintaxe transportados no SPS são dependentes de camada. Esses elementos de sintaxe dependentes de camada incluem, porém não são limitados a informações de temporização, parâmetros de HRD (quer dizer “Decodificador de referência hipotética”), e informações de restrição de fluxo de bits. Parâmetros de HRD podem incluir, por exemplo, indicadores de tamanho de armazenamento intermediário, velocidade máxima de bits, e retardo inicial. Parâmetros de HRD podem permitir que um sistema de recepção, por exemplo, verifique a integridade de um fluxo de bits recebido e/ou determine se o sistema de recepção (por exemplo, um decodificador) pode decodificar o fluxo de bits. Portanto, um sistema pode fornecer a transmissão dos elementos de sintaxe acima mencionados para cada camada.
O SPS de camada única 300 inclui um SPS-ID 310 que provê um identificador para o SPS. O SPS de camada única 300 também inclui os parâmetros de VUI (quer dizer informações de capacidade de uso de vídeo) 320 para uma camada única. Os parâmetros de VUI incluem os parâmetros de HRD 330 para uma camada única, como, por exemplo, a camada base. O SPS de camada única 300 também pode incluir parâmetros adicionais 340, embora implementações não necessitem incluir nenhum parâmetro adicional 340.
Com referência à figura 4, uma vista de bloco de um fluxo de dados 400 mostra um uso típico do SPS de camada única 300. No padrão AVC, por exemplo, um fluxo de dados típico pode incluir, entre outros componentes, uma unidade SPS, múltiplas unidades PPS (sequência de parâmetro de imagem) que fornecem parâmetros para uma imagem específica, e múltiplas unidades para dados de imagem codificados. Uma tal estrutura geral é seguida na figura 4, que inclui o SPS 300, um PPS-1 410, uma ou mais unidades 420 incluindo dados de imagem-1 codificados, um PPS-2 430, e uma ou mais unidades 440 incluindo dados de imagem-2 codificados. O PPS-1 410 inclui parâmetros para os dados de imagem-1 codificados 420, e o PPS-2 430 inclui parâmetros para os dados de imagem-2 codificados 440.
Os dados de imagem-1 codificados 420, e os dados de imagem-2 codificados 440, são individualmente associados a um SPS específico (o SPS 300 na implementação da figura 4). Isso é obtido através do uso de indicadores, como explicado agora. Os dados de ima- gem-1 codificados 420 incluem um PPS-ID (não mostrado) identificando o PPS-1 410, como mostrado por uma seta 450. O PPS-ID pode ser armazenado, por exemplo, em um cabeçalho de fatia. Os dados de imagem-2 codificados 440 incluem um PPS-ID (não mostrado) identificando o PPS-2 430, como mostrado por uma seta 460. O PPS-1 410 e o PPS-2 430 incluem, individualmente, um SPS-ID (não mostrado) identificando o SPS 300, como mostrado pelas setas 470 e 480, respectivamente.
Com referência à figura 5, uma estrutura para um SPS SUP 500 é mostarda. SPS SUP 500 inclui um SPS ID 510, um VUI 520 que inclui parâmetros de HRD 530 para uma camada adicional única mencionada por “(D2, T2, Q2)” e parâmetros adicionais opcionais 540. “D2, T2, Q2” se refere a uma segunda camada tendo nível espacial (D) 2, nível temporal (T) 2 e nível de qualidade (Q) 2.
Observe que vários esquemas de numeração podem ser utilizados para se referir a camadas. Em um esquema de numeração, camadas base têm um D, T, Q de 0, x, 0, significando um nível espacial de zero, qualquer nível temporal e um nível de qualidade de zero. Nesse esquema de numeração, camadas de intensificação têm um D, T, Q no qual D ou Q são maiores do que zero.
O uso de SPS SUP 500 permite, por exemplo, um sistema para utilizar uma estrutura SPS que inclui somente parâmetros para uma camada única, ou que não inclui nenhuma informação dependente de camada. Um tal sistema pode criar um SPS SUP separado para cada camada adicional além da camada base. As camadas adicionais podem identificar o SPS com o qual estão associados através do uso do SPS ID 510. Evidentemente várias camadas podem compartilhar um SPS único utilizando um SPS ID comum em suas respectivas unidades SPS SUP.
Com referência à figura 6, uma hierarquia organizacional 600 é mostarda entre uma unidade SPS 605 e múltiplas unidades SPS SUP 610 e 620. As unidades SPS SUP 610 e 620 são mostradas como sendo unidades SPS SUP de camada única, porém outras implementações podem utilizar uma ou mais unidades SPS SUP de múltiplas camadas além de, ou no lugar de, unidades SPS SUP de camada única. A hierarquia 600 ilustra que, em um cenário típico, múltiplas unidades SPS SUP podem ser associadas a uma unidade SPS única. Implementações podem, evidentemente, incluir múltiplas unidades SPS, e cada uma das unidades SPS pode ter unidades SPS SUP associadas.
Com referência à figura 7, uma estrutura para outro SPS SUP 700 é mostrada. SPS SUP 700 inclui parâmetros para camadas múltiplas, ao passo que SPS SUP 500 inclui parâmetros para uma camada única. SPS SUP 700 inclui um SPS ID 710, um VUI 720, e parâmetros adicionais opcionais 740. O VUI 720 inclui parâmetros de HRD 730 para uma primeira camada adicional (D2, T2, Q2) e para outras camadas adicionais até camada (Dn, Tn, Qn).
Com referência novamente à figura 6, a hierarquia 600 pode ser modificada para utilizar um SPS SUP de múltiplas camadas. Por exemplo, a combinação do SPS SUP 610 e 620 pode ser substituída com o SPS SUP 700 se tanto o SPS SUP 610 como 620 incluir o mesmo SPS ID.
Adicionalmente, o SUP SPS 700 pode ser utilizado, por exemplo, com um SPS que inclui parâmetros para uma camada única, ou que inclui parâmetros para múltiplas camadas, ou que não inclui parâmetros dependentes de camada para quaisquer camadas. O SPS SUP 700 permite um sistema para fornecer parâmetros para múltiplas camadas com pouco overhead.
Outras implementações podem ser baseadas, por exemplo, em um SPS que inclui todos os parâmetros necessários para todas as camadas possíveis. Isto é, o SPS de uma tal implementação inclui todos os níveis espaciais (Dj), temporal (T,) e qualidade (Qi) corres- pondentes que são disponíveis para serem transmitidos, quer todas as camadas sejam transmitidas ou não. Mesmo com um tal sistema, entretanto, um SPS SUP pode ser utilizado para fornecer uma capacidade de trocar os parâmetros para uma ou mais camadas sem transmitir o SPS inteiro novamente.
Com referência à Tabela 1, sintaxe é fornecida para uma implementação específica de um SPS SUP de camada única. A sintaxe inclui sequence_parameter_set_id para identificar o SPS associado, e os identificadores de temporaljevel, dependencyjd, e qualityjevel para identificar um nível escalonável. Os parâmetros de VUI são incluídos através do uso de svc_vui_parameters() (vide a tabela 2), que inclui parâmetros HRD através do uso de hrd_parameters(). A sintaxe abaixo permite que cada camada especifique seus próprios parâmetros dependentes de camada, como, por exemplo, parâmetros HRD.
Figure img0001
A semântica para a sintaxe de sup_seq_parameter_set_svc() é como a seguir.
Sequence_parameter_set_id identifica o conjunto de parâmetros de sequência que o SPS SUP atual mapeia para a camada atual;
Temporaljevel, dependencyjd, e qualityjevel especificam o nível temporal, identificador de dependência e nível de qualidade para a camada atual. Dependencyjd indica genericamente nível espacial. Entretanto, dependencyjd também é utilizado para indicar a hierarquia de Escalonamento de grão grosso (“CGS”), que inclui escalonamento tanto espacial como SNR, com escalonamento de SNR sendo um escalonamento de qualidade tradicional. Por conseguinte, qualityjevel e dependencyjd podem ser ambos utilizados para distinguir níveis de qualidade.
Vui_parameters_present_svc_flag igual a 1 especifica que a estrutura de sintaxe svc_vui_parameters(), como definido abaixo está presente. Vui_parameters_present_svcjlag igual a 0 especifica que a estrutura de sintaxe de svc_parameters() não está presente.
A Tabela 2 fornece a sintaxe para svç_vui_parameters(). Os parâmetros VUI são, portanto, separados, para cada camada e colocados em unidades SPS SUP individuais. Outras implementações, entretanto, agrupam os parâmetros VUI para múltiplas camadas em um único SPS SUP.
Figure img0002
Os campos da sintaxe de svc_vui_parameters() da Tabela 2 são definidos na versão da extensão de SVC que existia em abril de 2007 de acordo com JVT-U201 anexo E 5 E.1. Em particular, hrd_parameters() é como definido para o padrão AVC. Observe também que svc_vui_parameters() inclui várias informações dependentes de camada, incluindo pa-râmetros relacionados a HRD. Os parâmetros relacionados a HRD incluem num_units_in_tick, time_scale, fixed_frame_rate_flag, nal_hrd_parametres_present_flag, vcl_hrd_parameters_present_flag, hrd_parameters(), low_delay_hrd_flag, e 10 pic_struct_present_flag. Além disso, os elementos de sintaxe no bitstream_restriction_flg id- loop são dependentes de camada embora não relacionados a HRD.
Como mencionado acima, o SPS SUP é definido como um novo tipo de unidade NAL. A Tabela 3 lista alguns dos códigos de unidade NAL, como definido pelo padrão JVT- U201, porém modificado para ceder o tipo 24 para o SPS SUP. O elipse entre tipos de uni- 15 dade NAL 1 e 16, e entre 18 e 24, indicam que aqueles tipos são inalterados. O elipse entre tipos de unidade NAL 25 e 31 significa que aqueles tipos são todos não especificados. A implementação da tabela 3 abaixo muda o tipo 24 do padrão de “não especificado” para“sup_seq_parameter_set_svc()”. “Não especificado” é genericamente reservado para aplica-ções de usuário. “Reservado”, por outro lado, é genericamente reservado para modificações futuras de padrão. Por conseguinte, outra implementação muda um dos tipos “reservados” (por exemplo, tipo 16, 17ou 18) para “sup_seq_parameter_set_svc()”. A mudança de um tipo “não especificado” resulta em uma implementação para um dado usuário, ao passo que a mudança de um tipo “reservado” resulta em uma implementação que altera o padrão para todos os usuários.
Figure img0003
A figura 8 mostra uma vista funcional de uma implementação de um codificador de vídeo escalonável 800 que gera unidades SPS SUP. Um vídeo é recebido na entrada do codificador de vídeo escalonável 1. O vídeo é codificado de acordo com diferentes níveis espaciais. Níveis espaciais se referem principalmente a níveis diferentes de resolução do mesmo vídeo. Por exemplo, como a entrada de um codificador de vídeo escalonável, pode- se ter uma sequência CIUF (352 por 288) ou uma sequência QCIF (176 por 144) que repre-sentam cada um nível espacial.
Cada um dos níveis espaciais é enviado para um codificador. O nível espacial 1 é enviado para um codificador 2”, o nível espacial 2 é enviado para um codificador 2’, e o nível espacial m é enviado para um codificador 2.
Os níveis espaciais são codificados com 3 bits, utilizando a dependencyJd. Portanto, o número máximo de níveis espaciais nessa implementação é 8.
Os codificadores 2, 2’ e 2” codificam uma ou mais camadas tendo o nível espacial indicado. Os codificadores 2, 2’ e 2” podem ser projetados para ter níveis de qualidade es-pecíficos e níveis temporais, ou os níveis de qualidade e níveis temporais podem ser confi-guráveis. Como pode ser visto a partir da figura 8, os codificadores 2, 2’ e 2” são hierarqui-camente dispostos. Isto é, o codificador 2” alimenta o codificador 2’, que por sua vez alimenta o codificador 2. A disposição hierárquica indica o cenário típico no qual camadas mais elevadas utilizam uma camada(s) inferior(es) como referência.
Após a codificação, os cabeçalhos são preparados para cada uma das camadas. Na implementação mostrada, para cada nível espacial, uma mensagem SPS, uma mensagem PPS, e múltiplas mensagens SUP_SPS são criadas. Mensagens SPS SUP (ou unidades) podem ser criadas, por exemplo, para camadas que correspondem aos vários níveis temporal e de qualidade diferentes.
Para nível espacial 1, SPS e PPS 5” são criadas e um conjunto de SUP SPS}, SUP SPS'2, ... , SUP_SPS'n.o . . , . .. - 1 ~ -nu tampemθ criado.
Para nível espacial 2, SPS e PPS 5’ são criadas e um conjunto de SUP SPS,2, SUP _ SPS2, , SUP_SPS2.0 também é criado.
Para nível espacial m, SPS e PPS 5 são criados e um conjunto de SUP_SPS", SUPSPS", ... , SUP_SPS".O Os fluxos de bits 7, 7’ e 7” codificados pelos codificadores 2, 2’ e 2”, tipicamente seguem a pluralidade de SPS, PPS, e SUP_SPS (também mencionados como cabeçalhos, unidades ou mensagens) no fluxo de bits global.
Um fluxo de bits 8" inclui SPS e PPS 5'. SUr-SPS< SUP~SPS‘ SUP~SPS'-o 6”, e fluxo de bits de vídeo codificado 7”, que constituem todos os dados codificados associados ao nível espacial 1.
Um fluxo de bits 8’ inclui SPS e PPS 5’, SUP-SPS2, SUP_SPSj, ... , SUP_SPS2.0 e fluxo de bits de vídeo codificado 7’, que constituem todos os dados codificados associados ao nível espacial 2.
Um fluxo de bits 8 inclui SPS e PPS 5, SUP SPS", SUP SPS",... , SUP SPS" „ _ . 1 ~ 2 - 6e fluxo de bits de video codificado 7, que constituem todos os dados codificados associados a nível espacial m.
Os cabeçalhos SUP_SPS diferentes estão em conformidade com os cabeçalhos descritos nas tabelas 1-3.
O codificador 800, representado na figura 8 gera um SPS para cada nível espacial. Entretanto, outras implementações podem gerar múltiplo SPS para cada nível espacial ou podem gerar um SPS que serve a múltiplos níveis espaciais.
Os fluxos de bits 8, 8’ e 8” são combinados em um multiplexor 9 que produz um fluxo de bits SVC, como mostrado na figura 8.
Com referência à figura 9, uma vista hierárquica 900 ilustra a geração de um fluxo de dados que contém unidades SPS SUP. A vista 900 pode ser utilizada para ilustrar os fluxos de bits possíveis gerados pelo codificador de vídeo escalonável 800 da figura 8. A vista 900 provê um fluxo de bits SVC para uma interface de transmissão 17.
O fluxo de bits SVC pode ser gerado, por exemplo, de acordo com a implementação da figura 8, e compreende um SPS para cada um dos níveis espaciais. Quando m níveis espaciais são codificados, o fluxo de bits SVC compreende SPS1, SPS2 e SPSm representados por 10, 10’ e 10” na figura 9.
No fluxo de bits SVC, cada SPS codifica as informações gerais relativas ao nível espacial. O SPS é seguido por um cabeçalho 11, 11’, 11”, 13, 13’, 13”, 15, 15’ e 15” do tipo SUP_SPS. O SUP_SPS é seguido pelos dados de vídeo codificados correspondentes 12, 12’, 12”, 14, 14’, 14”, 16, 16’ e 16” que correspondem individualmente a um nível temporal (n) e um nível de qualidade (0).
Portanto, quando uma camada não é transmitida, o SUP_SPS correspondente também não é transmitido. Isso é porque há tipicamente um cabeçalho SUP_SPS que corresponde a cada camada.
Implementações típicas utilizam um esquema de numeração para camadas no qual a camada base tem um D e Q de zero. Se um tal esquema de numeração for utilizado para a vista 900, então a vista 900 não mostra explicitamente uma camada base. Isso não impede o uso de uma camada base. Adicionalmente, entretanto, a vista 900 pode ser aumentada para mostrar explicitamente um fluxo de bits para uma camada base, bem como, por exemplo, um SPS separado para uma camada base. Além disso, a vista 900 pode utilizar um esquema de numeração alternativo para camadas base, no qual um ou mais dos fluxos de bits (1, 1, 1) até (m, n, 0) se refere a uma camada base.
Com referência à figura 10, uma vista de blocos é fornecida de um fluxo de dados 1000 gerado pela implementação das figuras 8 e 9. A figura 10 ilustra a transmissão das seguintes camadas: . camada (1, 1, 1): nível espacial 1, nível temporal 1, nível de qualidade 1; que inclui transmissão de blocos 10, 11 e 12; . camada (1, 2, 1): nível espacial 1, nível temporal 2, nível de qualidade 1; que inclui transmissão adicional de blocos 11’ e 12’; . camada (2, 1,1): nível espacial 2, nível temporal 1, nível de qualidade 1; que inclui transmissão adicional de blocos 10’, 13 e 14; . camada (3, 1,1): nível espacial 3, nível temporal 1, nível de qualidade 1; que inclui transmissão adicional de blocos 10”, 15 e 16; . camada (3, 2, 1): nível espacial 3, nível temporal 2, nível de qualidade 1; que inclui transmissão adicional de blocos 15’ e 16’; . camada (3, 3, 1): nível espacial 3, nível temporal 3, nível de qualidade 1; que inclui transmissão adicional de blocos 15” e 16”.
A vista de bloco do fluxo de dados 1000 ilustra que o SPS 10 é somente enviado uma vez e é utilizado tanto para a Camada (1, 1, 1) e Camada (1,2, 1) e que SPS 10” é somente enviado uma vez é utilizado cada de Camada (3, 1,1,) Camada (3, 2, 1) e Camada (3, 3, 1). Além disso, o fluxo de dados 1000 ilustra que os parâmetros para todas as camadas não são transmitidos, porém em vez disso somente os parâmetros que correspondem às camadas transmitidas. Por exemplo, os parâmetros para a camada (2, 2, 1), correspon- SUP SPS2 dendo a - 2'não são transmitidos porque aquela camada não é transmitida. Isso pro vê uma eficiência para essa implementação.
Com referência à figura 11, um codificador 1100 inclui uma unidade de geração de SPS 1110, um codificador de vídeo 1120, e um formatador 1130. O codificador de vídeo 1120 recebe vídeo e entrada, codifica o vídeo de entrada, e provê o vídeo de entrada codificado para o formatador 1130. O vídeo de entrada codificado pode incluir, por exemplo, múltiplas camadas como, por exemplo, uma camada base codificada e uma camada de intensificação codificada. A unidade de geração de SPS 1110 gera informações de cabeçalho, como por exemplo, unidades SPS e unidades SPS SUP, e provê as informações de cabeçalho para o formatador 1130. A unidade de geração SPS 1110 também comunica com o codificador de vídeo 1120 para fornecer parâmetros utilizados pelo codificador de vídeo 1120 na codificação do vídeo de entrada.
A unidade de geração SPS 1110 pode ser configurada, por exemplo, para gerar uma unidade NAL SPS. A unidade NAL SPS pode incluir informações que descrevem um parâmetro para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. A unidade de geração de SPS 1110 também pode ser configurada, por exemplo, para gerar uma unidade NAL SPS SUP tendo uma estrutura diferente da unidade NAL SPS. A unidade NAL SPS SUP pode incluir informações que descrevem um parâmetro para uso na decodificação de uma codificação de segunda camada da sequência de imagens. A codificação de primeira camada e a codificação de segunda camada podem ser produzidas pelo codificador de vídeo 1120.
O formatador 1130 multiplexa o vídeo codificado a partir do codificador de vídeo 1120, e as informações de cabeçalho a partir da unidade de geração SPS 1110, para produzir um fluxo de bits codificado de saída. O fluxo de bits codificado pode ser um conjunto de dados que inclui a codificação de primeira camada da sequência de imagens, a codificação de segunda camada da sequência de imagens, a unidade NAL SPS e a unidade NAL SPS SUP.
Os componentes 1110, 1120 e 1130 do codificador 1100 podem assumir muitas formas. Um ou mais dos componentes 1110, 1120 e 1130 pode incluir hardware, software, firmware ou uma combinação, e pode ser operado a partir de uma variedade de plataformas, como, por exemplo, um codificador dedicado ou um processador geral configurado através de software para funcionar como um codificador.
As figuras 8 e 11 podem ser comparadas. A unidade de geração de SPS 1110 pode QTJP Çp?m gerar o SPS e os vários mostrados na figura 8. O codificador de vídeo 1120 pode gerar os fluxos de bits 7, 7’ e 7” (que são as codificações do vídeo de entrada) mostrados na figura 8. O codificador de vídeo 1120 pode corresponder, por exemplo, a um ou mais dos codificadores 2, 2’ ou 2”. O formatador 1130 pode gerar os dados hierarquicamente dispôs- tos mostrados pelos numerais de referência 8, 8’, 8”, bem como executar a operação do multiplexor 9 para gerar o fluxo de bits SVC da figura 8.
As figuras 1 e 11 também podem ser comparadas. O codificador de vídeo 1120 pode corresponder, por exemplo, a blocos 104 e 187 da figura 1. O formatador 1130 pode cor-responder, por exemplo, ao multiplexor 170. A unidade de geração de SPS 1110 não é ex-plicitamente mostrada na figura 1 embora a funcionalidade da unidade de geração SPS 1110 possa ser executada, por exemplo, pelo multiplexor 170.
Outras implementações de codificador 1110 não incluem o codificador de vídeo 1120 porque, por exemplo, os dados são pré-codificados. O codificador 1100 também pode fornecer saídas adicionais e fornecer comunicação adicional entre os componentes. O codificador 1100 também pode ser modificado para fornecer componentes adicionais que podem, por exemplo, ser localizados entre componentes existentes.
Com referência à figura 12, um codificador 1200 é mostrado que opera do mesmo modo que o codificador 1100. O codificador 1200 inclui uma memória 1210 em comunicação com um processador 1220. A memória 1210 pode ser utilizada, por exemplo, para armazenar o vídeo de entrada, para armazenar parâmetros de codificação ou decodificação, armazenar resultados intermediários ou finais durante o processo de codificação, ou armazenar instruções para executar um método de codificação. Tal armazenagem pode ser temporária ou permanente.
O processador 1220 recebe vídeo de entrada e codifica o vídeo de entrada. O pro-cessador 1220 também gera informações de cabeçalho, e formata um fluxo de bits codificado que inclui informações de cabeçalho e vídeo de entrada codificado. Como no codificador 1100, as informações de cabeçalho fornecidas pelo processador 1220 podem incluir estruturas separadas para transferir informações de cabeçalho para múltiplas camadas. O processador 1220 pode operar de acordo com instruções armazenadas em, ou de outro modo residentes em ou parte,por exemplo, do processador 1220 ou memória 1210.
Com referência à figura 13, um processo 1300 é mostrado para codificar vídeo de entrada. O processo 1300 pode ser executado, por exemplo, por qualquer um dos codificadores 1100 ou 1200.
O processo 1300 inclui gerar uma unidade NAL SPS (1310). A unidade NAL SPS inclui informações que descrevem um parâmetro para uso na decodificação da codificação de primeira camada da sequência de imagens. A unidade NAL SPS pode ser definida por um padrão de codificação ou não. Se a unidade NAL SPS for definida por um padrão de codificação, então o padrão de codificação pode exigir um decodificador para operar de acordo com unidades NAL SPS recebidas. Uma tal exigência é genericamente mencionada por declara que a unidade NAL SPS é “normativa”. SPS, por exemplo, são normativos no padrão AVC, ao passo que mensagens de informação de intensificação suplementar (“SEI”), por exemplo, não são normativas. Por conseguinte, decodificadores compatíveis com AVC podem ignorar mensagens SEI recebidas porém devem operar de acordo com SPS recebido.
A unidade NAL SPS inclui informações que descrevem um ou mais parâmetros para decodificar uma primeira camada. O parâmetro pode ser, por exemplo, informações que são dependentes de camada ou não são dependentes de camada. Os exemplos de parâmetros que são tipicamente dependentes de camada incluem um parâmetro VUI ou um parâmetro HRD.
A operação 1310 pode ser executada, por exemplo, pela unidade de geração de SPS 1110, processador 1220, ou inseridor de PPS e SPS 1240. A operação 1310 também pode corresponder à geração de SPS em quaisquer dos blocos 5, 5’, 5” na figura 8.
Por conseguinte, um meio para executar a operação 1310, isto é, gerar uma unidade NAL SPS, pode incluir vários componentes. Por exemplo, tal meio pode incluir um módulo para gerar SPS 5, 5’, ou 5”, um sistema codificador inteiro da figura 1,8, 11 ou 12, uma unidade de geração de SPS 1110, um processador 1220, ou um inseridor de PPS e SPS 2140, ou seus equivalentes incluindo codificadores conhecidos e desenvolvidos no futuro.
O processo 1300 inclui gerar uma unidade NAL SPS suplementar (“SUP”) tendo uma estrutura diferente da unidade NAL SPS (1320). A unidade NAL SPS SUP inclui informações que descrevem um parâmetro para uso na decodificação da codificação de segunda camada da sequência de imagens. A unidade NAL SPS SUP pode ser definida por um padrão de codificação ou não. Se a unidade NAL SPS SUP for definida por um padrão de codificação, então o padrão de codificação pode exigir um decodificador para operar de acordo com unidades NAL SPS SUP recebidas. Como discutido acima com relação à operação 1310, uma tal exigência é genericamente mencionada declarando que a unidade NAL SPS SUP é “normativa”.
Várias implementações incluem mensagens SPS SUP normativas. Por exemplo, mensagens SPS SUP podem ser normativas para decodificadores que decodificam mais de uma camada (por exemplo, decodificadores compatíveis com SVC). Seria necessário que tais decodificadores de múltiplas camadas (por exemplo, decodificadores compatíveis com SVC) operem de acordo com as informações transportadas nas mensagens SPS SUP. Entretanto, decodificadores de camada única (por exemplo, decodificadores compatíveis com AVC) poderiam ignorar mensagens SPS SUP. Como outro exemplo, mensagens SPS SUP podem ser normativas para todos os decodificadores, incluindo decodificadores de camada única e camadas múltiplas. Não é surpreendente que muitas implementações incluam mensagens SPS SUP normativas, dado que mensagens SPS SUP se baseiam em grande parte em mensagens SPS, e que mensagens SPS são normativas no padrão AVC e as extensões MVC e SVC. Isto é, mensagens SPS SUP portam dados similares como mensagens SPS, servem a uma finalidade similar como mensagens SPS, e podem ser consideradas como um tipo de mensagem SPS. Deve ser evidente que implementações tendo mensagens SPS SUP normativas podem fornecer vantagens de compatibilidade, por exemplo, permitir que decodificadores AVC e SVC recebam um fluxo de dados comum.
A unidade NAL SPS SUP (também mencionada como a mensagem SPS SUP) inclui um ou mais parâmetros para decodificar uma segunda camada. O parâmetro pode ser, por exemplo, informações que são dependentes de camada, ou não são dependentes de camada. Exemplos específicos incluem um parâmetro VUI ou um parâmetro HRD. O SUP SPS também pode ser utilizado para decodificar a primeira camada, além de ser utilizado para decodificar a segunda camada.
A operação 1320 pode ser executada, por exemplo, pela unidade de geração SPS 1110, processador 1220, ou um módulo análogo ao Inseridor de PPS e SPS 2140. A operação 1320 também pode corresponder à geração de SUP_SPS em qualquer um dos blocos 6, 6’, 6” na figura 8.
Por conseguinte, um meio para executar a operação 1320, isto é, gerar uma unidade NAL SPS SUP, pode incluir vários componentes. Por exemplo, tal meio pode incluir um módulo para gerar SUP_SPS 6, 6’, ou 6”, um sistema codificador inteiro da figura 1, 8, 11 ou 12, uma unidade de geração de SPS 1110, um processador 1220, ou um módulo análogo ao Inseridor de PPS e SPS 2140, ou seus equivalentes incluindo codificadores conhecidos e desenvolvidos no futuro.
O processo 1300 inclui codificar uma codificação de primeira camada, como por exemplo, a camada base, para uma sequência de imagens, e codificar uma codificação de segunda camada para a sequência de imagens (1330). Essas codificações da sequência de imagens produzem a codificação de primeira camada e a codificação de segunda camada. A codificação de primeira camada pode ser formatada em uma série de unidades mencionada como unidades de codificação de primeira camada, e a codificação de segunda camada pode ser formatada em uma série de unidades mencionadas como unidades de codificação de segunda camada. A operação 1330 pode ser executada, por exemplo, pelo codificador de vídeo 1120, processador 1220, codificadores 2, 2’ ou 2” da figura 8, ou implementação da figura 1.
Por conseguinte, um meio para executar a operação 1330, pode incluir vários com-ponentes. Por exemplo, tal meio pode incluir um codificador 2, 2’, ou 2”, um sistema de codi-ficador inteiro da figura 1, 8, 11 ou 12, um codificador de vídeo 1120, um processador 1220, ou um ou mais codificadores de núcleo 187 (possivelmente incluindo módulo de decimação 104), ou seus equivalentes incluindo codificadores conhecidos e desenvolvidos no futuro.
O processo 1300 inclui fornecer um conjunto de dados (1340). O conjunto de dados inclui a codificação de primeira camada da sequência de imagens, a codificação de segunda camada da sequência de imagens, a unidade NAL SPS, e a unidade NAL SPS SUP. O conjunto de dados pode ser, por exemplo, um fluxo de bits, codificado de acordo com um padrão conhecido, para ser armazenado em memória ou transmitido para um ou mais decodi- ficadores. A operação 1340 pode ser executada, por exemplo, pelo formatador 1130, processador 1220, ou multiplexor 170 da figura 1. A operação 1340 pode ser também executada na figura 8 pela geração de quaisquer dos fluxos de bits 8, 8’, e 8”, bem como geração do fluxo de bits SVC multiplexado.
Por conseguinte, um meio para executar a operação 1340, isto é, fornecer um conjunto de dados, pode incluir vários componentes. Por exemplo, tal meio pode incluir um módulo para gerar o fluxo de bits 8, 8’, ou 8”, um multiplexor 9, um sistema codificador inteiro da figura 1, 8, 11 ou 12, um formatador 1130, um processador 1220, ou um multiplexor 170, ou seus equivalentes incluindo codificadores conhecidos e desenvolvidos no futuro.
O processo 1300 pode ser modificado de vários modos. Por exemplo, a operação 1330 pode ser removida do processo 1300 em implementações nas quais, por exemplo, os dados são pré-codificados. Além disso, além de remover a operação 1330, a operação 1340 pode ser removida para fornecer um processo dirigido à geração de unidades de descrição para múltiplas camadas.
Com referência à figura 14, um fluxo de dados 1400 é mostrado que pode ser gerado, por exemplo, pelo processo 1300. O fluxo de dados 1400 inclui uma porção 1410 para uma unidade NAL SPS, uma porção 1420 para uma unidade NAL SPS SUP, uma porção 1430 para os dados codificados de primeira camada, e uma porção 1440 para os dados codificados de segunda camada. Os dados codificados de primeira camada 1430 são a codificação de primeira camada, que pode ser formada como unidades de codificação de primeira camada. Os dados codificados de segunda camada 1440 são a codificação de segunda camada, que pode ser formatada como unidades de codificação de segunda camada. O fluxo de dados 1400 pode incluir porções adicionais que podem ser apensas após a porção 1440 ou intercaladas entre as porções 1410-1440. Adicionalmente, outras implementações podem modificar uma ou mais das porções 1410-1440.
O fluxo de dados 1400 pode ser comparado com as figuras 9 e 10. A unidade NAL SPS 1410 pode ser, por exemplo, qualquer uma entre SPS1 10, SPS2 10’, ou SPSm 10”. A unidade NAL SPS SUP 1420 pode ser, por exemplo, qualquer um dos cabeçalhos SUP_SPS 11, 11’, 11”, 13, 13’, 13”, 15, 15’, ou 15”. Os dados codificados de primeira camada 14530 e os dados codificados de segunda camada 1440 podem ser qualquer um dos fluxos de bits para as camadas individuais mostradas como Fluxo de bit de camada (1, 1, 1) 12 até (m, n, 0) 16”, e incluindo os fluxos de bits 12, 12’, 12”, 14, 14’, 14”, 16, 16’, e 16”. É possível que os dados codificados de primeira camada 1430 sejam um fluxo de bits com um conjunto mais elevado de níveis do que os dados codificados de segunda camada 1440. Por exemplo, os dados codificados de primeira camada 1430 podem ser o Fluxo de bits de camada (2, 2,1) 14’, e os dados codificados de segunda camada 1440 podem ser o fluxo de bits de camada (1,1,1)12.
Uma implementação do fluxo de dados 1400 pode corresponder também ao fluxo de dados 1000. A unidade NAL SPS 1410 pode corresponder ao módulo SPS 10 do fluxo de dados 1000. A unidade NAL SPS SUP 1420 pode corresponder ao módulo SUP_SPS 11 do fluxo de dados 1000. Os dados codificados de primeira camada 1430 podem corresponder ao fluxo de bits de camada (1, 1, 1) 12 do fluxo de dados 1000. Os dados codificados de segunda camada 1440 podem corresponder ao Fluxo de bits de camada (1,2, 1) 12’ do fluxo de dados 1000. O módulo SUP_SPS 11’ do fluxo de dados 1000 pode ser intercalado entre os dados codificados de primeira camada 1430 e os dados codificados de segunda camada 1440. Os blocos restantes (1O’-16”) mostrados no fluxo de dados 1000 podem ser apensos ao fluxo de dados 1400 na mesma ordem mostrada no fluxo de dados 1000.
As figuras 9 e 10 podem sugerir que os módulos SPS não incluam nenhum parâmetro específico de camada. Várias implementações operam desse modo, e tipicamente exigem uma SUP_SPS para cada camada. Entretanto, outras implementações permitem que o SPS inclua parâmetros específicos de camada para uma ou mais camadas, desse modo permitindo que uma ou mais camadas sejam transmitidas sem exigir um SUP_SPS.
As figuras 9 e 10 sugerem que cada nível espacial tem seu próprio SPS. Outras im-plementações variam essa característica. Por exemplo, outras implementações fornecem um SPS separado para cada nível temporal, ou para cada nível de qualidade. Ainda outras implementações fornecem um SPS separado para cada camada, e outras implementações fornecem um único SPS que serve a todas as camadas.
Com referência à figura 15, um decodificador 1500 inclui uma unidade de análise 1510 que recebe um fluxo de bits codificado, por exemplo, o fluxo de bits codificado fornecido pelo codificador 1110, codificador 1200, processo 1300 ou fluxo de dados 1400. A unidade de análise 1510 é acoplada a um decodificador 1520.
A unidade de análise 1510 é configurada para acessar informações a partir de uma unidade NAL SPS. As informações a partir da unidade NAL SPS descrevem um parâmetro para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. A unidade de análise 1510 é adicionalmente configurada para acessar informações a partir de uma unidade NAL SPS SUP tendo uma estrutura diferente da unidade NAL SPS. As informações a partir da unidade NAL SPS SUP descrevem um parâmetro para uso na decodificação de uma codificação de segunda camada da sequência de imagens. Como descrito acima em combinação com a figura 13, os parâmetros podem ser dependentes de camada ou não dependentes de camada.
A unidade de análise 1510 provê dados de cabeçalho analisados como saída. Os dados de cabeçalho incluem as informações acessadas a partir da unidade NAL SPS e também incluem as informações acessadas a partir da unidade NAL SPS SUP. A unidade de análise 1510 também provê dados de vídeo codificados analisados como saída. Os dados de vídeo codificados incluem a codificação de primeira camada e a codificação de segunda camada. Tanto os dados de cabeçalho como os dados de vídeo codificados são fornecidos para o decodificador 1520.
O decodificador 1520 decodifica a codificação de primeira camada utilizando as in-formações acessadas a partir da unidade NAL SPS. O decodificador 1520 também decodifica a codificação de segunda camada utilizando as informações acessadas a partir da unidade NAL SPS SUP. O decodificador 1520 gera ainda uma reconstrução da sequência de imagens com base na primeira camada decodificada e/ou segunda camada decodificada. O decodificador 1520 provê um vídeo reconstruído como uma saída. O vídeo reconstruído pode ser, por exemplo, uma reconstrução da codificação de primeira camada ou uma reconstrução da codificação de segunda camada.
Comparando as figuras 15, 2 e 2a, a unidade de análise 1510 pode corresponder, por exemplo, com o demultiplexor 202, e/ou um ou mais dos decodificadores de entropia 204, 212, 222, ou 2245, em algumas implementações. O decodificador 1520 pode corresponder, por exemplo, aos blocos restantes na figura 2.
O decodificador 1500 também pode fornecer saídas adicionais e fornecer comunicação adicional entre os componentes. O decodificador 1500 também pode ser modificado para fornecer componentes adicionais que podem, por exemplo, ser localizado entre componentes existentes.
Os componentes 1510 e 1520 do decodificador 1500 podem assumir muitas formas. Um ou mais dos componentes 1510 e 1520 pode incluir hardware, software, firmware ou uma combinação, e pode ser operado de uma variedade de plataformas, como, por exemplo, um decodificador dedicado ou um processador geral configurado através de software para funcionar como decodificador.
Com referência à figura 16, um decodificador 1600 é mostrado que opera do mesmo modo que o decodificador 1500. O decodificador 1600 inclui uma memória 1610 em co-municação com um processador 1620. A memória 1610 pode ser utilizada, por exemplo, para armazenar o fluxo de bits codificado entrado, para armazenar parâmetros de decodificação ou codificação, armazenar resultados intermediários ou finais durante o processo de decodificação ou armazenar instruções para executar um método de decodificação. Tal armazenagem pode ser temporária ou permanente.
O processador 1620 recebe um fluxo de bits codificado e decodifica o fluxo de bits codificado em um vídeo reconstruído. O fluxo de bits codificado inclui, por exemplo, (1) uma codificação de primeira camada de uma sequência de imagens, (2) uma codificação de se- gunda camada da sequência de imagens, (3) uma unidade NAL SPS tendo informações que descrevem um parâmetro para uso na decodificação da codificação de primeira camada, e (4) uma unidade NAL SPS SUP tendo uma estrutura diferente da unidade NAL SPS, e tendo informações que descrevem um parâmetro para uso na decodificação da codificação de segunda camada.
O processador 1620 produz o vídeo reconstruído com base pelo menos na codificação de primeira camada, codificação de segunda camada, informações a partir da unidade NAL SPS, e as informações a partir da unidade NAL SPS SUP. O vídeo reconstruído pode ser, por exemplo, uma reconstrução da codificação de primeira camada ou uma reconstrução da codificação de segunda camada. O processador 1620 pode operar de acordo com instruções armazenadas em, ou de outro modo residentes em ou parte de, por exemplo, o processador 1620 ou memória 1610.
Com referência à figura 17, um processo 1700 é mostrado para decodificar um fluxo de bits codificado. O processo 1700 pode ser executado, por exemplo, por qualquer um dos decodificadores 1500 ou 1600.
O processo 1700 inclui acessar informações a partir de uma unidade NAL SPS (1710). As informações acessadas descrevem um parâmetro para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens.
A unidade NAL SPS pode ser como descrito anteriormente com relação à figura 13. Além disso, as informações acessadas podem ser, por exemplo, um parâmetro HRD. A operação 1710 pode ser executada, pro exemplo, pela unidade de análise 1510, processador 1610, decodificador de entropia 204, 212, 222 ou 2245, ou controle de decodificador 2205. A operação 1710 também pode ser executada em um processo de reconstrução em um codificador por um ou mais componentes de um codificador.
Por conseguinte, um meio para executar a operação 1710, isto é, acessar informações a partir de uma unidade NAL SPS, pode incluir vários componentes. Por exemplo, tal meio pode incluir uma unidade de análise 1510, um processador 1620, um decodificador de camada única, um sistema decodificador inteiro da figura 2, 15, ou 16, ou um ou mais componentes de um decodificador, ou um ou mais componentes de codificadores 800, 1100 ou 1200, ou seus equivalentes incluindo decodificadores e codificadores conhecidos e desenvolvidos no futuro.
O processo 1700 inclui acessar informações a partir de uma unidade NAL SPS SUP tendo uma estrutura diferente da unidade NAL SPS (1720). As informações acessadas a partir da unidade NAL SPS SUP descrevem um parâmetro para uso na decodificação de uma codificação de segunda camada da sequência de imagens.
A unidade NAL SPS SUP pode ser como descrito anteriormente com relação à figura 13. Além disso, as informações acessadas podem ser, por exemplo, um parâmetro HRD.
A operação 1720 pode ser executada, por exemplo, pela unidade de análise 15120, processador 1620, decodificador de entropia 204, 212, 222 ou 2245, ou controle de decodificador 2205. A operação 1720 também pode ser executada em um processo de reconstrução em um codificador por um ou mais componentes de um codificador.
Por conseguinte, um meio para executar a operação 1720, isto é, acessar informações a partir de uma unidade NAL SPS SUP, pode incluir vários componentes. Por exemplo, tal meio para incluir uma unidade de análise 1510, um processador 1620, um demultiplexor 202, um decodificador de entropia 204, 212, ou 222, um decodificador de camada única, ou um sistema decodificador inteiro 200, 1500, ou 1600, ou um ou mais componentes de um decodificador, ou um ou mais componentes de codificadores 800, 110 ou 1200, ou seus equivalentes incluindo decodificadores e codificadores conhecidos e desenvolvidos no futuro.
O processo 1700 inclui acessar uma codificação de primeira camada e uma codificação de segunda camada para a sequência de imagens (1730). A codificação de primeira camada pode ter sido formatada em unidades de codificação de primeira camada, e a codificação de segunda camada pode ter sido formatada em unidades de codificação de segunda camada. A operação 1730 pode ser executada, por exemplo, pela unidade de análise 1510, decodificador 1520, processador 1620, decodificador de entropia 204, 212, 222 ou 2245, ou vários outros blocos a jusante dos decodificadores de entropia. A operação 1730 também pode ser executada em um processo de reconstrução em um codificador por um ou mais componentes de um codificador.
Por conseguinte, um meio para executar a operação 1730 pode incluir vários com-ponentes. Por exemplo, tal meio pode incluir uma unidade de análise 1510, decodificador 1520, processador 1620, demultiplexor 202, decodificador de entropia 204, 212, ou 222, um decodificador de camada única, um receptor de fluxo de bits, um dispositivo de recepção, ou um sistema decodificador inteiro 200, 1500 ou 1600, ou um ou mais componentes de um decodificador, ou um ou mais componentes de codificadores 800, 1100 ou 1200, ou seus equivalentes incluindo decodificadores e codificadores conhecidos e desenvolvidos no futuro.
O processo 1700 inclui gerar uma decodificação da sequência de imagens (1740). A decodificação da sequência de imagens pode ser baseada na codificação de primeira camada, codificação de segunda camada, informações acessadas a partir da unidade NAL SPS, e informações acessadas a partir da unidade NAL SPS SUP. A operação 1740 pode ser executada, por exemplo, pelo decodificador 1520, processador 1620, ou vários blocos a jusante do demultiplexor 202 e armazenamento intermediário de entrada 2210. A operação 1740 também pode ser executada em um processo de reconstrução em um codificador por um ou mais componentes de um codificador.
Por conseguinte, um meio para executar a operação 1740 pode incluir vários com-ponentes. Por exemplo, tal meio pode incluir um decodificador 1530, um processador 1620, um decodificador de camada única, um sistema decodificador inteiro 200, 1500 ou 1600, ou um ou mais componentes de um decodificador, um codificador que executa uma reconstrução, ou um ou mais componentes de codificadores 800, 1100 ou 1200, ou seus equivalentes incluindo decodificadores ou codificadores conhecidos e desenvolvidos no futuro.
Outra implementação executa um método de codificação que inclui acessar informações dependentes de primeira camada em um primeiro conjunto de parâmetros normativos. As informações dependentes de primeira camada acessadas são para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. O primeiro conjunto de parâmetros normativos pode ser, por exemplo, um SPS que inclui parâmetros relacionados a HRD ou outras informações dependentes de camada. Entretanto, o primeiro conjunto de parâmetros normativos não necessita ser um SPS e não necessita ser relacionado a um padrão H.264.
Além do primeiro conjunto de parâmetros ser normativo, o que requer um decodificador para operar de acordo com o primeiro conjunto de parâmetro se um tal conjunto de parâmetros é recebido, também pode ser necessário que o primeiro conjunto de parâmetros seja recebido em uma implementação. Isto é, uma implementação pode exigir ainda que o primeiro conjunto de parâmetros seja fornecido a um decodificador.
O método de codificação dessa implementação inclui ainda acessar informações dependentes de segunda camada em um segundo conjunto de parâmetros normativos. O segundo conjunto de parâmetros normativos tem uma estrutura diferente do primeiro conjunto de parâmetros normativos. Além disso, as informações dependentes de segunda camada acessadas são para uso na decodificação de uma codificação de segunda camada da sequência de imagens. O segundo conjunto de parâmetros normativos pode ser, por exemplo, um SPS suplementar. O SPS suplementar tem uma estrutura que é diferente, por exemplo, de um SPS. O SPS suplementar também inclui parâmetros HRD ou outras informações dependentes de camada para uma segunda camada (diferente da primeira camada).
O método de codificação dessa implementação inclui ainda decodificar a sequência de imagens com base em uma ou mais das informações dependentes de primeira camada acessadas ou informações dependentes de segunda camada acessadas. Isso pode incluir, por exemplo, decodificar uma camada base ou uma camada de intensificação.
Aparelhos correspondentes são também fornecidos em outras implementações, para implementar o método de codificação dessa implementação. Tais aparelhos incluem, por exemplo, codificadores programados, processadores programados, implementações de hardware, ou meios legíveis por processador tendo instruções para executar o método de codificação. Os sistemas 1100 e 1200, por exemplo, podem implementar o método de codificação dessa implementação.
Sinais correspondentes, e meios que armazenam tais sinais ou dados de tais sinais, são também fornecidos. Tais sinais são produzidos, por exemplo, por um codificador que executa o método de codificação dessa implementação.
Outra implementação executa um método de decodificação análogo ao método de codificação acima. O método de decodificação inclui gerar um primeiro conjunto de parâmetros normativos que inclui informações dependentes de primeira camada. As informações dependentes de primeira camada são para uso na decodificação de uma codificação de primeira camada de uma sequência de imagens. O método de decodificação também inclui gerar um segundo conjunto de parâmetros normativos tendo uma estrutura diferente do primeiro conjunto de parâmetros normativos. O segundo conjunto de parâmetros normativos inclui informações dependentes de segunda camada para uso na decodificação de uma codificação de segunda camada da sequência de imagens. O método de decodificação inclui ainda fornecer um conjunto de dados que inclui o primeiro conjunto de parâmetros normativos e o segundo conjunto de parâmetros normativos.
Aparelhos correspondentes são também fornecidos em outras implementações, para implementar o método de decodificação acima da presente implementação. Tais aparelhos incluem, por exemplo, decodificadores programados, processadores programados, im-plementações de hardware, ou meios legíveis por processador tendo instruções para executar o método de decodificação. Os sistemas 1500 e 1600, por exemplo, podem implementar o método de decodificação dessa implementação.
Observe que o termo “suplementar”, como utilizado aqui, por exemplo, ao se referir a “SPS suplementar” é um termo descritivo. Como tal, “SPS suplementar” não evita unidades que não incluem o termo “suplementar” no nome da unidade. Por conseguinte, e como exemplo, um esboço atual da extensão SVC define uma estrutura de sintaxe “SPS de subconjunto”, e a estrutura de sintaxe de “SPS de subconjunto” é totalmente abrangida pelo termo descritivo “suplementar”. De modo que o “SPS de subconjunto” da extensão SVC atual é uma implementação de um SPS SUP como descrito nessa revelação.
Implementações podem utilizar outros tipos de mensagens além de, ou como uma substituição para, as unidades NAL SPS e/ou as unidades NAL SPS SUP. Por exemplo, pelo menos uma implementação gera, transmite, recebe, acessa e analisar outros conjuntos de parâmetros tendo informações dependentes de camada.
Além disso, embora SPS e SPS suplementar tenham sido discutidos amplamente no contexto de padrões H.264, outros padrões também podem incluir SPS, SPS suplementar, ou variações de SPS ou SPS suplementar. Por conseguinte, outros padrões (existentes ou desenvolvidos no futuro) podem incluir estruturas mencionadas como SPS ou SPS suplementar, e tais estruturas podem ser idênticas a ou ser variações do SPS e SPS suplementar descrito aqui. Tais outros padrões podem, por exemplo, ser relacionados a padrões H.264 atuais (por exemplo, uma alteração em um padrão H.264 existente) ou ser padrões totalmente novos. Alternativamente, outros padrões (existentes ou desenvolvidos no futuro) podem incluir estruturas que não são mencionadas como SPS ou SPS suplementar, porém tais estruturas podem ser idênticas a, análogas a, ou variações do SPS ou SPS suplementar descrito aqui.
Observe que um conjunto de parâmetros é um conjunto de dados incluindo parâmetros. Por exemplo, um SPS, um PPS, ou um SPS suplementar.
Em várias implementações, dados são ditos como sendo “acessados”. “Acessar” dados pode incluir, por exemplo, receber, armazenar, transmitir ou processar dados.
Várias implementações são fornecidas e descritas. Essas implementações podem ser utilizadas para resolver uma variedade de problemas. Um tal problema se origina quando múltiplos pontos de interoperabilidade (lOPs) (também mencionados como camadas) necessitam valores diferentes para parâmetros que são tipicamente carregados no SPS. Não há método adequado para transmitir os elementos de sintaxe dependentes de camada no SPS para diferentes camadas tendo o mesmo identificador de SPS. É problemático enviar dados de SPS separados para cada camada. Por exemplo, em muitos sistemas existentes uma camada base e suas camadas temporais compósitas compartilham o mesmo identificador de SPS.
Várias implementações fornecem um tipo de unidade NAL diferente para dados SPS suplementar. Desse modo, múltiplas unidades NAL podem ser enviadas, e cada unidade NAL pode incluir informações de SPS suplementar para uma camada SVC diferente, porém cada unidade NAL pode ser identificada pelo mesmo tipo de unidade NAL. A informação de SPS suplementar pode, em uma implementação, ser fornecida no tipo de unidade NAL “SPS de subconjunto” da extensão de SVC atual.
Deve ser evidente que as implementações descritas nessa revelação não são limitadas à extensão SVC ou a qualquer outro padrão. Os conceitos e características das implementações reveladas podem ser utilizados com outros padrões que existem agora ou serão desenvolvidos no futuro, ou podem ser utilizados em sistemas que não aderem a nenhum padrão. Como exemplo, os conceitos e características revelados aqui podem ser utilizados para implementações que funcionam no ambiente da extensão MVC. Por exemplo, vistas de MVC podem necessitar de informações de SPS diferentes, ou camadas de SVC suportadas na extensão de MVC podem necessitar de informações de SPS diferentes. Adicionalmente, características e aspectos de implementações descritas também podem ser adaptadas para ainda outras implementações. Por conseguinte, embora implementações descritas aqui possam ser descritas no contexto de SPS para camadas SVC, tais descrições não devem ser de modo algum tomadas como limitando as características e conceitos a tais implementações ou contextos.
As implementações descritas aqui podem ser implementadas por exemplo, em um método ou processo, um aparelho ou um programa de software. Mesmo se somente discuti-do no contexto de uma única forma de implementação (por exemplo, discutido somente co-mo um método), a implementação de características discutidas também pode ser implemen-tada em outras formas (por exemplo, um aparelho ou programa). Um aparelho pode ser im-plementado, por exemplo, em hardware, software e firmware apropriado. Os métodos po-dem ser implementados, por exemplo, em um aparelho como, por exemplo, um processa-dor, que se refere a dispositivos de processamento em geral, incluindo, por exemplo, um computador, um microprocessador, um circuito integrado, ou um dispositivo lógico progra-mável. Os processadores também incluem dispositivos de comunicação, como por exemplo, computadores, telefones celulares, assistentes digitais pessoais/portáteis ("PDAs"), e outros dispositivos que facilitam a comunicação de informações entre usuários finais.
Implementações dos vários processos e características descritos aqui podem ser incorporadas em uma variedade de equipamentos ou aplicações diferentes, particularmente, por exemplo, equipamento ou aplicações associadas à codificação e decodificação de da-dos. Os exemplos de equipamento incluem codificadores de vídeo, decodificadores de ví-deo, codecs de video, servidores de rede, set-top boxes, laptops, computadores pessoais, telefones celulares, PDAs, e outros dispositivos de comunicação. Como deve ser evidente, o equipamento pode ser móvel e mesmo instalado em um veículo móvel.
Adicionalmente, os métodos podem ser implementados por instruções sendo exe-cutadas por um processador, e tais instruções podem ser armazenadas em um meio legível por processador como, por exemplo, um circuito integrado, um portador de software ou outro dispositivo de armazenagem, como, por exemplo, um disco rígido, um disquete compacto, uma memória de acesso aleatório ("RAM"), ou uma memória somente de leitura ("ROM"). As instruções podem formar um programa de aplicação incorporado de forma tangível em um meio legível por processador. Instruções podem ser, por exemplo, em hardware, firmware, software ou uma combinação. Instruções podem ser encontradas, por exemplo, em um sistema operacional, uma aplicação separada ou uma combinação dos dois. Um processador pode ser caracterizado portanto, como, por exemplo, tanto um dispositivo configurado para realizar um processo como um dispositivo que inclui um meio legível por computador tendo instruções para realizar um processo.
Como será evidente para uma pessoa com conhecimentos comuns na técnica, as implementações podem produzir uma variedade de sinais formatados para conter informa-ções que podem ser, por exemplo, armazenadas ou transmitidas. As informações podem incluir, por exemplo, instruções para executar um método, ou dados produzidos por uma das implementações descritas. Por exemplo, um sinal pode ser formatado para conter como da- dos as regras para gravar ou ler a sintaxe de uma modalidade descrita, ou conter como da-dos os valores de sintaxe efetivos gravados por uma modalidade descrita. Um tal sinal pode ser formatado, por exemplo, como uma onda eletromagnética (por exemplo, utilizando uma porção de radiofreqüência de espectro) ou como um sinal de banda base. A formatação po- 5 de incluir, por exemplo, codificação de um fluxo de dados e modulação de uma portadora com o fluxo de dados codificados. As informações que o sinal contém podem ser, por exemplo, informações analógicas ou digitais, o sinal pode ser transmitido através de uma variedade de links cabeados ou sem fio diferentes, como sabido.
Diversas implementações foram descritas. Não obstante, será entendido que várias 10 modificações podem ser feitas. Por exemplo, elementos de implementações diferentes podem ser combinados, suplementados, modificados ou removidos para produzir outras im-plementações. Adicionalmente, uma pessoa com conhecimentos comuns entenderá que outras estruturas e processos podem ser substituídos por aqueles versados e as implemen-tações resultantes executarão pelo menos substancialmente a(s) mesma(s) função (ões), 15 pelo menos substancialmente do(s) mesmo(s) modo(s), para obter pelo menos substancial-mente o(s) mesmo(s) resultado(s) que as implementações reveladas. Por conseguinte, essas e outras implementações são consideradas por esse pedido e estão compreendidas no escopo das reivindicações a seguir. 1/1

Claims (1)

1. Método para processamento de codificação de vídeo de múltiplas vistas, MVC, compreendendo: proporcionar como saída uma unidade de camada de abstração de rede de conjunto de parâmetros de sequência, unidade NAL SPS, e uma unidade NAL SPS suplementar, e uma codificação de uma primeira camada MVC, e uma codificação de uma segunda cama-da MVC, em que: a unidade NAL SPS inclui informação descrevendo um parâmetro para utilização na decodificação de uma codificação de uma primeira camada MVC em uma sequência de imagens, a codificação da primeira camada MVC sendo baseada na informação da unidade NAL SPS, CARACTERIZADO pelo fato de que a unidade NAL SPS suplementar tem uma es-trutura de sintaxe diferente da unidade NAL SPS, e a unidade NAL SPS suplementar inclui informação suplementar descrevendo uma informação de usabilidade de vídeo MVC, VUI, parâmetro para utilização na decodificação de uma codificação de uma segunda camada MVC na sequência de imagens, em que a estrutura diferente é refletida na informação su-plementar incluindo um indicador temporal que indica que o parâmetro VUI MVC se aplica a codificação da segunda camada MVC, a codificação da segunda camada MVC sendo baseada na informação suplementar da unidade NAL SPS suplementar; acessar, a partir da unidade NAL SPS, a informação descrevendo o parâmetro para utilização na decodificação de uma codificação da primeira camada MVC; acessar, a partir da unidade NAL SPS suplementar, a informação suplementar des-crevendo o parâmetro para uso na decodificação de uma codificação da segunda camada MVC; e decodificar a codificação da primeira camada MVC, e a codificação da segunda camada MVC, com base na informação acessada da unidade NAL SPS, e a informação su-plementar acessada da unidade NAL SPS suplementar.
BR122012013078-8A 2007-04-18 2008-04-07 Método para processamento de codificação de vídeo de múltiplas vistas BR122012013078B1 (pt)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US92399307P 2007-04-18 2007-04-18
US60/923.993 2007-04-18
US11/824.006 2007-06-28
US11/824,006 US20090003431A1 (en) 2007-06-28 2007-06-28 Method for encoding video data in a scalable manner
BRPI0810366-6A BRPI0810366B1 (pt) 2007-04-18 2008-04-07 Método para sistemas de codificação
PCT/US2008/004530 WO2008130500A2 (en) 2007-04-18 2008-04-07 Coding systems

Publications (2)

Publication Number Publication Date
BR122012013078A2 BR122012013078A2 (pt) 2015-07-14
BR122012013078B1 true BR122012013078B1 (pt) 2020-09-15

Family

ID=39790128

Family Applications (8)

Application Number Title Priority Date Filing Date
BR122012013059-1A BR122012013059B1 (pt) 2007-04-18 2008-04-07 Aparelho para processamento de codificação de vídeo de múltiplas vistas
BR122012013078-8A BR122012013078B1 (pt) 2007-04-18 2008-04-07 Método para processamento de codificação de vídeo de múltiplas vistas
BRBR122012013072-9A BR122012013072A2 (pt) 2007-04-18 2008-04-07 Método de codificação para codificação de vídeo de múltiplas vistas
BRBR122012013066-4A BR122012013066A2 (pt) 2007-04-18 2008-04-07 Aparelho de codificação para codificação de vídeo de múltiplas vistas
BRBR122012013058-3A BR122012013058A2 (pt) 2007-04-18 2008-04-07 Sistemas de codificação
BRPI0810366-6A BRPI0810366B1 (pt) 2007-04-18 2008-04-07 Método para sistemas de codificação
BRBR122012013614-0A BR122012013614A2 (pt) 2007-04-18 2008-04-07 Aparelho para processamento de codificação de vídeo de múltiplas vistas
BRBR122012013077-0A BR122012013077A2 (pt) 2007-04-18 2008-04-07 Sinal tendo parâmetros de decodificação para codificação de vídeo de múltiplas vistas

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122012013059-1A BR122012013059B1 (pt) 2007-04-18 2008-04-07 Aparelho para processamento de codificação de vídeo de múltiplas vistas

Family Applications After (6)

Application Number Title Priority Date Filing Date
BRBR122012013072-9A BR122012013072A2 (pt) 2007-04-18 2008-04-07 Método de codificação para codificação de vídeo de múltiplas vistas
BRBR122012013066-4A BR122012013066A2 (pt) 2007-04-18 2008-04-07 Aparelho de codificação para codificação de vídeo de múltiplas vistas
BRBR122012013058-3A BR122012013058A2 (pt) 2007-04-18 2008-04-07 Sistemas de codificação
BRPI0810366-6A BRPI0810366B1 (pt) 2007-04-18 2008-04-07 Método para sistemas de codificação
BRBR122012013614-0A BR122012013614A2 (pt) 2007-04-18 2008-04-07 Aparelho para processamento de codificação de vídeo de múltiplas vistas
BRBR122012013077-0A BR122012013077A2 (pt) 2007-04-18 2008-04-07 Sinal tendo parâmetros de decodificação para codificação de vídeo de múltiplas vistas

Country Status (20)

Country Link
US (1) US8619871B2 (pt)
EP (11) EP2528345A1 (pt)
JP (9) JP5026584B2 (pt)
KR (8) KR101777706B1 (pt)
CN (5) CN102685557B (pt)
BR (8) BR122012013059B1 (pt)
CY (1) CY1123148T1 (pt)
DK (1) DK3264780T3 (pt)
ES (3) ES2388799T3 (pt)
HK (3) HK1174464A1 (pt)
HR (1) HRP20201105T1 (pt)
HU (1) HUE050251T2 (pt)
LT (1) LT3264780T (pt)
MX (4) MX348825B (pt)
PL (2) PL2528341T3 (pt)
PT (1) PT2147555E (pt)
RU (1) RU2501179C2 (pt)
SI (1) SI3264780T1 (pt)
TW (9) TWI488492B (pt)
WO (1) WO2008130500A2 (pt)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8289370B2 (en) 2005-07-20 2012-10-16 Vidyo, Inc. System and method for scalable and low-delay videoconferencing using scalable video coding
US20140072058A1 (en) 2010-03-05 2014-03-13 Thomson Licensing Coding systems
JP5264919B2 (ja) * 2007-10-05 2013-08-14 トムソン ライセンシング マルチビュービデオ(mvc)符号化システム内にビデオユーザビリティ情報(vui)を取り込む方法及び装置
TWI473016B (zh) * 2008-07-16 2015-02-11 Sisvel Internat S A 用以處理多視圖視訊位元串流之方法與裝置及電腦可讀媒體
JP4560143B2 (ja) 2009-01-19 2010-10-13 パナソニック株式会社 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び集積回路
JP4962525B2 (ja) * 2009-04-08 2012-06-27 ソニー株式会社 再生装置、再生方法、およびプログラム
CN102388613B (zh) * 2009-04-09 2014-04-30 瑞典爱立信有限公司 媒体容器文件管理
CA2718447C (en) * 2009-04-28 2014-10-21 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, and image coding apparatus
EP2355510A1 (en) * 2009-12-21 2011-08-10 Alcatel Lucent Method and arrangement for video coding
US20120183077A1 (en) * 2011-01-14 2012-07-19 Danny Hong NAL Unit Header
WO2012105265A1 (en) * 2011-02-03 2012-08-09 Panasonic Corporation Systems and methods for encoding and decoding video which support compatibility functionality to legacy video players
WO2012122246A1 (en) * 2011-03-10 2012-09-13 Vidyo, Inc. Dependency parameter set for scalable video coding
US10944994B2 (en) * 2011-06-30 2021-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Indicating bit stream subsets
KR20130058584A (ko) * 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
US9451252B2 (en) * 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
WO2013165215A1 (ko) * 2012-05-04 2013-11-07 엘지전자 주식회사 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치
US9313486B2 (en) 2012-06-20 2016-04-12 Vidyo, Inc. Hybrid video coding techniques
US20140003534A1 (en) * 2012-07-02 2014-01-02 Sony Corporation Video coding system with temporal scalability and method of operation thereof
US9912941B2 (en) * 2012-07-02 2018-03-06 Sony Corporation Video coding system with temporal layers and method of operation thereof
US10110890B2 (en) 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
RU2612577C2 (ru) * 2012-07-02 2017-03-09 Нокиа Текнолоджиз Ой Способ и устройство для кодирования видеоинформации
US20140078249A1 (en) * 2012-09-20 2014-03-20 Qualcomm Incorporated Indication of frame-packed stereoscopic 3d video data for video coding
US9554146B2 (en) * 2012-09-21 2017-01-24 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US9351005B2 (en) * 2012-09-24 2016-05-24 Qualcomm Incorporated Bitstream conformance test in video coding
US9432664B2 (en) * 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
EP2930936A4 (en) 2012-12-10 2016-11-02 Lg Electronics Inc IMAGE DECODING METHOD AND APPARATUS USING THE SAME
KR102242721B1 (ko) * 2012-12-26 2021-04-22 소니 주식회사 화상 처리 장치 및 방법
EP2941891B1 (en) 2013-01-04 2020-09-16 GE Video Compression, LLC Efficient scalable coding concept
US9374581B2 (en) 2013-01-07 2016-06-21 Qualcomm Incorporated Signaling of picture order count to timing information relations for video timing in video coding
WO2014116047A1 (ko) * 2013-01-23 2014-07-31 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20140269934A1 (en) * 2013-03-15 2014-09-18 Sony Corporation Video coding system with multiple scalability and method of operation thereof
US9467700B2 (en) 2013-04-08 2016-10-11 Qualcomm Incorporated Non-entropy encoded representation format
CN117956143A (zh) 2013-04-08 2024-04-30 Ge视频压缩有限责任公司 多视图解码器
US10003815B2 (en) * 2013-06-03 2018-06-19 Qualcomm Incorporated Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
US9648335B2 (en) 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers
US20150103878A1 (en) * 2013-10-14 2015-04-16 Qualcomm Incorporated Device and method for scalable coding of video information
KR102281282B1 (ko) 2013-12-26 2021-07-23 삼성전자주식회사 서브블록 기반 예측을 수행하는 인터 레이어 비디오 복호화 방법 및 그 장치 및 서브블록 기반 예측을 수행하는 인터 레이어 비디오 부호화 방법 및 그 장치
CN105874804A (zh) * 2014-01-02 2016-08-17 Vid拓展公司 针对hevc扩展的子比特流提取过程
KR20150081236A (ko) * 2014-01-03 2015-07-13 삼성전자주식회사 효율적인 파라미터 전달을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
CN106105220B (zh) * 2014-01-07 2019-07-05 诺基亚技术有限公司 用于视频编码和解码的方法和装置
US9794626B2 (en) 2014-05-01 2017-10-17 Qualcomm Incorporated Partitioning schemes in multi-layer video coding
US10063867B2 (en) * 2014-06-18 2018-08-28 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US10264286B2 (en) * 2014-06-26 2019-04-16 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding
KR102366503B1 (ko) * 2014-08-07 2022-02-23 소니그룹주식회사 송신 장치, 송신 방법 및 수신 장치
CN108933768B (zh) * 2017-05-27 2021-06-08 成都鼎桥通信技术有限公司 视频帧的发送帧率的获取方法和装置
MX2021002934A (es) * 2018-09-13 2021-07-16 Fraunhofer Ges Forschung Fusion de flujos de bits.
BR112021017841A2 (pt) * 2019-03-11 2021-11-30 Fraunhofer Ges Forschung Codificador e decodificador, método de codificação e decodificação, sinal de vídeo e sistema
US20210195179A1 (en) * 2019-12-23 2021-06-24 Qualcomm Incorporated Picture header signaling for video coding

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2332405C (en) * 1992-03-26 2007-01-23 Matsushita Electric Industrial Co., Ltd. Communication system
KR960036641A (ko) * 1995-03-21 1996-10-28 김광호 저속의 비디오비트열을 복호하는 고속용 복호화장치
RU2201654C2 (ru) 1997-12-23 2003-03-27 Томсон Лайсенсинг С.А. Способ низкошумового кодирования и декодирования
KR100591211B1 (ko) 1997-12-23 2006-06-19 톰슨 라이센싱 저잡음 엔코딩 및 디코딩 방법
JP2002512368A (ja) 1998-04-23 2002-04-23 カロ バイオ ユー エス エイ,インコーポレイテッド 受容体の生物活性を調節するための化合物の能力を予測する方法
KR100354745B1 (ko) * 1998-11-02 2002-12-18 삼성전자 주식회사 비디오코딩및디코딩방법
US6501797B1 (en) * 1999-07-06 2002-12-31 Koninklijke Phillips Electronics N.V. System and method for improved fine granular scalable video using base layer coding information
US20040006575A1 (en) 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
EP1500002A1 (en) 2002-04-29 2005-01-26 Sony Electronics Inc. Supporting advanced coding formats in media files
US7724818B2 (en) 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
EP1704720A1 (en) 2004-01-16 2006-09-27 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
EP1746825B1 (en) 2004-04-16 2011-06-08 Panasonic Corporation Recording medium, reproduction device, program
US20050254575A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
KR20050113501A (ko) 2004-05-29 2005-12-02 삼성전자주식회사 에이치 264 비디오 디코더를 위한 구문 분석기
US9560367B2 (en) 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
DE102004059993B4 (de) * 2004-10-15 2006-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
US20060146734A1 (en) * 2005-01-04 2006-07-06 Nokia Corporation Method and system for low-delay video mixing
US8050328B2 (en) * 2005-01-17 2011-11-01 Panasonic Corporation Image decoding method
JP2006260611A (ja) 2005-03-15 2006-09-28 Toshiba Corp 情報記憶媒体、情報再生装置、情報再生方法、及びネットワーク通信システム
KR100732961B1 (ko) * 2005-04-01 2007-06-27 경희대학교 산학협력단 다시점 영상의 스케일러블 부호화, 복호화 방법 및 장치
RU2377736C2 (ru) 2005-04-13 2009-12-27 Нокиа Корпорейшн Кодирование, хранение и передача информации о масштабируемости
KR100931870B1 (ko) 2005-04-13 2009-12-15 노키아 코포레이션 비디오 데이터를 효과적으로 코딩 및 디코딩하는 방법,장치 및 시스템
US20060233247A1 (en) * 2005-04-13 2006-10-19 Visharam Mohammed Z Storing SVC streams in the AVC file format
TWI297471B (en) 2005-05-20 2008-06-01 Novatek Microelectronics Corp Method for video content complexity estimation, scene change detection and video encoding
KR20060122663A (ko) * 2005-05-26 2006-11-30 엘지전자 주식회사 영상신호의 엔코딩 및 디코딩에서의 픽처 정보를 전송하고이를 이용하는 방법
EP1773063A1 (en) * 2005-06-14 2007-04-11 Thomson Licensing Method and apparatus for encoding video data, and method and apparatus for decoding video data
FR2888424A1 (fr) * 2005-07-07 2007-01-12 Thomson Licensing Sas Dispositif et procede de codage et de decodage de donnees video et train de donnees
US7974517B2 (en) 2005-10-05 2011-07-05 Broadcom Corporation Determination of decoding information
WO2007046957A1 (en) 2005-10-12 2007-04-26 Thomson Licensing Method and apparatus for using high-level syntax in scalable video encoding and decoding
KR100772868B1 (ko) 2005-11-29 2007-11-02 삼성전자주식회사 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
US8937997B2 (en) * 2006-03-16 2015-01-20 Apple Inc. Scalable video coding/multiplexing compatible with non-scalable decoders
AU2007230602B2 (en) * 2006-03-27 2012-01-12 Vidyo, Inc. System and method for management of scalability information in scalable video and audio coding systems using control messages
US8320450B2 (en) * 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US8422548B2 (en) * 2006-07-10 2013-04-16 Sharp Laboratories Of America, Inc. Methods and systems for transform selection and management
US20080095228A1 (en) 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
WO2008060126A1 (en) 2006-11-17 2008-05-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
JP5475464B2 (ja) * 2007-01-17 2014-04-16 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置
EP2153658B1 (en) 2007-04-13 2013-08-14 Nokia Corporation A video coder
US20100142613A1 (en) 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
US20090003431A1 (en) 2007-06-28 2009-01-01 Lihua Zhu Method for encoding video data in a scalable manner
US20080317124A1 (en) * 2007-06-25 2008-12-25 Sukhee Cho Multi-view video coding system, decoding system, bitstream extraction system for decoding base view and supporting view random access

Also Published As

Publication number Publication date
EP2528340A1 (en) 2012-11-28
JP2013062866A (ja) 2013-04-04
JP5317247B2 (ja) 2013-10-16
EP4054201A1 (en) 2022-09-07
KR20150061009A (ko) 2015-06-03
KR101663438B1 (ko) 2016-10-06
CN102685556B (zh) 2015-07-15
TW201306589A (zh) 2013-02-01
TWI530196B (zh) 2016-04-11
TW201618542A (zh) 2016-05-16
US20100195738A1 (en) 2010-08-05
CN102685557A (zh) 2012-09-19
TWI599228B (zh) 2017-09-11
KR101777706B1 (ko) 2017-09-25
KR101393169B1 (ko) 2014-05-09
JP6180495B2 (ja) 2017-08-16
BRPI0810366A2 (pt) 2015-05-26
KR20150068481A (ko) 2015-06-19
JP2012199999A (ja) 2012-10-18
EP2533545B1 (en) 2017-05-03
EP2533545A1 (en) 2012-12-12
TWI775758B (zh) 2022-09-01
BRPI0810366B1 (pt) 2020-09-15
WO2008130500A2 (en) 2008-10-30
CN103338367A (zh) 2013-10-02
CN102685557B (zh) 2015-09-16
AU2008241568A1 (en) 2008-10-30
CN102724556A (zh) 2012-10-10
EP2528344A1 (en) 2012-11-28
ES2633148T3 (es) 2017-09-19
EP3264780B1 (en) 2020-06-24
BR122012013066A2 (pt) 2015-08-04
KR20170117104A (ko) 2017-10-20
TWI502976B (zh) 2015-10-01
TWI543628B (zh) 2016-07-21
EP2528343A1 (en) 2012-11-28
KR101429372B1 (ko) 2014-08-13
JP5069811B2 (ja) 2012-11-07
TW201308990A (zh) 2013-02-16
MX2009011217A (es) 2009-12-07
KR20120071411A (ko) 2012-07-02
PL2147555T3 (pl) 2012-10-31
CN102724556B (zh) 2015-07-22
CN102685556A (zh) 2012-09-19
RU2009142429A (ru) 2011-05-27
JP2013081234A (ja) 2013-05-02
JP2013062865A (ja) 2013-04-04
JP2013146087A (ja) 2013-07-25
DK3264780T3 (da) 2020-07-27
TWI488492B (zh) 2015-06-11
BR122012013078A2 (pt) 2015-07-14
JP2016096563A (ja) 2016-05-26
BR122012013059B1 (pt) 2020-09-15
CY1123148T1 (el) 2021-10-29
BR122012013058A2 (pt) 2015-07-14
HRP20201105T1 (hr) 2021-01-22
KR20100015737A (ko) 2010-02-12
CN103338367B (zh) 2017-08-29
JP5597269B2 (ja) 2014-10-01
JP5213085B2 (ja) 2013-06-19
TW201308992A (zh) 2013-02-16
EP2528345A1 (en) 2012-11-28
JP2010525661A (ja) 2010-07-22
MX348825B (es) 2017-06-30
LT3264780T (lt) 2020-08-10
EP3264780A1 (en) 2018-01-03
RU2501179C2 (ru) 2013-12-10
BR122012013614A2 (pt) 2015-07-14
TW201308991A (zh) 2013-02-16
TW200913716A (en) 2009-03-16
EP2528341A1 (en) 2012-11-28
KR20120079177A (ko) 2012-07-11
JP5150781B2 (ja) 2013-02-27
BR122012013059A2 (pt) 2015-07-14
HK1174464A1 (en) 2013-06-07
PT2147555E (pt) 2013-04-22
HUE050251T2 (hu) 2020-11-30
US8619871B2 (en) 2013-12-31
BR122012013077A2 (pt) 2015-07-14
EP2147555A2 (en) 2010-01-27
MX337525B (es) 2016-03-09
HK1174463A1 (en) 2013-06-07
HK1174462A1 (en) 2013-06-07
EP2147555B1 (en) 2012-07-25
JP2014225919A (ja) 2014-12-04
TW201308989A (zh) 2013-02-16
JP5213084B2 (ja) 2013-06-19
CN103281563A (zh) 2013-09-04
EP2528341B1 (en) 2017-06-07
JP5026584B2 (ja) 2012-09-12
KR101813848B1 (ko) 2017-12-29
KR101547008B1 (ko) 2015-08-28
EP3700221A1 (en) 2020-08-26
MX2021009153A (es) 2022-06-08
JP2013013113A (ja) 2013-01-17
TWI445393B (zh) 2014-07-11
BR122012013072A2 (pt) 2015-07-14
KR20160116059A (ko) 2016-10-06
ES2388799T3 (es) 2012-10-18
PL2528341T3 (pl) 2017-10-31
CN103281563B (zh) 2016-09-07
TW201306590A (zh) 2013-02-01
KR101663917B1 (ko) 2016-10-07
ES2905052T3 (es) 2022-04-06
SI3264780T1 (sl) 2020-08-31
WO2008130500A3 (en) 2008-12-11
TWI445407B (zh) 2014-07-11
EP2528340B1 (en) 2017-06-07
EP3700221B1 (en) 2021-12-15
TW201804789A (zh) 2018-02-01
TWI415450B (zh) 2013-11-11
EP4054201B1 (en) 2024-06-05
KR20120071410A (ko) 2012-07-02
EP2528342A1 (en) 2012-11-28

Similar Documents

Publication Publication Date Title
BR122012013078B1 (pt) Método para processamento de codificação de vídeo de múltiplas vistas
US20150131743A1 (en) Coding systems
AU2008241568B2 (en) Coding systems
AU2015203559A1 (en) Coding systems

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B25A Requested transfer of rights approved

Owner name: DOLBY INTERNATIONAL AB (NL)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/24

Ipc: H04N 21/2343 (2011.01), H04N 21/434 (2011.01), H04

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 15/09/2020, OBSERVADAS AS CONDICOES LEGAIS.

B25G Requested change of headquarter approved

Owner name: DOLBY INTERNATIONAL AB (IE)