BR122018004904B1 - ladrilhamento em codificação e decodificação de vídeo - Google Patents

ladrilhamento em codificação e decodificação de vídeo Download PDF

Info

Publication number
BR122018004904B1
BR122018004904B1 BR122018004904-9A BR122018004904A BR122018004904B1 BR 122018004904 B1 BR122018004904 B1 BR 122018004904B1 BR 122018004904 A BR122018004904 A BR 122018004904A BR 122018004904 B1 BR122018004904 B1 BR 122018004904B1
Authority
BR
Brazil
Prior art keywords
view
function block
image
views
video
Prior art date
Application number
BR122018004904-9A
Other languages
English (en)
Inventor
Tian Dong
Yin Peng
Bibhas Pandit Purvin
Original Assignee
Dolby Int 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39810226&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR122018004904(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Dolby Int Ab filed Critical Dolby Int Ab
Publication of BR122018004904B1 publication Critical patent/BR122018004904B1/pt

Links

Classifications

    • 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
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format

Abstract

são providas implementações que se referem, por exemplo, à visualização de ladrilhamento em codificação e decodificação de vídeo. um método específico inclui acessar uma imagem de vídeo que inclui múltiplas imagens combinadas em uma única imagem (826), acessar informação indicando como as múltiplas imagens na imagem de vídeo acessada são combinadas (806, 808, 822), decodificar a imagem de vídeo para prover uma representação decodificada de ao menos uma das múltiplas imagens (824, 826) e prover a informação acessada e a imagem de vídeo decodificada como saída (824, 826). algumas ouras implementações formatam ou processam a informação que indica como múltiplas imagens incluídas em uma única imagem de vídeo são combinadas na imagem de vídeo única, e formatam ou processam uma representação codificada das múltiplas imagens combinadas.

Description

“LADRILHAMENTO EM CODIFICAÇÃO E DECODIFICAÇÃO DE VÍDEO”
REFERÊNCIA REMISSIVA A PEDIDOS CORRELATOS [001]Dividido do pedido de patente de invenção PI 0809510-8, depositado em 11/04/2008.
[002]Esse pedido reivindica o benefício de cada um de: (1) Pedido Provisório dos Estados Unidos 60/923.014, depositado em 12 de abril de 2007, e intitulado “Multiview Information” (N° do Dossiê do Advogado PU070078), e (2) Pedido Provisório dos Estados Unidos 60/925.400, depositado em 20 de abril de 2007 e intitulado “View Tiling in MVC Coding” (N° do Dossiê do Advogado PU070103). Cada um desses dois pedidos é aqui incorporado integralmente mediante referência.
CAMPO TÉCNICO [003]Os presentes princípios se referem geralmente à codificação e/ou decodificação de vídeo.
ANTECEDENTES [004]Os fabricantes de vídeo podem utilizar uma arquitetura de disposição ou ladrilhamento de diferentes listas em um único quadro. As vistas podem ser então extraídas de seus locais respectivos e renderizadas.
SUMÁRIO [005]De acordo com um aspecto geral, é acessada uma imagem de vídeo que inclui múltiplas imagens combinadas em uma única imagem. Informação é acessada indicando como as múltiplas imagens, na imagem de vídeo acessada, são combinadas. A imagem de vídeo é decodificada para prover uma representação decodificada das múltiplas imagens combinadas. A informação acessada e a imagem de vídeo decodificada são providas como saída.
[006]De acordo com outro aspecto geral, é gerada informação indicando como múltiplas imagens incluídas em uma imagem de vídeo são combinadas em uma única imagem. A imagem de vídeo é codificada para prover uma representação codificada
Petição 870180019966, de 12/03/2018, pág. 11/105
2/63 das múltiplas imagens combinadas. A informação gerada e a imagem de vídeo codificada são providas como saída.
[007]De acordo com outro aspecto geral, um sinal ou uma estrutura de sinal inclui informação indicando como múltiplas imagens incluídas em uma única imagem de vídeo são combinadas na única imagem de vídeo. O sinal ou a estrutura de sinal inclui também uma representação codificada das múltiplas imagens combinadas.
[008]De acordo com outro aspecto geral, uma imagem de vídeo é acessada a qual inclui múltiplas imagens combinadas em uma única imagem. Informação é acessada a qual indica como as múltiplas imagens na imagem de vídeo acessada são combinadas. A imagem de vídeo é decodificada para prover uma representação decodificada de ao menos uma das múltiplas imagens. A informação acessada e a representação decodificada são providas como saída.
[009]De acordo com outro aspecto geral, é acessada uma imagem de vídeo a qual inclui múltiplas imagens combinadas em uma única imagem. É acessada informação a qual indica como as múltiplas imagens na imagem de vídeo acessada são combinadas. A imagem de vídeo é decodificada para prover uma representação decodificada das múltiplas imagens combinadas. Entrada de usuário é recebida a qual seleciona ao menos uma das múltiplas imagens para exibição. Uma saída decodificada da ao menos uma imagem selecionada é provida, a saída decodificada sendo provida com base na informação acessada, na representação decodificada, e na entrada de usuário.
[010]Os detalhes de uma ou mais implementações são apresentados nos desenhos anexos e na descrição abaixo. Mesmo se descritas de uma forma específica, deve ser evidente que as implementações podem ser configuradas ou incorporadas de diversas maneiras. Por exemplo, uma implementação pode ser realizada como um método, ou incorporada como um aparelho configurado para realizar um conjunto de operações, ou incorporada como um aparelho armazenando
Petição 870180019966, de 12/03/2018, pág. 12/105
3/63 instruções para realizar um conjunto de operações, ou incorporada em um sinal. Outros aspectos e características se tornarão evidentes a partir da descrição detalhada seguinte, considerada em conjunto com os desenhos anexos e com as reivindicações.
DESCRIÇÃO RESUMIDA DOS DESENHOS [011]A Figura 1 é um diagrama mostrando um exemplo de quatro vistas ladrilhadas em um único quadro;
[012]A Figura 2 é um diagrama mostrando um exemplo de quatro vistas viradas e ladrilhadas em um único quadro;
[013]A Figura 3 mostra um diagrama de blocos para um codificador de vídeo ao qual podem ser aplicados os presentes princípios, de acordo com uma modalidade dos presentes princípios;
[014]A Figura 4 mostra um diagrama de blocos para um decodificador de vídeo ao qual podem ser aplicados os presentes princípios, de acordo com uma modalidade dos presentes princípios;
[015]A Figura 5 é um fluxograma para um método para codificar imagens para uma pluralidade de vistas utilizando o Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[016]A Figura 6 é um fluxograma para um método para codificar imagens para uma pluralidade de vistas utilizando o Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[017]A Figura 7 é um fluxograma para um método para codificar imagens para uma pluralidade de vistas e profundidades utilizando o Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[018]A Figura 8 é um fluxograma para um método para decodificar uma pluralidade de vistas e profundidades utilizando o Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
Petição 870180019966, de 12/03/2018, pág. 13/105
4/63 [019]A Figura 9 é um diagrama mostrando um exemplo de um sinal de profundidade, de acordo com uma modalidade dos presentes princípios;
[020]A Figura 10 é um diagrama mostrando um exemplo de um sinal de profundidade adicionado com um ladrilho, de acordo com uma modalidade dos presentes princípios;
[021]A Figura 11 é um diagrama mostrando um exemplo de cinco vistas ladrilhadas em um único quadro, de acordo com uma modalidade dos presentes princípios.
[022]A Figura 12 é um diagrama de blocos para um codificador de Codificação de Vídeo de Múltiplas Vistas (MVC) exemplar ao qual podem ser aplicados os presentes princípios, de acordo com uma modalidade dos presentes princípios;
[023]A Figura 13 é um diagrama de blocos para um decodificador de Codificação de Vídeo de Múltiplas Vistas (MVC) exemplar ao qual podem ser aplicados os presentes princípios, de acordo com uma modalidade dos presentes princípios;
[024]A Figura 14 é um fluxograma para um método para processar imagens para uma pluralidade de vistas em preparação para codificação das imagens utilizando a extensão de codificação de vídeo de múltiplas vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[025]A Figura 15 é um fluxograma para um método para codificar imagens para uma pluralidade de vistas utilizando a extensão de Codificação de Vídeo de Múltiplas Vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[026]A Figura 16 é um fluxograma para um método para processar imagens para uma pluralidade de vistas em preparação para a decodificação das imagens utilizando a extensão de codificação de vídeo de múltiplas vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
Petição 870180019966, de 12/03/2018, pág. 14/105
5/63 [027]A Figura 17 é um fluxograma para um método para decodificar imagens para uma pluralidade de vistas utilizando a extensão de Codificação de Vídeo de Múltiplas Vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[028]A Figura 18 é um fluxograma para um método para processar imagens para uma pluralidade de vistas e profundidades em preparação para codificação das imagens utilizando a extensão de Codificação de Vídeo de Múltiplas Vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[029]A Figura 19 é um fluxograma para um método para codificar imagens para uma pluralidade de vistas e profundidades utilizando a extensão de Codificação de Vídeo de Múltiplas Vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[030]A Figura 20 é um fluxograma para um método para processar imagens para uma pluralidade de vistas e profundidades em preparação para decodificação das imagens utilizando a extensão de Codificação de Vídeo de Múltiplas Vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[031]A Figura 21 é um fluxograma para um método para decodificar imagens para uma pluralidade de vistas e profundidades utilizando a extensão de Codificação de Vídeo de Múltiplas Vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
[032]A Figura 22 é um diagrama mostrando exemplos de ladrilhamento no nível de pixel, de acordo com uma modalidade dos presentes princípios; e [033]A Figura 23 mostra um diagrama de blocos para um dispositivo de processamento de vídeo, ao qual podem ser aplicados os presentes princípios, de acordo com uma modalidade dos presentes princípios.
DESCRIÇÃO DETALHADA [034]Várias implementações são dirigidas aos métodos e aparelho para
Petição 870180019966, de 12/03/2018, pág. 15/105
6/63 visualizar ladrilhamento em codificação e decodificação de vídeo. Assim será considerado que aqueles versados na técnica poderão conceber vários arranjos que, embora não sejam aqui descritos ou mostrados explicitamente, incorporam os princípios e são incluídos dentro de seu espírito e escopo.
[035]Todos os exemplos e linguagem condicional, aqui citados, pretendem ter propósitos pedagógicos para auxiliar o leitor no entendimento dos presentes princípios e conceitos contribuídos pelo inventor(es) para favorecer a técnica, e devem ser considerados como sendo sem limitação a tais exemplos e condições especificamente citados.
[036]Além disso, todas as declarações feitas aqui citando princípios, aspectos e modalidades dos presentes princípios, assim como seus exemplos específicos, pretendem abranger seus equivalentes não apenas estruturais como também funcionais. Adicionalmente, pretende-se que tais equivalentes incluam os equivalentes atualmente conhecidos assim como os equivalentes desenvolvidos no futuro, isto é, quaisquer elementos desenvolvidos que realizem a mesma função, independente da estrutura.
[037]Assim, por exemplo, será considerado por aqueles versados na técnica que os diagramas de blocos apresentados aqui representam vistas conceptuais de conjuntos de circuitos ilustrativos incorporando os presentes princípios. Similarmente, será considerado que quaisquer fluxogramas, diagramas, diagramas de transição de estado, pseudocódigo, e semelhante, representam vários processos que podem ser substancialmente representados em meios legíveis por computador e assim executados por um computador ou processador, seja o tal computador ou processador mostrado ou não explicitamente.
[038]As funções dos vários elementos mostrados nas figuras podem ser providas através do uso de hardware dedicado assim como hardware capaz de executar software em associação com software apropriado. Quando providas por um
Petição 870180019966, de 12/03/2018, pág. 16/105
7/63 processador, as funções podem ser providas por um único processador dedicado, por um único processador compartilhado, ou por uma pluralidade de processadores individuais, alguns dos quais podem ser compartilhados. Além disso, o uso explícito do termo “processador” ou “controlador” não deve ser considerado como se referindo exclusivamente a hardware capaz de executar software, e pode incluir implicitamente, sem limitação, hardware de processador de sinal digital (“DSP”), memória de leitura (“ROM”) para armazenar software, memória de acesso aleatório (“RAM”), e meio de armazenamento não-volátil.
[039]Outro hardware, convencional e/ou especial, também pode ser incluído. Similarmente, quaisquer comutadores mostrados nas figuras são apenas conceptuais. A função dos mesmos pode ser realizada através da operação de lógica de programa, através de lógica dedicada, através da interação de controle de programa e lógica dedicada, ou até mesmo manualmente, a técnica específica podendo ser selecionável pelo implementador conforme entendido mais especificamente a partir do contexto.
[040]Nas reivindicações quaisquer elementos expressos como um meio para realizar uma função especificada pretende abranger qualquer forma de realizar essa função incluindo, por exemplo, a) uma combinação de elementos de circuito que realizam essa função ou b) software em qualquer forma, incluindo, portanto, firmware, microcódigo ou semelhante, combinado com conjunto de circuito apropriado para executar esses softwares para realizar a função. Os presentes princípios conforme definidos por tais reivindicações residem no fato de que as funcionalidades providas pelos vários meios citados são combinadas e unidas na forma na qual demandada pelas reivindicações. Considera-se assim que quaisquer meios que possam prover essas funcionalidades são equivalentes àqueles aqui mostrados.
[041]Referência no relatório descritivo a “uma modalidade” ou (“uma implementação”) ou “uma modalidade” (ou “uma implementação”) dos presentes princípios significa que um aspecto, estrutura, característica, específica, e assim por
Petição 870180019966, de 12/03/2018, pág. 17/105
8/63 diante descrito em conexão com a modalidade é incluído em ao menos uma modalidade dos presentes princípios. Assim, o surgimento da frase “em uma modalidade” ou “em alguma modalidade” aparecendo em vários locais por todo o relatório descritivo não se referem todos à mesma modalidade.
[042]Deve ser considerado que o uso dos termos “e/ou” e “ao menos um de”, por exemplo, nos casos de “A e/ou B” e “ao menos um de A e B”, pretende abranger a seleção da primeira opção relacionada (A) apenas, ou a seleção da segunda opção relacionada (B) apenas, ou a seleção de ambas as opções (A e B). Como um exemplo adicional, nos casos de “A, B, e/ou C” e “ao menos um de A, B e C”, tal frase pretende abranger a seleção apenas da primeira opção relacionada (A), ou a seleção apenas da segunda opção relacionada (B), ou a seleção apenas da terceira opção relacionada (C), ou a seleção apenas da primeira e da segunda opção relacionada (A e B), ou a seleção apenas da primeira e terceira opção relacionada (A e C), ou a seleção apenas da segunda e terceira opção relacionada (B e C), ou a seleção de todas as três opções (A e B e C). Isso pode ser estendido, como prontamente evidente para aqueles de conhecimento comum nessas técnicas e nas técnicas relacionadas, portanto, aos muitos itens relacionados.
[043]Além disso, deve ser considerado que embora uma ou mais modalidades dos presentes princípios sejam descritas aqui com relação ao padrão MPEG-4 AVC, os presentes princípios não são limitados apenas a esse padrão e, assim, podem ser utilizados com relação a outros padrões, recomendações, e extensões dos mesmos, particularmente padrões de codificação de vídeo, recomendações, e extensões dos mesmos, incluindo extensões do padrão MPEG-4 AVC, enquanto mantendo o espírito dos presentes princípios.
[044]Além disso, deve ser considerado que embora uma ou mais diferentes modalidades dos presentes princípios sejam descritas aqui com relação à extensão de codificação de vídeo de múltiplas vistas do padrão MPEG-4 AVC, os presentes
Petição 870180019966, de 12/03/2018, pág. 18/105
9/63 princípios não são limitados apenas a essa extensão e/ou esse padrão e, assim, podem ser utilizados com relação a outros padrões de codificação de vídeo, recomendações e extensões dos mesmos relacionados à codificação de vídeo de múltiplas vistas, enquanto mantendo o espírito dos presentes princípios. Codificação de vídeo de múltiplas vistas (MVC) é a estrutura de compactação para a codificação de sequências de múltiplas vistas. Uma sequência de Codificação de Vídeo de Múltiplas Vistas (MVC) é um conjunto de duas ou mais sequências de vídeo que capturam a mesma cena de um ponto de vista diferente.
[045]Além disso, deve ser considerado que embora uma ou mais diferentes modalidades dos presentes princípios sejam descritas aqui as quais utilizam informação de profundidade com relação ao conteúdo de vídeo, os presentes princípios não são limitados a tais modalidades e, assim, outras modalidades podem ser implementadas as quais não utilizam informação de profundidade, enquanto mantendo o espírito dos presentes princípios.
[046]Adicionalmente, conforme aqui usado, “sintaxe de alto nível” se refere à sintaxe presente no fluxo de bits que reside hierarquicamente acima da camada de macrobloco. Por exemplo, sintaxe de alto nível, conforme aqui usada, pode se referir, mas não é limitada à sintaxe no nível de cabeçalho de seção, nível de Informação de Otimização Suplementar (SEI), nível de Conjunto de Parâmetros de Imagem (PPS), nível de Conjunto de Parâmetros de Sequência (SPS), Conjunto de Parâmetros de Vista (VPS), e nível de cabeçalho de unidade de Camada de Abstração de Rede (NAL).
[047]Na presente implementação de codificação de multivídeo (MVC) com base na recomendação H.264 da Organização Internacional para Padronização/Comissão Eletrotécnica Internacional (ISO/IEC) da União de Telecomunicação Internacional/Padrão de Codificação de Vídeo Avançado (AVC) Parte 10 do Grupo 4 de Especialistas Cinematográficos (MPEG-4) (em seguida o
Petição 870180019966, de 12/03/2018, pág. 19/105
10/63 “Padrão MPEG-4 AVC”), o software de referência obtém predição de múltiplas vistas mediante codificação de cada vista com um único codificador considerando as referências de vistas cruzadas. Cada vista é codificada como um fluxo de bits, separado pelo codificador em sua resolução original e posteriormente todos os fluxos de bits são combinados para formar um único fluxo de bits o qual é então decodificado. Cada vista produz uma saída decodificada YUV separada.
[048]Outra abordagem para predição de múltiplas vistas envolve agrupar um conjunto de vistas em pseudovistas. Em um exemplo dessa abordagem, podemos ladrilhar as imagens a partir de cada N vistas de um total de M vistas (amostradas ao mesmo tempo) em um quadro maior ou em um superquadro com possível amostragem descendente ou outras operações. De acordo agora com a Figura 1, um exemplo das quatro vistas ladrilhadas em um único quadro é indicado geralmente pelo numeral de referência 100. Todas as quatro vistas estão em sua orientação normal.
[049]De acordo com a Figura 2, um exemplo de quatro vistas viradas e ladrilhadas em um único quadro é indicado geralmente pelo numeral de referência 200. A vista superior esquerda está em sua orientação normal. A vista superior direita está virada horizontalmente. A vista inferior esquerda está virada verticalmente. A vista inferior direita está virada horizontalmente assim como verticalmente. Assim, se houver quatro vistas, então uma imagem a partir de cada vista é disposta em um superquadro como um ladrilho. Isso resulta em uma única sequência de entrada nãocodificada com uma grande resolução.
[050]Alternativamente, podemos amostrar descendentemente a imagem para produzir uma resolução menor. Assim, criamos múltiplas sequências cada uma das quais inclui diferentes vistas que são ladrilhadas juntas. Cada tal sequência forma então uma pseudovista, onde cada pseudovista inclui N diferentes vistas ladrilhadas. A Figura 1 mostra uma pseudovista, e a Figura 2 mostra outra pseudovista. Essas pseudovistas podem ser então codificadas utilizando-se os padrões de codificação de
Petição 870180019966, de 12/03/2018, pág. 20/105
11/63 vídeo existentes tal como o Padrão ISO/IEC MPEG-2 e o Padrão MPEG-4 AVC.
[051]Ainda outra abordagem para predição de múltiplas vistas envolve simplesmente a codificação das diferentes vistas usando independentemente um novo padrão e, após a decodificação, ladrilhamento das vistas conforme exigido pelo aparelho de reprodução.
[052]Adicionalmente, em outra abordagem, as vistas também podem ser ladrilhadas na forma de pixel. Por exemplo, em uma super vista que é composta de quatro vistas, pixel (x, y) pode ser a partir da vista 0, enquanto que pixel (x+1, y) pode ser a partir da vista 1, pixel (x, y+1) pode ser a partir da vista 2, e pixel (x+1, y+1) pode ser a partir da vista 3.
[053]Muitos fabricantes de vídeo utilizam tal estrutura de arranjo ou ladrilhamento de diferentes vistas em um único quadro e então a extração das vistas a partir de seus locais respectivos e renderização das mesmas. Em tais casos, não há forma padrão para determinar se o fluxo de bits tem tal propriedade. Assim, se um sistema utiliza o método de ladrilhar imagens de vistas diferentes em um quadro grande, então o método de extrair as diferentes vistas é registrado.
[054]Contudo, não há uma forma padrão para determinar se o fluxo de bits tem tal propriedade. Propomos sintaxe de alto nível para facilitar o aparelho de renderização ou reprodução a extrair tal informação para auxiliar na exibição ou outro processamento posterior. Também é possível que as subimagens tenham diferentes resoluções e certa amostragem ascendente pode ser necessária para eventualmente renderizar a vista. O usuário pode pretender ter o método de amostragem ascendente também indicado na sintaxe de alto nível. Adicionalmente, os parâmetros para mudar o foco de profundidade também podem ser transmitidos.
[055]Em uma modalidade, propomos uma mensagem de Informação de Otimização Suplementar (SEI) nova para sinalizar informação de múltiplas vistas em um Padrão MPEG-4 AVC compatível com o fluxo de bits onde cada imagem inclui
Petição 870180019966, de 12/03/2018, pág. 21/105
12/63 subimagens que pertencem a uma vista diferente. A modalidade se destina, por exemplo, à exibição fácil e conveniente de fluxos de vídeo de múltiplas vistas em monitores tridimensionais (3D) os quais podem usar tal estrutura. O conceito pode ser estendido a outros padrões de codificação de vídeo e recomendações sinalizando tal informação usando sintaxe de alto nível.
[056]Além disso, em uma modalidade, propomos um método de sinalização de como dispor as vistas antes de serem enviadas para o codificador e/ou decodificador de vídeo de múltiplas vistas. Vantajosamente, a modalidade pode levar a uma implementação simplificada da codificação de múltiplas vistas, e pode se beneficiar da eficiência de codificação. Certas vistas podem ser colocadas juntas e formar uma pseudovista ou supervista e então a supervista ladrilhada é tratada como uma vista normal por um codificador e/ou decodificador de vídeo de múltiplas vistas, comum, por exemplo, de acordo com a implementação baseada no Padrão MPEG-4 AVC atual de codificação de vídeo de múltiplas vistas. Um novo sinalizador é proposto na extensão Conjunto de Parâmetros de Sequência (SPS) de codificação de vídeo de múltiplas vistas para sinalizar o uso da técnica de pseudovistas. A modalidade é pretendida para a exibição fácil e conveniente dos fluxos de vídeo de múltiplas vistas em monitores 3D que utilizam tal estrutura.
[057]Codificação/decodificação utilizando um padrão/recomendação de codificação/decodificação de vídeo de vista única [058]Na presente implementação de codificação de multivídeo (MVC), com base na recomendação H.264 da Organização Internacional para Padronização/Comissão Eletrotécnica Internacional (ISO/IEC) da União de Telecomunicação Internacional/Padrão de Codificação de Vídeo Avançado (AVC) Parte 10 do Grupo 4 de Especialistas Cinematográficos (MPEG-4), setor de telecomunicações (ITU-T) (em seguida o “Padrão MPEG-4 AVC”), o software de referência obtém predição de multivista mediante codificação de cada vista com um
Petição 870180019966, de 12/03/2018, pág. 22/105
13/63 único codificador e considerando as referências de vistas cruzadas. Cada vista é codificada como um fluxo de bits separado pelo codificador em sua resolução original e posteriormente todos os fluxos de bits são combinados para formar um único fluxo de bits que é então decodificado. Cada vista produz uma saída decodificada YUV separada.
[059]Outra abordagem para predição de multivista envolve ladrilhar as imagens a partir de cada vista (amostradas ao mesmo tempo) em um quadro maior ou em um superquadro com uma possível operação de amostragem descendente. Voltando-se agora para a Figura 1, é indicado um exemplo de quatro vistas ladrilhadas em um único quadro geralmente indicado pelo numeral de referência 100. Voltandose agora para a Figura 2, um exemplo de quatro vistas viradas e ladrilhadas em um único quadro é indicado geralmente pelo numeral de referência 200. Assim, se há quatro vistas, então uma imagem para cada vista é disposta em um superquadro como um ladrilho. Isso resulta em uma única sequência de entrada não-codificada com uma grande resolução. Esse sinal pode ser então codificado utilizando-se os padrões de codificação de vídeo existentes tal como o padrão ISO/IEC MPEG-2 e o padrão MPEG-4 AVC.
[060]Ainda outra abordagem para predição de multivista envolve simplesmente codificar as diferentes vistas independentemente utilizando um novo padrão e, após a decodificação, ladrilhar as vistas conforme exigido pelo aparelho de reprodução.
[061]Muitos fabricantes de vídeo utilizam tal estrutura de disposição ou ladrilhamento de diferentes vistas em um único quadro e então a extração das vistas a partir de seus locais respectivos e renderização das mesmas. Em tais casos, não há forma padrão de se determinar se o fluxo de bits tem tal propriedade. Assim, se um sistema utiliza o método de ladrilhar imagens de vistas diferentes em um quadro grande, então o método de extrair as diferentes vistas é registrado.
Petição 870180019966, de 12/03/2018, pág. 23/105
14/63 [062]Voltando-se agora para a Figura 3, um codificador de vídeo capaz de realizar codificação de vídeo de acordo com o padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 300.
[063]O codificador de vídeo 300 inclui um armazenador de ordenamento de quadro 310 tendo uma saída em comunicação de sinal com uma entrada de nãoinversão de um combinador 385. Uma saída do combinador 385 é conectada em comunicação de sinal com uma primeira entrada de um transformador e quantizador 325. Uma saída do transformador e quantizador 325 é conectada em comunicação de sinal com uma primeira entrada de um codificador de entropia 345 e uma primeira entrada de um transformador de inversão e quantizador de inversão 350. Uma saída do codificador de entropia 345 é conectada em comunicação de sinal com uma primeira entrada de não-inversão de um combinador 390. Uma saída do combinador 390 é conectada em comunicação de sinal com uma primeira entrada de um armazenador de saída 335.
[064]Uma primeira saída de um controlador de codificador 305 é conectada em comunicação de sinal com uma segunda entrada do armazenador de ordenamento de quadro 310, uma segunda entrada do transformador de inversão e quantizador de inversão 350, uma entrada de um módulo de decisão de tipo de imagem 315, uma entrada de um módulo de decisão de tipo de macrobloco (MB-tipo) 320, uma segunda entrada de um módulo intrapredição 360, uma segunda entrada de um filtro de desblocagem 365, uma primeira entrada de um compensador de movimento 370, uma primeira entrada de um estimador de movimento 375, e uma segunda entrada de um armazenador de imagem de referência 380.
[065]Uma segunda saída do controlador de codificador 305 é conectada em comunicação de sinal com uma primeira entrada de um meio de inserção de Informação de Otimização Suplementar (SEI) 330, uma segunda entrada do transformador e quantizador 325, uma segunda entrada do codificador de entropia
Petição 870180019966, de 12/03/2018, pág. 24/105
15/63
345, uma segunda entrada do armazenador de saída 335, e uma entrada do meio de inserção de Conjunto de Parâmetros de Sequência (SPS) e Conjunto de Parâmetros de Imagem (PPS) 340.
[066]Uma primeira saída do módulo de decisão de tipo de imagem 315 é conectada em comunicação de sinal com uma terceira entrada de um armazenador de ordenamento de quadro 310. Uma segunda saída do módulo de decisão de tipo de imagem 315 é conectada em comunicação de sinal com uma segunda entrada de um módulo de decisão de tipo de macrobloco 320.
[067]Uma saída do meio de inserção de Conjunto de Parâmetros de Sequência (SPS) e Conjunto de Parâmetros de Imagem (PPS) 340 é conectada em comunicação de sinal com uma terceira entrada de não-inversão do combinador 390. Uma saída do meio de inserção SEI 330 é conectada em comunicação de sinal com uma segunda entrada de não-inversão do combinador 390.
[068]Uma saída do quantizador de inversão e transformador de inversão 350 é conectada em comunicação de sinal com uma primeira entrada de não-inversão de um combinador 319. Uma saída do combinador 319 é conectada em comunicação de sinal com uma primeira entrada do módulo de intrapredição 360 e uma primeira entrada do filtro de desblocagem 365. Uma saída do filtro de desblocagem 365 é conectada em comunicação de sinal com uma primeira entrada de um armazenador de imagem de referência 380. Uma saída do armazenador de imagem de referência 380 é conectada em comunicação de sinal com uma segunda entrada do estimador de movimento 375 e com uma primeira entrada de um compensador de movimento 370. Uma primeira saída do estimador de movimento 375 é conectada em comunicação de sinal com uma segunda entrada do compensador de movimento 370. Uma segunda saída do estimador de movimento 375 é conectada em comunicação de sinal com uma terceira entrada do codificador de entropia 345.
[069]Uma saída do compensador de movimento 370 é conectada em
Petição 870180019966, de 12/03/2018, pág. 25/105
16/63 comunicação de sinal com uma primeira entrada de um comutador 397. Uma saída do módulo de intrapredição 360 é conectada em comunicação de sinal com uma segunda entrada do comutador 397. Uma saída do módulo de decisão de tipo de macrobloco 320 é conectada em comunicação de sinal com uma terceira entrada do comutador 397 para prover uma entrada de controle para o comutador 397. A terceira entrada do comutador 397 determina se a entrada de “dados” do comutador (em comparação com a entrada de controle, isto é, a terceira entrada) deve ou não ser provida pelo compensador de movimento 370 ou pelo módulo de intrapredição 360. A saída do comutador 397 é conectada em comunicação de sinal com uma segunda entrada de não-inversão do combinador 319 e com uma entrada de inversão do combinador 385.
[070]As entradas do armazenador de ordenamento de quadro 310 e do controlador de codificador 105 estão disponíveis como entradas do codificador 300, para receber uma imagem de entrada 301. Além disso, uma entrada do meio de inserção de Informação de Otimização Suplementar (SEI) 330 está disponível como uma entrada do codificador 300, para receber metadados. Uma saída do armazenador de saída 335 está disponível como uma saída do codificador 300, para emitir um fluxo de bits.
[071]Voltando-se agora para a Figura 4, um decodificador de vídeo capaz de realizar decodificação de vídeo de acordo com o Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 400.
[072]O decodificador de vídeo 400 inclui um armazenador de entrada 410 tendo uma saída conectada em comunicação de sinal com uma primeira entrada do decodificador de entropia 445. Uma primeira saída do decodificador de entropia 445 é conectada em comunicação de sinal com uma primeira entrada de um transformador de inversão e quantizador de inversão 450. Uma saída do transformador de inversão e do quantizador de inversão 450 é conectada em comunicação de sinal com uma
Petição 870180019966, de 12/03/2018, pág. 26/105
17/63 segunda entrada de não-inversão de um combinador 425. Uma saída do combinador 425 é conectada em comunicação de sinal com uma segunda entrada de um filtro de desblocagem 465 e uma primeira entrada de um módulo de intrapredição 460. Uma segunda saída do filtro de desblocagem 465 é conectada em comunicação de sinal com uma primeira entrada de um armazenador de imagem de referência 480. Uma saída do armazenador de imagem de referência 480 é conectada em comunicação de sinal com uma segunda entrada de um compensador de movimento 470.
[073]Uma segunda saída do decodificador de entropia 445 é conectada em comunicação de sinal com uma terceira entrada do compensador de movimento 470 e uma primeira entrada do filtro de desblocagem 465. Uma terceira saída do decodificador de entropia 445 é conectada em comunicação de sinal com uma entrada de um controlador de decodificador 405. Uma primeira saída do controlador de decodificador 405 é conectada em comunicação de sinal com uma segunda entrada do decodificador de entropia 445. Uma segunda saída do controlador de decodificador 405 é conectada em comunicação de sinal com uma segunda entrada do transformador de inversão e quantizador de inversão 450. Uma terceira saída do controlador de decodificador 405 é conectada em comunicação de sinal com uma terceira entrada do filtro de desblocagem 465. Uma quarta saída do controlador de decodificador 405 é conectada em comunicação de sinal com uma segunda entrada do módulo de intrapredição 460, com uma primeira entrada do compensador de movimento 470, e com uma segunda entrada do armazenador de imagem de referência 480.
[074]Uma saída do compensador de movimento 470 é conectada em comunicação de sinal com uma primeira entrada de um comutador 497. Uma saída do módulo de intrapredição 460 é conectada em comunicação de sinal com uma segunda entrada do comutador 497. Uma saída do comutador 497 é conectada em comunicação de sinal com uma primeira entrada de não-inversão do combinador 425.
Petição 870180019966, de 12/03/2018, pág. 27/105
18/63 [075]Uma entrada do armazenador de entrada 410 está disponível como uma entrada do decodificador 400, para receber um fluxo de bits de entrada. Uma primeira saída do filtro de desblocagem 465 está disponível como uma saída do decodificador 400, para emitir uma imagem de saída.
[076]Voltando-se para a Figura 5, um método exemplar para codificar imagens para uma pluralidade de vistas utilizando o Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 500. O método 500 inclui um bloco inicial 502 que passa o controle para um bloco de função 504. O bloco de função 504 arranja cada vista em uma instância temporal específica como uma subimagem no formato de ladrilho, e passa o controle para um bloco de função 506. O bloco de função 506 estabelece um elemento de sintaxe num_codec_views_minus1, e passa o controle para um bloco de função 508. O bloco de função 508 estabelece os elementos de sintaxe org_pic_width_in_mbs_minus1 e org_pic_height_in_mbs_minus1, e passa o controle para um bloco de função 510. O bloco de função 510 estabelece uma variável i igual a zero, e passa o controle para o bloco de decisão 512. O bloco de decisão 512 determina se a variável i é ou não menor do que o número de vistas. Se for afirmativo, então o controle é passado para um bloco de função 514. Caso contrário, o controle é passado para um bloco de função 524.
[077]O bloco de função 514 estabelece um elemento de sintaxe view_id[i], e passa o controle para um bloco de função 516. O bloco de função 516 estabelece um elemento de sintaxe num_parts[view_id[i], e passa o controle para um bloco de função 518. O bloco de função 518 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 520. O bloco de decisão 520 determina se o valor atual da variável j é ou não menor do que o valor atual do elemento de sintaxe num_parts[view_id[i]. Se for afirmativo, então o controle é passado para um bloco de função 522. Caso contrário, o controle é passado para um bloco de função 528.
[078]O bloco de função 522 estabelece os seguintes elementos de sintaxe,
Petição 870180019966, de 12/03/2018, pág. 28/105
19/63 incrementa a variável j, e então retorna o controle para o bloco de decisão 520:
[079]depth_flag[view_id[i]]|j];flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j];
frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; e frame_crop_bottom_offset[view_id[i]][j].
[080]O bloco de função 528 estabelece um elemento de sintaxe upsample_view_flag[view_id[i]], e passa o controle para um bloco de decisão 530. O bloco de decisão 530 determina se o valor atual do elemento de sintaxe upsample_view_flag[view_id[i]] é ou não igual a um. Se for, então o controle é passado para um bloco de função 532. Caso contrário, o controle é passado para um bloco de decisão 534.
[081]O bloco de função 532 estabelece um elemento de sintaxe upsample_filter[view_id[i]], e passa o controle para o bloco de decisão 534.
[082]O bloco de decisão 534 determina se o valor atual do elemento de sintaxe upsample_filter[view_id[i]] é ou não igual a três. Se for, então o controle é passado para um bloco de função 536. Caso contrário, o controle é passado para um bloco de função 540.
[083]O bloco de função 536 estabelece os seguintes elementos de sintaxe e passa o controle para um bloco de função 538: vert_dim[view_id[i]]; hor_dim[view_id[i]]; e quantizer[view_id[i]].
[084]O bloco de função 538 estabelece os coeficientes de filtro para cada componente YUV, e passa o controle para o bloco de função 540.
[085]O bloco de função 540 incrementa a variável i, e retorna o controle para o bloco de decisão 512.
[086]O bloco de função 524 grava esses elementos de sintaxe em ao menos um de: Conjunto de Parâmetros de Sequência (SPS), Conjunto de Parâmetros de Imagem (PPS), mensagem de Informação de Otimização Suplementar (SEI),
Petição 870180019966, de 12/03/2018, pág. 29/105
20/63 cabeçalho de unidade de Camada de Abstração de Rede (NAL), e cabeçalho de seção, e passa o controle para um bloco de função 526. O bloco de função 526 codifica cada imagem utilizando o Padrão MPEG-4 AVC ou outro codec de vista única, e passa o controle para um bloco final 599.
[087]Voltando-se para a Figura 6, um método exemplar para decodificar imagens para uma pluralidade de vistas utilizando o Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 600.
[088]O método 600 inclui um bloco inicial 602 que passa o controle para um bloco de função 604. O bloco de função 604 analisa os elementos de sintaxe seguintes a partir de ao menos um de Conjunto de Parâmetros de Sequência (SPS), Conjunto de Parâmetros de Imagem (PPS), mensagem de Informação de Otimização Suplementar (SEI), cabeçalho de unidade de Camada de Abstração de Rede (NAL), e cabeçalho de seção, e passa o controle para um bloco de função 606. O bloco de função 606 analisa um elemento de sintaxe num_codec_views_minus1, e passa o controle para um bloco de função 608. O bloco de função 608 analisa os elementos de sintaxe org_pic_width_in_mbs_minus1 e org_pic_heigth_in_mbs_minus1 e passa o controle para um bloco de função 610. O bloco de função 610 estabelece uma variável i igual a zero, e passa o controle para o bloco de decisão 612. O bloco de decisão 612 determina se a variável i é ou não menor do que o número de vistas. Se for, então o controle é passado para um bloco de função 614. Caso contrário, o controle é passado para um bloco de função 624.
[089]O bloco de função 614 analisa um elemento de sintaxe view_id[i], e passa o controle para um bloco de função 616. O bloco de função 616 analisa um elemento de sintaxe num_parts_minus1 [view_id[i]], e passa o controle para um bloco de função 618. O bloco de função 618 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 620. O bloco de decisão 629 determina se o valor atual da variável j é ou não menor do que o valor atual do elemento de sintaxe
Petição 870180019966, de 12/03/2018, pág. 30/105
21/63 num_parts[view_id[i]]. Se for, então o controle é passado para um bloco de função 622. Caso contrário, o controle é passado para um bloco de função 628.
[090]O bloco de função 622 analisa os seguintes elementos de sintaxe, incrementa a variável j, e então retorna o controle para o bloco de decisão 620:
[091]depth_flag[view_id[i]]|j];flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j];
frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; e frame_crop_bottom_offset[view_id[i]][j].
[092]O bloco de função 628 analisa um elemento de sintaxe upsample_view_flag[view_id[i]], e passa o controle para um bloco de decisão 630. O bloco de decisão 630 determina se o valor atual do elemento de sintaxe upsample_view_flag[view_id[i]] é ou não igual a um. Se for, então o controle é passado para um bloco de função 632. Caso contrário, o controle é passado para um bloco de decisão 634.
[093]O bloco de função 632 analisa um elemento de sintaxe upsample_filter[view_id[i]], e passa o controle para o bloco de decisão 634.
[094]O bloco de decisão 634 determina se o valor atual do elemento de sintaxe upsample_filter[view_id[i]] é ou não igual a três. Se for, então o controle é passado para um bloco de função 636. Caso contrário, o controle é passado para um bloco de função 640.
[095]O bloco de função 636 analisa os seguintes elementos de sintaxe e passa o controle para um bloco de função 638: vert_dim[view_id[i]]; hor_dim[view_id[i]]; e quantizer[view_id[i]].
[096]O bloco de função 638 analisa os coeficientes de filtro para cada componente YUV, e passa o controle para o bloco de função 640.
[097]O bloco de função 640 incrementa a variável i, e retorna o controle para o bloco de decisão 612.
Petição 870180019966, de 12/03/2018, pág. 31/105
22/63 [098]O bloco de função 624 decodifica cada imagem utilizando o padrão MPEG-4 AVC ou outro codec de vista única, e passa o controle para um bloco de função 626. O bloco de função 626 separa cada vista a partir da imagem utilizando a sintaxe de alto nível, e passa o controle para um bloco final 699.
[099]Voltando-se para a Figura 7, um método exemplar para codificar imagens para uma pluralidade de vistas e profundidades utilizando o Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 700.
[0100]O método 700 inclui um bloco inicial 702 que passa o controle para um bloco de função 704. O bloco de função 704 arranja cada vista e profundidade correspondente em uma instância temporal específica como uma subimagem no formato de ladrilho, e passa o controle para um bloco de função 706. O bloco de função 706 estabelece um elemento de sintaxe num_coded_views_minus1, e passa o controle para um bloco de função 708. O bloco de função 708 estabelece os elementos de sintaxe org_pic_width_in_mbs_minus1 e org_pic_height_in_mbs_minus1, e passa o controle para um bloco de função 710. O bloco de função 710 estabelece uma variável i igual a zero, e passa o controle para um bloco de decisão 712. O bloco de decisão 712 determina se a variável i é ou não inferior ao número de vistas. Se for, então o controle é passado para um bloco de função 714. Caso contrário, o controle é passado para um bloco de função 724.
[0101]O bloco de função 714 estabelece um elemento de sintaxe view_id[i], e passa o controle para um bloco de função 716. O bloco de função 716 estabelece um elemento de sintaxe num_parts[view_id[i]], e passa o controle para um bloco de função 718. O bloco de função 718 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 720. O bloco de decisão 720 determina se o valor atual da variável j é ou não menor do que o valor atual do elemento de sintaxe num_parts[view_id[i]]. Se for, então o controle é passado para um bloco de função 722. Caso contrário, o controle é passado para um bloco de função 728.
Petição 870180019966, de 12/03/2018, pág. 32/105
23/63 [0102]O bloco de função 722 estabelece os seguintes elementos de sintaxe, incrementa a variável j, e então retorna o controle para o bloco de decisão 720:
[0103]depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j];
frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; e frame_crop_bottom_offset[view_id[i]][j].
[0104]O bloco de função 728 estabelece um elemento de sintaxe upsample_view_flag[view_id[i]], e passa o controle para um bloco de decisão 730. O bloco de decisão 730 determina se o valor atual do elemento de sintaxe upsample_view_flag[view_id[i]] é ou não igual a um. Se for, então o controle é passado para um bloco de função 732. Caso contrário, o controle é passado para um bloco de decisão 734.
[0105]O bloco de função 732 estabelece um elemento de sintaxe upsample_filter[view_id[i]], e passa o controle para o bloco de decisão 734.
[0106]O bloco de decisão 734 determina se o valor atual do elemento de sintaxe upsample_filter[view_id[i]] é ou não igual a três. Se for, então o controle é passado para um bloco de função 736. Caso contrário, o controle é passado para um bloco de função 740.
[0107]O bloco de função 736 estabelece os seguintes elementos de sintaxe e passa o controle para um bloco de função 738: vert_dim[view_id[i]]; hor_dim[view_id[i]]; e quantizer[view_id[i]].
[0108]O bloco de função 738 estabelece os coeficientes de filtro para cada componente YUV, e passa o controle para o bloco de função 740.
[0109]O bloco de função 740 incrementa a variável i, e retorna o controle para o bloco de decisão 712.
[0110]O bloco de função 724 grava esses elementos de sintaxe para ao menos um de: Conjunto de Parâmetros de Sequência (SPS), Conjunto de Parâmetros
Petição 870180019966, de 12/03/2018, pág. 33/105
24/63 de Imagem (PPS), mensagem de Informação de Otimização Suplementar (SEI), cabeçalho de unidade de Camada de Abstração de Rede (NAL), e cabeçalho de seção, e passa o controle para um bloco de função 726. O bloco de função 726 codifica cada imagem utilizando o Padrão MPEG-4 AVC ou outro codec de vista única, e passa o controle para um bloco final 799.
[0111]Voltando-se para a Figura 8, um método exemplar para decodificar imagens para uma pluralidade de vistas e profundidades utilizando o Padrão MPEG4 AVC é indicado geralmente pelo numeral de referência 800.
[0112]O método 800 inclui um bloco inicial 802 que passa o controle para um bloco de função 804. O bloco de função 804 analisa os seguintes elementos de sintaxe a partir de ao menos um de Conjunto de Parâmetros de Sequência (SPS), Conjunto de Parâmetros de Imagem (PPS), mensagem de Informação de Otimização Suplementar (SEI), cabeçalho de unidade de Camada de Abstração de Rede (NAL), e cabeçalho de seção, e passa o controle para um bloco de função 806. O bloco de função 806 analisa um elemento de sintaxe num_codec_views_minus1 e passa o controle para um bloco de função 808. O bloco de função 808 analisa os elementos de sintaxe org_pic_width_in_mbs_minus1 e org_pic_height_in_mbs_minus1, e passa o controle para um bloco de função 810. O bloco de função 810 estabelece uma variável i igual a zero, e passa o controle para um bloco de decisão 812. O bloco de decisão 812 determina se a variável i é ou não menor do que o número de vistas. Se for, então o controle é passado para um bloco de função 814. Caso contrário, o controle é passado para um bloco de função 824.
[0113]O bloco de função 814 analisa um elemento de sintaxe view_id[i], e passa o controle para um bloco de função 816. O bloco de função 816 analisa um elemento de sintaxe num_parts_minus1[view_id[i]], e passa o controle para um bloco de função 818. O bloco de função 818 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 820. O bloco de decisão 820 determina se o valor
Petição 870180019966, de 12/03/2018, pág. 34/105
25/63 atual da variável j é ou não inferior ao valor atual do elemento de sintaxe num_parts[view_id[i]]. Se for, então o controle é passado para um bloco de função 822. Caso contrário, o controle é passado para um bloco de função 828.
[0114]O bloco de função 822 analisa os seguintes elementos de sintaxe, incrementa a variável j, e então retorna o controle para o bloco de decisão 820:
[0115]depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j];
frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; e frame_crop_bottom_offset[view_id[i]][j].
[0116]O bloco de função 828 analisa um elemento de sintaxe upsample_view_flag[view_id[i]], e passa o controle para um bloco de decisão 830. O bloco de decisão 830 determina se o valor atual do elemento de sintaxe upsample_view_flag[view_id[i]] é ou não igual a um. Se for, então o controle é passado para um bloco de função 832. Caso contrário, o controle é passado para um bloco de decisão 834.
[0117]O bloco de função 832 analisa um elemento de sintaxe upsample_filter[view_id[i]], e passa o controle para o bloco de decisão 834.
[0118]O bloco de decisão 834 determina se o valor atual do elemento de sintaxe upsample_filter[view_id[i]] é ou não igual a três. Se for, então o controle é passado para um bloco de função 836. Caso contrário, o controle é passado para um bloco de função 840.
[0119]O bloco de função 836 analisa os seguintes elementos de sintaxe e passa o controle para um bloco de função 838: vert_dim[view_id[i]]; hor_dim[view_id[i]]; e quantizer[view_id[i]].
[0120]O bloco de função 838 analisa os coeficientes de filtro para cada componente YUV, e passa o controle para o bloco de função 840.
[0121]O bloco de função 840 incrementa a variável i, e retorna o controle para
Petição 870180019966, de 12/03/2018, pág. 35/105
26/63 o bloco de decisão 812.
[0122]O bloco de função 824 decodifica cada imagem utilizando o Padrão MPEG-4 AVC ou outro codec de vista única, e passa o controle para um bloco de função 826. O bloco de função 826 separa cada vista e a profundidade correspondente a partir da imagem utilizando a sintaxe de alto nível, e passa o controle para um bloco de função 827. O bloco de função 827 potencialmente realiza a síntese das vistas utilizando a vista extraída e os sinais de profundidade, e passa o controle para um bloco final 899.
[0123]Com relação à profundidade usada nas Figuras 7 e 8, a Figura 9 mostra um exemplo de um sinal de profundidade 900, onde a profundidade é provida como um valor de pixel para cada local correspondente de uma imagem (não mostrada). Adicionalmente, a Figura 10 mostra um exemplo de dois sinais de profundidade incluídos em um ladrilho 1000. A porção superior direita do ladrilho 1000 é um sinal de profundidade tendo valores de profundidade correspondendo à imagem na porção superior esquerda do ladrilho 1000. A porção inferior direita do ladrilho 100 é um sinal de profundidade tendo valores de profundidade correspondendo à imagem na porção inferior esquerda do ladrilho 1000.
[0124]Voltando-se para a Figura 11, um exemplo das cinco vistas ladrilhadas em um único quadro é indicado geralmente pelo numeral de referência 1100. As quatro vistas superiores estão em uma orientação normal. A quinta vista também está em uma orientação normal, porém é dividida em duas porções ao longo da parte inferior do ladrilho 1100. Uma porção esquerda da quinta vista mostra o “topo” da quinta vista, e uma porção direita da quinta vista mostra a “parte inferior” da quinta vista.
[0125]Codificação/decodificação utilizando um padrão/recomendação de codificação/decodificação de vídeo de multivista [0126]Voltando-se para a Figura 12, um codificador exemplar de Codificação
Petição 870180019966, de 12/03/2018, pág. 36/105
27/63 de Vídeo de Multivista (MVC) é indicado geralmente pelo numeral de referência 1200. O codificador 1200 inclui um combinador 1205 tendo uma saída conectada em comunicação de sinal com uma entrada de um transformador 1210. Uma saída do transformador 1210 é conectada em comunicação de sinal com uma entrada do quantizador 1215. Uma saída do quantizador 1215 é conectada em comunicação de sinal com uma entrada de um codificador de entropia 1220 e uma entrada de um quantizador inverso 1225. Uma saída do quantizador inverso 1225 é conectada em comunicação de sinal com uma entrada de um transformador de inversão 1230. Uma saída do transformador de inversão 1230 é conectada em comunicação de sinal com uma primeira entrada de não-inversão de um combinador 1235. Uma saída do combinador 1235 é conectada em comunicação de sinal com uma entrada de um intra preditor 1245 e uma entrada de um filtro de desblocagem 1250. Uma saída do filtro de desblocagem 1250 é conectada em comunicação de sinal com uma entrada de um meio de armazenamento de imagem de referência 1255 (para a vista i). Uma saída do meio de armazenamento de imagem de referência 1255 é conectada em comunicação de sinal com uma primeira entrada de um compensador de movimento 1275 e uma primeira entrada de um estimador de movimento 1280. Uma saída do estimador de movimento 1280 é conectada em comunicação de sinal com uma segunda entrada do compensador de movimento 1275.
[0127]Uma saída de um meio de armazenamento de imagem de referência 1260 (para outras vistas) é conectada em comunicação de sinal com uma primeira entrada de um estimador de disparidade 1270 e uma primeira entrada de um compensador de disparidade 1265. Uma saída do estimador de disparidade 1270 é conectada em comunicação de sinal com uma segunda entrada do compensador de disparidade 1265.
[0128]Uma saída do decodificador de entropia 1220 está disponível como uma saída do codificador 1200. Uma entrada de não-inversão do combinador 1205 está
Petição 870180019966, de 12/03/2018, pág. 37/105
28/63 disponível como uma entrada do codificador 1200, e é conectada em comunicação de sinal com uma segunda entrada do estimador de disparidade 1270, e uma segunda entrada do estimador de movimento 1280. Uma saída de um comutador 1285 é conectada em comunicação de sinal com uma segunda entrada de não-inversão do combinador 1235 e com uma entrada de inversão do combinador 1205. O comutador 1285 inclui uma primeira entrada conectada em comunicação de sinal com uma saída do compensador de movimento 1275, uma segunda entrada conectada em comunicação de sinal com uma saída do compensador de disparidade 1265, e uma terceira entrada conectada em comunicação de sinal com uma saída do intra preditor 1245.
[0129]Um módulo de decisão de modo 1240 tem uma saída conectada ao comutador 1285 para controlar qual entrada é selecionada pelo comutador 1285.
[0130]Voltando-se para a Figura 13, um decodificador exemplar de Codificação de Vídeo de Multivista (MVC) é indicado geralmente pelo numeral de referência 1300. O decodificador 1300 inclui um decodificador de entropia 1305 tendo uma saída conectada em comunicação de sinal com uma entrada de um quantizador de inversão 1310. Uma saída do quantizador de inversão é conectada em comunicação de sinal com uma entrada de um transformador inverso 1315. Uma saída do transformador inverso 1315 é conectada em comunicação de sinal com uma primeira entrada de não-inversão de um combinador 1320. Uma saída do combinador 1320 é conectada em comunicação de sinal com uma entrada de um filtro de desblocagem 1325 e uma entrada de um intra preditor 1330. Uma saída do filtro de desblocagem 1325 é conectada em comunicação de sinal com uma entrada de um meio de armazenamento de imagem de referência 1340 (para vista i). Uma saída do meio de armazenamento de imagem de referência 1340 é conectada em comunicação de sinal com uma primeira entrada de um compensador de movimento 1335.
[0131]Uma saída de um meio de armazenamento de imagem de referência
Petição 870180019966, de 12/03/2018, pág. 38/105
29/63
1345 (para outras vistas) é conectada em comunicação de sinal com uma primeira entrada de um compensador de disparidade 1350.
[0132]Uma entrada do codificador de entropia 1305 está disponível como uma entrada para o decodificador 1300, para receber um fluxo de bits de resíduo. Além disso, uma entrada de um módulo de modo 1360 também está disponível como uma entrada para o decodificador 1300, para receber sintaxe de controle para controlar qual entrada é selecionada pelo comutador 1355. Adicionalmente, uma segunda entrada do compensador de movimento 1355 está disponível como uma entrada do decodificador 1300, para receber vetores de movimento. Além disso, uma segunda entrada do compensador de disparidade 1350 está disponível como uma entrada para o decodificador 1300, para receber vetores de disparidade.
[0133]Uma saída de um comutador 1355 é conectada em comunicação de sinal com uma segunda entrada de não-inversão do combinador 1320. Uma primeira entrada do comutador 1355 é conectada em comunicação de sinal com uma saída do compensador de disparidade 1350. Uma segunda entrada do comutador 1355 é conectada em comunicação de sinal com uma saída do compensador de movimento 1335. Uma terceira entrada do comutador 1355 é conectada em comunicação de sinal com uma saída do intra preditor 1330. Uma saída do módulo de modo 1360 é conectada em comunicação de sinal com o comutador 1355 para controlar qual entrada é selecionada pelo comutador 1355. Uma saída do filtro de desblocagem 1325 está disponível como uma saída do decodificador 1300.
[0134]Voltando-se para a Figura 14, um método exemplar para processar imagens para uma pluralidade de vistas em preparação para codificar as imagens utilizando a extensão de codificação de vídeo de multivista (MVC) do Padrão MPEG4 AVC é indicado geralmente pelo numeral de referência 1400.
[0135]O método 1400 inclui um bloco inicial 1405 que passa o controle para um bloco de função 1410. O bloco de função 1410 arranja cada uma das n vistas,
Petição 870180019966, de 12/03/2018, pág. 39/105
30/63 entre um total de M vistas, em uma instância temporal específica como uma superimagem no formato de ladrilho, e passa o controle para um bloco de função 1415. O bloco de função 1415 estabelece um elemento de sintaxe num_coded_views_minus1, e passa o controle para um bloco de função 1420. O bloco de função 1420 estabelece um elemento de sintaxe view_id[i] para todas as vistas (num_coded_views_minus1 + 1), e passa o controle para um bloco de função 1425. O bloco de função 1425 estabelece a informação de dependência de referência entre vistas para imagens de âncora, e passa o controle para um bloco de função 1430. O bloco de função 1430 estabelece a informação de dependência de referência entre vistas para imagens de não-âncora, e passa o controle para um bloco de função 1435. O bloco de função 1435 estabelece um elemento de sintaxe pseudo_view_present_flag, e passa o controle para um bloco de decisão 1440. O bloco de decisão 1440 determina se o valor atual do elemento de sintaxe pseudo_view_present_flag é ou não verdadeiro. Se for, então o controle é passado para um bloco de função 1445. Caso contrário, o controle é passado para um bloco final 1499.
[0136]O bloco de função 1445 estabelece os seguintes elementos de sintaxe, e passa o controle para um bloco de função 1450: tiling_mode; org_pic_width_in_mbs_minus1; e org_pic_height_in_mbs_minus1. O bloco de função 1450 demanda um elemento de sintaxe pseudo_view_info(view_id) para cada vista codificada, e passa o controle para o bloco final 1499.
[0137]Voltando-se para a Figura 15, um método exemplar para codificar imagens para uma pluralidade de vistas usando a extensão de codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 1500.
[0138]O método 1500 inclui um bloco inicial 1502 que tem um parâmetro de entrada pseudo_view_id e passa o controle para um bloco de função 1504. O bloco
Petição 870180019966, de 12/03/2018, pág. 40/105
31/63 de função 1504 estabelece um elemento de sintaxe num_sub_views_minus1, e passa o controle para um bloco de função 1506. O bloco de função 1506 estabelece uma variável i igual a zero, e passa o controle para um bloco de decisão 1508. O bloco de decisão 1508 determina se a variável i é ou não menor do que o número de subvistas. Se for, então o controle é passado para o bloco de função 1510. Caso contrário, o controle é passado para um bloco de função 1520.
[0139]O bloco de função 1520 estabelece um elemento de sintaxe sub_view_id[i], e passa o controle para um bloco de função 1512. O bloco de função 1512 estabelece um elemento de sintaxe num_parts_minus1[sub_view_[id]], e passa o controle para um bloco de função 1514. O bloco de função 1514 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 1516. O bloco de decisão 1516 determina se a variável j é ou não inferior ao elemento de sintaxe num_parts_minus1[sub_view_[id]]. Se for, então o controle é passado para um bloco de função 1518. Caso contrário, o controle é passado para um bloco de decisão 1522.
[0140]O bloco de função 1518 estabelece os seguintes elementos de sintaxe, incrementa a variável j, e retorna o controle para o bloco de decisão 1516:
[0141 ]loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j];
frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; e frame_crop_bottom_offset[sub_view_id[i][j].
[0142]O bloco de função 1520 codifica a imagem atual para a vista atual utilizando codificação de vídeo de multivista (MVC), e passa o controle para um bloco final 1599.
[0143]O bloco de decisão 1522 determina se um elemento de sintaxe tiling_mode é ou não igual a zero. Se for, então o controle é passado para um bloco de função 1524. Caso contrário, o controle é passado para um bloco de função 1538.
[0144]O bloco de função 1524 estabelece um elemento de sintaxe
Petição 870180019966, de 12/03/2018, pág. 41/105
32/63 flip_dir[sub_view_id[i]] e um elemento de sintaxe upsample_view_flag[sub_view_id[i]], e passa o controle para um bloco de decisão 1526. O bloco de decisão 1526 determina se o valor atual do elemento de sintaxe upsample_view_flag[sub_view_id[i]] é ou não igual a um. Se for, então o controle é passado para um bloco de função 1528. Caso contrário, o controle é passado para um bloco de decisão 1530.
[0145]O bloco de função 1528 estabelece um elemento de sintaxe upsample_flag[sub_view_id[i]], e passa o controle para o bloco de decisão 1530. O bloco de decisão 1530 determina se um valor do elemento de sintaxe upsample_flag[sub_view_id[i]] é ou não igual a três. Se for, o controle é passado para um bloco de função 1532. Caso contrário, o controle é passado para um bloco de função 1536.
[0146]O bloco de função 1532 estabelece os seguintes elementos de sintaxe, e passa o controle para um bloco de função 1534: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; e quantizer[sub_view_id[i]]. O bloco de função 1534 estabelece os coeficientes de filtro para cada componente YUV, e passa o controle para o bloco de função 1536.
[0147]O bloco de função 1536 incrementa a variável i, e retorna o controle para o bloco de decisão 1508. O bloco de função 1538 estabelece um elemento de sintaxe pixel_dist_x[sub_view_id[i]] e o elemento de sintaxe flip_dist_y[sub_view_id[i]], e passa o controle para um bloco de função 1540. O bloco de função 1540 estabelece a variável j igual a zero, e passa o controle para um bloco de decisão 1542. O bloco de decisão 1542 determina se o valor atual da variável j é ou não menor do que o valor atual do elemento de sintaxe num_parts[sub_view_id[i]]. Se for, então o controle é passado para um bloco de função 1544. Caso contrário, o controle é passado para o bloco de função 1536.
[0148]O bloco de função 1544 estabelece um elemento de sintaxe num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]], e passa o controle para um
Petição 870180019966, de 12/03/2018, pág. 42/105
33/63 bloco de função 1546. O bloco de função 1546 estabelece os coeficientes para todos os filtros de ladrilhamento de pixel, e passa o controle para o bloco de função 1536.
[0149]Voltando-se para a Figura 16, um método exemplar para processar imagens para uma pluralidade de vistas em preparação para decodificação das imagens utilizando a extensão de codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 1600.
[0150]O método 1600 inclui um bloco inicial 1605 que passa o controle para um bloco de função 1615. O bloco de função 1615 analisa um elemento de sintaxe num_coded_views_minus1, e passa o controle para um bloco de função 1620. O bloco de função 1620 analisa um elemento de sintaxe view_id[i] para todas as vistas (num_coded_views_minus1 + 1), e passa o controle para um bloco de função 1625. O bloco de função 1625 analisa a informação de dependência de referência entre vistas para imagens de âncora, e passa o controle para um bloco de função 1630. O bloco de função 1630 analisa a informação de dependência de referência entre vistas para imagens de não-âncora, e passa o controle para um bloco de função 1635. O bloco de função 1635 analisa um elemento de sintaxe pseudo_view_present_flag, e passa o controle para um bloco de decisão 1640. O bloco de decisão 1640 determina se o valor atual do elemento de sintaxe pseudo_view_present_flag é ou não igual a verdadeiro. Se for, então o controle é passado para um bloco de função 1645. Caso contrário, o controle é passado para um bloco final 1699.
[0151]O bloco de função 1645 analisa os seguintes elementos de sintaxe, e passa o controle para um bloco de função 1650: tiling_mode: org_pic_width_in_mbs_minus1; e org_pic_height_in_mbs_minus1. O bloco de função 1650 demanda um elemento de sintaxe pseudo_view_info(view_id) para cada vista codificada, e passa o controle para o bloco final 1699.
[0152]Voltando-se agora para a Figura 17, um método exemplar para decodificar imagem para uma pluralidade de vistas utilizando a extensão de
Petição 870180019966, de 12/03/2018, pág. 43/105
34/63 codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 1700.
[0153]O método 1700 inclui um bloco inicial 1702 que começa com o parâmetro de entrada pseudo_view_id e passa o controle para um bloco de função 1704. O bloco de função 1704 analisa um elemento de sintaxe num_sub_views_minus1, e passa o controle para um bloco de função 1706. O bloco de função 1706 estabelece uma variável i igual a zero, e passa o controle para um bloco de decisão 1708. O bloco de decisão 1708 determina se a variável i é ou não menor do que o número de subvistas. Se for, então o controle é passado para um bloco de função 1710. Caso contrário, o controle é passado para um bloco de função 1720.
[0154]O bloco de função 1710 analisa um elemento de sintaxe sub_view_id[i], e passa o controle para um bloco de função 1712. O bloco de função 1712 analisa um elemento de sintaxe num_parts_minus1[sub_view_id[ i ]], e passa o controle para um bloco de função 1714. O bloco de função 1714 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 1716. O bloco de decisão 1716 determina se a variável j é ou não menor do que o elemento de sintaxe num_parts_minus1 [sub_view_id[ i ]]. Se for, então o controle é passado para um bloco de função 1718. Caso contrário, o controle é passado para um bloco de decisão 1722.
[0155]O bloco de função 1718 estabelece os seguintes elementos de sintaxe, incrementa a variável j, e retorna o controle para o bloco de decisão 1716:
[0156]loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j];
frame_crop_left_offset[sub_view_id[i]]0]; frame_crop_right_offset[sub_view_id[i]]j]; frame_crop_top_offset[sub_view_id[i]][j]; e frame_crop_bottom_offset[sub_view_id[i][j].
[0157]O bloco de função 1720 decodifica a imagem atual para a vista atual utilizando codificação de vídeo de multivista (MVC), e passa o controle para um bloco
Petição 870180019966, de 12/03/2018, pág. 44/105
35/63 de função 1721. O bloco de função 1721 separa cada vista da imagem utilizando a sintaxe de alto nível, e passa o controle para um bloco final 1799.
[0158]A separação de cada vista a partir da imagem decodificada é feita utilizando a sintaxe de alto nível indicada no fluxo de bits. Essa sintaxe de alto nível pode indicar o exato local e a possível orientação das vistas (e possível profundidade correspondente) presente na imagem.
[0159]O bloco de decisão 1722 determina se um elemento de sintaxe tiling_mode é igual a zero. Se for, então o controle é passado para um bloco de função 1724. Caso contrário, o controle é passado para um bloco de função 1738.
[0160]O bloco de função 1724 analisa um elemento de sintaxe flip_dir[sub_view_id[i]]; e um elemento de sintaxe upsample_view_flag[sub_view_id[i]], e passa o controle para um bloco de decisão 1726. O bloco de decisão 1726 determina se o valor atual do elemento de sintaxe upsample_view_flag[sub_view_id[i]] é ou não igual a um. Se for, então o controle é passado para um bloco de função 1728. Caso contrário, o controle é passado para um bloco de decisão 1730.
[0161]O bloco de função 1728 analisa um elemento de sintaxe upsample_filter[sub_view_id[i]], e passa o controle para o bloco de decisão 1730. O bloco de decisão 1730 determina se o valor do elemento de sintaxe upsample_filter[sub_view_id[i]] é ou não igual a três. Se for, o controle é passado para um bloco de função 1732. Caso contrário, o controle é passado para um bloco de função 1736.
[0162]O bloco de função 1732 analisa os seguintes elementos de sintaxe, e passa o controle para um bloco de função 1734: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; e quantizer[sub_view_id[i]]. O bloco de função 1734 analisa os coeficientes de filtro para cada componente YUV e passa o controle para um bloco de função 1736.
Petição 870180019966, de 12/03/2018, pág. 45/105
36/63 [0163]O bloco de função 1736 incrementa a variável i, e retorna o controle para o bloco de decisão 1708.
[0164]O bloco de função 1738 analisa um elemento de sintaxe pixel_dist_x[sub_view_id[i]] e o elemento de sintaxe flip_dist_y[sub_view_id[i]], e passa o controle para um bloco de função 1740. O bloco de função 1740 estabelece a variável i igual a zero, e passa o controle para um bloco de função 1742. O bloco de função 1742 determina se o valor atual da variável j é ou não inferior ao valor atual do elemento de sintaxe num_parts[sub_view_id[i]]. Se for, então o controle é passado para um bloco de função 1744. Caso contrário, o controle é passado para um bloco de função 1736.
[0165]O bloco de função 1744 analisa um elemento de sintaxe num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]], e passa o controle para um bloco de função 1746. O bloco de função 1776 analisa os coeficientes para todos os filtros de ladrilhamento de pixel, e passa o controle para o bloco de função 1736.
[0166]Voltando-se agora para a Figura 18, um método exemplar para processar imagens para uma pluralidade de vistas e profundidades em preparação para codificar as imagens utilizando a extensão de codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 1800.
[0167]O método 1800 inclui um bloco inicial 1805 que passa o controle para um bloco de função 1810. O bloco de função 1810 arranja todas as N vistas e mapas de profundidade, entre um total de M vistas e mapas de profundidade, em uma instância temporal e específica como uma superimagem no formato de ladrilho, e passa o controle para um bloco de função 1815. O bloco de função 1815 estabelece um elemento de sintaxe num_coded_views_minus1, e passa o controle para um bloco de função 1820. O bloco de função 1820 estabelece um elemento de sintaxe view_id[i] para todas as profundidades (num_coded_views_minus1 + 1) correspondendo a
Petição 870180019966, de 12/03/2018, pág. 46/105
37/63 view_id[i], e passa o controle para um bloco de função 1825. O bloco de função 1825 estabelece a informação de dependência de referência entre vistas para imagens de profundidade de âncora, e passa o controle para um bloco de função 1830. O bloco de função 1830 estabelece a informação de dependência de referência entre vistas para imagens de profundidade de não-âncora, e passa o controle para um bloco de função 1835. O bloco de função 1835 estabelece um elemento de sintaxe pseudo_view_present_flag, e passa o controle para um bloco de decisão 1840. O bloco de decisão 1840 determina se o valor atual do elemento de sintaxe pseudo_view_present_flag é ou não igual a verdadeiro. Se for, então o controle é passado para um bloco de função 1845. Caso contrário, o controle é passado para um bloco final 1899.
[0168]O bloco de função 1845 estabelece os seguintes elementos de sintaxe, e passa o controle para um bloco de função 1850: tiling_mode; org_pic_width_in_mbs_minus1; e org_pic_height_in_mbs_minus1. O bloco de função 1850 demanda um elemento de sintaxe pseudo_view_info(view_id) para cada vista codificada, e passa o controle para o bloco final 1899.
[0169]Voltando-se para a Figura 19, um método exemplar para codificar imagens para uma pluralidade de vistas e profundidades utilizando a extensão de codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 1900.
[0170]O método 1900 inclui um bloco inicial 1902 que passa o controle para um bloco de função 1904. O bloco de função 1904 estabelece um elemento de sintaxe num_sub_views_minus1, e passa o controle para um bloco de função 1906. O bloco de função 1906 estabelece uma variável i igual a zero, e passa o controle para um bloco de decisão 1908. O bloco de decisão 1908 determina se a variável i é ou não menor do que o número de subvistas. Se for, então o controle é passado para um bloco de função 1910. Caso contrário, o controle é passado para um bloco de função
Petição 870180019966, de 12/03/2018, pág. 47/105
38/63
1920.
[0171]O bloco de função 1910 estabelece um elemento de sintaxe sub_view_id[i], e passa o controle para um bloco de função 1912. O bloco de função 1912 estabelece um elemento de sintaxe num_parts_minus1 [sub_view_id[ i ]], e passa o controle para um bloco de função 1914. O bloco de função 1914 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 1916. O bloco de decisão 1916 determina se a variável j é ou não menor do que o elemento de sintaxe num_parts_minus1[sub_view_id[ i ]]. Se for, então o controle é passado para um bloco de função 1918. Caso contrário, o controle é passado para um bloco de função 1922.
[0172]O bloco de função 1918 estabelece os seguintes elementos de sintaxe, incrementa a variável j, e retorna o controle para o bloco de decisão 1916:
[0173]loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j];
frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; e frame_crop_bottom_offset[sub_view_id[i][j].
[0174]O bloco de função 1920 codifica a profundidade atual da vista atual utilizando codificação de vídeo de multivista (MVC), e passa o controle para um bloco final 1999. O sinal de profundidade pode ser codificado de forma semelhante à forma em que seu sinal de vídeo correspondente é codificado. Por exemplo, o sinal de profundidade para uma vista pode ser incluído em um ladrilho que inclui apenas outros sinais de profundidade, ou apenas sinais de vídeo, ou ambos, sinais de profundidade e de vídeo. O ladrilho (pseudo-vista) é então tratado como uma única vista para MVC, e há também presumivelmente outros ladrilhos que são tratados como outras vistas para MVC.
[0175]O bloco de decisão 1922 determina se um elemento de sintaxe tiling_mode é ou não igual a zero. Se for, então o controle é passado para um bloco de função 1924. Caso contrário, o controle é passado para um bloco de função 1938.
Petição 870180019966, de 12/03/2018, pág. 48/105
39/63 [0176]O bloco de função 1924 estabelece um elemento de sintaxe flip_dir[sub_view_id[i]] e um elemento de sintaxe upsample_view_flag[sub_view_id[i]], e passa o controle para um bloco de decisão 1926. O bloco de decisão 1926 determina se o valor atual do elemento de sintaxe upsample_view_flag[sub_view_id[i]] é ou não igual a um. Se for, então o controle é passado para um bloco de função 1928. Caso contrário, o controle é passado para um bloco de decisão 1930.
[0177]O bloco de função 1928 estabelece um elemento de sintaxe upsample_filter[sub_view_id[i]], e passa o controle para o bloco de decisão 1930. O bloco de decisão 1930 determina se um valor do elemento de sintaxe upsample_filter[sub_view_id[i]] é ou não igual a três. Se for, o controle é passado para um bloco de função 1932. Caso contrário, o controle é passado para um bloco de função 1936.
[0178]O bloco de função 1932 estabelece os seguintes elementos de sintaxe, e passa o controle para um bloco de função 1934: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; e quantizer[sub_view_id[i]]. O bloco de função 1934 estabelece os coeficientes de filtro para cada componente YUV, e passa o controle para o bloco de função 1936.
[0179]O bloco de função 1936 incrementa a variável i, e retorna o controle para o bloco de decisão 1908.
[0180]O bloco de função 1938 estabelece um elemento de sintaxe pixel_dist_x[sub_view_id[i]] e o elemento de sintaxe flip_dist_y[sub_view_id[i]], e passa o controle para um bloco de função 1940. O bloco de função 1940 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 1942. O bloco de decisão 1942 determina se o valor atual da variável j é ou não inferior ao valor atual do elemento de sintaxe num_parts[sub_view_id[i]]. Se for, então o controle é passado para um bloco de função 1944. Caso contrário, o controle é passado para o bloco de função 1936.
Petição 870180019966, de 12/03/2018, pág. 49/105
40/63 [0181]O bloco de função 1944 estabelece um elemento de sintaxe num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]], e passa o controle para um bloco de função 1946. O bloco de função 1946 estabelece os coeficientes para todos os filtros de ladrilhamento e pixel, e passa o controle para o bloco de função 1936.
[0182]Voltando-se para a Figura 20, um método exemplar para processar imagens para uma pluralidade de vistas e profundidades em preparação para decodificação das imagens utilizando a extensão de codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 2000.
[0183]O método 2000 inclui um bloco inicial 2005 que passa o controle para um bloco de função 2015. O bloco de função 2015 analisa um elemento de sintaxe num_coded_views_minus1, e passa o controle para um bloco de função 2020. O bloco de função 2020 analisa um elemento de sintaxe view_id[i] para todas as profundidades (num_coded_views_minus1 + 1) correspondendo a view_id[i], e passa o controle para um bloco de função 2025. O bloco de função 2025 analisa a informação de dependência de referência entre vistas para imagens de profundidade de âncora, e passa o controle para um bloco de função 2030. O bloco de função 2030 analisa a informação de dependência de referência entre vistas para imagens de profundidade de não-âncora, e passa o controle para um bloco de função 2035. O bloco de função 2035 analisa um elemento de sintaxe pseudo_view_present_flag, e passa o controle para um bloco de decisão 2040. O bloco de decisão 2040 determina se o valor atual do elemento de sintaxe pseudo_view_present_flag é ou não igual a verdadeiro. Se for, então o controle é passado para um bloco de função 2045. Caso contrário, o controle é passado para um bloco final 2099.
[0184]O bloco de função 2045 analisa os seguintes elementos de sintaxe, e passa o controle para um bloco de função 2050 tiling_mode; org_pic_width_in_mbs_minus1; e org_pic_height_in_mbs_minus1. O bloco de função
Petição 870180019966, de 12/03/2018, pág. 50/105
41/63
2050 demanda um elemento de sintaxe pseudo_view_info(view_id) para cada vista codificada, e passa o controle para o bloco final 2099.
[0185]Voltando-se para a Figura 21, um método exemplar para decodificar imagem para uma pluralidade de vistas e profundidades utilizando a extensão de codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado geralmente pelo numeral de referência 2100.
[0186]O método 2100 inclui um bloco inicial 2102 que começa com o parâmetro de entrada pseudo_view_id, e passa o controle para um bloco de função 2104. O bloco de função 2104 analisa um elemento de sintaxe num_sub_views_minus1, e passa o controle para um bloco de função 2106. O bloco de função 2106 estabelece uma variável i igual a zero, e passa o controle para um bloco de decisão 2108. O bloco de decisão 2108 determina se a variável i é ou não inferior ao número de subvistas. Se for, então o controle é passado para um bloco de função 2110. Caso contrário, o controle é passado para um bloco de função 2120.
[0187]O bloco de função 2110 analisa um elemento de sintaxe sub_view_id[i], e passa o controle para um bloco de função 2112. O bloco de função 2112 analisa um elemento de sintaxe num_parts_minus1[sub_view_id[ i ]], e passa o controle para um bloco de função 2114. O bloco de função 2114 estabelece uma variável j igual a zero, e passa o controle para um bloco de decisão 2116. O bloco de decisão 2116 determina se a variável j é ou não menor do que o elemento de sintaxe num_parts_minus1 [sub_view_id[ i ]]. Se for, então o controle é passado para um bloco de função 2118. Caso contrário, o controle é passado para um bloco de decisão 2122.
[0188]O bloco de função 2118 estabelece os seguintes elementos de sintaxe, incrementa a variável j, e retorna o controle para o bloco de decisão 2116:
[0189]loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j];
frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; e
Petição 870180019966, de 12/03/2018, pág. 51/105
42/63 frame_crop_bottom_offset[sub_view_id[i][j].
[0190]O bloco de função 2120 decodifica a imagem atual utilizando codificação de vídeo de multivista (MVC), e passa o controle para um bloco de função 2121. O bloco de função 2121 separa cada vista da imagem utilizando a sintaxe de alto nível, e passa o controle para um bloco final 2199. A separação de cada vista utilizando sintaxe de alto nível é conforme descrito anteriormente.
[0191]O bloco de decisão 2122 determina se um elemento de sintaxe tiling_mode é igual a zero. Se for, então o controle é passado para um bloco de função 2124. Caso contrário, o controle é passado para um bloco de função 2138.
[0192]O bloco de função 2124 analisa um elemento de sintaxe flip_dir[sub_view_id[i]] e [0193]e um elemento de sintaxe upsample_view_flag[sub_view_id[i]], e passa o controle para um bloco de decisão 2126. O bloco de decisão 2126 determina se o valor atual do elemento de sintaxe upsample_view_flag[sub_view_id[i]] é ou não igual a um. Se for, então o controle é passado para um bloco de função 2128. Caso contrário, o controle é passado para um bloco de decisão 2130.
[0194]O bloco de função 2128 analisa um elemento de sintaxe upsample_filter[sub_view_id[i]], e passa o controle para o bloco de decisão 2130. O bloco de decisão 2130 determina se um valor do elemento de sintaxe upsample_filter[sub_view_id[i]] é ou não igual a três. Se for, o controle é passado para um bloco de função 2132. Caso contrário, o controle é passado para um bloco de função 2136.
[0195]O bloco de função 2132 analisa os seguintes elementos de sintaxe, e passa o controle para um bloco de função 2134: vert_dim[sub_view_id[i]]; hor_dim[sub_view_id[i]]; e quantizer[sub_view_id[i]]. O bloco de função 2134 analisa os coeficientes de filtro para cada componente YUV, e passa o controle para o bloco de função 2136.
Petição 870180019966, de 12/03/2018, pág. 52/105
43/63 [0196]O bloco de função 2136 incrementa a variável i, e retorna o controle para o bloco de decisão 2108.
[0197]O bloco de função 2138 analisa um elemento de sintaxe pixel_dist_x[sub_view_id[i]] e o elemento de sintaxe flip_dist_y[sub_view_id[i]], e passa o controle para um bloco de função 2140. O bloco de função 2140 estabelece a variável j igual a zero, e passa o controle para um bloco de decisão 2142. O bloco de decisão 2142 determina se o valor atual da variável j é ou não menor do que o valor atual do elemento de sintaxe num_parts[sub_view_id[i]]. Se for, então o controle é passado para um bloco de função 2144. Caso contrário, o controle é passado para o bloco de função 2136.
[0198]O bloco de função 2144 analisa um elemento de sintaxe num_pixel_tiling_filter_coeffs_minus1 [sub_view_id[i]], e passa o controle para um bloco de função 2146. O bloco de função 2146 analisa os coeficientes para todos os filtros de ladrilhamento de pixel, e passa o controle para o bloco de função 2136.
[0199]Voltando-se para a Figura 22, exemplos de ladrilhamento no nível de pixel são indicados geralmente pelo numeral de referência 2200. A Figura 22 é descrita adicionalmente abaixo.
LADRILHAMENTO DE VISTA UTILIZANDO MPEG-4 AVC OU MVC [0200]Uma aplicação de codificação de vídeo de multivista é TV de ponto de vista livre (ou FTV). Essa aplicação requer que o usuário possa se mover livremente entre duas ou mais vistas. Para realizar isso, as vistas “virtuais” entre duas vistas precisam ser interpoladas ou sintetizadas. Há vários métodos para realizar interpolação de vista. Um dos métodos utiliza profundidade para interpolação/síntese de vista.
[0201]Cada vista pode ter um sinal de profundidade associado. Assim, a profundidade pode ser considerada como sendo outra forma de sinal de vídeo. A Figura 9 mostra um exemplo de um sinal de profundidade 900. Para habilitar
Petição 870180019966, de 12/03/2018, pág. 53/105
44/63 aplicações tais como FTV, o sinal de profundidade é transmitido junto com o sinal de vídeo. Na estrutura proposta de ladrilhamento, o sinal de profundidade também pode ser adicionado como um dos ladrilhos. A Figura 10 mostra um exemplo de sinais de profundidade adicionados como ladrilhos. Os sinais/ladrilhos de profundidade são mostrados no lado direito da Figura 10.
[0202]Quando a profundidade é codificada como um ladrilho do quadro inteiro, a sintaxe de alto nível deve indicar qual ladrilho é o sinal de profundidade de modo que o renderizador possa utilizar apropriadamente o sinal de profundidade.
[0203]No caso quando a sequência de entrada (tal como aquela mostrada na Figura 1) é codificada utilizando um codificador de Padrão MPEG-4 AVC (ou um codificador correspondendo a um padrão e/ou recomendação de codificação de vídeo diferente), a sintaxe de alto nível proposta pode estar presente, por exemplo, no Conjunto de Parâmetros de Sequência (SPS), no Conjunto de Parâmetros de Imagem (PPS), em um cabeçalho de seção, e/ou em uma mensagem de Informação de Otimização Suplementar (SEI). Uma modalidade do método proposto é mostrada na Tabela 1 onde a sintaxe está presente em uma mensagem de Informação de Otimização Suplementar (SEI).
[0204]No caso quando as sequências de entrada das pseudovistas (tais como aquelas mostradas na Figura 1) são codificadas utilizando a extensão de codificação de vídeo de multivista (MVC) do codificador de Padrão MPEG-4 AVC (ou um codificador correspondendo ao padrão de codificação de vídeo de multivista com relação a um padrão e/ou recomendação de codificação de vídeo diferente), a sintaxe de alto nível proposta pode estar presente no SPS, no PPS, no cabeçalho de seção, em uma mensagem SEI, ou em um perfil especificado. Uma modalidade do método proposto é mostrada na Tabela 1. A Tabela 1 mostra elementos de sintaxe presentes na estrutura de Conjunto de Parâmetros de Sequência (SPS), incluindo elementos de sintaxe propostos de acordo com uma modalidade dos presentes princípios
Petição 870180019966, de 12/03/2018, pág. 54/105
45/63
TABELA 1
seq paramete r set mvc extensio n () { c Descritor
num views minus 1 ue(v)
para(i = 0; i <= num views minus 1; i++)
view id[i] ue(v)
para(i = 0; i <= num views minus 1; i++) {
num anchor refs I0[i] ue(v)
para( j = 0; j < num anchor refs I0[i]; j++ )
anchor ref I0[i][j] ue(v)
num anchor refs H [i] ue(v)
para( j = 0; j < num anchor refs H[i]; j++ )
anchor ref H[i][j] ue(v)
}
para(i = 0; i <= num views minus 1; i++) {
num non anchor refs I0[i] ue(v)
para( j = 0; j < num non anchor refs I0[i]; j++ )
non anchor ref I0[i][j] ue(v)
num non anchor refs M [i] ue(v)
para( j = 0; j < num non anchor refs H[i]; j++ )
non anchor refJ1 [i][j] ue(v)
}
pseudo view present flag u(l)
se (pseudo view present flag) {
tiling mode
org pic width in mbs minus1
org pic height in mbs minus1
para( i = 0; i < num views minus 1; i++)
pseudo view info(i);
}
}
[0205]A Tabela 2 mostra os elementos de sintaxe para o elemento de sintaxe pseudo_view_info da TABELA 1, de acordo com uma modalidade dos presentes princípios.
TABELA 2
pseudo view info (pseudo view id) { C Descritor
num sub views minus 1[pseudo view id] 5 ue(v)
se (num sub views minus 1 != 0) {
para (i = 0; i < num sub views minus 1[pseudo view id]; i++)
sub view id[i] 5 ue(v)
Petição 870180019966, de 12/03/2018, pág. 55/105
46/63
num parts minus1[sub view id[ i ]] 5 ue(v)
para( j = 0; j <= num parts minus1[sub view id[ i ]]; j++ ) {
loc left offset[sub view id[ i ]] [ j ] 5 ue(v)
loc top offset[sub view id[ i ]] [ j ] 5 ue(v)
frame cropJeft offset[sub view id[ i ]] [ j ] 5 ue(v)
frame crop right offset[sub view id[ i ]] [ j ] 5 ue(v)
frame crop top offset[sub view id[ i ]] [ j ] 5 ue(v)
frame crop bottom offset[sub view id[ i ]] [ j ] 5 ue(v)
}
se (tiling mode == 0) {
flip dir[sub view id[ i ][ j ] 5 u(2)
upsample view flag[sub view id[ i ]] 5 u(l)
se(upsample view flag[sub view id[ i ]])
upsample filter[sub view id[ i ]] 5 u(2)
se(upsample fiter[sub view id[i]] == 3) {
vert dim[sub view id[i]] 5 ue(v)
hor dim[sub view id[i]] 5 ue(v)
quantizer[sub view id[i]] 5 ue(v)
para (yuv= 0; yuv< 3; yuv++) {
para (y = 0; y < vert dim[sub view id[i]] -1; y ++) {
para (x = 0; x < hor dim[sub view id[i]] -1; x ++)
filter coeffs[sub view id[i]] [yuv][y][x] 5 se(v)
}
}
}
} // se(tiling mode == 0)
ou se (tiling mode == 1) {
pixel dist x[sub view id[ i ] ]
pixel dist y[sub view id[ i ] ]
para( j = 0; j <= num parts[sub view id[ i ]]; j++ ) {
num pixel tiling filter coeffs minus1[sub view id[ i ] ][j]
para (coeff_dx = 0; coeff_dx <= num nível tiling filter coeffc miniid[ciib view id[ i ] ITil· i ++)
pixel tiling filter coeffs[sub view id[i]][j]
} // para (j = 0; j <= num parts[sub view id[ i ]]; j++ )
} // ou se (tiling mode == 1)
} // para (i = 0; i < num sub views minus 1; i++)
} // se (num sub views minus 1 != 0)
}
[0206]Semânticas dos elementos de sintaxe apresentados na TABELA 1 e
TABELA 2 [0207]pseudo_view_present_flag igual a verdadeiro indica que certa vista é
Petição 870180019966, de 12/03/2018, pág. 56/105
47/63 uma supervista de múltiplas subvistas.
[0208]tiling_mode igual a zero indica que as subvistas são ladrilhadas no nível de imagem. Um valor de 1 indica que o ladrilhamento é feito no nível de pixel.
[0209]A mensagem SEI nova poderia usar um valor para o tipo de carga útil SEI que não foi usado no Padrão MPEG-4 AVC ou uma extensão do Padrão MPEG4 AVC. A mensagem SEI nova inclui vários elementos de sintaxe com as seguintes semânticas.
[0210]num_coded_views_minus1 plus 1 indica o número de vistas codificadas suportadas pelo fluxo de bits. O valor de num_coded_views_minus1 está no escopo de 0 a 1023, inclusive.
[0211]org_pic_width_in_mbs_minus1 plus 1 especifica a largura de uma imagem em cada vista em unidades de macroblocos.
[0212]A variável para a largura de imagem em unidades de macroblocos é derivada como a seguir:
[0213]PicWidthlnMbs = org_pic_width_in_mbs_minus1 + 1 [0214]A variável para largura de imagem para o componente luma é derivada como a seguir:
[0215]PicWidthlnSamplesL = PicWidthlnMbs * 16 [0216]A variável para largura de imagem para os componentes croma é derivada como a seguir:
[0217]PicWidthlnSamplesC = PicWidthlnMbs * MbWidthC [0218]org_pic_height_in__mbs_minus1 plus 1 especifica a altura de uma imagem em cada vista em unidades de macroblocos.
[0219]A variável para a altura de imagem em unidades de macroblocos é derivada como a seguir:
[0220]PicHeightlnMbs = org_pic_height_in_mbs_minus1 + 1 [0221]A variável para altura de imagem para o componente luma é derivada
Petição 870180019966, de 12/03/2018, pág. 57/105
48/63 como a seguir:
[0222]PicHeightlnSamplesL = PicHeightlnMbs * 16 [0223]A variável para altura de imagem para os componentes croma é derivada como a seguir:
[0224]PicHeightlnSamplesC = PicHeightlnMbs * MbHeightC [0225]num_sub_views_minus1 plus 1 indica o número de subvistas codificadas incluídas na vista atual. O valor de num_coded_views_minus1 está no escopo de 0 a 1023, inclusive.
[0226]sub_view_id[i] especifica o sub_view_id da subvista com ordem de decodificação indicada por i.
[0227]num_parts[sub_view_id[i]] especifica o número de partes nas quais a imagem de sub_view_id[i] é dividida.
[0228]loc_left_offset[sub_view_id[i]][j] e loc_top_offset[sub_view_id[i]][j] especificam os locais em deslocamentos de pixels esquerda e superior, respectivamente, onde a parte atual j está localizada na imagem reconstruída final da vista com sub_view_id igual a sub_view_id[i].
[0229]view_id[i] especifica a view_id da vista com a ordem de codificação indicada por i.
[0230]frame_crop_left_offset[view_id[i]][j], frame_crop_right_offset[view_id[i]][j], frame_crop_top_offset[view_id[i]]j], e frame_crop_bottom_offset[view_id[i]][j] especifica as amostras da imagens na sequência de vídeo codificada que constituem parte de num_part j e view_id i, em termos de uma região retangular especificada nas coordenadas de quadro para emissão.
[0231]As variáveis CropUnitX e CropUnitY são derivadas como a seguir:
[0232]— Se chroma_format_idc for igual a 0, CropUnitX e CropUnitY são derivadas como a seguir:
Petição 870180019966, de 12/03/2018, pág. 58/105
49/63 [0233]CropUnitX = 1 [0234]CropUnitY = 2 -frame_mbs_only_flag [0235]— Caso contrário (chroma_format_idc é igual a 1,2, ou 3), CropUnitX e CropUnitY são derivadas como a seguir:
[0236]CropUnitX = SubWidthC [0237]CropUnitY = SubHeightC * (2 - frame_mbs_only_flag) [0238]O retângulo de recorte de quadro inclui as amostras luma com coordenadas de quadros horizontais a partir do seguinte:
[0239]CropUnitX * frame_crop_left_offset para PicWidthlnSamplesL (CropUnitX * frame_crop_right_offset + 1) e coordenadas de quadros verticais a partir de CropUnitY * frame_crop_top_offset para (16 * FrameHeightlnMbs) - (CropUnitY * frame_crop_bottom_offset +1), inclusive. O valor de frame_crop_left_offset deve estar na faixa de 0 a (PicWidthlnSamplesL / CropUnitX) - (frame_crop_right_offset + 1), inclusive; e o valor de frame_crop_top_offset deve estar na faixa de 0 a (16 * FrameHeightlnMbs / CropUnitY) - (frame_crop_bottom_offset +1), inclusive.
[0240]Quando chroma_format_idc não é igual a 0, as amostras especificadas correspondentes dos dois sistemas croma são as amostras tendo coordenadas de quadro SubWidthC, y / SubHeightC), onde (x, y) são as coordenadas de quadro das amostras luma especificadas.
[0241]Para campos decodificados, as amostras especificadas do campo decodificado são as amostras que estão compreendidas dentro do retângulo especificado nas coordenadas de quadro.
[0242]num_parts[view_id[i]] especifica o número de partes nas quais a imagem de view_id[i] é dividida.
[0243]depth_flag[view_id[i]] especifica se a parte atual é ou não um sinal de profundidade. Se depth_flag for igual a 0, então a parte atual não é um sinal de profundidade. Se depth_flag for igual a 1, então a parte atual é um sinal de
Petição 870180019966, de 12/03/2018, pág. 59/105
50/63 profundidade associado com a vista identificada por view_id[i].
[0244]flip_dir[sub_view_id[i]][j] especifica a direção de viragem da parte atual. flip_dir igual a 0 indica nenhuma viragem, flip_dir igual a 1 indica viragem em uma direção horizontal, flip_dir igual a 2 indica viragem em uma direção vertical, e flip_dir igual a 3 indica viragem nas direções horizontal e vertical.
[0245]flip_dir[view_id[i]][j] especifica a direção de viragem para a parte atual. flip_dir igual a 0 indica nenhuma viragem, flip_dir igual a 1 indica viragem em uma direção horizontal, flip_dir igual a 2 indica viragem na direção vertical, e flip_dir igual a 3 indica viragem nas direções horizontal e vertical.
[0246]loc_left_offset[view_id[i]][j], loc_top_offset[view_id[i]][j] especifica o local nos deslocamentos de pixels, onde a parte atual j está localizada na imagem reconstruída final da vista com view_id igual a view_id[i].
[0247]upsample_view_flag[view_id[i]] indica se a imagem pertencendo à vista especificada por view_id[i] precisa ser amostrada ascendentemente. upsample_view_flag[view_id[i]] igual a 0 especifica que a imagem com view_id igual a view_id[i] não será amostrada ascendentemente. upsample_view_flag[view_id[i]] igual a 1 especifica que a imagem com view_id igual a view_id[i] será amostrada ascendentemente.
[0248]upsample_filter[view_id[i]] indica o tipo de filtro que deve ser usado para amostragem ascendente. upsample_filter[view_id[i]] igual a 0 indica que o filtro AVC de 6 derivações deve ser usado, upsample_filter[view_id[i]] igual a 1 indica que o filtro SVC de 4 derivações deve ser usado, upsample_filter[view_id[i]] igual a 2 indica que o filtro bilinear deve ser usado, upsample_filter[view_id[i]] igual a 3 indica que os coeficientes de filtro especial são transmitidos. Quando upsample_filter[view_id[i]] não estiver presente ele é ajustado para 0. Nessa modalidade, utilizamos o filtro 2D customizado. O mesmo pode ser facilmente estendido para filtro 1 D, e algum outro filtro não-linear.
[0249]vert_dim[view_id[i]] especifica a dimensão vertical do filtro 2D especial.
Petição 870180019966, de 12/03/2018, pág. 60/105
51/63 [0250]hor_dim[view_id[i]] especifica a dimensão horizontal do filtro 2D especial.
[0251]quantizer[view_id[i]] especifica o fator de quantização para cada coeficiente de do filtro.
[0252]filter_coeffs[view_id[i]] [yuv][y][x] especifica os coeficientes de filtro quantizados. yuv sinaliza o componente para o qual se aplicam os coeficientes de filtro. yuv igual a 0 especifica o componente Y, yuv igual a 1 especifica o componente U, e yuv igual a 2 especifica o componente V.
[0253]pixel_dist_x[sub_view_id[i]] e pixel_dist_y[sub_view_id[i]] especificam respectivamente a distância na direção horizontal e a direção vertical na pseudovista reconstruída final entre pixels adjacentes na vista com sub_view_id igual a sub_view_id[i].
[0254]num_pixel_tiling_filter_coeffs_minus1 [sub_view_id[i][j] mais um indica o número de coeficientes de filtro quando o modo de ladrilhamento é estabelecido igual a 1.
[0255]pixel_tiling_filter_coeffs[sub_view_id[i][j] sinaliza os coeficientes de filtro que são exigidos para representar um filtro que pode ser usado para filtrar a imagem ladrilhada.
[0256]Exemplos de ladrilhamento em nível de pixel [0257]Voltando-se para a Figura 22, dois exemplos mostrando a composição de uma pseudovista mediante ladrilhamento de pixels a partir de quatro vistas são indicados respectivamente pelos numerais de referência 2210 e 2220, respectivamente. As quatro vistas são indicadas coletivamente pelo numeral de referência 2250. Os valores de sintaxe para o primeiro exemplo na Figura 22 são providos na TABELA 3 abaixo.
TABELA 3
pseudo view info (pseudo view id) { Valor
num sub views minus 1 [pseudo view id] 3
Petição 870180019966, de 12/03/2018, pág. 61/105
52/63
sub view id[0] 0
num parts minus1 [0] 0
loc left offset[0][0] 0
loc top offset[0][0] 0
pixel dist x[0][0] 0
pixel dist y[0][0] 0
sub view id[1] 0
num parts minus1 [1 ] 0
loc left offset[1][0] 1
loc top offset[1][0] 0
pixel dist x[1][0] 0
pixel dist y[1][0] 0
sub view id[2] 0
num parts minus1 [2] 0
loc left offset[2][0] 0
loc top offset[2][0] 1
pixel dist x[2][0] 0
pixel dist y[2][0] 0
sub view id[3] 0
num parts minus1 [3] 0
loc left offset[3][0] 1
loc top offset[3][0] 1
pixel dist x[3][0] 0
pixel dist y[3][0] 0
[0258]Os valores de sintaxe para o segundo exemplo em 22 são todos idênticos exceto os seguintes dois elementos de sintaxe: Ioc_left_offset[3][0] igual a 5 e loc_top_offset[3][0] igual a 3.
[0259]O deslocamento indica que os pixels correspondendo a uma vista devem começar em um certo local deslocado. Isso é mostrado na Figura 22 (2220). Isso pode ser feito, por exemplo, quando duas vistas produzem imagens nas quais objetos comuns parecem estar deslocados a partir de uma vista para a outra. Por exemplo, se primeira e segunda câmeras (representando primeira e segunda vistas) captam imagens de um objeto, o objeto pode parecer estar deslocado em cinco pixels para a direita na segunda vista em comparação com a primeira vista. Isso significa que o pixel (i-5, j) na primeira vista corresponde ao pixel (i, j) na segunda vista. Se os pixels das duas vistas estão simplesmente ladrilhados pixel por pixel, então pode não
Petição 870180019966, de 12/03/2018, pág. 62/105
53/63 haver muita correlação entre os pixels adjacentes no ladrilho, e os ganhos de codificação espacial podem ser pequenos. Inversamente, mediante deslocamento do ladrilhamento de modo que o pixel (i-5, j) a partir de uma vista seja colocado próximo ao pixel (i, j) a partir da vista dois, correlação espacial pode ser aumentada e o ganho de codificação espacial também pode ser aumentado. Isso ocorre porque, por exemplo, os pixels correspondentes para o objeto na primeira e segunda vista estão sendo ladrilhados próximos um do outro.
[0260]Assim, a presença de loc_left_offset e loc_top_offset pode se beneficiar da eficiência de codificação. A informação de deslocamento pode ser obtida mediante meios externos. Por exemplo, a informação de posição das câmeras ou os vetores de disparidade global entre as vistas podem ser usados para determinar tal informação de deslocamento.
[0261]Como resultado do deslocamento, a alguns pixels na pseudovista não são atribuídos valores de pixel a partir de qualquer vista. Continuando o exemplo acima, ao ladrilhar o pixel (i-5, j) a partir da vista um ao longo do pixel (i, j) a partir da vista dois, para valores de i=0...4 não há pixel (i-5, j) a partir da vista um para ladrilhar, de modo que esses pixels estão vazios no ladrilho. Para aqueles pixels na pseudovista (ladrilho) aos quais não são atribuídos valores de pixel a partir de qualquer vista, ao menos uma implementação utiliza um procedimento de interpolação similar ao procedimento de interpolação de subpixel em compensação de movimento em AVC. Isto é, os pixels de ladrilho vazio podem ser interpolados a partir de pixels adjacentes. Tal interpolação pode resultar em maior correlação espacial no ladrilho e maios ganho de codificação para o ladrilho.
[0262]Em codificação de vídeo, podemos escolher um tipo de codificação diferente para cada imagem, tal como imagens I, P e B. Para codificação de vídeo de multivista, em adição, definimos imagens de âncora e imagens de não-âncora. Em uma modalidade, propomos que a decisão de agrupamento possa ser feita com base
Petição 870180019966, de 12/03/2018, pág. 63/105
54/63 no tipo de imagem. Essa informação de agrupamento é sinalizada na sintaxe de alto nível.
[0263]Voltando-se para a Figura 11, um exemplo de cinco vistas ladrilhadas em um único quadro é indicado geralmente pelo numeral de referência 1100. Particularmente, a sequência “ballroom” é mostrada com 5 vistas ladrilhadas em um único quadro. Adicionalmente, pode ser visto que a quinta vista é dividida em duas partes de modo que ela pode ser arranjada em um quadro retangular. Aqui, cada vista é de tamanho QVGA de modo que a dimensão de quadro total é de 640x600. Como 600 não é um múltiplo de 16 ele deve ser estendido para 608.
[0264]Para esse exemplo, a mensagem SEI possível poderia ser conforme mostrado na TABELA 4.
TABELA 4
multiview display info( payloadSize) { Valor
num coded views minus 1 5
o rg pic width i n m bs m inus1 40
org pic height in mbs minus1 30
view id[ 0 ] 0
num parts[view id[ 0 ]] 1
depth flag[view id[ 0 ]][ 0 ] 0
flip dir[view id[ 0 ]][ 0 ] 0
loc left offset[view id[ 0 ]] [ 0 ] 0
loc top offset[view id[ 0 ]] [ 0 ] 0
frame crop left offset[view id[ 0 ]] [ 0 ] 0
frame crop right offset[view id[ 0 ]] [ 0 ] 320
frame crop top offset[view id[ 0 ]] [ 0 ] 0
frame crop bottom offset[view id[ 0 ]] [ 0 ] 240
upsample view flag[view id[ 0 ]] 1
se(upsample view flag[view id[ 0 ]]) {
vert dim[view id[0]] 6
hor dim[view id[0]] 6
quantizer[view id[0]] 32
para (yuv= 0; yuv< 3; yuv++) {
para (y = 0; y < vert dim[view id[i]] -1; y ++) {
para (x = 0; x < hor dim[view id[i]] -1; x ++)
Petição 870180019966, de 12/03/2018, pág. 64/105
55/63
filter coeffs[view id[i]] [yuv][y][x] XX
view id[ 1 ] 1
num parts[view id[ 1 ]] 1
depth flag[view id[ 0 ]][ 0 ] 0
flip dir[view id[ 1 ]][ 0 ] 0
loc left offset[view id[ 1 ]] [ 0 ] 0
loc top offset[view id[ 1 ]] [ 0 ] 0
frame crop left offset[view id[ 1 ]] [ 0 ] 320
frame crop right offset[view id[ 1 ]] [ 0 ] 640
frame crop top offset[view id[ 1 ]] [ 0 ] 0
frame crop bottom offset[view id[ 1 ]] [ 0 ] 320
upsample view flag[view id[ 1 ]] 1
se(upsample view flag[viewjd[ 1 ]]) {
vert dim[view id[1 ]] 6
hor dim[view id[1 ]] 6
quantizer[view id[1 ]] 32
para (yuv= 0; yuv< 3; yuv++) {
para (y = 0; y < vert dim[view id[i]] -1; y ++) {
para (x = 0; x < hor dim[view id[i]] -1; x ++)
filter coeffs[view id[i]] [yuv][y][x] XX
..........(similarmente para vista 2,3)
view id[ 4 ] 4
num parts[view id[ 4 ]] 2
depth flag[view id[ 0 ]][ 0 ] 0
flip dir[view id[ 4 ]][ 0 ] 0
loc left offset[view id[ 4 ]] [ 0 ] 0
loc top offset[view id[ 4 ]] [ 0 ] 0
frame crop left offset[view id[ 4 ]] [ 0 ] 0
frame crop right offset[view id[ 4 ]] [ 0 ] 320
frame crop top offset[view id[ 4 ]] [ 0 ] 480
frame crop bottom offset[view id[ 4 ]] [ 0 ] 600
flip dir[view id[ 4 ]][ 1 ] 0
Petição 870180019966, de 12/03/2018, pág. 65/105
56/63
loc left offset[view id[ 4 ]] [ 1 ] 0
loc top offset[view id[ 4 ]] [ 1 ] 120
frame crop left offset[view id[ 4 ]] [ 1 ] 320
frame crop right offset[view id[ 4 ]] [ 1 ] 640
frame crop top offset[view id[ 4 ]] [ 1 ] 480
frame crop bottom offset[view id[ 4 ]] [ 1 ] 600
upsample view flag[view id[ 4 ]] 1
se(upsample view flag[view id[ 4 11) {
vert dim[view id[4]] 6
hor dim[view id[4]] 6
quantizer[view id[4]] 32
para (yuv= 0; yuv< 3; yuv++) {
para (y = 0; y < vert dim[view id[i]] -1; y ++) {
para(x = 0; x < hor dim[view id[i]] -1; x ++)
filter coeffs[view id[i]] [yuv][y][x] XX
[0265]A TABELA 5 mostra a estrutura de sintaxe geral para transmitir informação de multivista para o exemplo mostrado na Tabela 4. TABELA 5
multiview display info( payloadSize) { C Descritor
n u m coded views m inus1 5 ue(v)
o rg pic width i n m bs m inus1 5 ue(v)
org pic height in mbs minus1 5 ue(v)
para( i = 0; i <= num coded views minus1; i++ ) {
view id[ i ] 5 ue(v)
num parts[view id[ i ]] 5 ue(v)
para( j = 0; j <= num parts[i]; j++ ) {
depth flag[view id[ i ]][ j ]
flip dir[view id[ i ]][ j ] 5 u(2)
loc left offset[view id[ i ]] [ j ] 5 ue(v)
loc top offset[view id[ i ]] [ j ] 5 ue(v)
frame crop left offset[view id[ i ]] [ j ] 5 ue(v)
frame crop right offset[view id[ i ]] [ j ] 5 ue(v)
frame crop top offset[view id[ i ]] [ j ] 5 ue(v)
frame crop bottom offset[view id[ i ]] [ j ] 5 ue(v)
}
upsample view flag[view id[ i ]] 5 u(1)
se(upsample view flag[view id[ i ]])
upsample filter[view id[ i ]] 5 u(2)
se(upsample fiter[view id[i]] == 3) {
vert dim[view id[i]] 5 ue(v)
Petição 870180019966, de 12/03/2018, pág. 66/105
57/63
hor dim[view id[i]] 5 ue(v)
quantizer[view id[i]] 5 ue(v)
para (yuv= 0; yuv< 3; yuv++) {
para (y = 0; y < vert dim[view id[i]] -1; y ++) {
para (x = 0; x < hor dim[view id[i]] -1; x ++)
filter coeffs[view id[i]] [yuv][y][x] 5 se(v)
}
}
}
}
}
[0266]Com referência à Figura 23, é mostrado um dispositivo de processamento de vídeo 2300. O dispositivo de processamento de vídeo 2300 pode ser, por exemplo, um conversor de sinais ou outro dispositivo que recebe vídeo codificado e provê, por exemplo, vídeo decodificado para exibição para um usuário ou para armazenamento. Assim, o dispositivo 2300 pode prover sua saída para uma televisão, monitor de computador, ou um computador ou outro dispositivo de processamento.
[0267]O dispositivo 2300 inclui um decodificador 2310 que recebe um sinal de dados 2320. O sinal de dados 2320 pode incluir, por exemplo, um fluxo compatível com AVC ou um fluxo compatível com MVC. O decodificador 2310 decodifica todo ou parte do sinal recebido 2320 e provê como saída um sinal de vídeo decodificado 2330 e informação de ladrilhamento 2340. O vídeo decodificado 2330 e a informação de ladrilhamento 2340 são providos a um seletor 2350. O dispositivo 2300 inclui também uma interface de usuário 2360 que recebe uma entrada de usuário 2370. A interface de usuário 2360 provê um sinal de seleção de imagem 2380, com base na entrada de usuário 2370, para o seletor 2350. O sinal de seleção de imagem 2380 e a entrada de usuário 2370 indicam qual das múltiplas imagens um usuário pretende ter exibida. O seletor 2350 provê a imagem(ns) selecionada como uma saída 2390. O seletor 2350 usa a informação de seleção de imagem 2380 para selecionar qual das imagens no vídeo codificado 2330 prover como a saída 2390. O seletor 2350 utiliza a informação
Petição 870180019966, de 12/03/2018, pág. 67/105
58/63 de ladrilhamento 2340 para localizar a imagem(ns) selecionada no vídeo decodificado 2330.
[0268]Em várias implementações, o seletor 2350 inclui a interface de usuário 2360, e em outras implementações nenhuma interface de usuário 2360 é necessária porque o seletor 2350 recebe a entrada de usuário 2370 diretamente sem uma função de interface separada sendo realizada. O seletor 2350 pode ser implementado em software ou como um circuito integrado, por exemplo. O seletor 2350 também pode incorporar o decodificador 2310.
[0269]Mais geralmente, os decodificadores de várias implementações descritas nesse pedido podem prover uma saída decodificada que inclui um ladrilho inteiro. Adicionalmente ou alternativamente, os decodificadores podem prover uma saída decodificada que inclui apenas uma ou mais imagens selecionadas (imagens ou sinais de profundidade, por exemplo) a partir do ladrilho.
[0270]Conforme observado acima, sintaxe de alto nível pode ser usada para realizar sinalização de acordo com uma ou mais modalidades dos presentes princípios. A sintaxe de alto nível pode ser usada, por exemplo, mas não é limitada à sinalização de qualquer um dos seguintes: o número de vistas codificadas presentes no quadro maior, a largura e altura originais de todas as vistas; para cada vista codificada, o identificador de vista correspondendo à vista; para cada vista codificada, o número de partes em que o quadro de uma vista é dividido; para cada parte da vista, a direção de viragem (a qual pode ser, por exemplo, nenhuma viragem, viragem apenas horizontal, viragem apenas vertical ou viragem horizontal e vertical); para cada parte da vista, a posição esquerda em pixels ou o número de macroblocos onde a parte atual pertence no quadro final para a vista; para cada parte da vista, a posição superior da parte em pixels ou número de macroblocos onde a parte atual pertence no quadro final para a vista; para cada parte da vista, a posição esquerda, no quadro decodificado/codificado grande atual, da janela de recorte em pixels ou número de
Petição 870180019966, de 12/03/2018, pág. 68/105
59/63 macroblocos; para cada parte da vista, a posição à direita, no quadro decodificado/codificado grande atual, da janela de recorte em pixels ou número de macroblocos; para cada parte da vista, a posição superior, no quadro decodificado/codificado grande atual, da janela de recorte em pixels ou número de macroblocos; e, para cada parte da vista, a posição inferior, no quadro decodificado/codificado grande atual, da janela de recorte em pixels ou o número de macroblocos; para cada vista codificada se a vista precisa ser amostrada ascendentemente antes da saída (onde se a amostragem ascendente precisa ser realizada, uma sintaxe de alto nível pode ser usada para indicar o método para amostragem ascendente (incluindo, mas não limitado a, filtro de 6 derivações AVC, filtro de 4 derivações SVC, filtro bilinear ou um filtro 1D especial, 2D linear ou nãolinear).
[0271]Deve ser observado que os termos, “codificador” e “decodificador” conotam estruturas gerais e não são limitados a quaisquer funções ou características específicas. Por exemplo, um decodificador pode receber um portador modulado que transporta um fluxo de bits codificado, e demodula o fluxo de bits codificado, assim como decodifica o fluxo de bits.
[0272]Vários métodos foram descritos. Muitos desses métodos são detalhados para prover ampla revelação. Contudo, observa-se que variações são consideradas que podem variar uma ou muitas das características específicas descritas para esses métodos. Adicionalmente, muitas das características que são citadas são conhecidas na técnica e, consequentemente, não são descritas em grande detalhe.
[0273]Adicionalmente, foi feita referência ao uso de sintaxe de alto nível para enviar certa informação em várias implementações. Contudo, deve ser entendido que outras implementações utilizam sintaxe de nível inferior, ou na realidade outros mecanismos de modo geral (tal como, por exemplo, enviando informação como parte
Petição 870180019966, de 12/03/2018, pág. 69/105
60/63 dos dados codificados) para prover a mesma informação (ou variações dessa informação).
[0274]Várias implementações proporcionam ladrilhamento e sinalização apropriada para permitir que múltiplas vistas (imagens, mais geralmente) sejam ladrilhadas em uma única imagem, codificadas como uma única imagem, e enviadas como uma única imagem. A informação de sinalização pode permitir que um pósprocessador separe as vistas/imagens. Além disso, as múltiplas imagens que são ladrilhadas poderiam ser vistas, mas ao menos uma das imagens poderia ser informação de profundidade. Essas implementações podem prover uma ou mais vantagens. Por exemplo, os usuários podem pretender exibir múltiplas vistas de uma maneira ladrilhada, e essas várias implementações proporcionam uma forma eficiente de codificar e transmitir ou armazenar tais vistas mediante ladrilhamento das mesmas antes de codificar e transmitir/armazenar as mesmas de uma maneira ladrilhada.
[0275]Implementações que ladrilham múltiplas vistas no contexto de AVC e/ou MVC também proporcionam vantagens adicionais. AVC é usado apenas ostensivamente para uma única vista, de modo que nenhuma vista adicional é esperada. Contudo, tais implementações baseadas em AVC podem prover múltiplas vistas em um ambiente AVC porque as vistas ladrilhadas podem ser arranjadas de modo que, por exemplo, um decodificador sabe que as imagens ladrilhadas pertencem às diferentes vistas (por exemplo, imagem esquerda superior na pseudovista é vista 1, imagem superior direita é vista 2, etc.).
[0276]Adicionalmente, MVC já inclui múltiplas vistas, de modo que múltiplas vistas não devem ser incluídas em uma única pseudovista. Adicionalmente, MVC tem um limite no número de vistas que podem ser suportadas, e tais implementações baseadas em MVC efetivamente aumentam o número de vistas que podem ser suportadas pelo fato de permitir (como nas implementações baseadas em AVC) que vistas adicionais sejam ladrilhadas. Por exemplo, cada pseudovista pode
Petição 870180019966, de 12/03/2018, pág. 70/105
61/63 corresponder a uma das vistas suportadas de MVC, e o decodificador pode ter conhecimento de que cada “vista suportada” efetivamente inclui quatro vistas em uma ordem ladrilhada pré-arranjada. Desse modo, em tal implementação, o número de possíveis vistas é de quatro vezes o número de “vistas suportadas”.
[0277]As implementações aqui descritas podem ser implementadas, por exemplo, em um método ou processo, em um aparelho, ou em um programa de software. Mesmo se discutido apenas no contexto de uma única forma de implementação (por exemplo, discutida apenas como um método), a implementação de características discutidas pode ser implementada em outras formas (por exemplo, um aparelho ou programa). Um aparelho pode ser implementado, por exemplo, em hardware, software e firmware apropriado. Os métodos podem ser implementados, por exemplo, em um aparelho tal como, por exemplo, um processador, o qual se refere aos dispositivos de processamento em geral, incluindo, por exemplo, um computador, um microprocessador, um circuito integrado, ou um dispositivo lógico programável. Os dispositivos de processamento incluem também dispositivo de comunicação, tal como, por exemplo, computadores, telefones celulares, assistentes digitais pessoais/portáteis (‘PDAs”), e outros dispositivos que facilitam a comunicação de informação entre usuários finais.
[0278]Implementações dos vários processos e características aqui descritos podem ser incorporadas em uma variedade de diferentes equipamentos ou aplicações, particularmente, por exemplo, equipamentos ou aplicações associados à codificação e decodificação de dados. Exemplos de equipamento incluem codificadores de vídeo, decodificadores de vídeo, codecs de vídeo, servidores de Rede, conversores de sinais, laptops, computadores pessoais, telefones celulares, PDAs, e outros dispositivos de comunicação. Como deve ser evidente, o equipamento pode ser móvel e até mesmo instalado em um veículo móvel.
[0279]Adicionalmente, os métodos podem ser implementados mediante
Petição 870180019966, de 12/03/2018, pág. 71/105
62/63 instruções sendo realizadas por um processador, e tais instruções podem ser armazenadas em um meio legível por processador tal como, por exemplo, um circuito integrado, um portador de software ou outro dispositivo de armazenamento tal como, por exemplo, um disco rígido, um disquete, uma memória de acesso aleatório (“RAM”), ou uma memória 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. Como deve ser evidente, um processador pode incluir um meio legível por processador tendo, por exemplo, instruções para realizar um processo. Tais programas de aplicação podem ser transferidos para, e executados 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 (“I/O”). A plataforma de computador também pode incluir um sistema operacional e código de microinstrução. Os vários processos e funções aqui descritos podem ser parte do código de microinstrução ou parte do programa de aplicação, ou qualquer combinação dos mesmos, os quais podem ser executados por uma CPU. Além disso, várias outras unidades periféricas podem ser conectadas à plataforma de computador tal como uma unidade de armazenamento de dados, adicional e uma unidade de impressão.
[0280]Como deve ser evidente para aqueles versados na técnica, implementações também podem produzir um sinal formatado para portar informação que pode ser, por exemplo, armazenada ou transmitida. A informação pode incluir, por exemplo, instruções para realizar um método, ou dados produzidos por uma das implementações descritas. Tal sinal pode ser formatado, por exemplo, como uma onda eletromagnética (por exemplo, utilizando uma porção de espectro de radiofrequência) ou como um sinal de banda base. A formatação pode incluir, por exemplo, codificar um fluxo de dados, produzir sintaxe, e modular um portador com o
Petição 870180019966, de 12/03/2018, pág. 72/105
63/63 fluxo de dados codificado e a sintaxe. A informação que o sinal transporta pode ser, por exemplo, informação analógica ou digital. O sinal pode ser transmitido através de uma variedade de diferentes links cabeados ou sem fio, conforme é sabido.
[0281]Deve ser adicionalmente entendido que, devido a alguns dos componentes de sistema, constituintes e métodos ilustrados nos desenhos anexos são preferivelmente implementados em software, as conexões efetivas entre os componentes de sistema ou os blocos de função de processo podem diferir dependendo da forma na qual os presentes princípios são programados. Dados os presentes ensinamentos, aqueles de conhecimento comum na técnica pertinente serão capazes de considerar essas e similares implementações ou configurações dos presentes princípios.
[0282]Algumas implementações foram descritas. Não obstante, será entendido que podem ser feitas várias modificações. Por exemplo, elementos de diferentes implementações podem ser combinados, suplementados, modificados, ou removidos para produzir outras implementações. Adicionalmente, aqueles de conhecimento comum na técnica entenderão que outras estruturas ou processos podem ser substitutos daqueles revelados e as implementações resultantes realizarão ao menos substancialmente a mesma função(ões) em ao menos substancialmente a mesma forma(s) para obter ao menos substancialmente o mesmo resultado(s) que as implementações reveladas. Particularmente, embora modalidades ilustrativas sejam descritas aqui com referência aos desenhos anexos, deve-se entender que os presentes princípios não são limitados àquelas precisas modalidades, e que diversas alterações e modificações podem ser realizadas nas mesmas por aqueles versados na técnica pertinente sem se afastar do espírito ou escopo dos presentes princípios. Consequentemente, essas e outras implementações são consideradas por esse pedido e estão dentro do escopo das reivindicações a seguir.

Claims (10)

  1. REIVINDICAÇÕES
    1. Método, CARACTERIZADO por compreender:
    combinar múltiplas imagens em uma imagem de vídeo, as várias imagens, incluindo uma primeira imagem de uma primeira visualização de um vídeo de múltipla visualização e uma segunda imagem de uma segunda visualização de um vídeo de múltipla visualização em que um objeto ou região comum aparece deslocado de uma visualização para a outra;
    gerar informação indicando a forma como as múltiplas imagens são combinadas, em que a informação gerada indica se pelo menos uma das múltiplas imagens é invertida individualmente em uma ou em ambas as direções horizontal e vertical;
    codificar a imagem de vídeo para fornecer uma representação codificada das múltiplas imagens combinadas; e fornecer a informação gerada e a representação codificada como saída.
  2. 2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a primeira imagem é disposta ao lado ou acima da segunda imagem na imagem de vídeo.
  3. 3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que os pixels da primeira e segunda imagens são alternadamente entrelaçados.
  4. 4. Método, compreendendo:
    acessar uma imagem de vídeo que inclui múltiplas imagens combinadas em uma única imagem, as múltiplas imagens incluindo uma primeira imagem de uma primeira visualização de um vídeo de múltipla visualização e uma segunda imagem de uma segunda visualização do vídeo de múltipla visualização na qual um objeto ou região comum aparece deslocado de uma visualização para a outra, sendo a imagem de vídeo parte de um fluxo de vídeo recebido;
    acessar informações indicando como as múltiplas imagens da imagem de
    Petição 870190065774, de 12/07/2019, pág. 9/11
    2/3 vídeo acessada são combinadas, em que a informação acessada indica se pelo menos uma das múltiplas imagens é invertida individualmente em uma ou ambas as direções horizontal e vertical, e em que a informação acessada é parte do fluxo de vídeo recebido;
    decodificar a imagem de vídeo para fornecer uma representação decodificada de pelo menos uma das múltiplas imagens; e o método sendo CARACTERIZADO pelo fato de que ainda compreende, fornecer pelo menos uma das informações acessadas e a representação decodificada como saída.
  5. 5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a decodificação compreende ainda a desmontagem da primeira imagem e da segunda imagem da imagem de vídeo, e em que a primeira imagem é disposta ao lado ou acima da segunda imagem da imagem de vídeo.
  6. 6. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a decodificação compreende ainda a desmontagem, ao nível de pixel, da primeira imagem e da segunda imagem da imagem de vídeo, e em que os pixels da primeira e segunda imagens são alternadamente entrelaçados.
  7. 7. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a informação acessada indica pelo menos uma dentre uma localização e uma orientação de pelo menos uma das múltiplas imagens dentro da imagem de vídeo.
  8. 8. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que o acesso à imagem de vídeo, o acesso à informação, a decodificação da imagem de vídeo e o fornecimento da informação acessada e da representação decodificada sejam feitos em um decodificador.
  9. 9. Aparelho, CARACTERIZADO pelo fato de ser configurado para realizar um ou mais dos métodos do tipo definido em qualquer uma das reivindicações 1 a 8.
  10. 10. Meio legível por computador, CARACTERIZADO pelo fato de ter
    Petição 870190065774, de 12/07/2019, pág. 10/11
    3/3 armazenado no mesmo instruções executáveis de máquina que, quando executadas, implementam um método conforme definido em uma ou mais das reivindicações 1 a
BR122018004904-9A 2007-04-12 2008-04-11 ladrilhamento em codificação e decodificação de vídeo BR122018004904B1 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US92301407P 2007-04-12 2007-04-12
US92540007P 2007-04-20 2007-04-20
BRPI0809510-8A BRPI0809510B1 (pt) 2007-04-12 2008-04-11 Ladrilhamento em codificação e decodificação de vídeo
PCT/US2008/004747 WO2008127676A2 (en) 2007-04-12 2008-04-11 Tiling in video encoding and decoding

Publications (1)

Publication Number Publication Date
BR122018004904B1 true BR122018004904B1 (pt) 2019-11-05

Family

ID=39810226

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122018004903-0A BR122018004903B1 (pt) 2007-04-12 2008-04-11 ladrilhamento em codificação e decodificação de vídeo
BR122018004906-5A BR122018004906B1 (pt) 2007-04-12 2008-04-11 ladrilhamento em codificação e decodificação de vídeo
BR122018004904-9A BR122018004904B1 (pt) 2007-04-12 2008-04-11 ladrilhamento em codificação e decodificação de vídeo
BRPI0809510-8A BRPI0809510B1 (pt) 2007-04-12 2008-04-11 Ladrilhamento em codificação e decodificação de vídeo
BRPI0823512-0A2A BRPI0823512A2 (pt) 2007-04-12 2008-04-11 Ladrilhamento em codificação e decodificação de vídeo

Family Applications Before (2)

Application Number Title Priority Date Filing Date
BR122018004903-0A BR122018004903B1 (pt) 2007-04-12 2008-04-11 ladrilhamento em codificação e decodificação de vídeo
BR122018004906-5A BR122018004906B1 (pt) 2007-04-12 2008-04-11 ladrilhamento em codificação e decodificação de vídeo

Family Applications After (2)

Application Number Title Priority Date Filing Date
BRPI0809510-8A BRPI0809510B1 (pt) 2007-04-12 2008-04-11 Ladrilhamento em codificação e decodificação de vídeo
BRPI0823512-0A2A BRPI0823512A2 (pt) 2007-04-12 2008-04-11 Ladrilhamento em codificação e decodificação de vídeo

Country Status (21)

Country Link
US (13) US8780998B2 (pt)
EP (11) EP3399756B1 (pt)
JP (10) JP5324563B2 (pt)
KR (11) KR102123772B1 (pt)
CN (1) CN101658037B (pt)
AU (1) AU2008239653C1 (pt)
BR (5) BR122018004903B1 (pt)
DK (7) DK2512136T3 (pt)
ES (7) ES2825104T3 (pt)
FI (1) FI3920538T3 (pt)
HK (1) HK1255617A1 (pt)
HU (7) HUE055864T2 (pt)
LT (1) LT2887671T (pt)
MX (1) MX2009010973A (pt)
PL (7) PL2887671T3 (pt)
PT (7) PT3399756T (pt)
RU (8) RU2521618C2 (pt)
SI (6) SI3758380T1 (pt)
TR (1) TR201809177T4 (pt)
WO (1) WO2008127676A2 (pt)
ZA (2) ZA201006649B (pt)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
SI3758380T1 (sl) 2007-04-12 2021-04-30 Dolby International AB Apollo Building, 3E Razpostavljanje pri kodiranju in dekodiranju videa
BRPI0810213A8 (pt) 2007-05-16 2018-12-11 Thomson Licensing métodos e aparelho para uso de grupos de fatia na decodificação de informações de codificação de vídeo de múltiplas vistas (mvc).
JP5235035B2 (ja) 2008-09-23 2013-07-10 ドルビー ラボラトリーズ ライセンシング コーポレイション チェッカーボード多重化したイメージデータのエンコーディング構造及びデコーディング構造
CN102257818B (zh) 2008-10-17 2014-10-29 诺基亚公司 3d视频编码中运动向量的共享
JP5877065B2 (ja) * 2009-01-26 2016-03-02 トムソン ライセンシングThomson Licensing ビデオ符号化のためのフレーム・パッキング
EP2392144A1 (en) 2009-01-29 2011-12-07 Dolby Laboratories Licensing Corporation Methods and devices for sub-sampling and interleaving multiple images, eg stereoscopic
EP2384585A4 (en) * 2009-02-01 2017-03-15 LG Electronics Inc. Broadcast receiver and 3d video data processing method
WO2010093351A1 (en) * 2009-02-13 2010-08-19 Thomson Licensing Depth map coding to reduce rendered distortion
JP6159507B2 (ja) * 2009-02-19 2017-07-05 トムソン ライセンシングThomson Licensing 3d映像フォーマット
US9729899B2 (en) 2009-04-20 2017-08-08 Dolby Laboratories Licensing Corporation Directed interpolation and data post-processing
EP2425626A2 (en) 2009-05-01 2012-03-07 Thomson Licensing Inter-layer dependency information for 3dv
US9124874B2 (en) * 2009-06-05 2015-09-01 Qualcomm Incorporated Encoding of three-dimensional conversion information with two-dimensional video sequence
WO2011005624A1 (en) 2009-07-04 2011-01-13 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3d video delivery
JP2011109397A (ja) * 2009-11-17 2011-06-02 Sony Corp 画像送信方法、画像受信方法、画像送信装置、画像受信装置、及び画像伝送システム
US9215445B2 (en) 2010-01-29 2015-12-15 Thomson Licensing Block-based interleaving
US8555324B2 (en) 2010-02-02 2013-10-08 Microsoft Corporation Video download mechanism for transferring large data
IT1399417B1 (it) * 2010-04-12 2013-04-16 Sisvel Technology Srl Metodo per la generazione e ricostruzione di un flusso video stereoscopico compatibile e relativi dispositivi di codifica e decodifica.
US9225961B2 (en) * 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
IT1401731B1 (it) * 2010-06-28 2013-08-02 Sisvel Technology Srl Metodo per la decodifica 2d-compatibile di flussi video stereoscopici
CN105847780B (zh) 2010-07-21 2018-01-09 杜比实验室特许公司 用于多层帧兼容视频传输的解码方法
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
EP2602999A1 (en) * 2010-08-06 2013-06-12 Panasonic Corporation Encoding method, display device, and decoding method
WO2012020358A1 (en) * 2010-08-09 2012-02-16 Koninklijke Philips Electronics N.V. Encoder, decoder, bit-stream, method of encoding, method of decoding an image pair corresponding with two views of a multi-view signal
WO2012036902A1 (en) 2010-09-14 2012-03-22 Thomson Licensing Compression methods and apparatus for occlusion data
KR101867824B1 (ko) * 2010-10-28 2018-06-18 엘지전자 주식회사 모바일 환경에서 3차원 방송 신호를 수신하기 위한 수신 장치 및 방법
JP2012114575A (ja) * 2010-11-22 2012-06-14 Sony Corp 画像データ送信装置、画像データ送信方法、画像データ受信装置および画像データ受信方法
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
JPWO2012153450A1 (ja) * 2011-05-11 2014-07-31 パナソニック株式会社 動画像送信装置および動画像送信方法
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
US9521418B2 (en) * 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9077998B2 (en) * 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
US9749661B2 (en) 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding
EP2835969A4 (en) 2012-04-06 2015-09-09 Sony Corp DECODING APPARATUS, DECODING METHOD, ENCODING APPARATUS, AND ENCODING METHOD
TWI630815B (zh) 2012-06-14 2018-07-21 杜比實驗室特許公司 用於立體及自動立體顯示器之深度圖傳遞格式
US9584803B2 (en) * 2012-07-08 2017-02-28 Cisco Technology, Inc. Picture output management in video applications with fixed picture rate
US9554146B2 (en) * 2012-09-21 2017-01-24 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9661340B2 (en) 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
JP6968516B2 (ja) 2013-01-18 2021-11-17 キヤノン株式会社 生成装置、生成方法、提供装置、提供方法、及び、プログラム
TWI558166B (zh) 2013-04-04 2016-11-11 杜比國際公司 用於多視點裸視立體顯示器的深度地圖遞送格式
US9762868B2 (en) * 2013-06-28 2017-09-12 Thomson Licensing Highlighting an object displayed by a pico projector
US20160373789A1 (en) * 2013-07-05 2016-12-22 Sony Corporation Transmission device, transmission method, receiving device, and receiving method
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
CN104869457B (zh) * 2015-05-21 2019-04-26 京东方科技集团股份有限公司 显示器、显示装置、播放器、播放装置及播放显示系统
US20180213216A1 (en) * 2015-06-16 2018-07-26 Lg Electronics Inc. Media data transmission device, media data reception device, media data transmission method, and media data rececption method
WO2017087128A1 (en) 2015-11-16 2017-05-26 Virtual Dreamware, LLC Symmetrically mirrored video segmet
KR102301352B1 (ko) 2016-02-09 2021-09-14 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
CN114979648B (zh) 2016-05-27 2024-02-13 松下电器(美国)知识产权公司 编码方法、解码方法、及编码和解码方法
JP6185635B2 (ja) * 2016-09-02 2017-08-23 株式会社ユニバーサルエンターテインメント 遊技機
US10334277B2 (en) * 2016-09-02 2019-06-25 Qualcomm Incorporated Signaling target display parameters of color remapping information supplemental enhancement information messages
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
US10021976B1 (en) * 2016-11-01 2018-07-17 Scott Allen Furniture system
EP3468187A1 (en) 2017-10-03 2019-04-10 Axis AB Method and system for encoding video streams
CN117640949A (zh) 2018-05-23 2024-03-01 松下电器(美国)知识产权公司 解码装置和编码装置
KR102165334B1 (ko) 2019-06-03 2020-10-13 방지철 택배운반용 드론의 에어백 개스 주입장치
US11284113B2 (en) * 2019-09-25 2022-03-22 Tencent America LLC Method for signaling subpicture identifier
CN111510729A (zh) * 2020-03-25 2020-08-07 西安电子科技大学 一种基于视频编解码技术的rgbd数据压缩传输方法
US11221907B1 (en) * 2021-01-26 2022-01-11 Morgan Stanley Services Group Inc. Centralized software issue triage system
WO2022182368A1 (en) * 2021-02-28 2022-09-01 Leia Inc. System and method of streaming compressed multiview video
JPWO2022210661A1 (pt) 2021-03-30 2022-10-06
JPWO2022224810A1 (pt) 2021-04-23 2022-10-27
JPWO2022225025A1 (pt) 2021-04-23 2022-10-27
US20230097425A1 (en) * 2021-09-29 2023-03-30 Tencent America LLC Techniques for signaling multiview view positions in sei message

Family Cites Families (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193000A (en) * 1991-08-28 1993-03-09 Stereographics Corporation Multiplexing technique for stereoscopic video system
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
JPH0870475A (ja) * 1994-06-23 1996-03-12 Sanyo Electric Co Ltd 立体動画像の符号化・復号化方法及び装置
US5748786A (en) 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6055012A (en) 1995-12-29 2000-04-25 Lucent Technologies Inc. Digital multi-view video compression with complexity and compatibility constraints
WO1997043883A1 (de) 1996-05-10 1997-11-20 Melcher Ag Vorrichtung zur montage elektrischer bauteile auf leiterplatten
DE19619598A1 (de) * 1996-05-15 1997-11-20 Deutsche Telekom Ag Verfahren zur Speicherung oder Übertragung von stereoskopischen Videosignalen
CN1223772A (zh) * 1996-07-03 1999-07-21 松下电器产业株式会社 多个图像信息的编码方法、编码装置、译码及合成方法、译码及合成装置和记录上述方法的记录媒体
US6075905A (en) * 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US6721952B1 (en) * 1996-08-06 2004-04-13 Roxio, Inc. Method and system for encoding movies, panoramas and large images for on-line interactive viewing and gazing
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6173087B1 (en) * 1996-11-13 2001-01-09 Sarnoff Corporation Multi-view image registration with application to mosaicing and lens distortion correction
EP1012822A1 (en) * 1996-12-27 2000-06-28 Chequemate International Inc. System and method for synthesizing three-dimensional video from a two-dimensional video source
US6157396A (en) 1999-02-16 2000-12-05 Pixonics Llc System and method for using bitstream information to process images for use in digital display systems
US6390980B1 (en) 1998-12-07 2002-05-21 Atl Ultrasound, Inc. Spatial compounding with ultrasonic doppler signal information
US6223183B1 (en) * 1999-01-29 2001-04-24 International Business Machines Corporation System and method for describing views in space, time, frequency, and resolution
JP2000308089A (ja) 1999-04-16 2000-11-02 Nippon Hoso Kyokai <Nhk> 立体画像符号化装置および復号化装置
US7254265B2 (en) * 2000-04-01 2007-08-07 Newsight Corporation Methods and systems for 2D/3D image conversion and optimization
DE10016074B4 (de) * 2000-04-01 2004-09-30 Tdv Technologies Corp. Verfahren und Vorrichtung zur Erzeugung von 3D-Bildern
GB0013273D0 (en) 2000-06-01 2000-07-26 Philips Electronics Nv Video signal encoding and buffer management
WO2002025420A1 (en) 2000-09-18 2002-03-28 International Business Machines Corporation Method, system and computer program for managing views at a computer display
US20030004835A1 (en) * 2001-05-31 2003-01-02 International Business Machines Corporation Method, system, and product service for locating items satisfying a general requirement and ranking items according to utility
US20030107643A1 (en) * 2001-08-17 2003-06-12 Byoungyi Yoon Method and system for controlling the motion of stereoscopic cameras based on a viewer's eye motion
US7277121B2 (en) * 2001-08-29 2007-10-02 Sanyo Electric Co., Ltd. Stereoscopic image processing and display system
EP1451775A1 (de) * 2001-11-24 2004-09-01 TDV Technologies Corp. Erzeugung einer stereo-bildfolge aus einer 2d-bildfolge
US7263240B2 (en) 2002-01-14 2007-08-28 Eastman Kodak Company Method, system, and software for improving signal quality using pyramidal decomposition
CA2380105A1 (en) * 2002-04-09 2003-10-09 Nicholas Routhier Process and system for encoding and playback of stereoscopic video sequences
US20030198290A1 (en) 2002-04-19 2003-10-23 Dynamic Digital Depth Pty.Ltd. Image encoding system
KR100693200B1 (ko) * 2002-04-25 2007-03-13 샤프 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 기록 매체 및 화상기록 장치
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
US20040012684A1 (en) * 2002-07-16 2004-01-22 Fairchild Imaging Image reconstruction techniques for charge coupled devices
JP2004120169A (ja) * 2002-09-25 2004-04-15 Sharp Corp 電子機器
JP4251864B2 (ja) * 2002-12-13 2009-04-08 シャープ株式会社 画像データ作成装置およびそのデータを再生する画像データ再生装置
US20050041736A1 (en) 2003-05-07 2005-02-24 Bernie Butler-Smith Stereoscopic television signal processing method, transmission system and viewer enhancements
US7489342B2 (en) 2004-12-17 2009-02-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for managing reference pictures in multiview videos
US20040260827A1 (en) * 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
US7496234B2 (en) 2003-06-20 2009-02-24 Microsoft Corporation System and method for seamless multiplexing of embedded bitstreams
CN1571508B (zh) * 2003-07-19 2010-05-12 华为技术有限公司 一种实现多画面的方法
JP2005049665A (ja) 2003-07-30 2005-02-24 Nec Plasma Display Corp 映像信号処理回路、表示装置及びその映像信号処理方法
JP4355914B2 (ja) * 2003-10-01 2009-11-04 日本電気株式会社 多視点画像伝送システムと方法、多視点画像圧縮装置と方法、多視点画像伸長装置と方法およびプログラム
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
KR100519776B1 (ko) 2003-11-24 2005-10-07 삼성전자주식회사 영상 신호의 해상도 변환 방법 및 장치
KR100587952B1 (ko) 2003-12-05 2006-06-08 한국전자통신연구원 좌우영상의 비대칭적 크기로의 축소에 의한 보상을 수행하는 영상 부호화/복호화 장치 및 그 방법
GB2412519B (en) * 2004-03-23 2010-11-03 British Broadcasting Corp Monitoring system
JP4542447B2 (ja) * 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
JP4421940B2 (ja) * 2004-05-13 2010-02-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置および方法、並びに動画像復号化装置および方法
US20050259729A1 (en) * 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
KR100679740B1 (ko) 2004-06-25 2007-02-07 학교법인연세대학교 시점 선택이 가능한 다시점 동영상 부호화/복호화 방법
US20060007200A1 (en) * 2004-07-08 2006-01-12 David Young Method and system for displaying a sequence of image frames
CN101977329B (zh) 2004-07-29 2012-10-03 微软公司 使用线光值和其它图像处理改进的图像处理
WO2006041261A1 (en) 2004-10-16 2006-04-20 Electronics And Telecommunications Research Institute Method and system for encoding/decoding multi-view video based on layered-depth image
EP1667448A1 (en) 2004-12-02 2006-06-07 Deutsche Thomson-Brandt Gmbh Method and apparatus for encoding and for decoding a main video signal and one or more auxiliary video signals
US7728878B2 (en) * 2004-12-17 2010-06-01 Mitsubishi Electric Research Labortories, Inc. Method and system for processing multiview videos for view synthesis using side information
WO2006072985A1 (ja) * 2005-01-06 2006-07-13 Mitsubishi Denki Kabushiki Kaisha 映像表示装置
JP2006191357A (ja) * 2005-01-06 2006-07-20 Victor Co Of Japan Ltd 再生装置および再生プログラム
US20060176318A1 (en) 2005-02-09 2006-08-10 Martin Virginia L Method for manipulating artwork to form decorative pieces
JP4849297B2 (ja) 2005-04-26 2012-01-11 ソニー株式会社 符号化装置および方法、復号装置および方法、並びにプログラム
US8228994B2 (en) * 2005-05-20 2012-07-24 Microsoft Corporation Multi-view video coding based on temporal and view decomposition
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
EP1897380B1 (en) * 2005-06-23 2015-11-18 Koninklijke Philips N.V. Combined exchange of image and related depth data
JP4637672B2 (ja) * 2005-07-22 2011-02-23 株式会社リコー 符号化処理装置及び方法
US7668366B2 (en) * 2005-08-09 2010-02-23 Seiko Epson Corporation Mosaic image data processing
WO2007046957A1 (en) 2005-10-12 2007-04-26 Thomson Licensing Method and apparatus for using high-level syntax in scalable video encoding and decoding
EP1946563A2 (en) 2005-10-19 2008-07-23 Thomson Licensing Multi-view video coding using scalable video coding
US7903737B2 (en) 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
US8457219B2 (en) 2005-12-30 2013-06-04 Ikanos Communications, Inc. Self-protection against non-stationary disturbances
ZA200805337B (en) 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
JP5192393B2 (ja) * 2006-01-12 2013-05-08 エルジー エレクトロニクス インコーポレイティド 多視点ビデオの処理
US20070205367A1 (en) 2006-03-01 2007-09-06 General Electric Company Apparatus and method for hybrid computed tomography imaging
KR101245251B1 (ko) * 2006-03-09 2013-03-19 삼성전자주식회사 균일한 화질을 제공하는 다시점 영상 부호화 및 복호화방법 및 장치
JP2008034892A (ja) 2006-03-28 2008-02-14 Victor Co Of Japan Ltd 多視点画像符号化装置
AU2007243935A1 (en) 2006-03-29 2007-11-08 Thomson Licensing Multi view video coding method and device
US7609906B2 (en) 2006-04-04 2009-10-27 Mitsubishi Electric Research Laboratories, Inc. Method and system for acquiring and displaying 3D light fields
US8139142B2 (en) * 2006-06-01 2012-03-20 Microsoft Corporation Video manipulation of red, green, blue, distance (RGB-Z) data including segmentation, up-sampling, and background substitution techniques
WO2008024345A1 (en) 2006-08-24 2008-02-28 Thomson Licensing Adaptive region-based flipping video coding
WO2008056318A2 (en) 2006-11-07 2008-05-15 Koninklijke Philips Electronics N.V. Method and device for speckle reduction
EP2418851A3 (en) 2006-12-21 2012-05-23 Thomson Licensing Methods and apparatus for improved signaling using high level syntax for multi-view video coding and decoding
US8515194B2 (en) 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
CN101653011A (zh) * 2007-03-16 2010-02-17 汤姆森许可贸易公司 用于将文本与三维内容相结合的系统和方法
SI3758380T1 (sl) * 2007-04-12 2021-04-30 Dolby International AB Apollo Building, 3E Razpostavljanje pri kodiranju in dekodiranju videa
WO2008140190A1 (en) 2007-05-14 2008-11-20 Samsung Electronics Co, . Ltd. Method and apparatus for encoding and decoding multi-view image
JP4418827B2 (ja) 2007-05-16 2010-02-24 三菱電機株式会社 画像表示装置及び方法、並びに画像発生装置及び方法
KR100962696B1 (ko) 2007-06-07 2010-06-11 주식회사 이시티 부호화된 스테레오스코픽 영상 데이터 파일의 구성방법
US8373744B2 (en) 2007-06-07 2013-02-12 Reald Inc. Stereoplexing for video and film applications
CN101803394A (zh) 2007-06-19 2010-08-11 韩国电子通信研究院 存储和播放立体数据的元数据结构以及使用该元数据存储立体内容文件的方法
US8471893B2 (en) 2007-06-26 2013-06-25 Samsung Electronics Co., Ltd. Method and apparatus for generating stereoscopic image bitstream using block interleaved method
MY162861A (en) 2007-09-24 2017-07-31 Koninl Philips Electronics Nv Method and system for encoding a video data signal, encoded video data signal, method and system for decoding a video data signal
US8218855B2 (en) 2007-10-04 2012-07-10 Samsung Electronics Co., Ltd. Method and apparatus for receiving multiview camera parameters for stereoscopic image, and method and apparatus for transmitting multiview camera parameters for stereoscopic image
KR100918862B1 (ko) 2007-10-19 2009-09-28 광주과학기술원 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체
EP2235957A1 (en) 2007-12-20 2010-10-06 Koninklijke Philips Electronics N.V. Image encoding method for stereoscopic rendering
KR101506217B1 (ko) 2008-01-31 2015-03-26 삼성전자주식회사 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치
US20090219985A1 (en) 2008-02-28 2009-09-03 Vasanth Swaminathan Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
US8878836B2 (en) 2008-02-29 2014-11-04 Samsung Electronics Co., Ltd. Method and apparatus for encoding datastream including additional information on multiview image and method and apparatus for decoding datastream by using the same
KR101506219B1 (ko) 2008-03-25 2015-03-27 삼성전자주식회사 3차원 영상 컨텐츠 제공 방법, 재생 방법, 그 장치 및 그기록매체
CN102100070A (zh) 2008-07-20 2011-06-15 杜比实验室特许公司 立体视频传送系统的编码器优化
US8106924B2 (en) 2008-07-31 2012-01-31 Stmicroelectronics S.R.L. Method and system for video rendering, computer program product therefor
EP2197217A1 (en) 2008-12-15 2010-06-16 Koninklijke Philips Electronics N.V. Image based 3D video format

Also Published As

Publication number Publication date
ES2864544T3 (es) 2021-10-14
KR20210006026A (ko) 2021-01-15
EP3836550B1 (en) 2021-07-21
JP2021052440A (ja) 2021-04-01
HUE038192T2 (hu) 2018-10-29
SI3920538T1 (sl) 2023-08-31
EP3920538B1 (en) 2023-02-22
HUE055864T2 (hu) 2021-12-28
JP2010524398A (ja) 2010-07-15
JP2023165827A (ja) 2023-11-17
US10764596B2 (en) 2020-09-01
US20150281736A1 (en) 2015-10-01
KR20180089560A (ko) 2018-08-08
EP2512136A1 (en) 2012-10-17
ES2825104T3 (es) 2021-05-14
KR102044130B1 (ko) 2019-11-12
PL2512136T3 (pl) 2016-11-30
US20160080757A1 (en) 2016-03-17
KR101646089B1 (ko) 2016-08-05
US20140301479A1 (en) 2014-10-09
PL3836550T3 (pl) 2021-12-13
SI3758380T1 (sl) 2021-04-30
PL3399756T3 (pl) 2020-12-14
EP2512135A1 (en) 2012-10-17
DK2512136T3 (en) 2016-08-22
SI3836550T1 (sl) 2021-09-30
US20190037230A1 (en) 2019-01-31
EP3758380B1 (en) 2021-02-03
KR20160121604A (ko) 2016-10-19
JP7357125B2 (ja) 2023-10-05
ES2858578T3 (es) 2021-09-30
PL3758380T3 (pl) 2021-05-17
US8780998B2 (en) 2014-07-15
US9986254B1 (en) 2018-05-29
US20180152719A1 (en) 2018-05-31
AU2008239653B2 (en) 2012-10-04
KR102123772B1 (ko) 2020-06-16
KR101766479B1 (ko) 2017-10-23
KR20100016212A (ko) 2010-02-12
US9232235B2 (en) 2016-01-05
US9973771B2 (en) 2018-05-15
WO2008127676A9 (en) 2009-02-12
BR122018004903B1 (pt) 2019-10-29
DK2887671T3 (en) 2018-07-23
BRPI0823512A2 (pt) 2013-11-26
JP2017135756A (ja) 2017-08-03
US9706217B2 (en) 2017-07-11
WO2008127676A3 (en) 2008-12-18
JP6825155B2 (ja) 2021-02-03
ES2941888T3 (es) 2023-05-26
AU2008239653C1 (en) 2015-05-07
RU2752572C1 (ru) 2021-07-29
SI3399756T1 (sl) 2020-11-30
RU2733273C1 (ru) 2020-10-01
US10432958B2 (en) 2019-10-01
LT2887671T (lt) 2018-07-25
PT3399756T (pt) 2020-10-13
PL2887671T3 (pl) 2018-09-28
DK3758380T3 (da) 2021-03-08
KR20150046385A (ko) 2015-04-29
PT3758381T (pt) 2021-04-13
SI2887671T1 (sl) 2018-10-30
PT3836550T (pt) 2021-08-31
KR20140098825A (ko) 2014-08-08
CN101658037B (zh) 2013-07-10
PL3920538T3 (pl) 2023-05-08
AU2008239653A1 (en) 2008-10-23
BRPI0809510B1 (pt) 2019-10-08
ES2675164T3 (es) 2018-07-09
PT2512136T (pt) 2016-08-16
RU2709671C1 (ru) 2019-12-19
PL3758381T3 (pl) 2021-07-05
RU2014116612A (ru) 2015-10-27
KR101965781B1 (ko) 2019-04-05
HUE029776T2 (en) 2017-04-28
DK3920538T3 (da) 2023-03-27
HUE053544T2 (hu) 2021-07-28
ZA201201942B (en) 2012-11-28
WO2008127676A2 (en) 2008-10-23
JP7116812B2 (ja) 2022-08-10
EP2512136B1 (en) 2016-06-01
DK3836550T3 (da) 2021-08-23
JP5324563B2 (ja) 2013-10-23
US20170257638A1 (en) 2017-09-07
RU2684184C1 (ru) 2019-04-04
RU2721941C1 (ru) 2020-05-25
HUE061663T2 (hu) 2023-08-28
RU2521618C2 (ru) 2014-07-10
KR20170106987A (ko) 2017-09-22
US10129557B2 (en) 2018-11-13
EP3758381B1 (en) 2021-03-10
US20190379897A1 (en) 2019-12-12
KR20190038680A (ko) 2019-04-08
BRPI0809510A2 (pt) 2012-12-25
KR101885790B1 (ko) 2018-08-06
EP2887671A1 (en) 2015-06-24
US9838705B2 (en) 2017-12-05
RU2651227C2 (ru) 2018-04-18
HK1255617A1 (zh) 2019-08-23
US10298948B2 (en) 2019-05-21
TR201809177T4 (tr) 2018-07-23
KR20190127999A (ko) 2019-11-13
BR122018004906B1 (pt) 2019-11-12
US20180213246A1 (en) 2018-07-26
JP2020188517A (ja) 2020-11-19
EP3855743A1 (en) 2021-07-28
JP2022140599A (ja) 2022-09-26
KR20200069389A (ko) 2020-06-16
DK3399756T3 (da) 2020-10-12
EP2137975A2 (en) 2009-12-30
US20150341665A1 (en) 2015-11-26
PT3920538T (pt) 2023-04-10
US20160360218A1 (en) 2016-12-08
EP3836550A1 (en) 2021-06-16
RU2763966C1 (ru) 2022-01-12
SI3758381T1 (sl) 2021-07-30
RU2009141712A (ru) 2011-05-20
ZA201006649B (en) 2012-09-26
EP2512135B1 (en) 2015-03-18
JP5674873B2 (ja) 2015-02-25
US9219923B2 (en) 2015-12-22
KR101467601B1 (ko) 2014-12-02
KR20230038610A (ko) 2023-03-20
HUE053806T2 (hu) 2021-07-28
HUE052116T2 (hu) 2021-04-28
DK3758381T3 (da) 2021-04-12
EP3920538A1 (en) 2021-12-08
EP3399756B1 (en) 2020-09-09
MX2009010973A (es) 2009-10-30
KR102510010B1 (ko) 2023-03-15
JP2015092715A (ja) 2015-05-14
EP3758380A1 (en) 2020-12-30
ES2887248T3 (es) 2021-12-22
KR102204262B1 (ko) 2021-01-18
US9185384B2 (en) 2015-11-10
EP3758381A1 (en) 2020-12-30
FI3920538T3 (fi) 2023-04-05
EP2887671B1 (en) 2018-05-16
CN101658037A (zh) 2010-02-24
ES2586406T3 (es) 2016-10-14
US20100046635A1 (en) 2010-02-25
JP2013258716A (ja) 2013-12-26
EP3399756A1 (en) 2018-11-07
EP4210330A1 (en) 2023-07-12
JP2019201435A (ja) 2019-11-21
US9445116B2 (en) 2016-09-13
JP2019201436A (ja) 2019-11-21
US20180048904A1 (en) 2018-02-15
PT2887671T (pt) 2018-07-09
PT3758380T (pt) 2021-03-09
US20190253727A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
BR122018004904B1 (pt) ladrilhamento em codificação e decodificação de vídeo
TWI558178B (zh) 用於寫碼視訊資料之方法及器件及電腦可讀儲存媒體

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
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 05/11/2019, OBSERVADAS AS CONDICOES LEGAIS.

B25G Requested change of headquarter approved

Owner name: DOLBY INTERNATIONAL AB (IE)