KR100393842B1 - 도형묘화장치 - Google Patents

도형묘화장치 Download PDF

Info

Publication number
KR100393842B1
KR100393842B1 KR1020020036900A KR20020036900A KR100393842B1 KR 100393842 B1 KR100393842 B1 KR 100393842B1 KR 1020020036900 A KR1020020036900 A KR 1020020036900A KR 20020036900 A KR20020036900 A KR 20020036900A KR 100393842 B1 KR100393842 B1 KR 100393842B1
Authority
KR
South Korea
Prior art keywords
data
unit
pixel
area
group
Prior art date
Application number
KR1020020036900A
Other languages
English (en)
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
Priority claimed from JP6157183A external-priority patent/JPH0822555A/ja
Priority claimed from JP6210923A external-priority patent/JPH0877367A/ja
Priority claimed from JP6224740A external-priority patent/JPH0887591A/ja
Application filed by 히다찌 엔지니어링 가부시끼가이샤, 가부시끼가이샤 히다치 세이사꾸쇼 filed Critical 히다찌 엔지니어링 가부시끼가이샤
Application granted granted Critical
Publication of KR100393842B1 publication Critical patent/KR100393842B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

고속의 도형처리를 위한 도형묘화장치에 관한 것으로서, 2차원도형에 관한 도형데이타를 화소군의 도형데이타와 제어데이타를 저장하는 데이타 저장부; 도형데이타와 제어데이타를 추출하는 데이타 추출부; 화상정보에 따라서 새로운 도형데이타를 생성 또는 금지하는 도형데이타 생성부; 도형데이타 생성부를 묘화하는 묘화부; 화소의 묘화가 종료된 것을 나타내는 데이타를 설정하는 제어데이타 설정부; 도형리스트를 저장하는 도형리스트 저장부; 도형의 깊이에 관한 깊이정보에 따라서 소트하는 소트부; 다각형의 묘화영역이 묘화영역에 포함되는지의 여부를 판정하는 영역판정부; 묘화영역에 포함된다고 판정된 도형을 도형리스트에서 삭제하는 삭제부; 소트부에 의해 소트된 도형에 속하는 다각형에 외접하는 외접사각형과 다각형에 포함되는 내접사각형을 묘화영역에 대응시켜서 각각 설정하는 사각형설정부를 포함하는 구성으로 하였다.
이와 같은 구성에 의해, 메모리장치와 화상처리장치 사이의 데이타전송량을 최소화해서 고속인 처리를 실행할 수 있다는 등의 효과가 얻어진다.

Description

도형묘화장치{GRAPHICS DRAWING DEVICE}
본 발명은 고속의 도형처리, 묘화처리, 표시처리를 실행하는 화상처리장치 및 그것을 사용한 시스템에 관한 것이다.
구체적으로 기술하면, 본 발명은 팩시밀리, 프린터, 그래픽스장치, 퍼스널휴대단말, 네비게이션시스템, 어뮤즈먼트기기 등의 정보단말기기 및 이들을 사용해서 화상데이타를 입력, 가공, 편집, 축적, 통신, 출력, 표시하는 화상처리시스템에 관한 것이다.
특히, 메모리장치와 화상처리장치 사이의 데이타 전송량을 최소화해서 고속의 처리를 실행하는 화상처리장치 및 그것을 사용한 시스템에 관한 것이다.
특히, 메모리장치와 화상처리장치 사이의 데이타전송량을 최소화하기 위해 도형의 중첩에 의한 묘화억제처리(음면처리)를 경감하고, 그 중에서도 복잡한 화상처리, 3차원 그래픽스 표시처리를 고속도로 실행하는 도형묘화방법 및 그것을 사용한 화상처리 장치, 시스템에 관한 것이다.
특히, 고속으로 메모리를 액세스하는 화상처리 시스템의 물량의 증가를 억제하고 저가격으로 구축하는 기술에 관한 것이다.
화상데이타를 유지하는 메모리와 화상데이타를 처리하는 화상데이타 프로세서, 화상처리장치와의 사이에는 다음에 설명하는 바와 같은 종래기술이 있지만, 액세스, 묘화 등의 처리속도의 점에서 문제가 있어 다량의 데이타를 처리하는 장치 또는 시스템으로서 고속인 처리, 실시간처리를 충분히 할 수 없다고 하는 문제가있었다.
메모리장치와 화상처리장치 사이의 화상데이타를 화소의 집합인 블럭단위로 묘화처리하는 것이 IEEE, Computer Graphics and Application 1987년 3월호 제24페이지∼제32페이지의 Andy Goris 등의 「A Configurable Pixel Cache for Fast Image Generantion」에 기재되어 있다(제1 종래기술).
제1 종래기술에 의하면, 화소데이타를 블럭단위로 온디맨드에 의해 픽셀캐쉬에 페치하고 화상을 실행 처리하므로 블럭단위내에서의 프리페치의 효과밖에 얻을 수 없다.
블럭과 블럭의 경계를 가로질러 묘화처리하는 경우에도 화소데이타의 발생은 일반적인 래스터라이즈 방식이므로 다음의 블럭의 프리페치를 개시한다.
따라서, 픽셀캐쉬의 용량이 작으면 다음의 블럭의 프리페치에 의해서 이전 블럭을 한번 픽셀캐쉬에서 방출해서 래스터라이즈에 의해서 재차 액세스해야만 하므로, 메모리 액세스가 빈번하게 실행된다고 하는 문제가 발생한다.
특히, 3각형의 페인팅처리 등에 있어서는 화소데이타를 2차원적으로 발생하여 처리해야만 하는데도 메모리액세스는 1차원적으로 실행되기 때문에, 근방의 화소데이타를 묘화처리하는 경우에도 상술한 바와 같이 프리페치한 데이타를 활용할 수 없어 불필요한 메모리액세스를 필요로 한다. 즉, 여분의 메모리밴드폭을 필요로 하는 문제가 있다.
또, 그래픽스의 아키텍쳐로서 메인 메모리내에 묘화처리용의 메모리영역을 배치하는 것에서는 메모리밴드폭의 확보를 충분히 실행하지 않으면 안되어, 메모리의 효율적인 활용을 도모할 수 없다고 하는 문제가 있다.
3차원 그래픽스 표시장치에 있어서는 일반적으로 표시할 물체를 3차원의 작은 도형(삼각형이나 사각형)으로 분할해서 모델링하고 이 작은 도형을 보는 방향에 맞춰서 기하연산을 실행하고 이 연산값에 따라 각 도형을 CRT 등의 표시장치의 2차원 좌표에 투영해서 표시를 실행하는 방식이 채용되고 있다. 이 때, 각 도형의 깊이방향에 대해서 중첩을 체크하고 숨어있는 도형을 프레임버퍼에 묘화하지 않는 것이 필요하게 되고 있다.
종래, 도형의 중첩을 판정하는 방식으로서 Z버퍼 알고리듬(심도버퍼 알고리듬이라고도 한다)이 일반적으로 사용되고 있다. 이 방식은 예를 들면 문헌 맥그로힐북 주식회사 발행 오스가 세츠오 역 「대화형 컴퓨터 그래픽스(2) 제2판」의 pp.438∼441(제2 종래기술)에 소개되어 있다. 이 방식에 의하면, 각 화소마다 깊이정보를 갖고 각 화소를 묘화할 때마다 이미 묘화되어 있는 화소의 깊이정보와 이후 묘화하고자 하는 화소의 깊이정보를 비교하고, 이후 묘화하고자 하는 화소가 화면에 대해서 가까운 쪽에 있을 때에는 그 화소를 묘화하고, 이후 묘화하고자 하는 화소가 이미 묘화되어 있는 화소보다도 안쪽에 있을 때에는 묘화하지 않도록 되어 있다.
또 다른 방식으로서 기하계산에 있어서 중첩을 체크하는 방식이 있고 이 방식은 예를 들면 상기 문헌의 제442페이지∼제443페이지에 소개되어 있다. 이 방식은 묘화할 다각형마다 외접하는 사각형을 정의하고, 이들 사각형끼리의 중첩을 판정하고 각 사각형이 서로 중첩되지 않을 때에는 깊이판정을 생략하는 것이다.
한편, Z버퍼를 필요로 하지 않는 방식으로서 문헌 니폰컴퓨터협회 발행 이마미야 아츠미 역 「컴퓨터 그래픽스」 제569페이지∼제572페이지(제3 종래기술)에 소재되어 있는 것이 있다. 이 방식은 깊이소트 알고리듬이라 불리우고 가장 안쪽에 있는 도형부터 묘화하고 가까운 쪽의 도형을 순차 오버랩해 가는 것이다.
또, 2차원화상을 저장하는 메모리에 대해서 선택적으로 라이트하는 수단을 마련한 것으로서 미국특허 USP4, 303, 986호(제4 종래기술)이 알려져 있다.
제2 종래기술에서는 도형의 중첩을 판정할 때 Z버퍼 알고리듬을 사용하고 있지만, 이 방식에서는 각 화소마다 깊이정보를 필요로 하기 때문에 Z버퍼(프레임버퍼)로서 용량이 큰 것이 필요하게 된다. 예를 들면, 1024×768화소의 화면에서 색정보에 24비트, Z버퍼에 16비트를 갖는 표준적인 시스템을 가정하면 전체적으로 약 4메가 바이트의 메모리를 필요로 하고, Z버퍼 알고리듬 분만이라도 약 1. 4메가바이트의 메모리를 필요로 하고, Z버퍼 분만이라도 약 1. 6메가바이트의 메모리가 필요하게 된다. 또, 종래의 Z버퍼 알고리듬에서는 동일화소를 도형의 중첩의 분만큼 다수회 액세스하고 묘화할 때마다 Z버퍼의 내용을 리드하고 리드한 Z값의 비교를 실행해야만 하고, 또 그 중에서 유효로 되는 것은 1회뿐이다. 이 때문에 불필요한 메모리 액세스가 부득이하게 되어 묘화성능을 향상하는 것이 곤란하다.
한편, 제3 종래기술인 Z버퍼를 사용하지 않는 방식에서는 메모리용량을 저감할 수 있는 점에서는 유효하지만, 안쪽에 있는 도형부터 순차 도형을 오버랩해 가기 때문에 도형의 수에 따라서는 가장 가까운 쪽의 도형을 묘화할 수 없게 되는 일이 있어 실시간성이 요구되는 시스템에는 적응할 수 없다.
종래의 화상처리 시스템에 있어서는 예를 들면, 일본국 특허출원 평성5-258040호(제4 종래기술), 일본국 특허공개공보 평성5-120114호(제5 종래기술) 등에 개시되는 바와 같이 고속전송이 가능한 동기DRAM을 사용해서 데이타 프로세싱 시스템을 구축한 예가 있다.
그러나, 이와 같은 화상처리 시스템에서는 다수의 화상처리를 멀티태스크로 실행할 때 시간이 걸려 실용적이지는 않았다. 또, 동기 DRAM을 사용해서 타임슬롯방식에 의해 버스제어를 실행하면, 미스히트제어가 다발해서 스루풋이 향상되지 않는다고 하는 문제가 있었다. 또, GAIN No. 96 1993. 1, pp. 6∼11(제6 종래기술)에 기재한 바와 같이 내장용 RICS를 사용해서 기기의 소형화, 저가격화를 실행하는 예가 있었다. 그러나, 고속화상처리를 실현하기 위한 메모리의 액세스방법이나 버스의 사용방법에 대해서는 구체적으로 개시되어 있지 않았다.
또, 일본국 특허공개공보 평성4-107056호(제7 종래기술)에는 복호화기에서 프린터로 화상을 전송하는 버스를 MPU버스와 독립시키는 것에 의해 고속화하는 방법이 기술되어 있다.
또, 화상처리 시스템의 응용예인 팩시밀리에서는 종래 오키덴키 연구개발 1992. 10 제156호 65∼70(제8 종래기술)에 개시되는 바와 같이, 화상 입출력부에서는 화상처리전용 프로세서와 고속메모리에 의해 왜곡보정하여 고화질화를 실현하고 있었다. 그러나, 1칩 마이컴을 사용한 제어부의 집약에 수반되어 이 화상처리부가 차지하는 비율이 크게 되어 비용이 상승한다.
또, 근래의 비지니스용 팩시밀리에 있어서의 화상처리 시스템의 동향으로서는 고화질화, 고속처리, 대용량 메모리화가 추진되어 화상처리용, 부호화용 전용LSI에 각각의 SRAM을 갖는 구성이 많아지고 있다. 이것에 따라 장치비용이 상승한다고 하는 문제점이 있었다.
또, 종래 팩시밀리나 프린터, 그래픽스장치에서 사용되고 있는 화상처리 시스템에서는 일본국 특허공개공보 소화61-261969호(제9 종래기술)에 개시되어 있는 바와 같이, 고속으로 주변화소를 참조하는 국소적인 처리용으로서 SRAM(스테이틱메모리), 부호데이타나 폰트데이타 저장용의 저속이긴 하지만 대용량의 메모리로서 DRAM(다이나믹메모리)이 사용되고 있고, 장치를 소형화하고 LSI로서 집약하는데 있어서 이 2종류의 메모리를 통합할 수 없는 것이 장치구성, 비용, 제품시리즈의 전개상 큰 문제로 되고 있었다.
또, 화상처리를 고속으로 할 수 없었던 종래기술에서의 이유는 화상입출력처리나 통신처리기능에 극단적인 실시간성과 4∼20MB/s정도의 고속의 버스스루풋이 요구되고 있으므로, 전용프로세서 및 주기억과는 독립된 국소적인 처리용의 전용메모리에 의해 처리할 수 밖에 없었던 것에 기인한다.
한편, 반도체의 미세화기술과 프로세서 아키텍쳐의 진전에 의해 RISC 등의 고속프로세서나 RAMBUS나 동기DRAM 등 동작속도가 100㎒이상인 디바이스도 등장하고 있다. 예를 들면, 고속이고 대용량의 메모리로서 동기DRAM이 주목받기 시작하고 있다. 동기DRAM은 종래의 DRAM에 비해 클럭과 동기해서 데이타 어드레스, 제어신호를 입출력할 수 있으므로 종래의 SRAM에 필적하는 고속전송을 실현할 수있고, 또한 종래의 DRAM 이상의 대용량을 저가격으로 실현가능하게 되는 메모리이다.
그러나, 화상통신처리 특유의 성질 즉, 처리어드레스가 연속하는 등 어드레스갱신에 규칙성이 있고, 처리량이나 처리내용이 단순하여 사전예측이 용이하고, 처리결과의 파급범위가 근방에 한정되는 등의 구성상 유리한 점과, 실시간성이 강하고 일정시간내에 처리가 종료하지 않으면 시스템다운으로 이어진다고 하는 불리한 점을 인식해서 처리의 최적화를 고려한 것은 없었다. 즉, 이와 같은 것을 고려해서 장치 또는 시스템을 구축할 필요가 있다.
본 발명의 목적은 다량의 데이타를 고속으로 처리, 실시간으로 처리를 실행하는 장치 및 그것을 사용한 시스템을 제공하는 것이다.
본 발명의 다른 목적은 메모리장치와 화상처리장치 사이의 데이타전송량을 최소화해서 고속의 처리를 실행하는 화상처리장치 및 그것을 사용한 시스템을 제공하는 것이다.
본 발명의 다른 목적은 메모리장치와 화상처리장치 사이의 데이타전송량을 최소화하기 위해 도형의 중첩에 의한 묘화억제처리(음면처리)를 경감하고 그 중에서도 복잡한 화상처리, 3차원 그래픽스 표시처리를 고속도로 실행하는 도형묘화방법 및 그것을 사용한 화상처리장치, 시스템을 제공하는 것이다.
본 발명의 다른 목적은 고속으로 메모리를 액세스하는 화상처리 시스템의 물량의 증가를 억제하여 저가격으로 구축하는 장치 및 시스템을 제공하는 것이다.
본 발명의 다른 목적은 묘화용 도형데이타를 저장하는 데이타저장영역의 용량을 저감할 수 있는 도형묘화방법과 그 장치 및 3차원 그래픽스 표시방법과 그 장치를 제공하는 것이다.
본 발명의 다른 목적은 묘화처리의 고속화를 도모할 수 있는 도형묘화방법과 그 장치 및 3차원 그래픽스 표시방법과 그 장치를 제공하는 것이다.
본 발명의 다른 목적은 종래 독립으로 처리되고 있던 화상입출력처리, 부호복호처리, 통신처리를 통합하는 것에 있으며 또 고속 국소처리용 메모리와 대용량메모리를 통합하여 저가격으로 고속인 화상처리 시스템을 제공하는 것이다.
도 1은 본 발명에 의한 블럭내를 우선적으로 묘화하는 방식의 개념도,
도 2는 전체 블럭도,
도 3은 각 행의 상태 제어방식을 도시한 도면,
도 4는 각 행의 상태를 나타내는 레지스터의 내용을 도시한 도면,
도 5는 묘화방향을 결정하는 조건의 설명도,
도 6은 3각형 분할의 구체예를 도시한 도면,
도 7은 3각형 분할 알고리듬을 도시한 도면,
도 8은 묘화방향 결정 알고리듬을 도시한 도면,
도 9는 상태 레지스터의 초기설정방식을 도시한 도면,
도 10은 상태 레지스터 설정방식을 도시한 도면,
도 11은 우측 블럭 각 행의 페치방식을 도시한 도면,
도 12는 우측 블럭 페치 어드레스 제어방식을 도시한 도면,
도 13은 묘화개시시에 있어서의 페치방식을 도시한 도면,
도 14는 묘화개시시에 있어서의 페치 어드레스 제어방식을 도시한 도면,
도 15는 전체 시스템 구성도,
도 16은 종래의 묘화방식을 도시한 도면,
도 17은 종래의 타이밍도,
도 18은 본 발명에 의한 묘화방식을 도시한 도면,
도 19는 본 발명에 의한 타이밍도,
도 20은 화소속성의 계산방식을 도시한 도면,
도 21은 제어 레지스터의 내용을 도시한 도면,
도 22는 화소발생수순을 상세하게 설명한 도면,
도 23은 처리상태를 결정하는 논리를 설명하는 도면,
도 24는 Z비트를 사용한 음면(hidden-surface)처리를 설명하기 위한 설명도,
도 25는 3차원 그래픽스 표시장치의 전체 구성도,
도 26은 프레임버퍼의 구성도,
도 27은 Z비트를 사용한 프레임버퍼를 리드했을 때의 비트배치의 예를 도시한 도면,
도 28은 그래픽스 프로세서의 커맨드의 설명도,
도 29는 그래픽스 프로세서의 구체적인 구성도,
도 30은 화소처리부의 구체적인 구성도,
도 31은 3차원 그래픽스 표시장치의 다른 실시예를 도시한 전체 구성도,
도 32는 3차원 그래픽스 표시장치의 또 다른 실시예를 도시한 전체 구성도,
도 33은 도형그룹에 외접사각형과 내포사각형을 정의할 때의 설명도,
도 34는 외접사각형과 내포사각형을 사용했을 때의 처리를 설명하기 위한 흐름도,
도 35는 숨겨지는 도형을 삭제할 때의 테이블의 구성예를 설명하기 위한 도면,
도 36은 Z비교를 생략할 때의 도형그룹에 대한 외접사각형의 정의예를 도시한 도면,
도 37은 Z비교 생략방식을 사용했을 때에 도형이 중첩되지 않는 경우의 묘화예를 도시한 도면,
도 38은 Z비교 생략방식을 사용했을 때에 도형이 중첩되었을 때의 묘화예를 도시한 도면,
도 39는 Z비교 불필요 검출회로의 구체적인 구성도,
도 40은 Z비교 불필요 검출회로의 동작을 도시한 타임도,
도 41은 영역판정회로의 논리를 설명하기 위한 도면,
도 42는 본 발명에 관한 3가지 방식의 처리방법을 설명하기 위한 도면,
도 43은 본 발명의 실시예의 블럭도,
도 44는 즉시송신, 즉시수신, 메모리송신, 복사시의 메모리버스 할당예를 도시한 도면,
도 45는 메모리의 맵핑예를 도시한 도면,
도 46은 화상처리 프로세서와 메모리의 접속관계를 도시한 도면,
도 47은 행어드레스 설정의 상태를 개념적으로 도시한 도면,
도 48은 버스 제어부의 구성을 도시한 블럭도.
본 발명에 의하면, 메모리로부터 액세스된 화소데이타를 블럭단위로 유지하는 블럭버퍼의 각각의 행마다의 화소데이타의 처리상태에 따라서 화상처리에 관한 커맨드를 실행해서 화소데이타의 처리를 실행하는 것을 특징으로 한다.
또, 처리할 화소데이타의 처리상태정보에 따라서 다음에 처리할 화소데이타를 특정하는 것을 특징으로 한다.
또, 묘화에 관한 처리를 나타내는 커맨드를 유지하는 커맨드버퍼; 메모리에 유지되어 있는 화소데이타를 블럭단위로 액세스하여 유지하는 블럭버퍼; 상기 커맨드에 따라서 상기 블럭버퍼의 화소데이타의 처리를 실행하고 상기 블럭버퍼의 각각의 행마다의 경계의 화소데이타의 처리상태를 검출하는 화소데이타 처리부 및; 상기 각 행의 경계의 화소데이타의 처리상태를 나타내는 처리상태정보를 유지하는 상태 레지스터를 갖고, 상기 커맨드와 상기 처리상태정보에 따라서 블럭내의 화소데이타의 처리를 실행하는 것을 특징으로 한다.
본 발명에 의하면, 블럭버퍼의 화소데이타의 처리상태에 따라서 화상처리에 관한 커맨드를 실행해서 화소데이타의 처리를 실행하므로, 래스터전개의 순서에 관계없이 블럭단위의 화소데이타 전부를 처리할 수 있어 메모리와 화상처리 프로세서의 액세스회수를 저감하여 고속의 화상처리, 묘화처리를 가능하게 하는 것을 특징으로 한다.
본 발명에 의하면, 처리할 화소데이타의 처리상태정보에 따라서 다음에 처리할 화소데이타를 특정하므로, 래스터전개의 순서에 관계없이 블럭단위의 화소데이타 전부를 처리할 수 있고 메모리와 화상처리 프로세서의 액세스회수를 저감하여 고속의 화상처리, 묘화처리를 가능하게 하는 것을 특징으로 한다.
본 발명에 의하면, 처리할 화소데이타의 처리상태정보를 블럭내의 행단위마다 유지하므로, 상태 레지스터의 용량을 작게 할 수 있고, 다음에 처리할 화소데이타를 특정하는 것을 특징으로 한다.
본 발명에 의하면, 처리할 화소데이타의 처리상태정보를 다른 블럭과의 경계의 화소데이타마다 유지하므로, 상태 레지스터의 용량을 작게 할 수 있고, 다음에 처리할 화소데이타를 특정하는 것을 특징으로 한다.
본 발명에 의하면, 도면의 중첩을 판정하기 위한 정보를 적게 하기 위해 묘화용 도형데이타를 저장하는 데이타 저장영역에 화소가 묘화되어 있는지의 여부를 나타내는 제어데이타 라이트영역을 설정하고, 이 영역에 제어데이타 또는 플래그를 저장하고, 이 영역의 정보가 묘화되어 있지 않은 것을 나타낼 때에만 묘화를 실행하고, 그 이외일 때에는 묘화를 실행하지 않도록 하는 것을 특징으로 한다.
본 발명에 의하면, 3차원 화상에 대응한 화소군의 데이타에 따라서 여러개의 화소를 순차 묘화할 때, 상기 각 화소의 묘화용 도형데이타를 저장하는 데이타 저장영역에 화소가 묘화되어 있는지의 여부를 나타내는 제어데이타 라이트영역을 설정하고, 상기 각 화소에 대한 묘화가 명령되었을 때에 상기 제어데이타 라이트영역의 제어데이타에 따라서 새로 묘화할 화소를 지정하고, 지정 화소를 순차 묘화하고, 묘화된 화소의 제어데이타 라이트영역에 묘화된 제어데이타를 라이트하는 것을 특징으로 한다.
또, 3차원 화상에 대응한 화소군의 데이타에 따라서 여러개의 화소를 순차 묘화할 때, 상기 각 화소의 묘화용 도형데이타를 저장하는 데이타저장영역에 화소가 묘화되어 있는지의 여부를 나타내는 제어데이타 라이트영역을 설정하고, 상기 각 화소에 대한 묘화가 명령되었을 때에 상기 데이타저장영역에서 추출한 각 화소의 묘화용 도형데이타에 화소가 묘화되어 있지 않은 것을 나타내는 제어데이타가 부가되어 있을 때에만 이 화소에 대한 묘화를 실행하고 또한 이 화소의 묘화용 도형데이타에 묘화된 제어데이타를 부가해서 상기 데이타저장영역에 저장하고, 상기 데이타저장영역에서 추출한 각 화소의 묘화용 도형데이타에 화소가 묘화되어 있는 것을 나타내는 제어데이타가 부가되어 있을 때에는 이 화소에 대한 재묘화를 금지하는 것을 특징으로 한다.
본 발명에 의하면, 여러개의 다각형의 화상에 대응한 화소군의 데이타에 따라서 각 다각형의 화소를 순차 묘화하는 것에도 적응하는 것을 특징으로 한다.
또, 본 발명에 의하면, 깊이가 서로 다른 여러개의 다각형의 도형에 대응한화소군의 화상정보를 포함하는 도형리스트의 도형군을 각 도형의 깊이에 관한 깊이정보에 따라서 소트하고, 각 도형의 화소를 소트순에 따라서 순차 묘화하는 것에도 적응하는 것을 특징으로 한다.
또, 본 발명에 의하면, 깊이가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트에 따라 묘화를 실행할 때에는 표시할 도형리스트(디스플레이 리스트)의 도형을 화면을 보는 사람에 대해서 가까운 쪽에 있는 순으로 미리 소트하고, 이 소트순에 따라서 각 도형을 묘화하는 방식을 채용하고 있다. 구체적으로는 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트의 도형군을 각 도형의 깊이에 관한 깊이정보에 따라서 소트하고, 각 도형을 소트순으로 선택하고, 선택한 도형에 속하는 다각형의 묘화영역이 소트순위가 높은 도형에 속하는 다각형의 묘화영역에 포함되는지의 여부를 화상정보에 따라서 판정하고, 이 판정에 의해 포함된다고 판정된 도형을 도형리스트에서 삭제하고, 상기 판정에 의해 포함되지 않는다고 판정된 도형의 각 화소에 대한 묘화가 명령되었을 때에 이 도형의 각 화소에 대한 묘화를 화상정보에 따라서 실행하는 것을 특징으로 한다.
그리고, 이 도형묘화방법을 실행하는 경우, 도형리스트의 영역판정처리에 의해 포함되지 않는다고 판정한 도형의 각 화소에 대한 묘화가 명령되었을 때에는 각 화소의 묘화용 도형데이타를 저장하는 데이타저장영역에서 각 화소의 묘화용 도형데이타를 추출하고, 추출한 묘화용 도형데이타에 화소가 묘화되어 있지 않은 것을 나타내는 플래그가 부가되어 있을 때에만 이 화소에 대한 묘화를 실행하고, 또한이 화소의 묘화용 도형데이타에 묘화된 플래그를 부가해서 상기 데이타저장영역에 저장하고, 상기 데이타저장영역에서 추출한 각 화소의 묘화용 도형데이타에 화소가 묘화되어 있는 것을 나타내는 플래그가 부가되어 있을 때에는 이 화소에 대한 재묘화를 금지하는 것을 특징으로 한다.
본 발명에 의하면, 도형리스트에 속하는 다각형의 묘화영역을 구체적으로 판정할 때에는 도형리스트에 속하는 다각형에 외접하는 외접사각형과 다각형에 포함되는 내접사각형을 묘화영역에 대응시켜서 각각 설정하고, 선택한 도형에 관한 외접사각형이 소트순위가 높은 도형에 관한 내접사각형으로 숨겨지는지의 여부를 판정하는 것을 특징으로 한다.
또, 여러개의 다각형을 1화상단위로 하는 그룹을 깊이에 따라서 여러개 형성하고, 각 그룹마다 다각형도형에 대응한 화소군의 화상정보를 포함하는 도형리스트를 생성하고, 도형리스트에 속하는 도형의 중첩을 판정할 때에는 각 그룹의 도형에 외접하는 외접사각형과 각 그룹의 도형에 포함되는 내접사각형을 묘화영역에 대응시켜서 각각 설정하고, 선택한 그룹의 도형에 관한 외접사각형이 소트순위가 높은 그룹의 도형에 관한 내접사각형으로 숨겨지는지의 여부를 판정하는 방식을 채용하는 것을 특징으로 한다.
또, 본 발명에 의하면, 묘화처리에 있어서의 Z비교를 생략하는 것에 의해 묘화처리의 고속화를 도모하기 위해서 깊이가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트에 따라서 이 도형리스트에 속하는 여러개의 도형의 묘화영역을 각각 설정하고, 각 도형에 대한 묘화가 명령되었을때에 각 도형에 관한 묘화영역이 묘화순위가 높은 도형에 관한 묘화영역에 속하는지의 여부를 판정하고, 이 판정에 의해 속하지 않는다고 판정된 도형에 대한 묘화를 화상정보에 따라서 실행하는 것을 특징으로 한다.
본 발명에 의하면, 깊이가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트에 따라서 이 도형리스트에 속하는 여러개의 도형의 묘화영역을 각각 설정하고, 각 도형에 대한 묘화가 명령되었을 때에 각 도형에 관한 묘화영역이 묘화순위가 높은 도형에 관한 묘화영역에 속하는지의 여부를 판정하고, 이 판정에 의해 속하지 않는다고 판정된 도형에 대한 묘화를 화상정보에 따라서 실행하고, 상기 판정에 의해 속한다고 판정된 도형의 각 화소에 대한 묘화가 명령되었을 때에는 각 화소의 묘화용 도형데이타를 저장하는 데이타저장영역에서 각 화소의 묘화용 도형데이타를 추출하고, 추출한 묘화용 도형데이타에 화소가 묘화되어 있지 않은 것을 나타내는 플래그가 부가되어 있을 때에만 이 화소에 대한 묘화를 실행하고, 또한 이 화소의 묘화용 도형데이타에 묘화된 플래그를 부가해서 상기 데이타저장영역에 저장하고, 상기 데이타저장영역에서 추출한 각 화소의 묘화용 도형데이타에 화소가 묘화되어 있는 것을 나타내는 플래그가 부가되어 있을 때에는 이 화소에 대한 재묘화를 금지하는 것을 특징으로 한다.
본 발명에 의하면, 여러개의 다각형을 1화상단위로 하는 그룹을 깊이에 따라서 여러개 형성하고, 각 그룹의 다각형도형에 대응한 화소군의 화상정보를 포함하는 도형리스트를 생성하고, 도형리스트의 각 그룹의 도형에 외접하는 외접사각형을 묘화영역에 대응시켜서 각각 설정하고, 각 그룹의 도형에 대한 묘화가 명령되었을때에 각 그룹의 도형에 관한 외접사각형이 묘화순위가 높은 그룹의 도형에 관한 외접사각형에 속하는지의 여부를 판정하고, 이 판정에 의해 속하지 않는다고 판정된 그룹의 도형에 대한 묘화를 화상정보에 따라서 실행하고, 상기 판정에 의해 속한다고 판정된 그룹의 도형에 대한 묘화가 명령되었을 때에는 이 그룹에 속하는 도형의 각 화소의 묘화용 도형데이타를 저장하는 데이타저장영역에서 각 화소의 묘화용 도형데이타를 추출하고, 추출한 묘화용 도형데이타에 화소가 묘화되어 있지 않은 것을 나타내는 플래그가 부가되어 있을 때에만 이 화소에 대한 묘화를 실행하고, 또한 이 화소의 묘화용 도형데이타에 묘화된 플래그를 부가해서 상기 데이타저장영역에 저장하고, 상기 데이타저장영역에서 추출한 각 화소의 묘화용 도형데이타에 화소가 묘화되어 있는 것을 나타내는 플래그가 부가되어 있을 때에는 이 화소에 대한 재묘화를 금지하는 것을 특징으로 한다.
본 발명에 의하면, Z비교를 생략한 도형묘화방법을 실행하는 경우, 도형리스트에 속하는 도형의 중첩을 판정하기 위해 여러개의 다각형에 외접하는 외접사각형을 묘화영역에 대응시켜서 각각 설정하고, 각 다각형에 대한 묘화가 명령되어 있을 때에 각 다각형에 관한 외접사각형이 묘화순위가 높은 다각형에 관한 외접사각형에 속하는지의 여부를 판정하는 방법을 채용하는 것을 특징으로 한다.
본 발명에 의하면, 상기한 것 중 어느 하나의 도형묘화방법에 의해 얻어진 묘화용 도형데이타에 따라서 표시화면상에 3차원화상을 표시하는 3차원 그래픽스 표시방법을 특징으로 한다.
또, 본 발명에 의하면, 도형의 중첩의 판정에 필요한 정보를 적게 한 장치로서 2차원 도형에 관한 도형데이타를 화소군에 대응시켜서 저장함과 동시에 각 화소가 묘화되어 있는지의 여부를 나타내는 제어데이타를 저장하는 데이타 저장수단; 여러개의 다각형의 도형에 대응한 화소군의 화상정보에 따라 데이타 저장수단에서 지정 도형데이타와 제어데이타를 추출하는 데이타 추출수단; 데이타 추출수단의 추출에 의한 제어데이타가 묘화되어 있지 않은 것을 나타낼 때에는 화상정보에 따라서 새로운 도형데이타를 생성하고, 데이타 추출수단의 추출에 의한 제어데이타가 묘화되어 있는 것을 나타낼 때에는 새로운 도형데이타의 생성을 생략하는 도형데이타 생성수단; 도형데이타 생성수단의 생성에 의한 도형데이타를 상기 데이타 저장수단의 지정 화소에 묘화하는 묘화수단 및; 상기 데이타 저장수단의 제어데이타 중 묘화수단에 의해 묘화된 화소의 제어데이타에 묘화된 데이타를 설정하는 제어데이타 설정수단을 구비하고 있는 도형묘화장치를 구성하는 것에 특징이 있다.
또, 본 발명에 의하면, 도형리스트의 화상정보에 따라 도형을 묘화하고, 도형의 중첩의 판정에 필요한 정보를 적게 한 장치를 구성할 때에는 상기 장치의 요소에 부가해서 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트를 저장하는 도형리스트 저장수단; 도형리스트 저장수단에 저장된 도형리스트의 도형군을 각 도형의 깊이에 관한 깊이정보에 따라서 소트하는 소트수단 및; 소트수단에 의해 소트된 도형에 관한 화상정보를 데이타 추출수단으로 전송하는 수단을 구비하는 것을 특징으로 한다.
또, 본 발명에 의하면, 도형리스트중에서 도형의 중첩이 없는 것만을 추출하도록 한 장치로서, 2차원 도형에 관한 도형데이타를 화소군에 대응시켜서 저장함과동시에 각 화소가 묘화되어 있는지의 여부를 나타내는 제어데이타를 저장하는 데이타 저장수단; 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트를 저장하는 도형리스트 저장수단; 도형리스트 저장수단에 저장된 도형리스트의 도형군을 각 도형의 깊이에 관한 깊이정보에 따라서 소트하는 소트수단; 소트수단에 의해 소트된 도형에 속하는 다각형의 묘화영역이 소트순위가 높은 도형에 속하는 다각형의 묘화영역에 포함되는지의 여부를 화상정보에 따라 판정하는 영역판정수단; 영역판정수단에 의해 포함된다고 판정된 도형을 도형리스트에서 삭제하는 삭제수단; 상기 영역판정수단에 의해 포함되지 않는다고 판정된 도형에 관한 도형데이타를 화소마다 화상정보에 따라서 생성하는 도형데이타 생성수단 및; 도형데이타 생성수단의 생성에 의한 도형데이타를 상기 데이타 저장수단의 지정 화소에 묘화하는 묘화수단을 구비하고 있는 도형묘화장치를 구성하는 것에 특징이 있다.
본 발명에 의하면, 도형의 중첩이 없는 도형만을 도형리스트에서 추출하는 장치를 구성할 때에는 상기 도형묘화장치의 요소에 부가해서, 소트수단에 의해 소트된 도형에 속하는 다각형에 외접하는 외접사각형과 다각형에 포함되는 내접사각형을 묘화영역에 대응시켜서 각각 설정하는 사각형 설정수단 및; 사각형 설정수단에 의해 설정된 사각형에 따라서 영역을 판정하는 영역판정수단을 마련한 장치를 구성하는 것에 특징이 있다.
또, 도형리스트 저장수단으로서 여러개의 다각형을 1화상단위로 하는 그룹을 깊이에 따라서 여러개 갖고, 각 그룹마다 각 다각형도형에 대응한 화소군의 화상정보를 포함하는 도형리스트를 저장하는 것으로 구성한 경우, 소트수단에 의해 소트된 도형에 속하는 그룹의 도형에 외접하는 외접사각형과 그룹의 도형에 포함되는 내접사각형을 묘화영역에 대응시켜서 각각 설정하는 사각형 설정수단 및; 사각형 설정수단에 의해 설정된 사각형에 따른 영역판정수단을 마련한 것을 구성하는 것에 특징이 있다.
본 발명에 의하면, 묘화처리에 있어서의 Z비교처리를 생략한 장치로서, 2차원도형에 관한 도형데이타를 화소군에 대응시켜서 저장함과 동시에 각 화소가 묘화되어 있는지의 여부를 나타내는 제어데이타를 저장하는 데이타 저장수단; 여러개의 다각형을 1화상단위로 하는 그룹을 깊이에 따라서 여러개 갖고, 각 그룹마다 각 다각형도형에 대응한 화소군의 화상정보를 포함하는 도형리스트를 저장하는 도형리스트 저장수단; 도형리스트 저장수단에 저장된 도형리스트의 도형군을 각 도형의 깊이에 관한 깊이정보에 따라서 소트하는 소트수단; 소트수단에 의해 소트된 그룹의 도형에 속하는 그룹의 도형에 외접하는 외접사각형과 그룹의 도형에 포함되는 내접사각형을 묘화영역에 대응시켜서 각각 설정하는 사각형 설정수단; 사각형 설정수단에 의해 설정된 사각형 중 소트된 도형의 그룹에 관한 외접사각형이 소트순위가 높은 도형의 그룹에 속하는 내접사각형으로 숨겨지는지의 여부를 판정하는 영역판정수단; 영역판정수단에 의해 숨겨지지 않는다고 판정된 도형의 다각형만에 관한 도형데이타를 화소마다 화상정보에 따라서 생성하는 도형데이타 생성수단 및; 도형데이타 생성수단의 생성에 의한 도형데이타를 상기 데이타 저장수단의 지정 화소에 묘화하는 묘화수단을 구비하고 있는 도형묘화장치를 구성한 것에 특징이 있다.
본 발명에 의하면, 마찬가지로 해서 2차원 도형에 관한 도형데이타를 화소군에 대응시켜서 저장함과 동시에 각 화소가 묘화되어 있는지의 여부를 나타내는 제어데이타를 저장하는 데이타 저장수단, 깊이가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트에 따라서 이 도형리스트에 속하는 다각형에 외접하는 외접사각형을 묘화영역에 대응시켜서 설정하는 사각형 설정수단; 사각형 설정수단에 의해 설정된 각 외접사각형이 묘화순위가 높은 외접사각형에 속하는지의 여부를 판정하는 영역판정수단, 영역판정수단에 의해 속하지 않는다고 판정된 다각형에 관한 도형데이타를 화소마다 화상정보에 따라서 생성하는 제1 도형데이타 생성수단; 상기 영역판정수단에 의해 속한다고 판정되었을 때에 화상정보에 따라 데이타 저장수단에서 지정 도형데이타와 제어데이타를 추출하는 데이타 추출수단; 데이타 추출수단의 추출에 의한 제어데이타가 묘화되어 있지 않은 것을 나타낼 때에는 도형리스트의 화상정보에 따라서 새로운 도형데이타를 생성하고, 데이타 추출수단의 추출에 의한 제어데이타가 묘화되어 있는 것을 나타낼 때에는 새로운 도형데이타의 생성을 생략하는 제2 도형데이타 생성수단; 각 도형데이타 생성수단의 생성에 의한 도형데이타를 상기 데이타 저장수단의 지정 화소에 묘화하는 묘화수단 및; 상기 데이타 저장수단의 제어데이타 중 묘화수단에 의해 묘화된 화소의 제어데이타에 묘화된 데이타를 설정하는 제어데이타 설정수단을 구비하고 있는 도형묘화장치를 구성한 것에 특징이 있다.
본 발명에 의하면, 상기 각 도형묘화장치를 구성할 때에는 각 수단을 1칩화된 LSI로서 동일 기판상에 형성하는 것을 특징으로 한다.
또, 본 발명에 의하면, 상기한 것 중 어느 하나의 장치의 묘화수단에 의해묘화된 각 화소의 도형데이타에 따라서 표시화면상에 3차원화상을 표시하는 표시수단을 갖는 3차원 그래픽스 표시장치를 구성하는 것을 특징으로 한다.
본 발명에 의하면, 각 도형의 화소를 순차 묘화할 때, 제어데이타 라이트영역에 묘화되어 있지 않은 것을 나타내는 정보로서 제어데이타 또는 플래그가 저장되어 있을 때에만 화상정보에 따른 묘화를 실행하고, 제어데이타 라이트영역에 묘화된 정보인 제어데이타 또는 플래그가 저장되어 있을 때에는 재묘화를 금지하도록 하고 있으므로, 도형의 중첩을 판정하는데에 있어서도 제어데이타 라이트영역의 정보를 판정하는 것만으로 좋고, 도형의 중첩의 판정에 필요한 정보를 적게 할 수 있어 도형데이타를 저장하는 데이타 저장영역의 용량을 소용량화하는 것을 특징으로 한다.
본 발명에 의하면, 도형리스트에 따라 각 도형을 묘화할 때에는 도형리스트에 속하는 다각형의 묘화영역이 소트순위가 높은 도형에 속하는 다각형의 묘화영역에 포함될 때에는 이 도형을 도형리스트에서 삭제하고, 포함되지 않는다고 판정된 도형의 각 화소에 대한 묘화만을 실행하도록 하고 있으므로, 도형의 중첩이 없는 도형만을 추출할 수 있어 묘화처리의 고속화를 도모하는 것을 특징으로 한다.
또, 본 발명에 의하면, 각 도형을 묘화할 때에 각 도형에 대한 묘화영역이 묘화순위가 높은 도형에 관한 도형에 속하는지의 여부를 판정하고, 속하지 않는다고 판정된 도형에 대한 묘화를 화상정보에 따라서 실행하도록 하고 있으므로, 묘화처리에 있어서의 Z비교를 생략할 수 있어 묘화처리의 고속화를 도모하는 것을 특징으로 한다.
본 발명에 의하면, 고속의 화상처리 시스템을 실현하기 위해 시스템내에서의 병렬처리와 고속인 메모리액세스에 의해서 CPU 이외의 프로세서가 메모리를 액세스할 때에도 CPU의 처리성능이 저하하지 않는 것을 특징으로 한다.
즉, 여러개의 프로세서가 동시에 메모리로 액세스할 수 있도록 프로세서의 버스사용 비트범위를 제어하는 것을 특징으로 한다.
또, 메모리를 모듈마다 독립적으로 제어하기 때문에 적어도 1개의 제어선을 개별로 제어할 수 있는 것을 특징으로 한다.
또, 메모리모듈 사이에서 다른 행어드레스를 액세스할 수 있도록 행어드레스 활성화 커맨드를 선택적으로 메모리에 세트할 수 있도록 제어하는 것을 특징으로 한다.
또, 본 발명에 의하면, 화상입출력처리에 있어서의 고화질화 화상처리연산은 다진정보를 사용한 공간필터링이고, 부호복호 처리연산은 변화점검출, 비트패턴에 따른 테이블검색이고, 통신처리에 있어서의 모뎀연산은 곱합연산을 사용한 디지탈필터링이고, 이들의 처리를 고속RISC와 화상처리 코어로 구성한 1칩 프로세서와 고속메로리를 전용버스로 접속하고, 처리 및 메모리를 통합화한 것을 특징으로 한다.
또, 본 발명에 의하면, 각 처리용의 메모리를 동일 메모리 어드레스상에 맵핑한 것을 특징으로 한다.
또, 본 발명에 의하면, 각 처리를 멀티태스크로 실행하기 때문에, 각각의 처리가 실시간동작을 보증하기 위한 최소버스 스루풋을 하회하지 않도록 미리 결정해 둔 처리부하에 따라서 다이나믹하게 버스의 점유시간을 할당하는 레지스터를 마련하였다. 상기 레지스터는 소프트웨어로 용이하게 변경이 가능하여 처리시퀀스나 동작모드에 따라 설정값을 변경할 수 있도록 한 것을 특징으로 한다.
또, 본 발명에 의하면, 버스효율을 향상시키기 위해 행어드레스의 변경타이밍을 예측하고 선행해서 어드레스 제어 커맨드를 발행하는 수단을 마련한 것을 특징으로 한다.
또, 태스크 스위칭시에 내부연산 레지스터에 유효데이타가 재설정되도록 리드 어드레스를 복원해서 처리재개를 실행하는 수단을 마련한 것을 특징으로 한다.
본 발명에 의하면, 프로세서의 버스사용 비트범위를 제어하는 것에 의해 비트범위의 경합이 일어나지 않으면 동시에 액세스할 수 있는 것을 특징으로 한다.
메모리의 버스를 비트범위에서 조정할 수 있으므로, 모드에 따라서 CPU와 화상처리용 프로세서가 메모리액세스를 병렬동작시킬 수 있어 미스히트의 오버헤드없이 처리를 속행하여 고속으로 처리하는 것을 특징으로 한다.
이하, 본 발명의 실시예를 도면에 따라 상세하게 설명한다.
도 1은 본 발명에 의한 묘화처리의 개요를 도시한 도면이다.
묘화영역(2100)은 2차원적으로 배치된 연속 어드레스로 이루어지는 블럭(2110), (2120), (2130), (2140) 등으로 구성되어 있다.
본 실시예에서는 1개의 블럭은 횡4종4의 계16의 화소데이타가 저장되는 크기를 가정하고 있다.
각 화소데이타의 어드레스는 (1410), (1420)으로 나타낸 바와 같이, 1행째의 4화소데이타의 다음에 2행째의 4화소데이타가 계속되고, 4행째의 4화소데이타 뒤에우측옆의 블럭의 1행째가 계속된다.
묘화영역내의 블럭중의 1개인 블럭(2110)은 그 카피가 블럭버퍼(1400)중의 기억영역(1410)에 페치되고 여기서 묘화된다.
그 동안에 다음에 묘화될 우측옆의 블럭(2120)이 블럭버퍼(1400)중의 기억영역(1420)에 페치된다.
도면 중, 원으로 둘러싸인 어드레스는 화소데이타를 나타내고, 점선의 원은 비묘화 화소데이타, 실선의 원은 묘화 화소데이타, 빗금친 원은 묘화된 화소데이타를 나타내고 있다.
도 1에 도시한 삼각형을 묘화하는 경우, 처음에 x00, x01의 화소데이타를 발생하고, 여기에서 그 행에 관한 묘화는 종료하므로, 다음에 2행째의 화소데이타x05, x06, x07을 발생한다.
통상의 래스터전개에서는 다음에 x14의 화소데이타를 발생하지만, 이 화소데이타는 (2120)의 블럭의 화소데이타이므로, 아직 기억영역(1420)에 페치되어 있다고 하는 보장은 없다.
그래서, 본 발명에서는 x14의 화소데이타 발생을 일시적으로 중단하고, 그 이외에는 현재 발생가능한 화소데이타x09의 처리로 이행한다. 도면은 이것에 계속해서 x0a까지 묘화한 상태를 도시하고 있지만, 이 행의 묘화도 x18을 발생하는 점에서 중단되고 x0e의 처리로 이동한다.
이와 같이 해서 블럭(2110)의 블럭의 카피가 기억영역(1410)에 생성되므로 발생할 화소데이타는 모두 발생된다.
블럭(2110)의 카피기억영역(1410)에 발생가능한 화소데이타가 없어지면, 다음에 우측옆의 블럭(2120)의 묘화에 착수한다. 이 시점에서 블럭(2120)의 카피는 기억영역(1420)에 페치되어 있고, 조금 전에 중단된 x14의 묘화가 실행된다.
그것과 동시에 처리가 종료한 블럭(2110)의 카피기억영역(1410)이 블럭(2110)에 라이트백하기 시작한다.
블럭(2120)의 카피기억영역(1420)에 관해서는 x14의 화소데이타 발생 후, 2행째의 처리가 종료하므로 다음에 발생가능한 화소데이타 즉 중단되어 있던 x18의 처리를 재개한다.
이와 같이 해서 기억영역(1420)에 관해서도 발생가능한 화소데이타x18∼x1f가 발생된다.
그 동안에, 상기와 마찬가지로 블럭(2130)의 카피가 블럭버퍼(1400) 중의 적절한 위치에 저장된다.
블럭버퍼(1400)중의 기억장소가 2개소인 경우, 이 적절한 장소라고 하는 것은 이미 라이트백이 종료한 기억영역(1410)으로 된다. 결국, 블럭(2110)은 1회 리드되고, 1회 라이트되었을 뿐이며, 메모리 트래픽량이 최소레벨로 억제된 것으로 된다.
도 2는 본 발명에 의한 묘화장치의 전체블럭도의 1예를 도시한 도면이다.
묘화영역(2100)은 기억장치(2000)내에 존재하고, 블럭버퍼(1400)은 화소데이타 발생부(1000)내에 존재한다. 화소데이타 발생부(1000)은 묘화의 지시를 하는 커맨드가 저장되는 커맨드버퍼(1100), 블럭버퍼(1400)에 대해 화소데이타를 발생하는 화소데이타 처리부(1200) 및 각 블럭 각 행의 상태를 유지하는 묘화상태 레지스터(1300)도 내장한다.
다음에, 도 3 및 도 4를 사용해서 각 행의 묘화상태의 제어방법에 대해서 설명한다.
도 3은 도 1에 도시한 것과 동일한 상태의 것을 보다 상세하게 도시한 도면이다.
여기에서는 삼각형의 묘화에 대해서 설명한다.
커맨드버퍼(1100)에는 삼각형을 묘화할 것을 나타내는 삼각형 묘화커맨드(1110)이 저장되고 현재에 이것을 실행하고 있다.
화소데이타 처리부(1200)은 이 커맨드를 각 행의 묘화지시로 분해하고, 블럭버퍼내의 기억영역(1410)에 대해 작용을 미친다.
도면에 도시한 상태에서는 블럭버퍼내의 기억영역(1410)의 1행째(1411)에 대응하는 상태 레지스터(1311)은 이 행의 처리가 종료하고 있는 것을 나타내고 있다.
마찬가지로, 기억영역(1410)의 2행째(1412)의 상태(1312)는 이 행의 처리가 블럭경계에 접어들고 있으므로 중단상태에 있는 것을 나타내고 있다. 기억영역(1410)의 3행째(1413)의 상태(1313)은 이 행의 처리가 실행중인 것, 기억영역(1410)의 4행째(1414)의 상태(1314)는 이 행의 처리가 개시되어 있지 않고 또한 개시될 것인지 어떤지의 판정도 되어 있지 않은 것을 나타내고 있다. 기억영역(1410)의 4행째(1414)의 상태(1314)는 삼각형 묘화커맨드(1110)의 해석결과가 이 행을 처리할 것을 나타내었을 때에 실행대기상태로 천이한다.
묘화상태 레지스터(1300)에는 이들 각 행의 상태를 나타내는 레지스터(1310) 이외에 블럭에서 공통 또는 삼각형에서 공통의 상태를 유지하는 레지스터(1320)도 있다.
도 4는 이들 레지스터의 내용을 설명하기 위한 상태의 1예이다. 레지스터(1310)의 항목으로서는 현재의 묘화위치(X, Y), 현재의 깊이정보(Z), 현재의 색(R, G, B) 및 현재의 묘화상황(Flag)가 기록된다. 묘화상황으로서는 종료, 중단, 실행중, 실행대기, 미정의 5종류를 고려할 수 있다. 레지스터(1320)의 내용으로서는 삼각형내의 각 행의 시점정보를 구하기 위한 값(Xs, Ys, Zs, Rs, Gs, Bs, delta-Y)이나 삼각형내의 각 요소의 화소데이타 단위의 변화분이 기록된다.
그래서, 이와 같은 블럭단위의 묘화에 있어서 블럭의 좌측에서 시작되는 묘화는 좌측의 블럭을 실행한 후가 아니면, 다음 블럭의 묘화처리를 할 수 없는 경우가 있다.
만약, 삼각형의 각 행의 시점이 행마다 좌측으로 어긋나서 블럭의 좌단에서 삐져나왔을 때에는 그 시점에서 좌측의 블럭을 리드하고 그 블럭부터 처리를 개시하지 않으면 안된다고 하는 문제가 발생한다.
그래서, 이하에 상술한 문제점의 해결책의 1예를 설명한다.
본 발명에서는 삼각형 묘화커맨드(1110)을 각 행의 묘화커맨드로 전개할 때에 화소데이타의 처리순서를 특정하는 것에 의해 상술한 문제점이 해결된다.
도 5에 그 수순을 도시한다.
도 5의 (a)의 경우는 최좌측점이 최상점이기도 한 경우이다.
이 경우에는 위에서 아래를 향해서 묘화하면, 각 행의 개시점이 각 블럭의 좌단에서 삐져나오는 일은 없다. 이것은 윗변이 수평선인 경우에도 동일하다.
도 5의 (b)의 경우는 최좌측점이 최하점이기도 한 경우이다.
이 경우에는 반대로 아래에서 위를 향해서 묘화하면, 각 행의 개시점이 각 블럭의 좌단에서 삐져나오는 일은 없다. 이것은 밑변이 수평선인 경우에도 동일하다.
도 5의 (c)는 도 5의 (a)도 도 5의 (b)도 아닌 경우이다.
이 경우에는 삼각형을 최좌측점을 통과하는 수평선에서 상하로 2분할하면 도 5의 (a) 및 도 5의 (b)의 경우로 된다. 분할된 도형은 역시 삼각형이므로 통상의 삼각형 묘화 알고리듬에 의해 묘화가능하다.
도 6은 도 5의 삼각형 분할방식을 보다 일반화한 경우의 설명도이다.
삼각형 묘화커맨드(1110)은 정점P0, P1, P2의 삼각형을 묘화하는 것을 지시하고 있다. 여기서, P0, P1, P2는 각 정점의 좌표정보와 색정보로 이루어지고 있다.
삼각형 페인팅을 위한 각 래스터의 묘화는 시점Ps와 종점Pe를 부여해서 실행시킨다. 이 때, 도 6의 (1) (2) 중 어느쪽의 경우에도 Ps 또는 Pe의 발생방법은 P1의 상하에서 다르다. 따라서, 여기에서는 P1의 상하에서 삼각형을 분할하는 것을 고려할 수 있다.
이와 같이 하면, 도 5의 (c)의 상황은 자연히 해소된다. 분할에 의해서 새롭게 발생하는 정점P3의 좌표는 도 6에 기재한 수식에 의해서 구할 수 있다.
도 7은 삼각형 묘화커맨드(1110)이 어떻게 해서 분할되어 가는지를 도시한 도면이다. 각 정점은 소터(1210)에 의해 Y방향으로 재배열되어 커맨드(1120)으로 변환된다. 커맨드(1120)은 삼각형분할기(1220)에 의해 2개의 삼각형 묘화커맨드(1130)으로 변환된다. 이 변환에 있어서 최상점도 최하점도 아닌 정점(여기서는 P1)이 존재하는 경우에 한해서 새로운 정점P3을 발생해서 삼각형을 분할한다.
도 8은 분할된 삼각형 묘화커맨드(1130)의 묘화개시점과 묘화방향을 결정하는 방식을 도시하고 있다. 묘화개시점(1150)은 최좌측점검출기(1230)에 의해서 구할 수 있다. 이것과 병행해서 삼각형의 최상점의 Y좌표(1140)도 구할 수 있다.
이 삼각형의 최상점의 Y좌표(1140)과 앞서 구한 묘화개시점(1150)의 Y좌표가 비교기(1250)에 의해 비교된다. 결과로서 얻어지는 묘화방향(1160)은 삼각형의 최상점의 Y좌표(1140)과 묘화개시점(1150)의 Y좌표가 동일할 때에는 아래를 향하고, 동일하지 않을 때에는 위를 향하는 묘화로 된다.
도 9는 블럭내부의 묘화상태를 나타내는 레지스터(1310)의 초기설정방식을 도시하고 있는 도면이다. 레지스터(1310)은 삼각형의 제1점째의 묘화 또는 해당하는 블럭이 커버하는 여러개의 행집합에 대한 제1점째의 묘화시에 실행된다.
이 때, 초기화기(1261)은 블럭내 Y좌표(1263), 레지스터(1310)을 리세트한다. 레지스터(1310)의 상태플래그는 모두 미정상태를 지시하도록 된다.
다음에, 삼각형의 묘화가 개시되지만 이 때는 래스터 오퍼레이션 발생기(1262)가 각 행에 대해서 개시점Ps 및 종료점Pe를 세트한다. 1행 세트할때마다 카운터(1263)에 의해서 행어드레스를 갱신한다. 상태플래그에는 대기상태가 설정된다. 래스터 오퍼레이션 발생기(1262)가 동작을 종료한 시점에서 미정상태인 채 남은 행이 있으면 이것은 종료상태로 이행시킨다.
도 10은 묘화상태의 제어를 실행하는 구조를 도시하고 있는 도면이다.
카운터(1271)은 현재 처리중인 행을 나타내고 있다. 행의 처리종료후에 묘화방향에 따라서 인크리먼트 또는 디크리먼트된다. 실행중인 행에 대응하는 레지스터(1313)에서는 묘화종료좌표Xe(1273)이 리드되고, 현재 묘화중인 화소데이타좌표(1272)와 비교기(1274)를 사용해서 비교된다. 묘화중인 화소데이타 좌표(1272)가 묘화종료좌표Xe(1273)과 동일하면 이 행의 묘화처리는 종료한다. 본 발명에서는 이 비교기에 부가해서 블럭경계 판정기(1275)를 갖고, 묘화중인 화소데이타 좌표(1272)가 블럭의 경계에 있는지 어떤지를 판정한다.
본 실시예에서 블럭경게 어드레스는 x03, x07, x0b, x0f이므로 어드레스의 아래 2자리수가 1인 것을 판정하는 것만으로 좋다. 비교기(1274)와 블럭경계 판정기(1275)의 출력은 상태발생기(1276)에 입력되고 다음의 실행상태를 제어한다.
다음의 화소데이타도 블럭내에 있으며 실행가능할 때에는 화소데이타 발생기(1277)의 처리를 속행하고 또 횡방향좌표(1272)도 갱신한다. 다음의 화소데이타가 블럭 외 또는 실행종료인 경우에는 그 취지를 레지스터(1313)에 설정하고 행카운터(1271)을 갱신해서 다음 행의 처리로 이행한다.
다음에, 도 11∼도 14를 사용해서 블럭페치의 효율화에 대해서 설명한다.
도 11은 도 1보다도 묘화가 더욱 진전하여 블럭(2120)의 처리를 실행하고 있는 상태를 도시하고 있는 도면이다. 블럭(2120)의 처리가 시작됨과 동시에 묘화가 완료한 블럭(2110)은 라이트백되지만, 지금 막 라이트백이 종료한 순간의 상태라고 가정하고 있다.
삼각형의 1행째는 블럭(2110)의 처리를 실행했을 때에 이미 종료상태로 되어 있다(1311). 2행째는 현재 진행중인 블럭(2120)의 처리에 있어서 종료상태로 되었다(1312).
3행째는 실행중(1313), 4행째는 실행대기상태에 있다(1314). 이 경우, 우측옆의 블럭(2130) 중, 묘화할 화소데이타가 포함되는 것은 3행째와 4행째의 것뿐이므로 이들의 행만을 프리페치한다.
도 12는 이것을 실행하기 위한 방식을 도시한 도면이다. 블럭(2130)에 대한 어드레스(1282)는 어드레스 발생기(1281)에 의해 생성된다. 이 때, 레지스터(1310)의 대응하는 상태플래그(1283)이 리드되고, 비교기(1284)에 입력된다. 비교기(1284)는 상태플래그(1283)이 종료상태를 나타내고 있는지 어떤지를 판정하고, 종료상태가 아닐 때에 한해서 페치어드레스(1285)를 송출한다.
도 13은 직전에 처리한 블럭이 좌측옆이 아니었던 경우의 예를 도시하고 있는 도면이다. 이 경우, 이 블럭자체의 페치로부터 처리를 개시하여야만 한다. 최초에 발생할 화소데이타의 위치와 도 5에서 설명한 묘화방향을 미리 알고 있다.
도 13의 (a)는 최초에 발생할 화소데이타의 위치가 x05, 묘화방향이 아래쪽인 경우이고, (2115)로 표시된 부분만을 프리페치한다.
도 13의 (b)는 최초에 발생할 화소데이타의 위치가 x09, 묘화방향이 위쪽인경우이고, (2116)으로 표시된 부분만을 프리페치한다.
도 13의 (c)는 최초에 발생할 화소데이타의 위치가 x05, 묘화방향이 상하양쪽인 경우이고, (2117)로 표시된 부분만을 프리페치한다.
도 14는 이것을 실행하기 위한 방식을 도시한 도면이다. 블럭에 대한 어드레스(1282)가 어드레스 발생기(1281)에 의해 생성되는 것은 도 12와 마찬가지이다. (1282)의 X좌표는 비교기(1286)에 의해 비교되고, (1282)의 Y좌표는 비교기(1287)에 의해 비교되고, 이들의 비교결과를 (1288)에 의해 정리해서 페치할 어드레스(1285)를 송출한다.
도 15는 본 발명을 그래픽 마이크로 프로세서에 적응한 경우의 블럭도를 도시한 도면이다. 싱글칩 마이크로 컴퓨터(7000)은 그 내부에 중앙연산처리유닛(3000), 래스터 라이즈유닛(4000), 버스컨트롤유닛(5000) 및 디스플레이유닛(6000)을 내장하고 있다. 기억영역(2000)은 전용버스로서 싱글칩 마이크로 컴퓨터(7000)내의 버스컨트롤유닛(5000)에 접속되고 이 버스컨트롤유닛(5000)을 중심으로 해서 중앙연산처리유닛(3000), 래스터 라이즈유닛(4000) 및 디스플레이유닛(6000)과 데이타의 교환이 가능한 구성으로 되어 있다. 디스플레이유닛(6000)은 기억영역(2000)내의 묘화영역(2100)에서 데이타를 리드하고 표시장치로의 신호를 형성한다. 래스터 라이즈유닛(4000)은 화소데이타 처리장치(1000)을 포함하고 있다. 중앙연산처리유닛(3000)에서는 어플리케이션 프로그램이 실행되고 그 결과로서 묘화커맨드(1110)이 래스터 라이즈유닛(4000)으로 보내진다. 이것은 버스컨트롤유닛(5000)을 거치지 않고 직접 래스터라이즈유닛(4000)으로 보내진다. 묘화시는 래스터 라이즈유닛(4000)이 버스컨트롤유닛(5000)을 거쳐서 기억영역(2000)으로 액세스된다.
도 16은 본 발명을 사용하지 않는 경우의 묘화수순을 도시한 도면이다. 묘화는 블럭경계에 상관없이 행단위로 실행되므로, 최악인 경우 25회의 블럭액세스가 발생한다. 블럭액세스가 발생할 때마다 메모리의 로우 어드레스가 변경되므로 성능이 저하함과 동시에 메모리로의 트래픽도 증대한다.
도 17은 이와 같은 구성으로 묘화했을 때의 타이밍도를 도시한 도면이다. 블럭(2110), (2120), (2130), (2140)의 1행째를 묘화하는 것만으로 4회의 어드레스전환이 발생하고 또, 온디맨드에 의해 블럭의 리드를 실행하므로 블럭을 리드하기 전에 리드지에 유지되어 있는 라이트 종료블럭을 라이트백해야만 한다.
도 18은 본 발명에 의한 묘화수순을 도시한 도면이다. 각 블럭 내부의 화소데이타는 행의 전개순과는 독립해서 블럭내를 우선하여 발생된다. 이 경우의 블럭으로의 액세스회수는 7회이다.
도 19는 본 발명의 타이밍도를 도시한 도면이다. 블럭(2110), (2120), (2130), (2140)의 각 행을 묘화하기 위한 블럭전환은 4회뿐이다. 또, 선행페치 제어를 실행하기 위해 묘화종료블럭의 라이트백전에 블럭을 리드할 수 있으므로 도 19에 도시한 파이프라인 실행이 가능하게 된다.
일단 페치한 블럭에 대해서 실행가능한 화소데이타 발생을 각 행의 래스터전개순에 관계없이 선행해서 실행하는 것에 의해 상기 블럭의 리드가 여러회 실행되는 것을 방지하여 메모리 스루풋을 향상시킨다.
도 20∼도 23은 다른 화소발생수순에 따른 실시예의 설명에 사용한다. 도 20은 발생되는 화소의 속성계산방식을 도시한 도면이다. 화소의 속성(1415)에는 깊이정보z, 텍스쳐좌표s, t, 화소의 휘도정보Ir, Ig, Ib 등이 포함되고 이들의 값에 따라 최종적인 화소의 값이 결정된다. 화소의 속성(1415)는 화소의 좌표값x, y 및 삼각형면내에서 일정의 파라미터param의 함수로서 일의적으로 결정시킬 수 있다. 본 실시예에서는 이와 같은 화소발생부(1277)을 갖는 묘화장치를 전제로 한다. 도 21은 처리의 제어정보를 기억하는 레지스터의 내용을 도시한 도면이다. (1320)은 블럭마다의 처리상태를 나타낸다. param은 x, y에서 각종 속성값을 선형계산을 하기 위한 계수군이다. current block은 현재 처리중인 블럭 어드레스, pivot block은 현재 처리중인 블럭행의 개시 블럭 어드레스를 기억하는 레지스터, direction은 블럭마다의 처리의 좌우의 진행방향, next pivot은 다음의 블럭행의 처리에 있어서 피벗으로 될 블럭 어드레스를 각각 나타내고 있다.
블럭 내부상태에 관한 상태 레지스터(1310)은 블럭내 각 행의 상태 레지스터(1311)∼(1314)로 구성된다. 상태 레지스터(1311)∼(1314)의 내용은 각 행에 대한 좌단 화소 어드레스Xs, 우단 화소 어드레스Xe, 좌측방향 처리 상태 플래그Lflag, 우측방향 상태 플래그Rflag이다. Xs, Xe는 면의 측변 어드레스계산에 의해 구할 수 있고, 좌우 상태 플래그는 상기 설명한 실시예와 동일한 각 상태가 결정된다.
다음에, 도 22를 사용해서 화소발생수순을 상세하게 설명한다. 도 22는 삼각형을 묘화하는 상태를 나타내고 있다. 화소는 위부터 순서대로 처리된다.최상위의 화소가 여러개 존재할 때에는 그 중 가장 좌단의 화소부터 개시한다. 각 행의 묘화범위[Xs, Xe]는 삼각형의 각 변의 기울기로부터 구할 수 있다. 블럭(2150)은 나중에 설명하는 피벗블럭이다. 이 블럭을 중심으로 해서 좌우에 묘화한다. 블럭(2150)내의 우선묘화가 종료한 직후의 상태는 좌우이든 각 행이든 blocked의 상태로 되어 있다. 다음에는 그 우측옆의 블럭이 처리되고, 우측의 상태플래그가 변화한다. 즉, 4행째가 처리종료finished, 그 밖이 blocked의 상태이다. 우측으로 더욱 진행하면, 가장 우단의 블럭(2160)에 도달한다. 이 블럭처리 종료후 모든 행이 종료상태로 된다. 이 단계에서 처리의 방향을 좌측방향으로 전환한다. 이것은 좌측상태가 blocked인 상태이기 때문이다. 처리는 피벗블럭의 좌측블럭부터 시작되고, 모든 행의 상태가 finished로 되는 블럭까지 좌측방향으로 처리가 진행된다. 좌측방향의 처리가 종료하면 다음에 1개 아래의 행의 피벗블럭(2180)의 처리로 이행한다. 이 새로운 피벗블럭은 미리 Next Pivot(넥스트피벗)로서 등록되어 있던 것이다. 이 넥스트피벗은 1개 위의 블럭행의 처리진행중에 그 바로 아래의 블럭으로서 묘화할 화소가 존재하는 가장 먼저, 가장 마지막 또는 어떠한 알고리듬에 의해 결정된 블럭이다. 여기에서는 가장 먼저의 것을 채용하고 있다. 이와 같이 순차 아래방향으로 처리를 진행하고 넥스트피벗을 결정할 수 없었을 때에 처리가 종료한다.
도 23은 각 행의 처리상태를 결정하는 논리를 간단하게 설명하고 있는 도면이다. (1272)는 횡방향으로 화소를 이동시키는 부분이다. 처리의 진행방향direction에 따라서 가산할지 감산할지를 선택한다. 또, (1274) 또는(1275)에서 범위체크를 실행한다. 처리의 진행방향에 의해 어느쪽의 체크에 의해 상태에 반영할지를 (1276)에서 선택한다.
이하, 본 발명의 다른 실시예를 도면에 따라서 설명한다. 도 24는 도형묘화장치의 블럭구성도를 도시한 도면이고, 도 25는 도 24에 도시한 도형묘화장치를 사용한 3차원 그래픽스 표시장치의 블럭 구성도이다. 도 24 및 도 25에 있어서 도형묘화장치는 CPU(10a), 메모리 컨트롤러(20a), 주메모리(30a), I/O인터페이스(40a), 그래픽스 프로세서(50a), 프레임버퍼(60a)를 구비해서 구성되어 있고, 3차원 그래픽스 표시장치는 도형처리장치의 요소에 부가해서 컬러펠릿(70a), CRT(80a)를 구비해서 구성되어 있다. 그리고, 메모리 컨트롤러(20a), I/O인터페이스(40a), 그래픽스 프로세서(50a)가 각각 I/O버스(100a)를 거쳐서 접속되어 있다.
CPU(10a)는 명령캐쉬(12a), 데이타캐쉬(14a), 정수연산부(16a), 부동소수점연산부(18a) 등을 구비해서 구성되어 있고, 메모리 컨트롤러(20a), 전용버스(90a)를 거쳐서 주메모리(30a)에 대해서 명령이나 데이타를 액세스하도록 되어 있다. 주메모리(30a)에는 표시할 도형의 깊이방향의 위치가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트가 저장되어 있다. 즉, 주메모리(30a)는 도형리스트 저장수단으로서 구성되어 있다. 그리고, 도형리스트에는 도형마다 Z좌표값이 저장되어 있고, CPU(10a)로부터의 명령에 따라서 각 도형이 Z값이 작은 순으로 순차 소트되고, 이 소트순에 따라서 각 도형에 관한 화상정보가 메모리컨트롤러(20a)를 거쳐서 그래픽스 프로세서(50a)로 전송되도록 되어 있다. 즉, CPU(10a)는 소트수단을 구성하도록 되어 있다. 또, CPU(10a)는 소트된 도형리스트에 속하는 다각형의 묘화영역이 소트순위가 높은 도형에 속하는 다각형의 묘화영역에 포함되는지의 여부를 화상정보에 따라 판정하는 영역판정수단을 구성하고, 이 영역판정수단에 의해 포함된다고 판정된 도형을 도형리스트에서 삭제하는 삭제수단도 구성하도록 되어 있다. 또, I/O인터페이스(40a)는 하드디스크나 통신 등의 인터페이스로서 구성되어 있다.
그래픽스 프로세서(50a)는 CPU(10a)에서 커맨드를 수취하고, 커맨드에 따라서 도형리스트에 포함되는 화상정보에 따른 도형데이타를 프레임버퍼(60a)에 순차 묘화하도록 되어 있다. 프레임버퍼(60a)는 도 26 및 도 27에 도시한 바와 같이 여러개의 컬러플레인(62a)를 구비하고 있고, 각 컬러플레인(62a)에는 각 화소의 도형데이타 등이 저장되도록 되어 있다. 각 화소에는 16비트의 데이타 저장영역이 마련되어 있고, 2화소의 데이타가 1워드의 데이타로 구성되고, 각 화소의 데이타에는 색정보로서 R, G, B의 색데이타가 14비트 할당되고, Z정보의 데이타로서 1비트가 할당되어 있다. 이 Z정보로서는 각 화소가 묘화되어 있을 때에는 제어데이타로서의 플래그가 1로서 저장되고, 각 화소가 묘화되어 있지 않을 때에는 0의 데이타가 저장되도록 되어 있다. 프레임버퍼(60a)에 묘화된 도형데이타(묘화데이타)는 표시데이타로서 순차 리드되고, 컬러펠릿(70a)에 의해서 표시색의 확장이 실행된 후, CRT(80a)로 전송된다. 그리고, 표시데이타에 따른 3차원화상이 CRT(80a)의 화면상에 표시된다.
그래픽스 프로세서(50a)가 도형리스트에 따른 도형데이타를 묘화할 때에는도 28에 도시한 바와 같은 커맨드가 CPU(10a)로부터 그래픽스 프로세서(50a)로 전송되고 이 커맨드에 따른 처리가 그래픽스 프로세서(50a)에 의해 실행된다. 3D 삼각형 묘화커맨드는 1도트간의 데이타의 변화분의 묘화좌표의 이동에 따라서 묘화개시점의 데이타에 대해서 가산(또는 감산)을 실행하는 것에 의해 도형데이타를 변화시키고, 도형이 안쪽으로 될수록 어둡게 하는 것에 의해 깊이를 갖는 도형을 명령하는 것이다. 이 방식은 그로쉐딩(Gouraud shading)이라고 불리우는 방법에 따른 것이다.
3D 직선카피 커맨드는 Addr1과 sx1로 지정된 프레임버퍼(60a)상의 직선데이타를 소스데이타로 해서 Addr2, sx2, sy2로 지정되는 직선부분에 카피하는 커맨드이다. 이 커맨드를 Addr1과 Addr2를 어긋나게 하면서 여러번 발행하는 것에 의해 텍스쳐맵핑을 갖는 폴리곤묘화를 명령할 수 있다. 텍스쳐맵핑은 이미지데이타를 도형의 표면에 부착해서 묘화하는 것으로서 리얼한 화상을 표시할 수 있다.
3D 직선묘화커맨드는 와이어프레임의 3차원 그래픽스표시를 실행하는 경우에 사용되고, 이 표시는 도형의 윤곽만을 표시하도록 되어 있다.
2D 직선묘화커맨드는 2차원 그래픽스를 표시하는 경우의 직선묘화를 명령하는 것이다.
2D 직선카피커맨드는 Addr1로 지정되는 소스데이타를 Addr2로 지정되는 장소에 직선형상으로 카피하는 디맨드이다. Addr1과 Addr2를 조금 어긋나게 하면서 이 커맨드를 여러번 발행하는 것에 의해 2차원의 이미지데이타의 확장, 축소, 회전 등을 명령할 수 있다.
BitBLT는 Bit Block Transfer의 약어로서, 이 명령은 2차원의 이미지데이타를 다른 영역에 고속으로 카피하는 명령이다.
그래픽스 프로세서(50a)는 구체적으로는 도 29에 도시한 바와 같이 커맨드FIFO(First In First Out)(501a), Z비교 불필요 검출회로(502a), 디코더(503a), 참조용 DDA(Digital Differential Analyzer) 제어부(504a), 묘화용 DDA 제어부(505a), 메모리액세스 및 화소연산제어부(506a), DDA(507a), (508a), (509a), (510a), (511a), 화소처리부(513a), 버퍼(514a), 레지스터부(515a)를 구비하여 구성되어 있고, 레지스터부(515a)에는 측변계산용 레지스터(516a), 참조좌표 레지스터(517a), 직선계산용 레지스터(518a)가 각각 여러개 마련되어 있다. 커맨드FIFO(501a)는 CPU(10a)로부터의 커맨드를 일시 기억하도록 구성되어 있고, 일시기억된 커맨드는 디코더(503a)에 의해 해독되고 코맨드에 따라서 각 제어부(504a), (505a), (506a)의 제어가 실행되도록 되어 있다. 참조용 DDA 제어부(504a)는 3D 직선카피 커맨드, 2D 직선카피 커맨드, BitBLT 커맨드의 소스데이타의 좌표값의 계산을 DDA(507a), (508a)로 명령하고, DDA(507a), (508a)에 의한 소스데이타의 좌표값X, Y를 순차 참조좌표 레지스터(517a)에 저장하도록 되어 있다. 묘화용 DDA 제어부(505a)는 프레임버퍼(60a)에 도형데이타를 묘화하기 위한 좌표값의 계산을 제어하기 위해 계산명령을 DDA(509a)∼(511a)로 출력하고, 각 DDA(509a)∼(511a)의 계산결과를 X, Y, Z의 좌표값으로서 각 레지스터(516a), (518a)에 저장하도록 되어 있다. 화소처리부(513a)는 프레임버퍼(60a)에 라이트하기 위한 도형데이타를 산출하기 위해 어드레스 계산부(520a), 컬러계산부(521a), 배럴시프터(barrelshifter)부(522a), 화소연산부(523a)를 구비해서 구성되어 있다.
화소처리부(513a)는 도 30에 도시한 바와 같이 레지스터파일(524a), 계수레지스터D(525a), 계수레지스터S(526a), ALU(527a), 래치(528a), 계수레지스터C(529a), 래치(530a), ALU(531a), 래치(532a), (533a), (534a), (535a), 배럴시프터(536a), 게이트(537a), 데이타확장부(538a), CL0(539a), CL1(540a), 게이트(541a), 그래픽마스크(542a), 시프터(543a), (544a), ALU(545a)를 구비해서 구성되어 있고, 프레임버퍼(60a)로부터의 데이타가 리드버퍼(5142a)를 거쳐서 입력되고 ALU(545a)에 의해 산출된 데이타가 라이트버퍼(5143a)를 거쳐서 프레임버퍼(60a)로 전송되도록 되어 있다.
어드레스 계산부(520a)는 DDA(507a)∼(511a)에 의해 산출된 좌표값에 대응하는 메모리 어드레스를 산출하도록 되어 있다. 그리고, 계수 레지스터S(526a)에는 소스데이타의 좌표값이 1화소 이동한 경우의 메모리 어드레스의 변화량이 기억되고 이 좌표값의 이동에 맞추어서 메모리 어드레스의 갱신이 ALU(527a)에 의해서 실행된다. 또, 계수 레지스터D(525a)에는 묘화좌표값이 1화소 이동한 경우의 메모리 어드레스의 변화량이 기억되도록 되어 있고, 이 좌표값의 이동에 맞추어서 메모리 어드레스의 갱신이 ALU(527a)에 의해 실행된다. ALU(527a)에 의해 산출된 메모리 어드레스는 래치(528a)에 래치된 후, 레지스터파일(524a)에 기억된다.
컬러계산부(521a)는 3D 삼각형 묘화커맨드에 응답해서 묘화할 도형데이타를 순차 산출하도록 되어 있다. 그리고, 계수 레지스터C(529a)에는 1화소간의 데이타의 변화분이 기억되고, 묘화좌표의 이동에 맞추어서 묘화데이타가 ALU(531a)에의해서 산출되도록 되어 있다. 이 경우, 묘화데이타는 래치(532a)에 일시기억되고, 화소연산부(523a)로 전송됨과 동시에 래치(532a)로 재귀적으로 전송되고, 다음 화소의 데이타의 산출에 사용된다.
즉, 래치(532a) 시점의 색정보가 저장되면, 1화소 이동할 때마다 계수 레지스터C(529a)에서 dpx, dpy의 정보가 ALU(531a)로 전송되고 묘화좌표의 이동에 맞추어서 도형데이타(묘화데이타)ALU(531a)에 의해서 도형데이타가 산출되도록 되어 있다.
배럴시프터부(522a)는 3D 직선카피 커맨드, 2D 직선카피 커맨드, BitBLT 커맨드의 소스데이타를 묘화위치에 맞추어서 시프트하도록 되어 있다. 화소연산부(523a)는 ALU(545a)에 의해서 래치(532a)로부터의 묘화데이타와 묘화지의 데이타 사이에서 연산을 실행하도록 되어 있다. 이 ALU(545a)는 가산, 감산, AND, OR, EOR, 묘화데이타의 스루모드의 연산기능을 구비하고 있다. 즉, 리드버퍼(5142a)를 거쳐서 입력한 데이타의 Z의 값이 0일 때에는 묘화되어 있지 않은 것으로 하여, 게이트(541a)로부터의 데이타를 시프터(544a)를 거쳐서 페치하고, 그래픽스 마스크(542a)로부터의 데이타와 함께 새로운 도형데이타를 생성하도록 되어 있다. 한편, 리드버퍼(5142a)에서 입력한 도형데이타의 Z의 값이 1일 때에는 묘화되어 있는 것으로 하여, 리드버퍼(5142a)에서 입력한 도형데이타를 시프터(543a)를 거쳐서 페치하고, 이 도형데이타를 그대로 라이트버퍼(5143a)를 거쳐서 출력하도록 되어 있다. 즉, 그래픽스 마스크(542a)에 의해 생성된 마스크정보에 의해서 마스크가 지시된 비트는 묘화지의 데이타에 대해서 연산을 실행하지 않고 원래의 데이타를 그대로 출력하도록 되어 있다. 이 때문에 Z비트에 의해서 묘화되어 있는 것을 나타낸 화소에 대해서는 마스크데이타를 생성하는 것에 의해 새로운 도형데이타의 생성을 생략할 수 있다.
다음에, 그래픽스 프로세서(50a)에 도형묘화의 커맨드로서 3D 삼각형 묘화 커맨드가 전송되어 왔을 때의 구체적인 처리에 대해서 설명한다. 이 커맨드는 도 28에 도시한 다음의 형식이다.
TRIAGL Addr, x1, y1, x2, y2, p, dpx, dpy
TRIAGL=3D 삼각형 묘화를 나타내는 커맨드
Addr=삼각형의 묘화개시 정점의 메모리 어드레스
x1, y1=삼각형의 정점을 나타내기 위한 Addr로부터의 상대적인 좌표값
x2, y2=삼각형의 정점을 나타내기 위한 Addr로부터의 상대적인 좌표값
p=묘화개시점의 화소데이타
dpx=x방향으로 1화소 이동했을 때의 화소데이타의 변화분
dpy=y방향으로 1화소 이동했을 때의 화소데이타의 변화분
상기 커맨드가 커맨드 FIFO(501a)를 거쳐서 디코더(503a)에 입력되고, 이 디코더(503a)에 의해 커맨드가 3D 삼각형 묘화 커맨드인 것을 인식하면, 이 커맨드에 따른 제어가 다음에 실행된다. 우선, 측변계산용 레지스터(516a)에 파라미터인 x1, y1, x2, y2가 설정된다. 그 후, DDA(509a), (510a)에 의해 삼각형의 Addr과 (x1, y1) 사이를 연결하는 직선상의 좌표값(e1) 및 Addr과 (x2, y2) 사이를 연결하는 직선상의 좌표값(e2)가 순차 산출된다. 다음에, 상기 2개의 좌표값(e1),(e2)를 양단으로 한 X축방향과 수평인 직선으로 묘화하기 위해 직선계산용 레지스터(518a)에 2개의 좌표값이 세트된다. 그 후, 각 DDA(509a), (510a)는 X축방향과 수직인 직선의 좌표값을 발생한다. 이 수평선의 좌표값의 발생에 따라서 화소데이타가 화소처리부(513a)에서 실행된다.
화소처리부(513a)의 래치(532a)에는 묘화를 실행하고 있는 화소의 데이타가 기억되어 있고, 계수 레지스터C(529a)에는 파라미터dpx가 기억되어 있다. 이 때문에 수평선의 좌표값이 1화소 이동하면 래치(532a)의 값에 계수 레지스터C(529a)의 값이 가산되어 다음의 화소의 데이타가 산출된다. 또, 래치(528a)에는 수평선의 좌표값에 대응하는 프레임버퍼(60a)의 메모리 어드레스가 기억되어 있고, 좌표값이 갱신될 때마다 계수 레지스터D(525a)의 값이 가산되고 메모리 어드레스도 갱신된다. 그리고, 화소데이타가 산출될 때마다 메모리액세스 및 화소연산 제어부(506a)에 의해 래치(528a)가 나타내는 어드레스에 따라서 프레임버퍼(60a)에서 묘화지의 화소데이타가 리드된다. 이 리드된 화소데이타 중, Z비트가 0으로서 리라이트 가능할 때에는 이 화소의 데이타는 래치(532a)의 데이타와 ALU(545a)에 의해 연산된 후, 프레임버퍼(60a)에 묘화된다. 이와 같은 처리를 실행하면, 수평선의 각 화소를 순차 묘화할 수 있다. 그리고, 1개의 수평선을 묘화했을 때에는 좌표값(e1), (e2)를 1화소 이동시키고, 또 상술한 처리와 동일한 처리를 실행하는 것에 의해 수평선을 묘화할 수 있다. 이들 처리를 반복하는 것에 의해 삼각형의 묘화가 완료한다.
그래픽스 프로세서(50a)에 의해 묘화를 실행하는 경우, Z비트의 판정을 화소연산과 동시에 실행할 수 있으므로, Z비트의 판정시간이 실행시간으로 나타나지 않고 고속처리가 가능하게 된다. 또, 시프터(543a), (544a)를 ALU(545a)의 입력에 마련하는 것에 의해 데이타를 1/2이나 2배로 하는 것이 가능하게 된다. 소트된 도형리스트에 따라 순차 도형을 묘화할 때에는 프레임버퍼(60a)의 각 화소에 대해서 이미 묘화되어 있는지의 여부를 나타내는 제어데이타로서 1비트의 플래그를 마련하는 것에 의해 도형의 중첩을 체크하고 숨어있는 도형을 묘화하지 않도록 했을 때의 구체적인 처리내용을 도 24에 따라서 설명한다.
우선, 주메모리(30a)에 저장된 도형리스트의 도형군을 CPU(10a)는 깊이정보에 따라서 순차 소트하면 이 소트순에 따른 도형에 관한 커맨드가 CPU(10a)에서 그래픽스 프로세서(50a)로 전송된다. 이 커맨드로서 1개의 도형(삼각형)단위의 커맨드가 압력되면 이 커맨드에 따른 처리가 실행된다. 예를 들면, 도 24에 도시한 바와 같이 프레임버퍼(60a)에 이미 삼각형(600a)가 묘화되어 있을 때에 삼각형(600a)의 뒤쪽에 새로운 삼각형(601a)를 묘화할 때에는 이하의 처리가 실행된다. 즉, 이 경우, 삼각형(601a)는 삼각형(600a)보다 안쪽에 표시되므로 삼각형(601a)는 삼각형(600a)로 숨겨지지 않는 부분만을 묘화하는 처리가 실행된다. 그리고, 삼각형(601a)를 묘화할 때에 삼각형(601a)의 화소로서 1화소째(6011a)와 2화소째(6001a)를 묘화하는 경우를 도 24에 도시하고 있다.
우선, 삼각형(601a)의 각 정점의 좌표에 따라 각 화소의 좌표가 구해짐과 동시에 각 화소의 색정보가 생성된다. 그리고, 1화소째(6011a), 2화소째(6001a)에 관한 화소데이타로서 화소데이타(5132a)가 생성된다. 이 때, 각 화소데이타의 Z비트에는 1이 세트된다. 그리고, 이 화소데이타(5132a)는 화소데이타(5139a)로서 ALU(545a)로 출력된다. 또, 삼각형(601a)의 1화소째(6011a), 2화소째(6001a)에 화소데이타가 프레임버퍼(60a)에서 리드버퍼(5142a)를 거쳐서 리드된다. 이 때, 1화소째(6011a)에는 화소데이타가 묘화되어 있지 않으므로 Z비트에는 0의 플래그가 저장되어 있다.
한편, 2화소째(6001a)의 화소데이타는 삼각형(600a)의 묘화에 의해서 화소데이타가 저장되어 있으므로, Z비트에는 1의 플래그가 저장되어 있다. 1화소째(6011a)의 화소데이타는 Z비트가 0이므로 리라이트가능하고, 그래픽스 마스크(542a)에 의해서 화소데이타가 0으로 마스크된다. 또, 2화소째(6001a)의 화소데이타는 Z비트가 1이므로, 그래픽스 마스크(542a)에 의해서 화소데이타가 1로 마스크되고, 마스크된 화소데이타(540a)로서 ALU(545a)로 출력된다. 또, ALU(545a)에는 2화소째(6001a)의 화소데이타가 그대로 화소데이타(5138a)로서 ALU(545a)에 입력되도록 되어 있다. 그리고, ALU(545a)는 1화소째(6011a)의 화소데이타는 리라이트 가능하므로, 이 화소데이타를 1화소째(6011a)의 화소데이타(5139a)에 리라이트하고, 새로운 화소데이타로서 프레임버퍼(60a)에 묘화한다. 한편, 2화소째(6001a)의 화소데이타는 Z비트가 1로서 리라이트 금지이므로, 화소데이타(5139a)로부터의 화소데이타를 사용하는 일 없이 2화소째(6001a)로부터의 화소데이타(5138a)를 그대로의 상태로 출력한다.
이와 같이 본 실시예에 의하면, 화소단위로 리라이트 가능한지 불가능한지를 Z비트에 따라서 판정하고, 이 판정결과에 따라서 도형을 묘화하는 것에 의해 가까운 쪽의 도형이 리라이트되는 일 없이 안쪽의 도형만을 순차 묘화할 수 있다. 이 때문에, 도형의 중첩의 판정에 필요한 정보로서 1비트의 플래그를 마련하는 것만으로 좋으므로, 프레임버퍼(60a)의 용량을 소용량화할 수 있다.
상기 실시예에 있어서는 CPU(10a)와 그래픽스 프로세서(50a)를 별도의 LSI로 구성한 것에 대해서 서술했지만, 도 31에 도시한 바와 같이 이들을 단일의 LSI상에 구성할 수도 있다. 즉, CPU(10a), 메모리 컨트롤러(20a), 그래픽스 프로세서(50a)를 동일한 LSI(120a)상에 일체적으로 형성한다. 또, 주메모리(30a)에 프레임버퍼(60a)를 내장할 수도 있다. 이 경우에는 프레임버퍼(60a)내의 표시데이타는 메모리 컨트롤러(20a)에 의해서 리드되고, 표시버스(110a)를 거쳐서 컬러팰릿(70a)로 전송되고 표시데이타에 따른 화상이 CRT(80a)의 화면상에 표시되게 된다.
또 다른 시스템 구성의 예로서 그래픽스 프로세서(50a)를 갖지 않고, CPU(10a)에 의해 프레임버퍼(60a)로의 묘화를 실행하는 시스템 구성의 예를 도 32에 도시한다. 이 실시예에서는 도 25에 도시한 그래픽스 프로세서(50a)에 의해 실행하고 있던 묘화처리를 전부 CPU(10a)가 실행하게 된다.
다음에, CPU(10a)에서 도형의 중첩을 체크하고, 완전히 숨겨지는 도형을 묘화하지 않는 방식의 실시예에 대해서 설명한다. 이 예에서는 여러개의 삼각형을 1개의 그룹으로서 취급한다.
우선, 도 33에 도시한 바와 같이, 1개의 삼각형의 그룹에 대해서 그 그룹이 도시하는 도형에 외접하는 제1 사각형 S1과 그 그룹에 포함되는 제2 사각형 S2를묘화영역에 대응시켜서 정의한다. 그리고, 이 정의에 따라서 여러개의 그룹 사이의 중첩을 체크하고, 어느 그룹 예를 들면 그룹1의 제1 사각형 S1이 다른 그룹 예를 들면 그룹2의 제2 사각형 S2에 완전히 중첩되는 경우에는 그룹1의 삼각형은 숨겨져 버리므로 묘화할 필요가 없게 된다.
다음에, 상기 방식을 실행하기 위한 처리내용을 도 34 및 도 35에 따라서 설명한다. 우선, 그룹단위로 표시할 도형의 깊이방향에 대해서 가까운 쪽의 그룹부터 순번대로 도형리스트를 작성한다. 예를 들면, 삼각형의 그룹군이 폴리곤1∼N으로 분할된 도형을 포함하는 도형리스트가 도형리스트(900a)로 구성되어 있는 경우, 각 폴리곤의 Z좌표값(901a)에 따라서 루프의 폴리곤을 Z가 작은 순으로 재배열한다(스텝S10). 이 처리가 실행되면 도형리스트(900a)의 폴리곤의 순번이 폴리곤1, 3, 2, 4이었던 경우, 폴리곤1, 2, 3, 4의 순으로 재배열되고, 도형리스트(910a)가 생성된다. 다음에, 도형리스트를 순번대로 검색하고 어느 그룹이 다른 그룹에 숨겨져 버리는지의 여부를 체크한다. 즉, i번째의 그룹의 제2 사각형(내포사각형)이 i+1번째 이후의 그룹의 제1 사각형(외접사각형)을 숨겨버리는지의 여부의 판정을 실행한다. 그리고, 숨겨지는 그룹을 추출한다(스텝S12). 예를 들면, 제2 사각형데이타(913a)에 대해서 제1 사각형데이타(912a)가 숨겨져 버리는 것을 검색한다. 도 35의 예에서는 폴리곤1의 제2 사각형에 폴리곤3의 제1 사각형이 숨겨져 버리므로 폴리곤3을 도형리스트에서 삭제한다(스텝S14). 이와 같은 처리를 실행하면, 도형리스트(910a)는 도형리스트(920a)로서 생성되게 된다. 그리고, 이들 처리는 전부 도형리스트에 대해서실행한다(스텝S16).
이와 같이 본 실시예에 있어서는 도형리스트에 따라서 도형을 묘화하기에 앞서 여러개의 도형리스트 중에서 숨겨져 버리는 도형은 묘화할 필요가 없으므로 이 도형을 도형리스트에서 삭제하는 것에 의해 3차원 그래픽스 화상을 표시할 때의 처리를 고속화할 수 있다.
또, 도 24에 도시한 방식과 도 33에 도시한 방식을 양쪽을 사용하는 것에 의해 프레임버퍼(60a)의 용량을 감소할 수 있음과 동시에 숨겨져 버리는 도형의 묘화를 실행하는 것에 의한 처리의 고속화를 도모할 수 있다.
다음에, Z비교의 처리를 경감하는 방식에 대해서 설명한다.
우선, 도 36에 도시한 바와 같이 Z비교 처리경감을 위해 여러개의 다각형에 외접하는 사각형을 외접사각형S1으로 해서 묘화영역에 대응시켜서 정의한다. 여러개의 삼각형의 집합체인 폴리곤군1에 외접하는 외접사각형S1이 다른 폴리곤군에 외접하는 외접사각형과 서로 중첩하지 않으면 각 폴리곤군끼리에서는 Z비교를 생략할 수 있다.
예를 들면, 도 37에 도시한 바와 같이 폴리곤군1에 외접하는 외접사각형S1의 묘화영역으로서 (X1, Y1), (X2, Y2)를 설정하고 이들 값을 그래픽스 프로세서(50a)에 기억한다. 다음에 폴리곤군2를 묘화하는 경우, 폴리곤군2에 외접하는 외접사각형S2의 묘화영역으로서 (X3, Y3), (X4, Y4)를 정의하고 이들 값을 마찬가지로 기억한다. 그리고, 외접사각형S1과 외접사각형S2가 서로 중첩되는지의 여부를 판정하고 중첩되지 않는 경우에는 폴리곤군2를 묘화한 후, 묘화종료영역을 (X1, Y1),(X4, Y4)로 갱신한다.
다음에, 도 38에 도시한 바와 같이 폴리곤군3에 외접하는 외접사각형S3의 묘화영역으로서 (X5, Y5), (X6, Y6)을 정의하고 이들 값을 기억한다. 그리고, 외접사각형S3이 묘화종료영역과 중첩되는지의 여부를 판정한다. 이 경우에는 외접사각형S3이 묘화종료영역과 일부가 중첩되므로 폴리곤군3에 관해서 1화소단위로 Z비교를 실행하고 도형이 실제로 중첩되는지의 여부의 체크를 실행하게 된다. 이들 처리는 그래픽스 프로세서(50a)내의 Z비교 불필요 검출회로(502a)에 의해 실행되고, 이 회로의 구체적구성을 도 39에 도시한다.
Z비교 불필요 검출회로(502a)는 래치(550a), 레지스터(X-MIN)(551a), 비교기(552a), 래치(553a), 레지스터(Y-MIN)(554a), 비교기(555a), 래치(556a), 레지스터(X-MAX)(557a), 비교기(558a), 래치(559a), 레지스터(Y-MAX)(560a), 비교기(561a), AND 게이트(562a), (563a), (564a), (565a), 플립플롭(566a), (567a), (568a), (569a), 영역판정회로(570a)를 구비해서 구성되어 있다. 그리고, 단자(571a)에는 외접사각형의 좌표값 중 X좌표의 좌표값XIN이 입력되고, 단자(572a)에는 Y좌표의 좌표값YIN이 입력되도록 되어 있다. 또, 좌표값 중 최소값이 입력되었을 때에는 단자(573a)가 1로 세트되고, 최대값이 입력되었을 때에는 단자(574a)가 1로 세트되도록 되어 있다. 그리고, 좌표값에 따른 판정처리는 도 40에 도시한 타이밍도에 따라서 실행된다.
우선, 단자(571a), (572a)에서 묘화를 실행하는 도형의 외접사각형의 1정점의 좌표로서 XY좌표의 최소값이 입력되면 단자(573a)가 1로 세트됨과 동시에 각 비교기(552a), (555a), (558a), (561a)에 있어서 레지스터값과 입력데이타의 비교가 실행된다. 또, 이 경우, 레지스터(551a)에는 X좌표의 최소값, 레지스터(554a)에는 Y좌표의 최소값, 레지스터(557a)에는 X좌표의 최대값, 레지스터(560a)에는 Y좌표의 최대값이 각각 이미 묘화된 도형에 따라 이미 세트되어 있는 것으로 한다.
비교기(552a), (555a)는 입력데이타의 값이 레지스터값보다 작을 때에는 하이레벨의 신호를 출력하고 그 이외일 때에는 로우레벨의 신호를 출력한다. 비교기(558a), (561a)는 입력데이타의 값이 레지스터값보다 클 때에는 하이레벨의 신호를 출력하고 그 이외일 때에는 로우레벨의 신호를 출력한다. 그리고, 비교기(552a), (555a)에서 하이레벨의 신호가 출력되었을 때에는 레지스터값보다 작은 데이타가 입력된 것으로 하여 레지스터(551a), (554a)의 레지스터값은 갱신신호(581a), (582a)에 의해서 자동적으로 갱신된다.
다음에, 묘화를 실행하는 도형의 외접사각형의 다른 정점의 좌표로서 XY좌표의 최대값이 단자(571a), (572a)에 입력되면 단자(574a)가 1로 세트됨과 동시에 각 비교기(552a), (555a), (558a), (561a)에 있어서 레지스터값과 입력데이타의 비교가 실행된다. 그리고, 비교기(558a), (561a)에서 하이레벨의 신호가 출력되었을 때에는 레지스터값보다 큰 값의 데이타가 입력된 것으로 하여 레지스터(557a), (560a)의 레지스터값은 갱신신호(583a), (584a)에 의해서 자동적으로 갱신된다. 각 비교기(552a), (555a), (558a), (561a)의 출력신호는 영역판정회로(570a)로 출력되고 이 회로에 의해 영역의 중첩이 체크된다.
이 영역의 판정은 도 41에 도시한 논리에 따라서 실행된다. 그리고 영역의 중첩이 없는 경우에는 Z비교 불필요신호로서 하이레벨의 신호가 출력되고, 영역이 중첩되는 경우에는 Z비교 필요신호로서 로우레벨의 신호가 출력된다. 이 신호는 그래픽스 프로세서(50a)의 디코더(503a)에 입력된다. 그리고, 디코더(503a)에서는 입력신호가 액티브(하이레벨)일 때에는 도형묘화시에 Z비교를 실행하지 않도록 묘화용 DDA 제어부(505a)와 메모리 액세스 및 화소연산 제어부(506a)를 제어한다. 이와 같은 제어를 실행하면, 도형이 중첩되지 않을 때에는 묘화시의 프레임버퍼(60a)로부터의 데이타의 리드와 Z값의 비교가 불필요하게 되고, 도형데이타를 프레임버퍼(60a)에 묘화하는 것만으로 좋으므로 3차원 그래픽스 표시를 고속으로 실행할 수 있다. 또, 묘화종료영역의 관리를 하드웨어(Z비교 불필요 검출회로(502a))가 자동적으로 실행하므로 소프트웨어의 부담이 경감되고 고속화가 가능하게 된다.
다음에, Z비교처리를 경감하는 방식의 구체예에 대해서 설명한다.
우선, 도 38의 폴리곤군1을 묘화한 후에 폴리곤군2를 묘화하는 예로서 도 39의 회로에 수치예를 적응해서 설명한다. 도 38에 도시한 외접사각형S1의 좌표가 각각(10, 20), (60, 70)이었던 경우에 도 39의 레지스터(551a)에 10이 세트되고, 레지스터(554a)에 20이 세트되고, 레지스터(557a)에 60이 세트되고, (560a)에 70이 세트된다. 이와 같은 상황에 있어서 폴리곤군2의 좌표값으로서 (80, 30), (100, 110)이 정의되고, XY좌표가 작은 쪽의 좌표값이 입력되면 단자(573a)가 1로 세트됨과 동시에 단자(571a)에 80이, 단자(572a)에 30이 각각 입력된다. 이들 값이 레지스터값과 비교기(552a), (555a), (558a), (561a)에 의해 비교되면, 비교기(552a)의 출력은 0, 비교기(555a)의 출력은 1, 비교기(558a)의 출력은 1, 비교기(561a)의 출력은 0으로 된다. 그리고, 이들 결과는 플립플롭(F/F)(566a)∼(569a)에 일시 기억된 후, 영역판정회로(570a)의 단자C00∼C03에 입력된다.
다음에, XY좌표가 큰 쪽의 좌표값이 입력되면, 단자(574a)가 1로 세트됨과 동시에 단자(571a)에 100이 입력되고 단자(572a)에 110이 각각 입력되면, 이들 값은 각 비교기(552a), (555a), (558a), (561a)에 있어서 레지스터값과 비교된다. 이 비교결과는 비교기(552a)의 출력이 0, 비교기(555a)의 출력이 0, 비교기(558a)의 출력이 1, 비교기(561a)의 출력이 1로 된다. 그리고, 이들 비교결과는 영역판정회로(570a)의 입력단자C10∼C13에 입력된다. 또, 이 때 AND게이트(564a), (565a)의 각 입력에는 1이 세트되므로, 갱신신호(583a), (584a)에 의해 레지스터(557a), (560a)의 레지스터값이 자동적으로 갱신된다. 즉, X좌표의 최대값이 100으로, Y좌표의 최대값이 110으로 갱신된다.
다음에, 영역판정회로(570a)에 있어서는 입력단자C00∼C13에 입력된 신호의 상태를 도 41의 논리에 따라서 Z비교가 불필요한지 필요한지를 판정한다. 이 예에서는 입력단자C00∼C03이 0010이고, 입력단자C10∼C13이 0011이므로, 출력단자OUT을 1로 하는 조건에 적합하므로, 출력단자OUT에서 Z비교 불필요신호로서 하이레벨의 신호가 출력된다. 이 경우에는 메모리 액세스 및 화소연산 제어부(506a)는 묘화지의 데이타를 리드하는 제어를 실행하지 않고, 화소연산 제어부(523a)가 생성하는 묘화데이타를 프레임버퍼(60a)에 직접 묘화한다. Z비교를 실행할 때에는 1화소마다 리드 모디파이 라이트동작에 의해 프레임버퍼(60a)에 묘화할 필요가 있지만, Z비교를 실행하지 않을 때에는 라이트동작만으로 묘화가 가능하게 되므로 고속묘화가 가능하게 된다. 한편, 폴리곤군3을 묘화할 때 폴리곤군3의 묘화영역의 좌표로서 (20, 105), (30, 120)이 입력되었을 때에는 레지스터(551a)에 10, (554a)에 20, (557a)에 100, 레지스터(560a)에 110이 각각 세트된 상태에서 도형의 중첩의 판정이 실행된다. 이 경우, 폴리곤군3의 좌표값으로서 작은 쪽의 좌표값이 입력되었을 때에는 각 비교기(552a), (555a), (558a), (561a)의 출력은 전부 0이 된다.
다음에, 폴리곤군3의 좌표값으로서 큰 쪽의 좌표값이 입력되었을 때에는 비교기(552a), (555a), (558a)의 출력이 0, 비교기(561a)의 출력이 1로 된다. 이들 신호가 영역판정회로(570a)에 입력된 경우, 입력단자C00∼C03이 전부 0이라고 하는 논리는 도 41의 논리에 해당하지 않으므로 출력단자OUT의 출력은 로우레벨로 된다. 즉, 폴리곤군3의 외접사각형은 묘화종료의 사각형과 중첩되므로 도 24에 도시한 실시예와 마찬가지로 도형묘화시에 Z비트를 사용해서 각 화소가 묘화금지상태로 되어 있는지의 여부의 판정을 실행하게 된다.
이상 서술한 방식을 정리하면, 도 42와 같이 나타낼 수 있다. 즉, 도형리스트(900a)중에서 불필요한 도형을 삭제한다. 다음에, 그래픽스 프로세서(50a)에 있어서 중첩되지 않는 도형에 대해서는 Z비트의 판정을 생략해서 묘화한다. 그리고, 음면처리가 필요한 것에 대해서는 도 24에 도시한 방식에 의해 Z비트의 판정을 실행하면서 묘화한다. 그리고, 이들 처리는 이하의 방법이다.
[1] 도형그룹 단위의 중첩을 체크하고, 숨겨지는 도형을 도형리스트에서 삭제한다. [2] 도형그룹 단위의 중첩을 체크하고, 중첩되지 않는 도형의 묘화는 Z비트의 판정을 생략한다. [3] 도형리스트를 가까운 쪽의 도형 순으로 소트하고, 라이트종료인 것을 나타내는 Z비트의 판정을 실행한다.
상기 3가지의 방식은 각각 단독으로 사용하는 것도 가능함과 동시에 이들을 조합한 시스템을 구축할 수도 있다.
이상 설명한 바와 같이 본 발명에 의하면 묘화용 도형데이타를 저장하는 데이타저장영역에 화소묘화종료인지의 여부를 나타내는 데이타를 라이트하고 도형의 중첩의 판정에 필요한 정보를 적게 하도록 하였으므로 데이타저장영역의 기억용량을 삭감할 수 있다.
본 발명의 실시예를 도면을 사용해서 설명한다.
도 43은 본 발명의 다른 실시예를 도시한 블럭도이다. 화상처리 프로세서(10)은 CPU버스CPUB, 고속버스HSB 및 저속버스LSB의 내부 3버스구성을 사용하고 있다.
CPU버스 CPUB에는 중앙처리장치CPU와 캐쉬CCA와 부동소수점연산기FU를 접속한다. CPU버스는 메모리 버스 컨트롤러MBU에 접속한다. 중앙처리장치CPU에는 RISC형식의 CPU를 사용한다.
이러한 것에 의해 종래 개별의 LSI로밖에 실현할 수 없었던 성능을 소프트웨어로 실행가능하게 되었다. 구체적으로는 1000MIPS를 초과하는 RISC를 사용하는 것에 의해 10㎒정도의 화상처리를 대체할 수 있다. 이와 같이 종래 개별LSI로 실행하고 있었던 처리를 CPU로 통합하는 것에 의해 메모리도 통합할 수 있다. 이것은 메모리나 개별LSI의 부품비용을 저감할 뿐만 아니라 실장기판의 면적, 부품부착공정수도 삭감할 수 있다. 고속버스HSB에는 고속IO프로세서HPU, 고속버스인터페이스HIO, 고속버스버퍼HCA, 메모리 버스 컨트롤러MBU를 접속한다.
고속IO프로세서 HPU는 왜곡보정, 고화질화 화상처리, 래스터정보와 부호, 베터정보와의 변환 등 팩시밀리에 필요한 화상처리를 실행하는 유닛이다. 구체적기능은 제산기, 공간필터, 부호데이타를 복호하고 래스터정보로 전개하거나 래스터정보의 변환점을 검출하고, 부호화하거나 벡터정보를 전개한다. 고속버스 인터페이스HIO는 고속버스HSB의 데이타와 고속입출력장치의 인터페이스를 실행한다. 구체적으로는 디스플레이로의 표시데이타, 레이저프린터로의 인자데이타나 광센서로부터의 화상데이타를 취급한다. 고속버스HSB의 데이타는 메모리 버스 컨트롤러MBU에 의해 다른 버스와 인터페이스한다.
저속버스LSB에는 저속IO프로세서LPU, 저속버스 인터페이스LIO, 저속버스버퍼LCA, 메모리 버스 컨트롤러MBU를 접속한다. 저속버스인터레이스LIO는 저속버스LSB의 데이타와 저속입출력장치의 인터페이스를 실행한다. 구체적으로는 외부의 입출력제어I/O를 거쳐서 리드온리메모리ROM, 파일FILE, 프린터로의 출력데이타, 종이반송메카니즘 등의 제어를 실행하기 위한 데이타를 취급한다. 저속IO프로세서LPU는 타이머 등의 제어를 실행하고 또, 망제어유닛NCU를 경유하고 통신로에 접속된 모뎀신호를 입출력한다. 망제어유닛NCU에는 전화TEL과 직렬통신 컨트롤러SCU로부터의 신호를 전환하는 기능도 포함되어 있다. 메모리버스 컨트롤러MBU는 고속버스HSB의 데이타를 동기DRAM SDRAM으로 전송한다.
이와 같이 메모리용 버스를 독립으로 마련하는 것에 의해 고속메모리를 간단하게 접속할 수 있다. 또, 고속입출력과 저속입출력을 분리하는 것에 의해 어드레싱이 용이하게 되고 버스의 부하도 경감되어 고속데이타 전송에 공헌한다.
그리고, 신호의 흐름을 설명하기 전에 팩시밀리의 기능흐름을 설명한다.
우선, 송신시는 센서(15b)로 리드한 화상데이타는 A/D변환기(17b)에 의해 디지탈데이타로 변환되어 고속버스 인터페이스HIO를 경유해서 고속버스HSB에 리드되고, 고속IO프로세서HPU에 의해 리드하고 화상처리가 실행된다. 이 중 공간필터링 등의 곱합연산은 부동소수점 연산기FU를 사용해서 효율적으로 실행할 수 있다. 라인메모리 등의 로컬메모리는 전부 주메모리의 고속메모리(11b)에 통합되어 있다. CPU는 통산 캐쉬메모리CCA를 사용해서 연산처리를 실행하지만 캐쉬에 없는 데이타요구가 발생하면 메모리버스유닛MBU요구를 하고, 고속메모리중의 소정데이타를 페치한다. 그러나, 리드화상처리인 왜곡보정처리, 고화질화처리, 부호화처리 등을 실행하는 경우는 필요한 데이타 및 타이밍을 미리 결정할 수 있으므로, 버스의 스케쥴링을 결정해 두는 것이 가능하다. 이 타이밍의 상세한 설명을 후술한다. 모뎀처리와 같은 종래 다른 LSI로 실행하고 있었던 처리도 버스스케쥴링을 실행하는 것에 의해 CPU처리시에 실현할 수 있다. 여기서는 아날로그전화망을 전제로 모뎀처리로 언급했지만 이것은 ISDN이나 무선전송에 관해서 마찬가지로 실현가능하다. 통신용데이타로 변환한 후는 저속버스인터페이스LIO를 경유해서 망제어유닛NCU로 전송하고 전화망과 접속된다. 1라인단위로의 화상처리가 종료하면 CPU는 저속 IO프로세서LPU, 저속버스 인터페이스LIO를 경유하여 I/O제어부(29b)에 지시하고, 리드메커니즘(13)을 구동한다.
수신시는 전화망으로부터의 데이타를 망제어유닛NCU를 거쳐서 입력하고 저속IO프로세서LPU를 경유하여 고속IO프로세서HPU로 복호화 등의 기억화상처리를 실행한다. 화상데이타는 고속버스 인터페이스HIO를 경유해서 디스플레이(20b)에 표시하는 것도 병렬직렬변환기P/S에 의해 직렬데이타로 변환한 후, 레이저프린터(16b)로 인자가능하다.
그리고, 메모리버스의 스케쥴링에 대해서 도 44를 사용해서 설명한다. 일반적으로 CPU에서 멀티태스킹처리를 실행하기 위해서는 타이머에 의한 인터럽트에 의해 태스크를 스위칭하고, 외관상의 병렬처리를 실행하고 있다. 이 주기는 현상에서는 20밀리초 정도이다. 이 주기에서의 스위칭에서는 팩시밀리 등의 화상기기의 처리는 성립하지 않는다. 예를 들면, 팩시밀리의 1라인 조작시간은 1밀리초∼10밀리초 정도이다. 이 동안에 4000화소의 처리를 완료할 필요가 있다. 그러나, 이 화상처리는 고속이긴 하지만 처리의 순번이 고정되어 있어 스케쥴링이 용이하다. 이 때문에 메모리버스의 사용시간을 미리 할당해 두는 것이 가능하다. 도 44에는 즉시송신, 즉시수신, 메모리송신, 카피시의 메모리버스 할당예를 도시하였다.
즉시송신이라고 하는 것은 리드한 원고를 그대로 송신하는 모드로서, 통상의 팩시밀리 송신모드이다. 도면의 종방향은 비트위치를 나타내고 있고, 횡방향은 블럭단위로 진행하는 시간의 흐름을 나타내고 있다. 이 1블럭은 예를 들면 256워드의 액세스처리를 일괄로 한 것이다. 그러나, 이것은 1바이트단위라도 좋고, 좀더 큰 단위라도 문제는 없지만 2의 누승으로 되는 쪽이 바람직하다. 도면의 화상처리준비의 기간에는 먼저 64비트 전체의 버스를 사용하고, 중앙처리장치CPU가 메커니즘?이나 제어를 실행하고, 다음에 0∼15비트를 고속IO프로세서HPU에 대해 개방하여 고속버스 인터페이스HIO로부터 페치한 센서신호를 고속메모리에 라이트를 실행한다. 중앙처리장치CPU는 16비트∼63비트로 기술되어 있는 왜곡보정프로그램을 리드하여 실행한다. 이와 같이 메모리버스유닛MBU는 메모리모듈마다 액세스형태를 변화시키는 기능을 갖고 있다. 즉, 어드레스선은 공통이지만 이것은 열어드레스를 일치시키는 것만으로 행어드레스, 리드라이트모드, 버스트길이 등은 개별설정가능하게 하고 있다. 이것에 의해 여러개의 프로세서에서 메모리로의 동시액세스를 실현하고 있다. 센서로부터의 원고신호 리드를 개시하면 고속IO프로세서HPU가 사용하는 버스폭을 0∼47비트로 확대하여 고속화상처리를 실행한다. 48∼63비트의 버스는 필요에 따라서 중앙처리장치CPU와 저속IO프로세서LPU에서 타임쉐어링한다.
즉시수신이라고 하는 것은 받은 신호를 그대로 인자하는 모드이다. 기록화상처리는 리드화상처리에 비해 처리량이 적으므로 버스를 0∼31비트로 한정하고, 복호화, 제어 등의 중앙처리장치CPU처리용에 32∼63비트를 부여하고 있다. 이것은 복호화가 처리량이 많아 보틀넥(병목)으로 이루어져 있는 것을 배치하고 있다.
메모리송신은 미리 원고정보를 리드하고 메모리에 기억한 데이타를 송신하는 모드이다. 송신부호정보는 메모리중에 있으므로 부호를 일단 복호화하고, 크기를 변환하며 재차 상대의 변화능력에 따라 부호화한다. 중앙처리장치CPU와 고속 IO프로세서HPU의 부하에 따라서 버스폭할당을 실행한다.
카피는 부호복호처리가 필요하지 않으므로 제어는 간단화되지만 리드화상처리와 리드화상처리를 동시에 실행할 필요가 있으므로, 고속IO프로세서HPU로의 버스할당을 크게 할 필요가 있다.
도 45는 메모리의 맵핑예를 도시한 도면이다. 여기에서의 팩시밀리는 A3크기의 원고를 400도트/인치의 해상도로 취급한다고 하면 1라인은 약 5000도트이다. 1도트는 8비트로 하여 64비트버스로 하면 8도트를 저장할 수 있다. 8도트분을 팩해서 액세스하는 것도 고려할 수 있지만, 그 변환레지스터가 큰 하드웨어량으로 된다고 하는 문제나 액세스하는 어드레스가 연속하지 않으므로 미스히트가 빈번히 발생하여 액세스효율이 현저히 저하한다고 하는 문제가 발생한다. 이 때문에 본 발명에서는 버스에 비트범위를 마련하고 분리해서 액세스가능하게 하고 팩논리를 불필요로 해서 어드레스의 연속성을 확보하였다.
또, 리드계의 프로그램을 버스의 상위에 기술하면 데이타가 하위로 오도록 맵핑하는 것에 의해 동시액세스를 용이하게 실현하는 것으로 하였다.
도 46은 화상처리 프로세서(10b)와 고속메모리(11b)의 접속관계를 도시한 도면이다. 어드레스선을 공통화하고 데이타선은 개별로 배선한다. RAS, CAS 등의 신호는 공통배선으로서 리드 라이트제어, 칩셀렉트는 개별배선으로 한다. 이것에 의해 행어드레스의 개별설정이나 리드 라이트의 칩모듈별 설정을 가능하게 할 수 있다.
도 47은 메모리모듈로의 다른 행어드레스설정의 상태를 개념적으로 도시한도면이다. 도 47의 (a)∼(d)는 63비트버스 중의 각 16비트의 리드어드레스를 모식적으로 나타내고 있다. 행어드레스를 설정할 때 칩셀렉트를 제어하는 것에 의해 각각의 행어드레스의 설정이 가능하다. 도 47의 (a)와 (b)는 Ra에 행어드레스가 설정되고 (c)는 Rb에, (d)는 Rc에 행어드레스가 설정되어 있어 각각의 행어드레스로의 액세스가 가능하다.
도 48은 도 43의 버스제어부MBU를 상세하게 도시한 블럭도이다. MBU(1400b)는 CPU버스CPUB와 고속버스HSB, 저속버스LSB의 3개의 버스와 고속메모리(11b)의 인터페이스이다. 상기 3개의 버스의 조정, 버스의 할당, 사이징을 실행하는 블럭이다. 어드레스 멀티플렉서(1401b)는 각 버스의 어드레스신호CPUB-A, HSB-A, LSB-A를 입력하여 행어드레스, 열어드레스의 분리를 실행하고 어드레스버퍼(1402b)로 전송한다. 어드레스버퍼(1402b)에서는 어드레스 레지스터(1411b)에 행어드레스를 래치한다. 제1 메모리 제어부(1406b)에서는 각 버스의 제어신호CPUB-C, HSB-C, LSB-C를 입력하고 버스의 요구, 응답선택, 리드, 라이트의 신호를 수수한다.
그 제어상태를 반영하여 제2 메모리 제어부(1405b)에서는 어드레스버퍼(1402b)내의 행어드레스를 고속메모리의 어느 모듈에 설정할지 선택적으로 제어를 실행한다. 데이타선택부(1407b)에서는 입력한 각 버스의 데이타신호CPUB-D, HSB-D, LSB-D를 버스사이징하고 데이타버퍼(1409b)에 데이타를 재배열한 후 전송한다. 데이타의 재배열은 래치(1410b)와 셀렉터(1408b)에 의해 실행된다. 어느 타이밍에서 어느 정도의 버스를 어느 버스에 부여할지는 레지스터(1404b)의 지시에 따른다. 레지스터(1404b)는 CPU버스로부터의 I/O어드레스에 맵핑되어 있고, CPU버스의 어드레스를 디코더((1403b)에 의해 디코드하고, CPU데이타CPUB-D를 래치하는 것에 의해 변경된다. 이 레지스터(1404b)의 내용에 의해 제1 메모리제어부(1406b), 어드레스 멀티플렉서(1401b)의 동작이 결정되고 있다. 데이타버퍼(1409b)는 각 메모리모듈(11-1b)∼(11-4b)에 입출력하는 데이타의 배열을 버퍼링하고 있다.
이상 설명한 바와 같이 본 발명에 의하면 다량의 데이타를 고속으로 처리, 실시간으로 처리를 실행할 수 있다.
또, 메모리장치와 화상처리장치 사이의 데이타전송량을 최소화해서 고속인 처리를 실행할 수 있다.
또, 메모리장치와 화상처리장치 사이의 데이타전송량을 최소화하여 도형의 중첩에 의한 묘화억제처리(음면처리)를 경감하고 그 중에서도 복잡한 화상처리, 3차원 그래픽스 표시처리를 고속도로 실행할 수 있다.
또, 고속으로 메모리를 액세스하는 화상처리시스템의 물량의 증가를 억제해서 저가격으로 할 수 있다.
또, 묘화용 도형데이타를 저장하는 데이타 저장영역의 용량을 저감할 수 있다.
또, 묘화처리의 고속화를 도모하는 3차원 그래픽스를 표시할 수 있다.
또, 종래 독립으로 처리되고 있던 화상입출력처리, 부호복호처리, 통신처리를 통합할 수 있고 또, 고속국소처리용 메모리와 대용량메모리를 통합할 수 있으므로, 저가격으로 고속인 화상처리 시스템을 제공할 수 있다.

Claims (4)

  1. 2차원도형에 관한 도형데이타를 화소군의 도형데이타에 대응시켜서 저장함과 동시에 각 화소가 이미 묘화되어 있는지의 여부를 나타내는 제어데이타를 저장하는 데이타 저장부;
    여러개의 다각형의 도형에 대응한 상기 화소군의 화상정보에 따라 상기 데이타저장부로부터 지정된 도형데이타와 제어데이타를 추출하는 데이타 추출부;
    상기 데이타추출부에 의해 추출된 제어데이타가 화소의 묘화가 종료되지 않은 것을 나타낼 때에는 상기 화상정보에 따라서 새로운 도형데이타를 생성하고, 상기 데이타 추출부에 의해 추출된 제어데이타가 화소의 묘화가 종료된 것을 나타낼 때에는 새로운 도형데이타의 생성을 금지하는 도형데이타 생성부;
    상기 도형데이타 생성부에 의해 생성된 도형데이타를 상기 데이타 저장부에 의해 지정된 화소에 묘화하는 묘화부;
    상기 데이타 저장부의 제어데이타 중 상기 묘화부에 의해 묘화된 화소의 제어데이타에 대해 상기 화소의 묘화가 종료된 것을 나타내는 데이타를 설정하는 제어데이타 설정부;
    깊이가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트를 저장하는 도형리스트 저장부;
    상기 도형리스트 저장부에 저장된 도형리스트의 도형군을 각 도형의 깊이에 관한 깊이정보에 따라서 소트하는 소트부;
    상기 소트부에 의해 소트된 도형에 속하는 다각형의 묘화영역이 소트순위가 높은 도형에 속하는 다각형의 묘화영역에 포함되는지의 여부를 상기 화상정보에 따라서 판정하는 영역판정부;
    상기 영역판정부에 의해 상기 묘화영역에 포함된다고 판정된 도형을 상기 도형리스트에서 삭제하는 삭제부 및;
    상기 소트부에 의해 소트된 도형에 속하는 다각형에 외접하는 외접사각형과 다각형에 포함되는 내접사각형을 묘화영역에 대응시켜서 각각 설정하는 사각형설정부를 포함하고;
    상기 데이타 추출부는 상기 소트부에 의해 소트된 도형에 관한 화상정보에 따라서 상기 데이타 저장부로부터 지정된 도형데이타와 제어데이타를 추출하는 수단을 갖고,
    상기 도형데이타 생성부는 상기 영역판정부에 의해 상기 묘화영역에 포함되지 않는다고 판정된 다각형의 묘화영역에 관한 도형데이타를 화소마다 상기 화상정보에 따라서 생성하는 수단을 갖고,
    상기 영역판정부는 상기 사각형 설정부에 의해 설정된 사각형 중 소트된 군의 도형에 관한 외접사각형이 소트순위가 높은 군의 도형에 속하는 내접사각형에 의해 숨겨지는지의 여부를 판정하는 수단을 구비하는 것을 특징으로 하는 도형묘화장치.
  2. 2차원도형에 관한 도형데이타를 화소군에 대해서 저장함과 동시에 각 화소가 이미 묘화되어 있는지의 여부를 나타내는 제어데이타를 저장하는 데이타 저장부;
    여러개의 다각형의 도형에 대응한 상기 화소군의 화상정보에 따라 상기 데이타저장부로부터 지정된 도형데이타와 제어데이타를 추출하는 데이타 추출부;
    상기 데이타추출부에 의해 추출된 제어데이타가 화소의 묘화가 종료되지 않은 것을 나타낼 때에는 상기 화상정보에 따라서 새로운 도형데이타를 생성하고, 상기 데이타 추출부에 의해 추출된 제어데이타가 화소의 묘화가 종료된 것을 나타낼 때에는 새로운 도형데이타의 생성을 금지하는 도형데이타 생성부;
    상기 도형데이타 생성부에 의해 생성된 도형데이타를 상기 데이타 저장부에 의해 지정된 화소에 묘화하는 묘화부;
    상기 데이타 저장부의 제어데이타 중 상기 묘화부에 의해 묘화된 화소의 제어데이타에 대해 상기 화소의 묘화가 종료된 것을 나타내는 데이타를 설정하는 제어데이타 설정부;
    깊이가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트를 저장하는 도형리스트 저장부 및;
    상기 도형리스트 저장부에 저장된 도형리스트의 도형군을 각 도형의 깊이에 관한 깊이정보에 따라서 소트하는 소트부;
    상기 소트부에 의해 소트된 도형에 속하는 다각형의 묘화영역이 소트순위가 높은 도형에 속하는 다각형의 묘화영역에 포함되는지의 여부를 상기 화상정보에 따라서 판정하는 영역판정부;
    상기 영역판정부에 의해 상기 묘화영역에 포함된다고 판정된 도형을 상기 도형리스트에서 삭제하는 삭제부 및;
    상기 소트부에 의해 소트된 도형에 속하는 군의 도형에 외접하는 외접사각형과 군의 도형에 포함되는 내접사각형을 묘화영역에 대응시켜서 각각 설정하는 사각형설정부를 포함하고;
    상기 데이타 추출부는 상기 소트부에 의해 소트된 도형에 관한 화상정보에 따라서 상기 데이타 저장부로부터 지정된 도형데이타와 제어데이타를 추출하는 수단을 갖고,
    상기 도형데이타 생성부는 상기 영역판정부에 의해 상기 묘화영역에 포함되지 않는다고 판정된 다각형의 묘화영역에 관한 도형데이타를 화소마다 상기 화상정보에 따라서 생성하는 수단을 갖고,
    상기 영역판정부는 상기 사각형 설정부에 의해 설정된 사각형 중 소트된 군의 도형에 관한 외접사각형이 소트순위가 높은 군의 도형에 속하는 내접사각형에 의해 숨겨지는지의 여부를 판정하는 것을 특징으로 하는 도형묘화장치.
  3. 2차원도형에 관한 도형데이타를 화소군의 도형데이타에 대응시켜서 저장하고 각 화소가 이미 묘화되어 있는지의 여부를 나타내는 제어데이타를 저장하는 데이타 저장부;
    깊이가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트에 따라서 이 도형리스트에 속하는 도형에 외접하는 외접사각형을 상기 묘화영역에 대응시켜서 설정하는 사각형 설정부;
    상기 사각형 설정부에 의해 설정된 각 외접사각형이 묘화순위가 높은 외접사각형에 속하는지의 여부를 판정하는 영역판정부;
    상기 영역판정부에 의해 상기 외접사각형에 속하지 않는다고 판정된 도형에 관한 도형데이타를 화소마다 상기 화상정보에 따라서 생성하는 도형데이타 생성부 및;
    상기 도형데이타 생성부에 의해 생성된 도형데이타를 상기 데이타 저장부에 의해 지정된 화소에 묘화하는 묘화부를 포함하는 것을 특징으로 하는 도형묘화장치.
  4. 2차원도형에 관한 도형데이타를 화소군의 도형데이타에 대응시켜서 저장하고 각 화소가 이미 묘화되어 있는지의 여부를 나타내는 제어데이타를 저장하는 데이타 저장부;
    깊이가 서로 다른 여러개의 다각형의 도형에 대응한 화소군의 화상정보를 포함하는 도형리스트에 따라서 이 도형리스트에 속하는 도형에 외접하는 외접사각형을 상기 묘화영역에 대응시켜서 설정하는 사각형 설정부;
    상기 사각형 설정부에 의해 설정된 각 외접사각형이 묘화순위가 높은 외접사각형에 속하는지의 여부를 판정하는 영역판정부;
    상기 영역판정부에 의해 상기 외접사각형에 속하지 않는다고 판정된 도형에 관한 도형데이타를 화소마다 상기 화상정보에 따라서 생성하는 도형데이타 생성부;
    상기 도형데이타 생성부에 의해 생성된 도형데이타를 상기 데이타 저장부에 의해 지정된 화소에 묘화하는 묘화부;
    상기 영역판정부에 의해 상기 다각형이 외접사각형에 속한다고 판정되었을 때에 화상정보에 따라서 상기 데이타 저장부에 의해 지정된 도형데이타와 제어데이타를 추출하는 데이타 추출부;
    상기 데이타 추출부에 의해 추출된 제어데이타가 묘화종료가 아닌 것을 나타낼 때에는 상기 도형리스트의 화상정보에 따라서 새로운 도형데이타를 생성하고, 상기 데이타추출부에 의해 추출된 제어데이타가 이미 종료된 것을 나타낼 때에는 새로운 도형데이타의 생성을 금지하는 제2 도형데이타 생성부 및;
    상기 데이타 저장부의 제어데이타 중 상기 묘화부에 의해 묘화된 화소의 제어데이타에 대해 묘화종료를 나타내는 데이타를 설정하는 제어데이타 설정부를 포함하고,
    상기 도형데이타 생성부는 상기 영역판정부에 의해 외접사각형에 속하지 않는다고 판정된 다각형에 관한 도형데이타를 화소마다 생성하는 제1 도형데이타 생성부를 구비하고,
    상기 묘화부는 각각 제1 및 제2 도형데이타 생성부에 의해 생성된 도형데이타를 상기 데이타저장부에 의해 지정된 화소에 묘화하는 것을 특징으로 하는 도형묘화장치.
KR1020020036900A 1994-07-08 2002-06-28 도형묘화장치 KR100393842B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP6157183A JPH0822555A (ja) 1994-07-08 1994-07-08 図形描画方法及びその装置
JPJP-P-1994-00157183 1994-07-08
JPJP-P-1994-00210923 1994-09-05
JP6210923A JPH0877367A (ja) 1994-09-05 1994-09-05 画像処理プロセッサおよびそれを用いた画像データ処理装置
JP6224740A JPH0887591A (ja) 1994-09-20 1994-09-20 画像処理システム
JPJP-P-1994-00224740 1994-09-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019950019383A Division KR100378425B1 (ko) 1994-07-08 1995-07-04 화상처리장치및그것을사용한시스템

Publications (1)

Publication Number Publication Date
KR100393842B1 true KR100393842B1 (ko) 2003-08-06

Family

ID=27321121

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1019950019383A KR100378425B1 (ko) 1994-07-08 1995-07-04 화상처리장치및그것을사용한시스템
KR1020020036900A KR100393842B1 (ko) 1994-07-08 2002-06-28 도형묘화장치
KR1020020036902A KR100417901B1 (ko) 1994-07-08 2002-06-28 화상처리시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1019950019383A KR100378425B1 (ko) 1994-07-08 1995-07-04 화상처리장치및그것을사용한시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020020036902A KR100417901B1 (ko) 1994-07-08 2002-06-28 화상처리시스템

Country Status (4)

Country Link
US (5) US5748202A (ko)
KR (3) KR100378425B1 (ko)
CN (1) CN1111836C (ko)
TW (1) TW304254B (ko)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW304254B (ko) * 1994-07-08 1997-05-01 Hitachi Ltd
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US5940090A (en) * 1997-05-07 1999-08-17 Cirrus Logic, Inc. Method and apparatus for internally caching the minimum and maximum XY pixel address values in a graphics subsystem
US6618117B2 (en) 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US20040119829A1 (en) 1997-07-15 2004-06-24 Silverbrook Research Pty Ltd Printhead assembly for a print on demand digital camera system
US6624848B1 (en) * 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
GB9715005D0 (en) * 1997-07-17 1997-09-24 Philips Electronics Nv Graphic image texture generation
US6232986B1 (en) * 1997-08-12 2001-05-15 Ricoh Company, Ltd. Three-dimensional graphics processing apparatus
US6141020A (en) * 1997-11-12 2000-10-31 S3 Incorporated Opposing directional fill calculators in a graphics processor
JP3179392B2 (ja) 1997-11-17 2001-06-25 日本電気アイシーマイコンシステム株式会社 画像処理装置及び画像処理方法
US6028607A (en) * 1998-01-15 2000-02-22 Sun Microsystems, Inc. Method of producing a sequence of triangles from a vertex raster with and without half resolution edges while decompressing a compressed geometry stream
JP3008943B1 (ja) * 1998-08-18 2000-02-14 富士ゼロックス株式会社 画像処理装置および画像処理方法
US6614449B1 (en) * 1998-08-28 2003-09-02 Ati International Srl Method and apparatus for video graphics antialiasing using a single sample frame buffer and associated sample memory
US6727900B1 (en) * 1998-09-07 2004-04-27 Renesas Technology Corp. Semiconductor integrated circuit device
US6608625B1 (en) * 1998-10-14 2003-08-19 Hitachi, Ltd. Three dimensional graphic processor
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6504543B1 (en) * 1999-01-06 2003-01-07 Matsushita Electric Industrial Co., Ltd. Polygon drawing method and polygon drawing apparatus
US6950459B1 (en) * 1999-01-08 2005-09-27 Panasonic Communications Co., Ltd. Activation of multiple xDSL modems with half duplex and full duplex procedures
US6445386B1 (en) * 1999-01-15 2002-09-03 Intel Corporation Method and apparatus for stretch blitting using a 3D pipeline
US6466229B1 (en) * 1999-01-26 2002-10-15 Fuji Xerox Co., Ltd. Graphics processing apparatus and graphics processing method
US6762761B2 (en) * 1999-03-31 2004-07-13 International Business Machines Corporation Method and system for graphics rendering using hardware-event-triggered execution of captured graphics hardware instructions
US6795072B1 (en) * 1999-08-12 2004-09-21 Broadcom Corporation Method and system for rendering macropixels in a graphical image
US6654022B1 (en) * 1999-09-30 2003-11-25 International Business Machines Corporation Method and apparatus for lookahead generation in cached computer graphics system
JP3753584B2 (ja) * 2000-02-15 2006-03-08 富士通株式会社 画像処理装置
US6819321B1 (en) * 2000-03-31 2004-11-16 Intel Corporation Method and apparatus for processing 2D operations in a tiled graphics architecture
US20050052459A1 (en) * 2000-06-07 2005-03-10 Lewis Michael C. Method and system for rendering macropixels in a graphical image
US6963347B1 (en) * 2000-08-04 2005-11-08 Ati International, Srl Vertex data processing with multiple threads of execution
JP2002116905A (ja) * 2000-10-06 2002-04-19 Matsushita Electric Ind Co Ltd 情報処理装置
JP2003316546A (ja) * 2002-04-24 2003-11-07 Sharp Corp 画像処理装置
US6995770B2 (en) * 2002-08-22 2006-02-07 International Business Machines Corporation Command list controller for controlling hardware based on an instruction received from a central processing unit
US6792948B2 (en) 2003-01-22 2004-09-21 Archibald I. J. Brain Laryngeal mask airway device with airway tube having flattened outer circumference and elliptical inner airway passage
US20050062760A1 (en) * 2003-07-09 2005-03-24 Twede Roger S. Frame buffer for non-DMA display
US20050245238A1 (en) * 2004-04-28 2005-11-03 Cheng Nai-Sheng Method of function execution to reduce the memory usage in a wireless system
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
US8411105B1 (en) 2004-05-14 2013-04-02 Nvidia Corporation Method and system for computing pixel parameters
US8432394B1 (en) 2004-05-14 2013-04-30 Nvidia Corporation Method and system for implementing clamped z value interpolation in a raster stage of a graphics pipeline
US7079156B1 (en) * 2004-05-14 2006-07-18 Nvidia Corporation Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
US8860722B2 (en) * 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US7868902B1 (en) 2004-05-14 2011-01-11 Nvidia Corporation System and method for pixel data row forwarding in a 3-D graphics pipeline
US8711155B2 (en) * 2004-05-14 2014-04-29 Nvidia Corporation Early kill removal graphics processing system and method
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US7724263B2 (en) * 2004-05-14 2010-05-25 Nvidia Corporation System and method for a universal data write unit in a 3-D graphics pipeline including generic cache memories
US20060007234A1 (en) * 2004-05-14 2006-01-12 Hutchins Edward A Coincident graphics pixel scoreboard tracking system and method
US8736620B2 (en) * 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8416242B1 (en) 2004-05-14 2013-04-09 Nvidia Corporation Method and system for interpolating level-of-detail in graphics processors
KR100747879B1 (ko) * 2004-06-10 2007-08-08 캐논 가부시끼가이샤 화상 처리 장치, 제어 방법 및 기록 매체
RU2407224C2 (ru) * 2005-04-19 2010-12-20 Конинклейке Филипс Электроникс Н.В. Восприятие глубины
US20070052704A1 (en) * 2005-09-08 2007-03-08 Arm Limited 3D graphics image formation
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US9965886B2 (en) * 2006-12-04 2018-05-08 Arm Norway As Method of and apparatus for processing graphics
US8441497B1 (en) 2007-08-07 2013-05-14 Nvidia Corporation Interpolation of vertex attributes in a graphics processor
JP5034806B2 (ja) * 2007-09-13 2012-09-26 富士通セミコンダクター株式会社 図形描画装置、図形描画方法、図形描画プログラム、および該プログラムを記録した記録媒体
JP4935616B2 (ja) * 2007-10-19 2012-05-23 ソニー株式会社 画像表示制御装置、その制御方法およびプログラム
CN101971210A (zh) * 2008-03-12 2011-02-09 皇家飞利浦电子股份有限公司 实时数字图像处理体系结构
CN101968955B (zh) * 2009-07-28 2012-08-22 慧帝科技(深圳)有限公司 图像处理系统及其图像处理方法
CN102306371B (zh) * 2011-07-14 2013-09-18 华中科技大学 一种分层并行的模块化序列图像实时处理装置
US20130027416A1 (en) * 2011-07-25 2013-01-31 Karthikeyan Vaithianathan Gather method and apparatus for media processing accelerators
WO2013114462A1 (ja) * 2012-02-02 2013-08-08 三菱電機株式会社 表示装置
US9251554B2 (en) 2012-12-26 2016-02-02 Analog Devices, Inc. Block-based signal processing
CN106708434B (zh) * 2016-12-12 2020-04-07 中国航空工业集团公司西安航空计算技术研究所 一种面向GPU像素流的自适应Cache写分配方法
CN110444148A (zh) * 2019-07-30 2019-11-12 广州健飞通信有限公司 基于256级灰度led显示屏幕的fpga实现方法、装置及计算机可读存储介质
JP2021068367A (ja) * 2019-10-28 2021-04-30 ルネサスエレクトロニクス株式会社 画像処理装置及び画像処理方法
US11017265B1 (en) * 2020-01-29 2021-05-25 ReportsNow, Inc. Systems, methods, and devices for image processing
US12008675B2 (en) * 2021-03-18 2024-06-11 Samsung Electronics Co., Ltd. Method and apparatus for isolating 3D draw calls for selective upscaling
US11158031B1 (en) 2021-05-24 2021-10-26 ReportsNow, Inc. Systems, methods, and devices for image processing

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303986A (en) 1979-01-09 1981-12-01 Hakan Lans Data processing system and apparatus for color graphics display
US4303896A (en) * 1980-05-21 1981-12-01 The Babcock & Wilcox Company Wide range data cable equalizer
US4648035A (en) * 1982-12-06 1987-03-03 Digital Equipment Corporation Address conversion unit for multiprocessor system
JPS60227292A (ja) 1984-04-26 1985-11-12 三菱電機株式会社 高速フレームバッファメモリ装置
US4604683A (en) * 1984-12-10 1986-08-05 Advanced Computer Communications Communication controller using multiported random access memory
JPH07123280B2 (ja) * 1985-05-15 1995-12-25 株式会社日立製作所 画像信号処理装置
US4818932A (en) * 1986-09-25 1989-04-04 Tektronix, Inc. Concurrent memory access system
CA1309198C (en) * 1987-12-10 1992-10-20 Carlo J. Evangelisti Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display
US5136664A (en) * 1988-02-23 1992-08-04 Bersack Bret B Pixel rendering
GB2223384B (en) * 1988-07-14 1992-05-06 Daikin Ind Ltd Method and apparatus for applying shadowing operation to figures to be drawn for displaying on crt-display
US5043874A (en) * 1989-02-03 1991-08-27 Digital Equipment Corporation Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
JPH0760465B2 (ja) * 1989-10-23 1995-06-28 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 凹ポリゴン描出方法及びプロセツサ
US6070003A (en) * 1989-11-17 2000-05-30 Texas Instruments Incorporated System and method of memory access in apparatus having plural processors and plural memories
JPH03216775A (ja) 1990-01-22 1991-09-24 Sharp Corp スタガ格子配列型メモリの直線描画におけるアクセス方法
US5251296A (en) * 1990-03-16 1993-10-05 Hewlett-Packard Company Methods and apparatus for generating arbitrarily addressed, arbitrarily shaped tiles in computer graphics systems
US6020894A (en) * 1990-08-16 2000-02-01 Canon Kabushiki Kaisha Full-color desktop publishing system
JPH04107056A (ja) 1990-08-27 1992-04-08 Canon Inc 画像記録装置
US5237567A (en) * 1990-10-31 1993-08-17 Control Data Systems, Inc. Processor communication bus
DE69227646T2 (de) * 1991-03-29 1999-05-06 Canon Kk Bildverarbeitung
JP3992757B2 (ja) * 1991-04-23 2007-10-17 テキサス インスツルメンツ インコーポレイテツド マイクロプロセッサと同期するメモリ、及びデータプロセッサ、同期メモリ、周辺装置とシステムクロックを含むシステム
US5384861A (en) * 1991-06-24 1995-01-24 Picker International, Inc. Multi-parameter image display with real time interpolation
JPH0589251A (ja) * 1991-07-12 1993-04-09 Sony Corp 画像の描画装置
US5307180A (en) * 1991-12-18 1994-04-26 Xerox Corporation Method and apparatus for controlling the processing of digital image signals
US5164916A (en) * 1992-03-31 1992-11-17 Digital Equipment Corporation High-density double-sided multi-string memory module with resistor for insertion detection
US5412788A (en) * 1992-04-16 1995-05-02 Digital Equipment Corporation Memory bank management and arbitration in multiprocessor computer system
GB2267203B (en) * 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
JPH087799B2 (ja) * 1992-06-19 1996-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション データ視覚化装置および方法
US5446836A (en) * 1992-10-30 1995-08-29 Seiko Epson Corporation Polygon rasterization
US5325485A (en) * 1992-10-30 1994-06-28 International Business Machines Corporation Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order
JP3216931B2 (ja) * 1993-01-13 2001-10-09 日本電気株式会社 バスサイジングを有するマイクロプロセッサ
GB9303009D0 (en) * 1993-02-15 1993-03-31 Canon Res Ct Europe Ltd Processing image data
US5509110A (en) * 1993-04-26 1996-04-16 Loral Aerospace Corporation Method for tree-structured hierarchical occlusion in image generators
US5613048A (en) * 1993-08-03 1997-03-18 Apple Computer, Inc. Three-dimensional image synthesis using view interpolation
US5596686A (en) * 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
US5619627A (en) * 1994-05-03 1997-04-08 Loral Aerospace Corp. Multiple-level occulting using a mask buffer
TW304254B (ko) * 1994-07-08 1997-05-01 Hitachi Ltd

Also Published As

Publication number Publication date
KR100378425B1 (ko) 2003-06-18
TW304254B (ko) 1997-05-01
US5748202A (en) 1998-05-05
US7142213B2 (en) 2006-11-28
CN1111836C (zh) 2003-06-18
US20020070942A1 (en) 2002-06-13
US20040189649A1 (en) 2004-09-30
CN1115454A (zh) 1996-01-24
US6356269B1 (en) 2002-03-12
US6731291B2 (en) 2004-05-04
KR100417901B1 (ko) 2004-02-11
US6084599A (en) 2000-07-04

Similar Documents

Publication Publication Date Title
KR100393842B1 (ko) 도형묘화장치
US7042448B2 (en) Image processing unit, image processing system using the same, and image processing method
US20190347764A1 (en) Apparatus and method for non-uniform frame buffer rasterization
US6407736B1 (en) Deferred scanline conversion architecture
US5969726A (en) Caching and coherency control of multiple geometry accelerators in a computer graphics system
JP2637931B2 (ja) テクスチャ・マッピングを行うコンピュータ・システム
KR100421623B1 (ko) 영상처리및디스플레이를용이하게하기위한장치
JP3968063B2 (ja) グラフィックオブジェクトを画像チャンクにレンダリングして、画像層を表示画像に組み合わせる方法及びシステム
US6160557A (en) Method and apparatus providing efficient rasterization with data dependent adaptations
US9384584B2 (en) Display list control stream grouping in tile based 3D computer graphics system
US7064756B2 (en) Data processing apparatus and shading apparatus
US6288722B1 (en) Frame buffer reconfiguration during graphics processing based upon image attributes
US7664922B2 (en) Data transfer arbitration apparatus and data transfer arbitration method
US6650333B1 (en) Multi-pool texture memory management
WO2000011614A2 (en) Tangent space lighting in a deferred shading architecture
US6587113B1 (en) Texture caching with change of update rules at line end
US7170512B2 (en) Index processor
US6943796B2 (en) Method of maintaining continuity of sample jitter pattern across clustered graphics accelerators
US8654135B1 (en) A-Buffer compression for different compression formats
US6982719B2 (en) Switching sample buffer context in response to sample requests for real-time sample filtering and video generation
US6992673B2 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
US7116333B1 (en) Data retrieval method and system
EP1195719A2 (en) Rendering memory in a volume rendering system
US7385604B1 (en) Fragment scattering
US6590579B1 (en) System for low miss rate replacement of texture cache lines

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070710

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee