[go: up one dir, main page]

BRPI0716814A2 - Método de codificação de imagem, e método de decodificação, aparelhos para isso, aparelho de decodificação de imagem, programas para isso, e mídias de armazenamento para armazenar os programas - Google Patents

Método de codificação de imagem, e método de decodificação, aparelhos para isso, aparelho de decodificação de imagem, programas para isso, e mídias de armazenamento para armazenar os programas Download PDF

Info

Publication number
BRPI0716814A2
BRPI0716814A2 BRPI0716814-4A2A BRPI0716814A BRPI0716814A2 BR PI0716814 A2 BRPI0716814 A2 BR PI0716814A2 BR PI0716814 A BRPI0716814 A BR PI0716814A BR PI0716814 A2 BRPI0716814 A2 BR PI0716814A2
Authority
BR
Brazil
Prior art keywords
data
image
parallax
viewpoint
decoding
Prior art date
Application number
BRPI0716814-4A2A
Other languages
English (en)
Inventor
Masaki Kitahara
Shinya Shimizu
Kazuto Kamikura
Yoshiyuki Yashima
Original Assignee
Nippon Telegraph & Telephone
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph & Telephone filed Critical Nippon Telegraph & Telephone
Publication of BRPI0716814A2 publication Critical patent/BRPI0716814A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Description

Relatório Descritivo da Patente de Invenção para "MÉTODO DE CODIFICAÇÃO DE IMAGEM E MÉTODO DE DECODIFICAÇÃO, APARE- LHOS PARA ISSO, APARELHO DE DECODIFICAÇÃO DE IMAGEM, PROGRAMAS PARA ISSO, E MÍDIAS DE ARMAZENAMENTO PARA ARMAZENAR OS PROGRAMAS". CAMPO TÉCNICO
A presente invenção refere-se a técnicas de codificação e deco- dificação de imagens de múltiplos pontos de visualização e imagens de ví- deo de múltiplos pontos de visualização. É reivindicado prioridade para o pedido de Patente Japonês No.
2006-254023, depositado em 20 de setembro de 2006, cujo conteúdo está incorporado neste documento por meio desta referência. TÉCNICA ANTERIOR
Imagens de múltiplos pontos de visualização são imagens obti- das ao fotografar o mesmo objeto e plano de fundo do mesmo pelo uso de uma pluralidade de câmeras, e imagens de vídeo de múltiplos pontos de vi- sualização são imagens de vídeo das imagens de múltiplos pontos de visua- lização. A seguir, uma imagem de vídeo obtida por meio de uma única câ- mera é chamada de "imagem de vídeo bidimensional", e um conjunto de múltiplas imagens de vídeo bidimensionais obtido por fotografar o mesmo objeto e plano de fundo do mesmo é chamado de "imagem de vídeo de múl- tiplos pontos de visualização".
Como existe uma forte correlação entre imagens de vídeo bidi- mensionais, a eficiência de codificação das mesmas é aperfeiçoada pelo uso de uma correlação como esta. Por outro lado, quando as câmeras para obter imagens de múltiplos pontos de visualização ou imagens de vídeo de múlti- plos pontos de visualização são sincronizadas umas com as outras, as ima- gens (das câmeras) correspondendo ao mesmo tempo capturam o objeto e plano de fundo do mesmo totalmente no mesmo estado a partir de diferentes posições, de maneira que existe uma forte correlação entre as câmeras. A eficiência de codificação das imagens de múltiplos pontos de visualização ou das imagens de vídeo de múltiplos pontos de visualização pode ser aperfei- çoada usando esta correlação.
Primeiramente, técnicas convencionais se relacionando com a codificação de imagens de vídeo bidimensionais serão mostradas.
Em muitos métodos conhecidos de codificar imagens de vídeo bidimensionais, tais como H.264, MPEG-2, MPEG-4 (os quais são padrões internacionais de codificação) e outros mais, é executada codificação alta- mente eficiente por meio de compensação de movimento, transformação ortogonal, quantificação, codificação de entropia, ou coisa parecida. Uma técnica chamada de "compensação de movimento" é um método que usa uma correlação temporal entre quadros.
O Documento Não de Patente 1 revela técnicas detalhadas de compensação de movimento usadas no H.264. Explicações gerais das mesmas se seguem.
De acordo com a compensação de movimento no H.264, um quadro alvo a codificar é dividido em blocos de qualquer tamanho. Para cada bloco, um bloco já codificado chamado de "quadro de referência" é selecio- nado, e uma imagem é predita usando dados de vetor (chamado de "vetor de movimento") que indicam um ponto correspondente. A divisão de bloco apropriada tem 7 possíveis formas tais como 16x16 (pixels), 16x8, 8x16, 8x8, 8x4, 4x8 e 4x4, de maneira que predição de imagem pode ser executa- da em consideração a um recurso característico na posição e tamanho do objeto imageado pelo uso de uma unidade fina. Portanto, um residual de um alvo de codificação, o qual é indicado pela diferença entre uma imagem pre- dita e a imagem original, é reduzido, implementando assim um alto nível de eficiência de codificação.
A seguir, um método de codificação convencional de imagens de múltiplos pontos de visualização ou imagens de vídeo de múltiplos pontos de visualização será explicado.
A diferença entre a codificação de imagens de múltiplos pontos de visualização e a codificação de imagens de vídeo de múltiplos pontos de visualização é que imagens de vídeo de múltiplos pontos de visualização têm, não somente uma correlação entre câmeras, mas também uma correia- ção temporal. Entretanto, o mesmo método usando a correlação entre câme- ras pode ser aplicado tanto para as imagens de múltiplos pontos de visuali- zação quanto para as imagens de vídeo de múltiplos pontos de visualização. Portanto, métodos usados na codificação de imagens de vídeo de múltiplos pontos de visualização serão explicados a seguir.
Como a codificação de imagens de vídeo de múltiplos pontos de visualização usa uma correlação entre câmeras, as imagens de vídeo de múltiplos pontos de visualização são codificadas de forma altamente eficien- te em um método conhecido que usa "compensação de paralaxe (ou dispa- ridade)" no qual compensação de movimento é aplicada às imagens obtidas por meio de diferentes câmeras ao mesmo tempo. Aqui, "paralaxe" (ou dis- paridade) é a diferença entre posições, para as quais o mesmo ponto em um objeto imageado é projetado, nos planos de imagem de câmeras que são dispostas em diferentes posições. A figura 21 é uma vista esquemática mostrando o conceito de
paralaxe gerado entre tais câmeras. Na vista esquemática da figura 21, pla- nos de imagem de câmeras, cujos eixos óticos são paralelos uns com os outros, são vistos abaixo (verticalmente) do lado superior dos mesmos. De uma maneira geral, tais pontos, para os quais o mesmo ponto em um objeto imageado é projetado, nos planos de imagem de diferentes câmeras, são chamados de "pontos correspondentes".
Em compensação de paralaxe, com base na relação de corres- pondência indicada anteriormente, cada valor de pixel de um quadro alvo a codificar é predito usando um quadro de referência, e o residual de predição pertinente e dados de paralaxe que indicam a relação de correspondência são codificados.
Em muitos métodos, paralaxe é representada por um vetor em um plano de imagem. Por exemplo, o Documento Não de Patente 2 revela um método de executar compensação de paralaxe para cada bloco, onde paralaxe para cada bloco é representada por um vetor bidimensional, isto é, de dois parâmetros (componentes χ e y). Neste método, dados de paralaxe tendo dois parâmetros e um residual de predição são codificados. No Documento Não de Patente 3, parâmetros de câmera são usados para codificar, e o vetor de paralaxe é representado por meio de da- dos unidimensionais baseados em restrição de geometria epipolar, codifi- cando assim de forma eficiente dados preditos. A figura 22 é uma vista es- quemática mostrando o conceito da restrição de geometria epipolar.
De acordo com a restrição de geometria epipolar, para duas câ- meras (câmera A e câmera B), um ponto em uma das imagens que corres- ponde a um outro ponto na outra imagem é restringido em uma linha reta chamada de "linha epipolar". No método revelado no Documento Não de Patente 3, a fim de indicar a posição na linha epipolar, paralaxe para todos os quadros alvos a codificar é representada por um parâmetro tal como a distância da câmera, pela qual o quadro de referência é obtido, ao objeto imageado.
Documento Não de Patente 1: ITU-T Rec.H.264/ISO/IEC 11496- 10, "Editor's Proposed Draft Text Modifications for Joint Video Specification (ITU-T Rec.H.264/1SO/IEC 14496-10 AVC), Draft 7", Final Committee Draft1 Documento JVT-E022, pp. 10-13, e 62-68, setembro de 2002.
Documento Não de Patente 2: Hideaki Kimata e Masaki Kitaha- ra, "Preliminary results on multiple view video coding (3DAV)", documento M10976 MPEG Redmond Meeting, julho de 2004.
Documento Não de Patente 3: Shinya SHIMIZU, Masaki KITA- HARA, Kazuto KAMIKURA e Yoshiyuki YASHIMA, "Multi-view Video Coding based on 3-D Warping with Depth Map", no Proceedings of Picture Coding Symposium 2006, SS3-6, abril de 2006. REVELAÇÃO DA INVENÇÃO
Problema a ser Resolvido pela invenção
Nos métodos de codificação convencionais para imagens de ví- deo de múltiplos pontos de visualização, quando os parâmetros de câmera são conhecidos, compensação de paralaxe para todos os quadros alvos a codificar pode ser implementada por meio da restrição de geometria epipo- lar, isto é, somente pela codificação de dados unidimensionais tais como a distância da câmera ao objeto imageado para o quadro de referência, inde- pendente do número de câmeras. Desta maneira, é possível codificar de forma eficiente os dados de paralaxe.
Entretanto, como é difícil medir exatamente os parâmetros de câmera, eles têm alguns erros. Desta maneira, quando os dados de paralaxe baseados na restrição de geometria epipolar para o quadro de referência são computados a fim de executar de forma mais eficiente a compensação de paralaxe de todos os quadros alvos (a codificar) obtidos ao mesmo tem- po, os dados de paralaxe computados incluem erros nos parâmetros de câ- mera de todas as câmeras. Portanto, o erro de predição para compensação de paralaxe, a
qual é produzida quando um quadro alvo é selecionado, é afetado por um erro para uma outra câmera, e assim é degradado em comparação com o erro de predição produzido durante o uso de dados de paralaxe que são ob- tidos para o conjunto do quadro alvo pertinente e o quadro de referência. Considerando as circunstâncias mencionadas anteriormente, um
objetivo da presente invenção se relacionando com a codificação de ima- gens de vídeo de múltiplos pontos de visualização é implementar compen- sação de paralaxe precisa pelo uso de menos dados de paralaxe mesmo quando existe uma distorção de codificação do quadro de referência ou um erro de medição dos parâmetros de câmera, fornecendo assim uma eficiên- cia de codificação mais alta do que aquela obtida por métodos convencio- nais.
Meios para Resolver o Problema
Uma primeira modalidade do método de codificação de imagem de acordo com a presente invenção tem (i) uma etapa de determinar e codi- ficar dados de paralaxe global que provavelmente são dados de paralaxe corretos em consideração à restrição de geometria epipolar entre uma câme- ra de um ponto de visualização padrão, o qual é selecionado das imagens totais de múltiplos pontos de visualização, e imagens obtidas por todos os outros pontos de visualização; (ii) uma etapa de gerar dados de paralaxe de base para cada câmera como um ponto de visualização a não ser o ponto de visualização padrão, onde os dados de paralaxe de base provavelmente são dados de paralaxe corretos em consideração à restrição de geometria epipo- Iar entre a imagem da câmera pertinente e as imagens de todas as outras câmeras com base nos dados de paralaxe global e nos parâmetros de câ- mera; (iii) uma etapa de determinar e codificar dados de paralaxe de corre- ção usados para corrigir os dados de paralaxe de base, a fim de indicar da- dos de paralaxe entre a imagem da câmera pertinente e uma imagem de ponto de visualização de referência já codificada usada para compensação de paralaxe; e (iv) codificar a imagem da câmera pertinente pelo uso de da- dos de paralaxe obtidos pela correção dos dados de paralaxe de base por meio dos dados de paralaxe de correção.
Desta maneira, os dados de paralaxe de correção são designa- dos para a imagem alvo a codificar, somente em consideração a uma ima- gem (isto é, a imagem de ponto de visualização de referência) referida na compensação de paralaxe. Portanto, influência nos dados de paralaxe global por erros em todos os parâmetros de câmera ou por uma distorção de codifi- cação de um quadro de referência pode ser removida para cada câmera, implementando assim um alto nível de eficiência.
Além do mais, já que os dados de paralaxe global indicam dados de paralaxe geral como dados comumente aplicáveis, a quantidade de cor- reção aplicada aos dados de paralaxe de base é pequena, e assim a quanti- dade de codificação exigida para os dados de paralaxe de correção é pe- quena.
Isto é, em comparação com o caso de determinar e codificar da- dos de paralaxe para cada imagem alvo a codificar, a quantidade de codifi- cação exigida para uma parte comum pode ser reduzida, reduzindo assim a quantidade total de codificação.
Uma segunda modalidade do método de codificação de imagem de acordo com a presente invenção tem (i) uma etapa de determinar e codi- ficar dados de paralaxe global que provavelmente são dados de paralaxe corretos em consideração à restrição de geometria epipolar entre uma câme- ra de um ponto de visualização padrão, o qual é selecionado das imagens totais de múltiplos pontos de visualização, e imagens obtidas por todos os outros pontos de visualização, (ii) uma etapa de gerar dados de paralaxe de base para cada câmera como um ponto de visualização a não ser o ponto de visualização padrão, onde os dados de paralaxe de base provavelmente são dados de paralaxe corretos em consideração à restrição de geometria epipo- lar entre a imagem da câmera pertinente e as imagens de todas as outras câmeras com base nos dados de paralaxe global e nos parâmetros de câ- mera; (iii) uma etapa de determinar e codificar um vetor de paralaxe de cor- reção usado para corrigir um ponto correspondente fornecido usando os da- dos de paralaxe de base, a fim de indicar, para a imagem da câmera perti- nente, um ponto correspondente ideal (para compensação de paralaxe) em uma imagem de ponto de visualização de referência já codificada usada pa- ra a compensação de paralaxe; e (iv) codificar a imagem da câmera perti- nente enquanto executando a compensação de paralaxe pela correção do ponto correspondente (fornecido usando os dados de paralaxe de base) por meio do vetor de paralaxe de correção.
Desta maneira, o vetor de paralaxe de correção é designado pa- ra a imagem alvo a codificar, somente em consideração a uma imagem (isto é, a imagem de ponto de visualização de referência) referida na compensa- ção de paralaxe. Portanto, influência nos dados de paralaxe global por erros em todos os parâmetros de câmera ou por uma distorção de codificação de um quadro de referência pode ser removida para cada câmera, implemen- tando assim um alto nível de eficiência.
Além do mais, já que os dados de paralaxe global indicam dados de paralaxe geral como dados comumente aplicáveis, a quantidade de cor- reção aplicada a uma relação de correspondência definida pelos dados de paralaxe de base é pequena, e assim a quantidade de codificação exigida para os dados de paralaxe de correção é pequena.
Isto é, em comparação com o caso de determinar e codificar da- dos de paralaxe para cada imagem alvo a codificar, a quantidade de codifi- cação exigida para uma parte comum pode ser reduzida, reduzindo assim a quantidade total de codificação.
Na primeira modalidade, a fim de corrigir adicionalmente dados de ponto correspondente (isto é, um vetor de ponto correspondente) que são indicados por dados de paralaxe obtidos usando os dados de paralaxe de base e os dados de paralaxe de correção, uma etapa de determinar e codifi- car um vetor bidimensional de correção é fornecida adicionalmente.
Desta maneira, é possível corrigir uma discordância diminuta entre pontos correspondentes, a qual é causada por um erro nos parâmetros de câmera ou por uma distorção de lente de uma câmera usada para obter a imagem alvo a codificar, e que não pode ser representada com base na res- trição de geometria epipolar. Portanto, a eficiência de predição de compen- sação de paralaxe pode ser aperfeiçoada, implementando assim um alto nível de eficiência.
Ao contrário de um método convencional de executar a correção pertinente usando somente um vetor bidimensional, um erro causado pela restrição de geometria é removido usando os dados de paralaxe de corre- ção. Portanto, um vetor usado para a correção tem um tamanho muito pe- queno, e predição altamente precisa pode ser executada usando uma menor quantidade de codificação.
Para cada uma das modalidades descritas anteriormente, uma etapa de estabelecer uma divisão de área na imagem da câmera do ponto de visualização padrão, e uma etapa de codificar dados que indicam a divi- são de área pode ser fornecida, onde os dados de paralaxe global podem ser determinados e codificados para cada área dividida.
Desta maneira, dados de paralaxe, os quais variam de acordo com o objeto capturado na imagem, podem ser indicados exatamente, me- lhorando assim a precisão dos dados de paralaxe global. Portanto, é possí- vel reduzir a quantidade de codificação exigida para os dados usados para corrigir os dados de paralaxe de base, e implementar assim um alto nível de eficiência.
Se a imagem total do ponto de visualização padrão tiver sido submetida a uma divisão de área e cada área dividida tiver sido processada e codificada, então a divisão de área estabelecida para codificar a imagem do ponto de visualização padrão pode coincidir com a divisão de área que indica uma unidade usada para determinar os dados de paralaxe global, de maneira que os dados, os quais indicam a divisão de área estabelecida na imagem da câmera do ponto de visualização padrão, não são codificados repetidamente.
Além do mais, como a imagem de vídeo propriamente dita e os dados de paralaxe não têm características completamente correspondentes, áreas tendo as mesmas características para a imagem de vídeo podem não coincidir com áreas correspondentes tendo as mesmas características para os dados de paralaxe. Em um caso como este, pode ser preferível mudar ligeiramente a divisão de área para determinar os dados de paralaxe global de maneira que ela não coincida completamente com a divisão de área es- tabelecida para codificar a imagem do ponto de visualização padrão.
Neste caso, somente a diferença entre as divisões de área pode ser codificada a fim de reduzir a quantidade pertinente de codificação.
Além do mais, uma etapa de estabelecer uma divisão de área na imagem de uma câmera como um ponto de visualização alvo a codificar, e uma etapa de codificar dados que indicam a divisão de área pode ser forne- cida, onde os dados de paralaxe de correção, o vetor de paralaxe de corre- ção, ou o vetor de correção podem ser determinados e codificados para ca- da área dividida.
Desta maneira, dados de um ponto correspondente, os quais são usados na compensação de paralaxe e variam de acordo com o objeto capturado na imagem, podem ser indicados exatamente, melhorando assim a precisão de predição de imagem quando a compensação de paralaxe é executada. Portanto, é possível implementar um alto nível de eficiência.
Se a imagem total do ponto de visualização alvo for submetida a uma divisão de área e cada área dividida for processada e codificada, então a divisão de área para codificar a imagem pertinente pode coincidir com uma divisão de área que indica uma unidade usada para determinar dados de paralaxe, de maneira que é possível omitir codificação dos dados que indi- cam a unidade para determinar dados de paralaxe.
Além do mais, como a imagem de vídeo propriamente dita e os dados de paralaxe não têm características completamente correspondentes, áreas tendo as mesmas características para a imagem de vídeo podem não coincidir com áreas correspondentes tendo as mesmas características para os dados de paralaxe. Em um caso como este, pode ser preferível que a divisão de área estabelecida para codificar a imagem não coincida comple- tamente com a divisão de área que indica a unidade para estabelecer os dados de paralaxe, de maneira que elas diferem ligeiramente uma da outra. Neste caso, somente a diferença entre as divisões de área pode ser codifi- cada a fim de reduzir a quantidade pertinente de codificação.
Para cada uma das modalidades descritas anteriormente, uma etapa de selecionar a câmera referida na compensação de paralaxe e uma etapa de codificar um índice que indica a câmera selecionada podem ser fornecidas, onde os dados de paralaxe de correção, o vetor de paralaxe de correção, ou o vetor de correção, os quais são determinados para cada ima- gem alvo a codificar, podem ser estabelecidos para um valor mais adequado para a compensação de paralaxe, pelo uso de uma imagem já codificada da câmera indicada pelo índice acima.
Desta maneira, uma imagem não somente da câmera do ponto de visualização padrão, mas também de uma câmera próxima à câmera u- sada para obter a imagem alvo a codificar, pode ser a imagem de referência. Portanto, uma área onde nenhum ponto correspondente pode ser definido por causa de uma oclusão ou coisa parecida é pequena, implementando assim predição precisa. Isto é, é possível reduzir um residual (a ser codifica- do) de compensação de paralaxe, e assim implementar codificação eficiente.
Além do mais, os dados de paralaxe global e os dados de para- laxe de base da presente invenção não dependem de um objeto de referên- cia aos quais são referidos. Portanto, a quantidade de codificação exigida para codificar os dados de paralaxe de correção ou o vetor de correção pode ser reduzida para qualquer objeto de referência.
Se uma divisão de área for estabelecida durante a determinação de dados de paralaxe para a imagem alvo a codificar, então um alvo de refe- rência mais adequado para cada área dividida pode ser selecionado a fim de executar predição mais precisa e implementar codificação eficiente.
Para cada uma das modalidades descritas anteriormente, (i) uma etapa de determinar dados de paralaxe local com base na restrição de geometria epipolar antes de determinar os dados de paralaxe global, onde os dados de paralaxe local são dados de paralaxe para cada câmera, e (ii) uma etapa de gerar candidatos aos dados de paralaxe global, pelo uso dos dados de paralaxe local determinados para cada câmera e com base na res- trição de geometria epipolar, pode ser fornecida, onde, na etapa de determi- nar os dados de paralaxe global, uma média dos candidatos a dados de pa- ralaxe global obtida para uma única área pode ser determinada como os da- dos de paralaxe global designados para a área.
Desta maneira, os dados de paralaxe local, os quais devem ser dados de paralaxe mais adequados para cada câmera em compensação de paralaxe, são primeiramente computados, e os dados de paralaxe global são gerados usando os dados de paralaxe local.
Portanto, é possível determinar os dados de paralaxe global pa- ra minimizar dados de paralaxe que devem ser corrigidos em um processo executado mais tarde. Isto é, nenhum dado inútil é codificado, implementan- do assim codificação eficiente. Durante a determinação dos dados de paralaxe global a partir
dos candidatos a dados de paralaxe global, um candidato a dados de para- laxe global que aparece mais freqüentemente na área alvo pode ser selecio- nado (em vez de computar uma média) a fim de reduzir os dados de parala- xe que devem ser corrigidos em um processo executado mais tarde. Adicionalmente, uma etapa de determinar dados de paralaxe de
diferença de acordo com a diferença entre os dados de paralaxe local e os dados de paralaxe de base pode ser fornecida, onde, na etapa de estabele- cer uma divisão de área na imagem da câmera do ponto de visualização al- vo a codificar, uma divisão de área máxima pela qual os dados de paralaxe de diferença são quase constantes em cada área dividida pode ser estabe- lecida e, na etapa de determinar os dados de paralaxe de correção, os da- dos de paralaxe de correção podem ser determinados usando os dados de paralaxe de diferença na área pertinente.
Desta maneira, os dados de paralaxe global e os dados de para- laxe de correção podem ser computados por meio de uma única operação. Portanto, em comparação com o caso de computá-los individualmente (o que exige uma grande quantidade de computação), a quantidade de compu- tação pode ser reduzida.
Além do mais, se um tipo de divisão de área for limitado, uma dispersão dos dados de paralaxe de diferença pode ser computada para ca- da área dividida, e uma divisão de área pode ser selecionada com base no valor da dispersão, a fim de executar uma computação de alta velocidade para estabelecer a divisão de área.
Para cada uma das modalidades descritas anteriormente, na etapa de determinar os dados de paralaxe de base ou na etapa de determi- nar os dados de paralaxe global, continuidade em uma imagem antes de uma conversão, para a qual dados de paralaxe são fornecidos, pode ser u- sada para determinar dados de paralaxe contínua em uma imagem depois da conversão.
Por exemplo, em um caso de determinar dados de paralaxe para pixels que não são adjacentes uns aos outros, mas que eram adjacentes uns aos outros antes de uma conversão, dados de paralaxe designados para um pixel entre os dois pixels acima podem ser gerados por meio de interpolação usando dados de paralaxe (determinados depois da conversão) dos dois pixels.
Em um caso como este, o número de áreas para as quais os dados de paralaxe de base e os candidatos a paralaxe global são fornecidos aumenta, e dados que devem ser corrigidos podem ser reduzidos. Portanto, é possível reduzir a quantidade pertinente de codificação e implementar as- sim um alto nível de eficiência.
Além do mais, a continuidade pode ser julgada muito exatamen- te pelo uso não somente de uma relação de adjacência, mas também de dados de paralaxe que indicam dados tridimensionais. Portanto, é possível impedir um aumento nos dados que devem ser corrigidos, onde um aumento como este pode ser causado por gerar candidatos a dados de base ou a da- dos de paralaxe global errôneos.
Na codificação de imagem (incluindo imagem de vídeo) e deco- dificação de imagem correspondente descritas anteriormente da presente invenção, vários tipos de dados de paralaxe, dados para corrigir os dados de paralaxe, ou dados de divisão de área podem ser codificados em considera- ção a uma variação espacial ou temporal.
Tal como os vários tipos de dados de paralaxe, os dados para corrigir os dados de paralaxe, ou os dados de divisão de área dependem de uma imagem capturada, correlação na imagem ou correlação temporal é muito alta.
Portanto, pelo uso de tais características, a codificação pode ser executada pela remoção de redundância para os vários tipos de dados de paralaxe, os dados para corrigir os dados de paralaxe, ou para os dados de divisão de área. Portanto, a quantidade pertinente de codificação pode ser reduzida e um alto nível de eficiência pode ser implementado.
Além do mais, uma etapa de reduzir uma imagem já codificada do ponto de visualização padrão pode ser fornecida, onde, quando os dados de paralaxe global são determinados, a distância da câmera como o ponto de visualização padrão ao objeto imageado pode ser computada para a ima- gem reduzida gerada.
Em um caso como este, dados finos para a imagem pertinente podem ser removidos por causa da redução da imagem. Portanto, é possível remover um erro ou uma pequena variação nos dados de paralaxe, a qual pode ser causada por erros nos parâmetros de câmera. De acordo com os dados de paralaxe global tendo tais características, uma relação de corres- pondência geral entre as câmeras, a qual não é afetada, por exemplo, por erros nos parâmetros de câmera, pode ser obtida.
Portanto, é possível reduzir dados de paralaxe, os quais devem ser corrigidos de forma duplicada usando os dados de paralaxe de correção ou o vetor de correção, o qual é codificado para cada câmera, melhorando assim a eficiência de codificação total. Além do mais, usar a imagem reduzi- da diminui o número de pixels para os quais uma computação para determi- nar os dados de paralaxe pertinentes é aplicada, também reduzindo assim a quantidade de computação.
Durante a codificação (ou decodificação) de imagens de vídeo de múltiplos pontos de visualização, um conjunto de quadros pertencendo ao mesmo tempo pode ser considerado como imagens de múltiplos pontos de visualização, às quais o método de codificação de imagem (ou de decodifi- cação) da presente invenção pode ser aplicado.
Adicionalmente, para imagens de vídeo de múltiplos pontos de visualização, a imagem total pode ser codificada, não pelo uso do método da presente invenção, mas pela seleção, por exemplo, de um outro método tal como compensação de movimento que usa correlação temporal, para cada alvo a codificar, melhorando assim a eficiência de codificação. Efeito da Invenção
De acordo com a presente invenção, codificação altamente efici- ente das imagens de múltiplos pontos de visualização ou imagens de vídeo de múltiplos pontos de visualização inteiras pode ser executada pela imple- mentação de compensação de paralaxe tendo uma alta precisão de predição em consideração a uma influência de erros de estimativa de parâmetros de câmera, ao mesmo tempo que impedindo um grande aumento na quantida- de de dados usados para a compensação de paralaxe. DESCRIÇÃO RESUMIDA DOS DESENHOS
A figura 1 é um diagrama esquemático mostrando cada item de dados que é definido na presente invenção e que é usado para compensa- ção de paralaxe.
A figura 2 é um diagrama esquemático mostrando o arranjo de câmera usado nas modalidades.
A figura 3 é um diagrama mostrando um aparelho de codificação de vídeo como uma primeira modalidade da presente invenção.
A figura 4 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe global na figura 3. A figura 5 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe na figura 3.
A figura 6 é um fluxograma de codificação de imagem na primei- ra modalidade.
A figura 7 é um fluxograma detalhado da etapa S2 na figura 6. A figura 8 é um diagrama mostrando exemplos de divisão de bloco aplicada a um macrobloco.
A figura 9 é um fluxograma detalhado da etapa S4 na figura 6. 1O A figura 10 é um fluxograma detalhado da etapa S5 na figura 6.
A figura 11 é um diagrama mostrando um aparelho de codifica- ção de vídeo como uma segunda modalidade da presente invenção.
A figura 12 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe local na figura 11.
A figura 13 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe global na figura 11.
A figura 14 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe na figura 11.
A figura 15 é um fluxograma de codificação de imagem na se- gunda modalidade.
A figura 16 é um fluxograma detalhado da etapa S402 na figura 15.
A figura 17 é um fluxograma detalhado da etapa S403 na figura 15.
A figura 18 é um fluxograma detalhado da etapa S406 na figura 15.
A figura 19 é um diagrama mostrando um aparelho de decodifi-
cação de vídeo como uma terceira modalidade da presente invenção.
A figura 20 é um fluxograma de decodificação de imagem na terceira modalidade.
A figura 21 é uma vista esquemática mostrando o conceito de paralaxe gerado entre câmeras.
A figura 22 é uma vista esquemática mostrando o conceito da restrição de geometria epipolar. Símbolos de Referência
100, 200 aparelho de codificação de imagem
101.201 unidade de entrada de imagem
102.202 memória de imagem
103, 203 unidade de entrada de imagem de ponto de visualização pa- drão
104, 204 memória de imagem de ponto de visualização padrão
105, 206 unidade de determinação de dados de compensação de para-
laxe global
106, 207 unidade de determinação de dados de paralaxe de base
107, 208 unidade de determinação de dados de compensação de para-
laxe
108, 209 unidade de codificação de imagem
109, 210 memória de imagem decodificada
205 unidade de determinação de dados de compensação de para-
laxe local
1051 unidade de estabelecimento de divisão de bloco de imagem de ponto de visualização padrão
1052 unidade de codificação de dados de divisão de bloco 1053 unidade de estimativa de dados de paralaxe global
1054 unidade de codificação de dados de paralaxe global
1071, 2081 unidade de estabelecimento de divisão de bloco de imagem
alvo
1072, 2082 unidade de codificação de dados de divisão de bloco
1073, 2085 unidade de estabelecimento de índice de ponto de visualiza- ção de referência
1074, 2086 unidade de codificação de índice de ponto de visualização 1075, 2083 unidade de determinação de dados de paralaxe de correção
1076, 2084 unidade de codificação de dados de paralaxe de correção
1077, 2087 unidade de determinação de vetor de correção
1078, 2088 unidade de codificação de vetor de correção
1079,2089 unidade de estimativa de eficiência de compensação de para- laxe
2051 unidade de estabelecimento de divisão de bloco de dados de paralaxe local
2052 unidade de estabelecimento de índice de ponto de visualiza- ção de referência
2053 unidade de determinação de dados de paralaxe local
2054 unidade de estimativa de eficiência de compensação de para- laxe
2061 unidade de estabelecimento de divisão de bloco de imagem de ponto de visualização padrão
2062 unidade de codificação de dados de divisão de bloco
2063 unidade de estimativa de dados de paralaxe global
2064 unidade de codificação de dados de paralaxe global 300 aparelho de decodificação de vídeo
301 unidade de entrada de dados codificados
302 unidade de entrada de imagem de ponto de visualização pa- drão
303 memória de imagem
304 unidade de decodificação de dados de compensação de para- Iaxe global
305 unidade de determinação de dados de paralaxe de base
306 unidade de decodificação de dados de compensação de para- laxe
307 unidade de geração de imagem de paralaxe compensada 308 unidade de decodificação de imagem
MELHOR MODO PARA EXECUÇÃO DA INVENÇÃO
Um dos recursos mais característicos da presente invenção em comparação com técnicas conhecidas é estabelecer um ponto de visualiza- ção padrão; computar dados de paralaxe global baseados na restrição de geometria epipolar para uma imagem já codificada no ponto de visualização padrão, a fim de submeter todas as outras imagens alvo (a codificar) obtidas ao mesmo tempo à compensação de paralaxe; converter os dados de para- laxe global em dados de paralaxe de base baseados na restrição de geome- tria epipolar para cada imagem alvo; e codificar dados de paralaxe, os quais são usados para corrigir os dados de paralaxe de base, para cada imagem alvo de acordo com o recurso da imagem alvo e erros nos parâmetros de câmera.
Os dados de paralaxe baseados na restrição de geometria epi- polar podem ser representados pela distância do ponto de visualização da imagem pertinente ao objeto imageado, a distância medida a partir de um ponto de referência na linha reta epipolar, e por valores de índice correspon- dendo a tais distâncias.
A seguir, os "dados de paralaxe" indicam os dados de paralaxe indicados anteriormente baseados na restrição de geometria epipolar. Os conceitos dos dados de paralaxe global e dos dados de paralaxe de base usados na presente invenção serão explicados. Dados de paralaxe global
Os dados de paralaxe global são dados de paralaxe fornecidos para uma imagem do ponto de visualização padrão. Na explicação a seguir, os dados de paralaxe são fornecidos para cada área.
Se uma área A tem dados de paralaxe "d", áreas corresponden- tes RA(d, i) em imagens obtidas em outros pontos de visualização (i= 1, 2, 3, ..., N) ao mesmo tempo são computadas com base na restrição de geome- tria epipolar. Em um caso como este, o grau de diferença em imagens das áreas correspondentes pode ser estimado pelo uso, por exemplo, da soma de valores absolutos de diferenças, da soma de valores de quadrado de dife- renças, de uma dispersão das diferenças, ou da soma de valores pondera- dos se relacionando com uma pluralidade de padrões.
Para todas as combinações de {A, RA(d, i)|i= 1, 2, ..., N}, quando a soma dos graus de diferença indicados anteriormente é chamada de valor estimado dos dados de paralaxe "d" da área A, os dados de paralaxe que fornecem o menor valor estimado são chamados de "dados de paralaxe glo- bal D".
Além do mais, a fim de reduzir a influência do erro, o valor esti- mado pode ser computado depois de um termo de correção ser acrescenta- do aos dados de paralaxe "d" com uma suposição de continuidade de um objeto no espaço real.
Durante o uso da restrição de geometria epipolar a fim de com- putar as áreas correspondentes indicadas anteriormente, erros ocorrem na computação pertinente e nos parâmetros de câmera. Portanto, para um pon- to de visualização específico i=k, os dados de paralaxe "d" para minimizar a quantidade de codificação (Rate(A, d, k)) podem não coincidir com os dados de paralaxe global D.
Portanto, os dados de paralaxe global D são dados de paralaxe que produzem a mais alta semelhança entre uma área alvo e as áreas cor- respondentes (à área alvo) de todos os outros pontos de visualização. De forma conceituai, os dados de paralaxe global D indicam uma distância com um baixo nível de precisão, tal como a distância aproximada da câmera ao objeto imageado para a área alvo. Dados de paralaxe de base
Os dados de paralaxe de base indicam o mesmo alvo tal como os dados de paralaxe global. Entretanto, eles são diferentes uns dos outros por somente um ponto de tal maneira que os dados de paralaxe global têm o ponto de visualização padrão como um padrão, enquanto que os dados de paralaxe de base têm um outro ponto de visualização como um padrão.
Os dados de paralaxe global e os dados de paralaxe de base em uma área correspondente são, cada um, dados indicando a mesma posição tridimensional. Entretanto, de uma maneira geral, os dados de paralaxe são representados por uma distância de uma câmera ao objeto imageado. Por- tanto, o valor concreto dos dados de paralaxe varia quando o ponto de vi- sualização muda. A figura 1 é um diagrama esquemático mostrando cada item de dados que é definido na presente invenção e que é usado para compensa- ção de paralaxe.
No método de codificação de imagem da presente invenção, co- dificação é executada pela seleção de um ponto de visualização padrão de imagens alvo de múltiplos pontos de visualização a codificar. Codificação das imagens tendo pontos de visualização a não ser o ponto de visualização padrão é executada por meio de predição de imagem usando uma imagem já codificada tendo um outro ponto de visualização. Esta imagem já codificada de um outro ponto de visualização, a
qual é usada para predição de imagem, é chamada de "imagem de ponto de visualização de referência". A imagem de ponto de visualização de referên- cia pode ser a mesma que a imagem do ponto de visualização padrão, ou pode diferir desta. A fim de mostrar um caso geral, a imagem de ponto de visualização padrão tem um outro ponto de visualização na figura 1.
Primeiro, os dados de paralaxe global descritos anteriormente são fornecidos para a imagem de ponto de visualização padrão. A posição tridimensional do objeto imageado, a qual é fornecida pelos dados de para- laxe global, corresponde aos dados de paralaxe de base se visualizar de um ponto de visualização alvo a codificar. Entre cada pixel na imagem alvo a codificar e na imagem de ponto de visualização de referência, dados de pa- ralaxe (chamados de "dados de paralaxe local") para fornecer semelhança mais alta entre pixels correspondentes são computados, onde a diferença entre os dados de paralaxe local e os dados de paralaxe de base é chamada de "dados de paralaxe de correção".
Os dados de paralaxe para cada pixel na imagem alvo a codifi- car são restringidos pela restrição de geometria epipolar. Portanto, tal como mostrado na figura 22, para quaisquer dados de paralaxe fornecidos, a área correspondente na imagem de ponto de visualização de referência é restrin- gida a uma linha reta nesta imagem. Em um caso como este, se os parâme- tros de câmera tiverem um erro, nenhum ponto correspondente verdadeiro estará presente na linha reta. Desta maneira, o vetor do ponto correspondente fornecido pelos dados de paralaxe local para o ponto correspondente verdadeiro é chamado de "vetor de correção".
A imagem de um pixel na imagem alvo a codificar é predita pelo uso não somente dos dados de paralaxe global (e dos dados de paralaxe de base convertidos destes), mas também de dados de imagem de um ponto correspondente na imagem de ponto de visualização de referência, os quais são computados pelo fornecimento dos dados de paralaxe de correção e do vetor de correção.
Embora não esteja mostrado na figura 1, os dados de paralaxe
global são codificados para uma das imagens de múltiplos pontos de visuali- zação (um conjunto de imagens tendo o mesmo tempo de exibição em ima- gens de vídeo de múltiplos pontos de visualização), e os dados de paralaxe de correção e o vetor de correção são codificados para cada imagem de ca- da ponto de visualização, exceto para o ponto de visualização padrão. Além do mais, os dados de paralaxe de base são computados usando os dados de paralaxe global, e assim não são codificados.
A seguir, a presente invenção será explicada detalhadamente de acordo com modalidades. Nas modalidades seguintes, é considerado que imagens de vídeo de múltiplos pontos de visualização obtidas por meio de três câmeras são codificadas, e imagens das câmeras BeC são codificadas como o ponto de visualização padrão da câmera A.
A figura 2 é um diagrama esquemático mostrando o arranjo de câmera usado nas modalidades. Na figura 2, cada figura de retângulo indica quadros das câmeras pertinentes, e imagens das câmeras BeC são forne- cidas como entrada na ordem indicada pelos números mostrados.
Uma primeira modalidade será explicada primeiramente. As figu- ras 3, 4 e 5 mostram a estrutura de um aparelho de codificação de vídeo como a primeira modalidade da presente invenção. Tal como mostrado na figura 3, um aparelho de codificação de
vídeo 100 da primeira modalidade tem uma unidade de entrada de imagem 101 para a qual imagens originais (como imagens alvo a codificar) das câ- meras BeC são fornecidas como entrada; uma memória de imagem 102 para armazenar as imagens fornecidas como entrada; uma unidade de en- trada de imagem de ponto de visualização padrão 103 para a qual uma ima- gem decodificada da câmera A (como o ponto de visualização padrão) é for- necida como entrada; uma memória de imagem de ponto de visualização padrão 104 para armazenar a imagem decodificada fornecida como entrada do ponto de visualização padrão; uma unidade de determinação de dados de compensação de paralaxe global 105 para determinar dados de paralaxe global, os quais são dados de paralaxe (para o ponto de visualização pa- drão) baseados na restrição de geometria epipolar; uma unidade de deter- minação de dados de paralaxe de base 106 para determinar dados de para- laxe de base que são produzidos usando os dados de paralaxe global e que são dados de paralaxe (para o ponto de visualização da imagem alvo a codi- ficar) baseados na restrição de geometria epipolar; uma unidade de determi- nação de dados de compensação de paralaxe 107 para determinar dados usados para submeter a imagem alvo à compensação de paralaxe; uma uni- dade de codificação de imagem 108 para submeter cada imagem fornecida como entrada à codificação de predição real; e uma memória de imagem decodificada 109 para armazenar uma imagem decodificada da imagem co- dificada fornecida como entrada.
A figura 4 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe global 105.
Tal como mostrado na figura 4, a unidade de determinação de dados de compensação de paralaxe global 105 tem uma unidade de estabe- Iecimento de divisão de bloco de imagem de ponto de visualização padrão
1051 para estabelecer uma divisão de bloco na imagem de ponto de visuali- zação padrão; uma unidade de codificação de dados de divisão de bloco
1052 para codificar dados de divisão de bloco determinada; uma unidade de estimativa de dados de paralaxe global 1053 para estimar os dados de para-
Iaxe global para cada bloco pelo uso do conjunto das imagens fornecidas como entrada; e uma unidade de codificação de dados de paralaxe global 1054 para codificar os dados de paralaxe global obtidos. Os dados de paralaxe global obtidos pela unidade de estimativa de dados de paralaxe global 1053 são transmitidos para a unidade de de- terminação de dados de paralaxe de base 106.
Além do mais, saída de dados codificados da unidade de codifi- cação de dados de divisão de bloco 1052 e da unidade de codificação de dados de paralaxe global 1054 formam' parte da saída de dados do aparelho de codificação de vídeo 100.
A figura 5 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe 107. Tal como mostrado na figura 5, a unidade de determinação de
dados de compensação de paralaxe 107 inclui uma unidade de estabeleci- mento de divisão de bloco de imagem alvo 1071 para estabelecer uma divi- são de bloco na imagem alvo a codificar; uma unidade de codificação de dados de divisão de bloco 1072 para codificar dados de divisão de bloco de- terminada; uma unidade de estabelecimento de índice de ponto de visualiza- ção de referência 1073 para estabelecer um índice de ponto de visualização que indica o ponto de visualização de uma imagem usada como uma ima- gem de referência na compensação de paralaxe; uma unidade de codifica- ção de índice de ponto de visualização 1074 para codificar o índice de ponto de visualização estabelecido; uma unidade de determinação de dados de paralaxe de correção 1075 para determinar dados de paralaxe de correção usados para corrigir os dados de paralaxe de base baseados na restrição de geometria epipolar; uma unidade de codificação de dados de paralaxe de correção 1076 para codificar os dados de paralaxe de correção determina- dos; uma unidade de determinação de vetor de correção 1077 para determi- nar um vetor de correção usado para corrigir uma relação de correspondên- cia, a qual é fornecida pelos dados de paralaxe de base e pelos dados de paralaxe de correção, independente da restrição de geometria epipolar; uma unidade de codificação de vetor de correção 1078 para codificar o vetor de correção determinado; e uma unidade de estimativa de eficiência de com- pensação de paralaxe 1079 para estimar a eficiência de predição quando compensação de paralaxe é executada usando os dados (determinados por cada unidade pertinente) para a compensação de paralaxe.
Uma imagem de paralaxe compensada, a qual é determinada para ter a mais alta eficiência de compensação de paralaxe pela unidade de estimativa de eficiência de compensação de paralaxe 1079, é transmitida para a unidade de codificação de imagem 108.
Além do mais, saída de dados codificados da unidade de codifi- cação de dados de divisão de bloco 1072, da unidade de codificação de ín- dice de ponto de visualização 1074, da unidade de codificação de dados de paralaxe de correção 1076 e da unidade de codificação de vetor de correção 1078 formam uma parte da saída de dados do aparelho de codificação de vídeo 100.
As figuras 6 a 10 mostram fluxos de operação executados pelo aparelho de codificação de vídeo 100 tendo a estrutura indicada anterior- mente. Os processos executados pelo aparelho de codificação de vídeo 100 serão explicados detalhadamente de acordo com os fluxos.
A figura 6 mostra o fluxo geral do processo de codificação total executado no aparelho de codificação de vídeo 100 da primeira modalidade. Neste fluxo, uma imagem da câmera B e uma imagem da câmera C, as quais foram obtidas ao mesmo tempo, são codificadas.
Primeiro, uma imagem da câmera B e uma imagem da câmera C, as quais foram obtidas ao mesmo tempo, são fornecidas como entradas para a unidade de entrada de imagem 101, e as imagens são armazenadas na memória de imagem 102 (ver a etapa S1). Aqui, uma imagem decodifica- da de uma imagem da câmera A, a qual foi obtida ao mesmo tempo que as imagens fornecidas como entrada, foi fornecida como entrada para a unida- de de entrada de imagem de ponto de visualização padrão 103, e foi arma- zenada na memória de imagem de ponto de visualização padrão 104.
A seguir, na unidade de determinação de dados de compensa- ção de paralaxe global 105, dados de paralaxe global (para a imagem de ponto de visualização padrão) que satisfazem a restrição de geometria epi- polar são determinados, e são codificados (ver a etapa S2). Este processo será explicado mais tarde com referência à figura 7. O processo das etapas S4 a S7 é aplicado para cada imagem na memória de imagem 102. Aqui, é considerado que a imagem da câmera B é codificada primeiro e então a imagem da câmera C é codificada.
Isto é, a imagem da câmera B é lida na memória de imagem 102 e é determinada como uma imagem alvo a codificar (ver a etapa S3), e os dados de paralaxe global determinados na etapa S2 são convertidos pela unidade de determinação de dados de paralaxe de base 106 em dados de paralaxe de base que são designados para a imagem alvo e são baseados na restrição de geometria epipolar (ver a etapa S4). Com base nos dados de paralaxe de base, os outros dados de compensação de paralaxe, tais como um índice de ponto de visualização de referência, dados de paralaxe de cor- reção e um vetor de correção, são computados em consideração à eficiência de codificação, e são então codificados (ver a etapa S5). A unidade de codi- ficação de imagem 108 executa então codificação pelo uso dos dados de paralaxe computados (ver a etapa S6).
A imagem codificada é então decodificada e armazenada na memória de imagem decodificada 109 (ver a etapa S7). Se a imagem deco- dificada pertencer à câmera B (ver a etapa S8), a imagem da câmera C é então lida na memória de imagem 102, e codificação é executada por meio de um processo similar (ver as etapas S4 a S7), a fim de completar a opera- ção total. Os processos executados nas etapas S4 e S5 serão explicados detalhadamente mais tarde.
A figura 7 mostra um fluxo de operação detalhado da etapa S2 executado pela unidade de determinação de dados de compensação de pa- ralaxe global 105.
Na primeira modalidade, uma divisão de bloco é estabelecida para cada macrobloco formado por 16x16 pixels, e os blocos são produzidos em cada macrobloco pela divisão de bloco. Os dados de paralaxe global são determinados e codificados para cada bloco dividido (chamado simplesmen- te de "bloco"). Um bloco tendo um tamanho maior do que o macrobloco pode ser usado.
Para o macrobloco, existem muitas formas de divisão de bloco possíveis, e a figura 8 mostra exemplos delas. Tal como mostrado na figura 8, "blkMode" é um índice mostrando o tipo da divisão de bloco, e "max- Blkfblkmode]" representa o número de blocos para a divisão de bloco "blk- Mode". Adicionalmente, "maxBlkMode" representa o número de tipos de di- visão de bloco.
Além do mais, "MBBIk" é um índice de cada macrobloco, e "maxMBBIk" indica o número de macroblocos.
Portanto, no processo pertinente, depois de o índice MBBIk do macrobloco ser inicializado para zero (ver a etapa S101), o processo da eta- pa S102 para a etapa S115 é executado repetidamente enquanto MBBIk é incrementado por um (ver a etapa S116), até que MBBIk alcança "maxMB- BIk" (vera etapa S117).
Depois disso, os dados de divisão de bloco determinada BLK- Mode e os dados de paralaxe global GDispInfo são respectivamente codifi- cados pela unidade de codificação de dados de divisão de bloco 1052 e pela unidade de codificação de dados de paralaxe global 1054 (ver a etapa S118).
No processo aplicado a cada macrobloco, a divisão de bloco é estimada para cada candidato a divisão de bloco, e o candidato tendo o mais alto valor estimado é determinado como a divisão de bloco aplicada ao ma- crobloco.
Isto é, depois de a divisão de bloco "blkMode" ser inicializada para zero e o melhor valor estimado "bValue" para o macrobloco ser iniciali- zado para "wValue" correspondendo ao pior valor estimado que nunca pode ser obtido (ver a etapa S102), o processo seguinte é executado repetida- mente enquanto blkMode é incrementado por um (ver a etapa S114), até que blkMode alcança maxBlkMode (ver a etapa S115). No processo repeti- do, um valor estimado chamado de "value" para a divisão de bloco blkMode é computado (ver as etapas S103 a S111), a divisão de bloco que fornece o melhor valor estimado é determinada pela comparação de "value" com "bVa- lue" (ver a etapa S112), a divisão de bloco determinada para o macrobloco pertinente é armazenada como BLKModefMBBIk], e os dados de paralaxe global pertinentes são armazenados como GDisplnfo[MBBIk] (ver a etapa S113).
O valor estimado chamado de "value" para a divisão de bloco blkMode pode ser obtido pela computação da soma total dos custos de taxa de distorção individuais de compensação de paralaxe para os blocos dividi- dos.
Isto é, quando "blk" é um índice indicando cada bloco dividido, "blk" é inicializado para zero e "value" é inicializado para um valor estimado lnitValue[blkMode] fornecido para a divisão de bloco blkMode (ver a etapa S103). Então, um processo (ver as etapas S104 a S109) para determinar os dados de paralaxe global que produzem o melhor custo de taxa de distorção para cada bloco é executado repetidamente enquanto a etapa S110 é exe- cutada, até que "blk" alcança maxBlk[blkMode] (ver a etapa S111). Na etapa S110, 1 é acrescentado a "blk", o melhor custo de taxa de distorção "best- BIkCost" estabelecido para cada bloco é acrescentado ao "value", e os da- dos de paralaxe global que produzem o melhor custo de taxa de distorção para cada bloco são armazenados em tempGDisplnfo[blk],
Adicionalmente, lnitValue[blkMode] é um valor predeterminado dependendo da quantidade de codificação necessária para codificar os da- dos que indicam que a divisão de bloco é blkMode.
No processo de determinação (para o bloco pertinente) os dados de paralaxe global que fornecem o melhor custo de taxa de distorção, quan- do "maxGDispInfo" representa o valor máximo do índice "gDisplnfo" indican- do cada candidato a dados de paralaxe global, gDisplnfo é inicializado para zero, e o melhor custo de taxa de distorção "bestBlkCost" para o bloco é ini- cializado para o pior valor "wBlkCost" que nunca pode ser obtido (ver a eta- pa S104). Então, o processo seguinte é executado repetidamente enquanto gDisplnfo é incrementado por um (ver a etapa S108), até que gDisplnfo ex- cede maxGDispInfo (ver a etapa S109). No processo repetido, o custo de taxa de distorção blkCost para os dados de paralaxe global gDisplnfo é computado (ver a etapa S105), os dados de paralaxe global que fornecem o melhor custo de taxa de distorção são determinados pela comparação de "blkCost" com "bestBlkCost" (ver a etapa S106), e os dados de paralaxe glo- bal determinados são armazenados como "bestGDisplnfo" (ver a etapa S107).
O custo de taxa de distorção blkCost para os dados de paralaxe global gDisplnfo pode ser computado pela fórmula seguinte.
[Fórmula 1]
blkCost = D1 + A1 . Rate(gDisplnfo)
ase, pix) - Value(eam, Trans(base, cam, pix, dbase (gDispInfo))J
cam pix
Aqui, λι é um multiplicador de Lagrange não definido e é um va- Ior predeterminado. Além do mais, "Rate()" é uma função que retorna uma quantidade de codificação ou um valor predito da mesma, a qual é necessá- ria para codificar os dados de paralaxe global indicados pelo argumento.
Icam é a soma de "cam e {câmera B, câmera C}", e Ipix é a soma de "pix c {pixels no bloco}". "d
baseO" é uma função que retorna um valor da distância do pon- to de visualização padrão, a qual é indicada pelo índice de dados de parala- xe global (fornecido como o argumento), para o objeto imageado.
"ValueO" é uma função que retorna o valor de pixel na posição de pixel (fornecido como o segundo argumento) em uma imagem de um ponto de visualização fornecido como o primeiro argumento.
Em uma imagem de ponto de visualização "src", quando a dis- tância do ponto de visualização de um pixel na posição "pix" ao objeto ima- geado é "d", "Trans(src, dst, pix, d)" é uma função que retorna um pixel cor- respondente "p" (para o pixel "pix") em uma imagem de ponto de visualiza- ção "dst". Aqui, "p" pode ser computado pela fórmula seguinte.
[Fórmula 2]
P = AdslR-Jl \RsrXcPixd + tsrc - td5l}
Na fórmula, A, R e t indicam parâmetros de câmera, e mostram respectivamente um parâmetro interno, um parâmetro de rotação e um pa- râmetro de translação. Cada um de os parâmetros interno e de rotação é uma matriz 3x3, e "t" é um vetor tridimensional.
Além do mais, "p" para o qualé disposto sobre o mesmo in- dica coordenadas homogêneas, e "pix" para o qual "Λ" é disposto sobre o mesmo indica especificamente coordenadas homogêneas cujo terceiro com- ponente é 1, entre todas as coordenadas homogêneas de "pix".
As coordenadas homogêneas para coordenadas bidimensionais têm três componentes. As coordenadas, cujos primeiro e segundo compo- nentes são obtidos pela divisão dos primeiro e segundo componentes das coordenadas homogêneas pelo terceiro componente das coordenadas ho- mogêneas, são coordenadas usuais correspondendo às coordenadas ho- mogêneas pertinentes. Além do mais, os parâmetros de câmera podem ser representados por qualquer forma. Na presente modalidade, parâmetros de câmera pelos quais pontos correspondentes entre as câmeras podem ser computados pela fórmula indicada anteriormente são empregados.
A figura 9 é um fluxo de operação detalhado da etapa S4 execu- tada pela unidade de determinação de dados de paralaxe de base 106.
Este processo é aplicado a cada pixel em uma imagem obtida do ponto de visualização padrão.
Isto é, depois de um índice de pixel "bp" ser inicializado para ze- ro (ver a etapa S201), o processo das etapas S202 a S212 é executado re- petidamente enquanto "bp" é incrementado por 1 (ver a etapa S213), até que "bp" alcança o número "numPix" de pixels na imagem pertinente (ver a etapa S214).
Além do mais, "BDispInfo" indica os dados de paralaxe de base total, e os dados de paralaxe de base para uma posição designada são re- presentados usando "□". No começo do fluxo, os dados de paralaxe de base são inicializados para um grande valor que nunca pode ser obtido (ver a eta- pa S201).
Embora a ordem de processamento de pixels não seja limitada, o processo é executado em uma forma de varredura de rastreamento na primeira modalidade.
No processo repetido aplicado a cada pixel, primeiramente, um macrobloco "MBBIk" que inclui o pixel "bp" e o índice de bloco "blk" determi- nado de acordo com a divisão de bloco (a qual foi estabelecida quando os dados de paralaxe global foram determinados) são obtidos (ver a etapa S202).
A seguir, um pixel "tp" (na imagem alvo a codificar) correspon- dendo ao pixel "bp" e um candidato a dados de paralaxe de base "bDisplnfo" são computados com base nos dados de paralaxe global GDispIn- fo[MBBIk][blk] pelo uso da fórmula seguinte (ver a etapa S203).
[Fórmula 3]
tpdlar [bDisplnfo) = AlarR~l {,R^Xsebpdbase{GDispInfo[MBBlk\blk]) + Ihase - tíar}
Na fórmula, "tar" indica o ponto de visualização da imagem alvo a codificar, e dtar() é uma função que retorna um valor da distância do ponto de visualização da imagem alvo, o que é indicado por um índice de dados de paralaxe (isto é, candidato a dados de paralaxe de base "bDisplnfo") forne- cido como o argumento, ao objeto imageado.
Isto é, o (posição de) pixel "tp" e o candidato a dados de parala- xe de base no pixel "tp" são computados pelo uso de (i) (posição de) pixel "bp", (ii) a distância do ponto de visualização padrão ao objeto imageado, onde a distância é indicada por meio de dados de paralaxe global para o pixel "bp", (iii) parâmetros de câmera do ponto de visualização padrão, e (iv) parâmetros de câmera do ponto de visualização da imagem alvo.
Entretanto, o (posição de) pixel "tp" e a distância do ponto de visualização da imagem alvo ao objeto imageado para o pixel "tp" são com- putados diretamente, e o último valor é convertido em um candidato a dados de paralaxe de base (bDisplnfo) para o pixel "tp" pelo uso de uma função inversa da função dtar·
O bDisplnfo computado anteriormente é comparado com os da- dos de paralaxe de base já computados BDisplnfo[tp] na posição pertinente, onde a medida real da comparação é a distância (indicada pelos dados de paralaxe de base (candidato)) do ponto de visualização da imagem alvo ao objeto imageado (ver a etapa S204). Se a distância indicada por bDisplnfo não for menor, é determinado que uma oclusão (isto é, uma parte que não pode ser vista pela câmera) foi produzida, e a operação aplicada ao pixel pertinente termina. Se a distância indicada por bDisplnfo for menor, o valor de BDisplnfo[tp] é atualizado usando bDisplnfo (ver a etapa 205).
A seguir, BDisplnfo é atualizado por meio de continuidade de um objeto no espaço real. Isto é, VIZINHO, o qual é um conjunto de pixels adja- centes posicionados nos lados esquerdo e superior de "bp", é gerado (ver a etapa S206). Então o processo seguinte (etapas S208 a S211) é executado repetidamente enquanto o pixel, para o qual o processo pertinente foi com- pletado, é removido (ver a etapa S212), até que o VIZINHO estabelecido se torna vazio (ver a etapa S207). No processo aplicado a cada elemento de VIZINHO, primeira-
mente, dados de paralaxe global de "nbp", o qual é um elemento de VIZI- NHO, são obtidos usando GDispinfo, e são armazenados como nGDisplnfo (ver a etapa S208).
A seguir, o valor absoluto da diferença entre nGDisplnfo e GDis- plnfo[MBBIk][blk] é comparado com um limiar predeterminado TH (ver a eta- pa S209).
Se o valor absoluto for igual ou maior do que o limiar, ele indica que o objeto pertinente não têm continuidade no espaço real, e a operação para o elemento é encerrada. Se o valor absoluto for menor do que o limiar, o pixel "ntp" na
imagem alvo, a qual corresponde ao pixel "nbp", e dados de paralaxe de ba- se nbDisplnfo para "ntp" são computados usando a fórmula da etapa S203 indicada anteriormente (ver a etapa S210).
Os dados de paralaxe de base para um pixel entre "tp" e "ntp" são computados por meio de interpolação usando bDisplnfo e nbDisplnfo (vera etapa S211).
Embora qualquer método para executar interpolação usando dados de ambas as extremidades pertinentes possa ser usado, no método mais simples, o centro é interpolado linearmente usando dados de paralaxe de base em ambas as extremidades. Se dados de paralaxe de base tendo um valor menor do que o valor interpolado computado já existem, é determi- nado que uma oclusão ocorreu, e nenhuma atualização é executada. Na primeira modalidade, para cada pixel, a computação para obter um pixel correspondente na imagem alvo e dados de paralaxe de base pertinentes pelo uso da posição de pixel e os dados de paralaxe global é executada repetidamente. Entretanto, a computação na etapa S210 é execu- tada usando a fórmula da etapa S203 indicada anteriormente. Portanto, se o resultado do processo na etapa S203 puder ser armazenado, repetição é desnecessária para cada pixel pelo uso do valor armazenado, reduzindo as- sim a quantidade de computação.
A figura 10 mostra um fluxo de operação detalhado da etapa S5 executado na unidade de determinação de dados de compensação de para- laxe 107.
Na primeira modalidade, uma divisão de bloco é determinada para cada macrobloco, e um índice de ponto de visualização de referência, dados de paralaxe de correção e um vetor de correção são computados e codificados para cada bloco. Na presente modalidade, o índice de ponto de visualização de referência, os dados de paralaxe de correção e o vetor de correção, os quais são obtidos para cada bloco, são chamados de "dados de compensação de paralaxe". Para cada bloco, dados usados para compen- sação de paralaxe não são somente os dados de compensação de paralaxe, mas também dados de paralaxe de base. Isto é, os dados de compensação de paralaxe são usados para corrigir os dados de paralaxe de base.
Desta maneira, depois de o índice de macrobloco MBBIk ser ini- cializado para zero (ver a etapa S301), o processo (nas etapas S302 a S315) para determinar a divisão de bloco em consideração aos dados de compensação de paralaxe é executado repetidamente enquanto MBBIk é incrementado por 1 (ver a etapa S316), até que MBBIk alcança maxMBBIk (ver a etapa S317). Os dados de compensação de paralaxe computados são codificados pela unidade de codificação de dados de divisão de bloco 1072, pela unidade de codificação de índice de ponto de visualização 1074, pela unidade de codificação de dados de paralaxe de correção 1076 e pela uni- dade de codificação de vetor de correção 1078 (ver a etapa S318).
No processo de determinar a divisão de bloco em consideração aos dados de compensação de paralaxe, depois de inicializar os dados de divisão de bloco, blkMode é inicializado para zero (ver a etapa S302), o pro- cesso seguinte é executado repetidamente enquanto blkMode é incrementa- do por 1 (ver a etapa S314), até que blkMode alcança maxblkMode (ver a etapa S315). No processo repetido, um custo de taxa de distorção MBCost do macrobloco é computado em consideração aos dados de compensação de paralaxe (ver as etapas S303 a S311), MBCost é então comparado com o custo mínimo já computado bestMBCost (ver a etapa S312), e a divisão de bloco que produz um menor custo é determinada como a divisão de bloco eBLKMode[MBBIk] do macrobloco pertinente (ver a etapa S313).
Além do mais, bestMBCost é primeiro inicializado para o valor máximo "wMBCost" que nunca pode ser computado (ver a etapa S302).
No processo de computar o custo de taxa de distorção do ma- crobloco em consideração aos dados de compensação de paralaxe, depois de o índice de bloco "blk" ser inicializado para zero (ver a etapa S303), o processo (etapas S304 a S309) para computar (para cada bloco) os dados de compensação de paralaxe bestEDisplnfo, os quais produzem o custo mí- nimo de taxa de distorção, e o custo de taxa de distorção correspondente "bestBlkECost" é executado repetidamente enquanto "blk" é incrementado por 1 (ver a etapa S310), até que "blk" alcança maxBlk[blkMode] (ver a etapa S311).
O custo de taxa de distorção MBCost para cada macrobloco é primeiro inicializado para zero (ver a etapa S303), e então computado ao acumular o custo mínimo de taxa de distorção bestBlkCost depois de ter completado o processo para cada bloco (ver a etapa S310).
Além do mais, os dados de compensação de paralaxe determi- nados são armazenados como tempEDisplnfo[blk] (ver a etapa S310), e se eles tiverem o melhor valor em consideração ao custo de taxa de distorção finalmente obtido do macrobloco, então eles são armazenados como EDis- plnfo[MBBIk] (ver a etapa S313).
No processo de computar o custo mínimo de taxa de distorção de cada bloco, depois de um índice de dados de compensação de paralaxe "eDisplnfo", o qual corresponde ao conjunto pertinente do índice de ponto de visualização de referência, os dados de paralaxe de correção e o vetor de correção são inicializados para zero (ver a etapa S305), o processo seguinte é executado repetidamente enquanto eDisplnfo é incrementado por 1 (ver a etapa S308), até que eDisplnfo alcança maxEDispInfo que indica o número de combinações entre o índice de ponto de visualização de referência, os dados de paralaxe de correção e o vetor de correção (ver a etapa S309). No processo repetido, um custo de taxa de distorção blkECost para os dados de compensação de paralaxe correspondendo a eDisplnfo é computado (ver a etapa S305), e se blkECost for menor do que o custo mínimo de taxa de dis- torção já computado bestBlkECost (ver a etapa S306), então eDisplnfo é armazenado como bestEDisplnfo, e bestBlkECost é atualizado usando bl- kECost (ver a etapa S307).
Além do mais, bestBlkECost é primeiro inicializado para o valor máximo "wBlkECost" que nunca pode ser computado (ver a etapa S304).
A computação do custo de taxa de distorção na etapa S306 é executada usando a fórmula seguinte.
[Fórmula 4]
blkECost = D2 + A2 . Code(eDisplnfo)
D2 = Yyalue{tar,Tp)- Value(ref,Rp\
Tp G {pixels no bloco}
Rp = Trans(tar, ref, Tp, dtar(BDisplnfo[Tp]) + md) + cmv
Aqui, A2 é um multiplicador de Lagrange não definido e é um va- lor predeterminado. Além do mais, "tar" indica o ponto de visualização da imagem alvo a codificar, e "ref', "md" e "cmv" representam respectivamente o índice de ponto de visualização de referência, os dados de paralaxe de correção e o vetor de correção que são indicados pelo índice de dados de compensação de paralaxe "eDisplnfo".
A seguir, uma segunda modalidade será explicada. As figuras 11, 12, 13 e 14 mostram a estrutura de um aparelho de codificação de vídeo na segunda modalidade da presente invenção.
Tal como mostrado na figura 11, um aparelho de codificação de vídeo 200 da segunda modalidade tem uma unidade de entrada de imagem 201 para a qual imagens originais (como imagens alvo a codificar) das câ- meras B e C são fornecidas como entrada; uma memória de imagem 202 para armazenar as imagens fornecidas como entrada; uma unidade de en- trada de imagem de ponto de visualização padrão 203 para a qual uma ima- gem decodificada da câmera A (como o ponto de visualização padrão) é for- necida como entrada; uma memória de imagem de ponto de visualização padrão 204 para armazenar a imagem decodificada fornecida como entrada do ponto de visualização padrão; uma unidade de determinação de dados de compensação de paralaxe local 205 para determinar dados de paralaxe lo- cal, os quais sãos dados de paralaxe (para cada imagem alvo a codificar) baseados na restrição de geometria epipolar; uma unidade de determinação de dados de compensação de paralaxe global 206 para determinar e codifi- car dados de paralaxe global, os quais sãos dados de paralaxe (para o ponto de visualização padrão) baseados na restrição de geometria epipolar, pelo uso dos dados de paralaxe local determinados para cada imagem alvo; uma unidade de determinação de dados de paralaxe de base 207 para determi- nar dados de paralaxe de base que são produzidos pela conversão dos da- dos de paralaxe global e que sãos dados de paralaxe (para o ponto de vi- sualização de cada imagem alvo a codificar) baseados na restrição de geo- metria epipolar; uma unidade de determinação de dados de compensação de paralaxe 208 para determinar dados usados para submeter a imagem alvo à compensação de paralaxe; uma unidade de codificação de imagem 209 para submeter cada imagem fornecida como entrada à codificação de predição real; e uma memória de imagem decodificada 210 para armazenar uma imagem decodificada da imagem codificada fornecida como entrada.
Se a unidade de codificação de imagem 209 tiver uma memória para armazenar uma imagem decodificada a fim de usar uma imagem já co- dificada, a memória também pode funcionar como a memória de imagem decodificada 210.
A figura 12 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe local 205. Tal como mostrado na figura 12, a unidade de determinação de dados de compensação de paralaxe local 205 tem uma unidade de estabe- lecimento de divisão de bloco de dados de paralaxe local 2051 para estabe- lecer uma divisão de bloco na imagem alvo a codificar, a fim de determinar dados de paralaxe local; uma unidade de estabelecimento de índice de pon- to de visualização de referência 2052 para estabelecer um índice de ponto de visualização que indica o ponto de visualização de uma imagem usada como uma imagem de referência em compensação de paralaxe; uma unida- de de determinação de dados de paralaxe local 2053 para determinar dados de paralaxe baseados na restrição de geometria epipolar; e uma unidade de estimativa de eficiência de compensação de paralaxe 2054 para estimar a eficiência quando compensação de paralaxe é executada usando a divisão de bloco estabelecida, o índice de ponto de visualização de referência e a compensação de paralaxe, a fim de fornecer dados de realimentação para cada unidade de estabelecimento ou de determinação.
O primeiro índice de ponto de visualização estabelecido pela unidade de estabelecimento de índice de ponto de visualização de referência 2052 é transmitido para a unidade de determinação de dados de compensa- ção de paralaxe 208, e os dados de paralaxe local determinados pela unida- de de determinação de dados de paralaxe local 2053 são transmitidos para a unidade de determinação de dados de compensação de paralaxe global 206 e para a unidade de determinação de dados de compensação de paralaxe 208.
A figura 13 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe global 206.
Tal como mostrado na figura 13, a unidade de determinação de dados de compensação de paralaxe global 206 tem uma unidade de estabe- lecimento de divisão de bloco de imagem de ponto de visualização padrão 2061 para estabelecer uma divisão de bloco em uma imagem do ponto de visualização padrão; uma unidade de codificação de dados de divisão de bloco 2062 para codificar os dados de divisão de bloco determinada; uma unidade de estimativa de dados de paralaxe global 2063 para estimar os dados de paralaxe global para cada bloco pelo uso dos dados de paralaxe local transmitidos pela unidade de determinação de dados de paralaxe local 2053 na unidade de determinação de dados de compensação de paralaxe local 205; e uma unidade de codificação de dados de paralaxe global 2064 para codificar os dados de paralaxe global determinados.
Os dados de paralaxe global determinados pela unidade de es- timativa de dados de paralaxe global 2063 são transmitidos para a unidade de determinação de dados de paralaxe de base 207.
Além do mais, saída de dados codificados da unidade de codifi- cação de dados de divisão de bloco 2062 e da unidade de codificação de dados de paralaxe global 2064 formam uma parte da saída de dados do a- parelho de codificação de vídeo 200.
A figura 14 é um diagrama mostrando a estrutura detalhada da unidade de determinação de dados de compensação de paralaxe 208. Tal como mostrado na figura 14, a unidade de determinação de
dados de compensação de paralaxe 208 tem uma unidade de estabeleci- mento de divisão de bloco de imagem alvo 2081 para estabelecer uma divi- são de bloco na imagem alvo a codificar pelo uso da diferença entre os da- dos de paralaxe de base transmitidos pela unidade de determinação de da- dos de paralaxe de base 207 e os dados de paralaxe local transmitidos pela unidade de determinação de dados de paralaxe local 2053; uma unidade de codificação de dados de divisão de bloco 2082 para codificar os dados de divisão de bloco determinada; uma unidade de determinação de dados de paralaxe de correção 2083 para determinar dados de paralaxe de correção usados para corrigir os dados de paralaxe de base baseados na restrição de geometria epipolar ao usar os dados de divisão de bloco determinada e a diferença indicada anteriormente; uma unidade de codificação de dados de paralaxe de correção 2084 para codificar os dados de paralaxe de correção determinados; uma unidade de estabelecimento de índice de ponto de visua- lização de referência 2085 para estabelecer um índice de ponto de visualiza- ção de referência para cada bloco ao usar o primeiro índice de ponto de vi- sualização transmitido pela unidade de estabelecimento de índice de ponto de visualização de referência 2052 na unidade de determinação de dados de compensação de paralaxe local 205 e os dados de divisão de bloco; uma unidade de codificação de índice de ponto de visualização 2086 para codifi- car o índice de ponto de visualização estabelecido; uma unidade de determi- nação de vetor de correção 2087 para determinar um vetor de correção usa- do para corrigir uma relação de correspondência independente da restrição de geometria epipolar, onde a relação de correspondência é fornecida por dados baseados na restrição de geometria epipolar; uma unidade de codifi- cação de vetor de correção 2088 para codificar o vetor de correção determi- nado; e uma unidade de estimativa de eficiência de compensação de parala- xe 2089 para estimar a eficiência de predição quando compensação de pa- ralaxe é executada usando os dados determinados por cada unidade perti- nente, a fim de fornecer dados de realimentação para a unidade de determi- nação de vetor de correção 2087.
Uma imagem de paralaxe compensada, a qual é determinada pela unidade de estimativa de eficiência de compensação de paralaxe 2089 para ter a melhor eficiência de compensação de paralaxe, é transmitida para a unidade de codificação de imagem 209.
Além do mais, saída de dados codificados da unidade de codifi- cação de dados de divisão de bloco 2082, da unidade de codificação de da- dos de paralaxe de correção 2084, da unidade de codificação de índice de ponto de visualização 2086 e da unidade de codificação de vetor de corre- ção 2088 formam uma parte da saída de dados do aparelho de codificação de vídeo 200.
As figuras 15 a 18 mostram fluxos de operação executados pelo aparelho de codificação de vídeo 200 tendo a estrutura descrita anteriormen- te. Os processos executados pelo aparelho de codificação de vídeo 200 se- rão explicados detalhadamente de acordo com os fluxos de operação.
A figura 15 mostra o fluxo geral do processo de codificação total executado pelo aparelho de codificação de vídeo 200. Neste fluxo, uma ima- gem obtida pela câmera B e uma imagem obtida pela câmera C, as quais foram obtidas ao mesmo tempo, são codificadas. Primeiro, uma imagem da câmera B e uma imagem da câmera C, as quais foram obtidas ao mesmo tempo, são fornecidas como entradas para a unidade de entrada de imagem 201, e as imagens são armazenadas na memória de imagem 202 (ver a etapa S401). Aqui, uma imagem decodifi- cada de uma imagem da câmera A, a qual foi obtida ao mesmo tempo tal como as imagens fornecidas como entrada, foi fornecida como entrada para a unidade de entrada de imagem de ponto de visualização padrão 203, e foi armazenada na memória de imagem de ponto de visualização padrão 204.
A seguir, na unidade de determinação de dados de compensa- ção de paralaxe local 205, dados de paralaxe local são determinados para cada imagem na memória de imagem pertinente pelo uso das imagens ar- mazenadas na memória de imagem 202 e na memória de imagem de ponto de visualização padrão 204 (ver a etapa S402). Este processo será explica- do detalhadamente mais tarde com referência à figura 16.
Então, na unidade de determinação de dados de compensação de paralaxe global 206, dados de paralaxe global para a imagem de ponto de visualização padrão, a qual satisfaz a restrição de geometria epipolar, são computados usando os dados de paralaxe local, e os dados de paralaxe global são codificados (ver a etapa S403). Este processo será explicado de- talhadamente mais tarde com referência à figura 17.
O processo seguinte (nas etapas S405 a S408) é executado pa- ra cada imagem na memória de imagem 202. Na explicação a seguir, a ima- gem da câmera B é codificada primeiro antes de a imagem da câmera C ser codificada.
Isto é, a imagem da câmera B é lida na memória de imagem 202 e é estabelecida como a imagem alvo a codificar (ver a etapa S404), e os dados de paralaxe global computados na etapa S403 são convertidos pela unidade de determinação de dados de paralaxe de base 207 em dados de paralaxe de base (para a imagem alvo) baseados na restrição de geometria epipolar (ver a etapa S405). Com base nos dados de paralaxe local e nos dados de paralaxe de base, o índice de ponto de visualização de referência, os dados de paralaxe de correção e o vetor de correção, os quais são os dados de compensação de paralaxe, são computados e codificados pela unidade de determinação de dados de compensação de paralaxe 208 em consideração à eficiência de codificação (ver a etapa S406). A imagem alvo é então codificada pela unidade de codificação de imagem 209 pelo uso dos dados de compensação de paralaxe computados (ver a etapa S407). A ima- gem codificada é então decodificada, e é armazenada na memória de ima- gem decodificada 210 (ver a etapa S408).
Se a imagem codificada pertencer à câmera B (ver a etapa S409), a imagem da câmera C é lida na memória de imagem 202 (ver a eta- pa S410), e é codificada por meio de um processo similar (etapas S405 a S408), de maneira que a operação total é completada.
Como o processo na etapa S405 é similar àquele executado na etapa S4 descrita anteriormente (ver a figura 6), explicações do mesmo es- tão omitidas.
Além do mais, o processo na etapa S406 será explicado deta-
lhadamente com referência à figura 18.
A figura 16 mostra um fluxo de operação detalhado da etapa S402 executado pela unidade de determinação de dados de compensação de paralaxe local 205 que aplica a operação pertinente a cada imagem ar- mazenada na memória de imagem 202.
Na segunda modalidade, uma divisão de bloco é estabelecida para cada macrobloco formado por 16x16 pixels, e blocos são produzidos em cada macrobloco pela divisão de bloco. Os dados de paralaxe local são determinados e codificados para cada bloco dividido. Existem muitas formas de divisão de bloco aplicáveis ao macrobloco, e a figura 8 mostra alguns e- xemplos das mesmas.
Similar à primeira modalidade, "blkMode" é um índice mostrando o tipo da divisão de bloco, e "maxBlk[blkMode]" representa o número de blo- cos para divisão de bloco "blkMode". Adicionalmente, "maxBlkMode" repre- senta o número de tipos de divisão de bloco.
Além do mais, "MBBIk" é um índice de cada macrobloco, e "maxMBBIk" indica o número de macroblocos. Na operação pertinente, depois de o índice MBBIk do macroblo- co ser inicializado para zero (ver a etapa S501), o processo (da etapa S502 para a etapa S515) para determinar a divisão de bloco e os dados de para- Iaxe local é executado repetidamente enquanto MBBIk é incrementado por um (ver a etapa S516), até que MBBIk alcança o número "maxMBBIk" de macroblocos na imagem pertinente (ver a etapa S517).
No processo de determinar a divisão de bloco e os dados de pa- ralaxe local, dados de compensação de paralaxe local que são mais ade- quados para cada divisão de bloco são determinados, e uma divisão de blo- co que é estimada de modo mais alto é selecionada.
Especificamente, depois de a divisão de bloco blkMode ser inici- alizada para zero e o melhor valor estimado "bestMBLCost" para o macrob- Ioco ser inicializado para o valor estimado máximo "wMBLCost" que nunca pode ser obtido (ver a etapa S502), o processo seguinte é executado repeti- damente enquanto blkMode é incrementado por um (ver a etapa S514), até que blkMode alcança maxBlkMode (ver a etapa S515). No processo repeti- do, um valor estimado "MBLCost" para a divisão de bloco blkMode é compu- tado (ver as etapas S503 a S511), e se MBLCost for menor do que bestM- BLCost (ver a etapa S512), MBLCost é armazenado como "bestMBLCost", a divisão de bloco correspondente blkMode é armazenada em IBLKMo- defMBBIk], e os dados de compensação de paralaxe local correspondentes tempLDisplnfo (para cada bloco) são armazenados em LDispInfo[cam] (ver a etapa S513).
O "cam" indicado anteriormente é um índice designado para ca- da imagem na memória de imagem 202.
No processo de computar o valor estimado para cada divisão de bloco, dados de compensação de paralaxe local ideais são computados para cada bloco, e a soma total dos mesmos é usada como o valor estimado para a divisão de bloco pertinente.
Especificamente, depois de o índice de bloco "blk" ser inicializa- do para zero e o valor estimado MBLCost para a divisão de bloco também ser inicializado para zero (ver a etapa S503), o processo seguinte é execu- tado repetidamente enquanto "blk" é incrementado por 1 (ver a etapa S510), até que "blk" alcança maxBlkfblkMode] (ver a etapa S511). No processo re- petido, os melhores dados de compensação de paralaxe local bestLDisplnfo e o melhor valor estimado bestBlkLCost para o bloco "blk" são computados (ver as etapas S504 a S509), bestBlkLCost é acrescentado a MBLCost1 e bestLDisplnfo é armazenado em tempLDisplnfo[blk] (ver a etapa S510).
Aqui, se um bloco for predito usando uma outra imagem, os me- lhores dados de compensação de paralaxe local descritos anteriormente pa- ra o bloco são um conjunto de dados que indicam a imagem usada para a predição e os dados de paralaxe local baseados na restrição de geometria epipolar, pelo que o custo de taxa de distorção é minimizado.
Portanto, o custo de taxa de distorção funciona como o valor es- timado para os dados de compensação de paralaxe local, e o processo de computar os melhores dados de compensação de paralaxe local e o melhor valor estimado para um bloco alvo corresponde ao processo de computar um conjunto do índice de ponto de visualização de referência e dos dados de paralaxe local, pelo que o custo de taxa de distorção é minimizado.
Isto é, depois de o índice de dados de compensação de paralaxe local "IDispInfo" correspondendo ao conjunto do índice de ponto de visuali- zação e os dados de paralaxe local ser inicializado para zero, e o melhor custo de taxa de distorção "bestBlkLCost" ser inicializado para o valor máxi- mo "wBlkLCost" que nunca pode ser obtido (ver a etapa S504), o processo seguinte é executado repetidamente enquanto IDispInfo é incrementado por 1 (ver a etapa S508), até que IDispInfo alcança "maxLDispInfo" que é o nú- mero de combinações entre o índice de ponto de visualização e os dados de paralaxe local (ver a etapa S509). No processo repetido, o custo de taxa de distorção "blkLCost" para IDispInfo é computado (ver a etapa S505), e se blkLCost for menor do que bestBlkLCost (ver a etapa S506), então blkLCost é armazenado como bestBlkLCost, e IDispInfo é armazenado como bestL- Displnfo (ver a etapa S507).
O custo de taxa de distorção blkLCost para IDispInfo pode ser computado pela fórmula seguinte. [Fórmula 5]
blkLCost = D3 + A3. Code(IDispInfo)
A = Y\Value(CamJp)- Value(reference, Rp)
Tp β {pixels no bloco} Rp = Trans(cam, reference, Tp1 distcam(IDisplnfo))
Ref = refer(IDisplnfo)
Na fórmula indicada anteriormente A3, é um multiplicador de La- grange não definido e é um valor predeterminado. Além do mais, "distcamO" e "refer()M são funções que têm o mesmo argumento (dados de compensação de paralaxe local) e retornam respectivamente a distância do ponto de visua- lização "cam" ao objeto imageado e o ponto de visualização de referência.
Na codificação real, somente imagens já codificadas podem ser referidas. Portanto, na segunda modalidade, quando "cam" é a câmera B, somente o ponto de visualização padrão pode ser um candidato ao ponto de visualização de referência, e quando "cam" é a câmera C, o ponto de visua- lização padrão e o ponto de visualização da câmera B podem ser candidatos ao ponto de visualização de referência.
A figura 17 mostra um fluxo de operação detalhado do processo na etapa S403 executado na unidade de determinação de dados de com- pensação de paralaxe global 206. Similar à primeira modalidade, na segun- da modalidade, uma divisão de bloco é designada para cada macrobloco, e dados de paralaxe global são computados para cada bloco gerado pela divi- são de bloco.
Primeiro, o candidato a dados de paralaxe global tGDisplnfo é gerado usando os dados de paralaxe local baseados na restrição de geome- tria epipolar, onde os dados de paralaxe local são um elemento dos dados de compensação de paralaxe local LDispInfo determinados pela unidade de determinação de dados de compensação de paralaxe local 205 (ver a etapa S601).
Este processo é executado ao usar o processo (ver a figura 9)
de computar os dados de paralaxe de base, onde os dados de paralaxe local são considerados como os dados de paralaxe global, o ponto de visualiza- ção para o qual os dados de paralaxe local são fornecidos é considerado como o ponto de visualização padrão, e o ponto de visualização padrão é considerado como o ponto de visualização alvo a codificar. Em um caso co- mo este, o resultado correspondendo aos dados de paralaxe de base fun- ciona como o candidato a dados de paralaxe global. O processo indicado anteriormente é executado para cada imagem na memória de imagem 202, e o candidato a dados de paralaxe global para cada imagem é representado por "tGDisplnfo[cam]", onde "cam" é o índice de imagem.
Na segunda modalidade, o tGDisplnfo computado anteriormente é usado para determinar dados de divisão de bloco para cada macrobloco, e dados de paralaxe global são determinados para cada bloco.
Portanto, depois de o índice de macrobloco MBBIk ser inicializa- do para zero (ver a etapa S602), o processo (etapas S603 a S612) para computar a melhor divisão de bloco e os dados de paralaxe global corres- pondentes entre todas as possíveis divisões de bloco é executado repetida- mente enquanto MBBIk é incrementado por 1 (ver a etapa S613), até que MBBIk alcança o número "maxMBBIk" de macroblocos (ver a etapa S614).
Depois disso, os dados de divisão de bloco computada BLKMo- de e os dados de paralaxe global GDispInfo são codificados respectivamente pela unidade de codificação de dados de divisão de bloco 2062 e pela uni- dade de codificação de dados de paralaxe global 2064 (ver a etapa S615).
No processo de computar a melhor divisão de bloco e os dados de paralaxe global correspondentes entre todas as possíveis divisões de bloco, a divisão de bloco de cada candidato a divisão de bloco é estimada, e o candidato tendo o valor estimado mais alto é selecionado como a melhor divisão de bloco.
Portanto, depois de a divisão de bloco blkMode ser inicializada para zero e o melhor valor estimado "bestValue" para o macrobloco ser inici- alizado para "wValue" correspondendo ao pior valor estimado que nunca pode ser obtido (ver a etapa S603), o processo seguinte é executado repeti- damente enquanto blkMode é incrementado por um (ver a etapa S611), até que blkMode alcança maxBlkMode (ver a etapa S612). No processo repeti- do, um valor estimado chamado "value" para a divisão de bloco blkMode é computado (ver as etapas S604 a S608), e se "value" for menor do que "bestValue" (ver a etapa S609), então "value" e "bklkMode" são armazena- dos respectivamente como "bestValue" e "BLKModefMBBIk]", e os dados de paralaxe global computados atualmente tempGDisplnfo são armazenados em GDisplnfo[MBBIk] (vera etapa S610).
O valor estimado chamado "value" para a divisão de bloco blk- Mode é obtido ao computar a soma total dos custos de taxa de distorção para a compensação de paralaxe aplicada a cada bloco dividido.
Portanto, depois de o índice de bloco "blk" ser inicializado para zero e "value" ser inicializado para um valor estimado "InitValuefblkMode]" correspondendo à divisão de bloco blkMode (ver a etapa S604), o processo seguinte é executado repetidamente enquanto a etapa S607 é executada, até que "blk" alcança maxBlk[blkMode] (ver a etapa S608). Na etapa S607, 1 é acrescentado a "blk", o custo de taxa de distorção "blkCost" para o bloco "blk" é acrescentado a "value", e os dados de paralaxe global computados atualmente gDisplnfo são armazenados em tempGDisplnfo[blk]. No proces- so repetido, gDisplnfo é computado usando tGDisplnfo para o bloco "blk" (ver a etapa S605), e o blkCost correspondente é computado (ver a etapa S606).
Adicionalmente, lnitValue[blkMode] é um valor predeterminado dependendo da quantidade de codificação necessária para codificar os da- dos que indicam que a divisão de bloco é blkMode.
No processo de computar gDisplnfo de tGDisplnfo para o bloco "blk", uma média de tGDisplnfo no bloco "blk" é computada e determinada como gDisplnfo. Em vez da média, um valor que aparece mais freqüente- mente pode ser usado.
Um método de computar custos de taxa de distorção de tantos candidatos a fim de selecionar o melhor candidato, ou um método de compu- tar um custo de taxa de distorção para cada valor de candidato periférico a fim de selecionar o melhor candidato, pode ser empregado, onde cada mé- todo pode ser facilmente implementado como uma variação da presente modalidade, e explicações da mesma estão omitidas.
O custo de taxa de distorção blkCost quando os dados de para- Iaxe global para o bloco "blk" são gDisplnfo pode ser computado por uma fórmula similar àquela usada na etapa S105 (ver a figura 7) na primeira mo- dalidade. Além do mais, a fim de reduzir a quantidade de computação, a es- timativa pode ser executado usando a fórmula seguinte.
[Fórmula 6]
blkCost = ]T|tGDispInfo[q]- gDispInfo| + Xl ■ Rate(gDisplnfo)
q G {pixels no bloco "blk"} A figura 18 mostra um fluxo de operação detalhado da etapa
S406 executado na unidade de determinação de dados de compensação de paralaxe 208.
Similar à primeira modalidade, na segunda modalidade, uma divisão de bloco é selecionada para cada macrobloco, e dados de compen- sação de paralaxe, os quais consistem do índice de ponto de visualização de referência, os dados de paralaxe de correção e o vetor de correção são computados e codificados para cada bloco.
O recurso característico em comparação com a primeira modali- dade é computar o vetor de correção depois de a divisão de bloco, o índice de ponto de visualização de referência e os dados de paralaxe de correção serem determinados usando os dados de paralaxe local que são transmiti- dos pela unidade de determinação de dados de paralaxe local 2053 na uni- dade de determinação de dados de compensação de paralaxe local 205.
Isto é, primeiro, um candidato a dados de paralaxe de correção tEDisplnfo é gerado ao computar a diferença entre os dados de paralaxe local e os dados de paralaxe de base (ver a etapa S701).
Então, depois de o índice de macrobloco MBBIk ser inicializado para zero (ver a etapa S702), o processo seguinte é executado repetidamen- te enquanto MBBIk é incrementado por 1 (vera etapa S710), até que MBBIk alcança o número maxMBBIk de macroblocos incluídos na imagem pertinen- te (ver a etapa S711). No processo repetido, a divisão de bloco eBLKMo- de[MBBIk] é determinada (ver a etapa S703), e os dados de compensação de paralaxe EDispInfo são computados (ver a etapa S709).
Depois disso, os dados de divisão de bloco eBLKMode e os da- dos de compensação de paralaxe EDispInfo são codificados (ver a etapa S712).
No processo da etapa S703, a divisão de bloco é determinada
para ser a divisão que produz o número mínimo de blocos divididos, entre formas de divisão de bloco, cada qual satisfaz a condição de que todos os pixels incluídos em cada bloco têm o mesmo valor de tEDisplnfo.
Se existir uma pluralidade de divisões de bloco que satisfazem a condição indicada anteriormente, uma divisão de bloco tendo o maior bloco máximo é selecionada. Se uma divisão de bloco não puder ser determinada por esta condição, qualquer divisão de bloco que satisfaça a condição é se- lecionada.
Adicionalmente, se nenhuma divisão de bloco satisfizer a condi- ção primária, uma divisão de bloco tendo o maior número de blocos e o me- nor tamanho de bloco mínimo é selecionada.
No processo de computar os dados de compensação de parala- xe, os melhores dados de compensação de paralaxe são computados para cada bloco de acordo com a divisão de bloco eBLKMode[MBBIk] determina- da para o macrobloco pertinente.
Isto é, depois de o índice de bloco "blk" ser inicializado para zero (ver a etapa S704), o processo seguinte é executado repetidamente enquan- to "blk" é incrementado por 1 (ver a etapa S708), até que "blk" alcança o número "maxBlk[eBLKMode[MBBIk]]" de blocos (ver a etapa S709). No pro- cesso repetido, (i) os dados de paralaxe de correção "md" são computados usando tEDisplnfo, e o índice de ponto de visualização de referência "ref é computado usando o primeiro índice de ponto de visualização transmitido pela unidade de estabelecimento de índice de ponto de visualização de refe- rência 2052 na unidade de determinação de dados de compensação de pa- ralaxe local 205 (ver a etapa S705), (ii) um vetor de correção "cmv" para mi- nimizar o custo de taxa de distorção do bloco "blk" é computado usando os valores computados na etapa S705 (ver a etapa S706), e (iii) dados de com- pensação de paralaxe correspondendo ao conjunto {md, ref, cmv} são com- putados e são armazenados em EDisplnfo[MBBIk][blk] (ver a etapa S707).
Além do mais, o custo de taxa de distorção para o bloco, o qual é usado no processo da etapa S706, pode ser computado por uma fórmula similar àquela usada para computar um custo na etapa S306 (ver a figura 10) da primeira modalidade.
No processo da etapa S705, os dados de paralaxe de correção são determinados como um valor de tEDisplnfo (designado para cada pixel no bloco pertinente) que aparece mais freqüentemente. Além do mais, o ín- dice de ponto de visualização de referência é determinado como o primeiro índice de ponto de visualização correspondendo a um pixel (no bloco perti- nente) para o qual os dados de paralaxe de correção determinados coinci- dem com tEDisplnfo. Embora um valor de tEDisplnfo, o que aparece mais freqüentemente, seja selecionado no caso mencionado anteriormente, uma média no bloco pode ser usada.
Na unidade de determinação de dados de compensação de pa- ralaxe 208 da segunda modalidade, a divisão de bloco, os dados de parala- xe de correção e o índice de ponto de visualização de referência são deter- minados pelo uso dos dados transmitidos pela unidade de determinação de dados de compensação de paralaxe local 205, sem considerar o custo de taxa de distorção. Entretanto, similar à unidade de determinação de dados de compensação de paralaxe 107 na primeira modalidade, eles podem ser determinados em consideração ao custo de taxa de distorção.
Adicionalmente, não similar à primeira modalidade, somente par- te da divisão de bloco, os dados de paralaxe de correção e o índice de ponto de visualização de referência podem ser determinados em consideração ao custo de taxa de distorção. Um caso como este pode ser facilmente imple- mentado como uma variação produzida ao combinar parcialmente a primeira modalidade com a segunda modalidade, e assim explicações da mesma são omitidas.
Nas primeira e segunda modalidades, a forma de divisão de blo- co é determinada na unidade de estabelecimento de divisão de bloco de i- magem de ponto de visualização padrão 1051 ou 2061 na unidade de de- terminação de dados de compensação de paralaxe global 105 ou 206, e os dados de divisão de bloco como o resultado da mesma são codificados na unidade de codificação de dados de divisão de bloco 1052 ou 2062.
Entretanto, os dados de divisão de bloco podem não ser codifi- cados se a divisão de bloco estabelecida na unidade de estabelecimento de divisão de bloco de imagem de ponto de visualização padrão 1051 ou 2061 coincidir com uma divisão de bloco empregada quando a imagem de ponto de visualização padrão foi codificada para cada bloco.
Em um caso como este, a quantidade de codificação pode ser reduzida por uma quantidade necessária para indicar os dados de divisão de bloco.
Também nas primeira e segunda modalidades, uma imagem alvo a codificar é submetida à compensação de paralaxe pelo uso de uma imagem já codificada de um outro ponto de visualização, e é codificada. En- tretanto, para a codificação de cada bloco na imagem alvo, um tendo uma eficiência de predição mais alta pode ser selecionado entre compensação de paralaxe e compensação de movimento. Em um caso como este, os dados de compensação de paralaxe para cada bloco para os quais nenhuma com- pensação de paralaxe é aplicada podem ser estabelecidos para um valor que produza a quantidade mínima de codificação, onde este método pode ser facilmente implementado como uma variação das modalidades presen- tes, e explicações da mesma são omitidas.
Além do mais, é desnecessário para os tipos da divisão de bloco selecionados pelas unidades pertinentes no aparelho de decodificação ser os mesmos. Particularmente, se a divisão de bloco na imagem de ponto de visualização padrão usada para computar os dados de paralaxe global tiver um maior tamanho de bloco em comparação com as outras divisões de blo- co, a quantidade de codificação dos dados de paralaxe global pode ser re- duzida, e dados de paralaxe geral que não são afetados por um erro de pa- râmetros de câmera ou coisa parecida podem ser representados.
A figura 19 mostra um aparelho de decodificação de vídeo 300 como uma terceira modalidade da presente invenção.
O aparelho de decodificação de vídeo 300 tem uma unidade de entrada de dados codificados 301 para a qual dados codificados são forne- cidos como entrada; uma unidade de entrada de imagem de ponto de visua- lização padrão 302 para a qual uma imagem decodificada da câmera A co- mo o ponto de visualização padrão é fornecida como entrada; uma memória de imagem 303 para armazenar imagens (incluindo a imagem do ponto de visualização padrão) que podem ser referidas em compensação de paralaxe; uma unidade de decodificação de dados de compensação de paralaxe glo- bal 304 para decodificar (a partir dos dados codificados fornecidos como en- trada) os dados de divisão de bloco para o ponto de visualização padrão e os dados de paralaxe global baseados na restrição de geometria epipolar; uma unidade de determinação de dados de paralaxe de base 305 para de- terminar dados de paralaxe de base que são produzidos usando os dados de paralaxe global e que são dados de paralaxe (para o ponto de visualiza- ção de cada imagem alvo a decodificar) baseados na restrição de geometria epipolar; uma unidade de decodificação de dados de compensação de para- laxe 306 para decodificar (os dados codificados fornecidos como entrada) os dados de divisão de bloco para a imagem alvo a decodificar, o índice de ponto de visualização de referência que indica uma imagem de referência usada em compensação de paralaxe, dados de paralaxe de correção para corrigir os dados de paralaxe de acordo com a restrição de geometria epipo- lar, e o vetor de correção para corrigir o ponto correspondente usado em compensação de paralaxe; uma unidade de geração de imagem de paralaxe compensada 307 para gerar um imagem de paralaxe compensada para o ponto de visualização da imagem alvo, com base nos dados decodificados; e uma unidade de decodificação de imagem 308 para decodificar a imagem alvo usando os dados codificados fornecidos como entrada e a imagem de paralaxe compensada gerada. Durante a decodificação da imagem alvo por se referir a um i-
magem já decodificada, a parte de decodificação de imagem 308 pode inclu- ir uma memória para armazenar imagens decodificadas. Uma memória co- mo esta também pode funcionar como a memória de imagem 303.
A figura 20 mostra um fluxo de operação do processo de decodi- ficação na presente modalidade. Neste fluxo, os quadros obtidos pelas câ- meras B e C ao mesmo tempo são decodificados seqüencialmente. A seguir, o fluxo será explicado detalhadamente.
Além do mais, o quadro da câmera A, o qual foi obtido ao mes- mo tempo tal como aquele dos quadros decodificados que tenham sido de- codificados, e parâmetros de câmera de cada câmera foram obtidos.
Primeiramente, dados codificados são fornecidos como entrada para a unidade de entrada de dados codificados 301 (ver a etapa S801). A- lém do mais, um quadro da câmera A, o qual foi obtido ao mesmo tempo que aqueles quadros incluídos nos dados codificados fornecidos como entrada, foi fornecido como entrada para a unidade de entrada de imagem de ponto de visualização padrão 302, e foi armazenado na memória de imagem 303. Os dados codificados fornecidos como entrada são os dados codificados totais de um quadro, os quais foram produzidos por um aparelho de codifica- ção de vídeo tal como mostrado na primeira ou na segunda modalidade.
A seguir, na unidade de decodificação de dados de compensa- ção de paralaxe global 304, os dados de divisão de bloco para a imagem de ponto de visualização padrão são decodificados a partir dos dados codifica- dos fornecidos como entrada e, de acordo com a divisão de bloco pertinente, os dados de paralaxe global para cada bloco são decodificados, a fim de obter os dados de paralaxe global decGDisplnfo para cada pixel da imagem de ponto de visualização padrão (ver a etapa S802).
A seguir, na unidade de determinação de dados de paralaxe de base 305, dados de paralaxe de base decBDisplnfo para o ponto de visuali- zação da câmera B são computados usando decGDisplnfo (ver a etapa 8803).
Este processo é implementado pelo fluxo de operação que foi explicado com referência à figura 9. Entretanto, BDispInfo, GDispInfo1 e a imagem alvo a codificar na figura 9 são considerados respectivamente como decBDisplnfo, decGDisplnfo e a imagem alvo a decodificar. Depois de obter os dados de paralaxe de base, na unidade de decodificação de dados de compensação de paralaxe 306, os dados de divi- são de bloco para câmera B são decodificados a partir dos dados codifica- dos fornecidos como entrada e, de acordo com a divisão de bloco pertinente, o índice de ponto de visualização de referência, os dados de paralaxe de correção e o vetor de correção são decodificados, a fim de obter o índice de ponto de visualização de referência "decRef, os dados de paralaxe de cor- reção "decMd" e o vetor de correção "decCmv" para cada pixel para câmera B (ver a etapa S804). 1O Então, na unidade de geração de imagem de paralaxe compen-
sada 307, uma imagem de paralaxe compensada DCImage para a câmera B é gerada por se referir à imagem pertinente na memória de imagem 303, pelo uso das fórmulas seguintes (ver a etapa S805).
DCImage[PIX] = Value(decRef[PIX], RP); RP = Trans(camB, decRef[PIX], PIX,
dcamB(decBDisplnfo[PIX]+decMd[PIX])) + decCmvfPIX]; onde "camB" indica o ponto de visualização da câmera B, e PIX indica a po- sição de pixel na imagem alvo a decodificar.
Na unidade de decodificação de imagem 308, a imagem B da câmera B é decodificada a partir dos dados codificados fornecidos como en- trada, pelo uso da imagem de paralaxe compensada (ver a etapa S806). A imagem decodificada é armazenada na memória de imagem 303.
Depois disso, um processo similar para as etapas S803 a S806 é aplicado para a câmera C, a fim de decodificar a imagem decodificada da câmera C (ver as etapas S807 a S810).
Os processos de codificação e decodificação de vídeo descritos anteriormente podem ser implementados não somente por um recurso de hardware ou firmware, mas também por um computador e um software. Um programa como este pode ser fornecido pelo seu armazenamento em uma mídia de armazenamento legível por computador, ou através de uma rede.
Embora modalidades da presente invenção tenham sido descri- tas com referência aos desenhos, deve ser entendido que estas são modali- dades exemplares da invenção e não são para ser consideradas como limi- tação. Adições, omissões, ou substituições de elementos estruturais, e ou- tras modificações para as modalidades descritas anteriormente podem ser feitas sem fugir do conceito e escopo da presente invenção.
APLICABILIDADE INDUSTRIAL
De acordo com a presente invenção, codificação altamente efici- ente das imagens de múltiplos pontos de visualização ou de imagens de ví- deo de múltiplos pontos de visualização inteiras pode ser executada pela implementação de compensação de paralaxe tendo uma alta precisão de predição em consideração a uma influência de erros de estimativa de parâ- metros de câmera, ao mesmo tempo que impedindo um grande aumento na quantidade de dados usados para a compensação de paralaxe.

Claims (31)

1. Método de codificação de imagem de determinar um ponto de visualização padrão, e codificar uma imagem de um ponto de visualização a não ser o ponto de visualização padrão ao usar uma imagem já codificada do ponto de visualização padrão, a fim de codificar imagens de múltiplos pontos de visualização, o método compreendendo: uma etapa de determinação de dados de paralaxe global de es- timar e determinar dados de paralaxe global que fornecem paralaxe entre uma imagem de ponto de visualização padrão de referência, a qual é a ima- gem já codificada do ponto de visualização padrão, e todas as imagens de pontos de visualização a não ser o ponto de visualização padrão, com base na restrição de geometria epipolar; uma etapa de codificação de dados de paralaxe global de codifi- car os dados de paralaxe global determinados; uma etapa de determinação de dados de paralaxe de base de converter os dados de paralaxe global determinados em dados de paralaxe de base que fornecem paralaxe entre cada imagem de ponto de visualização alvo a codificar, a qual tem um ponto de visualização a não ser o ponto de visualização padrão, e todos os outros pontos de visualização, com base na restrição de geometria epipolar; uma etapa de determinação de dados de paralaxe de correção de determinar dados de paralaxe de correção definidos como a diferença entre os dados de paralaxe de base e dados de paralaxe que fornecem pa- ralaxe entre a imagem de ponto de visualização alvo e uma imagem de pon- to de visualização de referência já codificada usada em compensação de paralaxe executada durante codificação da imagem de ponto de visualização alvo; uma etapa de codificação de dados de paralaxe de correção de codificar os dados de paralaxe de correção; e uma etapa de codificação de imagem de ponto de visualização de codificar a imagem de ponto de visualização alvo enquanto executando a compensação de paralaxe da imagem de ponto de visualização de referên- cia ao usar dados de ponto correspondente fornecidos pelos dados de para- Iaxe de base e pelos dados de paralaxe de correção.
2. Método de codificação de imagem de determinar um ponto de visualização padrão, e codificar uma imagem de um ponto de visualização a não ser o ponto de visualização padrão ao usar uma imagem já codificada do ponto de visualização padrão, a fim de codificar imagens de múltiplos pontos de visualização, o método compreendendo: uma etapa de determinação de dados de paralaxe global de es- timar e determinar dados de paralaxe global que fornecem paralaxe entre uma imagem de ponto de visualização padrão de referência, a qual é a ima- gem já codificada do ponto de visualização padrão, e todas as imagens de pontos de visualização a não ser o ponto de visualização padrão, com base na restrição de geometria epipolar; uma etapa de codificação de dados de paralaxe global de codifi- car os dados de paralaxe global determinados; uma etapa de determinação de dados de paralaxe de base de converter os dados de paralaxe global determinados em dados de paralaxe de base que fornecem paralaxe entre cada imagem de ponto de visualização alvo a codificar, a qual tem um ponto de visualização a não ser o ponto de visualização padrão, e todos os outros pontos de visualização, com base na restrição de geometria epipolar; uma etapa de determinação de vetor de paralaxe de correção de determinar um vetor de paralaxe de correção definido como a diferença en- tre um vetor de paralaxe fornecido pelos dados de paralaxe de base e um vetor de paralaxe que fornece pontos correspondentes entre a imagem de ponto de visualização alvo e uma imagem de ponto de visualização de refe- rência já codificada usada em compensação de paralaxe executada durante codificação da imagem de ponto de visualização alvo; uma etapa de codificação de vetor de paralaxe de correção de codificar o vetor de paralaxe de correção; e uma etapa de codificação de imagem de ponto de visualização de codificar a imagem de ponto de visualização alvo enquanto executando a compensação de paralaxe da imagem de ponto de visualização de referên- cia ao usar os dados de paralaxe de base e o vetor de paralaxe de correção.
3. Método de codificação de imagem de acordo com a reivindi- cação 1, compreendendo adicionalmente: uma etapa de determinação de vetor de correção de determinar um vetor de correção que indica um deslocamento de um vetor de compen- sação de paralaxe usado na compensação de paralaxe para um vetor de ponto correspondente que é determinado entre a imagem de ponto de visua- lização alvo e a imagem de ponto de visualização de referência, onde o vetor 10 de ponto correspondente é indicado por dados de paralaxe representados ao usar os dados de paralaxe de base determinados na etapa de determinação de dados de paralaxe de base e os dados de paralaxe de correção determi- nados na etapa de determinação de dados de paralaxe de correção; e uma etapa de codificação de vetor de correção de codificar o vetor de correção, em que, na etapa de codificação de imagem de ponto de visuali- zação, a compensação de paralaxe é executada usando o vetor de compen- sação de paralaxe corrigido pelo vetor de correção.
4. Método de codificação de imagem de acordo com qualquer uma das reivindicações 1 e 2, compreendendo adicionalmente: uma etapa de estabelecimento de divisão de área de ponto de visualização padrão de estabelecer uma divisão de área na imagem de pon- to de visualização padrão de referência, em que, na etapa de determinação de dados de paralaxe global, os dados de paralaxe global são estimados e determinados para cada área determinada na etapa de estabelecimento de divisão de área de ponto de visualização padrão.
5. Método de codificação de imagem de acordo com a reivindi- cação 4, em que se a imagem de ponto de visualização padrão de referência total for submetida a uma divisão de área e cada área dividida for codificada então, na etapa de estabelecimento de divisão de área de ponto de visuali- zação padrão, uma divisão de área similar é estabelecida de acordo com dados de divisão de área incluídos nos dados codificados da imagem de ponto de visualização padrão de referência.
6. Método de codificação de imagem de acordo com a reivindi- cação 4, em que se a imagem de ponto de visualização padrão de referência total for submetida a uma divisão de área e cada área dividida for codificada então, na etapa de codificação de divisão de área de ponto de visualização padrão, somente dados que indicam uma diferença de dados de divisão de área incluídos nos dados codificados da imagem de ponto de visualização padrão de referência são codificados.
7. Método de codificação de imagem de acordo com a reivindi- cação 4, compreendendo adicionalmente: uma etapa de codificação de divisão de área de ponto de visua- lização padrão de codificar dados de divisão de área que indicam a divisão de área estabelecida na etapa de estabelecimento de divisão de área de ponto de visualização padrão.
8. Método de codificação de imagem de acordo com qualquer uma das reivindicações 1 e 2, compreendendo adicionalmente: uma etapa de estabelecimento de divisão de área de ponto de visualização alvo de estabelecer uma divisão de área na imagem de ponto de visualização alvo a codificar, em que, na etapa de codificação de imagem de ponto de visuali- zação, a imagem de ponto de visualização alvo é codificada enquanto mu- dando um alvo, o qual é referido na compensação de paralaxe, para cada área determinada na etapa de estabelecimento de divisão de área de ponto de visualização alvo.
9. Método de codificação de imagem de acordo com a reivindi- cação 8, em que se, na etapa de codificação de imagem de ponto de visuali- zação, a imagem de ponto de visualização alvo total for submetida a uma divisão de área e cada área dividida for codificada juntamente com dados de divisão de área que indicam a divisão de área, então a codificação na etapa de codificação de imagem de ponto de visualização é executada usando a divisão de área estabelecida na etapa de codificação de divisão de área de ponto de visualização alvo.
10. Método de codificação de imagem de acordo com a reivindi- cação 8, compreendendo adicionalmente: uma etapa de codificação de divisão de área de ponto de visua- lização alvo de codificar dados de divisão de área que indicam a divisão de área estabelecida na etapa de estabelecimento de divisão de área de ponto de visualização alvo.
11. Método de codificação de imagem de acordo com a reivindi- cação 10, em que se, na etapa de codificação de imagem de ponto de visua- lização, a imagem de ponto de visualização alvo total tiver sido submetida a uma divisão de área e cada área dividida tiver sido codificada juntamente com dados de divisão de área que indicam a divisão de área, então, na eta- pa de codificação de divisão de área de ponto de visualização alvo, somente dados que indicam uma diferença da divisão de área usada na etapa de co- dificação de imagem de ponto de visualização são codificados.
12. Método de codificação de imagem de acordo com qualquer uma das reivindicações 1 e 2, compreendendo adicionalmente: uma unidade de determinação de ponto de visualização de refe- rência de estabelecer um ponto de visualização de referência como o ponto de visualização da imagem de ponto de visualização de referência; e uma etapa de codificar um índice de ponto de visualização que indica o ponto de visualização de referência, em que, na etapa de codificação de imagem de ponto de visuali- zação, uma imagem já codificada do ponto de visualização de referência é usada como a imagem de ponto de visualização de referência.
13. Método de codificação de imagem de acordo com a reivindi- cação 8, compreendendo adicionalmente: uma unidade de determinação de ponto de visualização de refe- rência de estabelecer um ponto de visualização de referência como o ponto de visualização da imagem de ponto de visualização de referência, para ca- da área dividida determinada na etapa de estabelecimento de divisão de á- rea de ponto de visualização alvo; e uma etapa de codificar um índice de ponto de visualização que indica o ponto de visualização de referência, em que na etapa de codificação de imagem de ponto de visuali- zação, para cada área dividida determinada na etapa de estabelecimento de divisão de área de ponto de visualização alvo, uma imagem já codificada do ponto de visualização de referência é usada como a imagem de ponto de visualização de referência.
14. Método de codificação de imagem de acordo com qualquer uma das reivindicações 1 e 2, compreendendo adicionalmente: uma etapa de estabelecimento de divisão de área de estabele- cer uma divisão de área na imagem de ponto de visualização alvo a codifi- car; uma etapa de determinar dados de paralaxe local para cada á- rea dividida determinada na etapa de estabelecimento de divisão de área, onde os dados de paralaxe local fornecem um ponto correspondente usado para submeter a imagem alvo a codificar à compensação de paralaxe com base na restrição de geometria epipolar; e uma etapa de estabelecimento de candidato a dados de parala- xe global de estabelecer candidatos a dados de paralaxe global a fim de converter os dados de paralaxe local nos dados de paralaxe global, em que na etapa de estabelecimento de candidato a dados de paralaxe global, para cada área, uma média dos candidatos a dados de pa- ralaxe global ou um valor entre os candidatos a dados de paralaxe global que aparece mais freqüentemente é determinado como os dados de parala- xe global.
15. Método de decodificação de imagem de decodificar uma i- magem de um ponto de visualização a não ser um ponto de visualização padrão já determinado ao usar uma imagem de ponto de visualização pa- drão de referência que é uma imagem já decodificada do ponto de visualiza- ção padrão, a fim de decodificar dados codificados de imagens de múltiplos pontos de visualização, o método compreendendo: uma etapa de decodificação de dados de paralaxe global de de- codificar, a partir dos dados codificados, dados de paralaxe global que for- necem paralaxe entre a imagem de ponto de visualização padrão de refe- rência e todas as imagens de pontos de visualização a não ser o ponto de visualização padrão, com base na restrição de geometria epipolar; uma etapa de determinação de dados de paralaxe de base de converter os dados de paralaxe global decodificados em dados de paralaxe de base que fornecem paralaxe entre cada imagem de ponto de visualização alvo a decodificar, a qual tem um ponto de visualização a não ser o ponto de visualização padrão, e todos os outros pontos de visualização, com base na restrição de geometria epipolar; uma etapa de decodificação de dados de paralaxe de correção de decodificar, a partir dos dados codificados, dados de paralaxe de corre- ção definidos como a diferença entre os dados de ponto de visualização de base e dados de paralaxe que fornecem paralaxe entre a imagem de ponto de visualização alvo e uma imagem de ponto de visualização de referência já decodificada usada em compensação de paralaxe executada durante de- codificação da imagem de ponto de visualização alvo; e uma etapa de decodificação de imagem de ponto de visualiza- ção de decodificar a imagem de ponto de visualização alvo a partir dos da- dos codificados enquanto executando a compensação de paralaxe da ima- gem de ponto de visualização de referência ao usar dados de ponto corres- pondente fornecidos pelos dados de paralaxe de base e pelos dados de pa- ralaxe de correção.
16. Método de decodificação de imagem de decodificar uma i- magem de um ponto de visualização a não ser um ponto de visualização padrão já determinado ao usar uma imagem de ponto de visualização pa- drão de referência que é uma imagem já decodificada do ponto de visualiza- ção padrão, a fim de decodificar dados codificados de imagens de múltiplos pontos de visualização, o método compreendendo: uma etapa de decodificação de dados de paralaxe global de de- codificar, a partir dos dados codificados, dados de paralaxe global que for- necem paralaxe entre a imagem de ponto de visualização padrão de refe- rência e todas as imagens de pontos de visualização a não ser o ponto de visualização padrão, com base na restrição de geometria epipolar; uma etapa de determinação de dados de paralaxe de base de converter os dados de paralaxe global decodificados em dados de paralaxe de base que fornecem paralaxe entre cada imagem de ponto de visualização alvo a decodificar, a qual tem um ponto de visualização a não ser o ponto de visualização padrão, e todos os outros pontos de visualização, com base na restrição de geometria epipolar; uma etapa de decodificação de vetor de paralaxe de correção de decodificar, a partir dos dados codificados, um vetor de paralaxe de correção definido como a diferença entre um vetor de paralaxe fornecido pelos dados de ponto de visualização de base e um vetor de paralaxe que fornece pontos correspondentes entre a imagem de ponto de visualização alvo e uma ima- gem de ponto de visualização de referência já decodificada usada em com- pensação de paralaxe executada durante decodificação da imagem de ponto de visualização alvo; e uma etapa de decodificação de imagem de ponto de visualiza- ção de decodificar a imagem de ponto de visualização alvo a partir dos da- dos codificados enquanto executando a compensação de paralaxe da ima- gem de ponto de visualização de referência ao usar dados de ponto corres- pondente fornecidos pelos dados de paralaxe de base e pelo vetor de para- laxe de correção.
17. Método de decodificação de imagem de acordo com a rei- vindicação 15, compreendendo adicionalmente: uma etapa de decodificação de vetor de correção de decodificar, a partir dos dados codificados, um vetor de correção que indica uma diferen- ça de um vetor de ponto correspondente que é determinado entre a imagem de ponto de visualização alvo e a imagem de ponto de visualização de refe- rência para um vetor de compensação de paralaxe usado na compensação de paralaxe, onde o vetor de ponto correspondente é representado usando os dados de paralaxe de base determinados na etapa de determinação de dados de paralaxe de base e os dados de paralaxe de correção decodifica- dos na etapa de decodificação de dados de paralaxe de correção; em que, na etapa de decodificação de imagem de ponto de vi- sualização, a compensação de paralaxe é executada usando o vetor de compensação de paralaxe corrigido pelo vetor de correção.
18. Método de decodificação de imagem de acordo com qual- quer uma das reivindicações 15 e 16, compreendendo adicionalmente: uma etapa de decodificação de divisão de área de ponto de vi- sualização padrão de decodificar, a partir dos dados codificados, dados que indicam uma divisão de área na imagem de ponto de visualização padrão de referência, em que, na etapa de decodificação de dados de paralaxe global, os dados de paralaxe global são decodificados para cada área da divisão de área obtida pela etapa de decodificação de divisão de área de ponto de vi- sualização padrão.
19. Método de decodificação de imagem de acordo com a rei- vindicação 18, em que se a imagem de ponto de visualização padrão de re- ferência total for submetida a uma divisão de área e cada área dividida for codificada, então, na etapa de decodificação de divisão de área de ponto de visualização padrão, a divisão de área é estabelecida usando dados que são incluídos nos dados codificados da imagem de ponto de visualização padrão de referência e indicam uma divisão de área.
20. Método de decodificação de imagem de acordo com a rei- vindicação 18, em que se a imagem de ponto de visualização padrão de re- ferência total for submetida a uma divisão de área e cada área dividida for codificada, então: na etapa de decodificação de divisão de área de ponto de visua- lização padrão, dados de indicação de diferença são decodificados, os quais indicam uma diferença de dados de divisão de área que são incluídos nos dados codificados da imagem de ponto de visualização padrão de referência e indicam uma divisão de área; e a divisão de área na decodificação dos dados de paralaxe global é estabelecida usando os dados de divisão de área e os dados de indicação de diferença.
21. Método de decodificação de imagem de acordo com qual- quer uma das reivindicações 15 e 16, compreendendo adicionalmente: uma etapa de decodificação de divisão de área de ponto de vi- sualização alvo de decodificar, a partir dos dados codificados, dados que indicam uma divisão de área na imagem de ponto de visualização alvo a de- codificar, em que na etapa de decodificação de imagem de ponto de vi- sualização, a imagem de ponto de visualização alvo é decodificada enquanto mudando um vetor de compensação de paralaxe usado na compensação de paralaxe, para cada área da divisão de área indicada pelos dados decodifi- cados na etapa de decodificação de divisão de área de ponto de visualiza- ção alvo.
22. Método de decodificação de imagem de acordo com a rei- vindicação 21, em que se a imagem de ponto de visualização alvo total tiver sido submetida a uma divisão de área e cada área dividida tiver sido codifi- cada juntamente com dados que indicam a divisão de área, então, na etapa de decodificação de divisão de área de ponto de visualização alvo, a divisão de área é estabelecida usando dados que são incluídos nos dados codifica- dos da imagem de ponto de visualização alvo e indicam uma divisão de á- rea.
23. Método de decodificação de imagem de acordo com a rei- vindicação 21, em que se a imagem de ponto de visualização alvo total tiver sido submetida a uma divisão de área e cada área dividida tiver sido codifi- cada juntamente com dados de divisão de área que indicam a divisão de área, então, na etapa de decodificação de divisão de área de ponto de visua- lização alvo, dados de indicação de diferença, os quais dizem respeito à di- visão de área e indicam uma diferença dos dados de divisão de área, são decodificados a partir dos dados codificados, e a divisão de área usada para mudar o vetor de compensação de paralaxe é estabelecida usando os dados de divisão de área e os dados de indicação de diferença.
24. Método de decodificação de imagem de acordo com qual- quer uma das reivindicações 15 e 16, compreendendo adicionalmente: uma etapa de decodificação de índice de ponto de visualização para decodificar, a partir dos dados codificados, um índice de ponto de vi- sualização que indica o ponto de visualização da imagem de ponto de visua- lização de referência; e uma etapa de determinar o ponto de visualização, o qual é indi- cado pelo índice de ponto de visualização, como um ponto de visualização de referência, em que, na etapa de decodificação de imagem de ponto de vi- sualização, uma imagem já decodificada do ponto de visualização de refe- rência é usada como a imagem de ponto de visualização de referência.
25. Método de decodificação de imagem de acordo com a rei- vindicação 21, compreendendo adicionalmente: uma etapa de decodificação de índice de ponto de visualização para decodificar, a partir dos dados codificados, um índice de ponto de vi- sualização que indica o ponto de visualização da imagem de ponto de visua- lização de referência, para cada área dividida determinada pela etapa de decodificação de divisão de área de ponto de visualização alvo; e uma etapa de determinar o ponto de visualização, o qual é indi- cado pelo índice de ponto de visualização, como um ponto de visualização de referência para cada área dividida determinada pela etapa de decodifica- ção de divisão de área de ponto de visualização alvo, em que na etapa de decodificação de imagem de ponto de vi- sualização, para cada área dividida determinada pela etapa de decodificação de divisão de área de ponto de visualização alvo, uma imagem já decodifi- cada do ponto de visualização de referência é usada como a imagem de ponto de visualização de referência.
26. Aparelho de codificação de imagem tendo dispositivos para executar as etapas no método de codificação de imagem de acordo com qualquer uma das reivindicações 1 e 2.
27. Programa de codificação de imagem pelo qual um computa- dor executa as etapas no método de codificação de imagem de acordo com qualquer uma das reivindicações 1 e 2.
28. Mídia de armazenamento legível por computador que arma- zena um programa de codificação de imagem pelo qual um computador exe- cuta as etapas no método de codificação de imagem de acordo com qual- quer uma das reivindicações 1 e 2.
29. Aparelho de decodificação de imagem tendo dispositivos pa- ra executar as etapas no método de decodificação de imagem de acordo com qualquer uma das reivindicações 15 e 16.
30. Programa de decodificação de imagem pelo qual um compu- tador executa as etapas no método de decodificação de imagem de acordo com qualquer uma das reivindicações 15 e 16.
31. Mídia de armazenamento legível por computador que arma- zena um programa de decodificação de imagem pelo qual um computador executa as etapas no método de decodificação de imagem de acordo com qualquer uma das reivindicações 15 e 16.
BRPI0716814-4A2A 2006-09-20 2007-09-18 Método de codificação de imagem, e método de decodificação, aparelhos para isso, aparelho de decodificação de imagem, programas para isso, e mídias de armazenamento para armazenar os programas BRPI0716814A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006-254023 2006-09-20
JP2006254023 2006-09-20
PCT/JP2007/068041 WO2008035654A1 (fr) 2006-09-20 2007-09-18 Procédés et dispositifs de codage et de décodage d'image, dispositif et programmes de décodage d'image, et support de stockage desdits programmes

Publications (1)

Publication Number Publication Date
BRPI0716814A2 true BRPI0716814A2 (pt) 2013-11-05

Family

ID=39200480

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0716814-4A2A BRPI0716814A2 (pt) 2006-09-20 2007-09-18 Método de codificação de imagem, e método de decodificação, aparelhos para isso, aparelho de decodificação de imagem, programas para isso, e mídias de armazenamento para armazenar os programas

Country Status (10)

Country Link
US (1) US8385628B2 (pt)
EP (1) EP2066132A4 (pt)
JP (1) JP4999853B2 (pt)
KR (1) KR101031624B1 (pt)
CN (1) CN101536529B (pt)
BR (1) BRPI0716814A2 (pt)
CA (1) CA2663084C (pt)
RU (1) RU2406257C2 (pt)
TW (1) TWI348320B (pt)
WO (1) WO2008035654A1 (pt)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918862B1 (ko) * 2007-10-19 2009-09-28 광주과학기술원 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체
JP5219199B2 (ja) * 2008-07-11 2013-06-26 日本電信電話株式会社 多視点画像符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびコンピュータ読み取り可能な記録媒体
CN106507117B (zh) 2008-07-20 2020-01-21 杜比实验室特许公司 立体视频传送系统的编码器优化的方法和设备
WO2010108024A1 (en) * 2009-03-20 2010-09-23 Digimarc Coporation Improvements to 3d data representation, conveyance, and use
JP2011060216A (ja) * 2009-09-14 2011-03-24 Fujifilm Corp 画像処理装置および画像処理方法
KR101623062B1 (ko) * 2010-02-23 2016-05-20 니폰덴신뎅와 가부시키가이샤 움직임 벡터 추정 방법, 다시점 영상 부호화 방법, 다시점 영상 복호 방법, 움직임 벡터 추정 장치, 다시점 영상 부호화 장치, 다시점 영상 복호 장치, 움직임 벡터 추정 프로그램, 다시점 영상 부호화 프로그램 및 다시점 영상 복호 프로그램
KR101628383B1 (ko) 2010-02-26 2016-06-21 연세대학교 산학협력단 영상 처리 장치 및 방법
RU2480941C2 (ru) 2011-01-20 2013-04-27 Корпорация "Самсунг Электроникс Ко., Лтд" Способ адаптивного предсказания кадра для кодирования многоракурсной видеопоследовательности
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
MX341889B (es) * 2011-06-30 2016-09-07 Sony Corp Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
JP5367034B2 (ja) * 2011-08-24 2013-12-11 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
CN103748883B (zh) * 2011-08-31 2017-12-15 索尼公司 编码设备、编码方法、解码设备和解码方法
KR101383486B1 (ko) 2011-12-07 2014-04-09 경희대학교 산학협력단 다중 시점 영상 부호화를 위한 다중 시점 영상의 평행화 방법
TWI618403B (zh) * 2012-04-16 2018-03-11 Jvc Kenwood Corp Dynamic image decoding device, dynamic image decoding method, and recording medium storing dynamic image decoding program
JP5531282B2 (ja) * 2012-06-18 2014-06-25 日本電信電話株式会社 多視点画像符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびコンピュータ読み取り可能な記録媒体
WO2014005280A1 (en) * 2012-07-03 2014-01-09 Mediatek Singapore Pte. Ltd. Method and apparatus to improve and simplify inter-view motion vector prediction and disparity vector prediction
JP5833757B2 (ja) * 2012-07-09 2015-12-16 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム及び記録媒体
WO2014050827A1 (ja) * 2012-09-25 2014-04-03 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム及び記録媒体
US9350970B2 (en) 2012-12-14 2016-05-24 Qualcomm Incorporated Disparity vector derivation
CN107318027B (zh) * 2012-12-27 2020-08-28 日本电信电话株式会社 图像编码/解码方法、图像编码/解码装置、以及图像编码/解码程序
JP2014176034A (ja) * 2013-03-12 2014-09-22 Ricoh Co Ltd 映像伝送装置
JP2015050661A (ja) * 2013-09-02 2015-03-16 キヤノン株式会社 符号化装置、符号化装置の制御方法、及び、コンピュータプログラム
EP3142366A1 (en) 2015-09-14 2017-03-15 Thomson Licensing Method and apparatus for encoding and decoding a light field based image, and corresponding computer program product
JP2017211694A (ja) * 2016-05-23 2017-11-30 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US10638130B1 (en) * 2019-04-09 2020-04-28 Google Llc Entropy-inspired directional filtering for image coding
CN111372081B (zh) * 2020-03-17 2022-06-17 四川大学 基于丢失块修复的分布式多视点视频解码的方法和装置
GB2608496B (en) * 2021-05-07 2024-04-24 Canon Kk Image processing apparatus and method, and image capturing apparatus and control method thereof, program, and storage medium
CN114926347A (zh) * 2021-09-23 2022-08-19 星宸科技股份有限公司 图像校正方法及处理器

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790086A (en) 1995-01-04 1998-08-04 Visualabs Inc. 3-D imaging system
US6049619A (en) * 1996-02-12 2000-04-11 Sarnoff Corporation Method and apparatus for detecting moving objects in two- and three-dimensional scenes
JPH09261653A (ja) * 1996-03-18 1997-10-03 Sharp Corp 多視点画像符号化装置
JP3693407B2 (ja) * 1996-04-04 2005-09-07 シャープ株式会社 多視点画像符号化装置および復号装置
FR2756399B1 (fr) 1996-11-28 1999-06-25 Thomson Multimedia Sa Procede et dispositif de compression video pour images de synthese
JP4013286B2 (ja) * 1997-01-22 2007-11-28 松下電器産業株式会社 画像符号化装置と画像復号化装置
JP3519594B2 (ja) * 1998-03-03 2004-04-19 Kddi株式会社 ステレオ動画像用符号化装置
JP4608136B2 (ja) * 2001-06-22 2011-01-05 オリンパス株式会社 動きベクトル及び視差ベクトル検出装置
AU2003244156A1 (en) * 2002-06-28 2004-01-19 Sharp Kabushiki Kaisha Image data delivery system, image data transmitting device thereof, and image data receiving device thereof
US7778328B2 (en) 2003-08-07 2010-08-17 Sony Corporation Semantics-based motion estimation for multi-view video coding
JP2006054504A (ja) * 2004-08-09 2006-02-23 Olympus Corp 画像生成方法および装置
WO2006080739A1 (en) * 2004-10-12 2006-08-03 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding multi-view video using image stitching
CN100584013C (zh) 2005-01-07 2010-01-20 日本电信电话株式会社 视频编码方法及装置、视频解码方法及装置
JP2006254023A (ja) 2005-03-10 2006-09-21 Matsushita Electric Ind Co Ltd 字幕用表示言語選択装置およびその方法
KR101276720B1 (ko) * 2005-09-29 2013-06-19 삼성전자주식회사 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
EP1929783B1 (en) * 2005-09-29 2017-06-21 Samsung Electronics Co., Ltd. Method and apparatus for encoding a multi-view picture using disparity vectors, and computer readable recording medium storing a program for executing the method
JP5234586B2 (ja) * 2006-01-05 2013-07-10 日本電信電話株式会社 映像符号化方法及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
TW200806040A (en) * 2006-01-05 2008-01-16 Nippon Telegraph & Telephone Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs

Also Published As

Publication number Publication date
CA2663084A1 (en) 2008-03-27
RU2406257C2 (ru) 2010-12-10
KR20090053821A (ko) 2009-05-27
US8385628B2 (en) 2013-02-26
CA2663084C (en) 2014-08-12
US20100086222A1 (en) 2010-04-08
CN101536529A (zh) 2009-09-16
RU2009107689A (ru) 2010-09-10
TW200822761A (en) 2008-05-16
JP4999853B2 (ja) 2012-08-15
JPWO2008035654A1 (ja) 2010-01-28
TWI348320B (en) 2011-09-01
EP2066132A1 (en) 2009-06-03
EP2066132A4 (en) 2012-11-07
WO2008035654A1 (fr) 2008-03-27
KR101031624B1 (ko) 2011-04-27
CN101536529B (zh) 2011-08-31

Similar Documents

Publication Publication Date Title
BRPI0716814A2 (pt) Método de codificação de imagem, e método de decodificação, aparelhos para isso, aparelho de decodificação de imagem, programas para isso, e mídias de armazenamento para armazenar os programas
US12389030B2 (en) Method and device for image motion compensation
KR101023262B1 (ko) 화상 부호화 방법 및 복호 방법, 이들의 장치 및 이들의 프로그램과 프로그램을 기록한 기억매체
BRPI0620645A2 (pt) método para codificação e método para decodificação, aparelhos para tal, programas para tal, e meio de armazenagem para armazenar os programas
BRPI0706214A2 (pt) método de codificação e decodificação de vìdeo, aparelhos para os mesmos, programas para os mesmos e meios de armazenamento para armazenar os programas
BRPI0721077A2 (pt) Método de codificação e método de decodificação de vídeo, aparelhos para os mesmos, programas para os mesmos, e meio de armazenamento o qual armazena os programas
KR20150034213A (ko) 추가 파라미터들(변형들)의 전송 없이, 참조 프레임들의 적응적 국부 조명 보정에 기반한, 멀티-뷰 비디오 시퀀스 코딩/디코딩 방법
JP6232076B2 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置、映像符号化プログラム及び映像復号プログラム
TWI499277B (zh) 多視點畫像編碼方法、多視點畫像解碼方法、多視點畫像編碼裝置、多視點畫像解碼裝置及這些程式
JP6232075B2 (ja) 映像符号化装置及び方法、映像復号装置及び方法、及び、それらのプログラム
JP4944046B2 (ja) 映像符号化方法,復号方法,符号化装置,復号装置,それらのプログラムおよびコンピュータ読み取り可能な記録媒体
WO2015056712A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]
B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]
B15K Others concerning applications: alteration of classification

Ipc: H04N 19/103 (2014.01), H04N 19/147 (2014.01), H04N