BR112020024802A2 - método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais - Google Patents

método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais Download PDF

Info

Publication number
BR112020024802A2
BR112020024802A2 BR112020024802-9A BR112020024802A BR112020024802A2 BR 112020024802 A2 BR112020024802 A2 BR 112020024802A2 BR 112020024802 A BR112020024802 A BR 112020024802A BR 112020024802 A2 BR112020024802 A2 BR 112020024802A2
Authority
BR
Brazil
Prior art keywords
dimensional data
node
dimensional
information
decoding
Prior art date
Application number
BR112020024802-9A
Other languages
English (en)
Inventor
Toshiyasu Sugio
Original Assignee
Panasonic Intellectual Property Corporation Of America
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 Panasonic Intellectual Property Corporation Of America filed Critical Panasonic Intellectual Property Corporation Of America
Publication of BR112020024802A2 publication Critical patent/BR112020024802A2/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

MÉTODO DE CODIFICAÇÃO DE DADOS TRIDIMENSIONAIS, MÉTODO DE DECODIFICAÇÃO DE DADOS TRIDIMENSIONAIS, DISPOSITIVO DE CODIFICAÇÃO DE DADOS TRIDIMENSIONAIS E DISPOSITIVO DE DECODIFICAÇÃO DE DADOS TRIDIMENSIONAIS. A presente invenção refere-se a um método de codificação de dados tridimensionais que inclui: se um primeiro indicador indicar um primeiro valor (Sim em S4481), geração de um primeiro padrão de ocupação que indica o estado de ocupação de uma pluralidade de segundos nós adjacentes incluindo um primeiro nó adjacente, cujo nó parente é diferente de um nó-alvo incluído em uma estrutura de árvore ramificada N (onde N é um inteiro de 2 ou mais) de uma pluralidade de pontos tridimensionais incluídos nos dados tridimensionais (S4482); sem dividir o nó-alvo em uma pluralidade de nós filhos determinar, com base no primeiro padrão de ocupação, se a primeira codificação que codifica uma pluralidade de informação de posição tridimensional incluída no nó-alvo é útil (S4483); se o primeiro indicador indicar um segundo valor diferente do primeiro valor (Não em S4481), gerar um segundo padrão de ocupação que indica o estado de ocupação de uma pluralidade de terceiros nós adjacentes não incluindo o primeiro nó adjacente, cujo nó parente é diferente do nó-alvo (S4484); determinar, com base no segundo padrão de ocupação, se a primeira codificação é útil (S4485); e gerar uma sequência de bits que inclui o primeiro indicador (S4486).

Description

Relatório Descritivo da Patente de Invenção para DE CODIFICAÇÃO DE DADOS TRIDIMENSIONAIS, MÉTODO DE DECODIFICAÇÃO DE DADOS TRIDIMENSIONAIS, DISPOSITIVO DE
CODIFICAÇÃO DE DADOS TRIDIMENSIONAIS E DISPOSITIVO DE DECODIFICAÇÃO DE DADOS TRIDIMENSIONAIS CAMPO DA TÉCNICA
[0001] A presente invenção refere-se a um método de codificação de dados tridimensionais, a um método de decodificação de dados tridi- mensionais, a um dispositivo de codificação de dados tridimensionais e a um dispositivo de decodificação de dados tridimensionais.
ANTECEDENTES DA TÉCNICA
[0002] Os dispositivos ou serviços que utilizam dados tridimensio- nais devem ter seu uso difundido em uma faixa ampla de campos, tal como visão de computador que permite as operações autônomas de carros e robôs, informação de mapa, monitoramento, inspeção de infra- estrutura e distribuição de vídeo. Os dados tridimensionais são obtidos através de vários meios, incluindo um sensor de distância, tal como um buscador de faixa, além de uma câmera estéreo e uma combinação de uma pluralidade de câmeras monoculares.
[0003] Os métodos de representação dos dados tridimensionais in- cluem um método conhecido como um esquema de nuvem de pontos que representa o formato de uma estrutura tridimensional por um grupo de pontos em um espaço tridimensional. No esquema de nuvem de pon- tos, as posições e cores de um grupo de pontos são armazenadas. En- quanto a nuvem de pontos deve ser um método principal de represen- tação de dados tridimensionais, uma quantidade massiva de dados de um grupo de pontos necessita de compressão da quantidade de dados tridimensionais, através de codificação, para fins de acúmulo e trans- missão, como no caso de uma imagem em movimento bidimensional (exemplos incluem MPEG-4 AVC e HEVC padronizado por MPEG).
[0004] Enquanto isso, a compressão da nuvem de pontos tem su- porte parcial, por exemplo, por uma biblioteca de fonte aberta (Point Cloud Library) para processamento relacionado com a nuvem de pon- tos.
[0005] Adicionalmente, uma técnica de busca e exibição de uma instalação, localizada nas proximidades do veículo, é conhecida (por exemplo, vide Literatura de Patente (LPT) 1). Lista de Citação Literatura de Patente
[0006] LPT 1: Publicação Internacional WO 2014/020663
SUMÁRIO DA INVENÇÃO PROBLEMA TÉCNICO
[0007] Tem havido uma demanda por melhoria da eficiência de co- dificação em codificação e decodificação de dados tridimensionais.
[0008] A presente invenção tem por objetivo fornecer um método de codificação de dados tridimensionais, um método de decodificação de dados tridimensionais, um dispositivo de codificação de dados tridimen- sionais e um dispositivo de decodificação de dados tridimensionais, que sejam capazes de melhorar a eficiência de codificação.
SOLUÇÕES PARA O PROBLEMA
[0009] Um método de codificação de dados tridimensionais de acordo com um aspecto da presente invenção inclui: (i) quando um pri- meiro indicador indica um primeiro valor, criação de um primeiro padrão de ocupação indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária dos pontos tridimensionais incluídos nos dados tridimensionais, e deter- minação de se primeira codificação é útil com base no primeiro padrão de ocupação, a primeira codificação sendo para codificação de partes de informação de posição dos pontos tridimensionais incluídos no nó atual sem divisão do nó atual em nós filhos; (ii) quando o primeiro indi- cador indica um segundo valor diferente do primeiro valor, criação de um segundo padrão de ocupação indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual, e determinação de se a primeira codificação é útil com base no segundo padrão de ocupação; e (iii) ge- ração de uma sequência de bits incluindo o primeiro indicador.
[0010] Um método de decodificação de dados tridimensionais de acordo com um aspecto da presente invenção inclui: (i) obtenção de um primeiro indicador a partir de uma sequência de bits; (ii) quando o pri- meiro indicador indicar um primeiro valor, criação de um primeiro padrão de ocupação indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais, e deter- minação de se a primeira decodificação é útil com base no primeiro pa- drão de ocupação, a primeira decodificação sendo para decodificação de partes de informação de posição de pontos tridimensionais incluídos no nó atual sem divisão do nó atual em nós filhos; e (iii) quando o pri- meiro indicador indicar um segundo valor diferente do primeiro valor, criação de um segundo padrão de ocupação indicando estados de ocu- pação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual, e determinação de se a primeira decodificação é útil com base no segundo padrão de ocupação.
EFEITO VANTAJOSO DA INVENÇÃO
[0011] A presente invenção provê um método de codificação de da- dos tridimensionais, um método de decodificação de dados tridimensio- nais, um dispositivo de codificação de dados tridimensionais ou um dis- positivo de decodificação de dados tridimensionais que é capaz de me- lhorar a eficiência de codificação.
BREVE DESCRIÇÃO DOS DESENHOS
[0012] A figura 1 é um diagrama ilustrando a estrutura dos dados tridimensionais codificados, de acordo com a modalidade 1. A figura 2 é um diagrama ilustrando um exemplo de estrutu- ras de previsão dentre os SPCs que pertencem à camada mais inferior em um GOS, de acordo com a modalidade 1. A figura 3 é um diagrama ilustrando um exemplo de estrutu- ras de previsão dentre as camadas, de acordo com a modalidade 1. A figura 4 é um diagrama ilustrando uma ordem ilustrativa de codificação de GOSs, de acordo com a modalidade 1. A figura 5 é um diagrama ilustrando uma ordem ilustrativa de codificação de GOSs, de acordo com a modalidade 1. A figura 6 é um diagrama em bloco de um dispositivo de co- dificação de dados tridimensionais, de acordo com a modalidade 1. A figura 7 é um fluxograma de processos de codificação, de acordo com a modalidade 1. A figura 8 é um diagrama em bloco de um dispositivo de de- codificação de dados tridimensionais, de acordo com a modalidade 1. A figura 9 é um fluxograma de processos de decodificação, de acordo com a modalidade 1. A figura 10 é um diagrama ilustrando um exemplo de meta- informação, de acordo com a modalidade 1. A figura 11 é um diagrama ilustrando uma estrutura ilustra- tiva de um SWLD, de acordo com a modalidade 2. A figura 12 é um diagrama ilustrando operações ilustrativas realizadas por um servidor e por um cliente, de acordo com a modali- dade 2. A figura 13 é um diagrama ilustrando operações ilustrativas realizadas pelo servidor e por um cliente, de acordo com a modalidade
2.
A figura 14 é um diagrama ilustrando operações ilustrativas realizadas pelo servidor e pelos clientes, de acordo com a modalidade
2. A figura 15 é um diagrama ilustrando operações ilustrativas realizadas pelo servidor e pelos clientes, de acordo com a modalidade
2. A figura 16 é um diagrama em bloco de um dispositivo de codificação de dados tridimensionais, de acordo com a modalidade 2. A figura 17 é um fluxograma de processos de codificação, de acordo com a modalidade 2. A figura 18 é um diagrama em bloco de um dispositivo de decodificação de dados tridimensionais, de acordo com a modalidade 2. A figura 19 é um fluxograma de processos de decodificação, de acordo com a modalidade 2. A figura 20 é um diagrama ilustrando uma estrutura ilustra- tiva de um WLD, de acordo com a modalidade 2.
A figura 22 é um diagrama ilustrando uma estrutura ilustra- tiva de um SWLD, de acordo com a modalidade 2.
A figura 24 é um diagrama em bloco de um dispositivo de criação de dados tridimensionais, de acordo com a modalidade 3. A figura 25 é um diagrama em bloco de um dispositivo de transmissão de dados tridimensionais, de acordo com a modalidade 3. A figura 26 é um diagrama em bloco de um dispositivo de processamento de informação tridimensional, de acordo com a modali- dade 4. A figura 27 é um diagrama em bloco de um dispositivo de criação de dados tridimensionais, de acordo com a modalidade 5. A figura 28 é um diagrama ilustrando uma estrutura de um sistema, de acordo com a modalidade 6. A figura 29 é um diagrama em bloco de um dispositivo de cliente, de acordo com a modalidade 6. A figura 30 é um diagrama em bloco de um servidor, de acordo com a modalidade 6. A figura 31 é um fluxograma de um processo de criação de dados tridimensionais realizado pelo dispositivo de cliente, de acordo com a modalidade 6. A figura 32 é um fluxograma de um processo de transmissão de informação de sensor realizado pelo dispositivo de cliente, de acordo com a modalidade 6. A figura 33 é um fluxograma de um processo de criação de dados tridimensionais realizado pelo servidor, de acordo com a modali- dade 6; A figura 34 é um fluxograma de um processo de transmissão de mapa tridimensional realizado pelo servidor, de acordo com a moda- lidade 6. A figura 35 é um diagrama ilustrando uma estrutura de uma variação do sistema, de acordo com a modalidade 6. A figura 36 é um diagrama ilustrando uma estrutura dos dis- positivos de servidor e de cliente, de acordo com a modalidade 6. A figura 37 é um diagrama em bloco de um dispositivo de codificação de dados tridimensionais, de acordo com a reivindicação 7. A figura 38 é um diagrama ilustrando um exemplo de um re- sidual de previsão, de acordo com a modalidade 7. A figura 39 é um diagrama ilustrando um exemplo de um vo- lume, de acordo com a modalidade 7. A figura 40 é um diagrama ilustrando um exemplo de uma
A figura 41 é um diagrama ilustrando um exemplo de sequên- cias de bits de volume, de acordo com a modalidade 7. A figura 42 é um diagrama ilustrando um exemplo de uma
A figura 43 é um diagrama ilustrando um exemplo do volume, de acordo com a modalidade 7. A figura 44 é um diagrama para descrever um processo de intraprevisão, de acordo com a modalidade 7. A figura 45 é um diagrama para descrever um processo de rotação e translação, de acordo com a modalidade 7. A figura 46 é um diagrama ilustrando uma sintaxe ilustrativa de um indicador de RT e informação de RT, de acordo com a modali- dade 7. A figura 47 é um diagrama para descrever um processo de interprevisão, de acordo com a modalidade 7. A figura 48 é um diagrama em bloco de um dispositivo de decodificação de dados tridimensionais, de acordo com a modalidade 7. A figura 49 é um fluxograma de um processo de codificação de dados tridimensionais realizado pelo dispositivo de codificação de dados tridimensionais, de acordo com a modalidade 7. A figura 50 é um fluxograma de um processo de decodifica- ção de dados tridimensionais realizado pelo dispositivo de decodifica- ção de dados tridimensionais, de acordo com a modalidade 7. A figura 51 é um diagrama ilustrando uma relação de refe-
A figura 52 é um diagrama ilustrando uma relação de refe- rência em uma região espacial, de acordo com a modalidade 8. A figura 53 é um diagrama ilustrando um exemplo de nós de referência vizinhos, de acordo com a modalidade 8. A Figura 54 é um diagrama ilustrando uma relação entre um nó parente e nós, de acordo com a modalidade 8. A Figura 55 é um diagrama ilustrando um exemplo de um código de ocupação do nó parente, de acordo com a modalidade 8. A Figura 56 é um diagrama em bloco de um dispositivo de codificação de dados tridimensionais, de acordo com a modalidade 8. A Figura 57 é diagrama em bloco de um dispositivo de deco- dificação de dados tridimensionais, de acordo com a modalidade 8. A Figura 58 é um fluxograma de um processo de codificação de dados tridimensionais, de acordo com a modalidade 8. A Figura 59 é um fluxograma de um processo de decodifica- ção de dados tridimensionais, de acordo com a modalidade 8. A Figura 60 é um diagrama ilustrando um exemplo de sele- ção de uma tabela de codificação, de acordo com a modalidade 8. A Figura 61 é um diagrama ilustrando uma relação de refe- rência em uma região espacial, de acordo com a Variação 1 da modali- dade 8. A Figura 62 é um diagrama ilustrando uma sintaxe ilustrativa de informação de cabeçalho, de acordo com a Variação 1 da modali- dade 8. A Figura 63 é um diagrama ilustrando uma sintaxe ilustrativa de informação de cabeçalho, de acordo com a Variação 1 da modali- dade 8. A Figura 64 é um diagrama ilustrando um exemplo de nós de referência vizinhos, de acordo com a Variação 2 da modalidade 8. A Figura 65 é um diagrama ilustrando um exemplo de nó atual e nós vizinhos, de acordo com a Variação 2 da modalidade 8. A Figura 66 é um diagrama ilustrando uma relação de refe- com a Variação 3 da modalidade 8. A Figura 67 é um diagrama ilustrando uma relação de refe- rência em uma região espacial, de acordo com a Variação 3 da modali- dade 8. A figura 68 é um diagrama ilustrando um exemplo de nós vizinhos e um processo, de acordo com a modalidade 9. A figura 69 é um fluxograma de um processo de codifi- cação de dados tridimensionais, de acordo com a modalidade 9. A figura 70 é um fluxograma de um processo de codifi- cação de dados tridimensionais, de acordo com a modalidade 9. A figura 71 é um fluxograma de uma variação do processo de codificação de dados tridimensionais, de acordo com a modalidade
9. A figura 72 é um fluxograma de um processo de decodifica- ção de dados tridimensionais, de acordo com a modalidade 9. A figura 73 é um fluxograma de uma variação do processo de decodificação de dados tridimensionais, de acordo com a modali- dade 9. A figura 74 é um diagrama ilustrando um exemplo de uma sintaxe de um cabeçalho, de acordo com a modalidade 9. A figura 75 é um diagrama ilustrando um exemplo de uma sintaxe de uma informação de nó, de acordo com a modalidade 9. A figura 76 é um diagrama em bloco de um dispositivo de codificação de dados tridimensionais de acordo com a modalidade 9. A figura 77 é um diagrama em bloco de um dispositivo de decodificação de dados tridimensionais, de acordo com a modalidade 9. A figura 78 é um fluxograma de uma variação do processo de codificação de dados tridimensionais, de acordo com a modalidade
9. A figura 79 é um fluxograma de uma variação do processo de codificação de dados tridimensionais, de acordo com a modalidade
9. A figura 80 é um fluxograma de uma variação do processo de decodificação de dados tridimensionais, de acordo com a modali- dade 9. A figura 81 é um fluxograma de uma variação do processo d decodificação de dados tridimensionais, de acordo com a modalidade 9. A figura 82 é um fluxograma de um processo de codificação de dados tridimensionais, de acordo com a modalidade 9. A figura 83 é um fluxograma de um processo de decodifica- ção de dados tridimensionais, de acordo com a modalidade 9.
DESCRIÇÃO DE MODALIDADES EXEMPLARES
[0013] Um método de codificação de dados tridimensionais de acordo com um aspecto da presente invenção inclui: (i) quando um pri- meiro indicador indica um primeiro valor, criação de um primeiro padrão de ocupação indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária dos pontos tridimensionais incluídos nos dados tridimensionais, e deter- minação de se primeira codificação é útil com base no primeiro padrão de ocupação, a primeira codificação sendo para codificação de partes de informação de posição dos pontos tridimensionais incluídos no nó atual sem divisão do nó atual em nós filhos; (ii) quando o primeiro indi- cador indica um segundo valor diferente do primeiro valor, criação de um segundo padrão de ocupação indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual, e determinação de se a primeira codificação é útil com base no segundo padrão de ocupação; e (iii) ge- ração de uma sequência de bits incluindo o primeiro indicador.
[0014] Com isso, o método de codificação de dados tridimensionais é capaz de selecionar um padrão de ocupação de nós vizinhos a ser usado para determinação de se a primeira codificação é útil, de acordo com o primeiro indicador. Sendo assim, uma vez que é possível deter- minar apropriadamente se a primeira codificação é útil, é possível me- lhorar a eficiência de codificação.
[0015] Por exemplo, (i) quando a primeira codificação é determi- nada ser útil, se a primeira codificação deve ser usada pode ser deter- minado com base em uma condição predeterminada, (ii) quando a pri- meira codificação é determinada ser usada, o nó atual pode codificar usando a primeira codificação, (iii) quando a primeira codificação é de- terminada não ser usada, o nó atual é codificado usando segunda codi- ficação para divisão do nó atual em nós filhos, e a sequência de bits pode incluir ainda um segundo indicador indicando se a primeira deve ser usada.
[0016] Por exemplo, na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira codificação é útil pode ser determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocu- pação e (ii) um número total de nós ocupados incluídos no nó parente.
[0017] Por exemplo, na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira codificação é útil pode ser determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocu- pação e (ii) um número total de nós ocupados incluído em um nó avô do nó atual.
[0018] Por exemplo, na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira codificação é útil pode ser determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocu- pação e (ii) uma camada à qual o nó atual pertence.
[0019] Um método de decodificação de dados tridimensionais de acordo com um aspecto da presente invenção inclui: (i) obtenção de um primeiro indicador a partir de uma sequência de bits; (ii) quando o pri- meiro indicador indica um primeiro valor, criação de um primeiro padrão de ocupação indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais, e deter- minação de se primeira decodificação é útil com base no primeiro pa- drão de ocupação, a primeira decodificação sendo para decodificação de partes de informação de posição de pontos tridimensionais incluídos no nó atual sem divisão do nó atual em nós filhos; e (iii) quando o pri- meiro indicador indica um segundo valor diferente do primeiro valor, cri- ação de um segundo padrão de ocupação indicando estados de ocupa- ção dos terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual, e determinação de se a primeira decodificação é útil com base no segundo padrão de ocupação.
[0020] Com isso, o método de decodificação de dados tridimensio- nais é capaz de selecionar um padrão de ocupação de nós vizinhos a ser usado para determinar se a primeira codificação é útil, de acordo com o primeiro indicador. Sendo assim, uma vez que é possível deter- minar apropriadamente se a primeira codificação é útil, é possível me- lhorar a eficiência de codificação.
[0021] Por exemplo, (i) quando a primeira decodificação é determi- nada ser útil, um segundo indicador indicando se a primeira codificação deve ser usada pode ser obtido a partir da sequência de bits, (ii) quando o segundo indicador indica que a primeira decodificação deve ser usada, o nó atual pode ser decodificado usando a primeira decodifica- ção e (iii) quando o segundo indicador indica que a primeira decodifica-
ção não deve ser usada, o nó atual pode ser decodificado usando se- gundo decodificação para divisão do nó atual em nós filhos.
[0022] Por exemplo, na determinação de se a primeira decodifica- ção é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira decodificação é útil pode ser deter- minado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um número total de nós ocupados incluído no nó parente.
[0023] Por exemplo, na determinação de se a primeira decodifica- ção é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira decodificação é útil pode ser deter- minado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um número total de nós ocupados incluído em um nó avô do nó atual.
[0024] Por exemplo, na determinação de se a primeira decodifica- ção é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira decodificação é útil pode ser deter- minado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) uma camada à qual o nó atual pertence.
[0025] Um dispositivo de codificação de dados tridimensionais de acordo com um aspecto da presente invenção é um dispositivo de codi- ficação de dados tridimensionais que codifica pontos tridimensionais tendo informação de atributo, o dispositivo de codificação de dados tri- dimensionais incluindo um processador e memória. Usando a memória, o processador: (i) quando um primeiro indicador indica um primeiro va- lor, cria um primeiro padrão de ocupação indicando estados de ocupa- ção de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente do nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais, e determina se primeira codificação é útil com base no primeiro padrão de ocupação, a primeira codificação sendo para codifi- cação de partes de informação de posição de pontos tridimensionais incluídos no nó atual sem dividir o nó atual em nós filhos; (ii) quando o primeiro indicador indica um segundo valor diferente do primeiro valor, cria um segundo padrão de ocupação indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó pa- rente diferente do nó parente do nó atual, e determina se a primeira codificação é útil com base no segundo padrão de ocupação; e (iii) gera uma sequência de bits incluindo o primeiro indicador.
[0026] Com isso, o dispositivo de codificação de dados tridimensio- nais pode selecionar um padrão de ocupação de nós vizinhos a ser usado para determinar se a primeira codificação é útil, de acordo com o primeiro indicador. Sendo assim, uma vez que é possível determinar apropriadamente se a primeira codificação é útil, é possível melhorar a eficiência de codificação.
[0027] Um dispositivo de decodificação de dados tridimensionais de acordo com um aspecto da presente invenção é um dispositivo de de- codificação de dados tridimensionais que decodifica pontos tridimensio- nais tendo informação de atributo, o dispositivo de codificação de dados tridimensionais incluindo um processador e memória. Usando a memó- ria, o processador: (i) quando o primeiro indicador indica um primeiro valor, cria um primeiro padrão de ocupação indicando estados de ocu- pação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais, e determina se primeira decodificação é útil com base no primeiro padrão de ocupação, a primeira decodificação sendo para decodificação de partes de informação de posição de pontos tridi- mensionais incluídos no nó atual sem dividir o nó atual em nós filhos; e cria um segundo padrão de ocupação indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó pa- rente diferente do nó parente do nó atual, e determina se a primeira decodificação é útil com base no padrão de ocupação secundário.
[0028] Com isso, o dispositivo de decodificação de dados tridimen- sionais pode selecionar um padrão de ocupação de nós vizinhos a ser usado para determinação de se a primeira codificação é útil, de acordo com um primeiro indicador. Desta maneira, uma vez que é possível de- terminar apropriadamente se a primeira codificação é útil, é possível melhorar a eficiência de codificação.
[0029] Note-se que esses aspectos gerais e específicos podem ser implementados como um sistema, um método, um circuito integrado, um programa de computador, ou um meio de gravação legível por com- putador, tal como CD-ROM, ou podem ser implementados como qual- quer combinação de um sistema, um método, um circuito integrado, um programa de computador, e um meio de gravação.
[0030] A seguir são descritas modalidades com referência aos de- senhos. Note-se que as modalidades a seguir ilustram modalidades ilus- trativas da presente descrição. Valores numéricos, formatos, materiais, componentes estruturais, a disposição e conexão dos componentes es- truturais, etapas, ordem de processamento das etapas etc., ilustrados nas modalidades a seguir, são meros exemplos, e, dessa forma, não devem limitar a presente descrição. Dos componentes estruturais des- critos nas modalidades a seguir, os componentes estruturais não men- cionados em qualquer uma das reivindicações independentes, que indi- cam os conceitos mais amplos, serão descritos como componentes es- truturais opcionais. Modalidade 1
[0031] Primeiro, a estrutura de dados dos dados tridimensionais co- dificados (doravante também referidos como dados codificados), de acordo com a presente modalidade, será descrita. A figura 1 é um dia- grama ilustrando a estrutura dos dados tridimensionais codificados, de acordo com a presente modalidade.
[0032] Na presente modalidade, um espaço tridimensional é divi- dido em espaços (SPCs), que correspondem às imagens na codificação de imagem em movimento, e os dados tridimensionais são codificados SPC por SPC. Cada SPC é adicionalmente dividido em volumes (VLMs), que correspondem a macro blocos etc. na codificação de ima- gem em movimento, e previsões e transformações são realizadas VLM sendo uma unidade mínima na qual as coordenadas de posição são associadas. Note-se que a previsão é um processo de geração de da- dos tridimensionais de previsão análogos a uma unidade de processa- mento atual por referência a outra unidade de processamento, e a codi- ficação de um diferencial entre os dados tridimensionais de previsão e a unidade de processamento atual, como no caso de previsões realiza- das nas imagens bidimensionais. Tal previsão inclui não apenas a pre- visão espacial, na qual outra unidade de previsão, que corresponde ao mesmo tempo, é referida, mas também a previsão temporal, na qual uma unidade de previsão, que corresponde a um tempo diferente, é re- ferida.
[0033] Quando da decodificação de um espaço tridimensional re- presentado pelos dados do grupo de pontos, tal como uma nuvem de pontos, por exemplo, o dispositivo de codificação de dados tridimensio- nais (doravante também referido como dispositivo de codificação) codi- de uma forma coletiva, de acordo com um tamanho de voxel.
870200152631, de 04/12/2020, pág. 86/261 maiores permitem uma representação aproximada do formato tridimen- sional de um grupo de pontos.
[0034] Note-se que o apresentado a seguir descreve o caso no qual os dados tridimensionais são uma nuvem de pontos, mas os dados tri- dimensionais não estão limitados a uma nuvem de pontos, e, dessa forma, os dados tridimensionais de qualquer formato podem ser empre- gados.
[0035] Além disso, note- podem ser utilizados. Em tal caso, o fato de a hierarquia incluir n níveis, se um ponto de amostragem está incluído no nível n-1 ou seus níveis inferiores (os níveis inferiores ao nível n), pode ser sequencial- mente indicado. Por exemplo, quando apenas o nível n é decodificado, e o nível n-1 ou seus níveis inferiores incluem um ponto de amostragem, o nível n pode ser decodificado considerando-se que um ponto de amos- trag
[0036] Além disso, o dispositivo de codificação obtém dados de grupo de pontos, utilizando, por exemplo, um sensor de distância, uma câmera estéreo, uma câmera monocular, um sensor giroscópico, ou um sensor inercial.
[0037] Como no caso de codificação de imagem em movimento, cada SPC é classificado em uma das pelo menos três estruturas de pre- visão que incluem intra SPC (I-SPC), que é individualmente decodificá- vel; SPC de previsão (P-SPC) capaz de uma referência apenas unidire- cional; e SPC bidirecional (B-SPC) capaz de referências bidirecionais. Cada SPC inclui dois tipos de informação de tempo: tempo de decodifi- cação e tempo de exibição.
[0038] Adicionalmente, como ilustrado na figura 1, uma unidade de processamento, que inclui uma pluralidade de SPCs, é um grupo de es- paços (GOS), que é uma unidade de acesso randômico. Além disso, uma unidade de processamento, que inclui uma pluralidade de GOSs é um mundo (WLD).
[0039] A região espacial ocupada por cada mundo é associada a uma posição absoluta na terra, por meio de uso, por exemplo, de GPS, ou informação de latitude e longitude. Tal informação de posição é ar- mazenada como metainformação. Note-se que a metainformação pode ser incluída em dados codificados, ou pode ser transmitida separada- mente a partir dos dados codificados.
[0040] Além disso, dentro de um GOS, todos os SPCs podem ser tridimensionalmente adjacentes um ao outro, ou pode haver um SPC que não é tridimensionalmente adjacente a outro SPC.
[0041] Note-se que a seguir também são descritos os processos, tal como codificação, decodificação e referência, a serem realizados nos dados tridimensionais incluídos nas unidades de processamento, tal como GOS, SPC e VLM, simplesmente como realização de codifica- ção/para codificar, decodificação/para decodificar, referência, etc. em uma unidade de processamento. Note-se também que os dados tridi- mensionais incluídos em uma unidade de processamento incluem, por exemplo, pelo menos um par de uma posição espacial, tal como coor- denadas tridimensionais, e um valor de atributo, tal como informação de cor.
[0042] A seguir, as estruturas de previsão, dentre SPCs em um GOS, serão descritas. Uma pluralidade de SPCs, no mesmo GOS, ou uma pluralidade de VLMs, no mesmo SPC, ocupam espaços mutua- mente diferentes, enquanto possuem a mesma informação de tempo (o tempo de decodificação e o tempo de exibição).
[0043] Um SPC em um GOS que vem primeiro na ordem de deco- dificação é um I-SPC. GOS vem em dois tipos: GOS fechado e GOS aberto. Um GOS fechado é um GOS no qual todos os SPCs no GOS são decodificáveis quando a decodificação começa a partir do primeiro
I-SPC. Enquanto isso, um GOS aberto é um GOS no qual um GOS di- ferente é referido em um ou mais SPCs antecedendo o primeiro I-SPC no GOS no tempo de exibição, e, dessa forma, não podem ser decodi- ficados isoladamente.
[0044] Note-se que no caso de dados codificados da informação de mapa, por exemplo, um WLD é algumas vezes decodificado na direção de retrocesso, que é oposta à ordem de codificação, e, dessa forma, a reprodução retroativa é difícil quando os GOSs são interdependentes. Em tal caso, um GOS fechado é basicamente utilizado.
[0045] Cada GOS possui uma estrutura de camada em direção de altura, e SPCs são sequencialmente codificados ou decodificados a par- tir dos SPCs na camada inferior.
[0046] A figura 2 é um diagrama ilustrando um exemplo de estrutu- ras de previsão dentre os SPCs que pertencem à camada mais inferior de um GOS. A figura 3 é um diagrama ilustrando um exemplo de estru- turas de previsão dentre as camadas.
[0047] Um GOS inclui pelo menos um I-SPC. Dos objetos em um espaço tridimensional, tal como uma pessoa, um animal, um carro, uma bicicleta, um sinal, e um edifício servindo como um marco, um objeto de tamanho reduzido é especialmente eficiente quando codificado como um I-SPC. Quando da decodificação de um GOS em um rendimento baixo ou em uma alta velocidade, por exemplo, o dispositivo de decodi- ficação de dados tridimensionais (doravante também referido como dis- positivo de decodificação) decodifica apenas I-SPC(s) no GOS.
[0048] O dispositivo de codificação também pode alterar o intervalo de codificação ou a frequência de surgimento de I-SPCs, dependendo do grau de escassez e densidade dos objetos em um WLD.
[0049] Na estrutura ilustrada na figura 3, o dispositivo de codificação ou o dispositivo de decodificação codificam ou decodificam uma plurali- dade de camadas, sequencialmente a partir da camada inferior (camada
1). Isso aumenta a prioridade de dados no solo e em suas proximidades, o que envolve uma maior quantidade de informação, quando, por exem- plo, um carro de direção automática, é considerado.
[0050] Com referência aos dados codificados utilizados para um drone, por exemplo, a codificação ou decodificação pode ser realizada sequencialmente a partir de SPCs na camada superior em um GOS na direção da altura.
[0051] O dispositivo de codificação ou o dispositivo de decodifica- ção também podem codificar ou decodificar uma pluralidade de cama- das de uma forma na qual o dispositivo de decodificação pode ter uma ideia aproximada de um GOS, primeiramente, e, então, a resolução é gradualmente aumentada. O dispositivo de codificação ou o dispositivo de decodificação pode realizar a codificação ou decodificação na ordem das camadas 3, 8, 1, 9.., por exemplo.
[0052] A seguir, o manuseio de objetos estáticos e objetos dinâmi- cos será descrito.
[0053] Um espaço tridimensional inclui cenas ou objetos inanima- dos, tal como um edifício ou uma estrada (doravante coletivamente cha- mados de objetos estáticos), e objetos com movimento, tal como um carro e uma pessoa (doravante coletivamente referidos como objetos dinâmicos). A detecção do objeto é realizada separadamente, por exem- plo, pela extração de pontos chave dos dados de nuvem de pontos, ou de vídeo de uma câmera, tal como uma câmera estéreo. Nessa descri- ção, um método ilustrativo de codificação de um objeto dinâmico será descrito.
[0054] Um primeiro método é um método no qual um objeto estático e um objeto dinâmico são codificados sem distinção. Um segundo mé- todo é um método no qual uma distinção é feita entre um objeto estático e um objeto dinâmico com base na informação de identificação.
[0055] Por exemplo, um GOS é utilizado como uma unidade de identificação. Em tal caso, uma distinção é feita entre um GOS, que in- clui SPCs que constituem um objeto estático, e um GOS que inclui SPCs que constituem um objeto dinâmico, com base na informação de identi- ficação armazenada nos dados codificados ou armazenada separada- mente dos dados codificados.
[0056] Alternativamente, um SPC pode ser utilizado como uma uni- dade de identificação. Em tal caso, uma distinção é feita entre um SPC que inclui VLMs, que constituem um objeto estático, e um SPC que inclui VLMs, que constituem um objeto dinâmico, com base na informação de identificação descrita dessa forma.
[0057] Alternativamente, um VLM ou um VXL pode ser utilizado como uma unidade de identificação. Em tal caso, uma distinção é feita entre um VLM ou um VXL, que inclui um objeto estático, e um VLM ou um VXL, que inclui um objeto dinâmico, com base na informação de identificação descrita dessa forma.
[0058] O dispositivo de codificação também pode codificar um ob- jeto dinâmico como pelo menos um VLM ou SPC, e pode codificar um VLM ou um SPC incluindo um objeto estático e um SPC incluindo um objeto dinâmico como GOS mutuamente diferentes. Quando o tamanho do GOS é variável, dependendo do tamanho de um objeto dinâmico, o dispositivo de codificação armazena, separadamente, o tamanho de GOS como metainformação.
[0059] O dispositivo de codificação também pode codificar um ob- jeto estático e um objeto dinâmico, separadamente um do outro, e pode sobrepor o objeto dinâmico a um mundo constituído por objetos estáti- cos. Em tal caso, o objeto dinâmico é constituído por pelo menos um SPC, e cada SPC é associado a pelo menos um SPC que constitui o objeto estático, no qual cada SPC deve ser sobreposto. Note-se que um objeto dinâmico pode ser representado não pelos SPC(s), mas por pelo menos um VLM ou VXL.
[0060] O dispositivo de codificação também pode codificar um ob- jeto estático e um objeto dinâmico como sequências mutuamente dife- rentes.
[0061] O dispositivo de codificação também pode gerar um GOS, que inclui pelo menos um SPC constituindo um objeto dinâmico. O dis- positivo de codificação pode, adicionalmente, configurar o tamanho de um GOS, incluindo um objeto dinâmico (GOS_M), e o tamanho de um GOS incluindo um objeto estático que corresponde à região espacial de GOS_M no mesmo tamanho (tal como a mesma região espacial sendo ocupada). Isso permite que a sobreposição seja realizada, GOS por GOS.
[0062] SPC(s) incluídos em outros GOS codificados podem ser re- feridos em um P-SPC ou um B-SPC que constituem um objeto dinâmico. No caso no qual a posição de um objeto dinâmico muda temporalmente, e mesmo objeto dinâmico é codificado como um objeto em um GOS, correspondendo a um tempo diferente, a referência a SPC(s)_ através dos GOSs é eficiente em termos de taxa de compressão.
[0063] O primeiro método e o segundo método podem ser selecio- nados, de acordo com o uso pretendido dos dados codificados. Quando os dados tridimensionais codificados são utilizados como um mapa, por exemplo, um objeto dinâmico deve ser separado, e, dessa forma, o dis- positivo de codificação utiliza o segundo método. Enquanto isso, o dis- positivo de codificação utiliza o primeiro método quando a separação de um objeto dinâmico não é necessária, tal como no caso onde os dados tridimensionais de um evento, tal como um concerto ou um evento es- portivo, são codificados.
[0064] O tempo de codificação e o tempo de exibição de um GOS ou um SPC podem ser armazenados nos dados codificados ou como metainformação. Todos os objetos estáticos podem ter a mesma infor-
mação de tempo. Em tal caso, o dispositivo de decodificação pode de- terminar o tempo real de decodificação e o tempo real de exibição. Al- ternativamente, um valor diferente pode ser designado para cada GOS ou SPC como o tempo de decodificação, e o mesmo valor pode ser de- signado como tempo de exibição. Adicionalmente, como no caso do mo- delo de decodificador na codificação de imagem em movimento, tal como o Decodificador de Referência Hipotética (HRD) em conformidade com HEVC, um modelo pode ser empregado, garantindo que um deco- dificador possa realizar a decodificação sem falhas, mas possuindo um armazenador temporário de um tamanho predeterminado, e pela leitura de uma sequência de bits em uma taxa de bits predeterminada, de acordo com os tempos de decodificação.
[0065] A seguir, a topologia dos GOSs em um mundo será descrita. As coordenadas do espaço tridimensional em um mundo são represen- tadas pelos três eixos geométricos de coordenadas (eixo geométrico x, eixo geométrico y e eixo geométrico z), que são ortogonais um ao outro. Uma regra predeterminada configurada para a ordem de codificação de GOSs permite que a codificação seja realizada, de modo que GOSs es- pacialmente adjacentes sejam contíguos nos dados codificados. Em um exemplo ilustrado na figura 4, por exemplo, GOSs nos planos x e z são codificados sucessivamente. Depois da finalização da codificação de to- dos os GOSs em determinados planos x e z, o valor do eixo geométrico y é atualizado. De outra forma, o mundo expande na direção do eixo geométrico y à medida que a codificação progride. Os números de ín- dice GOS são determinados de acordo com a ordem de codificação.
[0066] No presente documento, os espaços tridimensionais nos mundos respectivos são previamente associados, um para um, às coor- denadas geográficas absolutas, tal como coordenadas GPS ou coorde- nadas de latitude/longitude. Alternativamente, cada espaço tridimensio- nal pode ser representado como uma posição relativa a uma posição de referência previamente determinada. As direções do eixo geométrico x, do eixo geométrico y e do eixo geométrico z, no espaço tridimensional, são representadas por vetores direcionais que são determinados com base nas latitudes e longitudes etc. Tais vetores direcionais são arma- zenados juntos com os dados codificados como metainformação.
[0067] GOSs possuem um tamanho fixo, e o dispositivo de codifica- ção armazena tal tamanho como metainformação. O tamanho de GOS pode ser alterado dependendo, por exemplo, de se é uma área urbana ou não, ou se está dentro ou fora de um cômodo. De outra forma, o tamanho de GOS pode ser alterado de acordo com a quantidade ou atributos dos objetos com valores de informação. Alternativamente, no mesmo mundo, o dispositivo de codificação pode alterar, de forma adap- tativa, o tamanho de GOS ou intervalo entre I-SPCs nos GOSs, de acordo com a densidade do objeto etc. Por exemplo, o dispositivo de codificação configura o tamanho de GOS para que seja menor, e o in- tervalo entre I-SPCs nos GOSs para ser mais curto, à medida que a densidade do objeto aumenta.
[0068] Em um exemplo ilustrado na figura 5, para se permitir o acesso randômico com um maior detalhamento, um GOS com uma alta densidade de objeto é dividido em regiões do terceiro ao décimo GOSs. Note-se que os sétimo a décimo GOSs estão localizados atrás dos ter- ceiro a sexto GOSs.
[0069] A seguir, a estrutura e o fluxo operacional do dispositivo de codificação de dados tridimensionais, de acordo com a presente moda- lidade, serão descritos. A figura 6 é um diagrama em bloco do disposi- tivo de codificação de dados tridimensionais 100, de acordo com a pre- sente modalidade. A figura 7 é um fluxograma de uma operação ilustra- tiva realizada pelo dispositivo de codificação de dados tridimensionais
100.
[0070] O dispositivo de codificação de dados tridimensionais 100,
ilustrado na figura 6, codifica os dados tridimensionais 111, gerando, assim, dados tridimensionais codificados 112. Tal dispositivo de codifi- cação de dados tridimensionais 100 inclui o elemento de obtenção 101, o determinador de região de codificação 102, o divisor 103 e o codifica- dor 104.
[0071] Como ilustrado na figura 7, primeiro, o elemento de obtenção 101 obtém os dados tridimensionais 111, que são os dados de grupo de pontos (S101).
[0072] A seguir, o determinador de região de codificação 102 deter- mina uma região atual para codificação, dentre as regiões espaciais que correspondem aos dados do grupo de pontos (S102) obtido. Por exem- plo, de acordo com a posição de um usuário ou de um veículo, o deter- minador de região de codificação 102 determina, como a região atual, uma região espacial em torno de tal posição.
[0073] A seguir, o divisor 103 divide os dados do grupo de pontos incluídos na região atual em unidades de processamento. As unidades de processamento, no presente documento, significam unidades, tal como GOSs e SPCs, como descrito acima. A região atual, no presente documento, corresponde, por exemplo, a um mundo descrito acima. Mais especificamente, o divisor 103 divide os dados de grupo de pontos em unidades de processamento com base em um tamanho de GOS predeterminado, ou na presença/ausência/tamanho de um objeto dinâ- mico (S103). O divisor 103 determina, adicionalmente, a posição inicial do SPC que vem primeiro na ordem de codificação em cada GOS.
[0074] A seguir, o codificador 104 codifica sequencialmente uma pluralidade de SPCs em cada GOS, gerando, assim, os dados tridimen- sionais codificados 112 (S104).
[0075] Note-se que, apesar de um exemplo ser descrito no presente documento, no qual a região atual é dividida em GOSs e SPCs, depois da qual cada GOS é codificada, as etapas de processamento não estão limitadas a essa ordem. Por exemplo, as etapas podem ser emprega- das, nas quais a estrutura de um único GOS é determinada, que é se- guido pela codificação de tal GOS, e, então, a estrutura do GOS subse- quente é determinada.
[0076] Como descrito, o dispositivo de codificação de dados tridi- mensionais 100 codifica os dados tridimensionais 111, gerando, assim, os dados tridimensionais codificados 112. Mais especificamente, o dis- positivo de codificação de dados tridimensionais 100 divide os dados tridimensionais em primeiras unidades de processamento (GOSs), cada uma sendo uma unidade de acesso randômico e sendo associada às coordenadas tridimensionais, divide cada uma das primeiras unidades de processamento (GOSs) em segundas unidades de processamento (SPCs), e divide cada uma das segundas unidades de processamento (SPCs) em terceiras unidades de processamento (VLMs). Cada uma das terceiras unidades de processamento (VLMs) inclui pelo menos um associada.
[0077] A seguir, o dispositivo de codificação de dados tridimensio- nais 100 codifica cada uma das primeiras unidades de processamento (GOSs), gerando, assim, dados tridimensionais codificados 112. Mais especificamente, o dispositivo de codificação de dados tridimensionais 100 codifica cada uma das segundas unidades de processamento (SPCs) em cada uma das primeiras unidades de processamento (GOSs). O dispositivo de codificação de dados tridimensionais 100 co- difica, adicionalmente, cada uma das terceiras unidades de processa- mento (VLMs) em cada uma das segundas unidades de processamento (SPCs).
[0078] Quando uma primeira unidade de processamento atual (GOS) é um GOS fechado, por exemplo, o dispositivo de codificação de dados tridimensionais 100 codifica uma segunda unidade de processa- mento atual (SPC), incluída em tal primeira unidade de processamento atual (GOS), fazendo referência a outra segunda unidade de processa- mento (SPC), incluída na primeira unidade de processamento atual (GOS). De outra forma, o dispositivo de codificação de dados tridimen- sional 100 não faz referência a qualquer segunda unidade de processa- mento (SPC) incluída em uma primeira unidade de processamento (GOS), que seja diferente da primeira unidade de processamento atual (GOS).
[0079] Enquanto isso, quando uma primeira unidade de processa- mento atual (GOS) é um GOS aberto, o dispositivo de codificação de dados tridimensionais 100 codifica uma segunda unidade de processa- mento atual (SPC) incluída em tal primeira unidade de processamento atual (GOS), fazendo referência a outra segunda unidade de processa- mento (SPC), incluída na primeira unidade de processamento atual (GOS), ou uma segunda unidade de processamento (SPC), incluída em uma primeira unidade de processamento (GOS), que seja diferente da primeira unidade de processamento atual (GOS).
[0080] Além disso, o dispositivo de codificação de dados tridimensi- onais 100 seleciona, como o tipo de uma segunda unidade de proces- samento atual (SPC), um dos seguintes: um primeiro tipo (I-SPC), no qual outra segunda unidade de processamento (SPC) não é referida; um segundo tipo (P-SPC), no qual outra segunda unidade de processa- mento singular (SPC) é referida; e um terceiro tipo, no qual outras duas unidades de processamento (SPC) são referidas. O dispositivo de codi- ficação de dados tridimensionais 100 codifica a segunda unidade de processamento atual (SPC) de acordo com o tipo selecionado.
[0081] A seguir, a estrutura e o fluxo operacional do dispositivo de decodificação de dados tridimensionais, de acordo com a presente mo-
dalidade, serão descritos. A figura 8 é um diagrama em bloco do dispo- sitivo de decodificação de dados tridimensionais 200, de acordo com a presente modalidade. A figura 9 é um fluxograma de uma operação ilus- trativa realizada pelo dispositivo de decodificação de dados tridimensio- nais 200.
[0082] O dispositivo de decodificação de dados tridimensionais 200 ilustrado na figura 8 decodifica os dados tridimensionais codificados 211, gerando, assim, os dados tridimensionais decodificados 212. Os dados tridimensionais codificados 211, no presente documento, por exemplo, são dados tridimensionais codificados 112 gerados pelo dis- positivo de codificação de dados tridimensionais 100. Tal dispositivo de decodificação de dados tridimensionais 200 inclui o elemento de obten- ção 201, o determinador GOS inicial de decodificação 202, o determi- nador SPC de decodificação 203 e o decodificador 204.
[0083] Primeiro, o elemento de obtenção 201 obtém os dados tridi- mensionais codificados 211 (S201). A seguir, o determinador GOS ini- cial de decodificação 202 determina um GOS atual para decodificação (S202). Mais especificamente, o determinador GOS inicial de decodifi- cação 202 se refere à metainformação armazenada nos dados tridimen- sionais codificados 211, ou armazenados separadamente, dos dados tridimensionais codificados para determinar, como o GOS atual, um GOS que inclui um SPC correspondente à posição espacial, ao objeto, ou ao tempo a partir do qual a decodificação deve ser iniciada.
[0084] A seguir, o determinador de SPC de decodificação 203 de- termina o tipo (I, P e/ou B) de SPCs a serem decodificados no GOS (S203). Por exemplo, o determinador de SPC de decodificação 203 de- termina se (1) decodifica apenas I-SPC(s), (2) se decodifica I-SPC(s) e P-SPCs ou (3) se decodifica SPCs de todos os tipos. Note-se que a presente etapa pode não ser realizada, quando os tipos de SPCs a se- rem decodificados forem previamente determinados, tal como quando todos os SPCs são previamente determinados para serem decodifica- dos.
[0085] A seguir, o decodificador 204 obtém uma localização de en- dereço dentro dos dados tridimensionais codificados 211, de onde um SPC, que vem primeiro no GOS na ordem de decodificação (o mesmo que a ordem de codificação), começa. O decodificador 204 obtém os dados codificados do primeiro SPC a partir da localização de endereço, e decodifica sequencialmente os SPCs a partir de tal primeiro SPC (S204). Note-se que a localização de endereço é armazenada na meta- informação, etc.
[0086] O dispositivo de decodificação de dados tridimensionais 200 decodifica os dados tridimensionais decodificados 212 como descrito no presente documento. Mais especificamente, o dispositivo de decodifica- ção de dados tridimensionais 200 decodifica cada um dos dados tridi- mensionais codificados 211 das primeiras unidades de processamento (GOSs), cada um sendo uma unidade de acesso randômico e sendo associado às coordenadas tridimensionais, gerando, dessa forma, os dados tridimensionais decodificados 212 das primeiras unidades de pro- cessamento (GOSs). Ainda mais especificamente, o dispositivo de de- codificação de dados tridimensionais 200 decodifica cada uma das se- gundas unidades de processamento (SPCs) em cada uma das primei- ras unidades de processamento (GOSs). O dispositivo de decodificação de dados tridimensionais 200 decodifica, adicionalmente, cada uma das terceiras unidades de processamento (VLMs) em cada uma das segun- das unidades de processamento (SPCs).
[0087] A seguir é descrita a metainformação para acesso randô- mico. Tal metainformação é gerada pelo dispositivo de codificação de dados tridimensionais 100, e incluída nos dados tridimensionais codifi- cados 112 (211).
[0088] No acesso randômico convencional para uma imagem em movimento bidimensional, a decodificação começa no primeiro quadro em uma unidade de acesso randômico que está próximo de um tempo especificado. Enquanto isso, em adição aos tempos, o acesso randô- mico para espaços (coordenadas, objetos etc.) é considerado realizado em um mundo.
[0089] Para se permitir o acesso randômico a pelo menos três ele- mentos de coordenadas, objetos e tempos, tabelas são preparadas as- sociando os elementos respectivos aos números de índice GOS. Adici- onalmente, os números de índice GOS são associados aos endereços dos respectivos primeiros I-SPCs nos GOSs. A figura 10 é um diagrama ilustrando tabelas ilustrativas incluídas na metainformação. Note-se que nem todas as tabelas ilustradas na figura 10 precisam ser utilizadas, e, dessa forma, pelo menos uma das tabelas é utilizada.
[0090] A seguir é descrito um exemplo no qual o acesso randômico é realizado a partir das coordenadas, como um ponto de partida. Para se acessar as coordenadas (x2, y2 e z2), a tabela de coordenadas GOS é primeiramente referida, indicando que o ponto que corresponde às coordenadas (x2, y2, z2) está incluído no segundo GOS. A seguir, a tabela de endereço GOS é referida, o que indica que o endereço do primeiro I-SPC no segundo GOS é addr(2). Como tal, o decodificador 204 obtém dados desse endereço para iniciar a decodificação.
[0091] Note-se que os endereços podem ser endereços lógicos ou endereços físicos de um HDD ou uma memória. Alternativamente, a in- formação que identifica os segmentos de arquivo pode ser utilizada no lugar dos endereços. Segmentos de arquivo são, por exemplo, unidades obtidas pela segmentação de pelo menos um GOS etc.
[0092] Quando um objeto abrange uma pluralidade de GOSs, a ta- bela de objeto GOS pode ilustrar uma pluralidade de GOSs à qual tal objeto pertence. Quando tal pluralidade de GOSs é composta por GOSs fechados, o dispositivo de codificação e o dispositivo de decodificação podem realizar a codificação ou decodificação paralela. Enquanto isso, quando tal pluralidade de GOSs é composta de GOSs abertos, uma efi- ciência de compressão mais alta é alcançada pela pluralidade de GOSs fazendo referência um ao outro.
[0093] Objetos ilustrativos incluem uma pessoa, um animal, um carro, uma bicicleta, um sinal e um edifício servindo como um marco. Por exemplo, o dispositivo de codificação de dados tridimensionais 100 extrai pontos chave específicos de um objeto a partir de uma nuvem de pontos tridimensionais etc., quando codifica um mundo, e detecta o ob- jeto com base em tais pontos chave para determinar o objeto detectado como um ponto de acesso randômico.
[0094] Como descrito, o dispositivo de codificação de dados tridi- mensional 100 gera a primeira informação indicando uma pluralidade de primeiras unidades de processamento (GOSs) e as coordenadas tridi- mensionais associadas às primeiras unidades de processamento res- pectivas (GOSs). Os dados tridimensionais codificados 112 (211) in- cluem tal primeira informação. A primeira informação indica, adicional- mente, pelo menos um dos objetos, tempos e localizações de armaze- namento de dados que são associados com as primeiras unidades de processamento respectivas (GOSs).
[0095] O dispositivo de decodificação de dados tridimensional 200 obtém a primeira informação a partir dos dados tridimensionais codifica- dos 211. Utilizando-se tal primeira informação, o dispositivo de decodi- ficação de dados tridimensionais 200 identifica os dados tridimensionais codificados 211 da primeira unidade de processamento que corres- ponde às coordenadas tridimensionais específicas, objeto ou tempo, e decodifica os dados tridimensionais codificados 211.
[0096] A seguir é descrito um exemplo de outra metainformação. Em adição à metainformação para acesso randômico, o dispositivo de codificação de dados tridimensionais 100 também pode gerar e arma- zenar metainformação, como descrito abaixo, e o dispositivo de decodi- ficação de dados tridimensionais 200 pode utilizar tal metainformação no momento da decodificação.
[0097] Quando os dados tridimensionais são utilizados como infor- mação de mapa, por exemplo, um perfil é definido, de acordo com o uso pretendido, e a informação que indica tal perfil pode ser incluída na me- tainformação. Por exemplo, um perfil é definido para uma área urbana ou suburbana, ou para um objeto voador, e o tamanho máximo ou mí- nimo etc. de um mundo, um SPC ou um VLM etc. é definido em cada perfil. Por exemplo, informação mais detalhada é necessária para uma área urbana do que para uma área suburbana, e, dessa forma, o tama- nho mínimo de VLM é configurado para pequeno.
[0098] A metainformação pode incluir valores de indicador que indi- cam os tipos de objeto. Cada um dos ditos valores de indicador está associado a VLMs, SPCs, ou GOSs que constituem um objeto. Por exemplo, um valor de indicador pode ser configurado para cada tipo de objeto de uma forma, por exemplo, que o valor de indicador "0" indique "pessoa", o valor de indicador "1" indique "carro", e o valor de indicador "2" indique "sinal". Alternativamente, quando um tipo de objeto é difícil de julgar, ou tal julgamento não se faz necessário, o valor do indicador pode ser utilizado para indicar o tamanho ou indicar o atributo, por exemplo, se um objeto é um objeto dinâmico ou um objeto estático.
[0099] A metainformação também pode incluir informação que in- dica uma faixa da região espacial ocupada por um mundo.
[0100] A metainformação também pode armazenar o tamanho de SPC ou VXL como informação de cabeçalho comum a toda a sequência de dados codificados ou a uma pluralidade de SPCs, tal como SPCs em um GOS.
[0101] A metainformação também pode incluir a informação de identificação em um sensor de distância ou uma câmera que foi utilizada para gerar uma nuvem de pontos, ou informação que indica a precisão de posição de um grupo de pontos na nuvem de pontos.
[0102] A metainformação também pode incluir informação que in- dica se um mundo é feito apenas de objetos estáticos ou inclui um objeto dinâmico.
[0103] A seguir são descritas variações da presente modalidade.
[0104] O dispositivo de codificação ou o dispositivo de decodifica- ção pode codificar ou decodificar dois ou mais SPCs ou GOSs mutua- mente diferentes em paralelo. GOSs a serem codificados ou decodifica- dos em paralelo podem ser determinados com base na metainformação etc., indicando as posições espaciais dos GOSs.
[0105] Quando dados tridimensionais são utilizados como um mapa espacial para uso por um carro ou um objeto voador, etc. em viagem, ou para criação de tal mapa espacial, por exemplo, o dispositivo de co- dificação ou o dispositivo de decodificação pode codificar ou decodificar GOSs ou SPCs incluídos em um espaço que é identificado com base na informação de GPS, na informação de rota, na amplificação com zoom, etc.
[0106] O dispositivo de decodificação também pode iniciar a deco- dificação sequencialmente a partir de um espaço que está próximo da autolocalização ou da rota de percurso. O dispositivo de codificação ou o dispositivo de decodificação pode fornecer uma prioridade mais baixa para um espaço distante a partir da autolocalização ou da rota de per- curso do que a prioridade de um espaço próximo para codificar ou de- codificar tal local distante. Se "fornecer uma prioridade mais baixa" sig- nifica, no presente documento, por exemplo, se baixar a prioridade na sequência de processamento, para reduzir a resolução (para aplicar de- cimação no processamento), ou baixar a qualidade de imagem (para aumentar a eficiência de codificação, por exemplo, pela configuração da etapa de quantização, para que seja maior).
[0107] Quando da decodificação dos dados codificados, que são codificados de forma hierárquica em um espaço, o dispositivo de deco- dificação pode decodificar apenas o nível inferior na hierarquia.
[0108] O dispositivo de decodificação também pode iniciar a deco- dificação preferivelmente a partir do nível inferior da hierarquia, de acordo com a amplificação por zoom ou uso pretendido do mapa.
[0109] Para estimativa de autolocalização ou reconhecimento de objeto, etc., envolvido na direção automática de um carro ou um robô, o dispositivo de codificação ou o dispositivo de decodificação pode codifi- car ou decodificar regiões em uma resolução mais baixa, exceto por uma região que é inferior a ou está em uma altura específica a partir do chão (a região a ser reconhecida).
[0110] O dispositivo de codificação também pode codificar as nu- vens de pontos que representam os formatos espaciais de um interior de um cômodo ou um exterior de um cômodo separadamente. Por exemplo, a separação de um GOS que representa o interior de um cô- modo (GOS interno) e um GOS que representa o exterior de um cômodo (GOS externo) permite que o dispositivo de decodificação selecione um GOS a ser decodificado, de acordo com uma localização de ponto de vista, quando da utilização de dados codificados.
[0111] O dispositivo de codificação também pode codificar um GOS interno e um GOS externo possuindo coordenadas próximas, de modo que tais GOSs se tornem adjacentes um ao outro em uma sequência codificada. Por exemplo, o dispositivo de codificação associa os identi- ficadores de tais GOS um ao outro, e armazena informação indicando os identificadores associados na metainformação, que é armazenada na sequência codificada ou armazenada separadamente. Isso permite que o dispositivo de decodificação faça referência à informação na me-
tainformação para identificar um GOS interno e um GOS externo pos- suindo coordenadas próximas.
[0112] O dispositivo de codificação também muda o tamanho do GOS ou o tamanho de SPC dependendo de se um GOS é um GOS interno ou um GOS externo. Por exemplo, o dispositivo de codificação configura o tamanho de um GOS interno para que seja menor do que o tamanho do GOS externo. O dispositivo de codificação também pode mudar a precisão dos pontos chave de extração a partir de uma nuvem de pontos, ou a precisão da detecção de objetos, por exemplo, depen- dendo de se um GOS é um GOS interno ou um GOS externo.
[0113] O dispositivo de codificação também pode adicionar, aos da- dos codificados, a informação pela qual o dispositivo de decodificação exibe objetos com uma distinção entre um objeto dinâmico e um objeto estático. Isso permite que o dispositivo de decodificação exiba um objeto dinâmico juntamente com, por exemplo, uma caixa ou letras em verme- lho para explicação. Note-se que o dispositivo de decodificação pode exibir apenas uma caixa ou letras em vermelho para fins de explicação, em vez de um objeto dinâmico. O dispositivo de decodificação também pode exibir tipos de objetos mais particulares. Por exemplo, uma caixa em vermelho pode ser utilizada para um carro, e uma caixa em amarelo pode ser utilizada para uma pessoa.
[0114] O dispositivo de codificação ou o dispositivo de decodifica- ção também pode determinar se codifica ou decodifica um objeto dinâ- mico ou um objeto estático como um SPC ou GOS diferente, de acordo, por exemplo, com a frequência de surgimento de objetos dinâmicos ou uma razão entre os objetos estáticos e os objetos dinâmicos. Por exem- plo, quando a frequência de surgimento ou a razão de objetos dinâmicos excede um limite, um SPC ou um GOS, incluindo uma mistura de um objeto dinâmico e um objeto estático, é aceito, enquanto que quando a frequência de surgimento ou a razão de objetos dinâmicos está abaixo de um limite, um SPC ou GOS, incluindo uma mistura de um objeto di- nâmico e um objeto estático, não é aceito.
[0115] Quando da detecção de um objeto dinâmico não de uma nu- vem de pontos, mas de uma informação de imagem tridimensional de uma câmera, o dispositivo de codificação pode obter, separadamente, informação para identificar um resultado de detecção (caixa ou letras) e a posição do objeto, e codificar esses itens de informação como parte dos dados tridimensionais codificados. Em tal caso, o dispositivo de de- codificação sobrepõe a informação auxiliar (caixa ou letras), indicando o objeto dinâmico em um resultante da decodificação de um objeto es- tático para exibição do mesmo.
[0116] O dispositivo de codificação também pode alterar a escassez e densidade de VXLs ou VLMs em um SPC, de acordo com o grau de complexidade do formato de um objeto estático. Por exemplo, o dispo- sitivo de codificação configura VXLs ou VLMs com uma densidade maior à medida que o formato de um objeto estático se torna mais complexo. O dispositivo de codificação pode determinar, adicionalmente, uma etapa de quantização etc., para quantizar as posições espaciais ou in- formação de cor, de acordo com a escassez e densidade de VXLs ou VLMs. Por exemplo, o dispositivo de codificação determina a etapa de quantização para que seja menor à medida que a densidade de VXLs ou VLMs é maior.
[0117] Como descrito acima, o dispositivo de codificação ou o dis- positivo de decodificação, de acordo com a presente modalidade, codi- fica ou decodifica um espaço, SPC por SPC, incluindo a informação de coordenadas.
[0118] Adicionalmente, o dispositivo de codificação e o dispositivo de decodificação realizam a codificação ou a decodificação, volume por volume, em um SPC. Cada volume inclui um voxel, que é a unidade mínima na qual a informação de posição está associada.
[0119] Além disso, utilizando uma tabela que associa os elementos respectivos da informação espacial, incluindo coordenadas, objetos e tempos, com GOSs ou utilizando uma tabela que associa esses elemen- tos um ao outro, o dispositivo de codificação e o dispositivo de decodifi- cação associa qualquer um dos elementos a qualquer outro para reali- zar a codificação ou decodificação. O dispositivo de decodificação utiliza os valores dos elementos selecionados para determinar as coordena- das e identifica um volume, um voxel, ou um SPC a partir de tais coor- denadas para decodificar um SPC, incluindo tal volume ou voxel, ou o SPC identificado.
[0120] Adicionalmente, o dispositivo de codificação determina um volume, um voxel, ou um SPC que é selecionável de acordo com os elementos, através da extração de pontos chave e reconhecimento de randômico é possível.
[0121] SPCs são classificados em três tipos: I-SPC que é codificado ou decodificado de forma singular; P-SPC que é codificado ou decodifi- cado por referência a qualquer um dos SPCs processados; e B-SPC que é codificado ou decodificado por referência a quaisquer dois dos SPCs processados.
[0122] Pelo menos um volume corresponde a um objeto estático ou a um objeto dinâmico. Um SPC, incluindo um objeto estático, e um SPC, incluindo um objeto dinâmico, são codificados ou decodificados como GOSs mutuamente diferentes. De outra forma, um SPC incluindo um objeto estático e um SPC incluindo um objeto dinâmico são designados a GOSs diferentes.
[0123] Objetos dinâmicos são codificados ou decodificados, objeto por objeto, e são associados a pelo menos um SPC incluindo um objeto estático. De outra forma, uma pluralidade de objetos dinâmicos é indivi-
dualmente codificada e os dados codificados obtidos dos objetos dinâ- micos são associados a um SPC incluindo um objeto estático.
[0124] O dispositivo de codificação e o dispositivo de decodificação fornecem uma prioridade aumentada ao I-SPC em um GOS para reali- zar a codificação ou decodificação. Por exemplo, o dispositivo de codi- ficação realiza a codificação de uma forma que impede a degradação dos I-SPCs (de uma forma que permita que os dados tridimensionais originais sejam reproduzidos com uma maior fidelidade depois de deco- dificados). O dispositivo de decodificação decodifica, por exemplo, ape- nas os I-SPCs.
[0125] O dispositivo de codificação pode alterar a frequência de uti- lização de I-SPCs dependendo da escassez e densidade ou do número (quantidade) de objetos em um mundo para realizar a codificação. De outra forma, o dispositivo de codificação altera a frequência de seleção de I-SPCs dependendo do número ou da escassez e densidade dos objetos incluídos nos dados tridimensionais. Por exemplo, o dispositivo de codificação utiliza os I-SPCs com uma frequência mais alta quando a densidade dos objetos em um mundo é mais alta.
[0126] O dispositivo de codificação também configura os pontos de acesso randômico, GOS por GOS, e armazena a informação indicando as regiões espaciais correspondentes aos GOSs na informação de ca- beçalho.
[0127] O dispositivo de codificação utiliza, por exemplo, um valor padrão como o tamanho espacial de um GOS. Note-se que o dispositivo de codificação pode alterar o tamanho do GOS dependendo do número (quantidade) ou da escassez e densidade dos objetos ou objetos dinâ- micos. Por exemplo, o dispositivo de codificação configura o tamanho espacial de um GOS para que seja menor quando a densidade dos ob- jetos ou objetos dinâmicos é maior ou o número de objetos ou objetos dinâmicos é maior.
[0128] Além disso, cada SPC ou volume inclui um grupo de pontos chave que é derivado pelo uso da informação obtida por um sensor, tal como um sensor de profundidade, um sensor giroscópico, ou um sensor de câmera. As coordenadas dos pontos chave são configuradas nas finos permitem uma informação de posição mais precisa.
[0129] O grupo de pontos chave é derivado pela utilização de uma pluralidade de imagens. Uma pluralidade de imagens inclui pelo menos dois tipos de informação de tempo: a informação de tempo real e a mesma informação de tempo, comum a uma pluralidade de imagens que são associadas aos SPCs (por exemplo, o tempo de codificação utilizado para o controle de taxa etc.).
[0130] Além disso, a codificação ou decodificação é realizada, GOS por GOS, incluindo pelo menos um SPC.
[0131] O dispositivo de codificação e o dispositivo de decodificação preveem P-SPCs ou B-SPCs em um GOS atual por referência aos SPCs em um GOS processado.
[0132] Alternativamente, o dispositivo de codificação e o dispositivo de decodificação preveem P-SPCs ou B-SPCs em um GOS atual, utili- zando os SPCs processados no GOS atual, sem referência a um GOS diferente.
[0133] Adicionalmente, o dispositivo de codificação e o dispositivo de decodificação transmitem ou recebem uma sequência codificada, mundo por mundo, incluindo pelo menos um GOS.
[0134] Além disso, um GOS possui uma estrutura de camada em uma direção, pelo menos em um mundo, e o dispositivo de codificação e o dispositivo de decodificação podem iniciar a codificação ou a deco- dificação a partir da camada inferior. Por exemplo, um GOS acessível randomicamente pertence à camada mais inferior. Um GOS que per- tence à mesma camada ou a uma camada inferior é referido em um
GOS que pertence a uma camada superior. De outra forma, um GOS é espacialmente dividido em uma direção predeterminada antecipada- mente para possuir uma pluralidade de camadas, cada uma incluindo pelo menos um SPC. O dispositivo de codificação e o dispositivo de de- codificação codificam ou decodificam cada SPC por referência a um SPC incluído na mesma camada que cada SPC ou um SPC incluído em uma camada inferior à de cada SPC.
[0135] Além disso, o dispositivo de codificação e o dispositivo de decodificação codificam ou decodificam sucessivamente GOSs, mundo por mundo, incluindo tais GOSs. Em fazendo isso, o dispositivo de co- dificação e o dispositivo de decodificação escrevem ou leem informação indicando a ordem (direção) de codificação ou decodificação como me- tadados. De outra forma, os dados codificados incluem informação que indica a ordem de codificação de uma pluralidade de GOSs.
[0136] O dispositivo de codificação e o dispositivo de decodificação também codificam ou decodificam dois ou mais SPCs ou GOSs mutua- mente diferentes em paralelo.
[0137] Adicionalmente, o dispositivo de codificação e o dispositivo de decodificação codificam ou decodificam a informação espacial (coor- denadas, tamanho etc.) em um SPC ou um GOS.
[0138] O dispositivo de codificação e o dispositivo de decodificação codificam ou decodificam SPCs ou GOSs incluídos em um espaço iden- tificado que é identificado com base na informação externa de autoloca- lização e/ou uma região de tamanho, tal como a informação GPS, infor- mação de rota, ou amplificação.
[0139] O dispositivo de codificação ou o dispositivo de decodifica- ção fornece uma prioridade mais baixa para um espaço distante da au- tolocalização do que a prioridade de um espaço próximo para realizar a codificação ou decodificação.
[0140] O dispositivo de codificação configura uma direção em uma das direções em um mundo, de acordo com a amplificação ou o uso pretendido, para codificar um GOS possuindo uma estrutura de camada em tal direção. Além disso, o dispositivo de decodificação decodifica um GOS possuindo uma estrutura de camada em uma das direções em um mundo, que foi configurada de acordo com a amplificação ou o uso pre- tendido, preferivelmente a partir da camada inferior.
[0141] O dispositivo de codificação muda a precisão dos pontos chave de extração, a precisão do reconhecimento de objetos, ou o ta- manho das regiões espaciais etc., incluídos em um SPC, dependendo de se um objeto é um objeto interno ou um objeto externo. Note-se que o dispositivo de codificação e o dispositivo de decodificação codificam ou decodificam um GOS interno e um GOS externo, possuindo coorde- nadas próximas de uma forma na qual esses GOSs se tornem adjacen- tes um ao outro em um mundo, e associa seus identificadores um ao outro para codificação e decodificação. Modalidade 2
[0142] Quando da utilização de dados codificados de uma nuvem de pontos em um dispositivo ou serviço real, é desejável que a informa- ção necessária seja transmitida/recebida de acordo com o uso preten- dido, para se reduzir a largura de banda de rede. No entanto, não tem havido tal funcionalidade na estrutura de codificação de dados tridimen- sionais, nem em um método de codificação para a mesma.
[0143] A presente modalidade descreve um método de codificação de dados tridimensionais e um dispositivo de codificação de dados tridi- mensionais para fornecer a funcionalidade de transmissão/recepção apenas da informação necessária nos dados codificados de uma nuvem de pontos tridimensionais, de acordo com o uso pretendido, além de um método de decodificação de dados tridimensionais e um dispositivo de decodificação de dados tridimensionais, para decodificação de tais da- dos codificados.
[0144] (FVXL), e um mundo (WLD) constituído por FVXLs é definido como um mundo esparso (SWLD). A figura 11 é um diagrama ilustrando estruturas ilustrativas de um mundo esparso e de um mundo. Um SWLD inclui FGOSs, cada um sendo um GOS constituído por FVXLs; FSPCs, cada um sendo um SPC constituído por FVXLs; e FVLMs, cada um sendo um VLM constituído por FVXLs. A estrutura de dados e a estru- tura de previsão de um FGOS, um FSPC e um FVLM podem ser iguais às de um GOS, um SPC e um VLM.
[0145] Uma característica representa a informação de posição tridi- mensional em um VXL ou a informação de luz visível na posição de um VXL. Um grande número de características é detectado especialmente em um canto, uma borda etc. de um objeto tridimensional. Mais especi- ficamente, tal característica é uma característica tridimensional ou uma característica de luz visível, como descrito abaixo, mas pode ser qual- quer característica que represente a informação de posição, lumines- cência ou cor etc, em um VXL.
[0146] Utilizadas como características tridimensionais são a assina- tura de histogramas de características de orientação (SHOT), caracte- rísticas de histogramas de característica de ponto (PFH), ou caracterís- ticas de característica de par de pontos (PPF).
[0147] As características SHOT são obtidas pela divisão da periferia de um VXL, e pelo cálculo de um produto interno do ponto de referência e do vetor normal de cada região dividida, para representar o resultado do cálculo como um histograma. Características SHOT são caracteriza- das por um grande número de dimensões e representação de caracte- rística de alto nível.
[0148] Características PFH são obtidas pela seleção de um grande número de dois pares de pontos nas proximidades de um VXL e pelo cálculo do vetor normal etc., a partir de cada um do par de dois pontos para representar o resultado do cálculo como um histograma. As carac- terísticas PFH são características de histograma, e, dessa forma, são caracterizadas pela robustez contra uma determinada extensão de dis- túrbio e também a representação de característica de alto nível.
[0149] As características PPF são obtidas pela utilização de um ve- tor normal etc., para cada dois pontos de VXLs. As características PPF, para as quais todos os VXLs são utilizados, apresentam robustez contra oclusão.
[0150] Utilizadas como características de luz visível encontramos a transformação de característica que não varia com escala (SIFT), ca- racterísticas robustas aceleradas (SURF), ou histograma de gradientes orientados (HOG), etc., que utilizam a informação de uma imagem, tal como uma informação de gradiente de luminescência.
[0151] Um SWLD é gerado pelo cálculo das características descri- tas acima dos VXLs respectivos em um WLD para extração de FVXLs. No presente documento, SWLD pode ser atualizado cada vez que WLD for atualizado, ou pode ser atualizado com regularidade depois de ter se passado um determinado período de tempo, independentemente da temporização na qual WLD é atualizado.
[0152] Um SWLD pode ser gerado para cada tipo de característica. Por exemplo, diferentes SWLDs podem ser gerados para tipos respec- tivos de características, tal como SWLDS1 com base em características SHOT e SWLD2 com base em características SIFT, de modo que SWLDs sejam utilizados seletivamente de acordo com o uso pretendido. Além disso, a característica calculada de cada FVXL pode ser mantida em cada FVXL como informação de característica.
[0153] A seguir, a utilização de um mundo esparso (SWLD) será dessa forma, seu tamanho de dados é menor em geral, com relação ao WLD que inclui todos os VXLs.
[0154] Em uma aplicação que utiliza as características para uma determinada finalidade, o uso da informação em um SWLD, em vez de um WLD, reduz o tempo necessário para se ler os dados a partir de um disco rígido, além da largura de banda e tempo necessários para a transferência de dados através de uma rede. Por exemplo, um WLD e um SWLD são mantidos em um servidor como informação de mapa, de modo que a informação de mapa a ser enviada seja selecionada entre WLD e SWLD, de acordo com uma solicitação de um cliente. Isso reduz a largura de banda de rede e o tempo necessário para a transferência de dados. Exemplos mais específicos serão descritos abaixo.
[0155] A figura 12 e a figura 13 são diagramas ilustrando exemplos de utilização de um SWLD e um WLD. Como ilustra a figura 12, quando o cliente 1, que é um dispositivo montado em veículo, exige informação de mapa para utilizar o mesmo para determinação de autolocalização, o cliente 1 envia para um servidor, uma solicitação para obtenção de dados de mapa para estimativa de autolocalização (S301). O servidor envia, para o cliente 1, SWLD em resposta à solicitação de obtenção (S302). O cliente 1 utiliza SWLD recebido para determinar a autolocali- zação (S303). Em fazendo isso, o cliente1 obtém informação VXL da periferia do cliente 1 através de vários meios, incluindo um sensor de distância, tal como um buscador de faixa, além de uma câmera estéreo ou uma combinação dentre uma pluralidade de câmeras monoculares. O cliente 1, então, estima a informação de autolocalização a partir da informação VXL obtida e SWLD. No presente documento, a informação de autolocalização inclui informação de posição tridimensional, orienta- ção etc. do cliente 1.
[0156] Como ilustra a figura 13, quando o cliente 2, que é um dispo- sitivo montado em veículo, exige informação de mapa para utilizar a mesma para criar um mapa, tal como um mapa tridimensional, o cliente
2 envia, para o servidor, uma solicitação de obtenção de dados de mapa para a criação do mapa (S311). O servidor envia, para o cliente 2, WLD, em resposta à solicitação de obtenção (S312). O cliente 2 utiliza o WLD recebido para criar um mapa (S313). Em fazendo isso, o cliente 2 utiliza, por exemplo, uma imagem que o cliente 2 capturou por uma câmera de luz visível, etc. e o WLD, obtido a partir do servidor, para criar uma ima- gem de criação, e transforma tal imagem criada em uma tela de um sistema de navegação automotivo, etc.
[0157] Como descrito acima, o servidor envia, para um cliente, um SWD quando as características dos VXLs respectivos são basicamente necessárias, tal como no caso de estimativa de autolocalização, e envia para um cliente um WLD, quando a informação VXL detalhada é neces- sária, tal como no caso de criação de mapa. Isso permite um envio/re- cepção eficiente de dados de mapa.
[0158] Note-se que um cliente pode julgar qual dentre um SWLD e um WLD é necessário, e solicitar que o servidor envie um SWLD ou um WLD. Além disso, o servidor pode julgar qual dentre um SWLD e um WLD enviar, de acordo com a situação do cliente ou de uma rede.
[0159] A seguir, um método será descrito para comutar o envio/re- cepção entre um mundo esparso (SWLD) e um mundo (WLD).
[0160] A decisão de se recebe um WLD ou um SWLD pode ser co- mutada de acordo com a largura de banda de rede. A figura 14 é um diagrama ilustrando uma operação ilustrativa em tal caso. Por exemplo, quando uma rede de baixa velocidade é utilizada, limitando a largura de banda de rede utilizável, tal como em um ambiente de Evolução de Longo Termo (LTE), um cliente acessa o servidor através de uma rede de baixa velocidade (S321), e obtém o SWLD do servidor como infor- mação de mapa (S322). Enquanto isso, quando uma rede de alta velo- cidade é utilizada e possui uma largura de banda de rede adequada-
mente ampla, tal como em um ambiente WiFi, um cliente acessa o ser- vidor através de uma rede de alta velocidade (S323) e obtém o WLD a partir do servidor (S324). Isso permite que o cliente obtenha informação de mapa adequada, de acordo com a largura de banda de rede que tal cliente está utilizando.
[0161] Mais especificamente, um cliente recebe o SWLD através de uma rede LTE quando interno, e obtém o WLD através de uma rede WiFi quando interno, tal como em uma instalação. Isso permite que o cliente obtenha informação de mapa mais detalhada do ambiente in- terno.
[0162] Como descrito acima, um cliente pode solicitar um WLD ou um SWLD, de acordo com a largura de banda de uma rede que tal cli- ente está utilizando. Alternativamente, o cliente pode enviar para o ser- vidor a informação indicando a largura de banda de uma rede que tal cliente está utilizando, e o servidor pode enviar, para o cliente, dados (WLD ou SWLD) adequados para tal cliente, de acordo com a informa- ção. Alternativamente, o servidor pode identificar a largura de banda de rede que o cliente está utilizando, e enviar para o cliente dados (WLD ou SWLD) adequados para tal cliente.
[0163] Além disso, o recebimento de WLD ou SWLD pode ser per- mutado de acordo com a velocidade de percurso. A figura 15 é um dia- grama ilustrando uma operação ilustrativa em tal caso. Por exemplo, quando viajando em uma alta velocidade (S331), um cliente recebe SWLD do servidor (S332). Enquanto isso, quando viajando em uma baixa velocidade (S333), o cliente recebe WLD do servidor (S334). Isso permite que o cliente obtenha informação de mapa adequada para a velocidade, enquanto reduz a largura de banda da rede. Mais especifi- camente, quando viajando em uma via expressa, o cliente recebe SWLD com uma quantidade pequena de dados, o que permite a atualização da informação de mapa bruta em uma velocidade adequada. Enquanto isso, quando viajando em uma estrada geral, o cliente recebe WLD, o que permite a obtenção de informação de mapa mais detalhada.
[0164] Como descrito acima, o cliente pode solicitar do servidor um WLD ou um SWLD, de acordo com a velocidade de percurso de tal cli- ente. Alternativamente, o cliente pode enviar para o servidor a informa- ção que indica a velocidade de percurso de tal cliente, e o servidor pode enviar para o cliente os dados (WLD ou SWLD) adequados para tal cli- ente, de acordo com a informação. Alternativamente, o servidor pode identificar a velocidade de percurso do cliente para enviar dados (WLD ou SWLD) adequados para tal cliente.
[0165] Além disso, o cliente pode obter, a partir do servidor, um SWLD primeiro, de onde o cliente pode obter um WLD de uma região importante. Por exemplo, quando da obtenção de informação de mapa, o cliente primeiro obtém um SWLD para a informação de mapa aproxi- mada, de onde o cliente estreita para uma região na qual as caracterís- ticas, tal como edifícios, sinais ou pessoas, aparecem com alta frequên- cia, de modo que o cliente possa, posteriormente, obter um WLD de tal região estreitada. Isso permite que o cliente obtenha a informação de- talhada de uma região necessária, enquanto reduz a quantidade de da- dos recebidos do servidor.
[0166] O servidor também pode criar, a partir de um WLD, diferen- tes SWLDs para os respectivos objetos, e o cliente pode receber SWLDs de acordo com o uso pretendido. Isso reduz a largura de banda de rede. Por exemplo, o servidor reconhece as pessoas ou carros em um WLD antecipadamente, e cria um SWLD das pessoas e um SWLD dos carros. O cliente, quando deseja obter informação sobre as pessoas em torno do cliente, recebe o SWLD das pessoas, e quando deseja ob- ter informação sobre os carros, recebe SWLD sobre os carros. Tais tipos de SWLDs podem ser distinguidos pela informação (indicador, ou tipo etc.) adicionada ao cabeçalho, etc.
[0167] A seguir, a estrutura e o fluxo operacional do dispositivo de codificação de dados tridimensionais (por exemplo, um servidor), de acordo com a presente modalidade, serão descritos. A figura 16 é um diagrama em bloco do dispositivo de codificação de dados tridimensio- nais 400, de acordo com a presente modalidade. A figura 17 é um flu- xograma dos processos de codificação de dados tridimensionais reali- zados pelo dispositivo de codificação de dados tridimensionais 400.
[0168] O dispositivo de codificação de dados tridimensionais 400, ilustrado na figura 16, codifica os dados tridimensionais registrados 411, gerando, assim, os dados tridimensionais codificados 413 e os dados tridimensionais codificados 414, cada um sendo uma sequência codifi- cada. No presente documento, os dados tridimensionais codificados 413 são dados tridimensionais codificados que correspondem a um WLD, e os dados tridimensionais codificados 414 são dados tridimensi- onais codificados que correspondem a um SWLD. Tal dispositivo de co- dificação de dados tridimensionais 400 inclui, um elemento de obtenção 401, um determinador de região de codificação 402, um extrator de SWLD 403, um codificador de WLD 404, e um codificador de SWLD 405.
[0169] Primeiro, como ilustra a figura 17, o elemento de obtenção 401 obtém os dados tridimensionais registrados 411, que são dados de grupo de pontos em um espaço tridimensional (S401).
[0170] A seguir, o determinador de região de codificação 402 deter- mina uma região espacial atual para codificação com base em uma re- gião espacial na qual os dados de nuvem de pontos estão presentes (S402).
[0171] A seguir, o extrator SWLD 403 define a região espacial atual como um WLD, e calcula a característica a partir de cada VXL incluído no WLD. Então, o extrator de SWLD 403 extrai VXLs possuindo uma quantidade de características maior do que ou igual a um limite prede- terminado, define VXLs extraídos como FVXLs e adiciona tais FVXLs a um SWLD, gerando, assim, dados tridimensionais extraídos 412 (S403). De outra forma, os dados tridimensionais extraídos 412, possuindo uma quantidade de características superior a ou igual ao limite, são extraídos dos dados tridimensionais registrados 411.
[0172] A seguir, o codificador de WLD 404 codifica os dados tridi- mensionais registrados 411 correspondendo a WLD, gerando, assim, os dados tridimensionais codificados 413 que correspondem ao WLD (S404). Em fazendo isso, o codificador de WLD 404 adiciona ao cabe- çalho de dados tridimensionais codificados 413, informação que distin- gue que tais dados tridimensionais codificados 413 são uma sequência incluindo um WLD.
[0173] O codificador de SWLD 405 codifica os dados tridimensio- nais extraídos 412 correspondendo ao SWLD, gerando, assim, os da- dos tridimensionais codificados 414 que correspondem a SWLD (S405). Em fazendo isso, o codificador SWLD 405 adiciona ao cabeçalho de dados tridimensionais codificados 414, a informação que distingue que tais dados tridimensionais codificados 414 são uma sequência incluindo um SWLD.
[0174] Note-se que o processo de geração dos dados tridimensio- nais codificados 413 e o processo de geração de dados tridimensionais codificados 414 podem ser realizados na ordem inversa. Além disso, note-se que uma parte ou todos esses processos podem ser realizados em paralelo.
[0175] Um parâmetro "world_type" é definido, por exemplo, como a informação adicionada a cada cabeçalho dos dados tridimensionais co- dificados 413 e dados tridimensionais codificados 414. world_type=0 in- dica que uma sequência inclui um WLD, e world_type=1 indica que uma sequência inclui um SWLD. Um número aumentado de valores pode ser designado, adicionalmente, para definir um número maior de tipos, por exemplo, world_type=2. Além disso, um dos dados tridimensionais co- dificados 413 e dados tridimensionais codificados 414 pode incluir um indicador especificado. Por exemplo, os dados tridimensionais codifica- dos 414 podem receber um indicador que indica que tal sequência inclui um SWLD. Em tal caso, o dispositivo de decodificação pode distinguir se tal sequência é uma sequência que inclui um WLD ou uma sequência que inclui um SWLD, de acordo com a presença/ausência do indicador.
[0176] Além disso, um método de codificação, utilizado pelo codifi- cador WLD 404 para codificar um WLD, pode ser diferente de um mé- todo de codificação utilizado pelo codificador SWLD 405 para codificar um SWLD.
[0177] Por exemplo, os dados de um SWLD são decimados, e, dessa forma, podem ter uma correlação mais baixa com os dados vizi- nhos do que um WLD. Por essa razão, de intraprevisão e interprevisão, a interprevisão pode ser realizada de forma mais preferível em um mé- todo de codificação utilizado para um SWLD do que em um método de codificação utilizado para um WLD.
[0178] Além disso, um método de codificação utilizado para um SWLD, e um método de codificação utilizado para um WLD podem apre- sentar posições tridimensionais de formas diferentes. Por exemplo, as coordenadas tridimensionais podem ser utilizadas para representar as abaixo pode ser utilizada para representar as posições tridimensi- onais em um WLD e vice-versa.
[0179] Além disso, o codificador SWLD 405 realiza a codificação de uma forma na qual os dados tridimensionais codificados 414 de um SWLD apresentem um tamanho de dados menor do que o tamanho de dados dos dados tridimensionais codificados 413 em um WLD. Um SWLD pode ter uma correção interdados inferior, por exemplo, à de um
WLD, como descrito acima. Isso pode resultar em uma eficiência de co- dificação reduzida, e, dessa forma, em dados tridimensionais codifica- dos 414 apresentarem um tamanho de dados maior do que o tamanho de dados dos dados tridimensionais codificados 413 de um WLD. Quando o tamanho de dados dos dados tridimensionais codificados re- sultantes 414 é maior do que o tamanho de dados dos dados tridimen- sionais codificados 413 de um WLD, o codificador SWLD 405 realiza a codificação novamente para regenerar os dados tridimensionais codifi- cados 414 possuindo um tamanho de dados reduzido.
[0180] Por exemplo, o extrator de SWLD 403 regenera os dados tridimensionais extraídos 412 possuindo um número reduzido de pontos chave a serem extraídos, e o codificador SWLD 405 codifica tais dados tridimensionais extraídos 412. Alternativamente, o codificador SWLD 405 pode realizar uma quantização mais bruta. A quantização mais bruta é alcançada, por exemplo, pelo arredondamento dos dados no ní-
[0181] Quando da falha em reduzir o tamanho dos dados dos dados tridimensionais codificados 414 do SWLD para menores do que o tama- nho de dados dos dados tridimensionais codificados 413 do WLD, o co- dificador SWLD 405 pode gerar os dados tridimensionais codificados 414 do SWLD. Alternativamente, os dados tridimensionais codificados 413 do WLD podem ser copiados como dados tridimensionais codifica- dos 414 do SWLD. De outra forma, os dados tridimensionais codificados 413 do WLD podem ser utilizados como estão, como dados tridimensi- onais codificados 414 do SWLD.
[0182] A seguir, a estrutura e o fluxo operacional do dispositivo de decodificação de dados tridimensionais (por exemplo, um cliente), de acordo com a presente modalidade, serão descritos. A figura 18 é um diagrama em bloco do dispositivo de decodificação de dados tridimen- sionais 500, de acordo com a presente modalidade. A figura 19 é um fluxograma de processos de decodificação de dados tridimensionais re- alizados pelo dispositivo de decodificação de dados tridimensionais 500.
[0183] O dispositivo de decodificação de dados tridimensionais 500, ilustrado na figura 18, decodifica os dados tridimensionais codificados 511, gerando, dessa forma, os dados tridimensionais decodificados 512 ou os dados tridimensionais decodificados 513. Os dados tridimensio- nais codificados 511, no presente documento, são, por exemplo, dados tridimensionais codificados 413 ou dados tridimensionais codificados 414, gerados pelo dispositivo de codificação de dados tridimensionais
400.
[0184] Tal dispositivo de decodificação de dados tridimensionais 500 inclui um elemento de obtenção 501, um analisador de cabeçalho 502, um decodificador de WLD 503 e um decodificador de SWLD 504.
[0185] Primeiro, como ilustra a figura 19, o elemento de obtenção 501 obtém os dados tridimensionais codificados 511 (S501). A seguir, o analisador de cabeçalho 502 analisa o cabeçalho dos dados tridimensi- onais codificados 511 para identificar se os dados tridimensionais codi- ficados 511 são uma sequência que inclui um WLD, ou uma sequência que inclui um SWLD (S502). Por exemplo, o parâmetro descrito acima world_type é referido na criação de tal identificação.
[0186] Quando os dados tridimensionais codificados 511 são uma sequência incluindo um WLD (sim, em S503), o decodificador de WLD 503 decodifica os dados tridimensionais codificados 511, gerando, as- sim, os dados tridimensionais decodificados 512 do WLD (S504). En- quanto isso, quando os dados tridimensionais codificados 511 são uma sequência incluindo um SWLD (não, em S503), o decodificador de SWLD 504 decodifica os dados tridimensionais codificados 511, ge- rando, assim, os dados tridimensionais decodificados 513 do SWLD (S505).
[0187] Além disso, como no caso do dispositivo de codificação, um método de decodificação, utilizado pelo decodificador de WLD 503 para decodificar um WLD, pode ser diferente de um método de decodificação utilizado pelo decodificador de SWLD 504 para decodificar um SWLD. Por exemplo, dentre a intraprevisão e a interprevisão, a interprevisão pode ser realizada com maior preferência em um método de decodifica- ção utilizado para um SWLD do que em um método de decodificação utilizado para um WLD.
[0188] Além disso, um método de decodificação utilizado para um SWLD e um método de decodificação utilizado para um WLD podem representar posições tridimensionais diferentemente. Por exemplo, co- ordenadas tridimensionais podem ser utilizadas para representar as po- pode ser utilizada para representar posições tridimensionais em um WLD, e vice-versa.
[0189] método de representação de posições tridimensionais. Dados VXL incluídos nos dados tridimensionais são convertidos em uma estrutura VXLs ilustrativos em um WLD. A figura 21 é um diagrama ilus- ilustrado na figura 20 ilustra três VXLs de 1 a 3 que incluem grupos de pontos (doravante referidos como VXLs efetivos). Como ilus- um máximo de oito nós ou folhas. Cada folha possui informação de VXL. No presente documento, das folhas ilustradas na figura 21, a folha 1, a folha 2 e a folha 3 representam VXL1, VXL2 e VXL3 ilustrados na figura 20, respectivamente.
[0190] Mais especificamente, cada nó e cada folha correspondem a uma posição tridimensional. O nó 1 corresponde a todo o bloco ilustrado na figura 20. O bloco que corresponde ao nó 1 é dividido em oito blocos.
Desses oito blocos, os blocos que incluem VXLs eficientes são determi- nados como nós, enquanto os outros blocos são configurados como fo- lhas. Cada bloco que corresponde a um nó é adicionalmente dividido em oitos nós ou folhas. Esses processos são repetidos pelo número de itens que é igu no nível mais inferior são configurados como folhas.
[0191] A figura 22 é um diagrama ilustrando um SWLD ilustrativo gerado a partir de WLD, ilustrado na figura 20. VXL1 e VXL2, ilustrados na figura 20 são julgados como FVXL1 e FVXL2, como resultado da extração de característica, e, dessa forma, são adicionados ao SWLD. Enquanto isso, VXL3 não é julgado como FVXL, e, dessa forma, não é adicionado a SWLD. A figura 23 é um diagrama ilustrando uma estrutura na figura 23, a folha 3, que corresponde a VXL3 ilustrado na figura 21, é eliminada. Consequentemente, o nó 3 ilustrado na figura 21 perdeu um VXL efetivo, e mudou para uma folha. Como descrito acima, um SWLD possui um número menor de folhas em geral, com relação a WLD, e, dessa forma, os dados tridimensionais codificados de SWLD são menores do que os dados tridimensionais codificados de WLD.
[0192] A seguir são descritas variações da presente modalidade.
[0193] Para estimativa de autolocalização, por exemplo, um cliente, sendo um dispositivo montado em um veículo etc., pode receber um SWLD do servidor para utilizar tal SWLD na estimativa da autolocaliza- ção. Enquanto isso, para detecção de obstáculos, o cliente pode detec- tar os obstáculos pelo uso de informação tridimensional na periferia, ob- tida por tal cliente, através de vários meios que incluem um sensor de distância, tal como um buscador de faixa, além de uma câmera estéreo e uma combinação de uma pluralidade de câmeras monoculares.
[0194] Em geral, um SWLD tem menos chances de incluir dados VXL em uma região plana. Como tal, o servidor pode deter um mundo de subamostras (subWLD) obtido pela subamostragem de um WLD para detecção de obstáculos estáticos, e enviar, para o cliente, o SWLD e o subWLD. Isso permite que o cliente realize a estimativa de autolo- calização e a detecção de obstáculo na parte do cliente, enquanto reduz a largura de banda da rede.
[0195] Quando o cliente cria dados de mapa tridimensionais em alta velocidade, a informação de mapa, possuindo uma estrutura de entre- laçamento, é mais útil em alguns casos. Como tal, o servidor pode gerar um entrelaçamento de um WLD para deter o mesmo antecipadamente, como um mundo entrelaçado (MWLD). Por exemplo, quando deseja re- alizar uma criação tridimensional aproximada, o cliente recebe um MWLD, e quando deseja realizar uma criação tridimensional detalhada, o cliente recebe um WLD. Isso reduz a largura de banda de rede.
[0196] Na descrição acima, o servidor configura, como FVXLs, VXLs que possuem uma quantidade de características superior a ou igual ao limite, mas o servidor pode calcular FVXLs por um método di- ferente. Por exemplo, o servidor pode julgar um VXL, um VLM, um SPC ou um GOS, que constituem um sinal, ou uma interseção, etc., como necessários para a estimativa de autolocalização, assistência à direção, ou direção autônoma, etc. e incorporar tal VXL, VLM, SPC ou GOS em um SWLD como um FVXL, um FVLM, um FSPC ou um FGOS. Tal jul- gamento pode ser realizado manualmente. Além disso, FVXLs etc., que foram configurados com base em uma quantidade de características, podem ser adicionados a FVXLs etc. obtidos pelo método acima. De outra forma, o extrator de SWLD 403 pode extrair, adicionalmente, a partir dos dados tridimensionais de entrada 411, dados correspondentes a um objeto que possui um atributo predeterminado, como dados tridi- mensionais extraídos 412.
[0197] Além disso, o fato de um VXL, um VLM, um SPC ou um GOS ser necessário para tal utilização pretendida pode ser rotulado separa- damente das características. O servidor pode deter, separadamente, como uma camada superior de um SWLD (por exemplo, um mundo de faixa), FVXLs de um sinal ou uma interseção etc., necessários para a estimativa de autolocalização, assistência à direção, ou direção autô- noma, etc.
[0198] O servidor também pode adicionar um atributo aos VXLs em um WLD com base em acesso randômico ou com base em unidade pre- determinada. Um atributo, por exemplo, inclui informação que indica se VXLs são necessários para a estimativa de autolocalização, ou informa- ção indicando se VXLs são importantes como informação de tráfego, tal como um sinal, ou uma interseção etc. Um atributo também pode incluir uma correspondência entre VXLs e características (interseção, ou es- trada etc.) na informação de faixa (arquivos de dados geográficos (GDF), etc.).
[0199] Um método, como descrito abaixo, pode ser utilizado para atualizar um WLD ou um SWLD.
[0200] A informação de atualização que indica mudanças etc. em uma pessoa, uma obra na estrada, ou uma linha de árvores (para cami- nhões), é carregada para o servidor como grupos de pontos ou metada- dos. O servidor atualiza um WLD com base em tal informação carre- gada, e, então, atualiza um SWLD pelo uso de WLD atualizado.
[0201] O cliente, quando detectando uma falta de combinação entre a informação tridimensional, que tal cliente gerou no momento da esti- mativa de autolocalização, e a informação tridimensional, recebida do servidor, pode enviar para o servidor a informação tridimensional que tal cliente gerou, juntamente com uma notificação de atualização. Em tal caso, o servidor atualiza o SWLD pelo uso de WLD. Quando o SWLD não precisa ser atualizado, o servidor julga que o WLD propriamente dito está ultrapassado.
[0202] Na descrição acima, a informação que distingue se uma se- quência codificada que é proveniente de um WLD ou um SWLD é adici- onada como informação de cabeçalho da sequência codificada. No en- tanto, quando houver muitos tipos de mundos, tal como um mundo en- trelaçado e um mundo de faixa, a informação que distingue esses tipos de mundos pode ser adicionada à informação de cabeçalho. Além disso, quando houver muitos SWLDs com quantidades diferentes de caracte- rísticas, a informação que distingue os SWLDs respectivos pode ser adi- cionada à informação de cabeçalho.
[0203] Na descrição acima, um SWLD é constituído por FVXLs, mas um SWLD pode incluir VXLs que não foram julgados como FVXLs. Por exemplo, um SWLD pode incluir um VXL adjacente utilizado para calcu- lar a característica de um FVXL. Isso permite que o cliente calcule a característica de um FVXL quando recebe um SWLD, mesmo no caso no qual a informação de característica não é adicionada a cada FVXL do SWLD. Em tal caso, o SWLD pode incluir informação que distingue se cada VXL é um FVXL ou um VXL.
[0204] Como descrito acima, o dispositivo de codificação de dados tridimensionais 400 extrai, dos dados tridimensionais registrados 411 (os primeiros dados tridimensionais), os dados tridimensionais extraídos 412 (os segundos dados tridimensionais) que possuem uma quantidade de uma característica que excede ou se iguala a um limite, e codifica os dados tridimensionais extraídos 412 para gerar os dados tridimensio- nais codificados 414 (primeiros dados tridimensionais codificados).
[0205] Esse dispositivo de codificação de dados tridimensionais 400 gera dados tridimensionais codificados 414 que são obtidos pela codifi- cação de dados, que possuem uma quantidade de uma característica superior a ou igual ao limite. Isso reduz a quantidade de dados em com- paração com o caso no qual os dados tridimensionais registrados 411 são codificados como se apresentam. O dispositivo de codificação de dados tridimensionais 400 é, dessa forma, capaz de reduzir a quanti- dade de dados a serem transmitidos.
[0206] O dispositivo de codificação de dados tridimensionais 400 codifica, adicionalmente, os dados tridimensionais registrados 411 para gerar os dados tridimensionais codificados 413 (segundos dados tridi- mensionais codificados).
[0207] Esse dispositivo de codificação de dados tridimensionais 400 permite a transmissão seletiva de dados tridimensionais codificados 413 e dados tridimensionais codificados 414, de acordo, por exemplo, com o uso pretendido, etc.
[0208] Além disso, os dados tridimensionais extraídos 412 são co- dificados por um primeiro método de codificação, e os dados tridimensi- onais registrados 411 são codificados por um segundo método de codi- ficação, diferente do primeiro método de codificação.
[0209] Esse dispositivo de codificação de dados tridimensionais 400 permite o uso de um método de codificação adequado para cada um dos dados tridimensionais registrados 411 e os dados tridimensionais extraídos 412.
[0210] Além disso, dentre a intraprevisão e a interprevisão, a inter- previsão é mais preferivelmente realizada no primeiro método de codifi- cação do que no segundo método de codificação.
[0211] Esse dispositivo de codificação de dados tridimensionais 400 permite que a interprevisão seja mais preferivelmente realizada nos da- dos tridimensionais extraídos 412, nos quais itens de dados adjacentes têm chances de apresentarem baixa correlação.
[0212] Além disso, o primeiro método de codificação e o segundo método de codificação representam posições tridimensionais diferente- mente. Por exemplo, o segundo método de codificação representa as posições tridimension 870200152631, de 04/12/2020, pág. 128/261 ção representa as posições tridimensionais por coordenadas tridimensi- onais.
[0213] O dispositivo de codificação de dados tridimensionais 400 permite o uso de um método mais adequado para representar as posi- ções tridimensionais dos dados tridimensionais considerando a dife- rença de número de itens de dados (o número de VXLs ou FVXLs) in- cluídos.
[0214] Além disso, pelo menos um dentre os dados tridimensionais codificados 413, e os dados tridimensionais codificados 414, inclui um identificador que indica se os dados tridimensionais codificados são da- dos tridimensionais codificados obtidos pela codificação de dados tridi- mensionais registrados 411, ou dados tridimensionais codificados obti- dos pela codificação de parte dos dados tridimensionais registrados
411. De outra forma, tal identificador identifica se os dados tridimensio- nais codificados são dados tridimensionais codificados 413 de um WLD, ou dados tridimensionais codificados 414 de um SWLD.
[0215] Isso permite que o dispositivo de decodificação julgue pron- tamente se os dados tridimensionais codificados obtidos são dados tri- dimensionais codificados 413, ou dados tridimensionais codificados
414.
[0216] Além disso, o dispositivo de codificação de dados tridimensi- onais 400 codifica os dados tridimensionais extraídos 412 de uma forma que os dados tridimensionais codificados 414 apresentem uma quanti- dade de dados menor do que uma quantidade de dados dos dados tri- dimensionais codificados 413.
[0217] Esse dispositivo de codificação de dados tridimensionais 400 permite que os dados tridimensionais codificados 414 tenham uma quantidade de dados menor do que a quantidade de dados, dos dados tridimensionais codificados 413.
[0218] Além disso, o dispositivo de codificação de dados tridimensi- onais 400 extrai, adicionalmente, dados que correspondem a um objeto que possui um atributo predeterminado dos dados tridimensionais regis- trados 411, como dados tridimensionais extraídos 412. O objeto pos- suindo um atributo predeterminado é, por exemplo, um objeto necessá- rio para a estimativa de autolocalização, assistência à direção, ou dire- ção autônoma etc., ou, mais especificamente, um sinal, uma interseção, etc.
[0219] Esse dispositivo de codificação de dados tridimensionais 400 pode gerar dados tridimensionais codificados 414 que incluem dados exigidos pelo dispositivo de decodificação.
[0220] Além disso, o dispositivo de codificação de dados tridimensi- onais 400 (servidor) envia, adicionalmente, para um cliente, um dos da- dos tridimensionais codificados 413 e dados tridimensionais codificados 414, de acordo com uma situação do cliente.
[0221] Esse dispositivo de codificação de dados tridimensionais 400 pode enviar dados adequados, de acordo com a situação do cliente.
[0222] Além disso, a situação do cliente inclui uma dentre uma con- dição de comunicação (por exemplo, largura de banda de rede) do cli- ente e uma velocidade de percurso do cliente.
[0223] Além disso, o dispositivo de codificação de dados tridimensi- onais 400 envia, adicionalmente, para um cliente, um dentre os dados tridimensionais codificados 413 e os dados tridimensionais codificados 414, de acordo com uma solicitação do cliente.
[0224] Esse dispositivo de codificação de dados tridimensionais 400 pode enviar dados adequados, de acordo com uma solicitação do cli- ente.
[0225] Além disso, o dispositivo de decodificação de dados tridi- mensionais 500, de acordo com a presente modalidade, decodifica os dados tridimensionais codificados 413, ou dados tridimensionais codifi- cados 414, gerados pelo dispositivo de codificação de dados tridimensi- onais 400 descrito acima.
[0226] De outra forma, o dispositivo de decodificação de dados tri- dimensionais 500 decodifica, por um primeiro método de decodificação, os dados tridimensionais codificados 414 obtidos pela codificação de dados tridimensionais extraídos 412, que possuem uma quantidade de uma característica superior a ou igual a um limite, dados tridimensionais extraídos 412, tendo sido extraídos dos dados tridimensionais registra- dos 411. O dispositivo de decodificação de dados tridimensionais 500 também decodifica, por um segundo método de decodificação, os dados tridimensionais codificados 413 obtidos pela codificação dos dados tri- dimensionais registrados 411, o segundo método de decodificação sendo diferente do primeiro método de decodificação.
[0227] Esse dispositivo de decodificação de dados tridimensionais 500 permite a recepção seletiva dos dados tridimensionais codificados 414, obtidos pela codificação de dados possuindo uma quantidade de uma característica superior e ou igual ao limite e dados tridimensionais codificados 413, de acordo, por exemplo, com o uso pretendido etc. O dispositivo de decodificação tridimensional 500 é, dessa forma, capaz de reduzir a quantidade de dados a ser transmitida. Tal dispositivo de decodificação de dados tridimensional 500 permite, adicionalmente, o uso de um método de decodificação adequado para cada um dentre os dados tridimensionais registrados 411 e os dados tridimensionais extra- ídos 412.
[0228] Além disso, dentre a intraprevisão e a interprevisão, a inter- previsão é mais preferivelmente realizada no primeiro método de deco- dificação do que no segundo método de decodificação.
[0229] Esse dispositivo de decodificação de dados tridimensionais 500 permite que a interprevisão seja mais preferivelmente realizada nos dados tridimensionais extraídos onde os itens de dados adjacentes têm mais chances de apresentar uma baixa correlação.
[0230] Além disso, o primeiro método de decodificação e o segundo método de decodificação representam as posições tridimensionais de formas diferentes. Por exemplo, o segundo método de decodificação re- presenta decodificação representa as posições tridimensionais pelas coorde- nadas tridimensionais.
[0231] Esse dispositivo de decodificação de dados tridimensionais 500 permite o uso de um método mais adequado para representar as posições tridimensionais dos dados tridimensionais, considerando a di- ferença no número de itens de dados (o número de VXLs ou FVXLs) incluído.
[0232] Além disso, pelo menos um dos dados tridimensionais codi- ficados 413 e dados tridimensionais codificados 414 inclui um identifica- dor que indica se os dados tridimensionais codificados são dados tridi- mensionais codificados obtidos pela codificação de dados tridimensio- nais registrados 411, ou dados tridimensionais codificados obtidos pela codificação de parte dos dados tridimensionais registrados 411. O dis- positivo de decodificação de dados tridimensionais 500 se refere a tal identificador na identificação entre os dados tridimensionais codificados 413 e os dados tridimensionais codificados 414.
[0233] Esse dispositivo de decodificação de dados tridimensionais 500 pode julgar prontamente se os dados tridimensionais codificados obtidos são dados tridimensionais codificados 413 ou dados tridimensi- onais codificados 414.
[0234] O dispositivo de decodificação de dados tridimensionais 500 notifica, adicionalmente, um servidor sobre uma situação do cliente (dis- positivo de decodificação de dados tridimensionais 500). O dispositivo de decodificação de dados tridimensionais 500 recebe um dos dados tridimensionais codificados 413 e dados tridimensionais codificados 414 do servidor, de acordo com a situação do cliente.
[0235] Esse dispositivo de decodificação de dados tridimensionais 500 pode receber dados adequados, de acordo com a situação do cli- ente.
[0236] Além disso, a situação do cliente inclui uma dentre uma con- dição de comunicação (por exemplo, largura de banda da rede) do cli- ente e uma velocidade de percurso do cliente.
[0237] O dispositivo de decodificação de dados tridimensionais 500 realiza, adicionalmente, uma solicitação do servidor por um dos dados tridimensionais codificados 413 e dados tridimensionais codificados 414, e recebe um dos dados tridimensionais codificados 413 e dados tridimensionais codificados 414 do servidor, de acordo com a solicita- ção.
[0238] Esse dispositivo de decodificação de dados tridimensionais 500 pode receber dados adequados de acordo com o uso pretendido. Modalidade 3
[0239] A presente modalidade descreverá um método de transmis- são/recepção de dados tridimensionais entre veículos. Por exemplo, os dados tridimensionais são transmitidos/recebidos entre o próprio veículo e o veículo próximo.
[0240] A figura 24 é um diagrama em bloco do dispositivo de criação de dados tridimensionais 620, de acordo com a presente modalidade. Tal dispositivo de criação de dados tridimensionais 620, que é incluído, por exemplo, no próprio veículo, mistura os primeiros dados tridimensi- onais 632, criados pelo dispositivo de criação de dados tridimensionais 620, com os segundos dados tridimensionais recebidos 635, criando, assim, os terceiros dados tridimensionais 636 que possuem uma densi- dade maior.
[0241] Tal dispositivo de criação de dados tridimensionais 620 inclui o criador de dados tridimensionais 621, o determinador de faixa de soli- citação 622, o buscador 623, o receptor 624, o decodificador 625 e o misturador 626.
[0242] Primeiro, o criador de dados tridimensionais 621 cria os pri- meiros dados tridimensionais 632, pelo uso da informação de sensor 631 detectada pelo sensor incluído no próprio veículo. A seguir, o deter- minador de faixa de solicitação 622 determina uma faixa de solicitação, que está na faixa de um espaço tridimensional, os dados sobre a qual são insuficientes nos primeiros dados tridimensionais criados 632.
[0243] A seguir, o buscador 623 busca pelo veículo próximo pos- suindo os dados tridimensionais da faixa de solicitação e envia a infor- mação da faixa de solicitação 633 indicando a faixa de solicitação para o veículo próximo 601 que foi buscado (S632). A seguir, o receptor 624 recebe os dados tridimensionais codificados 634, que é uma sequência codificada da faixa de solicitação, a partir do veículo próximo 601 (S624). Note-se que o buscador 623 pode enviar, de forma indiscrimi- nada, solicitações para todos os veículos incluídos em uma faixa espe- cificada, para receber os dados tridimensionais codificados 634 de um veículo que responder à solicitação. O buscador 623 pode enviar uma solicitação não apenas para os veículos, mas também para um objeto, tal como um sinal, e receber dados tridimensionais codificados 634 do objeto.
[0244] A seguir, o decodificador 625 decodifica os dados tridimen- sionais codificados recebidos 634, obtendo, dessa forma, os segundos dados tridimensionais 635. A seguir, o misturador 626 mistura os primei- ros dados tridimensionais 632 com os segundos dados tridimensionais 635, pela criação de dados tridimensionais 636 que possuem uma maior densidade.
[0245] A seguir, a estrutura e as operações do dispositivo de trans-
missão de dados tridimensionais 640, de acordo com a presente moda- lidade, serão descritas. A figura 25 é um diagrama em bloco do disposi- tivo de transmissão de dados tridimensionais 640.
[0246] O dispositivo de transmissão de dados tridimensionais 640 é incluído, por exemplo, no veículo próximo descrito acima. O dispositivo de transmissão de dados tridimensionais 640 processa os quintos da- dos tridimensionais 652, criados pelo veículo próximo, em sextos dados tridimensionais 654 solicitado pelo próprio veículo, codifica os sextos dados tridimensionais 654 para gerar os dados tridimensionais codifica- dos 634, e envia os dados tridimensionais codificados 634 para o pró- ximo veículo.
[0247] O dispositivo de transmissão de dados tridimensionais 640 inclui o criador de dados tridimensionais 641, o receptor 642, o extrator 643, o codificador 644 e o transmissor 645.
[0248] Primeiro, o criador de dados tridimensionais 641 cria os quin- tos dados tridimensionais 652 pelo uso da informação de sensor 651, detectada pelo sensor incluído no veículo próximo. A seguir, o receptor 642 recebe a informação de faixa de solicitação 633 do próximo veículo.
[0249] A seguir, o extrator 643 extrai dos quintos dados tridimensi- onais 652 os dados tridimensionais da faixa de solicitação indicada pela informação de faixa de solicitação 633, processando, assim, os quintos dados tridimensionais 652 em sextos dados tridimensionais 654. A se- guir, o codificador 644 codifica os sextos dados tridimensionais 654 para gerar os dados tridimensionais codificados 643, que é uma sequência codificada. Então, o transmissor 645 envia os dados tridimensionais co- dificados 634 para o próprio veículo.
[0250] Note-se que apesar de um caso ilustrativo ser descrito no presente documento, no qual o próprio veículo inclui o dispositivo de criação de dados tridimensionais 620, e o veículo próximo incluir o dis-
positivo de transmissão de dados tridimensionais 640, cada um dos ve- ículos pode incluir a funcionalidade de ambos o dispositivo de criação de dados tridimensionais 620 e o dispositivo de transmissão de dados tridimensional 640. Modalidade 4
[0251] A presente modalidade descreve as operações realizadas em casos anormais, quando a estimativa de autolocalização é realizada com base em um mapa tridimensional.
[0252] Um mapa tridimensional deve ter seu uso expandido em di- reção autônoma de um veículo e movimento autônomo etc. de um ob- jeto móvel, tal como um robô e um objeto voador (por exemplo, um drone). Meios ilustrativos para se permitir tal movimento autônomo in- cluem um método no qual um objeto móvel se move de acordo com um mapa tridimensional, enquanto estima sua autolocalização no mapa (es- timativa de autolocalização).
[0253] A estimativa de autolocalização é permitida pela combinação de um mapa tridimensional com a informação tridimensional das cernias do próprio veículo (doravante referidos como dados tridimensionais auto detectados), obtidos por um sensor equipado no próprio veículo, tal como um buscador de faixa (por exemplo, um LiDAR), e uma câmera estéreo para estimar a localização do próprio veículo no mapa tridimen- sional.
[0254] Como no caso de um mapa HD sugerido por HERE Techno- logies, por exemplo, um mapa tridimensional pode incluir, não apenas uma nuvem de pontos tridimensionais, mas também dados de mapa bi- dimensionais, tal como informação dos formatos das estradas e interse- ções, ou informação que muda em tempo real, tal como informação de um engarrafamento no tráfego e um acidente. Um mapa tridimensional inclui uma pluralidade de camadas, tal como as camadas de dados tri- dimensionais, dados bidimensionais, e metadados que mudam em tempo real, dentre os quais o dispositivo pode obter ou se referir apenas aos dados necessários.
[0255] Os dados de nuvem de pontos podem ser um SWLD, como descrito acima, ou podem incluir dados de grupos de pontos que são diferentes dos pontos chave. A transmissão/recepção dos dados de nu- vem de pontos é basicamente realizada em uma ou mais unidades de acesso randômico.
[0256] Um método descrito abaixo é utilizado como um método de combinação de um mapa tridimensional com dados tridimensionais auto detectados. Por exemplo, o dispositivo compara os formatos dos grupos de pontos nas nuvens de pontos dos outros, e determina quais partes, possuindo um alto grau de similaridade dentre os pontos chave, corres- pondem à mesma posição. Quando o mapa tridimensional é formado por um SWLD, o dispositivo também realiza a combinação pela compa- ração dos pontos chaves que formam o SWLD com pontos chaves tridi- mensionais extraídos dos dados tridimensionais auto detectados.
[0257] No presente documento, para se permitir a estimativa de au- tolocalização altamente precisa, o seguinte precisa ser satisfeito: (A) o mapa tridimensional e os dados tridimensionais auto detectados já fo- ram obtidos; e (B) suas precisões satisfazem uma exigência predeter- minada. No entanto, um dentre (A) e (B) não pode ser satisfeito em ca- sos anormais, tal como os descritos abaixo.
1. Um mapa tridimensional não pode ser obtido através da comunica- ção.
2. Um mapa tridimensional não está presente, ou um mapa tridimensio- nal obtido está corrompido.
3. Um sensor do próprio veículo apresenta problemas, ou a precisão dos dados tridimensionais auto detectados gerados é inadequada de- vido ao mau tempo.
[0258] O apresentado a seguir descreve as operações para se lidar com tais casos anormais. A descrição a seguir ilustra um caso ilustrativo de um veículo, mas o método descrito abaixo é aplicável a objetos mó- veis como um todo que podem realizar movimento autônomo, tal como um robô e um drone.
[0259] A seguir descreve-se a estrutura do dispositivo de processa- mento de informação tridimensional e sua operação, de acordo com a presente modalidade, capaz de lidar com casos anormais que se refe- rem a um mapa tridimensional ou a dados tridimensionais auto detecta- dos. A figura 26 é um diagrama em bloco de uma estrutura ilustrativa do dispositivo de processamento de informação tridimensional 700, de acordo com a presente modalidade.
[0260] O dispositivo de processamento de informação tridimensio- nal 700 é equipado, por exemplo, em um objeto móvel, tal como um carro. Como ilustrado na figura 26, o dispositivo de processamento de informação tridimensional 700 inclui o elemento de obtenção de mapa tridimensional 701, o elemento de obtenção de dados auto detectados 702, a unidade de julgamento de caso anormal 703, o determinador de operação de enfrentamento 704 e o controlador de operação 705.
[0261] Note que o dispositivo de processamento de informação tri- dimensional 700 pode incluir um sensor bidimensional ou unidimensio- nal, não ilustrado, que detecta um objeto estrutural ou um objeto móvel em torno do próprio veículo, tal como uma câmera capaz de obter ima- gens bidimensionais e um sensor para os dados unidimensionais utili- zando ultrassom ou laser. O dispositivo de processamento de informa- ção tridimensional 700 também pode incluir uma unidade de comunica- ção não ilustrada que obtém um mapa tridimensional através de uma rede de comunicação móvel, tal como 4G e 5G, ou através da comuni- cação interveicular ou da comunicação de estrada para veículo.
[0262] O elemento de obtenção de mapa tridimensional 701 obtém o mapa tridimensional 711 das cercanias da rota de percurso. Por exem- plo, o elemento de obtenção de mapa tridimensional 701 obtém o mapa tridimensional 711 através de uma rede de comunicação móvel, ou atra- vés da comunicação interveicular, ou comunicação de estrada para ve- ículo.
[0263] A seguir, o elemento de obtenção de dados auto detectado 702 obtém os dados tridimensionais auto detectados 712 com base na informação de sensor. Por exemplo, o elemento de obtenção de dados auto detectado 702 gera os dados tridimensionais auto detectados 712 com base na informação de sensor obtida por um sensor equipado no próprio veículo.
[0264] A seguir, a unidade de julgamento de caso anormal 703 con- duz uma verificação predeterminada de pelo menos um dentre o mapa tridimensional obtido 711 e os dados tridimensionais auto detectados 712 para detectar um caso anormal. De outra forma, a unidade de jul- gamento de caso anormal 703 julga se pelo menos um dentre o mapa tridimensional obtido 711 e os dados tridimensionais auto detectados 712 é anormal.
[0265] Quando o caso anormal é detectado, a determinação de ope- ração de enfrentamento 704 determina uma operação de enfrentamento para enfrentar tal caso anormal. A seguir, o controlador de operação 705 controla a operação de cada uma das unidades de processamento ne- cessárias para se realizar a operação de enfrentamento.
[0266] Enquanto isso, quando nenhum caso anormal é detectado, o dispositivo de processamento de informação tridimensional 700 en- cerra o processo.
[0267] Além disso, o dispositivo de processamento de informação tridimensional 700 estima a localização do veículo equipado com o dis- positivo de processamento de informação tridimensional 700, utilizando o mapa tridimensional 711 e os dados tridimensionais auto detectados
712. A seguir, o dispositivo de processamento de informação tridimen- sional 700 realiza a operação automática do veículo pelo uso da locali- zação estimada do veículo.
[0268] Como descrito acima, o dispositivo de processamento de in- formação tridimensional 700 obtém, através de um canal de comunica- ção, dados de mapa (mapa tridimensional 711) que incluem a primeira informação de posição tridimensional. A primeira informação de posição tridimensional inclui, por exemplo, uma pluralidade de unidades de acesso randômico, cada uma das quais é uma montagem de pelo me- nos um subespaço e é decodificável individualmente, o pelo menos um subespaço possuindo informação de coordenadas tridimensionais e servindo como uma unidade, na qual cada uma, dentre a pluralidade de unidades de acesso randômico, é codificada. A primeira informação de posição tridimensional é, por exemplo, dados (SWLD) obtidos pela co- dificação de pontos chave, cada um dos quais possui uma quantidade de uma característica tridimensional superior a ou igual a um limite pre- determinado.
[0269] O dispositivo de processamento de informação tridimensio- nal 700 também gera a segunda informação de posição tridimensional (dados tridimensionais auto detectados 712) a partir da informação de- tectada por um sensor. O dispositivo de processamento de informação tridimensional 700, então, julga se uma, dentre a primeira informação de posição tridimensional e a segunda informação de posição tridimen- sional, é anormal pela realização, em uma dentre a primeira informação de posição tridimensional e a segunda informação de posição tridimen- sional, de um processo de julgamento de se uma anomalia está pre- sente.
[0270] O dispositivo de processamento de informação tridimensio- nal 700 determina uma operação de enfrentamento para enfrentar a anomalia quando uma, dentre a primeira informação de posição tridi- mensional e a segunda informação de posição tridimensional, é julgada como sendo anormal. O dispositivo de processamento de informação tridimensional 700, então, executa um controle que é necessário para se realizar a operação de enfrentamento.
[0271] Essa estrutura permite que o dispositivo de processamento de informação tridimensional 700 detecte uma anomalia referente à pri- meira informação de posição tridimensional e à segunda informação de posição tridimensional e realize uma operação de enfrentamento para a mesma. Modalidade 5
[0272] A presente modalidade descreve um método etc. de trans- missão de dados tridimensionais para um veículo seguinte.
[0273] A figura 27 é um diagrama em bloco de uma estrutura ilus- trativa do dispositivo de criação de dados tridimensionais 810, de acordo com a presente modalidade. Tal dispositivo de criação de dados tridi- mensionais 810 é equipado, por exemplo, em um veículo. O dispositivo de criação de dados tridimensionais 810 transmite e recebe dados tridi- mensionais para e de um sistema de monitoramento de tráfego com base em nuvem externa, um veículo anterior, ou um veículo seguinte, e cria e armazena dados tridimensionais.
[0274] O dispositivo de criação de dados tridimensionais 810 inclui um receptor de dados 811, uma unidade de comunicação 812, um con- trolador de recepção 813, um conversor de formato 814, uma plurali- dade de sensores 815, um criador de dados tridimensionais 816, um sintetizador de dados tridimensionais 817, um armazenador de dados tridimensionais 818, uma unidade de comunicação 819, um controlador de transmissão 820, um conversor de formato 821 e um transmissor de dados 822.
[0275] O receptor de dados 811 recebe dados tridimensionais 831 de um sistema de monitoramento de tráfego com base em nuvem ou um veículo anterior. Os dados tridimensionais 831 incluem, por exem- plo, informação de uma região não detectável pelos sensores 815 do próprio veículo, tal como uma nuvem de pontos, um vídeo de luz visível, informação de profundidade, informação de posição de sensor e infor- mação de velocidade.
[0276] A unidade de comunicação 812 se comunica com o sistema de monitoramento de tráfego com base em nuvem, ou com o veículo anterior, para transmitir uma solicitação de transmissão de dados etc. para o sistema de monitoramento de tráfego com base em nuvem ou no veículo anterior.
[0277] O controlador de recepção 813 permuta informação, tal como informação dos formatos suportados, com um parceiro de comu- nicações através da unidade de comunicação 812 para estabelecer a comunicação com o parceiro de comunicações.
[0278] O conversor de formato 814 aplica a conversão de formato etc. aos dados tridimensionais 831 recebidos pelo receptor de dados 811 para gerar os dados tridimensionais 832. O conversor de formato 814 também descomprime ou decodifica os dados tridimensionais 831 quando os dados tridimensionais 831 são comprimidos ou codificados.
[0279] Uma pluralidade de sensores 815 são grupos de sensores, tal como câmeras de luz visível, e câmeras de infravermelho, que obtêm a informação do exterior do veículo e geram informação de sensor 833. A informação de sensor 833 é, por exemplo, dados tridimensionais, tal como uma nuvem de pontos (dados de grupo de pontos), quando os sensores 815 são sensores de laser, tal como LiDARs. Note-se que um sensor singular pode servir como uma pluralidade de sensores 815.
[0280] O criador de dados tridimensionais 816 gera dados tridimen- sionais 834 a partir da informação de sensor 833. Os dados tridimensi- onais 834 incluem, por exemplo, informação, tal como uma nuvem de pontos, vídeo de luz visível, informação de profundidade, informação de posição de sensor, e informação de velocidade.
[0281] O sintetizador de dados tridimensionais 817 sintetiza os da- dos tridimensionais 834 criados com base na informação de sensor 833 do próprio veículo com os dados tridimensionais 832 criados pelo sis- tema de monitoramento de tráfego com base em nuvem ou veículo an- terior, etc., formando, assim, os dados tridimensionais 835 de um es- paço que inclui o espaço à frente do veículo anterior, não detectável pelos sensores 815 do próprio veículo.
[0282] O armazenador de dados tridimensionais 818 armazena os dados tridimensionais gerados 835, etc.
[0283] A unidade de comunicação 819 se comunica com o sistema de monitoramento de tráfego com base em nuvem, ou com o veículo a seguir, para transmitir uma solicitação de transmissão de dados etc. para o sistema de monitoramento de tráfego com base em nuvem ou o veículo a seguir.
[0284] O controlador de transmissão 820 permuta a informação, tal como a informação em formatos suportados, com um parceiro de comu- nicações, através da unidade de comunicação 819 para estabelecer a comunicação com o parceiro de comunicações. O controlador de trans- missão 820 também determina uma região de transmissão, que é um espaço dos dados tridimensionais a serem transmitidos, com base na informação de formação de dados tridimensionais nos dados tridimen- sionais 832 gerados pelo sintetizador de dados tridimensionais 817 e a solicitação de transmissão de dados a partir do parceiro de comunica- ções.
[0285] Mais especificamente, o controlador de transmissão 820 de- termina uma região de transmissão que inclui o espaço à frente do pró- prio veículo que não é detectável por um sensor do veículo seguinte, em resposta à solicitação de transmissão de dados do sistema de monito- ramento de tráfego com base em nuvem ou veículo seguinte. O contro- lador de transmissão 820 julga, por exemplo, se um espaço é transmis- sível ou se o espaço já transmitido inclui uma atualização, com base na informação de formação de dados tridimensionais, para determinar uma região de transmissão. Por exemplo, o controlador de transmissão 820 determina, como uma região de transmissão, uma região que é uma região especificada pela solicitação de transmissão de dados; e uma região, correspondente aos dados tridimensionais 835 dos quais está presente. O controlador de transmissão 820, então, notifica o conversor de formato 821 sobre o formato suportado pelo parceiro de comunica- ções e região de transmissão.
[0286] Dos três dados tridimensionais 835 armazenados no arma- zenador de dados tridimensionais 818, o conversor de formato 821 con- verte os dados tridimensionais 836 da região de transmissão no formato suportado pela extremidade do receptor para gerar dados tridimensio- nais 837. Note-se que o conversor de formato 821 pode comprimir ou codificar os dados tridimensionais 837 para reduzir a quantidade de da- dos.
[0287] O transmissor de dados 822 transmite os dados tridimensio- nais 837 para o sistema de monitoramento de tráfego com base em nu- vem ou para o veículo seguinte. Tais dados tridimensionais 837 incluem, por exemplo, informação de um ponto cego, que é uma região ocultada da visão do veículo seguinte, tal como uma nuvem de pontos à frente do próprio veículo, vídeo de luz visível, informação de profundidade, e informação de posição de sensor.
[0288] Note-se que o exemplo foi descrito, no qual o conversor de formato 814 e o conversor de formato 821 realizam a conversão de for- mato etc., mas a conversão de formato pode não ser realizada.
[0289] Com a estrutura acima, o dispositivo de criação de dados tri- dimensionais 810 obtém, a partir de um dispositivo externo, os dados tridimensionais 831 de uma região não detectável pelos sensores 815 do próprio veículo, e sintetiza os dados tridimensionais 831 com dados tridimensionais 834 que são baseados na informação de sensor 833 de- tectada pelos sensores 815 do próprio veículo, gerando, assim, os da- dos tridimensionais 835. O dispositivo de criação de dados tridimensio- nais 810 é, dessa forma, capaz de gerar dados tridimensionais de uma faixa não detectável pelos sensores 815 do próprio veículo.
[0290] O dispositivo de criação de dados tridimensionais 810 pode transmitir, para o sistema de monitoramento de tráfego com base em nuvem ou o veículo a seguir, por exemplo, dados tridimensionais de um espaço que inclui o espaço à frente do próprio veículo, não detectável por um sensor do veículo a seguir, em resposta à solicitação de trans- missão de dados a partir do sistema de monitoramento de tráfego com base em nuvem ou o veículo a seguir. Modalidade 6
[0291] Na modalidade 5, um exemplo é descrito no qual um dispo- sitivo de cliente de um veículo ou similar transmite os dados tridimensi- onais para outro veículo ou um servidor, tal como um sistema de moni- toramento de tráfego com base em nuvem. Na presente modalidade, um dispositivo de cliente transmite a informação de sensor obtida atra- vés de um sensor para um servidor ou um dispositivo de cliente.
[0292] Uma estrutura de um sistema, de acordo com a presente mo- dalidade, será descrita primeiro. A figura 28 é um diagrama ilustrando a estrutura de um sistema de transmissão/recepção de um mapa tridimen- sional e informação de sensor, de acordo com a presente modalidade. Esse sistema inclui o servidor 901, e dispositivos de cliente 902A e 902B. Note que os dispositivos de cliente 902A e 902B também são re- feridos como um dispositivo de cliente 902 quando nenhuma distinção em particular for feita entre os mesmos.
[0293] O dispositivo de cliente 902 é, por exemplo, um dispositivo montado em veículo equipado em um objeto móvel, tal como um veí- culo. O servidor 901 é, por exemplo, um sistema de monitoramento de tráfego com base em nuvem, e pode se comunicar com a pluralidade de dispositivos de cliente 902.
[0294] O servidor 901 transmite o mapa tridimensional formado por uma nuvem de pontos para o dispositivo de cliente 902. Note-se que uma estrutura do mapa tridimensional não está limitada a uma nuvem de pontos, e também pode ser outra estrutura que expressa os dados tridimensionais, tal como uma estrutura entrelaçada.
[0295] O dispositivo de cliente 902 transmite a informação de sen- sor obtida pelo dispositivo de cliente 902 para o servidor 901. A informa- ção de sensor inclui, por exemplo, pelo menos uma dentre a informação obtida pelo LiDAR, uma imagem de luz visível, uma imagem de infraver- melho, uma imagem de profundidade, a informação de posição de sen- sor, ou a informação de velocidade de sensor.
[0296] Os dados a serem transmitidos e recebidos entre o servidor 901 e o dispositivo de cliente 902 podem ser comprimidos a fim de re- duzir o volume de dados, e também podem ser transmitidos de forma descomprimida a fim de manter a precisão dos dados. Quando da com- pressão de dados, é possível se utilizar um método de compressão tri- dimensional na nuvem de pontos com base, por exemplo, em uma es- bidimensional na imagem de luz visível, imagem de infraverme- lho e imagem de profundidade. O método de compressão de imagem bidimensional é, por exemplo, MPEG-4 AVC ou HEVC padronizado por MPEG.
[0297] O servidor 901 transmite o mapa tridimensional gerenciado pelo servidor 901 para o dispositivo de cliente 902, em resposta a uma solicitação de transmissão para o mapa tridimensional a partir do dispo- sitivo de cliente 902. Note-se que o servidor 901 também pode transmitir o mapa tridimensional sem esperar pela solicitação de transmissão para o mapa tridimensional, a partir do dispositivo de cliente 902. Por exem- plo, o servidor 901 pode difundir o mapa tridimensional para pelo menos um dispositivo de cliente 902 localizado em um espaço predeterminado. O servidor 901 também pode transmitir o mapa tridimensional adequado para uma posição do dispositivo de cliente 902 em intervalos de tempo fixos para o dispositivo de cliente 902 que recebeu a solicitação de transmissão uma vez. O servidor 901 pode transmitir também o mapa tridimensional gerenciado pelo servidor 901 para o dispositivo de cliente 902 cada vez que o mapa tridimensional é atualizado.
[0298] O dispositivo de cliente 902 envia a solicitação de transmis- são do mapa tridimensional para o servidor 901. Por exemplo, quando o dispositivo de cliente 902 deseja realizar a estimativa de autolocaliza- ção durante um percurso, o dispositivo de cliente 902 transmite a solici- tação de transmissão do mapa tridimensional para o servidor 901.
[0299] Note-se que nos casos a seguir, o dispositivo de cliente 902 pode enviar a solicitação de transmissão do mapa tridimensional para o servidor 901. O dispositivo de cliente 902 pode enviar a solicitação de transmissão do mapa tridimensional para o servidor 901 quando o mapa tridimensional armazenado pelo dispositivo de cliente 902 está desatu- alizado. Por exemplo, o dispositivo de cliente 902 pode enviar a solici- tação de transmissão do mapa tridimensional para o servidor 901 quando um período fixo tiver passado desde que o mapa tridimensional foi obtido pelo dispositivo de cliente 902.
[0300] O dispositivo de cliente 902 também pode enviar a solicita- ção de transmissão do mapa tridimensional para o servidor 901 antes de um tempo fixo, quando o dispositivo de cliente 902 sai de um espaço ilustrado no mapa tridimensional, armazenado pelo dispositivo de cli- ente 902. Por exemplo, o dispositivo de cliente 902 pode enviar a solici- tação de transmissão do mapa tridimensional para o servidor 901 quando o dispositivo de cliente 902 estiver localizado a uma distância predeterminada de um limite do espaço ilustrado no mapa tridimensio- nal armazenado pelo dispositivo de cliente 902. Quando um percurso de movimento e uma velocidade de movimento do dispositivo de cliente 902 são compreendidos, um momento no qual o dispositivo de cliente 902 sai do espaço ilustrado no mapa tridimensional armazenado pelo dispositivo de cliente 902 pode ser previsto com base no percurso de movimento e na velocidade de movimento do dispositivo de cliente 902.
[0301] O dispositivo de cliente 902 também pode enviar a solicita- ção de transmissão do mapa tridimensional para o servidor 901 quando um erro, durante o alinhamento dos dados tridimensionais e do mapa tridimensional, criado a partir da informação de sensor pelo dispositivo de cliente 902, está pelo menos em um nível fixo.
[0302] O dispositivo de cliente 902 transmite a informação de sen- sor para o servidor 901 em resposta a uma solicitação de transmissão da informação de sensor do servidor 901. Note-se que o dispositivo de cliente 902 pode transmitir a informação de sensor para o servidor 901 sem esperar pela solicitação de transmissão da informação de sensor proveniente do servidor 901. Por exemplo, o dispositivo de cliente 902 pode transmitir, periodicamente, a informação de sensor durante um pe- ríodo fixo, quando o dispositivo de cliente 902 recebeu a solicitação de transmissão da informação de sensor do sensor 901 uma vez. O dispo- sitivo de cliente 902 pode determinar que existe uma possibilidade de ter ocorrido uma mudança no mapa tridimensional de uma área circun- dante do dispositivo de cliente 902, e transmite essa informação, e a informação de sensor, para o servidor 901, quando o erro, durante o alinhamento dos dados tridimensionais, criado pelo dispositivo de cli- ente 902, com base na informação de sensor, e no mapa tridimensional obtido a partir do servidor 901, está pelo menos no nível fixo.
[0303] O servidor 901 envia uma solicitação de transmissão para a informação de sensor para o dispositivo de cliente 902. Por exemplo, o servidor 901 recebe a informação de posição, tal como a informação de GPS, sobre o dispositivo de cliente 902 do dispositivo de cliente 902. O servidor 901 envia a solicitação de transmissão da informação de sensor para o dispositivo de cliente 902 a fim de gerar um novo mapa tridimen- sional, quando for determinado que o dispositivo de cliente 902 está se aproximando de um espaço, no qual o mapa tridimensional gerenciado pelo servidor 901 contém pouca informação, com base na informação de posição do dispositivo de cliente 902. O servidor 901 também pode enviar a solicitação de transmissão da informação de sensor, quando desejar (i) atualizar o mapa tridimensional, (ii) verificar as condições da estrada durante uma nevasca, um desastre, ou similar ou (iii) verificar as condições de congestionamento de tráfego, condições de aci- dente/incidente, ou similares.
[0304] O dispositivo de cliente 902 pode configurar uma quantidade de dados da informação de sensor a ser transmitida para o servidor 901, de acordo com as condições de comunicação ou largura de banda du- rante a recepção da solicitação de transmissão da informação de sensor a ser recebida do servidor 901. Configurar a quantidade de dados de informação de sensor a ser transmitida para o servidor 901, por exem- plo, aumenta/reduz os dados propriamente ditos ou seleciona adequa- damente um método de compressão
[0305] A figura 29 é um diagrama em bloco ilustrando uma estrutura ilustrativa do dispositivo de cliente 902. O dispositivo de cliente 902 re- cebe o mapa tridimensional formado por uma nuvem de pontos e simi-
lares a partir do servidor 901, e estima uma autolocalização do disposi- tivo de cliente 902 utilizando o mapa tridimensional criado com base na informação de sensor do dispositivo de cliente 902. O dispositivo de cli- ente 902 transmite a informação de sensor obtida para o servidor 901.
[0306] O dispositivo de cliente 902 inclui o receptor e dados 1011, a unidade de comunicação 1012, o controlador de recepção 1013, o conversor de formato 1014, os sensores 1015, o criador de dados tridi- mensionais 1016, o processador de imagem tridimensional 1017, o ar- mazenador de dados tridimensional 1018, o conversor de formato 1019, a unidade de comunicação 10120, o controlador de transmissão 1021 e o transmissor de dados 1022.
[0307] O receptor de dados 1011 recebe o mapa tridimensional 1031 a partir do servidor 901. O mapa tridimensional 1031 são dados que incluem uma nuvem de pontos, tal como WLD ou um SWLD. O mapa tridimensional 1031 pode incluir os dados comprimidos ou dados não comprimidos.
[0308] A unidade de comunicação 1012 comunica com o servidor 901 e transmite uma solicitação de transmissão de dados (por exemplo, solicitação de transmissão do mapa tridimensional) para o servidor 901.
[0309] O controlador de recepção 1013 permuta a informação, tal como a informação de formatos suportados, com um parceiro de comu- nicações através da unidade de comunicação 1012 para estabelecer a comunicação com o parceiro de comunicações.
[0310] O conversor de formato 1014 realiza uma conversão de for- mato e similares no mapa tridimensional 1031 recebido pelo receptor de dados 1011 para gerar o mapa tridimensional 1032. O conversor de for- mato 1014 também realiza um processo de descompressão ou decodi- ficação quando o mapa tridimensional 1031 é comprimido ou codificado. Note-se que o conversor de formato 1014 não realiza o processo de descompressão ou decodificação quando o mapa tridimensional 1031 são dados não comprimidos.
[0311] Os sensores 815 são um grupo de sensores, tal como Li- DARs, câmeras de luz visível, câmeras de infravermelho, ou sensores de profundidade que obtêm a informação do exterior de um veículo equi- pado com o dispositivo de cliente 902, e geram a informação de sensor
1033. A informação de sensor 1033 é, por exemplo, dados tridimensio- nais, tal como uma nuvem de pontos (dados de grupo de pontos), quando sensores 1015 são sensores de laser, tal como LiDARs. Note- se que um único sensor pode servir como sensores 1015.
[0312] O criador de dados tridimensionais 1016 gera os dados tridi- mensionais 1034 de uma área circundante do próprio veículo com base na informação de sensor 1033. Por exemplo, o criador de dados tridi- mensionais 1016 gera os dados de nuvem de pontos com a informação e cor na área circundante do próprio veículo utilizando a informação ob- tida pelo LiDAR e vídeo de luz visível obtido por uma câmera de luz visível.
[0313] O processador de imagem tridimensional 1017 realiza um processo de estimativa de autolocalização e similares do próprio veí- culo, utilizando (i) o mapa tridimensional recebido 1032, tal como uma nuvem de pontos, e (ii) dados tridimensionais 1034 da área circundante do próprio veículo gerado utilizando a informação de sensor 1033. Note- se que o processador de imagem tridimensional 1017 pode gerar os da- dos tridimensionais 1035 sobre as cercanias do próprio veículo pela mis- tura do mapa tridimensional 1032 e dos dados tridimensionais 1034, e pode realizar o processo de estimativa de autolocalização utilizando os dados tridimensionais criados 1035.
[0314] O armazenador de dados tridimensional 1018 armazena o mapa tridimensional 1032, dados tridimensionais 1034, dados tridimen- sionais 1035, e similares.
[0315] O conversor de formato 1019 gera a informação de sensor
1037 pela conversão da informação de sensor 1033 em um formato su- portado por uma extremidade receptora. Note-se que o conversor de formato 1019 pode reduzir a quantidade de dados pela compressão ou codificação da informação de sensor 1037. O conversor de formato 1019 pode omitir esse processo quando a conversão de formato não é necessária. O conversor de formato 1019 também pode controlar a quantidade de dados a ser transmitida de acordo com uma faixa de transmissão especificada.
[0316] A unidade de comunicação 1020 se comunica com o servidor 901 e recebe uma solicitação de transmissão de dados (solicitação de transmissão da informação de sensor) e similares a partir do servidor
901.
[0317] O controlador de transmissão 1021 permuta informação, tal como informação de formatos suportados, com um parceiro de comuni- cações através da unidade de comunicação 1020 para estabelecer a comunicação com o parceiro de comunicações.
[0318] O transmissor de dados 1022 transmite a informação de sen- sor 1037 para o servidor 901. A informação de sensor 1037 inclui, por exemplo, a informação obtida através dos sensores 1015, tal como a informação obtida por LiDAR, uma imagem de luminescência obtida por uma câmera de luz visível, uma imagem de infravermelho obtida por uma câmera de infravermelho, uma imagem de profundidade obtida por um sensor de profundidade, a informação de posição de sensor, e a informação de velocidade de sensor.
[0319] Uma estrutura do servidor 901 será descrita a seguir. A figura 30 é um diagrama em bloco ilustrando uma estrutura ilustrativa do ser- vidor 901. O servidor 901 transmite a informação de sensor do disposi- tivo de cliente 902 e cria dados tridimensionais baseado na informação de sensor recebida. O servidor 901 atualiza o mapa tridimensional ge- renciado pelo servidor 901 utilizando os dados tridimensionais criados.
O servidor 901 transmite o mapa tridimensional atualizado para o dispo- sitivo de cliente 902 em resposta a uma solicitação de transmissão para o mapa tridimensional do dispositivo de cliente 902.
[0320] O servidor 901 inclui o receptor de dados 1111, a unidade de comunicação 1112, o controlador de recepção 1113, o conversor de for- mato 1114, o criador de dados tridimensionais 1116, o misturador de dados tridimensionais 1117, o armazenador de dados tridimensionais 1118, o conversor de formato 1119, a unidade de comunicação 1120, o controlador de transmissão 1121 e o transmissor de dados 1122.
[0321] O receptor de dados 1111 recebe informação de sensor 1037 do dispositivo de cliente 902. A informação de sensor 1037 inclui, por exemplo, a informação obtida pelo LiDAR, uma imagem de lumines- cência obtida por uma câmera de luz visível, uma imagem de infraver- melho obtida por uma câmera de infravermelho, uma imagem de pro- fundidade obtida por um sensor de profundidade, uma informação de posição de sensor, informação de velocidade de sensor e similares.
[0322] A unidade de comunicação 1112 comunica com o dispositivo de cliente 902 e transmite uma solicitação de transmissão de dados (por exemplo, a solicitação de transmissão da informação de sensor) e simi- lares para o dispositivo de cliente 902.
[0323] O controlador de recepção 1113 permuta informação, tal como informação dos formatos suportados, com um parceiro de comu- nicações através da unidade de comunicação 1112 para estabelecer a comunicação com o parceiro de comunicações.
[0324] O conversor de formato 1114 gera a informação de sensor 1132 pela realização de um processo de descompressão ou decodifica- ção quando a informação de sensor recebida 1037 é comprimida ou co- dificada. Note-se que o conversor de formato 1114 não realiza o pro- cesso de descompressão ou decodificação quando a informação de sensor 1037 são dados não comprimidos.
[0325] O criador de dados tridimensionais 1116 gera dados tridi- mensionais 1134 de uma área circundante do dispositivo de cliente 902 com base na informação de sensor 1132. Por exemplo, o criador de da- dos tridimensionais 1116 gera dados de nuvem de pontos com informa- ção de cor da área circundante do dispositivo de cliente 902 utilizando informação obtida pelo LiDAR e vídeo de luz visível obtida por uma câ- mera de luz visível.
[0326] O misturador de dados tridimensionais 1117 atualiza o mapa tridimensional 1135 pela mistura de dados tridimensionais 1134 criados com base na informação de sensor 1132 com o mapa tridimensional 1135 gerenciado pelo servidor 901.
[0327] O armazenador de dados tridimensionais 1118 armazena o mapa tridimensional 1135 e similares.
[0328] O conversor de formato 1119 gera o mapa tridimensional 1031 pela conversão do mapa tridimensional 1135 em um formato su- portado pela extremidade receptora. Note-se que o conversor de for- mato 1119 pode reduzir a quantidade de dados pela compressão ou codificação do mapa tridimensional 1135. O conversor de formato 1119 pode omitir esse processo quando a conversão de formato não é neces- sária. O conversor de formato 1119 também pode controlar a quanti- dade de dados a ser transmitida de acordo com uma faixa de transmis- são especificada.
[0329] A unidade de comunicação 1120 se comunica com o dispo- sitivo de cliente 902 e recebe uma solicitação de transmissão de dados (solicitação de transmissão de mapa tridimensional) e similares do dis- positivo de cliente 902.
[0330] O controlador de transmissão 1121 permuta informação, tal como informação em formatos suportados, com um parceiro de comu- nicações através da unidade de comunicação 1120 para estabelecer a comunicação com o parceiro de comunicações.
[0331] O transmissor de dados 1122 transmite o mapa tridimensio- nal 1031 para o dispositivo de cliente 902. O mapa tridimensional 1031 são dados que incluem uma nuvem de pontos, tal como um WLD ou um SWLD. O mapa tridimensional 1031 pode incluir um dentre os dados comprimidos e os dados não comprimidos.
[0332] Um fluxo operacional do dispositivo de cliente 902 será des- crito a seguir. A figura 31 é um fluxograma de uma operação quando o dispositivo de cliente 902 obtém o mapa tridimensional.
[0333] O dispositivo de cliente 902 primeiro solicita que o servidor 901 transmita o mapa tridimensional (nuvem de pontos etc.) (S1001). Nesse momento, pela transmissão também da informação de posição do dispositivo de cliente 902, obtida através do GPS e similares, o dis- positivo de cliente 902 também pode solicitar que o servidor 901 trans- mita um mapa tridimensional referente a essa informação de posição.
[0334] O dispositivo de cliente 902, a seguir, recebe o mapa tridi- mensional do servidor 901 (S1002). Quando o mapa tridimensional re- cebido são dados comprimidos, o dispositivo de cliente 902 decodifica o mapa tridimensional recebido e gera um mapa tridimensional não comprimido (S1003).
[0335] O dispositivo de cliente 902, a seguir, cria os dados tridimen- sionais 1034 da área circundante do dispositivo de cliente 902, utili- zando a informação de sensor 1033 obtida pelos sensores 1015 (S1004). O dispositivo de cliente 902, a seguir, estima a autolocalização do dispositivo de cliente 902 utilizando o mapa tridimensional 1032 re- cebido do servidor 901, e os dados tridimensionais 1034 criados, utili- zando-se a informação de sensor 1033 (S1005).
[0336] A figura 32 é um fluxograma de uma operação quando o dis- positivo de cliente 902 transmite a informação de sensor. O dispositivo de cliente 902 primeiro recebe uma solicitação de transmissão da infor- mação de sensor do servidor 901 (S1011). O dispositivo de cliente 902 que recebeu a solicitação de transmissão transmite a informação de sensor 1037 para o servidor 901 (S1012). Note-se que o dispositivo de cliente 902 pode gerar a informação de sensor 1037 comprimindo cada parte da informação, utilizando um método de compressão adequado para cada parte da informação, quando a informação de sensor 1033 inclui uma pluralidade de partes de informação obtidas pelos sensores
1015.
[0337] Um fluxo operacional do servidor 901 será descrito a seguir. A figura 33 é um fluxograma de uma operação quando o servidor 901 obtém a informação de sensor. O servidor 901 primeiro solicita que o dispositivo de cliente 902 transmita a informação de sensor (S1021). O servidor 901, a seguir, recebe a informação de sensor 1037 transmitida a partir do dispositivo de cliente 902, de acordo com a solicitação (S1022). O servidor 901, a seguir, cria os dados tridimensionais 1134 utilizando a informação de sensor recebida 1037 (S1023). O servidor 901, a seguir, reflete os dados tridimensionais criados 1134 no mapa tridimensional 1135 (S1024).
[0338] A figura 34 é um fluxograma de uma operação quando o ser- vidor 901 transmite o mapa tridimensional. O servidor 901 primeiro re- cebe uma solicitação de transmissão do mapa tridimensional a partir do dispositivo de cliente 902 (S1031). O servidor 901 que recebeu a solici- tação de transmissão do mapa tridimensional transmite o mapa tridi- mensional para o dispositivo de cliente 902 (S1032). Nesse momento, o servidor 901 pode extrair um mapa tridimensional de uma proximidade do dispositivo de cliente 902 juntamente com a informação de posição do dispositivo de cliente 902, e transmitir o mapa tridimensional extraído. O servidor 901 pode comprimir o mapa tridimensional formado por uma nuvem de pontos utilizando, por exemplo, um método de compressão
[0339] Doravante, variações da presente modalidade serão descri- tas.
[0340] O servidor 901 cria os dados tridimensionais 1134 de uma proximidade de uma posição do dispositivo de cliente 902 utilizando a informação de sensor 1037 recebida do dispositivo de cliente 902. O servidor 901, a seguir, calcula uma diferença entre os dados tridimensi- onais 1134 e o mapa tridimensional 1135, pela combinação dos dados tridimensionais criados 1134 com o mapa tridimensional 1135 da mesma área gerenciada pelo servidor 901. O servidor 901 determina que um tipo de anomalia ocorreu na área circundante ao dispositivo de cliente 902, quando a diferença for superior a ou igual a um limite pre- determinado. Por exemplo, é concebível que uma grande diferença ocorra entre o mapa tridimensional 1135 gerenciado pelo servidor 901, e os dados tridimensionais 1134 criados com base na informação de sensor 1037, quando a subsidência de solo e similares ocorrem, devido a um desastre natural, tal como um terremoto.
[0341] Informação do sensor 1037 pode incluir informação que in- clui indicar pelo menos um dentre um tipo de sensor, um desempenho de sensor, e um número de modelo de sensor. A informação de sensor 1037 também pode ser anexada a um ID de classe e similares, de acordo com o desempenho de sensor. Por exemplo, quando a informa- ção de sensor 1037 é obtida pelo LiDAR, é concebível se designar iden- tificadores para desempenho de sensor. Um sensor capaz de obter in- formação com precisão em unidades de vários milímetros é de classe 1, um sensor capaz de obter informação com precisão em unidades de vários centímetros é de classe 2, e um sensor capaz de obter informa- ção com precisão em unidades de vários metros é de classe 3. O servi- dor 901 pode estimar a informação de desempenho de sensor, e simi- lares, a partir de um número de modelo de dispositivo de cliente 902. Por exemplo, quando o dispositivo de cliente 902 é equipado em um veículo, um servidor 901 pode determinar a informação de especifica- ção de sensor a partir de um tipo de veículo. Nesse caso, o servidor 901 pode obter informação do tipo de veículo antecipadamente, e a informa- ção também pode ser incluída na informação de sensor. O servidor 901 pode alterar um grau de correção com relação aos dados tridimensio- nais 1134 criados utilizando informação de sensor 1037, utilizando a in- formação de sensor obtida 1037. Por exemplo, quando o desempenho de sensor tem alta precisão (classe 1), o servidor 901 não corrige os dados tridimensionais 1134. Quando o desempenho de sensor tem baixa precisão (classe 3), o servidor 901 corrige os dados tridimensio- nais 1134, de acordo com a precisão do sensor. Por exemplo, o servidor 901 aumenta o grau (intensidade) de correção com uma redução na precisão do sensor.
[0342] O servidor 901 pode, simultaneamente, enviar a solicitação de transmissão da informação de sensor para a pluralidade de disposi- tivos de cliente 902 em um espaço determinado. O servidor 901 não precisa utilizar toda a informação de sensor para criar os dados tridi- mensionais 1134 e pode, por exemplo, selecionar a informação de sen- sor a ser utilizada, de acordo com o desempenho de sensor, quando recebe uma pluralidade de partes de informação de sensor a partir da pluralidade de dispositivos de cliente 902. Por exemplo, quando da atu- alização do mapa tridimensional 1135, o servidor 901 pode selecionar a informação de sensor de alta precisão (classe 1), dentre a pluralidade recebida de partes da informação de sensor, e criar os dados tridimen- sionais 1134 utilizando a informação de sensor selecionada.
[0343] O servidor 901 não está limitado apenas a ser um servidor, tal como um sistema de monitoramento de tráfego com base em nuvem, e também pode ser outro dispositivo de cliente (montado em veículo). A figura 35 é um diagrama de uma estrutura de sistema nesse caso.
[0344] Por exemplo, o dispositivo de cliente 902C envia uma solici- tação de transmissão de informação de sensor para o dispositivo de cli- ente 902A localizado perto, e obtém a informação de sensor do disposi- tivo de cliente 902A. O dispositivo de cliente 902C, então, cria os dados tridimensionais utilizando a informação de sensor obtida a partir do dis- positivo de cliente 902A, e atualiza um mapa tridimensional do disposi- tivo de cliente 902C. Isso permite que o dispositivo de cliente 902C gere um mapa tridimensional de um espaço, que pode ser obtido a partir do dispositivo de cliente 902A, e utilize completamente o desempenho do dispositivo de cliente 902C. Por exemplo, tal caso é concebível quando o dispositivo de cliente 902C apresenta um alto desempenho.
[0345] Nesse caso, o dispositivo de cliente 902A que forneceu a in- formação de sensor recebe direitos de obtenção do mapa tridimensional de alta precisão gerado pelo dispositivo de cliente 902C. O dispositivo de cliente 902A recebe o mapa tridimensional de alta precisão do dis- positivo de cliente 902C, de acordo com esses direitos.
[0346] O servidor 901 pode enviar a solicitação de transmissão da informação de sensor para a pluralidade de dispositivos de cliente 902 (o dispositivo de cliente 902A e o dispositivo de cliente 902B) localizados perto do dispositivo de cliente 902C. Quando um sensor do dispositivo de cliente 902A, ou do dispositivo de cliente 902B, tem alto desempe- nho, o dispositivo de cliente 902C é capaz de criar os dados tridimensi- onais utilizando a informação de sensor obtida por esse sensor de alto desempenho.
[0347] A figura 36 é um diagrama em bloco ilustrando uma estrutura de funcionalidade do servidor 901 e do dispositivo de cliente 902. O ser- vidor 901 inclui, por exemplo, o processador de compressão/decodifica- ção de mapa tridimensional 1201 que comprime e decodifica o mapa tridimensional, e o processador de compressão/decodificação de infor-
mação de sensor 1202 que comprime e decodifica a informação de sen- sor.
[0348] O dispositivo de cliente 902 inclui o processador de decodifi- cação de mapa tridimensional 1211 e o processador de compressão de informação de sensor 1212. O processador de decodificação de mapa tridimensional 1211 recebe os dados codificados do mapa tridimensio- nal comprimido, decodifica os dados codificados, e obtém o mapa tridi- mensional. O processador de compressão de informação de sensor 1212 comprime a informação de sensor propriamente dita, em vez dos dados tridimensionais criados, utilizando a informação de sensor obtida, e transmite os dados codificados da informação de sensor comprimidos para o servidor 901. Com essa estrutura, o dispositivo de cliente 902 não precisa armazenar internamente um processador que realiza um processo para compressão de dados tridimensionais do mapa tridimen- sional (nuvem de pontos, etc.), desde que o dispositivo de cliente 902 armazene internamente um processador que realiza um processo para decodificação do mapa tridimensional (nuvem de pontos, etc.). Isso pos- sibilita a limitação de custos, consumo de energia, e similares, do dis- positivo de cliente 902.
[0349] Como mencionado acima, o dispositivo de cliente 902, de acordo com a presente modalidade, é equipado no objeto móvel, e cria dados tridimensionais 1034 de uma área circundante do objeto móvel, utilizando a informação de sensor 1033, que é obtida através do sensor 1015 equipado no objeto móvel, e indica uma condição circundante do objeto móvel. O dispositivo de cliente 902 estima uma autolocalização do objeto móvel utilizando os dados tridimensionais criados 1034. O dis- positivo de cliente 902 transmite a informação de sensor obtida 1033 para o servidor 901 ou outro objeto móvel.
[0350] Isso permite que o dispositivo de cliente 902 transmita a in- formação de sensor 1033 para o servidor 901 ou similar. Isso possibilita a redução adicional da quantidade de dados de transmissão em com- paração com a transmissão dos dados tridimensionais. Visto que não há necessidade de o dispositivo de cliente 902 realizar os processos, tal como compressão ou codificação de dados tridimensionais, é possível se reduzir a quantidade de processamento do dispositivo de cliente 902. Como tal, o dispositivo de cliente 902 pode reduzir a quantidade de da- dos a ser transmitida ou simplificar a estrutura do dispositivo.
[0351] O dispositivo de cliente 902 transmite, adicionalmente, a so- licitação de transmissão do mapa tridimensional para o servidor 901 e recebe o mapa tridimensional 1031 do servidor 901. Na estimativa de autolocalização, o dispositivo de cliente 902 estima a autolocalização utilizando os dados tridimensionais 1034 e o mapa tridimensional 1032.
[0352] A informação de sensor 1034 inclui pelo menos uma dentre a informação obtida por um sensor de laser, uma imagem de lumines- cência, uma imagem de infravermelho, uma imagem de profundidade, uma informação de posição de sensor, ou informação de velocidade de sensor.
[0353] A informação de sensor 1033 inclui a informação que indica um desempenho do sensor.
[0354] O dispositivo de cliente 902 codifica ou comprime a informa- ção de sensor 1033, e na transmissão da informação de sensor, trans- mite a informação de sensor 1037, que foi codificada ou comprimida, para o servidor 901 ou outro objeto móvel 902. Isso permite que o dis- positivo de cliente 902 reduza a quantidade de dados a ser transmitida.
[0355] Por exemplo, o dispositivo de cliente 902 inclui um proces- sador e uma memória. O processador realiza os processos acima utili- zando a memória.
[0356] O servidor 901, de acordo com a presente modalidade, é ca- paz de comunicar com o dispositivo de cliente 902 equipado no objeto móvel, e recebe informação de sensor 1037, que é obtida através do sensor 1015 equipado no objeto móvel, e indica uma condição circun- dante do objeto móvel. O servidor 901 cria os dados tridimensionais 1134 de uma área circundante do objeto móvel utilizando a informação de sensor recebida 1037.
[0357] Com isso, o servidor 901 cria os dados tridimensionais 1134 utilizando a informação de sensor 1037 transmitida a partir do disposi- tivo de cliente 902. Isso possibilita a redução adicional da quantidade de dados de transmissão em comparação com quando o dispositivo de cli- ente 902 transmite os dados tridimensionais. Visto que não há necessi- dade de o dispositivo de cliente 902 realizar processos, tal como com- pressão ou codificação dos dados tridimensionais, é possível se reduzir a quantidade de processamento do dispositivo de cliente 902. Como tal, o servidor 901 é capaz de reduzir a quantidade de dados a ser transmi- tida ou simplificar a estrutura do dispositivo.
[0358] O servidor 901 transmite, adicionalmente, uma solicitação de transmissão da informação de sensor para o dispositivo de cliente 902.
[0359] O servidor 901 atualiza, adicionalmente, o mapa tridimensi- onal 1135 utilizando os dados tridimensionais criados 1134, e transmite o mapa tridimensional 1135 para o dispositivo de cliente 902, em res- posta à solicitação de transmissão de mapa tridimensional 1135 do dis- positivo de cliente 902.
[0360] A informação de sensor 1037 inclui pelo menos uma dentre a informação obtida por um sensor de laser, uma imagem de lumines- cência, uma imagem de infravermelho, uma imagem de profundidade, uma informação da posição do sensor, ou uma informação da veloci- dade do sensor.
[0361] A informação do sensor 1037 inclui a informação que indica um desempenho do sensor.
[0362] O servidor 901 corrige, adicionalmente, os dados tridimensi-
onais, de acordo com o desempenho do sensor. Isso permite que o mé- todo de criação de dados tridimensionais aperfeiçoe a qualidade dos dados tridimensionais.
[0363] No recebimento da informação de sensor, o servidor 901 re- cebe uma pluralidade de partes de informação de sensor 1037 recebi- das a partir de uma pluralidade de dispositivos de cliente 902, e seleci- ona a informação de sensor 1037 a ser utilizada na criação de dados tridimensionais 1134, com base em uma pluralidade de partes de infor- mação que indicam, cada uma, o desempenho do sensor incluído na pluralidade de partes de informação de sensor 1037. Isso permite que o servidor 901 aperfeiçoe a qualidade dos dados tridimensionais 1134.
[0364] O servidor 901 decodifica ou descomprime a informação de sensor recebida 1037, e cria os dados tridimensionais 1134 utilizando a informação de sensor 1132 que foi decodificada ou descomprimida. Isso permite que o servidor 901 reduza a quantidade de dados a ser trans- mitida.
[0365] Por exemplo, o servidor 901 inclui um processador e uma memória. O processador realiza os processos acima utilizando a memó- ria. Modalidade 7
[0366] Na presente modalidade, os métodos de codificação e deco- dificação de dados tridimensionais, utilizando um processo de interpre- visão, serão descritos.
[0367] A figura 37 é um diagrama em bloco do dispositivo de codifi- cação de dados tridimensionais 1300, de acordo com a presente moda- lidade. Esse dispositivo de codificação de dados tridimensionais 1300 gera uma sequência de bits codificada (doravante, também simples- mente referida como uma sequência de bits), que é um sinal codificado pela codificação de dados tridimensionais. Como ilustrado na figura 37,
o dispositivo de codificação de dados tridimensionais 1300 inclui um di- visor 1301, um subtraidor 1302, um transformador 1303, um quantizador 1304, um quantizador inverso 1305, um transformador inverso 1306, um somador 1307, uma memória de volume de referência 1308, um intra- previsor 1309, uma memória de espaço de referência 1310, um inter- previsor 1311, um controlador de previsão 1312 e um codificador por entropia 1313.
[0368] O divisor 1301 divide uma pluralidade de volumes (VLMs), que são unidades de codificação de cada espaço (SPC) incluídos nos dados tridimensionais. O divisor 1301 realiza uma representação tipo que o divisor 1301 pode transformar os espaços em uma repre- os volumes. O divisor 1301 também pode anexar a informação (in- formação de profundidade etc.), necessária para se criar a representa-
[0369] O subtraidor 1302 calcula uma diferença entre um volume (interprevisor alvo de codificação) enviado pelo divisor 1301 e um vo- lume previsto, gerado através da intraprevisão ou interprevisão, que se- rão descritos posteriormente, e envia a diferença calculada para o trans- formador 1303 como um residual de previsão. A figura 38 é um dia- grama ilustrando um cálculo ilustrativo do residual de previsão. Note-se que as sequências de bits do volume alvo de codificação e do volume previsto ilustradas no presente documento são, por exemplo, a informa- ção de posição que indica as posições dos pontos tridimensionais inclu- ídos nos volumes.
[0370] Doravante, uma ordem de digitalização de uma representa- 870200152631, de 04/12/2020, pág. 164/261
A figura 39 é um diagrama ilustrando uma estrutura ilustrativa de ilustrando um exemplo do volume, ilustrado na figura 39, tendo sido convertido na es- 2 e 3, respectivamente, representam VXL 1, VXL 2 e VXL 3, e repre- sentam VXLs incluindo um grupo de pontos (doravante, VXLs ativos).
[0371] de 1 e 0. Por exemplo, quando fornecendo aos nós ou VXLs ativos um valor igual a 1, e ao resto todo um valor igual a 0, cada nó e folha recebe a sequência binária ilustrada na figura 40. Dessa forma, essa sequência binária é digitalizada de acordo com uma ordem de di- gitalização de largura primeiro, ou profundidade primeiro. Por exemplo, quando da digitalização de largura primeiro, a sequência binária, ilus- trada por A na figura 41, é obtida. Quando da digitalização da profundi- dade primeiro, a sequência binária, ilustrada por B na figura 41, é obtida. As sequências binarias obtidas através dessa digitalização são codifica- das através de codificação por entropia, o que reduz uma quantidade de informação.
[0372] a fim de controlar até que nível de detalhamento uma informa- ção de nuvem de pontos em um volume é armazenada. Depois de con- figurar uma profundidade grande, é possível se reproduzir a informação de nuvem de pontos para um nível mais preciso, mas, uma quantidade de dados para representar os nós e folhas, aumenta. Depois de confi- gurar uma profundidade pequena, no entanto, a quantidade de dados diminui, mas parte da informação, que a informação de nuvem de pon- tos detinha originalmente, é perdida, visto que partes da informação de nuvem de pontos, incluindo posições diferentes e cores diferentes, são, agora, consideradas partes da informação de nuvem de pontos, inclu- indo a mesma posição e a mesma cor.
[0373] Por exemplo, a figura 42 é um diagrama ilustrando um exem- na figura 42, possui uma contagem de b na figura 40. A folha 1 e a folha 2, ilustradas na figura 40, são representadas pela folha 1 ilustrada na figura 41. Em outras palavras, a informação da folha 1 e da folha 2 estando em posições diferentes é perdida.
[0374] A figura 43 é um diagrama ilustrando um volume que corres- 39, correspondem a VXL 12 ilustrado na figura 43. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 gera informa- ção de cor de VXL 12, ilustrado na figura 43, utilizando a informação de cor de VXL 1 e VXL 2, ilustrados na figura 39. Por exemplo, o dispositivo de codificação de dados tridimensionais 1300 calcula um valor médio, um mediano, um valor médio ponderado, ou similares, da informação de cor de VXL 1 e VXL 2, como a informação de cor de VXL 12. Dessa forma, o dispositivo de codificação de dados tridimensionais 1300 pode controlar uma redução da quantidade de dados, pela alteração da pro-
[0375] O dispositivo de codificação de dados tridimensionais 1300 de mundos, unidades de espaços, ou unidades de volumes. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 podem anexar a informação de profundidade à informação de cabeçalho do mundo, à informação de cabeçalho do espaço, ou à informação de ca- beçalho do volume. Em todos os mundos, espaços e volumes associa- dos a tempos diferentes, o mesmo valor pode ser utilizado como a in- formação de profundidade. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 pode anexar a informação de profundidade à informação de cabeçalho que gerencia os mundos associados a todos os tempos.
[0376] Quando a informação de co 1303 aplica a transformação de frequência, por exemplo, transformação ortogonal, a um residual de previsão da informação de unidimensional pela digitalização do residual de previsão em uma ordem de digitalização determinada. Subsequentemente, o trans- formador 1303 transforma o conjunto unidimensional em um domínio de frequência pela aplicação da transformação ortogonal unidimensional ao conjunto unidimensional criado. Com isso, quando um valor do resi- dual de previsão no volume é similar, um valor de um componente de baixa frequência aumenta e um valor de um componente de baixa fre- quência diminui. Como tal, é possível se reduzir, de forma mais efici- ente, uma quantidade de codificação no quantizador 1304.
[0377] O transformador 1303 não precisa utilizar a transformação ortogonal em uma dimensão, mas também pode utilizar a transformação ortogonal em duas ou mais dimensões. Por exemplo, o transformador 1303 mapeia o residual de previsão para um conjunto bidimensional em uma ordem de digitalização determinada, e aplica a transformação or- togonal bidimensional ao conjunto bidimensional obtido. O transforma- dor 1303 pode selecionar um método de transformação ortogonal a ser utilizado a partir de uma pluralidade de métodos de transformação orto- gonal. Nesse caso, o dispositivo de codificação de dados tridimensional 1300 anexa, à sequência de bits, a informação que indica qual método de transformação ortogonal é utilizado. O transformador 1303 pode se- lecionar um método de transformação ortogonal a ser utilizado a partir de uma pluralidade de métodos de transformação ortogonal em dimen- sões diferentes. Nesse caso, o dispositivo de codificação de dados tri- dimensionais 1300 anexa, à sequência de bits, em quantas dimensões o método de transformação ortogonal é utilizado.
[0378] Por exemplo, o transformador 1303 combina a ordem de di- gitalização do residual de previsão a uma ordem de digitalização (lar- gura primeiro, profundida Isso possibilita a redução de sobrcarga, visto que a informação que indica a ordem de digitalização do residual de previsão não precisa ser anexada à sequência de bits. O transformador 1303 pode aplicar uma anexa, à sequência de bits, a informação que indica a ordem de digitalização do residual de previsão. Isso permite que o dispositivo de codificação de dados tridimensionais 1300 codifique, de forma eficiente, o residual de previsão. O dispositivo de codificação de dados tridimen- sionais 1300 pode anexar, à sequência de bits, informação (indicador, etc.) indicando se anexar, à sequência de bits, a informação que indica a ordem de digitalização do residual de previsão quando a ordem de digitalização
[0379] O transformador 1303 não apenas transforma o residual de previsão da informação de cor, mas também pode transformar outra in- 1303 pode transformar e codificar informação, tal como informação de refletância, obtida quando da obtenção de uma nuvem de pontos através do LiDAR e similares.
[0380] O transformador 1303 pode pular esses processos quando os espaços não incluem a informação de atributo, tal como a informação de cor. O dispositivo de codificação de dados tridimensionais 1300 pode anexar, à sequência de bits, a informação (indicador) que indica se pula os processos do transformador 1303.
[0381] O quantizador 1304 gera um coeficiente quantizado pela re- alização da quantização, utilizando um parâmetro de controle de quan- tização em um componente de frequência do residual de previsão ge- rado pelo transformador 1303. Com isso, a quantidade de informação é adicionalmente reduzida. O coeficiente quantizado gerado é enviado para o codificador por entropia 1313. O quantizador 1304 pode controlar o parâmetro de controle de quantização em unidades de mundos, uni- dades de espaços ou unidades de volumes. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 anexa o parâmetro de controle de quantização a cada informação de cabeçalho, e similares. O quantizador 1304 pode realizar o controle de quantização pela altera- ção de um peso por componente de frequência do residual de previsão. Por exemplo, o quantizador 1304 pode quantizar com precisão um com- ponente de baixa frequência e quantizar de forma aproximada um com- ponente de alta frequência. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 pode anexar, a um cabeçalho, um parâme- tro que expresse um peso de cada componente de frequência.
[0382] O quantizador 1304 pode pular esses processos quando os espaços não incluem informação de atributo, tal como informação de cor. O dispositivo de codificação de dados tridimensionais 1300 pode anexar, à sequência de bits, a informação (indicador) que indica se pula o processo do quantizador 1304.
[0383] O quantizador inverso 1305 gera um coeficiente quantizado inverso do residual de previsão pela realização da quantização inversa no coeficiente quantizado gerado pelo quantizador 1304, utilizando o parâmetro de controle de quantização, e envia o coeficiente quantizado inverso gerado para o transformador inverso 1306.
[0384] O transformador inverso 1306 gera um residual de previsão aplicado por transformação inversa, pela aplicação da transformação in- versa ao coeficiente quantizado inverso gerado pelo quantizador inverso
1305. Esse residual de previsão aplicado por transformação inversa não precisa coincidir completamente com o residual de previsão enviado pelo transformador 1303, visto que o residual de previsão aplicado por transformação inversa é um residual de previsão que é gerado após a quantização.
[0385] O somador 1307 soma, para gerar um volume reconstruído, (i) o residual de previsão aplicado por transformação inversa gerado pelo transformador inverso 1306 a (ii) um volume previsto que é gerado através da intraprevisão ou da interprevisão, que serão descritas poste- riormente, e é utilizado para gerar um residual de previsão pré-quanti- zado. Esse volume reconstruído é armazenado na memória de volume de referência 1308 ou memória de espaço de referência 1310.
[0386] O intraprevisor 1309 gera um volume previsto de um volume alvo de codificação utilizando a informação de atributo de um volume vizinho armazenado na memória de volume de referência 1308. A infor- mação de atributo inclui a informação de cor ou uma refletân uma refletância do volume alvo de codificação.
[0387] A figura 44 é um diagrama para descrever uma operação do intraprevisor 1309. Por exemplo, o intraprevisor 1309 gera o volume pre- visto do volume alvo de codificação (idx de volume = 3), ilustrado na figura 44, utilizando um volume vizinho (idx de volume = 0). O idx de volume no presente documento é a informação de identificador que é anexada a um volume em um espaço, e um valor diferente é designado para cada volume. Uma ordem de designação de idx de volume pode ser igual a uma ordem de codificação e também pode ser diferente da ordem de codificação. Por exemplo, o intraprevisor 1309 utiliza um valor médio de informação de cor de é um volume vizinho, como o valor previsto da informação de cor do volume alvo de codificação ilustrado na figura 44. Nesse caso, um residual de previsão é gerado pela dedução do valor previsto da infor- mação de alvo de codificação. Os processos a seguir são realizados pelo transformador 1303 e processadores subsequentes com relação a esse residual de previsão. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 anexa, à sequência de bits, a informação do vo- lume vizinho e a informação do modo de previsão. A informação do vo- lume vizinho, no presente documento, é a informação que indica um volume vizinho utilizado na previsão, e indica, por exemplo, o idx de vo- lume do volume vizinho utilizado na previsão. A informação do modo de previsão, no presente documento, indica um modo utilizado para gerar o volume previsto. O modo é, por exemplo, um modo de valor médio no qual o valor previ vizinho, ou um modo mediano no qual o valor previsto é gerado
[0388] O intraprevisor 1309 pode gerar o volume previsto utilizando uma pluralidade de volumes vizinhos. Por exemplo, na estrutura ilus- trada na figura 44, o intraprevisor 1309 gera o volume previsto 0 utili- zando um volume com idx de volume = 0, e gera o volume previsto 1 utilizando um volume com idx de volume = 1. O intraprevisor 1309, en- tão, gera uma média do volume previsto 0 e do volume previsto 1 como um volume previsto final. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 pode anexar, à sequência de bits, uma plu- ralidade de idx de volumes dentre uma pluralidade de volumes utilizados para gerar o volume previsto.
[0389] A figura 45 é um diagrama que ilustra, de forma esquemá- tica, o processo de interprevisão de acordo com a presente modalidade. O interprevisor 1311 codifica (interprevê) um espaço (SPC) associado a um tempo determinado T_Cur utilizando um espaço codificado associ- ado a um tempo diferente T_LX. Nesse caso, o interprevisor 1311 rea- liza um processo de codificação pela aplicação de um processo de ro- tação e translação ao espaço codificado associado ao tempo diferente T_LX.
[0390] O dispositivo de codificação de dados tridimensionais 1300 anexa, à sequência de bits, a informação RT referente a um processo de rotação e translação adequadas ao espaço associado ao tempo di- ferente T_LX. O tempo diferente T_LX é, por exemplo, o tempo T_L0 antes do tempo determinado T_Cur. Nesse ponto, o dispositivo de codi- ficação de dados tridimensionais 1300 pode anexar, à sequência de bits, a informação RT RT_L0 referente a um processo de rotação e transla- ção adequado a um espaço associado ao tempo T_L0.
[0391] Alternativamente, o tempo diferente T_LX é, por exemplo, o tempo T_L1 depois do tempo determinado T_Cur. Nesse ponto, o dis- positivo de codificação de dados tridimensionais 1300 pode anexar, à sequência de bits, a informação RT, RT_L1, referente a um processo de rotação e translação adequado a um espaço associado ao tempo T_L1.
[0392] Alternativamente, o interprevisor 1311 codifica (previsão bi- direcional), com referência aos espaços associados ao tempo T_L0 e ao tempo T_L1, que diferem um do outro. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 pode anexar, à sequência de bits, ambas a informação RT, RT_L0, e a informação RT, RT_L1, refe- rentes ao processo de rotação e translação adequado aos espaços das mesmas.
[0393] Note-se que T_L0 foi descrito como estando antes de T_Cur e T_L1 como estando depois de T_Cur, mas não estão necessaria- mente limitados a isso. Por exemplo, T_L0 e T_L1 podem, ambos, estar antes de T_Cur. T_L0 e T_L1 também podem estar, ambos, depois de T_Cur.
[0394] O dispositivo de codificação de dados tridimensionais 1300 pode anexar, à sequência de bits, a informação RT referente a um pro- cesso de rotação e translação adequado a espaços associados a tem- pos diferentes, quando da codificação com referência a cada um dos espaços. Por exemplo, o dispositivo de codificação de dados tridimen- sionais 1300 gerencia uma pluralidade de espaços codificados a serem referidos, utilizando-se duas listas de referência (lista L0 e lista L1). Quando um primeiro espaço de referência na lista L0 é L0R0, um se- gundo espaço de referência na lista L0 é L0R1, um primeiro espaço de referência na lista L1 é L1R0, e um segundo espaço de referência na lista L1 é L1R1, o dispositivo de codificação de dados tridimensionais 1300 anexa, à sequência de bits, a informação RT, RT_L0R0 de L0R0, a informação RT, RT_L0R1 de L0R1, a informação RT, RT_L1R0, de L1R0, e a informação RT, RT_L1R1, de L1R1. Por exemplo, o disposi- tivo de codificação de dados tridimensionais 1300 anexa essas partes de informação RT a um cabeçalho, e similares, da sequência de bits.
[0395] O dispositivo de codificação de dados tridimensionais 1300 determina se aplica a rotação e translação por espaço de referência, quando da codificação com referência aos espaços de referência asso- ciados a tempos diferentes. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 pode anexar, à informação de cabeçalho, e similares, da sequência de bits, a informação (indicador RT etc.) que indica se a rotação e translação são aplicadas por espaço de referência. Por exemplo, o dispositivo de codificação de dados tridimensionais 1300 calcula a informação RT e um valor de erro de Ponto Mais Próximo In- terativo (ICP), utilizando um algoritmo ICP por espaço de referência, a ser referido a partir do espaço alvo de codificação. O dispositivo de co- dificação de dados tridimensionais 1300 determina que a rotação e a translação não precisam ser realizadas e configura o indicador RT para DESLIGADO, quando o valor de erro ICP é inferior a ou igual a um valor fixo predeterminado. Em contraste, o dispositivo de codificação de da- dos tridimensionais 1300 configura o indicador RT para LIGADO e anexa a informação RT à sequência de bits, quando o valor de erro ICP excede o valor fixado acima.
[0396] A figura 46 é um diagrama ilustrando uma sintaxe ilustrativa a ser anexada a um cabeçalho da informação RT e indicador RT. Note- se que uma contagem de bit designada para cada sintaxe pode ser de- cidida com base em uma faixa dessa sintaxe. Por exemplo, quando oito espaços de referência são incluídos na lista de referência L0, 3 bits po- dem ser designados para MaxRefSpc_10. A contagem de bit a ser de- signada pode ser variável, de acordo com um valor que cada sintaxe pode ter, e também pode ser fixa independentemente do valor que cada sintaxe pode ter. Quando a contagem de bit a ser designada é fixa, o dispositivo de codificação de dados tridimensionais 1300 pode anexar essa contagem de bit fixa a outra informação de cabeçalho.
[0397] MaxRefSpc_10 ilustrada na figura 46 indica um número de espaços de referência incluídos na lista de referência L0. RT_flag_10[i] é um indicador RT do espaço de referência i na lista de referência L0. Quando RT_flag_10[i] é igual a 1, a rotação e a translação são aplicadas ao espaço de referência i. Quando RT_flag_10[i] é igual a 0, a rotação e translação não são aplicadas ao espaço de referência i.
[0398] R_10[i] e T_10[i] são informação RT do espaço de referência i na lista de referência L0. R_10[i] é a informação de rotação do espaço de referência i na lista de referência L0. A informação de rotação indica o conteúdo do processo de rotação aplicado, e é, por exemplo, uma do espaço de referência i na lista de referência L0. A informação de translação indica o conteúdo do processo de translação aplicado, e é, por exemplo, um vetor de translação.
[0399] MaxRefSpc_l1 indica um número de espaços de referência incluídos na lista de referência L1. RT_flag_l1[i] é um indicador RT do espaço de referência i na lista de referência L1. Quando RT_flag_l1[i] é igual a 1, a rotação e a translação são aplicadas ao espaço de referência i. Quando RT_flag_l1[i] é igual a 0, a rotação e translação não são apli- cadas ao espaço de referência i.
[0400] R_l1[i] e T_l1[i] são, então, a informação RT do espaço de referência i na lista de referência L1. R_l1[i] é a informação de rotação do espaço de referência i na lista de referência L1. A informação de rotação indica o conteúdo do processo de rotação aplicado, e é, por exemplo, uma matri de translação do espaço de referência i na lista de referência L1. A informação de translação indica o conteúdo do processo de translação aplicado e é, por exemplo, um vetor de translação.
[0401] O interprevisor 1311 gera o volume previsto de volume alvo de codificação utilizando a informação em um espaço de referência co- dificado, armazenado na memória de espaço de referência 1310. Como notado acima, antes da geração do volume previsto do volume alvo de codificação, o interprevisor 1311 calcula a informação RT em um espaço alvo de codificação e um espaço de referência utilizando um algoritmo ICP, a fim de abordar uma relação de posição geral entre o espaço alvo de codificação e o espaço de referência. O intraprevisor 1311, então, obtém o espaço de referência B pela aplicação de um processo de ro- tação e translação ao espaço de referência utilizando a informação RT calculada. Subsequentemente, o interprevisor 1311 gera o volume pre-
visto de volume alvo de codificação no espaço alvo de codificação utili- zando a informação no espaço de referência B.
[0402] Dessa forma, o interprevisor 1311 pode aperfeiçoar a preci- são do volume previsto pela geração do volume previsto utilizando a informação do espaço de referência, depois de abordar a relação de posição geral entre o espaço alvo de codificação e o espaço de referên- cia, pela aplicação de um processo de rotação e translação ao espaço de referência. É possível se reduzir a quantidade de codificação, visto que é possível se limitar o residual de previsão. Note-se que um exem- plo foi descrito no qual o ICP é realizado utilizando o espaço alvo de codificação e o espaço de referência, mas não está necessariamente limitado a isso. Por exemplo, o interprevisor 1311 pode calcular a infor- mação RT pela realização de ICP, utilizando pelo menos um dentre (i) de pontos é reduzida, ou (ii) um espaço de referência, no qual a fim de se reduzir a quantidade de processamento.
[0403] Quando o valor de erro ICP, obtido como resultado do ICP, for menor do que um primeiro limite predeterminado, isso é, quando, por exemplo, a relação de posição entre o espaço alvo de codificação e o espaço de referência for similar, o interprevisor 1311 determina que um processo de rotação e translação não é necessário, e o processo de rotação e translação não precisa ser realizado. Nesse caso, o disposi- tivo de codificação de dados tridimensionais 1300 pode controlar a so- brecarga, não anexando a informação RT à sequência de bits.
[0404] Quando o valor de erro ICP for maior do que um segundo limite predeterminado, o interprevisor 1311 determina que uma mu- dança de formato entre os espaços é grande, e a intraprevisão pode ser aplicada a todos os volumes do espaço alvo de codificação. Doravante,
espaços aos quais a intraprevisão é aplicada serão referidos como in- traespaços. O segundo limite é superior ao primeiro limite acima. A pre- sente modalidade não está limitada a ICP, e qualquer tipo de método pode ser utilizado desde que o método calcule a informação RT utili-
[0405] Quando a informação de atributo, por exemplo, informação de formato ou cor, é incluída nos dados tridimensionais, o interprevisor 1311 busca, por exemplo, por um volume cuja informação de atributo, por exemplo, informação de formato ou cor, seja mais similar ao volume alvo de codificação no espaço de referência, como o volume previsto do volume alvo de codificação no espaço alvo de codificação. Esse espaço de referência é, por exemplo, um espaço de referência no qual o pro- cesso de rotação e translação acima foi realizado. O interprevisor 1311 gera o volume previsto utilizando o volume (volume de referência) obtido através da busca. A figura 47 é um diagrama para descrever uma ope- ração de geração do volume previsto. Quando da codificação do volume alvo de codificação (idx de volume = 0), ilustrado na figura 47, utilizando a interprevisão, o interprevisor 1311 busca um volume com um menor residual de previsão, que é a diferença entre o volume alvo de codifica- ção e o volume de referência, enquanto digitaliza, sequencialmente, o volume de referência no espaço de referência. O interprevisor 1311 se- leciona o volume com menor residual de previsão como o volume pre- visto. Os residuais de previsão do volume alvo de codificação e do vo- lume previsto são codificados através de processos realizados pelo transformador 1303 e processadores subsequentes. O residual de pre- visão, no presente documento, é uma diferença entre a informação de atributo do volume alvo de codificação e a informação de atributo do volume previsto. O dispositivo de codificação de dados tridimensional 1300 anexa, ao cabeçalho, e similares, da sequência de bits, o idx de volume, do volume de referência no espaço de referência, como o vo- lume previsto.
[0406] No exemplo ilustrado na figura 47, o volume de referência com idx de volume = 4 do espaço de referência L0R0 é selecionado como o volume previsto do volume alvo de codificação. Os residuais de previsão do volume alvo de codificação e volume de referência, e o idx de volume de referência = 4 são, então, codificados e anexados à se- quência de bits.
[0407] Note-se que um exemplo foi descrito, no qual o volume pre- visto da informação de atributo é gerado, mas o mesmo processo pode ser aplicado ao volume previsto da informação de posição.
[0408] O controlador de previsão 1312 controla se codifica o volume alvo de codificação utilizando a intraprevisão ou a interprevisão. Um modo que inclui a intraprevisão e a interprevisão é referido, no presente documento, como um modo de previsão. Por exemplo, o controlador de previsão 1312 calcula o residual de previsão quando o volume alvo de codificação é previsto utilizando-se a intraprevisão, e o residual de pre- visão, quando o volume alvo de codificação é previsto, utilizando-se a interprevisão, como valores de avaliação, e seleciona o modo de previ- são cujo valor de avaliação é menor. Note-se que o controlador de pre- visão 1312 pode calcular uma quantidade de codificação real pela apli- cação da transformação ortogonal, quantização e codificação por entro- pia ao residual de previsão da intraprevisão e o residual de previsão da interprevisão, e selecionar um modo de previsão utilizando a quantidade de codificação calculada como o valor de avaliação. A informação de sobrecarga (informação de idx de volume de referência etc.), além do residual de previsão, pode ser adicionada ao valor de avaliação. O con- trolador de previsão 1312 pode selecionar, continuamente, a intraprevi- são quando ficar decidido, antecipadamente, a codificação do espaço alvo de codificação utilizando-se o intraespaço.
[0409] O codificador por entropia 1313 gera um sinal codificado (se- quência de bits codificados) pela codificação de comprimento variável do coeficiente quantizado, que é um registro realizado a partir do quan- tizador 1304. Para ser específico, o codificador por entropia 1313, por exemplo, binariza o coeficiente quantizado e codifica aritmeticamente o sinal binário obtido.
[0410] Um dispositivo de decodificação de dados tridimensionais, que decodifica o sinal codificado gerado pelo dispositivo de codificação de dados tridimensionais 1300, será descrito a seguir. A figura 48 é um diagrama em bloco do dispositivo de decodificação de dados tridimen- sionais 1400, de acordo com a presente modalidade. Esse dispositivo de decodificação de dados tridimensionais 1400 inclui o decodificador por entropia 1401, o quantizador inverso 1402, o transformador inverso 1403, o somador 1404, a memória de volume de referência 1405, o in- traprevisor 1406, a memória de espaço de referência 1407, o interprevi- sor 1408 e o controlador de previsão 1409.
[0411] O decodificador por entropia 1401 decodifica por compri- mento variável o sinal codificado (sequência de bits codificados). Por exemplo, o decodificador por entropia 1401 gera um sinal binário pela decodificação aritmética do sinal codificado, e gera um coeficiente quan- tizado utilizando o sinal binário gerado.
[0412] O quantizador inverso 1402 gera um coeficiente quantizado inverso pela quantização inversa do coeficiente quantizado, registrado a partir do decodificador por entropia 1401, utilizando um parâmetro de quantização anexado à sequência de bits e similares.
[0413] O transformador inverso 1403 gera um residual de previsão pela transformação inversa do coeficiente quantizado inverso, regis- trado a partir do quantizador inverso 1402. Por exemplo, o transforma- dor inverso 1403 gera o residual de previsão pela transformação orto-
gonalmente inversa do coeficiente quantizado inverso, com base na in- formação anexada à sequência de bits.
[0414] O somador 1404 soma, para gerar um volume reconstruído, (i) o residual de previsão gerado pelo transformador inverso 1403 a (ii) um volume previsto gerado através da intraprevisão ou interprevisão. Esse volume reconstruído é enviado como dados tridimensionais deco- dificados e é armazenado na memória de volume de referência 1405 ou memória de espaço de referência 1407.
[0415] O intraprevisor 1406 gera um volume previsto através da in- traprevisão utilizando um volume de referência na memória de volume de referência 1405 e a informação anexada à sequência de bits. Para ser específico, o intraprevisor 1406 obtém a informação do volume vizi- nho (por exemplo, idx de volume) anexada à sequência de bits e a in- formação de modo de previsão, e gera o volume previsto através de um modo indicado pela informação de modo de previsão, utilizando um vo- lume vizinho indicado na informação de volume vizinho Note-se que as especificidades desses processos são iguais às dos processos mencio- nados acima realizados pelo intraprevisor 1309, exceto por qual infor- mação é anexada à sequência de bits.
[0416] O interprevisor 1408 gera um volume previsto através da in- terprevisão, utilizando um espaço de referência na memória de espaço de referência 1407 e a informação anexada à sequência de bits. Para ser específico, o interprevisor 1408 aplica um processo de rotação e translação ao espaço de referência, utilizando a informação RT por es- paço de referência anexada à sequência de bits, e gera o volume pre- visto utilizando o espaço de referência girado e transladado. Note-se que quando um indicador RT está presente na sequência de bits por espaço de referência, o interprevisor 1408 aplica um processo de rota- ção e translação ao espaço de referência, de acordo com o indicador RT. Note-se que as especificidades desses processos são iguais às dos processos mencionados acima realizados pelo interprevisor 1311, ex- ceto pela informação anexada à sequência de bits.
[0417] O controlador de previsão 1409 controla se decodifica um volume alvo de decodificação utilizando intraprevisão ou interprevisão. Por exemplo, o controlador de previsão 1409 seleciona a intraprevisão ou interprevisão, de acordo com a informação que é anexada à sequên- cia de bits e indica o modo de previsão a ser utilizado. Note-se que o controlador de previsão 1409 pode selecionar, continuamente, a intra- previsão quando ficar decidido, antecipadamente, o espaço alvo de de- codificação utilizando o intraespaço.
[0418] Doravante, variações da presente modalidade serão descri- tas. Na presente modalidade, um exemplo foi descrito, no qual a rotação e translação são aplicadas a unidades de espaços, mas a rotação e translação podem também ser aplicadas a unidades menores. Por exemplo, o dispositivo de codificação de dados tridimensionais 1300 pode dividir um espaço em subespaços, e aplicar a rotação e translação a unidades de subespaços. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 gera informação RT por subespaço, e anexa a informação RT gerada a um cabeçalho, e similar, da sequência de bits. O dispositivo de codificação de dados tridimensionais 1300 podem aplicar a rotação e translação a unidades de volumes, que é uma uni- dade de codificação. Nesse caso, o dispositivo de codificação de dados tridimensionais 1300 gera a informação RT em unidades de volumes codificados, e anexa a informação RT gerada a um cabeçalho, e simila- res, da sequência de bits. O acima também pode ser combinado. Em outras palavras, o dispositivo de codificação de dados tridimensionais 1300 pode aplicar a rotação e translação em unidades grandes e, sub- sequentemente, aplicar a rotação e translação a unidades pequenas. Por exemplo, o dispositivo de codificação de dados tridimensionais 1300 pode aplicar rotação e translação a unidades de espaços, e também pode aplicar rotações e translações diferentes a cada um dentre uma pluralidade de volumes incluídos nos espaços obtidos.
[0419] Na presente modalidade, um exemplo foi descrito no qual a rotação e translação são aplicadas ao espaço de referência, mas não são necessariamente limitadas a isso. Por exemplo, o dispositivo de co- dificação de dados tridimensionais 1300 pode aplicar um processo de escalonamento e um tamanho dos dados tridimensionais. O dispositivo de codificação de dados tridimensionais 1300 também pode aplicar um ou dois dentre rotação, translação e escalonamento. Quando da aplica- ção de processos a múltiplos estágios e diferentes unidades, como men- cionado acima, um tipo de processo aplicado a cada unidade pode dife- rir. Por exemplo, a rotação e translação podem ser aplicadas a unidades de espaços, e a translação pode ser aplicada a unidades de volumes.
[0420] Note-se que essas variações também são aplicáveis ao dis- positivo de decodificação de dados tridimensionais 1400.
[0421] Como mencionado acima, o dispositivo de codificação de da- dos tridimensionais 1300, de acordo com a presente modalidade, realiza os processos a seguir. A figura 48 é um fluxograma do processo de in- terprevisão realizado pelo dispositivo de codificação de dados tridimen- sionais 1300.
[0422] O dispositivo de codificação de dados tridimensionais 1300 gera a informação de posição prevista (por exemplo, volume previsto) utilizando a informação de posição nos pontos tridimensionais incluídos nos dados de referência tridimensionais (por exemplo, espaço de refe- rência) associados a um tempo diferente de um tempo associado aos dados tridimensionais atuais (por exemplo, espaço alvo de codificação) (S1301). Para ser mais específico, o dispositivo de codificação de dados tridimensionais 1300 gera a informação de posição prevista pela aplica- ção de um processo de rotação e translação à informação de posição nos pontos tridimensionais incluídos nos dados de referência tridimen- sionais.
[0423] Note-se que o dispositivo de codificação de dados tridimen- sionais 1300 pode realizar um processo de rotação e translação utili- zando uma primeira unidade (por exemplo, espaços), e pode realizar a geração da informação de posição prevista utilizando uma segunda uni- dade (por exemplo, volumes), que é menor do que a primeira unidade. Por exemplo, o dispositivo de codificação de dados tridimensionais 1300 busca por um volume dentre uma pluralidade de volumes incluídos no espaço de referência girado e transladado, cuja informação de posição difere menos da informação de posição do volume alvo de codificação incluído no espaço alvo de codificação. Note-se que o dispositivo de codificação de dados tridimensionais 1300 pode realizar o processo de rotação e translação e a geração da informação de posição prevista na mesma unidade.
[0424] O dispositivo de codificação de dados tridimensionais 1300 pode gerar a informação de posição prevista pela aplicação (i) de um primeiro processo de rotação e translação para a informação de posição nos pontos tridimensionais incluídos nos dados de referência tridimen- sionais e (ii) um segundo processo de rotação e translação à informação de posição nos pontos tridimensionais obtidos através do primeiro pro- cesso de rotação e translação, o primeiro processo de rotação e trans- lação utilizando uma primeira unidade (por exemplo, espaços) e o se- gundo processo de rotação e translação utilizando uma segunda uni- dade (por exemplo, volumes), que é menor do que a primeira unidade.
[0425] Por exemplo, como ilustrado na figura 41, a informação de posição dos pontos tridimensionais e a informação de posição prevista são representadas utilizando- a informação de posição dos pontos tridimensionais e a informação de posição prevista são expressas em uma ordem de digitalização que prioriza uma largur exemplo, a informação de posição dos pontos tridimensionais e a informação de posição prevista são expressas em uma ordem de digi- talização que prioriza uma profundidade sobre uma largura na estrutura
[0426] Como ilustrado na figura 46, o dispositivo de codificação de dados tridimensionais 1300 codifica um indicador RT que indica se aplica o processo de rotação e translação à informação de posição nos pontos tridimensionais incluídos nos dados de referência tridimensio- nais. Em outras palavras, o dispositivo de codificação de dados tridi- mensionais 1300 gera o sinal codificado (sequência de bits codificada) incluindo o indicador RT. O dispositivo de codificação de dados tridimen- sionais 1300 codifica a informação RT que indica o conteúdo do pro- cesso de rotação e translação. Em outras palavras, o dispositivo de co- dificação de dados tridimensionais 1300 gera o sinal codificado (sequên- cia de bits codificada) incluindo a informação RT. Note-se que o dispo- sitivo de codificação de dados tridimensionais 1300 pode codificar a in- formação RT quando o indicador RT indicar a aplicação do processo de rotação e translação, e não precisa codificar a informação RT quando o indicador RT indicar a não aplicação do processo de rotação e transla- ção.
[0427] Os dados tridimensionais incluem, por exemplo, a informa- ção de posição dos pontos tridimensionais e a informação de atributo (informação de cor etc.) de cada ponto tridimensional. O dispositivo de codificação de dados tridimensionais 1300 gera a informação do atributo previsto utilizando a informação de atributo dos pontos tridimensionais incluídos nos dados de referência tridimensional (S1302).
[0428] O dispositivo de codificação de dados tridimensionais 1300, a seguir, codifica a informação de posição dos pontos tridimensionais incluídos nos dados tridimensionais atuais, utilizando a informação da posição prevista. Por exemplo, como ilustrado na figura 38, o dispositivo de codificação de dados tridimensionais 1300 calcula a informação de posição diferencial, a informação de posição diferencial sendo uma di- ferença entre a informação de posição prevista e a informação de posi- ção dos pontos tridimensionais incluídos nos dados tridimensionais atu- ais (S1303).
[0429] O dispositivo de codificação de dados tridimensionais 1300 codifica a informação de atributo dos pontos tridimensionais incluídos nos dados tridimensionais atuais, utilizando a informação de atributo prevista. Por exemplo, o dispositivo de codificação de dados tridimensi- onais 1300 calcula a informação do atributo diferencial, a informação do atributo diferencial sendo uma diferença entre a informação de atributo previsto e a informação de atributo nos pontos tridimensionais incluídos nos dados tridimensionais atuais (S1304). O dispositivo de codificação de dados tridimensionais 1300, a seguir, realiza a transformação e quantização da informação de atributo diferencial calculado (S1305).
[0430] Por fim, o dispositivo de codificação de dados tridimensionais 1300 codifica (por exemplo, codifica por entropia) a informação de posi- ção diferencial e a informação de atributo diferencial quantizado (S1036). Em outras palavras, o dispositivo de codificação de dados tri- dimensionais 1300 gera o sinal codificado (sequência de bits codifica- dos), incluindo a informação de posição diferencial e a informação de atributo diferencial.
[0431] Note-se que quando a informação de atributo não está inclu- ída nos dados tridimensionais, o dispositivo de codificação de dados tri- dimensionais 1300 não precisa realizar as etapas S1302, S1304 e S1305. O dispositivo de codificação de dados tridimensionais 1300 tam- bém pode realizar apenas uma dentre a codificação da informação de posição dos pontos tridimensionais e a codificação da informação de atributo dos pontos tridimensionais.
[0432] Uma ordem dos processos, ilustrada na figura 49, é mera- mente um exemplo e não está limitada a isso. Por exemplo, visto que os processos, com relação à informação de posição (S1301 e S1303) e os processos, com relação à informação de atributo (S1302, S1304 e S1305), são separados um do outro, os mesmos podem ser realizados em uma ordem de escolha, e uma parte do mesmo também pode ser realizada em paralelo.
[0433] Com o acima, o dispositivo de codificação de dados tridimen- sionais 1300, de acordo com a presente modalidade, gera a informação de posição prevista utilizando a informação de posição dos pontos tridi- mensionais incluídos nos dados de referência tridimensional com um tempo diferente de um tempo associado aos dados tridimensionais atu- ais; e codifica a informação de posição diferencial, que é uma diferença entre a informação de posição prevista e a informação de posição dos pontos tridimensionais incluídos nos dados tridimensionais atuais. Isso possibilita o aperfeiçoamento da eficiência de codificação, visto que é possível se reduzir a quantidade de dados do sinal codificado.
[0434] O dispositivo de codificação de dados tridimensional 1300, de acordo com a presente modalidade, gera a informação de atributo prevista utilizando informação de atributo dos pontos tridimensionais in- cluídos nos dados de referência tridimensionais; e codifica a informação de atributo diferencial, que é uma diferença entre a informação de atri- buto prevista e a informação de atributo dos pontos tridimensionais in- cluídos nos dados tridimensionais atuais. Isso possibilita o aperfeiçoa- mento da eficiência de codificação, visto que é possível se reduzir a quantidade de dados do sinal codificado.
[0435] Por exemplo, o dispositivo de codificação de dados tridimen- sionais 1300 inclui um processador e uma memória. O processador uti- liza a memória para realizar os processos acima.
[0436] A figura 48 é um fluxograma do processo de interprevisão realizado pelo dispositivo de decodificação de dados tridimensionais
1400.
[0437] O dispositivo de decodificação de dados tridimensionais 1400 decodifica (por exemplo, decodifica por entropia) a informação de posição diferencial e a informação de atributo diferencial a partir do sinal codificado (sequência de bits codificados) (S1401).
[0438] O dispositivo de decodificação de dados tridimensionais 1400 decodifica, a partir do sinal codificado, um indicador RT que indica se aplica o processo de rotação e translação à informação de posição dos pontos tridimensionais incluídos nos dados de referência tridimen- sionais. O dispositivo de decodificação de dados tridimensionais 1400 codifica a informação RT que indica o conteúdo do processo de rotação e translação. Note-se que o dispositivo de decodificação de dados tridi- mensionais 1400 pode decodificar a informação RT quando o indicador RT indicar a aplicação do processo de rotação e translação, e não pre- cisa decodificar a informação RT quando o indicador RT indicar a não aplicação do processo de rotação e translação.
[0439] O dispositivo de decodificação de dados tridimensionais 1400, a seguir, realiza a transformação inversa e a quantização inversa na informação de atributo diferencial decodificado (S1402).
[0440] O dispositivo de decodificação de dados tridimensionais 1400, a seguir, gera a informação de posição prevista (por exemplo, vo- lume previsto) utilizando a informação de posição sobre os pontos tridi- mensionais incluídos nos dados de referência tridimensionais (por exemplo, espaço de referência), associados a um tempo diferente de um tempo associado aos dados tridimensionais atuais (por exemplo, es- paço alvo de decodificação) (S1403). Para ser específico, o dispositivo de decodificação de dados tridimensionais 1400 gera a informação de posição prevista pela aplicação de um processo de rotação e translação à informação de posição nos pontos tridimensionais incluídos nos dados de referência tridimensionais.
[0441] Mais especificamente, quando o indicador RT indica a apli- cação do processo de rotação e translação, o dispositivo de decodifica- ção de dados tridimensionais 1400 aplica o processo de rotação e trans- lação à informação de posição, nos pontos tridimensionais incluídos nos dados de referência tridimensionais indicados na informação RT. Em contraste, quando o indicador RT indica a não aplicação do processo de rotação e translação, o dispositivo de decodificação de dados tridimen- sionais 1400 não aplica o processo de rotação e translação à informa- ção de posição, nos pontos tridimensionais incluídos nos dados de re- ferência tridimensionais.
[0442] Note-se que o dispositivo de decodificação de dados tridi- mensionais 1400 pode realizar o processo de rotação e translação utili- zando uma primeira unidade (por exemplo, espaços), e pode realizar a geração da informação de posição prevista utilizando uma segunda uni- dade (por exemplo, volumes), que é menor do que a primeira unidade. Note-se que o dispositivo de decodificação de dados tridimensionais 1400 pode realizar o processo de rotação e translação, e a geração da informação de posição prevista na mesma unidade.
[0443] O dispositivo de decodificação de dados tridimensionais 1400 pode gerar a informação de posição prevista pela aplicação (i) de um primeiro processo de rotação e translação à informação de posição nos pontos tridimensionais incluídos nos dados de referência tridimen- sionais, e (ii) um segundo processo de rotação e translação à informa- ção de posição, nos pontos tridimensionais obtidos através do primeiro processo de rotação e translação, o primeiro processo de rotação e translação utilizando uma primeira unidade (por exemplo, espaços), e o segundo processo de rotação e translação utilizando uma segunda uni- dade (por exemplo, volumes), que é menor do que a primeira unidade.
[0444] Por exemplo, como ilustrado na figura 41, a informação de posição sobre os pontos tridimensionais e a informação de posição pre- vista são representadas utilizando-se uma estr a informação de posição sobre os pontos tridimensionais e a informação de posição prevista são expressas em uma ordem de digi- talização que prioriza uma largura sobre uma profundidade na estrutura a informação de posição sobre os pontos tridimensionais e a informação de posição prevista são expressas em uma ordem de digitalização que prioriza uma profundidade sobre uma
[0445] O dispositivo de decodificação de dados tridimensionais 1400 gera a informação de atributo prevista utilizando a informação de atributo dos pontos tridimensionais incluídos nos dados de referência tridimensionais (S1404).
[0446] O dispositivo de decodificação de dados tridimensionais 1400, a seguir, restaura a informação de posição sobre os pontos tridi- mensionais incluídos nos dados tridimensionais atuais, pela decodifica- ção da informação de posição codificada, incluída em um sinal codifi- cado, utilizando a informação de posição prevista. A informação de po- sição codificada, no presente documento, é a informação de posição diferencial. O dispositivo de decodificação de dados tridimensionais 1400 restaura a informação de posição sobre os pontos tridimensionais incluídos nos dados tridimensionais atuais, pela adição da informação de posição diferencial à informação de posição prevista (S1405).
[0447] O dispositivo de decodificação de dados tridimensionais 1400 restaura a informação de atributo dos pontos tridimensionais inclu- ídos nos dados tridimensionais atuais, pela decodificação da informação de atributo codificada, incluída em um sinal codificado, utilizando a in- formação de atributo prevista. A informação de atributo codificada, no presente documento, é a informação de posição diferencial. O disposi-
tivo de decodificação de dados tridimensionais 1400 restaura a informa- ção de atributo sobre os pontos tridimensionais incluídos nos dados tri- dimensionais atuais, pela adição da informação de atributo diferencial à informação de atributo prevista (S1406).
[0448] Note-se que quando a informação de atributo não está inclu- ída nos dados tridimensionais, o dispositivo de decodificação de dados tridimensionais 1400 não precisa realizar as etapas S1402, S1404 e S1406. O dispositivo de decodificação de dados tridimensionais 1400 também pode realizar apenas uma dentre a decodificação da informa- ção de posição nos pontos tridimensionais e a decodificação da infor- mação de atributo dos pontos tridimensionais.
[0449] Uma ordem dos processos ilustrados na figura 50 é mera- mente um exemplo e não está limitada a isso. Por exemplo, visto que os processos, com relação à informação de posição (S1403 e S1405), e os processos, com relação à informação de atributo (S1402, S1404 e S1406), são separados um do outro, os mesmos podem ser realizados em uma ordem de escolha, e uma parte dos mesmos também pode ser realizada em paralelo. Modalidade 8
[0450] Na presente modalidade, um método de controle de referên- cia quando um código de ocupação é codificado será descrito. Deve ser observado que embora o que segue descreva principalmente uma ope- ração de um dispositivo de codificação de dados tridimensionais, um dispositivo de decodificação de dados tridimensionais pode realizar o mesmo processo.
[0451] A figura 51 e a figura 52 são, cada uma, um diagrama ilus- trando uma relação de referência, de acordo com a presente modali- dade. Especificamente, a figura 51 é um diagrama ilustrando uma rela- ilustrando uma relação de referência em uma região espacial.
[0452] Na presente modalidade, quando o dispositivo de codifica- ção de dados tridimensionais codifica a informação de codificação de um nó atual a ser codificado (doravante referido como um nó atual), o dispositivo de codificação de dados tridimensionais se refere à informa- ção de codificação de cada nó em um nó parente ao qual o nó atual pertence. A esse respeito, no entanto, o dispositivo de codificação de dados tridimensionais não se refere à informação de codificação de cada nó em outro nó (doravante referido com um nó vizinho ao nó pa- rente) que está na mesma camada que o nó parente. Em outras pala- vras, o dispositivo de codificação de dados tridimensionais desativa ou proíbe a referência a um nó vizinho ao nó parente.
[0453] Deve-se notar que o dispositivo de codificação de dados tri- dimensionais pode permitir referência à informação de codificação de um nó parente (doravante também referido como um nó avô) do nó pa- rente. Em outras palavras, o dispositivo de codificação de dados tridi- mensionais pode codificar a informação de codificação do nó atual por referência à informação de codificação de cada um dentre o nó avô e o nó parente ao qual o nó atual pertence.
[0454] No presente documento, a informação de codificação, por exemplo, é um código de ocupação. Quando o dispositivo de codifica- ção de dados tridimensionais codifica o código de ocupação do nó atual, o dispositivo de codificação de dados tridimensionais se refere à infor- mação (doravante referida com informação de ocupação) indicando se uma nuvem de pontos está incluída em cada nó no nó parente ao qual o nó atual pertence. De outra forma, quando o dispositivo de codificação de dados tridimensionais codifica o código de ocupação do nó atual, o dispositivo de codificação de dados tridimensionais se refere a um có- digo de ocupação do nó parente. Por outro lado, o dispositivo de codifi- cação de dados tridimensionais não se refere à informação de ocupação de cada nó em um nó vizinho ao nó parente. Em outras palavras, o dis- positivo de codificação de dados tridimensionais não se refere a um có- digo de ocupação do nó vizinho ao nó parente. Ademais, o dispositivo de codificação de dados tridimensionais pode se referir à informação de ocupação de cada nó no nó avô. Em outras palavras, o dispositivo de codificação de dados tridimensionais pode se referir à informação de ocupação de cada nó parente e do nó vizinho ao nó parente.
[0455] Por exemplo, quando o dispositivo de codificação de dados tridimensionais codifica o código de ocupação do nó atual, o dispositivo de codificação de dados tridimensionais seleciona uma tabela de codi- ficação a ser utilizada para a codificação por entropia do código de ocu- pação do nó atual, utilizando o código de ocupação do nó avô ou do nó parente ao qual o nó atual pertence. Deve-se notar que os detalhes se- rão descritos a seguir. Nesse momento, o dispositivo de codificação de dados tridimensionais não precisa se referir ao código de ocupação do nó vizinho ao nó parente. Visto que isso permite que o dispositivo de codificação de dados tridimensionais, quando da codificação do código de ocupação do nó atual, selecione adequadamente uma tabela de co- dificação, de acordo com a informação do código de ocupação do nó parente ou do nó avô, o dispositivo de codificação de dados tridimensi- onais pode aperfeiçoar a eficiência de codificação. Ademais, por não fazer referência ao nó vizinho ao parente, o dispositivo de codificação de dados tridimensionais pode suprimir um processo de verificação da informação do nó vizinho ao nó parente e reduzir uma capacidade de memória para armazenar a informação. Adicionalmente, a digitalização primeiro torna a codificação fácil.
[0456] A seguir é descrito um exemplo de seleção de uma tabela de codificação utilizando um código de ocupação de um nó parente. A fi- gura 53 é um diagrama ilustrando um exemplo de um nó atual e nós de referência vizinhos. A figura 54 é um diagrama ilustrando uma relação entre um nó parente e nós. A figura 55 é um diagrama ilustrando um exemplo de um código de ocupação do nó parente. No presente docu- mento, um nó de referência vizinho é um nó referido quando um nó atual é codificado, dentre os nós espacialmente vizinhos do nó atual. No exemplo ilustrado na figura 53, os nós vizinhos pertencem à mesma ca- mada que o nó atual. Ademais, o nó X vizinho do nó atual na direção x, o nó Y vizinho ao bloco atual na direção y e o nó Z vizinho ao bloco atual na direção z são utilizados como nós vizinhos de referência. Em outras palavras, um nó vizinho é configurado como um nó vizinho de referência em cada uma das direções, x, y e z.
[0457] Deve-se notar que os números de nós ilustrados na figura 54 são um exemplo, e uma relação entre os números de nós e as posições de nó não está limitada à relação ilustrada na figura 54. Apesar do nó 0 ser designado para o bit de ordem mais inferior e o nó 7 ser designado para o bit de ordem mais alta na figura 55, as designações podem ser feitas em ordem reversa. Adicionalmente, cada nó pode ser designado para qualquer bit.
[0458] O dispositivo de codificação de dados tridimensionais deter- mina uma tabela de codificação a ser utilizada quando o dispositivo de codificação de dados tridimensionais codifica por entropia um código de ocupação de um nó atual, utilizando a seguinte equação, por exemplo. CodingTable = (FlagX << 2) + (FlagY << 1) + (FlagZ)
[0459] No presente documento, CodingTable indica uma tabela de codificação para um código de ocupação de um nó atual, e indica um dos valores que variam de 0 a 7. FlagX é a informação de ocupação do nó vizinho X. FlagX indica 1 quando o nó vizinho X inclui uma nuvem de pontos (está ocupado) e indica 0 quando não. FlagY é a informação de ocupação do nó vizinho Y. FlagY indica 1 quando o nó vizinho Y inclui uma nuvem de pontos (está ocupado) e indica 0 quando não. FlagZ é a informação de ocupação do nó vizinho Z. FlagZ indica 1 quando o nó vizinho Z inclui uma nuvem de pontos (está ocupado) e indica 0 quando não.
[0460] Deve-se notar que visto que a informação que indica se um nó vizinho está ocupado é incluída em um código de ocupação de um nó parente, o dispositivo de codificação de dados tridimensionais pode selecionar uma tabela de codificação utilizando um valor indicado pelo código de ocupação do nó parente.
[0461] A partir do acima exposto, o dispositivo de codificação de da- dos tridimensionais pode aperfeiçoar a eficiência de codificação pela se- leção de uma tabela de codificação utilizando a informação que indica se o nó vizinho do nó atual inclui uma nuvem de pontos.
[0462] Ademais, como ilustrado na figura 53, o dispositivo de codi- ficação de dados tridimensionais pode selecionar um nó de referência vizinho, de acordo com uma posição espacial do nó atual no nó parente. Em outras palavras, o dispositivo de codificação de dados tridimensio- nais pode selecionar um nó vizinho a ser referido a partir dos nós vizi- nhos, de acordo com a posição espacial do nó atual no nó parente.
[0463] A seguir são descritos exemplos de configurações do dispo- sitivo de codificação de dados tridimensionais e do dispositivo de deco- dificação de dados tridimensionais. A figura 56 é um diagrama em bloco do dispositivo de codificação de dados tridimensionais 2100, de acordo com a presente modalidade. O dispositivo de codificação de dados tri- a calculadora de informação de geometria 2102, o seletor de ta- bela de codificação 2103 e o codificador por entropia 2104.
[0464] partir dos pontos tridimensionais registrados (uma nuvem de pontos) e gera um código de ocupação para ca 870200152631, de 04/12/2020, pág. 194/261 culadora de informação de geometria 2102 obtém a informação de ocu- pação que indica se um nó de referência vizinho de um nó atual está ocupado. Por exemplo, a calculadora de informação de geometria 2012 obtém a informação de ocupação do nó de referência vizinho a partir de um código de ocupação de um nó parente ao qual o nó atual pertence. Deve-se notar que, como ilustrado na figura 53, a calculadora de infor- mação de geometria 2102 pode selecionar um nó de referência vizinho, de acordo com uma posição do nó atual no nó parente. Adicionalmente, a calculadora de informação de geometria 2102 não se refere à infor- mação de ocupação de cada nó em um nó vizinho ao nó parente.
[0465] O seletor de tabela de codificação 2103 seleciona uma ta- bela de codificação a ser utilizada para a codificação por entropia de um código de ocupação do nó atual, utilizando a informação de ocupação do nó de referência vizinho calculado pela calculadora de informação de geometria 2102. O codificador por entropia 2104 gera uma sequência de bits pela codificação por entropia do código de ocupação utilizando a tabela de codificação selecionada. Deve-se notar que o codificador por entropia 2104 pode anexar, à sequência de bits, a informação que indica a tabela de codificação selecionada.
[0466] A figura 57 é um diagrama em bloco do dispositivo de deco- dificação de dados tridimensionais 2110 de acordo com a presente mo- dalidade. O dispositivo de decodificação de dados tridimensionais 2110 ilustrado na figura 57 inclui o gerador d de geometria 2112, o seletor de tabela de codificação 2113 e o decodificador por entropia 2114.
[0467] utilizando a informação de cabeçalho de uma sequência de bits, de um espaço grande (um nó raiz) utilizando o tamanho de um espaço ao longo das direções do eixo x, eixo y e eixo o z anexadas à informação de cabeçalho, e gerando oito espaços pequenos A (nós A0 a A7) pela divisão do espaço em dois ao longo de cada uma das dire- ções de eixo x, eixo y e eixo z. Os nós A0 a A7 são configurados como um nó atual na sequência.
[0468] A calculadora de informação de geometria 2112 obtém a in- formação de ocupação que indica se um nó de referência vizinho a um nó atual está ocupado. Por exemplo, a calculadora de informação de geometria 2112 obtém a informação de ocupação do nó de referência vizinho a partir de um código de ocupação de um nó parente ao qual o nó atual pertence. Deve-se notar que, como ilustrado na figura 53, a calculadora de informação de geometria 2112 pode selecionar um nó de referência vizinho de acordo com uma posição do nó atual no nó parente. Adicionalmente, a calculadora de informação de geometria 2112 não se refere à informação de ocupação de cada nó em um nó vizinho ao nó parente.
[0469] O seletor de tabela de codificação 2113 seleciona uma ta- bela de codificação (uma tabela de decodificação) a ser utilizada para a decodificação por entropia do código de ocupação do nó atual, utili- zando a informação de ocupação do nó de referência vizinho calculado pela calculadora de informação de geometria 2112. O decodificador por entropia 2114 gera os pontos tridimensionais pela decodificação por en- tropia do código de ocupação utilizando a tabela de codificação seleci- onada. Deve-se notar que o seletor de tabela de codificação 2113 pode obter, pela realização da decodificação, informação sobre a tabela de codificação selecionada anexada à sequência de bits, e o decodificador por entropia 2114 pode utilizar uma tabela de codificação indicada pela informação obtida.
[0470] Cada bit do código de ocupação (8 bits) incluído na sequên- cia de bits indica se um espaço correspondente dentre oito espaços pe- quenos A (nós A0 a A7) inclui uma nuvem de pontos. Adicionalmente, o divisão do nó de espaço pequeno A0 em oito espaços pequenos B (nós B0 a B7), e obtém informação que indica se cada nó do espaço pequeno B inclui uma nuvem de pontos, pela decodificação do código de ocupação. Dessa forma, o dispositivo de decodificação de dados tri- dimensionais decodifica o código de ocupação de cada nó enquanto pe- quenos.
[0471] A seguir são descritos procedimentos para os processos re- alizados pelo dispositivo de codificação de dados tridimensionais e o dispositivo de decodificação de dados tridimensionais. A figura 58 é um fluxograma de um processo de codificação de dados tridimensionais no dispositivo de codificação de dados tridimensionais. Primeiro, o disposi- tivo de codificação de dados tridimensionais determina (define) um es- paço (um nó atual) incluindo parte ou toda uma nuvem de pontos tridi- mensional registrada (S2101). A seguir, o dispositivo de codificação de dados tridimensionais geral oito espaços pequenos (nós) pela divisão do nó atual em oito (S2102). Então, o dispositivo de codificação de da- dos tridimensionais gera um código de ocupação para o nó atual, de acordo com o fato de se cada nó inclui uma nuvem de pontos (S2103).
[0472] Depois disso, o dispositivo de codificação de dados tridimen- sionais calcula (obtém) a informação de ocupação de um nó de referên- cia vizinho do nó atual a partir de um código de ocupação de um nó parente do nó atual (S2104). A seguir, o dispositivo de codificação de dados tridimensionais seleciona uma tabela de codificação a ser utili- zada para a codificação por entropia, com base na informação de ocu- pação calculada do nó de referência vizinho do nó atual (S2105). Então, o dispositivo de codificação de dados tridimensionais codifica por entro- pia o código de ocupação do nó atual utilizando a tabela de codificação selecionada (S2106).
[0473] Finalmente, o dispositivo de codificação de dados tridimen- sionais repete um processo de divisão de cada nó em oito e codificação de um código de ocupação do nó, até que o nó não possa mais ser dividido (S2107). Em outras palavras, as etapas S2102 a S2106 são repetidas de forma recursiva.
[0474] A figura 59 é um fluxograma de um processo de decodifica- ção de dados tridimensionais no dispositivo de decodificação de dados tridimensionais. Primeiro, o dispositivo de decodificação de dados tridi- mensionais determina (define) um espaço (um nó atual) a ser decodifi- cado, utilizando informação de cabeçalho de uma sequência de bits (S2111). A seguir, o dispositivo de decodificação de dados tridimensio- nais gera oito espaços pequenos (nós) pela divisão do nó atual em oito (S2112). Então, o dispositivo de decodificação de dados tridimensionais calcula (obtém) a informação de ocupação de um nó de referência vizi- nho do nó atual a partir de um código de ocupação de um nó parente do nó atual (S2113).
[0475] Depois disso, o dispositivo de decodificação de dados tridi- mensionais seleciona uma tabela de codificação a ser utilizada para a decodificação por entropia, com base na informação de ocupação do nó de referência vizinho (S2114). A seguir, o dispositivo de decodificação de dados tridimensionais decodifica por entropia o código de ocupação do nó atual utilizando a tabela de codificação selecionada (S2115).
[0476] Finalmente, o dispositivo de decodificação de dados tridi- mensionais repete um processo de divisão de cada nó em oito e deco- dificação de um código de ocupação do nó, até que o nó não possa ser dividido (S2116). Em outras palavras, as etapas S2112 a S2115 são repetidas de forma recursiva.
[0477] A seguir, é descrito um exemplo de seleção de uma tabela de codificação. A figura 60 é um diagrama ilustrando um exemplo de seleção de uma tabela de codificação. Por exemplo, como na tabela de codificação 0 ilustrada na figura 60, o mesmo modo de contexto pode ser aplicado aos códigos de ocupação. Ademais, um modelo de con- texto diferente pode ser designado para cada código de ocupação. Visto que isso permite a designação de um modelo de contexto de acordo com uma probabilidade de surgimento de um código de ocupação, é possível se aperfeiçoar a eficiência de codificação. Adicionalmente, um modo de contexto que atualiza uma tabela de probabilidade, de acordo com uma frequência de surgimento de um código de ocupação, pode ser utilizado. Alternativamente, um modelo de contexto, possuindo uma tabela de probabilidade fixa, pode ser utilizado.
[0478] Doravante, a Variação 1 da presente modalidade será des- crita. A figura 61 é um diagrama ilustrando uma relação de referência na presente variação. Apesar de o dispositivo de codificação de dados tridimensionais não se referir ao código de ocupação do nó vizinho ao parente na modalidade descrita acima, o dispositivo de codificação de dados tridimensionais pode comutar para referir a um código de ocupa- ção de um nó vizinho ao nó parente, de acordo com uma condição es- pecífica.
[0479] Por exemplo, quando o dispositivo de codificação de dados primeiro, o dispositivo de codificação de dados tridimensionais co- difica um código de ocupação de um nó atual por referência à informa- ção de ocupação de um nó em um nó vizinho ao parente. Em contraste, quando o dispositivo de codificação de dados tridimensionais codifica a de codificação de dados tridimensionais proíbe a referência à infor- mação de ocupação do nó no nó vizinho ao nó parente. Pela seleção adequada de um nó referível, de acordo com a ordem de digitalização 870200152631, de 04/12/2020, pág. 199/261 aperfeiçoar a eficiência de codificação e reduzir a carga de processa- mento.
[0480] Deve-se notar que o dispositivo de codificação de dados tri- dimensionais pode anexar, a um cabeçalho de uma sequência de bits, primeiro ou profundidade primeiro. A figura 62 é um diagrama ilus- trando um exemplo de uma sintaxe da informação de cabeçalho nesse de ordem (um indicador de ordem de codificação). Por exemplo, quando octree_scan_order é igual a 0, largura primeiro é indicada, e Visto que isso permite que o dispositivo de decodificação de da- dos tridimensionais determine se uma sequência de bits foi codificada largura primeiro ou profundidade primeiro, por referência a pode decodificar de forma adequada a sequência de bits.
[0481] Ademais, o dispositivo de codificação de dados tridimensio- nais pode anexar, à informação de cabeçalho de uma sequência de bits, a informação que indica se proíbe a referência a um nó vizinho ao pa- rente. A figura 63 é um diagrama ilustrando um exemplo de uma sintaxe da informação de cabeçalho nesse caso. limit_refer_flag é a informação de comutação de proibição (um indicador de comutação de proibição) indicando se proíbe a referência a um nó vizinho ao nó parente. Por exemplo, quando limit_refer_flag é igual a 1, a proibição da referência ao nó vizinho do nó parente é indicada, e quando limit_refer_flag é igual a 0, nenhuma limitação de referência (permissão de referência ao nó vizinho do nó parente) é indicada.
[0482] Em outras palavras, o dispositivo de codificação de dados tridimensionais determina se proíbe a referência ao nó vizinho ao pa- rente e seleciona se proíbe ou permite a referência ao nó vizinho do nó parente, com base em um resultado da determinação acima. Adicional- mente, o dispositivo de codificação de dados tridimensionais gera uma sequência de bits incluindo a informação de comutação de proibição que indica o resultado da determinação e indica se proíbe a referência ao nó vizinho do nó parente.
[0483] O dispositivo de decodificação de dados tridimensionais ob- tém, a partir de uma sequência de bits, a informação de comutação de proibição indicando se proíbe referência a um nó vizinho do nó parente, e seleciona se proíbe ou permite a referência ao nó vizinho do nó pa- rente, com base na informação de comutação de proibição.
[0484] Isso permite que o dispositivo de codificação de dados tridi- mensionais controle a referência ao nó vizinho do nó parente e gere a sequência de bits. Isso também permite que o dispositivo de decodifica- ção de dados tridimensionais obtenha, a partir do cabeçalho da sequên- cia de bits, a informação que indica se proíbe a referência ao nó vizinho do nó parente.
[0485] Apesar do processo de codificação de um código de ocupa- ção ter sido descrito como um exemplo de um processo de codificação no qual referência a um nó vizinho do nó parente é proibida na presente modalidade, a presente descrição não está limitada necessariamente a isso. Por exemplo, o mesmo método pode ser aplicado quando outra da presente modalidade pode ser aplicado quando outra informa- ção de atributo, tal como uma cor, um vetor normal ou um grau de re- flexo, adicionada a um nó é codificada. Adicionalmente, o mesmo mé- todo pode ser aplicado quando uma tabela de codificação ou um valor previsto é codificado.
[0486] Doravante, a Variação 2 da presente modalidade será des- crita. Na descrição acima, como ilustrado na figura 53, o exemplo no qual os três nós vizinhos de referência são utilizados é fornecido, mas quatro ou mais nós vizinhos de referência podem ser utilizados. A figura 64 é um diagrama ilustrando um exemplo de um nó atual e nós de refe- rência vizinhos.
[0487] Por exemplo, o dispositivo de codificação de dados tridimen- sionais calcula uma tabela de codificação a ser utilizada quando o dis- positivo de codificação de dados tridimensionais codifica por entropia um código de ocupação do nó atual ilustrado na figura 64, utilizando a seguinte equação. CodingTable= (FlagX0 << 3) + (FlagX1 << 2) + (FlagY << 1) + (FlagZ)
[0488] No presente documento, CodingTable indica uma tabela de codificação para um código de ocupação de um nó atual, e indica um dos valores que variam de 0 a 15. FlagXN é a informação de ocupação do nó vizinho XN (N = 0..1). FlagXN indica 1 quando o nó vizinho XN inclui uma nuvem de pontos (está ocupado) e indica 0 quando não. FlagY é a informação de ocupação do nó vizinho Y. FlagY indica 1 quando o nó vizinho Y inclui uma nuvem de pontos (está ocupado) e indica 0 quando não. FlagZ é a informação de ocupação do nó vizinho Z. FlagZ indica 1 quando o nó vizinho Z inclui uma nuvem de pontos (está ocupado) e indica 0 quando não.
[0489] Nesse momento, quando um nó vizinho, por exemplo, o nó vizinho X0 na figura 64, não é referível (proibido de ser referido), o dis- positivo de codificação de dados tridimensionais pode utilizar, como um valor substituto, um valor fixo tal como 1 (ocupado) ou 0 (não ocupado).
[0490] A figura 65 é um diagrama ilustrando um exemplo de um nó atual e nós de referência vizinhos. Como ilustrado na figura 65, quando um nó vizinho não é referível (proibido de ser referido), a informação de ocupação do nó vizinho pode ser calculada por referência a um código de ocupação de um nó avô do nó atual. Por exemplo, o dispositivo de codificação de dados tridimensionais pode calcular FlagX0 na equação acima utilizando a informação de ocupação do nó vizinho G0 em vez do nó vizinho X0 ilustrado na figura 65, e pode determinar um valor de uma tabela de codificação utilizando FlagX0 calculado. Deve-se notar que o nó vizinho G0 ilustrado na figura 65 é uma ocupação ou não ocupação do nó vizinho que pode ser determinada utilizando-se o código de ocu- pação do nó avô. O nó vizinho X1 é uma ocupação ou não ocupação do nó vizinho que pode ser determinada utilizando-se um código de ocupa- ção de um nó parente.
[0491] Doravante, a Variação 3 da presente modalidade será des- crita. As figuras 66 e 67 são, cada uma, um diagrama ilustrando uma relação de referência de acordo com a presente variação. Especifica- mente, a figura 66 é um diagrama ilustrando uma relação de referência relação de referência em uma região espacial.
[0492] Na presente variação, quando o dispositivo de codificação de dados tridimensionais codifica a informação de codificação de um nó atual a ser codificado (doravante referido como nó vizinho 2), o disposi- tivo de codificação de dados tridimensionais se refere à informação de codificação de cada nó em um nó parente ao qual o nó atual 2 pertence. Em outras palavras, o dispositivo de codificação de dados tridimensio- nais permite a referência à informação (por exemplo, informação de ocu- pação) de um nó filho de um primeiro nó, dentre os nós vizinhos, que possui o mesmo nó parente que um nó atual. Por exemplo, quando o dispositivo de codificação de dados tridimensionais codifica um código de ocupação do nó atual 2 ilustrado na figura 66, o dispositivo de codi- ficação de dados tridimensionais se refere a um código de ocupação de um nó no nó parente ao qual o nó atual 2 pertence, por exemplo, o nó atual ilustrado na figura 66. Como ilustrado na figura 67, o código de ocupação do nó atual, ilustrado na figura 66 indica, por exemplo, se cada nó no nó atual vizinho ao nó atual 2 está ocupado. Sendo assim,
visto que o dispositivo de codificação de dados tridimensionais pode se- lecionar uma tabela de codificação para o código de ocupação do nó atual 2, de acordo com um formato mais particular do nó atual, o dispo- sitivo de codificação de dados tridimensionais pode aperfeiçoar a efici- ência de codificação.
[0493] O dispositivo de codificação de dados tridimensionais pode calcular uma tabela de codificação a ser utilizada quando o dispositivo de codificação de dados tridimensionais codifica por entropia o código de ocupação do nó atual 2, utilizando a seguinte equação, por exemplo. CodingTable = (FlagX1 << 5) + (FlagX2 << 4) + (FlagX3 << 3) + (FlagX4 << 2) + (FlagY << 1) + (FlagZ)
[0494] No presente documento, CodingTable indica uma tabela de codificação para um código de ocupação do nó atual 2, e indica um den- tre os valores que variam de 0 a 63. FlagXN é a informação de ocupação do nó vizinho XN (N = 1.. 4). FlagXN indica 1 quando o nó vizinho XN inclui uma nuvem de pontos (está ocupado) e indica 0 quando não. FlagY é a informação de ocupação do nó vizinho Y. FlagY indica 1 quando o nó vizinho Y inclui uma nuvem de pontos (está ocupado) e indica 0 quando não. FlagZ é a informação de ocupação do nó vizinho Z. FlagZ indica 1 quando o nó vizinho Z inclui uma nuvem de pontos (está ocupado) e indica 0 quando não.
[0495] Deve-se notar que o dispositivo de codificação de dados tri- dimensionais pode mudar um método de cálculo de uma tabela de co- dificação, de acordo com uma posição de nó do nó atual 2 no nó pa- rente.
[0496] Quando referência a um nó vizinho do nó parente não é pro- ibida, o dispositivo de codificação de dados tridimensionais pode fazer referência à informação de codificação de cada nó no nó vizinho do nó parente. Por exemplo, quando a referência ao nó vizinho do nó parente não é proibida, a referência à informação (por exemplo, informação de ocupação) de um nó filho de um terceiro nó, que possui um nó parente diferente do de um nó atual. No exemplo ilustrado na figura 65, por exemplo, o dispositivo de codificação de dados tridimensionais obtém a informação de ocupação de um nó filho do nó vizinho X0 por referência a um código de ocupação do nó vizinho X0 possuindo um nó parente diferente do nó parente do nó atual. O dispositivo de codificação de da- dos tridimensionais seleciona uma tabela de codificação a ser utilizada para a codificação por entropia de um código de ocupação do nó atual, com base na informação de ocupação obtida do nó filho do nó vizinho X0.
[0497] Como mencionado acima, o dispositivo de codificação de da- dos tridimensionais de acordo com a presente modalidade codifica a informação (por exemplo, um código de ocupação) de um nó atual in- cluído em uma estrutura de árvore N-ária dos pontos tridimensionais in- cluídos nos dados tridimensionais, onde N é um inteiro superior a ou igual a 2. Como ilustrado na figura 51 e na figura 52, na codificação, o dispositivo de codificação de dados tridimensionais permite referência à informação (por exemplo, informação de ocupação) de um primeiro nó incluído em nós vizinhos, espacialmente vizinhos do nó atual, e proíbe a referência à informação de um segundo nó incluído nos nós vizinhos, o primeiro nó possuindo um mesmo nó parente que o nó atual, o se- gundo nó possuindo um nó parente diferente do nó parente do nó atual. De outra forma, na codificação, o dispositivo de codificação de dados tridimensionais permite referência à informação (por exemplo, um có- digo de ocupação) do nó parente e proíbe referência à informação (por exemplo, um código de ocupação) de outro nó (um nó vizinho do nó parente) na mesma camada que o nó parente.
[0498] Com isso, o dispositivo de codificação de dados tridimensio- nais pode aperfeiçoar a eficiência de codificação por referência à infor- mação do primeiro nó incluída nos nós vizinhos, espacialmente vizinhos do nó atual, o primeiro nó possuindo o mesmo nó parente que o nó atual. Além disso, o dispositivo de codificação de dados tridimensionais pode reduzir uma quantidade de processamento não fazendo referência à in- formação do segundo nó incluído nos nós vizinhos, o segundo nó pos- suindo um nó parente diferente do nó parente do nó atual. Dessa forma, o dispositivo de codificação de dados tridimensionais pode não apenas aperfeiçoar a eficiência de codificação, mas também reduzir a quanti- dade de processamento.
[0499] Por exemplo, o dispositivo de codificação de dados tridimen- sionais determina, adicionalmente, se proíbe a referência à informação do segundo nó. Na codificação, o dispositivo de codificação de dados tridimensionais seleciona se proíbe ou permite a referência à informa- ção do segundo nó com base em um resultado da determinação. Ade- mais, o dispositivo de codificação de dados tridimensionais gera uma sequência de bits incluindo a informação de comutação de proibição (por exemplo, limit_refer_flag ilustrado na figura 63) que indica o resul- tado da determinação e indica se proíbe a referência à informação do segundo nó.
[0500] Com isso, o dispositivo de codificação de dados tridimensio- nais pode selecionar se proíbe a referência à informação do segundo nó. Adicionalmente, um dispositivo de decodificação de dados tridimen- sionais pode realizar, de forma adequada, um processo de decodifica- ção utilizando a informação de comutação de proibição.
[0501] Por exemplo, a informação do nó atual é a informação (por exemplo, um código de ocupação) que indica se um ponto tridimensio- nal está presente em cada um dos nós criança que pertencem ao nó atual. A informação sobre o primeiro nó é a informação (a informação de ocupação do primeiro nó) que indica se um ponto tridimensional está presente no primeiro nó. A informação do segundo nó é a informação (a informação de ocupação do segundo nó) que indica se um ponto tridi- mensional está presente no segundo nó.
[0502] Por exemplo, na codificação, o dispositivo de codificação de dados tridimensionais seleciona uma tabela de codificação com base no fato de se o ponto tridimensional está presente no primeiro nó, e codifica por entropia a informação (por exemplo, o código de ocupação) do nó atual utilizando a tabela de codificação selecionada.
[0503] Por exemplo, como ilustrado na figura 66 e na figura 67, na codificação, o dispositivo de codificação de dados tridimensionais per- mite a referência à informação (por exemplo, informação de ocupação) de um nó filho do primeiro nó, o nó filho sendo incluído nos nós vizinhos.
[0504] Com isso, visto que o dispositivo de codificação de dados tridimensionais permite a referência à informação mais detalhada de um nó vizinho, o dispositivo de codificação de dados tridimensionais pode aperfeiçoar a eficiência de codificação.
[0505] Por exemplo, como ilustrado na figura 53, na codificação, o dispositivo de codificação de dados tridimensionais seleciona o nó a ser referido a partir dos nós vizinhos de acordo com uma posição espacial do nó atual no nó parente.
[0506] Com isso, o dispositivo de codificação de dados tridimensio- nais pode fazer referência a um nó vizinho adequado de acordo com a posição espacial do nó atual no nó parente.
[0507] Por exemplo, o dispositivo de codificação de dados tridimen- sionais inclui um processador e uma memória, e o processador realiza o processo acima utilizando a memória.
[0508] O dispositivo de decodificação de dados tridimensionais, de acordo com a presente modalidade, decodifica informação (por exem- plo, um código de ocupação) de um nó atual incluído em uma estrutura de árvore N-ária dos pontos tridimensionais incluídos nos dados tridi- mensionais, onde N é um inteiro superior a ou igual a 2. Como ilustrado na figura 51 e na figura 52, na decodificação, o dispositivo de decodifi- cação de dados tridimensionais permite a referência à informação (por exemplo, informação de ocupação) de um primeiro nó incluído nos nós vizinhos, espacialmente vizinhos do nó atual, e proíbe a referência à informação de um segundo nó incluído nos nós vizinhos, o primeiro nó possuindo um mesmo nó parente que o nó atual, o segundo nó pos- suindo um nó parente diferente do nó parente do nó atual. De outra forma, na decodificação, o dispositivo de decodificação de dados tridi- mensionais permite a referência à informação (por exemplo, um código de ocupação) do nó parente, e proíbe a referência à informação (por exemplo, um código de ocupação) de outro nó (um nó vizinho ao nó parente) na mesma camada que o nó parente.
[0509] Com isso, o dispositivo de decodificação de dados tridimen- sionais pode aperfeiçoar a eficiência de codificação por referência à in- formação do primeiro nó incluída nos nós vizinhos, espacialmente vizi- nhos do nó atual, o primeiro nó possuindo o mesmo nó parente que o nó atual. Além disso, o dispositivo de decodificação de dados tridimen- sionais pode reduzir uma quantidade de processamento não fazendo referência à informação do segundo nó incluído nos nós vizinhos, o se- gundo nó possuindo um nó parente diferente do nó parente do nó atual. Dessa forma, o dispositivo de decodificação de dados tridimensionais pode não apenas aperfeiçoar a eficiência de codificação, mas também reduzir a quantidade de processamento.
[0510] Por exemplo, o dispositivo de decodificação de dados tridi- mensionais obtém adicionalmente, de uma sequência de bits, a infor- mação de comutação de proibição (por exemplo, limit_refer_flag ilus- trado na figura 63), indicando se proíbe a referência à informação do segundo nó. Na decodificação, o dispositivo de decodificação de dados tridimensionais seleciona se proíbe ou permite a referência à informa-
ção do segundo nó, com base na informação de comutação de proibi- ção.
[0511] Com isso, o dispositivo de decodificação de dados tridimen- sionais pode realizar adequadamente um processo de decodificação uti- lizando a informação de comutação de proibição.
[0512] Por exemplo, a informação do nó atual é a informação (por exemplo, um código de ocupação) que indica se um ponto tridimensio- nal está presente em cada um dos nós criança que pertencem ao nó atual. A informação sobre o primeiro nó é a informação (a informação de ocupação do primeiro nó) que indica se um ponto tridimensional está presente no primeiro nó. A informação do segundo nó é a informação (a informação de ocupação do segundo nó) que indica se um ponto tridi- mensional está presente no segundo nó.
[0513] Por exemplo, na decodificação, o dispositivo de codificação de dados tridimensionais seleciona uma tabela de codificação com base no fato de se o ponto tridimensional está presente no primeiro nó, e de- codifica por entropia a informação (por exemplo, o código de ocupação) do nó atual utilizando a tabela de decodificação selecionada.
[0514] Por exemplo, como ilustrado na figura 66 e na figura 67, na decodificação, o dispositivo de decodificação de dados tridimensionais permite a referência à informação (por exemplo, informação de ocupa- ção) de um nó filho do primeiro nó, o nó filho sendo incluído nos nós vizinhos.
[0515] Com isso, visto que o dispositivo de decodificação de dados tridimensionais permite a referência à informação mais detalhada de um nó vizinho, o dispositivo de decodificação de dados tridimensionais pode aperfeiçoar a eficiência de codificação.
[0516] Por exemplo, como ilustrado na figura 53, na decodificação, o dispositivo de decodificação de dados tridimensionais seleciona um nó vizinho a ser referido a partir dos nós vizinhos, de acordo com uma posição espacial do nó atual no nó parente.
[0517] Com isso, o dispositivo de decodificação de dados tridimen- sionais pode fazer referência a um nó vizinho adequado, de acordo com a posição espacial do nó atual no nó parente.
[0518] Por exemplo, o dispositivo de decodificação de dados tridi- mensionais inclui um processador e uma memória, e o processador re- aliza o processo acima utilizando a memória. Modalidade 9
[0519] Quando um dispositivo de codificação de dados tridimensio- nais codifica informação de codificação de um nó atual a ser codificado (daqui em diante referido como um nó atual), o dispositivo de codifica- ção de dados tridimensionais pode melhorar a eficiência de codificação usando informação de nó vizinho do nó atual. Por exemplo, o dispositivo de codificação de dados tridimensionais seleciona uma tabela de codi- ficação (uma tabela de probabilidade, etc.) para codificação por entropia de um código de ocupação do nó atual, usando a informação de nó vi- zinho. Aqui, informação de nó vizinho é, por exemplo, informação indi- cando se nós (nós vizinhos) avizinhando espacialmente um nó atual são nós em um estado de ocupação (nós ocupados) (se nós vizinhos inclu- írem, cada um, uma nuvem de pontos), etc.
[0520] Por exemplo, o dispositivo de codificação de dados tridimen- sionais pode selecionar uma tabela de codificação usando informação indicando o número de nós ocupados (nós ocupados vizinhos) dentre nós vizinhos. Especificamente, por exemplo, o dispositivo de codifica- ção de dados tridimensionais pode calcular o número de nós ocupados dentre seis nós vizinhos (esquerda, direita, superior, inferior, frontal, tra- seiro) avizinhando um nó atual, e selecionar uma tabela de codificação para codificação por entropia de um código de ocupação do nó atual.
[0521] Note-se que o dispositivo de codificação de dados tridimen- sionais pode não usar o número de nós vizinhos ocupados, mas um padrão dos nós vizinhos ocupados (doravante referidos como um pa- drão de ocupação de vizinho (NeighbourPattern)). A figura 68 é um dia- grama ilustrando um exemplo de nós vizinhos e um processo de acordo com a presente modalidade. Por exemplo, no exemplo mostrado na fi- gura 68, os nós vizinhos X0, Y0 e Z0 são nós ocupados, e os nós vizi- nhos X1, Y1 e Z1 não são nós ocupados (nós não ocupados). Nesse caso, o dispositivo de codificação de dados tridimensionais calcula um valor de 21 para um padrão de ocupação de vizinho através da conver- são de sequência de bits (Z1 Z0 Y1 Y0 X1 X0) = (010101) em um nú- mero decimal, e codifica um código de ocupação de um nó atual usando a vigésima primeira tabela de codificação. Note-se que o dispositivo de codificação de dados tridimensionais pode usar, como um valor de uma tabela de codificação, um outro valor calculado usando o valor de 21.
[0522] No presente documento, NeighbourPatternCodingFlag (um indicador de codificação de padrão de vizinho) é provido, o qual é um sinalizador para determinar se calcula um padrão de ocupação de vizi- nho usando informação de nó vizinho de um nó atual e se realiza codi- ficação aritmética em um código de ocupação do nó atual após uma tabela de codificação ser selecionada de acordo com um valor do pa- drão de ocupação vizinho. O dispositivo de codificação de dados tridi- mensionais anexa NeighbourPatternCodingFlag ao cabeçalho, etc., de uma sequência de bits.
[0523] Quando NeighbourPatternCodingFlag = 1, o dispositivo de codificação de dados tridimensionais calcula um padrão de ocupação de vizinho usando informação de nó vizinho do nó atual, e realiza codi- ficação aritmética em um código de ocupação do nó atual após seleção de uma tabela de codificação de acordo com um valor do padrão de ocupação de vizinho. Quando NeighbourPatternCodingFlag = 0, o dis- positivo de codificação de dados tridimensionais realiza codificação arit- mética de um código de ocupação do nó atual sem usar informação de nó vizinho do nó atual.
[0524] Por exemplo, quando NeighbourPatternCodingFlag = 1, o dispositivo de codificação de dados tridimensionais calcula um padrão de ocupação de vizinho usando os seis nós avizinhando o nó atual como ilustrado na figura 68. Nesse caso, o padrão de ocupação de vizinho pode ter qualquer valor de 0 a 63. Sendo assim, o dispositivo de codifi- cação de dados tridimensionais realiza codificação aritmética de um có- digo de ocupação do nó atual após seleção de uma tabela de codifica- ção de um total de 64 tabelas de codificação.
[0525] Por exemplo, no exemplo mostrado na figura 68, o padrão de ocupação de vizinho tem um valor de 21, e o dispositivo de codifica- ção de dados tridimensionais codifica por entropia um código de ocupa- ção do nó atual usando a vigésima primeira tabela de codificação. Note- se que o dispositivo de codificação de dados tridimensionais pode usar uma tabela de codificação tendo um número de índice calculado a partir do valor de 21.
[0526] Além disso, por exemplo, quando NeighbourPatternCoding- Flag = 0, o dispositivo de codificação de dados tridimensionais deter- mina uma tabela de codificação sem usar um valor da informação do nó vizinho. Por exemplo, supondo que um padrão de ocupação de vizinho tenha um valor de 0, o dispositivo de codificação de dados tridimensio- nais determina uma tabela de codificação sem usar um valor de infor- mação de nó vizinho e realiza codificação aritmética em um código de ocupação do nó atual. Em outras palavras, o dispositivo de codificação de dados tridimensionais configura o padrão de ocupação de nó vizinho = 0 e usa a tabela de codificação zero. Colocando de outra forma, o dispositivo de codificação de dados tridimensionais usa uma tabela de codificação predeterminada.
[0527] Como declarado acima, o dispositivo de codificação de da-
dos tridimensionais determina se calcula um padrão de ocupação vizi- nho e se realiza codificação após seleção de uma tabela de codificação de acordo com o padrão de ocupação vizinho calculado, de acordo com um valor de NeighbourPatternCodingFlag. Desta maneira, o dispositivo de codificação de dados tridimensionais pode obter um equilíbrio entre a eficiência de codificação e uma redução na quantidade de processa- mento.
[0528] No presente documento, exemplos de um modo para codifi- cação de um nó atual podem incluir um modo para um nó normal (tam- bém referido como um modo normal) em que um nó é dividido mais em um modo para um nó terminado antecipadamente (também referido como um modo de codificação direto) em que codificação usando uma de posição de pontos tridimensionais em um nó são codifi- cadas diretamente.
[0529] Por exemplo, quando o número de nuvens de pontos em um nó atual é menos do que ou igual a um valor limiar A, o dispositivo de codificação de dados tridimensionais configura um nó atual para um nó o número de nuvens de pontos em um nó parente é menos do que ou igual a um valor limiar B, o dispositivo de codificação de dados tridimensionais configura um nó atual para um nó terminado antecipado pontos incluído em um nó vizinho é menos do que ou igual a um valor limiar C, o dispositivo de codificação de dados tridimensionais configura um nó atual para um nó terminal antecipado e para a divisão de octree.
[0530] Como declarado acima, o dispositivo de codificação de da- dos tridimensionais pode determinar se o nó atual é um nó terminal an- tecipado usando o número de nuvens de pontos incluído no nó atual, no é determinado ser o nó terminal antecipado; e realiza codificação não ser o nó terminal antecipado. Dessa maneira, quando o nú- mero das nuvens de pontos incluído no nó atual, no nó parente ou no nó vizinho é reduzido, o dispositivo de codificação de dados tridimensi- onais pode reduzir um tempo de processamento parando a divisão de que para um nó terminal antecipado, o dispositivo de codificação de dados tridimensionais pode codificar por entropia cada uma das partes de informação de posição tridimensional de nuvens de pontos incluídas no nó.
[0531] A figura 69 é um fluxograma de um processo de codificação de dados tridimensionais de acordo com a presente modalidade. Pri- meiro, o dispositivo de codificação de dados tridimensionais determina se a condição I que um nó atual é configurado para um nó terminal an- tecipado é satisfeita (S4401). Em outras palavras, essa determinação é para determinar se há uma possibilidade de que o nó atual seja codifi- cado como um nó terminal antecipado, isto é, determinar se um nó ter- minado antecipado é útil.
[0532] Em seguida, quando a condição I é verdadeira (Sim em S4401), o dispositivo de codificação de dados tridimensionais determina se a condição J que o nó atual é um nó terminal antecipado é satisfeita (S4402). Em outras palavras, essa determinação é para determinar se o nó atual deve ser codificado como um no terminado antecipado, isto é, determinar se um nó terminal antecipado deve ser usado.
[0533] Então, quando a condição J é verdadeira (SIM em S4402), o dispositivo de codificação de dados tridimensionais configura early_ter- minated_node_flag (um sinalizador de nó terminal antecipado) para 1 e codifica early_terminated_node_flag (S4403). Depois disso, o disposi- tivo de codificação de dados tridimensionais codifica diretamente partes de informação de posição de pontos tridimensionais incluídas no nó atual (S4404). Colocando de outra forma, o dispositivo de codificação de dados tridimensionais configura o nó atual para o nó terminal anteci- pado.
[0534] Em contraste, quando a condição J é falsa (NÃO em S4402), o dispositivo de codificação de dados tridimensionais configura early_terminated_node_flag para 0 e codifica early_termina- ted_node_flag (S4405). Em seguida, o dispositivo de codificação de da- dos tridimensionais configura o nó atual para um nó normal e continua
[0535] Além disso, quando a condição I é falsa (NÃO em S4401), o dispositivo de codificação de dados tridimensionais configura o nó atual para um nó normal e continua a codificação codificar early_terminated_node_flag (S4406).
[0536] Por exemplo, a condição J inclui uma condição que o número de pontos tridimensionais em um nó atual é menos do que ou igual a um valor limiar (por exemplo, um valor de 2). Por exemplo, quando o número de pontos tridimensionais em um nó atual é menos do que ou igual a um valor limiar, o dispositivo de codificação de dados tridimensi- onais determina que o nó atual é um nó terminal antecipado; e quando o número dos pontos tridimensionais no nó atual não é menos do que ou igual ao valor limiar, o dispositivo de codificação de dados tridimen- sionais determina que o nó atual não é um nó terminal antecipado.
[0537] Ainda, por exemplo, a condição I inclui uma condição que uma camada à qual um nó atual pertence é maior do que ou igual a uma também incluir uma condição que uma camada é maior para um nó atual do que para um no tendo uma folha (a camada mais inferior) (por exemplo, um nó atual inclui um espaço tendo pelo menos um certo tamanho).
[0538] A condição I pode também inclui uma condição com relação à informação de ocupação em nós (nós irmãos) de um nó atual que estão incluídos em um nó parente ou informação de ocupação em nós irmãos do nó parente. Em outras palavras, o dispositivo de codificação de dados tridimensionais pode determinar se há uma possibilidade que o nó atual seja configurado para um nó terminado antecipado, com base na informação de ocupação nos nós irmãos ou a informação de ocupa- ção nos nós irmãos do nó parente, etc. Por exemplo, o dispositivo de codificação de dados tridimensionais conta o número de nós ocupados dentre nós irmãos no mesmo nó parente que um nó atual. A condição I inclui uma condição que o valor obtido pela contagem é menos do que ou igual a um valor predeterminado. Alternativamente, o dispositivo de codificação de dados tridimensionais conta o número de nós ocupados dentre nós irmãos de um nó parente de um nó atual. A condição I inclui uma condição que o valor obtido pela contagem é menos do que ou igual a um valor predeterminado.
[0539] Como declarado acima, o dispositivo de codificação de da- dos tridimensionais determina de antemão se há uma possibilidade que o nó atual seja configurado para um nó terminal antecipado, usando a nós irmãos do nó atual ou a informação de ocupação nos nós irmãos do nó parente, etc. Quando há a possibilidade, o dispositivo de codifica- ção de dados tridimensionais codifica early_terminated_node_flag; e quando não há a possibilidade, o dispositivo de codificação de dados tridimensionais não codifica early_terminated_node_flag. Por essa ra- zão, o dispositivo de codificação de dados tridimensionais pode não só reduzir a sobrecarga, mas também realizar codificação enquanto sele- cionando um nó terminal antecipado adaptativamente.
[0540] Além disso, o dispositivo de codificação de dados tridimensi-
onais pode prover EarlyTerminatedCodingFlag que é um sinalizador in- dicando se realiza codificação usando um nó terminal antecipado (o modo de codificação direto), e o dispositivo de codificação de dados tri- dimensionais pode anexar o indicador a um cabeçalho, etc.
[0541] A condição I pode incluir também uma condição que Ear- lyTerminatedCodingFlag = 1 é satisfeita. Ao prover um mecanismo para seleção se usar um nó terminal antecipado (o modo de codificação di- reto) de acordo com um valor de
[0542] Ainda, o dispositivo de codificação de dados tridimensionais pode calcular um padrão de ocupação vizinho de um nó atual, e a con- dição I pode incluir uma condição que o padrão de ocupação de vizinho = 0 é satisfeita. A partir do acima, isso aumenta a probabilidade que um nó terminal antecipado seja selecionado quando um nó vizinho está não ocupado, isto é, quando os pontos tridimensionais estão esparsos. Desta maneira, o dispositivo de codificação de dados tridimensionais pode melhorar a eficiência de codificação ao selecionar eficientemente o nó terminado antecipado.
[0543] A figura 70 é um fluxograma de um processo de codificação de dados tridimensionais (um processo de determinação de nó termi- nado antecipado) realizado pelo dispositivo de codificação de dados tri- dimensionais de acordo com a presente modalidade. O dispositivo de codificação de dados tridimensionais usa NeighbourPatternCodingFlag e EarlyTerminatedCodingFlag.
[0544] Primeiro, o dispositivo de codificação de dados tridimensio- nais determina se NeighbourPatternCodingFlag é 1 (S4411). Neigh- bourPatternCodingFlag é gerado através do, por exemplo, dispositivo de codificação de dados tridimensionais. Por exemplo, o dispositivo de codificação de dados tridimensionais determina um valor de Neighbour- PatternCodingFlag, com base em um modo de codificação especificado externamente ou pontos tridimensionais registrados.
[0545] Quando NeighbourPatternCodingFlag = 1 (SIM em S4411), o dispositivo de codificação de dados tridimensionais calcula um padrão de ocupação vizinho de um nó atual (S4412). Por exemplo, o dispositivo de codificação de dados tridimensionais usa o padrão de ocupação de vizinho calculado na seleção de uma tabela de codificação para realiza- ção de codificação aritmética de um código de ocupação.
[0546] Em contraste, quando NeighbourPatternCodingFlag = 0 (NÃO em S4411), o dispositivo de codificação de dados tridimensionais configura um valor de um padrão de ocupação de vizinho para 0 sem calcular o padrão de ocupação de vizinho (S4413).
[0547] Deve ser notado que o dispositivo de codificação de dados tridimensionais pode reconfigurar um padrão de ocupação vizinho para um valor de 0 e atualizar o valor do padrão de ocupação vizinho quando NeighbourPatternCodingFlag = 1.
[0548] Em seguida, o dispositivo de codificação de dados tridimen- sionais determina se a condição I é satisfeita (S4414). Por exemplo, quando EarlyTerminatedCodingFlag = 1, o dispositivo de codificação de dados tridimensionais pode determinar se há uma possibilidade que o nó atual seja configurado para um nó terminal antecipado, usando o va- lor do padrão de ocupação vizinho configurado. Em outras palavras, a condição I pode incluir uma condição que o padrão de ocupação de vi- zinho configurado é 0.
[0549] Colocando de outra forma, a condição I também pode incluir uma condição que EarlyTerminatedCodingFlag = 1 é satisfeita. A condi- ção I pode incluir uma condição que o padrão de ocupação de vizinho = 0 é satisfeita. Por exemplo, quando EarlyTerminatedCodingFlag = 1 e o padrão de ocupação de vizinho = 0, a condição I pode ser verdadeira; e nos outros casos, a condição I pode ser falsa.
[0550] Como uma consequência, quando NeighbourPatternCoding- Flag = 1, o dispositivo de codificação de dados tridimensionais pode usar também o padrão de ocupação de vizinho calculado e configurado para selecionar uma tabela de codificação na determinação de um nó terminado antecipado (condição I). Isso torna possível reduzir uma quantidade de processamento para recalcular um padrão de ocupação de vizinho. Além disso, quando NeighbourPatternCodingFlag = 0, ao configurar o padrão de ocupação de vizinho = 0, o dispositivo de codifi- cação de dados tridimensionais pode determinar que pelo menos uma das condições incluídas na condição I é satisfeita. Sendo assim, uma vez que o dispositivo de codificação de dados tridimensionais não pre- cisa calcular um padrão de ocupação de vizinho separadamente, o dis- positivo de codificação de dados tridimensionais pode reduzir a quanti- dade de processamento.
[0551] Além disso, por exemplo, a condição I pode incluir uma con- dição que uma camada à qual um nó atual pertence é maior do que ou igual a uma camada predet I pode também incluir uma condição que uma camada é maior para um nó atual do que para um nó tendo uma folha (a camada mais inferior) (por exemplo, um nó atual inclui um espaço tendo pelo menos um certo tamanho).
[0552] Ainda, a condição I pode incluir uma condição com relação à informação de ocupação em nós (nós irmãos) de um nó atual que estão incluídos em um nó parente ou informação de ocupação em nós irmãos do nó parente. Em outras palavras, o dispositivo de codificação de da- dos tridimensionais pode determinar se há uma possibilidade que o nó atual seja configurado para um nó terminal antecipado, com base na informação de ocupação nos nós irmãos ou na informação de ocupação nos nós irmãos do nó parente, etc. Por exemplo, o dispositivo de codifi- cação de dados tridimensionais conta o número de nós ocupados dentre nós irmãos no mesmo nó parente que o nó atual. A condição I pode também incluir uma condição que o valor obtido pela contagem é menos do que ou igual a um valor predeterminado. Alternativamente, o dispo- sitivo de codificação de dados tridimensionais conta o número de nós ocupados dentre nós irmãos de um nó parente de um nó atual. A condi- ção I também pode incluir uma condição que o valor obtido pela conta- gem é menos do que ou igual a um valor predeterminado.
[0553] Ainda, a condição I pode incluir uma ou mais das condições mencionadas acima. No caso onde a condição I inclui duas ou mais das condições, por exemplo, quando todas das condições são satisfeitas, a condição I pode ser determinada ser satisfeita (verdadeiro); e nos outros casos, a condição I pode ser determinada não ser satisfeita (falso). Al- ternativamente, quando pelo menos uma de duas ou mais das condi- ções é satisfeita, a condição I pode ser determinada ser satisfeita (ver- dadeiro).
[0554] Deve ser observado que as etapas S4415 e S4419 são idên- ticas às etapas S4402 e S4406 mostradas na figura 69, e descrição so- breposta é omitida.
[0555] A figura 71 é um fluxograma de uma variação do processo de codificação de dados tridimensionais (o processo de determinação de nó terminado antecipadamente) realizado pelo dispositivo de codifi- cação de dados tridimensionais de acordo com a presente modalidade. O processo ilustrado na figura 71 difere do processo ilustrado na figura 70 pelo fato que a etapa S4411 é substituída com a etapa S4411A.
[0556] O dispositivo de codificação de dados tridimensionais deter- mina se pelo menos um NeighbourPatternCodingFlag = 1 ou EarlyTer- minatedCodingFlag = 1 for satisfeita (S4411A). NeighbourPatternCo- dingFlag e EarlyTerminatedCodingFlag são gerados através do, por exemplo, dispositivo de codificação de dados tridimensionais. Por exemplo, o dispositivo de codificação de dados tridimensionais deter- mina valores de NeighbourPatternCodingFlag e EarlyTerminatedCo- dingFlag, com base em um modo de codificação especificado externa- mente ou pontos tridimensionais registrados.
[0557] Quando pelo menos uma de NeighbourPatternCodingFlag = 1 ou EarlyTerminatedCodingFlag = 1 é satisfeita (SIM em S4411A), o dispositivo de codificação de dados tridimensionais calcula um padrão de ocupação de vizinho de um nó atual e configura um valor para o pa- drão de ocupação de vizinho (S4412). Quando nem NeighbourPattern- CodingFlag = 1 nem EarlyTerminatedCodingFlag = 1 é satisfeita (NÃO S4411A), o dispositivo de codificação de dados tridimensionais confi- gura um valor de um padrão de ocupação de vizinho para 0 sem calcular o padrão de ocupação de vizinho (S4413).
[0558] Nota-se que o dispositivo de codificação de dados tridimen- sionais pode reconfigurar um padrão de ocupação de vizinho para um valor de 0 e atualizar o valor do padrão de ocupação de vizinho quando NeighbourPatternCodingFlag = 1 ou EarlyTerminatedCodingFlag = 1. Note-se que etapas subsequentes são as mesmas que na figura 70.
[0559] Em outras palavras, quando EarlyTerminatedCodingFlag = 1, o dispositivo de codificação de dados tridimensionais pode determinar se há uma possibilidade que o nó atual seja configurado para um nó terminado antecipado, usando o valor do padrão de ocupação de vizinho configurado. Em outras palavras, a condição I pode incluir uma condição que o padrão de ocupação de vizinho configurado é 0.
[0560] Como resultado, quando NeighbourPatternCodingFlag = 1 ou EarlyTerminatedCodingFlag = 1, o dispositivo de codificação de da- dos tridimensionais pode calcular um padrão de ocupação de vizinho do nó atual, e determina se há uma possibilidade que o nó atual seja um nó terminado precoce, usando um valor do padrão de ocupação vizinho calculado. Desta maneira, uma vez que o dispositivo de codificação de dados tridimensionais pode apropriadamente selecionar um nó terminal antecipado, o dispositivo de codificação de dados tridimensionais pode melhorar a eficiência de codificação.
[0561] O que segue descreve um processo realizado por um dispo- sitivo de decodificação de dados tridimensionais de acordo com a pre- sente modalidade. A figura 72 é um fluxograma de um processo de de- codificação de dados tridimensionais (um processo de determinação de nó terminado antecipado) realizado pelo dispositivo de decodificação de dados tridimensionais de acordo com a presente modalidade.
[0562] Primeiro, o dispositivo de decodificação de dados tridimensi- onais decodifica NeighbourPatternCodingFlag a partir do cabeçalho de uma sequência de bits (S4421). Em seguida, o dispositivo de decodifi- cação de dados tridimensionais decodifica EarlyTerminatedCodingFlag a partir do cabeçalho da sequência de bits (S4422).
[0563] Então, o dispositivo de decodificação de dados tridimensio- nais determina se NeighbourPatternCodingFlag decodificado é 1 (S4423).
[0564] Quando NeighbourPatternCodingFlag é 1 (SIM em S4423), o dispositivo de decodificação de dados tridimensionais calcula um pa- drão de ocupação de vizinho de um nó atual (S4424). Note-se que o dispositivo de decodificação de dados tridimensionais pode usar o pa- drão de ocupação de vizinho calculado em seleção de uma tabela de codificação para realização de codificação aritmética em um código de ocupação.
[0565] Quando NeighbourPatternCodingFlag é 0 (NO in S4423), o dispositivo de decodificação de dados tridimensionais configura um pa- drão de ocupação de vizinho para 0 (S4425). Note-se que o dispositivo de decodificação de dados tridimensionais pode reconfigurar um padrão de ocupação de vizinho para um valor de 0 e atualizar o valor do padrão de ocupação de vizinho quando NeighbourPatternCodingFlag = 1.
[0566] Depois disso, o dispositivo de decodificação de dados tridi- mensionais determina se a condição I é verdadeira (S4426). Note-se que os detalhes para essa etapa são iguais àqueles da etapa S4414 realizada pelo dispositivo de codificação de dados tridimensionais.
[0567] Quando a condição I é verdadeira (SIM em S4426), o dispo- sitivo de decodificação de dados tridimensionais decodifica early_termi- nated_node_flag a partir da sequência de bits (S4427). Em seguida, o dispositivo de decodificação de dados tridimensionais determina se early_terminated_node_flag é 1 (S4428).
[0568] Quando early_terminated_node_flag é 1 (SIM em S4428), o dispositivo de decodificação de dados tridimensionais decodifica partes de informação de posição de pontos tridimensionais no nó atual (S4429). Colocado de outra forma, o dispositivo de decodificação de da- dos tridimensionais configura o nó atual para um nó terminal antecipado. Quando early_terminated_node_flag é 1 (NÃO em S4428), o dispositivo de codificação de dados tridimensionais configura o nó atual para um
[0569] Além disso, quando a condição I é falsa (NÃO em S4426), o dispositivo de decodificação de dados tridimensionais configura o nó atual para um nó normal e continua a decodificação usando divisão de de bits (S4430).
[0570] A figura 73 é um fluxograma de uma variação do processo de decodificação de dados tridimensionais (o processo de determinação de nó terminal antecipado) realizado através do dispositivo de decodifi- cação de dados tridimensionais de acordo com a presente modalidade. O processo ilustrado na figura 73 diferente do processo ilustrado na fi- gura 72 pelo fato que a etapa S4423 é substituída com a etapa S4423A.
[0571] O dispositivo de decodificação de dados tridimensionais de- termina se pelo menos uma de NeighbourPatternCodingFlag = 1 ou Ear- lyTerminatedCodingFlag = 1 é satisfeita (S4423A).
[0572] Quando pelo menos uma de NeighbourPatternCodingFlag = 1 ou EarlyTerminatedCodingFlag = 1 é satisfeita (SIM em S4423A), o dispositivo de decodificação de dados tridimensionais calcula um pa- drão de ocupação de vizinho de um nó atual (S4424). Quando nem NeighbourPatternCodingFlag = 1 nem EarlyTerminatedCodingFlag = 1 é satisfeita (Não em S4423A), o dispositivo de decodificação de dados tridimensionais configura um valor de um padrão de ocupação de vizi- nho para 0 sem calcular o padrão de ocupação de vizinho (S4425).
[0573] Note-se que o dispositivo de decodificação de dados tridi- mensionais pode reconfigurar um padrão de ocupação de vizinho para um valor de 0 e atualizar o valor do padrão de ocupação de vizinho quando NeighbourPatternCodingFlag = 1 ou EarlyTerminatedCoding- Flag = 1. Note-se que etapas subsequentes são iguais à da figura 72.
[0574] O que segue descreve um exemplo de uma sintaxe de uma sequência de bits gerada atraves do dispositivo de codificação de dados tridimensionais de acordo com a presente modalidade. A figura 74 é um diagrama ilustrando um exemplo de uma sintaxe de pc_header incluído na sequência de bits. pc_header() é, por exemplo, informação de cabe- çalho de pontos tridimensionais registrados. Em outras palavras, infor- mação incluída em pc_header() é usada em comum para pontos tridi- mensionais (nós).
[0575] pc_header() inclui NeighbourPatternCodingFlag (um indica- dor de codificação de padrão de vizinho) e EarlyTerminatedCodingFlag (um indicador de codificação terminada antecipada).
[0576] NeighbourPatternCodingFlag é informação indicando se uma tabela de codificação para realização de codificação aritmética em um código de ocupação deve ser selecionada usando informação de nó vizinho (um padrão de ocupação de vizinho). Por exemplo, Neighbour- PatternCodingFlag = 1 indica que uma tabela de codificação deve ser selecionada usando informação de nó vizinho, e NeighbourPatternCo- dingFlag = 0 indica que a tabela de codificação não deve ser selecio- nada usando informação de nó vizinho.
[0577] EarlyTerminatedCodingFlag é informação indicando se um nó terminal antecipado (o modo de codificação direta) deve ser usado (é útil). Por exemplo, EarlyTerminatedCodingFlag = 1 indica que um nó terminal antecipado deve ser usado e EarlyTerminatedCodingFlag = 0 indica que um nó terminado antecipado não deve ser usado.
[0578] A figura 75 é um diagrama ilustrando um exemplo de uma sintaxe de informação de nó (nó(profundidade, índice)). Essa informa- cada nó. Informação de nó inclui occupancy_code (um código de ocupação), early_terminated_node_flag (um indicador de nó terminado antecipado) e coordinate_of_3Dpoint (coordenadas tridimensionais).
[0579] occupancy_code é informação indicando se um nó filho de um nó é ocupado. O dispositivo de codificação de dados tridimensionais pode selecionar uma tabela de codificação de acordo com um valor de NeighbourPatternCodingFlag e realizar codificação aritmética em occu- pancy_code.
[0580] early_terminated_node_flag é informação indicando se um nó é um nó terminado antecipado. Por exemplo, early_termina- ted_node_flag = 1 indica que um nó é um nó terminado antecipado, e early_terminated_node_flag = 0 indica que um nó não é um nó termi- nado antecipado. Note-se que quando early_terminated_node_flag de um nó atual não é codificado em uma sequência de bits, o dispositivo de decodificação de dados tridimensionais pode estimar um valor de early_terminated_node_flag do nó atual como 0.
[0581] coordinate_of_3Dpoint é uma informação de posição de uma nuvem de pontos incluída em um nó quando o nó é um nó terminado antecipado. Note-se que quando um nó inclui nuvens de pontos, coor- dinate_of_3Dpoint pode incluir informação de posição de cada uma das nuvens de pontos.
[0582] Note-se que o dispositivo de codificação de dados tridimen- sionais pode especificar um valor de NeighbourPatternCodingFlag ou EarlyTerminatedCodingFlag de acordo com padrões ou um perfil ou ní- vel de padrões, etc., sem anexar NeighbourPatternCodingFlag ou Ear- lyTerminatedCodingFlag a um cabeçalho. Sendo assim, o dispositivo de decodificação de dados tridimensionais pode decodificar uma sequên- cia de bits corretamente através da determinação do valor de Neigh- bourPatternCodingFlag ou EarlyTerminatedCodingFlag através de refe- rência à informação de padrões incluída na sequência de bits.
[0583] Além disso, o dispositivo de codificação de dados tridimensi- onais pode codificar por entropia pelo menos um de NeighbourPattern- CodingFlag, EarlyTerminatedCodingFlag, early_terminated_node_flag ou coordinate_of_3Dpoint. Por exemplo, o dispositivo de codificação de dados tridimensionais binariza cada valor e realiza codificação aritmé- tica no valor.
[0584] na presente modalidade, a presente invenção não é necessa- riamente limitada a essa. O procedimento mencionado acima pode ser aplicado a uma estrutura de árvore N-ária tal como um quadtree ou um hexadecatree, ou outras estruturas, onde N é um inteiro maior do que ou igual a 2.
[0585] O que segue descreve um exemplo de configuração do dis- positivo de codificação de dados tridimensionais de acordo com a pre- sente modalidade. A figura 76 é um diagrama em blocos de dispositivo de codificação de dados tridimensionais 4400 de acordo com a presente modalidade. O dispositivo de codificação de dados tridimensionais 4400 seletor de tabela de codificação 4403 e codificador por entropia
4404.
[0586] partir de pontos tridimensionais registrados (uma nuvem de pontos), e que determinar se um nó atual é um nó terminal antecipado usando nó terminal antecipado; e continuar codificação gerador de de bits um indicador (early_terrminated_node_flag) indicando se cada nó é um nó terminal antecipado. Portanto, o dispositivo de decodificação de dados tridimen- sionais pode determinar corretamente se o nó é um nó terminado ante- cipado.
[0587] A calculadora de informação de geometria 4402 obtém infor- mação indicando se nós vizinhos do nó atual estão ocupados, e calcula um padrão de ocupação de nó vizinho com base na informação obtida. Por exemplo, calculadora de informação de geometria 4402 calcula um padrão de ocupação de vizinho usando o método ilustrado na figura 68, etc. Ainda, a calculadora de informação de geometria 4402 pode calcu- lar um padrão de ocupação de vizinho a partir de um código de ocupa- ção de um nó parente ao qual o nó atual pertence. Ainda, a calculadora de informação de geometria 4402 pode armazenar nós codificados em uma lista e procurar na lista nós vizinhos. Note-se que a calculadora de informação de geometria 4402 pode selecionar nós vizinhos de acordo com uma posição do nó atual no nó parente. Além disso, a calculadora de informação de geometria 4402 pode selecionar se calcula um padrão de ocupação de vizinho de acordo com os valores de NeighbourPatter- nCodingFlag e EarlyTerminatedCodingFlag.
[0588] O seletor de tabela de codificação 4403 seleciona uma ta- bela de codificação para codificação por entropia do nó atual usando a informação de ocupação (um padrão de ocupação de vizinho) nos nós vizinhos calculada pela calculadora de informação de geometria 4402. Por exemplo, o seletor de tabela de codificação 4403 seleciona uma tabela de codificação tendo um número de índice calculado a partir de um valor de um padrão de ocupação de vizinho.
[0589] O codificador por entropia 4404 gera uma sequência de bits através de codificação por entropia de um código de ocupação do nó atual usando a tabela de codificação selecionada tendo o número de índice. O codificador por entropia 4404 pode anexar informação da ta- bela de codificação selecionada à sequência de bits.
[0590] A seguir é descrito um exemplo de configuração do disposi- tivo de decodificação de dados tridimensionais de acordo com a pre- sente modalidade. A figura 77 é um diagrama em blocos de dispositivo de decodificação de dados tridimensionais 4410 de acordo com a pre- sente modalidade. O dispositivo de decodificação de dados tridimensio- 4412, seletor de tabela de codificação e decodificador por en- tropia 4414.
[0591] usando, por exemplo, informação de cabeçalho de uma sequência de bits. Por exemplo, o gera um espaço grande (um nó raiz) usando o tamanho de um espaço ao longo das direções de eixo x, eixo y e eixo z anexas à apensas à informação de cabeçalho, e gera uma A0 a A7) dividindo o espaço em dois ao longo de cada uma das direções de eixo x, eixo y e eixo z. Ainda, os nós A0 a A7 são configurados como um nó atual em sequência.
[0592] Note-se que quando um valor de EarlyTerminatedCoding- Flag obtido através da decodificação de um cabeçalho é 1, o gerador de nó terminado ante- o nó atual é o nó terminado antecipado; e continuar a decodifi- Ainda, o gerador d indicando se cada nó é um nó terminal antecipado.
[0593] A calculadora de informação de geometria 4412 obtém infor- mação indicando se nós vizinhos do nó atual estão ocupados, e calcula um padrão de ocupação de vizinho com base na informação obtida. Por exemplo, a calculadora de informação de geometria 4412 pode calcular um padrão de ocupação de vizinho usando o método ilustrado na figura 68, etc. Ainda, a calculadora de informação de geometria 4412 pode calcular a informação de ocupação nos nós vizinho a partir de um código de ocupação de um nó parente ao qual o nó atual pertence. Ainda, a calculadora de informação de geometria 4412 pode armazenar nós de- codificados em uma lista e buscar na lista um nó vizinho. Note-se que a calculadora de informação de geometria 4412 pode selecionar um no vizinho de acordo com uma posição do nó atual no nó parente. Além disso, a calculadora de informação de geometria 4412 pode selecionar se calcula um padrão de ocupação de vizinho de acordo com valores de NeighbourPatternCodingFlag e EarlyTerminatedCodingFlag obtidos através da decodificação do cabeçalho.
[0594] O seletor de tabela de codificação 4413 seleciona uma ta- bela de codificação para decodificação por entropia do nó atual usando a informação de ocupação (um padrão de ocupação de vizinho) nos nós vizinhos calculada através da calculadora de informação de geometria
4412. Por exemplo, o dispositivo de decodificação de dados tridimensi- onais seleciona uma tabela de codificação tendo um número de índice calculado a partir de um valor de um padrão de ocupação de vizinho.
[0595] O decodificador por entropia 4414 gera pontos tridimensio- nais (uma nuvem de pontos) através de decodificação por entropia de um código de ocupação do nó atual usando a tabela de codificação se- lecionada. O decodificador por entropia 4414 pode obter informação in- dicando que a tabela de codificação selecionada da sequência de bits através da realização de decodificação, e decodifica por entropia o có- digo de ocupação do nó atual usando a tabela de codificação indicada pela informação.
[0596] Cada bit de um código de ocupação (8 bits) incluído em uma sequência de bit indica se um correspondente de oito espaços A peque- nos (nó A0 até nó A7) inclui uma nuvem de pontos. Além disso, o dis- o nó A0 do espaço pequeno em oito espaços B pequenos (nó B0 até nó B7), e calcula informação indicando se cada nó de espaços B pequenos inclui uma nuvem de pontos, através da decodificação de um código de ocupação. Como declarado acima, o dispositivo de decodifi- cação de dados tridimensionais decodifica um código de ocupação de espaços pequenos. Note-se que quando um nó atual é um nó termi- nal antecipado, o dispositivo de decodificação de dados tridimensionais pode decodificar diretamente informação tridimensional codificada em uma sequência de bit
[0597] O que segue descreve variações do processo de codificação de dados tridimensionais e do processo de decodificação de dados tri- dimensionais (o processo de determinação de nó terminal antecipado).
[0598] Um método de cálculo de um padrão de ocupação vizinho de um nó atual não é limitado a um método de uso da informação de ocu- pação nos seis nós vizinhos ilustrados na figura 68, etc., e o método pode ser um outro método. Por exemplo, o dispositivo de codificação de dados tridimensionais pode calcular um padrão de ocupação de vizinho através de referência a nós vizinhos (nós irmãos) de um nó atual em um nó parente. Por exemplo, o dispositivo de codificação de dados tridimen- sionais pode calcular um padrão de ocupação de vizinho incluindo uma posição de um nó atual em um nó parente e informação de ocupação nos nós vizinhos no nó parente. Quando seis nós vizinhos são usados, informação sobre nós vizinhos tendo um nó parente diferente de um nó atual é usada. Quando três nós vizinhos são usados, informação sobre nós vizinhos tendo um nó parente diferente de um nó atual não é usada. Portanto, uma vez que o dispositivo de codificação de dados tridimensi- onais pode calcular um padrão de ocupação de vizinho através de refe- rência a um código de ocupação de um nó parente, o dispositivo de codificação de dados tridimensionais pode reduzir a quantidade de pro- cessamento.
[0599] Além disso, o dispositivo de codificação de dados tridimensi- onais pode comutar adaptativamente entre o método de uso de seis nós vizinhos (o método de referência a nós vizinhos tendo um nó parente diferente de um nó atual) e o método de uso de três nós vizinhos (o método de não se referir a nós vizinhos tendo um nó parente diferente de um nó atual). Por exemplo, para determinação de seleção de uma tabela de codificação para realização de codificação aritmética em um código de ocupação, o dispositivo de codificação de dados tridimensio- nais calcula padrão de ocupação de nó vizinho A usando o método de uso dos seis nós vizinhos. Ainda, para determinação de uma possibili- dade de um nó terminado antecipado (condição I), o dispositivo de co- dificação de dados tridimensionais calcula padrão de ocupação de vizi- nho B usando o método de uso dos três nós vizinhos. Note-se que o dispositivo de codificação de dados tridimensionais pode usar o método de uso dos três nós vizinhos para determinação de seleção de uma ta- bela de codificação, e usar o método de uso dos seis nós vizinhos para determinação de uma possibilidade de um nó terminal antecipado (con- dição I). Como declarado acima, o dispositivo de codificação de dados tridimensionais pode controlar um equilíbrio entre a eficiência de codifi- cação e a quantidade de processamento comutando adaptativamente entre os métodos de cálculo de um padrão de ocupação de vizinho.
[0600] A figura 78 é um fluxograma do processo de codificação de dados tridimensionais. Primeiro, o dispositivo de codificação de dados tridimensionais determina se NeighbourPatternCodingFlag é 1 (S4441).
[0601] Quando NeighbourPatternCodingFlag = 1 (YES em S4441), o dispositivo de codificação de dados tridimensionais calcula padrão A de ocupação de vizinho de um nó atual (S4442). O dispositivo de codi- ficação de dados tridimensionais pode usar padrão A de ocupação de vizinho calculado na seleção de uma tabela de codificação para realiza- ção de codificação aritmética em um modo de ocupação.
[0602] Em contraste, quando NeighbourPatternCodingFlag = 0 (NÃO em S4441), o dispositivo de codificação de dados tridimensionais configura um valor de padrão de ocupação de vizinho A para 0 sem cálculo do padrão de ocupação de vizinho A (S4443).
[0603] Em seguida, o dispositivo de codificação de dados tridimen- sionais determina se EarlyTerminatedCodingFlag é 1 (S4444).
[0604] Quando EarlyTerminatedCodingFlag = 1 (SIM em S4444), o dispositivo de codificação de dados tridimensionais calcula o padrão de ocupação de vizinho B do nó atual (S4445). O padrão de ocupação de vizinho B é usado em, por exemplo, em determinação da condição I.
[0605] Em contraste, quando EarlyTerminatedCodingFlag = 0 (NÃO em S4444), o dispositivo de codificação de dados tridimensionais confi- gura um valor de padrão de ocupação de vizinho B para 0 sem calcular o padrão de ocupação de vizinho B (S4446).
[0606] Por exemplo, o dispositivo de codificação de dados tridimen- sionais usa um método diferente em cálculo de cada padrão de ocupa- ção de vizinho A e padrão de ocupação de vizinho B. Por exemplo, o dispositivo de codificação de dados tridimensionais calcula padrão de ocupação de vizinho A usando o método de uso dos seis nós e calcula o padrão de ocupação de vizinho B usando o método usando os três nós vizinhos. Ainda, o dispositivo de decodificação de dados tridimensi- onais pode usar um método de cálculo diferente para cada um de pa- drão de ocupação de vizinho A e padrão de ocupação de vizinho B de uma maneira similar.
[0607] Note-se que o dispositivo de codificação de dados tridimen- sionais pode reconfigurar o padrão de ocupação de vizinho A para um valor de 0 e atualizar o valor de padrão de ocupação de vizinho A quando NeighbourPatternCodingFlag = 1. Além disso, o dispositivo de codificação de dados tridimensionais pode reconfigurar o padrão de ocupação de vizinho B para um valor de 0 e atualizar o valor de padrão de ocupação de vizinho B quando EarlyTerminatedCodingFlag = 1.
[0608] Então, o dispositivo de codificação de dados tridimensionais determina se a condição I é satisfeita (S4447). Os detalhes dessa etapa são iguais àqueles da etapa S4414 ilustrados na, por exemplo, figura
70. A etapa S4447, no entanto, difere da etapa S4414 pelo fato que o padrão de ocupação de vizinho B é usado como um padrão de ocupa- ção de vizinho. Para colocar de um outro modo, a condição I pode incluir uma condição que EarlyTerminatedCodingFlag = 1 é satisfeita. Ainda, a condição I pode incluir uma condição que o padrão de ocupação de vi- zinho B = 0 é satisfeito. Por exemplo, quando EarlyTerminatedCoding- Flag = 1 e o padrão de ocupação de vizinho B = 0, a condição I pode ser verdadeira; e em outros casos, a condição I pode ser falsa.
[0609] Note-se que as etapas S4448 a S4452 são idênticas às eta- pas S4415 a S4419 mostradas na figura 70, e descrição de sobreposi- ção é omitida.
[0610] A figura 79 é um fluxograma de uma variação do processo de codificação de dados tridimensionais (o processo de determinação de nó terminado antecipado) realizado através do dispositivo de codifi- cação de dados tridimensionais de acordo com a presente modalidade. O processo ilustrado na figura 79 difere do processo ilustrado na figura 78 pelo fato que as etapas S4453 e S4454 são adicionadas.
[0611] Quando EarlyTerminatedCodingFlag = 1 (SIM em S4444), o dispositivo de codificação de dados tridimensionais determina se Neigh- bourPatternCodingFlag é 1 (S4453).
[0612] Quando NeighbourPatternCodingFlag = 1 (SIM em S4453), o dispositivo de codificação de dados tridimensionais configura um valor de padrão de ocupação de vizinho B para um valor de padrão de ocu- pação de vizinho A (S4454).
[0613] Quando NeighbourPatternCodingFlag = 0 (NÃO em S4453), o dispositivo de codificação de dados tridimensionais calcula padrão de ocupação de vizinho B (S4445).
[0614] Como declarado acima, quando o dispositivo de codificação de dados tridimensionais calcula o padrão de ocupação de vizinho A, o dispositivo de codificação de dados tridimensionais sua o padrão de ocupação de vizinho A como padrão de ocupação de vizinho B. Em ou- tras palavras, o padrão de ocupação de vizinho A é usado na determi- nação da condição I. portanto, uma vez que o dispositivo de codificação de dados tridimensionais não calcula padrão de ocupação de vizinho B quando o dispositivo de codificação de dados tridimensionais calcula o padrão de ocupação de vizinho A, o dispositivo de codificação de dados tridimensionais pode reduzir a quantidade de processamento.
[0615] A figura 80 é um fluxograma de uma variação do processo de decodificação de dados tridimensionais (o processo de determinação de nó terminado antecipado) realizado pelo dispositivo de decodificação de dados tridimensionais de acordo com a presente modalidade.
[0616] Primeiro, o dispositivo de decodificação de dados tridimensi- onais decodifica NeighbourPatternCodingFlag a partir do cabeçalho de uma sequência de bits (S4461). Em seguida, o dispositivo de decodifi- cação de dados tridimensionais decodifica EarlyTerminatedCodingFlag a partir do cabeçalho da sequência de bits (S4462).
[0617] Então, o dispositivo de decodificação de dados tridimensio- nais determina se NeighbourPatternCodingFlag decodificado é 1 (S4463).
[0618] Quando NeighbourPatternCodingFlag é 1 (SIM em S4463), o dispositivo de decodificação de dados tridimensionais calcula o padrão de ocupação de vizinho A de um nó atual (S4464). Note-se que o dis- positivo de decodificação de dados tridimensionais pode usar o padrão de ocupação de vizinho calculado na seleção de uma tabela de codifi- cação para realização de codificação aritmética em um código de ocu- pação.
[0619] Quando NeighbourPatternCodingFlag é 0 (NÃO em S4463), O dispositivo de decodificação de dados tridimensionais configura o pa- drão de ocupação de vizinho A para 0 (S4465).
[0620] Depois disso, o dispositivo de codificação de dados tridimen- sionais determina se EarlyTerminatedCodingFlag é 1 (S4466).
[0621] Quando EarlyTerminatedCodingFlag = 1 (SIM em S4466), o dispositivo de decodificação de dados tridimensionais calcula o padrão de ocupação de vizinho B do nó atual (S4467). O padrão de ocupação de vizinho B é usado em, por exemplo, determinação da condição I.
[0622] Em contraste, quando EarlyTerminatedCodingFlag = 0 (NÃO em S4466), o dispositivo de decodificação de dados tridimensionais configura um valor de padrão de ocupação de vizinho B para 0 sem calcular o padrão de ocupação de vizinho B (S4468).
[0623] Por exemplo, o dispositivo de decodificação de dados tridi- mensionais usa um método diferente no cálculo de cada um do padrão de ocupação de vizinho e padrão de ocupação de vizinho B. Por exem- plo, o dispositivo de decodificação de dados tridimensionais calcula o padrão de ocupação de vizinho A usando o método de uso dos seis nós vizinho e calcula o padrão de ocupação de vizinho B usando o método de uso dos três nós vizinhos.
[0624] Note-se que o dispositivo de decodificação de dados tridi- mensionais pode reconfigurar o padrão de ocupação de vizinho A para um valor de 0 e atualizar o valor de padrão de ocupação de vizinho A quando NeighbourPatternCodingFlag = 1. Além disso, o dispositivo de decodificação de dados tridimensionais pode reconfigurar o padrão de ocupação de vizinho B para um valor de O e atualizar o valor de padrão de ocupação de vizinho B quando EarlyTerminatedCodingFlag = 1.
[0625] Em seguida, o dispositivo de decodificação de dados tridi- mensionais determina se a codificação I é satisfeita (S4469). Os deta- lhes dessa etapa são iguais àqueles da etapa S4426 ilustrada na, por exemplo, figura 72. A etapa S4469, no entanto, difere da etapa S4426 pelo fato que o padrão de ocupação de vizinho B é usado como um padrão de ocupação de vizinho. Para colocar de outra maneira, a con- dição I pode incluir uma condição que EarlyTerminatedCodingFlag = 1 é satisfeita. Ainda, a condição I pode incluir uma condição que o padrão de ocupação de vizinho B = 0 é satisfeita. Por exemplo, quando Ear- lyTerminatedCodingFlag = 1 e o padrão de ocupação de vizinho B = 0, a condição I pode ser verdadeira; e nos outros casos, a condição I pode ser falsa.
[0626] Note-se que as etapas S4470 a S4473 são idênticas às eta- pas S4427 a S4430 mostradas na figura 72, e descrição de sobreposi- ção é omitida.
[0627] A figura 81 é um fluxograma de uma variação do processo de decodificação de dados tridimensionais (o processo de determinação de modo terminado antecipado) realizado através do dispositivo de de- codificação de dados tridimensionais de acordo com a presente moda- lidade. O processo ilustrado na figura 81 difere do processo ilustrado na figura 80 pelo fato que as etapas S4474 e S4475 são adicionadas.
[0628] Quando EarlyTerminatedCodingFlag = 1 (SIM em S4466), o dispositivo de decodificação de dados tridimensionais determina se NeighbourPatternCodingFlag é 1 (S4474).
[0629] Quando NeighbourPatternCodingFlag = 1 (SIM em S4474), o dispositivo de decodificação de dados tridimensionais configura um valor de padrão de ocupação de vizinho B para um valor de padrão de ocupação de vizinho A (S4475).
[0630] Quando NeighbourPatternCodingFlag = 0 (NÃO em S4474), o dispositivo de decodificação de dados tridimensionais calcula o padrão de ocupação de vizinho B (S4467).
[0631] Como declarado acima, quando o dispositivo de decodifica- ção de dados tridimensionais calcula o padrão de ocupação de vizinho A, o dispositivo de decodificação de dados tridimensionais usa padrão de ocupação de vizinho A como padrão de ocupação de vizinho B. Em outras palavras, o padrão de ocupação de vizinho A é usado na deter- minação da condição I. Portanto, uma vez que o dispositivo de decodi- ficação de dados tridimensionais não calcula o padrão de ocupação de vizinho B quando o dispositivo de decodificação de dados tridimensio- nais calcula o padrão de ocupação de vizinho A, o dispositivo de deco- dificação de dados tridimensionais pode reduzir a quantidade de pro- cessamento.
[0632] Note-se que a relação de correspondência mencionada acima entre os valores (0 ou 1) dos indicadores e os significados é um exemplo, e a relação de correspondência entre os valores dos indicado- res e os significados pode ser revertida.
[0633] Como declarado acima, o dispositivo de codificação de da- dos tridimensionais de acordo com a presente modalidade realiza o pro- cesso mostrado na figura 82.
[0634] O dispositivo de codificação de dados tridimensionais deter- mina se um primeiro indicador (por exemplo, NeighbourPatternCoding- Flag) indica um primeiro valor (por exemplo, 1) (S4481). Quando o pri- meiro indicador indica o primeiro valor (SIM em S4481), o dispositivo de codificação de dados tridimensionais cria um primeiro padrão de ocupa- ção (por exemplo, padrão de ocupação de vizinho A) indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais (S4482) (por exemplo, S4442 e S4454 na fi- gura 79).
[0635] Em seguida, o dispositivo de codificação de dados tridimen- sionais determina se a primeira codificação (por exemplo, um nó termi- nado antecipado) é útil com base no primeiro padrão de ocupação, a primeira codificação sendo para codificação de partes de informação de posição de pontos tridimensionais incluídos no nó atual sem dividir o nó atual em nós filhos (S4483) (por exemplo, S4447 na figura 79).
[0636] Quando um primeiro indicador indica um segundo valor (por exemplo, 0) diferente do primeiro valor (NÃO em S4481), o dispositivo de codificação de dados tridimensionais cria um segundo padrão de ocupação (por exemplo, padrão de ocupação de vizinho B) indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual (S4484) (por exemplo, S4445 na figura 79). Em seguida, o dispositivo de codifi- cação de dados tridimensionais determina se a primeira codificação é útil com base no segundo padrão de ocupação (S4485) (por exemplo, S4447 na figura 79).
[0637] Finalmente, o dispositivo de codificação de dados tridimen- sionais gera uma sequência de bits incluindo o primeiro indicador (S4486).
[0638] Com isso, o dispositivo de codificação de dados tridimensio- nais pode selecionar um padrão de ocupação de nós vizinhos a ser usado para determinar se a primeira ocupação é útil, de acordo com o primeiro indicador. Portanto, uma vez que é possível determinar apro- priadamente se a primeira codificação é útil, é possível melhorar a efici- ência de codificação.
[0639] Por exemplo, quando determinando que a primeira codifica- ção é útil, o dispositivo de codificação de dados tridimensionais deter- mina se a primeira codificação deve ser usada com base em uma con- dição predeterminada (por exemplo, condição J) (por exemplo, S4448 na figura 78); quando determinando que a primeira codificação deve ser usada, o dispositivo de codificação de dados tridimensionais codifica o nó atual usando a primeira codificação (por exemplo, S4450 na figura 79); e quando determinando que a primeira codificação não deve ser usada, o dispositivo de codificação de dados tridimensionais codifica o nó atual usando segunda codificação para divisão do nó atual em nós filhos (por exemplo, S4452 na figura 79). A sequência de bits inclui ainda um segundo sinalizador (por exemplo, early_terminated_node_flag) in- dicando se a primeira codificação deve ser usada.
[0640] Por exemplo, na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, o dispositivo de codificação de dados tridimensionais de- termina se a primeira codificação é útil com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um número total de nós ocupados incluídos no nó parente. Por exemplo, quando o nú- mero total dos nós ocupados incluídos no nó parente é menos do que um número predeterminado, o dispositivo de codificação de dados tridi- mensionais determina que a primeira codificação é útil; e quando o nú- mero total dos nós ocupados incluídos no nó parente é maior do que o número predeterminado, o dispositivo de codificação de dados tridimen- sionais determina que a primeira codificação não é útil.
[0641] Por exemplo, na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, o dispositivo de codificação de dados tridimensionais de- termina se a primeira codificação é útil com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um número total de nos ocupados incluídos em um nó avô do nó atual. Por exemplo, quando o número total dos nós ocupados incluídos no nó avô é menos do que um número predeterminado, o dispositivo de codificação de da- dos tridimensionais determina que a primeira codificação é útil; e quando o número total dos nós ocupados incluídos no nó avô é maior do que o número predeterminado, o dispositivo de codificação de dados tridimensionais determina que a primeira codificação não é útil.
[0642] Por exemplo, na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, o dispositivo de codificação de dados tridimensionais de- termina se a primeira codificação é útil com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) uma camada à qual o nó atual pertence. Por exemplo, quando a camada à qual o nó atual pertence é menor do que uma camada predeterminada, o disposi- tivo de codificação de dados tridimensionais determina que a primeira codificação é útil; e quando a camada à qual o nó atual pertence é maior do que a camada predeterminada, o dispositivo de codificação de dados tridimensionais determina que a primeira codificação não é útil.
[0643] Por exemplo, o dispositivo de codificação de dados tridimen- sionais inclui um processador e uma memória, e o processador realiza o processo acima usando a memória.
[0644] Além disso, o dispositivo de decodificação de dados tridi- mensionais de acordo com a presente modalidade realiza o processo mostrado na figura 83. Primeiro, o dispositivo de decodificação de dados tridimensionais obtém um primeiro indicador (por exemplo, Neighbour- PatternCodingFlag) a partir de uma sequência de bits (S4491). O dispo- sitivo de decodificação de dados tridimensionais determina se o primeiro indicador indica um primeiro valor (por exemplo, 1) (S4492).
[0645] Quando o primeiro indicador indica um primeiro valor (NÃO em S4492), o dispositivo de decodificação de dados tridimensionais cria um primeiro padrão de ocupação (por exemplo, padrão de ocupação de vizinho A) indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais (S4493) (por exemplo, S4464 e S4475 na figura 81). Em seguida, o dispositivo de decodificação de dados tridimensionais determina se primeira deco- dificação (por exemplo, um nó terminal antecipado) é útil com base no primeiro padrão de ocupação, a primeira decodificação sendo para par- tes de decodificação de informação de posição dos pontos tridimensio- nais incluídos no nó atual sem dividir o nó atual em nós filhos (S4494) (por exemplo, S4469 na figura 81).
[0646] Quando o primeiro indicador indica um segundo valor (por exemplo, 0), diferente do primeiro valor (NÃO em S4492), o dispositivo de decodificação de dados tridimensionais cria um segundo padrão de ocupação (por exemplo, padrão de ocupação de vizinho B) indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual (S4495)
(por exemplo, S4467 na figura 81). Finalmente, o dispositivo de decodi- ficação de dados tridimensionais determina se a primeira decodificação é útil com base no segundo padrão de ocupação (S4496) (por exemplo, S4496 na figura 81).
[0647] Com isso, o dispositivo de decodificação de dados tridimen- sionais pode selecionar um padrão de ocupação de nós vizinhos a ser usado para determinar se a primeira codificação é útil, de acordo com o primeiro indicador. Portanto, uma vez que é possível determinar apro- priadamente se a primeira codificação é útil, é possível melhorar a efici- ência de codificação.
[0648] Por exemplo, quando determinando que a primeira decodifi- cação é útil, o dispositivo de decodificação de dados tridimensionais ob- tém um segundo indicador indicando se a primeira decodificação deve ser usada a partir da sequência de bits (por exemplo, S4470 na figura 81); quando o segundo indicador indica que a primeira decodificação deve ser usada, o dispositivo de decodificação de dados tridimensionais decodifica o nó atual usando a primeira decodificação (por exemplo, S4472 na figura 81); e quando o segundo indicador indica que a primeira decodificação não deve ser usada, o dispositivo de decodificação de dados tridimensionais decodifica o nó atual usando segunda decodifica- ção para divisão do nó atual em nós filhos (por exemplo, S4473 na figura 81).
[0649] Por exemplo, na determinação de se a primeira decodifica- ção é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, o dispositivo de decodificação de dados tridimen- sionais determina se a primeira decodificação é útil com base (i) no pri- meiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um número total de nós ocupados incluídos no nó parente. Por exemplo, quando o número total dos nós ocupados incluídos no nó parente é me- nos do que um número predeterminado, o dispositivo de codificação de dados tridimensionais determina que a primeira codificação é útil; e quando o número total dos nós ocupados incluídos no nó parente é maior do que o número pré-determinado, o dispositivo de codificação de dados tridimensionais determina que a primeira codificação não é útil.
[0650] Por exemplo, na determinação de se a primeira decodifica- ção é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, o dispositivo de decodificação de dados tridimen- sionais determina se a primeira decodificação é útil com base (i) no pri- meiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um número total de nos ocupados incluídos em um nó avô do nó atual. Por exemplo, quando o número total dos nós ocupados incluídos no nó avô é menos do que um número predeterminado, o dispositivo de decodifi- cação de dados tridimensionais determina que a primeira decodificação é útil; e quando o número total dos nós ocupados incluídos no nó avô é maior do que o número predeterminado, o dispositivo de decodificação de dados tridimensionais determina que a primeira decodificação não é útil.
[0651] Por exemplo, na determinação de se a primeira decodifica- ção é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, o dispositivo de decodificação de dados tridimen- sionais determina se a primeira codificação é útil com base (i) no pri- meiro padrão de ocupação ou no segundo padrão de ocupação e (ii) uma camada à qual o nó atual pertence. Por exemplo, quando a camada à qual o nó atual pertence é menor do que uma camada predetermi- nada, o dispositivo de decodificação de dados tridimensionais determina que a primeira decodificação é útil; e quando a camada à qual o nó atual pertence é maior do que a camada predeterminada, o dispositivo de de- codificação de dados tridimensionais determina que a primeira decodi- ficação não é útil.
[0652] Por exemplo, o dispositivo de decodificação de dados tridi- mensionais inclui um processador e memória, e o processador realiza o processo acima usando a memória.
[0653] Um dispositivo de codificação de dados tridimensionais, um dispositivo de decodificação de dados tridimensionais e similar de acordo com a modalidade da presente descrição foram descritos acima, mas a presente descrição não é limitada a essas modalidades.
[0654] Note-se que cada um dos processadores incluídos no dispo- sitivo de codificação de dados tridimensionais, no dispositivo de decodi- ficação de dados tridimensionais e similar de acordo com as modalida- des acima é tipicamente implementado como um circuito integrado de larga escala (LSI), que é um circuito integrado (IC). Esses podem tomar a forma de chips individuais ou podem ser parcialmente ou totalmente inseridos em um único chip.
[0655] Tal IC não está limitado a um LSI, e, dessa forma, pode ser implementado como um circuito dedicado ou um processador de finali- dade geral. Alternativamente, um conjunto de porta programável em campo (FPGA) que permite a programação depois da fabricação de um LSI, ou um processador reconfigurável que permite a reconfiguração da conexão e a configuração das células de circuito dentro de um LSI, po- dem ser empregados.
[0656] Ademais, nas modalidades acima, os componentes estrutu- rais podem ser implementados como hardware dedicado ou podem ser realizados pela execução de um programa de software adequado para tais componentes estruturais. Alternativamente, os componentes estru- turais podem ser implementados por um executor de programa, tal como uma CPU, ou um processador que leia e execute o programa de sof- tware gravado em um meio de gravação, tal como um disco rígido ou uma memória semicondutora.
[0657] A presente descrição também pode ser implementada como um método de codificação de dados tridimensionais, um método de de- codificação de dados tridimensionais, ou similares, executados pelo dis- positivo de codificação de dados tridimensionais, dispositivo de decodi- ficação de dados tridimensionais, e similares.
[0658] Além disso, as divisões dos blocos funcionais ilustrados nos diagramas em bloco são meros exemplos, e, dessa forma, uma plurali- dade de blocos funcionais pode ser implementada com um único bloco funcional, ou um único bloco funcional pode ser dividido em uma plura- lidade de blocos funcionais, ou uma ou mais funções podem ser movi- das para outro bloco funcional. Além disso, as funções de uma plurali- dade de blocos funcionais possuindo funções similares podem ser pro- cessadas por hardware ou software singular de forma paralelizada ou dividida em tempo.
[0659] Além disso, a ordem de processamento da execução das etapas ilustradas nos fluxogramas é uma mera ilustração para descre- ver especificamente a presente descrição, e, dessa forma, pode ser uma ordem além da ordem ilustrada. Além disso, uma ou mais dentre as eta- pas podem ser executadas simultaneamente (em paralelo) com outra etapa.
[0660] Um dispositivo de codificação de dados tridimensionais, um dispositivo de decodificação de dados tridimensionais e similares, de acordo com um ou mais aspectos, foram descritos com base nas moda- lidades, mas a presente descrição não está limitada a essas modalida- des. Os um ou mais aspectos podem, dessa forma, incluir formas obti- das pela realização de várias modificações nas modalidades acima, que podem ser concebidas pelos versados na técnica, além das formas ob- tidas pela combinação de componentes estruturais em modalidades di- ferentes, sem se distanciar materialmente do espírito da presente des- crição. Aplicabilidade Industrial
[0661] A presente descrição é aplicável a um dispositivo de codifi- cação de dados tridimensionais e a um dispositivo de decodificação de dados tridimensionais.
Referência nos Desenhos 100, 400 dispositivo de codificação de dados tridimensionais 101, 202, 401, 501 elemento de obtenção 102, 402 determinador de região de codificação 103 divisor 104, 644 codificador 111 dados tridimensionais 112, 211, 413, 414, 511, 634 dados tridimensionais codificados 200, 500 dispositivo de decodificação de dados tridimensionais 202 determinador GOS inicial de decodificação 203 determinador de SPC de decodificação 204, 625 decodificador 212, 512, 513 dados tridimensionais decodificados 403 extrator de SWLD 404 codificador de WLD 405 codificador de SWLD 411 dados tridimensionais registrados 412 dados tridimensionais extraídos 502 analisador de cabeçalho 503 decodificador de WLD 504 decodificador de SWLD 620, 620A dispositivo de criação de dados tridimensionais 621, 641 criador de dados tridimensionais 622 determinador de faixa de solicitação 623 buscador 624, 642 receptor 626 misturador
631, 651 informação de sensor 632 primeiros dados tridimensionais 633 informação de faixa de solicitação 635 segundos dados tridimensionais 636 terceiros dados tridimensionais 640 dispositivo de transmissão de dados tridimensionais 643 extrator 645 transmissor 652 quintos dados tridimensionais 654 sextos dados tridimensionais 700 dispositivo de processamento de informação tridimen- sional 701 elemento de obtenção de mapa tridimensional 702 elemento de obtenção de dados autodetectados 703 unidade de julgamento de caso anormal 704 determinador de operação de enfrentamento 705 controlador de operação 711 mapa tridimensional 712 dados tridimensionais autodetectados 810 dispositivo de criação de dados tridimensionais 811 receptor de dados 812, 819 unidade de comunicação 813 controlador de recepção 814, 821 conversor de formato 815 sensor 816 criador de dados tridimensionais 817 sintetizador de dados tridimensionais 818 armazenador de dados tridimensionais 820 controlador de transmissão 822 transmissor de dados
831, 832, 834, 835, 836, 837 dados tridimensionais 833 informação de sensor 901 servidor 902, 902A, 902B, 902C dispositivo de cliente 1011, 1111 receptor de dados 1012, 1020, 1112, 1120 unidade de comunicação 1013, 1113 controlador de recepção 1014, 1019, 1114, 1119 conversor de formato 1015 sensor 1016, 1116 criador de dados tridimensionais 1017 processador de imagem tridimensional 1018, 1118 armazenador de dados tridimensionais 1021, 1121 controlador de transmissão 1022, 1122 transmissor de dados 1031, 1032, 1135 mapa tridimensional 1033, 1037, 1132 informação de sensor 1034, 1035, 1134 dados tridimensionais 1117 misturador de dados tridimensionais 1201 processador de compressão/decodificação de mapa tridimensional 1202 processador de compressão/decodificação de in- formação de sensor 1211 processador de decodificação de mapa tridimen- sional 1212 processador de compressão de informação de sensor 1300 dispositivo de codificação de dados tridimensio- nais 1301 divisor 1302 subtraidor
1303 transformador 1304 quantizador 1305, 1402 quantizador inverso 1306, 1403 transformador inverso 1307, 1404 somador 1308, 1405 memória de volume de referência 1309, 1406 intraprevisor 1310, 1407 memória de espaço de referência 1311, 1408 interprevisor 1312, 1409 controlador de previsão 1313 codificador por entropia 1400 dispositivo de decodificação de dados tridimensi- onais 1401 decodificador por entropia 2100 dispositivo de codificação de dados tridimensio- nais 2101, 2111 gerador de 2102, 2112 calculadora de informação de geometria 2103, 2113 seletor de tabela de codificação 2104 codificador por entropia 2110 dispositivo de decodificação de dados tridimensi- onais 2114 decodificador por entropia 4400 dispositivo de codificação de dados tridimensio- nais 4401, 4411 4402, 4412 calculadora de informação de geometria 4403, 4413 seletor de tabela de codificação 4404 codificador por entropia
4410 dispositivo de decodificação de dados tridimensi- onais 4414 decodificador por entropia

Claims (12)

REIVINDICAÇÕES
1. Método de codificação de dados tridimensionais, caracte- rizado pelo fato de que compreende: (i) quando um primeiro indicador indica um primeiro valor, criar um primeiro padrão de ocupação indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária dos pontos tridimensionais incluídos nos dados tridimensionais, e determinar se primeira codificação é útil com base no pri- meiro padrão de ocupação, a primeira codificação sendo para codifica- ção de partes de informação de posição dos pontos tridimensionais in- cluídos no nó atual sem divisão do nó atual em nós filhos; (ii) quando o primeiro indicador indica um segundo valor di- ferente do primeiro valor, criar um segundo padrão de ocupação indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual, e determinar se a primeira codificação é útil com base no se- gundo padrão de ocupação; e (iii) gerar uma sequência de bits incluindo o primeiro indicador.
2. Método de codificação de dados tridimensionais de acordo com a reivindicação 1, caracterizado pelo fato de que (i) quando a primeira decodificação é determinada ser útil, se a primeira codificação deve ser usada é determinado com base em uma condição predeterminada, (ii) quando a primeira codificação é determinada ser usada, o nó atual é codificado usando a primeira codificação, (iii) quando a primeira codificação é determinada não ser usada, o nó atual é codificado usando segunda codificação para divisão do nó atual em nós filhos, e a sequência de bits inclui ainda um segundo sinalizador indi- cando se a primeira codificação deve ser usada.
3. Método de codificação de dados tridimensionais de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira codificação é útil é determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um nú- mero total de nós ocupados incluídos no nó parente.
4. Método de codificação de dados tridimensionais de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira codificação é útil é determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um nú- mero total de nós ocupados incluídos em um nó avô do nó atual.
5. Método de codificação de dados tridimensionais de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que na determinação de se a primeira codificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupação, se a primeira codificação é útil é determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e em (ii) uma camada à qual o nó atual pertence.
6. Método de decodificação de dados tridimensionais, carac- terizado pelo fato de que compreende: (i) obter um primeiro indicador a partir de uma sequência de bits; (ii) quando o primeiro indicador indicar um primeiro valor, criar um primeiro padrão de ocupação indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente de um nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais, e determinar se a primeira decodificação é útil com base no primeiro padrão de ocupação, a primeira decodificação sendo para de- codificação de partes de informação de posição de pontos tridimensio- nais incluídos no nó atual sem divisão do nó atual em nós filhos; e (iii) quando o primeiro indicador indicar um segundo valor di- ferente do primeiro valor, criar um segundo padrão de ocupação indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual, e determinar se a primeira decodificação é útil com base no segundo padrão de ocupação.
7. Método de decodificação de dados tridimensionais de acordo com a reivindicação 6, caracterizado pelo fato de que (i) quando a primeira decodificação é determinada ser útil, um segundo indicador indicando se a primeira decodificação deve ser usada é obtido a partir da sequência de bits, (ii) quando o segundo indicador indica que a primeira de- codificação deve ser usada, o nó atual é decodificado usando a primeira decodificação, e (iii) quando o segundo indicador indicar que a primeira co- dificação não deve ser usada, o nó atual é decodificado usando segunda decodificação para divisão do nó atual em nós filhos.
8. Método de decodificação de dados tridimensionais de acordo com a reivindicação 6 ou 7, caracterizado pelo fato de que na determinação de se a primeira decodificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupa- ção, se a primeira decodificação é útil é determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) um número total de nós ocupados incluídos no nó parente.
9. Método de decodificação de dados tridimensionais de acordo com a reivindicação 6 ou 7, caracterizado pelo fato de que na determinação de se a primeira decodificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupa- ção, se a primeira decodificação é útil é determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) em um número total de nós ocupados incluídos em um nó avô do nó atual.
10. Método de decodificação de dados tridimensionais de acordo com a reivindicação 6 ou 7, caracterizado pelo fato de que na determinação de se a primeira decodificação é útil com base no primeiro padrão de ocupação ou no segundo padrão de ocupa- ção, se a primeira decodificação é útil é determinado com base (i) no primeiro padrão de ocupação ou no segundo padrão de ocupação e (ii) em uma camada à qual o nó atual pertence.
11. Dispositivo de codificação de dados tridimensionais que codifica pontos tridimensionais tendo informação de atributo, caracteri- zado pelo fato de que compreende: um processador; e memória, em que usando a memória, o processador: (i) quando um primeiro indicador indica um primeiro valor, cria um primeiro padrão de ocupação indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente do nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais, e determina se primeira codificação é útil com base no pri- meiro padrão de ocupação, a primeira codificação sendo para codifica- ção de partes de informação de posição de pontos tridimensionais in- cluídos no nó atual sem dividir o nó atual em nós filhos; (ii) quando o primeiro indicador indica um segundo valor diferente do primeiro valor, cria um segundo padrão de ocupação indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual, e determina se a primeira codificação é útil com base no se- gundo padrão de ocupação; e (iii) gera uma sequência de bits incluindo o primeiro indi- cador.
12. Dispositivo de decodificação de dados tridimensionais que decodifica pontos tridimensionais tendo informação de atributo, ca- racterizado pelo fato de que compreende: um processador; e memória, em que usando a memória, o processador: (i) quando um primeiro indicador indica um primeiro valor, cria um primeiro padrão de ocupação indicando estados de ocupação de segundos nós vizinhos incluindo um primeiro nó vizinho tendo um nó parente diferente de um nó parente do nó atual incluído em uma estrutura de árvore N-ária de pontos tridimensionais incluídos em dados tridimensionais, e determina se primeira decodificação é útil com base no primeiro padrão de ocupação, a primeira decodificação sendo para co- dificação de partes de informação de posição de pontos tridimensionais incluídos no nó atual sem dividir o nó atual em nós filhos;
(ii) quando o primeiro indicador indica um segundo valor diferente do primeiro valor, cria um segundo padrão de ocupação indicando estados de ocupação de terceiros nós vizinhos excluindo o primeiro nó vizinho tendo o nó parente diferente do nó parente do nó atual, e determina se a primeira codificação é útil com base no se- gundo padrão de ocupação.
870200152631, de 04/12/2020, pág. 6/261
870200152631, de 04/12/2020, pág. 7/261
870200152631, de 04/12/2020, pág. 8/261
870200152631, de 04/12/2020, pág. 9/261
870200152631, de 04/12/2020, pág. 10/261
870200152631, de 04/12/2020, pág. 11/261
870200152631, de 04/12/2020, pág. 12/261
870200152631, de 04/12/2020, pág. 13/261
870200152631, de 04/12/2020, pág. 14/261
870200152631, de 04/12/2020, pág. 15/261
870200152631, de 04/12/2020, pág. 16/261
870200152631, de 04/12/2020, pág. 17/261
870200152631, de 04/12/2020, pág. 18/261
870200152631, de 04/12/2020, pág. 19/261
870200152631, de 04/12/2020, pág. 20/261
870200152631, de 04/12/2020, pág. 21/261
870200152631, de 04/12/2020, pág. 22/261
870200152631, de 04/12/2020, pág. 23/261
870200152631, de 04/12/2020, pág. 24/261
870200152631, de 04/12/2020, pág. 25/261
870200152631, de 04/12/2020, pág. 26/261
870200152631, de 04/12/2020, pág. 27/261
870200152631, de 04/12/2020, pág. 28/261
870200152631, de 04/12/2020, pág. 29/261
870200152631, de 04/12/2020, pág. 30/261
870200152631, de 04/12/2020, pág. 31/261
870200152631, de 04/12/2020, pág. 32/261
870200152631, de 04/12/2020, pág. 33/261
870200152631, de 04/12/2020, pág. 34/261
870200152631, de 04/12/2020, pág. 35/261
870200152631, de 04/12/2020, pág. 36/261
870200152631, de 04/12/2020, pág. 37/261
870200152631, de 04/12/2020, pág. 38/261
870200152631, de 04/12/2020, pág. 39/261
870200152631, de 04/12/2020, pág. 40/261
870200152631, de 04/12/2020, pág. 41/261
870200152631, de 04/12/2020, pág. 42/261
870200152631, de 04/12/2020, pág. 43/261
870200152631, de 04/12/2020, pág. 44/261
870200152631, de 04/12/2020, pág. 45/261
870200152631, de 04/12/2020, pág. 46/261
870200152631, de 04/12/2020, pág. 47/261
870200152631, de 04/12/2020, pág. 48/261
870200152631, de 04/12/2020, pág. 49/261
870200152631, de 04/12/2020, pág. 50/261
870200152631, de 04/12/2020, pág. 51/261
870200152631, de 04/12/2020, pág. 52/261
870200152631, de 04/12/2020, pág. 53/261
870200152631, de 04/12/2020, pág. 54/261
870200152631, de 04/12/2020, pág. 55/261
870200152631, de 04/12/2020, pág. 56/261
870200152631, de 04/12/2020, pág. 57/261
870200152631, de 04/12/2020, pág. 58/261
870200152631, de 04/12/2020, pág. 59/261
870200152631, de 04/12/2020, pág. 60/261
870200152631, de 04/12/2020, pág. 61/261
870200152631, de 04/12/2020, pág. 62/261
870200152631, de 04/12/2020, pág. 63/261
870200152631, de 04/12/2020, pág. 64/261
870200152631, de 04/12/2020, pág. 65/261
870200152631, de 04/12/2020, pág. 66/261
BR112020024802-9A 2018-06-27 2019-06-26 método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais BR112020024802A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862690581P 2018-06-27 2018-06-27
US62/690,581 2018-06-27
PCT/JP2019/025376 WO2020004461A1 (ja) 2018-06-27 2019-06-26 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Publications (1)

Publication Number Publication Date
BR112020024802A2 true BR112020024802A2 (pt) 2021-03-02

Family

ID=68984882

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020024802-9A BR112020024802A2 (pt) 2018-06-27 2019-06-26 método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais

Country Status (9)

Country Link
US (2) US11206426B2 (pt)
EP (1) EP3816940A4 (pt)
JP (2) JP7322020B2 (pt)
KR (1) KR20210020924A (pt)
CN (1) CN112313711A (pt)
BR (1) BR112020024802A2 (pt)
CA (1) CA3104630A1 (pt)
MX (1) MX2020013646A (pt)
WO (1) WO2020004461A1 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI3514968T3 (fi) * 2018-01-18 2023-05-25 Blackberry Ltd Menetelmiä ja laitteita pistepilvien entropiakoodausta varten
CN114402532A (zh) * 2019-09-30 2022-04-26 Oppo广东移动通信有限公司 占位信息的预测方法、编码器、解码器、及存储介质
KR20220123258A (ko) * 2020-01-06 2022-09-06 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 인트라 예측 방법, 장치, 인코더, 디코더 및 저장 매체
CN114868389A (zh) * 2020-01-06 2022-08-05 Oppo广东移动通信有限公司 一种帧内预测方法、编码器、解码器及存储介质
WO2021141090A1 (ja) * 2020-01-10 2021-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2021189262A1 (zh) 2020-03-24 2021-09-30 Oppo广东移动通信有限公司 帧内预测方法、装置、编码器、解码器、及存储介质
US11816868B2 (en) * 2020-08-14 2023-11-14 Tencent America LLC Coding of multiple-component attributes for point cloud coding
CN116171460A (zh) * 2020-10-09 2023-05-26 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
WO2022109885A1 (zh) * 2020-11-25 2022-06-02 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器以及计算机存储介质
CN115474049A (zh) * 2021-06-11 2022-12-13 维沃移动通信有限公司 点云编码处理方法、解码处理方法及装置
CN113676738B (zh) * 2021-08-19 2024-03-29 上海交通大学 一种三维点云的几何编解码方法及装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157746A (en) * 1997-02-12 2000-12-05 Sarnoff Corporation Apparatus and method for encoding wavelet trees generated by a wavelet-based coding method
EP1574996A3 (en) * 2004-03-08 2007-03-21 Samsung Electronics Co., Ltd. Adaptive 2n-ary tree generating method, and method and apparatus for encoding and decoding 3D volume data using it
FR2903554A1 (fr) * 2006-07-10 2008-01-11 France Telecom Dispositif et procede de codage et de decodage echelonnables de flux de donnees d'images, signal et programme d'ordinateur correspondants.
JP5536064B2 (ja) * 2008-08-19 2014-07-02 トムソン ライセンシング 伝播マップ
WO2011128269A1 (en) 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video coding using multi-tree sub - divisions of images
TWI605706B (zh) 2010-04-13 2017-11-11 Ge影像壓縮有限公司 樣本區域合倂技術
JP5281624B2 (ja) * 2010-09-29 2013-09-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
CN103518387A (zh) * 2011-04-12 2014-01-15 汤姆逊许可公司 编码网格模型的方法、已编码网格模型和解码网格模型的方法
EP2734980B1 (en) * 2011-07-18 2018-03-21 Thomson Licensing Method for adaptive entropy coding of tree structures
KR20140089426A (ko) * 2011-11-07 2014-07-14 톰슨 라이센싱 예측성 위치 디코딩
US9706200B2 (en) * 2012-06-18 2017-07-11 Qualcomm Incorporated Unification of signaling lossless coding mode and pulse code modulation (PCM) mode in video coding
US8930374B2 (en) * 2012-06-29 2015-01-06 Nokia Corporation Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure
WO2014020663A1 (ja) 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置
US20150324481A1 (en) * 2014-05-06 2015-11-12 International Business Machines Corporation Building Entity Relationship Networks from n-ary Relative Neighborhood Trees
EP3654646A1 (en) * 2015-06-05 2020-05-20 Intellectual Discovery Co., Ltd. Methods for encoding and decoding intra-frame prediction based on block shape
EP3169028B1 (en) * 2015-11-13 2020-09-23 Institut Mines Telecom Semi-exhaustive recursive block decoding method and device
US20170214943A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
US10482196B2 (en) * 2016-02-26 2019-11-19 Nvidia Corporation Modeling point cloud data using hierarchies of Gaussian mixture models
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
US10255720B1 (en) * 2016-10-13 2019-04-09 Bentley Systems, Incorporated Hybrid mesh from 2.5D and 3D point data
EP4035943B1 (en) * 2016-11-01 2023-08-30 Panasonic Intellectual Property Corporation of America Display method and display device
US10430975B2 (en) * 2016-11-17 2019-10-01 Google Llc Advanced k-D tree encoding for point clouds by most significant axis selection
US20180242024A1 (en) * 2017-02-21 2018-08-23 Mediatek Inc. Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks
JP7268598B2 (ja) * 2017-09-29 2023-05-08 ソニーグループ株式会社 情報処理装置および方法
FI3514968T3 (fi) * 2018-01-18 2023-05-25 Blackberry Ltd Menetelmiä ja laitteita pistepilvien entropiakoodausta varten
EP3514969B1 (en) * 2018-01-18 2021-08-04 BlackBerry Limited Methods and devices using direct coding in point cloud compression
EP3553747B1 (en) * 2018-04-09 2021-09-01 BlackBerry Limited Methods and devices for predictive coding of point clouds
EP3553746B1 (en) * 2018-04-09 2021-08-25 BlackBerry Limited Methods and devices for predictive coding of point clouds
EP3553745B1 (en) * 2018-04-09 2021-09-01 BlackBerry Limited Methods and devices for binary entropy coding of point clouds
US10796458B2 (en) * 2018-04-23 2020-10-06 Qualcomm Incorporated Compression of point clouds via a novel hybrid coder
MX2020014247A (es) * 2018-06-25 2021-05-12 Huawei Tech Co Ltd Codificación geométrica híbrida de nubes de puntos.
EP3595180B1 (en) * 2018-07-10 2021-12-08 BlackBerry Limited Methods and devices for neighbourhood-based occupancy prediction in point cloud compression
EP3595179B1 (en) * 2018-07-10 2023-07-05 BlackBerry Limited Methods and devices for lossy coding of point cloud occupancy
EP3595181B1 (en) * 2018-07-11 2023-09-06 BlackBerry Limited Predictor-copy coding mode for coding of point clouds

Also Published As

Publication number Publication date
CN112313711A (zh) 2021-02-02
JP7322020B2 (ja) 2023-08-07
JPWO2020004461A1 (ja) 2021-07-08
WO2020004461A1 (ja) 2020-01-02
EP3816940A1 (en) 2021-05-05
KR20210020924A (ko) 2021-02-24
JP2023145607A (ja) 2023-10-11
EP3816940A4 (en) 2021-09-08
US11206426B2 (en) 2021-12-21
US20220078487A1 (en) 2022-03-10
US20210105505A1 (en) 2021-04-08
MX2020013646A (es) 2021-03-25
CA3104630A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
US20240129556A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
BR112020024802A2 (pt) método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
US20210056732A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US20210409784A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
EP3716218A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device and three-dimensional data decoding device
BR112020020109A2 (pt) método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
BR112020024052A2 (pt) método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
BR112020027050A2 (pt) método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
BR112020024480A2 (pt) método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
WO2019146691A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
BR112020025049A2 (pt) método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
EP3699861A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
BR112020024566A2 (pt) Método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
BR112020023939A2 (pt) método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
US20200374566A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JPWO2019142834A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
BR112021010550A2 (pt) Método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
BR112021010082A2 (pt) Método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais e dispositivo de decodificação de dados tridimensionais
BR112021010602A2 (pt) Método de codificação de dados tridimensionais, método de decodificação de dados tridimensionais, dispositivo de codificação de dados tridimensionais, e dispositivo de decodificação de dados tridimensionais

Legal Events

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