KR100519779B1 - 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치 - Google Patents
깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치 Download PDFInfo
- Publication number
- KR100519779B1 KR100519779B1 KR10-2004-0008741A KR20040008741A KR100519779B1 KR 100519779 B1 KR100519779 B1 KR 100519779B1 KR 20040008741 A KR20040008741 A KR 20040008741A KR 100519779 B1 KR100519779 B1 KR 100519779B1
- Authority
- KR
- South Korea
- Prior art keywords
- depth
- warping
- image
- data
- point
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- D—TEXTILES; PAPER
- D06—TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
- D06Q—DECORATING TEXTILES
- D06Q1/00—Decorating textiles
- D06Q1/10—Decorating textiles by treatment with, or fixation of, a particulate material, e.g. mica, glass beads
-
- D—TEXTILES; PAPER
- D04—BRAIDING; LACE-MAKING; KNITTING; TRIMMINGS; NON-WOVEN FABRICS
- D04D—TRIMMINGS; RIBBONS, TAPES OR BANDS, NOT OTHERWISE PROVIDED FOR
- D04D9/00—Ribbons, tapes, welts, bands, beadings, or other decorative or ornamental strips, not otherwise provided for
- D04D9/06—Ribbons, tapes, welts, bands, beadings, or other decorative or ornamental strips, not otherwise provided for made by working plastics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Textile Engineering (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및 장치에 관한 것으로서, 그 방법은 (a) 영상 기반 그래픽 데이터로 표현된 3차원 객체를 읽어들이는 단계; (b) 소정의 시점(view point)에서 상기 영상기반 그래픽 데이터의 참조영상에 대해 3차원 워핑을 수행하여 워핑영상을 얻는 단계; (c) 워핑영상에 대해 각 화소별로 깊이 테스트와 스플래팅을 수행하여 최종 컬러데이터를 얻는 단계; 및 (d) 최종 컬러데이터를 이용하여 객체를 시각화하는 단계를 포함함을 특징으로 한다.
본 발명에 의하면, 영상 기반으로 표현된 3차원 그래픽 객체의 가시화를 용이하게 하여, 메모리의 사용량을 줄이면서 초당 가시화 할 수 있는 횟수를 증가시킬 수 있다. 특히 이동 단말기기에 이용될 경우 매우 효과적으로 3차원 그래픽 객체의 시각화를 수행할 수 있다.
Description
본 발명은 3차원 그래픽에 관한 것으로서, 보다 상세하게는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및 장치에 관한 것이다.
3차원 그래픽에 관한 연구의 초기부터 연구자들의 궁극적인 목표는 실제 세계와 같은 현실적인(realistic) 그래픽 화면을 생성하는 것이다. 현재 컴퓨터 그래픽에서 3차원 객체 표현의 주요한 방법은 다각형(polygonal) 모델이다. 임의의 형상을 색상 다각형의 집합, 즉 삼각형(triangle)들에 의해 대략적으로 표현할 수 있다. 현재 소프트웨어 알고리즘의 엄청난 진보와 그래픽 하드웨어의 발전으로 인해 복잡한 객체 및 장면을 실시간으로 상당히 현실적인 정지 및 애니메이션 모델로 시각화하는 것이 가능하다.
최근 휴대폰이나 개인정보단말기(Personal Data Assistant : PDA)와 같은 이동 단말 기기가 급속도로 보급되고 캐릭터 서비스, 동영상, 음악, 게임 등 각종 멀티미디어 서비스를 이동기기를 통해 공급하는 환경이 구축되면서 3차원 그래픽 객체를 이동기기에서 재생하고자 하는 시도가 진행되고 있다. 그러나 일반 PC와는 달리 이동 기기는 중앙연산처리기(CPU)의 성능이 낮고, 부동 소수점 연산을 지원하지 않으며, 3차원 그래픽 가속기를 장착하고 있지 않기 때문에 PC와 같은 수준의 시각화 성능을 확보하는 것이 매우 어렵다.
한편, 깊이 이미지 기반 표현(Depth image-based representation : DIBR)은 복잡한 기하학적 구조를 가진 객체를 쉽게 표현하고 시각화하는 새로운 표현방법 이다 [1][2]. 상기 DIBR 은 MPEG-4 AFX(Animation Framework eXtension)에 채택되어 왔다 [1]. 컴퓨터 그래픽에서는 전형적으로 다각형 메쉬(polygonal meshes)로 객체(object)를 표현하여 왔지만, DIBR의 표현 방법 중 심플텍스쳐(SimpleTexture)는 3차원 그래픽 객체를 눈에 보이는 객체의 표면을 감싸는(covering) 참조 영상(reference image)의 집합으로 나타낸다. 각 참조 이미지는 상응하는 깊이 맵(depth map)으로 나타내어지며, 상기 깊이 맵은 이미지 평면의 픽셀로부터 객체 표면까지의 거리를 배열(array)로 나타낸 것이다. 심플텍스쳐의 잇점 중 하나는 다각형모델을 직접 사용하지 않고도 참조 이미지가 객체에 대한 양질(high quality)의 시각화(visualization)를 제공할 수 있다는 것이다. 게다가 새로운 뷰(view)를 만들어 내기 위한 시각화의 계산량의 복잡도는 풍경(scene)의 복잡성에는 관계없이 뷰의 픽셀 수(즉, 뷰의 해상도)에만 관련된다. 이러한 특징은 스크린의 해상도가 낮은 이동 기기에서의 시각화에 큰 도움을 줄 수가 있다. 상기 심플텍스쳐는 도 1과 같이 3차원 객체를 N개의 카메라에서 관측한 컬러 및 깊이영상으로 표현한다.
DIBR 패밀리(family)의 또 다른 형식(format)은 포인트텍스쳐(PointTexture) 및 팔진트리영상(OctreeImage)이다. 상기 포인트텍스쳐는 도 2와 같이 하나의 카메라 위치에서 바라본 픽셀들의 배열로 객체를 표현한다. 각각의 포인트텍스쳐 픽셀은 색깔, 픽셀로부터 카메라까지의 거리에 해당하는 깊이 및 포인트텍스쳐 시각화를 보조하는 몇 개의 다른 속성들에 의해 표현된다. 각 시선(line of sight)을 따라 물체와의 교점에서 다수의 픽셀들이 있을 수 있으며, 따라서 포인트텍스쳐는 보통 다수의 층(multiple layer)으로 구성된다. 팔진트리영상은 도 3과 같이 팔진트리(Octree)로 물체의 형체를 표현하고, 각 면에서의 영상을 기준영상으로 가지는 표현 방식이다.
McMillan은 한 장의 참조 영상을 가지고 있는 경우, 깊이 테스트의 수행없이 새로운 시점에서의 시각화된 뷰를 생성할 수 있는 워핑 알고리듬을 개발하였다 [3]. 상기 McMillan의 방법을 설명하면 다음과 같다. 도 4와 같이 참조영상의 기하 정보를 바탕으로 월드 좌표계를 만든다. 예를 들어 기준 좌표계의 점 P1이 월드 좌표계의 점 P2를 만든다. 새로운 시점에서 점 P2를 바라보면 점 P3가 되고, 점 P3는 점 P1에 변환 T를 적용하여 만들어진다. 참조영상에서의 점들을 새로운 시점에서 바라봤을 때의 점들로 정렬하기 위해, 새로운 시점의 중심(새로운 카메라 중심)이 참조 영상에 투영되는 지점인 에피폴라 점(epipolar point)을 찾는다. 그리고, 이 점이 존재하는 투사 지점이 도 5와 같은 9개 영역 중 어느 영역에 속하는 지를 알아내고, z좌표의 부호에 따라 참조 영상의 픽셀을 스플래팅하는 순서를 바꾸어 주는 알고리듬이다. 이와 같이 설정된 순서대로, 격자 구조의 행과 열을 따라 한 픽셀씩 새로운 뷰로 투영시키는 순차적 시각화를 수행하면 항상 이후에 그려지는 화소가 더 가까운 지점을 나타내므로 깊이 테스트가 필요없게 된다.
Shade는 단순한 깊이영상을 확장하여 하나의 픽셀 위치에 다중의 픽셀들이 대응되어 있는 계층화 깊이영상(layered depth image)을 제안하였다 [4]. 단순한 깊이영상은 시점이 바뀔 때 데이터가 존재하지 않는 물체의 표면에 대해서 왜곡이 발생하는 데 비해, 계층화 깊이영상은 시점에서 관측되지 않는 물체의 뒷면까지 모두 3차원 좌표 정보를 가지고 있기 때문에 이러한 왜곡이 발생하지 않는 장점을 가지고 있다. 계층화 깊이영상의 시각화는 McMillan의 알고리듬과 거의 유사한데, 새로운 시점의 참조 영상에서의 에피폴라 점의 위치와 z좌표의 부호에 따라 도 5와 같이 새로운 영상에서의 픽셀을 그리는 순서, 즉 방향을 결정하게 된다. 이와 같은 방법으로 항상 시각화의 back-to-front 순서가 성립되어 깊이 테스트 없이 시각화가 가능하다.
한편, 이동기기에서 3차원 그래픽 객체의 시각화를 영상 기반 표현 기법을 이용하여 고속화하는 이전의 연구는 거의 이루어지지 않았다.
본 발명이 이루고자 하는 기술적 과제는 기존의 시각화에 비해 메모리의 사용량을 줄이고 시각화 속도를 증가시키기 위해, 심플텍스쳐, 포인트텍스쳐, 팔진트리영상 중 어느 하나로 표현된 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및 장치를 제공하는 것이다.
상술한 기술적 과제를 해결하기 위한 본 발명에 의한 깊이영상기반 3차원 그래픽 데이터 중 심플텍스쳐 데이터의 고속 시각화 방법은 (a) 복수의 참조영상으로 이루어지는 심플텍스쳐 데이터를 메모리에 할당하는 단계; (b) 소정의 시점(view point)에서 상기 심플텍스쳐 데이터의 참조영상에 대해 3차원 워핑을 수행하여 복수의 워핑영상을 얻는 단계; (c) 상기 복수의 워핑영상을 구성하는 화소에 대해 화소별로 깊이 테스트와 스플래팅을 수행하여 최종 컬러데이터를 얻는 단계; 및 (d) 상기 최종 컬러데이터를 이용하여 객체를 시각화하는 단계를 포함함을 특징으로 한다. 상기 (a)단계의 참조영상은 객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경 데이터를 제외함이 바람직하다. 상기 (a)단계의 참조영상은 객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경데이터를 제외한 깊이 데이터 및 컬러데이터를 구비함이 바람직하다. 상기 (b)단계의 3차원 워핑은 상기 심플텍스쳐 데이터를 구성하는 복수의 참조영상 중 소정의 시선 벡터와 참조영상의 법선 벡터가 이루는 각이 소정의 값 이하인 참조영상에 대해서만 수행됨이 바람직하다. 상기 (b)단계의 워핑은 (b1) 소정의 시점에서의 눈좌표계의 중심을 상기 심플텍스쳐 데이터의 참조 영상으로 투영하여 에피폴라 점을 찾는 단계; (b2) 상기 에피폴라 점이 투영된 영역이 참조영상에 정의된 9개의 영역 중 어디에 속하는가에 따라 참조영상 화소의 워핑순서를 결정하는 단계; (b3) 상기 순서에 따라 심플텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈좌표계로 변환하여 워핑영상을 얻는 단계; (b4) 상기 심플텍스쳐 데이터의 참조영상에 대해 상술한 과정을 반복 수행하는 단계를 포함한다. 상기 좌표변환은 부동소수점 연산을 정수 연산함에 의해 이루어짐이 바람직하다. 상기 정수연산은 부동소수를 정수로 변환하는 단계; 변환된 정수를 이용하여 좌표변환하는 단계; 및 상기 연산결과를 부동소수점 표현으로 바꾸는 단계를 구비함이 바람직하다. 상기 (c)단계의 화소별 깊이 테스트는 (c1) 첫 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값과 컬러 값을 전면 깊이버퍼와 전면 컬러버퍼에 저장하는 단계; (c2) 두 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값과 컬러 값을 후면 깊이버퍼와 후면 컬러버퍼에 저장하는 단계; (c3) 상기 전면 깊이 버퍼에 저장된 깊이 값과 후면 깊이 버퍼에 저장된 컬러 값을 비교하는 단계; (c4) 상기 비교결과 전면 깊이버퍼의 값이 후면 깊이 버퍼 값보다 작을 경우 전면 깊이버퍼 값과 전면 컬러 버퍼의 값을 그대로 두며, 반대로 전면 깊이버퍼의 값이 후면 깊이 버퍼의 값보다 크다면 전면깊이 버퍼의 값과 전면컬러버퍼의 값을 후면깊이 버퍼의 값과 후면컬러버퍼의 값으로 갱신하는 단계; 및 (c5) 상기 (c1) 내지 (c4) 단계를 상기 모든 워핑영상에 대해 수행하는 단계를 구비함이 바람직하다. 상기 (c)단계는 (cc) 소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절하는 단계를 더 구비하고, 상기 (d)단계는 상기 깊이데이터와 컬러데이터 및 크기가 조절된 스플랫을 이용하여 객체를 시각화함이 바람직하다. 상기 (cc)단계는 (cc1) 기준영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 정하는 단계; 및 (cc2) 초기 스플랫 크기를 줌인/줌아웃 때의 확대/축소 비율에 맞춰 변경하여 목적 영상을 생성하는 단계를 포함함이 바람직하다. 상기 (cc1)단계는 목적영상의 해상도가 기준영상의 해상도보다 같거나 작다면 스플랫 크기를 1로 설정하고, 목적영상의 해상도가 기준영상의 해상도보다 크다면 가로/세로 확대비율의 평균값으로써 스플랫의 크기를 설정함이 바람직하다. 상기 (cc2)단계는 확대 비율을 이용하여 줌인시에는 구멍의 생성을 막을 수 있도록 스플랫의 크기를 확대시키고, 줌아웃시에는 소정의 시각화 품질이 유지되도록 스플랫 크기를 축소시킴이 바람직하다.
상술한 기술적 과제를 해결하기 위한 본 발명에 의한 깊이영상기반 3차원 그래픽 데이터 중 포인트텍스쳐 데이터의 고속 시각화 방법은 (a) 3차원 객체를 포인트텍스쳐 데이터로 초기화하는 단계; (b) 소정의 시점(view point)에서 상기 포인트텍스쳐의 참조영상에 대해 에피폴라 점의 위치에 따라 픽셀을 그리는 워핑순서를 결정하는 단계; (c) 상기 워핑순서를 이용하여 3차원 객체를 시각화하는 단계를 포함함을 특징으로 한다.
상기 본 발명에 의한 포인트텍스쳐 데이터의 고속 시각화 방법에서 상기 (a)단계는 팔진트리 구조로 표현된 3차원 객체데이터를 포인트텍스쳐 데이터로 변환하여 포인트텍스쳐의 고속 시각화 방법에 적용할 수 있다. 상기 포인트텍스쳐 데이터의 고속 시각화 방법에서 상기 (a)단계는 팔진트리 구조로 표현된 3차원 객체데이터를 복호화하는 단계; 상기 복호화된 팔진트리를 포함하는 육면체의 소정의 면을 기준면으로 하여 상기 기준면의 수직방향으로, 기준면의 특정픽셀 위치에 상기 팔진트리의 체적소들을 투영하는 단계; 체적소들과 상기 기준면으로 투영된 체적소의 기준면 상의 픽셀까지의 거리를 깊이 값으로 하는 단계; 및 상기 체적소의 색상을 컬러 값으로 표시하는 단계를 포함함이 바람직하다. 포인트텍스쳐 데이터의 고속 시각화 방법에서 상기 (b)단계는 시점이 바뀌면 상기 포인트텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈 좌표계로 좌표변환한 후 상기 (b)단계를 수행함이 바람직하다. 포인트텍스쳐 데이터의 고속 시각화 방법에서 상기 좌표변환은 부동소수점 연산을 정수 연산함에 의해 이루어짐이 바람직하다. 포인트텍스쳐 데이터의 고속 시각화 방법에서, 상기 (c)단계는 상기 워핑순서와 적응적으로 조절된 스플랫의 크기를 이용하여 3차원 객체를 시각화함이 바람직하다.
포인트텍스쳐 데이터의 고속 시각화 방법에서 상기 (c)단계는 기준영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 하는 단계; 및 초기 스플랫 크기를 줌인/줌아웃 때의 확대/축소 비율에 맞춰 변경하여 목적 영상을 생성하는 단계를 포함함이 바람직하다.
상술한 기술적 과제를 해결하기 위한 본 발명에 의한 깊이영상기반 3차원 그래픽 데이터 중 심플텍스쳐 데이터의 고속 시각화 장치는 복수의 참조영상으로 이루어지는 심플텍스쳐 데이터를 메모리에 할당하는 메모리 할당부; 소정의 시점(view point)에서 상기 심플텍스쳐 참조영상에 대해 3차원 워핑을 수행하여 복수의 워핑영상을 생성하는 워핑부; 상기 워핑부에서 생성된 복수의 워핑영상을 구성하는 화소에 대해 화소별로 깊이 테스트를 수행하여 깊이데이터와 컬러데이터를 얻는 깊이테스트부; 및 상기 깊이데이터와 컬러데이터를 이용하여 3차원 객체를 시각화하는 시각화부를 포함함을 특징으로 한다. 상기 워핑부는 심플텍스쳐의 각 참조영상에 대해, 소정의 시점에서의 눈좌표계의 중심을 상기 심플텍스쳐 데이터의 참조 영상으로 투영하여 에피폴라 점을 찾는 에피폴라 변환부; 심플텍스쳐의 각 참조영상에 대해, 상기 에피폴라 점이 투영된 영역이 참조영상에 정의된 9개의 영역 중 어디에 속하는가에 따라 참조영상 화소의 워핑순서를 결정하는 워핑순서 결정부; 및 심플텍스쳐의 각 참조영상에 대해, 상기 순서에 따라 심플텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈좌표계로 변환하여 워핑영상을 얻는 화소 워핑부를 구비함이 바람직하다. 상기 깊이 테스트부는 첫 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값을 저장하는 전면 깊이버퍼; 첫 번째 참조영상에 대해 워핑을 수행하여 생성된 컬러 값을 저장하는 전면 컬러버퍼; 두 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값을 저장하는 후면 깊이버퍼; 두 번째 참조영상에 대해 워핑을 수행하여 생성된 컬러 값을 저장하는 후면 컬러버퍼; 상기 전면 깊이 버퍼에 저장된 깊이 값과 후면 깊이 버퍼에 저장된 깊이 값을 비교하는 깊이비교부; 및 상기 비교결과 전면 깊이버퍼의 값이 후면 깊이 버퍼 값보다 작을 경우 전면 깊이버퍼 값과 전면 컬러 버퍼의 값을 그대로 두며, 전면 깊이버퍼의 값이 후면 깊이 버퍼의 값보다 크다면 전면깊이 버퍼의 값과 전면컬러버퍼의 값을 후면깊이 버퍼의 값과 후면컬러버퍼의 값으로 갱신하고, 이를 모든 참조영상에 대해 수행하는 깊이 값 갱신부를 구비함이 바람직하다. 상기 깊이테스트부는 소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절하는 스플랫부를 더 구비하고, 상기 시각화부는 상기 깊이데이터와 컬러데이터 및 크기가 조절된 스플랫을 이용하여 3차원 객체를 시각화함을 특징으로 한다. 상기 스플랫부는 기준영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 정하는 스플랫크기설정부; 및 초기 스플랫 크기를 줌인/줌아웃 때의 확대/축소 비율에 맞춰 변경하여 목적 영상을 생성하는 적응적스플랫부를 포함함이 바람직하다.
상술한 기술적 과제를 해결하기 위한 본 발명에 의한, 깊이영상기반 3차원 데이터 중 포인트텍스쳐데이터의 고속 시각화장치는 3차원 객체를 포인트텍스쳐 데이터로 생성하는 포인트텍스쳐 초기화부; 소정의 시점(view point)에서 상기 포인트텍스쳐의 참조영상에 대해 에피폴라 점의 위치에 따라 픽셀을 그리는 워핑순서를 결정하는 워핑순서결정부; 및 소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절하는 포인트텍스쳐스플랫부; 상기 워핑순서와 적응적으로 크기가 조절된 스플랫을 이용하여 3차원 객체를 시각화하는 포인트텍스쳐 시각화부를 포함함이 바람직하다.
상기 포인트텍스쳐 초기화부는 팔진트리 구조로 표현된 3차원 객체데이터를 포인트텍스쳐 데이터로 변환함이 바람직하다. 상기 포인트텍스쳐 초기화부는 팔진트리 구조로 표현된 3차원 객체데이터를 복호화하는 팔진트리복호화부; 상기 복호화된 팔진트리를 포함하는 육면체의 소정의 면을 기준면으로 하여 상기 기준면의 수직방향으로, 기준면의 특정픽셀 위치에 상기 팔진트리의 체적소들을 투영하여, 상기 체적소들과 상기 기준면으로 투영된 체적소의 기준면 상의 픽셀까지의 거리를 깊이 값으로 하는 깊이값계산부; 및 상기 체적소의 색상을 컬러 값으로 표시하는 컬러값생성부를 포함함이 바람직하다. 상기 워핑순서결정부의 참조영상은 객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경데이터를 제외한 깊이 및 컬러 데이터를 구비함이 바람직하다. 상기 워핑순서결정부는 상기 시점이 바뀌면 상기 포인트텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈 좌표계로 좌표변환하는 좌표변환부를 더 구비함이 바람직하다. 상기 워핑순서결정부는 투영된 에피폴라 점을 향하는 방향으로 참조영상 화소의 가로 및 세로 방향 워핑 순서가 결정되며 에피폴라 점의 z 좌표가 양수이면 후방에서 전방으로, 음수이면 전방에서 후방으로 참조영상 화소의 z방향 워핑 순서가 결정됨이 바람직하다.
그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및 장치에 대해 상세히 설명한다. 본 발명은 크게 심플텍스쳐 시각화, 포인트텍스쳐 시각화, 팔진트리영상 시각화로 나누어진다. 그리고 상기 심플텍스쳐 시각화, 포인트텍스쳐 시각화 및 팔진트리영상 시각화는 공통적으로 정수연산을 이용한 고속시각화, 적응적 스플래팅, 기준영상에서 배경데이터 제거에 관한 기술이 사용된다.
먼저, 심플텍스쳐 시각화에 대해 설명하기로 한다. 도 6는 본 발명에 의한 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치에 대한 일 실시예의 구성을 블록도로 도시한 것으로서, 심플텍스쳐 데이터 메모리 할당부 (600), 워핑부(610), 깊이 테스트부(620), 스플랫부(630) 및 시각화부(640)를 포함하여 이루어진다.
상기 심플텍스쳐 데이터 메모리 할당부 (600)는 복수의 참조영상으로 이루어지는 심플텍스쳐 데이터를 메모리에 할당한다.
상기 워핑부(610)는 소정의 시점(view point)에서 상기 심플텍스쳐 데이터 메모리 할당부(600)의 심플텍스쳐 참조영상에 대해 3차원 워핑을 수행하여 복수의 워핑영상을 생성하며, 도 7에 도시된 바와 같이 에피폴라변환부(700), 워핑순서결정부(720) 및 화소워핑부(740)로 이루어진다.
상기 에피폴라변환부(700)는 소정의 시점에서의 눈 좌표계의 중심을 상기 심플텍스쳐 데이터의 참조 영상으로 투영하여 에피폴라 점을 찾는다. 상기 워핑순서결정부(720)는 에피폴라 점이 투영된 영역이 참조영상에 정의된 9개의 영역 중 어디에 속하는가에 따라 참조영상 화소의 워핑순서를 결정한다. 상기 화소워핑부(740)는 워핑순서에 따라 심플텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈좌표계로 변환하여 워핑영상을 얻는다.
상기 워핑부(610)에서 일어나는 연산은 상기 도 8에 도시된 바와 같이 정수변환부(800), 좌표연산부(810) 및 부동소수변환부(820)로 이루어지는 연산장치에 의해 수행된다. 상기 정수변환부(800)는 부동소수를 정수로 변환한다. 상기 좌표연산부(810)는 정수변환부(800)에서 변환된 정수를 이용하여 좌표변환한다. 상기 부동소수변환부(820)는 상기 좌표연산부(810)에서 좌표변환하여 연산한 결과를 부동소수점 표현으로 바꾼다.
상기 깊이테스트부(620)는 상기 워핑부(610)에서 생성된 복수의 워핑영상을 구성하는 화소에 대해 화소별로 깊이 테스트를 수행하여 최종 컬러데이터를 얻는다. 도 9는 상기 깊이테스트부의 구성을 블록도로 도시한 것으로서, 전면깊이버퍼(900), 후면깊이버퍼(910), 깊이값비교부(920), 갱신부(930), 전면컬러버퍼(940) 및 후면컬러버퍼(950)를 포함하여 이루어진다.
상기 전면깊이버퍼(900)는 첫 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값을 저장한다. 상기 전면컬러버퍼(940)는 첫 번째 참조영상에 대해 워핑을 수행하여 생성된 컬러 값을 저장한다. 상기 후면깊이버퍼(910)는 두 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값을 저장한다. 후면컬러버퍼(950)는 두 번째 참조영상에 대해 워핑을 수행하여 생성된 컬러 값을 저장한다. 상기 깊이비교부(920)는 상기 전면깊이버퍼에 저장된 깊이 값과 후면 깊이 버퍼에 저장된 깊이 값을 비교한다. 상기 갱신부(930)는 상기 비교결과 전면 깊이버퍼의 값이 후면 깊이 버퍼 값보다 작을 경우 전면 깊이버퍼 값과 전면 컬러 버퍼의 값을 그대로 두며, 전면 깊이버퍼의 값이 후면 깊이 버퍼의 값보다 크다면 전면깊이 버퍼의 값과 전면컬러버퍼의 값을 후면깊이 버퍼의 값과 후면컬러버퍼의 값으로 갱신하고, 이를 모든 참조영상에 대해 반복 수행한다.
상기 스플랫부(630)는 소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절하며, 스플랫크기설정부(1000) 및 적응적 스플랫부(1500)를 구비한다. 상기 스플랫크기설정부(1000)는 기준영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 정한다. 상기 적응적 스플랫부(1500)는 초기 스플랫 크기를 줌인(zoom in)/줌아웃(zoom out) 때의 확대/축소 비율에 맞춰 변경하여 목적영상을 생성한다.
상기 시각화부(640)는 상기 깊이데이터와 컬러데이터 및 크기가 조절된 스플랫을 이용하여 3차원 객체를 시각화한다.
도 11은 깊이영상기반 3차원 그래픽 데이터 중 심플텍스쳐 데이터의 고속시각화 장치의 동작을 흐름도로 도시한 것으로서, 이를 참조하여 심플텍스쳐 데이터의 고속시각화 장치의 동작을 설명하기로 한다.
먼저 '워핑(warping)'을 간략히 설명하면, 기준 시점(view point)에 대해 표현된 참조영상을 임의의 시점에서의 참조영상으로 변환하는 영상처리 기법을 말한다.
McMillan이 개발한 기존의 3차원 워핑(warping) 알고리듬은 단지 한 장의 참조 영상으로부터 새로운 뷰에서의 시각화된 3차원 객체 데이터를 생성하는 방법이다 [3]. 본 발명의 대상이 되는 심플텍스쳐는 3차원 객체 데이터를 표현하기 위하여 N장의 참조영상을 이용한다. 따라서 기존의 McMillan 알고리듬을 직접 이용할 수가 없다. 본 발명에서는 N장의 참조영상으로부터 워핑하여 3차원 객체 데이터를 생성하고 영상을 형성하는 방법을 제안한다. 여기서 상기 참조영상은 한 쌍의 컬러 영상과 깊이영상으로 표현된다. 따라서 먼저 심플텍스쳐데이터 메모리 할당부(600)에서 심플텍스쳐 데이터를 메모리에 할당한다.(1100단계)
그리고 나서 워핑부(610)에서 워핑을 수행하여 워핑영상을 생성한다.(1110단계) 이를 보다 자세히 설명하면 다음과 같다. 한 장의 참조 영상에 대해서 워핑을 하면, 그에 상응하는 깊이(depth)정보와 컬러(color)정보를 갖는 영상이 생성된다. 물론 이 경우 McMillan의 알고리듬에 의하여 깊이 테스트(depth test)는 수행하지 않고, 항상 깊이 버퍼(depth buffer)와 컬러 버퍼(color buffer)에 기록하게 된다.
상기 McMillan 알고리듬을 이용하여 N장 반복적으로 워핑을 적용한다. 그러나 이렇게 할 경우 N장 각각에 대해서는 워핑에 의한 깊이 값이 결정되지만, N장의 참조영상 상호 간에는 워핑에 의한 깊이 상호간의 전후관계를 알 수 없다. 따라서 깊이테스트부(620)는 참조영상 상호간에 깊이 데이터의 원근관계를 결정하기 위해 깊이 테스트를 수행한다.(1120단계) 그리고 최종적으로 시각화된 3차원 객체 데이터의 임의의 위치에서의 픽셀의 컬러 값은 N장의 참조 영상을 각각 워핑하여 그 결과 생성된 N개의 깊이 데이터들 중 시점에서 가장 가까운 깊이를 가지는 깊이 데이터에 대응되는 컬러 값이 된다. 그리고 시각화부(640)에서 상기 컬러 값을 화면에 나타낸다.
여기서 N개의 깊이 값들 중 어느 것이 시점에 가장 가까운 깊이 값인지 비교하는 방법은 다음과 같다. 먼저 첫번째 참조 영상에 대해 워핑을 수행하여 생성된 깊이 값과 컬러 값을 각각 전면깊이버퍼(900)와 전면컬러버퍼(940)에 저장한다. 두번째 참조 영상에 대해서도 워핑을 수행한 후 그 결과 값을 후면깊이버퍼(910)와 후면컬러버퍼(950)에 저장한다. 그리고 나서 상기 후면깊이버퍼(910)와 전면깊이 버퍼(900)에 저장된 깊이 값들은 깊이값비교부(920)에서 서로 비교된다. 만약 후면깊이버퍼(910)에 저장된 깊이 값이 전면깊이버퍼(900)에 저장된 깊이 값보다 작다면, 갱신부(930)는 후면컬러버퍼(950)의 해당 픽셀 위치의 컬러 값으로 전면컬러버퍼(940)의 해당 픽셀 위치의 컬러 값을 갱신한다. 만약 후면 깊이 버퍼의 깊이 값이 전면 깊이 버퍼의 깊이 값보다 크다면 컬러 버퍼를 변경하지 않는다. 상기와 같은 과정을 두 번째 참조 영상부터 N번째 참조 영상까지 수행하면, 항상 시점으로부터 보이는 면만을 화면에 나타낼 수 있게 된다.
한편, 상기 과정을 수행함에 필요한 계산량을 줄이기 위하여 다음과 같은 과정을 거친다. 상기 과정은 N장의 참조영상에 대해 모두 워핑을 하였지만, 그렇게 하지 않고, 사용자 상호작용(interaction)에 의한 임의의 시선 벡터와 참조 영상의 법선 벡터가 이루는 각도가 소정의 각도 이상이 되면, 해당 참조 영상은 워핑의 대상으로 고려하지 않는다. 예를 들어 임의의 시점(view point)과 참조영상이 서로 정반대 방향에 위치하고 있으면 상기 각도는 180도가 될 것이며, 이렇게 되면 정반대 방향에 있는 참조영상에 대해서는 워핑을 수행하지 않는다. 이와 같은 방법으로 계산량을 줄여 결국 시각화 속도를 향상시킬 수 있다.
상술한 워핑 방법이 종래의 깊이 버퍼를 사용한 방법보다 깊이 테스트의 수를 얼마나 줄일 수 있는 지 알아보기로 한다. 참조 영상의 해상도를 IR * JR 이라 하고, 새로운 뷰의 영상에 대한 해상도를 IN * JN 이라고 하자. 평균적으로 참조 영상의 1/2이 배경이 아닌 객체 영역이라고 가정한다.
이 때 종래의 깊이 버퍼를 사용하는 방법은 하나의 참조영상을 구성하고 있는 픽셀수가 1/2 * IR * JR 가 되고, 상기 각 픽셀에 대해 깊이 테스트를 한다. 그리고 이를 N 장의 참조영상에 대해 깊이 테스트를 수행하여야 하므로 결국 N * 1/2 * IR * JR 회의 깊이 테스트를 수행하게 된다. 그러나 본 발명에서와 같이 워핑 기법을 이용하면, 하나의 뷰 영상을 구성하고 있는 픽셀수는 IN * JN 이 되고, N장의 참조영상에 대한 깊이 테스트는 (N-1) *1/2 * (IN * JN) 회의 깊이 테스트를 수행한다.
일반적으로 영상의 해상도는 N 보다 매우 큰 값이기 때문에 결국 깊이 테스트의 수행 횟수는 (IR * JR)와 (IN * JN)값으로 근사된다. 따라서 본 발명에 의한 워핑 기법의 깊이 테스트의 횟수는 일정하므로 참조 영상의 해상도가 새로운 뷰 영상의 해상도보다 크면 클수록 깊이 테스트의 횟수는 상대적으로 적어지게 된다.
도 16은 N=6, IR = JR, IN = JN 인 경우를 가정하였을 때, 깊이 테스트의 횟수를 그래프로 도시한 것이다. 도 16의 그래프에 도시된 바와 같이, 본 발명에 의한 방식은 입력(참조) 영상의 해상도에 상관없이 출력(목적) 영상의 해상도에 의존적이다. 그런데, 대부분의 3차원 애플리케이션에서는 3차원 물체를 시각화할 때 확대/축소(Zoom In/Zoom Out) 등의 시점 변화가 빈번하게 일어나므로 3차원 물체나 장면을 최대한 정교하게 시각화를 해야하므로 고해상도의 입력 영상이 필요하다. 따라서 이와 같은 경우, 본 발명에 의한 방법은 고해상도의 입력영상에 대해 깊이 테스트를 하는 종래의 방법보다 적은 계산량으로 고품질의 렌더링이 가능하다는 장점이 있다.
일반적으로 부동소수점(floating point) 연산은 고정소수점(fixed point) 연산에 비해 보다 정확한 연산이 가능하지만 수십 배 이상의 CPU 클럭 수를 필요로 한다. 특히 PDA 또는 휴대폰과 같은 이동단말기에 채택된 CPU는 부동소수점 연산을 지원하지 않고 있다. 그런데 3차원 그래픽스 시각화에 필요한 대부분의 연산은 부동소수점 연산을 필요로 하기 때문에 이와 같은 환경에서는 고속 시각화가 힘들다는 제한이 있다. 따라서 본 발명에서는 이동단말기를 포함한 다양한 환경에서 영상 기반 모델의 고속 시각화를 가능하게 하기 위하여 시각화 알고리듬의 주요 부분의 부동소수점 연산을 고정소수점 연산화하고 이를 정수 연산으로 구현함으로써 시각화 속도를 향상시킨다.
정수 연산을 수행하는 경우 오버플로우(overflow)의 발생을 피하여야 하는데, 이를 위한 비트 할당 방법의 최악 경우 분석 (worst-case analysis)은 다음과 같다.
하나의 숫자를 정수로 표현하기 위하여 할당되는 비트수를 M이라고 하자. 이 때, 부호를 의미하는 하나의 비트를 제외하고 값의 절대값에는 M-1 비트가 할당된다. 이렇게 표현된 두 정수를 곱한 결과를 저장하기 위해서는 오버플로우를 피하기 위하여 2(M-1)+1 비트가 할당되어야 하고, 두 정수를 더한 결과를 저장하기 위해서는 역시 오버플로우를 피하기 위하여 M+1 비트가 필요하다. 본 발명에서는 동시에 취할 수 있는 곱셈의 수를 2회로 제한한다. 이 때 곱셈이 실행된 수의 덧셈을 K번 수행한다면 필요한 비트수는, 2(M-1)+1+K = 2M+K-1 비트가 필요하다. 일반적으로 시각화시 주로 발생되는 기하 연산의 경우 다음과 같은 형태의 affine 변환이 일어난다.
따라서 이 경우, 동시에 실행되는 덧셈은 3회가 되며 본 발명에서는 이것을 동시에 실행되는 덧셈의 최대값으로 본다. 이 때, 결과적으로 필요한 최대 비트수는 2M+2 비트가 되며 이를 저장하기 위한 단위 크기가 결국은 최종적으로 하나의 정수를 표현하기 위해 할당되는 비트수가 되는 것이다. 본 발명에서는 32비트를 할당하고 따라서 M의 최대값 MMax은 15가 되며, 표현할 수 있는 정수의 범위는 이 된다.
이하에서 본 발명에 의한 워핑부(610)에서 일어나는 정수 연산화 방법을 설명한다. 먼저 정수변환부(800)에서 부동소수를 정수로 변환한다. 일반적으로 정수로 변환하고자 하는 부동소수는 회전 행렬의 각 원소이므로 [-1, 1]의 범위를 가진다. 따라서 을 곱하여 부동소수를 의 범위의 정수로 변환할 수 있다.
그렇게 한 후 좌표연산부(810)에서 변환된 정수를 이용하여 연산을 수행한다. 상기 분석한 바와 같이 이 경우 오버플로우가 발생하지 않는다.
마지막으로, 부동소수변환부(820)에서 상기 연산 결과를 로 나누어 부동소수점 표현 방식으로 바꾸어준다. 정수 연산이 적용된 부분은 시각화 과정에서 심플텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈 좌표계로 바꾸어 주는 워핑부(610)이다.
한편, 본 발명은 적응적 스플랫 (splat) 크기 결정 기법을 사용하며, 지금부터는 이를 설명하기로 한다. 상기 1120단계에서 깊이 테스트가 수행되면, 모든 참조영상에 대해 상기 워핑과 깊이 테스트가 되었는지 검사하여(1130단계), 모든 참조영상에 대해 워핑과 깊이테스트가 되었으면 바로 시각화(1150단계)를 할 수 있지만, 본 발명의 실시예에서는 스플랫 크기를 조절함이 바람직하다.(1140단계) 영상 기반 시각화는 삼각형을 시각화의 요소로 이용하는 종래의 기법과는 달리 3차원 공간의 점(point)자체를 특정 형상과 크기를 가지는 스플랫(splat)으로서 영상에 찍음(splatting)으로써 시각화를 수행한다. 사용자의 시점 변화에 따라 줌인(zoom-in) 또는 줌 아웃(zoom-out)이 빈번하게 발생하는데, 이 때 만약 균일한 크기의 스플랫을 이용한다면 줌 인의 경우 구멍(hole)이 발생하게 되고, 줌 아웃인 경우 매우 거친 형태의 저품질 시각화가 수행되게 된다. 한편, 이를 보완하기 위하여 초기 3차원 영상 모델의 점의 밀도와 시점과 모델까지의 거리 및 시선 각도를 이용하여 최적의 스플랫 크기를 계산할 수 있으나 이는 매우 복잡한 계산을 필요로 하게 되고 따라서 고속의 시각화에는 적합하지 않다.
따라서 본 발명에서는 직교투영의 특징을 이용하여 줌 인 및 줌 아웃에 대해 적응적 크기의 스플랫을 적은 계산으로 구현하는 방법을 제안한다. 본 발명에 의한 방법은 2단계로 나누어진다. 제1단계에서는 스플랫크기설정부(100)에서 기준 영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 정한다. 제2단계에서는 적응적 스플랫부(1500)에서 초기 스플랫 크기를 줌인/줌아웃 때의 확대/축소 비율에 맞춰 변경하여 목적 영상을 생성한다. 각 단계의 세부 설명은 다음과 같다.
제1단계의 목적은 구멍이 없는 초기 뷰를 생성하는 것이다. 만약 목적 영상의 해상도가 기준 영상의 해상도보다 같거나 작다면 스플랫 크기를 1로 설정하고, 목적영상의 해상도가 기준영상의 해상도보다 크다면 가로/세로 확대비율의 평균값으로써 스플랫의 크기를 설정하여 초기 뷰를 생성한다. 이렇게 생성된 초기 뷰는 구멍을 가지지 않게 된다.
제2단계는 직교 투영의 특징을 이용한다. 즉 사영 투영(perspective projection)인 경우는 물체에/물체로부터 시점이 다가가는/멀어지는 비율과 목적 영상에 투영되는 물체의 확대/축소 비율이 틀리지만, 직교 영상은 이 비율이 같다. 따라서 투영된 영상에서의 좌표를 그 비율과 동일하게 확대/축소하면 줌인/줌아웃이 구현된다. 그리고 이 과정의 실제 구현은 물체의 3차원 좌표를 동일 비율로 확대/축소함으로써 확대/축소를 단 한번만 수행하게 된다. 본 발명에서는 그 비율을 이용하여 스플랫의 크기를 확대/축소시킴으로써 줌인시 적응적으로 구멍의 생성을 막고 역시 줌아웃시 매우 거친 형태의 저품질 시각화를 피할 수 있다.
한편, 본 발명에서는 시각화의 속도를 높이기 위해, 기준 영상에서 배경 데이터 제거 기법을 사용한다. 일반적으로 기준 영상의 일부분만이 객체 데이터로 이용되고 나머지는 배경 데이터로서 의미없는 부분을 구성한다. 이는 도 17에 잘 나타나 있다. 본 발명에서는 3차원 워핑을 위한 메모리 할당 및 워핑 자체에서 이러한 배경 데이터를 제외하여 메모리 사용량을 줄이면서 시각화 속도를 향상시킨다.
참조 영상을 저장할 때에, 객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경 데이터를 제외한 후 참조영상을 저장하여 메모리 사용량을 줄이면서 시각화 속도를 향상시킨다. 또한 참조영상을 저장하는 과정에서, 객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경 데이터를 제외하여 저장하여 메모리 사용량을 보다 더 줄이면서 시각화 속도를 향상시킨다.
다음으로 포인트텍스쳐 시각화에 대해 설명하기로 한다. 도 12는 본 발명에 의한, 깊이영상기반 3차원 그래픽 데이터 중 포인트텍스쳐 데이터의 고속 시각화 장치의 일 실시예에 대한 구성을 블록도로 도시한 것으로서, 포인트텍스쳐 초기화부(1200), 워핑순서결정부(1210), 포인트텍스쳐스플랫부(1220) 및 포인트텍스쳐 시각화부(1230)를 포함하여 이루어진다.
상기 포인트텍스쳐 초기화부(1200)는 3차원 객체를 포인트텍스쳐 데이터로 생성한다.
상기 워핑순서결정부(1210)는 소정의 시점(view point)에서 상기 포인트텍스쳐의 참조영상에 대해 에피폴라 점의 위치와 깊이좌표 값의 부호에 따라 픽셀을 그리는 워핑순서를 결정하되, McMillan의 워핑 방법과 달리 여기서는 직교 투영(Orthographic projection)의 특성을 고려하므로, 에피폴라 점의 깊이 좌표 값의 부호에 따라 그 워핑순서가 달라지지 않음을 포함한다. 상기 참조영상은 객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경 데이터를 제외한다. 상기 워핑순서 결정부(1210)는 시점이 바뀔 때는 좌표변환부(12)를 더 구비함이 바람직하다. 상기 좌표변환부(12)는 시점이 바뀌면 상기 포인트텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈 좌표계로 좌표변환한다. 상기 좌표변환부(12)는 상술한 심플텍스쳐의 좌표변환부(710)과 동일하며, 도 14에 도시된 바와 같이 부동소수를 정수로 변환하는 정수변환부(1400), 변환된 정수를 이용하여 좌표변환하는 좌표연산부(1410) 및 상기 연산결과를 부동소수점 표현으로 바꾸는 부동소수변환부(1420)로 이루어진다.
상기 포인트텍스쳐스플랫부(1220)는 소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절한다. 상기 포인트텍스쳐스플랫부(1220)는 상기 심플텍스쳐의 스플랫부(630)와 그 기능과 구성이 동일하다.
상기 포인트텍스쳐 시각화부(1230)는 상기 워핑순서와 크기가 조절된 스플랫을 이용하여 3차원 객체를 시각화한다.
한편, 상기 포인트텍스쳐 초기화부(1200)는 팔진트리 구조로 표현된 3차원 객체데이터를 포인트텍스쳐 데이터로 변환할 수도 있다. 도 13은 팔진트리 구조로 표현된 3차원 객체데이터를 포인트텍스쳐 데이터로 변환하기 위한 상기 포인트텍스쳐 초기화부(1200)의 구성을 팔진트리 구조에 대한 블록도로 재도시한 것으로서, 팔진트리복호화부(1300), 깊이값계산부(1310) 및 컬러값생성부(1320)를 포함하여 이루어진다.
상기 팔진트리복호화부(1300)는 팔진트리 구조로 표현된 3차원 객체데이터를 복호화한다. 상기 깊이값계산부(1310)는 상기 복호화된 팔진트리를 포함하는 육면체의 소정의 면을 기준면으로 하여 상기 기준면의 수직방향으로, 기준면의 특정픽셀 위치에 상기 팔진트리의 체적소들을 투영하여, 상기 체적소들과 상기 기준면으로 투영된 체적소의 기준면 상의 픽셀까지의 거리를 깊이 값으로 한다. 상기 컬러값생성부(1320)는 상기 체적소의 색상을 컬러 값으로 표시한다.
도 15는 본 발명에 의한 깊이영상기반 3차원 그래픽 데이터 중 포인트텍스쳐 고속 시각화 장치의 일 실시예의 동작을 흐름도로 도시한 것으로서, 이를 참조하여 본 발명의 동작을 설명하기로 한다.
3차원 그래픽 객체를 고속으로 시각화하기 위해서는 적은 메모리 사용량과 적은 연산량을 구현할 수 있는 데이터 구조가 필요하다. 기존의 다각형으로 표현된 모델은 표현이 느리고 많은 메모리를 필요로 하기 때문에 이동 단말기와 같은 기기에서는 실사와 같은 고해상도의 영상을 보여주기 위한 방법으로는 매우 부적합하다. 이와 달리 포인트텍스쳐는 격자 형태의 영상 구조를 가지면서도 객체의 표면 3차원 좌표 정보를 모두 가지고 있기 때문에 적은 계산량으로 새로운 시점에서 영상을 재구성하는 것이 가능하다. 즉 다각형 모델에서와 같은 복잡한 계산량이 불필요하므로 제한된 성능과 용량을 가진 이동단말기기에서 효과적으로 처리가 가능하다.
따라서 먼저 포인트텍스쳐 초기화부(1200)에서 3차원 객체데이터를 포인트텍스쳐 데이터를 생성한다.(1500단계) 포인트텍스쳐의 참조영상은 객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경데이터를 제외한 깊이 및 컬러 데이터를 포함하여 이루어진다.
워핑순서결정부(1210)를 통해 소정의 시점(view point)에서 상기 포인트텍스쳐의 참조영상에 대해 에피폴라 점의 위치에 따라 픽셀을 그리는 워핑순서를 결정한다.(1510단계)
그리고 나서 포인트텍스쳐 스플랫부(1220)를 통해 소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절한다.(1520단계) 상기 적응적 스플랫 크기 조절은 기준영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 정하고, 초기 스플랫 크기를 줌인/줌아웃 때의 확대/축소 비율에 맞춰 변경하여 목적 영상을 생성함에 의해 이루어진다.
목적영상의 해상도가 기준영상의 해상도보다 같거나 작다면 목적 영상을 그 비율에 맞게 축소하고 스플랫 크기를 1로 설정하고, 확대 비율을 이용하여 줌인시에는 구멍의 생성을 막을 수 있도록 스플랫의 크기를 확대시키고, 줌아웃시에는 소정의 시각화 품질이 유지되도록 스플랫 크기를 축소시킨다.
3차원 객체 시각화는 포인트텍스쳐 시각화부 (1230)에서 상기 워핑순서와 크기가 조절된 스플랫를 이용함에 의해 이루어진다.(1530단계) 포인트텍스쳐의 시각화는 Shade의 알고리듬을 이용하나 직교 투영의 특성을 이용하여 Shade가 사용한 McMillan의 워핑 알고리즘과는 달리, 에피폴라 포인트의 깊이 좌표값의 부호에 관계없이 에피폴라 포인트를 향하는 방향으로 워핑 순서를 결정한다.
한편 상기 포인트텍스쳐 초기화부(1200)는 팔진트리 구조의 데이터를 포인트텍스쳐 데이터로 생성할 수도 있다. 도 13이 그 생성 과정을 보여주고 있는데, 이를 보다 상세히 설명하면 다음과 같다.
3차원 체적소(voxel) 구조는 객체가 존재하지 않는 빈 공간에도 컬러 값을 부여하므로 비효율적인 데이터 구조를 가지고 있다. 계층적 데이터 구조를 구현하고 메모리 사용량을 줄이기 위하여 일반적으로 체적소 구조를 팔진트리로 묶어 3차원 팔진트리의 체적소 구조를 이용한다. 그러나, 이러한 3차원 팔진트리의 복셀 구조는 여전히 데이터 량이 많기 때문에 이를 고속으로 시각화하기 위해서는 메모리 이용 및 계산량의 최적화가 필요하다. 이 때 팔진트리의 체적소 구조를 포인트텍스쳐로 바꾸어 주면 데이터가 존재하는 영역의 정보만 저장하므로 데이터의 양이 줄어들 뿐 아니라 데이터 관리도 쉬워진다.
도 18에는 팔진트리 구조의 시각화 순서를 흐름도로 보여주고 있다. 먼저 팔진트리 구조를 받아들여(1800단계), 상기 팔진트리 데이터를 복호화하여 컬러 값 및 위치 값을 찾아낸다.(1810단계) 이 과정을 수행함으로써 팔진트리의 특정 기준면을 영상으로 생각했을 때, 특정 지점에 필요한 깊이 정보의 개수를 알 수 있고 이 개수는 결국 생성된 포인트텍스쳐의 해당 지점에서의 계층의 수가 된다. 따라서 메모리는 오직 이 계층의 수 만큼만 할당이 되게 되고 이제 생성된 포인트텍스쳐 데이터 구조에 깊이 값과 컬러 값을 저장하도록 한다.(1820단계)
팔진트리영상의 시각화는 이와 같이 포인트텍스쳐 구조로 변환한 후 포인트텍스쳐 시각화 방식을 그대로 이용하여 워핑(1830단계)과 스플랫팅(1840단계)을 수행함으로써 사용되는 메모리 양과 시각화 속도를 향상시킬 수 있다.
한편, 본 발명을 실제로 구현하였을 경우 그 결과 데이터는 다음과 같다. 도 19에 심플텍스쳐로 표현된 BOO 데이터에 대한 시각화 결과를 나타내었다. 도 19의 (a), (b) 및 (c)와 같이 줌 인(zoom-in)을 수행함에 따라 스플랫 크기가 점진적으로 증가하면서 발생할 수 있는 구멍을 억제함을 알 수 있다. 그러나, 기준 영상에서 하나의 화소당 목표 스크린에는 복수의 화소를 채워야 하기 때문에 평균 시각화 속도는 감소함을 알 수 있다. 이는 도 22에 나타낸 심플텍스쳐 기반 모델에 대한 정량적인 시각화 결과에 잘 나타나 있다.
도 20의 (a), (b) 및 (c)에는 포인트텍스쳐로 표현된 FLOWER 데이터에 대한 시각화 결과를 도시하였다. 또한 도 21의 (a) 및 (b)에는 팔진트리영상으로 표현된 ANGEL 데이터에 대한 시각화 결과를 도시하였다.
도 22 및 도 23에는 여러가지 영상 기반 모델에 대한 정량적인 시각화 결과를 도시하였다. 모델의 종류와 스플랫 크기 변화에 따라 시각화 속도가 바뀌지만 포인트텍스쳐와 팔진트리영상의 경우 초당 50만개 정도의 점을 처리할 수 있으며, 이것은 다각형 기반 시각화에서 초당 100만개의 삼각형을 처리하는 것과 동일한 효과를 의미하며 이러한 성능은 다각형 기반 시각화를 이용해서는 현재까지 이동 기기에서 구현할 수 없는 속도이다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 의한 깊이영상기반 3차원 객체데이터 고속 시각화 방법 및 장치에 의하면, 영상 기반으로 표현된 3차원 그래픽 객체의 가시화를 용이하게 하여, 메모리의 사용량을 줄이면서 초당 가시화 할 수 있는 횟수를 증가시킬 수 있다. 특히 이동 단말기기에 이용될 경우 매우 효과적으로 3차원 그래픽 객체의 시각화를 수행할 수 있다.
또한 메모리 사용량이 줄어들어 메모리 액세스에 소모되는 전력의 양을 감소시켜 이동 단말 기기에 이용될 경우 사용 시간을 늘릴 수 있으며, PC뿐 아니라 CPU 성능이나 메모리가 제한된 개인 디지털 정보기기(Personal Digital Assistant, PDA) 혹은 휴대 전화 등 이동 단말 기기에서도 고속으로 시각화할 수 있다.
[참고문헌]
[1] ISO/IEC JTC1/SC29/WG11 14496-16, Coding of Audio-Visual Objects: Animation Framework eXtension (AFX)
[2] Yuri Bayakovski, Leonid Levkovich-Maslyuk, Alexey Ignatenko, Anton Konushin, Dmitri Timasov, Alexander Zhirkov, Mahnjin Han, and In Kyu Park, "Depth image-based representations for static and animated 3D objects,"Proc. IEEE International Conference on Image Processing, vol. III, pp. 25-28, Rochester, USA, September 2002.
[3] L. McMillan, An image-based approach to three-dimensional computer graphics, Ph.D Dissertation, University of North Carolina at Chapel Hill, 1997.
[4] J. Shade, S. Gortler, L. He, and R. Szeliski, Layered depth images, Proc.of SIGGRAPH'98, pp. 231-242, July 1998.
도 1은 심플텍스쳐 기반 모델의 시각화 결과를 나타낸 것이다.
도 2는 1차원으로 도식화된 포인트텍스쳐의 일 예를 나타낸 것이다.
도 3은 2차원 사진(四進)트리로 도식화된 팔진트리영상의 일 예를 나타낸 것이다.
도 4는 새로운 시점이 참조 영상에 투영되는 지점인 에피폴라 점(epipolar point)을 찾는 일 예를 나타낸 것이다.
도 5는 에피폴라 점이 속할 수 있는 9개 영역과, 영역 5에 속하는 경우 z좌표의 부호에 따라 참조 영상의 픽셀 방문 순서가 바뀜을 도시한 것이다.
도 6은 본 발명에 의한 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치에 대한 구성을 블록도로 도시한 것이다.
도 7은 워핑부의 세부구성을 블록도로 도시한 것이다.
도 8은 좌표변환부의 세부구성을 블록도로 도시한 것이다.
도 9는 상기 깊이테스트부의 구성을 블록도로 도시한 것이다.
도 10은 스플랫부의 세부구성을 블록도로 도시한 것이다.
도 11은 깊이영상기반 3차원 그래픽 데이터 중 심플텍스쳐 데이터의 고속시각화 장치의 동작을 흐름도로 도시한 것이다.
도 12는 본 발명에 의한, 깊이영상기반 3차원 그래픽 데이터 중 포인트텍스쳐 데이터의 고속 시각화 장치의 구성을 블록도로 도시한 것이다.
도 13은 팔진트리 구조로 표현된 3차원 객체데이터를 포인트텍스쳐 데이터로 변환하기 위한 상기 포인트텍스쳐 초기화부의 구성을 블록도로 도시한 것이다.
도 14는 포인트텍스쳐 데이터 고속시각화 장치의 좌표변환부의 세부구성을 블록도로 도시한 것이다.
도 15는 본 발명에 의한 깊이영상기반 3차원 그래픽 데이터 중 포인트텍스쳐 고속 시각화 장치의 동작을 흐름도로 도시한 것이다.
도 16은 심플텍스쳐에서 목적 해상도가 일정할 때, 기존 방식과 새로 고안한 방식과의 계산량을 비교한 그래프를 도시한 것이다.
도 17은 배경 데이터 제거 방법을 나타낸 것이다.
도 18은 팔진트리영상의 고속시각화 방법을 흐름도로 나타낸 것이다.
도 19는 심플텍스쳐로 표현된 BOO 모델의 개인 정보 단말 상에서의 시각화 예를 나타낸 것이다.
도 20은 포인트텍스쳐로 표현된 FLOWER 모델의 개인정보단말 상에서의 시각화 예를 나타낸 것이다.
도 21은 팔진트리영상으로 표현된 ANGEL 모델의 개인정보단말 상에서의 시각화 예를 나타낸 것이다.
도 22는 심플텍스쳐(SimpleTexture)의 여러 모델에 대한 개인 정보 단말 상에서의 시각화 예를 나타낸 것이다.
도 23은 포인트텍스쳐(PointTexture), 팔진트리영상(OctreeImage)의 도 20와 도 21에 대한 렌더링 속도를 나타낸 것이다.
Claims (31)
- (a) 복수의 참조영상으로 이루어지는 심플텍스쳐 데이터를 메모리에 할당하는 단계;(b) 소정의 시점(view point)에서 상기 심플텍스쳐 데이터의 각각의 참조영상에 대해 3차원 워핑을 수행하여 복수의 워핑영상을 얻는 단계;(c) 상기 복수의 워핑영상을 구성하는 화소에 대해 화소별로 깊이 테스트를 수행하여 깊이데이터와 컬러데이터를 얻는 단계; 및(d) 상기 깊이데이터와 컬러데이터를 이용하여 객체를 시각화하는 단계를 포함함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제1항에 있어서, 상기 (a)단계의 참조영상은객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경 데이터를 제외함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제1항에 있어서, 상기 (b)단계의 워핑은(b1) 소정의 시점에서의 눈좌표계의 중심을 상기 심플텍스쳐 데이터의 참조 영상으로 투영하여 에피폴라 점을 찾는 단계;(b2) 상기 에피폴라 점이 투영된 영역이 참조영상에 정의된 9개의 영역 중 어디에 속하는가에 따라 참조영상 화소의 워핑순서를 결정하는 단계;(b3) 상기 워핑순서에 따라 심플텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈좌표계로 변환하여 워핑영상을 얻는 단계;(b4) 상기 (b1)단계 내지 (b3)단계를 상기 심플텍스쳐 데이터의 참조영상에 대해 반복 수행하는 단계를 수행함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 기법
- 제1항에 있어서, 상기 (b)단계의 워핑에 수반되는 연산은부동소수점 연산을 정수 연산함에 의해 이루어며,상기 정수연산은부동소수를 정수로 변환하는 단계;변환된 정수를 이용하여 좌표변환하는 단계; 및상기 연산결과를 부동소수점 표현으로 바꾸는 단계를 구비함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제1항에 있어서, 상기 (c)단계의 화소별 깊이 테스트는(c1) 첫 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값과 컬러 값을 전면 깊이버퍼와 전면 컬러버퍼에 저장하는 단계;(c2) 두 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값과 컬러 값을 후면 깊이버퍼와 후면 컬러버퍼에 저장하는 단계;(c3) 상기 전면 깊이 버퍼에 저장된 깊이 값과 후면 깊이 버퍼에 저장된 깊이 값을 비교하는 단계;(c4) 상기 비교결과 전면 깊이버퍼의 값이 후면 깊이 버퍼의 값보다 크다면 전면깊이 버퍼의 값과 전면컬러버퍼의 값을 후면깊이 버퍼의 값과 후면컬러버퍼의 값으로 갱신하는 단계; 및(c5) 상기 (c1) 내지 (c4) 단계를 상기 모든 워핑영상에 대해 수행하는 단계를 구비함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제1항에 있어서, 상기 (c)단계는(cc) 소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절하는 단계를 더 구비하고,상기 (d)단계는상기 깊이데이터와 컬러데이터 및 크기가 조절된 스플랫을 이용하여 객체를 시각화함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제6항에 있어서, 상기 (cc)단계는(cc1) 기준영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 정하는 단계; 및(cc2) 초기 스플랫 크기를 줌인/줌아웃 때의 확대/축소 비율에 맞춰 변경하여 목적 영상을 생성하는 단계를 포함함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제7항에 있어서, 상기 (cc1)단계는목적영상의 해상도가 기준영상의 해상도보다 같거나 작다면 스플랫 크기를 1로 설정하고, 목적영상의 해상도가 기준영상의 해상도보다 크다면 가로/세로 확대비율의 평균값으로써 스플랫의 크기를 설정함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제7항에 있어서, 상기 (cc2)단계는확대 비율을 이용하여 줌인시에는 구멍의 생성을 막을 수 있도록 스플랫의 크기를 줌 비율만큼 확대시키고, 줌아웃시에는 소정의 시각화 품질이 유지되도록 스플랫 크기를 줌 비율만큼 축소시킴을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- (a) 3차원 객체를 포인트텍스쳐 데이터로 읽어들이는 단계;(b) 소정의 시점(view point)에서 상기 포인트텍스쳐의 참조영상에 대해 에피폴라 점의 위치와 깊이좌표 값의 부호에 따라 픽셀의 워핑순서를 결정하는 단계;(c) 상기 워핑순서를 이용하여 3차원 객체를 시각화하는 단계를 포함함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제10항에 있어서, 상기 (a)단계는팔진트리 구조로 표현된 3차원 객체데이터를 포인트텍스쳐 데이터로 변환하여 읽어들이는 단계임을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제11항에 있어서, 상기 (a)단계는팔진트리 구조로 표현된 3차원 객체데이터를 복호화하는 단계;상기 복호화된 팔진트리를 포함하는 육면체의 소정의 면을 기준면으로 하여 상기 기준면의 수직방향으로, 기준면의 특정픽셀 위치에 상기 팔진트리의 체적소들을 투영하는 단계;체적소들과 상기 기준면으로 투영된 체적소의 기준면 상의 픽셀까지의 거리를 깊이 값으로 하는 단계; 및상기 체적소의 색상을 컬러 값으로 표시하는 단계를 포함함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제10항에 있어서, 상기 (b)단계는투영된 에피폴라 점을 향하는 방향으로 참조영상 화소의 가로 및 세로 방향 워핑 순서가 결정되는 단계; 및에피폴라 점의 깊이축(z) 좌표가 양수이면 후방에서 전방으로, 음수이면 전방에서 후방으로 참조영상 화소의 깊이축(z) 방향 워핑 순서가 결정되는 단계를 구비함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제13항에 있어서, 상기 좌표변환은부동소수점 연산을 정수 연산함에 의해 이루어지며,상기 정수연산은부동소수를 정수로 변환하는 단계;변환된 정수를 이용하여 좌표변환하는 단계; 및상기 연산결과를 부동소수점 표현으로 바꾸는 단계를 구비함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제10항에 있어서, 상기 (b)단계는(bb) 소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절하는 단계를 더 구비하고,상기 (c)단계는상기 워핑순서와 크기가 조절된 스플랫를 이용하여 3차원 객체를 시각화함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제15항에 있어서, 상기 (bb)단계는(bb1) 기준영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 정하는 단계; 및(bb2) 초기 스플랫 크기를 줌인/줌아웃 때의 확대/축소 비율에 맞춰 변경하여 목적 영상을 생성하는 단계를 포함함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제16항에 있어서, 상기 (bb1)단계는목적영상의 해상도가 기준영상의 해상도보다 같거나 작다면 스플랫 크기를 1로 설정하고, 목적영상의 해상도가 기준영상의 해상도보다 크다면 가로/세로 확대비율의 평균값으로써 스플랫의 크기를 설정함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 제16항에 있어서, 상기 (bb2)단계는확대 비율을 이용하여 줌인시에는 구멍의 생성을 막을 수 있도록 스플랫의 크기를 줌 비율만큼 확대시키고, 줌아웃시에는 소정의 시각화 품질이 유지되도록 스플랫 크기를 줌 비율만큼 축소시킴을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법.
- 복수의 참조영상으로 이루어지는 심플텍스쳐 데이터를 메모리에 할당하는 심플텍스쳐 초기화부;소정의 시점(view point)에서 상기 심플텍스쳐 초기화부의 심플텍스쳐 각각의 참조영상에 대해 3차원 워핑을 수행하여 복수의 워핑영상을 생성하는 워핑부;상기 워핑부에서 생성된 복수의 워핑영상을 구성하는 화소에 대해 화소별로 깊이 테스트를 수행하여 깊이데이터와 컬러데이터를 얻는 깊이테스트부; 및상기 깊이데이터와 컬러데이터를 이용하여 3차원 객체를 시각화하는 시각화부를 포함함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제19항에 있어서, 상기 심플텍스쳐의 참조영상은객체를 포함하는 최소 크기 사각형의 바깥에 존재하는 배경 데이터를 제외함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제19항에 있어서, 상기 워핑부는심플텍스쳐의 각 참조영상에 대해, 소정의 시점에서의 눈좌표계의 중심을 상기 심플텍스쳐 데이터의 참조 영상으로 투영하여 에피폴라 점을 찾는 에피폴라 변환부;심플텍스쳐의 각 참조영상에 대해, 상기 에피폴라 점이 투영된 영역이 참조영상에 정의된 9개의 영역 중 어디에 속하는가에 따라 참조영상 화소의 워핑순서를 결정하는 워핑순서 결정부; 및심플텍스쳐의 각 참조영상에 대해, 상기 워핑순서에 따라 심플텍스쳐가 정의된 기준 좌표계에서의 각 좌표를 눈좌표계로 변환하여 워핑영상을 얻는 화소워핑부를 구비함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제19항에 있어서, 상기 워핑부에서 수행되는 연산은부동소수를 정수로 변환하여 좌표변환한 후 다시 부동소수점 표현으로 바꿈을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제17항에 있어서, 상기 깊이 테스트부는첫 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값을 저장하는 전면 깊이버퍼;첫 번째 참조영상에 대해 워핑을 수행하여 생성된 컬러 값을 저장하는 전면 컬러버퍼;두 번째 참조영상에 대해 워핑을 수행하여 생성된 깊이 값을 저장하는 후면 깊이버퍼;두 번째 참조영상에 대해 워핑을 수행하여 생성된 컬러 값을 저장하는 후면 컬러버퍼;상기 전면 깊이 버퍼에 저장된 깊이 값과 후면 깊이 버퍼에 저장된 깊이 값을 비교하는 깊이비교부; 및상기 비교결과 전면 깊이버퍼의 값이 후면 깊이 버퍼의 값보다 크다면 전면깊이 버퍼의 값과 전면컬러버퍼의 값을 후면깊이 버퍼의 값과 후면컬러버퍼의 값으로 갱신하고, 이를 모든 참조영상에 대해 수행하는 깊이값 갱신부를 구비함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제17항에 있어서, 상기 깊이테스트부는소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절하는 스플랫부를 더 구비하고,상기 시각화부는상기 깊이데이터와 컬러데이터 및 크기가 조절된 스플랫을 이용하여 3차원 객체를 시각화함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제24항에 있어서, 상기 스플랫부는기준영상의 해상도와 목적 영상의 해상도를 비교하여 초기 스플랫 크기를 정하는 스플랫크기설정부; 및초기 스플랫 크기를 줌인/줌아웃 때의 확대/축소 비율에 맞춰 변경하여 목적 영상을 생성하는 적응적스플랫부를 포함함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 3차원 객체를 포인트텍스쳐 데이터로 읽어들이는 포인트텍스쳐 초기화부;소정의 시점(view point)에서 상기 포인트텍스쳐의 참조영상에 대해 에피폴라 점의 위치와 깊이좌표 값의 부호에 따라 픽셀을 그리는 워핑순서를 결정하는 워핑순서결정부; 및소정의 시점으로부터 3차원 객체까지의 거리에 따라 스플랫(splat)의 크기를 적응적으로 조절하는 포인트텍스쳐스플랫부;상기 워핑순서와 크기가 조절된 스플랫을 이용하여 3차원 객체를 시각화하는 포인트텍스쳐 시각화부를 포함함을 특징으로 하는 영상 기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제26항에 있어서, 상기 포인트텍스쳐 초기화부는팔진트리 구조로 표현된 3차원 객체데이터를 포인트텍스쳐 데이터로 변환함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제27항에 있어서, 상기 포인트텍스쳐 초기화부는팔진트리 구조로 표현된 3차원 객체데이터를 복호화하는 팔진트리복호화부;상기 복호화된 팔진트리를 포함하는 육면체의 소정의 면을 기준면으로 하여 상기 기준면의 수직방향으로, 기준면의 특정픽셀 위치에 상기 팔진트리의 체적소들을 투영하여, 상기 체적소들과 상기 기준면으로 투영된 체적소의 기준면 상의 픽셀까지의 거리를 깊이 값으로 하는 깊이값계산부; 및상기 체적소의 색상을 컬러 값으로 표시하는 컬러값생성부를 포함함을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제26항에 있어서, 상기 워핑순서결정부의 워핑순서는투영된 에피폴라 점을 향하는 방향으로 참조영상 화소의 가로 및 세로 방향 워핑 순서가 결정되고, 에피폴라 점의 깊이축(z) 좌표가 양수이면 후방에서 전방으로, 음수이면 전방에서 후방으로 참조영상 화소의 깊이축(z)방향 워핑 순서가 결정되는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제26항에 있어서, 상기 워핑순서결정부에서 발생하는 워핑연산은부동소수를 정수로 변환하여 좌표변환한 후 다시 부동소수점 표현으로 바꿈을 특징으로 하는 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 장치.
- 제1항 내지 제18항 중 어느 한 항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-0008741A KR100519779B1 (ko) | 2004-02-10 | 2004-02-10 | 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치 |
CNA2005100061171A CN1655192A (zh) | 2004-02-10 | 2005-01-28 | 基于深度图像的三维图形数据的高速显像的装置和方法 |
EP05250685A EP1564687A3 (en) | 2004-02-10 | 2005-02-07 | Method and apparatus for high speed visualization of depth image-based 3D graphic data |
US11/052,135 US7450132B2 (en) | 2004-02-10 | 2005-02-08 | Method and/or apparatus for high speed visualization of depth image-based 3D graphic data |
JP2005031437A JP2005228320A (ja) | 2004-02-10 | 2005-02-08 | 深さ画像基盤の3次元グラフィックデータの高速視覚化方法、装置及びプログラムを記録したコンピュータ可読記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-0008741A KR100519779B1 (ko) | 2004-02-10 | 2004-02-10 | 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050080650A KR20050080650A (ko) | 2005-08-17 |
KR100519779B1 true KR100519779B1 (ko) | 2005-10-07 |
Family
ID=34698967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-0008741A KR100519779B1 (ko) | 2004-02-10 | 2004-02-10 | 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7450132B2 (ko) |
EP (1) | EP1564687A3 (ko) |
JP (1) | JP2005228320A (ko) |
KR (1) | KR100519779B1 (ko) |
CN (1) | CN1655192A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190115161A (ko) * | 2018-03-30 | 2019-10-11 | (주)온넷시스템즈코리아 | 3차원 객체 생성 장치 |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100657940B1 (ko) * | 2004-12-28 | 2006-12-14 | 삼성전자주식회사 | 깊이 영상 기반 표현 데이터 압축에 관한 메타표현을이용한 입력파일 생성 방법 및 시스템과, afx부호화방법 및 장치 |
KR100714672B1 (ko) * | 2005-11-09 | 2007-05-07 | 삼성전자주식회사 | 스플렛을 이용한 깊이 기반의 영상 렌더링 방법 및 그방법을 채용한 시스템 |
CN100346357C (zh) * | 2006-01-19 | 2007-10-31 | 上海交通大学 | 用三维标记点直接进行三维模型变形的方法 |
KR100723421B1 (ko) * | 2006-03-13 | 2007-05-30 | 삼성전자주식회사 | 포인트 보간에 의한 렌더링 방법, 포인트 보간에 의한 렌더링 장치 및 기록매체 |
US20070268289A1 (en) * | 2006-05-16 | 2007-11-22 | Chun Yu | Graphics system with dynamic reposition of depth engine |
US8134570B1 (en) * | 2006-09-18 | 2012-03-13 | Nvidia Corporation | System and method for graphics attribute packing for pixel shader usage |
KR101239965B1 (ko) | 2006-11-08 | 2013-03-06 | 연세대학교 산학협력단 | 렌더링 장치 및 방법 |
KR100858086B1 (ko) * | 2007-01-30 | 2008-09-10 | 삼성전자주식회사 | 렌더링 장치 및 방법 |
KR100918862B1 (ko) * | 2007-10-19 | 2009-09-28 | 광주과학기술원 | 참조영상을 이용한 깊이영상 생성방법 및 그 장치, 생성된깊이영상을 부호화/복호화하는 방법 및 이를 위한인코더/디코더, 그리고 상기 방법에 따라 생성되는 영상을기록하는 기록매체 |
US9641822B2 (en) * | 2008-02-25 | 2017-05-02 | Samsung Electronics Co., Ltd. | Method and apparatus for processing three-dimensional (3D) images |
KR101526948B1 (ko) * | 2008-02-25 | 2015-06-11 | 삼성전자주식회사 | 3d 영상 처리 방법 |
CN101271583B (zh) * | 2008-04-28 | 2010-04-21 | 清华大学 | 一种基于深度图的快速图像绘制方法 |
EP2297723A4 (en) * | 2008-05-30 | 2015-08-19 | Advanced Micro Devices Inc | EVOLVING AND UNIFIED CALCULATION SYSTEM |
US8379058B2 (en) * | 2008-06-06 | 2013-02-19 | Apple Inc. | Methods and apparatuses to arbitrarily transform windows |
US20090322747A1 (en) * | 2008-06-30 | 2009-12-31 | Robert Farrell | Graphics processing with hidden surface removal |
US20110109617A1 (en) * | 2009-11-12 | 2011-05-12 | Microsoft Corporation | Visualizing Depth |
KR101289269B1 (ko) * | 2010-03-23 | 2013-07-24 | 한국전자통신연구원 | 영상 시스템에서 영상 디스플레이 장치 및 방법 |
KR20120015165A (ko) * | 2010-08-11 | 2012-02-21 | 엘지전자 주식회사 | 영상의 깊이감 조절 방법 및 이를 이용하는 이동 단말기 |
JP5812716B2 (ja) * | 2010-08-27 | 2015-11-17 | キヤノン株式会社 | 画像処理装置および方法 |
WO2012096530A2 (en) * | 2011-01-13 | 2012-07-19 | Samsung Electronics Co., Ltd. | Multi-view rendering apparatus and method using background pixel expansion and background-first patch matching |
EP2668634B1 (en) * | 2011-01-24 | 2019-04-24 | Intel Corporation | Method and system for acquisition, representation, compression, and transmission of three-dimensional data |
CN102737617B (zh) * | 2011-04-01 | 2014-04-30 | 华为终端有限公司 | 视频图像显示的方法和装置 |
CN102186095B (zh) * | 2011-05-03 | 2012-12-12 | 四川虹微技术有限公司 | 一种适用于深度图像绘制的匹配误差校正方法 |
EP2627093A3 (en) * | 2012-02-13 | 2013-10-02 | Thomson Licensing | Method and device for inserting a 3D graphics animation in a 3D stereo content |
US9256788B2 (en) * | 2012-11-02 | 2016-02-09 | Qualcomm Incorporated | Method for initializing and solving the local geometry or surface normals of surfels using images in a parallelizable architecture |
JP6041651B2 (ja) * | 2012-12-10 | 2016-12-14 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
US9286647B2 (en) * | 2013-03-12 | 2016-03-15 | Nvidia Corporation | Pixel shader bypass for low power graphics rendering |
KR20140142470A (ko) | 2013-06-04 | 2014-12-12 | 한국전자통신연구원 | 나무 모델과 숲 모델 생성 방법 및 장치 |
US10198856B2 (en) * | 2013-11-11 | 2019-02-05 | Oxide Interactive, LLC | Method and system of anti-aliasing shading decoupled from rasterization |
CN103945206B (zh) * | 2014-04-22 | 2015-08-26 | 冠捷显示科技(厦门)有限公司 | 一种基于相似帧比较的立体图像合成系统 |
KR102230200B1 (ko) * | 2014-07-04 | 2021-03-19 | 삼성전자주식회사 | 객체에 대한 바운딩 박스의 좌표 값을 표현하는 방법 및 장치 |
US9948911B2 (en) * | 2014-09-05 | 2018-04-17 | Qualcomm Incorporated | Method and apparatus for efficient depth image transformation |
US9489710B2 (en) * | 2015-02-10 | 2016-11-08 | Qualcomm Incorporated | Hybrid rendering in graphics processing |
US10567739B2 (en) * | 2016-04-22 | 2020-02-18 | Intel Corporation | Synthesis of transformed image views |
EP3504682B1 (en) * | 2016-08-24 | 2020-07-15 | Universität Zürich | Simultaneous localization and mapping with an event camera |
RU2746431C2 (ru) * | 2016-09-29 | 2021-04-14 | Конинклейке Филипс Н.В. | Обработка изображения |
EP3428887A1 (en) * | 2017-07-13 | 2019-01-16 | Thomson Licensing | Method and device for encoding a point cloud |
US20200242832A1 (en) * | 2017-08-09 | 2020-07-30 | Sharp Kabushiki Kaisha | Image processing device, display device, image transmission device, image processing method, control program, and recording medium |
CN108182656B (zh) * | 2017-12-28 | 2021-04-30 | 深圳市创梦天地科技有限公司 | 一种图像处理方法及终端 |
US10643398B2 (en) * | 2018-07-23 | 2020-05-05 | Microsoft Technology Licensing, Llc | Depth ray layer for reduced visual noise |
KR20200030305A (ko) | 2018-09-12 | 2020-03-20 | 삼성전자주식회사 | 영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들 |
US12014472B1 (en) * | 2019-09-03 | 2024-06-18 | Apple Inc. | Methods and devices for improved inverse iterative warping |
US11436783B2 (en) | 2019-10-16 | 2022-09-06 | Oxide Interactive, Inc. | Method and system of decoupled object space shading |
KR102635694B1 (ko) * | 2021-07-29 | 2024-02-13 | (주)그래피카 | 3d 고속 렌더링을 위한 3d 데이터 변환 및 사용 방법 |
US11830140B2 (en) * | 2021-09-29 | 2023-11-28 | Verizon Patent And Licensing Inc. | Methods and systems for 3D modeling of an object by merging voxelized representations of the object |
CN114429523B (zh) * | 2022-02-10 | 2024-05-14 | 浙江慧脑信息科技有限公司 | 一种控制三维模型分区贴图的方法 |
CN116958375A (zh) * | 2022-04-20 | 2023-10-27 | 象帝先计算技术(重庆)有限公司 | 图形处理器、系统、装置、设备及方法 |
CN117745888B (zh) * | 2022-12-29 | 2024-09-24 | 行吟信息科技(武汉)有限公司 | 视频生成方法、装置、电子设备及存储介质 |
CN117830175B (zh) * | 2024-03-05 | 2024-06-07 | 暨南大学 | 一种任意取向条件下图像几何扭曲自定标方法 |
CN118447178B (zh) * | 2024-05-21 | 2024-10-18 | 建设综合勘察研究设计院有限公司 | 一种城市积水的三维动态可视化方法、系统及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL108668A (en) * | 1993-02-25 | 1998-09-24 | Hughes Training Inc | A method and system for creating a plurality of 3D image characters |
US5409379A (en) * | 1993-10-29 | 1995-04-25 | Southwest Research Institute | Weather simulation system |
US6466207B1 (en) * | 1998-03-18 | 2002-10-15 | Microsoft Corporation | Real-time image rendering with layered depth images |
US6999073B1 (en) * | 1998-07-20 | 2006-02-14 | Geometrix, Inc. | Method and system for generating fully-textured 3D |
US6424351B1 (en) * | 1999-04-21 | 2002-07-23 | The University Of North Carolina At Chapel Hill | Methods and systems for producing three-dimensional images using relief textures |
JP3504240B2 (ja) * | 2000-07-24 | 2004-03-08 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理システム、デバイス、方法及びコンピュータプログラム |
US6727908B1 (en) * | 2000-08-31 | 2004-04-27 | Micron Technology, Inc. | Non-linear interpolation scaling system for a graphics processing system and method for use thereof |
US6756993B2 (en) * | 2001-01-17 | 2004-06-29 | The University Of North Carolina At Chapel Hill | Methods and apparatus for rendering images using 3D warping techniques |
RU2216781C2 (ru) * | 2001-06-29 | 2003-11-20 | Самсунг Электроникс Ко., Лтд | Основанные на изображениях способ представления и визуализации трехмерного объекта и способ представления и визуализации анимированного объекта |
US6975756B1 (en) * | 2002-03-12 | 2005-12-13 | Hewlett-Packard Development Company, L.P. | Image-based photo hulls |
US7215340B2 (en) * | 2002-07-19 | 2007-05-08 | Mitsubishi Electric Research Laboratories, Inc. | Object space EWA splatting of point-based 3D models |
US7015914B1 (en) * | 2003-12-10 | 2006-03-21 | Nvidia Corporation | Multiple data buffers for processing graphics data |
-
2004
- 2004-02-10 KR KR10-2004-0008741A patent/KR100519779B1/ko not_active IP Right Cessation
-
2005
- 2005-01-28 CN CNA2005100061171A patent/CN1655192A/zh active Pending
- 2005-02-07 EP EP05250685A patent/EP1564687A3/en not_active Withdrawn
- 2005-02-08 US US11/052,135 patent/US7450132B2/en not_active Expired - Fee Related
- 2005-02-08 JP JP2005031437A patent/JP2005228320A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190115161A (ko) * | 2018-03-30 | 2019-10-11 | (주)온넷시스템즈코리아 | 3차원 객체 생성 장치 |
KR102068489B1 (ko) * | 2018-03-30 | 2020-01-22 | (주)온넷시스템즈코리아 | 3차원 객체 생성 장치 |
Also Published As
Publication number | Publication date |
---|---|
EP1564687A2 (en) | 2005-08-17 |
KR20050080650A (ko) | 2005-08-17 |
CN1655192A (zh) | 2005-08-17 |
US20050174346A1 (en) | 2005-08-11 |
EP1564687A3 (en) | 2006-07-12 |
JP2005228320A (ja) | 2005-08-25 |
US7450132B2 (en) | 2008-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100519779B1 (ko) | 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치 | |
US8411088B2 (en) | Accelerated ray tracing | |
US6778173B2 (en) | Hierarchical image-based representation of still and animated three-dimensional object, method and apparatus for using this representation for the object rendering | |
US20070262988A1 (en) | Method and apparatus for using voxel mip maps and brick maps as geometric primitives in image rendering process | |
Duguet et al. | Flexible point-based rendering on mobile devices | |
US9508191B2 (en) | Optimal point density using camera proximity for point-based global illumination | |
JP2011238213A (ja) | 配置されたパラメトリック曲線の階層的バウンディング | |
US10325403B2 (en) | Image based rendering techniques for virtual reality | |
Schneider et al. | Real-time rendering of complex vector data on 3d terrain models | |
EP3211601B1 (en) | Rendering the global illumination of a 3d scene | |
Lukasczyk et al. | Voidga: A view-approximation oriented image database generation approach | |
Pajarola et al. | DMesh: Fast depth-image meshing and warping | |
WO2019042272A2 (en) | MULTIPLE VIEW RENDERING SYSTEM AND METHOD | |
JP2023178274A (ja) | メッシュ頂点位置についての求根および反復を用いて表面を近似するポリゴンメッシュを生成する方法およびシステム | |
US9311747B2 (en) | Three-dimensional image display device and three-dimensional image display program | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
Argudo et al. | Interactive inspection of complex multi-object industrial assemblies | |
Wu et al. | Unitypic: Unity point-cloud interactive core | |
Inatsuka et al. | Level of detail control for texture on 3D maps | |
WO2023224627A1 (en) | Face-oriented geometry streaming | |
de Dinechin et al. | Presenting COLIBRI VR, an Open-Source Toolkit to Render Real-World Scenes in Virtual Reality | |
Farias | Point cloud rendering using jump flooding | |
Sung | Efficient Shadow Generation of Massive Crowds Based on the Area of Screen Space | |
Schmalstieg | A survey of advanced interactive 3-d graphics techniques | |
Yang et al. | Walkthrough applications based on portal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120814 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130822 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |