KR20030043637A - 깊이 이미지 기반 3차원 객체 표현 장치 및 방법 - Google Patents

깊이 이미지 기반 3차원 객체 표현 장치 및 방법 Download PDF

Info

Publication number
KR20030043637A
KR20030043637A KR1020020067970A KR20020067970A KR20030043637A KR 20030043637 A KR20030043637 A KR 20030043637A KR 1020020067970 A KR1020020067970 A KR 1020020067970A KR 20020067970 A KR20020067970 A KR 20020067970A KR 20030043637 A KR20030043637 A KR 20030043637A
Authority
KR
South Korea
Prior art keywords
node
image
octree
field
information
Prior art date
Application number
KR1020020067970A
Other languages
English (en)
Other versions
KR100446635B1 (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 ES02258159T priority Critical patent/ES2374066T3/es
Priority to JP2002344720A priority patent/JP3957620B2/ja
Priority to CA2514655A priority patent/CA2514655C/en
Priority to EP02258159A priority patent/EP1321894B1/en
Priority to US10/305,065 priority patent/US8217941B2/en
Priority to CA002413056A priority patent/CA2413056C/en
Priority to CN 02151900 priority patent/CN1261912C/zh
Publication of KR20030043637A publication Critical patent/KR20030043637A/ko
Application granted granted Critical
Publication of KR100446635B1 publication Critical patent/KR100446635B1/ko
Priority to JP2006204014A priority patent/JP4629005B2/ja
Priority to JP2010157343A priority patent/JP2010218588A/ja
Priority to US13/342,714 priority patent/US8390622B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

깊이 이미지 기반 3차원 객체 표현 장치 및 방법이 개시된다. 일군의 깊이 이미지 기반 표현(Depth Image-Based Representation : DIBR)은 깊이 이미지 포맷(DepthImage), 옥트리 이미지(OctreeImage) 포맷, 및 포인트 텍스쳐(PointTexture) 포맷을 가지며 종래의 다각형 3차원 표현의 대안으로 채택될 수 있다. 깊이 이미지는 객체를 자신의 참조 이미지들의 집합과 대응하는 깊이맵에 의해 표현한다. 옥트리 이미지는 동일한 데이터를 간결한 참조 이미지의 집합과 복셀 이미지에 상응하는 인덱스의 트리인 계층적 옥트리 구조의 복셀 모델로 변환한다. 포인트텍스쳐는 객체를 규칙적인 2차원 격자상으로 투영함으로써 3차원 색상 점들의 집합으로 표현한다. 깊이 이미지와 옥트리 이미지는 애니메이션 버전을 가지며, 이 때, 참조 이미지들은 동영상으로 대체된다. DIBR 포맷은 3차원 스캐닝과 다중 소스 비디오 데이터로부터 3차원 모델 생성하는 것이 매우 용이하다. MPEG-4 프레임워크에 의해 주요 DIBR 포맷으로부터 3차원 모델을 효과적으로 취급하는 유연한 도구를 구성할 수 있다.

Description

깊이 이미지 기반 3차원 객체 표현 장치 및 방법{Apparatus and method for depth image-based representation of 3-dimensional object}
본 발명은 깊이 이미지 기반 표현(Depth Image-Based Representation : DIBR) 3차원 객체 표현 장치 및 방법에 관한 것으로, 보다 상세하게는,MPEG-4 동영상 프레임워크 확장(MPEG-4 Animation Framework eXtention : AFX)에 채용되어 왔던 DIBR이라 불리는 일군의 컴퓨터 그래픽과 애니메이션을 위한 3차원 객체 표현 장치 및 방법에 관한 것이다.
3차원 그래픽에 관한 연구의 초기부터 연구자들의 궁극적인 목표는 실제 이미지와 같은 현실적인 그래픽 화면을 생성하는 것이다. 따라서, 전통적인 렌더링 기술분야에서 다각형 모델(Polygonal model)을 이용하는 연구들이 수행되어 왔고 그 결과로서 매우 현실적인 3차원 환경을 제공하기에 충분할 정도로 모델링과 렌더링 기술이 개발되어 왔다. 그러나, 복잡한 모델을 생성하기 위한 과정은 전문가의많은 노력과 시간을 필요로 한다. 또한, 현실적이고 복잡한 환경은 막대한 양의 정보를 필요로 하며, 저장 및 전송에 있어서 저효율을 초래한다.
현재 컴퓨터 그래픽에서 3차원 객체 표현의 주요한 방법은 다각형 모델이다. 임의의 형상을 색상 다각형의 집합, 즉 삼각형들에 의해 대략적으로 표현할 수 있다. 소프트웨어 알고리즘의 엄청난 진보와 그래픽 하드웨어의 발전으로 인해 복잡한 객체 및 장면을 실시간으로 상당히 현실적인 정지 및 동영상 다각형 모델로 시각화하는 것이 가능하다.
그러나, 또 다른 3차원 표현에 대한 연구가 지난 수 년동안 매우 활발하게 진행되어 왔다. 현실 세계의 객체들에 대한 다각형 모델을 구성하는 것이 어려울 뿐만 아니라 렌더링의 복잡성과 진정으로 사진과 같이 현실적인 장면을 생성하는 데 있어서의 품질이 만족스럽지 않다는 것이 이러한 연구가 진행되어 왔던 주요한 이유이다.
필요한 애플리케이션은 막대한 양의 다각형을 필요로 한다. 예를 들어, 인체의 상세한 모델은 수백만개의 삼각형들을 포함하며, 이를 다루는 것은 용이한 일이 아니다. 비록 3차원 스캐너와 같이 3차원 측정 기술분야에서의 최근의 진보에 의해 수용가능한 에러를 갖는 조밀한 3차원 데이터를 얻을 수 있지만, 전체 객체에 대해 연속적으로 완벽한 다각형 모델을 얻는 것은 여전히 비용이 많이 들고 매우 어렵다. 다른 한편, 사진과 같이 현실적인 품질을 얻기 위한 렌더링 알고리즘은 연산에 있어 복잡하므로 결코 실시간 렌더링이 가능하지 않다.
본 발명이 이루고자 하는 기술적 과제는, MPEG-4 동영상 프레임워크 확장(MPEG-4 Animation Framework eXtension : AFX)에 채용되어 왔던 DIBR이라 불리는 일군의 컴퓨터 그래픽과 애니메이션을 위한 3차원 표현 장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, MPEG-4 동영상 프레임워크 확장(MPEG-4 Animation Framework eXtension : AFX)에 채용되어 왔던 DIBR이라 불리는 일군의 컴퓨터 그래픽과 애니메이션을 위한 3차원 표현 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
도 1은 색상 이미지와 깊이맵의 일 예를 도시한 도면,
도 2는 계층적인 깊이 이미지(Layered depth image : LDI)의 일 예를 도시한 도면((a) 객체의 투영, (b) 계층적인 픽셀),
도 3은 중심에 보이는 모델을 묘사하기 위해 사용되는 6개의 심플텍스쳐(이미지와 깊이맵의 쌍)로 이루어진 박스텍스쳐(Box Texture : BT)의 일 예를 도시한 도면,
도 4는 일반화된 박스텍스쳐(Generalized Box Texture : GBT)의 일 예를 도시한 도면((a) '야자나무' 모델에 대한 카메라의 위치, (b) 동일한 모델에 대한 참조 이미지 평면),
도 5는 2차원으로 묘사된 옥트리 표현을 보여주는 일 예를 도시한 도면((a) '점구름', (b) 대응하는 다중 해상도 표현),
도 6은 TBVO 비트스트림을 기술하기 위한 의사코드,
도 7은 TBVO 스트림를 기술하는 일 예를 도시한 도면((a) TBVO 트리 구조, (b) BVO 노드와 이미지 인덱스에서의 옥트리 횡단 순서, (c) 결과적인 TBVO 스트림),
도 8은 DIBR 노드의 정의를 보여주는 도면,
도 9는 깊이 이미지에 대한 시각 체적 모델을 도시한 도면((a) 원근 시점, (b) 직교 시점),
도 10은 노드 발생 확률의 직교 불변을 보여주는 도면((a) 원래의 현재 및 부모 노드, (b) y축을 중심으로 90°회전된 현재 및 부모 노드),
도 11은 심플텍스쳐의 OpenGL 기반 렌더링의 의사코드,
도 12는 심플텍스쳐에서 참조 이미지의 확산을 보여주는 일 예를 도시한 도면((a) 원래의 참조 이미지, (b) 배경으로 확산된 참조 이미지),
도 13은 상이한 포맷의 "모톤" 모델의 렌더링 결과를 보여주는 일 예를 도시한 도면((a) 원래의 다각형 포맷, (b) 깊이 이미지 포맷, (c) 옥트리 이미지 포맷),
도 14는 렌더링의 일 예를 도시한 도면((a) 깊이 이미지 포맷으로 표현된 "첨성대" 모델, (b) 옥트리 이미지 포맷으로 표현된 동일한 모델),
도 15는 "야자나무" 모델의 렌더링의 일 예를 도시한 도면((a) 원래의 다각형 포맷, (b) 깊이 이미지 포맷의 동일한 모델),
도 16은 옥트리 이미지의 "드래곤512" 애니메이션으로부터의 프레임을 보여주는 렌더링의 일 예를 도시한 도면,
도 17은 포인트텍스쳐 포맷의 "천사412" 모델의 렌더링의 일 예를 도시한 도면,
도 18은 본 발명에 따른 심플텍스쳐에 의한 깊이 이미지 기반 3차원 객체 표현 장치에 대한 일 실시예의 구성을 도시한 블록도,
도 19는 전처리부(1820)의 상세한 구성을 도시한 블록도,
도 20은 본 발명에 따른 심플텍스쳐에 의한 깊이 이미지 기반 3차원 객체 표현 방법에 대한 일 실시예의 수행과정을 도시한 흐름도,
도 21은 본 발명에 따른 포인트텍스쳐에 의한 깊이 이미지 기반 3차원 객체 표현 장치에 대한 일 실시예의 구성을 도시한 블록도,
도 22는 본 발명에 따른 포인트텍스쳐에 의한 깊이 이미지 기반 3차원 객체 표현 방법에 대한 일 실시예의 수행과정을 도시한 흐름도,
도 23은 본 발명에 따른 옥트리에 의한 깊이 이미지 기반 3차원 객체 표현 장치에 대한 일 실시예의 구성을 도시한 블록도,
도 24는 전처리부(2310)의 상세한 구성을 도시한 블록도,
도 25는 인덱스 생성부(2340)의 상세한 구성을 도시한 블록도,
도 26은 인코딩부(2360)의 상세한 구성을 도시한 블록도,
도 27은 제2인코딩부(2630)의 상세한 구성을 도시한 블록도,
도 28은 제3인코딩부(2640)의 상세한 구성을 도시한 블록도,
도 29는 본 발명에 따른 옥트리에 의한 깊이 이미지 기반 3차원 객체 표현 방법에 대한 일 실시예의 수행과정을 도시한 흐름도,
도 30은 참조이미지에 대한 전처리단계의 수행과정을 도시한 흐름도,
도 31은 인덱스 생성단계의 수행과정을 도시한 흐름도,
도 32는 인코딩단계의 수행과정을 도시한 흐름도,
도 33은 제2인코딩단계의 수행과정을 도시한 흐름도,
도 34는 제3인코딩단계의 수행과정을 도시한 흐름도,
도 35는 인코딩단계에서 수행되는 비트스트림 생성과정을 도시한 흐름도,
도 36은 본 발명에 따른 옥트리에 의한 깊이 이미지 기반 3차원 객체 표현 장치에 대한 다른 실시예의 구성을 도시한 블록도, 그리고,
도 37은 본 발명에 따른 옥트리에 의한 깊이 이미지 기반 3차원 객체 표현 방법에 대한 다른 실시예의 수행과정을 도시한 흐름도이다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치의 일 실시예는, 적어도 하나 이상의 시점정보를 생성하는 시점정보 생성부; 상기 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 깊이정보를 기초로 깊이이미지를 생성하는 제1이미지 생성부; 상기 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 색상정보를 기초로 색상이미지를 생성하는 제2이미지 생성부; 상기 시점정보와 상기 시점정보에 대응하는 상기 깊이이미지 및 상기 색상이미지로 구성된 이미지 노드를 생성하는 노드 생성부; 및 상기 생성된 이미지 노드를 인코딩하는 인코딩부;를 구비한다.
본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치의 다른 실시예는, 적어도 하나 이상의 시점정보를 생성하는 시점정보 생성부; 상기 시점정보에 대응하는 이미지 평면의 너비, 높이, 및 깊이를 규정하는 평면정보를 생성하는 평면정보 생성부; 상기 이미지 평면의 각 점들로 투사된 객체의 모든 투사점들에 대한 깊이가 기록된 깊이정보열을 생성하는 깊이정보 생성부; 상기 각각의 투사점들에 대한 색상정보열을 생성하는 색상정보 생성부; 및 상기 이미지 평면에 대응하는 상기 평면정보, 상기 깊이정보열 및 상기 색상정보열로 구성되는 점노드를 생성하는 노드 생성부;를 갖는다.
본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치의 또 다른 실시예는, 객체를 구성하는 옥트리 중에서 상기 객체를 포함하는 옥트리를 소정 개수의 하위 큐브로 분할하고 분할된 하위 큐브를 자녀 노드로 규정하여 상기 객체에 대한 형태정보를 생성하는 형태정보 생성부; 상기 큐브 각각에 대해 색상이미지를 포함하는 참조 이미지를 결정하는 참조이미지 결정부; 상기 형태정보에 대응하는 상기 참조 이미지의 인덱스정보를 생성하는 인덱스 생성부; 상기 형태정보, 상기 인덱스정보 및 상기 참조 이미지로 구성되는 옥트리 노드를 생성하는 노드 생성부; 및 상기 옥트리 노드를 인코딩하여 비트스트림을 출력하는 인코딩부;를 포함하며, 상기 형태정보 생성부는, 상기 분할된 하위 큐브의 크기가 소정의 기준크기보다 작아질 때까지 상기 하위 큐브로의 분할과정을 반복적으로 수행한다.
본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치의 또 다른 실시예는, 비트스트림을 입력받는 입력부; 상기 비트스트림으로부터 옥트리 노드를 추출하는 제1추출부; 상기 옥트리 노드를 디코딩하는 디코딩부; 상기 디코딩된 옥트리 노드로부터 상기 옥트리를 구성하는 복수의 큐브에 대한 형태정보 및 참조이미지를추출하는 제2추출부; 및 상기 추출된 형태정보에 기초하여 상기 추출된 참조이미지를 조합하여 객체를 표현하는 객체표현부;를 갖는다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 방법의 일 실시예는, 적어도 하나 이상의 시점정보를 생성하는 단계; 상기 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 깊이정보를 기초로 깊이이미지를 생성하는 단계; 상기 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 색상정보를 기초로 색상이미지를 생성하는 단계; 상기 시점정보와 상기 시점정보에 대응하는 상기 깊이이미지 및 상기 색상이미지로 구성된 이미지 노드를 생성하는 단계; 및 상기 생성된 이미지 노드를 인코딩하는 단계;를 포함한다.
본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 방법의 다른 실시예는, 적어도 하나 이상의 시점정보를 생성하는 단계; 상기 시점정보에 대응하는 이미지 평면의 너비, 높이, 및 깊이를 규정하는 평면정보를 생성하는 단계; 상기 이미지 평면의 각 점들로 투사된 객체의 모든 투사점들에 대한 깊이가 기록된 깊이정보열을 생성하는 단계; 상기 각각의 투사점들에 대한 색상정보열을 생성하는 단계; 및 상기 이미지 평면에 대응하는 상기 평면정보, 상기 깊이정보열 및 상기 색상정보열로 구성되는 점노드를 생성하는 단계;를 포함한다.
본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 방법의 또 다른 실시예는, 객체를 구성하는 옥트리 중에서 상기 객체를 포함하는 옥트리를 소정 개수의 하위 큐브로 분할하고 분할된 하위 큐브를 자녀 노드로 규정하여 상기 객체에 대한형태정보를 생성하는 단계; 상기 큐브 각각에 대해 색상이미지를 포함하는 참조 이미지를 결정하는 단계; 상기 형태정보에 대응하는 상기 참조 이미지의 인덱스정보를 생성하는 단계; 상기 형태정보, 상기 인덱스정보, 및 상기 참조 이미지로 구성되는 옥트리 노드를 생성하는 단계; 및 상기 옥트리 노드를 비트스트림으로 인코딩하는 단계;를 포함하며, 상기 형태정보 생성단계는 상기 분할된 하위 큐브의 크기가 소정의 기준크기보다 작아질 때까지 상기 하위 큐브로의 분할과정을 반복적으로 수행한다.
본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 방법의 또 다른 실시예는, 비트스트림을 입력받는 단계; 상기 비트스트림으로부터 옥트리 노드를 추출하는 단계; 상기 옥트리 노드를 디코딩하는 단계; 상기 디코딩된 옥트리 노드로부터 상기 옥트리를 구성하는 복수의 큐브에 대한 형태정보 및 참조이미지를 추출하는 단계; 및 상기 추출된 형태정보에 기초하여 상기 추출된 참조이미지를 조합하여 객체를 표현하는 단계;를 포함한다.
본 발명에 따르면, 이미지 기반 모델에 대한 렌더링 시간이 다각형의 경우처럼 형태적인 복잡성에 비례하지 않고 일반적으로 참조 및 출력 이미지들에 존재하는 픽셀의 수에 비례한다. 나아가, 이미지 기반 표현이 현실 세계의 객체와 장면에 적용되면 수백만개의 다각형의 사용과 고비용의 계산없이 자연적인 장면의 사진과 같은 현실적인 렌더링이 가능하게 된다.
본 출원은 미국상표특허청에 가출원된 4건의 출원을 기초출원으로 하여 우선권을 주장하여 출원된다. 이하에서 본 출원의 우선권주장의 기초가 된 4건의 가출원서에 기재된 발명을 기술한다.
미국특허출원번호 제60/333,167호(출원일: 2001. 11. 27, 발명의 명칭: 3차원 장면에서 이미지 기반 렌더링 데이터의 코딩 기술 및 그 장치)에 기술된 발명은 다음과 같다.
1. 서론
본 문서에서 이미지 기반 렌더링(AFX A8.3)에 대한 코어 실험 결과가 보고된다. 이 코어 실험은 깊이 정보를 가진 텍스쳐를 이용하는 이미지 기반 렌더링 기술에 관한 것이다. 또한, 57차 MPEG 회의 이후 실험 및 10월에 있은 AFX adhoc 그룹 회의에서의 논의 결과에 기반하여 노드 정의에 가해진 몇가지 변경이 제시된다.
2. 실험 결과
2.1 테스트 모델
●정지 객체에 대하여
■심플텍스쳐를 가진 깊이 이미지 노드
◆ 개
◆ 티라노사우르스 렉스(약 20개의 카메라를 사용한 깊이 이미지)
◆ 테라스크(괴물)(약 20개의 카메라를 사용한 깊이 이미지)
◆ 첨성대(약 20개의 카메라를 사용한 깊이 이미지)
◆ 야자나무(약 20개의 카메라를 사용한 깊이 이미지)
■ 계층텍스쳐를 가진 깊이 이미지 노드
◆ 천사
■ 포인트텍스쳐를 가진 깊이 이미지 노드
◆ 천사
■ 옥트리 이미지 노드
◆ 생물
● 동적 객체에 대하여
■ 심플텍스쳐를 가진 깊이 이미지 노드
◆ 용
◆ 배경에서의 용
■ 계층텍스쳐를 가진 깊이 이미지 노드
◆ 제공되지 않음
■ 옥트리 이미지 노드
◆ 로봇
◆ 배경에서의 용
● 추후 보다 많은 데이터(스캐닝 또는 모델링된) 제공될 것이다.
2.2 테스트 결과
● 시드니에서 제안된 모든 노드들은 블랙선 컨택트 4.3(blaxxun contact 4.3) 참조 소프트웨어에 통합되어 있다. 그러나 아직까지 cvs 서버에 소스들이 갱신되지는 않았다.
● 이미지 기반 렌더링(Image Based Rendering : IBR)에 대한 동적 포맷들은 각각의 동영상파일로부터 동일한 키 프레임에 존재하는 이미지들이 동시에 주어지도록 하기 위해 복수의 동영상 파일들간에 동기될 필요가 있다. 그러나, 현재의 참조 소프트웨어는 MPEG 시스템에서는 가능한 이러한 동조능력을 지원하지 않는다. 따라서, 현재 동적 포맷은 모든 동적 데이터가 이미 파일에 존재한다고 가정함으로써 가시화될 수 있다. 잠정적으로 AVI 포맷의 동영상파일들이 각각의 동적 텍스쳐에 사용된다.
● 계층문맥에 대한 몇가지 실험을 수행한 후 계층텍스쳐 노드는 효율적이지 않음이 명백해졌다. 이러한 노드는 계층 깊이 이미지에 대해 제안되었다. 그러나, 그것을 지원할 수 있는 포인트텍스쳐 노드가 또한 존재한다. 따라서, 노드 정의에서 계층텍스쳐 노드를 삭제할 것을 제안한다.
● 다음 그림은 현재 참조 소프트웨어에 통합된 IBR의 예이다.
3. IBR 노드 정의에 대한 업데이트
IBR 제안에 대한 시드니 회의의 결론은 이미지 및 카메라 정보를 포함하는 IBR 스트림을 가져야 하며, IBR 노드는 그것으로의 링크(url)를 가지면 될 것이라는 것이다. 그러나, 렌에서 열린 AdHoc 그룹 회의에서의 IBR에 대한 논의결과는 IBR 노드와 스트림 모두 이미지 및 카메라 정보를 가져야 한다는 것이다. 따라서, IBR 노드에 대한 노드 정의는 다음과 같이 업데이트된다. IBR 스트림에 대한 필요성은 url 필드를 설명하는 장에서 설명된다.
디코더(비트 스트림)-노드 정의
DepthImage{
fieldSFVec3fposition0010
fieldSFRotationorientation0010
fieldSFVec2ffieldOfView0.785398 0.785398
fieldSFFloatnearPlane10
fieldSFFloatfarPlane100
fieldSFBoolorthogonalFALSE
fieldSFNodediTextureNULL
fieldSFStringdepthImageUrl""
}
깊이 이미지 노드(DepthImage node)는 하나의 IBR 텍스쳐를 정의한다. 복수의 깊이 이미지 노드가 서로 연관될 때 그들은 하나의 그룹으로 처리되므로 동일한 변환 노드하에 위치하여야 한다.
diTexture 필드는 깊이 이미지 노드에 정의되어 있는 영역으로 매핑되어야 하는 깊이를 가진 텍스쳐를 특정한다. 그것은 다양한 형태의 깊이 이미지 텍스쳐(심플텍스쳐 또는 포인트텍스쳐)의 하나이다.
위치(position) 및 방향(orientation) 필드는 로컬 좌표계에서 IBR 텍스쳐의 관점의 상대적 위치를 특정한다. 방향은 기본 방향에 대한 상대적 회전을 특정하는반면, 위치는 좌표계의 원점(0,0,0)에 상대적이다. 기본 위치 및 방향에서, 관찰자는 우측으로는 +X축과 수직으로 +Y축을 가진 원점을 향하여 -Z축을 내려다보며 Z축상에 위치한다. 그러나, 변환계층은 시점의 최종 위치 및 방향에 영향을 준다.
fieldOfView 필드는 위치 및 방향 필드에 의해 정의된 카메라 시점으로부터의 시각을 특정한다. 첫 번째 값은 수평각을 의미하며, 두 번째 값은 수직각을 의미한다. 기본값은 45도이다. 그러나, 직교(orthogonal) 필드가 참(TRUE)으로 설정되면 fieldOfView 필드는 인접 평면과 원접 평면의 너비와 높이를 의미한다.
nearPlane과 farPlane 필드는 시점으로부터 가시영역의 인접 평면 및 원접 평면까지의 거리를 특정한다. 텍스쳐 및 깊이 데이터는 인접 평면, 원접 평면 그리고 fieldOfView에 의해 둘러싸여진 영역을 보여준다. 깊이 데이터는 인접 평면으로부터 원접 평면까지의 거리로 정규화된다.
직교 필드는 IBR 텍스쳐의 시각 형태를 특정한다. 참으로 설정되어 있는 경우에 IBR 텍스쳐는 직교 시점에 기초한다. 그렇지 않은 경우에 IBR 텍스쳐는 원근 시점에 기초한다.
depthImageUrl 필드는 부가적으로 다음의 내용을 포함할 수 있는 깊이 이미지 스트림의 주소를 특정한다.
● 위치(position)
● 방향(orientation)
● fieldOfView
● 근접 평면(nearPlane)
● 원접 평면(farPlane)
● 직교(orthogonal)
● diTexture(심플텍스쳐 또는 포인트텍스쳐)
● 상위 필드의 플래그 온/오프에 대한 1바이트 헤더
SimpleTexture{
fieldSFNodetextureNULL
fieldSFNodedepthNULL
}
심플텍스쳐 노드는 단층의 IBR 텍스쳐를 정의한다.
텍스쳐(texture) 필드는 각각의 픽셀에 대한 색상을 포함하는 평면 이미지를 특정한다. 이는 다양한 형태의 텍스쳐 노드(이미지텍스쳐, 동영상텍스쳐 또는 픽셀텍스쳐)중 하나이다. 깊이 노드가 NULL이거나 깊이 필드가 특정되지 않으면 텍스쳐 필드에서 알파 채널은 깊이 맵으로 이용될 수 있다.
PointTexture{
fieldSFInt32width256
fieldSFInt32height256
fieldMFInt32depth[]
fieldMFColorcolor[]
}
포인트텍스쳐(PointTexture) 노드는 복수 층의 IBR 점을 특정한다.
너비(width) 및 높이(height) 필드는 텍스쳐의 너비와 높이를 특정한다.
깊이(depth) 필드는 횡단순으로 투영된 면에서 각 점에 대한 복수의 깊이를 특정하며(정규화된 좌표상에서), 좌측하단코너에 있는 점에서 출발하여 우측으로 횡단하면서 위쪽에 있는 선으로 이동하기 전에 수평선에서 종료한다. 각각의 점에 대해, 깊이(픽셀) 번호가 먼저 저장되며, 깊이 번호 값은 다음에 저장된다.
색상(color) 필드는 현재 픽셀의 색상을 특정한다. 순서는 각각의 점에 대한 깊이(픽셀) 번호가 포함되지 않는 것을 제외하고는 깊이 필드와 동일하다.
그림 1. 깊이 이미지의 원근 시점
그림 2. 깊이 이미지의 직교 시점
OctreeImage{
fieldSFInt32octreeresolution256
fieldSFStringoctree""
fieldMFNodeoctreeimages[]
fieldSFStringoctreeUrl""
}
옥트리 이미지(OctreeImage) 노드는 옥트리 구조 및 그들의 투영된 텍스쳐를 정의한다. 전체 옥트리의 닫힌 큐브의 크기는 1×1×1이며, 옥트리 큐브의 중심은 로컬 좌표계의 원점인(0,0,0)이 되어야 한다.
옥트리 해상도(octreeresolution) 필드는 닫힌 큐브의 측면에 걸친 옥트리 잎들의 최대수를 특정한다. 옥트리 레벨은 다음의 식을 사용하여 옥트리 해상도로부터 결정될 수 있다.
octreelevel = int(log2(octreeresolution-1))+1)
옥트리 필드는 옥트리 내부 노드의 집합을 특정한다. 각각의 내부 노드는 바이트에 의해 표현된다. 이러한 바이트의 i번째 비트의 1은 내부 노드의 i번째 자녀에 대해 자녀 노드들이 존재함을 의미한다. 반면에, 0은 자녀노드들이 존재하지 않음을 의미한다. 옥트리 내부 노드들의 순서는 옥트리의 너비 우선 횡단 순서가 되어야 한다. 내부 노드의 8개의 자녀의 순서가 그림 3에 도시되어 있다.
그림 3. 옥트리의 구조 및 자녀의 순서
옥트리 이미지 필드는 diTexture 필드에 대해 심플텍스쳐를 가진 깊이 이미지 노드의 집합을 특정한다. 그러나 깊이 이미지에 대한 인접 평면과 원접 평면 필드 및 심플텍스쳐에서 깊이 필드는 사용되지 않는다.
octreeUrl 필드는 다음과 같은 내용을 가진 옥트리 이미지 스트림의 주소를 특정한다.
● 플래그에 대한 헤더
● 옥트리 해상도
● 옥트리
● 옥트리 이미지(복수의 깊이 이미지 노드)
■ 인접 평면은 사용되지 않음
■ 원접 평면은 사용되지 않음
■ diTecture → 깊이를 가지고 있지 않은 심플텍스쳐
미국특허출원번호 제60/362,545호(출원일: 2002. 3. 8, 발명의 명칭: 깊이 이미지 기반 표현의 압축과 스트리밍 기술 및 그 장치)에 기술된 발명은 다음과 같다.
1. 서론
본 문서에서 이미지 기반 렌더링(AFX A8.3)에 대한 코어 실험 결과가 보고된다. 이 코어 실험은 깊이 정보를 가진 텍스쳐를 사용하는 깊이 기반 이미지 표현 노드에 관한 것이다. 노드는 파타야에서 개최된 회의에서 수용되었으며, 위원회 초안에 대한 제안에 포함되어 있다. 그러나, 옥트리 노드와 깊이 이미지 노드를 통한 이러한 정보의 스트리밍은 여전히 진행중에 있다. 스트리밍 포맷은 옥트리 이미지 노드에 대한 옥트리 필드 및 포인트텍스쳐 노드에 대한 깊이/색상 필드의 압축을 포함한다.
2. octreeUrl에 대한 스트리밍 포맷
2.1 스트림 포맷
옥트리 이미지 노드는 옥트리 이미지 스트림의 주소를 특정하는 octreeUrl 필드를 포함한다. 이 스트림은 부가적으로 다음과 같은 내용을 포함할 수 있다.
● 플래그에 대한 헤더
● 옥트리 해상도
● 옥트리
● 옥트리 이미지(복수의 깊이 이미지 노드)
■ 인접 평면은 사용되지 않음
■ 원접 평면은 사용되지 않음
■ diTexture → 깊이를 가지고 있지 않은 심플텍스쳐
옥트리 필드는 옥트리 내부 노드 집합을 특정한다. 각각의 내부 노드는 바이트에 의해 표현된다. 이러한 바이트의 i번째 비트의 1은 내부 노드의 i번째 자녀에 대해 자녀 노드들이 존재함을 의미한다. 반면에, 0은 자녀노드들이 존재하지 않음을 의미한다. 옥트리 내부 노드들의 순서는 옥트리의 너비 우선 횡단 순서가 되어야 한다. 8개의 내부 노드의 순서가 그림 1에 도시되어 있다.
그림 1. 옥트리의 구조 및 자녀의 순서
옥트리 이미지 노드의 옥트리 필드는 간단한 포맷이다. 그러나 이 필드는 효율적인 스트리밍을 위해 보다 압축될 수 있다. 다음 장은 옥트리 이미지 노드의 옥트리 필드에 대한 압축방안을 기술한다.
2.2. 옥트리 필드에 대한 압축방안
DIBR의 옥트리 표현에서 데이터는 형태 성분을 표현하는 옥트리 필드로 구성된다. 옥트리는 객체 표면을 완전하게 표현하며, 닫힌 큐브에 존재하는 점들의 집합이다.
압축된 표현으로부터 형태의 동일하지 않은 재생은 상당히 두드러진 잡음을 낳는다. 따라서, 형태는 정보의 손실없이 압축되어야 한다.
2.2.1. 옥트리 압축
깊이 우선 횡단 옥트리 형태에서 표현되는 옥트리 필드의 압축에 대해, 우리는 부분 매칭에 의한 예측(Prediction by Partial Matching : PPM) 접근[1,2]의 일부 개념을 이용한 무손실 압축 방법을 개발했다. 우리가 이용하는 주된 사상은 몇 개의 이전 심벌들에 의한 다음 심벌의 "예측"(즉, 확률 추정)이다. 이는 '문맥'으로 칭한다. 각각의 문맥에 대해, 이러한 문맥에 존재하는 각각의 심벌에 대한 추정된 발생 확률을 포함하는 확률 테이블이 존재한다. 이는 영역 코더[3,4]라 불리우는 산술 코더와 결합되어 사용된다.
이 방법의 두가지 주요한 특성은,
1. 자녀 노드에 대해 문맥으로서 부모 노드를 사용하며,
2. 문맥의 수를 줄이기 위해 '직교 불변' 추정을 사용하는 것이다.
두 번째 사상은 '부모-자녀' 노드의 쌍에 대한 '천이 확률'은 직교 변환(회전 및 대칭)하에서 통상적으로 불변이라는 관찰에 기초한다. 이러한 가정은 첨부 1에 기술되어 있다. 이러한 가정에 의해 지나치게 많은 확률 테이블을 가지지 않고 보다 복잡한 문맥을 사용할 수 있다. 차례로, 이에 의해 데이터 크기 및 속도면에서 상당히 양호한 결과를 얻을 수 있다. 많은 문맥을 사용할수록 추정된 확률이 보다 명확해지고, 따라서 코드가 보다 간결해진다.
코딩은 문맥 모델에 따른 확률 테이블의 생성 및 갱신 과정이다. 제안된 방법에서, 문맥은 옥트리 구조에서 부모-자녀 계층으로 모델링된다. 우선, 심벌을 내부 하위분할 후 하위 큐브의 발생을 나타내는 비트를 가진 바이트 노드로 정의한다. 그러므로, 옥트리에서 각각의 노드는 심벌이 될 수 있으며, 그것의 수치는 0-255가 될 것이다. 확률 테이블(Probabilistic Table : PT)는 256개의 정수값을 포함한다. 전체 변수의 합에 의해 나누어진 i번째 변수값(0≤i≤255)은 i번째 심벌 발생 빈도(확률 추정)와 동일하다. 확률 문맥 테이블(Probabilistic Context Table : PCT)는 PT의 집합이다. 심벌의 확률은 PT의 하나로부터 결정된다. 특정한 PT의수는 문맥에 의존한다. PCT의 예가 그림 2에 도시되어 있다.
그림 2. 확률 문맥 테이블의 성분
코더는 다음과 같이 동작한다. 코더는 먼저 0-문맥 모델을 사용한다(즉, 모든 심벌에 대해 하나의 PT을 사용하고, 균일 분포로부터 시작하며 각각의 새로 코딩된 심볼 다음에 PT를 갱신한다). 트리는 깊이 우선 순서로 횡단된다. 충분한 자료가 수집되면(실험적으로 발견값은 512개의 코딩된 심벌들이다), 코더는 1-문맥 모델로 전환한다. 1-문맥 모델은 다음과 같이 특정된 27개의 문맥을 가진다.
대칭 및 좌표축에 대해 90°회전(첨부 2 참조)을 포함하는 32개의 고정된 직교 변환 집합을 상정하면, 그들의 하위큐브에 대한 적층 패턴에 따라 심벌들을 분류할 수 있다. 우리의 방법에서, 여기서는 그룹이라 지칭되는 다음과 같은 특성을 가진 27개의 심벌 집합이 존재할 것이다. 2개의 심벌들은 동일한 그룹에 속하면 이러한 고정된 변환 중의 하나에 의해 연결된다.
바이트 표기에서 그룹들은 27개의 숫자 집합(첨부 2 참조)에 의해 표현된다. 확률 테이블은 부모 노드 자체가 아닌(256개의 테이블이 존재하는 경우에 있어서) 부모 노드가 속하는 그룹(도 2에서 부모 심벌이라 명명된)에 종속적이라고 가정한다(따라서 27개의 테이블).
전환시, 모든 문맥에 대한 PT들은 0-문맥 PT의 사본에 배치된다. 그리고 나서, 각각의 27개의 PT는 코딩에 사용될 때 갱신된다.
2048개(또다른 발견값)의 심벌들이 1-문맥 모델로 코딩된 후 문맥으로 쌍(부모 심벌, 노드 심벌)을 사용하는 2-문맥 모델로 전환한다. 노드 심벌은 단순히 부모 노드에서 현재 노드의 위치이다. 그러므로, 2-문맥 모델에 대해 27*8개의 문맥이 존재한다. 이러한 모델로의 전환시, 각각의 문맥에 대해 얻어진 PT들은 이러한 문맥의 '내부에 존재하는' 각각의 노드에 대해 사용되며, 이 때부터 독립적으로 갱신된다.
기술적으로 보다 상세하게 설명하면, 1-문맥 및 2-문맥 모델에 대한 인코딩은 다음과 같이 진행된다. 현재 심벌의 문맥(즉, 부모 노드)에 대해, 그것의 그룹이 결정된다. 이는 테이블 검색에 의해 수행된다(형태 분석은 프로그램 개발 단계에서 수행된다). 그리고 나서, 문맥을 그것이 속하는 그룹의 '표준'(모두 임의로 선택된) 성분으로 취하는 직교 변환을 적용한다. 동일한 변환이 심벌 자체에 적용된다(이러한 연산 또한 테이블 검색으로서 수행되며, 모든 가능한 결합에 대한 모든 계산은 물론 사전에 수행된다). 사실상, 이는 심벌의 문맥을 포함하는 그룹에 대한 확률 테이블에 존재하는 현재 심벌의 정확한 위치에 대한 계산이다. 그리고 나서, 대응하는 확률이 영역 코더로 입력된다.
간략하면, 부모 심벌 및 하위 노드 위치가 주어지면, 그룹ID와 PCT에서 PT의 위치를 식별하여 주는 문맥ID(ContextID)가 결정된다. PT의 확률 분포와 문맥ID는 영역 코더로 입력된다. 인코딩 후 PCT는 다음 인코딩에 사용되기 위해 갱신된다. 영역 코더는 비트 대신에 바이트로 재정규화를 수행하는 산술 코딩의 변형이며, 따라서 산술 코딩의 표준 도구보다 0.01% 낮은 압축품질을 가지며 두배 빠르게 동작함을 주목하라.
디코딩 절차는 본질적으로 인코딩 절차의 역이다. 이는 문맥 결정, 확률 갱신 등에 있어서 정확하게 동일한 방법을 사용하므로, 설명할 필요가 없는 완전히 표준적인 절차이다.
2.3 테스트 결과
그림 3은 정지 및 동적 모델에 대한 본 접근법의 비교를 위한 테이블이다(횡축은 압축율을 표시한다). 옥트리 압축율은 원래 옥트리 크기와 비교하여 약 1.5-2배 정도에서 변하며, 일반적인 목적의 무손실 압축 성능(RAR 프로그램과 같은 Lempel-Ziv 기반)이 30% 가량 양호하다.
그림 3. 옥트리 압축율
3. depthImageUrl에 대한 스트리밍 포맷
3.1. 스트림 포맷
깊이 이미지 노드는 깊이 이미지 스트림의 주소를 특정하는 depthImageUrl 필드를 포함한다. 이러한 스트림은 다음과 같은 내용을 부가적으로 포함할 수 있다.
● 아래의 필드들의 온/오프 플래그를 위한 1바이트 헤더
● 위치(position)
● 방향(orientation)
● fieldOfView
● 인접 평면(nearPlane)
● 원접 평면(farPlane)
● 직교(orthogonal)
● diTexture(심플텍스쳐 또는 포인트텍스쳐)
깊이 이미지 노드의 diTexture에 사용되는 포인트텍스쳐 노드의 정의는 다음과 같다.
PointTexture {
fieldSFInt32width256
fieldSFInt32height256
fieldMFInt32depth[]
fieldMFColorcolor[]
}
포인트텍스쳐 노드는 IBR 점에 대한 복수의 층을 정의한다. 너비(width)와 높이(height) 필드는 텍스쳐의 너비와 높이를 특정한다. 깊이(depth) 필드는 좌측 하부 코너에 존재하는 점에서 출발하여 상위 선으로 이동하기 전에 우측으로 횡단하여 수평선에서 종료하는 횡단 순으로 투영면에서의 각 점(정규화된 좌표)에 대한 복수의 깊이를 특정한다. 각각의 점에 대해, 깊이(픽셀)의 번호가 먼저 저장되며, 깊이값의 번호가 다음에 저장된다. 색상(color) 필드는 현재 픽셀의 색상을 특정한다. 순서는 각각의 점에 대해 깊이(픽셀)의 번호가 포함되지 않는다는 것을 제외하고는 깊이 필드와 동일하다.
포인트텍스쳐에 대한 깊이 및 색상 필드는 처리되지 않은 포맷이며, 이러한 필드의 크기는 상당히 클 것이다. 따라서, 이러한 필드들은 효율적인 스트리밍을 위해 압축될 필요가 있다. 다음 장은 포인트텍스쳐 노드의 필드에 대한 압축방안을 기술한다.
3.2. 포인트텍스쳐에 대한 압축방안
3.2.1. 깊이 필드의 압축
포인트텍스쳐 노드의 깊이 필드는 단순히 '구분된 닫힌 큐브'에 존재하는 점들의 집합이다. 바닥면을 투영면으로 가정한다. 모델에 대해 m*n*1 크기의 격자가 주어지면, 점들이 이러한 격자의 셀(옥트리의 경우에 이들을 복셀이라 칭한다)들의 중심이라 할 때, 점유된 복셀들은 1로, 비어있는 복셀들은 0으로 상정할 수 있다. 그러면, 비트(m*n*1 비트)의 결과 집합은 바이트 스트림으로 구성된다. 이는 깊이가 8인 층들과 투영면(깊이 크기가 8의 배수가 아닌 경우에 필요하다면 0인 마지막 바이트 층을 보호하면서)에 있어서의 일반적인 순서("열방향")에 의해 깊이(투영면에 수직인) 방향에 존재하는 복셀들을 횡단함으로써 달성된다. 따라서, 점들의 집합을 8비트 그레이 스케일 이미지들의 적층(다양한 16비트 이미지들)으로 사고할수 있다. 복셀과 비트에 대응하는 그림이 아래의 그림 4(a)에 도시되어 있다.
(a) (b)
(a) 어두운 셀들(복셀)은 1에 대응하며, 흰색 셀은 0에 대응한다.
(b) (x, depth) 평면에서의 2차원 절편
그림 4. LDI의 투영
예를 들면, 그림 4(b)에서 검정색 사각형들은 객체상의 점들에 대응된다. 수평면은 투영면이다. 높이가 16인 '슬라이스'를 가정하고, 열을 바이트라 한다. 즉, 도면에서 표시된 점들의 위에 존재하는 열은 18과 1의 값을 갖는 2바이트 스택(또는 16-bit unsigned integer 274)을 나타낸다. 만약 이러한 방식으로 얻어진 바이트의 집합에 최적의 PPM 기반 압축방법을 적용하면 양호한 결과를 얻을 수 있다. 그러나, 단순한 1-문맥 방법을 여기에 직접 적용하면(물론 직교불변 또는 계층적인 문맥들은 여기에 사용될 수 없다) 이는 다소 저급한 압축을 초래한다. 아래에 LDI 형태 표현의 다른 형태-BVOC, 최적 PPM 압축수단에 의해 압축된 위의 바이트 배열, 및 현재 사용된 압축수단에 의해 압축된 동일한 배열-에 대해 요구되는 체적 테이블이 주어져 있다(단위: Kbytes).
3.2.2. 색상 필드 압축
포인트텍스쳐 노드의 색상 필드는 객체의 점들에 기인한 색상 집합이다. 옥트리의 경우와 달리, 색상필드는 깊이 필드와 일대일 대응관계에 있다. 개념은 색상 데이터를 알려진 손실 기술의 하나에 의해 압축될 수 있는 하나의 이미지로 표현하는 것이다. 이러한 이미지에서 가장 중요한 것은 옥트리 또는 깊이 이미지의 경우에 있어서의 참조 이미지보다 훨씬 작다는 것이며, 이는 이러한 접근법의 실질적인 동기이다. 이미지는 다양한 자연적인 순서로 깊이 점들을 스캐닝하여 얻어질 수 있다.
먼저 LDI(포인트텍스쳐)에 대한 원래의 저장 포맷에 의해 기록된 스캐닝 순서-형태의 '깊이 우선' 스캐닝-를 고려한다. 다중픽셀들이 단순한 픽셀과 마찬가지로 자연적인 순서로 투영면을 가로질러 스캐닝되며, 동일한 다중픽셀들 내부의 점들이 깊이 방향으로 스캐닝된다. 이러한 스캐닝 순서는 색상의 1차원 배열(1차 nonzero 다중픽셀, 2차 nonzero 다중픽셀)를 생성한다. 깊이가 파악되자마자 점들의 색상은 연속적으로 이러한 어레이로부터 재생성될 수 있다. 이미지 압축방법들을 적용할 수 있도록 하기 위해, 이러한 긴 스트링을 2차원 배열에 일대일 매핑하여야 한다. 이는 다양한 방법에 의해 수행될 수 있다.
색상 스트링이 8*8 블록들로 배열될 때, 아래의 테스트에서 사용된 접근법은 소위 "블록단위 스캔"이다. 결과 이미지는 그림 5에 도시되어 있다.
이러한 이미지의 압축은 표준 JPEG을 포함한 여러 가지 방법에 의해 수행된다. 적어도 이러한 형태의 색상 스캔에 대해 [5]에 기술된 텍스쳐 압축방법을 사용할 때 훨씬 양호한 결과가 얻어짐이 입증되었다. 이러한 방법은 각각의 8*8 블록에 대한 적응 로컬 팔레타이징에 기초한다. 여기에는 8배 압축과 12배 압축(픽셀당 24비트인 'raw' true-color BMP 포맷과 비교할 때)의 두가지 모드가 있다. 이러한 형태의 이미지에서 이러한 방법의 성공은 그것의 팔레트 특성으로부터 정확하게 설명될 수 있다. 팔레트 특성에 의해 전면과 후면으로부터 점들을 혼합함으로써 발생하는 지역적인 색상 변화를 명확하게 고려할 수 있다(이는 "천사"의 경우와는 상당히 다를 수 있다). 최적 스캔에 대한 조사의 목적은 이러한 변화를 가능한 한 최대한도로 줄이는 것이다.
그림 5. 색상 데이터의 재배열. "천사" 모델의 색상 성분(블록단위 깊이 우선 스캔)
3.3. 테스트 결과
원래의 포맷과 압축된 포맷에서 모델들에 대한 예들이 첨부 3에 도시되어 있다. 다른 모델(메뚜기)들은 매우 양호한 반면, 일부 모델들(즉, 천사)의 품질은 압축 후 여전히 만족스럽지 못하다. 그러나, 이러한 문제는 적절한 스캐닝으로 해결될 수 있을 것으로 사료된다. 심지어 12배 압축 모드가 이용될 수도 있으므로, 전체적인 압축은 상당히 증가한다. 마지막으로, 무손실 압축은 형태 압축에서 최적 PPM 기반 결과에 접근하기 위해 개선될 수 있다.
여기에 압축율에 대한 테이블을 제시한다.
4. 결론
본 문서에는 깊이 이미지 기반 표현에 대한 코어 실험 결과(AFX A8.3)가 기술되어 있다. DIBR 스트림이 소개되었으며, DIBR 스트림은 DIBR 노드의 url 필드를 통해 연결된다. 이러한 스트림들은 각각의 아이템을 선택적인 것으로 만들기 위한 플래그와 함께 DIBR 노드에 존재하는 모든 아이템들로 구성된다. 또한, 옥트리 및 포인트텍스쳐 데이터의 압축이 검토되었다.
5. 참고문헌
[1] Cleary J.G., 및 Witten I.H. 공저,"적응형 코딩 및 부분 스트링 매칭을이용한 데이터 압축", 통신분야의 IEEE 회보, vol. 32, no 4, pp 396-402, 1984년 4월.
[2] Rissanen J.J., 및 Langdon G.G. 공저, "범용 모델링 및 코딩", 정보이론분야의 IEEE 회보, vol. 27, no 1, pp 12-23, 1981년 1월.
[3] Schindler M. 저, "바이트 지향형 산술 코딩", 데이터 압축 학회 자료집, 1998년 3월.
[4] Martin G.N.N. 저, "영역 인코딩: 디지털화된 메시지로부터 용장 제거를 위한 알고리즘", 영상 및 데이터 레코딩 학회, 1979년 3월.
[5] Levkovich-Maslyuk L., Kalyuzhny P,. 및 Zhirkov A., 공저, "적응 블록 파티션에 의한 텍스쳐 압축", 멀티미디어분야의 제8회 ACM 국제회의 자료집, pp. 401-403, 2000년 10월.
첨부 1. BVO 압축 알고리즘에 있어서 문맥 직교 불변의 형태적 의미
직교불변의 개념은 다음의 예에 의해 설명될 수 있다. 수직축을 중심으로 시계방향으로 90도의 회전을 가정한다. 노드와 그것의 이전 부모 노드(위 그림)에 대한 임의의 적층 패턴과 회전후의 노드(아래 그림)를 가정한다. 그러면 직교 불변개념에 따라 다음과 같다.
첨부2. 그룹과 변환
1. 32개의 고정된 직교 변환
각각의 변환은 5비트 워드에 의해 특정된다. 비트 조합은 다음과 같은 기본 변환으로 구성된다(즉, k번째 비트가 1이면 대응하는 변환이 수행된다).
● 1번째 비트 - x 및 y축을 교환
● 2번째 비트 - y 및 z축을 교환
● 3번째 비트 - y-z 평면에 대칭
● 4번째 비트 - x-z 평면에 대칭
● 5번째 비트 - x-y 평면에 대칭
2.27 그룹
각각의 그룹에 대해 여기에 그룹의 순서와 그것의 요소의 nonzero 비트수를 제시한다. 이들은 복셀 설정시 NumberOfGroup, QuantityOfGroup, 및 NumberOfFillBits에 기록된다.
3. 심벌 및 변환
각각의 심벌(s)에 대해 그것이 속한 그룹(g)의 인덱스와 그것을 그룹의 '표준' 요소로 취급하는 변환(t)의 값을 제시한다.
심벌의 이진 번호는 다음과 같이 복셀 이진 좌표로 매핑된다. 번호의 i째 비트는 이진 좌표 x=i, y=i(1≪1), 그리고 z=i(1≪2)를 갖는다.
첨부 3. 포인트텍스쳐 압축 화면출력. 최적 PPM 기반 방법에 대한 형태 압축도면들.
천사
위: 원래의 모델(좌)과 재구성된 모델(우)
아래: 원래의 스캔된 이미지(좌)와 압축된 스캔된 이미지(우)
LDI 파일 크기: 468880 바이트
압축된 파일 크기: 65876 바이트(27468 바이트 형태+38408 바이트 색상)
압축율: 7.1
메뚜기
위: 원래의 모델(좌)과 재구성된 모델(우)
아래: 원래의 스캔된 이미지(좌)와 압축된 스캔된 이미지(우)
LDI 파일 크기: 327044 바이트
압축된 파일 크기: 41656 바이트(17072 바이트 형태+24584 바이트 색상)
압축율: 7.8
모톤
위: 원래의 모델(좌)과 재구성된 모델(우)
아래: 원래의 스캔된 이미지(좌)와 압축된 스캔된 이미지(우)
LDI 파일 크기: 433112 바이트
압축된 파일 크기: 57881 바이트(23313 바이트 형태+34568 바이트 색상)
압축율: 7.5
미국특허출원번호 제60/376,563호(출원일: 2002. 5. 1, 발명의 명칭: 깊이 이미지 기반 표현의 압축과 스트리밍 기술 및 그 장치)에 기술된 발명은 다음과 같다.
1. 서론
본 문서에서 깊이 영상 기반 표현(Depth Image-Based Representation : DIBR)(AFX A8.3)에 대한 코어 실험 결과가 보고된다. 이 코어 실험은 깊이 정보를 가진 텍스쳐를 사용하는 깊이 기반 이미지 표현 노드에 대한 것이다. 노드는 파타야에서 개최된 회의에서 수용되었으며, 위원회 초안에 대한 제안에 포함되어 있다. 그러나, 옥트리 노드와 깊이 이미지 노드를 통한 이러한 정보의 스트리밍은 여전히 진행중에 있다. 스트리밍 포맷은 옥트리 이미지 노드에 대한 옥트리 필드 및 포인트텍스쳐 노드에 대한 깊이/색상 필드의 압축을 포함한다.
2. DIBR 포맷 압축
여기에서 링크를 갖지 않는 옥트리 데이터 구조의 효율적인 새로운 무손실 압축 기술을 개시한다. 이에 의해 이미 간결한 표현의 체적을 실험상 약 1.5-2배가량 줄일 수 있다. 또한, 엔트로피 코딩과 특화된 블록 기반 텍스쳐 압축 방법[6]을 결합한 중간 복셀 표현을 사용하는 몇가지 포인트텍스쳐 포맷에 대한 무손실 및 손실 압축 기술을 제안한다.
2.1 옥트리 이미지 압축
옥트리 이미지에서 옥트리 이미지 필드와 옥트리 필드는 개별적으로 압축된다. 개시된 방법은 옥트리 이미지에 대해서는 일정정도의 가시적으로 수용되는 왜곡이 허용되는 반면, 옥트리 필드는 손실없이 압축되어야 한다는 개념에 기초하여 개발되었다. 옥트리 이미지 필드는 MPEG-4 이미지 압축 수단(정적 모델에 대한) 또는 동영상 압축 도구(동적 모델에 대한)에 의해 압축된다.
(a)(b)
(a) 원래 현재 및 부모 노드
(b) 현재 및 부모 노드(y축을 중심으로 90°회전)
도 5. 노드 발생 확률의 직교 불변
2.1.1 옥트리 필드 압축
옥트리 압축은 매우 간략하고 링크를 갖지 않는 이진 트리 표현의 압축을 다루고 있기 때문에 옥트리 이미지 압축의 가장 중요한 부분이다. 그러나, 실험에서 아래에 설명된 방법은 이러한 구조의 체적을 대략 원래의 절반으로 감소시켰다. 동적인 옥트리 이미지 버전에서, 옥트리 필드는 각각의 3차원 프레임에 대해 개별적으로 압축된다.
2.1.1.1 문맥 모델
압축은 데이터의 형태적 특성을 명확하게 사용하는 다양한 적응 산술 코딩(arithmetic coding)('영역 인코더(range encoder)'로 실행되는[3][4])에 의해 수행된다. 옥트리는 바이트 스트림이다. 각각의 바이트는 트리의 노드(즉, 하위 큐브)를 나타내며, 바이트의 비트는 내부적인 분할 후 하위 큐브의 점유를 나타낸다. 비트 패턴은 노드의 적층 패턴으로 불린다. 제안된 압축 알고리즘은 다음과 같은 방식으로 바이트들을 하나씩 처리한다.
● 현재 바이트에 대한 문맥 결정
● 이러한 문맥에서 현재 바이트의 발생 '확률'(정규화된 빈도)을 문맥에 대응하는 '확률 테이블'(PT)로부터 검색
● 영역 인코더로 확률값 제공
● 현재 문맥에서 현재 바이트 발생의 빈도에 1을 더하여 현재 PT 갱신(필요시 작업수행 후 재정규화, 아래의 상세한 설명을 참조할 것)
따라서, 코딩은 문맥 모델에 따른 PT의 생성 및 갱신 과정이다. 문맥 기반 적응 산술 코딩 기술에서('부분 매칭에 의한 예측' [1]-[3]과 같이), 심벌 문맥은 일반적으로 몇 개의 전치 심벌 열이다. 그러나, 우리의 경우 옥트리 구조와 데이터의 형태적 특성을 활용함으로써 압축효율이 증진된다. 개시된 접근법은 옥트리 압축의 문제에 있어서 명백히 새로운 두가지 아이디어에 기초한다.
A. 현재 노드에 대하여, 문맥은 그것의 부모 노드 또는 {부모 노드, 부모 노드에 위치한 현재 노드}로 구성된 쌍 중 하나이며;
B. 특정한 부모 노드에서 특정한 형태적 위치에서 주어진 노드 발생 '확률'은 임의의 직교(회전 또는 대칭과 같은)변환집합에 대하여 불변이라고 가정한다.
x-z 평면상에서 -90°회전하는 변환 R에 대한 가정 'B'는 그림 1에 도시되어 있다. 'B'의 이면에 존재하는 기본적인 개념은 특정한 형태의 부모 노드에서 특정한 형태의 자녀 노드의 발생 확률은 단지 그들의 상대적인 위치에 의존한다는 것이다. 이러한 가정은 확률 테이블의 분석에 의한 실험에서 입증되었다. 이에 의해, 지나치게 많은 확률 테이블을 보유하지 않고 보다 복잡한 문맥을 사용할 수 있다. 차례로, 이에 의해 데이터 크기 및 속도면에서 상당히 양호한 결과를 얻을 수 있다. 복잡한 문맥을 사용할수록 추정된 확률이 보다 명확해지고, 따라서 코드가 보다 간결해짐을 주목하라.
이제 변환집합을 소개한다. 확률 분포는 불변이라 가정한다. 우리의 상황에 적용하기 위해, 이러한 변환들은 닫힌 큐브를 유지해야 한다. 유클리디언 공간에서의 직교 변환들의 집합 G를 고려한다. 직교 변환들은 3개의 기본 변환들(생성자) m1, m2, 및 m3의 임의의 번호 및 순서상의 모든 성분들에 의해 얻어진다.
여기서, m1및 m2는 각각 x=y 및 y=z 평면으로의 투영이며, m3는 x=0 평면으로의 투영이다. 투영에 의해 생성된 그룹이론의 전형적인 결과중의 하나는[27] G가 48개의 개별적인 직교변환들을 포함하며, 어떤 의미에서는 큐브를 자체로 취하는 직교변환의 최대그룹이다(소위, 코세터 그룹(coxeter group[27])). 예를 들면, 그림 5에 도시된 회전자 R은 생성자를 통해 다음과 같이 표현된다.
R=m 3·m 2·m 1·m 2
여기서, '·'는 행렬곱셈이다.
옥트리 노드에 적용된 G로부터의 변환은 상이한 하위큐브의 적층패턴을 갖는 노드를 산출한다. 이에 의해 노드들의 하위큐브의 적층패턴에 따라 노드들을 분류할 수 있다. 그룹이론 언어를 사용할 때[5], G는 옥트리 노드들의 모든 적층패턴에 대한 집합으로 작용한다고 언급한다. 계산에 따르면, 22개의 개별적인 클래스들(또한 그룹이론에서 궤도로 지칭됨)이 존재한다. 그리고, 정의에 의해 G로부터의 변환에 의해 연결된다면 두 개의 노드가 동일한 클래스에 속한다. 하나의 클래스에서 요소번호는 1에서 24까지 다양하며 항상 48의 제수이다.
가정 'B'의 실질적인 중요성은 확률 테이블이 부모노드 그 자체에 종속적이지 않으며, 단지 부모노드가 속하는 클래스에 종속적이라는 것이다. 부모 기반 문맥에 대해 256개의 테이블이 있을 수 있으며, 전자의 경우에 부모-자녀 위치 기반 문맥에 대해 부가적인 256×8=2048개의 테이블이 있을 수 있는 반면에 후자의 경우에 부모-클래스 기반 문맥에 대해 22개의 테이블과 22×8=176개의 테이블이 필요함을 주목하라. 따라서, 상대적으로 적은 수의 확률 테이블을 가지고 동등하게 복잡한 문맥을 사용하는 것이 가능하다. 작성된 PT는 테이블Ⅰ에 기재된 형태를 취할 수 있다.
테이블Ⅰ. 확률 테이블 일람표
2.1.1.2 인코딩 절차
확률 테이블에 대한 통계를 보다 정확하게 하기 위해, 인코딩 절차의 3가지 과정에서 상이한 방식이 수집된다.
● '0-문맥 모델'로 받아들여지는 첫 번째 단계에서 문맥을 전혀 사용하지 않고, 균일한 분포로부터 출발하여 256개의 엔트리를 보유한 하나의 확률 테이블을 유지한다.
● 첫 번째 512개의 노드(실험적으로 발견된 번호)들이 인코딩되자마자, 부모 노드를 문맥으로 사용하는 '1-문맥 모델'로 전환한다. 전환시 0-문맥 PT는 모든 22개의 문맥에 대한 PT에 복사된다.
● 다음 2048개의 노드들(다른 발견값(heuristic value))이 인코딩된 후 '2-문맥 모델'로 전환한다. 이 순간에 부모 패턴의 1-문맥 PT들은 동일한 부모 패턴에서 각각의 위치에 대한 PT들로 복사된다.
이러한 알고리즘의 핵심은 현재 바이트에 해당 문맥과 확률을 결정하는 것이다. 이는 다음과 같이 수행된다. 각각의 클래스에서 '표준요소'라 불리는 하나의 요소를 고정한다. 가능한 256개의 노드들이 속한 클래스와 이러한 특정 노드를 그것의 클래스의 표준요소로 취급하는 G로부터 사전에 계산된 변환을 나타내는 맵 테이블(Class Map Table : CMT)을 저장한다. 따라서, 현재 노드 N의 확률을 결정하기 위해서 다음과 같은 단계를 수행한다.
● 현재 노드의 부모 P를 검색한다.
● P가 속한 CMT로부터 클래스를 도출하고, P를 해당 클래스의 표준노드로 취급하는 변환 T를 도출한다. 클래스 번호는 c라 한다.
● P에 T를 적용하고, 현재 노드 N이 매핑되어 있는 표준노드에서 자녀 위치 p를 검색한다.
● N에 T를 적용하면, 새롭게 얻어진 적층 패턴 TN은 클래스 c의 표준노드에서 위치 p에 존재한다.
● 클래스 위치 조합 (c, p)에 대응하는 확률 테이블의 엔트리 TN으로부터 필요한 확률을 도출한다.
1-문맥 모델에 대해, 상술한 단계들은 자명한 방식으로 변경된다. 언급할 필요없이, 모든 변환들은 사전에 계산되며 룩업 테이블에서 수행된다.
노드 N의 디코딩과정에서 그것의 부모 P는 이미 디코딩되어 있으므로 변환 T는 알려져 있음을 주목하라. 디코딩 과정에서 모든 단계들은 대응되는 인코딩 단계들과 완전히 유사하다.
마지막으로, 확률 갱신 절차를 약술한다. P를 임의의 문맥에 대한 확률 테이블이라 한다. 이러한 문맥에서 노드 N의 발생 확률에 대응하는 P의 엔트리를 P(N)라 명명한다. 우리의 작업에서, P(N)은 정수이며, 각각의 N의 발생 후에 P(N)은 다음과 같이 갱신된다.
P(N)=P(N)+A
여기서, A는 상이한 문맥 모델들에 대해 1에서 4까지 전형적으로 변하는 정수 증분 파라미터이다. S(P)를 P의 모든 엔트리의 합이라 하면, 산술 코더(여기서는 영역 코더)에 인가되는 N의 확률이 P(N)/S(P)로서 계산된다. S(P)가 임계값 216에 도달하면 곧이어 모든 엔트리들이 재정규화된다. P에서 제로값이 발생하지 않도록 하기 위해 다른 엔트리들은 2로 나누는 반면, 1에 해당하는 엔트리들은 변하지 않고 남아있게 된다.
2.2 포인트텍스쳐 압축
포인트텍스쳐 노드는 압축될 두 개의 필드, 즉 깊이 필드와 색상 필드를 포함한다. 포인트텍스쳐 데이터 압축의 주된 난점은 다음과 같은 요건에 기인한다.
● 이러한 형식의 형태 표현에 있어서 왜곡은 상당히 두드러지므로, 형태는 손실없이 압축되어야 한다.
● 색상 정보는 어떠한 자연적인 2차원 구조를 가지지 않으므로, 이미지 압축 기술을 즉각 적용할 수 없다.
본 장에서 포인트텍스쳐 모델 압축에 대한 3가지 방법을 제안한다.
● 표준 노드 표현에 대한 무손실 압축
● 저해상도 노드 표현에 대한 무손실 압축
● 저해상도 노드 표현에 대한 무손실 형태 압축 및 손실 색상 압축
이러한 방법들은 객체 기술의 충실도에 대한 3가지 레벨에 대응한다. 첫 번째 방법은 깊이 정보를 원래의 32비트 정확도까지 저장하여야 한다는 것을 상정한다. 그러나 실질적으로 깊이 정보는 종종 품질의 손상없이 훨씬 적은 비트수에 의해 양자화될 수 있다. 특히, 포인트텍스쳐 모델이 다각형 모델로부터 변환될 때 양자화 해상도는 바람직한 출력 스크린의 해상도뿐만 아니라 원래 모델이 가지고 있는 시각적인 세밀함의 실제 크기에 따라 선택된다. 이 경우, 8-11비트로 요건이 충족될 수 있으며, 깊이값은 초기에 이러한 저해상도 포맷에 저장된다.
두 번째 방법은 이러한 '저해상도' 표현에 대한 무손실 압축을 다룬다. 여기서, 핵심적인 것은 그러한 상대적으로 적은 비트수(표준 32비트와 비교하여)에 대해 모델의 중간 복셀 표현이 사용될 수 있으며, 이러한 중간 복셀 표현은 정보에 대한 실질적인 손실없이 깊이 필드를 압축할 수 있도록 한다는 것이다. 두 가지 경우에서 색상 정보는 색상 데이터가 보조적인 2차원 이미지로 배열된 후 손실없이 압축되어 PNG 포맷에 저장된다.
마지막으로, 세 번째 방법은 형태의 무손실 압축과 색상 데이터의 손실 압축을 결합함으로써 보다 높은 압축이 가능하게 한다. 후자는 [6]에 개시된 특화된 블록 기반 텍스쳐 압축 기술에 의해 수행된다. 이러한 방법들이 다음의 하위 3장에서 상세하게 개시된다.
2.2.1 표준 노드 표현에 대한 무손실 포인트텍스쳐 압축
이는 다음과 같이 동작하는 간단한 무손실 코딩 방법이다.
● 깊이 필드는 옥트리 필드 압축에서 사용된 것과 유사한 적응 영역 코더에 의해 압축된다. 이 포맷에 대해, 확률 테이블이 각각의 1-심벌 문맥에 대해 유지되며 문맥은 단순히 이전 바이트인 버전을 사용한다. 따라서, 256 PT가 사용된다. 깊이 필드는 바이트 스트림으로 간주되며, 형태 구조는 명백하게 사용되지 않는다.
● 색상 필드는 평면 실색상 이미지로 변환된 후 압축된다. 포인트텍스쳐 모델에서 점의 색상은 먼저 임시적인 1차원 배열에 깊이 필드에서의 깊이값처럼 동일한 순서로 기록된다. 모델에서 전체 점의 개수가 L이라 하면,l·l≥L이 가장 작은 정수가 되는l을 계산하며, 변이 1인 사각형 이미지로 이러한 long 'string' 색상값을 감싼다(필요시, 검정 픽셀에 의해 덧씌운다). 다음으로, 이러한 이미지는 MPEG-4 무손실 이미지 압축 도구에 의해 압축된다. 본 접근에서 Portable Network Graphics(PNG) 포맷이 사용된다. '천사' 모델로부터 이러한 방식에 의해 얻어진 이미지가 그림 3(a)에 도시되어 있다.
2.2.2 저해상도 노드 표현에 대한 무손실 포인트텍스쳐 압축
많은 경우에 깊이 정보에 대한 16-비트 해상도는 상당히 양호하다. 실제로, 깊이에 있어서 해상도는 모델이 가시화될 스크린의 해상도에 대응되어야 한다. 상이한 점들에 있어서 모델 깊이의 작은 변화가 픽셀의 크기보다 훨씬 작은 스크린 면에서의 변휘를 도출하는 경우에 깊이에 있어서 보다 낮은 해상도를 사용하는 것이 합당하며, 모델들은 종종 깊이값이 8-11비트인 포맷으로 표현된다. 그러한 모델들은 대개 적당한 공간 격자상에서 깊이와 색상값을 분리시킴으로써 다른 포맷, 즉 다각형 모델로부터 얻어진다.
그러한 감소된 해상도 표현은 그 자체가 32비트 깊이를 가진 표준 모델의 압축 형식으로 간주될 수 있다. 그러나, 그러한 모델들에 대한 중간 복셀 공간을 사용하는 보다 간단한 표현이 존재한다. 실제로, 모델의 점들은 구별 단계에 의해 결정된 공간을 가진 균일한 공간 격자의 노드에 속하는 것으로 간주될 수 있다. 이러한 관찰결과를 이용하여 보다 낮은 해상도 포인트텍스쳐의 깊이와 색상 필드는 다음과 같이 압축된다.
● 이전 방법에서처럼 색상 필드는 무손실 이미지 압축 기술에 의해 압축된다.
● 깊이 필드는 우선 복셀 표현으로 변환되고, 다음으로 이전 하위장에서 기술된 다양한 영역 코더에 의해 압축된다.
중간 복셀 모델은 다음과 같이 생성된다. 모델의 깊이 해상도 s에 따라 width×height×2s의 크기를 가진 분리된 복셀 공간을 상정한다(너비와 높이 파라미터는 포인트텍스쳐 정의에 설명되어 있다). 본 제안에서, 전체로서 가능한 거대한 복셀 공간을 다룰 필요가 없으며, '얇은' 단면만 다루면 된다. 투영면에서 행-열은 (r, c)로 칭하며, 깊이 좌표는 d라 한다. '슬라이스'{c=상수}(즉, 수직면에 의한 모델의 단면들)를 복셀 표현으로 변환한다. 슬라이스를 투영면에 평행한 '열'을 따라 스캐닝하여, (r, c)에 투영된 깊이값 d를 가진 모델의 점이 존재하면 복셀(r, c, d)을 '블랙'으로 설정한다. 이러한 과정이 그림 2에 도시되어 있다.
(a) (b)
(a) 흰색 셀은 0에 대응하는 반면, 어두운 셀(복셀)은 1에 대응한다.
(b) (r, d) 평면에 의한 복셀 공단의 2차원 단면
그림 2. 포인트텍스쳐의 복셀 표현.
슬라이스는 생성되자마자 1-문맥 영역 코더에 의해 압축되며, 다음 슬라이스에 대한 압축이 시작된다. 이러한 방식으로 매우 큰 배열을 다루는 것을 피할 수 있다. 확률 테이블은 각각의 새로운 슬라이스에 대해 초기화되지 않는다. 넓은 영역의 모델에 대해 복셀의 작은 조각만 검정색이며, 이에 의해 다소 높은 압축율이 얻어질 수 있다. 압축의 해제는 기술된 과정을 역과정에 의해 수행된다.
이러한 방법과 옥트리 표현에 의한 압축의 비교가 3장에 주어져 있다. 그러나, 규칙적이지 않은 이미지는 왜곡없이 크게 압축될 수 없으므로 전체적인 모델의 압축율은 색상 필드에 의해 결정된다. 다음 하위장에서 무손실 형태 압축 기술과 손실 색상 압축 기술의 결합에 대해 고려한다.
2.2.3 저해상도 포인트텍스쳐 표현에 대한 무손실 형태 압축 및 손실 색상 압축
이전의 방법과 같이, 이 방법은 깊이 필드를 복셀 표현으로 변환한 후 적응 1-문맥 영역 코더에 의해 압축한다. 색상 필드는 또한 2차원 이미지로 매핑된다. 그러나, 3차원 공간에 있는 가까운 점들을 2차원 이미지 평면에 있는 인접한 점으로 매핑하기 위해 매핑을 구성하고자 한다. 그 후, 특화된 텍스쳐 압축 방법(적응 블록 파티션(Adaptive Block Partition : ABP)[6])이 결과 이미지에 적용된다. 해당 알고리즘의 주된 단계는 다음과 같다.
1. 포인트텍스쳐 모델의 4개의 연속적인 '수직 평면'들의 '슬라이스'를 복셀표현으로 변환한다.
2. 얻어진 width×4×2s복셀 배열을 다음에 의해 스캔한다.
● 투영면에 평행한 '열'을 따라 4×4×4 복셀 하위큐브들의 수직 '평면'을 투영면에 가장 가까운 열로부터 다음으로 가까운 열순으로 횡단한다(즉, 통상적인 2차원 배열 횡단 순서).
● 옥트리 이미지 노드 하위큐브 횡단에서 사용된 것과 유사한 순서로 각각의 4×4×4 내부의 복셀들을 횡단한다.
3. 이러한 횡단순서에서 서로 만나는 모델들의 점의 색상을 보조 1차원 배열에 기록한다.
4. 얻어진 색상 배열을 2차원 이미지에 재배열한다.
5. 연관성 있는 64개의 색상 샘플이 8-by-8 픽셀 블록에 열 방향으로 배열되며, 이어서 다음의 64개의 샘플이 인접한 8-by-8 픽셀 배열에 배열된다.
6. 얻어진 이미지를 ABP 기술에 의해 압축한다.
(a) (b)
(a) 깊이 필드에 저장되어 있는 깊이값 순서로 스캐닝
(b) 1.2.3절에 기술되어 있는 순서로 스캐닝
그림 3. '천사' 포인트텍스쳐 모델의 색상 필드를 2차원 이미지로 재배열하는 두가지 방식
이러한 3차원 배열 스캐닝 및 그 결과의 2차원 이미지로의 매핑방법은 다음을 고려하여 선택된다. 4×4×4 하위큐브 및 8×8 이미지 블록은 동일한 수의 샘플을 포함하고 있음을 주목하라. 몇 개의 연속적으로 스캐닝된 하위큐브들이 8×8 블록을 채우기에 충분한 색상 샘플들을 포함하면, 이러한 블록이 어느정도 균일화되어 압축해제 후의 왜곡은 3차원 모델상에서 거의 인식하지 못할 정도일 가능성이 높다. ABP 알고리즘은 로컬 팔레팅[29]의 도움으로 서로 독립적으로 8×8 블록들을 압축한다. 테스트에서, 최종적인 3차원 모델에서 ABP 압축에 의해 도입된 왜곡은 JPEG보다 상당히 작다. 이러한 알고리즘을 택하는 또 다른 이유는 압축해제 속도가 대단히 빠르다는 것이다(원래 계획된 것에 대해). 압축율은 8과 12의 두 개의 값을 가질 수 있다. 포인트텍스쳐 압축 알고리즘에서 압축율은 8로 고정된다.
불행히도, 이 알고리즘은 모든 경우에 적용될 수 없다. 비록 색상 필드(도 3(b))로부터 이 방식에 의해 얻어진 이미지는 '자연적인' 스캐닝 순서에 대한 것보다 훨씬 더 균일하며, 때로 2차원 8×8 블록들은 3차원 공간에서 거리에 대응되는 색상 샘플들을 포함한다. 이 경우, 손실 ABP 방법은 모델의 거리부분을 형성하는 색상을 혼합할 수 있으며, 이는 압축해제 후 지역적인 인식가능한 왜곡을 낳는다.
그러나, 많은 모델에 대해 이 알고리즘은 양호하게 기능한다. 그림 4에 양호하지 않은 경우('천사' 모델)와 양호한 경우('모톤256' 모델)를 도시하였다. 두 경우에서 모델 체적의 감소는 약 7배이다.
(a) 원래의 '천사' 모델
(b) 압축된 '천사' 모델(날개와 어깨의 '색상 혼합'에 유의)
(c) 원래의 '모톤256' 모델
(d) 압축된 '모톤256' 모델(시각적인 차이는 무시될만한 정도)
도 4. 무손실 형태 압축 및 손실 색상 압축의 예
3. 테스트 결과
이 장에서 두가지 상이한 포맷-옥트리 이미지와 포인트텍스쳐-을 가진 '천사'와 '모톤256'의 두가지 모델을 비교한 결과를 보인다. 각각의 모델에 대한 참조이미지의 치수는 256×256 픽셀이다.
3.1 포인트텍스쳐 압축
테이블Ⅲ 내지 테이블Ⅴ에 상이한 압축 방법의 결과가 주어져 있다. 이 실험에 대한 모델은 8비트의 깊이 필드를 가진 모델들로부터 얻어졌다. 깊이값들은 32비트의 깊이값에서의 비트 분포를 보다 균일화하여 '진정한' 32비트값으로 어느 정도 가까워지도록 221+1의 양자화 단계를 사용하여 (1, 230)영역에 결쳐 확장되었다.
이 방법으로부터 높은 압축율이 기대되지 않는다. 체적 감소는 전형적인 실색상 이미지의 무손실 압축에 대해서는 동일한 순서이다. 데이터의 형태 특성은 이 방법에 의해 포착되지 않으므로, 압축된 깊이 및 색상 필드는 상당히 비교할만한 크기이다.
이제 '진정한' 깊이 해상도를 취할 때 얼마나 많은 동일한 모델이 손실없이 압축될 수 있는가를 살펴본다. 이전의 경우와 달리, 깊이 필드는 약 5-6 배정도 손실없이 압축된다. 이는 형태 데이터 용장을 훨씬 많이 언급하게 하는 중간 복셀 표현에 기인한다. 실제로, 복셀의 작은 부분만 검정색이다. 그러나, 압축되지 않은 모델의 크기는 32비트의 경우보다 작으므로, 색상 필드 압축율은 전체 압축율을 결정하며, 이는 32비트의 경우보다 훨씬 작다(비록 출력 파일들 또한 보다 작지만). 따라서, 적어도 깊이 필드만큼 양호하게 압축할 수 있는 것이 바람직하다.
세 번째 모델은 이를 위해 ABP[6]라 불리는 손실 압축 기술을 사용한다. 이 방법은 훨씬 높은 압축을 준다. 그러나, 모든 손실 압축 기술처럼 이 모델은 일정한 경우에 바람직하지 않은 아티팩트(artifacts)를 낳는다. 이러한 경우가 발생하는 객체의 예는 '천사' 모델이다. 모델의 점을 스캐닝하는 과정에서 공간적으로 거리가 있는 점들은 동일한 2차원 이미지 블록으로 인입된다. 이러한 모델의 떨어져 있는 점들에서 색상은 매우 많이 다를 수 있다. 한편, 재구성된 색상들이 자신의 3차원 위치에 재입력된 후 표준 JPEG에 의해 발생된 왜곡은 절대적으로 수용될 수 없기 때문에 지역적인 팔레타이징에 의해 방대한 대부분의 블록들을 정확하게 압축할 수 있다. 그러나, 동일한 방법에 의해 압축된 '모톤256' 모델의 가시 품질은 상당히 양호하며, 이는 실험에서의 대부분의 모델에 해당한다.
테이블Ⅲ. 32비트 깊이 필드에 대한 무손실 포인트텍스쳐 압축(바이트)
테이블Ⅳ. 저해상도 노드 표현에 대한 무손실 포인트텍스쳐 압축(바이트)
테이블Ⅴ. 저해상도 포인트텍스쳐에 대한 무손실 형태 및 손실 색상 압축(바이트)
3.2 옥트리 이미지 압축
테이블Ⅵ은 두가지 테스트 모델에 대한 압축 및 압축되지 않은 옥트리 성분의 크기를 나타낸다. 이러한 필드의 감소는 약 1.6-1.9배임을 알 수 있다.
그러나, 심지어 8비트의 깊이 필드를 가지고 있는 압축되지 않은 포인트텍스쳐 모델과 비교하더라도 옥트리 이미지는 훨씬 더 간단하다. 테이블Ⅶ에는 압축율이 7.2와 11.2로 나타나있다. 이는 옥트리 이미지로의 변환없이 압축될 수 있는 포인트텍스쳐(각각 6.7과 6.8배)보다 높은 것이다. 그러나, 이미 언급한 바와 같이 옥트리 이미지는 불완전한 색상 정보를 포함할 수 있으며, '천사' 모델의 경우가 이에 해당한다. 이러한 경우에서, 3차원 색상 보간이 사용된다.
정리하면, 위에 제시된 실험은 개선된 압축 도구의 효율을 입증한다고 결론지을 수 있다. 주어진 모델에 대한 최적의 도구 선택은 모델의 형태적 복잡성, 색상 분포 특성, 요구되는 렌더링 속도 및 다른 요인들에 의존한다.
테이블Ⅵ. 옥트리 이미지 모델과 그들의 성분에 대한 4.1.2절에 개시된 방법에 의해 주어진 압축율(Kbytes로 반올림한 파일 크기)
테이블Ⅶ. 동일한 모델에 대한 압축되지 않은 포인트텍스쳐(8비트의 깊이 필드)과 압축된 옥트리 이미지 표현(Kbytes로 반올림한 파일 크기)
4. 참고문헌
[1] J. Cleary 및 I. Witten 공저, "적응형 코딩 및 부분 스트링 매칭을 이용한 데이터 압축", 통신분야의 IEEE 회보, vol. 32, no 4, pp 396-402, 1984년 4월.
[2] J. Rissanen 및 G. Langdon 공저, "범용 모델링 및 코딩", 정보이론 분야의 IEEE 회보, vol. 27, no 1, pp 12-23, 1981년 1월.
[3] M. Schindler 저, "바이트 지향형 산술 코딩", 데이터 압축 학회 자료집, 1998년 3월.
[4] G. Martin 저, "영역 인코딩: 디지털화된 메시지로부터 용장 제거를 위한 알고리즘", 영상 및 데이터 레코딩 학회, 1979년 3월.
[5] H. Coxeter 및 W. Moser 공저, "분산 그룹을 위한 생성자 및 관계", 제3판, 스프링거-베라흐, 1972년.
[6] L. Levkovich-Maslyuk, P. Kalyuzhny, 및 A. Zhirkov 공저, "적응 블록 파티션에 의한 텍스쳐 압축", 멀티미디어분야의 제8회 ACM 국제회의 자료집, pp. 401-403, 2000년 10월.
5. ISO/IEC 14496-1/PDAM4의 연구에 대한 의견
다음의 개정안을 ISO/IEC 14496-1/PDAM4(N4627)의 연구에 제출한 이후, 개정된 ISO/IEC 14496-1/PDAM4의 연구가 ISO/IEC 14496-1/PDAM4에 결합되어야 한다.
6.5.3.1.1절 기술
문제: 직교의 기본값은 가장 일반적으로 사용되는 값이어야 한다.
해결: 직교 필드의 기본값을 다음과 같이 "FALSE"에서 "TRUE"로 교체한다.
제안된 개정안:
fieldSFBoolorthographicTRUE
5.3.1.1절 기술
문제: DIBR 스트리밍은 AFX에 대해 균일한 스트리밍 방법으로 수행되어야 한다.
해결: DepthImageUrl 필드를 깊이 이미지 노드로부터 제거한다.
제안된 개정안:
DepthImage{
fieldSFVec3fposition0 0 1 0
fieldSFRotationorientation0 0 1 0
fieldSFVec2ffieldOfView0.785398 1.785398
fieldSFFloatnearPlane10
fieldSFFloatfarPlane100
fieldSFBoolorthographicTRUE
fieldSFNodediTextureNULL
}
6.5.3.1.2절 사설
문제: '정규화된(normalized)'이라는 용어는 현재 문맥에서 깊이 필드에 적용되는 것으로서 오류이다.
해결: 5번째 문단에서, '정규화된'을 '스케일된'으로 변경한다.
제안된 개정안:
nearPlane과 farPlane 필드는 시점으로부터 가시영역의 인접 평면 및 원접 평명까지의 거리를 특정한다. 텍스쳐 및 깊이 데이터는 인접 평면, 원접 평면 그리고 fieldOfView에 의해 둘러싸여진 영역을 보여준다. 깊이 데이터는 인접 평면으로부터 원접 평면까지의 거리로 스케일된다.
6.5.3.1.2절 기술
문제: DIBR 스트리밍은 AFX에 대해 균일한 스트리밍 방법으로 수행된다.
해결: depthImageUrl 필드에 대한 설명을 삭제한다(7번째 문단 및 그 이하)
제안된 개정안:
삭제-[depthImageUrl 필드는 부가적으로 다음의 내용을 포함할 수 있는 깊이 이미지 스트림의 주소를 특정한다.
● 위치(position)
● 방향(orientation)
● fieldOfView
● 근접 평면(nearPlane)
● 원접 평면(farPlane)
● 직교(orthogonal)
● diTexture(심플텍스쳐 또는 포인트텍스쳐)
● 상위 필드의 플래그 온/오프에 대한 1바이트 헤더]
6.5.3.2.2절 사설
문제: 깊이 필드의 의미가 불완전하게 특정되었다.
해결: 세 번째 문단의 길이 필드 정의를 다음과 같이 변경한다.
제안된 개정안:
깊이 필드는 텍스쳐 필드에 있는 각각의 픽셀에 대한 깊이를 특정한다. 깊이 맵의 크기는 이미지 또는 텍스쳐 필드의 동영상과 동일한 크기이어야 한다. 깊이 필드는 다양한 형태의 텍스쳐 노드(이미지텍스쳐, 동영상텍스쳐 또는 픽셀텍스쳐) 중의 하나이며, 여기서, 그레이 스케일 이미지를 표현하는 노드만이 허용된다. 깊이 필드가 특정되지 않았다면, 텍스쳐 필드에 있는 알파 채널이 깊이 맵으로서 사용될 것이다. 깊이 맵이 깊이 필드 또는 알파 채널을 통해 특정되지 않았다면, 결과는 규정되지 않는다.
깊이 필드에 의해 모델의 3차원 점들에서 시점을 통과하고 인접 평면과 원접 평면에 평행한 평면까지의 실제적인 거리를 계산할 수 있다.
여기서, d는 깊이값이고 dmax는 허용가능한 깊이값의 최대값이다. 모델의 점들에 대해 d>0이라 가정한다. 여기서, 원접 평면에 대응하는 d는 1이며, 인접 평면에 대응하는 d는 dmax이다.
d가 점과 평면 사이의 거리이므로, 이 공식은 원근 및 직교 케이스 모두에 대해 유효하다. dmax는 각각의 픽셀에 대해 사용되는 비트에 의해 표현될 수 있는 가장 큰 d값이다.
(1) 깊이는 깊이 필드를 통해 특정되며, 그리고, 깊이값 d는 그레이 스케일과 동일하다.
(2) 깊이가 텍스쳐 필드를 통해 정의된 이미지에서의 알파 채널을 통해 특정되면, 깊이값 d는 알파 채널값과 동일하다.
깊이값은 또한 모델에 속한 점들을 나타내기 위해 사용된다. d가 영이 아닌 점만 모델에 속한다.
동적 깊이 이미지 기반 모델에 대해, diTexture로서 심플텍스쳐를 가진 깊이 이미지만이 사용된다.
심플텍스쳐 각각은 다음의 방법중의 하나로 동화화될 수 있다.
(1) 깊이 필드는 위의 조건을 만족하는 정지 이미지이며, 텍스쳐 필드는 임의의 동영상텍스쳐이다.
(2) 깊이 필드는 깊이 필드에서 위의 조건을 만족하는 임의의 동영상텍스쳐이며, 텍스쳐 필드는 정지 이미지이다.
(3) 깊이와 텍스쳐 모두 동영상 텍스쳐이며, 깊이 필드는 위의 조건을 만족한다.
(4) 깊이 필드는 사용되지 않으며, 깊이 정보는 텍스쳐 필드를 동화화하는 동영상텍스쳐의 알파 채널로부터 도출된다.
그것은 다양한 형태의 텍스쳐 노드(이미지텍스쳐, 동영상텍스쳐 또는 픽셀텍스쳐)들 중의 하나이어야 한다. 깊이 노드가 NULL이거나 깊이 필드가 특정되지 않으면, 텍스쳐 필드의 알파 채널이 깊이 맵으로 사용될 것이다.
6.5.3.3.2절 사설
문제: 깊이 필드의 의미가 불완전하게 특정되었다.
해결: 깊이 필드 정의(세번째 문단)를 제안된 개정안으로 교체한다.
제안된 개정안:
깊이값들의 형태적 의미와 심플텍스쳐에 대해 채택된 그들의 해석에 있어서의 모든 약속은 여기에 마찬가지로 적용한다.
깊이 필드는 투영면에 존재하는 각각의 점에 대한 복수의 깊이를 특정하고, 횡단순서에 있어서 원접 평면(위를 참조할 것)으로 여겨지며, 좌측하단코너에 있는 점에서 출발하여 우측으로 횡단하면서 위쪽에 있는 선으로 이동하기 전에 수평선에서 종료한다. 각각의 점에 대해, 깊이(픽셀) 번호가 먼저 저장되며, 깊이 번호 값은 다음에 저장된다.
6.5.3.4.1절 H.1 기술
문제: 옥트리 필드에 대해 사용된 필드 타입인 SFString은 모순되는 값을 도출할 수 있다.
해결: 옥트리 필드에 대한 필드 타입을 NFInt32로 변경한다.
제안된 개정안:
6.5.3.4.1절에서,
fieldMFInt32octree""
H.1절에서, 옥트리에 대한 테이블의 옥트리 열을 다음과 같이 변경한다.
6.5.3.4.1절 기술
문제: DIBR 스트리밍은 AFX에 대한 균일한 스트리밍 방법에 의해 수행되어야 한다.
해결: 옥트리 이미지 노드에서 octreeUrl 필드를 삭제한다.
제안된 개정안:
OctreeImage{
fieldSFInt32octreeresolution256
fieldMFInt32octree""
fieldMFNodeoctreeimages[]
}
6.5.3.4.2절 사설
문제: 옥트리 해상도(octreeresolution) 필드 정의(두번째 문단)은 오해를 낳는다.
해결: '허용되는(allowed)'이라는 단어를 추가하여 설명을 개정한다.
제안된 개정안:
옥트리 해상도 필드는 닫힌 큐브의 측면을 따르는 최대로허용되는옥트리잎들의 수를 특정한다. 옥트리 레벨은 다음의 식을 사용하여 옥트리 해상도로부터 결정될 수 있다.
octreelevel = int(log2(octreeresolution-1))+1)
6.5.3.4.2절 기술
문제: DIBR 스트리밍은 AFX에 대해 균일한 스트리밍 방법에 의해 수행되어야 한다.
해결: octreeUrl 필드의 설명(다섯번째 문단과 그 이하)을 삭제한다.
제안된 개정안:
삭제-[octreeUrl 필드는 다음과 같은 내용을 가진 옥트리 이미지 스트림의 주소를 특정한다.
● 플래그에 대한 헤더
● 옥트리 해상도
● 옥트리
● 옥트리 이미지(복수의 깊이 이미지 노드)
■ 인접 평면은 사용되지 않음
■ 원접 평면은 사용되지 않음
■ diTecture → 깊이를 가지고 있지 않은 심플텍스쳐]
6.5.3.4.2절 사설
문제: 옥트리 이미지의 동영상화가 불완전하게 기술되었다.
해결: 6.5.3.4.2절의 말미에 옥트리 이미지 동영상화를 기술하는 문단을 추가한다.
제안된 수정안:
옥트리 이미지의 동영상화는 단지 깊이 필드 대신 옥트리 필드를 사용하는 것에서만 차이가 있을 뿐 위에 기술된 깊이 이미지 기반 동영상에 대한 최초의 세가지 방법과 동일한 접근법에 의해 수행될 수 있다.
H.1절 기술
문제: 포인트텍스쳐 노드에 있어서 깊이 데이터의 영역이 장래의 응용에 대해서는 지나치게 작을 수 있다. 많은 그래픽 도구들은 자신의 z-버퍼에 대해 24비트 또는 36비트 깊이를 허용한다. 그러나, 포인트텍스쳐에 있어서 깊이 필드는 16비트인 [0, 65535]의 영역을 가진다.
해결: H.1절에서, 포인트텍스쳐에 대한 테이블의 깊이 열의 영역을 다음과 같이 변경한다.
미국특허출원번호 제60/395,304호(출원일: 2002. 7. 12, 발명의 명칭: 깊이 이미지 기반 표현에 있어서 옥트리 이미지 데이터의 표현과 압축 기술 및 그 장치)에 기술된 발명은 다음과 같다.
1. 서론
본 문서에서 깊이 영상 기반 표현(Depth Image-Based Representation : DIBR)(AFX A8.3)에 있어서 옥트리 이미지(OctreeImage)의 개선이 기술된다. 옥트리이미지 노드는 파타야에서 개최된 회의에서 수용되었으며, 위원회 초안에 대한 제안에 포함되어 있다. 그러나, 객체 형상의 폐쇄로 인하여 몇몇 특별한 경우에는 렌더링 품질이 만족스럽지 못한 것으로 관찰되었다. 본 문서에는 스트리밍을 위한 옥트리 이미지 노드의 압축방법 뿐만아니라 옥트리 이미지 노드의 개선된 버전-구조화된 이진 체적 옥트리(Textured Binary Volumetric Octree : TBVO)-이 개시된다.
2. 구조화된 이진 체적 옥트리(TBVO)
2.1 TBVO 개관
TBVO의 목표는 이진 체적 옥트리(Binary Volumetic Octree : BVO)의 개선으로서 빠른 시각화가 가능한 보다 유연한 표현/압축 포맷을 고안하는 것이다. 이는 BVO에 기초하여 몇가지 부가적인 정보를 소팅함으로써 달성된다. BVO에 기반한 표현은 옥트리 구조와 참조 이미지 집합으로 구성된다. 반면, TBVO에 기반한 표현은 BVO 옥트리 구조와 참조 이미지 집합, 그리고 카메라 인덱스로 구성된다.
BVO 시각화의 주된 문제는 렌더링시 각각의 복셀(voxel)에 대응되는 카메라 인덱스를 결정하여야 한다는 것이다. 이를 위해, 카메라로의 투영을 고려할 필요가 있을 뿐만 아니라 역광을 채택하는 과정을 고려할 필요가 있다. 최소한 복셀이 보이는 곳으로부터 카메라의 존재를 결정하여야 한다. 결과적으로, 특정한 카메라에 투영되는 모든 복셀을 찾아야 한다. 그러나, 단순 검색 접근법을 사용한다면 이러한 과정은 매우 느리다. 우리는 객체 형상의 대부분에 대해 빠르고 정확하게 이를 수행하는 알고리즘을 개발한 바 있다. 그러나, 어떠한 카메라에 의해서도 보이지 않는 복셀에 대해서는 여전히 몇가지 문제점이 존재한다.
각각의 복셀에 계통적인 색상을 저장하는 것이 가능한 해법이 될 수 있다. 그러나, 이 경우 압축하는 색상정보에 있어서 몇가지 문제점이 있다. 즉, 복셀 색상을 이미지 포맷으로서 분류하고 그것을 압축하면 인접하는 복셀의 색상 상관관계가 파괴되어 압축율이 만족스럽지 못하게 된다.
TBVO에서, 이러한 문제는 모든 복셀에 대해 카메라(이미지) 인덱스를 저장함으로써 해결된다. 카메라 인덱스는 일반적으로 큰 복셀 그룹에 대해 동일하며, 이에 의해 부가적인 정보의 경제적인 저장을 위한 옥트리 구조의 사용이 가능하다. 이러한 모델에 대한 실험에서 평균적으로 단지 15%의 체적 증가가 관찰되었음을 주목할 필요가 있다. 모델링은 다소 복잡하나 보다 유연한 방식의 임의의 형상을 갖는 객체를 표현할 수 있다.
BVO에 대한 TBVO의 장점은 렌더링이 보다 단순하고 훨씬 빠르다는 것이며, 실질적으로 객체 형상에 가해지는 제한이 없다는 것이다.
2.2 TBVO의 예
본 절에서, TBVO 표현의 유효성과 핵심적인 요소를 보여주는 전형적인 예를 보인다. 그림 1(a)에 "천사"에 대한 BVO 모델이 도시되어 있다.
(a) BVO 모델 (b) TBVO 모델
그림 1. BVO와 TBVO 모델의 비교.
통상적인 6 요소 구조의 BVO를 이용하면 몸체와 날개의 약간의 부분이 어떠한 카메라에 의해서도 관찰되지 않으며, 이로 인해 묘사된 이미지는 많은 가시적인 '크랙'을 갖는다. 동일한 모델의 TBVO 표현에서 모두 8개의 카메라가 사용된다(상자의 6면과 2개의 부가적인 카메라). 그림 2(a)에는 카메라 인덱스의 이미지가 도시되어 있다. 다른 색상은 다른 카메라 인덱스를 의미한다. 부가적인 카메라들은 큐브의 내부에 위치하며, 전면과 후면을 수직으로 주시한다. 부가적인 카메라들의 이미지 면들이 그림 2(b) 및 2(c)에 도시되어 있다. 결과적으로, 그림 1(b)에 도시되어 있는 바와 같이, 모델에 대한 연속적이고 깨끗한 렌더링 결과를 얻게 된다.
(a) 카메라 인덱스 이미지 (b) 첫번째 부가 카메라 (c) 두번째 부가 카메라
그림 2. TBVO에서 부가 카메라들
2.3 압축되지 않은 TBVO 스트림 묘사
255개의 카메라로 충분하며, 인덱스를 위해 1바이트까지 할당하는 것을 제안한다. TBVO 스트림은 심벌 스트림이다. 모든 TBVO 심벌은 BVO 심벌 또는 구조화된심벌이다. 구조화된 심벌은 카메라 인덱스를 의미하며, 카메라 인덱스는 특정한 번호 또는 "정의되지 않은(undefined)"코드가 될 수 있다. 이하에서 "정의되지 않은" 코드는 "?"로 표시한다.
TBVO 스트림은 너비 우선 순서로 횡단한다. 우리가 BVO를 가지고 있고 모든 잎 복셀(leaf voxel)이 카메라 번호를 가지고 있는 경우에 TBVO 스트림의 기술방법에 대해 설명한다. 이는 모델링 단계에서 수행되어야 한다. TBVO 스트림은 잎 노드를 포함하고 있는 모든 BVO 노드들(BVO 심벌을 가지고 있지 않은)을 너비 우선 순서로 횡단한다. 다음의 의사코드(pseudo-code)는 스트림을 완벽하게 기술한다.
IF CurNode is not leaf node
{
Write current BVO-symbol corresponding to this node
}
if all the children have identical camera index (texture-symbol)
{
if parent of CurNode has '?' camera index
write camera index equal for sub-nodes
}
else
{
Write '?' symbol
}
그림 3. TBVO 스트링을 기술하는 의사코드
이상의 과정에 따르면, 그림 4(a)에 도시된 TBVO 트리에 대한 심벌 스트림이 그림 4(b)에 도시된 바와 같이 얻어질 수 있다. 그러나, 실질적인 스트림에 있어서 세 개의 값(두개의 카메라와 정의되지 않은 코드)만 표현할 필요가 있으므로 각각의 구조화된 심벌은 단지 2비트만 필요하다.
(c)
(a) TBVO 트리 구조(회색은 "정의되지 않은 구조 심벌, 각각의 색상은 카메라 인덱스를 지칭)
(b) BVO 노드와 카메라 인덱스에서 옥트리 횡단 순서
(c) TBVO 스트림(채워진 큐브와 옥트리 큐브는 각각 구조 바이트와 BVO 바이트를 지칭)
그림 4. TBVO 스트림 기술의 예
2.4 TBVO 압축
옥트리 이미지 노드에서 옥트리 이미지와 옥트리 필드는 개별적으로 압축된다. 개시된 방법들은 옥트리 이미지에 대해서는 일정정도의 가시적으로 받아들일 수 있는 왜곡이 허용되는 데 반해, 옥트리 필드는 손실없이 압축되어야 한다는 개념에 기초하여 개발되었다.
2.4.1 옥트리 이미지 필드 압축
옥트리 이미지 필드는 MPEG-4에서 허용되는 MPEG-4 이미지 압축(정적 모델에 대한) 수단 또는 영상 압축 도구(동적 모델에 대한)에 의해 압축된다. 우리의 접근에서, 우리는 옥트리 이미지에 대해 JPEG 포맷을 사용하였다(각각의 구조를 유지시키면서 3차원 시각화에 필요한 점들만 JPEG 이미지의 '소량화(minimization)'라 명명한 일정한 전처리를 수행한 후; 즉, 3차원 렌더링 단계에서 사용되지 않는 주어진 구조의 일부는 원하는 만큼 대략적으로 압축될 수 있다).
(a) (b)
(a) 원래 현재 및 부모 노드
(b) 현재 및 부모 노드(y축을 중심으로 90°회전)
그림 5. 노드 발생 확률의 직교 불변
2.4.2 옥트리 필드 압축
옥트리 압축은 이미 매우 간략하고 링크없는 이진 트리 표현의 압축을 취급하고 있기 때문에 옥트리 이미지 압축의 가장 중요한 부분이다. 그러나, 실험에서 아래에 설명된 방법은 이러한 구조의 체적을 원래의 대략 절반으로 감소시켰다. 동적인 옥트리 이미지 버전에서, 옥트리 필드는 각각의 3차원 프레임에 대해 개별적으로 압축된다.
2.4.2.1 문맥 모델
압축은 데이터의 형태적 특성을 명확하게 사용하는 다양한 적응 산술 코딩(adaptive arithmetic coding)('영역 인코더(range encoder)'로 실 행되는[3][4])에 의해 수행된다. 옥트리는 바이트 스트림이다. 각각의 바이트는 트리의 노드(즉, 하위 큐브)를 나타내며, 바이트의 비트는 내부적인 분할 후 하위 큐브의 점유를 나타낸다. 비트 패턴은 노드의 적층 패턴으로 불린다. 개시된 압축 알고리즘은 다음과 같은 방식으로 바이트들을 하나씩 처리한다.
● 현재 바이트에 대한 문맥 결정
● 이러한 문맥에서 현재 바이트의 발생 '확률'(정규화된 빈도)을 문맥에 대응하는 '확률 테이블'(PT)로부터 검색
● 영역 인코더로 확률값 제공
● 현재 문맥에서 현재 바이트 발생의 빈도에 1을 더하여 현재 PT 갱신(필요시 작업수행후 재정규화, 아래의 상세한 설명을 참조할 것)
따라서, 코딩은 문맥 모델에 따른 PT의 생성 및 갱신 과정이다. 문맥 기반 적응 산술 코딩 기술에서('부분 매칭에 의한 예측'[1]-[3]과 같이), 심벌 문맥은 일반적으로 몇 개의 전치 심벌 열이다. 그러나, 우리의 경우 옥트리 구조와 데이터의 형태적 특성을 활용함으로써 압축효율이 증진된다. 개시된 접근법은 옥트리 압축의 문제에 있어서 명백히 새로운 두가지 아이디어에 기초한다.
A. 현재 노드에 대하여, 문맥은 그것의 부모 노드 또는 {부모 노드, 부모 노드에 위치한 현재 노드}로 구성된 쌍 중 하나이며;
B. 특정한 부모 노드에서 특정한 형태적 위치에서 주어진 노드 발생 '확률'은 임의의 직교(회전 또는 대칭과 같은)변환집합에 대하여 불변이라고 가정한다.
x-z 평면상에서 -90°회전하는 변환 R에 대한 가정 'B'는 그림 5에 도시되어 있다. 'B'의 이면에 존재하는 기본적인 개념은 특정한 형태의 부모 노드에서 특정한 형태의 자녀 노드의 발생 확률은 단지 그들의 상대적인 위치에 의존한다는 것이다. 이러한 가정은 확률 테이블의 분석에 의한 실험에서 입증되었다. 이에 의해, 지나치게 많은 확률 테이블을 보유하지 않고 보다 복잡한 문맥을 사용할 수 있다. 차례로, 이는 데이터 크기 및 속도면에서 상당히 양호한 결과를 획득하는 데 기여한다. 복잡한 문맥을 사용할수록 추정된 확률이 보다 명확해지고, 따라서 코드가 보다 간결해짐을 주목하라.
이제 변환집합을 소개한다. 확률 분포는 불변이라 가정한다. 우리의 상황에 적용하기 위해, 이러한 변환들은 닫힌 큐브를 유지해야 한다. 유클리디언 공간에서의 직교 변환들의 집합 G를 고려한다. 직교 변환들은 3개의 기본 변환들(생성자)m1, m2, 및 m3의 임의의 번호 및 순서상의 모든 성분들에 의해 얻어진다.
여기서, m1및 m2는 각각 x=y 및 y=z 평면으로의 투영이며, m3는 x=0 평면으로의 투영이다. 투영[27]에 의해 생성된 그룹이론의 전형적인 결과중의 하나는 G가 48개의 개별적인 직교변환들을 포함하며, 어떤 의미에서는 큐브를 자체로 취하는 직교변환의 최대그룹이다(소위, 코세터 그룹(coxeter group[27])). 예를 들면, 그림 5에 도시된 회전자 R은 생성자를 통해 다음과 같이 표현된다.
R=m 3·m 2·m 1·m 2
여기서, '·'는 행렬곱셈이다.
옥트리 노드에 적용된 G로부터의 변환은 상이한 하위큐브의 적층패턴을 갖는 노드를 산출한다. 이에 의해 노드들의 하위큐브의 적층패턴에 따라 노드들을 분류할 수 있다. 그룹이론 언어[5]를 사용할 때, G는 옥트리 노드들의 모든 적층패턴에 대한 집합으로 작용한다고 언급한다. 계산에 따르면, 두 개의 22개의 개별적인 클래스들(또한 그룹이론에서 궤도로 지칭됨)이 존재한다. 그리고, 정의에 의해 G로부터의 변환에 의해 연결된다면 두개의 노드가 동일한 클래스에 속한다. 하나의 클래스에서 요소번호는 1에서 24까지 다양하며 항상 48의 제수이다.
가정 'B'의 실질적인 중요성은 확률 테이블이 부모노드 그 자체에 종속적이지 않으며, 단지 부모노드가 속하는 클래스에 종속적이라는 것이다. 부모 기반 문맥에 대해 256개의 테이블이 있을 수 있으며, 전자의 경우에 부모-자녀 위치 기반 문맥에 대해 부가적인 256×8=2048개의 테이블이 있을 수 있는 반면에, 후자의 경우에 부모-클래스 기반 문맥에 대해 22개의 테이블과 22×8=176개의 테이블이 필요함을 주목하라. 따라서, 상대적으로 적은 수의 확률 테이블을 가지고 동등하게 복잡한 문맥을 사용하는 것이 가능하다. 작성된 PT는 테이블Ⅰ에 기재된 형태를 취할 수 있다.
테이블Ⅰ. 확률 테이블 일람표
2.4.2.2 인코딩 절차
확률 테이블에 대한 통계를 보다 정확하게 하기 위해, 인코딩 절차의 3가지 과정에서 상이한 방식이 수집된다.
● '0-문맥 모델'로 여기는 첫 번째 단계에서 문맥을 전혀 사용하지 않고, 균일한 분포로부터 출발하여 256개의 엔트리를 보유한 하나의 확률 테이블을 유지한다.
● 첫 번째 512개의 노드(실험적으로 발견된 번호)들이 인코딩되자마자, 부모 노드를 문맥으로 사용하는 '1-문맥 모델'로 전환한다. 전환시 0-문맥 PT는 모든 22개의 문맥에 대한 PT에 복사된다.
● 다음 2048개의 노드들(다른 발견값(heuristic value))이 인코딩된 후 '2-문맥 모델'로 전환한다. 이 순간에 부모 패턴의 1-문맥 PT들은 동일한 부모 패턴에서 각각의 위치에 대한 PT들로 복사된다.
이러한 알고리즘의 핵심은 현재 바이트에 해당 문맥과 확률을 결정하는 것이다. 이는 다음과 같이 수행된다. 각각의 클래스에서 '표준요소'라 불리는 하나의 요소를 고정한다. 가능한 256개의 노드들이 속한 클래스와 이러한 특정 노드를 그것의 클래스의 표준요소로 취급하는 G로부터 사전에 계산된 변환을 나타내는 맵 테이블(Class Map Table : CMT)을 저장한다. 따라서, 현재 노드 N의 확률을 결정하기 위해서 다음과 같은 단계를 수행한다.
● 현재 노드의 부모 P를 검색한다.
● P가 속한 CMT로부터 클래스를 도출하고, P를 해당 클래스의 표준노드로 취급하는 변환 T를 도출한다. 클래스 번호는 c라 한다.
● P에 T를 적용하고, 현재 노드 N이 매핑되어 있는 표준노드에서 자녀 위치 p를 검색한다.
● N에 T를 적용하면, 새롭게 얻어진 적층 패턴 TN은 클래스 c의 표준노드에서 위치 p에 존재한다.
● 클래스 위치 조합 (c, p)에 대응하는 확률 테이블의 엔트리 TN으로부터 필요한 확률을 도출한다.
1-문맥 모델에 대해, 상술한 단계들은 자명한 방식으로 변경된다. 언급할 필요없이, 모든 변환들은 사전에 계산되며 룩업 테이블에서 수행된다.
노드 N의 디코딩과정에서 그것의 부모 P는 이미 디코딩되어 있으므로 변환 T는 알려져 있음을 주목하라. 디코딩 과정에서 모든 단계들은 대응되는 인코딩 단계들과 완전히 유사하다.
마지막으로, 확률 갱신 절차를 약술한다. P를 임의의 문맥에 대한 확률 테이블이라 한다. 이러한 문맥에서 노드 N의 발생 확률에 대응하는 P의 엔트리를 P(N)라 명명한다. 우리의 작업에서, P(N)은 정수이며, 각각의 N의 발생 후에 P(N)은 다음과 같이 갱신된다.
P(N)=P(N)+A
여기서, A는 상이한 문맥 모델들에 대해 1에서 4가지 전형적으로 변하는 정수 증분 파라미터이다. S(P)를 P의 모든 엔트리의 합이라 하면, 산술 코더(여기서는 영역 코더)에 인가되는 N의 확률이 P(N)/S(P)로서 계산된다. S(P)가 임계값 216에 도달하면 곧이어 모든 엔트리들이 재정규화된다. P에서 제로값이 발생하지 않도록 하기 위해 다른 엔트리들은 2로 나누는 반면, 1에 해당하는 엔트리들은 변하지 않고 남아있게 된다.
2.4.2.3 '카메라 노드'의 인코딩
각각의 복셀에 대한 구조(카메라) 번호들을 결정하는 심벌 스트림은 자체에 고유한 확률 테이블을 사용하여 압축된다. 앞서 사용한 용어상으로는 그것은 단일 문맥을 보유한다. PT 엔트리들은 옥트리 노드들에 대한 엔트리보다 큰 증분을 가지고 갱신된다. 나머지는 노드 심벌 코딩과 차이가 없다.
2.5 TBVO 압축 및 렌더링의 결과
아래의 그림에 TBVO 압축의 결과가 도시되어 있다. 압축된 크기는 압축된 BVO와 비교된다. 세 번째 열에서 가로안의 숫자는 압축된 형태적인 체적이다. 반면에 첫 번째 숫자는 TBVO 기반의 압축 모델(즉, 구조가 고려된)의 총 체적이다. 가시적인 왜곡의 크기면에서, LDI→(T)BVO→LDI 변환 후 색상차이를 측정하기 위해 PSNR이 계산되었다. 압축된 모델 크기는 모든 구조들(최소화된 JPEG으로 저장된, 2.4.1 참조)의 크기와 압축된 형태 크기의 합이다. TBVO의 경우에 압축된 형태는 또한 카메라 정보를 포함한다. TBVO의 PSNR은 BVO와 비교할 때 상당히 개선된다.
TBVO는 BVO보다 빠른 렌더링을 얻게 된다. "천사" 모델에 대해, BVO의 프레임 레이트는 7.5 fps인 반면, TBVO-12의 프레임 레이트는 10.8 fps이다. "모톤" 모델에 대해, BVO의 프레임 레이트는 2.1 fps(셀러론에서 850 MHz)인 반면, TBVO-12의 프레임 레이트는 3.0 fps이다. 다른 한편, 랜더링은 동적인 TBVO에서 훨씬 더 빠르게 수행됨이 관찰되었다. "드래곤" 모델에 대해, BVO의 프레임 레이트는 29 fps(펜티엄 Ⅳ에서 1.8 GHz)인 반면, TBVO-12의 프레임 레이트는 73 fps이다.
그림 6. 천사 모델의 압축에 대한 BVO와 상이한 TBVO 방법의 비교
TBVO 포맷은 상당한 유연성을 제공한다. 예를 들면, 그림 6에는 12개의 카메라를 사용하는 두가지 방식(TBVO-12 및 TBVO-(6+6))이 도시되어 있다. TBVO-12는 6개의 BVO 카메라(큐브 면들)와 큐브의 중심에서 면과 평행하게 촬영한 6개의 이미지를 사용한다. (6+6) 텍스쳐은 6개의 BVO 카메라를 사용하며, 그리고 나서, 이들 카메라에 의해 조망가능한 모들 복셀들과 동일한 6개의 카메라에 의해 조망가능하게 되는 "사진' 부분들을 제거한다('peel'). 이러한 이미지들의 예가 그림 7에 도시되어 있다.
그림 7. 제거된 천사(좌) 및 모톤(우) 모델의 이미지
BVO와 TBVO-6 천사 모델간의 질(본질적 및 PSNR 값)에 있어서 커다란 차이를 주목하라. 비록 동일한 카메라 위치가 사용되었지만, TBVO는 심지어는 모든 카메라로부터 관찰되지 않는 복셀을 포함한 모든 복셀에 카메라 번호를 할당할 수 있다. 이들 번호는 원 색상과 가장 일치하도록 선택된다(즉, 직접적인 가시성과 관계없이 각각의 지점에 대해 모든 '카메라' 이미지들에서 최상의 색상 일치가 선택된다. 천사의 경우 이는 훌륭한 결과를 준다).
또한, 6개와 12개의 카메라를 사용한 경우간의 매우 적절한 '형태'(즉 BVO+카메라) 체적 차이를 주목하라. 실제로, 부가적인 카메라는 통상적으로 적은 영역을 담당하므로, 그들의 식별은 드물며 그들의 구조는 드물다(그리고 잘 압축된다).이 모두는 '천사'뿐만 아니라 아래의 모든 모델들에도 적용된다.
그림 8. 모톤 모델의 압축에 대한 BVO와 상이한 TBVO 방법의 비교
그림 9. 야자수512 모델의 압축에 대한 BVO와 상이한 TBVO 방법의 비교
그림 10. 로봇512 모델의 압축에 대한 BVO와 상이한 TBVO 방법의 비교
2.6 노드 정의
OctreeImage {
fieldSFlnt32octreeresolution256
fieldMFlnt32octree[]#%q=13,8
fieldMFlnt32cameraID[]#%q=13,8
fieldMFNodeoctreeimages[]
}
옥트리 이미지(OctreeImage) 노드는 대응하는 카메라 인덱스 배열 및 옥트리 이미지 집합이 존재하는 옥트리 구조인 TBVO 구조를 정의한다.
옥트리 이미지(Octreeimages) 필드는 diTexture 필드에 대해 심플텍스쳐(SimpleTexture)를 가진 깊이 이미지(DepthImage) 노드 집합을 특정한다. 이들 심플텍스쳐(SimpleTexture) 노드에서 깊이(depth) 필드는 사용되지 않는다. 직교(orthographic) 필드는 깊이 이미지(DepthImage) 노드들에 대해 참(TRUE)이어야 한다. 심플텍스쳐(SimpleTexture) 각각에 대해 텍스쳐 필드는 객체 또는 위치 및 방향에 대응하는 깊이 이미지(DepthImage) 필드에서 특정된 직교 카메라에 의해 얻어지는 것과 같은 객체 시점(예를 들면, 카메라 면에 의한 객체의 단면)의 부분의 색상 정보를 저장한다. 각각의 카메라에 대응하는 객체의 부분은 모델생성단계에서 할당된다. 위치(position), 방향(orientation), 및 텍스쳐(texture) 값을 이용한 객체분할은 카메라의 숫자(또는, 동일하게 포함되는 옥트리 이미지들의 숫자)를 줄이고 동시에 임의의 선택된 위치에서 잠정적으로 포착가능한 모든 객체 부분을 포함하기 위해 수행된다. 방향(orientation) 필드는 카메라의 시각 벡터는 단지 하나의 영이 아닌 성분(즉, 닫힌 큐브 면들 중의 하나에 수직인 성분)을 가지며 심플텍스쳐(SimpleTexture) 이미지의 측면은 닫힌 큐브의 대응하는 면과 평행하여야 한다는 조건을 만족하여야 한다.
옥트리(octree) 필드는 객체 형태를 완전하게 기술된다. 형태는 주어진 객체를 구성하는 복셀집합으로 표현된다. 옥트리는 트리형의 데이터 구조이며, 해당 데이터 구조에서 각각의 노드는 바이트에 의해 표현된다. 이러한 바이트의 i번째 비트의 1은 내부 노드의 i번째 자녀에 대해 자녀 노드들이 존재한다는 것을 의미한다. 반면, 0은 자녀 노드들이 존재하지 않음을 의미한다. 옥트리 내부 노드들의 순서는 옥트리의 너비 우선 횡단 순서이어야 한다. 내부 노드의 8개의 자녀 순서가 도 4(b)에 도시되어 있다. 전체 옥트리의 닫힌 큐브의 크기는 1×1×1이며, 옥트리 큐브의 중심은 특정한 좌표계의 원점(0,0,0)이다.
카메라ID(cameraID) 필드는 복셀에 할당된 카메라 인덱스의 배열을 포함한다. 렌더링 단계에서 옥트리 잎에 기인한 색상은 특정한 인덱스를 가진 옥트리 이미지의 하나에 잎을 수직으로 투영함으로써 결정된다. 인덱스들은 옥트리 방식으로 저장된다. 만약, 특정한 카메라가 특정한 노드에 포함된 모든 잎들에 대해 사용될 수 있다면, 카메라 인덱스를 포함하는 노드는 스트림으로 입력된다. 그렇지 않은 경우, 고정된 '추가적인 하위분할' 코드를 포함하는 노드가 입력되며, 이는 카메라 인덱스가 현재 노드(동일한 반복적인 형태에서)의 자녀 하위노드들에 대해 개별적으로 특정될 것임을 의미한다. 만약 카메라ID(cameraID)가 비어있다면 BVO의 경우와 마찬가지로 카메라 인덱스들은 렌더링 단계가 진행되는 동안에 결정된다.
옥트리 해상도(octreeresolution) 필드는 닫힌 큐브의 측면을 따르는 최대의 허용가능한 옥트리 잎의 숫자를 특정한다. 옥트리의 레벨은 다음의 식을 이용하여 옥트리 해상도로부터 결정될 수 있다.
octreelevel=[log2(octreeresolution)]
2.7 비트스트림 정의
2.7.1 옥트리 압축
2.7.1.1 개관
깊이 기반 이미지 표현에 있어서 옥트리 이미지 노드는 옥트리 구조(structure) 및 그것의 투영된 텍스쳐(texture)을 정의한다. 옥트리 이미지 배열에 저장되어 있는 각각의 텍스쳐는 심플텍스쳐를 가진 깊이 이미지 노드를 통해 정의된다. 옥트리 이미지 노드의 다른 필드들은 옥트리 압축에 의해 압축될 수 있다.
2.7.1.2 옥트리
2.7.1.2.1 문법
class Octree ()
{
OctreeHeader ();
aligned bit (32)* next;
while (next == 0x000001C8)
{
aligned bit (32) octree_frame_start_code;
OctreeFrame (octreeLevel);
aligned bit (32)* next;
}
}
2.7.1.2.2 의미
옥트리의 압축된 스트림은 octree_frame_start_code 다음에 오는 옥트리 헤더 및 하나 이상의 옥트리 프레임을 포함한다. octree_frame_start_code의 값은 항상 0x000001C8이다. 이 값은 스트림의 룩-어헤드(look-ahead) 파싱에 의해 검출된다.
2.7.1.3 옥트리 헤더
2.7.1.3.1 문법
class OctreeHeader()
{
unsigned int (5) octreeResolutionBits;
unsigned int (octreeResolutionBits) octreeResolution;
int octreeLevel = ceil(log(octreeResolution)/log(2));
unsigned int (3) textureNumBits;
unsigned int (textureNumBits) numOfTexture;
}
2.7.1.3.2 의미
이러한 클래스는 옥트리 압축에 대해 헤더 정보를 독출한다.
octreeResolutionBits에 의해 길이가 표현되는 octreeResolution은 옥트리 이미지 노드의 옥트리 해상도 필드의 값을 포함한다.
numOfTextures는 textureNumBits의 길이이며, 옥트리 이미지 노드에서 사용되는 텍스쳐(또는 카메라)의 번호를 기술한다. 이 값은 옥트리의 각 노드에 대한 카메라 ID의 연산 코딩에 사용된다. textureNumBits의 값이 0이면, 구조 심벌들은 루트 노드의 curTexure를 255로 설정하는 것에 의해 코딩되지 않는다.
2.7.1.4 옥트리 프레임
2.7.1.4 문법
class OctreeFrame (int octreeLevel)
{
for (int curLeverl=0; curLevel<octreeLevel; curLevel++)
{
for (int nodeIndex=0; nodeIndex<nNodesInCruLevel; nodeIndex++)
{
int nodeSym=ArithmeticDecodeSymbol(contextID);
if (curTexture==0)
{
curTexture=ArithmeticDecodeSymbol(textureContextID);
}
}
}
for (int nodeIndex=0; nodeIndex<nNodesInCurLevel; nodeIndex++)
if (curTexture==0)
curTexture=ArithmeticDecodeSymbol(textureContextID);
}
2.7.1.4.2 의미
이 클래스는 너비 우선 횡단 순서로 하나의 옥트리 프레임을 독출한다. 레벨 0의 첫 번째 노드로부터 출발하여 현재 레벨의 모든 노드를 독출한 후, 다음 레벨의 노드수는 각각의 노드 심벌에서 모든 1을 카운트함으로써 파악된다. 다음 레벨에서, 노드들의 수(nNodesInCurLevel)는 스트림으로부터 독출될 것이다.
각각의 노드를 디코딩할 때, 2.7.1.6절에 개시되어 있는 바와 같이 적절한 contextIC가 부여된다.
만약, 현재 노드(curTexture)에 대한 텍스쳐(또는 카메라) ID가 부모 노드에 의해 정의되어 있지 않다면, 텍스쳐 ID 역시 textureContextID에 의해 정의되어 있는 texture ID에 대한 문맥을 사용하여 스트림으로부터 독출한다. 만약, 영이 아닌 값이 얻어지면(texture ID가 정의되어 있으면), 이 값은 또한 이어지는 레벨에서 모든 자녀 노드들에 적용될 것이다. 모든 노드를 디코딩한 후, texture ID는 여전히 textureID 값이 할당되지 않은 옥트리의 잎 노드들에 할당된다.
2.7.1.5 적응 산술 디코딩
이 장에서는 contextID에 따라 C++ 형의 문법 표현을 사용하여 옥트리 압축에 사용된 적응 산술 코더를 기술한다. aa_decode()는 cumul_freq[]함수이다. PCT는 2.7.1.6절에 기술되어 있는 바와 같은 확률 문맥 테이블의 배열이다.
int ArithmeticDecodeSymbol (int contextID)
{
unsigned int MAXCUM-1<<13;
unsigned int TextureMAXCUM=256;
int *p, allsym, maxcum;
if (contextID != textureContextID)
{
p=PCT[contextID];
allsym=256;
maxcum=MAXCUM;
}
else
{
p=texturePCT;
allsym=numOfTextures;
maxcum=TextureMAXCUM;
}
int cumnl_freq[allsym];
int cum=0;
for (int i=allsym-1; i>=0; I--)
{
cum+=p[i];
cumul_freq[i]=cum;
}
if (cum>maxcum)
{
cum=0;
for (int i=allsym-1; i>=0; I--)
{
PCT[contextID][i]=(PCT[contextID][i]+1)/2;
cum+=PCT[contextID][i];
cumul_freq[i]=cum;
}
}
return aa_decode(cumul_freq);
}
2.7.1.6 디코딩 절차
디코딩 절차의 전체적인 구조는 2.7.1.5절에 개시되어 있다(또한 상술한 인코딩 절차를 참고). 이는 산술적으로 인코딩된(압축된) TBVO 모델을 구성하는 비트 스트림으로부터 TBVO 노드를 획득하는 방법을 보여준다.
디코딩 절차의 각 단계에서, 문맥 번호(즉, 사용하는 확률 인덱스)와 확률 테이블 자체를 갱신하여야 한다. 모든 확률 테이블의 집합(정수 배열)을 확률 모델(Probabilistic model)로 칭한다. i번째 확률 테이블의 j번째 성분(성분의 합으로 나누어진)은 i번째 문맥에서 j번째 심벌의 발생 확률을 추정한다.
확률 테이블의 갱신절차는 다음과 같다. 처음에 확률 테이블은 모든 엔트리가 1이 되도록 초기화된다. 심벌을 디코딩하기 전에 문맥 번호(ContextID)가 선택되어야 한다. ContextID는 아래의 2.7.1.6.1절 및 2.7.1.6.2절에서 지적된 바와 같이 이전에 디코딩된 데이터로부터 결정된다. ContextID가 얻어지면 이진 산술 디코더를 사용하여 심벌을 디코딩한다. 다음으로, 디코딩된 심벌 주파수에 적응단계를 부가하여 확률 테이블을 갱신한다. 전체(적산된) 테이블 성분의 합이 적산 임계치보다 커지면 정규화가 수행된다(2.7.1.5.1 참조).
2.7.1.6.1 텍스쳐 심벌의 문맥 모델링
텍스쳐 심벌은 하나의 문맥만으로 모델링된다. 이는 단지 하나의 확률 테이블이 사용됨을 의미한다. 이 테이블의 크기는 numOfTextures의 수에 하나를 더한 것과 같다. 처음에 이 테이블은 모두 1로 초기화된다. 허용가능한 엔트리 값의 최대값은 256으로 설정된다. 적응단계는 32로 설정된다. 이러한 파라미터값의 조합에 의해 텍스쳐 번호가 상당히 가변적인 스트림에 적용이 가능하다.
2.7.1.6.2 노드 심벌의 문맥 모델링
256개의 상이한 노드 심벌이 존재하며, 각각의 심벌은 2×2×2 이진 복셀 배열을 표현한다. 대응하는 심벌을 서로 변환시키는 3차원 직교변환이 이러한 배열에 적용된다.
좌표축에 대해 90*n°(n=0, 1, 2, 3)만큼 회전 및 대칭시키는 48개의 고정된 직교변환 집합을 상정하면, 이러한 행렬들은 다음과 같이 숫자순으로 주어진다.
직교변환[48]=
{
}
동일한 클래스에 속하면 이러한 변환에 의해 2개의 심벌이 연결되도록 클래스라 불리는 22개의 심벌 집합이 존재한다. 코딩 방법은 다음과 같은 PCT를 생성한다. 심벌의 ContextID는 부모가 속하는 클래스의 번호 또는 조합된 번호(부모 클래스, 부모 노드에서 현재 노드 위치)와 동일하다. 이에 의해 의미있는 통계값을 얻는데 필요한 시간을 줄이면서 문맥의 수를 상당히 감소시킬 수 있다.
각각의 클래스에 대해, 하나의 기본 심벌이 결정되며(테이블 Ⅱ 참조), 각각의 심벌에 대해 클래스의 기본 심벌로 취급하는 직교변환이 사전에 계산된다(실제로 인코딩/디코딩 절차에서 룩업 테이블이 사용된다). 심벌에 대해 ContextID가 결정된 후, 임의의 심벌을 그 심벌의 부모를 기본 성분으로 취급하도록 하는 역변환(즉, 역행렬)이 적용된다. 테이블 Ⅲ에는 각각의 심벌에 대한 문맥과 대응되는 직접 변환이 주어져 있다.
테이블Ⅱ. 각각의 클래스에 대한 기본 심벌의 예
문맥 모델은 이미 디코딩된 심벌들의 번호 N에 의존한다.
N<512에 대해 단지 하나의 문맥만 존재한다. 확률 테이블은 모두 1로 초기화된다. 확률 테이블에서 심벌의 수는 256이다. 적응 단계에서는 2이다. 최대 축적 빈도는 8192이다.
512≤N<2560(=2048+512)에 대해 1-문맥(문맥 번호가 하나의 파라미터라는 의미에서 클래스의 번호) 모델이 사용된다. 이 모델은 22개의 PCT를 사용한다. ContextID는 디코딩된 노드의 부모가 속하는 클래스의 번호이다. 부모다 자녀보다 먼저 디코딩되므로, 이 번호는 언제나 룩업테이블(테이블Ⅲ 참조)로부터 결정될 수 있다. 22개의 PCT 각각은 이전 단계로부터 얻어진 PCT에 의해 초기화된다. 각 확률 테이블에서 심벌의 수는 256이다. 적응단계에서는 3이다. 최대 축적 주파수는 또한 8192이다. 심벌은 디코딩된 후 위에서 정의된 직교역변환을 이용하여 변환된다. 직교변환 번호는 현재 노드 심벌의 부로와 동일한 노드 심벌 ID를 가진 테이블Ⅲ에서찾을 수 있다.
2560개의 심벌이 디코딩되면, 디코더는 2-문맥(아래에 설명된 바와 같이 문맥번호가 두 개의 파라미터로 구성된다는 의미에서)으로 전환한다. 이 모델은 176개(=22*8, 즉, 8개의 위치에 의한 22개의 클래스)의 PCT를 사용한다. 여기에서 ContextID는 부모 클래스와 부모 노드에서 현재 노드의 위치에 의존한다. 이 모델에 대한 초기 확률 테이블은 그것의 문맥에만 의존한다. 모든 8위치 PCT는 이전 단계에서 주어진 클래스에 대해 얻어진 PCT의 클론이다. 각각의 확률 테이블에서 심벌의 수는 256이다. 적응단계에서는 4이다. 최대 축적 빈도는 또한 8192이다.
심벌은 디코딩된 후 이전 모델과 같이 직교역변환(테이블Ⅲ에 주어진 하나)을 이용하여 변환된다.
각각의 클래스에 대한 기본 성분의 형태는 테이블Ⅲ을 사용하여 용이하게 얻을 수 있다. 기본 성분들은 정확히 변환ID가 0(번호 0은 동일한 변환에 할당된다)에 대한 심벌이다.
테이블Ⅲ. 노드 심벌, 심벌의 클래스 번호 및 심벌을 이러한 클래스의 고정된 기본 성분으로 하는 직교변환에 대한 결합 룩업 테이블
3. 참고문헌
[1] J. Cleary, 및 I. Witten 공저, "적응형 코딩 및 부분 스트링 매칭을 이용한 데이터 압축", 통신분야의 IEEE 회보, vol. 32, no 4, pp 396-402, 1984년 4월.
[2] J. Rissanen, 및 G. Langdon 공저, "범용 모델링 및 코딩", 정보이론분야의 IEEE 회보, vol. 27, no 1, pp 12-23, 1981년 1월.
[3] M. Schindler 저, "바이트 지향형 산술 코딩", 데이터 압축 학회 자료집, 1998년 3월.
[4] G. Martin 저, "영역 인코딩: 디지털화된 메시지로부터 용장 제거를 위한 알고리즘", 영상 및 데이터 레코딩 학회, 1979년 3월.
[5] H. Coxeter, 및 W. Moser 공저, "분산 그룹을 위한 생성자 및 관계", 제3판, 스프링거-베라흐, 1972년.
이하에서, 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치 및 방법에서 사용되는 MPEG-4 노드 규정 및 옥트리 이미지 포맷의 압축방법에 대해 보다 상세하게 설명한다.
본 발명은 대부분 이미지와 깊이맵에 상당부분 기초한 효과적이고 효율적인 표현을 제공하며, 상술한 이점을 전적으로 이용하는 일군의 데이터 구조-깊이 이미지 기반 표현(DIBR)-를 개시한다. 또한, 주요한 DIBR 포맷들-심플텍스쳐, 포인트텍스쳐, 및 옥트리 이미지-을 간략하게 설명한다.
도 1은 색상 이미지와 깊이맵의 일 예를 도시한 도면이며, 도 2는 계층적인 깊이 이미지(Layered depth image : LDI)의 일 예를 도시한 도면((a) 객체의 투영, (b) 계층적인 픽셀)이다.
심플텍스쳐는 이미지, 대응하는 깊이맵, 그리고 카메라 설명(카메라의 위치, 방향 및 형태, 직교 또는 원근)으로 구성된 데이터 구조이다. 하나의 심플텍스쳐의 표현 용량은 빌딩의 정면과 같은 객체로 제한된다. 깊이맵을 가진 정면 이미지에 의해 실질적인 각도영역에서 정면시점을 재구성할 수 있다. 그러나, 참조 이미지들이 빌딩면의 잠재적으로 보일 수 있는 모든 부분들을 포함하는 경우에 적절한 위치에 배치된 카메라들에 의해 생성된 심플텍스쳐의 집합으로 전체 빌딩을 표현할 수 있다. 물론, 이는 나무, 인체, 자동차 등에도 적용된다. 게다가, 심플텍스쳐의 집합은 3차원 동영상 데이터를 취급하기 위한 상당히 자연적인 수단을 제공한다. 이 경우 참조 이미지들은 참조 비디오 스트림들과 함께 재배치된다. 각각의 3차원 프레임에 대한 깊이맵은 이러한 비디오 스트림들의 알파 채널값에 의하거나 분리된 그레이 스케일 비디오 스트림에 의해 표현될 수 있다. 이러한 형태의 표현에서, 이미지들은 손실 압축 포맷처럼, 가령 JPEG, 저장될 수 있다. 이는 색상 정보의 양을 상당히 감소시키며, 특히 동영상의 경우에 그러하다. 그러나, 형태 정보(깊이맵)는 손실없이 압축되어야 하며, 이는 저장용량의 전체적인 감소에 영향을 미친다.
복잡한 형태의 객체의 경우, 때로는 합당한 수의 참조 이미지들로 가시적인 면 전체를 포함하는 것이 용이하지 않다. 그러한 경우에 바람직한 표현은 포인트텍스쳐이다. 이 포맷 또한 참조 이미지와 깊이맵을 보유하지만, 이 경우 둘은 다중값이 부여된다. 카메라에 의해 제공된 각각의 시선(직교 또는 원근), 모든 선의 교차점에 대해 색상 및 거리가 객체와 함께 저장된다. 교차점의 수는 선마다 다르다. 몇개의 포인트텍스쳐로 이루어진 집합은 복잡한 객체의 경우에도 매우 상세한 표현을 제공한다. 그러나, 이 포맷은 심플텍스쳐의 2차원 규칙성의 대부분을 결여하고 있어 자연적인 이미지 기반 압축 형태를 가지지 못한다. 동일한 이유로 이 포맷은 단지 정지 객체에 대해 사용된다.
옥트리 이미지 포맷은 '대부분의 2차원' 심플텍스쳐와 '대부분의 3차원' 포인트텍스쳐의 중간위치를 점유한다. 옥트리 이미지는 색상 성분은 이미지의 집합으로 표현되는 한편, 객체의 형태를 옥트리 구조의 체적 표현(닫힌 큐브의 일반적인 이진 분할의 계층적으로 구성된 복셀)에 저장한다. 이 포맷은 또한 각각의 잎 복셀(leaf voxel)에 대해 색상을 포함하는 참조 이미지의 인덱스를 저장하는 부가적인 옥트리 형태의 데이터 구조를 포함한다. 옥트리 이미지의 렌더링 단계에서 잎 복셀의 색상은 그것을 대응하는 참조 이미지에 수직으로 투영함으로써 결정된다. 옥트리 이미지의 형태부분에 대해 효율적인 압축방법이 개발되었다. 다양한 적응문맥 기반 산술 코딩이 존재한다. 여기서, 문맥들은 데이터의 형태적 특성을 명확하게 이용하여 구성된다. 손실 압축 참조 이미지와 함께 압축을 이용함으로써 옥트리 이미지는 공간적으로 매우 효율적인 표현이 된다. 심플텍스쳐처럼 옥트리 이미지는 참조 이미지대신 참조 비디오 스트림을 가지며, 두개의 부가적인 형태를 표현하는 옥트리에 대한 스트림 및 각각의 3차원 프레임에 대응하는 이미지당 복셀을 가지는 동영상 버전을 갖는다. 옥트리 이미지 포맷의 상당히 유용한 특징은 기제작되어 있는 중간 매핑 능력이다.
DIBR군은 새로운 버전의 MPEG-4 표준을 위해 개발되어 왔으며, MPEG-4 AFX에 포함되도록 채택되었다. AFX는 종합적인 MPEG-4 환경을 위한 보다 향상된 특징을 제공하며, 관련있는 동영상 컨텐츠에 대해 재사용가능한 구조(현존의 MPEG-4와 호환될 수 있는)를 산출하는 공용할 수 있는 도구의 집합을 포함한다. 각각의 AFX 툴은 BIFS(Binary Format for Scenes) 노드, 종합적인 스트림, 및 음향-영상 스트림과의 양립성을 보인다. AFX의 현 버전은 제안하는 DIBR 뿐만아니라 애니메이션에 대한 고급레벨 묘사(즉, 애니메이션에 기반한 골격과 피부), 향상된 렌더링(즉, 절차적인 텍스쳐 매핑, 광필드 매핑), 간략한 표현(즉, NURBS 곡면, 솔리드 모델 표현, 하위분할 면), 저전송률 애니메이션(즉, 키프레임 정보 압축) 등으로 구성된다.
DIBR 포맷은 이전에 제안된 다른 아이디어의 장점과 특정한 작업에 가장 적합한 유연한 도구를 결합하도록 고안되었다. 예를 들면, 비 동영상 심플텍스쳐와 포인트텍스쳐는 알려진 포맷의 특별한 경우인 반면, 옥트리 이미지는 명백히 새로운 표현이다. 그러나, MPEG-4 상황에서, 3가지 기본 DIBR 모맷들은 모두 빌딩 블록으로 간주될 수 있으며, MPEG-4 구조에 의해 이들을 결합하는 것은 본 문헌에서 제안된 이미지 기반 표현의 많은 것을 포괄할 뿐만아니라 새로운 포맷을 구성하는데 있어서 상당한 잠재력을 부여한다.
이하에서, 깊이 이미지 기반 표현을 설명한다.
앞서 기술된 개념과 발명자가 개발한 몇가지를 고려하여 다음의 MPEG-4 AFX에 사용하기 위한 심플텍스쳐, 포인트텍스쳐, 그리고 옥트리 이미지와 같은 이미지 기반 포맷의 집합을 제안했다. 심플텍스쳐와 옥트리 이미지는 애니메이션 버전을 가진다.
심플텍스쳐는 깊이 이미지와 결합된 하나의 이미지이다. 심플텍스쳐는 완화 텍스쳐에 상응하는 반면, 포인트텍스쳐는 LDI에 상응한다.
블록 구성시 심플텍스쳐와 포인트텍스쳐에 기초하여, MPEG-4 구조를 사용하는 다양한 표현을 생성할 수 있다. 공식적인 규정은 후술하며, 여기에서는 결과를 형태적으로 기술한다.
깊이 이미지 구조는 결합되는 박스, 공간상의 위치 및 몇가지 다른 정보와 함께 심플텍스쳐 또는 포인트텍스쳐를 규정한다. 깊이 이미지 집합은 변환 노드라 불리는 하나의 구조하에 통합될 수 있으며, 이에 의해 다양한 유용한 표현을 생성할 수 있다. 이들 중 두개가 가장 널리 사용되며, 이들은 특정한 MPEG-4 명칭을 가지고 있지 않지만 실무상 이들을 박스 텍스쳐(Box Texture : BT)과 일반화된 박스 텍스쳐(Generalized Box Texture : GBT)이라 칭한다. BT는 객체 또는 장면의 결합큐브에 대응하는 6개의 심플텍스쳐의 집합인 반면, GBT는 함께 양립하는 3차원 표현을 제공하는 임의 개수의 심플텍스쳐의 집합이다. BT의 예가 도 3에 도시되어 있다. 도 3에는, 참조 이미지, 깊이 맵, 그리고 결과적인 3차원 객체가 도시되어 있다. BT는 3차원 워핑 알고리즘에 의해 묘사될 수 있으나, GBT에도 적용가능한 다른 방법을 사용한다. GBT 표현의 예는 도 4에 도시되어 있다. 도 4에서 복잡한 객체인 야자나무를 표현하기 위해 21개의 심플텍스쳐가 사용된다.
예를 들면, 통합메커니즘에 의해 동일한 객체 또는 동일한 객체의 일부를 표현하기 위해 다른 카메라들을 가진 몇가지 LDI들을 사용할 수 있음을 주목할 필요가 있다. 따라서, 이미지 기반 객체와 같은 데이터 구조, LDI 트리 셀, 서펠 기반 트리 구조들은 모두 장면의 구조에 심플텍스쳐와 포인트텍스쳐의 위치 및 해상도를 적용함에 있어서 명백하게 훨씬 큰 유연성을 제공하는 이러한 포맷의 특별한 경우이다.
다음으로 구조화된 이진 체적 옥트리(Textured Binary Volumetric Octree : TBVO)에 대해 설명한다.
보다 유연한 표현 및 빠른 속도의 렌더링을 가진 다중해상도 형태와 텍스쳐를 이용하기 위해 TBVO에 기초한 옥트리 이미지 표현이 개발되었다. TBVO의 목표는 이진 체적 옥트리(Binary Volumetic Octree : BVO)의 개선으로서 빠른 시각화가 가능한 보다 유연한 표현/압축 포맷을 고안하는 것이다. TBVO는 형태를 표현하는 BVO, 참조 이미지 집합, 및 옥트리 노드에 대응하는 이미지 인덱스 등의 세가지 주된 성분으로 구성된다.
BVO 형식의 형태 정보는 통상적인 옥트리 방식으로 커다란 셀에 결합된 규칙적으로 떨어져 있는 이진(점유 또는 비점유) 복셀의 집합이다. 이러한 표현은 깊이를 가진 픽셀 각각이 3차원 공간에서 고유한 점을 규정하므로 깊이 이미지 데이터로부터 '점 구름' 형식의 매개자를 통해 용이하게 얻어질 수 있다. 점 구름의 BVO로의 변환은 도 5에 도시되어 있다. 유사한 과정에 의해 다각형 모델을 BVO로 변환할 수 있다. BVO의 텍스쳐 정보는 참조 이미지로부터 얻어질 수 있다. 참조 이미지는 주어진 카메라 위치와 방향에서 복셀의 텍스쳐이다. 그러므로, BVO 자체는 참조이미지와 함께 모델 표현을 제공한다. 그러나, 각각의 BVO 잎들에 대한 참조 이미지 인텍스를 저장하는 부가적인 구조는 보다 빠른 시각화와 보다 양호한 품질을 가능하게 함이 밝혀졌다.
BVO 시각화의 주요한 문제는 렌더링 동안 각각의 복셀의 대응하는 카메라 인덱스를 결정하여야 한다는 것이다. 이를 위해 적어도 복셀이 보이는 카메라의 존재를 결정해야 한다. 만약 단순한 검색 방법을 사용하면 이러한 절차는 매우 느리다. 이러한 문제에 더해 어떠한 카메라에 의해서도 보이지 않는 복셀에 대해서는 여전히 몇 가지 어려움이 존재하며, 이는 묘사된 이미지에 바람직하지 않은 왜곡을 낳는다.
가능한 해결책은 각각의 복셀에 대해 명확한 색상을 저장하는 것이 될 수 있다. 그러나, 이 경우 색상 정보를 압축하는 데 있어 몇 가지 문제점이 있다. 즉, 복셀 색상을 이미지 포맷으로 그룹화하고 그것을 압축하면 인접하는 복셀의 색상 관련성이 파괴되어 압축율이 만족스럽지 못하게 된다.
TBVO에서 이러한 문제는 모든 복셀에 대한 이미지 인덱스를 저장함으로써 해결된다. 인덱스는 대개 큰 복셀 그룹에 대해 동일하며, 이에 의해 부가적인 정보의 경제적인 저장을 위한 옥트리 구조를 사용할 수 있다. 모델에 대한 실험에서 BVO와 참조 이미지만을 사용하는 표현에 비해 평균적으로 단지 15%의 체적이 증가하는 것으로 관찰되었다. 이러한 모델링은 약간 더 복잡하나 보다 유연한 방법으로 임의의 형태의 객체를 표현할 수 있다.
스플랫(splat) 크기는 복셀 크기로부터 용이하게 산출되므로 TBVO는 스플랫을 가지고 렌더링하기 위한 매우 편리한 표현이다. 복셀 색상은 참조 이미지와 복셀의 이미지 인덱스를 사용하여 쉽게 결정된다.
다음으로, 구조화된 이진 체적 옥트리의 스트리밍에 대해 설명한다.
255개의 카메라로 충분한 것으로 가정하고 인덱스에 대해 1바이트까지 할당한다. TBVO 스트림은 심벌 스트림이다. 모든 TBVO 심벌은 BVO 심벌 또는 텍스쳐 심벌이다. 텍스쳐 심벌은 카메라 인덱스를 지칭하며, 카메라 인덱스는 "규정되지 않은" 특정한 번호 또는 코드이다.
이하에서 "규정되지 않은" 코드를 '?'라 한다. TBVO 스트림은 너비 우선 순으로 횡단한다. BVO를 가지고 있고 모든 잎(leaf) 복셀들이 이미지 인덱스를 가지고 있는 경우에 TBVO 스트림의 기술방법에 대해 설명한다. 이는 모델링 단계에서 수행되어야 한다. TBVO 스트림은 잎 노드를 포함하고 있는 모든 BVO 노드들(BVO 심벌을 가지고 있지 않은)을 너비 우선 순서로 횡단한다. 도 6에는 스트림을 완벽하게 기술하는 의사코드(pseudo-code)가 도시되어 있다.
TBVO 비트스트림의 기술에 대한 예가 도 7에 도시되어 있다. 도 7(a)에 도시된 TBVO 트리에 대한 심벌 스트림은 절차에 따라 도 7(c)에 도시된 바와 같이 얻어질 수 있다. 이 예에서 텍스쳐 심벌들은 바이트로 표현된다. 그러나, 이 경우는 실제적인 스트림에서 3개의 값(두개의 카메라와 규정되지 않은 코드)을 표현할 필요만 있으므로 각각의 텍스쳐 심벌은 단지 3비트만 필요하다.
다음으로, DIBR 애니메이션에 대해 설명한다.
애니메이션 버전은 DIBR포맷의 두개-심플텍스쳐와 옥트리 이미지만을 포함하는 깊이 이미지-에 대해 규정된다. 데이터 크기는 3차원 애니메이션에 있어 중요한 문제중의 하나이다. 비디오 스트림은 자연적으로 동영상 버전에 결합될 수 있으므로 실질적인 데이터 감소를 제공하는 이러한 특정한 포맷을 선택한다.
깊이 이미지에 대해 애니메이션은 참조 이미지를 MPEG-4 동영상텍스쳐(MovieTextures)로 대체함으로써 수행된다. 고품질 손실 영상 압축은 산출되는 3차원 객체의 외형에 심각하게 영향을 미치지 않는다. 깊이맵은 참조 영상 스트림의 알파 채널에 무손실 모드에 가깝게 저장될 수 있다. 렌더링 단계에서 모든 참조 이미지와 같이 프레임이 수신되고 압축이 해제된 후에 3차원 프레임이 묘사된다.
옥트리이미지의 애니메이션은 유사하다. 참조 이미지는 MPEG-4 동영상텍스쳐에 의해 대체되며 새로운 옥트리 스트림이 나타난다.
다음으로, MPEG-4 노드를 정의한다.
DIBR 포맷은 MPEG-4 AFX 노드 정의에 상세하게 기술되어 있다. 깊이이미지는심플텍스쳐(SimpleTexture) 또는 포인트텍스쳐(PointTexture)에 대한 원추시점 파라미터를 결정하는 필드를 포함한다. 옥트리 이미지 노드는 형태와 참조 이미지 포맷의 집합이 규정된 TBVO 형태로 객체를 표현한다. 장면에 독립적인 정보는 DIBR 데이터 구조의 특별한 필드에 저장되며, 이에 의해 DIBR 객체의 상호작용을 장면의 나머지 부분으로 보정할 수 있다. DIBR 노드의 정의는 도 8에 도시되어 있다.
도 9는 깊이 이미지의 공간적인 배치를 도시한 도면이다. 도 9에 각 필드의 의미가 기재되어 있다. 깊이 이미지 노드는 하나의 DIBR 객체를 규정한다. 복수의 깊이 이미지 노드들이 서로 관련되어 있을 때 그들은 그룹으로 처리되며, 따라서 동일한 변환 노드하에 위치하여야 한다. diTexture 필드는 깊이를 가진 텍스쳐(심플텍스쳐 또는 포인트텍스쳐)를 특정하며, 이는 깊이 이미지 노드에 규정된 영역에 매핑된다.
옥트리 이미지 노드는 옥트리 구조 및 그것의 투영된 텍스쳐를 정의한다. 옥트리해상도 필드는 닫힌 큐브의 측면을 따르는 옥트리 잎들의 최대 개수를 특정한다. 옥트리 필드는 옥트리 내부 노드의 집합을 정의한다. 각각의 내부 노드는 바이트로 표현된다. 이러한 바이트의 i번째 비트의 1은 내부 노드의 i번째 자녀에 대해 자녀 노드들이 존재한다는 것을 의미한다. 반면, 0은 자녀 노드들이 존재하지 않음을 의미한다. 옥트리 내부 노드들의 순서는 옥트리의 너비 우선 횡단 순서이어야 한다. 내부 노드의 8개의 자녀 순서가 도 7(b)에 도시되어 있다. 복셀이미지인덱스 필드는 복셀에 할당된 이미지 인덱스의 배열을 포함한다. 렌더링 단계에서, 옥트리 잎에 기인한 색상은 잎을 특정한 인덱스를 가진 이미지에 수직으로 투영함으로써결정된다. 인덱스는 옥트리와 같은 형식으로 저장된다. 만약 특정한 이미지가 특정한 복셀에 포함된 모든 잎들에 대해 사용될 수 있다면 이미지의 인덱스는 스트림에 입력된다. 그렇지 않은 경우에 고정된 '추가적인 하위분할' 코드가 입력되며 이는 이미지 인덱스가 현재 복셀의 자녀 각각에 대해 개별적으로 규정될 것임을 의미한다(동일하게 반복되는 형태로). 만약 복셀이미지인덱스가 비어있다면 이미지 인덱스는 렌더링 단계에서 결정된다. 이미지 필드는 diTexture 필드에 대해 단순텍스쳐를 가진 깊이이미지 노드의 집합을 특정한다. 그러나, 깊이 이미지 노드의 인접 평면(nearPlane)과 원접 평면(farPlane) 필드, 그리고 단순텍스쳐 노드에서의 깊이 필드는 사용되지 않는다.
다음으로, 옥트리 이미지 포맷의 압축에 대해 설명한다.
여기에서 옥트리 이미지에 대한 압축방법을 고려한다. 전형적인 테스트 결과는 후술한다. 포인트텍스쳐의 압축은 아직까지 지원되지 않으며 이는 다음 버전의 AFX에서 수행될 것이다.
옥트리 이미지에서 옥트리 이미지 필드와 옥트리 필드는 개별적으로 압축된다. 제안된 방법은 옥트리 이미지 필드에 대해서는 어느 정도 시각적으로 수용가능한 왜곡이 허용되는 반면에 옥트리 필드는 손실없이 압축되어야 한다는 사실에 기초하여 개발되었다.
옥트리 이미지 필드는 이미지 압축수단(정적 모델에 대한) 또는 MPEG-4에 의해 지원되는 비디오 압축도구(동적 모델에 대한)에 의해 압축된다. 본 접근에서 옥트리 이미지에 대해 JPEG 포맷이 사용된다. 객체/배경 경계에서 관계없는 픽셀을버리고 압축 왜곡을 억압하는 부가적인 전처리(상세한 내용은 후술)는 압축율과 렌더링 품질을 증가시킨다.
옥트리 압축은 매우 간략하고 링크를 갖지 않는 이진 트리 표현의 압축을 다루고 있기 때문에 옥트리 이미지 압축의 가장 중요한 부분이다. 그러나, 실험에서 아래에 설명된 방법은 이러한 구조의 체적을 대략 원래의 절반으로 감소시켰다. 동적인 옥트리 이미지 버전에서, 옥트리 필드는 각각의 3차원 프레임에 대해 개별적으로 압축된다.
압축은 데이터의 형태적 특성을 명확하게 사용하는 다양한 적응 산술 코딩(arithmetic coding)에 의해 수행된다. 옥트리는 바이트 스트림이다. 각각의 바이트는 트리의 노드(즉, 하위 큐브)를 나타내며, 바이트의 비트는 내부적인 분할 후 하위 큐브의 점유를 나타낸다. 비트 패턴은 노드의 적층 패턴으로 불린다. 제안된 압축 알고리즘은 다음과 같은 방식으로 바이트들을 하나씩 처리한다.
- 현재 바이트에 대한 문맥 결정
- 이러한 문맥에서 현재 바이트의 발생 '확률'(정규화된 빈도)을 문맥에 대응하는 '확률 테이블'(PT)로부터 검색
- 산술 코더로 확률값 제공
- 현재 문맥에서 현재 바이트 발생의 빈도에 1을 더하여 현재 PT 갱신(필요시 작업수행 후 재정규화, 아래의 상세한 설명을 참조할 것)
따라서, 코딩은 문맥 모델에 따른 PT의 생성 및 갱신 과정이다. 문맥 기반 적응 산술 코딩 기술에서('부분 매칭에 의한 예측'과 같이), 심벌 문맥은 일반적으로 몇 개의 전치 심벌 열이다. 그러나, 본 발명에서는 옥트리 구조와 데이터의 형태적 특성을 활용함으로써 압축효율이 증진된다. 개시된 접근법은 옥트리 압축의 문제에 있어서 명백히 새로운 두가지 아이디어에 기초한다.
A1: 현재 노드에 대하여, 문맥은 그것의 부모 노드 또는 {부모 노드, 부모 노드에 위치한 현재 노드}로 구성된 쌍 중 하나이며;
A2: 특정한 부모 노드에서 특정한 형태적 위치에서 주어진 노드 발생 '확률'은 임의의 직교(회전 또는 대칭과 같은) 변환집합에 대하여 불변이라고 가정한다.
x-z 평면상에서 -90°회전하는 변환 R에 대한 가정 'A1'이 도 10에 도시되어 있다. 'A2'의 이면에 존재하는 기본적인 개념은 특정한 형태의 부모 노드에서 특정한 형태의 자녀 노드의 발생 확률은 단지 그들의 상대적인 위치에 의존한다는 것이다. 이러한 가정은 확률 테이블의 분석에 의한 실험에서 입증되었다. 이에 의해 지나치게 많은 확률 테이블을 보유하지 않고 보다 복잡한 문맥을 사용할 수 있다. 차례로, 이에 의해 데이터 크기 및 속도면에서 상당히 양호한 결과를 얻을 수 있다. 복잡한 문맥을 사용할수록 추정된 확률이 보다 명확해지고, 따라서 코드가 보다 간결해짐을 주목하라.
이제 변환집합을 소개한다. 확률 분포는 불변이라 가정한다. 우리의 상황에 적용하기 위해, 이러한 변환들은 닫힌 큐브를 유지해야 한다. 유클리디언 공간에서의 직교 변환들의 집합 G를 고려한다. 직교 변환들은 3개의 기본 변환들(생성자) m1, m2, 및 m3의 임의의 번호 및 순서상의 모든 성분들에 의해 얻어진다.
여기서,m 1m 2는 각각 x=y 및 y=z 평면으로의 투영이며,m 3는 x=0 평면으로의 투영이다. 투영에 의해 생성된 그룹이론의 전형적인 결과중의 하나는 G가 48개의 개별적인 직교변환들을 포함하며, 어떤 의미에서는 큐브를 자체로 취하는 직교변환의 최대그룹(소위, 코세터 그룹(coxeter group))이라는 것을 보여준다. 예를 들면, 도 10에 도시된 회전자 R은 생성자를 통해 다음과 같이 표현된다.
여기서, '·'는 행렬곱셈이다.
옥트리 노드에 적용된 G로부터의 변환은 상이한 하위큐브의 적층패턴을 갖는 노드를 산출한다. 이에 의해 노드들의 하위큐브의 적층패턴에 따라 노드들을 분류할 수 있다. 그룹이론 언어를 사용할 때, G는 옥트리 노드들의 모든 적층패턴에 대한 집합으로 작용한다고 언급한다. 계산에 따르면, 22개의 개별적인 클래스들(또한 그룹이론에서 궤도로 지칭됨)이 존재한다. 그리고, 정의에 의해 G로부터의 변환에 의해 연결된다면 두 개의 노드가 동일한 클래스에 속한다. 하나의 클래스에서 요소번호는 1에서 24까지 다양하며 항상 48의 제수이다.
가정 'A2'의 실질적인 중요성은 확률 테이블이 부모노드 그 자체에 종속적이지 않으며, 단지 부모노드가 속하는 클래스에 종속적이라는 것이다. 부모 기반 문맥에 대해 256개의 테이블이 있을 수 있으며, 전자의 경우에 부모-자녀 위치 기반 문맥에 대해 부가적인 256×8=2048개의 테이블이 있을 수 있는 반면에 후자의 경우에 부모-클래스 기반 문맥에 대해 22개의 테이블과 22×8=176개의 테이블이 필요함을 주목하라. 따라서, 상대적으로 적은 수의 확률 테이블을 가지고 동등하게 복잡한 문맥을 사용하는 것이 가능하다. 작성된 PT는 표 1에 기재된 형태를 취할 수 있다.
PT ID 0 1 255 문맥 설명
0 P0,0 P0,1 P0,255 0-문맥: 문맥 독립
1…22(22) Pi, 0 Pi,1 Pi,255 1-문맥: {부모 노드 클래스}
23…198(176) Pj,0 Pj,1 Pj,255 2-문맥: {부모 노드 클래스,현재 노드 위치}
확률 테이블에 대한 통계를 보다 정확하게 하기 위해, 인코딩 절차의 3가지 과정에서 상이한 방식이 수집된다.
'0-문맥 모델'로 받아들여지는 제1단계에서 문맥을 전혀 사용하지 않고, 균일한 분포로부터 출발하여 256개의 엔트리를 보유한 하나의 확률 테이블을 유지한다.
첫 번째 512개의 노드(실험적으로 발견된 번호)들이 인코딩되자마자, 부모 노드를 문맥으로 사용하는 '1-문맥 모델'로 전환한다. 전환시 0-문맥 PT는 모든 22개의 문맥에 대한 PT에 복사된다.
다음 2048개의 노드들(다른 발견값(heuristic value))이 인코딩된 후 '2-문맥 모델'로 전환한다. 이 순간에 부모 패턴의 1-문맥 PT들은 동일한 부모 패턴에서 각각의 위치에 대한 PT들로 복사된다.
이러한 알고리즘의 핵심은 현재 바이트에 해당 문맥과 확률을 결정하는 것이다. 이는 다음과 같이 수행된다. 각각의 클래스에서 '표준 요소'라 불리우는 하나의 요소를 고정한다. 가능한 256개의 노드들이 속한 클래스와 이러한 특정 노드를 그것의 클래스의 표준요소로 취급하는 G로부터 사전에 계산된 변환을 나타내는 맵 테이블(Class Map Table : CMT)을 저장한다. 따라서, 현재 노드 N의 확률을 결정하기 위해서 다음과 같은 단계를 수행한다.
- 현재 노드의 부모 P를 검색한다.
- P가 속한 CMT로부터 클래스를 도출하고, P를 해당 클래스의 표준노드로 취급하는 변환 T를 도출한다. 클래스 번호는 c라 한다.
- P에 T를 적용하고, 현재 노드 N이 매핑되어 있는 표준노드에서 자녀 위치 p를 검색한다.
- N에 T를 적용하면, 새롭게 얻어진 적층 패턴 TN은 클래스 c의 표준노드에서 위치 p에 존재한다.
- 클래스 위치 조합 (c, p)에 대응하는 확률 테이블의 엔트리 TN으로부터 필요한 확률을 도출한다.
- 1-문맥 모델에 대해, 상술한 단계들은 자명한 방식으로 변경된다. 언급할 필요없이, 모든 변환들은 사전에 계산되며 룩업 테이블에서 수행된다.
노드 N의 디코딩과정에서 그것의 부모 P는 이미 디코딩되어 있으므로 변환 T는 알려져 있음을 주목하라. 디코딩 과정에서 모든 단계들은 대응되는 인코딩 단계들과 완전히 유사하다.
마지막으로, 확률 갱신 절차를 약술한다. P를 임의의 문맥에 대한 확률 테이블이라 한다. 이러한 문맥에서 노드 N의 발생 확률에 대응하는 P의 엔트리를 P(N)라 명명한다. 우리의 작업에서, P(N)은 정수이며, 각각의 N의 발생 후에 P(N)은 다음과 같이 갱신된다.
여기서, A는 상이한 문맥 모델들에 대해 1에서 4까지 전형적으로 변하는 정수 증분 파라미터이다. S(P)를 P의 모든 엔트리의 합이라 하면, 계산 코더(여기서는 영역 코더)에 인가되는 N의 확률이 P(N)/S(P)로서 계산된다. S(P)가 임계값 216에 도달하면 곧이어 모든 엔트리들이 재정규화된다. P에서 제로값이 발생하지 않도록 하기 위해 다른 엔트리들은 2로 나누는 반면, 1에 해당하는 엔트리들은 변하지 않고 남아있게 된다.
각각의 복셀에 대한 이미지 인덱스를 결정하는 심벌 스트림은 자체의 확률 테이블을 이용하여 압축된다. 위에서 사용된 용어로 각각의 복셀에 대한 이미지 인덱스를 결정하는 심벌 스트림은 하나의 문맥이다. PT 엔트리들은 옥트리 노드에 대한 엔트리들보다 큰 증분으로 갱신된다. 이에 의해 확률을 포함된 심벌 빈도의 큰 변동에 적용할 수 있다. 나머지는 노드 심벌 코딩과 차이가 없다.
DIBR 포맷에 대한 렌더링 방법은 AFX의 일부가 아니지만 DIBR 객체 렌더링의 간략성, 속도 및 품질을 얻기위해 사용되는 개념은 설명할 필요가 있다. 본 렌더링 방법은 '렌더링 원형'으로 사용되는 작고 편평한 색상 패치인 스플랫에 기초한다.아래에 약술된 두가지 접근법들은 깊이이미지와 옥트리이미지의 두가지 상이한 표현에 적용된다. 렌더링 속도를 향상시키기 위한 스플래팅을 위해 OpenGL 함수가 채용된다. 그럼에도 불구하고, 소프트웨어 렌더링 또한 가능하며, 이에 의해 깊이이미지 또는 옥트리이미지의 단순한 구조를 이용하여 계산을 최적화할 수 있다.
깊이이미지 객체를 렌더링하기 위해 사용하는 방법은 지극히 간단하다. 그러나, 그것은 OpenGL 함수에 의존하며 하드웨어 가속기에 의해 보다 빠르게 동작함을 언급할 필요가 있다. 이 방법에서 깊이를 가진 모든 픽셀은 렌더링될 단순텍스쳐와 점텍스쳐로부터 3차원 점으로 변환되며, 그후 이러한 점들에서 작은 다각형들(스플랫들)의 위치를 결정하고 OpenGL의 렌더링 함수를 적용한다. 단순텍스쳐의 경우에 대한 이러한 과정의 의사코드가 도 11에 도시되어 있다. 점텍스쳐의 경우는 정확하게 동일한 과정으로 다루어진다.
스플랫의 크기는 점과 관찰자 사이의 거리에 적합하게 채택되어야 한다. 다음과 같은 간단한 방법이 사용되었다. 먼저, 주어진 3차원 객체의 닫힌 큐브를 거친 균일 격자로 세분한다. 스플랫 크기는 격자의 각가의 셀에 대해 계산되며 이 값은 셀내의 점들에 대해 사용된다. 계산은 다음과 같이 수행된다.
- OpenGL에 의해 셀을 스크린에 매핑한다.
- 투영의 가장 큰 대각선의 길이 L을 계산한다(픽셀 단위).
- D(스플랫 지름)를으로 산정한다.
여기서, N은 셀면당 점 개수의 평균이며, C는 약 1.3인 발견(heuristic) 상수이다.
이러한 방법은 보다 정확한 반경 계산, 보다 복잡한 스플랫, 안티 앨리어싱 등에 의해 명백히 개선될 수 있다. 그러나, 심지어 이러한 간단한 방법도 양호한 시각 품질을 제공한다.
동일한 방법이 옥트리이미지의 렌더링에 적용된다. 여기에서 보다 거친 레벨의 하나에서 옥트리 노드들이 스플랫 크기의 상술한 계산에서 사용된다. 그러나, 옥트리이미지에 대해 색상 정보는 복셀집합에 먼저 매핑되어야 한다. 각각의 복셀은 대응하는 참조 이미지 인덱스를 가지고 있으므로 이는 매우 쉽게 수행될 수 있다. 참조 이미지에서 픽셀 위치 또한 옥트리 스트림의 파싱과정 동안에 파악된다. 옥트리이미지 복셀의 색상이 결정되면 곧이어 스플랫 크기가 산정되며 OpenGL에 기초한 렌더링이 상술한 바와 같이 사용된다.
DIBR 포맷들이 몇개의 3차원 모델에 대해 수행되고 테스트되었다. 모델들 중 하나("첨성대")는 실제 물리적인 객체를 3차원 스캐닝하여 얻어졌으며(사이버웨어(Cyberware)사의 컬러 3차원 스캐너가 사용되었다), 다른 것들은 3DS-MAX 데모 패키지로부터 변환되었다. 테스트는 OpenGL 가속기를 장착한 1.8GHz 인텔 펜티엄Ⅳ 컴퓨터상에서 수행되었다.
다각형으로부터 DIBR 포맷으로 변환하는 방법은 이후에 기술하며, 그 후 모델링, 표현, 그리고 상이한 DIBR 포맷의 압축결과를 기술한다. 대부분의 데이터는 깊이이미지와 옥트리이미지에 대한 것이다. 이러한 포맷들은 애니메이션 버전을 가지며 효과적으로 압축될 수 있다. 제시되는 모델들 모두 직교 카메라로 구성되어졌다. 이는 직교 카메라는 일반적으로 '작은' 객체를 표현하기에 적절한 방법이기 때문이다. 거리가 있는 환경의 경제적인 DIBR 표현을 위해 원근 카메라가 대부분 사용된다.
DIBR 모델 생성은 충분한 수의 심플텍스쳐를 얻는 것으로 시작한다. 현실 세계의 객체에 대해 이러한 데이터가 디지털 카메라와 스캐닝 장치로부터 얻어지는 반면, 다각형 객체에 대해 심플텍스쳐들이 계산된다. 다음 단계는 사용하고자 하는 DIBR 포맷에 의존한다.
깊이 이미지는 간단히 얻어진 심플텍스쳐의 집합이다. 비록 깊이맵은 압축된 형식으로 저장될 수 있지만, 형태에 있어서 작은 왜곡이 종종 상당히 두드러지므로 무손실 압축만 허용된다.
참조 이미지들은 손실 압축 형식으로 저장될 수 있지만 이 경우 전처리가 필요하다. JPEG 손실 압축과 같은 널리 알려진 방법을 사용하는 것은 일반적으로 수용될 수 있지만, 특히, 배경 색상이 '객체'에 번지는 지점인 객체와 참조 이미지의 배경 사이의 경계로 인한 경계면의 잡음은 생성된 3차원 객체 화면에서 보다 두드러지게 된다. 이러한 문제에 대처하기 위해 사용된 해결방안은 블록의 평균 색상과 강도의 급속한 감쇠를 이용하여 경계 블록에서 이미지를 배경으로 확장한 다음에 JPEG 압축을 적용하는 것이다. 이러한 효과는 배경 픽셀은 렌더링에 사용되지 않으므로 왜곡을 왜곡이 영향을 미치지 않는 배경으로 '짜내는 것(squeezing)'과 같다. 손실 압축된 참조 이미지들의 내부 경계들 역시 잡음을 낳지만 이는 일반적으로 덜 눈에 띈다.
옥트리 이미지 모델을 생성하기 위해 중간 점 기반 표현(Point Based Representation : PBR)을 사용한다. PBR을 구성하는 점들의 집합은 참조 이미지에 존재하는 픽셀들을 대응하는 깊이맵에 규정된 거리에 의해 천이함으로써 얻어진 색상을 가진 점들의 집합이다. 원래의 심플텍스쳐들은 결과적인 PBR이 충분히 정확한 객체 표면에 대한 추정을 제공하도록 구성된다. 그 이후 PBR은 도 5에 도시된 바와 같은 옥트리 이미지로 변환되며, 이러한 포맷에 의해 부과된 제한을 만족하는 새로운 완전한 참조 이미지 집합을 생성하기 위해 사용된다. 동시에, 옥트리 복셀에 대한 참조 이미지 인덱스를 나타내는 부가적인 데이터 구조 복셀이미지인덱스가 생성된다. 이 때, 참조 이미지들은 손실 포맷으로 저장되어야 하며, 이들은 먼저 이전 하위장에서 설명한 바와 같이 전처리된다. 게다가, TBVO 구조는 명백하게 복셀이미지인덱스의 체적을 보다 더 감소시킨다. 원래의 참조 이미지와 JPEG 포맷으로 처리된 참조 이미지의 예들이 도 12에 도시되어 있다.
옥트리 이미지에 대한 손실 압축으로 인한 품질 저하는 무시할 수 있는 정도이다. 그러나 때로 깊이 이미지 객체에 대해서는 여전히 눈에 띈다.
포인트텍스쳐 모델은 앞서 설명한 바와 같이 참조 평면으로의 객체 투영을 이용하여 구성된다. 만약 이에 의해 충분한 샘플이 생성되지 않으면(이는 투영 벡터에 거의 수직인 표면 부분에 대한 경우일 수 있다), 부가적인 심플텍스쳐들이 보다 많은 샘플을 제공하기 위해 구성된다. 얻어진 점들의 집합은 그 후 포인트텍스쳐 구조로 재구성된다.
몇 개의 다각형 모델들의 데이터 크기와 그들의 DIBR 버전의 크기에 대한 비교가 표 2에 기재되어 있다. 모델 명칭의 숫자는 그들의 참조 이미지의 해상도(픽셀 단위)를 의미한다. 표 2는 정적 DIBR 모델 압축에 대한 비교표이며, 모델의 크기는 킬로바이트 단위이다.
모델 야자나무512 천사256 모톤512 타워256
단순텍스쳐의수 21 6 6 5
원래의 3DS-MAX 모델의 크기(ZIP-archived) 4040 151 519 N/A
깊이이미지 크기 3319 141 838 236
깊이 이미지 1903 1416 41 100 519 319 118 118
옥트리이미지 크기 267 75 171 83.4
압축된 옥트리 이미지 135 132 38.5 36.5 88 83 47.4 36
참조 이미지들은 고품질 JPEG 으로 저장되는 반면, 깊이 이미지들에서 깊이맵은 PNG 포맷으로 저장된다. 표 2의 데이터는 깊이 이미지 모델 크기가 얻어진 다각형 모델의 크기보다 항상 작지는 않음을 나타낸다. 그러나, 옥트리 이미지에 의해 제공된 압축은 대개 훨씬 크다. 이는 깊이맵을 하나의 효율적으로 압축된 옥트리 데이터 구조에 통합한 결과일 뿐만 아니라 참조 이미지로부터 용장 픽셀을 제거하는 정교한 전처리의 결과이다. 한편, 깊이 이미지 구조는 '야자나무'와 같은 복잡한 객체를 어려운 전처리없이 표현하기 위한 간단하고 범용적인 수단을 제공한다.
표 3은 옥트리 이미지 특정 데이터를 나타내며, 이러한 포맷에 대해 개발된 압축 효율의 개념을 설명한다. 표의 엔트리들은 옥트리와 복셀이미지인덱스 성분을 구성하는 모델의 압축된 부분과 압축되지 않은 부분의 데이터 크기들이다. 이러한 부분의 감소는 2에서 2.5배까지 변한다. 표 3에서 "야자나무" 모델은 표 2에서의 "야자나무" 모델과 같이 동일한 하나가 아니다(다음 하위장의 도면 참조). 표 3에는옥트리 이미지 포맷에서 옥트리와 복셀이미지인덱스 필드의 비교 결과가 기재되어 있다. 또한, 파일 크기들은 킬로바이트 단위로 반올림하였다.
모델 참조 이미지의 수 옥트리와 복셀이미지인텍스 성분의 크기 압축율
압축없음 압축
천사256 6 81.5 38.5 2.1
12 86.2 41.7 2.1
모톤512 6 262.2 103.9 2.5
12 171.0 88.0 2.0
야자나무512 6 198.4 85.8 2.3
12 185.1 83.1 2.2
로봇512 6 280.4 111.9 2.5
12 287.5 121.2 2.4
렌더링 속도와 동영상 모델의 크기에 관한 데이터를 제시한다. "야자나무512" 깊이 이미지의 렌더링 속도는 약 2fps(frame per secong : fps)이다(21개의 단순텍스쳐임을 주목할 것). 크기가 512인 참조 이미지를 가지고 테스트된 다른 정적 모델들은 5-6 fps로 렌더링된다. 렌더링 속도는 장면의 복잡도에 종속적이지 않고 참조 이미지의 수와 해상도에 대부분 종속적임을 주목하라. 이는 다각형 표현에 대한 중요한 장점이며, 특히 동영상의 경우에 더욱 그러하다. 동영상 옥트리 이미지인 "드래곤512"는 초당 24 프레임으로 시각화된다. 압축결과는 다음과 같다.
- 옥트리와 복셀이미지인덱스 성분의 압축된 크기: 910KB(각각 696KB 및 214KB)
- 압축된 AVI 포맷의 6개의 참조 비디오 스트림: 1370KB
- 전체 데이터 용량: 2280KB
"천사256" 깊이 이미지 모델이 도 3에 도시되어 있다. 도 13 내지 도 17은 몇가지 다른 DIBR과 다각형 모델을 나타낸다. 도 13은 "모톤" 모델의 다각형과 깊이 이미지의 외양을 비교한 도면이다. 깊이 이미지 모델은 JPEG 포맷의 참조 이미지들을 사용하며, 렌더링은 앞서 기술된 가장 간단한 스플래팅에 의해 수행되지만 이미지 품질은 상당히 양호하다. 도 14는 스캐닝된 "첨성대" 모델의 두 가지 다른 버전을 비교한 도면이다. 모델의 상단 부분에 있는 검은 점들은 입력데이터의 잡음에 기인한다. 도 15는 21개의 심플텍스쳐로 이루어진 보다 복잡한 "야자나무" 모델을 보여준다. 비록 단순화된 스플래팅을 수행한 결과 일반적으로 잎들이 3DS-MAX 원이미지보다 넓어졌지만, 이것 또한 양호한 품질을 보여준다.
마지막으로, 도 16은 "드래곤512" 옥트리 이미지 애니메이션으로부터 3차원 프레임을 보여준다. 도 17은 포인트텍스쳐 포맷이 훌륭한 품질의 모델을 제공할 수 있음을 보여준다.
이하에서, 도 18 내지 도 36을 참조하여 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 18은 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치에 대한 일 실시예의 구성을 도시한 블록도이다.
도 18을 참조하면, 깊이 이미지 기반 3차원 객체 표현 장치(1800)는 시점정보 생성부(1810), 전처리부(1820), 제1이미지 생성부(1830), 제2이미지 생성부(1840), 노드 생성부(1850), 및 인코딩부(1860)로 구성된다.
시점정보 생성부(1810)는 적어도 하나 이상의 시점정보를 생성한다. 시점정보는 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성된다. 시점정보를 구성하는 필드는 위치필드, 방향필드, 시야필드, 투영방법필드, 및 길이필드를 포함한다.
위치필드 및 방향필드 각각에는 이미지 평면을 바라보는 위치 및 방향이 기록된다. 위치필드에 기록되는 위치는 이미지가 존재하는 좌표계의 원점에 대한 상대적인 위치이며, 방향필드에 기록되는 방향은 소정의 기준방향에 대한 상대적인 회전량이다. 시야필드에는 위치로부터 이미지 평면까지의 시야의 너비와 높이가 기록된다.
투영방법필드에는 위치 및 방향에 의해 특정되는 시점으로부터 이미지 평면까지의 시야가 수평각과 수직각으로 표시되는 직교투영방법과 시점으로부터 이미지 평면까지의 시야가 너비와 높이로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록된다. 직교투영방법이 선택된 경우에 시야필드에 기록되는 시야의 너비와 높이는 각각 이미지 평면의 너비와 높이이며, 원근투영방법이 선택된 경우에 시야필드에 기록되는 시야의 너비와 높이는 각각 시점으로부터 이미지 평면에 이르는 시선에 의해 형성되는 수평각 및 수직각이다.
길이필드에는 위치 및 방향에 의해 특정되는 시점에서 가까운 경계 평면까지의 거리와 먼 경계 평면까지의 거리가 기록된다. 길이필드에 의해 깊이 정보의 영역이 규정된다.
제1이미지 생성부(1830)는 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 색상정보를 기초로 색상이미지를 생성한다. 애니메이션 객체를 생성하는비디오 포맷의 경우에 깊이정보 및 색상정보는 복수의 이미지 프레임열이다. 제2이미지 생성부(1840)는 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 깊이정보를 기초로 깊이이미지를 생성한다. 노드 생성부(1850)는 시점정보, 시점정보에 대응하는 색상이미지 및 깊이이미지로 구성된 이미지 노드를 생성한다.
전처리부(1820)는 색상이미지에서 객체와 배경의 경계에 위치하는 픽셀을 전처리한다. 도 19에는 전처리부(1820)의 상세한 구성이 도시되어 있다. 도 19를 참조하면 전처리부(1820)는 확산부(1910)와 압축부(1920)를 갖는다. 확산부(1910)는 블록의 평균 색상과 급속한 강도의 감쇠를 이용하여 블록의 경계에 위치하는 픽셀의 색상을 배경으로 확산한다. 압축부(1920)는 블록에 기반한 압축을 수행하여 왜곡을 배경으로 방출한다. 인코딩부(1860)는 생성된 이미지 노드를 인코딩하여 비트스트림을 출력한다.
도 20은 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 방법에 대한 일 실시예의 수행과정을 도시한 흐름도이다.
도 20을 참조하면, 시점정보 생성부(1810)는 객체를 바라보는 시점에 대한 시점정보를 생성한다(S2000). 제1이미지 생성부(1830)는 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 색상정보를 기초로 색상이미지를 생성한다(S2010).제2이미지 생성부(1840)는 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 깊이정보를 기초로 깊이이미지를 생성한다(S2020). 노드 생성부(1850)는 시점정보, 시점정보에 대응하는 깊이이미지 및 색상이미지로 구성되는 이미지 노드를 생성한다(S2030).
확산부(1910)는 블록의 경계에 위치하는 픽셀의 색상을 배경으로 확산한다(S2040). 압축부(1920)는 블록에 기반한 압축에 의해 왜곡을 배경으로 방출한다(S2050). 인코딩부(1860)는 이미지 노드를 인코딩하여 비트스트림을 출력한다(S2060).
도 18 내지 도 20을 참조하여 설명한 깊이 이미지 기반 3차원 객체 표현 장치 및 방법은 심플텍스쳐(SimpleTexture)에 의한 객체 표현며, 심플텍스쳐의 구조는 상술한 바와 같다.
도 21은 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치에 대한 다른 실시예의 구성을 도시한 블록도이다.
도 21을 참조하면, 깊이 이미지 기반 3차원 객체 표현 장치(2100)는 샘플링부(2110), 시점정보 생성부(2120), 평면정보 생성부(2130), 깊이정보 생성부(2140), 색상정보 생성부(2150), 및 노드 생성부(2160)로 구성된다.
샘플링부(2110)는 객체를 참조평면에 투사하여 이미지 평면에 대한 샘플을 생성한다. 이미지 평면에 대한 샘플은 부가적인 색상 이미지 및 깊이 이미지로 구성된 이미지 쌍으로 구성된다.
시점정보 생성부(2120)는 객체를 바라보는 시점에 대한 시점정보를 생성한다. 시점정보는 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성된다. 시점정보를 구성하는 필드는 위치필드, 방향필드, 시야필드, 투영방법필드, 및 길이필드를 포함한다.
위치 및 방향필드에는 각각 이미지 평면을 바라보는 위치 및 방향이 기록된다. 위치 및 방향에 의해 시점이 특정된다. 시야필드에는 시점으로부터 이미지 평면까지의 시야의 너비와 높이가 기록된다. 투영방법필드에는 시점으로부터 이미지 평면까지의 시야가 수평각과 수직각으로 표시되는 직교투영방법과 시점으로부터 이미지 평면까지의 시야가 너비와 높이로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록된다. 길이필드에는 시점에서 가까운 경계 평면까지의 거리와 먼 경계 평면까지의 거리가 기록된다. 길이필드에 의해 깊이정보의 영역이 규정된다.
평면정보 생성부(2130)는 시점정보에 대응하는 이미지 평면에 대한 샘플로부터 얻어진 점집합으로 구성되는 이미지 평면의 너비, 높이, 및 깊이를 규정하는 평면정보를 생성한다. 평면정보는 복수의 필드로 구성된다. 평면정보를 구성하는 필드는 이미지 평면의 너비가 기록되는 제1필드, 이미지 평면의 길이가 기록되는 제2필드, 및 깊이 정보의 해상도가 기록되는 깊이해상도필드를 포함한다.
깊이정보 생성부(2140)는 이미지 평면의 각 점들로 투사된 객체의 모든 투사점들에 대한 깊이가 기록된 깊이정보열을 생성한다. 색상정보 생성부(2150)는 각각의 투사점들에 대한 색상정보열을 생성한다. 깊이정보열에는 투사점의 수와 각각의 투사점의 깊이값이 순차적으로 기록되며, 색상정보열에는 투사점 각각에 대한 깊이값에 대응하는 색상값이 순차적으로 기록된다.
노드 생성부(2160)는 이미지 평면에 대응하는 평면정보, 깊이정보열 및 색상정보열로 구성되는 점노드를 생성한다.
도 22는 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 방법에 대한 다른 실시예의 수행과정을 도시한 흐름도이다.
도 22를 참조하면, 시점정보 생성부(2120)는 객체를 바라보는 시점에 대한 시점정보를 생성한다(S2200). 평면정보 생성부(2130)는 시점정보에 대응하여 이미지 평면의 너비, 높이, 및 깊이를 규정하는 평면정보를 생성한다(S2210). 샘플링부(2110)는 객체를 이미지평면에 투영하여 평면에 대한 샘플을 생성한다(S2220). S2220단계는 이미지 평면에 대한 보다 많은 샘플을 제공하기 위해 수행되며, 이미지 평면이 충분한 경우에는 수행되지 않는다.
깊이정보 생성부(2140)는 이미지 평면의 각 점들로 투사된 객체의 모든 투사점들에 대한 깊이가 기록된 깊이정보열을 생성한다(S2230). 색상정보 생성부(2150)는 각각의 투사점들에 대한 색상정보열을 생성한다(S2240). 노드 생성부(2160)는 이미지 평면에 대응하는 평면정보, 깊이정보열 및 색상정보열로 구성되는 점노드를 생성한다(S2250).
도 21 및 도 22를 참조하여 설명한 깊이 이미지 기반 3차원 객체 표현 장치 및 방법은 포인트텍스쳐(PointTexture)에 의한 객체 표현 장치이다. 포인트텍스쳐의 구조는 상술한 바와 같다.
도 23은 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치에 대한 또 다른 실시예의 구성을 도시한 블록도이다.
도 23을 참조하면, 깊이 이미지 기반 3차원 객체 표현 장치(2300)는 전처리부(2310), 참조이미지 결정부(2320), 형태정보 생성부(2330), 인덱스 생성부(2340), 노드 생성부(2350), 및 인코딩부(2360)로 구성된다.
전처리부(2310)는 참조 이미지를 전처리한다. 전처리부(2310)의 상세한 구성이 도 24에 도시되어 있다. 도 24를 참조하면, 전처리부(2310)는 확산부(2410) 및 압축부(2420)를 갖는다. 확산부(2410)는 블록의 평균 색상과 급속한 강도의 감쇠를 이용하여 참조 이미지에서 객체와 배경의 경계에 위치하는 픽셀의 색상을 배경으로 확산한다. 압축부(2420)는 참조 이미지에 대해 블록에 기반한 압축을 수행하여 왜곡을 배경으로 방출한다.
참조이미지 결정부(2320)는 형태정보 생성부(2330)에 의해 분할된 큐브 각각에 대해 색상이미지를 포함하는 참조 이미지를 결정한다. 참조이미지는 시점정보와 시점정보에 대응하는 색상이미지로 구성되는 깊이이미지노드이다. 이 때, 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성된다. 시점정보를 구성하는 각각의 필드는 상술한 바와 같으므로 상세한 설명은 생략한다. 한편, 깊이 이미지노드에 포함되는 색상이미지는 심플텍스쳐 또는 포인트텍스쳐가 될 수 있다. 각각의 텍스쳐에 대한 구조는 상술한 바와 같다.
형태정보 생성부(2330)는 객체를 구성하는 옥트리 중에서 객체를 포함하는 옥트리를 8개의 하위 큐브로 분할하고 분할된 하위 큐브를 자녀 노드로 규정하여 객체에 대한 형태정보를 생성한다. 형태정보 생성부(2330)는 분할된 하위 큐브의 크기가 소정의 기준크기보다 작아질 때까지 하위 큐브로의 분할과정을 반복적으로 수행한다. 형태정보는 큐브의 측면을 따라 존재하는 옥트리 잎들의 최대 개수가 기록되는 해상도필드 및 옥트리의 내부노드의 구조를 나타내는 배열이 기록되는 옥트리필드를 포함한다.
인덱스 생성부(2340)는 형태정보에 대응하는 참조이미지의 인덱스정보를 생성한다. 도 25에는 인덱스 생성부(2340)의 상세한 구성이 도시되어 있다. 도 25를 참조하면, 인덱스 생성부(2340)는 색상점 획득부(2510), PBR 생성부(2520), 이미지 변환부(2530), 및 데이터구조 생성부(2540)를 갖는다.
색상점 획득부(2510)는 참조이미지에 존재하는 픽셀을 대응하는 깊이맵에 규정된 거리만큼 이동시켜 색상 점들을 획득한다. PBR 생성부(2520)는 색상 점들의 집합에 의해 중간적인 점 기반 표현(point-based representation : PBR)을 생성한다. 이미지 변환부(2530)는 점 기반 표현을 각각의 점에 대응하는 큐브에 의해 표현한 이미지인 옥트리 이미지로 변환한다. 인덱스정보 생성부(2540)는 옥트리 큐브에 대응하는 참조이미지의 인덱스정보를 생성한다.
노드 생성부(2350)는 형태정보, 인덱스정보 및 참조 이미지로 구성되는 옥트리 노드를 생성한다.
인코딩부(2360)는 옥트리 노드를 인코딩하여 비트스트림을 출력한다. 인코딩부(2360)의 상세한 구성이 도 26에 도시되어 있다. 도 26을 참조하면, 인코딩부(2360)는 문맥결정부(2610), 제1인코딩부(2620), 제2인코딩부(2630), 및 제3인코딩부(2640), 심벌바이트 기록부(2650), 및 이미지 인덱스 기록부(2660)로 구성된다.
문맥결정부(2610)는 옥트리 노드에 대한 인코딩 횟수를 기초로 옥트리의 현재 노드에 대한 문맥을 결정한다. 제1인코딩부(2620)는 22개의 엔트리를 보유한 하나의 확률 테이블을 유지하면서 0-문맥 모델 및 산술 인코딩을 이용하여 최초 노드로부터 512개의 노드들을 인코딩한다. 제1인코딩부(2620)는 균일한 분포로부터 인코딩을 시작한다.
제2인코딩부(2630)는 부모 노드를 문맥으로 사용하면서 1-문맥 모델 및 산술 인코딩을 이용하여 512번째의 노드가 인코딩된 후 2048번째의 노드들을 인코딩한다. 제2인코딩부(2630)는 0-문맥 모델에서 1-문맥 모델로의 전환시 0-문맥 모델의 확률 테이블을 모든 문맥에 대한 확률 테이블에 복사한다. 도 27에는 제2인코딩부(2630)의 상세한 구성이 도시되어 있다.
도 27을 참조하면, 제2인코딩부(2630)는 확률검색부(2710), 산술코더(2720), 및 테이블 갱신부(2730)로 구성된다. 확률검색부(2710)는 문맥에 대응하는 확률 테이블로부터 문맥에서의 현재 노드의 발생 확률을 검색한다. 산술코더(2720)는 확률검색부(2710)로부터 입력받은 확률열에 의해 옥트리를 압축한다. 테이블 갱신부(2730)는 현재 문맥에서의 현재 노드의 발생 빈도에 소정의 증분(예를 들면, 1)을 더하여 확률 테이블을 갱신한다.
제3인코딩부(2640)는 부모 노드 및 자녀 노드의 패턴을 문맥으로 사용하면서 2-문맥 모델 및 산술 코딩을 이용하여 2048번째 이후의 노드들을 인코딩한다. 제3인코딩부(2640)는 1-문맥 모델에서 2-문맥 모델로의 전환시 부모 노드 패턴에 대한 1-문맥 모델의 확률 테이블을 동일한 부모 노드 패턴에서의 각각의 위치에 대한 확률 테이블에 복사한다. 도 28에는 제3인코딩부(2640)의 상세한 구성이 도시되어 있다.
도 28을 참조하면, 제3인코딩부(2640)는 제1검색부(2810), 제1검출부(2820), 제2검색부(2830), 적층패턴 획득부(2840), 제2검출부(2850), 산술코더(2860), 및테이블 갱신부(2870)로 구성된다.
제1검색부(2810)는 현재 노드의 부모 노드를 검색한다. 제1검출부(2820)는 검색된 부모 노드가 속하는 클래스를 검출하고 부모 노드를 검출된 클래스의 표준 노드로 취급하는 변환을 검출한다. 제2검색부(2830)는 부모 노드에 검출된 변환을 적용하고 현재 노드가 매핑되어 있는 표준 노드에서 자녀 노드의 위치를 검색한다. 적층패턴 획득부(2840)는 현재 노드에 검출된 변환을 적용하여 검출된 클래스의 표준 노드에서의 위치에서 적층 패턴을 획득한다. 제2검출부(2850)는 검출된 클래스와 위치로 구성되는 조합에 대응하는 확률 테이블의 엔트리로부터 필요한 확률을 검출한다. 산술코더(2860)는 제2검출부(2850)로부터 입력받은 확률열에 의해 옥트리를 압축한다. 테이블 갱신부(2870)는 현재 문맥에서의 현재 노드의 발생 빈도에 소정의 증분(예를 들면, 1)을 더하여 확률 테이블을 갱신한다.
심벌바이트 기록부(2650)는 현재 노드가 잎 노드가 아닌 경우에 현재 노드에 대응하는 심벌 바이트를 비트스트림에 기록한다. 그 다음으로 현재 노드의 모든 자녀 노드가 동일한 참조이미지 인덱스를 가지고 있으며 현재 노드의 부모 노드가 "미정의(undefined)" 참조이미지 인덱스를 가지고 있으면, 이미지 인덱스 기록부(2660)는 현재 노드의 하위 노드에 대해 동일한 참조이미지 인덱스를 비트스트림에 기록한다. 만약, 현재 노드의 자녀 노드가 상이한 참조이미지 인덱스를 가지고 있으면, 이미지 인덱스 기록부(2660)는 현재 노드의 하위 노드에 대해 "미정의" 참조이미지 인텍스를 기록한다.
도 29는 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 방법에 대한 다른 실시예의 수행과정을 도시한 흐름도이다.
도 29를 참조하면, 형태정보 생성부(2330)는 객체를 구성하는 옥트리를 하위 큐브로 분할하여 객에 대한 형태정보를 생성한다(S2900). 형태정보는 큐브의 측면을 따라 존재하는 옥트리 잎들의 최대 개수가 기록되는 해상도필드 및 옥트리의 내부노드의 구조를 나타내는 배열이 기록되는 옥트리필드로 구성된다. 내부노드 각각은 바이트로 표현되며, 내부노드에 속하는 자녀노드에 대한 하위 자녀노드의 존재여부는 바이트를 구성하는 비트열에 기록되는 노드정보에 의해 표현된다. 하위 큐브로의 분할과정은 분할된 큐브의 크기가 소정의 기준크기(이 값은 실험적으로 결정될 수 있다)보다 크면 분할된 큐브를 다시 8개로 분할한다(S2910).
참조이미지 결정부(2320)는 분할된 큐브 각각에 대해 색상이미지를 포함하는 참조이미지를 결정한다(S2920). 참조이미지는 시점정보와 시점정보에 대응하는 색상이미지로 구성되는 깊이이미지노드이다. 시점정보의 구성은 상술한 바와 같다. 한편, 참조이미지에 대해 전처리과정이 수행될 수 있다.
도 30은 참조이미지에 대한 전처리과정의 흐름도이다. 도 30을 참조하면, 블록의 평균 색상과 급속한 강도의 감쇠를 이용하여 참조이미지에서 객체와 배경의 경계에 위치하는 픽셀의 색상을 배경으로 확산한다(S3000). 그리고, 참조이미지에 대해 블록에 기반한 압축을 수행하여 왜곡을 배경으로 방출한다(S3010).
인덱스 생성부(2340)는 형태정보에 대응하는 참조이미지의 인덱스정보를 생성한다(S2930). 도 31에는 인덱스 생성단계의 수행과정이 도시되어 있다. 도 31을 참조하면, 색상점 획득부(2510)는 참조이미지에 존재하는 픽셀을 대응하는 깊이맵에 규정된 거리만큼 이동시켜 색상 점들을 획득한다(S3100). PBR 생성부(2520)는 색상 점들의 집합에 의해 중간적인 점 기반 표현(point-based representation : PBR)을 생성한다(S3110). 이미지 변환부(2530)는 점 기반 표현을 각각의 점에 대응하는 큐브에 의해 표현한 이미지인 옥트리 이미지로 변환한다(S3120). 인덱스정보 생성부(2540)는 옥트리 큐브에 대응하는 참조이미지의 인덱스정보를 생성한다(S3130).
노드 생성부(2350)는 형태정보, 인덱스정보, 및 참조이미지로 구성되는 옥트리 노드를 생성한다(S2940).
인코딩부(2360)는 옥트리 노드를 인코딩하여 비트스트림을 출력한다(S2950). 도 32는 인코딩단계의 수행과정을 도시한 흐름도이다. 도 32를 참조하면, 문맥결정부(2610)는 옥트리 노드에 대한 인코딩 횟수를 기초로 옥트리의 현재 노드에 대한 문맥을 결정한다(S3200). 현재 노드가 512번째 이하인 경우에(S3210) 0-문맥 모델 및 산술코딩을 이용하여 제1인코딩단계를 수행한다(S3220). 현재 노드가 512번째를 초과하면(S3210), 현재 노드에 대한 문맥을 결정한 후(S3230) 2048번째 노드에 도달할 때까지 1-문맥 모델 및 산술코딩을 이용하여 제2인코딩단계를 수행한다(S3240). 현재 노드가 2048번째를 초과하면(S3250), 현재 노드에 대한 문맥을 결정한 후(S3260) 2-문맥 모델 및 산술코딩을 이용하여 제3인코딩단계를 수행한다(S3270).
이 때, 0-문맥은 문맥과 독립적이며, 1-문맥은 부모 노드의 클래스이다. 한편, 클래스의 전체 개수는 22이며, 기본변환들에 의해 생성되는 직교변환 G에 의해연결될 때 두개의 노드가 동일한 클래스에 속한다. 기본변환은 다음과 같다.
이며,
여기서,m 1m 2는 각각 x=y 및 y=z 평면으로의 투영이며,m 3는 x=0 평면으로의 투영이다. 2-문맥은 부모 노드의 클래스 및 부모 노드에서의 현재 노드의 위치이다.
도 33은 제2인코딩단계의 수행과정을 도시한 흐름도이다. 도 33을 참조하면, 확률검색부(2710)는 문맥에 대응하는 확률 테이블로부터 문맥에서의 현재 노드의 발생 확률을 검색한다(S3300). 산술코더(2720)는 확률검색부(2710)로부터 입력받은 확률열에 의해 옥트리를 압축한다(S3310). 테이블 갱신부(2730)는 현재 문맥에서의 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신한다(S3330).
도 34는 제3인코딩단계의 수행과정을 도시한 흐름도이다. 도 34를 참조하면, 제1검색부(2810)는 현재 노드의 부모 노드를 검색한다(S3400). 제1검출부(2820)는 검색된 부모 노드가 속하는 클래스를 검출하고 부모 노드를 검출된 클래스의 표준 노드로 취급하는 변환을 검출한다(S3410). 제2검색부(2830)는 부모 노드에 검출된 변환을 적용하고 현재 노드가 매핑되어 있는 표준 노드에서 자녀 노드의 위치를 검색한다(S3420). 적층패턴 획득부(2840)는 현재 노드에 검출된 변환을 적용하여 검출된 클래스의 표준 노드에서의 위치에서 적층 패턴을 획득한다(S3430). 제2검출부(2850)는 검출된 클래스와 위치로 구성되는 조합에 대응하는 확률 테이블의 엔트리로부터 필요한 확률을 검출한다(S3440). 산술코더(2860)는제2검출부(2850)로부터 입력받은 확률열에 의해 옥트리를 압축한다(S3450). 테이블 갱신부(2870)는 현재 문맥에서의 현재 노드의 발생 빈도에 소정의 증분(예를 들면, 1)을 더하여 확률 테이블을 갱신한다(S3460).
도 35는 인코딩단계에서 수행되는 옥트리 노드에 대한 비트스트림의 생성과정을 도시한 흐름도이다. 도 35를 참조하면, 현재 노드가 잎 노드가 아닌 경우에(S3500) 심벌바이트 기록부(2650)는 현재 노드에 대응하는 심벌 바이트를 비트스트림에 기록하고(S3510) S3520단계로 진행한다. 현재 노드가 잎노드이면 S3510단계를 수행하지 않고 곧바로 S3520단계로 진행한다.
현재 노드의 모든 자녀 노드가 동일한 참조이미지 인덱스를 가지고 있으며 현재 노드의 부모 노드가 "미정의(undefined)" 참조이미지 인덱스를 가지고 있으면(S3520), 이미지 인덱스 기록부(2660)는 현재 노드의 하위 노드에 대해 동일한 참조이미지 인덱스를 비트스트림에 기록한다(S3530). 만약, 현재 노드의 자녀 노드가 상이한 참조이미지 인덱스를 가지고 있으면(S3520), 이미지 인덱스 기록부(2660)는 현재 노드의 하위 노드에 대해 "미정의" 참조이미지 인텍스를 기록한다(S3540).
도 36은 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치에 대한 또 다른 실시예의 구성을 도시한 블록도이며. 도 37은 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 방법에 대한 또 다른 실시예의 수행과정을 도시한 흐름도이다.
도 36 및 도 37을 참조하면, 본 발명에 따른 깊이 이미지 기반 3차원 객체 표현 장치(3600)는 입력부(3610), 제1추출부(3620), 디코딩부(3630),제2추출부(3540), 및 객체표현부(3650)로 구성된다.
입력부(3610)는 외부장치로부터 비트스트림을 입력받는다(S3700). 제1추출부(3620)는 입력받은 비트스트림으로부터 옥트리 노드를 추출한다(S3710).
디코딩부(3630)는 추출된 옥트리 노드를 디코딩한다(S3720). 디코딩부(3630)는 문맥결정부, 제1디코딩부, 제2디코딩부, 및 제3디코딩부를 구비한다. 디코딩부(3630)를 구성하는 각각의 구성요소의 동작은 도 26 내지 도28 그리고 도 32내지 도 35를 참조하여 설명한 인코딩부의 대응되는 구성요소와 동일하므로 상세한 설명은 생략한다.
제2추출부(3640)는 디코딩된 옥트리 노드로부터 옥트리를 구성하는 복수의 큐브에 대한 형태정보 및 참조이미지를 추출한다(S3730). 객체표현부(3650)는 추출된 형태정보에 대응하는 추출된 참조이미지들을 조합하여 객체를 표현한다(S3740).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
본 발명에 따르면, 이러한 이미지 기반 표현은 색상 3차원 객체의 완전한 정보를 2차원 배열의 집합-이미지 처리 및 압축의 널리 알려진 방법에 즉시 적용할 수 있는 단순하고 규칙적인 구조-으로 인코딩하므로 알고리즘이 간단하고 많은 부분들 하드웨어에 의해 지원될 수 있다. 게다가, 이미지 기반 모델에 대한 렌더링 시간은 다각형의 경우처럼 형태적인 복잡성에 비례하지 않고 일반적으로 참조 및 출력 이미지들에 존재하는 픽셀의 수에 비례한다. 나아가, 이미지 기반 표현이 현실 세계의 객체와 장면에 적용되면 수백만 개의 다각형의 사용과 고비용의 계산없이 자연적인 장면의 사진과 같은 현실적인 렌더링이 가능하게 된다.

Claims (67)

  1. 적어도 하나 이상의 시점정보를 생성하는 시점정보 생성부;
    상기 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 깊이정보를 기초로 깊이이미지를 생성하는 제1이미지 생성부;
    상기 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 색상정보를 기초로 색상이미지를 생성하는 제2이미지 생성부;
    상기 시점정보와 상기 시점정보에 대응하는 상기 깊이이미지 및 상기 색상이미지로 구성된 이미지 노드를 생성하는 노드 생성부; 및
    상기 생성된 이미지 노드를 인코딩하는 인코딩부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  2. 제 1항에 있어서,
    상기 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면을 바라보는 위치가 기록되는 위치필드, 상기 이미지 평면을 바라보는 방향이 기록되는 방향필드, 상기 위치 및 상기 방향에 의해 특정되는 시점으로부터 상기 이미지 평면까지의 시야영역의 너비와 높이가 기록되는 시야필드, 상기 시야영역이 너비와 높이로 표시되는 직교투영방법과 상기 시야영역이 수평각과 수직각으로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록되는 투영방법필드, 상기 시점에서 가시영역의 가까운 경계 평면까지의 거리와 먼 경계 평면까지의 거리가 기록되는 길이필드를 포함하며,
    상기 길이필드에 의해 상기 깊이정보의 영역이 규정되는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  3. 제 1항에 있어서,
    상기 색상이미지에서 객체와 배경의 경계에 위치하는 픽셀을 전처리하는 전처리부를 더 포함하며,
    상기 전처리부는,
    블록의 평균 색상과 급속한 강도의 감쇠를 이용하여 블록의 경계에 위치하는 픽셀의 색상을 배경으로 확산하는 확산부; 및
    블록에 기반한 압축을 수행하여 왜곡을 상기 배경으로 방출하는 압축부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  4. 적어도 하나 이상의 시점정보를 생성하는 단계;
    상기 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 깊이정보를 기초로 깊이이미지를 생성하는 단계;
    상기 시점정보에 대응하여 객체를 구성하는 각각의 픽셀점들의 색상정보를 기초로 색상이미지를 생성하는 단계;
    상기 시점정보와 상기 시점정보에 대응하는 상기 깊이이미지 및 상기 색상이미지로 구성된 이미지 노드를 생성하는 단계; 및
    상기 생성된 이미지 노드를 인코딩하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  5. 제 4항에 있어서,
    상기 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면을 바라보는 위치가 기록되는 위치필드, 상기 이미지 평면을 바라보는 방향이 기록되는 방향필드, 상기 위치와 상기 방향에 의해 특정되는 시점으로부터 상기 이미지 평면까지의 시야영역이 기록되는 시야필드, 상기 시야영역이 너비와 높이로 표시되는 직교투영방법과 상기 시야영역이 수평각과 수직각으로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록되는 투영방법필드, 상기 시점에서 가시영역의 가까운 경계 평면까지의 거리와 먼 경계 평면까지의 거리가 기록되는 길이필드를 포함하며,
    상기 길이필드에 의해 상기 깊이정보의 영역이 규정되는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  6. 제 5항에 있어서,
    상기 위치필드에 기록되는 위치는 상기 이미지 평면이 존재하는 좌표계의 원점에 대한 상대적인 위치인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  7. 제 5항에 있어서,
    상기 방향필드에 기록되는 방향은 소정의 기준방향에 대한 상대적인 회전양인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  8. 제 5항에 있어서,
    상기 직교투영방법이 선택된 경우에 상기 시야필드에 기록되는 상기 시야영역의 너비와 높이는 각각 상기 이미지 평면의 너비와 높이이며,
    상기 원근투영방법이 선택된 경우에 상기 시야필드에 기록되는 상기 시야영역의 너비와 높이는 각각 상기 시점으로부터 상기 이미지 평면에 이르는 시선에 의해 형성되는 수평각 및 수직각인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  9. 제 4항에 있어서,
    동영상 객체를 생성하는 비디오 포맷의 경우에 상기 깊이정보 및 상기 색상정보는 복수의 이미지 프레임열인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  10. 제 4항에 있어서,
    상기 깊이 이미지 생성단계는,
    블록의 평균 색상과 급속한 강도의 감쇠를 이용하여 블록의 경계에 위치하는 픽셀의 색상을 배경으로 확산하는 단계; 및
    블록에 기반한 압축을 수행하여 왜곡을 상기 배경으로 방출하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  11. 적어도 하나 이상의 시점정보를 생성하는 시점정보 생성부;
    상기 시점정보에 대응하는 이미지 평면의 너비, 높이, 및 깊이를 규정하는 평면정보를 생성하는 평면정보 생성부;
    상기 이미지 평면의 각 점들로 투사된 객체의 모든 투사점들에 대한 깊이가 기록된 깊이정보열을 생성하는 깊이정보 생성부;
    상기 각각의 투사점들에 대한 색상정보열을 생성하는 색상정보 생성부; 및
    상기 이미지 평면에 대응하는 상기 평면정보, 상기 깊이정보열 및 상기 색상정보열로 구성되는 점노드를 생성하는 노드 생성부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  12. 제 11항에 있어서,
    상기 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면을 바라보는 위치가 기록되는 위치필드, 상기 이미지 평면을 바라보는 방향이 기록되는 방향필드, 상기 위치 및 상기 방향에 의해 특정되는 시점으로부터 상기 이미지 평면까지의 시야영역이 기록되는 시야필드, 상기 시야영역이 너비와 높이로 표시되는 직교투영방법과 상기 시야영역이 수평각과 수직각으로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록되는 투영방법필드, 상기 시점에서 가시영역의 가까운 경계 평면까지의 거리와 먼 경계 평면까지의 거리가 기록되는 길이필드를 포함하며,
    상기 길이필드에 의해 상기 깊이정보의 영역이 규정되는 것을 특징으로 하는깊이 이미지 기반 3차원 객체 표현 장치.
  13. 제 11항에 있어서,
    상기 평면정보는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면의 너비가 기록되는 제1필드, 상기 이미지 평면의 높이가 기록되는 제2필드, 및 상기 이미지 평면의 깊이가 기록되는 깊이해상도필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  14. 제 11항에 있어서,
    상기 깊이정보열에는 상기 투사점의 수와 각각의 투사점의 깊이값이 순차적으로 기록되며,
    상기 색상정보열에는 상기 투사점 각각에 대한 상기 깊이값에 대응하는 상기 색상값이 순차적으로 기록되는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  15. 적어도 하나 이상의 시점정보를 생성하는 단계;
    상기 시점정보에 대응하는 이미지 평면의 너비, 높이, 및 깊이를 규정하는 평면정보를 생성하는 단계;
    상기 이미지 평면의 각 점들로 투사된 객체의 모든 투사점들에 대한 깊이가기록된 깊이정보열을 생성하는 단계;
    상기 각각의 투사점들에 대한 색상정보열을 생성하는 단계; 및
    상기 이미지 평면에 대응하는 상기 평면정보, 상기 깊이정보열 및 상기 색상정보열로 구성되는 점노드를 생성하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  16. 제 15항에 있어서,
    상기 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면을 바라보는 위치가 기록되는 위치필드, 상기 이미지 평면을 바라보는 방향이 기록되는 방향필드, 상기 위치 및 상기 방향에 의해 특정되는 시점으로부터 상기 이미지 평면까지의 시야영역의 너비와 높이가 기록되는 시야필드, 상기 시야영역이 너비와 높이로 표시되는 직교투영방법과 상기 시야영역이 수평각과 수직각으로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록되는 투영방법필드, 상기 시점에서 가시영역의 가까운 경계 평면까지의 거리와 먼 경계 평면까지의 거리가 기록되는 길이필드를 포함하며,
    상기 길이필드에 의해 상기 깊이정보의 영역이 규정되는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  17. 제 15항에 있어서,
    상기 평면정보는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면의 너비가 기록되는 제1필드, 상기 이미지 평면의 길이가 기록되는 제2필드, 및 상기 이미지 평면의 깊이가 기록되는 깊이해상도필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  18. 제 15항에 있어서,
    상기 깊이정보열에는 상기 투사점의 수와 각각의 투사점의 깊이값이 순차적으로 기록되며,
    상기 색상정보열에는 상기 투사점 각각에 대한 상기 깊이값에 대응하는 상기 색상값이 순차적으로 기록되는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  19. 객체를 구성하는 옥트리 중에서 상기 객체를 포함하는 옥트리를 소정 개수의 하위 큐브로 분할하고 분할된 하위 큐브를 자녀 노드로 규정하여 상기 객체에 대한 형태정보를 생성하는 형태정보 생성부;
    상기 큐브 각각에 대해 색상이미지를 포함하는 참조 이미지를 결정하는 참조이미지 결정부;
    상기 형태정보에 대응하는 상기 참조 이미지의 인덱스정보를 생성하는 인덱스 생성부;
    상기 형태정보, 상기 인덱스정보 및 상기 참조 이미지로 구성되는 옥트리 노드를 생성하는 노드 생성부; 및
    상기 옥트리 노드를 인코딩하여 비트스트림을 출력하는 인코딩부;를 포함하며,
    상기 형태정보 생성부는, 상기 분할된 하위 큐브의 크기가 소정의 기준크기보다 작아질 때까지 상기 하위 큐브로의 분할과정을 반복적으로 수행하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  20. 제 19항에 있어서,
    상기 형태정보는 상기 큐브의 측면을 따라 존재하는 옥트리 잎들의 최대 개수가 기록되는 해상도필드 및 상기 옥트리의 내부노드의 구조를 나타내는 배열이 기록되는 옥트리필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  21. 제 19항에 있어서,
    상기 참조이미지는 시점정보와 상기 시점정보에 대응하는 색상이미지로 구성되는 깊이이미지노드인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  22. 제 21항에 있어서,
    상기 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면을 바라보는 위치가 기록되는 위치필드, 상기 이미지 평면을 바라보는 방향이 기록되는 방향필드, 상기 위치 및 상기 방향에 의해 특정되는 시점으로부터 상기 이미지 평면까지의 시야영역의 너비와 높이가 기록되는 시야필드, 및 상기 시야영역이 너비와 높이로 표시되는 직교투영방법과 상기 시야영역이 수평각과 수직각으로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록되는 투영방법필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  23. 제 19항에 있어서,
    상기 참조이미지는 시점정보, 상기 시점정보에 대응하는 참조이미지 평면의 너비, 높이, 및 깊이를 규정하는 평면정보, 상기 이미지 평면의 각 점들로 투사된 객체의 모든 투사점들에 대한 깊이가 기록된 깊이정보열, 및 상기 각각의 투사점들에 대한 색상정보열로 구성되는 포인트텍스쳐 노드인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  24. 제 19항에 있어서,
    상기 참조 이미지에서 객체와 배경의 경계에 위치하는 픽셀을 전처리하여 상기 참조 이미지 결정부에 제공하는 전처리부를 더 포함하며,
    상기 전처리부는,
    블록의 평균 색상과 급속한 강도의 감쇠를 이용하여 블록의 경계에 위치하는 상기 픽셀의 색상을 상기 배경으로 확산하는 확산부; 및
    블록에 기반한 압축을 수행하여 왜곡을 상기 배경으로 방출하는 압축부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  25. 제 19항에 있어서,
    상기 인덱스 생성부는,
    상기 참조이미지에 존재하는 픽셀을 대응하는 깊이맵에 규정된 거리만큼 이동시켜 색상 점들을 획득하는 색상점 획득부;
    상기 색상 점들의 집합에 의해 중간적인 점 기반 표현(point-based representation : PBR)을 생성하는 PBR 생성부;
    상기 점 기반 표현을 각각의 점에 대응하는 상기 큐브에 의해 표현한 이미지인 옥트리 이미지로 변환하는 이미지 변환부; 및
    옥트리 큐브에 대응하는 상기 참조이미지의 인덱스정보를 생성하는 인덱스정보 생성부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  26. 제 19항에 있어서,
    상기 인코딩부는,
    상기 옥트리 노드에 대한 인코딩 횟수를 기초로 상기 옥트리의 현재 노드에 대한 문맥을 결정하는 문맥결정부;
    소정 개수의 엔트리를 보유한 하나의 확률 테이블을 유지하면서 0-문맥 모델 및 산술 인코딩을 이용하여 최초 노드로부터 제1인코딩 노드개수의 노드들을 인코딩하는 제1인코딩부;
    부모 노드를 문맥으로 사용하면서 1-문맥 모델 및 산술 인코딩을 이용하여 상기 제1인코딩 노드개수 이후의 노드로부터 제2인코딩 노드개수의 노드들을 인코딩하는 제2인코딩부; 및
    상기 부모 노드 및 자녀 노드의 패턴을 문맥으로 사용하면서 2-문맥 모델 및 산술 코딩을 이용하여 상기 제2인코딩 노드개수 이후의 노드들을 인코딩하는 제3인코딩부;를 포함하고,
    상기 제1인코딩부는 균일한 분포로부터 인코딩을 시작하고,
    상기 제2인코딩부는 상기 0-문맥 모델에서 상기 1-문맥 모델로의 전환시 상기 0-문맥 모델의 확률 테이블을 모든 소정 개수의 문맥에 대한 확률 테이블에 복사하며,
    상기 제3인코딩부는 상기 1-문맥 모델에서 상기 2-문맥 모델로의 전환시 상기 부모 노드 패턴에 대한 1-문맥 모델의 확률 테이블을 동일한 부모 노드 패턴에서의 각각의 위치에 대한 확률 테이블에 복사하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  27. 제 26항에 있어서,
    상기 제2인코딩부는,
    상기 문맥에 대응하는 확률 테이블로부터 상기 문맥에서의 상기 현재 노드의 발생 확률을 검색하는 확률검색부;
    상기 확률검색부로부터 입력받은 확률열에 의해 상기 옥트리를 압축하는 산술 코더; 및
    상기 현재 문맥에서의 상기 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신하는 테이블 갱신부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  28. 제 26항에 있어서,
    상기 제3인코딩부는,
    상기 현재 노드의 부모 노드를 검색하는 제1검색부;
    상기 검색된 부모 노드가 속하는 클래스를 검출하고 상기 부모 노드를 상기 검출된 클래스의 표준 노드로 취급하는 변환을 검출하는 제1검출부;
    상기 부모 노드에 상기 변환을 적용하고 상기 현재 노드가 매핑되어 있는 상기 표준 노드에서 자녀 노드의 위치를 검색하는 제2검색부;
    상기 현재 노드에 상기 변환을 적용하여 상기 검출된 클래스의 표준 노드에서의 위치에서 적층 패턴을 획득하는 적층패턴 획득부;
    상기 클래스와 상기 위치로 구성되는 조합에 대응하는 확률 테이블의 엔트리로부터 필요한 확률을 검출하는 제2검출부;
    상기 제2검출부로부터 입력받은 확률열에 의해 상기 옥트리를 압축하는 산술 코더; 및
    상기 현재 문맥에서의 상기 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신하는 테이블 갱신부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  29. 제 26항에 있어서,
    상기 인코딩부는,
    현재 노드가 잎 노드가 아닌 경우에 상기 현재 노드에 대응하는 심벌 바이트를 상기 비트스트림에 기록하는 심벌바이트 기록부; 및
    상기 현재 노드의 모든 자녀 노드가 동일한 참조이미지 인덱스를 가지고 있으며 상기 현재 노드의 부모 노드가 "정의되지 않은(undefined)" 참조이미지 인덱스를 가지고 있으면 상기 현재 노드의 자녀 노드에 대해 동일한 참조이미지 인덱스를 상기 비트스트림에 기록하고, 상기 현재 노드의 자녀 노드가 상이한 참조이미지 인덱스를 가지고 있으면 상기 현재 노드의 자녀 노드에 대해 "정의되지 않은(undefined)" 참조이미지 인텍스를 상기 비트스트림에 기록하는 인덱스 기록부;를 더 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  30. 객체를 구성하는 옥트리 중에서 상기 객체를 포함하는 옥트리를 소정 개수의하위 큐브로 분할하고 분할된 하위 큐브를 자녀 노드로 규정하여 상기 객체에 대한 형태정보를 생성하는 단계;
    상기 큐브 각각에 대해 색상이미지를 포함하는 참조 이미지를 결정하는 단계;
    상기 형태정보에 대응하는 상기 참조 이미지의 인덱스정보를 생성하는 단계;
    상기 형태정보, 상기 인덱스정보, 및 상기 참조 이미지로 구성되는 옥트리 노드를 생성하는 단계; 및
    상기 옥트리 노드를 비트스트림으로 인코딩하는 단계;를 포함하며,
    상기 형태정보 생성단계는 상기 분할된 하위 큐브의 크기가 소정의 기준크기보다 작아질 때까지 상기 하위 큐브로의 분할과정을 반복적으로 수행하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  31. 제 30항에 있어서,
    상기 형태정보는 상기 큐브의 측면을 따라 존재하는 옥트리 잎들의 최대 개수가 기록되는 해상도필드, 상기 옥트리의 내부노드의 구조를 나타내는 배열이 기록되는 옥트리필드, 및 상기 옥트리의 내부노드에 대응하는 참조이미지의 인덱스가 기록되는 인덱스필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  32. 제 31항에 있어서,
    상기 내부노드 각각은 바이트로 표현되며, 상기 내부노드에 속하는 자녀노드에 대한 하위 자녀노드의 존재여부는 상기 바이트를 구성하는 비트열에 기록되는 노드정보에 의해 표현되는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  33. 제 30항에 있어서,
    상기 참조이미지는 시점정보와 상기 시점정보에 대응하는 색상이미지로 구성되는 깊이이미지노드인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  34. 제 33항에 있어서,
    상기 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면을 바라보는 위치가 기록되는 위치필드, 상기 이미지 평면을 바라보는 방향이 기록되는 방향필드, 상기 위치 및 상기 방향에 의해 특정되는 시점으로부터 상기 이미지 평면까지의 시야영역의 너비와 높이가 기록되는 시야필드, 및 상기 시야영역이 너비와 높이로 표시되는 직교투영방법과 상기 시야영역이 수평각과 수직각으로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록되는 투영방법필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  35. 제 30항에 있어서,
    상기 인덱스 생성단계는,
    상기 참조이미지에 존재하는 픽셀을 대응하는 깊이맵에 규정된 거리만큼 이동시켜 색상 점들을 획득하는 단계;
    상기 색상 점들의 집합에 의해 중간적인 점 기반 표현(point-based representation : PBR)을 생성하는 단계;
    상기 점 기반 표현을 각각의 점에 대응하는 상기 큐브를 표현한 이미지인 옥트리 이미지로 변환하는 단계; 및
    옥트리 큐브에 대응하는 상기 참조이미지의 인덱스를 인덱스정보를 생성하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  36. 제 30항에 있어서,
    상기 참조이미지 결정단계는,
    블록의 평균 색상과 급속한 강도의 감쇠를 이용하여 블록의 경계에 위치하는 상기 픽셀의 색상을 상기 배경으로 확산하는 단계; 및
    블록에 기반한 압축을 수행하여 왜곡을 상기 배경으로 방출하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  37. 제 30항에 있어서,
    상기 인코딩단계는,
    상기 옥트리 노드에 대한 인코딩 횟수를 기초로 상기 옥트리의 현재 노드에 대한 문맥을 결정하는 단계;
    소정 개수의 엔트리를 보유한 하나의 확률 테이블을 유지하면서 0-문맥 모델 및 산술 인코딩을 이용하여 최초 노드로부터 제1인코딩 노드개수의 노드들을 인코딩하는 제1인코딩단계;
    부모 노드를 문맥으로 사용하면서 1-문맥 모델 및 산술 인코딩을 이용하여 상기 제1인코딩 노드개수 이후의 노드로부터 제2인코딩 노드개수의 노드들을 인코딩하는 제2인코딩단계; 및
    상기 부모 노드 및 자녀 노드의 패턴을 문맥으로 사용하면서 2-문맥 모델 및 산술 코딩을 이용하여 상기 제2인코딩 노드개수 이후의 노드들을 인코딩하는 제3인코딩단계;를 포함하고,
    상기 제1인코딩단계는 균일한 분포로부터 인코딩을 시작하고,
    상기 제2인코딩단계는 상기 0-문맥 모델에서 상기 1-문맥 모델로의 전환시 상기 0-문맥 모델의 확률 테이블을 모든 소정 개수의 문맥에 대한 확률 테이블에 복사하며,
    상기 제3인코딩단계는 상기 1-문맥 모델에서 상기 2-문맥 모델로의 전환시 상기 부모 노드 패턴에 대한 1-문맥 모델의 확률 테이블을 동일한 부모 노드 패턴에서의 각각의 위치에 대한 확률 테이블에 복사하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  38. 제 37항에 있어서,
    상기 1-문맥 모델은 상기 부모 노드의 클래스인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  39. 제 38항에 있어서,
    상기 클래스의 전체 개수는 22이며,
    기본변환들에 의해 생성되는 직교변환 G에 의해 연결될 때 두개의 노드가 동일한 클래스에 속하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현방법:
    상기 기본변환은,
    이며,
    여기서,m 1m 2는 각각 x=y 및 y=z 평면으로의 투영이며,m 3는 x=0 평면으로의 투영이다.
  40. 제 37항에 있어서,
    상기 2-문맥 모델은 상기 부모 노드의 클래스 및 상기 부모 노드에서의 상기 현재 노드의 위치인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  41. 제 37항에 있어서,
    상기 제2인코딩단계는,
    상기 문맥에 대응하는 확률 테이블로부터 상기 문맥에서의 상기 현재 노드의 발생 확률을 검색하는 단계;
    상기 확률검색부로부터 입력받은 확률열에 의해 상기 옥트리를 압축하는 단계; 및
    상기 현재 문맥에서의 상기 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  42. 제 37항에 있어서,
    상기 제3인코딩단계는,
    상기 현재 노드의 부모 노드를 검색하는 단계;
    상기 검색된 부모 노드가 속하는 클래스를 검출하고 상기 부모 노드를 상기 검출된 클래스의 표준 노드로 취급하는 변환을 검출하는 단계;
    상기 부모 노드에 상기 변환을 적용하고 상기 현재 노드가 매핑되어 있는 상기 표준 노드에서 자녀 노드의 위치를 검색하는 단계;
    상기 현재 노드에 상기 변환을 적용하여 상기 검출된 클래스의 표준 노드에서의 위치에서 적층 패턴을 획득하는 단계;
    상기 클래스와 상기 위치로 구성되는 조합에 대응하는 확률 테이블의 엔트리로부터 필요한 확률을 검출하는 단계;
    상기 제2검출부로부터 입력받은 확률열에 의해 상기 옥트리를 압축하는 단계; 및
    상기 현재 문맥에서의 상기 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  43. 제 37항에 있어서,
    상기 인코딩 단계는,
    현재 노드가 잎 노드가 아닌 경우에 상기 현재노드에 대응하는 심벌 바이트를 상기 비트스트림에 기록하는 단계; 및
    상기 현재 노드의 모든 자녀 노드가 동일한 참조이미지 인덱스를 가지고 있으며 상기 현재 노드의 부모 노드가 "정의되지 않은(undefined)" 참조이미지 인덱스를 가지고 있으면 상기 현재 노드의 자녀 노드에 대해 동일한 참조이미지 인덱스를 상기 비트스트림에 기록하고, 상기 현재 노드의 자녀 노드가 상이한 참조이미지 인덱스를 가지고 있으면 상기 현재 노드의 자녀 노드에 대해 "정의되지 않은(undefined)" 참조이미지 인텍스를 상기 비트스트림에 기록하는 단계;를 더 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  44. 비트스트림을 입력받는 입력부;
    상기 비트스트림으로부터 옥트리 노드를 추출하는 제1추출부;
    상기 옥트리 노드를 디코딩하는 디코딩부;
    상기 디코딩된 옥트리 노드로부터 상기 옥트리를 구성하는 복수의 큐브에 대한 형태정보 및 참조이미지를 추출하는 제2추출부; 및
    상기 추출된 형태정보에 기초하여 상기 추출된 참조이미지를 조합하여 객체를 표현하는 객체표현부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  45. 제 44항에 있어서,
    상기 디코딩부는,
    상기 옥트리 노드에 대한 디코딩 횟수를 기초로 상기 옥트리의 현재 노드에 대한 문맥을 결정하는 문맥결정부;
    소정 개수의 엔트리를 보유한 하나의 확률 테이블을 유지하면서 0-문맥 모델 및 산술 디코딩을 이용하여 최초 노드로부터 제1디코딩 노드개수의 노드들을 디코딩하는 제1디코딩부;
    부모 노드를 문맥으로 사용하면서 1-문맥 모델 및 산술 디코딩을 이용하여 상기 제1디코딩 노드개수 이후의 노드로부터 제2인코딩 노드개수의 노드들을 디코딩하는 제2디코딩부; 및
    상기 부모 노드 및 자녀 노드의 패턴을 문맥으로 사용하면서 2-문맥 모델 및 산술 디코딩을 이용하여 상기 제2디코딩 노드개수 이후의 노드들을 디코딩하는 제3디코딩부;를 포함하고,
    상기 제1디코딩부는 균일한 분포로부터 디코딩을 시작하고,
    상기 제2디코딩부는 상기 0-문맥 모델에서 상기 1-문맥 모델로의 전환시 상기 0-문맥 모델의 확률 테이블을 모든 소정 개수의 문맥에 대한 확률 테이블에 복사하며,
    상기 제3디코딩부는 상기 1-문맥 모델에서 상기 2-문맥 모델로의 전환시 상기 부모 노드 패턴에 대한 1-문맥 모델의 확률 테이블을 동일한 부모 노드 패턴에서의 각각의 위치에 대한 확률 테이블에 복사하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  46. 제 45항에 있어서,
    상기 1-문맥 모델은 상기 부모 노드의 클래스인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  47. 제 46항에 있어서,
    상기 클래스의 전체 개수는 22이며,
    기본변환들에 의해 생성되는 직교변환 G에 의해 연결될 때 두개의 노드가 동일한 클래스에 속하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치:
    상기 기본변환은,
    이며,
    여기서,m 1m 2는 각각 x=y 및 y=z 평면으로의 투영이며,m 3는 x=0 평면으로의 투영이다.
  48. 제 45항에 있어서,
    상기 2-문맥 모델은 상기 부모 노드의 클래스 및 상기 부모 노드에서의 상기 현재 노드의 위치인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  49. 제 45항에 있어서,
    상기 제2디코딩부는,
    상기 문맥에 대응하는 확률 테이블로부터 상기 문맥에서의 상기 현재 노드의 발생 확률을 검색하는 확률검색부;
    상기 확률검색부로부터 입력받은 확률열에 의해 상기 옥트리를 압축하는 옥트리압축부; 및
    상기 현재 문맥에서의 상기 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신하는 테이블갱신부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  50. 제 45항에 있어서,
    상기 제3디코딩부는,
    상기 현재 노드의 부모 노드를 검색하는 노드검색부;
    상기 검색된 부모 노드가 속하는 클래스를 검출하고 상기 부모 노드를 상기 검출된 클래스의 표준 노드로 취급하는 변환을 검출하는 변환검출부;
    상기 부모 노드에 상기 변환을 적용하고 상기 현재 노드가 매핑되어 있는 상기 표준 노드에서 자녀 노드의 위치를 검색하는 위치검색부;
    상기 현재 노드에 상기 변환을 적용하여 상기 검출된 클래스의 표준 노드에서의 위치에서 적층 패턴을 획득하는 패턴획득부;
    상기 클래스와 상기 위치로 구성되는 조합에 대응하는 확률 테이블의 엔트리로부터 필요한 확률을 검출하는 확률검출부;
    상기 제2검출부로부터 입력받은 확률열에 의해 상기 옥트리를 압축하는 옥트리압축부; 및
    상기 현재 문맥에서의 상기 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신하는 테이블갱신부;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  51. 제 44항에 있어서,
    상기 형태정보는 상기 큐브의 측면을 따라 존재하는 옥트리 잎들의 최대 개수가 기록되는 해상도필드, 상기 옥트리의 내부노드의 구조를 나타내는 배열이 기록되는 옥트리필드, 및 상기 옥트리의 내부노드에 대응하는 참조이미지의 인덱스가기록되는 인덱스필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  52. 제 51항에 있어서,
    상기 내부노드 각각은 바이트로 표현되며, 상기 내부노드에 속하는 자녀노드에 대한 하위 자녀노드의 존재여부는 상기 바이트를 구성하는 비트열에 기록되는 노드정보에 의해 표현되는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  53. 제 44항에 있어서,
    상기 참조이미지는 시점정보와 상기 시점정보에 대응하는 색상이미지로 구성되는 깊이이미지노드인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  54. 제 53항에 있어서,
    상기 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면을 바라보는 위치가 기록되는 위치필드, 상기 이미지 평면을 바라보는 방향이 기록되는 방향필드, 상기 위치 및 상기 방향에 의해 특정되는 시점으로부터 상기 이미지 평면까지의 시야영역의 너비와 높이가 기록되는 시야필드, 및 상기 시야영역이 너비와 높이로 표시되는 직교투영방법과 상기 시야영역이 수평각과 수직각으로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록되는 투영방법필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 장치.
  55. 비트스트림을 입력받는 단계;
    상기 비트스트림으로부터 옥트리 노드를 추출하는 단계;
    상기 옥트리 노드를 디코딩하는 단계;
    상기 디코딩된 옥트리 노드로부터 상기 옥트리를 구성하는 복수의 큐브에 대한 형태정보 및 참조이미지를 추출하는 단계; 및
    상기 추출된 형태정보에 기초하여 상기 추출된 참조이미지를 조합하여 객체를 표현하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  56. 제 55항에 있어서,
    상기 디코딩 단계는,
    상기 옥트리 노드에 대한 디코딩 횟수를 기초로 상기 옥트리의 현재 노드에 대한 문맥을 결정하는 단계;
    소정 개수의 엔트리를 보유한 하나의 확률 테이블을 유지하면서 0-문맥 모델 및 산술 디코딩을 이용하여 최초 노드로부터 제1디코딩 노드개수의 노드들을 디코딩하는 제1디코딩단계;
    부모 노드를 문맥으로 사용하면서 1-문맥 모델 및 산술 디코딩을 이용하여 상기 제1디코딩 노드개수 이후의 노드로부터 제2인코딩 노드개수의 노드들을 디코딩하는 제2디코딩단계; 및
    상기 부모 노드 및 자녀 노드의 패턴을 문맥으로 사용하면서 2-문맥 모델 및 산술 디코딩을 이용하여 상기 제2디코딩 노드개수 이후의 노드들을 디코딩하는 제3디코딩단계;를 포함하고,
    상기 제1디코딩단계는 균일한 분포로부터 디코딩을 시작하고,
    상기 제2디코딩단계는 상기 0-문맥 모델에서 상기 1-문맥 모델로의 전환시 상기 0-문맥 모델의 확률 테이블을 모든 소정 개수의 문맥에 대한 확률 테이블에 복사하며,
    상기 제3디코딩단계는 상기 1-문맥 모델에서 상기 2-문맥 모델로의 전환시 상기 부모 노드 패턴에 대한 1-문맥 모델의 확률 테이블을 동일한 부모 노드 패턴에서의 각각의 위치에 대한 확률 테이블에 복사하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  57. 제 56항에 있어서,
    상기 1-문맥 모델은 상기 부모 노드의 클래스인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  58. 제 57항에 있어서,
    상기 클래스의 전체 개수는 22이며,
    기본변환들에 의해 생성되는 직교변환 G에 의해 연결될 때 두개의 노드가 동일한 클래스에 속하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현방법:
    상기 기본변환은,
    이며,
    여기서,m 1m 2는 각각 x=y 및 y=z 평면으로의 투영이며,m 3는 x=0 평면으로의 투영이다.
  59. 제 56항에 있어서,
    상기 2-문맥 모델은 상기 부모 노드의 클래스 및 상기 부모 노드에서의 상기 현재 노드의 위치인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  60. 제 56항에 있어서,
    상기 제2디코딩단계는,
    상기 문맥에 대응하는 확률 테이블로부터 상기 문맥에서의 상기 현재 노드의 발생 확률을 검색하는 단계;
    상기 확률검색부로부터 입력받은 확률열에 의해 상기 옥트리를 압축하는 단계; 및
    상기 현재 문맥에서의 상기 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  61. 제 56항에 있어서,
    상기 제3디코딩단계는,
    상기 현재 노드의 부모 노드를 검색하는 단계;
    상기 검색된 부모 노드가 속하는 클래스를 검출하고 상기 부모 노드를 상기 검출된 클래스의 표준 노드로 취급하는 변환을 검출하는 단계;
    상기 부모 노드에 상기 변환을 적용하고 상기 현재 노드가 매핑되어 있는 상기 표준 노드에서 자녀 노드의 위치를 검색하는 단계;
    상기 현재 노드에 상기 변환을 적용하여 상기 검출된 클래스의 표준 노드에서의 위치에서 적층 패턴을 획득하는 단계;
    상기 클래스와 상기 위치로 구성되는 조합에 대응하는 확률 테이블의 엔트리로부터 필요한 확률을 검출하는 단계;
    상기 제2검출부로부터 입력받은 확률열에 의해 상기 옥트리를 압축하는 단계; 및
    상기 현재 문맥에서의 상기 현재 노드의 발생 빈도에 소정의 증분을 더하여 확률 테이블을 갱신하는 단계;를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  62. 제 55항에 있어서,
    상기 형태정보는 상기 큐브의 측면을 따라 존재하는 옥트리 잎들의 최대 개수가 기록되는 해상도필드, 상기 옥트리의 내부노드의 구조를 나타내는 배열이 기록되는 옥트리필드, 및 상기 옥트리의 내부노드에 대응하는 참조이미지의 인덱스가 기록되는 인덱스필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  63. 제 62항에 있어서,
    상기 내부노드 각각은 바이트로 표현되며, 상기 내부노드에 속하는 자녀노드에 대한 하위 자녀노드의 존재여부는 상기 바이트를 구성하는 비트열에 기록되는 노드정보에 의해 표현되는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  64. 제 55항에 있어서,
    상기 참조이미지는 시점정보와 상기 시점정보에 대응하는 색상이미지로 구성되는 깊이이미지노드인 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  65. 제 64항에 있어서,
    상기 시점정보는 상기 객체에 대한 이미지 평면을 규정하는 복수의 필드로 구성되며,
    상기 복수의 필드는 상기 이미지 평면을 바라보는 위치가 기록되는 위치필드, 상기 이미지 평면을 바라보는 방향이 기록되는 방향필드, 상기 위치 및 상기 방향에 의해 특정되는 시점으로부터 상기 이미지 평면까지의 시야영역의 너비와 높이가 기록되는 시야필드, 및 상기 시야영역이 너비와 높이로 표시되는 직교투영방법과 상기 시야영역이 수평각과 수직각으로 표시되는 원근투영방법 중에서 선택된 투영방법이 기록되는 투영방법필드를 포함하는 것을 특징으로 하는 깊이 이미지 기반 3차원 객체 표현 방법.
  66. 제 30항에 기재된 깊이 이미지 기반 3차원 객체 표현 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  67. 제 55항에 기재된 깊이 이미지 기반 3차원 객체 표현 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2002-0067970A 2001-11-27 2002-11-04 깊이 이미지 기반 3차원 객체 표현 장치 및 방법 KR100446635B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2002344720A JP3957620B2 (ja) 2001-11-27 2002-11-27 深さイメージ基盤3次元客体を表現するための装置及び方法
CA2514655A CA2514655C (en) 2001-11-27 2002-11-27 Apparatus and method for depth image-based representation of 3-dimensional object
EP02258159A EP1321894B1 (en) 2001-11-27 2002-11-27 Apparatus and method for representing 3-dimensional objects using depth images
US10/305,065 US8217941B2 (en) 2001-11-27 2002-11-27 Apparatus and method for depth image-based representation of 3-dimensional object
ES02258159T ES2374066T3 (es) 2001-11-27 2002-11-27 Aparato y procedimiento para representar objetos tridimensionales usando imágenes con profundidad.
CA002413056A CA2413056C (en) 2001-11-27 2002-11-27 Apparatus and method for depth image-based representation of 3-dimensional object
CN 02151900 CN1261912C (zh) 2001-11-27 2002-11-27 基于深度图像表示三维物体的装置和方法
JP2006204014A JP4629005B2 (ja) 2001-11-27 2006-07-26 深さイメージに基づく3次元客体の表現装置、3次元客体の表現方法およびその記録媒体
JP2010157343A JP2010218588A (ja) 2001-11-27 2010-07-09 深さイメージに基づく3次元客体の表現装置、3次元客体の表現方法およびその記録媒体
US13/342,714 US8390622B2 (en) 2001-11-27 2012-01-03 Apparatus and method for depth image-based representation of 3-dimensional object

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US33316701P 2001-11-27 2001-11-27
US60/333,167 2001-11-27
US36254502P 2002-03-08 2002-03-08
US60/362,545 2002-03-08
US37656302P 2002-05-01 2002-05-01
US60/376,563 2002-05-01
US39530402P 2002-07-12 2002-07-12
US60/395,304 2002-07-12

Publications (2)

Publication Number Publication Date
KR20030043637A true KR20030043637A (ko) 2003-06-02
KR100446635B1 KR100446635B1 (ko) 2004-09-04

Family

ID=29587838

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2002-0067971A KR100450823B1 (ko) 2001-11-27 2002-11-04 깊이 이미지 기반 3차원 물체의 표현을 위한 노드 구조
KR10-2002-0067970A KR100446635B1 (ko) 2001-11-27 2002-11-04 깊이 이미지 기반 3차원 객체 표현 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR10-2002-0067971A KR100450823B1 (ko) 2001-11-27 2002-11-04 깊이 이미지 기반 3차원 물체의 표현을 위한 노드 구조

Country Status (4)

Country Link
US (3) US8217941B2 (ko)
JP (2) JP2010033594A (ko)
KR (2) KR100450823B1 (ko)
ES (2) ES2374064T3 (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006109980A1 (en) * 2005-04-11 2006-10-19 Samsung Electronics Co., Ltd. Depth image-based representation method for 3d object, modeling method and apparatus, and rendering method and apparatus using the same
KR100951890B1 (ko) * 2008-01-25 2010-04-12 성균관대학교산학협력단 상황 모니터링을 적용한 실시간 물체 인식 및 자세 추정 방법
WO2011112178A1 (en) * 2010-03-08 2011-09-15 Celartem, Inc. Lidar triangular network compression
US8111254B2 (en) 2005-04-11 2012-02-07 Samsung Electronics Co., Ltd. Depth image-based representation method for 3D object, modeling method and apparatus, and rendering method and apparatus using the same
WO2011155704A3 (ko) * 2010-06-11 2012-02-23 삼성전자주식회사 깊이 전이 데이터를 이용한 3d 비디오 인코딩/디코딩 장치 및 방법
KR20150002157A (ko) * 2013-06-28 2015-01-07 네이버 주식회사 단일 깊이 영상을 이용한 내용기반 3차원 모델 검색 방법, 이를 수행하는 3차원 모델 검색 서버 및 컴퓨터로 판독 가능한 기록매체
KR20150054650A (ko) * 2013-11-11 2015-05-20 삼성전자주식회사 3차원 영상 렌더링 방법 및 이를 적용한 영상 출력 장치
KR20160045911A (ko) * 2013-09-05 2016-04-27 이베이 인크. 단일 이미지로부터 깊이를 추정하기
CN110892726A (zh) * 2017-07-13 2020-03-17 交互数字Vc控股公司 用于编码/解码表示3d对象的点云的几何形状的方法和装置
KR20200046048A (ko) * 2017-09-01 2020-05-06 매직 립, 인코포레이티드 이전의 관점으로부터의 렌더링된 콘텐츠 및 비-렌더링된 콘텐츠를 사용하는 새로운 프레임의 생성
CN113574540A (zh) * 2019-09-16 2021-10-29 腾讯美国有限责任公司 点云压缩方法和装置
US11611774B2 (en) 2018-01-17 2023-03-21 Sony Corporation Image processing apparatus and image processing method for 3D data compression
KR102537808B1 (ko) * 2022-11-11 2023-05-31 주식회사 리빌더에이아이 다시점에 관련한 복수의 이미지를 통해 큐브맵을 생성하기 위한 방법, 서버 및 컴퓨터 프로그램

Families Citing this family (208)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPR212600A0 (en) * 2000-12-18 2001-01-25 Canon Kabushiki Kaisha Efficient video coding
KR100450823B1 (ko) 2001-11-27 2004-10-01 삼성전자주식회사 깊이 이미지 기반 3차원 물체의 표현을 위한 노드 구조
KR100434545B1 (ko) * 2002-03-15 2004-06-05 삼성전자주식회사 홈네트워크로 연결된 가전기기들을 제어하는 방법 및 장치
JP3857611B2 (ja) * 2002-05-20 2006-12-13 富士通株式会社 データ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置
JP3855053B2 (ja) * 2003-01-30 2006-12-06 国立大学法人 東京大学 画像処理装置、画像処理方法、及び画像処理プログラム
JP3802018B2 (ja) * 2003-07-10 2006-07-26 ザイオソフト株式会社 画像解析装置および画像解析プログラムおよび画像解析方法
KR20050036722A (ko) * 2003-10-14 2005-04-20 삼성전자주식회사 3차원 객체 그래픽 처리장치 및 3차원 신 그래프 처리장치
EP1531322A3 (en) * 2003-11-13 2007-09-05 Matsushita Electric Industrial Co., Ltd. Map display apparatus
EP1542167A1 (en) * 2003-12-09 2005-06-15 Koninklijke Philips Electronics N.V. Computer graphics processor and method for rendering 3D scenes on a 3D image display screen
KR100763903B1 (ko) * 2004-03-08 2007-10-05 삼성전자주식회사 Dibr데이터를 위한 스키마 및 스타일 쉬트
EP1575296A3 (en) 2004-03-08 2007-11-07 Samsung Electronics Co., Ltd. Schema and style sheet for DIBR data
US7589719B2 (en) * 2004-07-15 2009-09-15 The Regents Of The University Of California Fast multi-pass partitioning via priority based scheduling
US9024949B2 (en) * 2004-10-13 2015-05-05 Sony Corporation Object representation using distance functions
US7733347B2 (en) * 2004-11-05 2010-06-08 Microsoft Corporation Automated construction of shader programs
US7598953B2 (en) * 2004-11-05 2009-10-06 Microsoft Corporation Interpreter for simplified programming of graphics processor units in general purpose programming languages
US7800620B2 (en) * 2004-11-05 2010-09-21 Microsoft Corporation Optimizing automated shader program construction
KR100571846B1 (ko) * 2004-12-16 2006-04-17 삼성전자주식회사 3차원 영상의 계층적 구조에 기반한 적응적 랜더링 장치및 방법과 그 방법을 수행하기 위한 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록매체
KR100657940B1 (ko) * 2004-12-28 2006-12-14 삼성전자주식회사 깊이 영상 기반 표현 데이터 압축에 관한 메타표현을이용한 입력파일 생성 방법 및 시스템과, afx부호화방법 및 장치
KR100624457B1 (ko) * 2005-01-08 2006-09-19 삼성전자주식회사 깊이-영상 기반의 모델링 방법 및 장치
JP4757299B2 (ja) * 2005-04-11 2011-08-24 サムスン エレクトロニクス カンパニー リミテッド 3d圧縮データの生成、復元方法及びその装置
US8489562B1 (en) 2007-11-30 2013-07-16 Silver Peak Systems, Inc. Deferred data storage
US8929402B1 (en) * 2005-09-29 2015-01-06 Silver Peak Systems, Inc. Systems and methods for compressing packet data by predicting subsequent data
US8811431B2 (en) 2008-11-20 2014-08-19 Silver Peak Systems, Inc. Systems and methods for compressing packet data
KR101357982B1 (ko) 2006-01-09 2014-02-05 톰슨 라이센싱 멀티-뷰 비디오 코딩을 위한 축소 해상도 갱신 모드를제공하는 방법 및 장치
GB2476417B (en) * 2006-01-11 2011-07-27 Samsung Electronics Co Ltd Method and apparatus for encoding/decoding graphic data
KR101334173B1 (ko) 2006-01-11 2013-11-28 삼성전자주식회사 그래픽 데이터 부호화 및 복호화 방법과 장치
MX2008012382A (es) * 2006-03-29 2008-11-18 Thomson Licensing Metodos y aparatos para usarse en un sistema de codificacion de video de multiples vistas.
US8755381B2 (en) 2006-08-02 2014-06-17 Silver Peak Systems, Inc. Data matching using flow based packet data storage
US8885632B2 (en) 2006-08-02 2014-11-11 Silver Peak Systems, Inc. Communications scheduler
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US20080082301A1 (en) * 2006-10-03 2008-04-03 Sabrina Haskell Method for designing and fabricating a robot
TWI314832B (en) * 2006-10-03 2009-09-11 Univ Nat Taiwan Single lens auto focus system for stereo image generation and method thereof
US8929434B2 (en) * 2006-10-14 2015-01-06 Ubiquity Broadcasting Corporation Video enhancement internet media experience in converting high definition formats to video formats
DE102007008767B3 (de) * 2007-02-22 2008-07-24 Tomtec Imaging Systems Gmbh Verfahren und Vorrichtung zur Darstellung von 3D Bilddatensätzen auf 2D Bildern
DE102007014647B4 (de) * 2007-03-27 2009-07-09 Siemens Ag Verfahren und Vorrichtung zur Farbwertanpassung für eine rauscharme Visualisierung volumetrischer Objekte
CA2627999C (en) * 2007-04-03 2011-11-15 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Canada Generation of a depth map from a monoscopic color image for rendering stereoscopic still and video images
US8031937B2 (en) * 2007-04-04 2011-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Frame buffer compression and decompression method for graphics rendering
US20080259079A1 (en) * 2007-04-18 2008-10-23 Boxman Benjamin D Method and system for volume rendering
KR100918862B1 (ko) * 2007-10-19 2009-09-28 광주과학기술원 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체
US8307115B1 (en) 2007-11-30 2012-11-06 Silver Peak Systems, Inc. Network memory mirroring
US8147339B1 (en) * 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
KR101367282B1 (ko) * 2007-12-21 2014-03-12 삼성전자주식회사 깊이 정보에 대한 적응적 정보 표현 방법 및 그 장치
KR20090076412A (ko) * 2008-01-08 2009-07-13 삼성전자주식회사 모델링 방법 및 장치
KR100940283B1 (ko) * 2008-01-31 2010-02-05 성균관대학교산학협력단 동일해상도의 옥트리 구조에서의 인접한 이웃셀의 주소검색방법
US9641822B2 (en) * 2008-02-25 2017-05-02 Samsung Electronics Co., Ltd. Method and apparatus for processing three-dimensional (3D) images
US8279222B2 (en) * 2008-03-14 2012-10-02 Seiko Epson Corporation Processing graphics data for a stereoscopic display
KR20100000671A (ko) 2008-06-25 2010-01-06 삼성전자주식회사 영상 처리 방법
JP4483983B2 (ja) * 2008-06-26 2010-06-16 ソニー株式会社 画像圧縮装置及び画像圧縮方法
US8743683B1 (en) 2008-07-03 2014-06-03 Silver Peak Systems, Inc. Quality of service using multiple flows
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US10805840B2 (en) 2008-07-03 2020-10-13 Silver Peak Systems, Inc. Data transmission via a virtual wide area network overlay
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
KR101502597B1 (ko) * 2008-11-13 2015-03-13 삼성전자주식회사 고심도 입체 영상 표시가 가능한 디스플레이 장치 및 방법
US9684956B2 (en) 2008-12-03 2017-06-20 Delaval Holding Ab Arrangement and method for determining a body condition score of an animal
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
KR101440184B1 (ko) 2009-01-19 2014-09-17 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 프로그램, 및 집적 회로
JP5573316B2 (ja) * 2009-05-13 2014-08-20 セイコーエプソン株式会社 画像処理方法および画像処理装置
US8506402B2 (en) 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
KR20110015356A (ko) * 2009-08-07 2011-02-15 한국전자통신연구원 차분 신호의 특성에 기반한 적응적인 변환 부호화/양자화 영역을 이용한 동영상 부호화/복호화 장치 및 그 방법
US8098247B2 (en) * 2009-09-24 2012-01-17 Crucs Holdings, Llc Systems and methods for geometric data compression and encryption
US8867820B2 (en) 2009-10-07 2014-10-21 Microsoft Corporation Systems and methods for removing a background of an image
US8963829B2 (en) 2009-10-07 2015-02-24 Microsoft Corporation Methods and systems for determining and tracking extremities of a target
US7961910B2 (en) * 2009-10-07 2011-06-14 Microsoft Corporation Systems and methods for tracking a model
US8564534B2 (en) 2009-10-07 2013-10-22 Microsoft Corporation Human tracking system
KR101631451B1 (ko) * 2009-11-16 2016-06-20 엘지전자 주식회사 영상표시장치 및 그 동작방법
US9317965B2 (en) * 2009-11-16 2016-04-19 Autodesk, Inc. Uniform point cloud decimation
US8643701B2 (en) 2009-11-18 2014-02-04 University Of Illinois At Urbana-Champaign System for executing 3D propagation for depth image-based rendering
WO2011087289A2 (en) * 2010-01-13 2011-07-21 Samsung Electronics Co., Ltd. Method and system for rendering three dimensional views of a scene
US20110216063A1 (en) * 2010-03-08 2011-09-08 Celartem, Inc. Lidar triangular network compression
US8560331B1 (en) 2010-08-02 2013-10-15 Sony Computer Entertainment America Llc Audio acceleration
KR101956639B1 (ko) 2010-09-13 2019-03-11 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 비디오 서버 및 게임 서버를 포함하는 컴퓨터 게임 시스템에서 컴퓨터 게임을 제공하는 방법 및 시스템
KR102126910B1 (ko) 2010-09-13 2020-06-25 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 부가기능의 관리
US8949913B1 (en) 2010-09-16 2015-02-03 Pixia Corp. Method of making a video stream from a plurality of viewports within large format imagery
JP5050094B2 (ja) * 2010-12-21 2012-10-17 株式会社東芝 映像処理装置及び映像処理方法
WO2012155104A1 (en) * 2011-05-11 2012-11-15 Proiam, Llc Enrollment apparatus, system, and method featuring three dimensional camera
US8743180B2 (en) * 2011-06-28 2014-06-03 Cyberlink Corp. Systems and methods for generating a depth map and converting two-dimensional data to stereoscopic data
US9300946B2 (en) 2011-07-08 2016-03-29 Personify, Inc. System and method for generating a depth map and fusing images from a camera array
US9130991B2 (en) 2011-10-14 2015-09-08 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
WO2013086137A1 (en) 2011-12-06 2013-06-13 1-800 Contacts, Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
CN102568026B (zh) * 2011-12-12 2014-01-29 浙江大学 一种多视点自由立体显示的三维增强现实方法
JP5846373B2 (ja) * 2012-01-13 2016-01-20 国立研究開発法人海洋研究開発機構 画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム
EP2627093A3 (en) * 2012-02-13 2013-10-02 Thomson Licensing Method and device for inserting a 3D graphics animation in a 3D stereo content
KR101287513B1 (ko) * 2012-03-08 2013-07-19 중앙대학교 산학협력단 3차원 렌더링을 위한 격자 기반의 텍스처 매핑장치 및 방법
US9311746B2 (en) 2012-05-23 2016-04-12 Glasses.Com Inc. Systems and methods for generating a 3-D model of a virtual try-on product
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US9530225B1 (en) * 2013-03-11 2016-12-27 Exelis, Inc. Point cloud data processing for scalable compression
US9866900B2 (en) 2013-03-12 2018-01-09 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to detect shapes
US20140267776A1 (en) * 2013-03-15 2014-09-18 MJK Holding. LLC Tracking system using image recognition
CN109951714B (zh) * 2013-04-08 2022-11-11 杜比国际公司 对lut进行编码的方法和进行解码的方法以及对应的设备
US20140368504A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Scalable volumetric 3d reconstruction
US9747680B2 (en) 2013-11-27 2017-08-29 Industrial Technology Research Institute Inspection apparatus, method, and computer program product for machine vision inspection
US9530226B2 (en) * 2014-02-18 2016-12-27 Par Technology Corporation Systems and methods for optimizing N dimensional volume data for transmission
US9286538B1 (en) * 2014-05-01 2016-03-15 Hrl Laboratories, Llc Adaptive 3D to 2D projection for different height slices and extraction of robust morphological features for 3D object recognition
WO2015172227A1 (en) * 2014-05-13 2015-11-19 Pcp Vr Inc. Method, system and apparatus for generation and playback of virtual reality multimedia
CN104008571B (zh) * 2014-06-12 2017-01-18 深圳奥比中光科技有限公司 基于深度相机的人体模型获取方法及网络虚拟试衣系统
US9798007B2 (en) 2014-07-01 2017-10-24 Sikorsky Aircraft Corporation Obstacle data model construction system with range sensor shadows and use in motion planning
US9948496B1 (en) 2014-07-30 2018-04-17 Silver Peak Systems, Inc. Determining a transit appliance for data traffic to a software service
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US9734595B2 (en) * 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
JP6248917B2 (ja) * 2014-12-11 2017-12-20 カシオ計算機株式会社 立体形成方法、立体形成装置、及び、プログラム
CN104834901B (zh) * 2015-04-17 2018-11-06 北京海鑫科金高科技股份有限公司 一种基于双目立体视觉的人脸检测方法、装置及系统
CA2984819C (en) * 2015-05-11 2023-10-10 Pointerra Technologies Pty Ltd Method and system for computer graphics rendering
US11274928B2 (en) * 2015-08-03 2022-03-15 Tomtom Global Content B.V. Methods and systems for generating and using localization reference data
JP6927980B2 (ja) * 2015-09-23 2021-09-01 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 3次元画像のための三角形メッシュの生成
JP6992511B2 (ja) * 2016-01-13 2022-01-13 ソニーグループ株式会社 情報処理装置および情報処理方法
US10147224B2 (en) 2016-02-16 2018-12-04 Samsung Electronics Co., Ltd. Method and apparatus for generating omni media texture mapping metadata
US10078333B1 (en) * 2016-04-17 2018-09-18 X Development Llc Efficient mapping of robot environment
US10432484B2 (en) 2016-06-13 2019-10-01 Silver Peak Systems, Inc. Aggregating select network traffic statistics
US9967056B1 (en) 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
KR102233009B1 (ko) * 2016-10-12 2021-03-29 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 삼차원 오브젝트의 표현의 직렬화
US10313673B2 (en) 2016-10-19 2019-06-04 Google Llc Methods and apparatus to encode and/or decode normals of geometric representations of surfaces
US10733766B2 (en) 2016-10-19 2020-08-04 Google, Llc Methods and apparatus to encode and/or decode normals of geometric representations of surfaces
US10229533B2 (en) * 2016-11-03 2019-03-12 Mitsubishi Electric Research Laboratories, Inc. Methods and systems for fast resampling method and apparatus for point cloud data
US9787321B1 (en) 2016-11-17 2017-10-10 Google Inc. Point cloud data compression using a space-filling curve
US10430975B2 (en) 2016-11-17 2019-10-01 Google Llc Advanced k-D tree encoding for point clouds by most significant axis selection
US10496336B2 (en) 2016-11-17 2019-12-03 Google Llc K-D tree encoding for point clouds using deviations
US10726608B2 (en) * 2016-11-23 2020-07-28 3D Systems, Inc. System and method for real-time rendering of complex data
KR20180069461A (ko) * 2016-12-15 2018-06-25 삼성전자주식회사 가속 구조를 생성하는 방법 및 장치
EP3565259A1 (en) * 2016-12-28 2019-11-06 Panasonic Intellectual Property Corporation of America Three-dimensional model distribution method, three-dimensional model receiving method, three-dimensional model distribution device, and three-dimensional model receiving device
GB2558314B (en) * 2017-01-02 2020-07-29 Canon Kk Improved attribute mapping to encode and decode 3D models
US11044202B2 (en) 2017-02-06 2021-06-22 Silver Peak Systems, Inc. Multi-level learning for predicting and classifying traffic flows from first packet data
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US10257082B2 (en) 2017-02-06 2019-04-09 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows
US10361712B2 (en) * 2017-03-14 2019-07-23 International Business Machines Corporation Non-binary context mixing compressor/decompressor
CN108805261B (zh) * 2017-04-28 2021-11-12 微软技术许可有限责任公司 基于八叉树的卷积神经网络
US10553035B2 (en) 2017-06-02 2020-02-04 Google Llc Valence based implicit traversal for improved compression of triangular meshes
US10950042B2 (en) 2017-06-02 2021-03-16 Google Llc Guided traversal in compression of triangular meshes
EP3422722A1 (en) * 2017-06-30 2019-01-02 Thomson Licensing Method for encoding a matrix of image views obtained from data acquired by a plenoptic camera
EP3429208A1 (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
EP3428887A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing Method and device for encoding a point cloud
US10432944B2 (en) 2017-08-23 2019-10-01 Avalon Holographics Inc. Layered scene decomposition CODEC system and methods
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
EP3467777A1 (en) * 2017-10-06 2019-04-10 Thomson Licensing A method and apparatus for encoding/decoding the colors of a point cloud representing a 3d object
GB201717011D0 (en) * 2017-10-17 2017-11-29 Nokia Technologies Oy An apparatus a method and a computer program for volumetric video
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
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US11194994B2 (en) * 2017-12-20 2021-12-07 X Development Llc Semantic zone separation for map generation
TWI686770B (zh) * 2017-12-26 2020-03-01 宏達國際電子股份有限公司 表面擷取方法、裝置及非暫態電腦可讀取記錄媒體
US11200726B2 (en) 2018-01-11 2021-12-14 Hewlett-Packard Development Company, L.P. Scanning suspension box
WO2019138163A1 (en) * 2018-01-15 2019-07-18 Nokia Technologies Oy A method and technical equipment for encoding and decoding volumetric video
TWI815842B (zh) * 2018-01-16 2023-09-21 日商索尼股份有限公司 影像處理裝置及方法
EP3514968B1 (en) * 2018-01-18 2023-03-08 BlackBerry Limited Methods and devices for entropy coding point clouds
EP3514969B1 (en) * 2018-01-18 2021-08-04 BlackBerry Limited Methods and devices using direct coding in point cloud compression
WO2019146691A1 (ja) * 2018-01-26 2019-08-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US10853975B2 (en) 2018-01-26 2020-12-01 Sony Corporation Hybrid projection-based point cloud texture coding
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead
US11153550B2 (en) * 2018-04-06 2021-10-19 Disney Enterprises, Inc. Depth codec for real-time, high-quality light field reconstruction
EP3937132A1 (en) 2018-04-09 2022-01-12 BlackBerry Limited Methods and devices for binary entropy coding of point clouds
JP7273029B2 (ja) 2018-04-10 2023-05-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
CA3096819A1 (en) * 2018-04-11 2019-10-17 Interdigital Vc Holdings, Inc. A method and apparatus for encoding/decoding a point cloud representing a 3d object
WO2019203839A1 (en) * 2018-04-19 2019-10-24 Hewlett-Packard Development Company, L.P. Querying images for discrete patterns using regular expressions
USD885065S1 (en) * 2018-04-23 2020-05-26 Stego Industries, LLC Vapor barrier wrap
USD889141S1 (en) 2018-04-23 2020-07-07 Stego Industries, LLC Vapor barrier wrap
WO2019216707A1 (en) * 2018-05-10 2019-11-14 Samsung Electronics Co., Ltd. Method and apparatus for processing three dimensional object image using point cloud data
BR112020026567A2 (pt) * 2018-06-25 2021-03-23 Huawei Technologies Co., Ltd. Aparelho e método para obtenção de códigos geométricos híbridos de nuvens de pontos
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
EP3595179B1 (en) * 2018-07-10 2023-07-05 BlackBerry Limited Methods and devices for lossy coding of point cloud occupancy
EP3595180B1 (en) * 2018-07-10 2021-12-08 BlackBerry Limited Methods and devices for neighbourhood-based occupancy prediction in point cloud compression
EP3595181B1 (en) * 2018-07-11 2023-09-06 BlackBerry Limited Predictor-copy coding mode for coding of point clouds
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
US10891758B2 (en) 2018-07-23 2021-01-12 Google Llc Geometry encoder
US10762394B2 (en) 2018-07-31 2020-09-01 Intel Corporation System and method for 3D blob classification and transmission
US10887574B2 (en) 2018-07-31 2021-01-05 Intel Corporation Selective packing of patches for immersive video
US10893299B2 (en) 2018-07-31 2021-01-12 Intel Corporation Surface normal vector processing mechanism
US11178373B2 (en) 2018-07-31 2021-11-16 Intel Corporation Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments
US11212506B2 (en) * 2018-07-31 2021-12-28 Intel Corporation Reduced rendering of six-degree of freedom video
JP7463278B2 (ja) * 2018-08-30 2024-04-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US10650554B2 (en) 2018-09-27 2020-05-12 Sony Corporation Packing strategy signaling
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
WO2020072665A1 (en) * 2018-10-02 2020-04-09 Futurewei Technologies, Inc. Hierarchical tree attribute coding in point cloud coding
EP3633857B1 (en) 2018-10-03 2022-01-26 BlackBerry Limited Methods and devices for on-the-fly coder mapping updates in point cloud coding
US11057631B2 (en) 2018-10-10 2021-07-06 Intel Corporation Point cloud coding standard conformance definition in computing environments
US10762667B2 (en) 2018-11-30 2020-09-01 Point Cloud Compression, B.V. Method and apparatus for compression of point cloud data
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
US10970904B1 (en) * 2019-06-21 2021-04-06 Twitch Interactive, Inc. Interface layout using relative positioning
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11223836B2 (en) * 2019-12-02 2022-01-11 Tencent America LLC Method and apparatus for point cloud coding
CN111161416B (zh) * 2019-12-11 2023-08-29 北京互时科技股份有限公司 根据模型形状信息精确调整模型显示优先级的方法和系统
US11544903B2 (en) 2019-12-13 2023-01-03 Sony Group Corporation Reducing volumetric data while retaining visual fidelity
EP4068789A4 (en) * 2020-01-07 2023-01-04 LG Electronics Inc. POINT CLOUD DATA TRANSMITTER DEVICE, POINT CLOUD DATA TRANSMITTER METHOD, POINT CLOUD DATA RECEIVE DEVICE AND POINT CLOUD DATA RECEIVE METHOD
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11475605B2 (en) 2020-01-09 2022-10-18 Apple Inc. Geometry encoding of duplicate points
US11957974B2 (en) 2020-02-10 2024-04-16 Intel Corporation System architecture for cloud gaming
US11503266B2 (en) * 2020-03-06 2022-11-15 Samsung Electronics Co., Ltd. Super-resolution depth map generation for multi-camera or other environments
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
CN113742968A (zh) * 2021-08-27 2021-12-03 南方科技大学 变梯度多孔结构模型生成方法、装置及存储介质
CN116049924B (zh) * 2023-03-07 2023-07-04 武汉益模科技股份有限公司 一种基于Cuda的三维零件差异分析方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3816726A (en) * 1972-10-16 1974-06-11 Evans & Sutherland Computer Co Computer graphics clipping system for polygons
JPS6476374A (en) * 1987-09-18 1989-03-22 Toshiba Corp Depth map producing device
US5579455A (en) * 1993-07-30 1996-11-26 Apple Computer, Inc. Rendering of 3D scenes on a display using hierarchical z-buffer visibility
US5600763A (en) * 1994-07-21 1997-02-04 Apple Computer, Inc. Error-bounded antialiased rendering of complex scenes
JPH08249491A (ja) * 1995-02-14 1996-09-27 Internatl Business Mach Corp <Ibm> 奥行き情報を含むテクスチャ・イメージを用いる3dグラフィック装置
US5819017A (en) * 1995-08-22 1998-10-06 Silicon Graphics, Inc. Apparatus and method for selectively storing depth information of a 3-D image
US5774126A (en) * 1995-11-27 1998-06-30 Microsoft Corporation Method and apparatus for dynamically changing the color depth of objects displayed in a computer system
GB9613039D0 (en) * 1996-06-21 1996-08-28 Philips Electronics Nv Image data compression for interactive applications
WO1998000811A1 (en) * 1996-06-28 1998-01-08 Resolution Technologies, Inc. Fly-through computer aided design method and apparatus
US5923330A (en) * 1996-08-12 1999-07-13 Ncr Corporation System and method for navigation and interaction in structured information spaces
US6124864A (en) * 1997-04-07 2000-09-26 Synapix, Inc. Adaptive modeling and segmentation of visual image streams
JP3034483B2 (ja) * 1997-04-21 2000-04-17 核燃料サイクル開発機構 オブジェクト探索方法およびその方法を用いた装置
EP0928460B1 (en) * 1997-07-29 2003-01-29 Philips Electronics N.V. Method of reconstruction of tridimensional scenes and corresponding reconstruction device and decoding system
US6249285B1 (en) * 1998-04-06 2001-06-19 Synapix, Inc. Computer assisted mark-up and parameterization for scene analysis
US6215496B1 (en) * 1998-07-23 2001-04-10 Microsoft Corporation Sprites with depth
JP2000057380A (ja) * 1998-08-07 2000-02-25 Fujitsu Ltd 画像処理装置及び画像処理方法並びに記録媒体
US6310620B1 (en) * 1998-12-22 2001-10-30 Terarecon, Inc. Method and apparatus for volume rendering with multiple depth buffers
US6285779B1 (en) * 1999-08-02 2001-09-04 Trident Microsystems Floating-point complementary depth buffer
US6639597B1 (en) 2000-02-28 2003-10-28 Mitsubishi Electric Research Laboratories Inc Visibility splatting and image reconstruction for surface elements
JP2001283201A (ja) 2000-03-31 2001-10-12 Toshiba Corp 3次元画像データ作成方法及び3次元画像データを用いた任意視点画像作成方法
US6664958B1 (en) * 2000-08-23 2003-12-16 Nintendo Co., Ltd. Z-texturing
US6677945B2 (en) * 2001-04-20 2004-01-13 Xgi Cayman, Ltd. Multi-resolution depth buffer
KR100450823B1 (ko) 2001-11-27 2004-10-01 삼성전자주식회사 깊이 이미지 기반 3차원 물체의 표현을 위한 노드 구조

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8111254B2 (en) 2005-04-11 2012-02-07 Samsung Electronics Co., Ltd. Depth image-based representation method for 3D object, modeling method and apparatus, and rendering method and apparatus using the same
WO2006109980A1 (en) * 2005-04-11 2006-10-19 Samsung Electronics Co., Ltd. Depth image-based representation method for 3d object, modeling method and apparatus, and rendering method and apparatus using the same
KR100951890B1 (ko) * 2008-01-25 2010-04-12 성균관대학교산학협력단 상황 모니터링을 적용한 실시간 물체 인식 및 자세 추정 방법
WO2011112178A1 (en) * 2010-03-08 2011-09-15 Celartem, Inc. Lidar triangular network compression
WO2011155704A3 (ko) * 2010-06-11 2012-02-23 삼성전자주식회사 깊이 전이 데이터를 이용한 3d 비디오 인코딩/디코딩 장치 및 방법
KR20150002157A (ko) * 2013-06-28 2015-01-07 네이버 주식회사 단일 깊이 영상을 이용한 내용기반 3차원 모델 검색 방법, 이를 수행하는 3차원 모델 검색 서버 및 컴퓨터로 판독 가능한 기록매체
US10255686B2 (en) 2013-09-05 2019-04-09 Ebay Inc. Estimating depth from a single image
KR20160045911A (ko) * 2013-09-05 2016-04-27 이베이 인크. 단일 이미지로부터 깊이를 추정하기
KR20150054650A (ko) * 2013-11-11 2015-05-20 삼성전자주식회사 3차원 영상 렌더링 방법 및 이를 적용한 영상 출력 장치
CN110892726A (zh) * 2017-07-13 2020-03-17 交互数字Vc控股公司 用于编码/解码表示3d对象的点云的几何形状的方法和装置
KR20200046048A (ko) * 2017-09-01 2020-05-06 매직 립, 인코포레이티드 이전의 관점으로부터의 렌더링된 콘텐츠 및 비-렌더링된 콘텐츠를 사용하는 새로운 프레임의 생성
US11611774B2 (en) 2018-01-17 2023-03-21 Sony Corporation Image processing apparatus and image processing method for 3D data compression
CN113574540A (zh) * 2019-09-16 2021-10-29 腾讯美国有限责任公司 点云压缩方法和装置
KR102537808B1 (ko) * 2022-11-11 2023-05-31 주식회사 리빌더에이아이 다시점에 관련한 복수의 이미지를 통해 큐브맵을 생성하기 위한 방법, 서버 및 컴퓨터 프로그램
KR102549778B1 (ko) * 2022-11-11 2023-06-30 주식회사 리빌더에이아이 다시점에 관련한 복수의 이미지에 대한 전처리를 수행하고, 전처리된 복수의 이미지를 통해 큐브맵을 생성하기 위한 방법, 서버 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
KR20030043638A (ko) 2003-06-02
KR100446635B1 (ko) 2004-09-04
US8390622B2 (en) 2013-03-05
JP2010218588A (ja) 2010-09-30
US20030218606A1 (en) 2003-11-27
US8022951B2 (en) 2011-09-20
US8217941B2 (en) 2012-07-10
KR100450823B1 (ko) 2004-10-01
US20030214502A1 (en) 2003-11-20
ES2374066T3 (es) 2012-02-13
US20120176381A1 (en) 2012-07-12
JP2010033594A (ja) 2010-02-12
ES2374064T3 (es) 2012-02-13

Similar Documents

Publication Publication Date Title
KR100446635B1 (ko) 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
JP4629005B2 (ja) 深さイメージに基づく3次元客体の表現装置、3次元客体の表現方法およびその記録媒体
JP4832975B2 (ja) 深さイメージに基づく3次元客体を表現するためのノード構造を記憶させた、コンピュータで読み出し可能な記録媒体
RU2237283C2 (ru) Устройство и способ представления трехмерного объекта на основе изображений с глубиной
RU2237284C2 (ru) Способ генерирования структуры узлов, предназначенных для представления трехмерных объектов с использованием изображений с глубиной
KR100513732B1 (ko) 3차원 객체 데이터 부호화 및 복호화 방법 및 장치
EP1566769B1 (en) Method and apparatus for encoding and decoding 3D data
EP1431919B1 (en) Method and apparatus for encoding and decoding three-dimensional object data by using octrees
US6452596B1 (en) Methods and apparatus for the efficient compression of non-manifold polygonal meshes
Xu et al. Introduction to point cloud compression
CA2514655C (en) Apparatus and method for depth image-based representation of 3-dimensional object
Levkovich-Maslyuk et al. Depth image-based representation and compression for static and animated 3-D objects
Peter et al. The wavelet stream: Interactive multi resolution light field rendering
CA2517842A1 (en) Node structure for representing 3-dimensional objects using depth image
Bayakovski et al. Depth Image-based Representations and Compression for Static and Animated 3D Objects
Sim et al. Lossless compression of point-based data for 3D graphics rendering

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: 20120716

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130724

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140721

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee