BR112019007171B1 - Método e sistema para renderizar um objeto em uma visualização virtual - Google Patents

Método e sistema para renderizar um objeto em uma visualização virtual Download PDF

Info

Publication number
BR112019007171B1
BR112019007171B1 BR112019007171-7A BR112019007171A BR112019007171B1 BR 112019007171 B1 BR112019007171 B1 BR 112019007171B1 BR 112019007171 A BR112019007171 A BR 112019007171A BR 112019007171 B1 BR112019007171 B1 BR 112019007171B1
Authority
BR
Brazil
Prior art keywords
view
virtual
occlusion
virtual camera
field
Prior art date
Application number
BR112019007171-7A
Other languages
English (en)
Other versions
BR112019007171A2 (pt
BR112019007171A8 (pt
Inventor
Belinda Margaret Yee
Berty Jacques Alain Bhuruth
Original Assignee
Canon Kabushiki Kaisha
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 Canon Kabushiki Kaisha filed Critical Canon Kabushiki Kaisha
Publication of BR112019007171A2 publication Critical patent/BR112019007171A2/pt
Publication of BR112019007171A8 publication Critical patent/BR112019007171A8/pt
Publication of BR112019007171B1 publication Critical patent/BR112019007171B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2024Style variation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)
  • Studio Devices (AREA)

Abstract

um sistema e método implementados por computador para renderizar um objeto em uma visualização virtual. o método compreende determinar uma variação de uma medida de oclusão do objeto com o tempo, a medida de oclusão sendo uma avaliação de uma oclusão da visualização virtual pelo objeto, a variação da medida de oclusão determinada com base em uma trajetória do objeto. o método também compreende determinar um efeito de transição para o objeto com base na variação da medida de oclusão, o efeito de transição sendo um efeito visual, e aplicar o efeito de transição determinado para renderizar o objeto, o efeito de transição determinado sendo aplicado de acordo com uma posição do objeto à medida que o objeto move ao longo da trajetória.

Description

PEDIDOS RELACIONADOS
[0001] Este pedido reivindica prioridade de Convenção do Pedido de Patente US No. 15/385191, depositado em 20 de dezembro 2017, cujos conteúdos completos estão aqui incorporados pela referência em suas íntegras.
CAMPO TÉCNICO
[0002] A presente invenção diz respeito a ambientes virtuais e a um sistema e método para renderizar uma interação de objeto em uma visualização virtual de uma câmera virtual. A presente invenção também diz respeito a uma mídia legível por computador e aparelho para renderizar um objeto em uma visualização virtual.
FUNDAMENTOS
[0003] Durante operação de uma câmera física no mundo físico, um operador de câmera pode ver outros objetos físicos (por exemplo, pessoas em um campo) em torno da câmera física e preferir não colidir com os objetos físicos. Adicionalmente, as pessoas no campo podem ver a câmera física e o operador de câmera e preferir não colidir com a câmera ou operador. Em um sistema onde o operador de câmera está controlando uma câmera virtual, sendo uma câmera que existe virtualmente em uma reconstrução virtual do mundo físico, as mesmas possibilidades não estão presentes.
[0004] O propósito de um sistema de câmera virtual é capturar filmagens de câmera simulando uma câmera física, mas sem os problemas práticos de se ter uma câmera física em proximidade imediata com objetos no mundo real. Uma câmera física pode em algumas circunstâncias interferir em o que está acontecendo em uma cena. A meta para um sistema de câmera virtual é alavancar as vantagens de uma câmera virtual mantendo ainda características visuais de uma câmera física. Por exemplo, um sistema de câmera virtual pode ser capaz de preencher o campo de visão com o objeto de interesse se desejado pelo operador de câmera.
[0005] Sistemas de câmera virtual são normalmente associados com planos de corte, por exemplo, um plano de corte próximo e um plano de corte distante. Planos de corte são tipicamente orientados paralelos a um plano de imagem da câmera virtual, e posicionados próximos à câmera virtual para o plano de corte próximo e distante na distância para o plano de corte distante. Os planos de corte provêm restrições ao campo de visão da câmera virtual e definem onde polígonos de um malha de objetos se tornam visíveis a, e renderizados por, a câmera virtual. A distância do plano de corte próximo é definida tanto para permitir que o objeto se aproxime da câmera virtual quanto ao mesmo tempo não fazendo com que o objeto pareça massivamente distorcido. Na prática, é difícil para o operador de câmera conhecer esta distância e manter o objeto de interesse logo na frente do plano de corte próximo. Frequentemente, o objeto na visão da câmera virtual colide com um plano de corte próximo e a malha do objeto é fatiada à medida que o objeto passa pelo plano de corte. A câmera virtual consequentemente renderiza apenas uma porção da malha do objeto ainda também renderizando uma porção do interior da malha de objetos. A colisão de um objeto com um plano de corte é um resultado indesejável especialmente se o sistema de câmera virtual tiver como objetivo produzir filmagem de câmera realística.
[0006] Pessoas no mundo físico não são capazes de detectar a posição da câmera virtual e, em decorrência disso, podem livremente colidir com câmeras virtuais. O mesmo é válido para o operador de câmera que controla a câmera virtual. O operador de câmera, provavelmente controlando a câmera virtual por meio de uma tela de monitor, terá um reduzido nível de ciência do contexto e não será capaz de detectar objetos em torno da câmera virtual. A falta de ciência do contexto significa que objetos podem passar pela câmera virtual por trás. Os objetos são incialmente fora de visão do operador de câmera, e instantaneamente preenchem o campo de visão da câmera virtual à medida que os objetos passam pelo plano de corte próximo da câmera virtual. O objeto intruso que instantaneamente preenche a visão da câmera virtual causa uma interrupção quando tenta compor um outro objeto no campo de visão da câmera virtual.
[0007] Existe uma necessidade de abordar objetos virtuais que visivelmente estão sendo cortados pelo plano de corte. Existe também uma necessidade de propor um método que reduz oclusões disruptivas causadas por objetos que aparecem repentinamente no quadro próximo a uma câmera virtual.
[0008] A indústria de jogos de vídeo passou por problemas similares, e desenvolveu métodos padrões para abordar os problemas supradescritos. Um método conhecido implementa um raio de colisão em torno de objetos assegurando que os objetos não colidem uns com os outros no primeiro lugar. O uso de um raio de colisão resulta na câmera ricocheteando objetos à medida que eles colidem com a câmera; indesejavelmente ajustando a composição do operador de câmera. Um outro método conhecido desaparece gradualmente um objeto quando o objeto passa por um limite de distância em torno da câmera. Este método trata todos os objetos igualmente e assim objetos que passam pela câmera pela frente desaparecerão gradualmente na mesma distância que objetos passam pela câmera por trás.
SUMÁRIO
[0009] É um objetivo da presente invenção superar substancialmente, ou pelo menos atenuar, pelo menos uma desvantagem dos presentes arranjos.
[0010] Um aspecto da presente descrição provê um método para gerar um vídeo de visualização virtual, o método compreendendo: determinar um efeito de transição a ser aplicado a um objeto dentro de um campo de visão de uma câmera virtual com base em uma trajetória do objeto e posição ao longo da trajetória do objeto; e gerar o vídeo de visualização virtual com visibilidade do objeto modificada com base no efeito de transição determinado para exibição em um dispositivo de exibição.
[0011] Em alguns aspectos, a trajetória é uma trajetória com predição.
[0012] Em alguns aspectos, o efeito de transição é um de exibição, não exibição, aparecimento gradual, desaparecimento gradual, transparência, transformação de cor, mistura, brilho, saturação, textura, e estilo do objeto.
[0013] Em alguns aspectos, o efeito de transição é determinado com base em outros objetos na visualização virtual.
[0014] Em alguns aspectos, determinar o efeito de transição adicionalmente compreende determinar uma variação de uma medida de oclusão do objeto com o tempo.
[0015] Em alguns aspectos, a medida de oclusão é uma avaliação de uma oclusão da visualização virtual pelo objeto.
[0016] Em alguns aspectos, a variação da medida de oclusão é determinada com base na trajetória do objeto.
[0017] Em alguns aspectos, a variação na medida de oclusão é determinada com base em um objeto se mais que um objeto estiver na visualização virtual.
[0018] Em alguns aspectos, a medida de oclusão é determinada com base em um tamanho do objeto em relação à visualização virtual.
[0019] Em alguns aspectos, o efeito de transição é determinado com base em um tipo do objeto.
[0020] Em alguns aspectos, o efeito de transição é determinado com base em uma posição do objeto em relação a um plano de corte associado com a visualização virtual.
[0021] Em alguns aspectos, o efeito de transição é determinado com base em uma quantidade de tempo que o objeto está na visualização virtual.
[0022] Em alguns aspectos, o efeito de transição é determinado pela comparação de uma quantidade de tempo que o objeto está na visualização virtual com um limite.
[0023] Em alguns aspectos, o efeito de transição é aplicado com base na medida de oclusão satisfazendo um limite.
[0024] Em alguns aspectos, o efeito de transição é aplicado quando a medida de oclusão satisfaz um primeiro limite e conclui quando a medida de oclusão satisfaz um segundo limite.
[0025] Em alguns aspectos, o efeito de transição é aplicado com base na medida de oclusão satisfazendo pelo menos um limite, e pelo menos um limite é modificado com base no objeto interagindo com um outro objeto na visualização virtual.
[0026] Em alguns aspectos, o efeito de transição é um efeito visual.
[0027] Em alguns aspectos, a posição do objeto ao longo da trajetória do objeto dentro do campo de visão é com predição.
[0028] Um outro aspecto da presente descrição provê uma mídia legível por computador não transitória com um programa armazenado na mesma para gerar um vídeo de visualização virtual, o programa compreendendo: código para determinar um efeito de transição a ser aplicado a um objeto dentro de um campo de visão de uma câmera virtual com base em uma trajetória do objeto e posição ao longo da trajetória do objeto: e código para gerar o vídeo de visualização virtual com visibilidade do objeto modificada com base no efeito de transição determinado para exibição em um dispositivo de exibição.
[0029] Um outro aspecto da presente descrição provê aparelho para gerar um vídeo de visualização virtual, o aparelho configurado para: determinar um efeito de transição a ser aplicado a um objeto dentro de um campo de visão de uma câmera virtual com base em uma trajetória do objeto e posição ao longo da trajetória do objeto; e gerar o vídeo de visualização virtual com visibilidade do objeto modificada com base no efeito de transição determinado para exibição em um dispositivo de exibição.
[0030] Um outro aspecto da presente descrição provê um sistema compreendendo: uma pluralidade de dispositivos de captura de imagem; e uma memória para armazenar dados e uma mídia legível por computador; e um processador acoplado à memória para executar um programa de computador, o processador em comunicação com a pluralidade de dispositivos de captura de imagem por meio de uma rede, o programa tendo instruções para: determinar um efeito de transição a ser aplicado a um objeto dentro de um campo de visão de uma câmera virtual com base em uma trajetória do objeto e posição ao longo da trajetória do objeto; e gerar o vídeo de visualização virtual com visibilidade do objeto modificada com base no efeito de transição determinado para exibição em um dispositivo de exibição.
[0031] Um outro aspecto da presente descrição provê um método implementado por computador para renderizar um objeto em uma visualização virtual, o método compreendendo: determinar uma variação de uma medida de oclusão do objeto com o tempo, a medida de oclusão sendo uma avaliação de uma oclusão da visualização virtual pelo objeto, a variação da medida de oclusão determinada com base em uma trajetória do objeto; determinar um efeito de transição para o objeto com base na variação da medida de oclusão, o efeito de transição sendo um efeito visual; e aplicar o efeito de transição determinado para renderizar o objeto, o efeito de transição determinado sendo aplicado de acordo com uma posição do objeto à medida que o objeto move ao longo da trajetória.
[0032] Em alguns aspectos, a trajetória é uma trajetória com predição.
[0033] Em alguns aspectos, o efeito de transição é um de exibição, não exibição, aparecimento gradual, desaparecimento gradual, transparência, transformação de cor, mistura, brilho, saturação, textura, e estilo do objeto.
[0034] Em alguns aspectos, o efeito de transição é determinado com base em outros objetos na visualização virtual.
[0035] Em alguns aspectos, a variação na medida de oclusão é determinada com base em um objeto se mais que um objeto estiverem na visualização virtual.
[0036] Em alguns aspectos, a medida de oclusão é determinada com base em um tamanho do objeto em relação à visualização virtual.
[0037] Em alguns aspectos, o efeito de transição é determinado com base em um tipo do objeto.
[0038] Em alguns aspectos, o efeito de transição é determinado com base em uma posição do objeto em relação a um plano de corte associado com a visualização virtual.
[0039] Em alguns aspectos, o efeito de transição é determinado com base em uma quantidade de tempo que o objeto está na visualização virtual.
[0040] Em alguns aspectos, o efeito de transição é determinado pela comparação de uma quantidade de tempo que o objeto está na visualização virtual com um limite.
[0041] Em alguns aspectos, o efeito de transição é aplicado com base na medida de oclusão satisfazendo um limite.
[0042] Em alguns aspectos, o efeito de transição é aplicado quando a medida de oclusão satisfaz um primeiro limite e conclui quando a medida de oclusão satisfaz um segundo limite.
[0043] Em alguns aspectos, o efeito de transição é aplicado com base na medida de oclusão satisfazendo pelo menos um limite, e pelo menos um limite é modificado com base no objeto interagindo com um outro objeto na visualização virtual.
[0044] Um outro aspecto da presente descrição provê uma mídia legível por computador não transitória com um programa armazenado na mesma para renderizar um objeto em uma visualização virtual, o programa compreendendo: código para determinar uma variação de uma medida de oclusão do objeto com o tempo, a medida de oclusão sendo uma avaliação de uma oclusão da visualização virtual pelo objeto, a variação da medida de oclusão determinada com base em uma trajetória do objeto; código para determinar um efeito de transição para o objeto com base na variação da medida de oclusão, o efeito de transição sendo um efeito visual; e código para aplicar o efeito de transição determinado para renderizar o objeto, o efeito de transição determinado sendo aplicado de acordo com uma posição do objeto à medida que o objeto move ao longo da trajetória.
[0045] Um outro aspecto da presente descrição provê aparelho para renderizar um objeto em uma visualização virtual, o aparelho configurado para: determinar uma variação de uma medida de oclusão do objeto com o tempo, a medida de oclusão sendo uma avaliação de uma oclusão da visualização virtual pelo objeto, a variação da medida de oclusão determinada com base em uma trajetória do objeto; determinar um efeito de transição para o objeto com base na variação da medida de oclusão, o efeito de transição sendo um efeito visual; e aplicar o efeito de transição determinado para renderizar o objeto, o efeito de transição determinado sendo aplicado de acordo com uma posição do objeto à medida que o objeto move ao longo da trajetória.
[0046] Um outro aspecto da presente descrição provê um sistema compreendendo: uma pluralidade de dispositivos de captura de imagem; e uma memória para armazenar dados e uma mídia legível por computador; e um processador acoplado à memória para executar um programa de computador, o processador em comunicação com a pluralidade de dispositivos de captura de imagem por meio de uma rede, o programa tendo instruções para: gerar uma visualização virtual usando dados recebidos da pluralidade de dispositivos de captura de imagem; determinar uma variação de uma medida de oclusão de um objeto na visualização virtual com o tempo, a medida de oclusão sendo uma avaliação de uma oclusão da visualização virtual pelo objeto, a variação da medida de oclusão determinada com base em uma trajetória do objeto; determinar um efeito de transição para o objeto com base na variação da medida de oclusão, o efeito de transição sendo um efeito visual; e aplicar o efeito de transição determinado para renderizar o objeto, o efeito de transição determinado sendo aplicado de acordo com uma posição do objeto à medida que o objeto move ao longo da trajetória.
BREVE DESCRIÇÃO DOS DESENHOS
[0047] Uma ou mais modalidades da invenção serão agora descritas com referência aos desenhos seguintes.
[0048] A Fig. 1 mostra um exemplo de um sistema de câmeras de vídeo em rede circundando um estádio esportivo, a câmera de vídeo alimentando dados de vídeo a um sistema de processamento.
[0049] A Fig. 2 mostra um exemplo de uma câmera virtual.
[0050] A Fig. 3 mostra um fluxograma esquemático de um método para renderizar um objeto em uma visualização virtual de acordo com uma modalidade de exemplo.
[0051] A Fig. 4 mostra um fluxograma esquemático de um método para determinar uma medida de oclusão da forma usada no método da Fig. 3.
[0052] A Fig. 5 mostra um gráfico de exemplo plotando um perfil de oclusão de um objeto em um campo de visão de uma câmera virtual.
[0053] As Figs. 6A a 6D mostram um exemplo de aplicação de um efeito de transição com base em uma medida de oclusão quando um objeto está se aproximando pela frente de uma câmera virtual.
[0054] As Figs. 7A a 7D mostram um exemplo de aplicação de um efeito de transição com base em uma medida de oclusão quando um objeto está se aproximando por trás de uma câmera virtual.
[0055] As Figs. 8A a 8D mostram um exemplo alternativo de aplicação de um efeito de transição com base em uma medida de oclusão quando um objeto está se aproximando por trás de uma câmera virtual.
[0056] As Figs. 9A a 9D mostram um cenário de exemplo para aplicação de um efeito de transição com base em uma medida de oclusão quando um objeto está se aproximando perpendicularmente a um campo de visão da câmera virtual e próximo à câmera virtual.
[0057] As Figs. 10A a 10D mostram um cenário de exemplo para aplicação de um efeito de transição com base em uma medida de oclusão quando um objeto está se aproximando perpendicularmente a um campo de visão da câmera virtual e distante da câmera virtual.
[0058] As Figs. 11 A a 11 D mostram um cenário de exemplo para aplicação de um efeito de transição com base em uma medida de oclusão quando um objeto está movendo através de um campo de visão da câmera virtual, longe da câmera virtual.
[0059] As Figs. 12A a 12D mostram um cenário de exemplo de renderização de um objeto quando dois objetos interagem na frente de uma câmera virtual.
[0060] As Figs. 13A e 13B formam um diagrama de blocos esquemático de um sistema de computador de uso geral no qual arranjos descritos podem ser praticados.
DESCRIÇÃO DETALHADA INCLUINDO MELHOR MODO
[0061] A presente descrição diz respeito a ambientes virtuais e como objetos virtuais interagem com um campo de visão de uma câmera virtual quando os objetos virtuais estão próximos à câmera virtual e ao plano de corte próximo. Os arranjos descritos se referem a deixar que objetos ocultem grandes porções do campo de visão se for determinado que a oclusão reflete uma provável intenção do operador de câmera.
[0062] Os arranjos descritos aqui se destinam ao uso no contexto de uma arena de representação como exemplificado na Fig. 1. Como mostrado na Fig. 1, um sistema 100 inclui uma arena 110 considerada centralizada em um campo de jogos que é aproximadamente retangular, oval ou circular, que permite que a arena 1 10 seja circundada por um ou mais anéis de câmeras 120A a 12X. Como visto na Fig. 1, a arena 1 10 inclui um único anel de câmeras 120A a 120X. Cada da pluralidade de câmeras 120A a 120X é localizada em uma localização predeterminada com relação à arena 1 10. Nos arranjos descritos, a arena 110 é um campo, entretanto, em outros arranjos, a arena 1 10 pode ser um palco de música, teatro, avenida pública ou privada. O campo 1 10, no exemplo da Fig. 1, contém pelo menos um objeto 140. O objeto 140 pode ser um indivíduo ou pessoas, uma bola, um veículo ou qualquer estrutura.
[0063] As câmeras 120A a 120X mostradas na Fig. 1 são sincronizadas para adquirir quadros nos mesmos instantes de tempo de forma que todos os pontos no campo 1 10 sejam capturados simultaneamente de um grande número de pontos de visualização. Em algumas variações, um anel total de câmera 120a a 120X mostrado na Fig. 1 não é empregado mas, em vez disso, alguns subconjuntos de um perímetro total da arena 1 10 são empregados. Arranjos que não usam um anel total de câmeras podem ser vantajosos quando certos pontos de visualização são conhecidos como desnecessários antecipadamente.
[0064] Quadros de vídeo capturados pelas câmeras 120A a 120X são submetidos ao processamento e armazenamento temporário próximo a uma das câmeras, por exemplo, a câmera 120A, antes de ficar disponível por meio de uma conexão de rede 1321 (vide Fig. 13A) para uma unidade de processamento 1305 (vide Figs. 13A e 13B). A unidade de processamento 1305 recebe entrada de controle de um controlador 180 que especifica a posição, orientação, grande aproximação e possivelmente outros recursos de câmera simulada para uma câmera virtual 150 dentro do campo 1 10. O controlador 180 é tipicamente operado por um usuário do sistema 100, e pode ser qualquer controlador adequado para definir parâmetros das câmeras 120A a 120X. Como visto na Fig. 13A, a unidade de processamento 1305 é configurada dentro de um módulo de computador 1301. Entretanto, em implementações alternativas, uma unidade de processamento de vídeo separada pode ser usada para implementar os arranjos descritos.
[0065] A unidade de processamento 1305, também referida como um processador, é configurada para sintetizar ou gerar uma visualização de câmera virtual especificada 190 com base nos fluxos de vídeo disponíveis à unidade de processamento 1305 pelas câmeras 120A-120X que circundam o campo 1 10.
[0066] A expressão "câmera virtual" se refere a uma câmera com funcionalidade computacionalmente derivada. A funcionalidade é computacionalmente derivada por métodos tal como interpolação entre câmeras físicas (tais como as câmeras 120A a 120X) ou renderização de uma cena 3D modelada construída usando dados das câmeras físicas (120A-120X) que circundam uma cena, em vez de simplesmente a saída de qualquer câmera física individual. Uma câmera virtual diz respeito para renderizar uma visualização virtual, por exemplo, uma sequência de vídeos, usando dados de pixel obtidos de uma ou mais câmeras físicas. A visualização virtual se refere a um campo de visão da câmera virtual. As câmeras físicas 120A a 120X podem ser qualquer dispositivo de captura de imagem capaz de capturar dados de imagem ou vídeo, por exemplo, câmeras de digital ou vídeo. As câmeras 120A a 120X são preferivelmente câmeras de alta resolução adequadas para gerar vídeo de difusão, por exemplo, para difusões de esportes.
[0067] Uma entrada de localização de câmera virtual pode ser gerada por um operador humano de câmera virtual e ser baseada em entrada de um dispositivo de interface de usuário tais como um manete de jogos, mouse, tal como um mouse 1303 na Fig. 13A, ou controlador similar, tal como o controlador 180, incluindo controladores dedicados compreendendo múltiplos componentes de entrada. Alternativamente, a posição de câmera virtual pode ser gerada de maneira totalmente automática com base em análise de mecânica de jogos. Configurações de controle híbridas são também possíveis, por meio do que alguns aspectos de posicionamento de câmera são direcionados por um operador humano e outros por um algoritmo automatizado. Por exemplo, posicionamento grosseiro pode ser feito por um operador humano e posicionamento fino, incluindo estabilização e suavização de trajeto, realizado por um algoritmo automatizado executado no processador 1305.
[0068] A unidade de processamento 1305 é configurada para alcançar síntese de quadros, ou seja, renderizar a câmera virtual de visão, usando métodos de renderização baseados em imagem conhecidos na técnica. Métodos de renderização baseados em imagem são baseados em dados de pixel de amostragem de um conjunto de câmeras de um arranjo geométrico conhecido e combinando a informação de pixel amostrada em um quadro sintetizado. Além da renderização baseada em amostra do quadro solicitado, a unidade de processamento 1305 pode também ser configurada para realizar sínteses, modelagem 3D, reconstrução de partes ou interpolação de regiões da maneira exigida cobrindo deficiências de amostragem para criar quadros de aparência visual de alta qualidade. O processador 1305 pode também ser configurado para prover realimentação na forma de qualidade de quadro ou integralidade de cobertura da câmera para um ponto de visualização solicitado de forma que o dispositivo de controlador 180 gere o sinal de controle de posição da câmera possa estar a par dos limites práticos do sistema de processamento 100. Fluxos de vídeo para a visualização virtual 190 criados ou renderizados pela unidade de processamento 1305 podem subsequentemente ser providos a uma mesa de produção (não representada). Os fluxos de vídeo são editados juntos na mesa de produção para formar um vídeo de difusão.
[0069] Alternativamente, os fluxos de vídeo podem ser difundidos na forma não editada ou armazenados para compilação posterior.
[0070] A flexibilidade proporcionada pelo sistema 100 supradescrito apresenta um conjunto secundário de problemas não previamente previstos na transmissão por difusão tal como cobertura esportiva. Por exemplo, a câmera virtual 150 é livre para mudar de posição e/ou orientação no campo 1 10 sem a necessidade de um objeto físico ou um operador de câmera estar em uma posição particular. Adicionalmente, como aqui descrito, o corte de um objeto na visualização virtual pode ocorrer.
[0071] Como aqui descrito, alguns métodos conhecidos relativos a câmeras virtuais definem uma distância limite para evitar corte. Pela definição de uma distância limite fica difícil solucionar simultaneamente problemas de permitir que um objeto de interesse preencha o campo de visão, e de impedir que um objeto que se aproxima por trás de uma câmera virtual preencha o campo de visão e oculte quaisquer possíveis objetos de interesse.
[0072] As Figs. 13A e 13B representam um sistema de computador de uso geral 1300, no qual os vários arranjos descritos podem ser praticados.
[0073] Como visto na Fig. 13A, o sistema de computador 1300 inclui: o módulo de computador 1301; dispositivos de entrada tais como um teclado 1302, o dispositivo de apontamento tipo mouse 1303, um escâner 1326, uma câmera 1327, e um microfone 1380; e dispositivos de saída incluindo uma impressora 1315, um dispositivo de exibição 1314 e alto-falantes 1317. Um dispositivo transceptor Modulador- Demodulador externo (Modem) 1316 pode ser usado pelo módulo de computador 1301 para comunicação bidirecional de uma rede de comunicações 1320 por meio da conexão 1321. A rede de comunicações 1320 pode ser uma rede de área abrangente (WAN), tal como a Internet, uma rede de telecomunicações celular, ou uma WAN privada. Onde a conexão 1321 é uma linha telefônica, o modem 1316 pode ser um modem "dial-up" tradicional. Alternativamente, onde a conexão 1321 é uma conexão de alta capacidade (por exemplo, cabo), o modem 1316 pode ser um modem de banda larga. Um modem sem fio pode também ser usado para conexão sem fio à rede de comunicações 1320.
[0074] The módulo de computador 1301 tipicamente inclui pelo menos uma unidade de processador 1305, e uma unidade de memória 1306. Por exemplo, a unidade de memória 1306 pode ter memória de acesso aleatório de semicondutor (RAM) e memória apenas de leitura de semicondutor (ROM). O módulo de computador 1301 também inclui diversas interfaces entrada/saída (I/O) incluindo: uma interface de audio-vídeo 1307 que acopla ao monitor de vídeo 1314, alto-falantes 1317 e microfone 1380; uma interface I/O 1313 que acopla ao teclado 1302, mouse 1303, escâner 1326, câmera 1327, controlador 180 e opcionalmente uma manete de jogos ou outro dispositivo de interface de humano (não ilustrado); e uma interface 1308 para o modem externo 1316 e impressora 1315. Em algumas implementações, o modem 1316 pode ser incorporado no módulo de computador 1301, por exemplo, na interface 1308. O módulo de computador 1301 também tem uma interface de rede local 1311, que permite acoplamento do sistema de computador 1300 por meio de uma conexão 1323 a uma rede de comunicações de área local 1322, conhecida como uma Rede de Área Local (LAN). Como ilustrado na Fig. 13A, a rede comunicações de local 1322 pode também acoplar a rede abrangente 1320 por meio de uma conexão 1324, que tipicamente incluiria um assim chamado dispositivo "firewall" ou dispositivo de funcionalidade similar. A interface de rede local 131 1 pode compreender um cartão de circuito Ethernet, um arranjo sem fio Bluetooth* ou um arranjo sem fio IEEE 802.11; entretanto, inúmeros outros tipos de interfaces podem ser praticados para a interface 1311.
[0075] As interfaces I/O 1308 e 1313 podem disponibilizar tanto um quanto ambos de conectividade serial e paralela, o primeiro tipicamente sendo implementado de acordo com os padrões do Barramento Serial Universal (USB) e com conectores USB correspondentes (não ilustrados). Dispositivos de armazenamento 1309 são providos e tipicamente incluem uma unidade de disco rígido (HDD) 1310. Outros dispositivos de armazenamento tais como uma unidade de disco flexível e uma unidade de fita magnética (não ilustrada) podem também ser usados. Uma unidade de disco óptico 1312 é tipicamente provida para agir como uma fonte não volátil de dados. Dispositivos de memória portáteis, tais como discos ópticos (por exemplo, CD-ROM, DVD, Blu-ray Disc™), USB-RAM, unidades rígidas portáteis externas, e discos flexíveis, por exemplo, podem ser usados como fontes de dados apropriadas no sistema 1300.
[0076] Os componentes 1305 a 1313 do módulo de computador 1301 tipicamente comunicam por meio de um barramento interconectado 1304 e de uma maneira que resulta em um modo convencional de operação do sistema de computador 1300 conhecido pelos versados na técnica relevante. Por exemplo, o processador 1305 é acoplado ao barramento do sistema 1304 usando uma conexão 1318. Similarmente, a memória 1306 e a unidade de disco rígido 1312 são acopladas ao barramento do sistema 1304 por conexões 1319. Exemplos de computadores nos quais os arranjos descritos podem ser praticados incluem IBM-PC's e compatíveis, Sun Sparcstations, Apple Mac™ ou sistemas de computadores similares.
[0077] Os métodos descritos podem ser implementados usando o sistema de computador 1300 em que os processos das Figs. 3 e 4, a serem descritos, podem ser implementados como um ou mais programas de aplicação de software 1333 executáveis no sistema de computador 1300. Em particular, as etapas dos métodos das Figs. 3 e 4 são afetadas por instruções 1331 (vide Fig. 13B) no software 1333 que são realizadas no sistema de computador 1300. AS instruções de software 1331 podem ser formadas como um ou mais módulos de código, cada qual para realizar uma ou mais tarefas particulares. O software pode também ser dividido em duas partes separadas, nas quais uma primeira parte os módulos de código correspondentes realizam os métodos descritos e uma segunda parte e os módulos de código correspondentes gerenciam uma interface de usuário entre a primeira parte e o usuário.
[0078] O software pode ser armazenado em uma mídia legível por computador, incluindo os dispositivos de armazenamento descritos a seguir, por exemplo. O software é carregado no sistema de computador 1300 pela mídia legível por computador, e então executado pelo sistema de computador 1300. Uma mídia legível por computador com um software como esse ou programa de computador gravado na mídia legível por computador é um produto programa de computador. O uso do produto programa de computador no sistema de computador 1300 preferivelmente afeta um aparelho vantajoso para implementar os arranjos descritos.
[0079] O software 1333 é tipicamente armazenado no HDD 1310 ou na memória 1306. O software é carregado no sistema de computador 1300 a partir de uma mídia legível por computador, e executado pelo sistema de computador 1300. Dessa forma, por exemplo, o software 1333 pode ser armazenado em uma mídia de armazenamento de disco opticamente legível (por exemplo, CD-ROM) 1325 que é lida pela unidade de disco óptico 1312. Uma mídia legível por computador com tal software ou programa de computador gravado nela é um produto programa de computador. O uso do produto programa de computador no sistema de computador 1300 preferivelmente afeta um aparelho para implementar os métodos descritos.
[0080] Em alguns casos, os programas de aplicação 1333 podem ser supridos ao usuário codificados em um ou mais CD-ROMs 1325 e lidos por meio da unidade correspondente 1312, ou alternativamente podem ser lidos pelo usuário a partir das redes 1320 ou 1322. Ainda adicionalmente, o software pode também ser carregado no sistema de computador 1300 por outra mídia legível por computador. Mídia de armazenamento legível por computador se refere a qualquer mídia de armazenamento tangível não transitória que provê instruções e/ou dados gravados no sistema de computador 1300 para execução e/ou processamento.
[0081] Exemplos de tal mídia de armazenamento incluem discos flexíveis, fita magnética, CD-ROM, DVD, Disco Blu-ray 1, uma unidade de disco rígido, um ROM ou circuito integrado, memória USB, um disco magneto-óptico, ou um cartão legível por computador tal como um cartão PCMCIA e similares, quer ou não tais dispositivos sejam internos ou externos ao módulo de computador 1301. Exemplos de mídia de transmissão legível por computador transitória ou não tangível que podem também participar na provisão de software, programas de aplicação, instruções e/ou dados ao módulo de computador 1301 incluem canais de transmissão de rádio ou infravermelho bem como uma conexão de rede a um outro computador ou dispositivo ligado em rede, e a Internet ou Intranets incluindo transmissões de correio eletrônico e informação gravada em Websites e similares.
[0082] A segunda parte dos programas de aplicação 1333 e os módulos de código correspondentes supramencionados podem ser executados para implementar uma ou mais interfaces gráficas de usuário (GUIs) para ser renderizadas ou senão representadas no monitor 1314. Pela manipulação tipicamente do teclado 1302 e do mouse 1303, um usuário do sistema de computador 1300 e da aplicação pode manipular a interface de uma maneira funcionalmente adaptável para prover comandos de controle e/ou entrada nas aplicações associadas com a(s) GUI(s). Outras formas de interfaces de usuário funcionalmente adaptáveis podem também ser implementadas, tais como uma interface de áudio utilizando saída alertas de voz produzidos por meio dos alto-falantes 1317 e comandos de voz de usuário alimentadas por meio do microfone 1380.
[0083] A Fig. 13B é um diagrama de blocos esquemático detalhado do processador 1305 e de uma "memória" 1334. A memória 1334 representa uma agregação lógica de todos os módulos de memória (incluindo o HDD 1309 e memória de semicondutor 1306) que podem ser acessados pelo módulo de computador 1301 na Fig. 13A.
[0084] Quando o módulo de computador 1301 é incialmente ligado, um programa de autoteste de inicialização (POST) 1350 é executado. O programa POST 1350 é tipicamente armazenado em uma ROM 1349 da memória de semicondutor 1306 da Fig. 13A. Um dispositivo de hardware tal como o ROM 1349 que armazena software é algumas vezes referido como firmware. O programa POST 1350 examina hardware no módulo de computador 1301 para garantir funcionamento adequado e tipicamente verifica o processador 1305, a memória 1334 (1309, 1306), e um módulo de software de sistemas de entrada-saída básicos (BIOS) 1351, também tipicamente armazenado na ROM 1349, para correta operação. Uma vez que o programa POST 1350 tenha rodado com sucesso, o BIOS 1351 ativa a unidade de disco rígido 1310 da Fig. 13A. A ativação da unidade de disco rígido 1310 faz com que um programa carregador de inicialização 1352 que é residente na unidade de disco rígido 1310 execute por meio do processador 1305. Isto carrega um sistema operacional 1353 na memória RAM 1306, mediante o que o sistema operacional 1353 inicia a operação. O sistema operacional 1353 é uma aplicação a nível de sistema, executável pelo processador 1305, para desempenhar várias funções de alto nível, incluindo gerenciamento de processador, gerenciamento de memória, gerenciamento de dispositivo, gerenciamento de armazenamento, interface de aplicação de software, e interface de usuário genérico.
[0085] O sistema operacional 1353 gerencia a memória 1334 (1309, 1306) para garantir que cada processo ou aplicação que roda no módulo de computador 1301 tenha memória suficiente na qual executa sem colidir com memória alocada a um outro processo. Além do mais, os diferentes tipos de memória disponíveis no sistema 1300 da Fig. 13A têm que ser usados devidamente de forma que cada processo possa rodar efetivamente. Dessa maneira, a memória agregada 1334 não tem o objetivo de ilustrar como segmentos particulares de memória são alocados (a menos que de outra forma declarado), mas em vez disso provê uma visualização geral da memória acessível pelo sistema de computador 1300 e como tal é usada.
[0086] Como mostrado na Fig. 13B, o processador 1305 inclui inúmeros módulos funcionais incluindo uma unidade de controle 1339, um unidade de lógica aritmética (ALU) 1340, e uma memória local ou interna 1348, algumas vezes denominada uma memória cache. A memória cache 1348 tipicamente inclui diversos registros de armazenamento 1344 - 1346 em uma seção de registro. Um ou mais barramentos internos 1341 interconectam funcionalmente esses módulos funcionais. O processador 1305 tipicamente também tem uma ou mais interfaces 1342 para comunicar com dispositivos externos por meio do barramento do sistema 1304, usando uma conexão 1318. A memória 1334 é acoplada ao barramento 1304 usando uma conexão 1319.
[0087] O programa de aplicação 1333 inclui uma sequência de instruções 1331 que pode incluir instruções de ramificação e laço condicionais. O programa 1333 pode também incluir dados 1332 que são usados na execução do programa 1333. As instruções 1331 e os dados 1332 são armazenados em localizações de memória 1328, 1329, 1330 e 1335, 1336, 1337, respectivamente. Dependendo do tamanho relativo das instruções 1331 e das localizações de memória 1328-1330, uma instrução particular pode ser armazenada em uma única localização de memória como representado pela instrução mostrada na localização de memória 1330. Alternativamente, uma instrução pode ser segmentada em diversas partes, cada uma das quais é armazenada em uma localização de memória separada, como representado pelos segmentos de instrução mostrados nas localizações de memória 1328 e 1329.
[0088] Em geral, o processador 1305 é atribuído com um conjunto de instruções que são executadas no mesmo. O processador 1305 espera por uma entrada subsequente, à qual o processador 1305 reage executando um outro conjunto de instruções. Cada entrada pode ser provida por uma ou mais de inúmeras fontes, incluindo dados gerados por um ou mais dos dispositivos de entrada 1302, 1303, dados recebidos de uma fonte externa através de uma das redes 1320, 1302, dados recuperados de um dos dispositivos de armazenamento 1306, 1309 ou dados recuperados de uma mídia de armazenamento 1325 inserida na leitora correspondente 1312, todos representados na Fig. 13A. A execução de um conjunto das instruções pode em alguns casos resultar em saída de dados. A execução pode também envolver o armazenamento de dados ou variáveis na memória 1334.
[0089] Os arranjos descritos usam variáveis de entrada 1354, que são armazenadas na memória 1334 em localizações de memória correspondentes 1355, 1356, 1357. Os arranjos descritos produzem variáveis de saída 1361, que são armazenadas na memória 1334 em localizações de memória correspondentes 1362, 1363, 1364. Variáveis intermediárias 1358 podem ser armazenadas em localizações de memória 1359, 1360, 1366 e 1367.
[0090] Referindo-se ao processador 1305 da Fig. 13B, os registros 1344, 1345, 1346, a unidade de lógica aritmética (ALU) 1340, e a unidade de controle 1339 trabalham juntas para realizar sequências de micro-operações necessárias para realizar ciclos de "busca, decodificação e execução" para cada instrução no conjunto de instruções que constituem o programa 1333. Cada ciclo de busca, decodificação e execução compreende: uma operação de busca, que busca ou lê uma instrução 1331 de uma localização de memória 1328, 1329, 1330; uma operação de decodificação na qual a unidade de controle 1339 determina qual instrução foi buscada; e uma operação de executar na qual a unidade de controle 1339 e/ou a ALU 1340 executam a instrução.
[0091] Em seguida, um ciclo de busca, decodificação e execução adicional para a instrução seguinte pode ser executado. Similarmente, um ciclo de armazenamento pode ser realizado pelo qual a unidade de controle 1339 armazena ou grava um valor em uma localização de memória 1332.
[0092] Cada etapa ou sub-processo nos processos das Figs. 3 e 4 é associada com um ou mais segmentos do programa 1333 e é realizada pela seção de registro 1344, 1345, 1347, a ALU 1340, e a unidade de controle 1339 no processador 1305 funcionado juntas para realizar os ciclos de busca, decodificação e execução para cada instrução no conjunto de instruções para os segmentos notados do programa 1333.
[0093] Os métodos descritos podem alternativamente ser implementados em hardware dedicado tais como um ou mais circuitos integrados que realizam as funções ou subfunções das Figs. 3 e 4. Tal hardware dedicado pode incluir processadores gráficos, processadores de sinal digital, ou um ou mais microprocessadores e memórias associadas.
[0094] A Fig. 2 é uma representação ortográfica de uma câmera virtual 210 (similar à câmera virtual 150) usada nos arranjos descritos. A câmera virtual 210 tem um campo de visão 250. O campo de visão 250 é limitado por bordas 220, um plano de corte próximo 230 e um plano de corte distante 240.
[0095] Objetos que entram no campo de visão 250 ficam visíveis para a câmera virtual 210. O plano de corte próximo 230 é definido em uma profundidade próxima à câmera virtual 210 enquanto o plano de corte distante 240 é definido em uma profundidade relativamente distante da câmera 210. Mesmo que a câmera virtual 210 tenha o plano de corte distante 240, os arranjos descritos se relacionam ao plano de corte próximo 230. Para facilidade de referência, todas as representações seguintes representam câmeras virtuais, por exemplo, a câmera virtual 210 com relação à apenas um lugar de corte próximo, por exemplo, o plano de corte próximo 230.
[0096] Objetos que movem em torno do campo 110 podem entrar no campo de visão 250 da câmera virtual 210 por qualquer direção sem o conhecimento do operador de câmera, causando oclusões que rompem a formação de quadros do operador de câmera de um objeto de interesse visado.
[0097] Os arranjos descritos se referem a um método para renderizar um objeto em uma visualização virtual com base em uma medida de oclusão determinada derivada da trajetória do objeto e um campo de visão da câmera virtual. Aplicação do efeito de transição ao objeto garante que a câmera virtual não renderiza o objeto como o objeto que está sendo cortado pelo plano de corte próximo. Na determinação de uma medida de oclusão, os arranjos descritos permitem que objetos que ocultam disruptivamente o campo de visão tenham um efeito de transição aplicado que reduz a oclusão disruptiva. No contexto da presente descrição, oclusão disruptiva se refere à oclusão um objeto de interesse potencial ou oclusão de mais que uma porção predeterminada do campo de visão, por exemplo, 50% do campo de visão.
[0098] A Fig. 3 mostra um método 300 para renderizar um objeto em um campo de visão de câmera virtual. O método 300 é tipicamente implementado como um ou mais módulos da aplicação 333, armazenados na unidade rígida 1310 e executados sob controle do processador 1305.
[0099] O método 300 começa em uma etapa de obtenção 310. Na etapa 310, dados que refletem o campo de visão 220 da câmera virtual 210 são obtidos. O campo de dados de visão é obtido da construção da câmera virtual pelo processador 1305 usando dados de vídeo recebidos das câmeras físicas 120A a 120X. No exemplo da Fig. 1e, o campo de dados de visão é atualizado para refletir mudanças feitas nos parâmetros das câmeras físicas 120A a 120X pelo operador de câmera com dados de entrada do controlador 180, se apropriado.
[0100] O método 300 continua sob execução do processador 1305 da etapa 310 até uma etapa de obtenção 320. Na etapa 320, dados de posição de um objeto no campo 110 são obtidos. Em um arranjo, o objeto é uma pessoa no campo esportivo. Em outros arranjos, o objeto não é uma pessoa, mas poderia ser uma bola ou um veículo ou algum outro tipo de objeto. Um método para obter dados de posição para um objeto é por meio de um dispositivo de rastreamento (não mostrado) afixado ao objeto. O dispositivo de rastreamento compreende um receptor de GPS que transmitiria as coordenadas do objeto a uma localização central por uma conexão sem fio, por exemplo, IEEE 802.1 1 ou RFID. Em um arranjo alternativo, dados de posição poderiam ser extraídos da reconstrução dos quadros de vídeo, um exemplo sendo usando o arranjo de câmeras 120A-120X e as visualizaçãos correspondentes. A aplicação 1333 usa reconhecimento óptico de caracteres (OCR) para extrair recursos de identificação de objetos tais como nomes e números de jogador. Em um arranjo alternativo, dados de posição poderiam ser extraído do modelo 3D construído. O sistema 100 pode ser incialmente iniciado quando a arena está vazia, provendo uma linha de base. Uma vez que os objetos entram na arena e são representados no modelo 3D, a diferença entre o modelo 3D atual e o modelo 3D de linha de base indica a posição de objetos. Em outros arranjos, a aplicação 1333 segue um conjunto de regras com base no tamanho do objeto, velocidade de movimento, e posição para classificar tipos de objetos identificados no modelo. Por exemplo, um objeto relativamente pequeno que move rapidamente em e acima da arena é classificado como a bola, e um objeto do tamanho da mídia com aproximadamente 1,7m de altura que move ao longo do terreno é classificado como uma pessoa.
[0101] O método 300 continua sob execução do processador 1305 da etapa 320 a uma etapa de determinação 330. Na etapa 330, a trajetória do objeto é determinada. Existem implementações para determinar a trajetória do objeto. Em um arranjo, a aplicação 133 gera uma reconstrução virtual de um evento previamente capturado (Reprodução), onde os movimentos do objeto são conhecidos. Em um outro arranjo, a aplicação 133 gera uma reconstrução virtual em tempo real (ao vivo) onde a trajetória do objeto é uma trajetória com predição. A trajetória com predição é, por exemplo, determinada com base na trajetória atual, usando a posição atual e velocidade e rapidez atuais e então extrapolando à frente no tempo.
[0102] O método 300 continua sob execução do processador 1305 da etapa 330 até uma etapa de determinação 340. Na etapa 340, uma medida de oclusão para o objeto é determinada. Um método 400 para determinar uma medida de oclusão, como implementado na etapa 340, é descrito a seguir em relação à Fig. 4. Na determinação de uma medida de oclusão, a etapa 340 também opera para selecionar um efeito de transição, sendo um efeito visual.
[0103] O método 300 continua sob execução do processador 1305 da etapa 340 até uma etapa de aplicação 350. Na etapa 350, um efeito de transição é aplicado ao objeto com base na medida de oclusão determinada. O efeito de transição é aplicado de acordo com uma posição do objeto que move ao longo de uma trajetória. A aplicação do efeito de transição opera para renderizar o objeto em uma visualização virtual, tal como a visualização 190. Em um arranjo, um efeito de transição de transparência é aplicado ao objeto. Entretanto, outros arranjos aplicam um ou uma combinação de efeitos de transição, tal como seleção se exibe ou não exibe, aparecimento gradual, desaparecimento gradual, mudança ou transformação de cor, mistura, brilho, saturação, textura, efeito visual, ou estilo do objeto. O efeito de transição poderia também ser baseado em um tipo do objeto e um tamanho relativo do objeto. Por exemplo, um efeito de transição de transparência poderia ser usado para uma pessoa, um efeito de transição textual poderia ser usado para uma estrutura tipo uma trave do gol e efeito de transição de cor poderia ser usado para a bola.
[0104] A Fig. 4 mostra o método 400 para determinar uma medida de oclusão para um objeto. O método 400 é tipicamente implementado como um ou mais módulos da aplicação 1333, armazenado na unidade de disco rígido 1310 e executados sob controle do processador 1305.
[0105] O método 400 começa em uma etapa de determinação 410. Na etapa 410, uma razão de oclusão do objeto é determinada para cada quadro do campo de visão da câmera virtual na qual o objeto supostamente está. A razão de oclusão estar relacionada a uma razão de quanto o objeto oculta o fundo da cena.
[0106] A razão de oclusão é determinada com base em um objeto (por meio de métodos de rastreamento de objeto), como se o objeto em questão fosse o único objeto em visualização. Na determinação da razão de oclusão com base em objeto, determinação da razão de oclusão não é influenciada por outros objetos na frente do objeto principal, possivelmente afetando a impressão do expectador de quanto de uma oclusão é criada.
[0107] O método 400 continua da etapa 410 até uma etapa de geração 420. Na etapa 420, a aplicação 1333 executa para gerar um perfil de oclusão, também referido como uma medida de oclusão, com base na mudança da razão de oclusão com o tempo. O perfil de oclusão (medida) representa uma avaliação de oclusão de uma visualização virtual pelo objeto. A variação do perfil de oclusão é determinada com base em uma trajetória do objeto. Aspectos do perfil de oclusão são descritos em relação à Fig. 5. Como a razão de oclusão se refere a uma razão de quanto o objeto oculta uma visualização virtual, o perfil de oclusão se refere ao tamanho do objeto.
[0108] O método 400 continua da etapa 420 até uma etapa de associação 430. Na etapa 430, uma medida de oclusão é associada ao objeto com base no perfil de oclusão. Por exemplo, a medida de oclusão selecionada pode ser armazenada na memória 1309 em associação com dados que representam a câmera virtual. O método 400 termina após a etapa 430.
[0109] A Fig. 5 mostra um exemplo de um gráfico 500 de um perfil de oclusão. O gráfico 500 representa mudança da razão de oclusão de um objeto em relação a um campo de visão com o tempo. O eixo geométrico x 501 mapeia o tempo. O tempo pode ser medido em relação a diversos quadros ou em código de tempo padrão. O eixo geométrico y 502 representa uma quantidade de oclusão com base na razão de oclusão. Una linha 503 representa o perfil de oclusão pelo perfilamento da mudança de oclusão para um objeto com o tempo. Uma linha 504 indica uma quantidade de tempo desde que o objeto teve oclusão maior que zero até o objeto atingir oclusão de pico.
[0110] Uma seta 509 em um final da linha 504 indica que o final do perfil de oclusão está além dos limites do gráfico 500. Uma linha 505 indica uma quantidade de tempo desde a oclusão de pico do objeto até quando a oclusão do objeto atinge zero (sendo completamente cortado pelo plano de corte 230, por exemplo). Os tempos indicados pelas linhas 504 e 505 são adicionados para determinar um tempo total que o objeto está no campo de visão 250. Quantidades de tempo indicadas pelas linhas 504 e 505 são usadas na determinação da medida de oclusão do objeto. Duas linhas pontilhadas 506 e 507 representam um limite de oclusão superior e inferior, respectivamente. O limite de oclusão superior 506 e o limite de oclusão inferior 507 são tipicamente determinados pelo usuário testando um contexto particular (por exemplo, tipo de esporte) ou arena. O limite de oclusão superior 506 e o limite de oclusão inferior 507 são usados na aplicação do efeito de transição ao objeto.
[0111] As Figs. 6A a 6D mostram um cenário de exemplo onde um objeto, neste caso uma pessoa, está se aproximando de uma câmera virtual por dentro do campo de visão da câmera virtual.
[0112] A Fig. 6A mostra uma visualização de cima para baixo de uma cena 600. Um objeto 601 está se aproximando de uma câmera virtual 603 com uma trajetória 602. A câmera virtual 603 tem um campo de visão 660. Os pontos A 605, B 606, C 607 e D 608 cada qual respectivamente representam momentos sequenciais do objeto 601 movendo ao longo da trajetória 602. Os pontos A 605, B 606, C 607 se referem a momentos quando o objeto 601 está em frente do plano de corte próximo 604 da câmera 603. O ponto D 604 se refere a um momento quando o objeto 601 passou o plano de corte próximo 604. Um plano de corte distante da visão da câmera virtual é excluído da Fig. 6A (e similarmente das Figs. 7A a 12A) para facilidade de referência.
[0113] Uma sequência 620 (Fig. 6B) mostra quadros de vídeo capturados ou renderizados pela câmera virtual 601 quando o objeto 601 está nos pontos A 605, B 606, C 607 e D 608 e os arranjos descritos não são praticados, para referência. Os quadros A 621, B 622, C 623 e D 624 da sequência 620 mostram respectivamente um objeto 625 (correspondente ao objeto 601) se aproximando da câmera virtual 603 nos pontos A, B, C e D (605 a 608). O objeto 625 é visivelmente cortado pelo plano de corte próximo 604 nos quadros entre os quadros C 623 e D 624.
[0114] A Fig. 6C mostra um gráfico correspondente 630 de um perfil de oclusão para o objeto 601 como um resultado da etapa de execução 420. Um perfil de oclusão 631 mostra a quantidade de oclusão que o objeto 601 causa com o tempo em relação ao campo de visão 660. Como o objeto 601 já está no campo de visão da câmera 603, existe uma pequena quantidade de oclusão no início do perfil 631. Os pontos A 605, B 606, C 607 e D 608 da Fig. 6A são representados no perfil de oclusão 631 como marcações A 632, B 633, C 634 e D 635, respectivamente. A marcação C 634 representa um momento da oclusão de pico antes de o objeto 601 começar ser cortado pelo plano de corte 604, resultando na redução da oclusão do objeto. A marcação D 635 representa oclusão do momento pelo objeto 601 atinge zero e o objeto 601 é completamente cortado fora da visão. Como mostrado na Fig. 6C, o perfil de oclusão (medida) 631 representa uma avaliação da oclusão do campo de visão virtual pelo objeto 601 e a variação do perfil 631 é determinada com base na trajetória 602 do objeto 601.
[0115] A execução da etapa 430 associa uma medida de oclusão ao objeto com base na variação determinada no perfil de oclusão 631. A adição das quantidades de tempo indicada pelas linhas 636 e 637 determina um tempo total para o objeto que está no campo de visão 660. No cenário das Figs. 6A a 6D, a aplicação 1333 executa para permitir que o objeto oculte ao máximo possível o campo de visão 660 antes de um efeito de transição ser aplicado escondendo qualquer corte de objeto causado pelo plano de corte 604. O objeto pode ocultar ao máximo possível o campo de visão pela determinação da quantidade de tempo indicada pela linha 636. Se a quantidade de tempo indicada pela linha 636 estiver acima de um limite predeterminado, por exemplo, 1 segundo, o objeto 601 tem uma presença estabelecida no campo da visão 660 e continua a estar presente até um tempo para aplicar o efeito de transição ser atingido. O limite predeterminado é tipicamente determinado pelo teste de usuário do sistema 100. Uma vez que o efeito de transição para o objeto é determinada na etapa 430, limitees de oclusão 638 e 639 são usados para aplicar o efeito de transição na etapa 350. A etapa 430 opera para associar uma medida de oclusão pela seleção de um efeito de transição, tal como transparência, e quando aplicar o efeito de transição na sequência de vídeos gerada pela câmera virtual 603.
[0116] A aplicação do efeito de transição na execução da etapa 350 se refere aos limitees de oclusão 638 e 639 (similar aos limitees de oclusão 506 e 507 da Fig. 5). Nos exemplo das Figs. 6A a 6D, a aplicação 1333 começa o efeito de transição quando o perfil de oclusão 631 cruza um limite de oclusão superior 638 na marca B 633 e conclui o efeito de transição na marca C 634. No exemplo das Figs. 6A a 6D, o efeito de transição não é usado na marcação D 635. Dessa forma, o efeito de transição é aplicado de acordo com posições do objeto 601 à medida que o objeto 601 move ao longo da trajetória 602.
[0117] Uma sequência 650 (Fig. 6D) mostra quadros capturados pela câmera virtual 603 quando o objeto 601 está nos pontos A 605, B 606, C 607 e D 608 e os arranjos descritos são aplicados. Os quadros A 651, B 652, C 653 e D 654 da sequência 650, respectivamente, mostram um objeto 655 (correspondente ao objeto 601) se aproximando da câmera virtual 603. Em decorrência da etapa de execução 350, no quadro B 652 o objeto 655 é visível e no quadro C 653 um objeto 656 (correspondente a 655) tem um efeito de transição aplicado de maneira a ser transparente imperceptível a um expectador (indicado por linhas pontilhadas). Entre os quadros C 653 e D 654 o objeto 601 é cortado, entretanto, a câmera virtual 603 não renderiza o objeto 601, já que o objeto 601 é transparente.
[0118] As Figs. 7A a 7D mostram um cenário de exemplo onde um objeto, neste caso uma pessoa, está se aproximando de uma câmera virtual por trás da câmera virtual no campo de visão da câmera virtual.
[0119] A Fig. 7A mostra uma visualização de cima para baixo de uma cena 700. Um objeto 701 está se aproximando de uma câmera virtual 703 com uma trajetória 702. A câmera virtual 703 tem um campo de visão 760. Os pontos A 705, B 706, C 707 e D 708 cada qual respectivamente representam momentos sequenciais do objeto 701 durante movimento ao longo da trajetória 702. O ponto A 705 se refere a um momento quando o objeto 701 está detrás de um plano de corte próximo 704 da câmera virtual 703. Os pontos B 706, C 707 e D 708 se referem a momentos quando o objeto 701 passou pelo plano de corte próximo 704.
[0120] Uma sequência 720 na Fig. 7B mostra quadros de vídeo capturados pela câmera virtual 703 quando o objeto 701 está nos pontos A 705, B 706, C 707 e D 708, respectivamente, e os arranjos descritos não são praticados, para referência. Os quadros A 721, B 722, C 723 e D 724 da sequência 720, respectivamente, mostram um objeto 725 (correspondente ao objeto 701) entrando no campo de visão 760 e movendo para longe da câmera virtual 703. O objeto 725 é visivelmente cortado pelo plano de corte próximo 704 em quadros entre os quadros A 721 e B 722.
[0121] A Fig. 7C mostra um gráfico correspondente 730 de um perfil de oclusão para o objeto 701 em decorrência da execução da etapa 420. Um perfil de oclusão 731 mostra uma quantidade de oclusão que o objeto 701 causa com o tempo. Os pontos A 705, B 706, C 707 e D 708 estão representados no perfil de oclusão 731 como marcações A 732, B 733, C 734 e D 735, respectivamente. Como o objeto 701 começa fora do campo de visão 760, o perfil 731 começa com zero oclusão, como representado pelo ponto A 732. A marcação B 734 representa um momento da oclusão de pico após o objeto 701 entrar no campo de visão 760 e deixar de ser cortado pelo plano de corte 704.
[0122] A Etapa 430 executa para associar uma medida de oclusão pela seleção de um efeito de transição para a pessoa 701. A adição das quantidades de tempo indicadas pelas linhas 736 e 737 na etapa 430 determina um tempo total para o objeto 701 estar no campo de visão 760. Nas Figs. 7A a 7D, os arranjos descritos operam para ocultar qualquer corte de objeto causado pelo objeto 701 ao entrar no campo de visão 760, mas também impedem que o objeto 701 cause uma oclusão disruptiva quando entra no campo de visão 760. A aplicação 133 determina que o objeto 701 causará uma oclusão disruptiva com base em uma quantidade de tempo indicada por uma linha 736. Se a quantidade de tempo indicada pela linha 736 estiver abaixo de um limite, por exemplo, um segundo, a execução da etapa 430 determina que o o surgimento repentino do objeto (701) no campo de visão 760 causará uma perturbação no campo de visão 760. Um efeito de transição é associado para introduzir gradualmente o objeto 701 no campo de visão 760. Dessa forma, o efeito de transição é determinado com base na posição do objeto 701 em relação ao plano de corte 740.
[0123] Uma vez que o efeito de transição é determinado, os limitees de oclusão 738 e 739 são usados para aplicar o efeito de transição na etapa 350. No exemplo das Figs. 7A a 7D na etapa 350, aplicação do efeito de transição começa quando o perfil de oclusão 731 satisfaz uma primeira de exigência de limite (cruza o limite de oclusão superior 738 na marca C 734) e conclui a aplicação do efeito de transição quando o perfil de oclusão satisfaz uma segunda exigência de limite (cruza o limite inferior na marca D 735).
[0124] Uma sequência 750 da Fig. 7D mostra quadros de vídeo 751 a 754 renderizados pela câmera virtual 703 quando o objeto 701 está nos pontos A 705, B 706, C 707 e D 708 e os arranjos descritos são praticados. Os quadros A 751, B 752, C 753 e D 754 da sequência 750 respectivamente mostram um objeto 755 (correspondente ao objeto 701) se aproximando da câmera virtual 703 por trás e então movendo para longe da câmera virtual 703. Em decorrência da etapa de execução 350, no quadro C 753, o objeto 755 é renderizado para ficar transparente ou imperceptível a um expectador (indicado por linhas pontilhadas) e no quadro D 754 um objeto 756 (correspondente ao objeto 755) é visível. Entre os quadros B 752 e C 753, o objeto 701 é cortado, entretanto a câmera virtual 703 não renderiza o objeto 701, já que o objeto 701 tem um efeito de transição aplicado de maneira a ficar substancialmente transparente ou invisível.
[0125] As Figs. 8A a 8D mostram um cenário de exemplo onde um objeto, neste caso uma pessoa, está se aproximando de uma câmera virtual por trás da câmera, diagonalmente em um campo de visão da câmera virtual.
[0126] A Fig. 8A mostra uma visualização de cima para baixo de uma cena 800. Um objeto 801, uma pessoa, está se aproximando de uma câmera virtual 803 com uma trajetória 802. A câmera 803 tem um campo de visão 860. Os pontos A 805, B 806, C 807 e D 808 cada qual respectivamente representam momentos sequenciais do objeto 801 movendo ao longo da trajetória 802. O ponto A 805 representa um momento quando o objeto 801 está detrás do plano de corte próximo 804. Os pontos B 806, C 807 e D 808 representam momentos quando o objeto 801 passou pelo plano de corte próximo 804.
[0127] Uma sequência 820 na Fig. 8B mostra quadros de vídeo capturados pela câmera virtual 803 quando o objeto 801 está nos pontos A 805, B 806, C 807 e D 808 e os métodos descritos não são praticados para referência. Os quadros A 821, B 822, C 823 e D 824 da sequência 820 respectivamente mostram um objeto 825 (correspondente ao objeto 801) entrando no campo de visão 860 diagonalmente e movendo para longe da câmera virtual 803. O objeto 825 é visivelmente cortado pelo plano de corte próximo 804 nos quadros entre quadro A 821 e quadro B 822.
[0128] A Fig. 8C mostra um gráfico correspondente 830 de um perfil de oclusão para o objeto 801 em decorrência da execução da etapa 420. Um perfil de oclusão 831 mostra uma quantidade de oclusão que o objeto 801 causa com o tempo no campo de visão 860. Os pontos A 805, B 806, C 807 e D 808 da Fig. 8A são representados no perfil de oclusão 831 como marcações A 832, B 833, C 834 e D 835, respectivamente. Como o objeto 801 começa fora do campo de visão 860, o perfil 831 começa com zero oclusão, como representado pelo ponto A 832. A marcação B 834 representa um momento de oclusão de pico após o objeto 801 entrar no campo de visão 860 e deixar de ser cortado pelo plano de corte 804.
[0129] O método 400 continua na etapa 430 para determinar um efeito de transição para o objeto 701. A adição de quantidades de tempo indicadas pelas linhas 836 e 837 na etapa 430 determina um tempo total para o objeto 801 ficar no campo de visão 860. Nos exemplo das Figs. 8A a 8D, até os arranjos descritos operarem para selecionar um efeito de transição para ocultar qualquer corte de objeto causado pelo objeto 801 entrando no campo de visão 860. Nas Figs. 8A a 8B, o objeto não causará uma oclusão disruptiva em virtude de, mesmo que a quantidade de tempo indicada pela linha 836 esteja abaixo de um limite de tempo (por exemplo, um segundo na Fig. 8C), a oclusão de pico (marca B 833) está dentro de limites aceitáveis. Limites aceitáveis se referem à oclusão que ocorre abaixo de um limite de oclusão superior 838.
[0130] O efeito de transição selecionado é aplicado na etapa 350. Uma vez que a aplicação 1333 tenha determinado um efeito de transição do objeto 801, os limitees de oclusão 838 e 839 são usados para aplicar o efeito de transição. Na etapa 350, a aplicação 1333 inicia o efeito de transição na marca B 833 como os picos de perfil de oclusão 831 abaixo do limite de oclusão 838. A aplicação 1333 completa a transição quando o perfil de oclusão 831 cruza o limite inferior 839 na marca C 834. Dessa forma, o efeito de transição é aplicado com base no perfil de oclusão (medida) 831 satisfazendo pelo menos um limite.
[0131] Uma sequência 850 na Fig. 8D mostra quadros de vídeo capturados pela câmera virtual 803 quando o objeto 801 está nos pontos A 805, B 806, C 807 e D 808 quando os arranjos descritos são praticados. Os quadros A 851, B 852, C 853 e D 854 da sequência 850 respectivamente mostram um objeto 855 (correspondente ao objeto 801) entrando no campo de visão 860 diagonalmente e movendo para longe da câmera 803. Em decorrência da etapa de execução 350, o objeto 855 tem o efeito de transição aplicada para renderizar o objeto 855 invisível (indicado pelas linhas pontilhadas) no quadro B 852 e o objeto 856 é visível no quadro C 853. Entre os quadros A 851 e B 852, o objeto 855 é cortado, entretanto, a câmera 803 não renderiza o objeto 855, já que o efeito de transição selecionado se refere a ser transparente ou invisível.
[0132] As Figs. 9A a 9D mostram um cenário de exemplo onde um objeto, neste caso uma pessoa, está movendo através de um campo de visão da câmera virtual, relativamente próximo à câmera virtual.
[0133] A Fig. 9A mostra uma visualização de cima para baixo de uma cena 900. Um objeto 901 está se aproximando de uma câmera virtual 903 com uma trajetória 902. A câmera virtual 903 tem um campo de visão 960. Os pontos A 905, B 906 e C 907 cada qual respectivamente representam momentos sequenciais do objeto 901 movendo ao longo da trajetória 902. O ponto A 905 representa um momento quando o objeto 901 entra no campo de visão 960. O ponto B 906 representa um momento quando o objeto 901 aparece totalmente no campo de visão 960. O ponto C 907 representa um momento quando o objeto 901 sai do campo de visão 960.
[0134] Uma sequência 920 na Fig. 9B mostra quadros de vídeo capturados pela câmera virtual 703 quando o objeto 801 está nos pontos A 905, B 906 e C 907 e os arranjos descritos não praticados, para referência. Os quadros A 921, B 922 e C 923 da sequência 920 respectivamente mostram um objeto 924 (correspondente ao objeto 901) entrando no campo de visão 960 e movendo através do campo de visão 960 nos pontos A 905, B 906 e C 907. O objeto 925 rapidamente entra e em seguida deixa o campo de visão 960, causando oclusão nos quadros A 921, B 922 e C 923.
[0135] A Fig. 9C mostra um gráfico 930 de um perfil de oclusão para o objeto 901 em decorrência da etapa de execução 420. Um perfil de oclusão 931 mostra uma quantidade de oclusão que o objeto 901 causa no campo de visão 960 com o tempo. Os pontos A 905, B 906 e C 907 são representados no perfil de oclusão 931 como marcações A 932, B 933 e C 934, respectivamente. A marcação B 933 representa um momento de oclusão de pico após o objeto 901 entrar no campo de visão 960.
[0136] A etapa 430 executa a associação de um efeito de transição ao objeto 701. A adição de quantidades de tempo indicada pelas linhas 936 e 937 na etapa 430 determina um tempo total para o objeto 901 ficar no campo de visão 960. No exemplo das Figs. 9a a 9D, os arranjos descritos operam para impedir que o objeto 901 cause uma oclusão disruptiva quando entra no campo de visão 960. A aplicação 1333 determina que o objeto 1333 causará uma oclusão disruptiva determinando que o perfil de oclusão 931 ultrapassa um limite de oclusão superior 938. Após determinação de que o objeto 901 causará uma oclusão, as quantidades de tempo indicadas pelas linhas 936 e 937 são combinadas para determinar que um tempo total está abaixo de um limite de aparecimento mínimo (por exemplo, um segundo). Como o perfil de oclusão 831 indica que o objeto 901 causará uma oclusão e entrará e sairá de forma relativamente rápida do campo de visão 960, a aplicação 1333 seleciona não transicionar o objeto 901 para o campo de visão 960. O efeito de transição é efetivamente determinado com base na quantidade de tempo que o objeto 901 está na visualização virtual associada com o campo de visão 960. Adicionalmente, o efeito de transição é determinado pela comparação de uma quantidade de tempo que o objeto está na visualização virtual com o limite de um segundo. O limite pode ser determinado pelo usuário ou audiência testando alguns arranjos. A etapa 430 opera para aplicar um efeito de transição de "não exibir", ou, em alguns arranjos, um efeito de transição de transparência.
[0137] A etapa 350 executa para aplicar a transparência determinada. Uma sequência 950 na Fig. 9D mostra quadros de vídeo capturados pela câmera virtual 903 quando o objeto 901 está nos pontos A 905, B 906 e C 907 e os arranjos descritos são praticados. Em decorrência da etapa de execução 350, nos quadros A 951, B 952 e C 953 o objeto 954 é renderizado como transparente (como indicado pelas linhas pontilhadas 954). No exemplo da Fig. 9D, o efeito de transição é aplicado para todos os quadros na sequência 950, e não nos quadros nos quais o perfil de oclusão 831 está entre os limitees de oclusão 938 e 939.
[0138] As Figs. 10A a 10D mostram um cenário de exemplo onde um objeto, neste caso, uma bola, está movendo através de um campo de visão da câmera, próximo à câmera.
[0139] A Fig. 10A mostra uma visualização de cima para baixo de uma cena 1000. Um objeto 1001, uma bola, está se aproximando de uma câmera virtual 1003 com uma trajetória 1002. A câmera virtual 1003 tem um campo de visão 1060.
[0140] Os pontos A 1005, B 1006 e C 1007 cada qual respectivamente representam momentos sequenciais da bola 1001 movendo ao longo da trajetória 1002. O ponto A 1005 se refere a um momento quando o objeto 1001 entra no campo de visão 1060. O ponto B 1006 representa um momento quando o objeto 1001 aparece totalmente no campo de visão 1060. O ponto C 1007 se refere a um momento quando o objeto sai do campo de visão 1060. A câmera virtual 1003 tem um plano de corte próximo 1004. Os pontos A 1005, B, 1006 e C 1007 estão todos fora do plano de corte 1004.
[0141] A Fig. 10B mostra uma sequência 1020 de quadros de vídeo capturados pela câmera virtual 1003 quando o objeto 1001 está nos pontos A 1005, B 1006 e C 1007 e os arranjos descritos não são praticados, para referência. Os quadros A 1021, B 1022 e C 1023 da sequência 1020 respectivamente mostram um objeto 1024 (correspondente à bola 1001) entrando no campo de visão 1060 e movendo através do campo de visão nos pontos A 1005, B 1006 e C 1007. O objeto 1024 rapidamente entra e então sai do campo de visão 1060.
[0142] A Fig. 10C mostra um gráfico 1030 de um perfil de oclusão para o objeto 1001 em decorrência da etapa de execução 420. Um perfil de oclusão 1031 mostra uma quantidade de oclusão que o objeto 1001 causa com o tempo. Os pontos A 1005, B 1006 e C 1007 da Fig. 10A são representados no perfil de oclusão 1031 como marcações A 1032, B 1033 e C 1034, respectivamente. A marcação B 1034 representa um momento de oclusão de pico após o objeto 1001 entrar no campo de visão 1060.
[0143] A Etapa 430 executa para associar um efeito de transição ou transição à bola 1001. A adição de quantidades de tempo indicadas pelas linhas 1036 e 1037 na etapa 430 determina um tempo total para o objeto 1001 ficar no campo de visão 1060. A quantidade de oclusão de pico indicada pela marcação B 1033 é menor que um limite de oclusão superior 1138, indicando que o objeto 1001 não causa uma oclusão negativa. Independentemente da quantidade de tempo relativamente curta, o objeto 1001 está no campo de visão 1060, nenhuma oclusão negativa é causada. A aplicação 1333 associa o efeito de transição para tornar o objeto 1001 visível tão logo o objeto 1001 entre no campo de visão 1060.
[0144] Uma sequência 1050 da Fig. 10D mostra quadros de vídeo capturados pela câmera virtual 1003 quando o objeto 1001 está nos pontos A 1005, B 1006 e C 1007 da Fig. 10A e os arranjos descritos são praticados. Em decorrência da execução da etapa 350, um objeto 1054 (correspondente à bola 1001) é renderizado para ficar visível (exibido) em cada dos quadros A 1051, B 1052 e C 1053 da sequência 1050.
[0145] As Figs. 11a a 11 D mostram um cenário de exemplo onde um objeto, neste caso, uma pessoa, está movendo através de um campo de visão da câmera virtual, longe da câmera virtual.
[0146] A Fig. 11A mostra uma visualização de cima para baixo de uma cena 1100. Um objeto 1101, uma pessoa, está se aproximando de uma câmera virtual 1103 com uma trajetória 1102. A câmera virtual 1103 tem um campo de visão 1 160. Os pontos A 1105, B 1106 e C 1107 cada qual respectivamente representam momentos sequenciais do objeto 1103 movendo ao longo da trajetória 1102. O ponto A 1105 se refere a um momento quando o objeto entra no campo de visão 1160. O ponto B 1106 se refere a um momento quando o objeto 1101 aparece totalmente no campo de visão 1160. O ponto C 1107 se refere a um momento quando o objeto 1101 sai do campo de visão 1 160.
[0147] A Fig. 11B mostra uma sequência de quadros de vídeo capturados pela câmera virtual 1103 quando o objeto 1101 está nos pontos A 1105, B 1106 e C 1107 e os arranjos descritos não são praticados, para referência. Os quadros A 1121, B 1122 e C 1123 da sequência 1120 respectivamente mostram um objeto 1124 (correspondente à pessoa 1101) entrando no campo de visão 1160 e movendo através do campo de visão 1160 nos pontos A 1105, B 1106 e C 1107. O objeto 1124 entra e então sai do campo de visão 1160, sem causar oclusão disruptiva.
[0148] A Fig. 11C mostra um gráfico 1130 de um perfil de oclusão para o objeto 1101 em decorrência da execução da etapa 420. Um perfil de oclusão 1131 mostra uma quantidade de oclusão que o objeto 1101 causa com o tempo. Os pontos A 1105, B 1106 e C 1107 da Fig. 11 A são representados no perfil de oclusão 1131 como as marcações A 1132, B 1133 e C 1134, respectivamente. A marcação B 1133 representa um momento de oclusão de pico após o objeto 1101 entrar no campo de visão 1160.
[0149] A Etapa 430 é executada para associar ou determinar um efeito de transição para a pessoa 1101. A adição de quantidades de tempo indicadas pelas linhas 1136 e 1137 determina um tempo total para o objeto 1101 ficar no campo de visão 1160. A quantidade de oclusão de pico indicada pela marcação B 1133 é menor que um limite de oclusão superior 1138, indicando que o objeto 1101 não causa oclusão disruptiva. Como nenhuma oclusão disruptiva é causada, a etapa 430 executa para determinar um efeito de transição para tornar o objeto 1101 visível tão logo o objeto 1101 entra no campo de visão 1160.
[0150] Uma sequência 1150 da Fig. 11 D mostra quadros de vídeo capturados pela câmera 1103 quando o objeto 1101 está nos pontos A 1105, B 1106 e C 1107 quando os arranjos descritos são praticados. Em decorrência da execução da etapa 350, um objeto 1154 (correspondente ao objeto 1101) é renderizado como visível na sequência 1150 em cada dos quadros A 1151, B 1152 e C 1153.
[0151] As Figs. 12A a 12D mostram um cenário de exemplo onde existem dois objetos nas trajetórias uma em direção à outra em um campo de visão de uma câmera virtual. As trajetórias determinadas provavelmente resultam em uma interação entre os dois objetos. Um primeiro dos objetos é uma pessoa se aproximando da câmera virtual pela frente da câmera virtual em um campo de visão. O segundo objeto é uma pessoa se aproximando da câmera virtual por trás da câmera no campo de visão. A aplicação 1333 executa para determinar como os dois objetos estão indo interagir um com o outro pela determinação da trajetória de cada objeto e a trajetórias interceptarão.
[0152] A Fig. 12A mostra uma visualização de cima para baixo de uma cena 1200. Um primeiro objeto 1201, uma pessoa, está se aproximando de uma câmera virtual 1205 por trás com uma trajetória 1202. A câmera virtual 1205 tem um campo de visão 1260. Um segundo objeto 1203 está se aproximando da câmera virtual 1205 pela frente com uma trajetória 1204. Os pontos A 1207, B 1208 e C 1209 cada qual respectivamente representam momentos sequenciais relacionados ao primeiro objeto 1201 do objeto movendo ao longo da trajetória 1202. O ponto A 1207 se refere a um momento quando o objeto 1201 está detrás de um plano de corte próximo 1204 da câmera 1205. Os pontos B 1208 e C 1209 se referem a momentos quando o objeto 1201 passou pelo plano de corte próximo 1204.
[0153] Uma sequência 1220 na Fig. 12B mostra quadros de vídeo capturados pela câmera 1205 pelos pontos A 1207, B 1208 e C 1209 quando os arranjos descritos não são praticados, para referência. O quadro A 1221 da sequência 1220 mostra um segundo objeto 1225 (correspondente à pessoa 1203) sozinho no campo de visão 1260. O quadro B 1222 da sequência 1220 mostra um primeiro objeto 1224 (correspondente à pessoa 1201) na frente do segundo objeto 1225 após entrar no campo de visão 1260. Entre os quadros A 1221 e B 1222, o corte do primeiro objeto 1224 seria visível em dados de vídeo renderizados pela câmera virtual 1205. O quadro C 1223 da sequência 1220 mostra o primeiro e segundo objetos 1224 e 1225 interagindo.
[0154] Para tratar os objetos 1201 e 1203 individualmente, o primeiro objeto 1201 tem um efeito de transição selecionado e aplicado de uma maneira similar à pessoa 701 descrita em relação às Figs. 7A a 7D. Um efeito de transição é associado e aplicado ao segundo objeto 1203 usando uma abordagem similar ao descrito nas Figs. 6A a 6D. Se os métodos usados nas Figs. 6A a 6D e as Figs. 7A a 7D forem implementados simultaneamente, um quadro C-Alt alternativo 1226 será capturado pela câmera virtual 1205 no momento C 1209. No ponto de interação, ponto C 1209, um primeiro objeto 1227 (correspondente ao objeto 1224) seria invisível a um expectador enquanto o segundo objeto 1225 seria visível ao expectador. Nas Figs. 12A a 12D, tratar os objetos 1201 e 1203 individualmente produziria um resultado desfavorável.
[0155] A Fig. 12C mostra um gráfico 1230 de um perfil de oclusão para o primeiro objeto 1201 e o segundo objeto 1203 da Fig. 12A em decorrência da execução da etapa 420. Um perfil de oclusão 1231 para o primeiro objeto 1201 mostra uma quantidade de oclusão que o objeto 1201 causa com o tempo. Os pontos A 1207, B 1208 e C 1209 da Fig. 1A estão representados no perfil de oclusão 1231 como marcações A 1233, B 1234 e C 1235, respectivamente. Como o primeiro objeto 1201 começa fora do campo de visão 1260, o perfil 1231 começa com zero oclusão, como representado pelo ponto A 1233. A marcação B 1234 representa o momento de oclusão de pico após o objeto 1201 entrar no campo de visão 1260 e parar de ser cortado pelo plano de corte 1206.
[0156] A aplicação 1333 executa a etapa 430 para associar ou selecionar um efeito de transição. A adição das quantidades de tempo indicadas pelas linhas 1236 e 1237 determina um tempo total para o objeto 1201 ficar no campo de visão 1260. No exemplo das Figs. 12A, a 12D, a aplicação 1333 executa para selecionar e aplicar um efeito de transição para primeiro ocultar qualquer corte de objeto causado pelo primeiro objeto 1201 entrando no campo de visão 1260. A aplicação 1333 também executa para selecionar e aplicar um efeito de transição para impedir que o primeiro objeto 1201 cause uma oclusão disruptiva ao entrar no campo de visão 1260, mas também assegurar que o primeiro objeto 1201 está visível por um momento de interação entre os dois objetos 1201 e 1203. Os limitees de oclusão superior e inferior referidos nos exemplos previamente descritos são modificados com base nos objetos interagindo um com o outro. A aplicação 133 executa na etapa 430 para modificar um limite de oclusão superior 1238 a um ponto no qual o primeiro objeto 1201 não é mais cortado. A aplicação 133 também executa para modificar um limite inferior 1239 para um nível de oclusão no ponto de interação representado pela marca C 1235. Dessa maneira, o efeito de transição é determinado com base em outros objetos na visualização virtual renderizada pela câmera virtual 1205.
[0157] Uma vez que o efeito de transição tenha sido associado para o primeiro objeto 1201, a aplicação 1333 usa os limitees de oclusão modificados 1238 e 1239 para aplicar o efeito de transição na etapa 350. No exemplo das Figs. 12A a 12B, na etapa 350, o efeito de transição é aplicado na marca B 1234, que coincide com o limite de oclusão superior 1238. A aplicação 1333 conclui o efeito de transição no ponto de interação representado pela marca C 1235. A marca C agora coincide com o limite de oclusão inferior 1238. No exemplo das Figs. 12A a 12D, o efeito de transição é aplicado com base no perfil de oclusão 531 satisfazendo limitees modificados.
[0158] A Fig. 12D mostra uma sequência de quadros de vídeo capturados pela câmera virtual 1205 quando o objeto 1203 está nos pontos A 1207, B 1208 e C 1209 e os arranjos descritos são praticados. O quadro A 1251 mostra um segundo objeto 1254 (correspondente ao objeto 1203) sozinho no campo de visão 1260. O quadro B 1252 mostra um primeiro objeto 1255 (correspondente à pessoa 1201) substancialmente transparente ou invisível na frente do segundo objeto 1203 após entrar no campo de visão 160. O quadro C 1253 mostra um primeiro objeto 1256 e o segundo objeto 1254 visíveis interagindo no campo de visão 1260.
[0159] Os arranjos descritos são aplicáveis a indústrias de computador e processamento de dados e particularmente para indústrias de difusão tais como indústrias de difusão ao vivo.
[0160] Na determinação do perfil de oclusão e seleção e aplicação de um efeito de transição nas implementações supradescritas, os arranjos descritos provêm uma vantagem de reduzir efeitos de corte na geração de uma visualização virtual. A visualização virtual renderizada resultante (por exemplo, dados de vídeo) é tipicamente menos irritante a um expectador. Adicionalmente, pelo uso do perfil de oclusão, um efeito de transição é selecionado de acordo com a trajetória específica para o objeto. O contexto do ambiente filmado, tal como o objeto 140 na arena 110, é mantido. A carga de trabalho de um operador do controlador 180 é efetivamente reduzida já que o operador não precisa gerenciar constantemente a posição e proximidade da câmera virtual em torno de objetos tanto dentro quanto fora do campo de visão da câmera, ainda ao mesmo tempo forçado a capturar filmagem forçada.
[0161] O exposto descreve apenas algumas modalidades da presente invenção, e modificações e/ou alterações podem ser feitas nas mesmas sem fugir do escopo e espírito da invenção, as modalidades sendo ilustrativas, e não restritivas.

Claims (25)

1. Método para gerar um vídeo de visualização virtual caracterizado pelo fato de que compreende: determinar um efeito de imagem a ser aplicado a um objeto dentro de um campo de visão de uma câmera virtual com base em uma posição do objeto e uma posição da câmera virtual; e gerar, com base em uma pluralidade de imagens capturadas de diferentes direções por uma pluralidade de dispositivos de captura de imagem, um vídeo de visualização virtual de acordo com a posição e uma orientação da câmera virtual, o efeito de imagem determinado sendo aplicado ao objeto no vídeo de visualização virtual, em que uma condição para aplicar o efeito de imagem determinado ao objeto é alterada com base em uma interação entre uma pluralidade de objetos incluindo o objeto devido à interseção de trajetórias da pluralidade de objetos dentro do campo de visão da câmera virtual.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem a ser aplicado ao objeto é determinado com base em uma trajetória do objeto e a posição do objeto ao longo da trajetória.
3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem inclui pelo menos um de selecionar se exibe ou não exibe, aparecimento gradual, desaparecimento gradual, transição de transparência, trocar a transformação de cor, trocar a mistura, trocar brilho, trocar a saturação, trocar a textura, trocar o efeito visual e trocar o estilo do objeto.
4. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem é determinado com base em outros objetos incluídos na pluralidade de objetos no campo de visão da câmera virtual.
5. Método de acordo com a reivindicação 1, caracterizado pelo fato de que determinar o efeito visual compreende adicionalmente determinar uma variação de uma medida de oclusão do objeto com o tempo.
6. Método de acordo com a reivindicação 5, caracterizado pelo fato de que a medida de oclusão é uma avaliação de uma oclusão do campo de visão da câmera virtual do objeto.
7. Método de acordo com a reivindicação 5, caracterizado pelo fato de que a variação da medida de oclusão é determinada com base em uma trajetória do objeto.
8. Método de acordo com a reivindicação 5, caracterizado pelo fato de que a variação na medida de oclusão é determinada com base por objeto.
9. Método de acordo com a reivindicação 5, caracterizado pelo fato de que a medida de oclusão é determinada com base em um tamanho do objeto em relação ao campo de visão da câmera virtual.
10. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem é determinado com base em um tipo do objeto.
11. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem é determinado com base em uma posição do objeto em relação a um plano de corte associado com o campo de visão da câmera virtual.
12. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem é determinado com base em uma quantidade de tempo que o objeto está no campo de visão da câmera virtual.
13. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem é determinado pela comparação de uma quantidade de tempo que o objeto está no campo de visão da câmera virtual com um limite.
14. Método de acordo com a reivindicação 5, caracterizado pelo fato de que o efeito de imagem é aplicado com base na medida de oclusão satisfazendo um limite.
15. Método de acordo com a reivindicação 5, caracterizado pelo fato de que o efeito de imagem é aplicado quando a medida de oclusão satisfaz um primeiro limite e conclui quando a medida de oclusão satisfaz um segundo limite.
16. Método de acordo com a reivindicação 5, caracterizado pelo fato de que o efeito de imagem é aplicado com base na medida de oclusão satisfazendo pelo menos um limite, e o pelo menos um limite é modificado com base na interação de objeto com um outro objeto incluído na pluralidade de objetos no campo de visão da câmara virtual.
17. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem é um efeito visual.
18. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a posição do objeto ao longo de uma trajetória do objeto dentro do campo de visão é com predição.
19. Mídia legível por computador não transitória tendo instruções armazenadas na mesma para gerar um vídeo de visualização virtual, caracterizada pelo fato de que as instruções compreendem: instruções para determinar um efeito de imagem a ser aplicado a um objeto dentro de um campo de visão de uma câmera virtual com base em uma posição do objeto e uma posição da câmera virtual; e instruções para gerar, com base em uma pluralidade de imagens capturadas de diferentes direções por uma pluralidade de dispositivos de captura de imagem, um vídeo de visualização virtual de acordo com a posição e uma orientação da câmera virtual, o efeito de imagem determinado sendo aplicado ao objeto no vídeo de visualização virtual, em que uma condição para aplicar o efeito de imagem determinado ao objeto é alterada com base em uma interação entre uma pluralidade de objetos incluindo o objeto devido à interseção de trajetórias da pluralidade de objetos dentro do campo de visão da câmera virtual.
20. Aparelho para gerar um vídeo de visualização virtual, o aparelho caracterizado pelo fato de ser configurado para: determinar um efeito de imagem a ser aplicado a um objeto dentro de um campo de visão de uma câmera virtual com base em uma posição do objeto e uma posição da câmara virtual; e gerar, com base em uma pluralidade de imagens capturadas de diferentes direções por uma pluralidade de dispositivos de captura de imagens, um vídeo de visualização virtual de acordo com a posição e uma orientação da câmera virtual, o efeito de imagem determinado sendo aplicado ao objeto no vídeo de visualização virtual, em que uma condição para aplicar o efeito de imagem determinado ao objeto é alterada com base em uma interação entre uma pluralidade de objetos incluindo o objeto devido à interseção de trajetórias da pluralidade de objetos dentro do campo de visão da câmera virtual.
21. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda fazer com que um dispositivo de exibição exiba o vídeo de visualização virtual gerado.
22. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem a ser aplicado ao objeto é determinado de tal modo que o objeto se torna transparente em um caso em que uma distância entre a posição do objeto e a posição da câmera virtual fica menor do que uma distância predeterminada.
23. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o efeito de imagem a ser aplicado ao objeto é determinado de tal forma que o objeto é gradualmente visualizado no vídeo da visualização virtual, em um caso em que o objeto se afasta de uma posição próxima à câmera virtual dentro do campo de visão da câmera virtual.
24. Aparelho de acordo com a reivindicação 20, caracterizado pelo fato de que o efeito de imagem a ser aplicado ao objeto é determinado de tal modo que o objeto se torna transparente em um caso em que uma distância entre a posição do objeto e a posição da câmera virtual fica menor do que uma distância predeterminada.
25. Aparelho de acordo com a reivindicação 20, caracterizado pelo fato de que o efeito de imagem a ser aplicado ao objeto é determinado de tal forma que o objeto é gradualmente visualizado no vídeo da visualização virtual, em um caso em que o objeto se afasta de uma posição próxima à câmera virtual dentro do campo de visão da câmera virtual.
BR112019007171-7A 2016-12-20 2017-12-07 Método e sistema para renderizar um objeto em uma visualização virtual BR112019007171B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/385,191 2016-12-20
US15/385,191 US9972122B1 (en) 2016-12-20 2016-12-20 Method and system for rendering an object in a virtual view
PCT/AU2017/000265 WO2018112498A1 (en) 2016-12-20 2017-12-07 Method and system for rendering an object in a virtual view

Publications (3)

Publication Number Publication Date
BR112019007171A2 BR112019007171A2 (pt) 2019-06-25
BR112019007171A8 BR112019007171A8 (pt) 2023-04-04
BR112019007171B1 true BR112019007171B1 (pt) 2024-03-05

Family

ID=62091385

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019007171-7A BR112019007171B1 (pt) 2016-12-20 2017-12-07 Método e sistema para renderizar um objeto em uma visualização virtual

Country Status (8)

Country Link
US (2) US9972122B1 (pt)
EP (1) EP3559908A4 (pt)
JP (1) JP6891283B2 (pt)
KR (1) KR102254927B1 (pt)
CN (1) CN109964254B (pt)
BR (1) BR112019007171B1 (pt)
RU (1) RU2729601C1 (pt)
WO (1) WO2018112498A1 (pt)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972122B1 (en) * 2016-12-20 2018-05-15 Canon Kabushiki Kaisha Method and system for rendering an object in a virtual view
US10967267B2 (en) * 2019-08-06 2021-04-06 Roblox Corporation Changing a camera view in an electronic game
US11430198B1 (en) * 2020-01-10 2022-08-30 Apple Inc. Method and device for orientation-based view switching
CN111249729B (zh) * 2020-02-18 2023-10-20 网易(杭州)网络有限公司 一种游戏角色的显示方法、装置、电子设备和存储介质
CN113643410B (zh) * 2021-08-24 2024-01-23 凌云光技术股份有限公司 一种用于定位椭圆弧曲线的gui图形控件设计方法及装置
US20230101991A1 (en) * 2021-09-24 2023-03-30 Sony Group Corporation View-independent multi-camera volumetric capture system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6124862A (en) 1997-06-13 2000-09-26 Anivision, Inc. Method and apparatus for generating virtual views of sporting events
JP4150944B2 (ja) * 1999-07-16 2008-09-17 株式会社セガ 画像処理装置及びその方法、ゲーム装置及びその方法、並びにコンピュータ上で動作する画像処理プログラム又はゲームプログラムを記録した記録媒体
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US7796132B1 (en) 1999-11-18 2010-09-14 Namco Bandai Games Inc. Image generation system and program
GB2413720B (en) 2003-03-14 2006-08-02 British Broadcasting Corp Video processing
JP4125252B2 (ja) * 2004-03-02 2008-07-30 株式会社東芝 画像生成装置、画像生成方法、及び画像生成プログラム
JP4412715B2 (ja) * 2004-05-07 2010-02-10 株式会社バンダイナムコゲームス プログラム、情報記憶媒体および画像生成システム
US20080192116A1 (en) 2005-03-29 2008-08-14 Sportvu Ltd. Real-Time Objects Tracking and Motion Capture in Sports Events
US9986258B2 (en) 2006-03-31 2018-05-29 Koninklijke Philips N.V. Efficient encoding of multiple views
JP4895738B2 (ja) * 2006-09-15 2012-03-14 株式会社カプコン 三次元映像表示装置、その表示装置を実現するためのプログラム
US8451265B2 (en) * 2007-11-16 2013-05-28 Sportvision, Inc. Virtual viewpoint animation
US8049750B2 (en) 2007-11-16 2011-11-01 Sportvision, Inc. Fading techniques for virtual viewpoint animations
EP2150057A3 (en) 2008-07-29 2013-12-11 Gerald Curry Camera-based tracking and position determination for sporting events
US8665260B2 (en) 2009-04-16 2014-03-04 Autodesk, Inc. Multiscale three-dimensional navigation
EP2413286A1 (en) * 2010-07-29 2012-02-01 LiberoVision AG Image processing method and device for instant replay
CN103472909B (zh) * 2012-04-10 2017-04-12 微软技术许可有限责任公司 用于头戴式、增强现实显示器的逼真遮挡
US10140765B2 (en) 2013-02-25 2018-11-27 Google Llc Staged camera traversal for three dimensional environment
JP2016016319A (ja) * 2015-05-22 2016-02-01 株式会社コロプラ 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
US9972122B1 (en) * 2016-12-20 2018-05-15 Canon Kabushiki Kaisha Method and system for rendering an object in a virtual view

Also Published As

Publication number Publication date
JP6891283B2 (ja) 2021-06-18
RU2729601C1 (ru) 2020-08-11
CN109964254B (zh) 2023-07-07
KR102254927B1 (ko) 2021-05-26
JP2020515930A (ja) 2020-05-28
EP3559908A4 (en) 2020-11-25
KR20190067893A (ko) 2019-06-17
US9972122B1 (en) 2018-05-15
EP3559908A1 (en) 2019-10-30
BR112019007171A2 (pt) 2019-06-25
BR112019007171A8 (pt) 2023-04-04
WO2018112498A1 (en) 2018-06-28
US20190259199A1 (en) 2019-08-22
CN109964254A (zh) 2019-07-02
US11062505B2 (en) 2021-07-13

Similar Documents

Publication Publication Date Title
BR112019007171B1 (pt) Método e sistema para renderizar um objeto em uma visualização virtual
CN110944727B (zh) 控制虚拟照相机的系统和方法
US9691173B2 (en) System and method for rendering in accordance with location of virtual objects in real-time
US9877010B2 (en) Camera tracker target user interface for plane detection and object creation
US10659685B2 (en) Control of viewing angles for 360-degree video playback
US10839594B2 (en) Method, system and apparatus for capture of image data for free viewpoint video
US8767015B2 (en) System and method of image augmentation
US9973744B2 (en) 3D tracked point visualization using color and perspective size
CN102467756B (zh) 用于三维场景的透视方法及装置
US10413803B2 (en) Method, system and apparatus for displaying a video sequence
CN105069827A (zh) 一种采用三维模型处理视频转场的方法
US10818077B2 (en) Method, system and apparatus for controlling a virtual camera
JP2020515091A (ja) 仮想カメラを構成する方法、システム及び装置
CN113350780A (zh) 云游戏操控方法、装置、电子设备及存储介质
EP3503101A1 (en) Object based user interface
JP7447417B2 (ja) 画像処理装置、画像処理方法、プログラム
CN117716398A (zh) 将实况嵌入式跟踪数据用于实况体育视频流内的方法和系统
CN109982005A (zh) 一种基于全景视频的图文跟随合成方法

Legal Events

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

Free format text: A CLASSIFICACAO ANTERIOR ERA: G06T 7/20

Ipc: G06T 15/30 (2011.01), G06T 15/40 (2011.01), G06T 1

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

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 07/12/2017, OBSERVADAS AS CONDICOES LEGAIS