KR20240027756A - Point cloud attribute coding method, point cloud attribute decoding method, and terminal - Google Patents

Point cloud attribute coding method, point cloud attribute decoding method, and terminal Download PDF

Info

Publication number
KR20240027756A
KR20240027756A KR1020247003153A KR20247003153A KR20240027756A KR 20240027756 A KR20240027756 A KR 20240027756A KR 1020247003153 A KR1020247003153 A KR 1020247003153A KR 20247003153 A KR20247003153 A KR 20247003153A KR 20240027756 A KR20240027756 A KR 20240027756A
Authority
KR
South Korea
Prior art keywords
point cloud
coding
decoding
target
group
Prior art date
Application number
KR1020247003153A
Other languages
Korean (ko)
Inventor
웨이 장
징윤 루
주오이 루
후젱 양
나 다이
Original Assignee
비보 모바일 커뮤니케이션 컴퍼니 리미티드
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 비보 모바일 커뮤니케이션 컴퍼니 리미티드 filed Critical 비보 모바일 커뮤니케이션 컴퍼니 리미티드
Publication of KR20240027756A publication Critical patent/KR20240027756A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 출원은 포인트 클라우드 속성 코딩 방법, 포인트 클라우드 속성 디코딩 방법 및 단말을 공개하는 바, 포인트 클라우드 처리 기술분야에 속하며, 포인트 클라우드 속성 코딩 방법은, 코딩할 포인트 클라우드를 획득하는 단계; 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하는 단계; 적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하는 바, N은 정정수인 단계; 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 단계; 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성하는 단계를 포함한다.This application discloses a point cloud attribute coding method, a point cloud attribute decoding method, and a terminal, and belongs to the field of point cloud processing technology. The point cloud attribute coding method includes the steps of obtaining a point cloud to be coded; Splitting the point cloud to be coded into at least one coding point cloud block based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point; For each coding point cloud block containing at least two coding points, dividing the coding point cloud block into N coding point cloud groups based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order. Bar, N is a constant number; Obtaining a quantified first transform coefficient by performing transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group; and generating a target code stream by performing entropy coding on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group.

Description

포인트 클라우드 속성 코딩 방법, 포인트 클라우드 속성 디코딩 방법 및 단말Point cloud attribute coding method, point cloud attribute decoding method, and terminal

[관련 출원에 대한 참조][Reference to related applications]

본 출원은 2021년 08월 23일 중국에 제출된 특허 출원 제202110970524.3호의 우선권을 주장하며, 그 전체 내용을 본 출원에 원용한다.This application claims priority to Patent Application No. 202110970524.3 filed in China on August 23, 2021, the entire content of which is hereby incorporated by reference.

본 개시는 포인트 클라우드 처리 기술 분야에 관한 것으로, 특히 포인트 클라우드 속성 코딩 방법, 포인트 클라우드 속성 디코딩 방법 및 단말에 관한 것이다.This disclosure relates to the field of point cloud processing technology, and particularly to a point cloud attribute coding method, a point cloud attribute decoding method, and a terminal.

포인트 클라우드는 공간에 불규칙적으로 분포된, 3 차원 물체 또는 시나리오의 공간 구조 및 표면 속성을 표현하는 이산 포인트 집합이다.A point cloud is a set of discrete points, irregularly distributed in space, representing the spatial structure and surface properties of a three-dimensional object or scenario.

포인트 클라우드의 속성 코딩은 속성 예측 코딩과 속성 변환 코딩으로 구분되며, 속성 예측 코딩 과정에서, 각 코딩 포인트에 대응하는 잔차 정보를 획득한 후, 해당 진치 정보에 대해 정량화 및 엔트로피 코딩을 수행하여 바이너리 코드 스트림을 획득하며; 속성 변환 코딩 과정에서, 각 코딩 포인트에 대응하는 잔차 정보를 획득한 후, 해당 잔차 정보에 대해 고정 차수의 매트릭스를 사용하여 변환을 수행하여 계수를 획득한다.Attribute coding of point clouds is divided into attribute prediction coding and attribute transformation coding. In the attribute prediction coding process, residual information corresponding to each coding point is obtained, and then quantification and entropy coding are performed on the corresponding true information to create a binary code. Acquire a stream; In the attribute transformation coding process, residual information corresponding to each coding point is obtained, and then transformation is performed on the residual information using a fixed-order matrix to obtain coefficients.

상기 속성 예측 코딩 및 속성 변환 코딩 과정에서, 모두 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 고려하지 않아, 잔차 정보와 변환 계수에 중복 정보가 존재하여 포인트 클라우드의 속성 코딩 효율을 저하시킨다. 또한 포인트 클라우드의 속성 디코딩 과정은 포인트 클라우드의 속성 코딩 과정과 일치하므로, 역시 포인트 클라우드의 속성 디코딩 효율을 저하시킨다.In the attribute prediction coding and attribute transformation coding processes, the correlation between residual information corresponding to each coding point is not considered, and redundant information exists in the residual information and transformation coefficients, thereby reducing the attribute coding efficiency of the point cloud. Additionally, since the point cloud attribute decoding process is consistent with the point cloud attribute coding process, it also reduces the point cloud attribute decoding efficiency.

본 출원의 실시예는 포인트 클라우드 속성 코딩 방법, 포인트 클라우드 속성 디코딩 방법 및 단말을 제공하여, 속성 코딩 및 속성 디코딩 과정에서, 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 고려하지 않아, 포인트 클라우드의 속성 코딩/디코딩 효율을 저하시키는 것을 해결할 수 있다.An embodiment of the present application provides a point cloud attribute coding method, a point cloud attribute decoding method, and a terminal. In the attribute coding and attribute decoding process, the correlation between residual information corresponding to each coding point is not considered, and the attribute of the point cloud is not considered. Deterioration of coding/decoding efficiency can be solved.

제1 양태로, 포인트 클라우드 속성 코딩 방법을 제공하는 바, 해당 방법은,In a first aspect, a point cloud attribute coding method is provided, the method comprising:

코딩할 포인트 클라우드를 획득하는 바, 상기 코딩할 포인트 클라우드 중의 코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹되는 단계;Obtaining a point cloud to be coded, ranking coding points in the point cloud to be coded according to a preset coding order;

상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하는 단계; Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, dividing the point cloud to be coded into at least one coding point cloud block. step;

적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하는 바, N은 정정수인 단계; For each coding point cloud block containing at least two coding points, based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, the coding point cloud block is divided into N coding point cloud groups. dividing, where N is an integer;

제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 바, 상기 제1 목표 코딩 포인트 클라우드 그룹은 상기 N 개의 코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제1 목표 코딩 포인트 클라우드 그룹은 변환 코딩을 수행하는 코딩 포인트 클라우드 그룹인 단계;Transform coding and quantification processing are performed on the first residual information corresponding to the first target coding point cloud group to obtain a first quantified transform coefficient, and the first target coding point cloud group is the N coding point clouds. at least part of a group, wherein the first target coding point cloud group is a coding point cloud group that performs transform coding;

상기 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성하는 바, 상기 제2 목표 코딩 포인트 클라우드 그룹은 상기 N 개의 코딩 포인트 클라우드 그룹 중 상기 제1 목표 코딩 포인트 클라우드 그룹을 제외한 코딩 포인트 클라우드 그룹인 단계를 포함한다.A target code stream is generated by performing entropy coding on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group, wherein the second target coding point cloud group is the N coding It includes the step of being a coding point cloud group excluding the first target coding point cloud group among the point cloud groups.

제2 양태로, 포인트 클라우드 속성 디코딩 방법을 제공하는 바, 해당 방법은,In a second aspect, a point cloud attribute decoding method is provided, the method comprising:

디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득하는 바, 상기 디코딩할 포인트 클라우드 중의 디코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹되는 단계;Performing decoding on a code stream to be decoded to obtain a point cloud to be decoded, wherein decoding points in the point cloud to be decoded are ranked according to a preset coding order;

상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하는 단계; Based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, dividing the point cloud to be decoded into at least one decoding point cloud block. step;

적어도 두 개의 디코딩 포인트를 포함하는 각 디코딩 포인트 클라우드 블록에 대해, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하는 바, M은 정정수인 단계;For each decoding point cloud block containing at least two decoding points, based on the quantity of decoding points included in the decoding point cloud block and the preset maximum transformation order, the decoding point cloud block is divided into M decoding point cloud groups. dividing, where M is an integer;

제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하는 바, 상기 제3 목표 디코딩 포인트 클라우드 그룹은 상기 M 개의 디코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제3 목표 디코딩 포인트 클라우드 그룹은 역 정량화 처리를 수행하는 디코딩 포인트 클라우드 그룹인 단계;Inverse quantification processing is performed on the second transform coefficient corresponding to the third target decoding point cloud group to obtain target high-frequency coefficients and target low-frequency coefficients, wherein the third target decoding point cloud group is the M decoding point cloud group. wherein the third target decoding point cloud group is a decoding point cloud group that performs inverse quantification processing;

상기 목표 고주파 계수 및 상기 목표 저주파 계수에 대해 역변환 처리를 수행하여 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제3 잔차 정보를 획득하는 단계를 포함한다.and performing inverse transformation on the target high-frequency coefficient and the target low-frequency coefficient to obtain third residual information corresponding to the third target decoding point cloud group.

제3 양태로, 코더를 제공하는 바,In a third aspect, providing a coder,

코딩할 포인트 클라우드를 획득하는 바, 상기 코딩할 포인트 클라우드 중의 코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹되는 제1 획득 모듈;A first acquisition module that acquires a point cloud to be coded, where coding points in the point cloud to be coded are ranked according to a preset coding order;

상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하는 제1 분할 모듈; Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, dividing the point cloud to be coded into at least one coding point cloud block. first division module;

적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하는 바, N은 정정수인 제2 분할 모듈; For each coding point cloud block containing at least two coding points, based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, the coding point cloud block is divided into N coding point cloud groups. A second division module where N is an integer for division;

제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 바, 상기 제1 목표 코딩 포인트 클라우드 그룹은 상기 N 개의 코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제1 목표 코딩 포인트 클라우드 그룹은 변환 코딩을 수행하는 코딩 포인트 클라우드 그룹인 제1 코딩 모듈;Transform coding and quantification processing are performed on the first residual information corresponding to the first target coding point cloud group to obtain a first quantified transform coefficient, and the first target coding point cloud group is the N coding point clouds. a first coding module that is at least part of a group, and wherein the first target coding point cloud group is a coding point cloud group that performs transform coding;

상기 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성하는 바, 상기 제2 목표 코딩 포인트 클라우드 그룹은 상기 N 개의 코딩 포인트 클라우드 그룹 중 상기 제1 목표 코딩 포인트 클라우드 그룹을 제외한 코딩 포인트 클라우드 그룹인 제2 코딩 모듈을 포함한다.A target code stream is generated by performing entropy coding on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group, wherein the second target coding point cloud group is the N coding It includes a second coding module that is a coding point cloud group excluding the first target coding point cloud group among the point cloud groups.

제4 양태로, 디코더를 제공하는 바,In a fourth aspect, providing a decoder,

디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득하는 바, 상기 디코딩할 포인트 클라우드 중의 디코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹되는 디코딩 모듈;a decoding module that performs decoding on a code stream to be decoded to obtain a point cloud to be decoded, wherein decoding points in the point cloud to be decoded are ranked according to a preset coding order;

상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하는 제3 분할 모듈; Based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, dividing the point cloud to be decoded into at least one decoding point cloud block. third split module;

적어도 두 개의 디코딩 포인트를 포함하는 각 디코딩 포인트 클라우드 블록에 대해, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하는 바, M은 정정수인 제4 분할 모듈;For each decoding point cloud block containing at least two decoding points, based on the quantity of decoding points included in the decoding point cloud block and the preset maximum transformation order, the decoding point cloud block is divided into M decoding point cloud groups. A fourth division module where M is a constant number for division;

제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하는 바, 상기 목표 디코딩 포인트 클라우드 그룹은 상기 M 개의 디코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제3 목표 디코딩 포인트 클라우드 그룹은 역 정량화 처리를 수행하는 디코딩 포인트 클라우드 그룹인 역 정량화 모듈;Inverse quantification processing is performed on the second transform coefficient corresponding to the third target decoding point cloud group to obtain a target high-frequency coefficient and a target low-frequency coefficient, wherein the target decoding point cloud group is at least one of the M decoding point cloud groups. an inverse quantification module, wherein the third target decoding point cloud group is a decoding point cloud group that performs inverse quantification processing;

상기 목표 고주파 계수 및 상기 목표 저주파 계수에 대해 역변환 처리를 수행하여 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제3 잔차 정보를 획득하는 역변환 모듈을 포함한다.and an inverse transformation module that performs inverse transformation on the target high-frequency coefficient and the target low-frequency coefficient to obtain third residual information corresponding to the third target decoding point cloud group.

제5 양태로, 단말을 제공하는 바, 해당 통신 장치는 프로세서, 메모리 및 상기 메모리에 저장되고 또한 상기 프로세서 상에서 실행될 수 있는 프로그램 또는 명령을 포함하고, 상기 프로그램 또는 명령이 상기 프로세서에 의해 실행될 때, 제1 양태의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제2 양태의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현한다.In a fifth aspect, a terminal is provided, wherein the communication device includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor, and when the program or instruction is executed by the processor, Implement the steps of the point cloud attribute coding method of the first aspect, or implement the steps of the point cloud attribute decoding method of the second aspect.

제6 양태로, 판독 가능한 저장 매체를 제공하는 바, 상기 판독 가능한 저장 매체에는 프로그램 또는 명령이 저장되고, 상기 프로그램 또는 명령이 프로세서에 의해 실행될 때, 제1 양태의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제2 양태의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현한다.In a sixth aspect, a readable storage medium is provided, wherein a program or instruction is stored in the readable storage medium, and when the program or instruction is executed by a processor, the steps of the point cloud attribute coding method of the first aspect are: Implements, or implements the steps of the point cloud attribute decoding method of the second aspect.

제7 양태로, 칩을 제공하는 바, 상기 칩은 프로세서와 통신 인터페이스를 포함하고, 상기 통신 인터페이스와 상기 프로세서가 커플링되며, 상기 프로세서는 프로그램 또는 명령을 실행시켜, 제1 양태의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제2 양태의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현한다.In a seventh aspect, a chip is provided, wherein the chip includes a processor and a communication interface, the communication interface and the processor are coupled, and the processor executes a program or instruction, and the point cloud of the first aspect is provided. Implement steps of the attribute coding method, or implement steps of the point cloud attribute decoding method of the second aspect.

제8 양태로, 컴퓨터 프로그램/프로그램 제품을 제공하는 바, 상기 컴퓨터 프로그램/프로그램 제품은 비휘발성 저장 매체에 저장되고, 상기 컴퓨터 프로그램/프로그램 제품이 적어도 하나의 프로세서에 의해 실행되어 제1 양태의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제2 양태의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현한다.In an eighth aspect, there is provided a computer program/program product, wherein the computer program/program product is stored in a non-volatile storage medium, and the computer program/program product is executed by at least one processor. Implement steps of the point cloud attribute coding method, or implement steps of the point cloud attribute decoding method of the second aspect.

제9 양태로, 통신 장치를 제공하는 바, 제1 양태의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제2 양태의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현하도록 구성된다.In a ninth aspect, there is provided a communication device, configured to implement the steps of the point cloud attribute coding method of the first aspect, or to implement the steps of the point cloud attribute decoding method of the second aspect.

본 출원의 실시예에서, 코딩할 포인트 클라우드를 획득한 후, 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하고, 각 코딩 포인트 클라우드 블록 중의 코딩 포인트에 대해 포인트 클라우드 그룹핑을 수행하여, 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할한다. 변환 코딩 과정에서, 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분히 고려하고, 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 바, 여기서, 제1 목표 코딩 포인트 클라우드 그룹 중의 각 코딩 포인트의 잔차 정보 간에는 상관성이 존재한다. 나아가, 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성한다. 상기 코딩 과정은 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분히 고려하고, 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩을 수행하여 변환 계수 중의 중복 정보를 줄여 포인트 클라우드의 속성 코딩의 효율을 향상시켰다.In an embodiment of the present application, after obtaining a point cloud to be coded, the point cloud to be coded is divided into at least one coding point cloud block, point cloud grouping is performed on the coding points in each coding point cloud block, and coding is performed. Split the point cloud block into N coded point cloud groups. In the transform coding process, the correlation between residual information corresponding to each coding point is sufficiently considered, and transform coding and quantification processing are performed on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient. is obtained, where there is a correlation between the residual information of each coding point in the first target coding point cloud group. Furthermore, entropy coding is performed on the quantified first transform coefficient and the second residual information corresponding to the second target coding point cloud group to generate a target code stream. The coding process sufficiently considers the correlation between residual information corresponding to each coding point, performs transformation coding on the first residual information corresponding to the first target coding point cloud group, and reduces redundant information in the transformation coefficients to form a point cloud. The efficiency of attribute coding has been improved.

도 1은 포인트 클라우드 AVS 인코더 프레임워크 도면이다.
도 2는 포인트 클라우드 AVS 디코더 프레임워크 도면이다.
도 3은 종래의 포인트 클라우드 속성 코딩의 흐름도이다.
도 4는 본 출원의 실시예가 제공하는 포인트 클라우드 속성 코딩 방법의 흐름도이다.
도 5는 본 출원의 실시예가 제공하는 포인트 클라우드 속성 디코딩 방법의 흐름도이다.
도 6은 본 출원의 실시예가 제공하는 인코드의 구조도이다.
도 7은 본 출원의 실시예가 제공하는 디코더의 구조도이다.
도 8은 본 출원의 실시예가 제공하는 통신 장치의 구조도이다.
도 9는 본 출원의 실시예가 제공하는 단말의 하드웨어 구조도이다.
1 is a diagram of the point cloud AVS encoder framework.
Figure 2 is a diagram of the point cloud AVS decoder framework.
Figure 3 is a flow chart of conventional point cloud attribute coding.
Figure 4 is a flowchart of a point cloud attribute coding method provided by an embodiment of the present application.
Figure 5 is a flowchart of a point cloud attribute decoding method provided by an embodiment of the present application.
Figure 6 is a structural diagram of an encode provided by an embodiment of the present application.
Figure 7 is a structural diagram of a decoder provided by an embodiment of the present application.
Figure 8 is a structural diagram of a communication device provided by an embodiment of the present application.
Figure 9 is a hardware structure diagram of a terminal provided by an embodiment of the present application.

아래 본 출원의 실시예 중의 도면을 참조하여 본 출원의 실시예 중의 기술방안에 대해 명확한 설명을 진행하게 되는 바, 기재되는 실시예는 본 출원의 일부 실시예에 불과하며 모든 실시예가 아님은 자명한 것이다. 본 출원의 실시예를 기반으로 당업계의 기술자들이 취득하는 모든 기타 실시예는 모두 본 출원의 범위에 속한다 하여야 할 것이다.A clear explanation of the technical solutions in the embodiments of this application will be provided with reference to the drawings in the embodiments of this application below. It is obvious that the described embodiments are only some embodiments of the present application and are not all embodiments. will be. All other embodiments acquired by those skilled in the art based on the embodiments of the present application should be considered to fall within the scope of the present application.

본 출원의 명세서와 특허청구범위 중의 용어 "제1", "제2" 등은 유사한 대상을 구분하기 위한 것일 뿐, 특정 순서 또는 선후 순서를 설명하기 위한 것이 아니다. 이렇게 사용되는 용어는 적당한 상황 하에서 호환이 가능하여, 본 출원의 실시예가 여기에 도시되거나 또는 설명된 것과 다른 순서로 실시될 수 있고, 또한 "제1", "제2" 등이 구분하는 객체는 일반적으로 같은 유형이고, 객체의 수량을 한정하지 않는 바, 예를 들어 제1 객체는 하나일 수도 있고 복수일 수도 있는 것을 이해할 것이다. 그리고, 명세서 및 특허청구범위에 사용되는 "및/또는"은 연결된 객체의 적어도 그 중의 하나를 표시하고, 부호 "/"는 일반적으로 전후 관련 대상이 "또는"의 관계라는 것을 표시한다.The terms "first", "second", etc. in the specification and claims of this application are only used to distinguish similar objects and are not intended to describe a specific order or sequential order. The terms so used are interchangeable under appropriate circumstances, so that embodiments of the present application may be practiced in a different order than shown or described herein, and the objects distinguished by "first", "second", etc. It will be understood that they are generally of the same type, and the quantity of objects is not limited; for example, the first object may be one or plural. In addition, "and/or" used in the specification and claims indicates at least one of the connected objects, and the symbol "/" generally indicates that the preceding and related objects are in the relationship of "or".

본 출원의 실시예의 포인트 클라우드 속성 방법에 대응하는 인코더 및 클라우드 속성 방법에 대응하는 디코더는 모두 단말일 수 있고, 해당 단말은 또한 단말 장치 또는 사용자 단말(User Equipment, UE)로 칭할 수 있고, 단말은 핸드폰, 태블릿 PC(Tablet Personal Computer), 랩톱 컴퓨터(Laptop Computer) 또는 노트북 컴퓨터, 개인용 정보 단말기(Personal Digital Assistant, PDA) , 팜탑, 넷북, 울트라 모바일 PC(ultra-mobile personal computer, UMPC), 개인 휴대 정보 단말기(Personal Digital Assistant, PDA), 이동 인터넷 장치(Mobile Internet Device, MID), 증강현실(augmented reality, AR)/가상현실(virtual reality, VR) 장치, 로봇, 웨어러블 장치(Wearable Device), 차량탑재 장치(Vehicle User Equipment, VUE), 행인 단말(Pedestrian User Equipment, PUE) 등 단말측 장치일 수 있고, 웨어러블 장치는 스마트 워치, 밴드, 이어폰, 글라스 등을 포함한다. 설명하여야 할 바로는, 본 출원의 실시예는 단말의 구체적인 유형을 한정하지 않는다.The encoder corresponding to the point cloud attribution method and the decoder corresponding to the cloud attribution method of the embodiments of the present application may both be terminals, and the terminal may also be referred to as a terminal device or user equipment (User Equipment, UE), and the terminal may be Cell phone, Tablet Personal Computer, Laptop Computer or Notebook Computer, Personal Digital Assistant (PDA), Palmtop, Netbook, Ultra-mobile Personal Computer (UMPC), Personal Portable Personal Digital Assistant (PDA), Mobile Internet Device (MID), augmented reality (AR)/virtual reality (VR) devices, robots, wearable devices, vehicles It may be a terminal-side device such as Vehicle User Equipment (VUE) or Pedestrian User Equipment (PUE), and wearable devices include smart watches, bands, earphones, glasses, etc. It should be noted that the embodiments of the present application do not limit the specific type of terminal.

이해를 돕기 위하여, 아래 본 출원의 실시예에 언급된 일부 내용에 대해 설명을 진행하도록 한다.To facilitate understanding, some details mentioned in the examples of this application will be explained below.

도 1을 참조하면, 도 1에 도시된 바와 같이, 현재 디지털 오디오 및 비디오 코딩 및 디코딩 기술 표준에서, 포인트 클라우드 소스 코딩 표준 (Audio Video coding Standard, AVS) 코더를 사용하여 포인트 클라우드의 기하학적 정보와 속성 정보에 대하여 구분하여 코딩한다. 먼저 포인트 클라우드가 모두 바운딩 박스(bounding box) 안에 포함되도록 기하학적 정보를 좌표 전환한 다음, 좌표 정량화를 수행한다. 정량화는 주로 수축의 역할을 하는데, 정량화는 기하 좌표를 반올림하기 때문에 일부 점의 기하학적 정보가 동일하여 중복점이라 하고, 파라미터에 따라 중복점을 제거할지 여부를 결정하며, 정량화와 중복점 제거 이 두 단계는 또한 복셀화 과정이라고도 한다. 다음으로, 바운딩 박스를 옥트리, 쿼드트리 또는 바이너리 트리와 같은 멀티트리로 분할한다. 멀티트리 기반 기하학적 정보 코딩 프레임워크에서, 바운딩 박스를 8 개의 하위 큐브로 분할하고, 비어 있지 않은 하위 큐브를 계속하여 분할하여, 리프트 노드가 1x1x1의 단위 큐브일 때 분할을 정지하고, 리프 노드의 점 수를 코딩하여 바이너리 코드 스트림을 생성한다.Referring to Figure 1, as shown in Figure 1, in the current digital audio and video coding and decoding technology standards, the point cloud source coding standard (Audio Video coding Standard, AVS) coder is used to obtain the geometric information and properties of the point cloud. Information is classified and coded. First, the geometric information is converted to coordinates so that the point cloud is all contained within the bounding box, and then coordinate quantification is performed. Quantification mainly plays the role of shrinkage. Because quantification rounds the geometric coordinates, the geometric information of some points is the same, so they are called duplicate points, and determines whether to remove duplicate points according to the parameters. Quantification and duplicate point removal are two of them. The step is also called the voxelization process. Next, split the bounding box into multitrees such as octrees, quadtrees, or binary trees. In the multitree-based geometric information coding framework, the bounding box is divided into 8 subcubes, and the non-empty subcubes are continuously divided, stopping the division when the lift node is a unit cube of 1x1x1, and the point of the leaf node is Code the numbers to create a binary code stream.

포인트 클라우드에 대하여 다중 트리 기반의 기하학적 코딩을 수행함에 있어서, 코딩할 포인트는 인접된 노드의 점유 정보를 저장하여 코딩할 포인트의 점유 정보에 대하여 예측 코딩을 진행하여야 하므로, 리프 노드에 가까운 코딩할 포인트로 말하면 대량의 점유 정보를 저장해야 하여 대량의 메모리 공간을 차지한다.When performing multi-tree based geometric coding on a point cloud, the point to be coded must store the occupancy information of adjacent nodes and perform predictive coding on the occupancy information of the point to be coded, so the point to be coded close to the leaf node In other words, a large amount of occupancy information must be stored, which occupies a large amount of memory space.

기하학적 코딩이 완료되면, 나중의 재차 착색을 위하여 기하학적 정보가 재구성한다. 속성 코딩의 주요 목표는 색상 및 반사율 정보이다. 먼저 파라미터에 따라 색상 공간 전환 수행 여부를 결정하고, 만일 색상 공간 전환을 수행하면, 색상 정보를 RGB(Red Green Blue) 색상 공간에서 휘도 색상(YUV) 공간으로 전환한다. 그런 다음, 원시 포인트 클라우드를 이용하여 기하학적 재구성 포인트 클라우드에 대해 재차 착색하여, 코딩하지 않은 속성 정보와 재구성 기하학적 정보가 대응되게 한다. 색상 정보 코딩에서는, 모튼 코드 또는 힐버트 코드에 의해 포인트 클라우드를 랭킹한 후, 기하학적 공간 관계를 이용해 예측할 점의 가장 인접한 재구성 속성값을 찾고, 찾아낸 인접된 재구성 속성값을 이용해 예측할 점을 예측해 예측 속성값을 구한 다음, 실제 속성값과 예측 속성값을 차분해 예측 잔차를 구하고, 마지막으로 예측 잔차를 정량화 및 코딩해 바이너리 코드 스트림을 생성한다.Once geometric coding is completed, the geometric information is reconstructed for later re-coloring. The main goals of attribute coding are color and reflectance information. First, it is determined whether to perform color space conversion according to the parameters, and if color space conversion is performed, color information is converted from RGB (Red Green Blue) color space to luminance color (YUV) space. Then, the geometrically reconstructed point cloud is re-colored using the raw point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information. In color information coding, the point cloud is ranked by Morton code or Hilbert code, then the closest reconstructed attribute value of the point to be predicted is found using geometric spatial relationships, and the predicted point is predicted using the found adjacent reconstructed attribute value to obtain the predicted attribute value. After obtaining, the prediction residual is obtained by differentiating the actual attribute value from the predicted attribute value, and finally, the prediction residual is quantified and coded to generate a binary code stream.

디지털 오디오 및 비디오 코딩 및 디코딩 기술 표준 중의 디코딩 프로세스는 위에서 설명한 코딩 프로세스와 대응되며, 구체적으로 AVS 디코더 프레임워크는 도 2에 도시된 바와 같다.The decoding process in the digital audio and video coding and decoding technology standards corresponds to the coding process described above, and specifically, the AVS decoder framework is as shown in FIG. 2.

도 3을 참조하면, 도 3은 종래의 포인트 클라우드 속성 코딩의 흐름도이다. 포인트 클라우드에 대해 속성 코딩을 수행하는 기존의 방식은 다음과 같다.Referring to FIG. 3, FIG. 3 is a flowchart of conventional point cloud attribute coding. The existing way to perform attribute coding on point clouds is as follows.

먼저, 오리지널 신호에서 예측 신호를 차감하여 예측 잔차를 획득하는 바, 해당 예측 잔차는 잔차 정보라고도 한다. 해당 잔차 정보에 대하여 이산 코사인 변환(Discrete Cosine Transform, DCT)을 수행하여 1차 변환 계수를 획득하는 바, 해당 1차 변환 계수는 1차 변환 계수 블록으로 표시할 수 있으며; 해당 1차 변환 계수 블록의 사전 설정 영역의 저주파 성분에 대하여 2차 변환을 수행하여 에너지가 더욱 집중된 2차 변화 계수를 획득하는 바, 여기서, 도 3에 도시된 바와 같이, 해당 사전 설정 영역은 1차 변환 계수 블록의 왼쪽 상단 모서리에 위치한다. 해당 2차 변화 계수는 2차 변환 계수 블록으로 표시할 수 있으며; 해당 2차 변환 계수 블록의 사전 설정 영역의 저주파 성분에 대하여 정량화 및 엔트로피 코딩을 수행하여 바이너리 코드 스트림을 획득한다.First, the prediction residual is obtained by subtracting the prediction signal from the original signal, and the prediction residual is also called residual information. Discrete Cosine Transform (DCT) is performed on the residual information to obtain a first-order transform coefficient, and the first-order transform coefficient can be displayed as a first-order transform coefficient block; A secondary transformation coefficient with more concentrated energy is obtained by performing secondary transformation on the low-frequency component of the preset area of the corresponding primary transformation coefficient block, where, as shown in FIG. 3, the corresponding preset area is 1 It is located in the upper left corner of the difference conversion coefficient block. The corresponding quadratic transformation coefficient can be expressed as a quadratic transformation coefficient block; A binary code stream is obtained by performing quantification and entropy coding on the low-frequency components of the preset area of the corresponding secondary transform coefficient block.

또한, 정량화된 2차 변환 계수에 대하여 역방향 2차 변환을 수행하여 1차 변환 계수를 획득하고, 1차 변환 계수에 대하여 역방향 1차 변환을 수행하여 잔차 정보를 획득한다. 나아가, 해당 잔차 정보와 예측 속성값에 대하여 덧셈 연산을 수행하여 재구성 정보를 획득하고, 해당 재구성 정보에 대하여 루프 필터링 처리를 수행하여 속성 재구성 값을 획득한다.In addition, a reverse secondary transformation is performed on the quantified secondary transformation coefficient to obtain a primary transformation coefficient, and a reverse primary transformation is performed on the primary transformation coefficient to obtain residual information. Furthermore, reconstruction information is obtained by performing an addition operation on the residual information and predicted attribute values, and loop filtering is performed on the reconstruction information to obtain attribute reconstruction values.

여기서, 일부 특정 코딩 시나리오에서, 상기 2차 변환 및 역방향 2차 변환을 수행하지 않는다.Here, in some specific coding scenarios, the secondary transform and reverse secondary transform are not performed.

현재 범용 포인트 클라우드 기술 표준은 다음과 같은 기술적 문제가 존재한다.Current general-purpose point cloud technology standards have the following technical problems:

포인트 클라우드의 속성 코딩과정에서, 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분하게 고려하지 않아, 변환 계수에 여전히 일부 중복 정보가 존재하여 포인트 클라우드의 속성 코딩 효율이 비교적 낮다.In the point cloud attribute coding process, the correlation between residual information corresponding to each coding point is not sufficiently considered, so there is still some redundant information in the transformation coefficient, and the attribute coding efficiency of the point cloud is relatively low.

상기 상황을 바탕으로, 어떻게 포인트 클라우드 속성 코딩 및 속성 디코딩 과정에서, 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분히 이용하여 속성 코딩 및 속성 디코딩을 수행하여 포인트 클라우드 속성 코딩 및 포인트 클라우드 속성 디코딩 효율을 향상시킬 것인가 하는 것은 해결해야 할 기술적 과제이다.Based on the above situation, how can in the process of point cloud attribute coding and attribute decoding, fully utilize the correlation between the residual information corresponding to each coding point to perform attribute coding and attribute decoding to improve point cloud attribute coding and point cloud attribute decoding efficiency? Whether to improve it is a technical challenge that must be solved.

아래 도면을 참조하고, 일부 실시예 및 그 응용 시나리오를 통하여 본 출원의 실시예가 제공하는 포인트 클라우드 속성 코딩 방법에 대하여 상세한 설명을 진행하도록 한다.Referring to the drawings below, a detailed description will be given of the point cloud attribute coding method provided by the embodiments of the present application through some embodiments and application scenarios.

도 4를 참조하면, 도 4는 본 출원이 제공하는 포인트 클라우드 속성 코딩 방법의 흐름도이다. 본 실시예가 제공하는 포인트 클라우드 속성 코딩 방법은 하기 단계를 포함한다.Referring to FIG. 4, FIG. 4 is a flowchart of the point cloud attribute coding method provided by the present application. The point cloud attribute coding method provided by this embodiment includes the following steps.

S101: 코딩할 포인트 클라우드를 획득한다.S101: Obtain a point cloud to code.

본 단계 중의 코딩할 포인트 클라우드는 재착색 및 색상 공간 전환을 거친 포인트 클라우드이며, 상기 재착색은 오리지널 포인트 클라우드를 이용하여 기하학적 재구성 포인트 클라우드에 대하여 재착색을 수행하여 코딩하지 않은 속성 정보가 재구성된 기하학적 정보와 대응되게 하여 재착색된 포인트 클라우드를 획득하며; 상기 색상 공간 전환은 포인트 클라우드의 색상 정보를 RGB 공간에서 YUV 공간으로 전환하는 것을 말한다.The point cloud to be coded during this step is a point cloud that has undergone recoloring and color space conversion, and the recoloring is a geometric reconstruction using the original point cloud. Recoloring is performed on the point cloud, and the uncoded attribute information is reconstructed into a geometric point cloud. Obtain a recolored point cloud by matching it with information; The color space conversion refers to converting the color information of the point cloud from RGB space to YUV space.

여기서, 코딩할 포인트 클라우드는 포인트 클라우드 시퀀스로 이해할 수 있고, 코딩할 포인트 클라우드 중의 각 코딩 포인트는 해당 포인트 클라우드 시퀀스 중의 각 요소로 이해할 수 있다. 포인트 클라우드 시퀀스 중의 코딩할 포인트는 미리 설정된 코딩 순서에 따라 랭킹되며, 선택가능한 실시 방식으로는, 포인트 클라우드 시퀀스 중의 코딩할 포인트에 대해 힐버트 랭킹을 수행하고, 각 코딩할 포인트가 힐버트 코드에 따라 작은 것으로부터 큰 것으로 랭킹되거나, 포인트 클라우드 시퀀스 중의 코딩할 포인트에 대해 모튼 랭킹을 수행하고, 모튼 코드에 따라 작은 것으로부터 큰 것으로 랭킹된다.Here, the point cloud to be coded can be understood as a point cloud sequence, and each coding point in the point cloud to be coded can be understood as each element in the point cloud sequence. Points to be coded in the point cloud sequence are ranked according to a preset coding order. An optional implementation method is to perform Hilbert ranking on the points to be coded in the point cloud sequence, and each point to be coded is small according to the Hilbert code. They are ranked from small to large, or Morton ranking is performed on the points to be coded in the point cloud sequence, and they are ranked from small to large according to the Morton code.

S102: 상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할한다. S102: Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, the point cloud to be coded is divided into at least one coding point cloud block. Divide.

본 단계에서, 코딩할 포인트 클라우드에 대하여 분할을 수행하여 코딩 포인트 클라우드 블록을 획득한다. 여기서, 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 코딩할 포인트 클라우드에 대한 분할 방식을 결정하는 바, 구체적인 기술방안은 후속 실시예를 참조할 수 있다.In this step, segmentation is performed on the point cloud to be coded to obtain a coded point cloud block. Here, the division method for the point cloud to be coded is determined based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each coding point. Specific technology The scheme may refer to subsequent embodiments.

일 선택가능한 실시방식으로는, 코딩 포인트 클라우드 블록 수량이 1이고, 이 경우 전체 코딩할 포인트 클라우드를 하나의 코딩 포인트 클라우드 블록으로 간주하는 것으로 이해할 수 있다.In one selectable implementation method, the number of coding point cloud blocks is 1, and in this case, it can be understood that the entire point cloud to be coded is regarded as one coding point cloud block.

동일한 코딩 포인트 클라우드 블록에 속하는 코딩 포인트에 대응하는 속성 정보는 공간 상관성을 가지므로, 이에 대응하는 속성 정보도 더 강한 상관성을 가지는 바, 즉 이러한 코딩 포인트의 기하학적 위치가 더 가깝고 색상 속성이 더 유사한 것을 이해해야 한다.Since the attribute information corresponding to the coding points belonging to the same coding point cloud block has spatial correlation, the corresponding attribute information also has a stronger correlation, that is, the geometric positions of these coding points are closer and the color attributes are more similar. You must understand.

만일 포인트 클라우드 시퀀스 중의 코딩 포인트가 힐버트 코드가 작은 것으로부터 큰 것에 따라 랭킹되면, 코딩할 포인트 클라우드에 대하여 분할을 수행한 후, 동일한 코딩 포인트 클라우드 블록에 속하는 코딩 포인트에 대응하는 힐버트 코드가 같은 것을 이해해야 한다.If the coding points in the point cloud sequence are ranked according to Hilbert code from smallest to largest, then after performing segmentation on the point cloud to be coded, it should be understood that the Hilbert codes corresponding to the coding points belonging to the same coding point cloud block are the same. do.

만일 코딩할 포인트 클라우드 중의 코딩 포인트가 모튼 코드가 작은 것으로부터 큰 것에 따라 랭킹되면, 코딩할 포인트 클라우드에 대하여 분할을 수행한 후, 동일한 코딩 포인트 클라우드 블록에 속하는 코딩 포인트에 대응하는 모튼 코드가 같은 것을 이해해야 한다.If the coding points in the point cloud to be coded are ranked according to the Morton code from smallest to largest, after performing segmentation on the point cloud to be coded, determine that the Morton codes corresponding to the coding points belonging to the same coding point cloud block are the same. You must understand.

S103: 적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할한다.S103: For each coding point cloud block containing at least two coding points, based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, the coding point cloud block is divided into N coding point clouds. Divide into groups.

본 단계에서, 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할한 후, 적어도 두 개의 코딩 포인트를 포함하는 코딩 포인트 클라우드 블록에 대해, 해당 코딩 포인트 클라우드 블록에 대하여 그룹핑을 수행하여 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하는 바, N은 정정수이다. 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량 및 미리 설정된 최대 변환 차수를 사용하여, 해당 코딩 포인트 클라우드 블록에 대해 포인트 클라우드 그룹핑을 수행할 수 있음을 이해해야 하며, 구체적인 기술방안은 후속 실시예를 참조할 수 있다.In this step, the point cloud to be coded is divided into at least one coding point cloud block, and then, for the coding point cloud block containing at least two coding points, grouping is performed on the corresponding coding point cloud block to create a coding point cloud block. The block is divided into N coding point cloud groups, where N is an integer. It should be understood that point cloud grouping can be performed on the coding point cloud block using the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, and specific technical solutions can be referred to subsequent embodiments. there is.

일 가능한 경우는, 코딩 포인트 클라우드 그룹 수량이 하나이고, 이 경우 전체 코딩 포인트 클라우드 블록을 하나의 코딩 포인트 클라우드 그룹으로 간주하는 것으로 이해할 수 있다.In a possible case, the number of coding point cloud groups is one, and in this case, it can be understood that the entire coding point cloud block is regarded as one coding point cloud group.

코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할한 후, 코딩 포인트 클라우드 그룹 중의 어느 한 코딩 포인트에 대해, 기하학적 공간 관계를 이용하여 해당 코딩 포인트의 가장 인접된 이웃을 검색하고, 찾아낸 이웃의 재구성 속성값을 이용하여 해당 코딩 포인트에 대하여 예측을 수행하여 예측 속성값을 획득한 후, 해당 코딩 포인트의 실제 속성값과 예측 속성값에 대하여 차분을 수행하여 예측 잔차를 획득하는 바, 상기 예측 잔차는 잔차 정보라고도 한다. 이로써 각 코딩 포인트 클라우드 그룹 중 각 코딩 포인트에 대응하는 잔차 정보를 획득한다.After dividing the coding point cloud block into N coding point cloud groups, for any coding point in the coding point cloud group, search for the nearest neighbor of the coding point using geometric spatial relationships, and reconstruct the found neighbor. After performing prediction on the corresponding coding point using the attribute value to obtain the predicted attribute value, the difference between the actual attribute value and the predicted attribute value of the coding point is performed to obtain the prediction residual. The prediction residual is It is also called residual information. In this way, residual information corresponding to each coding point among each coding point cloud group is obtained.

S104: 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득한다.S104: Perform transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient.

본 단계에서, 코딩 포인트 클라우드 블록 중의 모든 코딩 포인트 클라우드 그룹을 제1 목표 코딩 포인트 클라우드 그룹으로 결정하거나, 또는 코딩 포인트 클라우드 블록 중의 일부 코딩 포인트 클라우드 그룹을 제1 목표 코딩 포인트 클라우드 그룹으로 결정할 수 있으며, 구체적으로 어떻게 목표 코딩 포인트 클라우드 그룹을 결정하는가 하는 기술방안은 후속 실시예를 참조할 수 있다.In this step, all coding point cloud groups in the coding point cloud blocks may be determined as the first target coding point cloud group, or some coding point cloud groups in the coding point cloud blocks may be determined as the first target coding point cloud group, For technical solutions on how to specifically determine the target coding point cloud group, refer to subsequent embodiments.

상술한 바와 같이, 코딩 포인트 클라우드 블록에 대하여 포인트 클라우드 그룹핑을 수행한 후, 각 코딩 포인트 클라우드 그룹 중 각 코딩 포인트에 대응하는 잔차 정보를 결정한다. 본 단계에서, 제1 목표 포인트 클라우드 그룹 중 각 코딩 포인트에 대응하는 잔차 정보의 집합을 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 잔차 정보로 결정할 수 있다.As described above, after point cloud grouping is performed on the coding point cloud block, residual information corresponding to each coding point among each coding point cloud group is determined. In this step, a set of residual information corresponding to each coding point among the first target point cloud group may be determined as residual information corresponding to the first target coding point cloud group.

어떻게 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는가 하는 구체적인 기술방안은 후속 실시예를 참조할 수 있다.For specific technical solutions on how to obtain a quantified first transform coefficient by performing transform coding and quantification processing on the residual information corresponding to the first target coding point cloud group, refer to subsequent embodiments.

S105: 상기 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성한다.S105: Entropy coding is performed on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group to generate a target code stream.

본 단계에서, 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 획득한 후, 상기 제1 변환 계수 및 제1 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성한다.In this step, after obtaining residual information corresponding to the first transform coefficient and the second target coding point cloud group, entropy coding is performed on the first transform coefficient and the first residual information to generate a target code stream.

상기 제2 코딩 목표 포인트 클라우드 그룹은 N 개의 코딩 포인트 클라우드 그룹 중 제1 목표 코딩 포인트 클라우드 그룹을 제외한 코딩 포인트 클라우드 그룹인 것을 이해해야 한다.It should be understood that the second coding target point cloud group is a coding point cloud group excluding the first target coding point cloud group among N coding point cloud groups.

여기서, 엔트로피 코딩은 엔트로피의 원리에 따라 코딩 과정에서 어떠한 정보도 손실되지 않는 코딩 방식이며, 상기 엔트로피 코딩은 섀넌 코딩, 허프만 코딩 또는 다른 형태의 코딩일 수 있으며, 본 실시예는 이에 대해 구체적으로 한정하지 않는다. 여기서, 상기 목표 코드 스트림은 바이너리 코드 스트림이다.Here, entropy coding is a coding method in which no information is lost during the coding process according to the principle of entropy, and the entropy coding may be Shannon coding, Huffman coding, or other types of coding, and the present embodiment is specifically limited to this. I never do that. Here, the target code stream is a binary code stream.

일부 실시예에서, 제1 변환 계수에 대하여 역 정량화 및 역변환 조작을 수행하여 속성 재구성 값을 획득할 수 있는 것을 이해해야 한다.It should be understood that in some embodiments, inverse quantification and inverse transformation operations may be performed on the first transformation coefficients to obtain attribute reconstruction values.

본 출원의 실시예에서, 코딩할 포인트 클라우드를 획득한 후, 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하고, 각 코딩 포인트 클라우드 블록 중의 코딩 포인트에 대해 포인트 클라우드 그룹핑을 수행하여, 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할한다. 변환 코딩 과정에서, 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분히 고려하고, 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 바, 여기서, 제1 목표 코딩 포인트 클라우드 그룹 중의 각 코딩 포인트의 잔차 정보 간에는 상관성이 존재하며; 나아가, 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성한다. 상기 코딩 과정은 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분히 고려하고, 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩을 수행하여 변환 계수 중복 정보를 줄여 포인트 클라우드의 속성 코딩의 효율을 향상시켰다.In an embodiment of the present application, after obtaining a point cloud to be coded, the point cloud to be coded is divided into at least one coding point cloud block, point cloud grouping is performed on the coding points in each coding point cloud block, and coding is performed. Split the point cloud block into N coded point cloud groups. In the transform coding process, the correlation between residual information corresponding to each coding point is sufficiently considered, and transform coding and quantification processing are performed on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient. Obtaining: wherein there is a correlation between the residual information of each coding point in the first target coding point cloud group; Furthermore, entropy coding is performed on the quantified first transform coefficient and the second residual information corresponding to the second target coding point cloud group to generate a target code stream. The coding process sufficiently considers the correlation between residual information corresponding to each coding point, performs transform coding on the first residual information corresponding to the first target coding point cloud group, and reduces transform coefficient redundancy information to reduce the properties of the point cloud. Coding efficiency has been improved.

본 출원에 의한 기술적 효과에 대한 이해를 돕기 위해, 본 출원의 실시예가 제공하는 포인트 클라우드 속성 코딩 방법을 PCEM 플랫폼에 적용하여 포인트 클라우드의 속성 코딩 효율을 검사한다. 구체적인 검사 결과는 표 1을 참조할 수 있다.In order to help understand the technical effects of the present application, the point cloud attribute coding method provided by the embodiment of the present application is applied to the PCEM platform to examine the attribute coding efficiency of the point cloud. Please refer to Table 1 for specific test results.

시퀀스sequence BD-AttrRate
(Luma)
BD-AttrRate
(Luma)
BD-GeomRate 1
(Chroma Cb)
BD-GeomRate 1
(Chroma Cb)
BD-GeomRate 2
(Chroma Cr)
BD-GeomRate 2
(Chroma Cr)
시퀀스 1sequence 1 -4.4%-4.4% -6.2%-6.2% -8.0%-8.0% 시퀀스 2sequence 2 -4.8%-4.8% -2.8%-2.8% -3.2%-3.2% 시퀀스 3sequence 3 -3.3%-3.3% -9.9%-9.9% -9.3%-9.3% 시퀀스 4sequence 4 -2.6%-2.6% -13.3%-13.3% -14.7%-14.7% 시퀀스 5Sequence 5 -2.3%-2.3% -10.3%-10.3% -9.7%-9.7% 시퀀스 6Sequence 6 -3.4%-3.4% -25.2%-25.2% -26.6%-26.6% 시퀀스 7Sequence 7 -1.1%-1.1% -5.8%-5.8% 0.9%0.9% 시퀀스 8sequence 8 -21.3%-21.3% -54.0%-54.0% -62.1%-62.1% 시퀀스 9sequence 9 -6.3%-6.3% -21.3%-21.3% -30.9%-30.9% 시퀀스 10Sequence 10 -6.1%-6.1% -23.9%-23.9% -29.2%-29.2% 시퀀스 11Sequence 11 -6.2%-6.2% -18.8%-18.8% -23.1%-23.1% 시퀀스 12Sequence 12 -4.9%-4.9% -20.8%-20.8% -23.9%-23.9%

여기서, 표 1의 BD-AttrRate는 변환 계수의 Y 성분의 압축 성능을 나타내고, BD-GeomRate 1은 변환 계수의 U 성분의 압축 성능을 나타내며, BD-GeomRate 2는 변환 계수의 V 성분의 압축 성능을 나타낸다. 표 1의 시퀀스는 본 발명의 실시예가 제공하는 포인트 클라우드 속성 코딩 방법을 기존의 포인트 클라우드 속성 코딩 방법과 비교한 후의 코드 스트림 시퀀스이며, 상기 BD-AttrRate, BD-GeomRate 1 및 BD-GeomRate 2가 음수이면 성능이 향상되는 것을 나타내고, 이를 기반으로 BD-rate의 절대값이 클수록 성능의 이득이 크다는 것을 이해해야 한다.Here, BD-AttrRate in Table 1 represents the compression performance of the Y component of the transform coefficient, BD-GeomRate 1 represents the compression performance of the U component of the transform coefficient, and BD-GeomRate 2 represents the compression performance of the V component of the transform coefficient. indicates. The sequence in Table 1 is a code stream sequence after comparing the point cloud attribute coding method provided by the embodiment of the present invention with the existing point cloud attribute coding method, and the BD-AttrRate, BD-GeomRate 1, and BD-GeomRate 2 are negative numbers. This indicates that performance is improving, and based on this, it should be understood that the larger the absolute value of the BD-rate, the greater the performance gain.

표 1에서 알 수 있는 바와 같이, 본 출원의 실시예가 제공하는 포인트 클라우드 속성 코딩 방법을 사용하면 포인트 클라우드 속성 코딩의 코딩 성능을 향상시킬 수 있다.As can be seen in Table 1, the coding performance of point cloud attribute coding can be improved by using the point cloud attribute coding method provided by the embodiment of the present application.

선택적으로, 상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하는 상기 단계는,Optionally, the step of dividing the point cloud to be coded into at least one coding point cloud block based on the quantity of coding points included in the point cloud to be coded and the order of each coding point,

제1 목표 시프트 값을 사용하여, 각 코딩 포인트에 대응하는 랭킹 코드에 대해 시프트를 수행하여 각 코딩 포인트에 대응하는 제1 목표 랭킹 코드를 획득하는 바, 상기 목표 시프트 값은 상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량 및 상기 바운딩 박스의 체적 정보에 기반하여 결정되는 단계;Using the first target shift value, the ranking code corresponding to each coding point is shifted to obtain the first target ranking code corresponding to each coding point, and the target shift value is stored in the point cloud to be coded. Determining based on the included coding point quantity and volume information of the bounding box;

제1 목표 랭킹 코드가 같은 코딩 포인트를 동일한 코딩 포인트 클라우드 블록에 분할시키는 단계를 포함한다.and dividing coding points with the same first target ranking code into the same coding point cloud block.

본 실시예에서, 포인트 클라우드가 모두 바운딩 박스 안에 포함되도록 코딩할 포인트 클라우드의 기하학적 정보에 대하여 좌표 전환을 수행한다. 해당 바운딩 박스는 해당 코딩할 포인트 클라우드를 덮는 육면체로 이해할 수 있으며, 해당 육면체의 각 모서리는 상기 좌표계 중의 X축, Y축 또는 Z축에 위치한다. 해당 바운딩 박스의 크기, 즉 좌표계의 X축, Y축 및 Z축에서 대응하는 바운딩 박스의 변 길이에 기반하여, 코딩할 포인트 클라우드에 대응하는 제3 시프트 파라미터를 결정한다.In this embodiment, coordinate conversion is performed on the geometric information of the point cloud to be coded so that the point cloud is all contained within the bounding box. The bounding box can be understood as a cube covering the point cloud to be coded, and each corner of the cube is located on the X-axis, Y-axis, or Z-axis of the coordinate system. A third shift parameter corresponding to the point cloud to be coded is determined based on the size of the corresponding bounding box, that is, the side length of the corresponding bounding box in the X-axis, Y-axis, and Z-axis of the coordinate system.

코딩할 포인트 클라우드에 포함된 코딩 포인트 수량을 획득하고, 코딩 포인트 클라우드에 포함된 코딩 포인트 수량에 기반하여 코딩할 포인트 클라우드에 대응하는 제4 시프트 파라미터를 결정한다.The quantity of coding points included in the point cloud to be coded is obtained, and a fourth shift parameter corresponding to the point cloud to be coded is determined based on the quantity of coding points included in the coding point cloud.

본 실시예에는 또한 시프트 계산 공식이 미리 설정되고, 상기 제3 시프트 파라미터 및 제4 시프트 파라미터를 시프트 계산 공식에 입력하여 코딩할 포인트 클라우드에 대응하는 제1 목표 시프트 값을 획득한다. 여기서, 상기 바운딩 박스에 대응하는 변 길이를 제3 시프트 파라미터 계산 공식에 입력하여 제3 시프트 파라미터를 획득할 수 있으며; 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량을 제4 시프트 파라미터 계산 공식에 입력하여 제4 시프트 파라미터를 획득할 수 있다.In this embodiment, a shift calculation formula is also set in advance, and the third shift parameter and the fourth shift parameter are input into the shift calculation formula to obtain a first target shift value corresponding to the point cloud to be coded. Here, the third shift parameter can be obtained by inputting the side length corresponding to the bounding box into the third shift parameter calculation formula; The fourth shift parameter can be obtained by inputting the quantity of coding points included in the point cloud to be coded into the fourth shift parameter calculation formula.

구체적으로, 상기 시프트 계산 공식은 후속 포인트 클라우드 속성 디코딩 방법의 시프트 계산 공식과 일치하고, 상기 제3 시프트 파라미터 계산 공식은 후속 포인트 클라우드 속성 디코딩 방법의 제3 시프트 파라미터 계산 공식과 일치하며, 상기 제4 시프트 파라미터 계산 공식은 후속 포인트 클라우드 속성 디코딩 방법의 제4 시프트 파라미터 계산 공식과 일치하다.Specifically, the shift calculation formula is consistent with the shift calculation formula of the subsequent point cloud attribute decoding method, the third shift parameter calculation formula is consistent with the third shift parameter calculation formula of the subsequent point cloud attribute decoding method, and the fourth The shift parameter calculation formula is consistent with the fourth shift parameter calculation formula of the subsequent point cloud attribute decoding method.

아래 코딩할 포인트 클라우드 중의 코딩 포인트가 힐버트 코드가 작은 것부터 큰 것에 따라 랭킹되는 것을 예로 들어 설명할 것이다.Below, we will explain as an example that the coding points in the point cloud to be coded are ranked according to Hilbert code from smallest to largest.

상술한 바와 같이, 코딩할 포인트 클라우드 중의 코딩 포인트가 힐버트 코드가 작은 것부터 큰 것에 따라 랭킹된다. 제1 목표 시프트 값을 획득한 후, 제1 목표 시프트 값을 사용하여 각 코딩 포인트에 대응하는 힐버트 코드에 대하여 오른쪽으로 시프트하여 각 코딩 포인트에 대응하는 새로운 힐버트 코드를 획득하고, 상기 새로운 힐버트 코드를 목표 힐버트 코드로 결정하며, 목표 힐버트 코드는 목표 랭킹 코드로 이해할 수 있다. 상기 제1 목표 시프트 값은 코딩 포인트의 시프트 과정에서 이동되는 비트 수를 나타내고, 상기 제1 목표 시프트 값은 또한 코딩할 포인트 클라우드의 밀도를 나타낼 수 있으며, 목표 시프트 값이 작을 수록 코딩할 포인트 클라우드 중의 각 코딩 포인트의 밀도가 높은 것을 이해해야 한다.As described above, coding points in the point cloud to be coded are ranked according to Hilbert code from smallest to largest. After obtaining the first target shift value, the Hilbert code corresponding to each coding point is shifted to the right using the first target shift value to obtain a new Hilbert code corresponding to each coding point, and the new Hilbert code is It is decided by the target Hilbert code, and the target Hilbert code can be understood as a target ranking code. The first target shift value represents the number of bits shifted during the shifting process of the coding point, and the first target shift value may also represent the density of the point cloud to be coded. The smaller the target shift value, the more the number of bits in the point cloud to be coded. It is important to understand that the density of each coding point is high.

나아가, 각 코딩 포인트에 대응하는 목표 힐버트 코드에 따라 코딩할 코딩 포인트의 클라우드를 분할하고, 목표 힐버트 코드가 동일한 코딩 포인트를 동일한 코딩 포인트 클라우드 블록에 분할하는 바, 다시 말하면, 한 코딩 포인트 클라우드 블록 중의 각 코딩 포인트에 대응하는 목표 힐버트 코드는 같다.Furthermore, the cloud of coding points to be coded is divided according to the target Hilbert code corresponding to each coding point, and coding points with the same target Hilbert code are divided into the same coding point cloud block. In other words, the cloud of coding points to be coded is divided into the same coding point cloud block. The target Hilbert code corresponding to each coding point is the same.

다른 실시예에서, 상기 제1 목표 시프트 값은 사용자 정의로 설정되거나, 또는 상기 제1 목표 시프트 값은 코딩 포인트 클라우드의 기하학적 정량화 스텝에 기반하여 결정할 수 있다.In another embodiment, the first target shift value may be set to user-defined, or the first target shift value may be determined based on a geometric quantification step of the coding point cloud.

본 실시예에서, 코딩할 포인트 클라우드 중의 각 코딩 포인트의 힐버트 코드에 대하여 시프트를 수행하고, 시프트된 각 코딩 포인트에 대응하는 목표 힐버트 코드에 따라 코딩할 포인트 클라우드를 코딩 포인트 클라우드 블록으로 분할한다. 여기서, 동일한 코딩 포인트 클라우드 블록에 속하는 코딩 포인트의 목표 힐버트 코드가 같으므로, 이러한 포인트의 속성 정보 간에 더욱 강한 상관성을 갖는 것으로 간주하여, 속성 정보가 공간 상관성을 갖는 코딩 포인트를 동일한 코딩 포인트 클라우드 블록에 분할한다.In this embodiment, a shift is performed on the Hilbert code of each coding point in the point cloud to be coded, and the point cloud to be coded is divided into coding point cloud blocks according to the target Hilbert code corresponding to each shifted coding point. Here, since the target Hilbert code of the coding points belonging to the same coding point cloud block is the same, it is considered to have a stronger correlation between the attribute information of these points, and the coding points whose attribute information has spatial correlation are included in the same coding point cloud block. Divide.

아래, 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량 및 미리 설정된 최대 변환 차수를 사용하여, 해당 코딩 포인트 클라우드 블록에 대해 포인트 클라우드 그룹핑을 수행하는 기술방안을 구체적으로 설명하도록 한다.Below, we will describe in detail a technical method for performing point cloud grouping for the coding point cloud block using the quantity of coding points included in the coding point cloud block and the preset maximum transformation order.

본 실시예에서, 최대 변환 차수가 미리 설정되고, 상기 미리 설정된 최대 변환 차수는 변환 코딩 과정에서 사용되는 변환 매트릭스에 대응하는 최대 차수를 나타내기 위한 것이다. 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량을 획득하고, 해당 코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 작거나 같은 경우, 해당 코딩 포인트 클라우드 블록을 하나의 코딩 포인트 클라우드 그룹으로 결정하는 바, 즉 해당 코딩 포인트 클라우드 블록에 대하여 포인트 클라우드 그룹핑을 수행하지 않는다. 여기서, 미리 설정된 최대 변환 차수를 코드 스트림에 기록할 수 있다.In this embodiment, the maximum transform order is preset, and the preset maximum transform order is intended to indicate the maximum order corresponding to the transform matrix used in the transform coding process. Obtain the quantity of coding points included in the coding point cloud block, and if the quantity of coding points is less than or equal to the preset maximum transformation order, the coding point cloud block is determined as one coding point cloud group, that is, the corresponding coding point cloud block is obtained. Point cloud grouping is not performed on coding point cloud blocks. Here, a preset maximum conversion order can be recorded in the code stream.

해당 코딩 포인트 수량이 미리 설정된 최대 변환 차수보다 큰 경우, 해당 코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 해당 코딩 포인트 클라우드 블록에 대하여 포인트 클라우드 그룹핑을 수행하여, 코딩 포인트 클라우드 블록을 적어도 두 개의 코딩 포인트 클라우드 그룹으로 분할한다. 여기서, 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 해당 코딩 포인트 클라우드 블록에 대해 포인트 클라우드 그룹핑을 수행하는 구체적인 방안은 후속 실시예를 참조할 수 있다.If the corresponding coding point quantity is greater than the preset maximum transformation order, based on the corresponding coding point quantity and the first preset value, point cloud grouping is performed on the coding point cloud block, and the coding point cloud block is divided into at least two Divide the coding point cloud into groups. Here, based on the quantity of coding points included in the coding point cloud block and the first preset value, the specific method of performing point cloud grouping for the coding point cloud block may refer to subsequent embodiments.

선택적으로, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 제1 미리 설정된 수치에 기반하여, 상기 코딩 포인트 클라우드 블록을 적어도 두 개의 코딩 포인트 클라우드 그룹으로 분할하는 상기 단계는,Optionally, the step of dividing the coding point cloud block into at least two coding point cloud groups based on the coding point quantity included in the coding point cloud block and a first preset value,

제3 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 상기 제1 미리 설정된 수치를 사용하여 상기 제3 수치에 대해 그룹핑 계산 조작을 수행하여 제4 수치를 획득하는 단계; If the third numerical value is greater than the preset maximum transformation order, performing a grouping calculation operation on the third numerical value using the first preset numerical value to obtain a fourth numerical value;

상기 코딩 포인트 클라우드 블록 중 코딩 포인트의 미리 설정된 코딩 순서에 따라, 모든 코딩 포인트 클라우드 블록의 모든 코딩 포인트가 포인트 클라우드 그룹핑을 완성할 때까지, 포인트 클라우드 그룹핑을 수행하지 않은 코딩 포인트 중의 적어도 일부 코딩 포인트를 하나의 코딩 포인트 클라우드 그룹으로 분할하는 단계를 포함한다.According to the preset coding order of coding points among the coding point cloud blocks, at least some coding points among the coding points for which point cloud grouping has not been performed until all coding points of all coding point cloud blocks complete point cloud grouping. It includes the step of dividing into one coding point cloud group.

제3 수치를 사용하여 코딩 포인트 클라우드 블록의 포인트 클라우드 그룹핑을 수행하지 않은 코딩 포인트 수량을 나타내고, 제3 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 제1 미리 설정된 수치를 사용하여 제3 수치에 대해 그룹핑 계산 조작을 수행하여 제4 수치를 획득하는 바, 여기서, 제4 수치는 미리 설정된 최대 변환 차수보다 작다. 여기서, 어떻게 제1 미리 설정된 수치를 사용하여 제3 수치에 대하여 그룹핑 계산 조작을 수행하여 제4 수치를 획득할 것인가 하는 구체적인 방안은 후속 실시예를 참조할 수 있다.A third numerical value is used to indicate the coding point quantity without performing point cloud grouping of the coding point cloud block, and if the third numerical value is greater than the preset maximum transformation order, the first preset numerical value is used for the third numerical value. A grouping calculation operation is performed to obtain a fourth value, where the fourth value is smaller than the preset maximum transformation order. Here, the specific method of how to use the first preset numerical value to perform a grouping calculation operation on the third numerical value to obtain the fourth numerical value may refer to subsequent embodiments.

제4 수치를 획득한 후, 코딩 포인트 클라우드 블록 중 코딩 포인트의 미리 설정된 코딩 순서에 따라, 포인트 클라우드 그룹핑을 수행하지 않은 코딩 포인트 중의 적어도 일부 코딩 포인트를 하나의 코딩 포인트 클라우드 그룹으로 분할한다. 다시 말하면, 코딩 포인트 클라우드 블록 중 포인트 클라우드 그룹핑을 수행하지 않은 일부 코딩 포인트를 결정하고, 이 일부 코딩 포인트를 하나의 코딩 포인트 클라우드 그룹으로 분할하거나, 코딩 포인트 클라우드 블록 중 포인트 클라우드 그룹핑을 수행하지 않은 모든 코딩 포인트를 결정하고, 이러한 코딩 포인트를 하나의 코딩 포인트 클라우드 그룹으로 분할한다. 여기서, 상기 적어도 하나의 코딩 포인트 클라우드 그룹으로 분할된 코딩 포인트 수량은 제2 수치와 같다.After obtaining the fourth numerical value, at least some coding points among coding points for which point cloud grouping has not been performed are divided into one coding point cloud group according to a preset coding order of coding points among coding point cloud blocks. In other words, determine some coding points among coding point cloud blocks that have not performed point cloud grouping, and divide these some coding points into one coding point cloud group, or all coding points that have not performed point cloud grouping among coding point cloud blocks. Determine coding points and divide these coding points into one coding point cloud group. Here, the quantity of coding points divided into the at least one coding point cloud group is equal to the second value.

일부 코딩 포인트에 대하여 포인트 클라우드 그룹핑을 수행한 후, 제3 수치를 업데이트하고, 만일 업데이트된 제3 수치가 여전히 미리 설정된 최대 변환 차수보다 크면, 코딩 포인트 클라우드 블록 중의 모든 코딩 포인트가 포인트 클라우드 그룹핑을 완성할 때까지, 계속하여 코딩 포인트 클라우드 블록 중의 적어도 일부 코딩 포인트에 대하여 포인트 클라우드 그룹핑을 수행한다.After performing point cloud grouping for some coding points, update the third value, and if the updated third value is still greater than the preset maximum transformation order, all coding points in the coding point cloud block complete the point cloud grouping. Until this happens, point cloud grouping is continuously performed on at least some coding points among the coding point cloud blocks.

아래, 어떻게 제1 미리 설정된 수치를 사용하여 제3 수치에 대하여 그룹핑 계산 조작을 수행하여 제4 수치를 획득할 것인가 하는 것을 구체적으로 설명하도록 한다.Below, it will be described in detail how to obtain the fourth numerical value by performing a grouping calculation operation on the third numerical value using the first preset numerical value.

상기 그룹핑 계산 조작의 과정은 다음과 같은 바, 즉 제3 수치와 제1 미리 설정된 수치에 대해 나눗셈 연산을 수행하여 나눗셈 결과를 획득하며; 해당 나눗셈 결과에 대하여 반올림하여 목표 수치를 획득한다. 목표 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 제3 수치를 목표 수치로 업데이트하고, 목표 수치가 미리 설정된 최대 변환 차수보다 작거나 같을 때까지, 계속하여 제3 수치 및 제1 미리 설정된 수치에 대해 나눗셈 연상을 수행하여 목표 수치를 제4 수치로 결정한다.The process of the grouping calculation operation is as follows: performing a division operation on a third numerical value and a first preset numerical value to obtain a division result; Obtain the target number by rounding the division result. When the target value is greater than the preset maximum conversion order, update the third value to the target value, and continue for the third value and the first preset value until the target value is less than or equal to the preset maximum conversion order. Perform division association to determine the target number as the fourth number.

본 실시예에서 코딩 포인트 클라우드 블록에 대하여 포인트 클라우드 그룹핑을 수행하는 기술방안은 디코딩 포인트 클라우드 블록에 대하여 포인트 클라우드 그룹핑을 수행하는 후속 기술방안과 일치한 것을 이해해야 하며, 여기서는 반복하여 설명하지 않는다.It should be understood that the technical method for performing point cloud grouping on coding point cloud blocks in this embodiment is consistent with the subsequent technical method for performing point cloud grouping on decoding point cloud blocks, and will not be described repeatedly here.

선택적으로, 상기 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하기 전, 상기 방법은,Optionally, before performing transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient, the method includes:

상기 코딩할 포인트 클라우드 중의 제1 변환 아이디를 획득하는 단계;Obtaining a first transformation ID in the point cloud to be coded;

상기 제1 변환 아이디가 모든 코딩 포인트 클라우드 그룹에 대해 변환 코딩을 수행하는 것을 나타내는 경우, 모든 코딩 포인트 클라우드 그룹을 상기 제1 목표 코딩 포인트 클라우드 그룹으로 결정하는 단계;When the first transformation ID indicates that transformation coding is performed on all coding point cloud groups, determining all coding point cloud groups as the first target coding point cloud group;

상기 제1 변환 아이디가 모든 코딩 포인트 클라우드 그룹에 대해 자체 적응 변환 코딩을 수행하는 것을 나타내는 경우, 상기 N 개의 코딩 포인트 클라우드 그룹 중의 적어도 하나의 코딩 포인트 클라우드 그룹을 상기 제1 목표 코딩 포인트 클라우드 그룹으로 결정하는 단계를 포함한다.When the first transformation ID indicates that self-adaptive transformation coding is performed on all coding point cloud groups, at least one coding point cloud group among the N coding point cloud groups is determined as the first target coding point cloud group. It includes steps to:

상기 제1 목표 코딩 포인트 클라우드 그룹핑은 변환 코딩을 수행하는 포인트 클라우드 그룹핑을 가리키는 바, 즉 제1 목표 코딩 포인트 클라우드 그룹 중의 각 코딩 포인트에 대하여 모두 변환 코딩을 수행하여야 하는 것을 이해해야 한다.It should be understood that the first target coding point cloud grouping refers to a point cloud grouping that performs transform coding, that is, transform coding must be performed on each coding point in the first target coding point cloud group.

본 실시예에서, 코딩할 포인트 클라우드는 제1 변환 아이디가 미리 설정되고, 해당 제1 변환 아이디는 또한 자체 적응 변환 아이디라고도 하며, 자체 적응 변환(AdpTransform)으로 표시할 수 있고, 해당 제1 변환 아이디는 자체 정의로 설정될 수 있다.In this embodiment, the point cloud to be coded has a first transformation ID set in advance, and the first transformation ID is also called a self-adaptive transformation ID, and can be expressed as a self-adaptive transformation (AdpTransform), and the first transformation ID is can be set to self-definition.

만일 AdpTransform=0이면 모든 코딩 포인트에 대해 변환 코딩을 수행하는 것을 나타내는 바, 즉 모든 코딩 포인트 클라우드 그룹에 대해 변환 코딩을 수행하며, 이 경우 모든 코딩 포인트 클라우드 그룹을 상기 제1 목표 코딩 포인트 클라우드 그룹으로 결정한다.If AdpTransform=0, it indicates that transformation coding is performed on all coding points, that is, transformation coding is performed on all coding point cloud groups. In this case, all coding point cloud groups are converted to the first target coding point cloud group. decide

만일 AdpTransform=1이면, 각 코딩 포인트 클라우드 그룹이 자체 적응 변환 코딩을 수행하는 것을 나타내고, 그렇다면 각 코딩 포인트 클라우드 그룹의 실제 상황에 따라 해당 코딩 포인트 클라우드 그룹에 대해 변환 코딩을 수행할지 여부를 결정하는 바, 다시 말하면, N 개의 코딩 포인트 클라우드 그룹 중의 적어도 하나의 코딩 포인트 클라우드 그룹을 제1 목표 코딩 포인트 클라우드 그룹으로 결정한다.If AdpTransform=1, it indicates that each coding point cloud group performs its own adaptive transformation coding, and if so, it is decided whether to perform transformation coding for that coding point cloud group according to the actual situation of each coding point cloud group. , In other words, at least one coding point cloud group among the N coding point cloud groups is determined as the first target coding point cloud group.

코딩 포인트 클라우드 블록 중의 각 코딩 포인트 클라우드 그룹은 포인트 클라우드 그룹의 그룹핑 시간 순서에 따라 랭킹되며, 코딩 포인트 클라우드 블록 중 가장 앞으로 랭킹된 코딩 포인트 클라우드 그룹을 제3 포인트 클라우드 그룹으로 결정하는 것을 이해해야 한다.It should be understood that each coding point cloud group among the coding point cloud blocks is ranked according to the grouping time order of the point cloud group, and that the coding point cloud group ranked most forward among the coding point cloud blocks is determined as the third point cloud group.

본 실시예에서, 코딩 포인트 클라우드 블록에 제4 변환 아이디가 미리 설정되고, 해당 제4 변환 아이디는 제3 포인트 클라우드 그룹에 대해 변환 코딩을 수행하는 경우, 제3 포인트 클라우드 그룹을 제1 목표 코딩 포인트 클라우드 그룹으로 결정하는 것을 나타내기 위한 것이다. 다시 말하면, 코딩 포인트 클라우드 블록에 제4 변환 아이디가 미리 설정되고, 해당 제4 변환 아이디에 따라 제3 포인트 클라우드 그룹이 제1 목표 코딩 포인트 클라우드 그룹인지 여부를 결정한다.In this embodiment, the fourth transformation ID is preset in the coding point cloud block, and the fourth transformation ID is used to convert the third point cloud group into the first target coding point when transformation coding is performed on the third point cloud group. This is to indicate that decisions are made by cloud group. In other words, the fourth transformation ID is preset in the coding point cloud block, and it is determined whether the third point cloud group is the first target coding point cloud group according to the fourth transformation ID.

코딩 포인트 클라우드 블록 중의 각 코딩 포인트 클라우드 그룹은 포인트 클라우드 그룹의 그룹핑 시간 순서에 따라 랭킹되며, 코딩 포인트 클라우드 블록 중 가장 앞으로 랭킹된 코딩 포인트 클라우드 그룹을 제외한 코딩 포인트 클라우드 그룹을 제4 포인트 클라우드 그룹으로 결정하는 것을 이해해야 한다. 어느 한 제4 포인트 클라우드 그룹에 대해, 코딩 포인트 클라우드 블록 중 해당 제4 포인트 클라우드 그룹과 인접되고 제4 포인트 클라우드 그룹 앞에 위치하는 코딩 포인트 클라우드 그룹을 인접된 포인트 클라우드 그룹으로 결정하고, 해당 인접된 포인트 클라우드 그룹에 대응하는 재구성 정보 중의 최대값을 제3 재구성 값으로 결정하고, 해당 인접된 포인트 클라우드 그룹에 대응하는 재구성 정보 중의 최소값을 제4 재구성 값으로 결정한다.Each coding point cloud group among the coding point cloud blocks is ranked according to the grouping time order of the point cloud group, and the coding point cloud group excluding the coding point cloud group ranked most forward among the coding point cloud blocks is determined as the fourth point cloud group. You must understand what you are doing. For any fourth point cloud group, the coding point cloud group adjacent to the fourth point cloud group among the coding point cloud blocks and located in front of the fourth point cloud group is determined as the adjacent point cloud group, and the adjacent point cloud group is determined. The maximum value among the reconstruction information corresponding to the cloud group is determined as the third reconstruction value, and the minimum value among the reconstruction information corresponding to the adjacent point cloud group is determined as the fourth reconstruction value.

제3 재구성 값과 제4 재구성 값 간의 차이값 결과를 계산하고, 해당 차이값 결과의 절대값을 획득한다. 나아가, 본 실시예에는 또한 제2 미리 설정된 수치가 설정되고, 절대값이 제2 미리 설정된 수치보다 작은 경우, 제4 포인트 클라우드 그룹을 제1 목표 디코딩 포인트 클라우드 그룹으로 결정한다.Calculate the difference result between the third reconstruction value and the fourth reconstruction value, and obtain the absolute value of the difference result. Furthermore, in this embodiment, a second preset value is also set, and when the absolute value is smaller than the second preset value, the fourth point cloud group is determined as the first target decoding point cloud group.

선택적으로, 상기 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 단계는,Optionally, performing transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient, comprising:

변환 매트릭스와 상기 제1 잔차 정보 간의 곱셈 결과를 계산하고, 상기 곱셈 결과를 정량화할 제1 변환 계수로 결정하는 단계; calculating a multiplication result between a transformation matrix and the first residual information, and determining the multiplication result as a first transformation coefficient to be quantified;

상기 정량화할 제1 변환 계수에 대해 정량화를 수행하여 상기 정량화된 제1 변환 계수를 획득하는 단계를 포함한다.and performing quantification on the first conversion coefficient to be quantified to obtain the quantified first conversion coefficient.

상기 제1 잔차 정보는 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 잔차 정보이며, 상술한 바와 같이, 코딩 포인트 클라우드 그룹에 대응하는 잔차 정보는 해당 코딩 그룹의 각 코딩 포인트에 대응하는 잔차 정보의 집합이고, 상기 제1 잔차 정보는 하나의 1 차원의 잔차 정보 매트릭스로 이해할 수 있다.The first residual information is residual information corresponding to the first target coding point cloud group, and as described above, the residual information corresponding to the coding point cloud group is a set of residual information corresponding to each coding point of the coding group, , the first residual information can be understood as a one-dimensional residual information matrix.

상기 변환 매트릭스는 이산 코사인 변환(Discrete Cosine Transform, DCT) 매트릭스 또는 이산 사인 변환(Discrete Sine Transform, DST) 매트릭스 또는 하다마드 변환 매트릭스 또는 다른 유형의 변화 매트릭스일 수 있다. 상기 변환 매트릭스의 변환 차수는 제1 목표 코딩 포인트 클라우드 그룹에 포함된 코드 포인트 수량과 동일하며, 예시적으로, 제1 목표 코딩 포인트 클라우드 그룹에 포함된 코드 포인트 수량이 3이면, 변환 매트릭스의 변환 차수도 3이고, 변환 매트릭스는 3*3 매트릭스이다.The transformation matrix may be a Discrete Cosine Transform (DCT) matrix or a Discrete Sine Transform (DST) matrix or a Hadamard Transform matrix or another type of transformation matrix. The transformation order of the transformation matrix is the same as the number of code points included in the first target coding point cloud group. For example, if the number of code points included in the first target coding point cloud group is 3, the transformation order of the transformation matrix is The number is also 3, and the transformation matrix is a 3*3 matrix.

상기 정량화된 제1 변환 계수는 저주파 계수와 고주파 계수를 포함하며, 상기 저주파 계수는 또한 DC 계수라고도 하고, 상기 고주파 계수는 AC 계수라고도 한다.The quantified first conversion coefficient includes a low-frequency coefficient and a high-frequency coefficient, where the low-frequency coefficient is also called a DC coefficient, and the high-frequency coefficient is also called an AC coefficient.

변환 매트릭스와 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 곱셈 연산하여 정량화할 변환 계수를 획득하며, 예시적으로 하기 공식을 참조할 수 있다.A transformation coefficient to be quantified is obtained by multiplying the transformation matrix and the residual information corresponding to the first target coding point cloud group. For example, the following formula may be referred to.

여기서, 상기 공식 중의 DC는 저주파 계수를 나타내고, AC는 고주파 계수를 나타내며, AttrRes는 제1 잔차 정보를 나타내고, T는 변환 매트릭스 중의 요소를 나타낸다. 상기 공식으로부터 만일 제1 목표 코딩 포인트 클라우드 그룹이 K 개의 코딩 포인트를 포함하는 경우, 제1 잔차 정보 매트릭스는 K 개의 잔차 정보를 포함하고, 정량화할 제1 변환 계수는 하나의 저주파 계수, K-1 개의 고주파 계수를 포함하며, 변환 매트릭스의 변환 차수는 K라는 것을 알 수 있다.Here, DC in the above formula represents the low-frequency coefficient, AC represents the high-frequency coefficient, AttrRes represents the first residual information, and T represents the element in the transformation matrix. From the above formula, if the first target coding point cloud group includes K coding points, the first residual information matrix includes K residual information, and the first transformation coefficient to be quantified is one low-frequency coefficient, K-1 It can be seen that it contains high-frequency coefficients, and the transformation order of the transformation matrix is K.

상기 정량화할 제1 변환 계수의 색상 속성은 YUV 색상 공간이며, YUV 색상 공간 중의 U 성분과 V 성분을 제1 성분으로 결정하고, Y 성분을 제2 성분으로 결정할 수 있다.The color attribute of the first conversion coefficient to be quantified is the YUV color space, and the U and V components in the YUV color space can be determined as the first component, and the Y component can be determined as the second component.

U 성분 및 V 성분 중의 고주파 계수에 대해 미리 설정된 제1 정량화 스텝을 사용하여 정량화를 수행하여, 정량화된 제3 고주파 계수를 획득한다.Quantification is performed using a preset first quantification step for the high frequency coefficients in the U component and the V component to obtain a quantified third high frequency coefficient.

U 성분 및 V 성분 중의 저주파 계수에 대해 미리 설정된 제2 정량화 스텝을 사용하여 정량화를 수행하여, 정량화된 제3 저주파 계수를 획득한다.Quantification is performed using a preset second quantification step for the low-frequency coefficients in the U component and the V component to obtain a quantified third low-frequency coefficient.

Y 성분 중의 고주파 계수 및 저주파 계수에 대해 미리 설정된 제3 정량화 스텝을 분산 사용하여 정량화를 수행하여, 정량화된 제4 고주파 계수 및 제4 저주파 계수를 획득한다.Quantification is performed using distributed preset third quantification steps for the high-frequency coefficients and low-frequency coefficients in the Y component, to obtain quantified fourth high-frequency coefficients and fourth low-frequency coefficients.

본 실시예에서, 정량화된 제3 고주파 계수, 정량화된 제3 저주파 계수, 정량화된 제4 고주파 계수 및 정량화된 제4 저주파 계수를 정량화된 제1 변환 계수로서 결정한다.In this embodiment, the quantified third high-frequency coefficient, the quantified third low-frequency coefficient, the quantified fourth high-frequency coefficient and the quantified fourth low-frequency coefficient are determined as the quantified first conversion coefficient.

아래 도면을 참조하고, 일부 실시예 및 그 응용 시나리오를 통하여 본 출원의 실시예가 제공하는 포인트 클라우드 속성 디코딩 방법에 대하여 상세한 설명을 진행하도록 한다.Referring to the drawings below, a detailed description will be given of the point cloud attribute decoding method provided by the embodiments of the present application through some embodiments and application scenarios.

도 5를 참조하면, 도 5는 본 출원이 제공하는 포인트 클라우드 속성 디코딩 방법의 흐름도이다. 본 실시예가 제공하는 포인트 클라우드 속성 디코딩 방법은 하기 단계를 포함한다.Referring to FIG. 5, FIG. 5 is a flowchart of the point cloud attribute decoding method provided by the present application. The point cloud attribute decoding method provided by this embodiment includes the following steps.

S201: 디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득한다.S201: Perform decoding on the code stream to be decoded to obtain a point cloud to be decoded.

본 단계에서, 디코딩할 코드 스트림을 획득한 후, 디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득하는 바, 상기 디코딩할 포인트 클라우드는 복수의 디코딩 포인트를 포함하고, 디코딩할 포인트 클라우드 중의 디코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹된다. 여기서, 상기 디코딩할 포인트 클라우드의 디코딩 포인트는 힐버트 코드가 작은 것으로부터 큰 것에 따라 랭킹되거나, 모튼 코드가 작은 것으로부터 큰 것에 따라 랭킹될 수 있다.In this step, after obtaining the code stream to be decoded, decoding is performed on the code stream to be decoded to obtain a point cloud to be decoded, the point cloud to be decoded includes a plurality of decoding points, and the point cloud to be decoded is obtained. The decoding points are ranked according to a preset coding order. Here, the decoding points of the point cloud to be decoded may be ranked according to the Hilbert code from small to large, or according to the Morton code from small to large.

S202: 상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할한다.S202: Based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, the point cloud to be decoded is divided into at least one decoding point cloud block. Divide.

본 단계에서, 디코딩할 포인트 클라우드에 대하여 분할을 수행하여 디코딩 포인트 클라우드 블록을 획득한다. 여기서, 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 디코딩할 포인트 클라우드에 대한 분할 방식을 결정하는 바, 구체적인 기술방안은 후속 실시예를 참조할 수 있다.In this step, segmentation is performed on the point cloud to be decoded to obtain a decoding point cloud block. Here, the division method for the point cloud to be decoded is determined based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point. Specific technology The scheme may refer to subsequent embodiments.

동일한 디코딩 포인트 클라우드 블록에 속하는 디코딩 포인트에 대응하는 속성 정보는 공간 상관성을 가지는 바, 즉 이러한 디코딩 포인트의 기하학적 위치가 더 가깝고 색상 속성이 더 유사한 것을 이해해야 한다.It should be understood that attribute information corresponding to decoding points belonging to the same decoding point cloud block has spatial correlation, that is, the geometric positions of these decoding points are closer and the color attributes are more similar.

만일 디코딩할 포인트 클라우드 중의 디코딩할 포인트가 힐버트 코드가 작은 것으로부터 큰 것에 따라 랭킹되면, 디코딩할 포인트 클라우드에 대하여 분할을 수행한 후, 동일한 디코딩 포인트 클라우드 블록에 속하는 디코딩 포인트에 대응하는 힐버트 코드가 같은 것을 이해해야 한다.If the points to be decoded in the point cloud to be decoded are ranked according to Hilbert code from smallest to largest, then after performing segmentation on the point cloud to be decoded, the Hilbert codes corresponding to the decoding points belonging to the same decoding point cloud block are the same. You must understand that

만일 디코딩할 포인트 클라우드 중의 디코딩 포인트가 모튼 코드가 작은 것으로부터 큰 것에 따라 랭킹되면, 디코딩할 포인트 클라우드에 대하여 분할을 수행한 후, 동일한 디코딩 포인트 클라우드 블록에 속하는 디코딩 포인트에 대응하는 모튼 코드가 같은 것을 이해해야 한다.If the decoding points in the point cloud to be decoded are ranked according to the Morton code from smallest to largest, after performing segmentation on the point cloud to be decoded, it is determined that the Morton codes corresponding to the decoding points belonging to the same decoding point cloud block are the same. You must understand.

S203: 적어도 두 개의 디코딩 포인트를 포함하는 각 디코딩 포인트 클라우드 블록에 대해, 상기 디코딩할 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할한다.S203: For each decoding point cloud block including at least two decoding points, based on the quantity of decoding points included in the point cloud block to be decoded and a preset maximum transformation order, the decoding point cloud block is divided into M decoding points. Divide into cloud groups.

본 단계에서, 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할한 후, 적어도 두 개의 디코딩 포인트를 포함하는 코딩 포인트 클라우드 블록에 대해, 해당 디코딩 포인트 클라우드 블록에 대하여 그룹핑을 수행하여 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하는 바, 여기서, 디코딩 포인트 클라우드 블록을 M 개 디코딩 포인트 클라우드 그룹으로 분할하는 실시방식은 실시예를 참조할 수 있다.In this step, the point cloud to be decoded is divided into at least one decoding point cloud block, and then, for the coding point cloud block containing at least two decoding points, grouping is performed on the corresponding decoding point cloud block to decode the point cloud. The block is divided into M decoding point cloud groups. Here, the implementation method of dividing the decoding point cloud block into M decoding point cloud groups may refer to the embodiment.

일 가능한 경우는, 디코딩 포인트 클라우드 그룹 수량이 1이고, 이 경우 전체 디코딩 포인트 클라우드 블록을 하나의 디코딩 포인트 클라우드 그룹으로 간주하는 것으로 이해할 수 있다.In one possible case, the decoding point cloud group quantity is 1, and in this case, it can be understood that the entire decoding point cloud block is regarded as one decoding point cloud group.

디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할한 후, 디코딩 포인트 클라우드 그룹 중의 어느 한 디코딩 포인트에 대해, 기하학적 공간 관계를 이용하여 해당 디코딩 포인트의 가장 인접된 이웃을 검색하고, 찾아낸 이웃의 재구성 속성값을 이용하여 해당 디코딩 포인트에 대하여 예측을 수행하여 예측 속성값을 획득하여, 각 디코딩 포인트 클라우드 그룹 중 각 디코딩 포인트에 대응하는 예측 속성값을 획득할 수 있으며, 상기 예측 속성값을 또한 예측 정보라고도 하는 것을 이해해야 한다.After dividing the decoding point cloud block into M decoding point cloud groups, for any one decoding point in the decoding point cloud group, search for the nearest neighbor of the decoding point using geometric spatial relationships, and reconstruct the found neighbor. By performing prediction on the corresponding decoding point using the attribute value to obtain the prediction attribute value, the prediction attribute value corresponding to each decoding point among each decoding point cloud group can be obtained, and the prediction attribute value can also be used as prediction information. You must understand that it is also called.

S204: 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득한다.S204: Perform inverse quantification processing on the second transform coefficient corresponding to the third target decoding point cloud group to obtain the target high-frequency coefficient and the target low-frequency coefficient.

상기 제3 목표 디코딩 포인트 클라우드 그룹은 상기 M 개의 디코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제3 목표 디코딩 포인트 클라우드 그룹은 역 정량화 처리를 수행하는 디코딩 포인트 클라우드 그룹이다.The third target decoding point cloud group is at least a part of the M decoding point cloud groups, and the third target decoding point cloud group is a decoding point cloud group that performs inverse quantification processing.

본 단계에서, M 개의 디코딩 포인트 클라우드 그룹 중의 적어도 일부 디코딩 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하고, 제3 목표 디코딩 포인트 클라우드 그룹은 역 정량화 처리를 수행하는 디코딩 포인트 클라우드 그룹인 것을 이해해야 하며, 구체적으로 어떻게 목표 디코딩 포인트 클라우드 그룹을 결정하는가 하는 기술방안은 후속 실시예를 참조할 수 있다.In this step, it should be understood that at least some decoding point cloud groups among the M decoding point cloud groups are determined as the third target decoding point cloud group, and the third target decoding point cloud group is a decoding point cloud group that performs inverse quantification processing. And, for technical solutions on how to specifically determine the target decoding point cloud group, refer to subsequent embodiments.

본 실시예에서, 제3 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수를 판독하고, 상기 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득한다. 여기서, 구체적인 역 정량화 처리의 실시방식은 후속 실시예를 참조할 수 있다.In this embodiment, the second transform coefficient corresponding to the third target coding point cloud group is read, and inverse quantification processing is performed on the second transform coefficient to obtain the target high-frequency coefficient and the target low-frequency coefficient. Here, the specific implementation method of the reverse quantification process may refer to the subsequent examples.

S205: 상기 목표 고주파 계수 및 상기 목표 저주파 계수에 대해 역변환 처리를 수행하여 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 획득한다.S205: Perform inverse transformation on the target high-frequency coefficient and the target low-frequency coefficient to obtain residual information corresponding to the third target decoding point cloud group.

본 실시예에서, 목표 고주파 계수 및 목표 저주파 계수를 획득한 후, 목표 고주파 계수 및 목표 저주파 계수에 대해 역변환 처리를 수행하여 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 획득한다.In this embodiment, after obtaining the target high-frequency coefficient and the target low-frequency coefficient, inverse transformation processing is performed on the target high-frequency coefficient and the target low-frequency coefficient to obtain residual information corresponding to the third target decoding point cloud group.

선택적인 실시방식으로는, M 개의 디코딩 포인트 클라우드 그룹 중 역 정량화 처리를 수행하지 않는 디코딩 포인트 클라우드 그룹을 제4 목표 디코딩 포인트 클라우드 그룹으로 결정하고, 제4 목표 디코딩 포인트 클라우드 그룹에 대해 역 정량화를 수행하여 제4 목표 디코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 획득할 수 있다.In an optional implementation method, among the M decoding point cloud groups, a decoding point cloud group that does not perform inverse quantification processing is determined as the fourth target decoding point cloud group, and inverse quantification is performed on the fourth target decoding point cloud group. Thus, residual information corresponding to the fourth target decoding point cloud group can be obtained.

상술한 바와 같이, 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할한 후, 디코딩 포인트 클라우드 그룹 중의 어느 한 디코딩 포인트에 대해, 기하학적 공간 관계를 이용하여 해당 디코딩 포인트의 가장 인접된 이웃을 검색하고, 찾아낸 이웃의 재구성 속성값을 이용하여 해당 디코딩 포인트에 대하여 예측을 수행하여 해당 코딩 포인트에 대응하는 예측 정보를 획득할 수 있다. 나아가, 해당 코딩 포인트에 대응하는 잔차 정보를 결정한 후, 해당 코딩 포인트에 대응하는 잔차 정보와 코딩 포인트에 대응하는 예측 정보를 덧셈하여, 해당 코딩 포인트에 대응하는 재구성된 속성 정보를 획득할 수 있다.As described above, after dividing the decoding point cloud block into M decoding point cloud groups, for any one decoding point in the decoding point cloud group, search for the nearest neighbor of the decoding point using geometric spatial relationships, , prediction information corresponding to the coding point can be obtained by performing prediction on the corresponding decoding point using the reconstructed attribute value of the found neighbor. Furthermore, after determining the residual information corresponding to the coding point, the residual information corresponding to the coding point and the prediction information corresponding to the coding point are added to obtain reconstructed attribute information corresponding to the coding point.

본 출원의 실시예가 제공하는 포인트 클라우드 속성 디코딩 방법은, 각 디코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분히 고려하여, 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하고, 여기서, 제3 목표 디코딩 포인트 클라우드 그룹 중의 각 디코딩 포인트의 속성 정보는 공간적 상관성이 존재한다. 나아가, 상기 목표 고주파 계수 및 목표 저주파 계수에 대해 역변환 처리를 수행하여 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 획득하여, 변환 계수와 잔차 정보 중의 중복 정보를 감소시켜, 포인트 클라우드의 속성 디코딩의 효율을 향상시킨다.The point cloud attribute decoding method provided by the embodiment of the present application sufficiently considers the correlation between residual information corresponding to each decoding point and performs inverse quantification processing on the second transform coefficient corresponding to the third target decoding point cloud group. Thus, the target high-frequency coefficient and the target low-frequency coefficient are obtained, where the attribute information of each decoding point in the third target decoding point cloud group has spatial correlation. Furthermore, inverse transformation processing is performed on the target high-frequency coefficient and the target low-frequency coefficient to obtain residual information corresponding to the third target decoding point cloud group, thereby reducing redundant information among the transform coefficient and residual information to decode the properties of the point cloud. improves efficiency.

선택적으로, 상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하는 상기 단계는,Optionally, based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, the point cloud to be decoded is divided into at least one decoding point cloud block. The above step of dividing into,

제2 목표 시프트 값을 사용하여, 각 디코딩 포인트에 대응하는 랭킹 코드에 대해 시프트를 수행하여 각 디코딩 포인트에 대응하는 제2 목표 랭킹 코드를 획득하는 단계; Using the second target shift value, performing a shift on the ranking code corresponding to each decoding point to obtain a second target ranking code corresponding to each decoding point;

제2 목표 랭킹 코드가 같은 디코딩 포인트를 동일한 디코딩 포인트 클라우드 블록에 분할시키는 단계를 포함한다.and partitioning decoding points with the same second target ranking code into the same decoding point cloud block.

상기 디코딩할 포인트 클라우드 중의 디코딩 포인트는 랭킹 코드에 따라 작은 것부터 큰 것까지 랭킹되며, 상기 랭킹 코드는 힐버트 코드 및 모튼 코드 중 어느 하나를 포함하는 바, 다시 말하면, 디코딩할 포인트 클라우드 중의 디코딩 포인트는 힐버트 코드가 작은 것부터 큰 것에 따라 랭킹되거나, 디코딩할 포인트 클라우드 중의 디코딩 포인트는 모튼 코드가 작은 것부터 큰 것에 따라 랭킹된다.The decoding points in the point cloud to be decoded are ranked from small to large according to a ranking code, and the ranking code includes either a Hilbert code or a Morton code. In other words, the decoding point in the point cloud to be decoded is a Hilbert code. The codes are ranked from smallest to largest, or the decoding points in the point cloud to be decoded are ranked according to the overall code from smallest to largest.

아래 디코딩할 포인트 클라우드 중의 디코딩 포인트가 모튼 코드가 작은 것부터 큰 것에 따라 랭킹되는 것을 예로 들어 방안에 대해 설명할 것이다.Below, the method will be explained using an example in which the decoding points in the point cloud to be decoded are ranked according to the Morton code from smallest to largest.

제2 목표 시프트 값을 획득한 후, 제2 목표 시프트 값을 사용하여 각 디코딩 포인트에 대응하는 힐버트 코드에 대하여 오른쪽으로 시프트하여 각 디코딩 포인트에 대응하는 새로운 힐버트 코드를 획득하고, 상기 새로운 힐버트 코드를 목표 힐버트 코드로 결정하며, 상기 목표 힐버트 코드는 제2 목표 랭킹 코드로 이해할 수 있다.After obtaining the second target shift value, the Hilbert code corresponding to each decoding point is shifted to the right using the second target shift value to obtain a new Hilbert code corresponding to each decoding point, and the new Hilbert code is It is determined by the target Hilbert code, and the target Hilbert code can be understood as a second target ranking code.

상기 제2 목표 시프트 값은 디코딩 포인트의 시프트 과정에서 이동되는 비트 수를 나타내고, 상기 제2 목표 시프트 값은 또한 디코딩할 포인트 클라우드의 밀도를 나타낼 수 있으며, 목표 시프트 값이 작을 수록 디코딩할 포인트 클라우드 중의 각 디코딩 포인트의 밀도가 높은 것을 이해해야 한다.The second target shift value represents the number of bits shifted in the process of shifting the decoding point, and the second target shift value may also represent the density of the point cloud to be decoded. The smaller the target shift value, the greater the number of bits in the point cloud to be decoded. It must be understood that the density of each decoding point is high.

나아가, 각 디코딩 포인트에 대응하는 목표 힐버트 코드에 따라 디코딩할 코딩 포인트의 클라우드를 분할하고, 목표 힐버트 코드가 동일한 디코딩 포인트를 동일한 디코딩 포인트 클라우드 블록에 분할하는 바, 다시 말하면, 한 디코딩 포인트 클라우드 블록 중의 각 디코딩 포인트에 대응하는 목표 힐버트 코드는 같다.Furthermore, the cloud of coding points to be decoded is divided according to the target Hilbert code corresponding to each decoding point, and the decoding points with the same target Hilbert code are divided into the same decoding point cloud block, that is, among one decoding point cloud block. The target Hilbert code corresponding to each decoding point is the same.

본 실시예에서, 디코딩할 포인트 클라우드 중의 각 디코딩 포인트의 랭킹 코드에 대하여 시프트를 수행하고, 시프트된 각 디코딩 포인트에 대응하는 제2 목표 랭킹 코드에 따라 디코딩할 포인트 클라우드를 디코딩 포인트 클라우드 블록으로 분할한다. 여기서, 동일한 디코딩 포인트 클라우드 블록에 속하는 디코딩 포인트의 제2 목표 랭킹 코드가 같은 것은, 이러한 디코딩 포인트의 속성이 공간적 상관성을 갖는 것을 나타내어, 속성 정보가 공간 상관성을 갖는 디코딩 포인트를 동일한 디코딩 포인트 클라우드 블록에 분할한다.In this embodiment, a shift is performed on the ranking code of each decoding point in the point cloud to be decoded, and the point cloud to be decoded is divided into decoding point cloud blocks according to the second target ranking code corresponding to each shifted decoding point. . Here, the fact that the second target ranking code of the decoding points belonging to the same decoding point cloud block is the same indicates that the properties of these decoding points have spatial correlation, and the decoding points for which the property information has spatial correlation are assigned to the same decoding point cloud block. Divide.

선택적으로, 상기 제2 목표 시프트 값을 사용하여, 각 디코딩 포인트에 대응하는 랭킹 코드에 대해 시프트를 수행하여 각 디코딩 포인트에 대응하는 제2 목표 랭킹 코드를 획득하기 전, 상기 방법은,Optionally, before performing a shift on the ranking code corresponding to each decoding point using the second target shift value to obtain a second target ranking code corresponding to each decoding point, the method includes:

제1 시프트 파라미터 및 제2 시프트 파라미터에 기반하여 상기 제2 목표 시프트 값을 결정하는 단계; 또는determining the second target shift value based on a first shift parameter and a second shift parameter; or

상기 디코딩할 포인트 클라우드에 대응하는 기하학적 정량화 스텝에 기반하여 상기 제2 목표 시프트 값을 결정하는 단계; 또는determining the second target shift value based on a geometric quantification step corresponding to the point cloud to be decoded; or

미리 설정된 시프트 값을 상기 제2 목표 시프트 값으로 결정하는 단계; 또는determining a preset shift value as the second target shift value; or

상기 디코딩할 코드 스트림으로부터 상기 제2 목표 시프트 값을 획득하는 단계를 포함한다.and obtaining the second target shift value from the code stream to be decoded.

본 실시예에서, 포인트 클라우드가 모두 바운딩 박스 안에 포함되도록 디코딩할 포인트 클라우드의 기하학적 정보에 대하여 좌표 전환을 수행한다. 여기서, 디코딩할 포인트 클라우드를 중심으로 3 차원 직각 좌표계를 형성할 수 있고, 해당 바운딩 박스는 해당 디코딩할 포인트 클라우드를 덮는 육면체로 이해할 수 있으며, 해당 육면체의 각 모서리는 상기 좌표계 중의 X축, Y축 또는 Z축에 위치한다. 해당 바운딩 박스의 크기, 즉 좌표계의 X축, Y축 및 Z축에서 대응하는 바운딩 박스의 변 길이에 기반하여, 디코딩할 포인트 클라우드에 대응하는 제1 시프트 파라미터를 결정한다.In this embodiment, coordinate conversion is performed on the geometric information of the point cloud to be decoded so that the point cloud is all contained within the bounding box. Here, a three-dimensional rectangular coordinate system can be formed centered on the point cloud to be decoded, the bounding box can be understood as a hexahedron covering the point cloud to be decoded, and each corner of the hexahedron is located on the X and Y axes of the coordinate system. Or it is located on the Z axis. A first shift parameter corresponding to the point cloud to be decoded is determined based on the size of the corresponding bounding box, that is, the side lengths of the corresponding bounding box in the X-axis, Y-axis, and Z-axis of the coordinate system.

디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량을 획득하고, 디코딩 포인트 클라우드에 포함된 디코딩 포인트 수량에 기반하여 디코딩할 포인트 클라우드에 대응하는 제2 시프트 파라미터를 결정한다.Obtain the quantity of decoding points included in the point cloud to be decoded, and determine a second shift parameter corresponding to the point cloud to be decoded based on the quantity of decoding points included in the decoding point cloud.

실시예에는 또한 시프트 계산 공식, 제1 시프트 파라미터 계산 공식 및 제2 시프트 파라미터 계산 공식이 미리 설정되어 있다. 상기 제1 시프트 파라미터 및 제2 시프트 파라미터를 계산 공식에 입력하여 디코딩할 포인트 클라우드에 대응하는 제2 목표 시프트 값을 획득한다. 여기서, 상기 바운딩 박스에 대응하는 변 길이를 제1 시프트 파라미터 계산 공식에 입력하여 제1 시프트 파라미터를 획득할 수 있으며; 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량을 제2 시프트 파라미터 계산 공식에 입력하여 제2 시프트 파라미터를 획득할 수 있다.The embodiment also has a shift calculation formula, a first shift parameter calculation formula, and a second shift parameter calculation formula set in advance. The first shift parameter and the second shift parameter are input into a calculation formula to obtain a second target shift value corresponding to the point cloud to be decoded. Here, the first shift parameter can be obtained by inputting the side length corresponding to the bounding box into the first shift parameter calculation formula; The second shift parameter can be obtained by inputting the quantity of decoding points included in the point cloud to be decoded into the second shift parameter calculation formula.

구체적으로 말하면, 상기 시프트 계산 공식, 제1 시프트 파라미터 계산 공식 및 제2 시프트 파라미터 계산 공식은 하기와 같다.Specifically, the shift calculation formula, the first shift parameter calculation formula, and the second shift parameter calculation formula are as follows.

여기서, shiftBits는 제2 목표 시프트 값을 나타내며, MaxBits는 제1 시프트 파라미터를 나타내고, MinBits는 제2 시프트 파라미터를 나타내며, x는 좌표계의 X축에서 대응하는 바운딩 박스의 변 길이를 나타내고, y는 좌표계의 Y축에 대응하는 바운딩 박스의 변 길이를 나타내며, z는 좌표계의 Z축에 대응하는 바운딩 박스의 변 길이를 나타내고, voxelCount는 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량을 나타낸다.Here, shiftBits represents the second target shift value, MaxBits represents the first shift parameter, MinBits represents the second shift parameter, x represents the side length of the corresponding bounding box on the represents the side length of the bounding box corresponding to the Y-axis, z represents the side length of the bounding box corresponding to the Z-axis of the coordinate system, and voxelCount represents the quantity of decoding points included in the point cloud to be decoded.

예를 들어, 제1 시프트 파라미터가 9이고, 제2 시프트 파라미터가 3인 경우, 제2 목표 시프트 값은 3이다.For example, when the first shift parameter is 9 and the second shift parameter is 3, the second target shift value is 3.

선택가능한 실시방식으로는, 상기 제2 목표 시프트 값은 디코딩 포인트 클라우드의 기하학적 정량화 스텝에 기반하여 결정하는 바, 예를 들어, 제2 목표 시프트 값을 기하학적 정량화 스텝에 대응하는 수치로 설정하거나, 또는 기하학적 정량화 스텝에 대응하는 수치와 미리 설정된 수치의 덧셈 결과를 제2 목표 시프트 값으로 설정한다.In an optional implementation method, the second target shift value is determined based on the geometric quantification step of the decoding point cloud, for example, the second target shift value is set to a value corresponding to the geometric quantification step, or The result of adding the numerical value corresponding to the geometric quantification step and the preset numerical value is set as the second target shift value.

선택가능한 실시방식으로는, 상기 제2 목표 시프트 값을 자체 정의로 설정될 수 있다.As a selectable implementation method, the second target shift value may be set to self-definition.

선택가능한 실시방식으로는, 디코딩할 코드 스트림으로부터 해당 제2 목표 시프트 값을 판독할 수 있다.In an optional implementation, the second target shift value may be read from the code stream to be decoded.

선택적으로, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하는 상기 단계는,Optionally, the step of dividing the decoding point cloud block into M decoding point cloud groups based on the quantity of decoding points included in the decoding point cloud block and a preset maximum transformation order,

상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 작거나 같은 경우, 상기 디코딩 포인트 클라우드 블록을 하나의 디코딩 포인트 클라우드 그룹으로 결정하는 단계;If the quantity of decoding points included in the decoding point cloud block is less than or equal to the preset maximum transformation order, determining the decoding point cloud block as one decoding point cloud group;

상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 큰 경우, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 상기 디코딩 포인트 클라우드 블록을 적어도 두 개의 디코딩 포인트 클라우드 그룹으로 분할하는 단계를 포함한다.If the decoding point quantity included in the decoding point cloud block is greater than the preset maximum transformation order, based on the decoding point quantity included in the decoding point cloud block and the first preset value, the decoding point cloud block is converted to at least It involves splitting into two decoding point cloud groups.

본 실시예에서, 최대 변환 차수가 미리 설정되고, 상기 미리 설정된 최대 변환 차수는 역변환 처리 과정에서 사용되는 변환 매트릭스에 대응하는 최대 차수를 나타내기 위한 것이다. 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량을 획득하고, 해당 코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 작거나 같은 경우, 해당 코딩 포인트 클라우드 블록을 하나의 코딩 포인트 클라우드 그룹으로 결정하는 바, 즉 해당 코딩 포인트 클라우드 블록에 대하여 포인트 클라우드 그룹핑을 수행하지 않는다.In this embodiment, the maximum transformation order is preset, and the preset maximum transformation order is intended to indicate the maximum order corresponding to the transformation matrix used in the inverse transformation process. Obtain the quantity of coding points included in the coding point cloud block, and if the quantity of coding points is less than or equal to the preset maximum transformation order, the coding point cloud block is determined as one coding point cloud group, that is, the corresponding coding point cloud block is obtained. Point cloud grouping is not performed on coding point cloud blocks.

해당 코딩 포인트 수량이 미리 설정된 최대 변환 차수보다 큰 경우, 해당 코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 해당 코딩 포인트 클라우드 블록에 대하여 포인트 클라우드 그룹핑을 수행하여, 코딩 포인트 클라우드 블록을 적어도 두 개의 코딩 포인트 클라우드 그룹으로 분할한다. 여기서, 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 해당 코딩 포인트 클라우드 블록에 대해 포인트 클라우드 그룹핑을 수행하는 구체적인 방안은 후속 실시예를 참조할 수 있다.If the corresponding coding point quantity is greater than the preset maximum transformation order, based on the corresponding coding point quantity and the first preset value, point cloud grouping is performed on the coding point cloud block, and the coding point cloud block is divided into at least two Divide the coding point cloud into groups. Here, based on the quantity of coding points included in the coding point cloud block and the first preset value, the specific method of performing point cloud grouping for the coding point cloud block may refer to subsequent embodiments.

선택적으로, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 제1 미리 설정된 수치에 기반하여, 상기 디코딩 포인트 클라우드 블록을 적어도 두 개의 디코딩 포인트 클라우드 그룹으로 분할하는 상기 단계는,Optionally, the step of dividing the decoding point cloud block into at least two decoding point cloud groups based on the decoding point quantity included in the decoding point cloud block and a first preset value, comprising:

제1 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 상기 제1 미리 설정된 수치를 사용하여 상기 제1 수치에 대해 그룹핑 계산 조작을 수행하여 제2 수치를 획득하는 단계; If the first value is greater than the preset maximum transformation order, performing a grouping calculation operation on the first value using the first preset value to obtain a second value;

상기 디코딩 포인트 클라우드 블록 중 디코딩 포인트의 미리 설정된 디코딩 순서에 따라, 모든 디코딩 포인트 클라우드 블록의 모든 디코딩 포인트가 포인트 클라우드 그룹핑을 완성할 때까지, 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 중의 적어도 일부 디코딩 포인트를 하나의 디코딩 포인트 클라우드 그룹으로 분할하는 단계를 포함한다.According to the preset decoding order of decoding points among the decoding point cloud blocks, at least some of the decoding points among the decoding points that have not performed point cloud grouping are selected until all decoding points of all decoding point cloud blocks complete point cloud grouping. It includes dividing into one decoding point cloud group.

상기 제1 수치는 디코딩 포인트 클라우드 블록의 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 수량을 나타내고, 제1 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 제1 미리 설정된 수치를 사용하여 제1 수치에 대해 그룹핑 계산 조작을 수행하여 제2 수치를 획득하는 바, 여기서, 제2 수치는 미리 설정된 최대 변환 차수보다 작다. 여기서, 어떻게 제1 미리 설정된 수치를 사용하여 제1 수치에 대하여 그룹핑 계산 조작을 수행하여 제2 수치를 획득할 것인가 하는 구체적인 방안은 후속 실시예를 참조할 수 있다.The first numerical value represents the decoding point quantity without performing point cloud grouping of the decoding point cloud block, and when the first numerical value is greater than the preset maximum transformation order, grouping for the first numerical value is performed using the first preset numerical value. A calculation operation is performed to obtain a second value, where the second value is smaller than a preset maximum transformation order. Here, the specific method of how to use the first preset numerical value to perform a grouping calculation operation on the first numerical value to obtain the second numerical value may refer to subsequent embodiments.

제2 수치를 획득한 후, 디코딩 포인트 클라우드 블록 중 디코딩 포인트의 미리 설정된 디코딩 순서에 따라, 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 중의 적어도 일부 디코딩 포인트를 하나의 디코딩 포인트 클라우드 그룹으로 분할한다. 다시 말하면, 디코딩 포인트 클라우드 블록 중 포인트 클라우드 그룹핑을 수행하지 않은 일부 디코딩 포인트를 결정하고, 이 일부 디코딩 포인트를 하나의 디코딩 포인트 클라우드 그룹으로 분할하거나, 디코딩 포인트 클라우드 블록 중 포인트 클라우드 그룹핑을 수행하지 않은 모든 디코딩 포인트를 결정하고, 이러한 디코딩 포인트를 하나의 디코딩 포인트 클라우드 그룹으로 분할한다. 여기서, 상기 적어도 하나의 디코딩 포인트 클라우드 그룹으로 분할된 디코딩 포인트 수량은 제2 수치와 같다.After obtaining the second numerical value, at least some decoding points among decoding points for which point cloud grouping has not been performed are divided into one decoding point cloud group according to a preset decoding order of decoding points among decoding point cloud blocks. In other words, determine some decoding points among decoding point cloud blocks that have not performed point cloud grouping, and split these some decoding points into one decoding point cloud group, or all decoding point cloud blocks that have not performed point cloud grouping. Decoding points are determined, and these decoding points are divided into one decoding point cloud group. Here, the quantity of decoding points divided into the at least one decoding point cloud group is equal to the second value.

일부 디코딩 포인트에 대하여 포인트 클라우드 그룹핑을 수행한 후, 제1 수치를 업데이트하고, 만일 업데이트된 제1 수치가 여전히 미리 설정된 최대 변환 차수보다 크면, 디코딩 포인트 클라우드 블록 중의 모든 디코딩 포인트가 포인트 클라우드 그룹핑을 완성할 때까지, 계속하여 디코딩 포인트 클라우드 블록 중의 적어도 일부 디코딩 포인트에 대하여 포인트 클라우드 그룹핑을 수행한다.After performing point cloud grouping for some decoding points, update the first value, and if the updated first value is still greater than the preset maximum transformation order, all decoding points in the decoding point cloud block complete the point cloud grouping. Until this happens, point cloud grouping is continuously performed on at least some decoding points among the decoding point cloud blocks.

선택적으로, 상기 제1 미리 설정된 수치를 사용하여 상기 제1 수치에 대해 그룹핑 계산 조작을 수행하여 제2 수치를 획득하는 상기 단계는,Optionally, the step of performing a grouping calculation operation on the first numerical value using the first preset numerical value to obtain a second numerical value, comprising:

제1 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 상기 제1 수치와 제1 미리 설정된 수치를 나눗셈한 결과를 반올림하여 목표 수치를 획득하는 단계;If the first numerical value is greater than the preset maximum conversion order, rounding a result of dividing the first numerical value and the first preset numerical value to obtain a target numerical value;

상기 목표 수치가 미리 설정된 최대 변환 차수보다 작거나 같을 때까지 상기 제1 수치를 상기 목표 수치로 업데이트하고, 상기 제2 수치를 상기 목표 수치로 결정하는 단계를 포함한다.Updating the first value to the target value until the target value is less than or equal to a preset maximum conversion order, and determining the second value to be the target value.

상기 그룹핑 계산 조작의 과정은 다음과 같은 바, 즉 제3 수치와 제1 미리 설정된 수치에 대해 나눗셈 연산을 수행하여 나눗셈 결과를 획득하며; 해당 나눗셈 결과에 대하여 반올림하여 목표 수치를 획득하며, 여기서, 나눗셈 결과에 대하여 반올림 또는 반내림 또는 사사오입하여 반올림할 수 있다. 목표 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 제1 수치를 목표 수치로 업데이트하고, 목표 수치가 미리 설정된 최대 변환 차수보다 작거나 같을 때까지, 계속하여 제1 수치 및 제1 미리 설정된 수치에 대해 나눗셈 연상을 수행하여 목표 수치를 제2 수치로 결정한다.The process of the grouping calculation operation is as follows: performing a division operation on a third numerical value and a first preset numerical value to obtain a division result; The target value is obtained by rounding the division result. Here, the division result can be rounded up or down or rounded off. When the target value is greater than the preset maximum conversion order, update the first value to the target value, and continue for the first value and the first preset value until the target value is less than or equal to the preset maximum conversion order. Perform division association to determine the target number as the second number.

디코딩 포인트 클라우드 블록에 대해 포인트 클라우드 그룹핑을 수행하는 기술방안을 상세하게 설명하기 위해, 아래 예시를 들어 설명하도록 한다.To explain in detail the technical method of performing point cloud grouping on decoding point cloud blocks, the example below will be used.

Mj1과 Kmax 사이의 크기 관계를 판단하는 바, 상기 Mj1은 디코딩 포인트 클라우드 블록의 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 수량, 즉 제1 수치를 나타내고, 상기 Kmax는 미리 설정된 최대 변환 차수와 같다.Determining the size relationship between Mj1 and Kmax, Mj1 represents the decoding point quantity without performing point cloud grouping of the decoding point cloud block, that is, the first value, and Kmax is equal to the preset maximum transformation order.

만일 Mj1이 Kj보다 크면, 제1 수치에 대해 그룹핑 계산 조작을 수행한다. , 즉 제1 수치와 2의 나눗셈 결과를 반내림하여 목표 수치를 획득하고, 여기서, 상기 공식 중의 Mj는 목표 수치를 나타내고, 상기 제1 미리 설정된 수치는 2이다. 다른 실시예에서, 상기 제1 미리 설정된 수치는 자체 정의로 설정될 수 있는 것을 이해해야 한다.If Mj1 is greater than Kj, a grouping calculation operation is performed on the first value . That is, the division result of the first value and 2 is rounded down to obtain the target value, where Mj in the formula represents the target value, and the first preset value is 2. It should be understood that in other embodiments, the first preset value may be set to self-definition.

목표 수치가 Kmax보다 큰 경우, 제1 수치를 목표 수치로 업데이트하고, 제1 수치가 미리 설정된 최대 변환 차수보다 작거나 같을 때까지, 상기 그룹핑 계산 조작을 반복한다. 이 경우, 마지막으로 업데이트한 Mj1을 제2 수치로 결정하고, 디코딩 블록 중 각 디코딩 포인트의 미리 설정된 디코딩 순서에 따라 일부 디코딩 포인트를 하나의 디코딩 포인트 클라우드 그룹으로 분할하며, 여기서, 상기 일부 디코딩 포인트의 수량은 제2 수치와 같다.If the target value is greater than Kmax, the first value is updated to the target value, and the grouping calculation operation is repeated until the first value is less than or equal to the preset maximum transformation order. In this case, the last updated Mj1 is determined as the second value, and some decoding points are divided into one decoding point cloud group according to the preset decoding order of each decoding point in the decoding block, where the partial decoding points The quantity is the same as the second number.

그 후, Mj2와 Kj 사이의 크기 관계를 판단하는 바, 상기 Mj2는 디코딩 포인트 클라우드 블록의 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 수량을 나타내며, 상기 단계에서 이미 일부 디코딩 포인트에 대하여 포인트 클라우드로 그룹핑을 수행하였으므로, Mj2의 값은 디코딩 포인트 클라우드 블록 중 모든 디코딩 포인트의 수량과 마지막으로 업데이터한 Mj1 간의 차이값으로서, 다시 말하면, Mj2의 값이 Mj1의 값보다 작다. 만일 Mj2가 Kj보다 크면, Mj2에 대해 그룹핑 계산 조작을 수행하고 계산 결과에 따라 디코딩 블록에 대하여 포인트 클라우드 그룹핑을 수행하는 바, 구체적인 실시방식은 Mj1에 따라 디코딩 블록에 대해 포인트 클라우드로 그룹핑을 수행하는 상기 실시방식과 일치하며, 여기서는 반복하여 설명하지 않는다.Then, the size relationship between Mj2 and Kj is determined, where Mj2 represents the quantity of decoding points for which point cloud grouping of the decoding point cloud block has not been performed, and in the above step, grouping into point clouds has already been performed for some decoding points. Since it was performed, the value of Mj2 is the difference between the quantity of all decoding points among the decoding point cloud blocks and the last updated Mj1. In other words, the value of Mj2 is smaller than the value of Mj1. If Mj2 is greater than Kj, a grouping calculation operation is performed on Mj2 and point cloud grouping is performed on the decoding block according to the calculation result. A specific implementation method is to perform grouping into a point cloud on the decoding block according to Mj1. It is consistent with the above implementation method, and will not be repeated here.

디코딩 포인트 클라우드 블록의 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 수량이 Kj보다 작거나 같으면, 디코딩 블록에 대해 포인트 클라우드 그룹핑을 수행하는 것을 정지한다.If the quantity of decoding points for which point cloud grouping of the decoding point cloud block has not been performed is less than or equal to Kj, performing point cloud grouping on the decoding block is stopped.

나아가, 하기 예시를 참조할 수 있다.Furthermore, you may refer to the examples below.

디코딩 포인트 클라우드 블록에는 포인트 클라우드 그룹핑을 수행하지 않은 12 개의 디코딩 포인트가 포함되고, 최대 변환 차수를 5로 사전 설정하며, 제1 사전 설정된 수치는 2이다.The decoding point cloud block includes 12 decoding points without performing point cloud grouping, the maximum transformation order is preset to 5, and the first preset number is 2.

이 경우, 제1 수치 12와 제1 사전 설정된 수치 2에 대해 그룹핑 계산 조작을 수행하여 목표 수치 6을 획득한다. 또한 목표 수치 6이 사전 설정된 최대 변환 차수 5보다 크면, 제1 수치를 목표 수치로 업데이트하는 바, 즉 제1 수치를 6으로 업데이트한다. 또한 업데이트된 제1 수치 6에 대하여 그룹핑 계산 조작을 수행하여 목표 수치 3을 획득하며, 이때 목표 수치 3이 미리 설정된 최대 변환 차수 5보다 작으면, 디코딩 포인트 클라우드 블록 중 각 디코딩 포인트의 사전 설정된 디코딩 순서에 따라 3 개의 디코딩 포인트를 선택하여 동일한 디코딩 포인트 클라우드 그룹으로 분할한다.In this case, a grouping calculation operation is performed on the first numerical value 12 and the first preset numerical value 2 to obtain the target numerical value 6. Additionally, if the target value 6 is greater than the preset maximum transformation order 5, the first value is updated to the target value, that is, the first value is updated to 6. Additionally, a grouping calculation operation is performed on the updated first number 6 to obtain the target number 3, and at this time, if the target number 3 is less than the preset maximum transformation order 5, the preset decoding order of each decoding point in the decoding point cloud block Accordingly, three decoding points are selected and divided into the same decoding point cloud group.

디코딩 포인트 클라우드 블록에 대하여 1차 포인트 클라우드 그룹핑을 수행한 후, 제1 수치를 9로 업데이트하고, 제1 수치 9와 제1 사전 설정된 수치 2에 대해 그룹핑 계산 조작을 수행하여 목표 수치 4를 획득한다. 또한 목표 수치 4가 미리 설정된 최대 변환 차수 5보다 작으면, 디코딩 포인트 클라우드 블록 중 각 디코딩 포인트의 사전 설정된 디코딩 순서에 따라 4 개의 디코딩 포인트를 선택하여 동일한 디코딩 포인트 클라우드 그룹으로 분할한다.After performing primary point cloud grouping on the decoding point cloud block, update the first numerical value to 9, and perform grouping calculation operation on the first numerical value 9 and the first preset numerical value 2 to obtain the target numerical value 4. . In addition, if the target number 4 is less than the preset maximum transformation order 5, 4 decoding points are selected among the decoding point cloud blocks according to the preset decoding order of each decoding point and divided into the same decoding point cloud group.

디코딩 포인트 클라우드 블록에 대하여 2차 포인트 클라우드 그룹핑을 수행한 후, 제1 수치를 5로 업데이트한다. 또한 제1 수치 5가 미리 설정된 최대 변환 차수 5와 같으면, 디코딩 포인트 클라우드 블록 중 각 디코딩 포인트의 사전 설정된 디코딩 순서에 따라 5 개의 디코딩 포인트를 선택하여 동일한 디코딩 포인트 클라우드 그룹으로 분할한다.After performing secondary point cloud grouping on the decoded point cloud block, the first numerical value is updated to 5. In addition, if the first numerical value 5 is equal to the preset maximum transformation order 5, five decoding points are selected among the decoding point cloud blocks according to the preset decoding order of each decoding point and divided into the same decoding point cloud group.

요약하면, 포인트 클라우드 그룹핑을 수행하지 않은 12 개의 디코딩 포인트가 포함된 디코딩 포인트 클라우드 블록에 대해, 해당 디코딩 포인트 클라우드 블록을 3 개의 포인트 클라우드 그룹으로 분할하고, 이 3개의 포인트 클라우드 그룹에 대응하는 디코딩 포인트 수량은 각각 3, 4, 5개일 수 있다.In summary, for a decoding point cloud block containing 12 decoding points without performing point cloud grouping, the corresponding decoding point cloud block is divided into three point cloud groups, and the decoding points corresponding to these three point cloud groups are The quantities can be 3, 4, or 5, respectively.

선택적으로, 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하기 전, 상기 방법은,Optionally, before performing inverse quantification processing on the second transform coefficient corresponding to the third target decoding point cloud group to obtain the target high-frequency coefficient and the target low-frequency coefficient, the method includes:

상기 디코딩할 포인트 클라우드 중의 제2 변환 아이디를 획득하는 단계;Obtaining a second transformation ID in the point cloud to be decoded;

상기 제2 변환 아이디가 모든 디코딩 포인트 클라우드 그룹에 대해 역변환을 수행하는 것을 나타내는 경우, 모든 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 단계;If the second transformation ID indicates that inverse transformation is to be performed on all decoding point cloud groups, determining all decoding point cloud groups as the third target decoding point cloud group;

상기 제2 변환 아이디가 모든 디코딩 포인트 클라우드 그룹에 대해 자체 적응 역변환을 수행하는 것을 나타내는 경우, 상기 M 개의 디코딩 포인트 클라우드 그룹 중의 적어도 하나의 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 단계를 포함한다.When the second transformation ID indicates that self-adaptive inverse transformation is performed on all decoding point cloud groups, determining at least one decoding point cloud group among the M decoding point cloud groups as the third target decoding point cloud group Includes steps.

상기 제3 목표 디코딩 포인트 클라우드 그룹핑은 역변환을 수행하는 포인트 클라우드 그룹핑을 가리키는 바, 즉 제3 목표 디코딩 포인트 클라우드 그룹 중의 각 디코딩 포인트에 대하여 모두 역변환을 수행하여야 하는 것을 이해해야 한다.It should be understood that the third target decoding point cloud grouping refers to a point cloud grouping for which inverse transformation is performed, that is, inverse transformation must be performed on each decoding point in the third target decoding point cloud group.

본 실시예에서, 디코딩할 포인트 클라우드는 제2 변환 아이디가 미리 설정되고, 해당 제2 변환 아이디는 또한 자체 적응 변환 아이디라고도 하며, 선택적으로, 상기 제2 변환 아이디와 제1 변환 아이디는 동일한 변환 아이디이고, 해당 제2 변환 아이디는 AdpTransform으로 표시할 수 있으며, 해당 제2 변환 아이디는 자체 정의로 설정될 수 있는 것을 이해해야 한다.In this embodiment, the point cloud to be decoded has a second transformation ID preset, and the second transformation ID is also called a self-adaptive transformation ID; optionally, the second transformation ID and the first transformation ID are the same transformation ID. It should be understood that the second transformation ID can be expressed as AdpTransform, and the second transformation ID can be set as self-defined.

만일 AdpTransform=0이면, 모든 디코딩 포인트에 대해 역변환을 수행하는 것을 나타내며, 이 경우, 모든 디코딩 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정한다.If AdpTransform=0, it indicates that inverse transformation is performed on all decoding points. In this case, all decoding point cloud groups are determined as the third target decoding point cloud group.

만일 AdpTransform=1이면, 각 디코딩 포인트 클라우드 그룹이 자체 적응 역변환을 수행하는 것을 나타내고, 그렇다면 각 디코딩 포인트 클라우드 그룹의 실제 상황에 따라 해당 디코딩 포인트 클라우드 그룹에 대해 역변환을 수행할지 여부를 결정하며, 이 경우, N 개의 디코딩 포인트 클라우드 그룹 중의 적어도 하나의 디코딩 포인트 클라우드 그룹을 목표 디코딩 포인트 클라우드 그룹으로 결정한다.If AdpTransform=1, it indicates that each decoding point cloud group performs its own adaptive inverse transformation, and if so, it is determined whether to perform inverse transformation for that decoding point cloud group according to the actual situation of each decoding point cloud group, in this case , At least one decoding point cloud group among the N decoding point cloud groups is determined as the target decoding point cloud group.

선택적으로, 상기 M 개의 디코딩 포인트 클라우드 그룹 중의 적어도 하나의 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 상기 단계는,Optionally, the step of determining at least one decoding point cloud group among the M decoding point cloud groups as the third target decoding point cloud group,

상기 제1 포인트 클라우드 그룹에 대응하는 제3 변환 아이디를 획득하는 단계;Obtaining a third conversion ID corresponding to the first point cloud group;

상기 제3 변환 아이디가 상기 제1 포인트 클라우드 그룹에 대해 역변환을 수행하는 것을 나타내는 경우, 상기 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 단계를 포함한다.When the third transformation ID indicates that inverse transformation is to be performed on the first point cloud group, determining the point cloud group as the third target decoding point cloud group.

디코딩 포인트 클라우드 블록 중의 각 디코딩 포인트 클라우드 그룹은 포인트 클라우드 그룹의 그룹핑 시간 순서에 따라 랭킹되며, 디코딩 포인트 클라우드 블록 중 가장 앞으로 랭킹된 디코딩 포인트 클라우드 그룹을 제1 포인트 클라우드 그룹으로 결정하는 것을 이해해야 한다.It should be understood that each decoding point cloud group among the decoding point cloud blocks is ranked according to the grouping time order of the point cloud group, and the decoding point cloud group ranked most forward among the decoding point cloud blocks is determined as the first point cloud group.

본 실시예에서, 디코딩 포인트 클라우드 블록에 제3 변환 아이디가 미리 설정되고, 해당 제3 변환 아이디는 제1 포인트 클라우드 그룹에 대해 역변환을 수행하는 경우, 제1 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 것을 나타내기 위한 것이다. 다시 말하면, 디코딩 포인트 클라우드 블록에 제3 변환 아이디가 미리 설정되고, 해당 제3 변환 아이디에 따라 제1 포인트 클라우드 그룹이 제3 목표 디코딩 포인트 클라우드 그룹인지 여부를 결정한다.In this embodiment, the third transformation ID is preset in the decoding point cloud block, and the third transformation ID is used to transform the first point cloud group into the third target decoding point cloud when inverse transformation is performed on the first point cloud group. It is meant to represent a decision made as a group. In other words, a third transformation ID is preset in the decoding point cloud block, and it is determined whether the first point cloud group is the third target decoding point cloud group according to the third transformation ID.

선택적으로, 상기 M 개의 디코딩 포인트 클라우드 그룹 중의 적어도 하나의 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 상기 단계는,Optionally, the step of determining at least one decoding point cloud group among the M decoding point cloud groups as the third target decoding point cloud group,

어느 한 제2 포인트 클라우드 그룹에 대해, 상기 제2 포인트 클라우드 그룹에 대응하는 제1 재구성 값 및 제2 재구성 값을 결정하는 단계; For a second point cloud group, determining a first reconstruction value and a second reconstruction value corresponding to the second point cloud group;

상기 제1 재구성 값과 상기 제2 재구성 값의 차이값의 절대값을 계산하는 단계;calculating an absolute value of the difference between the first reconstruction value and the second reconstruction value;

상기 절대값이 제2 미리 설정된 수치보다 작은 경우, 상기 제2 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 단계를 포함한다.When the absolute value is smaller than a second preset value, determining the second point cloud group as a third target decoding point cloud group.

디코딩 포인트 클라우드 블록 중의 각 디코딩 포인트 클라우드 그룹은 포인트 클라우드 그룹의 그룹핑 시간 순서에 따라 랭킹되며, 디코딩 포인트 클라우드 블록 중 가장 앞으로 랭킹된 디코딩 포인트 클라우드 그룹을 제외한 디코딩 포인트 클라우드 그룹을 제2 포인트 클라우드 그룹으로 결정하는 것을 이해해야 한다. 예를 들어, 디코딩 포인트 클라우드 블록에는 3 개의 디코딩 포인트 클라우드 그룹이 포함되며, 랭킹 제2와 랭킹 제3의 디코딩 포인트 클라우드 그룹을 제2 포인트 클라우드 그룹으로 결정한다.Each decoding point cloud group among the decoding point cloud blocks is ranked according to the grouping time order of the point cloud group, and the decoding point cloud group excluding the most forward-ranked decoding point cloud group among the decoding point cloud blocks is determined as the second point cloud group. You must understand what you are doing. For example, a decoding point cloud block includes three decoding point cloud groups, and the ranked second and third ranked decoding point cloud groups are determined as the second point cloud group.

어느 한 제2 포인트 클라우드 그룹에 대해, 디코딩 포인트 클라우드 블록 중 해당 제2 포인트 클라우드 그룹과 인접되고 제2 포인트 클라우드 그룹 앞에 위치하는 디코딩 포인트 클라우드 그룹을 인접된 포인트 클라우드 그룹으로 결정하고, 해당 인접된 포인트 클라우드 그룹에 대응하는 재구성 정보 중의 최대값을 상기 제1 재구성 값으로 결정하고, 해당 인접된 포인트 클라우드 그룹에 대응하는 재구성 정보 중의 최소값을 상기 제2 재구성 값으로 결정한다.For a second point cloud group, a decoding point cloud group adjacent to the second point cloud group among decoding point cloud blocks and located in front of the second point cloud group is determined as the adjacent point cloud group, and the adjacent point cloud group is determined. The maximum value among the reconstruction information corresponding to the cloud group is determined as the first reconstruction value, and the minimum value among the reconstruction information corresponding to the adjacent point cloud group is determined as the second reconstruction value.

상기 인접된 포인트 클라우드 그룹에 대응하는 재구성 정보는 인접된 포인트 클라우드 그룹 중 각 디코딩 포인트에 대응하는 재구성 정보의 집합인 바, 다시 말하면, 상기 제1 재구성 값은 인접된 포인트 클라우드 그룹 중 각 디코딩 포인트에 대응하는 재구성 정보 중의 최대값이고, 상기 제2 재구성 값은 인접된 포인트 클라우드 그룹 중 각 디코딩 포인트에 대응하는 재구성 정보 중의 최소값인 것을 이해해야 한다.The reconstruction information corresponding to the adjacent point cloud group is a set of reconstruction information corresponding to each decoding point among the adjacent point cloud group. In other words, the first reconstruction value is provided to each decoding point among the adjacent point cloud group. It should be understood that it is the maximum value among the corresponding reconstruction information, and the second reconstruction value is the minimum value among the reconstruction information corresponding to each decoding point among the adjacent point cloud groups.

제1 재구성 값과 제2 재구성 값 간의 차이값 결과를 계산하고, 해당 차이값 결과의 절대값을 획득한다. 나아가, 본 실시예에는 또한 제2 미리 설정된 수치가 설정되고, 절대값이 제2 미리 설정된 수치보다 작은 경우, 제2 포인트 클라우드 그룹을 제3 목표 코딩 포인트 클라우드 그룹으로 결정한다.A difference value result between the first reconstruction value and the second reconstruction value is calculated, and the absolute value of the difference value result is obtained. Furthermore, in this embodiment, a second preset value is also set, and when the absolute value is smaller than the second preset value, the second point cloud group is determined as the third target coding point cloud group.

상기 제3 변환 아이디는 변환 아이디(TransformFlag)로 표시될 수 있으며, 만일 TransformFlag=1이면, 해당 디코딩 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하며; 만일 TransformFlag=0이면, 해당 디코딩 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하지 않는 것을 이해해야 한다.The third transform ID may be expressed as a transform ID (TransformFlag), and if TransformFlag=1, the corresponding decoding point cloud group is determined as the third target decoding point cloud group; It should be understood that if TransformFlag=0, the corresponding decoding point cloud group is not determined as the third target decoding point cloud group.

이해를 돕기 위해, 하기 공식을 도입하여 본 실시예의 기술방안에 대해 진일보로 설명할 수 있다.To facilitate understanding, the following formula can be introduced to further explain the technical solution of this embodiment.

의 경우, TransformFlag=0으로 설정하고, 디코딩 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하지 않는다. In the case of TransformFlag = 0, the decoding point cloud group is not determined as the third target decoding point cloud group.

여기서, AttRecmax는 제1 재구성 값을 나타내고, AttRecmin은 제2 재구성 값을 나타내며, Threshold는 제2 사전 설정된 수치를 나타낸다.Here, AttRecmax represents the first reconstruction value, AttRecmin represents the second reconstruction value, and Threshold represents the second preset value.

의 경우, TransformFlag=1으로 설정하고, 디코딩 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정한다. In the case of, TransformFlag=1 is set, and the decoding point cloud group is determined as the third target decoding point cloud group.

선택적으로, 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하는 상기 단계는,Optionally, the step of performing inverse quantification processing on the second transform coefficient corresponding to the third target decoding point cloud group to obtain the target high-frequency coefficient and the target low-frequency coefficient:

각각 미리 설정된 제1 정량화 스텝 및 미리 설정된 제2 정량화 스텝을 사용하여 상기 제1 고주파 계수 및 상기 제1 저주파 계수에 대하여 역 정량화를 수행하여, 역 정량화된 제1 고주파 계수 및 역 정량화된 제1 저주파 계수를 획득하는 단계;Inverse quantification is performed on the first high frequency coefficient and the first low frequency coefficient using a preset first quantification step and a preset second quantification step, respectively, so that the inverse quantified first high frequency coefficient and the inverse quantified first low frequency obtaining coefficients;

미리 설정된 제3 정량화 스텝을 사용하여 상기 제2 고주파 계수 및 상기 제2 저주파 계수에 대하여 역 정량화를 수행하여, 역 정량화된 제2 고주파 계수 및 역 정량화된 제2 저주파 계수를 획득하는 단계;performing inverse quantification on the second high-frequency coefficient and the second low-frequency coefficient using a preset third quantification step to obtain an inverse-quantified second high-frequency coefficient and an inverse-quantified second low-frequency coefficient;

상기 역 정량화된 제1 고주파 계수 및 상기 역 정량화된 제2 고주파 계수를 상기 목표 고주파 계수로 결정하는 단계;determining the inversely quantified first high frequency coefficient and the inversely quantified second high frequency coefficient as the target high frequency coefficient;

상기 역 정량화된 제1 저주파 계수 및 상기 역 정량화된 제2 저주파 계수를 상기 목표 저주파 계수로 결정하는 단계를 포함한다.and determining the inversely quantified first low-frequency coefficient and the inversely quantified second low-frequency coefficient as the target low-frequency coefficient.

상기 제2 변환 계수의 색상 속성은 YUV 색상 공간이며, YUV 색상 공간 중의 U 성분과 V 성분을 제1 성분으로 결정하고, Y 성분을 제2 성분으로 결정하며, 제1 성분의 고주파 계수를 제1 고주파 계수로 결정하고, 제1 성분의 저주파 계수를 제1 저주파 계수로 결정하며, 제2 성분의 고주파 계수를 제2 고주파 계수로 결정하고, 제2 성분의 고주파 계수를 제2 고주파 계수로 결정할 수 있다.The color property of the second conversion coefficient is the YUV color space, and the U and V components in the YUV color space are determined as the first component, the Y component is determined as the second component, and the high frequency coefficient of the first component is determined as the first component. The high-frequency coefficient may be determined as the high-frequency coefficient, the low-frequency coefficient of the first component may be determined as the first low-frequency coefficient, the high-frequency coefficient of the second component may be determined as the second high-frequency coefficient, and the high-frequency coefficient of the second component may be determined as the second high-frequency coefficient. there is.

제1 고주파 계수에 대해 미리 설정된 제1 정량화 스텝을 사용하여 제1 고주파 계수에 대해 역 정량화를 수행하여, 역 정량화된 제1 고주파 계수를 획득한다. 여기서, 제1 정량화 스텝는 초기 스텝, 변환 스텝 및 고주파 스텝의 합과 같으며, 상기 초기 스텝, 변환 스텝 및 고주파 스텝은 자체 정의로 설정될 수 있다.Inverse quantification is performed on the first high-frequency coefficient using a first quantification step preset for the first high-frequency coefficient, to obtain an inverse-quantified first high-frequency coefficient. Here, the first quantification step is equal to the sum of the initial step, conversion step, and high frequency step, and the initial step, conversion step, and high frequency step can be set to self-definition.

하기 공식에 의해 제1 정량화 스텝을 결정할 수 있는 것을 이해해야 한다.It should be understood that the first quantification step can be determined by the formula below.

여기서, Qfin1는 제1 정량화 스텝을 나타내고, Qori는 초기 스텝을 나타내며, Offsetcoeff는 변환 스텝을 나타내고, OffsetAC는 고주파 스텝을 나타낸다.Here, Qfin1 represents the first quantification step, Qori represents the initial step, Offsetcoeff represents the conversion step, and OffsetAC represents the high frequency step.

제1 저주파 계수에 대해 미리 설정된 제2 정량화 스텝을 사용하여 제1 저주파 계수에 대해 역 정량화를 수행하여, 역 정량화된 제1 저주파 계수를 획득한다. 여기서, 제2 정량화 스텝는 초기 스텝, 변환 스텝 및 저주파 스텝의 합과 같으며, 상기 초기 스텝, 변환 스텝 및 저주파 스텝은 자체 정의로 설정될 수 있다.Inverse quantification is performed on the first low-frequency coefficient using a second quantification step preset for the first low-frequency coefficient, to obtain the inverse-quantified first low-frequency coefficient. Here, the second quantification step is equal to the sum of the initial step, conversion step, and low-frequency step, and the initial step, conversion step, and low-frequency step can be set to self-definition.

하기 공식에 의해 제2 정량화 스텝을 결정할 수 있는 것을 이해해야 한다.It should be understood that the second quantification step can be determined by the formula below.

여기서, Qfin2는 제2 정량화 스텝을 나타내고, OffsetDC는 저주파 스텝을 나타낸다.Here, Qfin2 represents the second quantification step, and OffsetDC represents the low frequency step.

제2 고주파 계수 및 제2 저주파 계수에 대해, 미리 설정된 제3 정량화 스텝을 사용하여 제2 고주파 계수 및 제2 저주파 계수에 대하여 역 정량화를 수행하여, 역 정량화된 제2 고주파 계수 및 역 정량화된 제2 저주파 계수를 획득한다. 여기서, 제3 정량화 스텝는 초기 스텝, 변환 스텝 및 저주파 스텝의 합과 같거나, 또는 제3 정량화 스텝는 초기 스텝, 변환 스텝 및 고주파 스텝의 합과 같으며, 상기 초기 스텝, 변환 스텝, 고주파 스텝 및 저주파 스텝은 모두 자체 정의로 설정될 수 있고, 상기 고주파 스텝 및 저주파 스텝은 같다.For the second high-frequency coefficient and the second low-frequency coefficient, inverse quantification is performed on the second high-frequency coefficient and the second low-frequency coefficient using a preset third quantification step, such that the inverse-quantified second high-frequency coefficient and the inverse-quantified first 2 Obtain the low-frequency coefficient. wherein the third quantification step is equal to the sum of the initial step, the conversion step and the low frequency step, or the third quantification step is equal to the sum of the initial step, the conversion step and the high frequency step, and the initial step, the conversion step, the high frequency step and the low frequency step are equal to the sum of the initial step, the conversion step and the low frequency step. The steps can all be set to self-definition, and the high-frequency step and low-frequency step are the same.

하기 공식에 의해 제3 정량화 스텝을 결정할 수 있는 것을 이해해야 한다.It should be understood that the third quantification step can be determined by the formula below.

여기서, Qfin3은 제3 정량화 스텝을 나타내고, 상기 공식 중의 OffsetDC는 OffsetAC로 대체할 수도 있다.Here, Qfin3 represents the third quantification step, and OffsetDC in the above formula can be replaced with OffsetAC.

본 실시예에서, 역 정량화된 제1 고주파 계수 및 역 정량화된 제2 고주파 계수를 목표 고주파 계수로 결정하며; 역 정량화된 제1 저주파 계수 및 역 정량화된 제2 저주파 계수를 목표 저주파 계수로 결정한다.In this embodiment, the inversely quantified first high-frequency coefficient and the inversely quantified second high-frequency coefficient are determined as the target high-frequency coefficient; The inversely quantified first low-frequency coefficient and the inversely quantified second low-frequency coefficient are determined as the target low-frequency coefficient.

설명하여야 할 바로는, 본 출원의 실시예가 제공하는 포인트 클라우드 속성 코딩 방법의 실행 주체는 코더이거나, 또는 해당 코더 중의 포인트 클라우드 속성 코딩 방법을 수행하는 제어 모듈일 수 있다. 본 출원의 실시예에서 코더가 포인트 클라우드 속성 코딩 방법을 수행하는 것을 예로 들어, 본 출원의 실시예가 제공하는 코더를 설명한다.It should be explained that the subject of execution of the point cloud attribute coding method provided by the embodiment of the present application may be a coder or a control module that performs the point cloud attribute coding method among the coders. Taking the coder performing the point cloud attribute coding method in the embodiment of the present application as an example, the coder provided by the embodiment of the present application will be described.

도 6에 도시된 바와 같이, 코더(300)는,As shown in Figure 6, the coder 300,

코딩할 포인트 클라우드를 획득하는 제1 획득 모듈(301);A first acquisition module 301 that acquires a point cloud to be coded;

상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하는 제1 분할 모듈(302); Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, dividing the point cloud to be coded into at least one coding point cloud block. first division module 302;

적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하는 제2 분할 모듈(303); For each coding point cloud block containing at least two coding points, based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, the coding point cloud block is divided into N coding point cloud groups. a second division module 303 for division;

제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 제1 코딩 모듈(304);a first coding module 304 that performs transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient;

상기 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성하는 제2 코딩 모듈(305)을 포함한다.and a second coding module 305 that generates a target code stream by performing entropy coding on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group.

선택적으로, 상기 제1 분할 모듈(302)은 구체적으로,Optionally, the first segmentation module 302 specifically:

제1 목표 시프트 값을 사용하여, 각 코딩 포인트에 대응하는 랭킹 코드에 대해 시프트를 수행하여 각 코딩 포인트에 대응하는 제1 목표 랭킹 코드를 획득하며;Using the first target shift value, perform a shift on the ranking code corresponding to each coding point to obtain the first target ranking code corresponding to each coding point;

제1 목표 랭킹 코드가 같은 코딩 포인트를 동일한 코딩 포인트 클라우드 블록에 분할시킨다.Coding points with the same first target ranking code are divided into the same coding point cloud block.

선택적으로, 상기 제2 분할 모듈(303)은 구체적으로,Optionally, the second segmentation module 303 specifically:

상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 작거나 같은 경우, 상기 코딩 포인트 클라우드 블록을 하나의 코딩 포인트 클라우드 그룹으로 결정하며;If the quantity of coding points included in the coding point cloud block is less than or equal to the preset maximum transformation order, determine the coding point cloud block as one coding point cloud group;

상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 큰 경우, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 상기 코딩 포인트 클라우드 블록을 적어도 두 개의 코딩 포인트 클라우드 그룹으로 분할한다.When the quantity of coding points included in the coding point cloud block is greater than the preset maximum transformation order, based on the quantity of coding points included in the coding point cloud block and the first preset value, the coding point cloud block is converted to at least Split into two coding point cloud groups.

선택적으로, 상기 코더(300)는,Optionally, the coder 300:

상기 코딩할 포인트 클라우드 중의 제1 변환 아이디를 획득하는 제2 획득 모듈;a second acquisition module that acquires a first transformation ID in the point cloud to be coded;

상기 제1 변환 아이디가 모든 코딩 포인트 클라우드 그룹에 대해 변환 코딩을 수행하는 것을 나타내는 경우, 모든 코딩 포인트 클라우드 그룹을 상기 제1 목표 코딩 포인트 클라우드 그룹으로 결정하는 제1 결정 모듈;When the first transformation ID indicates that transformation coding is performed on all coding point cloud groups, a first determination module that determines all coding point cloud groups as the first target coding point cloud group;

상기 제1 변환 아이디가 모든 코딩 포인트 클라우드 그룹에 대해 자체 적응 변환 코딩을 수행하는 것을 나타내는 경우, 상기 N 개의 코딩 포인트 클라우드 그룹 중의 적어도 하나의 코딩 포인트 클라우드 그룹을 상기 제1 목표 코딩 포인트 클라우드 그룹으로 결정하는 제2 결정 모듈을 더 포함한다.When the first transformation ID indicates that self-adaptive transformation coding is performed on all coding point cloud groups, at least one coding point cloud group among the N coding point cloud groups is determined as the first target coding point cloud group. It further includes a second decision module.

선택적으로, 상기 제1 코딩 모듈(304)은 구체적으로,Optionally, the first coding module 304 specifically:

변환 매트릭스와 상기 제1 잔차 정보 간의 곱셈 결과를 계산하고, 상기 곱셈 결과를 정량화할 제1 변환 계수로 결정하며;calculate a multiplication result between a transformation matrix and the first residual information, and determine the multiplication result as a first transformation coefficient to be quantified;

상기 정량화할 제1 변환 계수에 대해 정량화를 수행하여 상기 정량화된 제1 변환 계수를 획득한다.Quantification is performed on the first conversion coefficient to be quantified to obtain the quantified first conversion coefficient.

본 출원의 실시예가 제공하는 코더는 도 4에 도시된 방법 실시예가 구현하는 각 과정을 구현할 수 있고, 또한 동일한 기술적 효과를 이루는 바, 중복을 방지하기 위하여 여기에서는 상세한 설명을 생략하도록 한다.The coder provided by the embodiment of the present application can implement each process implemented by the method embodiment shown in FIG. 4 and also achieves the same technical effect, so detailed description is omitted here to prevent duplication.

설명하여야 할 바로는, 본 출원의 실시예가 제공하는 포인트 클라우드 속성 디코딩 방법의 실행 주체는 디코더이거나, 또는 해당 디코더 중의 포인트 클라우드 속성 디코딩 방법을 수행하는 제어 모듈일 수 있다. 본 출원의 실시예에서 디코더가 포인트 클라우드 속성 디코딩 방법을 수행하는 것을 예로 들어, 본 출원의 실시예가 제공하는 디코더를 설명한다.It should be explained that the subject of execution of the point cloud attribute decoding method provided by the embodiment of the present application may be a decoder or a control module that performs the point cloud attribute decoding method in the decoder. The decoder provided by the embodiment of the present application will be described taking as an example that the decoder performs the point cloud attribute decoding method in the embodiment of the present application.

도 7에 도시된 바와 같이, 디코더(400)는,As shown in Figure 7, the decoder 400,

디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득하는 디코딩 모듈(401);A decoding module 401 that performs decoding on a code stream to be decoded to obtain a point cloud to be decoded;

상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하는 제3 분할 모듈(402); Based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, dividing the point cloud to be decoded into at least one decoding point cloud block. third division module 402;

적어도 두 개의 디코딩 포인트를 포함하는 각 디코딩 포인트 클라우드 블록에 대해, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하는 제4 분할 모듈(403);For each decoding point cloud block containing at least two decoding points, based on the quantity of decoding points included in the decoding point cloud block and the preset maximum transformation order, the decoding point cloud block is divided into M decoding point cloud groups. a fourth division module 403 for division;

제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하는 역 정량화 모듈(404);an inverse quantification module 404 that performs inverse quantification processing on the transformation coefficients corresponding to the third target decoding point cloud group to obtain target high-frequency coefficients and target low-frequency coefficients;

상기 목표 고주파 계수 및 상기 목표 저주파 계수에 대해 역변환 처리를 수행하여 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 획득하는 역변환 모듈(405)을 포함한다.and an inverse transformation module 405 that performs inverse transformation on the target high-frequency coefficient and the target low-frequency coefficient to obtain residual information corresponding to the third target decoding point cloud group.

선택적으로, 상기 제3 분할 모듈(402)은 구체적으로,Optionally, the third segmentation module 402 specifically:

제2 목표 시프트 값을 사용하여, 각 디코딩 포인트에 대응하는 랭킹 코드에 대해 시프트를 수행하여 각 디코딩 포인트에 대응하는 제2 목표 랭킹 코드를 획득하며;Using the second target shift value, perform a shift on the ranking code corresponding to each decoding point to obtain a second target ranking code corresponding to each decoding point;

제2 목표 랭킹 코드가 같은 디코딩 포인트를 동일한 디코딩 포인트 클라우드 블록에 분할시킨다.The second target ranking code partitions the same decoding point into the same decoding point cloud block.

선택적으로, 상기 제3 분할 모듈(402)은 구체적으로,Optionally, the third segmentation module 402 specifically:

제1 시프트 파라미터 및 제2 시프트 파라미터에 기반하여 상기 제2 목표 시프트 값을 결정하며; 또는determine the second target shift value based on a first shift parameter and a second shift parameter; or

상기 디코딩할 포인트 클라우드에 대응하는 기하학적 정량화 스텝에 기반하여 상기 제2 목표 시프트 값을 결정하며; 또는determine the second target shift value based on a geometric quantification step corresponding to the point cloud to be decoded; or

미리 설정된 시프트 값을 상기 제2 목표 시프트 값으로 결정하며; 또는determine a preset shift value as the second target shift value; or

상기 디코딩할 코드 스트림으로부터 상기 제2 목표 시프트 값을 획득한다.The second target shift value is obtained from the code stream to be decoded.

선택적으로, 상기 제4 분할 모듈(403)은 구체적으로,Optionally, the fourth segmentation module 403 specifically:

상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 작거나 같은 경우, 상기 디코딩 포인트 클라우드 블록을 하나의 디코딩 포인트 클라우드 그룹으로 결정하며;If the quantity of decoding points included in the decoding point cloud block is less than or equal to the preset maximum transformation order, determining the decoding point cloud block as one decoding point cloud group;

상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 큰 경우, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 상기 디코딩 포인트 클라우드 블록을 적어도 두 개의 디코딩 포인트 클라우드 그룹으로 분할한다.If the decoding point quantity included in the decoding point cloud block is greater than the preset maximum transformation order, based on the decoding point quantity included in the decoding point cloud block and the first preset value, the decoding point cloud block is converted to at least Split into two decoding point cloud groups.

선택적으로, 상기 제4 분할 모듈(403)은 구체적으로,Optionally, the fourth segmentation module 403 specifically:

제1 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 상기 제1 미리 설정된 수치를 사용하여 상기 제1 수치에 대해 그룹핑 계산 조작을 수행하여 제2 수치를 획득하며;If the first value is greater than the preset maximum transformation order, use the first preset value to perform a grouping calculation operation on the first value to obtain a second value;

상기 디코딩 포인트 클라우드 블록 중 디코딩 포인트의 미리 설정된 디코딩 순서에 따라, 모든 디코딩 포인트 클라우드 블록의 모든 디코딩 포인트가 포인트 클라우드 그룹핑을 완성할 때까지, 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 중의 적어도 일부 디코딩 포인트를 하나의 디코딩 포인트 클라우드 그룹으로 분할하는 바, 상기 적어도 일부 디코딩 포인트 수량은 상기 제2 수치와 동일하다.According to the preset decoding order of decoding points among the decoding point cloud blocks, at least some of the decoding points among the decoding points that have not performed point cloud grouping are selected until all decoding points of all decoding point cloud blocks complete point cloud grouping. When divided into one decoding point cloud group, the at least some decoding point quantities are equal to the second value.

선택적으로, 상기 제4 분할 모듈(403)은 구체적으로,Optionally, the fourth segmentation module 403 specifically:

제1 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 상기 제1 수치와 제1 미리 설정된 수치를 나눗셈한 결과를 반올림하여 목표 수치를 획득하며;If the first value is greater than the preset maximum conversion order, the result of dividing the first value and the first preset value is rounded to obtain a target value;

상기 목표 수치가 미리 설정된 최대 변환 차수보다 작거나 같을 때까지 상기 제1 수치를 상기 목표 수치로 업데이트하고, 상기 제2 수치를 상기 목표 수치로 결정한다.The first value is updated to the target value until the target value is less than or equal to a preset maximum conversion order, and the second value is determined as the target value.

선택적으로, 상기 디코더(400)는,Optionally, the decoder 400:

상기 디코딩할 포인트 클라우드 중의 제2 변환 아이디를 획득하는 제3 획득 모듈;a third acquisition module that acquires a second transformation ID in the point cloud to be decoded;

상기 제2 변환 아이디가 모든 디코딩 포인트 클라우드 그룹에 대해 역변환을 수행하는 것을 나타내는 경우, 모든 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 제3 결정 모듈;When the second transformation ID indicates that inverse transformation is to be performed on all decoding point cloud groups, a third determination module for determining all decoding point cloud groups as the third target decoding point cloud group;

상기 제2 변환 아이디가 모든 디코딩 포인트 클라우드 그룹에 대해 자체 적응 역변환을 수행하는 것을 나타내는 경우, 상기 M 개의 디코딩 포인트 클라우드 그룹 중의 적어도 하나의 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 제4 결정 모듈을 포함한다.When the second transformation ID indicates that self-adaptive inverse transformation is performed on all decoding point cloud groups, determining at least one decoding point cloud group among the M decoding point cloud groups as the third target decoding point cloud group Includes a fourth decision module.

선택적으로, 상기 제3 결정 모듈은 구체적으로,Optionally, the third decision module specifically:

상기 제1 포인트 클라우드 그룹에 대응하는 제3 변환 아이디를 획득하며;Obtain a third transformation ID corresponding to the first point cloud group;

상기 제3 변환 아이디가 상기 제1 포인트 클라우드 그룹에 대해 역변환을 수행하는 것을 나타내는 경우, 상기 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정한다.If the third transformation ID indicates that inverse transformation is to be performed on the first point cloud group, the point cloud group is determined as the third target decoding point cloud group.

선택적으로, 상기 제4 결정 모듈은 구체적으로,Optionally, the fourth decision module specifically:

어느 한 제2 포인트 클라우드 그룹에 대해, 상기 제2 포인트 클라우드 그룹에 대응하는 제1 재구성 값 및 제2 재구성 값을 결정하며;For a second point cloud group, determine a first reconstruction value and a second reconstruction value corresponding to the second point cloud group;

상기 제1 재구성 값과 상기 제2 재구성 값의 차이값의 절대값을 계산하며;Calculate an absolute value of the difference between the first reconstruction value and the second reconstruction value;

상기 절대값이 제2 미리 설정된 수치보다 작은 경우, 상기 제2 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정한다.If the absolute value is smaller than the second preset value, the second point cloud group is determined as the third target decoding point cloud group.

선택적으로, 상기 역 정량화 모듈(404)은 구체적으로,Optionally, the inverse quantification module 404 specifically:

각각 미리 설정된 제1 정량화 스텝 및 미리 설정된 제2 정량화 스텝을 사용하여 상기 제1 고주파 계수 및 상기 제1 저주파 계수에 대하여 역 정량화를 수행하여, 역 정량화된 제1 고주파 계수 및 역 정량화된 제1 저주파 계수를 획득하며;Inverse quantification is performed on the first high frequency coefficient and the first low frequency coefficient using a preset first quantification step and a preset second quantification step, respectively, so that the inverse quantified first high frequency coefficient and the inverse quantified first low frequency obtain coefficients;

미리 설정된 제3 정량화 스텝을 사용하여 상기 제2 고주파 계수 및 상기 제2 저주파 계수에 대하여 역 정량화를 수행하여, 역 정량화된 제2 고주파 계수 및 역 정량화된 제2 저주파 계수를 획득하며;Perform inverse quantification on the second high-frequency coefficient and the second low-frequency coefficient using a preset third quantification step to obtain an inverse-quantified second high-frequency coefficient and an inverse-quantified second low-frequency coefficient;

상기 역 정량화된 제1 고주파 계수 및 상기 역 정량화된 제2 고주파 계수를 상기 목표 고주파 계수로 결정하며;determining the inversely quantified first high-frequency coefficient and the inversely quantified second high-frequency coefficient as the target high-frequency coefficient;

상기 역 정량화된 제1 저주파 계수 및 상기 역 정량화된 제2 저주파 계수를 상기 목표 저주파 계수로 결정한다.The inversely quantified first low-frequency coefficient and the inversely quantified second low-frequency coefficient are determined as the target low-frequency coefficient.

본 출원의 실시예에서, 코딩할 포인트 클라우드를 획득한 후, 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하고, 각 코딩 포인트 클라우드 블록 중의 코딩 포인트에 대해 포인트 클라우드 그룹핑을 수행하여, 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할한다. 변환 코딩 과정에서, 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분히 고려하고, 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 바, 여기서, 제1 목표 코딩 포인트 클라우드 그룹 중의 각 코딩 포인트의 잔차 정보 간에는 상관성이 존재한다. 나아가, 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성한다. 상기 코딩 과정은 각 코딩 포인트에 대응하는 잔차 정보 간의 상관성을 충분히 고려하고, 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩을 수행하여 변환 계수 및 잔차 정보 중의 중복 정보를 줄여 포인트 클라우드의 속성 코딩의 효율을 향상시켰다.In an embodiment of the present application, after obtaining a point cloud to be coded, the point cloud to be coded is divided into at least one coding point cloud block, point cloud grouping is performed on the coding points in each coding point cloud block, and coding is performed. Split the point cloud block into N coded point cloud groups. In the transform coding process, the correlation between residual information corresponding to each coding point is sufficiently considered, and transform coding and quantification processing are performed on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient. is obtained, where there is a correlation between the residual information of each coding point in the first target coding point cloud group. Furthermore, entropy coding is performed on the quantified first transform coefficient and the second residual information corresponding to the second target coding point cloud group to generate a target code stream. The coding process sufficiently considers the correlation between residual information corresponding to each coding point and performs transform coding on the first residual information corresponding to the first target coding point cloud group to reduce redundant information in the transform coefficient and residual information. The efficiency of point cloud attribute coding has been improved.

본 출원의 실시예 중의 코더 및 디코더는 장치, 운영체제를 구비한 장치 또는 전자 장치일 수 있고, 또한 장치 중의 부품, 집적 회로 또는 칩일 수도 있다. 해당 장치 또는 전자 장치는 이동 단말일 수 있고, 또한 비이동 단말일 수도 있다. 예시적으로, 이동 단말은 상기 열거한 단말(11)의 유형을 포함할 수 있으나 이에 제한되지 않고, 비이동 단말은 서버, 네트워크 부속 저장 장치(Network Attached Storage, NAS), 퍼스널 컴퓨터(personal computer, PC), 텔레비전(television, TV), 현금 자동 입출금기 또는 셀프 서비스 장치 등일 수 있으며, 본 출원의 실시예는 구체적으로 한정하지 않는다.The coder and decoder in the embodiments of the present application may be a device, a device equipped with an operating system, or an electronic device, and may also be a component, an integrated circuit, or a chip in the device. The device or electronic device may be a mobile terminal or a non-mobile terminal. Illustratively, mobile terminals may include, but are not limited to, the types of terminals 11 listed above, and non-mobile terminals may include servers, network attached storage (NAS), and personal computers. It may be a PC), a television (TV), an automatic teller machine, or a self-service device, and the embodiment of the present application is not specifically limited.

본 출원의 실시예가 제공하는 코더는 도 4에 도시된 방법 실시예가 구현하는 각 과정을 구현할 수 있고, 또한 동일한 기술적 효과를 이루는 바, 중복을 방지하기 위하여 여기에서는 상세한 설명을 생략하도록 한다.The coder provided by the embodiment of the present application can implement each process implemented by the method embodiment shown in FIG. 4 and also achieves the same technical effect, so detailed description is omitted here to prevent duplication.

본 출원의 실시예가 제공하는 디코더는 도 5에 도시된 방법 실시예가 구현하는 각 과정을 구현할 수 있고, 또한 동일한 기술적 효과를 이루는 바, 중복을 방지하기 위하여 여기에서는 상세한 설명을 생략하도록 한다.The decoder provided by the embodiment of the present application can implement each process implemented by the method embodiment shown in FIG. 5 and also achieves the same technical effect, so detailed description is omitted here to prevent duplication.

선택적으로, 도 8에 도시된 바와 같이, 본 출원의 실시예는 또한 전자 장치(500)를 제공하는 바, 프로세서(501), 메모리(502), 메모리(502)에 저장되고 또한 상기 프로세서(501) 상에서 실행될 수 있는 프로그램 또는 명령을 포함하고, 예를 들어, 해당 통신 장치(500)가 단말일 때, 해당 프로그램 또는 명령이 프로세서(501)에 의해 실행될 때 상기 포인트 클라우드 속성 코딩 방법 실시예의 각 과정을 구현하고, 또한 동일한 기술적 효과를 이루거나, 또는 상기 포인트 클라우드 속성 디코딩 방법 실시예의 각 과정을 구현하고, 또한 동일한 기술적 효과를 이룬다.Optionally, as shown in FIG. 8, embodiments of the present application also provide an electronic device 500, comprising a processor 501, a memory 502, and stored in the memory 502, wherein the processor 501 ) and includes a program or command that can be executed on, for example, when the communication device 500 is a terminal and the program or command is executed by the processor 501, each process of the point cloud attribute coding method embodiment implements and achieves the same technical effect, or implements each process of the above-described point cloud attribute decoding method embodiments and achieves the same technical effect.

본 출원의 실시예는 또한 프로세서 및 통신 인터페이스를 포함하는 단말을 제공하는 바, 프로세서는,Embodiments of the present application also provide a terminal including a processor and a communication interface, where the processor includes:

코딩할 포인트 클라우드를 획득하며; Obtain a point cloud to code;

상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하며; Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, dividing the point cloud to be coded into at least one coding point cloud block; ;

적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하며; For each coding point cloud block containing at least two coding points, based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, the coding point cloud block is divided into N coding point cloud groups. to divide;

제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하며;Performing transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient;

상기 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성하는 조작을 수행한다.An operation of generating a target code stream is performed by performing entropy coding on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group.

또는, 프로세서는,Alternatively, the processor may:

디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득하며;Perform decoding on the code stream to be decoded to obtain a point cloud to be decoded;

상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하며; Based on the quantity of decoding points included in the point cloud to be decoded, volume information of a bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, dividing the point cloud to be decoded into at least one decoding point cloud block; ;

적어도 두 개의 디코딩 포인트를 포함하는 각 디코딩 포인트 클라우드 블록에 대해, 상기 디코딩할 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하며;For each decoding point cloud block containing at least two decoding points, based on the quantity of decoding points included in the point cloud block to be decoded and a preset maximum transformation order, the decoding point cloud block is divided into M decoding point cloud groups. Divide into;

제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하며; 상기 목표 고주파 계수 및 상기 목표 저주파 계수에 대해 역변환 처리를 수행하여 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 획득하는 조작을 수행한다.Perform inverse quantification processing on the second transform coefficient corresponding to the third target decoding point cloud group to obtain target high-frequency coefficients and target low-frequency coefficients; Inverse transformation processing is performed on the target high-frequency coefficient and the target low-frequency coefficient to obtain residual information corresponding to the third target decoding point cloud group.

해당 단말 실시예는 상기 단말 측 방법 실시예와 대응되고, 상기 방법 실시예의 각 실시과정과 구현방식은 모두 해당 단말 실시예에 적용될 수 있으며, 또한 동일한 기술적 효과를 이룰 수 있다. 구체적으로, 도 8은 본 출원의 실시예의 일 단말을 구현하는 하드웨어 구조도이다. The terminal embodiment corresponds to the terminal-side method embodiment, and each implementation process and implementation method of the method embodiment can be applied to the terminal embodiment, and the same technical effect can be achieved. Specifically, Figure 8 is a hardware structure diagram implementing a terminal of an embodiment of the present application.

해당 단말(1000)은 무선 주파수 유닛(1001), 네트워크 모듈(1002), 오디오 출력 유닛(1003), 입력 유닛(1004), 센서(1005), 디스플레이 유닛(1006), 사용자 입력 유닛(1007), 인터페이스 유닛(1008), 메모리(1009) 및 프로세서(1010) 등 부품을 포함하나 이에 제한되지 않는다.The terminal 1000 includes a radio frequency unit 1001, a network module 1002, an audio output unit 1003, an input unit 1004, a sensor 1005, a display unit 1006, a user input unit 1007, It includes, but is not limited to, components such as the interface unit 1008, memory 1009, and processor 1010.

당업계의 기술자들은 단말(1000)이 또한 각 부품을 위하여 전력을 공급하는 전원(예를 들어 배터리)을 포함할 수 있고, 전원은 전원 관리 시스템을 통하여 프로세서(1010)와 연결되어, 전원 관리 시스템을 통하여 충전, 방전 관리 및 전력 소모 관리 등 기능을 구현할 수 있는 것을 이해할 것이다. 도 9에 도시된 단말 구조가 단말을 제한하는 것이 아니며, 단말은 도시된 것보다 더욱 많거나 더욱 적은 부품을 포함하거나, 또는 일부 부품 또는 서로 다른 부품을 조합하여 구성할 수 있음을 이해할 것이며, 여기에서는 상세한 설명을 생략하도록 한다.Technicians in the art know that the terminal 1000 may also include a power source (e.g., a battery) that supplies power for each component, and the power source is connected to the processor 1010 through a power management system. Through this, you will understand that functions such as charging, discharge management, and power consumption management can be implemented. It will be understood that the terminal structure shown in FIG. 9 does not limit the terminal, and that the terminal may include more or fewer components than those shown, or may be constructed by combining some components or different components. Detailed description will be omitted.

본 출원의 실시예에서, 입력 유닛(1004)은 그래픽 처리장치(Graphics Processing Unit, GPU)(10041)와 마이크(10042)를 포함할 수 있고, 이미지 처리장치(10041)는 비디오 캡쳐 모드 또는 이미지 캡쳐 모드에서 이미지 캡쳐 장치(예를 들어 카메라)가 취득한 정적 이미지 또는 비디오의 이미지 데이터에 대해 처리를 수행하는 것을 이해할 것이다. 디스플레이 유닛(1006)은 디스플레이 패널(10061)을 포함할 수 있고, 선택적으로, 액정 디스플레이, 유기 발광 다이오드 등 형식을 사용하여 디스플레이 패널(10061)을 구성할 수 있다. 사용자 입력 유닛(1007)은 터치 패널(10071) 및 기타 입력 장치(10072)를 포함한다. 터치 패널(10071)은 또한 터치 스크린이라 칭할 수 있다. 터치 패널(10071)은 터치 검출 장치와 터치 제어기 두 개 부분을 포함할 수 있다. 기타 입력 장치(10072)는 물리 키보드, 기능 키(예를 들어 볼륨 제어 버튼, 스위치 버튼 등), 트랙볼, 마우스, 스틱 등 중의 한 가지 또는 여러 가지를 포함할 수 있으나, 이에 제한되지 않는다.In an embodiment of the present application, the input unit 1004 may include a graphics processing unit (GPU) 10041 and a microphone 10042, and the image processing unit 10041 may be used in a video capture mode or image capture. It will be understood that in this mode, an image capture device (e.g., a camera) performs processing on image data, either a static image or a video, acquired. The display unit 1006 may include a display panel 10061, and optionally, the display panel 10061 may be configured using a liquid crystal display, an organic light emitting diode, or the like. The user input unit 1007 includes a touch panel 10071 and other input devices 10072. The touch panel 10071 may also be referred to as a touch screen. The touch panel 10071 may include two parts: a touch detection device and a touch controller. Other input devices 10072 may include one or more of a physical keyboard, function keys (e.g., volume control buttons, switch buttons, etc.), a trackball, a mouse, a stick, etc., but are not limited thereto.

본 출원의 실시예에서, 무선 주파수 유닛(1001)은 네트워크 측 장치로부터 온 다운링크 데이터를 수신한 후, 프로세서(1010)로 전송하여 처리를 진행하며; 그리고, 업링크 데이터를 네트워크 측 장치로 송신한다. 통상적으로 무선 주파수 유닛(1001)은 안테나, 적어도 하나의 증폭기, 송수신기, 커플러, 저소음 증폭기, 듀플렉서 등을 포함할 수 있으나, 이에 제한되지 않는다.In the embodiment of the present application, the radio frequency unit 1001 receives downlink data from the network-side device and then transmits it to the processor 1010 for processing; Then, uplink data is transmitted to the network-side device. Typically, the radio frequency unit 1001 may include an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc., but is not limited thereto.

메모리(1009)는 소프트웨어 프로그램 또는 명령 및 여러 가지 데이터를 저장할 수 있다. 메모리(1009)는 주요하게 프로그램 또는 명령 저장 구역과 데이터 저장 구역을 포함할 수 있고, 여기에서, 프로그램 또는 명령 저장 구역에는 운영 시스템, 적어도 하나의 기능에 필요한 어플리케이션 프로그램 또는 명령(예를 들어 사운드 플레이 기능, 이미지 플레이 기능 등) 등을 저장할 수 있다. 그리고, 메모리(1009)는 고속 무작위 접속 메모리를 포함할 수 있고, 또한 비휘발성 메모리를 포함할 수 있으며, 여기에서, 비휘발성 메모리는 읽기전용 메모리(Read-Only Memory, ROM), 프로그래머블 메모리(Programmable ROM, PROM), 휘발성 프로그래머블 메모리(Erasable PROM, EPROM), 전기 휘발성 프로그래머블 메모리(Electrically EPROM, EEPROM) 또는 플래시 일 수 있다. 예를 들어 적어도 하나의 디스크 기억 소자, 플래시 소자 또는 기타 비휘발성 고체 기억 소자이다.The memory 1009 can store software programs or instructions and various data. Memory 1009 may primarily include a program or instruction storage area and a data storage area, wherein the program or command storage area contains an operating system, an application program or command required for at least one function (e.g., a sound playback area). function, image play function, etc.) can be saved. In addition, the memory 1009 may include high-speed random access memory, and may also include non-volatile memory, where the non-volatile memory includes read-only memory (ROM), programmable memory (Programmable Memory), and non-volatile memory. It may be ROM, PROM), volatile programmable memory (Erasable PROM, EPROM), electrically volatile programmable memory (EPROM, EEPROM), or flash. For example, at least one disk storage device, flash device, or other non-volatile solid-state storage device.

프로세서(1010)는 하나 또는 다수의 처리 유닛을 포함할 수 있으며; 선택적으로, 프로세서(1010)에는 응용 프로세서와 변조/복조 프로세서가 집적될 수 있고, 여기에서, 응용 프로세서는 주요하게 운영 시스템, 유저 인터페이스와 어플리케이션 또는 명령 등을 처리하고, 변조/복조 프로세서는 주요하게 무선 통신을 처리하는 바, 예를 들어 기저대역 프로세서이다. 상기 변조/복조 프로세서는 또한 프로세서(1010)에 집적되지 않을 수 있음을 이해할 것이다.Processor 1010 may include one or multiple processing units; Optionally, the processor 1010 may be integrated with an application processor and a modulation/demodulation processor, where the application processor mainly processes the operating system, user interface and applications or instructions, and the modulation/demodulation processor mainly processes the operating system, user interface, and applications or commands. It handles wireless communications, for example a baseband processor. It will be appreciated that the modulation/demodulation processor may also not be integrated into processor 1010.

여기에서, 프로세서는,Here, the processor:

코딩할 포인트 클라우드를 획득하며; Obtain a point cloud to code;

상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하며; Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, dividing the point cloud to be coded into at least one coding point cloud block; ;

적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 M 개의 코딩 포인트 클라우드 그룹으로 분할하며; For each coding point cloud block containing at least two coding points, based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, the coding point cloud block is divided into M coding point cloud groups. to divide;

제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하며;Performing transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient;

상기 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성하는 조작을 수행한다.An operation of generating a target code stream is performed by performing entropy coding on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group.

또는, 프로세서는,Alternatively, the processor may:

디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득하며;Perform decoding on the code stream to be decoded to obtain a point cloud to be decoded;

상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하며; Based on the quantity of decoding points included in the point cloud to be decoded, volume information of a bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, dividing the point cloud to be decoded into at least one decoding point cloud block; ;

적어도 두 개의 디코딩 포인트를 포함하는 각 디코딩 포인트 클라우드 블록에 대해, 상기 디코딩할 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하며;For each decoding point cloud block containing at least two decoding points, based on the quantity of decoding points included in the point cloud block to be decoded and a preset maximum transformation order, the decoding point cloud block is divided into M decoding point cloud groups. Divide into;

제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하며; 상기 목표 고주파 계수 및 상기 목표 저주파 계수에 대해 역변환 처리를 수행하여 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 잔차 정보를 획득하는 조작을 수행한다.Perform inverse quantification processing on the second transform coefficient corresponding to the third target decoding point cloud group to obtain target high-frequency coefficients and target low-frequency coefficients; Inverse transformation processing is performed on the target high-frequency coefficient and the target low-frequency coefficient to obtain residual information corresponding to the third target decoding point cloud group.

본 발명의 실시예는 또한 일 판독 가능한 저장 매체를 제공하는 바, 상기 판독 가능한 저장 매체는 비 휘발성일 수 있고, 또한 휘발성일 수 있으며, 상기 판독 가능한 저장 매체에는 프로그램 또는 명령이 저장되고, 해당 프로그램 또는 명령이 프로세서에 의해 실행될 때, 상기 포인트 클라우드 속성 코딩 방법 실시예의 각 과정을 구현하거나, 또는 상기 포인트 클라우드 속성 디코딩 방법 실시예의 각 과정을 구현하고, 또한 동일한 기술적 효과를 이는 바, 중복을 방지하기 위하여 여기에서는 상세한 설명을 생략하도록 한다.An embodiment of the present invention also provides a readable storage medium, the readable storage medium may be non-volatile or volatile, the readable storage medium stores a program or command, and the program or when an instruction is executed by a processor, it implements each process of the point cloud attribute coding method embodiment, or implements each process of the point cloud attribute decoding method embodiment, and also achieves the same technical effect, preventing duplication. For this reason, detailed description will be omitted here.

본 발명의 실시예는 또한 일 컴퓨터 프로그램 제품을 제공하는 바, 상기 컴퓨터 프로그램 제품은 비일시적 판독 가능한 저장 매체에 저장되고, 상기 컴퓨터 프로그램 제품이 적어도 하나의 프로세서에 의해 실행되어 상기 포인트 클라우드 속성 코딩 방법 실시예의 각 과정을 구현하거나, 또는 상기 포인트 클라우드 속성 디코딩 방법 실시예의 각 과정을 구현하고, 또한 동일한 기술적 효과를 이는 바, 중복을 방지하기 위하여 여기에서는 상세한 설명을 생략하도록 한다.An embodiment of the present invention also provides a computer program product, wherein the computer program product is stored in a non-transitory readable storage medium, and the computer program product is executed by at least one processor to perform the point cloud attribute coding method. Since each process of the embodiment is implemented or each process of the point cloud attribute decoding method embodiment is implemented and has the same technical effect, detailed description is omitted here to prevent duplication.

여기에서, 상기 프로세서는 상기 실시예 중 상기 단말 중의 프로세서이다. 상기 판독 가능한 매체는 컴퓨터 판독 가능한 저장 매체 예를 들어 컴퓨터 읽기전용 메모리(Read-Only Memory, ROM), 무작위 접속 메모리(Random Access Memory, RAM), 자기 디스크 또는 광 디스크 등을 포함한다.Here, the processor is a processor in the terminal in the above embodiment. The readable medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

본 출원의 실시예는 또한 칩을 제공하는 바, 상기 칩은 프로세서와 통신 인터페이스를 포함하고, 상기 통신 인터페이스와 상기 프로세서가 커플링되며, 상기 프로세서는 프로그램 또는 명령을 실행시켜, 상기 포인트 클라우드 속성 코딩 방법 실시예의 각 과정을 구현하거나, 또는 상기 포인트 클라우드 속성 디코딩 방법 실시예의 각 과정을 구현하고, 또한 동일한 기술적 효과를 이는 바, 중복을 방지하기 위하여 여기에서는 상세한 설명을 생략하도록 한다.An embodiment of the present application also provides a chip, wherein the chip includes a processor and a communication interface, the communication interface and the processor are coupled, and the processor executes a program or instruction to code the point cloud attribute. Since each process of the method embodiment is implemented, or each process of the point cloud attribute decoding method embodiment is implemented, and also produces the same technical effect, detailed description is omitted here to prevent duplication.

본 출원의 실시예에 언급된 칩은 또한 시스템 레벨 칩, 시스템 칩, 칩 시스템 또는 시스템 온 칩의 칩 등이라 칭할 수 있음을 이해할 것이다.It will be understood that the chips referred to in the embodiments of the present application may also be referred to as system level chips, system chips, chips of system-on-a-chip or system-on-a-chip, etc.

설명하여야 할 바로는, 본문에서, 용어 “포함하다” 또는 이의 임의의 기타 변형체는 비 배타적으로 포함하는 것을 뜻함으로써, 일련의 요소를 포함하는 과정, 방법, 물품 또는 장치가 이러한 요소를 포함할 뿐 아니라, 또한 명확하게 언급하지 않은 기타 요소를 포함하거나, 또는 이러한 과정, 방법, 상품 또는 장치의 고유한 요소를 포함하도록 한다. 더욱 많은 제한이 없는 경우, “하나의... 을(를)을 포함하다”는 구절로 한정되는 요소는 해당 요소를 포함하는 과정, 방법, 물품 또는 장치에 또한 기타 동일한 요소가 포함되는 것을 배제하지 않는다. 그리고, 짚고 넘어가야 할 바로는, 본 출원의 실시방식 중의 방법과 장치의 범위는 예시되거나 토론한 순서에 따라 실행된 기능에 한정되지 않고, 또한 언급된 기능에 의하여 기본상 동시적인 방식에 따라 또는 반대되는 순서에 따라 실행되는 기능을 포함할 수 있는 바, 예를 들어, 설명된 순서와 다르게 상기 설명한 방법을 실행하고, 또한 여러 가지 단계를 추가, 생략 또는 조합할 수 있다. 그리고, 일부 예시에서 기술한 특징을 참조하여 기타 예시에서 조합할 수 있다.It should be noted that, in the text, the term “comprise” or any other variant thereof means non-exclusively including, so that a process, method, article or device that includes a set of elements only includes those elements. In addition, it may also include other elements not explicitly mentioned, or elements unique to such process, method, product or device. Without further limitation, any element defined by the phrase "comprising a..." excludes the inclusion of any other identical element in any process, method, article or device incorporating that element. I never do that. In addition, it should be pointed out that the scope of the methods and devices in the implementation mode of the present application is not limited to functions executed according to the order exemplified or discussed, and also according to the mentioned functions in an essentially simultaneous manner or It may include functions that are executed in the opposite order, for example, the above-described method may be executed differently from the described order, and various steps may be added, omitted, or combined. Also, the features described in some examples can be referred to and combined in other examples.

상기 실시방식에 대한 기재를 통하여 당업계의 기술자들은 상기 실시예의 방법이 소프트웨어에 필요한 범용 하드웨어 플랫폼을 추가하는 방식으로 구현될 수 있다는 것을 알 수 있고, 또한 하드웨어를 통하여 구현될 수 있음은 물론이나, 여러 경우 중에서 전자가 더욱 바람직한 실시방식이다. 이를 기반으로 본 출원의 기술방안의 본질적이나 또는 종래 기술에 대해 기여하는 부분은 컴퓨터 소프트웨어 제품의 형식으로 구현될 수 있고, 해당 컴퓨터 소프트웨어 제품은 하나의 저장 매체(예를 들어 ROM/RAM, 자기 디스크, 광 디스크)에 저장될 수 있는 바, 일부 명령이 포함되어 단말(핸드폰, 컴퓨터, 서버, 에어컨 또는 네트워크 장치 등일 수 있음)로 하여금 본 출원의 각 실시예의 상기 방법을 구현하게 할 수 있다.Through the description of the above implementation method, those skilled in the art can see that the method of the above embodiment can be implemented by adding a general-purpose hardware platform required for software, and of course, it can be implemented through hardware. Among many cases, the former is a more preferable implementation method. Based on this, the essence of the technical solution of this application or the part that contributes to the prior art can be implemented in the form of a computer software product, and the computer software product may be implemented in the form of a storage medium (e.g. ROM/RAM, magnetic disk) , optical disk), and some instructions are included to enable a terminal (which may be a mobile phone, computer, server, air conditioner, or network device) to implement the method of each embodiment of the present application.

위에서는 도면을 결부시켜 본 출원의 실시예에 대해 설명하였지만, 본 출원은 상기 구체적인 실시방식에 제한되지 않고, 상기의 구체적인 실시형태는 단지 예시적일 뿐 제한적인 것이 아니며, 당업계의 기술자들은 본 출원의 힌트 하에서 본 출원의 사상과 청구항이 보호하는 범위를 벗어나지 않는 경우, 얼마든지 더욱 많은 형식을 구현할 수 있으며, 이는 모두 본 출원의 보호 범위에 속한다 할 것이다.Although the embodiments of the present application have been described above in connection with the drawings, the present application is not limited to the above specific embodiments, and the above specific embodiments are only illustrative and not restrictive, and those skilled in the art will understand the present application. Under the hint, as long as the idea and claims of the present application do not go beyond the scope of protection, many more forms can be implemented, and all of them will fall within the scope of protection of the present application.

Claims (22)

포인트 클라우드 속성 코딩 방법에 있어서,
코딩할 포인트 클라우드를 획득하는 바, 상기 코딩할 포인트 클라우드 중의 코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹되는 단계;
상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하는 단계;
적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하는 바, N은 정정수인 단계;
제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 바, 상기 제1 목표 코딩 포인트 클라우드 그룹은 상기 N 개의 코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제1 목표 코딩 포인트 클라우드 그룹은 변환 코딩을 수행하는 코딩 포인트 클라우드 그룹인 단계;
상기 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성하는 바, 상기 제2 목표 코딩 포인트 클라우드 그룹은 상기 N 개의 코딩 포인트 클라우드 그룹 중 상기 제1 목표 코딩 포인트 클라우드 그룹을 제외한 코딩 포인트 클라우드 그룹인 단계를 포함하는 포인트 클라우드 속성 코딩 방법.
In the point cloud attribute coding method,
Obtaining a point cloud to be coded, ranking coding points in the point cloud to be coded according to a preset coding order;
Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, dividing the point cloud to be coded into at least one coding point cloud block. step;
For each coding point cloud block containing at least two coding points, based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, the coding point cloud block is divided into N coding point cloud groups. dividing, where N is an integer;
Transform coding and quantification processing are performed on the first residual information corresponding to the first target coding point cloud group to obtain a first quantified transform coefficient, and the first target coding point cloud group is the N coding point clouds. at least part of a group, wherein the first target coding point cloud group is a coding point cloud group that performs transform coding;
A target code stream is generated by performing entropy coding on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group, wherein the second target coding point cloud group is the N coding A point cloud attribute coding method comprising the step of being a coding point cloud group excluding the first target coding point cloud group among the point cloud groups.
제1항에 있어서,
상기 코딩할 포인트 클라우드 중의 코딩 포인트는 랭킹 코드에 따라 작은 것부터 큰 것까지 랭킹되며, 상기 랭킹 코드는 힐버트 코드 및 모튼 코드 중 어느 하나를 포함하며;
상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하는 상기 단계는,
제1 목표 시프트 값을 사용하여, 각 코딩 포인트에 대응하는 랭킹 코드에 대해 시프트를 수행하여 각 코딩 포인트에 대응하는 제1 목표 랭킹 코드를 획득하는 바, 상기 목표 시프트 값은 상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량 및 상기 바운딩 박스의 체적 정보에 기반하여 결정되는 단계;
제1 목표 랭킹 코드가 같은 코딩 포인트를 동일한 코딩 포인트 클라우드 블록에 분할시키는 단계를 포함하는 포인트 클라우드 속성 코딩 방법.
According to paragraph 1,
Coding points in the point cloud to be coded are ranked from small to large according to a ranking code, and the ranking code includes one of a Hilbert code and a Morton code;
Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, dividing the point cloud to be coded into at least one coding point cloud block. The above steps are:
Using the first target shift value, the ranking code corresponding to each coding point is shifted to obtain the first target ranking code corresponding to each coding point, and the target shift value is stored in the point cloud to be coded. Determining based on the included coding point quantity and volume information of the bounding box;
A point cloud attribute coding method comprising dividing coding points having the same first target ranking code into identical coding point cloud blocks.
제1항에 있어서,
상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하는 상기 단계는,
상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 작거나 같은 경우, 상기 코딩 포인트 클라우드 블록을 하나의 코딩 포인트 클라우드 그룹으로 결정하는 단계;
상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 큰 경우, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 상기 코딩 포인트 클라우드 블록을 적어도 두 개의 코딩 포인트 클라우드 그룹으로 분할하는 단계를 포함하는 포인트 클라우드 속성 코딩 방법.
According to paragraph 1,
The step of dividing the coding point cloud block into N coding point cloud groups based on the quantity of coding points included in the coding point cloud block and a preset maximum transformation order,
If the quantity of coding points included in the coding point cloud block is less than or equal to the preset maximum transformation order, determining the coding point cloud block as one coding point cloud group;
When the quantity of coding points included in the coding point cloud block is greater than the preset maximum transformation order, based on the quantity of coding points included in the coding point cloud block and the first preset value, the coding point cloud block is converted to at least A point cloud attribute coding method that includes splitting into two coding point cloud groups.
제1항에 있어서,
상기 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하기 전, 상기 방법은,
상기 코딩할 포인트 클라우드 중의 제1 변환 아이디를 획득하는 단계;
상기 제1 변환 아이디가 모든 코딩 포인트 클라우드 그룹에 대해 변환 코딩을 수행하는 것을 나타내는 경우, 모든 코딩 포인트 클라우드 그룹을 상기 제1 목표 코딩 포인트 클라우드 그룹으로 결정하는 단계;
상기 제1 변환 아이디가 모든 코딩 포인트 클라우드 그룹에 대해 자체 적응 변환 코딩을 수행하는 것을 나타내는 경우, 상기 N 개의 코딩 포인트 클라우드 그룹 중의 적어도 하나의 코딩 포인트 클라우드 그룹을 상기 제1 목표 코딩 포인트 클라우드 그룹으로 결정하는 단계를 포함하는 포인트 클라우드 속성 코딩 방법.
According to paragraph 1,
Before performing transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient, the method includes:
Obtaining a first transformation ID in the point cloud to be coded;
When the first transformation ID indicates that transformation coding is performed on all coding point cloud groups, determining all coding point cloud groups as the first target coding point cloud group;
When the first transformation ID indicates that self-adaptive transformation coding is performed on all coding point cloud groups, at least one coding point cloud group among the N coding point cloud groups is determined as the first target coding point cloud group. Point cloud attribute coding method including the steps of:
제1항에 있어서,
상기 제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 단계는,
변환 매트릭스와 상기 제1 잔차 정보 간의 곱셈 결과를 계산하고, 상기 곱셈 결과를 정량화할 제1 변환 계수로 결정하는 바, 상기 제1 변환 매트릭스의 차수는 상기 제1 목표 코딩 포인트 클라우드 그룹에 포함된 코딩 포인트 수량에 기반하여 결정되는 단계;
상기 정량화할 제1 변환 계수에 대해 정량화를 수행하여 상기 정량화된 제1 변환 계수를 획득하는 단계를 포함하는 포인트 클라우드 속성 코딩 방법.
According to paragraph 1,
The step of performing transform coding and quantification processing on the first residual information corresponding to the first target coding point cloud group to obtain a quantified first transform coefficient,
A multiplication result between a transformation matrix and the first residual information is calculated, and the multiplication result is determined as a first transformation coefficient to quantify, where the order of the first transformation matrix is the coding included in the first target coding point cloud group. Steps determined based on the point quantity;
A point cloud attribute coding method comprising performing quantification on the first transform coefficient to be quantified to obtain the quantified first transform coefficient.
포인트 클라우드 속성 디코딩 방법에 있어서,
디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득하는 바, 상기 디코딩할 포인트 클라우드 중의 디코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹되는 단계;
상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하는 단계;
적어도 두 개의 디코딩 포인트를 포함하는 각 디코딩 포인트 클라우드 블록에 대해, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하는 바, M은 정정수인 단계;
제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하는 바, 상기 제3 목표 디코딩 포인트 클라우드 그룹은 상기 M 개의 디코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제3 목표 디코딩 포인트 클라우드 그룹은 역 정량화 처리를 수행하는 디코딩 포인트 클라우드 그룹인 단계;
상기 목표 고주파 계수 및 상기 목표 저주파 계수에 대해 역변환 처리를 수행하여 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제3 잔차 정보를 획득하는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
In the point cloud attribute decoding method,
Performing decoding on a code stream to be decoded to obtain a point cloud to be decoded, wherein decoding points in the point cloud to be decoded are ranked according to a preset coding order;
Based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, dividing the point cloud to be decoded into at least one decoding point cloud block. step;
For each decoding point cloud block containing at least two decoding points, based on the quantity of decoding points included in the decoding point cloud block and the preset maximum transformation order, the decoding point cloud block is divided into M decoding point cloud groups. dividing, where M is an integer;
Inverse quantification processing is performed on the second transform coefficient corresponding to the third target decoding point cloud group to obtain target high-frequency coefficients and target low-frequency coefficients, wherein the third target decoding point cloud group is the M decoding point cloud group. wherein the third target decoding point cloud group is a decoding point cloud group that performs inverse quantification processing;
A point cloud attribute decoding method comprising performing inverse transformation processing on the target high-frequency coefficient and the target low-frequency coefficient to obtain third residual information corresponding to the third target decoding point cloud group.
제6항에 있어서,
상기 디코딩할 포인트 클라우드 중의 디코딩 포인트는 랭킹 코드에 따라 작은 것부터 큰 것까지 랭킹되며, 상기 랭킹 코드는 힐버트 코드 및 모튼 코드 중 어느 하나를 포함하며;
상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하는 상기 단계는,
제2 목표 시프트 값을 사용하여, 각 디코딩 포인트에 대응하는 랭킹 코드에 대해 시프트를 수행하여 각 디코딩 포인트에 대응하는 제2 목표 랭킹 코드를 획득하는 바, 상기 제2 목표 시프트 값은 상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량 및 상기 바운딩 박스의 체적 정보에 기반하여 결정되는 단계;
제2 목표 랭킹 코드가 같은 디코딩 포인트를 동일한 디코딩 포인트 클라우드 블록에 분할시키는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
According to clause 6,
The decoding points in the point cloud to be decoded are ranked from small to large according to a ranking code, and the ranking code includes one of a Hilbert code and a Morton code;
Based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, dividing the point cloud to be decoded into at least one decoding point cloud block. The above steps are:
Using the second target shift value, a ranking code corresponding to each decoding point is shifted to obtain a second target ranking code corresponding to each decoding point, where the second target shift value is the point to be decoded. Determining based on the quantity of decoding points included in the cloud and volume information of the bounding box;
A point cloud attribute decoding method comprising partitioning decoding points having the same second target ranking code into the same decoding point cloud block.
제7항에 있어서,
상기 제2 목표 시프트 값을 사용하여, 각 디코딩 포인트에 대응하는 랭킹 코드에 대해 시프트를 수행하여 각 디코딩 포인트에 대응하는 제2 목표 랭킹 코드를 획득하기 전, 상기 방법은,
제1 시프트 파라미터 및 제2 시프트 파라미터에 기반하여 상기 제2 목표 시프트 값을 결정하는 바, 상기 제1 시프트 파라미터는 상기 바운딩 박스의 체적 정보에 기반하여 결정되고, 상기 제2 시프트 파라미터는 상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량에 기반하여 결정되는 단계; 또는
상기 디코딩할 포인트 클라우드에 대응하는 기하학적 정량화 스텝에 기반하여 상기 제2 목표 시프트 값을 결정하는 단계; 또는
미리 설정된 시프트 값을 상기 제2 목표 시프트 값으로 결정하는 단계; 또는
상기 디코딩할 코드 스트림으로부터 상기 제2 목표 시프트 값을 획득하는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
In clause 7,
Before obtaining a second target ranking code corresponding to each decoding point by performing a shift on the ranking code corresponding to each decoding point using the second target shift value, the method includes:
The second target shift value is determined based on a first shift parameter and a second shift parameter, where the first shift parameter is determined based on volume information of the bounding box, and the second shift parameter is the decoding method. Determining based on the quantity of decoding points included in the point cloud; or
determining the second target shift value based on a geometric quantification step corresponding to the point cloud to be decoded; or
determining a preset shift value as the second target shift value; or
Point cloud attribute decoding method comprising obtaining the second target shift value from the code stream to be decoded.
제6항에 있어서,
상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하는 상기 단계는,
상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 작거나 같은 경우, 상기 디코딩 포인트 클라우드 블록을 하나의 디코딩 포인트 클라우드 그룹으로 결정하는 단계;
상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량이 상기 미리 설정된 최대 변환 차수보다 큰 경우, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량 및 제1 미리 설정된 수치에 기반하여, 상기 디코딩 포인트 클라우드 블록을 적어도 두 개의 디코딩 포인트 클라우드 그룹으로 분할하는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
According to clause 6,
The step of dividing the decoding point cloud block into M decoding point cloud groups based on the quantity of decoding points included in the decoding point cloud block and a preset maximum transformation order,
If the quantity of decoding points included in the decoding point cloud block is less than or equal to the preset maximum transformation order, determining the decoding point cloud block as one decoding point cloud group;
If the decoding point quantity included in the decoding point cloud block is greater than the preset maximum transformation order, based on the decoding point quantity included in the decoding point cloud block and the first preset value, the decoding point cloud block is converted to at least A point cloud attribute decoding method comprising splitting into two decoding point cloud groups.
제9항에 있어서,
상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 제1 미리 설정된 수치에 기반하여, 상기 디코딩 포인트 클라우드 블록을 적어도 두 개의 디코딩 포인트 클라우드 그룹으로 분할하는 상기 단계는,
제1 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 상기 제1 미리 설정된 수치를 사용하여 상기 제1 수치에 대해 그룹핑 계산 조작을 수행하여 제2 수치를 획득하는 바, 상기 제1 수치는 상기 디코딩 포인트 클라우드 블록의 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 수량을 나타내고, 상기 제2 수치는 미리 설정된 최대 변환 차수보다 작거나 같은 단계;
상기 디코딩 포인트 클라우드 블록 중 디코딩 포인트의 미리 설정된 디코딩 순서에 따라, 모든 디코딩 포인트 클라우드 블록의 모든 디코딩 포인트가 포인트 클라우드 그룹핑을 완성할 때까지, 포인트 클라우드 그룹핑을 수행하지 않은 디코딩 포인트 중의 적어도 일부 디코딩 포인트를 하나의 디코딩 포인트 클라우드 그룹으로 분할하는 바, 상기 적어도 일부 디코딩 포인트 수량은 상기 제2 수치와 동일한 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
According to clause 9,
The step of dividing the decoding point cloud block into at least two decoding point cloud groups based on the decoding point quantity included in the decoding point cloud block and a first preset value,
When the first value is greater than the preset maximum transformation order, a grouping calculation operation is performed on the first value using the first preset value to obtain a second value, where the first value is the decoding point. Indicating a quantity of decoding points without performing point cloud grouping of cloud blocks, wherein the second number is less than or equal to a preset maximum transformation order;
According to the preset decoding order of decoding points among the decoding point cloud blocks, at least some of the decoding points among the decoding points that have not performed point cloud grouping are selected until all decoding points of all decoding point cloud blocks complete point cloud grouping. Dividing into one decoding point cloud group, wherein the at least some decoding point quantities are equal to the second numerical value.
제10항에 있어서,
상기 제1 미리 설정된 수치를 사용하여 상기 제1 수치에 대해 그룹핑 계산 조작을 수행하여 제2 수치를 획득하는 상기 단계는,
제1 수치가 미리 설정된 최대 변환 차수보다 큰 경우, 상기 제1 수치와 제1 미리 설정된 수치를 나눗셈한 결과를 반올림하여 목표 수치를 획득하는 단계;
상기 목표 수치가 미리 설정된 최대 변환 차수보다 작거나 같을 때까지 상기 제1 수치를 상기 목표 수치로 업데이트하고, 상기 제2 수치를 상기 목표 수치로 결정하는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
According to clause 10,
The step of performing a grouping calculation operation on the first numerical value using the first preset numerical value to obtain a second numerical value,
If the first numerical value is greater than the preset maximum conversion order, rounding a result of dividing the first numerical value and the first preset numerical value to obtain a target numerical value;
A point cloud attribute decoding method comprising updating the first value to the target value until the target value is less than or equal to a preset maximum transformation order, and determining the second value to be the target value.
제6항에 있어서,
상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하기 전, 상기 방법은,
상기 디코딩할 포인트 클라우드 중의 제2 변환 아이디를 획득하는 단계;
상기 제2 변환 아이디가 모든 디코딩 포인트 클라우드 그룹에 대해 역변환을 수행하는 것을 나타내는 경우, 모든 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 단계;
상기 제2 변환 아이디가 모든 디코딩 포인트 클라우드 그룹에 대해 자체 적응 역변환을 수행하는 것을 나타내는 경우, 상기 M 개의 디코딩 포인트 클라우드 그룹 중의 적어도 하나의 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
According to clause 6,
Before performing inverse quantification processing on the second transform coefficient corresponding to the third target decoding point cloud group to obtain the target high-frequency coefficient and the target low-frequency coefficient, the method includes:
Obtaining a second transformation ID in the point cloud to be decoded;
If the second transformation ID indicates that inverse transformation is to be performed on all decoding point cloud groups, determining all decoding point cloud groups as the third target decoding point cloud group;
When the second transformation ID indicates that self-adaptive inverse transformation is performed on all decoding point cloud groups, determining at least one decoding point cloud group among the M decoding point cloud groups as the third target decoding point cloud group Point cloud attribute decoding method including steps.
제12항에 있어서,
상기 M 개의 디코딩 포인트 클라우드 그룹은 디코딩 포인트 클라우드 블록에서 미리 설정된 순서에 따라 랭킹되고, 상기 M 개의 디코딩 포인트 클라우드 그룹은 하나의 제1 포인트 클라우드 그룹을 포함하며, 상기 제1 포인트 클라우드 그룹은 상기 M 개의 디코딩 포인트 클라우드 그룹 중 가장 앞으로 랭킹된 디코딩 포인트 클라우드 그룹이며;
상기 M 개의 디코딩 포인트 클라우드 그룹 중의 적어도 하나의 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 상기 단계는,
상기 제1 포인트 클라우드 그룹에 대응하는 제3 변환 아이디를 획득하는 단계;
상기 제3 변환 아이디가 상기 제1 포인트 클라우드 그룹에 대해 역변환을 수행하는 것을 나타내는 경우, 상기 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
According to clause 12,
The M decoding point cloud groups are ranked according to a preset order in the decoding point cloud block, the M decoding point cloud groups include one first point cloud group, and the first point cloud group is the M Among the decoding point cloud groups, it is the most forward-ranked decoding point cloud group;
The step of determining at least one decoding point cloud group among the M decoding point cloud groups as the third target decoding point cloud group,
Obtaining a third conversion ID corresponding to the first point cloud group;
When the third transformation ID indicates that inverse transformation is to be performed on the first point cloud group, determining the point cloud group as the third target decoding point cloud group.
제12항에 있어서,
상기 M 개의 디코딩 포인트 클라우드 그룹은 디코딩 포인트 클라우드 블록에서 미리 설정된 순서에 따라 랭킹되고, 상기 M 개의 디코딩 포인트 클라우드 그룹은 M - 1 개의 제2 포인트 클라우드 그룹을 포함하며, 상기 제2 포인트 클라우드 그룹은 상기 M 개의 디코딩 포인트 클라우드 그룹 중 가장 앞으로 랭킹된 디코딩 포인트 클라우드 그룹을 제외한 디코딩 포인트 클라우드 그룹이며;
상기 M 개의 디코딩 포인트 클라우드 그룹 중의 적어도 하나의 디코딩 포인트 클라우드 그룹을 상기 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 상기 단계는,
어느 한 제2 포인트 클라우드 그룹에 대해, 상기 제2 포인트 클라우드 그룹에 대응하는 제1 재구성 값 및 제2 재구성 값을 결정하는 바, 상기 제1 재구성 값은 인접된 포인트 클라우드 그룹에 대응하는 재구성 정보 중의 최대값이고, 상기 제2 재구성 값은 인접된 포인트 클라우드 그룹에 대응하는 재구성 정보 중의 최소값이며, 상기 인접된 포인트 클라우드 그룹은 상기 디코딩 포인트 클라우드 블록 중 상기 제2 포인트 클라우드 그룹과 인접되고 상기 제2 포인트 클라우드 그룹 앞에 위치하는 디코딩 포인트 클라우드 그룹인 단계;
상기 제1 재구성 값과 상기 제2 재구성 값의 차이값의 절대값을 계산하는 단계;
상기 절대값이 제2 미리 설정된 수치보다 작은 경우, 상기 제2 포인트 클라우드 그룹을 제3 목표 디코딩 포인트 클라우드 그룹으로 결정하는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
According to clause 12,
The M decoding point cloud groups are ranked according to a preset order in the decoding point cloud block, the M decoding point cloud groups include M - 1 second point cloud groups, and the second point cloud group is A decoding point cloud group excluding the most forward-ranked decoding point cloud group among the M decoding point cloud groups;
The step of determining at least one decoding point cloud group among the M decoding point cloud groups as the third target decoding point cloud group,
For a second point cloud group, a first reconstruction value and a second reconstruction value corresponding to the second point cloud group are determined, and the first reconstruction value is included in the reconstruction information corresponding to the adjacent point cloud group. is the maximum value, and the second reconstruction value is the minimum value among reconstruction information corresponding to an adjacent point cloud group, and the adjacent point cloud group is adjacent to the second point cloud group among the decoding point cloud blocks and the second point A decoding point cloud group located in front of the cloud group;
calculating an absolute value of the difference between the first reconstruction value and the second reconstruction value;
When the absolute value is smaller than a second preset value, determining the second point cloud group as a third target decoding point cloud group.
제6항에 있어서,
상기 제2 변환 계수는 제1 성분 및 제2 성분을 포함하며, 상기 제1 성분은 제1 고주파 계수 및 제1 저주파 계수를 포함하고, 상기 제2 성분은 제2 고주파 계수 및 제2 저주파 계수를 포함하며;
제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하는 상기 단계는,
각각 미리 설정된 제1 정량화 스텝 및 미리 설정된 제2 정량화 스텝을 사용하여 상기 제1 고주파 계수 및 상기 제1 저주파 계수에 대하여 역 정량화를 수행하여, 역 정량화된 제1 고주파 계수 및 역 정량화된 제1 저주파 계수를 획득하는 단계;
미리 설정된 제3 정량화 스텝을 사용하여 상기 제2 고주파 계수 및 상기 제2 저주파 계수에 대하여 역 정량화를 수행하여, 역 정량화된 제2 고주파 계수 및 역 정량화된 제2 저주파 계수를 획득하는 단계;
상기 역 정량화된 제1 고주파 계수 및 상기 역 정량화된 제2 고주파 계수를 상기 목표 고주파 계수로 결정하는 단계;
상기 역 정량화된 제1 저주파 계수 및 상기 역 정량화된 제2 저주파 계수를 상기 목표 저주파 계수로 결정하는 단계를 포함하는 포인트 클라우드 속성 디코딩 방법.
According to clause 6,
The second conversion coefficient includes a first component and a second component, the first component includes a first high-frequency coefficient and a first low-frequency coefficient, and the second component includes a second high-frequency coefficient and a second low-frequency coefficient. Contains;
The step of performing inverse quantification processing on the second transform coefficient corresponding to the third target decoding point cloud group to obtain the target high-frequency coefficient and the target low-frequency coefficient,
Inverse quantification is performed on the first high frequency coefficient and the first low frequency coefficient using a preset first quantification step and a preset second quantification step, respectively, so that the inverse quantified first high frequency coefficient and the inverse quantified first low frequency obtaining coefficients;
performing inverse quantification on the second high-frequency coefficient and the second low-frequency coefficient using a preset third quantification step to obtain an inverse-quantified second high-frequency coefficient and an inverse-quantified second low-frequency coefficient;
determining the inversely quantified first high frequency coefficient and the inversely quantified second high frequency coefficient as the target high frequency coefficient;
A point cloud attribute decoding method comprising determining the inverse-quantified first low-frequency coefficient and the inverse-quantified second low-frequency coefficient as the target low-frequency coefficient.
코더에 있어서,
코딩할 포인트 클라우드를 획득하는 바, 상기 코딩할 포인트 클라우드 중의 코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹되는 제1 획득 모듈;
상기 코딩할 포인트 클라우드에 포함된 코딩 포인트 수량, 코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 코딩 포인트의 순서에 기반하여, 상기 코딩할 포인트 클라우드를 적어도 하나의 코딩 포인트 클라우드 블록으로 분할하는 제1 분할 모듈;
적어도 두 개의 코딩 포인트를 포함하는 각 코딩 포인트 클라우드 블록에 대해, 상기 코딩 포인트 클라우드 블록에 포함된 코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 코딩 포인트 클라우드 블록을 N 개의 코딩 포인트 클라우드 그룹으로 분할하는 바, N은 정정수인 제2 분할 모듈;
제1 목표 코딩 포인트 클라우드 그룹에 대응하는 제1 잔차 정보에 대해 변환 코딩 및 정량화 처리를 수행하여 정량화된 제1 변환 계수를 획득하는 바, 상기 제1 목표 코딩 포인트 클라우드 그룹은 상기 N 개의 코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제1 목표 코딩 포인트 클라우드 그룹은 변환 코딩을 수행하는 코딩 포인트 클라우드 그룹인 제1 코딩 모듈;
상기 정량화된 제1 변환 계수 및 제2 목표 코딩 포인트 클라우드 그룹에 대응하는 제2 잔차 정보에 대해 엔트로피 코딩을 수행하여 목표 코드 스트림을 생성하는 바, 상기 제2 목표 코딩 포인트 클라우드 그룹은 상기 N 개의 코딩 포인트 클라우드 그룹 중 상기 제1 목표 코딩 포인트 클라우드 그룹을 제외한 코딩 포인트 클라우드 그룹인 제2 코딩 모듈을 포함하는 코더.
For coders,
A first acquisition module that acquires a point cloud to be coded, where coding points in the point cloud to be coded are ranked according to a preset coding order;
Based on the quantity of coding points included in the point cloud to be coded, the volume information of the bounding box corresponding to the point cloud to be coded, and the order of each coding point, dividing the point cloud to be coded into at least one coding point cloud block. first division module;
For each coding point cloud block containing at least two coding points, based on the quantity of coding points included in the coding point cloud block and the preset maximum transformation order, the coding point cloud block is divided into N coding point cloud groups. A second division module where N is an integer for division;
Transform coding and quantification processing are performed on the first residual information corresponding to the first target coding point cloud group to obtain a first quantified transform coefficient, and the first target coding point cloud group is the N coding point clouds. a first coding module that is at least part of a group, and wherein the first target coding point cloud group is a coding point cloud group that performs transform coding;
A target code stream is generated by performing entropy coding on the quantified first transform coefficient and second residual information corresponding to the second target coding point cloud group, wherein the second target coding point cloud group is the N coding A coder including a second coding module that is a coding point cloud group excluding the first target coding point cloud group among the point cloud groups.
디코더에 있어서,
디코딩할 코드 스트림에 대해 디코딩을 수행하여 디코딩할 포인트 클라우드를 획득하는 바, 상기 디코딩할 포인트 클라우드 중의 디코딩 포인트는 미리 설정된 코딩 순서에 따라 랭킹되는 디코딩 모듈;
상기 디코딩할 포인트 클라우드에 포함된 디코딩 포인트 수량, 디코딩할 포인트 클라우드에 대응하는 바운딩 박스의 체적 정보 및 각 디코딩 포인트의 순서에 기반하여, 상기 디코딩할 포인트 클라우드를 적어도 하나의 디코딩 포인트 클라우드 블록으로 분할하는 제3 분할 모듈;
적어도 두 개의 디코딩 포인트를 포함하는 각 디코딩 포인트 클라우드 블록에 대해, 상기 디코딩 포인트 클라우드 블록에 포함된 디코딩 포인트 수량과 미리 설정된 최대 변환 차수에 기반하여, 상기 디코딩 포인트 클라우드 블록을 M 개의 디코딩 포인트 클라우드 그룹으로 분할하는 바, M은 정정수인 제4 분할 모듈;
제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제2 변환 계수에 대해 역 정량화 처리를 수행하여 목표 고주파 계수 및 목표 저주파 계수를 획득하는 바, 상기 목표 디코딩 포인트 클라우드 그룹은 상기 디코딩 포인트 클라우드 그룹의 적어도 일부이고, 상기 제3 목표 디코딩 포인트 클라우드 그룹은 상기 M 개의 디코딩 포인트 클라우드 그룹의 적어도 일부이며, 상기 제3 목표 디코딩 포인트 클라우드 그룹은 역 정량화 처리를 수행하는 디코딩 포인트 클라우드 그룹인 역 정량화 모듈;
상기 목표 고주파 계수 및 상기 목표 저주파 계수에 대해 역변환 처리를 수행하여 상기 제3 목표 디코딩 포인트 클라우드 그룹에 대응하는 제3 잔차 정보를 획득하는 역변환 모듈을 포함하는 디코더.
In the decoder,
a decoding module that performs decoding on a code stream to be decoded to obtain a point cloud to be decoded, wherein decoding points in the point cloud to be decoded are ranked according to a preset coding order;
Based on the quantity of decoding points included in the point cloud to be decoded, the volume information of the bounding box corresponding to the point cloud to be decoded, and the order of each decoding point, dividing the point cloud to be decoded into at least one decoding point cloud block. third split module;
For each decoding point cloud block containing at least two decoding points, based on the quantity of decoding points included in the decoding point cloud block and the preset maximum transformation order, the decoding point cloud block is divided into M decoding point cloud groups. A fourth division module where M is a constant number for division;
Inverse quantification processing is performed on the second transform coefficient corresponding to the third target decoding point cloud group to obtain a target high-frequency coefficient and a target low-frequency coefficient, wherein the target decoding point cloud group is at least part of the decoding point cloud group. , the third target decoding point cloud group is at least a part of the M decoding point cloud groups, and the third target decoding point cloud group is a decoding point cloud group that performs inverse quantification processing;
A decoder comprising an inverse transformation module that performs inverse transformation on the target high-frequency coefficient and the target low-frequency coefficient to obtain third residual information corresponding to the third target decoding point cloud group.
단말에 있어서, 메모리, 프로세서 및 상기 메모리에 저장되고 또한 상기 프로세서 상에서 실행될 수 있는 프로그램 또는 명령을 포함하고, 상기 프로그램 또는 명령이 상기 프로세서에 의해 실행될 때, 제1항 내지 제5항의 어느 한 항의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제6항 내지 제15항의 어느 한 항의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현하는 단말.A terminal comprising a memory, a processor, and a program or instruction stored in the memory and executable on the processor, and when the program or instruction is executed by the processor, the device according to any one of claims 1 to 5 A terminal implementing the steps of the point cloud attribute coding method, or implementing the steps of the point cloud attribute decoding method of any one of claims 6 to 15. 판독 가능한 저장 매체에 있어서, 상기 판독 가능한 저장 매체에 프로그램 또는 명령이 저장되고, 상기 프로그램 또는 명령이 프로세서에 의해 실행될 때, 제1항 내지 제5항의 어느 한 항의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제6항 내지 제15항의 어느 한 항의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현하는 판독 가능한 저장 매체.In a readable storage medium, a program or instruction is stored in the readable storage medium, and when the program or instruction is executed by a processor, the step of the point cloud attribute coding method of any one of claims 1 to 5 is performed. A readable storage medium implementing or implementing the steps of the point cloud attribute decoding method of any one of claims 6 to 15. 칩에 있어서, 프로세서와 통신 인터페이스를 포함하고, 상기 통신 인터페이스와 상기 프로세서가 커플링되며, 상기 프로세서는 프로그램 또는 명령을 실행시켜, 제1항 내지 제5항의 어느 한 항의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제6항 내지 제15항의 어느 한 항의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현하는 칩.In the chip, it includes a processor and a communication interface, the communication interface and the processor are coupled, and the processor executes a program or instruction to perform the point cloud attribute coding method of any one of claims 1 to 5. A chip implementing the steps, or implementing the steps of the point cloud attribute decoding method of any one of claims 6 to 15. 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 프로그램 제품은 비휘발성의 판독 가능한 저장 매체에 저장되고, 상기 컴퓨터 프로그램 제품이 적어도 하나의 프로세서에 의해 실행되어 제1항 내지 제5항의 어느 한 항의 상기 포인트 클라우드 속성 코딩 방법의 단계를 구현하거나, 또는 제6항 내지 제15항의 어느 한 항의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 구현하는 컴퓨터 프로그램 제품.A computer program product, wherein the computer program product is stored in a non-volatile, readable storage medium, and the computer program product is executed by at least one processor to perform the point cloud attribute coding of any one of claims 1 to 5. A computer program product implementing the steps of the method, or implementing the steps of the point cloud attribute decoding method of any one of claims 6 to 15. 통신 장치에 있어서, 제1항 내지 제5항의 어느 한 항의 상기 포인트 클라우드 속성 코딩 방법의 단계를 수행하도록 구성되거나, 또는 제6항 내지 제15항의 어느 한 항의 상기 포인트 클라우드 속성 디코딩 방법의 단계를 수행하도록 구성된 통신 장치.16. A communication device, configured to perform the steps of the point cloud attribute coding method of any one of claims 1 to 5, or to perform the steps of the point cloud attribute decoding method of any of claims 6 to 15. A communication device configured to
KR1020247003153A 2021-08-23 2022-08-18 Point cloud attribute coding method, point cloud attribute decoding method, and terminal KR20240027756A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202110970524.3A CN115714859A (en) 2021-08-23 2021-08-23 Point cloud attribute coding method, point cloud attribute decoding method and terminal
CN202110970524.3 2021-08-23
PCT/CN2022/113267 WO2023025024A1 (en) 2021-08-23 2022-08-18 Point cloud attribute coding method, point cloud attribute decoding method and terminal

Publications (1)

Publication Number Publication Date
KR20240027756A true KR20240027756A (en) 2024-03-04

Family

ID=85230352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247003153A KR20240027756A (en) 2021-08-23 2022-08-18 Point cloud attribute coding method, point cloud attribute decoding method, and terminal

Country Status (3)

Country Link
KR (1) KR20240027756A (en)
CN (1) CN115714859A (en)
WO (1) WO2023025024A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170214943A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
CN108632621B (en) * 2018-05-09 2019-07-02 北京大学深圳研究生院 A kind of point cloud genera compression method based on distinguishing hierarchy
WO2020189943A1 (en) * 2019-03-15 2020-09-24 엘지전자 주식회사 Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN111405281A (en) * 2020-03-30 2020-07-10 北京大学深圳研究生院 Point cloud attribute information encoding method, point cloud attribute information decoding method, storage medium and terminal equipment

Also Published As

Publication number Publication date
CN115714859A (en) 2023-02-24
WO2023025024A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
EP3560198B1 (en) Low-complexity sign prediction for video coding
AU2012332327B2 (en) Method and apparatus for image compression storing encoding parameters in 2D matrices
CN115474058A (en) Point cloud encoding processing method, point cloud decoding processing method and related equipment
KR20240027756A (en) Point cloud attribute coding method, point cloud attribute decoding method, and terminal
WO2023098802A1 (en) Point cloud attribute encoding method, point cloud attribute decoding method, and terminal
US20240121439A1 (en) Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device
WO2023098807A1 (en) Point cloud encoding processing method and apparatus, point cloud decoding processing method and apparatus, and encoding device and decoding device
CN116233389A (en) Point cloud coding processing method, point cloud decoding processing method and related equipment
WO2023098820A1 (en) Point cloud coding method and apparatus, point cloud decoding method and apparatus, and communication device
KR20230159597A (en) Point cloud processing method, decoding processing method and related devices
CN115471627A (en) Point cloud geometric information encoding processing method, point cloud geometric information decoding processing method and related equipment
KR20230173695A (en) Entropy encoding, decoding method and device
KR20240018623A (en) Encoding, decoding control method and device
KR101619306B1 (en) Device for encoding/decoding motion image, method therefor and recording medium storing a program to implement thereof
CN115474051A (en) Point cloud encoding method, point cloud decoding method and terminal
CN116614623A (en) Predictive encoding method, predictive decoding method and terminal
CN116233385A (en) Point cloud attribute coding method, point cloud decoding method and terminal

Legal Events

Date Code Title Description
A201 Request for examination