BR122012021798A2 - Método para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc) - Google Patents

Método para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc) Download PDF

Info

Publication number
BR122012021798A2
BR122012021798A2 BRBR122012021798-0A BR122012021798A BR122012021798A2 BR 122012021798 A2 BR122012021798 A2 BR 122012021798A2 BR 122012021798 A BR122012021798 A BR 122012021798A BR 122012021798 A2 BR122012021798 A2 BR 122012021798A2
Authority
BR
Brazil
Prior art keywords
view
max
equal
function block
video
Prior art date
Application number
BRBR122012021798-0A
Other languages
English (en)
Inventor
Jiancong Luo
Peng Yin
Original Assignee
Thomson Licensing
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/977,709 external-priority patent/US20080115447A1/en
Application filed by Thomson Licensing filed Critical Thomson Licensing
Priority claimed from BRPI0817420-2A external-priority patent/BRPI0817420A2/pt
Publication of BR122012021798A2 publication Critical patent/BR122012021798A2/pt

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Método para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc). São fornecidos métodos e aparelho para incorporar informação de usabilidade de vídeo (vui) em codificação de vídeo de múltiplas visualizações (mvc). Um aparelho (100) inclui um codificador (100) para codificar conteúdo de vídeo de múltiplas visualizações ao especificar informação de usabilidade de vídeo para pelo manos um selecionado de: visualizações individuais (300), níveis temporais individuais em uma visualização (500) e pontos de operação individuais (700). Adicionalmente, um aparelho (200) inclui um decodificador para decodificar conteúdo de vídeo de múltiplas visualizações ao especificar informação de usabilidade de vídeo para pelo menos um selecionado de: visualizações individuais (400), níveis temporais individuais em uma visualização (600) e pontos de operação individuais (800).

Description

“MÉTODO PARA INCORPORAR INFORMAÇÃO DE USABILIDADE DE VÍDEO
(VUI) EM UM SISTEMA DE CODIFICAÇÃO DE VÍDEO DE MÚLTIPLAS VISUALIZAÇÕES (MVC)” - Dividido do pedido PI0817420-2, depositado em 16 de setembro de 2008 REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
Este pedido reivindica o benefício do pedido provisório US 60/977.709, depositado em 5 de outubro de 2007, o qual está incorporado na sua totalidade neste documento pela referência. Adicionalmente, este pedido está relacionado ao pedido não provisório de proto- colo representante No. PU070239, intitulado “METHODS AND APPARATUS FOR
INCORPORATING VIDEO USABILITY INFORMATION (VUI) WITHIN A MULTI-VIEW VIDEO (MVC) CODING SYSTEM”, o qual também reivindica o benefício do pedido provisó- rio US 60/977.709, depositado em 5 de outubro de 2007, e que é do mesmo requerente, incorporado neste documento pela referência e depositado concorrentemente com este.
CAMPO TÉCNICO
Os presentes princípios dizem respeito de uma maneira geral a codificação e deco- dificação de vídeo e, mais particularmente, a métodos e aparelho para incorporar informa- ção de usabilidade de vídeo (VUI) em codificação de vídeo de múltiplas visualizações (MVC).
ANTECEDENTES A Organização Internacional de Normalização/Comissão Internacional de Eletrotéc- nica (ISO/IEC) Grupo-4 de Especialistas de Imagens em Movimento (MPEG-4), padrão de Codificação Avançada de Vídeo (AVC) Parte 10/União Internacional de Telecomunicações, Setor de Telecomunicações (ITU-T) recomendação H.264 (em seguida o “padrão MPEG-4 AVC”) especifica sintaxe e semânticas de parâmetros de informação de usabilidade de ví- deo (VUI) de conjuntos de parâmetros de sequência. Informação de usabilidade de vídeo inclui informação de relação de aspectos, sobrevarredura, tipo de sinal de vídeo, localização de croma, sincronismo, parâmetros de decodificador hipotético de referência (HRD) de ca- mada de abstração de rede (NAL), parâmetros de decodificador hipotético de referência de camada de codificação de vídeo (VCL), restrição de fluxo de bits e assim por diante. Infor- mação de usabilidade de vídeo fornece informação extra para um fluxo de bits correspon- dente para permitir uma aplicação mais ampla para um usuário. Por exemplo, em informa- ção de restrição de fluxo de bits, informação de usabilidade de vídeo especifica: (1) se o movimento está acima de um limite de imagem; (2) os bytes máximos por imagem; (3) os bits máximos por macrobloco; (4) o comprimento de vetor de movimento máximo (horizontal e vertical); (5) o número de quadros de reordenação; e (6) o tamanho de armazenamento temporário de quadro decodificado máximo. Quando o decodificador vê a informação, em vez de usar a informação de “nível” para estabelecer a exigência de decodificação, a qual em geral é maior que aquela que o fluxo de bits realmente exige, o decodificador pode cus- tomizar sua operação de decodificação com base no limite mais apertado.
Codificação de vídeo de múltiplas visualizações (MVC) é uma extensão para o Pa- drão MPEG-4 AVC. Em codificação de vídeo de múltiplas visualizações, imagens de vídeo para múltiplas visualizações podem ser codificadas por meio de explorar a correlação entre visualizações. Entre todas as visualizações, uma visualização é a visualização de base, a qual é compatível com Padrão MPEG-4 AVC e não pode ser predita a partir das outras visu- alizações. As outras visualizações são referidas como visualizações não de base. Visualiza- ções não de base podem ser codificadas preditivamente a partir da visualização de base e de outras visualizações não de base. Cada visualização pode ser subamostrada temporal- mente. Um subconjunto temporal de uma visualização pode ser identificado por meio de um elemento de sintaxe temporaljd. Um nível temporal de uma visualização é uma representa- ção do sinal de vídeo. Podem existir diferentes combinações de visualizações e níveis tem- porais em um fluxo de bits codificado de vídeo de múltiplas visualizações. Cada combinação é chamada de ponto de operação. Subfluxos de bits correspondendo aos pontos de opera- ção podem ser extraídos do fluxo de bits.
SUMÁRIO
Estes e outros inconvenientes e desvantagens da técnica anterior são abordados pelos presentes princípios, os quais são direcionados para métodos e aparelho para incor- porar informação de usabilidade de vídeo (VUI) em codificação de vídeo de múltiplas visua- lizações (MVC).
De acordo com um aspecto dos presentes princípios, é fornecido um aparelho. O aparelho inclui um codificador para codificar conteúdo de vídeo de múltiplas visualizações ao especificar informação de usabilidade de vídeo para pelo menos um de visualizações individuais, níveis temporais individuais em uma visualização e pontos de operação indivi- duais.
De acordo com um outro aspecto dos presentes princípios, é fornecido um método. O método inclui codificar conteúdo de vídeo de múltiplas visualizações ao especificar infor- mação de usabilidade de vídeo para pelo menos um de visualizações individuais, níveis temporais individuais em uma visualização e pontos de operação individuais.
De acordo também com um outro aspecto dos presentes princípios, é fornecido um aparelho. O aparelho inclui um decodificador para decodificar conteúdo de vídeo de múlti- plas visualizações ao especificar informação de usabilidade de vídeo para pelo menos um de visualizações individuais, níveis temporais individuais em uma visualização e pontos de operação individuais.
De acordo com ainda um outro aspecto dos presentes princípios, é fornecido um método. O método inclui decodificar conteúdo de vídeo de múltiplas visualizações ao especi- ficar informação de usabilidade de vídeo para pelo menos um de visualizações individuais, níveis temporais individuais em uma visualização e pontos de operação individuais.
Estes e outros aspectos, recursos e vantagens dos presentes princípios se tornarão aparentes a partir da descrição detalhada a seguir de modalidades exemplares, a qual é para ser lida em conexão com os desenhos anexos.
DESCRIÇÃO RESUMIDA DOS DESENHOS
Os presentes princípios podem ser mais bem entendidos de acordo com as figuras exemplares seguintes, nas quais: A figura 1 é um diagrama de blocos para um codificador de Codificação de Vídeo de Múltiplas Visualizações (MVC) exemplar ao qual os presentes princípios podem ser apli- cados, de acordo com uma modalidade dos presentes princípios; A figura 2 é um diagrama de blocos para um decodificador de Codificação de Vídeo de Múltiplas Visualizações (MVC) exemplar ao qual os presentes princípios podem ser apli- cados, de acordo com uma modalidade dos presentes princípios; A figura 3 é um fluxograma para um método exemplar para codificar parâmetros de restrição de fluxo de bits para cada visualização, usando um elemento de sintaxe mvc_vui_parameters_extension(), de acordo com uma modalidade dos presentes princípios; A figura 4 é um fluxograma para um método exemplar para decodificar parâmetros de restrição de fluxo de bits para cada visualização, usando um elemento de sintaxe mvc_vui_parameters_extension(), de acordo com uma modalidade dos presentes princípios; A figura 5 é um fluxograma para um método exemplar para codificar parâmetros de restrição de fluxo de bits para cada nível temporal em cada visualização, usando um ele- mento de sintaxe mvc_vui_parameters_extension(), de acordo com uma modalidade dos presentes princípios; A figura 6 é um fluxograma para um método exemplar para decodificar parâmetros de restrição de fluxo de bits para cada nível temporal em cada visualização, usando um e- lemento de sintaxe mvc_vui_parameters_extension(), de acordo com uma modalidade dos presentes princípios; A figura 7 é um fluxograma para um método exemplar para codificar parâmetros de restrição de fluxo de bits para cada ponto de operação, usando um elemento de sintaxe vi- ew_scalability_parameters_extension(), de acordo com uma modalidade dos presentes prin- cípios; e A figura 8 é um fluxograma para um método exemplar para decodificar parâmetros de restrição de fluxo de bits para cada ponto de operação, usando um elemento de sintaxe view_scalability_parameters_extension(), de acordo com uma modalidade dos presentes princípios.
DESCRICÃQ DETALHADA
Os presentes princípios são direcionados para métodos e aparelho para incorporar informação de usabilidade de vídeo (VUI) em codificação de vídeo de múltiplas visualiza- ções (MVC). A presente descrição ilustra os presentes princípios. Assim, ficará reconhecido que os versados na técnica serão capazes de imaginar vários arranjos que, embora não descri- tos ou mostrados explicitamente neste documento, incorporam os presentes princípios e estão incluídos no seu espírito e escopo.
Todos os exemplos e linguagem condicional relatados neste documento são pre- tendidos para propósitos pedagógicos para ajudar o leitor a entender os presentes princípios e os conceitos contribuídos pe!o(s) inventor(s) para incrementar a técnica, e são para serem interpretados como sendo sem limitação para tais exemplos e condições especificamente relatados.
Além disso, todas as declarações neste documento relacionando princípios, aspec- tos e modalidades dos presentes princípios, assim como exemplos específicos dos mesmos, são pretendidas para abranger tanto equivalências estruturais quanto funcionais dos mes- mos. Adicionalmente, é considerado que tais equivalências incluem tanto equivalências atu- almente conhecidas quanto equivalências desenvolvidas no futuro, isto é, quaisquer elemen- tos desenvolvidos que executem a mesma função, independente de estrutura.
Assim, por exemplo, será percebido pelos versados na técnica que os diagramas de blocos apresentados neste documento representam visualizações conceituais de conjun- to de circuitos ilustrativos incorporando os presentes princípios. De forma similar, será per- cebido que quaisquer fluxogramas, diagramas, diagramas de transição de estado, pseudo- código e outros mais representam vários processos que podem ser substancialmente repre- sentados em mídias legíveis por computador e assim executados por um computador ou processador, se tal computador ou processador está ou não mostrado explicitamente.
As funções dos vários elementos mostrados nas figuras podem ser fornecidas por meio do uso de hardware dedicado assim como de hardware capaz de executar software em associação com software apropriado. Quando fornecidas por um processador, as fun- ções podem ser fornecidas por um único processador dedicado, por um único processador compartilhado, ou por uma pluralidade de processadores individuais, alguns dos quais po- dem ser compartilhados. Além disso, uso explícito do termo “processador” ou “controlador” não deve ser interpretado para se referir exclusivamente a hardware capaz de executar software, e implicitamente pode incluir, sem limitação, hardware de processador de sinal digital (“DSP”), memória somente de leitura (“ROM”) para armazenar software, memória de acesso aleatório (“RAM”) e armazenamento não volátil.
Outro hardware, convencional e/ou feito sob medida, também pode ser incluído. De forma similar, quaisquer comutadores mostrados nas figuras são somente conceituais. Sua função pode ser executada por meio da operação de lógica de programa, por meio de lógica dedicada, por meio da interação de controle de programa e lógica dedicada, ou mesmo ma- nualmente, a técnica particular sendo selecionável pelo implementador tal com entendido mais especificamente a partir do contexto.
Nas reivindicações deste pedido, qualquer elemento expressado como um disposi- tivo para executar uma função especificada é pretendido para abranger algum modo de e- xecutar essa função incluindo, por exemplo, a) uma combinação de elementos de circuito que executa essa função ou b) software em qualquer forma, incluindo, portanto, firmware, microcódigo ou coisa parecida, combinado com conjunto de circuitos apropriados para exe- cutar esse software para executar a função. Os presentes princípios, tal como definido pelas tais reivindicações, residem no fato de que as funcionalidades fornecidas pelos vários dispo- sitivos relatados são combinadas e levadas conjuntamente no modo que as reivindicações requerem. Assim, é considerado que quaisquer dispositivos que possam fornecer essas fun- cionalidades são equivalentes a esses mostrados neste documento.
Referência na especificação a “uma modalidade” dos presentes princípios significa que um recurso, estrutura, característica particular e assim por diante descrito em conexão com a modalidade está incluído em pelo menos uma modalidade dos presentes princípios.
Assim, os significados da frase “em uma modalidade” aparecendo em vários lugares por toda a especificação não estão todos necessariamente se referindo à mesma modalidade. É para ser percebido que o uso das expressões “e/ou” e “pelo menos um de”, por exemplo, nos casos de “A e/ou B” e “pelo menos um de A e B”, é pretendido para abranger somente a seleção da primeira opção listada (A), ou somente a seleção da segunda opção listada (B), ou a seleção de ambas as opções (A e B). Como um exemplo adicional, nos ca- sos de “A, B e/ou C" e “pelo menos um de A, B e C”, tal fraseado é pretendido para abranger somente a seleção da primeira opção listada (A), ou somente a seleção da segunda opção listada (B), ou somente a seleção da terceira opção listada (C), ou somente a seleção das primeira e segunda opções listadas (A e B), ou somente a seleção das primeira e terceira opções listadas (A e C), ou somente a seleção das segunda e terceira opções listadas (B e C), ou a seleção de todas as três opções (A e B e C). Isto pode ser estendido, tal como prontamente aparente para uma pessoa de conhecimento comum nesta técnica e em técni- cas relacionadas, para tantos itens quanto listados.
Codificação de Vídeo de Múltiplas Visualizações (MVC) é a estrutura de compres- são para a codificação de sequências de múltiplas visualizações. Uma sequência de codifi- cação de vídeo de múltiplas visualizações (MVC) é um conjunto de duas ou mais sequên- cias de vídeo que capturam a mesma cena a partir de um diferente ponto de visualização.
Tal como usado de forma intercambiável neste documento, “visualização cruzada” e “intervisualização” se referem a imagens que pertencem a uma visualização a não ser uma visualização atual.
Além disso, tal como usado neste documento, “sintaxe de alto nível” se refere à sin- taxe presente no fluxo de bits que reside hierarquicamente acima da camada de macroblo- co. Por exemplo, sintaxe de alto nível, tal como usado neste documento, pode se referir a, mas não está limitada a isto, sintaxe no nível de cabeçalho de fatia, nível de Informação Su- plementar de Enriquecimento (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).
Também, é para ser percebido que embora uma ou mais modalidades dos presen- tes princípios estejam descritas neste documento para propósitos ilustrativos com relação à extensão de codificação de vídeo de múltiplas visualizações do padrão MPEG-4 AVC, os presentes princípios não estão limitados unicamente a esta extensão e/ou a este padrão e, assim, podem ser utilizados com relação a outros padrões, recomendações e extensões de codificação de vídeo dos mesmos, enquanto mantendo o espírito dos presentes princípios.
Adicionalmente, é para ser percebido que embora uma ou mais modalidades dos presentes princípios estejam descritas neste documento para propósitos ilustrativos com relação a informação de restrição de fluxo de bits, os presentes princípios não estão limita- dos a usar unicamente informação de restrição de fluxo de bits como um tipo de informação de usabilidade de vídeo e, assim, outros tipos de informação de usabilidade de vídeo que podem ser estendidos para uso com relação a codificação de vídeo de múltiplas visualiza- ções também pode ser usados de acordo com os presentes princípios, enquanto mantendo o espírito dos presentes princípios.
Voltando à figura 1, um codificador de Codificação de Vídeo de Múltiplas Visualiza- ções (MVC) exemplar está indicado de uma maneira geral pelo número de referência 100. O codificador 100 inclui um combinador 105 tendo uma saída conectada em comunicação de sinal com uma entrada de um transformador 110. Uma saída do transformador 110 é conec- tada em comunicação de sinal com uma entrada do quantificador 115. Uma saída do quanti- ficador 115 é conectada em comunicação de sinal com uma entrada de um codificador de entropia 120 e com uma entrada de um quantificador inverso 125. Uma saída do quantifica- dor inverso 125 é conectada em comunicação de sinal com uma entrada de um transforma- dor inverso 130. Uma saída do transformador inverso 130 é conectada em comunicação de sinal com uma primeira entrada não inversora de um combinador 135. Uma saída do combi- nador 135 é conectada em comunicação de sinal com uma entrada de um preditor intra 145 e com uma entrada de um filtro redutor de blocagem 150. Uma saída do filtro redutor de blo- cagem 150 é conectada em comunicação de sinal com uma entrada de um armazenamento de imagem de referência 155 (para a visualização i). Uma saída do armazenamento de ima- gem de referência 155 é conectada em comunicação de sinal com uma primeira entrada de um compensador de movimento 175 e com uma primeira entrada de um estimador de mo- vimento 180. Uma saída do estimador de movimento 180 é conectada em comunicação de sinal com uma segunda entrada do compensador de movimento 175.
Uma saída de um armazenamento de imagem de referência 160 (para outras visua- lizações) é conectada em comunicação de sinal com uma primeira entrada de um estimador de disparidade/iluminação 170 e com uma primeira entrada de um compensador de dispari- dade/iluminação 165. Uma saída do estimador de disparidade/iluminação 170 é conectada em comunicação de sinal com uma segunda entrada do compensador de disparida- de/iluminação 165.
Uma saída do decodificador de entropia 120 está disponível como uma saída do codificador 100. Uma entrada não inversora do combinador 105 está disponível como uma entrada do codificador 100, e é conectada em comunicação de sinal com uma segunda en- trada do estimador de disparidade/iluminação 170 e com uma segunda entrada do estima- dor de movimento 180. Uma saída de um comutador 185 é conectada em comunicação de sinal com uma segunda entrada não inversora do combinador 135 e com uma entrada in- versora do combinador 105. O comutador 185 inclui uma primeira entrada conectada em comunicação de sinal com uma saída do compensador de movimento 175, uma segunda entrada conectada em comunicação de sinal com uma saída do compensador de disparida- de/iluminação 165 e uma terceira entrada conectada em comunicação de sinal com uma saída do preditor intra 145.
Um módulo de decisão de modo 140 tem uma saída conectada ao comutador 185 para controlar qual entrada é selecionada pelo comutador 185.
Voltando à figura 2, um decodificador de Codificação de Vídeo de Múltiplas Visuali- zações (MVC) exemplar está indicado de uma maneira geral pelo número de referência 200. O decodificador 200 inclui um decodificador de entropia 205 tendo uma saída conectada em comunicação de sinal com uma entrada de um quantificador inverso 210. Uma saída do quantificador inverso é conectada em comunicação de sinal com uma entrada de um trans- formador inverso 215. Uma saída do transformador inverso 215 é conectada em comunica- ção de sinal com uma primeira entrada não inversora de um combinador 220. Uma saída do combinador 220 é conectada em comunicação de sinal com uma entrada de um filtro redutor de blocagem 225 e com uma entrada de um preditor intra 230. Uma saída do filtro redutor de blocagem 225 é conectada em comunicação de sinal com uma entrada de um armaze- namento de imagem de referência 240 (para a visualização i). Uma saída do armazenamen- to de imagem de referência 240 é conectada em comunicação de sinal com uma primeira entrada de um compensador de movimento 235.
Uma saída de um armazenamento de imagem de referência 245 (para outras visua- lizações) é conectada em comunicação de sinal com uma primeira entrada de um compen- sador de disparidade/iluminação 250.
Uma entrada do decodificador de entropia 205 está disponível como uma entrada para o decodificador 200, para receber um fluxo de bits de resíduo. Além disso, uma entrada de um módulo de modo 260 também está disponível como uma entrada para o decodifica- dor 200, para receber sintaxe de controle para controlar qual entrada é selecionada pelo comutador 255. Adicionalmente, uma segunda entrada do compensador de movimento 235 está disponível como uma entrada do decodificador 200, para receber vetores de movimen- to. Também, uma segunda entrada do compensador de disparidade/iluminação 250 está disponível como uma entrada para o decodificador 200, para receber vetores de disparidade e sintaxe de compensação de iluminação.
Uma saída de um comutador 255 é conectada em comunicação de sinal com uma segunda entrada não inversora do combinador 220. Uma primeira entrada do comutador 255 é conectada em comunicação de sinal com uma saída do compensador de disparida- de/iluminação 250. Uma segunda entrada do comutador 255 é conectada em comunicação de sinal com uma saída do compensador de movimento 235. Uma terceira entrada do comu- tador 255 é conectada em comunicação de sinal com uma saída do preditor intra 230. Uma saída do módulo de modo 260 é conectada em comunicação de sinal com o comutador 255 para controlar qual entrada é selecionada pelo comutador 255. Uma saída do filtro redutor de blocagem 225 está disponível como uma saída do decodificador.
No Padrão MPEG-4 AVC, parâmetros de sintaxe e semântica dos conjuntos de pa- râmetros de sequência são especificados para informação de usabilidade de vídeo (VUI).
Isto representa informação adicional que pode ser inserida em um fluxo de bits para aprimo- rar a usabilidade do vídeo para uma grande variedade de propósitos. Informação de usabili- dade de vídeo inclui informação de relação de aspectos, sobrevarredura, tipo de sinal de vídeo, localização de croma, sincronismo, parâmetros de decodificador hipotético de refe- rência (HRD) de camada de abstração de rede (NAL), parâmetros de decodificador hipotéti- co de referência de camada de codificação de vídeo (VCL), restrição de fluxo de bits e assim por diante.
De acordo com uma ou mais modalidades dos presentes princípios, usamos este campo de informação de usabilidade de vídeo existente para novos e diferentes propósitos do que na técnica anterior e, adicionalmente, estendemos seu uso para codificação de vídeo de múltiplas visualizações (MVC). Em nosso esquema de codificação de vídeo de múltiplas visualizações, a informação de usabilidade de vídeo é estendida de maneira que ela pode ser diferente entre, por exemplo, diferentes visualizações, diferentes níveis temporais em uma visualização, ou diferentes pontos de operação. Assim, de acordo com uma modalida- de, especificamos informação de usabilidade de vídeo de acordo com um ou mais de, mas não se limitando a isto, o seguinte: especificar a informação de usabilidade de vídeo para visualizações individuais, especificar a informação de usabilidade de vídeo para níveis tem- porais individuais em uma visualização e especificar a informação de usabilidade de vídeo para pontos de operação individuais separadamente.
No Padrão MPEG-4 AVC, um conjunto que inclua Informação de Usabilidade de Vídeo (VUI) pode ser transmitido em um conjunto de parâmetros de sequência (SPS). De acordo com uma modalidade, estendemos o conceito de Informação de Usabilidade de Ví- deo para uso dentro de um contexto de codificação de vídeo de múltiplas visualizações (MVC). Vantajosamente, isto permite que Informação de Usabilidade de Vídeo diferente seja especificada para diferentes visualizações, diferentes níveis temporais em uma visualização, ou para diferentes pontos de operação em codificação de vídeo de múltiplas visualizações.
Em uma modalidade, fornecemos uma abordagem inédita ao considerar, modificar e usar informação de restrição de fluxo de bits em Informação de Usabilidade de Vídeo para codifi- cação de vídeo de múltiplas visualizações. A informação de restrição de fluxo de bits no Padrão MPEG-4 AVC é especificada no elemento de sintaxe vui_parameters() que é uma parte do sequence_parameter_set(). A TABELA 1 ilustra a sintaxe de Padrão MPEG-4 AVC de vui_parameters(). TABELA 1 As semânticas dos elementos de sintaxe de informação de restrição de fluxo de bits são como se segue: bitstream_restriction_flag igual a 1 especifica que os parâmetros de restrição de flu- xo de bits de sequência de vídeo codificado seguinte estão presentes. bitstream_restriction_flag igual a 0 especifica que os parâmetros de restrição de flu- xo de bits de sequência de vídeo codificado seguinte não estão presentes. motion_vectors_over_pic_boundaries_flag igual a 0 indica que nenhuma amostra fora dos limites de imagem e nenhuma amostra em uma posição de amostra fracionária cujo valor é derivado usando uma ou mais amostras fora dos limites de imagem são usadas para predição intra de qualquer amostra. motion_vectors_over_pic_boundaries_flag igual a 1 indica que uma ou mais amos- tras fora dos limites de imagem podem ser usadas em predição intra. Quando o elemento de sintaxe motion_vectors_over_pic_boundaries_flag não está presente, o valor de moti- on_vectors_over_pic_boundaries_flag deve ser inferido para ser igual a 1. max_bytes_per_pic_denom indica um número de bytes não excedido pela soma dos tamanhos das unidades de camada de abstração de rede (NAL) de camada de codifica- ção virtual (VCL) associadas com qualquer imagem codificada na sequência de vídeo codifi- cado. O número de bytes que representam uma imagem no fluxo de unidade de camada de abstração de rede é especificado para este propósito como o número total de bytes de dados de unidade de camada de abstração de rede de camada de codificação virtual (isto é, o total das variáveis NumBytesInNALunit para as unidades de camada de abstração de rede de camada de codificação virtual) para a imagem. O valor de max_bytes_per_pic_denom deve estar na faixa de 0 a 16, inclusivo.
Dependendo do max_bytes_per_pic_denom o seguinte se aplica: - Se max_bytes_per_pic_denom for igual a 0, então nenhum limite é indicado. - De outro modo (max_bytes_per_pic_denom não é igual a 0), nenhuma imagem codificada deve ser representada na sequência de vídeo codificado por mais que o seguinte número de bytes: (PicSizelnMbs * RawMbBits) -*■ (8 * max_bytes_per_pic_denom) Quando o elemento de sintaxe max_bytes_per_piç_denom não está presente, o va- lor de max_bytes_per_pic_denom deve ser inferido para ser igual a 2. A variável PicSize- lnMbs é o número de macroblocos na imagem. A variável RawMbBits é derivada tal como na subcláusula 7.4.2.1 do Padrão MPEG-4 AVC. max_bytes_per_mb_denom indica o número máximo de bits codificados dos dados macroblock_layer() para qualquer macrobloco em qualquer imagem da sequência de vídeo codificado. O valor de max_bytes_per_mb_denom deve estar na faixa de 0 a 16, inclusivo.
Dependendo do max_bytes_per_mb_denom o seguinte se aplica: - Se max_bytes_per_mb_denom for igual a 0, então nenhum limite é especificado. - De outro modo (max_bytes_per_mb_denom não é igual a 0), nenhum macrob- lock_layer() codificado deve ser representado no fluxo de bits por mais que o seguinte nú- mero de bits: (128 + RawMbBits) + max_bytes_per_mb_denom Dependendo do entropy_coding_mode_flag, os bits dos dados de macrob- lock_layer() são contados como se segue: - Se entropy_coding_mode_flag for igual a 0, então o número de bits dos dados de macroblockJayerO é dado pelo número de bits na estrutura de sintaxe macroblock_layer() para um macrobloco. - De outro modo (entropy_coding_mode_flag é igual a 1), o número de bits dos da- dos de macroblock_layer() para um macrobloco é dado pelo número de vezes que re- ad_bits(1) é chamado nas subcláusulas 9.3.3.2.2 e 9.3.3.2.3 do Padrão MPEG-4 AVC quan- do analisando sintaticamente o macroblockJayerO associado com o macrobloco.
Quando o maxJjytes_per_mb_denom não está presente, o valor de max_bytes_per_mb_denom deve ser inferido para ser igual a 1. log2_max_mvJength_horizontal e log2_max_mvJength_vertical indicam o valor absoluto máximo de um componente de vetor de movimento horizontal e vertical decodifica- do, respectivamente, em unidades de amostra de luminância de 1/4, para todas as imagens na sequência de vídeo codificado. Um valor de n expressa que nenhum valor de um compo- nente de vetor de movimento deve exceder a faixa de -2n a 2n-1, inclusivo, em unidades de deslocamento de amostra de luminância de 1/4. O valor de log2_max_mvJength_horizontal deve estar na faixa de 0 a 16, inclusivo. O valor de log2_max_mvJength_vertical deve estar na faixa de 0 a 16, inclusivo. Quando log2_max_mvJength_horizontal não está presente, os valores de log2_max_mvJength_horizontal e log2_max_mvJength_vertical devem ser infe- ridos para serem iguais a 16. É para ser notado que o valor absoluto máximo de um compo- nente de vetor de movimento vertical ou horizontal decodificado também é restringido por perfil e limites de nível tal como especificado no Anexo A do Padrão MPEG-4 AVC. num_reorderJrames indica o número máximo de quadros, pares de campos com- plementares, ou campos não casados que precedem respectivamente qualquer quadro, par de campos complementares, ou campo não casado na sequência de vídeo codificado na ordem de decodificação e o segue na ordem de saída. O valor de num_reorderJrames deve estar na faixa de 0 a max_decjrame_buffering, inclusivo. Quando o elemento de sintaxe num_reorderJrames não está presente, o valor de num_reorderJrames deve ser inferido como se segue: - Se profilejdc for igual a 44, 100, 110, 122, ou 244 e constraint_set3Jlag for igual a 1, então o valor de num_reorderJrames deve ser inferido para ser igual a 0. - De outro modo (profilejdc não é igual a 44, 100, 110, 122, ou 244 ou constra- int_set3Jlag é igual a 0), o valor de num_reorderJrames deve ser inferido para ser igual a max_decJrame_bufferingMaxDpbSize. max_decjrame_buffering especifica o tamanho exigido do armazenamento tempo- rário de imagem decodificada (DPB) de decodificador hipotético de referência em unidades de armazenamentos temporários de quadro. A sequência de vídeo codificado não deve exi- gir um armazenamento temporário de imagem decodificada com tamanho de mais que Max(1, max_dec_frame_buffering) armazenamentos temporários de quadro para capacitar a saída de imagens decodificadas nos tempos de saída especificados por dpb_output_delay das mensagens de Informação Suplementar de Enriquecimento (SEI) de sincronismo de imagem. O valor de maxdecframebuffering deve estar na faixa de num_ref_frames a MaxDpbSize (tal como especificado na subcláusula A.3.1 ou A.3.2 do Padrão MPEG-4 AVC), inclusivo. Quando o elemento de sintaxe max_dec_frame_buffering não está presen- te, o valor de max_dec_frame_buffering deve ser inferido como se segue: - Se profilejdc for igual a 44 ou 244 e constraint_set3_flag for igual a 1, então o va- lor de max_deç_frame_buffering deve ser inferido para ser igual a 0. - De outro modo (profilejdc não é igual a 44 ou 244 ou constraint_set3_flag é igual a 0), o valor de max_dec_frame_buffering deve ser inferido para ser igual a MaxDpbSize.
Em codificação de vídeo de múltiplas visualizações, os parâmetros de restrição de fluxo de bits customizam a operação de decodificação de um subfluxo com base em limites mais apertados. Portanto, aos parâmetros de restrição de fluxo de bits deve ser permitido serem especificados para cada subfluxo extraível de um fluxo de bits codificado de vídeo de múltiplas visualizações. De acordo com uma modalidade, propomos especificar informação de restrição de fluxo de bits para cada visualização, para cada nível temporal em uma visua- lização e/ou para cada ponto de operação.
Especificação de parâmetros de restrição de fluxo de bits para cada visualização.
Parâmetros de restrição de fluxo de bits podem ser especificados para cada visuali- zação. Propomos a sintaxe de mvç_vui_parameters_extension, a qual é uma parte da sub- set_sequence_parameter_set. A TABELA 2 ilustra a sintaxe de mvc_vui_parameters_extension. mvc_vui_parameters_extension() executa laços sobre todas as visualizações que estão associadas a esta subset_sequence_parameter_set. A viewjd de cada visualização e os parâmetros de restrição de fluxo de bits de cada visualização são especificados dentro do laço. TABELA 2 As semânticas dos elementos de sintaxe de restrição de fluxo de bits são como se segue: bitstream_restriction_flag[ i ] especifica o valor de bitstream_restriction_flag da visu- alização tendo view_id[ i ] igual a view_id. motion_vectors_over_pic_boundaries_flag[ i ] especifica o valor de moti- on_vectors_over_pic_boundaries_flag da visualização tendo view_id[ i ] igual a viewjd.
Quando o elemento de sintaxe motion_vectors_over_pic_boundaries_flag[ i ] não está pre- sente, o valor de motion_vectors_over_pic_boundaries_flag para a visualização tendo vi- ew_id[ i ] igual a view_id deve ser inferido para ser igual a 1. max_bytes_per_pic_denom[ i ] especifica o valor de max_bytes_per_pic_denom da visualização tendo view_id[ i ] igual a viewjd. Quando o elemento de sintaxe max_bytes_per_pic_denom[ i ] não está presente, o valor de max_bytes_per_pic_denom da visualização tendo view_id[ i ] igual a viewjd deve ser inferido para ser igual a 2. max_bytes_per_mb_denom[ i ] especifica o valor de max_bytes_per_mb_denom da visualização tendo view_id[ i ] igual a viewjd. Quando o max_bytes_per_mb_denom[ i ] não está presente, o valor de max_bytes_per_mb_denom da visualização tendo viewjd[ i ] igual a viewjd deve ser inferido para ser igual a 1. log2_max_mvJength_horizontal[ i ] e log2_max_mvJength_vertical[ i ] especificam respectivamente os valores de log2_max_mvJength_horizontal e log2_max_mvJength_vertical da visualização tendo viewjd[ i ] igual a viewjd. Quando log2_max_mvJength_horizontal[ i ] não está presente, os valores de log2_max_mvJength_horizontal e log2_max_mvJength_vertical da visualização tendo vi- ewjd[ i ] igual a viewjd devem ser inferidos para serem iguais a 16. num_reorderJrames[ i ] especifica o valor de num_reorder_frames da visualização tendo viewjd[ i ] igual a viewjd. O valor de num_reorderJrames[ i ] deve estar na faixa de 0 a max_decjrame_buffering, inclusivo. Quando o elemento de sintaxe num_reorderJrames[ i ] não está presente, o valor de num_reorderJrames da visualização tendo view_id[ i ] igual a viewjd deve ser inferido para ser igual a max_dec_frame_buffering. max_dec_frame_buffering[ i ] especifica o valor de max_dec_frame_buffering da vi- sualização tendo view_id[ i ] igual a viewjd. O valor de max_decj:rame_buffering[ i ] deve estar na faixa de num_ref_frames[ i ] a MaxDpbSize (tal como especificado na subcláusula A.3.1 ou A.3.2 no Padrão MPEG-4 AVC), inclusivo. Quando o elemento de sintaxe max_dec_frame_buffering[ i ] não está presente, o valor de max_decjTameJ>uffering da visualização tendo viewjd[ i ] igual a viewjd deve ser inferido para ser igual a MaxDpbSize.
Voltando à figura 3, um método exemplar para codificar parâmetros de restrição de fluxo de bits para cada visualização, usando um elemento de sintaxe mvc_vui_parameters_extension(), está indicado de uma maneira geral pelo número de refe- rência 300. O método 300 inclui um bloco de início 305 que passa o controle para um bloco de função 310. O bloco de função 310 estabelece uma variável M igual a um número de visua- lizações menos um, e passa o controle para um bloco de função 315. O bloco de função 315 grava a variável M para um fluxo de bits, e passa o controle para um bloco de função 320. O bloco de função 320 estabelece uma variável i igual a zero, e passa o controle para um blo- co de função 325. O bloco de função 325 grava um elemento de sintaxe viewjd [i], e passa o controle para um bloco de função 330. O bloco de função 330 grava um elemento de sin- taxe bitstream_restriction_flag[i], e passa o controle para um bloco de decisão 335. O bloco de decisão 335 determina se o elemento de sintaxe bitstream_restrictionJlag[i] é ou não igual a zero. Neste caso, então o controle é passado para um bloco de decisão 345. De ou- tro modo, o controle é passado para um bloco de função 340. O bloco de função 340 grava os parâmetros de restrição de fluxo de bits da visuali- zação i, e passa o controle para o bloco de decisão 345. O bloco de decisão 345 determina se a variável i é ou não igual à variável M. Neste caso, o controle é então passado para um bloco final 399. De outro modo, o controle é passado para um bloco de função 350. O bloco de função 350 estabelece a variável i igual a i mais um, e retorna o controle para o bloco de função 325.
Voltando à figura 4, um método exemplar para decodificar parâmetros de restrição de fluxo de bits para cada visualização, usando um elemento de sintaxe mvc_vui_parameters_extension(), está indicado de uma maneira geral pelo número de refe- rência 400. O método 400 inclui um bloco de início 405 que passa o controle para um bloco de função 407. O bloco de função 407 lê uma variável M de um fluxo de bits, e passa o controle para um bloco de função 410. O bloco de função 410 estabelece o número de visualizações igual à variável M mais um, e passa o controle para um bloco de função 420. O bloco de função 420 estabelece uma variável i igual a zero, e passa o controle para um bloco de fun- ção 425. O bloco de função 425 lê um elemento de sintaxe view_id[i], e passa o controle para um bloco de função 430. O bloco de função 430 lê um elemento de sintaxe bitstre- am_restriction_flag[i], e passa o controle para um bloco de decisão 435. O bloco de decisão 435 determina se o elemento de sintaxe bitstream_restriction_flag[i] é ou não igual a zero.
Neste caso, o controle é então passado para um bloco de decisão 445. De outro modo, o controle é passado para um bloco de função 440. O bloco de função 440 lê os parâmetros de restrição de fluxo de bits da visualiza- ção i, e passa o controle para o bloco de decisão 445. O bloco de decisão 445 determina se a variável i é ou não igual à variável M. Neste caso, o controle é então passado para um bloco final 499. De outro modo, o controle é passado para um bloco de função 450. O bloco de função 450 estabelece a variável i igual a i mais um, e retorna o controle para o bloco de função 425.
Especificação de parâmetros de restrição de fluxo de bits para cada nível temporal de cada visualização.
Parâmetros de restrição de fluxo de bits podem ser especificados para cada nível temporal de cada visualização. Propomos a sintaxe de mvc_vui_parameters_extension, a qual é uma parte da subset_sequence_parameter_set. A TABELA 3 ilustra a sintaxe de m vc_vui_parameters_extension. TABELA 3 As semânticas dos elementos de sintaxe de restrição de fluxo de bits são como se segue: bitstream_restriction_flag[ i ][ j ] especifica o valor de fluxo de bits restriction_flag do nível temporal tendo temporal_id[ i ][ j ] igual a temporaljd na visualização tendo view_id[ i ] igual a view_id. motion_vectors_over_pic_boundaries_flag[ i ][ j ] especifica o valor de moti- on_vectors_over_piç_boundaries_flag do nível temporal tendo temporaljdf i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd. Quando o elemento de sintaxe motion_vectors_over_pic_boundariesJ:lag[ i ] não está presente, o valor de moti- on_vectors_over_piç_boundariesjlag do nível temporal tendo tempora!Jd[ i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd deve ser inferido para ser igual a 1. max_bytes_per_pic_denom[ i ][ j ] especifica o valor de max_bytes_per_pic_denom do nível temporal tendo temporalJd[ i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd. Quando o elemento de sintaxe max_bytes_per_pic_denom[ i ] não está presente, o valor de max_bytes_per_pic_denom do nível temporal tendo temporalJd[ i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd deve ser inferido para ser igual a 2. max_bytes_per_mb_denom[ i ][ j ] especifica o valor de max_bytes_per_mb_denom do nível temporal tendo temporaljdf i ][ j ] igual a temporaljd na visualização tendo viewjdf i ] igual a viewjd. Quando o max_bytes_per_mb_denom[ i ] não está presente, o valor de max_bytes_per_mb_denom do nível temporal tendo temporalJd[ i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd deve ser inferido para ser igual a 1. log2_max_mvJength_horizontal[ i ][ j ] e log2_max_mvJength_vertical[ i ][j ] espe- cificam respectivamente os valores de log2_max_mvJength_horizontal e log2_max_mvJength_vertical do nível temporal tendo temporalJd[ i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd. Quando log2_max_mvJengthJiorizontal[ i ] não está presente, os valores de log2_max_mvJength_horizontal e log2_max_mvJength_vertical do nível temporal tendo temporalJd[ i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd devem ser inferidos para serem iguais a 16. num_reorder_frames[ i ][ j ] especifica o valor de num_reorder_frames do nível tem- poral tendo temporalJd[ i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd. O valor de num_reorder_frames[ i ] deve estar na faixa de 0 a max_dec_frame_buffering, inclusivo. Quando o elemento de sintaxe hum_reorder_frames[ i ] não está presente, o valor de num_reorder_frames do nível temporal tendo temporal_id[ i ][ j ] igual a temporaljd na visualização tendo view_id[ i ] igual a view_id deve ser inferido para ser igual a max_dec_frame_buffering. max_dec_frame_buffering[ i ][ j ] especifica o valor de max_dec_frame_buffering do nível temporal tendo temporal_id[ i ][ j ] igual a temporaljd na visualização tendo viewjd[ i ] igual a viewjd. O valor de max_dec_frame_buffering[ i ] deve estar na faixa de num_refjrames[ i ] a MaxDpbSize (tal como especificado na subclâusula A.3.1 ou A.3.2 no Padrão MPEG-4 AVC), inclusivo. Quando o elemento de sintaxe max_dec_frame_buffering[ i ] não está presente, o valor de max_dec_frame_buffering do nível temporal tendo tempo- ral Jd[ i ][ j ] igual a temporaljd na visualização tendo viewjdf i ] igual a viewjd deve ser inferido para ser igual a MaxDpbSize.
Em mvc_vui_parameters_extension(), dois laços são executados. O laço externo executa ciclo sobre todas as visualizações associadas ao subset_sequence_parameter_set. O viewjd para o número de níveis temporais de cada visualização é especificado no laço externo. O laço interno executa ciclo sobre todos os níveis temporais! de uma visualização. A informação de restrição de fluxo de bits é especificada no laço internò.
Voltando à figura 5, um método exemplar para codificar parâmetros de restrição de fluxo de bits para cada nível temporal em cada visualização, usando um elemento de sintaxe mvc_vui_parameters_extension(), está indicado de uma maneira geral pelo número de refe- rência 500. I O método 500 inclui um bloco de início 505 que passa o controle para um bloco de função 510. O bloco de função 510 estabelece uma variável M igual a um número de visua- lizações menos um, e passa o controle para um bloco de função 515. O bloco de função 515 grava a variável M para um fluxo de bits, e passa o controle para um: bloco de função 520. O bloco de função 520 estabelece uma variável i igual a zero, e passa o controle para um blo- co de função 525. O bloco de função 525 grava um elemento de sintaxe viewjd[i], e passa o controle para um bloco de função 530. O bloco de função 530 estabelece uma variável N igual a um número de níveis temporais na visualização i menos 1, e passa o controle para um bloco de função 535. O bloco de função 535 grava a variável N para o fluxo de bits, e passa o controle para um bloco de função 540. O bloco de função 540 estabelece uma vari- ável j igual a zero, e passa o controle para um bloco de função 545. O bloco de função 545 grava um elemento de sintaxe temporalJd[i][j], e passa o controle para um bloco de função 550. O bloco de função 550 grava um elemento de sintaxe bitstream_restrictionJlag[i][j], e passa o controle para um bloco de decisão 555. O bloco de decisão 555 determina se o e- lemento de sintaxe bitstream_restrictionJlag[i][j] é ou não igual a zero. Neste caso, o contro- le é então passado para um bloco de decisão 565. De outro modo, o controle é passado para um bloco de função 560. O bloco de função 560 grava os parâmetros de restrição de fluxo de bits de nível temporal j na visualização i, e passa o controle para o bloco de decisão 565. O bloco de de- cisão 565 determina se a variável j é ou não igual à variável N. Neste caso, o controle é en- tão passado para um bloco de decisão 570. De outro modo, o controle é passado para um bloco de função 575. O bloco de decisão 570 determina se a variável i é ou não igual à variável M. Neste caso, o controle é então passado para um bloco final 599. De outro modo, o controle é pas- sado para um bloco de função 580. O bloco de função 580 estabelece a variável i igual a i mais um, e retorna o controle para o bloco de função 525. O bloco de função 575 estabelece a variável j igual a j mais um, e retoma o controle para o bloco de função 545.
Voltando à figura 6, um método exemplar para decodificar parâmetros de restrição de fluxo de bits para cada nível temporal em cada visualização, usando um elemento de sintaxe mvc_vui_parameters_extension(), está indicado de uma maneira geral pelo número de referência 600. O método 600 inclui um bloco de início 605 que passa o controle para um bloco de função 607. O bloco de função 607 lê uma variável M de um fluxo de bits, e passa o controle para um bloco de função 610. O bloco de função 610 estabelece um número de visualiza- ções igual a M mais um, e passa o controle para um bloco de função 620. O bloco de função 620 estabelece uma variável i igual a zero, e passa o controle para um bloco de função 625. O bloco de função 625 lê um elemento de sintaxe view_id[i], e passa o controle para um bloco de função 627. O bloco de função 627 lê uma variável N do fluxo de bits, e passa o controle para um bloco de função 630. O bloco de função 630 estabelece um número de níveis temporais na visualização i igual a N mais 1, e passa o controle para um bloco de função 640. O bloco de função 640 estabelece uma variável j igual a zero, e passa o contro- le para um bloco de função 645. O bloco de função 645 lê um elemento de sintaxe tempo- ral_id[i][j], e passa o controle para um bloco de função 650. O bloco de função 650 lê um elemento de sintaxe bitstream_restriction_flag[i][j], e passa o controle para um bloco de de- cisão 655. O bloco de decisão 655 determina se o elemento de sintaxe bitstre- am_restriction_flag[i][j] é ou não igual a zero. Neste caso, o controle é então passado para um bloco de decisão 665. De outro modo, o controle é passado para um bloco de função 660. O bloco de função 660 lê os parâmetros de restrição de fluxo de bits de nível tem- poral j na visualização i, e passa o controle para o bloco de decisão 665. O bloco de decisão 665 determina se a variável j é ou não igual à variável N. Neste caso, o controle é então passado para um bloco de decisão 670. De outro modo, o controle é passado para um bloco de função 675. O bloco de decisão 670 determina se a variável i é ou não igual à variável M. Neste caso, o controle é então passado para um bloco final 699. De outro modo, o controle é pas- sado para um bloco de função 680. O bloco de função 680 estabelece a variável i igual a i mais um, e retorna o controle para o bloco de função 625. O bloco de função 675 estabelece a variável j igual a j mais um, e retorna o controle para o bloco de função 645.
Especificação de informação de restrição de fluxo de bits para cada ponto de ope- ração.
Parâmetros de restrição de fluxo de bits podem ser especificados para cada ponto de operação. Propomos transportar os parâmetros de restrição de fluxo de bits de cada pon- to de operação na mensagem SEI de informação de escalabilidade de visualização. A sinta- xe de mensagem SEI de informação de escalabilidade de visualização pode ser modificada tal como na TABELA 4. A sintaxe para informação de restrição de fluxo de bits é inserida em um laço que executa ciclo sobre todos os pontos de operação. TABELA 4 As semânticas dos elementos de sintaxe de restrição de fluxo de bits são como se segue: bitstream_restriction_flag[ i ] especifica o valor de bitstream_restriction_flag do pon- to de operação tendo operation_point_id[ i ] igual a operation_point_id. motion_vectors_over_pic_boundaries_flag[ i ] especifica o valor de moti- on_vectors_over_pic_boundaries_flag do ponto de operação tendo operation_point_id[ i ] igual a operation_point_id. Quando o elemento de sintaxe moti- on_vectors_over_pic_boundaries_flag[ i ] não está presente, o valor de moti- on_vectors_over_pic_boundaries_flag do ponto de operação tendo operation_point_id[ i ] igual a operation_point_id deve ser inferido para ser igual a 1. max_bytes_per_pic_denom[ i ] especifica o valor de max_bytes_per_pic_denom do ponto de operação tendo operation_point_id[ i ] igual a operation_point_id. Quando o ele- mento de sintaxe max_bytes_per_pic_denom[ i ] não está presente, o valor de max_bytes_per_piç_denom do ponto de operação tendo operation_point_id[ i ] igual a ope- ration_point_id deve ser inferido para ser igual a 2. max_bytes_per_mb_denom[ i ] especifica o valor de max_bytes_per_mb_denom do ponto de operação tendo operation_point_id[ i ] igual a operation_point_id. Quando o max_bytes_per_mb_denom[ i ] não está presente, o valor de max_bytes_per_mb_denom do ponto de operação tendo operation_point_id[ i ] igual a operation_point_id deve ser inferido para ser igual a 1. log2_max_mv_length_horizontal[ i ] e log2_max_mv_length_vertical[ i ] especificam respectivamente o valor de log2_max_mv_length_horizontal e o valor de iog2_max_mv_length_vertical do ponto de operação tendo operation_point_id[ i ] igual a operation_point_id. Quando log2_max_mv_length_horizontal[ i ] não está presente, os valo- res de log2_max_mv_length_horizontal e log2_max_mv_length_vertical do ponto de opera- ção tendo operation_point_id[ i ] igual a operation_point_id devem ser inferidos para serem iguais a 16. num_reorder_frames[ i ] especifica o valor de num_reorder_frames do ponto de o- peração tendo operation_point_id[ i ] igual a operation_point_id. O valor de num_reorder_frames[ i ] deve estar na faixa de 0 a max_dec_frame_buffering, inclusivo.
Quando o elemento de sintaxe num_reorder_frames[ i ] não está presente, o valor de num_reorder_frames do ponto de operação tendo operation_point_id[ i ] igual a operati- on_point_id deve ser inferido para ser igual a max_dec_frame_buffering. max_dec_frame_buffering[ i ] especifica o valor de max_dec_frame_buffering do ponto de operação tendo operation_point_id[ i ] igual a operation_point_id. O valor de max_dec_frame_buffering[ i ] deve estar na faixa de num_ref_frames[ i ] a MaxDpbSize (tal como especificado na subcláusula A.3.1 ou A.3.2 no Padrão MPEG-4 AVC), inclusivo.
Quando o elemento de sintaxe max_dec_frame_buffering[ i ] não está presente, o valor de max_dec_frame_buffering do ponto de operação tendo operation_point_id[ i ] igual a opera- tion_point_id deve ser inferido para ser igual a MaxDpbSize.
Voltando à figura 7, um método exemplar para codificar parâmetros de restrição de, fluxo de bits para cada ponto de operação, usando um elemento de sintaxe vi- ew_scalability_parameters_extension(), está indicado de uma maneira geral pelo número de referência 700. O método 700 inclui um bloco de início 705 que passa o controle para um bloco de função 710. O bloco de função 710 estabelece uma variável M igual a um número de pontos de operação menos um, e passa o controle para um bloco de função 715. O bloco de função 715 grava a variável M para um fluxo de bits, e passa o controle para um bloco de função 720. O bloco de função 720 estabelece uma variável i igual a zero, e passa o controle para um bloco de função 725. O bloco de função 725 grava um elemento de sintaxe operati- on__point_id[i], e passa o controle para um bloco de função 730. O bloco de função 730 gra- va um elemento de sintaxe bitstream_restriction_flag[i], e passa o controle para um bloco de decisão 735. O bloco de decisão 735 determina se o elemento de sintaxe bitstre- am_restriction_flag[i] é ou não igual a zero. Neste caso, o controle é então passado para um bloco de decisão 745. De outro modo, o controle é passado para um bloco de função 740. O bloco de função 740 grava os parâmetros de restrição de fluxo de bits do ponto de operação i, e passa o controle para o bloco de decisão 745. O bloco de decisão 745 de- termina se a variável i é ou não igual à variável M. Neste caso, o controle é então passado para um bloco final 799. De outro modo, o controle é passado para um bloco de função 750. O bloco de função 750 estabelece a variável i igual a i mais um, e retorna o controle para o bloco de função 725.
Voltando à figura 8, um método exemplar para decodificar parâmetros de restrição de fluxo de bits para cada ponto de operação, usando um elemento de sintaxe vi- ew_scalability_parameters_extension(), está indicado de uma maneira geral pelo número de referência 800. O método 800 inclui um bloco de início 805 que passa o controle para um bloco de função 807. O bloco de função 807 lê uma variável M de um fluxo de bits, e passa o controle para um bloco de função 810. O bloco de função 810 estabelece um número de pontos de operação igual a M mais um, e passa o controle para um bloco de função 820. O bloco de função 820 estabelece uma variável i igual a zero, e passa o controle para um bloco de fun- ção 825. O bloco de função 825 lê um elemento de sintaxe operation_point_id[i], e passa o controle para um bloco de função 830. O bloco de função 830 lê um elemento de sintaxe bitstream_restriction_flag[i], e passa o controle para um bloco de decisão 835. O bloco de decisão 835 determina se o elemento de sintaxe bitstream_restriction_flag[i] é ou não igual a zero. Neste caso, o controle é então passado para um bloco de decisão 845. De outro mo- do, o controle é passado para um bloco de função 840. O bloco de função 840 lê os parâmetros de restrição de fluxo de bits de ponto de operação i, e passa o controle para o bloco de decisão 845. O bloco de decisão 845 deter- mina se a variável i é ou não igual à variável M. Neste caso, o controle é então passado pa- ra um bloco final 899. De outro modo, o controle é passado para um bloco de função 850. O bloco de função 850 estabelece a variável i igual a i mais um, e retorna o controle para o bloco de função 825.
Uma descrição será dada agora de algumas das muitas vantagens/recursos con- comitantes da presente invenção, alguns dos quais foram mencionados anteriormente. Por exemplo, uma vantagem/recurso é um aparelho que inclui um codificador para codificar con- teúdo de vídeo de múltiplas visualizações ao especificar Informação de Usabilidade de Ví- deo para pelo menos um de visualizações individuais, níveis temporais individuais em uma visualização e pontos de operação individuais.
Uma outra vantagem/recurso é o aparelho tendo o codificador tal como descrito an- teriormente, em que os parâmetros são especificados em pelo menos um elemento de sin- taxe de alto nível.
Além disso, uma outra vantagem/recurso é o aparelho tendo o codificador tal como descrito anteriormente, em que o pelo menos elemento de sintaxe de alto nível inclui pelo menos um de um elemento de sintaxe mvc_vui_parameters_extension(), uma mensagem de sintaxe de informação suplementar de enriquecimento mvç_scalability_info, pelo menos uma parte de um conjunto de parâmetros de sequência, um conjunto de parâmetros de imagem e informação suplementar de enriquecimento.
Adicionalmente, uma outra vantagem/recurso é o aparelho tendo o codificador tal como descrito anteriormente, em que pelo menos uma parte da Informação de Usabilidade de Vídeo compreende parâmetros de restrição de fluxo de bits.
Estes e outros recursos e vantagens dos presentes princípios podem ser pronta- mente apurados por uma pessoa de conhecimento comum na técnica pertinente com base nos preceitos neste documento. É para ser entendido que os preceitos dos presentes princí- pios podem ser implementados em várias formas de hardware, software, firmware, proces- sadores de uso especial ou combinações dos mesmos.
Mais preferivelmente, os preceitos dos presentes princípios são implementados como uma combinação de hardware e software. Além disso, o software pode ser implemen- tado como um programa de aplicação incorporado de modo tangível em uma unidade de armazenamento de programa. O programa de aplicação pode ser carregado e executado por uma máquina compreendendo qualquer arquitetura adequada. Preferivelmente, a má- quina é implementada em uma plataforma de computador tendo hardware tal como uma ou mais unidades centrais de processamento (“CPU”), uma memória de acesso aleatório (“RAM”) e interfaces de entrada/saída (“1/0”). A plataforma de computador também pode incluir um sistema de operação e código de microinstrução. Os vários processos e funções descritos neste documento podem ser parte do código de microinstrução ou parte do pro- grama de aplicação, ou de qualquer combinação dos mesmos, os quais podem ser executa- dos por uma CPU. Além do mais, várias outras unidades periféricas podem ser conectadas à plataforma de computador, tais como uma unidade de armazenamento de dados adicional e uma unidade de impressão. É para ser entendido adicionalmente que, por causa de alguns dos componentes e métodos de sistema constituinte representados nos desenhos anexos serem preferivelmente implementados em software, as conexões reais entre os componentes de sistema ou os blocos de função de processo podem diferir dependendo da maneira na qual os presentes princípios são programados. Dados os preceitos neste documento, uma pessoa de conhe- cimento comum na técnica pertinente será capaz de considerar estas e implementações ou configurações similares dos presentes princípios.
Embora as modalidades ilustrativas tenham sido descritas neste documento com referência aos desenhos anexos, é para ser entendido que os presentes princípios não es- tão limitados a essas modalidades definidas, e que várias mudanças e modificações podem ser efetuadas nas mesmas por uma pessoa de conhecimento comum na técnica pertinente sem divergir do escopo ou espírito dos presentes princípios. Todas as tais mudanças e mo- dificações são pretendidas para estarem incluídas no escopo dos presentes princípios tal como exposto nas reivindicações anexas.
REIVINDICAÇÃO

Claims (1)

1. Método, CARACTERIZADO pelo fato de que compreende: decodificar conteúdo de vídeo de múltiplas visualizações ao especificar informação de usabilidade de vídeo para pontos de operação individuais (800).
BRBR122012021798-0A 2007-10-05 2008-09-16 Método para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc) BR122012021798A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60/977,709 2007-10-05
US11/977,709 US20080115447A1 (en) 2004-08-12 2007-10-26 Method of connecting post to joist
BRPI0817420-2A BRPI0817420A2 (pt) 2007-10-05 2008-09-16 mÉtodos e aparelho para incorporar informaÇço de usabilidade de vÍdeo (vui) em um sistema de codificaÇço de vÍdeo de méltiplas visualizaÇÕes (mvc)

Publications (1)

Publication Number Publication Date
BR122012021798A2 true BR122012021798A2 (pt) 2015-08-04

Family

ID=53733565

Family Applications (1)

Application Number Title Priority Date Filing Date
BRBR122012021798-0A BR122012021798A2 (pt) 2007-10-05 2008-09-16 Método para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc)

Country Status (1)

Country Link
BR (1) BR122012021798A2 (pt)

Similar Documents

Publication Publication Date Title
BR122012021801A2 (pt) Aparelho para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc)
US9100659B2 (en) Multi-view video coding method and device using a base view
US10244231B2 (en) Method and apparatus for decoupling frame number and/or picture order count (POC) for multi-view video encoding and decoding
US20090323824A1 (en) Methods and Apparatus for Use in Multi-View Video Coding
US9641842B2 (en) Method and apparatus for decoupling frame number and/or picture order count (POC) for multi-view video encoding and decoding
BRPI0714564A2 (pt) mÉtodo e aparelhagem para capacitaÇço de graduaÇço visual por sinalizaÇço em codificaÇço multi-visual em vÍdeo
BR122012021798A2 (pt) Método para incorporar informação de usabilidade de vídeo (vui) em um sistema de codificação de vídeo de múltiplas visualizações (mvc)
AU2012261656A1 (en) Methods and apparatus for use in a multi-view video coding system

Legal Events

Date Code Title Description
B03A Publication of an application: publication of a patent application or of a certificate of addition of invention
B06F Objections, documents and/or translations needed after an examination request according art. 34 industrial property law
B25G Requested change of headquarter approved

Owner name: THOMSON LICENSING (FR)

B25G Requested change of headquarter approved

Owner name: THOMSON LICENSING (FR)

B06U Preliminary requirement: requests with searches performed by other patent offices: suspension of the patent application procedure
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 19/46

Ipc: H04N 19/46 (2014.01), H04N 19/70 (2014.01), H04N 1

B25A Requested transfer of rights approved

Owner name: INTERDIGITAL VC HOLDINGS, INC. (US)

B11B Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements