KR100693134B1 - 3차원 이미지 처리 - Google Patents

3차원 이미지 처리 Download PDF

Info

Publication number
KR100693134B1
KR100693134B1 KR1020057006297A KR20057006297A KR100693134B1 KR 100693134 B1 KR100693134 B1 KR 100693134B1 KR 1020057006297 A KR1020057006297 A KR 1020057006297A KR 20057006297 A KR20057006297 A KR 20057006297A KR 100693134 B1 KR100693134 B1 KR 100693134B1
Authority
KR
South Korea
Prior art keywords
triangles
triangle
symmetry
triangular
dimensional
Prior art date
Application number
KR1020057006297A
Other languages
English (en)
Other versions
KR20050059253A (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 KR1020057006297A priority Critical patent/KR100693134B1/ko
Publication of KR20050059253A publication Critical patent/KR20050059253A/ko
Application granted granted Critical
Publication of KR100693134B1 publication Critical patent/KR100693134B1/ko

Links

Images

Classifications

    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

적어도 하나의 3차원 객체를 표현하는 삼각형 프리미티브들을 정의하는 데이터를 포함하는 객체 파일들을 처리하여 은닉 표면들이 제거되는 2차원 이미지를 생성하기 위해 상기 삼각형 프리미티브들이 렌더링될 수 있는 렌더링 순서를 결정함으로써 제1 장치 상에, 제2 장치 상에 3차원 객체들의 2차원 이미지들을 렌더링하기 위해 사용되는 객체 파일들을 준비하는 방법이 개시되어 있다. 정점 데이터로서 상기 적어도 하나의 3차원 객체의 복수의 표면 부분들에 대응하는 복수의 평면 삼각형 프리미티브들이 상기 제1 장치 상에 저장된다. 상기 방법은 이동 전화에 사용될 수 있다.

Description

3차원 이미지 처리{Three dimensional image processing}
본 발명은 제1 장치 상에, 제2 장치 상에 3차원 객체들의 2차원 이미지들을 렌더링하기 위해 사용되는 객체 파일들을 준비하는 방법에 관한 것이다. 상기 객체 파일들은 적어도 하나의 3차원 객체를 표현하는 다각형 프리미티브들을 정의하는 데이터를 포함한다. 상기 객체 파일 내의 데이터는 상기 다각형 프리미티브들이 렌더링될 수 있으며 은닉 표면 문제가 해결되는 렌더링 순서를 결정하기 위해 재배열된다. 또한, 본 발명은 디스플레이 상에 3차원 객체들의 이미지들을 렌더링하기 위한 이미지 처리 수단을 포함하는 이동 통신 단말기에 관한 것이다. 본 발명은 또한 감소된 정점 데이터량으로 다각형 프리미티브들을 정의하는 데이터를 처리함으로써 3차원 객체들의 2차원 이미지들을 렌더링하는 방법에 관한 것이다. 더욱이, 본 발명은 감소된 정점 데이터량을 기반으로 하여 이미지를 디스플레이하는 것이 가능한 디스플레이 상에 3차원 객체들의 이미지들을 렌더링하기 위한 이미지 처리 수단을 포함하는 이동 통신 단말기에 관한 것이다.
최근까지, 움직이는 3차원 그래픽들은 예를 들면 전자 비디오 아케이드 게임들에서나 또는 운전 또는 비행 시뮬레이터들에서, 컴퓨터 지원 설계(computer aided design; CAD) 및 컴퓨터 지원 제조(computer aided manufacture; CAM) 동안 워크스테이션 또는 PC 상에 여러 각도에서 보여지는 본 객체의 외관 디스플레이들을 생성하는 데에 있어서와 같이 비교적 높은 처리 능력을 지니는 장치들에 한정적으로 적용되었다.
현재, 3차원 그래픽들은 이동 전화들, 개인 휴대 정보 단말기(personal digital assistant; PDA)들 및 핸드헬드 비디오 게임들과 같은 비교적 낮은 처리 능력을 지니는 장치들에도 또한 내장되고 있다.
동영상을 제공하기 위하여, 관찰자가 정적 이미지들의 연쇄보다는 오히려 연속 변화로서 이미지를 인식하기 위해, 20 내지 30 프레임/초에 근접하는 레이트들(이보다 낮은 레이트들이 몇몇 용도들에 허용가능함)로 이미지를 업데이트하는 것이 필요하다.
장치가 최소 허용 프레임 레이트와 연관된 계산들을 수행할 수 있는 속도는 각각의 이미지를 생성하는 데 수행될 수 있는 계산들의 횟수에 대한 한도를 제공한다.
3차원 동영상에서, 각각의 이미지에 대해 2차원들에 관한 3차원 객체들의 투영을 계산하는 것이 필요하다. 복잡한 이미지들의 경우, 대량의 계산들이 요구될 수 있다.
이미지 합성은 대개 정점들에 의해 정의된 다수의 다각형 프리미티브들로서 객체를 표현하고, 상기 다각형 프리미티브들을 이미지 면 상에 투영한 다음, 상기 투영된 다각형의 각각의 픽셀에 대해 픽셀 컬러를 정의하도록 각각의 다각형 프리미티브를 순서대로 처리함으로써 수행된다.
3차원 그래픽들을 렌더링함에 있어서의 주된 문제점은 은닉 표면들의 제거이다. 현재 보여지는 시점에서는, 보다 가까운 표면들에 의해 보다 먼 부분들이 가려지게 된다.
공통된 접근 방식은 주어진 픽셀이 렌더링될 경우, 주어진 픽셀이 (존재하는 경우) 이미 이미지 버퍼에 내재하는 픽셀의 정면에 놓이는 지(결과적으로는 폐색(閉塞)하는 지) 또는 배면에 놓이는 지(결과적으로는 폐색되는 지)를 테스트하는 것이다. 따라서, 각각의 픽셀은 심도값으로 할당될 필요가 있다. 이러한 기법은 "Z-버퍼 알고리즘(Z-buffer algorithm)"으로서 언급된다. 이러한 기법은 기술적으로 단순한 접근 방식이지만, 이는 저장 및 처리 능력 면에서 자원 집약적인 데, 그 이유는 그러한 기법이 실시간 동작 동안 (상기 이미지 버퍼 내의 픽셀들의 개수와 거의 비슷하게) 다수의 비교 연산들을 수반하기 때문이다.
"페인터 알고리즘(Painter's Algorithm)"은 다각형들의 정점들의 좌표들을 조사하고, 현재 보여주는 시점에서 거리를 줄이는 순서로 다각형들을 정렬시킨다. 이어서, 다각형들이 거리를 줄이는 순서로 렌더링됨으로써, 가장 멀리 떨어진 다각형들의 픽셀들이 먼저 상기 이미지 버퍼 내에 기록되고, 보다 가까운 다각형들의 픽셀들에 의해 필요에 따라 중복 기록된다. 그러나, 이같은 기법은 현재 보여주는 시점이 변할 때마다 모든 다각형들의 분류 동작(sorting operation)이 반복되는 것을 필요로 하며, 결과적으로 실시간에 대량의 계산을 필요로 한다.
공지된 기법에서, 한 면이 객체의 내부로 내부 지향되고("배면(back face)") 또 한 면이 객체의 외부로 지향되는("정면(front face)") 2개의 면들을 지니는 것 으로 보여진다. 입체 객체의 경우, 다각형의 "배면"은 결코 보여지지 않고, 그럼으로써 단지 전방을 향하는 다각형들이 디스플레이될 필요가 있다. 따라서, 관련된 뷰잉 각도에서, 주어진 다각형이 정면(외면) 또는 배면(내면)을 보여주고 있는 지에 관한 결정이 렌더링 이전에 내려지고, 단지 전방을 향하고 있는 그러한 다각형들만이 렌더링된다. 이같은 배면 컬링 방법은 은닉 표면 제거 문제를 감소시키지만, 그러한 문제를 완전히 없애지 못한다.
부가적으로 공지된 기법은 "바이너리 공간 분할(binary space partitioning; BSP)"로서 공지되어 있다. 이러한 기법에서는, 동영상 이전에, 트리 구조 모형(tree-structured model)이 메모리에 내장되어 있는 사전 처리 스테이지가 수행되는 데, 상기 트리 내의 각각의 노드는 공간 분할면 상의 다각형이며 (존재하는 경우) 선행자(predecessor) 및 후행자(successor) 노드들을 나타낸다. 상기 노드들 중 하나가 엄밀하게는 상기 분할면의 한 측면 상의 다각형들로 이루어져 있는 트리를 포함하지만, 다른 노드는 나머지를 포함한다. 이어서 (카메라로부터 더 멀리 떨어져 있는 노드에 먼저 내려가 있는) 트리가 재귀적으로 처리되고 후면에서 정면으로의 순서로 다각형들이 렌더링될 수 있다.
다른 공지된 기법은 다각형 스트리핑, 다시 말하면 독립된 삼각형들 또는 다각형들을 삼각형 스트립들로 변환하는 다각형 스트리핑이다. 이러한 기법에서, 제1 삼각형은 시계 방향 또는 반시계 방향의 감기(winding)로 식별되고, 이어서 상기 스트립 내의 모든 후속 삼각형들이 감기를 교대로 한다. 상기 스트립은 상기 삼각형 스트립이 객체의 에지를 벗어나거나 이미 다른 스트립의 일부인 다각형과 일체 가 될 때까지 지속된다.
종래에는, 시스템 자원들의 대량 소비로 인해, 3차원 그래픽 엔진들은 강력한 프로세서들 및 대용량 메모리들을 지닌 워크스테이션들과 같은 고성능 시스템들에 포함된다. 한정된 계산 능력에 의해 제기되는 제약들은 가장 신속한 프로세서들을 구비할 수 없는 장치들 상에서 보다 명백하다. 그러한 장치들의 예들은 이동 전화들, 개인 휴대 정보 단말기(PDA)들 및 핸드헬드 비디오 게임들이다. 그러므로, 3차원 실시간 움직이는 그래픽들이 위에서 언급된 장치들에서 제공되는 처리 능력에 의해 처리될 수 있도록 효율적인 알고리즘들을 제공할 필요가 있다.
이러한 배경에 근거해서, 본 발명의 목적은 은닉 표면들이 제거되는 2차원 이미지를 생성하기 위해 삼각형 프리미티브들이 렌더링될 수 있는 렌더링 순서를 결정하도록 제1 장치 상에, 제2 장치 상에 3차원 객체들의 2차원 이미지들을 렌더링하기 위해 사용되는 객체 파일들을 준비하는 방법을 제공하여, 비교적 낮은 처리 능력을 지닌 장치들 상에 실시간 3차원 이미지를 렌더링할 수 있게 하는 것이다.
이러한 목적은 청구항 제1항에 따라 적어도 하나의 3차원 객체를 표현하는 삼각형 프리미티브들을 정의하는 데이터를 포함하는 객체 파일들을 처리하여 은닉 표면들이 제거되는 2차원 이미지를 생성하기 위해 상기 삼각형 프리미티브들이 렌더링될 수 있는 렌더링 순서를 결정함으로써 제1 장치 상에, 제2 장치 상에 3차원 객체들의 2차원 이미지들을 렌더링하기 위해 사용되는 객체 파일들을 준비하는 방법을 제공함으로써 달성되며, 상기 방법은,
a) 객체 파일 내에 적어도 하나의 3차원 객체의 복수의 표면 부분들에 대응하는 복수의 평면 삼각형 프리미티브들을 저장하는 단계로서, 상기 복수의 삼각형 프리미티브들이 원래의 순서에 따라 배열된 정점 데이터에 의해 표현되는 단계,
b) 삼각형 스트립을 개시하도록 처리되지 않은 삼각형들 중 어떠한 것도 잠재적으로 폐색하지 않는 삼각형을 선택하는 단계,
c) 상기 삼각형 스트립 내의 최근 삼각형에의 추가를 위해 이웃하는 삼각형을 선택하는 단계,
d) 상기 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 하나를 잠재적으로 폐색할 수 있는 지를 결정하는 단계,
e) 상기 선택된 삼각형을 상기 스트립에 추가하고 상기 선택된 삼각형이 처리되지 않은 삼각형들 중 어떠한 것도 잠재적으로 폐색할 수 없는 경우 단계 c)로 되돌리는 단계,
f) 상기 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 하나를 잠재적으로 폐색할 수 있는 경우 새로운 삼각형 스트립을 개시하도록 단계 b)로 되돌리는 단계, 및
g) 상기 객체 파일 내의 모든 삼각형들이 처리될 때까지 단계 b) 내지 단계 f)를 반복하는 단계를 포함한다.
따라서, 상기 객체 파일들은 상기 은닉 표면 문제가 해결되면서 삼각형 스트립들이 생성된 순서로 디스플레이될 수 있는 삼각형 스트립들로 재편성될 수 있다. 다시 말하면, 결과적으로 준비된 객체 파일들을 수신하는 장치는 상기 은닉 표면 문제의 해결을 위한 계산들에 대한 필요성 없이 상기 삼각형 스트립들 및 상기 삼각형들이 상기 객체 파일 내에 저장되는 순서로 단순히 상기 삼각형 스트립들 및 상기 삼각형들을 디스플레이할 수 있다. 이미지 처리 장치에 의해 수행될 계산들의 횟수는 결과적으로 상기 삼각형 스트립들 내의 삼각형 프리미티브들의 렌더링 순서가 정확하도록, 다시 말하면 은닉 표면들이 카메라 위치 및 뷰잉 방향과 무관하게 정확히 제거되도록 정점 데이터를 사전에 분류시킴으로써 상당히 감소될 수 있다. 따라서, 상기 제2 장치는 단지 상기 객체들의 렌더링 순서를 계산하고, 이어서 동영상의 각각의 프레임에 대해, 상기 객체들의 정면 삼각형 프리미티브들이 상기 객체 파일들 내에 저장되는 순서로 상기 객체들의 정면 삼각형 프리미티브들을 렌더링할 필요가 있다. 예를 들면, Z-버퍼링과 비교해 볼때, 필요한 총 계산들의 횟수에 있어서의 상당한 감소가 획득될 수 있는 데, 그 이유는 픽셀의 이전 Z-값의 비교가 전혀 필요하지 않기 때문이다.
상기 방법의 단계 b)는 바람직하게는 처리되지 않은 여러 이웃하는 삼각형들을 지니지 않는 삼각형들을 선택함으로써 잠재적으로 긴 스트립들이 형성될 수 있게 하는 스트립을 개시하기 위한 그러한 삼각형들을 식별하기 위한 휴리스틱 탐색(heuristic search)을 포함하는 것이 바람직하다.
몇몇 객체들의 경우, 상기 삼각형 프리미티브들이 배치될 수 있으며 폐색 우선순위들의 충돌로 인해 모든 뷰잉 방향들에 대하여 정확하게 제거되는 순서가 전혀 존재하지 않는다. 따라서, 그러한 객체를 2개의 객체들로 분할하고 각각 이러한 방식으로 생성된 객체에 대하여 상기 삼각형 프리미티브들을 사전 분류시킬 필요가 있다.
상기 방법은, 상기 제1 장치 상에서, 단계 b)에서 아직 처리되지 않은 다른 삼각형들을 폐색하지 않는 삼각형을 발견하는 것이 불가능할 경우 상기 객체 파일을 2로 나누는 단계를 더 포함하는 것이 바람직하다.
상기 객체는 처리되지 않은 삼각형들 중 적어도 하나가 잠재적으로 폐색할 수 있는 처리되지 않은 삼각형들과는 다른 측면상에 처리되지 않은 삼각형들 중 적어도 하나가 남아 있게 하는 분할면을 사용하여 분할되는 것이 바람직하다.
바람직하게는, 임의의 처리되지 않은 삼각형의 면이 사용되고 상기 삼각형이 상기 분할면의 외측면 상에 연관됨으로써, 상기 삼각형이 다른 측면 상에 포함할 수 있는 모든 다각형들을 남겨둔다.
상기 다각형들을 2개의 집합들로 분할하는 동안, 상기 분할면을 교차하는 다각형들을 분할하는 것이 가능하다. 대체로, 2개의 집합들을 이루는 다각형들의 개수가 가능하면 동일하도록 다각형들을 2개의 집합들로 분할하는 것이 유리하다.
상기 방법은 상기 객체 파일 내의 삼각형들의 삼각형 면들 및 정면을 결정하는 단계를 더 포함하는 것이 바람직하며, 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 하나를 폐색할 수 있는 지에 관한 결정은,
g) 상기 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 하나의 삼각형의 면의 정면 상에 하나 이상의 정점들을 지니는 지를 결정하는 단계, 및
h) 단계 g)에서 긍정적으로 식별된 처리되지 않은 삼각형들 중 어느 하나의 삼각형이 선택된 삼각형의 면의 배면 상에 하나 이상의 정점들을 지니는 지를 결정하는 단계를 포함한다.
상기 방법은, 상기 제1 장치 상에서, 단계 b) 이전에,
i) 상기 객체가 객체 공간의 XY-면에 대칭인 지를 결정하는 단계,
j) 결정된 대칭면을 저장하는 단계, 및
k) 결정된 대칭면의 한 측면으로부터 상기 객체 파일 내의 모든 정점들을 제거하는 단계, 및
상기 객체 공간의 XZ-면에 대해 그리고 상기 객체 공간의 YZ-면에 대해 단계 i) 내지 단계 k)를 반복하는 단계를 더 포함할 수 있다.
상기 방법은,
l) 단계 f) 또는 단계 k) 이후에 상기 제1 장치로부터 제2 장치로 상기 객체 파일 또는 파일들을 전달하고 상기 제2 장치 상에 상기 객체 파일들을 저장하는 단계를 더 포함하는 것이 바람직하다.
상기 제1 장치는 PC 또는 워크스테이션에서 사용되는 것과 같은 고성능 이미지 처리 수단을 포함하는 것이 바람직하며, 상기제2 장치는 이동 통신 단말기 또는 PDA에서 사용되는 것과 같은 저성능 처리 수단을 포함하는 것이 바람직하다.
따라서, 이미지 렌더링 프로세스의 계산 집약적인 부분은 워크스테이션 또는 PC와 같은 높은 처리 능력을 지니는 장치 상에서 사전에 수행될 수 있으며, 상기 움직이는 3차원 그래픽들은 이동 전화, PDA 또는 핸드헬드 비디오 게임과 같은 비교적 낮은 처리 능력을 지니는 장치 상에서 실시간으로 렌더링될 수 있다.
본 발명의 다른 목적은 상기 제2 장치 상에 위에서 언급된 방법에 의해 얻어지는 객체 파일들을 디스플레이하는 방법을 제공하는 것이다. 이러한 목적은, 청구항 제9항에 따라,
m) 상기 뷰잉 방향을 결정하는 단계, 및
n) 바람직하게는 페인터 알고리즘을 사용하여 상기 객체 순서를 결정하고 상기 제2 장치 상에 상기 객체 또는 객체들을 디스플레이하는 단계를 포함하는 그러한 방법을 제공함으로써 달성된다.
바람직하게는, 상기 방법이,
o) 상기 뷰잉 방향에 대하여 배면을 향하는 모든 삼각형들을 컬링(culling)하는 단계를 더 포함한다.
상기 방법은,
p) 상기 객체 파일 내에 저장된 대칭면들을 검색하는 단계, 및
q) 상기 객체 파일에 내재하는 정점 데이터의 사본을 생성하고, 복사된 정점들의 각각의 검색된 대칭면에 직교하는 축 상에서 상기 정점 값들의 부호를 플리핑하는 단계로서, 상기 정점 데이터의 사본이 원래의 정점 데이터와 동일한 순서를 지니고 상기 원래의 정점 데이터 이후에 상기 객체 파일에 저장되는 단계를 포함하는 것이 유리하다.
상기 좌표들 중 하나의 좌표의 부호를 플리핑함으로써 정점들을 재생하는 것은 단지 대칭면이 x=0, y=0 또는 z=0 중 하나인 경우에 그리고 대칭면이 x=0, y=0 또는 z=0 중 하나인 경우에만 수행될 수 있다. 상기 면이 예컨대 x=1이고 정점(0,1,2)이 존재하는 경우, 거울쌍은 x 성분의 부호를 플리핑함으로써 달성될 수 없다. 그 대신에, 상기 거울쌍이 2,1,2이도록 좌표 x=1에 대해 정점을 거울 대칭시킬 필요가 있다. 그러므로, 상기 방법은, 대칭축들이 x=0, y=0, 또는 z=0에 대하여 정합하도록 상기 객체를 변환 및 회전시키는 단계들을 포함할 수 있다. 상기 렌더링 동작 동안, 역 단계들이 전체 객체에 적용된다.
상기 방법은,
r) 상기 삼각형 스트립들이 생성된 것과 동일한 순서로 상기 삼각형 스트립들을 디스플레이하는 단계, 및
s) 상기 삼각형들이 상기 스트립에 추가된 것과 동일한 순서로 상기 삼각형 스트립들 내에 상기 삼각형들을 디스플레이하는 단계를 더 포함할 수 있다.
따라서, 상기 삼각형들은 상기 제2 장치가 은닉 표면 문제를 해결하기 위한 계산들을 수행할 필요 없이 뷰잉 방향 및 카메라 위치와 무관하게 상기 삼각형들이 상기 객체 파일 내에 저장되는 것과 같이 직접 디스플레이될 수 있다.
바람직하게는, 상기 제2 장치가 이동 통신 단말기 또는 PDA에서 사용된 것과 같은 저성능 처리 수단을 포함하며, 보다 바람직하게는, 상기 제2 장치가 이동 전화이다.
상기 장치의 주 CPU에 의해 이미지 렌더링 프로세스가 수행되는 것이 바람직하고, 모든 부가적인 이미지 렌더링 수단은 내장형 소프트웨어이다.
본 발명의 다른 목적은 실시간 렌더링된 움직이는 3차원 그래픽들을 디스플레이하는 것이 가능한 이동 통신 단말기를 제공하는 것이다. 이러한 목적은, 청구항 제16항에 따라,
삼각형 스트립들을 포함하는 객체 파일들을 저장하는 수단, 및
상기 삼각형 스트립들이 생성되고, 바람직하게는 상기 삼각형 스트립들이 상기 객체 파일들 내에 저장되는 순서에 대응하는 순서로 상기 삼각형 스트립들을 디스플레이하는 수단을 포함하는 그러한 이동 통신 단말기를 제공함으로써 달성된다.
상기 삼각형 스트립들 내의 삼각형들은 상기 삼각형들이 상기 스트립에 추가되고, 바람직하게는 상기 삼각형들이 상기 삼각형 스트립들 내에 저장되는 순서에 대응하는 순서와 동일한 순서로 디스플레이될 수 있다.
바람직하게는, 상기 객체들의 렌더링 순서가 바이너리 공간 분할 방법을 사용하여 결정된다. 상기 객체 파일들의 렌더링 순서는 현재의 뷰잉 방향 및 위치를 기반으로 하여 분류됨으로써 멀리 떨어진 객체들이 먼저 렌더링된다.
상기 이동 통신 단말기는 뷰잉 방향에 대하여 배면을 향하는 모든 삼각형들을 컬링하는 수단을 포함할 수 있다.
상기 이동 통신 단말기는,
상기 객체 파일 내에 저장된 대칭면들을 검색하는 수단, 및
상기 객체 파일에 내재하는 모든 정점 데이터를 복사하고 새로이 생성된 삼각형들에 대하여 각각의 대칭면에 직교하는 축 상에서 정점 값들의 부호를 플리핑하는 수단을 더 포함할 수 있다.
이미지 렌더링 프로세스는 장치의 주 CPU에 의해 수행되는 것이 바람직하며, 모든 부가적인 이미지 렌더링 수단은 내장형 소프트웨어이다.
본 발명의 또 다른 목적은 적어도 하나의 3차원 객체를 표현하는 삼각형 프리미티브들을 정의하는 데이터를 처리함으로써, 제1 장치 상에, 제2 장치 상에 3차원 객체들의 2차원 이미지들을 렌더링하기 위해 사용되는 객체 파일들을 준비하는 방법을 제공하는 것이다. 상기 방법은 감소된 총 계산들의 횟수를 필요로 함으로써 비교적 낮은 처리 능력을 지니는 장치들 상에 실시간 3차원 이미지 렌더링을 허용한다. 이러한 목적은, 청구항 제22항에 따라,
상기 제1 장치 상에서,
a) 적어도 하나의 3차원 객체의 복수의 표면 부분들에 대응하는 복수의 평면 삼각형 프리미티브들을 저장하는 단계로서, 상기 복수의 삼각형 프리미티브들이 정점 데이터에 의해 표현되는 단계,
b) 상기 3차원 객체의 대칭면들을 결정하는 단계,
c) 상기 객체 파일에 대칭 데이터의 면들을 저장하는 단계,
d) 각각의 대칭면의 한 측면으로부터 모든 정점 데이터를 컬링하는 단계,
e) 상기 객체 파일을 상기 제1 장치로부터 상기 제2 장치로 전달하는 단계, 및
f) 상기 대칭면들에 대하여 상기 정점 데이터를 거울 대칭시키고 상기 이미지를 렌더링함으로써 상기 제2 장치 상에 상기 이미지를 디스플레이하는 단계를 포함하는 그러한 유형의 방법을 제공함으로써 달성된다.
바람직하게는, 객체 좌표계의 X-, Y- 또는 Z-축 중 하나의 축과 수직이지 않은 대칭면들은 무시된다. 변형적으로는, 대칭축들이 상기 면들 X=0, Y=0, 또는 Z=0 중 하나 이상의 면과 정렬하도록 상기 객체가 회전 및 변환될 수 있다.
상기 제1 장치는 PC 또는 워크스테이션에서 사용되는 것과 같은 고성능 이미지 처리 수단을 포함할 수 있고, 상기 제2 장치는 이동 통신 단말기, PDA 또는 핸드헬드 비디오 게임에서 사용되는 것과 같은 저성능 처리 수단을 포함할 수 있다.
상기 제2 단말기는 이동 전화인 것이 바람직하다.
본 발명의 또 다른 목적은 감소된 총 계산들로 3차원 객체들의 2차원 이미지들을 디스플레이하는 것이 가능한 이동 통신 단말기를 제공하는 것이다. 이러한 목적은, 청구항 제26항에 따라, 디스플레이 상에 3차원 객체들의 이미지들을 렌더링하는 수단, 정점 데이터를 저장하는 수단, 대칭 데이터의 면들을 저장하는 수단 및 대칭면에 정점 데이터를 거울 대칭시키는 수단을 포함하는 이동 통신 단말기를 제공함으로써 달성된다.
본 발명에 따른 방법들 및 이동 통신 단말기들의 또 다른 목적들, 특징들, 이점들 및 특성들은 이하 상세한 설명으로부터 자명해질 것이다.
이하 본 발명의 상세한 설명에서는, 본 발명이 첨부도면들에 도시된 대표적인 실시예들을 참조하여 보다 상세하게 설명될 것이다.
도 1은 삼각형의 정면을 예시하는 도면이다.
도 2는 제1 장치 상에 3차원 객체들의 객체 파일들을 생성하는 2가지 스테이지들을 보여주는 플로우차트이다.
도 3은 거울 대칭 정점들을 제거함으로써 감소된 정점 데이터로 객체 파일들을 생성하기 위한 단계들을 상세하게 보여주는 플로우차트이다.
도 4는 제1 장치 상에 삼각형 스트립들을 생성하기 위한 단계들을 상세하게 보여주는 플로우차트이다.
도 5는 선택된 삼각형이 처리되지 않은 삼각형을 잠재적으로 폐색할 수 있는 지를 결정하기 위한 프로세스를 상세하게 보여주는 플로우차트이다.
도 6은 제2 장치 상에 3차원 객체들을 2-차원 이미지로서 디스플레이하기 위한 단계들을 보여주는 플로우차트이다.
도 7은 도 3에 도시된 단계들에서 제거된 삼각형들을 복원하기 위한 단계들을 상세하게 보여주는 플로우차트이다.
도 8은 이동 전화의 블록선도이다.
3차원 그래픽 시스템은 객체들, 광원들 및 뷰잉 위치(viewing position)가 명목상의 3차원 공간 내에서 조작될 수 있는 3차원(3-D) 가상 환경을 제공한다. 상기 뷰잉 위치는, "월드 공간(world space)"으로서 종종 언급되는 3차원 가상 월드 내에 윈도우를 제공한다. 이같은 월드 공간 자체만이 3차원 좌표들 및 컬러 및 반사도(reflectivity)와 같은 다른 변수들을 정의하는 데이터로서 존재한다. 명목상의 윈도우에서 프리젠테이션되는 2차원 이미지는 렌더링(rendering)으로서 공지된 절차로 3차원 이미지 데이터를 처리함으로써 생성되어야 한다.
3차원 공간의 객체들이 객체 표면 상에서 선택된 지점들의 좌표 위치들로 표현되는 시스템이 공지되어 있다.
그러나, 렌더링은 이미지의 2차원 영역들에 화소값들을 할당하는 단계로 이 루어져 있다. 그러므로, 이같은 좌표 지점들은 다수의 정점들로 정의되는 편평한 2차원 삼각형들의 3차원 네트를 제공하도록 사실상 직선들로 상기 좌표 지점들을 연결함으로써 명목상의 영역들로 변환된다. 본 발명은 삼각형들을 사용하여 설명되겠지만, 당업자가 이해할 수 있는 점은 언급되는 기법들이 또한 다른 편평한 다각형들에도 적합하는 것이다.
상기 화소값들은 객체 전체가 모자이크식으로 이루어질 때까지, 다시 말하면, 삼각형들로 분할될 때까지 삼각형 단위로 생성된다. 결과적으로 생성된 정점 데이터는 객체 파일에 원래의 순서로 저장된다.
상기 삼각형들은 이 삼각형들의 정면(입체 객체들이 항상 정면 및 결코 볼 수 없는 배면을 지님)을 식별하는 법선 벡터를 정의하는 방식으로 모여진다. 상기 "정(front)"면은 상기 삼각형의 표면에 대하여 법선인 벡터로 정의되며, 상기 벡터의 방향(결과적으로는 상기 정면의 방향)은 상기 삼각형의 3개의 정점들이 삼각형의 데이터 구조에 저장되는 방식으로 결정되는 순서로 상기 삼각형의 3개의 정점들을 가로지르는 오른손(또는 선택적으로는 왼손) 법칙에 의해 결정된다. 예를 들면, 도 1에서, 3개의 지점들(22,23,24)은 상기 법선 벡터(25)의 방향, 결과적으로는 상기 정면(26)으로서 정의될 삼각형(21)의 측면을 결정한다. 상기 법선 벡터(25)는 예컨대 상기 삼각형의 에지(edge)들을 따라 2개의 벡터들의 외적(cross product)에 의해 결정된다. 위에서 언급된 단계들은 모두 워크스테이션, PC 또는 유사한 고성능 컴퓨터 상에서 수행된다.
상기 렌더링 프로세스에 의해 생성되는 화소값들은 상기 워크스테이션 상에 모여진다. 디스플레이 상에 상기 삼각형들을 디스플레이할 경우 3차원의 입체 객체의 환상(illusion)을 유지하기 위해, 상기 삼각형들이 폐색하기 전에 폐색된 삼각형들이 렌더링되게 하는 순서로 상기 삼각형들이 분류되는 것이 중요하다. 삼각형 순서의 실시간 분류는 데이터 처리를 위해 비교적 낮은 성능의 하드웨어를 지니는 이동 전화 상에서 실행가능하지 않다. 종래의 기법들에서는, 이러한 문제가 사전에 결정된 렌더링 순서를 준비함으로써 일부 해결되었지만, 상기 사전에 결정된 렌더링 순서는 현재 보여지는 시점의 위치 또는 뷰잉 방향에 대한 변경들이 생길 때마다 변할 수 있다. 본 명세서에서 언급되겠지만, 본 발명에 따른 기법은 이러한 문제를 극복한다.
본 명세서에서 사용되는 "객체(object)"라는 용어는 단일의 객체들과 또한 여러 개별 객체들의 집합체를 포함하지만, 그러한 집합체 내의 객체들은 동영상 동안 서로 움직이지 않는다. 예컨대, 탁자, 화병 및 상기 탁자 옆에 있는 의자는, 이들이 서로 움직이지 않을 경우 하나의 객체로서 간주될 수 있다. 동영상 동안 상기 의자가 움직여질 경우, 이는 상기 탁자와 같은 객체일 수 없다.
도 2에는 워크스테이션 또는 다른 강력한 컴퓨터(도시되지 않음) 상에 3차원 그래픽 환경을 제공하기 위한 스테이지들이 도시되어 있다. 초기에는, 상기 객체들을 정의하는 데이터가 준비된다. 따라서, 단계(35)에서, 제1 객체가 모델링된다. 마찬가지로, 단계(40)에서, 제2 객체가 모델링되고 이하 단계(45)에서 제N 객체가 모델링될 때까지 마찬가지로 모델링된다. 각각의 객체가 그 자신의 모델링 공간으로서 종종 언급되는 그 자신의 좌표들의 집합과 관련하여 모델링된다. 따라서, 각 각의 객체 데이터의 집합은 형상을 정의하며, 그래픽 환경에서 상기 형상을 재생하는 데 필요한 데이터는 정점 데이터의 형태로 객체 파일에 저장된다.
다음 스테이지는 사전-처리 스테이지의 일부를 형성하는 단계들(50,52,55,60 )로 이루어져 있다. 삼각형 정점들 및 삼각형 표면 특징들에 관하여 상기 객체의 형상을 정의하는 객체 파일이 판독된다.
단계(52)에서, 삼각형 스트립들은 상기 객체 파일에 의해 정의되는 데이터를 처리함으로써 생성된다. 상기 스트립들은 은닉 표면 문제가 가능한 모든 뷰잉 방향에 대하여 해결되는 그러한 방식으로 생성된다. 다시 말하면, 상기 객체 파일에서 은닉 표면 제거(hidden surface removal; HSR)가 허용되기 때문에, 상기 스트립들이 생성될 경우, 뷰잉 방향 및 카메라 위치와 무관하게 은닉 표면 문제를 해결하는 데 어떠한 관심도 기울일 필요가 없다. 대개는 위에서 언급된 기준을 충족하면서 이러한 방식으로 완전한 객체 파일을 처리하는 것이 가능하지만, 때로는 상기 완전한 객체에 대해 이러한 방식으로 삼각형 스트립들을 생성하는 것이 불가능한 데, 그 이유는 상기 객체의 삼각형들 간의 필요한 렌더링 순서에 충동이 존재하기 때문이다. 이러한 경우에, 상기 객체는 각각의 새로운 객체가 다른 어떤 객체와 같이 독립적으로 처리되는 2개의 새로운 객체로 분할된다.
다음 단계, 즉 단계(55)에서는, 상기 객체들이 임의의 대칭면들을 지니는 지가 결정된다(이러한 정보는 대개 모델링 절차 이후에 객체 파일에서 사전에 제공될 수 있다). 대칭면의 한 측면에 있는 모든 삼각형들이 제거되고, 이미 존재해 있지 않은 경우, 상기 대칭면은 상기 객체 파일에 저장된다.
위에서 언급된 단계들은 복수개의 객체들에 필요할 수 있으며, 그 결과 단계(60)에서 다른 객체가 처리되어야 할 지에 관한 질문이 제시된다. 다른 객체가 처리되어야 한다고 응답될 경우, 단계들(50,52,55)은 모든 객체들이 처리될 때까지 반복된다. 모든 단계들(35 내지 60)이 제1 장치, 전형적으로는 강력한 그래픽 처리 수단을 지니는 워크스테이션 상에서 수행되고, 일단 모든 객체 파일들이 처리된 경우, 상기 모든 객체 파일들은 디스플레이를 위해 제2 장치, 즉 이동 단말기, 본 실시예에서는 이동 전화(1)인 것이 전형적인 보다 낮은 그래픽 처리 능력을 지닌 장치로 전송될 수 있다.
도 2의 단계(52)는 도 4의 플로우차트에 보다 상세하게 도시되어 있다. 단계(76)에서, 정점들의 개수, 삼각형들의 개수, 상기 정점 데이터 및 상기 삼각형 데이터로부터 판독된 후에 상기 객체의 모든 삼각형들(1-n)의 정점 데이터가 판독된다. 상기 정점 데이터를 기반으로 하여, 상기 삼각형들(1-n) 각각에 대한 삼각형 면들이 단계(77)에서 차례로 계산된다.
단계(78)에서, 새로운 삼각형 스트립이 처리되지 않은 삼각형들 중 어느 것도 폐색하지 않는 삼각형을 선택함으로써 개시된다. 제1 삼각형의 선택은 단순히 처리되지 않은 삼각형들의 집합에서 제1 삼각형을 선택함으로써 그리디 스타일(greedy style)로 수행될 수 있다.
본 발명의 변형 실시예에 의하면, 예컨대 여러 처리되지 않은 이웃하는 삼각형들을 지니지 않는 삼각형들을 선택함으로써 나머지 처리되지 않은 삼각형들의 최소 개수를 잠재적으로 폐색하는 그러한 삼각형들을 식별하는 데 휴리스틱 탐색 (heuristic search) 기법들이 사용될 수 있다. 결과적으로 식별된 삼각형들로부터 새로운 스트립을 개시함으로 인해 객체당 삼각형 스트립이 보다 적어지고 보다 길어진다.
그러한 휴리스틱 탐색을 수행하는 기법이 여러가지로 공지되어 있기 때문에 이같은 기법들은 본 명세서에서 상세하게 설명되지 않을 것이다.
스트립을 개시하도록 선택되는 삼각형은 이어서 처리되지 않은 삼각형들의 집합 내의 삼각형들과 비교되어 선택된 삼각형이 잠재적으로 상기 처리되지 않은 삼각형들 중 어느 것을 폐색할 수 있는 지를 결정한다. 이러한 결정을 수행하기 위한 절차가 이하 도 5와 관련하여 설명될 것이다.
단계(80)에서, 삼각형 스트립에 추가될 이웃하는 삼각형이 선택된다. 상기 선택된 삼각형은 이어서 단계(81)에서 처리되지 않은 삼각형들의 집합 내의 삼각형들과 비교되어 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 것을 잠재적으로 폐색할 수 있는 지를 결정한다. 이러한 결정을 수행하기 위한 절차는 이하 도 5와 관련하여 부가적으로 설명될 것이다. 상기 단계(81)의 결정이 부정적일 경우 단계(85)에서 상기 선택된 삼각형이 상기 스트립에 추가된다. 상기 선택된 삼각형은 이어서 단계(86)에서 처리되지 않은 삼각형들의 집합으로부터 제거된다. 단계(87)에서, 처리되지 않은 삼각형들을 지닌 집합이 비어있는 지에 관한 질문이 제시된다. 단계(87)에서 제시된 질문이 긍정적인 면으로 응답될 경우 상기 객체 파일 내의 모든 삼각형들이 처리되고, 단계(60)(도 2 참조)로 조종이 이루어진다. 단계(87)에서 제시되는 질문이 부정적인 면으로 응답될 경우, 상기 삼각형 스트립에의 추가를 위 해 새로운 이웃하는 삼각형을 선택하도록 단계(80)로 조종이 이루어진다.
단계(81)에서 제시된 질문이 긍정적인 면으로 응답될 경우, 단계(83)에서 충돌에 대한 검사가 수행된다. 다시 말하면, 제1 삼각형이 제2 삼각형을 잠재적으로 폐색할 수 있고, 상기 제2 삼각형이 제3 삼각형을 잠재적으로 폐색할 수 있으며, 상기 제3 삼각형이 상기 제1 삼각형을 잠재적으로 폐색할 수 있을 경우와 같은 순환이 존재하는 지에 대한 검사가 수행된다. 따라서, 렌더링 순서가 가능한 모든 뷰잉 방향에 대해 정확한 객체 파일을 생성하는 것이 불가능하다. 충돌에 대한 검사가 부정적인 면으로 응답될 경우, 단계(78)에서 새로운 삼각형 스트립이 개시된다. 충돌에 대한 검사가 긍정적인 면으로 응답될 경우, 상기 객체는 예컨대, 최근에 선택된 삼각형의 삼각형 표면에 걸쳐 상기 객체를 2로 나눔으로써 바이너리 공간 분할 기법들을 사용하여 분할된다. 이어서 단계(52)(도 2 참조)로 조종이 이루어지며, 2개의 "새로운" 객체들은 나머지 객체들 중 어느 하나와 같이 처리된다. 상기 충돌 검사가 임의의 삼각형이 다른 어떤 처리되지 않은 삼각형을 잠재적으로 포함하지 않도록 선택될 수 있는 지를 결정함으로써 수행된다. 이러한 결정이 부정적인 면으로 응답될 경우, 상기 객체는 분할될 필요가 있다.
도 5의 플로우차트에 가장 양호하게 도시된 바와 같이, 선택된 삼각형은 단계(91)로부터 개시하여 처리되지 않은 삼각형들과 비교될 수 있는 데, 상기 단계(91)에서는 매개변수(X)에 대한 값이 1로 설정되고 매개변수(Y)에 대한 값이 처리되지 않은 삼각형들의 집합 내의 삼각형들의 개수와 동일하게 설정된다.
단계(92)에서, 상기 선택된 삼각형이 처리되지 않은 삼각형들의 집합 내의 삼각형(X)의 면 앞에 하나 이상의 정점들을 지니는 지에 관한 질문이 제시된다. 단계(92)에서 제시된 질문이 긍정적인 면으로 응답될 경우, 단계(93)에서 삼각형(X)이 선택된 삼각형의 면 뒤에 하나 이상의 정점들을 지니는 지에 관한 질문이 제시된다. 단계(93)에서 제시된 질문이 또한 긍정적인 면으로 응답될 경우, 단계(83)(도 4 참조)로 조종이 이루어진다.
단계(92) 또는 단계(93)에서 제시된 질문이 부정적으로 응답될 경우, 단계(94)에서 매개변수(X)의 값에 1이 증가되고 단계(95)에서 매개변수(X)의 값이 매개변수(Y)의 값과 동일한 지에 관한 질문이 제시된다. 단계(95)에서 제시된 질문이 부정적인 면으로 응답될 경우, 단계들(92,93,94,95)의 절차는 단계(95)에서 제시된 질문이 긍정적인 면으로 응답될 때까지 반복된다. 그후, 선택된 삼각형을 삼각형 스트립에 추가하도록 단계(85)로 조종이 이루어진다.
위에서 언급된 절차는 처리되지 않은 삼각형을 지니는 집합이 비어질 때까지 반복되고, 상기 객체 파일은 상기 삼각형들이 은닉 표면 문제를 해결할 필요 없이 디스플레이될 수 있는 순서를 이루고 있는 포맷으로 된다. 더욱이, 상기 삼각형들은 삼각형 스트립들로 배열되고 그럼으로써 상기 객체를 디스플레이하기 위한 계산들의 총계가 더 감소된다.
본 실시예에 필수적이지 않은 다음 단계, 즉 단계(55)는 도 3의 플로우차트에 보다 상세하게 도시되어 있다. 단계(64)에서는, 상기 객체가 XY 면에 대하여 대칭인 지가 결정된다. 대개, 이러한 데이터는, 특히 상기 객체 파일이 그래픽 프로그램 따위를 사용하여 생성된 경우에 상기 객체 파일에서 제공될 수 있다. 예컨 대, 상기 객체 파일이 스캐닝된 객체를 반영하기 때문에, 상기 객체 파일이 그러한 데이터를 포함하지 않는 특이한 경우에, 대칭면(Z)이 0인 것으로(Z=0인 것으로) 가정함으로써 대칭면을 식별하는 것이 가능하고 양(+)의 Z-값을 지니는 모든 정점에 대하여 동일한 정점이 동일하지만 음(-)의 Z-값으로 존재하는 지를 검사하는 것이 가능하며, 대칭면이 Y=0 그리고 X=0인 경우에 그러한 연습을 반복한다. 도시되어 있지는 않지만, 임의의 대칭축이 하나 이상의 면들(X=0, Y=0 또는 Z=0)에 대해 정렬하도록 상기 객체를 회전 및 변환하는 단계들을 포함하는 것이 또한 가능하다.
XY면에 대한 대칭이 존재할 경우, 단계(65)에서 대칭면은 상기 객체 파일에 저장되고, 단계(66)에서 음의 Z-축을 갖는 모든 정점들은 상기 객체 파일로부터 컬링(culling)된다. 이에 대해, 정점 인덱스들이 다시 정리됨으로써 대칭면 아래에 있는 각각의 거울 대칭된 정점이 상기 대칭면 위에 있는 각각의 거울 대칭된 정점의 쌍의 뒤를 잇고, 그후 상기 대칭면 위에 있는 각각의 거울 대칭된 정점의 쌍들이 마킹(marking)됨으로써 상기 대칭면 위에 있는 각각의 거울 대칭된 정점의 쌍들이 거울 대칭된 대응물들을 지닌다.
단계(65) 이후에나 또는 XY면에서의 어떠한 대칭도 검출되지 않은 경우, 단계(67)에서 상기 객체가 XZ면에 대칭인 지가 결정된다.
XZ면에서의 대칭이 존재할 경우, 단계(68)에서 대칭면이 상기 객체 파일에 저장되고, 단계(69)에서 음의 Y-축 값들을 갖는 모든 정점들이 상기 객체 파일로부터 컬링된다.
단계(69) 이후나 또는 XZ면에서의 어떠한 대칭도 검출되지 않을 경우, 단계(70)에서 상기 객체가 XZ면에 대칭인 지가 결정된다.
YZ면에서의 대칭이 존재할 경우, 단계(71)에서 대칭면은 상기 객체 파일 내에 저장되고 단계(72)에서 음의 X-축 값을 갖는 모든 정점들이 상기 객체 파일로부터 컬링된다.
단계(72) 이후에나 또는 YZ면에서의 어떠한 대칭도 검출되지 않을 경우, 도 2의 단계(60)로 조종이 이루어진다. 상기 객체 파일에 내재하는 정점 데이터의 양은 결과적으로 상기 객체의 대칭면들의 개수에 의존하여 팩터(factor)가 8에 이르기까지 감소될 수 있다. 실제로, 컴퓨터 그래픽들에 사용되는 거의 모든 객체들은 적어도 하나의 대칭면을 지니고 종종 2개의 대칭면을 지님으로써, 팩터가 2 내지 4인 만큼 정점 데이터의 양에 있어서의 감소가 달성될 수 있다. 이것은 예컨대 도 8에 도시된 바와 같은 이동 전화(1)의 비교적 한정된 메모리 용량 때문에 상기 이동 전화(1) 상에 움직이는 3-D 그래픽들을 저장할 경우에 상당히 중요하다.
단계(60)에서 모든 객체들(1-N)이 결과적으로 처리된 것으로 결정될 경우, 상기 객체 파일들은 디스플레이를 위해 상기 워크스테이션으로부터 상기 이동 전화(1)로 전달될 준비를 한다.
상기 워크스테이션으로부터 상기 이동 전화로의 데이터 전달은 무선(블루투스), 케이블, (프로덕션 사이트에서의) 네이티브(native) 또는 기타 적합한 매체를 통해 메시지들(SMS 또는 MMS)로서 IR 신호들(IrDA) 또는 RF 신호들로 이루어질 수 있다.
도 6에 도시된 바와 같이, 단계(100)에서 상기 객체 파일들(1-N)은 상기 이동 전화 상으로 로딩되고 상기 이동 전화(1)(도 8 참조)의 랜덤 액세스 메모리(RAM; 17) 상에 저장된다. 상기 이동 전화에는 상기 RAM(17)에 데이터를 기록하고 상기 RAM(17)으로부터 데이터를 판독하는 것이 가능한 프로세서(CPU; 10)가 제공된다. 상기 CPU(10)는 마이크로폰(14) 및 스피커(15)에 연결된 디지털 신호 프로세서(12)를 제어한다. 상기 이동 전화(1)에는 가입자 식별 모듈(SIM 카드; 16)이 부가적으로 제공된다. RF 송신기-수신기 회로(18)는 또한 상기 CPU(10)에 연결된다. 소프트웨어 내장형 3-D 엔진(20)은 LCD 또는 플라즈마 스크린(30)을 구동시킨다.
단계(52)에서 상기 객체 파일들(1-N) 내의 삼각형들의 총 개수가 상기 워크스테이션 상에서 감소되었기 때문에, 데이터의 양은 상기 이동 전화(1)의 비교적 한정된 RAM(17) 내에 저장될 정도로 충분히 적다. 상기 객체 파일들은 적합한 렌더링 순서(HSR 허용)로 준비됨으로써 객체 순서가 결정되는 동안 상기 렌더링 스테이지에 진입하는 것이 가능하다. 단계(101)(도 6 참조)에서, 본질적으로 뷰(view) 및 조명(lighting) 매개변수들을 정의하는 입력 커맨드들이 수신된다. 그러므로, 단계(102)에서 바람직하게는 바이너리 공간 분할 기법들을 사용함으로써 객체 렌더링 순서가 결정된다. 단계(103)에서 렌더링될 제1(대부분 폐색된) 객체의 데이터가 판독된다. 단계(104)에서, 대칭 표면의 한 측면으로부터 제거된 삼각형들이 복원된다. 이러한 절차는 도 7에 도시된 플로우차트에 보다 상세하게 예시되어 있다.
단계(120)에서, XY 표면 내의 대칭면이 상기 객체 파일 내에 저장되는 지에 관한 질문이 제시된다. 단계(120)에서 제시된 질문이 긍정적인 면으로 응답될 경우, 단계(122)에서 현재 상기 객체 파일에 내재하는 모든 정점 데이터를 복사하고 새로이 생성된 정점들에 대하여 Z-축 값들의 부호를 플리핑(flipping)하여 새로운 정점들의 집합이 생성됨으로써, 이전에 제거된 정점들이 복원되고, 단계(124)로 조종이 이루어진다. 단계(120)에서 제시된 질문이 부정적인 면으로 응답될 경우, 단계(124)로 직접 조종이 이루어진다.
단계(124)에서 XZ 표면에서의 대칭면이 상기 객체 파일 내에 저장되는 지에 관한 질문이 제시된다. 단계(124)에서 제시된 질문이 긍정적인 면으로 응답될 경우 단계(126)에서 현재 상기 객체 파일에 내재하는 모든 정점 데이터를 복사하고 새로이 생성된 정점들에 대하여 Y-축 값들의 부호를 플리핑하여 새로운 정점들의 집합이 생성됨으로써, 이전에 제거된 정점들이 복원되고, 단계(128)로 조종이 이루어진다. 단계(124)에서 제시된 질문이 부정적인 면으로 응답될 경우, 단계(128)로 조종이 직접 이루어진다.
단계(128)에서, YZ 표면에서의 대칭면이 상기 객체 파일 내에 저장되는 지에 관한 질문이 제시된다. 단계(128)에서 제시된 질문이 긍정적인 면으로 응답될 경우, 단계(130)에서 현재 상기 객체 파일에 내재하는 모든 정점 데이터를 복사하고 새로이 생성된 정점들에 대하여 X-축 값들의 부호를 플리핑하여 새로운 정점들의 집합이 생성됨으로써, 이전에 제거된 정점들이 복원되고, 단계(105)(도 6 참조)로 조종이 이루어진다. 단계(128)에서 제시된 질문이 부정적인 면으로 응답될 경우, 단계(105)(도 6 참조)로 조종이 직접 이루어진다. 따라서, 단계(52)에서 상기 워크스테이션 상의 객체 파일로부터 제거된 모든 정점들이 다시 복원된다.
단계(105)에서, 주어진 삼각형의 사전에 정의된 정면이 현재의 뷰잉 방향에 대하여 보여지는 지가 결정된다. 이에 대하여, 상기 객체 파일 내의 삼각형들(1-n)의 정면들의 방향은 각각의 삼각형의 법선 벡터 및 뷰잉 방향의 벡터의 도트 곱(dot product)을 계산함으로써, 뷰잉 방향과 비교된다. 이러한 곱이 음일 경우, 해당 삼각형은 컬링되는 데, 그 이유는 상기 삼각형의 정면이 현재의 뷰잉 방향에 대하여 보여지지 않을 수 있기 때문이다. 따라서, 삼각형들의 총 개수는 통계적으로 50% 정도 감소된다.
변형적으로는, 배면 삼각형들을 검출하는 대개는 보다 정확하고 종종 훨씬 더 신속한(그 이유는 모든 삼각형에 대한 카메라 변화들의 방향과 아울러, 법선을 계산하는 것이 반드시 필요하지 않기 때문임) 방법은 투영(projection) 이후에 스크린 상의 자신의 영역을 계산하는 것이다. 스크린 영역이 네가티브(negative)인 경우, 상기 삼각형은 배면을 이룬다.
단계(106)에서, 모형 공간(즉, 상기 객체의 기준 좌표계)으로부터의 삼각형들의 정점들을 장치 공간(즉, 디스플레이 또는 스크린 좌표계)으로 변환하는 것은 매트릭스-벡터 곱을 사용하여 이루어진다. 정점 변환을 위한 방법들 및 알고리즘들은 당업계에 잘 알려져 있음으로써 본 명세서에 상세하게 설명되지 않을 것이다.
단계(106)에서 상기 정점들이 변환된 경우, 단계(107)에서 정점 데이터는 뷰잉을 위해 상기 디스플레이에 전송된다. 단계(107)에서, 상기 삼각형 스트립들은 이러한 삼각형 스트립들이 생성되고, 본 실시예에서는 상기 객체 파일 내에 저장되는 순서에 대응하는 순서로 렌더링된다. 상기 삼각형들은 이러한 삼각형들이 각각 의 삼각형 스트립에 추가되고, 본 실시예에서는 상기 객체 파일 내에 저장되는 순서에 대응하는 순서로 디스플레이된다. 결과적으로, 상기 삼각형들은 이러한 삼각형들을 디스플레이하는 동안 은닉 표면 문제를 해결하는 데 필요하지 않으면서 상기 객체 파일 내에 저장되는 순서로 디스플레이될 수 있다.
단계(108)에서, 다른 객체가 디스플레이될 지에 관한 질문이 제시된다. 단계(108)에서 제시된 질문이 긍정적인 면으로 응답될 경우, 다음 객체 파일의 데이터가 판독되는 단계(103)로 조종이 이루어진다.
따라서, 단계들(103 내지 107)은 모든 객체들이 디스플레이될 때까지 반복된다. 모든 객체들이 디스플레이된 경우, 다음 프레임이 디스플레이되고 다음 프레임을 위해 입력 커맨드들을 수신하도록 단계(101)로 조종이 이루어진다.
본 발명의 다른 실시예에 의하면, 거울 대칭된 정점들은 도 3의 플로우차트에 도시된 바와 같이 제거되지만, 다각형들이 스트립되지 않는다. 다시 말하면, 도 2의 단계(55)가 생략된다. 따라서, 상기 이동 전화에 용이하게 저장될 수 있는 감소된 크기의 객체 파일이 획득되지만, 상기 삼각형들을 디스플레이할 경우, 은닉 표면 문제를 해결하는 것이 필요하다. 이에 대하여, 페인터 알고리즘(painter's algorithm) 또는 Z-버퍼링(Z-buffering) 기법이 상기 이동 전화(1) 상에 사용될 수 있으며, 상기 이동 전화의 처리 능력의 한계들에 역시 비교적 신속하게 도달된다.
본 발명의 유효한 기법들은 이동 전화들, PDA들 및 핸드헬드 비디오 게임들과 같은 비교적 한정된 이미지 처리 하드웨어를 지니는 장치들 상에 실시간 움직이 는 3-D 그래픽들을 허용한다. 그러므로, 본 발명은 바람직한 실시예들에서 언급된 장치(SIM 카드를 지니는 이동 전화)에 국한되지 않고, 위에서 목록화된 이동 전화 또는 장치의 기타 유형에 적용될 수 있다.
지금까지 본 발명이 예시를 위해 상세하게 설명되었지만, 여기서 알 수 있는 점은 그러한 세부가 단지 그러한 목적을 위한 것일 뿐이며, 본 발명의 여러 가지 변경들이 본 발명의 범위로부터 벗어나지 않고서도 당업자에 의해 이루어질 수 있다.

Claims (26)

  1. 적어도 하나의 3차원 객체를 표현하는 삼각형 프리미티브들을 정의하는 데이터를 포함하는 객체 파일들을 처리하여 은닉 표면들이 제거되는 2차원 이미지를 생성하기 위해 상기 삼각형 프리미티브들이 렌더링될 수 있는 렌더링 순서를 결정함으로써 제1 장치 상에, 제2 장치 상에 3차원 객체들의 2차원 이미지들을 렌더링하기 위해 사용되는 객체 파일들을 준비하는 방법에 있어서,
    a) 객체 파일 내에 적어도 하나의 3차원 객체의 복수의 표면 부분들에 대응하는 복수의 평면 삼각형 프리미티브들을 저장하는 단계로서, 상기 복수의 삼각형 프리미티브들이 원래의 순서에 따라 배열된 정점 데이터에 의해 표현되는 단계,
    b) 삼각형 스트립을 개시하도록 처리되지 않은 삼각형들 중 어떠한 것도 잠재적으로 폐색하지 않는 삼각형을 선택하는 단계,
    c) 상기 삼각형 스트립 내의 최근 삼각형에의 추가를 위해 이웃하는 삼각형을 선택하는 단계,
    d) 상기 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 하나를 잠재적으로 폐색할 수 있는 지를 결정하는 단계,
    e) 상기 선택된 삼각형을 상기 스트립에 추가하고 상기 선택된 삼각형이 처리되지 않은 삼각형들 중 어떠한 것도 잠재적으로 폐색할 수 없는 경우 단계 c)로 되돌리는 단계,
    f) 상기 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 하나를 잠재적으 로 폐색할 수 있는 경우 새로운 삼각형 스트립을 개시하도록 단계 b)로 되돌리는 단계, 및
    g) 상기 객체 파일 내의 모든 삼각형들이 처리될 때까지 단계 b) 내지 단계 f)를 반복하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 단계 b)는 바람직하게는 처리되지 않은 여러 이웃하는 삼각형들을 지니지 않는 삼각형들을 선택함으로써 잠재적으로 긴 스트립들이 형성될 수 있게 하는 스트립을 개시하기 위한 그러한 삼각형들을 식별하기 위한 휴리스틱 탐색(heuristic search)을 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 방법은 단계 b)에서 아직 처리되지 않은 다른 삼각형들을 폐색하지 않는 삼각형을 발견하는 것이 불가능할 경우 상기 객체 파일을 2로 나누는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서, 상기 객체가 바이너리 공간 분할 기법들을 사용하여, 바람직하게는 임의의 분할면을 사용하여 분할되어, 처리되지 않은 삼각형들 중 적어도 하나의 삼각형은 이러한 삼각형이 잠재적으로 폐색할 수 있는 처리되지 않은 삼각형들과는 다른 측면 상에 남아 있게 하고, 바람직하게는 임의의 처리되지 않은 삼각형의 면이 사용되고 상기 삼각형이 상기 분할면의 외측면 상에 연관됨으로써, 상기 삼각형이 다른 측면 상에 포함할 수 있는 모든 삼각형들을 남겨두는 것을 특징 으로 하는 방법.
  5. 제1항에 있어서, 상기 방법은 상기 객체 파일 내의 삼각형들의 삼각형 면들 및 정면을 결정하는 단계를 더 포함하며, 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 하나를 폐색할 수 있는 지에 관한 결정은,
    g) 상기 선택된 삼각형이 처리되지 않은 삼각형들 중 어느 하나의 삼각형의 면의 정면 상에 하나 이상의 정점들을 지니는 지를 결정하는 단계, 및
    h) 단계 g)에서 긍정적으로 식별된 처리되지 않은 삼각형들 중 어느 하나의 삼각형이 선택된 삼각형의 면의 배면 상에 하나 이상의 정점들을 지니는 지를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 단계 b) 이전에,
    i) 상기 객체가 객체 공간의 XY-면에 대칭인 지를 결정하는 단계,
    j) 상기 객체 파일에 결정된 대칭면을 저장하는 단계, 및
    k) 결정된 대칭면의 한 측면으로부터 상기 객체 파일 내의 모든 정점들을 제거하는 단계, 및
    상기 객체 공간의 XZ-면에 대해 그리고 상기 객체 공간의 YZ-면에 대해 단계 i) 내지 단계 k)를 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    l) 단계 f) 또는 단계 k) 이후에 상기 제1 장치로부터 제2 장치로 상기 객체 파일 또는 파일들을 전달하고 상기 제2 장치 상에 상기 객체 파일들을 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 제1 장치는 PC 또는 워크스테이션에서 사용되는 것과 같은 고성능 이미지 처리 수단을 포함하며, 상기 제2 장치는 이동 통신 단말기 또는 PDA에서 사용되는 것과 같은 저성능 처리 수단을 포함하는 것을 특징으로 하는 방법.
  9. 청구항 제1항의 방법에 의해 획득되는 객체 파일들을 상기 제2 장치 상에 디스플레이하는 방법에 있어서,
    m) 상기 뷰잉 방향을 결정하는 단계, 및
    n) 바람직하게는 페인터 알고리즘을 사용하여 상기 객체 순서를 결정하고 상기 제2 장치 상에 상기 객체 또는 객체들을 디스플레이하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 방법은,
    o) 상기 뷰잉 방향에 대하여 배면을 향하는 모든 삼각형들을 컬링(culling)하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제9항 또는 제10항에 있어서, 상기 방법은,
    p) 상기 객체 파일 내에 저장된 대칭면들을 검색하는 단계, 및
    q) 상기 객체 파일에 내재하는 정점 데이터의 사본을 생성하고, 복사된 정점들의 각각의 검색된 대칭면에 직교하는 축 상에서 상기 정점 값들의 부호를 플리핑하는 단계로서, 상기 정점 데이터의 사본이 원래의 정점 데이터와 동일한 순서를 지니고 상기 원래의 정점 데이터 이후에 상기 객체 파일에 저장되는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 제9항에 있어서, 상기 방법은,
    r) 상기 삼각형 스트립들이 생성된 것과 동일한 순서로 상기 삼각형 스트립들을 디스플레이하는 단계, 및
    s) 상기 삼각형들이 상기 스트립에 추가된 것과 동일한 순서로 상기 삼각형 스트립들 내에 상기 삼각형들을 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제9항에 있어서, 상기 제2 장치는 이동 통신 단말기 또는 PDA에서 사용된 것과 같은 저성능 처리 수단을 포함하는 것을 특징으로 하는 방법.
  14. 제9항에 있어서, 상기 제2 장치는 이동 전화인 것을 특징으로 하는 방법.
  15. 제13항 또는 제14항에 있어서, 상기 장치의 주 CPU에 의해 이미지 렌더링 프로세스가 수행되고, 모든 부가적인 이미지 렌더링 수단은 내장형 소프트웨어인 것을 특징으로 하는 방법.
  16. 이동 통신 단말기에 있어서,
    삼각형 스트립들을 포함하는 객체 파일들을 저장하는 수단, 및
    상기 삼각형 스트립들이 생성되고, 바람직하게는 상기 삼각형 스트립들이 상기 객체 파일들 내에 저장되는 순서에 대응하는 순서로 상기 삼각형 스트립들을 디스플레이하는 수단을 포함하는 것을 특징으로 하는 이동 통신 단말기.
  17. 제16항에 있어서, 상기 삼각형 스트립들 내의 삼각형들은 상기 삼각형들이 상기 스트립에 추가되고, 바람직하게는 상기 삼각형들이 상기 삼각형 스트립들 내에 저장되는 순서에 대응하는 순서와 동일한 순서로 디스플레이되는 것을 특징으로 하는 이동 통신 단말기.
  18. 제16항 또는 제17항에 있어서, 상기 객체들의 렌더링 순서는 바이너리 공간 분할 방법을 사용하여 결정되는 것을 특징으로 하는 이동 통신 단말기.
  19. 제16항에 있어서, 상기 이동 통신 단말기는 뷰잉 방향에 대하여 배면을 향하는 모든 삼각형들을 컬링하는 수단을 포함하는 것을 특징으로 하는 이동 통신 단말기.
  20. 제16항에 있어서, 상기 이동 통신 단말기는,
    상기 객체 파일 내에 저장된 대칭면들을 검색하는 수단, 및
    상기 객체 파일에 내재하는 모든 정점 데이터를 복사하고 새로이 생성된 삼각형들에 대하여 각각의 대칭면에 직교하는 축 상에서 정점 값들의 부호를 플리핑하는 수단을 더 포함하는 것을 특징으로 하는 이동 통신 단말기.
  21. 제16항에 있어서, 이미지 렌더링 프로세스는 장치의 주 CPU에 의해 수행되며, 모든 부가적인 이미지 렌더링 수단은 내장형 소프트웨어인 것을 특징으로 하는 이동 통신 단말기.
  22. 적어도 하나의 3차원 객체를 표현하는 삼각형 프리미티브들을 정의하는 데이터를 처리함으로써 제1 장치 상에, 제2 장치 상에 3차원 객체들의 2차원 이미지들을 렌더링하기 위해 사용되는 객체 파일들을 준비하는 방법에 있어서,
    상기 제1 장치 상에서,
    a) 적어도 하나의 3차원 객체의 복수의 표면 부분들에 대응하는 복수의 평면 삼각형 프리미티브들을 저장하는 단계로서, 상기 복수의 삼각형 프리미티브들이 정 점 데이터에 의해 표현되는 단계,
    b) 상기 3차원 객체의 대칭면들을 결정하는 단계,
    c) 상기 객체 파일에 대칭 데이터의 면들을 저장하는 단계,
    d) 각각의 대칭면의 한 측면으로부터 모든 정점 데이터를 컬링하는 단계,
    e) 상기 객체 파일을 상기 제1 장치로부터 상기 제2 장치로 전달하는 단계, 및
    f) 상기 대칭면들에 상기 정점 데이터를 거울 대칭시키고 상기 이미지를 렌더링함으로써 상기 제2 장치 상에 상기 이미지를 디스플레이하는 단계를 포함하는 것을 특징으로 하는 방법.
  23. 제22항에 있어서, 객체 좌표계의 X-, Y- 또는 Z-축 중 하나의 축과 나란하지 않은 대칭면들이 무시되는 것을 특징으로 하는 방법.
  24. 제22항 또는 제23항에 있어서, 상기 제1 장치는 PC 또는 워크스테이션에서 사용되는 것과 같은 고성능 이미지 처리 수단을 포함하고, 상기 제2 장치는 이동 통신 단말기, PDA 또는 핸드헬드 비디오 게임에서 사용되는 것과 같은 저성능 처리 수단을 포함하는 것을 특징으로 하는 방법.
  25. 제24항에 있어서, 상기 제2 장치는 이동 전화인 것을 특징으로 하는 방법.
  26. 이미지 처리 수단을 포함하는 이동 통신 단말기로서, 상기 이미지 처리 수단이 대칭면들 및 상기 대칭면들 각각의 한 측면 상의 정점 데이터를 포함하는 객체 파일들로부터 디스플레이 상에 3차원 객체들의 이미지들을 렌더링하는 이동 통신 단말기에 있어서,
    상기 이동 통신 단말기는,
    상기 대칭면들을 저장하는 수단,
    상기 대칭면들 각각의 한 측면 상의 정점 데이터를 저장하는 수단, 및
    상기 정점 데이터를 다른 한 측면 상에 거울 대칭시키는 수단을 포함하는 것을 특징으로 하는 이동 통신 단말기.
KR1020057006297A 2005-04-12 2002-10-15 3차원 이미지 처리 KR100693134B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020057006297A KR100693134B1 (ko) 2005-04-12 2002-10-15 3차원 이미지 처리

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020057006297A KR100693134B1 (ko) 2005-04-12 2002-10-15 3차원 이미지 처리

Publications (2)

Publication Number Publication Date
KR20050059253A KR20050059253A (ko) 2005-06-17
KR100693134B1 true KR100693134B1 (ko) 2007-03-13

Family

ID=37252277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057006297A KR100693134B1 (ko) 2005-04-12 2002-10-15 3차원 이미지 처리

Country Status (1)

Country Link
KR (1) KR100693134B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101435759B1 (ko) * 2010-09-28 2014-08-28 인텔 코포레이션 모션 블러 및 피사계 심도를 위한 후면 컬링
US9639971B2 (en) 2013-10-08 2017-05-02 Samsung Electronics Co., Ltd. Image processing apparatus and method for processing transparency information of drawing commands

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703709B1 (ko) * 2005-06-02 2007-04-06 삼성전자주식회사 그래픽스 처리장치와 처리방법, 및 그 기록 매체
KR100692210B1 (ko) * 2005-07-01 2007-03-09 엔에이치엔(주) 게임 엔진에서 소정의 오브젝트를 렌더링하는 방법 및 상기랜더링 방법을 수행하는 프로그램이 기록된 기록 매체
WO2007004837A1 (en) * 2005-07-01 2007-01-11 Nhn Corporation Method for rendering objects in game engine and recordable media recording programs for enabling the method
KR100647367B1 (ko) * 2005-07-15 2006-11-23 엘지전자 주식회사 휴대 단말기에서 이차원 오브젝트의 패스 렌더링 방법
KR101136737B1 (ko) * 2011-10-07 2012-04-19 (주)넥셀 그래픽 처리방법 및 그 장치
CN116597063B (zh) * 2023-07-19 2023-12-05 腾讯科技(深圳)有限公司 图片渲染方法、装置、设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903272A (en) 1993-02-15 1999-05-11 Canon Kabushiki Kaisha Apparatus and method for determining a rendering order between first and second object surface primitives

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903272A (en) 1993-02-15 1999-05-11 Canon Kabushiki Kaisha Apparatus and method for determining a rendering order between first and second object surface primitives

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101435759B1 (ko) * 2010-09-28 2014-08-28 인텔 코포레이션 모션 블러 및 피사계 심도를 위한 후면 컬링
US9639971B2 (en) 2013-10-08 2017-05-02 Samsung Electronics Co., Ltd. Image processing apparatus and method for processing transparency information of drawing commands
US10229524B2 (en) 2013-10-08 2019-03-12 Samsung Electronics Co., Ltd. Apparatus, method and non-transitory computer-readable medium for image processing based on transparency information of a previous frame

Also Published As

Publication number Publication date
KR20050059253A (ko) 2005-06-17

Similar Documents

Publication Publication Date Title
US7733341B2 (en) Three dimensional image processing
JP2006503355A5 (ko)
US9508191B2 (en) Optimal point density using camera proximity for point-based global illumination
EP2051533A2 (en) 3D image rendering apparatus and method
US8698799B2 (en) Method and apparatus for rendering graphics using soft occlusion
US10325403B2 (en) Image based rendering techniques for virtual reality
US10089796B1 (en) High quality layered depth image texture rasterization
US9401044B1 (en) Method for conformal visualization
KR100693134B1 (ko) 3차원 이미지 처리
US7133052B1 (en) Morph map based simulated real-time rendering
CN115803782A (zh) 具有实时深度图的感受几何结构的增强现实效果
US6664957B1 (en) Apparatus and method for three-dimensional graphics drawing through occlusion culling
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
CN112991507A (zh) 图像生成系统和方法
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
JP3711273B2 (ja) オクルージョンカリングを行う3次元グラフィックス描画装置
JPH02132572A (ja) 画像表示装置
JP2007299080A (ja) 画像生成方法及び画像生成装置
CN117813628A (zh) 用于3d环境中的实时光线跟踪的系统和方法
CN117915057A (zh) 图像处理方法和虚拟现实显示系统
WO2005073924A1 (en) Apparatus and method for determining intersections
JP2001291115A (ja) 3次元図形描画方法およびこの方法を記録した記録媒体

Legal Events

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

Payment date: 20130221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee