KR0136453B1 - 패턴묘화방법 - Google Patents
패턴묘화방법Info
- Publication number
- KR0136453B1 KR0136453B1 KR1019940012241A KR19940012241A KR0136453B1 KR 0136453 B1 KR0136453 B1 KR 0136453B1 KR 1019940012241 A KR1019940012241 A KR 1019940012241A KR 19940012241 A KR19940012241 A KR 19940012241A KR 0136453 B1 KR0136453 B1 KR 0136453B1
- Authority
- KR
- South Korea
- Prior art keywords
- controller
- outline
- painting
- pattern
- frame buffer
- Prior art date
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
아우트라인 폰트데이타에 따른 패턴묘화기술에 과한 것으로써, 아우트라인 폰트데이타에 따른 묘화효율을 향상시키기 위해, 제1데이타프로세서에 의해서 제1패턴아우트라인좌표를 연산하고, 제1데이타프로세서에 의해서 제1패턴아우트라인좌표에 따라서 프레임버퍼메모리상에 제1패턴아우트라인을 묘화하고, 제1데이타프로세서에 의한 제2패턴아우트라인좌표의 연산과 병렬해서 제2데이타프로세서에 의해서 제1패턴아우트라인의 내부를 빈틈없이 페인팅한다.
이러한 방법에 의해, 폰트데이타에 따른 묘화효율이 향상된다.
Description
제1도는 본 발명에 관한 1실시예의 블럭도.
제2도는 폰트데이타의 설명도.
제3도는 제1컨트롤러의 1예의 블럭도.
제4도는 제2컨트롤러의 1예의 블럭도.
제5도 a~f는 아우트라인 폰트데이타에 따른 묘화동작의 1예의 설명도.
제6도 a,b는 제5도 a~f에 도시된 바와 같은 아우트라인 폰트데이타에 따르는 묘화동작에 대응하는 처리순서의 1예를 설명하기 위한 타이밍도.
제7도는 본 발명에 관한 다른 실시예의 블럭도.
제8도는 제7도에 포함되는 큐잉버퍼의 동작설명도.
제9도는 본 발명에 관한 또 다른 실시예의 블럭도.
본 발명은 아우트라인 폰트데이타에 따른 패턴묘화기술, 더나아가서는 그 묘화효율을 향상시키는 기술에 관한 것으로써, 예를 들면 레이저빔 프린터와 같은 페이지프린터나 CRT(Cathod-Ray Tube) 디스플레이와 같은 비트맵 디스플레이 장치에 공급하는 화상정보의 묘화에 적용해서 유효한 기술에 관한 것이다.
비트맵메모리에 패턴묘화를 실행하기 위해 사용되는 폰트데이타의 표현형식으로써는 패턴을 도트매트릭스로 표현한 도트폰트형식이 있다. 이 도트폰트형식은 폰트데이타 그 자체가 화소대응의 도트매트릭스적 표현으로 되므로 데이타의 취급이 간단하고, 또 폰트데이타에 따르는 패턴을 고속으로 묘화할 수 있다. 그러나, 임의의 각도로의 회전이 곤란하고, 더나아가서는 도트밀도가 낮으면 확대표실할 때 패턴의 윤곽이 오목볼록하게 되고, 또 도트밀도를 증대시키면 데이타량이 현저하게 증대한다.
그래서, 패턴의 윤곽을 선의 집합으로써 정의하는 것과 같은 데이타구조를 갖는 아우트라인 폰트데이타에 따라서 묘화를 실행하는 소위 벡터그래픽스와 같은 방법을 채용하는 것에 의해 패턴의 윤곽이 오목볼록하게 되거나 폰트의 데이타량이 증대한다는 문제를 해소할 수 있다.
예를 들면 상기 아우트라인 폰트데이타는 짧은 선벡터, 원호, 스플라인곡선, 베쩨르(Bezier) 곡선등의 자유곡선이나 직선등의 선의 종류를 나타내는 정보와 그 선의 기점이나 종점, 더나아가서는 그외에 제어점의 정보등을 포함하고, 이것에 의해서 폰트의 윤곽이 정의된다.
이와 같은 아우트라인 폰트데이타에 따라서 필요한 패턴을 묘화하는 종래의 시스템에서는 예를 들면 시스템전체의 제어를 관장하는 프로세서등이 메인메모리에서 필요한 아우트라인 폰트데이타를 리드하고, 리드한 아우트라인 폰트데이타에 의해서 정의되는 윤곽에 대해서 회전, 확대, 축소등 필요한 처리를 실시함과 동시에 그 윤곽의 논리적인 좌표점을 도트매트릭스적으로 산출한다. 이와 같이 해서 산출된 정보는 ACRTC(Advanced Cathode Ray Tube Controller)와 같은 컨트롤러에 부여된다. 이 컨트롤러는 프로세서에서 부여되는 커맨드 및 상기 논리적인 좌표점데이타에 따라서 프레임버퍼메모리에 묘화해야할 패턴의 윤곽묘화어드레스를 생성하면서 그 윤곽을 묘화한다. 계속해서 프로세서는 그 윤곽내부를 빈틈없이 페인팅 묘화하기 위한 커맨드나 묘화개시점 등을 컨트롤러에 부여하고, 이것에 의해서 컨트롤러는 프레임버퍼메모리에 대한 리드 모디파이 라이트와 같은 메모리동작의 제어를 반복해서 그 윤곽내부를 빈틈없이 페인팅묘화한다. 프레임버퍼메모리상에 묘화된 화상정도는 컨트롤러의 표시제어에 따라 예를 들면 듀얼포트를 갖는 프레임버퍼메모리의 직렬포트에서 CRT디스플레이 장치등에 비디오신호로써 공급된다.
또, 아우트라인 폰트데이타에 따른 패턴묘화에 관한 기술에 대해서 기재된 문헌의 예로써는 1987년 3월 23일에 니케이맥그로힐사 발행의 『니케이일렉트로닉스』 pp. 205~227이 있다.
본 발명자는 상기 종래의 시스템에서 아우트라인 폰트데이타에 따른 묘화효율이 낮게 된다는 문제점이 있는 것을 발견하였다.
즉, ACRTC와 같은 컨트롤러는 프로세서의 지시에 따라서 필요한 패턴의 윤곽묘화를 한후, 또 프로세서의 지시를 받아서 그 윤곽내부에 대한 페인팅묘화를 실행하는 직렬적인 처리순서를 취하므로, 그 컨트롤러는 페인팅묘화중에는 윤곽묘화 어드레스의 연상등 다음의 윤곽묘화를 위한 처리를 일체 실행 할 수가 없어 그 페인팅묘화의 종료를 기다려야만 한다. 또, ACRTC와 같은 컨트롤러가 아우트라인폰트데이타에 따른 윤곽묘화를 실행하기 위해 그 전에 프로세서는 아우트라인 폰트데이타를 그 컨트롤러가 처리할 수 있는 데이타 형식으로 변환하기 위한 좌표점 산출처리등을 실행해야만 하지만, 특히 아우트라인 폰트데이타에 의해 정의되는 자유곡선부분의 좌표점을 산출하는 알고리듬은 비교적 복잡하므로 범용적으로 이용되는 프로세서의 부담이 증대해서 시스템전체의 동작효율이 저하된다.
본 발명의 목적은 아우트라인 폰트데이타에 따른 묘화효율을 향상시킬 수 있는 패턴묘화방법을 제공하는 것이다.
본 발명의 다른 목적은 시스템동작상 범용적으로 이용되거나 시스템전체의 제어를 관장하는 프로세서와 같은 데이타처리장치의 부담을 감소시켜서 시스템전체의 동작효율향상에 기여할 수 있는 패턴묘화방법을 제공하는 것이다.
본 발명의 상기 및 그밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부도면으로 명확하게 될 것이다.
본원에서 개시되는 발명중 대표적인 것의 개요를 간단히 설명하면 다음과 같다.
본 발명은 제1데이타프로세서 및 제2데이타프로세서를 포함하는 시스템에 있어서 이용되는 프레임버퍼메모리상에 패턴을 묘화하는 방법으로써, 상기 제1데이타프로세서에 의해서 제1패턴아우트라인좌표를 연산하기 위한 스텝, 상기 제1데이타프로세서에 의해서 상기 제1패턴아우트라인좌표에 따라서 상기 프레임버퍼메모리상에 제1패턴아우트라인을 묘화하기 위한 스텝 및 상기 제1데이타프로세서에 의한 제2패턴아우트라인좌표의 연산과 병렬해서 상기 제2데이타프로세서에 의해서 상기 제1패턴아우트라인의 내부를 빈틈없이 페인팅하기 위한 스텝을 갖는다.
이것에 의해, 제2데이타프로세서가 페인팅묘화를 실행하고 있을 때 제1데이타프로세서는 필요한 패턴의 윤곽좌표점을 산출할 수 있게 되고, 이와 같은 병렬처리가 아우트라인 폰트데이타에 따른 패턴묘화효율을 향상시킨다.
이때, 제1데이타프로세서에 아우트라인 폰트데이타를 직접 리드해서 비트맵메모리상에 묘화해야할 필요한 패턴의 윤곽좌표점을 연산하는 기능을 갖게 하는 것에 의해 시스템전체의 제어를 관장하는 프로세서는 아우트라인 폰트데이타에 의해 정의되는 윤곽에 대해서 회전, 확대, 축소 등 필요한 처리를 실시해서 그 윤곽의 논리적인 좌표점을 도트매트릭스적으로 산출하는 연산처리를 실행하지 않아도 되게 된다. 그 때문에 아우트라인 폰트묘화시에 그 프로세서의 부담이 경감되고, 이것에 의해 시스템전체의 동작효율이 향상한다. 또, 윤곽묘화 후에 제2데이타프로세서에 페인팅묘화를 위한 제어정보와 그 동작의 지시를 부여하는 기능을 제1데이타프로세서에 갖게 하는 것에 의해 이 점에 있어서도 시스템전체의 제어를 관장하는 프로세서의 부담이 경감된다.
그리고, 제1데이타프로세서와 제2데이타프로세서의 처리속도가 다른 경우를 고려하면 상기 제1데이타프로세서에서 제2데이타프로세서에 부여되는 페인팅묘화를 위한 제어정보나 그 동작의 지시등을 선입선출형식의 대기행렬로써 축적하는 큐잉버퍼수단을 마련해두면 좋다.
이것에 의해 페인팅면적이 큰 윤곽내부를 제2데이타프로세서가 페인팅묘화할 때 그 처리시간이 길어지는 경우에도 제1데이타처리수단의 동작을 중지시키지 않고 이 제1데이타프로세서에 의한 좌표점의 산출이나 윤곽묘화처리를 선행시킬 수 있어 아우트라인 폰트데이타에 따른 묘화효율을 더욱 향상시킬 수 있다.
또, 제1데이타프로세서가 제1데이타프로세서에서 필요한 패턴의 윤곽좌표점의 전송을 받고, 이 제2데이타프로세서가 그 윤곽좌표점에 따라서 윤곽 및 그 내부의 페인팅묘화를 실행하도록 해도 된다.
이하, 본 발명의 구성에 대해서 실시예와 함께 설명한다.
제1도에는 본 발명의 1실시예인 그래픽시스템의 주요부가 도시된다.
제1도에 도시된 그래픽시스템은 특히 제한되지 않지만 CRT디스플레이 장치(10)에 화상을 표시하기 위한 묘화제어 및 표시제어를 지원하는 시스템이다. 묘화제어 및 표시제어는 그래픽컨트롤보드(11)이 실행한다. 이 그래픽컨트롤보드(11)은 시스템전체의 제어를 관장하는 프로세서(12)나 시스템메모리(13)등과 함께 시스템버스(14)를 공유한다.
상기 그래픽컨트롤보드(11)은 패턴의 윤곽을 선의 집합으로써 정의하기 위한 데이타구조를 갖는 아우트라인 폰트데이타를 사용해서 묘화하는(이하, 아우트라인 폰트묘화라고도 한다) 기능을 갖는다.
상기 아우트라인 폰트데이타는 특히 제한되지 않지만 제2도에 도시된 바와 같이 짧은 선벡터, 원호, 스플라인곡선, 베쩨르곡선 등의 자유곡선이나 직선 등의 선의 종류마다 할당된 코드정보를 포함하는 연산코드지정영역 OPC와 그 코드정보에 의해 특정되는 선의 기점이나 종점, 더나아가서는 자유곡선 등을 정의할 때 필요한 제어점등의 좌표정보를 포함하는 오퍼랜드지정필드 OPR로 구성되는 포맷을 최소단위로써 갖는다. 예를들면 여러개의 곡선이나 직선으로 구성되는 문자나 기호의 윤곽은 이것에 포함되는 각각의 선분을 정의하는 상기 아우트라인 폰트데이타의 집합에 의해 정의된다. 이와 같은 각종 아우트라인 폰트데이타는 문자나 기호마다 상기 시스템메모리(13)에 저장되어 있다.
그래픽컨트롤보드(11)에는 특히 제한되지 않지만 오로지 묘화에 이용되는 랜덤액세스포트와 비디오신호 Vs의 직렬출력에 이용되는 직렬액세스포트를 갖는 비트맵메모리로써의 프레임버퍼메모리(15)가 포함된다. 특히, 제한되지 않지만 본 실시예에서는 상기 프레임버퍼메모리(15)의 랜덤액세스포트는 1개로 되고, 이 랜덤액세스포트는 제1컨트롤러(16) 및 제2컨트롤러(17)에 공유된다.
제1컨트롤러(16)과 제2컨트롤러(17)에 의한 프레임버퍼메모리(15)에 대한 액세스제어권의 조정은 특히 제한되지 않지만 아버터(19)가 실행한다. 이 아버터(19)는 제1컨트롤러(16)과 제2컨트롤러(17)에서 요구신호 REQ1, REQ2를 받고 또한 제1컨트롤러(16)과 제2컨트롤러(17)에 확인신호 ACK1, ACK2를 부여한다. 제1컨트롤러(16)과 제2컨트롤러(17)에 의한 프레임버퍼메모리(15)에 대한 액세스권의 우선레벨은 특히 제한되지 않지만 제1컨트롤러(16)이 높게 설정되고, 아버터(19)는 이 우선레벨과 요구신호 REQ1, REQ2에 의한 액세스 요구의 유무에 따라서 어느 한쪽의 컨트롤러(16) 또는 (17)에 프레임버퍼메모리(15)의 액세스권을 인정한다.
상기 제1컨트롤러(16)은 프레임버퍼메모리(15)상에 원하는 화상정보를 축적하기 위한 묘화데이타나 묘화어드레스를 생성해서 묘화제어를 실행함과 동시에 프레임버퍼메모리(15)에 묘화된 화상정보를 비디오신호 Vs로써 CRT 디스플레이장치(10)로 직렬출력하기 위한 표시어드레스제어나 CRT 디스플레이장치(10)에 부여하는 수평동기신호나 수직동기신호등의 각종 동기신호 SYNC에 동기하는 내부 타이밍제어등을 실행한다. 이 제1컨트롤러(16)은 프로세서(12)의 지시에 따라 아우트라인 폰트묘화를 실행하는 경우 그 지시에 따라서 필요한 아우트라인 폰트데이타를 시스템메모리(13)을 액세스해서 또는 프로세서(12)를 거쳐서 직접 리드하고, 리드한 아우트라인 폰트데이타에 의해서 정의되는 윤곽에 대해서 회전, 확대, 축소등 필요한 처리를 실행함과 동시에 그 윤곽의 좌표점을 산출한다.
여기에서, 윤곽좌표점은 프레임버퍼메모리(15)의 어드레스에 대응된 필요한 패턴의 윤곽묘화어드레스로 되지만, 이 윤곽좌표점의 산출에 있어서는 일단 논리적인 좌표점을 산출하고나서 윤곽묘화어드레스에 대응하는 윤곽좌표점을 구하는 2단계의 연산스텝을 취하도록 해서 또는 직접 윤곽묘화어드레스에 대응하는 윤곽좌표점을 산출하도록 해도 된다. 특히 전자의 구성을 채용하면 도트매트릭스로 표현된 도트폰트데이타도 용이하게 취급할 수 있게 된다.
상기 제1컨트롤러(16)은 특히 제한되지 않지만 상기 요구신호 REQ1을 어서트해서 프레임버퍼메모리(15)에 대한 액세스권을 획득한 후 산출된 윤곽좌표점을 묘화어드레스로 해서 프레임버퍼메모리(15)에 그 패턴의 윤곽을 묘화한다. 이 윤곽묘화의 타이밍은 특히 제한되지 않지만 1군의 윤곽좌표점이 산출될 때마다 순차로 또는 윤곽좌표점에 의해 완전한 윤곽이 정의될 때마다 실행하도록 할 수 있다. 제1컨트롤러(16)은 윤곽좌표점의 연산중에 요구신호 REQ1을 네게이트해서 프레임버퍼메모리(15)에 대한 액세스권을 포기한다. 제1컨트롤러(16)은 특히 제한되지 않지만 프레임버퍼메모리(15)에 완전한 윤곽을 묘화한후 로컬버스(18)을 거쳐서 제2컨트롤러(17)에 해당 윤곽 내부의 페인팅묘화를 지시한다.
제2컨트롤러(17)은 특히 제한되지 않지만 제1컨트롤러(16)에 의해서 묘화된 윤곽의 내부영역을 페인팅묘화하기 위한 전용 컨트롤러로 된다. 제1컨트롤러(16)에 의해서 묘화된 윤곽의 내부영역을 페인팅묘화하기 위한 커맨드 또는 그 동작의 개시지시나 페인팅묘화의 개시좌표점등의 정보는 특히 제한되지 않지만 로컬버스(18)을 거쳐서 제1컨트롤러(16)에서 제2컨트롤러(17)에 부여된다.
제2컨트롤러(17)은 로컬버스(18)을 거쳐서 페인팅묘화의 지시가 부여되면 요구신호 REQ2를 어서트해서 프레임버퍼메모리(15)에 대한 액세스권을 획득한후 페인팅묘화의 개시좌표점을 기점으로 해서 윤곽내부의 페인팅묘화를 실행한다. 예를 들면 이 페인팅묘화는 다음과 같이 해서 실행된다. 즉, 제2컨트롤러(17)은 상기 개시좌표점을 기준으로 프레임버퍼메모리(15)에 저장데이타를 순차적으로 수평방향으로 리드하는 것에 의해 윤곽의 일부를 구성하는 비트의 위치를 판정하고, 이 비트위치와 개시좌표점 사이에 있는 수평방향의 모든 비트를 리라이트한다. 이와 같은 처리는 수평방향의 좌우양측에 대해서 실행된다. 소정의 수평방향에 대한 처리가 종료되면 제2컨트롤러(17)은 개시좌표점을 윤곽내부에서 수직방향으로 1비트 이동하고, 이 위치에서도 상기와 마찬가지로 수평방향의 페인팅을 실행한다. 이와 같이 해서 개시좌표점을 윤곽의 내부에서 그 수직방향의 최상위치에서 최하위치까지의 범위에 걸쳐 차례로 어긋나게하면서 그와 같은 수평방향에 대한 처리를 반복하는 것에 의해 윤곽의 내부가 전부 페인팅된다.
제2컨트롤러(17)이 페인팅묘화를 실행하고 있을 때 이것에 병행해서 제1컨트롤러(16)은 다음에 처리해야할 아우트라인 폰트데이타에 따라 윤곽좌표점을 연산을 실행할 수 있다. 이와 같이 제2컨트롤러(17)이 페인팅묘화를 실행하고 있을 때 제1컨트롤러(16)은 그것에 병행해서 다음에 처리해야할 필요한 패턴의 윤곽좌표점을 산출한다는 병렬처리가 가능하게 되어 아우트라인 폰트데이타에 따른 패턴묘화의 효율을 향상시킨다.
제3도에는 상기 제1컨트롤러(16)의 1예의 블럭도가 도시된다. 특히 제한되지 않지만 2점쇄선으로 둘러싸인 각 블럭은 주지의 반도체집적회로기술에 의해 1개의 반도체기판에 형성된다. 즉, 1칩화되어 있다. 다음에 제4도를 사용해서 기술하는 제2컨트롤러에 대해서도 마찬가지로 2점쇄선으로 둘러싸인 블럭은 1개의 반도체기판에 형성되고, 1칩화되어 있다. 특히 제한되지 않지만 제7도 및 제9도에 도시되어 있는, 제1,제2컨트롤러의 각각도 1칩화되어 있다.
이 제1컨트롤러(16)은 특히 제한되지 않지만 묘화어드레스나 묘화데이타를 생성하기 위한 묘화프로세서(28), 표시어드레스나 각종 표시타이밍신호를 생성하는 표시프로세서(20) 및 프레임버퍼메모리(15)의 리프레시어드레스를 생성하기 위한 리프레시어드레스생성회로(30)을 포함한다. 이들의 기능블럭(28),(29),(30)은 시스템버스인터페이스(21)을 거쳐서 시스템버스(14)에 결합되고, 상기 프로세서(12)에서 각종 커맨드나 제어정보가 부여된다. 상기 묘화프로세서(28), 표시프로세서(29) 및 리프레시어드레스생성회로(30)은 프레임버퍼버스인터페이스(22)를 거쳐서 프레임버퍼메모리(15)를 액세스 한다.
상기 묘화프로세서(28)은 특히 제한되지 않지만 시퀀스제어회로(25), 실행부(26) 및 메모리(27)을 포함하고, 또 로컬버스 인터페이스(20)을 거쳐서 로컬버스(18)에 결합된다.
상기 시퀀스제어회로(25)는 특히 제한되지 않지만 프로세서(12)에서 부여되는 각종 묘화커맨드를 해독하여 미리 정해진 순서에 따라 묘화를 위한 각종 제어신호를 생성함과 동시에 아버터(19) 와의 사이에서 요구신호 REQ1이나 확인신호 ACK1의 수수를 실행하고, 또 제2컨트롤러(17)에 대한 페인팅묘화의 지시나 그 개시점의 정보를 부여하기 위한 제어를 실행한다. 예를 들면 프로세서(12)에서 제1컨트롤러(16)에 아우트라인 폰트묘화의 지시가 부여될 때 그 지시에는 아우트라인 폰트묘화해야할 문자나 기호를 지정하는 정보가 포함된다. 이 정보는 시퀀스제어회로(25)에서 해독되고, 그 정보에 대응하는 아우트라인 폰트데이타의 액세스등에 이용된다. 실행부(26)은 묘화데이타나 묘화어드레스, 더나아가서는 그외의 메모리액세스어드레스등의 연산을 실행하지만 특히 아우트라인 폰트묘화에 있어서는 시스템메모리(13)에서 페치한 아우트라인 폰트데이타에 따라서 필요한 윤곽패턴의 좌표점을 부동소수점의 곱셈 및 덧셈을 연산해서 얻는다. 이때의 연산제어는 아우트라인 폰트데이타에 포함되는 상기 코드정보에 따라서 시퀀스제어회로(25)에 의해 실행된다. 상기 메모리(27)은 윤곽좌표점의 연산등에 이용되는 작업영역으로 된다.
제4도에는 상기 제2컨트롤러(17)의 1예가 도시된다.
이 제2컨트롤러(17)은 특히 제한되지 않지만 시퀀스제어회로(32), 실행부(33) 및 메모리(34)를 포함하고, 프레임버퍼버스인터페이스(35)를 거쳐서 아버터(19)와 정보의 수수를 실행함과 동시에 프레임버퍼메모리(15)를 액세스하고, 또 로컬버스인터페이스(36)을 거쳐서 상기 제1컨트롤러(16)과 정보의 수수를 실행하고, 또 시스템버스인터페이스(37)을 거쳐서 시스템버스(14)에 결합되어 상기 프로세서(12)에 의해 내부상태의 초기설정이 가능하게 된다.
상기 시퀀스제어회로(32)는 특히 제한되지 않지만 제1컨트롤러(16)에서 부여되는 페인팅묘화커맨드를 해독하여 미리 정해진 순서에 따라서 페인팅묘화를 위한 각종 제어신호를 생성함과 동시에 아버터(19)와의 사이에서 요구신호 REQ2나 확인신호 ACK2의 수수를 실행한다. 메모리(34)는 페인팅묘화에 사용하는 패턴의 모양 또는 문양에 따르는 각종 패턴데이타가 저장됨과 동시에 작업영역으로써도 이용된다. 실행부(33)은 제1컨트롤러(16)에서 부여되는 페인팅 개시좌표점이나 시퀀스제어회로(32)의 제어에 따라서 페인팅묘화를 위한 묘화데이타나 묘화어드레스, 더나아가서는 상기 메모리(34)의 액세스어드레스등의 연산을 실행해서 실제로 페인팅묘화를 실행한다.
다음에 아우트라인 폰트묘화동작의 1예를 설명한다.
제5도 a~f에는 문자 『イ』'에 대응하는 아우트라인 폰트데이타에 따라서 윤곽묘화 및 페인팅묘화를 실행하는 경우에 1예가 도시된다.
프로세서(12)에 의해서 문자『イ』의 아우트라인폰트묘화가 지시되면 제1컨트롤러(16)은 문자 『イ』에 대응하는 아우트라인 폰트 데이타를 프로세서(12)를 거쳐서 또는 직접 시스템메모리(15)에서 리드한다.
제1컨트롤러(16)은 리드한 아우트라인 폰트 데이타에 의해 정의되는 윤곽에 대하여 회전, 확대, 축소 등 필요한 처리를 실시함과 동시에 그 윤곽의 좌표점을 산출하고, 산출된 윤곽좌표점을 묘화어드레스로 해서 그 패턴의 윤곽을 소정의 타이밍에서 프레임버퍼메모리(15)에 묘화한다. 이 동작상태는 제5도에 도시된다.
제5도 b에 도시된 바와 같이 제1컨트롤러(16)은 특히 제한 되지 않지만 프레임버퍼메모리(15)에 완전한 윤곽을 묘화한후 제2컨트롤러(17)에 이 윤곽내부의 페인팅묘화를 지시함과 동시에 페인팅묘화의 개시좌표점 DP등의 정보를 부여한다. 이 개시좌표점은 예를 들면 논리어드레스에 따르는 X,Y 좌표로써 부여된다.
또, 페인팅패턴을 선택할 수 있는 경우에는 제1컨트롤러(16)이 그 패턴을 지시해도 되고, 또는 미리 프로세서(12)가 페인팅패턴을 제2컨트롤러(17)에 대해서 초기설정하도록 해도 된다.
이 지시를 받은 제2컨트롤러(17)은 특히 제한되지 않지만 요구신호 REQ2를 어서트해서 프레임버퍼메모리(15)에 대한 액세스권을 획득한후 페인팅묘화의 개시좌표점을 기점으로 해서 윤곽내부를 예를 들면 리드 모디파이 라이트형식 등으로 페인팅묘화한다. 제2컨트롤러(17)이 페인팅묘화를 실행하고 있을 때 이것에 병행해서 제1컨트롤러(16)은 제5도에 도시된 바와 같이 다음에 처리해야 할 윤곽의 좌표점을 연산한다.
제2컨트롤러(17)에 의한 페인팅묘화에 병행해서 제1컨트롤러(16)이 윤곽좌표점을 산출해 가면 제1컨트롤러(16)은 소정의 타이밍에서 프레임버퍼메모리(15)에 대한 액세스권을 획득하고, 제5d도에 도시된 바와 같이 그때까지 산출된 윤곽좌표점을 묘화어드레스로 해서 그 부분적인 윤곽을 프레임버퍼메모리(15)에 묘화한다. 이 윤곽묘화시 프레임버퍼메모리(15)를 제1컨트롤러(16)과 공유하는 제2컨트롤러(17)은 일단 페인팅묘화를 중단한다. 또, 상기 완전한 윤곽의 모든 좌표점이 연산될 때까지 이 윤곽의 묘화를 실행하지 않게 해도 된다.
이와 같이 제2컨트롤러(17)에 의한 페인팅묘화에 병행해서 제1컨트롤러(16)이 다음의 윤곽좌표점을 산출해서 순차로 필요한 타이밍에서 그 윤곽을 묘화한다는 병행처리가 진행되는 것에 의해 문자 『イ』에 대응하는 또 하나의 윤곽묘화가 종료하면 제1컨트롤러(16)은 제5e도에 도시된 바와 같이 제2컨트롤러(17)에 그 윤곽내부의 페인팅묘화를 지시함과 동시에 페인팅묘화의 개시좌표점등의 정보를 부여한다. 이 지시를 받은 제2컨트롤러(17)은 제5f도에 도시된 바와 같이 그 윤곽내부의 페인팅묘화를 실행한다. 이때, 제1컨트롤러(16)은 다음에 처리해야할 다른 아우트라인 폰트데이타를 시스템메모리에서 페치하여 그 윤곽좌표점의 연산을 상기와 마찬가지로 병행해서 진행시킬 수 있게 된다.
제6도에는 제5도 a~f에 도시된 바와 같은 처리의 순서가 타이밍도로 도시된다.
제6도에 의하면 제1컨트롤러(16)은 시각 t0에서 필요한아우트라인 폰트데이타를 시스템메모리에서 페치하고, 이것에 따라서 시각 t₁에서 윤곽좌표점의 산출과 윤곽묘화를 개시한다. 시각 t₂에서 하나의 완전한 윤곽을 프레임버퍼메모리(15)에 묘사해서 종료하면, 제2컨트롤러(17)에 이 윤곽내부의 페인팅묘하의 지시를 부여한다. 이 지시를 받은 제2컨트롤러(17)은 시각 t₃에서 페인팅묘화를 개시하여 시각 t5에서 이 윤곽내부의 페인팅을 종료한다. 제2컨트롤러(17)이 페인팅묘화를 실행하고 있을 때 제1컨트롤러(16)은 시각 t₄에서 나머지 또 하나의 윤곽의 좌표점을 산출함과 동시에 이 윤곽의 묘화를 제2컨트롤러(17)에 의한 최초의 윤곽의 페인팅묘화에 병행해서 실행한다. 또, 프레임버퍼메모리(15) 로의 액세스에 대한 우선도는 본 실시예에 따르면 제2컨트롤러(17)보다 제1컨트롤러(16)이 높게 설정되어 있으므로 제1컨트롤러(16)이 윤곽묘화를 실행할 때 제2컨트롤러(17)에 의한 페인팅묘화는 일단 중단된다.
제1컨트롤러(16)에 의해서 시각 t₄에서 개시되는 윤곽좌표점의 산출과 윤곽묘화가 시각 t6에서 종료되면 제2컨트롤러(17)에 이 윤곽내부의 페인팅묘화의 지시가 부여된다. 이 지시를 받은 제2컨트롤러(17)은 시각 t7에서 그 윤곽에 대한 페인팅묘화를 개시한다. 이와 같이 해서 제2컨트롤러(17)이 페인팅묘화를 실행하고 있을 때 제1컨트롤러(16)은 시각 t8에서 다음에 처리해야할 다른 아우트라인 폰트데이타를 시스템메모리에서 페치하고, 페치한 아우트라인 폰트데이타에 따라서 윤곽좌표점의 산출과 윤곽묘화를 시각 t9에서 개시하고, 그 처리를 시각 t7에서 개시되는 제2컨트롤러(17)에 의한 페인팅묘화에 병행해서 진행시킨다.
상기 실시예에 의하면 다음의 작용효과를 얻는다.
(1) 제2컨트롤러(17)이 페인팅묘화를 실행하고 있을 때 제1컨트롤러(16)은 그것에 병행해서 다음에 처리해야할 다른 윤곽의 좌표점을 산출한다는 병렬처리가 가능하게 되고, 이것에 의해서 윤곽묘화와 묘화된 윤곽내부의 페인팅묘화을 대체로 끊임없이 실행할 수 있게 되어 아우트라인 폰트데이타에 따른 패턴묘화효율을 향상시킬 수 있다.
(2) 제1컨트롤러(16)은 아우트라인 폰트데이타를 직접 리드해서 프레임버퍼메모리(15)상에 묘화해야할 필요한 패턴의 윤곽좌표점을 연산하는 기능을 갖는 것에 의해 시스템전체의 제어를 관장하는 프로세서(12)는 아우트라인 폰트데이타에 의해서 정의되는 윤곽에 대해서 회전, 확대, 축소 등 필요한 처리를 실시해서 그 윤곽의 논리적인 좌표점을 도트매트릭스적으로 산출하는 연산처리를 실행하지 않아도 되게 되므로 아우트라인 폰트묘화시에 프로세서(12)의 부담이 경감되고, 이것에 의해서 시스템전체의 동작효율을 향상시킬 수 있다.
(3) 제1컨트롤러(16)은 윤곽묘화후에 제2컨트롤러(17)에 페인팅묘화를 위한 제어정보와 그 동작의 지시를 부여하는 기능을 갖고 있으므로 이 점에서도 프로세서(12)의 부담을 경감할 수 있다.
제7도에서 본 발명의 다른 실시예인 그래픽시스템의 주요부가 도시된다.
제7도에 도시된 구성은 제1도의 그래픽시스템에 대해서 상기 제1컨트롤러(16)에서 제2컨트롤러(17)에 부여되는 페이팅묘화의 지시나 그 개시점을 나타내는 정보등을 선입선출형식의 대기행렬로써 축적하는 큐잉버퍼(40)을 로컬버스(18)에 대응시켜서 추가한 점이 다르다. 이것에 따라 제2컨트롤러(17)은 큐잉버퍼(40)을 액세스해서 필요한 정보를 얻으면서 페인팅묘화를 실행한다. 또, 제1도에 도시된 회로블럭이나 신호와 동일한 것에 대해서는 그것과 동일한 부호를 붙이고 그 상세한 설명은 생략한다.
이아 같은 큐잉버퍼(40)은 제1,제2컨트롤러(16),(17)에 의한 처리속도가 다른 경우 예를 들면 제2컨트롤러(17)에 의한 페인팅묘화속도가 느려지는 경우에 그 처리속도의 차를 흡수해서 제1컨트롤러(16)의 동작을 중지시키지 않고 해결되도록 하기 위한것이다.
예를 들면 제8도에 도시되는 바와 같이 문자 『穴』을 아우트라인 폰트묘화하는 경우에 제1컨트롤러(16)이 윤곽(41)에서 (44)의 묘화를 종료하고, 이 윤곽(44)의 내부를 제2컨트롤러(17)이 페인팅하고 있는 상태를 착안하면 이것에 병행해서 제1컨트롤러(16)은 윤곽(45)에 대한 좌표점을 산출하면서 이 윤곽을 묘화한다. 이와 같은 윤곽(45)의 묘화를 종료했을 때 제2컨트롤러(17)에 의한 윤곽(44) 내부의 페인팅이 아직 종료하고 있지 않아도 제1컨트롤러(16)은 그 윤곽(45)에 대한 페이팅 묘화의 지시나 페인팅 개시좌표점등의 정보를 큐잉버퍼(40)에 부여하고, 이것에 이어서 다음의 윤곽(46)을 위한 좌표점의 산출 및 그 윤곽묘화를 제2컨트롤러(17)에 의한 윤곽(44) 내부의 페인팅묘화에 대해서 병렬진행시킨다. 그리고, 제1컨트롤러(16)이 이 윤곽(46)을 모두 묘화했을 때 아직 제2컨트롤러(17)에 의한 앞서의 윤곽(44)의 페인팅이 종료하고 있지 않아도 제1컨트롤러(16)은 그 윤곽(46)에 대한 페인팅묘화의 지시나 페인팅 개시좌표점 등의 정보를 큐잉버퍼(40)에 부여한후 또 다음의 처리를 진행시킨다. 제2컨트롤러(17)이 윤곽(44)의 페인팅묘화를 종료하면 제2컨트롤러(17)은 큐잉버퍼(40)을 액세스해서 윤곽(45)에 대한 페인팅묘화의 지시나 페인팅 개시좌표점을 얻어 이 윤곽(45) 내부의 페인팅묘화를 실행한다.
따라서, 이와 같은 큐잉버퍼(40)을 마련하는 것에 의해 페인팅면적이 큰 윤곽내부를 제2컨트롤러(17)이 페인팅묘화할 때 그 처리 시간이 길어지는 경우에도 제1컨트롤러(16)의 동작을 중지시키지 않고 해결되게 되어 이 제1컨트롤러(16)에 의한 좌표점의 산출이나 윤곽묘화처리를 선행시킬 수 있다. 이것에 의해 아우트라인 폰트묘화효율을 더욱 향상시킬 수 있다.
제9도에는 본 발명의 또 다른 실시예인 그래픽시스템의 주요부가 도시된다.
제9도에 도시된 제1컨트롤러(47)은 프로세서(12)에 의한 아우트라인 폰트묘화의 지시를 받으면 그 지시에 따라서 필요한 아우트라인 폰트데이타를 시스템메모리(13)을 액세스하거나 또는 프로세서(12)를 거쳐서 직접 리드하고, 리드한 아우트라인 폰트데이타에 의해서 정의되는 윤곽에 대해서 회전, 확대, 축소등 필요한 처리를 실시함과 동시에 그 윤곽의 좌표점을 산출한다. 여기에서 산출되는 윤곽좌표점은 반드시 프레임버퍼메모리(15)의 어드레스에 직접 대응되는 좌표점일 필요는 없고 논리적인 윤곽좌표점이라도 되고, 즉 도트매트릭스적으로 표현된 윤곽좌표점이면 충분하다.
제1컨트롤러(47)은 윤곽좌표점을 산출한후 이 윤곽을 묘화하지 않고, 그 윤곽좌표점을 제2컨트롤러(48)에 부여한다.
제2컨트롤러(48)은 프레임버퍼메모리(15) 상에 원하는 화상정보를 축적하기 위한 묘화데이타나 묘화어드레스를 생성하는 묘화제어를 실행함과 동시에 프레임버퍼메모리(15)에 묘화된 화상정보를 CRT디스플레이장치(10)의 주사에 동기출력시키기 위한 표시어드레스제어나 각종 표시타이밍제어등을 실행한다. 이 제2컨트롤러(48)은 제1컨트롤러(47)에서 윤곽좌표점의 전송을 받으면 이 윤곽을 묘화함과 동시에 그 내부영역의 페인팅묘화를 실행한다.
제2컨트롤러(48)이 윤곽묘화 및 페인팅묘화를 실행하고 있을 때 제1컨트롤러(47)은 그것에 병행해서 다음에 처리해야할 패턴의 윤곽좌표점을 산출 처리한다.
또, 제1도에 도시된 회로블럭이나 신호와 동일한 것에는 그것과 동일한 부호를 붙이고 그 상세한 설명은 생략한다.
본 실시예의 시스템이 있어서도 상기 실시예와 같이 제2컨트롤러(48)이 윤곽묘화나 페인팅묘화를 실행하고 있을 때 제1컨트롤러(47)은 그것에 병행해서 다음에 처리해야할 필요한 패턴의 윤곽좌표점을 산출한다는 병렬처리가 가능하게 되고, 또 프로세서(12)의 부담을 경감할 수 있으므로 이것에 의해 아우트라인 폰트데이타에 따른 패턴묘화효율을 향상시킬 수 있다. 단, 이 경우에는 상술한 실시예에 비해 윤곽묘화나 페인팅묘화 이외에 제1컨트롤러(47)이 산출한 윤곽좌표점을 제2컨트롤러(48)에 전송하는 시간이 더 걸린다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시예에 따라 구체적으로 설명했지만, 본 발명은 상기 실시예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러가지로 변경가능한 것은 물론이다.
예를 들면 제1도 및 제7도에 도시되는 실시예에서는 제1컨트롤러(16)이 표시제어를 실행하도록 했지만 제2컨트롤러(17)이 표시제어를 관장하도록 해도 된다.
또, 비디오신호는 듀얼포트를 갖는 프레임버퍼메모리에서 직접 출력되는 경우에 한정되지 않고, 표시제어를 지원하는 컨트롤러가 표시해야 할 화상정보를 프레임버퍼메모리에서 리드하여 직렬 출력하도록 해도 된다. 또, 제1도 및 제7도에 도시되는 실시예에서 프레임버퍼메모리(15)의 랜덤액세스포트를 제1컨트롤러(16) 및 제2컨트롤러(17)의 각각에 대응시켜서 1대1로 마련하도록 해도 된다. 이 경우에는 제1컨트롤러(16)과 제2컨트롤러(17)의 쌍방에서 동시에 프레임버퍼메모리(15)의 동일 어드레스로 라이트가 실행되지 않도록 하는 아버터가 필요하게 된다.
또, 제1도에 도시된 제1컨트롤러(16), 제2컨트롤러(17) 및 아버터(19)를 실리콘기판과 같은 1개의 반도체기판에 형성해서 하나의 LSI로써 구성할 수도 있다. 제7도나 제9도에 도시되는 실시예에 대해서도 마찬가지이다.
이상의 설명에서는 주로 본 발명자에 의해서 이루어진 발명을 그 배경으로 된 이용분야인 CRT디스플레이장치를 포함하는 그래픽시스템에 적용한 경우에 대해서 설명했지만 본 발명은 그것에 한정되는 것은 아니고, 플라즈마디스플레이나 액정디스플레이와 같은 각종 비트맵 디스플레이를 포함하는 시스템, 더나아가서는 레이저빔프린터나 액정프린터 및 LED프린터와 같은 페이지프린터를 포함하는 시스템등에 있어서의 아우트라인 폰트묘화에도 널리 적용할 수 있다.
본 발명은 적어도 아우트라인 폰트묘화를 실행하는 조건의 것에 적용할 수 있다.
Claims (2)
- 제1데이타프로세서 및 제2데이타프로세서를 포함하는 시스템에 있어서 이용되는 프레임버퍼메모리상에 패턴을 묘화하는 방법으로써, 상기 제1데이타프로세서에 의해서 제1패턴아우트라인좌표를 연산하기 위한 스텝, 상기 제1데이타프로세서에 의해서 상기 제1패턴아우트라인좌표에 따라서 상기 프레임버퍼메모리상에 제1패턴아우트라인을 묘화하기 위한 스텝 및 상기 제1데이타프로세서에 의한 제2패턴아우트라인좌표의 연산과 병렬해서 상기 제2데이타프로세서에 의해서 상기 제1패턴아우트라인의 내부를 빈틈없이 페인팅하기 위한 스텝을 갖고, 상기 제1데이타프로세서가 상기 제2패턴아우트라인좌표에 따라서 제2패턴아우트라인을 상기 프레임버퍼메모리상에 묘화할 때 상기 제2데이타프로세서에 의한 페인팅은 중지되는 패턴묘화방법.
- 제1데이타프로세서 및 제2데이타프로세서를 포함하는 시스템에 있어서 이용되는 프레임버퍼메모리상에 패턴을 묘화하는 방법으로써, 상기 제1데이타프로세서에 의해서 패턴아우트라인좌표를 연산하기 위한 스텝, 상기 제1데이타프로세서에 의해서 상기 패턴아우트라인좌표에 따라서 상기 프레임버퍼메모리상에 패턴아우트라인을 묘화하기 위한 스텝 및 상기 제2데이타프로세서에 의해서 상기 패턴아우트라인의 내부를 빈틈없이 페인팅하기 위한 스텝을 갖고, 상기 제1데이타프로세서에 의한 패턴아우트라인좌표의 연산과 병렬해서 상기 제2데이타프로세서에 의한 패턴아우트라인의 내부의 빈틈없는 페인팅이 실행되는 패턴묘화방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940012241A KR0136453B1 (ko) | 1988-07-27 | 1994-06-01 | 패턴묘화방법 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63187888A JP2659557B2 (ja) | 1988-07-27 | 1988-07-27 | 描画システム及び描画方法 |
JP88-187888 | 1988-07-27 | ||
KR1019890009216A KR0136591B1 (ko) | 1988-07-27 | 1989-06-30 | 패턴묘화시스템 |
KR1019940012241A KR0136453B1 (ko) | 1988-07-27 | 1994-06-01 | 패턴묘화방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890009216A Division KR0136591B1 (ko) | 1988-07-27 | 1989-06-30 | 패턴묘화시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR0136453B1 true KR0136453B1 (ko) | 1998-10-01 |
Family
ID=26504623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940012241A KR0136453B1 (ko) | 1988-07-27 | 1994-06-01 | 패턴묘화방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0136453B1 (ko) |
-
1994
- 1994-06-01 KR KR1019940012241A patent/KR0136453B1/ko not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5321810A (en) | Address method for computer graphics system | |
US5315696A (en) | Graphics command processing method in a computer graphics system | |
US5315698A (en) | Method and apparatus for varying command length in a computer graphics system | |
KR0136591B1 (ko) | 패턴묘화시스템 | |
US6781590B2 (en) | Graphic processing system having bus connection control functions | |
EP0433373A1 (en) | EFFECTIVE METHOD FOR UPDATING A TIME INTERLOCKING WORKING SINGLE-GATE Z-BUFFER. | |
US5454076A (en) | Method and apparatus for simultaneously minimizing storage and maximizing total memory bandwidth for a repeating pattern | |
US4747042A (en) | Display control system | |
EP0658858B1 (en) | Graphics computer | |
KR910000203B1 (ko) | 화상처리장치 | |
US4885699A (en) | Data processing apparatus for editing, filing, and printing image data by means of visual observation of the data on a display screen | |
KR0136453B1 (ko) | 패턴묘화방법 | |
KR970010282B1 (ko) | 아우트폰트데이타 발생방법 | |
US6504543B1 (en) | Polygon drawing method and polygon drawing apparatus | |
JPH04291684A (ja) | 太線描画装置 | |
EP0155499B1 (en) | Display control unite | |
JPH04199975A (ja) | 画像形成装置 | |
JPH0627922A (ja) | 文字パターン表示制御装置 | |
JP2624667B2 (ja) | 図形処理装置 | |
JP3740415B2 (ja) | グラフィック処理装置 | |
WO1993004457A2 (en) | Address method for computer graphics system | |
JP2005276194A (ja) | グラフィックス表示装置およびグラフィックスプロセッサ | |
JPH07160243A (ja) | 情報処理装置あるいはビットマップメモリ制御装置 | |
JPH0896112A (ja) | 画像データ処理装置およびそれを用いた情報システム | |
JPH05165975A (ja) | グラフィック表示装置 |
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: 20020105 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |