BR112019020155A2 - aparelho e método - Google Patents

aparelho e método Download PDF

Info

Publication number
BR112019020155A2
BR112019020155A2 BR112019020155A BR112019020155A BR112019020155A2 BR 112019020155 A2 BR112019020155 A2 BR 112019020155A2 BR 112019020155 A BR112019020155 A BR 112019020155A BR 112019020155 A BR112019020155 A BR 112019020155A BR 112019020155 A2 BR112019020155 A2 BR 112019020155A2
Authority
BR
Brazil
Prior art keywords
route
routes
frames
video
observer
Prior art date
Application number
BR112019020155A
Other languages
English (en)
Inventor
Kroon Bart
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 BR112019020155A2 publication Critical patent/BR112019020155A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Image Analysis (AREA)

Abstract

trata-se de um aparelho que compreende um armazenamento (101) para armazenar dados de rota para um conjunto de rotas em um espaço n-dimensional onde cada rota do conjunto de rotas é associada a um item de vídeo que inclui de quadros que compreendem tanto informações de imagem como de profundidade. uma entrada (105) recebe uma indicação de posição de observador e um seletor (107) seleciona uma primeira rota do conjunto de rotas em resposta a um critério de seleção que depende de uma métrica de distância, que por sua vez depende da indicação de posição de observador e de posições das rotas do conjunto de rotas. um recuperador (103, 109) recupera um primeiro item de vídeo associado à primeira rota a partir de uma fonte de vídeo (203). um gerador de imagens (111) gera pelo menos uma imagem de visualização para a indicação de posição de observador a partir de um primeiro conjunto de quadros a partir do primeiro item de vídeo. no sistema, o critério de seleção tende em favor de uma rota atualmente selecionada em relação a outras rotas do conjunto de rotas.

Description

APARELHO E MÉTODO
CAMPO DA INVENÇÃO [001] A invenção se refere à geração de imagens a partir de itens de video e, em particular, mas não exclusivamente, à geração de imagens de visualização para um ambiente de realidade virtual a partir de itens de video armazenados que podem se originar da captura de video de ambientes do mundo real.
ANTECEDENTES DA INVENÇÃO [002] A variedade e o alcance de aplicações de imagem e video aumentaram substancialmente nos últimos anos com novos serviços e maneiras de usar e consumir video sendo continuamente desenvolvidos e introduzidos.
[003] Por exemplo, um serviço cada vez mais popular é o fornecimento de sequências de imagens de tal forma que o observador seja capaz de interagir de maneira ativa e dinâmica com o sistema para alterar parâmetros da renderização. Um recurso muito interessante em muitas aplicações é a capacidade de alterar a posição de visualização e a direção de visualização efetivas do observador, por exemplo, possibilitando que o mesmo se mova e olhe ao redor na cena que está sendo apresentada.
[004] Esse recurso pode, especificamente, possibilitar que uma experiência de realidade virtual seja fornecida a um usuário. Isso pode possibilitar que o usuário se mova de forma (relativamente) livre em um ambiente virtual e altere dinamicamente sua posição e a direção na qual ele está olhando. Geralmente, tais aplicações de realidade virtual são baseadas em um modelo tridimensional da cena, sendo que com o modelo é calculado dinamicamente para fornecer a visualização especifica solicitada. Essa abordagem também é bem conhecida, por exemplo, em aplicações de jogos, como na categoria de atiradores em primeira pessoa, para computadores e consoles.
Petição 870190096343, de 26/09/2019, pág. 8/147
2/52 [005] Também é desejável, em particular, para aplicações de realidade virtual, que a imagem que é apresentada seja uma imagem tridimensional. De fato, para otimizar a imersão do observador, é geralmente preferencial que o usuário tenha a experiência de observar a cena apresentada como uma cena tridimensional. De fato, uma experiência de realidade virtual deve, de preferência, possibilitar que um usuário selecione sua própria posição, ponto de visualização da câmera e momento no tempo em relação a um mundo virtual.
[006] Tipicamente, aplicações de realidade virtual são inerentemente limitadas na medida em que elas se baseiam em um modelo predeterminado da cena, e geralmente em um modelo artificial de um mundo virtual. Seria desejável se uma experiência de realidade virtual pudesse ser fornecida com base na captura do mundo real. No entanto, em muitos casos, tal abordagem é muito restrita ou tende a exigir que um modelo virtual do mundo real seja construído a partir das capturas do mundo real. A experiência de realidade virtual é então gerada por meio da avaliação desse modelo.
[007] Contudo, as abordagens atuais tendem a ser subótimas e frequentemente tendem a ter elevada demanda de recursos computacionais ou de comunicação e/ou proporcionar ao usuário uma experiência subótima, por exemplo com qualidade reduzida ou liberdade limitada.
[008] Como um exemplo de uma aplicação, óculos de realidade virtual estão atualmente entrando no mercado. Esses óculos possibilitam que os observadores tenham uma experiência de video (panorâmico) capturado em 360 graus. Esses videos em 360 graus são frequentemente pré-capturados com o uso de equipamentos de câmera onde imagens individuais são unidas em um único mapeamento esférico. Os formatos estéreo comuns para video 360 são superior/inferior e esquerda/direita. De forma similar ao vídeo estéreo não panorâmico, as imagens do olho
Petição 870190096343, de 26/09/2019, pág. 9/147
3/52 esquerdo e do olho direito são compactadas como parte de um único fluxo de video H.264. Depois de decodificar um único quadro, o observador gira a cabeça para ver o mundo em torno dele. Um exemplo atual é uma gravação feita pelo Google de um concerto no Carnegie Hall [https ://performingarts .withgoogle.tabhumblecom/en_us/performa nces/carnegie-hall]. Nesse exemplo, os observadores podem ter a experiência de um efeito de olhar ao redor em 360 graus, e podem alternar de maneira descontínua entre três fluxos de vídeo gravados de diferentes posições. Ao alternar, outro fluxo de vídeo é carregado, o que faz com que a experiência seja interrompida.
[009] Uma desvantagem da abordagem de vídeo panorâmico estéreo é que o observador não pode mudar de posição no mundo virtual. A codificação e transmissão de um mapa de profundidade panorâmico além do vídeo estéreo panorâmico podería possibilitar a compensação de pequenos movimentos translacionais do observador no lado do cliente, mas tais compensações seriam inerentemente limitadas a pequenas variações e movimentos e não seriam capazes de fornecer uma experiência de realidade virtual imersiva e livre.
[010] Uma tecnologia relacionada é o vídeo de ponto de visualização livre, no qual múltiplos pontos de visualização com mapas de profundidade são codificados e transmitidos em um único fluxo de vídeo. A taxa de bits do fluxo de vídeo podería ser reduzida pela exploração de dependências angulares entre os pontos de visualização, além dos bem conhecidos esquemas de previsão temporal. Entretanto, a abordagem ainda exige uma taxa de bits alta e é restritiva em termos das imagens que podem ser geradas. Na prática, ela não pode oferecer uma experiência de movimento completamente livre em um mundo de realidade virtual tridimensional.
Petição 870190096343, de 26/09/2019, pág. 10/147
4/52 [Oil] Infelizmente, nenhuma das tecnologias da técnica anterior pode proporcionar uma experiência ideal, mas tendem, com frequência, a ser limitadoras em termos da liberdade de mudança nas posições e direções de visualização. Além disso, as tecnologias tendem a exigir uma taxa de dados muito alta e fornecem fluxos de dados que incluem mais dados do que é necessário para a geração de imagens/visualizações individuais.
[012] Adicionalmente, as abordagens da técnica anterior tendem a exigir grande capacidade de armazenamento para armazenar um grande número de, por exemplo, imagens capturadas individualmente. Além disso, as abordagens da técnica anterior tendem a exigir processamento relativamente complexo e têm altas demandas de recursos computacionais. Apesar disso, as abordagens da técnica anterior tendem a resultar em uma geração de imagens de visualização subótima, e em particular uma experiência incoerente e relativamente inconsistente é muitas vezes fornecida a um usuário movendo-se em um mundo virtual.
[013] Por exemplo, o documento KR2017 0007098 A revela um sistema para gerar imagens para uma dada pose de usuário que pode diferir das poses de captura para as quais uma imagem da cena foi capturada. A abordagem pode selecionar uma pose de captura mais próxima e gerar uma imagem de visualização para a pose de usuário a partir da imagem obtida da pose de captura mais próxima. No entanto, a abordagem tende a ter todas as desvantagens descritas acima e, em particular, exige alta demanda de recursos computacionais, é complexa, se baseia em operações de captura complexas e difíceis, e tende a gerar imagens de visualização que não são de qualidade ótima e, além disso, tende a ser inconsistente quando um usuário se move.
[014] Portanto, uma abordagem aprimorada seria vantajosa. Em particular, seria vantajosa uma abordagem que possibilite uma operação otimizada, maior flexibilidade, maior escopo para gerar imagens correspondentes a diferentes posições
Petição 870190096343, de 26/09/2019, pág. 11/147
5/52 e direções de visualização, uma melhor experiência de realidade virtual, taxas de dados reduzidas, distribuição facilitada, complexidade reduzida, implementação facilitada, requisitos de armazenamento reduzidos e/ou operação e/ou desempenho aprimorados.
BREVE DESCRIÇÃO DA INVENÇÃO [015] 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.
[016] De acordo com um aspecto da invenção, é fornecido um aparelho que compreende: um armazenamento para armazenar um conjunto de rotas em um espaço N-dimensional que representa poses espaciais, sendo que o conjunto de rotas compreende uma pluralidade de rotas e cada rota do conjunto de rotas descreve uma trajetória de poses de câmera através do espaço N-dimensional e é vinculado a um item de vídeo que inclui quadros que compreendem tanto informações de imagem como de profundidade para as poses de câmera da rota; uma entrada para receber uma indicação de posição de observador; um seletor para selecionar uma primeira rota do conjunto de rotas em resposta a um critério de seleção que depende de uma métrica de distância, que por sua vez depende da indicação de posição de observador e de posições das rotas do conjunto de rotas; um recuperador para recuperar um primeiro item de vídeo associado à primeira rota a partir de uma fonte de vídeo; um gerador de imagens para gerar pelo menos uma imagem de visualização para a indicação de posição de observador a partir de um primeiro conjunto de quadros a partir do primeiro item de vídeo; sendo que o critério de seleção tende em favor de uma rota atualmente selecionada em relação a outras rotas do conjunto de rotas.
Petição 870190096343, de 26/09/2019, pág. 12/147
6/52 [017] A abordagem pode proporcionar um desempenho e/ou operação aprimorados em muitos cenários e para muitas aplicações. Em particular, a abordagem pode proporcionar uma experiência de realidade virtual aprimorada em muitos cenários. Em particular, uma abordagem eficiente com baixa latência, alta qualidade, baixos requisitos de recursos de comunicação, baixos requisitos de recursos de armazenamento e/ou baixos requisitos de recursos computacionais muitas vezes pode ser alcançada.
[018] A abordagem pode possibilitar, por exemplo, requisitos de recursos de comunicação ou computacionais reduzidos para uma configuração clienteservidor para fornecer uma experiência de realidade virtual em um dispositivo cliente baseado em um servidor que armazena itens de video, e possivelmente também fornecer os dados de rota.
[019] A abordagem pode ser, por exemplo, usada para representar um ambiente virtual baseado em itens de video associados (vinculados a) aos dados de rota ao invés de ser baseado em imagens individuais e posições associadas. Isso pode permitir, por exemplo, o uso de técnicas de codificação de video eficientes que resultam em recursos de armazenamento e comunicação reduzidos.
[020] A abordagem pode, em muitas modalidades, permitir a geração facilitada de dados que representam um ambiente virtual a partir de capturas do mundo real. Por exemplo, uma experiência virtual em um ambiente virtual que corresponde a um ambiente do mundo real pode ser eficazmente gerada com base em itens de video capturados quando se deslocam no ambiente do mundo real.
[021] O espaço N-dimensional pode compreender especificamente dimensões relacionadas a uma localização e/ou orientação de visualização no espaço N-dimensional. N é um número inteiro que pode representar especificamente 1 a 3
Petição 870190096343, de 26/09/2019, pág. 13/147
7/52 dimensões espaciais que refletem uma localização em um ambiente virtual e 1 a 3 dimensões espaciais que refletem uma orientação de visualização no ambiente virtual.
[022] A indicação de posição de observador pode ser especificamente uma indicação M-dimensional (com M tipicamente sendo igual a N) de uma posição na espaço Ndimensional. A indicação de posição de observador pode representar especificamente 1 a 3 dimensões espaciais que refletem uma localização em um ambiente virtual e 1 a 3 dimensões espaciais que refletem uma orientação de visualização no ambiente virtual.
[023] Os itens de video incluem tanto informações de imagens como de profundidade permitindo assim a geração de imagem de visualização a partir de pontos de visualização que pode ser diferente daquela capturada pelos itens de video. Isso pode proporcionar uma experiência aprimorada, por exemplo, permitindo que um usuário gire em relação à direção de câmera das imagens dos itens de video.
[024] Cada rota pode ser vinculada a um item de video com a rota descrevendo uma trajetória de câmera (possivelmente virtual) através do espaço N-dimensional que corresponde ao item de video. As posições ao longo da rota podem ser associadas a posições dos quadros dos itens de video.
[025] O seletor pode ser disposto para aumentar a probabilidade de uma determinada rota ser selecionada em resposta à métrica de distância para essa rota sendo indicativa de uma distância decrescente entre a indicação de posição de observador e a rota determinada. A métrica de distância pode se basear, por exemplo, em uma norma adequada.
[026] A imagem de visualização pode ser gerada para corresponder à visualização que será percebida por um observador em uma posição no espaço N-dimensional dada pela indicação de posição de observador.
Petição 870190096343, de 26/09/2019, pág. 14/147
8/52 [027] A entrada pode receber uma sequência de indicações de posição de observador e o aparelho pode ser disposto para gerar uma sequência de imagens de visualização correspondente. A operação do aparelho pode ser dinamicamente iterada fornecendo assim uma experiência de usuário dinâmica. Por exemplo, indicações de posição de observador podem descrever um caminho ou rota através do espaço N-dimensional, e o aparelho pode gerar, em resposta, uma sequência de imagens que corresponde às visualizações que seriam experimentadas por um observador movendo-se ao longo desse caminho ou rota.
[028] A rota atualmente selecionada pode ser uma rota selecionada para uma indicação de posição de observador anterior, e pode ser especificamente uma rota selecionada para a última indicação de posição de observador recebida. Em particular, a indicação de posição de observador pode ser uma indicação de posição de observador em uma sequência de indicações de posição de observador, e a rota atualmente selecionada pode ser a rota selecionada para a última indicação de posição de observador recebida antes da indicação de posição de observador atual.
[029] Os itens de video podem ser itens de video codificados. Os itens de video podem compreender quadros intracodifiçados e quadros intercodificados. Os quadros intracodifiçados são codificados independentemente de outros quadros. Os quadros intercodificados são codificados em relação a pelo menos um outro quadro. Os itens de video podem compreender quadros I e quadros codificados B e/ou P.
[030] A tendência em favor da rota atualmente selecionada pode ser implementada pelo critério de seleção que é diferente para a rota atualmente selecionada daquele usado para outras rotas do conjunto de rotas. O critério de seleção pode ser assimétrico em relação à rota atualmente selecionada e outras rotas do conjunto de rotas. Especificamente, o critério
Petição 870190096343, de 26/09/2019, pág. 15/147
9/52 de seleção pode ser assimétrico em relação a uma métrica de distância para a rota atualmente selecionada em relação às métricas de distância para outras rotas do conjunto de rotas.
[031] O critério de seleção pode ser disposto para resultar em rotas diferentes sendo selecionadas para valores diferentes da indicação de posição de observador. A tendência pode ser tal que a rota atualmente selecionada seja selecionada a menos que a métrica de distância para uma outra rota seja mais curta que a métrica de distância para a rota atual por um fator maior que um.
[032] O primeiro conjunto de quadros pode ser um ou mais quadros. Em algumas modalidades, o gerador de imagens pode ser disposto para gerar adicionalmente a imagem de visualização em resposta aos quadros provenientes de mais de um item de video. Por exemplo, se uma nova rota for selecionada, a imagem de visualização pode ser gerada a partir de quadros tanto da rota anteriormente selecionada como da rota recémselecionada.
[033] De acordo com um recurso opcional da
invenção, o gerador de imagens é disposto para selecionar os
primeiros guadros em resposta aos dados de po sição de rota
para os quadros do primeiro item de video em relação à
indicação de posição de observador.
[034] Isso pode proporcionar desempenho e/ou operação aprimorados em muitas modalidades.
[035] De acordo com um recurso opcional da invenção, o gerador de imagens é disposto para, se a primeira rota for selecionada como a rota atualmente selecionada, tender a seleção do primeiro conjunto de quadros em favor dos quadros que têm uma menor distância temporal até um primeiro conjunto de quadros atualmente selecionado do primeiro item de video.
Petição 870190096343, de 26/09/2019, pág. 16/147
10/52 [036] Isso pode proporcionar desempenho e/ou operação aprimorados em muitas modalidades. Isso pode, em particular, fornecer consistência temporal aprimorada e pode mitigar artefatos temporalmente variáveis.
[037] De acordo com um recurso opcional da invenção, o gerador de imagem é disposto para, se a primeira rota for selecionada como a rota atualmente selecionada, executar a seleção do primeiro conjunto de quadros com base em uma métrica de seleção de quadro que aumenta com uma distância temporal decrescente para um quadro atualmente selecionado do primeiro item de vídeo.
[038] Isso pode proporcionar desempenho e/ou operação aprimorados em muitas modalidades. Isso pode, em particular, fornecer consistência temporal aprimorada e pode mitigar artefatos temporalmente variáveis.
[039] De acordo com um recurso opcional da invenção, o armazenamento é adicionalmente disposto para armazenar posições de intersecção para rotas das sequências de vídeo; e o critério de seleção é dependente das posições de intersecção.
[040] Isso pode proporcionar um desempenho aprimorado em muitas modalidades e pode, em particular, possibilitar a seleção aprimorada de itens de vídeo adequados. Isso pode, por exemplo, em algumas modalidades reduzir a latência, por exemplo ao permitir que o aparelho recupere itens de vídeo para futuras rotas potenciais que se cruzam com a rota atual.
[041] As posições de intersecção podem ser indicativas de intersecções entre rotas e podem ser fornecidas, por exemplo, em coordenadas de (pelo menos algumas) das dimensões do espaço N-dimensional, ou podem ser dadas em relação aos dados de rota ou item de vídeo (como, por exemplo, um número de quadro).
Petição 870190096343, de 26/09/2019, pág. 17/147
11/52 [042] Uma intersecção pode ser considerada como presente se as posições de duas rotas estiverem a uma distância abaixo de um limiar.
[043] Uma intersecção pode ser qualquer junção, incluindo uma junção em T ou uma junção entre o final de uma rota e o começo de outra.
[044] De acordo com um recurso opcional da invenção, o seletor é disposto para reduzir a tendência em favor da rota atualmente selecionada para indicações de posição de observador que correspondem às posições de intersecção.
[045] Isso pode fornecer desempenho aprimorado e pode melhorar especificamente a transição entre diferentes itens de video tornando tais transições mais prováveis nas intersecções do que em outros lugares. Em algumas modalidades, as transições para uma nova rota podem ser permitidas apenas nas intersecções.
[046] De acordo com um recurso opcional da invenção, a tendência em favor da rota atualmente selecionada é dependente de uma distância entre a indicação de posição de observador e posições de intersecção.
[047] Isso pode fornecer desempenho aprimorado e pode melhorar especificamente a transição entre diferentes itens de video tornando tais transições mais prováveis nas intersecções do que em outros lugares. Em algumas modalidades, as transições para uma nova rota podem ser permitidas apenas nas intersecções.
[048] De acordo com um recurso opcional da invenção, o armazenamento é disposto para armazenar um gráfico que tem intersecções como nós e rotas refletidas por bordas.
[049] Isso pode possibilitar uma operação particularmente eficiente em muitas modalidades.
[050] De acordo com um recurso opcional da invenção, quadros associados às posições de intersecção para
Petição 870190096343, de 26/09/2019, pág. 18/147
12/52 ao menos algumas sequências de vídeo são quadros intracodifiçados.
[051] Isso pode facilitar e/ou melhorar a operação em muitas modalidades. Por exemplo, isso pode facilitar a transição entre diferentes rotas/itens de vídeo, uma vez que pode reduzir o número de quadros que precisam ser decodificados.
[052] De acordo com um recurso opcional da invenção, o gerador de imagens é disposto para gerar a imagem de visualização de ao menos um primeiro quadro do primeiro conjunto de quadros e um segundo quadro a partir de uma segunda rota anteriormente selecionada.
[053] Isso pode facilitar e/ou melhorar a operação em muitas modalidades.
[054] O primeiro quadro pode ser selecionado como um quadro intracodificado e/ou o segundo quadro pode ser selecionado como um quadro intracodifiçado. O primeiro quadro pode ser especificamente um quadro de intersecção. A geração da imagem de visualização pode incluir a decodificação de um quadro previsto (frequentemente um quadro bidirecional (B) ) a partir de um quadro intracodificado (I) a partir de uma rota anteriormente selecionada e um quadro intracodificado (I) (o primeiro quadro) a partir da primeira rota. (A rota anteriormente selecionada pode corresponder à rota atualmente selecionada antes da seleção da primeira rota, especialmente quando o seletor seleciona a primeira rota como uma rota diferente da rota atualmente selecionada (antes da seleção da primeira rota)). Esse pode tipicamente ser o cenário quando o aparelho alterna de uma rota para uma outra rota.
[055] De acordo com um recurso opcional da invenção, o segundo quadro é um quadro associado a uma intersecção entre a primeira rota e a segunda rota anteriormente selecionada.
Petição 870190096343, de 26/09/2019, pág. 19/147
13/52 [056] Isso pode facilitar e/ou melhorar a operação em muitas modalidades.
[057] De acordo com um recurso opcional da invenção, o armazenamento é adicionalmente disposto para armazenar dados de relação indicativos de uma relação espacial entre as rotas do conjunto de rotas, e a seleção da primeira rota é em resposta aos dados de relação.
[058] Isso pode proporcionar desempenho e/ou operação aprimorados em muitas modalidades.
[059] De acordo com um recurso opcional da invenção, os dados de relação podem ser indicativos de pelo menos uma relação espacial entre duas rotas a partir do grupo de: um cruzamento das duas rotas; uma junção das duas rotas; uma primeira rota dentre as duas rotas que corresponde a uma direção de movimento oposta a uma segunda rota dentre as duas rotas; e as duas rotas sendo paralelas.
[060] Isso pode proporcionar desempenho e/ou operação aprimorados em muitas modalidades.
[061] De acordo com um recurso opcional da invenção, os itens de vídeo são itens de vídeo codificados que compreendem tanto quadros intracodifiçados como quadros intercodifiçados, e o seletor é disposto para reduzir a tendência em favor da rota atualmente selecionada para indicações de posição de observador que correspondem aos quadros intracodificados em relação às indicações de posição de observador que correspondem aos quadros intercodifiçados.
[062] Isso pode reduzir o uso de recursos computacionais e, em particular, pode reduzir a complexidade e o uso de recursos para decodificar quadros adequados para gerar as imagens de visualização.
[063] De acordo com um aspecto da invenção, é fornecido um método que compreende: armazenar um conjunto de rotas em um espaço N-dimensional que representa poses
Petição 870190096343, de 26/09/2019, pág. 20/147
14/52 espaciais, sendo que o conjunto de rotas compreende uma pluralidade de rotas e cada rota do conjunto de rotas descreve uma trajetória de poses de câmera através do espaço Ndimensional e é vinculado a um item de vídeo que inclui quadros que compreendem tanto informações de imagem como de profundidade para as poses de câmera da rota; receber uma indicação de posição de observador; selecionar uma primeira rota do conjunto de rotas em resposta a um critério de seleção que depende de uma métrica de distância, que por sua vez depende da indicação de posição de observador e de posições das rotas do conjunto de rotas; recuperar um primeiro item de vídeo associado à primeira rota a partir de uma fonte de vídeo; gerar ao menos uma imagem de visualização para a indicação de posição de observador a partir de um primeiro conjunto de quadros a partir do primeiro item de vídeo; sendo que o critério de seleção tende em favor de uma rota atualmente selecionada em relação a outras rotas do conjunto de rotas.
[064] Esses e outros aspectos, recursos e vantagens da invenção ficarão evidentes e serão elucidados com referência às uma ou mais modalidades descritas a seguir.
BREVE DESCRIÇÃO DAS FIGURAS [065] As modalidades da invenção serão descritas, apenas a título de exemplo, com referência aos desenhos, nos quais:
A Figura 1 ilustra um exemplo de elementos de um dispositivo para gerar imagens de visualização em resposta a uma indicação de posição de observador, de acordo com algumas modalidades da invenção;
a Figura 2 ilustra um exemplo de configuração cliente-servidor que inclui o dispositivo da Figura 1 como um dispositivo cliente;
a Figura 3 ilustra um exemplo de um servidor para a configuração cliente-servidor da Figura 2;
Petição 870190096343, de 26/09/2019, pág. 21/147
15/52 a Figura 4 ilustra um exemplo de rotas de captura para capturar um ambiente;
a Figura 5 ilustra um exemplo de uma rota de observador em relação às rotas de captura em um ambiente virtual;
a Figura 6 ilustra um exemplo de rotas de captura para um ambiente virtual;
a Figura 7 ilustra um exemplo de um gráfico de rotas de captura/itens de video que representam um ambiente virtual; e a Figura 8 ilustra um exemplo de um gráfico de relações entre as rotas de captura/itens de video que representam um ambiente virtual.
DESCRIÇÃO DETALHADA DE ALGUMAS MODALIDADES DA INVENÇÃO [066] As experiências virtuais que permitem que um usuário se mova em um mundo virtual estão se tornando cada vez mais populares e os serviços estão sendo desenvolvidos para satisfazer tal demanda. No entanto, a prestação de serviços eficientes de realidade virtual é muito desafiadora, em particular se a experiência se basear em uma captura de um ambiente do mundo real ao invés de um mundo artificial totalmente gerado de modo virtual.
[067] Uma abordagem para fornecer um serviço de realidade virtual consiste em armazenar um grande número de imagens, cada imagem sendo vinculada a uma posição especifica e tipicamente ver a orientação/direção. Dada uma localização do usuário no mundo virtual, as posições armazenadas podem ser pesquisadas para recuperar uma imagem para aquela posição (ou para uma posição próxima), e isso pode ser renderizado adequadamente para o usuário. Por exemplo, um servidor pode receber posições de usuários e pode extrair as imagens relevantes de um armazenamento de imagem local e gerar uma sequência de video dedicada que corresponde ao caminho do usuário através do mundo virtual.
Petição 870190096343, de 26/09/2019, pág. 22/147
16/52 [068] Entretanto, tal abordagem irá exigir que uma grande quantidade de dados seja armazenada a fim de assegurar uma cobertura suficiente do ambiente virtual. A densidade das imagens necessárias e, portanto, o número total de imagens que precisam ser armazenadas, podem ser reduzidos armazenando-se as informações de profundidade juntamente com as imagens. Isso pode permitir uma geração local de imagens de visualização para posições e direções de visualização que não se alinham exatamente com as posições e direções armazenadas. Entretanto, um grande número de imagens armazenadas ainda é tipicamente necessário. Adicionalmente, a estrutura de dados necessária para armazenar imagens individualmente e posições associadas tipicamente não permite eficiência de armazenamento otimizada.
[069] Adicionalmente, a abordagem resulta em uma complexidade relativamente alta, tipicamente com um uso de recursos computacionais e de comunicação relativamente alto. Em particular, a abordagem não se adapta bem, por exemplo, a um número crescente de usuários que acessam um servidor comum através da Internet. Em tal caso, o servidor precisará gerar um sinal de video dedicado para cada usuário e consequentemente executar individualmente codificação de video (tipicamente complexa) para cada usuário.
[070] A Figura 1 ilustra um aparelho que pode proporcionar uma experiência de usuário de realidade virtual aprimorada em muitos cenários. Em algumas modalidades, o aparelho pode ser um dispositivo cliente 201 que estabelece a ligação com um servidor remoto 203, por exemplo, através de uma rede 205, como a Internet, conforme ilustrado na Figura 2. O servidor 203 pode ser disposto para suportar simultaneamente um número potencialmente grande de dispositivos clientes 201.
[071] O aparelho é disposto para gerar imagens que correspondem às visualizações de uma cena para uma dada
Petição 870190096343, de 26/09/2019, pág. 23/147
17/52 pose de visualização de observador. Em muitas modalidades, ο aparelho é disposto para gerar imagens estereoscópicas para uma dada pose de observador, ou, de modo equivalente, duas imagens podem ser geradas para poses de observador ligeiramente diferentes que correspondem ao deslocamento entre os dois olhos de um observador.
[072] No campo, os termos posicionamento e pose são usados como um termo comum para posição e/ou direção/orientação. A combinação da posição e direção/orientação, por exemplo de um objeto, uma câmera, ou uma visão pode ser chamada de uma pose ou posicionamento. Dessa forma, uma indicação de posicionamento ou pose pode compreender seis valores/componentes/graus de liberdade com cada valor/componente descrevendo tipicamente uma propriedade individual da posição/localização ou da orientação/direção do objeto correspondente. Certamente, em muitas situações, um posicionamento ou pose pode ser considerado ou representado com um menor número de componentes, por exemplo se um ou mais componentes forem considerados fixos ou irrelevantes (por exemplo, se todos os objetos forem considerados como estando na mesma altura e tiverem uma orientação horizontal, quatro componentes podem fornecer uma representação completa da pose de um objeto) . No texto a seguir, o termo pose é usado para se referir a uma posição e/ou orientação que pode ser representada por um a seis valores (correspondentes ao número máximo de graus de liberdade possíveis). A descrição tem como foco modalidades e exemplos nos quais uma pose tem o número máximo de graus de liberdade, isto é, três graus de liberdade de cada uma dentre a posição e a orientação resultando em um total de seis graus de liberdade. A pose pode, dessa forma, ser representada por um conjunto ou vetor de seis valores que representam os seis graus de liberdade e, dessa forma, o vetor de pose pode fornecer uma posição tridimensional e/ou uma
Petição 870190096343, de 26/09/2019, pág. 24/147
18/52 indicação de direção de tridimensional. Entretanto, será reconhecido que, em outras modalidades, a pose pode ser representada por menos valores.
[073] O aparelho compreende um armazenamento 101 que é disposto para armazenar dados de rota para um conjunto de rotas em um espaço N-dimensional (em que N é um número inteiro) . O espaço N-dimensional pode ser o espaço de um mundo virtual e, em particular, pode ser um espaço tridimensional que corresponde às localizações do usuário no espaço. Em algumas modalidades, uma ou mais das dimensões podem corresponder a uma orientação de visualização no espaço virtual. Dessa forma, em algumas modalidades, o usuário pode ser representado por três graus de liberdade (3DoF) e, em outras modalidades, por exemplo, por seis graus de liberdade (6DoF), correspondendo a uma localização tridimensional e a uma orientação tridimensional. O espaço Ndimensional representa poses espaciais e representa especificamente poses em um espaço N-dimensional que representa dimensões espaciais em um mundo virtual.
[074] Assim, armazenamento 101 armazena rotas (por exemplo, caminhos ou trajetórias) no espaço Ndimensional. Cada uma das rotas fornece um caminho ou trajetória através do mundo de realidade virtual. Adicionalmente, cada rota dos conjuntos de rotas que foi armazenada está associada com/vinculada a um item de video. Dessa forma, cada rota é vinculada a um item de video que compreende uma sequência de imagens que corresponde às posições e/ou orientações da rota. De modo equivalente, cada item de video pode fornecer uma sequência de imagens que corresponde às visualizações ao longo da rota. O item de video para uma dada rota consequentemente compreende uma sequência de imagens que corresponde às visualizações quando se move ao longo da rota. Consequentemente, em vez de corresponder a uma imagem, posição ou visualização estática, o item de video
Petição 870190096343, de 26/09/2019, pág. 25/147
19/52 para uma rota especifica fornece imagens que seriam capturadas por uma câmera quando se movessem ao longo da rota, ou de modo equivalente seriam experimentadas por um usuário virtual ao se mover ao longo da rota. Cada item de video inclui quadros que compreendem tanto informações de imagem como de profundidade para poses de câmera da rota vinculada, e cada rota descreve uma trajetória de poses de câmera correspondente (poses de câmera) através do espaço N-dimensional.
[075] Cada item de video pode compreender uma sequência de imagens que corresponde a uma sequência de posições ao longo da rota. A reprodução do item de video irá fornecer as visualizações de uma pessoa ou câmera em movimento ao longo da rota. Cada uma das rotas pode ser representada por uma sequência de posições ao longo das rotas. Em algumas modalidades, apenas posições explicitamente definidas podem ser consideradas (por exemplo, uma posição pode ser incluída para cada quadro) enquanto, em outras modalidades, as posições entre os valores explícitos armazenados no armazenamento podem ser determinadas por interpelação). Em outras modalidades, cada rota pode ser, por exemplo, definida por uma função matemática que fornece, por exemplo três, valores de posição como uma função de uma variável de tempo. A variável de tempo pode ser, por exemplo, quantizada em segmentos de tempo que correspondem aos tempos de quadro para o item de vídeo correspondente.
[076] No exemplo, o armazenamento 101 é acoplado a uma interface de rede 103 que faz interface do dispositivo cliente 201 com a rede 205 (que na descrição a seguir será considerada como a Internet) . A interface de rede 103 pode fornecer, em particular, funcionalidade para o dispositivo cliente 201 para se conectar ao servidor 203.
[077] No exemplo, o servidor 203 é um servidor comum que pode atender simultaneamente uma pluralidade de usuários. Alguns elementos do servidor 203 são ilustrados na
Petição 870190096343, de 26/09/2019, pág. 26/147
20/52
Figura 3. No exemplo, o servidor 203 compreende uma interface de rede de servidor 301 que é disposta para fazer a interface do servidor 203 com a rede 205 permitindo assim que ele se comunique com o dispositivo cliente 201. A interface de rede de servidor 301 é acoplada a um controlador de servidor 303 que é disposto para controlar e executar grande parte da operação do servidor 203. O servidor 303 é acoplado a um armazenamento de vídeo 305 e a um armazenamento de rota 307.
[078] No exemplo, o armazenamento de rota 307 armazena dados de rota para o conjunto de rotas e o armazenamento de vídeo 305 armazena os itens de vídeo vinculados correspondentes. O servidor 203 pode representar especificamente um mundo de realidade virtual por um conjunto de rotas com itens de vídeo associados conforme anteriormente descrito. Por exemplo, um ambiente virtual pode ser representado por um número de rotas (possivelmente relativamente grande) através do espaço N-dimensional do ambiente virtual. Para cada uma das rotas, é armazenado um item de vídeo que representa as visualizações ao longo das rotas, isto é, o item de vídeo pode ser gerado para representar as visualizações de uma câmera ou usuário ao se mover ao longo da rota.
[079] Em muitas modalidades, o ambiente virtual pode ser uma representação de um ambiente real e os itens de vídeo e as rotas podem ser gerados por uma gravação/captura em um ambiente real. Por exemplo, uma câmera de vídeo com reconhecimento de posição pode ser transportada através do ambiente real e o vídeo capturado pode ser armazenado como um item de vídeo e as informações posicionais correspondentes podem ser armazenadas como uma rota. Em algumas modalidades, o item de vídeo e os dados de rota podem ser gerados a partir de um modelo virtual de um ambiente virtual, por exemplo mediante o movimento de uma câmera virtual através do ambiente virtual.
Petição 870190096343, de 26/09/2019, pág. 27/147
21/52 [080] Os itens de video armazenados compreendem uma sequência de quadros/imagens que representam visualizações ao longo das rotas. Uma vantagem especifica da abordagem consiste no fato de que as técnicas de codificação de video podem ser usadas para codificar os quadros/imagens, gerando assim os itens de video. Isso permite uma codificação muito eficiente resultando em taxas de dados mais baixas para uma dada qualidade de imagem e assim permitindo tipicamente uma codificação muito mais eficiente do que quando codifica imagens individuais. Especificamente, as técnicas de codificação de video como estimativa de movimento e codificação de video preditiva (tipicamente bidirecional) podem ser usadas para reduzir a quantidade de dados. Na modalidade especifica, os quadros são codificados como quadros I (intraquadros intracodifiçados sem depender de quaisquer outros quadros) ou como quadros B (quadros bidirecionais - quadros residuais codificados em relação aos quadros I, especificamente com base na estimativa de movimento a partir de quadros I) . Adicionalmente, além dos requisitos de armazenamento e comunicação reduzidos, o uso de codificação de video permite que seja utilizada uma funcionalidade de codificação e decodificação pronta para uso e eficiente (incluindo hardware dedicado). As técnicas de codificação de video que podem ser usadas incluem, por exemplo, codificação H.264 ou MPEG2.
[081] Os itens de video compreendem tanto informações de imagem como de profundidade. Especificamente, os itens de video podem ser itens de video 3D em que as imagens/quadros de intensidade de luz são associados às informações de profundidade para os quadros. Será entendido que diferentes abordagens para fornecer informações de profundidade podem ser usadas incluindo imagens estereoscópicas, mapas explícitos de profundidade ou disparidade etc. As informações de profundidade permitem
Petição 870190096343, de 26/09/2019, pág. 28/147
22/52 flexibilidade na geração de visualização e especificamente permitem, facilitam ou melhoram a geração de imagens de visualização correspondentes às posições (/orientações) que não se alinham exatamente às posições para as quais as rotas/itens de video fornecem uma imagem.
[082] No exemplo, o ambiente virtual é, dessa forma, representado por um conjunto de rotas espaciais tipicamente relativamente esparsas, por exemplo, capturadas movendo-se uma câmera através de um ambiente do mundo real. Cada rota é vinculada a um item de video, assim como metadados, sob a forma de dados de rota que fornecem informações posicionais para o item de video, e que especificamente podem fornecer uma indicação da posição de cada quadro do item de video. A Figura 4 ilustra um exemplo de como um ambiente bidimensional pode ser coberto por várias rotas (possivelmente razoavelmente arbitrárias).
[083] No exemplo, o dispositivo cliente 201 é disposto para solicitar dados de rota e itens de video a partir do servidor 203 e, em resposta, o servidor 203 prosseguirá para fornecer os dados solicitados.
[084] Entretanto, no exemplo, o dispositivo cliente 201 não faz meramente o download de todos os dados e os processa localmente, mas em vez disso recupera inicialmente apenas os dados de rota que são então, usados para determinar dinamicamente qual rota (ou rotas) está perto das posições desejadas. Os itens de video para as rotas selecionadas são, então, seletivamente recuperados a partir do servidor 203 e usados para gerar visualizações adequadas.
[085] Dessa forma, no exemplo especifico, quando o dispositivo cliente 201 inicia uma aplicação de realidade virtual, ele solicita os dados de rota a partir do servidor 203. Em resposta, o servidor 203 extrai do armazenamento de rota 307 os dados de rota e os transmite para o dispositivo cliente 201.
Petição 870190096343, de 26/09/2019, pág. 29/147
23/52
No entanto, inicialmente, nenhum dado de video é fornecido e apenas os dados de rota são transmitidos através da rede 205.
[086] Em mais detalhes, quando uma nova aplicação de realidade virtual é inicializada, a interface de rede 103 transmite uma solicitação ao servidor 203 para transmitir os dados de rota armazenados no armazenamento de rota 307. Em resposta, o servidor 203 transmite esses dados de rota. Os dados de rota são recebidos pela interface de rede 103 e armazenados no armazenamento 101. Dessa forma, após o download inicial, o armazenamento 101 armazena uma réplica local dos dados de rota para um conjunto de rotas no espaço N-dimensional. Embora cada uma das rotas seja associada (/vinculada a) um item de video correspondente que representa as visualizações da rota, esses itens de video não são baixados por download, mas permanecem no servidor.
[087] O dispositivo cliente 201 compreende adicionalmente uma entrada de posição 105 que é disposta para receber uma indicação de posição de observador. A indicação de posição de observador é indicativa de uma posição de um observador no espaço N-dimensional do ambiente virtual, e dessa forma é indicativa de uma visualização desejada do ambiente virtual. Em algumas modalidades, a indicação de posição de observador pode ser gerada em resposta a uma entrada especifica do usuário, como, por exemplo, um usuário fornecer diretamente uma posição ou, por exemplo, controlar um joystick ou um mouse. Em outras modalidades, a indicação de posição de observador pode ser gerada por um aplicativo, por exemplo, também em execução no dispositivo cliente 201. Por exemplo, a indicação de posição de observador pode ser gerada por um aplicativo de jogo.
[088] A indicação de posição de observador pode ser uma indicação de pose hexadimensional completa que fornece uma localização tridimensional e uma orientação tridimensional
Petição 870190096343, de 26/09/2019, pág. 30/147
24/52 para um observador. Em outras modalidades, por exemplo, apenas uma localização bidimensional juntamente com uma orientação bidimensional pode ser fornecida (por exemplo, quando o observador é sempre considerado como estando na mesma altura e as rotas são essencialmente rotas bidimensionais).
[089] O dispositivo cliente 201 compreende adicionalmente um seletor 107 que é acoplado ao armazenamento 101 e à entrada de posição 105. O seletor 107 é disposto para selecionar as rotas a partir do conjunto de rotas armazenado com base nas indicações de posição de observador recebidas. Especificamente, para uma dada indicação de posição de observador, o seletor 107 é disposto para avaliar um critério de seleção que depende da métrica de distância, que por sua vez depende da indicação de posição de observador e de posições das rotas do conjunto de rotas. Dessa forma, com base na indicação de posição de observador e nos dados posicionais para as rotas armazenadas, uma métrica de distância é avaliada e uma ou mais rotas são selecionadas conforme adequado para gerar imagens de visualização para a indicação de posição de observador atual.
[090] O dispositivo cliente 201 compreende adicionalmente um recuperador 109 que é acoplado ao seletor 107 e à interface de rede 103. O recuperador 109 recebe informações sobre qual item (ou itens) de vídeo foi selecionado e, em resposta, o recuperador, através da interface de rede 103, se comunica com o servidor 203 para recuperar o item (ou itens) de vídeo selecionado.
[091] O dispositivo cliente 201 compreende adicionalmente um gerador de imagem 111 para gerar pelo menos uma imagem de visualização para a indicação de posição de observador a partir de um primeiro conjunto de quadros a partir do primeiro item de vídeo. O item de vídeo recuperado é encaminhado para o gerador de imagens 111 que prossegue para gerar uma imagem que corresponde ao que seria visto por
Petição 870190096343, de 26/09/2019, pág. 31/147
25/52 um observador na posição no ambiente virtual indicado pela indicação de posição de observador. A seleção dos quadros que são usados para gerar a imagem de visualização pode também se basear na indicação de posição de observador e em uma métrica de distância espacial. De fato, como os quadros no item de vídeo têm posições ao longo das rotas, o quadro (ou quadros) que corresponde mais estreitamente à posição da indicação de posição de observador pode ser selecionado (por exemplo, submetido a outros parâmetros ou considerações).
[092] Dessa forma, para uma dada indicação de posição de observador, o dispositivo cliente 201 pode prosseguir para selecionar um item de vídeo (ou itens de vídeo) adeguado e quadro (ou quadros) adequado desse clipe de vídeo e usar os quadros selecionados para gerar uma imagem de visualização. Em algumas modalidades e cenários, os quadros selecionados podem corresponder diretamente de maneira suficientemente estreita à imagem de visualização para a indicação de posição de observador, e a imagem de visualização gerada pode ser gerada diretamente como uma cópia do quadro selecionado.
[093] Entretanto, na maioria das modalidades e cenários, as diferenças entre a posição (incluindo orientação) do quadro (ou quadros) e a indicação de posição de observador podem ser compensadas por meio do processamento dos quadros. Esse processamento pode ser especificamente uma transformação de visualização baseada em informações de profundidade. Será entendido que muitas abordagens para tal transformação de visualização serão conhecidas pelo versado na técnica e podem ser usadas sem subtrair a invenção.
[094] O dispositivo cliente 201 é consequentemente disposto para gerar uma imagem de visualização baseada em uma indicação de posição de observador recebida. De fato, o processo descrito é iterado e o dispositivo cliente 201
Petição 870190096343, de 26/09/2019, pág. 32/147
26/52 pode, consequentemente, gerar uma sequência de imagens de visualização em resposta a uma sequência de indicações de posição de observador. 0 dispositivo cliente 201 pode especificamente gerar uma sequência de visualizações para um observador que se move ao longo de uma rota através do ambiente virtual.
[095] As imagens geradas podem fornecer as visualizações que um observador veria ao se mover através do ambiente virtual seguindo uma trajetória indicada por meio de uma sequência de indicações de posição de observador. Entretanto, no exemplo, isso é obtido a partir de uma abordagem baseada em item de vídeo e rota em vez de depender de imagens individuais. Isso fornece uma abordagem muito mais eficiente e permite uma codificação eficiente, captura facilitada, complexidade reduzida, requisitos de armazenamento reduzido, etc. Além disso, o sistema pode permitir requisitos de comunicação substancialmente reduzidos e requisitos de armazenamento no dispositivo cliente 201 uma vez que apenas os itens de vídeo necessários precisam ser recuperados e baixados por download. Dessa forma, a abordagem pode diferenciar o tratamento, e especificamente a comunicação dos dados de rota e dos dados de vídeo. Uma vez que os dados de rota serão tipicamente pelo menos uma ordem de magnitude menor que os dados de vídeo, isso pode fornecer uma redução substancial nos requisitos de comunicação por download.
[096] A seleção da rota adequada se baseia em uma métrica de distância que reflete uma distância entre a (posição do) indicação de posição de observador e as posições das rotas. Especificamente, a métrica de distância pode refletir a distância entre a posição de observador e uma indicação de posição de um quadro atual para o item de vídeo/rota atualmente selecionada, e uma distância mínima
Petição 870190096343, de 26/09/2019, pág. 33/147
27/52 entre a indicação de posição de observador e as posições de rotas para rotas não atualmente selecionadas. As distâncias podem ser determinadas de acordo com qualquer norma adequada ou, por exemplo, por uma função monotonicamente crescente de uma norma adequada.
[097] Tal métrica de distância pode fornecer uma boa indicação de uma rota adequada ao indicar qual rota tem uma posição mais próxima à posição desejada. Entretanto, no dispositivo cliente 201 da Figura 1, o critério de seleção não se baseia meramente na métrica de distância e não seleciona meramente a rota que está mais próxima ao ponto de visualização desejado. Em vez disso, o seletor 107 é disposto para usar um critério de seleção que tende em favor de uma rota atualmente selecionada em relação a outras rotas. Consequentemente, o critério de seleção pode tender em favor do restante da rota atual, e assim gerar imagens de visualização com base no mesmo item de vídeo ao invés de saltar para outro item de vídeo.
[098] No dispositivo cliente 201 da Figura 1, o critério de seleção do seletor 107 é assimétrico em relação à métrica de distância para a rota atualmente selecionada (e, portanto, o item de vídeo) e para outras rotas (e, portanto, os itens de vídeo) que não são atualmente selecionadas. Em particular, o critério de seleção usado exigirá que a métrica de distância para uma outra rota seja menor que a métrica de distância para a rota atual por uma certa margem ou limiar antes que a outra rota seja selecionada, isto é, antes que o dispositivo cliente 201 alterne para outra rota/item de vídeo.
[099] Um exemplo específico pode ser fornecido com referência à Figura 5 que ilustra duas rotas paralelas RT1 e RT2, em que RT1 é a rota atualmente selecionada com as imagens de visualização sendo atualmente geradas com base no item de vídeo correspondente. Uma rota RT3 de um observador através do ambiente está situada entre as duas rotas
Petição 870190096343, de 26/09/2019, pág. 34/147
28/52 capturadas RT1, RT2 com distâncias variáveis para as duas rotas.
[0100] Um exemplo de um critério de seleção para esse exemplo pode ser:
_ (argmini-idfl se dr > Δ rselecionada | ratuai CCLSO Contrário em que ratuate a rota atualmente selecionada, dr é distância mais curta para a rota r, e rseiecionada é a rota selecionada. Esse critério de seleção tem o resultado de que a alternância para uma rota e video diferentes ocorre apenas quando se desvia mais que uma distância limiar Δ da rota atual. Dessa forma, a rota é selecionada como aquela que tem a menor distância até a indicação de posição de observador, mas apenas se a distância até a rota atualmente selecionada exceder um certo limiar A· A Figura 5 ilustra esse critério de seleção sendo aplicado. No exemplo, a rota selecionada é RT1, completamente, apesar de RT2 estar mais perto do vetor de parâmetro de posição de observador em algumas posições.
[0101] A tendência do critério de seleção em favor da rota atualmente selecionada pode fornecer benefícios substanciais na prática. Em primeiro lugar, ela tende a fornecer uma abordagem mais eficiente com requisitos de comunicação reduzidos, uma vez que o número de itens de vídeo que precisam ser recuperados e baixados por download pode ser tipicamente reduzido de modo substancial.
[0102] Adicionalmente, isso pode fornecer uma saída substancialmente mais consistente com menos artefatos perceptíveis. De fato, constata-se que é fornecida uma experiência mais estável e temporal e espacialmente consistente do ambiente virtual.
[0103] Em algumas modalidades, os dados de rota não se limitam às informações posicionais para as rotas, mas
Petição 870190096343, de 26/09/2019, pág. 35/147
29/52 também incluem dados que fornecem informações de como as rotas se relacionam umas com as outras.
[0104] Em particular, os dados de rota podem compreender adicionalmente informações relacionadas às intersecções entre as rotas. Por exemplo, conforme exemplificado na Figura 4, as rotas em muitas modalidades podem se basear em rotas relativamente aleatórias e isso pode resultar em muitas intersecções e sobreposições entre as rotas. De fato, as intersecções podem também ocorrer frequentemente quando rotas especificas são geradas intencionalmente para fornecer uma boa cobertura de um ambiente. Por exemplo, um dado espaço pode ser coberto percorrendo-se intencionalmente várias rotas paralelas e ortogonais a fim de gerar um sistema de grade de rotas. Em tal exemplo, haverá muitas intersecções entre as diferentes rotas ortogonais.
[0105] Critérios diferentes para considerar que existe uma intersecção entre rotas podem ser usados em diferentes modalidades. Pode-se considerar que uma intersecção ocorra entre duas rotas quando elas têm uma posição comum. Uma intersecção inclui qualquer junção entre as duas rotas, como uma junção em T, ou uma junção entre mais de duas rotas. Em algumas modalidades, uma intersecção/junção pode ser considerada existente quando a distância entre uma posição em uma rota e uma posição em uma outra rota está abaixo de um valor limite. O valor limite é tipicamente muito baixo e, dessa forma, uma intersecção é tipicamente considerada existente apenas quando as duas rotas são substancialmente sobrepostas ao menos em uma posição.
[0106] Em muitas modalidades, o critério de seleção é adicionalmente dependente das posições de intersecção armazenadas. Especificamente, o seletor 107 pode ser disposto para reduzir a tendência em favor da rota atualmente selecionada
Petição 870190096343, de 26/09/2019, pág. 36/147
30/52 para indicações de posição de observador que correspondem às posições de intersecção. A indicação de posição de observador pode corresponder a uma posição de intersecção quando a posição na rota atual que corresponde melhor à indicação de posição de observador atual (por exemplo, a distância mais curta) for um ponto de intersecção onde a rota atual cruza com uma outra rota.
[0107] Dessa forma, em algumas modalidades, o critério de seleção irá tornar mais fácil selecionar uma nova rota em uma intersecção (especificamente quando o mapeamento da indicação de posição de observador sobre a rota atual é um ponto de intersecção) entre a rota atual e a nova rota do que fora de uma intersecção.
[0108] De fato, em algumas modalidades, pode ser possível apenas selecionar uma nova rota quando a indicação de posição de observador corresponder a um ponto/posição de intersecção. Em tal modalidade, a indicação de posição de observador pode ser, por exemplo, alterada de acordo com o caminho ou trajetória desejada através do ambiente virtual. Essa indicação de posição de observador será projetada sobre a rota atual e os quadros correspondentes do vídeo atualmente selecionado podem ser extraídos e usados para gerar as imagens de visualização que correspondem à indicação de posição de observador. Entretanto, para posições projetadas na rota atualmente selecionada que não estão em um ponto de intersecção, o seletor 107 pode não selecionar uma nova rota, isto é, nesse caso a tendência em favor da rota atualmente selecionada é extrema no sentido de que não permite a seleção de qualquer nova rota. No entanto, quando a indicação de posição de observador é alterada para um valor em que a posição projetada ou correspondente na rota atualmente selecionada corresponde a um ponto de intersecção, o critério de seleção pode permitir a seleção de qualquer outra rota nessa intersecção. Dessa forma, a tendência extrema em favor
Petição 870190096343, de 26/09/2019, pág. 37/147
31/52 da rota atualmente selecionada é reduzida e provavelmente removida completamente; por exemplo, em algumas modalidades, o seletor 107 pode simplesmente selecionar a rota como a rota da intersecção que estiver mais próxima à indicação de posição de observador.
[0109] Tal abordagem pode, dessa forma, permitir que o dispositivo cliente 201 se ajuste às rotas disponíveis e apenas salte para outra rota em pontos de intersecção. Embora isso possa resultar em imagens de visualização que são geradas com base em quadros que estão espacialmente mais distantes da indicação de posição de observador do que outros quadros disponíveis (provenientes de outros itens de vídeo), a abordagem pode, em muitos cenários, proporcionar uma experiência preferencial de usuário. Em particular, isso permite uma consistência aprimorada na sequência de imagens de visualização de saída gerada e pode reduzir o número e a importância de erros ou artefatos.
[0110] Em muitas modalidades, a seleção de outras rotas não se restringe a pontos de intersecção, mas é feita uma variação mais gradual na tendência. Em muitas modalidades, a tendência em favor da rota atualmente selecionada pode ser dependente de uma métrica de distância indicativa de uma distância entre a indicação de posição de observador e posições de intersecção. A métrica de distância, em muitas modalidades, pode ser uma norma adequada ou, em algumas modalidades, a distância pode ser medida ao longo da rota e, especificamente, ao longo da rota atualmente selecionada. Dessa forma, a indicação de posição de observador pode ser projetada sobre a rota atualmente selecionada (por exemplo, a posição na rota com a distância mais curta até a indicação de posição de observador) e a distância ao longo da rota a partir dessa posição projetada até o ponto de intersecção pode ser determinada.
Petição 870190096343, de 26/09/2019, pág. 38/147
32/52 [0111] Na maioria das modalidades, a tendência em favor da rota atualmente selecionada será reduzida para diminuir a distância até o ponto de intersecção. Em tal exemplo, o dispositivo cliente 201 ainda irá tentar se ajustar à rota atual, mas pode permitir um salto entre rotas diferentes mesmo que ele não se situe em um ponto de intersecção. Essa abordagem pode permitir uma abordagem mais flexível, por exemplo, que pode permitir algum corte de cantos entre as rotas, quando for adequado.
[0112] A seleção do quadro ou quadros que são usados para gerar uma imagem de visualização para uma dada indicação de posição de observador pode ser feita a partir do item de vídeo selecionado (que corresponde à rota selecionada) com base em diferentes considerações. No entanto, os quadros são tipicamente selecionados pelo gerador de imagem 111 em resposta aos dados de posição de rota para quadros do primeiro item de vídeo em relação à indicação de posição de observador. Especificamente, as posições dos quadros no item de vídeo selecionado são comparadas à indicação de posição de observador e uma métrica de distância pode ser determinada. Em algumas modalidades, o quadro ou quadros podem simplesmente ser selecionados como os quadros que estão espacialmente mais próximos à indicação de posição de observador.
[0113] Em algumas modalidades, a seleção do quadro (ou quadros) pode ainda considerar um aspecto temporal. Especificamente, quando os quadros a serem usados para gerar a imagem de visualização são quadros provenientes da rota/vídeo atualmente selecionados, isto é, quando o sistema permanece na mesma rota e não tiver saltado para uma nova rota, a seleção pode tender a seleção de quadros em favor aos quadros que estão temporalmente próximos (no item de vídeo) aos quadros atualmente selecionados. Dessa forma, quando novos quadros são selecionados sem uma alteração do item de vídeo sendo utilizado,
Petição 870190096343, de 26/09/2019, pág. 39/147
33/52 os novos quadros são selecionados de modo que haja uma tendência em favor de uma distância temporal menor no item de video. Por exemplo, se dois conjuntos de quadros estão igualmente distantes espacialmente da indicação de posição de observador, o gerador de imagem 111 prosseguirá para selecionar os quadros que estão mais próximos aos quadros anteriormente selecionados.
[0114] Especificamente, pode ser usada uma métrica de seleção de quadro que aumenta para uma distância temporal decrescente até um quadro atualmente selecionado do item de video. Especificamente, a métrica de seleção de quadro pode aumentar quanto menor a diferença entre os números de quadro no item de video.
[0115] A abordagem pode proporcionar um desempenho aprimorado em muitas modalidades. Em particular, ela pode possibilitar uma operação aprimorada em muitos cenários nos quais a rota atual realmente se cruza com ela mesma. Um exemplo de tal rota é fornecido na Figura 6. No exemplo, a rota se sobrepõe, criando assim um ponto de intersecção. Se a seleção dos quadros for meramente baseada na distância espacial, uma indicação de posição de observador que permanece em torno do ponto de intersecção e possivelmente se move ligeiramente (por exemplo aleatoriamente) podería resultar em uma mudança frequente no conjunto de quadros que é usado para gerar a imagem de visualização, ou seja, podería alternar entre os quadros da primeira vez que o ponto de intersecção é atingido e os quadros da segunda vez que ele é atingido. Consequentemente, os quadros selecionados poderíam alternar de maneira aleatória e possivelmente frequente entre quadros em tempos muito diferentes no item de vídeo. Isso resultará na geração de imagem sendo baseada em quadros diferentes e provavelmente resultará em ruído temporal substancial.
Petição 870190096343, de 26/09/2019, pág. 40/147
34/52 [0116] No entanto, mediante a tendência adequada contra o salto temporal para diferentes partes do mesmo item de video, isso pode ser evitado e uma salda muito mais consistente e estável pode ser gerada. Por exemplo, para o exemplo da Figura 6, se o usuário se mover em direção a uma área que corresponde ao ponto de intersecção a partir do fundo da imagem, as imagens de visualização quando o usuário estiver na área serão baseadas nos quadros da primeira vez que o ponto de intersecção foi atingido, e continuarão a ser assim. Entretanto, se o usuário se aproximar da área correspondente ao ponto de intersecção a partir do lado esquerdo da imagem, as imagens de visualização quando o usuário estiver na área serão baseadas nos quadros da segunda vez que o ponto de intersecção foi atingido, e continuarão a ser assim.
[0117] O sistema descrito se baseia no uso de um (ou mais) itens de video que correspondem às rotas (/caminhos/trajetórias) através do espaço virtual para gerar imagens de visualização adequadas. Uma consideração principal de tal sistema é como selecionar o item de video a ser utilizado, e especificamente, quando alternar as rotas/itens de video.
[0118] No dispositivo cliente 201, a abordagem procura renderizar imagens de visualização a partir do mesmo video e tender contra a alternância para novos itens de video. De modo similar, ao selecionar os quadros a serem utilizados dentro de um item de video, o dispositivo cliente 201 tende contra saltos temporais.
[0119] Isso fornece várias vantagens e se baseia em várias considerações. Por exemplo:
1. Tipicamente, a disparidade/profundidade usada para síntese de visualização é estimada com o uso de uma câmera estereoscópica e a estabilidade temporal é executada com o uso de filtragem de profundidade temporal. Embora os valores de profundidade possam estar incorretos, eles são tipicamente
Petição 870190096343, de 26/09/2019, pág. 41/147
35/52 consistentes de um quadro para o próximo, o que significa que artefatos temporais são frequentemente evitados.
2. As posições de câmera virtual que correspondem aos quadros adjacentes em um único vídeo são tipicamente próximas entre si. Por exemplo, em 30 quadros por segundo, as câmeras virtuais podem ser separadas de 3 mm a 1 cm. As posições de câmera virtual obtidas de vídeos diferentes podem estar separadas até 20 cm ou mais, o que significa que deslocar subitamente o ponto de visualização de referência ao longo de uma distância tão grande provavelmente irá resultar em artefatos.
3. A alternância frequente irá aumentar a sobrecarga de codificação, uma vez que cada grande salto dentro de um único fluxo de vídeo ou cada salto entre os vídeos exigirá o download e a decodificação de um quadro intracodifiçado.
[0120] A abordagem, portanto, se refere à representação de um ambiente de modo que as imagens possam ser geradas para diferentes poses de visualização para o usuário que não estiver restrito a uma pose específica no ambiente.
[0121] Um dos principais desafios no campo, e para tais aplicações, é a forma de representar e capturar eficazmente ambientes de um modo que permita a geração de imagens de alta qualidade para diferentes poses, mas que ainda possam ser armazenadas sem exigir excessivos recursos de memória, que esteja em um formato que permita um processamento adequado e geração de imagens sem complexidade excessiva e sem exigir recursos computacionais excessivos, que possa reduzir requisitos de comunicação em aplicações de cliente/servidor, etc. Outro desafio muito substancial é possibilitar uma operação de captura prática que, de preferência, não exija circuitos muito caros ou
Petição 870190096343, de 26/09/2019, pág. 42/147
36/52 especializados, e que não seja muito onerosa ou exigente em termos de recursos.
[0122] A abordagem convencional é simplesmente tirar fotos individuais (imagens e profundidade) da cena a partir de poses de visualização e, então, armazenar essas imagens e fotos de profundidade. Tipicamente, as poses de captura são predeterminadas e o usuário precisa mover manualmente uma câmera para uma nova pose, tirar a foto, movêla para a próxima pose, tirar outra foto, etc. Esse é um processo muito demorado e árduo. Alternativamente, um grande número de câmeras pode ser usado, mas isso não é apenas dispendioso, mas também muito pouco prático, uma vez que todas as câmeras precisam ser cuidadosamente posicionadas com a pose correta. Adicionalmente, é necessário um grande número de imagens para uma operação precisa e, dessa forma, um grande número de imagens individuais precisa ser armazenado de uma maneira muito acessível.
[0123] Em abordagens convencionais, a imagem de visualização para uma dada pose de visualização é então gerada pela alternância do ponto de visualização das imagens disponíveis e armazenadas com o uso de um dos algoritmos de deslocamento de ponto de visualização bem conhecidos.
[0124] Na abordagem descrita, a cena não é representada por imagens individuais, mas é representada por uma pluralidade de rotas e itens de vídeo vinculados. Por exemplo, a abordagem possibilita um processo de captura em que uma ou mais pessoas podem simplesmente se mover em um dado ambiente capturando um vídeo com posição associada. Por exemplo, um grupo de pessoas pode simplesmente caminhar em torno de uma cena que captura vídeos à medida que elas caminham, por exemplo, ao longo de rotas aleatórias. Os itens de vídeo com dados de rota associados podem então ser compilados para fornecer um conjunto de uma pluralidade de
Petição 870190096343, de 26/09/2019, pág. 43/147
37/52 rotas com itens de video associados, fornecendo assim uma representação da cena.
[0125] A abordagem pode, portanto, permitir uma operação de captura muito simplificada, e pode, por exemplo, permitir que a captura seja simplesmente realizada através da captura de um grande número de rotas aleatórias com vídeo. Dessa forma, em vez de exigir uma captura meticulosa e planejada com o uso de imagens individuais a fim de gerar uma representação suficientemente precisa da cena, o uso de rotas e fluxos de vídeo permite que uma quantidade muito maior de informações seja capturada, evitando assim a necessidade de captura de imagem controlada estritamente em posições vantajosas.
[0126] Especificamente, com base na representação de cena em itens de vídeo (e informações de rota associadas) em vez de meramente em imagens individuais, os requisitos de memória/armazenamento podem ser substancialmente reduzidos e/ou a quantidade de informações que podem ser armazenadas pode ser muito mais alta. A codificação de vídeo é muito mais eficiente que a codificação de imagens individuais. A codificação de vídeo não só explora a redundância dentro de uma imagem para reduzir a quantidade necessária de dados, mas também (e, muitas vezes, muito mais eficazmente) explora a redundância entre diferentes quadros para reduzir substancialmente a quantidade de dados para cada quadro (por exemplo, com o uso de estimativa de movimento). Para muitas cenas, por exemplo, para aplicações de realidade virtual típicas (por exemplo, cenas estáticas), a correlação entre diferentes quadros é tão alta que uma enorme redução de dados pode ser alcançada.
[0127] Dessa forma, um efeito do uso de itens de vídeo com rotas associadas em comparação com o uso de imagens distintas, é que essa técnica permite uma compressão muito mais eficiente que, na prática, permite que uma operação de captura
Petição 870190096343, de 26/09/2019, pág. 44/147
38/52 completamente diferente seja realizada, em que a representação não se baseia nas imagens de posições cuidadosamente selecionadas, mas em vez disso, em uma pluralidade (e tipicamente um número relativamente grande) de rotas que podem tipicamente ser substancialmente aleatórias. A abordagem reduz tipicamente os requisitos de armazenamento e reduz muito substancialmente a complexidade e o esforço da representação de captura.
[0128] A abordagem descrita, no entanto, não está meramente relacionada à representação do ambiente por meio de uma pluralidade de rotas e itens de vídeo vinculados. Ao invés disso, ela também está relacionada à maneira como as imagens são geradas a partir de tal representação.
[0129] Na abordagem descrita, a determinação de uma base adequada a partir da qual se gera a imagem de visualização depende de um processo de seleção baseado em rota. Um critério de seleção é usado para selecionar uma rota, e a imagem é gerada a partir de pelo menos um quadro do vídeo vinculado. A seleção se baseia em uma distância da posição de observador, mas o critério de seleção compreende adicionalmente uma tendência em favor da rota atualmente selecionada.
[0130] Dessa forma, ao invés de apenas selecionar a rota mais próxima, o critério de seleção compreende adicionalmente uma tendência em favor da rota atualmente selecionada em relação às outras rotas. Dessa forma, o sistema não apenas seleciona os quadros mais próximos, mas pode tender em favor de continuar a criar imagens com base em uma seleção de quadros temporalmente consistente que pertencem à mesma rota. O sistema pode eficazmente se ajustar sobre uma rota e permanecer nessa rota (como a base para gerar imagens) até que a tendência não seja mais suficiente para manter o usuário ajustado a essa rota. Por exemplo, o critério de seleção pode tender em favor da rota atual mediante a exigência de que a
Petição 870190096343, de 26/09/2019, pág. 45/147
39/52 alternância para uma rota diferente requer que a distância para essa outra rota seja, por exemplo, menor que metade da distância da rota atual.
[0131] A abordagem é fortemente dependente da abordagem especifica de representar a cena por uma pluralidade de rotas e itens de video vinculados. As imagens (quadros) e as posições de captura da abordagem descrita não são independentes e isoladas de outras imagens e posições de captura, mas em vez disso, os itens de video compreendem quadros estreitamente interrelacionados e esses quadros estão estreitamente interrelacionados com as rotas. De fato, os quadros dos itens de video têm uma relação espacial e são estreitamente correlacionados uns com os outros, isto é, quadros consecutivos de itens de video têm tipicamente um alto grau de correlação. De modo similar, as rotas definem várias posições que estão diretamente relacionadas aos itens de video e, dessa forma, as rotas não apenas fornecem informações sobre posições no espaço, mas fornecem informações temporais, como informações sobre como as posições mudam para os quadros no enlace de vídeo (que é inerentemente uma representação temporal).
[0132] Os inventores perceberam essas diferenças e perceberam que uma abordagem de apenas selecionar as informações de imagem mais próximas para a visualização atual é menos adequada para representações e dados de captura que não são meramente capturas isoladas definidas apenas por posições, mas, em vez disso fornecem uma sequência de capturas estreitamente correlacionadas que têm propriedades estreitamente relacionadas (tendo especificamente uma relação temporal em um item de vídeo).
[0133] Em particular, os inventores perceberam que, de fato, embora possa ser possível simplesmente selecionar a imagem mais próxima (e, dessa forma, o quadro na captura baseada em item de vídeo), isso será computacionalmente muito
Petição 870190096343, de 26/09/2019, pág. 46/147
40/52 complexo e tenderá a resultar em erros devido à correlação entre quadros e posições de captura que são ignoradas.
[0134] Especificamente, os inventores perceberam que os quadros de itens de vídeo não são codificados como quadros individuais, mas são codificados com referência a outros quadros de vídeo no item de vídeo. Tipicamente, um item de vídeo inclui alguns quadros intracodifiçados tipicamente com um número substancialmente maior de quadros intercodifiçados que são codificados com referência a outros quadros e com uma eficiência muito mais alta que os quadros intracodifiçados.
[0135] Isso, em particular, torna difícil extrair imagens individuais, uma vez que estas irão exigir a extração dos quadros relevantes e intracodifiçados, a decodificação destes, a extração de quaisquer quadros a partir dos quais o quadro desejado é previsto, a decodificação destes com o uso de quadros intracodificados, a extração do quadro desejado, a decodificação deste, e finalmente a combinação de todos esses. Isso tem uma carga computacional muito alta. Além disso, erros de codificação, ruído e artefatos são inevitáveis, e podem reduzir a qualidade da imagem resultante.
[0136] Os inventores perceberam também que ao se considerar não apenas a posição, mas também o histórico da posição de observador, é possível se adaptar a e explorar a correlação temporal e entre quadros presente em itens de vídeo. Isso é feito tornando a seleção baseada em rotas, ao invés de apenas considerar posições individuais, e exercendo uma tendência adicional para que essa seleção fique na mesma rota.
[0137] Isso resulta em uma abordagem que, em particular, é muito mais eficiente para as propriedades de codificação de vídeo, e aborda especificamente os problemas de geração de imagens a partir de itens de vídeo. Especificamente, constatou-se na prática a redução da carga computacional de modo
Petição 870190096343, de 26/09/2019, pág. 47/147
41/52 muito substancial. A seleção baseada em rota e a consistência aumentada da seleção de quadros (frequentemente consecutivos) a partir do mesmo item de vídeo/rota resulta na reutilização substancial de quadros intracodifiçados que precisam apenas ser decodificados uma vez para todos os quadros intercodifiçados que são codificados com base nos mesmos. De modo similar, a necessidade de gerar quadros previstos intermediários para outro
quadro não irá introduzir uma sobrecarga se esses quadros
intermediários já tiverem sido usados para gerar imagens
anteriores.
[0138] | Além disso, os erros e artefatos de
codificação/decodificação inevitáveis na abordagem tendem a ser muito mais consistentes para imagens consecutivas. Por exemplo, um artefato de codificação/decodificação que ocorre para um quadro intracodificado será igualmente representado em todas as imagens que são geradas com base em quadros do mesmo item de vídeo/rota que são codificados usando esse quadro intracodificado. Isso pode ser muitas vezes preferencial para erros ou artefatos potencialmente menos visíveis que, no entanto, são menos consistentes entre imagens geradas consecutivas.
[0139] Dessa forma, a abordagem para uma seleção orientada de rotas/itens de vídeo baseada em rotas fornece um desempenho substancialmente otimizado, e em particular permite menor complexidade computacional e uso de recursos, requisitos de armazenamento reduzidos, geração facilitada de imagens de visualização e qualidade de imagem aprimorada. Essa abordagem pode reduzir também os requisitos de comunicação, por exemplo, para aplicações baseadas em cliente-servidor.
[0140] Em algumas modalidades, os dados de rota podem incluir um gráfico representado por ter intersecções como nós, e rotas como bordas. Um exemplo para um ambiente virtual que corresponde a uma casa é fornecido na Figura 7.
Petição 870190096343, de 26/09/2019, pág. 48/147
42/52 [0141] No exemplo, cada nó representa uma intersecção entre rotas, incluindo junções em T (n2). Em tal gráfico, uma intersecção pode refletir adicionalmente uma posição onde uma rota termina e a outra começa. No exemplo, cada rota é, dessa forma, delimitada por dois nós, com os nós sendo tipicamente comuns para uma pluralidade de rotas. A abordagem é particularmente adequada para um cenário em que as rotas e itens de vídeo são gerados pela captura dedicada e planejada, ou onde as rotas e itens de vídeo capturados foram divididos em pequenas rotas e itens de vídeo. O gráfico pode ser, por exemplo, codificado como uma seção binária ou um texto (por exemplo, xml) e pode (pelo menos parcialmente) ser transmitido a partir do servidor 203 para o dispositivo cliente 201 quando o aplicativo é inicializado.
[0142] O uso de um gráfico pode ser eficiente em muitas modalidades e pode fornecer uma operação eficiente. Por exemplo, a estrutura de gráfico permite que seja determinado que no final de uma dada rota, um número (0,1, ...) de outras rotas definidas pode começar e, dessa forma, a recuperação e a decodificação dos vídeos correspondentes podem ser iniciadas antecipadamente, reduzindo assim o atraso e interrupções potenciais.
[0143] Em algumas modalidades, os dados de rota podem incluir adicionalmente dados de relação indicativos de uma relação espacial entre as rotas do conjunto de rotas. Os dados de relação podem então ser usados na seleção da rota para a indicação de posição de observador atual.
[0144] Como um exemplo específico, os dados de relação podem fornecer para cada rota uma indicação de quais outras rotas ela cruza. Em algumas modalidades, o seletor 107 pode, para a rota atualmente selecionada, verificar os dados de relação para ver quais outras rotas ela cruza e com as quais tem intersecções. O seletor 107 pode então considerar,
Petição 870190096343, de 26/09/2019, pág. 49/147
43/52 por exemplo, apenas essas rotas específicas ao determinar se deve selecionar uma rota diferente.
[0145] Em algumas modalidades, os dados de relação podem fornecer uma indicação de quais rotas formam junções entre si. Tais dados podem ser usados pelo seletor 107 para selecionar o video e os quadros adequados para a síntese de visualização. Por exemplo, quando o usuário se aproxima de uma junção em T, podemos prever desde o início, com base em dados de posição, se o usuário está inclinado a virar à direita ou à esquerda nessa junção.
[0146] Em algumas modalidades, os dados de relação podem fornecer uma indicação de que algumas rotas correspondem a direções de movimento opostas para o mesmo caminho. Tais dados podem ser usados pelo seletor 107 para mudar de direção quando o observador está virando, por exemplo, 180 graus em seu caminho.
[0147] Em algumas modalidades, os dados de relação podem fornecer uma indicação de rotas que são substancialmente paralelas umas às outras. Tais dados podem ser usados pelo seletor 107 para decidir alternar para outro caminho que represente melhor a direção à qual um usuário está se dirigindo.
[0148] As relações podem ser, por exemplo, fornecidas sob a forma de um gráfico que tem as rotas como nós e as bordas que indicam a relação entre os dois nós correspondentes. Um exemplo de tal gráfico é ilustrado na Figura 8.
[0149] Conforme mencionado anteriormente, qualquer codificação de vídeo adequada dos itens de vídeo pode ser usada sem que se desvie da invenção. Em muitas modalidades, os itens de vídeo podem ser codificados com o uso tanto de quadros intracodificados, que são codificados sem considerar quaisquer outros quadros, como de quadros previstos que são codificados em relação a pelo menos um outro quadro. Os quadros previstos podem ser codificados em relação
Petição 870190096343, de 26/09/2019, pág. 50/147
44/52 a um ou mais quadros intracodificados e/ou um ou mais quadros previstos. Os quadros previstos podem ser quadros que são codificados apenas em relação a um ou mais quadros anteriores (isto é, temporalmente anteriores no item de video) ou podem ser, por exemplo, quadros bidirecionalmente previstos que são codificados em relação a um ou mais quadros anteriores e em relação a um ou mais quadros posteriores (isto é, em relação a quadros tanto antes como após o quadro atual) . A codificação de video pode ser uma codificação de video H.264 ou H.265.
[0150] Em muitas modalidades, pode ser particularmente vantajoso que o processo de codificação use apenas quadros I (imagens de quadros intracodifiçados) em conjunto com quadros de B (quadros bidirecionalmente previstos). Isso pode resultar em geração de baixa latência das imagens de visualização em muitas modalidades.
[0151] Dessa forma, os itens de video podem ser itens de video codificados que compreendem quadros intracodifiçados e quadros previstos/intercodifiçados. Os quadros previstos podem, em algumas modalidades, ser apenas quadros bidirecionalmente previstos/quadros codificados. Consequentemente, a geração da imagem de visualização pode incluir o gerador de imagens 111 que decodifica o quadro (ou quadros) que é usado para gerar a imagem de visualização.
[0152] Em particular, a abordagem descrita busca fornecer captura, armazenamento e reprodução eficientes de visualizações de um ambiente virtual com base em um conjunto de uma pluralidade de rotas. O uso de itens de video em vez de imagens individuais reduz os requisitos de armazenamento, requisitos de largura de banda de comunicação, etc. Isso é possível, uma vez que a codificação de vídeo tende a ser muito mais eficiente do que a codificação de imagens separadas. Especialmente o uso de quadros previstos pode reduzir muito significativamente a quantidade de dados necessários para
Petição 870190096343, de 26/09/2019, pág. 51/147
45/52 representar um quadro. Entretanto, o uso de capturas e codificação de video é contraintuitivo para representar um ambiente virtual no qual o usuário pode se mover livremente. Por exemplo, em tais situações, o usuário pode se mover na direção oposta daquela na qual o video foi capturado, e, dessa forma, não apenas não seguindo, mas até mesmo sendo diretamente oposto às relações espaciais e temporais do conteúdo de video. Entretanto, os inventores perceberam que a abordagem pode fornecer uma operação muito eficiente.
[0153] A abordagem descrita de seleção baseada em rotas com uma tendência de permanecer na mesma rota possibilita uma operação aprimorada. Em particular, os inventores perceberam que essa tendência (além de resultar em qualidade de síntese de visualização mais temporalmente estável) resulta em um requisito de largura de banda muito reduzido (taxa de dados reduzida para recuperar/comunicar o quadro) devido ao quadros que correspondem aos pontos de visualização de usuário serem interconectados (previstos) quando o usuário continua a ser vinculado à mesma rota ao invés de alternar para uma outra rota (isto é, quando a seleção da rota muda de uma para outra) .
[0154] Em muitas modalidades, a seleção pode levar a codificação de vídeo em consideração ao selecionar a rota. Especificamente, em muitas modalidades, o seletor 107 pode ser disposto para reduzir a tendência em favor da rota atualmente selecionada para indicações de posição de observador que correspondem aos quadros intracodifiçados. O seletor 107 pode ser disposto para reduzir a tendência em favor da rota atualmente selecionada para indicações de posição de observador que correspondem aos quadros intracodifiçados em relação às indicações de posição de observador que correspondem aos quadros intercodifiçados (previstos). Dessa forma, pode ser mais provável que o seletor selecione uma nova rota ao invés de
Petição 870190096343, de 26/09/2019, pág. 52/147
46/52 continuar na mesma rota quando a posição de observador corresponder a um quadro intercodificado/previsto.
[0155] A estrutura considerada (que afeta a tendência) , em algumas modalidades, pode ser um quadro da rota atualmente/anteriormente selecionada ou pode ser um quadro da nova rota candidata. Dessa forma, a estrutura pode ser uma estrutura que será usada para gerar a imagem de visualização para a rota atualmente/anteriormente selecionada (se essa for selecionada), ou pode ser um quadro que será usado para gerar a imagem de visualização para a rota candidata se essa for selecionada. Assim, o quadro pode ser o quadro da rota atualmente selecionada ou da primeira rota (a rota que está selecionada). Em muitas modalidades, a tendência pode ser reduzida tanto para o quadro alvo/candidato que é um quadro intracodifiçado como para o quadro de rota atualmente/anteriormente selecionada que é um quadro intracodifiçado.
[0156] O quadro (ou quadros) correspondente para uma indicação de posição de observador pode ser um quadro (ou quadros) de uma dada rota que será usada para gerar uma imagem de visualização para a indicação de posição de observador se a dada rota for selecionada. Um quadro correspondente pode, tipicamente, ser o quadro na dada rota mais próxima à pose/posição indicada pela indicação de posição de observador (tipicamente com o uso da métrica de distância também usada para selecionar a rota).
[0157] Em muitas modalidades, o primeiro quadro pode ser selecionado como um quadro intracodifiçado que segue uma alternância de uma rota para outra rota. Consequentemente, quando alterna para uma nova rota, o gerador de imagens 111 pode prosseguir para selecionar primeiro um intraquadro e usálo para gerar a imagem de visualização.
[0158] Em muitas modalidades, essas abordagens podem ser usadas para estabelecer enlaces entre diferentes
Petição 870190096343, de 26/09/2019, pág. 53/147
47/52 rotas. Por exemplo, a Figura 9 ilustra duas rotas 901, 903 com uma pluralidade de posições associadas aos quadros intracodifiçados (indicados por círculos pequenos). Em tal modalidade, a tendência de permanecer na mesma rota pode ser reduzida para os quadros intracodifiçados e o quadro selecionado para a nova rota pode corresponder a outro quadro intracodifiçado. Em particular, a tendência em favor da rota atual pode ser reduzida (tipicamente muito substancialmente) para alternâncias de rota que ocorrem entre dois quadros intracodifiçados. Dessa forma, saltos tendem a ocorrer entre quadros intracodifiçados conforme indicado pelas setas na Figura 9.
[0159] Na prática, isso pode ser obtido mediante a inclusão de tais considerações no gráfico que representa as rotas conforme anteriormente descrito. De fato, em tal gráfico podem ser criados nós perto de cruzamentos/intersecções. Além disso, os nós podem ser selecionados para corresponder a quadros intracodifiçados com os segmentos entre os mesmos correspondendo aos quadros intercodifiçados. Podem então ser fornecidos dados adicionais que vinculam tais nós, por exemplo indicando a relação entre eles (como, por exemplo, cruzamento ou caminho de retorno).
[0160] Conforme descrito mais adiante, o sistema pode gerar especificamente quadros intercodifiçados nas intersecções entre rotas (por exemplo, por transcodificação de um item de vídeo).
[0161] Em muitas modalidades, além disso, pode ser preferencial o uso de um número relativamente grande de quadros B entre os quadros I de uma dada rota. Essa abordagem resulta em uma eficiência alta, uma vez que os quadros B (que são quadros residuais após a compensação para a previsão) são frequentemente mais compactados que os quadros I. O uso de um alto número de quadros B é tipicamente aceitável devido à alta coerência entre
Petição 870190096343, de 26/09/2019, pág. 54/147
48/52 posições de câmera adjacentes em uma cena estática. Ter um grande número de quadros B entre quadros I também é atraente para reprodução de video, uma vez que menos quadros I precisam ser decodificados para um dado movimento do usuário.
[0162] No entanto, a fim de atenuar desvantagens potenciais ao uso de um grande número de quadros B ao alterar itens de video devido à seleção de uma nova rota, a abordagem pode usar uma alocação seletiva de quadros I.
[0163] Em muitas modalidades, os quadros I podem ser gerados e incluídos nos itens de vídeo para intersecções. Dessa forma, quadros associados a intersecções podem ser codificados como quadros I. Essa abordagem pode fornecer desempenho particularmente atraente em muitas modalidades, uma vez que pode facilitar a alternância de rotas. De fato, ter quadros de intersecção codificados como quadros I tenderá a resultar na alternância sendo realizada nas intersecções que fornecem itens de vídeo associados que começam e/ou terminam com um quadro I, e assim evitando que para codificar quadros B, quadros I adicionais precisem ser codificados.
[0164] De fato, se um quadro de intersecção for codificado como um quadro I, o mesmo quadro I pode ser potencialmente usado tanto para a rota anteriormente selecionada como para a rota recém-selecionada. Dessa forma, um quadro I da rota anteriormente selecionada pode ser usado em conjunto com um quadro I para a rota recém-selecionada a fim de decodificar um quadro B da rota recém-selecionada. Em algumas modalidades, isso pode ser obtido com o uso de um quadro I da rota anterior que não se situa exatamente em um ponto de intersecção, mas está potencialmente perto do mesmo e, consequentemente, fornece uma estimativa razoável. No entanto, em uma abordagem preferencial, o quadro I da rota anteriormente selecionada pode ser um quadro em uma intersecção e, de fato, o quadro I podería até mesmo ser um quadro comum
Petição 870190096343, de 26/09/2019, pág. 55/147
49/52 para o item de video associado à rota anteriormente selecionada e para o item de video associado à rota recém-selecionada.
[0165] Em muitas modalidades, a organização e estrutura vantajosas dos quadros B e dos quadros I podem ser implementadas. Por exemplo, o servidor 203 pode fornecer primeiro quadros I adequados. Esses podem ser decodificados pelo dispositivo cliente 201 mesmo se não diretamente associados à indicação de posição de observador atual. No entanto, os quadros I decodificado podem então fornecer quadros de referência que possibilitam a decodificação rápida de quadros B adequados quando estes são selecionados pelo gerador de imagens 111 a ser usado para a geração da imagem de visualização.
[0166] De fato, em muitas modalidades, uma abordagem de codificação de video hierárquica pode ser usada onde quadros B são dispostos em uma estrutura hierárquica, de modo que alguns quadros B possam ser adicionalmente usados como quadros de referência para outros quadros B. Em tais casos, os quadros B adequados podem ser adicionalmente decodificados em prontidão para serem usados como quadros de referência para outros quadros B.
[0167] Dessa forma, em algumas modalidades, o recuperador 109 pode então compreender um decodificador que decodifica vários quadros I e potencialmente quadros B em prontidão para que estes sejam usados para decodificação de outros quadros B que foram codificados em relação a esses quadros.
[0168] Consequentemente, em algumas modalidades uma ordenação hierarquia de quadros B pode ser empregada permitindo o acesso aleatório e reprodução bidirecional do video, mantendo, ao mesmo tempo a alta eficiência de codificação e evitando uma grande fração de quadros I. Por exemplo, em todos os momentos, o decodificador pode ter pelo menos dois quadros I e um número (0 ou mais) de quadros B
Petição 870190096343, de 26/09/2019, pág. 56/147
50/52 prontos (descriptografados e decodificados) para serem usados como referência para decodificar quadros B.
[0169] Tais abordagens podem ser suportadas por esquemas de codificação de video mais recentes como H.264/MPEG4 AVC e HEVC.
[0170] Será reconhecido que, embora a descrição acima tenha tido como foco uma abordagem de cliente-servidor, conforme exemplificado pela Figura 2, os conceitos não são limitados a essa configuração, mas são igualmente adequados para muitas outras disposições e distribuições de funcionalidade. Por exemplo, em algumas modalidades, o armazenamento de video que armazena os itens de video pode ser um armazenamento local e o recuperador 109 pode recuperar o vídeo a partir do armazenamento local. Em algumas modalidades, a abordagem pode ser usada em um único dispositivo autônomo que armazena tanto os itens de vídeo como os dados de rota e gera as imagens de visualização em resposta a uma indicação de posição de observador recebida.
[0171] Será reconhecido que, para maior 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 adequados para fornecer a funcionalidade descrita e não como indicativas de uma estrutura ou organização lógica ou física estrita.
Petição 870190096343, de 26/09/2019, pág. 57/147
51/52 [0172] A invenção pode ser implementada em qualquer forma adequada, incluindo hardware, software, firmware ou qualquer combinação dos mesmos. A invenção pode, opcionalmente, ser 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 física, funcional e logicamente implementados 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.
[0173] Embora a presente invenção tenha sido descrita em conexão com algumas modalidades, não se pretende limitá-la à forma específica aqui apresentada. Ao invés 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 específicas, o 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.
[0174] Além disso, embora individualmente mencionados, uma pluralidade de meios, elementos, circuitos 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 na limitação a tal
Petição 870190096343, de 26/09/2019, pág. 58/147
52/52 categoria, mas, ao invés 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. APARELHO, caracterizado por compreender:
    um armazenamento (101) para armazenar um conjunto de rotas em um espaço N-dimensional que representa poses espaciais, sendo que o conjunto de rotas compreende uma pluralidade de rotas e cada rota do conjunto de rotas descreve uma trajetória de poses de câmera através do espaço Ndimensional e é vinculado a um item de vídeo que inclui quadros que compreendem tanto informações de imagem como de profundidade para as poses de câmera da rota;
    uma entrada (105) para receber uma indicação de posição de observador;
    um seletor (107) para selecionar uma primeira rota do conjunto de rotas em resposta a um critério de seleção que depende de uma métrica de distância, que por sua vez depende da indicação de posição de observador e de posições das rotas do conjunto de rotas;
    um recuperador (103, 109) para recuperar um primeiro item de vídeo associado à primeira rota a partir de uma fonte de vídeo (203);
    um gerador de imagens (111) para gerar pelo menos uma imagem de visualização para a indicação de posição de observador a partir de um primeiro conjunto de quadros a partir do primeiro item de vídeo;
    sendo que o critério de seleção tende em favor de uma rota atualmente selecionada em relação a outras rotas do conjunto de rotas.
  2. 2. APARELHO, de acordo com a reivindicação 1, caracterizado pelo gerador de imagem (111) ser disposto para selecionar os primeiros quadros em resposta aos dados de
    Petição 870190096343, de 26/09/2019, pág. 60/147
    2/5 posição de rota para quadros do primeiro item de vídeo em relação à indicação de posição de observador.
  3. 3. APARELHO, de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado pelo gerador de imagem (111) ser disposto para, se a primeira rota for selecionada como a rota atualmente selecionada, tender a seleção do primeiro conjunto de quadros em favor de quadros que têm uma menor distância temporal até um primeiro conjunto de quadros atualmente selecionado do primeiro item de vídeo.
  4. 4. APARELHO, de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado pelo gerador de imagem (111) ser disposto para, se a primeira rota for selecionada como a rota atualmente selecionada, executar a seleção do primeiro conjunto de quadros com base em uma métrica de seleção de quadro que aumenta com uma distância temporal decrescente até um quadro atualmente selecionado do primeiro item de vídeo.
  5. 5. APARELHO, de acordo com a reivindicação 1, caracterizado pelo armazenamento (101) ser adicionalmente disposto para armazenar posições de intersecção para rotas das sequências de vídeo; e sendo que o critério de seleção é dependente das posições de intersecção.
  6. 6. APARELHO, de acordo com a reivindicação 5, caracterizado pelo seletor (107) ser disposto para reduzir a tendência em favor da rota atualmente selecionada para indicações de posição de observador que correspondem às posições de intersecção.
  7. 7. APARELHO, de acordo com a reivindicação 5, caracterizado pela tendência em favor da rota atualmente
    Petição 870190096343, de 26/09/2019, pág. 61/147
    3/5 selecionada ser dependente de uma distância entre a indicação de posição de observador e posições de intersecção.
  8. 8. APARELHO, de acordo com qualquer uma das reivindicações 5 a 7, caracterizado pelo armazenamento (101) ser disposto para armazenar um gráfico que tem intersecções como nós e rotas refletidas por bordas.
  9. 9. APARELHO, de acordo com qualquer uma das reivindicações 5 a 8, caracterizado pelos quadros associados às posições de intersecção para ao menos algumas sequências de vídeo serem quadros intracodifiçados.
  10. 10. APARELHO, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo gerador de imagens ser disposto para gerar a imagem de visualização de ao menos um primeiro quadro do primeiro conjunto de quadros e um segundo quadro a partir de um item de vídeo ligado a uma segunda rota anteriormente selecionada.
  11. 11. APARELHO, de acordo com a reivindicação 10, conforme dependente de qualquer das reivindicações 5 a 9, caracterizado pelo segundo quadro ser um quadro associado a uma intersecção entre a primeira rota e a segunda rota anteriormente selecionada.
  12. 12. APARELHO, de acordo com a reivindicação 1, caracterizado pelo armazenamento (101) ser adicionalmente disposto para armazenar dados de relação indicativos de uma relação espacial entre as rotas do conjunto de rotas, e a seleção da primeira rota ser feita em resposta aos dados de relação.
  13. 13. APARELHO, de acordo com a reivindicação 12, caracterizado pelos dados de relação poderem ser indicativos de pelo menos uma relação espacial entre duas rotas a partir do grupo de:
    Petição 870190096343, de 26/09/2019, pág. 62/147
    4/5
    - um cruzamento das duas rotas;
    - uma junção das duas rotas;
    uma primeira rota dentre as duas rotas que corresponde a uma direção de movimento oposta a uma segunda rota dentre as duas rotas; e
    - as duas rotas sendo paralelas.
  14. 14. APARELHO, de acordo com qualquer uma das reivindicações 1 a 13, caracterizado pelos itens de vídeo serem itens de vídeo codificados que compreendem tanto quadros intracodifiçados como quadros intercodificados, e o seletor ser disposto para reduzir a tendência em favor da rota atualmente selecionada para indicações de posição de observador que correspondem aos quadros intracodifiçados em relação às indicações de posição de observador que correspondem aos quadros intercodifiçados.
  15. 15. MÉTODO, caracterizado por compreender:
    armazenar um conjunto de rotas em um espaço Ndimensional que representa poses espaciais, sendo que o conjunto de rotas compreende uma pluralidade de rotas e cada rota do conjunto de rotas descreve uma trajetória de poses de câmera através do espaço N-dimensional e é vinculado a um item de vídeo que inclui quadros que compreendem tanto informações de imagem como de profundidade para as poses de câmera da rota;
    receber uma indicação de posição de observador;
    selecionar uma primeira rota do conjunto de rotas em resposta a um critério de seleção que depende de uma métrica de distância, que por sua vez depende da indicação de posição de observador e de posições das rotas do conjunto de rotas;
    recuperar um primeiro item de vídeo associado à primeira rota a partir de uma fonte de vídeo;
    Petição 870190096343, de 26/09/2019, pág. 63/147
    5/5 gerar ao menos uma imagem de visualização para a indicação de posição de observador a partir de um primeiro conjunto de quadros a partir do primeiro item de video;
    sendo que o critério de seleção tende em favor de uma rota atualmente selecionada em relação a outras rotas do conjunto de rotas.
BR112019020155A 2017-03-29 2018-03-02 aparelho e método BR112019020155A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17163509.7A EP3383035A1 (en) 2017-03-29 2017-03-29 Image generation from video
PCT/EP2018/055183 WO2018177681A1 (en) 2017-03-29 2018-03-02 Image generation from video

Publications (1)

Publication Number Publication Date
BR112019020155A2 true BR112019020155A2 (pt) 2020-04-22

Family

ID=58672281

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019020155A BR112019020155A2 (pt) 2017-03-29 2018-03-02 aparelho e método

Country Status (9)

Country Link
US (1) US10931928B2 (pt)
EP (2) EP3383035A1 (pt)
JP (1) JP7138653B2 (pt)
KR (1) KR102464524B1 (pt)
CN (1) CN110679146B (pt)
BR (1) BR112019020155A2 (pt)
RU (1) RU2760228C2 (pt)
TW (1) TWI757455B (pt)
WO (1) WO2018177681A1 (pt)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11259006B1 (en) 2019-01-08 2022-02-22 Avegant Corp. Encoded depth data for display
US10929982B2 (en) * 2019-01-25 2021-02-23 Google Llc Face pose correction based on depth information
US10771272B1 (en) 2019-11-01 2020-09-08 Microsoft Technology Licensing, Llc Throttling and prioritization for multichannel audio and/or multiple data streams for conferencing

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348165A (ja) * 1999-06-04 2000-12-15 Mitsubishi Electric Corp 情景表示装置
JP3561446B2 (ja) * 1999-08-25 2004-09-02 日本電信電話株式会社 画像生成方法及びその装置
JP2001086375A (ja) * 1999-09-09 2001-03-30 Matsushita Electric Ind Co Ltd 回転台付カメラ
US20040032410A1 (en) * 2002-05-09 2004-02-19 John Ryan System and method for generating a structured two-dimensional virtual presentation from less than all of a three-dimensional virtual reality model
JP3983108B2 (ja) * 2002-06-05 2007-09-26 ディー・リンク株式会社 画像の表示方法
US8027531B2 (en) * 2004-07-21 2011-09-27 The Board Of Trustees Of The Leland Stanford Junior University Apparatus and method for capturing a scene using staggered triggering of dense camera arrays
JP4502919B2 (ja) * 2005-10-03 2010-07-14 株式会社ホンダアクセス 車両用表示装置
US8290289B2 (en) * 2006-09-20 2012-10-16 Nippon Telegraph And Telephone Corporation Image encoding and decoding for multi-viewpoint images
KR101409653B1 (ko) * 2007-12-18 2014-06-19 삼성전자주식회사 파노라마 사진 자동 촬영 방법
WO2010134502A1 (ja) * 2009-05-18 2010-11-25 小平アソシエイツ株式会社 画像情報出力方法
US9264695B2 (en) * 2010-05-14 2016-02-16 Hewlett-Packard Development Company, L.P. System and method for multi-viewpoint video capture
CN102496331A (zh) 2011-12-01 2012-06-13 李勇 一种景区的虚拟互动展示方法
JP6025433B2 (ja) 2012-07-17 2016-11-16 株式会社ゼンリンデータコム 携帯ナビゲーション装置
US20140267589A1 (en) 2013-03-14 2014-09-18 Dai Nippon Printing Co., Ltd. Free viewpoint video display apparatus
JP6593786B2 (ja) 2015-02-23 2019-10-23 株式会社グッドワークコミュニケーションズ 道案内サーバ、道案内プログラム
US20160330408A1 (en) * 2015-04-13 2016-11-10 Filippo Costanzo Method for progressive generation, storage and delivery of synthesized view transitions in multiple viewpoints interactive fruition environments
CN105021225B (zh) * 2015-07-08 2017-07-14 江苏大学 一种温室智能移动检测平台
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
US9916703B2 (en) * 2015-11-04 2018-03-13 Zoox, Inc. Calibration for autonomous vehicle operation
US10248119B2 (en) * 2015-11-04 2019-04-02 Zoox, Inc. Interactive autonomous vehicle command controller
US10401852B2 (en) * 2015-11-04 2019-09-03 Zoox, Inc. Teleoperation system and method for trajectory modification of autonomous vehicles
US10317900B2 (en) * 2016-05-13 2019-06-11 GM Global Technology Operations LLC Controlling autonomous-vehicle functions and output based on occupant position and attention
WO2018060334A1 (en) 2016-09-29 2018-04-05 Koninklijke Philips N.V. Image processing

Also Published As

Publication number Publication date
US10931928B2 (en) 2021-02-23
US20200045287A1 (en) 2020-02-06
TWI757455B (zh) 2022-03-11
WO2018177681A1 (en) 2018-10-04
JP7138653B2 (ja) 2022-09-16
EP3603053B1 (en) 2023-07-12
EP3383035A1 (en) 2018-10-03
CN110679146B (zh) 2022-05-03
TW201904277A (zh) 2019-01-16
CN110679146A (zh) 2020-01-10
RU2019134387A (ru) 2021-04-29
KR102464524B1 (ko) 2022-11-07
RU2760228C2 (ru) 2021-11-23
KR20190135502A (ko) 2019-12-06
RU2019134387A3 (pt) 2021-04-29
EP3603053A1 (en) 2020-02-05
JP2020515977A (ja) 2020-05-28

Similar Documents

Publication Publication Date Title
JP7217713B2 (ja) バーチャル・リアリティ・データをカスタマイズするための方法及びシステム
TWI787429B (zh) 用於產生影像資料位元流的設備及方法
JP7378465B2 (ja) ビデオストリームを生成及びレンダリングするための装置及び方法
CN105144728B (zh) 通过http的动态自适应流式传输中面对丢失的媒体分段的恢复力
BR112019020155A2 (pt) aparelho e método
JP7480065B2 (ja) 画像データストリームを生成するための装置および方法
TWI831796B (zh) 用於產生場景之影像的設備及方法
US10412412B1 (en) Using reference-only decoding of non-viewed sections of a projected video
BR112021005393A2 (pt) aparelho de síntese de imagens, aparelho para gerar um fluxo de dados de imagem, método para sintetizar uma imagem, método para gerar um fluxo de dados de imagem e produto de programa de computador
BR122021006807B1 (pt) Método para experiências de entretenimento aumentadas em camadas
Tang et al. A universal optical flow based real-time low-latency omnidirectional stereo video system
EP3635958B1 (en) Image processing device and system
BR112020011762A2 (pt) métodos e dispositivos para codificação e decodificação de uma sequência multivisualizações do vídeo representativa de um vídeo onidirecional
CN113767423A (zh) 生成图像信号的装置和方法

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]