KR100362704B1 - 화상데이터생성방법과화상데이터처리장치및기록매체 - Google Patents
화상데이터생성방법과화상데이터처리장치및기록매체 Download PDFInfo
- Publication number
- KR100362704B1 KR100362704B1 KR1019950044987A KR19950044987A KR100362704B1 KR 100362704 B1 KR100362704 B1 KR 100362704B1 KR 1019950044987 A KR1019950044987 A KR 1019950044987A KR 19950044987 A KR19950044987 A KR 19950044987A KR 100362704 B1 KR100362704 B1 KR 100362704B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- image data
- dimensional image
- polygon
- dimensional
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims description 55
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 230000009466 transformation Effects 0.000 claims abstract description 23
- 238000006243 chemical reaction Methods 0.000 claims abstract description 19
- 238000003672 processing method Methods 0.000 claims abstract description 8
- 238000009877 rendering Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 55
- 239000000872 buffer Substances 0.000 description 37
- 238000004364 calculation method Methods 0.000 description 24
- 230000008859 change Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 239000003086 colorant Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- MJEMIOXXNCZZFK-UHFFFAOYSA-N ethylone Chemical compound CCNC(C)C(=O)C1=CC=C2OCOC2=C1 MJEMIOXXNCZZFK-UHFFFAOYSA-N 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100205847 Mus musculus Srst gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000003053 toxin Substances 0.000 description 1
- 231100000765 toxin Toxicity 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
Abstract
화상데이터 처리방법 및 장치는 투시변환에 의해 TMD포맷의 3차원 화상데이터를 2차원 화상데이터로 변환하기 위한 좌표변환수단으로써 작동하는 지오메트리트랜스퍼엔진(GTE)(61)과, 소정의 전송표준으로 2차원 화상데이터를 전송하여 2차원 표시화면상에 화상을 그리기 위한 드로잉수단으로써 작동하는 그래픽처리부(GPU)(62)와를 포함한다. 투시변환될 정보를 제외한 3차원 화상데이터의 구조는 2차원 화상데이터의 소정의 전송표준의 구조와 동일하게 배열된다. 따라서, GTE(61)에 있어서, 투시변환될 정보는 그 구조가 2차원 화상데이터의 소정의 전송표준의 구조와 동일한 3차원 화상데이터에서 그외의 데이터가 식별되고, 투시변환이 행해지고, 그 구조가 2차원 화상데이터를 생성하기 위한 소정의 전송표준의 구조와 동일한 그외의 데이터와 조합된다. 그러므로, 변환될 데이터를 포함하는 원 포맷화일은 새로운 포맷을 가지는 화일로 쉽게 변환된다.
Description
본 발명은 일반적으로 화상데이터처리와 관련되며, 특별히 데이터처리에 의한 향상된 화상데이터를 생성하기 위한 방법 및 장치에 있어서의 개선과 그러한 화상데이터를 담고 있는 기록매체에 관련된다.
종래기술에 있어서, 텔레비젼 수신기, 가정용 비디오게임기의 모니터나 CRT디스플레이, 마이크로컴퓨터, 또는 그래픽컴퓨터상에 생성되는 화상은 보통 실제적으로 2차원으로 실행된다. 그러한 화상은 보통 2차원의 캐릭터나 물체를 평면의 2차원 배경상에서 이동시키고 변화시킴으로서 동영상이 된다. 그러나, 그러한 2차원의 화상이나 영상은 배경의 모델링과 캐릭터물체의 이동 모두에 있어서 한계가 있으며, 따라서 특히 비디오게임에 있어서 보다 현장감 있는 화상을 얻는데 실패하게 된다.
개선을 위해서, 고도로 현장감 있는 3차원의 화상이나 영상을 만드는 다양한 방법이 제안되어왔으며, 그들 중 일부는 이하에 설명된다. 여러 방향으로부터 보여지는 캐릭터물체의 소정의 다양한 이동 중 하나가 화상에서 관점의 변화와 같은 시각변화에 따라서 선택되고 표시된다. 또한, 시뮬레이션된 3차원화상은 다수의 2차원 그래픽을 깊이방향으로 하나 위에 다른 하나를 겹침으로써 형성될 수 있다. 또한 폴리곤의 표면이 화상모델을 생성하기 위해 (물질이나 패턴의) 텍스쳐맵으로 채워지는 텍스쳐맵핑(texture mapping)법이 제공될 수 있다. 다른 방법에 있어서, 색변화는 컬러록업(color lookup) 테이블을 이용하여 화상의 컬러데이터를 변경함으로써 형성된다.
종래기술의 가정용 비디오게임기의 전형적인 예에 있어서, 조작정보는 엔트리패드(entry pad)나 조이스틱과 같은 입력장치로부터 입력되어서, 주로 마이크로프로세서로 구성된 CPU의 작동에 의해서 메인버스를 따라서 인터페이스를 가로질러서 전달된다. 조작데이터의 입력시에, 주메모리에 기억된 3차원 데이터가 일시적 기억을 위해서 비디오프로세서의 작동에 의해서 소스비디오메모리로 전송된다.
상술의 CPU는 또한 그들을 화면상에서 하나 위에 또 다른 하나를 겹치기 위해서 소스 비디오 메모리로부터 일련의 화상데이터 세그먼트(segment)를 독출하는 특정순서를 비디오프로세서에 전송하는 작동을 한다. 화상데이터 세그먼트의 독출순서에 따라서, 비디오프로세서는 소스비디오메모리로부터 화상데이터세그먼트를 독출하여서 오버랩된 배열로 그들을 표시한다.
화상데이터세그먼트가 독출되고 표시되는 동안에, 조작정보의 오디오 구성요소는 화상데이터와 동시에 발생하기 위해서 오디오메모리로부터 상응하는 오디오데이터를 차례로 픽업하는 오디오프로세서로 이송된다.
예를 들어 소스비디오메모리는 배경으로 체커판형태를 가질 수도 있고 원통형 물체의 단면을 나타내는 일군의 스프라이트나 직사각형 화상시그먼트를 가질 수도 있다. 스프라이트상의 원통형물체의 단면 외의 다른 영역은 투명하게 그려질 것이다.
비디오프로세서 내에 장착된 동기화발진기는 화상데이터의 동기화신호에 대응해서 독출어드레스신호를 생성한다. 동기화발진기의 독출어드레스신호는 메인버스를 통해서 CPU에 의해 결정되는 독출어드레스테이블로 전송된다. 동기화 생성기는 또한 독출어드레스테이블로부터의 신호에 대응해서 소스비디오메모리로부터의 화상세그먼트를 독출한다.
그때 독출된 비디오데이터세그먼트는 그들이 메인버스를 통해서 CPU로부터 전달되고 프라이오리티테이블(priority table)에 의해 결정된 순서대로 하나 위에 다른 하나가 오버랩되는 오버랩 프로세서로 이송된다. 그 배경이 우선적으로 나오고 그 다음 직사각형의 스프라이트가 따르기 때문에, 일군의 스프라이트는 배경상에 하나 위에 또 다른 하나가 포개지도록 놓여진다.
그때, 배경상에서 하나 위에 또 다른 하나가 오버랩되는 상술의 스프라이트의 원통형 물체의 단면 외의 다른 영역은 적절한 투명화프로세서에 의해 투명하게 된다.
그 결과,원통형 물체의 2차원 화상데이터가 원화상의 3차원데이터(VD0)로서 재생될 수 있다.
그러나, 소정의 포맷의 새로운 화일의 생성은 원데이터를 그 소정의 모양으로 변환하고 그후 원데이터의 소정의 모양을 새로운 화일로 포맷할 필요가 있다.
원데이터를 소정의 포맷으로 변환하기 위한 처리방법은 물체의 기하학적데이터나 원데이터를 소정의 포맷으로부터 2차원 화면상에 표시될 수 있는 3차원그래픽데이터를 생성하기 위한 처리를 포함하며 그것은 어떠한 가정용 비디오게임기에도 적용될 수 있다.
그러한 방법은 원기하학적물체의 3차원그래픽데이터가 2차원화면상에 표시되도록 하기 위해 생성되고, 단말기로 공급된 물체의 원기하학데이터가 소정의 포맷의 데이터 패킷을 생성하기 위한 좌표변환장치에 의해 처리되고 이것은 드로잉을 위해 렌더링장치로 전송되는 일련의 화상데이터처리(이하에는 3차원그래픽처리라 칭함)를 포함한다.
원기하학적 데이터는 일군의 폴리곤(삼각형, 사각형 및 다른 모양을 포함하는 그래픽의 단위형상이며, 드로잉장치에 의해 다루어짐)으로 구성되며. 디스플레이상에 3차원모델로써 표현된다. 각 폴리곤데이터는 폴리곤의 유형(삼각형, 사각형 등), 폴리곤의 속성(투명 또는 반투명), 폴리곤의 색, 정점을 나타내는 3차원좌표, 정점을 가로지르는 법선을 나타내는 3차원벡터와, 텍스쳐데이터의 기억위치를 나타내는 2차원좌표를 포함한다. 이것들은 둘 혹은 그 이상의 기하학적데이터를 포함하는 화일포맷으로 알려진다.
좌표변환장치의 처리작동에 의해 생성된 포맷의 패킷데이터는 표시기의 화면상에 폴리곤을 그리기 위한 정보를 담고 있으며, 그 정보에는 폴리곤의 유형(삼각형, 사각형 등), 폴리곤의 속성(투명 또는 반투명), 정점을 나타내는 2차원좌표, 정점의 색, 텍스쳐데이터의 기억위치를 나타내는 2차원좌표를 포함한다. 제 57도는 일련의 패킷데이터를 담고있는 보통의 화일의 전형적인 포맷을 나타낸다. 예를 들어, 코드(CODE)는 구성요소와 유형(폴리곤, 라인, 스프라이트 등)을 나타내는 코드이며, V 및 U는 각각 X및 Y좌표치를 나타내며, 텍스쳐소스영역에서 R, G및 B는 각각 폴리곤의 삼원색의 R, G, B값이며, X 및 V는 폴리곤의 정점을 나타내는 각각의 X 및 Y좌표치이다. 패킷데이터의 길이 및 내용은 폴리곤의 모양과 크기에 의존해서 변화한다.
상기 설명의 포맷의 기존화일을 새롭고 개선된 포맷의 화일로 변환하기 위해서, 다음의 과정이 좌표변환장치에서 실행되어야만 한다.
1. 폴리곤의 각각의 모양에 대한 데이터의 소정의 패킷의 크기가 계산되어, 이용 가능한 메모리의 소정의 영역에 기억된다.
2. 그때 다음절차가 각 폴리곤에 대해 반복된다.
(1) 폴리곤의 유형 및 속성이 결합되어 하나의 워드를 형성하고, 패킷데이터의 영역(0)에 기록된다.
(2) 정점의 색은 폴리곤의 색과 정점의 법선으로부터 결정되어서, 괘킷데이터의 영역(0) 및 두개의 영역(3, 6)에 기록된다.
(3) 2차원좌표는 정점의 3차원좌표로부터 계산되어서, 패킷데이터의 영역(1, 4, 7)에 기록된다.
(4) 텍스쳐의 2차원좌표는 패킷데이터의 영역(2, 5, 8)에 기록된다.
나타나는 바와 같이, 적어도 이들 3단계는 원화일(물체모양 데이터화일)로부터 화상데이터의 새로운 화일(패킷데이터 화일)을 생성하는데 필요하게 된다.
1. 메모리영역이 새로운 화일을 생성하기 위해 보호된다.
2. 원화일내의 데이터가 포맷되고 기억된다.
3. 원화일데이터로부터 계산된 데이터가 새로운 포맷으로 기억된다.
상술의 단계(1∼3)는 시간적으로나 노력면에서나 비용이 들게 된다.
따라서, 변환될 원화상데이터를 함유하는 화일이 쉽게 새로운 포맷으로 변환되는 향상된 화상데이터처리와, 그러한 화상데이터를 처리하기 위한 화상데이터처리장치 및 그러한 향상된 화상데이터를 담기 위한 기록매체에 대한 요구가 오랫동안 있어 왔다. 본 발명은 이러한 요구를 충족시킨다.
일반적 용어로 간단히 말해서, 본 발명은 변환될 원화상데이터를 함유하는 화일은 용이하게 새로운 포맷으로 변환될 수 있는 화상데이터를 생성하기 위한 새롭고도 개선된 방법 및 장치를 제공하는 것이며 그러한 화상데이터를 처리하기 위한 화상데이터처리장치 및 그러한 향상된 화상데이터를 기록하기 위한 기록매체를 제공한다.
제한되는 것은 아닌 예를 들면 본 발명에 따른 화상데이터 생성방법은 투시변환에 의해 3차원 화상데이터를 2차원 화상데이터로 변환하는 것과, 소정의 전송표준으로 2차원의 화상데이터를 이송하여 2차원 표시화면상에 화상을 그리기 위한 것이다.
특히, 그 방법은 투시변환될 정보를 제외한 3차원의 화상데이터의 구조를 포함하며, 2차원 화상데이터의 소정의 전송표준의 구조와 동일하게 배열된다. 3차원 화상데이터는 2차원표시화면상에 그려질 물체의 쉐이딩에 대한 정보를 포함한다. 3차원 화상데이터 및 2차원 화상데이터의 구조는 하나나 그 이상 워드의 최소유닛이 서로 동일하게 될 것이다. 3차원 화상데이터는 2차원데이터의 모든 구성요소를 포함한다.
유사하게 본 발명에 따른 화상데이터 처리장치는 투시변환에 의해서 3차원 화상데이터를 2차원 화상데이터로 변환하기 위한 좌표변환수단과, 2차원의 화상데이터를 2차원의 표시 화면상에 화상을 그리기 위해 소정의 전송표준으로 이송하기 위한 것이며 투시변환될 정보를 제외하는 3차원 화상데이터의 구조가 2차원화상데이터의 소정의 전송표준의 구조와 동일하게 배열되는 드로잉 수단과를 포함한다. 좌표변환수단은 투시변환될 정보를 2차원 화상데이터의 소정의 전송표준과 같은 구조가 되는 3차원화상데이터의 다른 정보와 구별하여 투시변환을 행하고 다른 데이터와 결합하여 2차원화상데이터 생성을 위해 소정 전송표준의 구조와 같은 구조가되도록 한다. 앞에 나타난 바와 같이, 그러한 3차원 화상데이터는 2차원 표시 화면상에 그려질 물체의 쉐이딩에 대한 정보를 포함한다.
본 발명에 따른 기록매체는 본 발명의 상술된 방법 및 장치에 의해 형성된 화상데이터를 보유하기 위해서 제공된다.
투시변환될 정보를 제외한 3차원 화상데이터의 구조가 2차원 화상데이터의 소정의 전송표준의 구조와 동일하므로, 소정의 전송표준의 2차원 화상데이터는 투시변환될 정보를 간단히 처리함으로써 얻어질 수 있다.
더우기, 3차원 화상데이터가 2차원 표시화면상에 그려질 물체의 쉐이딩에 대한 정보를 포함하므로, 물체에 대한 쉐이딩의 데이터를 생성하기 위한 어떠한 첨가계산도 2차원 화상데이터의 생성동안에 필요치 않다.
그러므로, 본 발명은 변환될 원화상데이터를 함유하는 화일이 용이하게 새로운 포맷으로 변환되도록 하는 향상된 화상데이터처리와, 그러한 화상데이터를 처리하기 위한 화상데이터처리장치 및 그러한 향상된 화상데이터를 담기 위한 기록매체에 대한 오랫동안의 존재필요를 충족시킨다.
본 발명의 상기 및 다른 목적 및 이점은 표시된 실시예의 첨부된 도면을 참조하여 설명될 때 이하에 더욱 상세화된 설명으로부터 명백하게 될 것이다.
도면을 참조함에 있어서, 동일한 도면부호는 도면에 있어서 동일하거나 상응하는 부분을 나타낸다.
종래기술의 가정용 비디오게임기의 전형적인 일례가 제 53도에 표시된다. 제 53도에 나타나는 바와 같이, 엔트리패드나 조이스틱과 같은 입력장치(391)로부터삽입된 조작정보는 마이크로프로세서로 주로 구성된 CPU(391)의 작동에 의해서 인터페이스(393)를 가로질러서 통과되며, 메인버스(399)를 따라서 입력된다. 앞서 나타난 바와 같이. 조작데이터의 입력시에 주메모리(392)내에 기억된 3차원데이터는 비디오프로세서(396)의 작동에 의해서 일시적 기억을 위해 소스비디오메모리(395)로 전송된다.
CPU(391)는 또한 일련의 화상데이터 세그먼트를 화면에 그 하나 위에 다른 하나가 오버랩되도록 하기 위해서, 소스비디오메모리(395)로부터 독출하는 특정순서를 비디오프로세서(396)에 전송하도록 작동한다. 화상데이터 세그먼트를 독출하는 순서에 따라서, 비디오프로세서(396)는 화상데이터 세그먼트를 소스비디오메모리(395)로부터 독출하여서 그들을 오버랩배열로 표시한다.
화상데이터 세그먼트가 독출되고 표시되는 동안에, 조작정보의 오디오구성요소는 화상데이터와 동기화하기 위해 오디오메모리(398)로부터의 상응하는 오디오데이터를 차례로 픽업하는 오디오프로세서(397)로 이송된다.
제 54도에서 잘 나타내어지는 바와 같이, 제 53도에서 설명된 가정용 비디오게임기에 있어서 2차원 데이터포맷에 기초하여 3차원데이터를 전달하는 절차가 나타난다. 제 54도는 3차원화상에 있어서 체커판유형의 배경상에 원통형 물체의 표시를 나타낸다.
제 54도의 소스비디오메모리(395)는 체커판유형의 배경(200)과 배경(200)상에 원통 소정의 모양으로 변환하고 그후에 원데이터의 소정의 모양을 새로운 화일로 포맷하는 것이 필요하다.
원데이터를 소정의 포맷으로 변환하기 위한 처리방법은 소정의 포맷으로부터 2차원화면상에 표시될 수 있는 3차원그래픽데이터를 생성하기 위해서 물체의 기하학적 데이터나 원데이터를 처리하는 것을 포함하며, 그것은 어떤 가정용 비디오게임기에도 적용될 수 있다.
제 55도에 나타나는 바와 같이, 그러한 방법은 원기하학적 물체의 3차원그래픽데이터가 2차원의 화면상에 표시되도록 하기 위해 생성되는 일련의 화상데이터처리(이하에 3차원그래픽처리라 칭함)를 포함한다. 제 55도에 나타난 시스템은 단말기(500)에 공급된 물체의 원기하학적 데이터가 그후 드로잉용 표시장치(502)에 전송되는 소정 포맷의 데이터패킷을 생성하기 위해서 좌표변환장치(501)에 의해 처리되도록 한다.
원기하학적데이터는 일군의 폴리곤(삼각형, 사각형 및 다른 모양을 포함하는 그래픽의 유닛모양이며 드로잉장치에 의해 다루어짐)으로 구성되며, 디스플레이상에 3차원모델로써 표현된다. 각각의 폴리곤데이터는 폴리곤유형(삼각형, 사각형 등), 폴리곤의 속성(투명 또는 반투명), 폴리곤의 색, 정점을 나타내는 3차원좌표, 정점을 가로지르는 법선을 나타내는 3차원의 벡터와, 텍스쳐데이터의 기억위치를 나타내는 2차원좌표를 포함한다. 제 56도는 두개나 그 이상의 기하학적데이터를 함유하는 이들의 알려진 화일포맷을 나타낸다.
좌표변환장치(501)의 처리작동에 의해 생성된 포맷의 패킷데이터는 표시화면상에 폴리곤을 그리기 위한 정보를 담고 있으며, 그 정보에는 폴리곤의 유형(삼각형, 사각형 등), 폴리곤의 속성(투명 또는 반투명), 정점을 나타내는 2차원좌표,정점의 색, 텍스쳐데이터의 기억위치를 나타내는 2차원좌표를 포함한다. 제 57도는 일련의 패킷데이터를 함유하는 보통의 화일의 전형적 포맷을 나타낸다. 제 57도에 나타난 바와 같이, CODE는 구성요소의 유형(폴리곤, 라인, 스프라이트 등)을 나타내며, V 및 U는 각각 X 및 Y좌표치를 나타내며, 텍스쳐소스공간에 있어서 R, G, 및 B는 폴리곤의 삼원색의 R, G,및 B값을 나타내며, X 및 Y는 폴리곤의 정점을 나타내는 각각의 X 및 Y좌표치를 나타낸다. 패킷데이터의 길이 및 내용은 폴리곤의 모양과 크기에 의존해서 변화한다.
제 56도에 나타난 포맷의 기존화일을 제 57도에 나타나는 것과 같은 새롭고도 개선된 포맷의 화일로 변환하기 위해서, 다음의 과정이 좌표변환장치(501)에서 실행되어야만 한다.
1. 폴리곤의 각 모양에 대한 데이터의 원하는 패킷의 크기가 계산되고, 적용가능한 메모리의 소정의 영역내에 기억된다.
2. 그후 다음의 절차가 각 폴리곤에 대해서 반복된다.
(1) 폴리곤의 유형 및 속성이 서로 결합되어 하나의 워드를 형성하며 패킷데이터의 영역(0)내에 기록된다.
(2) 정점의 색은 정점의 법선 및 폴리곤의 색으로부터 결정되며, 패킷데이터의 하나의 영역(0) 및 두개의 영역(3, 6)에 기록된다.
(3) 2차원좌표는 정점의 3차원좌표로부터 계산되어서 패킷데이터의 영역(1, 4, 7)내에 기록된다.
(4) 그후 텍스쳐의 2차원좌표가 패킷데이터의 영역(2, 5, 8)내에 기록된다.
나타나는 바와 같이, 적어도 이들 3단계는 원화일(물체모양 데이터화일)로부터의 화상데이터의 새로운 화일(패킷데이터화일)을 생성하기 위해서 요구된다.
1. 메모리영역이 새로운 화일을 생성하기 위해서 보호된다.
2. 원화일내의 데이터가 포맷되고 기억된다.
3. 원화일데이터로부터 계산된 데이터가 새로운 포맷내에 기억된다.
앞서 설명된 단계(1∼3)는 시간과 노력면에서 비용이 많이 들기 때문에, 향상된 데이터 처리효율에 대한 필요가 있게 된다.
화상데이터생성 방법의 유형에 있어서 본 발명의 제 1실시예의 설명에 앞서, 본 발명의 화상데이터 처리방법에 의해 생성된 화상데이터로부터의 3차원그래픽데이터를 생성하기 위한 본 발명의 또 다른 실시예의 화상처리시스템은 제 1실시예의 이해를 돕기 위해서 이하에 설명될 것이다.
도면을 참조하여 설명할 때, 제 1도는 가정용 비디오게임기내에 설치된 화상처리시스템의 배열을 나타낸다. 화상처리시스템은 실제적으로 가정용 비디오게임기나 마이크로컴퓨터나 그래픽 컴퓨터기 장치에 이용하기 위해 고안된다.
제 1도 실시예의 화상처리시스템은 특정 포맷으로 데이터를 기억하기 위해 본 발명에 의해 디자인된 광학 디스크(예로 CD-ROM)와 같은 기록매체로부터 독출된 관련데이터(예로 게임프로그램)를 제어함으로써 오퍼레이터가 게임을 실행하도록 한다.
더우기, 제 1도에 나타난 실시예의 화상처리시스템은 중앙처리장치(CPU) (51)와 그 주변장치(주변장치제어기(52)를 포함)로 구성된 메인제어기모듈(50)과,프레임버퍼(63)상에 화상을 그리기 위한 그래픽처리부(GPU)(62)로 실제적으로 구성된 그래픽모듈(60)과, 사운드처리부(SPU)(71) 및 음악이나 효과음을 발하기 위한 기타장치로 구성된 사운드모듈(70)과, 보조메모리수단으로 작용하는 광학 디스크(CD-ROM) 드라이브(81)를 제어하며 재생된 데이터를 디코딩하기 위한 광학디스크 제어기모듈(80)과, 제어기(92)로부터의 공통신호의 엔트리와 서브메모리(또는 메모리카드)(93)상에 설정하는 게임파라미터에 대한 정보의 입력 및 출력을 제어하기 위한 통신제어기모듈(90)과, 메인제어기모듈(50)에서부터 통신제어기모듈(90)까지로 접속된 메인버스(B)와를 포함하여 이루어진다.
메인제어모듈(50)은 CPU(51)와, 인터럽트작동, 타임시퀀스, 메모리작동 및 다이렉트메모리액세스(DMA)신호의 전송을 제어하기 위한 주변장치제어기(52)와, 예로 2메가바이트 RAM으로 이루어진 주메모리(53)와, 예로 512킬로바이트의 ROM(54)과를 포함하여 이루어지며, 그 안에서 주메모리(53)와 그래픽모듈(60)과 사운드모듈(70)을 작동하기 위한 오퍼레이팅시스템을 포함하는 프로그램이 기억되어 있다.
CPU(51)는 ROM(54)내에 기억된 오퍼레이팅시스템을 실행하여 전체 시스템을 제어하기 위해서 32비트의 리듀스트 인스트럭션 셋 컴퓨터(reduced instruction set computer)(RISC)이어도 좋다. CPU(51)는 또한 실제기억을 제어하기 위해서 코맨드캐시(command cashe)와 스크래치 패드(scratch pad) 메모리를 포함한다.
그래픽모듈(60)은 좌표변환처리를 실행하기 위해 좌표연산용 코프로세서로 구성된 GTE(61)와, CPU(51)로부터의 코맨드신호에 대응해서 화상을 드로잉하기 위한 GPU(62)와, GPU(62)에 의해 제공된 그래픽데이터의 기억을 위해 예로 l메가바이트를 가지는 프레임버퍼(63)와, 이산 코사인변환과 같은 직각의 변환처리에 의해 부호화되고 압축된 부호화된 화상데이터를 복호화하기 위한 화상디코더(64)(이하 MDEC라 칭함)와를 포함하여 이루어진다.
GTE(61)는 병렬로 다수의 계산작동을 실행하기 위한 병렬프로세서를 가지고 있어도 좋고, CPU(51)가 광원과 벡터와 고정된 소수점표시법의 행렬의 계산 및 좌표변환을 위해 고속 작동을 행하도록 코프로세서로써 작동한다.
더우기, GTE(61)는 각 삼각형 폴리곤이 하나의 단일컬러로 그려지는 플랫쉐이딩에 대해 전형적으로 1초당 1,500, 000속도로 폴리곤의 좌표연산을 실행할 수 있다.
이것은 화상처리시스템이 CPU(51)로의 부하를 최소화할 수 있으며, 따라서 더 고속으로 좌표연산을 실행할 수 있다.
GPU(62)는 폴리곤이나 그래픽을 프레임 버퍼(63)에 그리기 위한 CPU(51)로부터의 폴리곤 드로잉 명령에 따른다. GPU(62)는 1초당 360,000개의 폴리곤을 그릴 수 있으며, 또한 프레임버퍼(63)의 맵핑을 위해서 CPU(51)에 무관한 2차원 어드레스 공간을 가진다.
프레임버퍼(63)는 GPU(62)로부터의 드로잉데이터의 독출이나 주메모리(53)로부터의 데이터의 이송과 표시를 위해 데이터의 독출과 동시에 실행하는 소위 듀얼포트 RAM로 이루어진다.
또한, 프레임버퍼(63)는 16비트포맷에서 수평으로 1024와 수직으로 512인 픽셀행렬을 구성하는 1메가바이트크기를 가질 수도 있다. 프레임버퍼(63)의 크기내에서 어떤 원하는 영역은 디스플레이장치와 같은 비디오출력수단(65)으로 전달될 수 있다.
비디오출력으로 전달된 영역외에 프레임버퍼(63)는 GPU(62)의 작동으로 폴리곤이나 그래픽을 드로잉하는 동안 참조되는 CLUT의 기억을 위한 컬러룩업테이블(이하에는 CLUT라 칭함)영역과, GPU(62)에 의해 그려진 폴리곤이나 그래픽상에 좌표변환되고 맵핑될 텍스쳐데이터를 기억하기 위한 텍스쳐영역을 포함한다. CLUT 및 텍스쳐영역은 모두 표시영역의 변화에 의존하여 동적으로 변화될 수 있다. 프레임버퍼(63)는 표시상의 영역으로 드로잉액세스를 실행하며 주메모리(53)로부터 또는 그쪽으로의 고속의 DMA전송을 실행할 수 있다.
GPU(62)는 또한 플랫쉐이딩외에 폴리곤의 색이 정점색의 보간법에 의해 결정되는 구로쉐이딩(Gouraud shading)법, 텍스쳐영역으로부터 선택된 텍스쳐가 폴리곤으로 접근되는 텍스쳐맵핑을 실행할 수 있다.
구로 쉐이딩이나 텍스쳐맵핑에 대해서, GTE(61)는 1초당 560,000폴리곤의 속도로 좌표연산을 실행할 수 있다.
MDEC(64)는 CD-ROM디스크로부터 독출되고 주메모리(53)내에 기억된 정지상 또는 동작 화상데이터를 복호화하기 위한 CPU(51)로부터 명령신호에 응답하여서, 그후 그것을 다시금 주메모리(53)내에 기억한다. 특별히, MDEC(64)는 컬러정지화 상압축표준(JPEG로 알려짐)이나 기억매체(MPEG로 알려지며 본 실시예에서 내부프레임 압축용만임)용 동작 화상 부호화표준의 압축된 데이터를 확장하기 위해 고속으로 역이산 코사인 변환작동(역 DCT라 칭함)을 실행한다.
재생된 화상데이터는 GPU(62)를 통해서 프레임버퍼(63)로 전송되며, GPU(62)에 의해 그려진 화상용 배경으로써 이용될 수 있다.
사운드모듈(70)은 음악이나 효과음을 생성하기 위해 CPU(51)로부터의 명령에 응하는 사운드프로세서유닛(SPU)(71)과, CD-ROM으로부터 검색된 음성이나 음악소리의 오디오데이터와 음원데이터등을 기억하기 위한 예이며 제한할 필요는 없이 512 킬로바이트를 가지는 사운드버퍼(72)와, SPU(71)에 의해 발생되는 음악이나 효과음을 출력하기 위한 사운드출력수단으로써 작동하는 스피커(73)와를 포함하여 이루어진다.
SPU(71)는 16비트 오디오데이터로부터 변환된 4비트 ADPCM포맷의 오디오데이터를 재생하기 위한 적응 차분펄스 코드모듈(ADPCM) 신호복호화기능과, 사운드버퍼(72)내에 기억된 음원데이터로 재생하여 음악이나 효과음을 출력하기 위한 재생기능과, 재생용 사운드버퍼(72)내에 기억된 오디오데이터를 변조하기 위한 변조기능을 가진다. 특별히, SPU(71)는 CPU(51)로부터의 신호에 의해 활성화되며 루핑이나 시간을 계수로 한 동작파라미터가 자동적으로 조정되는 24-음성(voice)을 가지는 ADPCM음원을 가진다. SPU(71)는 사운드버퍼(72)로 맵핑된 그 어드레스공간을 제어하며, CPU(51)로부터 사운드버퍼(72)로의 변조나 키온/키오프의 정보를 가지고 ADPCM데이터의 다이렉트전송에 의해 오디오데이터의 재생을 실행할 수 있다.
따라서, 사운드모듈(70)은 CPU(51)로부터의 명령신호를 수신하자마자 사운드버퍼(72)에 기억된 오디오데이터에 상응하는 음악이나 효과음을 생성하기 위한 샘플링음원으로써 이용된다.
광학디스크 제어기모듈(80)은 CD-ROM의 광학디스크로부터의 프로그램이나 데이터를 재생하기 위한 디스크드라이브(81)와, 에러정정코드(ECC)가 부가되어서 기록되어 있는 프로그램이나 데이터를 복호화하기 위한 디코더(82)와, 광학디스크로부터 재생된 데이터의 기억을 위한 예를 들어 32킬로바이트의 버퍼(83)와를 포함하여 이루어진다. 디스크드라이브(81)와 디코더(82)와 디스크로부터 데이터를 독출하기 위한 다른 구성부품으로 구성된 광학디스크 제어기모듈(80)은 또한 CD-DA 및 CD-ROM XA를 포함하는 다른 디스크포맷을 지지하도록 배치된다. 디코더(82)는 또한 사운드모듈(70)의 일부로 구성하고 있다.
디스크로부터 디스크드라이브(81)에 의해 재생된 오디오데이터는 ADPCM포맷(CD-ROM XA디스크상의 기억용)에 한정되는 것이 아니며, 아나로그/디지탈변환에 의해 생성된 공통PCM모드이어도 좋다.
ADPCM데이터는 16비트 디지탈데이터로부터 계산된 4비트차분형으로 기록되어도 좋으며, 먼저 디코더(82)에서 에러정정 및 복호화 하게 되고, 그것이 D/A변환되는 SPU(71)로 전송되며, 재생용 스피커(73)로 공급된다.
PCM데이터는 16비트 디지탈신호형으로 기록되며, 스피커(73)를 구동하기 위한 디코더(82)에 의해 복호화된다. 디코더(82)의 오디오출력은 우선 그것이 SPU출력과 혼합되는 SPU(71)로 전송되며 오디오재생용 반향유닛을 통해서 출력된다.
통신제어기모듈(90)은 메인버스(B)를 따라 CPU(51)와의 통신을 제어하기 위한 통신제어기장치(91)와, 사용자로부터의 명령의 입력을 위한 제어기(92)와, 게임설정데이터의 기억을 위한 메모리카드(93)와를 포함하여 이루어진다.
제어기(92)는 사용자의 지시를 응용소프트웨어로 전송하기 위한 인터페이스이며, 지시의 입력을 위해16개의 명령키가 있다. 통신제어기장치(91)에 의해 미리 결정된 것과 같은 키에 의한 명령은 1초당 60배의 속도로 동기식 모드로 통신제어기장치(91)로 전달된다. 그후 통신제어기장치(91)는 키명령을 CPU(51)로 전송한다. 제어기(92)는 멀티탭포트를 통해서 하나씩 다수의 제어기를 접속하기 위해 그 위에 배열된 두개의 접속기를 가진다.
따라서, 사용자로부터의 명령을 수신하자마자, CPU(51)는 게임프로그램에 의해 결정된 상응 프로세스작동을 실행하기 시작한다.
행해질 게임에 대한 초기설정이 필요할 때, CPU(51)는 관련데이터를 메모리카드(93)내로 차례로 기록되는 통신제어기장치(91)로 전송한다.
메모리카드(93)는 메인버스(B)로부터 분리되어서 메인버스(B)에 전압이 가해진 동안에도 자유롭게 설치되거나 제거될 수 있다. 이것은 게임설정용 데이터가 둘이나 그 이상의 메모리카드(93)에 기억되는 것을 가능하게 한다.
본 발명 본 실시예의 시스템은 또한 16비트의 병렬식 입력 및 출력(I/O) 포트(101) 및 동기식 직렬입력 및 출력(I/O)포트(102)가 장치된다. 시스템은 병렬식I/O포트(101)에서 어떤 다른 주변장치에 접속될 수 있고, 직렬식 I/O포트(102)에서 통신용의 또 다른 비디오게임기에 접속될 수 있다.
주메모리(53), GPU(62), MDEC(64)와 디코더(82)사이에는 프로그램을 독출하거나, 문서를 표시하거나, 그래픽을 그리기 위해서 굉장한 양의 화상데이터를 고속으로 전송할 필요가 있다. 본 실시예의 화상처리시스템은 이처럼 CPU(51)를 이용하지 않으면서 주메모리(53), GPU(62), MDEC(64)와 디코더(82)사이의 다이렉트데이터이동이나 DMA이동을 가능하게 하는데 적합하다. 오히려, 그것은 주변장치제어기(52)의 제어하에 있다. 그 결과 데이터이동동안의 CPU(51)로의 부하는 상당히 감소될 것이고, 따라서 고속의 데이터이동작동을 확실히 할 수 있다.
본 발명의 비디오게임기는 CPU(51)가 전압이 가해지자마자 ROM(54)내에 기억된 오퍼레이팅시스템을 실행할 수 있도록 한다. 오퍼레이팅시스템이 실행될 때, 그래픽모듈(60) 및 사운드모듈(70)의 작동은 CPU(51)에 의해 옳게 제어된다.
첨가해서, 오퍼레이팅시스템이 실행되자마자, CPU(51)는 각 작동을 재검토하고, 그후 광학디스트상에 기억된 원하는 게임프로그램을 실행하기 위해 광학디스크 제어기모듈(80)을 활성화함으로써 전체 시스템을 초기화하기 시작한다.
게임프로그램을 실행하는 동안에, CPU(51)는 음악이나 효과음의 재상이나 화상의 표시를 제어하기 위해서 사용자에 의한 지시입력에 대응하여서 그래픽모듈(60) 및 사운드모듈(70)을 활성화한다. 본 발명의 화상데이터 처리장치에 의한 디스플레이상의 화상데이터의 표시는 다음에 설명된다.
GPU(62)는 CRT와 같은 디스플레이나 비디오출력수단(65)에 프레임버퍼(63)에 의해 생성된 원하는 그래픽모델의 영역을 표시한다. 그 영역은 이하에 표시영역으로 칭한다. 표시영역과 표시화면과의 관계는 제 2도에 설명된다.
GPU(62)는 이하에 나타나는 10개의 다른 표시모드를 지지하도록 고안된다.
표시화면의 픽셀수나 크기는 다양하며, 표시 개시 위치 및 종결 위치(좌표평면상에 각각 좌표(DTX, DTY) 및 (DBX, DBY)로 표현)는 제 3도에 나타난 바와 같이 수평방향 및 수직방향에서 별도로 결정될 수 있다.
좌표에서 지정가능한 값의 범위와 표시모드 사이의 관계는 이하에 설명된다. DTX및 DBX는 4의 배수이다. 그러므로, 최소화면크기는 수평 4픽셀과 수직의 2 픽셀(이중영상없는 모드시)이나 4픽셀(이중영상모드시)로 구성된다.
* X좌표의 지정가능한 값의 범위
* Y좌표의 지정가능한 값의 범위
더우기, GPU(62)는 16비트의 다이렉트모드(32768 색) 및 24비트의 다이렉트모드(풀컬러)의 두개의 표시컬러모드를 지지한다. 16비트 다이렉트모드(이하에는 16비트모드라 칭함)는 32768색을 제공한다. 그것은 24비트 다이렉트모드(이하에는 24비트모드라 칭함)보다 표시가능한 색의 수에 한계가 있지만, 16비트모드는 GPU(62)의 색계산이 24비트모드에서 실행될 수 있도록 하며, 또한 의사풀컬러(24비트색)표시를 가능하게 하는 디터링(dithering)기능을 갖는다. 24비트모드는 16,777, 216색(풀 컬러)을 제공하며, 프레임버퍼(63)로 전송된 화상데이터의 비트맵핑된 디스플레이를 제공하나 GPU(62)에 의한 드로잉 작동을 실행하는데는 실패한다. 픽셀의 비트길이가 24비트로 이루어질지라도, 프레임버퍼(63)상의 좌표치 및위치값은 16비트포맷에 기초하여 결정되어야 한다. 예를 들어 640×480의 24비트화상데이터는 프레임버퍼(63)내에서 960×480으로 처리된다. 또한 DBX는 8의 배수로써 표현된다. 따라서, 24비트모드내의 최소표시 크기는 수평의 8픽셀과 수직의 2픽셀이다.
GPU(62)의 드로잉기능은 다음에 설명된다.
드로잉기능은
4비트 CLUT모드(스프라이트당 16색을 가지는 4비트포맷)와, 8비트 CLUT모드(스프라이트당 256색을 가지는 8비트포맷)과, 16비트 CLUT모드(스프라이트당 32768색을 가지는 16비트포맷)에서 1×1도트에서 256×256도트의 범위에서 스프라이트(예로 폴리곤)를 생성하기 위한 스프라이트드로잉기능과;
각 정점이 좌표치로 결정되는 폴리곤(삼각형, 사각형등)의 드로잉을 실행하며, 단색으로 폴리곤을 채우는 플랫 쉐이딩을 수행하고 각 정점에 다른 색을 지정함으로써 폴리곤상에 그라데이션을 제공하는 구로쉐이딩과 폴리곤의 표면상에 2차원 화상데이터를 부가하는 텍스쳐맵핑을 행하는 폴리곤 드로잉기능과;
그라데이션(gradation)이 가능한 직선드로잉기능과;
CPU(51)로부터 프레임버퍼(63)로, 프레임버퍼(63)로부터 CPU(51)로, 프레임버퍼(63)로부터 프레임버퍼(63)로 화상데이터를 전송하기 위한 화상데이터전송기능과를 포함한다.
그 외의 기능은 픽셀이 평균화되는(픽셀의 데이터가 원하는 비율이나α비율로 서로에게 연결되므로α블렌딩으로 알려짐) 반투명표시, 노이즈를 이용하여 색의 인터페이스를 부드럽게 하기 위한 디터링, 드로잉영역의 형태외면을 제거하기 위한 클리핑기능이나 드로잉의 원점은 드로잉영역에 의존하는 옵셋팅(offsetting)과 같은 것이 첨가된다.
그래픽이 그려지는 좌표계는 11비트포맷에 기초하며, 이것은 각 X 및 Y값을 -1024∼+1023의 범위로 부여한다. 제 4도에 나타나는 바와 같이, 프레임버퍼(63)의 크기는 1024×512이며, 어떠한 확장도 포개질 수 있다. 드로잉원점은 좌표의 옵셋치를 제어함으로써 프레임버퍼(63)내에서 임의로 결정될 수 있다. 클리핑기능으로 인해 드로잉은 단지 프레임버퍼(63)내에서 어떠한 모양에도 적용가능하게 된다.
GPU(62)에 의해 지지되는 스프라이트가 최대 256×256도트로 표현되므로, 그 수평 및 수직길이는 그 범위내에서 자유롭게 결정될 수 있다.
스프라이트에 부착될 (스프라이트 패턴의)화상데이터는 제 5도에 도시된 바와 같이 프레임버퍼(63)의 표시영역이외의 영역에 배치된다. 그러므로 스프라이트패턴은 드로잉지시를 시작하기 전에 프레임버퍼(63)로 전송된다. 다수의 스프라이트패턴은 프레임버퍼(63)의 메모리영역이 이용가능하기만 하면 256×256픽셀의 페이지유닛의 형태로 보존된다. 256×256픽셀크기는 텍스쳐페이지로 불리운다. 각 텍스쳐페이지의 위치는 텍스쳐페이지의 (어드레스)위치를 지정하기 위해 페이지번호를 TSB로 칭해지는 드로잉지시의 파라미터로 부여함으로서 결정된다.
스프라이트패턴은 4비트 CLUT모드, 8비트 CLUT모드 및 16비트 CLUT모드인 컬러모드의 3가지 유형으로 분류된다. 4비트 및 8비트 CLUT모드는 하나의 CLUT를 이용한다.
제 6도에 나타나는 바와 같이, CLUT는 표시될 가시적 색을 형성하기 위한 16∼256개의 삼원색 R, G 및 B값이 프레임버퍼(63)상에 정렬되는 곳이다. R, G 및 B값은 프레임버퍼(63)의 좌측끝으로부터 순서대로 번호매겨지며, 스프라이트패턴내의 픽셀의 색은 그 번호에 의해 동일화된다. CLUT는 모든 스프라이트에 대해서 선택될 수 있으며, 그 스프라이트는 각각의 CLUT과 연합된다. 제 6도에 있어서, 각 엔트리는 16비트모드의 단일픽셀을 나타내며, 각각 CLUT는 화상데이터의 1×16비트(4비트모드에서)나 1×255비트(8비트모드에서)와 동일하다. 프레임버퍼(63)내의 CLUT의 기록위치는 CLUT의 (어드레스)위치를 지정하기 위해 CBA로 칭해지는 드로잉지시의 파라미터에 이용되는 CLUT의 좌측단부에 좌표치를 부여함으로써 결정된다.
스프라이트의 드로잉은 제 7도에 개략적으로 그려지며, 드로잉지시의 U 및 V는 각각 수평방향과 수직방향에서 표현된 텍스쳐페이지내와 위치를 지정하기 위한 파라미터이다. 또한 X 및 Y는 드로잉영역의 위치를 지정하기 위한 파라미터이다.
GPU(62)는 제 8도에 나타난 바와 같이, 프레임 더블버퍼링으로 알려진 동작표시 기술을 이용하며, 두개의 사각형패턴이 프레임버퍼(63)상에 준비되며, 그중 하나는 그래픽이 또다른 것내에서 맵핑되는 동안 표시된다. 드로잉이 완료될 때, 두패턴이 절환된다. 이것은 재기록(고쳐쓰기)작동의 표시가 회피되도록 한다. 프레임버퍼(63)상의 절환은 수직의 기간동안 실행될 수 있다. 또한 그려질 그래픽의 좌표의 원점 및 모양이 GPU(62)에서 임의로 결정되므로, 그들은 다수의 버퍼를 지정하기 위한 움직임으로 이용될 수 있다.
상술의 화상처리장치에 있어서 본 발명의 화상데이터처리방법에 의해 생성된 데이터포맷은 다음에 설명된다.
본 발명의 제 1의 설명된 실시예의 화상처리장치로 다루어진 그래픽은 3차원그래픽과 기본적인 2차원그래픽인 2개의 유형으로 분류된다. 3차원그래픽은 그려질 물체나 실체모델의 모양의 일면 속성을 나타내는 모델링데이터(이하 TMD데이터로 칭함)와, 물체의 위치데이터를 포함하는 애니메이션데이터(이하 TOD데이터로 칭함)에 의해 실행된다. 2차원데이터는 스프라이트패턴이나 텍스쳐베이스로 이용되는 화상데이터(이하 TIM데이터로 칭함)와, 배경을 맵핑하기 위한 BG 맵 데이터(이하 BGD데이터로 칭함)와, 셀데이터(이하 CEL데이터로 칭함)와 스프라이트를 애니메이팅하기 위한 정보데이터(이하 ANM데이터라 칭함)를 포함한다.
TOD애니메이션데이터의 포맷(TOD포맷으로 칭함)은 시간의 흐름에 따라 3차원 물체의 데이터를 할당하도록 고안된다. 특별히, 3차원 애니메이션의 각 프레임(연속한 프레임으로 구성됨)은 3차원물체를 생성하고 변경하고 종료하기 위한 기본데이터로 표현되며, 프레임내의 데이터는 시간의 흐름에 따라 정렬된다.
TOD포맷내의 화일(TOD화일로 칭함)은 제 9도에 나타나는 바와 같이 일련의 프레임데이터와 화일헤더(file header)로 구성된다. 제 9도에서 헤더(HEADER)는 TOD화일의 정면단부에 위치하는 두 개의 (64비트의) 워드로 구성되며, 다음과 같은 4종류의 다른유형의 정보가 기술된다.
(a)"화일 ID(FILE ID)" (8비트)
"화일 ID"는 애니메이션화일과 같은 화일을 나타낸다.
(b) "버젼(VERSION)"(8비트)
애니메이션의 버젼을 나타낸다.
(c) "리졸루션(RESOLUTION)"( 16비트)
"리졸루션"은 프레임이 표시되는 동안의 시간길이 (단위 tick=1/60초)를 나타낸다.
(d) "넘버 오브 프레임(NUMBER OF FRAMES)"(32비트)
화일내의 프레임의 수를 나타낸다.
"헤더" 다음에는 시간순서대로 정렬된 다수의 "프레임"이 뒤따른다.
제 10도에 나타나는 바와 같이, "프레임(FRAME)"은 프레임헤더(FRAME HEADER)와 일련의 "패킷(PACKET)"으로 이루어진다.
제 10도의 "프레임"의 정면단부에 위치하는 "프레임혜더"는 이하의 정보를 담는 2워드를 함유한다.
(a) "프레임사이즈(FRAME SIZE)"(16비트)
워드(4바이트)단위로 표현된 전체 프레임데이터(프레임헤더를 포함함)의 크기를 나타낸다.
(b) "넘버 오브 패킷(NUMBER OF PACKET)"(16비트)
프레임내의 패킷의 수를 나타낸다.
(c) "프레임 넘버(FRAME NUMBER)"(32비트)
프레임의 번호를 나타낸다 "프레임헤더"는 다수의 패킷이 뒤따른다.
제 11도에 나타나는 바와 같이, "패킷"은 하나의 워드의 "패킷 헤더"와 "패킷데이터"로 이루어진다. "패킷"의 유형은 항상 동일하지 않으며, 각 "패킷"내의 "패킷데이터"는 단지 "패킷"유형이 다를때에만 변하는 것이 아니고, 그것이 동일할 때에도 변한다.
제 11도에 나타나는 바와 같이, "패킷"은 "패킷헤더"와 "패킷데이터"로 이루어진다. "패킷헤더"는 이하의 정보를 갖는다.
(a) "오브젝트 ID(OBJECT ID)"(16비트)
"오브젝트 ID"는 대상물체의 유형을 나타낸다.
(b) "패킷타입(PACKET TYPE)"(4비트)
"패킷데이터"의 내용을 설명하는 패킷의 유형을 나타낸다.
(c) "플래그(FLAG)"(4비트)
"패킷 타입"에 의존한다.
(d) "패킷길이(PACKET LENGTH)"(8비트)
워드(4바이트)내에 표현된 패킷("패킷헤더"를 포함)의 길이를 나타낸다.
"패킷데이터"는 또한 TMD데이터 ID(모델링데이터의 ID)와 뒤이어 설명될 SRST값을 포함하는 다른 정보를 포함한다. "패킷"은 헤더내에 기록된 "패킷 타입"에 의해 구별된다. "패킷타입"은 이하에 나타나는 바와 같은 데이터의 세부사항에 부여된 한세트의 숫자에 의해 표시된다.
0 애트리뷰트(Attribute)
1 좌표(RST)(Coordinate)
10 TMD 데이터 ID
11 주 오브젝트 ID(Host object ID)
100 매크릭스값(MATRIX value)
101 TMD데이터내용(TMD data content)
110 광원(Light source)
111 카메라(Camera)
1000 오브젝트 제어(Object control)
1001-1101 사용자정의(User definition)
1110 시스템예약(System reservation)
1111 특수지시(Specific command)
이러한 것들은 더욱 상세하게 이하에 설명될 것이다.
"애트리뷰트"가 "패킷타입"의 0000으로 표현되는 경우, "패킷데이터"는 속성 설정용 정보를 함유한다. 이 경우 "플래그"는 이용되지 않는다.
제 12도에 나타난 바와 같이 "패킷데이터"는 두개의 워드로 이루어진다. 제 1 워드는 수치변경을 하는 비트와 수치변경을 하지 않는 비트로 이루어진 마스크이다.
수치변경을 하는 비트는 0으로 표현되며, 수치변경을 하지 않는 비트는 1로 나타난다. 제 2워드에 있어서, 수치변경을 하는 비트로 나타나는 비트는 새로운 데이터로 적재되며, 남아있는 비트는 0으로 표시된다. 변경을 하지 않는 비트로 할당된 디폴트치는 서로 다르며, 제 1워드에 있어서는 1이며, 제 2워드에 있어서는 0이다. "패킷데이터"내의 제 2워드의 비트는 이하에서 상세하게 나타난다.
광원계산이 온으로 설정될 때, 제 13도에 나타나는 바와 같이 "패킷데이터"내에 비트가 있다. 나타나는 바와 같이, 제 1워드에 있어서 비트(6)는 변화없는 다른 비트가 1로 남아 있는 반면, 광원정보를 위해서 변화가 요구되는 것을 0으로 나타낸다. 제 2워드에 있어서, 비트(6)가 1인 것은 광원계산이 온인 것을 나타내며, 변하지 않는 다른 비트는 디폴트값이 0으로 유지된다.
"좌표(RST)"는 "패킷타입"의 0001로 표현되며, "패킷데이터"는 좌표치를 설정하기 위한 데이터를 함유한다. 이 경우에, "플래그"는 제 14도에 나타난다. 보여지는 바와 같이, "매트릭스타입(MATRIX TYPE)"은 RST매트릭스유형을 나타내며, 예를 들어 0이 절대치를 나타내며, 1이 종전프레임으로부터의 차등매트릭스이다.
또한 "로테이션(ROTATION)"은 회전(R)의 플래그를 의미하며, 0은 없음이며, 1은 있음이다. "스케일링(SCALING)"은 스케일링(S)의 플래그이며, 0은 없음이며, 1은 있음이다. 유사하게, "트랜스레이션(TRANSLATION)"은 평행이동(T)의 플래그이며, 0은 없음을 1은 있음을 나타낸다.
"패킷데이터"내의 지정은 제 15도에 설명되는 바와 같이, "플래그"내의 "로테이션", "스케일링", "트랜스레이션"(평행이동에 대한 것임)의 비트의 패턴에 의존하여 변화된다. 나타나는 바와 같이, Rx, Ry, 및 Rz는 각각 X축, Y축 및 Z축을 따라 행해지는 회전의 구성을 나타낸다. 또한 Sx, Sy및 Sz는 각각 X축, Y축, 및 Z축을 따라 행해지는 스케일링의 구성이며, Tx, Ty및 Tz는 각각 X축, Y축 및 Z축을 따르는 평행이동의 구성을 나타낸다.
제 16도에 나타나는 바와같이 "TMD ID"는 0010 "패킷타입"으로 표현되며, "패킷데이터"는 물체의 모델링데이터(TMD데이터) ID를 유지한다. TMD데이터 ID는 2바이트로 이루어진다.
제 17도에 나타나는 바와 같이, "호스트 오브젝트 ID(HOST OBJECT ID)"는 0011의 "패킷 타입"으로 표현되며, "패킷데이터"는 목표물체의 호스트오브젝트 ID를 기억한다. 호스트 오브젝트 ID는 2바이트로 이루어지며, 이 경우에 "플래그"는 이용되지 않는다.
"매트릭스 타입(MATRIX TYPE)"은 0100의 "패킷타입"으로 표현되며, "패킷 데이터"는 좌표구성을 설정하기 위한 데이터를 유지한다. 이 경우에, "플래그"는 이용되지 않는다. 제 18도는 "패킷데이터"에 있어서의 지정을 설명한다.
이하에 더욱 상세히 설명되는 바와 같이 "패킷타입"이 0101일때, "패킷데이터"는 TMD데이터를 함유한다.
"광원"은 0110의 "패킷타입"으로 표현되며, "패킷데이터"는 광원설정용 데이터를 유지한다. 이 경우에, "오브젝트 ID"는 통상의 "오브젝트 ID"와는 다른 또는 광원을 나타낸다. 또한 제 19도에 나타나는 바와 같이, "플래그"은 특정정보를 유지한다. 제 19도에서, "데이터타입"은 데이터의 유형을 나타내며, 그것이 0일 때 절대치이며 그것이 1일 때, 전술의 프레임으로부터의 차분이다. "디렉션"은 방향 플래그이며, 0은 없음이며, 1은 있음이다. 유사하게, "컬러"는 색플래그를 나타내며, 0은 없음을 1은 있음을 나타낸다. "패킷데이터"내의 지정은 제 20도에 나타나는 바와 같이, "플래그"내의 "컬러" 및 "디렉션" 의 비트의 패턴에 의존하여 변화된다.
"패킷타입"은 "카메라"에 대해서 0111이며, "패킷데이터"는 시점데이터설정용 데이터를 유지한다. 그때 "오브젝트 ID"는 통상의 "오브젝트 ID"가 아닌 카메라ID이다. "플래그"는 또한 제 21도에 나타난 바와 같이 지정된다.
만일 제 21도에 나타난 "카메라타입"의 비트가 0이라면, 잔여비트는 제 22도에 나타난 바와 같다. 만일 그것이 1이라면, 잔여비트는 제 23도와 같다. 특히, "데이터타입"은 데이터의 유형을 나타내며, 제 22도에 나타낸 바와 같이 여기서 0은 절대치를 또한 1은 전술프레임으로부터의 차분을 나타낸다. 제 22도의 "포지션 앤드 레퍼런스(POSITION & REFERENCE)"는 시점 및 기준위치에 대한 플래그이며, 0은 없음을 나타내며, 1은 있음을 나타낸다. 유사하게, 제 22도의 "제트 앵글(Z ANGLE)"은 수평으로부터의 기준위치의 각도에 대한 플래그이며, 0은 없음을 , 1은 있음을 나타낸다. 제 23도에 있어서,"데이터타입"은 또한 데이터의 유형을 나타내며, 0은 절대치를 나타내며, 1은 전술프레임과의 차분을 나타낸다. 제 23도에 나타난 "로테이션(ROTATION)"은 회전(R)용 플래그를 나타내며, 0은 없음을, 1은 있음을 나타낸다. 유사하게, 제 23도의 "트랜스레이션(TRASLATION)"은 평행이동(T)의 플래그를 나타내며, 0은 없음을, 1은 있음을 나타낸다.
"패킷데이터"내의 지정은 이처럼 제 24도 및 제 25도에 나타난 "플래그"의 내용에 의존해서 변화한다.
"오브젝트 콘트롤(OBJECT CONTROL)"은 물체를 제어하기 위해 디자인된 "패킷 타입"이 1000으로 표현된다. 이 경우에, "패킷데이터"는 어떤 정보도 포함하지 않는다.
마지막으로, "패킷타입"이 특수제어를 위해서 1111로 될 때, 애니메이션데이터가 제어된다.
모델링데이터의 포맷(이하 TMD포맷으로 칭함)은 이하에 설명된다.
통상의 3차원 그래픽에 있어서, 하나의 물체는 한세트의 폴리곤으로 표현된다. 물체를 표현하는 데이터는 모델링데이터로 불리운다. 각 폴리곤의 정점은 3차원 공간내의 좌표치로 표시된다. 종래기술에서 설명된 좌표변환장치는 투시변환에 의해 폴리곤의 정점위치를 드로잉용 표시장치에 있는 2차원 좌표치로 변환하기 위해서 제공된다. 데이터는 패킷형태로 표시장치에 전송된다. 통상적으로, 하나의 패킷은 하나의 폴리곤에 대한 데이터를 담고 있다. 패킷은 폴리곤의 유형에 의존하여 구조 및 크기에 있어서 변화한다.
본 발명에 따른 전술의 포맷에 있어 기하학적 그래픽용 폴리곤데이터의 구성은 데이터의 한부분을 제외하고는 패킷의 구조와 동일하게 배열되어서, 좌표변환장치가 고속의 처리를 실행할 수 있도록 한다.
3차원물체의 모양과 크기를 표현하기 위한 오브젝트좌표계를 포함하는 다소의 응용가능한 3차원좌표계와, 공간의 3차원물체의 위치를 나타내기 위한 월드(world) 좌표계과, 화면상에 3차원의 목표물체를 나타내기 위한 화면좌표계가 있다. 간략하게, 이하의 설명은 3차원물체에 대한 오브젝트 및 스크린좌표계를 중심으로 이루어질 것이다.
본 발명의 물체지오메트리데이터나 모델링데이터에 대한 (TMD)포맷은 전술의 실시예의 화상데이터처리장치의 3차원의 확장그래픽라이브러리에서 이용되고자 하며, 가정용 비디오게임기, 마이크로컴퓨터나 그래픽컴퓨터에 설치된다. TMD포맷의 데이터는 확장그래픽라이브러리에 제공되어 있는 함수의 인자로써 메모리에 직접적으로 다운로드될 수 있다.
TMD포맷의 화일(이하 TMD화일이라 칭함)내에 포함된 정보는 3차원툴이나 아티스트툴을 이용하는 동안 고도의 추상 텍스트데이터용 RSD화일내에 남게 되며, 프로그램이 생성되는 동안 특수지시("RSDlink"지시)에 의해 TMD포맷으로 이동된다.
TMD화일에의 데이터는 물체의 폴리곤과 라인을 나타내는 프리미티브 세트이다. 단일 TMD화일은 그려질 다수의 물체를 가질 수 있다.
TMD화일내의 좌표치는 본 발명의 화상데이터처리장치의 확장그래픽라이브러리내에서 다루어지는 공간내에 지정되며, 거기서 오른쪽으로의 방향은 x축을 따라 양의 방향이며, 아랫쪽으로의 방향은 y축을 따른 양의 방향이며, 배면쪽으로의 방향은 z축을 따른 양의 방향이다. 물체의 좌표치는 16비트데이터의 정수로 표현되며, 각 좌표치는 -32767에서 +327687사이의 범위이다. 디자인된 단계에 있어서의 포맷(이하 RSD포맷이라 칭함)에서, 정점의 값은 부동소수점이므로, RSD에서 TMD로 이동될 화일은 확장 및 압축에 의해 스케일이 맞춰져야 한다. 그렇게 하기위해서, 스케일조정기준치는 이하에 설명될 물체구조내에 준비되고 설치된다. TMD포맷데이터내의 정점치가 스케일기준치의 배수일 때, 그들은 디자인 단계에서 원스케일로 되돌아간다. 이것은 워드좌표계내의 값을 맵핑하기 위해 최적의 스케일을 결정하는데 도움을 준다.
본 발명에 따른 TMD포맷은 이하에 더욱 상세히 설명될 것이다.
제 26도에 나타나는 바와 같이, TMD포맷은 TMD화일내의 3차원의 오브젝트용의 테이블(OBJ TABLE)데이터를 포함하는 프리미티브(PRIMITIVE)데이터,정점(VERTEX)데이터와 법선(NORMAL)데이터로 이루어지며, 이 구성은 4개의 블럭으로 이루어진다.
제 26도내의 TMD포맷의 헤더(HEADER)는 제 27도내에 표현되는 포맷구조의 데이터를 포함하는 3개의 워드(12바이트)를 유지한다. 제 27도에 나타난 바와같이, ID는 TMD화일의 버젼을 나타내는 32비트(1 워드)의 데이터이다. 플래그는 또한 TMD포맷의 구조유형을 나타내는 데이터의 32비트(1 워드)이다.
최하위 지정비트(LSB)는 FIXP비트로써 이하에 설명되고 그 외 비트는 0으로 표시되는 바와 같이 모두 역으로 된다. FIXP비트는 물체구성의 포인터가 실제 어드레스인지 여부를 나타내며, 이것은 또한 이하에 상세히 설명된다. FIXP비트가 1일 때, 포인터는 실제어드레스이다. 만일 0이라면, 정면에서부터의 엇갈려져 있다. NOBJ는 물체갯수를 나타내는 정수이다.
제 26도의 오브젝트테이블(OBJ TABLE)은 제 28도에 나타나는 바와 같이 물체의 저장위치를 나타내는 포인터에 의해 동반되는 일군의 물체구조로 이루어지는 테이블을 포함한다. 각 물체구조는 다음과 같이 구성된다.
여기서
물체구조에서 포인터(ver_top, normal_top, primitive_top)는 혜더내의 FIXP비트에 의존해서 변화된다. FIXP가 1일 때, 포인터는 실제어드레스이다. FIXP가 0일때, 포인터는 어드레스 0으로 지정된 오브젝트의 선단부를 가지는 상대어드레스이다.
스케일링 팩터는 부호가 붙은 "long"형이며, 그 2의 제곱은 스케일 값을 나타낸다. 예를 들어, 물체구조의 스케일링 팩터가 0일 때, 스케일은 1/1이다. 스케일링 팩터가 2일 때, 스케일은 4이며, 스케일링팩터가 -1일 때 스케일은 1/2이다.
제 26도의 프리미티브는 제 29도에 나타난 바와 같이, 물체의 프리미티브용의 일련의 패킷을 포함한다. 각 개별패킷은 단일의 프리미티브를 가지고 있다.
TMD포맷에 의해 정의된 프리미티브는 투시변환을 위해서 확장된 그래픽라이브러리에서 함수로써 이용되며, 드로잉 프리미티브로 변환된다. 제 29도의 패킷은 길이에 있어서 변화가 가능하며, 크기 및 구조는 프리미티브의 유형에 의존해서 변화된다.
제 29도의 패킷에서 "모드"는 그 프리미티브의 속성 및 유형을 나타내는 8비트로 이루어지며,그 구성은 제 30도에 나타난다. 제 30도에서 코드의 3비트는 구성요소의 유형을 나타내는 코드이며, 001은 폴리곤(삼각형, 사각형등)이며, 010은 라인이며, 011은 스프라이트 직사각형이다. 또한, "옵션(OPTION)"은 옵션의 비트를 유지하며, 코드(이하에 설명될 패킷데이터구성요소의 리스트내에 유형화되는 것임)의 값에 의존해서 변화된다.
제 29도의 패킷내의 "플래그"는 렌더링용 옵션정보를 나타내는 8비트데이터이며, 비트의 구성은 제 31도에 나타난다. 제 31도의 "GOR"는 광원계산이 있고, 텍스쳐는 없는 것이 요구되며, 폴리곤을 응용하는데 유효하다. GOR이 1일 때,그것은 그라데이션 폴리곤을 나타내며, 0일 때는 단색 폴리곤을 나타낸다. FCE가 1일때,폴리곤은 2면이고, 0일 때 폴리곤은 단일면("코드"가 폴리곤코드를 나타낼 때 적용됨)이다. 또한LGT가 1일때 광원계산은 없고, 0일 때 광원계산은 있다. 제 29도의 "ILEN"은 패킷데이터의 워드길이를 나타내는 8비트데이터를 포함한다. 유사하게, "OLEN"은 처리도중 생성된 드로잉 프리미티브의 워드길이를 나타내는 8비트데이터이다. "PACKET DATA"는 프리미티브의 유형에 의해 결정되는 정점과 법선용의 다양한 파라미터로 구성된다. "패킷데이터"의 구조는 더욱 상세하게 이하에 설명될 것이다.
제 26에 나타난 정점(VERTEX)은 정점을 나타내는 일련의 데이터구조이다. 각 구조의 포맷은 제 32도에 표시된다. 제 32도에서, VX, VY, VZ는 각각 정점의 X,Y, Z좌표치(16비트 정수)이다.
제 26도에서의 "노말(NORMAL)"은 법선을 나타내는 일련의 데이터 구조이다. 각 구조의 포맷은 NX, NY, NZ가 각각 노말의 x, y, z구성성분인 것으로 제 33도에 나타난다. 특히, NX, NY, NZ는 4096이 1.0을 나타내는 부호가 붙은 16비트 소수점에 의해 표현된다. 그 비트구성은 부호가 1비트로 표현되며, 정수부가 3비트이며, 소수부가 12비트로 제 34도에 나타난다.
프리미티브의 유형에 의존하는 패킷데이터구조는 이하에 설명된다. 패킷데이터에서 파라미터는 버텍스(Vertex)(n), 노말(Normal)(n), Un, Vn, Rn, Gn, Bn, TBS, CBA로 분류된다.
버텍스(n)는 버텍스의 위치를 지정하는 16비트 인덱스치이다. 이것은 제 26도에 나타난 버텍스 포맷의 선단부로부터 계수된 소자의 갯수를 나타내며, 폴리곤을 포함하는 물체를 지정한다. 노말(n)은 버텍스(n)와 같이 노말의 위치를 지정하는 16비트 인덱스치를 나타낸다.
Un 및 Vn은 각 정점의 텍스쳐소스공간상에서 각각 x 및 y좌표치를 나타낸다.
Rn, Gn, Bn은 부호가 없는 8비트정수로 표현되는 폴리곤의 색상을 나타내는 각각의 R값, G값, B값이다. 만일 광원계산치가 없다면, 휘도의 디폴트는 미리 지정되어야만 한다.
파라미터(TBS)는 스프라이트패턴 및 텍스쳐에 대한 정보이며, 그 포맷은 제 35도에 나타난다. 제 35도의 "TPAGE"는 텍스쳐페이지의 번호(0∼31)를 나타낸다. 또한 "ABR"은 반투명비율(혼합비율)이며, 단지 "ABE"가 1일 때만 유효하다. "ABR"이 00일 때, 그 비율은 50%의 백(back) + 50%의 폴리곤이다. 그것이 01일때, 100%의 백 + 100%의 폴리곤이다. 10일 때, 100%의 백 + 50%의 폴리곤이다. 11일 때, 100%백 - 100%폴리곤이다. 제 35도의 "TPF"는 색모드를 나타낸다. TPF가 00인 것은 4비트모드를 주며, 01은 8비트모드를 의미하며, 10은 16비트모드를 나타낸다.
"CBA"의 파라미터는 제 36도에 나타나는 바와 같이, 프레임버퍼(63)내의 CLUT의 기억위치를 나타낸다. 제 36도의 CLX는 프레임버퍼(63)내의 CLUT의 X좌표치의 10비트 중 상위 6비트이며, CLY는 프레임버퍼(63)내 CLUT의 Y좌표치의 9비트이다.
패킷데이터의 구조는 이하에 설명된다. 설명은 우선 광원계산이 있는 삼각형 폴리곤을 참고하여 이루어진다.
제 37도는 "프리미티브"내의 모드치의 비트구성을 나타낸다. 보여지는 바와같이, IIP는 쉐이딩모드를 나타내며, 0은 플랫쉐이딩모드이며, 1은 구로(Gouraud)쉐이딩모드를 나타낸다. 또한 TME는 텍스쳐를 지정하기 위해 이용되며, 0은 오프를 나타내며, 1은 온을 나타낸다. TGE는 텍스쳐맵핑동안의 휘도계산을 제공하며, (텍스쳐가 직접적으로 적용될 경우) 0은 온을 나타내며, 1은 오프를 나타낸다. 이들 파라미터는 어떤 폴리곤형태에도 적용가능하다.
패킷데이터구조는 제 38도에 보여지는 것과 같다. 특히, 제 38도(A)는 텍스쳐 지정의 오프상태에서 단색의 플랫쉐이딩모드를 나타낸다. 제 38도(B)는 텍스쳐지정 오프상태에서 단색의 구로쉐이딩모드를 나타낸다. 제 38도(C)는 텍스쳐지정 오프상태에서 그레데이션의 플랫쉐이딩모드를 나타낸다. 제 38도(D)는 텍스쳐지정 오프상태에서 그레데이션의 구로쉐이딩모드를 나타낸다. 제 38도(E)는 텍스쳐지정 온상태에서 플랫쉐이딩모드를 나타낸다. 제 38도(F)는 텍스쳐지정 온상태에서 구로쉐이딩모드를 나타낸다. 한편, "모드"와 "플래그"는 반투명의 오프상태에서 단일면 폴리곤의 상태를 나타낸다.
패킷데이터구조의 일례가 광원계산을 이용하지 않는 삼각형의 폴리곤을 참고하여 이하에 설명될 것이다. "프리미티브"에 있어서 모드값의 비트구성은 제 37도의 그것과 동일하다.
패킷데이터구조는 제 39도에 보여진다. 보다 상세하게, 제 39도(A)는 텍스쳐지정 오프상태에서의 플랫쉐이딩모드를 나타낸다. 제 39도(B)는 텍스쳐지정 오프상태에서 그레데이션의 구로쉐이딩모드를 나타낸다. 제 39도(C)는 텍스쳐지정 온 상태에서 플랫쉐이딩모드를 나타낸다. 제 39도(D)는 텍스쳐지정 온상태에서 그레데이션의 구로쉐이딩모드를 나타낸다.
패킷데이터구조의 다른 일례는 광원계산을 이용하며 사각형의 폴리곤을 참조하여 이하에 설명된다.
"프리미티브"에 있어서 모드값의 비트지정은 제 40도에 나타나며, 여기서 비트는 제 37도에서와 동일한 방법으로 지정된다.
패킷데이터구조는 제 41도에 보여지는 바와 같이 지정된다. 특히, 제 41도(A)는 텍스쳐지정 오프상태에서 플랫쉐이딩모드를 나타낸다. 제 41도(B)는 텍스쳐지정 오프상태에서 구로쉐이딩모드를 나타낸다. 제 41도(C)는 텍스쳐지정 오프상태에서 그레데이션의 플랫쉐이딩모드를 나타낸다. 제 41도(D)는 텍스쳐지정 오프상태에서 그레데이션의 구로쉐이딩모드를 나타낸다. 제 41도(E)는 텍스쳐지정 온상태에서 플랫쉐이딩모드를 나타낸다. 제 41도(F)는 텍스쳐지정 온상태에서 구로쉐이딩모드를 나타낸다.
패킷데이터구조의 또 다른 일례는 광원계산을 이용하지 않는 사각형의 폴리곤을 참고하여 이하에 설명된다.
"프리미티브"내의 모드값의 비트지정은 제 40도에 보여지며, 거기에서 비트는 제 37도에서와 동일한 방식으로 지정된다.
패킷데이터구조는 제 42도에 나타나는 바와 같다. 특별히,제 42도(A)는 텍스쳐지정 오프상태에서 플랫쉐이딩모드를 나타낸다. 제 42도(B)는 텍스쳐지정 오프상태에서 구로쉐이딩모드를 나타낸다. 제 42도(C)는 텍스쳐지정 온상태의 플랫쉐이딩모드를 나타낸다. 제 42도(D)는 텍스쳐지정 온상태에서 그레데이션의 구로쉐이딩모드를 나타낸다.
패킷데이터구조는 라인을 참고하여서 이하에 설명된다.
"프리미티브"내의 모드 값의 비트지정은 제 43도에 나타난다. 제 43도의 IIP는 그레데이션의 온/오프상태를 나타내며, 그것이 0일 때 그레데이션은 오프이며(단색에 있어서), 1일 때 그레데이션은 온이다. 또한, ABE는 반투명색처리의 온/오프를 나타내며, 0은 오프를 나타내며, 1은 온을 나타낸다.
이 예에서의 패킷데이터구조는 제 44도에 보여지는 바와 같다. 제 44도(A)는 그레데이션이 오프인 것을 보이며, 제 44도(B)는 그레데이션이 온인 것을 나타낸다.
페킷데이터구조는 3차원스프라이트를 참고하여서 이하에 설명된다. 3차원스프라이트는 3차원좌표치를 가지며, 그 그래픽내용은 보통의 스프라이트의 그것과 유사하다. "프리미티브"내의 모드값의 비트지정은 제 45도에 나타난다. 제 45도의 SIZ는 스프라이트의 크기를 나타내며, 00은 프리사이즈(W 및 H값에 의해 결정됨), 01은 1×1의 크기를, 10은 8×8의 크기를, 11은 16×16의 크기를 각각 나타낸다. 또한 ABE는 반투명색처리를 나타내며, 0은 오프를 또한 1은 온을 나타낸다.
패킷데이터구조는 제 46도에서 보여지는 바와 같이 지정된다. 이하에 명백하게 되겠지만, 제 46도(A)는 스프라이트 크기가 프리사이즈인 것을 나타내며, 제 46 도(B)는 스프라이트 크기가 1×1인 것을 나타내며, 제 46도(C)는 8×8을 표현하며, 제 46도(D)는 16×16을 나타낸다.
제 26도에 나타나는 바와 같이, TMD화일포맷에 있어서,물체의 형태를 나타내는 모델링데이터를 포함하는 영역은 종래기술의 패킷데이터구조의 부분과 일치한다. 이는 GTE(61)(좌표변환장치)가 하나의 워드에 기초하여 단순히 데이터를 카피함으로써 영역의 처리를 완결할 수 있도록 한다. 예를 들어, 제 38도(F)의 3개의 영역(1, 2, 3)은 종래기술의 패킷데이터에 상응한다.
TDM포맷데이터를 수신하는 순간의 GTE(61)의 일련의 작동은 제 47도를 참조하여 이하에 설명된다.
제 47도에 나타나는 바와 같이, 목표폴리곤의 데이터가 단계(S10)에서 픽업되며, 단계(S11)에서 유형별로 분류된다. 그후, 1워드(32비트)가 단계(S12)에서 추출되며, 단계(S13)에서 그것이 패킷데이터와 공통인지 여부가 검사된다. 그 워드가 공통일 경우, 그것은 단계(S17)에서 패킷데이터에 카피된다. 만일 그것이 공통이 아니라면, 그 절차는 "버텍스" 및 "노말"에 따라 처리가 행해지는 단계(S14)로 내려간다. 이것에 단계(S15)에서 패킷데이터를 생성하는 것이 후속된다. 그후에, 단계(S16)에서 폴리곤의 좌표변환이 완결되었는지 여부가 검사된다. 만일 그렇지 않다면, 절차는 단계(S12)로 되돌아가며, 만일 완결되었다면 절차는 종료된다.
제 48도는 3차원그래픽데이터를 좌표변환하기 위한 이하에 계속되는 단계를 나타낸다. 물체형태의 데이터(모델링데이터)가 단계(S1)에서 입력되며, 단계(S2)에서 좌표변환된다. 이는 단계(S3)의 광원계산단계가 후속된다. 그후 단계(S4)에서 모든 폴리곤의 처리가 완결되었는지 여부가 검사된다. 만일 완료되지 않았다면, 절차는 단계(S2)로 되돌아가며, 그것이 단계(54)에서 완결로 판별된다면 패킷데이터는 단계(S5)로 이동된다.
리얼타임에 있어서 화상을 변환하기 위해서, 단계(S2, S3)는 고속으로 반복되어야만 한다. 쉐이딩이 리얼타임에서 실행되는 것이 필요치 않다면, 그 단계(S3)가 루프(Loop)로부터 제거되어서 제 49도의 플로우차트로 이동된다. 그것이 제 49도의 단계(S4)에서 "노(no)"로 판별될 때,그 절차는 단계(S3)로 되돌아간다. 이 경우에, 제 38도(F)의 3영역(0, 3, 6)은 예를 들어 단지 한 번만 결정되며, 좌표변환단계는 덜 부담스러워질 것이다.
본 발명에 따른 물체형태데이터(모델링데이터)용 포맷의 또 다른 형태는 좌표변환처리를 간단히하기 위해서 쉐이딩이 리얼타임으로 행해지지 않을 때 이하에 설명될 것이다. 제 50도는 본 발명의 다른 실시예에 대한 화일의 포맷을 나타낸다.
데이터는 화일의 헤드에 제공되며, 폴리곤 및 데이터의 속성 및 종류를 나타내는 "타입(TYPE)"이 표시되며, 폴리곤의 갯수를 나타내는 "NPACKET"이 표시된다. 이들 두항목의 뒤에 폴리곤의 갯수에 있어서 동일한 한세트의 "폴리곤데이터블럭"이 뒤따른다.
"폴리곤데이터"는 제 51도에 나타나며, 2개의 패킷데이터 및 폴리곤정점용 3차원 좌표치를 포함한다.
제 51도의 패킷데이터는 제 52도에 보여지는 것과 같이 구성되며, 제 57도의 그것과 유사하다. 또한 구조 및 길이는 폴리곤의 유형에 의존해서 변화된다. 본 실시예에서, 물체에 대한 쉐이딩은 리얼타임에 계산되지 않기 때문에 뒤따르는 파라미터는 좌표변환을 개시하기 전에 기록된다.
상기 파라미터가 결정된 때, 각 정점위치로부터의 포인트는 다음과 같이 표시된다.
(Y0, X0), (Y1, X1), (Y2, X2)
단지 좌표변환을 위해서 계산되며, 그로 인해 좌표변환의 절차는 간략화된다. 또한, 메모리내에 패킷데이터용 기억영역을 제공할 필요가 없다.
본 발명의 본 실시예에 따라서, 메모리는 단지 좌표변환처리과정에서 변화될 데이터로 채워지며, 그래서, 시간 및 노력을 절약하는데 기여하게 된다.
상기와 같이, 본 발명에 따라서 투시변환될 정보를 제외한 3차원 화상데이터의 구조는 2차원 화상데이터의 소정의 전송표준의 구조와 동일하게 배열된다. 그러므로, 3차원데이터에 대한 투시변환될 정보가 처리된 때, 소정의 전송표준의 상응하는 2차원 화상데이터가 얻어진다. 특별히, 변환될 데이터를 포함하는 원화일은 쉽게 새로운 포맷으로 변환될 수 있다.
또한, 본 발명에 따른 3차원 화상데이터는 2차원디스플레이상에 그려질 물체의 쉐이딩용 데이터를 포함하는 것이 가능하므로, 2차원 화상데이터의 재생도중 쉐이딩 데이터를 생성하기 위한 그외의 계산을 생략할 수 있다.
그러므로, 본 발명은 변환될 원화상데이터를 포함하는 화일이 쉽게 새로운 포맷으로 변환되도록 하는 향상된 화상데이터처리 및 그러한 화상데이터를 처리하기 위한 화상데이터 처리장치와 그러한 향상된 화상데이터를 가지는 기록매체에 대한 오래 지속되어온 요구를 충족시킨다.
본 발명의 특별한 형태는 전술의 묘사되고 설명된 부분으로부터 명백하게 될 것이며, 본 발명의 원리 및 범위에서 벗어나지 않는 다양한 수정이 가능함은 물론이다. 따라서, 본 발명이 첨부된 청구범위에서 벗어나서 한계되는 것은 의도되지 않는다.
제 1도는 본 발명에 따른 화상데이터 처리장치의 전반적인 시스템배치에 대한 블럭다이아그램이다.
제 2도는 디스플레이상의 표시를 설명하는 다이아그램이다.
제 3도는 디스플레이상의 표시의 세팅을 나타내는 다이아그램이다.
제 4도는 드로잉을 위한 클리핑기능을 설명하는 다이아그램이다.
제 5도는 텍스쳐 페이지를 설명하는 다이아그램이다.
제 6도는 CLUT구조를 나타내는 다이아그램이다.
제 7도는 스프라이트를 그리는 원리를 설명하는 다이아그램이다.
제 8도는 프레임 더블버퍼링을 설명하는 다이아그램이다.
제 9도는 TOD화일의 포맷을 나타내는 다이아그램이다.
제 10도는 TOD포맷에서 "FRAME"의 포맷을 나타내는 다이아그램이다.
제 11도는 "FRAME"중의 "PACKET"의 포맷을 나타내는 다이아그램이다.
제 12도는 속성유형 중 "패킷데이터(packet data)"의 구조를 설명하는 다이아그램이다.
제 13도는 광원계산을 시작하게 하기 위한 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 14도는 좌표(RST)유형의 "플래그(flag)"의 구조를 설명하는 다이아그램이다.
제 15도는 좌표(RST)유형의 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 16도는 ID유형의 TMD데이터중 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 17도는 호스트 물체 ID유형의 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 18도는 매트릭스유형의 "패킷데이터"구조를 설명하는 다이아그램이다.
제 19도는 광원유형의 "플래그"의 구조를 설명하는 다이아그램이다.
제 20도는 광원유형의 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 21도는 카메라유형의 "플래그"의 구조를 설명하는 다이아그램이다.
제 22도는 "카메라 타입(camera type)"이 제로일 때 다른 비트의 지정을 성명하는 다이아그램이다.
제 23도는 "카메라 타입"이 1일 때 다른 비트의 지정을 설명하는 다이아그램이다.
제 24도는 카메라유형의 "패킷데이터"의 제 1구조를 설명하는 다이아그램이다.
제 25도는 카메라유형의 "패킷데이터" 제 2구조를 나타내는 다이아그램이다.
제 26도는 TMD포맷을 나타내는 다이아그램이다.
제 27도는 TMD포맷 중 "헤더(HEADER)"의 구조를 나타내는 다이아그램이다.
제 28도는 TMD포맷 중 "오브젝트테이블(OBJTABLE)"의 구조를 나타내는 다이아그램이다.
제 29도는 TMD포맷의 "프리미티브(PRIMITIVE)"의 구조를 나타내는 다이아그램이다.
제 30도는 프리미티브의 "모드(mode)" 구조를 나타내는 다이아그램이다.
제 31도는 프리미티브의 "플래그"구조를 나타내는 다이아그램이다.
제 32도는 TMD포맷의 "버텍스(VERTEX)"의 구조를 나타내는 다이아그램이다.
제 33도는 TMD포맷의 "노말(NORMAL)"의 구조를 나타내는 다이아그램이다.
제 34도는 고정된 소수점 소수부의 포맷을 나타내는 다이아그램이다.
제 35도는 프리미티브의 "패킷데이터"내의 TBS 파라미터의 구조를 나타내는 다이아그램이다.
제 36도는 프리미티브의 "패킷데이터"내 CBA 파라미터의 구조를 나타내는 다이아그램이다.
제 37도는 프리미티브의 "패킷데이터"의 변경을 나타내며, 광원계산 및 삼각형 폴리곤의 적용으로 "모드"의 비트지정에 대한 다이아그램이다.
제 38도는 광원계산 및 삼각폴리곤의 적용으로 프리미티브의 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 39도는 삼각형 폴리곤을 적용하고 광원계산은 없는 프리미티브의 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 40도는 프리미티브의 "패킷데이터"의 변경을 나타내며, 광원계산 및 사각형 폴리곤의 적용이 있는 "모드"의 비트지정의 다아아그램이다.
제 41도는 광원계산이 있고 사각형 폴리곤을 적용하여 프리미티브의 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 42도는 광원계산없이 사각형 폴리곤을 적용하여 프리미티브의 "패킷데이터"의 구조를 설명하는 다이아그램이다.
제 43도는 프리미티브의 "패킷데이터"의 변경을 나타내며, 직선드로잉의 "모드"의 비트지정의 다이아그램이다.
제 44도는 프리미티브의 "패킷데이터"의 변경을 나타내며, 직선드로잉의 "패킷데이터"의 구조에 대한 다이아그램이다.
제 45도는 프리미티브의 "패킷데이터"의 변경을 나타내며, 3-차원 스프라이트드로잉의 "모드"의 비트지정의 다이아그램이다.
제 46도는 프리미티브의 "패킷데이터"의 변경을 나타내며 3차원 스프라이트드로잉의 "패킷데이터"의 구조에 대한 다이아그램이다.
제 47도는 본 발명의 TMD포맷데이터를 투시변환하기 위한 일련의 단계를 설명하는 플로우차트도이다.
제 48도는 통상의 3차원 그래프좌표변환장치에서 실행되는 작동의 순서를 설명하는 플로우차트이다.
제 49도는 물체의 쉐이딩이 리얼타임에 실행되지 않을 때 죄표변환장치의 작동순서를 설명하는 플로우차트이다.
제 50도는 TMD포맷의 또 다른 실시예의 다이아그램이다.
제 51도는 제 50도의 실시예에 대한 TMD포맷에서 "폴리곤데이터(polygon data)"의 구조를 나타내는 다이아그램이다.
제 52도는 또 다른 실시예에 대한 "패킷데이터"의 구조를 나타내는 다이아그램이다.
제 53도는 종래 기술의 화상생성장치(또는 가정용 비디오게임기)의 시스템배치를 설명하는 블럭다이아그램이다.
제 54도는 종래 기술의 화상생성장치에 의해 실행되는 바와 같은 화상생성방법을 설명하는 연합블럭 및 개략적 다이아그램이다.
제 55도는 종래기술 화상데이터 처리시스템의 배치를 나타내는 블럭다이아그램이다.
제 56도는 물체형태데이터에 대한 종래화일의 구조를 나타내는 다이아그램이다.
제 57도는 "패킷데이터"용 종래화일의 구조를 나타내는 다이아그램이다.
* 도면의 주요부분에 대한 부호설명
50. 메인제어기모듈 51. CPU
52. 주변장치제어기 53. 주메모리
54. ROM 60. 그래픽모듈
61. GTE 62. GPU
63. 프레임버퍼 64. MDEC
70. 사운드모듈 71. 사운드처리부
72. 사운드버퍼 73. 스피커
80. 광학디스크 데어기모듈 81. CD-ROM 드라이브
82. 디코더 90. 통신제어기모듈
91. 통신제어장치 92. 제어기
93. 서브메모리(메모리카드) 391. CPU
392. 주메모리 393. 인터페이스
395. 소스비디오메모리 396. 비디오프로세서
397. 오디오프로세서 398. 오디오메모리
200. 배경 400. 동기화발진기
401. 독출어드레스테이블 402. 프라이오리티테이블
403. 겹침프로세서 404. 투명색처리부
501. 좌표변환장치 502. 표시장치
Claims (34)
- 투시변환에 의해서 2차원 화상데이터로 변환되며, 2차원의 디스플레이상에 화상을 그리기 위해 소정의 전송표준으로 전송되는 3차원 화상데이터를 생성하기 위한 화상데이터 처리방법에 있어서,상기 방법은 화상데이터용 데이터포맷을 제공하는 것을 포함하여 이루어지며, 상기 포맷은 투시변환되며 2차원 화상데이터용 소정의 전송표준의 그것과 동일하게 배열되는 정보를 포함하는 것을 특징으로 하는 화상데이터 처리방법.
- 제 1항에 있어서,상기 데이터포맷은 하나의 개별 폴리곤용 데이터를 포함하는 것을 특징으로 하는 화상데이터 처리방법.
- 제 1항에 있어서,상기 데이터포맷은 텍스쳐데이터를 포함하는 것을 특징으로 하는 화상데이터 처리방법.
- 제 1항에 있어서,상기 데이터포맷은 상기 폴리곤의 텍스쳐데이터와 개별폴리곤 좌표데이터와의 조합을 포함하는 렌더링명령을 위한 것인 것을 특징으로 하는 화상데이터 처리방법.
- 제 2항 또는 제 4항중 어느 한 항에 있어서,상기 폴리곤 데이터는 변환된 좌표데이터인 것을 특징으로 하는 화상데이터 처리방법.
- 제 1항에 있어서,화상데이터는 2차원 표시화면상에 그려질 물체의 쉐이딩에 대한 정보를 포함하는 것을 특징으로 하는 화상데이터 처리방법.
- 투시변환에 의해 3차원 화상데이터를 2차원 화상데이터로 변환하기 위한 좌표변환수단과,상응하는 화상을 2차원 표시화면상에 그리기 위해 소정의 전송표준으로 2차원 화상데이터를 렌더링하기 위한 드로잉수단과, 여기서 투시변환될 정보를 제외한 3차원 화상데이터의 데이터포맷구조가 2차원 화상데이터용의 선택된 전송표준의 구조와 동일하게 배열되는 드로잉수단과,상기 3차원 화상데이터중 그외의 데이터로부터 투시변환될 정보를 식별하기 위한 좌표변환수단과,변환된 데이터와 3차원데이터중 그외의 데이터를 조합하여서 2차원 화상데이터 생성을 위해 선택된 전송표준으로 2차원화상을 그리기 위해 렌더링명령을 제공하기 위한 조합수단과를 포함하여 이루어진 것을 특징으로 하는 화상데이터 처리장치.
- 제 7항에 있어서,상기 데이터포맷은 하나의 개별폴리곤용 데이터를 포함하는 것을 특징으로 하는 화상데이터 처리장치.
- 제 7항에 있어서,상기 데이터포맷은 텍스쳐데이터를 포함하는 것을 특징으로 하는 화상데이터 처리장치.
- 제 7항에 있어서,상기 데이터포맷은 개별폴리곤 좌표데이터와 상기 폴리곤용 텍스쳐데이터의 조합을 포함하는 렌더링명령인 것을 특징으로 하는 화상데이터 처리장치.
- 제 8항 또는 제 10항중 어느 한 항에 있어서,상기 폴리곤데이터는 변환된 좌표데이터인 것을 특징으로 하는 화상데이터 처리 장치.
- 제 7항에 있어서,상기 3차원 화상데이터는 2차원표시화면상에 그려질 물체의 쉐이딩에 관한 정보를 포함하는 것을 특징으로 하는 화상데이터 처리장치.
- 투시변환에 의해 2차원 화상데이터로 변환되며, 2차원디스플레이상에 화상을 그리기 위해서 소정의 전송표준으로 전송되는 기록된 3차원 화상데이터를 기록하기위한 기억소자로 이루어지는 것이며,상기 기록된 데이터는 투시변환된 정보를 포함하기 위한 데이터 포맷을 가지며, 2차원 화상데이터용의 소정의 전송표준의 그것과 동일하게 배열되는 것을 특징으로 하는 기록매체.
- 제 13항에 있어서,상기 3차원 화상데이터는 2차원표시화면상에 그려질 물체의 쉐이딩에 대한 정보를 포함하는 것을 특징으로 하는 기록매체.
- 제 14항에 있어서,상기 데이터포맷은 하나의 개별폴리곤용의 데이터를 포함하는 것을 특징으로 하는 기록매체.
- 제 14항에 있어서,상기 데이터포맷은 텍스쳐데이터를 포함하는 것을 특징으로 하는 기록매체.
- 제 14항에 있어서,상기 데이터포맷은 상기 폴리곤용 텍스쳐데이터와 개별폴리곤 좌표데이터와의 조합을 포함하는 렌더링명령용인 것을 특징으로 하는 기록매체.
- 제 15항 또는 제 17항중 어느 한 항에 있어서,상기 폴리곤데이터는 변환된 좌표데이터인 것을 특징으로 하는 기록매체.
- 3차원 화상을 표현하는 제 1데이터와 폴리곤의 화상데이터용의 제 2데이터를 분리하기 위한 분리수단과,상기 제 1데이터를 2차원 화상데이터로 변환하기 위한 변환수단과,상기 변환된 2차원 화상데이터와 상기 제 2데이터를 조합하여 각 폴리곤용의 지시데이터를 생성하기 위한 지시생성수단과를 포함하여 구성된 것을 특징으로 하는 화상데이터 처리장치.
- 제 19항에 있어서,상기 변환수단은 투시변환에 의해서 상기 제 1데이터를 상기 2차원 화상데이터로 변환하는 것을 특징으로 하는 화상데이터 처리장치.
- 제 19항 또는 제 20항중 어느 한 항에 있어서,상기 변환수단은 그래픽변환장치인 것을 특징으로 하는 화상데이터 처리장치.
- 제 19항에 있어서,상기 지시데이터에 대응하여 그래픽메모리상에 그래픽화상을 그리기 위한 드로잉수단과,상기 그래픽메모리로부터 출력된 상기 그래픽화상을 디스플레이상에 제공하기 위한 수단과를 더 포함하여 구성된 것을 특징으로 하는 화상데이터 처리장치.
- 제 22항에 있어서,상기 드로잉수단은 그래픽처리장치인 것을 특징으로 하는 화상데이터 처리장치.
- 제 19항에 있어서,상기 제 2데이터는 상기 폴리곤에 대해 맵핑된 텍스쳐를 나타내는 것을 특징으로 하는 화상데이터 처리장치.
- 제 24항에 있어서,상기 제 2데이터는 텍스쳐그래픽데이터가 기억된 어드레스를 포함하는 것을 특징으로 하는 화상데이터 처리장치.
- 제 19항에 있어서,상기 제 1데이터는 상기 폴리곤의 정점좌표를 포함하는 것을 특징으로 하는 화상데이터 처리장치.
- 제 26항에 있어서,상기 제 1데이터는 상기 폴리곤의 상기 좌표가 기억되는 포인터를 포함하는 것을 특징으로 하는 화상데이터 처리장치.
- 3차원 화상을 나타내는 제 1데이터와 폴리곤의 화상데이터에 대한 제 2데이터를 분리하는 단계와,상기 제 1데이터를 2차원 화상데이터로 변환하는 단계와,상기 변환된 2차원 화상데이터와 상기 제 2데이터를 조합하여서 각 폴리곤용 지시데이터를 생성하는 단계와를 포함하는 3차원화상 처리방법을 특징으로 하는 화상데이터 처리방법.
- 제 28항에 있어서,상기 지시데이터가 렌더링명령을 제공하는 3차원화상 처리방법인 것을 특징으로 하는 화상데이터 처리방법.
- 제 28항에 있어서,상기 변환단계는 투시변환에 의해서 상기 제 1데이터를 상기 2차원 화상데이터로 변환하는 3차원화상 처리방법인 것을 특징으로 하는 화상데이터 처리방법.
- 제 28항, 29항, 30항 중 어느 한 항에 있어서,상기 지시데이터에 대응해서 그래픽메모리상에 그래픽화상을 그리는 단계와,그래팩메모리로부터 출력된 상기 그래픽화상을 디스플레이에 제공하는 단계와를 더 포함하여 이루어진 3차원화상 처리방법인 것을 특징으로 하는 화상데이터 처리방법.
- 제 13항 내지 제 17항중의 어느 한 항에 있어서,상기 기억소자는 CD-ROM인 것을 특징으로 하는 기록매체.
- 투시변환에 의해서 3차원 화상데이터를 2차원 화상데이터로 변환하기 위한 그래픽변환장치와,2차원 표시화면상에 상응하는 화상을 그리기 위해서 소정의 전송표준으로 2차원 화상데이터를 렌더링하기 위한 그래픽처리부와, 여기서는 투시변환될 정보를 제외한 3차원 화상데이터의 데이터포맷구조가 2차원 화상데이터용의 선택된 전송표준의 구조와 동일하게 배열되는 그래픽처리부와,상기 3차원 화상데이터중 그외의 데이터로부터 투시변환될 정보를 식별하기위한 그래픽변환장치와,변환된 데이터와 상기 3차원데이터중 그외의 데이터를 조합하여서 2차원 화상데이터를 생성하기 위한 선택된 전송표준으로 2차원화상을 그리기 위한 렌더링명령을 제공하는 조합수단과를 포함하여 이루어진 화상데이터 처리장치.
- 3차원 화상을 나타내는 제 1데이터와 폴리곤의 화상데이터용 제 2데이터를 분리하기 위한 데이터분리기와,상기 제 1데이터를 2차원 화상데이터로 변환하기 위한 데이터변환부와,상기 변환된 2차원 화상데이터와 상기 제 2데이터를 조합하여서 각 폴리곤용 지시데이터를 생성하기 위한 지시생성기와를 포함하여 이루어진 것을 특징으로 하는 화상데이터 처리장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP94-300020 | 1994-12-02 | ||
JP30002094A JP3578498B2 (ja) | 1994-12-02 | 1994-12-02 | 画像情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960025235A KR960025235A (ko) | 1996-07-20 |
KR100362704B1 true KR100362704B1 (ko) | 2003-02-14 |
Family
ID=17879749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950044987A KR100362704B1 (ko) | 1994-12-02 | 1995-11-29 | 화상데이터생성방법과화상데이터처리장치및기록매체 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5793376A (ko) |
EP (1) | EP0715277B1 (ko) |
JP (1) | JP3578498B2 (ko) |
KR (1) | KR100362704B1 (ko) |
CN (1) | CN1094624C (ko) |
AT (1) | ATE316275T1 (ko) |
AU (1) | AU702762B2 (ko) |
CA (1) | CA2163938A1 (ko) |
DE (1) | DE69534751T2 (ko) |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1387287B1 (en) | 1996-02-29 | 2008-08-13 | Sony Computer Entertainment Inc. | Picture processing apparatus and picture processing method |
CA2227531C (en) * | 1997-01-20 | 2003-03-18 | Hitachi, Ltd. | Graphics processing unit and graphics processing system |
US6191793B1 (en) | 1998-04-01 | 2001-02-20 | Real 3D, Inc. | Method and apparatus for texture level of detail dithering |
US7518616B1 (en) * | 1998-07-17 | 2009-04-14 | 3Dlabs, Inc. Ltd. | Graphics processor with texture memory allocation system |
JP3566889B2 (ja) * | 1998-10-08 | 2004-09-15 | 株式会社ソニー・コンピュータエンタテインメント | 情報追加方法、ビデオゲーム機及び記録媒体 |
BR0011156A (pt) | 1999-04-09 | 2002-02-26 | Sony Computer Entertainment Inc | Aparelho e método para executar a transformação em perspectiva, sistema de entretenimento e mìdia de gravação |
JP2000339497A (ja) * | 1999-05-25 | 2000-12-08 | Sony Computer Entertainment Inc | 画像生成装置、画像生成方法、エンタテインメント・システム及び記録媒体 |
JP3417883B2 (ja) | 1999-07-26 | 2003-06-16 | コナミ株式会社 | 画像作成装置、画像作成方法、画像作成プログラムが記録されたコンピュータ読み取り可能な記録媒体およびビデオゲーム装置 |
US6807620B1 (en) | 2000-02-11 | 2004-10-19 | Sony Computer Entertainment Inc. | Game system with graphics processor |
JP4780599B2 (ja) * | 2000-05-31 | 2011-09-28 | パナソニック株式会社 | 画像出力装置 |
EP1160759A3 (en) * | 2000-05-31 | 2008-11-26 | Panasonic Corporation | Image output device and image output control method |
JP2002202770A (ja) * | 2000-12-28 | 2002-07-19 | Genki Kk | コンピュータゲームの逐次読込方法並びに逐次読込方法を用いた記録媒体 |
US7081892B2 (en) | 2002-04-09 | 2006-07-25 | Sony Computer Entertainment America Inc. | Image with depth of field using z-buffer image data and alpha blending |
US7339589B2 (en) * | 2002-10-24 | 2008-03-04 | Sony Computer Entertainment America Inc. | System and method for video choreography |
US7681112B1 (en) | 2003-05-30 | 2010-03-16 | Adobe Systems Incorporated | Embedded reuse meta information |
US8133115B2 (en) | 2003-10-22 | 2012-03-13 | Sony Computer Entertainment America Llc | System and method for recording and displaying a graphical path in a video game |
US7847800B2 (en) * | 2004-04-16 | 2010-12-07 | Apple Inc. | System for emulating graphics operations |
US8134561B2 (en) * | 2004-04-16 | 2012-03-13 | Apple Inc. | System for optimizing graphics operations |
US8704837B2 (en) | 2004-04-16 | 2014-04-22 | Apple Inc. | High-level program interface for graphics operations |
US7231632B2 (en) | 2004-04-16 | 2007-06-12 | Apple Computer, Inc. | System for reducing the number of programs necessary to render an image |
US7636489B2 (en) * | 2004-04-16 | 2009-12-22 | Apple Inc. | Blur computation algorithm |
US7248265B2 (en) * | 2004-04-16 | 2007-07-24 | Apple Inc. | System and method for processing graphics operations with graphics processing unit |
JP2005334110A (ja) * | 2004-05-25 | 2005-12-08 | Ziosoft Inc | ボリュームレンダリング等の画像処理システム |
US8068103B2 (en) * | 2004-06-24 | 2011-11-29 | Apple Inc. | User-interface design |
US8130237B2 (en) * | 2004-06-24 | 2012-03-06 | Apple Inc. | Resolution independent user interface design |
US7397964B2 (en) * | 2004-06-24 | 2008-07-08 | Apple Inc. | Gaussian blur approximation suitable for GPU |
US7490295B2 (en) | 2004-06-25 | 2009-02-10 | Apple Inc. | Layer for accessing user interface elements |
US8239749B2 (en) | 2004-06-25 | 2012-08-07 | Apple Inc. | Procedurally expressing graphic objects for web pages |
US8453065B2 (en) | 2004-06-25 | 2013-05-28 | Apple Inc. | Preview and installation of user interface elements in a display environment |
US7761800B2 (en) | 2004-06-25 | 2010-07-20 | Apple Inc. | Unified interest layer for user interface |
US7652678B2 (en) * | 2004-06-25 | 2010-01-26 | Apple Inc. | Partial display updates in a windowing system using a programmable graphics processing unit |
US8566732B2 (en) | 2004-06-25 | 2013-10-22 | Apple Inc. | Synchronization of widgets and dashboards |
US7546543B2 (en) | 2004-06-25 | 2009-06-09 | Apple Inc. | Widget authoring and editing environment |
US8302020B2 (en) | 2004-06-25 | 2012-10-30 | Apple Inc. | Widget authoring and editing environment |
US20060071933A1 (en) | 2004-10-06 | 2006-04-06 | Sony Computer Entertainment Inc. | Application binary interface for multi-pass shaders |
CN1779666A (zh) * | 2004-11-19 | 2006-05-31 | 宇力电子股份有限公司 | 数据存取方法 |
US7227551B2 (en) * | 2004-12-23 | 2007-06-05 | Apple Inc. | Manipulating text and graphic appearance |
US8140975B2 (en) | 2005-01-07 | 2012-03-20 | Apple Inc. | Slide show navigation |
US7849090B2 (en) | 2005-03-30 | 2010-12-07 | Primal Fusion Inc. | System, method and computer program for faceted classification synthesis |
US9378203B2 (en) | 2008-05-01 | 2016-06-28 | Primal Fusion Inc. | Methods and apparatus for providing information of interest to one or more users |
US9177248B2 (en) | 2005-03-30 | 2015-11-03 | Primal Fusion Inc. | Knowledge representation systems and methods incorporating customization |
US7606781B2 (en) * | 2005-03-30 | 2009-10-20 | Primal Fusion Inc. | System, method and computer program for facet analysis |
US8849860B2 (en) | 2005-03-30 | 2014-09-30 | Primal Fusion Inc. | Systems and methods for applying statistical inference techniques to knowledge representations |
US10002325B2 (en) | 2005-03-30 | 2018-06-19 | Primal Fusion Inc. | Knowledge representation systems and methods incorporating inference rules |
US9104779B2 (en) | 2005-03-30 | 2015-08-11 | Primal Fusion Inc. | Systems and methods for analyzing and synthesizing complex knowledge representations |
US8543931B2 (en) | 2005-06-07 | 2013-09-24 | Apple Inc. | Preview including theme based installation of user interface elements in a display environment |
US7636126B2 (en) | 2005-06-22 | 2009-12-22 | Sony Computer Entertainment Inc. | Delay matching in audio/video systems |
JP4364179B2 (ja) * | 2005-08-15 | 2009-11-11 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置および描画処理方法 |
US20090278845A1 (en) * | 2005-10-03 | 2009-11-12 | Ssd Company Limited | Image generating device, texture mapping device, image processing device, and texture storing method |
US7743336B2 (en) | 2005-10-27 | 2010-06-22 | Apple Inc. | Widget security |
US8543824B2 (en) | 2005-10-27 | 2013-09-24 | Apple Inc. | Safe distribution and use of content |
US7752556B2 (en) | 2005-10-27 | 2010-07-06 | Apple Inc. | Workflow widgets |
US7954064B2 (en) | 2005-10-27 | 2011-05-31 | Apple Inc. | Multiple dashboards |
US9104294B2 (en) | 2005-10-27 | 2015-08-11 | Apple Inc. | Linked widgets |
US7707514B2 (en) | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
CN100435171C (zh) * | 2006-03-31 | 2008-11-19 | 北京北大方正电子有限公司 | 一种三维图形排列的方法 |
US7965859B2 (en) | 2006-05-04 | 2011-06-21 | Sony Computer Entertainment Inc. | Lighting control of a user environment via a display device |
US7880746B2 (en) | 2006-05-04 | 2011-02-01 | Sony Computer Entertainment Inc. | Bandwidth management through lighting control of a user environment via a display device |
US8155682B2 (en) * | 2006-05-05 | 2012-04-10 | Research In Motion Limited | Handheld electronic device including automatic mobile phone number management, and associated method |
TWI444047B (zh) * | 2006-06-16 | 2014-07-01 | Via Tech Inc | 用於視訊解碼的去方塊效應濾波器、視訊解碼器與圖形處理單元 |
US8869027B2 (en) | 2006-08-04 | 2014-10-21 | Apple Inc. | Management and generation of dashboards |
US8954871B2 (en) | 2007-07-18 | 2015-02-10 | Apple Inc. | User-centric widgets and dashboards |
US8667415B2 (en) | 2007-08-06 | 2014-03-04 | Apple Inc. | Web widgets |
US8156467B2 (en) | 2007-08-27 | 2012-04-10 | Adobe Systems Incorporated | Reusing components in a running application |
US8176466B2 (en) | 2007-10-01 | 2012-05-08 | Adobe Systems Incorporated | System and method for generating an application fragment |
US9619304B2 (en) | 2008-02-05 | 2017-04-11 | Adobe Systems Incorporated | Automatic connections between application components |
US8676732B2 (en) | 2008-05-01 | 2014-03-18 | Primal Fusion Inc. | Methods and apparatus for providing information of interest to one or more users |
CN106845645B (zh) | 2008-05-01 | 2020-08-04 | 启创互联公司 | 用于产生语义网络和用于媒体合成的方法及系统 |
US9361365B2 (en) | 2008-05-01 | 2016-06-07 | Primal Fusion Inc. | Methods and apparatus for searching of content using semantic synthesis |
US8656293B1 (en) | 2008-07-29 | 2014-02-18 | Adobe Systems Incorporated | Configuring mobile devices |
JP5538393B2 (ja) | 2008-08-29 | 2014-07-02 | プライマル フュージョン インコーポレイテッド | 既存の領域定義を活用した意味概念定義および意味概念関係の統合のためのシステムおよび方法。 |
JP4683246B2 (ja) * | 2009-02-02 | 2011-05-18 | 株式会社ソニー・コンピュータエンタテインメント | ゲーム制御プログラム、ゲーム装置、ゲーム制御方法、管理サーバ、およびデータ管理方法 |
US9292855B2 (en) | 2009-09-08 | 2016-03-22 | Primal Fusion Inc. | Synthesizing messaging using context provided by consumers |
US9262520B2 (en) | 2009-11-10 | 2016-02-16 | Primal Fusion Inc. | System, method and computer program for creating and manipulating data structures using an interactive graphical interface |
US10786736B2 (en) | 2010-05-11 | 2020-09-29 | Sony Interactive Entertainment LLC | Placement of user information in a game space |
US9235806B2 (en) | 2010-06-22 | 2016-01-12 | Primal Fusion Inc. | Methods and devices for customizing knowledge representation systems |
US10474647B2 (en) | 2010-06-22 | 2019-11-12 | Primal Fusion Inc. | Methods and devices for customizing knowledge representation systems |
US11294977B2 (en) | 2011-06-20 | 2022-04-05 | Primal Fusion Inc. | Techniques for presenting content to a user based on the user's preferences |
US20120324367A1 (en) | 2011-06-20 | 2012-12-20 | Primal Fusion Inc. | System and method for obtaining preferences with a user interface |
US9342817B2 (en) | 2011-07-07 | 2016-05-17 | Sony Interactive Entertainment LLC | Auto-creating groups for sharing photos |
US9264840B2 (en) * | 2012-05-24 | 2016-02-16 | International Business Machines Corporation | Multi-dimensional audio transformations and crossfading |
CN103974062B (zh) * | 2013-06-24 | 2018-10-26 | 福州瑞芯微电子股份有限公司 | 图像显示装置、图像显示系统和图像显示方法 |
CN111862334A (zh) * | 2019-04-29 | 2020-10-30 | 杭州优工品科技有限公司 | 一种显示三维图形、提供图形及图形数据的方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4580134A (en) * | 1982-11-16 | 1986-04-01 | Real Time Design, Inc. | Color video system using data compression and decompression |
JPS628193A (ja) * | 1985-07-04 | 1987-01-16 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | カラー画像表示装置 |
US4823120A (en) * | 1986-09-12 | 1989-04-18 | Apple Computer, Inc. | Enhanced video graphics controller |
US4811124A (en) * | 1987-07-24 | 1989-03-07 | Advanced Micro Devices, Inc. | Defect skipping mechanism for disk drives |
US5091717A (en) * | 1989-05-01 | 1992-02-25 | Sun Microsystems, Inc. | Apparatus for selecting mode of output in a computer system |
US5224208A (en) * | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
US5307450A (en) * | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
JP2950346B2 (ja) * | 1991-03-25 | 1999-09-20 | ソニー株式会社 | 画像データのデコード方法及びそのデコーダ回路 |
JP3158370B2 (ja) * | 1991-07-12 | 2001-04-23 | ソニー株式会社 | ディスクデータ再生装置 |
US5291468A (en) * | 1991-09-16 | 1994-03-01 | International Business Machines Corporation | Method and apparatus for synchronizing the readout of a sequential media device with a separate clocked device |
GB2270243B (en) * | 1992-08-26 | 1996-02-28 | Namco Ltd | Image synthesizing system |
JPH06111495A (ja) * | 1992-09-30 | 1994-04-22 | Sony Corp | データ再生装置 |
JP3243883B2 (ja) * | 1993-04-12 | 2002-01-07 | ソニー株式会社 | 記録又は再生装置 |
-
1994
- 1994-12-02 JP JP30002094A patent/JP3578498B2/ja not_active Expired - Fee Related
-
1995
- 1995-11-20 EP EP95118239A patent/EP0715277B1/en not_active Expired - Lifetime
- 1995-11-20 AT AT95118239T patent/ATE316275T1/de not_active IP Right Cessation
- 1995-11-20 DE DE69534751T patent/DE69534751T2/de not_active Expired - Lifetime
- 1995-11-28 CA CA002163938A patent/CA2163938A1/en not_active Abandoned
- 1995-11-29 KR KR1019950044987A patent/KR100362704B1/ko not_active IP Right Cessation
- 1995-11-30 US US08/565,683 patent/US5793376A/en not_active Expired - Lifetime
- 1995-11-30 CN CN95120019A patent/CN1094624C/zh not_active Expired - Lifetime
- 1995-12-01 AU AU40207/95A patent/AU702762B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
EP0715277B1 (en) | 2006-01-18 |
MX9504904A (es) | 1998-07-31 |
EP0715277A3 (en) | 1996-08-21 |
AU702762B2 (en) | 1999-03-04 |
DE69534751D1 (de) | 2006-04-06 |
AU4020795A (en) | 1996-06-13 |
US5793376A (en) | 1998-08-11 |
EP0715277A2 (en) | 1996-06-05 |
ATE316275T1 (de) | 2006-02-15 |
CA2163938A1 (en) | 1996-06-03 |
KR960025235A (ko) | 1996-07-20 |
CN1150674A (zh) | 1997-05-28 |
JP3578498B2 (ja) | 2004-10-20 |
DE69534751T2 (de) | 2006-09-14 |
JPH08161525A (ja) | 1996-06-21 |
CN1094624C (zh) | 2002-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100362704B1 (ko) | 화상데이터생성방법과화상데이터처리장치및기록매체 | |
KR100392808B1 (ko) | 화상데이터생성방법과화상데이터처리장치및기록매체 | |
EP0715278B1 (en) | Method of producing image data and associated recording medium | |
JP3647487B2 (ja) | テクスチャマッピング装置 | |
US6556197B1 (en) | High performance low cost video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing | |
US6664962B1 (en) | Shadow mapping in a low cost graphics system | |
KR100422082B1 (ko) | 묘화장치및묘화방법 | |
CA2146606C (en) | Method and apparatus for generating images | |
EP1312047B1 (en) | Apparatus and method for rendering antialiased image | |
US6392643B1 (en) | Image generation apparatus | |
JP3548642B2 (ja) | 画像情報生成装置及び方法、画像情報処理装置及び方法、並びに記録媒体 | |
EP1041515B1 (en) | Game apparatus | |
JP3698747B2 (ja) | 画像データ生成方法及び画像処理システム | |
JP3547236B2 (ja) | 画像情報生成装置及び方法、並びに画像情報処理装置及び方法 | |
MXPA95004904A (en) | Method for producing image data, image data processing device and regis medium | |
JPH08161511A (ja) | 画像生成装置 | |
JPH10334249A (ja) | 画像情報生成方法及び画像情報生成装置、並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121023 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20131022 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |