CAMPO TÉCNICO
[001] A presente invenção refere-se a técnicas de codificação e decodificação de imagens de vídeo de múltiplos pontos de vista.
[002] A prioridade é reivindicada no Pedido de Patente Japonesa 2006-000394, depositado em 5 de janeiro de 2006, cujo conteúdo está aqui incorporado a título de referência.
ANTECEDENTES DA TÉCNICA
[003] Imagens de vídeo de múltiplos pontos de vista são imagens de vídeo obtidas porfotografação do mesmo tema e seus antecedentes usando uma pluralidade de câmeras em posições diferentes. Abaixo, uma imagem de vídeo obtida por uma câmera única é chamada uma "uma imagem de vídeo bidimensional", e um conjunto de imagens de vídeo bidimensionais obtido por fotografação do mesmo tema e seus antecedentes é chamado de uma "imagem de vídeo de múltiplos pontos de vista". Existe uma forte correlação entre imagens de vídeo bidimensionais (das diferentes câmeras) incluídas na imagem de vídeo de múltiplos pontos de vista. Se as câmeras são sincronizadas umas com as outras, as estruturas (das câmeras) que correspondem ao mesmo tempo capturaram o tema e seus antecedentes na totalidade do mesmo estado, de modo que existe uma forte correlação entre as câmeras.
[004] Primeiro, serão mostradas as técnicas convencionais que se referem à codificação de imagens de vídeo bidimensionais. Em muitos métodos conhecidos de codificação de imagens de vídeo bidimensionais, tais como H. 264, MPEG-4, MPEG-2 (que são padrões de codificação internacionais), e o similar, é executada uma codificação altamente eficiente por meio de compensação de movimento, transformação ortogonal, quantização, codificação de entropia, ou o similar. Por exemplo, em H. 264, cada estrutura I pode ser codificada por meio de correlação intra-estrutura; cada estrutura P pode ser codificada por meio de correlação interestrutura junto com uma pluralidade de estruturas passadas; e cada estrutura B pode ser codificada por meio de correlação de interestrutura junto com uma pluralidade de estruturas passadas ou futuras.
[005] Ainda que o Documento Não-Patente 1 descreva as técnicas H. 264 em detalhes, seu esboço será descrito abaixo. Em cada estrutura I, a estrutura é dividida em blocos (chamados "macroblocos", o tamanho de cada bloco é 16x16 (pixels)), e um prognóstico de intra-estrutura (intraprognóstico) é executado em cada macrobloco. No intraprognóstico, cada macrobloco é adicionalmente dividido em blocos menores ("chamados sub-blocos", abaixo), e um método de intracodificação individual pode ser aplicado a cada sub-bloco.
[006] Em cada estrutura P, o intraprognóstico ou interprognóstico (prognóstico de interestrutura) pode ser executado em cada macrobloco. O intraprognóstico aplicado a uma estrutura P é similar àquela aplicada a uma estrutura I. No interprognóstico, é executada a compensação de movimento. Também na compensação de movimento, cada macrobloco é dividido em blocos menores, e cada sub-bloco pode ter um vetor de movimento individual e uma imagem de referência individual.
[007] Também em cada estrutura B, pode ser executado um intraprognóstico ou interprognóstico. No interprognóstico da estrutura B, além de uma estrutura passada, uma estrutura futura pode ser referida como uma imagem de referência em compensação de movimento. Por exemplo, quando codificando uma seqüência de estrutura de "I—>.B—>B—>P", as estruturas podem ser codificadas na ordem de "I^P^B^P". Também em cada estrutura B, a compensação de movimento pode ser executada por referência através de uma estrutura I ou P. Adicionalmente, similar a cada estrutura P, cada sub-bloco (obtido por divisão de um macrobloco) pode ter um vetor de movimento individual.
[008] Quando executando um intra ou interprognóstico, é obtido um prognóstico residual. Em cada macrobloco, um bloco de prognóstico residual é submetido à DCT (transformação discreta de coseno), de modo a executar a quantização. Os valores quantizados obtidos de coeficientes de DCT são então submetidos à codificação de comprimento variável. Em cada estrutura P ou estrutura B, a imagem de referência pode ser selecionada para cada sub-bloco, e é indicada por um valor numérico chamado um "índice de imagem de referência", e é submetida à codificação de comprimento variável. Em H. 264, quanto menor o índice de imagem de referência, mais curto o código usado na codificação de comprimento variável. Por conseguinte, em H. 264, o índice de imagem de referência é explicitamente variado para cada estrutura. Dessa maneira, quanto maior a freqüência de uso de uma imagem de referência, menor o índice de imagem de referência, designado para a imagem de referência, desse modo codificando eficientemente o índice de imagem de referência.
[009] Em um método conhecido para codificação de imagens de vídeo de múltiplos pontos de vista, as imagens de vídeo de múltiplos pontos de vista são de maneira altamente eficientes codificadas por meio de "compensação da paralaxe" em que a compensação de movimento é aplicada a imagens obtidas por diferentes câmeras ao mesmo tempo. Aqui a "paralaxe" é a diferença entre as posições, às quais o mesmo ponto sobre um tema é projetado, sobre um plano de imagem de câmeras que são dispostas em diferentes posições.
[0010] A figura 13 é uma vista esquemática mostrando o conceito da paralaxe gerado entre tais câmeras. Na vista esquemática, um plano de imagem de câmeras, cujos eixos óticos são paralelos uns aos outros, é olhado verticalmente para baixo. Geralmente, tais pontos, aos quais o mesmo ponto em um tema é projetado, sobre um plano de imagem de diferentes câmeras, são chamados "pontos correspondentes". Na compensação da paralaxe, o ponto correspondente sobre uma imagem de uma câmera de referência, que corresponde a um pixel alvo em uma imagem de uma câmera alvo para a codificação relevante, é estimado usando uma imagem de referência, e o valor do pixel é prognosticado pelo uso de um valor de pixel designado ao ponto correspondente. Abaixo, tal "paralaxe estimada" é também chamada "paralaxe"por conveniência de explanação, e em tal método, os dados da paralaxe e cada resíduo de prognóstico são codificados.
[0011] Em muitos métodos, a paralaxe é representada por um vetor (isto é, vetor da paralaxe (ou disparidade)) em um plano de imagem. Por exemplo, no método descrito pelo Documento Não-Patente 2, uma compensação da paralaxe é executada para cada bloco como uma unidade, onde tal paralaxe para bloco de unidade é representada usando um vetor bidimensional, isto é, pelo uso de dois parâmetros (isto é, componente x e componente y). A figura 14 é uma vista esquemática mostrando um vetor da paralaxe. Ou seja, nesse método, os dados da paralaxe formados por dois parâmetros e o residual de prognóstico relevante são codificados. Como esse método não usa parâmetros de câmera na codificação, é eficaz quando os parâmetros da câmera são desconhecidos.
[0012] Por outro lado, o Documento Não-Patente 3 descreve um método de codificação de imagens de múltiplos pontos de vista (isto é, imagens estáticas). No método, são usados parâmetros de câmera para codificação, e cada vetor da paralaxe é representado por dados unidimensionais baseados na geometria Epipolar coagida, codificando, dessa maneira, eficientemente as imagens de múltiplos pontos de vista.
[0013] A figura 15 é uma vista esquemática mostrando o conceito de geometria Epipolar coagida. De acordo com a geometria Epipolar coagida, em duas imagens obtidas por duas câmeras (isto é, "câmera 1 e "câmera 2"), o ponto m’ (designado para o ponto M em um tema) em uma das imagens, que corresponde ao ponto m na outra imagem, é coagido em uma linha reta chamada uma "linha Epipolar". No método do Documento Não-Patente 3, a paralaxe com respeito a cada imagem de referência é representada usando um parâmetro, isto é, a posição em uma linha Epipolar unidimensional. Ou seja, nesse método, os dados da paralaxe, que são representados por um parâmetro único, e o prognóstico relevante residual são codificados.
[0014] Mesmo que existam duas ou mais imagens de referência (obtidas por câmeras diferentes), a paralaxe para cada imagem de referência pode ser representada usando um parâmetro único por meio de sujeição geométrica Epipolar. Por exemplo, quando a paralaxe na linha Epipolar para uma imagem de referência é conhecida, então a paralaxe para uma imagem de referência obtida por uma outra câmera pode ser reconstituída.
[0015] Além disso, quando existe uma pluralidade de imagens de referência obtida por diferentes câmeras, a compensação da paralaxe pode ser executada usando uma técnica de imagem de ponto de vista arbitrária. O Documento de Não-Patente 4 descreve compensação da paralaxe usando uma técnica de imagem do ponto de vista arbitrária. Mais especificamente, cada valor de pixel de uma imagem obtida por uma câmera alvo para a codificação relevante é prognosticado por meio de interpolação usando os valores de pixel de pontos correspondentes (pertencendo a câmeras diferentes) que correspondem ao pixel relevante. A figura 16 é uma vista esquemática mostrando tal interpolação. Na interpolação, o valor de pixel m em uma imagem alvo a ser codificada é prognosticado por execução de interpolação entre os pixels m’ e m" de imagens de referência 1 e 2, onde os pixels ni e m"correspondem ao pixel m.
[0016] Documento Não-Patente 1: ITU-T Rec.H.264/ISO/IEC 11496-10, "Codificação de Vídeo Avançada", Esboço de Comitê Final, Documento JVT-E022, de setembro de 2002.
[0017] Documento Não-Patente 2: Hideaki Kimata e Masaki Kitahara, "Resultados preliminares em codificação de vídeo de múltiplas vistas (3DAV)", documento M10976 MPEG no Encontro de Remond, em julho de 2004.
[0018] Documento Não-Patente 3: Koichi Hata, Minoru Etoh, e Kunihiro Chihara, "Codificação de Imagens de Múltiplos Pontos de Vista" transações IEICE, Vol. J82-D-II, N° 11m pp. 1921-1929 (1999).
[0019] Documento Não-Patente 4: Masayuki Tanimoto, Toshiaki Fujii, "Resposta à Chamada para Evidência em Codificação de Vídeo de Múltiplas Vistas, documento Mxxxxx MPEG Encontro em Hong Kong, em janeiro de 2005.
[0020] Em métodos convencionais de codificação de imagens de vídeo de múltiplos pontos de vista quando os parâmetros da câmera são conhecidos, os dados da paralaxe de cada imagem de referência podem ser representados por um parâmetro único independente do número de imagens de referência, por meio de sujeição de geometria Epipolar, codificando desse modo eficientemente os dados da paralaxe.
[0021] No entanto, quando é obtida uma imagem de vídeo de múltiplos pontos de vista através de câmeras reais é uma imagem alvo a ser codificada, e a compensação da paralaxe é executada por sujeição da paralaxe em uma linha Epipolar, então a eficiência do prognóstico pode ser degradada devido a um erro em parâmetros medidos da câmera. Além disso, como cada imagem de referência inclui uma distorção devido à codificação, a eficiência do prognóstico pode também ser degradada quando está executando compensação da paralaxe por sujeição da paralaxe em uma linha Epipolar. Tal degradação na eficiência de prognóstico causa um aumento na quantidade de código do resíduo de prognóstico relevante, de modo que a eficiência de codificação total é degradada.
DESCRIÇÃO DA INVENÇÃO
[0022] De modo a solucionar o problema acima na codificação de imagens de vídeo de múltiplos pontos de vista, um objetivo da presente invenção é controlar o grau de liberdade na compensação da paralaxe de acordo com a característica de cada imagem de referência, e aperfeiçoar a precisão de compensação da paralaxe mesmo quando existe uma distorção de codificação em uma imagem de referência ou um erro em parâmetros da câmera medida, de modo a obter uma eficiência de codificação maior em comparação com as técnicas convencionais.
[0023] A maior característica distinta da presente invenção em comparação com as técnicas convencionais é que o número de parâmetros como dados da paralaxe é variável de modo a controlar o grau de liberdade na compensação da paralaxe de acordo com a característica de cada imagem de referência, e que os dados do número de parâmetro da paralaxe ou dados do índice, que indicam o número de parâmetros, são codificados para serem incluídos em dados codificados.
[0024] Além do número de parâmetros como dados da paralaxe, dados para indicar cada imagem de referência usada para compensação da paralaxe podem também ser incluídos em dados de índice, e outros dados podem também ser incluídos aí.
[0025] Mais especificamente, em um primeiro modo dos métodos de codificação e decodificação de vídeo da presente invenção, é executado um processo de codificar ou de decodificar o número de parâmetros da paralaxe, onde o número de parâmetros da paralaxe designa o número de parâmetros como dados da paralaxe usados para compensação da paralaxe, de acordo com os dados da imagem do vídeo.
[0026] Os dados do número de parâmetros da paralaxe podem designar a dimensão de um vetor da paralaxe para cada imagem de referência. Quando existem duas imagens de referência (A e B), é possível a seguinte designação de valor: (i) pNum = 0: ambas as imagens de referência A e B têm um vetor da paralaxe unidimensional (ii) pNum = 1: a imagem de referência A tem um vetor da paralaxe unidimensional, e a imagem de referência B tem um vetor da paralaxe bidimensional. (iii) pNum = 2: a imagem de referência A tem um vetor da paralaxe bidimensional, e a imagem de referência B tem um vetor da paralaxe unidimensional (iv) pNum = 3: ambas as imagens de referência A e B têm um vetor da paralaxe bidimensional
[0027] Os dados de índice acima pNum podem ser definidos como os dados do número do parâmetro da paralaxe.
[0028] Primeiro, no lado de codificação do vídeo, o número de parâmetros de modo a representar os dados da paralaxe é ajustado em uma etapa de ajuste do número de parâmetro da paralaxe. Então, os dados do número de parâmetros da paralaxe com respeito ao número de parâmetros ajustado na etapa de ajuste do número de parâmetro da paralaxe são codificados em uma etapa de codificar dados do número de parâmetro da paralaxe.
[0029] Por outro lado, no lado de codificação do vídeo, os dados do número de parâmetro da paralaxe é primeiro decodificado em uma etapa de decodificação de dados do número de parâmetro da paralaxe. Então, os dados da paralaxe do número de parâmetros, que é designado pelos dados do número de parâmetro da paralaxe decodificado, são decodificados em uma etapa de decodificação de dados da paralaxe.
[0030] Em um segundo modo dos métodos de codificação e decodificação de vídeo da presente invenção, as imagens de referência que podem ser usadas para compensação da paralaxe são designadas para cada valor de índice de imagem de referência. Por exemplo, quando duas imagens de referência são usadas para gerar uma compensação da paralaxe de imagem prognosticada, e três imagens de referência (A, B e C), que podem ser usadas, são armazenadas em uma memória de imagem de referência, então a designação do valor seguinte é possível: (i) refldx = 0: imagens de referência A e B (ii) refldx = 1: imagens de referência B e C (iii) refldx = 2: imagens de referência A e C
[0031] Aqui, refldx é o índice de imagem de referência. Além do acima, pode ser definido um índice (valor) da imagem de referência correspondente a cada imagem decodificada de uma câmera alvo para codificação relevante.
[0032] No lado de codificação do vídeo, além do processo executado no primeiro modo acima, uma etapa de ajuste de imagem de referência de determinar uma imagem de referência usada em compensação da paralaxe, e uma etapa de codificação da imagem de referência de codificar o índice de imagem de referência são executadas. No lado de decodificação de vídeo, uma etapa de decodificar o índice de imagem de referência é executada.
[0033] Quando tal método é combinado com o método convencional acima descrito de variar o número de índice de imagem de referência H. 264, cada valor de índice pode ser ajustado de acordo com a característica da imagem de vídeo relevante de uma maneira tal que um pequeno valor é designado para uma imagem de referência pelo qual uma imagem prognosticada de alta qualidade pode ser gerada, aperfeiçoando desse modo a eficiência da codificação.
[0034] Em um terceiro modo dos métodos de codificação e decodificação de vídeo da presente invenção, dados de número do parâmetro da paralaxe, que podem ser usados, são designados para cada índice (valor) de imagem de referência. Por exemplo, quando duas imagens de referência são usadas para gerar uma imagem prognosticada da compensação da paralaxe, três imagens de referência (A, B e C), que podem ser usadas, são armazenadas em uma memória de imagem de referência, e os dados de número de parâmetro da paralaxe pNum têm dois valores (isto é, pNum=0 ou 1), então a designação de valor seguinte é possível: (i) refldx= 0: imagens de referência A e B, pNum=0 (ii) refldx= 1: imagens de referência A e B, pNum=1 (iii) refldx= 2: imagens de referência B e C, pNum=0 (iv) refldx= 3: imagens de referência B e C, pNum=1 (v) refldx= 4: imagens de referência A e C, pNum=0 (vi) refldx= 5: imagens de referência A e C, pNum=1
[0035] Nesse caso, no lado de codificação de vídeo, uma etapa de codificação de índice de imagem de referência de codificação do índice de imagem de referência é executada, onde os dados de número de parâmetro da paralaxe são codificados nessa etapa. No lado de codificação de vídeo, uma etapa de codificação de índice de imagem de referência de codificação do índice de imagem é executada, onde os dados de número de parâmetro da paralaxe são codificados nessa etapa.
[0036] Quando tal método é combinado com o acima descrito método convencional de variar o número de índice de imagem de referência H. 264, o comprimento de um código de comprimento variável designado aos dados de número de parâmetro da paralaxe que podem ser variados de acordo com a característica da imagem de vídeo relevante, desse modo codificando eficientemente os dados de número de parâmetro da paralaxe.
[0037] Em compensação da paralaxe usada para codificar imagens de vídeo de múltiplos pontos de vista, (i) se a eficiência do prognóstico é degradada quando o prognóstico é executado de acordo com a sujeição geométrica Epipolar, devido a um erro de medição em parâmetros da câmera ou em uma distorção de codificação em cada imagem de referência, então o número de parâmetros para dados da paralaxe é aumentado de modo a executar um prognóstico tendo um alto grau de liberdade, e (ii) se a eficiência do prognóstico é suficiente mesmo quando o prognóstico é executado de acordo com a sujeição de geometria Epipolar, então é executado um prognóstico que representa a paralaxe usando um parâmetro. Tal seleção pode ser de maneira adaptável controlada de acordo com a característica de cada estrutura ou bloco (como uma unidade) na imagem decodificada relevante. Por conseguinte, uma maior eficiência de codificação pode ser obtida em comparação com as técnicas convencionais.
BREVE DESCRIÇÃO DOS DESENHOS
[0038] A figura 1 é um diagrama mostrando um aparelho de codificação de vídeo como uma primeira modalidade da presente invenção.
[0039] A figura 2 é um diagrama mostrando relações de referência entre as câmeras na primeira modalidade.
[0040] A figura 3 é um diagrama mostrando o arranjo de câmeras na primeira modalidade.
[0041] A figura 4 é um fluxograma de codificação na primeira modalidade.
[0042] A figura 5 é um diagrama mostrando um aparelho de decodificação de vídeo na primeira modalidade.
[0043] A figura 6 é um fluxograma de decodificação na primeira modalidade.
[0044] A figura 7 é um diagrama mostrando relações de referência entre câmeras em uma segunda modalidade da presente invenção.
[0045] A figura 8 é um diagrama mostrando um aparelho de codificação de vídeo na segunda modalidade.
[0046] A figura 9 é um fluxograma de codificação na segunda modalidade.
[0047] A figura 10 é um fluxograma detalhado da etapa S304 na figura 9.
[0048] A figura 11 é um diagrama mostrando um aparelho de decodificação de vídeo na segunda modalidade.
[0049] A figura 12 é um fluxograma de decodificação na segunda modalidade.
[0050] A figura 13 é uma vista esquemática mostrando o conceito da paralaxe gerado entre as câmeras.
[0051] A figura 14 é uma vista esquemática mostrando um vetor da paralaxe.
[0052] A figura 15 é uma vista esquemática mostrando o conceito de sujeição da geométrica Epipolar.
[0053] A figura 16 é uma vista esquemática mostrando interpolação do valor do pixel. MELHOR MODO PARA REALIZAR A INVENÇÃO Primeira modalidade
[0054] Uma primeira modalidade será explanada. A figura 1 é um diagrama mostrando a estrutura de um aparelho de codificação de vídeo na primeira modalidade.
[0055] O aparelho de codificação de vídeo 100 inclui uma parte de entrada de imagem 101 em que cada imagem original de câmera C (isto é, imagem alvo a ser codificada) é captada; uma parte de entrada de imagem de referência 102 em que as imagens decodificadas (como imagens de referência) de câmeras A e B são captadas; uma memória de imagem de referência 103 para armazenar cada imagem de referência; uma parte de ajuste de número de parâmetro da paralaxe 104 para ajustar o número de parâmetros da paralaxe para representar dados da paralaxe que são usados para compensação da paralaxe; uma parte de codificação de dados de número do parâmetro da paralaxe 105 para dados de codificação do número de parâmetros da paralaxe; uma parte de codificação de dados da paralaxe 106 para codificar os dados da paralaxe; e uma parte de codificação do prognóstico residual 107 para codificar um prognóstico residual gerado na compensação da paralaxe.
[0056] A figura 2 é um diagrama mostrando relações de referência entre câmeras na primeira modalidade. Como mostrado na figura 2, na modalidade presente para codificação de imagens de vídeo de múltiplos pontos obtidos por três câmeras, as imagens de vídeo da câmera C são codificadas usando imagens decodificadas de câmeras A e B, como imagens de referência.
[0057] As setas na figura 2 representam relações de referência em compensação da paralaxe. De modo a codificar cada imagem de câmara C, as imagens decodificadas (de câmeras A e B) tendo o mesmo tempo de exposição são codificadas como imagens de referência. No processo relevante, uma imagem prognosticada é gerada por computação de uma média entre valores de pixel dos pontos correspondentes que pertencem às câmeras A e B.
[0058] A figura 3 é um diagrama mostrando o arranjo de câmeras na primeira modalidade. Na presente modalidade, os pontos de vista das três câmeras se alinham ao longo de uma linha reta em intervalos regulares, e os seus eixos óticos são perpendiculares à linha reta. Isto é, os eixos óticos das três câmeras são paralelos uns aos outros.
[0059] Além disso, o sistema coordenado x-y no plano de imagem relevante pode ser obtido por translação paralela (nenhuma rotação ou o similar é executado) com respeito à linha reta em que as câmeras são dispostas, e são formados pixels por divisão de cada um dos eixos x e y do plano de imagem em intervalos regulares para cada câmera. Isto é, cada câmera tem a mesma resolução, e uma paralaxe entre as câmeras C e A corresponde a uma paralaxe de pixels P entre as câmeras C e B.
[0060] A figura 4 é um fluxograma de codificação na primeira modalidade.
[0061] O fluxograma mostra processos executados quando estão codificando uma imagem obtida pela câmera C, e a codificação de imagem de vídeo é executada por repetição dos processos para cada imagem.
[0062] Na modalidade presente, o método de representar os dados da paralaxe é adaptavelmente comutado em compensação da paralaxe, entre (i) o método de representar a paralaxe entre imagens de referência de câmeras A e B pelo uso de dados da paralaxe que indicam a posição na linha Epipolar para a câmera A através do uso de um parâmetro único (isto é, o valor de índice "pNum" é 0), e (ii) a paralaxe para a imagem de referência que pertence a cada uma das câmeras A e B é representada por um vetor bidimensional, e os dados da paralaxe relevantes são representados pelo uso de quatro parâmetros (isto é, o valor do índice "pNum" é 1), onde pNum é um índice para indicar os dados com relação ao número de parâmetros da paralaxe.
[0063] Tal comutação para o número de parâmetros da paralaxe é executada para cada bloco (como uma unidade) tendo pixels NxN em ambos os eixos X e Y, obtidos por divisão de cada imagem em blocos. Isto é, para cada bloco NxN, um (pNum=0) ou quatro parâmetros (pNum=1) são codificados como dados da paralaxe.
[0064] Mediante as condições acima, a operação de codificação será explanada de acordo com o fluxograma da figura 4.
[0065] Primeiro, uma imagem de câmera C é captada na parte de entrada de imagem 101 (vide etapa S101), onde imagens decodificadas, que pertencem às câmeras A e B e têm o mesmo tempo de exposição, foram armazenadas na memória de imagem de referência 103 via a parte de entrada de imagem de referência 102.
[0066] No presente fluxograma, "blk" é um índice que indica cada um dos blocos NxN obtidos por divisão da imagem relevante, e "maxBlk" indica o número total de blocos definidos em cada imagem.
[0067] Depois do índice blk para cada bloco NxN ser inicializado para zero (vide etapa S102), as etapas seguintes (S103 a S116) são repetidamente aplicadas a cada bloco NxN enquanto "1" é adicionado ao índice blk (vide a etapa S115), até o índice blk alcançar o número total maxBlk de blocos (vide etapa S116).
[0068] Primeiro, na parte de ajuste de número de parâmetro da paralaxe 104, dados de um bloco-alvo a ser codificado (na imagem C), que correspondem ao índice blk, são lidos, e imagens de referência correspondentes às câmeras A e B são lidas da memória de imagem de referência 103. Também na parte de ajuste de número de parâmetro da paralaxe 104, um processo de busca da paralaxe é executado para cada um dos casos pNum=0 e pNum=1 (vide etapas S104 a S106).
[0069] A busca da paralaxe é executada de uma maneira tal que um custo de taxa de distorção o "custo" é minimizado baseado em (i) a soma total "SAD" dos valores absolutos de prognósticos residuais no bloco NxN relevante, que são obtidos por compensação da paralaxe, e (ii) um valor estimado Rdisp da quantidade de códigos designados para os dados da paralaxe. Aqui, o "custo" é calculado pela seguinte fórmula: Custo = SAD + XRdisp (1) onde À é um multiplicador de Lagrange indefinido, e é um valor predeterminado. Além disso, de modo a computar Rdisp, os dados da paralaxe são submetidos à codificação de comprimento variável de modo a computar a quantidade relevante de códigos.
[0070] Para cada um dos casos pNum=0 e pNum=1, o pCusto de valor mínimo de "custo" e dados da paralaxe para adquirir pCusto são computados, e dos dados da paralaxe que correspondem ao pCusto menor é determinado para ser usado para codificação (vide etapas S107aS110).
[0071] No fluxograma da figura 4, "minPCusto" é uma variável para armazenar o valor mínimo de pCusto, e é ajustado para "maxPCusto" (isto é, de modo a ser inicializado) que é um valor arbitrário maior do que o valor máximo possível de pCusto quando o bloco "blk" é processado.
[0072] Quando pNum=0, o processo a seguir é executado na etapa 105.
[0073] Isto é, a busca da paralaxe é executada em uma faixa predeterminada. No arranjo da câmera da presente invenção, quando está seguindo a sujeição da geometria Epipolar, a paralaxe da câmera A com respeito ao pixel (x, y) da câmera C é (x+dx, y) onde dx>0, e a paralaxe correspondente da câmera B é (x+dx, y). Aqui, no sistema coordenado no plano da imagem tendo pixels Ixl nas direções horizontal e vertical, o pixel superior esquerdo é definido como (0,0), o pixel superior direito é definido como (1-1,0), o pixel inferior esquerdo é definido como (0,1-1). Na presente modalidade, a faixa para a busca é dx=0 para P. Por conseguinte, SAD[dx] é computado dentro da faixa de "dx=0 para P" pela seguinte fórmula: SAD[dx] = Σ, ABS(DECA [x+i+dx, y+j]/2 + DECB [x+i+dx, y+j]/2 - IMGC [x+i, y+j]) (2) onde Zi é a soma total relevante quando i=0 para N-1, e Zj é a soma total relevante quando j=0 para N-1. "ABSQ" indica para computar o valor absoluto do elemento no parêntesis. "DECA[X,Y]" e "DECB[x,y]"respectivamente indicam valores de brilho do pixel (x,y) em cada imagem decodificada de câmeras A e B. "IMGc[x,y]" indica o valor de brilho do pixel (x,y) na imagem original da câmera C. Aqui (x,y) indica as coordenadas do pixel superior esquerdo no bloco relevante NxN no plano da imagem.
[0074] Além disso, o valor estimado RdisP[dx] da quantidade de código designado para os dados da paralaxe (quando a paralaxe é dx) é computado, e o custo da taxa de distorção "custo[dx]" para o dx da paralaxe é computado usando a formula acima (1). A paralaxe cujo custo minimizado [dx] é definido como "bestDispNumO", e o custo correspondente é definido como "pCusto".
[0075] A seguir, depois do "minPCusto" ser ajustado para pCusto, e "bestPnum" para armazenar o pNum ótimo é ajustado para 0, a operação é deslocada para o processo executado quando pNum=1.
[0076] Quando pNum=1, o processo seguinte é executado na etapa 106.
[0077] Isto é, a sujeição da geometria Epipolar não é considerada quando pNum=1, e uma busca da paralaxe bidimensional é executada. Mais especificamente, as faixas respectivas para busca no eixo X para as câmeras A e B são definidas como "dx,A, dx,B = -P a P" (isto é, a faixa "-P para P" para cada de dx,A e dx,β), e as respectivas faixas para busca no eixo Y para as câmeras A e B são definidas como "dy,A, dy,B = -P a P" (isto é, a faixa "-P para P" para cada de dy,A, dy,B). Para toda combinação para (dx,A, dxB, dy,A) dy,B), o seguinte SAD[dx.A, dx,B, dy,A, dy,B] é computado: SAD[dx,A, dx,B, dy,A> dy>B] = Σ, Σ,ABS(DECA[x+i+dx.A, y+j+dy,A]/2 + DECB[x+i+dx.B, y+j+dy>B]/2 - IMGc[x+i, y+j]) (3)
[0078] Além disso, o valor estimado RdiSp[dx.A, dxB, dyA, dy,B] da quantidade de código designada para os dados da paralaxe (quando a paralaxe é (dx,A, dx,B, dy,A, dy,β)) é computado, e o custo da taxa de distorção "custo[dx,A, dx,B, dy,A, dy,B]" para a paralaxe é computado usando a fórmula acima (1). A paralaxe cujo custo minimizado [dx.A, dx,B, dy,A, dy.e] é definido como "melhorDispNuml", e o custo correspondente é definido como "pCusto". Se o pCusto < minPcusto (vide a etapa S107), o minPcusto é ajustado para pCusto, e bestPNum, para o que o pNum ótimo é armazenado, é ajustado para 1 (vide a etapa S108).
[0079] A seguir, na parte de codificação de dados de número do parâmetro de paralaxe 105, o bestPNum é submetido a codificação de comprimento variável (vide etapa S111). Adicionalmente, na parte de codificação de dados da paralaxe 106, os dados da paralaxe são codificados. Quando o bestPNum=0, os dados dx são submetidos à codificação de comprimento variável. Quando bestPNum=1, os dados dx,A, dx,B, dy,A, dy,B são submetidos à codificação de comprimento variável. Finalmente, na parte de codificação do prognóstico residual 107, o prognóstico residual é codificado (vide etapas S112 a S114).
[0080] A figura 5 mostra um aparelho de decodificação de vídeo usado na primeira modalidade. O aparelho de decodificação de vídeo 200 inclui uma parte de decodificação de dados de número de parâmetro da paralaxe 201 para decodificar os dados do número de parâmetros da paralaxe (isto é, dados de número de parâmetro da paralaxe); uma parte de decodificação de dados da paralaxe 202 para decodificar os dados da paralaxe que correspondem aos dados de número de parâmetro da paralaxe; uma parte de decodificação de prognóstico residual 203 para decodificar o prognóstico residual; uma parte de compensação da paralaxe 204; e uma memória de imagem de referência 205.
[0081] A figura 6 é um fluxograma de decodificação da presente modalidade. Esse fluxograma mostra a operação para decodificar uma estrutura de câmera C, e será explanado em detalhes abaixo.
[0082] Depois o índice "blk" para cada bloco NxN é inicializado para ser "0" (vide etapa S201), as etapas seguintes S202 a S208 são repetidas para cada bloco NxN na relevante uma estrutura (o número de blocos em uma estrutura é "maxBlk"), a uma estrutura da câmera C é decodificada. Aqui, as estruturas que têm o mesmo tempo das câmeras A e B já foram decodificadas, e as imagens decodificadas foram armazenadas na memória de imagem de referência 205.
[0083] Primeiro, a parte de decodificação de dados de número de parâmetro da paralaxe 201 decodifica os dados de número do parâmetro da paralaxe "bestPNum" (vide etapa S202). De acordo com o valor do bestPNum (vide etapa S203), o seguinte processo é executado.
[0084] Quando o bestPNum=0, na parte de decodificação de dados da paralaxe 202, os dados da paralaxe dx são decodificados. Então, na parte de compensação da paralaxe 204, o bestPNum de dados do número do parâmetro da paralaxe e os dados da paralaxe dx são captados, e os blocos NxN de câmeras A e B, que correspondem aos dados da paralaxe dx, são também captados da memória de imagem de referência 205. Quando a posição de cada pixel no bloco-alvo NxN (para codificação) é indicado pela forma (x,y), uma imagem prognosticada PRED[x+i, y+j] é gerada pela seguinte forma (vide etapa S204): PRED[x+i, y+j] = DECA[x+i+dX) y+j]/2 + DECB[x+i+dx, y+j]/2 (4) onde i=0, 1, ..., N-1, ej=O, 1, ..., N-1.
[0085] Quando o bestPNum=1, na parte de decodificação de dados da paralaxe 202, os dados da paralaxe (dx,A) dxB, dyA, dy,B) são decodificados. Então, na parte de compensação da paralaxe 204, o bestPNum de dados do número do parâmetro da paralaxe e os dados da paralaxe (dx,A, dxB, dy,A, dy,B) são captados, e os blocos NxN das câmeras A e B, que correspondem aos dados da paralaxe (dxA, dxB, dy,A, dy β), são também captados da memória de imagem de referência 205. Quando a posição de cada pixel no bloco-alvo NxN (para codificar) é indicada pela forma (x,y), uma imagem prognosticada PRED[x+i, y+j] é gerada pela seguinte fórmula (vide etapa S205): PRED[x+i, y+j] = DECA[x+i+dXjA, y+j+dy>A]/2 + DECB[x+i+dXjB, y+j+dy,B]/2 (5) onde i=0, 1, N-1, ej=O, 1, N-1.
[0086] Depois, a parte de decodificação de prognóstico residual 203, em que o prognóstico residual codificado foi captado, um bloco de prognóstico residual de NxN "RES[x+i, y+j]" é decodificado. O bloco de prognóstico residual é captado na parte de compensação da paralaxe 204, e a soma do bloco de prognóstico residual e a imagem prognosticada são computadas pela seguinte fórmula, de modo a obter uma imagem decodificada DECc[x+i, y+j] (vide etapa S206): DECctx+i, y+j] = RES[x+i, y+j] + PRED[x+i, y+j] (6)
[0087] O processo acima é repetidamente executado enquanto "i" é adicionado ao índice blk (vide etapa S207), até o índice blk alcançar o número maxBlk de blocos em uma estrutura, obtendo dessa maneira uma imagem decodificada da câmera C.
Segunda Modalidade
[0088] Uma segunda modalidade será explanada abaixo.
[0089] Na presente modalidade, como mostrado pelas relações de referência entre as câmeras na figura 7, imagens de vídeo de múltiplos pontos de vista são codificados, em que uma imagem de vídeo da câmera C é codificada pelo uso de imagens decodificadas das câmeras A, B, D e E como imagens de referência.
[0090] Na primeira modalidade acima descrita, cada imagem da câmera C é codificada somente pelo uso de compensação da paralaxe. No entanto, na presente modalidade, a codificação é executada pela execução, de maneira comutável, de uma compensação de movimento e compensação da paralaxe para cada bloco como uma unidade. As setas da figura 7 indicam relações de referência quando é executada compensação de movimento ou compensação da paralaxe.
[0091] Na compensação da paralaxe, as imagens prognosticadas são geradas por uma pluralidade de pares selecionados de câmeras A, B, D e E (aqui, três pares de "A e B", "A e D", e "B e E"). O método de gerar cada imagem prognosticada é similar à primeira modalidade, isto é, a imagem prognosticada é gerada usando uma média dos valores de pixel de pontos correspondentes entre as duas câmeras relevantes.
[0092] Similares à primeira modalidade, na presente modalidade, os pontos de vista das cinco câmeras se alinham em uma linha reta em intervalos regulares, e os eixos óticos das câmeras são perpendiculares a essa linha reta. Isto é, as cinco câmeras têm as relações como mostradas na figura 3, e os seus eixos óticos são paralelos uns aos outros.
[0093] A figura 8 é um diagrama mostrando a estrutura de um aparelho de codificação de vídeo da segunda modalidade.
[0094] O aparelho de codificação de vídeo 300 inclui uma parte de entrada de imagem 301 em que cada imagem original da câmera C é captada; uma parte de entrada de imagem de referência 302 em que as imagens decodificadas das câmeras A, B, D e F são captadas; uma memória de imagem de referência 303 para armazenar cada imagem de referência; uma parte de compensação da paralaxe 304 para executar compensação da paralaxe, uma parte de compensação de movimento 305 para executar compensação de movimento, uma parte de ajuste de imagem de referência 306, uma parte de codificação do índice da imagem de referência 307, uma parte de codificação de dados de movimento 308, uma parte de codificação de dados da paralaxe 309, uma parte de codificação de prognóstico residual 310, e uma parte de decodificação local 311.
[0095] A figura 9 é um fluxograma de codificação executada na presente modalidade. A figura 10 é um fluxograma detalhado da etapa S304 na figura 9.
[0096] Os fluxogramas mostram uma operação executada quando uma imagem da câmera C é codificada, e a codificação do vídeo é executada por repetição da operação. Na presente modalidade, é executada a codificação por execução de comutação adaptável entre os seguintes processos: (i) compensação de movimento usando uma imagem decodificada passada da câmera C: refldx=0,1 (ii) compensação da paralaxe usando imagens de referência das câmeras A e B (pNum= 0): refldx=2 (iii) compensação da paralaxe usando imagens de referência das câmeras A e B (pNum= 1): refldx=3 (iv) compensação da paralaxe usando imagens de referência das câmeras A e D (pNum= 0): refldx=4 (v) compensação da paralaxe usando imagens de referência das câmeras A e D (pNum= 1): refldx=5 (vi) compensação da paralaxe usando imagens de referência das câmeras B e E (pNum= 0): refldx=6 (vii) compensação da paralaxe usando imagens de referência das câmeras B e E (pNum= 1): refldx=7 em que "refldx" é um índice de imagem de referência.
[0097] Com respeito à "refldx=O, 1", "refldx=O" indica uma imagem decodificada (da câmera C) que é a uma estrutura antes da presente estrutura, e "refldx=1" indica uma imagem decodificada (da câmera C) que é a estrutura dois antes da presente estrutura.
[0098] Na presente modalidade, em codificação, o índice de imagem de referência, que corresponde ao método e à imagem de referência usados para cada bloco, é codificado, e na decodificação, os valores de pixel de cada bloco são decodificados usando o índice de imagem de referência.
[0099] A designação de valor acima (i) a (vii) do índice de imagem de referência é usada de modo a codificar a imagem "C" na e depois da terceira estrutura.
[00100] Para a primeira estrutura, como não existe imagem decodificada da câmera C, nenhum índice de imagem de referência pode ser designado para compensação de movimento, e um valor menor do que o valor designado acima por 2 é designado para cada caso ((iii) a (vii)) de compensação da paralaxe (por exemplo, para "compensação da paralaxe usando imagens de referência de câmeras A e B (pNum= 0)", refldx é ajustado para 0 pela designação do valor do índice da imagem de referência).
[00101] Para a segunda estrutura, como somente "refldx= 0" é eficaz para a compensação de movimento, um valor menor do que o valor designado acima por 1 é designado para cada caso ((iii) a (vii)) de compensação da paralaxe (por exemplo, para "a compensação da paralaxe usando imagens de referência de câmeras A e B (pNum= 0)", refldx é ajustado para 1 pela designação do valor do índice da imagem de referência).
[00102] Mediante as condições acima descritas, a operação de codificação será explanada com referência ao fluxograma da figura 9, em que a presente operação é aplicada à câmera C, na e depois da terceira estrutura.
[00103] Primeiro, uma imagem da câmera C é captada na parte de entrada de imagem 301 (vide etapa S301), onde as imagens decodificadas, que pertencem às câmeras A, B, D e E têm o mesmo tempo de exposição, foram armazenadas na memória de imagem de referência 303 via a parte de entrada de imagem de referência 302. Além disso, as imagens decodificadas da câmera C, que são de uma estrutura e duas estruturas antes da presente estrutura e foram decodificadas pela parte de decodificação local 311, foram captadas na memória de imagem de referência 303.
[00104] No presente fluxograma, "blk" é um índice que indica cada um dos blocos NxN obtidos pela divisão da imagem relevante, e "maxBlk" indica o número total de blocos definido em cada imagem. Depois do índice blk para cada bloco NxN ser inicializado para zero (vide etapa S302), as seguintes etapas (S303 a S312) são repetidamente aplicadas a cada bloco NxN enquanto "1" é adicionado ao índice blk (vide etapa S311), até o índice blk alcançar o número total maxBlk de blocos (vide etapa S312).
[00105] Primeiro, o índice de imagem de referência "refldx" é inicializado para ter um valor de "0", e uma variável "minRefCusto" para armazenar o valor mínimo de um valor de custo "refCusto" ser inicializada para ter um valor arbitrário "maxRefCusto", que é maior do que o valor máximo possível de resCusto quando processando o bloco "blk" (vide etapa S303).
[00106] Em cada bloco NxN indicado pelo índice "blk", um processo de prognóstico correspondente ao índice de imagem de referência relevante "refldx" é executado (vide etapa S304). No processo de prognóstico, o valor de custo refCusto correspondente ao índice de referência relevante "refldx" é computado, e o índice de imagem de referência "refldx" correspondente ao refCusto mínimo é usado para codificar o bloco NxN presente (vide etapas S305 e S306).
[00107] Abaixo, o processo correspondente a cada índice de imagem de referência "refldx" na etapa S304 será explanado com referência ao fluxograma da figura 10. No seguinte, é executada a compensação de movimento ou a compensação da paralaxe. Em qualquer caso, os dados de movimento ou da paralaxe são obtidos por minimização do "custo" que é computado pela fórmula a seguir: Custo = SAD + ÀRdisp (7) onde Rvec é um valor estimado da quantidade de códigos designados aos dados de movimento relevante ou dados da paralaxe, e SAD é a soma total dos valores absolutos de resíduos de prognóstico.
[00108] Quando refldx é 2 ou maior, ele corresponde à compensação da paralaxe (vide etapa S3041). Por conseguinte, as imagens decodificadas de duas câmeras correspondentes ao refldx são lidas como imagens de referência pela parte de compensação da paralaxe 304, de modo a executar compensação da paralaxe.
[00109] Também quando refldx é 2 ou maior, ele tem dados do número de parâmetro correspondentes pNum, que é 0 ou 1. Dessa maneira, o processo de compensação da paralaxe designado para pNum=0 ou pNum=1 é executado similar à primeira modalidade.
[00110] Isto é, quando o número de parâmetros da paralaxe (isto é, pNum) é 1 (vide etapa S3042), a paralaxe na linha Epipolar relevante é buscada por cerca de duas imagens de referência correspondentes ao índice de imagem de referência "refldx", de modo a minimizar o custo da taxa de distorção, e o valor do custo mínimo é armazenado como "refCusto" (vide etapa S3043).
[00111] Quando os dados do número de parâmetro (pNum) não é 1 (vide etapa S3042), a paralaxe no plano de imagem relevante é buscada para cerca de duas imagens de referência correspondentes ao índice de imagem de referência "refldx", de modo a minimizar o custo da taxa de distorção, e o valor do custo mínimo é armazenado como "refCusto" (vide etapa S3044).
[00112] Em cada das etapas acima S3043 e S3044, o refCusto é finalmente determinado por adição de uma quantidade estimada de códigos para codificação do índice de imagem de referência "refldx" para o valor mínimo computado (refCusto) do custo.
[00113] Quando refldx é 0 ou 1, ele corresponde à compensação do movimento, e a operação procede para a etapa S3045. Nesse caso, uma imagem decodificada da câmera C correspondente ao refldx relevante é lida como a imagem de referência pela parte de compensação de movimento 305, de modo a executar compensação de movimento. Especificamente, a compensação de movimento é executada por minimização do "custo", que é computado pela fórmula (7). Nesse caso, refCusto é determinado por adição de uma quantidade estimada de códigos para a codificação do índice da imagem de referência "refldx" para o valor mínimo computado de "custo" (vide etapa S3045).
[00114] Se o refCusto computado é menor do que "minRefCusto" para armazenar o valor mínimo presente (vide etapa S305), o minRefCusto é ajustado para refCusto, e o refldx correspondente é armazenado como "melhorRefldx" (vide etapa S306). O processo acima é repetido enquanto "1" é adicionado a refldx, até refldx alcançar "melhorRefNum" que é o número total de valores de índice (vide etapas S307 e S308).
[00115] Depois a operação acima descrita é aplicada a cada imagem de referência, cujo índice da imagem de referência minimizado refCusto (isto é, melhorRefldx) é obtido pela parte de ajuste de imagem de referência 306, de modo que o índice de imagem de referência usado para codificar é determinado.
[00116] A seguir, melhorRefldx é codificado pela parte de codificação do índice da imagem de referência 307 (vide etapa S309), os dados de movimento ou da paralaxe relevantes são codificados pela parte de codificação de dados de movimento 308 ou pela parte de codificação de dados da paralaxe 309, e o prognóstico residual é codificado pela parte de codificação de prognóstico residual 310 (vide etapa S310).
[00117] Então, 1 é adicionado ao índice "blk" (vide etapa S311), e a operação acima é repetida até "blk" alcançar o número total maxBlk de blocos (vide etapa S312), codificando dessa maneira uma estrutura da câmera C.
[00118] A figura 11 mostra um aparelho de decodificação de vídeo usado na segunda modalidade. O aparelho de decodificação de vídeo 400 inclui uma parte de decodificação do índice de imagem de referência 401 para decodificar o índice de imagem de referência; uma parte de decodificação de dados da paralaxe 402 para decodificar os dados da paralaxe; uma parte de decodificação de dados de movimento 403 para decodificar os dados de movimento; uma parte de decodificação de prognóstico residual 404 para decodificar o prognóstico residual; uma memória de imagem de referência 405 para armazenar cada imagem de referência; uma parte de compensação da paralaxe 406 para executar a compensação da paralaxe; e uma parte de compensação de movimento 407 para executar compensação de movimento.
[00119] A figura 12 é um fluxograma de decodificação da presente modalidade. Esse fluxograma mostra a operação para decodificar uma estrutura da câmera C, e será explanado em detalhes abaixo.
[00120] Depois o índice blk para cada bloco NxN é inicializado para "0" (vide etapa S401), as seguintes etapas S402 a S410 são repetidas para cada bloco NxN enquanto "1" é adicionado ao índice "blk" (vide etapa S409), até o blk alcançar o número total maxBlk de blocos (vide etapa S410). Dessa maneira, uma estrutura de câmera C é decodificada. Aqui, (i) imagens decodificadas das estruturas que têm o mesmo tempo de câmeras A, B, E e D, e (ii) imagens decodificadas de estruturas passadas, que são respectivamente uma estrutura e duas estruturas antes da presente estrutura, de câmera C, já foram armazenadas na memória de imagem de referência 405.
[00121] Primeiro, a parte de decodificação do índice de imagem de referência 401 decodifica o índice de imagem de referência "melhorRefldx" (vide etapa S402). De acordo com o valor de melhorRefldx (vide etapas S403 e S404), o processo seguinte é executado.
[00122] Quando o melhorRefldx= 0 ou 1, ele é um índice de imagem de referência correspondente à compensação de movimento, e os dados de movimento são decodificados pela parte de decodificação de dados de movimento 403. Então a imagem de referência correspondente ao melhorRefldx (0 ou 1) é lido pela parte de compensação de movimento 407, de modo a gerar uma imagem prognosticada (vide etapa S407).
[00123] A parte de decodificação de prognóstico residual 404 decodifica o prognóstico residual, e a parte de compensação de movimento 407 adiciona a imagem prognosticada ao prognóstico residual (vide etapa S408), gerando desse modo a imagem decodificada do bloco NxN relevante.
[00124] Quando o melhorRefldx é 2 ou maior, ele é um índice de imagem de referência que corresponde à compensação da paralaxe, e as imagens de referência pertencendo a duas câmeras, que correspondem ao índice de imagem de referência melhorRefldx, são lidas, e a decodificação é executada por meio de compensação da paralaxe.
[00125] Nesse caso, como o valor dos dados de número do parâmetro da paralaxe pNum é designado para o índice de imagem de referência melhorRefldx, o processo correspondente a pNum é executado. O processo de compensação da paralaxe é similar à primeira modalidade (vide etapas S404 a S406). A parte de decodificação de prognóstico residual 404 decodifica o prognóstico residual, e a parte de compensação de movimento 407 adiciona a imagem prognosticada ao prognóstico residual (vide etapa S408), gerando desse modo a imagem decodificada do bloco NxN relevante.
[00126] Então "1" é adicionado ao índice "blk" (vide etapa S409), e a operação acima é repetida até blk alcançar o número total maxBlk de blocos (vide etapa S410), decodificando desse modo uma estrutura de câmera C.
[00127] A acima descrita correspondência entre o índice de imagem de referência e os "dados para indicar qual da compensação de movimento e compensação da paralaxe é usada, a imagem de referência, e os dados de número do parâmetro da paralaxe" são justo um exemplo, e tal correspondência é uma matéria de projeto que pode ser arbitrariamente determinada quando a presente invenção é implementada.
[00128] Os acima descritos processos de codificação e de decodificação de vídeo podem ser implementados pelo uso de um computador e um programa de software. Tal programa pode ser fornecido através do seu armazenamento em um meio de armazenagem legível por computador, ou através de uma rede.
APLICABILIDADE INDUSTRIAL
[00129] Na compensação da paralaxe usada para codificação de imagens de vídeo de múltiplos pontos de vista, (i) se a eficiência de prognóstico é degradada quando o prognóstico é executado de acordo com a sujeição geométrica Epipolar, devido a um erro de medição nos parâmetros da câmera ou uma distorção de codificação em cada imagem de referência, então o número de parâmetros para os dados da paralaxe é aumentado de modo a executar um prognóstico tendo um alto grau de liberdade, e (ii) se a eficiência de prognóstico é suficiente mesmo quando o prognóstico é executado de acordo com a sujeição de geometria Epipolar, então é executado um prognóstico que representa a paralaxe usando um parâmetro. Tal seleção pode ser, de modo adaptativo, controlada de acordo com a característica de cada estrutura ou bloco (como uma unidade) na imagem decodificada relevante. Por conseguinte, uma maior eficiência de codificação pode ser obtida em comparação com as técnicas convencionais.