KR900008399B1 - 도형 처리 장치 - Google Patents

도형 처리 장치 Download PDF

Info

Publication number
KR900008399B1
KR900008399B1 KR1019860001372A KR860001372A KR900008399B1 KR 900008399 B1 KR900008399 B1 KR 900008399B1 KR 1019860001372 A KR1019860001372 A KR 1019860001372A KR 860001372 A KR860001372 A KR 860001372A KR 900008399 B1 KR900008399 B1 KR 900008399B1
Authority
KR
South Korea
Prior art keywords
pixel
memory
line
contour
line segment
Prior art date
Application number
KR1019860001372A
Other languages
English (en)
Other versions
KR860008486A (ko
Inventor
시게루 마쯔바라
또오루 모리
도시로우 다바따
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
제이. 에이취. 그래디
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션, 제이. 에이취. 그래디 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR860008486A publication Critical patent/KR860008486A/ko
Application granted granted Critical
Publication of KR900008399B1 publication Critical patent/KR900008399B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/153Digital output to display device ; Cooperation and interconnection of the display device with other functional units using cathode-ray tubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Abstract

내용 없음.

Description

도형 처리 장치
제1도는 본 발명의 실시예.
제2도는 닫힌 윤곽선을 사용하였을때의 전체 도색을 도시한 도면.
제3도는 본 발명에 의한 전체 도색을 도시한 도면.
제4도는 근사 화소 도트를 도시한 도면.
제5도는 전체 도색을 하는 어드레스 발생 회로도.
제6도는 전체 도색을 하는 회로도.
제7도는 전체 도색을 하는 도형을 예시하는 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 마이크로프로세서 20 : 윤곽선/전체 도색 제어 장치
27 : 시점 제어 회로 28 : 윤곽선 제어 회로
30 : 선 세그먼트-화소 도트 변환 장치 40 : 배타적 OR회로
41 : 전체 도색을 하는 회로 50 : 리프레쉬 메모리
60 : 랜덤.액세스.작업.메모리 70 : CRT표시 장치
본 발명은, CRT를 사용한 도형 표시 장치 또는 인쇄 헤드를 가지는 도형 인쇄 장치와 같은 도형 재생장치로 재생되는 전체 도색된 도형을 생성시키기 위한 도형 처리 장치에 관한 것으로, 특히, 라스터 주사형 CRT표시 장치에 전체 도색된 도형을 표시하는데 적합한 도형 처리 장치에 관한 것이다. 도형을 구성하는 윤곽선을 일련의 선 세그먼트 즉 일련의 벡터로서 주어지며, 수평한 선 세그먼트는 무시된다. 수평한 선 세그먼트 이외의 각각의 선 세그먼트는 상으로부터 하로 또는 하로부터 상으로의 한 방향으로 시점과 종점의 좌표 어드레스에 의하여 지정된다. 각각의 선 세그먼트는 XY좌표계에 있어서의 근사 화소로 변환되고, 랜덤.액세스.작업.메모리에 기억된다. 각각의 선 세그먼트의 화소를 작업.메모리에 기억시킬때는, 각각의 선 세그먼트를 각각의 수평 라인당 1화소로 나타내고, 각각의 선 세그먼트의 시점의 화소를 기록하지 않고, 시점에 계속되는 화소를 작업.메모리의 대응 좌표 어드레스의 판독 화소 데이타와의 배타적 OR를 취하여 기록한다고 하는 규칙에 따라서 행하여진다. 이것에 의하여, 작업.메모리에 기록된 윤곽선 화소는 각각의 수평 라인에 짝수개가 존재하게 된다. 따라서, 작업.메모리의 각각의 수평 라인을 주사하고, 홀수번째의 윤곽선 화소로부터 짝수번째의 윤곽선 화소까지의 화소 기억 셀을 온(on)시킴에 의하여 전체 도색을 실현할 수있다. 이 기술에 의하면, 복잡한 도형이라도 간단히 전체 도색을 실시할 수 있다.
도형 처리 장치에 있어서 전체 도색을 기본적인 화상 처리 기능의 하나이며, 지금까지 여러가지의 전체 도색하는 방법이 제안되어 왔다. 가장 기본적인 방법은, 소프트웨어에 의하여, 랜덤.액세스.메모리의 각각의 화소 라인마다 전체 도색하는 범위를 하나하나 지정하고, 지정된 범위의 라인 화소를 전부 도색하는 것이지만, 이와 같은 소프트웨어에 의한 전체 도색 처리는 처리시간이 길게 되는 문제점이 있었다. 미합중국특허 제4,189,743호는 랜덤.액세스.메모리에 기록한 닫힌 윤곽선 영역내의 임의의 한점을 시드점으로서 선택하고, 우선 시드점을 지나는 화소 라인을 윤곽선의 범위로 전부 도색하고, 다음에 이 화소 라인에 인접하는 화소 라인을 전부 도색하고, 이하 같은 순서로 반복함으로써 전체 도색을 행하는 기술이 공지되어 있지만, 이 방법은 매우 복잡한 절차를 필요로 한다.
특공소 54-40179호 공보는 리프레쉬.메모리의 각각의 화소 라인이 짝수개의 윤곽선 도트를 가지도록 윤곽선 도트를 선택적으로 제거하여 윤곽선 패턴을 기록하고, 라스터 주사와 동기하여 각 화소 라인을 판독할때 홀수번째의 윤곽선 도트로 CRT에의 비디오 신호를 온으로 하고, 짝수번째의 윤곽선 도트로 비디오 신호를 오프로 함으로써 전체가 도색된 도형을 표시하는 기술이 공지되어 있다. 그러나 이러한 특허는 제거한 도트에 의한 도형 왜곡이 눈에 띄고, 처리할 수 있는 도형에 제한이 있는, 리프레쉬.메모리상에서 화상처리를 못하는 등의 문제점을 가지고 있었다. 이 특허는, 본 발명에 있어서의 방향을 표시한 벡터.데이타의 사용, 배타적 OR에 의한 단점 처리 및 전체 도색에 대해서는 나타나 있지 않다.
따라서 본 발명의 목적은, 도형의 윤곽선을 구성하는 일련에 세그먼트를 나타내는 벡터.데이타에 의하여 복잡한 전체 도색 도형을 고속 또한 간단하게 생성시킬 수 있는 도형 처리 장치를 제공하는 것이다.
본 발명은, 일정한 규칙에 따라서 윤곽선을 생성시키고 이것을 랜덤.액세스.메모리에 기억시킨다. 윤곽선은 일련의 선 세그먼트 즉 벡터로서 지정된지만, 수평한 선 세그먼트는 사용되지 않는다. 수평한 선 세그먼트 이외의 각각의 선 세그먼트는 상으로부터 하로 또는 하로부터 상으로의 한 방향으로 지정된다. 각각의 선 세그먼트는 근사 화소로 변환된다. 각각의 선 세그먼트는 수평 라인당 하나의 화소로 나타나고 또한 각각의 선 세그먼트의 시점은 기록되지 않는다. 화소는 랜덤.액세스.메모리의 대응 좌표 어드레스의 판독 화소 데이타와의 배타적 OR에 의하여 랜덤.액세스.메모리에 기록된다. 이것에 의하여, 랜덤.액세스.메모리에 기록된 윤곽선 화소는 각각의 수평 라인에 짝수개가 존재하게 되고, 어떠한 복잡한 도형이라도 홀수 및 짝수 반전법에 의하여 간단히 전체 도색을 할 수가 있다.
우선, 본 발명에 의한 전체 도색 기술의 개요 및 본 발명에 있어서 사용되는 처리의 규칙에 대하여 설명하겠다. 제2도는 2차원 도형의 화소 데이타를, 대응하는 XY의 2차원 평면에 기억시키는 랜덤.액세스.메모리에 기록한 닫힌 윤곽선 화소 도트를 도시하고 있다. 이 윤곽선 화소를 수평한 화소 라인마다 주사하고, 홀수 및 짝수 반전법, 즉, 홀수번째의 윤곽선 화소부터 다음의 짝수번째의 화소까지의 도트를 온으로 설정하는 방법에 의하여 전체 도색을 하는 경우, 하나의 화소 라인에 홀수개의 윤곽선 화소에 있을때는, 제2도의 11,12,13,14와 같이, 전체 도색이 되어서는 아니될 부분이 전부 도색되고, 전체 도색되어야 할 부분이 도색되지 않게 되는(라인 13의 파선부분)문제가 생긴다.
본 발명은 제3a도에 도시된 바와 같이, 각 화소라인에 늘 짝수개의 윤곽선 화소가 존재하고, 따라서 홀수 및 짝수 반전법의 화소 기록에 의하여 간단하게 전체 도색을 할 수 있도록 윤곽선을 랜덤.액세스.메모리에 기록하는 것이다. 제3도에 있어서, "X"표시는 기록되지 않는 윤곽선 화소를 도시한 것이다.
본 발명에서는, 도형을 구성하는 윤곽선을 일련의 선 세그먼트 즉 벡터로서 나타내고, 각 선 세그먼트의 시점과 종점을 가르키는 좌표 데이타에 의하여 근사 화소 도트를 발생하고, 이것을 랜덤.액세스.메모리에 기억한다. 본 발명에서는, 제3도와 같이 윤곽선 화소를 기록하기 위하여, 하기의 5개 규칙을 사용한다.
규칙 1 : 수평한 선 세그먼트는 그리지 않는다.
규칙 2 : 각각의 선 세그먼트는 각각의 라인당 하나의 화소로 나타낸다.
규칙 3 : 각각의 선 세그먼트의 기점은 그리지 않는다.
규칙 4 : 어떤 메모리 어드레스(기호 위치)에 윤곽선 화소를 기록할 때엔 그 메모리 어드레스에 기록되고 있는 데이타(최초 2진 0)와 윤곽선 화소를 나타내는 2진 1과의 배차적 OR의 결과를 기록한다.
규칙 5 : 모든 선 세그먼트를 같은 방향(제3도에서 위에서 아래로, 또는 아래에서 위로의 방향)으로 지정한다.
규칙 1은, 제2도의 라인 12와 같은 수평한 윤곽선 부분에 포함되는 윤곽선 화소 P1 내지 P2에 의하여 하나의 라인에 홀수개의 윤곽선 화소가 생기는 것을 방지하기 위한 것이다. 통상의 도형 처리에서는 수평선이 많이 사용되기 때문에, 수평선 세그먼트의 생략은 전체 도색하는 처리의 고속화도 기여한다.
규칙 2는, 선 세그먼트의 각도에 관계없이 늘 1라인당 1화소로 윤곽선을 나타내는 것이다. 예를 들면, 제4도에 도시된 바 같이 시점 S, 시점 E를 가지고 수평 라인에 대해 45℃ 이하의 각도를 이루는 선 세그먼트의 근사 도트를 발생시키는 경우, 하나의 라인에 복수 도트가 생기지만, 이 경우는 최초에 발생되는 도트(d1,d2)가 윤곽선 도트로서 사용되고, 두번째의 도트(d3,d4)는 기록되지 않는다.
규칙 3은, 상향 또는 하향의 정점을 제거하는 것이다. 규칙 5에 따라서, 예를 들면, 상으로부터 하로 한 방향으로 선 세그먼트를 지정하는 것으로 한다면, 규칙 3은 제2도의 상향의 정점과 윤곽선 화소(P5 및 P10)를 제거한다.
규칙 4 및 규칙 5는 규칙 3에 의하여 처리되는 정점과 반대향의 정점의 윤곽선 화소(이 예에서는 P7)를 제거한다.
여기서, 제3A도의 윤곽선 화소 패턴을 기록하는 절차에 대하여 설명하겠다. 제3a의 윤곽선은 8개의 선 세그먼트를 이루는데, 그중 2개의 수평선 세그먼트는 규칙 1에 따라 무시되므로 실제로는 6개의 선 세그먼트에 의하여 지정된다. 지금, 상에서 하의 방향에서 선 세그먼트를 지정한다면, 6개의 선 세그먼트는 P5→P3, P5→P6, P6→P7, P10→P7, P10→P12, P1→P5에 의하여 나타난다. 수평선 세그먼트의 화소 P1→P2, P13, P14의 기록 처리는 금지된다(규칙 1에 의해)규칙 1은 상술된 바와 같이 1개의 라인을 따라 홀수개의 윤곽선 화소가 나타나는 가능성을 제거함으로써 제2도의 L2와 같이 빈틈없이 전부 도색해서는 안되는 부분이 모두 도색되는 것을 방지하기 위해 정하여진다. 선 세그먼트 P5→P3에서는, 시점의 화소 P5는 기록되지 않고, 다음 화소부터 시점의 화소 P3까지 기록된다. 기록은, 기록하여야 할 화소 데이타와, 이러한 화소 데이타가 기록록하여야 할 메모리.어드레스로 부터 판독된 화소 데이타와의 배타적 OR의 결과를 기록함으로써 행하여진다. 윤곽선 화소 데이타를 2진 1로 나타내고, 메모리가 2진 0를 기억하고 있다고 하면, 2진 1과 0과의 배타적 OR의 결과는 2진 1이 되므로 결국 윤곽선 화소 데이타는 그대로 기록된다. 세그먼트 P5→P6에서는, 규칙 3에 따라 시점 P5는 기록되지 않지만, 나머지의 각각의 화소를 나타내는 2진 1은 모두 기록된다. 선 세그먼트 P6→P7에서는, 시점 P6은 기록되지 않지만, P6은 세그먼트 P5→P6의 종점으로서 이미 기록되고 있다. 시점 P6으로 계속되는 화소는 종점 P7도 포함하여 각각의 화소를 나타내는 2진 1과 메모리에 기억되어 있는 2진 0과의 배타적 OR의 결과에 의해 기록 처리된다.
세그먼트 P10→P7에서, 시점 P10은 기록되지 않고, 이것에 계속되는 화소는 기록된다. 종점 P7는 세그먼트 P6→P7의 기록에 의하여 2진 1이기 때문에, 종점 P7의 배타적 OR기록은 종점 P7를 다시 2진 0으로 되돌리고, 하향의 정점 P7를 윤곽선부터 제거한다. 이하 동일하게, 세그먼트 P10→P12, P1→P15의 윤곽선 도트가 기록된다.
윤곽선 화소의 기록 종료후, 메모리의 각각의 라인을 주사하고, 홀수번째의 윤곽선 화소와 다음에 생기는 짝수번째의 윤곽선 화소 사이의 메모리.도트를 2진 1로 설정한다. 이 경우, 짝수번째의 윤곽선 화소는 후술하는 이유때문에, 2진 0으로 하는 것이 바람직하다. 이 기록은, 메모리부터 각 라인의 화소 데이타를 판독하고, 동일 라인상의 각각의 화소와 이전의 화소 데이타와의 배차적 OR를 취하고, 그 결과를 기록함으로써양호하게 실시할 수가 있다. 따라서 제3b도에 도시된 바 같이 홀수번째의 윤곽선 화소로 계속되는 2진 0의 화소는 2진 1로 된다. 화소 P10는 윤곽선 기록시에 제거하였지만, 전체 도색 단계에서 2진 1로 되고, 최초에 무시한 화소 P13,P14도 전체 도색이 된다. 최초에 무시한 화소 P1→P2, P5, P7는 전체 도색하는 도형으로 부터 제거된다. 여기서 주목하여야 할 것은, 배타적 OR에 의한 전체 도색에 의해 각각의 라인상의 짝수번째의 윤곽선 화소(P3,P4,P8,P9,P15→P16)전부가 제거된다는 것이다. 따라서 기술한 특공소 54-40179호와 같이 정점의 도트를 단순히 제거하는 경우에 비하여 도형의 왜곡이 최소화된다. 또, 짝수번째의 윤곽선 화소의 제거는 인접하는 도형의 생성을 용이하게 해주는 잇점을 가지고 있다. 이것에 대하여는 후술할 것이다.
제1도는 라스터 주사형 CRT그래픽 표시시스템에 적용한 본 발명의 실시예를 도시한 것이다. 마이크로프로세서(10)는 어드레스 선(12) 및 데이타 선(14)를 통하여 리프레쉬.메모리(50)에 접속되고, 리프레쉬.메모리(50)는 라스터 주사형 CRT표시 장치(70)에 접속된다. 리프레쉬.메모리(50)는 표시 장치(70)의 화소도트에 대응하는 기억 셀을 가지는 랜덤.액세스.메모리이다. 표시 시스템은 다시 전체를 도색하는 도형을 기억하는데 사용되는 작업.메모리(60)에 전체 도색된 도형을 형성하기 위한 윤곽선/전체 도색 제어 장치(20) 및 선 세그먼트 화소 도트 변환 장치(30)를 포함하고 있다. 이 예에서는, 전체를 도색하는 도형을 작업.메모리(60)에 생성시키고, 표시에 있어서는 작업.메모리(60)의 전체를 도색되는 도형을 리프레쉬.메모리(50)에 기록하는 방식을 사용하여 있지만, 리프레쉬.메모리(50)를 소거하여 사용하면, 리프레쉬.메모리(50)에 직접 전체를 도색하는 도형을 기록하는 것도 가능하다. 그러나 리프레쉬.메모리(50)가 도형 데이타를 가지는 경우는 제어가 매우 번거로워서, 별개의 작업.메모리(60)를 사용하는 것이 바람직하다. 특히, 작업.메모리의 사용은 리프레쉬.메모리상에서 화성 처리하는데 유리하다. 물론, 리프레쉬.메모리(50) 및 작업.메모리(60)는 물리적으로 별개의 것일 필요는 없고, 단일의 메모리의 개개의 영역이라도 좋다.
작업.메모리(60)는 리프레쉬.메모리와 마찬가지로, 표시 장치(70)에 표시되고 2차원 도형의 화소 도트와 대응하는 기억 셀을 가지는 랜덤.액세스.메모리이다. 전체를 도색하는 도형은, 기술한 절차에 따라서, 작업.메모리(60)에 윤곽선 화소를 기록하고, 다음에 윤곽선에 의하여 정해진 영역의 기억 셀을 2진 1로 설정함으로써, 작업.메모리(60)로 형성된다.
동작에 있어서, 마이크로프로세서(10)는 우선, 제3도에 관하여 설명한 바 같이, 전부 도색하여야할 도형의 윤곽선을 구성하는 일련의 선 세그먼트의 시점과 종점의 좌표 어드레스를 순차로 공급한다. 처리는 하나의 선 세그먼트씩 행하여지고, 각각의 세그먼트는 선 세그먼트-화소 도트 변환 장치(30)에 의하여 근사 화소 도트로 변환된다.
변환 장치(30)는, 이 예에서는, 브레젠함(Bresenham)의 알고리즘에 의하여 동작한다. 브레젠함의 알고리즘은 1965년 발간된 아이비-엠.시스템즈.저널. 제4권, 제1호, 제 25 내지 30페이지에 게재된 "디지탈, 플로터의 컴퓨터 제어를 위한 알고리즘"에 공지된 바와 같다. 이 알고리즘은, 요컨데, 벡터의 시점과 종점의 X좌표 및 Y좌표의 차(△X,△Y)중 긴 편을 장축, 짧은 편을 단축으로 하고, 장축의 값을 시점 좌표치부터 종점 좌표치에 향하여 1좌표치(+1 또는 -1)씩 교환하였을때, 단축의 좌표치를 바꾸지 않거나 또는 1좌표치(+1 또는 -1)교환하는 것을 선택함으로써, 근사점을 생성시키는 것이다.
마이크로프로세서(10)는 변환되어야할 하나의 선 세그먼트의 장축 시점 좌표치와 장축 종점 좌표치 및 단축 시점 좌표치를 변환 장치(30)의 레지스터(31,32,33)에 로드시킨다. 또, 마이크로프로세서(10)는 그러한 선 세그먼트의 장축이 X인가 Y인가를 나타내는 신호를 제어 장치(20)의 레지스터(22)에 셋트시킨다. 이것은 선 세그먼트의 각도에 의존한다. 그리고, 마이크로프로세서(10)는 그러한 선 세그먼트의 시점에서 종점으로 갈때, 장축, 단축 각각의 좌표치를 증가시켜야 할 것인가 또는 감소시켜야 할 것인가를 나타내는 신호를 레지스터(23,24)에 셋트시킨다. 제4도의 예에서는, 장축 =X, 장축 감소, 단축 증가가 셋트된다. 또 윤곽선 기록 모드를 나타내는 신호가 레지스터(25)에 셋트된다. △X=△Y의 경우는, X 또는 Y의 한쪽을 장축으로 하여 지정하면 된다.
레지스터(31)의 장축 시점은 장축 카운터(35)에 셋트되고, 레지스터(33)의 단축 시점은 단축 카운터(36)에 로드된다. 장축 카운터(35)는 제어 논리회로(21)로 부터의 장축 스탭.펄스에 의하여 한개씩 증가 또는 감소된다. 증감의 방향은 레지스터(23)의 셋트 값에 의하여 제어된다. 단축 카운터(36)는 계산 회로(34)부터의 단축 스텝. 펄스에 의하여 한개씩 증가 또는 감소된다. 증감의 방향은 레지스터(24)의 셋트치에 의존한다. 계산 회로(34)는 상기 브레젠함의 알고리즘에 따라, 장축의 1스텝마다 단축=불변 또는 1스텝을 선택함으로써 최그 시점을 판정하고, 단축=1스텝일때 단축 스텝.펄스를 발생시키는 것이다.
장축 카운터(35)의 값은 비교기(37)에 의해 레지스터(32)의 장축 종점치와 비교되고, 변환 장치(30)는, 이 값이 일치할때 까지 동작을 계속한다. 선택기(38)는 레지스터(22)의 장축 지시에 응답하고, 장축=X일때 장축 카운터(35)를 X출력에, 단축 카운터(36)를 Y출력, X출력에 접속하고, 장축=Y일때 장축 카운터(35)와 단축 카운터(36)를 각각 Y출력에 접속시킨다. 장축 카운터(35)와 단축 카운터(36)는 최초시점의 좌표치를 포함하며, 하나의 근사 화소 도트가 결정될때 마다 갱신된다.
리프레쉬.메모리(50) 및 작업.메모리(60)는 X축 방향으로 8비트의 화소 데이타.바이트를 배열하여 기억하는 것이며, 바이트 단위로 억세스된다. 따라서 화소 어드레스를 바이트.어드레스로 변환시키기 위해, 선택기(38)의 α출력의 하위 3비트를 제외하는 X상위 어드레스.비트와 선택기(38)의 Y출력의 Y어드레스.비트의 조합이 어드레스 회로(44)에 주어지고, 기록하여야 할 바이트를 어드레스시킨다. X출력의 하위 3비트는 디코더(39)에 가해지고, 어드레스되는 바이트의 8비트, 즉 8화소 도트중 하위 3비트에 의하여 지정되는 화소 도트를 2진 1로 셋트한 비트.패턴으로 변환된다(예를 들면, 011→00100000).
작업.메모리 액세스는 변환 장치(30)에 있어서 하나의 근사 화소 도트가 바뀔때마다 행하여진다. 윤곽선 기록/전체 도색 동작에서는 각각의 작업.메모리.액세스.사이클의 항상 판독을 하며, 기록의 2스텝 동작을 포함하고 있다. 이것은 제어 논리 회로의 판독/기록 신호 R/W에 의하여 제어된다. 윤곽선 기록 모드에서 우선, 선택기(38)의 X출력의 상위 비트와 Y출력의 비트에 의하여 어드레스 되는 1바이트가 판독된다. 판독된 1바이트와 디코더(39)의 출력은 배타적 OR(Ex-OR ; 40)에 주어진다. 배타적 OR(40)의 출력은 선택기(42)에 주어지지만, 선택기(42)가 윤곽선을 기록할때는 배타적 OR(40)의 출력을 선택하고, 이것을 게이트(43)에 공급한다.
판독 다음에 기록이 계속되지만, 상술의 규칙 2,3에 따라서 시점을 제거하고 또한 1라인 1화소로 윤곽선을 기록할 필요가 있다. 제어 장치(20)의 시점 제어 회로(27)는 레지스터(25)의 윤곽선 모드 신호 및 제어 논리 회로(21)로부터의 윤곽선 기록 개시.사이클.타이밍 신호에 응답하고, 최초의 작업.메모리.액세스.사이클일때 OR(29)를 통하여 게이트(43)를 금지시킨다. 윤곽선 제어 회로(28)는 레지스터(25)의 윤곽선 모드신호, 레지스터(22)의 장축=X의 표시 및 계산 회로(34)로부터의 단축 스텝.펄스 없이 지시에 응답하여, 단축(Y)의 값이 변화하지 않을때 게이트(43)를 금지시킨다. 제3도에 관하여 설명한 것 같이, 동일의 X라인에 복수개의 근사 도트가 발생하는 것은 장축=X의 경우이다.
따라서, 변환 장치(30)는 시점에서 종점까지의 전체 근사 화소 도트를 연결시키는 사이클로 연속적으로 발생하며, 어드레스 회로(44)는 각각의 사이클로 작업.메모리(60)를 액세스하지만, 시점과 불필요한 도트는 기록되지 않게 된다.
각각의 세그먼트 마다 윤곽선 화소의 기록이 행하여지고, 장축 카운터(35)의 값이 레지스터(32)의 장축시점의 값과 동등하게 되었을때, 비교기(37)로부터 장축일치 신호가 발생하며, 이러한 장축 일치 신호는 마이크로프로세서(10)에 보내지고, 하나의 선 세그먼트의 기록 종료를 통지한다.
마이크로프로세서(10)는 장축 일치 신호에 응답하고, 그후 선 세그먼트의 시점과 종점의 좌표치를 레지스터(31,32,33)에 셋트시키고, 마찬가지로 선 세그먼트-화소 도트의 변환 및 윤곽선 화소의 기록을 행한다. 동작은 최종의 선 세그먼트의 처리가 완료될때 까지 동일하게 계속되며, 마이크로프로세서(10)는 최종의 선 세그먼트의 처리에 있어서 비교기(37)로부터 발생된 장축 일치 신호에 응답하여 제어 장치(20)에 제어 논리 회로(21)에 전체 도색 지시 신호(도시치 않음)를 보낸다. 제어 회로(21)는 이것에 응답하여 전체 도색 모드 신호를 발생시키고, 선택기(42)는 전체 도색 모드 신호에 응답하여 전체 도색 회로(41)의 출력을 게이트(43)에 통과시키도록 전환된다. 제어 장치(20)의 전체 도색 어드레스 발생 회로(26)는 전체 도색 모드 신호와 장축 스텝.펄스에 응답하며, 작업.메모리(60)의 데이타를 각 X라인마다 1바이트씩 판독하기 위한 어드레스를 어드레스 회로(44)에 발생시킨다. 제5도는 전체 도색 어드레스 발생 회로(26)의 회로예를 도시한 것이다. 작업.메모리(60)에 기록된 윤곽선을 감싸는 임의의 장방형 영역, 바람직하기는 윤곽선 보다도 약간 큰 장방형 영역의 X시점, X종점, Y종점, Y시점의 값이 마이크로프로세서(10)에 의하여 레지스터(81,82,83,84)에 셋트되고, X시점 레지스터(81), Y시점 레지스터(84)의 값은 X카운터(86), Y카운터(87)에 로드된다.
게이트 회로(85)는 전체 도색 모드 신호에 응답하여 장축 스텝.펄스를 X카운터(86)에 주게된다. 따라서 X카운터(86)는 순차적으로 진행한다. X카운터(86)의 하위 3비트를 제외한 비트와 Y카운터(87)의 비트는 바이트 어드레스로서 어드레스 회로(44)로 주어진다. X카운터(86)의 값이 X종점에 동등하게 되었을때, 비교기(88)는 X일치 출력을 발생시키고, Y카운터(87)를 +1로 함과 동시에 X카운터(86)를 리셋트시키고, X시점을 X카운터(86)에 다시 로드시킨다. 마찬가지로 동작이 계속되고, Y카운터(87)의 값이 Y종점에 동등하게 되었을때, 비교기(89)는 Y일치 출력을 발생시킨다. 지정된 장방형 영역의 전체 바이트의 판독이 종료 하였을때, X일치 출력과 Y일치 출력이 발생하며, AND회로는 전체 도색 완료 신호를 마이크로프로세서(10)에 보낸다.
제6도는 전체 도색 회로(41)를 도시한 것이다. 전체 도색 회로는 하나의 래치와 8개의 배타적 OR회로로 구성되며, 래치의 입력은 비트(0)의 배타적 OR의 출력에 접속되고, 그 출력은 비트(7)의 배타적 OR의 입력에 접속되며, 비트(7 내지 2)의 배타적 OR는 비트(6 내지 0)의 배타적 OR의 입력에 접속된다. 판독된 1바이트는 비트(7 내지 0)의 입력 단자에 주어진다. 예를 들면, 판독된 바이트의 비트 6=2진 1이고, 이것을 최초의 홀수번째의 윤곽선 화소 도트로 하면, 비트(6 내지 0)의 배타적 OR는 1출력을 발생시킨다. 래치는 제어 논리 회로(21)로부터의 리셋트 신호인 ST(제1도에서는 도시치 않음)에 의하여 동작 개시전에 리셋트되기 때문에, 비트 7=0이며, 따라서 01111111과 같은 바이트.어드레스에 기억된다. 기록후 제어 논리 회로(21)로부터의 기록 완료 신호(W/C)(제1도에서는 도시치 않음)에 의하여 비트(0)의 EX-OR의 2진 1출력이 래치에 기억되며, 비트(7)의 배타적 OR의 입력에 1를 준다. 따라서 이 회로는 그후 2진 0의 화소 비트가 판독되는 한 모두 2진 1의 출력을 발생시킨다. 최초의 짝수번째의 윤곽선 화소 도트가 있는 바이트의 비트(5)로 생성되면, 비트(5)의 배타적 OR는 2진 0을 발생시키고, 비트(4 내지 0)도 2진 0으로 된다. 따라서, 최초의 홀수, 짝수 도트간의 전체 도색이 종료되고, 래치는 0으로 셋트된다. 두번째의 홀수 도트가 검출되었을때, 동일하게 다음의 짝수 도트까지 전체 도색되는 기록이 행하여진다. 래치는 각각의 X라인의 주사 종료후 리셋트된다. 이 회로에 의하면, 짝수번째의 윤곽선 화소가 소거된다.
전체 도색후, 마이크로프로세서(10)는 어드레스 회로(44)에 어드레스를 주고, 작업.메모리(60)의 전체 도색된 도형을 1바이트씩 판독하며, 이것을 리프레쉬.메모리(50)에 기록한다. 전체 도색된 도형은 리프레쉬.메모리(50)의 임의의 위치에 기록할 수가 있다. 흑백 표시의 경우 리프레쉬.메모리(50)는 단일의 메모리.플랜을 가지지만, 1화소당 복수 비트로 계조 표시 또는 칼라 표시하는 경우, 비트 대응으로 복수의 메모리. 플랜을 가질 수 있다. 이 경우, 메모리.어드레스 입력 및 데이타 입력은 각각의 메모리. 플랜으르 공통으로 주고, 기록되는 플랜을 선택함으로써, 소망의 계조 또는 칼라 전체 도색 도형을 리프레쉬.메모리에 기억할 수 있다.
마지막으로, 본 발명의 잇점에 대하여 설명하겠다.
(1) 우선, 상향 또는 하향의 정점이 복수개 있는 바와 같은 복잡한 도형이라도 간단하게 또한 고속으로 전체 도색을 할 수 있다.
(2) 간단히 정점을 제거할 뿐만 아니라, 전체 도색 단계에서 짝수개의 윤곽선 화소를 오프로 함으로써, 정점의 제거에 의한 원 도형의 형상의 왜곡을 최소로 할 수 있다.
(3) 수평한 선 세그먼트를 생략하기 위해, 벡터 지정이 간단하게 된다.
(4) 교차하는 선을 포함하는 도형이라도 전부 도색할 수 있다. 예를 들면 제7도의 도형인 경우 P1→P3, P2→P4의 2개의 선 세그먼트로 윤곽선을 지정할 수 있지만, 화소 P5는 세그먼트 P1→P3로 기록되고, 화소 P5는 세그먼트 P1→P3로 기록되며, 세그먼트 P2→P4의 EX-OR기록에 의하여 2진 0으로 되기 때문에, 교차 처리없이 전체를 도색할 수 있다.
(5) 짝수번째의 윤곽선 화소를 제거함으로써, 경계선을 완전히 일치시킨 형으로 인접 도형의 전체 도색을 행할 수가 있다.
예를 들면, 이전의 전체 도색 도형에 접하는 전체 도색 도형을 추가하기도 하고 또는 이전의 도형과 다른색으로 인접 전체 도색 도형을 표시하기도 하는 경우에, 앞의 도형을 리프레쉬.메모리로 이동시킨후, 이전의 도형과 인접한 도형을 만들 필요가 있다. 이와 같은 경우, 본 발명에서는 도형으로 사용한 선 세그먼트를 사용하여 윤곽선을 그릴 수가 있다. 예를 들면 제3도에 있어서, 선 세그먼트 P→P3, P1→P15, P10→P7, P10→P12를 지정하여 전부 도색하면, 상.우.하측에서 이전의 도형과 접한 전체 도색 도형을 얻을 수가 있다. 화소 P10은 기록되지 않기 때문에 이전의 도형과 간섭하는 일은 없다. 또 화소 P9, P8, P7는 기록되지만, 화소 P11, P12는 전체 도색 단계에서 제거된다. 따라서, 이전의 도형과 부분적으로 겹치거나 혹은 인접하는 도형간에 간격이 생기지 않는다.
본 명세서에서는 특정의 예에 대하여 명시하였지만, 본 발명의 범위내에서 여러가지의 변경이 가능한 것은 명백할 것이다. 예를 들면, 본 발명에서는 별개의 전체 도색 어드레스 발생 회로(26)를 사용하였지만, 회로(26)와 변환 장치(30)의 유사성에서 명백한 바와 같이, 회로(26) 대신에 변환 장치(30)를 이용할 수가 있다. 이 경우에, 회로(26)의 레지스터(81,82,84)대신 변환 장치(30)의 레지스터(31,32,33)가 사용되지만,Y종점 레지스터(83)에 대응하는 단축 종점 레지스터, 비교기(89)에 대응하는 비교기 및 AND회로(90)에 대응하는 AND회로를 추가할 필요가 있다. 또, 전체 도색 모드에 있어서, 비교기(37)의 출력을 단축 스텝.펄스로서 단축 카운터(36)에 게이트시킬 필요가 있지만, 이것들의 제어는 명백할 것이다. 또한, 실시예에서 시점의 제거 및 1라인 1화소의 제어를 데이타.게이트(43)의 금지에 의하여 행하였지만, 예를 들면 변환 장치(30)의 출력에 동일한 금지 게이트를 설치하는 것도 할 수 있을 것이다.
본 발명에 의하면, 복잡한 도형이라도, 간단하게 또한 고속으로 전부 오색할 수 있다.

Claims (1)

  1. 도형 재생 장치(70)와, 2차원 도형의 화소 데이타를 기억하는 기억 셀을 가지는 랜덤.액세스.메모리(60)를 구비하고, 상기 메모리에 상기 도형 재생 장치로 재생하기 위한 전체 도색 도형을 발생하는 그래픽 도형 처리 장치에 있어서, (가) 도형의 윤곽선을 구성하는 일련의 선 세그먼트중 수평한 선 세그먼트를 제외한 각각의 선 세그먼트를 한 방향에서 지정하기 위한 수단(10)과, (나) 지정된 각각의 선 세그먼트의 근사 화소를 발생시키기 위한 수단(21,22,23,24,30,38,39)과, (다) 상기 발생 수단에 응답하고, 각각 선 세그먼트의 시점을 포함하지 않으며, 각각의 선 세그먼트를 수평 라인당 1화소로 나타내는 화소를, 상기 메모리의 대응좌표 어드레스의 판독 화소 데이타와의 배타적 OR를 최하여 상기 메모리에 기록 윤곽선 화소를 설정하기 위한 수단(21,25,27,28,40,42,43,44)과, (라) 상기 랜덤.액세스.메모리에 기록된 윤곽선 화소를 라인 단위로 주사하고, 각각의 라인의 홀수번째의 윤곽선 화소와 다음에 나타내는 짝수번째의 윤곽선 화소와의 사이에 기억 셀을 온으로 설정하기 위한 수단(21,26,41,42,43,44)를 구비하는 것을 특징으로 하는 도형처리 장치.
KR1019860001372A 1985-04-24 1986-02-27 도형 처리 장치 KR900008399B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP86478 1985-04-24
JP60086478A JPS61249175A (ja) 1985-04-24 1985-04-24 図形処理装置

Publications (2)

Publication Number Publication Date
KR860008486A KR860008486A (ko) 1986-11-15
KR900008399B1 true KR900008399B1 (ko) 1990-11-20

Family

ID=13888079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019860001372A KR900008399B1 (ko) 1985-04-24 1986-02-27 도형 처리 장치

Country Status (10)

Country Link
US (1) US4763119A (ko)
EP (1) EP0199989B1 (ko)
JP (1) JPS61249175A (ko)
KR (1) KR900008399B1 (ko)
CN (1) CN1008486B (ko)
DE (1) DE3686664T2 (ko)
GB (1) GB2174278B (ko)
HK (1) HK98489A (ko)
IN (1) IN166029B (ko)
SG (1) SG67489G (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087569B2 (ja) * 1985-06-21 1996-01-29 株式会社日立製作所 表示制御装置
US5262767A (en) * 1985-06-21 1993-11-16 Hitachi, Ltd. Display control device
EP0280320B1 (en) * 1987-02-27 1994-12-07 Nec Corporation Graphics display controller equipped with boundary searching circuit
EP0293698B1 (en) * 1987-05-20 1994-08-17 Nec Corporation Graphic controller having function of painting designated area
JPS649507A (en) * 1987-07-02 1989-01-12 Fanuc Ltd Nc data preparing system
JPS6482283A (en) * 1987-09-25 1989-03-28 Dainippon Screen Mfg Image data converter having segment end point correcting function
JPH07118024B2 (ja) * 1988-01-30 1995-12-18 株式会社東芝 パターンデータ生成方式
US5016189A (en) * 1988-07-06 1991-05-14 Ricoh Company, Ltd. Area filling device
JP2690110B2 (ja) * 1988-08-15 1997-12-10 沖電気工業株式会社 走査変換方法
JPH0259803A (ja) * 1988-08-25 1990-02-28 Fanuc Ltd コーナ部形状挿入方法
JPH0266686A (ja) * 1988-09-01 1990-03-06 Jiyasuto Syst:Kk 閉領域の塗りつぶし方式及びこの方式を適用した文字発生装置
JPH0277889A (ja) * 1988-09-14 1990-03-16 Ricoh Co Ltd 図形塗りつぶし方式
US5073956A (en) * 1988-10-25 1991-12-17 Brother Kogyo Kabushiki Kaisha Apparatus for converting image outline data into dot data representative of dots to be formed
US5228097A (en) * 1989-02-07 1993-07-13 Ezel, Inc. Method for registering image data
JP2580759B2 (ja) * 1989-02-28 1997-02-12 ブラザー工業株式会社 データ変換方法
JPH02231687A (ja) * 1989-03-06 1990-09-13 Brother Ind Ltd 描画データ作成装置
US5073960A (en) * 1989-05-18 1991-12-17 Sharp Kabushiki Kaisha Image processing method using improved Bresenham algorithm in creating an outline of a figure to be painted and apparatus adopting the method
US5153748A (en) * 1989-09-28 1992-10-06 Eastman Kodak Company Detection of gaps in scanned images
JPH03170999A (ja) * 1989-10-02 1991-07-24 Xerox Corp 迅速ハーフビティング・ステッパ方法
JPH03222077A (ja) * 1990-01-26 1991-10-01 Fujitsu Ltd 輪郭塗り潰し回路
US5351315A (en) * 1990-02-21 1994-09-27 Ricoh Company, Ltd. Apparatus for smoothing outlines of images
GB2252024B (en) * 1991-01-09 1995-01-25 Du Pont Pixel Systems Graphics accelerator system with fill area set operations
US5266941A (en) * 1991-02-15 1993-11-30 Silicon Graphics, Inc. Apparatus and method for controlling storage of display information in a computer system
US5448692A (en) * 1991-03-27 1995-09-05 Ricoh Company, Ltd. Digital image processing device involving processing of areas of image, based on respective contour line traces
DE69227073D1 (de) * 1991-07-12 1998-10-29 Canon Kk Bildverarbeitung
US5579409A (en) * 1991-09-27 1996-11-26 E. I. Du Pont De Nemours And Company Methods for determining the exterior points of an object in a background
US5371810A (en) * 1991-09-27 1994-12-06 E. I. Du Pont De Nemours And Company Method of determining the interior points of an object in a background
US5375177A (en) * 1991-09-27 1994-12-20 E. I. Du Pont De Nemours And Company Method of identifying and characterizing a valid object by color
US6058209A (en) * 1991-09-27 2000-05-02 E. I. Du Pont De Nemours And Company Method for resolving redundant identifications of an object
JP2625612B2 (ja) * 1992-07-20 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 画像処理方法および画像処理装置
US5305431A (en) * 1992-08-18 1994-04-19 International Business Machines Corporation Method and system for rendering polygons on a raster display
US5371843A (en) * 1992-10-16 1994-12-06 International Business Machines Corporation Method and system for filling non-complex polygons using vertical spans
DE69324378T2 (de) * 1992-12-30 1999-11-18 Advanced Displays Corp Autonome multifunktionelle flüssigkristallanzeige
US5872553A (en) * 1994-10-28 1999-02-16 Advanced Displays Corporation High speed graphics fill of liquid crystal display
US6137471A (en) * 1995-07-24 2000-10-24 L-3 Communications Corporation High speed graphics fill of liquid crystal display
JPH1055166A (ja) * 1996-08-09 1998-02-24 Mitsubishi Electric Corp 多角形塗りつぶしアクセラレータ
US7466319B1 (en) * 2002-01-08 2008-12-16 3Dlabs System and method for fast gradient pixel clears in graphics rendering

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4189743A (en) * 1976-12-20 1980-02-19 New York Institute Of Technology Apparatus and method for automatic coloration and/or shading of images
JPS5971093A (ja) * 1982-10-18 1984-04-21 株式会社日立製作所 塗潰し図形発生装置
US4646076A (en) * 1983-04-27 1987-02-24 Sperry Corporation Method and apparatus for high speed graphics fill
US4658247A (en) * 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system

Also Published As

Publication number Publication date
CN1008486B (zh) 1990-06-20
JPS61249175A (ja) 1986-11-06
EP0199989B1 (en) 1992-09-09
US4763119A (en) 1988-08-09
KR860008486A (ko) 1986-11-15
JPH0154752B2 (ko) 1989-11-21
SG67489G (en) 1990-01-26
GB8531237D0 (en) 1986-01-29
EP0199989A2 (en) 1986-11-05
DE3686664T2 (de) 1993-04-08
HK98489A (en) 1989-12-22
GB2174278B (en) 1989-07-12
DE3686664D1 (de) 1992-10-15
IN166029B (ko) 1990-03-03
EP0199989A3 (en) 1989-03-22
GB2174278A (en) 1986-10-29
CN86100088A (zh) 1986-10-22

Similar Documents

Publication Publication Date Title
KR900008399B1 (ko) 도형 처리 장치
US4129859A (en) Raster scan type CRT display system having an image rolling function
US3936664A (en) Method and apparatus for generating character patterns
US4849747A (en) Display data transfer control apparatus applicable for display unit
US6181353B1 (en) On-screen display device using horizontal scan line memories
EP0139932A2 (en) Apparatus for generating the display of a cursor
US4853971A (en) Method and apparatus for processing image data
JP2560133B2 (ja) 画像統合処理装置
JPS63201793A (ja) ビデオ・アダプタ
US4642625A (en) Graphic processor for color and positional data of an image to be displayed
EP0235298A1 (en) Image processor
US6057825A (en) Image processing apparatus with paint-in of outline interiors
JP2752439B2 (ja) 画像出力方法
CA1200025A (en) Graphic and textual image generator for a raster scan display
US5606656A (en) Image data processing unit for forming a plurality of identical images in a single output image area
KR100266930B1 (ko) 다각형등의도형을묘화하는방법및표시제어장치
EP0454065A2 (en) Cursor generating apparatus
JPH04199975A (ja) 画像形成装置
US5583955A (en) Image processing apparatus
JP3129717B2 (ja) 画像処理装置および画像処理方法
KR940006808B1 (ko) 커서 발생 장치
US5680153A (en) Image Processing apparatus
KR930008177B1 (ko) 화상 처리 장치
JPS602670B2 (ja) 表示制御方式
KR930004642B1 (ko) 화상의 경계 검출 처리장치

Legal Events

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

Payment date: 19951025

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee