BR112020027024A2 - Método de codificação de nuvem de pontos, método de decodificação de nuvem de pontos, codificador, e decodificador - Google Patents

Método de codificação de nuvem de pontos, método de decodificação de nuvem de pontos, codificador, e decodificador Download PDF

Info

Publication number
BR112020027024A2
BR112020027024A2 BR112020027024-5A BR112020027024A BR112020027024A2 BR 112020027024 A2 BR112020027024 A2 BR 112020027024A2 BR 112020027024 A BR112020027024 A BR 112020027024A BR 112020027024 A2 BR112020027024 A2 BR 112020027024A2
Authority
BR
Brazil
Prior art keywords
axis
package
point
decoded
bounding box
Prior art date
Application number
BR112020027024-5A
Other languages
English (en)
Inventor
Dejun Zhang
Bo Liu
Vladyslav ZAKHARCHENKO
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of BR112020027024A2 publication Critical patent/BR112020027024A2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

método de codificação de nuvem de pontos, método de decodificação de nuvem de pontos, codificador, e decodificador. as modalidades deste pedido divulgam um método de codificação de nuvem de pontos e um codificador, para fornecer soluções técnicas para codificar e decodificar efetivamente os dados de nuvem de pontos. o método inclui: obter informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos a-ser-codificada e um eixo normal de um pacote a-ser-codificado na nuvem de pontos a-ser-codificada, onde as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado são usados para determinar um eixo tangente do pacote a-ser-codificado e um eixo bitangente do pacote a-ser-codificado; e codificar um elemento de sintaxe em um fluxo de bits, onde o elemento de sintaxe inclui um índice do eixo normal do pacote a-ser-codificado e informações para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado.

Description

MÉTODO DE CODIFICAÇÃO DE NUVEM DE PONTOS, MÉTODO DE DECODIFICAÇÃO DE NUVEM DE PONTOS, CODIFICADOR, E DECODIFICADOR CAMPO TÉCNICO
[001] Este pedido refere-se ao campo de tecnologias de codificação e decodificação e, em particular, a um método de codificação de nuvem de pontos (point cloud), um método de decodificação de nuvem de pontos, um codificador e um decodificador.
ANTECEDENTES
[002] Com o desenvolvimento contínuo de tecnologias de sensor 3D (por exemplo, um scanner 3D), coleta de dados de nuvem de pontos é mais conveniente, e os dados de nuvem de pontos coletados têm uma escala maior. Portanto, como codificar e decodificar efetivamente os dados da nuvem de pontos torna-se um problema urgente a ser resolvido.
SUMÁRIO
[003] As modalidades deste pedido fornecem um método de codificação de nuvem de pontos, um método de decodificação de nuvem de pontos, um codificador e um decodificador para ajudar a melhorar o desempenho de codificação e decodificação de nuvem de pontos.
[004] De acordo com um primeiro aspecto, uma modalidade deste pedido fornece um método de codificação de nuvem de pontos, incluindo: obter informações de descrição de um tamanho de caixa delimitadora (Bounding Box) de uma nuvem de pontos a-ser-codificada e um eixo normal (Normal) de um pacote (patch) a-ser-codificado na nuvem de pontos a-ser- codificada, onde as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado são usados para determinar um eixo tangente (Tangent) do pacote a-ser- codificado e um eixo bitangente (Bi-tangent) do pacote a- ser-codificado; e codificar um elemento de sintaxe em um fluxo de bits, onde o elemento de sintaxe inclui um índice do eixo normal do pacote a-ser-codificado e informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a- ser-codificado. Em um exemplo, o método pode ser realizado por um codificador. A nuvem de pontos a-ser-codificada pode ser qualquer quadro de nuvem de pontos a-ser-codificada, e o pacote a-ser-codificado pode ser qualquer pacote na nuvem de pontos a-ser-codificada.
[005] Uma caixa delimitadora de uma nuvem de pontos refere-se a um cuboide mínimo em torno da nuvem de pontos.
[006] Um tamanho de caixa delimitadora da nuvem de pontos também pode ser referido como comprimentos laterais da caixa delimitadora da nuvem de pontos, um tamanho de espaço tridimensional da caixa delimitadora da nuvem de pontos ou um tamanho de espaço geométrico da caixa delimitadora da nuvem de pontos, e pode ser representado pelo uso de comprimentos de lados, da caixa delimitadora da nuvem de pontos, em três eixos de coordenadas em um sistema de coordenadas de referência (por exemplo, um sistema de coordenadas mundial).
[007] As informações de descrição do tamanho de caixa delimitadora da nuvem de pontos são informações usadas para descrever o tamanho de caixa delimitadora da nuvem de pontos.
Por exemplo, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos podem incluir uma relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, um eixo de coordenadas no qual um lado mais longo da caixa delimitadora da nuvem de pontos é localizado ou semelhantes.
[008] Opcionalmente, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos podem incluir informações de tamanho de caixa delimitadora da nuvem de pontos, um índice do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, um índice da relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos ou semelhantes. Deve ser notado que, se as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos são as informações de tamanho de caixa delimitadora da nuvem de pontos, correspondentemente, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos podem ser a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado ou semelhantes. Em outras palavras, independentemente do lado de codificador ou do lado de decodificador, a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, ou semelhantes podem ser obtidos com base nas informações de tamanho de caixa delimitadora da nuvem de pontos.
[009] Quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos podem incluir as informações de tamanho de caixa delimitadora da nuvem de pontos ou o índice da relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos.
[0010] Quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos podem incluir as informações de tamanho de caixa delimitadora da nuvem de pontos ou o índice do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado.
[0011] O índice do eixo normal do pacote a-ser- codificado é informações baseadas em nível de pacote (ou referido como granularidade de pacote). As informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada são informações baseadas em nível de quadro (ou referido como granularidade de quadro). Uma sequência de codificação das duas informações anteriores no fluxo de bits não é limitada nesta modalidade deste pedido e os elementos de sintaxe em diferentes níveis podem ser codificados separadamente no fluxo de bits. Por exemplo, informações baseadas em nível de quadro (como nível de nuvem de pontos)
são codificadas no fluxo de bits e informações baseadas em nível de pacote são codificadas no fluxo de bits. Em outras palavras, as duas partes de informações podem ser codificadas no fluxo de bits em momentos diferentes.
[0012] As informações de descrição do tamanho de caixa delimitadora da nuvem de pontos podem refletir uma postura da nuvem de pontos no espaço tridimensional, de modo a refletir indiretamente as posturas da maioria dos pacotes na nuvem de pontos. Em um exemplo, a postura da nuvem de pontos no espaço tridimensional pode ser representada por informações sobre se a nuvem de pontos é vertical ou horizontal no espaço tridimensional. Por exemplo, uma nuvem de pontos mostrada na Figura 6 (a) é vertical e uma nuvem de pontos mostrada na Figura 8 (a) é horizontal. Com base nisso, pode ser considerado que a maioria dos pacotes na nuvem de pontos mostrada na Figura 6 (a) são verticais e a maioria dos pacotes na nuvem de pontos mostrada na Figura 8 (a) são horizontais. Além disso, quando pacotes em uma mesma postura são mapeados para diferentes sistemas de coordenadas bidimensionais, as posturas das imagens projetadas são diferentes (como mostrado na Figura 11). Portanto, determinar um eixo tangente e um eixo bitangente de um pacote a-ser-codificado na nuvem de pontos com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos e um eixo normal do pacote a-ser-codificado ajuda a ajustar uma postura de uma imagem projetada obtida por projeção do pacote em um plano bidimensional, de modo que as imagens projetadas dos pacotes sejam organizadas em um mapa de ocupação da nuvem de pontos, ou seja, há uma quantidade relativamente pequena de pixels vazios no mapa de ocupação da nuvem de pontos. Isso facilita a codificação baseada em imagem / vídeo realizada em um mapa de profundidade e um mapa de textura que são determinados com base no mapa de ocupação da nuvem de pontos. Em outras palavras, o desempenho da codificação da nuvem de pontos pode ser melhorado, de modo a ajudar a melhorar o desempenho da decodificação da nuvem de pontos. Por exemplo, quando o eixo tangente e o eixo bitangente do pacote são determinados de acordo com o método fornecido nesta modalidade deste pedido, uma postura de uma imagem projetada na caixa retangular na Figura 8 (b) pode ser definida como vertical. Desta forma, quando o codificador realiza empacotamento para gerar o mapa de ocupação da nuvem de pontos, a imagem projetada pode ser vertical, de modo que as imagens projetadas das manchas na nuvem de pontos podem ser organizadas de perto no mapa de ocupação da nuvem de pontos.
[0013] Em um projeto possível, o método pode ainda incluir: determinar o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado.
[0014] Em um projeto possível, a determinação do eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado pode incluir: determinar o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado por pesquisar uma tabela de relação de mapeamento, onde a tabela de relação de mapeamento inclui uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote.
[0015] Em um projeto possível, a determinação do eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado pode incluir: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo que corresponde às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, onde cada conjunto de modo tangente inclui pelo menos dois modos tangentes, e cada modo tangente inclui um eixo tangente e um eixo bitangente; e determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de eixos normais de um pacote e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao eixo normal do pacote a-ser- codificado, onde um eixo tangente incluído no modo tangente alvo determinado é o eixo tangente do pacote a-ser- codificado, e um eixo bitangente incluído no modo tangente alvo determinado é o eixo bitangente do pacote a-ser- codificado. Por exemplo, a relação de mapeamento pode ser predefinida, por exemplo, predefinida de acordo com um protocolo, e pode ser especificamente, a título de exemplo em vez de limitação, armazenada em uma ou mais tabelas. Neste caso, este possível projeto pode ser implementado por meio de pesquisa em tabelas.
[0016] Em um projeto possível, a determinação do eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado pode incluir: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote, um eixo tangente alvo e um eixo bitangente alvo que correspondem a ambas as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado, onde o eixo tangente alvo determinado é o eixo tangente do pacote a-ser- codificado, e o eixo bitangente alvo determinado é o eixo bitangente do pacote a-ser-codificado. Por exemplo, a relação de mapeamento pode ser predefinida, por exemplo, predefinida de acordo com um protocolo, e pode ser especificamente, a título de exemplo em vez de limitação, armazenada em uma ou mais tabelas. Neste caso, este possível projeto pode ser implementado por meio de pesquisa em tabelas.
[0017] Em um projeto possível, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluir a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada, quando o eixo normal do pacote a- ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado (neste caso, um eixo de coordenadas que é perpendicular tanto ao eixo normal e ao eixo bitangente do pacote a-ser-codificado é o eixo tangente do pacote a-ser-codificado); ou quando o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado (isso é marcado como uma solução A1). Alternativamente, quando o eixo normal do pacote a-ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado (neste caso, um eixo de coordenadas que é perpendicular ao eixo normal e ao eixo tangente do pacote a-ser-codificado é o eixo bitangente do pacote a-ser-codificado); ou quando o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo tangente do pacote a- ser-codificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo bitangente do pacote a- ser-codificado (isso é marcado como uma solução A2). Isso ajuda a garantir (ou garante o máximo possível) que a maioria das imagens projetadas obtidas pela projeção de todos os pacotes na nuvem de pontos a-ser-codificada em um plano bidimensional sejam distribuídas em uma mesma direção, de modo que um mapa de ocupação, da nuvem de pontos a-ser- codificada, gerado pelo empacotamento desses pacotes, tenha um tamanho relativamente pequeno (ou seja, os pacotes são organizados de forma mais próxima), reduzindo assim a sobrecarga de bits da transmissão de fluxo de bits.
O fato de as imagens projetadas serem distribuídas na mesma direção significa que os lados longos (ou seja, os lados mais longos em larguras e alturas) dos menores retângulos ao redor das imagens projetadas são distribuídos na mesma direção.
Por exemplo, os lados longos desses retângulos menores são todos paralelos a um eixo de coordenadas em um sistema de coordenadas de referência (por exemplo, um sistema de coordenadas mundial) no espaço tridimensional.
[0018] Em um projeto possível, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluir o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado, quando o eixo normal do pacote a-ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado (neste caso, um eixo de coordenadas que é perpendicular tanto ao eixo normal e ao eixo bitangente do pacote a-ser-codificado é o eixo tangente do pacote a-ser-codificado); ou quando o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo bitangente do pacote a- ser-codificado, e o outro é o eixo tangente do pacote a-ser- codificado (isso é marcado como uma solução B1). Alternativamente, quando o eixo normal do pacote a-ser- codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-
ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado (neste caso, um eixo de coordenadas que é perpendicular ao eixo normal e ao eixo tangente do pacote a- ser-codificado é o eixo bitangente do pacote a-ser- codificado); ou quando o eixo normal do pacote a-ser- codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e um de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado, e o outro é o eixo bitangente do pacote a-ser-codificado (isso é marcado como uma solução B2). Isso ajuda a garantir (ou garante o máximo possível) que a maioria das imagens projetadas obtidas pela projeção de todos os pacotes na nuvem de pontos a-ser-codificada em um plano bidimensional sejam distribuídas em uma mesma direção, de modo que um mapa de ocupação, da nuvem de pontos a-ser-codificada, gerado pelo empacotamento desses pacotes, tenha um tamanho relativamente pequeno, reduzindo assim a sobrecarga de bits da transmissão de fluxo de bits.
[0019] Em um projeto possível, a determinação do eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado pode incluir: determinar o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado de acordo com uma regra de projeção (que é referida como uma regra de projeção para codificar a nuvem de pontos a-ser- codificada abaixo) com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada e o eixo normal do pacote a-ser-codificado, onde a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-codificada no plano bidimensional. Por exemplo, a regra de projeção pode indicar projeção horizontal ou projeção vertical.
[0020] Por exemplo, o plano bidimensional é um plano no qual um eixo tangente de um pacote e um eixo bitangente do pacote estão localizados. O pacote aqui é um pacote generalizado, e inclui o pacote a-ser-codificado. Em um exemplo, um eixo horizontal do plano bidimensional é o eixo tangente do pacote e um eixo vertical é o eixo bitangente do pacote. Opcionalmente, um eixo horizontal do plano bidimensional é o eixo bitangente do pacote e um eixo vertical é o eixo tangente do pacote. Deve ser notado que, para facilidade de descrição, a menos que especificado de outra forma, um exemplo em que "um eixo horizontal de um plano bidimensional é um eixo tangente de um pacote e um eixo vertical é um eixo bitangente do pacote" é usado para descrição em todas as soluções técnicas descritas em implementações específicas das modalidades deste pedido.
[0021] Por exemplo, o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado são usados para projetar o pacote a-ser-codificado de um sistema de coordenadas tridimensional para um sistema de coordenadas bidimensional.
[0022] Em um projeto possível, a regra de projeção para projetar a nuvem de pontos a-ser-codificada pode ser uma regra de projeção padrão ou uma regra de projeção predefinida (ou referida como uma regra de projeção predefinida, que pode ser, por exemplo, predefinida de acordo com um protocolo entre um lado de codificador e um lado de decodificador). Alternativamente, a regra de projeção para projetar a nuvem de pontos a-ser-codificada pode ser uma regra de projeção indicada pelo elemento de sintaxe obtido a partir do fluxo de bits por meio de análise.
[0023] Em um projeto possível, o elemento de sintaxe pode ainda incluir informações usadas para indicar a regra de projeção. As informações usadas para indicar a regra de projeção são informações baseadas em nível de quadro.
[0024] Em um projeto possível, o método pode incluir ainda: determinar, de acordo com um critério de custo de distorção de taxa, a regra de projeção para projetar a nuvem de pontos a-ser-codificada. Especificamente, uma relação de mapeamento correspondente entre "informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote" é selecionada com base em cada de regras de projeção candidatas, de modo que o eixo tangente e o eixo bitangente do pacote a-ser-codificado sejam predeterminados com base na relação de mapeamento e, em seguida, as sobrecargas de bit da transmissão de fluxo de bits da nuvem de pontos a-ser-codificada são predeterminadas. Subsequentemente, uma regra de projeção candidata correspondente às sobrecargas de bit de transmissão mais baixas (ou uma regra de projeção candidata correspondente a sobrecargas de bits de transmissão menores ou iguais às sobrecargas predefinidas) é selecionada como a regra de projeção para projetar a nuvem de pontos a-ser- codificada.
[0025] Em um projeto possível, assume-se que as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada. Neste caso, se a regra de projeção indica projeção vertical, uma solução específica pode ser a solução anterior A1. Alternativamente, se a regra de projeção indica projeção horizontal, uma solução específica pode ser a solução anterior A2. Neste projeto possível, um exemplo em que "um eixo horizontal de um plano bidimensional é um eixo tangente de um pacote e um eixo vertical é um eixo bitangente do pacote" é usado para descrição.
[0026] Alternativamente, em um caso em que um eixo horizontal de um plano bidimensional é um eixo bitangente de um pacote e um eixo vertical é um eixo tangente do pacote, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada e a regra de projeção indica projeção vertical, uma solução específica pode ser a solução anterior A2. Alternativamente, se a regra de projeção indica projeção horizontal, uma solução específica pode ser a solução anterior A1.
[0027] Em um projeto possível, assume-se que as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado. Neste caso, se a regra de projeção indica projeção vertical, uma solução específica pode ser a solução anterior B1. Alternativamente, se a regra de projeção indica projeção horizontal, uma solução específica pode ser a solução anterior B2. Neste projeto possível, um exemplo em que "um eixo horizontal de um plano bidimensional é um eixo tangente de um pacote e um eixo vertical é um eixo bitangente do pacote" é usado para descrição.
[0028] Alternativamente, em um caso em que um eixo horizontal de um plano bidimensional é um eixo bitangente de um pacote e um eixo vertical é um eixo tangente do pacote, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e a regra de projeção indica projeção vertical, uma solução específica pode ser a solução anterior B2. Alternativamente, se a regra de projeção indica projeção horizontal, uma solução específica pode ser a solução anterior B1.
[0029] De acordo com um segundo aspecto, uma modalidade deste pedido fornece um método de decodificação de nuvem de pontos, incluindo: analisar um fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe inclui um índice de um eixo normal de um pacote a-ser- decodificado em uma nuvem de pontos a-ser-decodificada e informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada; determinar um eixo tangente do pacote a-ser- decodificado e um eixo bitangente do pacote a-ser- decodificado com base no índice do eixo normal do pacote a- ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise; e reconstruir informações de geometria (geometry) da nuvem de pontos a-ser-decodificada com base em eixos tangentes e eixos bitangentes de um ou mais pacotes na nuvem de pontos a-ser-decodificada, onde o um ou mais pacotes incluem o pacote a-ser-decodificado. O método pode ser realizado por um decodificador de nuvem de pontos. As informações de geometria de uma nuvem de pontos referem-se às coordenadas de um ponto na nuvem de pontos (por exemplo, cada ponto na nuvem de pontos) no espaço tridimensional.
[0030] Em um projeto possível, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada inclui: informações de tamanho de uma caixa delimitadora da nuvem de pontos a-ser-decodificada; ou um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado; ou um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora da nuvem de pontos a-ser-decodificada.
[0031] As informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada podem incluir a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-
decodificada ou o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado.
[0032] Por exemplo, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, se as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem as informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, o método pode ainda incluir: obter a relação de tamanho entre os comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada com base nas informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada. Então opcionalmente o eixo tangente e o eixo bitangente do pacote a-ser- decodificado podem ser determinados de acordo com um possível projeto fornecido abaixo.
[0033] Por exemplo, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado, se as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem as informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, o método pode incluir ainda: obter, com base nas informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado. Então opcionalmente o eixo tangente e o eixo bitangente do pacote a-ser-decodificado podem ser determinados de acordo com um possível projeto fornecido abaixo.
[0034] Em um projeto possível, a determinação de um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-decodificado com base no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise pode incluir: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo correspondente às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, onde cada conjunto de modo tangente inclui pelo menos dois modos tangentes e cada modo tangente inclui um eixo tangente e um eixo bitangente; e determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de eixos normais de um pacote e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao eixo normal do pacote a-ser-decodificado, onde um eixo tangente incluído no modo tangente alvo determinado é o eixo tangente do pacote a-ser-decodificado, e um eixo bitangente incluído no modo tangente alvo determinado é o eixo bitangente do pacote a-ser-decodificado.
[0035] Em um projeto possível, a determinação de um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-decodificado com base no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise pode incluir: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote, um eixo tangente alvo e um eixo bitangente alvo que correspondem a ambas as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada e o eixo normal do pacote a-ser- decodificado, onde o eixo tangente alvo determinado é o eixo tangente do pacote a-ser-decodificado, e o eixo bitangente alvo determinado é o eixo bitangente do pacote a-ser- decodificado.
[0036] Em um projeto possível, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, quando o eixo normal do pacote a- ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado; ou quando o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser- decodificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado é o eixo tangente do pacote a- ser-decodificado (isso é marcado como uma solução C1). Alternativamente, quando o eixo normal do pacote a-ser- decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado; ou quando o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado (isso é marcado como uma solução C2).
[0037] Em um projeto possível, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado, quando o eixo normal do pacote a-ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado no eixo bitangente do pacote a-ser-decodificado; ou quando o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado, e o outro é o eixo tangente do pacote a-ser-decodificado (isso é marcado como uma solução D1). Alternativamente, quando o eixo normal do pacote a-ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado; ou quando o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado é o eixo tangente do pacote a- ser-decodificado, e o outro é o eixo bitangente do pacote a- ser-decodificado (isso é marcado como uma solução D2).
[0038] Em um projeto possível, a determinação de um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-decodificado com base no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise pode incluir: determinar o eixo tangente do pacote a-ser-decodificado e o eixo bitangente do pacote a-ser-decodificado de acordo com uma regra de projeção (que é referida como uma regra de projeção para projetar a nuvem de pontos a-ser-decodificada abaixo) com base no índice do eixo normal do pacote a-ser- decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise, onde a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-decodificada no plano bidimensional. Por exemplo, a regra de projeção pode indicar projeção horizontal ou projeção vertical.
[0039] Em um projeto possível, a regra de projeção para projetar a nuvem de pontos a-ser-decodificada é predefinida.
[0040] Em um projeto possível, o elemento de sintaxe inclui ainda informações usadas para indicar a regra de projeção para projetar a nuvem de pontos a-ser-decodificada e, correspondentemente, a regra de projeção é uma regra de projeção indicada pelo elemento de sintaxe obtido a partir do fluxo de bits por meio da análise.
[0041] Em um projeto possível, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada. Se a regra de projeção indica projeção vertical, uma solução específica pode ser a solução C1 anterior. Alternativamente, se a regra de projeção indica projeção horizontal, uma solução específica pode ser a solução anterior C2.
[0042] Em um projeto possível, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado. Se a regra de projeção indica projeção vertical, uma solução específica pode ser a solução anterior D1. Alternativamente, se a regra de projeção indica projeção horizontal, uma solução específica pode ser a solução anterior D2.
[0043] A solução técnica fornecida em qualquer um do segundo aspecto e os projetos possíveis do segundo aspecto corresponde ao primeiro aspecto ou ao método de codificação de nuvem de pontos correspondente fornecido no primeiro aspecto. Portanto, para efeitos benéficos que podem ser alcançados e explicações de conteúdo relacionado, consulte as descrições anteriores.
[0044] De acordo com um terceiro aspecto, uma modalidade deste pedido fornece um método de codificação de nuvem de pontos, incluindo: obter informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvens de pontos a-serem-codificadas e um eixo normal de um pacote a- ser-codificado no grupo de nuvens de pontos a-serem- codificadas, onde o grupo de nuvens de pontos a-ser- codificadas inclui pelo menos dois quadros de nuvens de pontos, e as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas e o eixo normal do pacote a-ser-codificado são usadas para determinar um eixo tangente do pacote a-ser- codificado e um eixo bitangente do pacote a-ser-codificado; e codificar um elemento de sintaxe em um fluxo de bits, onde o elemento de sintaxe inclui um índice do eixo normal do pacote a-ser-codificado e informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas, e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a- ser-codificado e o eixo bitangente do pacote a-ser- codificado. Uma diferença entre esta solução técnica e a solução técnica no primeiro aspecto reside no fato de que a codificação de nuvem de pontos é realizada com base em um grupo de nuvem de pontos nesta solução técnica. Portanto, além dos efeitos benéficos que podem ser alcançados de acordo com a solução técnica fornecida no primeiro aspecto, a complexidade de codificação pode ser ainda mais reduzida e as sobrecargas de bits de transmissão de fluxo de bits podem ser ainda mais reduzidas.
[0045] Em um projeto possível, o método inclui ainda: determinar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas e o eixo normal do pacote a-ser-codificado.
[0046] Em um projeto possível, obter informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvens de pontos a-serem-codificadas pode incluir: usar informações de descrição de um tamanho de caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-codificadas como as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas; ou usar informações de descrição com uma frequência de aparecimento mais alta em informações de descrição de tamanhos de caixa delimitadora de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a- serem-codificadas como as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas.
[0047] Em um projeto possível, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas podem incluir um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas está localizado ou uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas.
[0048] Em um projeto possível, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas podem incluir informações de tamanho de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-codificadas, ou informações de tamanho com uma frequência de aparecimento mais alta em tamanhos de caixa delimitadora de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-ser-codificadas. Pode ser entendido que, neste projeto possível, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas podem ser o eixo de coordenadas no qual o lado mais longo da caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas está localizado ou a relação de tamanho entre comprimentos laterais da caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas.
[0049] Em um projeto possível, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas podem incluir um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a- serem-codificadas está localizado, ou um índice de um eixo de coordenadas com uma frequência de aparecimento mais alta em eixos de coordenadas em que os lados mais longos das caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-codificadas estão localizados. Pode ser entendido que, neste projeto possível, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas podem ser o eixo de coordenadas no qual o lado mais longo da caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas está localizado.
[0050] Em um projeto possível, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas podem incluir um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a- ser-codificadas, ou um índice de uma relação de tamanho com uma frequência de aparência mais alta em relações de tamanho entre comprimentos laterais de caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-ser-codificadas. Pode ser entendido que, neste projeto possível, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas podem ser a relação de tamanho entre comprimentos laterais da caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas.
[0051] Opcionalmente, todos os projetos possíveis obtidos pela substituição das informações baseadas em nível de quadro em qualquer projeto possível fornecido no primeiro aspecto com informações baseadas em nível de grupo de quadros (group of frames, GOF) são aplicáveis ao terceiro aspecto. Por exemplo, "caixa delimitadora da nuvem de pontos" em qualquer projeto possível fornecido no primeiro aspecto é substituída por "caixa delimitadora do grupo de nuvem de pontos ". Por exemplo, "regra de projeção para projetar a nuvem de pontos a-ser-codificada" no projeto possível fornecido no primeiro aspecto é substituída por "regra de projeção para projetar o grupo de nuvens de pontos a-serem-
codificadas". Os detalhes não são descritos aqui um por um.
[0052] De acordo com um quarto aspecto, uma modalidade deste pedido fornece um método de decodificação de nuvem de pontos, incluindo: analisar um fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe inclui um índice de um eixo normal de um pacote a-ser- decodificado em um grupo de nuvens de pontos a-serem- decodificadas e as informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas, e o grupo de nuvem de pontos inclui pelo menos dois quadros de nuvens de pontos; determinar um eixo tangente do pacote a-ser- decodificado e um eixo bitangente do pacote a-ser- decodificado com base no índice do eixo normal do pacote a- ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas que são obtidas por meio de análise; e reconstruir informações de geometria de uma nuvem de pontos a-ser-decodificada no grupo de nuvens de pontos a-serem-decodificadas com base em eixos tangentes e eixos bitangentes de um ou mais pacotes na nuvem de pontos a-ser-decodificada, onde o um ou mais os pacotes incluem o pacote a-ser-decodificado.
[0053] Em um projeto possível, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas pode incluir um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas está localizado ou uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas.
[0054] Em um projeto possível, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas podem incluir informações de tamanho de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-decodificadas, ou informações de tamanho com uma frequência de aparecimento mais alta em tamanhos de caixa delimitadora de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-decodificadas.
[0055] Em um projeto possível, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas podem incluir um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-decodificadas está localizado, ou um índice de um eixo de coordenadas com uma frequência de aparecimento mais alta em eixos de coordenadas em que os lados mais longos das caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a- serem-decodificadas estão localizados.
[0056] Em um projeto possível, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas podem incluir um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-decodificadas, ou um índice de uma relação de tamanho com uma frequência de aparência mais alta em relações de tamanho entre comprimentos laterais de caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-decodificadas.
[0057] Opcionalmente, todos os projetos possíveis obtidos pela substituição das informações baseadas em nível de quadro em qualquer projeto possível fornecido no segundo aspecto com informações baseadas em nível de GOF são aplicáveis ao quarto aspecto. Por exemplo, "caixa delimitadora da nuvem de pontos" em qualquer projeto possível fornecido no segundo aspecto é substituída por "caixa delimitadora do grupo de nuvem de pontos". Por exemplo, "regra de projeção para projetar a nuvem de pontos a-ser- decodificada" no projeto possível fornecido no segundo aspecto é substituída por "regra de projeção para projetar o grupo de nuvens de pontos a-serem-codificadas". Os detalhes não são descritos aqui um por um.
[0058] A solução técnica fornecida em qualquer um do quarto aspecto e os projetos possíveis do quarto aspecto correspondem ao terceiro aspecto ou ao método de codificação de nuvem de pontos correspondente fornecido no terceiro aspecto. Portanto, para efeitos benéficos que podem ser alcançados e explicações de conteúdo relacionado, consulte o terceiro aspecto.
[0059] De acordo com um quinto aspecto, uma modalidade deste pedido fornece um método para determinar um eixo tangente e um eixo bitangente de um pacote. O método inclui: obter informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos a-ser-processada e um eixo normal de um pacote a-ser-processado na nuvem de pontos a-ser-processada; e determinar um eixo tangente do pacote a-
ser-processado e um eixo bitangente do pacote a-ser- processado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-processada e o eixo normal do pacote a-ser-processado.
[0060] Em um exemplo, o método pode ser realizado por um codificador. Neste caso, a nuvem de pontos a-ser- processada é especificamente uma nuvem de pontos a-ser- codificada e o pacote a-ser-processado é especificamente um pacote a-ser-codificado. Neste caso, para explicações de termos relacionados na solução técnica fornecida no quinto aspecto e implementações específicas de passos relacionados, consulte qualquer projeto possível no primeiro aspecto.
[0061] Em um exemplo, o método pode ser realizado por um decodificador. Neste caso, a nuvem de pontos a-ser- processada é especificamente uma nuvem de pontos a-ser- decodificada e o pacote a-ser-processado é especificamente um pacote a-ser-decodificado. Nesse caso, para explicações de termos relacionados na solução técnica fornecida no quinto aspecto e implementações específicas de passos relacionados, consulte qualquer projeto possível no segundo aspecto.
[0062] De acordo com um sexto aspecto, uma modalidade deste pedido fornece um codificador, incluindo: um módulo de geração de informações de pacote, configurado para obter informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos a-ser-codificada e um eixo normal de um pacote a-ser-codificado na nuvem de pontos a-ser- codificada, onde as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado são usadas para determinar um eixo tangente do pacote a-ser-codificado e um eixo bitangente do pacote a-ser-codificado; e um módulo de codificação de informações auxiliares, configurado para codificar um elemento de sintaxe em um fluxo de bits, onde o elemento de sintaxe inclui um índice do eixo normal do pacote a-ser-codificado e informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado.
[0063] Alternativamente, "informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos a-ser-codificada" no sexto aspecto pode ser substituído por "informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvens de pontos a-serem-codificadas", e o grupo de nuvem de pontos inclui pelo menos dois quadros de nuvens de pontos.
[0064] De acordo com um sétimo aspecto, uma modalidade deste pedido fornece um decodificador, incluindo: um módulo de decodificação de informações auxiliares, configurado para: analisar um fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe inclui um índice de um eixo normal de um pacote a-ser-decodificado em uma nuvem de pontos a-ser-decodificada e informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada; e determinar um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-decodificado com base no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-
decodificada que são obtidas por meio de análise; e um módulo de reconstrução de informações de geometria de nuvem de pontos, configurado para reconstruir informações de geometria da nuvem de pontos a-ser-decodificada com base em eixos tangentes e eixos bitangentes de um ou mais pacotes na nuvem de pontos a-ser-decodificada, onde o um ou mais os pacotes incluem o pacote a-ser-decodificado.
[0065] Alternativamente, "informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos a-ser-decodificada" no sétimo aspecto pode ser substituído por "informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvens de pontos a-serem- decodificadas", e o grupo de nuvem de pontos inclui pelo menos dois quadros de nuvens de pontos.
[0066] De acordo com um oitavo aspecto, uma modalidade deste pedido fornece um dispositivo de codificação de dados de nuvem de pontos. O dispositivo pode incluir uma memória e um codificador.
[0067] A memória é configurada para armazenar dados de nuvem de pontos e os dados de nuvem de pontos incluem um ou mais quadros de nuvens de pontos.
[0068] O codificador é configurado para codificar um identificador em um fluxo de bits. O identificador é usado para indicar se deve determinar um eixo tangente e um eixo bitangente de um pacote (o pacote pode ser um pacote generalizado e, neste caso, o identificador é informações baseadas em nível de quadro) em uma nuvem de pontos a-serem- codificadas em um ou mais quadros de nuvens de pontos com base nas informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos, isto é, usado para indicar se deve codificar o pacote na nuvem de pontos a-ser- codificada de acordo com o método de codificação de nuvem de pontos fornecido no primeiro aspecto. Quando o identificador é usado para indicar para determinar o eixo tangente e o eixo bitangente do pacote a-ser-codificado na nuvem de pontos a-ser-codificada com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos, o codificador realiza codificação de acordo com qualquer método de codificação de nuvem de pontos fornecido no primeiro aspecto.
[0069] Alternativamente, os dados de nuvem de pontos no oitavo aspecto incluem um ou mais grupos de nuvens de pontos e cada grupo de nuvens de pontos inclui um ou mais quadros de nuvens de pontos. O codificador é configurado para codificar um identificador em um fluxo de bits. O identificador é usado para indicar se deve determinar um eixo tangente e um eixo bitangente de um pacote (o pacote pode ser um pacote generalizado e, neste caso, o identificador é informações baseadas em nível de GOF) em um grupo de nuvens de pontos a serem-codificadas em um ou mais grupos de nuvem de pontos com base nas informações de descrição de um tamanho de caixa delimitadora do grupo de nuvem de pontos, isto é, usado para indicar se deve codificar o pacote no grupo de nuvens de pontos a-serem-codificadas de acordo com o método de codificação de nuvem de pontos fornecido no terceiro aspecto. Quando o identificador é usado para indicar a determinação do eixo tangente e do eixo bitangente do pacote a-ser-codificado no grupo de nuvens de pontos a-serem-codificadas com base nas informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos, o codificador realiza codificação de acordo com qualquer método de codificação de nuvem de pontos fornecido no terceiro aspecto.
[0070] De acordo com um nono aspecto, uma modalidade deste pedido fornece um dispositivo de decodificação de dados de nuvem de pontos. O dispositivo pode incluir uma memória e um decodificador.
[0071] A memória é configurada para armazenar dados de nuvem de pontos na forma de um fluxo de bits e os dados de nuvem de pontos incluem um ou mais quadros de nuvens de pontos.
[0072] O decodificador é configurado para decodificar o fluxo de bits para obter um identificador. O identificador é usado para indicar se deve determinar um eixo tangente e um eixo bitangente de um pacote em uma nuvem de pontos a-ser-decodificada em um ou mais quadros de nuvens de pontos com base nas informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos, isto é, usado para indicar se decodificar o pacote na nuvem de pontos a-ser- decodificada de acordo com o método de decodificação de nuvem de pontos fornecido no segundo aspecto. Quando o identificador é usado para indicar para determinar o eixo tangente e o eixo bitangente do pacote a-ser-decodificado na nuvem de pontos a-ser-decodificada com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos, o decodificador realiza decodificação de acordo com qualquer método de decodificação de nuvem de pontos fornecido no segundo aspecto.
[0073] Alternativamente, os dados de nuvem de pontos no nono aspecto incluem um ou mais grupos de nuvens de pontos e cada grupo de nuvens de pontos inclui um ou mais quadros de nuvens de pontos. O decodificador é configurado para decodificar o fluxo de bits para obter um identificador. O identificador é usado para indicar se deve determinar um eixo tangente e um eixo bitangente de um pacote (o pacote pode ser um pacote generalizado e, neste caso, o identificador é informações baseadas em nível de GOF) em um grupo de nuvens de pontos a serem-codificadas em um ou mais grupos de nuvem de pontos com base nas informações de descrição de um tamanho de caixa delimitadora do grupo de nuvem de pontos, isto é, usado para indicar se deve decodificar o pacote no grupo de nuvens de pontos a-serem- decodificadas de acordo com o método de decodificação de nuvem de pontos fornecido no quarto aspecto. Quando o identificador é usado para indicar a determinação do eixo tangente e do eixo bitangente do pacote a-ser-decodificado no grupo de nuvens de pontos a-serem-decodificadas com base nas informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos, o decodificador realiza a decodificação de acordo com qualquer método de decodificação de nuvem de pontos fornecido no quarto aspecto.
[0074] De acordo com um décimo aspecto, uma modalidade deste pedido fornece um dispositivo de codificação, incluindo uma memória não volátil e um processador que são acoplados um ao outro, onde o processador invoca o código de programa armazenado na memória para executar alguns ou todos os passos de qualquer método no primeiro aspecto ou o terceiro aspecto.
[0075] De acordo com um décimo primeiro aspecto, uma modalidade deste pedido fornece um dispositivo de decodificação, incluindo uma memória não volátil e um processador que são acoplados um ao outro, onde o processador invoca o código de programa armazenado na memória para executar alguns ou todos os passos de qualquer método no segundo aspecto ou o quarto aspecto.
[0076] De acordo com um décimo segundo aspecto, uma modalidade deste pedido fornece um aparelho para determinar um eixo tangente e um eixo bitangente de um pacote. O aparelho pode ser configurado para executar qualquer método fornecido no quinto aspecto. Em um exemplo, o aparelho pode ser um chip. Em um projeto possível, o aparelho pode ser dividido em módulos de função de acordo com o método fornecido no quinto aspecto. Por exemplo, cada módulo de função pode ser obtido por divisão com base em cada função correspondente, ou duas ou mais funções podem ser integradas em um módulo de processamento. Em um projeto possível, o aparelho pode incluir uma memória e um processador, a memória é configurada para armazenar o código de programa e quando o código de programa é executado pelo processador, qualquer método fornecido no quinto aspecto é executado.
[0077] De acordo com um décimo terceiro aspecto, uma modalidade deste pedido fornece um aparelho de processamento, configurado para implementar funções do codificador, do decodificador ou do aparelho para determinar um eixo tangente e um eixo bitangente de um pacote. O aparelho de processamento inclui um processador e uma interface. O aparelho de processamento pode ser um chip. O processador pode ser implementado por hardware ou software. Ao ser implementado pelo hardware, o processador pode ser um circuito lógico, um circuito integrado ou semelhantes. Ao ser implementado pelo software, o processador pode ser um processador de propósito geral. Ao ser implementado pela leitura do código de software armazenado em uma memória, a memória pode ser integrada ao processador ou pode existir independentemente fora do processador.
[0078] De acordo com um décimo quarto aspecto, uma modalidade deste pedido fornece um meio de armazenamento legível por computador. Os meios de armazenamento legível por computador armazena o código de programa e o código de programa inclui uma instrução usada para executar alguns ou todos os passos de qualquer método do primeiro aspecto ao quinto aspecto.
[0079] De acordo com um décimo quinto aspecto, uma modalidade deste pedido fornece um produto de programa de computador. Quando o produto de programa de computador é executado em um computador, o computador é habilitado para realizar alguns ou todos os passos de qualquer método do primeiro aspecto ao quinto aspecto.
[0080] Deve ser entendido que o segundo ao décimo quinto aspectos são consistentes com a solução técnica no primeiro aspecto deste pedido ou correspondem à solução técnica no primeiro aspecto deste pedido. Portanto, os efeitos benéficos dos aspectos e projetos possíveis correspondentes são semelhantes, e os detalhes não são descritos novamente.
BREVE DESCRIÇÃO DOS DESENHOS
[0081] A Figura 1 é um diagrama de blocos de um sistema de codificação de nuvem de pontos de exemplo que é aplicável a uma modalidade deste pedido; a Figura 2 é um diagrama de blocos esquemático de um codificador de exemplo que é aplicável a uma modalidade deste pedido; a Figura 3 é um diagrama estrutural esquemático de um fluxo de bits de exemplo que é aplicável a uma modalidade deste pedido; a Figura 4 é um diagrama de blocos esquemático de um decodificador de exemplo que é aplicável a uma modalidade deste pedido; a Figura 5 é um diagrama esquemático de um processo de geração de pacote que é aplicável à TMC2; a Figura 6 (a) à Figura 6 (c) são um diagrama esquemático de um pacote de exemplo que é aplicável a uma modalidade deste pedido; a Figura 7 (a) e Figura 7 (b) são um diagrama esquemático da projeção de um pacote do espaço tridimensional para um plano bidimensional na técnica anterior; a Figura 8 (a) e Figura 8 (b) são um diagrama esquemático de um mapa de ocupação de uma nuvem de pontos na técnica anterior; a Figura 9 é um fluxograma esquemático de um método de codificação de nuvem de pontos de acordo com uma modalidade deste pedido; a Figura 10 é um diagrama esquemático de uma localização de uma caixa delimitadora de uma nuvem de pontos em um sistema de coordenadas mundial de acordo com uma modalidade deste pedido; a Figura 11 (a) à Figura 11 (c) são um diagrama esquemático da projeção de um pacote do espaço tridimensional para um plano bidimensional de acordo com uma modalidade deste pedido;
a Figura 12 é um fluxograma esquemático de um método de decodificação de nuvem de pontos de acordo com uma modalidade deste pedido; a Figura 13 é um fluxograma esquemático de outro método de codificação de nuvem de pontos de acordo com uma modalidade deste pedido; a Figura 14 é um fluxograma esquemático de outro método de decodificação de nuvem de pontos de acordo com uma modalidade deste pedido; a Figura 15 é um diagrama de blocos esquemático de um codificador de acordo com uma modalidade deste pedido; a Figura 16 é um diagrama de blocos esquemático de um decodificador de acordo com uma modalidade deste pedido; e a Figura 17 é um diagrama de blocos esquemático de um dispositivo de codificação ou um dispositivo de decodificação aplicável a uma modalidade deste pedido.
DESCRIÇÃO DE MODALIDADES
[0082] Nas descrições deste pedido, "/" significa "ou" a menos que especificado de outra forma. Por exemplo, A / B pode representar A ou B. Neste relatório descritivo, "e / ou" descreve apenas uma relação de associação para descrever objetos associados e representa que podem existir três relações. Por exemplo, A e / ou B podem representar os três casos a seguir: apenas A existe, A e B existem e apenas B existe. “Uma pluralidade de" significa "dois ou mais". Além disso, para descrever claramente as soluções técnicas nas modalidades deste pedido, termos como "primeiro" e "segundo" são usados nas modalidades deste pedido para distinguir entre mesmos itens ou itens semelhantes que têm basicamente as mesmas funções e propósitos. Uma pessoa versada na técnica pode entender que os termos como "primeiro" e "segundo" não se destinam a limitar uma quantidade ou uma sequência de execução, e os termos como "primeiro" e "segundo" não indicam uma diferença definitiva. Além disso, nas descrições deste pedido, descrições como "superior", "inferior", "esquerda", "direita", "frontal" e "traseira" são fornecidas usando os desenhos anexos como exemplo.
[0083] Nas descrições deste pedido, as descrições são fornecidas usando um exemplo em que um sistema de coordenadas do espaço tridimensional é usado como um sistema de coordenadas mundial (ou referido como um sistema de coordenadas físicas), três eixos de coordenadas do sistema de coordenadas mundial são respectivamente o eixo x, o eixo y e o eixo z, e uma correspondência entre os três eixos de coordenadas e os índices dos três eixos de coordenadas é mostrada na Tabela 1. O eixo x é um eixo de coordenadas em uma direção horizontal, o eixo y é um eixo de coordenadas em uma direção vertical, e o eixo z é um eixo de coordenadas perpendicular a um plano no qual o eixo x e o eixo y estão localizados. Isso é descrito uniformemente aqui e não é descrito abaixo novamente. Tabela 1 eixo x eixo y eixo z 0 1 2
[0084] A Figura 1 é um diagrama de blocos de um sistema de codificação de nuvem de pontos de exemplo 1 que é aplicável a uma modalidade deste pedido. Neste pedido, o termo "codificação de nuvem de pontos" ou "codificação" geralmente pode se referir à codificação de nuvem de pontos ou decodificação de nuvem de pontos. Um codificador 100 no sistema de codificação de nuvem de pontos 1 pode codificar uma nuvem de pontos a-ser-codificada de acordo com qualquer método de codificação de nuvem de pontos fornecido neste pedido. Um decodificador 200 no sistema de codificação de nuvem de pontos 1 pode decodificar uma nuvem de pontos a- ser-decodificada de acordo com qualquer método de decodificação de nuvem de pontos fornecido neste pedido. Especificamente, tanto o método de codificação de nuvem de pontos quanto o método de decodificação de nuvem de pontos podem incluir: determinar um eixo tangente e um eixo bitangente de um pacote em uma nuvem de pontos (ou um grupo de nuvem de pontos) com base nas informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos (ou o grupo de nuvens de pontos) e um eixo normal do pacote. Com base nisso, uma correspondência entre as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos (ou o grupo de nuvens de pontos), o eixo normal do pacote, o eixo tangente do pacote e o eixo bitangente do pacote é adequadamente definido, para ajudar a melhorar o desempenho de codificação e decodificação de nuvem de pontos. Para análise de termos relacionados e efeitos benéficos nesta solução, consulte o seguinte.
[0085] Como mostrado na Figura 1, o sistema de codificação de nuvem de pontos 1 inclui um aparelho de origem 10 e um aparelho de destino 20. O aparelho de origem 10 gera dados de nuvem de pontos a-ser-codificada. Portanto, o aparelho de origem 10 pode ser referido como um aparelho de codificação de nuvem de pontos. O aparelho de destino 20 pode decodificar os dados de nuvem de pontos a-ser-codificada gerados pelo aparelho de origem 10. Portanto, o aparelho de destino 20 pode ser referido como um aparelho de decodificação de nuvem de pontos. Várias soluções de implementação do aparelho de origem 10, o aparelho de destino 20 ou ambos o aparelho de origem 10 e o aparelho de destino 20 podem incluir um ou mais processadores e uma memória acoplada a um ou mais processadores. A memória pode incluir, mas não está limitada a, uma memória de acesso aleatório (random access memory, RAM), uma memória somente de leitura (read-only memory, ROM), uma memória somente de leitura programável apagável eletricamente (electrically erasable programmable read-only memory, EEPROM), uma memória flash ou qualquer outro meio que pode ser usado para armazenar o código de programa desejado na forma de uma instrução ou uma estrutura de dados que pode ser acessada por um computador, conforme descrito neste relatório descritivo.
[0086] O aparelho de origem 10 e o aparelho de destino 20 podem incluir vários aparelhos, incluindo um desktop, um aparelho de computação móvel, um notebook (por exemplo, laptop), um tablet, um decodificador, um telefone portátil, como um telefone "inteligente", um aparelho de televisão, uma câmera, um aparelho de exibição, um reprodutor de mídia digital, um console de videogame, um computador no veículo ou aparelhos semelhantes.
[0087] O aparelho de destino 20 pode receber os dados de nuvem de pontos a-ser-codificada do aparelho de origem 10 através de um enlace 30. O enlace 30 pode incluir um ou mais meios ou aparelhos que podem mover os dados de nuvem de pontos a-ser-codificada do aparelho de origem 10 para o aparelho de destino 20. Em um exemplo, o enlace 30 pode incluir um ou mais meios de comunicações que permitem ao aparelho de origem 10 enviar diretamente os dados de nuvem de pontos a-ser-codificada para o aparelho de destino 20 em tempo real. Neste exemplo, o aparelho de origem 10 pode modular os dados de nuvem de pontos a-ser-codificada de acordo com um padrão de comunicação (por exemplo, um protocolo de comunicação sem fio) e pode enviar dados de nuvem de pontos modulados para o aparelho de destino 20. Os um ou mais meios de comunicação podem incluir um meio de comunicação sem fio e / ou com fio, por exemplo, um espectro de radiofrequência (radio frequency, RF) ou uma ou mais linhas de transmissão físicas. O um ou mais meios de comunicação podem constituir uma parte de uma rede baseada em pacotes e a rede baseada em pacotes é, por exemplo, uma rede de área local, uma rede de área ampla ou uma rede global (por exemplo, a internet). O um ou mais meios de comunicação podem incluir um roteador, um comutador, uma estação base ou outro dispositivo que facilita a comunicação do aparelho de origem 10 para o aparelho de destino 20.
[0088] Em outro exemplo, os dados codificados podem ser emitidos para um aparelho de armazenamento 40 através de uma interface de saída 140. Da mesma forma, os dados de nuvem de pontos a-ser-codificada podem ser acessados por uma interface de entrada 240 a partir do aparelho de armazenamento 40. O aparelho de armazenamento 40 pode incluir qualquer um de uma pluralidade de meio de armazenamento de dados distribuída ou meio de armazenamento de dados acessado localmente, por exemplo, um disco rígido, um disco Blu-ray, um disco versátil digital (digital versatile disc, DVD), uma memória somente de leitura de disco compacto (compact disc read-only memory, CD-ROM), uma memória flash, uma memória volátil ou não volátil ou qualquer outro meio de armazenamento digital apropriado configurado para armazenar os dados de nuvem de pontos a-ser-codificada.
[0089] Em outro exemplo, o aparelho de armazenamento 40 pode corresponder a um servidor de arquivos ou outro aparelho de armazenamento intermediário que pode armazenar os dados de nuvem de pontos a-ser-codificada gerados pelo aparelho de origem 10. O aparelho de destino 20 pode acessar os dados de nuvem de pontos armazenados por meio de transmissão contínua (“streaming”) ou descarregamento a partir do aparelho de armazenamento 40. O servidor de arquivos pode ser qualquer tipo de servidor que pode armazenar os dados de nuvem de pontos a-ser-codificada e enviar os dados de nuvem de pontos a-ser-codificada para o aparelho de destino 20. Um exemplo de servidor de arquivos inclui um servidor de rede (por exemplo, usado para um site), um servidor de protocolo de transferência de arquivos (file transfer protocol, FTP), um dispositivo de armazenamento anexado à rede (network attached storage, NAS) ou uma unidade de disco local. O aparelho de destino 20 pode acessar os dados de nuvem de pontos a-ser-codificada por meio de qualquer conexão de dados padrão (incluindo uma conexão de internet). A conexão de dados padrão pode incluir um canal de rádio (por exemplo, uma conexão Wi-Fi), uma conexão com fio (por exemplo, uma linha de assinante digital (digital subscriber line, DSL) ou um modem a cabo), ou uma combinação dos mesmos que é adequado para acessar os dados de nuvem de pontos a-ser-codificada armazenados no servidor de arquivos. A transmissão dos dados de nuvem de pontos a-ser-codificada do aparelho de armazenamento 40 pode ser transmissão contínua (“streaming”), transmissão de descarregamento ou uma combinação das mesmas.
[0090] O sistema de codificação de nuvem de pontos 1 descrito na Figura 1 é meramente um exemplo e as tecnologias neste pedido são aplicáveis a um aparelho de codificação de nuvem de pontos (por exemplo, codificação de nuvem de pontos ou decodificação de nuvem de pontos) que não inclui necessariamente qualquer comunicação de dados entre um aparelho de codificação de nuvem de pontos e uma nuvem de pontos aparelho de decodificação. Em outro exemplo, os dados são recuperados de uma memória local, são transmitidos em uma rede em uma maneira de transmissão contínua (“streaming”) e semelhantes. O aparelho de codificação de nuvem de pontos pode codificar os dados e armazenar os dados na memória e / ou o aparelho de decodificação de nuvem de pontos pode recuperar os dados da memória e decodificar os dados. Em muitos exemplos, aparelhos que apenas codificam dados e armazenam os dados na memória e / ou recuperam os dados da memória e decodificam os dados e que não se comunicam entre si realizam codificação e decodificação.
[0091] No exemplo da Figura 1, o aparelho de origem 10 inclui uma fonte de dados 120, o codificador 100 e a interface de saída 140. Em alguns exemplos, a interface de saída 140 pode incluir um modulador / demodulador (modem) e / ou um transmissor. A fonte de dados 120 pode incluir um aparelho de captura de nuvem de pontos (por exemplo, uma câmera), um arquivo de nuvem de pontos incluindo dados de nuvem de pontos capturados anteriormente, uma interface de alimentação de nuvem de pontos configurada para receber dados de nuvem de pontos a partir de um provedor de conteúdo de nuvem de pontos, e / ou um sistema de computação gráfica configurado para gerar dados de nuvem de pontos ou uma combinação dessas fontes de dados de nuvem de pontos.
[0092] O codificador 100 pode codificar os dados de nuvem de pontos a partir da fonte de dados 120. Em alguns exemplos, o aparelho de origem 10 envia diretamente os dados de nuvem de pontos a-ser-codificada para o aparelho de destino 20 por meio da interface de saída 140. Em outro exemplo, os dados de nuvem de pontos a-ser-codificada podem ser alternativamente armazenados no aparelho de armazenamento 40, de modo que o aparelho de destino 20 acesse subsequentemente os dados de nuvem de pontos a-ser- codificada para decodificação e / ou reprodução.
[0093] No exemplo da Figura 1, o aparelho de destino 20 inclui a interface de entrada 240, o decodificador 200 e um aparelho de exibição 220. Em alguns exemplos, a interface de entrada 240 inclui um receptor e / ou um modem. A interface de entrada 240 pode receber os dados de nuvem de pontos a- ser-codificada através do enlace 30 e / ou do aparelho de armazenamento 40. O aparelho de exibição 220 pode ser integrado com o aparelho de destino 20 ou pode estar localizado fora do aparelho de destino 20. Normalmente, o aparelho de exibição 220 exibe dados de nuvem de pontos decodificados. Pode haver uma pluralidade de tipos de aparelhos de exibição 220, por exemplo, uma exibição de cristal líquido (liquid crystal display, LCD), uma exibição de plasma, uma exibição de diodo orgânico emissor de luz (organic light-emitting diode, OLED) ou outro tipo de aparelho de exibição.
[0094] Embora não mostrado na Figura 1, em alguns aspectos, o codificador 100 e o decodificador 200 podem ser respectivamente integrados com um codificador de áudio e um decodificador de áudio, e podem incluir uma unidade de multiplexador-demultiplexador (multiplexer-demultiplexer, MUX-DEMUX) apropriada ou outro hardware e software, para processar a codificação de áudio e vídeo em um fluxo de dados combinado ou um fluxo de dados separado. Em alguns exemplos, se apropriado, a unidade de MUX-DEMUX pode estar em conformidade com um protocolo de multiplexador ITU H.223 ou outro protocolo, como um protocolo de datagrama de usuário (user datagram protocol, UDP).
[0095] O codificador 100 e o decodificador 200 podem ser implementados, cada um, por exemplo, como qualquer um de uma pluralidade de circuitos: um ou mais microprocessadores, um processador de sinal digital (digital signal processor, DSP), um circuito integrado de aplicação específica (application-specific integrated circuit, ASIC), uma matriz de portas programáveis em campo (field-programmable gate array, FPGA), lógica discreta, hardware ou qualquer combinação dos mesmos. Se este pedido for implementado parcialmente por meio de software, o aparelho pode armazenar, em um meio de armazenamento legível por computador não volátil apropriado, uma instrução usada para o software, e pode usar um ou mais processadores para executar a instrução em hardware, para implementar a tecnologia neste pedido. Qualquer um dos conteúdos anteriores (incluindo hardware, software, uma combinação de hardware e software e semelhantes) pode ser considerado como um ou mais processadores. O codificador 100 e o decodificador 200 cada um pode ser incluído em um ou mais codificadores ou decodificadores, e o codificador ou o decodificador pode ser integrado como uma parte de um codificador / decodificador combinado (codec) em um aparelho correspondente.
[0096] Neste pedido, o codificador 100 pode ser geralmente referido como outro aparelho que "sinaliza" ou "envia" algumas informações para, por exemplo, o decodificador 200. O termo "sinalizar" ou "enviar" pode geralmente referir-se à transmissão de um elemento de sintaxe e / ou outros dados usados para decodificar dados de nuvem de pontos compactados. A transmissão pode ocorrer em tempo real ou quase em tempo real. Como alternativa, a comunicação pode ocorrer após um período de tempo. Por exemplo, a comunicação pode ocorrer quando um elemento de sintaxe em um fluxo de bits codificado é armazenado em um meio de armazenamento legível por computador durante a codificação, e o aparelho de decodificação pode, então, recuperar o elemento de sintaxe a qualquer momento após o elemento de sintaxe ser armazenado no meio.
[0097] Em um exemplo, o codificador 100 pode ser configurado para codificar um elemento de sintaxe relacionado a uma nuvem de pontos atual (ou grupo de nuvens de pontos) em um fluxo de bits. O elemento de sintaxe pode incluir informações usadas para indicar um eixo tangente e um eixo bitangente de um pacote na nuvem de pontos atual (ou grupo de nuvem de pontos). As informações podem incluir um identificador usado para indicar se deve determinar o eixo tangente e o eixo bitangente do pacote na nuvem de pontos atual (ou grupo de nuvem de pontos) com base nas informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos atual (ou grupo de nuvens de pontos) (isto é, um identificador usado para indicar se o decodificador 200 determina o eixo tangente e o eixo bitangente do pacote para a nuvem de pontos atual (ou grupo de nuvens de pontos) usando um método fornecido neste pedido). Os processos de processamento de dados do codificador 100 e do decodificador 200 são iguais (ou correspondentemente iguais). Portanto, se o identificador é usado para indicar para determinar o eixo tangente e o eixo bitangente do pacote na nuvem de pontos atual (ou grupo de nuvem de pontos) com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos atual (ou grupo de nuvens de pontos), ao codificar o elemento de sintaxe relacionado à nuvem de pontos atual (ou grupo de nuvem de pontos) no fluxo de bits, o codificador 100 pode enviar o fluxo de bits para o decodificador 200, e pode determinar o eixo tangente e o eixo bitangente do pacote na nuvem de pontos atual (ou grupo de nuvens de pontos) com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos atual (ou grupo de nuvens de pontos).
[0098] Em um exemplo, o decodificador 200 pode ser configurado para analisar um fluxo de bits, para obter um elemento de sintaxe relacionado a uma nuvem de pontos atual (ou grupo de nuvens de pontos). O elemento de sintaxe pode incluir um identificador usado para indicar para determinar um eixo tangente e um eixo bitangente de um pacote na nuvem de pontos atual (ou grupo de nuvem de pontos) com base nas informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos atual (ou grupo de nuvens de pontos). Neste caso, o decodificador 200 pode determinar o eixo tangente e o eixo bitangente do pacote na nuvem de pontos atual (ou grupo de nuvem de pontos) com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos atual (ou grupo de nuvem de pontos).
[0099] Deve ser notado que, durante a implementação real, a determinação do eixo tangente e do eixo bitangente do pacote na nuvem de pontos atual (ou grupo de nuvens de pontos) com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos atual (ou grupo de nuvens de pontos) pode ser predefinido (por exemplo, predefinido de acordo com um protocolo) pelo codificador 100 e o decodificador 200. Neste caso, um elemento de sintaxe (que refere-se especificamente aos dados de filtragem de imagem) enviado pelo codificador 100 para o decodificador 200 pode não incluir o identificador anterior.
[00100] A Figura 2 é um diagrama de blocos esquemático de um codificador de exemplo 100 que é aplicável a uma modalidade deste pedido. Uma estrutura de codificação de compressão de nuvem de pontos (Point Cloud Compression, PCC) de MPEG (Grupo de Especialistas de Imagem em Movimento) é usada como um exemplo para a descrição na Figura 2. No exemplo da Figura 2, o codificador 100 pode incluir um módulo de geração de informações de pacote 101, um módulo de empacotamento 102, um módulo de geração de mapa de profundidade 103, um módulo de geração de mapa de textura 104, um módulo de preenchimento de imagem 105, um módulo de codificação baseado em imagem ou vídeo 106, um módulo de codificação de mapa de ocupação 107, um módulo de codificação de informações auxiliares 108, um módulo de multiplexação 109 e semelhantes.
[00101] O módulo de geração de informações de pacote 101 é configurado para segmentar um quadro de nuvem de pontos em uma pluralidade de pacotes usando um método, e obter informações relacionadas dos pacotes gerados e semelhantes.
O pacote é um conjunto que inclui alguns pontos em um quadro de nuvem de pontos.
Normalmente, uma região conectada corresponde a um pacote.
As informações relacionadas ao pacote podem incluir, mas não estão limitadas a pelo menos uma das seguintes informações: uma quantidade de pacotes obtidos pela segmentação da nuvem de pontos, informações de localização de cada pacote no espaço tridimensional, um índice de um eixo tangente de cada pacote, um índice de um eixo bitangente de cada pacote, um índice de um eixo normal de cada pacote, um mapa de profundidade gerado pela projeção de cada pacote em um plano bidimensional, um tamanho do mapa de profundidade de cada pacote (por exemplo, um comprimento e uma altura do mapa de profundidade), um mapa de ocupação de cada pacote e semelhantes.
Algumas das informações relacionadas, por exemplo, a quantidade de pacotes obtidos pela segmentação da nuvem de pontos, o índice do eixo normal de cada pacote, o tamanho do mapa de profundidade de cada pacote, e as informações de localização de cada pacote na nuvem de pontos, podem ser usados como informações auxiliares, e enviados para o módulo de codificação de informações auxiliares 108 para codificação (isto é, codificação de compressão). O mapa de ocupação de cada pacote pode ser enviado para o módulo de empacotamento 102 para empacotamento.
Especificamente, os pacotes da nuvem de pontos são organizados em uma ordem específica (por exemplo, organizados em ordem decrescente (ou crescente) de comprimentos / alturas dos mapas de ocupação dos pacotes). Em seguida, os mapas de ocupação dos pacotes são sucessivamente colocados no espaço disponível para um mapa de ocupação da nuvem de pontos na ordem dos pacotes organizados, para obter o mapa de ocupação da nuvem de pontos. Além disso, as informações de localização específicas de cada pacote no mapa de ocupação da nuvem de pontos, o mapa de profundidade de cada pacote e semelhantes podem ser enviadas para o módulo de geração de mapa de profundidade 103.
[00102] Depois de obter o mapa de ocupação da nuvem de pontos, o módulo de empacotamento 102 pode enviar o mapa de ocupação da nuvem de pontos para o módulo de codificação de mapa de ocupação 107 para codificação e pode guiar separadamente o módulo de geração de mapa de profundidade 103 e o módulo de geração de mapa de textura 104 usando o mapa de ocupação da nuvem de pontos. O módulo de geração de mapa de profundidade 103 é configurado para: gerar um mapa de profundidade da nuvem de pontos com base no mapa de ocupação da nuvem de pontos e o mapa de ocupação e o mapa de profundidade de cada pacote da nuvem de pontos, e enviar o mapa de profundidade gerado para o módulo de preenchimento de imagem 105, de modo que o módulo de preenchimento de imagem 105 preencha um pixel vazio no mapa de profundidade recebido para obter um mapa de profundidade preenchido. A codificação de vídeo é realizada no mapa de profundidade preenchido, a decodificação de vídeo é realizada para obter um mapa de profundidade decodificado da nuvem de pontos, e as informações de geometria de uma nuvem de pontos reconstruída são obtidas usando o mapa de profundidade decodificado, o mapa de ocupação da nuvem de pontos, e informações auxiliares de cada pacote. As informações de textura da nuvem de pontos e as informações de geometria da nuvem de pontos reconstruída são enviadas para um módulo de coloração, para colorir a nuvem de pontos reconstruída, de modo a obter informações de textura da nuvem de pontos reconstruída. O módulo de geração de mapa de textura 104 é configurado para: gerar um mapa de textura da nuvem de pontos com base no mapa de ocupação da nuvem de pontos, as informações de textura da nuvem de pontos reconstruída, e o mapa de ocupação de cada pacote da nuvem de pontos, e enviar o mapa de textura gerado para o módulo de preenchimento de imagem 105, de modo que o módulo de preenchimento de imagem 105 preencha um pixel vazio no mapa de textura recebido para obter um mapa de textura preenchido. Opcionalmente, o módulo de geração de mapa de textura 104 pode, alternativamente, gerar um mapa de textura da nuvem de pontos com base nas informações obtidas por meio da filtragem realizada por um módulo de filtragem 110 nas informações de geometria da nuvem de pontos reconstruída.
[00103] O mapa de profundidade preenchido e o mapa de textura preenchido são enviados pelo módulo de preenchimento de imagem 105 para o módulo de codificação baseado em imagem ou baseado em vídeo 106, para realizar codificação baseada em imagem ou baseada em vídeo.
[00104] Finalmente, o módulo de codificação baseado em imagem ou baseado em vídeo 106, o módulo de codificação de mapa de ocupação 107 e o módulo de codificação de informações auxiliares 108 enviam os resultados de codificação obtidos (isto é, fluxos de bits) para o módulo de multiplexação 109, e o módulo de multiplexação 109 realiza combinação para formar um fluxo de bits, onde o fluxo de bits pode ser enviado para a interface de saída 140.
[00105] Pode ser entendido que o codificador 100 mostrado na Figura 2 é apenas um exemplo. Em implementação específica, o codificador 100 pode incluir mais ou menos módulos do que aqueles mostrados na Figura 2. Isso não está limitado nesta modalidade deste pedido.
[00106] Pode ser aprendido a partir da descrição anterior que o módulo de codificação de informações auxiliares 108 pode codificar informações baseadas em nível de pacote (como o índice do eixo normal do pacote) e informações baseadas em nível de quadro (como a quantidade de pacotes incluídos na nuvem de pontos) em um fluxo de bits. Em um exemplo, o codificador 100 pode realizar a codificação com base em um grupo de nuvem de pontos, onde cada grupo de nuvem de pontos pode incluir pelo menos dois quadros de nuvens de pontos. Neste caso, o módulo de codificação de informações auxiliares 108 pode codificar ainda mais informações baseadas em nível de GOF (como uma quantidade de quadros de nuvens de pontos incluídos em um grupo de nuvem de pontos) em um fluxo de bits. A Figura 3 é um diagrama estrutural esquemático de um fluxo de bits de exemplo que é aplicável a uma modalidade deste pedido.
[00107] O fluxo de bits mostrado na Figura 3 inclui uma parte 1101 usada para descrever informações de metadados (que também pode ser referida como um elemento de sintaxe) no fluxo de bits e a parte 1101 pode incluir especificamente os seguintes campos.
[00108] Um campo 1102 é informações de metadados de um cabeçalho de quadro em um GOF, é usado para descrever informações baseadas em nível de GOF, e pode incluir, por exemplo, informações de identificador de GOF, uma quantidade de quadros de nuvens de pontos incluídos no GOF, e informações comuns de todos os quadros de nuvens de pontos no GOF (como as informações seguintes usadas para indicar informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvens de pontos).
[00109] Um campo 1103 é informações de metadados do primeiro quadro de nuvem de pontos no GOF, é usado para descrever informações baseadas em nível de quadro relacionadas ao primeiro quadro de nuvem de pontos, e pode incluir, por exemplo, uma quantidade de pacotes incluídos no primeiro quadro de nuvem de pontos, resoluções de mapas de ocupação de todos os pacotes, uma quantidade máxima de pacotes que podem ser incluídos em cada unidade menor em um mapa de ocupação da nuvem de pontos, e informações comuns de todos os pacotes no primeiro quadro de nuvem de pontos (como as seguintes informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos).
[00110] Um campo 1104 é informações de metadados de um pacote do primeiro quadro de nuvem de pontos no GOF, é usado para descrever informações baseadas em nível de pacote relacionadas ao primeiro quadro de nuvem de pontos, e pode incluir especificamente informações de metadados do primeiro pacote no primeiro quadro da nuvem de pontos,..., informações de metadados do i-ésimo pacote,..., e informações de metadados do I-ésimo pacote sucessivamente, onde 1 ≤ i ≤ I, ambos i e I são inteiros, e I é a quantidade de pacotes incluídos no primeiro quadro da nuvem de pontos. As informações de metadados do pacote podem incluir um índice de um eixo normal do pacote e semelhantes.
[00111] Um campo 1105 é informações de metadados do j-ésimo quadro da nuvem de pontos no GOF, e é usado para descrever as informações baseadas em nível de quadro relacionadas ao j-ésimo quadro da nuvem de pontos, onde 1 <j ≤ J, ambos j e J são inteiros e J é a quantidade de quadros de nuvens de pontos incluídos no GOF.
[00112] Um campo 1106 é informações de metadados de um pacote do j-ésimo quadro de nuvem de pontos no GOF, e é usado para descrever informações baseadas em nível de pacote relacionadas ao j-ésimo quadro de nuvem de pontos.
[00113] A Figura 4 é um diagrama de blocos esquemático de um decodificador 200 de exemplo que é aplicável a uma modalidade deste pedido. Uma estrutura de decodificação de MPEG PCC é usada como um exemplo para a descrição na Figura
4. No exemplo da Figura 4, o decodificador 200 pode incluir um módulo de demultiplexação 201, um módulo de decodificação baseado em imagem ou vídeo 202, um módulo de decodificação de mapa de ocupação 203, um módulo de decodificação de informações auxiliares 204, um módulo de reconstrução de informações de geometria de nuvem de pontos 205, um módulo de filtragem 206, e um módulo de reconstrução de informações de textura de nuvem de pontos 207.
[00114] O módulo de demultiplexação 201 é configurado para enviar um fluxo de bits de entrada (isto é, um fluxo de bits combinado) para um módulo de decodificação correspondente. Especificamente, o módulo de demultiplexação 201 envia um fluxo de bits incluindo um mapa de textura codificado e um fluxo de bits incluindo um mapa de profundidade codificado para o módulo de decodificação baseado em imagem ou vídeo 202, envia um fluxo de bits incluindo um mapa de ocupação codificado para o módulo de decodificação de mapa de ocupação 203, e envia um fluxo de bits incluindo informações auxiliares codificadas para o módulo de decodificação de informações auxiliares 204.
[00115] O módulo de decodificação baseado em imagem ou baseado em vídeo 202 é configurado para: decodificar o mapa de textura codificado recebido e o mapa de profundidade codificado recebido, enviar informações de mapa de textura obtidas por meio de decodificação para o módulo de reconstrução de informações de textura de nuvem de pontos 207, e enviar informações de mapa de profundidade obtidas através da decodificação para o módulo de reconstrução de informações de geometria de nuvem de pontos 205. O módulo de decodificação de mapa de ocupação 203 é configurado para: decodificar o fluxo de bits recebido incluindo o mapa de ocupação codificado, e enviar informações de mapa de ocupação obtidas através da decodificação para o módulo de reconstrução de informações de geometria de nuvem de pontos
205. O módulo de decodificação de informações auxiliares 204 é configurado para: decodificar as informações auxiliares codificadas recebidas, e enviar informações que indicam as informações auxiliares e que são obtidas por meio de decodificação para o módulo de reconstrução de informações de geometria de nuvem de pontos 205.
[00116] O módulo de reconstrução de informações de geometria de nuvem de pontos 205 é configurado para reconstruir informações de geometria de nuvem de pontos com base nas informações de mapa de ocupação recebidas e nas informações auxiliares recebidas. Depois de ser filtrado pelo módulo de filtragem 206, as informações de geometria de nuvem de pontos reconstruída são enviadas para o módulo de reconstrução de informações de textura de nuvem de pontos
207. O módulo de reconstrução de informações de textura de nuvem de pontos 207 é configurado para reconstruir informações de textura de nuvem de pontos, para obter uma nuvem de pontos reconstruída.
[00117] Pode ser entendido que o decodificador 200 mostrado na Figura 4 é apenas um exemplo. Em implementação específica, o decodificador 200 pode incluir mais ou menos módulos do que aqueles mostrados na Figura 4. Isso não é limitado nesta modalidade deste pedido.
[00118] Para facilitar a compreensão das soluções técnicas fornecidas nas modalidades deste pedido, o seguinte descreve, usando um exemplo, um processo de geração de pacote do módulo de geração de informações de pacote 101 e informações relacionadas ao pacote obtidas pelo módulo de geração de informações de pacote 101.
[00119] A Figura 5 é um diagrama esquemático de um processo de geração de pacote aplicável à TMC2 (Categoria de Modelo de Teste 2). Os detalhes podem incluir: Uma árvore KD (árvore de dimensão K) é construída primeiro com base em uma nuvem de pontos, um ponto vizinho de cada ponto na nuvem de pontos é determinado com base na árvore KD, e um vetor de direção normal (ou seja, um vetor normal) de cada ponto é obtido com base no ponto vizinho do ponto. Em seguida, segmentação grosseira é realizada na nuvem de pontos (ou seja, um plano de projeção de cada ponto é determinado) com base no vetor de direção normal de cada ponto e um plano de projeção predefinido. Um tipo de plano de projeção predefinido é seis planos de uma caixa delimitadora da nuvem de pontos. Um método de segmentação grosseira pode incluir: calcular separadamente ângulos incluídos entre o vetor de direção normal de cada ponto e os vetores de direção normal dos seis planos, e selecionar um plano correspondente a um menor ângulo incluído como um plano de projeção do ponto. Posteriormente, é realizada a segmentação fina no plano de projeção, de cada ponto, obtido por meio da segmentação grosseira. Especificamente, um resultado de segmentação grosseira é ajustado por meio de atualização iterativa usando um plano de projeção do ponto vizinho de cada ponto. O plano de projeção de cada ponto na nuvem de pontos é determinado com base em um resultado de segmentação fina. Finalmente, uma região conectada é detectada com base em cada plano de projeção, para gerar um pacote. Por exemplo, um conjunto incluindo todos os pontos de amostragem em uma região conectada é um pacote.
[00120] A Figura 6 (a) à Figura 6 (c) são um diagrama esquemático de um pacote de exemplo que é aplicável a uma modalidade deste pedido. A Figura 6 (a) representa um quadro de nuvem de pontos. A Figura 6 (b) representa pacotes gerados com base na Figura 6 (a). Um conjunto incluindo pontos em cada região conectada na Figura 6 (b) é um pacote.
[00121] Conforme descrito acima, o módulo de geração de informações de pacote 101 pode ainda obter informações relacionadas dos pacotes gerados com base na nuvem de pontos. As informações relacionadas podem incluir um índice de um eixo tangente de cada pacote, um índice de um eixo bitangente de cada pacote, um índice de um eixo normal de cada pacote e semelhantes.
[00122] O eixo tangente do pacote é um eixo de coordenadas no qual uma tangente do pacote está localizada. O eixo bitangente do pacote é um eixo de coordenadas no qual uma bitangente do pacote está localizada. O bitangente do pacote é perpendicular ao eixo tangente do pacote. O eixo normal do pacote é um eixo de coordenadas no qual uma linha normal do pacote está localizada. O eixo normal do pacote é perpendicular a um plano bidimensional (isto é, um plano de projeção do pacote) no qual o eixo tangente e o eixo bitangente do pacote estão localizados. Para simplificar o processamento subsequente, um exemplo em que "cada eixo tangente, eixo bitangente e eixo normal do pacote é um dos eixos de coordenadas em um sistema de coordenadas mundial" é usado para descrição nas modalidades deste pedido. Isso pode reduzir a complexidade da transformada do sistema de coordenadas durante a projeção do pacote em um plano bidimensional. Certamente, este pedido não se limita a isso. Na implementação real, um sistema de coordenadas tridimensional incluindo "o eixo normal, o eixo tangente e o eixo bitangente do pacote" pode ser obtido alternativamente executando a transformada da matriz no sistema de coordenadas mundial (ou outro sistema de coordenadas de referência).
[00123] Na estrutura de codificação de MPEG PCC, o eixo tangente e o eixo bitangente do pacote são geralmente determinados de acordo com o seguinte método: primeiro determinar o índice do eixo normal do pacote e, em seguida, pesquisar na Tabela 2 para obter o índice do eixo tangente do pacote e o índice do eixo bitangente do pacote. Os índices de eixos de coordenadas na Tabela 2 são obtidos com base na Tabela 1. Tabela 2 Índice de um Índice de um eixo Índice de um eixo eixo normal de tangente do pacote bitangente do um pacote pacote 0 2 1 1 2 0 2 0 1
[00124] Referindo-se à Tabela 2, pode ser aprendido que quando o índice do eixo normal do pacote é 0, o índice do eixo tangente do pacote é 2, e o índice do eixo bitangente do pacote é 1. Para ser específico, quando o eixo normal do pacote é o eixo x, o eixo tangente do pacote é o eixo z e o eixo bitangente do pacote é o eixo y. Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00125] A Figura 7 (a) e Figura 7 (b) são um diagrama esquemático da projeção de um pacote do espaço tridimensional para um plano bidimensional. Na Figura 7, uma origem de coordenadas é denotada como O. É assumido que uma letra A mostrada na Figura 7 (a) é um pacote no espaço tridimensional, e um eixo normal do pacote é o eixo z. Além disso, assume-se que no plano bidimensional, uma direção tangente do pacote é um eixo horizontal (ou seja, um eixo U), e uma direção bitangente do pacote é um eixo vertical (ou seja, um eixo V). Nesse caso, pode ser aprendido na Tabela 2 que um eixo tangente do pacote é o eixo x, e o eixo bitangente do pacote é o eixo y. Em outras palavras, no plano bidimensional para o qual o pacote é mapeado, o eixo U é o eixo x, e o eixo V é o eixo y. Com base nisso, após o pacote ser projetado no plano bidimensional, uma imagem do projeto mostrada na Figura 7 (b) pode ser obtida.
[00126] Depois de determinar um eixo tangente e um eixo bitangente de cada pacote, o módulo de geração de informações de pacote 101 pode ainda obter uma imagem projetada obtida projetando o pacote no plano bidimensional. Um valor de coordenada de cada ponto na imagem projetada é baseado em um sistema de coordenadas determinado usando "o eixo tangente e o eixo bitangente do pacote". Então, o módulo de empacotamento 102 pode empacotar imagens projetadas de todos os pacotes no plano bidimensional (isto é, os mapas de ocupação dos pacotes descritos neste relatório descritivo), para obter um mapa de ocupação de uma nuvem de pontos.
[00127] A Figura 8 (a) e Figura 8 (b) são um diagrama esquemático de um mapa de ocupação de uma nuvem de pontos. O módulo de geração de informações de pacote 101 pode gerar pacotes da nuvem de pontos mostrada na Figura 8 (a), e obter um eixo tangente e um eixo bitangente de cada pacote com base na Tabela 2, para obter um mapa de ocupação de cada pacote. Com base nisso, após empacotar os mapas de ocupação dos pacotes, o módulo de empacotamento 102 pode obter um mapa de ocupação de uma nuvem de pontos mostrada na Figura 8 (b). Pode ser aprendido com a Figura 8 (b) que no mapa de ocupação da nuvem de pontos, alguns pacotes com alturas relativamente grandes (isto é, um lado no qual o eixo y está localizado) estão dispostos verticalmente e alguns pacotes com alturas relativamente grandes são dispostos horizontalmente (para exemplo, pacotes em uma caixa retangular). Isso causa uma grande quantidade de espaço vazio no mapa de ocupação da nuvem de pontos, como uma região na qual pixels vazios estão localizados na Figura 8 (b). Além disso, isso leva a um tamanho relativamente grande do mapa de ocupação da nuvem de pontos, e é desfavorável para a codificação de compressão de vídeo subsequente.
[00128] Além disso, como mostrado na Figura 6 (a) à Figura 6 (c), se o eixo tangente e o eixo bitangente de cada pacote forem obtidos com base na Tabela 2, um mapa de ocupação mostrado na Figura 6 (c) podem ser obtidos com base em pacotes mostrados na Figura 6 (b).
[00129] O seguinte descreve um método de codificação de nuvem de pontos e um método de decodificação de nuvem de pontos que são fornecidos nas modalidades deste pedido.
[00130] A Figura 9 é um fluxograma esquemático de um método de codificação de nuvem de pontos de acordo com uma modalidade deste pedido. Por exemplo, com referência ao sistema de codificação de nuvem de pontos mostrado na Figura 1, cada passo nesta modalidade pode ser realizado pelo aparelho de origem 10 no sistema de codificação de nuvem de pontos e, mais especificamente, pode ser realizado pelo codificador 100 no aparelho de origem 10. O método mostrado na Figura 9 pode incluir os seguintes passos.
[00131] S101: obter informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos a-ser- codificada e um eixo normal de um pacote a-ser-codificado na nuvem de pontos a-ser-codificada. A nuvem de pontos a-ser- codificada pode ser qualquer quadro de nuvem de pontos a- ser-codificada. O pacote a-ser-codificado pode ser qualquer pacote na nuvem de pontos a-ser-codificada.
[00132] Uma caixa delimitadora de uma nuvem de pontos refere-se a um cuboide mínimo em torno da nuvem de pontos. Para facilidade de descrição, nesta modalidade deste pedido, cada lado da caixa delimitadora da nuvem de pontos é paralelo ou perpendicular a um eixo de coordenadas, como o eixo x, o eixo y ou o eixo z de um sistema de coordenadas mundial. A Figura 10 é um diagrama esquemático de uma localização de uma caixa delimitadora de uma nuvem de pontos em um sistema de coordenadas mundial de acordo com uma modalidade deste pedido.
[00133] Um tamanho de caixa delimitadora da nuvem de pontos também pode ser referido como comprimentos laterais da caixa delimitadora da nuvem de pontos, um tamanho de espaço tridimensional da caixa delimitadora da nuvem de pontos ou um tamanho de espaço geométrico da caixa delimitadora da nuvem de pontos. Por exemplo, Bx, By e Bz podem ser usados para representar o tamanho de caixa delimitadora da nuvem de pontos. Bx refere-se ao tamanho de um lado, da caixa delimitadora da nuvem de pontos, no eixo x (ou paralelo ao eixo x), By refere-se ao tamanho de um lado, da caixa delimitadora da nuvem de pontos, no eixo y (ou paralelo ao eixo y), e Bz refere-se ao tamanho de um lado, da caixa delimitadora da nuvem de pontos, no eixo z (ou paralelo ao eixo z). Por exemplo, assume-se que o pacote a-ser-codificado é o i-ésimo ponto na nuvem de pontos a-ser- codificada, i = 0, 1,..., ou N – 1, e N é uma quantidade de pontos na nuvem de pontos a-ser-codificada. Nesse caso, um método para obter o tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada pode ser: Bx = max {p [i].x} - min {p [i].x}, By = max { p [i].y} - min {p [i].y} e Bz = max {p [i].z} - min {p [i].z}. p [i].x é um valor de coordenada de p [i] no eixo x, p [i].y é um valor de coordenada de p [i] no eixo y e p [i].z é um valor de coordenada de p [i] no eixo z.
[00134] As informações de descrição do tamanho de caixa delimitadora da nuvem de pontos são informações usadas para descrever o tamanho de caixa delimitadora da nuvem de pontos, e podem incluir especificamente uma relação de tamanho para o tamanho de caixa delimitadora da nuvem de pontos (ou seja, uma relação de tamanho entre Bx, By e Bz), um eixo de coordenadas (por exemplo, o eixo x, o eixo y ou o eixo z) no qual um lado mais longo da caixa delimitadora da nuvem de pontos está localizado ou semelhantes. Durante a implementação específica, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos é especificamente a relação de tamanho para o tamanho de caixa delimitadora da nuvem de pontos ou o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado pode ser predefinido, por exemplo, predefinido de acordo com um protocolo. Certamente, este pedido não se limita a isso. Por exemplo, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos podem ser indicadas alternativamente por um codificador para um decodificador, codificando informações de indicação em um fluxo de bits. Pode ser entendido que as informações de indicação são informações baseadas em nível de quadro.
[00135] Deve ser notado que, normalmente, um lado correspondente a um valor maior em Bx, By e Bz é o lado mais longo da caixa delimitadora da nuvem de pontos, um lado correspondente a um valor menor é o lado mais curto da caixa delimitadora da nuvem de pontos, e um lado correspondente a um valor entre o maior e o menor valor é o segundo lado mais longo da caixa delimitadora da nuvem de pontos. Além disso, se houver dois valores maiores em Bx, By e Bz, qualquer um dos dois valores pode ser usado como o lado mais longo da caixa delimitadora da nuvem de pontos e o outro é usado como o segundo lado mais longo. Por exemplo, se Bx = By > Bz, Bx é o lado mais longo e By é o segundo lado mais longo, ou By é o lado mais longo e Bx é o segundo lado mais longo. Se Bx, By e Bz forem iguais, qualquer um dos três pode ser usado como o lado mais longo, qualquer um dos dois restantes é usado como o segundo lado mais longo e o outro é usado como o lado mais curto.
[00136] Como obter o eixo normal do pacote a-ser- codificado não está limitado nesta modalidade deste pedido. Por exemplo, pode ser feita referência à técnica anterior. Nesta modalidade deste pedido, um exemplo em que o eixo normal do pacote a-ser-codificado é um do eixo x, o eixo y e o eixo z do sistema de coordenadas mundial é usado para a descrição.
[00137] As informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado são usadas para determinar um eixo tangente do pacote a-ser-codificado e um eixo bitangente do pacote a-ser-codificado. Por exemplo, opcionalmente, o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado podem ser determinados executando o seguinte passo S102.
[00138] S102: determinar o eixo tangente do pacote a- ser-codificado e o eixo bitangente do pacote a-ser- codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado.
[00139] Opcionalmente, o codificador pode predefinir, por exemplo, de acordo com um protocolo, uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos (ou índices da pluralidade de tipos de informações de descrição), uma pluralidade de tipos de eixos normais de um pacote (ou índices da pluralidade de tipos de eixos normais), uma pluralidade de tipos de eixos tangentes do pacote (ou índices da pluralidade de tipos de eixos tangentes) e uma pluralidade de tipos de eixos bitangentes do pacote (ou índices da pluralidade de tipos de eixos bitangentes). Então, depois de obter as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada (ou um índice das informações de descrição) e o eixo normal do pacote a-ser-codificado (ou um índice do eixo normal do pacote a-ser-codificado), o codificador obtém o eixo tangente do pacote a-ser-codificado (ou um índice do eixo tangente do pacote a-ser-codificado) e o eixo bitangente do pacote a-ser-codificado (ou um índice do eixo bitangente do pacote a-ser-codificado) com base na relação de mapeamento anterior.
[00140] Uma forma de representação específica da relação de mapeamento não é limitada nesta modalidade deste pedido. Por exemplo, a relação de mapeamento pode ser representada na forma de uma tabela, uma fórmula ou determinação lógica (por exemplo, uma operação if else ou uma operação de comutação) com base em uma condição. Um exemplo no qual a relação de mapeamento é especificamente representada na forma de uma tabela é usado principalmente a seguir para descrição. Com base nisso, ao realizar S102, o codificador pode obter o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado pesquisando a tabela. Pode ser entendido que a relação de mapeamento anterior é especificamente representada em uma ou mais tabelas. Isso não é limitado nesta modalidade deste pedido. Para facilidade de descrição, nesta modalidade deste pedido, um exemplo em que essas tabelas são especificamente representadas em uma tabela é usado para a descrição. Isso é descrito uniformemente aqui e não é descrito abaixo novamente.
[00141] Se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem a relação de tamanho para o tamanho de caixa delimitadora da nuvem de pontos, informações de descrição possíveis do tamanho de caixa delimitadora da nuvem de pontos e um índice das informações de descrição possíveis podem ser mostrados na Tabela 3. Tabela 3 Relação de tamanho para Bx ≥ Bx > By > By > Bz ≥ Bz > um tamanho de caixa By ≥ Bz > Bx > Bz ≥ Bx > By > delimitadora de uma Bz By Bz Bx By Bx nuvem de pontos Índice da relação de 0 1 2 3 4 5 tamanho para o tamanho de caixa delimitadora da nuvem de pontos
[00142] Bx ≥ By ≥ Bz pode incluir quatro casos no total: Bx > By > Bz, Bx = By > Bz, Bx > By = Bz e Bx = By =
Bz. Pode-se considerar que na Tabela 3, um exemplo em que "Bx = By > Bz, Bx > By = Bz e Bx = By = Bz" cada um compartilha o índice "0" com "Bx > By > Bz" para descrição. Alternativamente, "Bx = By > Bz" e "By > Bx > Bz" podem compartilhar o índice "2". Nesse caso, uma relação de tamanho correspondente ao índice "2" pode ser substituída por "By ≥ Bx > Bz". Alternativamente, "Bx > By = Bz" e "Bx > Bz > By" podem compartilhar o índice "1". Nesse caso, uma relação de tamanho correspondente ao índice "1" pode ser substituída por "Bx > Bz ≥ By". Alternativamente, "Bx = By = Bz" pode compartilhar um índice com qualquer relação de tamanho na Tabela 3. Por exemplo, se "Bx = By = Bz" e "Bz > By > Bx" compartilhar o índice "5", uma relação de tamanho correspondente ao índice "5" pode ser substituída por "Bz ≥ By ≥ Bx". Outros exemplos não são enumerados um a um.
[00143] By > Bz ≥ Bx pode incluir dois casos no total: By > Bz > Bx e By > Bz = Bx. Pode-se considerar que na Tabela 3, um exemplo em que "By > Bz = Bx" e "By > Bz > Bx" compartilham o índice 3 é utilizado para descrição. Alternativamente, "By > Bz = Bx" e "By > Bx > Bz" podem compartilhar o índice "2". Nesse caso, uma relação de tamanho correspondente ao índice "2" pode ser substituída por "By > Bx ≥ Bz".
[00144] Bz ≥ Bx > By pode incluir Bz > Bx > By e Bz = Bx > By. Pode-se considerar que na Tabela 3, um exemplo em que "Bz = Bx > By" e "Bz > Bx > By" compartilham o índice "4" é usado para descrição. Alternativamente, "Bz = Bx > By" e "Bx > Bz > By" podem compartilhar o índice "1". Nesse caso, uma relação de tamanho correspondente ao índice "1" pode ser substituída por "Bx ≥ Bz > By".
[00145] Deve ser notado que qualquer solução alternativa descrita acima pode ser combinada com a Tabela 3 para formar uma nova tabela usada para indicar "informações de descrição possíveis do tamanho de caixa delimitadora da nuvem de pontos e um índice das possíveis informações de descrição". Além disso, em princípio, em um caso de nenhum conflito, quaisquer duas ou mais das soluções alternativas anteriores podem ser combinadas com a Tabela 3 para formar uma nova tabela usada para indicar "informações de descrição possíveis do tamanho de caixa delimitadora da nuvem de pontos e um índice das informações de descrição possíveis". Além disso, um índice de cada relação de tamanho fornecido na Tabela 3 é apenas um exemplo e não constitui uma limitação no índice da relação de tamanho para o tamanho de caixa delimitadora da nuvem de pontos nesta modalidade deste pedido. Todos os exemplos específicos a seguir são descritos usando "as informações de descrição possíveis do tamanho de caixa delimitadora da nuvem de pontos e o índice das informações de descrição possíveis" na Tabela 3 como exemplo. Isso é descrito uniformemente aqui e não é descrito abaixo novamente.
[00146] S103: codifica um elemento de sintaxe em um fluxo de bits, onde o elemento de sintaxe inclui o índice do eixo normal do pacote a-ser-codificado e informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser- codificado. Em outras palavras, esta modalidade deste pedido suporta uma solução técnica de indicar implicitamente o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado usando as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o índice do eixo normal do pacote a-ser-codificado.
[00147] Em um exemplo, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada são informações baseadas em nível de quadro. Portanto, com referência à estrutura de fluxo de bits mostrada na Figura 3, se a nuvem de pontos a-ser-codificada é o primeiro quadro de nuvem de pontos em um GOF, em S103, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada podem ser codificadas em um campo 1103 no fluxo de bits. Com base nisso, o índice do eixo normal do pacote a-ser-codificado pode ser codificado em um campo 1104 no fluxo de bits.
[00148] Pode ser entendido que, porque as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o índice do eixo normal do pacote a-ser-codificado são informações de diferentes níveis (um é as informações baseadas em nível de quadro e o outro é as informações baseadas em nível de pacote), as duas partes de informações podem ser codificadas no fluxo de bits em momentos diferentes. Certamente, este pedido não se limita a isso.
[00149] Por exemplo, com referência ao codificador mostrado na Figura 2, S101 e S102 podem ser realizados especificamente pelo módulo de geração de informações de pacote 101 no codificador. S103 pode ser realizado pelo módulo de codificação de informações auxiliares 108 no codificador.
[00150] Uma sequência de execução de S102 e S103 não está limitada nesta modalidade deste pedido. Por exemplo, S102 pode ser realizado antes de S103, ou S103 pode ser realizado antes de S102, ou S102 e S103 podem ser realizados ao mesmo tempo.
[00151] Opcionalmente, após S102 ser realizado e antes de S103 ser realizado, o método pode incluir ainda: projetar o pacote a-ser-codificado de um sistema de coordenadas tridimensional para um sistema de coordenadas bidimensional com base no eixo tangente e o eixo bitangente do pacote a-ser-codificado. Para os passos subsequentes a serem realizados pelo codificador, consulte a descrição anterior do codificador mostrado na Figura 2, mas isso não é limitado.
[00152] Para descrições dos efeitos benéficos desta modalidade, consulte o sumário anterior. Os detalhes não são descritos aqui novamente.
[00153] Opcionalmente, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem uma relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, uma relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser especificamente a seguinte solução 1 ou solução 2. Se a solução 1 ou a solução 2 é usada especificamente pode ser predefinido (por exemplo, predefinido de acordo com um protocolo), ou pode ser notificado pelo codificador para o decodificador, codificando informações de indicação no fluxo de bits. O conteúdo específico das informações de indicação não é limitado nesta modalidade deste pedido. Por exemplo, as informações de indicação podem ser informações identificadoras da solução 1 ou da solução 2, ou podem ser uma regra de mapeamento na seguinte maneira 3. Certamente, esta modalidade deste pedido não está limitada a isso.
[00154] Opcionalmente, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, uma relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser especificamente a seguinte solução 3 ou solução 4. Se a solução 3 ou a solução 4 é especificamente usada pode ser predefinido (por exemplo, predefinido de acordo com um protocolo), ou pode ser notificado pelo codificador para o decodificador codificando informações de indicação no fluxo de bits. O conteúdo específico das informações de indicação não é limitado nesta modalidade deste pedido. Por exemplo, as informações de indicação podem ser informações de identificador da solução 3 ou da solução 4, ou podem ser uma regra de mapeamento da seguinte maneira
3. Certamente, esta modalidade deste pedido não está limitada a isso.
[00155] Solução 1: quando um eixo normal de um pacote é diferente de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos incluindo o pacote está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é um eixo bitangente do pacote. Neste caso, um eixo de coordenadas perpendicular ao eixo normal do pacote e ao eixo bitangente do pacote é um eixo tangente do pacote.
[00156] Quando um eixo normal de um pacote é o mesmo que um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos incluindo o pacote está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos está localizado é um eixo bitangente do pacote e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos está localizado é um eixo tangente do pacote.
[00157] Com base na solução 1, uma "relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, índices de uma pluralidade de tipos de eixos normais de um pacote, índices de uma pluralidade de tipos de eixos tangentes do pacote e os índices de uma pluralidade de tipos de eixos bitangentes do pacote" fornecidos nesta modalidade deste pedido podem ser mostrados na Tabela 4. Tabela 4
Índice de uma Índice de Índice de Índice de um relação de um eixo um eixo eixo tamanho para um normal de tangente do bitangente do tamanho de caixa um pacote pacote pacote delimitadora de uma nuvem de pontos 0 0 2 1 1 2 0 2 1 0 1 0 1 2 1 2 0 2 1 0 2 0 2 1 1 2 0 2 0 1 3 0 2 1 1 0 2 2 0 1 4 0 1 2 1 0 2 2 1 0 5 0 1 2 1 0 2 2 0 1
[00158] Por exemplo, referindo-se à Tabela 4, pode ser aprendido que quando um índice de uma relação de tamanho para um tamanho de caixa delimitadora de uma nuvem de pontos é 0, se um índice de um eixo normal de um pacote é 0, um índice de um eixo tangente do pacote é 2, e um índice de um eixo bitangente do pacote é 1. Com referência à Tabela 1 e Tabela 3, pode ser aprendido que este exemplo é especificamente o seguinte: quando Bx ≥ By ≥ Bz, se o eixo normal do pacote é o eixo x, o eixo tangente do pacote é o eixo z e o eixo bitangente do pacote é o eixo y.
[00159] Para outro exemplo, referindo-se à Tabela 4, pode ser aprendido que quando um índice de uma relação de tamanho para um tamanho de caixa delimitadora de uma nuvem de pontos é 4, se um índice de um eixo normal de um pacote é 1, um índice de um eixo tangente do pacote é 0, e um índice de um eixo bitangente do pacote é 2. Com referência à Tabela 1 e Tabela 3, pode ser aprendido que este exemplo é especificamente o seguinte: quando Bz ≥ Bx > By, se o eixo normal do pacote é o eixo y, o eixo tangente do pacote é o eixo x e o eixo bitangente do pacote é o eixo z.
[00160] Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00161] Solução 2: quando um eixo normal de um pacote é diferente de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos incluindo o pacote está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é um eixo tangente do pacote. Nesse caso, um eixo de coordenadas perpendicular ao eixo normal do pacote e ao eixo tangente do pacote é um eixo bitangente do pacote.
[00162] Quando um eixo normal de um pacote é o mesmo que um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos incluindo o pacote está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos está localizado é um eixo tangente do pacote, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos está localizado é um eixo bitangente do pacote.
[00163] Com base na solução 2, uma "relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, índices de uma pluralidade de tipos de eixos normais de um pacote, índices de uma pluralidade de tipos de eixos tangentes do pacote, e os índices de uma pluralidade de tipos de eixos bitangentes do pacote" fornecidos nesta modalidade deste pedido podem ser mostrados na Tabela 5. Tabela 5 Índice de uma Índice de Índice de um Índice de um relação de um eixo eixo eixo tamanho para um normal de tangente do bitangente do tamanho de caixa um pacote pacote pacote delimitadora de uma nuvem de pontos 0 0 1 2 1 0 2 2 0 1 1 0 2 1 1 0 2 2 0 1 2 0 1 2
Índice de uma Índice de Índice de um Índice de um relação de um eixo eixo eixo tamanho para um normal de tangente do bitangente do tamanho de caixa um pacote pacote pacote delimitadora de uma nuvem de pontos 1 0 2 2 1 0 3 0 1 2 1 2 0 2 1 0 4 0 2 1 1 2 0 2 0 1 5 0 2 1 1 2 0 2 1 0
[00164] Por exemplo, referindo-se à Tabela 5, pode ser aprendido que quando um índice de uma relação de tamanho para um tamanho de caixa delimitadora de uma nuvem de pontos é 0, se um índice de um eixo normal de um pacote é 0, um índice de um eixo tangente do pacote é 1, e um índice de um eixo bitangente do pacote é 2. Com referência à Tabela 1 e Tabela 3, pode ser aprendido que este exemplo é especificamente o seguinte: quando Bx ≥ By ≥ Bz, se o eixo normal do pacote é o eixo x, o eixo tangente do pacote é o eixo y e o eixo bitangente do pacote é o eixo z. Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00165] Solução 3: quando um eixo normal de um pacote é diferente de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos incluindo o pacote está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é um eixo bitangente do pacote. Neste caso, um eixo de coordenadas perpendicular ao eixo normal do pacote e ao eixo bitangente do pacote é um eixo tangente do pacote.
[00166] Quando um eixo normal de um pacote é o mesmo que um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos incluindo o pacote está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos está localizado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos está localizado é um eixo bitangente do pacote, e o outro é um eixo tangente do pacote. Especificamente, quando o eixo normal do pacote é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos incluindo o pacote está localizado, o eixo de coordenadas no qual o segundo lado mais longo da caixa delimitadora da nuvem de pontos está localizado pode ser o eixo bitangente do pacote, e o eixo de coordenadas no qual o lado mais curto da caixa delimitadora da nuvem de pontos está localizado é o eixo tangente do pacote, ou o eixo de coordenadas no qual o lado mais curto da caixa delimitadora da nuvem de pontos está localizada pode ser o eixo bitangente do pacote e o eixo de coordenadas no qual o segundo lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o eixo tangente do pacote.
[00167] Com base na solução 3, uma "relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, índices de uma pluralidade de tipos de eixos normais de um pacote, índices de uma pluralidade de tipos de eixos tangentes do pacote e os índices de uma pluralidade de tipos de eixos bitangentes do pacote" fornecidos nesta modalidade deste pedido podem ser mostrados na Tabela 6. Tabela 6 Índice de um eixo de Índice Índice Índice de um coordenadas no qual o lado de um de um eixo mais longo de uma caixa eixo eixo bitangente delimitadora de uma nuvem normal tangente do pacote de pontos está localizado de um do pacote pacote 0 0 1 2 1 2 0 2 1 0 1 0 2 1 1 0 2 2 0 1 2 0 1 2 1 0 2 2 0 1
[00168] Por exemplo, referindo-se à Tabela 6, pode ser aprendido que quando um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos está localizado é 0, se um índice de um eixo normal de um pacote é 2, um índice de um eixo tangente do pacote é 1, e um índice de um eixo bitangente do pacote é 0. Com referência à Tabela 1, pode ser aprendido que este exemplo é especificamente o seguinte: quando o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado no eixo x, se o eixo normal do pacote é o eixo z, o eixo tangente do pacote é o eixo y e o eixo bitangente do pacote é o eixo x. Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00169] A Tabela 6 mostra apenas um exemplo da "relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, índices de uma pluralidade de tipos de eixos normais de um pacote, índices de uma pluralidade de tipos de eixos tangente do pacote, e índices de uma pluralidade de tipos de eixos bitangentes do pacote” fornecido com base na solução 3. Alternativamente, quando o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o eixo x, e o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o mesmo que o eixo normal do pacote, o eixo z é o eixo tangente do pacote, e o eixo y é o eixo bitangente do pacote. Alternativamente, quando o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o eixo y, e o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o mesmo que o eixo normal do pacote, o eixo z é o eixo tangente do pacote e o eixo x é o eixo bitangente do pacote. Alternativamente, quando o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o eixo z, e o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o mesmo que o eixo normal do pacote, o eixo y é o eixo tangente do pacote e o eixo x é o eixo bitangente do pacote.
[00170] Deve ser notado que, durante a implementação específica, se a relação de mapeamento entre um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos está localizado, um índice de um eixo normal de um pacote, um índice de um eixo tangente do pacote e um índice de um eixo bitangente do pacote é a Tabela 6 ou uma nova tabela incluindo uma relação de mapeamento entre esses índices que corresponde a uma solução alternativa da Tabela 6 pode ser predefinida, por exemplo, predefinida de acordo com um protocolo.
[00171] Solução 4: quando um eixo normal de um pacote é diferente de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos incluindo o pacote está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é um eixo tangente do pacote. Nesse caso, um eixo de coordenadas perpendicular ao eixo normal do pacote e ao eixo tangente do pacote é um eixo bitangente do pacote.
[00172] Quando um eixo normal de um pacote é o mesmo que um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos incluindo o pacote está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos está localizado é um eixo bitangente do pacote, e o outro é um eixo tangente do pacote. Especificamente, quando o eixo normal do pacote é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos incluindo o pacote está localizado, o eixo de coordenadas no qual o segundo lado mais longo da caixa delimitadora da nuvem de pontos está localizado pode ser o eixo tangente do pacote, e o eixo de coordenadas no qual o lado mais curto da caixa delimitadora da nuvem de pontos está localizado é o eixo bitangente do pacote, ou o eixo de coordenadas no qual o lado mais curto da caixa delimitadora da nuvem de pontos está localizada pode ser o eixo tangente do pacote e o eixo de coordenadas no qual o segundo lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o eixo bitangente do pacote.
[00173] Com base na solução 4, uma "relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, índices de uma pluralidade de tipos de eixos normais de um pacote, índices de uma pluralidade de tipos de eixos tangentes do pacote e os índices de uma pluralidade de tipos de eixos bitangentes do pacote" fornecidos nesta modalidade deste pedido podem ser mostrados na Tabela 7. Tabela 7 Índice de um eixo de Índice Índice Índice de um coordenadas no qual o lado de um de um eixo mais longo de uma caixa eixo eixo bitangente delimitadora de uma nuvem normal tangente do pacote de pontos está localizado de um do pacote pacote 0 0 2 1 1 0 2 2 0 1 1 0 1 2 1 2 0 2 1 0 2 0 2 1 1 2 0 2 1 0
[00174] Por exemplo, referindo-se à Tabela 7, pode ser aprendido que quando um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos está localizado é 0, se um índice de um eixo normal de um pacote é 2, um índice de um eixo tangente do pacote é 0, e um índice de um eixo bitangente do pacote é 1. Com referência à Tabela 1, pode ser aprendido que este exemplo é especificamente o seguinte: quando o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado no eixo x, se o eixo normal do pacote é o eixo z, o eixo tangente do pacote é o eixo x, e o eixo bitangente do pacote é o eixo y. Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00175] A Tabela 7 mostra apenas um exemplo da "relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, índices de uma pluralidade de tipos de eixos normais de um pacote, índices de uma pluralidade de tipos de eixos tangente do pacote e índices de uma pluralidade de tipos de eixos bitangentes do pacote" fornecido com base na solução 4. Alternativamente, quando o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o eixo x, e o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o mesmo que o eixo normal do pacote, o eixo y é o eixo tangente do pacote e o eixo z é o eixo bitangente do pacote. Alternativamente, quando o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o eixo y, e o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o mesmo que o eixo normal do pacote, o eixo x é o eixo tangente do pacote e o eixo z é o eixo bitangente do pacote. Alternativamente, quando o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o eixo z, e o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado é o mesmo que o eixo normal do pacote, o eixo x é o eixo tangente do pacote e o eixo y é o eixo bitangente do pacote.
[00176] Deve ser notado que, durante a implementação específica, se a relação de mapeamento entre um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de uma nuvem de pontos está localizado, um índice de um eixo normal de um pacote, um índice de um eixo tangente do pacote e um índice de um eixo bitangente do pacote é a Tabela 7 ou uma nova tabela incluindo uma relação de mapeamento entre esses índices que corresponde a uma solução alternativa da Tabela 7 pode ser predefinida, por exemplo, predefinida de acordo com um protocolo.
[00177] Opcionalmente, S102 pode ser implementado em uma das seguintes maneiras.
[00178] Maneira 1: S102 pode incluir o seguinte passo S102-A: S102-A: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote, um eixo tangente alvo e um eixo bitangente alvo que correspondem tanto às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada quanto ao eixo normal do pacote a-ser-codificado, onde o eixo tangente alvo determinado é o eixo tangente do pacote a-ser- codificado, e o eixo bitangente alvo determinado é o eixo bitangente do pacote a-ser-codificado.
[00179] A maneira 1 pode ser substituída pelo seguinte passo S102-B: S102-B: determinar, com base em uma relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, índices de uma pluralidade de tipos de eixos normais de um pacote, índices de uma pluralidade de tipos de eixos tangente do pacote, e índices de uma pluralidade de tipos de eixos bitangentes do pacote, um índice de um eixo tangente alvo e um índice de um eixo bitangente alvo que correspondem a ambos o índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o índice do eixo normal do pacote a-ser-codificado. O índice determinado do eixo tangente alvo é o índice do eixo tangente do pacote a-ser-codificado, e o índice determinado do eixo bitangente alvo é o índice do eixo bitangente do pacote a- ser-codificado.
[00180] Especificamente, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, a relação de mapeamento pode ser mostrada na Tabela 4 ou Tabela 5. Quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, a relação de mapeamento pode ser mostrada na Tabela 6 ou Tabela 7.
[00181] Em um exemplo, referindo-se a qualquer uma da Tabela 4 à Tabela 7, um índice de cada tipo de informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos corresponde a três combinações de "um índice de um eixo tangente e um índice de um eixo bitangente”, e cada combinação de “um índice de um eixo tangente e um índice de um eixo bitangente” corresponde a um índice de um eixo normal. Por exemplo, referindo-se à Tabela 4, pode ser aprendido que se o índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada for 0, e o índice do eixo normal do pacote for 0, o índice do eixo tangente do pacote é 2, e o índice do eixo bitangente é 1. Para ser específico, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada são Bx ≥ By ≥ Bz, e o eixo normal do pacote é o eixo x, o eixo tangente do pacote é o eixo z e o eixo bitangente é o eixo y. Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00182] Maneira 2: S102 pode incluir os seguintes passos S102-C1 e S102-C2: S102-C1: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo correspondente às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, onde cada conjunto de modo tangente inclui pelo menos dois modos tangentes, e cada modo tangente inclui um eixo tangente e um eixo bitangente.
[00183] S102-C2: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de eixos normais de um pacote e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao eixo normal do pacote a-ser-codificado, onde um eixo tangente incluído no modo tangente alvo determinado é o eixo tangente do pacote a-ser-codificado, e um eixo bitangente incluído no modo tangente alvo determinado é o eixo bitangente do pacote a-ser-codificado.
[00184] As informações de descrição do tamanho de caixa delimitadora da nuvem de pontos podem estar em uma correspondência de um para um com os conjuntos de modo tangente. A nuvem de pontos aqui é uma nuvem de pontos generalizada. A pluralidade de tipos de eixos normais do pacote pode estar em uma correspondência de um para um com a pluralidade de modos tangente no conjunto de modo tangente alvo. O pacote aqui é um pacote generalizado. Como o eixo normal do pacote pode ser o eixo x, o eixo y ou o eixo z, pode haver três tipos de eixos normais do pacote. Em outras palavras, cada conjunto de modo tangente pode incluir três modos tangentes.
[00185] A maneira 2 pode ser substituída pelos seguintes passos S102-D1 e S102-D2: S102-D1: determinar, com base em uma relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo correspondente ao índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, onde cada conjunto de modo tangente inclui pelo menos dois modos tangentes, e cada modo tangente inclui um índice de um eixo tangente e um índice de um eixo bitangente.
[00186] S102-D2: determinar, com base em uma relação de mapeamento entre índices de uma pluralidade de tipos de eixos normais de um pacote e índices de uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao índice do eixo normal do pacote a-ser-codificado, onde um índice de um eixo tangente incluído no modo tangente alvo determinado é o índice do eixo tangente do pacote a-ser-codificado, e um índice de um eixo bitangente incluído no o modo tangente alvo determinado é o índice do eixo bitangente do pacote a-ser-codificado.
[00187] Especificamente, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, a relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente e a relação de mapeamento entre índices de uma pluralidade de tipos de eixos normais de um pacote e índices de uma pluralidade de modos tangentes no conjunto de modo tangente alvo podem ser mostrados na Tabela 4 ou Tabela 5. Quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, as duas relações de mapeamento podem ser mostradas na Tabela 6 ou Tabela 7.
[00188] Em um exemplo, referindo-se a qualquer uma da Tabela 4 à Tabela 7, uma combinação de “um índice de um eixo tangente de um pacote e um índice de um eixo bitangente do pacote” incluída em cada linha das duas últimas colunas da tabela representa um modo tangente. Cada modo tangente corresponde a um índice de um eixo normal. Três modos tangente correspondentes a um índice de cada tipo de informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos representam um conjunto de modo tangente correspondente às informações de descrição.
[00189] Por exemplo, referindo-se à Tabela 4, se o índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada for 0, o conjunto de modo tangente alvo correspondendo ao índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada inclui os seguintes modos tangente: um modo tangente incluindo "um índice 2 de um eixo tangente de um pacote e um índice 1 de um eixo bitangente do pacote", um modo tangente incluindo "um índice 2 de um eixo tangente de um pacote e um índice 0 de um eixo bitangente do pacote” e um modo tangente incluindo "um índice 1 de um eixo tangente de um pacote e um índice 0 de um eixo bitangente do pacote". Neste caso, se o índice do eixo normal do pacote a- ser-codificado é 0, o modo tangente correspondente ao pacote a-ser-codificado é o modo tangente incluindo "um índice 2 de um eixo tangente de um pacote e um índice 1 de um eixo bitangente do pacote". Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00190] Maneira 3: S102 pode incluir o seguinte passo S102-E: S102-E: determinar o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado de acordo com uma regra de projeção (ou referida como uma regra de projeção para projetar a nuvem de pontos a-ser-codificada) com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado, onde a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projetar um pacote na nuvem de pontos a-ser-codificada no plano bidimensional. O plano bidimensional é um plano no qual o eixo tangente e o eixo bitangente do pacote a-ser-codificado estão localizados.
[00191] Pode ser entendido que, para uma implementação específica de determinação do eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser- codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado na maneira 3 referem-se à maneira 1 ou à maneira 2.
[00192] Opcionalmente, a regra de projeção pode incluir projeção vertical ou projeção horizontal. A projeção vertical refere-se a uma regra na qual as imagens projetadas são distribuídas verticalmente quando a maioria dos pacotes em uma nuvem de pontos é projetada em um plano bidimensional. A projeção horizontal refere-se a uma regra na qual as imagens projetadas são distribuídas horizontalmente quando a maioria dos pacotes em uma nuvem de pontos é projetada em um plano bidimensional. Pode ser entendido que, durante a implementação específica, o codificador pode não precisar primeiro determinar uma quantidade específica da "maioria dos pacotes" aqui antes de determinar se a regra de projeção para projetar a nuvem de pontos a-ser-codificada indica projeção horizontal ou projeção vertical. Por exemplo, a regra de projeção para projetar a nuvem de pontos a-ser- codificada pode ser predefinida, por exemplo, predefinida de acordo com um protocolo. Para outro exemplo, a regra de projeção para projetar a nuvem de pontos a-ser-codificada pode ser obtida de acordo com um critério de custo de distorção de taxa. Certamente, este pedido não se limita a isso. Por exemplo, a regra de projeção para projetar a nuvem de pontos a-ser-codificada é determinada a partir de um conjunto de regras de projeção candidatas de acordo com o critério de custo de distorção de taxa. O conjunto de regras de projeção candidatas pode incluir pelo menos duas regras de projeção predefinidas, por exemplo, pode incluir projeção horizontal e projeção vertical.
[00193] Opcionalmente, se a regra de projeção para projetar a nuvem de pontos a-ser-codificada não for predefinida, depois de obter a regra de projeção para projetar a nuvem de pontos a-ser-codificada, o codificador pode codificar, no fluxo de bits, informações usadas para indicar a regra de projeção, para notificar o decodificador da regra de projeção. Pode ser entendido que as informações usadas para indicar a regra de projeção são informações baseadas em nível de quadro. Portanto, com referência à Figura 3, se a nuvem de pontos a-ser-codificada é o primeiro quadro de nuvem de pontos em um GOF, as informações usadas para indicar a regra de projeção podem ser codificadas no campo 1103 no fluxo de bits.
[00194] A Figura 11 (a) à Figura 11 (c) são um diagrama esquemático da projeção de um pacote do espaço tridimensional para um plano bidimensional de acordo com uma modalidade deste pedido. Na Figura 11, uma origem de coordenadas é denotada como O. É assumido que uma letra A mostrada na Figura 11 (a) é um pacote no espaço tridimensional e um eixo normal do pacote é o eixo z. Além disso, assume-se que no plano bidimensional, uma direção tangente do pacote é um eixo horizontal (ou seja, um eixo U) e uma direção bitangente do pacote é um eixo vertical (ou seja, um eixo V). Neste caso, quando um eixo tangente do pacote é o eixo x e um eixo bitangente do pacote é o eixo y, ou seja, quando o eixo U é o eixo x, e o eixo V é o eixo y,
após o pacote mostrado na Figura 11 (a) ser projetado no plano bidimensional, uma imagem projetada mostrada na Figura 11 (b) é obtida. Quando um eixo tangente do pacote é o eixo y e um eixo bitangente do pacote é o eixo x, ou seja, quando o eixo U é o eixo y e o eixo V é o eixo x, após o pacote mostrado na Figura 11 (a) ser projetado no plano bidimensional, uma imagem projetada mostrada na Figura 11 (c) é obtida. Pode ser entendido que a imagem projetada mostrada na Figura 11 (b) é distribuída verticalmente, e a imagem projetada mostrada na Figura 11 (c) é distribuída horizontalmente.
[00195] Em um exemplo, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, quando a regra de projeção para projetar a nuvem de pontos a-ser-codificada indica projeção vertical, uma relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser a solução anterior 1. Neste caso, o codificador pode obter o eixo tangente e o eixo bitangente do pacote a-ser- codificado pesquisando na Tabela 4. Quando a regra de projeção para projetar a nuvem de pontos a-ser-codificada indica projeção horizontal, uma relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser a solução anterior 2. Neste caso, o codificador pode obter o eixo tangente e o eixo bitangente do pacote a-ser-codificado pesquisando na Tabela 5.
[00196] Em um exemplo, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, quando a regra de projeção para projetar a nuvem de pontos a-ser- codificada indica projeção vertical, uma relação de mapeamento entre informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser a solução anterior 3. Neste caso, o codificador pode obter o eixo tangente e o eixo bitangente do pacote a-ser-codificado pesquisando na Tabela 6. Quando a regra de projeção para projetar a nuvem de pontos a-ser- codificada indica projeção horizontal, uma relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser a solução anterior 4. Neste caso, o codificador pode obter o eixo tangente e o eixo bitangente do pacote a-ser-codificado pesquisando na Tabela 7.
[00197] Um exemplo em que a regra de projeção inclui projeção vertical e projeção horizontal é usado acima para a descrição. Além disso, a regra de projeção pode incluir outra regra de projeção. Neste caso, o codificador pode predefinir (por exemplo, de acordo com um protocolo) uma correspondência entre cada regra de projeção e uma "relação de mapeamento entre informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote”. Portanto, após uma regra de projeção específica para projetar a nuvem de pontos a-ser-codificada ser determinada, a "relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote, e um eixo bitangente do pacote” usada para determinar o eixo tangente e o eixo bitangente do pacote a-ser- codificado pode ser obtido.
[00198] O seguinte descreve implementações específicas das informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada. Por exemplo, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada podem incluir qualquer uma das seguintes informações 1 a 7.
[00199] As informações 1 são as informações do tamanho de uma caixa delimitadora da nuvem de pontos a-ser- codificada. As informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada podem incluir o tamanho de caixa delimitadora Bx, By e Bz da nuvem de pontos a-ser- codificada. Por exemplo, se Bx = 10 centímetros (cm), By = 8 cm e Bz = 5 cm, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada podem incluir: Bx = 10 cm, By = 8 cm e Bz = 5 cm.
[00200] As informações 2 são um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser-codificada está localizado. Por exemplo, se Bx = 10 cm, By = 8 cm e Bz = 5 cm, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada podem incluir um índice "0" de um eixo de coordenadas (ou seja, o eixo x) no qual um lado mais longo (ou seja, Bx) da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado.
[00201] As informações 3 são um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora da nuvem de pontos a-ser-codificada. Por exemplo, se Bx = 10 cm, By = 8 cm e Bz = 5 cm, referindo-se à Tabela 2, pode ser aprendido que as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada podem incluir um índice "0" de uma relação de tamanho (isto é, Bx > By > Bz) entre os comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada.
[00202] As informações 4 são um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e um índice de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado.
[00203] As informações 5 são um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado.
[00204] As informações 6 são um índice de um eixo de coordenadas no qual um segundo lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado.
[00205] As informações 7 são um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um índice de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora de nuvem de pontos a-ser-codificada está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado.
[00206] Quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada podem ser implementadas usando qualquer uma das informações 1 e 3 às informações 7 anteriores. Pode ser entendido que o decodificador pode obter uma relação de tamanho entre Bx, By e Bz usando qualquer uma das informações 1 e as informações 4 às informações 7, ou pode obter uma relação de tamanho entre Bx, By e Bz usando as informações 3 com referência à Tabela 2.
[00207] Quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada podem ser implementadas usando as informações 1 ou 2 anteriores.
[00208] Pode ser entendido que, durante a implementação específica, qual das informações anteriores de 1 a 7 está incluída nas informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada pode ser predefinido (por exemplo, predefinido de acordo com um protocolo). Certamente, este pedido não se limita a isso. Por exemplo, se for pré-acordado que as informações 4 anteriores são usadas como as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, uma implementação opcional pode ser que o fluxo de bits inclui um campo 1 e um campo 2, o campo 1 é usado para indicar o índice do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e o campo 2 é usado para indicar o índice do eixo de coordenadas no qual o segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado. Além disso, as localizações dos dois campos no fluxo de bits e uma quantidade de bits ocupados por cada campo são pré-acordados pelo codificador e pelo decodificador. Neste caso, se Bx = 10 cm, By = 8 cm e Bz = 5 cm, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem o campo 1 carregando um índice 0 do eixo de coordenadas no qual o lado mais longo (isto é, Bx) da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado e o campo 2 carregando um índice 1 do eixo de coordenadas em que o segundo lado mais longo (isto é, By) da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado. Os exemplos específicos das informações 5 às informações 7 são semelhantes aos descritos neste documento e não são enumerados um por um aqui.
[00209] A Figura 12 é um fluxograma esquemático de um método de decodificação de nuvem de pontos de acordo com uma modalidade deste pedido. O método de codificação de nuvem de pontos corresponde ao método de decodificação de nuvem de pontos. Portanto, para obter explicações sobre o conteúdo relacionado nesta modalidade, consulte a modalidade anterior do método de codificação de nuvem de pontos. Por exemplo, com referência ao sistema de codificação de nuvem de pontos mostrado na Figura 1, esta modalidade pode ser realizada especificamente pelo aparelho de destino 20 no sistema de codificação de nuvem de pontos e, mais especificamente, pode ser realizada pelo decodificador 200 no aparelho de destino
20. O método mostrado na Figura 12 pode incluir os seguintes passos.
[00210] S201: analisar um fluxo de bits para obter um elemento de sintaxe. O elemento de sintaxe inclui um índice de um eixo normal de um pacote a-ser-decodificado em uma nuvem de pontos a-ser-decodificada e informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada.
[00211] A nuvem de pontos a-ser-decodificada pode ser uma nuvem de pontos transmitida por um codificador para o decodificador após o codificador codificar a nuvem de pontos a-ser-codificada anterior. Com referência à Figura 3, se a nuvem de pontos a-ser-decodificada é o primeiro quadro de nuvem de pontos em um GOF, S201 pode incluir especificamente: analisar um campo 1102 para obter as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada; e analisar um campo 1103 para obter o índice do eixo normal do pacote a-ser-decodificado. Porque as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada são informações baseadas em nível de quadro, e o índice do eixo normal do pacote a-ser-decodificado é informações baseada em nível de pacote, o decodificador pode analisar as duas informações em momentos diferentes.
[00212] As informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada podem incluir uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora da nuvem de pontos a-ser- decodificada, um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado, ou semelhantes. Durante a implementação específica, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser- decodificada ou o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado pode ser predefinido (por exemplo, predefinido de acordo com um protocolo) ou pode ser determinado analisando informações de indicação transportadas no fluxo de bits. Pode ser entendido que as informações de indicação são informações baseadas em nível de quadro.
[00213] Opcionalmente, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada podem incluem uma das seguintes informações. As informações 8 são as informações do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada. As informações 9 são um índice do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado. As informações 10 são um índice da relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada. As informações 11 são um índice do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e um índice de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado. As informações 12 são um índice do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado. As informações 13 são um índice de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado. As informações 14 são um índice do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um índice de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado.
[00214] Especificamente, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada podem incluem qualquer uma das informações 8 e informações 10 às informações 14. Quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada podem incluem qualquer uma das informações 8 e informações 9.
[00215] Opcionalmente, o decodificador pode determinar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada (ou o índice das informações de descrição) com base em informações específicas que são usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada e que são transportadas em um campo predefinido (como o campo 1102) no fluxo de bits que é predefinido (por exemplo, predefinido de acordo com um protocolo).
[00216] S202: determinar um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser- decodificado com base no índice do eixo normal do pacote a- ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise.
[00217] Opcionalmente, o decodificador pode predefinir, por exemplo, de acordo com um protocolo, uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos (ou índices da pluralidade de tipos de informações de descrição), uma pluralidade de tipos de eixos normais de um pacote (ou índices da pluralidade de tipos de eixos normais), uma pluralidade de tipos de eixos tangentes do pacote (ou índices da pluralidade de tipos de eixos tangentes) e uma pluralidade de tipos de eixos bitangentes do pacote (ou índices da pluralidade de tipos de eixos bitangentes). Em seguida, após o índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada serem obtidas analisando o fluxo de bits, o eixo tangente do pacote a-ser-decodificado (ou um índice do eixo tangente do pacote a-ser-decodificado) e o eixo bitangente do pacote a-ser- decodificado (ou um índice do eixo bitangente do pacote a-
ser-decodificado) são obtidos de acordo com a relação de mapeamento.
[00218] Se o decodificador predefinir a relação de mapeamento na forma de uma tabela (certamente, este pedido não está limitado a isso), a tabela pode ser uma relação de mapeamento mostrada em qualquer uma da Tabela 4 à Tabela 7. Com base nisso, o decodificador pode obter o eixo tangente do pacote a-ser-decodificado e o eixo bitangente do pacote a-ser-decodificado pesquisando a tabela.
[00219] S203: reconstruir as informações de geometria da nuvem de pontos a-ser-decodificada com base em eixos tangentes e eixos bitangentes de um ou mais pacotes na nuvem de pontos a-ser-decodificada, onde o um ou mais pacotes incluem o pacote a-ser-decodificado.
[00220] O método de decodificação de nuvem de pontos corresponde ao método de codificação de nuvem de pontos fornecido acima. Portanto, para efeitos benéficos que podem ser alcançados de acordo com o método de decodificação de nuvem de pontos, consulte a análise anterior dos efeitos benéficos que podem ser alcançados de acordo com o método de codificação de nuvem de pontos. Os detalhes não são descritos aqui novamente.
[00221] Opcionalmente, S202 pode ser implementado em uma das seguintes maneiras.
[00222] Maneira 1: S202 pode incluir o seguinte passo S202-A: S202-A: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote, um eixo tangente alvo e um eixo bitangente alvo que correspondem tanto às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada quanto ao eixo normal do pacote a-ser-decodificado, onde o eixo tangente alvo determinado é o eixo tangente do pacote a-ser- decodificado, e o eixo bitangente alvo determinado é o eixo bitangente do pacote a-ser-decodificado.
[00223] A maneira 1 pode ser substituída pelo seguinte passo S202-B: S202-B: determinar, com base em uma relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, índices de uma pluralidade de tipos de eixos normais de um pacote, índices de uma pluralidade de tipos de eixos tangente do pacote, e índices de uma pluralidade de tipos de eixos bitangentes do pacote, um índice de um eixo tangente alvo e um índice de um eixo bitangente alvo que correspondem a ambos o índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada e o índice do eixo normal do pacote a-ser-decodificado. O índice determinado do eixo tangente alvo é o índice do eixo tangente do pacote a-ser-decodificado, e o índice determinado do eixo bitangente alvo é o índice do eixo bitangente do pacote a-ser-decodificado.
[00224] Especificamente, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, a relação de mapeamento pode ser mostrada na Tabela 4 ou Tabela 5. Quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, a relação de mapeamento pode ser mostrada na Tabela 6 ou Tabela 7.
[00225] Em um exemplo, referindo-se a qualquer uma da Tabela 4 à Tabela 7, um índice de cada tipo de informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos corresponde a três combinações de "um índice de um eixo tangente e um índice de um eixo bitangente”, e cada combinação de “um índice de um eixo tangente e um índice de um eixo bitangente” corresponde a um índice de um eixo normal. Por exemplo, referindo-se à Tabela 4, pode ser aprendido que se o índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada for 0, e o índice do eixo normal do pacote for 0, o índice do eixo tangente do pacote é 2, e o índice do eixo bitangente é 1. Para ser mais específico, o eixo tangente do pacote é o eixo z, e o eixo bitangente do pacote é o eixo y. Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00226] Maneira 2: S202 pode incluir os seguintes passos S202-C1 e S202-C2: S202-C1: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo correspondente às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, onde cada conjunto de modo tangente inclui pelo menos dois modos tangentes, e cada modo tangente inclui um eixo tangente e um eixo bitangente.
[00227] S202-C2: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de eixos normais de um pacote e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao eixo normal do pacote a-ser-decodificado, onde um eixo tangente incluído no modo tangente alvo determinado é o eixo tangente do pacote a-ser-decodificado, e um eixo bitangente incluído no modo tangente alvo determinado é o eixo bitangente do pacote a-ser-decodificado.
[00228] A maneira 2 pode ser substituída pelos seguintes passos S202-D1 e S202-D2: S202-D1: determinar, com base em uma relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo correspondente ao índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, onde cada conjunto de modo tangente inclui pelo menos dois modos tangentes, e cada modo tangente inclui um índice de um eixo tangente e um índice de um eixo bitangente.
[00229] S202-D2: determinar, com base em uma relação de mapeamento entre índices de uma pluralidade de tipos de eixos normais de um pacote, e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao índice do eixo normal do pacote a- ser-decodificado, onde um índice de um eixo tangente incluído no modo tangente alvo determinado é o índice do eixo tangente do pacote a-ser-decodificado e um índice de um eixo bitangente incluído no modo tangente alvo determinado é o índice do eixo bitangente do pacote a-ser-decodificado.
[00230] Para implementações específicas e descrições relacionadas da relação de mapeamento entre índices de uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente e a relação de mapeamento entre índices de uma pluralidade de tipos de eixos normais de um pacote, e uma pluralidade de modos tangente no conjunto de modo tangente alvo, consulte as descrições anteriores.
[00231] Por exemplo, referindo-se à Tabela 4, se o índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada for 0, o conjunto de modo tangente alvo correspondendo ao índice das informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem os seguintes modos tangentes: um modo tangente incluindo "um índice 2 de um eixo tangente de um pacote e um índice 1 de um eixo bitangente do pacote", um modo tangente incluindo "um índice 2 de um eixo tangente de um pacote e um índice 0 de um eixo bitangente do pacote” e um modo tangente incluindo “um índice 1 de um eixo tangente de um pacote e um índice 0 de um eixo bitangente do pacote”. Neste caso, se o índice do eixo normal do pacote a-ser-decodificado é 0, o modo tangente correspondente ao pacote a-ser-decodificado é o modo tangente incluindo "um índice 2 de um eixo tangente de um pacote e um índice 1 de um eixo bitangente do pacote”. Um princípio de outro exemplo é semelhante ao descrito neste documento, e não há mais exemplos enumerados.
[00232] Maneira 3: S202 pode incluir o seguinte passo S202-E: S202-E: determinar o eixo tangente do pacote a-ser- decodificado e o eixo bitangente do pacote a-ser- decodificado de acordo com uma regra de projeção (ou referida como uma regra de projeção para projetar a nuvem de pontos a-ser-decodificada) com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada e o eixo normal do pacote a-ser-decodificado, onde a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida através da projeção de um pacote na nuvem de pontos a-ser- decodificada no plano bidimensional. O plano bidimensional é um plano no qual o eixo tangente e o eixo bitangente do pacote a-ser-decodificado estão localizados.
[00233] Opcionalmente, a regra de projeção pode incluir projeção vertical ou projeção horizontal.
[00234] Em um exemplo, a regra de projeção para projetar a nuvem de pontos a-ser-decodificada pode ser predefinida, por exemplo, predefinida de acordo com um protocolo.
[00235] Em um exemplo, a regra de projeção para projetar a nuvem de pontos a-ser-decodificada pode ser obtida pelo decodificador analisando o fluxo de bits. O elemento de sintaxe obtido pela análise do fluxo de bits inclui informações usadas para indicar a regra de projeção para projetar a nuvem de pontos a-ser-decodificada. As informações usadas para indicar a regra de projeção para projetar a nuvem de pontos a-ser-decodificada são informações baseadas em nível de quadro. Um tipo específico de informações usadas para indicar a regra de projeção para projetar a nuvem de pontos a-ser-decodificada não é limitada nesta modalidade deste pedido. Por exemplo, as informações podem ser um índice da regra de projeção. Por exemplo, se a regra de projeção indica projeção vertical, o índice da regra de projeção pode ser 0. Se a regra de projeção indica projeção horizontal, o índice da regra de projeção pode ser
1. Certamente, este pedido não se limita a isso.
[00236] Em um exemplo, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos, quando a regra de projeção para projetar a nuvem de pontos a-ser-decodificada indica projeção vertical, uma relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser a solução anterior 1. Neste caso, o decodificador pode obter o eixo tangente e o eixo bitangente do pacote a-ser- decodificado pesquisando na Tabela 4. Quando a regra de projeção para projetar a nuvem de pontos a-ser-decodificada indica projeção horizontal, uma relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser a solução anterior 2. Neste caso, o decodificador pode obter o eixo tangente e o eixo bitangente do pacote a-ser-decodificado pesquisando na Tabela 5.
[00237] Em um exemplo, se as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos está localizado, quando a regra de projeção para projetar a nuvem de pontos a-ser- decodificada indica projeção vertical, uma relação de mapeamento entre informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser a solução anterior 3. Neste caso, o decodificador pode obter o eixo tangente e o eixo bitangente do pacote a-ser-decodificado pesquisando na Tabela 6. Quando a regra de projeção para projetar a nuvem de pontos a-ser- decodificada indica projeção horizontal, uma relação de mapeamento entre as informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote pode ser a solução anterior 4. Neste caso, o decodificador pode obter o eixo tangente e o eixo bitangente do pacote a-ser-decodificado pesquisando na Tabela 7.
[00238] Pode ser entendido que, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o índice da relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, ou quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o índice do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, opcionalmente, S202 pode ser implementado usando qualquer uma da maneira 1 à maneira 3 fornecidas acima ou uma maneira alternativa da maneira.
[00239] Pode ser entendido que, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, se as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem as informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, o método pode ainda incluir: obter a relação de tamanho entre os comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada com base nas informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada. Então, opcionalmente, S202 pode ser implementado usando qualquer uma da maneira 1 à maneira 3 fornecidas acima ou uma maneira alternativa da maneira.
[00240] Pode ser entendido que, quando as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, se as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem as informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, o método pode incluir ainda: obter, com base nas informações de tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado. Então, opcionalmente, S202 pode ser implementado usando qualquer um na maneira 1 à maneira 3 fornecidas acima ou uma maneira alternativa da maneira.
[00241] A Figura 13 é um fluxograma esquemático de outro método de codificação de nuvem de pontos de acordo com uma modalidade deste pedido. Para obter explicações sobre o conteúdo relacionado nesta modalidade, consulte as descrições anteriores. O método mostrado na Figura 13 pode incluir os seguintes passos.
[00242] S301: obter informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvens de pontos a-serem-codificadas e um eixo normal de um pacote a-ser- codificado no grupo de nuvens de pontos a-serem-codificadas, onde o grupo de nuvem de pontos (ou seja, um GOF) inclui pelo menos dois quadros de nuvens de pontos. O grupo de nuvens de pontos a-serem-codificadas pode ser qualquer grupo de nuvem de pontos que tenha um requisito de codificação.
[00243] Uma implementação específica do uso de nuvens de pontos específicos como um grupo de nuvens de pontos não é limitada nesta modalidade deste pedido. Por exemplo, pode ser feita referência à técnica anterior. Por exemplo, 32 quadros consecutivos de nuvens de pontos podem ser usados como um grupo de nuvens de pontos.
[00244] As informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvem de pontos podem incluir uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora do grupo de nuvem de pontos, um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora do grupo de nuvem de pontos está localizado, ou semelhante.
[00245] Opcionalmente, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos podem ser informações de descrição de um tamanho de caixa delimitadora de um quadro de nuvem de pontos (por exemplo, o primeiro quadro de nuvem de pontos) no grupo de nuvem de pontos.
[00246] Opcionalmente, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos podem ser obtidas coletando estatísticas sobre as informações de descrição dos tamanhos de caixa delimitadora de algumas ou todas as nuvens de pontos no grupo de nuvem de pontos. Por exemplo, informações de descrição com uma frequência de aparecimento mais alta nas informações de descrição dos tamanhos de caixa delimitadora de algumas ou todas as nuvens de pontos no grupo de nuvem de pontos podem ser usadas como as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos. Detalhes a seguir: quando as informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora do grupo de nuvem de pontos, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos podem ser uma relação de tamanho com uma frequência de aparecimento mais alta em relações de tamanho entre comprimentos laterais de caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos. Por exemplo, referindo-se à Tabela 2, uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora de cada nuvem de pontos pode ser um dos seis casos possíveis mostrados na Tabela 2. Se for aprendido, por coletar estatísticas sobre a relação de tamanho entre os lados comprimentos da caixa delimitadora de cada nuvem de pontos no grupo de nuvens de pontos, que Bx ≥ By ≥ Bz tem uma frequência de aparecimento mais alta nos seis casos possíveis, Bx ≥ By ≥ Bz é usado como uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas.
[00247] Quando as informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora do grupo de nuvem de pontos está localizado, as informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos podem ser um eixo de coordenadas com uma frequência de aparecimento mais alta em eixos de coordenadas em que os lados mais longos das caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos estão localizados. Por exemplo, um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de cada nuvem de pontos está localizado pode ser um dos eixos x, y e z. Se for aprendido, ao coletar estatísticas no eixo de coordenadas no qual o lado mais longo da caixa delimitadora de cada nuvem de pontos no grupo de nuvem de pontos está localizado, que o eixo x tem uma frequência de aparecimento mais alta, o eixo x é usado como as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas.
[00248] As informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas e o eixo normal do pacote a-ser-codificado são usadas para determinar um eixo tangente do pacote a-ser- codificado e um eixo bitangente do pacote a-ser-codificado. Por exemplo, opcionalmente, o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado podem ser determinados executando o seguinte passo S302.
[00249] S302: determinar o eixo tangente do pacote a- ser-codificado e o eixo bitangente do pacote a-ser- codificado com base nas informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas e o eixo normal do pacote a-ser-codificado.
[00250] Nesta modalidade, para todos os pacotes a- serem-codificados em todos os quadros de nuvens de pontos no grupo de nuvens de pontos a-serem-codificadas, um codificador usa informações de descrição de um mesmo tipo para determinar os eixos tangentes dos pacotes a-serem- codificados e eixos bitangentes dos pacotes a-serem- codificados.
[00251] Por exemplo, uma solução obtida após as "informações de descrição do tamanho de caixa delimitadora da nuvem de pontos" na maneira 1 (ou uma solução alternativa na maneira 1) ou na maneira 2 (ou uma solução alternativa na maneira 2) de S102 no método de codificação de nuvem de pontos mostrado na Figura 9 serem substituídas pelas "informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos" pode ser usada como uma implementação específica de S302 nesta modalidade. Os detalhes não são descritos aqui.
[00252] Por exemplo, uma solução obtida após as "informações de descrição do tamanho de caixa delimitadora da nuvem de pontos" na maneira 3 de S102 no método de codificação de nuvem de pontos mostrado na Figura 9 serem substituídas pelas “informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos" e a "regra de projeção para projetar a nuvem de pontos a-ser-codificada" ser substituída por uma "regra de projeção para projetar o grupo de nuvens de pontos a-serem-codificadas de nuvem de pontos" pode ser usada como uma implementação específica de S302 nesta modalidade. Os detalhes não são descritos aqui. Pode ser entendido que a regra de projeção para projetar o grupo de nuvens de pontos a-serem-codificadas é as informações baseadas em nível de GOF. Portanto, se as informações usadas para indicar a regra de projeção para projetar o grupo de nuvens de pontos a-serem-codificadas deve ser codificada em um fluxo de bits, com referência à estrutura de fluxo de bits mostrada na Figura 3, o codificador pode codificar as informações em um campo 1102.
[00253] Por exemplo, uma relação de mapeamento obtida após as “informações de descrição do tamanho de caixa delimitadora da nuvem de pontos" na solução 1 à solução 4 anteriores serem substituídas pelas “informações de descrição do tamanho de caixa delimitadora do grupo de nuvem de pontos" pode ser usada como uma "relação de mapeamento entre informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvem de pontos, um eixo normal de um pacote, um eixo tangente do pacote e um eixo bitangente do pacote" nesta modalidade.
[00254] S303: codificar um elemento de sintaxe em um fluxo de bits, onde o elemento de sintaxe inclui um índice do eixo normal do pacote a-ser-codificado e informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado.
[00255] As informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas são informações baseadas em nível de GOF. Portanto, se as informações devem ser codificadas no fluxo de bits, com referência à estrutura de fluxo de bits mostrada na Figura 3, o codificador pode codificar as informações no campo 1102.
[00256] Opcionalmente, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas podem incluir um dos seguintes: informações de tamanho de uma caixa delimitadora do grupo de nuvens de pontos a-ser-codificadas; um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas está localizado; um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora do grupo de nuvens de pontos a-
serem-codificadas; um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas está localizado, e um índice de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora do grupo de nuvem de pontos a-serem-codificadas está localizado; um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora do grupo de nuvem de pontos a-serem-codificadas está localizado; um índice de um eixo de coordenadas no qual um segundo lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora do grupo de nuvem de pontos a- serem-codificadas está localizado; ou um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas está localizado, um índice de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora do grupo de nuvem de pontos a-serem-codificadas está localizado, e um índice de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas está localizado.
As informações de tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas podem ser informações de tamanho de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-codificadas, ou podem ser informações de tamanho com uma maior frequência de aparecimento em informações de tamanho de caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-ser-codificadas. Um princípio de outro método para determinar o eixo de coordenadas no qual o segundo lado mais longo da caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas está localizado e o eixo de coordenadas no qual o lado mais curto da caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas está localizado é semelhante ao descrito neste documento e os detalhes não são descritos neste documento novamente.
[00257] Uma sequência de execução de S302 e S303 não está limitada nesta modalidade deste pedido. Por exemplo, S302 pode ser realizado antes de S303, ou S303 pode ser realizado antes de S302, ou S302 e S303 podem ser realizados ao mesmo tempo.
[00258] Opcionalmente, após S302 ser realizado e antes de S303 ser realizado, o método pode incluir ainda: projetar o pacote a-ser-codificado de um sistema de coordenadas tridimensional para um sistema de coordenadas bidimensional com base no eixo tangente e o eixo bitangente do pacote a-ser-codificado. Para os passos subsequentes a serem realizados pelo codificador, consulte a descrição anterior do codificador mostrado na Figura 2, mas isso não é limitado.
[00259] Para efeitos benéficos do método de codificação de nuvem de pontos fornecido nesta modalidade, consulte os efeitos benéficos do método de codificação de nuvem de pontos fornecido acima. Além disso, pode ser entendido que, como a codificação é realizada com base no grupo de nuvem de pontos neste pedido, em comparação com aqueles em uma solução técnica de realização de codificação com base em uma nuvem de pontos, complexidade de codificação pode ser reduzida, e sobrecargas de bits de transmissão de fluxo de bits podem ser reduzidas.
[00260] A Figura 14 é um fluxograma esquemático de um método de decodificação de nuvem de pontos de acordo com uma modalidade deste pedido. Para obter explicações sobre o conteúdo relacionado nesta modalidade, consulte as descrições anteriores. O método mostrado na Figura 14 pode incluir os seguintes passos.
[00261] S401: analisar um fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe inclui um índice de um eixo normal de um pacote a-ser-decodificado em um grupo de nuvens de pontos a-serem-decodificadas e as informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas, e o grupo de nuvem de pontos inclui pelo menos dois quadros de nuvens de pontos.
[00262] S402: determinar um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser- decodificado com base no índice do eixo normal do pacote a- ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas que são obtidas por meio de análise.
[00263] S403: reconstruir as informações de geometria de uma nuvem de pontos a-ser-decodificada no grupo de nuvens de pontos a-serem-decodificadas com base em eixos tangentes e eixos bitangentes de um ou mais pacotes na nuvem de pontos a-ser-decodificada, onde o um ou mais pacotes incluem o pacote a-ser-decodificado.
[00264] Opcionalmente, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas incluem informações de tamanho de uma caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas, um índice de um eixo de coordenadas em que um lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas está localizado, um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas ou semelhante.
[00265] Deve ser notado que, para explicações de conteúdo relacionado, implementações específicas de passos relacionados e semelhantes nesta modalidade, consulte diretamente as descrições anteriores. Alternativamente, as explicações e as implementações podem ser obtidas por meio de inferência de acordo com o método fornecido acima. Os detalhes não são descritos aqui.
[00266] O método de decodificação de nuvem de pontos fornecido nesta modalidade corresponde ao método de codificação de nuvem de pontos mostrado na Figura 13. Portanto, para efeitos benéficos que podem ser alcançados de acordo com o método de decodificação de nuvem de pontos, consulte a descrição anterior. Os detalhes não são descritos aqui novamente.
[00267] Deve ser notado que um método para determinar um eixo tangente e um eixo bitangente de um pacote nas modalidades deste pedido está incluído nas modalidades do método de codificação de nuvem de pontos e do método de decodificação de nuvem de pontos fornecidos acima. Portanto, uma modalidade separada não é fornecida.
[00268] O anterior descreve principalmente as soluções fornecidas nas modalidades deste pedido a partir de uma perspectiva do método. Para implementar as funções anteriores, o codificador e o decodificador incluem, cada um, uma estrutura de hardware e / ou módulo de software correspondente para realizar cada função. Uma pessoa versada na técnica deve estar facilmente ciente de que, em combinação com os exemplos de unidades e passos de algoritmo descritos nas modalidades divulgadas neste relatório descritivo, este pedido pode ser implementado por hardware ou uma combinação de hardware e software de computador. Se uma função é executada por hardware ou hardware acionado por software de computador depende de aplicações particulares e restrições de projeto das soluções técnicas. Uma pessoa versada na técnica pode usar métodos diferentes para implementar as funções descritas para cada aplicação particular, mas não deve ser considerado que a implementação vai além do escopo desta aplicação.
[00269] Nas modalidades deste pedido, o codificador e o decodificador podem ser divididos em módulos de função com base nos exemplos de métodos anteriores. Por exemplo, cada módulo de função pode ser obtido por divisão com base em cada função correspondente, ou duas ou mais funções podem ser integradas em um módulo de processamento. O módulo integrado pode ser implementado em uma forma de hardware ou pode ser implementado em uma forma de um módulo de função de software. Deve ser notado que, nas modalidades deste pedido,
a divisão em módulos é um exemplo e é apenas uma divisão de função lógica. Durante a implementação real, pode haver outra maneira de divisão.
[00270] A Figura 15 é um diagrama de blocos esquemático de um codificador 150 de acordo com uma modalidade deste pedido. O codificador 150 pode incluir um módulo de geração de informações de pacote 1501 e um módulo de codificação de informações auxiliares 1502. Em um exemplo, o módulo de geração de informações de pacote 1501 pode corresponder ao módulo de geração de informações de pacote 101 na Figura 2, e o módulo de codificação de informações auxiliares 1502 pode corresponder ao módulo de codificação de informações auxiliares 108 na Figura 2. Certamente, este pedido não se limita a isso.
[00271] O seguinte descreve uma implementação viável de realizar a codificação pelo codificador 150 com base em uma nuvem de pontos.
[00272] Em uma implementação viável, o módulo de geração de informações de pacote 1501 é configurado para obter informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos a-ser-codificada e um eixo normal de um pacote a-ser-codificado na nuvem de pontos a-ser-codificada. As informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado são usadas para determinar um eixo tangente do pacote a-ser-codificado e um eixo bitangente do pacote a-ser-codificado. O módulo de codificação de informações auxiliares 1502 é configurado para codificar um elemento de sintaxe em um fluxo de bits, onde o elemento de sintaxe inclui um índice do eixo normal do pacote a-ser-codificado e informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado. Por exemplo, o módulo de geração de informações de pacote 1501 pode ser configurado para realizar S101 na Figura 9 e / ou outro passo descrito nas modalidades deste pedido, e o módulo de codificação de informações auxiliares 1502 pode ser configurado para realizar S103 na Figura 9 e / ou outro passo descrito nas modalidades deste pedido.
[00273] Em uma implementação viável, o módulo de geração de informações de pacote 1501 pode ser ainda configurado para determinar o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado. Por exemplo, o módulo de geração de informações de pacote 1501 pode ser configurado para realizar S102 na Figura 9 e / ou outro passo descrito nas modalidades deste pedido.
[00274] Em uma implementação viável, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada inclui: informações de tamanho de uma caixa delimitadora da nuvem de pontos a-ser-codificada; um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser-codificada está localizado; ou um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora da nuvem de pontos a-ser-codificada.
[00275] Em uma implementação viável, o módulo de geração de informações de pacote 1501 pode ser especificamente configurado para: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo que corresponde às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, onde cada conjunto de modo tangente inclui pelo menos dois modos tangentes, e cada modo tangente inclui um eixo tangente e um eixo bitangente; e determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de eixos normais de um pacote e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao eixo normal do pacote a-ser-codificado, onde um eixo tangente incluído no modo tangente alvo determinado é o eixo tangente do pacote a-ser-codificado, e um eixo bitangente incluído no modo tangente alvo determinado é o eixo bitangente do pacote a- ser-codificado.
[00276] Em uma implementação viável, o módulo de geração de informações de pacote 1501 pode ser especificamente configurado para determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote, um eixo tangente alvo e um eixo bitangente alvo que correspondem a ambas as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado, onde o eixo tangente alvo determinado é o eixo tangente do pacote a-ser-codificado e o eixo bitangente alvo determinado é o eixo bitangente do pacote a-ser-codificado.
[00277] Em uma implementação viável, o módulo de geração de informações de pacote 1501 pode ser configurado especificamente para determinar o eixo tangente do pacote a- ser-codificado e o eixo bitangente do pacote a-ser- codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado de acordo com uma regra de projeção para projetar a nuvem de pontos a-ser- codificada, onde a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-codificada no plano bidimensional.
[00278] Em uma implementação viável, o módulo de geração de informações de pacote 1501 pode ser ainda configurado para determinar, de acordo com um critério de custo de distorção de taxa, a regra de projeção para projetar a nuvem de pontos a-ser-codificada. Opcionalmente, o elemento de sintaxe inclui ainda informações usadas para indicar a regra de projeção para projetar a nuvem de pontos a-ser-codificada.
[00279] Em uma implementação viável, a regra de projeção para projetar a nuvem de pontos a-ser-codificada é predefinida.
[00280] Em uma implementação viável, se uma regra de projeção indicar projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada, e o eixo normal do pacote a-ser- codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado; e se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado.
[00281] Alternativamente, se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser- codificada e o eixo normal do pacote a-ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo tangente do pacote a- ser-codificado; e se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado.
[00282] A regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-codificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado estão localizados.
[00283] Em uma implementação viável, se uma regra de projeção indicar projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem o eixo de coordenadas em que o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-
codificada de pontos está localizado, e o eixo normal do pacote a-ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado; e se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado, e o eixo normal do pacote a- ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo bitangente do pacote a- ser-codificado, e o outro é o eixo tangente do pacote a-ser- codificado.
[00284] Alternativamente, se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada incluem o eixo de coordenadas em que o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado, e o eixo normal do pacote a-ser- codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-
codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado; e se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado, e um de um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado, e o outro é o eixo bitangente do pacote a-ser-codificado.
[00285] A regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-codificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado estão localizados.
[00286] O seguinte descreve uma implementação viável de realizar a codificação pelo codificador 150 com base em um grupo de nuvem de pontos.
[00287] Em uma implementação viável, o módulo de geração de informações de pacote 1501 é configurado para: obter informações de descrição de um tamanho de caixa delimitadora de um grupo de nuvens de pontos a-serem- codificadas e um eixo normal de um pacote a-ser-codificado no grupo de nuvens de pontos a-serem-codificadas, onde o grupo de nuvens de pontos a-ser-codificadas inclui pelo menos dois quadros de nuvens de pontos; e determinar um eixo tangente do pacote a-ser-codificado e um eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas e o eixo normal do pacote a- ser-codificado. O módulo de codificação de informações auxiliares 1502 é configurado para codificar um elemento de sintaxe em um fluxo de bits, onde o elemento de sintaxe inclui um índice do eixo normal do pacote a-ser-codificado e informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas, e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado. Por exemplo, o módulo de geração de informações de pacote 1501 pode ser configurado para realizar S301 e S302 na Figura 13 e / ou outro passo descrito nas modalidades deste pedido, e o módulo de codificação de informações auxiliares 1502 pode ser configurado para realizar S303 na Figura 13 e / ou outro passo descrito nas modalidades deste pedido.
[00288] Em uma implementação viável, o módulo de geração de informações de pacote 1501 pode ser configurado especificamente para: usar informações de descrição de um tamanho de caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-codificadas como as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas; ou usar informações de descrição com uma frequência de aparecimento mais alta nas informações de descrição de tamanhos de caixa delimitadora de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-codificadas como as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem-codificadas.
[00289] Em uma implementação viável, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- codificadas podem incluir informações de tamanho de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-codificadas, ou informações de tamanho com uma frequência de aparecimento mais alta em tamanhos de caixa delimitadora de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-codificadas; um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-codificadas está localizado, ou um índice de um eixo de coordenadas com uma frequência de aparecimento mais alta em eixos de coordenadas nos quais lados mais longos das caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-codificadas estão localizados; ou um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-codificadas, ou um índice de uma relação de tamanho com uma frequência de aparecimento mais alta em relações de tamanho entre comprimentos laterais de caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-codificadas.
[00290] Opcionalmente, todas as soluções técnicas obtidas após informações baseadas em nível de quadro em qualquer implementação viável em que o codificador 150 realiza codificação com base em uma nuvem de pontos serem substituídas por informações baseadas em nível de GOF são aplicáveis a uma solução em que a codificação é realizada com base em um grupo de nuvens de pontos.
[00291] A Figura 16 é um diagrama de blocos esquemático de um decodificador 160 de acordo com uma modalidade deste pedido. O decodificador 160 pode incluir um módulo de decodificação de informações auxiliares 1601 e um módulo de reconstrução de informações de geometria de nuvem de pontos 1602. Em um exemplo, o módulo de decodificação de informações auxiliares 1601 pode corresponder ao módulo de decodificação de informações auxiliares 204 na Figura 4, e o módulo de reconstrução de informações de geometria de nuvem de pontos 1602 pode corresponder ao módulo de reconstrução de informações de geometria de nuvem de pontos 205 na Figura
4. Certamente, este pedido não se limita a isso.
[00292] O seguinte descreve uma implementação viável de realizar a decodificação pelo decodificador de nuvem de pontos 160 com base em uma nuvem de pontos.
[00293] Em uma implementação viável, o módulo de decodificação de informações auxiliares 1601 é configurado para: analisar um fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe inclui um índice de um eixo normal de um pacote a-ser-decodificado em um pacote a- ser-decodificado nuvem de pontos e informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada; e determinar um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-decodificado com base no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada que são obtidas por meio de análise. O módulo de reconstrução de informações de geometria de nuvem de pontos 1602 é configurado para reconstruir informações de geometria da nuvem de pontos a-ser-decodificada com base em eixos tangentes e eixos bitangentes de um ou mais pacotes na nuvem de pontos a-ser-decodificada, onde o um ou mais os pacotes incluem o pacote a-ser-decodificado. Por exemplo, o módulo de decodificação de informações auxiliares 1601 pode ser configurado para realizar S201 e S202 na Figura 12 e / ou outro passo descrito nas modalidades deste pedido. O módulo de reconstrução de informações de geometria de nuvem de pontos 1602 pode ser configurado para realizar S203 na Figura 12 e / ou outro passo descrito nas modalidades deste pedido.
[00294] Em uma implementação viável, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada podem incluem informações de tamanho de uma caixa delimitadora da nuvem de pontos a-ser-decodificada; um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado; ou um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora da nuvem de pontos a-ser-decodificada.
[00295] Em uma implementação viável, o módulo de decodificação de informações auxiliares 1601 pode ser configurado especificamente para: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo correspondente às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, onde cada conjunto de modo tangente inclui pelo menos dois modos tangentes, e cada modo tangente inclui um eixo tangente e um eixo bitangente; e determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de eixos normais de um pacote e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao eixo normal do pacote a-ser-decodificado, onde um eixo tangente incluído no modo tangente alvo determinado é o eixo tangente do pacote a-ser-decodificado, e um eixo bitangente incluído no modo tangente alvo determinado é o eixo bitangente do pacote a- ser-decodificado.
[00296] Em uma implementação viável, o módulo de decodificação de informações auxiliares 1601 pode ser especificamente configurado para determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote, um eixo tangente alvo e um eixo bitangente alvo que correspondem a ambas as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada e o eixo normal do pacote a-ser- decodificado, onde o eixo tangente alvo determinado é o eixo tangente do pacote a-ser-decodificado, e o eixo bitangente alvo determinado é o eixo bitangente do pacote a-ser- decodificado.
[00297] Em uma implementação viável, o módulo de decodificação de informações auxiliares 1601 pode ser configurado especificamente para determinar o eixo tangente do pacote a-ser-decodificado e o eixo bitangente do pacote a-ser-decodificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada e o eixo normal do pacote a-ser-decodificado de acordo com uma regra de projeção para projetar a nuvem de pontos a-ser-decodificada, onde a regra de projeção refere- se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por meio da projeção de um pacote na nuvem de pontos a-ser-decodificada no plano bidimensional.
[00298] Em uma implementação viável, a regra de projeção é predefinida.
[00299] Em uma implementação viável, o elemento de sintaxe inclui ainda informações usadas para indicar a regra de projeção.
[00300] Em uma implementação viável, se uma regra de projeção indicar projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, e o eixo normal do pacote a-ser- decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado, o eixo de coordenadas em que o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado no eixo bitangente do pacote a-ser-decodificado; e se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser- decodificada, e o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado.
[00301] Alternativamente, se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser- decodificada, e o eixo normal do pacote a-ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado é o eixo tangente do pacote a-
ser-decodificado; e se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, e o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser- decodificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado.
[00302] A regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser- decodificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser- decodificado e o eixo bitangente do pacote a-ser- decodificado estão localizados.
[00303] Em uma implementação viável, se uma regra de projeção indicar projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada de pontos está localizado, e o eixo normal do pacote a-ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado; e se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado e o outro é o eixo tangente do pacote a-ser-decodificado.
[00304] Alternativamente, se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado, e o eixo normal do pacote a- ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado; e se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada incluem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado, e o eixo normal do pacote a- ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado é o eixo tangente do pacote a- ser-decodificado, e o outro é o eixo bitangente do pacote a- ser-decodificado.
[00305] A regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser- decodificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser- decodificado e o eixo bitangente do pacote a-ser- decodificado estão localizados.
[00306] O seguinte descreve uma implementação viável de realizar a decodificação pelo decodificador 150 com base em um grupo de nuvem de pontos.
[00307] Em uma implementação viável, o módulo de decodificação de informações auxiliares 1601 é configurado para: analisar um fluxo de bits para obter um elemento de sintaxe, onde o elemento de sintaxe inclui um índice de um eixo normal de um pacote a-ser-decodificado em um pacote a- ser-decodificado grupo de nuvem de pontos e informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas, e o grupo de nuvens de pontos inclui pelo menos dois quadros de nuvens de pontos; e determinar um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-decodificado com base no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas que são obtidas por meio de análise. O módulo de reconstrução de informações de geometria de nuvem de pontos 1602 é configurado para reconstruir informações de geometria de uma nuvem de pontos a-ser-decodificada no grupo de nuvens de pontos a-serem-codificadas com base em eixos tangentes e eixos bitangentes de um ou mais pacotes na nuvem de pontos a-ser-decodificada, onde o um ou mais pacotes incluem o pacote a-ser-decodificado. Por exemplo, o módulo de decodificação de informações auxiliares 1601 pode ser configurado para realizar S401 e S402 na Figura 14 e / ou outro passo descrito nas modalidades deste pedido. O módulo de reconstrução de informações de geometria de nuvem de pontos 1602 pode ser configurado para realizar S403 na Figura 14 e / ou outro passo descrito nas modalidades deste pedido.
[00308] Em uma implementação viável, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas podem incluir informações de tamanho de uma caixa delimitadora do grupo de nuvens de pontos a-serem-
decodificadas; um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas está localizado; ou um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora do grupo de nuvens de pontos a-serem-decodificadas.
[00309] Em uma implementação viável, as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora do grupo de nuvens de pontos a-serem- decodificadas inclui informações de tamanho de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-decodificadas, ou informações de tamanho com uma frequência de aparecimento mais alta em tamanhos de caixa delimitadora de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-decodificadas; um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem-decodificadas está localizado, ou um índice de um eixo de coordenadas com uma frequência de aparecimento mais alta em eixos de coordenadas nos quais lados mais longos das caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-decodificadas estão localizados; ou um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora de um quadro de nuvem de pontos no grupo de nuvens de pontos a-serem- decodificadas, ou um índice de uma relação de tamanho com uma frequência de aparecimento mais alta em relações de tamanho entre comprimentos laterais de caixas delimitadoras de algumas ou todas as nuvens de pontos no grupo de nuvens de pontos a-serem-decodificadas.
[00310] Pode ser entendido que os módulos no codificador / decodificador nas modalidades deste pedido são corpos de função para implementar vários passos de execução incluídos no método de codificação / decodificação de nuvem de pontos correspondente neste pedido, isto é, corpos de função que podem implementar completamente os passos no método de codificação / decodificação de nuvem de pontos correspondente neste pedido e extensões e variações desses passos. Para obter detalhes, consulte a descrição anterior. Por questões de brevidade, os detalhes não são descritos neste relatório descritivo.
[00311] A Figura 17 é um diagrama de blocos esquemático de uma implementação de um dispositivo de codificação ou um dispositivo de decodificação (que são brevemente referidos como um dispositivo de codificação 1700 ou um dispositivo de codificação de nuvem de pontos 1700) de acordo com uma modalidade deste pedido. O dispositivo de codificação 1700 pode incluir um processador 1710, uma memória 1730 e um sistema de barramento 1750. O processador 1710 é conectado à memória 1730 através do sistema de barramento 1750. A memória 1730 é configurada para armazenar uma instrução. O processador 1710 é configurado para executar a instrução armazenada na memória 1730, para executar vários métodos de codificação ou decodificação de nuvem de pontos descritos neste pedido. Para evitar a repetição, os detalhes não são descritos aqui novamente.
[00312] Nesta modalidade deste pedido, o processador 1710 pode ser uma unidade central de processamento (central processing unit, CPU) ou o processador 1710 pode ser outro processador de propósito geral, um DSP, um ASIC, um FPGA, outro dispositivo lógico programável, uma porta discreta, um dispositivo lógico de transistor, um componente de hardware discreto ou semelhantes. O processador de propósito geral pode ser um microprocessador ou o processador pode ser qualquer processador convencional ou semelhantes.
[00313] A memória 1730 pode incluir um dispositivo ROM ou um dispositivo RAM. Qualquer outro tipo adequado de dispositivo de armazenamento pode ser alternativamente usado como a memória 1730. A memória 1730 pode incluir código e dados 1731 que são acessados pelo processador 1710 através do barramento 1750. A memória 1730 pode incluir ainda um sistema operacional 1733 e uma aplicação 1735. A aplicação 1735 inclui pelo menos um programa que permite ao processador 1710 realizar a codificação de nuvem de pontos ou método de decodificação descrito neste pedido. Por exemplo, a aplicação 1735 pode incluir aplicações 1 a N e ainda incluir uma aplicação de codificação ou decodificação de nuvem de pontos (brevemente referido como uma aplicação de codificação de nuvem de pontos) para realizar a codificação de nuvem de pontos ou método de decodificação descrito neste pedido.
[00314] O sistema de barramento 1750 pode incluir ainda um barramento de potência, um barramento de controle, um barramento de sinal de status e semelhantes, além de um barramento de dados. No entanto, para uma descrição clara, vários tipos de barramentos na figura são marcados como o sistema de barramento 1750.
[00315] Opcionalmente, o dispositivo de codificação 1700 pode incluir ainda um ou mais dispositivos de saída,
por exemplo, uma exibição 1770. Em um exemplo, a exibição 1770 pode ser uma exibição de toque que combina uma exibição e uma unidade de toque que pode detectar operacionalmente a entrada de toque. A exibição 1770 pode ser conectada ao processador 1710 por meio do barramento 1750.
[00316] Uma pessoa versada na técnica pode entender que as funções descritas com referência a vários blocos lógicos ilustrativos, módulos e passos de algoritmo divulgados e descritos neste relatório descritivo podem ser implementadas por hardware, software, firmware ou qualquer combinação dos mesmos. Se implementadas por software, as funções descritas com referência aos blocos lógicos, módulos e passos ilustrativos podem ser armazenadas ou transmitidas através de um meio legível por computador como uma ou mais instruções ou código e executadas por uma unidade de processamento baseada em hardware. O meio legível por computador pode incluir um meio de armazenamento legível por computador, que corresponde a um meio tangível, como um meio de armazenamento de dados, ou um meio de comunicação incluindo qualquer meio que facilite a transferência de um programa de computador de um lugar para outro (por exemplo, de acordo com um protocolo de comunicação). Desta maneira, o meio legível por computador pode geralmente corresponder a: (1) um meio de armazenamento não transitório legível por computador tangível, ou (2) um meio de comunicação, como um sinal ou uma portadora. O meio de armazenamento de dados pode ser qualquer meio utilizável que pode ser acessado por um ou mais computadores ou um ou mais processadores para recuperar instruções, código e / ou estruturas de dados para implementar as tecnologias descritas neste pedido. Um produto de programa de computador pode incluir um meio legível por computador.
[00317] A título de exemplo, mas não de limitação, tal meio de armazenamento legível por computador pode incluir um RAM, um ROM, um EEPROM, um CD-ROM ou outro aparelho de armazenamento de disco compacto, um aparelho de armazenamento de disco magnético ou outro aparelho de armazenamento magnético, uma memória flash, ou qualquer outro meio que pode ser usado para armazenar o código de programa desejado na forma de uma instrução ou uma estrutura de dados e que pode ser acessado por um computador. Além disso, qualquer conexão é apropriadamente chamada de meio legível por computador. Por exemplo, se uma instrução for transmitida de um site, um servidor ou outra fonte remota por meio de um cabo coaxial, uma fibra ótica, um par trançado, uma linha de assinante digital (DSL) ou uma tecnologia sem fio, como infravermelho, rádio, ou micro- ondas, o cabo coaxial, a fibra ótica, o par trançado, o DSL ou a tecnologia sem fio, como infravermelho, rádio ou micro- ondas, estão incluídos em uma definição do meio. No entanto, deve ser entendido que o meio de armazenamento legível por computador e o meio de armazenamento de dados não incluem conexões, portadoras, sinais ou outros meios de comunicação transitórios, mas na verdade significam meios de armazenamento tangíveis não transitórios. Disco (disk) e disco (disc), conforme usado aqui, incluem um disco compacto (CD), um disco laser, um disco ótico, um DVD e um disco Blu- ray, onde os discos (disk) geralmente reproduzem dados magneticamente, enquanto os discos (disc) reproduzem dados oticamente com lasers. As combinações dos itens anteriores também devem ser incluídas no escopo do meio legível por computador.
[00318] Uma instrução pode ser executada por um ou mais processadores, como um ou mais processadores de sinal digital (DSP), microprocessadores de propósito geral, circuitos integrados de aplicação específica (ASIC), arranjos de portas programáveis em campo (FPGA), ou outros circuitos lógicos integrados ou discretos equivalente. Portanto, o termo "processador" usado neste relatório descritivo pode ser qualquer uma das estruturas anteriores ou qualquer outra estrutura adequada para implementar as tecnologias descritas neste relatório descritivo. Além disso, em alguns aspectos, as funções descritas com referência aos blocos lógicos ilustrativos, módulos e passos descritos neste relatório descritivo podem ser fornecidas dentro de módulos de hardware e / ou software dedicados configurados para codificação e decodificação, ou podem ser incorporadas em uma combinação codec. Além disso, as tecnologias podem ser completamente implementadas em um ou mais circuitos ou elementos lógicos. Em um exemplo, vários blocos lógicos, unidades e módulos descritivos no codificador 100 e no decodificador 200 podem ser entendidos como dispositivos de circuito ou elementos lógicos correspondentes.
[00319] As tecnologias neste pedido podem ser implementadas em vários aparelhos ou dispositivos, incluindo um handset sem fio, um circuito integrado (IC) ou um conjunto de ICs (por exemplo, um conjunto de chips). Vários componentes, módulos ou unidades são descritos neste pedido para enfatizar aspectos funcionais dos aparelhos configurados para realizar as tecnologias divulgadas, mas não são necessariamente implementadas por diferentes unidades de hardware. Na verdade, conforme descrito acima, várias unidades podem ser combinadas em uma unidade de hardware de codec em combinação com software e / ou firmware apropriado, ou podem ser fornecidas por unidades de hardware interoperáveis (incluindo um ou mais processadores descritos acima).
[00320] As descrições anteriores são meramente exemplos de implementações específicas deste pedido, mas não se destinam a limitar o escopo de proteção deste pedido. Qualquer variação ou substituição prontamente identificada por um especialista na técnica dentro do escopo técnico divulgado neste pedido deve cair dentro do escopo de proteção deste pedido. Portanto, o escopo de proteção deste pedido estará sujeito ao escopo de proteção das reivindicações.

Claims (21)

REIVINDICAÇÕES EMENDADAS
1. Método de codificação de nuvem de pontos, caracterizado pelo fato de que compreende: obter informações de descrição de um tamanho de caixa delimitadora de uma nuvem de pontos a-ser-codificada e um eixo normal de um pacote a-ser-codificado na nuvem de pontos a-ser-codificada, em que as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada e o eixo normal do pacote a-ser-codificado são usadas para determinar um eixo tangente do pacote a-ser- codificado e um eixo bitangente do pacote a-ser-codificado; e codificar um elemento de sintaxe em um fluxo de bits, em que o elemento de sintaxe compreende um índice do eixo normal do pacote a-ser-codificado e informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, e o elemento de sintaxe é usado para indicar o eixo tangente do pacote a-ser- codificado e o eixo bitangente do pacote a-ser-codificado.
2. Método de codificação de nuvem de pontos, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada compreendem: informações de tamanho de uma caixa delimitadora da nuvem de pontos a-ser-codificada; ou um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser- codificada está localizado; ou um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora da nuvem de pontos a-ser- codificada.
3. Método de codificação de nuvem de pontos, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que o método compreende ainda: determinar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado.
4. Método de codificação de nuvem de pontos, de acordo com a reivindicação 3, caracterizado pelo fato de que determinar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado compreende: determinar o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado de acordo com uma regra de projeção baseada nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- codificada e o eixo normal do pacote a-ser-codificado, em que a regra de projeção se refere à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-codificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado estão localizados.
5. Método de codificação de nuvem de pontos, de acordo com a reivindicação 4, caracterizado pelo fato de que a regra de projeção é uma regra de projeção predefinida, ou a regra de projeção é determinada de acordo com um critério de custo de distorção de taxa.
6. Método de codificação de nuvem de pontos, de acordo com a reivindicação 5, caracterizado pelo fato de que se a regra de projeção é determinada de acordo com o critério de custo de distorção de taxa, o elemento de sintaxe compreende ainda informações usadas para indicar a regra de projeção.
7. Método de codificação de nuvem de pontos, de acordo com qualquer uma das reivindicações 3 a 6, caracterizado pelo fato de que a determinação do eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser- codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado compreende: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo correspondente às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada, em que cada conjunto de modo tangente compreende pelo menos dois modos tangentes, e cada modo tangente compreende um eixo tangente e um eixo bitangente; e determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de eixos normais de um pacote e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao eixo normal do pacote a-ser-codificado, em que um eixo tangente compreendido no modo tangente alvo determinado é o eixo tangente do pacote a-ser-codificado, e um eixo bitangente compreendido no modo tangente alvo determinado é o eixo bitangente do pacote a-ser-codificado.
8. Método de codificação de nuvem de pontos, de acordo com qualquer uma das reivindicações 3 a 6, caracterizado pelo fato de que a determinação do eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser- codificado com base nas informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado compreende: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote, um eixo tangente alvo e um eixo bitangente alvo que correspondem às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado, em que o eixo tangente alvo determinado é o eixo tangente do pacote a-ser-codificado, e o eixo bitangente alvo determinado é o eixo bitangente do pacote a- ser-codificado.
9. Método de codificação de nuvem de pontos, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada compreendem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado; e se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada compreendem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo bitangente do pacote a- ser-codificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo tangente do pacote a- ser-codificado; ou se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada compreendem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada e o eixo normal do pacote a-ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado; e se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada compreendem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-codificada, e eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo tangente do pacote a- ser-codificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser- codificada está localizado é o eixo bitangente do pacote a- ser-codificado; em que a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-codificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado estão localizados.
10. Método de codificação de nuvem de pontos, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada compreendem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e o eixo normal do pacote a-ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser- codificado; e se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada compreendem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo bitangente do pacote a-ser-codificado, e o outro é o eixo tangente do pacote a-ser-codificado; ou se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada compreendem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e o eixo normal do pacote a-ser-codificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado; e se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-codificada compreendem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, e o eixo normal do pacote a-ser-codificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a- ser-codificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-codificada está localizado é o eixo tangente do pacote a-ser-codificado, e o outro é o eixo bitangente do pacote a-ser-codificado; em que a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-codificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser-codificado e o eixo bitangente do pacote a-ser-codificado estão localizados.
11. Método de decodificação de nuvem de pontos, caracterizado pelo fato de que compreende: analisar um fluxo de bits para obter um elemento de sintaxe, em que o elemento de sintaxe compreende um índice de um eixo normal de um pacote a-ser-decodificado em uma nuvem de pontos a-ser-decodificada e informações usadas para indicar informações de descrição de um tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada; determinar um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-decodificado com base no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada que são obtidas por meio de análise; e reconstruir informações de geometria da nuvem de pontos a-ser-decodificada com base em eixos tangentes e eixos bitangentes de um ou mais pacotes na nuvem de pontos a-ser- decodificada, em que o um ou mais pacotes compreendem o pacote a-ser-decodificado.
12. Método de decodificação de nuvem de pontos, de acordo com a reivindicação 11, caracterizado pelo fato de que as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada compreendem: informações de tamanho de uma caixa delimitadora da nuvem de pontos a-ser-decodificada; ou um índice de um eixo de coordenadas no qual um lado mais longo de uma caixa delimitadora da nuvem de pontos a-ser- decodificada está localizado; ou um índice de uma relação de tamanho entre comprimentos laterais de uma caixa delimitadora da nuvem de pontos a-ser- decodificada.
13. Método de decodificação de nuvem de pontos, de acordo com a reivindicação 11 ou 12, caracterizado pelo fato de que determinar um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-decodificado com base no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser- decodificada que são obtidas por meio de análise compreende: determinar o eixo tangente do pacote a-ser-decodificado e o eixo bitangente do pacote a-ser-decodificado de acordo com uma regra de projeção baseada no índice do eixo normal do pacote a-ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise, em que a regra de projeção se refere à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-decodificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser-decodificado e o eixo bitangente do pacote a- ser-decodificado estão localizados.
14. Método de decodificação de nuvem de pontos, de acordo com a reivindicação 13, caracterizado pelo fato de que a regra de projeção é uma regra de projeção predefinida; ou o elemento de sintaxe compreende ainda informações usadas para indicar a regra de projeção e, correspondentemente, a regra de projeção é uma regra de projeção indicada pelo elemento de sintaxe obtido a partir do fluxo de bits por meio de análise.
15. Método de decodificação de nuvem de pontos, de acordo com qualquer uma das reivindicações 11 a 14, caracterizado pelo fato de que a determinação de um eixo tangente do pacote a-ser-decodificado e um eixo bitangente do pacote a-ser-
decodificado com base no índice do eixo normal do pacote a- ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise compreende: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos e uma pluralidade de conjuntos de modo tangente, um conjunto de modo tangente alvo correspondente às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada, em que cada conjunto de modo tangente compreende pelo menos dois modos tangentes, e cada modo tangente compreende um eixo tangente e um eixo bitangente; e determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de eixos normais de um pacote e uma pluralidade de modos tangentes no conjunto de modo tangente alvo, um modo tangente alvo correspondente ao eixo normal do pacote a-ser-decodificado, em que um eixo tangente compreendido no modo tangente alvo determinado é o eixo tangente do pacote a-ser-decodificado, e um eixo bitangente compreendido no modo tangente alvo determinado é o eixo bitangente do pacote a-ser-decodificado.
16. Método de decodificação de nuvem de pontos, de acordo com qualquer uma das reivindicações 11 a 14, caracterizado pelo fato de que determinar um eixo tangente do pacote a- ser-decodificado e um eixo bitangente do pacote a-ser- decodificado com base no índice do eixo normal do pacote a- ser-decodificado e as informações usadas para indicar as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada que são obtidas por meio de análise compreende: determinar, com base em uma relação de mapeamento entre uma pluralidade de tipos de informações de descrição de tamanhos de caixa delimitadora de nuvens de pontos, uma pluralidade de tipos de eixos normais de um pacote, uma pluralidade de tipos de eixos tangentes do pacote, e uma pluralidade de tipos de eixos bitangentes do pacote, um eixo tangente alvo e um eixo bitangente alvo que correspondem tanto às informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada quanto ao eixo normal do pacote a-ser-decodificado, em que o eixo tangente alvo determinado é o eixo tangente do pacote a-ser- decodificado, e o eixo bitangente alvo determinado é o eixo bitangente do pacote a-ser-decodificado.
17. Método de decodificação de nuvem de pontos, de acordo com a reivindicação 11 ou 12, caracterizado pelo fato de que se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada compreendem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, e o eixo normal do pacote a-ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado; e se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada compreendem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, e o eixo normal do pacote a-ser- decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado; ou se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada compreendem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, e o eixo normal do pacote a-ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado; e se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada compreendem a relação de tamanho entre comprimentos laterais da caixa delimitadora da nuvem de pontos a-ser-decodificada, e o eixo normal do pacote a-ser- decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a- ser-decodificada está localizado, um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado, e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado; em que a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-decodificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser-decodificado e o eixo bitangente do pacote a-ser-decodificado estão localizados.
18. Método de decodificação de nuvem de pontos, de acordo com a reivindicação 11 ou 12, caracterizado pelo fato de que se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada compreendem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e o eixo normal do pacote a-ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser- decodificado; e se uma regra de projeção indica projeção vertical, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada compreendem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo bitangente do pacote a-ser-decodificado, e o outro é o eixo tangente do pacote a-ser-decodificado; ou se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada compreendem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e o eixo normal do pacote a-ser-decodificado é diferente do eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser- decodificado; e se uma regra de projeção indica projeção horizontal, as informações de descrição do tamanho de caixa delimitadora da nuvem de pontos a-ser-decodificada compreendem o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, e o eixo normal do pacote a-ser-decodificado é o mesmo que o eixo de coordenadas no qual o lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado, um de um eixo de coordenadas no qual um segundo lado mais longo da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado e um eixo de coordenadas no qual um lado mais curto da caixa delimitadora da nuvem de pontos a-ser-decodificada está localizado é o eixo tangente do pacote a-ser-decodificado, e o outro é o eixo bitangente do pacote a-ser-decodificado; em que a regra de projeção refere-se à distribuição, em um plano bidimensional, de uma imagem projetada obtida por projeção de um pacote na nuvem de pontos a-ser-decodificada no plano bidimensional, e o plano bidimensional é um plano no qual o eixo tangente do pacote a-ser-decodificado e o eixo bitangente do pacote a-ser-decodificado estão localizados.
19. Aparelho de codificação, caracterizado pelo fato de que o aparelho compreende uma memória e um processador, a memória é configurada para armazenar o código de programa, e o processador é configurado para invocar o código de programa para realizar o método de codificação de nuvem de pontos, conforme definido em qualquer uma das reivindicações 1 a 10.
20. Aparelho de decodificação, caracterizado pelo fato de que o aparelho compreende uma memória e um processador, a memória é configurada para armazenar o código de programa, e o processador é configurado para invocar o código de programa para realizar o método de decodificação de nuvem de pontos, conforme definido em qualquer uma das reivindicações 11 a 18.
21. Produto de programa de computador, compreendendo o código de programa, caracterizado pelo fato de que quando o código de programa é executado em um computador, o método de codificação de nuvem de pontos conforme definido em qualquer uma das reivindicações 1 a 10 ou conforme definido em qualquer uma das reivindicações 11 a 18 é realizado.
BR112020027024-5A 2018-06-30 2019-06-27 Método de codificação de nuvem de pontos, método de decodificação de nuvem de pontos, codificador, e decodificador BR112020027024A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810706459.1 2018-06-30
CN201810706459.1A CN110662087B (zh) 2018-06-30 2018-06-30 点云编解码方法和编解码器
PCT/CN2019/093392 WO2020001565A1 (zh) 2018-06-30 2019-06-27 点云编解码方法和编解码器

Publications (1)

Publication Number Publication Date
BR112020027024A2 true BR112020027024A2 (pt) 2021-04-06

Family

ID=68985849

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020027024-5A BR112020027024A2 (pt) 2018-06-30 2019-06-27 Método de codificação de nuvem de pontos, método de decodificação de nuvem de pontos, codificador, e decodificador

Country Status (9)

Country Link
US (2) US11328450B2 (pt)
EP (1) EP3806043A4 (pt)
JP (1) JP7057453B2 (pt)
KR (1) KR102508894B1 (pt)
CN (1) CN110662087B (pt)
BR (1) BR112020027024A2 (pt)
MX (1) MX2021000074A (pt)
SG (1) SG11202012969RA (pt)
WO (1) WO2020001565A1 (pt)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719497B (zh) * 2018-07-12 2021-06-22 华为技术有限公司 点云编解码方法和编解码器
US11481961B2 (en) * 2018-10-02 2022-10-25 Sony Corporation Information processing apparatus and information processing method
KR20200084698A (ko) * 2019-01-03 2020-07-13 삼성전자주식회사 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치
EP3734970B1 (en) * 2019-01-08 2023-07-05 Samsung Electronics Co., Ltd. Method for processing and transmitting three-dimensional content
US11956478B2 (en) * 2019-01-09 2024-04-09 Tencent America LLC Method and apparatus for point cloud chunking for improved patch packing and coding efficiency
CN113632142A (zh) * 2019-07-02 2021-11-09 腾讯美国有限责任公司 点云压缩的方法和装置
CN114339215A (zh) 2019-07-03 2022-04-12 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器及计算机存储介质
US11368717B2 (en) 2019-09-16 2022-06-21 Tencent America LLC Method and apparatus for point cloud compression
WO2021141264A1 (ko) * 2020-01-08 2021-07-15 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021196029A1 (zh) * 2020-03-31 2021-10-07 深圳市大疆创新科技有限公司 一种用于点云编码、解码的方法和设备
CN113538605A (zh) * 2020-04-13 2021-10-22 财团法人工业技术研究院 编码和译码点云的电子装置和方法
CN111432210B (zh) * 2020-04-30 2021-10-19 中山大学 一种基于填充的点云属性压缩方法
CN114667728B (zh) * 2020-12-31 2023-10-13 深圳市大疆创新科技有限公司 点云编解码方法、装置及系统
CN116569555A (zh) * 2021-01-22 2023-08-08 深圳市大疆创新科技有限公司 点云几何解码方法、装置、计算机可读存储介质
KR102612191B1 (ko) * 2021-12-23 2023-12-11 경희대학교 산학협력단 포인트 클라우드 보간 장치 및 방법
WO2023136627A1 (ko) * 2022-01-12 2023-07-20 엘지전자 주식회사 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689051B2 (en) 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US20050286777A1 (en) 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
CN101350016B (zh) 2007-07-20 2010-11-24 富士通株式会社 三维模型检索装置及方法
CN102368280A (zh) 2011-10-21 2012-03-07 北京航空航天大学 一种面向虚拟装配的基于aabb-obb混合包围盒的碰撞检测方法
US9704055B2 (en) * 2013-11-07 2017-07-11 Autodesk, Inc. Occlusion render mechanism for point clouds
CN104183021B (zh) * 2014-07-10 2017-03-15 北京建筑大学 一种利用可移动空间网格精简点云数据的方法
CN104392476B (zh) 2014-12-04 2017-07-21 上海岩土工程勘察设计研究院有限公司 基于最小包围盒算法提取隧道三维轴线的方法
CN105469404B (zh) * 2015-11-26 2018-06-29 北京建筑大学 一种基于三维点云数据的旋转体拟合方法及装置
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
EP3301931A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra prediction
EP3301933A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Methods, devices and stream to provide indication of mapping of omnidirectional images
CN107403456B (zh) * 2017-07-28 2019-06-18 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
CN107633539A (zh) * 2017-09-25 2018-01-26 潍坊学院 一种基于四边面片分割的三维点云模型数据压缩方法
US10783668B2 (en) * 2017-12-22 2020-09-22 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
WO2019142665A1 (ja) 2018-01-16 2019-07-25 ソニー株式会社 情報処理装置および方法
CN111837392A (zh) 2018-01-19 2020-10-27 交互数字Vc控股公司 处理点云
US11756234B2 (en) 2018-04-11 2023-09-12 Interdigital Vc Holdings, Inc. Method for encoding depth values of a set of 3D points once orthogonally projected into at least one image region of a projection plane
US11310518B2 (en) 2018-04-11 2022-04-19 Sony Corporation Image processing apparatus and method
JP7389751B2 (ja) 2018-04-11 2023-11-30 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 三次元物体を表すポイントクラウドを符号化/復号する方法及び装置

Also Published As

Publication number Publication date
CN110662087A (zh) 2020-01-07
JP7057453B2 (ja) 2022-04-19
CN110662087B (zh) 2021-05-11
EP3806043A4 (en) 2021-08-04
EP3806043A1 (en) 2021-04-14
KR20210022115A (ko) 2021-03-02
MX2021000074A (es) 2021-03-25
US11328450B2 (en) 2022-05-10
US20210118188A1 (en) 2021-04-22
US20220301229A1 (en) 2022-09-22
SG11202012969RA (en) 2021-02-25
US11704837B2 (en) 2023-07-18
JP2021529482A (ja) 2021-10-28
WO2020001565A8 (zh) 2020-10-22
WO2020001565A1 (zh) 2020-01-02
KR102508894B1 (ko) 2023-03-09

Similar Documents

Publication Publication Date Title
BR112020027024A2 (pt) Método de codificação de nuvem de pontos, método de decodificação de nuvem de pontos, codificador, e decodificador
US20210183110A1 (en) Point Cloud Encoding Method, Point Cloud Decoding Method, Encoder, and Decoder
US11388442B2 (en) Point cloud encoding method, point cloud decoding method, encoder, and decoder
EP3772853A1 (en) Method and device for acquiring globally matching patch
US11875538B2 (en) Point cloud encoding method and encoder
US11961265B2 (en) Point cloud encoding and decoding method and apparatus
CN111479114B (zh) 点云的编解码方法及装置
WO2020063294A1 (zh) 点云编解码方法及编解码器
WO2020147379A1 (zh) 点云滤波方法、装置及存储介质
BR112020026992A2 (pt) Método de predição de vetor de movimento e aparelho relacionado
US20220007037A1 (en) Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and storage medium
CN111726615B (zh) 点云编解码方法及编解码器
WO2020063718A1 (zh) 点云编解码方法和编解码器
WO2020143725A1 (zh) 点云译码方法及译码器
WO2020015517A1 (en) Point cloud encoding method, point cloud decoding method, encoder and decoder
WO2020187191A1 (zh) 点云编解码方法及编解码器