BR112012024955B1 - Método, aparelho e mídia legível por processador para mapas de disparidade 3d - Google Patents

Método, aparelho e mídia legível por processador para mapas de disparidade 3d Download PDF

Info

Publication number
BR112012024955B1
BR112012024955B1 BR112012024955-0A BR112012024955A BR112012024955B1 BR 112012024955 B1 BR112012024955 B1 BR 112012024955B1 BR 112012024955 A BR112012024955 A BR 112012024955A BR 112012024955 B1 BR112012024955 B1 BR 112012024955B1
Authority
BR
Brazil
Prior art keywords
disparity
resolution
image
disparity value
video
Prior art date
Application number
BR112012024955-0A
Other languages
English (en)
Other versions
BR112012024955A2 (pt
Inventor
Thierry Borel
Ralf Ostermann
Wolfram Putzke-Roeming
Original Assignee
Interdigital Ce Patent Holdings
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 Interdigital Ce Patent Holdings filed Critical Interdigital Ce Patent Holdings
Publication of BR112012024955A2 publication Critical patent/BR112012024955A2/pt
Publication of BR112012024955B1 publication Critical patent/BR112012024955B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Television Systems (AREA)

Abstract

mapas de disparidade 3d. a presente invenção se refere a uma implementação particular que acessa um valor de disparidade em uma localização particular em uma imagem, o valor de disparidade que indica a disparidade em relação a uma resolução particular. a particular implementação modifica o valor de disparidade acessado com base nas múltiplas resoluções para produzir um valor de disparidade modificado. outra implementação acessa um valor de disparidade para uma localização particular em uma imagem, a imagem que tem uma resolução particular, e o valor de disparidade que indica a disparidade em relação à outra resolução que é diferente da resolução particular e que se baseia em múltiplas resolução. uma implementação adicional modifica o valor de disparidade acessado para produzir um valor de disparidade modificado que indica a dispariadde em relação à resolução particular.

Description

Referência Cruzada aos Pedidos Relacionados
Este pedido reivindica o benefício da data de depósito dos pedidos provisórios U.S., que são incorporados no presente documento a título de referência em sua totalidade para todos os propósitos: (i) número de série 61/397.418, depositado em 11 de junho de 2010, e intitulado "3D Disparity Maps", e (ii) número de série 61/319.566, depositado em 31 de março de 2010, e intitulado "Dense Disparity Maps”.
Campo da Técnica
Descrevem-se implementações que se referem a 3D. Diversas implementações particulares se referem a mapas de disparidade para imagens de vídeo.
Antecedentes da Invenção
O vídeo estereoscópico proporciona duas imagens de vídeo, que incluem uma imagem de vídeo esquerda e uma imagem de vídeo direita. As informações de profundidade e/ou disparidade também podem ser proporcionadas para estas duas imagens de vídeo. As informações de profundidade e/ou disparidade podem ser usadas em uma variedade de operações de processamento nas duas imagens de vídeo.
Sumário da Invenção
De acordo com um aspecto geral, um valor de disparidade para uma localização particular em uma imagem é acessado. O valor de disparidade indica a disparidade em relação a uma resolução particular. O valor de disparidade acessado é modificado com base em múltiplas resoluções para produzir um valor de disparidade modificado.
De acordo com outro aspecto geral, um sinal ou estrutura inclui uma porção de disparidade que inclui um valor de disparidade para uma localização particular em uma imagem. A imagem tem uma resolução particular. O valor de disparidade indica a disparidade em relação à outra resolução que é diferente da resolução particular e que se baseia em múltiplas resoluções. De acordo com outro aspecto geral, um valor de disparidade para uma localização particular em uma imagem é acessado. A imagem tem uma resolução particular. O valor de disparidade indica a disparidade em relação à outra resolução que é diferente da resolução particular e que se baseia em múltiplas resoluções. O valor de disparidade acessado é modificado para produzir um valor de disparidade modificado que indica a disparidade em relação à resolução particular.
Os detalhes de uma ou mais implementações são estabelecidos nos desenhos em anexo e na descrição abaixo. Mesmo se descritas de uma maneira particular, deve ficar claro que as implementações podem ser configuradas ou incorporadas de diversas maneiras. Por exemplo, uma implementação pode ser realizada como um método, ou incorporada como um aparelho, tal como, por exemplo, um aparelho configurado para realizar um conjunto de operações ou um aparelho que armazena instruções para realizar um conjunto de operações, ou incorporado em um sinal. Outros aspectos e recursos se tornarão aparentes a partir da seguinte descrição detalhada considerada em conjunto com os desenhos em anexo e as reivindicações.
Breve Descrição dos Desenhos
A Figura 1 é uma representação pictórica de um valor de profundidade real para câmeras paralelas.A Figura 2 é uma representação pictórica de um valor de disparidade.A Figura 3 é uma representação pictórica da relação entre a profundidade e disparidade aparentes.A Figura 4 é uma representação pictórica de câmeras convergentes.A Figura 5 é uma representação pictórica de oclusão nos pares de imagem de vídeo estereoscópico.A Figura 6 é um diagrama de bloco/fluxograma que mostra uma implementação que tem um formato nativo e formato de transmissão diferentes.A Figura 7 é uma representação tabular de um exemplo de uma representação de múltiplo comum de valores de disparidade. A Figura 8 é um diagrama de bloco/fluxograma que mostra um exemplo de um processo para transmissão e uso de uma representação de múltiplo comum de valores de disparidade. A Figura 9 é um diagrama de bloco/fluxograma que mostra um exemplo de um sistema de transmissão que pode ser usado em uma ou mais implementações.A Figura 10 é um diagrama de bloco/fluxograma que mostra um exemplo de um sistema de recepção que pode ser usado com uma ou mais implementações.
Descrição Detalhada
Como uma pré-visualização de alguns dos recursos apresentados neste pedido, pelo menos uma implementação descreve o uso de valores de disparidade com base em uma resolução consideravelmente maior que qualquer resolução maior da tela padrão. Neste pedido, o termo "resolução" geralmente se refere à resolução horizontal, e é medida, por exemplo, em número de pixels de uma tela ou número de blocos de pixels de uma tela, ou número de elementos de uma imagem digital. A resolução não-padrão é um número inteiro que é facilmente convertido em uma ou mais entre diversas resoluções de tela padrão. Nesta implementação particular, a resolução de tela efetiva é o menor múltiplo comum de diversas resoluções de tela padrão. Os valores de disparidade para a resolução de tela efetiva são representados no formato de número inteiro. Os valores de disparidade são potencialmente grandes, como um resultado de serem baseados em uma resolução não-padrão grande. Todavia, as representações de número inteiro proporcionam a precisão de subpixel quando os valores de disparidade forem descendentemente convertidos até uma resolução de tela padrão.
Referindo-se novamente à apresentação acima, a Figura 1 ilustra o conceito de profundidade em uma imagem de vídeo. A Figura 1 mostra uma câmera direita 105 com um sensor 107, e uma câmera esquerda 110 com um sensor 112. Ambas as câmeras 105, 110 são imagens de captura de um objeto 115. Para os propósitos de ilustração, o objeto 115 é uma cruz física, que tem um detalhe arbitrário 116 situado no lado direito da cruz (vide Figura 2). A câmera direita 105 tem um ângulo de captura 120, e a câmera esquerda 110 tem um ângulo de captura 125. Os dois ângulos de capturas 120, 125 se sobrepõem em uma área estéreo 3D 130.
Devido ao fato de que o objeto 115 se encontra na área estéreo 3D 130, o objeto 115 é visível para ambas as câmeras 105, 110 e, portanto, o objeto 115 é capaz de ser percebido tendo uma profundidade. O objeto 115 tem uma profundidade real 135. A profundidade real 135 é geralmente referida como a distância do objeto 115 para as câmeras 105, 110. Mais especificamente, a profundidade real 135 pode ser referida como a distância do objeto 115 até uma linha de base de câmera estéreo 140, que é o plano definido pelo plano de pupila de entrada de ambas as câmeras 105, 110. O plano de pupila de entrada de uma câmera se encontra tipicamente dentro de uma lente de aumento e, portanto, não é fisicamente acessível de maneira típica.
As câmeras 105, 110 também são mostradas tendo um comprimento focal 145. O comprimento focal 145 é a distância do plano de pupila de saída até os sensores 107, 112. Para os propósitos de ilustração, o plano de pupila de entrada e o plano de pupila de saída são mostrados como coincidentes, quando na maioria dos casos eles são ligeiramente separados. De maneira adicional, as câmeras 105, 110 são mostradas tendo um comprimento de linha de base 150. O comprimento de linha de base 150 é a distância entre os centros das pupilas de entrada das câmeras 105, 110 e, portanto, é medido na linha de base de câmera estéreo 140.
O objeto 115 é imaginado por cada uma das câmeras 105 e 110 como imagens reais em cada um dos sensores 107 e 112. Estas imagens reais incluem uma imagem real 1 17 do detalhe 116 no sensor 107, e uma imagem real 118 do detalhe 116 no sensor 112. Conforme mostrado na Figura 1, as imagens reais são viradas, como é conhecido na técnica.
A profundidade é estritamente relacionada à disparidade. A Figura 2 mostra uma imagem esquerda 205 capturada a partir da câmera 110, e uma imagem direita 210 capturada a partir da câmera 105. Ambas as imagens 205, 210 incluem a representação do objeto 115 com o detalhe 116. A imagem 210 inclui uma imagem detalhada 217 do detalhe 116, e a imagem 205 inclui uma imagem detalhada 218 do detalhe 116. O ponto à direita distante do detalhe 116 é capturado em um pixel 220 na imagem detalhada 218 na imagem esquerda 205 e é capturado em um pixel 225 na imagem detalhada 217 na imagem direita 210. A diferença horizontal entre as localizações do pixel 220 e do pixel 225 é a disparidade 230. Supõe-se que as imagens de objeto 27, 218 são registradas verticalmente, de modo que as imagens do detalhe 116 tenham o mesmo posicionamento vertical em ambas as imagens 205, 210. A disparidade 230 proporciona uma percepção de profundidade ao objeto 215 quando as imagens esquerda e direita 205, 210 são visualizadas pelos olhos esquerdo e direito, respectivamente, de um visualizador. A Figura 3 mostra a relação entre a disparidade e profundidade percebidas. Três observadores 305, 307, 309 são mostrados visualizando um par de imagens estereoscópicas para um objeto nas respectivas telas 310, 320, 330.
O primeiro observador 305 visualiza uma vista esquerda 315 do objeto e uma vista direita 37 do objeto que têm uma disparidade positiva. A disparidade positiva reflete o fato de que a vista esquerda 31 5 do objeto se encontra à esquerda da vista direita 317 do objeto na tela 310. A disparidade positiva resulta em um objeto percebido ou virtual 319 que aparece atrás do plano da tela 310.
O segundo observador 307 visualiza uma vista esquerda 325 do objeto e uma vista direita 327 do objeto que tem disparidade zero. A disparidade zero reflete no fato de que a vista esquerda 325 do objeto se encontra na mesma posição horizontal que a vista direita 327 do objeto na tela 320. A disparidade zero resulta em um objeto percebido ou virtual 329 que parece se encontrar na mesma profundidade que a tela 320.
O terceiro observador 309 visualiza uma vista esquerda 335 do objeto e uma vista direita 337 do objeto que têm uma disparidade negativa. A disparidade negativa reflete o fato de que a vista esquerda 335 do objeto se encontra à direita da vista direita 337 do objeto na tela 330. A disparidade negativa resulta em um objeto percebido ou virtual 339 que prece se encontrar na frente do plano da tela 330. É importante notar neste ponto, que a disparidade e a profundidade podem ser usadas de maneira intercambiável nas implementações, exceto onde de outro modo indicadas ou requeridas pelo contexto. Usando-se a Equação 1, se sabe que a disparidade é inversamente proporcional à profundidade de cena.fbonde "D" descreve a profundidade (135 na Figura 1), "b" é o comprimento de linha de base (150 na Figura 1 ) entre duas câmeras de imagem estéreo, "f" é o comprimento focal para cada câmera (145 na Figura 1), e "d" é a disparidade para dois pontos de recurso correspondentes (230 na Figura 2).
A Equação 1 acima é válida para câmeras paralelas com o mesmo comprimento focal. Fórmulas mais complicadas podem ser definidas para outros cenários, porém, na maioria dos casos, a Equação 1 pode ser usada como uma aproximação. De maneira adicional, entretanto, a Equação 2 abaixo é válida pelo menos para diversas disposições de câmeras convergentes, como é conhecido por aqueles de conhecimento comum na técnica:
Figure img0001
Figure img0002
é o valor de disparidade para um objeto na infinidade.
Figure img0003
depende do ângulo de convergência e do comprimento focal, e é expresso em metros (por exemplo) em vez de no número de pixels. O comprimento focal foi anteriormente discutido em relação à Figura 1 e ao comprimento focal 145. O ângulo de convergência é mostrado na Figura 4. A Figura 4 inclui a câmera 105 e a câmera 110 posicionadas em uma configuração convergente em vez da configuração paralela da Figura 1. Um ângulo 410 mostra as linhas de visão das câmeras 105, 110 convergentes, e o ângulo 410 pode ser referido como o ângulo de convergência.
Mapas de disparidade são usados para proporcionar informações de disparidade para uma imagem de vídeo. Um mapa de disparidade geralmente se refere a um conjunto de valores de disparidade com uma geometria que corresponde aos pixels na imagem de vídeo associada.
Um mapa de disparidade denso geralmente se refere a um mapa de disparidade com uma resolução espacial e uma resolução temporal que são tipicamente idênticas à resolução da imagem de vídeo associada. A resolução temporal se refere, por exemplo, à taxa de quadro, e pode ser, por exemplo, 50 Hz ou 60 Hz. Um mapa de disparidade denso, portanto, terá geralmente uma amostra de disparidade por localização de pixel. A geometria de um mapa de disparidade denso será tipicamente igual àquela da imagem de vídeo correspondente, por exemplo, um retângulo que tem um tamanho horizontal e vertical, em pixels de:(i) 1920 x 1080 (ou 1920 x 1200),(ii) 1440 x 1080 (ou 1440 x 900),(iii) 1280 x 720 (ou 1280 x 1024, 1280 x 960, 1280 x 900, 1280 x 800),(iv) 960 x 640 (ou 960 x 600, 960 x 576, 960 x 540),(v) 2048 x 1536 (ou 2048 x 1 152),(vi) 4096 x 3072 (ou 4096 x 31 12, 4096 x 2304, 4096 x 2400, 4096 x 2160, 4096 x 768), ou(vii) 8192 x 4302 (ou 8192 x 8192, 8192 x 4096, 7680 x 4320).
É possível que a resolução de um mapa de disparidade denso seja substancialmente igual, porém, diferente da resolução da imagem associada. Em uma implementação, as informações de disparidade nos limites de imagem são difíceis de serem obtidas. Portanto, nesta implementação, os valores de disparidade nos pixels limites não são incluídos no mapa de disparidade, e o mapa de disparidade é menor que a imagem associada.
Um mapa de disparidade descendentemente amostrado geralmente se refere a um mapa de disparidade com uma resolução menor que a resolução de vídeo nativa (por exemplo, dividida por um fator de quatro). Um mapa de disparidade descendentemente amostrado, por exemplo, terá um valor de disparidade por bloco de pixels.
Um mapa de disparidade esparso geralmente se refere a um conjunto de disparidades que corresponde a um número limitado de pixels (por exemplo, 1000) que é considerado facilmente rastreável na imagem de vídeo correspondente. O número limitado de pixels que é selecionado geralmente irá depender do próprio conteúdo. Existem frequentemente aumentos de um ou dois milhões de pixels em uma imagem (1280x720, ou 1920x1080). A escolha de subconjunto de pixel geralmente é efetuada de maneira automática ou semiautomática por uma ferramenta de rastreamento capaz de detectar pontos de recurso. As ferramentas de rastreamento estão prontamente disponíveis. Os pontos de recurso podem ser, por exemplo, pontos de borda ou canto em uma imagem que podem ser facilmente rastrea- dos em outras imagens. Os recursos que representam bordas de contraste alto de um objeto são geralmente preferidos para o subconjunto de pixel.
Os mapas de disparidade, ou mais geralmente, as informações de disparidade, podem ser usados para uma variedade de operações de processamento. Tais operações incluem, por exemplo, interpolação visual (renderização) para ajustar o efeito 3D em um dispositivo de consumo, que proporciona colocação de legenda inteligente, efeitos visuais e inserção gráfica.
Em uma implementação particular, os gráficos são inseridos em um plano de fundo de uma imagem. Nesta implementação, uma apresentação 3D inclui uma entrevista de vídeo estereoscópico entre um transmissor de programas esportivos e um jogador de futebol, ambos os quais se encontram no primeiro plano. O plano de fundo inclui uma vista de um estádio. Neste exemplo, um mapa de disparidade é usado para selecionar pixels a partir da entrevista de vídeo estereoscópico quando os valores de disparidade correspondentes foram menores que (ou seja, mais próximos que) um valor predeterminado. Em contrapartida, os pixels são selecionados a partir de um gráfico se os valores de disparidade forem maiores que (ou seja, mais distantes que) o valor predeterminado. Isto permite, por exemplo, que um diretor mostre os participantes da entrevista na frente de uma imagem gráfica, em vez de na frente do plano de fundo de estádio real. Em outras variações, o plano de fundo é substituído por outro ambiente, tal como, por exemplo, o campo durante uma repetição da jogada de pontuação mais recente do jogador.
Em uma implementação, o efeito 3D é suavizado (reduzido) com base em uma preferência de usuário. Para reduzir o efeito 3D (reduz o valor absoluto da disparidade), uma nova vista é interpolada usando as imagens de disparidade e vídeo. Por exemplo, a nova vista é posicionada em uma localização entre a vista esquerda e a vista direita existentes, e a nova vista substitui uma das vistas esquerdas e vistas direitas. Deste modo, o novo par de imagens estereoscópicas tem um comprimento de linha de base menor e terá uma disparidade reduzida e, portanto, um efeito 3D reduzido.
Em outra implementação, a extrapolação, em vez da interpolação, é realizada para exagerar a profundidade aparente e, deste modo aumentar o efeito 3D. Nesta implementação, a nova vista é extrapolada correspondendo a uma câmera virtual que tem um comprimento de linha de base aumentado em relação a uma das vistas esquerda e direita originais.
Em outro exemplo, os mapas de disparidade são usados para posicionar de maneira inteligente as legendas em uma imagem de vídeo, a fim de reduzir ou evitar o desconforto do visualizador. Por exemplo, uma legenda deve ter geralmente uma profundidade percebida que se encontra na frente de qualquer objeto que a legenda estiver ocluindo. Entretanto, a profundidade percebida deve ter geralmente uma profundidade que seja comparável à região de interesse, e não muito longe na frente dos objetos que estão na região de interesse.
Para muitas operações de processamento 3D, um mapa de disparidade denso é preferido sobre um mapa de disparidade descendentemente amostrado ou um mapa de disparidade esparso. Por exemplo, quando um mapa de disparidade for usado para permitir efeitos 3D controláveis pelo usuário, as informações de disparidade em uma base por pixel geralmente serão preferidas. As informações de disparidade de base por pixel geralmente permitem que resultados melhores sejam obtidos, porque o uso de um mapa de disparidade esparso ou descendentemente amostrado pode degradar a qualidade de vistas sintetizadas. Um valor de disparidade pode ser representado em uma variedade de formatos. Diversas implementações usam o seguinte formato para representar um valor de disparidade para armazenamento ou transmissão:(i) Número inteiro assinado: complemento 2s(a) Valores de disparidade negativos indicam a profundidade que se encontra na frente da tela(b) Zero é usado para o valor de disparidade para objetos no plano de tela.(ii) Unidades de 1/8 pixel(iii) 16 bits que representam o valor de disparidade(a) Um faixa de disparidade típica varia entre +80 e -150 pixels. Isto geralmente é suficiente em uma tela de quarenta polegadas que tem uma resolução de 1920 ou 2048.(b) Com precisão de 1/8 pixel, a faixa se encontra entre +640 e -1200 unidades, que podem ser representadas por 11 bits +1 bit para o sinal = 12 bits(c) Para manter o mesmo efeito 3D em uma tela 8k (que pode ter aproximadamente quatro vezes a resolução horizontal de uma tela que tem 1920 ou 2048 pixels de largura), precisa-se tipicamente de dois bits adicionais para codificar a disparidade: 12+2 = 14 bits(d) Isto proporciona 2 bits para uso futuro
Ademais, diversas implementações que usam o formato acima também proporcionam um mapa de disparidade denso. Deste modo, para completar um mapa de disparidade denso para tais implementações, o formato de 16-bits acima é proporcionado para cada localização de pixel em uma imagem de vídeo correspondente.
A disparidade, e as variações de profundidade relacionadas, produzem oclusões entre diferente vistas de uma cena. A Figura 5 mostra uma vista esquerda 510 e uma vista direita 520 que se combinam, no cérebro de um visualizador, para produzirem uma cena 3D 530. A vista esquerda 510, a vista direita 520 e a cena 3D 530 contém cada uma três objetos, que incluem um cilindro largo 532, um cilindro oval 534 e um cilindro fino 536. Entretanto, conforme mostrado na Figura 5, dois dos três objetos 532, 534, 536 sem encontram em diferentes localizações relativas em cada uma das vistas 510, 520 e da cena 3D 530. Aqueles dois objetos são o cilindro largo 532 e o cilindro fino 536. O cilindro oval 534 se encontra na mesma localização relativa em cada uma das vistas 510, 520 e da cena 3D 530.
As diferentes localizações relativas produzem oclusões, conforme explicado pela seguinte discussão simplificada. A vista esquerda 510 é mostrada em uma imagem esquerda 540 que também revela as áreas oclusas 545 e 548. As áreas oclusas 545 e 548 são visíveis apenas na vista esquerda 510 e não na vista direita 520. Isto ocorre porque (i) a área na vista direita 520 que corresponde à área oclusa 545 é coberta pelo cilindro largo 532, e (ii) a área na vista direita 520 que corresponde à área oclusa 548 é coberta pelo cilindro estreito 536. De maneira similar, a vista direita 520 é mostrada em uma imagem direita 550 que também revela as duas áreas oclusas 555 e 558. As áreas oclusas 555, 558 são visíveis apenas na vista direita 520 e não na vista esquerda 510. Isto ocorre porque (i) a área na vista esquerda 510 que corresponde à área oclusa 555 é coberta pelo cilindro largo 532, e (ii) a área na vista esquerda 510 que corresponde à área oclusa 558 é coberta pelo cilindro estreito 536.
Supondo que as oclusões possam existir em um par de imagens estereoscópicas, é útil proporcionar dois mapas de disparidade para um par de imagens estereoscópicas. Em tal implementação, um mapa de disparidade esquerdo é proporcionado para uma imagem de vídeo esquerda, e um mapa de disparidade direito é proporcionado para uma imagem de vídeo direita. Algoritmos conhecidos podem ser usados para atribuir valores de disparidade à localização de pixels de cada imagem para a qual os valores de disparidade não podem ser determinados usando a abordagem de vetor de disparidade padrão. As áreas de oclusão, então, podem ser determinadas comparando-se os valores de disparidade esquerdo e direito. Como um exemplo da comparação de valores de disparidade esquerdo e direito, consi dera-se uma imagem de olho esquerdo e uma imagem de olho direito correspondente. Um pixel L se situa na linha N e tem uma coordenada horizontal XL na imagem de olho esquerdo. O pixel L é determinado a ter um valor de disparidade dL. Um pixel R se situa em uma linha N da imagem de olho direito correspondente e tem uma coordenada horizontal mais próxima XL + dL. O pixel R é determinado a ter um valor de disparidade dR de cerca de "-dL”. Então, com um alto grau de confiança, não existe oclusão em L ou R porque as disparidades correspondem umas às outras. Ou seja, ambos os pixels L e R apontam uns para os outros, geralmente, com suas disparidades determinadas.
Entretanto, se dR não for substancialmente igual a -dL, então, pode existir uma oclusão. Por exemplo, se os dois valores de disparidade forem substancialmente diferentes, após levar em consideração o sinal, então, geralmente existe um alto grau de confiança de que existe uma oclusão. A diferença substancial é indicada, em uma implementação, por |dL - dR| > 1. De maneira adicional, se um dos valores de disparidade (dR ou dL) estiver indisponível, então, geralmente existe um alto grau de confiança de que existe uma oclusão. Um valor de disparidade pode ser indisponível porque, por exemplo, o valor de disparidade não pode ser determinado. A oclusão geralmente se refere a uma das duas imagens. Por exemplo, a porção da cena mostrada pelo pixel associado à disparidade que tem a menor magnitude, ou mostrada pelo pixel que corresponde ao valor de disparidade indisponível, geralmente é considerada a ser oclusa na outra imagem.
Uma possibilidade para representar os valores de disparidade consiste em usar um número inteiro para representar o número de pixels de disparidade para uma determinada localização de pixel em uma imagem de vídeo. O valor de disparidade representa o número de pixels de disparidade para a resolução horizontal particular da imagem de vídeo. O valor de disparidade, portanto, depende da resolução horizontal particular. Tais implementações são úteis e podem ser efetivas.
Outras implementações, entretanto, requerem precisão de sub-pixel em valores de disparidade. Tais implementações usam geralmente números de ponto flutuante para re- presentar valores de disparidade, de modo que as frações possam ser incluídas nos valores de disparidade. Diversas destas implementações proporcionam valores de disparidade que são específicos para uma determinada resolução horizontal. Estas implementações também são úteis e podem ser efetivas.
Algumas outras implementações representam valores de disparidade como um valor de porcentagem.Portanto, em vez de representar a disparidade como um número de pixels, a dispa-ridade é representada como uma porcentagem da resolução horizontal. Por exemplo, se a disparidade para uma determinada localização de pixel for dez pixels, e a resolução horizontal for 1920, então, o valor de disparidade de porcentagem é (10/1920)*100. Tais implementações também podem proporcionar precisão de sub-pixel na disparidade. Uma representação de valor de porcentagem é tipicamente uma representação de ponto flutuante, em vez de uma representação de número inteiro. Por exemplo, um pixel de disparidade em uma tela que tem uma resolução horizontal de 1920 é 1/1920, que é 0,0005208 ou 0,05208%.
Ademais, tais valores de disparidade de porcentagem podem ser diretamente aplicados em outras resoluções horizontais. Por exemplo, supondo que (i) uma imagem de vídeo tenha uma resolução horizontal de 1920, (ii) a imagem de vídeo é transmitida para a caso de um usuário, e (iii) o dispositivo de exibição do usuário tem uma resolução horizontal de 1440. Neste cenário, o dispositivo de exibição do usuário (ou decodificador de sinais, ou algum outro processador ou dispositivo de processamento) converte tipicamente a resolução horizontal da imagem de vídeo de 1920 a 1440, e também converte os valores de disparidade, de modo que os valores de disparidade correspondam a uma resolução horizontal de 1440. A conversão pode ser realizada, por exemplo, multiplicando-se o valor de disparidade de porcentagem pela resolução horizontal. Por exemplo, se a disparidade de porcentagem para uma determinada localização de pixel for %%, e a resolução horizontal for 1920, então, o valor de disparidade absoluto é % * 1920/100. Diversas destas implementações usam um valor de disparidade único, que é um valor de disparidade de porcentagem, na transmissão e armazenamento de valores de disparidade, independente da resolução horizontal da imagem de vídeo e do mapa de disparidade. Tais implementações também são úteis, e podem ser efetivas.
Conforme mencionado acima, um sistema de transmissão pode usar uma resolução horizontal no formato de transmissão que é diferente da resolução horizontal da imagem de vídeo. De maneira adicional, um sistema de recepção pode usar uma resolução horizontal diferente para exibir a imagem de vídeo. Deste modo, uma conversão a partir de uma resolução horizontal até outra resolução horizontal pode ser requerida. Tal conversão não somente altera a resolução da imagem de vídeo, mas, também requer que os valores de disparidade sejam ajustados. Tal conversão geralmente pode ser requerida para valores de disparidade absolutos, porém, não para valores de disparidade de porcentagem.
O exemplo a seguir proporciona mais detalhes sobre algumas das alternâncias entre diversas implementações:(i) Uma implementação formata o valor de disparidade como um valor absoluto (número de pixels) para uma determinada resolução de vídeo com uma precisão de 1/8ésimo de um pixel (por exemplo, um objeto pode ter 10 pixels de disparidade em um conteúdo de vídeo que tem 1920 pixels horizontais).(ii) Existem muitas vantagens em tal sistema, que incluem simplicidade e facilidade de manipulação.(iii) Em tal sistema, 11 bits são usados: 8 bits para a parte inteira proporcionar até 255 pixels de disparidade, e 3 bits para a parte decimal (para obter 1/8ésimo de precisão ou exatidão). Note que um bit de sinal também pode ser usado, ou o sistema pode proporcionar valores de disparidade de +/- 127 pixels.(iv) Se a imagem de vídeo precisa ser reformatada durante a transmissão, o mapa de disparidade também é reformatado, levando possivelmente à perda de informações. Por exemplo, referindo-se à Figura 6, uma implementação usa um formato nativo 610 que tem uma resolução horizontal de 1920 e um formato de transmissão 620 que é descendente mente amostrado para ter uma resolução horizontal de 1280 (ou 1440 em outra implementação). O mapa de profundidade ou disparidade, como a imagem de vídeo, é filtrado antes da sub-amostragem que leva tipicamente a uma perda de detalhes de profundidade. A filtragem ocorre em uma operação de filtragem e sub-amostragem 630. A operação de filtragem e sub-amostragem é aplicada às imagens de vídeo e às imagens de disparidade.(v) Além disso, o novo valor de disparidade é convertido, e tipicamente corrompido. Por exemplo, após a amostragem descendente para reduzir a resolução do mapa de disparidade (ou seja, reduzir o número de valores de disparidade), os valores de disparidade são convertidos na resolução do formato de transmissão. O valor de disparidade de 10 pixels se torna 6,6666 quando passa de 1920 para 1280. Isto resulta, por exemplo, no arredondamento do valor em 6,625 uma vez que a parte decimal pode ser apenas um múltiplo de 0,125 (1/8).(vi) Após a transmissão, se a tela tiver 920 pixels de largura, o valor de disparidade final será de 6,625 x 1920/1280 =9,9375. O valor de 9,9375 representa alguma distorção quando comparado ao valor original de 10. O valor de 9,9375 pode ser arredondado, para baixo ou até o número inteiro mais próximo, ou 1/8ésimo mais próximo que, por exemplo, possivelmente cria perda de informações. A perda pode ser significativa se o valor foi arredondado para baixo.
Uma solução consiste em usar uma disparidade de porcentagem que pode ser comum a todas as resoluções horizontais. Tal implementação, descrita acima, apresenta vantagens e desvantagens. O uso de valores de disparidade de porcentagem permite que a operação de conversão antes da transmissão seja omitida.
Outra solução consiste em usar um valor inteiro que não é específico para nenhuma resolução comum. (Note que se supõe tipicamente que as imagens tenham sido verticalmente retificadas assim como recebam outro processamento. Consequentemente, é tipicamente suficiente discutir a disparidade em termos de deslocamento horizontal.) Esta solução propõe definir uma resolução de referência (ou resolução virtual) de 11.520 pixels, que é referida neste pedido como o menor múltiplo comum ("SCM") de diversas resoluções ho-rizontais de TV padrões (720, 960, 1280, 1440, 1920). Note que o SCM também é referido em diversas referências como o "múltiplo comum mais baixo" ou "mínimo múltiplo comum”.
Pelo menos uma implementação desta solução SCM tem inúmeras vantagens, que incluem o seguinte (outras implementações não precisam ter todas estas vantagens):(i) Devido ao valor de disparidade ser um número inteiro, a determinação e arma-zenamento do valor de disparidade é simples, e o valor de disparidade é fácil de manipular e processar.(ii) O valor de disparidade não é mais estritamente absoluto, porém, tem um aspecto relativo e, portanto, é independente da resolução de vídeo nativa.(iii) Uma parte decimal não é requerida.(iv) O valor de disparidade é similar a uma porcentagem porque é relativo, e inde-pendente da resolução de vídeo nativa. Entretanto, o valor de disparidade é um número inteiro, então, não existe necessidade aparente de codificar números complicados como 0,00868% para descrever o valor de disparidade mínimo. O valor de disparidade mínimo é um pixel, e 1/11.520 é 0,00868%.(v) Não existe necessidade aparente de transcodificar o valor de disparidade durante o transporte porque o valor de disparidade se refere a 11.520.(vi) Quando os valores de disparidade baseados em SCM chegam, por exemplo, no decodificador de sinais ("STB"), o STB calcula a disparidade absoluta real para uma determinada resolução de vídeo ao realizar uma operação muito simples, tal como, por exemplo:(a) Disparidade / 6 para resolução 1920(b) Disparidade / 8 para resolução 1440(c) Disparidade/ 9 para resolução 1280(d) Disparidade/ 12 para resolução 960(vii) As informações de disparidade não são degradadas durante o transporte, desde que não exista transcodificação, independente de quais canais são usados. (viii) Mesmo para resoluções de consumidor mais novas como 2k, 4k, 8k, a operação é simples de implementar, e é facilmente implementável em uma unidade de processamento STB. Note que 2k geralmente se refere às imagens que têm uma resolução de pixel horizontal de 2048, 4k geralmente se refere a 4096, e 8k geralmente se refere a 8192. As operações são, por exemplo:(a) Disparidade x 8/45 para resolução 2048(b) Disparidade x 16/45 para resolução 4096(c) Disparidade x 32/45 para resolução 8192
Na prática, uma ou mais implementações SCM (1) determinam os valores de disparidade para a resolução horizontal existente do conteúdo de vídeo correspondente, (2) convertem estes valores de disparidade na escala de 11.520 com uma multiplicação e/ou divisão simples para criar um valor de disparidade SCM, (3) armazenam e transmitem os valores de disparidade SCM sem transcodificação, e (4) convertem os valores de disparidade SCM recebidos na resolução da exibição de saída que usa uma multiplicação e/ou divisão simples. Devido ao fato de que não existe nenhuma transcodificação, esta solução geralmente pode não sofrer de perda de informações (por exemplo, perdas de arredondamento) devido à transcodificação. Note que a resolução do mapa de disparidade não é alterada pelo processo acima. De preferência, os valores de disparidade existentes (para a resolução existente) são escalonados, de modo que eles sejam baseados em, ou reflitam uma resolução de referência (ou resolução virtual) que é diferente da resolução real. Diversas implementações criam valores de disparidade ao realizar uma operação matemática simples que é a inversa daquela descrita acima. Por exemplo, para criar um valor de disparidade SCM, o valor de disparidade absoluto recebido é multiplicado e/ou dividido por um ou dois números inteiros da seguinte maneira:(i) disparidade 1920 * 6 = disparidade SCM(ii) disparidade 1440 * 8 = disparidade SCM(iii) disparidade 1280 * 9 = disparidade SCM (iv) disparidade 1280 * 12 = disparidade SCM(v) disparidade 2048 * 45/8 = disparidade SCM(vi) disparidade 4096 * 45/16 = disparidade SCM(vii) disparidade 8192 * 45/32 = disparidade SCM
A Figura 7 proporciona mais detalhes no processo de determinação de um menor múltiplo comum para diversas resoluções horizontais diferentes. Uma coluna 710 lista as resoluções horizontais diferentes. Uma coluna 720 lista os menores fatores das resoluções horizontais. Por exemplo, 960 é fatorado em 26 * 3 * 5, onde 26 é 2 elevado a 6a potência. Deste modo, 960 = 64 * 3 * 5. Nota-se também, em relação à resolução horizontal de 1280, que 3° é igual a um.
O menor múltiplo comum das primeiras quatro resoluções de 960, 1280, 1440 e 1920, é 28 * 32 * 5, que é 11.520. A resolução 11.520 é usada com resoluções de 2k, 4k e 8k, multiplicando-se por uma potência apropriada de 2 e, então, dividindo-se pelos fatores 32 e 5 que não estão presentes em 2k, 4k e 8k. Note que a multiplicação por uma potência de 2 é realizada, em diversas implementações, usando uma operação de deslocamento à esquerda de nível de bit, em vez de uma operação de multiplicação real. A Figura 7 inclui uma coluna 730 que proporciona a Equação de conversão para converter entre 11.520 e as diversas resoluções mostradas na coluna 610.
As Equações de conversão da coluna 630 podem ser usadas para escalonar os valores de disparidade com base nas resoluções suportadas por múltiplos tamanhos de tela comuns (o tamanho de tela que se refere ao tamanho físico da tela, medido, por exemplo, em polegadas ou centímetros). No exemplo da Figura 6, os valores de disparidade de entrada que são baseados, por exemplo, em uma resolução horizontal de 1920 são escalonados por um fator de seis para converter o valor de disparidade em um novo valor de disparidade que é baseado em uma resolução horizontal de 11.520. O novo valor de disparidade também se baseia nas resoluções horizontais de 960, 1280 e 1440 porque estas resoluções são acomodadas, e são usadas na determinação, pela resolução de 11.520.
Uma implementação alternada simplesmente usa uma resolução de disparidade de 11.520 * 25 = 368.640. Nesta implementação alternada, nenhuma multiplicação é necessária para converter 368.640 de volta à resolução original.
O valor de 11.520 é usado para diversas implementações. Entretanto, outros valores são usados em outras implementações. Em uma implementação, o valor 11.520 é duplicado em 23.040. Em uma segunda implementação, o valor 368.640 é duplicado em 737.280.
De maneira alternativa, um conjunto diferente de resoluções horizontais é usado em diversas implementações, que resultam em um SCM diferente. Por exemplo, em outra im-plementação apenas as resoluções de saída 1920 e 1440 são de interesse e, portanto, a implementação usa um SCM de 5.760. Então, para gerar os valores de disparidade SCM, os valores de disparidade de resolução 1920 são multiplicados por um fator de 3, e os valores de disparidade da resolução 1440 são multiplicados por um fator de 4.
Deve ser claro que diversas implementações não são implementações SCM. Por exemplo, mesmo o valor 11.520 não é o SCM de todas as sete resoluções listadas na coluna 710. De preferência, o valor 368.640 é o SCM. Todavia, as implementações descritas no pedido geralmente são referidas como implementações SCM mesmo se o valor de disparidade não for o menor múltiplo comum de todas as resoluções horizontais.
Note que as implementações SCM proporcionam a precisão de sub-pixel. Por exemplo, para uma resolução 1920, os valores de disparidade usam um fator de 6 para converter em/a partir da resolução 11.520, que proporciona precisão de pixel 1/6ésimo. Mais especificamente, se o valor de disparidade baseado em 11.520 for 83, então, o valor de disparidade baseado em 1920 é 13 5/6. Isto obviamente proporciona precisão de pixel 1/6ésimo. Isto proporciona diversas vantagens em termos de qualidade, assim como, a margem para necessidades futuras. Por exemplo, se a resolução 1920 for substituída pela resolução 2k, os valores de disparidade baseados em 11.520 ainda proporcionam uma precisão de sub-pixel de precisão de pixel 8/45ésimo, que é ligeiramente menos precisa que o pixel 1/6ésimo (7,5/45), porém, ainda mais precisa que o pixel 1/5ésimo (9/45).
Pelo menos uma implementação que usa a resolução SCM de 11.520 opera com um formato de dois bytes (dezesseis bits). Uma faixa de disparidade típica muitas vezes varia entre +80 e -150 pixels em uma tela 1920 x 1080 (resolução). A multiplicação destes números por seis, produz uma faixa de +480 a -900 na resolução de referência 11.520. Esta faixa de 1380 pode ser representada por onze bits (211 = 2048). Uma implementação alternativa usa dez bits que representam o valor absoluto da disparidade (valor absoluto máximo de disparidade é 900), e um bit adicional que representa o sinal.
Ainda outra implementação conserva um bit ao considerar que o sinal da disparidade seja implícito. Por exemplo, a disparidade de pixels em uma vista esquerda é codificada, junto com o sinal da disparidade. Entretanto, supõe-se que a disparidade de pixels correspondentes em uma vista direita correspondente tenha o sinal oposto.
Outra implementação, a fim de ser capaz de proporcionar um mapa de disparidade denso por vista (tanto a vista esquerda como a vista direita) e, deste modo, reduzir problemas causados por oclusões, aloca um bit que indica a vista a qual o mapa de disparidade denso corresponde.
Outra implementação proporciona uma associação implícita entre uma imagem (uma imagem esquerda ou uma imagem direita) e um mapa de disparidade denso correspondente e, portanto, não precisa dedicar um bit a estas informações. As variações nestas implementações usam um ou mais bits adicionais para introduzir outros tipos de mapas ou imagens. Tal implementação usa dois bits para indicar se o mapa é (i) um mapa de disparidade de imagem esquerda, (ii) um mapa de disparidade de imagem direita, (iii) um mapa de oclusão, ou (iv) um mapa de transparência. Uma implementação tem um formato de dezesseis bits, e usa 11 bits para indicar uma faixa de - 900 a +480, dois bits para indicar o tipo de mapa, e tem três bits não usados.
A Figura 8 proporciona um diagrama de bloco/fluxograma que ilustra a operação de uma ou mais implementações. A Figura 8 também ilustra algumas das alternâncias entre implementações diferentes.
A Figura 8 inclui uma cadeia de processamento 810 que processa vídeo. Uma imagem de vídeo 811 tem uma resolução horizontal de 1920. Entretanto, o formato de transmissão da cadeia de processamento 810 tem uma resolução horizontal de 1280. Consequentemente, a imagem de vídeo 811 é filtrada e descendentemente amostrada em uma operação 812 para produzir uma imagem de vídeo 813 que tem uma resolução horizontal de 1280. A filtragem e amostragem descendente são realizadas em conjunto na cadeia de processamento 810. Entretanto, outras implementações realizam a filtragem e a amostragem descendente separadamente. A filtragem é usada, por exemplo, no filtro passa baixa da imagem de vídeo 811 com o objetivo de evitar a distorção (aliasing) quando a imagem de vídeo 811 for descendentemente amostrada. A imagem de vídeo 813 é conduzida em uma a operação de transmissão e/ou armazenamento 814.
Um lado de recepção da cadeia 810 acessa uma imagem de vídeo recebida 815, que pode ser igual, similar ou diferente da imagem de vídeo 813. Por exemplo, em uma im-plementação, a imagem de vídeo 815 é uma versão armazenada da imagem de vídeo 813.
De maneira adicional, em outra implementação, a imagem de vídeo 815 representa uma versão reconstruída da imagem de vídeo 813 após as operações de codificação e de- codificação de fonte (não mostradas). Ademais, em ainda outra implementação, a imagem de vídeo 815 representa uma versão de erro corrigida da imagem de vídeo 813 após as operações de codificação e decodificação de canal (que inclui correção de erro) (não mostradas). A imagem de vídeo 815 é processada em uma operação de amostragem ascendente 816 que produz uma imagem de vídeo 817 que tem a resolução horizontal 1920, como na imagem de vídeo original 811.
A Figura 8 também inclui uma cadeia de processamento 820 que processa imagens de disparidade que correspondem às imagens de vídeo processadas na cadeia 810. Uma imagem de disparidade 821 tem uma resolução horizontal de 1920, e inclui valores de disparidade avaliados em número inteiro com base em uma resolução de 11.520. Note que uma imagem de disparidade se refere geralmente a qualquer acúmulo de informações de disparidade, tal como, por exemplo, um mapa de disparidade denso, um mapa de disparidade reduzido ou um mapa de disparidade esparso. Ademais, o mapa de disparidade pode corresponder, por exemplo, a uma imagem, um quadro, um campo, uma fatia, um macro- bloco, uma partição ou alguma outra coleção de informações de disparidade.
Entretanto, o formato de transmissão da cadeia de processamento 820 tem uma resolução horizontal de 1280. Consequentemente, a imagem de disparidade 821 é filtrada e descendentemente amostrada em uma operação 822 para produzir uma imagem de disparidade 823 que tem uma resolução horizontal de 1280. A filtragem e amostragem descendente são realizadas em conjunto na cadeia de processamento 820. Entretanto, outras implementações realizam a filtragem e amostragem descendente separadamente. A filtragem é usada, por exemplo, no filtro passa baixa dos valores de disparidade da imagem de disparidade 821 com o objetivo de evitar a distorção quando a imagem de disparidade 821 for descendentemente amostrada.
Os valores de disparidade da imagem de disparidade 823 são valores inteiros. Isto pode ser realizado de diversas maneiras. Em uma implementação, o resultado das operações de filtragem e amostragem descendente é arredondado no número inteiro mais próximo. Em outra implementação, qualquer porção fracionaria é simplesmente descartada. Ainda outra implementação usa uma representação de ponto flutuante para os valores de disparidade da imagem de disparidade 823. Note que os valores de disparidade ainda são baseados em uma resolução de 11.520 mesmo após a filtragem e amostragem descendente produzirem uma resolução para a imagem de disparidade 823 de 1280.
A imagem de disparidade 823 é convertida em uma operação de transmissão e/ou armazenamento 824. Um lado de recepção da cadeia 820 acessa uma imagem de disparidade recebida 825. A imagem de disparidade 825 pode ser igual, similar ou diferente da imagem de disparidade 823. Por exemplo, em uma implementação, a imagem de disparidade 825 é uma versão armazenada da imagem de disparidade 823. De maneira adicional, em outra implementação, a imagem de disparidade 825 representa uma versão reconstruída da imagem de disparidade 823 após as operações de codificação e decodificação de fonte (não mostradas). Ademais, em ainda outra implementação, a imagem de disparidade 825 representa uma versão de erro corrigida da imagem de disparidade 823 após as operações de codificação e decodificação de canal (que incluem correção de erro) (não mostradas). Os valores de disparidade na imagem de disparidade 825 permanecem como números inteiros, entretanto, usando-se, por exemplo, o arredondamento se necessário.
A imagem de disparidade 825 é processada em uma operação de amostragem as-cendente 826 para produzir uma imagem de disparidade 827 que tem a resolução horizontal 1920, como na imagem de disparidade original 821. A operação 826 produz valores inteiros para a imagem de disparidade 827, usando, por exemplo, arredondamento ou truncamento.
Os valores de disparidade da imagem de disparidade 827 são convertidos, em uma operação de conversão 828, que é baseada a partir de uma resolução de 11.520 até uma resolução de 1920. A operação de conversão 828 divide cada valor de disparidade por seis, conforme explicado acima. A operação de conversão 828 produz uma imagem de disparidade 829. Os valores de disparidade da imagem de disparidade 829 são representados como números de ponto flutuante a fim de preservar a precisão de sub-pixel.
Deve ser claro que a cadeia de processamento 820 inclui pelo menos vantagens significativas. Em primeiro lugar, os valores de disparidade são números inteiros ao longo da cadeia 820 até a imagem de disparidade final 829 ser proporcionada. Em segundo lugar, os valores de disparidade reais não são transcodificados, apesar do fato de que a resolução horizontal do formato de transmissão é diferente da resolução horizontal do mapa de disparidade nativo 821. Deste modo, os valores de disparidade são aplicáveis a uma variedade de resoluções horizontais diferentes.
Um sistema de recepção, então, processa a imagem de vídeo 817, usando a imagem de disparidade 829. O processamento pode incluir, conforme anteriormente explicado, ajuste de efeitos 3D, posicionamento de legendas, inserção de gráficos ou realização de efeitos visuais.
A Figura 8 também mostra uma cadeia de processamento 830 para propósitos de comparação. A cadeia de processamento 830 também processa imagens de disparidade que correspondem às imagens de vídeo processadas na cadeia 810. A cadeia de processamento 830 é uma alternativa para a cadeia de processamento 820. Deve ser claro que toda a cadeia 830 não é mostrada a fim de simplificar a Figura 8, conforme será explicado abaixo.
Uma imagem de disparidade 831 tem uma resolução horizontal de 1920, e inclui valores de disparidade baseados em porcentagem que têm uma representação de ponto flutuante. Entretanto, o formato de transmissão da cadeia de processamento 830 tem uma resolução horizontal de 1280. Consequentemente, a imagem de disparidade 831 é filtrada e descendentemente amostrada em uma operação 832 para produzir uma imagem de disparidade 833 que tem uma resolução horizontal de 1280. A operação 832 pode ser análoga, por exemplo, à operação de filtragem e amostragem descendente 812 ou 822. Os valores de disparidade baseados em porcentagem da imagem de disparidade 833 continuam a ser representados em um formato de ponto flutuante.
O restante da cadeia de processamento 830 (não mostrada) reflete aquele da cadeia de processamento 820. A imagem de disparidade 833 é conduzida em uma operação de transmissão e/ou armazenamento. Um lado de recepção da cadeia 830 acessa uma imagem de disparidade recebida. A imagem de disparidade recebida é ascendentemente amostrada em uma resolução horizontal de 1920 e, então, os valores de disparidade são convertidos a partir da resolução baseada em porcentagem até ser baseada em uma resolução de 1920. A operação de conversão é uma multiplicação da porcentagem vezes 1920, conforme explicado acima. Em contrapartida à cadeia de processamento 820, entretanto, os valores de disparidade das imagens de disparidade na cadeia de processamento 830 sempre são representados no formato de ponto flutuante.
A Figura 8 também mostra uma cadeia de processamento 840 para propósitos de comparação. A cadeia de processamento 840 também processa imagens de disparidade que correspondem às imagens de vídeo processadas na cadeia 810. A cadeia de processamento 840 é uma alternativa à cadeia de processamento 820. Deve ser claro que toda a cadeia 840 não é mostrada a fim de simplificar a Figura 8, conforme será explicado abaixo.
Uma imagem de disparidade 841 tem uma resolução horizontal de 1920, e inclui valores de disparidade baseados na resolução 1920 e que têm uma representação de ponto flutuante. Entretanto, o formato de transmissão da cadeia de processamento 840 tem uma resolução horizontal de 1280. Consequentemente, a imagem de disparidade 841 é filtrada descendentemente amostrada em uma operação 842 para produzir uma imagem de disparidade 843 que tem uma resolução horizontal de 1280. A operação 842 pode ser análoga, por exemplo, à operação de filtragem e amostragem descendente 812, 822, ou 823. Os valores de disparidade da imagem de disparidade 843 continuam a ser representados em um formato de ponto flutuante.
Os valores de disparidade da imagem de disparidade 843 são, então, convertidos, em uma operação de conversão 850, para produzir uma imagem de disparidade 860. A operação de conversão 850 converte os valores de disparidade que são baseados a partir de uma resolução horizontal de 1920 até serem baseados em uma resolução horizontal de 1280. Os valores de disparidade da imagem de disparidade 860 continuam a ser representados em um formato de ponto flutuante.
O restante da cadeia de processamento 840 (não mostrada) reflete aquele da cadeia de processamento 820. A imagem de disparidade 860 é conduzida em uma operação de transmissão e/ou armazenamento. Um lado de recepção da cadeia 840 acessa uma imagem de disparidade recebida. A imagem de disparidade recebida é ascendentemente amostrada em uma resolução horizontal de 1920 e, então, os valores de disparidade são convertidos com base em uma resolução de 1280 até serem baseados em uma resolução de 1920. A operação de conversão envolve a multiplicação dos valores de disparidade por 1920/1280. Como no caso da cadeia de processamento 830, e em contrapartida à cadeia de processamento 820, os valores de disparidade das imagens de disparidade na cadeia de processamento 840 sempre são representados no formato de ponto flutuante.
Em outra implementação da cadeia de processamento 840, a operação de conversão 850 não é realizada. Deste modo, os valores de disparidade da imagem de disparidade 843 permanecem como valores de disparidade que são baseados em uma resolução horizontal de 1920. Entretanto, a resolução horizontal da imagem de disparidade 843 permanece como 1280. Deste modo, esta implementação impede a conversão antes da transmissão, e possivelmente impede uma reconversão após a recepção ou recuperação. O impedimento da conversão e reconversão também impede erros de arredondamento pelo menos em algumas implementações. Esta implementação, como todas as outras implementações neste pedido, tem vantagens e pode ser útil. Entretanto, os valores de disparidade são representados com números de ponto flutuante ao longo da implementação.
Referindo-se agora à Figura 9, um sistema ou aparelho de transmissão de vídeo 900 é mostrado, no qual os recursos e princípios descritos acima podem ser aplicados. O sistema ou aparelho de transmissão de vídeo 900 pode ser, por exemplo, um sistema de cabeceira (head-end) ou de transmissão para transmitir um sinal que usa qualquer um entre uma variedade de meios, tais como, por exemplo, satélite, cabo, linha telefônica ou radiodifusão terrestre. O sistema ou aparelho de transmissão de vídeo 900 também ou, de maneira alternativa, pode ser usado, por exemplo, para proporcionar um sinal para armazenamento. A transmissão pode ser proporcionada através da Internet ou alguma outra rede. O sistema ou aparelho de transmissão de vídeo 900 é capaz de gerar e distribuir, por exemplo, conteúdo de vídeo e outro conteúdo, tais como, por exemplo, indicadores de profundidade que incluem, por exemplo, valores de profundidade e/ou disparidade. Também deve ser claro que os blocos da Figura 9 proporcionam um fluxograma de um processo de transmissão de vídeo, além de proporcionar um diagrama de bloco de um sistema ou aparelho de transmissão de vídeo. O sistema ou aparelho de transmissão de vídeo 900 recebe vídeo de entrada a partir de um processador 901. Em uma implementação, o processador 901 proporciona simplesmente imagens de resolução original, tais como, imagens de disparidade 821, 831, 841 e/ou a imagem de vídeo 811, para o sistema ou aparelho de transmissão de vídeo 900. Entretanto, em outra implementação, o processador 901 é um processador configurado para realizar a filtragem e amostragem descendente, por exemplo, conforme descrito acima em relação às operações 812, 822, 832, 842 que produz imagens, tais como, a imagem de vídeo 813 e/ou as imagens de disparidade 823, 833, 843. Em ainda outra implementação, o processador 901 é configurado para realizar a conversão de disparidade, tal como, por exemplo, a operação 850, para produzir uma imagem de disparidade com os valores de disparidade convertidos, tal como, por exemplo, a imagem de disparidade 860. O processador 901 também pode proporcionar metadados para o sistema ou aparelho de transmissão de vídeo 900 que indica, por exemplo, a resolução horizontal de uma imagem de entrada, a resolução horizontal na qual os valores de disparidade se baseiam, se os valores de disparidade se baseiam em uma porcentagem ou um múltiplo comum, e outras informações que descrevem uma ou mais das imagens de entrada.
O sistema ou aparelho de transmissão de vídeo 900 inclui um codificador 902 e um transmissor 904 capazes de transmitir o sinal codificado. O codificador 902 recebe informações de vídeo a partir do processador 901. As informações de vídeo podem incluir, por exemplo, imagens de vídeo e/ou imagens de disparidade (ou profundidade). O codificador 902 gera um sinal codificado baseado nas informações de vídeo e/ou de disparidade. O codificador 902 pode ser, por exemplo, um codificador AVC. O codificador AVC pode ser aplicado nas informações de vídeo e de disparidade. AVC se refere a International Organization for Standardization/International Electrotechnical Commission (ISO/I EC) Moving Picture Experts Group-4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard/International Telecommunication Union, Telecommunication Sector (ITU-T) H.264 Recommendation (daqui por diante "H.264/MPEG-4 AVC Standard" ou variações deste, tal como, "AVC standard", H.264 standard", ou simplesmente "AVC" ou "H.264") existentes.
O codificador 902 pode incluir sub-módulos que incluem, por exemplo, uma unidade de montagem para receber e montar diversas informações em um formato estruturado para armazenamento ou transmissão. As diversas informações podem incluir, por exemplo, valores de vídeo codificado ou não codificado, disparidade (ou profundidade) codificada ou não codificada, e elementos codificados ou não codificados, tais como, por exemplo, vetores de movimento, indicadores de modo de codificação e elementos de sintaxe. Em algumas implementações, o codificador 902 inclui o processador 901 e, portanto, realiza as operações do processador 901.
O transmissor 904 recebe o sinal codificado do codificador 902 e transmite o sinal codificado em um ou mais sinais de saída. O transmissor 904 pode ser, por exemplo, adaptado para transmitir um sinal de programa que tem um ou mais fluxos de bit que representam imagens e/ou informações codificadas relacionadas a isto. Os transmissores realizam funções, tais como, por exemplo, uma ou mais entre proporcionar codificação de correção de erro, intercalar os dados no sinal, aleatorizar a energia no sinal e modular o sinal em uma ou mais portadoras usando um modulador 906. O transmissor 904 pode incluir, ou fazer interface com, uma antena (não mostrada). Ademais, as implementações do transmissor 904 podem ser limitadas ao modulador 906. O sistema ou aparelho de transmissão de vídeo 900 também é comunicativamente acoplado a uma unidade de armazenamento 908. Em uma implementação, a unidade de armazenamento 908 é acoplada ao codificador 902, e a unidade de armazenamento 908 armazena um fluxo de bits codificado a partir do codificador 902. Em outra implementação, a unidade de armazenamento 908 é acoplada ao transmissor 904, e armazena um fluxo de bits a partir do transmissor 904. O fluxo de bits a partir do transmissor 904 pode incluir, por exemplo, um ou mais fluxos de bits codificados que foram adicionalmente processados pelo transmissor 904. A unidade de armazenamento 908, em diferente implementações, é um ou mais entre um DVD padrão, um disco Blu-Ray, um disco rígido, ou algum outro dispositivo de armazenamento.
Referindo-se agora à Figura 10, um sistema ou aparelho de recepção de vídeo 1000 é mostrado no qual os recursos e princípios descritos acima podem ser aplicados. O sistema ou aparelho de recepção de vídeo 1000 pode ser configurado para receber sinais através de uma variedade de meios, tais como, por exemplo, satélite, cabo, linha telefônica ou radiodifusão terrestre. Os sinais podem ser recebidos através da Internet ou alguma outra rede. Também deve ser claro que os blocos da Figura 10 proporcionam um fluxograma de um processo de recepção de vídeo, além de proporcionar um diagrama de bloco de um sistema ou aparelho de recepção de vídeo. O sistema ou aparelho de recepção de vídeo 1000 pode ser, por exemplo, um telefone celular, um computador, um decodificador de sinais, uma televisão ou outro dispositivo que recebe o sinal de vídeo codificado e proporciona, por exemplo, o sinal de vídeo decodificado para exibição (exibição para um usuário, por exemplo), para processamento ou armazenamento. Deste modo, o sistema ou aparelho de recepção de vídeo 1000 pode proporcionar sua saída, por exemplo, para uma tela de uma televisão, um monitor de computador, um computador (para armazenamento, processamento ou exibição), ou algum outro dispositivo de armazenamento, processamento ou exibição.
O sistema ou aparelho de recepção de vídeo 1000 é capaz de receber e processar informações de vídeo, e as informações de vídeo podem incluir, por exemplo, imagens de vídeo e/ou disparidade (ou profundidade). O sistema ou aparelho de recepção de vídeo 1000 inclui um receptor 1002 para receber um sinal codificado, tal como, por exemplo, os sinais descritos nas implementações deste pedido. O receptor 1002 pode receber, por exemplo, um sinal que proporciona uma ou mais entre a imagem de vídeo 815 e/ou a imagem de disparidade 825, ou um sinal emitido a partir do sistema de transmissão vídeo 900 da Figura 9.
O receptor 1002 pode ser, por exemplo, adaptado para receber um sinal de programa que tem uma pluralidade de fluxos de bits que representam as imagens codificadas. Os receptores típicos realizam funções, tais como, por exemplo, uma ou mais entre receber um sinal de dados modulado e codificado, demodular o sinal de dados a partir de uma ou mais portadoras usando um demodulador 1004, desaleatorizar a energia no sinal, desinter- calar os dados no sinal e decodificar a correção de erro do sinal. O receptor 1002 pode incluir, ou fazer interface com, uma antena (não mostrada). As implementações do receptor 1002 podem ser limitadas ao demodulador 1004.
O sistema ou aparelho de recepção de vídeo 1000 inclui um decodificador 1006. O receptor 1002 proporciona um sinal recebido para o decodificador 1006. O sinal proporcionado para o decodificador 1006 através do receptor 1002 pode incluir um ou mais fluxos de bits codificados. O decodificador 1006 emite um sinal decodificado, tal como, por exemplo, sinais de vídeo decodificados que incluem informações de vídeo. O decodificador 1006 pode ser, por exemplo, um decodificador AVC. O sistema ou aparelho de recepção de vídeo 1000 também é acoplado de maneira comunicativa a uma unidade de armazenamento 1007. Em uma implementação, a unidade de armazenamento 1007 é acoplada ao receptor 1002, e o receptor 1002 acessa um fluxo de bits a partir da unidade de armazenamento 1007. Em outra implementação, a unidade de armazenamento 1007 é acoplada ao decodificador 1006, e o decodificador 1006 acessa um fluxo de bits a partir da unidade de armazenamento 1007. O fluxo de bits acessado a partir da unidade de armazenamento 1007 inclui, em diferentes implementações, um ou mais fluxos de bits codificados. A unidade de armazenamento 1007, em diferente implementações, é um ou mais entre um DVD padrão, um disco Blu-Ray, um disco rígido, ou algum outro dispositivo de armazenamento.
O vídeo de saída do decodificador 1006 é proporcionado, em uma implementação, para um processador 1008. O processador 1008, em uma implementação, é um processador configurado para realizar a amostragem ascendente, tal como, aquela descrita, por exemplo, em relação às operações de amostragem ascendentes 816 e/ou 826. Em algumas implementações, o decodificador 1006 inclui o processador 1008 e, portanto, realiza as operações do processador 1008. Em outras implementações, o processador 1008 faz parte de um dispositivo a jusante, por exemplo, como um decodificador de sinais ou uma televisão.
Note que pelo menos uma implementação usa um bit extra para permitir que 2 ma- pas de disparidade sejam gerados. Um primeiro mapa de disparidade é computado em relação a uma vista "esquerda", e um segundo mapa de disparidade é computado em relação a uma vista "direita". Supondo que os objetos possam ser ocluídos, ter dois mapas de disparidade permite a manipulação aprimorada de oclusões. Por exemplo, comparando-se os valores de disparidade correspondentes, um sistema pode determinar se uma oclusão existe e, caso positivo, então, adotar etapas para preencher o orifício resultante.
As implementações adicionais proporcionam mais mapas de disparidade, e alocam um número apropriado de bits para acomodar o número de mapas de disparidade. Por exemplo, em um contexto de múltiplas vistas, tal como, por exemplo, MVC (que se refere a AVC com a extensão MVC (Annex G)), pode ser desejável transmitir um conjunto de mapas de disparidade que mostra a disparidade calculada a partir de cada vista para cada outra vista. De maneira alternativa, uma implementação pode transmitir apenas mapas de disparidade em relação a um subconjunto de vistas.
A disparidade pode ser calculada, por exemplo, de uma maneira similar para calcular vetores de movimento. De maneira alternativa, a disparidade pode ser calculada a partir de valores de profundidade, conforme é conhecido e descrito acima.
Diversas implementações também têm vantagens que resultam do uso de valores de disparidade em vez de valores de profundidade. Tais vantagens podem incluir: (1) os valores de disparidade são unidos, considerando que os valores de profundidade podem se dirigir até a infinidade e, então, os valores de profundidade são mais difíceis de represen- tar/codificar, (2) os valores de disparidade podem ser diretamente representados, considerando que um escalonamento logarítmico muitas vezes é necessário para representar valores de profundidade potencialmente muito grandes. De maneira adicional, geralmente é simples determinar a profundidade a partir da disparidade. Os metadados são incluídos em diversas implementações para proporcionar informações, tais como, comprimento focal, distância de linha de base (comprimento), e distância de plano de convergência. A distância de plano de convergência é a distância na qual os eixos de câmera se cruzam quando as câmeras se convergem. O ponto no qual os eixos de câmera se cruzam pode ser observado na Figura 4 como o vértice do ângulo 410. Quando as câmeras são paralelas, a distância de plano de convergência é uma distância infinita.
Deste modo, proporcionam-se uma ou mais implementações que têm recursos e aspectos particulares. Em particular, proporcionam-se diversas implementações que se referem aos mapas de disparidade densos. Os mapas de disparidade densos podem permitir uma variedade de aplicações, tais como, por exemplo, um ajuste de efeito 3D relativamente complexo em um dispositivo de consumo, e uma colocação de legenda relativamente simples na pós-produção. Entretanto, as variações destas implementações e aplicações adicionais são contempladas e se encontram dentro da descrição, e os recursos e aspectos das implementações descritas podem ser adaptados para outras implementações.
Note que a faixa de +80 a -150 pixels, para um ou mais tamanhos de tela particulares, é usada em pelo menos uma das implementações acima. Entretanto, em outras implementações, mesmo para aqueles tamanhos de tela particulares, usa-se uma faixa de disparidade diferente que varia os valores finais da faixa e/ou o tamanho da própria faixa. Em uma implementação, uma apresentação em um parque temático usa uma disparidade negativa mais severa (por exemplo, para retratar objetos que se dirigem mais próximos que metade para fora da tela) para efeitos mais dramáticos. Em outra implementação, um dispositivo profissional suporta uma faixa mais ampla de disparidade que um dispositivo de consumo.
Diversas implementações e recursos descritos neste pedido podem ser usados no contexto do padrão AVC, e/ou AVC com a extensão MVC (Annex H), e/ou AVC com a extensão SVC (Annex G). De maneira adicional, estas implementações e recursos podem ser usados no contexto de outro padrão (existente ou futuro), ou em um contexto que não envolve um padrão.
A referência a "uma modalidade" ou "uma implementação" dos presentes princípios, assim como, outras variações destes, significa que um recurso, estrutura, característica par- ticular, e assim por diante, descrito em conexão com a modalidade é incluída em pelo menos uma modalidade dos presentes princípios. Deste modo, os aspectos da frase "em uma modalidade" ou "em uma implementação", assim como quaisquer outras variações, que aparecem em diversos locais ao longo do relatório descritivo não se referem necessariamente à mesma modalidade.
De maneira adicional, este pedido ou suas reivindicações podem se referir à "de-terminação" de diversas informações. A determinação das informações pode incluir um ou mais, por exemplo, entre estimar as informações, calcular as informações, prever as informações ou recuperar as informações da memória.
Entende-se que uma determinada tela pode suportar múltiplas resoluções diferentes. Portanto, a determinada tela pode ser capaz de exibir o conteúdo de vídeo que tem uma resolução, por exemplo, de 1280, 1440 ou 1920. Todavia, a determinada tela muitas vezes é referida como uma tela 1920 porque a resolução suportada mais alta é 1920. Quando uma tela grande estiver exibindo uma imagem de resolução pequena, os elementos individuais da imagem podem compreender múltiplos pixels. Por exemplo, se uma tela puder suportar uma resolução horizontal de 800 e 1920, então, a tela tem tipicamente pelo menos 1920 pixels de largura. Quando a tela estiver exibindo uma imagem de resolução 800, é possível que a tela aloque pelo menos uma porção de três ou mais pixels em cada elemento da imagem.
Diversas implementações usam representações de ponto flutuante de valores de disparidade. As variações particulares de tais implementações usam representações de ponto fixo dos valores de disparidade em vez das representações de ponto flutuante.
Avalia-se que o uso de qualquer um entre o seguinte ”/”, "e/ou" e "pelo menos um entre", por exemplo, nos casos de "A/B", "A e/ou B" e "pelo menos um entre A e B", tem intenção de abranger a seleção da primeira opção listada (A) apenas, ou a seleção da segunda opção listada (B) apenas, ou a seleção de ambas as opções (A e B). Como um exemplo adicional, nos casos "A, B, e/ou C" e "pelo menos um entre A, B e C" e "pelo me- nos um entre A, B, ou C", tal frase tem intenção de abranger a seleção da primeira opção listada (A) apenas, ou a seleção da segunda opção listada (B) apenas, ou a seleção da terceira opção listada (C) apenas, ou a seleção das primeira e segunda opções listadas (A e B) apenas, ou a seleção das primeira e terceira opções listadas (A e C) apenas, ou a seleção das segunda e terceira opções listadas (B e C) apenas, ou a seleção de todas as três opções (A e B e C). Isto pode se estender, conforme prontamente aparente para alguém de conhecimento comum na técnica, a muitos itens listados.
De maneira adicional, muitas implementações podem ser implementadas em um ou mais entre codificador (por exemplo, o codificador 902), um decodificador (por exemplo, o decodificador 1006), um pós-processador (por exemplo, o processador 1008) que processa a saída de um decodificador, ou um pré-processador (por exemplo, o processador 901) que proporciona entrada para um codificador. Ademais, outras implementações são contempladas por esta descrição.
As implementações descritas no presente documento podem ser implementadas, por exemplo, em um método ou um processo, um aparelho, um programa software, um fluxo de dados, ou um sinal. Mesmo se apenas discutida no contexto de uma única forma de im-plementação (por exemplo, discutida apenas como um método), a implementação dos recursos discutidos também pode ser implementada de outras formas (por exemplo, um aparelho ou programa). Um aparelho pode ser implementado, por exemplo, em hardware, software e firmware apropriado. Os métodos podem ser implementados, por exemplo, em um aparelho, tal como, por exemplo, um processador, que se refere aos dispositivos de processamento em geral, que inclui, por exemplo, um computador, um microprocessador, um circuito integrado ou um dispositivo de lógica programável. Os processadores também incluem dispositivos de comunicação, tais como, por exemplo, computadores, telefones celulares, assistentes portáteis/pessoais digitais ("PDAs"), e outros dispositivos que facilitam a comunicação de informações entre usuários finais.
As implementações de diversos processos e recursos descritos no presente docu- mento podem ser incorporadas em uma variedade de equipamentos ou aplicações diferentes, particularmente, por exemplo, equipamentos ou aplicações associadas a codificação de dados, decodificação de dados, geração de vista, processamento de profundidade ou disparidade e outro processamento de imagens e mapas de disparidade. profundidade e/ou relacionados Os exemplos de tal equipamento incluem um codificador, um decodificador, um pós-processador que processa saída a partir de um decodificador, um pré-processador que proporciona entrada para um codificador, um codificador de vídeo, um decodificador de vídeo, um codec de vídeo, um servidor da web, um decodificador de sinais, um laptop, um computador pessoal, um telefone celular, um PDA e outros dispositivos de comunicação. Como deve ser claro, o equipamento pode ser móvel e ainda instalado em um veículo móvel.
De maneira adicional, os métodos podem ser implementados por instruções que são realizadas por um processador, e tais instruções (e/ou valores de dados produzidos por uma implementação) podem ser armazenadas em um meio legível por processador, tal como, por exemplo, um circuito integrado, uma portadora de software ou outro dispositivo de armazenamento, tal como, por exemplo, um disco rígido, um disquete compacto ("CD"), um disco óptico (tal como, por exemplo, um DVD, muitas vezes referido como um disco versátil digital ou um disco de vídeo digital), uma memória de acesso aleatório ("RAM"), ou uma memória somente leitura ("ROM"). As instruções podem formar um programa aplicativo tan- givelmente incorporado em um meio legível por processador. As instruções podem ser, por exemplo, em hardware, firmware, software ou uma combinação destes. As instruções podem ser encontradas, por exemplo, em um sistema de operação, um aplicativo separado, ou uma combinação destes. Portanto, um processador pode ser caracterizado, por exemplo, tanto como um dispositivo configurado para realizar um processo como um dispositivo que inclui um meio legível por processador (tal como, um dispositivo de armazenamento) que tem instruções para realizar um processo. Ademais, um meio legível por processador pode armazenar, além de, ou em vez de instruções, valores de dados produzidos por uma imple- mentação.
Conforme será evidente para alguém versado na técnica, as implementações podem produzir uma variedade de sinais formatados para transportar informações que podem ser, por exemplo, armazenada ou transmitidas. As informações podem incluir, por exemplo, instruções para realizar um método, ou dados produzidos por uma das implementações descritas. Por exemplo, um sinal pode ser formatado para transportar como dados as regras para escrever ou ler a sintaxe de uma modalidade descrita, ou transportar como dados os valores de sintaxe reais escritos por uma modalidade descrita. Tal sinal pode ser formatado, por exemplo, como uma onda eletromagnética (por exemplo, usando uma porção de frequência de rádio do espectro) ou como um sinal de banda-base. A formatação pode incluir, por exemplo, codificar um fluxo de dados e modular uma portadora com o fluxo de dados codificado. As informações que o sinal transporta podem ser, por exemplo, informações analógicas ou digitais. O sinal pode ser transmitido através de uma variedade de links cabeados ou sem fio diferentes, conforme conhecidos. O sinal pode ser armazenado em um meio legível por processador.
Inúmeras implementações foram descritas. Todavia, será entendido que diversas modificações podem ser efetuadas. Por exemplo, os elementos de implementações diferentes podem ser combinados, suplementados, modificados ou removidos para produzirem outras implementações. De maneira adicional, alguém de conhecimento comum na técnica irá entender que outras estruturas e processos podem ser substituídos por aqueles descritos e as implementações resultantes irão realizar pelo menos substancialmente as mesmas funções, pelo menos substancialmente do mesmo modo, para obter pelo menos substancialmente o mesmo resultado que as implementações descritas. Consequentemente, estas e outras implementações são contempladas por este pedido.

Claims (12)

1. Método, CARACTERIZADO por compreender as etapas de:acessar um valor de disparidade para uma localização particular em uma imagem, a imagem sendo para exibir em uma tela padrão tendo uma resolução particular, e o valor da disparidade correspondendo a outra resolução que é maior do que a maior resolução de qualquer tela padrão e um número inteiro correspondendo a um menor múltiplo comum de múltiplas resoluções suportadas pela tela padrão; emodificar o valor de disparidade acessado através da redução do valor de disparidade acessado para produzir um valor de disparidade modificado correspondendo à resolução particular.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a resolução particular é uma resolução horizontal e o valor de disparidade é uma disparidade horizontal.
3. Método, de acordo a reivindicação 1 ou 2, CARACTERIZADO pelo fato de que a modificação compreende escalonar o valor de disparidade acessado com base em um múltiplo comum das múltiplas resoluções.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que o múltiplo comum é o menor múltiplo comum das múltiplas resoluções.
5. Método, de acordo com a reivindicação 3 ou 4, CARACTERIZADO pelo fato de que o múltiplo comum é 11520.
6. Método, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que o número inteiro proporciona precisão de sub-pixel em disparidade para as múltiplas resoluções.
7. Aparelho, CARACTERIZADO por ser configurado para executar um método conforme definido em qualquer uma das reivindicações de 1 a 6.
8. Aparelho, de acordo com a reivindicação 7, CARACTERIZADO por compreender um ou mais processadores coletivamente configurados para: acessar um valor de disparidade para uma localização particular em uma imagem, a imagem sendo para exibir em uma tela padrão tendo uma resolução particular, e o valor da disparidade correspondendo a outra resolução que é maior do que a maior resolução de qualquer tela padrão e um número inteiro correspondendo a um menor múltiplo comum de múltiplas resoluções suportadas pela tela padrão; emodificar o valor de disparidade acessado através da redução do valor de disparidade acessado para produzir um valor de disparidade modificado correspondendo à resolução particular.
9. Aparelho, de acordo com a reivindicação 7, CARACTERIZADO por compreender:meios para acessar um valor de disparidade para uma localização particular em uma imagem, a imagem sendo para exibir em uma tela padrão tendo uma resolução particular, e o valor da disparidade correspondendo a outra resolução que é maior do que a maior resolução de qualquer tela padrão e um número inteiro correspondendo a um menor múltiplo comum de múltiplas resoluções suportadas pela tela padrão; emeios adaptados para modificar o valor de disparidade acessado através da redução do valor de disparidade acessado para produzir um valor de disparidade modificado correspondendo à resolução particular.
10. Aparelho, de acordo com a reivindicação 7, CARACTERIZADO por compreender:um demodulador para demodular um sinal que inclui dados que indicam um valor de disparidade para uma localização particular em uma imagem, a imagem tendo uma resolução particular, e o valor de disparidade correspondendo a outra resolução para a imagem que é diferente de e maior do que a resolução particular e que é baseada em múltiplas resoluções menores possíveis para a imagem; eum processador configurado para modificar o valor de disparidade acessado através da redução do valor de disparidade acessado para produzir um valor de disparidade modificado correspondendo à resolução particular.
11. Aparelho, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que a resolução particular é uma resolução horizontal e o valor de disparidade é uma disparidade horizontal.
12. Mídia legível por processador, CARACTERIZADA por ter armazenado em siinstruções que fazem com que um ou mais processadores executem coletivamente um método conforme definido em qualquer uma das reivindicações de 1 a 6.
BR112012024955-0A 2010-03-31 2011-03-31 Método, aparelho e mídia legível por processador para mapas de disparidade 3d BR112012024955B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US31956610P 2010-03-31 2010-03-31
US61/319,566 2010-03-31
US39741810P 2010-06-11 2010-06-11
US61/397,418 2010-06-11
PCT/IB2011/000708 WO2011121437A1 (en) 2010-03-31 2011-03-31 3d disparity maps

Publications (2)

Publication Number Publication Date
BR112012024955A2 BR112012024955A2 (pt) 2016-07-12
BR112012024955B1 true BR112012024955B1 (pt) 2021-12-07

Family

ID=44246501

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012024955-0A BR112012024955B1 (pt) 2010-03-31 2011-03-31 Método, aparelho e mídia legível por processador para mapas de disparidade 3d

Country Status (10)

Country Link
US (1) US10791314B2 (pt)
EP (1) EP2553933B1 (pt)
JP (1) JP6073214B2 (pt)
KR (1) KR101825761B1 (pt)
CN (2) CN106131531B (pt)
AU (1) AU2011234163B2 (pt)
BR (1) BR112012024955B1 (pt)
CA (1) CA2795021C (pt)
MX (1) MX340111B (pt)
WO (1) WO2011121437A1 (pt)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131531B (zh) * 2010-03-31 2019-04-26 汤姆森特许公司 视频处理方法和装置
EP2608553A4 (en) * 2010-08-19 2014-04-16 Panasonic Corp STEREOSCOPIC IMAGE RECORDING DEVICE AND STEREOSCOPIC IMAGE RECORDING METHOD
TWI475515B (zh) * 2011-04-13 2015-03-01 Univ Nat Taiwan 產生立體影片之深度圖的方法
CN103562958B (zh) * 2011-05-26 2017-03-29 汤姆逊许可公司 尺度无关图
KR20140120000A (ko) * 2013-04-01 2014-10-13 한국전자통신연구원 3차원공간의 분석을 통한 입체영상 자막 생성 장치 및 방법
US9460855B2 (en) * 2013-10-01 2016-10-04 Samsung Electro-Mechanics Co., Ltd. Multilayer ceramic capacitor and board having the same
US10244223B2 (en) 2014-01-10 2019-03-26 Ostendo Technologies, Inc. Methods for full parallax compressed light field 3D imaging systems
KR101882931B1 (ko) 2014-07-10 2018-07-30 삼성전자주식회사 다시점 영상 디스플레이 장치 및 그의 디스패리티 측정 방법
CN105323573B (zh) * 2014-07-16 2019-02-05 北京三星通信技术研究有限公司 三维图像显示装置和方法
TWI556624B (zh) * 2014-07-18 2016-11-01 友達光電股份有限公司 影像顯示方法以及影像顯示裝置
CN105491277B (zh) * 2014-09-15 2018-08-31 联想(北京)有限公司 图像处理方法和电子设备
CN106471803A (zh) * 2014-12-04 2017-03-01 深圳市大疆创新科技有限公司 成像系统及方法
JP6866299B2 (ja) 2015-04-23 2021-04-28 オステンド・テクノロジーズ・インコーポレーテッド 全方向視差ライトフィールド表示システム用の方法および装置
EP3286737A1 (en) 2015-04-23 2018-02-28 Ostendo Technologies, Inc. Methods for full parallax compressed light field synthesis utilizing depth information
US10448030B2 (en) 2015-11-16 2019-10-15 Ostendo Technologies, Inc. Content adaptive light field compression
US10453431B2 (en) 2016-04-28 2019-10-22 Ostendo Technologies, Inc. Integrated near-far light field display systems
US11051039B2 (en) 2017-06-02 2021-06-29 Ostendo Technologies, Inc. Methods for full parallax light field compression
US20180350038A1 (en) 2017-06-02 2018-12-06 Ostendo Technologies, Inc. Methods and Systems for Light Field Compression With Residuals
US10432944B2 (en) 2017-08-23 2019-10-01 Avalon Holographics Inc. Layered scene decomposition CODEC system and methods
CN107436500B (zh) * 2017-08-25 2020-04-24 京东方科技集团股份有限公司 光栅及制备方法、驱动方法、裸眼三维显示系统
US10931956B2 (en) * 2018-04-12 2021-02-23 Ostendo Technologies, Inc. Methods for MR-DIBR disparity map merging and disparity threshold determination
US11172222B2 (en) 2018-06-26 2021-11-09 Ostendo Technologies, Inc. Random access in encoded full parallax light field images
US20200314411A1 (en) * 2019-03-29 2020-10-01 Alibaba Group Holding Limited Synchronizing an illumination sequence of illumination sources with image capture in rolling shutter mode
US11182630B2 (en) 2019-03-29 2021-11-23 Advanced New Technologies Co., Ltd. Using an illumination sequence pattern for biometric authentication

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025325A (en) 1989-10-13 1991-06-18 Hewlett-Packard Company Graphics scaling method for high resolution printers
JPH0818954A (ja) * 1994-06-24 1996-01-19 Sharp Corp 画像伝送装置
US5926567A (en) * 1995-03-01 1999-07-20 Compaq Computer Corporation Method and apparatus for storing and rapidly displaying graphic data
CN1132123A (zh) 1995-03-25 1996-10-02 国营无锡市新峰石化管件厂 短半径弯头加工工艺
KR100414629B1 (ko) 1995-03-29 2004-05-03 산요덴키가부시키가이샤 3차원표시화상생성방법,깊이정보를이용한화상처리방법,깊이정보생성방법
JPH11127339A (ja) * 1997-10-23 1999-05-11 Fuji Xerox Co Ltd 画像処理装置
US7092003B1 (en) 1999-01-21 2006-08-15 Mel Siegel 3-D imaging arrangements
TW421969B (en) 1999-03-19 2001-02-11 Asustek Comp Inc 3D image processing device and method
JP2000321050A (ja) 1999-05-14 2000-11-24 Minolta Co Ltd 3次元データ取得装置および3次元データ取得方法
US20020145610A1 (en) 1999-07-16 2002-10-10 Steve Barilovits Video processing engine overlay filter scaler
TW452757B (en) 1999-08-17 2001-09-01 Trumpion Microelectronics Inc Image processing device in accordance with the resolution adjustment of flat panel display
JP2001306287A (ja) * 2000-04-25 2001-11-02 Ricoh Co Ltd 異機種間代行印刷システム
JP3736379B2 (ja) * 2001-04-19 2006-01-18 ソニー株式会社 電子透かし埋め込み処理装置、電子透かし検出処理装置、および電子透かし埋め込み処理方法、電子透かし検出処理方法、並びにプログラム記憶媒体、およびプログラム
US6873717B2 (en) * 2002-07-09 2005-03-29 Riverain Medical Group, Llc Input/output interface for computer aided diagnosis (CAD) system
KR100439341B1 (ko) 2002-08-27 2004-07-07 한국전자통신연구원 시각 피로 감소를 위한 스테레오 영상의 초점심도 조정장치 및 그 방법
JP4251907B2 (ja) 2003-04-17 2009-04-08 シャープ株式会社 画像データ作成装置
WO2004093467A1 (ja) 2003-04-17 2004-10-28 Sharp Kabushiki Kaisha 3次元画像作成装置、3次元画像再生装置、3次元画像処理装置、3次元画像処理プログラムおよびそのプログラムを記録した記録媒体
JP2005073049A (ja) 2003-08-26 2005-03-17 Sharp Corp 立体映像再生装置および立体映像再生方法
US20050132191A1 (en) 2003-12-16 2005-06-16 Joshi Ajit P. Method for authenticating different rendering devices with different service providers
US20090073170A1 (en) 2004-10-26 2009-03-19 Koninklijke Philips Electronics, N.V. Disparity map
KR100636221B1 (ko) 2005-01-29 2006-10-19 삼성전자주식회사 컨텐츠를 선택하여 재생/기록하는 방법 및 그 장치
KR100727940B1 (ko) 2005-06-22 2007-06-14 삼성전자주식회사 통신 채널을 이용한 3d 입체 영상의 화질 조정 방법
KR100667810B1 (ko) 2005-08-31 2007-01-11 삼성전자주식회사 3d 영상의 깊이감 조정 장치 및 방법
JP2009516447A (ja) 2005-11-17 2009-04-16 ノキア コーポレイション 3次元画像データを生成、転送および処理するための方法および装置
US7738712B2 (en) 2006-01-04 2010-06-15 Aten International Co., Ltd. Mixing 2-D gradient-difference and interpolation/decimation method and device for scaling a digital image
US7916934B2 (en) 2006-04-04 2011-03-29 Mitsubishi Electric Research Laboratories, Inc. Method and system for acquiring, encoding, decoding and displaying 3D light fields
US7609906B2 (en) 2006-04-04 2009-10-27 Mitsubishi Electric Research Laboratories, Inc. Method and system for acquiring and displaying 3D light fields
US8044994B2 (en) 2006-04-04 2011-10-25 Mitsubishi Electric Research Laboratories, Inc. Method and system for decoding and displaying 3D light fields
ATE523861T1 (de) 2006-10-04 2011-09-15 Koninkl Philips Electronics Nv Bildverbesserung
KR101311896B1 (ko) 2006-11-14 2013-10-14 삼성전자주식회사 입체 영상의 변위 조정방법 및 이를 적용한 입체 영상장치
US20080136819A1 (en) * 2006-12-11 2008-06-12 Michael Shivas Apparatus and method for screen scaling displays on communication devices
JP4936869B2 (ja) * 2006-12-12 2012-05-23 株式会社東芝 画像処理装置及び画像処理方法
JP4909063B2 (ja) 2006-12-28 2012-04-04 キヤノン株式会社 撮像装置及び画像記録方法
KR20080076628A (ko) 2007-02-16 2008-08-20 삼성전자주식회사 영상의 입체감 향상을 위한 입체영상 표시장치 및 그 방법
KR100778085B1 (ko) 2007-03-14 2007-11-22 주식회사 이시티 주시각 제어를 위한 입체 영상 신호의 처리 방법 및 장치
KR101345303B1 (ko) * 2007-03-29 2013-12-27 삼성전자주식회사 스테레오 또는 다시점 영상의 입체감 조정 방법 및 장치
JP5299734B2 (ja) * 2007-07-30 2013-09-25 Nltテクノロジー株式会社 画像処理方法、画像表示装置及びそのタイミングコントローラ
US8390674B2 (en) 2007-10-10 2013-03-05 Samsung Electronics Co., Ltd. Method and apparatus for reducing fatigue resulting from viewing three-dimensional image display, and method and apparatus for generating data stream of low visual fatigue three-dimensional image
WO2009083863A1 (en) 2007-12-20 2009-07-09 Koninklijke Philips Electronics N.V. Playback and overlay of 3d graphics onto 3d video
KR101510099B1 (ko) 2008-01-11 2015-04-08 삼성전자주식회사 디지털 영상 처리 장치에서 다중 심도를 가진 3차원 메뉴디스플레이 방법
WO2009101798A1 (ja) 2008-02-12 2009-08-20 Panasonic Corporation 複眼撮像装置、測距装置、視差算出方法及び測距方法
JP2009238117A (ja) 2008-03-28 2009-10-15 Toshiba Corp 多視差画像生成装置および方法
JP4870120B2 (ja) 2008-05-16 2012-02-08 株式会社Jvcケンウッド 動画像階層符号化装置、動画像階層符号化方法、動画像階層符号化プログラム、動画像階層復号化装置、動画像階層復号化方法、および動画像階層復号化プログラム
JP2012503817A (ja) 2008-09-25 2012-02-09 テレ アトラス ベスローテン フエンノートシャップ 画像をぼかす方法及び構成
JP2010098479A (ja) * 2008-10-15 2010-04-30 Sony Corp 表示装置、表示方法及び表示システム
JP5235604B2 (ja) 2008-10-20 2013-07-10 キヤノン株式会社 画像処理装置および画像処理方法
CN102232294B (zh) 2008-12-01 2014-12-10 图象公司 用于呈现具有内容自适应信息的三维动态影像的方法和系统
CA2745021C (en) 2008-12-02 2014-10-28 Lg Electronics Inc. Method for displaying 3d caption and 3d display apparatus for implementing the same
TW201101839A (en) 2009-06-26 2011-01-01 Liao Li Shi System for encoding video and method, system for decoding video and method, system for displaying video and method
KR101678968B1 (ko) 2009-08-21 2016-11-25 에스케이텔레콤 주식회사 참조 픽처 보간 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US8374463B1 (en) * 2010-01-06 2013-02-12 Marseille Networks, Inc. Method for partitioning a digital image using two or more defined regions
CN106131531B (zh) 2010-03-31 2019-04-26 汤姆森特许公司 视频处理方法和装置
GB2479784B (en) 2010-04-23 2012-11-07 Nds Ltd Image scaling
US9035939B2 (en) 2010-10-04 2015-05-19 Qualcomm Incorporated 3D video control system to adjust 3D video rendering based on user preferences
CN103562958B (zh) 2011-05-26 2017-03-29 汤姆逊许可公司 尺度无关图
CA2857367A1 (en) 2011-12-15 2013-06-20 Thomson Licensing Method and apparatus for video quality measurement

Also Published As

Publication number Publication date
US20130010057A1 (en) 2013-01-10
CN106131531A (zh) 2016-11-16
AU2011234163B2 (en) 2015-10-29
JP2013524608A (ja) 2013-06-17
MX2012011134A (es) 2012-11-12
MX340111B (es) 2016-06-27
CN102934451B (zh) 2016-10-05
AU2011234163A1 (en) 2012-10-11
CN106131531B (zh) 2019-04-26
CA2795021C (en) 2020-06-16
JP6073214B2 (ja) 2017-02-01
CN102934451A (zh) 2013-02-13
EP2553933B1 (en) 2018-10-24
WO2011121437A1 (en) 2011-10-06
US10791314B2 (en) 2020-09-29
CA2795021A1 (en) 2011-10-06
EP2553933A1 (en) 2013-02-06
KR20130088012A (ko) 2013-08-07
BR112012024955A2 (pt) 2016-07-12
KR101825761B1 (ko) 2018-03-22
HK1182245A1 (zh) 2013-11-22

Similar Documents

Publication Publication Date Title
BR112012024955B1 (pt) Método, aparelho e mídia legível por processador para mapas de disparidade 3d
US9600923B2 (en) Scale-independent maps
CN102823260B (zh) 视差值指示
US10055814B2 (en) Image processing device and image processing method
US12356006B2 (en) Method and apparatus for encoding volumetric video represented as a multiplane image
HK1182245B (en) 3d disparity maps
Yang et al. Joint bit allocation for 3D video coding based on virtual view distortion

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B25G Requested change of headquarter approved

Owner name: THOMSON LICENSING (FR)

B25A Requested transfer of rights approved

Owner name: INTERDIGITAL CE PATENT HOLDINGS (FR)

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 13/00

Ipc: H04N 13/128 (2018.01)

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 07/12/2021, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.