BR112019011254A2 - método para gerar uma imagem de intensidade de luz, aparelho para gerar uma imagem de intensidade de luz, e produto de programa de computador - Google Patents

método para gerar uma imagem de intensidade de luz, aparelho para gerar uma imagem de intensidade de luz, e produto de programa de computador Download PDF

Info

Publication number
BR112019011254A2
BR112019011254A2 BR112019011254A BR112019011254A BR112019011254A2 BR 112019011254 A2 BR112019011254 A2 BR 112019011254A2 BR 112019011254 A BR112019011254 A BR 112019011254A BR 112019011254 A BR112019011254 A BR 112019011254A BR 112019011254 A2 BR112019011254 A2 BR 112019011254A2
Authority
BR
Brazil
Prior art keywords
mesh
depth
light intensity
view
map
Prior art date
Application number
BR112019011254A
Other languages
English (en)
Other versions
BR112019011254A8 (pt
Inventor
Varekamp Christiaan
Original Assignee
Koninklijke Philips Nv
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 Koninklijke Philips Nv filed Critical Koninklijke Philips Nv
Publication of BR112019011254A2 publication Critical patent/BR112019011254A2/pt
Publication of BR112019011254A8 publication Critical patent/BR112019011254A8/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

trata-se de um método para gerar uma imagem que compreende receber (301, 303) um primeiro e um segundo mapas de textura e malhas representando uma cena a partir de um primeiro ponto de vista e um segundo ponto de vista, respectivamente. uma imagem de intensidade de uma luz é gerada (305) para um terceiro ponto de vista. para uma primeira posição, isso inclui determinar (401, 403) um primeiro e um segundo valores de intensidade de luz para a primeira posição por uma transformação de ponto de vista com base no primeiro mapa de textura e na primeira malha e no segundo mapa de textura e na segunda malha, respectivamente. o valor de intensidade de luz é então determinado (405) por uma combinação ponderada do primeiro e do segundo valores de intensidade de luz. a ponderação depende de um gradiente de profundidade na primeira malha em uma primeira posição de malha correspondente à primeira posição em relação a um gradiente de profundidade na segunda malha em uma segunda posição de malha correspondente à primeira posição.

Description

MÉTODO PARA GERAR UMA IMAGEM DE INTENSIDADE DE LUZ, APARELHO PARA GERAR UMA IMAGEM DE INTENSIDADE DE LUZ, E PRODUTO DE PROGRAMA DE COMPUTADOR
CAMPO DA INVENÇÃO [001] A invenção se refere a um aparelho e um método para gerar uma imagem de intensidade de luz e, em particular, para gerar uma imagem de intensidade de luz para um novo ponto de vista com base em mapas de textura e malhas a partir de uma pluralidade de pontos de vista diferentes adequados para processamento de hardware acelerado.
ANTECEDENTES DA INVENÇÃO [002] Aplicações gráficas baseadas em cenas tridimensionais se tornaram predominantes em muitas aplicações como, especificamente, aplicações gráficas de computador. A fim de suportar processamento gráfico tridimensional rápido, várias normas e especificações foram desenvolvidas. Isso não só possibilita projetos e implementações mais rápidos, pois pode fornecer funções e rotinas padronizadas para muitas operações padrão como deslocamento de ponto de vista, mas também permite que mecanismos gráficos de hardware dedicados sejam desenvolvidos e otimizados para essas rotinas. De fato, para muitos computadores, a Unidade de Processamento de Gráfico (GPU) pode hoje em dia ser frequentemente pelo menos tão potente e importante quanto a Unidade de Processamento Central (CPU).
[003] Um exemplo de um padrão para suportar processamento gráfico rápido é a especificação OpenGL que fornece uma Interface de Processo de Aplicativo (API) com várias funções de processamento gráfico de suporte. A especificação é tipicamente usada para fornecer
Petição 870190051172, de 31/05/2019, pág. 7/145
2/52 processamento gráfico acelerado por hardware, sendo que as rotinas especificas são implementadas por hardware acelerado dedicado sob a forma de uma GPU.
[004] Na maioria dessas especificações gráficas, a representação da cena é feita através de uma combinação de um mapa de textura e uma malha tridimensional. De fato, uma abordagem particularmente eficaz em muitos cenários consiste em representar objetos de imagem ou, de fato, a cena como um todo, por uma malha poligonal onde vários polígonos são conectados por suas bordas ou cantos comuns (vértices), que são dados por posições tridimensionais. A malha poligonal tridimensional combinada, consequentemente fornece um modelo eficaz de objetos tridimensionais, incluindo, possivelmente, uma descrição tridimensional de uma imagem completa. A malha poligonal é frequentemente uma malha triangular formada por triângulos que têm cantos comuns dados em um espaço 3D.
[005] Como um exemplo, uma câmera estéreo pode registrar uma imagem de uma cena de um dado ponto de vista. Para cada pixel, uma estimativa de disparidade pode ser feita para estimar a distância até o objeto representado pelo pixel. Isso pode ser realizado para cada pixel fornecendo assim uma posição tridimensional de x,y,z para cada pixel. Essas posições podem, então, ser usadas como vértices de uma malha triangular com dois triângulos sendo formados para cada grupo de 2x2 pixels. Como isso pode resultar em um grande número de triângulos, o processo pode incluir combinar alguns triângulos iniciais em triângulos maiores (ou, em alguns cenários, mais genericamente em polígonos maiores). Isso reduzirá o número de triângulos, mas também diminuirá a resolução espacial da malha.
Petição 870190051172, de 31/05/2019, pág. 8/145
3/52
Consequentemente, isso depende tipicamente das variações de profundidade e é predominantemente feito em áreas mais planas.
[006] Cada vértice é adicionalmente associado a um valor de intensidade de luz do mapa de textura. O mapa de textura fornece essencialmente a intensidade de luz/cor na cena para o objeto na posição de pixel para o vértice. Tipicamente, uma imagem de intensidade de luz/mapa de textura é fornecido juntamente com a malha, sendo que cada vértice contém dados que representam a posição x, y, z do vértice e dados u,v que identificam uma posição no mapa de textura, isto é, a mesma aponta para a intensidade de luz na posição x, y, z conforme capturada no mapa de textura.
[007] Nessas representações, a malha poligonal é usada para fornecer informações da geometria tridimensional dos objetos, enquanto a textura é geralmente fornecida como uma estrutura de dados separada. Especificamente, a textura é frequentemente fornecida como um mapa bidimensional separado que, pelo algoritmo de processamento, pode ser sobreposto à geometria tridimensional.
[008] O uso de malhas triangulares é particularmente adequado para processamento e manipulação por algoritmos de computação gráfica, e muitas soluções eficientes de software e hardware foram desenvolvidas e estão disponíveis no mercado. Em muitos dos sistemas de processamento, uma eficiência computacional substancial é obtida pelo algoritmo que processa os vértices individuais como um conjunto em uma pluralidade de polígonos, em vez de processar cada um separadamente. Por exemplo, para uma malha triangular típica, cada vértice é frequentemente comum a vários triângulos (em
Petição 870190051172, de 31/05/2019, pág. 9/145
4/52 geral de 3 a 8) . 0 processamento de um único vértice pode, consequentemente, ser aplicável a um número relativamente alto de triângulos, reduzindo assim substancialmente o número de pontos em uma imagem ou outro objeto que está sendo processado.
[009] Como um exemplo especifico, muitos sistemas em circuito integrado (SOCs - System On Chip) atuais contêm uma GPU que é altamente otimizada para processamento de gráficos 3D. Por exemplo, o processamento da textura e da geometria de objetos 3D é feito com o uso de dois caminhos amplamente separados no chamado pipeline de renderização OpenGL (ou em muitas outras interfaces de programação de aplicativos (APIs - application programmer interfaces) como DirectX). O hardware de unidades GPU em sistemas SoC pode tratar com eficiência de gráficos 3D desde que a fonte 3D seja apresentada à GPU sob a forma de vértices (geralmente triângulos) e texturas. A interface de aplicativos OpenGL possibilita então que a definição e o controle de uma câmera de perspectiva virtual que determina como os objetos 3D aparecem quando projetados sobre a tela 2D. Embora a OpenGL use objetos 3D como entrada, a salda é tipicamente uma imagem 2D adequada para uma tela 2D normal.
[010] Entretanto, essas abordagens também exigem que as informações tridimensionais sejam fornecidas por uma malha poligonal e informações de textura associadas. Considerando que isso pode ser relativamente fácil de fornecer em algumas aplicações, como, por exemplo jogos baseados em cenas e ambientes virtuais totalmente gerados por computador, isso pode ser menos fácil em outras modalidades. Em particular, em aplicações que são baseadas na captura de cenas
Petição 870190051172, de 31/05/2019, pág. 10/145
5/52 reais, exige-se que essas sejam convertidas em uma representação de textura e malha. Isso pode, conforme anteriormente mencionado, ser baseado em imagens estéreo ou em uma representação de imagem e profundidade da cena. Entretanto, embora várias abordagens para realizar tal conversão sejam conhecidas, isso não é trivial e apresenta vários problemas e desafios complexos.
[011] Um funcionamento comum no processamento gráfico consiste em alterações de ponto de vista onde uma imagem é gerada por um ponto de vista diferente daquele do mapa de textura e malha de entrada. APIs gráficas têm tipicamente funções para realizar muito eficientemente tais transformações de ponto de vista. No entanto, como a malha de entrada tipicamente não é perfeita, tais transformações de ponto de vista podem resultar na degradação da qualidade da mudança ser muito significativa. Além disso, uma representação de uma cena de um ponto de vista incluirá tipicamente vários elementos ocluidos onde um objeto em primeiro plano oclui elementos atrás dele. Esses elementos podem ser visíveis a partir da nova direção, isto é, a alteração de ponto de vista pode resultar em desoclusão. Entretanto, o mapa de textura e a malha de entrada, nesse caso, não compreendem quaisquer informações para essas partes desocluidas. Consequentemente, elas não podem ser otimamente representadas, uma vez que as informações necessárias não estão disponíveis.
[012] Por estas razões, a transformação de ponto de vista é muitas vezes baseada em uma pluralidade de mapas de textura e malhas que correspondem a diferentes direções de vista. De fato, para sintetizar um novo ponto de vista (não visto), é tipicamente preferencial ou mesmo
Petição 870190051172, de 31/05/2019, pág. 11/145
6/52 necessário combinar múltiplas malhas capturadas com imagens de câmera associados (texturas) a partir de diferentes pontos de vista. A razão principal para combinar dados de diferentes pontos de vista é a recuperação de objetos que estão ocultos (ocluidos) em uma vista, mas visíveis em uma outra vista. Esse problema é muitas vezes chamado de interpelação de ponto de vista.
[013] Entretanto, abordagens convencionais para isso ainda tendem a ser não ideais.
[014] Por exemplo, uma abordagem para gerar um novo ponto de vista é transformar as malhas que se originam dos diferentes pontos de vista para um único sistema de coordenadas mundial e, então realizar uma projeção em perspectiva sobre um novo plano de câmera. Essas etapas podem ser feitas em hardware gráfico padrão. Entretanto, isso tipicamente não mostrará corretamente as superficies ocultas. Especificamente, o hardware gráfico usa testes de profundidade para selecionar o ponto mais frontal quando pontos são combinados em um único pixel. Essa abordagem é usada para resolver a auto-oclusão onde o deslocamento de ponto de vista pode resultar em objetos de imagem em movimento um em relação ao outro de modo que novas oclusões ocorram, isto é, no novo ponto de vista, pode haver uma oclusão para dois pontos que não estão ocluidos do ponto de vista original. No entanto, quando aplicado a diferentes imagens isso pode resultar em erros ou degradações. De fato, a profundidade é tipicamente interpelada de modo linear de modo que ela se estenda além de objetos em primeiro plano (como um efeito de halo) , o ponto mais frontal em geral
Petição 870190051172, de 31/05/2019, pág. 12/145
7/52 corresponderá às áreas que podem estar ocluidas devido ao fato de estarem próximas a um objeto em primeiro plano.
[015] Um exemplo de uma técnica para a interpelação de vista com base em imagens de profundidade é fornecido em C.L. Zitnick et.al. High-quality video view interpolation using a layered representation. SIGGRAPH '04 ACM SIGGRAPH 2004, páginas 600 a 608. Para obter alta qualidade, a técnica usa uma representação de duas camadas que consiste em uma camada principal e uma camada de contorno (em torno de transições de profundidade). Essas são construídas com o uso de emaranhamento alfa (representando transparência) e ambas são distorcidas (e misturadas com outras vistas) durante o processo de renderização. Uma desvantagem dessa abordagem é a necessidade de desconectar a malha para gerar a representação de duas camadas. Esse processo precisa selecionar um limiar para o mapa de profundidade e apagar triângulos da malha correspondente em descontinuidades de profundidade. Isso não é desejável uma vez que utilizar limiares podem diminuir potencialmente a estabilidade temporal na renderização.
[016] Portanto, uma abordagem melhorada para geração de imagens para um ponto de vista diferente seria vantajosa e, em particular, uma abordagem que permita flexibilidade aumentada, exatidão aumentada, complexidade reduzida, eficiência computacional aprimorada, compatibilidade aprimorada com as abordagens de processamento gráfico existentes, qualidade de imagem melhorada, desempenho de desoclusão aprimorado e/ou desempenho aprimorado seria vantajosa.
SUMÁRIO DA INVENÇÃO
Petição 870190051172, de 31/05/2019, pág. 13/145
8/52 [017] Consequentemente, a invenção busca, de preferência, mitigar, aliviar ou eliminar uma ou mais das desvantagens mencionadas acima, individualmente ou em qualquer combinação.
[018] De acordo com um aspecto da invenção, é fornecido um método para gerar uma imagem de intensidade de luz, sendo que o método compreende: receber um primeiro mapa de textura e uma primeira malha representando uma cena a partir de um primeiro ponto de vista; receber um segundo mapa de textura e uma segunda malha representando a cena a partir de um segundo ponto de vista; determinar a imagem de intensidade de luz que representa a cena a partir a partir de um terceiro ponto de vista em resposta ao primeiro mapa de textura, à primeira malha, ao segundo mapa de textura e à segunda malha; em que determinar a imagem de intensidade de luz compreende uma primeira posição na imagem de intensidade de luz realizar as etapas de: determinar um primeiro valor de intensidade de luz para a primeira posição por uma transformação de ponto de vista com base no primeiro mapa de textura e na primeira malha; determinar um segundo valor de intensidade de luz para a primeira posição por uma transformação de ponto de vista com base no segundo mapa de textura e na segunda malha; determinar um valor de intensidade de luz para a imagem de intensidade de luz na primeira posição por uma combinação ponderada do primeiro valor de intensidade de luz e do segundo valor de intensidade de luz; uma ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz pela combinação ponderada que é dependente de um primeiro gradiente de profundidade na
Petição 870190051172, de 31/05/2019, pág. 14/145
9/52 primeira malha em uma primeira posição de malha correspondente à primeira posição em relação a um segundo gradiente de profundidade na segunda malha em uma segunda posição de malha correspondente à primeira posição.
[019] A invenção pode, em muitas modalidades, proporcionar geração aprimorada de uma imagem de intensidade de luz para um dado ponto de vista com base em mapas de textura e malhas de outros pontos de vista. Em muitos cenários, uma representação aprimorada de áreas que são desocluidas em relação a um dos pontos de vista de entrada, mas não o outro, é obtida. Em particular, a abordagem pode, em muitas modalidades, proporcionar qualidade aprimorada em torno das bordas de objetos em primeiro plano.
[020] A abordagem pode evitar a geração de orifícios de malha conhecidos a partir de outras abordagens e pode fornecer consistência de profundidade aprimorada.
[021] Uma vantagem especifica da abordagem é que ela pode, em muitas modalidades, ser estritamente acompanhada de rotinas gráficas padrão. Por exemplo, as transformações de ponto de vista, em muitas modalidades, podem ser realizadas por hardware de processamento gráfico padronizado, dedicado e otimizado. Por exemplo, a abordagem pode ser compatível com processos gráficos padronizados e pode usar esses processos eficientemente. De fato, a abordagem pode ser compatível com tais abordagens padronizadas, como por exemplo a especificação openGL, através da limitação de abordagens não padrão a partes do pipeline de processamento/renderização que permite que a adaptação do usuário. Por exemplo, a combinação pode ser
Petição 870190051172, de 31/05/2019, pág. 15/145
10/52 feita como parte do estágio de sombreador de fragmento de um pipeline de renderização OpenGL.
[022] A possibilidade de usar processamento acelerado por hardware padronizado para elementos intensivos de recursos do processamento pode aumentar substancialmente, por exemplo, a velocidade ou capacidade do sistema. Isso pode reduzir a complexidade e/ou requisitos de recurso em muitas modalidades.
[023] A abordagem pode permitir uma adaptação da combinação de modo que pese automaticamente os mapas de textura com maior densidade de pixels para uma determinada área superior a mapas de textura com densidades de pixels menores.
[024] Em algumas modalidades, a transformação de ponto de vista para o primeiro valor de intensidade de luz pode compreender aplicar uma transformação de ponto de vista de malha do primeiro ponto de vista ao terceiro ponto de vista à primeira malha para gerar uma malha transformada, determinar uma posição na malha transformada que corresponde à primeira posição em resposta a um mapeamento em perspectiva para o terceiro ponto de vista, determinar um polígono da malha transformada que corresponde à primeira posição da malha transformada, e determinar o primeiro valor de intensidade de luz como uma interpelação de valores de intensidade de luz no primeiro mapa de textura vinculado a vértices do polígono.
[025] Deve-se considerar que outras abordagens para transformação de ponto de vista podem ser usadas em outras modalidades.
[026] O primeiro e/ou segundo gradientes de profundidade podem ser representados por qualquer valor ou
Petição 870190051172, de 31/05/2019, pág. 16/145
11/52 parâmetro que forneça uma indicação de um gradiente de profundidade na posição correspondente na malha adequada.
[027] Em algumas modalidades, a combinação pode incluir valores de intensidade de luz adicionais derivadas de mapas de textura e malhas para outros pontos de vista.
[028] Uma malha pode ser uma malha tridimensional, em que cada vértice está associado a (tem) uma posição tridimensional. Cada vértice pode ser especificamente representado por ao menos uma posição espacial tridimensional x, y, z. Cada vértice de uma malha pode, ainda, ser ligado a uma posição no mapa de textura correspondente. Por exemplo, para cada vértice, pode ser armazenada uma posição u,v no mapa de textura que corresponde à posição espacial x, y, z.
[029] Uma malha pode incluir informações relacionadas às profundidades dos objetos representados, mas
não está limitada a isso (por exemplo conforme descrito,
vértices podem ser representado por coordenadas
tridimensionais em vez de meramente por uma coordenada de
profundidade). [030] Uma posição de malha em uma malha de
entrada para um ponto de vista de entrada correspondente à primeira posição pode ser a posição na malha de entrada que, pela transformação de ponto de vista, será transformada na primeira posição. De modo equivalente, a posição de malha em uma malha de entrada para um ponto de vista de entrada correspondente à primeira posição pode ser a posição na malha de entrada que está vinculada a uma posição no mapa de
Petição 870190051172, de 31/05/2019, pág. 17/145
12/52 textura que, pela transformação de ponto de vista, será transformada na primeira posição.
[031] Especificamente, a primeira posição pode ser a posição de malha na primeira malha que pela transformação de ponto de vista será transformada/mapeada para a primeira posição (ou de modo similar à primeira posição de malha pode ser a posição na primeira malha vinculada a uma posição no primeiro mapa de textura através do qual a transformação do ponto de vista será transformada/mapeada para a primeira posição). De modo similar, a segunda posição de malha pode ser a posição na segunda malha através da qual a transformação do ponto de vista será transformada/mapeada para a primeira posição (ou, de maneira similar, a segunda posição de malha pode ser a posição na segunda malha vinculada a uma posição no segundo mapa de textura que, pela transformação do ponto de vista, será transformada/mapeada para a primeira posição).
[032] A combinação ponderada pode aplicar um peso ao primeiro valor de intensidade de luz que relativamente a um peso do segundo valor de intensidade de luz depende do primeiro gradiente de profundidade em relação ao segundo gradiente de profundidade.
[033] A profundidade pode ser representada por uma disparidade, por exemplo um mapa de profundidade pode ser uma indicação de um mapa de disparidade.
[034] De acordo com um recurso opcional da invenção, a ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz é uma função monotonicamente decrescente do valor absoluto do primeiro gradiente de profundidade.
Petição 870190051172, de 31/05/2019, pág. 18/145
13/52 [035] Isso pode fornecer desempenho melhorado e pode em particular, em muitos cenários específicos, inclinar a combinação em direção a valores de intensidade de luz que representam valores não ocluidos em vez de valores ocluidos nos mapas de textura de entrada.
[036] Em algumas modalidades, uma ponderação do segundo valor de intensidade de luz pode, ao mesmo tempo, ser uma função monotonicamente decrescente do valor absoluto do segundo gradiente de profundidade.
[037] De acordo com um recurso opcional da invenção, a ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz é uma função monotonicamente crescente do valor absoluto do segundo gradiente de profundidade.
[038] Isso pode fornecer desempenho melhorado e pode em particular, em muitos cenários específicos, inclinar a combinação em direção a valores de intensidade de luz que representam valores não ocluidos em vez de valores ocluidos nos mapas de textura de entrada.
[039] Em algumas modalidades, uma ponderação do segundo valor de intensidade de luz pode, ao mesmo tempo, ser uma função monotonicamente crescente do valor absoluto do primeiro gradiente de profundidade.
[040] De acordo com um recurso opcional da invenção, o método compreende adicionalmente determinar gradientes de profundidade para ao menos alguns vértices da primeira malha; e determinar o primeiro gradiente de profundidade em resposta aos gradientes de profundidade para os ao menos alguns vértices.
Petição 870190051172, de 31/05/2019, pág. 19/145
14/52
[041] Iss o pode proporcii onar uma 2 _mplementação
particularmente modalidades. eficiente com alto desempenho em muitas
[042] adiante indicada A como frase valor magnitude. absoluto será mais
[043] De acordo com um recurso opcional da
invenção, a determinação dos gradiente de profundidade compreende determinar um gradiente de profundidade para um vértice dos ao menos alguns vértices da primeira malha em resposta a uma profundidade do vértice, uma profundidade de ao menos um outro vértice da primeira malha, e uma distância entre o vértice e o pelo menos um outro vértice.
[044] Isso pode proporcionar uma implementação particularmente eficiente com alto desempenho em muitas modalidades.
[045] De acordo com um recurso opcional da invenção, determinar gradientes de profundidade compreende determinar um gradiente de profundidade para um vértice dos ao menos alguns vértices da primeira malha em resposta aos gradientes de profundidade do vértice para uma pluralidade de vértices vizinhos.
[046] Isso pode proporcionar uma implementação particularmente eficiente com alto desempenho em muitas modalidades. Isso pode, em particular, permitir a detecção aprimorada de transições de profundidade em qualquer direção a partir de um dado vértice. O gradiente de profundidade pode ser, por exemplo, determinado como uma média ou máxima de gradientes de profundidade a partir do primeiro vértice para uma pluralidade de vértices vizinhos.
Petição 870190051172, de 31/05/2019, pág. 20/145
15/52 [047] De acordo com um recurso opcional da invenção, que compreende adicionalmente determinar o primeiro gradiente de profundidade em resposta a variações de profundidade em um mapa de profundidade para o primeiro mapa de textura.
[048] Isso pode proporcionar uma implementação particularmente eficiente com alto desempenho em muitas modalidades. Isso pode permitir, em particular, uma determinação de complexidade mais baixa de gradientes de profundidade adequados. O mapa de profundidade pode ser, por exemplo, ser um mapa de profundidade (incluindo especificamente um mapa de disparidade) usado para gerar a malha. O mapa de profundidade pode ser, por exemplo, um mapa de profundidade original fornecido por uma câmera que captura a cena e gera o mapa de profundidade em associação com uma imagem que pode ser usada como o mapa de textura.
[049] De acordo com um recurso opcional da invenção, o método compreende adicionalmente as etapas de: determinar um mapa de gradiente de profundidade para o primeiro mapa de textura; aplicar uma transformação de ponto de vista ao gradiente de profundidade para gerar um mapa de gradiente de profundidade transformado por vista, e determinar o primeiro gradiente de profundidade em resposta a um gradiente de profundidade em uma posição no mapa de gradiente de profundidade transformado por vista correspondente à primeira posição.
[050] Isso pode proporcionar uma operação particularmente eficiente e pode reduzir requisitos de recursos e/ou aumentar substancialmente a velocidade de processamento. Em particular, em muitas modalidades, isso
Petição 870190051172, de 31/05/2019, pág. 21/145
16/52 pode possibilitar a aceleração de hardware padronizado para ser usada para elementos críticos de recurso do processo.
[051] De acordo com um recurso opcional da invenção, o método compreende adicionalmente as etapas de: determinar um mapa de ponderação que compreende pesos para a combinação ponderada em resposta aos gradientes de profundidade; aplicar uma transformação de ponto de vista ao mapa de ponderação para gerar um mapa de ponderação transformado por vista, e determinar um peso para a combinação ponderada em resposta a um peso na primeira posição no mapa de gradiente de profundidade transformado por vista.
[052] Isso pode proporcionar uma implementação particularmente eficiente com alto desempenho em muitas modalidades. Isso pode proporcionar uma operação particularmente eficiente e pode reduzir requisitos de recursos e/ou aumentar substancialmente a velocidade de processamento. Em particular, em muitas modalidades, isso pode possibilitar a aceleração de hardware padronizado para ser usada para elementos críticos de recurso do processo.
[053] De acordo com um recurso opcional da invenção, as transformações de ponto de vista para o primeiro mapa de textura, o segundo mapa de textura e pelo menos um dentre o mapa de gradiente de profundidade e o mapa de ponderação são a mesma transformação de ponto de vista.
[054] A abordagem pode permitir operação de baixa complexidade e extremamente eficiente onde a mesma funcionalidade otimizada (por exemplo, uma GPU) pode ser reutilizada para elementos críticos de recurso do processamento.
Petição 870190051172, de 31/05/2019, pág. 22/145
17/52 [055] De acordo com um recurso opcional da invenção, o primeiro mapa de textura e a primeira malha são gerados a partir de uma captura de uma cena da vida real.
[056] A abordagem pode permitir um alto desempenho e determinação eficiente de imagens para novos pontos de vista para uma captura de uma cena da vida real e não se limita, por exemplo, a imagens fornecidas por mecanismos gráficos de realidade virtual.
[057] De acordo com um recurso opcional da invenção, a ponderação depende adicionalmente de uma diferença entre o primeiro ponto de vista e o terceiro ponto de vista.
[058] Isso pode aprimorar o desempenho em muitas modalidades.
[059] De acordo com um recurso opcional da invenção, a ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz é adicionalmente dependente de uma indicação de confiabilidade que é indicativa de uma confiabilidade de uma estimativa de profundidade usada para determinar uma profundidade na primeira posição da malha, no primeiro mapa de profundidade, sendo que a ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz aumenta para a indicação de confiabilidade que é indicativa de uma confiabilidade crescente da estimativa de profundidade.
[060] Isso pode aprimorar o desempenho em muitas modalidades.
[061] De acordo com um aspecto da invenção, é fornecido um aparelho para gerar uma imagem de intensidade de luz, sendo que o aparelho compreende: um receptor para receber um primeiro mapa de textura e uma primeira malha representando
Petição 870190051172, de 31/05/2019, pág. 23/145
18/52 uma cena de um primeiro ponto de vista; um receptor para receber um segundo mapa de textura e uma segunda malha representando a cena a partir de um segundo ponto de vista; um gerador de imagem para gerar uma imagem de intensidade de luz que representa a cena a partir de um terceiro ponto de vista em resposta ao primeiro mapa de textura, à primeira malha, ao segundo mapa de textura e à segunda malha; sendo que o gerador de imagem compreende: um primeiro transformador de vista para determinar um primeiro valor de intensidade de luz para uma primeira posição na imagem de intensidade de luz por uma transformação de ponto de vista com base no primeiro mapa de textura e na primeira malha; um segundo transformador de vista para determinar um segundo valor de intensidade de luz para a primeira posição por uma transformação de ponto de vista com base no segundo mapa de textura e na segunda malha; um combinador para determinar um valor de intensidade de luz para a imagem de intensidade de luz na primeira posição por uma combinação ponderada do primeiro valor de intensidade de luz e do segundo valor de intensidade de luz; uma ponderação da combinação ponderada sendo dependente de um primeiro gradiente de profundidade na primeira malha em uma primeira posição de malha correspondente à primeira posição em relação a um segundo gradiente de profundidade na segunda malha em uma segunda posição de malha correspondente à primeira posição.
[062] Esses e outros aspectos, recursos e vantagens da invenção ficarão evidentes e serão elucidados com referência à modalidade descrita (ou modalidades descritas) a seguir.
BREVE DESCRIÇÃO DOS DESENHOS
Petição 870190051172, de 31/05/2019, pág. 24/145
19/52 [063] As modalidades da invenção serão descritas, apenas a titulo de exemplo, com referência aos desenhos, nos quais:
[064] A Figura 1 ilustra um exemplo de uma transformação de ponto de vista para uma cena com um objeto de fundo e um objeto em primeiro plano;
[065] A Figura 2 ilustra um exemplo de elementos de um aparelho para gerar uma imagem, de acordo com algumas modalidades da invenção;
[066] A Figura 3 ilustra um exemplo de elementos de um método para gerar uma imagem, de acordo com algumas modalidades da invenção;
[067] A Figura 4 ilustra um exemplo de elementos de um método pra gerar uma imagem, de acordo com algumas modalidades da invenção;
[068] A Figura 5 ilustra um exemplo de uma transformação de ponto de vista para uma cena com um objeto de fundo e um objeto em primeiro plano;
[069] A Figura 6 ilustra um exemplo de gradientes de profundidade para diferentes pontos de vista; e [070] A Figura 7 ilustra um exemplo de uma transformação do ponto de vista para uma malha.
DESCRIÇÃO DETALHADA DE ALGUMAS MODALIDADES DA INVENÇÃO [071] A descrição a seguir se concentra em modalidades da invenção aplicáveis a uma renderização de uma imagem bidimensional com base em mapas de textura e malhas gerados a partir da captura de uma cena tridimensional da vida real a partir de diferentes pontos de vista (isto é, diferentes vistas de câmera). Entretanto, será entendido que
Petição 870190051172, de 31/05/2019, pág. 25/145
2Q/52 a invenção não se limita a essa aplicação, mas pode ser aplicada, por exemplo, à geração de imagens com base em mapas de profundidade e malhas gerados por computador para uma cena de realidade virtual.
[072] Muitos algoritmos e processos de processamento de imagens 3D (incluindo video) são baseados no uso de malhas triangulares, uma vez que isso pode proporcionar alta eficiência computacional em muitas modalidades. Malhas de profundidade fornecendo informações tridimensionais juntamente com um mapa de textura associado são amplamente utilizadas em muitos sistemas de processamento gráfico, como especificamente em computação gráfica. Uma malha pode fornecer informações da estrutura geométrica que inclui informações de profundidade (mas certamente não se limita apenas a fornecer informações de profundidade, por exemplo a mesma pode fornecer tipicamente uma coordenada tridimensional para cada vértice). Para fins de brevidade, a combinação de uma malha e seu mapa de textura associado também ser chamada a seguir de uma imagem de malha.
[073] A abordagem é muito adequada para modificar flexivelmente direções de vista ao renderizar a cena, e é particularmente adequada para cenários em que o ponto de vista não é restrito a movimentos em uma linha horizontal estrita, mas em vez disso, um movimento livre do ponto de vista é desejado. Um modo eficiente para gerar um novo ponto de vista é transformar as malhas que se originam dos diferentes pontos de vista para um único sistema de coordenadas mundial e, então realizar uma projeção em perspectiva sobre um novo plano de câmera. Essas etapas podem ser feitas de maneira muito eficiente com o uso de hardware gráfico otimizado padrão, como hardware baseado no padrão
Petição 870190051172, de 31/05/2019, pág. 26/145
21/52
OpenGL. Entretanto, a fim de otimizar a qualidade e fornecer informações adicionais para áreas que estão sendo desocluidas pelas transformações do ponto de vista, a geração de uma imagem de renderização de um novo ponto de vista é, de preferência, baseada em mapas de textura e malhas fornecidos para uma pluralidade de pontos de vista diferentes.
[074] O inventor descobriu que isso pode muitas vezes levar a resultados não ideais com artefatos e especificamente a distorções de profundidade e preenchimento incorreto de áreas desocluidas.
[075] Isso pode ser ilustrado pela Figura 1 que ilustra um exemplo com um objeto em primeiro plano na frente de um objeto de fundo. Nos exemplos, cada ponto pode ser considerado como correspondente a uma posição da cena que pode ser representada por um vértice, e tipicamente, um ponto pode representar um pixel e, de fato, um vértice da malha. A Figura 1 ilustra um exemplo em que uma imagem de malha é fornecida para um primeiro ponto de vista 1 e para um segundo ponto de vista 2. Com base nessas imagens de malha, uma imagem bidimensional é gerada para um terceiro ponto de vista 3 entre o primeiro ponto de vista 1 e o segundo ponto de vista 2. Dessa forma, no exemplo, o primeiro e o segundo pontos de vista 1, 2 correspondem aos pontos de vista da câmera ao capturar a cena e o ponto de vista 3 corresponde ao ponto de vista desejado para a cena. A imagem é uma imagem de intensidade de luz gerada para renderização. Isso pode refletir diretamente um valor de intensidade de luz para os pixels individuais de uma imagem a ser renderizada/exibida por uma tela.
Petição 870190051172, de 31/05/2019, pág. 27/145
22/52 [076] Será entendido que os valores de intensidade de luz podem ser qualquer valor indicativo de uma intensidade de luz, e podem ser especificamente uma intensidade de luz para, por exemplo, um canal de cor. Por exemplo, um valor de intensidade de luz pode ser um valor R, G ou B de uma representação RGB, ou pode ser, por exemplo, um valor Y de uma representação Yuv, ou pode ser, de fato, um valor u ou v de tal representação Yuv. É observado que os valores u e v podem ser valores de croma e que estes também fornecem informações relacionadas à intensidade de luz de canais de cor individuais durante a renderização. Dessa forma, um valor de intensidade de luz pode ser uma luminância, crominância ou, de fato, valor de croma de uma representação de cor.
[077] Na Figura 1, a primeira Figura ilustra as posições que são visíveis a partir do ponto de vista 1 por pontos de bloco (sólidos) e as posições no objeto de fundo que são ocluidas pelo objeto em primeiro plano são ilustradas por pontos brancos (não sólidos). A segunda Figura ilustra a situação correspondente do ponto de vista 2. Dessa forma, as duas primeiras subfiguras mostram a visibilidade dos pontos de cena para os dois pontos de vista de câmera diferentes 1 e 2.
[078] A terceira subfigura ilustra o resultado da combinação de malhas e texturas dos pontos de vista 1 e 2 e distorção (transformação de ponto de vista) desses no ponto de vista 3. A malha que se origina do ponto de vista 2 será localmente estendida e um vão é formado (correspondendo à desoclusão de parte do objeto de fundo). A profundidade do vão é linearmente interpelada entre pontos com profundidade diferente após a projeção no ponto de vista virtual 3. Os
Petição 870190051172, de 31/05/2019, pág. 28/145
23/52 círculos cinzas representam pontos que se originam do ponto de vista 2 e que são linearmente interpelados entre os pontos 3D conhecidos na malha ao projetar a cena nas coordenadas de câmera do ponto de vista 3. Dessa forma, os pontos cinzas indicam posições de profundidade que, após a desoclusão resultante da transformação de ponto de vista do ponto de vista 2 para o ponto de vista 3, são geradas para que correspondam às posições na imagem do ponto de vista 3. Esses pontos ficam mais próximos do ponto de vista 3 do que os pontos pretos atrás deles que representam pontos no objeto de fundo visível a partir do ponto de vista 1.
[079] Entretanto, ao gerar a imagem para o ponto de vista 2, a abordagem típica consiste em selecionar a posição mais frontal. Dessa forma, em vez de selecionar idealmente os pontos pretos que se originam e são visíveis do ponto de vista 1, o sistema selecionará os pontos cinza que se originam do ponto de vista 2. Consequentemente, o valor de imagem de intensidade de luz será gerado nesses pontos com base no mapa de textura do ponto de vista 2 em vez de ser baseado no mapa de textura do ponto de vista 1. Isso resultará na determinação da imagem para uma área desocluída que é determinada a partir do mapa de textura no qual o objeto correspondente foi oeluído em vez do mapa de textura no qual o objeto não foi oeluído. Como resultado, a qualidade da imagem gerada é degradada e, tipicamente, os elementos da área desocluída não são apresentados com precisão, apesar de as informações adequadas estarem realmente disponíveis para o processo.
[080] Deve-se notar que, embora seja possível modificar a lógica de teste de profundidade como usado no
Petição 870190051172, de 31/05/2019, pág. 29/145
24/52 hardware padronizado, isso só pode ser feito para uma dada chamada de renderização. Seria portanto necessário dividir a malha novamente em partes com a desvantagem anteriormente mencionada do uso de limiares. 0 teste de profundidade padrão faz parte do processamento para abordar a auto-oclusão onde a malha, a partir de um ponto de vista separado, pode se dobrar sobre si mesma (auto-oclusão) com o teste de profundidade sendo usado para resolver as ambiguidades resultantes.
[081] A seguir, será descrito um aparelho e um método para gerar uma imagem de intensidade de luz a partir de uma pluralidade de malhas e mapas de textura associados para diferentes pontos de vista com referência à Figura 2 que ilustra alguns elementos exemplificadores de tal aparelho, e à Figura 3 que ilustra alguns elementos exemplificadores de tal método.
[082] A abordagem do aparelho e método das Figuras 2 e 3 busca mitigar algumas das desvantagens descritas. Especificamente, ao invés de selecionar o ponto mais avançado, o sistema é disposto de modo a gerar os valores de intensidade de luz para a imagem de salda com base em uma combinação ponderada dos valores de ambos os mapas de textura onde a ponderação depende dos gradientes de profundidade correspondentes nas duas malhas.
[083] O aparelho compreende um primeiro receptor 201 que realiza a etapa 301, em que uma primeira imagem de malha é recebida, isto é, uma primeira malha e um primeiro mapa de textura são recebidos. A primeira imagem de malha representa uma cena de um dado ponto vista.
[084] A imagem de malha pode ser recebida a partir de qualquer fonte interna ou externa. Por exemplo, em
Petição 870190051172, de 31/05/2019, pág. 30/145
25/52 algumas modalidades, a imagem de malha pode ser recebida de uma fonte externa, por exemplo, através de um sistema de comunicação, ou especificamente, através de uma rede, como por exemplo a Internet. Em algumas modalidades, a imagem de malha pode ser recebida de uma fonte interna que é operável para ler um meio de distribuição adequado, por exemplo, a imagem de malha pode ser extraída de um DVD. Em algumas modalidades, a imagem de malha pode ser extraída de um disco rigido ou memória local ou, de fato, em algumas modalidades, a imagem de malha pode ser gerada localmente, por exemplo, por um aplicativo de realidade virtual local.
[085] Em muitas modalidades, o primeiro mapa de textura e a primeira malha podem ser gerados a partir de
uma captura de uma cena da vida real. A captura pode ser
feita por um conjunto adequado de câmeras. Por exemplo, uma
única câmera estéreo ou câmera de alcance pode capturar uma
cena da vida real e gerar uma imagem e um mapa de
profundidade (/disparidade). Em outras modalidades, uma
pluralidade de câmeras em posições diferentes podem capturar uma imagem bidimensional e um mapa de profundidade pode ser gerado a partir das imagens capturadas, por exemplo, por estimativa de disparidade. Uma das imagens pode ser usada como um mapa de textura e uma malha pode ser gerada a partir do mapa de profundidade correspondente. Dessa forma, a imagem de malha pode ser uma imagem que fornece uma captura de uma cena da vida real com o mapa de textura representando valores de intensidade de luz capturados pela câmera no dado ponto de vista e com as informações de profundidade capturadas sendo representadas pela malha. Dessa forma, a imagem de malha fornece informações limitadas sobre a cena,
Petição 870190051172, de 31/05/2019, pág. 31/145
26/52 uma vez que representa apenas as informações que podem ser determinadas a partir do dado ponto vista (ao contrário, por exemplo, de um modelo geométrico detalhado que está disponível, como pode ser o caso, por exemplo, para um mecanismo de realidade virtual local).
[086] O aparelho compreende adicionalmente um segundo receptor 203 que realiza a etapa 303, em que ele recebe uma segunda imagem de malha, isto é, ele recebe um segundo mapa de textura e uma segunda malha. A segunda imagem de malha fornece uma representação da mesma cena, mas de um ponto de vista diferente. Será reconhecido que os comentários fornecidos em relação à primeira imagem de malha se aplicam igualmente à segunda imagem de malha.
[087] O primeiro receptor 201 e o segundo receptor 203 são acoplados a um gerador de imagem 205 que realiza a etapa 305, em que uma imagem de intensidade de luz que representa a cena a partir de um terceiro ponto de vista é gerada em resposta ao primeiro mapa de textura, à primeira malha, ao segundo mapa de textura e à segunda malha. Dessa forma, com base na primeira e na segunda imagens de malha para respectivamente um primeiro e um segundo pontos de vista, uma imagem é gerada para um terceiro ponto de vista. O primeiro e o segundo pontos de vista podem ser tipicamente pontos de vista de câmera para a cena com o terceiro ponto de vista representando o ponto de vista desejado. A imagem é uma imagem de intensidade de luz e pode corresponder especificamente a uma imagem que pode ser apresentada diretamente em uma tela para fornecer uma vista da cena a partir do terceiro ponto de vista. Especificamente, a imagem de intensidade de luz pode compreender um conjunto de
Petição 870190051172, de 31/05/2019, pág. 32/145
27/52 valores de intensidade de luz, com cada valor de intensidade de luz indicando a intensidade de luz em uma posição da imagem. Tipicamente, a imagem pode compreender um conjunto de pixels, com cada pixel tendo um ou mais valores de intensidade de luz. Dessa forma, cada valor de intensidade de luz pode corresponder a um valor de pixel.
[088] Será reconhecido que, em algumas modalidades, cada posição (pixel) pode ser associada a/descrita por/definida por um único valor de intensidade de luz. Isso pode, por exemplo, ser o caso para imagens monocromáticas. Em outras modalidades, cada posição (pixel) pode ser associada a/descrita por/definida por uma pluralidade de valores de intensidade de luz, por exemplo, um valor de intensidade de luz para cada canal de uma representação de cor. Dessa forma, os valores de intensidade de luz podem ser considerados valores de intensidade de cor e a imagem de intensidade de luz pode ser uma imagem de intensidade de cor. No caso de uma pluralidade de cada pixel sendo representado por uma pluralidade de valores de intensidade de luz, por exemplo, correspondentes a diferentes canais de cor, a abordagem descrita pode ser, por exemplo, aplicada individualmente a cada valor de intensidade de luz de canal de cor.
[089] O gerador de imagem 205 é, dessa forma, disposto para gerar imagens para diferentes pontos de vista. Por exemplo, em algumas modalidades, o gerador de imagem 205 pode ser dotado de uma entrada que define um ponto de vista desejado, por exemplo, gerado em resposta a uma entrada de usuário. O gerador de imagem 205 pode, então, com base nas imagens de malha recebidas, gerar uma imagem de exibição de
Petição 870190051172, de 31/05/2019, pág. 33/145
28/52 saída que corresponde àquele ponto de vista. Essa imagem pode, então, por exemplo ser renderizada por uma tela adequada.
[090] A operação do gerador de imagem 205 será descrita em mais detalhes com referência à Figura 2 e à Figura 4, que ilustra um exemplo de uma abordagem do gerador de imagem 205.
[091] O gerador de imagem 205 compreende um primeiro transformador de vista 207 que realiza a etapa 401 na qual a transformação de ponto de vista é aplicada à primeira imagem de malha com a transformação de ponto de vista fornecendo uma transformação de ponto de vista do primeiro ponto de vista para o terceiro ponto de vista. Especificamente, para uma primeira posição (tipicamente uma posição de pixel) na imagem de intensidade de luz, o primeiro transformador de vista 207 determina um valor de intensidade de luz com base em uma transformação de ponto de vista a partir do primeiro ponto de vista para o terceiro ponto de vista onde a transformação de ponto de vista se baseia no primeiro mapa de textura e na primeira malha.
[092] De modo similar, o gerador de imagem 205 compreende um segundo transformador de vista 209 que realiza a etapa 403 na qual a transformação de ponto de vista é aplicada à segunda imagem de malha com a transformação de ponto de vista fornecendo uma transformação de ponto de vista do segundo ponto de vista para o terceiro ponto de vista. Especificamente, para a primeira posição (tipicamente uma posição de pixel) na imagem de intensidade de luz, o segundo transformador de vista 209 determina um segundo valor de intensidade de luz com base em uma transformação do ponto de vista a partir do segundo ponto de vista para o terceiro
Petição 870190051172, de 31/05/2019, pág. 34/145
29/52 ponto de vista onde a transformação do ponto de vista se baseia no segundo mapa de textura e na segunda malha.
[093] Será reconhecido que muitas abordagens diferentes são conhecidas para transformação de ponto de vista com base em um mapa de textura e malha, e que qualquer abordagem adequada pode ser usada sem que se desvie da invenção.
[094] Em muitas modalidades, as transformações de ponto de vista podem compreender vantajosamente primeiro a aplicação de uma transformação do ponto de vista de malha a partir do ponto de vista de entrada para o ponto de vista de saida para a malha. O versado na técnica estará ciente de várias abordagens para isso e, consequentemente, as mesmas não serão descritas em mais detalhes.
[095] Ao determinar um valor de intensidade de luz para uma dada posição na imagem de saida para o terceiro ponto de vista, o gerador de imagem 205 pode então determinar a posição na malha transformada que corresponde à dada posição. Isso pode ser feito em resposta a uma projeção em perspectiva do terceiro ponto de vista, como é de conhecimento do versado na técnica.
[096] O gerador de imagem 205 pode então determinar o valor de intensidade de luz por interpelação dos valores do mapa de textura dos vértices do polígono em que a posição de malha se encontra. A interpelação pode ser dependente da distância da posição de malha até os vértices individuais.
[097] Por exemplo, na malha original antes da transformação, cada vértice pode ter uma posição associada no sistema de coordenadas com base no ponto de vista atual
Petição 870190051172, de 31/05/2019, pág. 35/145
30/52 (por exemplo, as coordenadas x, y, z são definidas para cada vértice) . Além disso, cada vértice apontará para um determinado valor de intensidade de luz/valor de pixel no mapa de textura correspondente, isto é, um conjunto de coordenadas de mapa de textura bidimensional (u,v) também é armazenado para cada vértice.
[098] A transformação de ponto de vista da malha resulta em uma modificação das posições de vértice, de modo que os valores x, y, z sejam transformados em coordenadas adequadas em um sistema de coordenadas do terceiro ponto de vista. O ponto na malha que corresponde à primeira posição na imagem de intensidade de luz será determinado, e os vértices do polígono em que esse se encontra serão identificados. A distância do ponto para cada um dos vértices será determinada e, para cada vértice, a imagem de intensidade de luz do mapa de textura na posição u,v do vértice será determinada. O valor de intensidade de luz da primeira posição é, então determinado por uma interpelação ponderada desses valores de mapa de textura,
sendo que os pesos são dependentes das distâncias até o
vértice individual. [099] Como outro exemplo, uma transformação do
ponto de vista pode ser realizada da seguinte [0100] 1. Projetar a malha : forma: triangular 3D no
ponto de vista para a imagem de í salda (isto é, o terceiro
ponto de vista) usando projeção em perspectiva
[0101] 1 2. Para cada posição de pixel 2D na
imagem de salda
[0102] I a. Determinar em qual polígono de
malha se encontra;
Petição 870190051172, de 31/05/2019, pág. 36/145
31/52 [0103] b. Determinar sua posição 3D no sistema de coordenadas original da malha com o uso das coordenadas de vértices de triângulo 3D e interpelação linear;
[0104] c. Determinar a coordenada de textura (u,v) no mapa de textura de entrada com o uso das coordenadas de textura (u,v) dos vértices de triângulo e interpelação linear;
[0105] d. Ajustar o valor de pixel da imagem de salda para ser o valor de textura no local (u,v) do mapa de textura.
[0106] Será reconhecido que outras transformações de ponto de vista podem ser usadas em outras modalidades.
[0107] Com base nas transformações de ponto de vista, o primeiro transformador de vista 207 e o segundo transformador de vista 209 geram, consequentemente, imagens de salda que correspondem ao terceiro ponto de vista. Entretanto, devido à transformação de ponto de vista, algumas áreas das imagens podem ter áreas desocluidas. Entretanto, essas serão frequentemente diferentes para as diferentes imagens.
[0108] O primeiro transformador de vista 207 e o segundo transformador de vista 209 são acoplados a um combinador 211 que realiza a etapa 407 em que um valor de intensidade de luz de salda para a imagem de intensidade de luz é gerado pela combinação das imagens dos dois transformadores de vista 207, 209. Especificamente, para uma dada posição (pixel) na imagem de salda, o combinador 211 aplica uma combinação ponderada de um primeiro valor de
Petição 870190051172, de 31/05/2019, pág. 37/145
32/52 intensidade de luz na posição na imagem gerada pelo primeiro transformador de vista 207 e um segundo valor de intensidade de luz naquela posição na imagem gerada pelo segundo transformador de vista 209.
[0109] A ponderação da combinação ponderada depende do gradiente de profundidade relativo para as posições correspondentes nas malhas. Especificamente, a ponderação depende de uma indicação de gradiente de profundidade na primeira malha em uma posição de malha correspondente à primeira posição em relação a uma indicação de gradiente de profundidade na segunda malha em uma posição de malha correspondente à primeira posição. Dessa forma, a ponderação depende dos gradientes de profundidade relativos na posição. Será entendido que os gradientes de profundidade podem ser determinados de maneiras diferentes em diferentes modalidades e que qualquer indicação de um valor ou magnitude de um gradiente de profundidade pode ser considerada uma representação daquele gradiente de profundidade. Por exemplo, em algumas modalidades, o gradiente de profundidade pode ser representado por um valor binário que indica simplesmente que um gradiente de profundidade está acima ou abaixo de um limiar.
[0110] O combinador 211 pode diminuir especificamente o peso para aumentar gradientes. Por exemplo, em muitas modalidades, a ponderação do primeiro valor de intensidade de luz a partir do primeiro transformador de vista 207 pode ser uma função monotonicamente decrescente de uma magnitude do gradiente na primeira malha. De modo equivalente, a ponderação do primeiro valor de intensidade de luz a partir do primeiro
Petição 870190051172, de 31/05/2019, pág. 38/145
33/52 transformador de vista 207 pode ser uma função monotonicamente crescente de uma magnitude do gradiente na segunda malha. O mesmo pode ser simetricamente aplicável à ponderação do segundo valor de intensidade de luz a partir do segundo transformador de vista 209. O peso de cada textura pode especificamente ser inversamente proporcional à magnitude de gradiente local no mapa de profundidade/disparidade ou malha que está associado a cada textura.
[0111] Dessa forma, o valor de luz de saida não é meramente selecionado como o ponto mais frontal, mas, em vez disso, uma combinação gradual com base nos gradientes de profundidade (a taxa de alteração em profundidade na imagem) é realizada. A abordagem, dessa forma, se inclina em direção aos valores de intensidade de luz para áreas mais planas enquanto se inclina na direção oposta às áreas com alterações de alta profundidade, como especificamente transições de profundidade.
[0112] O inventor percebeu que tal combinação ponderada adaptativa baseada em gradiente de profundidade pode fornecer imagens aprimoradas em muitos cenários e, tipicamente, pode fornecer desempenho e qualidade de imagem substancialmente aprimorados.
[0113] O efeito pode ser ilustrado em relação ao exemplo da Figura 5 que corresponde àquele da Figura 1.
[0114] No exemplo, uma indicação muito simples do gradiente de profundidade é usada, em que um valor de 1 é atribuído a posições em que a magnitude de gradiente de profundidade excede um limiar, considerando que o valor de 0 seja atribuído de outro modo. As Figuras 5 a e b ilustram os
Petição 870190051172, de 31/05/2019, pág. 39/145
34/52 valores de magnitude de gradiente de 0 (em uma região constante) ou 1 (em torno de um salto de profundidade) para os pontos de vista 1 e 2, respectivamente. A Figura 5 c ilustra o resultado após distorção/transformação de ponto de vista para o terceiro ponto de vista. Novamente, os pontos cinzas indicam valores derivados por interpelação.
[0115] Para uma dada posição na imagem de intensidade de luz de saida, isto é, para uma dada linha em perspectiva do ponto de vista 3, o valor de intensidade de luz de saida é agora determinado como a combinação ponderada dos valores de intensidade de luz correspondentes nas duas imagens geradas. A imagem que tem uma magnitude de gradiente de profundidade menor será ponderada mais alta e, dessa forma, no exemplo, os pontos pretos planos atrás dos pontos cinzas na frente serão ponderados mais altos, e tipicamente muito mais altos. Consequentemente, o valor de saida será predominantemente dado pelo valor da imagem que inclui informações reais do objeto de fundo em vez de pelos valores desocluidos interpelados. Descobriu-se que a abordagem fornece uma melhoria muito substancial e, em particular, fornece uma qualidade substancialmente melhorada em áreas desocluidas.
[0116] Será reconhecido que diferentes combinações ponderadas podem ser usadas em diferentes modalidades. Como um exemplo especifico, uma combinação linear ponderada pode ser usada. Por exemplo, para cada pixel na imagem de saida para o terceiro ponto de vista, a seguinte combinação pode ser realizada:
«gCi + w2c2 c3 = —------- uq 4- w2
Petição 870190051172, de 31/05/2019, pág. 40/145
35/52 [0117] 0 til ~ indica que a variável correspondente foi transformada para o sistema/grade de coordenadas de saida/do terceiro ponto de vista através de uma transformação de ponto de vista. Quando variáveis são indicadas sem um til, elas ainda estão implicitamente representadas nas coordenadas originais. Como uma alternativa para a combinação anterior, a ponderação pode ser realizada como:
(WíÕl + w2c2 ~ ~ —^7-— se Wi < F W1;2,máx Wq Η- ) eq caso contrário em que F é a fração fixa e ívi;2,máx é o valor máximo que ambos os pesos podem assumir. A fração F está tipicamente na faixa de 0,1 a 0,3 e, de preferência, mais próxima de 0,1 do que 0,3.
[0118] Neste caso, a ponderação é executada apenas para localizações espaciais em que o primeiro ponto de vista tem uma baixa confiança. Isso tem a vantagem de que, nas áreas onde o primeiro ponto de vista é preciso (alto valor de peso ív 1), a qualidade da imagem não é degradada devido a um alinhamento de textura não perfeito do primeiro e do segundo pontos de vista distorcidos.
[0119] Os pesos nas equações anteriores dependem da magnitude de gradiente local na imagem de malha original:
= f ( gi) , W2 = f ( Ç2) .
[0120] A função f é tipicamente uma função monotonicamente decrescente da magnitude de gradiente, isto é, uma grande magnitude de gradiente resulta em um pequeno peso para a textura correspondente na operação de mistura.
Petição 870190051172, de 31/05/2019, pág. 41/145
36/52 [0121] Como um exemplo para os dados na Figura 5, f pode ser dado por:
f = e-10?
[0122] Quando a magnitude de gradiente g = 0, os pesos serão 1. Quando a magnitude de gradiente g = 1, os pesos serão 4,54· 10-5.
[0123] Como exemplo, considerando-se a Figura 5 para o ponto de vista 3 (Figura 5c) , pode-se ver que as primeiras 3 amostras da esquerda para a direita originárias do ponto de vista 2 receberão um peso relativamente grande de 1 uma vez que a magnitude de gradiente é zero. Entretanto, as amostras de fonte 4 e 5 da esquerda para a direita no ponto de vista 2 têm uma magnitude de gradiente de 1 (gradiente acima de um limiar) . As amostras interpeladas (cinzas) 4,5,6 no ponto de vista de salda 3 são interpeladas entre esses dois valores e, portanto, todas recebem um valor de magnitude de gradiente interpelado de 1 com um peso muito pequeno associado de 4,54· 10“5. Os pesos provenientes do ponto de vista 1 serão altos (1) para essas amostras, o que significa que, para amostras cinzas 4,5,6 na vista de salda 3, a superfície oculta a partir do ponto de vista 1 será totalmente visível. A amostra 7 no ponto de vista de salda 3 combina um pequeno peso de 4,54· 10-5, que se origina do ponto de vista 1 com um pequeno peso de 4,54· 10-5, que se origina do ponto de vista 2. O resultado é que as texturas naquele local são misturadas com peso igual.
[0124] Nos exemplos acima, o peso para uma dada imagem de malha dependia somente do gradiente de profundidade (distorcido) para aquela imagem de malha. Entretanto, em outras modalidades, o peso para um valor de
Petição 870190051172, de 31/05/2019, pág. 42/145
37/52 intensidade de luz pode depender do gradiente local tanto na primeira como na segunda imagens de malha.
[0125] Por exemplo, o primeiro peso pode ser dado como:
mi = f (gi, g2) , em que gi é a magnitude de gradiente local na primeira malha, g2 é a magnitude de gradiente local na segunda malha, e f é uma função monotonicamente decrescente de gi e uma função monotonicamente crescente de g2.
[0126] Em algumas modalidades, w2 pode ser diretamente dado a partir de w2. Por exemplo, f pode ser restrito à faixa de 0 a um e o segundo peso pode simplesmente ser dado como:
W2 = 1 - W1 [0127] A abordagem de ponderação proposta tem uma vantagem de que a malha para cada ponto de vista original não precisa ser cortada em descontinuidades de profundidades com o uso de limiarização. As informações a partir de pontos de vista diferentes são mescladas de uma maneira suave (misturadas em conjunto), uma operação que, em geral, gera melhores resultados do que o uso de limiarização.
[0128] Outra vantagem da abordagem consiste no fato que, em superficies inclinadas, a câmera que fornece a maior densidade de amostra receberá automaticamente o peso mais elevado na operação de combinação/mistura. Esse mecanismo é ilustrado na Figura 6.
[0129] A ponderação baseada em gradiente acima é local, isto é, as variáveis dependem implicitamente da localização espacial. Por uma questão de simplicidade de notação, essa dependência de localização foi retirada das
Petição 870190051172, de 31/05/2019, pág. 43/145
38/52 equações acima. Para tornar isso explicito, as seguintes substituições podem ser feitas:
g = gk f = fk
W = Wk c = Ck em que k é o indice de um vértice de malha ou o indice de uma coordenada de imagem 2D: (xk, yk) para um dado ponto de vista.
[0130] A Figura 5 ilustra o efeito em relação a uma representação unidimensional. A Figura 7 ilustra um cenário correspondente em relação a uma representação bidimensional de uma malha. No exemplo, a primeira figura ilustra uma malha para o primeiro ponto de vista e a segunda figura ilustra a malha correspondente após ser distorcida para o terceiro ponto de vista. No exemplo da primeira figura, os polígonos delimitados por bordas espessas se encontram a uma profundidade constante no primeiro plano (f) e os polígonos delimitados por bordas finas apenas se encontram em profundidade constante no plano de fundo (b) . Os polígonos delimitados tanto pelas bordas espessas como finas têm profundidade variável e, dessa forma, um gradiente grande. Se uma transformação do ponto de vista for aplicada, o objeto em primeiro plano muda e, como resultado, a malha é estendida localmente, conforme mostrado na segunda figura. Essa região estendida é onde a abordagem descrita permite que uma textura de fundo potencial apareça.
[0131] Outra vantagem muito significativa da abordagem consiste no fato de que as operações realizadas pelo primeiro transformador de vista 207 e o segundo transformador de vista 209 podem, em muitas modalidades, ser executadas por
Petição 870190051172, de 31/05/2019, pág. 44/145
39/52 processamento gráfico otimizado por hardware padrão. Por exemplo, o processamento descrito dos dois transformadores de vista 205, 207 pode ser realizado por uma GPU que suporta, por exemplo, o padrão OpenGL. Isso pode reduzir o custo, facilitar o design e a implementação, e fornecer uma implementação mais eficiente com velocidades de processamento tipicamente muito aumentadas. Além disso, a operação do combinador 211 é uma operação que é suportada como um processamento definível pelo usuário. De fato, a mesma pode se encaixar no pipeline de processamento gráfico em conformidade com, por exemplo, o padrão OpenGL, isto é, é uma operação que pode ser realizada em estágios do pipeline que permite a adaptação do usuário e programação. Especificamente, a mesma pode ser realizada no estágio de sombreador de fragmento de um pipeline de render!zação OpenGL.
[0132] Diferentes abordagens para determinar as magnitudes de gradiente podem ser usadas em diferentes modalidades. Em muitas modalidades, as magnitudes de gradiente podem ser determinadas localmente pelo aparelho. No exemplo da Figura 2, o gerador de imagem 205 compreende adicionalmente um processador de gradiente de profundidade 213 que é disposto para determinar as magnitudes de gradiente locais.
[0133] Em algumas modalidades, o processador de gradiente de profundidade 213 pode ser disposto para gerar gradientes de profundidade para vértices das malhas originais. Por exemplo, para cada vértice na primeira malha, um gradiente de profundidade pode ser determinado e associado ao vértice. O gradiente para uma dada posição na imagem de intensidade de luz de salda pode então ser determinada com base nesses gradientes de profundidade de
Petição 870190051172, de 31/05/2019, pág. 45/145
40/52 vértice. Por exemplo, uma abordagem que corresponde àquela anteriormente descrita para gerar valores de intensidade de luz pelos transformadores de vista 207, 209 pode ser usada, isto é, o polígono na malha correspondente à posição na imagem de intensidade de luz pode ser determinado e a interpelação dos gradientes de profundidade para os vértices do polígono pode ser usada para determinar o gradiente de profundidade na posição. Isso pode então ser usado na ponderação.
[0134] Em algumas modalidades, os gradientes de profundidade podem ser usados para determinar um mapa de gradiente de profundidade. Especificamente, pode ser determinado um mapa de gradiente de profundidade que para cada posição no mapa de textura tem um gradiente de profundidade (especificamente uma magnitude de gradiente de profundidade). Dessa forma, o gradiente de profundidade pode ter a mesma resolução que o mapa de textura (embora isto não seja necessário em todas as modalidades) . Os valores de gradiente de profundidade para uma dada posição de pixel podem ser, por exemplo, determinados pela interpelação dos gradientes de profundidade de vértices do polígono em que a posição de pixel se encontra.
[0135] O mapa de gradiente de profundidade resultante pode então ser transformado por vista para o terceiro ponto de vista. Essa transformação de ponto de vista pode usar, por exemplo, exatamente o mesmo processamento de transformação de ponto de vista que o usado para o mapa de textura. Dessa forma, o processador de gradiente de profundidade 213 pode gerar um mapa de gradiente de profundidade que compreende um gradiente de profundidade para
Petição 870190051172, de 31/05/2019, pág. 46/145
41/52 cada pixel do primeiro mapa de textura. Essa determinação pode ser baseada na determinação de um gradiente de profundidade para cada vértice da primeira malha. 0 mapa de gradiente de profundidade é então alimentado ao primeiro transformador de vista 207 junto com a primeira malha e exatamente o mesmo processamento é aplicado ao primeiro mapa de textura guando gera o primeiro mapa de imagem/textura transformado. Como resultado, é fornecido um mapa de gradiente de profundidade distorcido que é exatamente alinhado à imagem distorcida. Dessa forma, ao combinar as imagens distorcidas, os pesos para um dado pixel podem ser diretamente determinados a partir de gradientes de profundidade na mesma posição de pixel nos dois mapas de gradiente de profundidade distorcidos/transformados.
[0136] Essa abordagem pode, em muitas modalidades, ser extremamente eficiente, já que pode permitir que exatamente o mesmo processamento seja usado. De fato, o mapa de gradiente de profundidade pode ser indistinguível de um mapa de textura (eles podem ser ambos simplesmente um mapa de valores) e, dessa forma, podem ser processados exatamente como se fossem um mapa de textura. Isso pode permitir que um hardware gráfico acelerado seja usado para o processo, e assim, fornecer processamento rápido e eficiente. Isso facilita adicionalmente a combinação à medida que pode simplesmente recuperar os valores correspondentes a partir dos mapas de gradiente de profundidade transformados.
[0137] A abordagem para determinar gradientes de profundidade para os vértices pode ser diferente em modalidades diferentes. Em muitas modalidades, o gradiente de profundidade para um dado vértice pode ser determinado com
Petição 870190051172, de 31/05/2019, pág. 47/145
42/52 base na profundidade desse vértice e na profundidade de ao menos um outro vértice na malha, tipicamente um vértice vizinho. Especificamente, o gradiente de profundidade pode ser determinado em resposta à diferença nas profundidades para os dois vértices. Adicionalmente, à medida que a distância entre vértices em uma malha pode variar tipicamente, a diferença de profundidade pode ser compensada para a distância entre eles. Em muitas modalidades, um gradiente de profundidade pode ser determinado como a diferença de profundidade entre dois vértices divididos pela distância entre eles.
[0138] No caso de a malha 3D ser derivada de um mapa de profundidade ou disparidade denso, o gradiente em um dado vértice pode ser tirado de sua localização em um mapa de gradiente que é derivado do mapa de disparidade. Dessa forma, as informações de gradiente de profundidade são criadas quando a malha é criada a partir do mapa de profundidade.
[0139] Em algumas modalidades, apenas um outro vértice pode ser considerado, por exemplo o mais próximo, mas, na maioria das modalidades, o gradiente de profundidade para um dado vértice é determinado com base em um cálculo da média de gradientes de profundidade a partir do vértice para uma pluralidade de vértices vizinhos. Isto pode permitir especificamente que variações de profundidade em múltiplas direções sejam consideradas. Tipicamente, todos os vértices vizinhos são considerados para assegurar que todas as variações de profundidade sejam consideradas (por exemplo, na borda de um objeto, uma transição de profundidade pode resultar em um gradiente muito alto em uma direção enquanto é muito baixo, por exemplo, na direção oposta).
Petição 870190051172, de 31/05/2019, pág. 48/145
43/52 [0140] A abordagem também pode permitir uma determinação de gradiente eficiente para malhas onde os polígonos podem variar substancialmente de tamanho. Por exemplo, quando se considera dados 3D típicos sob a forma de uma malha gerada a partir da captura de câmera, deve-se tomar cuidado ao calcular o gradiente. Nesse caso, por razões de eficiência de compressão, a malha pode frequentemente ser representada por triângulos maiores para as denominadas áreas planas em que a profundidade não muda rapidamente como função de coordenadas espaciais. Por outro lado, em descontinuidades de profundidade, os triângulos na malha são pequenos para representar a etapa de profundidade. No entanto, isto pode ser compensado na abordagem descrita para determinar a mudança absoluta média de profundidade através de todos os vértices vizinhos no gráfico e normalizar cada contribuição vizinha pelo comprimento da borda 2D.
[0141] Por exemplo, a seguinte equação pode ser usada:
|Dfe(u,v) -Pm(u,r)| V (Ek Um) H (Vk N em que N é o número de vértices vizinhos m do vértice k e (u,v) se refere à posição no mapa de textura, e D se refere à profundidade.
[0142] Em algumas modalidades, o processador de gradiente de profundidade 213 pode ser disposto para determinar os gradientes de profundidade em resposta a variações de profundidade em um mapa de profundidade para o primeiro mapa de textura. Dessa forma, em vez de (ou
Στη
9k=-Petição 870190051172, de 31/05/2019, pág. 49/145
44/52 possivelmente bem como) o processador de gradiente de profundidade 213 determinar o gradiente de profundidade em resposta às profundidades de vértice, ele pode processar um mapa de profundidade para determinar os gradientes. Por exemplo, em muitas modalidades, uma câmera pode fornecer diretamente uma imagem e um mapa de profundidade associado. Isso pode ser convertido em uma malha e um mapa de textura (com o mapa de textura sendo de modo tipicamente direto a imagem capturada). 0 processador de gradiente de profundidade 213 pode, nesse caso, processar diretamente o mapa de profundidade original para gerar um gradiente de mapa de profundidade. Por exemplo, para um dado pixel, as variações de profundidade, por exemplo, em quatro ou oito direções diferentes podem ser determinadas e o gradiente pode ser definido como a média ou o gradiente mais alto desses.
[0143] Isso pode, em muitas modalidades, proporcionar uma determinação de baixa complexidade de um mapa de gradiente de profundidade preciso. O mapa de gradiente de profundidade pode, então, ser distorcido para o terceiro ponto de vista, conforme descrito anteriormente para o mapa de gradiente de profundidade determinado com base nos vértices.
[0144] Nos Exemplos anteriores, um mapa de gradiente de profundidade foi gerado e, então, distorcido para a o terceiro ponto de vista com os pesos então sendo determinados antes da combinação. Entretanto, em outras modalidades, a determinação de peso pode ser realizada antes da distorção.
[0145] Por exemplo, um primeiro mapa de ponderação pode ser gerado pela primeira imagem de malha
Petição 870190051172, de 31/05/2019, pág. 50/145
45/52 mediante a aplicação de uma função para o gradiente de profundidade para cada pixel. Por exemplo, a função mi pode ser usada.
[0146] mesmo pode ser feito para a segunda imagem de malha resultando, dessa forma, em dois mapas de ponderação para a primeira e a segunda imagens de malha, respectivamente. Esses mapas de ponderação podem então ser distorcidos para o terceiro ponto de vista e os pesos dos mapas de peso transformados podem ser usados diretamente na combinação.
[0147]
Em algumas modalidades, a determinação de um peso para uma dada posição de pixel pode depender do gradiente de profundidade tanto para a primeira como para a segunda imagem de malha, por exemplo:
[0148]
Em algumas modalidades, apenas um único mapa de ponderação pode ser determinado. Por exemplo, em algumas modalidades os pesos aplicados na combinação podem ser dispostos para sempre adicionar a um, isto é, w + m2 = 1. Neste caso, somente o mapa de ponderação para wi pode ser determinado e distorcido para o terceiro ponto de vista.
[0149]
Uma vantagem especifica da abordagem do uso de gradiente de profundidade ou mapas de ponderação fornece um processamento muito eficiente em muitas modalidades. Em particular, isso permite que a mesma transformação de ponto de vista seja aplicada ao gradiente de profundidade/mapa de ponderação como é aplicado ao mapa de textura, e especificamente a mesma transformação de ponto de vista com base na mesma malha pode ser usada. Isso
Petição 870190051172, de 31/05/2019, pág. 51/145
46/52 especificamente em muitas modalidades permite que um processamento gráfico de hardware acelerado eficiente seja usado.
[0150] Em muitas modalidades, os pesos da combinação podem ser adicionalmente em resposta a outros parâmetros. Em muitas modalidades, os pesos podem ser adicionalmente dependentes da diferença entre o primeiro ponto de vista e o terceiro ponto de vista. Especificamente, quanto maior for a diferença, menor será o peso. A diferença pode ser, por exemplo, determinada como uma diferença geométrica entre as coordenadas x, y, z entre os pontos de vista ou pode ser determinada, por exemplo, diretamente a partir de um parâmetro de alteração de ponto de vista fornecido ao gerador de imagem 205. A abordagem pode usar para transformações de pontos de vista menores um peso mais alto do que para transformações maiores, refletindo o fato de que quanto menor a alteração no ponto de vista, maior a qualidade.
[0151] Dessa forma, em algumas modalidades, o(s) peso(s) pode(m) também depender de um parâmetro global que mede quanto (por exemplo, em termos de diferença angular) o ponto de vista de saida (o terceiro ponto de vista) difere do ponto de vista de entrada. Se essa diferença angular for grande, o peso pode ser selecionado para ser menor de modo que câmeras nas proximidades tenham uma maior contribuição na operação de mistura.
[0152] Em algumas modalidades, a ponderação pode ser dependente de uma indicação de confiabilidade para os primeiros gradientes onde a indicação de confiabilidade é indicativa de uma confiabilidade de uma estimativa de
Petição 870190051172, de 31/05/2019, pág. 52/145
47/52 profundidade usada para determinar uma profundidade na primeira posição de malha.
[0153]
Muitas câmeras de profundidade técnicas de estimativa de profundidade fornecem uma indicação de confiabilidade que indica o quanto a estimativa de profundidade gerada é considerada confiável. Por exemplo, um sensor de profundidade, seja esse um par estéreo ou sensor de luz estruturada, tem tipicamente uma incerteza associada. Essa incerteza pode surgir do processo de estimativa de disparidade ou do processo de medição de infravermelho do sensor de profundidade. As informações de confiabilidade podem ser, por exemplo, fornecidas como um mapa de confiança de pixel. Nesse caso, os pixels com uma incerteza maior podem ser receber um peso mais baixo na combinação do que os pixels com uma incerteza menor. A incerteza pode ser, por exemplo, considerada durante a determinação de um mapa de ponderação antes da transformação do ponto de vista ou, por exemplo, o mapa de confiança pode ser distorcido para o terceiro ponto de vista e considerado ao determinar pesos no domínio do terceiro ponto de vista.
[0154]
Em algumas modalidades, o gradiente de profundidade ou peso pode ser fornecido a partir de uma fonte interna ou externa, por exemplo, ele pode ser lido de um arquivo de video ou calculado a partir de um mapa de profundidade/disparidade lido de um arquivo de video. A primeira opção pode ter a vantagem de que outras confianças podem ser combinadas com a confiança baseada em gradiente em um único mapa de confiança. Parte dessa confiança pode ser emitida a partir do sensor de profundidade ou da etapa de
Petição 870190051172, de 31/05/2019, pág. 53/145
48/52 estimativa de disparidade e isso pode ser codificado no fluxo de vídeo.
[0155] Deve ser observado que o valor de gradiente de profundidade poderia ser considerado para ser semelhante a um valor de confiança no sentido de que um valor mais alto (indicando um gradiente maior) seja usado para reduzir a ponderação. Consequentemente, em muitos cenários, um valor de confiança de estimativa de profundidade e o valor de gradiente de profundidade podem ser diretamente combinados para fornecer um valor de confiança geral combinado para o pixel. Quanto maior o valor de confiança de estimativa de profundidade e mais baixo o gradiente de profundidade, maior a confiança de que o valor de intensidade de luz correspondente é adequado para gerar o valor de saída e, dessa forma, mais elevado será o peso.
[0156] Deve-se notar que o gradiente de profundidade pode ser determinado em momentos diferentes e por diferentes entidades funcionais em diferentes modalidades. Por exemplo, em algumas modalidades, dois (ou mais) fluxos de vídeo podem ser fornecidos, cada um, compreendendo uma sequência de imagens e mapas de profundidade associados. Um aparelho de renderização pode então prosseguir para gerar as malhas correspondente e, por exemplo, gerar um gradiente de profundidade mapa baseado no mapa de profundidade. Ele pode, então, prosseguir para distorcer o mapa de gradiente de profundidade e o mapa de textura para o novo ponto de vista com base na malha determinada. De fato, em algumas modalidades, cada fluxo de vídeo para um dado ponto de vista não pode nem mesmo incluir um mapa de profundidade, mas, em vez disso, pode ser, por
Petição 870190051172, de 31/05/2019, pág. 54/145
49/52 exemplo, sob a forma de imagens estéreo. Nesse caso, ο aparelho de renderização pode ser adicionalmente disposto para realizar uma estimativa de disparidade para gerar informações de profundidade explicitas com base em quais mapas de gradiente de malha e profundidade podem ser gerados.
[0157] Entretanto, em outras modalidades, algumas dessas funções podem ser executadas no lado do fornecedor de conteúdo. Por exemplo, ao capturar uma cena com o uso de uma pluralidade de câmeras estéreo em posições diferentes, uma entidade provedora de conteúdo pode prosseguir para realizar uma estimativa de disparidade para cada uma dessas e pode gerar um mapa de profundidade. Ela pode então prosseguir para determinar um mapa de gradiente de profundidade (ou, de fato, um mapa de ponderação) para o mapa de profundidade, bem como uma malha. Nesse caso, pode ser gerado um sinal de video que para cada ponto de vista da câmera que inclui uma sequência de video compreendendo um conjunto de mapas de textura, malhas e mapas de gradiente de profundidade para cada ponto de vista da câmera. Em muitas modalidades, um mapa de confiança de estimativa de profundidade é adicionalmente fornecido para indicar a confiabilidade da estimativa de disparidade. Essas informações podem ser fornecidas como um mapa de confiança ou podem ser combinadas com o mapa de gradiente de profundidade conforme anteriormente descrito.
[0158] Esse sinal de video pode então ser distribuído, potencialmente a um grande número de usuários finais. Uma unidade de renderização pode, neste caso, simplesmente prosseguir para gerar uma imagem para um novo
Petição 870190051172, de 31/05/2019, pág. 55/145
50/52 ponto de vista ao distorcer para cada ponto de vista de câmera o mapa de textura e o mapa de gradiente (e possivelmente o mapa de confiança) ao ponto de vista desejado com base na malha. Para cada pixel na imagem de salda, os valores de textura distorcidos naquela posição são, então, combinados com base nos valores de gradiente distorcidos naquela posição (e possivelmente os valores de confiança). Isso fornece um processo altamente eficiente à medida que as únicas funções exigidas são uma combinação ponderada de baixo recurso e transformações de vista padronizadas (distorções) que podem ser executadas eficientemente por hardware dedicado.
[0159] A abordagem pode proporcionar uma operação muito eficiente, ao mesmo tempo em que mantém baixos requisitos de recursos. De fato, prevê-se que a funcionalidade pode ser embutida, por exemplo, em óculos 3D que podem simplesmente ser diretamente dotados de tal sinal de video e ainda serem capazes de fornecer uma experiência de realidade virtual dinâmica de alta qualidade com base nisso.
[0160] Deve-se considerar que, para fins de clareza, a descrição acima descreveu as modalidades da invenção com referência a diferentes circuitos, unidades e processadores funcionais. Entretanto, ficará evidente que
qualquer distribuição adequada de funcionalidade entre os
diferentes circuitos, unidades ou processadores funcionais
pode ser usada sem se desviar da invenção. Por exemplo, a
funcionalidade ilustrada a ser executada por processadores ou controladores separados pode ser executada pelo mesmo processador ou pelos mesmos controladores. Por isso, as referências a unidades ou circuitos funcionais específicos devem ser consideradas apenas como referências a meios
Petição 870190051172, de 31/05/2019, pág. 56/145
51/52 adequados para fornecer a funcionalidade descrita e não como indicativas de uma estrutura física ou uma organização lógica ou física estrita.
[0161] A invenção pode ser implementada em qualquer forma adequada, incluindo hardware, software, firmware ou qualquer combinação dos mesmos. A invenção pode ser, opcionalmente, implementada, ao menos parcialmente, como software de computador que é executado em um ou mais processadores de dados e/ou processadores de sinal digital. Os elementos e componentes de uma modalidade da invenção podem ser implementados física, funcional e logicamente de qualquer forma adequada. De fato, a funcionalidade pode ser implementada em uma unidade única, em uma pluralidade de unidades ou como parte de outras unidades funcionais. Assim, a invenção pode ser implementada em uma unidade única ou pode ser distribuída física e funcionalmente entre diferentes unidades, circuitos e processadores.
[0162] Embora a presente invenção tenha sido descrita em conexão com algumas modalidades, a mesma não está destinada a ser limitada à forma especifica aqui apresentada. Em vez disso, o escopo da presente invenção é limitado apenas pelas reivindicações em anexo. Adicionalmente, embora possa parecer que um recurso é descrito em conexão com modalidades especificas, o elemento versado na técnica reconhecerá que vários recursos das modalidades descritas podem ser combinados de acordo com a invenção. Nas reivindicações, o termo que compreende não exclui a presença de outros elementos ou outras etapas.
[0163] Além disso, embora individualmente mencionados, uma pluralidade de meios, elementos, circuitos
Petição 870190051172, de 31/05/2019, pág. 57/145
52/52 ou etapas de métodos podem ser implementados, por exemplo por meio de um único circuito, uma única unidade ou um único processador. Adicionalmente, embora recursos individuais possam estar incluídos em reivindicações diferentes, eles podem ser vantajosamente combinados, e sua inclusão em reivindicações diferentes não implica que uma combinação de recursos não seja viável e/ou vantajosa. Além disso, a inclusão de um recurso em uma categoria de reivindicações não implica uma limitação a essa categoria, porém, em vez disso, indica que o recurso é igualmente aplicável a outras categorias das reivindicações, conforme for adequado. Além disso, a ordem dos recursos nas reivindicações não implica em nenhuma ordem especifica na qual os recursos precisam ser trabalhados e, em particular, a ordem das etapas individuais em uma reivindicação de método não implica que as etapas precisam ser executadas nessa ordem. As etapas podem, na verdade, ser executadas em qualquer ordem adequada. Além disso, referências no singular não excluem uma pluralidade. Dessa forma, as referências a um(a), uns/umas, primeiro(a), segundo(a) etc., não excluem uma pluralidade. Os sinais de referência nas reivindicações são fornecidos meramente como exemplos esclarecedores e não devem ser interpretados como limitadores do escopo das reivindicações de forma alguma.

Claims (15)

  1. REIVINDICAÇÕES
    1. MÉTODO PARA GERAR UMA IMAGEM DE INTENSIDADE DE LUZ, sendo que o método é receber (301) caracterizado por um primeiro mapa compreender: de textura e uma primeira malha representando uma cena a partir de um primeiro ponto de vista; receber (303) um segundo mapa de textura e uma
    segunda malha representando a cena a partir de um segundo ponto de vista;
    determinar (305) a imagem de intensidade de luz que representa a cena a partir de um terceiro ponto de vista em resposta ao primeiro mapa de textura, à primeira malha, ao segundo mapa de textura e à segunda malha sendo que a determinação (305) da imagem de intensidade de luz compreende para uma primeira posição na imagem de intensidade de luz realizar as etapas de:
    determinar (401) um primeiro valor de intensidade de luz para a primeira posição por uma transformação de ponto de vista com base no primeiro mapa de textura e na primeira malha;
    determinar (403) um segundo valor de intensidade de luz para a primeira posição por uma transformação de ponto de vista com base no segundo mapa de textura e na segunda malha;
    determinar (405) um valor de intensidade de luz para a imagem de intensidade de luz na primeira posição por uma combinação ponderada do primeiro valor de intensidade de luz e do segundo valor de intensidade de luz; uma ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz pela combinação ponderada que é dependente de um primeiro gradiente de
    Petição 870190051172, de 31/05/2019, pág. 59/145
  2. 2/6 profundidade na primeira malha em uma primeira posição de malha correspondente à primeira posição em relação a um segundo gradiente de profundidade na segunda malha em uma segunda posição de malha correspondente à primeira posição.
    2. MÉTODO, de acordo com a reivindicação 1, caracterizado pela ponderação compreender uma ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz, sendo que a ponderação do primeiro valor de intensidade de luz é uma função monotonicamente decrescente do valor absoluto do primeiro gradiente de profundidade.
  3. 3. MÉTODO, de acordo com a reivindicação 1 caracterizado pela ponderação compreender uma ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz, sendo que a ponderação do primeiro valor de intensidade de luz é uma função monotonicamente crescente do valor absoluto do segundo gradiente de profundidade.
  4. 4. MÉTODO, de acordo com a reivindicação 1 caracterizado por compreender adicionalmente determinar gradientes de profundidade para ao menos alguns vértices da primeira malha; e determinar o primeiro gradiente de profundidade em resposta aos gradientes de profundidade para os ao menos alguns vértices.
  5. 5. MÉTODO, de acordo com a reivindicação 4 caracterizado pela determinação dos gradientes de profundidade compreender determinar um gradiente de profundidade para um vértice dos ao menos alguns vértices da primeira malha em resposta a uma profundidade do vértice, uma profundidade de ao
    Petição 870190051172, de 31/05/2019, pág. 60/145
    3/6 menos um outro vértice da primeira malha e uma distância entre o vértice e o pelo menos um outro vértice.
  6. 6. MÉTODO, de acordo com a reivindicação 4, caracterizado pela determinação de gradientes de profundidade compreender determinar um gradiente de profundidade para um vértice dos ao menos alguns vértices da primeira malha em resposta aos gradientes de profundidade do vértice para uma pluralidade de vértices vizinhos.
  7. 7. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por compreender adicionalmente determinar o primeiro gradiente de profundidade em resposta a variações de profundidade em um mapa de profundidade para o primeiro mapa de textura.
  8. 8. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por compreender adicionalmente as etapas de:
    determinar um mapa de gradiente de profundidade para o primeiro mapa de textura;
    aplicar uma transformação do ponto de vista ao mapa de gradiente de profundidade para gerar um mapa de gradiente de profundidade transformado por vista, e determinar o primeiro gradiente de profundidade em resposta a um gradiente de profundidade em uma posição no mapa de gradiente de profundidade transformado por vista correspondendo à primeira posição.
  9. 9. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 8, caracterizado por compreender adicionalmente as etapas de:
    Petição 870190051172, de 31/05/2019, pág. 61/145
    4/6 determinar um mapa de ponderação que compreende pesos para a combinação ponderada em resposta aos gradientes de profundidade;
    aplicar uma transformação do ponto de vista ao mapa de ponderação para gerar um mapa de ponderação transformado por vista, e determinar um peso para a combinação ponderada em resposta a um peso na primeira posição no mapa de gradiente de profundidade transformado por vista.
  10. 10. MÉTODO, de acordo com qualquer uma das reivindicações 8 ou 9, caracterizado por as transformações de ponto de vista para o primeiro mapa de textura, o segundo mapa de textura, e pelo menos um dentre o mapa gradiente de profundidade e o mapa de ponderação serem a mesma transformação de ponto de vista.
  11. 11. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo primeiro mapa de textura e a primeira malha serem gerados a partir de uma captura de uma cena da vida real.
  12. 12. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 11, caracterizado pela ponderação ser adicionalmente dependente de uma diferença entre o primeiro ponto de vista e o terceiro ponto de vista.
  13. 13. MÉTODO, de acordo com qualquer das reivindicações 1 a 12, caracterizado pela ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz ser adicionalmente dependente de uma indicação de confiabilidade que é indicativa de uma confiabilidade de uma estimativa de profundidade usada para determinar uma profundidade na primeira posição de malha no
    Petição 870190051172, de 31/05/2019, pág. 62/145
    5/6 primeiro mapa de profundidade, sendo que a ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz aumenta para a indicação de confiabilidade que é indicativa de uma confiabilidade crescente da estimativa de profundidade.
  14. 14. APARELHO PARA GERAR UMA IMAGEM DE INTENSIDADE DE LUZ, sendo que o aparelho é caracterizado por compreender: um receptor (201) para receber um primeiro mapa de textura e uma primeira malha representando uma cena de um primeiro ponto de vista;
    um receptor (203) para receber um segundo mapa de textura e uma segunda malha representando a cena a partir de um segundo ponto de vista;
    um gerador de imagem (205) para determinar uma imagem de intensidade de luz que representa a cena a partir de um terceiro ponto de vista em resposta ao primeiro mapa de textura, à primeira malha, ao segundo mapa de textura e à segunda malha sendo que o gerador de imagem (205) compreende:
    um primeiro transformador de vista (207) para determinar um primeiro valor de intensidade de luz para uma primeira posição na imagem de intensidade de luz por uma transformação de ponto de vista com base no primeiro mapa de textura e na primeira malha;
    um segundo transformador de vista (209) para determinar um segundo valor de intensidade de luz para a primeira posição por uma transformação de ponto de vista com base no segundo mapa de textura e na segunda malha;
    um combinador (211) para determinar um valor de intensidade de luz da imagem de intensidade de luz na primeira
    Petição 870190051172, de 31/05/2019, pág. 63/145
    6/6 posição por uma combinação ponderada do primeiro valor de intensidade de luz e do segundo valor de intensidade de luz; uma ponderação do primeiro valor de intensidade de luz em relação ao segundo valor de intensidade de luz pela combinação ponderada que é dependente de um primeiro gradiente de profundidade na primeira malha em uma primeira posição de malha correspondente à primeira posição em relação a um segundo gradiente de profundidade na segunda malha em uma segunda posição de malha correspondente à primeira posição.
  15. 15. PRODUTO DE PROGRAMA DE COMPUTADOR, caracterizado por ser adaptado para realizar o método, conforme definido em qualquer uma das reivindicações 1 a 13.
BR112019011254A 2016-12-06 2017-11-28 Método para gerar uma imagem de intensidade de luz, aparelho para gerar uma imagem de intensidade de luz, e produto de programa de computador BR112019011254A8 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16202469 2016-12-06
PCT/EP2017/080597 WO2018104102A1 (en) 2016-12-06 2017-11-28 Apparatus and method for generating a light intensity image

Publications (2)

Publication Number Publication Date
BR112019011254A2 true BR112019011254A2 (pt) 2019-10-08
BR112019011254A8 BR112019011254A8 (pt) 2023-04-04

Family

ID=57517749

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019011254A BR112019011254A8 (pt) 2016-12-06 2017-11-28 Método para gerar uma imagem de intensidade de luz, aparelho para gerar uma imagem de intensidade de luz, e produto de programa de computador

Country Status (9)

Country Link
US (1) US10699466B2 (pt)
EP (1) EP3552183B1 (pt)
JP (1) JP6651679B2 (pt)
KR (1) KR102581134B1 (pt)
CN (1) CN110140151B (pt)
BR (1) BR112019011254A8 (pt)
RU (1) RU2754721C2 (pt)
TW (1) TWI764959B (pt)
WO (1) WO2018104102A1 (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10645370B2 (en) * 2017-04-27 2020-05-05 Google Llc Synthetic stereoscopic content capture
EP3419286A1 (en) 2017-06-23 2018-12-26 Koninklijke Philips N.V. Processing of 3d image information based on texture maps and meshes
EP3629585A1 (en) * 2018-09-25 2020-04-01 Koninklijke Philips N.V. Image synthesis
CN111193918B (zh) * 2018-11-14 2021-12-28 宏达国际电子股份有限公司 影像处理系统及影像处理方法
EP3696773A1 (en) 2019-02-15 2020-08-19 Koninklijke Philips N.V. Apparatus and method for generating a light intensity image
US11361505B2 (en) * 2019-06-06 2022-06-14 Qualcomm Technologies, Inc. Model retrieval for objects in images using field descriptors
TWI736335B (zh) * 2020-06-23 2021-08-11 國立成功大學 基於深度影像生成方法、電子裝置與電腦程式產品
US20240135593A1 (en) * 2022-10-11 2024-04-25 Tencent America LLC Method and apparatus for uv attributes coding for symmetry mesh

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5424556A (en) * 1993-11-30 1995-06-13 Honeywell Inc. Gradient reflector location sensing system
JP2000348213A (ja) * 1999-06-07 2000-12-15 Sanyo Electric Co Ltd 三次元画像生成装置、三次元画像生成表示装置、及びその方法並びに記録媒体
US6750873B1 (en) * 2000-06-27 2004-06-15 International Business Machines Corporation High quality texture reconstruction from multiple scans
EP2180449A1 (en) * 2008-10-21 2010-04-28 Koninklijke Philips Electronics N.V. Method and device for providing a layered depth model of a scene
EP2348733A4 (en) * 2008-10-27 2012-09-12 Lg Electronics Inc METHOD AND APPARATUS FOR THE SYNTHESIS OF VIRTUAL VISUALIZATION IMAGES
US9117310B2 (en) * 2010-04-02 2015-08-25 Imec Virtual camera system
JP5858381B2 (ja) 2010-12-03 2016-02-10 国立大学法人名古屋大学 多視点画像合成方法及び多視点画像合成システム
KR20120079794A (ko) * 2011-01-05 2012-07-13 삼성전자주식회사 영상 처리 장치 및 방법
WO2013145554A1 (ja) 2012-03-29 2013-10-03 パナソニック株式会社 画像処理装置及び画像処理方法
US20140009462A1 (en) * 2012-04-17 2014-01-09 3Dmedia Corporation Systems and methods for improving overall quality of three-dimensional content by altering parallax budget or compensating for moving objects
FR2993662B1 (fr) * 2012-07-23 2015-05-15 Msc & Sgcc Procede et installation pour la detection notamment de defauts refractants
BR112015001396A2 (pt) * 2012-07-27 2017-07-04 Koninklijke Philips Nv disposição de iluminação configurada para iluminar um objeto, método para controlar uma disposição de iluminação, e, produto de programa de computador
EP2888720B1 (en) 2012-08-21 2021-03-17 FotoNation Limited System and method for depth estimation from images captured using array cameras
US9437039B2 (en) * 2012-09-11 2016-09-06 Nvidia Corporation Method and system for graphics rendering employing gradient domain metropolis light transport
WO2014165244A1 (en) * 2013-03-13 2014-10-09 Pelican Imaging Corporation Systems and methods for synthesizing images from image data captured by an array camera using restricted depth of field depth maps in which depth estimation precision varies
US9905039B2 (en) * 2014-02-21 2018-02-27 Qualcomm Incorporated View independent color equalized 3D scene texturing
US10484697B2 (en) 2014-09-09 2019-11-19 Qualcomm Incorporated Simultaneous localization and mapping for video coding
US9900583B2 (en) * 2014-12-04 2018-02-20 Futurewei Technologies, Inc. System and method for generalized view morphing over a multi-camera mesh
CA2999193A1 (en) 2015-09-23 2017-03-30 Koninklijke Philips N.V. Generation of triangle mesh for a three dimensional image

Also Published As

Publication number Publication date
EP3552183A1 (en) 2019-10-16
CN110140151B (zh) 2023-08-29
TW201828255A (zh) 2018-08-01
JP2019536174A (ja) 2019-12-12
CN110140151A (zh) 2019-08-16
RU2019120831A (ru) 2021-01-12
RU2019120831A3 (pt) 2021-03-10
EP3552183B1 (en) 2021-09-15
US10699466B2 (en) 2020-06-30
KR102581134B1 (ko) 2023-09-21
WO2018104102A1 (en) 2018-06-14
RU2754721C2 (ru) 2021-09-06
US20190385352A1 (en) 2019-12-19
KR20190091500A (ko) 2019-08-06
BR112019011254A8 (pt) 2023-04-04
JP6651679B2 (ja) 2020-02-19
TWI764959B (zh) 2022-05-21

Similar Documents

Publication Publication Date Title
BR112019011254A2 (pt) método para gerar uma imagem de intensidade de luz, aparelho para gerar uma imagem de intensidade de luz, e produto de programa de computador
JP7403528B2 (ja) シーンの色及び深度の情報を再構成するための方法及びシステム
KR101697184B1 (ko) 메쉬 생성 장치 및 그 방법, 그리고, 영상 처리 장치 및 그 방법
CN111656407A (zh) 对动态三维模型的视图进行融合、纹理化和绘制
KR102538939B1 (ko) 텍스처 맵들 및 메시들에 기초한 3d 이미지 정보의 처리
KR102156402B1 (ko) 영상 처리 방법 및 장치
Burns et al. Adaptive cutaways for comprehensible rendering of polygonal scenes
JP2015522198A (ja) 画像に対する深度マップの生成
BR112020001453A2 (pt) aparelho e método para gerar uma representação de uma cena em imagem tridimensional em mosaico e produto de programa de computador
TWI810818B (zh) 提供三維模型的電腦實施方法與系統及其相關之儲存媒體
JP7460641B2 (ja) 光強度画像を生成するための装置及び方法
KR102554697B1 (ko) 가상 시점 영상 합성 장치 및 방법
KR20180073020A (ko) 임의시점 영상의 홀 채움 방법

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: G06T 15/20 , G06T 15/50 , H04N 13/00

Ipc: G06T 15/20 (2011.01), G06T 15/50 (2011.01), H04N 1

B06A Patent application procedure suspended [chapter 6.1 patent gazette]