KR20050082052A - 3차원 체적 데이터 부호화/복호화 방법 및 장치 - Google Patents

3차원 체적 데이터 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20050082052A
KR20050082052A KR1020040010401A KR20040010401A KR20050082052A KR 20050082052 A KR20050082052 A KR 20050082052A KR 1020040010401 A KR1020040010401 A KR 1020040010401A KR 20040010401 A KR20040010401 A KR 20040010401A KR 20050082052 A KR20050082052 A KR 20050082052A
Authority
KR
South Korea
Prior art keywords
node
volume
decoding
data
encoding
Prior art date
Application number
KR1020040010401A
Other languages
English (en)
Other versions
KR100519780B1 (ko
Inventor
이신준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR10-2004-0010401A priority Critical patent/KR100519780B1/ko
Priority to EP20050250828 priority patent/EP1566769B1/en
Priority to US11/059,462 priority patent/US8558834B2/en
Priority to JP2005039422A priority patent/JP4759284B2/ja
Priority to CN2005100762843A priority patent/CN1684109B/zh
Publication of KR20050082052A publication Critical patent/KR20050082052A/ko
Application granted granted Critical
Publication of KR100519780B1 publication Critical patent/KR100519780B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 3차원 체적 데이터 부호화/복호화 방법 및 장치에 관한 것으로서, 그 부호화 방법은 포인트텍스쳐, 체적소 및 8진트리의 데이터 중 어느 하나로 이루어진 3차원 체적 데이터를, 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리 데이터로 변환하는 단계; 적응적 8진트리의 노드를 부호화하는 단계; 및 부호화된 데이터를 비트스트림으로 생성하는 단계를 포함함을 특징으로 한다. 그리고 그 복호화방법은 3차원 체적 데이터의 비트스트림으로부터 트리를 구성하는 노드들을 판독하는 단계; 판독된 노드들을 복호화하는 단계; 복호화된 노드들로부터 적응적 8진트리를 복원하는 단계; 및 적응적 8진트리로부터 8진트리, 체적소, 포인트텍스쳐 데이터 중 어느 하나의 데이터로 복원하는 단계를 포함함을 특징으로 한다.
본 발명에 의하면, 방대한 양의 3차원 체적 데이터를 고효율로 부호화할 수 있고, 고정된 해상도의 체적 데이터뿐만 아니라 임의의 해상도의 체적 데이터도 고효율로 부호화할 수 있어, 적은 데이터의 양으로 고화질의 3차원 체적 데이터를 복원할 수 있다. 또한, 점진적인 비트스트림을 생성하므로 디코딩시에 3차원 체적 데이터를 점진적으로 보여줄 수 있는 특징이 있다.

Description

3차원 체적 데이터 부호화/복호화 방법 및 장치{Method and apparatus for encoding and decoding 3D volume data}
본 발명은 3차원 체적(Volume) 데이터 부호화 및 복호화에 관한 것으로서, 보다 상세하게는 포인트텍스쳐(PointTexture), 체적소(Voxel), 8진트리(Octree) 데이터 중 어느 하나로 이루어진 3차원 체적 데이터 부호화/복호화 방법 및 장치에 관한 것이다.
3차원 그래픽스 분야에 사용되는 데이터는 일반적으로 그 데이터의 양이 크다. 포인트텍스쳐 데이터는 체적소 데이터와 8진트리로 서로 형태 변환 가능한데, 이들 3차원 체적 데이터의 양은 대용량이다. 이러한 대용량의 데이터는 저장하는데 고용량의 메모리 공간이 필요하고, 연산하는데 고속의 프로세싱(Processing) 능력이 필요하다. 따라서, 데이터를 처리하는데 많은 비용이 발생하는 문제가 있는데, 이를 효율적으로 압축할 필요성이 있다.
최근 3차원 그래픽스 분야에서는 실제 이미지와 같은 현실감 있는 그래픽 화면을 생성하려는 연구가 진행되어 왔는데, 그 중에 한가지가 이미지 기반 시각화 (Image-based rendering) 표현 방법이다. 이는 전통적으로 3차원 데이터 모델링 방법에서 쓰이는 다각형 메쉬 모델(Polygonal mesh model)에 비해, 데이터의 크기와 연산 시간을 줄여줄 뿐만 아니라, 보다 현실감 있는 영상을 제공해줄 수 있는 장점이 있다.
현재 3차원 객체를 표현하는 주된 방법은 다각형 메쉬 모델이다. 이는 삼각형, 사각형 또는 그 이상의 다각형을 사용하여 임의의 형상을 표현할 수 있다. 3차원 그래픽스 소프트웨어 기술과 하드웨어 기술의 발전으로 인해 복잡한 객체와 장면을 실시간으로 정지 영상 또는 동영상의 다각형 모델로 시각화하는 것이 가능해졌다.
한편, 또 다른 3차원 표현 방식에 대한 연구가 지난 수 년간 활발하게 진행되어 왔다. 이는 현실 세계의 객체들을 다각형 모델로 구성하는 것이 어려울 뿐만 아니라 렌더링에서 복잡도가 높아 연산 시간이 길고, 실제 사진과 같이 현실적인 장면을 생성하지 못하는 품질 때문에 이러한 연구가 진행되어 왔다.
필요한 애플리케이션에서는 막대한 양의 다각형을 필요로 한다. 예를 들어, 인체의 상세한 모델은 보통 수백만개 이상의 다각형들을 포함하며, 이를 다루는 것은 쉬운 일이 아니다. 비록 3차원 스캐너와 같이 3차원 측정 기술분야에서의 최근의 진보에 의해 수용 가능한 오차를 갖는 조밀한 3차원 데이터를 얻을 수 있지만, 전체 객체에 대해 연속적으로 완벽한 다각형 모델을 얻는 것은 여전히 비용이 많이 들고 매우 어렵다. 또한, 사진과 같은 현실적인 품질을 얻기 위한 렌더링 기술은 연산에 있어 복잡하므로 실시간 렌더링이 어렵다.
깊이 이미지 기반 표현(Depth image-based representation: DIBR)은 복잡한 3차원 객체를 표현하고 렌더링하는 새로운 표현방법 및 렌더링 방법이다. DIBR은 MPEG-4 AFX(Animation Framework eXtension)에 채택되어 왔다. 컴퓨터 그래픽스에서는 전형적으로 다각형 메쉬(Polygonal mesh)로 객체(Object)를 표현하여 왔지만, DIBR 은 3차원 객체를 눈에 보이는 객체의 표면을 감싸는(Covering) 참조 이미지(Reference image)의 집합으로 나타낸다. 각 참조 이미지는 상응하는 깊이 맵(Depth map)으로 나타내어지며, 상기 깊이 맵은 이미지 평면의 픽셀로부터 객체 표면까지의 거리를 배열(Array)로 나타낸 것이다. DIBR의 이점 중 하나는 다각형 모델을 직접 사용하지 않고도 참조 이미지가 객체에 대한 양질(High quality)의 시각화(Visualization)를 제공할 수 있다는 것이다. 게다가, DIBR 뷰(View)를 렌더링하는 복잡도는 장면(Scene)의 복잡성에는 관계없이 뷰의 픽셀 수(즉 뷰의 해상도)에만 관련된다. DIBR 패밀리의 주된 형식(Format)은 심플텍스쳐(SimpleTexture), 포인트텍스쳐(PointTexture) 및 8진트리 이미지(OctreeImage)이다. 상기 포인트텍스쳐는 하나의 카메라 위치에서 바라본 픽셀들의 배열로 객체를 표현한다. 각각의 포인트텍스쳐 픽셀은 색깔, 깊이(픽셀로부터 카메라까지의 거리) 및 포인트텍스쳐 렌더링을 보조하는 몇 개의 다른 속성들에 의해 표현된다. 각 시선(Line of sight)을 따라 다수의 픽셀들이 있을 수 있으며, 따라서 포인트텍스쳐는 보통 다수의 층(Multiple layer)으로 구성된다. 1차원에서의 포인트텍스쳐의 간단한 예가 도 1에 도시되어 있다. 포인트텍스쳐는 전형적으로 대량의 데이터를 포함한다. 실제 이미지(Realistic image)는 보다 높은 샘플링 밀도와 엄청난 양의 데이터를 요구한다. 그러므로 포인트텍스쳐 이미지의 압축은 효율적으로 수행되어야 한다. 포인트텍스쳐의 노드 규격(Specification)은 도 2에 도시되어 있다. 도 2의 노드 규격에서 depth와 color필드가 압축 대상이다.
포인트텍스쳐에 관한 이전의 연구는 거의 없다. Duan 과 Li 가 포인트텍스쳐 영상을 압축하는 방법을 제시하였는데, 상기 방법은 계층화된 깊이 이미지(Layered Depth Image: LDI)의 압축 방법이라 불린다 [J.Duan J.Li Compression of the Layered Depth Image, IEEE Trans. Image Processing, vol.12, no.3, pp.365-372, March 2003]. 깊이 정보를 압축하기 위해, JPEG-LS 알고리즘이 적용되었다. 또한 색깔(Color)정보는 현존하는 코딩(Coding) 표준을 사용하여 압축된다. 그러나 이러한 알고리즘은 점진적(Progressive) 압축 및 전송을 지원하지 못한다.
패턴 코드 표현(PCR)을 사용하여 3차원 체적소(Voxel) 표면 모델을 압축하는 방법이 제안되었다 [C.S. Kim and S.U. Lee, Compact Encoding of 3D Voxel Surface Based on Pattern Code Representation, IEEE Trans. Image Processing, vol. 11, no.8, pp.932-943, 2002]. 그러나 이 방법은 계층적 8진트리(Hierachical octree) 구조를 이용하지 아니하며, 점진적 압축 (Progressive compression)을 이용하게 하는 것도 불가능하다.
MPEG-4 AFX 표준에서, PPM(Prediction by partial matching) 방법을 이용한 8진트리 압축 방법이 제안되었다 [ISO/IEC JTC1/SC29/WG11 14496-16:2003, Information Technology - Coding of Audio-Visual Objects - Part 16: Animation Framework eXtension (AFX)]. 이 방법 역시 점진적 비트스트림(Progressive bitstream)을 만들어내지는 못한다. 그리고, 이 방법에서는 8진트리 압축 방법을 사용하므로 체적 데이터의 해상도는 너비, 높이, 깊이의 값이 다 같아야 하는 고정된 해상도의 데이터만 압축할 수 있는 단점이 있다. 즉, 너비, 높이, 깊이가 각각 다른 임의의 해상도를 갖는 데이터에 대해서는 압축할 수가 없다.
[참고문헌]
[1] ISO/IEC JTC1/SC29/WG11 14496-16:2003, Information Technology - Coding of Audio-Visual Objects - Part 16: Animation Framework eXtension (AFX).
[2] MPEG-4 Video, MPEG-4 Video Verification Model Version 13.0, ISO/IEC JTC1/SC29/WG11 N2687, March 1999.
[3] JPEG VM ad-hoc, JPEG 2000 verification model 5.2 (technical description), ISO/IEC JTC1/SC29/WG1 N1422, Maui, Hawaii, Dec. 1999.
[4] M. Weinberger, G. Seroussi, G. Sapiro, The LOCO-I Lossless Image Compression Algorithm: Principles and Standardization into JPEG-LS, to appear in IEEE Trans. Image Processing.
[5] K. Sayood, Introduction to Data Compression 2nd edition, Academic Press, 2000.
[6] Y. Bayakovski et al., Depth image-based representations for static and animated 3D objects, Proc. ICIP- 2002, Rochester, New York, Sep. 2002.
[7] J. Duan and J. Li Compression of the Layered Depth Image, Proc. of Data Compression Conference, Snowbird, Utah, Mar. 2001, pp. 331-340.
[8] P. G. Howard and J. S. Vitter, Arithmetic coding for data compression, Proc. IEEE, vol. 82, no. 6, pp. 857--865, June 1994.
[9] C. S. Kim and S. U. Lee, Compact Encoding of 3D Voxel Surfaces Based on Pattern Code Representation, IEEE Trans. Image Processing, vol. 11, no. 8, pp. 932943, 2002.
본 발명이 이루고자 하는 기술적 과제는 3차원 체적 데이터를 효율적으로 부호화하고 임의의 해상도를 갖는 3차원 체적 데이터를 부호화할 수 있는 기능과 점진적인 압축(Progressive coding)을 가능하게 하는, 3차원 체적데이터 부호화 방법 및 장치를 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 3차원 체적 데이터의 해상도에 상관 없이 임의의 해상도를 갖는 3차원 체적 데이터를 복호화할 수 있는 기능과 적응적 8진트리를 사용하여 점진적인 압축(Progressive coding)에 대한 복원을 가능하게 하는, 3차원 체적데이터 복호화 방법 및 장치를 제공하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 3차원 체적데이터의 부호화 방법은, (a) 포인트텍스쳐, 체적소 및 8진트리의 데이터 중 어느 하나로 이루어진 3차원 체적 데이터를, 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리 데이터로 변환하는 단계; (b) 상기 적응적 8진트리의 노드를 부호화하는 단계; 및 (c) 상기 부호화된 데이터를 비트스트림으로 생성하는 단계를 포함함을 특징으로 한다. 상기 (a) 단계는 포인트텍스쳐 또는 체적소 데이터로 이루어진 3차원 체적 데이터를 8진트리로 변환하는 단계; 및 상기 8진트리를 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리로 변환하는 단계를 구비함이 바람직하다.
상기 (a)단계의 적응적 8진트리 데이터 변환은 3차원 체적 데이터에 대해, 3차원 바운딩 볼륨을 사용하여 체적소 데이터로 변환하는 단계; 및 상기 체적소 데이터에 대해, 3차원 객체가 존재하는 위치의 체적소와 3차원 객체가 존재하지 않는 위치의 체적소를 소정의 라벨을 붙여 구분하여 표시하는 단계를 구비함이 바람직하다. 상기 소정의 라벨은 상기 3차원 체적 데이터를 나타내는 트리의 노드가 하위(Sub) 노드로 구성되는 경우(S), 노드 영역의 하위 체적소가 모두 객체가 없는 체적소로 구성되는 경우(W), 노드 영역의 하위 체적소가 모두 객체가 있는 체적소로 구성되는 경우(B), 노드 영역의 하위 체적소들의 값이 PPM 알고리즘에 의해 부호화되는 경우(P), 노드 영역의 하위 체적소가 공간이 없는 경우(E)를 구분하는 것임이 바람직하다.
상기 (b) 단계는 (b1) 상기 적응적 8진트리의 부호화할 노드의 순서를 선택하는 단계; (b2) S 노드 부호화인지 P 노드 부호화인지를 나타내는 노드종류정보를 선택하는 단계; 및 (b3) 상기 노드종류정보가 S 노드이면 S 노드의 상세정보를 부호화하고, P노드이면 P노드의 상세정보를 부호화하는 단계를 포함함이 바람직하다.상기 (b1) 단계는 3차원 객체에 대한 적응적 트리구조에서 상기 라벨을 참조하여 Top-down 방식으로 루트 노드에서부터 하나씩 너비우선탐색 방식으로 부호화할 노드를 선택하는 것이 바람직하다. 상기 (b2)단계는 S 노드로 부호화할 때와 P 노드로 부호화할 때의 각 엔트로피(Entropy)를 계산하여 엔트로피가 작은 경우를 선택하는 단계; 및 상기 선택된 S 노드 또는 P 노드의 라벨을 AAC 부호화하는 단계를 구비함이 바람직하다. 상기 (b3)단계의 S 노드 부호화는 색깔정보의 평균값 및 하위(sub) 노드의 라벨을 부호화하되, 상기 색깔정보 부호화는 현재 노드의 영역에 있는 체적소들의 평균 색상인 R(Red), G(Green), B(Blue) 값을 AAC 부호화하고, 상기 하위노드 라벨 부호화는 현재 노드의 하위 노드의 라벨인 B 또는 W의 값을 AAC 부호화함이 바람직하다. 상기 (b3)단계의 P 노드 부호화는 깊이정보 및 색깔정보를 부호화하되, 상기 깊이정보 부호화는 소정 개수의 컨텍스트를 사용하여 해당 노드 이하의 전체 하위노드를 래스터 스캔순서로 PPM 또는 AAC 부호화하고, 상기 색깔정보 부호화는 현재 노드의 B 체적소들의 색상인 R(Red), G(Green), B(Blue) 값을 DPCM 부호화하고 AAC 부호화함이 바람직하다.
상기 (c)단계는 3차원 객체의 바운딩 볼륨의 해상도 정보를 포함하고, 노드 부호화시 시작 노드부터 특정 노드까지만 부호화하는 손실부호화 방식과, 처음 노드부터 마지막 노드까지 모두 부호화하는 무손실부호화 방식을 지원하는 점진적인 비트스트림을 생성함이 바람직하다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 3차원 체적데이터의 부호화 장치는, 포인트텍스쳐, 체적소 및 8진트리의 데이터 중 어느 하나로 이루어진 3차원 체적 데이터를 입력으로 하여, 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리 데이터로 변환하는 적응적 8진트리 생성부; 상기 적응적 8진트리의 노드를 부호화하는 노드부호화부; 및 상기 노드부호화부에서 부호화된 데이터를 비트스트림으로 생성하는 비트스트림 생성부를 포함함을 특징으로 한다. 상기 적응적 8진트리 생성부는 포인트텍스쳐 또는 체적소 데이터로 이루어진 3차원 체적 데이터를 입력으로 하여 8진트리로 변환하는 체적데이터입력부; 및 상기 8진트리를 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리로 변환8진트리변환부를 구비함을 특징으로 한다.
상기 노드부호화부는 상기 적응적 8진트리의 부호화할 노드의 순서를 선택하는 노드순서선택부; S 노드 부호화인지 P 노드 부호화인지를 나타내는 노드종류정보를 선택하는 노드SOP선택부; 상기 노드종류정보가 S 노드이면 S 노드의 상세정보를 부호화하는 S 노드부호화부; 및 상기 노드종류정보가 P 노드이면 P노드의 상세정보를 부호화하는 P 노드부호화부를 포함함이 바람직하다. 상기 노드순서선택부는 3차원 객체에 대한 적응적 트리구조에서 상기 라벨을 참조하여 Top-down 방식으로 루트 노드에서부터 하나씩 너비우선탐색 방식으로 부호화할 노드를 선택하는 것이 바람직하다. 상기 노드SOP선택부는 S 노드로 부호화할 때와 P 노드로 부호화할 때의 각 엔트로피(Entropy)를 계산하여 엔트로피가 작은 경우를 선택한 후 상기 선택된 S 노드 또는 P 노드의 라벨을 AAC 부호화함이 바람직하다. 상기 S 노드부호화부는 색깔정보의 평균값 및 하위(sub)노드의 라벨을 부호화하고, 상기 P 노드부호화부는 깊이정보 및 색깔정보를 부호화함이 바람직하다. 상기 비트스트림생성부는 3차원 객체의 바운딩 볼륨의 해상도 정보를 포함하고, 노드 부호화시 시작 노드부터 특정 노드까지만 부호화하는 손실부호화 방식과, 처음 노드부터 마지막 노드까지 모두 부호화하는 무손실부호화 방식을 지원하는 점진적인 비트스트림을 생성함이 바람직하다.
상술한 다른 기술적 과제를 이루기 위한 본 발명에 의한 3차원 체적데이터의 복호화 방법은, (w) 3차원 체적 데이터의 비트스트림으로부터 트리를 구성하는 노드들을 판독하는 단계; (x) 상기 판독된 노드들을 복호화하는 단계; (y) 상기 복호화된 노드들로부터 적응적 8진트리를 복원하는 단계; 및 (z) 상기 적응적 8진트리로부터 8진트리, 체적소, 포인트텍스쳐 데이터 중 어느 하나의 데이터로 복원하는 단계를 포함함을 특징으로 한다. 상기 (w) 단계는 3차원 객체의 바운딩 볼륨의 해상도 정보를 판독하는 단계를 더 구비하고, 상기 (x)단계는 상기 해상도 정보를 이용하여 노드 복호화시 시작 노드부터 특정 노드까지만 복호화하는 손실복호화 단계를 구비함이 바람직하다.
상기 (w) 단계는 3차원 객체의 바운딩 볼륨의 해상도 정보를 판독하는 단계를 더 구비하고, 상기 (x)단계는 상기 해상도 정보를 이용하여 처음 노드부터 마지막 노드까지 모두 복호화하는 무손실복호화단계를 구비함이 바람직하다. 상기 (x) 단계는 (x1) 어느 노드를 복호화할지 순서를 선택하는 단계; (x2) S 노드인지 P노드인지에 관한 노드 종류 정보를 선택하는 단계; 및 (x3) 상기 노드 종류 정보가 S 노드이면 S 노드의 상세정보를 복호화하고, P노드이면 P노드의 상세정보를 복호화하는 단계를 포함함이 바람직하다.
상기 (x1) 단계는 3차원 객체에 대한 적응적 트리구조를 Top-down 방식으로 복원하면서, 루트 노드에서부터 하나씩 너비우선탐색 방식으로 복호화할 노드를 선택하는 것이 바람직하다. 상기 (x2) 단계는 S 또는 P의 라벨을 역 AAC로 복호화하여 S 노드로 또는 P 노드로 복호화하는 경우를 선택하는 것이 바람직하다. 상기 (x3) 단계의 S 노드 복호화는 색깔 정보의 평균값을 복호화하는 단계; 및 하위 노드의 라벨을 복호화하는 단계를 포함함이 바람직하다. 상기 색깔정보 복호화는 역 AAC로 복호화하여 현재 노드의 영역에 있는 체적소들의 평균 색상인 R(Red), G(Green), B(Blue) 값을 복호화하고, 상기 하위노드의 라벨 복호화는 역 AAC로 복호화하여 하위 노드의 라벨인 B 또는 W의 값을 복호화함이 바람직하다.
상기 (x3) 단계의 P 노드 복호화는 깊이정보를 복호화하는 단계; 및 색깔정보를 복호화하는 단계를 포함함이 바람직하다. 상기 깊이정보의 복호화는 소정 개수의 컨텍스트를 사용하여 해당 노드 이하의 전체 하위노드를 래스터 스캔순서로 역 PPM 또는 역 AAC로 복호화하고, 상기 색깔정보 복호화는 현재 노드의 B 체적소들의 색상인 R(Red), G(Green), B(Blue) 값을 역 AAC로 복호화하고 역 DPCM으로 복호화함이 바람직하다.
상기 (y)단계의 적응적 8진트리의 데이터 복원은 체적소 데이터로 표현하여 객체가 존재하는 위치의 체적소와 객체가 존재하지 않는 위치의 체적소를 라벨을 붙여 구분하여 표시함이 바람직하다.
상술한 다른 기술적 과제를 이루기 위한 본 발명에 의한 3차원 체적데이터의 복호화 장치는, (w) 3차원 체적 데이터의 비트스트림을 입력으로 받아들여 트리를 구성하는 노드들을 판독하는 비트스트림 판독부; (x) 상기 판독된 노드들을 복호화하는 노드복호화부; (y) 상기 노드복호화부에서 복호화된 노드들로부터 적응적 8진트리를 복원하는 적응적 8진트리복원부; 및 (z) 상기 적응적 8진트리를 입력으로 받아들여 8진트리, 체적소, 포인트텍스쳐 데이터 중 어느 하나의 데이터로 복원하는 체적데이터복원부를 포함함을 특징으로 한다.
상기 비트스트림복원부는 3차원 객체의 바운딩 볼륨의 해상도 정보 및 노드를 판독하고, 상기 노드복호화부는 상기 해상도 정보를 이용하여 노드 복호화시 시작 노드부터 특정 노드까지만 복호화하거나 처음 노드부터 마지막 노드까지 모두 복호화함이 바람직하다.
상기 노드복호화부는 어느 노드를 복호화할지 순서를 선택하는 노드순서선택부; S 노드인지 P노드인지에 관한 노드 종류 정보를 선택하는 노드SOP선택부; 상기 노드 종류 정보가 S 노드이면 S 노드의 상세정보를 복호화하는 S노드복호화부; 및 상기 노드 종류 정보가 P노드이면 P노드의 상세정보를 복호화하는 P노드복호화부를 포함함이 바람직하다. 상기 노드순서선택부는 3차원 객체에 대한 적응적 트리구조를 Top-down 방식으로 복원하면서, 루트 노드에서부터 하나씩 너비우선탐색 방식으로 복호화할 노드를 선택하고, 상기 노드SOP선택부는 S 또는 P의 라벨을 역 AAC로 복호화하여 S 노드로 또는 P 노드로 복호화함이 바람직하다. 상기 S 노드복호화부는 색깔 정보의 평균값 및 하위 노드의 라벨을 복호화하고, 상기 P 노드복호화부는 깊이정보 및 색깔정보를 복호화함이 바람직하다.
상기 깊이정보의 복호화는 소정 개수의 컨텍스트를 사용하여 해당 노드 이하의 전체 하위노드를 래스터 스캔순서로 역 PPM 또는 역 AAC로 복호화하고, 상기 색깔정보 복호화는 현재 노드의 B 체적소들의 색상인 R(Red), G(Green), B(Blue) 값을 역 AAC로 복호화하고 역 DPCM으로 복호화함함이 바람직하다.
그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 포인트텍스쳐, 체적소, 8진트리의 데이터 중 어느 하나로 이루어진 3차원 체적 데이터 부호화/복호화 방법 및 장치에 대해 상세히 설명하기로 한다.
먼저, 본 발명에 의한 3차원 객체 데이터 부호화 장치 및 방법을 설명한다. 도 3A는 본 발명에 의한 3차원 객체 데이터 부호화 장치의 구성을 블록도로 도시한 것으로서, 체적데이터 입력부(300), 적응적 8진트리생성부(320), 노드부호화부(340) 및 비트스트림 생성부(360)를 포함하여 이루어진다. 그리고 도 3B는 본 발명에 의한 3차원 객체 데이터 부호화 방법을 흐름도로 도시한 것이다.
상기 체적데이터 입력부(300)는 3차원 객체 데이터를 표현하고 있는 포인트텍스쳐, 체적소 및 8진트리 데이터 중 어느 하나를 입력으로 받는다. 포인트텍스쳐 데이터는 체적소 데이터와 8진트리로 서로 변환 가능하다. 포인트텍스쳐 데이터가 입력되면 체적소 데이터로 변환하고 다시 8진트리 데이터로 변환한다. 체적소 데이터가 입력되면 8진트리 데이터로 변환한다.(제32단계) 8진트리 데이터가 입력되면 데이터 변환 없이 그대로 사용한다.
포인트텍스쳐의 깊이정보를 체적소 데이터로 변환하기 위해서는 먼저 바운딩 볼륨(Bounding volume)을 만든다. 바운딩 볼륨은 포인트텍스쳐와 같은 해상도를 가진다. 예를 들어 만일 포인트텍스쳐가 XxY 해상도의 영상을 가지고, 각 픽셀의 깊이 정보의 해상도가 Z 이라면, XxYxZ 바운딩 볼륨이 생성된다. 바운딩 볼륨의 원점은 정면의 좌측 하단 코너(Lower left front corner)에 위치한다. 오른쪽 체적소는 왼쪽 체적소보다 큰 x 값을 가지고, 상단 체적소는 하단 체적소보다 큰 y값을 가지고, 배면(Rear) 체적소는 정면 체적소보다 큰 z값을 가진다. 깊이 정보를 이진 볼륨 데이터로의 변환하는 것은 바로 할 수 있다. 볼륨 데이터의 모든 체적소는 White(0)로 초기화된다. 그리고 나서 체적소의 위치가 포인트텍스쳐에 있는 복셀에 의해 차있으면 체적소는 Black(1)으로 설정된다.
도 7에서는 트리 구조에서 부모, 자식 관계를 보여준다. 도 7의 (a)는 4진트리(Quadtree)의 예이고, 도 7의 (b)는 8진트리의 예이다. 8진트리는 루트(Root) 노드 하나로부터 자식 노드 8개를 갖는데, 각 자식 노드는 하위의 또 다른 자식 노드 8개를 갖거나 아니면 단말 노드를 가질 수 있다. 노드는 Black 또는 White의 값을 가질 수 있는데, 단말 노드가 Black인 경우는 체적소가 차있는 경우이고, White인 경우는 체적소가 비어있는 경우이다. 단말 노드가 아닌 중간 노드에서 Black인 경우는 하위의 노드 중 체적소가 차있는 노드가 있다는 것을 나타내고 White인 경우는 하위의 모든 노드가 비어 있다는 것을 나타낸다. 이러한 8진트리는 3차원 체적 데이터를 나타내는데 쓰이는 전형적인 구조이다.
상기 적응적 8진트리 변환부(320)는 3차원 객체 데이터가 상기 체적데이터 입력부(300)에서 변환되었거나 그대로 입력받은 8진트리 데이터를 입력으로 적응적 8진트리를 생성한다.(제34단계) 상기 적응적 8진트리는 루트 노드(Root) 하나로부터 자식 노드(Child) 8개를 갖는데, 각 자식 노드는 하위의 또 다른 자식 노드 8개를 갖거나 아니면 단말 노드(Leaf)를 가질 수 있다. 이 노드들에는 5 종류의 라벨(Label)이 붙으며, 본 발명에서는 이러한 특성을 갖는 트리를 적응적 8진트리라고 정의한다.
상기 적응적 8진트리는 8진트리와 그 구조가 비슷한데, 차이점은 중간노드에 라벨이 붙는다는 것이다. 상기 5가지의 라벨은 S 노드(Split), P 노드(PPM), B 노드(Black), W 노드(White), E 노드(Empty)로 정의되며, 표 1은 상기 8진트리 노드의 5가지 라벨을 나타내고 있다.
적응적 8진트리의 생성은 다음과 같다. 첫째로, 3차원 객체에 대한 바운딩 볼륨이 객체를 포함하고 있으면, 루트노드는 S 노드로 표시되며, 볼륨은 8개의 하위 볼륨으로 세분된다. 세분된 볼륨이 White 체적소만 포함하고 있으면 상응하는 노드는 W 노드로 표시되고, 세분된 볼륨이 Black 체적소만 포함하고 있으면 상응하는 노드는 B 노드로 표시된다. 세분된 볼륨이 White 체적소만 또는 Black 체적소만 포함된 것이 아니면, 그 노드는 S 노드로 설정되며, 상기 볼륨은 8개의 더 작은 볼륨으로 다시 세분된다. 이 과정은 트리가 미리 설정된 깊이로 갈 때까지 반복된다. 이러한 깊이에서, 만일 노드가 모두 Black과 White 체적소들을 포함하고 있으면, P 노드가 될 수 있고, 그 체적소 값들은 PPM방법에 의해 부호화될 수 있다.
한편 바운딩 볼륨을 8개의 볼륨으로 나눌 때, 한 축에서 길이를 동일한 크기로 반씩 나눌 수 없을 때에는 나눠지는 한쪽 방향을 다른 한쪽의 방향에 비해 한 체적소의 길이만큼 더 크게 규칙적으로 나눈다. 그런데 만일 다른 한쪽 즉, 한 체적소의 길이만큼 덜 나누는 부분에서 체적소의 공간이 없는 경우에는 Empty 체적소라 정의하고, 상기 Empty 체적소의 라벨을 E 노드로 표시한다. 만일 어떤 노드가 E노드를 포함하면서 B 노드와 W 노드만으로 이루어진 경우에도, 상기 노드를 P 노드로 취급할 수 있으며, 그 체적소 값들을 PPM 방법에 의해 부호화할 수 있다.
설명을 용이하게 하기 위해서, 4진트리를 사용하여 구체적인 예를 들어 상술한 바를 설명하기로 한다. 도 8과 도 9는 적응적 8진트리의 개념을 보다 용이하게 설명하기 위한, 적응적 4진트리들을 도시한 것이다. 도 8의 (a)는 너비가 3이고 높이가 4인 2차원 이미지로서, 해상도가 3x4인 2차원 이미지에 대한 4진트리를 도시한 것이다. 색깔이 없는 하얀 체적소는 비어있는 체적소를 나타내고 색깔이 있는 체적소는 차있는 체적소를 나타낸다. 도 8의 (c)에서 색깔이 있는 노드는 도 8의 (a)에서 같은 색깔이 있는 체적소와 대응한다.
루트 노드에서 하위 4개의 노드로 세분할 때, 너비는 3이므로 한쪽은 2, 다른 한쪽은 1로 나누어진다. 높이는 4이므로 각각 2씩 나누어진다. 도 8 (c)의 적응적 4진트리에서 루트 노드가 S인 것은 하위 노드들이 객체를 포함하고 있기 때문이다. 루트 노드에서 바로 하위의 4개의 자식 노드들은 S, S, W, B 노드이다. 첫번째 노드와 두번째 노드가 S 노드인 것은 하위의 자식 노드로 체적소의 정보를 표현하기 때문이다. 첫번째 S 노드의 자식 노드들은 W, B, B, B 노드로 도 8 (b)의 좌상단 4개의 체적소 영역에 해당한다. 두번째 S 노드의 자식 노드들은 W, E, B, E 노드로 도 8 (b)의 우상단 4개의 체적소 영역에 해당한다. B 노드는 체적소가 차있는 것을 나타내고, W 노드는 체적소가 비어있는 것을 나타낸다. 부호화 대상이 되는 정보는 B 노드와 W 노드로 표현되는 체적소이다. E 노드는 체적소의 공간이 없는 것을 나타내고, 부호화 대상에서는 빠지는 정보이다. 따라서 E 노드는 가상의 노드로서, 전체 바운딩 볼륨의 해상도 정보를 이용하여 그 위치를 알아낼 수 있는 노드이다. 도 8의 (b)에서 우상단에 4개의 체적소에서 점선으로 표현된 2개의 체적소가 E 노드로서, 원래의 도 8 (a)에서는 없는 영역이다. 이렇게 가상의 E 노드를 표현하는 것은 첫번째 S 노드가 하위의 4개의 자식 노드를 갖는 것처럼, 가상의 4진트리를 만들기 위한 것이다.
이와 마찬가지로, 적응적 8진트리에서도 S 노드에서 하위 8개의 자식노드를 표현하는데 있어서, 체적소의 공간이 있는 자식노드의 경우는 B 노드 또는 W 노드로 표시하고, 체적소의 공간이 없는 자식노드의 경우는 E 노드로 표시한다. 하위 8개의 자식노드로 공간을 나눌 때에 적응적 4진트리와 마찬가지로, 한쪽 방향을 다른쪽 방향에 비해 한 체적소의 길이만큼 더 크게 규칙적으로 나눈다. 즉, 3차원 체적 공간을 X, Y, Z의 3축으로 표현할 때에 -X 방향, -Y 방향, -Z 방향을 +X 방향, +Y 방향, +Z 방향보다 한 체적소의 길이만큼 더 할당한다. 그 반대의 경우도 가능하지만, 본 발명에서는 전자의 규칙을 사용하여, 전체 노드에 대해 동일한 규칙을 적용한다.
도 8 (c)에서 루트 노드의 세번째 자식 노드인 W 노드는 도 8 (b)의 좌하단의 4개의 체적소 영역에 해당하는 것으로서, 모든 체적소가 비어있기 때문에 W 노드로 표시한다. 도 8 (c)의 루트 노드의 네번째 자식 노드인 B 노드는 도 8 (b)의 우하단의 4개의 체적소 영역에 해당하는 것으로서, 가상의 E 노드를 제외한 모든 체적소가 차있기 때문에 B 노드로 표시한다. 도 9에서는 역시 적응적 트리의 예를 보여주는 것으로 도 9의 (a)는 해상도가 5x7인 2차원 이미지를 도시한 것이며, 도 9의 (b)는 상기 도 9의 (a)에 상응하는 적응적 4진 트리를 도시하고 있다.
한편, 상기 체적데이터 입력부(300)와 적응적 8진트리 변환부(320)는 하나로 통합될 수 있다. 즉, 포인트텍스쳐, 체적소 및 8진트리의 데이터 중 어느 하나로 이루어진 3차원 체적 데이터를, 직접 적응적 8진트리 데이터로 변환하는 적응적 8진트리생성부(30)로 구현될 수도 있다.
상기 노드부호화부(340)는 상기 적응적 8진트리 변환부(320)에서 생성된 적응적 8진트리의 노드를 부호화한다.(제36단계) 상기 노드부호화부(340)는 도 4에 도시된 바와 같이 노드순서선택부(400), 노드SOP선택부(420), S노드부호화부(440) 및 P노드부호화부(460)로 이루어진다.
상기 노드순서선택부(400)는 적응적 8진트리에서 각 노드를 순서대로 선택할 때, 어느 노드를 부호화할지를 결정하여 그 노드의 위치정보 값을 출력한다. 이를 보다 상세히 설명하면, 상기 노드순서선택부(400)는 3차원 객체에 대한 적응적 트리구조에서 상기 라벨을 참조하여 Top-down 방식으로 루트 노드에서부터 하나씩 부호화할 노드를 선택하여, 그 노드의 위치정보 값을 출력한다. 큐(Queue)를 사용하여 너비우선탐색(Breadth first search) 방식으로 부호화할 노드의 순서를 정한다. 처음에 루트노드가 큐에 삽입되고, 루트노드가 큐에서 제거되면서 그 하위 자식 노드들의 라벨을 부호화한다. 도 10 (a)에서 부호화할 루트 노드는 파란색 사각형으로 표시되었고, 그 노드의 부호화할 실제 값들을 초록색 사각형 안에 있는, 루트 노드의 하위 자식 노드들로 S, S, W, B이다.
상기 노드SOP선택부(420)는 상기 노드순서선택부(400)에서 선택된 노드를 S 노드로 부호화할지 또는 P 노드로 부호화할지를 선택한다. 즉, 상기 노드SOP선택부(420)는 부호화할 노드를 S 노드로 부호화할지 P 노드로 부호화할지를 판단한다. S 노드로 부호화할 때와 P 노드로 부호화할 때의 각 엔트로피(Entropy)를 계산하여 엔트로피가 작은 경우를 선택한 후, 상기 선택된 S 노드 또는 P 노드의 라벨을 AAC 부호화한다.
상기 S노드부호화부(440)는 Split 노드 부호화한다. 즉 상기 S노드부호화부(440)는 도 11과 같은 과정으로 S 노드를 부호화한다. 먼저 부호화할 S 노드의 평균 색깔을 AAC(Adaptive Arithmetic Coding)로 부호화하고(1100단계), 하위 노드의 라벨을 부호화한다.(1120단계) 도 10의 (a)에서 루트노드를 S 노드로 부호화할 때, 그 하위 자식 노드들의 라벨은 S, S, W, B 이고 이는 부호화할 실제 값들이다. 하위 자식 노드들의 라벨 중에 S는 B로 치환하여 부호화한다. 따라서 도 10 (b)에서 초록색 사각형 안에 있는 노드들처럼 B, B, W, B로 부호화된다. 이 값들은 복호화기(Decoder)에서 복원되는 값들과 동일하다.
상기 P노드부호화부(460)는 PPM 노드 부호화한다. 상기 P노드부호화부(460)는 도 12와 같은 과정으로 P 노드를 부호화한다. 먼저 그 노드의 볼륨 영역에 있는 깊이 정보, 즉 체적소 값들을 PPM으로 부호화하고(1200단계), 각 체적소 위치의 색깔 정보를 DPCM과 AAC로 부호화한다.(1220단계) 도 13은 체적소를 PPM 부호화할 때, 사용하는 컨텍스트(context)를 도시한 것이다. 오른쪽에 Depth가 k인 2차원 평면이 이전에 부호화된 체적소들과 현재 부호화할 체적소가 있는 한 단면이고, 왼쪽 Depth가 k-1인 2차원 평면이 이전에 부호화된 체적소들이 있는 인접 단면이다. 효율적으로 부호화하기 위해서, X 표시가 된 위치의 체적소는 컨텍스트(Context)로 사용하지 않고 나머지 동그란 모양을 갖는 10개의 체적소를 컨텍스트로 사용하여 PPM 부호화한다. 따라서 이 경우에 컨텍스트는 '0011101000011'에서 0111000011 로 줄어든다. 컨텍스트의 나열 순서는 래스터-스캔 순서(Raster scan order)를 따른다. 상기 PPM은 원래 팩시밀리 데이터를 무손실 방식으로 압축하기 위해 클리어리(Cleary)와 위튼(Witten)에 의해 제안된 것이다.
한편 상기 도 3에 도시된 비트스트림 생성부(360)는 상기 노드부호화부(340)에서 부호화된 노드들을 비트스트림으로 생성한다.(제38단계) 트리의 각 노드가 S 노드일 때는 Split 노드 부호화된 비트스트림을 생성하고, P 노드일 때는 PPM 노드 부호화된 비트스트림을 생성한다.
도 14 (a)에서처럼 먼저 헤더(Header) 정보로는, 3차원 객체를 포함하는 볼륨의 해상도 정보인 너비(Width), 높이(Height), 깊이(Depth)로 부호화되고 비트스트림이 구성된다. 그 다음 루트노드부터 차례대로 노드들을 하나씩 부호화하면서 비트스트림이 생성된다. 만약 전체 부호화하는 노드의 개수가 N개라고 하면, 도 14 (a)처럼 Node-1, Node-2, , Node-N으로 표현할 수 있다. 이들 각 노드의 비트스트림은 도 14 (b)처럼 SOP('S' 또는 'P'), DIB(Detailed information bits)로 구성된다.
만일 SOP가 S 노드임을 나타내면, 도 14 (c)처럼 DIB는 그 노드 영역의 평균 색깔(Mean color)과 자식들 노드가 W노드인지 아닌지의 여부를 나타내는 최대 8개의 플래그로 구성된다. 8개의 플래그를 Ch1, Ch2, , Ch8으로 표현할 수 있는데, 이는 체적소의 공간이 8개가 다 있는 경우를 나타낸다. 체적소의 공간이 없는 노드가 있으면, 없는 개수만큼 플래그의 개수도 줄어들고 부호화 대상에서 빠진다. 부호화할 플래그들의 값들은 AAC로 부호화할 수 있다.
만일 SOP가 P노드임을 나타내면, 도 14 (d)처럼 그 노드 영역 안에 있는 체적소들의 값들, 즉 깊이 정보가 PPM 부호화되며, B 체적소의 색깔 정보는 순서대로 DPCM되고 AAC로 부호화된다. PPM 부호화를 설명한다. 상술한 바와 같이 깊이 정보는 이진 체적소 값으로 표현된다. W 체적소는 투명한 배경을 표현하고, B 체적소는 3차원 객체의 체적소를 나타낸다. P노드 내의 이진 체적소 값은 이웃하는 체적소 값을 컨텍스트로 사용하여 PPM 부호화된다. 래스터 스캔 순서에 따라, 이웃하는 체적소의 컨텍스트를 13개를 사용하여 연산하고 데이터 처리하기에 그 데이터량이 너무 크다. 따라서 컨텍스트의 수를 효율적으로 줄일 필요가 있는데, 전체 엔트로피에 거의 영향을 주지 않는 3 개의 체적소를 제거한다. 제거된 체적소들은 도 13에 도시된 바와 같이 'X'로 마킹된다. 이 컨텍스트를 이용하여 체적소는 컨텍스트 기반 AAC에 의해 부호화된다.
깊이 정보를 부호화한 후, 노드 영역 안에 있는 B 체적소의 RGB 색깔의 값은 래스터 스캔 순서로 DPCM되고 AAC 부호화된다. 부호화할 B 체적소의 R, G, B 값은 이전 순서의 부호화된 B 체적소 각 R, G, B 값들로부터 예측되고, 이 예측 오차(Residual)값들은 AAC로 부호화된다.
상술한 본 발명에 의한 3차원 체적데이터 부호화방법은 3차원 객체 데이터의 부호화를 점진적인(Progressive) 부호화 방식 중심으로 설명하였지만, 무손실(Lossless) 부호화 방식이나 손실(Lossy) 부호화 방식으로도 부호화할 수도 있다. 즉, 전체 비트스트림을 다 부호화하면 무손실 부호화 방식이 되고, 전체 비트스트림에서 처음부터 일부분까지만 부호화하면 손실 부호화 방식이 된다.
상기 노드복호화부(520)는 판독된 노드들로부터 S 노드 또는 P 노드를 복호화한다. 상기 노드복호화부(520)는 도 6에 도시된 바와 같이 노드순서 선택부(600), 노드 SOP 선택부(620), S 노드 복호화부(640) 및 P 노드 복호화부(660)로 이루어진다. 상기 노드순서 선택부(600)는 적응적 8진트리에서 각 노드를 순서대로 복원할 때 어느 노드를 복호화하는지를 알려준다. 상기 노드 SOP선택부(620)는 상기 노드순서 선택부(600)에서 선택된 노드를 S 노드 복호화인지, P노드 복호화인지를 판단한다. 상기 S 노드 복호화부(640)는 Split 노드 복호화를 하고, 상기 P 노드 복호화부(660)는 PPM 노드 복호화를 한다.
상기 적응적 8진트리 복원부(540)는 복원된 노드들로부터 적응적 8진트리를 복원하고 이를 8진트리로 변환한다. 적응적 8진트리는 라벨이 5가지 종류가 있지만 8진트리에서는 이러한 라벨이 없고 노드에서 Black 또는 White의 값만 갖는다.
상기 체적데이터 복원부(560)는 8진트리 데이터를 입력으로 원래의 3차원 객체 데이터로 복원한다. 즉, 포인트텍스쳐, 체적소 및 8진트리의 데이터 중 원래의 데이터로 복원한다.
다음은, 본 발명에 의한 3차원 객체 데이터의 복호화 방법 및 장치에 대해 설명한다. 도 5A는 본 발명에 의한 3차원 객체 데이터 복호화 장치를 블록도로 도시한 것으로서, 비트스트림판독부(500), 노드복호화부(520), 적응적 8진트리 복원부(540), 체적데이터복원부(560)를 포함하여 이루어진다. 도 5B는 본 발명에 의한 3차원 객체 데이터 복호화 방법을 흐름도로 도시한 것이다.
상기 비트스트림판독부(500)는 부호화된 3차원 체적 데이터의 비트스트림을 입력으로 트리의 각 노드를 판독한다.(제50단계) S 노드는 Split 노드로 P 노드는 PPM 노드로 판독한다. 도 14의 (a)에서처럼 먼저 헤더(Header) 정보로는, 3차원 객체를 포함하는 볼륨의 해상도 정보인 너비(Width), 높이(Height), 깊이(Depth)로 복호화하여 비트스트림을 판독한다. 그 다음 루트 노드부터 차례대로 노드들을 하나씩 복호화하면서 비트스트림이 판독한다. 만약 전체 복호화하는 노드의 개수가 N개라고 하면, 도 14 (a)처럼 Node-1, Node-2, , Node-N으로 표현할 수 있다. 이들 각 노드의 비트스트림은 도 14 (b)처럼 SOP('S' 또는 'P'), DIB(Detailed information bits)로 판독한다.
만일 SOP가 S 노드임을 나타내면, 도 14 (c)처럼 DIB는 그 노드 영역의 평균 색깔(Mean color)을 복호화하고 자식들 노드가 W노드인지 아닌지의 여부를 나타내는 플래그의 값들을 복호화한다. 체적소의 공간이 없는 노드가 있으면, 없는 개수만큼 플래그의 개수도 줄어들고 복호화 대상에서 빠진다. 이러한 E 노드는 가상의 노드로 전체 바운딩 볼륨의 해상도의 정보를 통해, 계산하여 위치를 알아낼 수 있는 노드이다.
만일 SOP가 P노드임을 나타내면, 도 14 (d)처럼 그 노드 영역 안에 있는 체적소들의 값들, 즉 깊이 정보가 PPM 복호화되며, B 체적소의 색깔 정보는 순서대로 역 AAC와 역 DPCM으로 복호화된다. P노드 내의 복호화할 이진 체적소 값은 이웃하는 복호화된 10개의 체적소 값을 컨텍스트로 사용하여 PPM 복호화한다.
깊이 정보를 복호화한 후, 노드 영역 안에 있는 B 체적소의 RGB 색깔의 값은 래스터 스캔 순서로 역 AAC와 역 DPCM으로 복호화한다. 복호화할 B 체적소의R, G, B 값은 역 AAC로 복호화된 예측 오차(Residual)값들을 이전 순서의 복호화된 B 체적소 각 R, G, B 값들로부터 역으로 예측하여 구한다.
한편, 상기 노드복호화부(520)는 판독된 노드들로부터 S 노드 또는 P 노드를 복호화한다.(제52단계) 상기 노드복호화부(520)는 도 6에 도시된 바와 같이 노드순서선택부(600), 노드 SOP선택부(620), S노드복호화부(640) 및 P노드복호화부(660)로 이루어진다.
상기 노드순서선택부(600)는 적응적 8진트리에서 각 노드를 순서대로 복원할 때 어느 노드를 복호화할지를 알려준다. 이를 좀더 상세히 설명하면, 상기 노드순서선택부(600)는 3차원 객체에 대한 적응적 트리구조를 Top-down 방식으로 복원하면서, 루트노드에서부터 하나씩 복호화할 노드를 선택하여, 그 노드의 위치정보 값을 출력한다. 큐(Queue)를 사용하여, 너비우선탐색(Breadth first search) 방식으로 복호화할 노드의 순서를 정한다. 처음에 루트 노드가 큐에 삽입되고, 루트 노드가 큐에서 제거되면서 그 하위 자식 노드들의 라벨을 복호화한다. 도 10 (b)에서 복호화할 루트 노드는 파란색 사각형으로 표시되었고, 그 노드의 복호화된 실제 값들을 초록색 사각형 안에 있는, 루트 노드의 하위 자식 노드들로 B, B, W, B이다.
상기 노드SOP선택부(620)는 상기 노드순서 선택부(600)에서 선택된 노드가 S노드인지 P노드인지를 판단하여, 이에 따라 S 노드로 복호화할지 P 노드로 복호화할지를 결정한다. 이 값은 비트스트림판독부(500)에서 복호화된 값을 통해 선택된다.
상기 S노드복호화부(640)는 상기 노드종류정보가 S 노드이면 S 노드의 상세정보를 복호화하며, 도 15와 같은 과정으로 S 노드를 복호화한다. 먼저 S 노드의 평균 색깔을 역 AAC로 복호화하여 현재 노드의 영역에 있는 체적소들의 평균색상인 R(Red), G(Green), B(Blue) 값을 복호화한다.(1500단계) 그리고 하위 노드의 라벨을 역 AAC로 복호화하여 하위 노드의 라벨인 B 또는 W 의 값을 복호화한다.(1550단계) 도 10의 (b)에서 루트 노드를 S 노드로 복호화할 때, 그 하위 자식 노드들의 라벨은 B, B, W, B이고 이는 복호화된 실제 값들이다. 하위 자식 노드들의 라벨 중에 B 는 임시 라벨일 가능성이 크므로, 나중에 S 나 P로 바뀔 수 있다.
상기 P노드복호화부(660)는 상기 노드 종류 정보가 P 노드이면 P 노드의 상세정보를 복호화하며, 도 16과 같은 과정으로 P 노드를 복호화한다. 먼저 그 노드의 볼륨 영역에 있는 깊이 정보, 즉 체적소 값들을 PPM으로 복호화하고(1600단계), 각 체적소 위치의 색깔 정보를 역 AAC와 역 DPCM으로 복호화한다.(1650단계) 도 13은 체적소를 PPM 복호화할 때, 사용하는 컨텍스트에 대해서 보여준다. 오른쪽에 Depth가 k인 2차원 평면이 이전에 복호화된 체적소들과 현재 복호화할 체적소가 있는 한 단면이고, 왼쪽 Depth가 k-1인 2차원 평면이 이전에 복호화된 체적소들이 있는 인접 단면이다. X 표시가 된 위치의 체적소는 컨텍스트(Context)로 사용하지 않고 나머지 동그란 모양을 갖는 10개의 체적소를 컨텍스트로 사용하여 PPM 복호화한다. 따라서, 이 경우에 컨텍스트는 '0111000011'이 된다. 컨텍스트의 나열 순서는 래스터-스캔 순서(raster scan order)를 따른다. 그리고 상기 색깔정보 복호화는 현재 노드의 B체적소들의 색상인 R(Red), G(Green), B(Blue) 값을 역 AAC로 복호화하고, 역 DPCM으로 복호화한다.
한편 도 5의 상기 적응적 8진트리복원부(540)는 복원된 노드들로부터 적응적 8진트리를 복원하고 이를 8진트리로 변환한다.(제54단계) 상기 적응적 8진트리의 노드를 나타내는 라벨은 5가지 종류가 있지만 8진트리에서는 이러한 라벨이 없고 노드에서 Black 또는 White의 값만 갖는다. 여기서 적응적 8진트리는 상술한 부호화장치 및 방법에서와 동일하므로 상세한 설명은 생략하기로 한다.
상기 체적데이터복원부(560)는 8진트리 데이터를 입력으로 원래의 3차원 객체 데이터를 복원한다.(제56단계) 즉, 포인트텍스쳐, 체적소 및 8진트리의 데이터 중 원래의 데이터로 복원한다. 상술한 바와 같이, 8진트리는 체적소와 포인트텍스쳐 데이터로 서로 형태 변환 가능하다.
상술한 3차원 객체 데이터의 복호화는 점진적인(Progressive) 복호화방식을 중심으로 기술하였으나, 무손실(Lossless) 복호화 방식 또는 손실(Lossy) 복호화방식으로도 복호화 할 수 있다. 전체 비트스트림을 다 복호화하면 무손실 방식 복호화 방식이 되고, 전체 비트스트림에서 처음부터 일부분까지만 복호화하면 손실 복호화 방식이 된다.
본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이, 본 발명에 의한 3차원 체적 데이터 부호화 및 복호화 방법 및 장치는 방대한 양의 3차원 체적 데이터를 고효율로 부호화할 수 있고, 고정된 해상도의 체적 데이터뿐만 아니라 임의의 해상도의 체적 데이터도 고효율로 부호화할 수 있어, 적은 데이터의 양으로 고화질의 3차원 체적 데이터를 복원할 수 있다. 또한, 점진적인 비트스트림을 생성하므로 디코딩시에 3차원 체적 데이터를 점진적으로 보여줄 수 있는 특징이 있다.
본 발명에 의한 3차원 객체 데이터의 부호화 및 복호화 방법의 성능을 도 17에 도시된 테스트 모델을 사용하여 평가하였다. 도 17의 (a) 내지 (e)에 도시된 모델들은 해상도 256x256x256을 가지며, 도 17의 (f) 내지 (h)는 512x512x512 해상도를 가진다.
도 18은 테스트 모델에 대해 원래 File 크기와 본 발명에 따른 방법의 압축률을 도시한 것이다. 도 19는 포인트텍스쳐 이미지 상에서의 WinZip과 본 발명에 따른 방법의 압축성능을 비교한 것을 도시하고 있다. 깊이 정보에 대해, 제안된 알고리즘은 WinZip 의 파일 크기의 22-59 % 만 요구한다. 색깔 정보에 대해, 제안된 알고리즘은 또한 WinZip 의 파일 크기의 59-81 % 만 요구한다. 유일한 예외는 'Plane' 모델이다. 이것은 몇 개의 색깔만 포함하며, 사전기반 코더인 WinZip 이 더 나은 성능을 나타낸다. 'Plane'모델을 제외하고, 제안된 알고리즘은 깊이와 컬러 정보 둘 다를 압축하기 위해 WinZip 의 파일 크기의 49-75 % 만 요구한다.
본 발명에 의한 방법은 WinZip이 제공하지 못하는 점진적 전송과 디코딩을 지원한다는 점에서 의미 있다. 점진성(Progressiveness)은 바람직하다. 왜냐하면 그것은 대역폭이 제한된 환경에서 비트스트림의 적응성(Adaptation)과 3차원 모델의 브라우징(Browsing)을 용이하게 해주기 때문이다.
포인트 텍스쳐, 체적소 및 8진트리를 위한 점진적(Progressive) 압축 방법을 본 발명에서 게시하였다. 본 발명에 의한 방법은 PPM 방법을 8진트리 구조로 통합하므로써 깊이 및 색깔 데이터 둘 다를 효율적으로 부호화한다. 시뮬레이션 결과는 본 발명에 의한 방법이 범용 Lempel-Ziv 코더인 WinZip 보다 훨씬 높은 압축율을 제공함을 보여주고 있다.
도 1은 계층화된 깊이 이미지에 대한 포인트텍스쳐의 예를 도시한 것이다.
도 2는 포인트텍스쳐 노드 규격을 도시한 것이다.
도 3A는 본 발명에 의한 3차원 객체 데이터 부호화 장치를 블럭도로 도시한 것이다.
도 3B는 본 발명에 의한 3차원 객체 데이터 부호화 방법을 흐름도로 도시한 것이다
도 4는 노드 부호화부를 블록도로 도시한 것이다.
도 5A는 본 발명에 의한 3차원 객체 데이터 복호화 장치를 블럭도로 도시한 것이다.
도 5B는 본 발명에 의한 3차원 객체 데이터 복호화 방법을 흐름도로 도시한 것이다
도 6은 노드 복호화부를 블록도로 도시한 것이다.
도 7은 트리에서 부모, 자식 관계를 도시한 것이다.
도 8은 3x4의 해상도를 갖는 적응적 트리의 예를 도시한 것이다.
도 9는 5x7의 해상도를 갖는 적응적 트리의 예를 도시한 것이다.
도 10은 노드 부호화와 노드 복호화를 설명하기 위한 예를 도시한 것이다.
도 11은 S 노드 부호화 과정을 흐름도로 도시한 것이다.
도 12는 P 노드 부호화 과정을 흐름도로 도시한 것이다.
도 13은 PPM 부호화와 복호화 과정에서 컨텍스트의 사용을 도시한 것이다.
도 14는 노드의 비트스트림의 구조를 도시한 것이다.
도 15는 S 노드 복호화 과정을 흐름도로 도시한 것이다.
도 16은 P 노드 복호화 과정을 흐름도로 도시한 것이다.
도 17은 본 발명의 성능을 시험하기 위한 테스트 모델을 도시한 것이다.
도 18은 테스트 모델에 대해 원래 File 크기와 본 발명에 따른 방법의 압축률을 도시한 것이다.
도 19는 테스트 모델에 대해 WinZip과 본 발명에 따른 방법의 압축성능을 비교를 도시한 것이다.

Claims (39)

  1. (a) 포인트텍스쳐, 체적소 및 8진트리의 데이터 중 어느 하나로 이루어진 3차원 체적 데이터를, 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리 데이터로 변환하는 단계;
    (b) 상기 적응적 8진트리의 노드를 부호화하는 단계; 및
    (c) 상기 부호화된 데이터를 비트스트림으로 생성하는 단계를 포함함을 특징으로 하는 3차원 체적 데이터 부호화 방법.
  2. 제1항에 있어서, 상기 (a) 단계는
    포인트텍스쳐 또는 체적소 데이터로 이루어진 3차원 체적 데이터를 8진트리로 변환하는 단계; 및
    상기 8진트리를 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리로 변환하는 단계를 구비함을 특징으로 하는 특징으로 하는 3차원 체적 데이터 부호화 방법.
  3. 제1항에 있어서, 상기 (a)단계의 적응적 8진트리 데이터 변환은
    3차원 체적 데이터에 대해, 3차원 바운딩 볼륨을 사용하여 체적소 데이터로 변환하는 단계; 및
    상기 체적소 데이터에 대해, 3차원 객체가 존재하는 위치의 체적소와 3차원 객체가 존재하지 않는 위치의 체적소를 소정의 라벨을 붙여 구분하여 표시하는 단계를 구비함을 특징으로 하는 3차원 체적 데이터 부호화 방법.
  4. 제3항에 있어서, 상기 소정의 라벨은
    상기 3차원 체적 데이터를 나타내는 트리의 노드가 하위(Sub) 노드로 구성되는 경우(S), 노드 영역의 하위 체적소가 모두 객체가 없는 체적소로 구성되는 경우(W), 노드 영역의 하위 체적소가 모두 객체가 있는 체적소로 구성되는 경우(B), 노드 영역의 하위 체적소들의 값이 PPM 알고리즘에 의해 부호화되는 경우(P), 노드 영역의 하위 체적소가 공간이 없는 경우(E)를 구분하는 것임을 특징으로 하는 3차원 체적 데이터 부호화 방법.
  5. 제4항에 있어서, 상기 (b) 단계는
    (b1) 상기 적응적 8진트리의 부호화할 노드의 순서를 선택하는 단계;
    (b2) S 노드 부호화인지 P 노드 부호화인지를 나타내는 노드종류정보를 선택하는 단계; 및
    (b3) 상기 노드종류정보가 S 노드이면 S 노드의 상세정보를 부호화하고, P노드이면 P노드의 상세정보를 부호화하는 단계를 포함함을 특징으로 하는 3차원 체적 데이터 부호화 방법.
  6. 제5항에 있어서, 상기 (b1) 단계는
    3차원 객체에 대한 적응적 트리구조에서 상기 라벨을 참조하여 Top-down 방식으로 루트 노드에서부터 하나씩 너비우선탐색 방식으로 부호화할 노드를 선택하는 것을 특징으로 하는 3차원 체적 데이터 부호화 방법.
  7. 제5항에 있어서, 상기 (b2)단계는
    S 노드로 부호화할 때와 P 노드로 부호화할 때의 각 엔트로피(Entropy)를 계산하여 엔트로피가 작은 경우를 선택하는 단계; 및
    상기 선택된 S 노드 또는 P 노드의 라벨을 AAC 부호화하는 단계를 구비함을 특징으로 하는 3차원 체적 데이터 부호화 방법
  8. 제5항에 있어서, 상기 (b3)단계의 S 노드 부호화는
    색깔정보의 평균값 및 하위(sub) 노드의 라벨을 부호화하되,
    상기 색깔정보 부호화는 현재 노드의 영역에 있는 체적소들의 평균 색상인 R(Red), G(Green), B(Blue) 값을 AAC 부호화하고,
    상기 하위노드 라벨 부호화는 현재 노드의 하위 노드의 라벨인 B 또는 W의 값을 AAC 부호화함을 특징으로 하는 3차원 체적 데이터 부호화 방법.
  9. 제5항에 있어서, 상기 (b3)단계의 P 노드 부호화는
    깊이정보 및 색깔정보를 부호화하되,
    상기 깊이정보 부호화는 소정 개수의 컨텍스트를 사용하여 해당 노드 이하의 전체 하위노드를 래스터 스캔순서로 PPM 또는 AAC 부호화하고,
    상기 색깔정보 부호화는 현재 노드의 B 체적소들의 색상인 R(Red), G(Green), B(Blue) 값을 DPCM 부호화하고 AAC 부호화함을 특징으로 하는 3차원 체적 데이터 부호화 방법.
  10. 제1항에 있어서, 상기 (c)단계는
    3차원 객체의 바운딩 볼륨의 해상도 정보를 포함하고,
    노드 부호화시 시작 노드부터 특정 노드까지만 부호화하는 손실부호화 방식과, 처음 노드부터 마지막 노드까지 모두 부호화하는 무손실부호화 방식을 지원하는 점진적인 비트스트림을 생성함을 특징으로 하는 3차원 체적 데이터 부호화 방법.
  11. 포인트텍스쳐, 체적소 및 8진트리의 데이터 중 어느 하나로 이루어진 3차원 체적 데이터를 입력으로 하여, 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리 데이터로 변환하는 적응적 8진트리 생성부;
    상기 적응적 8진트리의 노드를 부호화하는 노드부호화부; 및
    상기 노드부호화부에서 부호화된 데이터를 비트스트림으로 생성하는 비트스트림 생성부를 포함함을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  12. 제11항에 있어서, 상기 적응적 8진트리 생성부는
    포인트텍스쳐 또는 체적소 데이터로 이루어진 3차원 체적 데이터를 입력으로 하여 8진트리로 변환하는 체적데이터입력부; 및
    상기 8진트리를 중간 노드에 소정의 라벨이 부여되는 적응적 8진트리로 변환8진트리변환부를 구비함을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  13. 제11항에 있어서, 상기 적응적 8진트리 생성부의 적응적 8진트리 데이터는
    3차원 체적 데이터에 대해, 3차원 바운딩 볼륨을 사용한 체적소 데이터로 변환되어 상기 3차원 객체가 존재하는 위치의 체적소와 존재하지 않는 위치의 체적소를 소정의 라벨을 붙여 구분하여 표시됨을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  14. 제13항에 있어서, 상기 소정의 라벨은
    상기 3차원 체적 데이터를 나타내는 트리의 노드가 하위(Sub) 노드로 구성되는 경우(S), 노드 영역의 하위 체적소가 모두 객체가 없는 체적소로 구성되는 경우(W), 노드 영역의 하위 체적소가 모두 객체가 있는 체적소로 구성되는 경우(B), 노드 영역의 하위 체적소들의 값이 PPM 알고리즘에 의해 부호화되는 경우(P), 노드 영역의 하위 체적소가 공간이 없는 경우(E)를 구분하는 것임을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  15. 제11항에 있어서, 상기 노드부호화부는
    상기 적응적 8진트리의 부호화할 노드의 순서를 선택하는 노드순서선택부;
    S 노드 부호화인지 P 노드 부호화인지를 나타내는 노드종류정보를 선택하는 노드SOP선택부;
    상기 노드종류정보가 S 노드이면 S 노드의 상세정보를 부호화하는 S 노드부호화부; 및
    상기 노드종류정보가 P 노드이면 P노드의 상세정보를 부호화하는 P 노드부호화부를 포함함을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  16. 제15항에 있어서, 상기 노드순서선택부는
    3차원 객체에 대한 적응적 트리구조에서 상기 라벨을 참조하여 Top-down 방식으로 루트 노드에서부터 하나씩 너비우선탐색 방식으로 부호화할 노드를 선택하는 것을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  17. 제15항에 있어서, 상기 노드SOP선택부는
    S 노드로 부호화할 때와 P 노드로 부호화할 때의 각 엔트로피(Entropy)를 계산하여 엔트로피가 작은 경우를 선택한 후 상기 선택된 S 노드 또는 P 노드의 라벨을 AAC 부호화함을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  18. 제15항에 있어서, 상기 S 노드부호화부는
    색깔정보의 평균값 및 하위(sub)노드의 라벨을 부호화하고,
    상기 P 노드부호화부는
    깊이정보 및 색깔정보를 부호화함을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  19. 제11항에 있어서, 상기 비트스트림생성부는
    3차원 객체의 바운딩 볼륨의 해상도 정보를 포함하고, 노드 부호화시 시작 노드부터 특정 노드까지만 부호화하는 손실부호화 방식과, 처음 노드부터 마지막 노드까지 모두 부호화하는 무손실부호화 방식을 지원하는 점진적인 비트스트림을 생성함을 특징으로 하는 3차원 체적 데이터 부호화 장치.
  20. (w) 3차원 체적 데이터의 비트스트림으로부터 트리를 구성하는 노드들을 판독하는 단계;
    (x) 상기 판독된 노드들을 복호화하는 단계;
    (y) 상기 복호화된 노드들로부터 적응적 8진트리를 복원하는 단계; 및
    (z) 상기 적응적 8진트리로부터 8진트리, 체적소, 포인트텍스쳐 데이터 중 어느 하나의 데이터로 복원하는 단계를 포함함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  21. 제20항에 있어서, 상기 (w) 단계는
    3차원 객체의 바운딩 볼륨의 해상도 정보를 판독하는 단계를 더 구비하고,
    상기 (x)단계는
    상기 해상도 정보를 이용하여 노드 복호화시 시작 노드부터 특정 노드까지만 복호화하는 손실복호화 단계를 구비함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  22. 제20항에 있어서, 상기 (w) 단계는
    3차원 객체의 바운딩 볼륨의 해상도 정보를 판독하는 단계를 더 구비하고,
    상기 (x)단계는
    상기 해상도 정보를 이용하여 처음 노드부터 마지막 노드까지 모두 복호화하는 무손실복호화단계를 구비함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  23. 제20항에 있어서, 상기 (x) 단계는
    (x1) 어느 노드를 복호화할지 순서를 선택하는 단계;
    (x2) S 노드인지 P노드인지에 관한 노드 종류 정보를 선택하는 단계; 및
    (x3) 상기 노드 종류 정보가 S 노드이면 S 노드의 상세정보를 복호화하고, P노드이면 P노드의 상세정보를 복호화하는 단계를 포함함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  24. 제23항에 있어서, 상기 (x1) 단계는
    3차원 객체에 대한 적응적 트리구조를 Top-down 방식으로 복원하면서, 루트 노드에서부터 하나씩 너비우선탐색 방식으로 복호화할 노드를 선택하는 것을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  25. 제23항에 있어서, 상기 (x2) 단계는
    S 또는 P의 라벨을 역 AAC로 복호화하여 S 노드로 또는 P 노드로 복호화하는 경우를 선택하는 것을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  26. 제23항에 있어서, 상기 (x3) 단계의 S 노드 복호화는
    색깔 정보의 평균값을 복호화하는 단계; 및
    하위 노드의 라벨을 복호화하는 단계를 포함함을 특징으로 하는 3차원 체적 데이터 복호화 방법
  27. 제26항에 있어서, 상기 색깔정보 복호화는
    역 AAC로 복호화하여 현재 노드의 영역에 있는 체적소들의 평균 색상인 R(Red), G(Green), B(Blue) 값을 복호화하고,
    상기 하위노드의 라벨 복호화는
    역 AAC로 복호화하여 하위 노드의 라벨인 B 또는 W의 값을 복호화함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  28. 제23항에 있어서, 상기 (x3) 단계의 P 노드 복호화는
    깊이정보를 복호화하는 단계; 및
    색깔정보를 복호화하는 단계를 포함함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  29. 제28항에 있어서, 상기 깊이정보의 복호화는
    소정 개수의 컨텍스트를 사용하여 해당 노드 이하의 전체 하위노드를 래스터 스캔순서로 역 PPM 또는 역 AAC로 복호화하고,
    상기 색깔정보 복호화는
    현재 노드의 B 체적소들의 색상인 R(Red), G(Green), B(Blue) 값을 역 AAC로 복호화하고 역 DPCM으로 복호화함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  30. 제20항에 있어서, 상기 (y)단계의 적응적 8진트리의 데이터 복원은
    체적소 데이터로 표현하여 객체가 존재하는 위치의 체적소와 객체가 존재하지 않는 위치의 체적소를 라벨을 붙여 구분하여 표시함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  31. 제30항에 있어서, 상기 라벨을 붙여 체적소를 구분하여 표시함은
    복원하는 3차원 체적 데이터를 나타내는 트리의 노드가 하위(Sub) 노드로 구성될 때는 S로 표시하고, 노드 영역의 하위 체적소가 모두 객체가 없는 체적소로 구성될 때는 W로 표시하고, 노드 영역의 하위 체적소가 모두 객체가 있는 체적소로 구성될 때는 B로 표시하고, 노드 영역의 하위 체적소들의 값이 역 PPM 알고리즘에 의해 복호화할 때는 P로 표시하고, 노드 영역의 하위 체적소가 공간이 없을 때는 E로 표시함을 특징으로 하는 3차원 체적 데이터 복호화 방법.
  32. (w) 3차원 체적 데이터의 비트스트림을 입력으로 받아들여 트리를 구성하는 노드들을 판독하는 비트스트림 판독부;
    (x) 상기 판독된 노드들을 복호화하는 노드복호화부;
    (y) 상기 노드복호화부에서 복호화된 노드들로부터 적응적 8진트리를 복원하는 적응적 8진트리복원부; 및
    (z) 상기 적응적 8진트리를 입력으로 받아들여 8진트리, 체적소, 포인트텍스쳐 데이터 중 어느 하나의 데이터로 복원하는 체적데이터복원부를 포함함을 특징으로 하는 3차원 체적 데이터 복호화 장치.
  33. 제32항에 있어서, 상기 비트스트림복원부는
    3차원 객체의 바운딩 볼륨의 해상도 정보 및 노드를 판독하고,
    상기 노드복호화부는
    상기 해상도 정보를 이용하여 노드 복호화시 시작 노드부터 특정 노드까지만 복호화하거나 처음 노드부터 마지막 노드까지 모두 복호화함을 특징으로 하는 3차원 체적 데이터 복호화 장치.
  34. 제32항에 있어서, 상기 노드복호화부는
    어느 노드를 복호화할지 순서를 선택하는 노드순서선택부;
    S 노드인지 P노드인지에 관한 노드 종류 정보를 선택하는 노드SOP선택부;
    상기 노드 종류 정보가 S 노드이면 S 노드의 상세정보를 복호화하는 S노드복호화부; 및
    상기 노드 종류 정보가 P노드이면 P노드의 상세정보를 복호화하는 P노드복호화부를 포함함을 특징으로 하는 3차원 체적 데이터 복호화 장치.
  35. 제34항에 있어서, 상기 노드순서선택부는
    3차원 객체에 대한 적응적 트리구조를 Top-down 방식으로 복원하면서, 루트 노드에서부터 하나씩 너비우선탐색 방식으로 복호화할 노드를 선택하고,
    상기 노드SOP선택부는
    S 또는 P의 라벨을 역 AAC로 복호화하여 S 노드로 또는 P 노드로 복호화함을 특징으로 하는 3차원 체적 데이터 복호화 장치.
  36. 제34항에 있어서, 상기 S 노드복호화부는
    색깔 정보의 평균값 및 하위 노드의 라벨을 복호화하고,
    상기 P 노드복호화부는
    깊이정보 및 색깔정보를 복호화함을 특징으로 하는 3차원 체적 데이터 복호화 장치.
  37. 제36항에 있어서, 상기 깊이정보의 복호화는
    소정 개수의 컨텍스트를 사용하여 해당 노드 이하의 전체 하위노드를 래스터 스캔순서로 역 PPM 또는 역 AAC로 복호화하고,
    상기 색깔정보 복호화는
    현재 노드의 B 체적소들의 색상인 R(Red), G(Green), B(Blue) 값을 역 AAC로 복호화하고 역 DPCM으로 복호화함을 특징으로 하는 3차원 체적 데이터 복호화 장치.
  38. 제32항에 있어서, 상기 적응적 8진트리복원부의 적응적 8진트리의 데이터는
    체적소 데이터로 표현하여 객체가 존재하는 위치의 체적소와 객체가 존재하지 않는 위치의 체적소를 라벨을 붙여 구분하여 표시하되,
    상기 라벨은
    상기 3차원 체적 데이터를 나타내는 트리의 노드가 하위(Sub) 노드로 구성되는 경우(S), 노드 영역의 하위 체적소가 모두 객체가 없는 체적소로 구성되는 경우(W), 노드 영역의 하위 체적소가 모두 객체가 있는 체적소로 구성되는 경우(B), 노드 영역의 하위 체적소들의 값이 PPM 알고리즘에 의해 부호화되는 경우(P), 노드 영역의 하위 체적소가 공간이 없는 경우(E)를 구분하는 것임을 특징으로 하는 3차원 체적 데이터 복호화 장치.
  39. 제1항 내지 제10항, 제20항 내지 제31항 중 어느 한 항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2004-0010401A 2004-02-17 2004-02-17 3차원 체적 데이터 부호화/복호화 방법 및 장치 KR100519780B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2004-0010401A KR100519780B1 (ko) 2004-02-17 2004-02-17 3차원 체적 데이터 부호화/복호화 방법 및 장치
EP20050250828 EP1566769B1 (en) 2004-02-17 2005-02-14 Method and apparatus for encoding and decoding 3D data
US11/059,462 US8558834B2 (en) 2004-02-17 2005-02-16 Method, medium and apparatus for encoding and decoding 3D data using adaptive octrees
JP2005039422A JP4759284B2 (ja) 2004-02-17 2005-02-16 3次元体積データの符号化/復号化方法及び装置
CN2005100762843A CN1684109B (zh) 2004-02-17 2005-02-17 用于编码和解码三维数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2004-0010401A KR100519780B1 (ko) 2004-02-17 2004-02-17 3차원 체적 데이터 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20050082052A true KR20050082052A (ko) 2005-08-22
KR100519780B1 KR100519780B1 (ko) 2005-10-07

Family

ID=34709341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-0010401A KR100519780B1 (ko) 2004-02-17 2004-02-17 3차원 체적 데이터 부호화/복호화 방법 및 장치

Country Status (5)

Country Link
US (1) US8558834B2 (ko)
EP (1) EP1566769B1 (ko)
JP (1) JP4759284B2 (ko)
KR (1) KR100519780B1 (ko)
CN (1) CN1684109B (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873212B2 (en) * 2006-01-24 2011-01-18 Nokia Corporation Compression of images for computer graphics
US8122448B2 (en) * 2007-06-29 2012-02-21 International Business Machines Corporation Estimation method and system
KR101590185B1 (ko) * 2009-04-10 2016-02-01 삼성전자주식회사 3차원 메쉬정보 압축 및 복원 방법
CN102685481B (zh) * 2011-03-18 2016-08-03 腾讯科技(深圳)有限公司 一种媒体文件处理方法及其系统
CN103688548A (zh) * 2011-07-08 2014-03-26 汤姆逊许可公司 为具有重复结构的三维模型编码和解码位流的系统及方法
WO2013026210A1 (en) 2011-08-25 2013-02-28 Technicolor (China) Technology Co., Ltd. Hierarchical entropy encoding and decoding
EP2813076B1 (en) * 2012-02-09 2020-04-22 InterDigital VC Holdings, Inc. Efficient compression of 3d models based on octree decomposition
US9544612B2 (en) * 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
US20140368504A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Scalable volumetric 3d reconstruction
US9690885B2 (en) 2013-08-16 2017-06-27 Schlumberger Technology Corporation Interactive visualization of reservoir simulation data sets
CN103679806B (zh) * 2013-12-19 2016-06-08 北京北科光大信息技术股份有限公司 自适应可视外壳生成方法及装置
US9530226B2 (en) * 2014-02-18 2016-12-27 Par Technology Corporation Systems and methods for optimizing N dimensional volume data for transmission
EP2933777A1 (en) * 2014-04-17 2015-10-21 amberMind Three dimensional modeling
CN104134224B (zh) * 2014-07-25 2017-08-25 华南理工大学 一种形状自适应编码的证件照片压缩方法
EP2996086A1 (en) * 2014-09-12 2016-03-16 Kubity System, method and computer program product for automatic optimization of 3d textured models for network transfer and real-time rendering
WO2016171673A1 (en) * 2015-04-21 2016-10-27 Hewlett-Packard Development Company, L.P. Octree serialization
JP7138695B2 (ja) * 2015-12-14 2022-09-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置
KR20230091200A (ko) 2015-12-14 2023-06-22 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치
DE112016007098T5 (de) * 2016-07-26 2019-04-18 Hewlett-Packard Development Company, L.P. Indexierung von voxeln für das 3d-drucken
WO2018071013A1 (en) * 2016-10-12 2018-04-19 Hewlett-Packard Development Company, Lp Sub-volume octrees
EP3559824B1 (en) 2016-12-22 2021-06-09 INTEL Corporation Methods, systems and apparatus to improve spatial-temporal data management
CN108805261B (zh) * 2017-04-28 2021-11-12 微软技术许可有限责任公司 基于八叉树的卷积神经网络
EP3429207A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object
EP3429212A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
US11200703B2 (en) 2017-10-05 2021-12-14 Sony Corporation Information processing device and method
EP3467778A1 (en) * 2017-10-06 2019-04-10 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
EP3474233A1 (en) * 2017-10-19 2019-04-24 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
MX2020003704A (es) * 2017-10-24 2020-07-22 Panasonic Ip Corp America Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo de codificacion de datos tridimensionales y dispositivo de decodificacion de datos tridimensionales.
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
JP7285789B2 (ja) * 2018-01-19 2023-06-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7052450B2 (ja) * 2018-03-19 2022-04-12 富士フイルムビジネスイノベーション株式会社 符号化装置、復号装置及びプログラム
US10748306B2 (en) 2018-03-19 2020-08-18 Fuji Xerox Co., Ltd. Encoding device, decoding device, and non-transitory computer readable medium
JP7035668B2 (ja) * 2018-03-19 2022-03-15 富士フイルムビジネスイノベーション株式会社 符号化装置、復号装置及びプログラム
WO2019182102A1 (ja) * 2018-03-23 2019-09-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN112119429A (zh) * 2018-05-11 2020-12-22 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
MX2020014247A (es) * 2018-06-25 2021-05-12 Huawei Tech Co Ltd Codificación geométrica híbrida de nubes de puntos.
CN108965873B (zh) * 2018-07-24 2020-02-14 北京大学 一种脉冲阵列编码的自适应划分方法
JP7359153B2 (ja) * 2018-09-28 2023-10-11 ソニーグループ株式会社 画像処理装置および方法
GB2578769B (en) 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
CA3122248A1 (en) * 2018-12-21 2020-06-25 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
CN113228107A (zh) * 2018-12-28 2021-08-06 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
CN111247798B (zh) * 2019-01-10 2022-03-15 深圳市大疆创新科技有限公司 对三维数据点集进行编码或解码的方法和设备
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
WO2020184444A1 (ja) * 2019-03-08 2020-09-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN113574568A (zh) 2019-03-26 2021-10-29 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
CN111699684B (zh) * 2019-06-14 2022-05-06 深圳市大疆创新科技有限公司 三维数据点的编解码方法和装置
WO2020261334A1 (ja) * 2019-06-24 2020-12-30 日本電信電話株式会社 符号化装置、符号化方法及びプログラム
JP7440546B2 (ja) * 2019-07-01 2024-02-28 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ処理装置及び方法
WO2021010200A1 (ja) * 2019-07-17 2021-01-21 ソニー株式会社 情報処理装置および方法
CN110443810B (zh) * 2019-07-17 2022-09-16 北京建筑大学 基于快速邻接体素查询的点云平面分割方法
WO2021243519A1 (zh) * 2020-06-01 2021-12-09 深圳市大疆创新科技有限公司 点云的编解码方法和装置
WO2021261499A1 (ja) * 2020-06-22 2021-12-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2022038208A1 (en) * 2020-08-20 2022-02-24 Koninklijke Philips N.V. Rendering of two dimensional data sets
CN116683915B (zh) * 2023-06-14 2024-02-13 上海海洋中心气象台 气象数据压缩方法、系统及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000182081A (ja) 1998-12-14 2000-06-30 Suzuki Motor Corp 解析モデル作成方法および装置並びに解析モデル作成用プログラム若しくは解析モデルデータを記憶した記憶媒体
US6559848B2 (en) * 2000-12-13 2003-05-06 Intel Corporation Coding and decoding three-dimensional data
JP2004005373A (ja) 2001-11-27 2004-01-08 Samsung Electronics Co Ltd 深さイメージに基づく3次元物体を表現するためのノード構造
CA2413056C (en) * 2001-11-27 2009-02-10 Samsung Electronics Co., Ltd. Apparatus and method for depth image-based representation of 3-dimensional object
KR100513732B1 (ko) * 2002-12-05 2005-09-08 삼성전자주식회사 3차원 객체 데이터 부호화 및 복호화 방법 및 장치
EP1431919B1 (en) * 2002-12-05 2010-03-03 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding three-dimensional object data by using octrees

Also Published As

Publication number Publication date
CN1684109A (zh) 2005-10-19
US8558834B2 (en) 2013-10-15
JP4759284B2 (ja) 2011-08-31
US20050180340A1 (en) 2005-08-18
CN1684109B (zh) 2010-05-26
KR100519780B1 (ko) 2005-10-07
EP1566769A2 (en) 2005-08-24
EP1566769A3 (en) 2007-02-21
JP2005235210A (ja) 2005-09-02
EP1566769B1 (en) 2015-04-08

Similar Documents

Publication Publication Date Title
KR100519780B1 (ko) 3차원 체적 데이터 부호화/복호화 방법 및 장치
KR100513732B1 (ko) 3차원 객체 데이터 부호화 및 복호화 방법 및 장치
JP4166679B2 (ja) 3次元オブジェクトデータの符号化及び復号化方法、並びに、その装置
KR100695142B1 (ko) 적응적 2의 n 제곱 진트리 생성방법 및 이를 이용한 3차원 체적 데이터 부호화/복호화 방법 및 장치
JP4759291B2 (ja) 適応的2n進ツリーの生成方法、ならびにそれを利用して3次元体積データを符号化/復号化する方法および装置
RU2237283C2 (ru) Устройство и способ представления трехмерного объекта на основе изображений с глубиной
JP3957620B2 (ja) 深さイメージ基盤3次元客体を表現するための装置及び方法
KR100450823B1 (ko) 깊이 이미지 기반 3차원 물체의 표현을 위한 노드 구조
JP4832975B2 (ja) 深さイメージに基づく3次元客体を表現するためのノード構造を記憶させた、コンピュータで読み出し可能な記録媒体
CA2514655C (en) Apparatus and method for depth image-based representation of 3-dimensional object
JP3955177B2 (ja) グラフィックシーンの動画化のためのデータを作成する方法及び装置
Song et al. Progressive compression of PointTexture images
Song et al. Progressive compression and transmission of PointTexture images

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120814

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee