KR102401373B1 - 영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치 - Google Patents

영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102401373B1
KR102401373B1 KR1020200153417A KR20200153417A KR102401373B1 KR 102401373 B1 KR102401373 B1 KR 102401373B1 KR 1020200153417 A KR1020200153417 A KR 1020200153417A KR 20200153417 A KR20200153417 A KR 20200153417A KR 102401373 B1 KR102401373 B1 KR 102401373B1
Authority
KR
South Korea
Prior art keywords
attribute values
values
dct
point cloud
component
Prior art date
Application number
KR1020200153417A
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 경희대학교 산학협력단
Priority to KR1020200153417A priority Critical patent/KR102401373B1/ko
Application granted granted Critical
Publication of KR102401373B1 publication Critical patent/KR102401373B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 개시는 영상 처리 시스템에서 포인트 클라우드(point cloud) 형식으로 표현된 3차원 객체(object)를 압축하기 위한 것으로, 포인트 클라우드 데이터를 압축하기 위한 방법은, 포인트 클라우드 영상을 포함하는 바운딩 박스(bounding box)를 복수의 큐브들로 분할하는 단계, 상기 복수의 큐브들 각각에서 속성(attribute) 값을 가진 점이 존재하지 아니하는 좌표들에 패딩 값을 삽입하는 단계, 상기 패딩 값을 포함하는 속성 값들에 대하여 3차원 DCT(discrete cosine transform) 연산을 수행함으로써 주파수 축의 값들을 생성하는 단계, 및 상기 주파수 축의 값들을 압축하는 단계를 포함할 수 있다.

Description

영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치{METHOD AND APPARATUS FOR COMPRESSING POINT CLOUD IN IMAGE PROCESSING SYSTEM}
이하의 설명은 영상 처리 시스템에 관한 것으로, 영상 처리 시스템에서 포인트 클라우드(point cloud) 형식으로 표현된 3차원 객체(object)를 압축하기 위한 방법 및 장치에 관한 것이다.
포인트 클라우드(point cloud)는 3차원 객체(object)를 표현하기 위해서 색상, 반사율 등의 속성(attribute) 값들을 갖는 점(point)들의 집합으로 이루어진 데이터의 집합이다. 모든 픽셀(pixel)이 색상 값을 갖는 2차원 영상과 달리, 포인트 클라우드의 경우, 물체의 표면에만 속성 값을 갖는 점들이 존재하기 때문에, 기하학적 구조(geometry) 정보가 표기되어야 한다. 포인트 클라우드를 표현하기 위해서, 2차원 영상에 비해 방대한 양의 데이터가 필요하다.
본 개시의 기술적 과제는 영상 처리 시스템에서 포인트 클라우드의 효율적인 사용을 위한 방법 및 장치를 제공함에 있다.
본 개시의 기술적 과제는 영상 처리 시스템에서 포인트 클라우드를 효과적으로 압축하기 위한 방법 및 장치를 제공함에 있다.
본 개시의 기술적 과제는 영상 처리 시스템에서 포인트 클라우드를 3차원 DCT(discrete cosine transform)을 이용하여 압축하기 위한 방법 및 장치를 제공함에 있다.
본 개시에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 개시의 실시 예들로부터 본 개시의 기술 구성이 적용되는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
본 개시의 일 예로서, 영상 처리 시스템에서 포인트 클라우드(point cloud) 데이터를 압축하기 위한 방법은, 포인트 클라우드 영상을 포함하는 바운딩 박스(bounding box)를 복수의 큐브들로 분할하는 단계, 상기 복수의 큐브들 각각에서 속성(attribute) 값을 가진 점이 존재하지 아니하는 좌표들에 패딩 값을 삽입하는 단계, 상기 패딩 값을 포함하는 속성 값들에 대하여 3차원 DCT(discrete cosine transform) 연산을 수행함으로써 주파수 축의 값들을 생성하는 단계, 및 상기 주파수 축의 값들을 압축하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 패딩 값을 포함하는 속성 값들을 블러링(blurring)하는 단계를 더 포함할 수 있다.
본 개시의 일 예로서, 상기 속성 값들을 블러링하는 단계는, 상기 속성 값들을 포함하는 큐브를 축소하는 단계, 상기 축소된 큐브를 축소 전의 크기로 확장하는 단계, 및 상기 확장된 큐브에서 패딩 값들을 제외한 나머지 속성 값들을 원본 값으로 복원하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 패딩 값을 삽입하는 단계는, 상기 점이 존재하는 좌표들을 지시하는 점유(occupied) 정보를 생성하는 단계, 및 상기 점유 정보에 의해 빈 공간으로 지시되는 위치에 상기 패딩 값을 삽입하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 주파수 축의 값들을 압축하는 단계는, 상기 주파수 축의 값들을 양자화하는 단계, 상기 양자화된 값들 중 DC(direct current) 성분을 제1 방식으로 압축하는 단계, 및 상기 양자화된 값들 중 AC 성분(alternative current)을 제2 방식으로 압축하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 DC 성분을 제1 방식으로 압축하는 단계는, 상기 DC 성분을 DPCM(differential pulse-code modulation) 코딩하는 단계, 및 상기 DPCM 코딩된 DC 성분을 엔트로피 코딩하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 AC 성분을 제2 방식으로 압축하는 단계는, 상기 점들이 존재하는 좌표들을 지시하는 점유(occupied) 정보에 기반하여 AC 성분을 3차원 스캔하는 단계, 상기 3차원 스캔된 AC 성분 및 상기 점유 정보를 RLC(run length coding) 코딩하는 단계, 및 상기 RLC 코딩된 상기 AC 성분 및 상기 점유 정보를 엔트로피 코딩하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 3차원 스캔하는 단계는, 상기 AC 성분에 포함되는 속성 값들을 축 별 좌표 값들의 합의 오름차순으로 배열하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 영상 처리 시스템에서 압축된 포인트 클라우드(point cloud) 데이터를 복원하기 위한 방법은, 상기 압축된 포인트 클라우드 데이터를 압축 해제함으로써 속성(attribute) 값들의 주파수 축의 값들을 획득하는 단계, 상기 주파수 축의 값들에 대하여 3차원 역(inverse) DCT(discrete cosine transform) 연산을 수행함으로써 상기 속성 값들을 포함하는 복수의 큐브들을 복원하는 단계, 및 상기 복수의 큐브들 각각에서 상기 속성 값들에 포함된 패딩 값들을 제거하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 압축을 해제하는 단계는, 상기 압축된 포인트 클라우드 데이터에 포함된 상기 주파수 축의 값들의 DC(direct current) 성분을 제1 방식으로 압축 해제하는 단계, 상기 압축된 포인트 클라우드 데이터에 포함된 점유(occupied) 정보 및 상기 주파수 축 값들의 AC(alternative current) 성분을 제2 방식으로 압축 해제하는 단계, 및 상기 DC 성분 및 상기 AC 성분을 역양자화하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 제1 방식으로 압축 해제하는 단계는, 상기 압축된 포인트 클라우드 데이터를 엔트로피 디코딩하는 단계, 상기 엔트로피 디코딩된 포인트 클라우드 데이터에서 상기 DC 성분을 추출하는 단계, 및 상기 DC 성분을 DPCM(differential pulse-code modulation) 디코딩하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 제2 방식으로 압축 해제하는 단계는, 상기 압축된 포인트 클라우드 데이터를 엔트로피 디코딩하는 단계, 상기 엔트로피 디코딩된 포인트 클라우드 데이터에서 상기 점유 정보 및 상기 AC 성분을 추출하는 단계, 상기 점유 정보 및 상기 역 3차원 스캔된 상기 AC 성분을 RLC(run length coding) 디코딩하는 단계, 및 상기 점유 정보에 기반하여 상기 AC 성분을 역(inverse) 3차원 스캔하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 역 3차원 스캔하는 단계는, 상기 AC 성분에 포함되는 속성 값들을 축 별 좌표 값들의 합의 오름차순으로 3차원 좌표들에 배치하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 패딩 값들을 제거하는 단계는, 상기 압축된 포인트 클라우드 데이터에 포함된 점유 정보에 의해 빈 공간으로 지시되는 속성 값들을 제거하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 복수의 큐브들은, 제1 크기를 가지는 제1 큐브 및 제2 크기를 가지는 제2 큐브를 포함할 수 있다. 여기서, 상기 제1 크기는, 상기 제2 크기보다 작고, 상기 제1 큐브는, 상기 제2 큐브에 비하여 변화의 정도가 큰 속성 값들을 가지는 점들을 포함할 수 있다.
본 개시의 일 예로서, 영상 처리 시스템에서 포인트 클라우드(point cloud) 데이터를 압축하기 위한 인코더는, 포인트 클라우드 영상을 포함하는 바운딩 박스(bounding box)를 분할한 복수의 큐브들 각각에서 속성(attribute) 값을 가진 점이 존재하지 아니하는 좌표들에 패딩 값을 삽입하는 패딩부, 상기 패딩 값을 포함하는 속성 값들에 대하여 3차원 DCT(discrete cosine transform) 연산을 수행함으로써 주파수 축의 값들을 생성하는 DCT 연산부, 및 상기 주파수 축의 값들을 압축하는 압축부를 포함할 수 있다.
본 개시의 일 예로서, 영상 처리 시스템에서 압축된 포인트 클라우드(point cloud) 데이터를 복원하는 디코더는, 상기 압축된 포인트 클라우드 데이터를 압축 해제함으로써 속성(attribute) 값들의 주파수 축의 값들을 획득하는 해제부, 상기 주파수 축의 값들에 대하여 3차원 역(inverse) DCT(discrete cosine transform) 연산을 수행함으로써 상기 속성 값들을 포함하는 복수의 큐브들을 복원하는 역 DCT 연산부, 상기 복수의 큐브들 각각에서 상기 속성 값들에 포함된 패딩 값들을 제거하는 제거부를 포함할 수 있다.
본 개시의 실시 예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 이하의 본 개시의 실시 예들에 대한 기재로부터 본 개시의 기술 구성이 적용되는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시에서 서술하는 구성을 실시함에 따른 의도하지 않은 효과들 역시 본 개시의 실시 예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
본 개시에 기초한 실시 예들에 의해 하기와 같은 효과가 있을 수 있다.
본 개시에 따르면, 기하학적 구조 정보와 빈 공간으로 인해 불가능 하였던 3차원 DCT(discrete cosine transform)를 통한 포인트 클라우드 압축에 있어서, 패딩(padding) 및 점유(Occupied) 정보를 이용하여 포인트 클라우드 데이터를 효과적으로 압축하는 것이 가능하다.
이하에 첨부되는 도면들은 본 개시에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 개시에 대한 실시 예들을 제공할 수 있다. 다만, 본 개시의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다. 각 도면에서의 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미할 수 있다.
도 1은 본 개시에서 적용되는 영상 처리 시스템에서 인코더(encoder)의 구조를 도시한 도면이다.
도 2는 본 개시에서 적용되는 영상 처리 시스템에서 디코더(decoder)의 구조를 도시한 도면이다.
도 3은 본 개시에서 적용되는 영상 처리 시스템에서 인코더의 동작 절차를 도시한 도면이다.
도 4a 및 도 4b는 본 개시에서 적용되는 영상 처리 시스템에서 포인트 클라우드를 포함하는 바운딩 박스 및 큐브 단위로 분할된 바운딩 박스의 예를 도시한 도면들이다.
도 5a 및 도 5b는 본 개시에서 적용되는 영상 처리 시스템에서 포인트 클라우드 데이터 및 대응하는 점유 정보의 예를 도시한 도면들이다.
도 6a 및 도 6b는 본 개시에서 적용되는 영상 처리 시스템에서 패딩(padding)된 점유 정보의 예들을 도시한 도면들이다.
도 7a 내지 도 7d는 본 개시에서 적용되는 영상 처리 시스템에서 패딩된 점유 정보에 대한 블러링(blurring)의 예를 도시한 도면들이다.
도 8a 및 도 8b는 본 개시에서 적용되는 영상 처리 시스템에서 근사 패딩 결과의 예를 도시한 도면들이다.
도 9는 본 개시에서 적용되는 영상 처리 시스템에서 속성 정보 및 점유 정보를 이용한 포인트 클라우드의 복원에 대한 예를 도시한 도면이다.
도 10a 및 도 10b는 본 개시에서 적용되는 영상 처리 시스템에서 3차원 스캔의 예들을 도시한 도면들이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 상세하게 설명한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 개시는 영상 처리 시스템에서 포인트 클라우드(point cloud) 형식으로 표현된 3차원 객체(object)를 압축하기 위한 기술에 대해 설명한다. 본 개시는 포인트 클라우드 데이터의 유사한 값으로 3차원 공간의 빈 공간을 채우는 근사 패딩 과정과, 3차원 상의 데이터를 1차원으로 나열하는 스캔 과정을 이용해 포인트 클라우드 콘텐츠를 압축하는 3차원 DCT(discrete cosine transform) 기반의 포인트 클라우드 압축을 위한 다양한 실시 예들을 설명한다.
다시 말해, 본 개시는 포인트 클라우드 압축을 빈 공간을 채우는 패딩 과정과 기하학적 구조 정보를 통해 3차원 DCT기반으로 압축하는 기술을 제안한다. 2차원 영상의 경우, 인접한 픽셀의 색상 값이 유사하다. 그러므로, 2차원 DCT를 수행 시 대부분의 성분이 저주파 부근으로 모이기 때문에, 2차원 영상은 2차원 DCT를 통해 효율적으로 압축될 수 있다. 하지만, 종래의 2차원 영상 압축 방법을 포인트 클라우드 영상에 적용하고자 하면, 몇 가지 문제점이 발생할 수 있다.
먼저, 2차원 영상은 모든 2차원 공간에 색상 값을 가지고 있는 픽셀들이 존재하는 반면, 포인트 클라우드는 일반적으로 물체의 표면에만 속성(attribute) 값을 가지고 있는 점이 존재하며, 나머지는 빈 공간으로 존재하기 때문에 3차원 DCT와 같은 데이터의 연산을 위해서는 값이 존재하지 않는 빈 공간이 존재한다는 문제의 해결이 필요하다. 또한, 2차원 영상에서는 모든 2차원 공간상에 색상 값을 가지는 픽셀이 채워져 있어 기하학적 구조 정보를 별도로 표기하지 않기 때문에, 2차원 영상을 위한 별도의 기하학적 구조 압축 방법이 존재하지 않는다.
따라서, 기존의 2차원 영상에서 활용하는 압축 방안의 경우, 포인트 클라우드 영상의 기하학적 구조 정보를 효율적으로 압축하는 방법이 정의되어 있지 아니하다. 그러므로, 포인트 클라우드의 기하학적 구조 정보를 압축하기 위한 새로운 방안이 필요하다. 이에, 본 개시는 데이터를 효율적으로 압축하기 위한 근사 패딩과 기하학적 구조 압축 방안이 포함된 3차원 DCT 기반의 포인트 클라우드 콘텐츠를 압축할 수 있는 방안을 제시하고자 한다.
도 1은 본 개시에서 적용되는 영상 처리 시스템에서 인코더(encoder)의 구조를 도시한 도면이다.
도 1을 참고하면, 인코더는 패딩부(padding unit)(104), 3차원 DCT 연산부(3D-DCT operation unit)(106), 양자화부(quantization unit)(108), DPCM부(differential pulse-code modulation unit)(110), 3차원 스캔부(3D-scan unit)(112), RLC부(run length coding unit)(114), 허프만 알고리즘 처리부(Huffman algorithm processing unit)(116), 다중화부(multiplexer, MUX)(118)를 포함한다.
포인트 클라우드 데이터(102)는 기하학적 구조 정보 및 속성 정보로 분리되고, 서로 다른 과정들을 통해서 압축된다. 이를 위해, 포인트 클라우드 데이터(102)의 속성 정보는 패딩부(104)로 제공되고, 기하학적 구조 정보는 3차원 스캔부(112)로 제공된다.
패딩부(104)는 속성 정보에 대해 패딩을 수행함으로써 매크로 큐브들 중 빈 공간을 채운다. 3차원 DCT부(106)는 패딩된 속성 정보에 대해 3차원 DCT 연산을 수행한다. 3차원 DCT 연산에 의해, 3차원 배치된 속성 정보(예: 속성 값들)이 주파수 축의 값들로 변환된다.
양자화부(108), DPCM부(110), 3차원 스캔부(112), RLC부(114), 허프만 알고리즘 처리부(116)는 DCT 연산된 속성 정보에 대하여 양자화, 3차원 스캔, RLC 코딩, 허프만 코딩을 수행함으로써, 속성 정보를 압축한다. DPCM부(110), 3차원 스캔부(112), RLC부(114), 허프만 알고리즘 처리부(116)는 '압축부'로 통칭될 수 있다. 압축부의 구성을 보다 상세히 살펴보면 다음과 같다.
양자화부(108)는 DCT 연산된 속성 정보를 양자화한다. 양자화부(108)는 미리 정의된 양자화 테이블에 기반하여 속성 정보를 양자화할 수 있다. 이때, 양자화 테이블은 낮은 주파수 영역에서 상대적으로 더 높은 해상도를 가지도록 정의될 수 있다. 여기서, 양자화 결과는 DC(direct current) 데이터 및 AC(alternative current) 데이터를 포함한다. DCT 연산 결과에 대해 얻어진 양자화 값의 DC 데이터는 DPCM부(110)로 제공되고, AC 데이터는 3차원 스캔부(112)로 제공된다.
DPCM부(110)는 속성 DC 데이터에 대한 DPCM 코딩을 수행함으로써 속성 DC DPCM 데이터를 생성한다. 허프만 알고리즘 처리부(116)는 속성 DC DPCM 데이터에 대해 허프만 코딩을 수행한다. 여기서, DPCM 코딩에 의해 생성되는 차이 값은 매크로 큐브들 각각에 포함되는 속성 DC 데이터 값들 간 차이 값을 포함할 수 있다.
3차원 스캔부(112)는 기하학적 구조 정보 및 양자화된 속성 값의 AC 데이터를 이용하여 3차원 스캔을 수행함으로써, 1차원 기하학적 구조 데이터 및 1차원 속성 AC 데이터를 생성한다. RLC부(114)는 1차원 기하학적 구조 데이터 및 1차원 속성 AC 데이터를 각각 RLC 코딩함으로써, 기하학적 구조 RLC 데이터 및 속성 AC RLC 데이터를 생성한다. 허프만 알고리즘 처리부(116)는 기하학적 구조 RLC 데이터 및 속성 AC RLC 데이터에 대해 허프만 코딩을 수행한다. 다른 실시 예에 따라, 허프만 알고리즘 처리부(116)는 다른 종류의 엔트로피 코딩을 수행하는 구성요소로 대체될 수 있다.
허프만 알고리즘 처리부(116)에 의해 허프만 코딩된 기하학적 구조 압축 데이터, 허프만 테이블, 속성 AC 압축 데이터, 속성 DC 압축 데이터는 다중화부(118)에 의해 하나의 데이터 스트림으로 다중화된다. 이를 통해, 압축된 포인트 클라우드 데이터가 생성된다.
도 2는 본 개시에서 적용되는 영상 처리 시스템에서 디코더(decoder)의 구조를 도시한 도면이다.
도 2를 참고하면, 디코더는 역다중화부(de-multiplexer, DE-MUX)(202), 허프만 디코더(Huffman decoder)(204), 역 RLC부(inverse RLC unit)(206), 역 3차원 스캔부(inverse 3D-scan unit)(208), 역 DPCM부(inverse DPCM unit)(210), 역양자화부(dequantization unit)(212), 3차원 IDCT부(3D-inverse DCT unit)(214)를 포함한다.
역다중화부(202)는 인코더(예: 도 1의 인코더)에 의해 생성된 압축된 포인트 클라우드 데이터를 포함하는 입력 데이터를 기하학적 구조 압축 데이터, 허프만 테이블, 속성 AC 압축 데이터, 속성 DC 압축 데이터로 분리한다.
허프만 디코더(204), 역 RLC부(206), 역 3차원 스캔부(208), 역 DPCM부(210), 역양자화부(212)는 허프만 디코딩, RLC 디코딩, 역 3차원 스캐닝, DPCM 디코딩, 역양자화를 수행한다. 허프만 디코더(204), 역 RLC부(206), 역 3차원 스캔부(208), 역 DPCM부(210), 역양자화부(212)는 '압축 해제부'로 통칭될 수 있다. 압축 해제부의 구성을 보다 상세히 살펴보면 다음과 같다.
허프만 디코더(204)는 허프만 테이블을 이용하여, 기하학적 구조 압축 데이터, 속성 AC 압축 데이터, 속성 DC 압축 데이터 각각에 대해 허프만 디코딩을 수행한다. 이때, 기하학적 구조 압축 데이터, 속성 AC 압축 데이터로부터 복원된 기하학적 구조 RLC 데이터 및 속성 AC RLC 데이터는 역 RLC부(206)로 제공되고, 속성 DC 압축 데이터로부터 복원된 속성 DC DPCM 데이터는 역 DPCM부(210)로 제공된다. 다른 실시 예에 따라, 허프만 디코더(104)는 다른 종류의 엔트로피 디코딩을 수행하는 구성요소로 대체될 수 있다.
역 RLC부(206)은 기하학적 구조 RLC 데이터 및 속성 AC RLC 데이터에 대해 RLC 디코딩을 수행함으로써, 기하학적 구조 1차원 데이터 및 속성 AC 1차원 데이터를 생성한다. 역 3차원 스캔부(208)는 기하학적 구조 1차원 데이터 및 속성 AC 1차원 데이터에 대해 역 3차원 스캔을 수행함으로써 1차원 데이터를 3차원 구조로 변환한다.
역 DPCM부(210)는 속성 DC DPCM 데이터에 대해 DPCM의 역연산을 수행함으로써 속성 DC 데이터를 생성한다. 역양자화부(212)는 속성 AC 데이터 및 속성 DC 데이터에 대해 역양자화를 수행함으로써 속성 DCT 데이터를 생성한다. 3차원 IDCT부(214)는 속성 DCT 데이터에 대해 IDCT 연산을 수행함으로써 속성 데이터를 생성한다.
역 3차원 스캔부(208)에 의해 복원된 기하학적 구조 3D 데이터 및 3차원 IDCT부(214)에 의해 복원된 속성 데이터로부터 포인트 클라우드 데이터(216)이 복원될 수 있다. 여기서, 속성 데이터는 패딩 값들을 포함하므로, 패딩 값이 제거되는 동작이 더 수행될 수 있다. 이를 위해, 도 2에 도시되지 아니하였으나, 점유 정보에 기하학적 구조 정보에 기반하여 패딩 값들을 제거하는 제거부가 더 포함될 수 있다.
도 3은 본 개시에서 적용되는 영상 처리 시스템에서 인코더의 동작 절차를 도시한 도면이다. 도 3은 인코더(예: 도 1의 인코더)의 동작 방법을 예시한다.
도 3을 참고하면, 301 단계에서, 인코더는 포인트 클라우드 데이터를 획득한다. 즉, 포인트 클라우드 데이터가 인코더로 입력될 수 있다. 여기서, 포인트 클라우드 데이터는 3차원 공간상 점(예: 복셀(voxel))들에 대한 정보로서, 기하학적 구조 정보 및 속성 정보를 포함할 수 있다. 입력되는 포인트 클라우드 데이터는 포인트 클라우드 영상을 구성하는 하나의 프레임일 수 있다.
303 단계에서, 인코더는 포인트 클라우드 데이터를 매크로 큐브(macro cube)들로 분할한다. 구체적으로, 인코더는 포인트 클라우드 영상을 포함하는 바운딩 박스(bounding box)를 균일 또는 비균일한 크기의 3차원 공간들로 분할할 수 있다. 여기서, 매크로 큐브는 이하 압축 연산을 위한 단위 블록으로 사용된다.
305 단계에서, 인코더는 점유(occupied) 정보를 생성한다. 점유 정보는 포인트 클라우드 영상의 기하학적 구조를 나타내는 정보의 일 예이다. 점유 정보는 바운딩 박스 내에서 3차원 객체의 표면을 표현하는 점들이 존재하는 좌표들을 지시한다. 즉, 인코더는 매크로 큐브 단위의 3차원 공간 내에서 포인트 클라우드 영상의 점의 유무를 나타내는 정보를 생성한다.
307 단계에서, 인코더는 근사 패딩을 수행한다. 인코더는 각 매크로 큐브 내에서 점이 없는 빈 공간의 속성 값을 미리 정의된 규칙에 따라 결정되는 값으로 채운다. 여기서, 미리 정의된 규칙에 따라 결정되는 값은 이후의 압축을 위한 연산(예: DCT 연산)의 효율을 높이도록 결정될 수 있다. 예를 들어, 패딩은 고주파 성분을 제거하도록 수행될 수 있다.
309 단계에서, 인코더는 블러링을 수행한다. 블러링은 매크로 큐브 내의 점들의 속성 값들의 고주파 성분을 제거하도록 수행된다. 이때, 인코더는 존재하는 점의 속성 값들의 왜곡 없이 블러링을 수행할 수 있다. 구체적으로, 블러링을 위해, 인코더는 309a 단계에서 매크로 큐브 내의 좌표 별 속성 값들을 나타내는 3차원 행렬을 축소하고, 309b 단계에서 3차원 행렬을 다시 원래 크기로 확대하고, 존재하는 점들의 속성 값들을 원본 값들로 복원할 수 있다. 단, 다른 실시 예에 따라, 309 단계는 생략될 수 있다.
311 단계에서, 인코더는 3차원 DCT 연산을 수행한다. 이때, 인코더는 속성 값들에 대해 3차원 DCT 연산을 수행한다. 313 단계에서, 인코더는 DCT 연산된 속성 값들을 양자화한다. 이에 따라, 인코더는 속성 값들의 AC 성분 및 DC 성분을 획득한다. 315 단계에서, 인코더는 DPCM 코딩을 수행한다. 인코더는 DPCM 코딩을 통해 속성 값들의 DC 성분을 압축한다.
317 단계에서, 인코더는 3차원 스캔을 수행한다. 3차원 스캔은 속성 값들의 AC 성분 및 점유 정보에 대해 수행될 수 있다. 스캔을 통해, 3차원 공간에 배치된 속성 값들이 미리 정의된 순서에 따라 1차원 배열된다. 예를 들어, 미리 정의된 순서는 각 속성 값들에 대응되는 주파수 성분에 기반하여 정의될 수 있다. 319 단계에서, 인코더는 RLC 코딩을 수행한다. 인코더는 RCL 코딩을 통해 3차원 스캔을 통해 1차원 배열된 속성 값들의 AC 성분 및 점유 정보를 압축한다. 즉, 인코더는 3차원 스캔을 통해 1차원으로 나열된 속성 값들 중 중복되는 값을 한번에 표기함으로써, 속성 값들을 압축할 수 있다.
321 단계에서, 인코더는 엔트로피 코딩을 수행한다. 즉, 인코더는 RLC 코딩된 AC 성분 및 점유 정보, DPCM 코딩된 속성 값들의 DC 성분에 대해 엔트로피 코딩을 수행한다. 예를 들어, 엔트로피 코딩은 허프만 코딩, 범위 코딩, 산술 코딩 중 어느 하나 에 기반하여 수행될 수 있다. 엔트로피 코딩의 결과물은 인코더를 가진 장치에게 송신되거나 또는 파일에 기록될 수 있다.
도 3을 참고하여 설명한 바와 같이, 인코더가 포인트 클라우드 데이터를 압축할 수 있다. 도 3을 참고하여 설명된 각 동작은 이하 예시적인 도면의 참고와 함께 보다 상세히 설명된다.
도 4a 및 도 4b는 본 개시에서 적용되는 영상 처리 시스템에서 포인트 클라우드를 포함하는 바운딩 박스 및 큐브 단위로 분할된 바운딩 박스의 예를 도시한 도면들이다. 도 4a 및 도 4b는 도 3의 303 단계에 대한 일 예를 도시한다.
전술한 바와 같이, 입력되는 포인트 클라우드 영상은 일정한 크기의 육면체인 매크로 큐브들로 분할된다. 이때, 매크로 큐브의 크기는 필요에 따라 임의로 변경될 수 있다. 도 4a 및 도 4b를 참고하면, 포인트 클라우드 영상(412)을 모두 포함하고 있는 바운딩 박스(414)는 일정한 크기의 육면체인 매크로 큐브들(420)로 분할된다.
도 4b에서, 매크로 큐브들은 모두 균일한 크기의 정육면체로 예시되었다. 하지만, 다른 실시 예에 따라, 바운딩 박스(414)를 통해 일정한 크기의 정육면체들로 분할하는 것 외에, 포인트 클라우드 영상(412)을 포함하는 바운딩 박스(414)를 직육면체 형태의 매크로 큐브로 분할하는 다양한 방법이 적용 가능하다.
또한, 다른 실시 예에 따라, 바운딩 박스(414)는 다양한 크기의 매크로 큐브들로 분할될 수 있다. 예를 들어, 바운딩 박스(414) 내에서 점이 존재하는지 여부, 매크로 큐브 내에 포함되는 점들의 속성 값들의 주파수 성분 분포 등에 기반하여, 매크로 큐브의 크기가 달라질 수 있다. 예를 들어, 점들의 성분 값들이 변화가 큰 부분, 즉, 높은 주파수 성분의 속성 값의 크기가 큰 부분의 경우, 매크로 큐브는 상대적으로 작게 설정될 수 있다. 또한, 점이 존재하지 않는 부분을 포함하는 매크로 큐브는 상대적으로 크게 설정될 수 있다.
도 5a 및 도 5b는 본 개시에서 적용되는 영상 처리 시스템에서 포인트 클라우드 데이터 및 대응하는 점유 정보의 예를 도시한 도면들이다. 도 5a 및 도 5b는 도 3의 305 단계에서 생성되는 점유 정보의 일 예를 도시한다.
도 5a 및 도 5b를 참고하면, 포인트 클라우드 영상의 매크로 큐브 내에서 점이 존재하는 좌표의 값은 긍정의 값(예: 1)로, 존재하지 않는 좌표의 값은 부정의 값(예: 0)으로 표시될 수 있다. 구체적으로, 도 5a를 참고하면, 어느 하나의 매크로 큐브에 포함된 점이 존재할 수 있는 16개의 좌표들 중, 2번째 행의 오른쪽 2개 열들, 3번째 행의 모든 열들, 4번째 행의 모든 열들에 포함되는 좌표들에 점들이 존재한다. 이때, 존재하는 점들의 속성 값들은 동일하지 아니할 수 있다. 이 경우, 도 5b를 참고하면, 점유 정보에서 2번째 행의 오른쪽 2개 열들, 3번째 행의 모든 열들, 4번째 행의 모든 열들에 포함되는 좌표들에 점들이 긍정의 값으로 설정된다. 이와 같이, 인코더는 점 당 1개의 비트로 점의 유무를 점유 정보를 생성함으로써 점의 위치를 나타날 수 있다.
도 6a 및 도 6b는 본 개시에서 적용되는 영상 처리 시스템에서 패딩(padding)된 점유 정보의 예들을 도시한 도면들이다. 도 6a 및 도 6b는 도 3의 307 단계에서 수행되는 패딩의 일 예를 도시한다. 도 6a 및 도 6b는 도 5a 및 5b와 같이 점유 정보가 생성된 경우에 대응하는 패딩의 예를 도시한다.
근사 패딩 동작은 매크로 큐브 내에서 점이 없는 빈 공간의 속성 값을 점의 속성 값과 유사한 값들로 채우기 위해 수행될 수 있다. 근사 패딩 동작은 점의 속성 값 및 패딩된 속성 값의 차이를 줄임으로써, 3차원 DCT를 수행했을 때 고주파 성분을 줄이기 위해 수행될 수 있다.
도 6a를 참고하면, 인코더는 매크로 큐브 내에서 점이 존재하는 좌표의 속성 값으로서 해당 점의 속성 값을 입력한다. 이를 위해, 도 5b와 같은 점유 정보가 활용될 수 있다. 점이 존재하지 않는 빈 공간의 경우, 도 6b와 같이, 존재하는 점들의 속성 값의 평균 값으로 채워질 수 있다. 단, 다른 실시 예에 따라, 평균 값 외에도, 빈 공간은 점의 기하 평균, 근처 점의 속성 값 등으로 패딩될 수 있다.
도 7a 내지 도 7d는 본 개시에서 적용되는 영상 처리 시스템에서 패딩된 점유 정보에 대한 블러링(blurring)의 예를 도시한 도면들이다. 도 7a 내지 도 7d는 도 3의 309 단계에서 수행되는 블러링의 일 예를 도시한다.
전술한 바와 같이, 근사 패딩을 통해 채워진 속성 값들을 포함하는 매크로 큐브에 대해 블러링 동작이 수행될 수 있다. 블러링 동작은 매크로 큐브에 포함된 속성 값들의 고주파 성분을 추가로 제거하는 역할을 수행할 수 있다.
도 7a를 참고하면, 매크로 큐브에서, 평균 값을 패딩함에 따라 빈 공간이 평균 값으로 채워질 수 있다. 이때, 4×4 크기의 속성 값들은 축소를 위해 4개의 2×2 크기 블록들로 분할된다. 도 7b를 참고하면, 4×4 크기의 속성 값들이 2×2 크기로 축소된다. 이때, 각 값들은 대응되는 블록에 포함된 축소 전 속성 값들의 평균 값으로 설정된다. 즉, 축소 동작에 의해 매크로 큐브는 일정 비율로 축소되며, 축소된 매크로 큐브의 각 속성 값은 축소되기 전 매크로 큐브의 속성 값들의 평균 값으로 설정된다. 도 7c를 참고하면, 매크로 큐브는 다시 확대된다. 확대 동작에 의해 축소된 매크로 큐브는 다시 원래의 크기로 변경되며, 축소된 매크로 큐브에 포함된 평균 값이 대응하는 블록에 동일하게 삽입된다. 7d를 참고하면, 확대된 매크로 큐부에서, 점이 위치하는 좌표의 속성 값들이 원본 값으로 복원된다. 즉, 점유 정보 및 원본 매크로 큐브의 속성 값들을 이용하여, 점이 있는 위치의 원본 값이 복원된다.
도 8a 및 도 8b는 본 개시에서 적용되는 영상 처리 시스템에서 근사 패딩 결과의 예를 도시한 도면들이다. 도 8a 및 도 8b은 포인트 클라우드 영상의 속성 값에 대한 근사 패딩 결과를 예시한다. 도 8a와 같이 존재하는 점에만 속성 값들 존재하는 매크로 큐브는, 근사 패딩에 의해 도 8b와 같이 빈 공간에도 존재하는 점들과 유사한 속성 값들로 채워진 매크로 큐브로 갱신된다.
전술한 바와 같이 인코더에서 처리된 후 압축된 포인트 클라우드 데이터는, 디코더에 의해 압축 해제 후, 복원될 수 있다. 디코더에서, 포인트 클라우드 데이터는 속성 정보 및 점유 정보를 이용하여 재구성될 수 있다.
도 9는 본 개시에서 적용되는 영상 처리 시스템에서 속성 정보 및 점유 정보를 이용한 포인트 클라우드의 복원에 대한 예를 도시한 도면이다. 도 9를 참고하면, 속성 데이터(910) 및 점유 데이터(920)에 기반하여, 포인트 클라우드 데이터(930)가 복원될 수 있다. 즉, 속성 데이터(910)에 포함된 속성 값들 중, 점유 데이터(920)에서 부정의 값(예: 0)에 의해 지정된 좌표에 채워진 패딩 값을 제거함으로써, 포인트 클라우드 데이터(930)가 복원될 수 있다. 다시 말해, 인코더는 점유 데이터(920) 내에서의 값이 긍정의 값(예: 1)을 갖는 좌표에 해당 속성 값을 가진 점을 생성함으로써, 포인트 클라우드 데이터를 복원할 수 있다.
도 3의 311 단계에서 3차원 DCT 연산이 수행된다. 3차원 DCT 연산을 수식으로 표현하면 이하 [수학식 1]과 같다.
Figure 112020122915714-pat00001
[수학식 1]에서,
Figure 112020122915714-pat00002
는 3차원 공간 상의 매크로 큐브
Figure 112020122915714-pat00003
의 3차원 DCT 연산 결과,
Figure 112020122915714-pat00004
는 매크로 큐브의 x 축 크기,
Figure 112020122915714-pat00005
는 매크로 큐브의 y 축 크기,
Figure 112020122915714-pat00006
는 매크로 큐브의 z 축 크기,
Figure 112020122915714-pat00007
는 3차원 공간 상의 매크로 큐브를 의미한다.
도 10a 및 도 10b는 본 개시에서 적용되는 영상 처리 시스템에서 3차원 스캔의 예들을 도시한 도면들이다. 도 10a 및 도 10b는 도 3의 317 단계에서 수행되는 3차원 스캔을 위한 좌표 선택의 순서의 예들을 도시한다.
3차원 상의 매크로 큐브의 점유 정보 및 양자화된 속성 정보는 RLC를 통해 압축되며, RLC 압축을 위해 3차원 스캔이 수행된다. 스캔은 DC 성분 값(예: 매크로 큐브의 원점)으로부터 고주파 성분으로 순차적으로 수행된다. 일 실시 예에 따라, 스캔은 매크로 큐브 내 각 점의 x 좌표 값, y 좌표 값, z 좌표 값의 합의 오름차순으로 수행될 수 있다. 도 10a를 참고하면, 좌표 값들의 합이 0인 제1 점(1010)이 가장 먼저 선택되고, 이후, 좌표 값들의 합이 1인 제2 점(1011) 제3 점(1012), 제4점(1013)이 순차적으로 선택되고, 좌표 값들의 합이 2인 제5 점(1014), 제6 점(1015), 제7 점(1016), 제8 점(1017), 제9 점(1018), 제10 점(1019)이 순차적으로 선택된다. 이때, 좌표 값들 합이 동일한 점들 간의 순서는 변경될 수 있다. 예를 들어, 도 10b와 같이, 제1 점(1020)이 선택되고, 제2 점(1021) 제3 점(1022), 제4점(1023)이 순차적으로 선택되고, 좌표 값들의 합이 2인 제5 점(1024), 제6 점(1025), 제7 점(1026), 제8 점(1027), 제9 점(1028), 제10 점(1029)이 순차적으로, 즉, 지그재그 순으로 선택된다. 도 10a 또는 도 10b의 예와 달리, 좌표 값들의 합이 동일한 점들 간 다른 순서로 선택하는 것도 가능하다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.

Claims (20)

  1. 영상 처리 시스템에서 포인트 클라우드(point cloud) 데이터를 압축하기 위한 방법에 있어서,
    포인트 클라우드 영상을 포함하는 바운딩 박스(bounding box)를 복수의 큐브들로 분할하는 단계;
    상기 복수의 큐브들 각각에서 속성(attribute) 값을 가진 점이 존재하지 아니하는 좌표들에 패딩 값을 삽입하는 단계;
    상기 패딩 값을 포함하는 속성 값들을 블러링(blurring)하는 단계;
    상기 블러링된 속성 값들에서 패딩 값들을 제외한 나머지 속성 값들을 원본 값으로 복원하는 단계;
    상기 패딩 값을 포함하는 속성 값들에 대하여 3차원 DCT(discrete cosine transform) 연산을 수행하는 단계; 및
    상기 DCT 연산된 속성 값들을 압축하는 단계를 포함하는 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 속성 값들을 블러링하는 단계는,
    상기 속성 값들을 포함하는 큐브를 축소하는 단계;
    상기 축소된 큐브를 축소 전의 크기로 확장하는 단계를 포함하고,
    상기 나머지 속성 값들을 원본 값으로 복원하는 단계는,
    상기 확장된 큐브에서 패딩 값들을 제외한 나머지 속성 값들을 원본 값으로 복원하는 것을 특징으로 하는, 방법.
  4. 청구항 1에 있어서,
    상기 패딩 값을 삽입하는 단계는,
    상기 점이 존재하는 좌표들을 지시하는 점유(occupied) 정보를 생성하는 단계; 및
    상기 점유 정보에 의해 빈 공간으로 지시되는 위치에 상기 패딩 값을 삽입하는 단계를 포함하는 방법.
  5. 청구항 1에 있어서,
    상기 DCT 연산된 속성 값들을 압축하는 단계는,
    상기 DCT 연산된 속성 값들을 양자화하는 단계;
    상기 양자화된 값들 중 DC(direct current) 성분을 제1 방식으로 압축하는 단계; 및
    상기 양자화된 값들 중 AC(alternative current) 성분을 제2 방식으로 압축하는 단계를 포함하는 방법.
  6. 청구항 5에 있어서,
    상기 DC 성분을 제1 방식으로 압축하는 단계는,
    상기 DC 성분을 DPCM(differential pulse-code modulation) 코딩하는 단계; 및
    상기 DPCM 코딩된 DC 성분을 엔트로피 코딩하는 단계를 포함하는 방법.
  7. 청구항 5에 있어서,
    상기 AC 성분을 제2 방식으로 압축하는 단계는,
    상기 점들이 존재하는 좌표들을 지시하는 점유(occupied) 정보에 기반하여 상기 AC 성분을 3차원 스캔하는 단계;
    상기 3차원 스캔된 AC 성분 및 상기 점유 정보를 RLC(run length coding) 코딩하는 단계; 및
    상기 RLC 코딩된 상기 AC 성분 및 상기 점유 정보를 엔트로피 코딩하는 단계를 포함하는 방법.
  8. 청구항 7에 있어서,
    상기 3차원 스캔하는 단계는,
    상기 AC 성분에 포함되는 속성 값들을 축 별 좌표 값들의 합의 오름차순으로 배열하는 단계를 포함하는 방법.
  9. 청구항 1에 있어서,
    상기 복수의 큐브들은, 제1 크기를 가지는 제1 큐브 및 제2 크기를 가지는 제2 큐브를 포함하는 방법.
  10. 청구항 9에 있어서,
    상기 제1 크기는, 상기 제2 크기보다 작고,
    상기 제1 큐브는, 상기 제2 큐브에 비하여 변화의 정도가 큰 속성 값들을 가지는 점들을 포함하는 방법.
  11. 영상 처리 시스템에서 압축된 포인트 클라우드(point cloud) 데이터를 복원하기 위한 방법에 있어서,
    상기 압축된 포인트 클라우드 데이터를 압축 해제함으로써 DCT(discrete cosine transform) 연산된 속성(attribute) 값들을 획득하는 단계;
    상기 DCT 연산된 속성 값들에 대하여 3차원 역(inverse) DCT 연산을 수행함으로써 상기 속성 값들을 포함하는 복수의 큐브들을 복원하는 단계; 및
    상기 복수의 큐브들 각각에서 상기 속성 값들에 포함된 패딩 값들을 제거하는 단계를 포함하고,
    상기 DCT 연산된 속성 값은,
    상기 패딩 값을 포함하여 블러링된 속성 값에서, 패딩 값을 제외한 나머지 속성 값들이 복원된 값을 DCT 연산한 것을 특징으로 하는 방법.
  12. 청구항 11에 있어서,
    상기 압축을 해제하는 단계는,
    상기 압축된 포인트 클라우드 데이터에 포함된 상기 DCT 연산된 속성 값들의 DC(direct current) 성분을 제1 방식으로 압축 해제하는 단계;
    상기 압축된 포인트 클라우드 데이터에 포함된 점유(occupied) 정보 및 상기 DCT 연산된 속성 값들의 AC(alternative current) 성분을 제2 방식으로 압축 해제하는 단계; 및
    상기 DC 성분 및 상기 AC 성분을 역양자화하는 단계를 포함하는 방법.
  13. 청구항 12에 있어서,
    상기 제1 방식으로 압축 해제하는 단계는,
    상기 압축된 포인트 클라우드 데이터를 엔트로피 디코딩하는 단계;
    상기 엔트로피 디코딩된 포인트 클라우드 데이터에서 상기 DC 성분을 추출하는 단계; 및
    상기 DC 성분을 DPCM(differential pulse-code modulation) 디코딩하는 단계를 포함하는 방법.
  14. 청구항 12에 있어서,
    상기 제2 방식으로 압축 해제하는 단계는,
    상기 압축된 포인트 클라우드 데이터를 엔트로피 디코딩하는 단계;
    상기 엔트로피 디코딩된 포인트 클라우드 데이터에서 상기 점유 정보 및 상기 AC 성분을 추출하는 단계;
    상기 점유 정보 및 상기 역 3차원 스캔된 상기 AC 성분을 RLC(run length coding) 디코딩하는 단계; 및
    상기 점유 정보에 기반하여 상기 AC 성분을 역(inverse) 3차원 스캔하는 단계를 포함하는 방법.
  15. 청구항 14에 있어서,
    상기 역 3차원 스캔하는 단계는,
    상기 AC 성분에 포함되는 속성 값들을 축 별 좌표 값들의 합의 오름차순으로 3차원 좌표들에 배치하는 단계를 포함하는 방법.
  16. 청구항 11에 있어서,
    상기 패딩 값들을 제거하는 단계는,
    상기 압축된 포인트 클라우드 데이터에 포함된 점유 정보에 의해 빈 공간으로 지시되는 속성 값들을 제거하는 단계를 포함하는 방법.
  17. 청구항 11에 있어서,
    상기 복수의 큐브들은, 제1 크기를 가지는 제1 큐브 및 제2 크기를 가지는 제2 큐브를 포함하는 방법.
  18. 청구항 17에 있어서,
    상기 제1 크기는, 상기 제2 크기보다 작고,
    상기 제1 큐브는, 상기 제2 큐브에 비하여 변화의 정도가 큰 속성 값들을 가지는 점들을 포함하는 방법.
  19. 영상 처리 시스템에서 포인트 클라우드(point cloud) 데이터를 압축하기 위한 인코더에 있어서,
    포인트 클라우드 영상을 포함하는 바운딩 박스(bounding box)를 분할한 복수의 큐브들 각각에서 속성(attribute) 값을 가진 점이 존재하지 아니하는 좌표들에 패딩 값을 삽입하는 패딩부;
    상기 패딩 값을 포함하는 속성 값들에 대하여 3차원 DCT(discrete cosine transform) 연산을 수행함으로써 DCT 연산된 속성 값들을 생성하는 DCT 연산부; 및
    상기 DCT 연산된 속성 값들을 압축하는 압축부를 포함하고,
    상기 DCT 연산된 속성 값은,
    상기 패딩 값을 포함하여 블러링된 속성 값에서, 패딩 값을 제외한 나머지 속성 값들이 복원된 값을 DCT 연산한 것을 특징으로 하는 인코더.
  20. 영상 처리 시스템에서 압축된 포인트 클라우드(point cloud) 데이터를 복원하는 디코더에 있어서,
    상기 압축된 포인트 클라우드 데이터를 압축 해제함으로써 DCT(discrete cosine transform) 연산된 속성(attribute) 값들을 획득하는 해제부;
    상기 DCT 연산된 속성 값들에 대하여 3차원 역(inverse) DCT 연산을 수행함으로써 상기 속성 값들을 포함하는 복수의 큐브들을 복원하는 역 DCT 연산부;
    상기 복수의 큐브들 각각에서 상기 속성 값들에 포함된 패딩 값들을 제거하는 제거부를 포함하고,
    상기 DCT 연산된 속성 값은,
    상기 패딩 값을 포함하여 블러링된 속성 값에서, 패딩 값을 제외한 나머지 속성 값들이 복원된 값을 DCT 연산한 것을 특징으로 하는 디코더.
KR1020200153417A 2020-11-17 2020-11-17 영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치 KR102401373B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200153417A KR102401373B1 (ko) 2020-11-17 2020-11-17 영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153417A KR102401373B1 (ko) 2020-11-17 2020-11-17 영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102401373B1 true KR102401373B1 (ko) 2022-05-23

Family

ID=81804032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153417A KR102401373B1 (ko) 2020-11-17 2020-11-17 영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102401373B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130026853A (ko) * 2011-09-06 2013-03-14 한국전자통신연구원 복셀 그리드를 이용한 포인트 클라우드의 렌더링 방법 및 장치
KR101685932B1 (ko) * 2015-07-13 2016-12-13 김경준 고기능 이미지 파일 및 이의 편집장치
KR20200038534A (ko) * 2017-09-18 2020-04-13 애플 인크. 포인트 클라우드 압축

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130026853A (ko) * 2011-09-06 2013-03-14 한국전자통신연구원 복셀 그리드를 이용한 포인트 클라우드의 렌더링 방법 및 장치
KR101685932B1 (ko) * 2015-07-13 2016-12-13 김경준 고기능 이미지 파일 및 이의 편집장치
KR20200038534A (ko) * 2017-09-18 2020-04-13 애플 인크. 포인트 클라우드 압축

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Vladyslav Zakharchenko, V-PCC Codec description, ISO/IEC JTC1/SC29/WG11 MPEG2019/N18190, w18190 (2019.03.13.) 1부.* *
조성환, DCT와 계층 분할 벡터 양자화를 이용한 3차원 영상 부호화, 인터넷정보학회논문지, vol.6, no.2, pp. 59-68 (2005.) 1부.* *

Similar Documents

Publication Publication Date Title
US10798389B2 (en) Method and apparatus for content-aware point cloud compression using HEVC tiles
JP3848443B2 (ja) 圧縮デジタルデータ処理方法
KR102645508B1 (ko) Haar 기반 포인트 클라우드 코딩을 위한 방법 및 장치
RU2567988C2 (ru) Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт
JP2001222392A (ja) 印刷制御装置及びその方法
JP2009225422A (ja) 画像符号化装置及び画像処理装置及びそれらの制御方法
JP2006502604A (ja) 任意形状オブジェクトの画像圧縮方法
CN113557729A (zh) 已编码点云数据的划分
JP7476432B2 (ja) メッシュ復元のための方法、装置及びコンピュータプログラム
CN113508598A (zh) 用于点云压缩的增强的补丁边界标识的方法和装置
JPH11150660A (ja) 情報圧縮方法、圧縮装置、情報処理方法、情報処理装置、及び、記録媒体
KR102401373B1 (ko) 영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치
JP2023515602A (ja) 点群コーディングのための方法および装置
Špelič et al. Lossless compression of threshold-segmented medical images
JP6186429B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
CN115088017A (zh) 点云的树内几何量化
JP2023552114A (ja) メッシュ展開のための方法、装置及びプログラム
KR20230051201A (ko) 디코더에 의한 메시 압축을 위한 적응형 샘플링의 방법 및 장치
US7099523B2 (en) Method and system for scaling a signal sample rate
WO2014167730A1 (ja) 圧縮装置、圧縮方法、および圧縮プログラム
Kumar et al. Aggrandize Bit Plane Coding using Gray Code Method
JP7504298B2 (ja) 3次元(3d)メッシュのuv座標を処理するための方法、装置及びコンピュータプログラム
JP5731816B2 (ja) 画像処理装置、画像処理方法
JP3132171B2 (ja) 縮小画像の復号装置
Adamson Lossless compression of magnetic resonance imaging data

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant