BR112020025897A2 - Aparelho e método para gerar um fluxo de dados de imagem representando vistas de uma cena tridimensional - Google Patents

Aparelho e método para gerar um fluxo de dados de imagem representando vistas de uma cena tridimensional Download PDF

Info

Publication number
BR112020025897A2
BR112020025897A2 BR112020025897-0A BR112020025897A BR112020025897A2 BR 112020025897 A2 BR112020025897 A2 BR 112020025897A2 BR 112020025897 A BR112020025897 A BR 112020025897A BR 112020025897 A2 BR112020025897 A2 BR 112020025897A2
Authority
BR
Brazil
Prior art keywords
image data
visual attention
scene
region
pose
Prior art date
Application number
BR112020025897-0A
Other languages
English (en)
Inventor
Wilhelmus Hendrikus Alfonsus Bruls
Bart Kroon
Original Assignee
Koninklijke Philips N.V.
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 N.V. filed Critical Koninklijke Philips N.V.
Publication of BR112020025897A2 publication Critical patent/BR112020025897A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • 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
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/302Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

a invenção se refere a um aparelho para gerar um fluxo de dados de imagem representando vistas de uma cena, por exemplo para uma aplicação de realidade virtual. o aparelho compreende um receptor (203) que recebe uma indicação do olhar indicativa tanto de uma pose da cabeça como de uma pose relativa dos olhos de um observador. a pose da cabeça inclui uma posição da cabeça e a pose relativa dos olhos é indicativa de uma pose dos olhos em relação à pose da cabeça. um determinador (205) determina uma região de atenção visual tipicamente pequena/estreita na cena que corresponde à indicação do olhar. especificamente, uma região ao redor de um ponto do olhar pode ser identificada. um gerador (209) gera o fluxo de dados de imagem para compreender dados de imagem para a cena para ter um nível de qualidade/taxa de dados mais alto(a) para a região de atenção visual do que fora da região de atenção visual.

Description

APARELHO E MÉTODO PARA GERAR UM FLUXO DE DADOS DE
IMAGEM REPRESENTANDO VISTAS DE UMA CENA TRIDIMENSIONAL Campo da invenção
[001] A invenção se refere a um aparelho e um método para gerar um fluxo de dados de imagem e em particular, mas não exclusivamente, à geração de um fluxo de dados de imagem para uma aplicação de realidade virtual que acessa uma cena. Antecedentes da invenção
[002] A variedade e o alcance de aplicações de imagem e vídeo aumentaram substancialmente nos últimos anos com novos serviços e maneiras de usar e consumir vídeo 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 e a direção de observaçã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, com o modelo sendo calculado dinamicamente para fornecer a visualização específica 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.
[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 experimente 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 exemplo de uma aplicação, óculos de realidade virtual foram introduzidos no mercado. Esses óculos possibilitam que os observadores tenham uma experiência de vídeo (panorâmico) capturado em 360 graus. Esses vídeos 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 vídeo 360 são superior/inferior e esquerda/direita. De forma similar ao vídeo estéreo não panorâmico, as imagens do olho esquerdo e do olho direito são compactadas como parte de um único fluxo de vídeo H.264. Depois de decodificar um único quadro, o observador gira a cabeça para ver o mundo em torno dele. Um exemplo é uma gravação onde 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 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 poderia 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 poderia 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.
[011] 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 observaçã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/vistas individuais.
[012] Em muitas aplicações, e especificamente para aplicações de realidade virtual, um fluxo de dados de imagem é gerado a partir de dados que representam a cena, de modo que o fluxo de dados de imagem reflita a posição (virtual) do usuário na cena. Tal fluxo de dados de imagem é tipicamente gerado dinamicamente e em tempo real de modo a refletir o movimento do usuário dentro da cena virtual. O fluxo de dados de imagem pode ser fornecido para um renderizador que renderiza imagens para o usuário a partir dos dados de imagem do fluxo de dados de imagem. Em muitas aplicações, o fornecimento do fluxo de dados de imagem para o renderizador é feito através de um link de comunicação de largura de banda limitada. Por exemplo, o fluxo de dados de imagem pode ser gerado por um servidor remoto e transmitido para o dispositivo de renderização, por exemplo em uma rede de comunicação.
[013] No entanto, um problema com tais aplicações é, por exemplo, que elas exigem uma taxa de dados muito alta para a maioria das aplicações práticas. Por exemplo,
foi proposto fornecer uma experiência de realidade virtual baseada em transmissão de vídeo por “streaming” de 360 graus onde uma vista completa de 360 graus de uma cena é fornecida por um servidor para uma dada posição do observador permitindo assim que o cliente gere vistas para diferentes direções. Entretanto, isso resulta em uma taxa de dados extremamente alta que não é desejável ou não está disponível na maioria das aplicações práticas.
[014] Especificamente, uma das aplicações promissoras da realidade virtual (RV) é o vídeo omnidirecional (por exemplo, VR360 ou VR180). Aqui, o vídeo completo visto a partir de um ponto de visualização específico é mapeado em uma (ou mais) janelas retangulares (por exemplo, com o uso de uma projeção ERP). O MPEG (Moving Picture Experts Group) padronizou essa abordagem e previu também que no futuro ela levará a taxas de dados muito altas.
[015] Foi proposto dividir a esfera de visão em alguns ladrilhos (de “tiles”, ou, regiões espaciais autodecodificáveis) predeterminados e então transmiti-los para o cliente em diferentes níveis de qualidade. No entanto, isto ainda tipicamente resulta em uma taxa de dados muito alta e adicionalmente tende a degradar a qualidade que se obtém para as imagens renderizadas apresentadas ao usuário. Para os formatos VR360 e VR180 do MPEG, é possível solicitar apenas a parte (‘ladrilho’) para a qual um observador está olhando (naquele momento) com máxima resolução e qualidade e com a parte restante (o ambiente circundante) em baixa resolução. Entretanto, isto ainda exige uma alta taxa de dados e como o ângulo de visão de típicos óculos/headset de realidade virtual é bastante elevado (~100 graus horizontalmente) em comparação,
por exemplo, com o de HDTV (~30 graus horizontalmente), a taxa de dados de vídeo será também muito mais elevada (por exemplo, 10 vezes mais) do que para HDTV.
[016] Portanto, uma abordagem aprimorada seria vantajosa. Em particular, seria vantajosa uma abordagem que possibilite uma operação otimizada, maior flexibilidade, uma experiência aprimorada 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. Sumário da invenção
[017] Consequentemente, a invenção busca, de preferência, mitigar, aliviar ou eliminar uma ou mais das desvantagens mencionadas acima, individualmente ou em qualquer combinação.
[018] De acordo com um aspecto da invenção, é apresentado um aparelho para gerar um fluxo de dados de imagem representando vistas de uma cena tridimensional, sendo que o aparelho compreende: um receptor para receber uma indicação do olhar indicativa tanto de uma pose da cabeça como de uma pose relativa dos olhos de um observador, a pose da cabeça incluindo uma posição da cabeça e a pose relativa dos olhos sendo indicativa de uma pose dos olhos em relação à pose da cabeça; um determinador para determinar uma região de atenção visual tendo uma localização tridimensional na cena tridimensional correspondente à indicação do olhar; um gerador para gerar o fluxo de dados de imagem para compreender dados de imagem para a cena, sendo que os dados de imagem são gerados de modo a incluir ao menos primeiros dados de imagem para a região de atenção visual e segundos dados de imagem para a cena fora da região de atenção visual; sendo que o gerador é disposto para gerar os dados de imagem para ter um nível de qualidade mais alto para os primeiros dados de imagem do que para os segundos dados de imagem; e sendo que o determinador é disposto para determinar a região de atenção visual em resposta a uma indicação de distância do olhar da indicação do olhar.
[019] A invenção pode fornecer dados de imagem aprimorados e/ou mais práticos para uma cena em muitas modalidades. A abordagem pode em muitas modalidades fornecer dados de imagem altamente adequados para aplicações de realidade virtual (RV) flexíveis, eficientes e de alto desempenho. Em muitas modalidades, a abordagem pode possibilitar ou habilitar uma aplicação de RV com um equilíbrio substancialmente aprimorado entre a qualidade da imagem e a taxa de dados. Em muitas modalidades, ela pode possibilitar uma qualidade de imagem percebida melhorada e/ou uma taxa de dados reduzida. A abordagem pode ser particularmente adequada para, por exemplo, aplicações de RV nas quais os dados que representam uma cena são armazenados centralmente e potencialmente suportam uma pluralidade de clientes de RV remotos.
[020] A indicação do olhar pode ser indicativa de um ponto do olhar de um observador. A pose da cabeça e a pose relativa dos olhos em combinação podem corresponder a um ponto do olhar, e a indicação do olhar pode, por exemplo, indicar uma posição na cena correspondente a esse ponto do olhar.
[021] Em muitas modalidades, a região de atenção visual pode ser uma região correspondente ao ponto do olhar. Especificamente, a região de atenção visual pode ser determinada como uma região da cena que satisfaz um critério com relação a um ponto do olhar indicado pela indicação do olhar. O critério pode ser, por exemplo, um requisito de proximidade.
[022] O fluxo de dados de imagem pode compreender dados de vídeo para janelas de visão correspondente à pose da cabeça. Os primeiros e os segundos dados de imagem podem ser dados de imagem para as janelas de visão. Os segundos dados podem ser dados de imagem para pelo menos parte de uma imagem que corresponde a uma área de visualização a partir da pose da cabeça.
[023] O fluxo de dados de imagem pode ser um fluxo contínuo de dados e pode ser, por exemplo, um fluxo de imagens de vista e/ou um fluxo de dados tridimensionais. O nível de qualidade de imagem em muitas modalidades pode ser igual a uma taxa de dados (espacial e/ou temporal). Especificamente, o gerador pode ser disposto para gerar os dados de imagem para ter um nível de qualidade mais alto para os primeiros dados de imagem do que para os segundos dados de imagem no sentido de que ele pode ser disposto para gerar os dados de imagem para ter uma taxa de dados mais alta para os primeiros dados de imagem do que para os segundos dados de imagem.
[024] A região de atenção visual pode ser uma região tridimensional na cena. A indicação do olhar pode incluir uma indicação de uma distância a partir de uma posição da pose da cabeça a um ponto do olhar. O determinador pode ser disposto para determinar uma distância até a região de atenção visual (a partir da posição do observador) e o gerador pode ser disposto para determinar os primeiros dados em resposta à distância.
[025] A indicação de distância do olhar da indicação do olhar pode ser indicativa de uma distância a partir da pose da cabeça/pose do observador até o ponto do olhar. O determinador pode ser disposto para determinar a região de atenção visual em resposta ao conteúdo da cena correspondente à indicação do olhar.
[026] A cena pode ser uma cena virtual e pode ser especificamente uma cena virtual artificial, ou pode, por exemplo, ser uma cena capturada do mundo real, ou uma cena de realidade aumentada.
[027] De acordo com um recurso opcional da invenção, o determinador é disposto para determinar a região de atenção visual para ter uma extensão em pelo menos uma direção de não mais de 10 graus para a pose da cabeça.
[028] Isso pode proporcionar desempenho aprimorado em muitas modalidades. A região de atenção visual pode ser determinada para ter uma extensão muito pequena e especificamente para ser muito menor do que o ângulo de visão de um usuário, e muito menor do que típicos ângulos de visão de tela quando usada para apresentar imagens de uma cena para um usuário. Por exemplo, headsets de RV tipicamente fornecem ângulos de visão de cerca de 100 graus. Os inventores observaram que a qualidade percebida da imagem não será (significativa, típica ou visivelmente) afetada por um nível de qualidade que é reduzido fora de um ângulo de visão estreito.
[029] Em algumas modalidades, o determinador pode ser disposto para determinar a região de atenção visual para ter uma extensão horizontal de não mais que 10 graus para a pose da cabeça. Em algumas modalidades, o determinador pode ser disposto para determinar a região de atenção visual para ter uma extensão vertical de não mais que 10 graus para a pose da cabeça.
[030] De acordo com um recurso opcional da invenção, a região de atenção visual corresponde a um objeto de cena.
[031] Isso pode proporcionar desempenho aprimorado em muitas modalidades.
[032] De acordo com um recurso opcional da invenção, o determinador é disposto para rastrear o movimento do objeto de cena na cena e o determinador é disposto para determinar a região de atenção visual em resposta ao movimento rastreado.
[033] Isso pode proporcionar desempenho aprimorado em muitas modalidades e pode, em particular, tipicamente permitir que seja determinada uma região de atenção visual que corresponda mais proximamente ao foco atual real do usuário.
[034] De acordo com um recurso opcional da invenção, o determinador é disposto para determinar a região de atenção visual em resposta ao comportamento de visualização armazenado do usuário para a cena.
[035] Isso pode proporcionar desempenho aprimorado em muitas modalidades e pode, em particular, tipicamente permitir que seja determinada uma região de atenção visual que corresponda mais proximamente ao foco atual real do usuário.
[036] De acordo com um recurso opcional da invenção, o determinador é disposto para propender a região de atenção visual em direção a regiões da cena para as quais o comportamento de visualização armazenado do usuário indica uma frequência de visualização mais alta.
[037] Isso pode tipicamente fornecer uma determinação aprimorada da região de atenção visual e pode proporcionar desempenho aprimorado.
[038] O determinador pode ser disposto para propender a região de atenção visual em direção a regiões da cena para as quais o comportamento de visualização armazenado do usuário indica uma frequência de visualização mais alta em relação a regiões da cena para as quais o comportamento de visualização armazenado do usuário indica uma frequência de visualização mais baixa.
[039] Uma frequência de visualização mais alta para uma região/objeto pode refletir que a região/objeto é o foco da atenção visual do usuário mais do que para uma região/objeto para a(o) qual a frequência de visualização é mais baixa.
[040] De acordo com um recurso opcional da invenção, o determinador é disposto para determinar uma região de atenção visual prevista em resposta a dados de relacionamento indicativos de relações de comportamento de visualização anteriores entre diferentes regiões da cena; e sendo que o gerador é disposto para incluir terceiros dados de imagem para a região de atenção visual prevista no fluxo de dados de imagem; e o gerador é disposto para gerar os dados de imagem para ter um nível de qualidade mais alto para os primeiros dados de imagem do que para os segundos dados de imagem fora da região de atenção visual prevista.
[041] Isso pode proporcionar desempenho aprimorado em muitas modalidades. Especificamente, em muitas modalidades isso pode conferir qualidade de imagem percebida aprimorada sem interrupções ou latência para muitos comportamentos típicos de usuário.
[042] O determinador pode ser disposto para determinar uma região de atenção visual prevista em resposta à indicação dos dados de relacionamento de uma alta correlação de vista entre vistas da região de atenção visual atual e da região de atenção visual prevista.
[043] De acordo com um recurso opcional da invenção, os dados de relacionamento são indicativos de mudanças do olhar anteriores realizadas por ao menos um observador; e o determinador é disposto para determinar a região de atenção visual prevista como uma primeira região da cena para a qual os dados de relacionamento são indicativos de uma frequência de mudanças do olhar da região de atenção visual para a primeira região que excede um limiar.
[044] Isso pode proporcionar desempenho aprimorado em muitas modalidades.
[045] De acordo com um recurso opcional da invenção, o determinador é disposto para determinar uma região de atenção visual prevista em resposta a dados de movimento de um objeto de cena correspondente à região de atenção visual; e sendo que o gerador é disposto para incluir terceiros dados de imagem para a região de atenção visual prevista; sendo que o gerador é disposto para gerar os dados de imagem para ter um nível de qualidade mais alto para os terceiros dados de imagem do que para os segundos dados de imagem fora da região de atenção visual prevista.
[046] Isso pode proporcionar desempenho aprimorado em muitas modalidades.
[047] De acordo com um recurso opcional da invenção, o gerador é disposto para gerar o fluxo de dados de imagem como um fluxo de dados de vídeo compreendendo imagens correspondentes a janelas de visão para a pose de visualização.
[048] Isso pode fornecer uma abordagem particularmente vantajosa em muitas modalidades, incluindo muitas modalidades nas quais uma experiência de RV é fornecida a partir de um servidor remoto. Isso pode, por exemplo, reduzir a complexidade no cliente de RV enquanto ainda mantém um requisito de taxa de dados relativamente baixa.
[049] De acordo com um recurso opcional da invenção, o determinador é disposto para determinar uma medida de confiança para a região de atenção visual em resposta a uma correlação entre o movimento da região de atenção visual na cena e mudanças na indicação do olhar; e o gerador é disposto para determinar a qualidade dos primeiros dados de imagem em resposta à medida de confiança.
[050] De acordo com um recurso opcional da invenção, o aparelho compreende um processador de realidade virtual disposto para executar uma aplicação de realidade virtual para a cena virtual, sendo que a aplicação de realidade virtual é disposta para gerar a indicação do olhar e para renderizar uma imagem correspondente a uma janela de visão para o observador a partir do fluxo de dados de imagem.
[051] De acordo com um recurso opcional da invenção, em que o aparelho é adicionalmente disposto para receber a indicação do olhar de um cliente remoto e para transmitir o fluxo de dados de imagem para o cliente remoto.
[052] De acordo com um recurso opcional da invenção, o gerador é disposto para determinar uma janela de visão para os dados de imagem em resposta à pose da cabeça, e para determinar os primeiros dados em resposta à janela de visão.
[053] De acordo com um aspecto da invenção, é apresentado um método para gerar um fluxo de dados de imagem representando vistas de uma cena tridimensional, sendo que o método compreende: receber uma indicação do olhar indicativa tanto de uma pose da cabeça como de uma pose relativa dos olhos de um observador, a pose da cabeça incluindo uma posição da cabeça e a pose relativa dos olhos sendo indicativa de uma pose dos olhos em relação à pose da cabeça; determinar uma região de atenção visual tendo uma localização tridimensional na cena tridimensional correspondente à indicação do olhar; gerar o fluxo de dados de imagem para compreender dados de imagem para a cena, sendo que os dados de imagem são gerados de modo a incluir ao menos primeiros dados de imagem para a região de atenção visual e segundos dados de imagem para a cena fora da região de atenção visual; sendo que os dados de imagem têm um nível de qualidade mais alto para os primeiros dados de imagem do que para os segundos dados de imagem; e sendo que a determinação da região de atenção visual compreende determinar a região de atenção visual em resposta a uma indicação de distância do olhar da indicação do olhar.
[054] Esses e outros aspectos, recursos e vantagens da invenção ficarão evidentes e serão elucidados com referência à uma ou mais modalidades descritas a seguir.
Breve descrição dos desenhos
[055] As modalidades da invenção serão descritas, apenas a título de exemplo, com referência aos desenhos, nos quais:
[056] a Figura 1 ilustra um exemplo de uma disposição de cliente-servidor para fornecer uma experiência de realidade virtual;
[057] a Figura 2 ilustra um exemplo de elementos de um aparelho de acordo com algumas modalidades da invenção; e
[058] a Figura 3 ilustra um exemplo de imagens de vista que podem ser geradas por algumas implementações do aparelho da Figura 2. Descrição detalhada das modalidades
[059] 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 estão sendo desenvolvidos serviços 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 virtualmente.
[060] Em muitas aplicações de realidade virtual, uma entrada de pose do observador é determinada pela reflexão da pose de um observador virtual na cena. O aparelho/sistema/aplicação de realidade virtual gera então uma ou mais imagens correspondentes às vistas e janelas de visão da cena para um observador correspondente à pose do observador.
[061] Tipicamente, a aplicação de realidade virtual gera uma saída tridimensional sob a forma de imagens de vista separadas para o olho direito e o olho esquerdo. Essas imagens podem então ser apresentadas ao usuário por meios adequados, como exibições tipicamente individuais dos olhos esquerdo e direito de um headset de RV. Em outras modalidades, a imagem pode, por exemplo, ser apresentada em uma tela autoestereoscópica (caso em que pode ser gerado um número maior de imagens de vista para a pose do observador), ou de fato em algumas modalidades apenas uma única imagem bidimensional pode ser gerada (por exemplo, com o uso de uma tela bidimensional convencional).
[062] A entrada de pose do observador pode ser determinada de modos diferentes em diferentes aplicações. Em muitas modalidades, o movimento físico de um usuário pode ser rastreado diretamente. Por exemplo, uma câmera inspecionando uma área de usuário pode detectar e rastrear a cabeça do usuário (ou mesmo seus olhos). Em muitas modalidades, o usuário pode usar um headset de RV que pode ser rastreado por meios externos e/ou internos. Por exemplo, o headset pode compreender acelerômetros e giroscópios que fornecem informações sobre o movimento e a rotação do headset e, portanto, da cabeça. Em alguns exemplos, o headset de RV pode transmitir Sinais ou compreender identificadores (por exemplo, visuais) que possibilitam que um sensor externo determine o movimento do headset de RV.
[063] Em alguns sistemas, a pose do observador pode ser fornecida por meios manuais, por exemplo, o usuário controlando manualmente um joystick, ou outra entrada manual similar. Por exemplo, o usuário pode mover manualmente o observador virtual ao redor na cena controlando um primeiro joystick analógico com uma mão e controlando manualmente a direção na qual o observador virtual olha movendo manualmente um segundo joystick analógico com a outra mão.
[064] Em algumas aplicações, uma combinação de abordagens manuais e automatizadas pode ser usada para gerar a pose do observador de entrada. Por exemplo, um headset pode rastrear a orientação da cabeça e o movimento/posição do observador na cena pode ser controlado(a) pelo usuário mediante o uso de um joystick.
[065] A geração de imagens tem por base uma representação adequada do mundo/ambiente/cena virtual. Em algumas aplicações, pode ser fornecido um modelo tridimensional completo para a cena e as vistas da cena a partir de uma pose específica do observador pode ser determinada mediante avaliação desse modelo. Em outros sistemas, a cena pode ser representada por dados de imagem correspondentes a vistas capturadas a partir de diferentes poses de captura. Por exemplo, para uma pluralidade de poses de captura, uma imagem esférica completa pode ser armazenada juntamente com dados tridimensionais (de profundidade). Em tais abordagens, imagens de vista para outras poses além das poses de captura podem ser geradas por processamento de imagem tridimensional, como especificamente com o uso de algoritmos de mudança de vista. Em sistemas nos quais a cena é descrita/referenciada por dados de vista armazenados para pontos/posições/poses de visualização distintos, estes podem também ser referidos como pontos/posições/poses de visualização de âncora. Tipicamente, quando um ambiente do mundo real é capturado a partir de imagens de diferentes pontos/posições/poses, estes pontos/posições/poses de captura são também pontos/posições/poses de âncora.
[066] Uma aplicação de RV, consequentemente, fornece (pelo menos) imagens correspondentes a janelas de visão para a cena da pose atual do observador com as imagens sendo atualizadas dinamicamente para refletir mudanças na pose do observador e com as imagens sendo geradas com base em dados que representam a cena/ambiente/mundo virtual.
[067] 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 da direção/orientação, por exemplo de um objeto, uma câmera, uma cabeça ou uma vista, 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).
[068] Muitas aplicações de RV têm como base o fato de uma pose ter 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. Uma pose pode, então, ser representada por um conjunto ou vetor de seis valores representando os seis graus de liberdade e, dessa forma, um vetor de pose pode fornecer uma posição tridimensional e/ou uma indicação de direção tridimensional. Entretanto, será reconhecido que, em outras modalidades, a pose pode ser representada por menos valores.
[069] Um sistema ou entidade que tem como base fornecer o grau máximo de liberdade ao observador é tipicamente conhecido como tendo 6 graus de liberdade (6DoF). Muitos sistemas e entidades fornecem apenas uma orientação ou posição e são tipicamente conhecidos como tendo 3 graus de liberdade (3DoF).
[070] Em alguns sistemas, a aplicação de RV pode ser fornecida localmente para um observador, por exemplo um dispositivo autônomo que não usa, ou sequer tenha qualquer acesso a, quaisquer dados ou processamento remoto de RV. Por exemplo, um dispositivo como um console de jogos pode compreender um armazenamento para armazenar os dados de cena, entrada para receber/gerar a pose do observador, e um processador para gerar as imagens correspondentes a partir dos dados de cena.
[071] Em outros sistemas, a aplicação de RV pode ser implementada e executada remotamente ao observador. Por exemplo, um dispositivo local do usuário pode detectar/receber dados de movimento/pose que são transmitidos para um dispositivo remoto que processa os dados para gerar a pose do observador. O dispositivo remoto pode então gerar imagens de vista adequadas para a pose do observador com base nos dados de cena que descrevem a cena. As imagens de vista são então transmitidas para o observador no dispositivo local onde são apresentadas. Por exemplo, o dispositivo remoto pode gerar diretamente um fluxo de vídeo (tipicamente um fluxo de vídeo estéreo/3D) que é apresentado diretamente pelo dispositivo local. Dessa forma, em tal exemplo, o dispositivo local pode não realizar qualquer processamento de RV, exceto transmitir dados de movimento e apresentar dados de vídeo recebidos.
[072] Os dados de cena podem ser especificamente dados de cena 3D (tridimensional) que descrevem uma cena 3D. A cena 3D pode ser representada por dados de cena 3D que descrevem o conteúdo da cena 3D em referência a um sistema de coordenadas (tipicamente com três eixos ortogonais) da cena.
[073] Em muitos sistemas, a funcionalidade pode ser distribuída em um dispositivo local e um dispositivo remoto. Por exemplo, o dispositivo local pode processar dados de sensor e entrada recebida para gerar poses do observador que são continuamente transmitidas para o dispositivo de RV remoto. O dispositivo de RV remoto pode gerar então as imagens de vista correspondentes e transmiti-las ao dispositivo local para apresentação. Em outros sistemas, o dispositivo de RV remoto pode não gerar diretamente as imagens de vista, mas pode selecionar dados de cena relevantes e transmiti-los para o dispositivo local que poderá então gerar as imagens de vista que serão apresentadas. Por exemplo, o dispositivo de RV remoto pode identificar o ponto de captura mais próximo e extrair os dados de cena correspondentes (por exemplo, dados de imagem esférica e de profundidade a partir do ponto de captura) e transmiti-los ao dispositivo local. O dispositivo local pode então processar os dados de cena recebidos para gerar as imagens para a atual pose de visualização específica. A pose de visualização tipicamente corresponderá à pose da cabeça, e referências à pose de visualização tipicamente podem ser consideradas equivalentes para corresponder às referências à pose da cabeça.
[074] A Figura 1 ilustra o exemplo de um sistema de RV no qual um servidor de RV remoto 101 se comunica com um servidor de RV cliente 103, por exemplo, através de uma rede 105, como a Internet. O servidor 103 pode ser disposto para suportar simultaneamente um número potencialmente grande de dispositivos clientes 101.
[075] Tal abordagem pode, em muitos cenários, fornecer um equilíbrio aprimorado, por exemplo, entre complexidade e demandas de recursos para diferentes dispositivos, requisitos de comunicação etc. Por exemplo, a pose do observador e os dados de cena correspondentes podem ser transmitidos com intervalos maiores com o dispositivo local processando localmente a pose do observador e os dados de cena recebidos para fornecer uma experiência de baixa latência em tempo real. Isso pode, por exemplo, reduzir substancialmente a largura de banda de comunicação necessária enquanto fornece uma experiência de baixa latência e ao mesmo tempo permitir que os dados de cena sejam armazenados centralmente, gerados e mantidos. A abordagem pode, por exemplo, ser adequada para aplicações em que uma experiência de RV é fornecida para uma pluralidade de dispositivos remotos.
[076] A Figura 2 ilustra elementos de um aparelho que pode proporcionar uma experiência aprimorada de realidade virtual em muitos cenários de acordo com algumas modalidades da invenção. O aparelho pode gerar um fluxo de dados de imagem para corresponder a poses do observador com base em dados que caracterizam uma cena.
[077] Em algumas modalidades, o aparelho compreende um processador de entrada de sensor 201 que é disposto para receber dados de sensores que detectam o movimento de um observador ou de equipamentos relacionados ao observador. A entrada de sensor é especificamente disposta para receber dados que são indicativos de uma pose da cabeça de um observador. Em resposta à entrada de sensor, o processador de entrada de sensor 201 é disposto para determinar/estimar uma pose atual da cabeça do observador, conforme será conhecido pelo versado na técnica. Por exemplo, com base em dados dos sensores de aceleração e giroscópico recebidos de um headset, o processador de entrada de sensor 201 pode estimar e rastrear a posição e a orientação do headset e, dessa forma, da cabeça do observador. Alternativa ou adicionalmente, uma câmera pode, por exemplo, ser usada para capturar o ambiente de visualização e as imagens fornecidas pela câmera podem ser usadas para estimar e rastrear a posição e a orientação da cabeça do observador. A descrição a seguir terá como foco modalidades nas quais a pose da cabeça é determinada com seis graus de liberdade, mas será reconhecido que um número menor de graus de liberdade pode ser considerado em outras modalidades.
[078] Além de dados relacionados à pose da cabeça, o processador de entrada de sensor 201 recebe adicionalmente dados de entrada de sensor que são dependentes da pose relativa dos olhos do observador. A partir desses dados, o processador de entrada de sensor 201 pode gerar uma estimativa das uma ou mais poses dos olhos do observador em relação à cabeça. Por exemplo, o headset de RV pode incluir um rastreador de pupila que detecta a orientação de cada olho do usuário em relação ao headset de RV e, dessa forma, em relação à pose da cabeça. Com base nos dados de entrada de sensor dos olhos, o processador de entrada de sensor 201 pode determinar um indicador de pose relativa dos olhos que é indicativo da pose dos olhos do observador em relação à pose da cabeça. Em muitas modalidades, as uma ou mais poses relativas dos olhos podem ser determinadas com seis graus de liberdade, mas será reconhecido que um número menor de graus de liberdade pode ser considerado em outras modalidades. Em particular, o indicador de pose dos olhos pode ser gerado para refletir apenas a orientação dos olhos em relação à cabeça e, portanto, a pose da cabeça. Em particular, isso pode refletir que mudanças na posição do olho/pupila em relação à cabeça tendem a ser relativamente insignificantes.
[079] Como um exemplo específico, o usuário pode usar óculos de RV ou um headset de RV compreendendo sensores de rastreamento infravermelho dos olhos que podem detectar o movimento dos olhos em relação aos óculos/headset.
[080] O processador de entrada de sensor 201 é disposto para combinar o indicador de pose da cabeça e o indicador de pose dos olhos para gerar uma indicação do olhar. O ponto onde os eixos ópticos dos olhos se encontram é conhecido como o ponto do olhar e a indicação do olhar é indicativa desse ponto do olhar. A indicação do olhar pode indicar especificamente uma direção para o ponto do olhar a partir da posição atual do observador e pode tipicamente ser indicativa tanto da direção como da distância até o ponto do olhar. Dessa forma, em muitas modalidades, o indicador do olhar é indicativo de uma distância até o ponto do olhar (em relação à posição do observador).
[081] No exemplo, a indicação do olhar pode ser determinada como ao menos uma direção, e tipicamente como uma posição, do ponto do olhar com base no rastreamento da pose dos olhos e assim determinar a convergência dos eixos ópticos dos olhos.
[082] A cena pode ser tipicamente uma cena 3D com um sistema de coordenadas 3D associado. A cena pode ser representada por dados 3D que fornecem uma descrição 3D do conteúdo da cena. Os dados 3D podem estar associados ao sistema de coordenadas da cena 3D.
[083] A indicação do olhar é indicativa de um ponto do olhar na cena 3D e pode ser especificamente indicativa de um ponto do olhar representado nas coordenadas da cena.
[084] A indicação do ponto do olhar pode ser indicativa de uma posição 3D na cena 3D, e pode ser especificamente indicativa de, ou compreender, três parâmetros de coordenadas que definem uma posição 3D na cena 3D (e os três parâmetros de coordenadas podem representar especificamente coordenadas da cena). Dessa forma, a indicação do ponto do olhar não é meramente uma indicação de uma posição em uma tela ou janela de visão, mas pode definir ou descrever uma posição no sistema de coordenadas da cena 3D.
[085] Dessa forma, a indicação do olhar pode incluir não só informações de azimute e elevação relativas à pose do observador, mas também uma distância. Os comentários fornecidos acima se aplicam, com as devidas modificações, ao próprio ponto do olhar.
[086] O aparelho da Figura 2 compreende adicionalmente um receptor 203 que é disposto para receber a indicação do olhar a partir do processador de entrada de sensor
201. Conforme descrito acima, a indicação do olhar não indica apenas uma pose da cabeça, mas é indicativa também de um ponto do olhar e reflete tanto a posição da cabeça como a pose relativa dos olhos.
[087] O receptor 203 é acoplado a um processador de atenção visual 205 que é disposto para determinar uma região de atenção visual na cena correspondente à indicação do olhar. A região de atenção visual reflete a atenção visual ou foco do observador conforme indicado pela indicação do olhar, isto é, pode-se considerar que ela reflete para onde o observador está “olhando” e concentrando sua atenção visual. A região de atenção visual pode ser considerada como sendo uma região dentro da cena à qual o observador está prestando atenção.
[088] O processador de atenção visual 205 pode determinar uma região na cena que satisfaça um critério relativo à indicação do olhar. Esse critério pode incluir especificamente um critério de proximidade, e esse critério de proximidade pode exigir que uma métrica de distância entre partes da região e um ponto do olhar indicado pela indicação do olhar esteja abaixo de um limiar. Como a região determinada é determinada com base na indicação do olhar, o sistema presume que ela é indicativa de uma probabilidade aumentada de que o usuário esteja concentrando sua atenção nessa região. Consequentemente, em virtude de a região ser determinada tendo em conta a indicação do olhar, ela é considerada útil como uma indicação de uma provável atenção visual do usuário e é, dessa forma, uma região de atenção visual.
[089] A região de atenção visual é uma região da cena 3D e está associada a uma posição/localização na cena 3D. A região de atenção visual pode estar associada a ou ser determinada/definida por ao menos uma posição na cena 3D, e a posição pode ser representada no sistema de coordenadas da cena. A posição pode ser tipicamente representada por ao menos uma posição 3D na cena 3D representada por três coordenadas da cena.
[090] Em muitas modalidades, a região de atenção visual pode ser uma região 3D na cena 3D e pode ser descrita/determinada/definida no sistema de coordenadas da cena 3D. A região de atenção visual é muitas vezes uma região 3D contígua que corresponde, por exemplo, a um objeto de cena.
[091] Dessa forma, a região de atenção visual tem, tipicamente, uma relação 3D com a posição do observador incluindo uma indicação de distância. Como consequência, uma mudança do observador resultará em uma mudança na relação espacial entre a pose do observador e o ponto do olhar, e, portanto, da região de atenção visual, que é diferente do que seria se o ponto do olhar e a região de atenção visual fossem pontos/regiões sobre uma superfície de projeção 2D, independentemente de a superfície de projeção ser plana ou curva (como, por exemplo, uma superfície de projeção).
[092] A região de atenção visual pode tipicamente ser gerada como uma região que compreende o ponto do olhar e é tipicamente gerada como uma região que compreende o ponto do olhar ou que está muito próximo a ele. Será reconhecido que diferentes abordagens e critérios podem ser usados para determinar uma região de atenção visual correspondente ao ponto do olhar. Conforme será descrito em mais detalhes posteriormente, a região de atenção visual pode, por exemplo, ser determinada como um objeto na cena próximo ao ponto do olhar conforme indicado pela indicação do olhar. Por exemplo, se uma distância estimada entre um objeto de cena e o ponto do olhar é menor que um dado limiar e o objeto de cena é o objeto de cena mais próximo a esse ponto do olhar, então esse objeto de cena pode ser determinado como a região de atenção visual.
[093] A região de atenção visual é consequentemente uma região na cena e se refere ao mundo ou à cena. A região de atenção visual não é meramente determinada como uma dada área de uma janela de visão para o observador, mas define uma região na própria cena. Em algumas modalidades, a região de atenção visual pode ser determinada como uma região bidimensional, mas na maioria das modalidades a região de atenção visual não é definida, por exemplo, apenas pelos intervalos de azimute e elevação em relação à posição de observação, mas muitas vezes inclui um valor ou intervalo de distância/profundidade. Por exemplo, a região de atenção visual pode ser determinada como uma região formada por três intervalos que definem respectivamente uma faixa de azimute, uma faixa de elevação e uma faixa de distância. Como outro exemplo, a região de atenção visual pode ser determinada no sistema de coordenadas da cena/mundo como faixas de três componentes espaciais (por exemplo, a região de atenção visual pode ser determinada como um prisma retangular ou cuboide definido por uma faixa de componentes x, uma faixa de componentes y e uma faixa de componentes z). Em algumas modalidades, a região de atenção visual pode ser determinada como o formato tridimensional de um objeto de cena suficientemente próximo a (ou compreendendo) o ponto do olhar.
[094] A região de atenção visual é tipicamente determinada como uma região que tem uma relação tridimensional com a pose do observador. Em outras palavras, a região de atenção visual pode, em relação à pose do observador, ser determinada não apenas como, por exemplo, uma área da janela ou da esfera de visão a partir da pose de visualização, mas também para ter uma distância até a pose de visualização. O processador de atenção visual 205 é, consequentemente, disposto para determinar a região de atenção visual em resposta a uma indicação de distância do olhar da indicação do olhar. Dessa forma, não é apenas a direção do olhar que é considerada na determinação da região de atenção visual, mas a região de atenção visual será determinada também para ser dependente da distância entre a pose de visualização e o ponto do olhar.
[095] Em algumas modalidades, a região de atenção visual pode depender apenas da indicação do olhar, mas em muitas modalidades, ela pode adicionalmente ser determinada considerando-se o conteúdo da cena, como, por exemplo, quais objetos de cena correspondem ao atual ponto do olhar. Consequentemente, o processador de atenção visual 205 é acoplado a um armazenamento de cena 207 que compreende dados de cena que descrevem a cena/mundo. Esses dados de cena podem, por exemplo, ser armazenados como um modelo tridimensional, mas eles serão em muitas modalidades sob a forma de dados de imagem de vista tridimensional para várias posições de captura/âncora.
[096] Os dados de cena são especificamente dados de cena 3D que fornecem uma descrição 3D da cena. Os dados de cena podem descrever a cena com referência a um sistema de coordenadas de cena.
[097] O aparelho compreende adicionalmente um gerador de dados de imagem 209 que é acoplado ao processador de atenção visual 205, ao armazenamento de cena 207, e no exemplo também ao processador de entrada de sensor 201. O gerador de dados de imagem 209 é disposto para gerar um fluxo de dados de imagem representando vistas da cena. No exemplo da Figura 2, o gerador de dados de imagem 209 recebe uma pose do observador fornecida pelo processador de entrada de sensor
201. No exemplo, a pose do observador é indicativa da pose da cabeça e o gerador de dados de imagem 209 é disposto para gerar dados de imagem para a renderização de vistas correspondentes à pose do observador. Dessa forma, no exemplo específico, o gerador de dados de imagem 209 gera dados de imagem em resposta à pose da cabeça do observador.
[098] Em algumas modalidades, o gerador de dados de imagem 209 pode gerar diretamente imagens de vista que correspondem a janelas de visão para a pose de visualização. Em tais modalidades, o gerador de dados de imagem 209 pode, portanto, sintetizar diretamente imagens de vista que podem ser renderizadas diretamente por um dispositivo de RV adequado. Por exemplo, o gerador de dados de imagem 209 pode gerar fluxos de vídeo compreendendo imagens estéreo correspondentes aos olhos direito e esquerdo de um observador para a dada posição de observação. Os fluxos de vídeo podem, por exemplo, ser fornecidos a um renderizador que alimenta ou controla diretamente um headset de RV, e os fluxos de vídeo de imagens de vista podem ser apresentados diretamente.
[099] Entretanto, no exemplo da Figura 2, o gerador de dados de imagem 209 é disposto para gerar o fluxo de dados de imagem para compreender dados de imagem para a sintetização de imagens de vista para a pose do observador (e especificamente para a pose da cabeça).
[100] Especificamente, no exemplo, o gerador de dados de imagem 209 é acoplado a um sintetizador de imagem 211 que é disposto para sintetizar imagens de vista para uma pose do observador em resposta ao fluxo de dados de imagem recebido a partir do gerador de dados de imagem 209. O fluxo de dados de imagem pode ser especificamente selecionado para incluir dados de imagem tridimensional próximo a ou diretamente correspondente à pose do observador. O sintetizador de imagem 211 pode então processar esses dados para sintetizar imagens de vista para a pose do observador que pode então ser apresentada ao usuário.
[101] Essa abordagem pode, por exemplo, permitir que o gerador de dados de imagem 209 e o sintetizador de imagem 211 operem em taxas diferentes. Por exemplo, o gerador de dados de imagem 209 pode ser disposto para avaliar uma nova pose do observador com uma frequência baixa, por exemplo, uma vez por segundo. O fluxo de dados de imagem pode ser consequentemente gerado para ter os dados de imagem tridimensional correspondente a essa pose do observador, e dessa forma os dados de imagem tridimensional para a atual pose do observador podem ser atualizados uma vez por segundo.
[102] Em contraste, o sintetizador de imagem 211 pode sintetizar imagens de vista para as janelas de visão da pose de visualização atual muito mais rapidamente, por exemplo, as novas imagens podem ser geradas e fornecidas ao usuário a uma taxa de, por exemplo, 30 vezes por segundo. O observador experimentará, consequentemente, uma taxa de quadro de 30 quadros por segundo. Devido ao movimento do usuário, a pose de visualização para a imagem de vista/quadro individual pode se desviar da pose de visualização de referência para a qual o gerador de dados de imagem 209 gerou os dados de imagem e, dessa forma, o sintetizador de imagem 211 pode realizar alguma mudança de vista etc.
[103] A abordagem pode consequentemente permitir que o gerador de dados de imagem 209 opere muito mais lentamente e essencialmente a operação em tempo real pode ser restrita ao sintetizador de imagem 211. Isso pode reduzir a complexidade e a demanda de recursos para o gerador de dados de imagem 209. Além disso, os requisitos de complexidade e de recursos para o sintetizador de imagem 211 são, tipicamente, relativamente baixos uma vez que as mudanças de vista tendem a ser relativamente pequenas e, portanto, mesmo algoritmos de baixa complexidade tenderão a resultar em qualidade suficientemente alta. Adicionalmente, a abordagem pode reduzir substancialmente a largura de banda necessária para a conexão/ligação entre o gerador de dados de imagem 209 e o sintetizador de imagem 211. Isso pode ser um recurso importante, especialmente em modalidades nas quais o gerador de dados de imagem 209 e o sintetizador de imagem 211 estão situados remotamente um do outro, como, por exemplo, no servidor de RV 101 e no cliente de RV 103 da Figura 1, respectivamente.
[104] O gerador de dados de imagem 209 gera os dados de imagem com base nos dados de cena extraídos do armazenamento de cena 207. Como um exemplo específico, o armazenamento de cena 207 pode compreender dados de imagem para a cena obtidos de uma quantidade potencialmente grande de pontos de captura ou de âncora. Por exemplo, para um número grande de posições na cena, o armazenamento de cena 207 pode armazenar uma imagem esférica completa com dados de profundidade associados. O gerador de dados de imagem 209 pode, em tal situação, determinar o ponto de âncora mais próximo à atual pose do observador recebida do processador de entrada de sensor 201. Ele pode então extrair os dados de imagem esférica e de profundidade correspondentes e transmiti-los para o sintetizador de imagem 211. Entretanto, tipicamente, o gerador de dados de imagem 209 não transmitirá toda a imagem esférica (e os dados de profundidade), mas irá selecionar uma fração adequada da mesma para transmissão. Essa fração pode ser chamada de “ladrilho”. Um ladrilho tipicamente refletirá uma fração substancial da imagem esférica, como, por exemplo, entre 1/16 e 1/64 da área. Na verdade, o ladrilho tipicamente será maior do que a janela de visão para a pose de visualização atual. O ladrilho que é selecionada pode ser determinado a partir da orientação da pose de visualização.
[105] Será reconhecido que em algumas modalidades o sintetizador de imagem 211 pode ser considerado parte do gerador de dados de imagem 209 e que o gerador de dados de imagem 209 pode gerar diretamente um fluxo de dados de imagem que compreende imagens de vista para janelas de visão do usuário (por exemplo, correspondentes à saída do sintetizador de imagem 211 da Figura 2). Em outras palavras, em algumas modalidades as funcionalidades do gerador de fluxo de imagem 1207 e do sintetizador de imagem 211 descrito com referência à Figura 2 podem se aplicar igualmente a uma implementação comum em outras modalidades nas quais as funcionalidades do gerador de dados de imagem 209 e do sintetizador de imagem 211 são integradas em uma única entidade funcional que geram diretamente uma saída fluxo de dados que compreende imagens de vista direta para um observador/usuário).
[106] No aparelho da Figura 2, o gerador de dados de imagem 209 é adicionalmente acoplado ao processador de atenção visual 205 do qual ele recebe informações da região de atenção visual determinada. O gerador de dados de imagem 209 é disposto para adaptar a qualidade de diferentes partes dos dados da imagem gerada em resposta à região de atenção visual. Especificamente, o gerador de dados de imagem 209 é disposto para ajustar a qualidade de modo que ela seja maior para a região de atenção visual do que (ao menos algumas partes) fora da região de atenção visual. Dessa forma, o gerador de dados de imagem 209 pode gerar dados de imagem que tenham uma qualidade de imagem variável, em que a qualidade dos dados da imagem gerada para a região de atenção visual é mais alta do que (pelo menos parte) dos dados da imagem que representa o exterior da região de atenção visual.
[107] Como a região de atenção visual é uma região na cena 3D e tem uma profundidade/parâmetro de distância/propriedade em relação à pose do observador, a relação entre a região de atenção visual e os dados de imagem varia para poses variáveis do observador. Especificamente, a determinação de quais partes dos dados de imagem correspondem à região de atenção visual, e, portanto, quais partes dos dados de imagem devem ser fornecidas com uma qualidade mais alta, depende da distância. O gerador de dados de imagem 209 é consequentemente disposto para determinar primeiros dados de imagem correspondentes à região de atenção visual em resposta à distância entre a pose do observador e a região de atenção visual.
[108] Deve-se notar que isto é diferente, por exemplo, da abordagem de determinar um ponto do olhar em um monitor ou em uma imagem e então gerar uma imagem de qualidade mais alta por centralização da fóvea da retina (técnica “foveated rendering”). Em tal abordagem, o ponto do olhar não se altera para mudanças na posição do observador (com o mesmo foco) e a imagem de qualidade mais alta não mudará. No entanto, para uma região de atenção visual 3D em uma cena 3D com uma distância variável até a região de atenção visual a partir da posição do observador, os dados de imagem correspondentes à região de atenção visual serão alterados conforme a pose do observador muda mesmo quando o foco é mantido constante, por exemplo no mesmo objeto de cena.
[109] O gerador de dados de imagem 209 pode ser disposto para considerar essas mudanças. Por exemplo, o gerador de dados de imagem 209 pode ser disposto para projetar a região de atenção visual sobre as janelas de visão para as quais os dados de imagem são fornecidos, e então determinar os primeiros dados em resposta à projeção. Especificamente, os primeiros dados de imagem (a serem fornecidos com uma qualidade mais alta) podem ser determinados como dados de imagem de uma seção da janela de visão em torno da projeção da região de atenção visual sobre a janela de visão.
[110] Como um exemplo, com base na pose do observador recebida, o gerador de dados de imagem 209 pode identificar a posição de captura mais próxima e recuperar a imagem esférica e os dados de profundidade para essa posição. O gerador de dados de imagem 209 pode então determinar um ladrilho (por exemplo, um ladrilho com azimute de 120 graus e elevação de 90 graus compreendendo a pose do observador). Em seguida, o gerador determina uma área dentro do ladrilho que corresponde à região de atenção visual. Especificamente, isso pode ser feito mediante rastreamento da projeção linear da região de atenção visual sobre a superfície representada pela imagem esférica com base na pose do observador. Por exemplo, especificamente, linhas retas podem ser projetadas a partir da posição do observador até os pontos da região de atenção visual e a área do ladrilho/imagem correspondente à região de atenção visual pode ser determinada como a área de intersecção dessas linhas com a superfície da esfera/janela de visão da imagem.
[111] Dessa forma, o gerador de dados de imagem 209 pode identificar uma porção do ladrilho que representa a região de atenção visual. Por exemplo, se a região de atenção visual corresponde a um objeto de cena, o gerador de dados de imagem 209 pode identificar uma área no ladrilho que inclui o objeto de cena. O gerador de dados de imagem 209 pode então gerar os dados de imagem para o ladrilho, mas de modo que a qualidade dos dados de imagem para a área identificada seja mais alta do que no restante do ladrilho. Os dados de imagem resultantes são então incluídos no fluxo de dados de imagem e alimentados no sintetizador de imagem 211.
[112] Uma vantagem do uso de ladrilhos é que eles podem ser tipicamente representados por vídeos pré-codificados (chamados “tracks”, ou trilhas no padrão de formato DASH) que podem então ser selecionados para transmissão sem exigir codificação ou transcodificação para cada cliente. A abordagem descrita pode ser adequada para uso com tais ladrilhos. Em particular, em muitas modalidades, o gerador de dados de imagem 209 pode, para um dado ladrilho, processar o ladrilho antes da transmissão de modo que o processamento reduza a taxa de dados para o ladrilho, exceto para a área específica que corresponde à região de atenção visual. Dessa forma, é gerado e transmitido um ladrilho resultante com uma alta qualidade (taxa de dados) da área específica estimada para ter a atenção visual do observador e com uma qualidade (taxa de dados) inferior para o restante do ladrilho.
[113] Em outras modalidades, um número maior de ladrilhos menores pode ser armazenado com diferentes qualidades. Por exemplo, cada ladrilho pode corresponder a um ângulo de visão de não mais que 10 graus. Um ladrilho maior combinado pode então ser formado pela seleção de ladrilhos de alta qualidade para uma área que corresponde à região de atenção visual e de ladrilhos de qualidade inferior para o restante do ladrilho combinado.
[114] Nas modalidades em que o gerador de dados de imagem 209 gera diretamente imagens de janela de visão para apresentação a um usuário, as áreas nas imagens de janela de visão que correspondem à região de atenção visual podem ser geradas com uma qualidade (taxa de dados espacial e/ou temporal) mais alta do que para as áreas da janela de visão fora da região de atenção visual (por exemplo, as observações acima podem ser consideradas como sendo aplicáveis, mas com os ladrilhos sendo selecionados para corresponder à janela (ou janelas) de visão para a pose da cabeça).
[115] Será reconhecido que abordagens diferentes para alterar a qualidade de imagem dos dados de imagem são conhecidas pelo versado na técnica e qualquer abordagem adequada poderá ser aqui usada. Em muitas modalidades, a variação da taxa de dados (espacial e/ou temporal) pode ser correspondente a uma variação da qualidade da imagem. Dessa forma, em muitas modalidades, o gerador de dados de imagem 209 pode ser disposto para gerar os dados de imagem para ter uma taxa de dados/bits mais alta para os primeiros dados de imagem do que para os segundos dados de imagem. A variação na taxa de dados/bits pode ser uma taxa de dados/bits espacial e/ou temporal. Especificamente, o gerador de dados de imagem 209 pode ser disposto para gerar os dados de imagem para ter uma taxa de bits por área e/ou uma taxa de bits por segundo mais alta para os primeiros dados de imagem do que para os segundos dados de imagem.
[116] O gerador de dados de imagem 209 pode, por exemplo, recodificar (transcodificar) os dados recuperados do armazenamento de cena 207 para um nível de qualidade inferior para áreas fora da região de atenção visual e então transmitir a versão de menor qualidade. Em outras modalidades, o armazenamento de cena 207 pode compreender duas diferentes versões codificadas de imagens para diferentes pontos de captura, e o gerador de dados de imagem 209 pode gerar diferentes qualidades mediante a seleção de dados das diferentes versões para, respectivamente, a área da região de atenção visual e a parte restante do ladrilho.
[117] Será reconhecido que o gerador de dados de imagem 209 pode variar o nível da qualidade ajustando parâmetros diferentes como a resolução espacial, resolução temporal, nível de compactação, nível de quantização (comprimento de palavra) etc. Por exemplo, o nível de qualidade mais alto é obtido por ao menos um dentre: uma taxa de quadros mais alta; uma resolução maior; um comprimento de palavra mais longo; e um nível reduzido de compactação de imagem.
[118] Dessa forma, o gerador de dados de imagem 209 gera um fluxo de dados de imagem cuja qualidade de imagem para a região de atenção visual é mais alta do que para dados fora dessa região. Assim, uma parte específica da cena é identificada com base no ponto do olhar, e dessa forma reflete tanto a pose da cabeça como a pose relativa dos olhos, e essa parte é representada em uma qualidade mais alta. A alta qualidade é, consequentemente, fornecida para uma parte da cena, e tipicamente para o objeto de cena, no qual é provável que o observador esteja se concentrando.
[119] Isso pode fornecer uma abordagem diferenciada na qual a região de atenção visual pode corresponder a uma pequena área da janela de visão para o observador e que é apresentada com um nível de qualidade substancialmente maior do que o da janela de visão como um todo. Uma característica significativa da abordagem é que a área/região de alta qualidade que corresponde à região de atenção visual pode formar uma parte muito pequena de toda a janela/área de visão. De fato, em muitas modalidades, o processador de atenção visual 205 é disposto para determinar a região de atenção visual para ter uma extensão horizontal de não mais que 10 graus (ou até mesmo 5 graus em algumas modalidades) para uma posição do observador. Dessa forma, a região de atenção visual pode corresponder a menos de 10 graus (ou 5 graus) da vista do observador (e da janela de visão) e, consequentemente, o aumento na qualidade é restrito a uma região muito pequena. De modo similar, em muitas modalidades,
o processador de atenção visual 205 é disposto para determinar a região de atenção visual para ter uma extensão vertical de não mais que 10 graus (ou até mesmo 5 graus em algumas modalidades) para uma posição do observador.
[120] De fato, os inventores observaram que a percepção de qualidade dos seres humanos é muito limitada e específica, e que ao fornecer uma alta qualidade em um pequeno intervalo de vista específico correspondente ao conteúdo da cena no atual ponto do olhar do observador na cena, o observador perceberá toda a janela de visão apresentada em alta qualidade. Os inventores observaram também que isto pode ser usado para reduzir substancialmente a taxa de dados em uma aplicação de RV pelo rastreamento do olhar do usuário na cena e adaptação dos níveis de qualidade de acordo.
[121] De fato, em muitos cenários, o ângulo pelo qual os seres humanos percebem completamente a nitidez/qualidade pode ser muito pequeno, e frequentemente na região de apenas um ou alguns graus. Contudo, determinar uma área maior com qualidade aumentada pode resultar em menos atualizações necessárias da área relevante, facilitando, assim, a adaptação e a transmissão de áreas com maior qualidade. Na prática, em muitas modalidades, descobriu-se que uma extensão da ordem de 5 a 10 graus fornece um ponto de equilíbrio altamente vantajoso.
[122] O efeito da abordagem pode ser exemplificado pelas fotos na Figura 3 onde a imagem superior mostra uma possível imagem de vista com a mesma (alta) qualidade para todo o ponto de visualização. A foto inferior é um exemplo de uma possível imagem de vista que pode ser gerada pelo aparelho da Figura 2. Nesse exemplo, uma região de atenção visual correspondente ao atual ponto do olhar do usuário foi identificada em torno das três pessoas à direita. Ainda nesse exemplo, a qualidade de uma área correspondente (~1/3 x 1/3 da área total) em torno dessas três pessoas foi mantida no mesmo alto nível que na foto superior, mas a qualidade foi reduzida para o restante da imagem (por exemplo, por transcodificação com um nível de compactação mais alto). Quando se olha para as duas imagens, vê-se claramente a diferença de qualidade. Entretanto, para um usuário focalizando visualmente nas três pessoas da esquerda, nenhuma diferença de qualidade será tipicamente observada. De fato, foram realizados testes nos quais as duas imagens foram sobrepostas em uma tela de modo que a tela pudesse alternar rapidamente entre as imagens sem quaisquer variações espaciais. Quando os objetos de teste focalizaram na área correspondente à região de atenção visual (isto é, as três pessoas da esquerda), nenhuma diferença de qualidade foi percebida entre as duas imagens.
[123] Em muitas modalidades, o gerador de dados de imagem 209 pode ser disposto para determinar uma janela de visão para os dados de imagem em resposta à indicação do olhar e/ou pose da cabeça, e para determinar os primeiros dados em resposta à janela de visão.
[124] Especificamente, a janela de visão pode corresponder a uma tela de, por exemplo, um headset e o usuário pode efetivamente visualizar a cena através das telas dos headsets, e, portanto, através de janelas de visão correspondentes às telas. No entanto, à medida que o usuário se move pelo ambiente ou muda a direção da cabeça etc., ele verá diferentes partes da cena que correspondem efetivamente às janelas de visão através das quais a cena é vista. Dessa forma, as janelas de visão se moverão ao redor da cena 3D, e de fato mudarão de posição e orientação na cena 3D.
[125] Em muitas modalidades, o gerador de dados de imagem 209 pode adicionalmente levar esse fato em conta. O gerador de dados de imagem 209 pode especificamente fazer isso em uma abordagem de dois estágios. Primeiramente, a pose da cabeça pode ser usada para determinar a pose de uma janela de visão correspondente à vista do observador para aquela pose. Por exemplo, a janela de visão pode ser determinada como uma janela de visão de tamanho e distância predeterminados a partir da posição da cabeça e na direção da cabeça. O gerador pode então determinar os dados de imagem necessários para representar essa janela de visão, por exemplo, gerando uma imagem correspondente à janela de visão a partir dos dados de cena 3D. O gerador de dados de imagem 209 pode então considerar a região de atenção visual e projetá-la sobre a janela de visão com base na pose do observador. A área correspondente da janela de visão pode então ser determinada e os dados de imagem correspondentes identificados. Esses dados de imagem podem então ser gerados com uma qualidade maior do que os dados de imagem da janela de visão fora dessa área.
[126] Em muitas modalidades, essa abordagem pode ser repetida para múltiplas janelas de visão, como especificamente para uma janela de visão para cada olho.
[127] Em muitas modalidades, o aparelho da Figura 2 pode ser implementado em um único dispositivo, como, por exemplo, um console de jogos, local para o observador. No entanto, em muitas outras modalidades, elementos do aparelho podem ser remotos em relação ao observador. Por exemplo, em muitas modalidades, uma abordagem de cliente/servidor como a da Figura 1 pode ser empregada com alguns elementos da Figura 2 presentes no cliente e alguns no servidor.
[128] Por exemplo, em muitas modalidades, o receptor 203, o processador de atenção visual 205, o armazenamento de cena 207 e o gerador de dados de imagem 209 podem residir no servidor 103. Os elementos podem ser compartilhados entre uma pluralidade de servidores e assim suportar uma pluralidade de aplicações de RV simultâneas baseadas em dados de cena centralizados.
[129] Em muitas modalidades, o gerador de dados de imagem 209 pode residir no servidor 103 e o sintetizador de imagem 211 pode residir no cliente. Isso permitirá que o servidor 103 forneça continuamente dados de imagem 3D que podem ser usados localmente para fazer (pequenos) ajustes para gerar com precisão imagens de vista que correspondem à pose de visualização atual. Dessa forma, a taxa de dados exigida pode ser reduzida. Entretanto, em outras modalidades, o sintetizador de imagem 211 pode residir no servidor 103 (e de fato as funcionalidades do gerador de dados de imagem 209 e do sintetizador de imagem 211 podem ser combinadas) e o servidor 103 pode gerar diretamente imagens de vista que podem ser apresentados diretamente a um usuário. Dessa forma, o fluxo de dados de imagem transmitido para o servidor 103 pode, em alguns casos, compreender dados de imagem 3D que podem ser processados para gerar imagens de vista localmente e pode, em outros casos, incluir diretamente imagens de vista para apresentação ao usuário.
[130] Em muitas modalidades, o processador de entrada de sensor 201 reside no cliente 101 e o receptor 203 pode residir no servidor 103. Dessa forma, o cliente 101 pode receber e processar dados de entrada fornecidos, por exemplo, pelo headset de RV, para gerar uma única indicação de olhar combinada que é então transmitida para o receptor 203. Em algumas modalidades, o cliente 101 pode enviar diretamente as entradas de sensor (possivelmente parcialmente processadas) ou dados individuais de pose dos olhos e pose da cabeça para o servidor 103 que poderá então determinar uma indicação de olhar combinada. De fato, a indicação do olhar pode ser gerada como um único valor ou vetor indicando, por exemplo, uma posição na cena, ou pode, por exemplo, ser representada por uma combinação de parâmetros distintos, como uma representação separada de uma pose da cabeça e uma pose relativa dos olhos.
[131] O processador de atenção visual 205 pode usar diferentes algoritmos e critérios para selecionar a região de atenção visual em diferentes modalidades. Em alguns exemplos, ele pode definir uma região de atenção visual tridimensional na cena, e especificamente determinar a região de atenção visual como uma região predeterminada na cena que compreende, ou é centralizada sobre, a posição do ponto do olhar indicada pela indicação do olhar.
[132] Por exemplo, a indicação do olhar pode indicar diretamente um ponto na cena, por exemplo definido por uma coordenada cartesiana (x, y, z) ou por uma coordenada polar (azimute, elevação, distância). A região de atenção visual pode então ser determinada como um prisma de tamanho predeterminado centralizado no ponto do olhar.
[133] Entretanto, em muitas modalidades, o processador de atenção visual 205 é disposto para determinar a região de atenção visual em resposta ao conteúdo da cena correspondente à indicação do olhar.
[134] Em muitas modalidades, o processador de atenção visual 205 pode avaliar a cena em torno do ponto do olhar. Por exemplo, o processador de atenção visual 205 pode identificar uma região em torno do ponto do olhar tendo as mesmas propriedades visuais, como, por exemplo, a mesma cor e/ou intensidade. Essa região pode então ser considerada como a região de atenção visual. Como um exemplo específico, o ponto do olhar pode ser fornecido como um vetor tridimensional em relação a uma posição de observação atual (por exemplo, a posição da cabeça indicada pela pose da cabeça). O processador de atenção visual 205 pode selecionar uma imagem 3D capturada com base na pose da cabeça e determinar o ponto do olhar em relação ao ponto de captura da imagem 3D. Ele pode então determinar uma parte da imagem 3D que corresponde ao ponto do olhar determinado e avaliar se esse ponto é parte de uma região visualmente homogênea. Em caso afirmativo, essa região pode ser determinada como a região de atenção visual, por exemplo, sujeita a um tamanho máximo.
[135] Em muitas modalidades, o processador de atenção visual 205 pode determinar a região de atenção visual para corresponder a um objeto de cena. Por exemplo, se o ponto do olhar estiver suficientemente próximo, ou corresponder diretamente à posição de tal objeto, o processador de atenção visual 205 pode ajustar a região de atenção visual para corresponder ao objeto.
[136] Em algumas modalidades, o sistema pode ter informação explícita de objetos na cena como, por exemplo, informação explícita da posição de uma pessoa na cena. Se for detectado que o ponto do olhar está suficientemente próximo à pessoa, pode-se presumir que o observador está efetivamente olhando para essa pessoa, e, portanto, o processador de atenção visual 205 pode ajustar a região de atenção visual para corresponder à pessoa. Se, por exemplo, o contorno da pessoa for conhecido (por exemplo, pelo sistema de RV usando uma abordagem baseada em modelo), o processador de atenção visual 205 pode prosseguir para determinar a região de atenção visual como uma caixa de delimitação que compreende a pessoa. O tamanho de uma tal caixa pode ser selecionado para assegurar que toda a pessoa esteja incluída na caixa, e pode, por exemplo, ser determinado para corresponder a um ângulo de visão desejado (por exemplo, 5 graus).
[137] Como outro exemplo, se os dados de cena incluírem dados de imagem 3D provenientes de diferentes pontos de captura, o processador de atenção visual 205 pode determinar dinamicamente um objeto de cena como, por exemplo, uma região que corresponde ao ponto do olhar, que tem uma cor homogênea e está dentro de uma faixa de profundidade limitada/estreita. Por exemplo, o processador de atenção visual 205 pode incluir detecção de face e detectar automaticamente uma face nos dados de imagem capturados. A região de atenção visual pode então ser ajustada para corresponder a esse objeto de cena detectado dinamicamente.
[138] Em muitas modalidades, o processador de atenção visual 205 pode compreender adicionalmente um rastreador que é disposto para rastrear o movimento do objeto de cena na cena e a região de atenção visual pode ser determinada em resposta ao movimento rastreado. Isso pode proporcionar uma determinação mais precisa de uma região de atenção visual adequada. Por exemplo, o processador pode saber ou estimar que um objeto está se movendo na cena (por exemplo, um carro sendo dirigido, uma bola se movendo etc.). As características desse movimento podem ser conhecidas ou estimadas. Especificamente, a direção e a velocidade do objeto na cena podem ser determinadas. Se o processador de atenção visual 205 determinar uma região de atenção visual correspondente a esse objeto em movimento, o processador de atenção visual 205 pode então rastrear o movimento para verificar se ele corresponde às mudanças na indicação do olhar. Em caso afirmativo, presume-se que o observador está olhando para o objeto e seguindo o movimento/rastreando o objeto, e a região de atenção visual é mantida como correspondente ao objeto. Entretanto, se a indicação do olhar não seguir o movimento do objeto, o processador de atenção visual 205 pode determinar que o objeto não é adequado como uma região de atenção visual e pode, portanto, prosseguir para selecionar uma região de atenção visual diferente, ou determinar que no momento nenhuma atenção visual é mantida, e, portanto, que não é apropriado determinar uma região de atenção visual (na qual todo o ladrilho pode, por exemplo, ser transmitido em uma resolução intermediária (por exemplo, com uma taxa de dados total correspondente como no caso em que são transmitidos dados de imagem de uma região de atenção visual de alta qualidade e dados de imagem de uma região de não atenção visual de baixa qualidade).
[139] A abordagem pode fornecer consistência temporal adicional e pode permitir que o processador de atenção visual 205 determine uma região de atenção visual que reflita mais estreitamente a atenção do usuário.
[140] Em muitas modalidades, o processador de atenção visual 205 pode ser disposto para determinar a região de atenção visual considerando as regiões de atenção visual determinadas para indicações de olhar e/ou poses do observador anteriores. Por exemplo, a região de atenção visual atual pode ser determinada para corresponder à anterior. Como um caso específico, a determinação de uma região de atenção visual pode tipicamente estar sujeita a um efeito de filtro passa- baixa, isto é, a mesma área de cena pode ser selecionada como a região de atenção visual para indicações de olhar subsequentes, desde que elas não sejam muito diferentes das indicações de olhar anteriores.
[141] O sistema pode fornecer um efeito de “instantâneo” em que a região de atenção visual está ligada, por exemplo, a um objeto de cena desde que a correspondência da correlação entre as mudanças no ponto do olhar e o movimento do objeto seja suficientemente estreita (de acordo com um critério adequado). Essa seleção do objeto de cena como a região de atenção visual pode prosseguir mesmo que, por exemplo, o ponto do olhar seja detectado como estando mais próximo a outro objeto. No entanto, se o ponto do olhar não satisfizer o requisito de correlação em relação ao movimento do objeto de cena, o processador de atenção visual 205 pode mudar a região de atenção visual para corresponder a outro objeto de cena (tipicamente o objeto de cena mais próximo), ou pode ajustar a região de atenção visual a uma região predeterminada ao redor da atual ponto do olhar, ou até mesmo determinar que não há no momento uma região de atenção visual específica (por exemplo, correspondente a uma varredura rápida da cena/janela de visão pelo usuário).
[142] Em algumas modalidades, o processador de atenção visual 205 pode ser disposto para determinar uma medida de confiança para a região de atenção visual em resposta a uma correlação entre o movimento da região de atenção visual e mudanças na indicação do olhar. Especificamente, pela detecção de mudanças no ponto do olhar, como indicado pela indicação do olhar, e comparação dessas mudanças com as mudanças no ponto do olhar que resultariam se o observador estivesse rastreando o movimento da região de atenção visual (por exemplo, um objeto correspondente à região de atenção visual), pode ser determinada uma medida indicativa de quão provável o observador tem de fato sua atenção visual focalizada nessa região (objeto). Se a correlação for alta, por exemplo, as mudanças na posição do objeto conforme visto a partir da pose de visualização estão em conformidade com os movimentos correspondentes no ponto do olhar, é altamente provável que o observador esteja de fato focalizando sua atenção no objeto correspondente e a confiança da região de atenção visual pode ser ajustada a um valor alto. Se a correlação for baixa, a confiança da região pode ser ajustada a um valor mais baixo. De fato, em muitas modalidades, uma medida de correlação pode ser determinada e usada diretamente como a medida de confiança (ou, por exemplo, a medida de confiança pode ser determinada como uma função monotonicamente crescente da medida de correlação).
[143] Em tais modalidades, o gerador de dados de imagem 209 pode ser disposto para ajustar o nível de qualidade, por exemplo conforme representado pela taxa de dados, para a região de atenção visual com base na medida de confiança determinada. Especificamente, o nível de qualidade pode ser aumentado para aumentar a confiança (por exemplo, uma função monotônica pode ser usada para determinar uma taxa de dados espacial e/ou temporal para os dados de imagem da região de atenção visual).
[144] O resultado pode ser uma operação na qual se o aparelho determinar que é altamente provável que o observador esteja se concentrando em uma região/objeto específico, então isso é mostrado em uma qualidade muito alta com tipicamente a maior parte da imagem de vista/janela de visão sendo substancialmente de menor qualidade. No entanto, se em vez disso for considerado como baixa probabilidade de que o usuário esteja se concentrando no momento na região/objeto detectado, então a diferença de qualidade entre a região/objeto e o restante da imagem/janela de visão pode ser reduzida substancialmente. De fato, se a medida de confiança for suficientemente baixa, o gerador de dados de imagem 209 pode ajustar os níveis de qualidade dos dados para a região de atenção visual e dos demais dados gerados para serem substancialmente iguais. Isso pode reduzir uma qualidade percebida da “oscilação” que pode surgir se o observador não limitar seu foco à região de atenção visual detectada. Além disso, se houver um limite de taxa de dados constante, o gerador pode, por exemplo, permitir que a taxa de dados reduzida para a região de atenção visual seja usada para aumentar a taxa de dados do restante do ladrilho/janela de visão.
[145] Em muitas modalidades, o gerador de dados de imagem 209 pode ser disposto para alternar entre dois níveis de qualidade dependendo da medida de confiança, como, por exemplo, entre um alto nível de qualidade associado aos dados de imagem da região de atenção visual e um baixo nível de qualidade associado aos dados de imagem da região de não atenção visual. Entretanto, em muitas modalidades, o gerador de dados de imagem 209 pode ser disposto para alternar entre muitos níveis de qualidade diferentes dependendo da medida de confiança.
[146] Em muitas modalidades, o processador de atenção visual 205 pode ser disposto para determinar a região de atenção visual em resposta ao comportamento de visualização armazenado do usuário para a cena. O comportamento de visualização armazenado do usuário pode refletir a frequência/distribuição de vistas anteriores da cena e especificamente pode refletir a distribuição de frequência espacial dos pontos de olhar para vistas anteriores da cena. O ponto do olhar pode, por exemplo, ser refletido por um ou mais parâmetros como, por exemplo, uma posição tridimensional completa, uma direção, ou uma distância, por exemplo.
[147] Em algumas modalidades, o aparelho pode ser disposto para monitorar e rastrear os pontos de olhar do usuário na cena e determinar para onde o usuário olha com mais frequência. Como um exemplo, o processador de atenção visual 205 pode rastrear a frequência na qual considera-se que o usuário olha para determinados objetos da cena, mediante determinação de quanto tempo o ponto do olhar está suficientemente próximo ao objeto individual. Especificamente, pode ser monitorado com que frequência os objetos individuais de cena são selecionados como a região de atenção visual. Em tais modalidades, o processador de atenção visual 205 pode, por exemplo, para cada objeto de cena, manter um total atualizado do número de vezes que objetos de cena individuais foram selecionados como uma região de atenção visual.
[148] Ao determinar a região de atenção visual, o processador de atenção visual 205 pode considerar o comportamento de visualização armazenado do usuário e pode especificamente propender a seleção/determinação da região de atenção visual em direção a regiões/objetos que têm uma frequência de visualização mais alta. Por exemplo, para uma dada pose do observador e ponto do olhar, o processador de atenção visual 205 pode determinar uma janela de visão adequada e pode identificar alguns potenciais candidatos de objetos de cena dentro dessa janela de visão. Ele pode então selecionar um dos objetos como a região de atenção visual dependendo de quão próximo o ponto do olhar está do objeto de cena individual e da frequência com a qual os objetos de cena foram previamente selecionados como região de atenção visual. A propensão em direção a objetos de cena “populares” pode resultar na seleção de um objeto de cena que não é o objeto mais próximo ao ponto do olhar, mas que é um candidato mais provável que o objeto mais próximo.
[149] Abordagens e algoritmos diferentes podem ser usados em diferentes modalidades para avaliar o comportamento anterior do usuário. Por exemplo, uma medida de custo pode ser determinada para cada objeto de cena que é dependente tanto da distância ao ponto do olhar como de uma medida de frequência indicativa do comportamento de visualização anterior e especificamente da frequência com a qual o objeto de cena foi selecionado anteriormente como uma região de atenção visual. O processador de atenção visual 205 pode, então, selecionar o objeto de cena com a menor medida de custo como a região de atenção visual.
[150] O processador de atenção visual 205 pode, consequentemente, propender a região de atenção visual em direção a regiões da cena para as quais o comportamento de visualização armazenados de usuário indica uma frequência de visualização mais alta em relação a regiões da cena para as quais o comportamento de visualização armazenado do usuário indica uma frequência de visualização mais baixa. Tal abordagem pode resultar em uma experiência de usuário aprimorada e em uma seleção da região de atenção visual que seja mais provável de corresponder ao foco visual real do usuário.
[151] O comportamento de visualização do usuário pode refletir o comportamento de visualização durante a mesma sessão de RV e o mesmo usuário. Dessa forma, o processador de atenção visual 205 pode, por exemplo, armazenar dados que indicam, por exemplo, quais objetos de cena são selecionadas como regiões de atenção visual. As seleções subsequentes da região de atenção visual podem, então, levar em conta a frequência da seleção dos objetos de cena individuais.
[152] Em algumas modalidades, o comportamento de visualização pode refletir o comportamento de sessões de RV anteriores e podem, de fato, refletir o comportamento de visualização de múltiplos usuários. Por exemplo, em modalidades nas quais o processador de atenção visual 205 é implementado no servidor 103 da Figura 1 e, assim, serve a muitos usuários diferentes, a seleção de objetos de cena individuais (ou mais genericamente regiões) para todos os usuários e todas as sessões de RV pode ser refletida nos dados armazenados de comportamento de visualização. A seleção da região de atenção visual pode, dessa forma, ser adicionalmente em resposta a, por exemplo, o comportamento estatístico anterior do usuário de acesso aos dados de cena.
[153] Em muitas modalidades, o processador de atenção visual 205 pode ser disposto para determinar adicionalmente uma região de atenção visual prevista. A região de atenção visual prevista é indicativa de uma atenção visual estimada futura do observador e, dessa forma, pode especificamente não corresponder ao ponto do olhar atual, mas, em vez disso, corresponder a um ponto do olhar futuro esperado. A região de atenção visual prevista pode, então, ser uma indicação/estimativa de uma região de atenção visual que poderá ser selecionada no futuro.
[154] O processador de atenção visual 205 pode determinar a região de atenção visual prevista em resposta a dados de relacionamento que são indicativos de relações de comportamento de visualização anteriores entre diferentes regiões da cena, e especificamente entre diferentes objetos de cena.
[155] Os inventores observaram que em muitas aplicações, existem mudanças típicas ou mais frequentes entre diferentes partes de um conteúdo e que tal comportamento de usuário pode ser registrado e usado para proporcionar melhor desempenho.
[156] O processador de atenção visual 205 pode especificamente incluir dados de imagem para a região de atenção visual prevista onde esses dados de imagem têm um nível de qualidade maior do que fora da região de atenção visual prevista. Em particular, as abordagens descritas anteriormente para fornecer dados de imagem para a região de atenção visual atual podem ser aplicadas também para fornecer dados de imagem para a região de atenção visual prevista. Dessa forma, em algumas modalidades, o gerador de dados de imagem 209 pode gerar um fluxo de dados que inclui dados de imagem em uma dada qualidade para um determinado ladrilho exceto para áreas que correspondem a uma região de atenção visual atual e uma região de atenção visual prevista para as quais o nível de qualidade pode ser substancialmente maior.
[157] O processador de atenção visual 205 pode determinar a região de atenção visual prevista em resposta à indicação dos dados de relacionamento de uma alta correlação de vista entre vistas da região de atenção visual atual e da região de atenção visual prevista.
[158] Os dados de relacionamento podem tipicamente ser indicativos de mudanças do olhar anteriores pelos observadores que acessam a cena e o processador de atenção visual 205 pode determinar a região de atenção visual prevista como uma região para a qual os dados de relacionamento indicam uma frequência de mudança do olhar da região de atenção visual para a primeira região que satisfaz um critério. O critério pode tipicamente exigir que a frequência de mudança do olhar esteja acima de um limiar ou, por exemplo, que seja a frequência mais elevada de um conjunto de frequência de mudança do olhar da região de atenção visual para objetos de cena próximos.
[159] Por exemplo, durante várias sessões de RV, o processador de atenção visual 205 pode coletar dados que refletem como os usuários mudam seu foco. Isso pode ser feito, por exemplo, armazenando quais objetos de cena são selecionados como a região de atenção visual e especificamente quais mudanças de seleção ocorrem. Para um dado objeto de cena, o processador de atenção visual 205 pode, para cada outro objeto de cena dentro de uma dada distância, registrar quando ocorre uma mudança na seleção entre o dado objeto de cena a aquele objeto de cena. Quando o dado objeto de cena é selecionado como a região de atenção visual atual, o processador de atenção visual 205 pode então prosseguir e avaliar os dados armazenados para identificar um segundo objeto de cena que é o próximo objeto de cena mais frequentemente selecionado, isto é, o objeto no qual a atenção visual do usuário tipicamente se concentra.
[160] O processador de atenção visual 205 pode então prosseguir e transmitir dados de qualidade particularmente alta tanto para a região de atenção visual atual como para a região de atenção visual prevista. Como resultado, podem ser geradas imagens de vista para o usuário que têm uma qualidade particularmente alta para o foco visual atual do usuário, bem como para o próximo foco visual previsto/esperado do usuário. Se, de fato, o usuário fizer a esperada mudança no foco visual, ele perceberá diretamente e sem qualquer latência ou atraso uma alta qualidade para toda a imagem.
[161] Como exemplo específico, pode-se considerar uma experiência de RV na forma de uma experiência imersiva e interativa de uma partida de tênis para um observador onde o usuário vive uma experiência de um expectador sentado nas arquibancadas. Nesse cenário, o usuário pode mudar sua posição ou orientação da cabeça para, por exemplo, olhar em volta, se mover para uma posição diferente etc. No exemplo,
os objetos de cena podem corresponder aos dois jogadores, ao árbitro, à rede, aos gandulas etc.
[162] Em tal aplicação, é provável que a geração de dados de comportamento de visualização tenha esse resultado, mostrando que os objetos de cena correspondentes aos dois jogadores são frequentemente selecionados como regiões de atenção visual, isto é, que o foco do usuário está predominantemente nos jogadores. Consequentemente, o processador de atenção visual 205 poderá mais provavelmente selecionar um dos objetos “jogador” como a região de atenção visual mesmo que a indicação do olhar indique que o ponto do olhar está mais próximo, por exemplo, à rede ou ao gandula.
[163] Além disso, a relação de comportamento pode refletir que a região de atenção visual muda frequentemente do primeiro jogador para o segundo jogador e vice-versa. Consequentemente, quando o objeto “primeiro jogador” é selecionado como a região de atenção visual atual, o processador de atenção visual 205 pode determinar o objeto “segundo jogador” como a região de atenção visual prevista e vice-versa. O gerador de dados de imagem 209 pode então gerar os dados de imagem para ter uma determinada qualidade para o ladrilho correspondente à atual pose de visualização, mas com uma qualidade substancialmente maior para pequenas áreas. De modo similar, o sintetizador de imagem 211 pode gerar as imagens de vista para ter uma determinada qualidade, exceto em áreas muito pequenas em torno dos jogadores (por exemplo, a menos de 5 graus em torno do primeiro e do segundo jogadores) onde a qualidade é substancialmente maior. Assim, a qualidade consistentemente alta é percebida pelo usuário quando muda seu olhar entre os diferentes jogadores.
[164] Deve-se observar também que essa abordagem é consistente com mudanças na pose do observador. Especificamente, se a pose do observador muda de uma posição para outra, por exemplo quando o usuário seleciona uma posição diferente na arquibancada a partir da qual ele visualizará o jogo, os dados de seleção das regiões de atenção visual ainda são úteis. Especificamente, os dados anteriores indicando que os objetos de cena correspondentes aos jogadores são fortes candidatos a regiões de atenção visual ainda são relevantes, assim como são os dados de relacionamento indicando que o usuário muda frequentemente o olhar de um jogador para outro, isto é, entre os objetos de cena jogadores. Obviamente, a projeção das regiões de atenção visual nas imagens de vista específicas mudará de acordo com a mudança na janela de visão.
[165] Em algumas modalidades, o processador de atenção visual 205 pode ser disposto para determinar uma região de atenção visual prevista em resposta a dados de movimento de um objeto de cena que corresponde à região de atenção visual. A região de atenção visual prevista pode, por exemplo, ser determinada como uma região para a qual o objeto de cena está se movendo, isto é, ela pode corresponder a uma posição futura prevista ou estimada do objeto de cena. A abordagem pode fornecer desempenho aprimorado, por exemplo, em casos em que o usuário está rastreando um objeto que se move rapidamente que pode, por exemplo, estar se movendo tão rapidamente que a atualização contínua da região de atenção visual atual e a correspondente transmissão de dados de alta qualidade podem introduzir um atraso ou latência inaceitável. Por exemplo, se o usuário está seguindo uma bola em um jogo de futebol, a abordagem de rastrear continuamente o objeto correspondente e transmitir dados de alta qualidade de uma pequena área circundante pode ser adequada quando a bola está se movendo lentamente (por exemplo, sendo passada), mas não quando a bola está se movendo rapidamente (por exemplo, um chute a gol ou um tiro de meta). No último caso, o sistema pode predizer, por exemplo, que a bola atingirá a rede e, como resultado, dados de alta qualidade para a área de gol podem ser transmitidos antes de a bola chegar ao gol.
[166] Os exemplos anteriores se concentraram em modalidades nas quais uma dada qualidade de imagem mais alta é selecionada para a área correspondente à região de atenção visual (ou à região de atenção visual prevista) e com uma dada qualidade inferior sendo selecionada para outras áreas (por exemplo, da janela de visão). Entretanto, em muitas modalidades, uma alteração gradual da qualidade pode ser aplicada.
[167] Por exemplo, um ponto de foco na imagem de vista correspondente à região de atenção visual pode ser identificado, e a qualidade de certas áreas na imagem de vista pode ser aumentada quanto mais próximo a área de imagem estiver do ponto de foco. Por exemplo, a codificação da imagem de vista pode ser baseada em macroblocos, conforme conhecido de muitos esquemas de codificação, como MPEG. O número de bits atribuídos a cada macrobloco (e, portanto, sua qualidade) pode ser determinado como uma função da distância entre o macrobloco e o ponto de foco. A função pode diminuir monotonicamente com o aumento da distância, assegurando, dessa forma, que a qualidade aumenta quanto mais próximo o macrobloco estiver do ponto focal. Deve-se compreender que as características da função podem ser selecionadas para fornecer a distribuição de qualidade gradual desejada. Por exemplo, a função pode ser selecionada para fornecer uma distribuição gaussiana de atribuição de qualidade/bits.
[168] Em algumas modalidades, podem ser fornecidos:
[169] Um aparelho para gerar um fluxo de dados de imagem representando vistas de uma cena, sendo que o aparelho compreende:
[170] um receptor (203) para receber uma indicação do olhar indicativa tanto de uma pose da cabeça como de uma pose relativa dos olhos de um observador, a pose da cabeça incluindo uma posição da cabeça e a pose relativa dos olhos sendo indicativa de uma pose dos olhos em relação à pose da cabeça;
[171] um determinador (205) para determinar uma região de atenção visual na cena que corresponde à indicação do olhar;
[172] um gerador (209) para gerar o fluxo de dados de imagem para compreender dados de imagem para a cena, sendo que os dados de imagem são gerados de modo a incluir ao menos primeiros dados de imagem para a região de atenção visual e segundos dados de imagem para a cena fora da região de atenção visual; sendo que o gerador (209) é disposto para gerar os dados de imagem para ter um nível de qualidade mais alto para os primeiros dados de imagem do que para os segundos dados de imagem.
[173] Um método para gerar um fluxo de dados de imagem representando vistas de uma cena, sendo que o método compreende:
[174] receber uma indicação do olhar indicativa tanto de uma pose da cabeça como de uma pose relativa dos olhos de um observador, a pose da cabeça incluindo uma posição da cabeça e a pose relativa dos olhos sendo indicativa de uma pose dos olhos em relação à pose da cabeça;
[175] determinar uma região de atenção visual na cena que corresponde à indicação do olhar;
[176] gerar o fluxo de dados de imagem para compreender dados de imagem para a cena, sendo que os dados de imagem são gerados de modo a incluir ao menos primeiros dados de imagem para a região de atenção visual e segundos dados de imagem para a cena fora da região de atenção visual; sendo que os dados de imagem têm um nível de qualidade mais alto para os primeiros dados de imagem do que para os segundos dados de imagem.
[177] Deve-se considerar 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.
[178] 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.
[179] 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.
[180] 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 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 específica 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)

REIVINDICAÇÕES
1. APARELHO PARA GERAR UM FLUXO DE DADOS DE IMAGEM REPRESENTANDO VISTAS DE UMA CENA TRIDIMENSIONAL, caracterizado por compreender: um receptor (203) para receber uma indicação do olhar indicativa tanto de uma pose da cabeça como de uma pose relativa dos olhos de um observador, a pose da cabeça incluindo uma posição da cabeça e a pose relativa dos olhos sendo indicativa de uma pose dos olhos em relação à pose da cabeça; um determinador (205) para determinar uma região de atenção visual tendo uma localização tridimensional na cena tridimensional correspondente à indicação do olhar; um gerador (209) para gerar o fluxo de dados de imagem para compreender dados de imagem para a cena, sendo que os dados de imagem são gerados de modo a incluir ao menos primeiros dados de imagem para a região de atenção visual e segundos dados de imagem para a cena fora da região de atenção visual; sendo que o gerador (209) é disposto para gerar os dados de imagem para ter um nível de qualidade mais alto para os primeiros dados de imagem do que para os segundos dados de imagem; e sendo que o determinador (205) é disposto para determinar a região de atenção visual em resposta a uma indicação de distância do olhar da indicação do olhar.
2. APARELHO, de acordo com a reivindicação 1, caracterizado por o determinador (205) ser disposto para determinar a região de atenção visual para ter uma extensão em pelo menos uma direção de não mais que 10 graus para a pose da cabeça.
3. APARELHO, de acordo com qualquer uma das reivindicações anteriores, caracterizado por a região de atenção visual corresponder a um objeto de cena.
4. APARELHO, de acordo com a reivindicação 3, caracterizado por o determinador (205) ser disposto para rastrear o movimento do objeto de cena na cena e por o determinador (205) ser disposto para determinar a região de atenção visual em resposta ao movimento rastreado.
5. APARELHO, de acordo com qualquer uma das reivindicações anteriores, caracterizado por o determinador (205) ser disposto para determinar a região de atenção visual em resposta ao comportamento de visualização armazenado do usuário para a cena.
6. APARELHO, de acordo com a reivindicação 5, caracterizado por o determinador (205) ser disposto para propender a região de atenção visual em direção a regiões da cena para as quais o comportamento de visualização armazenado de usuário indica uma frequência de visualização mais alta.
7. APARELHO, de acordo com qualquer uma das reivindicações anteriores, caracterizado por o determinador (205) ser disposto para determinar uma região de atenção visual prevista em resposta a dados de relacionamento indicativos de relações de comportamento de visualização anteriores entre diferentes regiões da cena; e sendo que o gerador (209) é disposto para incluir terceiros dados de imagem para a região de atenção visual prevista no fluxo de dados de imagem; sendo que o gerador (209) é disposto para gerar os dados de imagem para ter um nível de qualidade mais alto para os terceiros dados de imagem do que para os segundos dados de imagem fora da região de atenção visual prevista.
8. APARELHO, de acordo com a reivindicação 7, caracterizado por os dados de relacionamento serem indicativos de mudanças do olhar anteriores realizadas por ao menos um observador; e o determinador (205) ser disposto para determinar a região de atenção visual prevista como uma primeira região da cena para a qual os dados de relacionamento são indicativos de uma frequência de mudanças do olhar da região de atenção visual para a primeira região que excede um limiar.
9. APARELHO, de acordo com qualquer uma das reivindicações anteriores, caracterizado por o determinador (205) ser disposto para determinar uma região de atenção visual prevista em resposta a dados de movimento de um objeto de cena correspondente à região de atenção visual; e sendo que o gerador (209) é disposto para incluir os terceiros dados de imagem para a região de atenção visual prevista; sendo que o gerador (209) é disposto para gerar os dados de imagem para ter um nível de qualidade mais alto para os terceiros dados de imagem do que para os segundos dados de imagem fora da região de atenção visual prevista.
10. APARELHO, de acordo com qualquer uma das reivindicações anteriores, caracterizado por o gerador (209) ser disposto para gerar o fluxo de dados de imagem como um fluxo de dados de vídeo compreendendo imagens correspondentes a janelas de visão para a pose da cabeça.
11. APARELHO, de acordo com qualquer uma das reivindicações anteriores, caracterizado por o determinador (205) ser disposto para determinar uma medida de confiança para a região de atenção visual em resposta a uma correlação entre o movimento da região de atenção visual na cena e mudanças na indicação do olhar; e sendo que o gerador (209) é disposto para determinar a qualidade dos primeiros dados de imagem em resposta à medida de confiança.
12. APARELHO, de acordo com qualquer uma das reivindicações anteriores, caracterizado por compreender adicionalmente um processador disposto para executar uma aplicação para a cena, sendo que a aplicação é disposta para gerar a indicação do olhar e para renderizar uma imagem correspondente a uma janela de visão para o observador a partir da indicação do olhar da imagem.
13. APARELHO, de acordo com qualquer uma das reivindicações anteriores, caracterizado por ser adicionalmente disposto para receber a indicação do olhar de um cliente remoto (103) e para transmitir o fluxo de dados de imagem para o cliente remoto (103).
14. APARELHO, de acordo com a reivindicação 1, caracterizado por o gerador (209) ser disposto para determinar uma janela de visão para os dados de imagem em resposta à pose da cabeça, e para determinar os primeiros dados em resposta à janela de visão.
15. MÉTODO PARA GERAR UM FLUXO DE DADOS DE IMAGEM REPRESENTANDO VISTAS DE UMA CENA TRIDIMENSIONAL, caracterizado por compreender: receber uma indicação do olhar indicativa tanto de uma pose da cabeça como de uma pose relativa dos olhos de um observador, a pose da cabeça incluindo uma posição da cabeça e a pose relativa dos olhos sendo indicativa de uma pose dos olhos em relação à pose da cabeça; determinar uma região de atenção visual tendo uma localização tridimensional na cena tridimensional correspondente à indicação do olhar;
gerar o fluxo de dados de imagem para compreender dados de imagem para a cena, sendo que os dados de imagem são gerados de modo a incluir ao menos primeiros dados de imagem para a região de atenção visual e segundos dados de imagem para a cena fora da região de atenção visual; sendo que os dados de imagem têm um nível de qualidade mais alto para os primeiros dados de imagem do que para os segundos dados de imagem; e sendo que a determinação da região de atenção visual compreende determinar a região de atenção visual em resposta a uma indicação de distância do olhar da indicação do olhar.
BR112020025897-0A 2018-06-22 2019-06-17 Aparelho e método para gerar um fluxo de dados de imagem representando vistas de uma cena tridimensional BR112020025897A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18179291.2A EP3588970A1 (en) 2018-06-22 2018-06-22 Apparatus and method for generating an image data stream
EP18179291.2 2018-06-22
PCT/EP2019/065799 WO2019243215A1 (en) 2018-06-22 2019-06-17 Apparatus and method for generating an image data stream

Publications (1)

Publication Number Publication Date
BR112020025897A2 true BR112020025897A2 (pt) 2021-03-16

Family

ID=62784016

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020025897-0A BR112020025897A2 (pt) 2018-06-22 2019-06-17 Aparelho e método para gerar um fluxo de dados de imagem representando vistas de uma cena tridimensional

Country Status (8)

Country Link
US (1) US20210258554A1 (pt)
EP (2) EP3588970A1 (pt)
JP (1) JP7480065B2 (pt)
KR (1) KR20210024567A (pt)
CN (1) CN112585987B (pt)
BR (1) BR112020025897A2 (pt)
TW (1) TWI828711B (pt)
WO (1) WO2019243215A1 (pt)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
CN115314696A (zh) * 2021-05-08 2022-11-08 中国移动通信有限公司研究院 一种图像信息的处理方法、装置、服务器及终端
US20230081605A1 (en) * 2021-09-16 2023-03-16 Apple Inc. Digital assistant for moving and copying graphical elements
WO2023233829A1 (ja) * 2022-05-30 2023-12-07 株式会社Nttドコモ 情報処理装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030067476A1 (en) * 2001-10-04 2003-04-10 Eastman Kodak Company Method and system for displaying an image
US7883415B2 (en) * 2003-09-15 2011-02-08 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
KR20120055991A (ko) * 2010-11-24 2012-06-01 삼성전자주식회사 영상처리장치 및 그 제어방법
AU2011204946C1 (en) * 2011-07-22 2012-07-26 Microsoft Technology Licensing, Llc Automatic text scrolling on a head-mounted display
RU2014123315A (ru) * 2011-11-09 2015-12-20 Конинклейке Филипс Н.В. Устройство и способ отображения
WO2015100490A1 (en) * 2014-01-06 2015-07-09 Sensio Technologies Inc. Reconfiguration of stereoscopic content and distribution for stereoscopic content in a configuration suited for a remote viewing environment
CN106416239B (zh) * 2014-05-29 2019-04-09 奈克斯特Vr股份有限公司 用于交付内容和/或回放内容的方法和装置
WO2015186439A1 (ja) * 2014-06-03 2015-12-10 株式会社 日立メディコ 画像処理装置及び立体視表示方法
US9774887B1 (en) * 2016-09-19 2017-09-26 Jaunt Inc. Behavioral directional encoding of three-dimensional video
US10218968B2 (en) * 2016-03-05 2019-02-26 Maximilian Ralph Peter von und zu Liechtenstein Gaze-contingent display technique
US10169846B2 (en) * 2016-03-31 2019-01-01 Sony Interactive Entertainment Inc. Selective peripheral vision filtering in a foveated rendering system
JP2018026692A (ja) * 2016-08-10 2018-02-15 株式会社日立製作所 作業支援システム、撮影装置、及び表示装置
US20190253743A1 (en) * 2016-10-26 2019-08-15 Sony Corporation Information processing device, information processing system, and information processing method, and computer program
GB2555501B (en) * 2017-05-04 2019-08-28 Sony Interactive Entertainment Europe Ltd Head mounted display and method
CN107396077B (zh) * 2017-08-23 2022-04-08 深圳看到科技有限公司 虚拟现实全景视频流投影方法和设备

Also Published As

Publication number Publication date
CN112585987A (zh) 2021-03-30
WO2019243215A1 (en) 2019-12-26
JP7480065B2 (ja) 2024-05-09
TW202015399A (zh) 2020-04-16
CN112585987B (zh) 2023-03-21
EP3588970A1 (en) 2020-01-01
JP2021527974A (ja) 2021-10-14
KR20210024567A (ko) 2021-03-05
US20210258554A1 (en) 2021-08-19
EP3811631A1 (en) 2021-04-28
TWI828711B (zh) 2024-01-11

Similar Documents

Publication Publication Date Title
BR112020025897A2 (pt) Aparelho e método para gerar um fluxo de dados de imagem representando vistas de uma cena tridimensional
US10712555B2 (en) Streaming virtual reality video
KR20190031504A (ko) 파노라마 비디오의 상호작용적 전송을 위한 방법 및 시스템
US20190335166A1 (en) Deriving 3d volumetric level of interest data for 3d scenes from viewer consumption data
US11694390B2 (en) Apparatus and method for generating images of a scene
US20190068993A1 (en) Multi-Camera Image Coding
JP7480163B2 (ja) 画像の奥行きマップの処理
US20180310025A1 (en) Method and technical equipment for encoding media content
TW202029742A (zh) 影像合成
EP3676794A1 (en) Zooming an omnidirectional image or video
US11710273B2 (en) Image processing
BR112019027824A2 (pt) aparelho e método para gerar uma imagem, e produto de programa de computador
BR112021005361A2 (pt) aparelho para gerar um fluxo de vídeo de saída, método para gerar um fluxo de vídeo de saída, e produto de programa de computador
JP7479386B2 (ja) シーンを表す画像信号
US11887249B2 (en) Systems and methods for displaying stereoscopic rendered image data captured from multiple perspectives
JP7471307B2 (ja) シーンの画像表現
EP3716217A1 (en) Techniques for detection of real-time occlusion
TW202310614A (zh) 影像產生
US20200296281A1 (en) Capturing and transforming wide-angle video information
GB2568690A (en) Method for adaptive displaying of video content

Legal Events

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