BR112019010875A2 - sistemas e métodos de sinalização de regiões de interesse - Google Patents

sistemas e métodos de sinalização de regiões de interesse Download PDF

Info

Publication number
BR112019010875A2
BR112019010875A2 BR112019010875A BR112019010875A BR112019010875A2 BR 112019010875 A2 BR112019010875 A2 BR 112019010875A2 BR 112019010875 A BR112019010875 A BR 112019010875A BR 112019010875 A BR112019010875 A BR 112019010875A BR 112019010875 A2 BR112019010875 A2 BR 112019010875A2
Authority
BR
Brazil
Prior art keywords
signaling information
video
region
roi
viewing window
Prior art date
Application number
BR112019010875A
Other languages
English (en)
Inventor
Van Der Auwera Geert
Wang Yekui
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of BR112019010875A2 publication Critical patent/BR112019010875A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

trata-se de técnicas e sistemas para processar dados de vídeo. em um exemplo, pode-se obter um arquivo de mídia associado a dados de vídeo em 360 graus. os dados de vídeo em 360 graus podem incluir uma representação esférica de uma cena. o arquivo de mídia pode incluir primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente a uma região de interesse (roi) na representação esférica. as primeiras informações de sinalização podem incluir uma posição central e uma dimensão da região de janela de visualização medida em um espaço esférico associado à representação esférica. as segundas informações de sinalização podem indicar uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica que inclui a roi em um plano. os pixels correspondentes à região de janela de visualização dos dados da figuração podem ser extraídos com base nas primeiras informações de sinalização e nas segundas informações de sinalização e podem ser fornecidos para renderização.

Description

SISTEMAS E MÉTODOS DE SINALIZAÇÃO DE REGIÕES DE INTERESSE
CAMPO [001] O presente pedido refere-se à codificação e compressão de video. De modo mais especifico, o presente pedido se refere a sistemas e a métodos para gerar e processar arquivos para sinalizar regiões de interesse.
FUNDAMENTOS [002] Muitos dispositivos e sistemas permitem que dados de video sejam processados e emitidos para consumo. Dados de video digital incluem grandes quantidades de dados para atender à demanda de consumidores e provedores de video. Por exemplo, os consumidores de dados de video desejam video da melhor qualidade, com alta fidelidade, resoluções, velocidades de fotogramas e semelhantes. Como resultado, a grande quantidade de dados de video que é exigida para atender a essas demandas exerce um peso nas redes de comunicação e nos dispositivos que processam e armazenam os dados de video.
[003] Várias técnicas de codificação de video podem ser usadas para comprimir dados de video. A codificação de video é realizada de acordo com um ou mais padrões de codificação de video. Por exemplo, os padrões de codificação de video incluem codificação de video de alta eficiência (FIEVC) , codificação de video avançada (AVC), codificação de grupo de especialistas de figuração em movimento (MPEG) ou semelhantes. A codificação de video utiliza geralmente métodos de predição (por exemplo, interpredição, intrapredição ou semelhantes) que levam
Petição 870190049772, de 28/05/2019, pág. 20/180
2/126 vantagem de redundância presente nas imagens ou sequências de video. Uma meta importante das técnicas de codificação de video é comprimir dados de video em uma forma que facilite tanto a transmissão de dados de video quanto a renderização dos dados de video.
BREVE SUMÁRIO [004] Em alguns exemplos, no presente documento, são descritos técnicas e sistemas para gerar arquivos de midia para conteúdo de video em 360 graus para incluir informações de sinalização de uma ou mais regiões de interesse (ROIs) no conteúdo de video em 360 graus. No presente documento, são descritos, também, técnicas e sistemas para processar as informações de sinalização incluidas nos arquivos de midia para extrair a uma ou mais uma ou mais ROIs do conteúdo de video para renderização. O conteúdo de video em 360 graus pode ser um video esférico formado compondo-se um conjunto de imagens que capturam uma cena em um determinado instante no tempo. Uma ROI de uma figuração de video em 360 graus pode ser uma região predeterminada da figuração que captura uma determinada porção da cena (por exemplo, uma região com base em um corte do diretor para direcionar a visão da audiência, uma região que está estatisticamente mais propensa a ser renderizada para um usuário no tempo de apresentação da figuração ou outra região de interesse predeterminada). A ROI também pode ser determinada dinamicamente com base, por exemplo, na orientação do expectador. As informações de sinalização podem ser usadas com várias finalidades, tais como para pré-obtenção de dados em transmissão continua
Petição 870190049772, de 28/05/2019, pág. 21/180
3/126 adaptativa de video em 360 graus, para otimização de transcodificação quando urn video em 360 graus é transcodifiçado, para gerenciamento de cache, para facilitar renderização do video em 360 graus, entre outros.
[005] Os arquivos de midia podem incluir qualquer arquivo de midia de transmissão continua adequada, tal como uma descrição de apresentação de midia (MPD) usada para midia de transmissão continua de taxa de bits adaptativa de acordo com a Transmissão Continua Adaptativa Dinâmica através de Protocolo de Transferência de Hipertexto (HTTP) (conhecido como DASH), ou outro arquivo adequado de acordo com qualquer outro protocolo de transmissão continua adaptativa adequado.
[006] Em alguns exemplos, um método para processar dados de video é fornecido. O método pode compreender obter um arquivo de midia associado a dados de video em 360 graus, sendo que os dados de video em 360 graus incluem uma representação esférica de uma cena, o arquivo de midia inclui primeiras informações de sinalização e segundas informações de sinalização de um região de janela de visualização correspondente a uma região de interesse (ROI) na representação esférica, sendo que as primeiras informações de sinalização incluem uma posição central e uma dimensão da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização indicam uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica
Petição 870190049772, de 28/05/2019, pág. 22/180
4/126 que inclui a ROI em um plano; 0 método pode compreender adicionalmente extrair pixels correspondentes à região de janela de visualização dos dados da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização e fornecer os pixels para renderizar a região de janela de visualização para exibição.
[007] Em alguns aspectos, as primeiras informações de sinalização podem incluir um primeiro ângulo e um segundo ângulo de um centro da região de janela de visualização com relação a um centro esférico da representação esférica da cena, sendo que o primeiro ângulo é formado em um primeiro plano e o segundo ângulo é formado em um segundo plano, em que primeiro plano é perpendicular ao segundo plano.
[008] Em alguns aspectos, as primeiras informações de sinalização podem incluir adicionalmente um terceiro ângulo associado a uma largura da região de janela de visualização e um quarto ângulo associado a uma altura da região de janela de visualização.
[009] Em alguns aspectos, o terceiro ângulo pode ser formado entre uma primeira borda e uma segunda borda da região de janela de visualização; e o quarto ângulo é formado entre uma terceira borda e uma quarta borda da região de janela de visualização.
[0010] Em alguns aspectos, a ROI pode ser definida por pelo menos quatro planos que se cruzam com a representação esférica; e em que cada um dos quatro planos também se cruzem com o centro esférico. Em alguns aspectos,
Petição 870190049772, de 28/05/2019, pág. 23/180
5/126 o formato da região de janela de visualização pode ser determinado com base nos cruzamentos dos pelo menos quatro planos com a representação esférica. Em alguns aspectos, os pixels correspondentes à região de janela de visualização são extraídos com base no formato.
[0011] Em alguns aspectos, a figuração pode incluir uma pluralidade de mosaicos. As segundas informações de sinalização podem definir um ou mais mosaicos da figuração que inclui a região de janela de visualização. Em alguns aspectos, o método pode compreender adicionalmente conter o um ou mais mosaicos da pluralidade de mosaicos com base nas segundas informações de sinalização e extrair os pixels do um ou mais mosaicos.
[0012] Em alguns aspectos, as segundas informações de sinalização podem incluir uma ou mais coordenadas associadas ao um ou mais mosaicos na figuração. O um ou mais mosaicos podem formar um grupo de mosaicos, e as segundas informações de sinalização podem incluir um identificador de grupo associado ao grupo de mosaicos. Em alguns aspectos, a pluralidade de mosaicos são mosaicos de movimentação limitada.
[0013] Em alguns aspectos, as segundas informações de sinalização podem incluir coordenadas de pixel associadas a uma localização predeterminada dentro de uma região de janela de visualização formada projetando-se a ROI em um plano, uma largura da região de janela de visualização e uma altura da região de janela de visualização. O arquivo de mídia pode se basear em um formato-base de arquivo de mídia da Organização
Petição 870190049772, de 28/05/2019, pág. 24/180
6/126
Internacional de Normalização (ISO) (ISOBMFF). O arquivo de midia pode identificar um grupo de amostra que inclui uma amostra de video correspondente ao video esférico cena; e em que as primeiras informações de sinalização e as segundas informações de sinalização são incluídas em um ou mais elementos de sintaxe do grupo de amostra.
[0014] Em alguns aspectos, o arquivo de midia pode se basear em um formato de descrição de apresentação de midia (MPD) e inclui um ou mais conjuntos de adaptações. Cada um dentre o um ou mais conjuntos de adaptações pode incluir uma ou mais representações. As primeiras informações de sinalização, as segundas informações de sinalização e um enlace para a figuração podem ser incluídos em um ou mais elementos associados à ROI incluída na uma ou mais representações. Em alguns aspectos, o método pode compreender adicionalmente obter a figuração com base no enlace incluído no arquivo de midia.
[0015] Em alguns aspectos, a uma ou mais representações podem ser representações com base em mosaico, e as segundas informações de sinalização podem incluir identificadores associados a mosaicos que incluir a ROI incluída na uma ou mais representações com base em mosaico.
[0016] Em alguns aspectos, a representação esférica da cena pode ser projetada no plano com o uso de projeção retilinea.
[0017] Em alguns aspectos, o método pode compreender adicionalmente extrair pixels de múltiplas ROIs da figuração com base nas primeiras informações de
Petição 870190049772, de 28/05/2019, pág. 25/180
7/126 sinalização e nas segundas informações de sinalização.
[0018] Em alguns exemplos, um aparelho para processar dados de video é fornecido. O aparelho pode compreender uma memória configurada para armazenar dados de video em 360 graus e um processador configurado para: obter um arquivo de midia associado aos dados de video em 360 graus, sendo que os dados de video em 360 graus incluem uma representação esférica de uma cena, o arquivo de midia inclui primeiras informações de sinalização e segundas informações de sinalização de um região de janela de visualização correspondente a uma região de interesse (ROI) na representação esférica, sendo que as primeiras informações de sinalização incluem uma posição central e uma dimensão da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização indicam uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano; O processador pode ser configurado adicionalmente para extrair pixels correspondentes à região de janela de visualização dos dados da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização e fornecer os pixels para renderizar a região de janela de visualização para exibição.
[0019] Em alguns aspectos, o processador é configurado adicionalmente para determinar, a partir das primeiras informações de sinalização, um primeiro ângulo e um segundo ângulo de um centro da região de janela de
Petição 870190049772, de 28/05/2019, pág. 26/180
8/126 visualização com relação a um centro esférico da representação esférica da cena, sendo que o primeiro ângulo é formado em um primeiro plano e o segundo ângulo é formado em um segundo plano, em que o primeiro plano é perpendicular ao segundo plano.
[0020] Em alguns aspectos, o processador é configurado adicionalmente para determinar, a partir das primeiras informações de sinalização, um terceiro ângulo associado a uma largura da região de janela de visualização e um quarto ângulo associado a uma altura da região de janela de visualização.
[0021] Em alguns aspectos, o terceiro ângulo é formado entre uma primeira borda e uma segunda borda da região de janela de visualização; e em que o quarto ângulo é formado entre uma terceira borda e uma quarta borda da região de janela de visualização. Em alguns aspectos, a ROI é definida por pelo menos quatro planos que se cruzam com a representação esférica; e em que cada um dos quatro planos também se cruzem com o centro esférico.
[0022] Em alguns aspectos, o processador é configurado adicionalmente para determinar um formato da região de janela de visualização com base nos cruzamentos dos pelo menos quatro planos com a representação esférica.
[0023] Em alguns aspectos, o processador é configurado para extrair os pixels correspondentes à região de janela de visualização com base no formato.
[0024] Em alguns aspectos, a figuração pode incluir uma pluralidade de mosaicos, e as segundas informações de sinalização podem definir um ou mais
Petição 870190049772, de 28/05/2019, pág. 27/180
9/126 mosaicos da figuração que incluem a região de janela de visualização. 0 processador é configurado adicionalmente para obter o um ou mais mosaicos a partir da pluralidade de mosaicos com base nas segundas informações de sinalização e extrair os pixels do um ou mais mosaicos.
[0025] Em alguns aspectos, o processador é configurado adicionalmente para determinar, a partir das segundas informações de sinalização, uma ou mais coordenadas associadas ao um ou mais mosaicos na figuração.
[0026] Em alguns aspectos, o um ou mais mosaicos formam um grupo de mosaicos. O processador é configurado adicionalmente para determinar, a partir das segundas informações de sinalização, um identificador de grupo associado ao grupo de mosaicos. Em alguns aspectos, a pluralidade de mosaicos são mosaicos de movimentação limitada.
[0027] Em alguns aspectos, o processador é configurado adicionalmente para determinar, a partir das segundas informações de sinalização, coordenadas de pixel associadas a uma localização predeterminada dentro de uma região de janela de visualização formada projetando-se a ROI em um plano, uma largura da região de janela de visualização e uma altura da região de janela de visualização.
[0028] Em alguns aspectos, o arquivo de midia se baseia em um formato-base de arquivo de midia da Organização Internacional de Normalização (ISO) (ISOBMFF). O arquivo de midia pode identificar um grupo de amostra que inclui uma amostra de video correspondente ao video
Petição 870190049772, de 28/05/2019, pág. 28/180
10/126 esférico cena; e em que o processador é configurado adicionalmente para extrair as primeiras informações de sinalização e as segundas informações de sinalização DE um ou mais elementos de sintaxe do grupo de amostra.
[0029] Em alguns aspectos, o arquivo de mídia se baseia em um formato de descrição de apresentação de mídia (MED) e inclui um ou mais conjuntos de adaptações. Cada um dentre o um ou mais conjuntos de adaptações pode incluir uma ou mais representações. O processador é configurado adicionalmente para determinar, com base em um ou mais elementos associados à ROI incluídos na uma ou mais representações, as primeiras informações de sinalização, as segundas informações de sinalização e um enlace para a figuração; e obter a figuração com base no enlace incluído no arquivo de mídia.
[0030] Em alguns aspectos, a uma ou mais representações são representações com base em mosaico. O processador é configurado adicionalmente para determinar, com base nas segundas informações de sinalização, identificadores associados a mosaicos que incluem a ROI incluída na uma ou mais representações com base em mosaico.
[0031] Em alguns aspectos, a representação esférica a cena pen projetada no plano com o uso de uma projeção retilínea.
[0032] Em alguns aspectos, o processador é configurado adicionalmente para extrair pixels de múltiplas ROIs da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização.
[0033] Em alguns aspectos, o aparelho pode
Petição 870190049772, de 28/05/2019, pág. 29/180
11/126 compreender um dispositivo móvel com uma ou mais câmera para capturar os dados de video em 360 graus. Em alguns aspectos, o aparelho pode compreender um visor para renderizar a região de janela de visualização.
[0034] Em alguns exemplos, uma midia legivel por computador não transitória é fornecida. A midia legivel por computador não transitória pode ter armazenadas na mesma instruções que, quando executadas por um ou mais processadores, fazem o um ou mais processador: obter um arquivo de midia associado a dados de video em 360 graus, em que os dados de video em 360 graus incluem uma representação esférica de uma cena, sendo que o arquivo de midia inclui primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente a uma região de interesse (ROI) na representação esférica, sendo que as primeiras informações de sinalização incluem uma posição central e uma dimensão da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização indicam uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano; extrai pixels correspondentes à região de janela de visualização dos dados da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização; e fornecer os pixels para renderizar a região de janela de visualização para exibição.
[0035] Em alguns exemplos, um método para
Petição 870190049772, de 28/05/2019, pág. 30/180
12/126 processar dados de vídeo é fornecido. 0 método pode compreender: obter os dados de video em 360 graus, sendo que os dados de vídeo em 360 graus incluem uma representação esférica de uma cena; determinar uma região de interesse (ROI) na representação esférica da cena; gerar um arquivo de mídia que inclui primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente à ROI, sendo gue as primeiras informações de sinalização incluem uma posição central e uma dimensão da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização indicam uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano; e fornecer o arquivo de mídia para renderizar os dados de vídeo em 360 graus ou para transmissão de uma porção dos dados de vídeo em 360 graus que incluem pelo menos a ROI.
[0036] Em alguns exemplos, um aparelho para processar dados de vídeo é fornecido. O aparelho pode compreender uma memória configurada para armazenar dados de vídeo em 360 graus e um processador configurado para: obter os dados de vídeo em 360 graus, sendo que os dados de vídeo em 360 graus incluem uma representação esférica de uma cena; determinar uma região de interesse (ROI) na representação esférica da cena; gerar um arquivo de mídia que inclui primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de
Petição 870190049772, de 28/05/2019, pág. 31/180
13/126 visualização correspondente à ROI, sendo que as primeiras informações de sinalização incluem uma posição central e uma dimensão da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização indicam uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano; e fornecer o arquivo de mídia para renderizar os dados de vídeo em 360 graus ou para transmissão de uma porção dos dados de vídeo em 360 graus que incluem pelo menos a ROI.
[0037] Em alguns exemplos, uma mídia legível por computador não transitória é fornecida. A mídia legível por computador não transitória pode ter armazenadas na mesma instruções que, quando executadas por um ou mais processadores, fazem o um ou mais processadores: obter dados de vídeo em 360 graus, sendo que os dados de vídeo em 360 graus incluem uma representação esférica de uma cena; determinar uma região de interesse (ROI) na representação esférica da cena; gerar um arquivo de mídia que inclui primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente à ROI, sendo que as primeiras informações de sinalização incluem uma posição central e uma dimensão da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização indicam uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se
Petição 870190049772, de 28/05/2019, pág. 32/180
14/126 a representação esférica que inclui a ROI em um plano; e fornecer o arquivo de midia para renderizar os dados de video em 360 graus ou para transmissão de uma porção dos dados de video em 360 graus incluindo pelo menos a ROI.
[0038] Esse sumário não está destinado a identificar atributos principais ou essenciais da matéria reivindicada tampouco está destinado a ser usado isoladamente para determinar o escopo da matéria reivindicada. A matéria deve ser entendida a titulo de referência às porções apropriadas de todo o relatório descritivo da presente patente, qualquer um ou todos os desenhos e cada reivindicação.
[0039] O supracitado, junto de outros atributos e modalidades, ficarão mais evidentes mediante a referência ao relatório descritivo, reivindicações e desenhos anexos.
BREVE DESCRIÇÃO DOS DESENHOS [0040] As modalidades ilustrativas da presente invenção são descritas detalhadamente a seguir com referência às seguintes Figuras com desenhos:
[0041] A Figura 1 é um diagrama de blocos que ilustra um exemplo de um dispositivo de codificação e um dispositivo de decodificação, em conformidade com alguns exemplos;
[0042] A Figura 2A e a Figura 2B são diagramas que ilustram exemplos de quadros de video capturados por câmeras omnidirecionais que usam lentes olho de peixe para capturar um amplo campo de visão, em conformidade com alguns exemplos;
Petição 870190049772, de 28/05/2019, pág. 33/180
15/126 [0043] A Figura 3 é um diagrama que ilustra um exemplo de um quadro de video equirretangular, em conformidade com alguns exemplos;
[0044] A Figura 4A, a Figura 4B, a Figura 4C, a Figura 4D e a Figura 4E são diagramas que ilustram exemplos de um quadro de video e sinalização equirretangular de uma janela de visualização correspondente a uma região de interesse (ROI) no quadro de video, em conformidade com alguns exemplos;
[0045] A Figura 5A, a Figura 5B e a Figura 5C são diagramas que ilustram exemplos de uma janela de visualização e definições de uma ROI, em conformidade com alguns exemplos;
[0046] A Figura 6A e a Figura 6B ilustram de quadros de video bidimensionais e sinalização de uma janela de visualização para uma ROI nos quadros de video bidimensionais;
[0047] A Figura 7 e a Figura 8 fornecem exemplos de um arquivo de midia que contém informações de sinalização de uma janela de visualização, em conformidade com alguns exemplos;
[0048] A Figura 9 é um diagrama que ilustra um sistema de transmissão continua de video, em conformidade com alguns exemplos;
[0049] A Figura 10 fornece uma representação gráfica de um exemplo de um arquivo MPD, em conformidade com alguns exemplos;
[0050] A Figura 11 é uma representação de código XML que ilustra um exemplo de sinalização de uma
Petição 870190049772, de 28/05/2019, pág. 34/180
16/126 janela de visualização correspondente a uma ROI no arquivo de MPD, em conformidade com alguns exemplos;
[0051] A Figura 12 e a Figura 13 são fluxogramas que ilustram processos exemplificativos para processar dados de video, em conformidade com alguns exemplos;
[0052] A Figura 14 é um diagrama de blocos que ilustra um exemplo video dispositivo de codificação, em conformidade com alguns exemplos; e [0053] A Figura 15 é um diagrama de blocos que ilustra um dispositivo de decodificação de video exemplificativo, em conformidade com alguns exemplos.
DESCRIÇÃO DETALHADA [0054] Determinados aspectos e modalidades da presente revelação são fornecidos abaixo. Alguns desses aspectos e modalidades podem ser aplicados independentemente e alguns dos mesmos podem ser aplicados em combinação, conforme fica evidente para as pessoas versadas na técnica. Na descrição a seguir, a titulo de explicação, os detalhes específicos são apresentados a fim de fornecer um entendimento minucioso das modalidades da invenção. No entanto, ficará evidente que várias modalidades podem ser praticadas sem esses detalhes específicos. As Figuras e descrição não estão destinadas a serem limitativas.
[0055] A descrição em expedição fornece modalidades exemplificativas apenas e não está destinada a limitar o escopo, aplicabilidade ou configuração da revelação. De preferência, a descrição em expedição das
Petição 870190049772, de 28/05/2019, pág. 35/180
17/126 modalidades exemplificativa das modalidades exemplificativas fornecerá às pessoas versadas na técnica uma descrição viabilizadora para implantar uma modalidade exemplificativa. Deve-se entender que várias mudanças podem ser feitas na função e na disposição dos elementos sem haver afastamento do espirito e do escopo da invenção, conforme apresentado nas reivindicações anexas.
[0056] Os detalhes específicos são fornecidos na descrição a seguir das modalidades. No entanto, será entendido por uma pessoa versada na técnica que as modalidades podem ser praticadas sem esses detalhes específicos. Por exemplo, circuitos, sistemas, redes, processos e outros componentes podem ser mostrados como componentes em forma de diagrama de blocos para não complicar as modalidades com detalhes desnecessários. Em outros exemplos, circuitos bem conhecidos, processos, algoritmos, estruturas e técnicas podem ser mostrados sem detalhes desnecessários a fim de evitar a incompressibilidade das modalidades.
[0057] Além disso, verifica-se que modalidades individuais podem ser descritas como um processo que é retratado como um fluxograma, um diagrama de fluxo, um diagrama de fluxo de dados, um diagrama de estrutura ou um diagrama de blocos. Embora um fluxograma possa descrever as operações como um processo sequencial, muitas das operações podem ser realizadas paralela ou concomitantemente. Além disso, a ordem das operações podem ser redispostas. Um processo é terminado quando as operações do mesmo são concluídas, porém podería haver etapas adicionais incluídas
Petição 870190049772, de 28/05/2019, pág. 36/180
18/126 em uma Figura. Um processo pode corresponder a um método, uma função, um procedimento, uma sub-rotina, um subprograma etc. Quando um processo corresponde a uma função, a terminação do mesmo correspondente a um retorno da função à função de chamada ou função principal.
[0058] O termo mídia legível por computador inclui, porém sem limitação, dispositivos de armazenamento portáteis ou portáteis, dispositivos de armazenamento óptico e várias outras mídias com capacidade para armazenar, conter ou transportar instrução (ou instruções) e/ou dados. Uma mídia legível por computador pode incluir uma mídia não transitória na qual os dados podem ser armazenados e isso não inclui ondas portadoras e/ou sinais eletrônicos transitórios que se propagam de maneira sem fio ou por meio de conexões cabeadas. Os exemplos de uma mídia não transitória podem incluir, porém sem limitação, um disco magnético ou fita, mídias de armazenamento, tais como disco compacto (CD) ou disco versátil digital (DVD), memória flash, memória ou dispositivos de memória. Uma mídia legível por computador pode ter armazenadas na mesma instruções de código e/ou executáveis por máquina que podem representar um procedimento, uma função, um subprograma, um programa, uma rotina, uma sub-rotina, um módulo, um pacote de software, uma classe ou qualquer combinação de instruções, estruturas de dados ou declarações de programa. Um segmento de código pode ser acoplado a outro segmento de código ou um circuito de hardware passando-se e/ou recebendo-se informações, dados, argumentos, parâmetros ou conteúdo de memória. Informações, argumentos, parâmetros,
Petição 870190049772, de 28/05/2019, pág. 37/180
19/126 dados etc. podem ser passados, encaminhados ou transmitidos através de quaisquer meios adequados incluindo compartilhamento de memória, passagem de mensagem, passagem de token, transmissão de rede ou semelhantes.
[0059] Além disso, as modalidades podem ser implantadas por hardware, software, firmware, middleware, microcódigo, linguagens de descrição de hardware ou qualquer combinação dos mesmos. Quando implantado em software, firmware, middleware ou microcódigo, o código ou segmentos de código de programa para realizar as tarefas necessárias (por exemplo, um produto de programa de computador) pode ser armazenado em uma midia legivel por máquina legivel por computador. Um processador (ou processadores) pode realizar as tarefas necessárias.
[0060] O conteúdo de video pode ser capturado e codificado como conteúdo de video em 360 graus (também denominado de conteúdo de realidade virtual (VR)). Conforme descrito mais detalhadamente abaixo, um ou mais sistemas e métodos descritos no presente documento estão destinados a gerar arquivos de midia para conteúdo de video em 360 graus para incluir informações de sinalização de uma ou mais regiões de interesse (ROIs) no conteúdo de video. Um ou mais sistemas e métodos descritos no presente documento também estão direcionados a processar as informações de sinalização incluídas nos arquivos de midia para extrair a ROI do conteúdo de video para renderização. O conteúdo de video pode ser um video esférico formado compondo-se um conjunto de imagens que captura uma cena em determinados instantes no tempo. Uma ROI de uma figuração de video em
Petição 870190049772, de 28/05/2019, pág. 38/180
20/126
360 graus pode ser uma região predeterminada da figuração que captura uma determinada porção da cena. Em alguns casos, uma ROI pode corresponder a uma porção determinada dinamicamente da cena (por exemplo, uma porção da cena visualizada atualmente pelo usuário) . Um arquivo de midia pode incluir primeiras informações de sinalização e segundas informações de sinalização da ROI. As primeiras informações de sinalização podem incluir uma primeira localização da ROI e informações de dimensão da ROI em um espaço esférico tridimensional correspondente para o video esférico. As segundas informações de sinalização podem incluir uma segunda localização da ROI em um espaço bidimensional formado projetando-se o espaço esférico em um plano. Em alguns exemplos, a sinalização dupla pode fornecer um mapeamento entre a primeira localização e a segunda localização da ROI. O mapeamento pode facilitar tanto a transmissão quanto a renderização dos dados de video esféricos.
[0061] O video em 360 graus pode incluir video de realidade virtual, dados de realidade aumentados ou qualquer outro tipo de conteúdo de video do tipo 360 graus, seja capturados, gerado por computador ou semelhante. Por exemplo, o video em 360 graus pode fornecer a capacidade de estar virtualmente presente em um mundo não fisico criado pela renderização de imagens naturais e/ou sintéticas (e, em alguns casos, som) correlacionadas pelos movimentos do usuário imerso, o que permite que o usuário interaja com o mundo. O video em 360 graus pode representar um ambiente tridimensional com o qual se pode interagir de maneira
Petição 870190049772, de 28/05/2019, pág. 39/180
21/126 totalmente integrada real ou de maneira física. Em alguns casos, um usuário que tem a experiência de um ambiente de vídeo em 360 graus usa equipamento eletrônico, tal como um monitor de capacete (HMD) e, opcionalmente, determinadas ferramentas ou vestimentas (por exemplo, luvas equipadas com sensores) para interagir com o ambiente virtual. Conforme o usuário se move no mundo real, as imagens renderizadas no ambiente virtual também mudam, o que fornece ao usuário a percepção de que o usuário se move dentro do ambiente virtual. Em alguns casos, o ambiente virtual inclui som que se correlaciona com os movimentos do usuário, o que fornece ao usuário a impressão de que os sons se originam de uma direção ou fonte particular. O vídeo em 360 graus pode ser capturado e renderizado em uma qualidade muito alta, o que fornece potencialmente um vídeo em 360 graus ou experiência de realidade virtual realmente imersiva. As aplicações de vídeo em 360 graus incluem jogos eletrônicos, treinamento, educação, vídeo esportivos, compras online dentre outros.
[0062] O vídeo em 360 graus é um vídeo capturado para exibição em um ambiente de 360 graus. Em algumas aplicações, o vídeo do mundo real pode ser usado na apresentação de um ambiente de realidade virtual, contrário a gráficos gerados por computador, tais como podem ser encontrados em mundos de jogos eletrônicos ou virtuais. Nessas aplicações, um usuário pode experimentar outra localização da mesma maneira que o usuário pode experimentar a localização presente do usuário. Por exemplo, um usuário pode experimentar uma caminhada em
Petição 870190049772, de 28/05/2019, pág. 40/180
22/126
Berlin ao mesmo tempo que usa um sistema de video em 360 graus que está situado em São Francisco.
[0063] Um sistema de video em 360 graus pode incluir um dispositivo de captura de video e um dispositivo de exibição de video e possivelmente também outros dispositivos intermediários, tais como servidores, armazenamento de dados e equipamento de transmissão de dados. Um dispositivo de captura de video pode incluir um conjunto de câmera, o que pode incluir um conjunto de múltiplas câmeras, cada um orientado em uma diferente direção e que captura uma vista diferente. Em um exemplo ilustrativo, seis câmeras podem ser usadas para capturar uma visão completamente em 360 graus centralizada na localização do conjunto de câmeras. Alguns dispositivos de captura de video podem usar menos câmeras. Por exemplo, alguns dispositivos de captura de video capturam primariamente vistas lado-a-lado ou usam lentes com um amplo campo de visão. Em um exemplo ilustrativo, uma ou mais câmeras equipadas com duas lentes olho de peixe, posicionadas de costas uma para a outra, podem ser usadas para capturar duas imagens que fornecem juntas um campo de visão de 360 graus. Um video inclui, de modo geral, quadros ou figurações, sendo que um quadro ou figuração é uma imagem estática codificada eletronicamente de uma cena. As câmeras capturam um determinado número de quadros por segundo, que é normalmente denominado de velocidade de fotogramas da câmera.
[0064] Em alguns casos, a fim de fornecer uma vista em 360 graus totalmente integrada, a composição de
Petição 870190049772, de 28/05/2019, pág. 41/180
23/126 imagem pode ser realizada nos quadros de video (ou imagens) capturados por cada uma das câmeras no conjunto de câmeras. A composição de imagem no caso de geração de video em 360 graus envolve combinar ou unir quadros de video de câmeras (ou lentes) adjacentes na área em que os quadros de video se sobrepõem ou, de outro modo, se conectam. O resultado é aproximadamente um quadro esférico, e semelhante a uma projeção de Mercador, os dados unidos podem ser representado de modo plano. Por exemplo, os pixels em um quadro de video unido pode ser mapeado nos planos de um formato de cubo ou algum outro formato plano tridimensional (por exemplo, uma pirâmide, um octaedro, um decaedro etc.). Os dispositivos de captura de video ou de exibição de video podem operar em um principio quadriculado - o que significa que um quadro de video é tratado como um grade de pixels nesse caso, planos quadrados, planos retangulares ou outros planos de formato adequado podem ser usados para representar um ambiente esférico.
[0065] Os quadros de video em 360 graus,
mapeados para uma representação placa, podem ser
codificados e/ou comprimidos para armazenamento e/ou
transmissão. A codificação e/ou compressão pode ser
realizada com o uso de um codec de video (por exemplo, código que está em conformidade com o padrão de codificação de video de alta eficiência (HEVC), que também é conhecido como H.265, o padrão de codificação de video avançado, que
é conhecido como H.264, ou outro codec adequado) e os
resultados em um fluxo de bits de video comprimido (ou
fluxo de bits de video codificado) ou grupo de fluxo de
Petição 870190049772, de 28/05/2019, pág. 42/180
24/126 bits. A codificação de dados de video com o uso de urn codec de video é descrita mais detalhadamente abaixo.
[0066]
Em algumas implantações, o fluxo de bits codificado (ou fluxos de bits) de vídeo pode ser armazenado e/ou encapsulado em um formato de mídia ou formato de arquivo. O fluxo de bits (ou fluxos de bits) armazenado pode ser transmitido, por exemplo, através de uma rede, um dispositivo receptor que pode decodificar e renderizar o vídeo para exibição. Tal dispositivo receptor pode ser denominado no presente documento de dispositivo de exibição de vídeo. Por exemplo, um sistema de vídeo em 360 graus pode gerar arquivos encapsulados dos dados de vídeo codificados (por exemplo, com o uso de um formato-base de arquivo de mídia de Organização Internacional de Normalização (ISO) e/ou formatos de arquivos derivados). Por exemplo, o codec de vídeo pode codificar os dados de vídeo e um mecanismo de encapsulamento pode gerar os arquivos de mídia encapsulando-se os dados de vídeo em um ou mais arquivos de mídia no formato ISO. Alternativa ou adicionalmente, o fluxo de bits (ou fluxos de bits) armazenado pode ser fornecido diretamente de uma mídia de armazenamento a um dispositivo receptor.
[0067]
Um dispositivo receptor também pode implantar um codec para decodificar e/ou descomprimir um fluxo de bits de vídeo codificado. Nos casos em que o fluxo de bits (ou fluxos de bits) de vídeo codificado são armazenados e/ou encapsulados em um formato de mídia ou formato de arquivo, o dispositivo receptor pode suportar a mídia ou formato de arquivo que foi usada para empacotar o
Petição 870190049772, de 28/05/2019, pág. 43/180
25/126 fluxo de bits de video em um arquivo (ou arquivos) e pode extrair os dados de video (e, possivelmente, também de áudio) para gerar os dados de video codificados. Por exemplo, o dispositivo receptor pode analisar os arquivos de midia com os dados de video encapsulados para gerar os dados de video codificados, e o codec no dispositivo receptor pode decodificar os dados de video codificados.
[0068] O dispositivo receptor pode, então, enviar o sinal de video decodificado a um dispositivo de renderização (por exemplo, um dispositivo de exibição de video, dispositivo reprodutor ou outro dispositivo de renderização adequado). Dispositivos de renderização incluem, por exemplo, monitores de capacete, televisões de realidade e outros dispositivos com visor em 180 ou em 360 graus. De modo geral, o monitor de capacete pode acompanhar o movimento da cabeça de um utente e/ou o movimento do olho do utente. O monitor de capacete pode usar as informações de acompanhamento para tornar a parte de um video em 360 graus que corresponde à direção na qual o utente está olhando, de modo que o utente experimente o ambiente virtual da maneira que deveria experimentar no mundo real. Um dispositivo de renderização pode renderizar um video na mesma velocidade de fotogramas na qual o video foi capturado ou em diferentes velocidades de fotogramas.
[0069] As figurações de video do conteúdo de video em 360 graus podem ser codificadas como um fluxo de bits de única camada com o uso de interpredição temporal (TIP), e todo o fluxo de bits codificado pode ser armazenado em um servidor. Em alguns casos, as figurações
Petição 870190049772, de 28/05/2019, pág. 44/180
26/126 de conteúdo de vídeo em 360 graus podem ser codificadas como um fluxo de bits de múltiplas camadas com o uso de TIP e predição entre camadas (ILP). Caso necessário, o fluxo de bits pode ser transmitido ao lado do receptor, decodificado completamente pelo decodificador, e à região da figuração decodificada correspondente a uma porção de uma cena que é visualizada pelo utente (por exemplo, determinada com base no movimento da cabeça e/ou olhos do utente) pode ser renderizada para o utente.
[0070] A Figura 1 é um diagrama de blocos que ilustra um exemplo de um sistema de codificação de vídeo 100 que inclui um dispositivo de codificação 104 e um dispositivo de decodificação 112. O dispositivo de codificação 104 pode ser parte de um dispositivo de origem, e o dispositivo de decodificação 112 pode ser parte de um dispositivo de recebimento. O dispositivo de origem e/ou o dispositivo de recebimento pode incluir um dispositivo eletrônico, tal como um auscultadores de telefone móvel ou estacionário (por exemplo, telefone inteligente, telefone celular ou semelhante), um computador do tipo desktop, um computador do tipo laptop ou notebook, um computador do tipo tablet, um decodificador de sinal, uma televisão, uma câmera, um dispositivo de exibição, um reprodutor de mídia digital, um console de jogos eletrônicos, um dispositivo de transmissão contínua de vídeo, uma câmera de Protocolo de Internet (IP) ou qualquer dispositivo eletrônico adequado. Em alguns exemplos, o dispositivo de origem e o dispositivo de recebimento pode incluir um ou mais transceptores sem fio para comunicações sem fio. As técnicas de codificação
Petição 870190049772, de 28/05/2019, pág. 45/180
27/126 descritas no presente documento são aplicáveis à codificação de vídeo em várias aplicações multimídia, incluindo transmissões contínuas de vídeo (por exemplo, através da Internet), difusões ou transmissões de televisão, codificação de vídeo digital para armazenamento em uma mídia de armazenamento de dados, decodificação de vídeo digital armazenado em uma mídia de armazenamento de dados ou outras aplicações. Em alguns exemplos, o sistema 100 pode suportar transmissão de vídeo unidirecional ou bidirecional para suportar aplicações, tais como videoconferência, transmissão contínua de vídeo, reprodução de vídeo, difusão de vídeo, jogos eletrônicos e/ou videotelefonia.
[0071] O dispositivo de codificação 104 (ou codificador) pode ser usado para codificar dados de vídeo com o uso de um padrão ou protocolo de codificação de vídeo para gerar um fluxo de bits de vídeo codificado. Os exemplos de padrões de codificação de vídeo incluem ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 ou ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264 (também conhecidos como ISO/IEC MPEG-4 AVC), incluindo as extensões Codificação de Vídeo Escalonável (SVC) e Codificação de Vídeo de Múltiplas Vistas (MVC) dos mesmos e Codificação de Vídeo de Alta Eficiência (HEVC) ou ITU-T H.265. Várias extensões para o HEVC lidam com codificação de vídeo de múltiplas camadas, incluindo as extensões de codificação de conteúdo de alcance e de tela, codificação de vídeo 3D (3D-HEVC) e extensões de múltiplas visões (MVHEVC) e extensão escalonável (SHVC). O HEVC e suas
Petição 870190049772, de 28/05/2019, pág. 46/180
28/126 extensões foram desenvolvidos pela Equipe de Colaboração Conjunta na codificação de video (JCT-VC), assim como Equipe de Colaboração Conjunta no Desenvolvimento de Extensão de Codificação de Video (JCT-3V) do Grupo de Especialistas em Codificação de Video de ITU-T (VCEG) e Grupos de Especialistas em Figuração em Movimento (MPEG). MPEG e ITU-T VCEG também formaram uma equipe de video de exploração conjunta (JVET) para explorar novas ferramentas de codificação para a próxima geração do padrão de codificação de video. 0 software de referência é denominado JEM (modelo de exploração conjunta).
[0072] Muitas modalidades descritas no presente documento fornecem exemplos com o uso do JEM, do padrão HEVC standard e/ou das extensões dos mesmos. No entanto, as técnicas e sistemas descritos no presente documento também podem ser aplicáveis a outros padrões de codificação, tais como extensões de AVC, MPEG, dos mesmos, ou outros padrões de codificação adequados já disponíveis ou ainda não disponíveis ou desenvolvidos. Consequentemente, embora as técnicas e sistemas descritos no presente documento possam ser descritos com referência a um padrão de codificação de video particular, uma pessoa de habilidade comum na técnica observará que a descrição não deve ser interpretada para se aplicar apenas a esse padrão particular.
[0073] Referindo-se à Figura 1, uma fonte de video 102 pode fornecer os dados de video ao dispositivo de codificação 104. A fonte de video 102 pode ser parte do dispositivo de origem ou pode ser parte de um dispositivo
Petição 870190049772, de 28/05/2019, pág. 47/180
29/126 diferente do dispositivo de origem. A fonte de video 102 pode incluir um dispositivo de captura de vídeo (por exemplo, uma câmera de vídeo, um telefone com câmera, um telefone para vídeo ou semelhantes), um arquivo de vídeo que contém vídeo armazenado, um servidor de vídeo ou provedor de conteúdo que fornece dados de vídeo, uma interface de alimentação de vídeo que recebe vídeo de um servidor de vídeo ou provedor de conteúdo, um sistema de gráfico de computador para gerar dados de vídeo de gráfico de computador, uma combinação de tais fontes ou qualquer outra fonte de vídeo adequada.
[0074] Os dados de vídeo da fonte de vídeo 102 podem incluir uma ou mais input figurações ou quadros. Uma figuração ou quadro de um vídeo é uma imagem estática de uma cena. O mecanismo codificador 106 (ou codificador) do dispositivo de codificação 104 codifica os dados de vídeo para gerar um fluxo de bits de vídeo codificado. Em alguns exemplos, um fluxo de bits de vídeo codificado (ou fluxo de bits de vídeo ou fluxo de bits) é uma série de uma ou mais sequências de vídeos codificados. A sequência de vídeos codificados (CVS) inclui uma série de unidades de acesso (AUs) que começa com uma AU que tem uma figuração de ponto de acesso aleatório na camada de base e com determinadas propriedades até e que não incluem uma próxima AU que tem uma figuração de ponto de acesso aleatório na camada de base e com determinadas propriedades. Por exemplo, as determinadas propriedades de uma figuração de ponto de acesso aleatório que inicia uma CVS podem incluir um sinalizador RASL (por exemplo, NoRaslOutputFlag) igual a
Petição 870190049772, de 28/05/2019, pág. 48/180
30/126
1. De outro modo, uma figuração de ponto de acesso aleatório (com sinalizador RASL igual a 0) não inicia uma CVS. Uma unidade de acesso (AU) inclui uma ou mais figurações codificadas e informações de controle correspondentes às figurações codificadas que compartilham o mesmo tempo de saída. As fatias codificadas das figurações são encapsuladas no nível de fluxo de bits em unidades de dados denominadas de unidade de camada de abstração de rede (NAL) . Por exemplo, um fluxo de bits de video de HEVC pode incluir um ou mais CVSs incluindo unidades de NAL. Cada uma das unidades de NAL tem um cabeçalho de unidade de NAL. Em um exemplo, o cabeçalho é de um byte para H.264/AVC (exceto para extensões de múltiplas camadas) e de dois bytes para HEVC. Os elementos de sintaxe no cabeçalho de unidade de NAL assumem os bits designados e, portanto, são visíveis para todos os tipos de sistemas e camadas de transporte, tais como Fluxo de Transporte, Protocolo de Transporte em Tempo Real (RTP), formato de arquivo entre outros.
[0075] Duas classes de unidades de NAL existem no padrão HEVC, incluindo unidades de NAL de camada de codificação de vídeo (VCL) e unidades de NAL de não VCL. A unidade de NAL VCL inclui uma fatia ou segmento de fatia (descrito abaixo) de dados de figuração codificados, e uma unidade de NAL de não VCL inclui informações de controle que se referem a uma ou mais figurações codificadas. Em alguns casos, uma unidade de NAL pode ser denominada de pacote. Uma AU de HEVC inclui unidades de NAL de VCL que contêm dados de figuração codificados e unidades de NAL de
Petição 870190049772, de 28/05/2019, pág. 49/180
31/126 não VCL (caso haja) correspondente aos dados de figuração codificados.
[0076] As unidades de NAL podem conter uma sequência de bits que formam uma representação codificada dos dados de video (por exemplo, um fluxo de bits de video codificado, um CVS de um fluxo de bits ou semelhante) , tal como representações codificadas de figurações em um video. O mecanismo codificador 106 gera representações codificadas de figurações dividindo-se cada figuração em múltiplas fatias. Uma fatia é independente de outras fatias de modo que as informações na fatia sejam codificadas sem dependência dos dados de outras fatias dentro da mesma figuração. A fatia inclui um ou mais segmentos de fatia incluindo um segmento de fatia independente e, caso presente, um ou mais segmentos de fatia dependentes que dependem de segmentos de fatia anteriores. Em seguida, as fatias são divididas em blocos de árvore de codificação (CTBs) de amostras de amostras de luma e amostras e croma. Um CTB de amostras de luma e um ou mais CTBs de amostras de croma, junto de sintaxe para as amostras, são denominadas de unidade de árvore de codificação (CTU) . Uma CTU é a unidade processamento básico para codificação de HEVC. Uma CTU pode ser dividida em múltiplas unidades de codificação (CUs) de tamanho variáveis. Uma CU contém arranjos de amostra de luma e de croma que são denominados de blocos de codificação (CBs).
[0077] Os CBs de luma de croma podem ser divididos adicionalmente em blocos de predição (PBs). Um PB é um bloco de amostras do componente de luma ou um
Petição 870190049772, de 28/05/2019, pág. 50/180
32/126 componente de croma que usa os mesmos parâmetros de movimentação para predição de cópia de interpredição ou de intrabloco (quando disponível ou habilitada para uso). 0 PB de luma e os um ou mais PBs de croma, junto da sintaxe associada, formam uma unidade de predição (PU). Para interpredição, um conjunto de parâmetros de movimentação (por exemplo, um ou mais vetores de movimentação, índices de referência ou semelhante) é sinalizado no fluxo de bits para cada PU e é usado para interpredição do PB de luma e os um ou mais PBs de croma. Os parâmetros de movimentação também podem ser denominados de informações de movimentação. Um CB também pode ser dividido em um ou mais blocos de transformada (TBs) . 0 TB representa um bloco quadrado de amostras de um componente de cor no qual a mesma transformada bidimensional é aplicada para codificar um sinal de predição residual. Uma unidade de transformada (TU) representa os TBs de luma e amostras de croma e elementos de sintaxe correspondentes.
[0078] Um tamanho de uma CU corresponde a um tamanho do modo de codificação e pode ter formato quadrado. Por exemplo, um tamanho de um CU pode ser 8x8 amostras, 16 x 16 amostras, 32 x 32 amostras, 64 x 64 amostras ou qualquer outro tamanho apropriado até o tamanho da CTU correspondente. O sintagma N x N é usado no presente documento para se referir a dimensões de pixel de um bloco de vídeo em termos de dimensões verticais e horizontais (por exemplo, 8 pixels x 8 pixels) . Os pixels em um bloco podem ser dispostos em linhas e colunas. Em algumas modalidades, os blocos não podem ter o número de pixels em
Petição 870190049772, de 28/05/2019, pág. 51/180
33/126 uma direção horizontal igual ao número em uma vertical direção. Os dados de sintaxe associados a uma CU podem descrever, por exemplo, a partição da CU em um ou mais PUs. Os modos de partição podem ser diferentes entre a possibilidade de a CU ser codificada pelo modo intrapredição ou codificada pelo modo de interpredição. As PUs podem ser particionadas de modo a terem um formato não quadrado. Os dados de sintaxe os associados a uma CU podem descrever, também, por exemplo, a partição da CU em uma ou mais TUs de acordo com a CTU. Uma TU pode ter formato quadrado ou não quadrado.
[0079] De acordo com o padrão FIEVC, as transformações podem ser realizadas com o uso de unidades de transformada (TUs). As TUs podem variar para diferentes CUs. As TUs podem ser dimensionadas com base no tamanho das PUs dentro de uma determinada CU. As TUs podem ter o tamanho igual ou menor que a PUs. Em alguns exemplos, as amostras residuais correspondentes a uma CU podem ser subdividas em unidades menores com o uso de uma estrutura de árvore quadrática conhecida como árvore quadrática residual (RQT) . Nós de folha da RQT podem corresponder às TUs. Os valores de diferença de pixel associados às TUs podem ser transformados para produzir coeficientes de transformada. Os coeficientes de transformada podem ser, então, quantificados pelo mecanismo codificador 106.
[0080] Uma vez que as figurações dos dados de video são particionadas em CUs, o mecanismo codificador 106 prediz cada PU com o uso de um modo de predição. Em seguida, a unidade de predição ou o bloco de predição é
Petição 870190049772, de 28/05/2019, pág. 52/180
34/126 subtraído dos dados de vídeo originais para obter residuais (descritos abaixo) . Para cada CU, um modo de predição pode ser sinalizado no interior do fluxo de bits com o uso de dados de sintaxe. Um modo de predição pode incluir intrapredição (ou predição de intrafiguração) ou interpredição (ou predição de interfiguração). A intrapredição utiliza a correlação entre amostras espacialmente vizinhas dentro de uma figuração. Por exemplo, com uso da intrapredição, cada PU é predita de dados de imagem vizinhos na mesma figuração com o uso, por exemplo, de predição de DC para encontrar um valor médio para a PU, predição plana para ajustar uma superfície plana à PU, predição de direção para extrapolar dos dados vizinhos ou quaisquer outros tipos adequados de predição. A interpredição usa a correlação temporal entre figurações a fim de derivar uma predição compensada por movimentação para um bloco de amostras de imagem. Por exemplo, com o uso de interpredição, cada PU é predita com o uso de predição de compensação de movimentação dos dados de imagem em uma ou mais figurações de referência (antes ou após a figuração atual em ordem de saída). Pode-se tomar uma decisão quanto à possibilidade de codificar uma área de figuração com o uso de interfiguração ou predição de intrafiguração, por exemplo, no nível da CU.
[0081] Em alguns exemplos, um tipo de fatia é atribuído à uma ou mais fatias de uma figuração são atribuídas. Os tipos de fatia incluem uma fatia I, uma fatia P e um fatia B. Uma fatia I (intraquadros, independentemente decodificáveis) é uma fatia de uma
Petição 870190049772, de 28/05/2019, pág. 53/180
35/126 figuração que é codificada apenas por intrapredição e, portanto, é independentemente passível de decodificação uma vez que a fatia I exige apenas os dados dentro do quadro para predizer qualquer unidade de predição ou bloco de predição da fatia. Uma fatia P (quadros preditos unidirecionais) é uma fatia de uma figuração que pode ser codificada com intrapredição e com interpredição unidirecional. Cada unidade de predição ou bloco de predição dentro de uma fatia P é ou codificada com intrapredição ou interpredição. Quando a interpredição se aplica, a unidade de predição ou bloco de predição é predita apenas por uma figuração de referência e, portanto, as amostras de referências são apenas uma região de referência de um quadro. Uma fatia B (quadros de preditivos bidirecionais) é uma fatia de uma figuração que pode ser codificada com intrapredição e com interpredição (por exemplo, ou bipredição ou unipredição). Uma unidade de predição ou bloco de predição de uma fatia B pode ser predita de maneira bidirecional a partir de duas figurações de referência, sendo que cada figuração contribui uma região de referência, e os conjuntos de amostras das duas regiões de referência são ponderadas (por exemplo, com pesos iguais ou com pesos diferentes) para produzir o sinal de predição do bloco predito bidirecional. Conforme explicado acima, as fatias de uma figuração são codificadas independentemente. Em alguns casos, uma figuração pode ser codificada apenas como um afatia.
[0082] Uma PU pode incluir os dados (por exemplo, parâmetros de movimentação ou outros dados
Petição 870190049772, de 28/05/2019, pág. 54/180
36/126 adequados) em relação ao processo de predição. Por exemplo, quando a PU é codificada com o uso de intrapredição, a PU pode incluir dados que descrevem um modo de intrapredição para a PU. Como outro exemplo, quando a PU é codificada com o uso de interpredição, a PU pode incluir dados que definem um vetor de movimentação para a PU. Os dados que definem o vetor de movimentação para uma PU podem descrever, por exemplo, um componente horizontal do vetor de movimentação (Ax), um componente vertical do vetor de movimentação (Ay), uma resolução para o vetor de movimentação (por exemplo, número inteiro de precisão, precisão de pixel de um quarto ou precisão de pixel de um quarto), uma figuração de referência para a qual o vetor de movimentação aponta, um índice de referência, uma lista de figurações de referência (por exemplo, Lista 0, Lista 1 ou Lista C) para o vetor de movimentação ou qualquer combinação dos mesmos.
[0083] O dispositivo de codificação 104 pode, em seguida, realizar transformação e quantização. Por exemplo, em seguida da predição, o mecanismo codificador 106 pode calcular valores residuais correspondentes à PU. Os valores residuais podem compreender valores de diferença de pixel entre o bloco atual de pixels que são codificados (a PU) e o bloco de predição usado para predizer o bloco atual (por exemplo, a versão predita do bloco atual). Por exemplo, após gerar um bloco de predição (por exemplo, que emite interpredição ou intrapredição), o mecanismo codificador 106 pode gerar um bloco residual subtraindo-se o bloco de predição produzido por uma unidade de predição do bloco atual. O bloco residual inclui um conjunto de
Petição 870190049772, de 28/05/2019, pág. 55/180
37/126 valores de diferença de pixel que quantifica as diferenças entre valores de pixel do bloco atual e valores de pixel do bloco de predição. Em alguns exemplos, o bloco residual pode ser representado em um formato de bloco bidimensional (por exemplo, uma matriz ou arranjo bidimensional de valores de pixel). Em tais exemplos, o loco residual é uma representação bidimensional dos valores de pixel.
[0084] Quaisquer dados residuais que podem ser restantes após a predição ser realizada são transformados com o uso de um transformada de bloco, que pode se basear em transformada de cosseno distinta, transformada de seno distinta, uma transformada de número inteiro, uma transformada de ondaleta, outra função de transformada adequada ou qualquer combinação dos mesmos. Em alguns casos, uma ou mais transformada de bloco (por exemplo, os tamanhos de 32 x 32, 16 x 16, 8x8, 4 x 4 ou outro tamanho adequado) pode ser aplicado a dados residuais em cada CU. Em algumas modalidades, uma TU pode ser usada para os processos de transformada e de quantização implantados pelo mecanismo codificador 106. Uma determinada CU que tem uma ou mais PUs também pode incluir uma ou mais TUs. Conforme descrito mais detalhadamente abaixo, os valores residuais podem ser transformados em coeficientes de transformada com o uso da transformada de bloco e, em seguida, podem ser quantificados e se poder realizar uma varredura nos mesmos com o uso das TUs para produzir coeficientes de transformada serializada para codificação por entropia.
[0085] Em algumas modalidades que seguem codificação intrapreditiva ou interpreditiva com o uso de
Petição 870190049772, de 28/05/2019, pág. 56/180
38/126
PUs de uma CU, o mecanismo codificador 106 pode calcular dados residuais para as TUs da CU. As PUs podem compreender dados de pixel no domínio espacial (ou domínio de pixel). As TUs podem compreender coeficientes no domínio de transformada seguindo a aplicação de uma transformada de bloco. Conforme verificado anteriormente, os dados residuais podem corresponder a valores de diferença de pixel entre pixels dos valores não codificados de figuração e de predição correspondentes às PUs. O mecanismo codificador 106 pode formar as TUs incluindo os dados residuais para a CU e podem, então, transformar as TUs para produzir os coeficientes de transformada para a CU.
[0086] O mecanismo codificador 106 pode realizar a quantização dos coeficientes de transformada. A quantificação fornece adicionalmente compressão adicional quantificando-se os coeficientes de transformada para reduzir a quantidade de dados usados para representar os coeficientes. Por exemplo, a quantificação pode reduzir a profundidade de bit associada a alguns ou a todos os coeficientes. Em um exemplo, um coeficiente com um valor de n bits pode ser arredondado para baixo para um valor de m bit durante quantificação, em que n é maior que m.
[0087] Uma vez que quantificação é realizada, o fluxo de bits de vídeo codificado inclui coeficientes de transformada quantificada, informações de predição (por exemplo, modos de predição, vetores de movimentação, vetores de bloco ou semelhante), informações de particionamento e quaisquer outros dados adequados, tais como outros dados de sintaxe. Em seguida, os elementos
Petição 870190049772, de 28/05/2019, pág. 57/180
39/126 diferentes do fluxo de bits de vídeo codificados podem ser codificados por entropia pelo mecanismo codificador 106. Em alguns exemplos, o mecanismo codificador 106 pode utilizar uma ordem de varredura predefinida para realizar varredura dos coeficientes de transformada quantificada a fim de produzir um vetor serializado que pode ser codificado por entropia. Em alguns exemplos, o mecanismo codificador 106 pode realizar uma varredura adaptativa. Após realiza varredura nos coeficientes de transformada quantificada para formar um vetor (por exemplo, um vetor bidimensional), o mecanismo codificador 106 pode codificar por entropia o vetor. Por exemplo, o mecanismo codificador 106 pode usar codificação de comprimento variável adaptativa ao contexto, codificação aritmética binária adaptativa a contexto, codificação aritmética binária adaptativa a contexto com base em sintaxe, codificação por entropia de particionamento de intervalo de probabilidade ou outra técnica de codificação por entropia adequada.
[0088] Conforme descrito anteriormente, um fluxo de bits HEVC inclui um grupo de unidades de NAL, incluindo unidades de NAL de VCL e unidades de NAL de não VCL. As unidades de NAL de VCL incluem dados de figuração codificados que formam um fluxo de bits de vídeo codificado. Por exemplo, uma sequência de bits que forma o fluxo de bits de vídeo codificado está presente nas unidades de NAL de VCL. As unidades de NAL de não VCL podem conter conjuntos de parâmetros com informações de alto nível em relação ao fluxo de bits de vídeo codificado, além de outras informações. Por exemplo, um conjunto de
Petição 870190049772, de 28/05/2019, pág. 58/180
40/126 parâmetros pode incluir um conjunto de parâmetros de vídeo (VPS), um conjunto de parâmetros de sequência (SPS) e um conjunto de parâmetros de figuração (PPS). Os exemplos de metas dos conjuntos de parâmetros incluem eficiência de taxa de bits, resiliência de erro e que fornece interfaces de camada de sistemas. Cada fatia faz referência a um único PPS, SPS e VPS ativo para acessar informações que o dispositivo de decodificação 112 pode usar para decodificar a fatia. Um identificador (ID) pode ser codificado para cada conjunto de parâmetros que incluem um ID de VPS, um ID de SPS e um ID de PPS. Um SPS inclui um ID de SPS e um ID de VPS. Um PPS inclui um ID de PPS e um ID de SPS. Cada cabeçalho de fatia inclui um ID de PPS. Com o uso dos IDs, conjuntos de parâmetros ativos podem ser identificados para uma determinada fatia.
[0089] Uma PPS inclui informações que se aplicam a todas as fatias em uma determinada figuração. Devido a isso, todas as fatias em uma figuração se referem ao mesmo PPS. Fatias em diferentes figurações também podem se referir ao mesmo PPS. Um SPS inclui informações que se aplicam a todas as figurações em uma mesma sequência de vídeos codificados (CVS) ou fluxo de bits. Conforme descrito anteriormente, uma sequência de vídeos codificados é uma série de unidades de acesso (AUs) que se inicia com a figuração de ponto de acesso aleatório (por exemplo, uma figuração de referência de decodificação instantânea (IDR) ou figuração de acesso de enlace rompido (BLA) ou outra figuração de ponto de acesso aleatório adequada) na camada de base e com determinadas propriedades (descritas acima)
Petição 870190049772, de 28/05/2019, pág. 59/180
41/126 até e não incluindo e uma próxima AU que tem uma figuração de ponto de acesso aleatório na camada de base e com determinadas propriedades (ou o fim do fluxo de bits) . As informações em um SPS podem não mudar de figuração para figuração dentro de uma sequência de videos codificados. As figurações em uma sequência de videos codificados podem usar o mesmo SPS. 0 VPS inclui informações que se aplicam a todas as camadas dentro de uma sequência de ou fluxo de bits de videos codificados bits. A VPS inclui uma estrutura de sintaxe com elementos de sintaxe que se aplica a sequências de videos codificados inteiras. Em algumas modalidades, o VPS, SPS ou PPS podem ser transmitidos em banda com o fluxo de bits codificados. Em algumas modalidades, a VPS, SPS ou PPS pode ser transmitida fora da banda em uma transmissão separada e não nas unidades de NAL que contêm dados de video codificados.
[0090] Um fluxo de bits de video também pode incluir mensagens de informações de aprimoramento complementar (SEI). Por exemplo, uma unidade de NAL de SEI pode ser parte do fluxo de bits de video. Em alguns casos, uma mensagem de SEI pode conter informações que não são necessárias pelo processo de decodificação. Por exemplo, as informações em uma mensagem de SEI pode não ser essencial para que o decodificador decodifique as figurações de video do fluxo de bits, porém o decodif icador pode usar as informações para aprimorar a exibição ou processamento das figurações (por exemplo, a emissão decodificada). As informações em uma mensagem de SEI podem ser metadados integrados. Em um exemplo ilustrativo, as informações em
Petição 870190049772, de 28/05/2019, pág. 60/180
42/126 uma mensagem de SEI podem ser usadas por entidades no lado do decodificado para aprimorar a capacidade de visualização do conteúdo. Em algumas ocorrências, determinados padrões de aplicação podem exigir a presença de tais mensagens de SEI no fluxo de bits de modo que o aprimoramento de qualidade possa ser feito em todos os dispositivos que estão em conformidade com o padrão da aplicação (por exemplo, o transporte da mensagem de SEI de empacotamento de quadro para o formato de video 3DTV estereoscópico compatível com quadro, em que a mensagem de SEI é transportada para cada quadro do vídeo, manipulação de uma mensagem de SEI de ponto de recuperação, uso de uma mensagem de SEI retangular de varredura do tipo pan e scan em DVB, além de muitos outros exemplos).
[0091] A saída 110 do dispositivo de codificação 104 pode enviar as unidades de NAL, o que forma os dados de fluxo de bits de vídeo codificado, através do enlace de comunicação 120 ao dispositivo de decodificação 112 do dispositivo de recebimento. A entrada 114 do dispositivo de decodificação 112 pode receber as unidades de NAL. O enlace de comunicação 120 pode incluir um canal fornecido por uma rede sem fio, uma rede cabeada ou uma combinação de uma rede cabeada e sem fio. Uma rede sem fio pode incluir qualquer interface sem fio ou combinação de interfaces sem fio e pode incluir qualquer rede sem fio adequada (por exemplo, a Internet ou outra rede de área ampla, uma rede com base em pacote, WiFi™, radiofrequência (RE) , UWB, WiFi-Direta, celular, Evolução a Longo Prazo (LTE), WiMax™ ou semelhante). Uma rede cabeada pode incluir
Petição 870190049772, de 28/05/2019, pág. 61/180
43/126 qualquer interface cabeada (por exemplo, fibra, ethernet, ethernet de linha de energia, ethernet de cabo coaxial, linha de sinal digital (DSL) ou semelhante) . As redes cabeadas e/ou sem fio podem ser implantadas com o uso de vários equipamentos, tais como estações-base, roteadores, pontos de acesso, pontes, portas de comunicação, comutadores ou semelhante. Os dados de fluxo de bits de video codificado podem ser modulados de acordo com um padrão de comunicação, tal como um protocolo de comunicação sem fio e transmitidos ao dispositivo de recebimento.
[0092] Em alguns exemplos, o dispositivo de codificação 104 pode armazenar dados de fluxo de bits de video codificado no armazenamento 108. A saida 110 pode recuperar os dados de fluxo de bits de video codificados do mecanismo codificador 106 ou do armazenamento 108. O armazenamento 108 pode incluir qualquer um dentre uma variedade de midias de armazenamento de dados distribuídos acessados localmente. Por exemplo, o armazenamento 108 pode incluir um disco rigido, um disco de armazenamento, memória de flash, memória volátil ou não volátil ou quaisquer outras midias de armazenamento digital para armazenar dados de video codificados.
[0093] A entrada 114 do dispositivo de decodificação 112 recebe os dados de fluxo de bits de video codificado e pode fornecer o fluxo de bits de video dados ao mecanismo decodificador 116 ou para armazenamento 118 para uso posterior pelo mecanismo decodificador 116. O mecanismo decodificador 116 pode decodificar os dados de fluxo de bits de video codificado por decodif icação por
Petição 870190049772, de 28/05/2019, pág. 62/180
44/126 entropia (por exemplo, com o uso de um decodificador por entropia) e pela extração dos elementos de uma ou mais sequências de vídeos codificados que formam os dados de vídeo codificados. Em seguida, o mecanismo decodificador 116 pode, então, escalonar novamente e realizar uma transformada inversa nos dados de fluxo de bits de vídeo codificado. Os dados residuais são, em seguida, passados para um estágio de predição do mecanismo decodificador 116. Em seguida, o mecanismo decodificador 116 prediz um bloco de pixels (por exemplo, uma PU) . Em alguns exemplos, a predição é adicionada à saída da transformada inversa (os dados residuais).
[0094] O dispositivo de decodificação 112 pode emitir o vídeo decodificado a um dispositivo de destino de vídeo 122, o que pode incluir uma exibição uma exibição ou outro dispositivo de emissão para exibir os dados de vídeo decodificados a um consumidor do conteúdo. Em alguns aspectos, o dispositivo de destino de vídeo 122 pode ser parte do dispositivo de recebimento que inclui o dispositivo de decodificação 112. Em alguns aspectos, o dispositivo de destino de vídeo 122 pode ser parte de um dispositivo separado diferente do dispositivo de recebimento.
[0095] Em algumas modalidades, o vídeo dispositivo de codificação 104 e/ou o vídeo dispositivo de decodificação 112 podem ser integrados com um dispositivo de codificação de áudio e dispositivo de decodificação de áudio, respectivamente. O vídeo dispositivo de codificação 104 e/ou o vídeo dispositivo de decodificação 112 também
Petição 870190049772, de 28/05/2019, pág. 63/180
45/126 pode incluir outro hardware ou software que é necessário para implantar as técnicas de codificação descritas acima, tal como um ou mais microprocessadores, processadores de sinal digital (DSPs), circuitos integrados de aplicação especifica (ASICs), arranjos de porta programáveis em campo (FPGAs), lógica distinta, software, hardware, firmware ou quaisquer combinações dos mesmos. 0 video dispositivo de codificação 104 e o video dispositivo de decodificação 112 podem ser integrados como parte de um codificador/decodificador combinado (codec) em um dispositivo respectivo. Um exemplo de detalhes específicos do dispositivo de codificação 104 é descrito abaixo com referência uma Figura 14. Um exemplo de detalhes específicos do dispositivo de decodificação 112 é descrito abaixo com referência uma Figura 15.
[0096] As extensões para o padrão HEVC incluem a Extensão de Codificação de Video de Múltiplas Visualizações, denominado de MV-HEVC, e uma Extensão de Codificação de Video Escalonável, denominada de SHVC. As extensões MV-HEVC e SHVC compartilham o conceito de codificação em camada, com diferentes camadas que são incluídas no fluxo de bits de video codificado. Cada camada em uma sequência de videos codificados é endereçada por um identificador exclusivo de camada (ID) . Um ID de camada pode estar presente em um cabeçalho de uma unidade de NAL para identificar uma camada com a qual a unidade de NAL é associada. Em MV-HEVC, diferentes camadas podem representar vistas diferentes da mesma cena no fluxo de bits de video. Em SHVC, são fornecidas diferentes camadas escalonáveis que
Petição 870190049772, de 28/05/2019, pág. 64/180
46/126 representam o fluxo de bits de vídeo em diferentes resoluções espaciais (ou resolução de figuração) ou em diferentes fidelidades de reconstrução diferente. As camadas escalonáveis podem incluir uma camada de base (com ID de camada = 0) e uma ou mais camadas de intensificação (com IDs de camada = 1, 2, ... n). A camada de base pode se conformar a um perfil da primeira versão do HEVC e representa a camada disponível maior inferior em um fluxo de bits. As camadas de intensificação têm resolução espacial aumentada, resolução temporal ou velocidade de fotogramas e/ou fidelidade de reconstrução (ou qualidade) em comparação à camada de base. As camadas de intensificação são organizadas de maneira hierárquica e podem (ou não) depender de camadas inferiores. Em alguns exemplos, as diferentes camadas podem ser codificadas com o uso de um único codec padrão (por exemplo, todas as camadas são codificadas com o uso de HEVC, SHVC ou outro padrão de codificação). Em alguns exemplos, as camadas diferentes podem ser codificadas com o uso de um codec de múltiplos padrões. Por exemplo, uma camada de base pode ser codificada com o uso de um AVC, ao passo que uma ou mais camadas de intensificação podem ser codificadas com o uso de extensões de SHVC e/ou MV-HEVC para o padrão HEVC.
[0097] De modo geral, uma camada inclui um conjunto de unidades de NAL de VCL e um conjunto de unidades de NAL de não VCL correspondentes. Às unidades de NAL é atribuído um valor de ID de camada particular. As camadas podem ser hierárquicas no sentido de que uma camada pode depender de uma camada inferior. Um conjunto de
Petição 870190049772, de 28/05/2019, pág. 65/180
47/126 camadas se refere a um conjunto de camadas representados dentro de um fluxo de bits que são autocont idos, o que significa que as camadas dentro de um conjunto de camadas podem depender de outras camadas no conjunto de camadas no processo de decodificação, porém não depende de quaisquer outras camadas para decodificação. Consequentemente, as camadas em um conjunto de camadas podem formar um fluxo de bits independente que pode representar conteúdo de video. 0 conjunto de camadas em um conjunto de camadas pode ser obtido de outro fluxo de bits por operação de um processo de extração de subfluxo de bits. Um conjunto de camadas pode corresponder ao conjunto de camadas que deve ser decodificado quando um decodificador deseja operar de acordo com determinados parâmetros.
[0098] Em algumas implantações, os conjuntos de câmera para capturar video em 360 graus podem incluir câmera omnidirecional, câmera catadióptrica (uma câmera que usa lentes e espelhos curvados), câmera equipada com lentes de olho de peixe e/ou outra câmera adequada. Um exemplo de uma câmera omnidirecional é a Ricoh Theta-S, que usa duas lentes olho de peixe que focam em direções opostas.
[0099] Câmeras omnidirecional, tais como câmera catadióptrica e câmera com lentes olho de peixe, capturam tipicamente imagens com uma quantidade significativa de distorção. A Figura 2A e a Figura 2B ilustram exemplos de quadros de video capturados por câmeras omnidirecionais que usam lentes olho de peixe para capturar um amplo campo visão. No exemplo de uma Figura 2A, o quadro de video 200 inclui uma imagem de olho de peixe
Petição 870190049772, de 28/05/2019, pág. 66/180
48/126 circular. As lentes olho de peixe têm capacidade para capturar ângulos muito amplos, tais como 280 graus ou maiores. Portanto, uma câmera equipada com duas lentes olho de peixe, posicionadas uma de costas para outra, podem capturar duas imagens que juntas fornecem 360 graus de visão (ou mais) . Lentes olho de peixe de ângulo não amplo capturam um campo de visão na ordem de cerca de 45 a cerca de 90 graus. Um campo de visão pode ser, alternativa ou adicionalmente, expresso em radianos.
[00100] A fim de capturar um ângulo amplo, as lentes olho de peixe distorcem a imagem de uma cena. Conforme ilustrado na Figura 2A, a cena capturada no quadro de vídeo 200 tem formato circular, e é deformada do centro para as bordas externas dessa região circular. Devido ao fato de que os sensores de câmera são retangulares, o quadro de vídeo 200 é retangular e a imagem inclui áreas, ilustradas pontilhadas no presente contexto, que não são partes da cena. Os pixels nessas regiões são considerados não utilizáveis, visto que esses pixels não são parte da cena.
[00101] O exemplo de uma Figura 2B inclui um quadro de vídeo 202 que inclui uma imagem do olho de peixe com quadro completo. Nesse tipo de quadro de vídeo 202, um campo de visão de ângulo amplo também foi capturado em uma região circular, sendo que a cena é deformada na região circular. Nesse exemplo, a imagem foi escalonada (por exemplo, se tornou mais larga) para que a cena preencha as bordas do quadro retangular. Esse quadro de vídeo exemplificativo 202 não incluir as áreas inutilizáveis, e
Petição 870190049772, de 28/05/2019, pág. 67/180
49/126 algumas partes da cena que podem ser capturadas pela lente foram recortadas e não capturadas.
[00102] Conforme descrito acima, outros tipos de câmeras também podem ser usados para capturar video em 360 graus. Por exemplo, um conjunto de câmeras pode incluir um conjunto de múltiplas câmeras (por exemplo, 5, 6, 7 ou outro número de câmera necessários para capturar um número suficiente de vistas de uma cena) . Cada câmera pode ser orientada em uma direção diferente e capturar uma vista diferente de uma cena. A composição de imagem pode, então, ser realizada nos quadros de video (ou imagens) capturados por cada uma das câmeras no conjunto de câmeras a fim de fornecer uma vista em 360 graus totalmente integrada.
[00103] O video em 360 graus pode ser remapeado para outros formatos. Esses outros formatos podem ser usados para armazenar, transmitir e/ou visualizar o video em 360 graus. Um formato exemplificativo é um formato equirretangular. A Figura 3 ilustra um exemplo um quadro de video equirretangular 300 com base em duas imagens olho de peixe 302A, 302B. Nesse quadro de video equirretangular exemplificativo 300, os pixels utilizáveis das duas imagens olho de peixe 302A, 302B (por exemplo, pixels nas regiões circulares) foram mapeados em um formato equirretangular. Nesse exemplo, cada imagem de olho de peixe 302A, 302B inclui um campo de visão 180 graus ou maior, de modo que, juntas, as duas imagens olho de peixe 302A, 302B abrangem um campo de visão em 360 graus (possivelmente com alguma sobreposição).
[00104] Os pixels de mapeamento das imagens
Petição 870190049772, de 28/05/2019, pág. 68/180
50/126 olho de peixe 302A, 302B têm o efeito de eliminar a deformação da cena capturada nas imagens olho de peixe 302A, 302B, e esticar os pixels em direção as bordas do quadro de vídeo 300. A imagem equirretangular pode parecer esticada no topo e no fundo do quadro de vídeo 300. Uma projeção equirretangular bem conhecida é uma projeção de Mercador, na qual a geografia da Terra é apresentada com linhas ortogonais de latitude e longitude.
[00105] Em várias implantações, as imagens olho de peixe 302A, 302B podem ser mapeadas para outros formatos, tais como nas faces formadas por um cubo, um cilindro, uma pirâmide, uma pirâmide truncada ou algum outro tipo s de formato geométrico. Em cada um desses casos, a distorção presente nas imagens olho de peixe 302A, 302B podem ser corrigidas, e pixels inutilizáveis podem ser eliminados. Os dados planos podem ser empacotados para armazenamento e/ou transmissão e podem ser usados para exibir o vídeo em 360 graus.
[00106] Em alguns casos, um formato intermediário pode ser útil, por exemplo, para armazenar e/ou transmitir dados de vídeo em 360 graus ou para converter os dados de vídeo em outro formato. Por exemplo, uma representação equirretangular pode ser mapeada para um formato esférico (por exemplo, uma geometria esférica) para exibir os dados de vídeo, conforme ilustrado nas Figuras 4A e 4B.
[00107] As Figuras 4A e 4B ilustram um exemplo de um quadro de vídeo equirretangular 400 que é usado em uma apresentação de vídeo em 360 graus. O quadro de vídeo
Petição 870190049772, de 28/05/2019, pág. 69/180
51/126 equirretangular 400 pode ser mapeado em um espaço esférico para formar uma representação esférica 410 e uma representação esférica resultante pode ser exibida para um expectador 420 com o uso de um monitor de capacete ou algum outro dispositivo de exibição de video em 360 graus. Em outros exemplos, o quadro de video equirretangular 400 pode ser mapeado para um formato cúbico, cilíndrico, piramidal ou algum outro formato geométrico, sendo que o formato geométrico pode ser usado pelo dispositivo de exibição de video em 360 graus para exibir o video.
[00108] Conforme verificado acima, um quadro de vídeo equirretangular 400 pode capturar um campo de visão em 360 graus completo, com os pixels nas regiões superior e inferior que parecem esticadas e/ou comprimidas. A fim de usar o quadro de vídeo equirretangular 400 em uma apresentação de vídeo em 360 graus, os pixels no quadro de vídeo equirretangular 400 podem ser mapeados para representação esférica 410. Esse mapeamento pode ter o efeito de expandir as regiões superior e inferior do quadro de vídeo equirretangular 400 em direção ao topo e fundo (por exemplo, o polo norte e polo sul, respectivamente) da representação esférica. A expansão das regiões superior e inferior podem corrigir distorção nessas áreas que é aparente no quadro de vídeo equirretangular 400.
[00109] O mapeamento do quadro de vídeo equirretangular 400 para representação esférica 410 pode ter adicionalmente o efeito de envolver a largura do quadro ao redor do centro (por exemplo, o equador) da representação esférica. As bordas esquerda e direita do
Petição 870190049772, de 28/05/2019, pág. 70/180
52/126 quadro de video equirretangular 400 podem ser mapeadas uma do lado da outra, de modo que não apareça nenhuma emenda.
[00110] Uma vez que o quadro de video equirretangular 400 foi mapeado para uma a representação esférica, a representação esférica pode ser exibida. Um expectador 420, que usa um monitor de capacete ou outro dispositivo de exibição de video em 360 graus, pode visualizar a representação esférica de dentro da representação esférica. Na maioria dos casos, o expectador 420 é posicionado de modo que o chão, da perspectiva do expectado, seja o ponto mais inferior da representação esférica. Em alguns casos, pode-se presumir que os olhos do usuário estejam no centro da esfera. Em várias implantações, a representação esférica pode ser expandida ou contraída para se adequar à altura e/ou posição do expectador (por exemplo, caso o expectador esteja sentado, de pé ou em alguma outra posição).
[00111] Conforme descrito acima, um ou mais sistemas e métodos descritos no presente documento estão destinados a gerar arquivos de midia para conteúdo de video em 360 graus para incluir informações de sinalização de uma ou mais regiões de interesse (ROIs) no conteúdo de video. Um ou mais sistemas e métodos descritos no presente documento também estão direcionados a processar as informações de sinalização incluídas nos arquivos de midia para extrair a ROI do conteúdo de video para renderização.
[00112] Conforme verificado acima, uma ROI de uma figuração de video em 360 graus pode ser uma região predeterminada da figuração que captura uma determinada
Petição 870190049772, de 28/05/2019, pág. 71/180
53/126 porção da cena. Em tais casos, uma ROI também pode ser denominada de região de maior interesse. A geração e sinalização de informações relacionadas a ROIs pode ser realizada com o uso de entrada fornecida pelo usuário, com base em estatística de usuário por um provedor de serviço ou de conteúdo ou com o uso de outras técnicas adequadas. Em vários exemplos, uma ROI determinada para uma figuração pode incluir uma porção escolhida especificamente de um item de conteúdo de video em 360 graus que direciona a visão da audiência, uma região de interesse estatisticamente determinada, ou outra porção predeterminada de uma cena. Por exemplo, um criador do conteúdo (por exemplo, um diretor, um produtor, um autor ou semelhante) pode definir as regiões de maior interesse em um item de conteúdo de video em 360 graus. Em tal exemplo, a reprodução do video em 360 graus pode exibir a janela de visualização de mudança dinâmica à qual um diretor ou outra parte quer que a audiência dê atenção, até mesmo quando o usuário não estiver virando sua cabeça ou mudança a janela de visualização por meio de outra interface de usuário (UI). Tais janelas de visualização podem ser dotadas de uma cena-por-cena de video omnidirecional. Em outro exemplo, as ROIs em várias figurações de um item de conteúdo de video em 360 pode ser determinado com o uso das estatísticas de quais regiões foram solicitadas e/ou visualizadas pela maioria dos usuários quando um determinado conteúdo de video em 360 graus (ou VR) foi fornecido através serviço de transmissão continua. Em tal exemplo, uma ROI em uma figuração de video em 360 graus pode incluir uma dentre as
Petição 870190049772, de 28/05/2019, pág. 72/180
54/126 regiões que estão estatisticamente mais propensas a serem renderizadas para o usuário no momento de apresentação da figuração.
[00113] As informações nas ROIs podem ser usadas com várias finalidades de aprimoramento de desempenho de vídeo em 360 graus. Por exemplo, as informações de ROI podem ser usadas para pré-obtenção de dados em transmissão contínua adaptativa de vídeo em 360 graus por servidores, clientes e/ou outras entidades de borda. Em outro exemplo, as informações de ROI podem ser usadas para otimização de transcodificação quando um vídeo de VR é transcodifiçado (por exemplo, para um codec diferentes, para um mapeamento de projeção diferente ou outra operação de transcodificação). Em outros exemplos, as informações de ROI podem ser usadas para gerenciamento de cache por um servidor ou cache Edge, gerenciamento de conteúdo por um servidor de transmissão contínua de vídeo em 360 graus ou outros propósitos. Em alguns casos, a sinalização de ROIs pode ser realizada, por exemplo, com o uso de mensagens de SEI em um fluxo de bits de vídeo, em um formato de arquivo grupo de amostra em um arquivo de mídia, em uma transmissão contínua adaptativa Dinâmica através de HTTP (DASH), elementos ou atributos de descrição de apresentação de mídia (MPD) (por exemplo, com o uso de um grupo de amostra) e/ou outros mecanismos de sinalização.
[00114] Uma ROI em um vídeo em 360 graus pode ser definida de pelo menos duas maneiras. Por exemplo, uma ROI em um vídeo em 360 graus deve definir uma ROI com base no sistema de coordenada Cartesiano 2D em uma figuração 2D.
Petição 870190049772, de 28/05/2019, pág. 73/180
55/126
Outra maneira de definir uma ROI pode ser definida com base no sistema esférico de coordenadas (por exemplo, definindose uma região na superfície esférica do video em 360 graus).
[00115] Diversos métodos podem ser usados para definir ROIs com base no sistema esférico de coordenadas. Por exemplo, uma ROI pode ser definida como uma região em uma superfície esférica que é confinada pelos quatro segmentos ou de quatro círculos grandes ou confinada por dois circulos grandes e dois circulos pequenos, cada segmento entre dois pontos na superfície esférica. No presente documento, um circulo, circulo grande e circulo pequeno são definidos conforme a seguir (e são ilustrados na Figura 5A e na Figura 5B, descritos abaixo): O cruzamento do plano e uma esfera é um circulo (com exceção de quando o cruzamento é um ponto) . Todos os pontos desse circulo pertencem à superfície da esfera. Um grande circulo, também conhecido como um ortodromo ou circulo Riemanniano, de uma esfera é o cruzamento da esfera e um plano que passa através do ponto central da esfera. O centro da esfera e o centro de um grande circulo são sempre colocalizados. Qualquer outro cruzamento de um plano com uma esfera que não atende a essa condição pode formar um circulo pequeno.
[00116] Quando um video em 360 graus é reproduzido de volta em um monitor de capacete (HMD) ou um visor não HMD (por exemplo, um TV, um dispositivo móvel, um dispositivo utilizável junto ao corpo ou outro visor adequado não HMD), uma janela de visualização é renderizada
Petição 870190049772, de 28/05/2019, pág. 74/180
56/126 para o usuário. Uma janela de visualização pode ser uma região retangular em um plano que é tangente à esfera (se cruza com a esfera em um ponto) , em que o plano de janela de visualização é ortogonal à direção de visualização do usuário. Uma janela de visualização pode ser gerada aplicando-se a projeção retilínea (por exemplo, conforme discutido em JVET-D1030). A região na esfera que corresponde a uma janela de visualização é uma que é confinada pelos quatro segmentos dos quatro círculos grandes.
[00117] Vários problemas estão presentes com relação aos modelos existentes para sinalização de ROIs no vídeo de VR. Por exemplo, os problemas podem surgir da sinalização com base apenas ou no sistema esférico de coordenadas (por meio da sinalização de uma região na esfera) ou o sistema de coordenada Cartesiano 2D (por meio da sinalização de uma região de uma figuração) . O processamento adicional pode ser exigido para renderizar e/ou transmitir dados de vídeo, o que pode afetar o desempenho do sistema de processamento de vídeo (por exemplo, cache de vídeo, porta de comunicação de mídia, renderizador etc.) e pode causar um atraso na transmissão e/ou renderização do conteúdo de vídeo, o que pode causa experiência de usuário insatisfatória. Por exemplo, uma sinalização de ROI com base em sistema esférico de coordenadas é benéfica do ponto e vista de renderização, devido ao fato e que para a renderização de uma região esférica particular (por exemplo, um objeto na cena) que é de interesse para o usuário, e caso essa região esférica
Petição 870190049772, de 28/05/2019, pág. 75/180
57/126 seja sinalizada, isso pode ser facilmente identificado e localizado em toda a cona de video esférico. No entanto, quando tal sinalização com base esférica é usada para otimizações de entrega e decodificação (por exemplo, em pré-obtenção de dados na transmissão continua adaptativa, tal como DASH), então, uma porta de comunicação local de cache ou de midia precisa descobrir qual conjunto das regiões de figuração codificadas independentemente é o conjunto minimo que cobre a ROI sinalizada. Para fazer isso, a porta de comunicação de cache ou de midia precisa realizar o processamento geométrico que envolve a projeção e mapeamento no sentido da região que foram usados na conversão do sinal de video esférico em um sinal de video 2D antes da codificação. Isso seria um grande peso de processamento para portas de comunicações de caches e de midia. Por outro lado, uma sinalização de ROI com base em sistema de coordenada Cartesiano 2D e benéfica do ponto de vista de otimizações de entrega e decodificação (por exemplo, na pré-obtenção de dados em transmissão continua adaptativa, tal como DASH), ao mesmo tempo impõe um peso para renderização uma vez jogadores ou Concorrentes precisam aplica o processamento geométrico inverso da projeção e mapeamento no sentido da região quando é necessário descobrir qual região na esfera é coberta pelas regiões de figuração codificadas independentemente (que são sinalizadas como a ROI).
[00118] Outro problema é o fato de que, quando uma ROI com base no sistema esférico de coordenadas é sinalizada como uma região na esfera, a fim de descobrir a
Petição 870190049772, de 28/05/2019, pág. 76/180
58/126 dimensão (ou dimensões) (por exemplo, largura e altura) da janela de visualização que coopera com a região, pode ser necessária a aplicação de uma projeção retilinea. No entanto, essas informações podem ser necessárias durante a negociação de sessão ou seleção de conteúdo, durante a aplicação da projeção retilinea processo para determinar se as dimensões são um peso.
[00119] Em alguns casos, podem surgir problemas quando a região em uma superfície esférica que é confinada pelos quatro segmentos de dois circulos grandes e dois círculos pequenos não correspondente à janela de visualização. Por exemplo, uma janela de visualização pode corresponder a uma região não retangular em uma figuração projetada equirretangular 2D (por exemplo, toda a janela de visualização 520 mostrada na Figura 5A) , ao passo que a região em uma superfície esférica que é confinada pelos quatro segmentos de dois circulos grandes e dois circulos pequenos podem corresponder a apenas um subconjunto de uma região de janela de visualização (por exemplo, apenas a região retangular dentro da região não retangular da janela de visualização 520) . Em alguns casos, também é possível que a região retangular inclua a região não retangular (a região não retangular é um subconjunto da região retangular). No entanto, a região retangular e região não retangular podem nunca ser exatamente compatíveis entre si.
[00120] Um arquivo de midia gerado para o conteúdo de video em 360 graus com o uso dos sistemas e métodos descritos no presente documento pode incluir primeiras informações de sinalização e segundas informações
Petição 870190049772, de 28/05/2019, pág. 77/180
59/126 de sinalização da ROI. As primeiras informações de sinalização podem incluir informações esféricas que definem uma primeira localização da ROI e informações de dimensão da ROI em um espaço esférico tridimensional correspondente para o vídeo esférico. As segundas informações de sinalização podem incluir informações 2D que definem uma segunda localização da ROI em um espaço bidimensional formado projetando-se o espaço esférico em um plano. Em alguns exemplos, a sinalização dupla pode fornecer um mapeamento entre a primeira localização e a segunda localização da ROI, o que pode facilitar tanto a transmissão quanto a renderização dos dados de vídeo esféricos. Por exemplo, os dados de vídeo esféricos podem ser transmitidos por uma aplicação de transmissão contínua na forma de quadros de vídeo bidimensionais. Conforme descrito acima, os quadros de vídeo bidimensionais podem ser formados realizando-se uma projeção (por exemplo, projeção equirretangular ou outra projeção adequada) dos dados de vídeo esféricos em um plano bidimensional. A fim de renderizar uma ROI com base, por exemplo, em uma porção da cena predeterminada para ser de interesse (por exemplo, uma instrução para renderizar um corte do diretor, uma região estatisticamente determinada ou outras informações adequadas), uma região correspondente à ROI pode ser identificada no vídeo esférico com base na primeira localização. Ademais, por meio do mapeamento entre a primeira localização e a segunda localização, a aplicação de transmissão contínua pode determinar quais regiões dos quadros de vídeo bidimensionais deve serem pré-obtidas para
Petição 870190049772, de 28/05/2019, pág. 78/180
60/126 a renderização da ROI. Além disso, após obter as regiões dos quadros de vídeo bidimensionais, um reprodutor ou renderizador de mídia pode identificar pixels das regiões correspondentes à ROI com base, por exemplo, nas informações de dimensão da ROI, e pode renderizar os pixels extraídos.
[00121] A Figura 4A é um diagrama que ilustra uma região de interesse (ROI) 430. A ROI 430 pode compreender um subconjunto dos pixels incluídos um quadro de video equirretangular 400. Conforme descrito acima, a ROI 430 pode corresponder, por exemplo, a uma região de interesse predeterminada (ROI) a ser apresentada como um campo de visão (FOV) atual do expectador 420. A ROI predeterminada pode corresponder, por exemplo, a um corte do diretor para guiar o expectador 420 ao longo de um conjunto predeterminado de visualizações de uma cena, uma região estatisticamente determinada do quadro ou semelhante. Em alguns exemplos, a ROI 430 também pode corresponder, por exemplo, a uma direção de visão do expectador 420 com relação à representação esférica 410, de modo que o expectador 420 possa controlar uma porção da cena para visualizar. Em seguida, a ROI 430 pode ser mapeada para formar uma janela de visualização a ser renderizada pelo dispositivo de visualização usado por um expectador 420. Um recurso distinto de vídeo em 360 graus em comparação a um vídeo normal (não em 360 graus ou de não VR) é o fato de que, em um video em 360 graus, tipicamente apenas um subconjunto de toda a região de vídeo representada pelas figurações de vídeo (correspondentes ao
Petição 870190049772, de 28/05/2019, pág. 79/180
61/126 campo de visão (FOV) ou janela de visualização do dispositivo de visualização) é exibido, ao passo que em aplicações normais de vídeo, tipicamente toda a região de vídeo é exibida. 0 FOV ou janela de visualização é a área que é atualmente representada pelo dispositivo de exibição e que é visualizada pelo usuário ou observado.
[00122] A Figura 4B é um diagrama que ilustra um exemplo de uma janela de visualização 460 correspondente à ROI 430. A janela de visualização 460 pode ser uma região em um plano que é tangente ao espaço esférico que forma representação esférica 410. A janela de visualização 460 pode ser formada realizando-se projeção retilínea da ROI 430 no plano. No exemplo de uma Figura 4B, o plano de janela de visualização pode se cruzar com o espaço esférico da representação esférica 410 em um ponto e pode ser ortogonal à direção de visualização do usuário 420.
[00123] A Figura 40 é um diagrama que ilustra um exemplo de representação de uma localização da janela de visualização 460 dentro do espaço esférico da representação esférica 410. No exemplo de uma Figura 40, a localização da janela de visualização 460 pode ser representada por um ângulo de inclinação 462 e um ângulo de guinada 464. Ambos os ângulos podem ser derivados de uma direção de vista do usuário com base na localização de uma ROI na cena esférica. Por exemplo, uma direção de visualização do usuário posicionado no centro esférico 472 em direção a um centro e janela de visualização 474 da janela de visualização 460 pode ser representada por um vetor 470. O vetor 470 pode formar uma projeção 476 no plano x-z e uma
Petição 870190049772, de 28/05/2019, pág. 80/180
62/126 projeção 478 no plano x-y. 0 ângulo de inclinação 462 pode ser formado entre projeção 476 e um eixo geométrico 480 que é paralelo ao eixo geométrico y. O ângulo de guinada 464 pode ser formado entre a projeção 478 e o eixo geométrico 480 .
[00124] Tanto o ângulo de inclinação 462 quanto o ângulo de guinada 464 podem relacionada a localização da janela de visualização 460 com uma orientação da cabeça e/ou olhos do usuário. Por exemplo, o ângulo de inclinação 462 pode representar um ângulo de elevação de vetor 470 que pode corresponder, por exemplo, a um ângulo de elevação da cabeça do usuário com relação ao plano x-z, uma rotação dos olhos do usuário com relação ao plano x-z ou qualquer outro movimento do usuário com relação ao plano x-z. Além disso, o ângulo de guinada 464 pode representar um ângulo de rotação do vetor 470, que pode corresponder, por exemplo, a um ângulo de rotação da cabeça do usuário, uma rotação da cabeça do usuário com relação ao plano x-y, uma rotação do olho do usuário com relação ao plano x-y ou qualquer outro movimento do usuário com relação ao plano x-z. Por meio da representação da localização da janela de visualização 460 com base no ângulo de inclinação 462 e no ângulo de guinada 464, uma localização de região de interesse (ROI) representada pela janela de visualização 460 pode ser determinada com eficiência com base na orientação da cabeça e/ou olhos do usuário, o que possibilita renderização eficiente da porção de conteúdo de video esférico correspondente à ROI.
[00125] Além do centro 474 da janela de
Petição 870190049772, de 28/05/2019, pág. 81/180
63/126 visualização 460, outros atributos da janela de visualização 460 também podem ser representados com base no ângulo de guinada 464 e no ângulo de inclinação 462. Por exemplo, com referência à Figura 4E, os pontos intermediários 482, 484, 486 e 488 podem ser pontos intermediários entre as bordas da janela de visualização 460. A distância entre pontos intermediários 484 e 488 pode definir, por exemplo, uma altura da janela de visualização 460, ao passo que a distância entre os pontos intermediários 482 e 486 pode definir, por exemplo, uma largura da janela de visualização 460. A altura da janela de visualização 460 pode ser representada por um ângulo de inclinação delta 490 formado pelo centro esférico 472, pelo ponto intermediário 484 e pelo ponto intermediário 488. Além disso, referindo-se à Figura 4E, que ilustra uma perspectiva diferente da janela de visualização 460 das Figuras 4C a 4D, a largura da janela de visualização 460 também pode ser representada por um a ângulo delta de guinada 492 formado entre o centro esférico 472, ponto intermediário 482 e o ponto intermediário 486. A localização, altura e a largura da janela de visualização 460 podem representar um resultado de projeções retilineas de uma localização predeterminada, uma altura predeterminada e uma largura predeterminada da ROI 430 em um plano correspondente à janela de visualização 460.
[00126] Junto do ângulo de inclinação 462 e do ângulo de guinada 464, o ângulo de inclinação delta 490 e o ângulo delta de guinada 492 podem definir uma localização e uma dimensão de janela de visualização 460 (e ROI) no
Petição 870190049772, de 28/05/2019, pág. 82/180
64/126 espaço esférico e com base em uma orientação da cabeça e/ou olhos do usuário. A ser discutido mais detalhadamente abaixo, a localização e informações de dimensão da janela de visualização 460 podem ser parte de primeiras informações de sinalização incluídas em um arquivo de mídia. O arquivo de mídia pode ser, por exemplo, um arquivo de mídia com base em ISO que encapsula um fluxo de bits de um conjunto de quadros de vídeo bidimensionais gerados para renderização/transmissão do vídeo esférico. O arquivo de mídia também pode incluir um faixa de metadados temporizada usada para transmitir continuamente o fluxo de bits. O arquivo de mídia também pode incluir segundas informações de sinalização para uma determinada região (ou regiões) dos quadros de vídeo bidimensionais que incluem a ROI. As primeiras informações de sinalização e as segundas informações de sinalização podem ser mapeadas entre si no arquivo de mídia para sinalizar a ROI. Com base no mapeamento, as regiões do quadro de vídeo bidimensional que incluem a ROI podem ser pré-obtidas e fornecidas aso renderizador. Ademais, o renderizador pode extrair os pixels das regiões de quadro de vídeo que representam a ROI com base nas informações de dimensão da janela de visualização 460 e renderizar os pixels para exibição. Como resultado, processamento adicional (por exemplo, que realiza a projeção retilínea ou uma projeção retilínea inversa) pode ser reduzido, o que pode aprimorar o desempenho do sistema de processamento de vídeo assim como a experiência do usuário.
[00127] Embora as Figuras 4A a 4E ilustrem que
Petição 870190049772, de 28/05/2019, pág. 83/180
65/126 a janela de visualização 460 tem um formato retangular, uma janela de visualização pode ter outros formatos. O formato de uma janela de visualização pode ser determinado com base em como uma região correspondente a uma janela de visualização (por exemplo, ROI 430) é definida geometricamente na representação esférica 410. Referência é feita agora às Figuras 5A a 5C que ilustram diferentes definições geométricas da ROI 430. Na Figura 5A, a região 501 pode ser definida pelos círculos 502, 504, 506 e 508. Cada um dos círculos 502, 504, 506 e 508 podem ser denominados de círculo grande. Cada um dos círculos 502, 504, 506 e 508 podem ser formados por cruzamento do espaço esférico DE representação esférica 410 e um plano que passa através do centro esférico 472. Na Figura 5B, a região 509 pode ser definida pelos círculos 502 e 504 e círculos 516 e 518. Conforme discutido acima, os círculos 502 e 504 podem ser denominados de círculos grandes. Em contrapartida, os círculos 516 e 518 são denominados de círculos pequenos, que podem ser formados por cruzamento do espaço esférico de representação esférica 410 e um plano que não passa através do centro esférico 472.
[00128] A definição geométrica da ROI 430 (por exemplo, seja definida por quatro círculos grandes ou por dois círculos grandes e dois círculos pequenos) pode determinar o formato e dimensão das janelas de visualização correspondentes. Referência é feita agora à Figura 5C que ilustra uma comparação entre a janela de visualização 520 e a região retangular 530. Conforme mostrado na Figura 5C, a região retangular 530 é melhor e inclui menos pixels que a
Petição 870190049772, de 28/05/2019, pág. 84/180
66/126 janela de visualização 520. Uma janela de visualização maior é preferencial devido ao fato de que é o que corresponde ao que pode ser viso a partir de um HMD ou outros visores e, por exemplo, mais pixels podem ser exibidos ao usuário. Em algumas implantações, a fim maximizar o número de pixels fornecidos a um usuário em uma janela de visualização, uma ROI é sinalizada em um arquivo de mídia apenas se a região correspondente à ROI for formada apenas pelos círculos grandes. Tal restrição também pode aprimorar a uniformidade e previsibilidade na renderização da janela de visualização. Por exemplo, com referência à Figura 50, um rederizador pode renderizar a janela de visualização no formato de janela de visualização 520 em vez da região retangular 530 e interpretar, por exemplo, a altura da janela de visualização (por exemplo, representada pelo ângulo de inclinação delta) como representante da altura h entre as bordas curvadas superior e inferior da janela de visualização 520 em vez da altura h' entre as bordas de linha reta superior e inferior da região retangular 530.
[00129] A Figura 6A ilustra um conjunto de quadros de vídeo bidimensionais 602a, 602b a 602n. Cada um dos quadros de vídeo bidimensionais 602a, 602b a 602n correspondem a um quadro de vídeo de representação esférica 410. Cada quadro de vídeo bidimensional 602a, 602b a 602n pode ser formado realizando-se, por exemplo, projeção retilínea do quadro de vídeo correspondente da representação esférica 410 em um plano bidimensional. Os quadros de vídeo bidimensionais 602a, 602b a 602n podem ser
Petição 870190049772, de 28/05/2019, pág. 85/180
67/126 codificados em um fluxo de bits de vídeo para transmissão.
[00130] Cada um dos quadros de vídeo bidimensionais 602a, 602b a 602n podem ser divididos em um conjunto de mosaicos. Os mosaicos nos quadros de vídeo 602a, 602b a 602n podem ser mosaicos de movimentação limitada e todas as figurações em uma camada podem ter a mesma estrutura de mosaico. Em tais casos, os mosaicos têm a mesma localização por todos os quadros de uma determinada camada do fluxo de bits. Por exemplo, um mosaico de movimentação limitada é uma região de mosaico em uma localização particular em uma figuração (ou quadro) que pode ser codificada apenas com o uso de um ou mais mosaicos na mesma localização em outras figurações. Por exemplo, apenas a região de uma figuração de referência que está dentro de uma localização de mosaico particular pode ser usada para codificar ou decodificar um mosaico nessa localização de mosaico particular em uma atual figuração. Apenas os mosaicos das figurações que são exigidos para exibir uma janela de visualização atual de um dispositivo de exibição podem ser fornecidos exibição. Conforme mostrado na Figura 6A, cada mosaico tem uma localização designada por todos os diferentes quadros de vídeo 602a, 602b a 602n. Em um exemplo, um primeiro mosaico tem uma localização de (0, 0) em 602a, 602b a 602n, e o primeiro mosaico pode ser identificado com base na localização. Em alguns casos, os mosaicos podem ser numerados, tais como os números de mosaico 0 a 23, números de mosaico 1 a 24 ou outra numeração adequada. Conforme mostrado na Figura 6, os mosaicos não se sobrepõem um ao outro. Cada um dos quadros
Petição 870190049772, de 28/05/2019, pág. 86/180
68/126 de vídeo bidimensionais 602a, 602b a 602n também podem incluir uma ou mais ROIs (ou janelas de visualização) projetadas de um quadro correspondente de representação esférica 410. Por exemplo, conforme mostrado na Figura 6B, a janela de visualização 520 pode estar localizada em um grupo de mosaicos nas localizações (1, 1), (1, 2), (2, 1) e (2, 2) .
[00131] Conforme discutido acima, um arquivo de mídia pode ser gerado para encapsular um fluxo de bits formado codificando-se os quadros de video 602a, 602b a 602n. Um arquivo de mídia também pode ser gerado de modo a incluir uma faixa de metadados temporizada (além da faixa (ou faixas) que transporta o fluxo de bits de mídia) usada para transmitir o fluxo de bits. O arquivo de mídia pode incluir as primeiras informações de sinalização e as segundas informações de sinalização descritas acima para uma ROI (correspondente a uma janela de visualização) para facilitar a transmissão e renderização da ROI/janela de visualização. As primeiras informações de sinalização podem incluir uma localização e uma dimensão da janela de visualização no espaço esférico (por exemplo, representado pelo ângulo de guinada, ângulo de inclinação, ângulo delta de guinada e ângulo de inclinação delta). As segundas informações de sinalização podem incluir uma localização da janela de visualização nos quadros de vídeo bidimensionais. A localização da janela de visualização nos quadros de vídeo bidimensionais podem ser representada, por exemplo, pelas localizações (ou identificadores) dos mosaicos que incluem a janela de visualização. Para o exemplo da Figura
Petição 870190049772, de 28/05/2019, pág. 87/180
69/126
6B, as segundas informações de sinalização podem incluir as localizações de mosaico (1, 1), (1, 2), (2, 1) e (2, 2) (ou os identificadores/números desses mosaicos) para sinalizar a ROI.
[00132] Conforme discutido acima, as primeiras informações de sinalização e as segundas informações de sinalização podem ser mapeadas entre si no arquivo de midia para sinalizar a ROI. O mapeamento possibilita transmissão e renderização eficientes da janela de visualização ao usuário. Por exemplo, um sistema de processamento de video pode receber uma instrução para renderizar uma região de interesse predeterminada no video esférico 410 ao usuário. A instrução pode incluir, por exemplo, o ângulo de guinada e o ângulo de inclinação do centro da região especifica. Com base no ângulo de guinada de entrada e no ângulo de inclinação nas primeiras informações de sinalização, o sistema de processamento de video pode se referir ao mapeamento entre as primeiras informações de sinalização e as segundas informações de sinalização no arquivo de midia para determinar o conjunto de mosaicos (ou outras unidades) de pixels no quadro de video 602a que contém, por exemplo, janela de visualização 520. Ademais, com base no ângulo de inclinação, o ângulo de guinada, o ângulo de inclinação delta, o ângulo delta de guinada e uma determinação de um formato particular da janela de visualização (por exemplo, com base na restrição de que a região predeterminada no video esférico 410 é definida com base em quatro círculos grandes), um renderizador também pode determinar uma localização e um limite da janela de visualização 520
Petição 870190049772, de 28/05/2019, pág. 88/180
70/126 dentro dos mosaicos, e extrair pixels dentro do limite da janela de visualização 520 para renderização. Tal processamento pode ser realizado com minimo processamento geográfico, o que pode aprimorar o desempenho do sistema assim como a experiência de usuário.
[00133] Referência é feita agora à Figura 7 que ilustra um exemplo de um arquivo de midia com base em ISO 700 que contém informações de sinalização da ROI. O arquivo 700 pode ser formatado de acordo com o ISOBMFF. O ISOBMFF é projetado para conter informações de midia temporizadas em um formato flexível e extensível que facilita intermudança, gerenciamento, edição e apresentação da midia. A apresentação da midia pode ser local ao sistema que contém a apresentação, ou a apresentação pode ocorrer por meio de uma rede ou outro mecanismos de entrega de fluxo.
[00134] Uma apresentação, conforme definido pela especificação do ISOBMFF, é uma sequência de figurações, muitas vezes relatada como capturada sequencialmente por um dispositivo de captura de video ou relatado para alguma outra razão. No presente documento, uma apresentação também denominada de apresentação de filme ou de video. Uma apresentação pode incluir áudio. Uma única apresentação pode estar contida em um ou mais arquivos, sendo que um arquivo contém os metadados para toda a apresentação. Os metadados incluem informações, tais como dados de temporização e de quadros, descritores, cursores, parâmetros e outras informações que descrevem a apresentação. Os metadados não incluem os dados de áudio de video e/ou de áudio por si só. Os arquivos diferentes do
Petição 870190049772, de 28/05/2019, pág. 89/180
71/126 arquivo que contém os metadados não precisam ser formatados de acordo com o ISOBMFF e precisam apenas ser formatados de modo que esses arquivos possam ser indicados pelos metadados.
[00135] A estrutura de arquivo de um arquivo de mídia com base em ISO é orientada por objeto, e a estrutura de um objeto individual no arquivo pode ser inferida diretamente do tipo do objeto. O objeto em um arquivo de mídia com base em ISO são denominados como caixas pela especificação de ISOBMFF. Um arquivo de mídia com base em ISO é estruturado como uma sequência de caixas, o que pode conter outras caixas. As caixas incluem geralmente um cabeçalho que fornece um tamanho e um tipo para a caixa. O tamanho descreve todo o tamanho da caixa, incluindo o cabeçalho, campos e todas as caixas contidas dentro da caixa. As caixas com um tipo que não é reconhecido por um dispositivo reprodutor são tipicamente ignoradas e puladas.
[00136] Conforme ilustrado pelo exemplo da Figura 7, no nível superior do arquivo, um arquivo de mídia com base em ISO 700 pode incluir uma caixa tipo arquivo 710, uma caixa de filme 720 e uma ou mais caixas de fragmento de filme 730a, 730b ... 730n. Outras caixas que podem ser incluídas nesse nível, porém que não são representadas nesse exemplo incluem caixas de espaço livre, caixas de metadados e caixas de dados de mídia, dentre outros.
[00137] Um arquivo de mídia com base em ISO pode incluir uma caixa tipo arquivo 710, identificada pelo tipo de caixa ftyp. A caixa tipo arquivo 710 identifica
Petição 870190049772, de 28/05/2019, pág. 90/180
72/126 uma especificação de ISOBMFF que é a mais adequada para analisar o arquivo. Mais nesse exemplo significa que o arquivo de midia com base em ISO 700 pode ter sido formatado de acordo com uma especificação de ISOBMFF particular, porém é provavelmente compatível com outras iterações da especificação. Essa especificação mais adequada é denominada de marca maior. Um dispositivo reprodutor pode usar a marca maior para determinara se o dispositivo tem capacidade para decodificar e exibir o conteúdo do arquivo. A caixa tipo arquivo 710 também pode incluir um número de versão, que pode ser usado para indicar uma versão da especificação de ISOBMFF. A caixa tipo arquivo 710 também pode incluir uma lista de marcas compatíveis, o que incluir uma lista de outras marcas com as quais o arquivo é compatível. Um arquivo de mídia com base em ISO pode compatível com mais que uma marca maior.
[00138] Um arquivo de mídia com base em ISO pode incluir adicionalmente uma caixa de filme 720 que contém os metadados para a apresentação. A caixa de filme 720 é identificada como o tipo de caixa moov. ISO/IEC 14496-12 propõe que uma apresentação, seja contida em um arquivo ou em múltiplos arquivos, podem incluir apenas uma caixa de filme 720. Não raro, a caixa de filme 720 está próxima do início de um arquivo de mídia com base em ISO. A caixa de filme 720 inclui uma caixa de cabeçalho de filme 722 e pode incluir uma ou mais caixas de faixa 724 assim como outras caixas.
[00139] A caixa de cabeçalho de filme 722, identificada pelo tipo de caixa mvhd, pode incluir
Petição 870190049772, de 28/05/2019, pág. 91/180
73/126 informações que são independentes de mídia e relevantes para a apresentação como um. Por exemplo, a caixa de cabeçalho de filme 722 pode incluir informações, tais como um tempo criação, um tempo de modificação, um horário e/ou uma duração para a apresentação entre outras coisas. A caixa de cabeçalho de filme 722 também pode incluir um identificador que identifica a próxima faixa na apresentação. Por exemplo, o identificador pode apontar para a caixa de faixa 724 contida pela caixa de filme 720 no exemplo ilustrado.
[00140] A caixa de faixa 724, identificada pelo tipo de caixa trak, pode conter as informações para uma faixa para apresentação. Uma apresentação pode incluir um ou mais faixas, sendo que cada faixa é independente de outras na apresentação. Cada faixa pode incluir as informações temporais e espaciais que são específicas ao conteúdo na faixa, e cada faixa pode ser associada a uma caixa de mídia. Os dados em uma faixa podem ser dados de mídia, nesse caso, a faixa é uma faixa de mídia, ou os dados podem ser informações de empacotamento para protocolos de transmissão contínua, nesse caso a faixa é uma faixa de sugestão. Os dados de mídia incluem, por exemplo, dados de vídeo e de áudio. No exemplo ilustrado, a caixa de faixa exemplificativa 724 inclui uma caixa de cabeçalho de faixa 724a e uma caixa de mídia 724b. Uma caixa de faixa pode incluir outras, tais como uma caixa de referência de faixa, uma caixa de grupo de faixa, uma caixa de edição, uma caixa de dados de usuário, uma metacaixa e outras. Conforme será discutido detalhadamente abaixo,
Petição 870190049772, de 28/05/2019, pág. 92/180
74/126 caixa de midia 724b pode incluir as informações de sinalização de uma ou mais ROIs.
[00141] A caixa de cabeçalho de faixa 724a, identificada pelo tipo de caixa tkhd, pode especificar as características de uma faixa contida na caixa de faixa 724. Por exemplo, a caixa de cabeçalho de faixa 724a pode incluir um tempo de criação, tempo de modificação, duração, identificador de faixa, identificador de camada, identificador de grupo, volume, largura e/ou altura da faixa entre outras caixas. Para uma faixa de midia, a caixa de cabeçalho de faixa 724a pode identificar adicionalmente se a faixa está habilitada, se a faixa deve ser reproduzida como parte da apresentação ou se a faixa pode ser usada para predizer a apresentação entre outras coisas. Presumese que uma apresentação de uma faixa está, de modo geral, no inicio de uma apresentação. A caixa de faixa 724 pode incluir uma caixa de lista de edição, não ilustrada no presente documento, que pode incluir um mapa de linha do tempo. O mapa de linha do tempo pode especificar, entre outras coisas, um tempo de deslocamento para faixa, sendo que o desvio indica um tempo de inicio, após o inicio da apresentação, para a faixa.
[00142] No exemplo ilustrado, a caixa de faixa 724 também inclui uma caixa de midia 724b, identificada pelo tipo de caixa mdia. A caixa de midia 724b pode conter os objetos e informações sobre os dados de midia na faixa. Por exemplo, a caixa de midia 724b pode conter uma caixa de referência de processador, que pode identificar o tipo de midia da faixa e o processo pelo qual a midia na
Petição 870190049772, de 28/05/2019, pág. 93/180
75/126 faixa é apresentada. Como outro exemplo, a caixa de mídia 724b pode conter uma caixa de informações de mídia que pode especificar as características da mídia na faixa. A caixa de informações de mídia pode incluir adicionalmente uma tabela de amostras, sendo que cada amostra descreve um pedaço de dados de mídia (por exemplo, dados de vídeo ou de áudio) incluindo, por exemplo, a localização dos dados para a amostra. Os dados para uma amostra são armazenados em uma caixa de dados de mídia, discutidos adicionalmente abaixo. Quando à maioria das outras caixas, a caixa de mídia 724b também pode incluir uma caixa de cabeçalho de mídia.
[00143] No exemplo ilustrado, i arquivo de mídia exemplif icativo com base em ISO 700 também inclui múltiplos fragmentos 730a, 730b, . . . 730n da apresentação. Os fragmentos 730a, 730b, . . . 730n não são caixas ISOBMFF, porém, de preferência, descrevem uma combinação de caixas que incluem uma caixa de fragmento de filme 732 e uma ou mais caixas de dados de mídia 738 que é indicada pela caixa de fragmento de filme 732. A caixa de fragmento de filme 732 e as caixas de dados de mídia 738 são de caixas de nível superior, porém são agrupadas no presente contexto para indica a relação entre uma caixa de fragmento de filme 732 e uma caixa de dados de mídia 738.
[00144] A caixa de cabeçalho de fragmento de filme 734, identificada pelo tipo de caixa mfhd, pode incluir um número de sequência Um dispositivo reprodutor pode usar o número de sequência para verificar que o fragmento 730a inclui a próxima porção de dados para a apresentação. Em alguns casos, o conteúdo de um arquivo ou
Petição 870190049772, de 28/05/2019, pág. 94/180
76/126 os arquivos para uma apresentação pode ser fornecido a um dispositivo reprodutor fora de ordem. Por exemplo, os pacotes de podem chegar em uma ordem diferente da ordem que os pacotes foram originalmente transmitidos. Nesses casos, o número de sequência pode auxiliar um dispositivo reprodutor na determinação da ordem correta para fragmentos.
[00145] A caixa de fragmento de filme 732 também pode incluir uma ou mais caixas de fragmento de faixa 736, identificadas pelo tipo de caixa traf. Uma caixa de fragmento de filme 732 pode incluir um conjunto de fragmentos de faixa, zero ou mais por faixa. Os fragmentos de faixa podem conter zero ou mais execuções de faixa, dentre as quais cada uma descreve uma execução contígua de
amostras para uma faixa. Os fragmentos de faixa podem ser
usado para adicionar tempo vazio a uma faixa, além de
adicionar amostras à faixa.
[00146] A caixa de dados de midia 738,
identificada pelo tipo de i caixa ' 'mdat, contém dados de
midia. Em faixas de video, a caixa de dados de midia 738 contém quadros de video. Uma caixa de dados de midia pode incluir, alternativa ou adicionalmente, dados de áudio. Uma apresentação pode incluir zero ou mais caixas de dados de midia contidas em um ou mais arquivos individuais. Os dados de midia são descritos pelos metadados. No exemplo ilustrado, os dados de midia na caixa de dados de midia 738 pode ser descritos por metadados incluídos na caixa de fragmento de faixa 736. Em outros exemplos, os dados de midia em uma caixa de dados de midia podem ser descrito por
Petição 870190049772, de 28/05/2019, pág. 95/180
77/126 metadados na caixa de filme 720. Os metadados podem se referir a dados de midia particulares por um desvio absoluto dentro do arquivo 700, de modo que dados de midia cabeçalho e/ou o espaço livre dento da caixa de dados de midia 738 possam ser ignorados.
[00147] Outros fragmentos 730b, 730c, 730n no arquivo de midia com base em ISO 700 podem conter caixas semelhantes àqueles ilustrados para o primeiro fragmento 730a e/ou podem conter outras caixas.
[00148] A Figura 8 ilustra um exemplo de uma caixa de midia 840 que pode estar incluída em um arquivo de midia com base em ISO. Conforme discutido acima, uma caixa de midia pode ser incluída em uma caixa de faixa e pode conter objetos e informações que descrevem dados de midia na faixa. No exemplo ilustrado, a caixa de midia 840 inclui uma caixa de informações de midia 842. A caixa de midia 840 também pode incluir outras caixas, que não são ilustradas no presente contexto.
[00149] A caixa de informações de midia 842 pode conter objetos que descrevem informações características sobre a midia na faixa. Por exemplo, a caixa de informações de midia 842 pode incluir uma caixa de informações de dados, que descreve a localização de informações de midia na faixa. Como outro exemplo, a caixa de informações de midia 842 pode incluir um cabeçalho de midia de video, quando a faixa inclui os dados de video. O cabeçalho de midia de video pode conter informações de apresentação geral que são independentes da codificação da midia de video. A caixa de informações de midia 842 também
Petição 870190049772, de 28/05/2019, pág. 96/180
78/126 pode incluir um cabeçalho de mídia de som quando a faixa inclui dados de áudio.
[00150] A caixa de informações de mídia 842 também pode incluir uma caixa de tabela de amostra 844, conforme fornecido no exemplo ilustrado. A caixa de tabela de amostra 844, identificada pelo tipo de caixa stbl, pode fornecer localizações (por exemplo, localizações com um arquivo) para as amostras de mídia na faixa, assim como informações de tempo para as amostras. Com o uso das informações fornecidas pela caixa de tabela de amostra 844, um dispositivo reprodutor pode alocar as amostras na ordem de tempo correta, determinar o tipo de uma amostra e/ou determinar o tamanho, recipiente e deslocamento de uma amostra dentro de um recipiente entre outras coisas.
[00151] A caixa de tabela de amostra 844 pode incluir uma caixa de descrição de amostra 846, identificadas pelo tipo de caixa stsd. A caixa de descrição de amostra 846 pode fornecer informações detalhadas sobre, por exemplo, o tipo de codificação usado para uma amostra e quaisquer informações inicializadas necessárias para esse tipo de codificação. As informações armazenadas na caixa de descrição de amostra pode ser específica para um tipo da faixa que inclui as amostras. Por exemplo, um formato pode ser usado para a descrição de amostra quando a faixa é uma faixa de vídeo e um formato diferente pode ser usado quando a faixa é uma faixa de sugestão. Como exemplo adicional, o formato para a descrição de amostra também pode variar dependendo do formato da faixa de sugestão.
Petição 870190049772, de 28/05/2019, pág. 97/180
79/126 [00152] A caixa de descrição de amostra 846 pode incluir caixas de entrada de amostra 848a ... 848n. A entrada de amostra é uma classe abstrata e, então, tipicamente a caixa de descrição de amostra inclui uma caixa específica de entrada de amostra, tal como uma entrada de amostra visual para dados de vídeo ou uma entrada de amostra de áudio para amostras de áudio, dentre outros exemplos. Cada entrada de amostra visual para dados de vídeo pode incluir um ou mais quadros de vídeo. Os quadros de video podem ser, por exemplo, quadros de video bidimensionais 602a, 602b a 602n gerados a partir da representação esférica 410. Uma caixa de entrada de amostra podem armazenar os parâmetros para uma amostra particular. Por exemplo, para uma amostra de vídeo, a caixa de entrada de amostra pode incluir uma largura, altura, resolução horizontal, resolução vertical, contagem de quadro e/ou profundidade para a amostra de vídeo entre outras coisas. Como outro exemplo, para uma amostra de áudio, a entrada de amostra pode incluir uma contagem de canal, um esquema de canal e/ou uma taxa de amostragem entre outras coisas.
[00153] Além das caixas de entrada de amostra, a descrição de amostra 846 pode incluir adicionalmente incluir uma caixa de descrição de grupo de amostra 860 (identificada pelo tipo de caixa de descrição de grupo de amostra sgpd) e uma amostra para a caixa de grupo 862 (identificada pela amostra ao tipo de grupo de caixa sbgp). Tanto a caixa de descrição de grupo de amostra 860 quanto a amostra para a caixa de grupo 862 pode ser, então, parte de um mecanismo de agrupamento de amostra para
Petição 870190049772, de 28/05/2019, pág. 98/180
80/126 sinalizar que um conjunto de entradas de amostra inclui uma ou mais ROIs e para sinalizar as localizações e dimensões da uma ou mais ROIs no conjunto de entradas de amostra. No exemplo de uma Figura 8, a caixa de descrição de grupo de amostra 860 pode incluir uma entrada de tipo de grupo de amostra 861. A entrada de tipo de grupo de amostra 861 pode incluir um tipo de grupo ROI para sinalizar que a entrada de tipo inclui informações de ROI. A entrada de tipo de grupo de amostra 861 pode incluir adicionalmente elementos de sintaxe que indicam as coordenadas de pixel da ROI em um quadro de video bidimensional, assim como um ângulo de guinada, um ângulo de inclinação, um ângulo delta de guinada e um ângulo de inclinação delta da ROI no espaço esférico. A amostra para caixa de grupo 862 indica adicionalmente que as informações de ROI na entrada de tipo de grupo de amostra 861 deve ser aplicada a determinadas entradas de amostra na descrição de amostra 846. Com essas informações, as amostras de video que contêm a ROI podem ser identificadas e fornecidas mais com eficiência ao renderizador para renderização.
[00154] Alguns sistemas de vídeo suportam dados de mídia de transmissão contínua através de uma rede, além de suportar reprodução da mídia. Por exemplo, um ou mais arquivos de formato de arquivo de mídia com base em ISO (por exemplo, ISOBMFF). O arquivo de mídia pode incluir uma apresentação de filme e pode incluir faixas de sugestão que contêm instruções que podem auxiliar um servidor de transmissão contínua na formação de na transmissão contínua do arquivo ou arquivos como pacotes. Essas instruções podem
Petição 870190049772, de 28/05/2019, pág. 99/180
81/126 incluir, por exemplo, dados para o servidor enviar (por exemplo, informações de cabeçalho) ou referência a segmentos dos dados de mídia. Um arquivo pode incluir faixas de sugestão separadas para diferentes protocolos de transmissão contínua. As faixas de sugestão também podem ser adicionadas a um arquivo sem a necessidade de reformatar o arquivo.
[00155] Referência é feita agora à Figura 9 que ilustra um sistema exemplificativo 900 para transmissão contínua. O sistema 900 inclui um servidor 902 e um dispositivo de cliente 904 acoplados de maneira comunicativa entre si através da rede 906 com base em um protocolo de rede. Por exemplo, o servidor 902 pode incluir um servidor da web de HTTP convencional, e um dispositivo de cliente 904 pode incluir um cliente de HTTP convencional. Um canal de comunicação de HTTP pode ser estabelecido, sendo que o dispositivo de cliente 904 pode transmitir uma solicitação de HTTP ao servidor 902 para solicitar um ou mais recursos de rede. O servidor 902 pode transmitir uma resposta HTTP de volta ao dispositivo de cliente 904 incluindo o recurso de rede solicitado (ou recursos de rede solicitados). Um exemplo de um recurso de rede hospedado por um servidor 902 pode ser um conteúdo de mídia, que pode ser dividido em segmentos de mídia. Um segmento de mídia pode incluir uma sequência de quadros de vídeo. O dispositivo de cliente 904 pode incluir uma aplicação de transmissão contínua 908 para estabelecer uma sessão de transmissão contínua com servidor 902 através da rede 906. Durante a sessão de transmissão contínua, a
Petição 870190049772, de 28/05/2019, pág. 100/180
82/126 aplicação de transmissão contínua 908 pode transmitir uma solicitação de um ou mais segmentos de mídia a um processador de solicitação 910 do servidor 902 através da rede 906. A aplicação de transmissão contínua 908 pode receber o um ou mais segmentos de mídia solicitados e pode renderizar alguns ou todos segmentos de mídia recebidos no dispositivo de cliente 904 antes de transmitir uma solicitação subsequente de outros segmentos de mídia. Com o uso de tal transmissão contínua de HTTP, a aplicação de transmissão contínua 908 não precisa aguardar até que todo o conteúdo de mídia tenha sido transferido por download antes de renderizar o conteúdo de mídia no dispositivo de cliente 904, o que pode facilitar melhor utilização dos recursos de rede e aprimorar a experiência de usuário.
[00156] A fim de possibilitar a transmissão contínua de alta qualidade de conteúdo de mídia com o uso de servidores da web de HTTP convencionais, transmissão contínua de taxa de bits adaptativa pode ser usada. Com transmissão contínua de taxa de bits adaptativa, para cada segmento de mídia, o dispositivo de cliente 904 pode ser fornecido com informações sobre um conjunto de arquivos de segmento alternativo 920 e 940. No presente contexto, um segmento de mídia pode se referir a uma porção de um fluxo de bits de mídia associada a um carimbo de data/hora e duração de reprodução particulares. Cada conjunto de arquivos de segmento alternativo 920 e 940 pode corresponder a uma representação particular do segmento de mídia (por exemplo, associado a um carimbo de data/hora e duração de reprodução particulares). Uma representação pode
Petição 870190049772, de 28/05/2019, pág. 101/180
83/126 se referir a um resultado particular da codificação de um determinado conteúdo de mídia com diferentes qualidades (por exemplo, com uma taxa de bits, velocidade de fotogramas ou semelhantes diferentes). Entre cada conjunto de arquivos de segmento de mídia, cada arquivo de segmento de mídia pode ser associado a um conjunto de propriedades incluindo, por exemplo, uma taxa de bits, velocidade de fotogramas, resolução, idioma do áudio ou semelhante particulares. Com base em informações locais (por exemplo, largura de banda da rede 906, capacidades de decodificação/exibição do dispositivo de cliente 904, preferência de usuário ou outras informações), a aplicação de transmissão contínua 908 pode selecionar para cada representação um arquivo de segmento de mídia do conjunto. Com um exemplo ilustrativo, o dispositivo de cliente 904 pode transmitir uma solicitação para um arquivo de segmento de mídia que é associado a uma primeira resolução dos arquivos de segmento de mídia 920. Subsequentemente, devido a uma mudança na largura de banda da rede 906, o dispositivo de cliente 904 pode transmitir outra solicitação de um arquivo de segmento de mídia associado a uma segunda resolução.
[00157] As informações sobre o conjunto de arquivos de segmento alternativo 920 e 940 podem ser parte de um arquivo de descrição 960 (ou arquivo de manifesto) mantido pelo servidor 902. O dispositivo de cliente 904 pode obter o arquivo de descrição 960 do servidor 902 e pode transmitir solicitações para os arquivos de segmento de mídia com base no arquivo de descrição 960. O arquivo de
Petição 870190049772, de 28/05/2019, pág. 102/180
84/126 descrição 960 pode incluir, por exemplo, uma lista de um conjunto de arquivos de segmento de midia alternativos para cada representação do conteúdo de midia, e as propriedades associadas a cada arquivo de segmento de midia alternativo (por exemplo, taxa de bits, velocidade de fotogramas, resolução, idioma do áudio etc.). O arquivo de descrição 960 também pode incluir identificadores de localização (por exemplo, Localizador de Recurso Uniforme (URL), Indicador de Recurso Uniforme (URI) etc.) associado às localizações de armazenamento dos arquivos de segmento de midia alternativos.
[00158] Há vários protocolos para transmissão
continua de taxa de bits adaptativa. Um exemplo é a
Transmissão Continua Adaptativa Dinâmica através de
Protocolo de Transferência de Hipertexto (HTTP), ou DASH
(definido em ISO/IEC 23009-1 :2014). DASH, que também é
conhecido como MPEG-DASH. De acordo com DASH, o arquivo de descrição 960 pode incluir uma descrição de apresentação de midia (MPD) . A Figura 10 é um diagrama que ilustra um exemplo de uma MPD 1001. Em alguns casos, a MPD 1001 pode ser representada em Linguagem de Marcação Extensível (XML). A MPD 1001 pode incluir um conjunto de elementos que define um conjunto de adaptações 1002. O conjunto de adaptações
1002 pode incluir um conjunto de representações alternativas 1003 e 1004. Uma pessoa de habilidade comum na técnica observará que o conjunto de adaptações 1002 pode incluir representações adicionais além das representações
1003 e 1004. Cada representação alternativa 1003 e 1004 pode ser associada a uma taxa de bits particular, resolução
Petição 870190049772, de 28/05/2019, pág. 103/180
85/126 ou outra qualidade e pode incluir um conjunto de segmentos de mídia. Por exemplo, a representação 1003 inclui segmentos de mídia 1007 e 1009 e, também, informações de cabeçalho 1005. A representação 1004 inclui segmentos de mídia 1008 e 1010 e, também, informações de cabeçalho 1006. As informações de cabeçalho 1005 e 1006 pode incluir, por exemplo, o elemento de representação (por exemplo, incluindo atributos de identificador, de largura de banda, de largura e altura ou semelhantes). Cada um dos segmentos de mídia 1007 e 1009 podem estar associados na MPD 1001 com um URL de um arquivo de segmento de mídia, o que pode ser denotado como o elemento SegmentURL. Cada um dentre o conjunto de elementos na MPD 1001 pode ser associada a um conjunto de atributos que definem as propriedades, por exemplo, do conjunto de adaptações 1002, as representações 1003 e/ou 1004 ou outras informações.
[00159] A seguir, há um exemplo de parte de uma MPD:
<AdaptationSet mimeType=video/mp2t> <Representation id=720p bandwidth=3200000 width= 1280 height=720>
<SegmentURL media= segment- l.DASH/>
<SegmentURL media=segment-2.DASH >
[00160] Na MPD exemplificativa mostrada acima, textos tais como Period, AdaptationSet,
Representation, SegmentURL etc. são elementos, ao passo que mimeType, id, bandwidth, width e
Petição 870190049772, de 28/05/2019, pág. 104/180
86/126 height, jmedia etc. são atributos. Nesse exemplo, ο conjunto de adaptações inclui uma representação associada a uma largura de banda e tamanho de quadro particulares e inclui um conjunto de segmentos de mídia representados pelos URLs dos mesmos.
[00161] Um arquivo de MPD pode incluir informações de sinalização para ROI. Referência é feita agora à Figura 11 que ilustra uma representação de código XML que ilustra um exemplo de uma MPD 1100. MPD 1100 pode incluir uma listagem de pelo menos um conjunto de adaptações. Na MPD 1100, um conjunto de adaptações pode incluir elementos para definir múltiplas representações alternativas associadas a diferentes taxas de bits, resoluções ou outras qualidades. Cada representação pode ser associada a um arquivo de figuração, e a MPD 1100 pode incluir um enlace (por exemplo, um localizador de recurso universal (URL), um indicador de recurso universal (URI) ou quaisquer outras informações adequadas) para localizar o arquivo de figuração para cada um dentre os representação de representação. Em um caso que o arquivo de figuração associado a uma representação inclui uma ROI, os elementos de representação podem incluir adicionalmente as primeiras informações de sinalização e as segundas informações de sinalização associadas à ROI.
[00162] Conforme mostrado, um conjunto de adaptações é definido de modo a incluir múltiplas representações, incluindo a representação que tem um ID de representação igual ale uma representação que tem um ID de representação igual a 2. A MPD 1100 indica que a
Petição 870190049772, de 28/05/2019, pág. 105/180
87/126 representação com o ID de representação igual a 2 tem uma largura de 3840 pixels, uma altura de 1920 pixels, uma velocidade de fotogramas de 60 dentre outras características. A MPD 1100 inclui adicionalmente um URL para arquivo de vídeo videol.mp4 para a representação. Um elemento EssentialProperty 1102 é fornecido para a representação com o ID de representação igual a 2. O elemento EssentialProperty 1102 pode descrever informações sobre os tipos de projeção, direções de FOV, mapeamento no sentido da região e/ou outras informações. Por exemplo, essas informações podem estar contidas na MPD 1100 com o uso de EssentialProperty, nesse caso, um schemeldUri diferente pode ser definido para cada tipo de informações. Em um exemplo ilustrativo, caso o schemeldUri urn : mpeg: dash :360VideoProjection :2017 seja associado a um tipo de projeção e CMP significa projeção de mapa de cubo, então, pode-se definir informações sobre o tipo de projeção mapa de cubo no elemento EssentialProperty de acordo com o seguinte: <EssentialProperty schemeIdUri=urn : mpeg : dash : 360 VideoProj ection : 2017 valueCMP/> .
[00163] Ademais, o elemento SupplementalProperty 1104 pode conter informações de sinalização de uma ROI. Por exemplo, schemeldUri urn :mpeg: dash :ROIpixelrep:2017 pode ser associado a um conjunto de valores para sinalizar uma localização central e uma dimensão de uma ROI em um quadro bidimensional. A localização e dimensão podem ser representados em coordenadas de pixel. No exemplo de uma Figura 11, a
Petição 870190049772, de 28/05/2019, pág. 106/180
88/126 localização central da ROI pode ser (1300, 500), o que indica que o desvio esquerdo da localização central é 1300 pixels, e o desvio superior da localização central é 500 pixels. Ademais, a ROI se expande em uma largura de 100 pixels e uma altura de 200 pixels. Embora no exemplo da Figura 11 a localização e dimensão sejam representados em coordenadas de pixel, entende-se que os mesmos podem ser representados em outras formas, tais como mosaicos. Por exemplo, a localização e dimensão pode ser sinalizada listando-se os mosaicos que incluem a ROI, ou um identificador de grupo associado a um grupo de mosaicos que incluem a ROI.
[00164] Além disso, schemeldUri urn :mpeg: dash :ROIsphererep:2017 podem ser associados a um conjunto de valores para sinalizar uma localização central e uma dimensão de uma ROI no espaço esférico. No exemplo de uma Figura 11, o ângulo de guinada da ROI pode ser 20 radianos, o ângulo de inclinação da ROI pode ser 30 radianos, o ângulo de inclinação delta da ROI pode ser 10 radianos, ao passo que o ângulo delta de guinada da ROI pode ser 10 radianos.
[00165] Com a MPD 1100, um sistema pode obter o arquivo de video videol.mp4 e decodificar o arquivo com base na indicação de que a ROI está incluída no arquivo de video. O sistema também pode extrair os pixels do arquivo decodificado de acordo com as informações de sinalização e fornecer os pixels extraídos ao renderizador para renderização.
[00166] A Figura 12 é um fluxograma que ilustra
Petição 870190049772, de 28/05/2019, pág. 107/180
89/126 um exemplo de um processo 1200 para gerar um arquivo de midia. O processo pode ser realizado, por exemplo, por um servidor de transmissão continua (por exemplo, servidor 902 da Figura 9) , por um dispositivo de rede intermediário entre um servidor hospedeiro e um dispositivo receptor etc., que encapsula dados codificados em um arquivo de midia com base em ISO (por exemplo, um arquivo de ISOBMFF).
[00167] Em 1202, o processo 1200 inclui obter dados de video em 360 graus, sendo que os dados de video em 360 graus incluem uma representação esférica de uma cena. Os dados de video em 360 graus podem ser gerados por um conjunto de câmeras (por exemplo, câmera omnidirecional). A representação esférica pode ser formada, por exemplo, compondo-se um conjunto de imagens capturados pelo conjunto de câmeras em um instante do tempo particular.
[00168] Em 1204, o processo 1200 inclui determinar uma região de interesse (ROI) na representação esférica da cena. A determinação pode ser feita com base, por exemplo, em uma instrução para emitir uma porção particular da cena a um usuário (por exemplo, como parte de um corte do diretor), uma direção de visão do usuário ou com base em outras informações adequadas. Em alguns exemplos, a ROI pode ser definida pelo menos por quatro planos que se cruzam com a representação esférica; sendo que cada um dos quatro planos também se cruza com o centro esférico para formar um circulo grande. Por exemplo, referindo-se a uma Figura 5A, a ROI pode ser definida por quatro círculos grandes 502, 504, 506 e 508.
[00169] Em 1206, o processo 1200 inclui gerar
Petição 870190049772, de 28/05/2019, pág. 108/180
90/126 um arquivo de midia que inclui primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente à ROI, sendo que as primeiras informações de sinalização incluem uma posição central e uma dimensão da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização indicam uma região de uma figuração que compreende a região de janela de visualização. A figuração pode ser formada projetando-se a representação esférica que inclui a ROI com o uso da projeção retilinea em um plano e pode ser um quadro de video. A janela de visualização deve ser renderizada na exibição. Em alguns exemplos, as primeiras informações de sinalização e as segundas informações de sinalização também podem definir múltiplas regiões de janela de visualização correspondentes a múltiplas ROIs, e uma dentre as múltiplas regiões de janela de visualização podem ser selecionadas para renderização na exibição.
[00170] Em alguns aspectos, o arquivo de midia se baseia em um formato-base de arquivo de midia da Organização Internacional de Normalização (ISO) (ISOBMFF). O arquivo de midia pode identificar um grupo de amostra que inclui uma amostra de video correspondente ao video esférico cena; e em que as primeiras informações de sinalização e as segundas informações de sinalização são incluídas em um ou mais elementos de sintaxe do grupo de amostra.
[00171] Em alguns exemplos, o arquivo de midia
Petição 870190049772, de 28/05/2019, pág. 109/180
91/126 se baseia em um formato de descrição de apresentação de mídia (MPD) e inclui uma lista de um ou mais conjuntos de adaptações. Cada um dentre o um ou mais conjuntos de adaptações pode incluir uma ou mais representações. As primeiras informações de sinalização, as segundas informações de sinalização e um enlace para a figuração são incluídos em um ou mais elementos associados à ROI incluída na uma ou mais representações; Em alguns exemplos, a uma ou mais representações são representações com base em mosaico, e em gue as segundas informações de sinalização incluem identificadores associados a mosaicos que incluem a ROI incluída na uma ou mais representações com base em mosaico.
[00172] Em alguns aspectos, as primeiras informações de sinalização podem incluir um primeiro ângulo e um segundo ângulo de um centro da região de janela de visualização com relação a um centro esférico da representação esférica da cena, sendo que o primeiro ângulo é formado em um primeiro plano e o segundo ângulo é formado em um segundo plano, sendo que primeiro plano é perpendicular ao segundo plano. As primeiras informações de sinalização podem incluir adicionalmente um terceiro ângulo associado a uma largura da região de janela de visualização e um quarto ângulo associado a uma altura da região de janela de visualização. O terceiro ângulo pode ser formado entre uma primeira borda e uma segunda borda da região de janela de visualização; e o quarto ângulo é formado entre uma terceira borda e uma quarta borda da região de janela de visualização. Por exemplo, o primeiro ângulo pode ser um ângulo de guinada, o segundo ângulo pode ser um ângulo de
Petição 870190049772, de 28/05/2019, pág. 110/180
92/126 inclinação, ao passo que o terceiro ângulo e o quarto ângulo podem ser, respectivamente, um ângulo delta de guinada e um ângulo de inclinação delta, conforme descrito na Figura 4C, a Figura 4D e a Figura 4E.
[00173] Em alguns exemplos segundas informações de sinalização podem definir um ou mais mosaicos da figuração que inclui a região de janela de visualização. O um ou mais mosaicos podem ser parte de uma pluralidade de mosaicos incluídos na figuração. Em alguns aspectos, as segundas informações de sinalização podem incluir uma ou mais coordenadas associadas ao um ou mais mosaicos na figuração. Em alguns exemplos, o um ou mais mosaicos formam um grupo de mosaicos, e as segundas informações de sinalização podem incluir um identificador de grupo associado ao grupo de mosaicos. Esses mosaicos podem, por exemplo, mosaicos de movimentação limitada.
[00174]
Em alguns aspectos as segundas informações de sinalização podem incluir coordenadas de pixel associadas a uma localização predeterminada dentro de uma região de janela de visualização formada projetando-se a ROI em um plano, uma largura das região de janela de visualização e uma altura da região de janela de visualização.
[00175] Em 1208 processo 1200 inclui adicionalmente fornecer o arquivo de mídia para renderizar os dados de vídeo em 360 graus ou para transmissão de uma porção dos dados de vídeo em 360 graus que inclui pelo menos a ROI. A renderização pode incluir, por exemplo, obter um conjunto de mosaicos da figuração com base nas
Petição 870190049772, de 28/05/2019, pág. 111/180
93/126 segundas informações de sinalização e determinar a localização e o limite da janela de visualização dentro do conjunto de mosaicos com base nas primeiras informações de sinalização e extrair pixels correspondentes à janela de visualização com base na localização determinada e no limite para renderizar a janela de visualização. 0 limite também pode ser determinada com base em um formato prédeterminado da janela de visualização. 0 formato da janela de visualização pode ser predeterminado com base, por exemplo, em uma determinação de que a ROI é definida pelo menos por quatro planos que se cruzam com a representação esférica, sendo que cada um dos quatro planos também se cruzam com o centro esférico da representação esférica e cada um forma um grande circulo. Por exemplo, conforme discutido acima, a ROI pode ser definida por quatro círculos grandes 502, 504, 506 e 508, e a janela de visualização pode ter o mesmo formato da janela de visualização 520 da Figura 5C. Ademais, a transmissão da porção dos dados de vídeo em 360 graus podem incluir, por exemplo, determinar o conjunto de mosaicos na figuração que inclui a ROI e transmitir dados de vídeo correspondente ao conjunto de mosaicos a um renderizador para renderização da ROI.
[00176] A Figura 13 é um fluxograma que ilustra um exemplo de um processo 1300 para processar um arquivo de mídia. O processo pode ser realizado, por exemplo, por um dispositivo de rede intermediário entre um servidor hospedeiro e um dispositivo receptor, um dispositivo receptor etc.
Petição 870190049772, de 28/05/2019, pág. 112/180
94/126 [00177] Em 1302, o processo 1300 inclui obter um arquivo de mídia associado a dados de vídeo em 360 graus. Os dados de vídeo em 360 graus podem ser gerados por um conjunto de câmeras (por exemplo, câmera omnidirecional). A representação esférica pode ser formada, por exemplo, compondo-se um conjunto de imagens capturados pelo conjunto de câmeras em um instante do tempo particular. O arquivo de mídia pode incluir primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente a uma região de interesse (ROI) na representação esférica.
[00178] Em alguns exemplos, a ROI pode ser definida pelo menos por quatro planos que se cruzam com a representação esférica; sendo que cada um dos quatro planos também se cruza com o centro esférico para formar um círculo grande. Por exemplo, referindo-se a uma Figura 5 A, a ROI pode ser definida por quatro círculos grandes 502, 504, 506 e 508.
[00179] Em 1304, o processo 1300 inclui extrair pixels correspondentes à janela de visualização dos dados da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização.
[00180] Em alguns aspectos, o arquivo de mídia se baseia em um formato-base de arquivo de mídia da
Organização Internacional de Normalização (ISO) (ISOBMFF).
O arquivo de mídia pode identificar um grupo de amostra que inclui uma amostra de vídeo correspondente ao vídeo esférico cena; e em que as primeiras informações de
Petição 870190049772, de 28/05/2019, pág. 113/180
95/126 sinalização e as segundas informações de sinalização são incluidas em um ou mais elementos de sintaxe do grupo de amostra.
[00181] Em alguns exemplos, o arquivo de midia se baseia em um formato de descrição de apresentação de midia (MPD) e inclui uma lista de um ou mais conjuntos de adaptações. Cada um dentre o um ou mais conjuntos de adaptações pode incluir uma ou mais representações. As primeiras informações de sinalização, as segundas informações de sinalização e um enlace para a figuração são incluídos em um ou mais elementos associados à ROI incluída na uma ou mais representações; Em alguns exemplos, a uma ou mais representações são representações com base em mosaico, e em que as segundas informações de sinalização incluem identificadores associados a mosaicos que incluem a ROI incluída na uma ou mais representações com base em mosaico.
[00182] Em alguns aspectos, as primeiras informações de sinalização podem incluir um primeiro ângulo e um segundo ângulo de um centro da região de janela de visualização com relação a um centro esférico da representação esférica da cena, sendo que o primeiro ângulo é formado em um primeiro plano e o segundo ângulo é formado em um segundo plano, sendo que primeiro plano é perpendicular ao segundo plano. As primeiras informações de sinalização podem incluir adicionalmente um terceiro ângulo associado a uma largura da região de janela de visualização e um quarto ângulo associado a uma altura da região de janela de visualização. O terceiro ângulo pode ser formado entre uma primeira borda e uma segunda borda da região de
Petição 870190049772, de 28/05/2019, pág. 114/180
96/126 janela de visualização; e o quarto ângulo é formado entre uma terceira borda e uma quarta borda da região de janela de visualização. Por exemplo, o primeiro ângulo pode ser um ângulo de guinada, o segundo ângulo pode ser um ângulo de inclinação, ao passo que o terceiro ângulo e o quarto ângulo podem ser, respectivamente, um ângulo delta de guinada e um ângulo de inclinação delta, conforme descrito na Figura 4C, a Figura 4D e a Figura 4E.
[00183] Em alguns exemplos, as segundas informações de sinalização podem definir um ou mais mosaicos da figuração que inclui a região de janela de visualização. O um ou mais mosaicos podem ser parte de uma pluralidade de mosaicos incluídos na figuração. Em alguns aspectos, as segundas informações de sinalização podem incluir uma ou mais coordenadas associadas ao um ou mais mosaicos na figuração. Em alguns exemplos, o um ou mais mosaicos formam um grupo de mosaicos, e as segundas informações de sinalização podem incluir um identificador de grupo associado ao grupo de mosaicos. Esses mosaicos podem, por exemplo, mosaicos de movimentação limitada.
[00184] Em alguns aspectos, as segundas informações de sinalização podem incluir coordenadas de pixel associadas a uma localização predeterminada dentro de uma região de janela de visualização formada projetando-se a ROI em um plano, uma largura das região de janela de visualização e uma altura da região de janela de visualização.
[00185] Em alguns exemplos, a extração dos pixels pode incluir identificar um conjunto de mosaicos na
Petição 870190049772, de 28/05/2019, pág. 115/180
97/126 figuração que contêm a região de janela de visualização e extrair os pixels do conjunto de mosaicos. A extração dos pixels pode adicionalmente determinar uma localização e um limite da janela de visualização no conjunto de mosaicos. A localização pode ser determinada com base no ângulo de guinada e no ângulo de inclinação que indica a posição central da região de janela de visualização, ao passo que o limite pode ser determinado com base na largura e na altura indicada, respectivamente, pelo ângulo delta de guinada e pelo ângulo de inclinação delta. 0 limite também pode ser determinada com base em um formato pré-determinado da região de janela de visualização. 0 formato pode ser determinado com base na ROI que é definida por pelo menos quatro planos que se cruzam com a representação esférica, sendo que cada um dos quatro planos também se cruzam com o centro esférico da representação esférica e formam um grande circulo. Por exemplo, o formato da janela de visualização pode ser igual à janela de visualização 520 da Figura 5C. A extração dos pixels pode se basear na localização e no limite da região de janela de visualização.
[00186] Em 1306, o processo 1300 inclui adicionalmente fornecer os pixels extraídos para renderizar a região de janela de visualização em uma exibição.
[00187] Em alguns exemplos, os processos 1200 e
1300 podem ser realizados por um dispositivo ou um aparelho de computação, tal como o sistema 100 mostrado na Figura 1.
Em alguns exemplos, os processos 1200 e 1300 podem ser realizados por um dispositivo de geração de arquivo, um
Petição 870190049772, de 28/05/2019, pág. 116/180
98/126 dispositivo de análise ou processamento de arquivo, o dispositivo de codificação 104 mostrado na Figura 1 e na Figura 14, por outro dispositivo no lado da transmissão de video ou dispositivo de transmissão de video, pelo dispositivo de decodificação 112 mostrado na Figura 1 e na Figura 15, e/ou por outro dispositivo no lado do cliente, tal como um dispositivo reprodutor, um visor ou qualquer outro dispositivo no lado do cliente. Em um exemplo, o processo 1200 pode ser realizado por um dispositivo de geração de arquivo, o dispositivo de codificação 104 mostrado na Figura 1 e na Figura 14, e/ou por outro dispositivo no lado de transmissão ou dispositivo de transmissão de video. Em outro exemplo, o processo 1300 pode ser realizado por um dispositivo de análise ou processamento de arquivo, o dispositivo de decodificação 112 mostrado na Figura 1 e na Figura 15, e/ou por outro dispositivo no lado do cliente, tal como um dispositivo reprodutor, um visor ou qualquer outro dispositivo no lado do cliente. Em alguns casos, o dispositivo ou aparelho de computação pode incluir um processador, microprocessador, microcomputador ou outro componente de um dispositivo que é configurado para realizar as etapas de processos 1200 e 1300. Em alguns exemplos, os dispositivo ou aparelho de computação podem incluir uma câmera configurada para capturar dados de video (por exemplo, uma sequência de videos) que incluem quadros de video. Em alguns exemplos, uma câmera ou outra dispositivo de captura que captura os dados de video é separado do dispositivo de computação, nesse caso, o dispositivo de computação recebe ou obtém os
Petição 870190049772, de 28/05/2019, pág. 117/180
99/126 dados de vídeo capturados. 0 dispositivo de computação pode incluir adicionalmente uma interface de rede configurada para comunicar os dados de vídeo. A interface de rede pode ser configurada para comunicar os dados com base em Protocolo de Internet (IP) ou outro tipo de dados. Em alguns exemplos, o dispositivo ou aparelho de computação podem incluir um visor para exibir o conteúdo de vídeo de saída, tal como amostras de figurações de um fluxo de bits de vídeo.
[00188] Os processos 1200 e 1300 são ilustrados como diagramas de fluxo lógicos cuja operação representa uma sequência de operações que podem ser implantadas em instruções de hardware, computador ou uma combinação dos mesmos. No contexto de instruções de computador, as operações representam instruções executáveis por computador armazenadas em um ou mais mídias de armazenamento legíveis por computador que, quando executadas por um ou mais processadores, realizam as operações recitadas. De modo geral, instruções executáveis por computador incluem rotinas, programas, objetos, componentes, estruturas de dados e semelhantes que realizam funções particulares ou implantam tipos de dados particulares. A ordem na qual as operações são descritas não deve ser interpretada como uma limitação e qualquer quantidade das operações descritas pode ser combinada em qualquer ordem e/ou em paralelo para implantar os processos.
[00189] Adicionalmente, os processos 1200 e
1300 podem ser realizados sob o controle de um ou mais sistemas de computador configurados com instruções
Petição 870190049772, de 28/05/2019, pág. 118/180
100/126 executáveis e podem ser implantados como código (por exemplo, instruções executáveis, um ou mais programas de computador ou uma ou mais aplicações) que são executados coletivamente em um ou mais processadores, por hardware ou combinações dos mesmos. Conforme verificado acima, o código pode ser armazenado em um mídia de armazenamento legível por computador ou legível por máquina, por exemplo, na forma de um programa de computador que compreende uma pluralidade de instruções executáveis por um ou mais processadores. A mídia legivel por computador ou legivel por máquina de armazenamento podem ser transitória.
[00190] As técnicas de codificação discutidas no presente documento podem ser implantadas em um exemplo sistema de codificação e de decodificação de vídeo exemplificativo (por exemplo, o sistema 100) . Em alguns exemplos, um sistema inclui um dispositivo de origem que fornece dados de video codificados para serem decodificados posteriormente por um dispositivo de destino. Em particular, o dispositivo de origem fornece os dados de video para o dispositivo de destino por meio de uma mídia legível por computador. O dispositivo de origem e o dispositivo de destino podem compreender qualquer um dentre uma ampla variedade de dispositivos, incluindo computadores do tipo desktop, computadores do tipo notebook (isto é, do tipo laptop), computadores do tipo tablet, decodificadores de sina, auscultadores de telefone, tais como telefones então chamados de inteligentes, blocos então chamados de inteligentes, televisões, câmera, dispositivos de exibição, reprodutores de mídia digital, consoles de jogos
Petição 870190049772, de 28/05/2019, pág. 119/180
101/126 eletrônicos, dispositivo de transmissão continua de video ou semelhante. Em alguns casos, o dispositivo de origem e o dispositivo de destino podem ser equipados para comunicação sem fio.
[00191] O dispositivo de destino pode receber os dados de video codificados a serem decodificados por meio da midia legivel por computador. A midia legivel por computador pode compreender qualquer tipo de midia ou dispositivo com capacidade para mover dados de video codificados do dispositivo de origem para o dispositivo de destino. Em um exemplo, a midia legivel por computador pode compreender uma midia de comunicação para possibilitar que o dispositivo de origem transmita dados de video codificados diretamente para o dispositivo de destino em tempo real. Os dados de video codificado podem ser modulados de acordo com um padrão de comunicação, tal como um protocolo de comunicação sem fio e transmitidos ao dispositivo de destino. A midia de comunicação pode compreender qualquer midia de comunicação sem fio ou cabeada, tal como espectro de radiofrequência (RF) ou uma ou mais linhas de transmissão fisica. A midia de comunicação pode formar parte de uma rede com base em pacote, tal como uma rede local, uma área rede alargada ou uma rede global, tal como a Internet. A midia de comunicação pode incluir roteadores, comutadores, estaçõesbase ou qualquer outro equipamento que possa ser útil para facilitar a comunicação do dispositivo de origem ao dispositivo de destino.
[00192] Em alguns exemplos, os dados
Petição 870190049772, de 28/05/2019, pág. 120/180
102/126 codificados podem ser emitidos da interface de emissão a um dispositivo de armazenamento. De modo semelhante, os dados codificados podem ser acessados do dispositivo de armazenamento pela interface de entrada. O dispositivo de armazenamento pode incluir qualquer uma dentre uma variedade de mídias de armazenamento de dados distribuídas ou acessadas localmente, tais como um disco rígido, discos de Blu-ray, DVDs, CD-ROMs, memória flash, memória volátil ou não volátil ou quaisquer outras mídias de armazenamento digitais adequadas para armazenar dados de vídeo codificados. Em um exemplo adicional, o dispositivo de armazenamento pode corresponder a um servidor de arquivo ou outro dispositivo de armazenamento intermediário que pode armazenar o vídeo codificado gerado pelo dispositivo de origem. O dispositivo de destino pode acessar dados de vídeo armazenados do dispositivo de armazenamento por meio de transmissão contínua ou transferência por download. O servidor de arquivo pode ser qualquer tipo de servidor com capacidade para armazenar dados de vídeo codificados e transmitir esses dados de vídeo codificados ao dispositivo de destino. Os servidores de arquivo exemplificativos incluem um servidor da web (por exemplo, para um sítio da web), um servidor de FTP, dispositivos de armazenamento ligados à rede (NAS) ou uma unidade de disco local. O dispositivo de destino pode acessar os dados de vídeo codificados através de qualquer conexão de dados padrão, incluindo uma conexão à Internet. Isso pode incluir um canal sem fio (por exemplo, uma conexão Wi-Fi), uma conexão cabeada (por exemplo, DSL, modem a cabo etc.) ou uma
Petição 870190049772, de 28/05/2019, pág. 121/180
103/126 combinação dos dois que é adequada para acessar dados de vídeo codificados armazenados em um servidor de arquivo. A transmissão de dados de vídeo codificados do dispositivo de armazenamento pode ser uma transmissão contínua, uma transmissão de transferência por download ou uma combinação das mesmas.
[00193] As técnicas da presente revelação não necessariamente limitadas às aplicações ou configurações sem fio. As técnicas podem ser aplicadas à codificação de video em apoio a qualquer uma dentre uma variedade de aplicações de multimídia, tais como difusões de televisão pelo ar, transmissões de televisão a cabo, transmissões de televisão a satélite, transmissões contínuas de vídeo de Internet, tais como transmissão contínua adaptativa dinâmica através de HTTP (DASH), vídeo digital que é codificado em uma mídia de armazenamento de dados, decodificação de vídeo digital armazenado em uma mídia de armazenamento de dados ou outras aplicações. Em alguns exemplos, os sistemas podem ser configurados para suportar transmissão de vídeo unidirecional ou bidirecional a aplicações de suporte, tais como transmissão contínua de vídeo, reprodução de vídeo, difusão de vídeo e/ou videotelefonia.
[00194] Em um exemplo, o dispositivo de origem inclui uma fonte de vídeo, um codificador de vídeo e uma interface de saída. O dispositivo de destino pode incluir uma interface de entrada, um decodificador de vídeo e um dispositivo de exibição. O codificador de vídeo do dispositivo de origem pode ser configurado para aplicar as
Petição 870190049772, de 28/05/2019, pág. 122/180
104/126 técnicas reveladas no presente documento. Em outros exemplos, um dispositivo de origem e um dispositivo de destino pode incluir outros componentes ou disposições. Por exemplo, o dispositivo de origem pode receber dados de video de uma fonte de video externa, tal como uma câmera externa. De igual modo, o dispositivo de destino pode fazer interface com um dispositivo de exibição externo, em vez de incluir um dispositivo de exibição integrado.
[00195] O sistema exemplificativo acima é apenas um exemplo. As técnicas para processar dados de video em paralelo podem ser realizadas por qualquer dispositivo de codificação e/ou de decodificação de video digital. Embora, de modo geral, as técnicas da presente revelação sejam realizadas por um dispositivo de codificação de video, as técnicas também podem ser realizadas por um codificador de video/decodifleader, tipicamente denominado de CODEC. Ademais, as técnicas da presente revelação também podem ser realizadas por um préprocessador de video. O dispositivo de origem e o dispositivo de destino são apenas de tais dispositivos de codificação, sendo que o dispositivo de origem gera dados de video codificados para transmissão ao dispositivo de destino. Em alguns exemplos, os dispositivos de origem e de destino podem operar de maneira substancialmente simétrica de modo que cada um dos dispositivos inclua componentes de codificação e decodificação de video. Por conseguinte, os sistemas exemplificativos podem suportar transmissão de video unidirecional ou bidirecional entre dispositivos de video, por exemplo, para transmissão continua de video,
Petição 870190049772, de 28/05/2019, pág. 123/180
105/126 reprodução de vídeo, difusão de vídeo ou videotelefonia.
[00196] A fonte de vídeo pode incluir um dispositivo de captura de vídeo, tal como uma câmera de vídeo, um arquivo de vídeo que contém vídeo anteriormente capturado e/ou uma interface de alimentação de vídeo para receber vídeo de um provedor de conteúdo de vídeo. Como uma alternativa adicional, a fonte de vídeo pode gerar dados com base em gráfica de computador como o vídeo de origem, ou uma combinação de vídeo ao vivo, vídeo arquivo e vídeo gerado por computador. Em alguns casos, caso a fonte de vídeo seja uma câmera de vídeo, o dispositivo de origem e o dispositivo de destino podem formar os então chamados telefones de câmera ou telefones de vídeo. No entanto, conforme mencionado acima, as técnicas descritas na presente revelação podem ser aplicáveis à codificação de vídeo, em geral, e podem ser aplicadas a aplicações sem fio e/ou cabeadas. Em cada caso, o vídeo capturado, précapturado ou gerado por computador pode ser codificado pelo codificador de vídeo. Em seguida, as informações de vídeo codificado podem ser emitidas pela interface de saída na mídia legível por computador.
[00197] Conforme verificado, a mídia legível por computador pode incluir mídia transiente, tal como uma transmissão de difusão sem fio ou de rede cabeada ou mídias de armazenamento (ou seja, mídias de armazenamento não transitórias), tais como disco rígido, flash drive, disco compacto, disco de vídeo digital, disco de Blu-ray ou outra mídia legível por computador. Em alguns exemplos, um servidor de rede (não mostrado) pode receber dados de vídeo
Petição 870190049772, de 28/05/2019, pág. 124/180
106/126 codificados dos dispositivo de origem e fornecer os dados de video codificados ao dispositivo de destino, por exemplo, por meio de transmissão de rede. De modo semelhante, um dispositivo de computação de uma instalação de produção de mídia, tal como uma instalação de estampagem de disco, pode receber dados de video codificados do dispositivo de origem e produzir um a disco que contém os dados de video codificados. Portanto, pode-se entender que a mídia legivel por computador inclui uma ou mais mídias legíveis por computador de várias formas, em vários exemplos.
[00198] A interface de entrada dos dispositivo de destino recebe informações da mídia legível por computador. As informações da mídia legível por computador pode incluir informações sintéticas definidas pelo codificador de vídeo, que também são usadas pelo decodifreader de vídeo, que incluem elementos de sintaxe que descrevem características e/ou processamento dos blocos e outras unidades codificadas, por exemplo, grupo de figurações (GOP). Um dispositivo de exibição exibe dados de vídeo decodificados para um usuário e pode compreender uma variedade de dispositivos de exibição, tais como tubos de raios catódicos (CRT), um visor de cristal líquido (LCD), um visor de plasma, um visor de diodo emissor de luz orgânico (OLED) ou outro tipos de dispositivo de exibição. Várias modalidades da invenção foram descritas.
[00199] Os detalhes específicos do dispositivo de codificação 104 e o dispositivo de decodificação 112 são mostrados na Figura 14 e na Figura 15, respectivamente. A
Petição 870190049772, de 28/05/2019, pág. 125/180
107/126
Figura 14 é um diagrama de blocos que ilustra um exemplo dispositivo de codificação 104 que pode implantar uma ou mais dentre as técnicas descritas na presente revelação. O dispositivo de codificação 104 pode, por exemplo, gerar as estruturas sintáticas descritas no presente documento (por exemplo, as estruturas sintéticas de um VPS, SPS, PPS ou outros elementos de sintaxe). O dispositivo de codificação 104 pode realizar codificação de intrapredição e interpredição de blocos de vídeo dentro de fatias de vídeo. Conforme descrito anteriormente, a intracodificação depende, pelo menos parcialmente, da predição espacial para reduzir ou remover redundância espacial dentro de um determinado quadro de vídeo ou figuração. A intercodificação depende, pelo menos parcialmente, de predição temporal para reduzir ou remover redundância temporal dentro de quadros adjacentes ou circundantes de uma sequência de vídeo. Intramodo (Modo I) pode se referir a qualquer um dentre os modos de compressão com base espacial. Intermodos, tais como predição unidirecional (P modo) ou bipredição (modo B) , podem se referir a qualquer um dentre os diversos modos de compressão com base temporal.
[00200] O dispositivo de codificação 104 inclui uma unidade de particionamento 35, unidade de processamento de predição 41, unidade de filtro 63, memória de figuração
64, somador 50, unidade de processamento de transformada
52, unidade de quantificação 54 e unidade de codificação por entropia 56. A unidade de processamento de predição 41 inclui unidade de estimativa de movimentação 42, unidade de
Petição 870190049772, de 28/05/2019, pág. 126/180
108/126 compensação de movimentação 44 e unidade de processamento de intrapredição 46. Para a reconstrução bloco de video, o dispositivo de codificação 104 também inclui unidade de quantificação inversa 58, unidade de processamento de transformada inversa 60 e somador 62. A unidade de filtro 63 está destinada a representar um ou mais filtros de ciclo, tais como um filtro de desblocagem, um filtro de ciclo adaptativo (ALF) e um filtro de desvio adaptativo de amostra (SAO). Embora a unidade de filtro 63 seja mostrada na Figura 14 como sendo um filtro de ciclo, em outras configurações, a unidade de filtro 63 podem ser implantada como um filtro pós-ciclo. Um dispositivo de pósprocessamento 57 pode realizar processamento adicional em dados de video codificados gerados pelo dispositivo de codificação 104. As técnicas da presente revelação podem, em algumas ocorrências, ser implantadas pelo dispositivo de codificação 104. No entanto, em outros exemplos, uma ou mais dentre as técnicas da presente revelação podem ser implantadas pelo dispositivo de pós-processamento 57.
[00201] Conforme mostrado na Figura 14, o dispositivo de codificação 104 recebe dados de video, e a unidade de particionamento 35 particiona os dados em blocos de video. A particionamento também pode incluir particionar em fatias, segmentos de fatia, mosaicos ou outras unidades maiores, assim como particionamento de bloco de video, por exemplo, de acordo com uma estrutura de árvore quadrática de LCUs e CUs. O dispositivo de codificação 104 ilustra de modo geral os componentes que codificam blocos de video dentro de uma fatia de video a ser codificada. A fatia pode
Petição 870190049772, de 28/05/2019, pág. 127/180
109/126 ser dividida em múltiplos blocos de video (e possivelmente em conjuntos de blocos de video denominados de mosaicos). A unidade de processamento de predição 41 pode selecionar um dentre uma pluralidade de possíveis modos de codificação, tais como um dentre uma pluralidade de modos de codificação de intrapredição ou um dentre uma pluralidade de modos de codificação de interpredição, para o bloco de video atual com base em resultados de erro (por exemplo, taxa de codificação e o nivel de distorção ou semelhantes). A unidade de processamento de predição 41 pode fornecer o bloco intracodifiçado ou intercodifiçado resultante ao somador 50 para gerar dados de bloco residuais e ao somador 62 para reconstruir o bloco codificado para uso como uma figuração de referência.
[00202] A unidade de processamento de intrapredição 46 dentro da unidade de processamento de predição 41 pode realizar codificação de intrapredição do bloco de video atual em relação a um ou mais blocos vizinhos no mesmo quadro ou fatia que o bloco atual a ser codificado para fornecer compressão espacial. A unidade de estimativa de movimentação 42 e a unidade de compensação de movimentação 44 dentro da unidade de processamento de predição 41 realizam codificação interpreditiva do bloco de video atual em relação a um ou mais blocos de preditivos em uma ou mais figurações de referência para fornecer compressão temporal.
[00203] A unidade de estimativa de movimentação pode ser configurada para determinar o modo de interpredição para uma fatia de video de acordo com um
Petição 870190049772, de 28/05/2019, pág. 128/180
110/126 padrão predeterminado para uma sequência de vídeo. 0 padrão predeterminado pode designar fatias de vídeo na sequência como fatias P, fatias B ou fatias GPB. A unidade de estimativa de movimentação 42 e a unidade de compensação de movimentação 44 podem ser altamente integradas, porém são ilustradas separadamente a título de conceituação. A estimativa de movimentação, realizada pela unidade de estimativa de movimentação 42, é o processo de gerar vetores de movimentação, o que estima a movimentação para os blocos de video. Um vetor de movimentação, por exemplo, pode indicar o deslocamento de uma unidade de predição (PU) de um bloco de vídeo dentro de um atual quadro de vídeo ou figuração em relação a um bloco preditivo dentro de uma figuração de referência.
[00204] Um bloco preditivo é um bloco que é fielmente compatível com a PU do bloco de vídeo para ser codificado em termos de diferença de pixel, o que pode ser determinado pela soma da absoluta diferença (SAD), soma da diferença quadrática (SSD) ou outras métricas de diferença. Em alguns exemplos, o dispositivo de codificação 104 pode calcular valores para posições de pixel de subnúmero inteiro de figurações de referência armazenadas na memória de figuração 64. Por exemplo, o dispositivo de codificação 104 pode interpelar valores de posições de pixel de um quarto, posições de pixel de um oitavo ou outras posições de pixel fracionárias da figuração de referência. Portanto, a unidade de estimativa de movimentação 42 pode realizar uma busca de movimentação em relação às posições de pixel completas e às posições de pixel fracionárias e emitir um a
Petição 870190049772, de 28/05/2019, pág. 129/180
111/126 vetor de movimentação com precisão de pixel fracionária.
[00205] A unidade de estimativa de movimentação 42 calcula um vetor de movimentação para uma PU de um bloco de video em uma fatia intercodifiçada comparando-se a posição da PU à posição de um bloco preditivo de uma figuração de referência. A figuração de referência pode ser selecionada a partir de uma primeira lista de figurações de referência (Lista 0) ou uma segunda lista de figurações de referência (Lista 1), dentre as quais cada uma identifica uma ou mais figurações de referência armazenadas na memória de figuração 64. A unidade de estimativa de movimentação 42 envia o vetor de movimentação calculado para a unidade de codificação por entropia 56 e a unidade de compensação de movimentação 44.
[00206] A compensação de movimentação, realizada pela unidade de compensação de movimentação 44 pode envolver obter ou gerar o bloco preditivo com base no vetor de movimentação determinado pela estimativa de movimentação, possivelmente realizando interpelações para precisão do subpixel. Mediante o recebimento do vetor de movimentação para a PU do bloco de video atual, a unidade de compensação de movimentação 44 pode localizar o bloco preditivo para o qual o vetor de movimentação aponta em uma lista de figurações de referência. O dispositivo de codificação 104 forma um bloco de video residual subtraindo-se valores de pixel do bloco preditivo dos valores de pixel do bloco de video atual que é codificado, formando valores de diferença de pixel. Os valores de diferença de pixel formam dados residuais para o bloco e
Petição 870190049772, de 28/05/2019, pág. 130/180
112/126 podem incluir componentes de diferença tanto de luma quanto de croma. 0 somador 50 representa o componente ou componentes que realizam essa operação de subtração. A unidade de compensação de movimentação 44 também pode gerar elementos de sintaxe associados aos blocos de vídeo e à fatia de vídeo para uso pelo dispositivo de decodificação 112 na decodificação dos blocos de vídeo da fatia de vídeo.
[00207] A unidade de processamento de intrapredição 46 pode intrapredizer um bloco atual, como uma alternativa para a interpredição realizada pela unidade de estimativa de movimentação 42 e pela unidade de compensação de movimentação 44, conforme descrito acima. Em particular, a unidade de processamento de intrapredição 46 pode determinar um modo de intrapredição a ser usado para codificar um bloco atual. Em alguns exemplos, a unidade de processamento de intrapredição 46 pode codificar um bloco atual com o uso de vários modos de intrapredição, por exemplo, durante passagens de codificação separadas, e o processamento de predição de intraunidade 46 pode selecionar um modo de intrapredição adequado para usar a partir dos modos testados. Por exemplo, a unidade de processamento de intrapredição 46 pode calcular valores de distorção de taxa com o uso de uma análise de distorção de taxa para os vários modos de intrapredição testados e podem selecionar o modo de intrapredição que tem as melhores características de distorção de taxa dentre os modos testados. A análise de distorção de taxa determina geralmente uma quantidade de distorção (ou erro) entre um bloco codificado e um bloco original não codificado que foi
Petição 870190049772, de 28/05/2019, pág. 131/180
113/126 codificado para produzir o bloco codificado, assim como uma taxa de bits (ou seja, um número de bits) usado para produzir o bloco codificado. A unidade de processamento de intrapredição 46 pode calcular razões das distorções e taxas para os vários blocos codificados para determinar qual modo de intrapredição exibe o melhor valor de distorção de taca para o bloco.
[00208] De todo modo, após selecionar um modo de intrapredição para um bloco, a unidade de processamento de intrapredição 46 pode fornecer informações indicativas do modo de intrapredição selecionado para o bloco à unidade de codificação por entropia 56. A unidade de codificação por entropia 56 pode codificar as informações que indicam o modo de intrapredição selecionado. O dispositivo de codificação 104 pode incluir na configuração de fluxo de bits transmitidos as definições de dados de contextos de codificação para várias assim como indicações de um modo de intrapredição mais provável, um tabela de índice de modo de intrapredição e uma tabela de índice de modo de intrapredição modificado a ser usado para a cada um dos contextos. Os dados de configuração de fluxo de bits podem incluir uma pluralidade de tabelas de índice de modo de intrapredição e uma pluralidade de tabelas de índice de modo de intrapredição modificada (também denominada de tabelas de mapeamento de palavra-código).
[00209] Após a unidade de processamento de predição 41 gerar o bloco preditivo para o bloco de vídeo atual por meio ou de interpredição ou de intrapredição, o dispositivo de codificação 104 forma um bloco de vídeo
Petição 870190049772, de 28/05/2019, pág. 132/180
114/126 residual subtraindo-se o bloco preditivo do bloco de video atual. Os dados de video residuais no bloco residual podem ser incluídos em uma ou mais TUs e aplicados à unidade de processamento de transformada 52. A unidade de processamento de transformada 52 transforma os dados de video residuais em coeficientes de transformada residuais com o uso de uma transformada, tal como uma transformada de cosseno discreta (DCT) ou uma transformada conceitualmente semelhante. A unidade de processamento de transformada 52 pode converter os dados de video residuais de um dominio de pixel em um dominio de transformada, tais como um dominio de frequência.
[00210] A unidade de processamento de transformada 52 pode enviar os coeficientes de transformada resultante para a unidade de quantificação 54. A unidade de quantificação 54 quantiza os coeficientes de transformada para reduzir adicionalmente a taxa de bits. O processo de quantificação pode reduzir a profundidade de bit associada a alguns ou a todos os coeficientes. O grau de quantificação pode ser modificado ajustando-se um parâmetro de quantificação. Em alguns exemplos, a unidade de quantificação 54 pode, então, realizar uma varredura da matriz que inclui os coeficientes de transformada quantificada. Alternativamente, a unidade de codificação por entropia 56 pode realizar a varredura.
[00211] Em seguida da quantificação, a unidade de codificação por entropia 56 codifica por entropia os coeficientes de transformada quantificada. Por exemplo, a unidade de codificação por entropia 56 pode realizar a
Petição 870190049772, de 28/05/2019, pág. 133/180
115/126 codificação de comprimento variável adaptativa ao contexto (CAVLC), codificação aritmética binária adaptativa a contexto (CABAC), codificação aritmética binária adaptativa a contexto com base em sintaxe (SBAC), entropia de particionamento de intervalo de probabilidade (PIPE) codificação ou outra técnica de codificação por entropia. Em seguida da codificação por entropia pela unidade de codificação por entropia 56, o fluxo de bits codificado pode ser transmitido ao dispositivo de decodificação 112 ou arquivo para transmissão ou recuperação posterior pelo dispositivo de decodificação 112. A unidade de codificação por entropia 56 também pode codificar por entropia os vetores de movimentação e os outros elementos de sintaxe para a atual fatia de vídeo que é codificada.
[00212] A unidade de quantificação inversa 58 e a unidade de processamento de transformada inversa 60 aplicam quantificação inversa e transformação inversa, respectivamente, a fim de reconstruir o bloco residual no domínio de pixel para uso posterior como um bloco de referência de uma figuração de referência. A unidade de compensação de movimentação 44 pode calcular um bloco de referência adicionando-se o bloco residual a um bloco preditivo de uma dentre as figurações de referência dentro de uma lista de figurações de referência. A unidade de compensação de movimentação 44 também podem aplicar um ou mais filtros de interpelação ao bloco residual reconstruído para calcular valores de pixel de subnúmero inteiro para uso na estimativa de movimentação. O somador 62 adicionar o bloco residual reconstruído ao bloco de predição de
Petição 870190049772, de 28/05/2019, pág. 134/180
116/126 compensado por movimentação produzido pela unidade de compensação de movimentação 44 a fim de produzir um bloco de referência para armazenamento na memória de figuração 64. 0 bloco de referência pode ser usado pela unidade de estimativa de movimentação 42 e pela unidade de compensação de movimentação 44 como um bloco de referência para interpredizer um bloco em um quadro de video ou figuração subsequente.
[00213] Dessa maneira, o dispositivo de codificação 104 da Figura 14 representa um exemplo de um codificador de video configurado para derivar parâmetros de LIC, determinar de maneira adaptável tamanhos de moldes e/ou selecionar de maneira adaptável pesos. O dispositivo de codificação 104 pode, por exemplo, derivar parâmetros de LIC, determinar de maneira adaptável os tamanhos dos moldes e/ou selecionar de maneira adaptável os conjuntos de peso, conforme descrito acima. Por exemplo, o dispositivo de codificação 104 pode realizar qualquer uma das técnicas descritas no presente documento, incluindo os processos descritos acima com relação à Figura 12 e na Figura 13. Em alguns casos, algumas das técnicas dessa revelação também podem ser implantadas por dispositivo de pós-processamento 57 .
[00214] A Figura 15 é um diagrama de blocos que ilustra um exemplo dispositivo de decodificação 112. O dispositivo de decodificação 112 inclui uma unidade de decodificação por entropia 80, unidade de processamento de predição 81, unidade de quantificação inversa 86, unidade de processamento de transformada inversa 88, somador 90,
Petição 870190049772, de 28/05/2019, pág. 135/180
117/126 unidade de filtro 91 e memória de figuração 92. A unidade de processamento de predição 81 inclui unidade de compensação de movimentação 82 e unidade de processamento de intrapredição 84. Os dispositivo de decodificação 112 podem, em alguns exemplos, realizar uma passagem de decodificação geralmente reciproca à passagem de codificação com relação ao dispositivo de codificação 104 de uma Figura 14.
[00215] Durante o processo de decodificação, o dispositivo de decodificação 112 recebe um fluxo de bits de video codificado que representa blocos de video de uma fatia de video codificada e elementos de sintaxe associados pelo dispositivo de codificação 104. Em algumas modalidades, o dispositivo de decodificação 112 pode receber o fluxo de bits de video codificado do dispositivo de codificação 104. Em algumas modalidades, o dispositivo de decodificação 112 pode receber o fluxo de bits de video codificado de uma entidade de rede 79, tal como um servidor, um elemento de rede ciente de midia (MANE), um editor/divisor de video ou outro tal dispositivo configurado para implantar uma ou mais dentre as técnicas descritas acima. A entidade de rede 79 pode ou não incluir o dispositivo de codificação 104. Algumas das técnicas descritas na presente revelação podem ser implantadas pela entidade de rede 79 antes de a entidade de rede 79 transmitir o fluxo de bits de video codificado ao dispositivo de decodificação 112. Em alguns sistemas de decodificação de video, a entidade de rede 79 e o dispositivo de decodificação 112 podem ser partes de
Petição 870190049772, de 28/05/2019, pág. 136/180
118/126 dispositivos separados, ao passo que em outras ocorrências, a funcionalidade descrita com relação à entidade de rede 79 pode ser realizada pelo mesmo dispositivo que compreende o dispositivo de decodificação 112.
[00216] A unidade de decodificação por entropia 80 do dispositivo de decodificação 112 decodifica por entropia o fluxo de bits para gerar coeficientes quantificados, vetores de movimentação e outros elementos de sintaxe. A unidade de decodificação por entropia 80 encaminha os vetores de movimentação e outros elementos de sintaxe à unidade de processamento de predição 81. Os dispositivo de decodificação 112 podem receber os elementos de sintaxe no nível de fatia de vídeo e/ou no bloco de vídeo nível. A unidade de decodificação por entropia 80 pode processar e analisar tanto elementos de sintaxe de comprimento fixo quanto elementos de sintaxe de elemento variável em um ou mais conjuntos de parâmetros, tais como um VPS, SPS e PPS.
[00217] Quando a fatia de vídeo é codificada como uma fatia intracodificada (I), a unidade de processamento de intrapredição 84 da unidade de processamento de predição 81 pode gerar dados de predição para um bloco de vídeo da atual fatia de vídeo com base em um modo de intrapredição sinalizado e nos dados dos blocos decodificado anteriormente do quadro ou figuração atual. Quando o quadro de vídeo é codificado como uma fatia intercodificada (isto é, Β, P ou GPB), a unidade de compensação de movimentação 82 da unidade de processamento de predição 81 produz blocos preditivos para um bloco de
Petição 870190049772, de 28/05/2019, pág. 137/180
119/126 vídeo da atual fatia de vídeo com base nos vetores de movimentação e outras elementos de sintaxe recebidos da unidade de decodificação por entropia 80. Os blocos preditivos podem ser produzidos a partir de uma dentre as figurações de referência dentro de uma lista de figurações de referência. O dispositivo de decodificação 112 pode construir as listas de quadros de referência, a Lista 0 e a Lista 1, com o uso de técnicas de construção padrão com base em figurações de referência armazenadas na memória de figuração 92.
[00218] A unidade de compensação de movimentação 82 determina informações de predição para um bloco de vídeo da atual fatia de vídeo analisando-se os vetores de movimentação e outros elementos de sintaxe e usa as informações de predição para produzir os blocos preditivos para o bloco de vídeo atual que é decodificado. Por exemplo, a unidade de compensação de movimentação 82 pode usar um ou mais elementos de sintaxe em um conjunto de parâmetros para determinar um modo de predição (por exemplo, intrapredição ou interpredição) usado para codificar os blocos de vídeo da fatia de vídeo, uma interpredição tipo de fatia (por exemplo, fatia B, fatia P ou fatia GPB), informações de construção para uma ou mais listas de figurações de referência para a fatia, os vetores de movimentação para cada bloco de vídeo intercodifiçado da fatia, situação de interpredição para cada bloco de vídeo intercodifiçado da fatia e outras informações para decodificar os blocos de vídeo na atual fatia de vídeo.
[00219] A unidade de compensação de
Petição 870190049772, de 28/05/2019, pág. 138/180
120/126 movimentação 82 também pode realizar interpelação com base em filtros de interpelação. A unidade de compensação de movimentação 82 pode usar filtros de interpelação, conforme usado pelo dispositivo de codificação 104 durante a codificação dos blocos de vídeo para calcular os valores interpelados para pixels de subnúmero inteiro de blocos de referência. Nesse caso, a unidade de compensação de movimentação 82 pode determinar os filtros de interpelação usados pelo dispositivo de codificação 104 dos elementos de sintaxe recebidos e pode usar os filtros de interpelação para produzir blocos preditivos.
[00220] A unidade de quantificação inversa 86 quantifica de maneira inversa, ou desquantifica, os coeficientes de transformada quantificada fornecidos no fluxo de bits e decodificados pela unidade de decodificação por entropia 80. O processo de quantificação inverso pode incluir o uso de um parâmetro de quantificação calculado pelo dispositivo de codificação 104 para cada bloco de vídeo na fatia de vídeo para determinar um grau de quantificação e, de igual modo, um grau de quantificação inversa que deve ser aplicado. A unidade de processamento de transformada inversa 88 aplica uma transformada inversa (por exemplo, uma DCT inversa ou outra transformada inversa adequada), uma transformada de número inteiro inversa ou um processo de transformada inversa conceitualmente semelhante, aos coeficientes de transformada a fim de produzir blocos residuais no domínio de pixel.
[00221] Após a unidade de compensação de movimentação 82 gerar o bloco preditivo para o bloco de
Petição 870190049772, de 28/05/2019, pág. 139/180
121/126 vídeo atual com base nos vetores de movimentação e em outros elementos de sintaxe, o dispositivo de decodificação 112 forma um bloco de vídeo decodificado somando-se os blocos residuais da unidade de processamento de transformada inversa 88 aos correspondente blocos preditivos gerados pela unidade de compensação de movimentação 82. 0 somador 90 representa o componente ou componentes que realizam essa operação de soma. Caso desejado, os filtros de ciclo (ou no ciclo de codificação ou após o ciclo de codificação) também podem ser usados para suavizar as transições de pixel ou, de outro modo, aprimorar a qualidade do vídeo. A unidade de filtro 91 está destinada a representar um ou mais filtros de ciclo, tais como um filtro de desblocagem, um filtro de ciclo adaptativo (ALF) e um filtro de desvio adaptativo de amostra (SAO). Embora a unidade de filtro 91 seja mostrada na Figura 15 como sendo um filtro de ciclo, em outras configurações, a unidade de filtro 91 podem ser implantada como um filtro pós-ciclo. Em seguida, os blocos de vídeo decodificados em um determinado quadro ou figuração são armazenados na memória de figuração 92, que armazena as figurações de referência usadas para compensação de movimentação subsequente. A memória de figuração 92 também armazena vídeo decodificado para apresentação posterior em um dispositivo de exibição, tal como o dispositivo de destino de vídeo 122 mostrado na Figura 1.
[00222] Dessa maneira, o dispositivo de decodificação 112 da Figura 15 representa um exemplo de um decodificador de vídeo configurado para derivar parâmetros
Petição 870190049772, de 28/05/2019, pág. 140/180
122/126 de LIC, determinar de maneira adaptável tamanhos de moldes e/ou selecionar de maneira adaptável pesos. 0 dispositivo de decodificação 112 pode, por exemplo, derivar parâmetros de LIC, determinar de maneira adaptável os tamanhos dos moldes e/ou selecionar de maneira adaptável os conjuntos de peso, conforme descrito acima. Por exemplo, o dispositivo de decodificação 112 pode realizar qualquer uma das técnicas descritas no presente documento, incluindo os processos descritos acima com relação à Figura 12 e na Figura 13.
[00223] Na descrição supracitada, os aspectos do presente pedido são descritos com referência às modalidades especificas do mesmo, porém as pessoas versadas na técnica reconhecerão que a presente invenção não se limita às mesmas. Desse modo, embora as modalidades ilustrativas do presente pedido tenham sido descritas detalhadamente no presente documento, deve-se entender que os conceitos da invenção podem ser, de outro modo, incorporados e empregados de várias maneiras e que as reivindicações anexas estão destinadas a serem interpretadas para incluir tais variações, exceto quando limitados pela técnica anterior. Vários recursos e aspectos da invenção mencionados acima podem ser usados individualmente ou em conjunto. Além disso, as modalidades podem ser utilizadas em qualquer número de ambientes e aplicações além das descritas no presente documento sem haver afastamento do espirito e escopo mais amplo do presente relatório. O presente relatório e os desenhos deve, consequentemente, ser considerados como ilustrativos
Petição 870190049772, de 28/05/2019, pág. 141/180
123/126 e não restritivos. A título de ilustração, os métodos foram descritos em uma ordem particular. Deve-se observar que em modalidades alternativas, os métodos podem ser realizados em uma ordem diferente da descrita.
[00224] Quando os componentes são descritos como sendo configurados para realizar determinadas operações, tal configuração pode ser obtida, por exemplo, projetando-se circuitos eletrônicos ou outro hardware para realizar a operação, programando-se os circuitos eletrônicos programáveis (por exemplo, microprocessadores ou outros circuitos eletrônicos adequados) para realizar a operação ou qualquer combinação dos mesmos.
[00225] Os vários blocos lógicos, módulos, circuitos e etapas de algoritmos ilustrativas descritos em combinação com as modalidades reveladas no presente documento podem ser implantados como hardware eletrônico, software de computador, firmware ou combinações dos mesmos. A fim de ilustrar claramente essa intercambiabilidade de hardware e software, vários componentes, blocos, módulos, circuitos e etapas ilustrativas foram descritos acima de modo geral em termos de suas funcionalidades. A possibilidade de a funcionalidade ser implantada como hardware ou software depende da aplicação particular e as limitações de modelo impostas no sistema geral. As pessoas versadas na técnica podem implantar a funcionalidade descrita de várias maneiras para cada aplicação particular, porém tais decisões de implantação não devem ser interpretadas como causando um afastamento do escopo da presente invenção.
Petição 870190049772, de 28/05/2019, pág. 142/180
124/126
[00226] As técnicas descritas no presente
documento também podem ser implantadas hardware
eletrônico , computador software, firmware ou qualquer
combinação dos mesmos. Tais técnicas podem ser implantadas em vários dispositivos, tais como computadores de propósito geral, fontes de dispositivo de comunicação sem fio ou dispositivos de circuito integrado que tem múltiplos usos incluindo a aplicação em fontes de dispositivo de comunicação sem fio e outros dispositivos. Quaisquer recursos descritos como módulos ou componentes podem ser implantados juntos em um dispositivo de lógica integrada ou separadamente como dispositivos lógicos distintos, porém interoperáveis. Caso implantadas em software, as técnicas podem ser concretizadas pelo menos em parte por uma mídia de armazenamento de dados legível por computador que compreende código de programa que inclui instruções que, quando executadas, realizam um ou mais dos métodos descritos acima. Uma mídia de armazenamento de dados legível por computador pode formar parte de um produto de programa de computador, que pode incluir materiais de empacotamento. A mídia legível por computador pode compreender memória ou mídias de armazenamento de dados, tais como memória de acesso aleatório (RAM) , tais como memória de acesso aleatório dinâmica síncrona (SDRAM), memória de apenas leituras (ROM), memória de acesso aleatório não volátil (NVRAM), memória de apenas leitura programável eletricamente apagável (EEPROM), memória FLASH, mídias de armazenamento de dados magnéticas ou ópticas e semelhantes. Adicional ou alternativamente, as técnicas
Petição 870190049772, de 28/05/2019, pág. 143/180
125/126 podem ser concretizadas, pelo menos parcialmente, por uma mídia de comunicação legível por computador que transporta ou comunica código de programa na forma de instruções ou estruturas de dados e que podem ser acessadas, lidos e/ou executadas por um computador, tal como sinais ou ondas propagadas.
[00227] O código de programa pode ser executado por um processador, que pode incluir um ou mais processadores, tais como um ou mais processadores de sinal digital (DSPs), microprocessadores de propósito geral, circuitos integrados de aplicação específica (ASICs), arranjos lógicos programáveis em campo (FPGAs) ou outro conjunto de circuito lógico equivalente integrado ou distinto. Tal processador pode ser configurado para realizar qualquer uma dentre as técnicas descritas na presente revelação. Um processo de propósito geral pode ser um microprocessador; porém, alternativamente, o processador pode ser qualquer processador convencional, controlador, microcontrolador ou máquina de estado. Um processador também pode ser implantado como uma combinação de dispositivos de computação, por exemplo, uma combinação de um DSP e um microprocessador, uma pluralidade de microprocessadores, um ou mais microprocessadores em combinação com um núcleo de DSP ou qualquer outra tal configuração. Consequentemente, o termo processador, conforme usado no presente documento pode se referir a qualquer uma dentre a estrutura supracitada, qualquer combinação da estrutura supracitada ou qualquer estrutura ou aparelho adequados para implantação das técnicas
Petição 870190049772, de 28/05/2019, pág. 144/180
126/126 descritas no presente documento. Além disso, em alguns aspectos, a funcionalidade descrita no presente documento pode ser fornecida dentro de módulos de software dedicados ou módulos de hardware configurados para codificação e decodificação ou incorporados em um codificadordecodificador de vídeo combinado (CODEC).

Claims (13)

  1. REIVINDICAÇÕES
    1. Método para processar dados de video, sendo que o método compreende:
    obter um arquivo de midia associado a dados de video em 360 graus, sendo que os dados de video em 360 graus incluem uma representação esférica de uma cena, o arquivo de midia inclui primeiras informações de sinalização e segundas informações de sinalização de um região de janela de visualização correspondente a uma região de interesse (ROI) na representação esférica, sendo que as primeiras informações de sinalização incluem uma posição central e uma região de janela de visualização e uma altura e uma largura da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização identificam coordenadas cartesianas de uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano;
    extrair pixels correspondentes à região de janela de visualização dos dados da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização; e fornecer os pixels para renderizar a região de janela de visualização para exibição.
  2. 2. Método, de acordo com a reivindicação 1, sendo que as primeiras informações de sinalização incluem um primeiro ângulo e um segundo ângulo de um centro da região de janela de visualização com relação a um centro esférico
    Petição 870190049772, de 28/05/2019, pág. 7/180
    2/13 da representação esférica da cena, sendo que o primeiro ângulo é formado em um primeiro plano e o segundo ângulo é formado em um segundo plano, em que primeiro plano é perpendicular ao segundo plano.
  3. 3. Método, de acordo com a reivindicação 1, em que as primeiras informações de sinalização incluem adicionalmente um terceiro ângulo associado a uma largura da região de janela de visualização e um quarto ângulo associado a uma altura da região de janela de visualização.
  4. 4. Método, de acordo com a reivindicação 3, em que o terceiro ângulo é formado entre uma primeira borda e uma segunda borda da região de janela de visualização; e em que o quarto ângulo é formado entre uma terceira borda e uma quarta borda da região de janela de visualização.
  5. 5. Método, de acordo com a reivindicação 2, em que a ROI é definida por pelo menos quatro planos que se cruzam com a representação esférica; e em que cada um dos quatro planos também se cruza com o centro esférico.
  6. 6. Método, de acordo com a reivindicação 5, que determinar adicionalmente um formato da região de janela de visualização com base no cruzamento dos pelo menos quatro planos com a representação esférica.
  7. 7. Método, de acordo com a reivindicação 6, em que os pixels correspondentes à região de janela de visualização são extraídos com base no formato.
  8. 8. Método, de acordo com a reivindicação 1, em que a figuração inclui uma pluralidade de mosaicos;
    sendo que as segundas informações de sinalização definem um ou mais mosaicos da figuração que incluem a região de janela de visualização;
    Petição 870190049772, de 28/05/2019, pág. 8/180
    3/13 em que o método compreende adicionalmente:
    obter o um ou mais mosaicos a partir da pluralidade de mosaicos com base nas segundas informações de sinalização; e extrair os pixels do um ou mais mosaicos.
  9. 9. Método, de acordo com a reivindicação 8, em que as segundas informações de sinalização incluem uma ou mais coordenadas associadas ao um ou mais mosaicos na figuração.
  10. 10. Método, de acordo com a reivindicação 8, em que o um ou mais mosaicos formam um grupo de mosaicos, e em que as segundas informações de sinalização incluem um identificador de grupo associado ao grupo de mosaicos.
  11. 11. Método, de acordo com a reivindicação 8, em que a pluralidade de mosaicos são mosaicos de movimentação limitada.
  12. 12. Método, de acordo com a reivindicação 1, em que as segundas informações de sinalização incluem coordenadas de pixel associadas a uma localização predeterminada dentro de uma região de janela de visualização formada projetando-se a ROI em um plano, em uma largura da região de janela de visualização e em uma altura da região de janela de visualização.
    13. Método, de acordo com a reivindicação 1, em que o arquivo de midia se baseia em um formato-base de arquivo de Normalização midia da Organização (ISO) (ISOBMFF). Internacional de 14 . Método, de acordo com a reivindicação 13, em
    que o arquivo de midia identifica um grupo de amostra que inclui uma amostra de video correspondente à representação
    Petição 870190049772, de 28/05/2019, pág. 9/180
    4/13 esférica da cena; e em que as primeiras informações de sinalização e as segundas informações de sinalização são incluídas em um ou mais elementos de sintaxe do grupo de amostra.
    15. Método, de acordo com a reivindicação 1, em que:
    o arquivo de midia se baseia em um formato de descrição de apresentação de midia (MPD) e inclui um ou mais conjuntos de adaptações;
    cada um dos um ou mais conjuntos de adaptações inclui uma ou mais representações; e as primeiras informações de sinalização, as segundas informações de sinalização e um enlace para a figuração são incluídos em um ou mais elementos associados à ROI incluída na uma ou mais representações;
    e em que o método compreende: obter a figuração com base no enlace incluído no arquivo de midia.
    16. Método, de acordo com a reivindicação 15, em que a uma ou mais representações são representações com base em mosaico, e em que as segundas informações de sinalização incluem identificadores associados a mosaicos que incluem a ROI incluída nas representações com base em mosaico.
    17. Método, de acordo com a reivindicação 1, em que a representação esférica da cena é projetada no plano com o uso de uma projeção retilinea.
    18. Método, de acordo com a reivindicação 1, que compreende adicionalmente: extrair pixels de múltiplas ROIs da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização.
    Petição 870190049772, de 28/05/2019, pág. 10/180
    5/13
    19. Aparelho para processar dados de vídeo que compreende:
    uma memória configurada para armazenar dados de vídeo em 360 graus; e um processador configurado para:
    obter um arquivo de mídia associado aos dados de vídeo em 360 graus, sendo que os dados de vídeo em 360 graus incluem uma representação esférica de uma cena, o arquivo de mídia inclui primeiras informações de sinalização e segundas informações de sinalização de um região de janela de visualização correspondente a uma região de interesse (ROI) na representação esférica, sendo que as primeiras informações de sinalização incluem uma posição central da região de janela de visualização e uma altura e uma largura da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização que identificam coordenadas cartesianas de uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano;
    extrair pixels correspondentes à região de janela de visualização dos dados da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização; e fornecer os pixels para renderizar a região de janela de visualização para exibição.
    20. Aparelho, de acordo com a reivindicação 19, sendo que o processador é configurado adicionalmente para:
    determinar, a partir das primeiras informações de
    Petição 870190049772, de 28/05/2019, pág. 11/180
    6/13 sinalização, um primeiro ângulo e um segundo ângulo de um centro da região de janela de visualização com relação a um centro esférico da representação esférica da cena, sendo que o primeiro ângulo é formado em um primeiro plano e o segundo ângulo é formado em um segundo plano, em que o primeiro plano é perpendicular ao segundo plano.
    21. Aparelho, de acordo com a reivindicação 19, sendo que o processador é configurado adicionalmente para:
    determinar, a partir das primeiras informações de sinalização, um terceiro ângulo associado a uma largura da região de janela de visualização e um quarto ângulo associado a uma altura da região de janela de visualização.
    22. Aparelho, de acordo com a reivindicação 20, em que o terceiro ângulo é formado entre uma primeira borda e uma segunda borda da região de janela de visualização; e em que o quarto ângulo é formado entre uma terceira borda e uma quarta borda da região de janela de visualização.
    23. Aparelho, de acordo com a reivindicação 19, em que a ROI é definida por pelo menos quatro planos que se cruzam com a representação esférica; e em que cada um dos quatro planos também se cruza com o centro esférico.
    24. Aparelho, de acordo com a reivindicação 23, em que o processador é configurado adicionalmente para determinar um formato da região de janela de visualização com base no cruzamento dos pelo menos quatro planos com a representação esférica.
    25. Aparelho, de acordo com a reivindicação 24, em que o processador é configurado para extrair os pixels correspondentes à região de janela de visualização com base no formato.
    Petição 870190049772, de 28/05/2019, pág. 12/180
    7/13
    26. Aparelho, de acordo com a reivindicação 19, em que a figuração inclui uma pluralidade de mosaicos;
    em que as segundas informações de sinalização definem um ou mais mosaicos da figuração que incluem a região de janela de visualização;
    em que o processador é configurado adicionalmente para:
    obter o um ou mais mosaicos a partir da pluralidade de mosaicos com base nas segundas informações de sinalização; e extrair os pixels do um ou mais mosaicos.
    27. Aparelho, de acordo com a reivindicação 26, em que o processador é configurado adicionalmente para
    determinar, a partir das segundas informações de sinalização, uma ou mais coordenadas associadas ao um ou mais mosaicos 28 . na figuração Aparelho, de acordo com a reivindicação 26,
    em que o um ou mais mosaicos formam um grupo de mosaicos, e em que o processador é configurado adicionalmente para determinar, a partir das segundas informações de sinalização, um identificador de grupo associado ao grupo de mosaicos.
    29. Aparelho, de acordo com a reivindicação 26,
    em que a pluralidade de mosaicos são mosaicos de movimentação limitada. 30 . Aparelho, de acordo com a reivindicação 19, em que o p rocessador é configurado adicionalmente para determinar, a partir das segundas informações de sinalização, coordenadas de pixel associadas a uma localização predeterminada dentro de uma região de janela
    Petição 870190049772, de 28/05/2019, pág. 13/180
    8/13 de visualização formada projetando-se a ROI em um plano, uma largura da região de janela de visualização e uma altura da região de janela de visualização.
    31. Aparelho, de acordo com a reivindicação 19, em que o arquivo de mídia se baseia em um formato-base de arquivo de mídia da Organização Internacional de Normalização (ISO) (ISOBMFF).
    32. Aparelho, de acordo com a reivindicação 31, em que o arquivo de mídia identifica um grupo de amostra que inclui uma amostra de vídeo correspondente à representação esférica da cena; e em que o processador é configurado adicionalmente para extrair as primeiras informações de sinalização e as segundas informações de sinalização de um ou mais elementos de sintaxe do grupo de amostra.
    33. Aparelho, de acordo com a reivindicação 19, em que:
    o arquivo de mídia se baseia em um formato de descrição de apresentação de mídia (MPD) e inclui um ou mais conjuntos de adaptações;
    cada um dos um ou mais conjuntos de adaptações inclui uma ou mais representações; e em que o processador é configurado adicionalmente para:
    determinar, com base em um ou mais elementos associados à ROI incluída nas uma ou mais representações, as primeiras informações de sinalização, as segundas informações de sinalização e um enlace para a figuração; e obter a figuração com base no enlace incluído no arquivo de mídia.
    Petição 870190049772, de 28/05/2019, pág. 14/180
    9/13
    34. Aparelho, de acordo com a reivindicação 33, em que a uma ou mais representações são representações com base em mosaico, e em que o processador é configurado para determinar, com base nas segundas informações de sinalização, identificadores associados a mosaicos que incluem a ROI incluída nas representações com base em mosaico.
    35. Aparelho, de acordo com a reivindicação 19, em que a representação esférica da cena é projetada no plano com o uso de uma projeção retilínea.
    36. Aparelho, de acordo com a reivindicação 19, em que o processador é configurado adicionalmente para extrair pixels de múltiplas ROIs da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização.
    37. Aparelho, de acordo com a reivindicação 19, em que o aparelho compreende um dispositivo móvel com uma ou mais câmera para capturar os dados de vídeo em 360 graus.
    38. Aparelho, de acordo com a reivindicação 19, em que o aparelho compreende um visor para renderizar a região de janela de visualização.
    39. Mídia legível por computador não transitória que tem armazenadas na mesma instruções que, quando executadas por um ou mais processadores, fazem o um ou mais processador:
    obter um arquivo de mídia associado a dados de vídeo em 360 graus, sendo que os dados de vídeo em 360 graus incluem uma representação esférica de uma cena, o arquivo de mídia inclui primeiras informações de
    Petição 870190049772, de 28/05/2019, pág. 15/180
    10/13 sinalização e segundas informações de sinalização de um região de janela de visualização correspondente a uma região de interesse (ROI) na representação esférica, sendo que as primeiras informações de sinalização incluem uma posição central da região de janela de visualização e uma altura e uma largura da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização identificam coordenadas cartesianas de uma região de uma figuração que compreende a região de janela de visualização, sendo que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano;
    extrair pixels correspondentes à região de janela de visualização dos dados da figuração com base nas primeiras informações de sinalização e nas segundas informações de sinalização; e fornecer os pixels para renderizar a região de janela de visualização para exibição.
    40. Método para processar dados de video, sendo que o método compreende:
    obter dados de video em 360 graus, sendo que os dados de video em 360 graus incluem uma representação esférica de uma cena;
    determinar uma região de interesse (ROI) na representação esférica da cena;
    gerar um arquivo de midia que inclui primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente à ROI, sendo que as primeiras informações de sinalização incluem uma posição central da região de janela
    Petição 870190049772, de 28/05/2019, pág. 16/180
    11/13 de visualização e uma altura e uma largura da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização que identificam coordenadas cartesianas de uma região de uma figuração que compreende a região de janela de visualização, em que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano; e fornecer o arquivo de midia para renderização dos dados de video em 360 graus ou para transmissão de uma porção dos dados de video em 360 graus que inclui pelo menos a ROI.
    41. Aparelho para processar dados de video que compreende:
    uma memória configurada para armazenar dados de video em 360 graus; e um processador configurado para:
    obter dados de video em 360 graus, sendo que os dados de video em 360 graus incluem uma representação esférica de uma cena;
    determinar uma região de interesse (ROI) na representação esférica da cena;
    gerar um arquivo de midia que inclui primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente à ROI, sendo que as primeiras informações de sinalização incluem uma posição central da região de janela de visualização e uma altura e uma largura da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas
    Petição 870190049772, de 28/05/2019, pág. 17/180
    12/13 informações de sinalização identificam coordenadas cartesianas de uma região de uma figuração que compreende a região de janela de visualização, em que a figuração é formada projetando-se a representação esférica que inclui a ROI em um plano; e fornecer o arquivo de mídia para renderização dos dados de vídeo em 360 graus ou para transmissão de uma porção dos dados de vídeo em 360 graus que inclui pelo menos a ROI.
    42. Mídia legível por computador não transitória que tem armazenadas na mesma instruções que, quando executadas por um ou mais processadores, induzem o um ou mais processador a:
    obter dados de vídeo em 360 graus, sendo que os dados de vídeo em 360 graus incluem uma representação esférica de uma cena;
    determinar uma região de interesse (ROI) na representação esférica da cena;
    gerar um arquivo de mídia que inclui primeiras informações de sinalização e segundas informações de sinalização de uma região de janela de visualização correspondente à ROI, sendo que as primeiras informações de sinalização incluem uma posição central da região de janela de visualização e uma altura e uma largura da região de janela de visualização medida em um espaço esférico associado à representação esférica, e as segundas informações de sinalização identificam coordenadas cartesianas de uma região de uma figuração que compreende a região de janela de visualização, em que a figuração é formada projetando-se a representação esférica que inclui a
    Petição 870190049772, de 28/05/2019, pág. 18/180
  13. 13/13
    ROI em urn piano; e fornecer o arquivo de midia para renderização dos dados de video em 360 graus ou para transmissão de uma porção dos dados de video em 360 graus que inclui pelo menos a ROI.
BR112019010875A 2016-12-07 2017-12-01 sistemas e métodos de sinalização de regiões de interesse BR112019010875A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662431375P 2016-12-07 2016-12-07
US15/828,281 US10652553B2 (en) 2016-12-07 2017-11-30 Systems and methods of signaling of regions of interest
PCT/US2017/064349 WO2018106548A1 (en) 2016-12-07 2017-12-01 Systems and methods of signaling of regions of interest

Publications (1)

Publication Number Publication Date
BR112019010875A2 true BR112019010875A2 (pt) 2019-10-01

Family

ID=62243662

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019010875A BR112019010875A2 (pt) 2016-12-07 2017-12-01 sistemas e métodos de sinalização de regiões de interesse

Country Status (8)

Country Link
US (1) US10652553B2 (pt)
EP (1) EP3552394A1 (pt)
JP (1) JP6799159B2 (pt)
KR (1) KR102204178B1 (pt)
CN (1) CN110024400B (pt)
BR (1) BR112019010875A2 (pt)
TW (1) TWI712313B (pt)
WO (1) WO2018106548A1 (pt)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893699B2 (en) 2022-03-15 2024-02-06 Zeality Inc Method and processing unit for providing content in a bandwidth constrained environment

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102551239B1 (ko) * 2015-09-02 2023-07-05 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스 확장된 장면에서의 내비게이션을 용이하게 하기 위한 방법, 장치 및 시스템
US10560660B2 (en) 2017-01-04 2020-02-11 Intel Corporation Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
US10742999B2 (en) * 2017-01-06 2020-08-11 Mediatek Inc. Methods and apparatus for signaling viewports and regions of interest
WO2018131813A1 (en) * 2017-01-10 2018-07-19 Samsung Electronics Co., Ltd. Method and apparatus for generating metadata for 3d images
US10560680B2 (en) * 2017-01-28 2020-02-11 Microsoft Technology Licensing, Llc Virtual reality with interactive streaming video and likelihood-based foveation
RU2019128700A (ru) 2017-03-17 2021-03-15 Вид Скейл, Инк. Прогнозирующее кодирование для 360-градусного видео на основе геометрического дополнения
US11277635B2 (en) * 2017-03-17 2022-03-15 Vid Scale, Inc. Predictive coding for 360-degree video based on geometry padding
US10643301B2 (en) * 2017-03-20 2020-05-05 Qualcomm Incorporated Adaptive perturbed cube map projection
KR102277267B1 (ko) * 2017-03-29 2021-07-14 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US10506255B2 (en) * 2017-04-01 2019-12-10 Intel Corporation MV/mode prediction, ROI-based transmit, metadata capture, and format detection for 360 video
US11223848B2 (en) * 2017-06-30 2022-01-11 Vid Scale, Inc. Weighted to spherically uniform PSNR for 360-degree video quality evaluation using cubemap-based projections
EP3649791A1 (en) * 2017-07-03 2020-05-13 Telefonaktiebolaget LM Ericsson (PUBL) Methods for personalized 360 video delivery
US10217488B1 (en) * 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
US11032590B2 (en) 2018-08-31 2021-06-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing panoramic video content to a mobile device from an edge server
US10826964B2 (en) 2018-09-05 2020-11-03 At&T Intellectual Property I, L.P. Priority-based tile transmission system and method for panoramic video streaming
US10779014B2 (en) 2018-10-18 2020-09-15 At&T Intellectual Property I, L.P. Tile scheduler for viewport-adaptive panoramic video streaming
US11184461B2 (en) 2018-10-23 2021-11-23 At&T Intellectual Property I, L.P. VR video transmission with layered video by re-using existing network infrastructures
WO2020234373A1 (en) * 2019-05-20 2020-11-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Immersive media content presentation and interactive 360° video communication
CN110618398B (zh) * 2019-09-24 2020-09-29 深圳市拜洛克科技有限公司 基于uwb定位技术控制粉丝棒发光的方法
US11190786B2 (en) * 2019-09-24 2021-11-30 At&T Intellectual Property I, L.P. Transcoding ultra-high-definition panoramic videos
CN112511866B (zh) * 2019-12-03 2024-02-23 中兴通讯股份有限公司 媒体资源播放方法、装置、设备和存储介质
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
US11991376B2 (en) * 2020-04-09 2024-05-21 Intel Corporation Switchable scalable and multiple description immersive video codec
KR102412410B1 (ko) * 2020-07-14 2022-06-23 성균관대학교산학협력단 타일 기반 360도 영상 전송 방법 및 장치
CN112055263B (zh) * 2020-09-08 2021-08-13 西安交通大学 基于显著性检测的360°视频流传输系统
CN112163990B (zh) * 2020-09-08 2022-10-25 上海交通大学 360度图像的显著性预测方法及系统
CN112511896A (zh) * 2020-11-05 2021-03-16 浙江大华技术股份有限公司 一种视频渲染方法及装置
EP4064691A1 (en) * 2021-03-23 2022-09-28 Ricoh Company, Ltd. Communication management device, image communication system, communication management method, and carrier means
US20230019723A1 (en) * 2021-07-14 2023-01-19 Rovi Guides, Inc. Interactive supplemental content system
CN113470127B (zh) * 2021-09-06 2021-11-26 成都国星宇航科技有限公司 基于星载云检测的光学图像有效压缩方法
WO2023058258A1 (ja) * 2021-10-05 2023-04-13 ソニーグループ株式会社 画像処理システム、並びに、画像処理装置および方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003141562A (ja) * 2001-10-29 2003-05-16 Sony Corp 非平面画像の画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム
US7103212B2 (en) * 2002-11-22 2006-09-05 Strider Labs, Inc. Acquisition of three-dimensional images by an active stereo technique using locally unique patterns
US9344612B2 (en) * 2006-02-15 2016-05-17 Kenneth Ira Ritchey Non-interference field-of-view support apparatus for a panoramic facial sensor
US9025933B2 (en) * 2010-02-12 2015-05-05 Sony Corporation Information processing device, information processing method, playback device, playback method, program and recording medium
CN103096014B (zh) * 2011-10-28 2016-03-30 华为技术有限公司 一种视频呈现方法和系统
CN109862373B (zh) * 2013-07-15 2021-10-15 索尼公司 用于对比特流进行编码的方法和装置
EP3028472B1 (en) * 2013-07-29 2020-02-26 Koninklijke KPN N.V. Providing tile video streams to a client
US9497358B2 (en) * 2013-12-19 2016-11-15 Sony Interactive Entertainment America Llc Video latency reduction
EP3162075B1 (en) * 2014-06-27 2020-04-08 Koninklijke KPN N.V. Hevc-tiled video streaming
EP3162074A1 (en) * 2014-06-27 2017-05-03 Koninklijke KPN N.V. Determining a region of interest on the basis of a hevc-tiled video stream
US10291561B2 (en) * 2015-02-09 2019-05-14 Nokia Technologies Oy Apparatus, a method and a computer program for image coding and decoding
JP6566698B2 (ja) * 2015-04-13 2019-08-28 キヤノン株式会社 表示制御装置および表示制御方法
WO2017116952A1 (en) * 2015-12-29 2017-07-06 Dolby Laboratories Licensing Corporation Viewport independent image coding and rendering
CN109155861B (zh) * 2016-05-24 2021-05-25 诺基亚技术有限公司 用于编码媒体内容的方法和装置以及计算机可读存储介质
US10360721B2 (en) * 2016-05-26 2019-07-23 Mediatek Inc. Method and apparatus for signaling region of interests
CN109362242B (zh) * 2016-10-10 2021-05-14 华为技术有限公司 一种视频数据的处理方法及装置
US10917564B2 (en) * 2016-10-12 2021-02-09 Qualcomm Incorporated Systems and methods of generating and processing files for partial decoding and most interested regions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893699B2 (en) 2022-03-15 2024-02-06 Zeality Inc Method and processing unit for providing content in a bandwidth constrained environment

Also Published As

Publication number Publication date
JP2020501436A (ja) 2020-01-16
CN110024400B (zh) 2021-08-24
TW201824865A (zh) 2018-07-01
KR20190091275A (ko) 2019-08-05
US20180160123A1 (en) 2018-06-07
KR102204178B1 (ko) 2021-01-15
WO2018106548A1 (en) 2018-06-14
JP6799159B2 (ja) 2020-12-09
TWI712313B (zh) 2020-12-01
EP3552394A1 (en) 2019-10-16
CN110024400A (zh) 2019-07-16
US10652553B2 (en) 2020-05-12

Similar Documents

Publication Publication Date Title
KR102204178B1 (ko) 관심 영역들의 시그널링의 시스템들 및 방법들
KR102348538B1 (ko) 360 도 비디오 데이터를 프로세싱하기 위한 방법 및 시스템
US11671625B2 (en) Apparatus, a method and a computer program for video coding and decoding
US11062738B2 (en) Signalling of video content including sub-picture bitstreams for video coding
KR102185811B1 (ko) 컨테이너 파일들 및 비디오 비트스트림들의 관심 영역들의 강화된 시그널링
JP6676771B2 (ja) メディアファイルにおけるバーチャルリアリティビデオの記憶
US11532128B2 (en) Advanced signaling of regions of interest in omnidirectional visual media
TW201838407A (zh) 適應性擾動立方體之地圖投影
TW201742444A (zh) 虛擬實境中之圓形魚眼視訊
CN115211131A (zh) 用于全向视频的装置、方法及计算机程序
US11477489B2 (en) Apparatus, a method and a computer program for video coding and decoding
CN113574903B (zh) 针对媒体内容中的后期绑定的方法和装置
US12022117B2 (en) Apparatus, a method and a computer program for video coding and decoding

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 5A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2699 DE 27-09-2022 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.