BR112021000044A2 - Aparelho e método de processamento de imagem - Google Patents

Aparelho e método de processamento de imagem Download PDF

Info

Publication number
BR112021000044A2
BR112021000044A2 BR112021000044-5A BR112021000044A BR112021000044A2 BR 112021000044 A2 BR112021000044 A2 BR 112021000044A2 BR 112021000044 A BR112021000044 A BR 112021000044A BR 112021000044 A2 BR112021000044 A2 BR 112021000044A2
Authority
BR
Brazil
Prior art keywords
point cloud
information
unit
projection
decoding
Prior art date
Application number
BR112021000044-5A
Other languages
English (en)
Inventor
Satoru Kuma
Ohji Nakagami
Koji Yano
Tsuyoshi Kato
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Publication of BR112021000044A2 publication Critical patent/BR112021000044A2/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/146Data rate or code amount at the encoder output
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

esta descrição se refere a um dispositivo e método de processamento de imagem que torna possível suprimir um aumento na carga de processamento de decodificação de dados codificados em uma abordagem baseada em vídeo para uma nuvem de pontos. parâmetros relacionados a uma pluralidade de modelos de grupos de pontos de uma nuvem de pontos são transformados, uma imagem plana bidimensional na qual a pluralidade de modelos de grupos de pontos relacionados aos quais os parâmetros foram transformados são projetados é codificada e um fluxo de bits incluindo dados codificados da imagem bidimensional e informações de transformação que são informações relacionadas à transformação dos parâmetros são geradas. esta descrição é aplicável, por exemplo, a um dispositivo de processamento de informações, um dispositivo de processamento de imagem, equipamento eletrônico, um método de processamento de informações ou um programa.

Description

1 / 72
APARELHO E MÉTODO DE PROCESSAMENTO DE IMAGEM CAMPO TÉCNICO
[001] A presente descrição se refere a um aparelho e método de processamento de imagem e, mais particularmente, a um aparelho e método de processamento de imagem capaz de prevenir um aumento na carga de um processo de decodificação para dados codificados em uma abordagem baseada em vídeo para uma nuvem de pontos.
FUNDAMENTOS DA TÉCNICA
[002] Como um método para codificar dados 3D que representam uma estrutura tridimensional, como uma nuvem de pontos, por exemplo, tem havido codificação usando voxels, como Octree (ver Documento Não Patentário 1, por exemplo).
[003] Nos últimos anos, foi sugerida uma abordagem para projetar as informações de posição e cor sobre uma nuvem de pontos em um plano bidimensional em uma base de pequena região, por exemplo, e codificar as informações de posição e cor por um método de codificação para duas imagens dimensionais (doravante, esta abordagem também será referida como uma abordagem baseada em vídeo) (consulte os Documento Não Patentário 2 a 4, por exemplo).
[004] Em tal codificação, quando uma pluralidade de modelos de nuvem de pontos existe em uma nuvem de pontos, os modelos de nuvem de pontos são codificados independentemente um do outro e são transformados em fluxos de bits diferentes um do outro por um método convencional.
LISTA DE CITAÇÕES DOCUMENTOS NÃO PATENTÁRIOS
[005] Documento não patentário 1: Mekuria, Student Member IEEE, e K. Blom e P. Cesar., Members IEEE, “Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video”, tcsvt_paper_submitted_february.pdf
2 / 72 Documento não patentário 2: Tim Golla e Reinhard Klein, “Real-time Point Cloud Compression”, IEEE, 2015 Documento não patentário 3: K. Mammou, “Video-based and Hierarchical Approaches Point Cloud Compression”, MPEG m41649, outubro de 2017 Documento não patentário 4: K. Mammou, “PCC Test Model Category 2 v0”, N17248 documento de saída MPEG, outubro de 2017
SUMARIO DA INVENÇÃO PROBLEMAS A SER RESOLVIDOS PELA INVENÇÃO
[006] No caso deste método, entretanto, existe a possibilidade de que o número de instâncias necessárias para o decodificador aumentará quando o número de modelos de nuvem de pontos aumentar.
[007] A presente descrição foi feita em vista de tais circunstâncias e visa evitar um aumento no número de instâncias necessárias para decodificar dados codificados de uma nuvem de pontos em uma abordagem baseada em vídeo e evitar um aumento na carga do processo de decodificação.
SOLUÇÕES PARA PROBLEMAS
[008] Um aparelho de processamento de imagem de um aspecto da presente tecnologia é um aparelho de processamento de imagem que inclui: uma unidade de transformação que transforma um parâmetro relacionado a uma pluralidade de modelos de nuvem de pontos de uma nuvem de pontos; e uma unidade de codificação que codifica uma imagem plana bidimensional na qual a pluralidade de modelos de nuvem de pontos tendo o parâmetro transformado pela unidade de transformação é projetada e gera um fluxo de bits contendo dados codificados da imagem plana bidimensional e informação de transformação que é informações sobre a transformação do parâmetro transformado pela unidade de transformação.
[009] Um método de processamento de imagem de um aspecto da presente tecnologia é um método de processamento de imagem que inclui:
3 / 72 transformar um parâmetro relacionado a uma pluralidade de modelos de nuvem de pontos de uma nuvem de pontos; e codificar uma imagem plana bidimensional na qual a pluralidade de modelos de nuvem de pontos tendo o parâmetro transformado é projetada e gerar um fluxo de bits contendo dados codificados da imagem plana bidimensional e informações de transformação que são informações sobre a transformação do parâmetro.
[0010] Um aparelho de processamento de imagem de outro aspecto da presente tecnologia é um aparelho de processamento de imagem que inclui: uma unidade de decodificação que decodifica um fluxo de bits e gera uma imagem plana bidimensional na qual uma pluralidade de modelos de nuvem de pontos é projetada e transforma a informação que são informações sobre a transformação de um parâmetro de cada um da pluralidade de modelos de nuvem de pontos; e uma unidade de reconstrução que reconstrói cada um da pluralidade de modelos de nuvem de pontos a partir da imagem plana bidimensional gerada pela unidade de decodificação e, com base nas informações de transformação, transforma inversamente o parâmetro de cada um da pluralidade de modelos de nuvem de pontos.
[0011] Um método de processamento de imagem de outro aspecto da presente tecnologia é um método de processamento de imagem que inclui: decodificar um fluxo de bits e gerar uma imagem plana bidimensional na qual uma pluralidade de modelos de nuvem de pontos é projetada e transformar a informação que é informação sobre a transformação de um parâmetro de cada um da pluralidade de modelos de nuvem de pontos; e reconstruir cada um da pluralidade de modelos de nuvem de pontos a partir da imagem plana bidimensional gerada e, com base nas informações de transformação, transformar inversamente o parâmetro de cada um da pluralidade de modelos de nuvem de pontos.
[0012] Um aparelho de processamento de imagem de ainda outro aspecto da presente tecnologia é um aparelho de processamento de imagem
4 / 72 que inclui: uma unidade de projeção que projeta uma pluralidade de modelos parciais de nuvem de pontos que constituem um modelo de nuvem de pontos em planos de projeção que são definidos independentemente um do outro; e uma unidade de codificação que codifica uma imagem de plano bidimensional na qual fragmentos dos modelos parciais de nuvem de pontos projetados nos respectivos planos de projeção pela unidade de projeção são projetados e um mapa de ocupação contendo informações do plano de projeção que são informações sobre os planos de projeção, e gera um fluxo de bits.
[0013] Um método de processamento de imagem de ainda outro aspecto da presente tecnologia é um método de processamento de imagem que inclui: projetar uma pluralidade de modelos parciais de nuvem de pontos que constituem um modelo de nuvem de pontos em planos de projeção que são definidos independentemente um do outro; e codificar uma imagem de plano bidimensional na qual fragmentos dos modelos parciais de nuvem de pontos projetados nos respectivos planos de projeção são projetados e um mapa de ocupação contendo informações do plano de projeção que são informações sobre os planos de projeção e gerar um fluxo de bits.
[0014] Um aparelho de processamento de imagem de ainda outro aspecto da presente tecnologia é um aparelho de processamento de imagem que inclui: uma unidade de decodificação que decodifica um fluxo de bits e gera uma imagem plana bidimensional na qual um modelo de nuvem de pontos é projetado e um mapa de ocupação contendo informações do plano de projeção que são informações a respeito de um plano de projeção de cada um de uma pluralidade de modelos parciais de nuvem de pontos incluídos no modelo de nuvem de pontos; e uma unidade de reconstrução que reconstrói o modelo de nuvem de pontos, com base na imagem plana bidimensional gerada pela unidade de decodificação e nas informações do plano de projeção contidas no mapa de ocupação.
[0015] Um método de processamento de imagem de ainda outro
5 / 72 aspecto da presente tecnologia é um método de processamento de imagem que inclui: decodificar um fluxo de bits e gerar uma imagem plana bidimensional na qual um modelo de nuvem de pontos é projetado e um mapa de ocupação contendo informações do plano de projeção que são informações a respeito de um plano de projeção de cada um de uma pluralidade de modelos parciais de nuvem de pontos incluídos no modelo de nuvem de pontos; e reconstruir o modelo de nuvem de pontos, com base na imagem do plano bidimensional gerada e nas informações do plano de projeção contidas no mapa de ocupação.
[0016] No aparelho de processamento de imagem e método de um aspecto da presente tecnologia, o parâmetro relacionado a uma pluralidade de modelos de nuvem de pontos de uma nuvem de pontos é transformado, uma imagem plana bidimensional na qual a pluralidade de modelos de nuvem de pontos tendo o parâmetro transformado é projetado é codificado e um fluxo de bits contendo os dados codificados da imagem do plano bidimensional e informações de transformação que são informações sobre a transformação do parâmetro é gerado.
[0017] No aparelho de processamento de imagem e método de outro aspecto da presente tecnologia, um fluxo de bits é decodificado, uma imagem plana bidimensional na qual uma pluralidade de modelos de nuvem de pontos é projetada e transforma a informação que é informação sobre a transformação do parâmetro de cada da pluralidade de modelos de nuvem de pontos são gerados, cada um da pluralidade de modelos de nuvem de pontos é reconstruído a partir da imagem plana bidimensional gerada e o parâmetro de cada um da pluralidade de modelos de nuvem de pontos é inversamente transformado com base na transformação em formação.
[0018] No aparelho de processamento de imagem e método de ainda outro aspecto da presente tecnologia, uma pluralidade de modelos parciais de nuvem de pontos que constituem um modelo de nuvem de pontos é projetada
6 / 72 em planos de projeção que são definidos independentemente um do outro, uma imagem plana bidimensional na qual fragmentos dos modelos parciais de nuvem de pontos projetados nos respectivos planos de projeção são projetados e um mapa de ocupação contendo informações do plano de projeção que são informações sobre os planos de projeção são codificados e um fluxo de bits é gerado.
[0019] No aparelho de processamento de imagem e método de ainda outro aspecto da presente tecnologia, um fluxo de bits é decodificado, uma imagem plana bidimensional na qual um modelo de nuvem de pontos é projetado e um mapa de ocupação contendo informações do plano de projeção que são informações sobre o plano de projeção de cada um de uma pluralidade de modelos parciais de nuvem de pontos incluídos no modelo de nuvem de pontos são gerados, o modelo de nuvem de pontos é reconstruído com base na imagem do plano bidimensional gerada e nas informações do plano de projeção contidas no mapa de ocupação.
EFEITOS DA INVENÇÃO
[0020] De acordo com a presente descrição, uma imagem pode ser processada. Particularmente, é possível evitar um aumento na carga de um processo de decodificação de dados codificados em uma abordagem baseada em vídeo para uma nuvem de pontos.
BREVE DESCRIÇÃO DOS DESENHOS
[0021] A figura 1 é um diagrama resumindo as principais características da tecnologia atual.
[0022] A figura 2 é um diagrama para explicar o esboço da codificação e decodificação de nuvem de pontos à qual a presente tecnologia é aplicada.
[0023] A figura 3 é um diagrama para explicar o esboço da codificação e decodificação de nuvem de pontos à qual a presente tecnologia é aplicada.
7 / 72
[0024] A figura 4 é um diagrama de blocos que mostra um exemplo de configuração típica de um dispositivo de codificação.
[0025] A figura 5 é um fluxograma para explicar um exemplo de fluxo em um processo de codificação.
[0026] A figura 6 é um fluxograma para explicar um exemplo de fluxo em um processo de transformação.
[0027] A figura 7 é um fluxograma para explicar um exemplo de fluxo em um processo de definição de caixa delimitadora.
[0028] A figura 8 é um fluxograma para explicar um exemplo de fluxo em um processo de empacotamento.
[0029] A figura 9 é um fluxograma para explicar um exemplo de fluxo em um processo de geração de informações de BB.
[0030] A figura 10 é um diagrama de blocos que mostra um exemplo de configuração típica de um dispositivo de decodificação.
[0031] A figura 11 é um fluxograma para explicar um exemplo de fluxo em um processo de decodificação.
[0032] A figura 12 é um diagrama que resume as principais características da presente tecnologia.
[0033] A figura 13 é um diagrama para explicar o esboço da codificação e decodificação de nuvem de pontos à qual a presente tecnologia é aplicada.
[0034] A figura 14 é um diagrama de blocos que mostra um exemplo de configuração típica de um dispositivo de codificação.
[0035] A figura 15 é um diagrama de blocos que mostra um exemplo de configuração típica de uma unidade de separação de fragmentos.
[0036] A figura 16 é um fluxograma para explicar um exemplo de fluxo em um processo de codificação.
[0037] A figura 17 é um fluxograma para explicar um exemplo de fluxo em um processo de separação de fragmento.
8 / 72
[0038] A figura 18 é um fluxograma para explicar um exemplo de fluxo em um processo de divisão.
[0039] A figura 19 é um fluxograma para explicar um exemplo de fluxo em um processo de empacotamento.
[0040] A figura 20 é um diagrama de blocos que mostra um exemplo de configuração típica de um dispositivo de decodificação.
[0041] A figura 21 é um fluxograma para explicar um exemplo de fluxo em um processo de decodificação.
[0042] A figura 22 é um diagrama de blocos que mostra um exemplo de configuração típica de um computador.
MODO PARA REALIZAR A INVENÇÃO
[0043] A seguir está uma descrição dos modos para realizar a presente descrição (esses modos serão doravante referidos como modalidades). Observe que a explicação será feita na seguinte ordem.
[0044] 1. Transformação de modelos de nuvem de pontos
2. Decodificação parcial
3. Primeira modalidade (um dispositivo de codificação)
4. Segunda modalidade (um dispositivo de decodificação)
5. Controle local do plano de projeção
6. Terceira modalidade (um dispositivo de codificação)
7. Quarta modalidade (um dispositivo de decodificação)
8. Notas <1. Transformação de Modelos de Nuvem de Pontos> <Documentos e semelhantes, que suporta conteúdo técnico e terminologia>
[0045] O escopo descrito na presente tecnologia inclui não apenas o conteúdo descrito nas modalidades, mas também o conteúdo descrito nos seguintes documentos não patentários que eram conhecidos no momento do depósito.
[0046] Documento não patentário 1: (mencionado acima)
9 / 72 Documento não patentário 2: (mencionado acima) Documento não patentário 3: (mencionado acima) Documento não patentário 4: (mencionado acima) Documento não patentário 5: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), “Advanced video coding for generic audiovisual services”, H.264, 04/2017 Documento não patentário 6: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), “High efficiency video coding”, H.265, 12/2016 Documento não patentário 7: Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, e Jill Boyce, “Algorithm Description of Joint Exploration Test Model 4”, JVET-G1001_v1, Joint Video Exploration Team (JVET) da ITU- T SG 16 WP 3 e ISO/IEC JTC 1/SC 29/WG 11 7ª Reunião: Torino, IT, 13-21 de julho de 2017
[0047] Ou seja, o conteúdo descrito nos documentos não patentários listados acima também são a base para determinar os requisitos de suporte. Por exemplo, quando a Estrutura de Bloco Quad-Tree descrita no Documento Não Patentário 6 e a Estrutura de Bloco Quad Tree Plus Binary Tree (QTBT) descrita no Documento Não Patentário 7 não são descritos diretamente nas modalidades, essas estruturas estão dentro do escopo da tecnologia atual e satisfaz os requisitos de suporte das reivindicações. Além disso, os termos técnicos, como análise, sintaxe e semântica também estão dentro do escopo da descrição da presente tecnologia e satisfazem os requisitos de suporte das reivindicações, mesmo quando esses termos técnicos não são descritos diretamente, por exemplo. <Nuvem de Pontos>
[0048] Existem dados como nuvens de pontos que representam estruturas tridimensionais com informações de posição, informações de
10 / 72 atributos e semelhantes sobre nuvens de pontos e malhas que são formadas com vértices, arestas e planos e definem formatos tridimensionais usando representações poligonais.
[0049] Por exemplo, no caso de uma nuvem de pontos, uma estrutura tridimensional é expressa como um conjunto de um grande número de pontos (uma nuvem de pontos). Ou seja, os dados de uma nuvem de pontos são formados com informações de posição e informações de atributos (cores e similares, por exemplo) sobre os respectivos pontos nesta nuvem de pontos. Consequentemente, a estrutura de dados é relativamente simples e qualquer estrutura tridimensional desejada pode ser expressa com uma precisão suficientemente alta com o uso de um número suficientemente grande de pontos. <Esboço de uma abordagem baseada em vídeo>
[0050] Uma abordagem baseada em vídeo foi sugerida para projetar informações posicionais e de cor sobre tal nuvem de pontos em um plano bidimensional em uma base de pequena região e codificar as informações posicionais e de cores por um método de codificação para imagens bidimensionais.
[0051] Nesta abordagem baseada em vídeo, uma nuvem de pontos de entrada é dividida em uma pluralidade de segmentações (também chamadas de regiões) e é projetada em um plano bidimensional região por região. Observe que os dados da nuvem de pontos em cada posição (que são os dados de cada ponto) são formados com informações posicionais (geometria (também conhecida como profundidade)) e informações de atributos (textura) conforme descrito acima, e são projetados em um plano bidimensional região por região.
[0052] Cada segmentação (também chamada de fragmento) projetada no plano bidimensional é então colocada em uma imagem bidimensional e é codificada por um método de codificação para imagens do plano
11 / 72 bidimensional, como Codificação de Vídeo Avançada (AVC) ou Codificação de Vídeo de Alta Eficiência (HEVC), por exemplo. <Codificação de Modelos de Nuvem de Pontos>
[0053] Há casos em que tal nuvem de pontos inclui uma pluralidade de modelos de nuvem de pontos formados com nuvens de pontos densos. Por exemplo, quando uma pluralidade de pessoas está espalhada em um espaço aberto, quando o espaço tridimensional incluindo todo o espaço aberto é transformado em uma nuvem de pontos, uma nuvem densa de pontos (um modelo de nuvem de pontos) é formada na porção de cada pessoa. Ou seja, uma pluralidade de modelos de nuvem de pontos é formada.
[0054] Nesse caso, se toda a nuvem de pontos for considerada como um grande modelo de nuvem de pontos e estiver codificada, existe a possibilidade de que a eficiência da codificação caia, porque há muitas porções em que os pontos são esparsos. Portanto, um método foi sugerido para codificar cada um da pluralidade de modelos de nuvem de pontos incluídos em uma nuvem de pontos independentemente um do outro (para cada pessoa, por exemplo). Nesse caso, no entanto, um fluxo de bits é gerado para cada modelo de nuvem de pontos. Portanto, se o número de modelos de nuvem de pontos aumentar, o número de fluxos de bits também aumentará, resultando em uma possibilidade de aumento no número de instâncias necessárias para o decodificador. Por exemplo, quando há centenas de modelos de nuvem de pontos em uma nuvem de pontos, existe a possibilidade de que sejam necessárias instâncias centenas de vezes maiores do que o número de instâncias necessárias para decodificar um único fluxo de bits. Como a carga do processo de decodificação aumenta dessa maneira, o custo do decodificador pode se tornar mais alto e o tempo de processamento pode se tornar mais longo. <Redução no Número de Fluxos de Bits>
[0055] Portanto, uma pluralidade de modelos de nuvem de pontos é
12 / 72 armazenada em um fluxo de bits. Por exemplo, como mostrado na linha superior em uma tabela na figura 1, uma pluralidade de modelos de nuvem de pontos é transformada e combinada em um único grupo, e o único grupo é codificado, de modo que a pluralidade de modelos de nuvem de pontos seja armazenada em um único fluxo de bits.
[0056] Ao fazer isso, é possível evitar um aumento no número de fluxos de bits, enquanto evita uma diminuição na eficiência de codificação, mesmo quando uma pluralidade de modelos de nuvem de pontos existe em uma nuvem de pontos. Consequentemente, um aumento no número de instâncias necessárias para a decodificação pode ser evitado. Ou seja, um aumento na carga do processo de decodificação pode ser evitado. Assim, um aumento no custo do decodificador pode ser evitado. Além disso, um aumento no tempo de processamento do processo de decodificação pode ser evitado. <Transformação de Modelos de Nuvem de Pontos>
[0057] Mais especificamente, como mostrado na linha # 1 na tabela da figura 1, um parâmetro relacionado a cada modelo de nuvem de pontos é transformado e os modelos de nuvem de pontos são combinados em um grupo com menos porções esparsas de pontos (transformação de cada nuvem de pontos modelo). Ou seja, o grupo é codificado coletivamente e transformado em um único fluxo de bits.
[0058] Por exemplo, como mostrado na coluna mais à esquerda na figura 2, existem modelos de nuvem de pontos 11-1 a 11-4 em uma nuvem de pontos e as caixas delimitadoras 12-1 a 12-4 são definidas para os respectivos modelos de nuvem de pontos. Quando os modelos de nuvem de pontos 11-1 a 11-4 não são distinguidos uns dos outros na descrição, esses modelos de nuvem de pontos são referidos como modelos de nuvem de pontos 11. Além disso, quando as caixas delimitadoras 12-1 a 12-4 são não distinguidas umas das outras na descrição, essas caixas delimitadoras são referidas como as caixas delimitadoras 12. Ou seja, esses modelos de nuvem de pontos 11 estão
13 / 72 distantes um do outro e uma caixa delimitadora 12 é definida para cada uma das nuvens de pontos modelos 11.
[0059] No momento da codificação, conforme mostrado na segunda coluna à esquerda na figura 2, os parâmetros desses modelos de nuvem de pontos 11 são transformados e reunidos, para formar um grupo com menos porções esparsas de pontos. No exemplo mostrado na figura 2, um grupo incluindo as caixas delimitadoras 12-1 a 12-4 é formado e uma caixa delimitadora 13 para codificação é definida para todo o grupo.
[0060] Os detalhes (o parâmetro a ser transformado) dessa transformação podem ser selecionados conforme apropriado. Por exemplo, como mostrado na tabela na figura 1, as coordenadas dos modelos de nuvem de pontos 11 podem ser transformadas. Por exemplo, como a transformação de coordenadas, as coordenadas dos modelos de nuvem de pontos 11 podem ser deslocadas (as posições dos modelos de nuvem de pontos 11 podem ser movidas). Ou seja, cada uma das posições dos modelos de nuvem de pontos 11-1 a 11-4 na nuvem de pontos mostrada na coluna mais à esquerda na figura 2 pode ser espacialmente separada das outras. Por tal transformação, as posições dos respectivos modelos de nuvem de pontos podem ser aproximadas umas das outras, por exemplo, e, assim, as porções esparsas no grupo podem ser reduzidas.
[0061] Além disso, as coordenadas dos modelos de nuvem de pontos 11 podem ser giradas (as posturas dos modelos de nuvem de pontos 11 podem ser giradas). Ou seja, cada uma das posturas (orientações) dos modelos de nuvem de pontos 11-1 a 11-4 na nuvem de pontos mostrada na coluna mais à esquerda na figura 2 pode ser diferente das outras. Por meio dessa transformação, as posturas dos respectivos modelos de nuvem de pontos podem ser uniformizadas, por exemplo, e, assim, as porções esparsas no grupo podem ser reduzidas.
[0062] Além disso, como mostrado na tabela na figura 1, os tempos
14 / 72 (registros temporais) dos modelos de nuvem de pontos 11 podem ser transformados, por exemplo. Ou seja, cada uma das posições dos modelos de nuvem de pontos 11-1 a 11-4 na nuvem de pontos mostrada na coluna mais à esquerda na figura 2 pode ser temporariamente separada das outras (os modelos de nuvem de pontos podem incluir um modelo de nuvem de pontos existindo em um tempo diferente dos outros). Por meio dessa transformação, os tempos dos respectivos modelos de nuvem de pontos podem ser alinhados, por exemplo, e, assim, os modelos de nuvem de pontos existentes em momentos diferentes podem ser combinados em um grupo.
[0063] Além disso, como mostrado na tabela na figura 1, os tamanhos (escalas) dos modelos de nuvem de pontos 11 podem ser transformados, por exemplo. Ou seja, cada uma das escalas dos modelos de nuvem de pontos 11- 1 a 11-4 na nuvem de pontos mostrada na coluna mais à esquerda na figura 2 pode ser diferente das outras. Por meio dessa transformação, os tamanhos (escalas) dos respectivos modelos de nuvem de pontos podem ser uniformizados, ou as resoluções em uma direção espacial podem ser uniformizadas, por exemplo.
[0064] Além disso, como mostrado na tabela na figura 1, as taxas de quadros dos modelos de nuvem de pontos 11 podem ser transformadas, por exemplo. Ou seja, cada uma das taxas de quadros dos modelos de nuvem de pontos 11-1 a 11-4 na nuvem de pontos mostrada na coluna mais à esquerda na figura 2 pode ser diferente das outras. Por meio dessa transformação, as taxas de quadros (que são as resoluções em uma direção temporal) dos respectivos modelos de nuvem de pontos podem ser uniformizadas, por exemplo.
[0065] Na figura 2, em um momento de codificação, o grupo de modelos de nuvem de pontos na caixa delimitadora 13 para codificação mostrado na segunda coluna da esquerda é projetado em um plano bidimensional e é compactado em quadros de vídeo. Desta forma, um quadro
15 / 72 de vídeo colorido 14 contendo informações de atributo (textura), um quadro de vídeo de geometria 15 contendo informações de posição (profundidade) e um mapa de ocupação 16 são gerados, como mostrado na terceira coluna da esquerda.
[0066] Esses quadros de vídeo são então codificados por um método de codificação para imagens bidimensionais, de modo que um fluxo de bits 2D 17 (incluindo um mapa de ocupação 18 e um cabeçalho 19) seja gerado, conforme mostrado na coluna mais à direita na figura 2. Ou seja, os dados codificados dos modelos de nuvem de pontos 11-1 a 11-4 são armazenados neste único fluxo de bits 2D 17.
[0067] Desta forma, um aumento no número de fluxos de bits pode ser evitado e um aumento na carga do processo de decodificação pode ser evitado. <Sinal de Informação de Transformação>
[0068] No caso de decodificação, o processo inverso do anterior é executado. Ou seja, um processo de transformação inversa é realizado para retornar os respectivos modelos de nuvem de pontos do estado do grupo mostrado na segunda coluna da esquerda na figura 2 para o estado original mostrado na coluna mais à esquerda na figura 2. Portanto, para habilitar esta transformação inversa no momento da decodificação, transforme as informações que indicam os detalhes da transformação do parâmetro realizada nos modelos de nuvem de pontos no momento da codificação (transformação do estado mostrado na coluna mais à esquerda para o estado mostrado na segunda coluna de a esquerda na figura 2) é gerada como mostrado na linha # 1 na tabela da figura 1, e a informação de transformação (incluída em um fluxo de bits, por exemplo) é transmitida para o lado da decodificação (isto é, sinalização da transformação informação é executada).
[0069] Essas informações de transformação podem ser quaisquer informações que indiquem os detalhes da transformação (a quantidade de
16 / 72 mudança no parâmetro transformado). Por exemplo, como mostrado na tabela na figura 1, as informações de transformação podem ser informações que indicam a proporção do parâmetro transformado (Deslocar, Girar, Registro Temporal, Escala, Taxa de Quadro ou semelhantes, por exemplo) entre antes e depois a transformação. Alternativamente, por exemplo, como mostrado na tabela na figura 1, as informações de transformação podem ser informações que indicam a diferença no parâmetro transformado (Deslocar, Girar, Registro Temporal, Escala, Frame Rate ou semelhantes, por exemplo) entre antes e depois da transformação.
[0070] Além disso, qualquer método apropriado pode ser usado para transmitir essas informações de transformação. Por exemplo, as informações de transformação podem ser associadas ao fluxo de bits contendo os dados codificados dos modelos de nuvem de pontos e, então, ser transmitidas. A informação de transformação pode ser incluída no fluxo de bits, por exemplo. Como mostrado na figura 2, tais informações de transformação podem ser incluídas como informações de BB 21 no cabeçalho 19 do fluxo de bits 2D 17, por exemplo.
[0071] Por exemplo, como a informação de transformação, a informação de BB 21 contém informação que indica uma quantidade de deslocamento (Deslocar x/y/z), informação que indica uma quantidade de giro (Girar x/y/z), informação que indica uma quantidade de mudança no registro temporal (Time Stump), informação que indica uma quantidade de mudança na escala (Escala x/y/z), informação que indica uma quantidade de mudança na taxa de quadros (Taxa de Quadros) e semelhantes. No momento da codificação, esta informação de BB 21 é gerada e armazenada no cabeçalho
19. No momento da decodificação, a informação de BB 21 é lida a partir do cabeçalho 19 e é usada para a transformação inversa. <Definição do plano de projeção para modelos de nuvem de pontos>
[0072] Observe que, como mostrado na linha # 2 na tabela da figura
17 / 72 1, quando o grupo de modelos de nuvem de pontos mostrado na segunda coluna da esquerda na figura 2 é projetado em um plano bidimensional, um plano de projeção pode ser definido para cada modelo de nuvem de pontos. Desta forma, os respectivos modelos de nuvem de pontos podem ser projetados em planos de projeção mais apropriados. Assim, uma diminuição na eficiência da codificação devido à ineficiência na projeção dos modelos de nuvem de pontos pode ser evitada (a eficiência da codificação pode ser aumentada).
[0073] Por exemplo, como mostrado na tabela da figura 1, os planos de projeção nas seis direções ortogonais de cada modelo de nuvem de pontos podem ser girados. Desta forma, os planos de projeção podem ser relativamente facilmente tornados mais adequados para os modelos de nuvem de pontos (ou podem ser transformados em planos nos quais uma projeção eficaz pode ser realizada).
[0074] Além disso, como mostrado na tabela da figura 1, qualquer plano de projeção pode ser definido (adicionado). Com este arranjo, o grau de liberdade dos planos de projeção dos respectivos modelos de nuvem de pontos pode ser aumentado e uma projeção mais eficiente pode ser esperada (ou um aumento adicional na eficiência de codificação pode ser esperado). <Sinal de Informação do Plano de Projeção>
[0075] Observe que, quando um plano de projeção é definido para cada modelo de nuvem de pontos desta maneira (quando um plano de projeção comum ao grupo não é definido), as informações sobre os planos de projeção também são necessárias no momento da decodificação (quando a nuvem de pontos é reconstruído). Portanto, como mostrado na linha # 2 na tabela da figura 1, a informação do plano de projeção que é a informação a respeito dos planos de projeção definidos como descrito acima é transmitida para o lado da decodificação (sinalização da informação do plano de projeção).
18 / 72
[0076] Conforme mostrado na tabela da figura 1, esta informação do plano de projeção pode conter qualquer informação que seja necessária para identificar os planos de projeção. Por exemplo, como mostrado na figura 2, esta informação de plano de projeção 22 pode ser armazenada no mapa de ocupação 16 (que é o mapa de ocupação 18).
[0077] Por exemplo, a informação do plano de projeção 22 contém informações que indicam quantidades de deslocamento nos planos de projeção em seis direções ortogonais (Deslocar x/y/z), informações que indicam uma quantidade de mudança na escala (Escala x/y/z), informações que indicam um quantidade de giro (Girar x/y/z) e semelhantes. As informações do plano de projeção 22 também podem conter informações que indicam um plano de projeção que é adicionado conforme desejado, por exemplo.
[0078] No momento da codificação, esta informação do plano de projeção 22 é gerada e armazenada no mapa de ocupação 16. No momento da decodificação, a informação do plano de projeção 22 é lida a partir do mapa de ocupação 16 e é usada para reconstruir a nuvem de pontos. <2. Decodificação parcial> <Controle de colocação de fragmento para cada modelo de nuvem de pontos>
[0079] Além disso, como mostrado na linha # 3 na tabela da figura 1, quando os fragmentos de cada modelo de nuvem de pontos são colocados em uma imagem bidimensional e são compactados como um quadro de vídeo, as regiões em que os fragmentos são colocados podem ser controlado para cada modelo de nuvem de pontos. Por exemplo, os fragmentos pertencentes ao mesmo modelo de nuvem de pontos podem ser colocados na mesma região. Esta região pode ser qualquer região apropriada. Por exemplo, esta região pode ser uma unidade de codificação independentemente decodificável. Ou seja, os fragmentos pertencentes ao mesmo modelo de nuvem de pontos podem ser colocados na mesma unidade de codificação independentemente
19 / 72 decodificável.
[0080] Esta unidade de codificação independentemente decodificável pode ser qualquer unidade apropriada. Por exemplo, a unidade pode ser uma moldura, uma fatia ou um quadrículo, como mostrado na tabela da figura 1.
[0081] Conforme mostrado em A da figura 3, um modelo de nuvem de pontos 31-1 e um modelo de nuvem de pontos 31-2 existem em uma nuvem de pontos, por exemplo. Uma caixa delimitadora 32-1 é definida para o modelo de nuvem de pontos 31-1 e uma caixa delimitadora 32-2 é definida para o modelo de nuvem de pontos 31-2. Ou seja, esses modelos de nuvem de pontos são independentes uns dos outros. Quando os fragmentos do modelo de nuvem de pontos 31-1 e do modelo de nuvem de pontos 31-2 são colocados e compactados em uma imagem bidimensional 33, os fragmentos dos modelos de nuvem de dois pontos não são divididos em regiões separadas por um método convencional, como mostrado em B da figura 3. Em B da figura 3, os fragmentos 34-1 a 34-4 são os fragmentos do modelo de nuvem de pontos 31-1, e os fragmentos 35-1 a 35-5 são os fragmentos do modelo de nuvem de pontos 31-2. Em C da figura 3, por outro lado, os fragmentos 34-1 a 34-4 do modelo de nuvem de pontos 31-1 são colocados em uma fatia 36-2 da imagem bidimensional 33, e os fragmentos 35- 1 a 35-5 do modelo de nuvem de pontos 31-2 são colocados em uma fatia 36-1 da imagem bidimensional 33, por exemplo.
[0082] Como as unidades de codificação independentemente decodificáveis nas quais os fragmentos são colocados são controladas para cada modelo de nuvem de pontos (os fragmentos pertencentes ao mesmo modelo de nuvem de pontos são colocados na mesma unidade de codificação independente decodificável), é possível realizar os chamados “Decodificação parcial” para decodificar e reconstruir apenas um dos modelos de nuvem de pontos. Por exemplo, no caso ilustrado em C da figura 3, a fatia 36-1 e a fatia 36-2 são unidades de codificação que podem ser decodificadas
20 / 72 independentemente uma da outra. Consequentemente, apenas os fragmentos 35-1 a 35-5 na fatia 36-1 podem ser decodificados, ou apenas os fragmentos 34-1 a 34-4 na fatia 36-2 podem ser decodificados. Ou seja, apenas o modelo de nuvem de pontos 31-1 pode ser decodificado e reconstruído, ou apenas o modelo de nuvem de pontos 31-2 pode ser decodificado e reconstruído. <Sinal de Informação do Modelo>
[0083] Observe que, para realizar essa decodificação parcial, o lado da decodificação precisa entender em quais regiões (unidades de codificação independentemente decodificáveis) os fragmentos de quais modelos de nuvem de pontos são colocados. Portanto, como mostrado na linha # 3 na tabela da figura 1, as informações do modelo que são informações sobre os modelos de nuvem de pontos são geradas e transmitidas (sinalizadas) do lado da codificação para o lado da decodificação.
[0084] Esta informação do modelo contém qualquer informação apropriada. Por exemplo, como mostrado na tabela na figura 1, as informações do modelo podem conter informações que indicam o número de modelos de nuvem de pontos a serem compactados em um quadro de vídeo. Além disso, como mostrado na tabela na figura 1, as informações do modelo podem conter informações que indicam as regiões (unidades de codificação independentemente decodificáveis) nas quais os fragmentos dos respectivos modelos de nuvem de pontos são colocados, por exemplo.
[0085] Observe que as informações deste modelo são transmitidas por qualquer método apropriado. Por exemplo, as informações do modelo podem ser associadas ao fluxo de bits contendo os dados codificados dos modelos de nuvem de pontos e, então, ser transmitidas. As informações do modelo podem ser incluídas no fluxo de bits, por exemplo. Como mostrado na figura 2, tais informações de modelo podem ser incluídas como as informações de BB 21 no cabeçalho 19 do fluxo de bits 2D 17, por exemplo.
[0086] As informações de BB 21 contêm as informações do modelo
21 / 72 que são informações sobre o número de modelos e as regiões de colocação de fragmento dos respectivos modelos de nuvem de pontos, por exemplo. No momento da codificação, esta informação de BB 21 é gerada e armazenada no cabeçalho 19. No momento da decodificação, a informação de BB 21 é lida a partir do cabeçalho 19 e é usada para decodificação parcial. <3. Primeira Modalidade> <Dispositivo de codificação>
[0087] A seguir, uma configuração para realizar cada uma das técnicas acima é descrita. A figura 4 é um diagrama de blocos que mostra uma configuração de exemplo de um dispositivo de codificação como uma modalidade de um aparelho de processamento de imagem ao qual a presente tecnologia é aplicada. Um dispositivo de codificação 100 mostrado na figura 4 é um dispositivo que projeta dados 3D, como uma nuvem de pontos em um plano bidimensional e executa a codificação por um método de codificação para imagens bidimensionais (um dispositivo de codificação para o qual a abordagem baseada em vídeo é aplicado).
[0088] Observe que a figura 4 mostra os principais componentes e aspectos, como unidades de processamento e o fluxo de dados, mas não necessariamente mostra todos os aspectos. Ou seja, no dispositivo de codificação 100, pode haver uma unidade de processamento que não é mostrada como um bloco na figura 4, ou pode haver um processamento ou fluxo de dados que não é indicado por setas ou semelhantes na figura 4. Isso também se aplica aos outros desenhos para explicar as unidades de processamento e semelhantes no dispositivo de codificação 100.
[0089] Como mostrado na figura 4, o dispositivo de codificação 100 inclui uma unidade de transformação de modelo 111, uma unidade de separação de fragmentos 112, uma unidade de empacotamento 113, uma unidade de compressão de informação de fragmento auxiliar 114, uma unidade de codificação de vídeo 115, uma unidade de codificação de vídeo
22 / 72 116, uma unidade de codificação de OMap 117, um multiplexador 118 e uma unidade de geração de informações de BB 119.
[0090] A unidade de transformação de modelo 111 executa um processo relacionado à transformação de parâmetro relacionado a um modelo de nuvem de pontos. Por exemplo, a unidade de transformação de modelo 111 adquire dados 3D (uma nuvem de pontos, por exemplo) que são inseridos no dispositivo de codificação 100 e indicam uma estrutura tridimensional. A unidade de transformação de modelo 111 também transforma os parâmetros relacionados aos modelos de nuvem de pontos incluídos na nuvem de pontos adquirida. Nesse momento, a unidade de transformação de modelo 111 transforma os parâmetros relacionados aos respectivos modelos de nuvem de pontos pelo método descrito acima em <Redução do número de fluxos de bits> e <Transformação de modelos de nuvem de pontos> e combina a pluralidade de modelos de nuvem de pontos em um grupo. A unidade de transformação de modelo 111 fornece a unidade de separação de fragmentos 112 com os modelos de nuvem de pontos cujos parâmetros foram transformados, que são a nuvem de pontos, incluindo os modelos de nuvem de pontos combinados em um grupo.
[0091] A unidade de transformação de modelo 111 também gera informações de transformação em relação à transformação, pelo método descrito acima em <Sinal de Informação de Transformação>. A unidade de transformação de modelo 111 fornece as informações de transformação geradas para a unidade de geração de informações de BB 119.
[0092] A unidade de separação de fragmentos 112 realiza um processo relacionado à separação de dados 3D. Por exemplo, a unidade de separação de fragmentos 112 adquire a nuvem de pontos (uma nuvem de pontos incluindo uma pluralidade de modelos de nuvem de pontos combinados em um grupo) fornecida a partir da unidade de transformação de modelo 111. A unidade de separação de fragmentos 112 também separa a
23 / 72 nuvem de pontos adquirida em uma pluralidade de segmentações, projeta a nuvem de pontos em um plano bidimensional para cada segmentação e gera fragmentos de informações de posição e fragmentos de informações de atributos. A unidade de separação de fragmentos 112 fornece informações sobre cada um dos fragmentos gerados para a unidade de empacotamento 113. A unidade de separação de fragmentos 112 também fornece informações de fragmentos auxiliares, que são informações sobre a separação, para a unidade de compressão de informação de fragmento auxiliar 114.
[0093] A unidade de empacotamento 113 executa um processo relacionado à empacotamento de dados. Por exemplo, a unidade de empacotamento 113 adquire, a partir da unidade de separação de fragmentos 112, informações sobre os fragmentos de informação posicional (geometria) indicando as posições dos pontos e informações sobre os fragmentos de informações de atributo (textura), como informações de cor a serem adicionadas às informações de posição.
[0094] A unidade de empacotamento 113 também coloca cada um dos fragmentos adquiridos em uma imagem bidimensional, para compactar os fragmentos como um quadro de vídeo. Por exemplo, a unidade de empacotamento 113 organiza os fragmentos de informação posicional em uma imagem bidimensional, para empacotar os fragmentos como um quadro de vídeo de informação posicional (também referido como um quadro de vídeo de geometria). A unidade de empacotamento 113 também organiza os fragmentos de informações de atributos em uma imagem bidimensional, para empacotar os fragmentos como um quadro de vídeo de informações de atributos (também referido como um quadro de vídeo colorido), por exemplo.
[0095] No momento desses processos de empacotamento, a unidade de empacotamento 113 controla a região na qual os fragmentos são organizados (unidades de codificação independentemente decodificáveis) para cada modelo de nuvem de pontos, pelo método descrito acima em <Controle
24 / 72 de arranjo de fragmento para cada modelo de nuvem de pontos>. A unidade de empacotamento 113, então, gera informações de modelo pelo método descrito acima em <Sinal de Informações de Modelo>. A unidade de empacotamento 113 fornece as informações de modelo geradas para a unidade de geração de informações de BB 119.
[0096] A unidade de empacotamento 113 também gera um mapa de ocupação associado a esses quadros de vídeo. A unidade de empacotamento 113 executa ainda um processo de dilatação no quadro de vídeo colorido.
[0097] A unidade de empacotamento 113 fornece o quadro de vídeo de geometria gerado desta maneira para a unidade de codificação de vídeo
115. A unidade de empacotamento 113 também fornece o quadro de vídeo colorido gerado desta maneira para a unidade de codificação de vídeo 116. A unidade de empacotamento 113 fornece ainda o mapa de ocupação gerado desta maneira para a unidade de codificação de OMap 117. A unidade de empacotamento 113 também fornece informações de controle em relação a tal empacotamento para o multiplexador 118.
[0098] A unidade de compressão de informação de fragmento auxiliar 114 realiza um processo relacionado à compressão das informações de fragmento auxiliar. Por exemplo, a unidade de compressão de informação de fragmento auxiliar 114 adquire dados fornecidos a partir da unidade de separação de fragmentos 112. A unidade de compressão de informação de fragmento auxiliar 114 codifica (comprime) a informação de fragmento auxiliar incluída nos dados adquiridos. A unidade de compressão de informação de fragmento auxiliar 114 fornece os dados codificados resultantes das informações de fragmento auxiliar para o multiplexador 118.
[0099] A unidade de codificação de vídeo 115 realiza um processo relacionado à codificação do quadro de vídeo de informação posicional (geometria). Por exemplo, a unidade de codificação de vídeo 115 adquire o quadro de vídeo de geometria fornecido a partir da unidade de
25 / 72 empacotamento 113. A unidade de codificação de vídeo 115 também codifica o quadro de vídeo de geometria adquirido por um método de codificação apropriado para imagens bidimensionais, como AVC ou HEVC, para exemplo. A unidade de codificação de vídeo 115 fornece os dados codificados obtidos pela codificação (dados codificados do quadro de vídeo de geometria) para o multiplexador 118.
[00100] A unidade de codificação de vídeo 116 realiza um processo relacionado à codificação do quadro de vídeo da informação de atributo (textura). Por exemplo, a unidade de codificação de vídeo 116 adquire o quadro de vídeo colorido fornecido a partir da unidade de empacotamento
113. A unidade de codificação de vídeo 116 também codifica o quadro de vídeo colorido adquirido por um método de codificação apropriado para imagens bidimensionais, como AVC ou HEVC, para exemplo. A unidade de codificação de vídeo 116 fornece os dados codificados obtidos pela codificação (dados codificados do quadro de vídeo colorido) para o multiplexador 118.
[00101] A unidade de codificação de OMap 117 realiza um processo relacionado à codificação do mapa de ocupação. Por exemplo, a unidade de codificação de OMap 117 adquire o mapa de ocupação fornecido a partir da unidade de empacotamento 113. A unidade de codificação de OMap 117 também codifica o mapa de ocupação adquirido por um método de codificação apropriado, tal como codificação aritmética, por exemplo. A unidade de codificação de OMap 117 fornece os dados codificados obtidos pela codificação (os dados codificados do mapa de ocupação) para o multiplexador 118.
[00102] O multiplexador 118 realiza um processo relacionado à multiplexação. Por exemplo, o multiplexador 118 adquire os dados codificados das informações de fragmento auxiliar fornecidas a partir da unidade de compressão de informação de fragmento auxiliar 114. O
26 / 72 multiplexador 118 também adquire as informações de controle em relação à empacotamento fornecida pela unidade de empacotamento 113. O multiplexador 118 adquire ainda os dados codificados do quadro de vídeo de geometria fornecido a partir da unidade de codificação de vídeo 115. O multiplexador 118 também adquire os dados codificados do quadro de vídeo colorido fornecido a partir da unidade de codificação de vídeo 116. O multiplexador 118 adquire ainda os dados codificados do mapa de ocupação fornecido da unidade de codificação de OMap 117. O multiplexador 118 também adquire informação de BB fornecida a partir da unidade de geração de informações de BB 119.
[00103] O multiplexador 118 multiplexa esses pedaços de informações adquiridos para gerar um fluxo de bits (fluxo de bits). O multiplexador 118 emite o fluxo de bits gerado para o exterior do dispositivo de codificação 100.
[00104] A unidade de geração de informações de BB 119 realiza um processo relacionado à geração de informações de BB. Por exemplo, a unidade de geração de informações de BB 119 adquire a informação de transformação fornecida a partir da unidade de transformação de modelo 111. A unidade de geração de informações de BB 119 também adquire a informação de modelo fornecida a partir da unidade de empacotamento 113. A unidade de geração de informações de BB 119 gera a informação de BB contendo as informações de transformação adquiridas e as informações de modelo. A unidade de geração de informações de BB 119 fornece a informação de BB gerada ao multiplexador 118. Isto é, a informação de BB é transmitida para o lado da decodificação.
[00105] Com tal definição, o dispositivo de codificação 100 pode transformar e combinar uma pluralidade de modelos de nuvem de pontos de uma nuvem de pontos em um grupo, codificar o grupo e armazenar o resultado em um fluxo de bits. Ou seja, mesmo quando uma pluralidade de modelos de nuvem de pontos existe em uma nuvem de pontos, é possível
27 / 72 evitar um aumento no número de fluxos de bits enquanto evita uma diminuição na eficiência de codificação. Por conseguinte, o dispositivo de codificação 100 pode evitar um aumento no número de instâncias necessárias para a decodificação. Ou seja, um aumento na carga do processo de decodificação pode ser evitado. Assim, um aumento no custo do decodificador pode ser evitado. Além disso, um aumento no tempo de processamento do processo de decodificação pode ser evitado. <Fluxo em um processo de codificação>
[00106] Em seguida, um exemplo de fluxo em um processo de codificação a ser realizado pelo dispositivo de codificação 100 é descrito, com referência ao fluxograma mostrado na figura 5.
[00107] Quando o processo de codificação é iniciado, a unidade de transformação de modelo 111 do dispositivo de codificação 100 executa um processo de transformação na etapa S101, para transformar e combinar uma pluralidade de modelos de nuvem de pontos incluídos em uma nuvem de pontos em um grupo. A unidade de transformação de modelo 111 também gera as informações de transformação em relação à transformação.
[00108] Na etapa S102, a unidade de separação de fragmentos 112 projeta (o grupo de) a pluralidade de modelos de nuvem de pontos combinados na etapa S101 em um plano bidimensional e separa os modelos de nuvem de pontos em fragmentos. Ao fazer isso, a unidade de separação de fragmentos 112 pode definir um plano de projeção para cada modelo de nuvem de pontos pelo método descrito acima em <Definição do plano de projeção do modelo de nuvem de pontos> e semelhantes, por exemplo. Desta maneira, a unidade de separação de fragmentos 112 pode projetar cada modelo de nuvem de pontos em planos de projeção mais apropriados. Assim, a diminuição da eficiência da codificação devido à ineficiência na projeção dos modelos de nuvem de pontos pode ser evitada (a eficiência da codificação pode ser aumentada).
28 / 72
[00109] A unidade de separação de fragmentos 112 também pode gerar informações do plano de projeção em relação à definição do plano de projeção pelo método descrito acima em <Sinal de Informações do Plano de Projeção> e semelhantes, por exemplo, e transmitir as informações do plano de projeção para o lado de decodificação. Como resultado, o lado da decodificação pode realizar a decodificação correta (reconstruir corretamente a nuvem de pontos).
[00110] A unidade de separação de fragmentos 112 também gera as informações de fragmento auxiliar em relação à separação.
[00111] Na etapa S103, a unidade de compressão de informação de fragmento auxiliar 114 comprime (codifica) a informação de fragmento auxiliar gerada na etapa S102.
[00112] Na etapa S104, a unidade de empacotamento 113 realiza um processo de empacotamento, para organizar os respectivos fragmentos da informação posicional e a informação de atributo gerada na etapa S102 em imagens bidimensionais e compactar os fragmentos como quadros de vídeo. A unidade de empacotamento 113 também gera as informações do modelo e o mapa de ocupação. A unidade de empacotamento 113 executa ainda um processo de dilatação no quadro de vídeo colorido. A unidade de empacotamento 113 também gera as informações de controle em relação a tal empacotamento.
[00113] Na etapa S105, a unidade de geração de informações de BB 119 realiza um processo de geração de informações de BB, para gerar as informações de BB contendo as informações de transformação geradas na etapa S101, as informações do modelo geradas na etapa S104 e semelhantes.
[00114] Na etapa S106, a unidade de codificação de vídeo 115 codifica o quadro de vídeo de geometria gerado na etapa S104, por um método de codificação para imagens bidimensionais. Ao fazer isso, a unidade de codificação de vídeo 115 codifica o quadro de vídeo de geometria, de acordo
29 / 72 com a definição da unidade de codificação que tem os respectivos fragmentos de modelo de nuvem de pontos dispostos na mesma na etapa S104 e podem ser decodificados de forma independente (definição de região de unidade de codificação). Ou seja, quando fatias ou quadrículos são definidos, por exemplo, o quadro de vídeo de geometria é codificado independentemente, fatia por fatia ou quadrículo por quadrículo.
[00115] Na etapa S107, a unidade de codificação de vídeo 116 codifica o quadro de vídeo colorido gerado na etapa S104, por um método de codificação para imagens bidimensionais. Ao fazer isso, a unidade de codificação de vídeo 116 codifica o quadro de vídeo colorido, de acordo com a definição da unidade de codificação que tem os respectivos fragmentos de modelo de nuvem de pontos dispostos na mesma na etapa S104 e pode ser decodificada independentemente (definição de região de unidade de codificação). Ou seja, quando fatias ou quadrículo são definidos, por exemplo, o quadro de vídeo colorido é codificado de forma independente, fatia por fatia ou quadrículo por quadrículo.
[00116] Na etapa S108, a unidade de codificação de OMap 117 codifica o mapa de ocupação gerado na etapa S104, por um método de codificação predeterminado.
[00117] Na etapa S109, o multiplexador 118 multiplexa os vários tipos de informações geradas conforme descrito acima (por exemplo, os dados codificados das informações de fragmento auxiliares geradas na etapa S103, as informações de controle em relação ao empacotamento geradas na etapa S104, as informações de BB geradas em etapa S105, os dados codificados do quadro de vídeo de geometria gerado na etapa S106, os dados codificados do quadro de vídeo colorido gerado na etapa S107, os dados codificados do mapa de ocupação gerado na etapa S108 e semelhantes), para gerar um fluxo de bits contendo esses pedaços de informações.
[00118] Na etapa S110, o multiplexador 118 emite o fluxo de bits
30 / 72 gerado na etapa S109, para o exterior do dispositivo de codificação 100.
[00119] Quando o processo na etapa S110 é concluído, o processo de codificação chega ao fim. <Fluxo no processo de transformação>
[00120] Em seguida, um exemplo de fluxo no processo de transformação a ser realizado na etapa S101 na figura 5 é descrito, com referência ao fluxograma mostrado na figura 6.
[00121] Quando o processo de transformação é iniciado, a unidade de transformação de modelo 111 realiza um processo de definição de caixa delimitadora na etapa S131, para definir uma caixa delimitadora para cada modelo de nuvem de pontos.
[00122] Na etapa S132, a unidade de transformação de modelo 111 transforma um parâmetro de cada caixa delimitadora (cada modelo de nuvem de pontos) definido na etapa S131. Por exemplo, a unidade de transformação de modelo 111 transforma um parâmetro, como deslocamento, giro, registro temporal, escala ou taxa de quadros, conforme descrito acima em <Transformação de Modelos de Nuvem de Pontos> e semelhantes. Ao fazer isso, a unidade de transformação de modelo 111 pode evitar um aumento no número de fluxos de bits, enquanto evita uma diminuição na eficiência de codificação, mesmo quando uma pluralidade de modelos de nuvem de pontos existe na nuvem de pontos. Assim, a unidade de transformação de modelo 111 pode evitar um aumento no número de instâncias necessárias para a decodificação. Ou seja, um aumento na carga do processo de decodificação pode ser evitado. Assim, um aumento no custo do decodificador pode ser evitado. Além disso, um aumento no tempo de processamento do processo de decodificação pode ser evitado.
[00123] Na etapa S133, a unidade de transformação de modelo 111 gera informações de transformação sobre o parâmetro de cada caixa delimitadora, conforme descrito acima em <Sinal de Informação de
31 / 72 Transformação> e semelhantes. Por exemplo, a unidade de transformação de modelo 111 gera informações de transformação indicando a razão, a diferença ou semelhante entre antes e depois da transformação. Ao fazer isso, a unidade de transformação de modelo 111 pode permitir que o lado de decodificação execute a transformação inversa correta.
[00124] Quando o processo na etapa S133 é concluído, o processo de transformação chega ao fim. <Fluxo no processo de definição da caixa delimitadora>
[00125] Em seguida, um fluxo de exemplo no processo de definição da caixa delimitadora a ser realizado na etapa S131 na figura 6 é descrito, com referência ao fluxograma mostrado na figura 7.
[00126] Quando o processo de definição da caixa delimitadora é iniciado, a unidade de transformação de modelo 111 deriva o vetor normal da porção de cada modelo de nuvem de pontos incluído na nuvem de pontos na etapa S141.
[00127] Na etapa S142, a unidade de transformação de modelo 111 define caixas delimitadoras de modo que aquela que tem uma grande distribuição na direção normal derivada na etapa S141 corresponda ao vetor de projeção ortogonal. Quando o processo na etapa S142 é concluído, o processo de definição da caixa delimitadora chega ao fim e o processo retorna à figura 6. <Fluxo no processo de empacotamento>
[00128] Em seguida, um exemplo de fluxo no processo de empacotamento a ser realizado na etapa S104 na figura 5 é descrito, com referência ao fluxograma mostrado na figura 8.
[00129] Quando o processo de empacotamento é iniciado, a unidade de empacotamento 113 define regiões de unidade de codificação de acordo com os modelos de nuvem de pontos na etapa S151, para alocar regiões de unidade de codificação diferentes para os respectivos modelos de nuvem de pontos.
32 / 72
[00130] Na etapa S152, para cada fragmento de cada modelo de nuvem de pontos, a unidade de empacotamento 113 procura uma posição ideal na região da unidade de codificação alocada para o modelo de nuvem de pontos na etapa S151 e coloca o fragmento na posição ideal.
[00131] Ou seja, a unidade de empacotamento 113 coloca os fragmentos pertencentes ao mesmo modelo de nuvem de pontos na mesma unidade de codificação independentemente decodificável, pelo método descrito acima em <Controle de arranjo de fragmento para cada modelo de nuvem de pontos> e semelhantes. Ao fazer isso, a unidade de empacotamento 113 gera um quadro de vídeo de geometria e um quadro de vídeo colorido. Como resultado, o lado da decodificação pode realizar a chamada “decodificação parcial” para reconstrução, decodificando apenas parcialmente os modelos de nuvem de pontos.
[00132] Na etapa S153, a unidade de empacotamento 113 gera as informações do modelo sobre a colocação do modelo de nuvem de pontos na etapa S152, pelo método descrito acima em <Sinal de Informações do Modelo>. Como resultado, o lado da decodificação pode realizar a chamada “decodificação parcial” para reconstrução, decodificando apenas parcialmente os modelos de nuvem de pontos.
[00133] Na etapa S154, a unidade de empacotamento 113 gera o mapa de ocupação.
[00134] Na etapa S155, a unidade de empacotamento 113 realiza um processo de dilatação no quadro de vídeo colorido.
[00135] Quando o processo na etapa S155 é concluído, o processo de empacotamento chega ao fim e o processo retorna à figura 5. <Fluxo no Processo de Geração de Informações de BB>
[00136] Em seguida, um exemplo de fluxo no processo de geração de informações de BB a ser realizado na etapa S105 na figura 5 é descrito, com referência ao fluxograma mostrado na figura 9.
33 / 72
[00137] Quando o processo de geração de informações de BB é iniciado, a unidade de geração de informações de BB 119 na etapa S161 adquire a informação de transformação gerada na etapa S133 na figura 6.
[00138] Na etapa S162, a unidade de geração de informações de BB 119 adquire as informações do modelo geradas na etapa S153 na figura 8.
[00139] Na etapa S163, a unidade de geração de informações de BB 119 gera as informações de BB contendo as informações de transformação e as informações do modelo. Esta informação de BB é multiplexada com os dados codificados e semelhantes pelo multiplexador 118 na etapa S109 (figura 5).
[00140] Quando o processo na etapa S163 é concluído, o processo de geração de informações de BB chega ao fim e o processo retorna à figura 5.
[00141] Como os respectivos processos são realizados da maneira acima, um aumento no número de fluxos de bits pode ser evitado e um aumento na carga do processo de decodificação pode ser evitado. <4. Segunda Modalidade> <Dispositivo de decodificação>
[00142] A figura 10 é um diagrama de blocos que mostra uma configuração de exemplo de um dispositivo de decodificação como uma modalidade de um aparelho de processamento de imagem ao qual a presente tecnologia é aplicada. Um dispositivo de decodificação 200 mostrado na figura 10 é um dispositivo (um dispositivo de decodificação ao qual a abordagem baseada em vídeo é aplicada) que decodifica, por um método de decodificação para imagens bidimensionais, dados codificados gerados através da projeção de dados 3D, como uma nuvem de pontos em um plano bidimensional e projeta os dados resultantes em um espaço tridimensional. Por exemplo, o dispositivo de decodificação 200 decodifica um fluxo de bits que o dispositivo de codificação 100 (figura 4) gerou ao codificar uma nuvem de pontos e reconstrói a nuvem de pontos.
34 / 72
[00143] Observe que a figura 10 mostra os principais componentes e aspectos, como unidades de processamento e o fluxo de dados, mas não necessariamente mostra todos os aspectos. Ou seja, no dispositivo de decodificação 200, pode haver uma unidade de processamento que não é mostrada como um bloco na figura 10, ou pode haver um processamento ou fluxo de dados que não é indicado por setas ou semelhantes na figura 10. Isso também se aplica aos outros desenhos para explicar as unidades de processamento e semelhantes no dispositivo de decodificação 200.
[00144] Como mostrado na figura 10, o dispositivo de decodificação 200 inclui um demultiplexador 211, uma unidade de decodificação de informações de fragmento auxiliar 212, uma unidade de seleção de modelo de nuvem de pontos 213, uma unidade de decodificação de vídeo 214, uma unidade de decodificação de vídeo 215, uma unidade de decodificação de OMap 216, uma unidade de desempacotamento 217 e uma unidade de reconstrução 3D 218.
[00145] O demultiplexador 211 executa um processo relacionado à demultiplexação de dados. Por exemplo, o demultiplexador 211 adquire uma entrada de fluxo de bits para o dispositivo de decodificação 200. Este fluxo de bits é fornecido a partir do dispositivo de codificação 100, por exemplo. O demultiplexador 211 demultiplexa este fluxo de bits, extrai os dados codificados das informações de fragmento auxiliar e fornece os dados codificados extraídos para a unidade de decodificação de informações de fragmento auxiliar 212. O demultiplexador 211 também extrai os dados codificados do quadro de vídeo de geometria do fluxo de bits através do demultiplexar e fornecer os dados codificados extraídos para a unidade de decodificação de vídeo 214. O demultiplexador 211 extrai ainda os dados codificados do quadro de vídeo colorido do fluxo de bits através da demultiplexação e fornece os dados codificados extraídos para a unidade de decodificação de vídeo 215. O demultiplexador 211 também extrai os dados
35 / 72 codificados do mapa de ocupação do fluxo de bits por meio da demultiplexação e fornece os dados codificados extraídos para a unidade de decodificação de OMap 216. O demultiplexador 211 extrai ainda as informações de controle sobre o empacotamento do fluxo de bits por meio da demultiplexação e fornece as informações de controle extraídas para a unidade de desempacotamento 217. O demultiplexador 211 também extrai as informações de BB do fluxo de bits por meio da demultiplexação e fornece as informações de BB extraídas para a unidade de seleção de modelo de nuvem de pontos 213 e a unidade de reconstrução 3D 218.
[00146] A unidade de decodificação de informações de fragmento auxiliar 212 realiza um processo relacionado à decodificação dos dados codificados das informações de fragmento auxiliar. Por exemplo, a unidade de decodificação de informações de fragmento auxiliar 212 adquire os dados codificados da informação de fragmento auxiliar fornecida a partir do demultiplexador 211. A unidade de decodificação de informações de fragmento auxiliar 212 também decodifica (expande) os dados codificados das informações de fragmento auxiliar incluídos nos dados adquiridos. A unidade de decodificação de informações de fragmento auxiliar 212 fornece as informações de fragmento auxiliar obtidas através da decodificação para a unidade de reconstrução 3D 218.
[00147] A unidade de seleção de modelo de nuvem de pontos 213 executa um processo relacionado à seleção de um modelo de nuvem de pontos a ser parcialmente decodificado. Por exemplo, a unidade de seleção de modelo de nuvem de pontos 213 adquire as informações de BB do demultiplexador 211. A unidade de seleção de modelo de nuvem de pontos 213 também recebe uma entrada de designação de modelo de nuvem de pontos pelo usuário ou semelhante, com base nas informações de modelo contidas em as informações de BB. Por exemplo, a unidade de seleção de modelo de nuvem de pontos 213 apresenta os modelos de nuvem de pontos
36 / 72 contidos nas informações do modelo como opções para o usuário ou semelhante, e faz com que o usuário ou semelhante selecione o modelo de nuvem de pontos a ser decodificado. A unidade de seleção de modelo de nuvem de pontos 213 fornece a unidade de decodificação de vídeo 214, a unidade de decodificação de vídeo 215 e a unidade de decodificação de OMap 216 com informações que designam a região (uma unidade de codificação independentemente decodificável) correspondente ao modelo de nuvem de pontos selecionado (os fragmentos de o modelo de nuvem de pontos selecionado é colocado na região).
[00148] A unidade de decodificação de vídeo 214 executa um processo relacionado à decodificação dos dados codificados do quadro de vídeo de geometria. Por exemplo, a unidade de decodificação de vídeo 214 adquire os dados codificados do quadro de vídeo de geometria fornecido a partir do demultiplexador 211. A unidade de decodificação de vídeo 214 decodifica os dados codificados do quadro de vídeo de geometria por um método de decodificação apropriado para imagens bidimensionais, como AVC ou HEVC, por exemplo.
[00149] Observe que a unidade de decodificação de vídeo 214 pode decodificar parcialmente a região (a unidade de codificação independentemente decodificável) designada pela unidade de seleção de modelo de nuvem de pontos 213. Por exemplo, quando a região a ser decodificada é designada pela unidade de seleção de modelo de nuvem de pontos 213, a unidade de decodificação de vídeo 214 decodifica a região designada nos dados codificados do quadro de vídeo de geometria por um método de decodificação apropriado para imagens bidimensionais, como AVC ou HEVC, por exemplo. Por exemplo, a unidade de decodificação de vídeo 214 decodifica o quadro, fatia, quadrículo ou semelhante designado pela unidade de seleção de modelo de nuvem de pontos 213 nos dados codificados do quadro de vídeo de geometria.
37 / 72
[00150] Da maneira acima, a unidade de decodificação de vídeo 214 pode decodificar parcialmente o quadro de vídeo de geometria. A unidade de decodificação de vídeo 214 fornece o quadro de vídeo de geometria (ou uma região nele) obtido por meio da decodificação, para a unidade de desempacotamento 217.
[00151] A unidade de decodificação de vídeo 215 realiza um processo relacionado à decodificação dos dados codificados do quadro de vídeo colorido. Por exemplo, a unidade de decodificação de vídeo 215 adquire os dados codificados do quadro de vídeo colorido fornecido a partir do demultiplexador 211. A unidade de decodificação de vídeo 215 decodifica os dados codificados do quadro de vídeo colorido por um método de decodificação apropriado para imagens bidimensionais, como AVC ou HEVC, por exemplo.
[00152] Observe que a unidade de decodificação de vídeo 215 pode decodificar parcialmente a região (a unidade de codificação independentemente decodificável) designada pela unidade de seleção de modelo de nuvem de pontos 213. Por exemplo, quando a região a ser decodificada é designada pela unidade de seleção de modelo de nuvem de pontos 213, a unidade de decodificação de vídeo 215 decodifica a região designada nos dados codificados do quadro de vídeo colorido por um método de decodificação apropriado para imagens bidimensionais, como AVC ou HEVC, por exemplo. Por exemplo, a unidade de decodificação de vídeo 215 decodifica o quadro, fatia, quadrículo ou semelhantes designados pela unidade de seleção de modelo de nuvem de pontos 213 nos dados codificados do quadro de vídeo colorido.
[00153] Da maneira acima, a unidade de decodificação de vídeo 215 pode decodificar parcialmente o quadro de vídeo colorido. A unidade de decodificação de vídeo 215 fornece o quadro de vídeo colorido (ou uma região nele) obtido por meio da decodificação, para a unidade de
38 / 72 desempacotamento 217.
[00154] A unidade de decodificação de OMap 216 realiza um processo relacionado à decodificação dos dados codificados do mapa de ocupação. Por exemplo, a unidade de decodificação de OMap 216 adquire os dados codificados do mapa de ocupação fornecido a partir do demultiplexador 211. A unidade de decodificação de OMap 216 decodifica os dados codificados do mapa de ocupação por um método de decodificação apropriado compatível com o método de codificação.
[00155] Observe que a unidade de decodificação de OMap 216 pode decodificar parcialmente a região (uma unidade de codificação independentemente decodificável) designada pela unidade de seleção de modelo de nuvem de pontos 213. Por exemplo, quando a região a ser decodificada é designada pela unidade de seleção de modelo de nuvem de pontos 213, a unidade de decodificação de OMap 216 decodifica a região designada nos dados codificados do mapa de ocupação por um método de decodificação apropriado compatível com o método de codificação. Por exemplo, a unidade de decodificação de OMap 216 decodifica o quadro, fatia, quadrículo ou semelhante designado pela unidade de seleção de modelo de nuvem de pontos 213 nos dados codificados do mapa de ocupação.
[00156] Da maneira acima, a unidade de decodificação de OMap 216 pode decodificar parcialmente o mapa de ocupação. A unidade de decodificação de OMap 216 fornece o mapa de ocupação (ou uma região nele) obtido por meio da decodificação, para a unidade de desempacotamento
217.
[00157] A unidade de desempacotamento 217 realiza um processo relacionado ao desempacotamento. Por exemplo, a unidade de desempacotamento 217 adquire o quadro de vídeo de geometria da unidade de decodificação de vídeo 214, o quadro de vídeo colorido da unidade de decodificação de vídeo 215 e o mapa de ocupação da unidade de
39 / 72 decodificação de OMap 216. A unidade de desempacotamento 217 também desempacota o vídeo de geometria quadro e quadro de vídeo colorido, com base nas informações de controle sobre a empacotamento. A unidade de desempacotamento 217 fornece a unidade de reconstrução 3D 218 com os dados (fragmento de geometria ou semelhantes) das informações posicionais (geometria), os dados (fragmento de textura ou semelhantes) das informações de atributo (textura), o mapa de ocupação e semelhantes, que foram obtidos pela unidade de desempacotamento 217 realizando o desempacotamento.
[00158] A unidade de reconstrução 3D 218 realiza um processo relacionado à reconstrução da nuvem de pontos. Por exemplo, a unidade de reconstrução 3D 218 reconstrói a nuvem de pontos, com base nas informações de BB fornecidas a partir do demultiplexador 211, as informações de fragmento auxiliar fornecidas a partir da unidade de decodificação de informações de fragmento auxiliar 212 e os dados (fragmentos de geometria ou semelhantes) das informações posicionais (geometria), os dados (fragmento de textura ou semelhantes) das informações de atributo (textura), o mapa de ocupação e semelhantes fornecidos a partir da unidade de desempacotamento 217.
[00159] Por exemplo, com base nas informações do plano de projeção, a unidade de reconstrução 3D 218 identifica os planos de projeção correspondentes aos respectivos modelos de nuvem de pontos no grupo e reconstrói a nuvem de pontos a partir dos fragmentos e semelhantes usando os planos de projeção. Por conseguinte, o dispositivo de decodificação 200 pode projetar cada modelo de nuvem de pontos em planos de projeção mais apropriados. Assim, uma diminuição na eficiência da codificação devido à ineficiência na projeção dos modelos de nuvem de pontos pode ser evitada (a eficiência da codificação pode ser aumentada).
[00160] A unidade de reconstrução 3D 218 também pode transformar inversamente os modelos de nuvem de pontos reconstruídos, usando as
40 / 72 informações de transformação contidas nas informações de BB, por exemplo. Assim, a unidade de reconstrução 3D 218 pode realizar a transformação inversa de modo a lidar corretamente com o processo de transformação realizado no lado da codificação.
[00161] A unidade de reconstrução 3D 218 emite a nuvem de pontos reconstruída para o exterior do dispositivo de decodificação 200. Esta nuvem de pontos é fornecida a uma unidade de exibição e é transformada em uma imagem, por exemplo. A imagem é então exibida, gravada em uma mídia de gravação ou fornecida a outro dispositivo por meio de comunicação.
[00162] Com tal definição, o dispositivo de decodificação 200 pode decodificar corretamente uma pluralidade de modelos de nuvem de pontos agrupada em um fluxo de bits. Por conseguinte, mesmo quando uma pluralidade de modelos de nuvem de pontos existe em uma nuvem de pontos, o dispositivo de decodificação 200 pode evitar um aumento no número de fluxos de bits, enquanto evita uma diminuição na eficiência de codificação. Assim, o dispositivo de decodificação 200 pode evitar um aumento no número de instâncias necessárias para si mesmo. Ou seja, um aumento na carga do processo de decodificação pode ser evitado. Assim, um aumento no custo do decodificador pode ser evitado. Além disso, um aumento no tempo de processamento do processo de decodificação pode ser evitado. <Fluxo em um processo de decodificação>
[00163] Em seguida, um exemplo de fluxo em um processo de decodificação a ser realizado pelo dispositivo de decodificação 200 é descrito, com referência ao fluxograma mostrado na figura 11.
[00164] Quando o processo de decodificação é iniciado, o demultiplexador 211 do dispositivo de decodificação 200 demultiplexa um fluxo de bits na etapa S201.
[00165] Na etapa S202, a unidade de decodificação de informações de fragmento auxiliar 212 decodifica as informações de fragmento auxiliar
41 / 72 extraídas do fluxo de bits na etapa S201.
[00166] Na etapa S203, a unidade de seleção de modelo de nuvem de pontos 213 recebe uma designação do modelo de nuvem de pontos a ser decodificado.
[00167] Na etapa S204, com base nas informações de BB, a unidade de seleção de modelo de nuvem de pontos 213 seleciona a unidade de codificação que corresponde à designação recebida do modelo de nuvem de pontos e é independentemente decodificável (que é a unidade de codificação que tem os fragmentos do modelo de nuvem de pontos designado colocado nele e é independentemente decodificável).
[00168] Observe que, quando a decodificação parcial não é realizada, ou quando todo o quadro de vídeo é decodificado, os processos nas etapas S203 e S204 podem ser ignorados.
[00169] Na etapa S205, a unidade de decodificação de vídeo 214 decodifica os dados codificados do quadro de vídeo de geometria (o quadro de vídeo da informação posicional) extraídos do fluxo de bits na etapa S201.
[00170] Observe que, quando a decodificação parcial é realizada, ou quando uma designação do modelo de nuvem de pontos a ser decodificado é recebida na etapa S203, e a unidade de codificação a ser decodificada é selecionada na etapa S204, a unidade de decodificação de vídeo 214 decodifica a unidade de codificação (como um quadro, uma fatia ou um quadrículo, por exemplo) selecionada na etapa S204 no quadro de vídeo de geometria.
[00171] Na etapa S206, a unidade de decodificação de vídeo 215 decodifica os dados codificados do quadro de vídeo colorido (o quadro de vídeo das informações de atributo) extraídos do fluxo de bits na etapa S201.
[00172] Observe que, quando a decodificação parcial é realizada, a unidade de decodificação de vídeo 215 decodifica a unidade de codificação (como um quadro, uma fatia ou um quadrículo, por exemplo) selecionada na
42 / 72 etapa S204 no quadro de vídeo colorido.
[00173] Na etapa S207, a unidade de decodificação de OMap 216 decodifica os dados codificados do mapa de ocupação extraídos do fluxo de bits na etapa S201.
[00174] Observe que, quando a decodificação parcial é realizada, a unidade de decodificação de OMap 216 decodifica a unidade de codificação (como um quadro, uma fatia ou um quadrículo, por exemplo) selecionada na etapa S204 no mapa de ocupação.
[00175] Na etapa S208, a unidade de desempacotamento 217 realiza o desempacotamento. Por exemplo, a unidade de desempacotamento 217 desempacota o quadro de vídeo de geometria obtido a partir dos dados codificados decodificados na etapa S205, para gerar fragmentos de geometria. A unidade de desempacotamento 217 também desempacota o quadro de vídeo colorido obtido a partir dos dados codificados decodificados na etapa S206, para gerar fragmento de textura. A unidade de desempacotamento 217 descompacta ainda o mapa de ocupação obtido a partir dos dados codificados decodificados na etapa S207, para extrair o mapa de ocupação associado aos fragmentos de geometria e aos fragmentos de textura.
[00176] Na etapa S209, a unidade de reconstrução 3D 218 reconstrói a nuvem de pontos (cada modelo de nuvem de pontos), com base nas informações de fragmento auxiliar obtidas na etapa S202, e os fragmentos de geometria, os fragmentos de textura, o mapa de ocupação e semelhantes obtidos na etapa S208.
[00177] Na etapa S210, com base nas informações de transformação contidas nas informações de BB, a unidade de reconstrução 3D 218 realiza um processo de transformação inversa em cada modelo de nuvem de pontos reconstruído, o processo de transformação inversa sendo o processo inverso do processo de transformação realizado pela codificação lado.
[00178] Quando o processo na etapa S210 é concluído, o processo de
43 / 72 decodificação chega ao fim.
[00179] Ao realizar os respectivos processos da maneira acima, o dispositivo de decodificação 200 pode evitar um aumento no número de fluxos de bits e um aumento na carga do processo de decodificação. <5. Controle de plano de projeção local>
[00180] Quando um modelo de nuvem de pontos tem uma porção na qual os pontos são esparsos, o plano de projeção definido para todo o modelo de nuvem de pontos não é necessariamente a direção de projeção ideal para uma porção densa de pontos incluída no modelo de nuvem de pontos (como uma porção densa de pontos também é chamado de modelo parcial de nuvem de pontos). Ou seja, existe a possibilidade de um modelo parcial de nuvem de pontos ser projetado em uma direção ineficiente, levando a uma diminuição na eficiência da codificação. <Controle local em planos de projeção>
[00181] Portanto, como mostrado na primeira linha a partir do topo em uma tabela na figura 12, o plano de projeção de um modelo de nuvem de pontos pode ser controlado localmente. Por exemplo, como mostrado na segunda linha a partir do topo da tabela na figura 12, um modelo de nuvem de pontos incluindo uma porção na qual os pontos são esparsos pode ser dividido em uma pluralidade de modelos parciais de nuvem de pontos e um plano de projeção pode ser definido para cada um dos modelos parciais de nuvem de pontos.
[00182] Qualquer método apropriado pode ser adotado para dividir o modelo de projeção. Por exemplo, como mostrado na tabela na figura 12, nuvens de pontos densos incluídas no modelo de nuvem de pontos podem ser separadas umas das outras para formar modelos parciais de nuvem de pontos.
[00183] Por exemplo, como mostrado no lado esquerdo na figura 13, o modelo de nuvem de pontos correspondente a uma caixa delimitadora 312 inclui uma porção em que os pontos são esparsos e também inclui um modelo
44 / 72 parcial de nuvem de pontos 311-1 e um modelo parcial de nuvem de pontos311-2 em que os pontos são densos. Nesse caso, o modelo parcial de nuvem de pontos 311-1 e o modelo parcial de nuvem de pontos311-2 são divididos e os planos de projeção são definidos independentemente para cada modelo parcial de nuvem de pontos. Por exemplo, como mostrado na segunda coluna da esquerda na figura 13, os planos de projeção 313-1 em seis direções ortogonais ao modelo parcial de nuvem de pontos 311-1 são definidos e os planos de projeção 313-2 em seis direções ortogonais ao modelo parcial de nuvem de pontos 311-2 são definidos. A projeção é então realizada nos planos de projeção e os fragmentos são gerados e colocados em imagens bidimensionais. Desta forma, um quadro de vídeo colorido (Textura) 314, um quadro de vídeo de geometria (Profundidade) 315 e um mapa de ocupação (Mapa de Ocupação) 315 são gerados como mostrado na terceira coluna à esquerda na figura 13. Esses são então codificado, e um fluxo de bits 2D 317 e um mapa de ocupação 318 são gerados. No momento da decodificação, são realizados os processos inversos das mesmas.
[00184] Como os planos de projeção podem ser definidos para cada modelo parcial de nuvem de pontos desta maneira, cada modelo parcial de nuvem de pontos pode ser projetado em planos de projeção mais apropriados. Consequentemente, uma diminuição na eficiência da codificação devido à ineficiência na projeção dos modelos de nuvem de pontos pode ser evitada (a eficiência da codificação pode ser aumentada).
[00185] Por exemplo, como mostrado na tabela na figura 12, os planos de projeção nas seis direções ortogonais de cada modelo parcial de nuvem de pontos podem ser girados. Desta forma, os planos de projeção podem ser relativamente facilmente tornados mais adequados para os modelos parciais de nuvem de pontos (ou podem ser transformados em planos nos quais a projeção eficaz pode ser realizada).
[00186] Além disso, como mostrado na tabela na figura 12, por
45 / 72 exemplo, qualquer plano de projeção pode ser definido (adicionado). Com este arranjo, o grau de liberdade dos planos de projeção dos respectivos modelos parciais de nuvem de pontos pode ser aumentado e uma projeção mais eficiente pode ser esperada (ou um aumento adicional na eficiência de codificação pode ser esperado). <Sinal de Informação do Plano de Projeção>
[00187] Observe que, quando um plano de projeção é definido para cada modelo parcial de nuvem de pontos desta maneira (quando um plano de projeção para um modelo de nuvem de pontos inteiro não está definido), as informações sobre os planos de projeção também são necessárias no momento da decodificação (quando a nuvem de pontos é reconstruída). Portanto, como mostrado na segunda linha a partir do topo da tabela na figura 12, a informação do plano de projeção que é a informação sobre os planos de projeção definidos como descrito acima é gerada e é então transmitida para o lado de decodificação (sinalização do plano de projeção em formação).
[00188] Por exemplo, quando os planos de projeção (os planos de projeção 313-1 e os planos de projeção 313-2) são definidos para os respectivos modelos parciais de nuvem de pontos, conforme mostrado na segunda coluna da esquerda na figura 13, a informação do plano de projeção 321 é gerada para esses planos de projeção.
[00189] Esta informação de plano de projeção pode conter qualquer informação que seja necessária para identificar os planos de projeção, como mostrado na tabela da figura 12, por exemplo. No caso ilustrado na figura 13, por exemplo, a informação do plano de projeção 321 contém informação (Girar x/y/z) indicando as quantidades de giro dos planos de projeção e semelhantes. Além disso, a informação do plano de projeção 321 pode, é claro, conter informações (Deslocar x/y/z) indicando as quantidades de deslocamento dos planos de projeção nas seis direções ortogonais, informações indicando as quantidades de mudança na escala (Escala x/y/z), e
46 / 72 semelhantes, por exemplo. As informações do plano de projeção 321 podem conter ainda informações que indicam um plano de projeção que é adicionado conforme desejado, por exemplo.
[00190] Além disso, como mostrado na tabela da figura 12, por exemplo, esta informação do plano de projeção pode ser armazenada no mapa de ocupação. Por exemplo, no caso ilustrado na figura 13, a informação do plano de projeção 321 é armazenada no mapa de ocupação 316 (que é o mapa de ocupação 318). No momento da codificação, esta informação do plano de projeção 321 é gerada e armazenada no mapa de ocupação 16. No momento da decodificação, a informação do plano de projeção 321 é lida a partir do mapa de ocupação 316 e é usada para reconstruir a nuvem de pontos. <6. Terceira Modalidade> <Dispositivo de codificação>
[00191] A seguir, uma definição para realizar as técnicas acima é descrita. A figura 14 é um diagrama de blocos que mostra uma configuração de exemplo de um dispositivo de codificação como uma modalidade de um aparelho de processamento de imagem ao qual a presente tecnologia é aplicada. Um dispositivo de codificação 400 mostrado na figura 14 é um dispositivo semelhante ao dispositivo de codificação 100 (figura 4) e é um dispositivo que projeta dados 3D, como uma nuvem de pontos em um plano bidimensional e executa a codificação por um método de codificação para imagens bidimensionais (um dispositivo de codificação ao qual a abordagem baseada em vídeo é aplicada).
[00192] Observe que a figura 14 mostra os componentes e aspectos principais, como unidades de processamento e o fluxo de dados, mas não mostra necessariamente todos os aspectos. Ou seja, no dispositivo de codificação 400, pode haver uma unidade de processamento que não é mostrada como um bloco na figura 14, ou pode haver um processamento ou fluxo de dados que não é indicado por setas ou semelhantes na figura 14. Isso
47 / 72 também se aplica aos outros desenhos para explicar as unidades de processamento e semelhantes no dispositivo de codificação 400.
[00193] Como mostrado na figura 14, o dispositivo de codificação 400 inclui uma unidade de separação de fragmentos 411, uma unidade de empacotamento 412, uma unidade de compressão de informação de fragmento auxiliar 413, uma unidade de codificação de vídeo 414, uma unidade de codificação de vídeo 415, uma unidade de codificação de OMap 416 e um multiplexador 417.
[00194] A unidade de separação de fragmentos 411 realiza um processo relacionado à separação de dados 3D. Por exemplo, a unidade de separação de fragmentos 411 adquire uma nuvem de pontos que é entrada para o dispositivo de codificação 400. A unidade de separação de fragmentos 411 também separa a nuvem de pontos adquirida em uma pluralidade de segmentações, projeta a nuvem de pontos em um plano bidimensional para cada segmentação, e gera fragmentos de informações posicionais e fragmentos de informações de atributos. A unidade de separação de fragmentos 411 fornece informações sobre cada um dos fragmentos gerados para a unidade de empacotamento 412. A unidade de separação de fragmentos 411 também fornece informações de fragmento auxiliar, que são informações sobre a separação, para a unidade de compressão de informação de fragmento auxiliar 413.
[00195] A unidade de empacotamento 412 executa um processo relacionado à empacotamento de dados. Por exemplo, a unidade de empacotamento 412 adquire, a partir da unidade de separação de fragmentos 411, informações sobre os fragmentos de informação posicional (geometria) indicando as posições dos pontos, e informações sobre os fragmentos de informações de atributo (textura), tais como informações de cor a serem adicionadas às informações de posição.
[00196] A unidade de empacotamento 412 também coloca cada um dos
48 / 72 fragmentos adquiridos em uma imagem bidimensional, para compactar os fragmentos como um quadro de vídeo. Por exemplo, a unidade de empacotamento 412 organiza os fragmentos de informação posicional em uma imagem bidimensional, para compactar os fragmentos como um quadro de vídeo de geometria. A unidade de empacotamento 412 também organiza os fragmentos de informações de atributo em uma imagem bidimensional, para empacotar os fragmentos como um quadro de vídeo colorido, por exemplo. A unidade de empacotamento 412 também gera um mapa de ocupação associado a esses quadros de vídeo. A unidade de empacotamento 412 realiza ainda um processo de dilatação no quadro de vídeo colorido.
[00197] A unidade de empacotamento 412 fornece o quadro de vídeo de geometria gerado desta maneira para a unidade de codificação de vídeo
414. A unidade de empacotamento 412 também fornece o quadro de vídeo colorido gerado desta maneira para a unidade de codificação de vídeo 415. A unidade de empacotamento 412 fornece ainda o mapa de ocupação gerado desta maneira para a unidade de codificação de OMap 416. A unidade de empacotamento 412 também fornece informações de controle em relação a tal empacotamento para o multiplexador 417.
[00198] A unidade de compressão de informações de fragmento auxiliar 413 realiza um processo relacionado à compressão das informações de fragmento auxiliar. Por exemplo, a unidade de compressão de informação de fragmento auxiliar 413 adquire dados fornecidos a partir da unidade de separação de fragmentos 411. A unidade de compressão de informação de fragmento auxiliar 413 codifica (comprime) a informação de fragmento auxiliar incluída nos dados adquiridos. A unidade de compressão de informação de fragmento auxiliar 413 fornece os dados codificados resultantes das informações de fragmento auxiliar para o multiplexador 417.
[00199] A unidade de codificação de vídeo 414 realiza um processo relacionado à codificação do quadro de vídeo de informação posicional
49 / 72 (geometria). Por exemplo, a unidade de codificação de vídeo 414 adquire o quadro de vídeo de geometria fornecido a partir da unidade de empacotamento 412. A unidade de codificação de vídeo 414 também codifica o quadro de vídeo de geometria adquirido por um método de codificação apropriado para imagens bidimensionais, como AVC ou HEVC, para exemplo. A unidade de codificação de vídeo 414 fornece os dados codificados obtidos pela codificação (dados codificados do quadro de vídeo de geometria) para o multiplexador 417.
[00200] A unidade de codificação de vídeo 415 realiza um processo relacionado à codificação do quadro de vídeo de informações de atributo (textura). Por exemplo, a unidade de codificação de vídeo 415 adquire o quadro de vídeo colorido fornecido da unidade de empacotamento 412. A unidade de codificação de vídeo 415 também codifica o quadro de vídeo colorido adquirido por um método de codificação apropriado para imagens bidimensionais, como AVC ou HEVC, para exemplo. A unidade de codificação de vídeo 415 fornece os dados codificados obtidos pela codificação (dados codificados do quadro de vídeo colorido) para o multiplexador 417.
[00201] A unidade de codificação de OMap 416 realiza um processo relacionado à codificação do mapa de ocupação. Por exemplo, a unidade de codificação de OMap 416 adquire o mapa de ocupação fornecido a partir da unidade de empacotamento 412. A unidade de codificação de OMap 416 também codifica o mapa de ocupação adquirido por um método de codificação apropriado, tal como codificação aritmética, por exemplo. A unidade de codificação de OMap 416 fornece os dados codificados obtidos pela codificação (os dados codificados do mapa de ocupação) para o multiplexador 417.
[00202] O multiplexador 417 executa um processo relacionado à multiplexação. Por exemplo, o multiplexador 417 adquire os dados
50 / 72 codificados da informação do fragmento auxiliar fornecida a partir da unidade de compressão de informação de fragmento auxiliar 413. O multiplexador 417 também adquire as informações de controle sobre o empacotamento fornecido pela unidade de empacotamento 412. O multiplexador 417 adquire ainda os dados codificados do quadro de vídeo de geometria fornecido a partir da unidade de codificação de vídeo 414. O multiplexador 417 também adquire os dados codificados do quadro de vídeo colorido fornecido a partir da unidade de codificação de vídeo 415. O multiplexador 417 adquire ainda os dados codificados do mapa de ocupação fornecido a partir da unidade de codificação de OMap 416.
[00203] O multiplexador 417 multiplexa esses pedaços de informações adquiridos para gerar um fluxo de bits (fluxo de bits). O multiplexador 417 emite o fluxo de bits gerado para o exterior do dispositivo de codificação 400. <Unidade de separação de fragmentos>
[00204] A figura 15 é um diagrama de blocos que mostra um exemplo de configuração típica da unidade de separação de fragmentos 411 mostrada na figura 14. Como mostrado na figura 15, a unidade de separação de fragmentos 411 inclui uma unidade de divisão de modelo 431, uma unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432, uma unidade de geração de informações do plano de projeção 433, uma unidade de projeção de modelo parcial de nuvem de pontos 434 e uma unidade de adição de informações do plano de projeção 435.
[00205] A unidade de divisão de modelo 431 executa um processo relacionado à divisão de um modelo de nuvem de pontos. Por exemplo, a unidade de divisão de modelo 431 adquire (modelos de nuvem de pontos) de uma nuvem de pontos que é entrada para o dispositivo de codificação 400. A unidade de divisão de modelo 431 também define uma porção densa de pontos incluída no modelo de nuvem de pontos como uma nuvem de pontos parcial modelo e divide o modelo de nuvem de pontos em tais modelos
51 / 72 parciais de nuvem de pontos, pelo método descrito acima em <Controle Local em Planos de Projeção> em <5. Controle de plano de projeção local> e semelhantes, por exemplo. A unidade de divisão de modelo 431 fornece informações sobre cada um dos modelos parciais de nuvem de pontos definido para a unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432.
[00206] A unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432 executa um processo relacionado à definição do plano de projeção para cada modelo parcial de nuvem de pontos. Por exemplo, a unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432 adquire as informações sobre os modelos parciais de nuvem de pontos fornecidos a partir da unidade de divisão de modelo 431. A unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432 também define planos de projeção para a respectiva nuvem de pontos parcial modelos pelo método descrito em <Controle local em planos de projeção> em <5. Controle de plano de projeção local> e semelhantes, por exemplo. A unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432 fornece informações sobre os planos de projeção dos respectivos modelos parciais de nuvem de pontos que foram definidos desta maneira, para a unidade de geração de informações do plano de projeção 433 e a unidade de projeção de modelo parcial de nuvem de pontos 434.
[00207] A unidade de geração de informações do plano de projeção 433 realiza um processo relacionado à geração de informações do plano de projeção. Por exemplo, a unidade de geração de informações do plano de projeção 433 adquire as informações sobre os planos de projeção definidos para os respectivos modelos parciais de nuvem de pontos, que é fornecida a partir da unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432. A unidade de geração de informações do plano de projeção 433 também gera informações do plano de projeção sobre cada
52 / 72 plano de projeção pelo método descrito acima em <Sinal de Informações do Plano de Projeção> em <5. Controle de plano de projeção local> e semelhantes, por exemplo. A unidade de geração de informações do plano de projeção 433 fornece as informações de plano de projeção geradas para a unidade de adição de informações do plano de projeção 435.
[00208] A unidade de projeção de modelo parcial de nuvem de pontos 434 realiza um processo relacionado à projeção de cada modelo parcial de nuvem de pontos. Por exemplo, a unidade de projeção de modelo parcial de nuvem de pontos 434 adquire as informações sobre os planos de projeção definidos para os respectivos modelos parciais de nuvem de pontos, que é fornecida a partir da unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432. Usando as informações adquiridas em relação aos planos de projeção, a unidade de projeção de modelo parcial de nuvem de pontos 434 também projeta cada modelo parcial de nuvem de pontos no plano de projeção para cada pequena região, pelo método descrito acima em <Controle Local em Planos de Projeção> em <5. Controle de plano de projeção local> e semelhantes, por exemplo. Ao fazer isso, a unidade de projeção de modelo parcial de nuvem de pontos434 gera fragmentos. A unidade de projeção de modelo parcial de nuvem de pontos434 fornece os fragmentos gerados para a unidade de adição de informações do plano de projeção 435.
[00209] A unidade de adição de informações do plano de projeção 435 realiza um processo relacionado à adição das informações do plano de projeção. Por exemplo, a unidade de adição de informações do plano de projeção 435 adquire as informações de plano de projeção fornecidas a partir da unidade de geração de informações do plano de projeção 433. A unidade de adição de informações do plano de projeção 435 também adquire os fragmentos e semelhantes fornecidos a partir da unidade de projeção de modelo parcial de nuvem de pontos434. Pelo método descrito acima em
53 / 72 <Sinal de Informação do Plano de Projeção> em <5. Controle de plano de projeção local> e semelhantes, por exemplo, a unidade de adição de informações do plano de projeção 435 adiciona as informações de plano de projeção em relação aos planos de projeção usados para gerar os fragmentos, aos fragmentos adquiridos da unidade de projeção de modelo parcial de nuvem de pontos 434. A projeção A unidade de adição de informações do plano de projeção 435 também fornece os fragmentos tendo a informação de plano de projeção adicionada aos mesmos, para a unidade de empacotamento
412. Observe que a unidade de empacotamento 412 armazena a informação de plano de projeção adicionada aos fragmentos no mapa de ocupação.
[00210] Com tal definição, o dispositivo de codificação 400 pode definir planos de projeção independentemente dos outros para cada um da pluralidade de modelos parciais de nuvem de pontos de uma nuvem de pontos e realizar projeção. Como resultado, cada modelo parcial de nuvem de pontos pode ser projetado em planos de projeção mais apropriados. Consequentemente, uma diminuição na eficiência da codificação devido à ineficiência na projeção dos modelos de nuvem de pontos pode ser evitada (a eficiência da codificação pode ser aumentada). <Fluxo em um processo de codificação>
[00211] Em seguida, um exemplo de fluxo em um processo de codificação a ser realizado pelo dispositivo de codificação 400 é descrito, com referência ao fluxograma mostrado na figura 16.
[00212] Quando o processo de codificação é iniciado, a unidade de separação de fragmentos 411 do dispositivo de codificação 400 realiza um processo de separação de fragmento na etapa S401, para separar um modelo de nuvem de pontos em fragmentos. A unidade de separação de fragmentos 112 também gera as informações de fragmento auxiliar em relação à separação.
[00213] Na etapa S402, a unidade de compressão de informação de
54 / 72 fragmento auxiliar 413 comprime (codifica) a informação de fragmento auxiliar gerada na etapa S401.
[00214] Na etapa S403, a unidade de empacotamento 412 realiza um processo de empacotamento, para organizar os respectivos fragmentos da informação posicional e a informação de atributo gerada na etapa S401 em imagens bidimensionais e compactar os fragmentos como quadros de vídeo. A unidade de empacotamento 412 também gera as informações do modelo e o mapa de ocupação. A unidade de empacotamento 412 realiza ainda um processo de dilatação no quadro de vídeo colorido. A unidade de empacotamento 412 também gera as informações de controle em relação a tal empacotamento.
[00215] Na etapa S404, a unidade de codificação de vídeo 414 codifica o quadro de vídeo de geometria gerado na etapa S403, por um método de codificação para imagens bidimensionais.
[00216] Na etapa S405, a unidade de codificação de vídeo 415 codifica o quadro de vídeo colorido gerado na etapa S403, por um método de codificação para imagens bidimensionais.
[00217] Na etapa S406, a unidade de codificação de OMap 416 codifica o mapa de ocupação gerado na etapa S403, por um método de codificação predeterminado.
[00218] Na etapa S407, o multiplexador 417 multiplexa os vários tipos de informações geradas conforme descrito acima (por exemplo, os dados codificados das informações de fragmento auxiliares geradas na etapa S402, as informações de controle relacionadas ao empacotamento geradas na etapa S403, os dados codificados quadro de vídeo de geometria gerado na etapa S404, os dados codificados do quadro de vídeo colorido gerado na etapa S405, os dados codificados do mapa de ocupação gerado na etapa S406 e semelhantes), para gerar um fluxo de bits contendo esses pedaços de informações.
55 / 72
[00219] Na etapa S408, o multiplexador 417 emite o fluxo de bits gerado na etapa S407, para o exterior do dispositivo de codificação 400.
[00220] Quando o processo na etapa S408 é concluído, o processo de codificação chega ao fim. <Fluxo do processo de separação do fragmento>
[00221] Em seguida, um exemplo de fluxo no processo de separação de fragmento a ser realizado na etapa S401 na figura 16 é descrito, com referência ao fluxograma mostrado na figura 17.
[00222] Quando o processo de separação de fragmento é iniciado, a unidade de divisão de modelo 431 na etapa S421 divide o modelo de nuvem de pontos alvo de processamento incluindo uma porção esparsa em uma pluralidade de modelos parciais de nuvem de pontos, pelo método descrito acima em <Controle Local em Planos de Projeção > em <5. Controle de plano de projeção local> e semelhantes, por exemplo.
[00223] Na etapa S422, a unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 432 define os planos de projeção dos respectivos modelos parciais de nuvem de pontos definidos na etapa S421, pelo método descrito acima em <Controle Local em Planos de Projeção> em <5. Controle de plano de projeção local> e semelhantes, por exemplo.
[00224] Na etapa S423, a unidade de geração de informações do plano de projeção 433 gera as informações do plano de projeção sobre os planos de projeção dos respectivos modelos parciais de nuvem de pontos definidos na etapa S422, pelo método descrito acima em <Sinal de Informação do Plano de Projeção> em <5. Controle de plano de projeção local> e semelhantes, por exemplo.
[00225] Na etapa S424, a unidade de projeção de modelo parcial de nuvem de pontos434 projeta os respectivos modelos parciais de nuvem de pontos nos planos de projeção definidos na etapa S422 e gera fragmentos, pelo método descrito acima em <Controle Local em Planos de Projeção> em
56 / 72 <5. Controle de plano de projeção local> e semelhantes, por exemplo.
[00226] Na etapa S425, a unidade de adição de informações do plano de projeção 435 dá (adiciona) as informações do plano de projeção geradas na etapa S423 aos fragmentos gerados na etapa S424, pelo método descrito acima em <Sinal de Informação do Plano de Projeção> em <5. Controle de plano de projeção local> e semelhantes, por exemplo. Esta informação de plano de projeção fornecida aos fragmentos é armazenada no mapa de ocupação pela unidade de empacotamento 412.
[00227] Quando o processo na etapa S425 é concluído, o processo de separação de fragmento chega ao fim e o processo retorna à figura 16. <Fluxo no processo de divisão>
[00228] Em seguida, um exemplo de fluxo no processo de divisão a ser realizado na etapa S421 na figura 17 é descrito, com referência ao fluxograma mostrado na figura 18.
[00229] Quando o processo de divisão é iniciado, a unidade de divisão de modelo 431 identifica nuvens com densidade de pontos a partir do histograma dos modelos de nuvem de pontos alvo de processamento na etapa S441.
[00230] Na etapa S442, a unidade de divisão de modelo 431 estima a direção de projeção de cada uma das nuvens com densidade de pontos identificadas na etapa S441, com base nos vetores normais de pontos.
[00231] Na etapa S443, a unidade de divisão de modelo 431 define nuvens com densidade de pontos cujas direções de projeção estimadas na etapa S442 são diferentes uma da outra, como modelos parciais de nuvem de pontos.
[00232] Quando o processo na etapa S443 é concluído, o processo de divisão chega ao fim e o processo retorna à figura 17. <Fluxo no processo de empacotamento>
[00233] Em seguida, um exemplo de fluxo no processo de
57 / 72 empacotamento a ser realizado na etapa S403 na figura 16 é descrito, com referência ao fluxograma mostrado na figura 19.
[00234] Quando o processo de empacotamento é iniciado, a unidade de empacotamento 412 coloca cada fragmento de cada modelo parcial de nuvem de pontos em uma imagem bidimensional na etapa S461.
[00235] Na etapa S462, a unidade de empacotamento 412 gera o mapa de ocupação contendo as informações do plano de projeção geradas na etapa S423 na figura 17.
[00236] Na etapa S463, a unidade de empacotamento 412 realiza um processo de dilatação no quadro de vídeo colorido.
[00237] Quando o processo na etapa S463 é concluído, o processo de empacotamento chega ao fim e o processo retorna à figura 16.
[00238] Conforme os respectivos processos são realizados conforme descrito acima, os planos de projeção podem ser definidos independentemente para cada um da pluralidade de modelos parciais de nuvem de pontos em uma nuvem de pontos e cada modelo parcial de nuvem de pontos pode ser projetado em planos de projeção mais apropriados. Consequentemente, uma diminuição na eficiência da codificação devido à ineficiência na projeção dos modelos de nuvem de pontos pode ser evitada (a eficiência da codificação pode ser aumentada). <7. Quarta Modalidade> <Dispositivo de Decodificação>
[00239] A figura 20 é um diagrama de blocos que mostra uma configuração de exemplo de um dispositivo de decodificação como uma modalidade de um aparelho de processamento de imagem ao qual a presente tecnologia é aplicada. Um dispositivo de decodificação 500 mostrado na figura 20 é um dispositivo semelhante ao dispositivo de decodificação 200 (figura 10) e é um dispositivo (um dispositivo de decodificação ao qual a abordagem baseada em vídeo é aplicada) que decodifica, por um método de
58 / 72 decodificação para imagens bidimensionais, dados codificados gerados por meio da projeção de dados 3D, como uma nuvem de pontos em um plano bidimensional, e projeta os dados resultantes em um espaço tridimensional. Por exemplo, o dispositivo de decodificação 500 decodifica um fluxo de bits que o dispositivo de codificação 400 (figura 14) gerou pela codificação de uma nuvem de pontos e reconstrói a nuvem de pontos.
[00240] Observe que a figura 20 mostra os principais componentes e aspectos, como unidades de processamento e o fluxo de dados, mas não mostra necessariamente todos os aspectos. Ou seja, no dispositivo de decodificação 500, pode haver uma unidade de processamento que não é mostrada como um bloco na figura 20, ou pode haver um processamento ou fluxo de dados que não é indicado por setas ou semelhantes na figura 20. Isso também se aplica aos outros desenhos para explicar as unidades de processamento e semelhantes no dispositivo de decodificação 500.
[00241] Como mostrado na figura 20, o dispositivo de decodificação 500 inclui um demultiplexador 511, uma unidade de decodificação de informações de fragmento auxiliar 512, uma unidade de decodificação de vídeo 513, uma unidade de decodificação de vídeo 514, uma unidade de decodificação de OMap 515, uma unidade de desempacotamento 516 e um unidade de reconstrução 3D 517.
[00242] O demultiplexador 511 executa um processo relacionado à demultiplexação de dados. Por exemplo, o demultiplexador 511 adquire uma entrada de fluxo de bits para o dispositivo de decodificação 500. Este fluxo de bits é fornecido a partir do dispositivo de codificação 400, por exemplo. O demultiplexador 511 demultiplexa este fluxo de bits, extrai os dados codificados das informações de fragmento auxiliar e fornece os dados codificados extraídos para a unidade de decodificação de informações de fragmento auxiliar 512. O demultiplexador 511 também extrai os dados codificados do quadro de vídeo de geometria do fluxo de bits através do
59 / 72 demultiplexar e fornecer os dados codificados extraídos para a unidade de decodificação de vídeo 513. O demultiplexador 511 extrai ainda os dados codificados do quadro de vídeo colorido do fluxo de bits através da demultiplexação e fornece os dados codificados extraídos para a unidade de decodificação de vídeo 514. O demultiplexador 511 também extrai os dados codificados do mapa de ocupação do fluxo de bits por meio da demultiplexação e fornece os dados codificados extraídos para a unidade de decodificação de OMap 515. O demultiplexador 511 extrai ainda as informações de controle sobre o empacotamento do fluxo de bits por meio da demultiplexação e fornece as informações de controle extraídas para a unidade de desempacotamento 516.
[00243] A unidade de decodificação de informações de fragmento auxiliar 512 realiza um processo relacionado à decodificação dos dados codificados das informações de fragmento auxiliar. Por exemplo, a unidade de decodificação de informações de fragmento auxiliar 512 adquire os dados codificados da informação de fragmento auxiliar fornecida a partir do demultiplexador 511. A unidade de decodificação de informações de fragmento auxiliar 512 também decodifica (expande) os dados codificados das informações de fragmento auxiliar incluídos nos dados adquiridos. A unidade de decodificação de informações de fragmento auxiliar 512 fornece as informações de fragmento auxiliar obtidas por meio da decodificação para a unidade de reconstrução 3D 517.
[00244] A unidade de decodificação de vídeo 513 executa um processo relacionado à decodificação dos dados codificados do quadro de vídeo de geometria. Por exemplo, a unidade de decodificação de vídeo 513 adquire os dados codificados do quadro de vídeo de geometria fornecido a partir do demultiplexador 511. A unidade de decodificação de vídeo 513 decodifica os dados codificados do quadro de vídeo de geometria por um método de decodificação apropriado para imagens bidimensionais, como AVC ou
60 / 72 HEVC, por exemplo. A unidade de decodificação de vídeo 513 fornece o quadro de vídeo de geometria (ou uma região nele) obtido por meio da decodificação, para a unidade de desempacotamento 516.
[00245] A unidade de decodificação de vídeo 514 realiza um processo relacionado à decodificação dos dados codificados do quadro de vídeo colorido. Por exemplo, a unidade de decodificação de vídeo 514 adquire os dados codificados do quadro de vídeo colorido fornecido a partir do demultiplexador 511. A unidade de decodificação de vídeo 514 decodifica os dados codificados do quadro de vídeo colorido por um método de decodificação apropriado para imagens bidimensionais, como AVC ou HEVC, por exemplo. A unidade de decodificação de vídeo 514 fornece o quadro de vídeo colorido (ou uma região nele) obtido por meio da decodificação, para a unidade de desempacotamento 516.
[00246] A unidade de decodificação de OMap 515 realiza um processo relacionado à decodificação dos dados codificados do mapa de ocupação. Por exemplo, a unidade de decodificação de OMap 515 adquire os dados codificados do mapa de ocupação fornecido a partir do demultiplexador 511. A unidade de decodificação de OMap 515 decodifica os dados codificados do mapa de ocupação por um método de decodificação apropriado compatível com o método de codificação.
[00247] A unidade de decodificação de OMap 515 fornece o mapa de ocupação (ou uma região nele) obtido por meio da decodificação, para a unidade de desempacotamento 516.
[00248] A unidade de desempacotamento 516 realiza um processo relacionado ao desempacotamento. Por exemplo, a unidade de desempacotamento 516 adquire o quadro de vídeo de geometria da unidade de decodificação de vídeo 513, o quadro de vídeo colorido da unidade de decodificação de vídeo 514 e o mapa de ocupação da unidade de decodificação de OMap 515. A unidade de desempacotamento 516 também
61 / 72 desempacota o vídeo de geometria quadro e quadro de vídeo colorido, com base nas informações de controle sobre a empacotamento. A unidade de desempacotamento 516 fornece a unidade de reconstrução 3D 517 com os dados (fragmento de geometria ou semelhantes) das informações de posição (geometria), os dados (fragmento de textura ou semelhantes) das informações de atributo (textura), o mapa de ocupação e semelhantes, que foram obtidos pela unidade de desempacotamento 516 realizando o desempacotamento.
[00249] A unidade de reconstrução 3D 517 realiza um processo relacionado à reconstrução da nuvem de pontos. Por exemplo, a unidade de reconstrução 3D 517 reconstrói a nuvem de pontos, com base nas informações de fragmento auxiliar fornecidas a partir da unidade de decodificação de informações de fragmento auxiliar 512 e nos dados (fragmento de geometria ou semelhantes) das informações de posição (geometria), os dados (fragmento de textura ou semelhantes) das informações de atributo (Textura), o mapa de ocupação e semelhantes fornecidos a partir da unidade de desempacotamento
516.
[00250] Por exemplo, com base nas informações do plano de projeção, a unidade de reconstrução 3D 517 identifica os planos de projeção correspondentes aos respectivos modelos parciais de nuvem de pontos e reconstrói a nuvem de pontos a partir dos fragmentos e semelhantes usando os planos de projeção. Por conseguinte, o dispositivo de decodificação 500 pode reconstruir cada modelo parcial de nuvem de pontos a partir dos fragmentos projetados em planos de projeção mais apropriados. Assim, uma diminuição na eficiência da codificação devido à ineficiência na projeção dos modelos parciais de nuvem de pontos pode ser evitada (a eficiência da codificação pode ser aumentada).
[00251] A unidade de reconstrução 3D 517 emite a nuvem de pontos reconstruída para o exterior do dispositivo de decodificação 500. Esta nuvem de pontos é fornecida a uma unidade de exibição e é transformada em uma
62 / 72 imagem, por exemplo. A imagem é então exibida, gravada em uma mídia de gravação ou fornecida a outro dispositivo por meio de comunicação.
[00252] Com tal configuração, o dispositivo de decodificação 500 pode evitar uma diminuição na eficiência de codificação, mesmo quando uma pluralidade de modelos parciais de nuvem de pontos existe em uma nuvem de pontos. <Fluxo em um processo de decodificação>
[00253] Em seguida, um exemplo de fluxo em um processo de decodificação a ser realizado pelo dispositivo de decodificação 500 é descrito, com referência ao fluxograma mostrado na figura 21.
[00254] Quando o processo de decodificação é iniciado, o demultiplexador 511 do dispositivo de decodificação 500 demultiplexa um fluxo de bits na etapa S501.
[00255] Na etapa S502, a unidade de decodificação de informações de fragmento auxiliar 512 decodifica as informações de fragmento auxiliar extraídas do fluxo de bits na etapa S501.
[00256] Na etapa S503, a unidade de decodificação de vídeo 513 decodifica os dados codificados do quadro de vídeo de geometria (o quadro de vídeo da informação posicional) extraído do fluxo de bits na etapa S501.
[00257] Na etapa S504, a unidade de decodificação de vídeo 514 decodifica os dados codificados do quadro de vídeo colorido (o quadro de vídeo das informações de atributo) extraídos do fluxo de bits na etapa S501.
[00258] Na etapa S505, a unidade de decodificação de OMap 515 decodifica os dados codificados do mapa de ocupação extraídos do fluxo de bits na etapa S501. Este mapa de ocupação contém as informações do plano de projeção descritas acima.
[00259] Na etapa S506, a unidade de desempacotamento 516 realiza o desempacotamento. Por exemplo, a unidade de desempacotamento 516 desempacota o quadro de vídeo de geometria obtido a partir dos dados
63 / 72 codificados decodificados na etapa S503, para gerar fragmentos de geometria. A unidade de desempacotamento 516 também desempacota o quadro de vídeo colorido obtido a partir dos dados codificados decodificados na etapa S504, para gerar fragmento de textura. A unidade de desempacotamento 516 descompacta ainda mais o mapa de ocupação obtido a partir dos dados codificados decodificados na etapa S505, para extrair o mapa de ocupação associado aos fragmentos de geometria e aos fragmentos de textura.
[00260] Na etapa S507, a unidade de reconstrução 3D 517 reconstrói a nuvem de pontos (cada modelo de nuvem de pontos), com base nas informações de fragmento auxiliar obtidas na etapa S502, e os fragmentos de geometria, os fragmentos de textura, o mapa de ocupação, as informações do plano de projeção contido no mapa de ocupação e semelhantes obtidos na etapa S506.
[00261] Quando o processo na etapa S507 é concluído, o processo de decodificação chega ao fim.
[00262] Ao realizar os respectivos processos da maneira acima, o dispositivo de decodificação 500 pode evitar uma diminuição na eficiência de codificação. <8. Notas> <Informações de controle>
[00263] A informação de controle de acordo com a presente tecnologia descrita em cada uma das modalidades acima pode ser transmitida do lado da codificação para o lado da decodificação. Por exemplo, podem ser transmitidas informações de controle (enabled_flag, por exemplo) para controlar se deve ou não permitir (ou proibir) a aplicação da presente tecnologia descrita acima. Além disso, informações de controle especificando o intervalo (o limite superior e/ou o limite inferior de um tamanho de bloco, fatias, imagens, sequências, componentes, vistas, camadas e semelhantes, por exemplo) em que a presente tecnologia descrita acima é permitida (ou
64 / 72 proibida) de ser aplicada pode ser transmitida, por exemplo. <Computador>
[00264] A série de processos descrita acima pode ser realizada por hardware ou por software. Quando a série de processos deve ser executada por software, o programa que forma o software é instalado em um computador. Aqui, o computador pode ser um computador incorporado a um hardware de uso especial ou pode ser um computador pessoal de uso geral ou semelhante que pode executar vários tipos de funções quando vários tipos de programas são instalados nele, por exemplo.
[00265] A figura 22 é um diagrama de blocos que mostra um exemplo de configuração do hardware de um computador que executa a série de processos acima descrita de acordo com um programa.
[00266] Em um computador 900 mostrado na figura 22, uma unidade de processamento central (CPU) 901, uma memória somente leitura (ROM) 902 e uma memória de acesso aleatório (RAM) 903 estão conectadas umas às outras por um barramento 904.
[00267] Uma interface de entrada/saída 910 também está conectada ao barramento 904. Uma unidade de entrada 911, uma unidade de saída 912, uma unidade de armazenamento 913, uma unidade de comunicação 914 e uma unidade 915 são conectadas à interface de entrada/saída 910.
[00268] A unidade de entrada 911 é formada com um teclado, um mouse, um microfone, um painel de toque, um terminal de entrada e semelhantes, por exemplo. A unidade de saída 912 é formada com um display, um alto-falante, um terminal de saída e semelhantes, por exemplo. A unidade de armazenamento 913 é formada com um disco rígido, um disco RAM, uma memória não volátil e semelhantes, por exemplo. A unidade de comunicação 914 é formada com uma interface de rede, por exemplo. A unidade 915 aciona um meio removível 921, como um disco magnético, um disco óptico, um disco magneto-óptico ou uma memória semicondutora.
65 / 72
[00269] No computador tendo a configuração descrita acima, a CPU 901 carrega um programa armazenado na unidade de armazenamento 913 na RAM 903 através da interface de entrada/saída 910 e o barramento 904, por exemplo, e executa o programa, de modo que o descrito acima uma série de processos é executada. A RAM 903 também armazena os dados necessários para que a CPU 901 execute vários processos e semelhantes, conforme necessário.
[00270] O programa a ser executado pelo computador (a CPU 901) pode ser gravado no meio removível 921 como um meio compactado ou semelhante a ser usado, por exemplo. Nesse caso, o programa pode ser instalado na unidade de armazenamento 913 através da interface de entrada/saída 910 quando o meio removível 921 é montado na unidade 915.
[00271] Como alternativa, este programa pode ser provido por meio de transmissão com ou sem fio, como uma rede local, a Internet ou transmissão digital por satélite. Nesse caso, o programa pode ser recebido pela unidade de comunicação 914 e ser instalado na unidade de armazenamento 913.
[00272] Além disso, este programa pode ser instalado de antemão no ROM 902 ou na unidade de armazenamento 913. <Alvos aos quais a tecnologia atual é aplicada>
[00273] Embora casos em que a presente tecnologia seja aplicada à codificação e decodificação de dados de nuvem de pontos tenham sido descritos até agora, a presente tecnologia não está limitada a esses exemplos, mas pode ser aplicada à codificação e decodificação de dados 3D de qualquer padrão. Ou seja, vários processos, como processos de codificação e decodificação, e quaisquer especificações de vários tipos de dados, como dados 3D e metadados, podem ser adotados, desde que a presente tecnologia descrita acima não seja contestada. Além disso, alguns dos processos e especificações descritos acima podem ser omitidos, desde que a tecnologia atual não seja contestada.
66 / 72
[00274] A presente tecnologia pode ser aplicada a qualquer configuração apropriada. Por exemplo, a presente tecnologia pode ser aplicada a vários aparelhos eletrônicos, tais como transmissores e receptores (receptores de televisão ou aparelhos de telefone portáteis, por exemplo) na transmissão por satélite, transmissão por cabo, como TV a cabo, distribuição via Internet, distribuição para terminais via comunicação celular, ou semelhantes, e aparelhos (gravadores de disco rígido ou câmeras, por exemplo) que gravam imagens em mídia, como discos ópticos, discos magnéticos e memória flash, e reproduzem imagens a partir dessas mídias de armazenamento, por exemplo.
[00275] A presente tecnologia também pode ser incorporada como um componente de um aparelho, como um processador (um processador de vídeo, por exemplo) servindo como um sistema LSI (Integração em Grande Escala) ou semelhante, um módulo (um módulo de vídeo, por exemplo) usando uma pluralidade de processadores ou semelhantes, uma unidade (uma unidade de vídeo, por exemplo) usando uma pluralidade de módulos ou semelhantes, ou um conjunto (um conjunto de vídeo, por exemplo) tendo outras funções adicionadas às unidades.
[00276] A presente tecnologia também pode ser aplicada a um sistema de rede formado com uma pluralidade de dispositivos, por exemplo. Por exemplo, a presente tecnologia pode ser incorporada como computação em nuvem que é compartilhada e processada em conjunto por uma pluralidade de dispositivos através de uma rede. Por exemplo, a presente tecnologia pode ser incorporada em um serviço de nuvem que provê serviços relacionados a imagens (imagens de vídeo) para quaisquer tipos de terminais, como computadores, dispositivos de áudio e vídeo (AV), terminais portáteis de processamento de informações e IoT (Internet das Coisas) dispositivos.
[00277] Observe que, no presente relatório descritivo, um sistema significa um conjunto de uma pluralidade de componentes (dispositivos,
67 / 72 módulos (peças) e semelhantes) e nem todos os componentes precisam ser providos no mesmo compartimento. Em vista disso, a pluralidade de dispositivos que estão alojados em diferentes compartimentos e estão conectados uns aos outros através de uma rede formam um sistema, e um dispositivo tendo uma pluralidade de módulos alojados em um compartimento é também um sistema. <Campos e uso aos quais a tecnologia atual pode ser aplicada>
[00278] Um sistema, um aparelho, uma unidade de processamento e semelhantes aos quais a presente tecnologia é aplicada podem ser usados em qualquer campo apropriado, como transporte, assistência médica, prevenção de crime, agricultura, pecuária, mineração, cuidados de beleza, fábricas, eletrodomésticos, meteorologia ou observação da natureza, por exemplo. A presente tecnologia também pode ser usada para qualquer propósito apropriado. <Outros Aspectos>
[00279] Observe que, neste relatório descritivo, um “sinalizador” é uma informação para identificar uma pluralidade de estados e inclui não apenas informações a serem usadas para identificar dois estados de verdadeiro (1) ou falso (0), mas também informações para identificar três ou mais estados. Portanto, os valores que este “sinalizador” pode ter podem ser os dois valores de “1” e “0”, por exemplo, ou três ou mais valores. Ou seja, esse “sinalizador” pode ser formado com qualquer número de bits e pode ser formado com um bit ou uma pluralidade de bits. Além disso, quanto às informações de identificação (incluindo um sinalizador), não apenas as informações de identificação, mas também as informações de diferença sobre as informações de identificação em relação às informações de referência podem ser incluídas em um fluxo de bits. Portanto, neste relatório descritivo, um “sinalizador” e “informações de identificação” incluem não apenas as informações, mas também informações de diferença em relação às
68 / 72 informações de referência.
[00280] Além disso, vários tipos de informações (como metadados) sobre dados codificados (um fluxo de bits) podem ser transmitidos ou registrados em qualquer modo que esteja associado aos dados codificados. Aqui, o termo “associar” significa permitir o uso de outros dados (ou um link para outros dados) enquanto os dados são processados, por exemplo. Ou seja, pedaços de dados associados entre si podem ser integrados como um pedaço de dados ou podem ser considerados como pedaços de dados separados. Por exemplo, as informações associadas aos dados codificados (uma imagem) podem ser transmitidas através de um caminho de transmissão diferente dos dados codificados (imagem). Além disso, as informações associadas aos dados codificados (uma imagem) podem ser gravadas em uma mídia de gravação diferente dos dados codificados (imagem) (ou em uma área de gravação diferente da mesma mídia de gravação), por exemplo. Observe que esta “associação” pode se aplicar a alguns dos dados, em vez de todos os dados. Por exemplo, uma imagem e as informações correspondentes à imagem podem ser associadas entre si para qualquer unidade apropriada, tal como para uma pluralidade de quadros, cada quadro ou alguma porção de cada quadro.
[00281] Observe que, neste relatório descritivo, os termos “combinar”, “multiplexar”, “adicionar”, “integrar”, “incluir”, “armazenar”, “conter”, “incorporar”, “inserir” e semelhantes significam combinar uma pluralidade de objetos em um, tal como combinar dados codificados e metadados em um pedaço de dados, por exemplo, e significam um método da “associação” descrita acima.
[00282] Além disso, as modalidades da presente tecnologia não estão limitadas às modalidades descritas acima e várias modificações podem ser feitas nelas sem se afastar do escopo da presente tecnologia.
[00283] Por exemplo, qualquer configuração descrita acima como um
69 / 72 dispositivo (ou uma unidade de processamento) pode ser dividida em uma pluralidade de dispositivos (ou unidades de processamento). Por outro lado, qualquer configuração descrita acima como uma pluralidade de dispositivos (ou unidades de processamento) pode ser combinada em um dispositivo (ou uma unidade de processamento). Além disso, é claro que é possível adicionar um componente diferente dos descritos acima para a configuração de cada dispositivo (ou cada unidade de processamento). Além disso, alguns componentes de um dispositivo (ou unidade de processamento) podem ser incorporados na configuração de outro dispositivo (ou unidade de processamento), desde que a configuração e as funções de todo o sistema permaneçam substancialmente as mesmas.
[00284] Além disso, o programa descrito acima pode ser executado em qualquer dispositivo, por exemplo. Nesse caso, o dispositivo só precisa ter as funções necessárias (blocos de funções e semelhantes) para que as informações necessárias possam ser obtidas.
[00285] Além disso, um dispositivo pode realizar cada etapa em um fluxograma ou uma pluralidade de dispositivos pode realizar cada etapa, por exemplo. Além disso, quando uma etapa inclui uma pluralidade de processos, a pluralidade de processos pode ser realizada por um dispositivo ou pode ser realizada por uma pluralidade de dispositivos. Em outras palavras, uma pluralidade de processos incluídos em uma etapa pode ser realizada como processos em uma pluralidade de etapas. Por outro lado, os processos descritos como uma pluralidade de etapas podem ser realizados coletivamente como uma etapa.
[00286] Além disso, um programa a ser executado por um computador pode ser um programa para realizar os processos nas etapas de acordo com o programa em ordem cronológica de acordo com a sequência descrita neste relatório descritivo, ou pode ser um programa para realizar processos em paralelo ou realizar um processo quando necessário, como quando há uma
70 / 72 chamada, por exemplo. Ou seja, desde que não haja contradições, os processos nas respectivas etapas podem ser realizados em uma ordem diferente da ordem descrita acima. Além disso, os processos nas etapas de acordo com este programa podem ser executados em paralelo com os processos de acordo com outro programa, ou podem ser executados em combinação com os processos de acordo com outro programa.
[00287] Além disso, cada uma da pluralidade de técnicas de acordo com a presente tecnologia pode ser implementada de forma independente, desde que não haja contradições, por exemplo. Obviamente, também é possível implementar uma combinação de algumas da pluralidade de técnicas de acordo com a presente tecnologia. Por exemplo, parte ou toda a presente tecnologia descrita em uma das modalidades pode ser implementada em combinação com parte ou toda a presente tecnologia descrita em outra das modalidades. Além disso, parte ou toda a presente tecnologia descrita acima pode ser implementada em combinação com alguma outra tecnologia não descrita acima.
LISTA DE SINAIS DE REFERÊNCIA
[00288] 100 Dispositivo de codificação 111 Unidade de transformação de modelo 112 Unidade de separação de fragmentos 113 Unidade de empacotamento 114 Unidade de compressão de informação de fragmento auxiliar 115 Unidade de codificação de vídeo 116 Unidade de codificação de vídeo 117 Unidade de codificação de OMap 118 Multiplexador 119 Unidade de geração de informações de BB 200 Dispositivo de decodificação
71 / 72
211 Demultiplexador 212 Unidade de decodificação de informações de fragmento auxiliar 213 Unidade de seleção de modelo de nuvem de pontos 214 Unidade de decodificação de vídeo 215 Unidade de decodificação de vídeo 216 Unidade de decodificação de OMap 217 Unidade de desempacotamento 218 Unidade de reconstrução 3D 400 Dispositivo de codificação 411 Unidade de separação de fragmentos 412 Unidade de empacotamento 413 Unidade de compressão de informação de fragmento auxiliar 414 Unidade de codificação de vídeo 415 Unidade de codificação de vídeo 416 Unidade de codificação de OMap 417 Multiplexador 431 Unidade de divisão de modelo 432 Unidade de definição de plano de projeção de modelo parcial de nuvem de pontos 433 Unidade de geração de informações do plano de projeção 434 Unidade de projeção de modelo parcial de nuvem de pontos 435 Unidade de adição de informações do plano de projeção 500 Dispositivo de decodificação
72 / 72
511 Demultiplexador 512 Unidade de decodificação de informações de fragmento auxiliar 513 Unidade de decodificação de vídeo 514 Unidade de decodificação de vídeo 515 Unidade de decodificação de OMap 516 Unidade de desempacotamento 517 Unidade de reconstrução 3D

Claims (20)

REIVINDICAÇÕES
1. Aparelho de processamento de imagem, caracterizado pelo fato de que compreende: uma unidade de transformação que transforma um parâmetro relacionado a uma pluralidade de modelos de nuvem de pontos de uma nuvem de pontos; e uma unidade de codificação que codifica uma imagem plana bidimensional na qual a pluralidade de modelos de nuvem de pontos tendo o parâmetro transformado pela unidade de transformação é projetada e gera um fluxo de bits contendo dados codificados da imagem plana bidimensional e informações de transformação que são informações em relação à transformação do parâmetro transformado pela unidade de transformação.
2. Aparelho de processamento de imagem de acordo com a reivindicação 1, caracterizado pelo fato de que a unidade de transformação transforma as coordenadas dos modelos de nuvem de pontos conforme o parâmetro.
3. Aparelho de processamento de imagem de acordo com a reivindicação 2, caracterizado pelo fato de que a unidade de transformação desloca, gira ou desloca e gira as coordenadas ao transformar as coordenadas.
4. Aparelho de processamento de imagem de acordo com a reivindicação 1, caracterizado pelo fato de que a unidade de transformação transforma um tempo dos modelos de nuvem de pontos conforme o parâmetro.
5. Aparelho de processamento de imagem de acordo com a reivindicação 1, caracterizado pelo fato de que a unidade de transformação transforma uma escala dos modelos de nuvem de pontos conforme o parâmetro.
6. Aparelho de processamento de imagem de acordo com a reivindicação 1, caracterizado pelo fato de que a unidade de transformação transforma uma taxa de quadros dos modelos de nuvem de pontos conforme o parâmetro.
7. Aparelho de processamento de imagem de acordo com a reivindicação 1, caracterizado pelo fato de que as informações de transformação contêm informações que indicam uma quantidade de mudança no parâmetro transformado pela unidade de transformação.
8. Aparelho de processamento de imagem de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente uma unidade de empacotamento que coloca fragmentos dos modelos de nuvem de pontos em regiões diferentes para os respectivos modelos de nuvem de pontos e compacta os fragmentos como um quadro de vídeo, em que a unidade de codificação codifica o quadro de vídeo no qual os fragmentos são compactados pela unidade de empacotamento e gera o fluxo de bits contendo adicionalmente informações de modelo que são informações sobre os modelos de nuvem de pontos.
9. Aparelho de processamento de imagem de acordo com a reivindicação 8, caracterizado pelo fato de que as regiões são unidades de codificação independentemente decodificáveis.
10. Aparelho de processamento de imagem de acordo com a reivindicação 8, caracterizado pelo fato de que as informações do modelo contêm informações que indicam o número de modelos de nuvem de pontos incluídos no fluxo de bits e as regiões nas quais os fragmentos dos respectivos modelos de nuvem de pontos são colocados.
11. Método de processamento de imagem, caracterizado pelo fato de que compreende: transformar um parâmetro relacionado a uma pluralidade de modelos de nuvem de pontos de uma nuvem de pontos; e codificar uma imagem plana bidimensional na qual a pluralidade de modelos de nuvem de pontos tendo o parâmetro transformado é projetada e gerar um fluxo de bits contendo dados codificados da imagem plana bidimensional e informações de transformação que são informações sobre a transformação do parâmetro.
12. Aparelho de processamento de imagem, caracterizado pelo fato de que compreende: uma unidade de decodificação que decodifica um fluxo de bits e gera uma imagem plana bidimensional na qual uma pluralidade de modelos de nuvem de pontos é projetada e transforma informações que são informações sobre a transformação de um parâmetro de cada um da pluralidade de modelos de nuvem de pontos; e uma unidade de reconstrução que reconstrói cada um da pluralidade de modelos de nuvem de pontos a partir da imagem plana bidimensional gerada pela unidade de decodificação e, com base nas informações de transformação, transforma inversamente o parâmetro de cada um da pluralidade de modelos de nuvem de pontos.
13. Método de processamento de imagem, caracterizado pelo fato de que compreende: decodificar um fluxo de bits e gerar uma imagem plana bidimensional na qual uma pluralidade de modelos de nuvem de pontos é projetada e transformar informações que são informações sobre a transformação de um parâmetro de cada um da pluralidade de modelos de nuvem de pontos; e reconstruir cada um da pluralidade de modelos de nuvem de pontos a partir da imagem plana bidimensional gerada e, com base nas informações de transformação, transformar inversamente o parâmetro de cada um da pluralidade de modelos de nuvem de pontos.
14. Aparelho de processamento de imagem, caracterizado pelo fato de que compreende: uma unidade de projeção que projeta uma pluralidade de modelos parciais de nuvem de pontos que constituem um modelo de nuvem de pontos em planos de projeção que são definidos independentemente um do outro; e uma unidade de codificação que codifica uma imagem de plano bidimensional na qual fragmentos dos modelos parciais de nuvem de pontos projetados nos respectivos planos de projeção pela unidade de projeção são projetados, e um mapa de ocupação contendo informações do plano de projeção que são informações sobre os planos de projeção, e gera um fluxo de bits.
15. Aparelho de processamento de imagem de acordo com a reivindicação 14, caracterizado pelo fato de que as informações do plano de projeção contêm informações que indicam uma quantidade de giro dos planos de projeção.
16. Aparelho de processamento de imagem de acordo com a reivindicação 14, caracterizado pelo fato de que compreende adicionalmente: uma unidade de divisão que divide o modelo de nuvem de pontos na pluralidade de modelos parciais de nuvem de pontos; e uma unidade de definição que define o plano de projeção para cada um da pluralidade de modelos parciais de nuvem de pontos.
17. Aparelho de processamento de imagem de acordo com a reivindicação 16, caracterizado pelo fato de que a unidade de divisão identifica nuvens com densidade de pontos a partir de um histograma do modelo de nuvem de pontos,
estima uma direção de projeção de cada uma das nuvens com densidade de pontos com base em um vetor normal, e define as nuvens com densidade de pontos com diferentes direções de projeção como os modelos parciais de nuvem de pontos.
18. Método de processamento de imagem, caracterizado pelo fato de que compreende: projetar uma pluralidade de modelos parciais de nuvem de pontos que constituem um modelo de nuvem de pontos em planos de projeção que são definidos independentemente um do outro; e codificar uma imagem de plano bidimensional na qual fragmentos dos modelos parciais de nuvem de pontos projetados nos respectivos planos de projeção são projetados e um mapa de ocupação contendo informações do plano de projeção que são informações sobre os planos de projeção e gerar um fluxo de bits.
19. Aparelho de processamento de imagem, caracterizado pelo fato de que compreende: uma unidade de decodificação que decodifica um fluxo de bits e gera uma imagem de plano bidimensional na qual um modelo de nuvem de pontos é projetado e um mapa de ocupação contendo informações de plano de projeção que são informações sobre um plano de projeção de cada um de uma pluralidade de modelos parciais de nuvem de pontos incluído no modelo de nuvem de pontos; e uma unidade de reconstrução que reconstrói o modelo de nuvem de pontos, com base na imagem do plano bidimensional gerada pela unidade de decodificação e as informações do plano de projeção contidas no mapa de ocupação.
20. Método de processamento de imagem, caracterizado pelo fato de que compreende: decodificar um fluxo de bits e gerar uma imagem de plano bidimensional na qual um modelo de nuvem de pontos é projetado e um mapa de ocupação contendo informações de plano de projeção que são informações sobre um plano de projeção de cada um de uma pluralidade de modelos parciais de nuvem de pontos incluídos no modelo de nuvem de pontos; e reconstruir o modelo de nuvem de pontos, com base na imagem do plano bidimensional gerada e nas informações do plano de projeção contidas no mapa de ocupação.
BR112021000044-5A 2018-07-11 2019-06-27 Aparelho e método de processamento de imagem BR112021000044A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018131300 2018-07-11
JP2018-131300 2018-07-11
PCT/JP2019/025558 WO2020012968A1 (ja) 2018-07-11 2019-06-27 画像処理装置および方法

Publications (1)

Publication Number Publication Date
BR112021000044A2 true BR112021000044A2 (pt) 2021-03-30

Family

ID=69141449

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021000044-5A BR112021000044A2 (pt) 2018-07-11 2019-06-27 Aparelho e método de processamento de imagem

Country Status (12)

Country Link
US (1) US11699248B2 (pt)
EP (1) EP3823286A4 (pt)
JP (1) JP7327399B2 (pt)
KR (1) KR20210030276A (pt)
CN (1) CN112470480B (pt)
AU (1) AU2019302075A1 (pt)
BR (1) BR112021000044A2 (pt)
CA (1) CA3106234A1 (pt)
MX (1) MX2020013700A (pt)
PH (1) PH12021550063A1 (pt)
TW (1) TW202017374A (pt)
WO (1) WO2020012968A1 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111566703B (zh) * 2018-01-17 2023-10-20 索尼公司 图像处理装置和方法
CN110719497B (zh) * 2018-07-12 2021-06-22 华为技术有限公司 点云编解码方法和编解码器
JP2022003716A (ja) * 2018-10-01 2022-01-11 ソニーグループ株式会社 画像処理装置および方法
US11915390B2 (en) * 2019-01-07 2024-02-27 Sony Group Corporation Image processing device and method
CN114930860A (zh) 2020-01-07 2022-08-19 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
WO2021200919A1 (ja) * 2020-03-30 2021-10-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11706450B2 (en) * 2020-09-18 2023-07-18 Samsung Electronics Co., Ltd. Partial decoding and reconstruction of a video-based point cloud compression bitstream
WO2022149589A1 (ja) * 2021-01-07 2022-07-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置
WO2023047021A2 (en) * 2021-09-27 2023-03-30 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding
CN115049750B (zh) * 2022-05-31 2023-06-16 九识智行(北京)科技有限公司 基于八叉树的体素地图生成方法、装置、存储介质及设备
KR20240043994A (ko) 2022-09-28 2024-04-04 증안리약초마을 협동조합 누룽지 제조 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170214943A1 (en) 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
WO2017142353A1 (ko) 2016-02-17 2017-08-24 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US11019257B2 (en) * 2016-05-19 2021-05-25 Avago Technologies International Sales Pte. Limited 360 degree video capture and playback
US20180053324A1 (en) 2016-08-19 2018-02-22 Mitsubishi Electric Research Laboratories, Inc. Method for Predictive Coding of Point Cloud Geometries
WO2018043905A1 (ko) 2016-08-29 2018-03-08 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
JP2019530311A (ja) * 2016-09-02 2019-10-17 ヴィド スケール インコーポレイテッド 360度ビデオ情報をシグナリングするための方法およびシステム
EP3349182A1 (en) * 2017-01-13 2018-07-18 Thomson Licensing Method, apparatus and stream for immersive video format
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10499054B2 (en) * 2017-10-12 2019-12-03 Mitsubishi Electric Research Laboratories, Inc. System and method for inter-frame predictive compression for point clouds
TWI815842B (zh) * 2018-01-16 2023-09-21 日商索尼股份有限公司 影像處理裝置及方法

Also Published As

Publication number Publication date
EP3823286A1 (en) 2021-05-19
CN112470480A (zh) 2021-03-09
US11699248B2 (en) 2023-07-11
MX2020013700A (es) 2021-02-26
CN112470480B (zh) 2024-06-18
US20210233278A1 (en) 2021-07-29
PH12021550063A1 (en) 2021-12-06
JPWO2020012968A1 (ja) 2021-08-02
EP3823286A4 (en) 2021-12-01
TW202017374A (zh) 2020-05-01
WO2020012968A1 (ja) 2020-01-16
AU2019302075A1 (en) 2021-01-28
CA3106234A1 (en) 2020-01-16
KR20210030276A (ko) 2021-03-17
JP7327399B2 (ja) 2023-08-16

Similar Documents

Publication Publication Date Title
BR112021000044A2 (pt) Aparelho e método de processamento de imagem
US20230298214A1 (en) Information processing apparatus and information processing method
BR112021000038A2 (pt) Aparelho e método de processamento de imagem
US11310518B2 (en) Image processing apparatus and method
BR112020013599A2 (pt) aparelho e método de processamento de imagem.
JP7331852B2 (ja) 画像処理装置および方法
US11399189B2 (en) Image processing apparatus and method
EP4167573A1 (en) Information processing device and method
US20210168394A1 (en) Image processing apparatus and method
BR112020019540A2 (pt) Método e aparelho para codificação/decodificação de uma nuvem de pontos representando um objeto 3d
JP7396302B2 (ja) 画像処理装置および方法
BR112021005904A2 (pt) dispositivo e método de processamento de imagem
WO2022138221A1 (ja) 情報処理装置および方法
WO2023054156A1 (ja) 情報処理装置および方法
CN117529924A (zh) 信息处理装置和方法
US20220058832A1 (en) Image processing apparatus and method