KR100613747B1 - 화상 처리장치 및 그 방법 - Google Patents

화상 처리장치 및 그 방법 Download PDF

Info

Publication number
KR100613747B1
KR100613747B1 KR1019990011650A KR19990011650A KR100613747B1 KR 100613747 B1 KR100613747 B1 KR 100613747B1 KR 1019990011650 A KR1019990011650 A KR 1019990011650A KR 19990011650 A KR19990011650 A KR 19990011650A KR 100613747 B1 KR100613747 B1 KR 100613747B1
Authority
KR
South Korea
Prior art keywords
pixel
data
processing
circuit
pixel data
Prior art date
Application number
KR1019990011650A
Other languages
English (en)
Other versions
KR19990082898A (ko
Inventor
구로세요시카즈
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR19990082898A publication Critical patent/KR19990082898A/ko
Application granted granted Critical
Publication of KR100613747B1 publication Critical patent/KR100613747B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving

Abstract

전력소모를 상당히 줄일 수 있는 본 발명의 화상 처리장치는 화면 상에 표시될 소정의 형상을 복수개의 화소에 대한 동작을 동시에 수행하고, 처리될 유닛그래픽 내부에 위치된 화소의 유효한 동작결과에 대한 처리를 수행함으로써 그래픽유닛의 합성으로 나타낸다. 동작서브블록의 클록 이네이블러가 대응하는 val데이터의 유효성을 판별한다. 유효성을 나타내는 대응 val데이터를 수신하는 동작서브블록에서만 동작을 수행하고, 다른 동작서브블록에서는 동작을 수행하지 않는다. 동작블록은 파이프라인 처리를 수행한다.
화상 처리장치, 그래픽유닛, 화소, 클록 이네이블러, 서브블록, 파이프라인 처리, 화소 처리회로, 제어회로

Description

화상 처리장치 및 그 방법 {IMAGE PROCESSING APPARATUS AND METHOD OF THE SAME}
도 1은 본 발명의 제1 실시예에 따른 3차원 컴퓨터 그래픽 시스템의 시스템 구성도.
도 2는 도 1의 삼각 DDA회로에서 출력된 DDA데이터 포맷을 나타내는 도면.
도 3은 도 1에 나타낸 텍스쳐 엔진회로 및 메모리 I/F회로의 일부구성도.
도 4는 도 3의 동작서브블록의 내부구성도.
도 5는 본 발명의 제2 실시예에 따른 3차원 컴퓨터 그래픽 시스템의 시스템 구성도.
도 6은 도 5에 나타낸 텍스쳐 엔진회로 및 메모리 I/F회로의 일부구성도.
도 7은 본 발명의 제3 실시예에 따른 3차원 컴퓨터 그래픽 시스템의 시스템 구성도.
도 8은 도 7에 나타낸 텍스쳐 엔진회로 및 메모리 I/F회로의 일부구성도.
도 9는 도 5에 나타낸 3차원 컴퓨터 그래픽 시스템의 변형예의 구성도.
도 10은 도 7에 나타낸 3차원 컴퓨터 그래픽 시스템의 변형예의 구성도.
도 11은 도 1에 나타낸 3차원 컴퓨터 그래픽 시스템의 클록 이네이블러가 인가되고, 파이프라인 처리가 수행되지 않는 동작블록의 구성도.
도 12는 종래기술의 단점을 나타내는 도면.
본 발명은 화상 처리장치 및 전력소모를 줄일 수 있는 화상 처리방법에 관한 것이다.
컴퓨터 그래픽이 각종의 CAD(computer aided design)시스템 및 오락기에 흔히 사용된다. 특히, 최근에 화상 처리기술이 발전함에 따라, 3차원 컴퓨터 그래픽을 사용하는 시스템이 급속하게 확산되고 있다.
3차원 컴퓨터 그래픽에 있어서, 각 화소의 컬러값이 각각의 대응하는 화소의 컬러를 결정하는 시점에 계산된 다음, 이 계산된 값을 화소에 대응하는 디스플레이버퍼(프레임버퍼)의 어드레스에 기입하는 렌더링(rendering)이 수행된다.
렌더링법 중 하나는 다각형 렌더링(polygon rendering)이 있다. 이 방법에서는 3차원 모델이 삼각형 유닛그래픽의 합성으로 표현된다. 다각형을 유닛으로 도시함으로써, 디스플레이 스크린의 화소 컬러가 결정된다.
다각형 렌더링에 있어서, 좌표(x, y, z), 컬러데이터(R, G, B, α), 합성화상 패턴을 나타내는 텍스쳐데이터의 균일 좌표(s, t), 및 물리적 코디네이터 시스템(physical coordinate system)에서 삼각형의 각 정점에 대한 균일 용어 q의 값이 입력되어, 이들 값의 보간(interpolation)처리가 삼각형 내에서 수행된다.
간단히 나타낸 균일 용어 q는 확대율 및 축소율과 같다. 실제 텍스쳐버퍼 UV코디네이터 시스템의 좌표, 즉 텍스쳐 좌표데이터(u, v)는 균일 용어 q로 나누어져 "s/q" 및 "t/q"를 부여한 다음 텍스쳐 크기 USIZE 및 VSIZE로 각각 곱해진 균일 좌표(s, t)를 포함한다.
3차원 컴퓨터 그래픽 시스템에 있어서, 예를 들면, 디스플레이버퍼(프레임버퍼)에 도시할 때, 텍스쳐데이터는 매 화소에 대한 텍스쳐 코디네이터데이터(u, v)를 사용하여 텍스쳐버퍼로부터 판독하여, 3차원 모델 표면 상의 삼각형 유닛에 판독 텍스쳐데이터를 인가하는 텍스쳐매핑(texture mapping)이 수행된다.
3차원 모델 상의 텍스쳐매핑에서, 각 화소에 인가될 텍스쳐데이터로 나타낸 화상 확대율 및 축소율이 변한다는 점을 유의해야 한다.
그러나, 3차원 컴퓨터 그래픽 시스템에서는 예를 들면 소정 블록의 8 화소에 대한 처리가 병렬(동시에)로 수행되는 경우가 있다.
또한, 삼각형 유닛으로 수행되는 상기 다각형 렌더링에서는 인가될 텍스쳐데이터의 축소율 등이 삼각형 유닛으로 결정된다.
따라서, 병렬로 처리된 동작의 8 화소 가치의 결과에서, 커버된 삼각형 외측의 화소에 대한 동작 결과가 무효로 된다.
구체적으로, 도 12에 나타낸 바와 같이, 축소율은 삼각형(30)에 대한 소정ㅇ 동작의 수행으로 결정되며, 축소율에 따라 텍스쳐데이터를 사용하여 텍스쳐매핑이 수행되는 경우를 고려한다.
8(2x4)비트가 병렬로 처리될 영역인 블록(31, 32, 33)이 배열되어 있다. 다각형 렌더링에 있어서, 동일 텍스쳐데이터가 하나의 블록에 속하는 8 화소에 사용 된다.
도 12에 나타낸 경우에 있어서, 블록(32)에 속하는 8 화소 모두가 삼각형(30)의 내부에 위치되어 8 화소에 대한 동작결과가 모두 유효 "1"이 된다. 한편, 블록(31, 33)에 속하는 8 화소 중, 3 화소는 삼각형(30)의 내부에 5 화소는 삼각형(30)의 외부에 있다. 따라서, 8 화소 내의 3 화소에 대한 동작결과는 유효하지만 5 화소에 대한 동작결과는 무효로 된다.
종래기술에서, 다각형 렌더링은 블록 내의 8 화소 모두에 대하여 무조건적으로 수행되었다.
전술한 바와 같이, 본 발명으로 해결하려는 문제를 요약하면, 삼각형을 그래픽 유닛으로 사용하여 다각형 렌더링을 수행할 때 화소가 커버된 삼각형 내부에 있는 가의 여부에 상관없이 블록에 위치된 복수개의 화소 모두에 대하여 처리를 수행하는 경우, 수많은 무효 동작이 수행되어 전력소모가 많아진다.
또한, 3차원 컴퓨터 그래픽 시스템에서는 상기 일부 경우 외에 여러 가지 이유로 불필요한 동작이 수행된다.
또한, 3차원 컴퓨터 그래픽 시스템의 동작을 위한 클록주파수가 최근 매우 높아지고 있기 때문에 전력소모를 줄이는 것이 커다란 문제이다.
본 발명의 목적은 전력소모를 크게 줄일 수 있는 화상 처리장치 및 그 방법을 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명의 제1 양태에 있어서, 처리될 복수개 의 화소데이터 각각을 동시에 처리하기 위해 제공되어, 복수개의 입력데이터를 병렬로 처리하는 복수개의 화소 처리회로 및 처리될 화소데이터를 처리회로 내에서 처리할 필요가 없을 때 화소 처리회로의 동작을 중단시키는 제어회로를 포함하는 화상 처리장치를 제공한다.
본 발명의 제2 양태에 있어서, 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리장치를 제공하고, 상기 화상 처리장치는 동시에 처리될 복수개의 화소데이터 각각에 대해 대응하는 화소가 그래픽유닛 내에 위치하는 가의 여부를 판별하는 화소위치판별회로; 동시에 상호 병렬로 처리될 복수개의 화소데이터를 처리하는 복수개의 화소 처리회로; 및 화소위치판별회로의 판별결과에 따라, 복수개의 화소 처리회로 중 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리하는 처리회로 외에는 화소 처리회로의 동작을 중단시키는 제어회로를 포함한다.
본 발명의 제3 양태에 있어서, 동시에 처리될 복수개의 화소용으로 제공되어, 복수개의 제1 화소데이터 및 대응하는 복수개의 제2 화소데이터를 각 화소에 대한 혼합율 데이터세트로 표시된 혼합율로 혼합하여 복수개의 제3 화소데이터를 생성하는 복수개의 화상 처리회로 및 화소 처리회로가 혼합을 수행할 것인가의 여부를 판별하고, 혼합이 수행되지 않는 것으로 판별될 때 화소 처리회로의 동 작을 중단시키는 제어회로를 포함하는 화상 처리장치를 제공한다.
본 발명의 제4 양태에 있어서, 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리장치를 제공하고, 상기 화상 처리장치는 동시에 처리될 복수개의 화소용으로 제공되어, 복수개의 제1 화소데이터 및 대응하는 복수개의 제2 화소데이터를 각 화소에 대한 혼합율 데이터세트로 표시된 혼합율로 혼합하여 복수개의 제3 화소데이터를 생성하는 복수개의 화상 처리회로 및 동시에 처리될 복수개의 화소데이터 각각에 대해 대응하는 화소가 그래픽유닛 내에 위치하는 가의 여부를 판별하여 대응하는 화소가 그래픽유닛 내에 위치되지 않은 것으로 판별될 때 또는 혼합이 혼합율 데이터에 따라 수행되지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 제어회로를 포함한다.
본 발명의 제5 양태에 있어서, 저장회로; 동시에 처리될 복수개의 화소용으로 제공되어 복수개의 제1 화소데이터로부터 복수개의 제2 화소데이터를 생성하는 복수개의 화소 처리회로; 복수개의 제1 화소데이터 중 복수개의 제1 깊이데이터와 제1 깊이데이터에 대응하여 저장회로에 저장된 복수개의 제3 화소데이터 중 복수개의 제2 깊이데이터를 비교하는 비교회로; 저장회로에 저장된 제2 깊이데이터에 대응하는 제3 화소데이터를 제2 화소데이터로 재기입하는 가의 여부를 판별하고, 재기입하지 않는 것으로 판별될 때 대응하는 화소 처리회로의 동작을 중단시키는 제 어회로를 포함하는 화상 처리장치를 제공한다.
본 발명의 제6 양태에 있어서, 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리장치를 제공하며, 상기 화상 처리장치는 저장회로; 동시에 처리될 복수개의 화소용으로 제공되어 복수개의 제1 화소데이터로부터 복수개의 제2 화소데이터를 생성하는 복수개의 화소 처리회로; 복수개의 제1 화소데이터 중 복수개의 제1 깊이데이터와 제1 깊이데이터에 대응하여 저장회로에 저장된 복수개의 복수개의 제3 화소데이터 중 복수개의 제2 깊이데이터를 비교하는 비교회로; 및 동시에 처리될 복수개의 화소에 대응하는 화소가 그래픽유닛 내에 위치하는 가의 여부를 판별하고, 저장회로에 저장된 제2 깊이데이터에 대응하는 제3 화소데이터를 비교한 결과에 따라 제2 화소데이터로 재기입하는 가의 여부를 판별하여, 대응하는 화소가 그래픽유닛 내에 위치되지 않은 것으로 판별되거나 또는 재기입하지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 제어회로를 포함한다.
본 발명의 제7 양태에 있어서, 동시에 처리될 복수개의 화소 각각에 대하여 제공되어 복수개의 입력 화소데이터를 병렬로 처리하는 화소 처리회로를 사용하여 화상 처리를 수행하는 화상 처리방법에 있어서, 화소데이터에 따라 처리회로의 처리가 필요한 가의 여부를 판별하는 단계, 및 처리회로의 화소처리가 필요하지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 단계를 포함한다.
본 발명의 제8 양태에 있어서, 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리방법에 있어서, 동시에 처리될 복수개의 화소에 각각에 대응하는 화소가 그래픽유닛 내에 위치하는 가의 여부를 판별하는 단계; 동시에 상호 병렬로 처리될 복수개의 화소데이터를 복수개의 화소 처리회로 내에서 처리하는 단계; 및 판별단계의 결과에 따라, 복수개의 화소 처리회로 중 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리하는 처리회로 외에는 화소 처리회로의 동작을 중단시키는 단계를 포함한다.
본 발명의 제9 양태에 있어서, 동시에 처리될 복수개의 화소용으로 제공된 복수개의 화소 처리회로를 사용하여 복수개의 제1 화소데이터 및 복수개의 제2 화소데이터를 각 화소에 대한 혼합율 데이터세트로 표시된 혼합율로 혼합하여 복수개의 제3 화소데이터를 생성하는 단계, 혼합율 데이터에 따라 화소 처리회로가 혼합을 수행할 것인 가의 여부를 판별하는 단계, 및 혼합을 수행하지 않는 것으로 판별될 때 대응하는 화소 처리회로의 동작을 중단시키는 단계를 포함하는 화상 처리방법을 제공한다.
본 발명의 제10 양태에 있어서, 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화 소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리방법을 제공하며, 상기 화상 처리방법은 동시에 처리될 복수개의 화소용으로 제공된 복수개의 화소 처리회로를 사용하여 복수개의 제1 화소데이터 및 복수개의 제2 화소데이터를 각 화소에 대한 혼합율 데이터세트로 표시된 혼합율로 혼합하여 복수개의 제3 화소데이터를 생성하는 단계; 동시에 처리될 복수개의 화소에 대해 대응하는 화소가 그래픽유닛 내에 위치되어 있는 가의 여부를 판별하는 단계; 및 대응하는 화소가 그래픽유닛 내에 위치되지 않은 것으로 판별될 때 또는 혼합이 혼합율 데이터에 따라 수행되지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 단계를 포함한다.
본 발명의 제11 양태에 있어서, 동시에 처리될 복수개의 화소용으로 제공된 복수개의 화소 처리회로를 사용하여 복수개의 제1 화소데이터로부터 복수개의 제2 화소데이터를 생성하는 단계; 복수개의 제1 화소데이터 중 복수개의 제1 깊이데이터와 제1 깊이데이터에 대응하여 저장회로에 저장된 복수개의 복수개의 제3 화소데이터 중 복수개의 제2 깊이데이터를 비교하는 단계; 및 저장회로에 저장된 제2 깊이데이터에 대응하는 제3 화소데이터를 제2 화소데이터에 재기입하는 가의 여부를 판별하여, 재기입하지 않는 것으로 판별될 때 대응하는 화소 처리회로의 동작을 중단시키는 단계를 포함하는 화상 처리방법을 제공한다.
본 발명의 제12 양태에 있어서, 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화 소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리방법을 제공하며, 상기 화상 처리방법은 동시에 처리될 복수개의 화소용으로 제공된 복수개의 화소 처리회로를 사용하여 복수개의 제1 화소데이터로부터 복수개의 제2 화소데이터를 생성하는 단계; 복수개의 제1 화소데이터 중 복수개의 제1 깊이데이터와 제1 깊이데이터에 대응하여 저장회로에 저장된 복수개의 복수개의 제3 화소데이터 중 복수개의 제2 깊이데이터를 비교하는 단계; 및 동시에 처리될 복수개의 화소 각각에 대해 대응하는 화소가 그래픽유닛 내에 위치하는 가의 여부를 판별하고, 저장회로에 저장된 제2 깊이데이터에 대응하는 제3 화소데이터를 비교한 결과에 따라 재기입하는 가의 여부를 판별하여 대응하는 화소가 그래픽유닛 내에 위치되지 않은 것으로 판별될 때 또는 재기입하지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 단계를 포함한다.
본 발명의 이들 및 다른 목적 및 특징은 첨부도면을 참조한 다음의 바람직한 실시예의 상세한 설명으로부터 더욱 명백하게 될 것이다.
다음에, 첨부도면을 참조하여 바람직한 실시예를 설명한다.
임의의 3차원 물체 모델의 원하는 3차원 화상을 가정용 게임기 등에 적용된 음극선관(cathode ray tube: CRT)과 같은 디스플레이 상에 표시하는 3차원 컴퓨터 그래픽 시스템에 대하여 설명한다.
제1 실시예
도 1은 제1 실시예에 따른 3차원 컴퓨터 그래픽 시스템의 시스템 구성도이다.
3차원 컴퓨터 그래픽 시스템(1)에 있어서, 3차원 모델은 삼각형 유닛 그래픽(다각형)의 합성으로 표현된다. 다각형을 도시함으로써, 상기 시스템은 디스플레이 스크린 상의 각 화소의 컬러를 결정하며 스크린 상에 디스플레이하는 다각형 렌더링을 수행한다.
3차원 컴퓨터 그래픽 시스템(1)에 있어서, 3차원 물체는 평면 상의 위치를 나타내는 (x, y)좌표 외에 깊이를 나타내는 (z)좌표를 사용하여 표현된다. 3차원 공간 내 임의의 한 점도 3 좌표(x, y, z)로 표현될 수 있다.
도 1에 나타낸 바와 같이, 3차원 컴퓨터 그래픽 시스템(1)에 있어서, 메인 메모리(2), I/O 인터페이스회로(3), 메인 프로세서(4), 및 렌더링회로(5)가 메인버스(6)를 거쳐 연결되어 있다.
다음에, 각 구성품의 동작에 대하여 설명한다.
메인 프로세서(4)는, 예를 들어 게임의 진행상태에 따라, 메인 메모리(2)로부터 필요한 그래픽데이터를 판독하고, 그래픽데이터 상에 클리핑(clipping), 라이팅(lighting), 기하학적 처리 등을 수행하여 다각형 렌더링데이터를 생성한다. 메인 프로세서(4)는 다각형 렌더링데이터(S4)를 메인 버스(6)를 거쳐 렌더링회로(5)에 출력한다.
I/O 인터페이스회로(3)는 필요에 따라 외부로부터 다각형 렌더링데이터를 입력으로 수신하여 이 렌더링데이터를 메인 버스(6)를 거쳐 렌더링회로에 출력한다.
다각형 렌더링데이터는 다각형의 3 정점(x, y, z, R, G, B, α, s, t, q) 각각에 대한 데이터를 포함한다.
(x, y, z)데이터는 다각형 정점의 3차원 좌표를 나타내며, (R, G, B)데이터는 3차원 좌표의 적색, 녹색 및 청색의 휘도값을 각각 나타낸다.
데이터(α)는 도시될 화소 및 디스플레이버퍼(21)에 이미 저장된 화소의 (R, G, B)데이터의 혼합계수를 나타낸다.
(s, t, q)데이터 중, 데이터(s, t)는 대응 텍스쳐의 균일 좌표를 나타내고, 데이터(q)는 균일 조건을 나타낸다. 텍스쳐크기 USIZE 및 VSIZE는 "s/q" 및 "t/q"로 각각 곱하여 텍스쳐의 좌표데이터(u, v)를 얻는다. 텍스쳐 좌표데이터(u, v)는 텍스쳐버퍼(20)에 저장된 텍스쳐데이터에 액세스하는데 사용된다.
즉, 다각형 렌더링데이터는 삼각형 정점의 물리적 좌표값 및 정점, 텍스쳐, 및 포깅(fogging)의 컬러값을 나타낸다.
다음에, 렌더링회로(5)를 상게하게 설명한다.
도 1에 나타낸 바와 같이, 렌더링회로(5)는 디지털 미분 애널라이저(digital differential analyzer: DDA 셋업회로(10), 삼각형 DDA회로(11), 텍스쳐 엔진회로(12), 메모리 인터페이스(I/F)회로(13), 음극선관(CRT) 컨트롤러회로(14), 랜덤액세스메모리(RAM) DAC회로(15), 다이내믹 랜덤액세스메모리(DRAM)(16), 및 스태틱 랜덤액세스메모리(SRAM)(17)를 포함한다. DRAM(16)이 텍스쳐버퍼(20), 디스플레이버퍼(21), z-버퍼(22), 및 텍스쳐 CLUT버퍼(23)로 기능한다.
DDA 셋업회로(10)
DDA 셋업회로(10)는 삼각형 정점값의 선형 보간을 그 후반부의 삼각형 DDA회로(11)의 물리적 좌표 상에서 수행한다. DDA 셋업회로(10)는, 삼각형 내부의 각 화소의 컬러 및 깊이에 대한 정보를 얻기 전에, 셋업동작을 수행하여 삼각형의 측면 및 다각형 렌더링데이터(S4)로 나타낸 데이터(z, R, G, B, α, s, t, q)의 수평방향의 차이를 얻는다.
구체적으로, 상기 셋업동작은 시작점 및 종료점 및 두 점 사이의 간격의 값을 사용하여 단위 길이로 이동할 때 찾으려는 변화값을 계산한다.
또한, DDA 셋업회로(10)는 동시에 처리될 8비트 각각에 대한 1-비트 유효성 명령데이터 값이 당해 삼각형 내부에 존재하는 가의 여부를 결정한다. 구체적으로, 유효성 명령데이터 값은 삼각형 내부의 화소에 대하여는 "1"이며 삼각형 외부의 화소에 대하여는 "0"이다.
DDA 셋업회로(10)는 계산된 가변데이터(S10) 및 각 화소의 유효성 명령데이터값을 삼각형 DDA회로(11)에 출력한다.
삼각형 DDA회로(11)
삼각형 DDA회로(11)는 DDA 셋업회로(10)로부터 입력된 가변데이터를 사용하여 삼각형 내부의 선형으로 보간된 (z, R, G, B, α, s, t, q)데이터를 계산한다.
삼각형 DDA회로(11)는 각 화소에 대한 데이터(x, y) 및 (x, y)좌표의 화소에 대한 (z, R, G, B, α, s, t, q, val) 데이터를 텍스쳐 엔진회로(12)에 DDA데이터(보간데이터)(S11)로서 출력한다.
제1 실시예에 있어서, 삼각형 DDA회로(11)는 병렬로 처리될 블록 내부에 위 치된 8 (=2x4) 화소의 DDA데이터(S11)를 텍스쳐 엔진회로(12)에 출력한다.
DDA데이터(S11)의 (z, R, G, B, α, s, t, q) 데이터는 도 2에 나타낸 바와 같이 161비트 데이터를 포함한다.
구체적으로, (R, G, B, 및 α) 데이터 각각은 8비트, (z, s, t, 및 q) 데이터 각각은 32비트를 포함하고, val 데이터는 1비트를 포함한다.
병렬로 처리될 8비트의 (z, R, G, B, α, s, t, q, val) 데이터 중에서, val데이터는 val데이터(S2201 ∼ S2208)로서 언급하고, (z, R, G, B, α, s, t, q, val) 데이터는 동작데이터(S2211 ∼ S2218)로서 언급된 것을 유의하여야 한다.
즉, 삼각형 DDA회로(11)는 8 화소에 대한 (x, y)데이터, val데이터(S2201 ∼ S2208), 및 동작데이터(S2211 ∼ S2218)로 이루어지는 DDA데이터(S11)를 텍스쳐 엔진회로(12)에 출력한다.
텍스쳐 엔진회로(12) 및 메모리 I/F회로(13)
DDA데이터(S11)를 사용하여 텍스쳐 엔진회로(12)에 의한 "s/q" 및 "t/q"의 계산. 텍스쳐 좌표데이터(u, v)의 계산, 및 텍스쳐버퍼(20)로부터의 데이터(R, G, B, α)의 판독 및 메모리 I/F회로(13)에 의한 z-비교 및 혼합은 도 3에 나타낸 동작블록(200, 201, 202, 203, 204, 및 205)의 파이프라인 시스템에 의하여 연속적으로 수행된다.
동작블록(200, 201, 202, 203, 204, 및 205) 각각은 8개의 동작서브블록을 포함하고 8비트 상에서 병렬로 동작을 수행한다.
텍스쳐 엔진회로(12)는 동작블록(200, 201, 202, 및 203)을 포함하는 한편, 메모리 I/F회로(13)는 동작블록(204 및 205)을 포함한다.
[동작블록(200)]
동작블록(200)은 DDA데이터(S11)에 포함된 (s, t, q)데이터를 사용하여 s데이터를 q데이터로 나누는 동작 및 t데이터를 q데이터로 나누는 동작을 수행한다
동작블록(200)은 도 3에 나타낸 바와 같이 8개의 동작서브블록(2001 ∼ 2008)을 포함한다.
동작서브블록(2001)은 동작데이터(S2211) 및 val데이터(S2201)를 입력으로 수신한다. val데이터(S2201)가 "1", 즉 데이터가 유효함을 나타낼 때 "s/q" 및 "t/q"를 계산하고, 이 계산결과를 디비전(S2001)결과로서 동작블록(201)의 동작서브블록(2011)에 출력한다.
val데이터(S2201)가 "0", 즉 데이터가 무효임을 나타낼 때 동작서브블록(2001)은 동작을 수행하지 않고, 동작블록(201)의 동작서브블록(2011)에 디비전(S2001)결과를 출력하지 않거나 또는 소정의 임시값을 나타내는 디비전(S2001)결과를 출력하지 않는다.
또한, 동작서브블록(2001)은 val데이터(S2201)를 다음 동작서브블록(2011)에 출력한다.
동작서브블록(2002 ∼ 2008) 각각은 대응 화소 상의 동작서브블록(2001)과 동일한 동작을 수행하고 디비전(S2002 ∼ S2008)의 각 결과 및 val데이터(S2202 ∼ S2208)를 다음 동작블록(201)의 동작서브블록(2012 ∼ 2018)에 출력함을 유의하여야 한다.
도 4는 동작서브블록(2001)의 내부 구성을 나타낸 도면이다.
도 3에 나타낸 동작서브블록 모두는 도 4에 나타낸 구성을 기본적으로 가진다.
도 4에 나타낸 바와 같이, 동작서브블록(2001)은 클록 이네이블러(clock enabler)(2101), 데이터 플립플롭(data flip-flop)(222), 프로세서 요소(processor element)(223), 및 플래그 플립플롭(flag flip-flop)(224)을 포함한다.
클록 이네이블러(2101)는 시스템 클록신호(S225)에 따른 타이밍의 val데이터(S2201)를 입력으로 수신하고 val데이터(S2201) 레벨을 검출한다. val데이터(S2201)가 "1"인 경우 클록 이네이블러(2101)가 예를 들어 클록신호(S210 1) 펄스를 만드는 한편, val데이터가 "0"인 경우 클록신호(S2101) 펄스를 만들지 않는다.
데이터 플립플롭(222)은 클록신호(S210) 펄스를 검출할 때 동작데이터(S2211)를 불러와서 이 동작데이터를 프로세서 요소(223)에 출력한다.
프로세서 요소(223)는 입력 동작데이터(S221)를 사용하여 전술한 디비전을 수행하고 디비전(S2001)의 결과를 동작서브블록(2011)의 플립플롭(222)에 출력한다.
플래그 플립플롭(224)은 시스템 클록신호(S225)에 따른 타이밍의 val데이터(S2201)를 입력으로 수신하고 이 val데이터를 다음 동작블록(201)의 동작서브블록(2011)의 플래그 플립플롭(224)에 출력한다.
시스템 클록신호(S225)가 클록 이네이블러 및 도 3에 나타낸 동작서브블록(2001 ∼ 2008, 2011 ∼ 2018, 2021 ∼ 2028, 및 2041 ∼ 2048) 모두의 플래그 플립플롭(224)에 공급됨을 유의한다.
즉, 동작서브블록(2001 ∼ 2008, 2011 ∼ 2018, 2021 ∼ 2028, 및 2041 ∼ 2048)에서의 처리는 동시에 수행되고, 동일 동작블록에 수용된 8개의 동작서브블록은 병렬로 처리된다.
[동작블록(201)]
동작블록(201)은 동작서브블록(2011 ∼ 2018)을 가지며, 텍스쳐크기 USIZE 및 VSIZE에 동작블록(200)에서 입력된 디비전(S2001 ∼ S2008) 결과로 나타낸 "s/q" 및 "t/q"를 각각 곱하여 텍스쳐 좌표데이터(u, v)를 생성한다.
동작서브블록(2011 ∼ 2018)은 클록 이네이블러(2111 ∼ 2118)에 의한 val데이터(S2201 ∼ S2208)의 레벨 검출 결과가 "1"인 경우에만 동작을 수행하여 텍스쳐 좌표데이터(S2011 ∼ S2018)를 동작 결과로서 동작블록(202)의 동작서브블록(2021 ∼ 2028)에 출력한다.
[동작블록(202)]
동작블록(202)은 동작서브블록(2021 ∼ 2028)을 가지며, 동작블록(201)에서 생성된 텍스쳐 좌표데이터(u, v)를 포함하는 판독요구를 메모리 I/F회로(13)를 거쳐 SRAM(17) 또는 DRAM(16)에 출력하고, SRAM(17) 또는 텍스쳐버퍼(20)에 저장된 텍스쳐데이터를 메모리 I/F회로(13)를 거쳐 판독하여 (u, v)데이터에 대응하는 텍스쳐어드레스에 저장된 데이터(S17)(R, G, B, α)를 얻는다.
텍스쳐버퍼(20)는 MIPMAP(복수개의 해상도 텍스쳐) 및 복수개의 축소율에 대응하는 다른 텍스쳐데이터를 저장함을 유의한다. 사용하고자 하는 텍스쳐데이터의 축소율은 소정의 알고리즘(algorithm)을 사용하여 상기 삼각형 유닛에서 결정된다.
SRAM(17)은 텍스쳐버퍼(20)에 저장된 텍스쳐데이터 카피(copy)를 저장한다.
동작서브블록(2021 ∼ 2028)은 클록 이네이블러(2121 ∼ 2128)에 의한 val데이터(S2201 ∼ S2208)의 레벨 검출 결과가 "1"인 경우에만 동작을 수행하여 텍스쳐 판독 (R, G, B, α)데이터(S17)를 데이터 (R, G, B, α)데이터(S2021 ∼ S2028)로서 동작블록(203)의 동작서브블록(2031 ∼ 2038)에 출력한다.
풀 컬러(full color)모드의 경우, 텍스쳐 엔진회로(12)는 텍스쳐버퍼(20)로부터 판독한 (R, G, B, α)데이터를 직접 사용한다. 인덱스 컬러(index color)모드의 경우, 텍스쳐 엔진회로(12)는 사전에 준비된 컬러 조사표(color look-up table: CLUT)를 텍스쳐 CLUT버퍼(23)로부터 판독하고, 이 조사표를 전송하여 빌트인 SRAM에 저장하며 컬러 조사표를 사용하여 텍스쳐버퍼(20)로부터 판독한 컬러 인덱스에 대응하는 (R, G, B)데이터를 얻는다.
[동작블록(203)]
동작블록(203)은 동작서브블록(2031 ∼ 2038)을 가지며, 동작블록(202)으로부터 입력된 텍스쳐데이터(R, G, B, α)와 삼각형 DDA회로(11)로부터의 DDA데이터(S11)에 포함된 (R, G, B)데이터를 (R, G, B, α)데이터(S2021 ∼ S2028)에 포함된 α데이터(텍스쳐 α)에 나타낸 혼합율로 혼합하여 (R, G, B) 혼합데이터를 생성한다.
다음에, 동작블록(203)은 생성된 (R, G, B) 혼합데이터 및 대응하는 DDA데이터(S11)에 포함된 α데이터를 포함하는 (R, G, B, α)데이터(S2031 ∼ S2038)를 동작블록(204)에 출력한다.
동작서브블록(2031 ∼ 2038)은 상기 혼합을 수행하여 클록 이네이블러(2131 ∼ 2138)에 의한 val데이터(S2201 ∼ S2208)의 레벨 검출결과가 "1"인 경우에만 (R, G, B, α)데이터(S2031 ∼ S2038)를 출력한다.
[동작블록(204)]
동작블록(204)은 동작서브블록(2041 ∼ 2048)을 가지며, z-버퍼(22)에 저장된 z-데이터의 내용을 사용하여 입력 (R, G, B, α)데이터(S2031 ∼ S2038)에 대한 z-비교를 수행한다. (R, G, B, α)데이터(S2031 ∼ S2038)로 도시된 화상가 앞서 디스플레이버퍼(21)에 도시된 화상보다 관찰점에 더욱 근접하여 위치될 때, 동작블록(204)은 z-버퍼(22)를 갱신하여 (R, G, B, α)데이터(S2031 ∼ S2038)를 (R, G, B, α)데이터(S2041 ∼ S2048)로서 동작블록(205)의 동작서브블록(2051 ∼ 2058)에 출력한다.
동작서브블록(2041 ∼ 2048)은 상기 z-비교를 수행하여 클록 이네이블러(2141 ∼ 2148)에 의한 val데이터(S2201 ∼ S2208)의 레벨 검출결과가 "1"인 경우에만 (R, G, B, α)데이터(S2041 ∼ S2048)를 출력한다.
[동작블록(205)]
동작블록(205)은 동작서브블록(2051 ∼ 2058)을 가지며, (R, G, B, α)데이터(S2041 ∼ S2048)와 디스플레이버퍼(21)에 이미 저장된 (R, G, B)데이터를 (R, G, B, α)데이터(S2041 ∼ S2048)에 포함된 α데이터에 나타낸 혼합율로 혼합하여 혼합된 (R, G, B)데이터(S2051 ∼ S2058)를 디스플레이버퍼(21)에 기입한다.
DRAM(16)은 메모리 I/F회로(13)에 의하여 16 화소에 대하여 동시에 액세스된다.
동작서브블록(2051 ∼ 2058)은 클록 이네이블러(2151 ∼ 2158)에 의한 val데 이터(S2201 ∼ S2208)의 레벨 검출결과가 "1"인 경우에만 상기 혼합 및 디스플레이버퍼(21)에 기입을 수행한다.
CRT 컨트롤러회로(14)
CRT 컨트롤러회로(14)는 소정의 수평 및 수직 동기신호와 동기하여 도시되지 않은 CRT 상에 디스플레이용 어드레스를 생성하여 디스플레이버퍼(21)로부터 디스플레이데이터를 판독하라는 요구를 메모리 I/F회로(13)에 출력한다. 이 요구에 응답하여, 메모리 I/F회로(13)는 디스플레이버퍼(21)로부터 소정량의 디스플리에데이터를 판독한다. CRT 컨트롤러회로(14)는 디스플레이버퍼(21)로부터 판독된 디스플레이데이터를 저장하기 위한 빌트인 선입선출(FIFO)회로를 가지며, RGB데이터의 인덱스값을 소정 간격으로 RAMDAC회로(15)에 출력한다.
RAMDAC회로(15)
RAMDAC회로(15)는 각각의 인덱스값에 대응하는 (R, G, B)데이터를 저장하고, CRT컨트롤러(14)로부터 입력된 RGB의 인덱스값에 대응하는 디지털 (R, G, B)데이터를 전달하여 아날로그 RGB데이터를 생성한다. RAMDAC회로(15)는 상기 생성된 (R, G, B)데이터를 CRT에 출력한다.
다음에, 3차원 컴퓨터 그래픽 시스템(1) 전체의 동작에 대하여 설명한다.
다각형 렌더링데이터(S4)는 메인 프로세서(4)로부터 메인 버스(6)를 거쳐 DDA 셋업회로(10)에 출력된다. 삼각형의 측면 및 수평방향 등의 차이를 나타내는 가변데이터(S10)가 DDA 셋업회로(10)에 생성된다.
이 가변데이터(S10)는 삼각형 DDA회로(11)에 출력된다. 심각형 DDA회로(11)에서, 삼각형 내부의 각 화소에 대한 선형 보간된 데이터(z, R, G, B, α, s, t, q)가 계산된다. 다음에, 계산된 (z, R, G, B, α, s, t, q)데이터 및 삼각형 정점의 (x, y)데이터가 삼각형 DDA회로(11)로부터 텍스쳐 엔진회로(12)에 DDA데이터(S11)로서 출력된다.
다음에, 텍스쳐 엔진회로(12) 및 메모리 I/F회로(13)는 DDA데이터(S11)를 사용하여 "s/q" 및 "t/q"를 계산하고, 텍스쳐 좌표데이터(u, v)를 계산하고, (R, G, B, α)데이터를 텍스쳐버퍼(20)으로부터 디지털데이터로 판독하고, 이것을 혼합하여 결과를 파이프라인 포맷으로 도 3에 나타낸 바와 같이 동작블록(200, 201, 202, 203, 204, 및 205)에 연속적으로 기입한다.
다음에, 도 3에 나타낸 텍스쳐 엔진회로(12) 및 메모리 I/F회로(13)의 파리\이프라인 처리동작을 설명한다.
예를 들면, 도 6에 나타낸 블록(31)의 8 화소 상에서 동시 처리되는 경우를 생각한다. 이 경우, val데이터(S2201, S2202, S2203, S2205 및 S2206)는 "0"을 나타내고 val데이터(S2204, S2207 및 S2208)는 "1"을 나타낸다.
val데이터(S2201 ~ S2218) 및 동작데이터(S2211 ~ S2218)는 동작서브블록(2001 ~ 2008)의 대응 클록 이네이블러(2101 ~ 2108)에 입력된다.
다음에, 클록 이네이블러(2101 ~ 2108)에서 각각의 val데이터(S2201 ~ 220 8) 의 레벨이 검출된다. 구체적으로, 클록 이네이블러(2104, 2107, 및 2108)에서는 "1"이 검출되고 클록 이네이블러(2101, 2102, 2103, 2105, 및 2106)에서는 "0"이 검출된다.
그 결과, "s/q" 및 "t/q"는 동작서브블록(2004, 2007, 및 200 8)에서 동작데이터(S2214, S2217, 및 S2218)만을 사용하여 계산된다. 디비전(S2004, S2007, 및 S2008)의 결과는 동작블록(201)의 동작서브블록(2014, 2017, 및 S2018)에 출력된다.
한편, 디비전은 동작서브블록(2001, 2002, 2003, 2005, 및 200 6)에서 수행되지 않는다.
또한, 디비전(S2004, S2007, 및 S2008)의 출력에 동기하여, val데이터(S220 1 ~ S2208)가 동작블록(201)의 동작서브블록(2011 ~ 2018)에 출력된다.
다음에, 동작서브블록(2011 ~ 2018)의 클록 이네이블러(2101 ~ 2108)가 각각의 val데이터(S2201 ~ S2208)의 레벨을 검출한다.
검출결과에 따라, 동작서브블록(2014, 2017, 및 2018)에서만 텍스쳐크기 USIZE 및 VSIZE를 디비전(S2004, S2007, 및 S2008)의 결과로 나타낸 "s/q" 및 "t/q"와 곱하여 텍스쳐 좌표데이터(S2024, S2027, 및 S2028)를 생성하여 이것을 동작블록(202)의 동작서브블록(2024, 2027, 및 2028)에 출력한다.
한편, 동작블록(2011, 2012, 2013, 2015, 및 2016)에서는 동작이 수행되지 않는다.
텍스쳐 좌표데이터(S2024, S2027, 및 S2028)에 동기하여, val데이터(S220 1 ~ S2208)가 동작블록(202)의 동작서브블록(2021 ~ 2028)에 출력된다.
다음에, 동작서브블록(2021 ~ 2028)의 클록 이네이블러(2121 ~ 2128)가 각각의 val데이터(S2201 ~ S2208)의 레벨을 검출한다.
다음에, 검출결과에 따라, 동작서브블록(2024, 2027, 및 2028)에서만 SRAM(17) 또는 텍스쳐버퍼(20)에 저장된 텍스쳐데이터를 판독하고 (s, t)데이터에 대응하는 텍스쳐 어드레스에 저장된 (R, G, B, α)데이터를 판독한다.
판독 (R, G, B, α)데이터(S2024, S2027, 및 S2028)는 동작블록(203)의 동작서브블록(2034, 2037, 및 2038)에 출력된다.
동작서브블록(2021, 2022, 2033, 2025, 및 2026)에서는 판독 동작이 수행되지 않는다.
(R, G, B, α)데이터(S2024, S2027, 및 S2028)의 출력에 동기하여, val데이터(S2201 ~ S2208)가 동작블록(203)의 동작서브블록(2031 ~ 203 8)에 출력된다.
다음에, 동작서브블록(2031 ~ 2038)의 클록 이네니블러(2121 ~ 2128)가 각각의 val데이터(S2201 ~ S2208)의 레벨을 검출한다.
다음에, 검출결과에 따라, 동작서브블록(2034, 2037, 및 2038)에서만 동작블록(202)로부터 입력된 텍스쳐데이터(R, G, B, α)(S2024, S2027, 및 S2028)와 삼각형 DDA회로(11)로부터의 DDA데이터(S11)에 포함된 (R, G, B)데이터를 (R, G, B, α)(S2024, S2027, 및 S2028)에 포함된 α데이터(텍스쳐 α)로 표시된 혼합율에 의하여 혼합하여 혼합된 데이터(R, G, B)를 생성한다.
다음에, 동작서브블록(2034, 2037, 및 2038)에서, 생성된 혼합데이터(R, G, B) 및 대응하는 DDA데이터(S11)에 포함된 α데이터를 포함하는 (R, G, B, α)데이터(S2034, S2037, 및 S2028)를 동작블록(204)에 출력한다.
한편, 동작서브블록(2031, 2032, 2033, 2035, 및 2036)에서는 혼합이 수행되지 않는다.
다음에, 동작서브블록(2041 ~ 2048)의 클록 이네이블러(2141 ~ 2148)가 각각의 val데이터(S2201 ~ S2208)의 레벨을 검출한다.
검출결과에 따라, 동작서브블록(2044, 2047, 및 2048)에서만 z-비교를 수행한다. (R, G, B, α)데이터(S2034, S2037, 및 S2038)로 도시된 화상가 앞서 디스플레 이버퍼(21)에 도시된 화상보다 관찰점에 더욱 근접하여 위치될 때, z-버퍼(22)가 갱신되고 (R, G, B, α)데이터(S2034, S2037, 및 S2038)가 (R, G, B, α)데이터(S2044, S2047, 및 S2048)로서 동작블록(205)의 동작서브블록(205 4, 2057, 및 2058)에 출력된다.
다음에, 동작서브블록(2051 ~ 2058)의 클록 이네이블러(2151 ~ 2158)가 각각의 val데이터(S2201 ~ S2208)의 레벨을 검출한다.
검출결과에 따라, (R, G, B, α)데이터(S2044, S2047, 및 S2048)의 (R, G, B)데이터 및 디스플레이버퍼(21)에 이미 저장된 (R, G, B)데이터가 α데이터로 나타낸 혼합율에 의하여 혼합된다. 다음에, 혼합된 (R, G, B)데이터(S2054, S2057, 및 S2058)가 최종적으로 계산된다.
다음에, (R, G, B)데이터(S2054, S2057, 및 S2058)가 디스플레이버퍼(21)에 기입된다.
동작서브블록(2041, 2042, 2043, 2045, 및 2056)에서는 혼합이 수행되지 않는다.
즉, 텍스쳐 엔진회로(12) 및 메모리 I/F회로(13)는 도 6에 나타낸 블록(31) 내부의 화소 상에서 처리를 동시에 수행할 때 삼각형(30)의 외부 화소 상에서는 처리를 수행하지 않는다. 즉, 블록(31) 내부의 화소 상에서 처리하는 동안, 동작서 브블록(2001, 2002, 2003, 2005, 2006, 2011, 2012, 2013, 2015, 2016, 2021, 2022, 2023, 2025, 2026, 2041, 2042, 2043, 2045, 2046, 2051, 2052, 2053, 2055, 및 2056)은 중단되고, 따라서 이들 동작서브블록은 전력을 소모하지 않는다.
전술한 바와 같이, 상기 3차원 컴퓨터 그래픽 시스템(1)에 있어서, 텍스쳐 엔진회로(12)의 파이프라인 처리에서 동시에 처리된 8 화소 중에서 처리될 삼각형 외부의 화소 상에서는 어떤 동작도 수행할 수 없다.
따라서, 텍스쳐 엔진회로(12)의 전력소모가 상당히 줄어들 수 있다. 그 결과, 3차원 컴퓨터 그래픽 시스템(1)용으로는 간단하고 값이 싼 전원이 사용될 수 있다.
텍스쳐 엔진회로(12)는, 도 3 및 4에 나타낸 바와 같이, 클록 이네이블러 및 각 동작서브블록의 1비트 플래그 플립플롭을 설치함으로써 상기 기능을 실현할 수 있다는 점에 유의한다. 그러나, 클록 이네이블러 및 1비트 플래그 플립플롭의 회로 크기가 작기 때문에 텍스쳐 엔진회로(12)의 크기가 많이 증가되지 않는다.
제2 실시예
도 5는 제2 실시예의 3차원 컴퓨터그래펙 시스템의 시스템 구성도이다.
3차원 컴퓨터 그래픽 시스템(451)은, 각 화소에 대한 α혼합을 사전에 수행할 것인 가의 여부를 판별하고, α혼합을 수행하지 않는 것으로 판별될 때 α혼합을 수행하는 동작서브블록 중에서 대응하는 동작서브블록의 처리를 중단시키는 것을 제외하고는 상기 3차원 컴퓨터 그래픽 시스템(1)과 동일하다.
즉, 제2 실시에에 있어서, 각각의 동작서브블록은 대응 화소가 제1 실시예와 동일한 방식으로 처리될 삼각형 외부에 있을 때 처리를 중단한다. 또한, 동작서브블록 중에서 α혼합을 수행하는 동작서브블록은 대응 화소가 처리될 삼각형 외부에 있거나 또는 대응 화소의 α데이터가 "0"일 때 처리를 중단한다.
도 5에 나타낸 바와 같이, 3차원 컴퓨터 그래픽 시스템(451)은 메인 버스(6)를 거쳐 연결된 메인 메모리(2), I/O 인터페이스회로(3), 메인 프로세서(4), 및 버스렌더링회로(425)를 포함한다.
도 1의 참조부호와 동일한 번호가 부여된 도 5의 구성품은 제1 실시예에서 설명한 동일 참조부호가 부여된 구성품과 동일하다.
즉, 메인 메모리(2). I/O 인터페이스회로(3), 메인 프로세서(4), 및 메인 버스(6)는 제1 실시예에 설명한 구성품과 동일하다.
또한, 도 5에 나타낸 바와 같이, 렌더링회로(425)는 DDA 셋업회로(10), 삼각형 DDA회로(411), 텍스쳐 엔진회로(12), 메모리 I/F회로(413), CRT컨트롤러회로(14), RAMDAC회로(15). DRAM(16), 및 SRAM(17)을 포함한다.
DDA 셋업회로(10), 텍스쳐 엔진회로(12), CRT컨트롤러회로(14), RAMDAC회로(15). DRAM(16), 및 SRAM(17)은 제1 실시예에 설명한 구성품과 동일하다.
다음에, 삼각형 DDA회로(411) 및 메모리 I/F회로(413)에 대하여 설명한다.
삼각형 DDA회로(411)
삼각형 DDA회로(411)는 상기 제1 실시예에서와 동일 방식으로 DDA 셋업회로(10)으로부터 입력된 가변데이터(S10)를 사용하여 삼각형 내부 화소의 선형 보간(z, R, G, B, α, s, t, q)데이터를 계산한다.
삼각형 DDA회로(411)는 화소의 (x, y)데이터 및 (x, y) 좌표의 화소에 대한 (z, R, G, B, α, s, t, q, val)데이터를 DDA데이터(보간데이터)로 텍스쳐 엔진회로(12)에 출력한다.
제2 실시예에 있어서, 삼각형 DDA회로(411)는 병렬로 처리될 블록 내부에 위치된 화소의 DDA데이터(S11)의 8 화소 유닛을 텍스쳐 엔진회로(12)에 출력한다.
병렬로 처리될 8 화소의 데이터 (z, R, G, B, α, s, t, q, val) 중에서, val데이터(S2201 ~ S2208)이며 (z, R, G, B, α, s, t, q)데이터는 동작데이터(S2211 ~ S2218)를 칭한다.
즉, 삼각형 DDA회로(11)는 (x, y)데이터로 구성된 DDA데이터(S11)의 8 화소, val데이터(S2201 ~ S2208), 및 동작데이터(S2211 ~ S2218)를 텍스쳐 엔진회로(12)에 출력한다.
삼각형 DDA회로(411)는 전술한 바와 같이 선형 보간으로 생성된 (z, R, G, B, α, s, t, q)데이터의 α데이터가 병렬로 처리될 8 화소에 대하여 "0"인 가의 여부, 즉 α혼합을 수행하는 가의 여부를 판별한다.
다음에, 삼각형 DDA회로(11)는 "0"(α혼합을 수행하지 않음)을 나타내는 val데이터(S4111 ~ S4118)를 α데이터가 "0"으로 판별될 때 메모리 I/F회로(413)에 출력하는 한편, α데이터가 "0"으로 판별되지 않을 때 "1"(α혼합을 수행함)을 나타 내는 val데이터(S411a1 ~ S411a8)를 메모리 I/F회로(413)에 출력한다.
메모리 I/F회로(413)
도 6은 텍스쳐 엔진회로(12) 및 메모리 I/F회로(413)의 구성을 나타내는 도면이다.
도6에 나타낸 바와 같이, 메모리 I/F회로(413)는 동작블록(204) 및 동작블록(405)를 포함한다.
도 3의 구성품과 동일한 참조부호가 부여된 도 6의 구성품은 제1 실시예에 설명한 동일 참조부호가 부여된 구성품과 동일하다.
즉, 텍스쳐 엔진회로(12)는 제1 실시예에 설명한 것과 동일하고, 메모리 I/F회로(413)의 동작블록(204)은 제1 실시예에 설명한 것과 동일하다.
다음에, 메모리 I/F회로(413)의 동작블록(405)을 설명한다.
[동작블록(405)]
동작블록(405)은 동작서브블록(4051 ~ 4058)을 가지며, 동작서브블록(2041 ~ 2048)으로부터 입력된 (R, G, B, α)데이터(S2041 ~ S2048)와 디스플레이버퍼(21)에 이미 저장된 (R, G, B)데이터를 각각의 (R, G, B, α)데이터(S2041 ~ S2048)에 포함된 α데이터로 표시된 혼합율로 혼합하여 이 혼합된 (R, G, B)데이터(S4051 ~ S4058)를 디스플레이버퍼(21)에 기입한다.
이 때, 동작서브블록(4051 ~ 4058)이 도 5에 나타낸 바와 같이 val데이터(S2201 ~ S2208) 레벨을 동작블록(204)으로부터, val데이터(S411a1 ~ S411a8) 레벨을 삼각형 DDA회로(411)로부터 검출하고, 양자 모두의 레벨이 "1"인 경우에만 α혼합을 수행한다.
양자 모두의 레벨이 "1"인 경우는 화소가 처리될 삼각형 내부에 있고 화소의 α데이터가 "0"(α혼합을 수행하는것을 나타냄)임을 의미한다.
즉, 동작서브블록(4051 ~ 4058)은 val데이터(S2201 ~ S2208) 또는 val데이터(S411a1 ~ S411a8)가 "0"인 경우에 α혼합을 수행하지 않는다.
동작서브블록(S4051 ~ S4058)은 val데이터(S2201 ~ S2208)의 레벨이 "1"이고 val데이터(S411a1 ~ S411a8)의 레벨이 "0"인 경우에 동작서브블록(2041 ~ 2048)에서 입력된 (R, G, G, α)데이터(S2041 ~ S2048)를 디스플레이버퍼(21)에 기입하는 점을 유의한다.
다음에, 3차원 컴퓨터그래펙 시스템(451)의 동작에 대하여 설명한다.
3차원 컴퓨터 그래픽 시스템(451)의 전체적인 동작은 상기 제1 실시예에 설명한 3차원 컴퓨터 그래픽 시스템(1)의 전체적인 동작과 기본적으로 동일하다.
또한, 도 6에 나타낸 텍스쳐 엔진회로(12) 및 메모리 I/F회로(413)의 파이프라인 처리 동작은 동작블록(200 ~ 204)의 처리의 경우 제1 실시예에 설명한 동작과 동일하다.
다음에, 동작블록(405)의 동작을 설명한다.
(R, G, B, α)데이터(S2041 ~ S2048) 및 val데이터(S2201 ~ S2208)는 동작서브블록(2041 ~ 2048)에서 도 6에 나타낸 동작서브블록(4051 ~ 4058)에 출력된다.
도 5에 나타낸 삼각형 DDA회로(411)는 선형 보간에 의하여 생성된 (z, R, G, B, α, s, t, q)데이터의 α데이터가 "0"인 가의 여부를 판별하고, 판별결과를 나타내는 val데이터(S411a1 ~ S411a8)를 도 6에 나타낸 동작서브블록(4051 ~ 4058)에 출력한다.
동작서브블록(4051 ~ 4058)에 있어서, 클록 이네이블러(4151 ~ 4158)가 val데이터(S2201 ~ S2208) 및 (S411a1 ~ S411a8)의 레벨을 검출한다. 양자 모두의 레벨이 "1"인 경우에만 α혼합이 수행된다.
α혼합에 있어서, (R, G, B, α)데이터(S2041 ~ S2048) 및 디스플레이버퍼(21)에 이미 저장된 (R, G, B)데이터는 각각의 (R, G, B, α)데이터(S2041 ~ S2048)에 포함된 α데이터로 표시된 혼합율로 혼합되어 (R, G, B)데이터(S4051 ~ S4058)가 생성된다. 다음에, (R, G, B)데이터(S4051 ~ S4058)가 디스플레이버퍼(21)에 기입된다.
즉, 제2 실시예에 있어서, 동작서브블록(4051 ~ 4058)에서는 val데이터(S2201 ~ S2208) 또는 val데이터(S411a1 ~ S411a8) 중 어느 하나가 "0"인 경우에 α혼합이 수행되지 않는다.
전술한 바와 같이, 3차원 컴퓨터 그래픽 시스템(451)에 있어서, 삼각형 DDA회로(411)가 매 화소에 대한 α데이터가 "0"인 가의 여부를 판별한다.
또한, 메모리 I/F회로(413)에 있어서, 병렬로 처리될 8 화소 중에서 삼각형 내부의 화소가 삼각형 DDA회로(411)의 상기 판별 결과에 따라 처리되는 경우에도, α데이터가 "0"인 화소에 대한 α혼합이 수행되지 않을 수 있다.
따라서, 3차원 컴퓨터 그래픽 시스템(451)에 있어서, 제1 실시예의 3차원 컴퓨터 그래픽 시스템(1)괴 비교하여 전력소모가 더욱 줄어들 수 있다.
제3 실시예
도 7은 제3 실시예의 3차원 컴퓨터 그래픽 시스템(551)의 시스템 구성도를 나타낸 도면이다.
제3 실시예의 3차원 컴퓨터 그래픽 시스템(551)은, 예를 들면, 처리될 화소의 z-데이터를 z-버퍼에 저장된 대응 z-데이터와 비교한다. 이 때 도시된 화상가 이전에 도시된 화상보다 관찰점으로부터 더 멀리 위치된 경우, 3차원 컴퓨터 그래픽 시스템(551)이 텍스쳐 좌표데이터(u, v)의 생성, 텍스쳐데이터의 판독, 텍스쳐 α혼합, 및 α혼합을 중단시킨다.
도 7에 나타낸 바와 같이, 3차원 컴퓨터 그래픽 시스템(551)은 메인 메모리(2), I/O인터페이스회로(3), 메인 프로세서(4), 및 메인 버스(6)를 거쳐 연결된 렌더링회로(525)를 포함한다.
도 1과 동일한 참조부호가 부여된 도 7에 나타낸 구성품은 제1 실시예에 설명한 동일 참조부호가 부여된 구성품과 동일하다.
즉, 메인 메모리(2), I/O 인터페이스회로(3), 메인 프로세서(4), 및 메인 버스(6)는 제1 실시예에 설명한 구성품과 동일하다.
또한, 도 7에 나타낸 바와 같이, 렌더링회로(525)는 DDA 셋업회로(10), 삼각형 DDA회로(11), 텍스쳐 엔진회로(512), 메모리 I/F회로(513), CRT 컨트롤러회로(14), RAMDAC회로(15), DRAM(16), 및 SRAM(17)을 포함한다.
DDA 셋업회로(10), 삼각형 DDA회로(11), CRT 컨트롤러회로(14), RAMDAC회로(15), DRAM(16), 및 SRAM(17)은 제1 실시예에 설명한 회로와 동일하다.
다음에, 텍스쳐 엔진회로(512) 및 메모리 I/F회로(513)를 설명한다.
도 8은 텍스쳐 엔진회로(512) 및 메모리 I/F회로(513)의 구성을 나타낸내는 도면이다.
도 8에 나타낸 바와 같이, 텍스쳐 엔진회로(512)는 동작블록(500, 501, 502, 503, 및 504)를 포함한다.
메모리 I/F회로(513)는 동작블록(505)을 포함한다.
제3 실시예에 있어서, 동작블록(500 ~ 505)은 직렬로 연결되어 8 화소에 대한 처리 및 파이프라인 처리를 동시에 수행할 수 있다.
동작블록(500)은 Z-비교를 수행하고, 동작블록(501)은 "s/q" 및 "t/q"를 계산하고, 동작블록(502)은 텍스쳐 좌표데이터(u, v)를 계산하고, 동작블록(503)은 텍스쳐버퍼(20)로부터 (R, G, B, α)데이터를 판독하고, 동작블록(504)은 텍스쳐 α혼합을 수행하고, 동작블록(505)은 α혼합을 수행한다.
[동작블록(500)]
동작블록(500)은 동작서브블록(5001 ~ 5008)을 가지며, 도 7에 나타낸 삼각형 DDA회로로부터 DDA데이터(S11)를 입력으로 수신한다.
동작서브블록(5001 ~ 5008)은 각각의 클록 이네이블러(2141 ~ 2148)의 DDA데이터(S11)에 포함된 val데이터(S2201 ~ S2208)의 레벨을 검출하여, 이 레벨이 "1"인 경우(화소가 처리될 삼각형 내부에 있는 경우) z-비교를 수행하는 반면 이 레벨이 "1"인 경우 z-비교를 수행하지 않는다.
동작서브블록(5001 ~ 5008)은 DDA데이터(S11)에 포함된 동작데이터(S2211 ~ S2218)의 z-데이터를 z-비교에서 z-버퍼(22)에 저장된 대응 z-데이터와 비교한다.
다음에, 동작서브블록(5001 ~ 5008)은 동작데이터(S2211 ~ S2218)로 도시된 화상가 이전에 디스플레이버퍼(21)에 도시된 화상보다 관찰점에 더욱 근접하여 위치된 경우 "1"을 나타내는 val데이터(S500a1 ~ S500a8)를 동작블록(501)의 동작서브블록(5011 ~ 5018)에 출력하고, z-데이터에 저장된 대응 z-데이터를 동작데이터(S2211 ~ S2218)로 갱신한다. 이 때, 동작서브블록(5001 ~ 500 8)이 동작데이터(S2211 ~ S2218)를 동작서브블록(5011 ~ 5018)에 추가로 출력한다.
한편, 동작서브블록(5001 ~ 5008)은 동작데이터(S2211 ~ S2218)로 도시된 화상가 이전에 디스플레이버퍼 상에 도시된 화상보다 관찰점에 더욱 근접하여 위치된 경우 "0"을 나타내는 val데이터(S500a1 ~ S500a8)를 동작블록(501)의 동작서브블록(5011 ~ 5018)에 출력하고, z-버퍼(22)에 저장된 대응 z-데이터를 재기입하지 않는다.
[동작블록(501)]
동작블록(501)은 DDA데이터(S11)로 나타낸 (s, t, q)데이터를 사용하여 s데이터를 q데이터로 나누는 동작 및 t데이터를 q데이터로 나누는 동작을 수행한다.
동작블록(501)은 도 8에 나타낸 8개의 동작서브블록(5011 ~ 5018)을 포함한다.
동작서브블록(5011)은 동작데이터(S2211), 및 val데이터(S2201 및 S500a 1)를 입력으로 수신하고, 클록 이네이블러(5111 ~ 5118)에 의하여 val데이터(S2201 및 S500a1) 양자 모두가 "1"인 가, 즉 데이터가 유효한 가의 여부를 판별하며, val데이터 양자 모두가 "1"인 경우 "s/q" 및 "t/q"를 계산하여 디비전(S5011)의 결과를 동작블록(502)의 동작서브블록(5021)에 출력한다.
val데이터(S2201 또는 S500a1) 어느 하나가 "0", 즉 무효인 경우 동작서브블록(5011)은 어떤 동작도 수행하지 않고 동작블록(502)의 동작서브블록(5021)에 디비전(S5011)의 결과를 출력하거나 또는 소정의 임시값을 나타내는 디비전(S5011)의 결과를 출력하지 않는다.
동작서브블록(5012 ~ 5018)은 대응 화소에 대한 동작서브블록(5011)과 동이한 동작을 수행하여 디비전(S5012 ~ S5018)의 결과 각각을 다음 동작블록(502)의 동작서브블록(5022 ~ 5028)에 출력한다.
[동작블록(502)]
동작블록(502)은 동작서브블록(5021 ~ 5028)을 가지며, 텍스쳐크기 USIZE 및 VSIZE를 동작블록(501)으로부터 입력된 디비전(S5011 ~ S5018)의 결과로 나타낸 "s/q" 및 "t/q"와 곱하여 텍스쳐 좌표데이터(u, v)를 생성한다.
동작서브블록(5021)은 클록 이네이블러(5121)의 val데이터(S2201 및 S500a 1)의 레벨을 검출하고, 레벨 양자 모두가 "1"인 경우에만 동작을 수행하여 텍스쳐 좌표데이터(S5021)를 각각의 계산결과로 동작블록(503)의 동작서브블록(5031)에 출력한다.
동작서브블록(5022 ~ 5028)은 동작서브블록(5021)에서와 동일 방식으로 대응 데이터를 처리한다.
[동작블록(503)]
동작블록(503)은 동작서브블록(5031 ~ 5038)을 가지며, 동작블록(502)에서 생성된 텍스쳐 좌표데이터(u, v)를 포함하는 판독 요구를 메모리 I/F회로(13)를 거쳐 SRAM(17) 또는 DRAM(16)에 출력하고, SRAM(17) 또는 텍스쳐버퍼(20)에 저장된 텍스쳐데이터를 메모리 I/F회로(13)를 거쳐 판독하여 (u, v)데이터에 대응하는 텍스쳐어드레스에 저장된 (R, G, B, α)데이터를 얻는다.
동작서브블록(5031)은 클록 이네이블러(5131)의 val데이터(S2201 및 S500a 1)의 레벨을 검출하고, 레벨 양자 모두가 "1"인 경우에만 판독을 수행하여 판독(R, G, B, α)데이터를 (R, G, B, α)데이터(S5031)로서 동작블록(504)의 동작서브블록(5041)에 출력한다.
동작서브블록(5032 ~ 5038)은 동작서브블록(5031)에서와 동일 방식으로 대응 데이터를 처리한다.
[동작블록(504)]
동작블록(504)은 동작서브블록(5041 ~ 5048)을 가지며, 동작블록(503)으로부터 입력된 텍스쳐데이터(R, G, B, α)(S5031 ~ S5038)와 삼각형 DDA회로(11)로부터의 대응 DDA데이터(S11)에 포함된 (R, G, B)데이터를 (R, G, B, α)데이터(S5031 ~ S5038)에 포함된 α데이터(텍스쳐 α)로 나타낸 혼합율로 혼합하여 (R, G, B) 혼합데이터를 생성한다.
동작블록(504)은 이 생성된 (R, G, B)혼합데이터 및 대응 DDA데이터(S11)에 포함된 α데이터를 포함하는 (R, G, B, α)데이터(S5041 ~ S5048)를 출력한다.
동작서브블록(5041 ~ 5048)은 클록 이네이블러(5141 ~ 5148)에 의하여 val데 이터(S2201 ~ S2208) 및 (S500a1 ~ S500a8)를 각각 검출하여 레벨 양자 모두가 "1"인 경우에만 상기 혼합을 수행한다.
[동작블록(505)]
동작블록(505)은 동작서브블록(5051 ~ 5058)을 가지며, 입력(R, G, B, α)데이터(S5041 ~ 5048)와 디스플레이버퍼(21)에 이미 저장된 (R, G, B)데이터를 각각의 (R, G, B, α)데이터(S5041 ~ S5048)에 포함된 α데이터로 표시된 혼합율로 혼합하여 (R, G, B)혼합데이터(S5051 ~ S5058)를 디스플레이버퍼(21)에 기입한다.
동작서브블록(5051 ~ 5058)은 각각의 클록 이네이블러의 val데이터(S2201 ~ S2208) 및 (S500a1 ~ S500a8)의 레벨을 검출하여, 레벨 양자 모두가 "1"인 경우에만 상기 혼합 및 디스플레이버퍼(21)에의 기입을 수행한다.
다음에, 도 8에 나타낸 텍스쳐 엔진회로(512) 및 메모리 I/F회로(513)의 파이프라인 처리의 동작에 대하여 설명한다.
첫째, 동작서브블록(5001 ~ 5008)의 클록 이네이블러(2141 ~ 2148)가 DDA데이터(S11)에 포함된 val데이터(S2201 ~ S2208)의 레벨을 검출한다. 검출된 레벨이 "1"(화소가 처리될 삼각형에 있는 경우)인 경우 z-비교를 수행한다.
다음에, 동작데이터(S2211 ~ S2218)로 도시된 화상가 이전에 디스플레이버퍼에 도시된 화상보다 관찰점에 더욱 근접하여 위치된 경우, 각각 "1"을 나타내는 val데이터(S500a1 ~ S500a8)가 동작블록(501)의 동작서브블록(5011 ~ 501 8)에 출력되고 z-버퍼(22)에 저장된 대응 zp-데이터가 각각의 동작데이터(S2211 ~ S2218)의 z-데이터로 갱신된다. 이 때, 동작데이터(S2211 ~ S2218)가 동작서브블록(5001 ~ 5008)로부터 동작서브블록(5011 ~ 5018)로 출력된다.
한편, val데이터(S2201 ~ S2208)의 레벨이 "1"이 아닌 경우, z-비교가 수행되지 않고 "0"을 나타내는 val데이터(S500a1 ~ S500a8)가 동작블록(501)의 동작서브블록(5011 ~ 5018)에 출력된다. 이 때, z-버퍼(22)에 저장된 대응 z-데이터는 갱신되지 않는다.
다음에, 동작서브블록(5011 ~ 5018)의 클록 이네이블러(5111 ~ 5118)에서 val데이터(S2201 및 S500a1) 양자 모두가 "1", 즉 유효한 가를 판별한다. 양자 모두가 "1"로 판별된 경우, "s/q" 및 "t/q"가 계산되어 디비전(S5011 ~ S5018)의 결과로서 동작블록(502)의 동작서브블록(5021 ~ 5028)에 출력된다.
한편, 임의의 val데이터(S2201 ~ S2208) 또는 (S500a1 ~ S500a8)가 "0", 즉 무효로 판별된 경우, 동작서브블록(5011 ~ 5018)에서 동작이 수행되지 않는다.
다음에, 동작서브블록(5021 ~ 5028)의 클록 이네이블러(5121 ~ 5128)에서, val데이터(S2201 ~ S2208) 및 (S500a1 ~ S500a8)의 레벨이 검출된다.
양자 모두의 레벨이 "1"인 경우에만, 동작서브블록(5021 ~ 5028)이 각각의 텍스쳐크기 USIZE 및 VSIZE를 동작블록(501)으로부터 입력된 디비전(S5011 ~ S5018)의 결과로 나타낸 "s/q" 및 "t/q"와 곱하여 텍스쳐 좌표데이터(u, v)를 생성한다. 텍스쳐 좌표데이터(u, v)는 동작서브블록(5031 ~ 5038)에 각각 출력된다.
다음에, 동작서브블록(5031 ~ 5038)의 클록 이네이블러(5131 ~ 5138)에서, val데이터(S2201 ~ S2208) 및 (S500a1 ~ S500a8)의 레벨이 검출된다. 레벨 양자 모두가 "1"인 경우에만, 텍스쳐 좌표데이터(u, v)를 포함하는 판독 요구가 SRAM(17)에 출력되고, 텍스쳐데이터가 메모리 I/F회로(13)을 거쳐 판독되고, (u, v)데이터에 대응하는 텍스쳐어드레스에 저장된 (R, G, G, α)데이터(S17)가 얻어진다. (R, G, G, α)데이터(S17)가 동작서브블록(5041 ~ 5048)에 (R, G, G, α)데이터(S5031 ~ S5038)로 출력된다.
다음에, 동작서브블록(5041 ~ 5048)의 클록 이네이블러(5141 ~ 5148)가 val데이터(S2201 ~ S2208) 및 (S500a1 ~ S500a8)의 레벨을 검출한다. 다음에, 레벨 양자 모두가 "1"인 경우에만, (R, G, B. α)데이터(S5031 ~ S5038)와 삼각형 DDA회로(11)로부터의 대응 DDA데이터(S11)에 포함된 (R, G, B)데이터가 (R, G, B. α)데이터(S5031 ~ S5038)에 포함된 α데이터로 표시된 혼합율로 혼합되어 (R, G, B)혼합데이터가 생성된다.
다음에, 생성된 (R, G, B)혼합데이터 및 대응 DDA데이터(S11)에 포함된 α데이터를 포함하는 (R, G, B, α)데이터(S5041 ~ S5048)가 동작서브블록(5041 ~ 5048)으로부터 동작서브블록(5051 ~ 5058)에 출력된다.
다음에, 동작서브블록(5051 ~ 5058)의 클록 이네이블러(2151 ~ 2158)에서, val데이터(S2201 ~ S2208) 및 (S500a1 ~ S500a8)의 레벨이 검출된다. 레벨 양자 모두가 "1"인 경우에만, (R, G, B, α)데이터(S5041 ~ S5048)와 디스플레이버퍼(21)에 이미 저장된 (R, G, B)데이터가 각각의 (R, G, B, α)데이터(S5041 ~ S5048)에 포함된 α데이터로 표시된 혼합율로 혼합된다. 혼합된 (R, G, B)데이터(S5051 ~ S5058)가 디스플레이버퍼(21)에 기입된다.
전술한 바와 같이, 3차원 컴퓨터 그래픽 사스템(551)에 있어서, 텍스쳐엔지회로(512)의 제1 동작블록(500)은 각 화소에 대한 z-비교를 수행하고, 후속 처리에서 생성될 화상데이터가 디스플레이버퍼(21)에 기입되어야 하는 가의 여부를 판별한다.
다음에, 텍스쳐 엔진회로(512) 및 메모리 I/F회로(513)에서, 병렬로 처리될 8 화소 중에서 처리될 삼각형 내부의 화소가, 동작블록(500)의 판별결과에 따라, 디스플레이버퍼(21)에 기입되지 않을 화상데이터로 처리(중단)되지 않는다.
따라서, 3차원 컴퓨터 그래픽 시스템(551)에 있어서, 제1 실시예에서의 상기 3차원 컴퓨터 그래픽 시스템(1)과 비교하여 전력소모가 더욱 줄어들 수 있다.
본 발명은 상기 실시예에만 한정하는 것은 아니다.
예를 들면, 상기 제2 실시예에 있어서, 도 6에 나타낸 바와 같이, 8 화소 데이터가 텍스쳐 엔진회로(12) 및 메모리 I/F회로(413)의 동작블록에서 동시에 처리되는 경우를 예를 들고 있지만, 1 화소 데이터도 동작블록에서 또한 처리될 수 있다.
이 경우, 처리될 화소의 동작데이터(S2211)만이 텍스쳐 엔진회로(12)에 임력되기 때문에, val데이터(S2201)가 필요하지 않게 된다. 즉, 동작은 동작서브블록(2001, 2011, 2021, 2031, 및 2041)에서 항상 수행된다. 동작서브블록(4051)에서, val데이터(S400a1)의 레벨이 "1"인 경우에만 α혼합이 수행된다.
또한, 상기 제3 실시예에 있어서, 도 8에 나타낸 바와 같이, 8 화소 데이터가 텍스쳐 엔진회로(512) 및 메모리 I/F회로(513)의 동작블록에서 동시에 처리되는 경우를 예를 들고 있지만, 도 10에 나타낸 바와 같이, 1 화소 데이터도 동작블록에서 또한 처리될 수 있다.
이 경우, 처리될 화소의 동작데이터(S2211)만이 텍스쳐 엔진회로(512)에 임력되기 때문에, val데이터(S2201)가 필요하지 않게 된다. 즉, z-비교는 동작서브블록(5001)에서 항상 수행된다. 동작서브블록(5011, 5021, 5031, 5041, 및 5051)에 있어서, 처리는 동작서브블록(5001)에서 생성된 val데이터(S500a1)의 레벨이 "1"인 경 우에만 수행된다.
또한, 상기 실시예에 있어서, 도 3에 나타낸 바와 같이, val데이터(S2201 ~ S2208)가 동작서브블록에 사용되어 텍스쳐 엔진회로(12) 및 메모리 I/F회로(13)에서의 파이프라인 처리를 수행하는 경우를 예를 들고 있지만, 동작을 수행할 것인 가의 여부는 도 11에 나타낸 바와 같이 val데이터(S3201 ~ S3208)를 도 1에 나타낸 렌더링회로(5) 내의 DDA 셋업회로(10), 삼각형 DDA회로(11), 텍스쳐 엔진회로(12), 및 메모리 I/F회로(13)에서의 처리 중 파이프라인 처리 없이 소정의 처리 상에 사용함으로써 결정될 수 있다.
또한, 상기 실시예에 있어서, SRAM(17)을 사용하는 구성을 예를 들고 있지만 SRAM(17) 없이 구성할 수도 있다.
텍스쳐버퍼(20) 및 텍스쳐 CLUT버퍼(23)는 DRAM(16)의 외부에 제공될 수 있다.
또한, 상기 실시예에 있어서, 3차원 화상을 디스플레이하는 경우를 예로 들고 있지만 본 발명은 복수개의 화소 데이터를 동시에 처리함으로써 2차원 화상을 디스플레이하는데 적용될 수 있다.
또한, 상기 실시예에 있어서, 도 2에 나타낸 바와 같이, DDA데이터(S11)를 사용하여 val데이터를 유효한 명령데이터로서 화상 처리될 데이터(z, R, G, B, α, s, t, q)에 가산하는 예를 나타내지만, (z, R, G, B, α, s, t, q)데이터 및 val데이터가 별개의 독립적인 데이터로서 취급될 수 있다.
또한, 상기 실시예에 있어서, 다각형 렌더링데이터를 생성하는 기하학적 처리가 메인 프로세서(4)에서 수행되는 경우를 예를 들고 있지만, 렌더링회로(5)에서도 또한 수행될 수 있다.
또한, 상기 실시예에 있어서, 삼각형이 유닛 그래픽의 예로서 제공되지만 유닛 그래픽의 형상이 한정되는 것은 아니다. 예를 들면, 장방형일 수도 있다.
본 발명의 효과를 요약하면, 전술한 바와 같이, 본 발명에 따른 화상 처리장치 및 그 방법에 있어서, 전력소모가 싱당히 줄어들 수 있다.
따라서, 본 발명의 화상 처리장치 및 그 방법에 있어서, 작고 간단한 구성을 가진 전원이 사용될 수 있고 장치의 크기를 보다 작게 제조할 수 있다.
본 발명을 단지 예시하기 위하여 특정의 실시예를 들어 설명하였지만, 당해기술 분야의 숙련자는 본 발명의 기본 취지 및 범위를 일탈하지 않고 여러 가지로 변형할 수 있다는 점은 명백하다.

Claims (40)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 상기 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 상기 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리장치에 있어서,
    동시에 처리될 복수개의 화소데이터 각각에 대해 대응하는 화소가 상기 그래픽유닛 내에 위치하는 가의 여부를 판별하는 화소위치판별회로;
    동시에 상호 병렬로 처리될 복수개의 화소데이터를 처리하는 복수개의 화소 처리회로; 및
    상기 화소위치판별회로의 판별결과에 따라, 상기 복수개의 화소 처리회로 중 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리하는 처리회로 외에는 화소 처리회로의 동작을 중단시키는 제어회로
    를 포함하는 화상 처리장치.
  7. 제6항에 있어서,
    상기 화소 처리회로는 클록신호에 따라 동작하고,
    상기 제어회로는 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리하는 화소 처리회로에는 상기 클록신호를 공급하며, 처리될 그래픽유닛 내에 위치되지 않은 화소의 화소데이터를 처리하는 화소 처리회로에는 상기 클록신호의 공급을 중단하는
    화상 처리장치.
  8. 제7항에 있어서, 상기 화소 처리회로 각각은 파이프라인 처리를 수행하도록 직렬로 연결된 복수개의 처리회로를 포함하는 화상 처리장치.
  9. 제8항에 있어서, 상기 화소 처리회로 내에 직렬로 연결된 상기 복수개의 처리회로는 플래그저장부를 가지며, 상기 복수개의 처리회로의 상기 플래그저장부는 직렬로 연결되어 시프트레지스터를 구성하고 상기 시프트레지스터는 상기 파이프라인 처리를 제어하여 상기 클록신호를 공급하는데 사용되는 화상 처리장치.
  10. 제6항에 있어서,
    상기 화소위치판별회로는 판별결과를 나타내는 유효데이터를 상기 화소 처리회로에 의하여 처리된 화소데이터에 가산하고,
    상기 제어회로는 상기 화소 처리회로의 동작 중단 여부를 유효데이터에 따라 판별하는
    화상 처리장치.
  11. 동시에 처리될 복수개의 화소용으로 제공되어, 복수개의 제1 화소데이터 및 대응하는 복수개의 제2 화소데이터를 각 화소에 대한 혼합율 데이터세트로 표시된 혼합율로 혼합하여 복수개의 제3 화소데이터를 생성하는 복수개의 화상처리회로; 및
    상기 화소 처리회로가 상기 혼합을 수행할 것인가의 여부를 판별하고, 상기 혼합이 수행되지 않는 것으로 판별될 때 상기 화소 처리회로의 동작을 중단시키는 제어회로
    를 포함하는 화상 처리장치.
  12. 제11항에 있어서,
    상기 화소 처리회로는 클록신호에 따라 동작하고,
    상기 제어회로는 혼합을 수행하는 것으로 판별될 때 상기 클록신호를 상기 화소 처리회로에 공급하며, 상기 혼합을 수행하지 않는 것으로 판별될 때 상기 화소 처리회로에는 상기 클록신호의 공급을 중단하는
    화상 처리장치.
  13. 제12항에 있어서, 상기 화소 처리회로 각각은 파이프라인 처리를 수행하도록 직렬로 연결된 복수개의 처리회로를 포함하는 화상 처리장치.
  14. 제13항에 있어서, 상기 화소 처리회로 내에 직렬로 연결된 상기 복수개의 처리회로 각각은 플래그저장부를 가지며, 상기 복수개의 처리회로의 상기 플래그저장부는 직렬로 연결되어 시프트레지스터를 구성하고 상기 시프트레지스터는 상기 파이프라인 처리를 제어하여 상기 클록신호를 공급하는데 사용되는 화상 처리장치.
  15. 제11항에 있어서,
    상기 제2 화소데이터를 저장하는 저장회로를 추가로 포함하며,
    상기 제어회로는 혼합이 수행되지 않는 것으로 판별될 때 상기 저장회로에 저장된 제2 화소데이터를 상기 제1 화소데이터로 재기입하고
    혼합이 수행되는 것으로 판별될 때 저장회로에 저장된 제2 화소데이터를 상기 제3 화소데이터에 재기입하는
    화상 처리장치.
  16. 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 상기 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 상기 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리장치에 있어서,
    동시에 처리될 복수개의 화소용으로 제공되어, 복수개의 제1 화소데이터 및 대응하는 복수개의 제2 화소데이터를 각 화소에 대한 혼합율 데이터세트로 표시된 혼합율로 혼합하여 복수개의 제3 화소데이터를 생성하는 복수개의 화상처리회로; 및
    동시에 처리될 상기 복수개의 화소데이터 각각에 대해 대응하는 화소가 그래픽유닛 내에 위치하는 가의 여부를 판별하여 상기 대응하는 화소가 상기 그래픽유닛 내에 위치되지 않은 것으로 판별될 때 또는 상기 혼합이 상기 혼합율 데이터에 따라 수행되지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 제어회로
    를 포함하는 화상 처리장치.
  17. 저장회로;
    동시에 처리될 복수개의 화소용으로 제공되어 복수개의 제1 화소데이터로부터 복수개의 제2 화소데이터를 생성하는 복수개의 화소 처리회로;
    상기 복수개의 제1 화소데이터 중 복수개의 제1 깊이데이터와 상기 제1 깊이데이터에 대응하여 상기 저장회로에 저장된 복수개의 제3 화소데이터 중 복수개의 제2 깊이데이터를 비교하는 비교회로;
    상기 저장회로에 저장된 제2 깊이데이터에 대응하는 제3 화소데이터를 제2 화소데이터로 재기입하는 가의 여부를 판별하고, 재기입하지 않는 것으로 판별될 때 대응하는 화소 처리회로의 동작을 중단시키는 제어회로
    를 포함하는 화상 처리장치.
  18. 제17항에 있어서,
    상기 화소 처리회로는 클록신호에 따라 동작하고,
    상기 제어회로는 저장회로에 저장된 제3 화소데이터를 제2 화소데이터로 제기입하는 것으로 판별될 때 상기 클록신호를 상기 화소 처리회로에 공급하며, 저장회로에 저장된 제3 화소데이터를 제2 화소데이터로 재기입하지 않는 것으로 판별될 때 상기 클록신호를 상기 화소 처리회로에의 공급을 중단하는
    화상 처리장치.
  19. 제18항에 있어서, 상기 화소 처리회로 각각은 파이프라인 처리를 수행하도록 직렬로 연결된 복수개의 처리회로를 포함하는 화상 처리장치.
  20. 제19항에 있어서, 상기 화소 처리회로 내에 직렬로 연결된 상기 복수개의 처리회로 각각은 플래그저장부를 가지며, 상기 복수개의 처리회로의 상기 플래그저장부는 직렬로 연결되어 시프트레지스터를 구성하고, 상기 시프트레지스터는 상기 파이프라인 처리를 제어하여 상기 클록신호를 공급하는데 사용되는 화상 처리장치.
  21. 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조 건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 상기 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리장치에 있어서,
    저장회로;
    동시에 처리될 복수개의 화소용으로 제공되어 복수개의 제1 화소데이터로부터 복수개의 제2 화소데이터를 생성하는 복수개의 화소 처리회로;
    상기 복수개의 제1 화소데이터 중 복수개의 상기 제1 깊이데이터와 상기 복수개의 제1 깊이데이터에 대응하여 상기 저장회로에 저장된 복수개의 제3 화소데이터 중 복수개의 제2 깊이데이터를 비교하는 비교회로; 및
    동시에 처리될 상기 복수개의 화소에 대응하는 화소가 상기 그래픽유닛 내에 위치하는 가의 여부를 판별하고, 상기 저장회로에 저장된 제2 깊이데이터에 대응하는 제3 화소데이터를 비교한 결과에 따라 상기 제2 화소데이터로 재기입하는 가의 여부를 판별하여, 상기 대응하는 화소가 상기 그래픽유닛 내에 위치되지 않은 것으로 판별되거나 또는 재기입하지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 제어회로
    를 포함하는 화상 처리장치.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 상기 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리방법에 있어서,
    동시에 처리될 상기 복수개의 화소에 각각에 대응하는 화소가 상기 그래픽유닛 내에 위치하는 가의 여부를 판별하는 단계;
    동시에 상호 병렬로 처리될 복수개의 화소데이터를 복수개의 화소 처리회로 내에서 처리하는 단계; 및
    상기 판별단계의 결과에 따라, 상기 복수개의 화소 처리회로 중 처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리하는 처리회로 외에는 화소 처리회로의 동작을 중단시키는 단계
    를 포함하는 화상 처리방법.
  28. 제27항에 있어서,
    처리될 그래픽유닛 내에 위치된 화소의 화소데이터를 처리하는 클록신호를 화소 처리회로에 공급하는 단계, 및
    처리될 그래픽유닛 내에 위치되지 않은 화소의 화소데이터를 처리하는 화소 처리회로에는 상기 클록신호의 공급을 중단시키는 단계
    를 추가로 포함하는 화상 처리방법.
  29. 제28항에 있어서, 상기 화소 처리회로 각각은 직렬로 연결된 복수개의 처리회로에 의하여 파이프라인 처리를 수행하는 화상 처리방법.
  30. 제29항에 있어서, 상기 화소 처리회로 내에 직렬로 연결된 상기 복수개의 처리회로 각각은 플래그저장부를 가지며, 상기 복수개의 처리회로의 상기 플래그저장부는 직렬로 연결되어 시프트레지스터를 구성하고, 상기 시프트레지스터는 상기 파이프라인 처리를 제어하여 상기 클록신호를 공급하는데 사용되는 화상 처리방법.
  31. 동시에 처리될 복수개의 화소용으로 제공된 복수개의 화소 처리회로를 사용하여 복수개의 제1 화소데이터 및 복수개의 제2 화소데이터를 각 화소에 대한 혼합율 데이터세트로 표시된 혼합율로 혼합하여 복수개의 제3 화소데이터를 생성하는 단계,
    상기 혼합율 데이터에 따라 상기 화소 처리회로가 상기 혼합을 수행할 것인 가의 여부를 판별하는 단계, 및
    상기 혼합을 수행하지 않는 것으로 판별될 때 대응하는 화소 처리회로의 동 작을 중단시키는 단계
    를 포함하는 화상 처리방법.
  32. 제31항에 있어서,
    동작하는 단계,
    혼합을 수행하는 것으로 판별될 때 대응하는 화소 처리회로에 클록신호를 공급하는 단계, 및
    상기 혼합을 수행하지 않는 것으로 판별될 때 대응하는 화소 처리회로에 상기 클록신호의 공급을 중단시키는 단계
    를 추가로 포함하는 화상 처리방법.
  33. 제32항에 있어서, 상기 화소 처리회로 각각은 직렬로 연결된 복수개의 처리회로에 의하여 파이프라인 처리를 수행하는 화상 처리방법.
  34. 제33항에 있어서, 상기 화소 처리회로 내에 직렬로 연결된 상기 복수개의 처리회로 각각은 플래그저장부를 가지며, 상기 복수개의 처리회로의 상기 플래그저장부는 직렬로 연결되어 시프트레지스터를 구성하고, 상기 시프트레지스터는 상기 파이프라인 처리를 제어하여 상기 클록신호를 공급하는데 사용되는 화상 처리방법.
  35. 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나 타내고, 동일한 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 상기 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리방법에 있어서,
    동시에 처리될 복수개의 화소용으로 제공된 복수개의 화소 처리회로를 사용하여 복수개의 제1 화소데이터 및 복수개의 제2 화소데이터를 각 화소에 대한 혼합율 데이터세트로 표시된 혼합율로 혼합하여 복수개의 제3 화소데이터를 생성하는 단계;
    동시에 처리될 상기 복수개의 화소에 대해 대응하는 화소가 그래픽유닛 내에 위치되어 있는 가의 여부를 판별하는 단계; 및
    상기 대응하는 화소가 상기 그래픽유닛 내에 위치되지 않은 것으로 판별될 때 또는 상기 혼합이 상기 혼합율 데이터에 따라 수행되지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 단계
    를 포함하는 화상 처리방법.
  36. 동시에 처리될 복수개의 화소용으로 제공된 복수개의 화소 처리회로를 사용하여 복수개의 제1 화소데이터로부터 복수개의 제2 화소데이터를 생성하는 단계;
    상기 복수개의 제1 화소데이터 중 복수개의 상기 제1 깊이데이터와 상기 복수개의 제1 깊이데이터에 대응하여 저장회로에 저장된 복수개의 제3 화소데이터 중 복수개의 제2 깊이데이터를 비교하는 단계; 및
    상기 저장회로에 저장된 제2 깊이데이터에 대응하는 제3 화소데이터를 제2 화소데이터에 재기입하는 가의 여부를 판별하여, 재기입하지 않는 것으로 판별될 때 대응하는 화소 처리회로의 동작을 중단시키는 단계
    를 포함하는 화상 처리방법.
  37. 제36항에 있어서,
    저장회로에 저장된 제3 화소데이터를 제2 화소데이터로 재기입하는 것으로 판별될 때 클록신호를 상기 화소 처리회로에 공급하는 단계, 및
    저장회로에 저장된 제3 화소데이터를 제2 화소데이터로 재기입하지 않는 것것으로 판별될 때 화소 처리회로에 상기 클록신호의 공급을 중단시키는 단계
    를 추가로 포함하는 화상 처리방법.
  38. 제37항에 있어서, 상기 화소 처리회로 각각은 직렬로 연결된 복수개의 처리회로에 의하여 파이프라인 처리를 수행하는 화상 처리방법.
  39. 제37항에 있어서, 상기 화소 처리회로 내에 직렬로 연결된 상기 복수개의 처리회로 각각은 플래그저장부를 가지며, 상기 복수개의 처리회로의 상기 플래그저장부는 직렬로 연결되어 시프트레지스터를 구성하고, 상기 시프트레지스터는 상기 파이프라인 처리를 제어하여 상기 클록신호를 공급하는데 사용되는 화상 처리방법.
  40. 표시될 화상을 소정 형상의 그래픽유닛을 합성하여 디스플레이수단 상에 나타내고, 동일한 그래픽유닛 내에 위치된 복수개 화소의 화소데이터를 동일 처리조건에 따라 처리하고, 동시에 처리될 복수개 화소의 화소데이터 중에서 처리될 상기 그래픽유닛 내에 위치된 화소의 화소데이터를 처리한 결과를 유효데이터로 사용하는 화상 처리방법에 있어서,
    동시에 처리될 복수개의 화소용으로 제공된 복수개의 화소 처리회로를 사용하여 복수개의 제1 화소데이터로부터 복수개의 제2 화소데이터를 생성하는 단계;
    상기 복수개의 제1 화소데이터 중 복수개의 상기 제1 깊이데이터와 상기 복수개의 제1 깊이데이터에 대응하여 저장회로에 저장된 복수개의 제3 화소데이터 중 복수개의 제2 깊이데이터를 비교하는 단계; 및
    동시에 처리될 상기 복수개의 화소 각각에 대해 대응하는 화소가 상기 그래픽유닛 내에 위치하는 가의 여부를 판별하고, 상기 저장회로에 저장된 상기 제2 깊이데이터에 대응하는 상기 제3 화소데이터를 비교한 결과에 따라 재기입하는 가의 여부를 판별하여 상기 대응하는 화소가 상기 그래픽유닛 내에 위치하지 않은 것으로 판별될 때 또는 재기입하지 않는 것으로 판별될 때 화소 처리회로의 동작을 중단시키는 단계
    를 포함하는 화상 처리방법.
KR1019990011650A 1998-04-03 1999-04-02 화상 처리장치 및 그 방법 KR100613747B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP9184498 1998-04-03
JP98-91844 1998-04-03
JP99-51795 1999-02-26
JP05179599A JP4505866B2 (ja) 1998-04-03 1999-02-26 画像処理装置および映像信号処理方法

Publications (2)

Publication Number Publication Date
KR19990082898A KR19990082898A (ko) 1999-11-25
KR100613747B1 true KR100613747B1 (ko) 2006-08-22

Family

ID=26392364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990011650A KR100613747B1 (ko) 1998-04-03 1999-04-02 화상 처리장치 및 그 방법

Country Status (5)

Country Link
US (1) US7053902B1 (ko)
EP (4) EP1895501A3 (ko)
JP (1) JP4505866B2 (ko)
KR (1) KR100613747B1 (ko)
CA (1) CA2268210C (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4581261B2 (ja) * 2001-02-14 2010-11-17 ソニー株式会社 演算装置、演算処理方法及び画像処理装置
US7383421B2 (en) 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
JP3497499B2 (ja) 2002-03-14 2004-02-16 三菱電機株式会社 三次元グラフィック描画装置
TWI343020B (en) * 2006-05-12 2011-06-01 Nvidia Corp Antialiasing using multiple display heads of a graphics processor
SG137754A1 (en) * 2006-05-12 2007-12-28 Nvidia Corp Antialiasing using multiple display heads of a graphics processor
JP4697055B2 (ja) * 2006-05-31 2011-06-08 富士ゼロックス株式会社 演算装置、画像処理装置及びデータ処理装置
US9563433B1 (en) 2006-09-01 2017-02-07 Allsearch Semi Llc System and method for class-based execution of an instruction broadcasted to an array of processing elements
CN103295555B (zh) * 2012-03-01 2015-08-05 晨星软件研发(深圳)有限公司 影像处理系统及影像处理方法
US10446071B2 (en) 2016-03-31 2019-10-15 Samsung Electronics Co., Ltd. Device and method of using slice update map

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930000997B1 (ko) * 1988-06-13 1993-02-12 삼성전자 주식회사 화상 배열 처리장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179638A (en) * 1990-04-26 1993-01-12 Honeywell Inc. Method and apparatus for generating a texture mapped perspective view
US5517603A (en) * 1991-12-20 1996-05-14 Apple Computer, Inc. Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
JPH06164342A (ja) * 1992-11-26 1994-06-10 Matsushita Electric Ind Co Ltd クロック信号生成回路
JP3305406B2 (ja) * 1993-04-26 2002-07-22 松下電器産業株式会社 プログラム制御のプロセッサ
JP2636695B2 (ja) * 1993-08-03 1997-07-30 日本電気株式会社 パイプライン処理回路
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
GB2288677B (en) * 1993-09-28 1998-05-13 Namco Ltd Pipeline processing device, clipping processing device, three-dimensional simulator device and pipeline processing method
JPH08106337A (ja) * 1994-10-03 1996-04-23 Hitachi Ltd 半導体集積回路装置
JPH08235130A (ja) * 1995-02-24 1996-09-13 Sony Corp 並列プロセッサ
US5742796A (en) * 1995-03-24 1998-04-21 3Dlabs Inc. Ltd. Graphics system with color space double buffering
US5727192A (en) 1995-03-24 1998-03-10 3Dlabs Inc. Ltd. Serial rendering system with auto-synchronization on frame blanking
US5977987A (en) * 1995-07-26 1999-11-02 Raycer, Incorporated Method and apparatus for span and subspan sorting rendering system
JPH09130570A (ja) 1995-10-27 1997-05-16 Ricoh Co Ltd 画像形成装置
WO1998006065A1 (fr) * 1996-08-05 1998-02-12 Hitachi, Ltd. Processeur d'images tridimensionnelles

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930000997B1 (ko) * 1988-06-13 1993-02-12 삼성전자 주식회사 화상 배열 처리장치

Also Published As

Publication number Publication date
EP0947978A3 (en) 1999-12-29
EP1895500A3 (en) 2010-05-19
EP1895501A3 (en) 2010-04-28
CA2268210C (en) 2009-09-22
EP1895502A2 (en) 2008-03-05
CA2268210A1 (en) 1999-10-03
US7053902B1 (en) 2006-05-30
EP1895501A2 (en) 2008-03-05
EP1895500A2 (en) 2008-03-05
JPH11345218A (ja) 1999-12-14
EP1895502A3 (en) 2010-04-28
KR19990082898A (ko) 1999-11-25
JP4505866B2 (ja) 2010-07-21
EP0947978A2 (en) 1999-10-06

Similar Documents

Publication Publication Date Title
US6181352B1 (en) Graphics pipeline selectively providing multiple pixels or multiple textures
US6052127A (en) Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation
WO1998029836A9 (en) Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation
US5973701A (en) Dynamic switching of texture mip-maps based on pixel depth value
CA2298081C (en) Image processing apparatus and method of same
KR100613747B1 (ko) 화상 처리장치 및 그 방법
JPH096973A (ja) データ同期装置
US6348917B1 (en) Dynamic switching of texture mip-maps based on depth
US6329999B1 (en) Encoder, method thereof and graphic processing apparatus
US6460063B1 (en) Division circuit and graphic display processing apparatus
JP4386124B2 (ja) 映像信号処理装置および映像信号処理方法
US7466319B1 (en) System and method for fast gradient pixel clears in graphics rendering
US6693634B1 (en) Reduction rate processing circuit and method with logarithmic operation and image processor employing same
US6624820B2 (en) Graphic processing method for determining representative texture data for a plurality of pixels and apparatus for same
US7113655B2 (en) Image processing apparatus
JP4069486B2 (ja) 記憶回路制御装置およびグラフィック演算装置
US8576219B2 (en) Linear interpolation of triangles using digital differential analysis
JPH11306366A (ja) グラフィック演算装置およびその方法
JP4333793B2 (ja) 映像信号処理装置および映像信号処理方法
JP4380757B2 (ja) 映像信号処理装置および映像信号処理方法
KR19980041754A (ko) 컴퓨터 그래픽에서 텍스쳐 좌표를 결정하는 방법 및 장치
US6377279B1 (en) Image generation apparatus and image generation method
JPH02166573A (ja) 隠れ面処理装置
JPH11249642A (ja) 演算処理装置およびグラフィック演算装置
JPH11288266A (ja) 画像メモリ制御装置およびグラフィック演算装置

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130802

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140801

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160729

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 12

EXPY Expiration of term