KR101334173B1 - 그래픽 데이터 부호화 및 복호화 방법과 장치 - Google Patents

그래픽 데이터 부호화 및 복호화 방법과 장치 Download PDF

Info

Publication number
KR101334173B1
KR101334173B1 KR1020070003067A KR20070003067A KR101334173B1 KR 101334173 B1 KR101334173 B1 KR 101334173B1 KR 1020070003067 A KR1020070003067 A KR 1020070003067A KR 20070003067 A KR20070003067 A KR 20070003067A KR 101334173 B1 KR101334173 B1 KR 101334173B1
Authority
KR
South Korea
Prior art keywords
information
graphic
function
profile
graphic profile
Prior art date
Application number
KR1020070003067A
Other languages
English (en)
Other versions
KR20070075329A (ko
Inventor
안정환
한만진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20070075329A publication Critical patent/KR20070075329A/ko
Application granted granted Critical
Publication of KR101334173B1 publication Critical patent/KR101334173B1/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/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K29/00Combinations of writing implements with other articles
    • B43K29/18Combinations of writing implements with other articles with hand tools, e.g. erasing knives
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K24/00Mechanisms for selecting, projecting, retracting or locking writing units
    • B43K24/02Mechanisms for selecting, projecting, retracting or locking writing units for locking a single writing unit in only fully projected or retracted positions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K25/00Attaching writing implements to wearing apparel or objects involving constructional changes of the implements
    • B43K25/02Clips
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K29/00Combinations of writing implements with other articles
    • B43K29/02Combinations of writing implements with other articles with rubbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Generation (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명에 의한 그래픽 데이터 부호화 방법과 장치는, 부호화 가능한 다수의 제1 정보들 중 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 부호화하며, 부호화 가능한 다수의 제2 정보들 중 그 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 부호화하여, 비트스트림을 생성하고, 본 발명에 의한 그래픽 데이터 복호화 방법과 장치는, 그 생성된 비트스트림을 복호화하므로, 본 발명에 의한 그래픽 데이터 부호화 장치가 수행할 수 있는 기능들이 무엇인지, 및 본 발명에 의한 그래픽 데이터 복호화 장치가 수행할 수 있는 기능들이 무엇인지에 관계없이, 그 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 복호화 장치는 그 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림에 기술된 3차원 메쉬 모델을 온전히 복원하는 효과를 갖는다.

Description

그래픽 데이터 부호화 및 복호화 방법과 장치{Method and apparatus for encoding/decoding graphic data}
도 1은 본 발명에 의한 그래픽 데이터의 포맷을 설명하기 위한 구성도이다.
도 2a 및 도 2b는 오류 강인 기능, 점진적 렌더링 기능을 설명하기 위한 참고도들이다.
도 3a 내지 도 3c는 스티치 기능을 설명하기 위한 참고도들이다.
도 4는 본 발명에 의한 그래픽 데이터 부호화 장치를 설명하기 위한 블록도이다.
도 5는 본 발명에 의한 그래픽 데이터 복호화 장치를 설명하기 위한 블록도이다.
도 6은 본 발명에 의한 그래픽 데이터를 나타내는 신택스(syntax)이다.
도 7은 도 6에 나타난 그래픽 데이터의 헤더(header)를 나타내는 신택스이다.
도 8 내지 도 11은 도 7에 나타난 헤더 중 기본 헤더를 설명하기 위한 신택스들이다.
도 12는 도 7에 나타난 헤더 중 확장 헤더를 나타내는 신택스이다.
도 13은 도 12에 표기된 function_type을 설명하기 위한 도표이다.
도 14 내지 도 16은 도 7에 나타난 헤더 중 확장 헤더를 설명하기 위한 신택스들이다.
도 17은 도 6에 나타난 그래픽 데이터의 페이로드(payload)를 나타내는 신택스이다.
도 18은 도 17에 나타난 페이로드 중 기본 페이로드를 나타내는 신택스이다.
도 19 내지 도 41은 도 18에 나타난 기본 페이로드를 설명하기 위한 신택스들이다.
도 42는 도 17에 나타난 페이로드 중 확장 페이로드를 나타내는 신택스이다.
도 43 내지 도 46은 도 42에 나타난 확장 페이로드를 설명하기 위한 신택스들이다.
도 47은 본 발명에 의한 그래픽 데이터 부호화 방법을 설명하기 위한 플로우챠트이다.
도 48은 본 발명에 의한 그래픽 데이터 복호화 방법을 설명하기 위한 플로우챠트이다.
본 발명은 그래픽 데이터에 관한 것으로, 특히, 3차원 메쉬(mesh) 모델의 압축 및 복원에 관한 것이다.
다수의 정점(vertex)들 및 그 정점들이 이루는 평면(face)들을 이용하여 3차 원적으로 표현된 모델인 3차원 메쉬(mesh) 모델은, 3차원 게임, 3차원 모델링, 애니메이션 등의 다양한 멀티미디어 응용 분야에서 널리 이용되고 있다.
이러한 3차원 메쉬 모델을 나타내는 모델 데이터의 부호화 및 복호화 기법은 다양하게 제안될 수 있으며, 이 경우, 각각의 기법에 따라 부호화되어 생성된 비트스트림의 포맷은 다양할 수 있다. 이에 따라, 복호화하고자 하는 비트스트림이 어떠한 기법에 따라 부호화된 것인지에 관계없이 그 비트스트림을 온전히 복호화하기 위한 방안이 요구되고 있다.
본 발명이 이루고자 하는 기술적 과제는, 복호화하고자 하는 비트스트림이 어떠한 기법에 따라 부호화된 것인지에 관계없이 그 비트스트림을 온전히 복호화하기 위한 그래픽 데이터 부호화 방법 및 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 복호화하고자 하는 비트스트림이 어떠한 기법에 따라 부호화된 것인지에 관계없이 그 비트스트림을 온전히 복호화하기 위한 그래픽 데이터 복호화 방법 및 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 복호화하고자 하는 비트스트림이 어떠한 기법에 따라 부호화된 것인지에 관계없이 그 비트스트림을 온전히 복호화하기 위한 포맷에 따라 기술되는 그래픽 데이터를 저장한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기 과제를 이루기 위해, 본 발명에 의한 그래픽 데이터 부호화 방법은, 부 호화 가능한 다수의 제1 정보들 중 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 부호화하는 단계; 및 부호화 가능한 다수의 제2 정보들 중 상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 부호화하는 단계를 포함하는 것이 바람직하다.
상기 과제를 이루기 위해, 본 발명에 의한 그래픽 데이터 부호화 장치는, 부호화 가능한 다수의 제1 정보들 중 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 부호화하는 헤더 부호화부; 및 부호화 가능한 다수의 제2 정보들 중 상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 부호화하는 페이로드 부호화부를 포함하는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 본 발명에 의한 그래픽 데이터 복호화 방법은, 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 복호화하는 단계; 및 상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 상기 복호화된 제1 정보들을 고려하여 복호화하는 단계를 포함하는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 본 발명에 의한 그래픽 데이터 복호화 장치는, 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 복호화하는 헤더 복호화부; 및 상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 상기 복호화된 제1 정보들을 고려하여 복호화하는 페이로드 복호화부를 포함하는 것이 바람직하다.
상기 또 다른 과제를 이루기 위해, 본 발명에 의한 컴퓨터로 읽을 수 있는 기록매체는, 소정 그래픽 프로파일에 무관하게 고정적으로 포함된 하나 이상의 제1 정보들과, 상기 그래픽 프로파일에 따라 선택적으로 포함된 하나 이상의 제1 정보들을 갖는 헤더; 및 상기 그래픽 프로파일에 무관하게 고정적으로 포함된 하나 이상의 제2 정보들과, 상기 그래픽 프로파일에 따라 선택적으로 포함된 하나 이상의 제2 정보들을 갖는 페이로드를 포함한 그래픽 데이터를 저장한 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 그 첨부 도면을 설명하는 내용을 참조하여야만 한다.
이하, 본 발명에 의한 그래픽 데이터 부호화 및 복호화 방법과 장치를 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 의한 그래픽 데이터의 포맷을 설명하기 위한 구성도이며, 본 발명에 의한 그래픽 데이터 부호화 장치가 생성하는 비트스트림(110)의 일 례를 나타낸다. 도 2a 내지 도 2b는 오류 강인 기능, 점진적 렌더링 기능을 설명하기 위한 참고도들이고, 도 3a 내지 도 3c는 스티치 기능을 설명하기 위한 참고도들이다.
본 명세서에서 모델 데이터는 기하(geometry)정보, 연결성(connectivity)정보, 속성(attribute)정보의 조합으로서 표현될 수 있다. 여기서, 기하정보는 3차원 메쉬 모델을 구성하는 각 정점의 위치를 나타내며, 연결성정보는 정점들 간의 기하학적 연결 구조를 나타내며, 속성정보는 각 정점, 각 평면, 또는 각 코너(corner)의 색상(color), 각 평면의 법선(normal), 각 정점마다 매핑(mapping)된 텍스쳐 좌 표를 나타낸다. 이 때, 코너란 평면상에서의 코너를 의미하고, 텍스쳐 좌표란 3차원 메쉬 모델에 덮일 2차원 텍스쳐 이미지상의 좌표를 의미한다.
이러한 모델 데이터는 VRML(Virtual Reality Modeling Language) 규격에 따라 표현될 수도 있고, VRML을 기초로 하는 MPEG(Moving Picture Experts Group)-4 규격 상의 BIFS(BInary Format for Scenes) 데이터일 수도 있다.
본 발명에 의한 그래픽 데이터 부호화 장치는 모델 데이터를 다양한 기법으로 부호화할 수 있고, 본 발명에 의한 그래픽 데이터 복호화 장치는 비트스트림(110)을 다양한 방식으로 복호화할 수 있다. 이하 본 명세서에서 부가정보란 그러한 방식을 설명하는 정보를 의미한다. 이에 따라, 본 발명에 의한 그래픽 데이터 부호화 장치는 모델 데이터를 부호화함에 있어, 모델 데이터와 하나 이상의 부가정보들을 함께 부호화할 수 있다. 즉, 본 발명에 의한 그래픽 데이터 부호화 장치는 모델 데이터와 하나 이상의 부가정보들이 담긴 비트스트림(110)을 생성할 수 있다. 이 경우, 본 발명에 의한 그래픽 데이터 복호화 장치는 비트스트림(110)을 복호화하여 모델 데이터와 하나 이상의 부가정보들을 복원한다. 본 명세서에서 그래픽 데이터란, 앞서 언급한 '모델 데이터와 하나 이상의 부가정보들'을 의미한다.
부가정보는 모델 데이터를 다양한 방식으로 압축 및 복원하기 위한 정보를 의미할 수도 있고, 모델 데이터를 다양한 방식으로 렌더링(rendering)하기 위한 정보를 의미할 수도 있다. 이러한 부가정보는 본 발명에 의한 그래픽 데이터 부호화 장치가 만족하는 그래픽 프로파일이 지원하는 기능(function)에 대한 정보를 의미하기도 한다. 이 때, 그래픽 프로파일이란 그래픽 데이터의 부호화 및 복호화와 관 련된 프로파일(profile)을 의미하며, 프로파일이란 부호화 및 복호화와 관련된 기능들의 집합(set)을 의미한다.
MPEG-4의 서브그룹(sub-group)들 중의 하나인 3DGC(3-Dimensional Graphic Compression)의 애드혹그룹(AHG: Ad-Hoc Group)들 중의 하나인 AFX(Animation Framework eXtension)는 Core 3D Compression Profile이라는 그래픽 프로파일을 규정한 바 있다. 여기서, 3DGC는 SNHC(Synthetic Natural Hybrid Coding)라 명명되기도 하고, 그래픽 프로파일은 다수의 Object type들로 구성되고, Object type은 그래픽 프로파일이 지원하는 다수의 기능들 중 특정 기능(들)만을 취합한 부호화/복호화 툴(tool)을 의미한다. Core 3D Compression Profile을 구성하는 Object type들에는 Simple 3DMC(3-Dimensional Mesh Coding), Simple CI(CoordinateInterpolator), Simple PI(PositionInterpolator), Simple OI(OrientationInterpolator), Simple WSS(Wavelet Subdivision Surface) 등이 존재한다. 이 때, Simple 3DMC라는 Object type은 기하정보 압축/복원 기능, 연결성정보 압축/복원 기능, 속성정보 압축/복원 기능, 오류 강인(error-resilience) 기능, 점진적 렌더링(incremental rendering) 기능을 지원하는 툴이다.
즉, Core 3D Compression Profile을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치는 기하정보 압축/복원 기능, 연결성정보 압축/복원 기능, 속성정보 압축/복원 기능, 오류 강인 기능, 점진적 렌더링 기능을 수행할 수 있고, 모델 데이터를 부호화함에 있어, 모델 데이터와 다수의 부가정보들을 함께 부호화한다. 이 때, 다수의 부가정보들은 기하정보 압축/복원 기능, 연결성정보 압축/복원 기능, 속성정보 압축/복원 기능, 오류 강인 기능, 점진적 렌더링 기능에 대한 정보들을 의미한다. 여기서, 기하정보 압축/복원 기능은 모델 데이터의 기하정보를 압축 및 복원하는 기능을 의미하고, 연결성정보 압축/복원 기능은 모델 데이터의 연결성정보를 압축 및 복원하는 기능을 의미하고, 속성정보 압축/복원 기능은 모델 데이터의 속성정보를 압축 및 복원하는 기능을 의미한다. 한편, 오류 강인 기능, 점진적 렌더링 기능은 도 2a 및 도 2b에 도시된 바와 같이, 하나의 3차원 메쉬 모델(210)을 다수의 부분 모델들(212, 214)의 조합으로서 취급할 때 고려되는 기능들이다. 이 경우, 모델 데이터(CC Data #1 + CC Data #2)는 다수의 파티션(partition)들(P1, P2, P3)로 구성된다. 여기서, CC Data #1은 부분 모델(212)을 나타내는 데이터이고, CC Data #2는 부분 모델(214)을 나타내는 데이터이다. 구체적으로, CC Data #1은 파티션 P1 중 P1-1에 해당되고, CC Data #2는 파티션 P1 중 P1-2와, P2와, P3에 해당된다. 이 때, 파티션들(P1, P2, P3) 각각의 데이터 용량은 일정하다. 예컨대, 파티션들(P1, P2, P3) 각각을 표현하는 비트수는 일정하다. 이를 위해, 하나의 부분 모델(214)을 표현하는 데이터(CC Data #2)가 다수의 파티션(P1 중 일부, P2, P3)들에 해당될 수도 있고, 다수의 부분 모델들을 표현하는 데이터들(CC Data #2 중 일부와 CC Data #1)이 하나의 파티션(P1)에 해당될 수도 있다. 오류 강인 기능은 비트스트림(110)이 디코더(decoder)로 전송되는 도중 일부(엄밀하게는, 파티션들 중 일부)에 오류가 발생되더라도, 디코더가 그 비트스트림(110) 전체를 다시 복호화 및 렌더링할 필요없이 그 오류가 발생된 파티션부터만 다시 복호화 및 렌더링하도록 하는 기능을 의미한다. 또한, 점진적 렌더링 기능은 다수의 파티션들을 갖는 비트스트림(110)을 전송받는 디코더가 그 비트스트림(110) 전체를 모두 전송받은 후에야 비로서 비트스트림(110)을 복호화 및 렌더링하는 것이 아니라, 전송된 파티션부터 우선적으로 복호화 및 렌더링하도록 하는 기능을 의미한다.
Core 3D Compression Profile을 만족하는 본 발명에 의한 그래픽 데이터 부호화/복호화 장치는 이처럼, 기하정보 압축/복원 기능, 연결성정보 압축/복원 기능, 속성정보 압축/복원 기능, 오류 강인 기능, 점진적 렌더링 기능만을 수행할 수 있지만, 그 밖의 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화/복호화 장치는 그 밖의 다양한 기능들을 수행할 수 있다.
일 례로서, ISO(International Organization for Standardization)/IEC (International Electrotechnical Commission) 14496-2에 개시된 3DMC라는 Object type을 갖는 그래픽 프로파일은 Core 3D Compression Profile이 지원하는 5가지 기능들 이외에도 하나 이상의 기능들을 더 지원할 수 있다. 구체적으로, 3DMC는 Progressive 기능, Ce_SNHC 기능, 스티치(stitch) 기능 등을 추가적으로 지원할 수 있다. 여기서, Progressive 기능은 비트스트림(110)을 전송받은 디코더가, 비트스트림(110) 전체를 복호화하되 모델 데이터를 점진적으로 해상도를 증가시키며 렌더링하도록 하는 기능을 의미한다. 또한, Ce_SNHC 기능은 3차원 메쉬 모델의 렌더링되어 화면상에서 표시될 크기를 고려하여 모델 데이터의 데이터 용량을 조절하는 기능을 의미한다. 한편, 스티치 기능은 도 3a 내지 도 3c에 도시된 바와 같이, 하나의 에지(edge)(예를 들어, 1번 정점과 2번 정점을 잇는 선)를 세 개 이상의 평면들(M1, M2, M3)이 공유하는 경우, 인코더(encoder)는 그 에지에 최대 두 개의 평면 들이 공유되도록 그 세 개 이상의 평면들 중 적어도 일부를 분리하여 부호화함으로써 비트스트림(110)을 생성하도록 하고, 디코더는 비트스트림(110)을 복호화하여 3차원 메쉬 모델을 복원하되 그 분리된 평면들이 본래대로 결합된 채 복원되도록 하는 기능을 의미한다. 즉, 스티치 기능을 수행하는 본 발명에 의한 그래픽 데이터 부호화 장치는, 도 3a에 도시된 바가 나타내는 모델 데이터를 부호화함에 있어, 도 3b 및 도 3c에 도시된 바와 같이 1번 정점과 2번 정점간의 에지에 공유되는 평면의 개수가 최대 2개이도록 평면(M3)을 평면들(M1, M2)로부터 분리한다. 이 경우, 그 분리된 평면(M3)의 정점들은 더 이상 1번 정점, 2번 정점, 4번 정점이 아니다. 즉, 스티치 기능을 수행하는 본 발명에 의한 그래픽 데이터 부호화 장치는 평면(M3)을 평면들(M1, M2)로부터 분리한 경우, 그 분리된 평면(M3)의 정점들 중 1번 정점과 2번 정점을 본래 존재하는 정점들(0번 정점, 1번 정점, ..., 4번 정점) 이외의 정점들(예를 들어, 5번 정점, 6번 정점)로 취급한다. 이처럼 평면(M3)이 평면들(M1, M2)로부터 분리된 경우, 스티치 기능을 수행하는 본 발명에 의한 그래픽 데이터 부호화 장치는 도 3b에 도시된 바가 나타내는 모델 데이터의 부호화와 도 3c에 도시된 바가 나타내는 모델 데이터의 부호화를 별도로 수행한다. 이와 같은 논리로, 스티치 기능을 수행하는 본 발명에 의한 그래픽 데이터 복호화 장치는 그 분리된 평면(M3)의 5번 정점과 6번 정점간의 에지가 평면들(M1, M2)의 2번 정점과 1번 정점간의 에지가 되도록(즉, 평면(M3)이 평면들(M1, M2)에 결합되도록) 도 3a에 도시된 바가 나타내는 모델 데이터를 복원한다. 도 3a 내지 도 3c에 도시된 바에서, 본 발명에 의한 그래픽 데이터 부호화 장치에 의해 부호화되는 '스티치 기능에 대한 부 가정보'는 '평면(M3)의 세 정점들에 대한 모델 데이터는, 1번 정점을 6번 정점으로 취급하고 2번 정점을 5번 정점으로 취급한 채 부호화되고, 5번 정점을 2번 정점으로 취급하고 6번 정점을 1번 정점으로 취급한 채 복호화된다'는 내용의 정보인 것이 바람직하다. 본 명세서에서, 에지는 인접한 두 정점을 잇는 선을 의미한다.
다른 례로서, 본 명세서는 3DMC가 지원하는 기능들 중 일부 기능들을 지원하지 않으면서, 3DMC가 지원하지 않는 일부 기능들을 더 지원하는 3DMC extension이라는 Object type을 갖는 그래픽 프로파일도 제안한다. Progressive 기능, Ce_SNHC 기능은 3DMC는 지원하나 3DMC extension은 지원하지 않는 기능들의 일 례이다. 순서정보 유지기능, 무손실 압축/복원 기능, 개량된 텍스쳐 매핑기능은 3DMC는 지원하지 않으나 3DMC extension은 지원하는 기능들의 일 례이다. 여기서, 순서정보 유지기능은 인코더가 압축률을 높이기 위해 3차원 메쉬 모델을 구성하는 정점들 각각의 부여된 순서(order) 및 그 3차원 메쉬 모델을 구성하는 평면들 각각의 부여된 순서 중 적어도 하나를 변경하며 부호화하여 비트스트림(110)을 생성한 관계로, 디코더(예컨대, '정점 a, 정점 b, 정점 c로 구성된 평면', '정점 b, 정점 c, 정점 a로 구성된 평면', '정점 c, 정점 a, 정점 b로 구성된 평면', '정점 a, 정점 c, 정점 b로 구성된 평면', ... 각각을 서로 다른 평면으로 인식하는 디코더)가 그 3차원 메쉬 모델을 올바로 복원하기 곤란한 경우, 인코더는 그 정점들 각각의 본래 순서 및 그 평면들 각각의 본래 순서 중 적어도 하나에 관한 정보를 부가정보로서 취급하여 모델 데이터와 함께 부호화하도록 하고, 디코더가 그 본래 순서에 관한 정보를 고려하여 비트스트림(110)을 복호화하도록 함으로써 디코더는 그 정점들 각각 의 본래 순서 및 그 평면들 각각의 본래 순서를 유지하면서 3차원 메쉬 모델을 복원하도록 하는 기능을 의미한다. 또한, 무손실 압축/복원 기능은 인코더 및 디코더가 유효숫자(significant_figure)를 이용하여 모델 데이터(엄밀하게는, 모델 데이터의 기하정보, 및 속성정보)의 무손실(lossless or near-lossless) 압축 및 복원을 수행하도록 하는 기능을 의미한다. 한편, 개량된 텍스쳐 매핑기능은 3차원 메쉬 모델에 2차원 텍스쳐 이미지를 덮는 텍스쳐 매핑(texture mapping)이, 각 정점에 매핑될 정규화된(normalized) 텍스쳐 좌표를 고려함은 물론, 그 텍스쳐 이미지의 데이터 용량도 고려하여 수행되도록 하는 기능을 의미한다.
본 발명에 의한 그래픽 데이터 부호화 장치가 만족하는 그래픽 프로파일이 무엇인지에 관계없이, 본 발명에 의한 그래픽 데이터는 언제나 헤더(header)와 페이로드(payload)로 구성된다. 이 때, 페이로드는 바디(body)라 명명되기도 한다. 본 명세서에서, 제1 정보는 헤더에 마련된 부가정보를 의미하고, 제2 정보는 페이로드에 마련된 부가정보를 의미한다.
도 1에 도시된 바에서, 3D_Mesh_Object_Header는 본 발명에 의한 그래픽 데이터의 헤더를 의미하고, 3D_Mesh_Object_Layer는 본 발명에 의한 그래픽 데이터의 페이로드를 의미한다.
본 발명에 의한 그래픽 데이터의 헤더는 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖고, 본 발명에 의한 그래픽 데이터의 페이로드는 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는다. 본 명세서에서 소정 그래픽 프로파일이란, 본 발명에 의한 그래픽 데이터 부호화(또 는, 복호화) 장치가 만족할 수 있는 그래픽 프로파일들 중 어느 한 그래픽 프로파일을 의미한다. Core 3D Compression Profile, 3DMC를 갖는 그래픽 프로파일, 3DMC extension을 갖는 그래픽 프로파일은 소정 그래픽 프로파일의 일 례들이다.
본 발명에 의한 그래픽 데이터의 헤더는 소정 그래픽 프로파일에 무관하게 고정적으로 포함되는 하나 이상의 제1 정보들과, 소정 그래픽 프로파일에 따라 선택적으로 포함되는 하나 이상의 제1 정보들을 갖는 것이 바람직하다. 마찬가지로, 본 발명에 의한 그래픽 데이터의 페이로드는 소정 그래픽 프로파일에 무관하게 고정적으로 포함되는 하나 이상의 제2 정보들과, 소정 그래픽 프로파일에 따라 선택적으로 포함되는 하나 이상의 제2 정보들을 갖는 것이 바람직하다.
도 1에 도시된 바는 설명의 편의를 위해 도시된 것이므로, 후술할 도 1에 대한 설명은 물론, 도 4 내지 도 46에 대한 설명도 본 발명에 의한 그래픽 데이터의 일 례에 대한 설명일 뿐이다.
도 1에 도시된 바에서, 소정 그래픽 프로파일에 무관하게 고정적으로 포함되는 하나 이상의 제1 정보들은 Simple 3DMC가 지원하는 기능들에 대한 부가정보들로서 헤더에 마련된 부가정보들을 의미하고, 소정 그래픽 프로파일에 무관하게 고정적으로 포함되는 하나 이상의 제2 정보들은 '모델 데이터'와 'Simple 3DMC가 지원하는 기능들에 대한 부가정보들로서 페이로드에 마련된 부가정보들'을 의미한다. 이 경우, 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성하는 비트스트림(110)의 헤더(엄밀하게는, 부호화된 헤더)와 페이로드(엄밀하게는, 부호화된 페이로드)는 Simple 3DMC가 지원하는 기능들에 대한 제1 정보들과 제2 정보들을 포함한다. 마찬가지로, 3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성하는 비트스트림(110)의 헤더와 페이로드도 Simple 3DMC가 지원하는 기능들에 대한 제1 정보들과 제2 정보들을 포함한다.
한편, 도 1에 도시된 바에서, 소정 그래픽 프로파일에 따라 선택적으로 포함되는 제1 정보들은 소정 그래픽 프로파일 고유의 기능들을 규정한 제1 정보, 무손실 압축/복원 기능에 대한 제1 정보, 순서정보 유지기능에 대한 제1 정보, 개량된 텍스쳐 매핑기능에 대한 제1 정보를 포함한다. 이 경우, 3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성하는 비트스트림(110)의 헤더는, 'Core 3D Compression Profile' 또는 '3DMC를 갖는 그래픽 프로파일'을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성하는 비트스트림(110)의 헤더와 달리, 3DMC extension을 갖는 그래픽 프로파일 고유의 기능들(예를 들어, 무손실 압축/복원 기능, 순서정보 유지기능, 개량된 텍스쳐 매핑기능)을 규정한 제1 정보, 무손실 압축/복원 기능에 대한 제1 정보, 순서정보 유지기능에 대한 제1 정보, 개량된 텍스쳐 매핑기능에 대한 제1 정보를 포함한다.
또한, 도 1에 도시된 바에서, 소정 그래픽 프로파일에 따라 선택적으로 포함되는 제2 정보들은 스티치 기능에 대한 제2 정보, 순서정보 유지기능에 대한 제2 정보를 포함한다. 이 경우, 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성하는 비트스트림(110)의 페이로드는, Core 3D Compression Profile을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생 성하는 비트스트림(110)의 페이로드와 달리, 스티치 기능에 대한 제2 정보를 포함한다. 이와 비슷하게, 3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성하는 비트스트림(110)의 페이로드는, Core 3D Compression Profile 또는 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성하는 비트스트림(110)의 페이로드와 달리, 스티치 기능에 대한 제2 정보와 순서정보 유지기능에 대한 제2 정보를 포함한다.
도 1에 표기된 3DMC_Header, 3DMC_extension_Header, 3D_Mesh_Object_Base_Layer, 3D_Mesh_Object_Extension_Layer 각각을 전술한 헤더(3D_Mesh_Object_Header)와 페이로드(3D_Mesh_Object_Layer)를 이용하여 설명하면 다음과 같다.
Core 3D Compression Profile을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)의 헤더는 3DMC_Header의 일부이고, 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)의 헤더는 3DMC_Header이고, 3DMC_extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)의 헤더는 3DMC_Header + 3DMC_extension_Header이다. 다만, 이미 언급했듯이 3DMC extension은 3DMC이 지원하는 기능들 중 일부 기능들을 지원하지 않으므로, 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)에 담긴 3DMC_Header의 내용과, 3DMC_extension 을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)에 담긴 3DMC_Header의 내용은 상이하다.
이와 비슷하게, Core 3D Compression Profile을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)의 페이로드는 3D_Mesh_Object_Base_Layer의 일부이고, 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)의 페이로드는 3D_Mesh_Object_Base_Layer이고, 3DMC_extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)의 페이로드는 3D_Mesh_Object_Base_Layer + 3D_Mesh_Object_Extension_Layer이다. 다만, 이미 언급했듯이 3DMC extension은 3DMC이 지원하는 기능들 중 일부 기능들을 지원하지 않으므로, 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)에 담긴 3D_Mesh_Object_Base_Layer의 내용과, 3DMC_extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 생성한 비트스트림(110)에 담긴 3D_Mesh_Object_Base_Layer의 내용은 상이하다.
도 1에 표기된, function_type은 3DMC는 지원하지 않으나 3DMC_extension은 지원하는 기능들(엄밀하게는, 3DMC_extension_Header에 나타난 기능들)을 규정하는 제1 정보를 나타낸다. 또한, HQ_mode는 무손실 압축/복원 기능을 의미하고, Order_mode는 순서정보 유지기능을 의미하고, Adaptive_quant_texCoord_mode는 개량된 텍스쳐 매핑기능을 의미한다. 나아가, HQ_mode_header는 무손실 압축/복원 기 능에 대한 제1 정보를 의미하고, Order_mode_header는 순서정보 유지기능에 대한 제1 정보를 의미하고, Adaptive_quant_texCoord_mode_header는 개량된 텍스쳐 매핑기능에 대한 제1 정보를 의미한다.
한편, Order_Information은 순서정보 유지기능에 대한 제2 정보를 의미한다.
도 4는 본 발명에 의한 그래픽 데이터 부호화 장치를 설명하기 위한 블록도로서, 헤더 부호화부(410), 페이로드 부호화부(420), 및 포매터(formatter)(430)를 포함할 수 있다.
헤더 부호화부(410)는 입력단자 IN 1을 통해 입력된 그래픽 데이터의 헤더를 부호화한다. 구체적으로, 헤더 부호화부(410)는 본 발명에 의한 그래픽 데이터 부호화 장치가 수행할 수 있는 다수의 기능들 중 그 부호화 장치가 만족하는 그래픽 프로파일이 지원하는 기능들에 대한 제1 정보들을 갖는 헤더를 부호화한다. 다시 말해, 헤더 부호화부(410)는 부호화 가능한 다수의 제1 정보들 중 본 발명에 의한 그래픽 데이터 부호화 장치가 만족하는 그래픽 프로파일에 따라 결정된 하나 이상의 제1 정보들을 갖는 헤더를 부호화한다.
페이로드 부호화부(420)는 그래픽 데이터의 페이로드를 부호화한다. 구체적으로, 페이로드 부호화부(420)는 본 발명에 의한 그래픽 데이터 부호화 장치가 수행할 수 있는 다수의 기능들 중 그 부호화 장치가 만족하는 그래픽 프로파일이 지원하는 기능들에 대한 제2 정보들을 갖는 페이로드를 부호화한다. 다시 말해, 페이로드 부호화부(420)는 부호화 가능한 다수의 제2 정보들 중 본 발명에 의한 그래픽 데이터 부호화 장치가 만족하는 그래픽 프로파일에 따라 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 부호화한다.
포매터(430)는 헤더 부호화부(410)에서 부호화된 결과와, 페이로드 부호화부(420)에서 부호화된 결과를 일체화시켜 비트스트림을 생성하고, 생성된 비트스트림을 출력단자 OUT 1을 통해 출력한다.
도 5는 본 발명에 의한 그래픽 데이터 복호화 장치를 설명하기 위한 블록도로서, 디포매터(deformatter)(510), 헤더 복호화부(520), 및 페이로드 복호화부(530)를 포함할 수 있다.
디포매터(510)는 입력단자 IN 2를 통해 입력된 비트스트림으로부터 '부호화된 헤더'와 '부호화된 페이로드' 각각을 추출한다. 이 때, 입력단자 IN 2를 통해 입력된 비트스트림은 출력단자 OUT 1을 통해 출력된 비트스트림인 것이 바람직하다.
헤더 복호화부(520)는 그 추출된 '부호화된 헤더'를 복호화하여 헤더를 복원한다. 한편, 페이로드 복호화부(530)는 그 복원된 헤더를 고려하여 그 추출된 '부호화된 페이로드'를 복호화함으로써 모델 데이터를 복원하고, 복원된 모델 데이터를 출력단자 OUT 2를 통해 출력한다. 이 때, OUT 2를 통해 출력된 모델 데이터는 렌더링부(미 도시)에 의해 렌더링되는 것이 바람직하다. 이를 위해, 본 발명에 의한 그래픽 데이터 복호화 장치는 렌더링부(미 도시)를 구비할 수 있다.
도 6은 본 발명에 의한 그래픽 데이터를 나타내는 신택스(syntax)의 일 례이다. 보다 구체적으로, 도 6은 3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 부호화하는 그래픽 데이터를 나타내 는 신택스의 일 례이다.
도 6에 도시된 바에서, 3D_Mesh_Object()는 본 발명에 의한 그래픽 데이터를 의미하고, 하나의 헤더(3D_Mesh_Object_Header())는 하나 이상의 페이로드(3D_Mesh_Object_Layer())들과 결합될 수 있다.
도 6에 도시된 바에서, 3D_MO_start_code는 본 발명에 의한 그래픽 데이터(3D_Mesh_Object)의 시작을 나타내는 정보이다. 3D_MO_start_code는 16비트로 이루어질 수 있다. 예컨대, 3D_MO_start_code는 0000 0000 0010 0000일 수 있다.
이와 비슷하게, 3D_MOL_start_code는 페이로드(3D_Mesh_Object_Layer)의 시작을 나타내는 정보이다. 3D_MOL_start_code는 16비트로 이루어질 수 있다. 예컨대, 3D_MOL_start_code는 0000 0000 0011 0000일 수 있다.
도 7은 도 6에 나타난 그래픽 데이터의 헤더(header)를 나타내는 신택스의 일 례이다. 보다 구체적으로, 도 7은 3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 부호화하는 그래픽 데이터의 헤더를 나타내는 신택스의 일 례이다. 참고로, ISO/IEC 14496-2의 6.2.11.2에 개시된 3D_Mesh_Object_Header()의 신택스는 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 부호화하는 그래픽 데이터의 헤더를 나타내는 신택스의 일 례가 될 수 있다.
도 7에 도시된 바에 따르면, 그래픽 데이터의 헤더는 기본 헤더와 확장 헤더로 이루어질 수 있다. 여기서, 기본 헤더란 3DMC extension과 3DMC가 공통적으로 지원하는 하나 이상의 기능들(예를 들어, 기하정보 압축/복원 기능, 연결성정보 압 축/복원 기능, 속성정보 압축/복원 기능)에 대한 제1 정보들을 의미한다. ccw, convex, solid, creaseAngle, coord_header(), normal_header(), color_header(), texCoord_header()는 기본 헤더를 나타낸다. 또한, 확장 헤더란 3DMC는 지원하지 않으나 3DMC extension은 지원하는 하나 이상의 기능들에 대한 제1 정보들을 의미한다. 3DMC_extension, if(3DMC_extension=='1'), 3DMC_extension_header()는 확장 헤더를 나타낸다.
도 7에 표기된 ccw, convex, solid, creaseAngle은 ISO/IEC 14496-2의 6.2.11.2에 나타난 Ccw, Convex, Solid, creaseAngle과 동일할 수 있다. 이 경우, Ccw는 각 평면의 정점들 각각의 순서가 반시계방향으로 매겨지는지에 대해 나타내는 불리언(boolean) 수치를 의미하고, Convex는 3차원 메쉬 모델이 convex한지의 여부를 나타내는 불리언 수치를 의미하고, Solid는 3차원 메쉬 모델이 solid한지의 여부를 나타내는 불리언 수치를 의미하고, creaseAngle은 crease angle을 나타내는 6비트의 unsigned 정수를 의미한다.
도 8 내지 도 11은 도 7에 표기된 coord_header(), normal_header(), color_header(), texCoord_header()의 세부 신택스들이다. 도 8에 나타난 coord_header()의 신택스, 도 9에 나타난 normal_header()의 신택스, 도 10에 나타난 color_header()의 신택스 각각도 ISO/IEC 14496-2의 6.2.11.2에 개시된 coord_header()의 신택스, normal_header()의 신택스, color_header()의 신택스 각각과 동일할 수 있다. 다만, 도 11에 나타난 texCoord_header()의 신택스는 ISO/IEC 14496-2의 6.2.11.2에 개시된 texCoord_header()의 신택스에서 delta_flag 를 삭제한 결과일 수 있다.
도 7에 표기된 3DMC_extension은 본 발명에 의한 그래픽 데이터에 3DMC extension이 지원하는 적어도 하나의 기능들에 대한 부가정보들이 존재하는지를 나타내는 불리언 수치를 의미한다. 만일, 본 발명에 의한 그래픽 데이터에 3DMC extension이 지원하는 적어도 하나의 기능들에 대한 부가정보들이 존재한다면 즉, 3DMC_extension=='1'이라면, 도 12에 나타난 3DMC_extension_header()가 호출된다.
도 12는 도 7에 나타난 헤더 중 확장 헤더를 설명하기 위한 신택스이다. 도 12에는 3DMC는 지원하지 않으나 3DMC extension은 지원하는 기능들에 대한 제1 정보들로서 순서정보 유지기능(Order_mode)에 대한 제1 정보(Order_mode_header()), 개량된 텍스쳐 매핑기능(Adaptive_quant_texCoord_mode)에 대한 제1 정보(Adaptive_quant_texCoord_mode_header())만 나타나 있으나, 이외의 기능들에 대한 제1 정보들도 'Adaptive_quant_texCoord_mode_header()'와 '} while(function_type !="Escape_mode"))' 사이에 나타날 수 있다. 예를 들어, 무손실 압축/복원 기능(HQ_mode)에 대한 제1 정보(HQ_mode_header())는 'Adaptive_quant_texCoord_mode_header()'와 '}while(function_type !="Escape_mode"))' 사이에 나타날 수 있다.
도 13은 도 12에 표기된 function_type을 설명하기 위한 도표이다.
function_type이란 3DMC extension을 갖는 그래픽 프로파일이 지원하는 하나 이상의 기능들을 규정한 제1 정보를 의미한다. 특히, function_type은 3DMC는 지원하지 않으나 3DMC extension이 지원하는 하나 이상의 기능들을 규정할 수 있다. 도 13에 도시된 바와 같이, 3DMC extension 고유의 기능들에는 순서정보 유지기능(Order_mode), 개량된 텍스쳐 매핑기능(Adaptive_quant_texCoord_mode)이 포함될 수 있다.
function_type_code는 function_type이 규정한 기능들 각각의 고유한 코드를 의미한다. 도 13에 도시된 function_type_code의 일 례에 따르면, 0000은 순서정보 유지기능(Order_mode)을 나타내고, 0001은 개량된 텍스쳐 매핑기능(Adaptive_quant_texCoord_mode)을 나타낸다. 0010 내지 1110은 도 13에서는 function_type_code로 정의되어 있지 않으나, 추후 정의될 수 있다. 예를 들어, 0010은 무손실 압축/복원 기능(HQ_mode)을 나타낼 수 있다. 한편, 1111은 Escape code이다.
도 14는 도 12에 나타난 Order_mode_header()의 세부 신택스이다.
도 14에 도시된 바에서, vertex_order_flag는 정점들 각각마다 부여된 순서가 그래픽 데이터의 부호화로 인해 변경되고 그 변경된 순서는 그래픽 데이터의 복호화시 본래 순서로 복원되는지의 여부를 나타내는 불리언 수치를 의미하고, vertex_order_per_CC_flag는 정점에 부여되는 순서가 그 정점이 속한 부분 모델별로 결정되는지의 여부를 나타내는 불리언 수치를 의미한다.
이와 비슷하게, face_order_flag는 평면들 각각마다 부여된 순서가 그래픽 데이터의 부호화로 인해 변경되고 그 변경된 순서는 그래픽 데이터의 복호화시 본래 순서로 복원되는지의 여부를 나타내는 불리언 수치를 의미하고, face_order_per_CC_flag는 평면에 부여되는 순서가 그 평면이 속한 부분 모델별로 결정되는지의 여부를 나타내는 불리언 수치를 의미한다.
3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화/복호화 장치는 순서정보 유지기능을 수행함에 있어, vertex_order_flag, vertex_order_per_CC_flag, face_order_flag, face_order_per_CC_flag를 고려한다.
도 15는 도 12에 나타난 Adaptive_quant_texCoord_mode_header()의 세부 신택스이다.
도 15에 도시된 바에서, texCoord_quant_u는 2차원 텍스쳐 이미지상의 두 좌표축인 u(x)축, v(y)축 중 u(x)축 방향으로의 양자화 스텝 사이즈(quantization step size)값을 나타내는 16비트 unsigned 정수일 수 있다. 또한, texCoord_quant_v는 v(y)축 방향으로의 양자화 스텝 사이즈값을 나타내는 16비트 unsigned 정수일 수 있다. 3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화/복호화 장치는 개량된 텍스쳐 매핑기능을 수행함에 있어 texCoord_quant_u, texCoord_quant_v를 고려한다.
도 16은 도 12에 나타날 수 있는 HQ_mode()의 세부 신택스이다.
도 16에 도시된 바에서, HQ_coord_enable은 모델 데이터의 기하정보에 대해 무손실 압축/복원 기능이 수행되는지의 여부를 나타내는 불리언 수치를 의미한다. 한편, coord_significant_figure_value는 HQ_coord_enable이 기하정보에 대해 무손실 압축/복원 기능이 수행됨을 나타내는 경우 기하정보의 유효숫자의 개수를 의미한다. 예컨대, coord_significant_figure_value가 5(10진법으로 5)라면, 복호화된 기하정보가 12.34567이라도 복원되는 기하정보는 12.346이 된다. coord_significant_figure_value는 2진법으로 표현될 경우 4비트의 unisigned 정수일 수 있다.
이와 비슷하게, HQ_normal_enable은 모델 데이터의 속성정보 중 법선(normal)정보에 대해 무손실 압축/복원 기능이 수행되는지의 여부를 나타내는 불리언 수치를 의미한다. 한편, normal_significant_figure_value는 HQ_normal_enable이 법선정보에 무손실 압축/복원 기능이 수행됨을 나타내는 경우 법선정보의 유효숫자의 개수를 의미한다. 예컨대, normal_significant_figure_value가 5(10진법으로 5)라면, 복호화된 법선정보가 12.34567이라도 복원되는 법선정보는 12.346이 된다. normal_significant_figure_value는 2진법으로 표현될 경우 4비트의 unisigned 정수일 수 있다.
마찬가지로, HQ_color_enable은 모델 데이터의 속성정보 중 색상(color)정보에 대해 무손실 압축/복원 기능이 수행되는지의 여부를 나타내는 불리언 수치를 의미한다. 한편, color_significant_figure_value는 HQ_color_enable이 색상정보에 무손실 압축/복원 기능이 수행됨을 나타내는 경우 색상정보의 유효숫자의 개수를 의미한다. 예컨대, color_significant_figure_value가 5(10진법으로 5)라면, 복호화된 색상정보가 12.34567이라도 복원되는 색상정보는 12.346이 된다. color_significant_figure_value는 2진법으로 표현될 경우 4비트의 unisigned 정수일 수 있다.
또한, HQ_texCoord_enable은 모델 데이터의 속성정보 중 텍스쳐 좌표값에 대해 무손실 압축/복원 기능이 수행되는지의 여부를 나타내는 불리언 수치를 의미한다. 한편, texCoord_significant_figure_value는 HQ_texCoord_enable이 텍스쳐 좌표값에 무손실 압축/복원 기능이 수행됨을 나타내는 경우 텍스쳐 좌표값의 유효숫자의 개수를 의미한다. 예컨대, texCoord_significant_figure_value가 5(10진법으로 5)라면, 복호화된 텍스쳐 좌표값이 12.34567이라도 복원되는 텍스쳐 좌표값은 12.346이 된다. texCoord_significant_figure_value는 2진법으로 표현될 경우 4비트의 unisigned 정수일 수 있다.
3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화/복호화 장치는 기하정보 압축기능을 수행함에 있어 HQ_coord_enable과 coord_significant_figure_value를 고려할 수 있다.
3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화/복호화 장치는 속성정보 압축기능을 수행함에 있어 HQ_normal_enable, normal_significant_figure_value, HQ_color_enable, color_significant_figure_value, HQ_texCoord_enable, texCoord_significant_figure_value를 고려할 수 있다.
도 17은 도 6에 나타난 그래픽 데이터의 페이로드(payload)를 나타내는 신택스이다. 보다 구체적으로, 도 17은 3DMC extension을 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 부호화하는 그래픽 데이터의 페이로드를 나타내는 신택스의 일 례이다. 참고로, ISO/IEC 14496-2의 6.2.11.3에 개 시된 3D_Mesh_Object_Layer()의 신택스는 3DMC를 갖는 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 장치가 부호화하는 그래픽 데이터의 페이로드를 나타내는 신택스의 일 례가 될 수 있다.
도 17에 도시된 바에 따르면, 그래픽 데이터의 페이로드는 기본 페이로드와 확장 페이로드로 이루어질 수 있다. 여기서, 기본 페이로드란 3DMC extension과 3DMC가 공통적으로 지원하는 하나 이상의 기능들에 대한 제2 정보들을 의미한다. 3D_Mesh_Object_Base_Layer()는 기본 페이로드를 나타낸다. 또한, 확장 페이로드란 3DMC는 지원하지 않으나 3DMC extension은 지원하는 하나 이상의 기능들에 대한 제2 정보들을 의미한다. 3D_Mesh_Object_Extension_Layer()는 확장 페이로드를 나타낸다.
도 17에 표기된 3D_MOL_start_code는 도 6에 표기된 3D_MOL_start_code와 동일하다. 또한, mol_id는 3D_Mesh_Object_Base_Layer와, 3D_Mesh_Object_Extension_Layer 각각의 고유 식별정보이다. 예컨대, 'mol_id가 0(십진수로 0)이라는 것'은 3D_Mesh_Object_Base_Layer를 의미하고, 'mol_id가 0이 아니라는 것'은 3D_Mesh_Object_Extension_Layer를 의미한다. 이러한 mol_id는 8비트의 unsigned 정수로 표현될 수도 있다.
도 18은 도 17에 나타난 페이로드 중 기본 페이로드를 나타내는 신택스이고, 도 19 내지 도 41은 도 18에 나타난 기본 페이로드를 설명하기 위한 신택스들이다.
구체적으로, 도 19는 도 18에 나타난 connected_component()의 세부 신택스이고, 도 20 내지 도 22는 도 19에 나타난 vertex_graph(), triangle_tree(), triangle_data()의 세부 신택스들이다.
나아가, 도 23은 도 22에 나타난 root_triangle()의 세부 신택스이고, 도 24 내지 도 27은 도 23에 나타난 root_coord(), root_normal(), root_color(), root_texCoord()의 세부 신택스들이고, 도 28은 도 22에 나타난 triangle(i)의 세부 신택스이다.
도 29는 도 28에 나타난 coord()의 세부 신택스이고, 도 30은 도 29에 나타난 root_coord_sample()의 세부 신택스이고, 도 31은 도 29에 나타난 coord_sample()의 세부 신택스이다.
도 32는 도 28에 나타난 normal()의 세부 신택스이고, 도 33은 도 32에 나타난 root_normal_sample()의 세부 신택스이고, 도 34는 도 32에 나타난 normal_sample()의 세부 신택스이다.
도 35는 도 28에 나타난 color()의 세부 신택스이고, 도 36은 도 35에 나타난 root_color_sample()의 세부 신택스이고, 도 37은 도 35에 나타난 color_sample()의 세부 신택스이다.
도 38은 도 28에 나타난 texCoord()의 세부 신택스이고, 도 39는 도 38에 나타난 root_texCoord_sample()의 세부 신택스이고, 도 40은 도 38에 나타난 texCoord_sample()의 세부 신택스이다.
도 18에 표기된 3D_MOBL_start_code, mobl_id, one_bit, partition_type_0, partition_type_1, partition_type_2, last_component, has_stitches, codap_last_vg, codap_vg_id, codap_left_bloop_idx, codap_right_bloop_idx, codap_bdry_pred는 ISO/IEC 14496-2의 6.2.11.3에 나타난 3D_MOBL_start_code, mobl_id, one_bit, partition_type_0, partition_type_1, partition_type_2, last_component, has_stitches, codap_last_vg, codap_vg_id, codap_left_bloop_idx, codap_right_bloop_idx, codap_bdry_pred와 동일할 수 있다.
마찬가지로, 도 19 내지 도 40에 나타난 신택스들은 ISO/IEC 14496-2의 6.2.11.3에 개시된 connected_component(), vertex_graph(), triangle_tree(), triangle_data(), root_triangle(), root_coord(), root_normal(), root_color(), root_texCoord(), triangle(i), coord(), root_coord_sample(), coord_sample(), normal(), root_normal_sample(), normal_sample(), color(), root_color_sample(), color_sample(), texCoord(), root_texCoord_sample(), texCoord_sample()의 세부 신택스들과 동일할 수 있다.
다만, 도 41에 도시된 바와 같이, 스티치 기능에 대한 제2 정보를 나타내는 stitching()의 신택스는 ISO/IEC 14496-2의 6.2.11.3에 개시된 stitching()의 세부 신택스와 다를 수 있다.
도 41에 도시된 바에서, has_vertex_increase는 그래픽 데이터의 부호화시 3차원 메쉬 모델을 표현하는 정점(vertex)들의 개수가 증가하는지의 여부를 나타내는 불리언 수치이고, has_face_increase는 그래픽 데이터의 부호화시 3차원 메쉬 모델을 표현하는 평면(face)들의 개수가 증가하는지의 여부를 나타내는 불리언 수치이다. '3차원 메쉬 모델을 표현하는 정점들의 개수가 증가한다' 또는 '3차원 메 쉬 모델을 표현하는 평면들의 개수가 증가한다' 함은, 그래픽 데이터의 부호화시 3차원 메쉬 모델을 구성하는 적어도 하나의 평면이 분리됨을 의미한다.
'if (has_vertex_increase){ }'는 '그래픽 데이터의 부호화시 3차원 메쉬 모델을 표현하는 정점들의 개수가 증가한다면'을 의미한다. 한편, n_vertices_stitches는 3차원 메쉬 모델을 구성하는 정점들 중 3개 이상의 평면들이 공유되는 에지들에 속하는 정점들의 개수를 의미하고, 3개 이상의 평면들이 공유되는 에지들에 속하는 정점들 각각의 n_duplication_per_vertex_stitches는 그 각 정점의 중첩 횟수를 의미하고, vertex_index는 각 정점의 '본래 순서' 및 '하나 이상의 복제된 순서들'을 의미한다. 앞서 예시된 도 3a 내지 도 3c의 경우, 3개 이상의 평면들이 공유되는 에지는 1번 정점과 2번 정점간의 에지뿐이므로, 3개 이상의 평면들이 공유되는 에지들에 속하는 정점들은 1번 정점과 2번 정점의 2개 뿐이고, 이에 따라, n_vertices_stitches는 2이다. 또한, 1번 정점은 6번 정점과 동일한 정점이므로 실질적으로는 1번 정점이 두 개 존재한다고 볼 수 있고 이에 따라, 1번 정점의 중첩 횟수는 2이다. 마찬가지로, 2번 정점은 5번 정점과 동일한 정점이므로 실질적으로는 2번 정점이 두 개 존재한다고 볼 수 있어 이에 따라, 2번 정점의 중첩 횟수는 2이다. 결국, 1번 정점과 2번 정점 각각의 n_duplication_per_vertex_stitches는 2이다. 더불어, 1번(또는, 6번) 정점의 vertex_index는 "1(본래 순서(original order)), 6(복제된 순서(copied order))"이고, 2번(또는, 5번) 정점의 vertex_index는 "2(본래 순서), 5(복제된 순서)"이다.
이와 비슷하게, 'if (has_face_increase){ }'는 '그래픽 데이터의 부호화시 3차원 메쉬 모델을 표현하는 평면들의 개수가 증가한다면'을 의미한다. 한편, n_face_stitches는 3차원 메쉬 모델을 구성하는 평면들 중 한 개의 에지를 3개 이상의 평면들이 공유하는 평면들의 개수를 의미하고, 한 개의 에지를 3개 이상의 평면을이 공유하는 평면들 각각의 n_duplication_per_face_stitches는 그 각 평면의 중첩 횟수를 의미하고, face_index는 3차원 메쉬 모델을 구성하는 평면들 각각의 '본래 순서' 및 '하나 이상의 복제된 순서들'을 의미한다.
도 42는 도 17에 나타난 페이로드 중 확장 페이로드를 나타내는 신택스이다. 이하 본 명세서에서, 3차원 메쉬 모델을 구성하는 정점들 각각의 정점순서 정보는, 그 정점들 각각의 '본래 순서'와 '부호화로 인해 변경될 순서'에 대한 정보를 의미할 수도 있고, 그 정점들 각각의 '본래 순서'와 '부호화로 인해 변경될 순서와 본래 순서와의 차이값'에 대한 정보를 의미할 수도 있다. 또한, 3차원 메쉬 모델을 구성하는 평면들 각각의 평면순서 정보는, 그 평면들 각각의 '본래 순서'와 '부호화로 인해 변경될 순서'에 대한 정보를 의미할 수도 있고, 그 평면들 각각의 '본래 순서'와 '부호화로 인해 변경될 순서와 본래 순서와의 차이값'에 대한 정보를 의미할 수도 있다.
3차원 메쉬 모델을 구성하는 정점들의 정점순서 정보들은 페이로드에 부분 모델별로 마련될 수도 있고, 부분 모델별로 마련되지 않을 수도 있다. 앞서 예시된 도 2a에 도시된 바에서 정점순서 정보가 페이로드에 부분 모델별로 마련된다면, 부분 모델(212)을 구성하는 정점들의 정점순서 정보들은 부분 모델(214)을 구성하는 정점들의 정점순서 정보들과 독립적으로 마련된다. 즉, 부분 모델(212)을 구성하는 정점들의 정점순서 정보들은 부분 모델(214)을 구성하는 정점들의 정점순서 정보들에 영향을 받지 않는다. 이에 반해, 도 2a에 도시된 바에서 정점순서 정보가 부분 모델별로 마련되지 않는다면, 정점순서 정보가 부분 모델(212)을 구성하는 정점의 정점순서 정보인지 아니면 부분 모델(214)을 구성하는 정점의 정점순서 정보인지를 구별하지 않으므로, 부분 모델(212)을 구성하는 정점들의 정점순서 정보들은 부분 모델(214)을 구성하는 정점들의 정점순서 정보들에 영향을 받는다.
마찬가지로, 3차원 메쉬 모델을 구성하는 평면들의 평면순서 정보들은 페이로드에 부분 모델별로 마련될 수도 있고, 부분 모델별로 마련되지 않을 수도 있다. 앞서 예시된 도 2a에 도시된 바에서 평면순서 정보가 페이로드에 부분 모델별로 마련된다면, 부분 모델(212)을 구성하는 평면들의 평면순서 정보들은 부분 모델(214)을 구성하는 평면들의 평면순서 정보들과 독립적으로 마련된다. 즉, 부분 모델(212)을 구성하는 평면들의 평면순서 정보들은 부분 모델(214)을 구성하는 평면들의 평면순서 정보들에 영향을 받지 않는다. 이에 반해, 도 2a에 도시된 바에서 평면순서 정보가 부분 모델별로 마련되지 않는다면, 평면순서 정보가 부분 모델(212)을 구성하는 평면의 평면순서 정보인지 아니면 부분 모델(214)을 구성하는 평면의 평면순서 정보인지를 구별하지 않으므로, 부분 모델(212)을 구성하는 평면들의 평면순서 정보들은 부분 모델(214)을 구성하는 평면들의 평면순서 정보들에 영향을 받는다.
만일, 헤더에서 vertex_order_flag가 '정점들 각각마다 부여된 순서가 그래픽 데이터의 부호화로 인해 변경되고 그 변경된 순서는 그래픽 데이터의 복호화시 본래 순서로 복원됨'을 나타내고, vertex_order_per_CC_flag가 '정점에 부여되는 순서가 그 정점이 속한 부분 모델별로 결정됨'을 나타낸다면, 3차원 메쉬 모델을 구성하는 정점들의 정점순서 정보들이 페이로드에 부분 모델별로 포함된다(vertex_order_per_CC()).
그에 반해, 헤더에서 vertex_order_flag가 '정점들 각각마다 부여된 순서가 그래픽 데이터의 부호화로 인해 변경되고 그 변경된 순서는 그래픽 데이터의 복호화시 본래 순서로 복원됨'을 나타내고, vertex_order_per_CC_flag는 '정점에 부여되는 순서가 그 정점이 속한 부분 모델별로 결정되지 않음'을 나타낸다면, 3차원 메쉬 모델을 구성하는 정점의 정점순서 정보는 그 정점이 속한 부분 모델을 고려하지 않고 결정된다(vertex_order()).
한편, 헤더에서 face_order_flag가 '평면들 각각마다 부여된 순서가 그래픽 데이터의 부호화로 인해 변경되고 그 변경된 순서는 그래픽 데이터의 복호화시 본래 순서로 복원됨'을 나타내고, face_order_per_CC_flag가 '평면에 부여되는 순서가 그 평면이 속한 부분 모델별로 결정됨'을 나타낸다면, 3차원 메쉬 모델을 구성하는 평면들의 평면순서 정보들이 페이로드에 부분 모델별로 포함된다(face_order_per_CC()).
그에 반해, 헤더에서 face_order_flag가 '평면들 각각마다 부여된 순서가 그래픽 데이터의 부호화로 인해 변경되고 그 변경된 순서는 그래픽 데이터의 복호화시 본래 순서로 복원됨'을 나타내고, face_order_per_CC_flag는 '평면에 부여되는 순서가 그 평면이 속한 부분 모델별로 결정되지 않음'을 나타낸다면, 3차원 메쉬 모델을 구성하는 평면의 평면순서 정보는 그 평면이 속한 부분 모델을 고려하지 않고 결정된다(face_order()).
도 43 내지 도 46은 도 42에 나타난 확장 페이로드를 설명하기 위한 신택스들이다. 구체적으로, 도 43은 도 42에 나타난 vertex_order()의 세부 신택스이고, 도 44는 도 42에 나타난 face_order()의 세부 신택스이고, 도 45는 도 42에 나타난 vertex_order_per_CC()의 세부 신택스이고, 도 46은 도 42에 나타난 face_order_per_CC()의 세부 신택스이다.
도 43에 도시된 바에서, nCC는 3차원 메쉬 모델을 구성하는 부분 모델들의 총 개수를 의미하고, init_bpvi는 3차원 메쉬 모델을 구성하는 정점들의 총 개수(10진법으로 표현됨)를 2진법으로 표현한 결과이고, DecodingVertices는 정점들의 (부호화로 인해) 변경된 순서들(2진법으로 표현됨)의 동일 자리수상의 비트값들을 지칭하고, vo_id는 정점의 본래 순서를 의미한다. 예컨대, 3차원 메쉬 모델을 구성하는 정점들의 개수가 4개이고, 정점들의 본래 순서들은 3(이진법으로는 11), 1(이진법으로는 01), 2(이진법으로는 10), 0(이진법으로는 00)이나, 부호화로 인해 그 정점들의 순서들은 0(이진법으로는 00), 1(이진법으로는 01), 2(이진법으로는 10), 3(이진법으로는 11)로 변경되었다고 가정한다. 이 경우, 3차원 메쉬 모델을 구성하는 정점들의 개수는 4이므로 2개의 비트로 표현될 수 있어 init_bpvi는 2이고, for(bpvi=init_bpvi; bpvi>0; bpvi--)에 의해, bpvi는 2일 수도 있고 1일 수도 있다. bpvi가 2라는 것은 그 변경된 순서들(00, 01, 10, 11) 각각의 MSB(Most Significant Bit)를 의미하고, bpvi가 1이라는 것은 그 변경된 순서들 각각의 LSB(Least Significant Bit)를 의미한다. bpvi가 2인 경우의 for(i=DecodingVertices; j>0; j--), vo_decode(vo_id, bpvi)는 MSB들(0, 0, 1, 1) 각각마다 그 MSB의 본래값을 복원하는 것을 의미한다. 이 때, 변경된 순서들의 MSB들은 0, 0, 1, 1이고, 복원된 순서들(= 본래 순서들)의 MSB들은 1, 0, 1, 0이다. 마찬가지로, bpvi가 1인 경우의 for(i=DecodingVertices; j>0; j--), vo_decode(vo_id, bpvi)는 LSB들(0, 1, 0, 1) 각각마다 그 LSB의 본래값을 복원하는 것을 의미한다. 이 때, 변경된 순서들의 LSB들은 0, 1, 0, 1이고, 복원된 순서들(= 본래 순서들)의 LSB들은 1, 1, 0, 0이다.
도 43에서 설명된 바와 마찬가지 원리로 도 44도 설명될 수 있다.
즉, 도 44에 도시된 바에서, nCC는 3차원 메쉬 모델을 구성하는 부분 모델들의 총 개수를 의미하고, init_bpfi는 3차원 메쉬 모델을 구성하는 평면들의 총 개수(10진법으로 표현됨)를 2진법으로 표현한 결과이고, DecodingFaces는 평면들의 부호화로 인해 변경된 순서들(2진법으로 표현됨)의 동일 자리수상의 비트값들을 지칭하고, fo_id는 평면의 본래 순서(original order)를 의미한다.
도 45에 도시된 바에서, nVOffset은 부분 모델마다 부여되는 오프셋 수치(offset value)들의 개수를 의미한다. vo_offset은 오프셋 수치를 의미하고, 이러한 오프셋 수치는 다른 부분 모델들에 속한 정점들의 개수에 영향을 받아 결정된다. firstVID는 부분 모델을 구성하는 정점들 중 첫 번째 정점의 순서를 의미한다. 앞서 예시된 도 2a를 참조하여 도 45를 설명하면 다음과 같다. 다만 설명의 편의상, 부분 모델들(212, 214) 각각마다 부여되는 오프셋 수치들의 개수는 1이 고(nVOffset=1), 부분 모델(212)을 구성하는 정점들의 개수는 3이고 부분 모델(214)을 구성하는 정점들의 개수는 10이고, 부분 모델(212)을 구성하는 정점들의 본래 순서들은 2, 0, 1이고 부분 모델(214)을 구성하는 정점들의 본래 순서들은 4, 0, 1, 2, 7, 8, 3, 6, 9, 5라고 가정한다. 이 경우, 부분 모델(214)과 부분 모델(212)이 결합된 3차원 메쉬 모델(210)을 복원하기 위해서는 부분 모델(214)을 구성하는 정점들의 본래 순서들이 부분 모델(214)내에서의 순서들이 아닌 3차원 메쉬 모델(210)내에서의 순서들로 변경되어야 하므로, 부분 모델(214)내에서의 순서들 각각은 부분 모델(212)을 구성하는 정점들의 개수(3개)가 가산된 결과로 변경되어야 한다. 따라서, vo_offset은 3이다. 한편, firstVID는 4이다.
도 45에서 설명된 바와 마찬가지 원리로 도 46도 설명될 수 있다.
즉, 도 46에 도시된 바에서, nFOffset은 부분 모델마다 부여되는 오프셋 수치(offset value)들의 개수를 의미한다. fo_offset은 오프셋 수치를 의미하고, 이러한 오프셋 수치는 다른 부분 모델들에 속한 평면들의 개수에 영향을 받아 결정된다. firstFID는 부분 모델을 구성하는 평면들 중 첫 번째 평면의 순서를 의미한다.
도 47는 본 발명에 의한 그래픽 데이터 부호화 방법을 설명하기 위한 플로우챠트로서, 복호화하고자 하는 비트스트림이 어떠한 기법에 따라 부호화된 것인지에 관계없이 그 비트스트림을 온전히 복호화하기 위한 단계들(제4710~ 4720 단계들)을 포함할 수 있다.
헤더 부호화부(410)는 부호화 가능한 다수의 제1 정보들 중 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 부호화한다(제 4710 단계).
제4710 단계 후에, 페이로드 부호화부(420)는 부호화 가능한 다수의 제2 정보들 중 그 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 부호화한다(제4720 단계).
제4710 단계에서 부호화된 결과와 제4720 단계에서 부호화된 결과는 일체화되어 비트스트림으로서 디코더에 전달된다.
도 48은 본 발명에 의한 그래픽 데이터 복호화 방법을 설명하기 위한 플로우챠트로서, 복호화하고자 하는 비트스트림이 어떠한 기법에 따라 부호화된 것인지에 관계없이 그 비트스트림을 온전히 복호화하기 위한 단계들(제4810~ 4820 단계들)을 포함할 수 있다.
헤더 복호화부(510)는 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 복호화한다(제4810 단계).
제4810 단계 후에, 페이로드 복호화부(520)는 그 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 제4810 단계에서 복호화된 제1 정보들을 고려하여 복호화한다(제4820 단계).
제4820 단계에서 복호화됨으로써 복원된 모델 데이터는 렌더링된다.
이상에서 언급된 본 발명에 의한 그래픽 데이터 부호화 방법을 컴퓨터에서 실행시키기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다. 마찬가지로, 본 발명에 의한 그래픽 데이터 복호화 방법을 컴퓨터에서 실행시키기 위한 프로그램도 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다. 또한, 본 발 명에 의한 그래픽 데이터 역시 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다.
여기서, 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬(ROM), 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명을 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점들은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이, 소정 그래픽 프로파일(예를 들어, Core 3D Compression Profile)을 만족하는 본 발명에 의한 그래픽 데이터 부호화 방법과 장치는, 헤더와 페이로드로 구성된 비트스트림을 생성하되, 헤더에 포함될 수 있는 다수의 제1 정보들 중 그 그래픽 프로파일에 따라 결정된 하나 이상의 제1 정보들만을 헤더로서 취급하고, 페이로드에 포함될 수 있는 다수의 제2 정보들 중 그 그래픽 프로파일에 따라 결정된 하나 이상의 제2 정보들만을 페이로드로서 취급하며, 헤더와 페이로드를 부호화하여 비트스트림을 생성한다. 이에 따라, 그 그래픽 프로 파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 방법과 장치는, 부호화하고자 하는 3차원 메쉬 모델이 동일하기만 하면, 그 부호화 방법 및 장치에서 수행될 수 있는 기능들이 아무리 다양할지라도 항상 동일한 비트스트림을 생성하는 효과를 갖는다.
그러므로, 그 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 복호화 방법과 장치는, 복호화하고자 하는 비트스트림이 그 그래픽 프로파일을 만족하는 본 발명에 의한 그래픽 데이터 부호화 방법 및 장치에 의해 생성된 비트스트림이라면, 그 부호화 방법 및 장치에서 수행될 수 있는 기능들이 아무리 다양할지라도 그 복호화하고자 하는 비트스트림을 언제나 온전히 복호화하는 효과를 갖는다.
다시 말해, 본 발명에 의하면, 그래픽 데이터 부호화 장치가 수행할 수 있는 기능들이 무엇인지에 관계없이, 또한 그래픽 데이터 복호화 장치가 수행할 수 있는 기능들이 무엇인지에 관계없이, 그 그래픽 프로파일을 만족하는 그래픽 데이터 복호화 장치는 그 그래픽 프로파일을 만족하는 그래픽 데이터 부호화 장치가 생성한 비트스트림에 기술된 3차원 메쉬 모델을 온전히 복원하는 효과를 갖는다.
나아가, 본 발명에 따르면, 그 그래픽 프로파일이 어떤 그래픽 프로파일인가에 따라 헤더의 내용과 페이로드의 내용만 달라질 뿐, 그 그래픽 프로파일이 어떤 그래픽 프로파일인지에 관계없이 본 발명에 의한 그래픽 데이터는 항상 헤더와 페이로드로 구성된다. 이에 따라, 본 발명은 그 그래픽 프로파일이 어떤 그래픽 프로파일인지를 고려하면서도 언제나 동일한 포맷의 그래픽 데이터를 부호화하여 비트 스트림을 생성하고 그 생성된 비트스트림을 복호화하므로, 앞서 언급된 효과는 그 그래픽 프로파일의 내용에 관계없이 항상 달성될 수 있다.

Claims (24)

  1. (a) 부호화 가능한 다수의 제1 정보들 중 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 부호화하는 단계; 및
    (b) 부호화 가능한 다수의 제2 정보들 중 상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 부호화하는 단계를 포함하고,
    상기 제1 정보들은 상기 그래픽 프로파일이 지원하는 기능에 대한 정보인 것을 특징으로 하는 그래픽 데이터 부호화 방법.
  2. 제1 항에 있어서, 상기 헤더는 상기 그래픽 프로파일에 무관하게 고정적으로 포함된 하나 이상의 제1 정보들과 상기 그래픽 프로파일에 따라 선택적으로 포함된 하나 이상의 제1 정보들을 갖는 것을 특징으로 하는 그래픽 데이터 부호화 방법.
  3. 제2 항에 있어서, 상기 (a) 단계는 상기 고정적으로 포함된 제1 정보들을 부호화한 뒤, 상기 선택적으로 포함된 제1 정보들을 부호화하는 것을 특징으로 하는 그래픽 데이터 부호화 방법.
  4. 제1 항에 있어서, 상기 페이로드는 상기 그래픽 프로파일에 무관하게 고정적으로 포함된 하나 이상의 제2 정보들과 상기 그래픽 프로파일에 따라 선택적으로 포함된 하나 이상의 제2 정보들을 갖는 것을 특징으로 하는 그래픽 데이터 부호화 방법.
  5. 제4 항에 있어서, 상기 (b) 단계는 상기 고정적으로 포함된 제2 정보들을 부호화한 뒤, 상기 선택적으로 포함된 제2 정보들을 부호화하는 것을 특징으로 하는 그래픽 데이터 부호화 방법.
  6. 부호화 가능한 다수의 제1 정보들 중 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 부호화하는 헤더 부호화부; 및
    부호화 가능한 다수의 제2 정보들 중 상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 부호화하는 페이로드 부호화부를 포함하고,
    상기 제1 정보들은 상기 그래픽 프로파일이 지원하는 기능에 대한 정보인 것을 특징으로 하는 그래픽 데이터 부호화 장치.
  7. 제1 항 내지 제5 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체.
  8. (a) 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 복호화하는 단계; 및
    (b) 상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 상기 복호화된 제1 정보들을 고려하여 복호화하는 단계를 포함하고,
    상기 제1 정보들은 상기 그래픽 프로파일이 지원하는 기능에 대한 정보인 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  9. 제8 항에 있어서, 상기 헤더는 상기 그래픽 프로파일에 무관하게 고정적으로 포함된 하나 이상의 제1 정보들과 상기 그래픽 프로파일에 따라 선택적으로 포함된 하나 이상의 제1 정보들을 갖는 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  10. 제9 항에 있어서, 상기 (a) 단계는 상기 고정적으로 포함된 제1 정보들을 복호화한 뒤, 상기 선택적으로 포함된 제1 정보들을 복호화하는 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  11. 제8 항에 있어서, 상기 (a) 단계는 상기 그래픽 프로파일이 지원하는 하나 이상의 기능들을 규정한 상기 제1 정보를 복호화한 뒤, 상기 기능들에 대한 상기 제1 정보들을 복호화하는 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  12. 제8 항에 있어서, 상기 페이로드는 상기 그래픽 프로파일에 무관하게 고정적으로 포함된 하나 이상의 제2 정보들과 상기 그래픽 프로파일에 따라 선택적으로 포함된 하나 이상의 제2 정보들을 갖는 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  13. 제12 항에 있어서, 상기 (b) 단계는 상기 고정적으로 포함된 제2 정보들을 복호화한 뒤, 상기 선택적으로 포함된 제2 정보들을 복호화하는 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  14. 제8 항에 있어서, 상기 그래픽 프로파일이 지원하는 기능들은 기하정보 압축/복원 기능, 연결성정보 압축/복원 기능, 속성정보 압축/복원 기능, 오류 강인 기능, 점진적 렌더링 기능을 포함하는 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  15. 제14 항에 있어서, 상기 그래픽 프로파일이 지원하는 기능들은 스티치 기능, 무손실 압축/복원 기능, 순서정보 유지기능, 개량된 텍스쳐 매핑기능 중 적어도 하나를 더 포함하는 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  16. 제15 항에 있어서, 상기 (a) 단계는 상기 무손실 압축/복원 기능, 상기 순서정보 유지기능, 상기 개량된 텍스쳐 매핑기능에 대한 상기 제1 정보들을 복호화하고, 상기 (b) 단계는 상기 스티치 기능, 상기 순서정보 유지기능에 대한 상기 제2 정보들을 복호화하는 것을 특징으로 하는 그래픽 데이터 복호화 방법.
  17. 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 복호화하는 헤더 복호화부; 및
    상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 상기 복호화된 제1 정보들을 고려하여 복호화하는 페이로드 복호화부를 포함하고,
    상기 제1 정보들은 상기 그래픽 프로파일이 지원하는 기능에 대한 정보인 것을 특징으로 하는 그래픽 데이터 복호화 장치.
  18. 제8 항 내지 제16 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체.
  19. 그래픽 데이터를 저장하는 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 그래픽 데이터는,
    소정 그래픽 프로파일에 무관하게 고정적으로 포함된 하나 이상의 제1 정보들과, 상기 그래픽 프로파일에 따라 선택적으로 포함된 하나 이상의 제1 정보들을 갖는 헤더; 및
    상기 그래픽 프로파일에 무관하게 고정적으로 포함된 하나 이상의 제2 정보들과, 상기 그래픽 프로파일에 따라 선택적으로 포함된 하나 이상의 제2 정보들을 갖는 페이로드를 포함하고,
    상기 제1 정보들은 상기 그래픽 프로파일이 지원하는 기능에 대한 정보인 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  20. 제19 항에 있어서, 상기 선택적으로 포함된 제1 정보들은 상기 그래픽 프로파일 고유의 하나 이상의 기능들을 규정한 제1 정보와 상기 기능들에 대한 제1 정보들을 포함한 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  21. 제20 항에 있어서, 상기 기능들은 순서정보 유지기능, 개량된 텍스쳐 매핑기능을 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  22. 제19 항에 있어서, 상기 선택적으로 포함된 제2 정보들은 상기 그래픽 프로파일 고유의 하나 이상의 기능들에 대한 제2 정보들을 포함한 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  23. 제22 항에 있어서, 상기 기능들은 순서정보 유지기능을 포함한 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  24. (a) 부호화 가능한 다수의 제1 정보들 중 소정 그래픽 프로파일을 고려하여 결정된 하나 이상의 제1 정보들을 갖는 헤더를 부호화하는 단계; 및
    (b) 부호화 가능한 다수의 제2 정보들 중 상기 그래픽 프로파일을 고려하여 결정된 하나 이상의 제2 정보들을 갖는 페이로드를 부호화하는 단계를 포함하고,
    상기 그래픽 프로파일은 Core 3D Compression 그래픽 프로파일, 3DMC를 갖는 그래픽 프로파일 및 3DMC extension을 갖는 그래픽 프로파일들 중 어느 하나인 것을 특징으로 하는 그래픽 데이터 부호화 방법.
KR1020070003067A 2006-01-11 2007-01-10 그래픽 데이터 부호화 및 복호화 방법과 장치 KR101334173B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US75787806P 2006-01-11 2006-01-11
US60/757,878 2006-01-11
US78638106P 2006-03-28 2006-03-28
US60/786,381 2006-03-28
KR20060049029 2006-05-30
KR1020060049029 2006-05-30

Publications (2)

Publication Number Publication Date
KR20070075329A KR20070075329A (ko) 2007-07-18
KR101334173B1 true KR101334173B1 (ko) 2013-11-28

Family

ID=38256518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070003067A KR101334173B1 (ko) 2006-01-11 2007-01-10 그래픽 데이터 부호화 및 복호화 방법과 장치

Country Status (5)

Country Link
US (2) US8000540B2 (ko)
KR (1) KR101334173B1 (ko)
DE (1) DE112007000137T5 (ko)
GB (1) GB2446556B (ko)
WO (1) WO2007081159A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100747489B1 (ko) * 2005-04-13 2007-08-08 한국전자통신연구원 3차원 메쉬 정보의 부호화/복호화 방법 및 장치
KR101334173B1 (ko) 2006-01-11 2013-11-28 삼성전자주식회사 그래픽 데이터 부호화 및 복호화 방법과 장치
KR101268508B1 (ko) * 2007-01-11 2013-06-05 한양대학교 산학협력단 스티칭 정보를 포함하는 3차원 메쉬 정보부호화/복호화 방법 및 장치
WO2008084891A1 (en) * 2007-01-11 2008-07-17 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding 3d mesh information including stitching information
CN101453590A (zh) * 2007-12-06 2009-06-10 鸿富锦精密工业(深圳)有限公司 清除图标的系统及方法
WO2009128784A1 (en) * 2008-04-14 2009-10-22 Xid Technologies Pte Ltd Face expressions identification
EP2261859A1 (en) 2009-06-10 2010-12-15 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components
EP2446419B1 (en) * 2009-06-23 2021-04-07 InterDigital VC Holdings, Inc. Compression of 3d meshes with repeated patterns
KR20120118482A (ko) 2010-01-25 2012-10-26 톰슨 라이센싱 3d 메시 모델의 법선을 인코딩하기 위한 방법, 3d 메시 모델의 법선을 디코딩하기 위한 방법, 인코더 및 디코더
TWI423682B (zh) * 2010-10-29 2014-01-11 Altek Corp 影像處理方法
JP2014532377A (ja) * 2011-10-14 2014-12-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 領域ベースの画像圧縮
US9236024B2 (en) 2011-12-06 2016-01-12 Glasses.Com Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
KR20140116114A (ko) * 2012-01-21 2014-10-01 톰슨 라이센싱 3차원 (3d) 모델들의 텍스처 정보를 압축하는 방법 및 장치
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US20130314401A1 (en) 2012-05-23 2013-11-28 1-800 Contacts, Inc. Systems and methods for generating a 3-d model of a user for a virtual try-on product
JP7271099B2 (ja) * 2018-07-19 2023-05-11 キヤノン株式会社 ファイルの生成装置およびファイルに基づく映像の生成装置
CN114398002B (zh) * 2021-12-06 2024-07-26 阿里巴巴创新公司 数据存储方法、数据解析方法及3d模型的展示方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010091928A (ko) * 2000-03-14 2001-10-23 윤종용 삼차원 장면의 노드를 처리하는 방법 및 그 장치
JP2002535920A (ja) 1999-01-22 2002-10-22 エリクソン インコーポレイテッド 同報メッセージの符号化方法およびシステム
KR20030005555A (ko) * 2001-07-09 2003-01-23 삼성전자 주식회사 3차원 메쉬정보 부호화 및 복호화 방법 및 그 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818463A (en) * 1997-02-13 1998-10-06 Rockwell Science Center, Inc. Data compression for animated three dimensional objects
EP1077431A1 (en) 1999-08-16 2001-02-21 Mtu Motoren- Und Turbinen-Union MàœNchen Gmbh Generating a three-dimensional mesh for finite element analysis
US6898320B2 (en) * 2000-03-14 2005-05-24 Samsung Electronics Co., Ltd. Method for processing nodes in 3D scene and apparatus thereof
KR100446635B1 (ko) * 2001-11-27 2004-09-04 삼성전자주식회사 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
US7409428B1 (en) * 2003-04-22 2008-08-05 Cooper Technologies Company Systems and methods for messaging to multiple gateways
KR100695126B1 (ko) * 2003-12-02 2007-03-14 삼성전자주식회사 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템과, afx부호화 방법 및 장치
EP2320380B1 (en) * 2004-07-08 2014-11-12 Telefonaktiebolaget L M Ericsson (Publ) Multi-mode image processing
KR101334173B1 (ko) 2006-01-11 2013-11-28 삼성전자주식회사 그래픽 데이터 부호화 및 복호화 방법과 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002535920A (ja) 1999-01-22 2002-10-22 エリクソン インコーポレイテッド 同報メッセージの符号化方法およびシステム
US6498936B1 (en) * 1999-01-22 2002-12-24 Ericsson Inc. Methods and systems for coding of broadcast messages
KR20010091928A (ko) * 2000-03-14 2001-10-23 윤종용 삼차원 장면의 노드를 처리하는 방법 및 그 장치
KR20030005555A (ko) * 2001-07-09 2003-01-23 삼성전자 주식회사 3차원 메쉬정보 부호화 및 복호화 방법 및 그 장치

Also Published As

Publication number Publication date
US8254705B2 (en) 2012-08-28
GB0811714D0 (en) 2008-07-30
US8000540B2 (en) 2011-08-16
GB2446556A (en) 2008-08-13
GB2446556B (en) 2011-06-15
DE112007000137T5 (de) 2009-01-29
US20120002891A1 (en) 2012-01-05
WO2007081159A1 (en) 2007-07-19
US20070160306A1 (en) 2007-07-12
KR20070075329A (ko) 2007-07-18

Similar Documents

Publication Publication Date Title
KR101334173B1 (ko) 그래픽 데이터 부호화 및 복호화 방법과 장치
KR101654777B1 (ko) 3차원 메쉬 가변 부호화 장치 및 방법, 그리고 3차원 메쉬 가변 복호화 장치 및 방법
JP7490685B2 (ja) 点群符号化方法、点群復号化方法、符号器、復号器及びコンピュータ記憶媒体
JP4452242B2 (ja) 漸進的な三次元メッシュ情報の符号化/復号化方法及びその装置
JP5033261B2 (ja) 共有頂点情報を用いた低複雑度3次元メッシュ圧縮装置及び方法
JP4808771B2 (ja) 3次元メッシュ情報の符号化及び復号化装置ならびにその方法
JP2000092487A (ja) 3次元メッシュ情報のプログレッシブ符号化/復号化方法及びその装置
KR100927601B1 (ko) 3차원 메쉬 정보의 부호화/복호화 방법 및 장치
JP4672735B2 (ja) 効果的なテクスチャマッピングのための3次元メッシュ情報のテクスチャ座標符号化及び復号化方法
JP6178798B2 (ja) 終了可能な空間ツリー型位置符号化および復号
US8687686B2 (en) 3D contents data encoding/decoding apparatus and method
EP1138012A1 (en) Method and system for predictive encoding of arrays of data
AU2012283580B2 (en) System and method for encoding and decoding a bitstream for a 3D model having repetitive structure
WO2023144445A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
CA3232434A1 (en) Point cloud data frames compression
US20240242391A1 (en) Connectivity information coding method and apparatus for coded mesh representation
US20240289996A1 (en) Method for decoding 3d content, encoder, and decoder
WO2024075608A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
EP4407991A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2023127513A1 (ja) 情報処理装置および方法
GB2476417A (en) Method and apparatus for generating graphic data
Lee et al. An adaptive quantization scheme for efficient texture coordinate compression in MPEG 3DMC

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee