BRPI0809510A2 - ladrilhamento em codificaÇço e decodificaÇço de vÍdeo - Google Patents
ladrilhamento em codificaÇço e decodificaÇço de vÍdeo Download PDFInfo
- Publication number
- BRPI0809510A2 BRPI0809510A2 BRPI0809510-8A BRPI0809510A BRPI0809510A2 BR PI0809510 A2 BRPI0809510 A2 BR PI0809510A2 BR PI0809510 A BRPI0809510 A BR PI0809510A BR PI0809510 A2 BRPI0809510 A2 BR PI0809510A2
- Authority
- BR
- Brazil
- Prior art keywords
- view
- image
- function block
- images
- video image
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 105
- 238000005457 optimization Methods 0.000 claims description 13
- 230000011664 signaling Effects 0.000 claims description 7
- 230000000153 supplemental effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 344
- 238000004891 communication Methods 0.000 description 67
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000002360 preparation method Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 101000587820 Homo sapiens Selenide, water dikinase 1 Proteins 0.000 description 1
- 101000701815 Homo sapiens Spermidine synthase Proteins 0.000 description 1
- 102100030413 Spermidine synthase Human genes 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2213/00—Details of stereoscopic systems
- H04N2213/003—Aspects relating to the "2D+depth" image format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Control Of El Displays (AREA)
Abstract
LADRILHAMENTO EM CODIFICAÇçO E DECODIFICAÇçO DE VÍDEO. 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 na imagem de vídeo acessada 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 únca, 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
Esse pedido reivindica o benefício de cada um de: (1) Pedido Provisório dos Esta- dos Unidos 60/923.014, depositado em 12 de abril de 2007, e intitulado "Multiview Informati- on" (N0 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 inte- gralmente mediante referência.
CAMPO TÉCNICO
Os presentes princípios se referem geralmente à codificação e/ou decodificação de
vídeo.
ANTECEDENTES
Os fabricantes de vídeo podem utilizar uma arquitetura de disposição ou Iadrilha- mento de diferentes listas em um único quadro. As vistas podem ser então extraídas de seus locais respectivos e renderizadas.
SUMÁRIO
De acordo com um aspecto geral, é acessada uma imagem de vídeo que inclui múl- tiplas 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 combi- nadas. A informação acessada e a imagem de vídeo decodificada são providas como saída.
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 i- magem de vídeo é codificada para prover uma representação codificada das múltiplas ima- gens combinadas. A informação gerada e a imagem de vídeo codificada são providas como saída.
De acordo com outro aspecto geral, um sinal ou uma estrutura de sinal inclui infor- maçã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.
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.
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 repre- sentação decodificada, e na entrada de usuário.
Os detalhes de uma ou mais implementações são apresentados nos desenhos a- nexos e na descrição abaixo. Mesmo se descritas de uma forma específica, deve ser evi- dente que as implementações podem ser configuradas ou incorporadas de diversas manei- ras. 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 co- mo um aparelho armazenando instruções para realizar um conjunto de operações, ou incor- porada 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
A Figura 1 é um diagrama mostrando um exemplo de quatro vistas Iadrilhadas em um único quadro;
A Figúra 2 é um diagrama mostrando um exemplo de quatro vistas viradas e Iadri- Ihadas em um único quadro;
A Figura 3 mostra um diagrama de blocos para um codificador de vídeo ao qual po- dem ser aplicados os presentes princípios, de acordo com uma modalidade dos presentes princípios;
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;
A Figura 5 é um fluxograma para um método para codificar imagens para uma plu- ralidade de vistas utilizando o Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
A Figura 6 é um fluxograma para um método para codificar imagens para uma plu- ralidade de vistas utilizando o Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
A Figura 7 é um fluxograma para um método para codificar imagens para uma plu- ralidade de vistas e profundidades utilizando o Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
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;
A Figura 9 é um diagrama mostrando um exemplo de um sinal de profundidade, de acordo com uma modalidade dos presentes princípios;
A Figura 10 é um diagrama mostrando um exemplo de um sinal de profundidade a-
dicionado com um ladrilho, de acordo com uma modalidade dos presentes princípios;
A Figura 11 é um diagrama mostrando um exemplo de cinco vistas Iadrilhadas em um único quadro, de acordo com uma modalidade dos presentes princípios.
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;
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; 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 AVC1 de acordo com uma modalidade dos presentes princípios;
A Figura 15 é um fluxograma para um método para codificar imagens para uma plu- ralidade 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;
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 exten- sã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;
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;
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 utilizan- do 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;
A Figura 19 é um fluxograma para um método para codificar imagens para uma plu- ralidade de vistas e profundidades utilizando a extensão de Codificação de Vídeo de Múlti- pias Vistas (MVC) do Padrão MPEG-4 AVC, de acordo com uma modalidade dos presentes princípios;
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 utili- zando a extensão de Codificação de Vídeo de Múltiplas Vistas (MVC) do Padrão MPEG-4 AVC1 de acordo com uma modalidade dos presentes princípios;
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úl- tiplas Vistas (MVC) do Padrão MPEG-4 AVC1 de acordo com uma modalidade dos presen- tes princípios;
A Figura 22 é um diagrama mostrando exemplos de Iadrilhamento no nível de pixel, de acordo com uma modalidade dos presentes princípios; e 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 modali- dade dos presentes princípios.
DESCRIÇÃO DETALHADA
Várias implementações são dirigidas aos métodos e aparelho para visualizar Iadri- Ihamento 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 descri- tos ou mostrados explicitamente, incorporam os princípios e são incluídos dentro de seu espírito e escopo.
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 con- tribuí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.
Além disso, todas as declarações feitas aqui citando princípios, aspectos e modali- dades dos presentes princípios, assim como seus exemplos específicos, pretendem abran- ger 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.
Assim, por exemplo, será considerado por aqueles versados na técnica que os dia- gramas de blocos apresentados aqui representam vistas conceptuais de conjuntos de circui- tos ilustrativos incorporando os presentes princípios. Similarmente, será considerado que quaisquer fluxogramas, diagramas, diagramas de transição de estado, pseudocódigo, e se- melhante, 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.
As funções dos vários elementos mostrados nas figuras podem ser providas atra- vés do uso de hardware dedicado assim como hardware capaz de executar software em associação com software apropriado. Quando providas por um processador, as funções po- dem ser providas por um único processador dedicado, por um único processador comparti- lhado, 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.
Outro hardware, convencional e/ou especial, também pode ser incluído. Similar- mente, 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. Nas reivindicações quaisquer elementos expressos como um meio para realizar
uma função especificada pretende abranger qualquer forma de realizar essa função incluin- do, 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.
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 as- pecto, estrutura, característica, específica, e assim por 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. Deve ser considerado que o uso dos termos "e/ou" e "ao menos um de", por exem-
plo, 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) a - penas, 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 ape- nas 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 primei- ra 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 (AeBe C). Isso pode ser estendido, como pron- tamente evidente para aqueles de conhecimento comum nessas técnicas e nas técnicas relacionadas, portanto, aos muitos itens relacionados.
Além disso, deve ser considerado que embora uma ou mais modalidades dos pre-
sentes 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.
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 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 relacio- nados à codificação de vídeo de múltiplas vistas, enquanto mantendo o espírito dos presen- tes princípios. Codificação de vídeo de múltiplas vistas (MVC) é a estrutura de compactação para a codificação de seqüências de múltiplas vistas. Uma seqüência de Codificação de Vídeo de Múltiplas Vistas (MVC) é um conjunto de duas ou mais seqüências de vídeo que capturam a mesma cena de um ponto de vista diferente.
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 modali- dades e, assim, outras modalidades podem ser implementadas as quais não utilizam infor- mação de profundidade, enquanto mantendo o espírito dos presentes princípios.
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 Seqüência (SPS), Conjunto de Parâmetros de Vista (VPS), e nível de cabeçalho de uni- dade de Camada de Abstração de Rede (NAL).
Na presente implementação de codificação de multivídeo (MVC) com base na re- comendação H.264 da Organização Internacional para Padronização/Comissão Eletrotécni- ca 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 "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 conside- rando as referências de vistas cruzadas. Cada vista é codificada como um fluxo de bits, se- parado 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.
Outra abordagem para predição de múltiplas vistas envolve agrupar um conjunto de vistas em pseudovistas. Em um exemplo dessa abordagem, podemos Iadrilhar as imagens a partir de cada N vistas de um total de M vistas (amostradas ao mesmo tempo) em um qua- dro 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 Iadrilhadas em um único quadro é indicado geralmente pelo numerai de referência 100. Todas as quatro vistas estão em sua orientação normal.
De acordo com a Figura 2, um exemplo de quatro vistas viradas e Iadrilhadas em um único quadro é indicado geralmente pelo numerai de referência 200. A vista superior esquerda está em sua orientação normal. A vista superior direita está virada horizontalmen- te. A vista inferior esquerda está virada verticalmente. A vista inferior direita está virada hori- zontalmente 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 seqüência de entrada não-codificada com uma grande resolução.
Alternativamente, podemos amostrar descendentemente a imagem para produzir uma resolução menor. Assim, criamos múltiplas seqüências cada uma das quais inclui dife- rentes vistas que são Iadrilhadas juntas. Cada tal seqüência forma então uma pseudovista, onde cada pseudovista inclui N diferentes vistas ladrilhadas. A Figura 1 mostra uma pseu- dovista, e a Figura 2 mostra outra pseudovista. Essas pseudovistas podem ser então codifi- cadas 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.
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 de- codificação, Iadrilhamento das vistas conforme exigido pelo aparelho de reprodução.
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.
Muitos fabricantes de vídeo utilizam tal estrutura de arranjo ou Iadrilhamento de di- ferentes 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 determi- nar se o fluxo de bits tem tal propriedade. Assim, se um sistema utiliza o método de Iadrilhar imagens de vistas diferentes em um quadro grande, então o método de extrair as diferentes vistas é registrado.
Contudo, não há uma forma padrão para determinar se o fluxo de bits tem tal pro- priedade. Propomos sintaxe de alto nível para facilitar o aparelho de renderização ou repro- duçã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 pre- tender 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.
Em uma modalidade, propomos uma mensagem de Informação de Otimização Su- plementar (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 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 re- comendações sinalizando tal informação usando sintaxe de alto nível.
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 simplifica- da da codificação de múltiplas vistas, e pode se beneficiar da eficiência de codificação. Cer- tas vistas podem ser colocadas juntas e formar uma pseudovista ou supervista e então a supervista Iadrilhada é 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 basea- da no Padrão MPEG-4 AVC atual de codificação de vídeo de múltiplas vistas. Um novo sina- Iizador é proposto na extensão Conjunto de Parâmetros de Seqüê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. Codificação/decodificação utilizando um padrão/recomendação de codifica-
ção/decodificação de vídeo de vista única
Na presente implementação de codificação de multivídeo (MVC), com base na re- comendação H.264 da Organização Internacional para Padronização/Comissão Eletrotécni- ca 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 único codificador e considerando as referências de vistas cruzadas. Cada vista é codifi- cada como um fluxo de bits separado pelo codificador em sua resolução original e posteri- ormente 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.
Outra abordagem para predição de multivista envolve Iadrilhar 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 Iadrilhadas em um único quadro geralmente indi- cado pelo numerai de referência 100. Voltando-se agora para a Figura 2, um exemplo de quatro vistas viradas e Iadrilhadas em um único quadro é indicado geralmente pelo numerai 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 seqüê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.
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, Iadrilhar as vistas conforme exigido pelo aparelho de reprodução.
Muitos fabricantes de vídeo utilizam tal estrutura de disposição ou Iadrilhamento 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 deter- minar se o fluxo de bits tem tal propriedade. Assim, se um sistema utiliza o método de Iadri- Ihar imagens de vistas diferentes em um quadro grande, então o método de extrair as dife- rentes vistas é registrado. Voltando-se agora para a Figura 3, um codificador de vídeo capaz de realizar codi-
ficação de vídeo de acordo com o padrão MPEG-4 AVC é indicado geralmente pelo numerai de referência 300.
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ão-inversão de um combi- nador 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. Uma primeira saída de um controlador de codificador 305 é conectada em comuni- caçã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 intrapre- diçã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.
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 345, uma segunda entrada do armazenador de saída 335, e uma entrada do meio de inserção de Conjunto de Parâmetros de Seqüência (SPS) e Conjunto de Parâmetros de Imagem (PPS) 340. 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.
Uma saída do meio de inserção de Conjunto de Parâmetros de Seqüê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.
Uma saída do quantizador de inversão e transformador de inversão 350 é conecta-
da 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 primei- ra 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 ar- mazenador 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 com- pensador de movimento 370. Uma primeira saída do estimador de movimento 375 é conec- tada 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.
Uma saída do compensador de movimento 370 é conectada em 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 comuni- caçã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 en- trada) 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.
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 ima- gem de entrada 301. Além disso, uma entrada do meio de inserção de Informação de Otimi- zaçã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.
Voltando-se agora para a Figura 4, um decodificador de vídeo capaz de realizar de- codificação de vídeo de acordo com o Padrão MPEG-4 AVC é indicado geralmente pelo numerai de referência 400. 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 en- tropia 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 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.
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 en- trada 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 segun- da 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 tercei- ra 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 intra- predição 460, com uma primeira entrada do compensador de movimento 470, e com uma segunda entrada do armazenador de imagem de referência 480.
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.
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.
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 numerai 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_viéws_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. 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 de- cisã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. O bloco de função 522 estabelece os seguintes elementos de sintaxe, incrementa a variável j, e então retorna o controle para o bloco de decisão 520:
depth_flag[view_id[i]]|j];flip_dir[view_id[i]][i]; Ioc_left_offset[view_id[i]][j];
loc_top_offset[view_id[i]][j]; frame_cropJeft_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].
O bloco de função 528 estabelece um elemento de sintaxe upsam- ple_view_flag[view_id[i]], e passa o controle para um bloco de decisão 530. O bloco de deci- sã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.
O bloco de função 532 estabelece um elemento de sintaxe upsam- ple_filter[view_id[i]], e passa o controle para o bloco de decisão 534.
O bloco de decisão 534 determina se o valor atual do elemento de sintaxe upsam- ple_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.
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 quanti- zer[view_id[i]].
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.
O bloco de função 540 incrementa a variável i, e retorna o controle para o bloco de decisão 512.
O bloco de função 524 grava esses elementos de sintaxe em ao menos um de: Conjunto de Parâmetros de Seqüência (SPS), Conjunto de Parâmetros de Imagem (PPS), mensagem de Informação de Otimização Suplementar (SEI), cabeçalho de unidade de Ca- mada de Abstração de Rede (NAL), e cabeçalho de seção, e passa o controle para um blo- co 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. 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 nu- merai de referência 600.
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 Seqüê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 deci- sã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.
O bloco de função 614 analisa um elemento de sintaxe view_id[i], e passa o contro- Ie 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 de- cisã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 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.
O bloco de função 622 analisa os seguintes elementos de sintaxe, incrementa a va- riável j, e então retorna o controle para o bloco de decisão 620:
depth_flag[view_id[i]]|j];flip_dir[view_id[i]]D]; Ioc_left_offset[viewJd [i]] [j];
loc_top_offset[viewJd[i]][j]; frame_crop_left_offset[view_id[i]][j];
frame_crop_rig ht_offset[view_id[i]] [j]; frame_crop_top_offset[view_id [i]] [j]; e
frame_crop_bottom_offset[view_id[i]][j].
O bloco de função 628 analisa um elemento de sintaxe upsam- ple_view_flag[view_id[i]], e passa o controle para um bloco de decisão 630. O bloco de deci- sã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.
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. O bloco de decisão 634 determina se o valor atual do elemento de sintaxe upsam-
ple_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.
O bloco de função 636 analisa os seguintes elementos de sintaxe e passa o contro- le para um bloco de função 638: vert_dim[view_id[i]]; hor_dim[view_id[i]]; e quanti- zer[view_id[i]].
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. O bloco de função 640 incrementa a variável i, e retorna o controle para o bloco de decisão 612.
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.
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 geral- mente pelo numerai de referência 700. 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 blo- co 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.
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[viewjd[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 de- cisã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.
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:
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]]|]]; frame_crop_left_offset[view_id[i]][j];
frame_crop_right_offset[view_id[i]]G]; frame_crop_top_offset[view_id[i]][j]; e
frame_crop_bottom_offset[view_id[i]][j]. O bloco de função 728 estabelece um elemento de sintaxe upsam-
ple_view_flag[view_id[i]], e passa o controle para um bloco de decisão 730. O bloco de deci- sã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.
O bloco de função 732 estabelece um elemento de sintaxe upsam- ple_filter[view_id[ij], e passa o controle para o bloco de decisão 734.
O bloco de decisão 734 determina se o valor atual do elemento de sintaxe upsam-
ple_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.
O bloco de função 736 estabelece os seguintes elementos de sintaxe e passa o controle para um bloco de função 738: vert_dÍm[view_id[i]]; hor_dim[view_id[i]]; e quanti- zer[view_id[i]].
O bloco de função 738 estabelece os coeficientes de filtro para cada componente YUV1 e passa o controle para o bloco de função 740.
O bloco de função 740 incrementa a variável i, e retorna o controle para o bloco de decisão 712.
O bloco de função 724 grava esses elementos de sintaxe para ao menos um de:
Conjunto de Parâmetros de Seqüência (SPS), Conjunto de Parâmetros de Imagem (PPS), mensagem de Informação de Otimização Suplementar (SEI), cabeçalho de unidade de Ca- mada de Abstração de Rede (NAL), e cabeçalho de seção, e passa o controle para um blo- co 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.
Voltando-se para a Figura 8, um método exemplar para decodificar imagens para uma pluralidade de vistas e profundidades utilizando o Padrão MPEG-4 AVC é indicado ge- ralmente pelo numerai de referência 800.
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 Seqüê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.
O bloco de função 814 analisa um elemento de sintaxe view_id[i], e passa o contra- Ie para um bloco de função 816. O bloco de função 816 analisa um elemento de sintaxe numjDarts_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 de- cisão 820. O bloco de decisão 820 determina se o valor 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 é pas- sado para um bloco de função 822. Caso contrário, o controle é passado para um bloco de função 828.
O bloco de função 822 analisa os seguintes elementos de sintaxe, incrementa a va- riável j, e então retorna o controle para o bloco de decisão 820: depth_f Iag [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_rig ht_offset[view_id [i]] [j]; frame_crop_top_offset[view_id [i]] [j]; e
frame_crop_bottom_offset[view_id[i]][j].
O bloco de função 828 analisa um elemento de sintaxe upsam- ple_view_flag[view_id[i]], e passa o controle para um bloco de decisão 830. O bloco de deci- sã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.
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.
O bloco de decisão 834 determina se o valor atual do elemento de sintaxe upsam- ple_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.
O bloco de função 836 analisa os seguintes elementos de sintaxe e passa o contro- Ie para um bloco de função 838: vert_dim[view_id[i]]; hor_dim[view_id[i]]; e quanti- zer[view_id[i]].
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.
O bloco de função 840 incrementa a variável i, e retorna o controle para o bloco de decisão 812.
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 pro- fundidade, e passa o controle para um bloco final 899.
Com relação à profundidade usada nas Figuras 7 e 8, a Figura 9 mostra um exem- pio 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 mostra um exemplo de dois sinais de profundidade incluídos em um Iadrilho 1000. A por- ção superior direita do Iadrilho 1000 é um sinal de profundidade tendo valores de profundi- dade correspondendo à imagem na porção superior esquerda do Iadrilho 1000. A porção inferior direita do Iadrilho 100 é um sinal de profundidade tendo valores de profundidade cor- respondendo à imagem na porção inferior esquerda do Iadrilho 1000.
Voltando-se para a Figura 11, um exemplo das cinco vistas Iadrilhadas em um úni- co quadro é indicado geralmente pelo numerai de referência 1100. As quatro vistas superio- res estão em uma orientação normal. A quinta vista também está em uma orientação nor- mal, porém é dividida em duas porções ao longo da parte inferior do Iadrilho 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.
Codificação/decodificação utilizando um padrão/recomendação de codifica- ção/decodificação de vídeo de multivista
Voltando-se para a Figura 12, um codificador exemplar de Codificação de Vídeo de Multivista (MVC) é indicado geralmente pelo numerai 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 co- municaçã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 combi- nador 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 armazena- mento de imagem de referência 1255 (para a vista i). Uma saída do meio de armazenamen- to 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 comuni- cação de sinal com uma segunda entrada do compensador de movimento 1275.
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 esti- mador 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.
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á disponível como uma entrada do codificador 1200, e é conectada em comunicação de sinal com uma segun- da entrada do estimador de disparidade 1270, e uma segunda entrada do estimador de mo- vimento 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 in- versã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 disparida- de 1265, e uma terceira entrada conectada em comunicação de sinal com uma saída do intra preditor 1245.
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. Voltando-se para a Figura 13, um decodificador exemplar de Codificação de Vídeo
de Multivista (MVC) é indicado geralmente pelo numerai 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 desblo- cagem 1325 é conectada em comunicação de sinal com uma entrada de um meio de arma- zenamento de imagem de referência 1340 (para vista i). Uma saída do meio de armazena- mento de imagem de referência 1340 é conectada em comunicação de sinal com uma pri- meira entrada de um compensador de movimento 1335.
Uma saída de um meio de armazenamento de imagem de referência 1345 (para outras vistas) é conectada em comunicação de sinal com uma primeira entrada de um com- pensador de disparidade 1350.
Uma entrada do codificador de entropia 1305 está disponível como uma entrada pa- ra 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 decodifica- dor 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 disparida- de.
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 desbloca- gem 1325 está disponível como uma saída do decodificador 1300.
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 MPEG-4 AVC é indicado geralmente pelo numerai de referência 1400.
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 η vistas, entre um total de M vistas, em uma instância temporal específica como uma superimagem no formato de Iadri- lho, 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 con- trole 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 contro- Ie é passado para um bloco de função 1445. Caso contrário, o controle é passado para um bloco final 1499.
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.
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 numerai de referência 1500.
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 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.
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.
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:
locJeft_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].
O bloco de função 1520 codifica a imagem atual para a vista atual utilizando codifi- cação de vídeo de multivista (MVC), e passa o controle para um bloco final 1599.
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.
O bloco de função 1524 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 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.
O bloco de função 1528 estabelece um elemento de sintaxe upsam-
ple_flag[sub_view_id[i]], e passa o controle para o bloco de decisão 1530. O bloco de deci- sã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.
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 YUV1 e passa o controle para o bloco de função 1536.
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 pi- xel_dist_x[sub_view_id[i]] e o elemento de sintaxe flip_dist_y[sub_view_id[i]], e passa o con- trole 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 determi- na 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. 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 bloco de função 1546. O bloco de função 1546 estabelece os coeficientes para todos os filtros de Iadrilhamento de pixel, e passa o controle para o bloco de função 1536.
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 ex- tensão de codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado ge- ralmente pelo numerai de referência 1600.
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 ima- gens 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.
O bloco de função 1645 analisa os seguintes elementos de sintaxe, e passa o con- trole 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.
Voltando-se agora para a Figura 17, um método exemplar para decodificar imagem
para uma pluralidade de vistas utilizando a extensão de codificação de vídeo de multivista (MVC) do Padrão MPEG-4 AVC é indicado geralmente pelo numerai de referência 1700.
O método 1700 inclui um bloco inicial 1702 que começa com o parâmetro de entra- da 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.
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.
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:
loc_left_offset[sub_view_id [i]] [j]; loc_top_offset[sub_view_id [i]] [j];
frame_cropJeft_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].
O bloco de função 1720 decodifica a imagem atual para a vista atual utilizando codi- ficação de vídeo de multivista (MVC), e passa o controle para um bloco de função 1721. O bloco de função 1721 separa cada vista da imagem utilizando a sintaxe de alto nível, e pas- sa o controle para um bloco final 1799.
A separação de cada vista a partir da imagem decodificada é feita utilizando a sin- taxe 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.
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.
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.
O bloco de função 1728 analisa um elemento de sintaxe upsam- ple_filter[sub_view_id[í]], e passa o controle para o bloco de decisão 1730. O bloco de deci- sã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.
O bloco de função 1732 analisa os seguintes elementos de sintaxe, e passa o con- trole 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.
O bloco de função 1736 incrementa a variável i, e retorna o controle para o bloco de decisão 1708.
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.
O bloco de função 1744 analisa um elemento de sintaxe numjDixel_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 Iadri- Ihamento de pixel, e passa o controle para o bloco de função 1736.
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 numerai de referência 1800. 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ífi- ca 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 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. 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.
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 numerai de referência
1900.
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 deci- sã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 1920.
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.
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:
loc_left_offset[sub_viewJd [i]][j]; loc_top_offset[sub_view_id [i]] D];
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].
O bloco de função 1920 codifica a profundidade atual da vista atual utilizando codi- ficação de vídeo de multivista (MVC)1 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 Iadrilho que inclui apenas outros sinais de profundidade, ou apenas si- nais de vídeo, ou ambos, sinais de profundidade e de vídeo. O Iadrilho (pseudo-vista) é en- tão tratado como uma única vista para MVC, e há também presumivelmente outros Iadrilhos que são tratados como outras vistas para MVC. 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.
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.
O bloco de função 1928 estabelece um elemento de sintaxe upsam- ple_filter[sub_view_id[i]], e passa o controle para o bloco de decisão 1930. O bloco de deci- sã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.
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_viewjd[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.
O bloco de função 1936 incrementa a variável i, e retorna o controle para o bloco de decisão 1908.
O bloco de função 1938 estabelece um elemento de sintaxe pi-
xel_dist_x[sub_view_id[i]] e o elemento de sintaxe flip_dist_y[sub_view_id[i]], e passa o con- trole 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 deter- mina 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.
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 Iadrilhamento e pixel, e passa o controle para o bloco de função 1936.
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 numerai de referência 2000.
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 viewjdp], 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 re- ferê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 re- ferê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 pseu- do_view_present_flag, e passa o controle para um bloco de decisão 2040. O bloco de deci- sã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.
O bloco de função 2045 analisa os seguintes elementos de sintaxe, e passa o con- trole para um bloco de função 2050 tiling_mode; org_pic_width_in_mbs_minus1; e orgjDic_height_in_mbs_minus1. O bloco de função 2050 demanda um elemento de sintaxe pseudo_view_info(view_id) para cada vista codificada, e passa o controle para o bloco final 2099.
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 numerai de referência 2100.
O método 2100 inclui um bloco inicial 2102 que começa com o parâmetro de entra- da 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.
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. 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:
loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j];
frame_crop_left_offset[su b_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]. 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.
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.
O bloco de função 2124 analisa um elemento de sintaxe flip_dir[sub_view_id[i]] e 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 ele- mento 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.
O bloco de função 2128 analisa um elemento de sintaxe upsam- ple_filter[sub_view_id[i]], e passa o controle para o bloco de decisão 2130. O bloco de deci- sã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.
O bloco de função 2132 analisa os seguintes elementos de sintaxe, e passa o con- trole 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 YUV1 e passa o controle para o bloco de função 2136.
O bloco de função 2136 incrementa a variável i, e retorna o controle para o bloco de decisão 2108.
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. 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 Iadri- Ihamento de pixel, e passa o controle para o bloco de função 2136.
Voltando-se para a Figura 22, exemplos de Iadrilhamento no nível de pixel são indi- cados geralmente pelo numerai de referência 2200. A Figura 22 é descrita adicionalmente abaixo.
LADRILHAMENTO DE VISTA UTILIZANDO MPEG-4 AVC OU MVC
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.
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 e- xemplo de um sinal de profundidade 900. Para habilitar aplicações tais como FTV, o sinal de profundidade é transmitido junto com o sinal de vídeo. Na estrutura proposta de Iadrilhamen- to, 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 si- nais/ladrilhos de profundidade são mostrados no lado direito da Figura 10. Quando a profundidade é codificada como um Iadrilho do quadro inteiro, a sintaxe
de alto nível deve indicar qual Iadrilho é o sinal de profundidade de modo que o renderizador possa utilizar apropriadamente o sinal de profundidade. No caso quando a seqüência de entrada (tal como aquela mostrada na Figura 1) é codificada utilizando um codificador de Padrão MPEG-4 AVC (ou um codificador correspon- dendo 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 Seqüê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).
No caso quando as seqüê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 SPS1 no PPS, no cabeçalho de seção, em uma mensagem SEI, ou em um perfil especifi- cado. Uma modalidade do método proposto é mostrada na Tabela 1. A Tabela 1 mostra e- Iementos de sintaxe presentes na estrutura de Conjunto de Parâmetros de Seqüência (SPS), incluindo elementos de sintaxe propostos de acordo com uma modalidade dos pre- sentes princípios
TABLE 1
seq_parameter_set_mvc_extension() { 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_IO[i] ue(v) para( j = 0; j < num_anchor_refs_IO[i]; j++ ) anchor_ref_IO[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_IO[i] ue(v) para( j = 0; j < num_non_anchor_refs_IO[i]; j++ ) non_anchor_ref_IO[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); } }
A Tabela 2 mostra os elementos de sintaxe para o elemento de sintaxe pseu- do_view_info da TABELA 1, de acordo com uma modalidade dos presentes princípios.
TABELA 2
pseudo_view_info (pseudo_view_id) { C Descritor η u m_s u b_vi e ws_m i η u s_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) 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_d im [sub_view_id [i]] 5 ue(v) hor_d i m [su b_viewJd [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; χ < hor_dim[sub_view_id[i]] -1; χ ++) 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 <= 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) }
Semânticas dos elementos de sintaxe apresentados na TABELA 1 e TABELA 2
pseudo_view_present_flag igual a verdadeiro indica que certa vista é uma supervis- ta de múltiplas subvistas.
tiling_mode igual a zero indica que as subvistas são Iadrilhadas no nível de ima- gem. Um valor de 1 indica que o Iadrilhamento é feito no nível de pixel.
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 MPEG-4 AVC. A mensagem SEI nova inclui vários elementos de sintaxe com as seguintes semânticas.
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, inclu- sive.
org_pic_width_in_mbs_minus1 plus 1 especifica a largura de uma imagem em cada vista em unidades de macroblocos.
A variável para a largura de imagem em unidades de macroblocos é derivada como
a seguir:
PicWidthInMbs = org_pic_width_in_mbs_minus1 + 1
A variável para largura de imagem para o componente Iuma é derivada como a se- guir:
PicWidthInSampIesL = PicWidthInMbs * 16
A variável para largura de imagem para os componentes croma é derivada como a
seguir:
PicWidthlnSamplesC = PicWidthInMbs * MbWidthC
org_pic_height_in_mbs_minus1 plus 1 especifica a altura de uma imagem em cada
vista em unidades de macroblocos.
A variável para a altura de imagem em unidades de macroblocos é derivada como a
seguir:
PicHeightInMbs = org jDic_height_in_mbs_minus1 + 1
A variável para altura de imagem para o componente Iuma é derivada como a se- guir:
PicHeightInSampIesL = PicHeightInMbs * 16 A variável para altura de imagem para os componentes croma é derivada como a
seguir:
PicHeightInSampIesC = PicHeightInMbs * MbHeightC
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.
sub_view_id[i] especifica o sub_view_id da subvista com ordem de decodificação indicada por i.
num_parts[sub_view_id[i]] especifica o número de partes nas quais a imagem de sub_view_id[i] é dividida.
loc_left_offset[sub_viewJd[i]][j] e loc_top_offset[sub_view_id[i]][j] especificam os lo-
cais 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].
view_id[i] especifica a view_id da vista com a ordem de codificação indicada por i. frame_crop_left_offset[view_id[i]][j], frame_crop_right_offset[view_id[i]][j], fra-
me_crop_top_offset[view_id[i]]j], e frame_crop_bottom_offset[view_id[i]][j] especifica as a- mostras da imagens na seqüência de vídeo codificada que constituem parte de num_part j e viewjd i, em termos de uma região retangular especificada nas coordenadas de quadro para emissão.
As variáveis CropUnitX e CropUnitY são derivadas como a seguir:
— Se chroma_format_idc for igual a 0, CropUnitX e CropUnitY são derivadas como
a seguir:
CropUnitX = 1
CropUnitY = 2 -frame_mbs_only_flag — Caso contrário (chroma_format_idc é igual a 1, 2, ou 3), CropUnitX e CropUnitY
são derivadas como a seguir:
CropUnitX = SubWidthC
CropUnitY = SubHeightC * (2 - frame_mbs_only_flag)
O retângulo de recorte de quadro inclui as amostras Iuma com coordenadas de quadros horizontais a partir do seguinte:
CropUnitX * frame_crop_left_offset para PicWidthInSampIesL - (CropUnitX * fra- me_crop_right_offset + 1) e coordenadas de quadros verticais a partir de CropUnitY * fra- me_crop_top_offset para (16 * FrameHeightInMbs) - (CropUnitY * frame_crop_bottom_offset +1), inclusive. O valor de frame_crop_left_offset deve estar na faixa de O a (PicWidthInSam- plesL / CropUnitX) - (frame_crop_right_offset + 1), inclusive; e o valor de fra- me_crop_top_offset deve estar na faixa de O a (16 * FrameHeightInMbs / CropUnitY) - (fra- me_crop_bottom_offset +1), inclusive. Quando chroma_format_idc não é igual a O1 as amostras especificadas correspon- dentes dos dois sistemas croma são as amostras tendo coordenadas de quadro SubWid- thC, y / SubHeightC), onde (x, y) são as coordenadas de quadro das amostras Iuma especi- ficadas.
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.
num_parts[view_id[i]] especifica o número de partes nas quais a imagem de vi- ew_id[i] é dividida.
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 dep- th_flag for igual a 1, então a parte atual é um sinal de profundidade associado com a vista identificada por view_id[i].
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.
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.
loc_left_offset[view_id[i]][j], loc_top_offset[view_id[i]][j] especifica o local nos deslo- camentos de pixels, onde a parte atual j está localizada na imagem reconstruída final da vista com viewjd igual a viewjd[i]. upsample_view_flag[view_id[i]] indica se a imagem pertencendo à vista especifica-
da por view_id[i] precisa ser amostrada ascendentemente. upsample_view_flag[view_id[i]] igual a 0 especifica que a imagem com viewjd igual a view_id[i] não será amostrada ascen- dentemente. upsample_view_flag[view_id[i]] igual a 1 especifica que a imagem com viewjd igual a viewjd[i] será amostrada ascendentemente. upsample_filter[viewjd[i]] indica o tipo de filtro que deve ser usado para amostragem
ascendente. upsamplejilter[viewjd[i]] igual a 0 indica que o filtro AVC de 6 derivações deve ser usado, upsamplejllter[viewjd[i]] igual a 1 indica que o filtro SVC de 4 derivações deve ser usado, upsample_filter[viewjd[i]] igual a 2 indica que o filtro bilinear deve ser usado, up- samplejilter[viewjd[i]] igual a 3 indica que os coeficientes de filtro especial são transmitidos. Quando upsample_filter[viewjd[i]] não estiver presente ele é ajustado para 0. Nessa modali- dade, utilizamos o filtro 2D customizado. O mesmo pode ser facilmente estendido para filtro 1 D, e algum outro filtro não-linear. vert_dim[view_id[i]] especifica a dimensão vertical do filtro 2D especial. hor_dim[view_id[i]] especifica a dimensão horizontal do filtro 2D especial. quantizer[view_id[i]] especifica o fator de quantização para cada coeficiente de do
filtro.
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 especifi- ca o componente Y, yuv igual a 1 especifica o componente U1 e yuv igual a 2 especifica o componente V.
pixel_dist_x[sub_view_id[i]] e pixel_dist_y[sub_view_id[i]] especificam respectiva- mente 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].
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 Iadrilhamento é estabelecido igual a 1.
pixel_tiling_filter_coeffs[sub_view_id[i][j] sinaliza os coeficientes de filtro que são e- xigidos para representar um filtro que pode ser usado para filtrar a imagem ladrilhada. Exemplos de Iadrilhamento em nível de pixel
Voltando-se para a Figura 22, dois exemplos mostrando a composição de uma pseudovista mediante Iadrilhamento de pixels a partir de quatro vistas são indicados respec- tivamente pelos numerais de referência 2210 e 2220, respectivamente. As quatro vistas são indicadas coletivamente pelo numerai de referência 2250. Os valores de sintaxe para o pri- meiro exemplo na Figura 22 são providos na TABELA 3 abaixo.
TABLE 3
pseudo_view_info (pseudo_view_id) { Valor num_sub_views_minus_1 [pseudo_view_id] 3 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
Os valores de sintaxe para o segundo exemplo em 22 são todos idênticos exceto os seguintes dois elementos de sintaxe: loc_Jeft_offset[3][0] igual a 5 e loc_top_offset[3][0] igual a 3.
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 Iadrilhados pixel por pixel, então pode não haver muita correlação entre os pixels adjacentes no ladrilho, e os ganhos de codificação espacial podem ser pequenos. Inversamente, mediante deslocamen- to do Iadrilhamento 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 pi- xels correspondentes para o objeto na primeira e segunda vista estão sendo Iadrilhados próximos um do outro.
Assim, a presença de loc_left_offset e loc_top_offset pode se beneficiar da eficiên- cia 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.
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 Iadrilhar 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 pro- cedimento de interpolação similar ao procedimento de interpolação de subpixel em compen- saçã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. 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, propo- mos que a decisão de agrupamento possa ser feita com base no tipo de imagem. Essa in- formação de agrupamento é sinalizada na sintaxe de alto nível.
Voltando-se para a Figura 11, um exemplo de cinco vistas Iadrilhadas em um único quadro é indicado geralmente pelo numerai de referência 1100. Particularmente, a seqüên- cia "ballroom" é mostrada com 5 vistas Iadrilhadas em um único quadro. Adicionalmente, pode ser visto que a quinta vista é dividida em duas partes de modo que ela pode ser arran- jada em um quadro retangular. Aqui, cada vista é de tamanho QVGA de modo que a dimen- são de quadro total é de 640x600. Como 600 não é um múltiplo de 16 ele deve ser estendi- do para 608.
Para esse exemplo, a mensagem SEI possível poderia ser conforme mostrado na
TABELA 4. TABLE 4
multiview_display_info( payloadSize) { Valor num_coded_views_minus 1 5 org_pic_width_in_mbs_minus1 40 org_pic_heightJn_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; χ < hor_dim[view_id[i]] -1; χ ++) filter_coeffs[view_id[i]] [yuv][y][x] XX view_id[ 1 ] 1 num_parts[view_id[ 1 ]] 1 depth_flag[view_id[ O ]][ O ] 0 flip_dir[view_id[ 1 ]][ O ] 0 loc_left_offset[viewJd [ 1 ]] [ O ] 0 loc_top_offset[view_id[ 1 ]] [ O ] 0 frame_crop_left_offset[view_jd[ 1 ]] [ O ] 320 frame_crop_right_offset[view_id[ 1 ]] [ O ] 640 frame_crop_top_offset[view_id[ 1 ]] [ O ] 0 frame_crop_bottom_offset[view_id[ 1 ]] [ O ] 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 (χ = 0; χ < hor_dim[view_id[i]] -1; χ ++) filter_coeffs[view_id[i]] [yuv][y][x] XX ..........(similarmente para vista 2,3) view_id[ 4 ] 4 num_parts[vi ew_i d [ 4 ]] 2 depth_flag[view_id[ 0 ]][ 0 ] 0 flip_dir[view_id[ 4 ]][ 0 ] 0 loc_left_offset[viewJd[ 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 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 sefuDsamDle view flaaíview idí 411} í vert_dim[view_id[4]] 6 hor_dim [viewJd [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; χ < hor_dim[view_id[i]] -1; χ ++) filter_coeffs[view_id[i]] [yuv][y][x] XX
A TABELA 5 mostra a estrutura de sintaxe geral para transmitir informação de mul- tivista para o exemplo mostrado na Tabela 4. TABLE 5
multiview_display_info( payloadSize) { C Descritor η u m_cod ed_views_m in us 1 5 ue(v) org_pic_width_in_mbs_minus1 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 ] fIip_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) 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; χ < hor_dim[view_id[i]] -1; χ ++) filter_coeffs[view_id[i]] [yuv][y][x] 5 se(v) } } } } }
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 de- codificado 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.
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 rece- bido 2320 e provê como saída um sinal de vídeo decodificado 2330 e informação de Iadri- Ihamento 2340. O vídeo decodificado 2330 e a informação de Iadrilhamento 2340 são provi- dos 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 de Iadrilhamento 2340 para localizar a imagem(ns) selecionada no vídeo de- codificado 2330.
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.
Mais geralmente, os decodificadores de várias implementações descritas nesse pe- dido podem prover uma saída decodificada que inclui um Iadrilho inteiro. Adicionalmente ou alternativamente, os decodificadores podem prover uma saída decodificada que inclui ape- nas uma ou mais imagens selecionadas (imagens ou sinais de profundidade, por exemplo) a partir do ladrilho.
Conforme observado acima, sintaxe de alto nível pode ser usada para realizar sina- lizaçã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 ori- ginais 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 é divi- dido; para cada parte da vista, a direção de viragem (a qual pode ser, por exemplo, nenhu- ma 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 macroblo- cos onde a parte atual pertence no quadro final para a vista; para cada parte da vista, a po- siçã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 decodifi- cado/codificado grande atual, da janela de recorte em pixels ou número de macroblocos; para cada parte da vista, a posição à direita, no quadro decodificado/codificado grande atu- al, 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 ma- croblocos; 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ão-linear).
Deve ser observado que os termos, "codificador" e "decodificador" conotam estrutu- ras gerais e não são limitados a quaisquer funções ou características específicas. Por e- xemplo, 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. Vários métodos foram descritos. Muitos desses métodos são detalhados para pro-
ver ampla revelação. Contudo, observa-se que variações são consideradas que podem vari- ar uma ou muitas das características específicas descritas para esses métodos. Adicional- mente, muitas das características que são citadas são conhecidas na técnica e, consequen- temente, não são descritas em grande detalhe. 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 implemen- tações utilizam sintaxe de nível inferior, ou na realidade outros mecanismos de modo geral (tal como, por exemplo, enviando informação como parte dos dados codificados) para prover a mesma informação (ou variações dessa informação). Várias implementações proporcionam Iadrilhamento e sinalização apropriada para
permitir que múltiplas vistas (imagens, mais geralmente) sejam Iadrilhadas em uma única imagem, codificadas como uma única imagem, e enviadas como uma única imagem. A in- formação de sinalização pode permitir que um pós-processador separe as vistas/imagens. Além disso, as múltiplas imagens que são Iadrilhadas 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 Iadrilhamento das mes- mas antes de codificar e transmitir/armazenar as mesmas de uma maneira ladrilhada.
Implementações que Iadrilham múltiplas vistas no contexto de AVC e/ou MVC tam- bé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 vis- tas Iadrilhadas podem ser arranjadas de modo que, por exemplo, um decodificador sabe que as imagens Iadrilhadas pertencem às diferentes vistas (por exemplo, imagem esquerda su- perior na pseudovista é vista 1, imagem superior direita é vista 2, etc.). 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 efeti- vamente 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 corresponder a uma das vistas suportadas de MVC, e o decodificador pode ter conhecimento de que cada "vista suportada" efetivamente inclui qua- tro 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".
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 discuti- do apenas no contexto de uma única forma de implementação (por exemplo, discutida ape- nas como um método), a implementação de características discutidas pode ser implementa- da em outras formas (por exemplo, um aparelho ou programa). Um aparelho pode ser im- plementado, por exemplo, em hardware, software e firmware apropriado. Os métodos po- dem ser implementados, por exemplo, em um aparelho tal como, por exemplo, um proces- sador, 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 pro- gramável. Os dispositivos de processamento incluem também dispositivo de comunicação, tal como, por exemplo, computadores, telefones celulares, assistentes digitais pesso- ais/portáteis ('PDAs"), e outros dispositivos que facilitam a comunicação de informação entre usuários finais.
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 da- dos. Exemplos de equipamento incluem codificadores de vídeo, decodificadores de vídeo, codecs de vídeo, servidores de Rede, conversores de sinais, laptops, computadores pesso- ais, telefones celulares, PDAs, e outros dispositivos de comunicação. Como deve ser evi- dente, o equipamento pode ser móvel e até mesmo instalado em um veículo móvel.
Adicionalmente, os métodos podem ser implementados mediante 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 disque- te, uma memória de acesso aleatório ("RAM"), ou uma memória de leitura ("ROM"). As ins- truçõ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 com- preendendo 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 entra- da/saída ("l/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. Como deve ser evidente para aqueles versados na técnica, implementações tam-
bé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 radiofreqüê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 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. Deve ser adicionalmente entendido que, devido a alguns dos componentes de sis-
tema, constituintes e métodos ilustrados nos desenhos anexos são preferivelmente imple- mentados 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 confi- gurações dos presentes princípios.
Algumas implementações foram descritas. Não obstante, será entendido que po-
dem 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 imple- mentaçõ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 mes- mo 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éc- nica pertinente sem se afastar do espírito ou escopo dos presentes princípios. Consequen- temente, essas e outras implementações são consideradas por esse pedido e estão dentro do escopo das reivindicações a seguir.
Claims (29)
1. Método, CARACTERIZADO pelo fato de que compreende: gerar informação indicando como múltiplas imagens incluídas em uma imagem de vídeo são combinadas em uma imagem de vídeo codificada, em que a informação indica se uma ou mais das múltiplas imagens são invertidas em relação à sua orientação pretendida; codificar a imagem de vídeo para prover uma representação codificada das múlti- plas imagens combinadas; e prover a informação gerada e a imagem de vídeo codificado como saída.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens, cada qual tendo uma orientação respectiva; em que a informação gerada inclui uma indicação de inversão para indicar que nenhuma das primeira e segunda imagens são invertidas em relação à sua ori- entação respectiva; e em que a codificação compreende ainda dispor a primeira e a segun- da imagens na imagem de vídeo codificado em suas orientações respectivas.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens, cada qual tendo uma orientação respectiva; em que a informação gerada inclui uma indicação de inversão para indicar que a primeira imagem está invertida horizontalmente com relação à sua respectiva orientação; e em que a codificação compreende ainda dispor a primeira e a segunda ima- gens na imagem de vídeo codificado de tal modo que a primeira imagem é invertida em uma direção horizontal com relação à sua orientação.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens, cada qual tendo uma orientação respectiva; em que a informação gerada inclui uma indicação de inversão para indicar que a primeira imagem está invertida verticalmente com relação à sua respectiva orientação; e em que a codificação compreende ainda dispor a primeira e a segunda ima- gens na imagem de vídeo codificado, de tal modo que a primeira imagem é invertida em uma direção vertical com relação à sua orientação.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens, em que a codificação compreende ainda dispor a primeira e a segunda imagens na imagem de vídeo codificado, e em que a primeira imagem é disposta ao lado da segunda imagem na imagem de vídeo co- dificado.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens, em que a codificação compreende ainda dispor a primeira e a segunda imagens na imagem de vídeo codificado, e em que a primeira imagem é disposta sobre a segunda imagem na imagem de vídeo codifi- cado.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens, em que a codificação compreende ainda dispor a um nível de pixel a primeira e a segunda imagens na imagem de vídeo codificado, e em que os pixels da primeira e da segunda imagens são entrelaçados alternativamente.
8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a informação gerada inclui uma indicação de inversão, em que a etapa de geração compreen- de formar uma mensagem de acordo com uma sintaxe de alto nível, em que a mensagem inclui a indicação de inversão.
9. Método, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que a sintaxe de alto nível é selecionada de pelo menos o grupo de sintaxes de alto nível consis- tindo de um cabeçalho de seção, conjunto de parâmetros de seqüência, conjunto de parâ- metros de imagem, conjunto de parâmetros de vista, cabeçalho de unidade de camada de abstração de rede e uma mensagem de informação de otimização suplementar.
10. Método CARACTERIZADO pelo fato de que compreende: acessar uma imagem de vídeo que inclui múltiplas imagens combinadas em uma única imagem, a imagem de vídeo sendo parte de uma corrente de vídeo recebida; acessar informação indicando como as múltiplas imagens na imagem de vídeo a- cessado são combinadas, em que a informação acessada indica se pelo menos uma das múltiplas imagens é invertida com relação à sua orientação pretendida; decodificar a imagem de vídeo para prover uma representação decodificada de pelo menos uma das múltiplas imagens; e prover pelo menos uma das informações acessadas e a representação decodifica- da como saída.
11. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens, em que a informação acessada inclui uma indicação de inversão para indicar que nem a primeira nem a segunda imagens são invertidas com relação à sua orientação pretendida, e em que a decodificação compreende ainda desmontar a primeira e a segunda imagens, ambas provenientes da i- magem de vídeo codificado sem modificar as suas orientações pretendidas.
12. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens; em que a informação acessada inclui uma indicação de inversão para indicar que a primeira figura é invertida ho- rizontalmente com relação à sua orientação pretendida, e em que a decodificação compre- ende ainda desmontar a primeira e a segunda imagens, ambas provenientes da imagem de vídeo codificado; e método compreendendo ainda, responsivo à indicação de inversão, inverter a pri- meira imagem em uma direção horizontal com relação à sua orientação pretendida.
13. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que as múltiplas imagens incluem uma primeira e uma segunda imagens, em que a informa- ção gerada inclui uma indicação de inversão para indicar que a primeira figura é invertida verticalmente com relação à sua orientação pretendida, e em que a decodificação compre- ende ainda desmontar a primeira e a segunda imagem, ambas provenientes da imagem de vídeo codificado; e método compreendendo ainda, responsivo à indicação de inversão, inverter a pri- meira imagem em uma direção vertical com relação à sua orientação.
14. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a decodificação compreende ainda desmontar a primeira e a segunda imagens a partir da imagem de vídeo codificado, e em que a primeira imagem é disposta ao lado da segunda imagem na imagem de vídeo codificado.
15. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que compreende ainda desmontar a primeira e a segunda imagens a partir da imagem de vídeo codificado, e em que a primeira imagem é disposta sobre a segunda imagem na imagem de vídeo codificado.
16. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que compreende ainda desmontar, a um nível de pixel, a primeira e a segunda figuras a partir da imagem de vídeo codificada, e em que pixels da primeira e segunda imagens são entrelaça- dos alternativamente.
17. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que as informações de acesso compreendem extrair uma indicação de inversão de uma mensa- gem formatada de acordo com uma sintaxe de alto nível, em que a mensagem inclui uma indicação de inversão.
18. Método, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que a sintaxe de alto nível é selecionada de um grupo de sintaxes de alto nível consistindo de um cabeçalho de seção, um conjunto de parâmetros de seqüência, um conjunto de parâme- tros de imagem, um conjunto de parâmetros de vista, um cabeçalho de unidade de camada de abstração de rede e uma mensagem de informação de otimização suplementar.
19. Método, de acordo com a reivindicação 10, CARACTERIZADO por: acessar a imagem de vídeo compreende acessar uma imagem de vídeo provida de acordo com um padrão de vídeo de vista única que trata todas as imagens como sendo de uma vista única (824); e acessar a informação compreende acessar informação provida de acordo com o padrão de vídeo de vista única (804), tal que o fornecimento da imagem de vídeo decodificado e a informação acessada possibilita suporte de múltiplas vistas pelo padrão de vídeo de vista única (826).
20. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a informação acessada indica pelo menos uma de um local e uma orientação de ao menos uma das múltiplas imagens dentro da imagem de vídeo (822).
21. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que o acesso à imagem de vídeo, acesso à informação, decodificação da imagem de vídeo, e fornecimento da informação acessada e imagem de vídeo decodificada são realizados por um decodificador (1650).
22. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a informação é compreendida em pelo menos um de um cabeçalho de seção, conjunto de parâmetros de seqüência, conjunto de parâmetros de imagem, conjunto de parâmetros de vista, cabeçalho de unidade de camada de abstração de rede e uma mensagem de informa- ção de otimização suplementar (804).
23. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que: pelo menos uma das múltiplas imagens é invertida na direção horizontal na imagem única, e a informação acessada indica que a inversão é na direção horizontal.
24. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que: pelo menos uma das múltiplas imagens é invertida na direção vertical na imagem única, e a informação acessada indica que a inversão é na direção vertical.
25. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a informação acessada indica que uma segunda imagem das múltiplas imagens é invertida com relação à sua orientação pretendida.
26. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que compreende: pelo menos uma das múltiplas imagens inclui uma primeira imagem de uma primei- ra vista; e outra das múltiplas imagens incluem informação de profundidade para a primeira imagem.
27. 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 26.
28. Meio legível por processador, CARACTERIZADO pelo fato de possuir armaze- nado no mesmo uma estrutura de sinal de vídeo, a estrutura de sinal de vídeo compreen- dendo: uma seção de imagem codificada incluindo uma codificação de uma imagem de ví- deo codificada, a imagem de vídeo codificada incluindo uma primeira e uma segunda figura dispostas na imagem de vídeo codificado; e uma seção de sinalização incluindo uma codificação de uma indicação que indica se pelo menos uma das primeira e segunda figuras são invertidas com relação à suas res- pectivas orientações, a indicação permitindo decodificar as imagens de vídeo codificados em versões decodificadas da primeira e da segunda imagens.
29. Meio legível por máquina, CARACTERIZADO pelo fato de ter armazenado no mesmo instruções executáveis de máquina que, quando executadas, implementam um ou mais dos métodos do tipo definido em qualquer uma das reivindicações 1 a 26.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| 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 |
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US92301407P | 2007-04-12 | 2007-04-12 | |
| US60/923.014 | 2007-04-12 | ||
| US60/923,014 | 2007-04-12 | ||
| US92540007P | 2007-04-20 | 2007-04-20 | |
| US60/925,400 | 2007-04-20 | ||
| PCT/US2008/004747 WO2008127676A2 (en) | 2007-04-12 | 2008-04-11 | Tiling in video encoding and decoding |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0809510A2 true BRPI0809510A2 (pt) | 2012-12-25 |
| BRPI0809510B1 BRPI0809510B1 (pt) | 2019-10-08 |
Family
ID=39810226
Family Applications (5)
| 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 |
| BR122018004906-5A BR122018004906B1 (pt) | 2007-04-12 | 2008-04-11 | ladrilhamento em codificação e decodificação de vídeo |
| BR122018004903-0A BR122018004903B1 (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 |
| BR122018004904-9A BR122018004904B1 (pt) | 2007-04-12 | 2008-04-11 | ladrilhamento em codificação e decodificação de vídeo |
Family Applications After (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BR122018004906-5A BR122018004906B1 (pt) | 2007-04-12 | 2008-04-11 | ladrilhamento em codificação e decodificação de vídeo |
| BR122018004903-0A BR122018004903B1 (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 |
| BR122018004904-9A BR122018004904B1 (pt) | 2007-04-12 | 2008-04-11 | ladrilhamento em codificação e decodificação de vídeo |
Country Status (20)
| Country | Link |
|---|---|
| US (13) | US8780998B2 (pt) |
| EP (12) | EP3758381B1 (pt) |
| JP (11) | JP5324563B2 (pt) |
| KR (12) | KR101646089B1 (pt) |
| CN (1) | CN101658037B (pt) |
| AU (1) | AU2008239653C1 (pt) |
| BR (5) | BRPI0809510B1 (pt) |
| DK (7) | DK2887671T3 (pt) |
| ES (7) | ES2941888T3 (pt) |
| FI (1) | FI3920538T3 (pt) |
| HU (7) | HUE053544T2 (pt) |
| LT (1) | LT2887671T (pt) |
| MX (1) | MX2009010973A (pt) |
| PL (7) | PL3758381T3 (pt) |
| PT (7) | PT2887671T (pt) |
| RU (8) | RU2521618C2 (pt) |
| SI (6) | SI3399756T1 (pt) |
| TR (1) | TR201809177T4 (pt) |
| WO (1) | WO2008127676A2 (pt) |
| ZA (2) | ZA201006649B (pt) |
Families Citing this family (71)
| 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 |
| KR101646089B1 (ko) | 2007-04-12 | 2016-08-05 | 톰슨 라이센싱 | 비디오 인코딩 및 디코딩의 타일링 |
| JP2010527216A (ja) | 2007-05-16 | 2010-08-05 | トムソン ライセンシング | マルチビュー・ビデオ符号化(mvc)情報の符号化においてスライス群を使用する方法及び装置 |
| WO2010039417A1 (en) | 2008-09-23 | 2010-04-08 | Dolby Laboratories Licensing Corporation | Encoding and decoding architecture of checkerboard multiplexed image data |
| WO2010043773A1 (en) | 2008-10-17 | 2010-04-22 | Nokia Corporation | Sharing of motion vector in 3d video coding |
| CN104702960B (zh) | 2009-01-26 | 2018-01-02 | 汤姆森特许公司 | 用于视频解码的装置 |
| CN105357510B (zh) | 2009-01-29 | 2017-08-11 | 杜比实验室特许公司 | 视频编码方法、视频信号解码方法及视频装置 |
| CN102388620B (zh) * | 2009-02-01 | 2014-10-29 | Lg电子株式会社 | 广播接收机和三维视频数据处理方法 |
| US9066075B2 (en) * | 2009-02-13 | 2015-06-23 | Thomson Licensing | Depth map coding to reduce rendered distortion |
| CN105657405B (zh) * | 2009-02-19 | 2018-06-26 | 汤姆逊许可证公司 | 3d视频格式 |
| EP2422522A1 (en) | 2009-04-20 | 2012-02-29 | Dolby Laboratories Licensing Corporation | Directed interpolation and data post-processing |
| WO2010126613A2 (en) | 2009-05-01 | 2010-11-04 | 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 |
| US9774882B2 (en) | 2009-07-04 | 2017-09-26 | 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 |
| US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
| CN105812827B (zh) | 2010-07-21 | 2019-04-16 | 杜比实验室特许公司 | 用于多层帧兼容视频传输的解码方法 |
| CN103098462A (zh) * | 2010-08-06 | 2013-05-08 | 松下电器产业株式会社 | 编码方法、显示装置以及解码方法 |
| US9344702B2 (en) * | 2010-08-09 | 2016-05-17 | Koninklijke Philips N.V. | Encoder, decoder, bit-stream, method of encoding, method of decoding an image pair corresponding with two views of a multi-view signal |
| US9485492B2 (en) | 2010-09-14 | 2016-11-01 | Thomson Licensing Llc | Compression methods and apparatus for occlusion data |
| CN103262548B (zh) * | 2010-10-28 | 2016-05-11 | Lg电子株式会社 | 用于在移动环境中接收三维广播信号的接收器装置和方法 |
| 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 |
| US20130100248A1 (en) * | 2011-05-11 | 2013-04-25 | Shinya Kadono | Video transmitting apparatus and video transmitting method |
| US9521418B2 (en) * | 2011-07-22 | 2016-12-13 | Qualcomm Incorporated | Slice header three-dimensional video extension for slice header prediction |
| US11496760B2 (en) | 2011-07-22 | 2022-11-08 | Qualcomm Incorporated | Slice header prediction for depth maps in three-dimensional video codecs |
| US9124895B2 (en) | 2011-11-04 | 2015-09-01 | Qualcomm Incorporated | Video coding with network abstraction layer units that include multiple encoded picture partitions |
| US9077998B2 (en) * | 2011-11-04 | 2015-07-07 | Qualcomm Incorporated | Padding of segments in coded slice NAL units |
| US9485503B2 (en) | 2011-11-18 | 2016-11-01 | Qualcomm Incorporated | Inside view motion prediction among texture and depth view components |
| US9332259B2 (en) * | 2012-01-18 | 2016-05-03 | Qualcomm Incorporated | Indication of use of wavefront parallel processing in video coding |
| JP6048495B2 (ja) | 2012-04-06 | 2016-12-21 | ソニー株式会社 | 復号装置、復号方法、プログラム、および記録媒体 |
| TWI594616B (zh) | 2012-06-14 | 2017-08-01 | 杜比實驗室特許公司 | 用於立體及自動立體顯示器之深度圖傳遞格式 |
| US9584803B2 (en) * | 2012-07-08 | 2017-02-28 | Cisco Technology, Inc. | Picture output management in video applications with fixed picture rate |
| US9426462B2 (en) | 2012-09-21 | 2016-08-23 | 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 |
| EP2946566B1 (en) * | 2013-01-18 | 2021-09-01 | Canon Kabushiki Kaisha | Method, device, and computer program for encapsulating partitioned timed media data |
| TWI558166B (zh) | 2013-04-04 | 2016-11-11 | 杜比國際公司 | 用於多視點裸視立體顯示器的深度地圖遞送格式 |
| WO2014209352A1 (en) * | 2013-06-28 | 2014-12-31 | Thomson Licensing | Highlighting an object displayed by a pico projector |
| KR102269311B1 (ko) * | 2013-07-05 | 2021-06-28 | 소니그룹주식회사 | 송신 장치, 송신 방법, 수신 장치 및 수신 방법 |
| US9749646B2 (en) | 2015-01-16 | 2017-08-29 | Microsoft Technology Licensing, Llc | Encoding/decoding of high chroma resolution details |
| US9854201B2 (en) | 2015-01-16 | 2017-12-26 | Microsoft Technology Licensing, Llc | Dynamically updating quality to higher chroma sampling rate |
| CN104869457B (zh) * | 2015-05-21 | 2019-04-26 | 京东方科技集团股份有限公司 | 显示器、显示装置、播放器、播放装置及播放显示系统 |
| WO2016204481A1 (ko) * | 2015-06-16 | 2016-12-22 | 엘지전자 주식회사 | 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법 |
| US10170154B2 (en) | 2015-11-16 | 2019-01-01 | Virtual Dreamware, LLC | Symmetrically mirrored video segment |
| CN118784880A (zh) | 2016-02-09 | 2024-10-15 | 弗劳恩霍夫应用研究促进协会 | 解码器、编码器、方法、网络设备以及可读存储介质 |
| JPWO2017204185A1 (ja) * | 2016-05-27 | 2019-03-22 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 符号化装置、復号装置、符号化方法、および復号方法 |
| 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 |
| CN117640950A (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数据压缩传输方法 |
| US12069302B2 (en) * | 2020-04-13 | 2024-08-20 | Intel Corporation | Texture based immersive video coding |
| US11221907B1 (en) * | 2021-01-26 | 2022-01-11 | Morgan Stanley Services Group Inc. | Centralized software issue triage system |
| CN116888956A (zh) * | 2021-02-28 | 2023-10-13 | 镭亚股份有限公司 | 流式传输压缩的多视图视频的系统和方法 |
| EP4300963A4 (en) | 2021-03-30 | 2024-05-08 | Panasonic Intellectual Property Corporation of America | Image encoding method, image decoding method, image processing method, image encoding device, and image decoding device |
| JP7568835B2 (ja) | 2021-04-23 | 2024-10-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 画像復号方法、画像符号化方法、画像復号装置、及び画像符号化装置 |
| JP7704842B2 (ja) | 2021-04-23 | 2025-07-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 画像符号化方法、画像復号方法、画像処理方法、画像符号化装置、及び画像復号装置 |
| CN117242775A (zh) * | 2021-04-26 | 2023-12-15 | 华为技术有限公司 | 并行熵译码 |
| EP4099326A1 (en) * | 2021-06-03 | 2022-12-07 | Lemon Inc. | Video remixing method |
| US12483719B2 (en) * | 2021-09-29 | 2025-11-25 | Tencent America LLC | Techniques for signaling multiview view positions in SEI message |
| WO2025160493A1 (en) * | 2024-01-25 | 2025-07-31 | Op Solutions, Llc | Systems and methods for layer reconstruction and encoder-driven feature information extraction in video coding for machines |
Family Cites Families (97)
| 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 |
| WO1998029860A1 (en) * | 1996-12-27 | 1998-07-09 | 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> | 立体画像符号化装置および復号化装置 |
| DE10016074B4 (de) | 2000-04-01 | 2004-09-30 | Tdv Technologies Corp. | Verfahren und Vorrichtung zur Erzeugung von 3D-Bildern |
| US7254265B2 (en) | 2000-04-01 | 2007-08-07 | Newsight Corporation | Methods and systems for 2D/3D image conversion and optimization |
| GB0013273D0 (en) | 2000-06-01 | 2000-07-26 | Philips Electronics Nv | Video signal encoding and buffer management |
| CN1210645C (zh) * | 2000-09-18 | 2005-07-13 | 国际商业机器公司 | 管理计算机显示器上的视图的方法 |
| 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 |
| US20030113012A1 (en) * | 2001-08-17 | 2003-06-19 | Byoungyi Yoon | Method and system for controlling a screen ratio based on a photographing ratio |
| US7277121B2 (en) * | 2001-08-29 | 2007-10-02 | Sanyo Electric Co., Ltd. | Stereoscopic image processing and display system |
| WO2003046832A1 (de) | 2001-11-24 | 2003-06-05 | 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 |
| WO2003092305A1 (fr) * | 2002-04-25 | 2003-11-06 | Sharp Kabushiki Kaisha | Codeur d'images, decodeur d'images, support d'enregistrement et enregistreur d'images |
| 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 | 微软公司 | 使用线光值和其它图像处理改进的图像处理 |
| KR100714068B1 (ko) | 2004-10-16 | 2007-05-02 | 한국전자통신연구원 | 계층적 깊이 영상을 이용한 다시점 동영상 부호화/복호화방법 및 장치 |
| 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 |
| JPWO2006072985A1 (ja) * | 2005-01-06 | 2008-06-12 | 三菱電機株式会社 | 映像表示装置 |
| 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 | 삼성전자주식회사 | 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치 |
| WO2006137006A2 (en) * | 2005-06-23 | 2006-12-28 | Koninklijke Philips Electronics N.V. | Transmission of 3d image using 2d image and 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 |
| US20100158133A1 (en) | 2005-10-12 | 2010-06-24 | Peng Yin | Method and Apparatus for Using High-Level Syntax in Scalable Video Encoding and Decoding |
| US9131247B2 (en) | 2005-10-19 | 2015-09-08 | 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 |
| US7817865B2 (en) | 2006-01-12 | 2010-10-19 | Lg Electronics Inc. | Processing multiview video |
| 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 | 多視点画像符号化装置 |
| EP1999966A2 (en) | 2006-03-29 | 2008-12-10 | 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 |
| US20100110364A1 (en) | 2006-11-07 | 2010-05-06 | Koninklijke Philips Electronics N.V. | Method and device for speckle reduction |
| PL2103136T3 (pl) | 2006-12-21 | 2018-02-28 | Thomson Licensing | Sposoby i urządzenie dla ulepszonej sygnalizacji przy użyciu składni wysokiego poziomu dla kodowania i dekodowania wielo-widokowego wideo |
| US8515194B2 (en) | 2007-02-21 | 2013-08-20 | Microsoft Corporation | Signaling and uses of windowing information for images |
| JP5132690B2 (ja) * | 2007-03-16 | 2013-01-30 | トムソン ライセンシング | テキストを3次元コンテンツと合成するシステム及び方法 |
| KR101646089B1 (ko) * | 2007-04-12 | 2016-08-05 | 톰슨 라이센싱 | 비디오 인코딩 및 디코딩의 타일링 |
| 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 |
| EP2168384A4 (en) | 2007-06-19 | 2013-11-06 | Korea Electronics Telecomm | METADATA STRUCTURE FOR STORING AND REPRODUCING STEREOSCOPIC DATA AND METHOD FOR STORING A STEREOSCOPIC CONTENT FILE USING THESE METADATA |
| 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 | 광주과학기술원 | 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체 |
| BRPI0822032A2 (pt) | 2007-12-20 | 2015-07-21 | Koninkl Philips Electronics Nv | Método de codificação de imagem que permite renderização estereoscópica, portador de dados, codificador de imagem, decodificador de imagem, e, produto de programa de computador |
| 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차원 영상 컨텐츠 제공 방법, 재생 방법, 그 장치 및 그기록매체 |
| EP2308232B1 (en) | 2008-07-20 | 2017-03-29 | Dolby Laboratories Licensing Corp. | Encoder optimization of stereoscopic video delivery systems |
| 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 |
-
2008
- 2008-04-11 KR KR1020147017631A patent/KR101646089B1/ko active Active
- 2008-04-11 SI SI200832139T patent/SI3399756T1/sl unknown
- 2008-04-11 PL PL20191874T patent/PL3758381T3/pl unknown
- 2008-04-11 DK DK15153812.1T patent/DK2887671T3/en active
- 2008-04-11 SI SI200831975T patent/SI2887671T1/sl unknown
- 2008-04-11 ES ES21180823T patent/ES2941888T3/es active Active
- 2008-04-11 BR BRPI0809510-8A patent/BRPI0809510B1/pt active IP Right Grant
- 2008-04-11 ES ES15153812.1T patent/ES2675164T3/es active Active
- 2008-04-11 EP EP20191874.5A patent/EP3758381B1/en active Active
- 2008-04-11 DK DK12159060.8T patent/DK2512136T3/en active
- 2008-04-11 HU HUE20191672A patent/HUE053544T2/hu unknown
- 2008-04-11 HU HUE15153812A patent/HUE038192T2/hu unknown
- 2008-04-11 RU RU2009141712/07A patent/RU2521618C2/ru active
- 2008-04-11 SI SI200832158T patent/SI3758380T1/sl unknown
- 2008-04-11 JP JP2010503074A patent/JP5324563B2/ja active Active
- 2008-04-11 PL PL21180823.3T patent/PL3920538T3/pl unknown
- 2008-04-11 PT PT151538121T patent/PT2887671T/pt unknown
- 2008-04-11 HU HUE18172263A patent/HUE052116T2/hu unknown
- 2008-04-11 DK DK21150513.6T patent/DK3836550T3/da active
- 2008-04-11 HU HUE12159060A patent/HUE029776T2/en unknown
- 2008-04-11 KR KR1020197032816A patent/KR102123772B1/ko active Active
- 2008-04-11 MX MX2009010973A patent/MX2009010973A/es active IP Right Grant
- 2008-04-11 PT PT201918745T patent/PT3758381T/pt unknown
- 2008-04-11 PT PT211505136T patent/PT3836550T/pt unknown
- 2008-04-11 EP EP08742812A patent/EP2137975A2/en not_active Withdrawn
- 2008-04-11 EP EP12159058.2A patent/EP2512135B1/en active Active
- 2008-04-11 EP EP21180823.3A patent/EP3920538B1/en active Active
- 2008-04-11 KR KR1020187022161A patent/KR101965781B1/ko active Active
- 2008-04-11 PT PT121590608T patent/PT2512136T/pt unknown
- 2008-04-11 KR KR1020207016414A patent/KR102204262B1/ko active Active
- 2008-04-11 PL PL18172263T patent/PL3399756T3/pl unknown
- 2008-04-11 PT PT211808233T patent/PT3920538T/pt unknown
- 2008-04-11 DK DK18172263.8T patent/DK3399756T3/da active
- 2008-04-11 KR KR1020217000574A patent/KR102510010B1/ko active Active
- 2008-04-11 KR KR1020237008405A patent/KR102715349B1/ko active Active
- 2008-04-11 DK DK20191874.5T patent/DK3758381T3/da active
- 2008-04-11 EP EP12159060.8A patent/EP2512136B1/en active Active
- 2008-04-11 TR TR2018/09177T patent/TR201809177T4/tr unknown
- 2008-04-11 FI FIEP21180823.3T patent/FI3920538T3/fi active
- 2008-04-11 ES ES12159060.8T patent/ES2586406T3/es active Active
- 2008-04-11 EP EP15153812.1A patent/EP2887671B1/en active Active
- 2008-04-11 EP EP18172263.8A patent/EP3399756B1/en active Active
- 2008-04-11 US US12/450,829 patent/US8780998B2/en active Active
- 2008-04-11 BR BR122018004906-5A patent/BR122018004906B1/pt active IP Right Grant
- 2008-04-11 EP EP23156414.7A patent/EP4210330A1/en active Pending
- 2008-04-11 CN CN200880011698XA patent/CN101658037B/zh active Active
- 2008-04-11 SI SI200832174T patent/SI3836550T1/sl unknown
- 2008-04-11 ES ES20191874T patent/ES2864544T3/es active Active
- 2008-04-11 EP EP21157556.8A patent/EP3855743A1/en not_active Ceased
- 2008-04-11 EP EP24158258.4A patent/EP4383719A3/en active Pending
- 2008-04-11 BR BR122018004903-0A patent/BR122018004903B1/pt active IP Right Grant
- 2008-04-11 ES ES21150513T patent/ES2887248T3/es active Active
- 2008-04-11 SI SI200832206T patent/SI3920538T1/sl unknown
- 2008-04-11 DK DK21180823.3T patent/DK3920538T3/da active
- 2008-04-11 AU AU2008239653A patent/AU2008239653C1/en active Active
- 2008-04-11 LT LTEP15153812.1T patent/LT2887671T/lt unknown
- 2008-04-11 KR KR20157009602A patent/KR20150046385A/ko not_active Ceased
- 2008-04-11 KR KR1020177021734A patent/KR101885790B1/ko active Active
- 2008-04-11 SI SI200832161T patent/SI3758381T1/sl unknown
- 2008-04-11 KR KR1020197009228A patent/KR102044130B1/ko active Active
- 2008-04-11 HU HUE20191874A patent/HUE053806T2/hu unknown
- 2008-04-11 KR KR1020097023043A patent/KR101467601B1/ko active Active
- 2008-04-11 EP EP20191672.3A patent/EP3758380B1/en active Active
- 2008-04-11 ES ES20191672T patent/ES2858578T3/es active Active
- 2008-04-11 PL PL15153812T patent/PL2887671T3/pl unknown
- 2008-04-11 EP EP21150513.6A patent/EP3836550B1/en active Active
- 2008-04-11 HU HUE21180823A patent/HUE061663T2/hu unknown
- 2008-04-11 DK DK20191672.3T patent/DK3758380T3/da active
- 2008-04-11 PT PT181722638T patent/PT3399756T/pt unknown
- 2008-04-11 PL PL20191672T patent/PL3758380T3/pl unknown
- 2008-04-11 BR BRPI0823512-0A2A patent/BRPI0823512A2/pt not_active IP Right Cessation
- 2008-04-11 HU HUE21150513A patent/HUE055864T2/hu unknown
- 2008-04-11 ES ES18172263T patent/ES2825104T3/es active Active
- 2008-04-11 PT PT201916723T patent/PT3758380T/pt unknown
- 2008-04-11 KR KR1020247033120A patent/KR20240148967A/ko active Pending
- 2008-04-11 KR KR1020167028058A patent/KR101766479B1/ko active Active
- 2008-04-11 PL PL12159060.8T patent/PL2512136T3/pl unknown
- 2008-04-11 PL PL21150513T patent/PL3836550T3/pl unknown
- 2008-04-11 BR BR122018004904-9A patent/BR122018004904B1/pt active IP Right Grant
- 2008-04-11 WO PCT/US2008/004747 patent/WO2008127676A2/en not_active Ceased
-
2010
- 2010-09-16 ZA ZA2010/06649A patent/ZA201006649B/en unknown
-
2012
- 2012-03-15 ZA ZA2012/01942A patent/ZA201201942B/en unknown
-
2013
- 2013-07-17 JP JP2013148284A patent/JP5674873B2/ja active Active
-
2014
- 2014-04-24 RU RU2014116612A patent/RU2651227C2/ru active
- 2014-06-10 US US14/300,597 patent/US9185384B2/en active Active
- 2014-12-19 JP JP2014256830A patent/JP2015092715A/ja active Pending
-
2015
- 2015-06-10 US US14/735,371 patent/US9219923B2/en active Active
- 2015-08-04 US US14/817,597 patent/US9232235B2/en active Active
- 2015-11-19 US US14/946,252 patent/US9445116B2/en active Active
-
2016
- 2016-08-23 US US15/244,192 patent/US9706217B2/en active Active
-
2017
- 2017-05-10 JP JP2017093497A patent/JP2017135756A/ja active Pending
- 2017-05-19 US US15/600,338 patent/US9838705B2/en active Active
- 2017-10-23 US US15/791,238 patent/US9973771B2/en active Active
-
2018
- 2018-01-24 US US15/879,280 patent/US9986254B1/en active Active
- 2018-03-26 US US15/935,869 patent/US10129557B2/en active Active
- 2018-03-26 RU RU2018110596A patent/RU2684184C1/ru active
- 2018-09-27 US US16/144,971 patent/US10298948B2/en active Active
-
2019
- 2019-03-20 RU RU2019107969A patent/RU2709671C1/ru active
- 2019-04-24 US US16/393,371 patent/US10432958B2/en active Active
- 2019-08-26 US US16/551,156 patent/US10764596B2/en active Active
- 2019-09-02 JP JP2019159425A patent/JP2019201436A/ja active Pending
- 2019-09-02 JP JP2019159424A patent/JP2019201435A/ja active Pending
- 2019-10-15 RU RU2019132623A patent/RU2721941C1/ru active
-
2020
- 2020-04-29 RU RU2020115046A patent/RU2733273C1/ru active
- 2020-08-17 JP JP2020137403A patent/JP6825155B2/ja active Active
- 2020-09-03 RU RU2020129105A patent/RU2752572C1/ru active
-
2021
- 2021-01-13 JP JP2021003523A patent/JP7116812B2/ja active Active
- 2021-04-15 RU RU2021110509A patent/RU2763966C1/ru active
-
2022
- 2022-07-29 JP JP2022121528A patent/JP7357125B2/ja active Active
-
2023
- 2023-09-25 JP JP2023159330A patent/JP7605516B2/ja active Active
-
2024
- 2024-12-05 JP JP2024211900A patent/JP7815403B2/ja active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0809510A2 (pt) | ladrilhamento em codificaÇço e decodificaÇço de vÍdeo |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B25A | Requested transfer of rights approved |
Owner name: DOLBY INTERNATIONAL AB (NL) |
|
| B15K | Others concerning applications: alteration of classification |
Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 7/26 , H04N 7/50 Ipc: H04N 19/597 (2014.01), H04N 19/70 (2014.01), H04N Ipc: H04N 19/597 (2014.01), H04N 19/70 (2014.01), H04N |
|
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B06A | Patent application procedure suspended [chapter 6.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 08/10/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 08/10/2019, OBSERVADAS AS CONDICOES LEGAIS |
|
| B25G | Requested change of headquarter approved |
Owner name: DOLBY INTERNATIONAL AB (IE) |