KR20220027882A - 변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체 - Google Patents

변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체 Download PDF

Info

Publication number
KR20220027882A
KR20220027882A KR1020217043222A KR20217043222A KR20220027882A KR 20220027882 A KR20220027882 A KR 20220027882A KR 1020217043222 A KR1020217043222 A KR 1020217043222A KR 20217043222 A KR20217043222 A KR 20217043222A KR 20220027882 A KR20220027882 A KR 20220027882A
Authority
KR
South Korea
Prior art keywords
point
encoded
normal vector
order
transformation
Prior art date
Application number
KR1020217043222A
Other languages
English (en)
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 KR20220027882A publication Critical patent/KR20220027882A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

본 출원의 실시예가 변환 방법, 인코더, 디코더 및 저장 판독가능 저장 매체를 제공하는 바, 인코딩하고자 하는 포인크 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하며; 상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계하며; 상기 법선 벡터의 각 좌표 컴포넌트의 합 크기를 기반으로 변환 순서를 결정하는 것이 포함된다.

Description

변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체
본 출원의 실시예는 비디오 인코딩/디코딩의 기술 분야에 관한 것으로, 특히 변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체에 관한 것이다.
기하학을 기반으로 한 포인트 클라우드 압축(G-PCC,Geometry-based Point Cloud Compression) 인코더 프레임에서, 포인트 클라우드의 기하학적 정보와 각 포인트 클라우드에 대응되는 속성 정보는 별도 인코딩을 수행한 것이다. 기하학적 인코딩은 완성된 후, 기하학적 정보에 대하여 재구성을 수행하며, 속성 정보의 인코딩은 재구성의 기하학적 정보에 의존한다.
현재, 속성 정보 인코딩은 주요 컬러 정보에 대한 인코딩이다. 먼저, 컬러 정보를 RGB 컬러 공간으로부터 YUV 컬러 공간으로 전환한다. 그 다음에 재구성된 기하학적 정보를 이용하여 포인트 클라우드에 대하여 재차 착색하고, 인코딩되지 않는 속성 정보와 재구성된 기하학적 정보를 대응하게 한다. 컬러 정보 인코딩에서, 주요 두 가지 변환 방법이 있는 바, 즉 하나는 세부 수준(LOD,Level of Detail)에 의존하여 구분된 거리를 기반으로 한 향상된 변환이고, 다른 하나는 직접적으로 수행하는 구역 적응형 계층 변환(RAHT,Region Adaptive Hierarchal Transform)이며, 이 두 가지 방법은 모두 컬러 정보를 공간 도메인으로부터 주파수 도메인으로 전환하고, 변환을 통하여 높은 주파수 계수와 낮은 주파수 계수를 취득하며, 마지막으로 계수에 대하여 양자화를 수행하고 인코딩하고, 2 진수 비트 스트림를 생성한다. 여기에서, RAHT 변환은 포인트 클라우드 데이터에 대하여 팔진 트리 구분을를 수행하여 취득한 레벨 수 구조 기초 상에서 수행한 것이며, 팔진 트리의 최하 계층으로부터 계속하게 최고 계층으로 변환하고, 각 계층 중의 각 노드를 반복하여 순회한다. 각 노드의 RAHT 변환은 모두 변환 순서로 3차원 좌표의 x、y와 z 방향에서 순차적으로 수행한다.
하지만 다른 포인트 클라우드는 다른 공간 분포를 가지기 때문에 RAHT 변환을 수행할 때, 공정적인 변환 순서를 계속 사용하여 취득한 변환 계수는 여전히 비교적 큰 정보 중복이 존재하므로 인코딩 효율이 비교적 열악하게 된다.
본 출원의 실시예는 변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체를 제공하는 바, 변환이 취득한 변환 계수의 중복성을 감소시키하고 인코딩의 효율을 향상시킬 수 있다.
본 출원의 실시예의 기술 방안은 다음과 같이 구현될 수 있다.
제1 방면으로, 본 출원의 실시예가 변환 방법을 제공하는 바, 인코더에 적용되며,
인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하며;
상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터의 각 좌표 컴포넌트의 합 크기를 통계하며;
상기 법선 벡터 각 좌표 컴포넌트의 합 크기를 기반으로 변환 순서를 결정하는 것이 포함된다.
제2 방면으로, 본 출원의 실시예가 또한 변환 방법을 제공하는 바, 인코더에 적용되며,
인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2차원 투영면을 결정하며;
상기 세 개의 2 차원 투영면을 기반으로 각 좌표면의 투영 면적을 통계하며;
상기 투명 면적을 기반으로 변환 순서를 결정하는 것이 포함된다.
제3 방면으로, 본 출원의 실시예가 또한 역변환 방법을 제공하는 바,
속성 비트 스트림으로부터 변환 순서를 해석하며;
디코딩할 때, 상기 변환 순서를 기반으로 구역 적응형 계층 변환(RAHT) 역변환을 수행하는 것이 포함된다.
제4 방면으로, 본 출원의 실시예가 인코더를 제공하는 바,
인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하도록 구성되는 결정 부분;
상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터의 각 좌표 컴포넌트의 합 크기를 통계하도록 구성되는 취득 부분이 포함되며;
상기 결정 부분은, 또한 상기 법선 벡터 각 좌표 컴포넌트의 합 크기를 기반으로 변환 순서를 결정도록 구성된다.
제5 방면으로, 본 출원의 실시예가 또한 인코더를 제공하는 바,
인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2차원 투영면을 결정하도록 구성되는 결정 부분;
상기 세 개의 2 차원 투영면을 기반으로 각 좌표면의 투영 면적을 통계하도록 구성되는 취득 부분이 포함되며;
상기 결정 부분은, 또한 상기 투명 면적을 기반으로 변환 순서를 결정하도록 구성된다.
제6 방면으로, 본 출원의 실시예가 디코더를 제공하는 바,
속성 비트 스트림으로부터 변환 순서를 해석하도록 구성되는 해석 부분;
디코딩할 때, 상기 변환 순서를 기반으로 구역 적응형 계층 변환(RAHT) 역변환을 수행하도록 구성되는 디코딩 부분이 포함된다.
제7 방면으로, 본 출원의 실시예가 또한 인코더를 제공하는 바,
실행가능한 명령을 저장하는 제1 기억장치;
상기 제1 기억장치에 저장된 실행가능한 명령을 실행할 때, 제1 방면의 상기 방법, 또는 제2 방면의 상기 방법을 구현하는 제1 프로세서가 포함된다.
제8 방면으로, 본 출원의 실시예가 또한 디코더를 제공하는 바,
실행가능한 명령을 저장하는 제2 기억장치;
상기 제2 기억장치에 저장된 실행가능한 명령을 실행할 때, 제3 방면의 상기 방법을 구현하는 제2 프로세서가 포함된다.
제9 방면으로, 본 출원의 실시예가 컴퓨터 판독 가능 저장 매체를 제공하는 바, 인코딩에 적용되며, 실행가능한 명령을 저장하고, 제1 프로세서에 의하여 실행될 때, 제1 방면의 상기 방법, 또는 제2 방면의 상기 방법을 구현하는 것이 포함된다.
제10 방면으로, 본 출원의 실시예가 컴퓨터 판독 가능 저장 매체를 제공하는 바, 디코더에 적용되며, 실행가능한 명령을 저장하고, 제2 프로세서에 의하여 실행될 때, 제3 방면의 상기 방법을 구현하는 것이 포함된다.
본 출원의 실시예가 제공하는 변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체를 제공하는 바, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하며, 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 합 크기를 통계하며; 법선 벡터의 각 좌표 컴포넌트의 합 크기를 기반으로 변환 순서를 결정하는 것이 포함된다. 상술한 기술 구현 방안을 이용하는 바, 인코더가 속성 인코딩을 수행하는 과정에서, RAHT 변환의 구현에 대하여 인코딩하고자 하는 포인트의 법선 벡터를 통하여 각 좌표 컴포넌트의 법선 벡터의 각 좌표 컴포넌트의 합 크기를 통계하며, 최종적으로 법선 벡터 각 좌표 컴포넌트의 합 크기를 기반으로 RAHT 변환을 수행하는 변환 순서를 결정하는 것이다. 이렇게 하면, 법선 벡터 누적을 고려하고, 우선적으로 특징이 현저한 방향 상의 변환을 수행하고, 변환이 취득한 변환 계수의 중복성을 감소시키고 인코딩/디코딩 효율을 향상시키는 목적을 이룬다.
도1은 본 출원의 실시예가 제공하는 예시적 인코딩 흐름 블럭도이다.
도2는 본 출원의 실시예가 제공하는 예시적 디코딩 흐름 블럭도이다.
도3a는 본 출원의 실시예가 제공하는 예시적 2차원 모튼 인코딩 도면1이다.
도3b는 본 출원의 실시예가 제공하는 예시적 2차원 모튼 인코딩 도면2이다.
도4a는 본 출원의 실시예가 제공하는 예시적 3차원 모튼 인코딩 도면1이다.
도4b는 본 출원의 실시예가 제공하는 예시적 3차원 모튼 인코딩 도면2이다.
도5는 본 출원의 실시예가 제공하는 예시적 레이어 RAHT 변환 도면이다.
도6은 본 출원의 실시예가 제공하는 예시적 레이어 RAHT 변환의 변환 계수 저장 도면이다.
도7은 본 출원의 실시예가 제공하는 예시적 레이어 RAHT 역변환의 변환 계수 저장 도면이다.
도8a는 본 출원의 실시예가 제공하는 변환 방법의 흐름도1이다.
도8b는 본 출원의 실시예가 제공하는 변환 방법의 흐름도2이다.
도9는 본 출원의 실시예가 제공하는 변환 방법의 흐름도3이다.
도10은 본 출원의 실시예가 제공하는 예시적 변환 순서의 흐름도이다.
도11은 본 출원의 실시예가 제공하는 변환 방법의 흐름도4이다.
도12는 본 출원의 실시예가 제공하는 변환 방법의 흐름도5이다.
도13은 본 출원의 실시예가 제공하는 변환 방법의 흐름도6이다.
도14는 본 출원의 실시예가 제공하는 변환 방법의 흐름도7이다.
도15는 본 출원의 실시예가 제공하는 변환 방법의 흐름도8이다.
도16a는 본 출원의 실시예가 제공하는 변환 방법의 흐름도9이다.
도16b는 본 출원의 실시예가 제공하는 변환 방법의 흐름도10이다.
도17은 본 출원의 실시예가 제공하는 변환 방법의 흐름도11이다.
도18은 본 출원의 실시예가 제공하는 예시적 공간 구분 도면이다.
도19는 본 출원의 실시예가 제공하는 변환 방법의 흐름도12이다.
도20은 본 출원의 실시예가 제공하는 변환 방법의 흐름도13이다.
도21은 본 출원의 실시예가 제공하는 변환 방법의 흐름도14이다.
도22는 본 출원의 실시예가 또한 제공하는 역변환 방법의 흐름도이다.
도23은 본 출원의 실시예가 제공하는 인코더의 구조 도면1이다.
도24는 본 출원의 실시예가 제공하는 인코더의 구조 도면2이다.
도25는 본 출원의 실시예가 제공하는 디코더의 구조 도면1이다.
도26은 본 출원의 실시예가 제공하는 디코더의 구조 도면2이다.
본 출원의 실시예의 특정과 기술 내용을 더 자세히 알아보기 위하여 아래에서는 도면을 참조하여 본 출원의 실시예의 구현에 대하여 상세하게 설명하도록 하여, 상기 첨부된 도명은 단지 참조 설명을 위한 것일 뿐, 본 출원의 실시예에 대하여 제한하는 것이 아니다.
본 출원의 실시예에서, 포인트 클라우드 G-PCC 인코더 프레임에서, 3 차원 픽처 모델을 입력하는 포인트 클라우드에 대하여 slice 구분을 수행한 후, 각 하나의 slice에 대하여 독립적인 인코딩을 수행한다.
도1에 도시된 G-PCC 인코딩의 흐름 블럭도에서, 포인트 클라우드 인코더에 적용되며, 인코딩하고자 하는 포인트 클라우드 데이터에 대하여, 먼저 slice 구분을 통하여 포인트 클라우드 데이터를 다수 개의 slice로 구분한다. 각 slice에서, 포인트 클라우드의 기하학적 정보와 각 포인트 클라우드에 대응되는 속성 정보는 별도로 인코딩을 수행하는 것이다. 기하학적 인코딩 과정에서, 기하학적 정보에 대하여 좌표 전환을 수행하고, 포인트 클라우드를 전부 하나의 bounding box(바운딩 박스)에 포함하게 하고, 그 후 양자화를 수행하고, 이 단계의 양자화가 주요 줌의 역할을 하며, 양자화의 반올림으로 인해 일부 포인트 클라우드의 기하학적 정보를 같게 하기 때문에 파라미터를 기반으로 반복 포인트를 제거할지 여부를 결정하며, 양자화와 반복 포인트를 제거하는 과정은 또한 복셀화 과정이라고 칭한다. 이어서 bounding box에 대하여 팔진 트리 구분을 수행한다. 팔진 트리를 기반으로 하는 기하학적 정보 인코딩 흐름에서, 바운딩 박스 8을 8 개의 서브 입방체로 나누고, 구분에 의해 취득된 잎 노드가 1x1x1의 단위 입방체가 될 때까지 비어 있지 않은(포인트 클라우드의 포인트가 포함) 서브 입방체에 대하여 8개의 동일한 부분으로 계속하게 나누며, 잎 노드 중의 포인트에 대하여 산술 인코딩을 수행하고, 2 진수의 기하학적 비트 스트림, 즉 기하학적 코드 스트림을 생성한다. trisoup(triangle soup, 삼각형 면 집합) 를 기반으로 하는 기하학적 정보 인코딩 과정에서, 마찬가지로 팔진 트리 구분을 먼저 수행해야 하지만 팔진 트리를 기반으로 하는 기하학적 정보 인코딩과 다르며, 해당 trisoup는 포인트 클라우드를 단계별로 길이가 1x1x1인 단위 입방체로 나누어질 필요가 없고, block(서브 블록) 길이가 W인 것으로 구분할 때 구분을 중지하며, 각 block 중 포인트 클라우드의 분포에 의해 형성된 표면을 기반으로 해당 표면과 block의 12개 길이가 생성하는 최대 12개의 vertex(교차점)를 취득하고, vertex에 대하여 산술 인코딩(교차점을 기반으로 표면 피팅을 수행)을 수행하고, 이진수의 기하학적 비트 스트림, 즉 기하학적 코드 스트림을 생성한다. Vertex는 또한 기하학적 재구성의 과정의 구현에 이용되고, 재구성된 세트 정보는 포인트 클라우드의 속성에 대하여 인코딩할 때 사용된다.
속성 인코딩 과정에서, 기하학적 인코딩이 완성되고, 기하학적 정보에 대하여 재구성을 수행한 후, 컬러 전환을 수행하고, 컬러 정보(즉 속성 정보)를 RGB 컬러 공간으로부터 YUV 컬러 공간으로 전환한다. 그 다음에 재구성한 기하학적 정보를 이용하여 포인트 클라우드에 대하여 재차 착색하고, 인코딩되지 않는 속성 정보와 재구성된 기하학적 정보를 대응하게 한다. 컬러 정보 인코딩 과정에서, 주요 두 가지 변환 방법이 있는 바, 즉 하나는 세부 수준(Level of Detail,LOD)구분에 의존하는 거리를 기반으로 한 향상된 변환이고, 하나는 구역 적응형 계층 변환(Region Adaptive Hierarchal Transform,RAHT)을 직접적으로 수행하는 변환이며, 이 두 가지 방법은 모두 컬러 정보를 공간 도메인으로부터 주파수 도메인으로 전환하고, 변환을 통하여 높은 주파수 계수와 낮은 주파수 계수를 취득하고, 마지막으로 계수에 대하여 양자화(즉 양자화 계수)를 수행하며, 마지막으로 팔진 트리 구분과 표면 피팅을 거친 기하학적 인코딩 데이터와 양자화 계수 처리 속성 인코딩 데이터에 대하여 slice 합성을 수행한 후 각 block의 vertex 좌표(즉 산술 인코딩)를 순차적으로 인코딩하고, 인진수의 속성 비트 스트림, 즉 속성 코드 스트림을 생성한다.
도2에 도시된 G-PCC디코딩의 흐름 블럭도에서, 포인트 클라우드 디코더에 적용된다. 디코더가 2진수 비트 스트림을 취득하는 바, 2진수 비트 스트림 중의 기하학적 비트 스트림과 속성 비트 스트림에 대하여 각각 독림된 디코딩을 수행한다. 기하학적 비트 스트림에 대한 디코딩을 수행할 때, 산술 디코딩- 팔진 트리 합성-표면 피팅 -재구성 기하학-역좌표 변환을 통하여 포인트 클라우드의 기하학적 정보를 취득하며; 속성 비트 스트림에 대한 디코딩을 수행할 때, 산술 디코딩-역양자화-LOD를 기반으로 하는 역향상 또는 RAHT를 기반으로 하는 역변환-역컬러 전환을 통하여 포인트 클라우드의 속성 정보를 취득하며, 기하학적 정보와 속성 정보를 기반으로 인코딩하고자 하는 포인트 클라우드 데이터의 3 차원 픽처 모델을 복원한다.
속성 인코딩하는 과정에서, RAHT 변환은 포인트 클라우드가 재차 착색한 후, 이 때 포인트 클라우드의 기하학적 좌표 정보를 취득할 수 있다. 포인트의 좌표 정보를 이용하여 포인트 클라우드 중 각 포인트에 대응되는 모튼 코드를 취득할 수 있다. 모튼 인코딩는 또한 z-order code라고 칭하기 때무네 이의 인코딩 순서는 공간 z 순서에 따른다. 구체적인 산술 모튼 코드의 구체적인 방법 설명은 다음에 되시된 바와 같이, 각 컴포넌트가 d 비트 2진수로 표시한 3 차원 좌표에 대하여 이의 세 개의 컴포넌트의 표시는 다음과 같은 방식으로 구현된다.
Figure pct00001
여기에서,
Figure pct00002
는 각각
Figure pct00003
,
Figure pct00004
,
Figure pct00005
의 최고 비트(
Figure pct00006
)로부터 최하 비트로(
Figure pct00007
)에 대응되는 2진수 수치이다. 모튼 코드 M
Figure pct00008
,
Figure pct00009
,
Figure pct00010
에 대하여 최고 비트로부터 시작하고, 순차적으로
Figure pct00011
를 최하 비트로 교차 배열하며, M의 계산 공식은 다음과 도시된 바와 같다.
Figure pct00012
(1)
여기에서,
Figure pct00013
는 각각 M의 최고 비트(
Figure pct00014
)로부터 최하 비트(
Figure pct00015
)로의 값이다. 포인트 클라우드 중 각 포인트의 모튼 코드 M를 취득한 후, 포인트 클라우드 중의 포인트를 모튼 코드의 작은 것으로부터 큰 것으로의 순서로 배열을 수행하고 또한 각 포인트의 가중 값을 1로 설정한다. 컴퓨터 언어를 표시하고, z | (y << 1) | (x<< 2)의 조합과 유사한다.
도3A와 도3B를 결합시켜 설명을 수행하고, 상위 높은 순서와 낮은 순서로 여기에는 z、y、x(x | (y << 1) | (z << 2))를 예로 들어 설명을 수행한다.
도3A에 8*8의 픽처의 각 픽셀의 공간 인코딩을 도시하는바, 000000로부터 111111로까지, 1차원 2진수를 이용하여 x,y 값의 0 내지 7에서의 위치 좌표를 인코딩한다. 2진수 좌표값을 비틀거리고 2진수 z 값의 도면을 취득한다. 수치 방향에 따라 z 모양을 연결하고, 순환한 Z 모양 곡선을 생성한다. 도면 중 각 위치에서 연결 순서로 z 값을 넣는다. 실제로 위의 도면은 z 방향에 따라 반복하게 생성한 것이며, 00 내지 11(전부 도면에서 한 z)로부터, 재차 0000 내지 1111(전의 z의 각 포인트에 한 z를 넣음)로부터, 재차 000000 내지 111111(전의 z의 각 포인트에 한 z를 넣음)로부터, 한번씩 두 비트를 증가하고, 순환적으로 높아진다.
예시적으로, 도 3B에 2x2, 4x4, 8x8와 16x16 공간 인코딩 순서를 되시하는 바, 도면으로부터 알 수 있는 바와 같이, 모튼 코드의 인코딩 순서는 공간 z 순서로 구현된 것이다.
3 차원으로 올라가는 상황에서, 이의 순환 과정은 도4A와 도4B에 되시된 바와 같이, 이가 좌표 교차를 구현하였고, 전체적으로 하는 것은 끊임없이 좌표 값을 분산한 것이다. x | (y << 1) | (z << 2); 즉 각 좌표 값이 분산하고, 각각 순차적으로 교차하고, 먼저 z 그 다음에 y 마지막으로 x이다. 디코딩 과정은 집합 과정이다.
RAHT 변환은 포인트 클라우드 데이터에 대하여 팔진 트리를 수행하고 취득한 레벨 수 구조 기초 상에서 수행한 것이며, 팔진 트리의 최하 계층으로부터 시작하고 층별로 변환을 수행한다. 도5에 도시된 바와 같이, 팔진 트리 구분이 종료한 후 복셀 블록(1)(즉 도5 중 세 가지 컬러 깊이가 유사한 기하체, 각 블록이 모두 포인트 클라우드 중의 포인트를 대표)을 취득한다. 최하 계층으로부터 RAHT 변환을 수행하고, 변환 순서 xyz를 예로 들어, 다음 도5에 도시된 바와 같이 먼저 x 방향에 따라 RAHT 변환을 수행한다. 만일 x 방향에서 인접된 복셀 블록이 존재하면, 양자가 RAHT를 수행하고, 인접된 두 포인트 속성 값의 평균(DC 계수)과 세부(AC 계수)를 취득한다. 여기에는, 취득된 DC 계수는 부모 노드의 복셀 블록(2)의 속성 정보로 존재하고, 또한 다음 계층의 RAHT 변환을 수행하며; AC 계수는 보류되고, 마지막의 인코딩에 이용된다. 만일 인접된 포인트가 존재하지 않으면, 해당 복셀 블록의 속성 값을 직접적으로 제2 계층 부모 노드로 전달한다. 제2 계층 RAHT가 변환할 때, y 방향에 따라 수행하는 바, 만일 y 방향에서 인접된 복셀 블록이 존재하면, 양자가 RAHT를 수행하고, 또한 인접된 두 포인트 속성 값의 평균(DC 계수)과 세부(AC 계수)를 취득한다. 그 다음에 ,제3 계층 RAHT 변환이 z 방향에 따라 수행하고, 또한 세 가지 컬러 깊이가 유사한 부모 노드 복셀 블록(3)을 취득하고 8진 트리 중 다음 계층의 자식 노드로 하고, 그 후 전체적인 포인트 클라우드에 단지 하나의 부모 노드가 존재할 때까지 x, y, z 방향에 따라 순환적으로 RAHT 전환을 수행한다.
실제에서 포인트 클라우드 중의 포인트의 순회을 수행할 때, 순서 배열을 거친 포인트 클라우드의 모튼 크드를 이용하여 수행하고, 이렇게 하면 도면에 도시된 팔진 트리 중 인접된 포인트의 결합을 수행하는 데 편한다.
인접된 두 포인트의 속성 값
Figure pct00016
의 구체적인 RAHT 변환 과정에 대하여 다음과 되시된 바와 같다.
Figure pct00017
(2)
여기에서,
Figure pct00018
,
Figure pct00019
,
Figure pct00020
,
Figure pct00021
는 수신된 양자화 파라미터가 구성하여 취득한 것이고, w는 DC 계수에 대응되는 가중이고, 계산하고 취득한 것이다. DC 계수는 속성의 가중 평균 값이고, AC 계수는 인접된 두 포인트의 속성 잔여이다.
Figure pct00022
는 제1 계층에서 속성 값에 대응되는
Figure pct00023
이고, 기타 계층에서 계산하고 취득한 DC 계수 값이다.
본 출원의 실시예에서, RAHT 변환의 구체적인 단계는 다음과 같다.
(1) 포인트 클라우드의 포인트의 속성 값을 제1 계층 DC 계수로 하고 또한 이들의 가중을 전부 1로 설정하고, RAHT 변환을 수행하기 시작한다.
(2) 이 계층의 DC 계수와 AC 계수는 대응되는 인덱스에 따라 다음 계층 부모 계층, 부모 노드에 기록한다. 사용하고, 만일 AC 계수가 없으면 기록하지 않는다.
(3) 모튼 코드가 순서 배열한 후의 인덱스에 따라 인덱스에 대응되는 DC 계수를 순회한다.
(4) 모든 DC 계수에 대응되는 모튼 코드를? 오른쪽으로 1비트를 이동하며, 이때 각 DC 계수의 모튼 코드는 이의 부모 노드의 모튼 코드를 표시한다.
(5) 도6에 도시된 바와 같이, 두 개의 DC 계수의 모튼 코드가 같은지 여부를 판단하며, 만일 같으면, 같은 부모 노드 하에서, 양자가 RAHT를 수행하고, 취득된 DC 계수를 다음 계층 부모 노드의 DC 계수처에 기록하고, AC 계수를 다음 계층 마지막의 DC 계수 처에 기록하고 또한 두 개의 DC 계수를 더한 가중을 부모 노드의 DC 계수로 부여하는 것을 표시하며; 만일 다르면, 이 DC 계수와 이의 가중을 직접적으로 다음 계층으로 기록한다.
(6) 어느 계층에 단지 하나의 DC 계수가 존재할 때까지 2)-5)를 반복한다.
(7) 마지막으로 DC 계수에 대하여 양자화를 수행하고 또한 이 계층의 DC 계수와 AC 계수 속성 값에 대하여 인코딩을 수행한다.
상응하게, 인코더 블럭도에서, RAHT의 변환 순서도 RAHT 역변환에서 사용되어야 한다.
아래에서는 RAHT의 디코딩 과정을 설명한다.
RAHT 디코딩 과정은 RAHT 인코딩 과정의 역변환이고, 인코딩 과정과 같으며, 역변환하기 전, 먼저 포인트 클라우드 중 각 포인트 모튼 코드를 계산하고, 각 포인트의 모튼 코드(M)를 취득한 후, 포인트 클라우드 중의 포인트를 작은 것으로부터 큰 것으로의 순서로 배열하고, 또한 각 포인트의 가중 값을 1로 설정하고, RAHT 역과장은 모튼 코드가 순서 배열한 후의 순서로 포인트 클라우드 중 모든 포인트를 순회한다.
RAHT 변환이 층별로 수행한 것이기 때문에 최하 계층으로부터 시작하고, 한 계층씩 포인트 클라우드 중 인접된 포인트의 판단을 수행하고, 가중에 의하여 속성 값에 대하여 RAHT 변환을 수행한다. RAHT 역 변환의 과정은 최고 계층으로부터 시작하고, 상위로부터 하위로 RAHT의 역변환을 수행하기 때문에 RAHT가 역변환하기 전 각 계층의 가중 정보를 취득해야 한다.
역 RAHT 변환을 수행하기 번, 취득된 모튼 코드 정보를 이용하고, 최하 계층으로부터 시작하고 한 번의 인코딩단 중 각 계층 RAHT 인접된 노드의 판단을 수행하면, 각 계층의 가중 정보와 AC 계수의 상응된 위치를 취득할 수 있어, 각 계층 RAHT를 할때 사응된 모튼 코드를 왼쪽으로 한 비트를 이동한다. 가중 정보와 각 계층 중 노드에 대응되는 모튼 정보를 buffer에 기록하고, 나중에 사용하기 편하다.
RAHT가 역변환할 때, 최고 계층으로부터 시작하고, 각 계층의 모튼 코드 정보에 의하여 인접된 노드의 판단을 수행하고, 취득된 가중 정보와 디코딩하여 취득된 속성 정보를 이용하여 RAHT의 역변환을 수행한다. 도7에 도시된 바와 같이, RAHT 역변환은 제k+1 계층으로부터 제k 계층으로의 과정에 상당한다. 인접된 노드를 판단하였을 때, 순회된 DC 계수와 상응된 AC 계수를 취하고 RAHT의 역변환을 수행한다.
더 자세히 말하면, 인접된 두 포인트의 속성 값
Figure pct00024
의 구체적인 RAHT 역변환 과정에 대하여 다음에 도시된 바와 같다.
Figure pct00025
(3)
상술한 소개를 기반으로 하는 배경 하에서, 아래에서는 본 출원의 실시예가 제공하는 변환 컷 방법을 소개하는 바, 주요 인코더 프레임에서, RAHT가 변환할 때의 변환 순서에 대하여 결정을 수행하는 방식이 다르고 인코더(포인트 클라우드 인코더)에 적용된다.
도8A에 도시된 바와 같이, 본 출원의 실시예가 변환 방법을 제공하는 바, 상기 방법에는 다음과 같은 단계가 포함될 수 있다.
S101, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정한다.
S102, 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터의 각 좌표 컴포넌트의 합 크기를 통계한다.
S103, 법선 벡터 각 좌표 컴포넌트의 합 크기를 기반으로 변환 순서를 결정한다.
본 출원의 일부 실시예에서, 도8B에 도시된 바와 같이, S103 뒤에 또한 S104 내지 S105가 포함된다.
S104, 변환 순서를 기반으로 RAHT 변환을 수행한다.
S105, 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
본 출원의 실시예가 제공하는 변환 방법은 포인트 클라우드 공간의 분포와 표면 방향의 RAHT 변환 방법을 고려하고, 더 이상 고정된 변환 순서를 사용하지 않고, RAHT 변환을 수행하기 전 변환하고자 하는 블록 및 미리 설정된 네이버후드 범위 내에 포함된 포인트 클라우드의 공간 분포 상황을 해석하며, 해당 해석의 취득된 결과에 의하여 RAHT 변환 순서를 결정하여 비교적 좋은 인코딩 성능을 취득하게 한다.
본 출원의 실시예에서, 인코딩하고자 하는 포인트 클라우드는 본 출원 중의 인코딩하고자 하는 포인트 클라우드가 인코딩하고자 하는 대상에 대한 포인트 클라우드 데이터이고, 하나의 인코딩하고자 하는 포인트 클라우드에 대하여, 이에 N 개의 포인트, 즉 N 개의 인코딩하고자 하는 인코딩 포인트가 포함될 수 있다. 여기에는, N는 1보다 크거나 같다. 인코더가 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것을 통하여, 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 3 차원 공간 중의 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계할 수 있어, 여기의 법선 벡터의 각 좌표 컴포넌트의 합의 크기는 인코딩하고자 하는 포인트 클라우드의 3 차원 공간에서의 주요 분포 집중의 특징을 표시한다. 다른 포인트 클라우드가 다른 공간 분포를 가지기 때문에 RAHT 변환을 수행하기 전, 인코더가 각 인코딩하고자 하는 포인트 클라우드 자신의 공간 분포 특징에 대하여 자신의 분포 특징에 적합되는 변환 순서를 결정할 수 있어, 이렇게 하면 인코더가 변환 순서를 기반으로 수행하는 RAHT 변환은 취득한 변환 계수의 중복이 작고, 나아다 인코딩의 효율을 향상시킬 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 각 인코딩하고자 하는 포인트 클라우드의 변환 순서의 결정은 다를 수 있기 때문에 변환 순서를 결정하였을 때 인코더가 인코딩하는 과정에서 변환 순서를 속성 코드 스트림, 속성 비트 스트림에 기록한다. 예를 들면, 이 순서를 3 비트 비트 스트림으로 디코더에 전달하고, 디코더가 디코딩할 때 직접적으로 RAHT의 변환 순서를 해석할 수 있게 한다.
본 출원의 실시에에서, 인코딩하고자 하는 포인트는 인코딩하고자 하는 포인트 클라우드 중의 다수 개의 대상이고, 인코더가 각 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 다수 개의 인코딩하고자 하는 포인트가 x 좌표 컴포넌트 상에서의 x 축 법선 벡터 각 좌표 컴포넌트의 합 크기, 다수 개의 인코딩하고자 하는 포인트가 y 좌표 컴포넌트 상에서의 y 축 법선 벡터 각 좌표 컴포넌트의 합 크기, 및 다수 개의 인코딩하고자 하는 포인트가 z 좌표 컴포넌트 상에서의 z 축 법선 벡터 각 좌표 컴포넌트의 합 크기를 통계할 수 있으며; 그 후, x 축 법선 벡터 각 좌표 컴포넌트의 합의 크기, y 축 법선 벡터 각 좌표 컴포넌트의 합의 크기 및 z 축 법선 벡터 각 좌표 컴포넌트의 합의 크기의 분포 밀집 또는 분포 크기에 의하여 밀접성 또는 법선 벡터 누적의 비교적 많은 순서를 결정하고, 변환 순서를 취득하며, 여기에는, 변환 순서는 많은 것으로부터 적은 것으로의 법선 벡터 분포 순서와 대응된다.
본 출원의 실시예에서, 변환 순서를 결정하는 방식은, 인코더가 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 절대값의 합을 통계하며; 절대값의 합은 법선 벡터 각 좌포 컴포넌트의 합의 크기를 표시하며; 또한 절대값의 합을 큰 것으로부터 작을 것으로의 순서로 배열을 수행하고, 변환 순서를 결정한다.
설명해야 할 바로는, 본 출원의 실시에에서, 인코더가 법선 벡터 각 좌표 컴포넌트의 절대값의 합을 통계하는 구현은, 먼저 각 좌표 컴포넌트의 모든 법선 벡터를 통계하는 다음에 정규화된 후에야 수행하는 절대값의 합을 수행하는 것이며, 본 출원의 실시예 중의 법선 벡터는 모드 정규화된 후의 법선 벡터를 이용하여 이용을 진행한 것이다.
예시적으로, 인코더는 N 개의 각 인코딩하고자 하는 포인트의 각자의 법선 벡터에 대하여, x 축, y 축 및 z 축의 법선 벡터의 투영의 절대값의 합을 통계하며, 만일 x 축의 절대값의 합이
Figure pct00026
이고, y 축 절대값의 합이
Figure pct00027
이고, z 축 절대값의 합이
Figure pct00028
이면,
Figure pct00029
일때, 변환 순서가 xyz이며;
Figure pct00030
일때, 변환 순서가 xzy이며;
Figure pct00031
일때, 변환 순서가 yzx이며;
Figure pct00032
일때, 변환 순서가 yxz이며;
Figure pct00033
일때, 변환 순서가 zyx이며;
Figure pct00034
일때, 변환 순서가 zxy이다.
이해해야 할 바로는, 인코더가 법선 벡터 추산의 방법을 사용하여 각 포인트의 법선 벡터 정보를 취득한다. 취득된 다른 방향의 법선 벡터 합의 크기에 의하여, RAHT 변환 방향 순서에 대하여 판단을 수행하며, 즉 인코딩하고자 하는 포인트 클라우드의 공간 분포 상황을 해석하는 것을 통하여 인코딩하고자 하는 포인트 클라우드에 대하여 법선 벡터 미리 추산을 수행하고, 각 방향에 따라 합을 계산하고 RAHT 변환 순서를 취득하며, G-PCC 속성 인코딩 부분의 인코딩 효율과 인코딩 성능을 개선한다.
본 출원의 일부 실시예에서, 도8B를 기반으로, 도9에 도시된 바와 같이, S101의 구체적인 구현에는 S1011 내지 S1014가 포함된다. 다음과 같다.
S1011, 인코딩하고자 하는 포인트 클라우드의 속성 정보를 취득한다.
S1012, 인코딩하고자 하는 포인트 클라우드의 속성 정보 중에 인코딩하고자 하는 포인트의 법선 벡터가 존재하는지 여부를 판단한다.
S1013, 만일 존재하면, 인코딩하고자 하는 포인트의 법선 벡터를 직접적으로 취득한다.
S1014, 만일 존재하지 않다면, 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 기하학적 정보를 기반으로 인코딩하고자 하는 포인트의 법선 벡터를 결정한다.
본 출원의 실시예에서, 인코더가 속성 인코딩을 수행할 때, 인코딩하고자 하는 포인트 클라우드의 헤드 정보를 통하여 속성 정보를 취득하고, 또한 여기에서의 속성 정보에는 포인트의 컬러 정보와 부가된 법선 벡터 정보가 포함될 수 있는 것이다. 다시 말하면, 본 출원의 실시에에서, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 한느 포인트에 대하여 인코더가 해석한 속성 정보 중에 일부 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터가 포함될 수 있어, 전부 포함될 수 있고, 일부 포함될 수 있고, 또한 모두 포함되지 않을 수 있다. 이러한 상황에 대하여, 인코더는 취득된 인코딩하고자 하는 포인트 클라우드의 속성 정보에 대하여 탐지를 수행하고, 각 인코딩하고자 하는 포인트에 대하여 인코딩하고자 하는 포인트 클라우드의 속성 정보중에 인코딩하고자 하는 포인트의 법선 벡터 중 이 인코딩하고자 하는 포인트의 법선 벡터가 존재하는지 여부를 판단한다. 만일 존재하면, 직접적으로 속성 정보에서 인코딩하고자 하는 포인트의 법선 벡터를 취득하며; 아울러, 인코더는 또한 인코딩하고자 하는 포인트 클라우드 기하학적 정보를 취득할 수 있어, 즉 인코딩하고자 하는 포인트의 공간 좌표 정보를 취득한다. 만일 존재하지 않다면, 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 기하학적 정보를 기반으로 인코딩하고자 하는 포인트의 법선 벡터를 결정한다.
다시 말하면, 속성 정보에서 자신에 대응되는 법선 벡터의 인코딩하고자 하는 포인트를 찾지 않고, 법선 벡터 추산을 수행하고 취득해야 한 것이다.
예시적으로, 도10에 도시된 바와 같이, 인코딩하고자 하는 포인트 클라우드에 N 개의 포인트가 포함되고, 각 포인트에 대응되는 속성 정보가
Figure pct00035
이다. 인코더가 속성 정보에서 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터가 존재하는지 여부를 순회하는 것으로부터 포인트 클라우드에 각 포인트의 법선 벡터가 존재하는지 여부의 판단을 완성한다. 만일 존재하면, 직접적으로 법선 벡터를 취득하며, 법선 벡터가 존재하지 않는 것에 대하여, 법선 벡터 추산을 통하여 법선 벡터를 취득하며, 각 인코딩 포인트의 법선 벡터에 대하여 정규화를 수행한 후, 직접적으로 모든 법선 벡터에 대하여 x 축, y 축 및 z 축의 법선 벡터의 투영의 절대값의 합을 통계하며, 만일 x 축 절대값의 합이
Figure pct00036
이고, y 축 절대값의 합이
Figure pct00037
이고, z 축 절대값의 합이
Figure pct00038
이고, 절대값의 합이 큰 것으로부터 작은 것으로의 순서로 배열하면,
Figure pct00039
일 때. 변환 순서가 xyz이며;
Figure pct00040
일 때, 변환 순서가 xzy이며;
Figure pct00041
일 때, 변환 순서가 yzx이며;
Figure pct00042
일 때, 변환 순서가 yxz이며;
Figure pct00043
일 때, 변환 순서가 zyx이며;
Figure pct00044
일 때, 변환 순서가 zxy이다.
에시적으로, 본 출원의 실시예에 제시된 법선 벡터의 표시 방법은
Figure pct00045
일 수 있다. 만일 인코딩하고자 하는 포인트 클라우드에 각 포인트의 법선 벡터가 포함되면,
Figure pct00046
에 대하여 각각 정규화 조작, 즉 :
Figure pct00047
를 수행한다.
여기에는,
Figure pct00048
는 하나의 인코딩하고자 하는 포인트의 법선 벡터를 표시한다.
설명해야 할 바로는, 만일 인코딩하고자 하는 포인트 블라우드 자신에 각 포인트의 법선 벡터가 포함되지 않으면, 법선 벡터 추산의 방법을 사용하여 각 포인트의 법선 벡터 정보를 계산한다. 취득된 다른 방향의 법선 벡터 합의 크기에 의하여 RAHT 변환 순서에 대하여 판단을 수행한다.
본 출원의 실시예에서, 기하학적 정보에는 공간 좌표 정보가 포함되며; 자신에 각 포인트 법선 벡터가 포함되지 않는 포인트 클라우드에 대하여 인코더가 미리 설정된 네이버후드 범위 내, 인코딩하고자 하는 포인트와 제일 인접된 적어도 하나 네이버후드 포인트를 취득하며; 적어도 하나의 네이버후드 포인트의 기하학적 정보를 취득하며; 적어도 하나의 네이버후드 포인트의 기하학적 정보와 미리 설정된 피팅 곡면 방정식에 의하여 적어도 하나의 네이버후드 포인트의 피팅 평명으로의 적어도 하나의 거리를 결정하며; 적어도 하나의 거리의 제곱합의 최소화에 의하여, 미리 설정된 피팅 곡면 방정식에 대응되는 시스템 특징 벡터를 취득하며; 시스템 특징 벡터는 인코당하고자 하는 포인트의 법선 벡터로 한다.
본 출원의 일부 실시예에서, 인코더는 또한 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 속성 정보를 기반으로 인코딩하고자 하는 포인트의 법선 벡터를 결정한다. 예를 들면, 속성 정보에는 적어도 하나의 네이버후드 포인트의 법선 벡터가 포함될 때, 인코더가 속성 정보에서 적어도 하나의 네이버후드 포인트의 법선 벡터를 취득할 수 있으며; 또한 적어도 하나의 네이버후드 포인트의 법선 벡터를 기반으로 인코딩하고자 하는 포인트의 법선 벡터를 결정한다.
설명해야 할 바로는, 인코더가 속성 정보에서 단지 하나의 네이버후드 포인트의 법선 벡터를 찾을 때, 이 네이버후드 포인트의 법선 벡터가 인코딩하고자 하는 포인트의 법선 벡터로 결정되며; 인코더가 속성 정보에서 단지 다수 개의 네이버후드 포인트의 법선 벡터를 찾을 때, 이 다수 개의 네이버후드 포인트의 법선 벡터의 평균값을 인코딩하고자 하는 포인트의 법선 벡터로 한다.
인코더가 각 포인트 법선 방향을 이용하여 포인트 클라우드 공간 분포를 풀 수 있는 것은, 모두 RAHT가 X, Y, Z 세 개 방향의 최적화한 RAHT 변환 순서로 AC 변환 계수의 분포를 최적화하고, AC 계수의 중복을 제거하는 것을 결정하며, 인코딩의 효율을 향상시킨다.
도11에 도시된 바와 같이, 본 출원의 실시예가 변환 방법을 제공하는 바, 해당 방법에는 다음과 같은 단계가 포함될 수 있다.
S201, 인코딩하고자 하는 포인트 클라우드의 속성 정보를 취득한다.
S202, 인코딩하고자 하는 포인트 클라우드 중의 속성 정보중에 인코딩하고자 하는 포인트의 법선 벡터가 존재하는지 여부를 판단한다.
S203, 만일 존재하면, 직접적으로 인코딩하고자 하는 포인트의 법선 벡터를 취득한다.
설명해야 할 바로는, 여기의 S201 내지 S203의 구현은 상술한 실시예 중의 S1011 내지 S1013의 구현의 설명과 일치하며, 여기서 상세한 설명을 생략하도록 한다.
S204, 만일 존재하지 않으면, 모튼 코드의 순서에 따라 인코딩하고자 하는 포인트 클라우드를 순회하고, 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내에서 제일 인접된 적어도 하나의 네이버후드 포인트를 선택한다.
S205, 적어도 하나의 네이버후드 포인트의 기하학적 정보를 취득한다.
S206, 적어도 하나의 네이버후드 포인트의 기하학적 정보과 미리 설정된 피팅 곡면 방정식에 의하여, 적어도 하나의 네이버후드 포인트의 피팅 평면으로의 적어도 한 거리를 결정한다.
S207, 적어도 한 거리의 제곱합의 최소화에 의하여, 미리 설정된 피팅 곡면 방정식에 대응되는 시스템 특징 벡터를 취득하며; 시스템 특징 벡터는 인코딩하고자 하는 포인트의 법선 벡터로 한다.
본 출원의 실시예에서, 자신에 각 포인트 법선 벡터가 포함되지 않는 포인트 클라우드에 대하여, 사용할 수 있는 법선 벡터 추산 방법은 부분 평면 피팅의 PCA 주성분 해석법을 기반으로 법선 벡터를 취득하는 방법이고, 또한 SVD 법선 벡터 추산 방법을 사용할 수 있다.
여기에서, 미리 설정된 피팅 곡면 방정식에는, 원점을 통과하지 않는 평명 방정식과 원점을 통과하는 평면 방정식이 포함된다. 인코더가 사용하는 미리 설정된 피팅 곡면 방정식은 원점을 통과하지 않는 평면 방정식일 때, PCA 주성분 해석법을 통하여 법선 벡터에 대한 추산을 구현한다. 인코더가 사용하는 미리 설정된 피팅 곡면 방정식은 원점을 통과시키는 평면 방정식일 때, SVD를 통하여 법선 벡터 추산을 구현한다.
PCA 주성분 해석법에 대하여, 인코딩하고자 하는 포인트 클라우드 중 각 인코딩하고자 하는 포인트의 법선 벡터 추산을 수행할 때, 해당 포인트 미리 설정된 네이버후드 범위 내 기타 포인트의 공간 좌표 정보, 즉 네이버후드 포인트의 공간 좌표 정보를 이용해야 하며, 네이버후드 포인트의 공간 좌표 정보는 기하학적 정보에서 취득할 수 있다. 신속한 K 인접된 검색 방법을 사용하고, 인코딩하고자 하는 포인트 클라우드에 대하여 각 포인트의 모튼 코드를 계산하며, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 모튼 코드를 작은 것으로부터 큰 것으로의 순서로 배열하고, 모튼 코드의 순서를 취득하며, 모튼 코드의 순서에 의하여 각 포인트의 순서 배열 주위의 일정 범위 내(미리 설정된 네이버후드 범위 내)에서 제일 인접된 K 개의 포인트를 선택하고, K의 제일 인접된 포인트로 한다.
설명해야 할 바로는, 미리 설정된 네이버후드 범위에 대해 제한하지 않고 실제 설정 범위를 기준으로 한다. 적어도 하나의 네이버후드 포인트(K)의 선택은 다를 수 있어, K가 작을 수록 컴퓨팅의 복잡성이 작아지고, 알울러 취득된 법선 벡터의 오차가 크다. K가 클 수록 법선 방향을 풀 때의 컴퓨팅 복잡성이 커지지만 취득한 법선 방향 오차가 비교적 작다.
예시적으로, 선택된 K 네이버후드 포인트에 대하여, 이의 공간 좌표 정보는
Figure pct00049
이고, 미리 설정된 피팅 곡면 방정식이
Figure pct00050
라고 가정하고, 여기에는
Figure pct00051
이다. 인코더가 적어도 하나의 네이버후드 포인트의 공간 좌표 정보와 미리 설정된 피팅 곡면 방정식에 의하여 적어도 하나의 네이버후드 포인트의 피팅 평면으로의 적어도 한 거리를 결정하며, 여기에는, 어느 한 포인트
Figure pct00052
의 평면으로의 거리는
Figure pct00053
이다.
최적화된 피팅 곡면을 취득하기 위하여 적어도 하나의 거리의 제곱합을 최소화시키며, 즉
Figure pct00054
이다. 구체적인 솔루션 과정은,
Figure pct00055
Figure pct00056
로 설정할 때, f의 극한값을 구하는 것으로 전환한다. 솔루션 과정은 다음과 같다.
인코더가 간단한 계산으로부터 알 수 있는 바와 같이, 부분 피팅의 곡면이 K 네이버후드를 거친 중심은
Figure pct00057
이면,
Figure pct00058
이다.
F의 극한값을 구하기 위하여 f에 대하여 편도함수를 구하며, 예를 들면 (4), (5) 및 (6)에 되시된 바와 같다.
Figure pct00059
(4)
Figure pct00060
(5)
Figure pct00061
(6)
여기에서,
Figure pct00062
이다.
공식 (4), (5) 및 (6)의 병합에 의하여, 공분산 매트릭스(7)를 취득하며;
Figure pct00063
Figure pct00064
(7)
이렇게 하면, 공분산 매트릭스의 특징 값과 특징 벡터를 푸는 것을 통하여 특징 벡처가
Figure pct00065
인 것으로 취득하며, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트 n에 대응되는 법선 벡터가
Figure pct00066
로 표시될 수 잇다.
이런 주성분 해석법을 통하여 PCA가 인코딩하고자 하는 포인트 클라우드 중 모든 인코딩하고자 하는 포인트의 법선 벡터를 취득한 후, X, Y, Z 각 방향의 모든 법선 벡터가 투영한 절대값을 합계한 후, 합계된 값을 큰 것으로부터 작은 것으로의 순서로 배열하고, 취득된 것은 변환 순서이다.
SVD 법선 벡터 추산 방법에 있어서, K 네이버후드 내 포인트를 선택하며, 본 예시에서 K의 선택은 20일 수 있다. K 네이버후드 포인트를 선택하는 공간 좌표 정보는
Figure pct00067
이다. 미리 설정된 피팅 곡면 방정식이 원점을 통과하는 것은
Figure pct00068
이다. 인코더가 적어도 하나의 네이버후드 포인트의 공간 좌표 정보와 미리 설정된 피팅 곡면 방정식에 의하여 적어도 하나의 네이버후드 포인트의 피팅 평면으로의 적어도 한 거리를 결정하며, 여기에는, 어느 한 포인트
Figure pct00069
의 평면으로의 거리는
Figure pct00070
이다.
최적화된 피팅 곡면을 취득하기 위하여 적어도 하나의 거리의 제곱합을 최소화시키며, 즉
Figure pct00071
이다. 구체적인 솔루션 과정은,
Figure pct00072
로 설정하고, f의 극한값을 구하는 것으로 전환한다. 솔루션 과정은 다음과 같다.
F의 극한값을 구하기 위하여 f에 대하여 편도함수를 구하며, 여를 들면 (8), (9) 및 (10)에 되시된 바와 같다.
Figure pct00073
(8)
Figure pct00074
(9)
Figure pct00075
(10)
여기에서,
Figure pct00076
이다.
공식 (8),(9) 및 (10)의 병합에 의하여, 공분산 매트릭스(11)를 취득하며;
Figure pct00077
Figure pct00078
(11)
이렇게 하면, 공분산 매트릭스의 특징 값과 특징 벡터를 푸는 것을 통하여 특징 벡처가
Figure pct00079
인 것으로 취득하며, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트 n에 대응되는 법선 벡터가
Figure pct00080
로 표시될 수 잇다.
인코더가 최대한 피팅 곡선과 평면을 가깝게 함으로써 원점을 통과시키는 평면과 원점을 통과하지 않는 평면을 이용하는 방식 등으로 법선 벡터의 추산을 수행하는 것을 제안하며, 법선 벡터 추산은 각 상황 하에서 모두 정확하게 취득될 수 있게 하고, 법선 벡터의 추산 정확도를 향상시키고, 나아가 변환 순서의 최적화를 향상시키며, 최종적으로 인코딩 성능을 개선하는 것을 이해할 것이다.
S208, 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계한다.
S209, 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 변환 순서를 결정한다.
S210, 변환 순서를 기반으로 변환을 수행한다.
S211, 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
설명해야 할 바로는, 여기의 S208 내지 S211의 구현 과정은 상술한 S102 내지 S105의 구현 과정과 일치하며, 여기서 상세한 설명을 생략하도록 한다.
본 출원의 일부 실시예에서, 도12에 도시된 바와 같이, S204의 구현과 대체가능한 구현은 S214이다. 다음과 같다.
S214, 만일 존재하지 않으면, 공간 거리에 따라 인코딩하고자 하는 포인트 클라우드를 순회하고, 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내에서 제일 인접된 적어도 하나의 네이버후드 포인트를 선택한다.
본 출원의 실시예에서, 자신에 각 포인트 법선 벡터가 포함되지 않는 포인트 클라우드에 대하여, 인코더가 K 네이버후드 검색을 수행할 때, 공간 거리를 기반으로 한 검색 방법을 이용하여 공간 거리와 제일 인접된 K 인접된 네이버후드 포인트(적어도 하나의 네이버후드 포인트)를 찾을 수 있다. 각 포인트의 네이버후드 포인트를 정확하게 찾기 위하여, 인코딩하고자 하는 포인트 클라우드의 모든 포인트를 순회하여 K 인접된 검색을 수행할 수 있다.
상세히 말하면, 인코딩하고자 하는 포인트 클라우드 모든 포인트를 순회하고, 모든 포인트와 현재 인코딩하고자 하는 포인트 공간 거리를 결정하며, 그 중에서 공간 거리가 최소한 하나 또는 다수 개를 찾고, 즉 K 인접된 네이버후드 포인트를 결정한다.
본 출원의 일부 실시예에서, 도13에 도시된 바와 같이, S204의 구현과 대체가능한 구현은 S215 내지 S216이다. 다음과 같다.
S215, 만일 존재하지 않으면, 인코딩하고자 하는 포인트 클라우드에 대하여 K-D 트리 구분을 수행하고, 레벨 수 구조를 취득한다.
S216, 레벨 수 구조로부터 순회하고, 인코딩하고자 하는 포인트와 동일 레벨에 속하는 포인트를 취득하고 적어도 하나의 네이버후드 포인트로 한다.
본 출원의 실시예에서, 자신에 각 포인트 법선 벡터가 포함되지 않는 포인트 클라우드에 대하여, 다차원 이진 트리(K-D,K-dimension binary tree)를 기반으로 순회을 진행하여 네이버후드 포인트를 검색하는데 편한다.
본 출원의 실시예에서, 인코더가 인코딩하고자 하는 포인트 클라우드에 대하여 K-D 트리 구분을 수행하고, 레벨 수 구조를 취득한다. 다시 말하면, 인코더가 포인트 클라우드 중의 포인트에 대하여 먼저 K-D 트리의 구분을 수행하며, 즉 먼저 x 방향에 따라 포인트 클라우드 중의 포인트를 좌표의 크기로 배열하고, 또한 중간의 포인트 첫 번째 루트 노드의 좌표를 찾고, 포인트 클라우드를 포인트 수량이 같은 두 부분의 중앙값으로 구분하고, 그 후 포인트 수량이 P(P가 정수임)를 초과하지 않는 마지막 계층까지 순차적으로 다른 좌표축(x, y, z의 순서)의 두 개의 잎 노드에 따라 포인트 클라우드를 구분을 수행하고, 레벨 수 구조를 취득한다. 레벨 수 구조로부터 순회하고, 인코딩하고자 하는 포인트와 동일 레벨에 속하는 포인트를 취득하고 적어도 하나의 네이버후드 포인트로 하며, 즉 서브 트리를 단위로 법선 벡터의 계산을 수행한다.
K-D 구분을 이용할 때, 각 노드가 모드 인코딩하고자 하는 포인트이며, 팔진 트리의 부모 노드가 결합시킨 후의 포인트인 것에 상대하면, 직접적으로 인코딩하고자 하는 포인트에 대하여 판단을 수행하고, 나아가변환 순서를 취득한 방식이 더욱 정확하고, 인코딩의 정확성을 향상시킨다.
도14에 도시된 바와 같이, 본 출원의 실시예가 변환 방법을 제공하는 바, 상기 방법에는 다음과 같은 단계가 포함될 수 있다.
S301, 인코딩하고자 하는 포인트 클라우드에서 특징 포인트를 선택한다.
S302, 특징 포인트에 대하여 법선 벡터 추산을 수행하고, 특징 포인트의 법선 벡터를 취득한다.
S303, 인코딩하고자 하는 포인트는 이의 공간 거리에서 제일 인접된 네이버후드 포인트와 연속하는지 여부를 판단한다.
S304, 만일 연속하고 또한 네이버후드 포인트가 특징 포인트에 속하면, 네이버후드 포인트의 법선 벡터를 인코딩하고자 하는 포인트의 법선 벡터로 한다.
S305, 만일 연속하지 않다면, 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 기하학적 정보를 기반으로 인코딩하고자 하는 포인트의 법선 벡터를 결정한다.
본 출원의 실시예에서, 인코더가 또한 인코딩하고자 하는 포인트 클라우드에서 일부 포인트를 선택하고 특징 포인트로 할 수 있으며, 먼저 상술한 실시예 중의 법선 벡터 추산 방법을 통하여 각 특징 포인트의 법선 벡터를 계산하며, 이렇게 하면, 기타 인코딩하고자 하는 포인트의 법선 벡터의 결정을 수행할 때, 인코더는 공간 거리에서 제일 인접된 네이버후드 포인트가 연속하는지 여부를 판단한 후, 만일 연속하면, 네이버후드 포인트 법선벡트를 이용하여 현재 인코딩하고자 하는 포인트를 표시할 수 있는 것을 표시하고, 만일 연속하지 않으면, 현재 인코딩하고자 하는 포인트의 네이버후드 포인트가 없다고 표시하며, 직접적으로 상술한 실시예의 법선 벡터의 추산 방법에 의하여 취득한다. 하지만, 만일 네이버후드 포인트를 찾을 수 있고 또한 네이버후드 포인트가 특징 포인트에 속하면, 네이버후드 포인트의 법선 벡터가 알게 되었고, 인코더가 네이버후드 포인트의 법선 벡터를 인코딩하고자 하는 포인트의 법선 벡터로 할 수 있다.
설명해야 할 바로는, 인코더가 모튼 코드의 순서로, 미리 설정된 네이버후드 범위 내에서 회상하고, 인코딩하고자 하는 포인트는 이의 공간 거리에서 제일 인접된 네이버후드 포인트와 연속하는지 여부를 판단한다.
설명해야 할 바로는, 여기의 S304 내지 S305의 구현은 상술한 실시예 중의 S1013 내지 S1014의 구현의 설명과 일치하며, 여기서 상세한 설명을 생략하도록 한다.
인코더가 인코딩하고자 하는 포인트의 공간에서 거리에서의 제일 인접된 네이버후드, 및 모튼과 또한 연속하는 네이버후드를 찾는 것을 통하여 인코딩 순서 상의 인접됨을 확보할 뿐 아니라 또한 공간 실제 위치의 인접됨을 확보하며, 이렇게 하면 네이버후드 포인트의 법선 벡터를 이용하여 정확하게 인코딩하고자 하는 포인트를 표시할 수 있어, 법선 벡터의 추산 정확성을 향상시키고, 나아가 변환 순서의 최적화를 향상시키며, 인코딩의 성능을 향상시킨다.
S306, 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터의 각 좌표 컴포넌트의 합의 크기를 통계한다.
S307, 법선 벡터의 각 좌표 컴포넌트의 합의 크기를 기반으로 변환 순서를 결정한다.
S308, 변환 순서를 기반으로 RAHT 변환을 수행한다.
S309, 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
설명해야 할 바로는, 여기의 S306 내지 S309의 구현은 상술한 실시예 중의 S102 내지 S105의 구현 설명과 일치하며, 여기서 상세한 설명을 생략하도록 한다.
도15에 도시된 바와 같이, 본 출원의 실시예가 변환 방법을 제공하는 바, 상기 방법에는 다음과 같은 단계가 포함될 수 있다.
S401, 인코딩하고자 하는 포인트 클라우드를 미리 설정된 블록 구분을 수행하고, n 개의 미리 설정된 블록을 취득한다.
S402, n 개의 미리 설정된 블록 중의 각 미리 설정된 블룩 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정한다.
S403, 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 각 미리 설정된 블록 중의 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계한다.
S404, 각 미리 설정된 블록에 대응되는 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 각 미리 설정된 블록에 대응되는 변환 순서를 결정한다.
S405, 변환 순서를 기반으로 각 미리 설정된 블록에 대하여 RAHT 변환을 수행한다.
S406, 각 미리 설정된 블록에 대응되는 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
본 출원의 실시예에서, 인코더가 미리 설정된 블록 구분을 수행할 수 있고, n 개의 미리 설정된 블록을 취득하며, n 개의 미리 설정된 블록 중의 각 미리 설정된 블록 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하며, 하나의 미리 설정된 블록을 단위로 하고, 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 각 미리 살정된 블록 중의 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계하며, 각 미리 설정된 블록에 대응되는 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 각 미리 설정된 블록에 대응되는 변환 순서를 결정하며, 직접적으로 각 미리 설정된 블록과 이의 자신의 각 미리 설정된 블록에 대응되는 변환 순서로 각자 각 미리 설정된 블록에 대하여 RAHT 변환을 수행하고, 각 미리 설정된 블록에 대응되는 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
설명해야 할 바로는, 포인트 클라우드 속성의 RAHT 변환을 수행할 때, 인코딩하고자 하는 포인트 클라우드에 대하여 구분을 수행할 수 있으며, 구분하여 취득한 다른 구역에 대응되는 다른 포인트 클라우드에 대하여 각각 RAHT 세 개 방향 순서 판단을 수행한다. 구체적인 구역 구분 방식이 다를 수 있어, 본 예시에 slice 구분 방안을 이용하는 것을 소개하며, 즉 MPEG G-PCC 중의 포인트 클라우드 slice 구분 방법에 의하여 포인트 클라우드를 다른 slice(즉 미리 설정된 블록)로 구분하고, 각 slice에 포함된 포인트 클라우드에 대하여 재차 법선 벡터 추산의 방법을 이용하여 한 번의 RAHT 변환 방향 순서의 판단을 수행하고, 즉 다른 slice가 다른 RAHT 변환 순서를 사용가능한다.
예를 들면, 미리 설정된 블록은 또한 slice보다 작고, 팔진 트리 잎 노드보다 큰 block 등일 수 있어, 본 출원의 실시예가 이에 대하여 제한하지 않는다.
Slice 구분을 이용할 때, 각 slice를 기반으로 병행하게 인코딩을 수행할 수 있고, 또한 결함 허용 능력과 인코딩 속도를 향상시킨다.
도16A에 도시된 바와 같이, 본 출원의 실시예가 변환 방법을 제공하는 바, 상기 방법에는 다음과 같은 단계가 포함될 수 있다.
S601, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2차원 투영면을 결정한다.
S602, 세 개의 2 차원 투영면을 기반으로 각 좌표면의 투영 면적을 통계한다.
S603, 투명 면적을 기반으로 변환 순서를 결정한다.
도16A에 도시된 바와 같이, 본 출원의 실시예가 변환 방법을 제공하는 바, S603 뒤에, 또한 S604 내지 S605가 포함된다. 다음과 같다.
S604, 변환 순서를 기반으로 RAHT 변환을 수행한다.
S605, 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
본 출원의 실시예에서, 인코더가 3 차원 포인트 클라우드(즉 인코딩하고자 하는 포인트 클라우드) 중의 각 포인트(인코딩하고자 하는 포인트)를 각각 3 차원 공간이 구성한 세 개의 좌표면(X, Y, Z 좌표축이 구성한 세 개 평면), 즉 XoY평면, YoZ 평면 및 XoZ 평면에 투영하고, 최종적으로 인코딩하고자 하는 포인트의 세 개의 2 차원 투영, 즉 세 개의 2 차원 투영면을 취득한다. 인코더가 각 2 차원 투영면의 면적을 계산하고, 각 좌표면의 투영 면적을 통계하며, 여기의 투영 면적은 인코딩하고자 하는 포인트 클라우드가 3 차원 공간의 주요 분포 집중의 특징을 표시한다. 투명 면적을 기반으로 변환 순서를 결정한다. 다른 포인트 클라우드가 다른 공간 분포를 가지기 때문에 RAHT 변환을 수행하기 전, 인코더가 각 인코딩하고자 하는 포인트 클라우드 자신의 공간 분포 특징에 의하여 자신의 분포 특징에 적합되는 변환 순서를 결정할 수 있어, 이렇게 하면 인코더가 변환 순서를 기반으로 수행하는 RAHT 변환은 취득한 변환 계수의 중복이 작고, 나아다 인코딩의 효율을 향상시킬 수 있다.
설명해야 할 바로는 본 출원의 실시예에서, 투영 면적을 기반으로 변환 순서를 결정하는 것은, 각 투영면 상의 투영 포인트의 수량을 통게하고 투영면의 수량의 많을 수록 변환 순서의 우선 순위가 높아지는 원칙에 따라 RAHT의 변환 순서를 결정한다.
다른 포인트 클라우드가 다른 공간 분포를 가지기 때문에 RAHT 변환을 수행하기 전, 인코더가 각 인코딩하고자 하는 포인트 클라우드 자신의 공간 분포 특징에 대하여 자신의 분포 특징에 적합되는 변환 순서를 셜정할 수 있어, 이렇게 하면 인코더가 변환 순서를 기반으로 수행하는 RAHT 변환은 취득한 변환 계수의 중복이 작고, 나아다 인코딩의 효율을 향상시킬 수 있는 것을 이해할 것이다.
설명해야 할 바로는, 본 출원의 실시에에서, 각 인코딩하고자 하는 포인트 클라우드의 변환 순서의 결정은 다를 수 있기 때문에 변환 순서를 결정하였을 때 인코더가 인코딩하는 과정에서 변환 순서를 속성 코드 스트림, 속성 비트 스트림에 기록해야 한다. 예를 들면, 이 순서를 3 비트 비트 스트림으로 디코더에 전달할 수 있고, 디코더가 디코딩할 때 직접적으로 RAHT의 변환 순서를 해석할 수 있게 한다.
본 출원의 실시예에서, 투영면의 면적은 각 투영면 상의 투영 포인트의 수량으로 표시될 수 있다.
예시적으로, 평면 XoY 상의 투영 포인트 수량을 Num(xoy)로 기록하고, 평면 YoZ 상의 투영 포인트 수량을 Num(yoz)로 기록하고, 평면 ZoX 상의 투영 포인트 수량을 Num(zox)로 기록한다. 투영 면적이 Num(xoy)>Num(yoz)>Num(zox)일 때, 변환 순서가 yxz로 결정하며;투영 면적이 Num(xoy)>Num(zox)>Num(yoz)일 때, 변환 순서가 xyz로 결정하며; 투영 면적이 Num(yoz)>Num(xoy)>Num(zox)일 때, 변환 순서가 yzx로 결정하며;투영 면적이 Num(yoz)>Num(zox)>Num(xoy)일 때, 변환 순서가 zyx로 결정하며; 투영 면적이 Num(zox)>Num(yoz)>Num(xoy)일 때, 변환 순서가 zxy로 결정하며; 투영 면적이 Num(zox)>Num(xoy)>Num(yoz)일 때, 변환 순서가 xzy로 결정한다.
도17에 도시된 바와 같이, 본 출원의 실시예가 변환 방법을 제공하는 바, 상기 방법에는 다음과 같은 단계가 포함될 수 있다.
S701, 미리 설정된 입방체 변의 길이를 기반으로 인코딩하고자 하는 포인트 클라우드를 적어도 하나의 입방체 서브 블록으로 구분한다.
S702, 적어도 하나의 입방체 서브 블록의 각 입방체 서브 블록 중의 인코딩하고자 하는 복셀 포인트가 3 차원 공간에서 구성한 세 개의 죄표면 상의 세 개의 2차원 투영면에 대하며; 인코딩하고자 하는 복셀 포인트가 인코딩하고자 하는 포인트를 표시한다.
S703, 세 개의 2 차원 투영면을 기반으로 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적을 통계한다.
S704, 각 입방체 서브 블록에 대응되는 각 죄표면의 투영 면적을 큰 것으로부터 작은 것으로의 순서로 배열하고, 각 좌표축면에 수직하는 좌표축 순서를 각 입방체 서브 블록의 변환 순서로 결정한다.
S705, 각 입방체 서브 블록의 변환 순서를 기반으로 RAHT 변환을 수행한다.
S706, 각 입방체 서브 블록의 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
본 출원의 실시예에서, 인코더가 인코딩하고자 하는 포인트 클라우드가 소재하는 공간에 대하여 block 구분을 수행하고, n 개의 block를 취득할 수 있다. 각 block의 x, y, z 세 개의 좌표축 쌍으로 구성한 평면 상의 투영 크기 또는 투영 면적을 이용하여 RAHT의 변환 순서를 판단한다.
설명해야 할 바로는, RAHT 변환은 포인트 클라우드 데이터(인코딩하고자 하는 포인트 클라우드)에 대하여 팔진 트리를 수행하고 취득한 레벨 수 구조 기초 상에서 수행한 것이며, 팔진 트리의 최하 계층으로부터 시작하고 층별로 변환을 수행한다. 인코더는 인코딩하고자 하는 포인트 클라우드가 소재하는 공간에서 block 구분을 수행하고, n 개의 block를 취득하는 구현 과정은, 도18에 도시된 바와 같이, 인코더가 포인드 클라우드를, 팔진 트리를 이용하는 방식으로 여러 크기가 같은 N x N x N의 block로 구분하며, 여기에는 N은 고정 값으로 설정될 수 있거나 또는 다른 포인트 클라우드에 의하여 각각 설정되며, 본 출우너의 실시예가 이에 대하여 제한하지 않는다. 즉 각 block에 N x N x N 개의 복셀이 포함되고, 또는 복셀 포인트(voxel)라고 칭한다. 복셀 단위는 1이고, 인코딩하고자 하는 포인트 클라우드 중의 하나의 인코딩하고자 하는 포인트를 표시한다.
본 출원의 실시예에서, 인코더가 적어도 하나의 입방체 서브 블록의 각 입방체 서브 블록 중의 인코딩하고자 하는 복셀 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2 차원 투영면에 대하며; 인코딩하고자 하는 복셀 포인트가 인코딩하고자 하는 포인트를 표시하며, 세 개의 2 차원 투영면을 기반으로 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적을 통계하고, 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적을 큰 것으로부터 작은 것으로의 순서로 배열하고, 각 좌표축면에 수직하는 좌표축 순서를 각 입방체 서브 블록의 변환 순서로 결정하며, 각 입방체 서브 블록의 변환 순서를 기반으로 RAHT 변환을 수행하고, 각 입방체 서브 블록에 대응되는 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
예시적으로, 각 block에서, 인코더가 이의 XoY, XoZ 및 YoZ 평면 상의 투영 면적을 계산하고, 인코더가 세 개의 투영면 중의 투영 총 수량을 통계하고, 투영 총 수량을 투영 면적으로 보이고, 투영 면적을 큰 것으로부터 작은 것으로의 순서로 배열한 후, 해당 투영면에 수직하는 좌표축 방향의 순서를 block중 RAHT 변환의 순서로 하며, 예를 들면, XoY 투영 면적이 XoZ 투영 면적보다 크고, XoZ 투영 면적이 YoZ 투영 면적보다 클 때, 투영 면적의 랭킹은 XoY, XoZ 및 YoZ이며, 해당 투영면의 좌표축 방향 XoY 투영면에 수직하는 좌표축 방향이 z이고, 해당 투영면의 좌표축 방향 XoZ 투영면에 수직하는 좌표축 방향이 y이고, 해당 투영면의 좌표축 방향 YoZ 투영면에 수직하는 좌표축 방향이 z이며, XoY, XoZ 및 YoZ 이 순서를 기반으로 결정된 변환 순서는 zyx이다.
설명해야 할 바로는, 포인트 클라우드 속성의 RAHT 변환을 수행할 때, 인코딩하고자 하는 포인트 클라우드에 대하여 구분을 수행할 수 있으며, 구분하여 취득된 다른 구역에 대응되는 다른 포인트 클라우드에 대하여 각각 RAHT 세 개 방향 순서 판단을 수행한다. 구체적인 구역 구분 방식이 다를 수 있어, 본 예시에 block 구분 방안을 이용하는 것을 소개하며, 즉 MPEG G-PCC 중의 포인트 클라우드 block 구분 방법에 따라 포인트 클라우드를 block로 구분하고, 각 block에 포함된 포인트 클라우드에 대하여 재차 투영 면적 통계의 방법을 이용하여 한 번의 RAHT 변환 방향 순서의 판단을 수행하며, 즉 다른 block가 다른 RAHT 변환 순서를 사용가능한다.
예를 들면, 구분된 크기는 또한 slice 등일 수 있어, 본 출원의 실시예가 이에 대하여 제한하지 않는다.
S707, 각 입방체 서브 블록의 변환 순서에 따라 각 입방체 서브 블록의 인코딩하고자 하는 복셀 포인트에 대하여 RAHT 변환을 수행하고, 각 입방체 서브 블록의 서브 복셀 포인트를 취득한다.
S708, 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적에 의하여, 각 좌표면에 대응되는 투영 면적의 절대값의 합을 통계한다.
S709, 투영 면적 절대값의 합에 대하여 큰 것으로부터 작은 것으로의 순서로 배열하고, 변환 순서를 취득한다.
S710, 변환 순서에 의하여 각 입방체 서브 블록의 서브 복셀 포인트에 대하여 RAHT 변환을 수행한다.
S711, 각 입방체 서브 블록의 변환 순서와 변환 순서를 인코딩하고 속성 비트 스트림에 기록한다.
본 출원의 실시예에서, 인코더가 각 입방체 서브 블록의 변환 순서를 결정한 후, 인코더가 각 입방체 서브 블록의 변환 순서로 각 입방체 서브 블록의 인코딩하고자 하는 복셀 포인트에 대하여 RAHT 변환을 수행하고, 각 입방체 서브 블록의 서브 복셀 포인트를 취득하며, 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적에 의하여, 각 좌표면에 대응되는 투영 면적 절대값의 합을 통계하고, 투영 면적 절대값의 합에 대하여 큰 것으로부터 작은 것으로의 순서로 배열하고, 변환 순서를 취득하며, 변환 순서에 의하여 가가 입방체 서브 블록의 서브 복셀 포인트에 대하여 RAHT 변환을 수행하며, 마지막으로 변환 순서에 의하여 각 입방체 서브 블록의 서브 복셀 포인트에 대하여 RAHT 변환을 수행한다.
다시 말하면, 인코더가 각 block의 변환 순서를 취득한 후, 이 변환 순서를 기반으로 하나의 block 내부의 RAHT 변환을 수행하고, 각 입방체 서브 블록의 서브 복셀 포인트를 취득하며, block에서 RAHT 변환이 중료한 후, 모든 block 중의 각 방향의 투영 면적을 합계하고, 큰 것으로부터 작은 것으로 순서로 배열하고, 하나의 총 RAHT 변환 순서를 취득하며, 그 후 이 총 RAHT 변환 순서를 기반으로 각 입방체 서브 블록을 취득한 서브 복셀 포인트 간에 RAHT 변환을 수행하며, 최종적으로 각 입방체 서브 블록의 변환 순서와 변환 순서를 인코딩하고 속성 비트 스트림에 기록하고, 디코더가 인코딩할 때 사용하는 데 편한다.
인코딩하고자 하는 포인트 투영 면적을 통하여 각 좌표 컴포넌트의 투영 면적을 통계하며, 최종적으로 각 좌표 컴포넌트의 투영 면적의 크기 배열을 기반으로, RAHT 변환을 수행하는 변환 순서를 결정한 것이다. 이렇게 하면, 투영 면적 누적, 즉 공간 분포 특성을 고려하고, 우선적으로 특징이 현저한 방향 상의 변환을 수행하고, 변환이 취득한 변환 계수의 중복성을 감소시키고 인코딩/디코딩 효율을 향상시키는 목적을 이룬다.
본 출원의 일부 실시예에서, 도19에 도시된 바와 같이, S707 뒤, S710 전, 해당 방법에는 또한
S712, 각 입방체 서브 블록에 대응되는 변환 순서에 의하여 각 입방체 서브 블록에 대응되는 주 투영 방향을 취득한다.
S713, 각 입방체 서브 블록에 대응되는 주 투영 방향에 의하여, 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계한다.
S714, 각 좌표 컴포넌트의 주 투영 방향의 수량에 대하여 큰 것으로부터 작은 것으로 순서로 배열하고, 변환 순서를 취득한다.
본 출원의 실시예에서, 인코더가 각 block의 변환 순서를 결정하는 방식은 또한 각 입방체 서브 블록의 변환 순서로 각 입방체 서브 블록의 인코딩하고자 하는 복셀 포인트에 대하여 RAHT 변환을 수행하고, 각 입방체 서브 블록의 서브 복셀 포인트를 취득한 후, 각 입방체 서브 블록의 변환 순서 중의 주 투영 방향을 취득하며, 각 입방체 서브 블록의 주 투영 방향을 기반으로 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계하고, 각 좌표 컴포넌트의 주 투영 방향의 수량에 대하여 큰 것으로부터 작은 것으로 순서로 배열하고, 변환 순서를 취득하며, 해당 변환 순서를 기반으로, 전체적인 인코딩하고자 하는 포인트 블라우드에 대하여 RAHT 변환을 수행할 수 있다.
설명해야 할 바로는, 본 출원의 실시예에서, 각 입방체 서브 블록에 대응되는 주 투영 방향은 각 입방체 서브 블록에 대응되는 변환 순서 중의 제1 좌표 방향이다.
예시적으로, 인코더가 인코딩하고자 하는 포인트 클라우드를 3 개의 block로 구분한다고 가정한다. 여기에서, block1의 변환 순서는 xyz이고, block2의 변환 순서는 zyx, block3의 변환 순서는 zxy이면, 인코더가 block1을 취득하는 주 투영 방향은 x이고, block2의 주 투영 방향은 y이고, block3의 주 투영 방향은 z이며, 세 개의 주 투영 방향을 취득한 후 각 입방체 서브 블록에 대응되는 주 투영 방향에 의하여, x 량을 통계하는 주 투영 방향의 수령은 1이고, y 량을 통계하는 주 투영 방향의 수령은 0이고, z 량을 통계하는 주 투영 방향의 수령은 2이며, 2>1>0이기때문에, 각 좌표 컴포넌트의 주 투영 방향의 수량에 대하여 큰 것으로부터 작은 것으로의 순서로 배열하고 변환 순서는 zxy인 것으로 취득한다.
도20에 도시된 바와 같이, S713의 구현 과정에는 S7131 내지 S7132가 포함될 수 있어, 또한 다음과 같은 단계가 포함된다.
S7131, 각 입방체 서브 블록에 대응되는 주 투영 방향에서, 미리 설정된 비율의 서브 입방체 서브 블록에 대응되는 주 투영 방향을 취득한다.
S7132, 서브 입방체 서브 블록에 대응되는 주 투영 방향에 의하여, 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계한다.
본 출원의 실시예에서, 인코더가 인코딩하고자 하는 포인트 클라우드가 소재하는 공간을 N 개의 block로 구분하고, N 개으 block로부터 미리 설정된 비율의 서브 입방체 블록을 선택하고, 서브 입방체 서브 블록에 대응되는 주 투영 방향을 이용하여 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계하며, 나아가 변환 순서를 취득한다.
여기에서, 미리 설정된 비율은 10%일 수 있어, 이는 실제의 요구와 설계를 기반으로 결정된 것이며, 본 출원의 실시예가 이에 대하여 제한하지 않는다.
예시적으로, 인코더는 인코딩하고자 하는 포인트 클라우드가 소재하는 공간을 100 개의 block로 구분하고, 100 개의 주 투영 방향이 있으며, 미리 설정된 비율은 10% 일 때, 인코더가 100 개의 block에서 10 개의 block 3차원 주 투영 방향을 선택하고, 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계할 수 있다.
일부 block를 이용하여 통계를 수행하는 것은 처리 속도를 향상시키고, 계산량을 감소시키는 것을 이해할 거이다.
도21에 도시된 바와 같이, 본 출원의 일부 실시예에서, S702 전, 방법에는 또한 S715가 포함된다. 다음과 같다.
S715, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트를 중심으로 하여 적어도 하나의 입방체 서브 블록을 구성한다.
본 출원의 실시예에서, 인코더는 인코딩하고자 한느 포인트 클라우드가 소재하는 공간을 블록 구분을 수행하는 방식은 또한, 각 인코딩하고자 하는 포인트를 중심 또는 중심축으로 할 수 있어, 각 인코딩하고자 하는 포인트를 복셀 중심으로 하는 것을 구성하고, 구성된 하나의 길이가 NxNxN 복셀의 입방체 서브 블록이다.
이는 직접적으로 block 구분을 수행하는 것과의 구별은 각 block 중의 복셀 블록이 block를 중심으로 구분을 수행한 것이며, 각 복셀 중의 포인트의 분포는 포인트가 어느 복셀에 떨어지는지에 의하여 결정된 것이다. 여기의 입방체 서브 블록 중의 각 복셀의 부분은 각 인코딩하고자 하는 포인트를 중심으로 하고, 단위 1로 구분해온 것이고, 복셀과 복셀 간에 또한 중첩이 존재할 수 있다.
본 출원의 실시예에서, 비교적 바람직한 RAHT 변환 순서를 결정하는 결정 방법을 사용하는 것은 재구성 포인트 클라우드를 위하여 성능의 이득을 가져올 수 있다. 다음과 같은 표1에 도시된 바와 같이, 재구성 포인트 클라우드의 PSNR가 낮추고 또한 Bd-rate도 비교적 분명한 개선을 한다. (PSNR는 픽처 평가의 객관적 기준이고, PSNR가 클 수록 픽처의 품질이 좋아진다. BD-rate는 성능을 측정하기 위한 파라미터이고, BD-rate가 음수일 때 성능이 좋아진다고 표시하며, 이를 바탕으로 BD-rate의 절대값이 클수록 성능의 이득이 커진다.
Figure pct00081
표1로 알 수 있는 바와 같이, 4개의 포인트 클라우드에 대하여, 서로 다른 변환 순서로 RAHT 변환을 수행하여 취득한 Average 평균 이득이 모두 현저하며, 인코더의 성능이 크게 향상되었다.
이런 구현 방안을 이용하며, 각 복셀이 인코딩하고자 하는 포인트를 중심으로 하기 때문에 취득된 복셀의 투영 면적을 인코딩하고자 하는 포인트의 투영 면적으로 하면 더욱 정확한다.
상술한 소개를 기반으로 하는 배경 하에서, 아래에서는 본 출원의 실시예가 제공하는 변환 방법을 소개하는 바, 주요 디코더 프레임에서, RAHT가 역변환할 때의 변환 순서를 취득하는 과정이 디코더(포인트 클라우드 디코더)에 적용된다.
도22에 도시된 바와 같이, 본 출원의 실시예가 역변환 방법을 제공하는 바, 디코더에 적용되며, 다음과 같은 단계가 포함될 수 있다.
S801, 속성 비트 흐름으로부터 변환 순서를 해석한다.
S802, 디코딩할 때, 변환 순서를 기반으로 RAHT 역변환을 수행한다.
본 출원의 실시예에서, 인코딩 비트 스트림을 디코더로 전송되며, 해당 디코더는 인코딩 비트 스트림 중의 속성 비트 스트림으로부터 변환 순서를 해석할 수 있어, 디코더가 RAHT 역변환을 수행할 때, 변환 순서를 이용하여 구현할 수 있다.
인코더는 인코딩하고자 하는 포인트 클라우드의 공간 분포 특징을 기반으로 각 인코딩하고자 하는 포인트 클라우드에 대응되는 최적화된 RAHT 변환을 수행하는 변환 순서를 구현한다. 이렇게 하면, 법선 벡터 누적을 고려하고, 우선적으로 특징이 현저한 방향 상의 변환을 수행하고, 변환이 취득한 변환 계수의 중복성을 감소시키고 인코딩/디코딩 효율을 향상시키는 목적을 이루며, 각 인코딩하고자 하는 포인트 클라우드에 대응되는 변환 순서가 다를 수 있기 때문에 인코딩할 때 변환 순서를 또한 속성 비트 스트림에 기록해야 하고, 디코너가 디코딩하여 RAHT 역변환을 수행할 때 사용하게 한다.
상술한 실실예의 구현을 기반으로 하는 기초에서, 도23에 도시된 바와 같이, 본 출원의 실시예가 인코더(1)를 제공하는 바,
인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하도록 구성되는 결정 부분(10);
상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 합 크기를 통계하도록 구성되는 취득 부분(11)이 포함되며;
상기 결정 부분(10)은, 또한 상기 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 변환 순서를 결정도록 구성된다.
본 출원의 일부 실시예에서, 상기 인코더에는 또한 변환 부분과 인코딩 부분이 포함된다.
상기 변환 부분(12)은, 변환 순서를 기반으로 RAHT 변환을 수행하도록 구성되며;
상기 인코딩 부분(13), 상기 변환 순서를 인코딩하고 속성 비트 스트림에 기록하도록 구성된다.
본 출원의 일부 실시예에서, 상기 인코더에는 또한 판단 부분(14)이 포함된다.
상기 취득 부분(11)은 또한 인코딩하고자 하는 포인트 클라우드의 속성 정보를 취득하도록 구성되며;
상기 판단 부분(14)은 또한 상기 인코딩하고자 하는 포인트 클라우드 중의 속성 정보 중에 상기 인코딩하고자 하는 포인트의 법선 벡터가 존재하는지 여부를 판단하도록 구성되며;
상기 취득 부분(11)은 또한 만일 존재하면, 직접적으로 상기 인코딩하고자 하는 포인트의 법선 벡터를 취득하도록 구성되며;
상기 결정 부분(10)은 또한 만일 존재하지 않다면, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 속성 정보를 기반으로 상기 인코딩하고자 하는 포인트의 법선 벡터를 결정하도록 구성된다.
본 출원의 일부 실시예에서, 상기 취득 부분(11)은 또한 상기 미리 설정된 네이버후드 범위 내에, 상기 인코딩하고자 하는 포인트와 제일 인접된 적어도 하나의 네이버후드 포인틀 취득하며; 상기 적어도 하나의 네이버후드 포인트의 기하학적 정보를 취득하도록 구성되며;
상기 결정 부분(10)은 또한 상기 적어도 하나의 네이버후드 포인트의 기하학적 정보과 미리 설정된 피팅 곡면 방정식에 의하여, 상기 적어도 하나의 네이버후드 포인트의 피팅 평면으로의 적어도 한 거리를 결정하도록 구성되며;
상기 취득 부분(11)은 또한 상기 적어도 한 거리의 제곱합의 최소화에 의하여, 상기 미리 설정된 피팅 곡면 방정식에 대응되는 시스템 특징 벡터를 취득하며; 상기 시스템 특징 벡터는 상기 인코딩하고자 하는 포인트의 법선 벡터로 하도록 구성된다.
본 출원의 일부 실시예에서, 상기 미리 설정된 피팅 곡면 방정식에는, 원점을 통과하지 않는 평명 방정식과 원점을 통과하는 평면 방정식이 포함된다.
본 출원의 일부 실시예에서, 상기 취득 부분(11)은 또한 모튼 코드의 순서에 따라 상기 인코딩하고자 하는 포인트 클라우드를 순회하고, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내에서 제일 인접된 상기 적어도 하나의 네이버후드 포인트를 선택하도록 구성된다.
본 출원의 실시예에서, 상기 취득 부분(11)은 또한 공간 거리에 따라 상기 인코딩하고자 하는 포인트 클라우드를 순회하고, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내에서 제일 인접된 상기 적어도 하나의 네이버후드 포인트를 선택하도록 구성된다.
본 출원의 실시예에서, 상기 취득 부분(11)은 또한 공간 거리에 따라 상기 인코딩하고자 하는 포인트 클라우드를 순회하고, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내에서 제일 인접된 적어도 하나의 네이버후드 포인트를 선택하도록 구성된다.
본 출원의 일부 실시예에서, 상기 취득 부분(11)은 또한 상기 미리 설정된 네이버후드 범위 내에서, 상기 인코딩하고자 하는 포인트와 제일 인접된 적어도 하나의 네이버후드 포인틀 취득한 후, 상기 적어도 하나의 네이버후드 포인트의 법선 벡터를 취득하며; 상기 특징 포인트에 대하여 법선 벡터 추산을 수행하고 상기 특징 포인트의 법선 벡터를 취득하도록 구성된다.
본 출원의 일부 실시예에서, 상기 인코더에는 또한 판단 부분(14)이 포함된다.
상기 결정 부분(10)은 또한 상기 인코딩하고자 하는 포인트 클라우드에서 특징 포인트를 선택하며; 상기 특징 포인트에 대하여 법선 벡터 추산을 수행하고, 상기 특징 포인트의 법선 벡터를 취득하도록 구성되며;
상기 판단 부분(14)은 또한 상기 인코딩하고자 하는 포인트가, 이의 공간 거리에서 제일 인접된 네이버후드 포인트와 연속하는지 여부를 판단하도록 구성되며;
상기 결정 부분(10)은 또한 만일 연속하고 또한 상기 네이버후드 포인트가 상기 특징 포인트에 속하면, 네이버후드 포인트의 법선 벡터를 상기 인코딩하고자 하는 포인트의 법선 벡터로 하며; 및 만일 연속하지 않다면, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 기하학적 정보를 기반으로 상기 인코딩하고자 하는 포인트의 법선 벡터를 결정하도록 구성된다.
본 출원의 일부 실시예에서, 상기 판단 부분(14)은 또한 모튼 코드의 순서에 따라 미리 설정된 네이버후드 범위 내에서 회상하고, 상기 인코딩하고자 하는 포인트는 이의 공간 거리에서 제일 인접된 네이버후드 포인트와 연속하는지 여부를 판단하도도록 구성된다.
본 출원의 일부 실시예에서, 상기 취득 부분(11)은 또한 상기 인코딩하고자 하는 포인트 클라우드에 대하여 사전 설정된 블록 구분을 수행하고, n 개의 미리 설정된 블록을 취득하도록 구성되며;
상기 결정 부분(10)은 또한 상기 n 개의 미리 설정된 블록 중의 각 미리 설정된 블룩 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하도록 구성되며;
상기 취득 부분(11)은 또한 상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 각 미리 설정된 블록 중의 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계하도록 구성된다.
본 출원의 일부 실시예에서, 상기 결정 부분(10)은 또한 상기 각 미리 설정된 블록에 대응되는 상기 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 상기 각 미리 설정된 블록에 대응되는 변환 순서를 결정하도록 구성된다.
본 출원의 실시예에서, 상기 취득 부분(11)은 또한 상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 절대값의 합을 통계하며; 상기 절대값의 합은 상기 법선 벡터 각 좌표 컴포넌트의 합의 크기를 표시하도록 구성된다.
본 출원의 일부 실시예에서, 상기 취득 부분(11)은 또한 상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 절대값의 합을 통계하며; 상기 절대값의 합은 상기 법선 벡터의 각 좌표 컴포넌트의 합의 크기를 표시하도록 구성된다.
본 출원의 일부 실시예에서, 상기 결정 부분(10)은 또한 상기 절대값의 합을 큰 것으로부터 작은 것으로의 순서로 배열하고, 상기 변환 순서를 결정하도록 구성된다.
본 출원의 실시예에서 또한 인코더(1)를 제공하는 바,
인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2차원 투영면을 결정하도록 구성되는 결정 부분(10);
상기 세 개의 2 차원 투영면을 기반으로 각 좌표면의 투영 면적을 통계하도록 구성되는 취득 부분(11)이 포함되며;
상기 결정 부분(10)은, 또한 상기 투명 면적을 기반으로 변환 순서를 결정하도록 구성되며;
본 출원의 일부 실시예에서, 상기 인코더에는 또한 변환 부분과 인코딩 부분이 포함된다.
상기 변환 부분(12)은, 변환 순서를 기반으로 RAHT 변환을 수행하도록 구성되며;
상기 인코딩 부분(13), 상기 변환 순서를 인코딩하고 속성 비트 스트림에 기록하도록 구성된다.
본 출원의 일부 실시예에서, 상기 취득 부분(11)은 또한 미리 설정된 입방체 변의 길이를 기반으로 상기 인코딩하고자 하는 포인트 클라우드를 적어도 하나의 입방체 서브 블록으로 구분하며; 상기 적어도 하나 입방체 서브 블록의 각 입방체 서브 블록 중의 인코딩하고자 하는 복셀 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2 차원 투영면에 대하며; 상기 인코딩하고자 하는 복셀 포인트가 상기 인코딩하고자 하는 포인트를 표시하며; 상기 세 개의 2 차원 투영면을 기반으로 상기 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적을 통계하도록 구성된다.
본 출원의 실시예에서, 상기 결정 부분(10)은 또한 상기 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적을 큰 것으로부터 작은 것으로의 순서로 배열하고, 각 좌표축면에 수직하는 좌표축 순서를 각 입방체 서브 블록의 변환 순서로 결정하도록 구성된다.
본 출원의 실시예에서, 상기 변환 부분(12)은 또한 상기 각 입방체 서브 블록에 대응되는 각 죄표면의 투영 면적을 큰 것으로부터 작은 것으로의 순서로 배열하고, 각 좌표축면에 수직하는 좌표축 순서를 각 입방체 서브 블록의 변환 순서로 결정한 후, 상기 각 입방체 서브 블록의 변환 순서로 상기 각 입방체 서브 블록의 인코딩하고자 하는 복셀 포인트에 대하여 RAHT 변환을 수행하고, 각 입방체 서브 블록의 서브 복셀 포인트를 취득하도록 구성되며;
상기 취득 부분(11)은 또한 상기 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적에 의하여, 각 좌표면에 대응되는 투영 면적의 절대값의 합을 통계하며; 상기 투영 면적 절대값의 합을 큰 것으로부터 작은 것으로의 순서로 배열하고 상기 변환 순서를 취득하도록 구성되며;
상기 변환 부분(12)은 또한 상기 변환 순서에 의하여 각 입방체 서브 블록의 서브 복셀 포인트에 대하여 RAHT 변환을 수행하도록 구성되며;
상기 인코딩 부분(13)은 또한 상기 각 입방체 서브 블록의 변환 순서와 상기 변환 순서를 인코딩하고 속성 비트 스트림에 기록하도록 구성된다.
본 출원의 실시예에서, 상기 취득 부분(11)은 또한 상기 각 입방체 서브 블록의 변환 순서에 의하여 상기 각 입방체 서브 블럭의 인코딩하고자 하는 복셀 포인트에 대하여 RAHT 변환을 수행하고, 각 입방체 서브 블록의 서브 복셀 포인트를 취득한 후, 또한 상기 변환 순서에 의하여 각 입방체 서브 블록의 서브 복셀에 대하여 RAHT 변환을 수행하기 전, 상기 각 입방체 서브 블록에 대응되는 변환 순서에 의하여 각 입방체 서브 블록에 대응되는 주 투영 방향을 취득하며; 및 각 입방체 서브 블록에 대응되는 주 투영 방향에 의하여 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계하며; 상기 각 좌표 컴포넌트의 주 투영 방향의 수량에 대하여 큰 것으로부터 작은 것으로 순서로 배열하고, 상기 변환 순서를 취득하도록 구성된다.
본 출원의 일부 실시예에서, 상기 취득 부분(11)은 또한 상기 각 입방체 서브 블록에 대응되는 주 투영 방향에서 미리 설정된 비율의 서브 입방체 서브 블록에 대응되는 주 투영 방향을 선택하며; 및 상기 입방체 서브 블록에 대응되는 주 투영 방향에 의하여 상기 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계하도록 구성된다.
본 출원의 실시예에서, 상기 취득 부분(11)은 또한 상기 적어도 하나의 입방체 서브 블록의 각 입방체 서브 블록 중의 인코딩하고자 하는 복셀 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2 차원 투영면에 대하기 전, 상기 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트를 중심으로 하여 상기 적어도 하나의 입방체 서브 블록을 구성하도록 구성된다.
본 출원의 일부 실시예에서, 상기 결정 부분(10)은 또한 상기 투영 면적이 Num(xoy)>Num(yoz)>Num(zox)일 때, 변환 순서가 yxz로 결정하며;상기 투영 면적이 Num(xoy)>Num(zox)>Num(yoz)일 때, 변환 순서가 xyz로 결정하며; 상기 투영 면적이 Num(yoz)>Num(xoy)>Num(zox)일 때, 변환 순서가 yzx로 결정하며;상기 투영 면적이 Num(yoz)>Num(zox)>Num(xoy)일 때, 변환 순서가 zyx로 결정하며; 투영 면적이 Num(zox)>Num(yoz)>Num(xoy)일 때, 변환 순서가 zxy로 결정하며; 상기 투영 면적이 Num(zox)>Num(xoy)>Num(yoz)일 때, 변환 순서가 xzy로 결정하도록 구성된다.
실제 응용에서, 도24에 도시된 바와 같이, 본 출원의 실시예가 또한 인코더를 제공하는 바,
실행가능한 명령을 저장하는 제1 기억장치(15);
상기 제1 기억장치(15) 중에 저장된 실행가능한 명령을 실행할 때, 인코더 측의 변환 방법을 구현하는 제1 프로세서(16)가 포함된다.
여기에서, 프로세서는 소프트웨어, 하드웨어, 펌웨어 또는 기타 조합으로 구현될 수 있어, 회로, 단일 또는 다수 개의 응용 주문형 집적 회로(Application Specific Integrated Circuit,ASIC), 단일 또는 다수 개의 범용 집적 회로, 단일 또는 다수 개의 마이크로프로세서, 단일 또는 다수 개의 프로그램가능 논리 소자 또는 상술한 회로 또는 소자의 조합, 또는 기타 적합한 회로 또는 소자를 이용할 수 있어, 해당 프로세서가 상술한 실시예 중의 변환 방법의 상응된 단계를 실행할 수 있도록 한다.
본 출원의 실시예가 컴퓨터 판독가능 저장 매체를 제공하는 바, 실행가능한 명령을 저장하고, 프로세서에 의하여 실행될 때, 인코더 측의 변환 방법을 구현하는 것이 포함된다.
본 출원의 실시예 중의 각 구성 부분은 하나의 처리 유닛 중에 집적될 수도 있고, 또한 각 유닛의 독립적인 물리적 존재일 수 있으며, 또한 두 개 또는 두 개 이상의 유닛이 하나의 유닛에 집적되어 있을 수 있다. 상술 집적된 유닛은 하드웨어의 형식으로 구현될 수도 있고, 또한 소프트웨어 기능 모듈의 형식으로 구현될 수도 있다.
만일 상기 집적된 유닛은 소프트웨어 기능 모듈의 형식으로 구현되고 또한 독립적인 제품이 아님으로 판매 또는 사용될 때, 하나의 컴퓨터 판독가능한 저장 매체에 저장할 수 있어, 이를 기반으로 본 실시예의 기술방안의 본질적이나 또는 종래 기술에 대하여 공헌이 있는 부분 또는 해당 기술방안의 전부 또는 일부는 소프트웨어 제품의 형식으로 구현될 수 있고, 해당 컴퓨터 소프트웨어 제품은 하나의 저장 매체에 저장될 수 있는 바, 일부 명령이 포함되어 한 컴퓨터 설비(개인용 컴퓨터, 서버 또는 네트워크 설비 등일 수 있음) 또는 processor(프로세서)로 하여금 본 출원의 각 실시예의 방법의 전부 또는 일부 단계를 구현하게 할 수 있다. 상술한 저장 매체에는 자기 무작위 접속 메모리(FRAM, ferromagnetic random access memory), 읽기전용 메모리(ROM,Read Only Memory), 프로그래머블 메모리(PROM,Programmable Read-Only Memory), 휘발성 프로그래머블 메모리(EPROM,Erasable Programmable Read-Only Memory), 전기 휘발성 프로그래머블 메모리(EEPROM,Electrically Erasable Programmable Read-Only Memory) , 플래시 메모리(Flash Memory), 자기 표면 메모리, 디스크 또는 읽기전용 디스크(CD-ROM,Compact Disc Read-Only Memory)등 여러가지 프로그램을 저장하는 매체가 포함될 수 있어, 본 출원의 실시예가 이에 대하여 제한하지 않는다.
도25에 도시된 바와 같이, 본 출원의 실시예가 디코더(2)를 제공하는 바,
속성 비트 스트림으로부터 변환 순서를 해석하도록 구성되는 해석 부분(20);
디코딩할 때, 상기 변환 순서를 기반으로 RAHT 역변환을 수행하도록 구성되는 디코딩 부분(21)이 포함된다.
실제 응용에서, 도26에 도시된 바와 같이, 본 출원의 실시예가 또한 디코더를 제공하는 바,
실행가능한 명령을 저장하는 제2 기억장치(22);
상기 제2 기억장치(22) 중에 저장된 실행가능한 명령을 실행할 때, 디코더 측의 변환 방법을 구현하는 제2 프로세서(23)가 포함된다.
본 출원의 실시예가 컴퓨터 판독가능 저장 매체를 제공하는 바, 실행가능한 명령을 저장하고, 제2 프로세서에 의하여 실행될 때, 인코더 측의 변환 방법을 구현하는 것이 포함된다.
인코더가 속성 인코딩을 수행하는 과정에서, RAHT 변환의 구현에 대하여 인코딩하고자 하는 포인트의 법선 벡터를 통하여 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계하며, 최종적으로 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 RAHT 변환을 수행하는 변환 순서를 결정한 것인 것을 이해할 것이다. 이렇게 하면, 법선 벡터 누적을 고려하고, 우선적으로 특징이 현저한 방향 상의 변환을 수행하고, 변환이 취득한 변환 계수의 중복성을 감소시키고 인코딩/디코딩 효율을 향상시키는 목적을 이룬다.
본 출원의 실시예가 변환 방법, 인코더, 디코더 및 컴퓨터 판독가능 저장 매체를 제공하는 바, 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하며; 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계하며; 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 변환 순서를 결정하며; 변환 순서를 기반으로 RAHT 변환을 수행하며; 변환 순서를 인코딩하고 속성 비트 스트림에 기록하는 것이 포함된다. 인코더가 속성 인코딩을 수행하는 과정에서, RAHT 변환의 구현에 대하여 인코딩하고자 하는 포인트의 법선 벡터를 통하여 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계하며, 최종적으로 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 RAHT 변환을 수행하는 변환 순서를 결정한 것이다. 이렇게 하면, 법선 벡터 누적을 고려하고, 우선적으로 특징이 현저한 방향 상의 변환을 수행하고, 변환이 취득한 변환 계수의 중복성을 감소시키고 인코딩/디코딩 효율을 향상시키는 목적을 이룬다.

Claims (32)

  1. 변환 방법에 있어서, 인코더에 적용되며,
    인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하며;
    상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 합 크기를 통계하며;
    상기 법선 벡터 각 좌표 컴포넌트의 합 크기를 기반으로 변환 순서를 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  2. 제1항에 있어서,
    상기 법선 벡터 합 크기를 기반으로 변환 순서를 결정한 후 상기 방법에는 또한,
    상기 변환 순서를 기반으로 구역 적응형 계층 변환(RAHT) 변환을 수행하며;
    상기 변환 순서를 인코딩하고 속성 비트 스트림에 기록하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것에는,
    인코딩하고자 하는 포인트 클라우드의 속성 정보를 취득하며;
    상기 인코딩하고자 하는 포인트 클라우드의 속성 정보 중에 상기 인코딩하고자 하는 포인트의 법선 벡터가 존재하는지 여부를 판단하며;
    만일 존재하면, 직접적으로 상기 인코딩하고자 하는 포인트의 법선 벡터를 취득하며;
    만일 존재하지 않다면, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 기하학적 정보를 기반으로 상기 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  4. 제3항에 있어서,
    상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 기하학적 정보를 기반으로 상기 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것에는,
    상기 미리 설정된 네이버후드 범위 내에, 상기 인코딩하고자 하는 포인트와 제일 인접된 적어도 하나의 네이버후드 포인틀 취득하며;
    상기 적어도 하나의 네이버후드 포인트의 기하학적 정보를 취득하며;
    상기 적어도 하나의 네이버후드 포인트의 기하학적 정보와 미리 설정된 피팅 곡면 방정식에 의하여, 상기 적어도 하나의 네이버후드 포인트부터 피팅 평면으로의 적어도 한 거리를 결정하며;
    상기 적어도 한 거리의 제곱합의 최소화에 의하여, 상기 미리 설정된 피팅 곡면 방정식에 대응되는 시스템 특징 벡터를 취득하며; 상기 시스템 특징 벡터는 상기 인코딩하고자 하는 포인트의 법선 벡터로 하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  5. 제4항에 있어서,
    상기 미리 설정된 피팅 곡면 방정식에는, 원점을 통과하지 않는 평명 방정식과 원점을 통과하는 평면 방정식이 포함되는 것을 특징으로 하는 변환 방법.
  6. 제4항에 있어서,
    상기 미리 설정된 네이버후드 범위 내에, 상기 인코딩하고자 하는 포인트와 제일 인접된 적어도 하나의 네이버후드 포인틀 취득하는 것에는,
    모튼 코드의 순서로 인코딩하고자 하는 포인트 클라우드를 순회하고, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내에서 제일 인접된 상기 적어도 하나의 네이버후드 포인트를 선택하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  7. 제4항에 있어서,
    상기 미리 설정된 네이버후드 범위 내에, 상기 인코딩하고자 하는 포인트와 제일 인접된 적어도 하나의 네이버후드 포인틀 취득하는 것에는,
    공간 거리에 따라 상기 인코딩하고자 하는 포인트 클라우드를 순회하고, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내에서 제일 인접된 상기 적어도 하나의 네이버후드 포인트를 선택하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  8. 제4항에 있어서,
    상기 미리 설정된 네이버후드 범위 내에, 상기 인코딩하고자 하는 포인트와 제일 인접된 적어도 하나의 네이버후드 포인트를 취득하는 것에는,
    상기 인코딩하고자 하는 포인트 클라우드에 대하여 K-D 트리 구분을 수행하고, 레벨 수 구조를 취득하며;
    상기 레벨 수 구조를 순회하고, 인코딩하고자 하는 포인트와 동일 레벨에 속하는 포인트를 취득하여 상기 적어도 하나의 네이버후드 포인트로 하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  9. 제6항 내지 8항 중 어느 한 항에 있어서,
    상기 미리 설정된 네이버후드 범위 내에, 상기 인코딩하고자 하는 포인트와 제일 인접된 적어도 하나의 네이버후드 포인틀 취득한 후, 상기 방법에는,
    상기 적어도 하나의 네이버후드 포인트의 법선 벡터를 취득하며;
    상기 적어도 하나의 네이버후드 포인트의 법선 벡터를 기반으로 상기 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  10. 제1항 또는 제2항에 있어서,
    상기 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것에는,
    상기 인코딩하고자 하는 포인트 클라우드에서 특징 포인트를 선택하며;
    상기 특징 포인트에 대하여 법선 벡터 추산을 수행하고, 상기 특징 포인트의 법선 벡터를 취득하며;
    상기 인코딩하고자 하는 포인트가 이의 공간 거리에서 제일 인접된 네이버후드 포인트와 연속하는지 여부를 판단하며;
    만일 연속하고 또한 상기 네이버후드 포인트가 특징 포인트에 속하면, 네이버후드 포인트의 법선 벡터를 상기 인코딩하고자 하는 포인트의 법선 벡터로 하며;
    만일 연속하지 않다면, 상기 인코딩하고자 하는 포인트의 미리 설정된 네이버후드 범위 내의 네이버후드 포인트의 기하학적 정보를 기반으로 상기 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  11. 제10항에 있어서,
    상기 인코딩하고자 하는 포인트가 이의 공간 거리에서 제일 인접된 네이버후드 포인트와 연속하는지 여부를 판단하는 것에는,
    모튼 코드의 순서에 따라 미리 설정된 네이버후드 범위 내에서 회상(backtracking)하고, 인코딩하고자 하는 포인트가 이의 공간 거리에서 제일 인접된 네이버후드 포인트와 연속하는지 여부를 판단하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  12. 제1항 또는 제2항에 있어서,
    상기 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것에는,
    상기 인코딩하고자 하는 포인트 클라우드에 대하여 사전 설정된 블록 구분을 수행하고, n 개의 미리 설정된 블록을 취득하며;
    상기 n 개의 미리 설정된 블록 중의 각 미리 설정된 블룩 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하는 것이 포함되며;
    상응하게, 상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계하는 것에는,
    상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 각 미리 설정된 블록 중의 법선 벡터 각 좌표 컴포넌트의 합의 크기를 통계하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  13. 제12항에 있어서,
    상기 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 변환 순서를 결정하는 것에는,
    상기 각 미리 설정된 블록에 대응되는 상기 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 상기 각 미리 설정된 블록에 대응되는 변환 순서를 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  14. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터의 각 좌표 컴포넌트의 합의 크기를 통계하는 것에는,
    상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터의 각 좌표 컴포넌트의 절대값의 합을 통계하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  15. 제14항에 있어서,
    상기 각 좌표 컴포넌트의 합의 크기를 기반으로 변환 순서를 결정하는 것에는,
    상기 절대값의 합을 큰 것으로부터 작은 것으로의 순서로 배열하고, 상기 변환 순서를 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  16. 변환 방법에 있어서,
    인코더에 적용되며,
    인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2차원 투영면을 결정하며;
    상기 세 개의 2 차원 투영면을 기반으로 각 좌표면의 투영 면적을 통계하며;
    상기 투명 면적을 기반으로 변환 순서를 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  17. 제16항에 있어서,
    상기 투영 면적를 기반으로 변환 순서를 결정한 후 상기 방법에는 또한,
    상기 변환 순서를 기반으로 구역 적응형 계층 변환(RAHT) 변환을 수행하며;
    상기 변환 순서를 인코딩하고 속성 비트 스트림에 기록하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  18. 제16항 또는 제17항에 있어서,
    상기 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2차원 투영면을 결정하는 것에는,
    미리 설정된 입방체 변의 길이를 기반으로 상기 인코딩하고자 하는 포인트 클라우드를 적어도 하나의 입방체 서브 블록으로 구분하며;
    상기 적어도 하나의 입방체 서브 블록의 각 입방체 서브 블록 중의 인코딩하고자 하는 복셀 포인트가 3 차원 공간에서 구성한 세 개의 죄표면 상의 세 개의 2차원 투영면에 대하며; 상기 인코딩하고자 하는 복셀 포인트가 상기 인코딩하고자 하는 포인트를 표시하는 것이 포함되며;
    상응하게, 상기 세 개의 2 차원 투영면을 기반으로 각 좌표면의 투영 면적을 통계하는 것에는
    상기 세 개의 2 차원 투영면을 기반으로 상기 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적을 통계하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  19. 제18항에 있어서,
    상기 투영 면적를 기반으로 변환 순서를 결정하는 것에는,
    상기 각 입방체 서브 블록에 대응되는 각 죄표면의 투영 면적을 큰 것으로부터 작은 것으로의 순서에 따라 배열하고, 각 좌표축면에 수직하는 좌표축 순서를 각 입방체 서브 블록의 변환 순서로 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  20. 제19항에 있어서,
    상기 각 입방체 서브 블록에 대응되는 각 죄표면의 투영 면적을 큰 것으로부터 작은 것으로의 순서로 배열하고, 각 좌표축면에 수직하는 좌표축 순서를 각 입방체 서브 블록의 변환 순서로 결정한 후, 상기 방법에는 또한,
    상기 각 입방체 서브 블록의 변환 순서에 의하여, 상기 각 입방체 서브 블록의 인코딩하고자 하는 복셀 포인트에 대하여 RAHT 변환을 수행하고, 각 입방체 서브 블록의 서브 복셀 포인트를 취득하며;
    상기 각 입방체 서브 블록에 대응되는 각 좌표면의 투영 면적에 의하여, 각 좌표면에 대응되는 투영 면적의 절대값의 합을 통계하며;
    상기 투영 면적 절대값의 합에 대하여 큰 것으로부터 작은 것으로의 순서로 배열하고, 상기 변환 순서를 취득하며;
    상기 변환 순서에 의하여 각 입방체 서브 블록의 서브 복셀 포인트에 대하여 RAHT 변환을 수행하며;
    상기 각 입방체 서브 블록의 변환 순서와 상기 변환 순서를 인코딩하고 속성 비트 스트림에 기록하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  21. 제20항에 있어서,
    상기 각 입방체 서브 블록의 변환 순서에 의하여, 상기 각 입방체 서브 블록의 인코딩하고자 하는 복셀 포인트에 대하여 RAHT 변환을 수행하고, 각 입방체 서브 블록의 서브 복셀 포인트를 취득한 후, 또한 상기 변환 순서에 의하여, 각 입방체 서브 블록의 서브 복셀 포인트에 대하여 RAHT 변환을 수행하기 전, 상기 방법에는 또한,
    상기 각 입방체 서브 블록에 대응되는 변환 순서에 의하여 각 입방체 서브 블록에 대응되는 주 투영 방향을 취득하며;
    각 입방체 서브 블록에 대응되는 주 투영 방향에 의하여, 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계하며;
    상기 각 좌표 컴포넌트의 주 투영 방향의 수량에 대하여 큰 것으로부터 작은 것으로의 순서로 배열하고, 상기 변환 순서를 취득하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  22. 제21항에 있어서,
    상기 각 입방체 서브 블록에 대응되는 주 투영 방향에 의하여, 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계하는 것에는,
    상기 각 입방체 서브 블록에 대응되는 주 투영 방향에서, 미리 설정된 비율의 서브 입방체 서브 블록에 대응되는 주 투영 방향을 선택하며;
    상기 서브 입방체 서브 블록에 대응되는 주 투영 방향에 의하여, 상기 각 좌표 컴포넌트의 주 투영 방향의 수량을 통계하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  23. 제18항에 있어서,
    상기 적어도 하나의 입방체 서브 블록의 각 입방체 서브 블록 중의 인코딩하고자 하는 복셀 포인트가 3 차원 공간에서 구성한 세 개의 죄표면 상의 세 개의 2차원 투영면에 대하기 전, 상기 방법에는 또한,
    상기 인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트를 중심으로 하여 상기 적어도 하나의 입방체 서브 블록을 구성하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  24. 제16항에 있어서,
    상기 투영 면적를 기반으로 변환 순서를 결정하는 것에는,
    상기 투영 면적이 Num(xoy)>Num(yoz)>Num(zox)일 때, 변환 순서를 yxz로 결정하며;
    상기 투영 면적이 Num(xoy)>Num(zox)>Num(yoz)일 때, 변환 순서를 xyz로 결정하며;
    상기 투영 면적이 Num(yoz)>Num(xoy)>Num(zox)일 때, 변환 순서를 yzx로 결정하며;
    상기 투영 면적이 Num(yoz)>Num(zox)>Num(xoy)일 때, 변환 순서를 zyx로 결정하며;
    상기 투영 면적이 Num(zox)>Num(yoz)>Num(xoy))일 때, 변환 순서를 zxy로 결정하며;
    상기 투영 면적이 Num(zox)>Num(xoy)>Num(yoz)일 때, 변환 순서를 xzy로 결정하는 것이 포함되는 것을 특징으로 하는 변환 방법.
  25. 역변환 방법에 있어서,
    디코딩에 적용되며,
    속성 비트 스트림으로부터 변환 순서를 해석하며;
    디코딩할 때, 상기 변환 순서를 기반으로 구역 적응형 계층 변환(RAHT) 역변환을 수행하는 것이 포함되는 것을 특징으로 하는 역변환 방법.
  26. 인코더에 있어서,
    인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트의 법선 벡터를 결정하도록 구성되는 결정 부분;
    상기 인코딩하고자 하는 포인트의 법선 벡터를 기반으로 법선 벡터 각 좌표 컴포넌트의 합 크기를 통계하도록 구성되는 취득 부분이 포함되며;
    상기 결정 부분은, 또한 상기 법선 벡터 각 좌표 컴포넌트의 합의 크기를 기반으로 변환 순서를 결정도록 구성되는 것을 특징으로 하는 인코더.
  27. 인코더에 있어서,
    인코딩하고자 하는 포인트 클라우드 중의 인코딩하고자 하는 포인트가 3 차원 공간에서 구성한 세 개의 좌표면 상의 세 개의 2차원 투영면을 결정하도록 구성되는 결정 부분;
    상기 세 개의 2 차원 투영면을 기반으로 각 좌표면의 투영 면적을 통계하도록 구성되는 취득 부분이 포함되며;
    상기 결정 부분은, 또한 상기 투명 면적을 기반으로 변환 순서를 결정하도록 구성되는 것을 특징으로 하는 인코더.
  28. 디코더에 있어서,
    속성 비트 스트림으로부터 변환 순서를 해석하도록 구성되는 해석 부분;
    디코딩할 때, 상기 변환 순서를 기반으로 구역 적응형 계층 변환(RAHT) 역변환을 수행하도록 구성되는 디코딩 부분이 포함되는 것을 특징으로 하는 디코더.
  29. 인코더에 있어서,
    실행가능한 명령을 저장하는 제1 기억장치;
    상기 제1 기억장치에 저장되는 실행가능한 명령을 실행할 때, 제1항 내지 제15항 중 어느 한 항의 상기 방법, 또는 제16항 내지 제24항 중 어느 한 항의 상기 방법을 구현하는 제1 프로세서가 포함되는 것을 특징으로 하는 인코더.
  30. 디코더에 있어서,
    실행가능한 명령을 저장하는 제2 기억장치;
    상기 제2 기억장치에 저장된 실행가능한 명령을 실행할 때, 제25항의 상기 방법을 구현하는 제2 프로세서가 포함되는 것을 특징으로 하는 디코더.
  31. 컴퓨터 판독가능 저장 매체에 있어서,
    실행가능한 명령을 저장하고, 프로세서에 의하여 실행할 때, 제1항 내지 제15항 중 어느 한 항의 상기 방법, 또는 제16항 내지 제24항 중 어느 한 항의 상기 방법을 구현하는 것이 포함되는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
  32. 컴퓨터 판독가능 저장 매체에 있어서,
    실행가능한 명령을 저장하고, 제2 프로세서에 의하여 실행될 때, 제25항의 상기 방법을 구현하는 것이 포함되는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
KR1020217043222A 2019-06-30 2019-06-30 변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체 KR20220027882A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/094105 WO2021000205A1 (zh) 2019-06-30 2019-06-30 变换方法、逆变换方法、编码器、解码器及存储介质

Publications (1)

Publication Number Publication Date
KR20220027882A true KR20220027882A (ko) 2022-03-08

Family

ID=74100843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217043222A KR20220027882A (ko) 2019-06-30 2019-06-30 변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체

Country Status (6)

Country Link
US (2) US11412259B2 (ko)
EP (1) EP3993424A4 (ko)
JP (1) JP7330306B2 (ko)
KR (1) KR20220027882A (ko)
CN (2) CN114363634A (ko)
WO (1) WO2021000205A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191605A1 (ko) * 2022-04-01 2023-10-05 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2024043659A1 (ko) * 2022-08-22 2024-02-29 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220029595A (ko) 2019-07-03 2022-03-08 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 포인트 클라우드 인코딩과 디코딩 방법, 인코더, 디코더 및 컴퓨터 저장 매체
US20220377327A1 (en) * 2019-07-03 2022-11-24 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114073086A (zh) * 2019-07-04 2022-02-18 Lg 电子株式会社 点云数据处理设备和方法
EP4040793A4 (en) * 2019-09-30 2023-01-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. TRANSFORMATION METHOD, INVERSE TRANSFORMATION METHOD, ENCODER, DECODER AND STORAGE MEDIUM
CN114762334B (zh) * 2020-01-07 2024-06-18 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11741637B2 (en) * 2020-02-10 2023-08-29 Tencent America LLC Node-based geometry and attribute coding for a point cloud
US20230206509A1 (en) * 2021-12-27 2023-06-29 Advanced Micro Devices, Inc. Systems and method for generating morton code
EP4250234A1 (en) * 2022-03-25 2023-09-27 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding positions of points of a point cloud emcompassed in a cuboid volume
CN116503409B (zh) * 2023-06-28 2023-09-12 矽瞻科技(成都)有限公司 一种焊缝缺陷3d点云检测方法、设备和介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2813076B1 (en) 2012-02-09 2020-04-22 InterDigital VC Holdings, Inc. Efficient compression of 3d models based on octree decomposition
EP3130133B1 (en) * 2014-04-11 2019-11-06 Nokia Solutions and Networks GmbH & Co. KG Multi tenancy in software defined networking
US20170214943A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US10223810B2 (en) 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
CA3082460A1 (en) 2017-11-22 2019-05-31 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN108632607B (zh) * 2018-05-09 2019-06-21 北京大学深圳研究生院 一种基于多角度自适应帧内预测的点云属性压缩方法
US11803989B2 (en) * 2020-01-08 2023-10-31 Qualcomm Incorporated Quantization for geometry-based point cloud compression

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191605A1 (ko) * 2022-04-01 2023-10-05 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2024043659A1 (ko) * 2022-08-22 2024-02-29 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Also Published As

Publication number Publication date
US20220329858A1 (en) 2022-10-13
EP3993424A4 (en) 2023-03-01
US20220124371A1 (en) 2022-04-21
CN114363634A (zh) 2022-04-15
US11843803B2 (en) 2023-12-12
JP2022540569A (ja) 2022-09-16
EP3993424A1 (en) 2022-05-04
CN113875254A (zh) 2021-12-31
JP7330306B2 (ja) 2023-08-21
WO2021000205A1 (zh) 2021-01-07
US11412259B2 (en) 2022-08-09

Similar Documents

Publication Publication Date Title
KR20220027882A (ko) 변환 방법, 역변환 방법, 인코더, 디코더 및 저장 매체
US10904564B2 (en) Method and apparatus for video coding
CN109257604B (zh) 一种基于tmc3点云编码器的颜色属性编码方法
WO2021000658A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
CN113678466A (zh) 用于预测点云属性编码的方法和设备
US20150382025A1 (en) Method and device for providing depth based block partitioning in high efficiency video coding
JP7386337B2 (ja) 分割方法、符号器、復号器及びコンピュータ記憶媒体
WO2021062743A1 (zh) 占位信息的预测方法、编码器、解码器、及存储介质
WO2021062772A1 (zh) 预测方法、编码器、解码器及计算机存储介质
US20220207781A1 (en) Transform method, inverse transform method, encoder, decoder and storage medium
JP2024050705A (ja) 属性情報の予測方法、エンコーダ、デコーダ及び記憶媒体
WO2021062771A1 (zh) 颜色分量预测方法、编码器、解码器及计算机存储介质
WO2022120594A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
WO2021108970A1 (zh) 点云处理方法、编码器、解码器及存储介质
WO2023155045A1 (zh) 预测的方法和装置、编码器、解码器和编解码系统
WO2023231872A1 (zh) 编码方法、解码方法、装置及设备
WO2021139796A1 (zh) 莫顿码的构建方法、编码器、解码器、及存储介质
Dvořák Compression of dynamic polygonal meshes with constant and variable connectivity
WO2022217611A1 (zh) 编解码方法及相关设备、存储介质
WO2021138785A1 (zh) 划分方法、编码器、解码器及计算机存储介质
EP4233006A2 (en) Devices and methods for spatial quantization for point cloud compression
WO2024078925A1 (en) Motion coding for dynamic meshes using intra- and inter-frame graph fourier transforms
JP2024518154A (ja) 点群符号化・復号化方法、符号器、復号器及びコンピュータ記憶媒体