KR100324755B1 - 그래픽 처리기의 클리핑 장치 및 방법 - Google Patents

그래픽 처리기의 클리핑 장치 및 방법 Download PDF

Info

Publication number
KR100324755B1
KR100324755B1 KR1019990034367A KR19990034367A KR100324755B1 KR 100324755 B1 KR100324755 B1 KR 100324755B1 KR 1019990034367 A KR1019990034367 A KR 1019990034367A KR 19990034367 A KR19990034367 A KR 19990034367A KR 100324755 B1 KR100324755 B1 KR 100324755B1
Authority
KR
South Korea
Prior art keywords
clipping
coordinate
unit
pattern
coordinates
Prior art date
Application number
KR1019990034367A
Other languages
English (en)
Other versions
KR20010018408A (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 구자홍
Priority to KR1019990034367A priority Critical patent/KR100324755B1/ko
Publication of KR20010018408A publication Critical patent/KR20010018408A/ko
Application granted granted Critical
Publication of KR100324755B1 publication Critical patent/KR100324755B1/ko

Links

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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 그래픽 처리기의 클리핑 장치 및 방법에 관한 것으로, 종래의 기술에 있어서의 포스트 클리핑 장치는 회로의 구현이 간단한 반면 클리핑 상태에 무관하게 드로잉 명령에 의해 드로잉 객체가 위치할 전 영역을 스캔하면서 바이트 마스크를 생성하므로 속도가 떨어지는 문제점이 있었고, 또한 그래픽 데이터 처리부와의 타이밍을 맞추기 위해 스캔하는 모든 영역에 대해 생성된 바이트 마스크를 저장하기 위한 별도의 마스크 데이터 저장부를 구비해야 하기 때문에 전체적인 하드웨어의 크기가 증가하게 되는 문제점이 있었다. 따라서, 본 발명은 드로잉 명령의 크기와 위치를 클리핑 조건과 미리 비교/계산하여 드로잉할 객체의 시작과 끝점에 대한 정보에 의해 실제 디스플레이되어지는 유효한 영역의 데이터만을 선별하여 바이트 마스크를 생성함으로써 데이터 처리 시간을 줄이고, 데이터 처리부와의 타이밍을 맞추기 위한 별도의 마스크 데이터 저장부를 제거할 수 있게 되어 하드웨어의 크기도 줄일 수 있는 효과가 있다.

Description

그래픽 처리기의 클리핑 장치 및 방법{CLIPPING APPARATUS AND METHOD FOR GRAPHIC PROCESSOR}
본 발명은 그래픽 처리기의 클리핑 장치 및 방법에 관한 것으로, 특히 자동으로 클리핑 상태를 판단하여 유효한 클리핑 포인트로 바로 점프하도록 함으로써 실제로 디스플레이되어질 영역에만 디스플레이되게 하여 그래픽 처리 속도를 향상시키고, 바이트 마스크를 저장하기 위한 메모리를 제거하여 하드웨어 크기를 최소화할 수 있도록 하는 그래픽 처리기의 클리핑 장치 및 방법에 관한 것이다.
현재까지 사용자 인터페이스를 통한 문자(text)나 그래픽(graphic)의 디스플레이 방법으로는 오에스디(OSD : On Screen Display)가 널리 사용 되어져 왔으나, 티브이의 사용자 인터페이스를 통한 그래픽 디스플레이 기능의 지속적인 업그레이드(upgrade)가 이루어지면서 기존 오에스디의 비압축 엔코딩/디코딩 방식에 한계를 느끼게 되었고, 보다 강한 그래픽 환경을 제공하기 위해 그래픽 처리기(2D graphic processor)를 개발하게 되었다.
도1은 일반적인 그래픽 처리기의 구성을 보인 블록도로서, 이에 도시된 바와 같이 그래픽을 디스플레이 하기 위한 각종 제어 명령 및 레지스터 세팅 명령을 발생하는 호스트(1)와; 상기 호스트(1)에서 발생한 각종 드로잉(drawing) 명령 및 클리핑 제어 명령등을 처리하여 디스플레이시킬 그래픽 데이터를 출력하는 그래픽 엔진부(2)와; 상기 그래픽 엔진부(2)를 통해 처리된 그래픽 데이터를 메모리부(3)에 입/출력하기 위한 메모리 제어부(4)와; 상기 호스트(1)의 라스터(raster) 및 칼라 제어 명령등에 의해 상기 그래픽 엔진부(2)에서 연산 처리된 그래픽 데이터를 디스플레이시키는 디스플레이부(5)로 구성된다.
다음, 상기 그래픽 엔진부(2)는 상기 호스트(1)에서 출력되는 명령들을 선입선출 방식으로 임시 저장하기 위한 명령 저장부(6)와; 그래픽 처리 알고리즘에 의해 상기 명령 저장부(6)를 통해 입력받은 명령을 디코딩하는 클리핑 연산부(7)와; 상기 클리핑 연산부(7)에서 디코딩된 명령과 레지스터 세팅 정보등을 입력받아 실제로 디스플레이될 포맷(format)의 데이터를 발생하는 데이터 처리부(8)와; 상기 각 구성부에서 연산 처리된 그래픽 데이터를 메모리부(3) 또는 디스플레이부(5)로 입/출력 시키는 데이터 인터페이스부(9)로 구성된다.
특히, 상기 클리핑 연산부(7)는 그래픽 처리기의 특성을 결정하는 곳으로 호스트(1)로 부터의 여러 드로잉(drawing) 명령들(라인, 사각형, 문자, 변환...등)과 클리핑 명령, 어드레스 지정 명령등을 디코딩하는 역할을 수행하며, 여기서 드로잉 명령들(라인, 사각형, 문자, 변환...등)에 의해 디스플레이되는 라인등을 객체(object)라고 한다.
다음, 도2는 상기 클리핑 연산부(7)의 구성을 보인 블록도로서, 이에 도시된 바와 같이 상기 명령 저장부(6)를 통해 입력받은 명령을 데이터 처리를 할 동안 임시 기록해 두기 위한 레지스터부(7a)와; 상기 레지스터부(7a)를 통해 드로잉 명령들을 디코딩하여 디스플레이할 그래픽의 수평폭 및 X/Y 좌표를 계산하는 좌표 계산부(7b)와; 상기 좌표 계산부(7b)를 통해 계산된 결과와 클리핑 영역을 비교하는 클리핑 로직부(7c)와; 상기 클리핑 로직부(7c)를 통해 비교된 결과에 의해 객체가 위치한 전 영역의 바이트 마스크(byte mask)를 생성하는 바이트 마스크 발생부(7d)와; 상기 좌표 계산부(7b)를 통해 계산된 좌표에 의해 바이트 마스크 어드레스를 생성하는 어드레스 발생부(7e)와; 상기 바이트 마스크 발생부(7d)에서 생성된 바이트 마스크를 데이터 처리부(8)와의 타이밍을 맞추기 위해 선입선출 방식으로 저장하는 마스크 데이터 저장부(7f)로 구성된다.
여기서, 특히 데이터 처리부(8)는 어드레스 발생부(7e)에서 계산되어진 어드레스와 바이트 마스크 데이터를 이용하여 데이터 처리 단위로 디스플레이부(5)에 출력한다.
이와 같이 클리핑 상태에 관계없이 객체가 위치하는 전 영역을 스캔하여 바이트 마스크를 생성하는 방식을 포스트 클리핑(post clipping) 방식이라고 한다.
즉, 상기와 같은 종래의 포스트 클리핑 방식은 호스트(1)로부터 드로잉 명령이 발생하면 이를 디코딩하여 디스플레이시킬 데이터 포맷으로 그래픽 데이터를 생성하고, 이를 클리핑 영역과 비교하여 객체가 클리핑 영역에 속할 경우에는 그 부분의 비트 데이터를 반전시키는 등의 방법에 의해 수정하여 객체가 위치할 전 영역에 대해서 데이터 처리 단위로 바이트 마스크를 생성시키고, 상기와 같이 생성된 바이트 마스크를 메모리부(3)에 순차로 저장시켜 둔 다음 이를 차례로 인출하여 디스플레이 시키게 된다.
그러나, 상기와 같이 종래의 기술에 있어서의 포스트 클리핑 장치는 회로의 구현이 간단한 반면 클리핑 상태에 무관하게 드로잉 명령에 의해 드로잉 객체가 위치할 전영역을 스캔하면서 바이트 마스크를 생성하므로 속도가 떨어지는 문제점이 있었고, 또한 그래픽 데이터 처리부와의 타이밍을 맞추기 위해 스캔하는 모든 영역에 대해 생성된 바이트 마스크를 저장하기 위한 별도의 마스크 데이터 저장부를 구비해야 하기 때문에 전체적인 하드웨어의 크기가 증가하게 되는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, 드로잉 객체의 크기와 위치를 클리핑 조건과 미리 비교/계산하여 드로잉할 시작/끝점의 좌표에 의해 실제 디스플레이되어지는 유효한 영역의 데이터만을 선별하여 바이트 마스크를 생성함으로써 데이터 처리 시간을 줄일 수 있고, 또한 클리핑 영역에 대해서는 바이트 마스크를 생성하지 않기 때문에 데이터 처리부와의 타이밍을 맞추기 위한 별도의 마스크 데이터 저장부를 둘 필요가 없게 되어 전체적인 하드웨어의 크기도 줄일 수 있도록 하는 장치 및 방법을 제공함에 그 목적이 있다.
도1은 일반적인 그래픽 처리기의 구성을 보인 블록도.
도2는 상기 도1에서 클리핑 연산부의 구성을 보인 블록도.
도3은 본 발명에 의해 프리 클리핑을 위한 클리핑 연산부의 동작 흐름을 보인 순서도.
도4는 본 발명에 의해 프리 클리핑을 위한 클리핑 연산부의 구성을 보인 블록도.
도5는 상기 도4에서 축거리 계산부의 구성예를 보인 블록도.
도6은 본 발명에 의해 구분되는 클리핑 패턴의 종류를 보인 예시도.
***도면의 주요 부분에 대한 부호의 설명***
10 : 레지스터부 20 : 좌표 계산부
30 : 프리 클리핑부 30a : 축거리 계산부
30b : 클리핑 패턴 발생부 301 : 연산 좌표값 선택부
302 : 드로잉 좌표 출력부 303 : 클리핑 좌표 출력부
304 ; 좌표 연산부 30c : 드로잉 좌표 수정부
40 : 어드레스 발생부 40a : 어드레스 발생기
40b : 시작/끝 바이트 마스크 연산기
MUX1∼MUX5 : 멀티플렉서 DMUX1,DMUX2 : 디멀티플렉서
DES1 : 상태 판단부 SUM1 : 덧셈기
SUB1 : 뺄셈기 ABS1 : 절대값 계산부
이와 같은 목적을 달성하기 위한 본 발명은, 그래픽 처리기에 있어서, 드로잉 명령(박스, 라인,... 등)을 디코딩하여 스캔 하기 위한 형태로 변환한 후 각 스캔라인의 시작 좌표값과 폭(span width)을 계산하는 좌표 계산부와; 상기 좌표 계산부로부터 계산된 드로잉 객체의 X/Y 좌표와 폭을 클리핑 영역의 좌표와 비교하여 결정된 클리핑 패턴으로 클리핑이 완료된 새로운 드로잉 객체의 좌표값을 생성하는 프리 클리핑부와; 상기 프리 클리핑부의 새로운 드로잉 객체의 좌표값에 의해 실제 라이트될 메모리부의 어드레스 및 길이, 시작/끝점의 마스크 정보등을 생성하는 어드레스 발생부를 포함하여 구성한 것을 특징으로 한다.
이하, 본 발명에 따른 일실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도3은 본 발명에 의해 프리 클리핑을 위한 클리핑 연산부의 동작 흐름을 보인 순서도로서, 이에 도시한 바와 같이 일단, 호스트로부터 입력된 드로잉 명령을 디코딩하여 디코딩된 드로잉 객체의 X/Y 좌표와 폭을 산출한다.
다음, 상기 산출된 드로잉 객체의 좌표를 클리핑 영역의 좌표와 비교하여 패턴 결정을 위한 패턴 파라메터를 산출하고, 그 산출된 파라메터에 의해 클리핑 패턴을 결정한다.
다음, 드로잉 객체의 좌표를 상기에서 결정된 클리핑 패턴에 의해 클리핑이 완료된 값으로 변환하여 수정하고, 그 변환된 드로잉 객체의 좌표로 바이트 마스크를 생성시킨다.
따라서, 종래에는 상기와 같이 드로잉 객체의 좌표 정보를 이용하지 않기 때문에 데이터 처리부와의 타이밍을 맞추기 위해서는 클리핑 영역을 포함한 전 영역을 스캔하여 바이트 마스크를 생성하여 마스크 데이터 저장부에 저장하였으나 본 발명에서는 전 영역을 스캔하지 않고도 좌표 계산에 의해 클리핑 영역은 건너뛰게 하여 드로잉되지 않도록 새로운 드로잉 좌표를 만들어 이에 의해 바이트 마스크를 생성함으로써 마스크 데이터 저장부의 필요성이 없어지게 된다.
도4는 본 발명에 의해 프리 클리핑을 위한 클리핑 연산부의 구성을 보인 블록도로서, 이에 도시한 바와 같이 레지스터부(10)를 통해 입력받은 드로잉 명령(박스, 라인,... 등)을 디코딩하여 스캔 하기 위한 형태로 변환한 후 각 스캔라인의 시작 좌표값과 폭(span width)을 계산하는 좌표 계산부(20)와; 상기 좌표 계산부(20)로부터 계산된 드로잉 객체의 X/Y 좌표와 폭을 클리핑 영역의 좌표와 비교하여 결정된 클리핑 패턴으로 클리핑이 완료된 새로운 드로잉 객체의 좌표값을 생성하는 프리 클리핑부(30)와; 상기 프리 클리핑부(30)의 새로운 드로잉 객체의 좌표값에 의해 실제 라이트될 메모리부의 어드레스 및 길이, 시작/끝점의 마스크 정보등을 생성하는 어드레스 발생부(40)로 구성된다.
여기서, 프리 클리핑부(30)는 상기 좌표 계산부(20)로부터 계산된 X/Y 좌표와, 폭을 클리핑 영역의 X/Y축의 좌표와 비교하여 클리핑 패턴 발생부(30b)에서 클리핑 패턴을 결정할 수 있도록 하는 패턴 파라메터를 산출하는 축거리 계산부(30a)와; 상기 축거리 계산부(30a)로부터 산출된 파라메터 정보와 스캔방향(scan direction) 정보를 이용하여 디스플레이될 객체의 클리핑 패턴을 결정하는 클리핑 패턴 발생부(30b)와; 상기 축거리 계산부(30a)에서 계산된 파라메터 정보와 클리핑 패턴 발생부(30b)의 클리핑 패턴 정보를 이용하여 드로잉 객체의 X/Y축 좌표와 폭 정보를 클리핑이 완료된 새로운 좌표값으로 수정 변환하는 드로잉 좌표 수정부(30c)로 구성한다.
이하, 상기와 같이 구성된 본 발명의 동작 및 작용을 설명하면 다음과 같다.
일단, 좌표 계산부(20)는 레지스터부(10)를 통해 입력받은 드로잉 명령(박스, 라인,... 등)을 디코딩하여 수평스캔을 하기 위한 형태로 변환한 후 각 스캔라인의 시작 좌표값과 폭(span width)을 계산하고, 계산이 완료됨과 동시에 타이머가 구동되도록 한다.
다음, 축거리 계산부(30a)는 좌표 계산부(20)로부터 계산된 계산된 드로잉 객체의 X/Y 좌표와, 폭을 클리핑 영역의 좌표값과 비교하여 클리핑 패턴 발생부(30b)에서 어떤 클리핑 패턴인지를 결정할 수 있도록 하는 패턴 파라메터를 제공한다.
이에 따라 클리핑 패턴 발생부(30b)에서는 축거리 계산부(30a)로부터 산출된 패턴 파라메터 정보와 스캔방향(scan direction) 정보를 이용하여 객체의 클리핑 패턴을 결정한다.
다음, 드로잉 좌표 수정부(30c)는 상기 축거리 계산부(30a)에서 계산된 패턴 파라메터 정보와 클리핑 패턴 발생부(30b)의 클리핑 패턴 정보를 이용하여 좌표 계산부(20)에서 산출한 드로잉 객체의 X/Y축 정보와 폭 정보를 클리핑이 완료된 새로운 값으로 변환하여 수정된 X/Y축 좌표, 폭 정보를 어드레스 발생부(40)에 전달한다.
즉, 종래와 같이 드로잉 객체와 클리핑 영역이 겹치는 부분을 '0'으로 비트 치환하지 않고, 건너뛰도록 하기 위해 시작/끝점의 정보를 가지는 가지는 새로운 드로잉 객체의 좌표로 수정하는 것이다.
이에 따라 어드레스 발생부(40)에서는 프리 클리핑부(30)의 클리핑이 완료된 폭 정보에 의해서 어드레스 발생기(40a)를 통해 메모리부에 실제 라이트될 드로잉 어드레스와 시작/끝 바이트 마스크 연산기(40b)를 통해 워드단위로 라이트되는 길이, 폭 데이터의 픽셀 베이스 설정을 위한 시작/끝점의 마스크 정보를 데이터 처리부(8)에 전달한다.
이에 따라, 데이터 처리부(8)는 클리핑 연산부(7)로부터 상기와 같은 정보들을 입력받아 데이터 조작을 수행하고, 라스터/칼라 제어동작을 하여 디스플레이부(5)를 통해 최종적으로 디스플레이 되게 한다.
다음, 도5는 상기 축거리 계산부(30a)의 구성예를 보인 블록도로서, 이에 도시한 바와 같이 스캔 방향(scan direction)에 따라서 드로잉 객체의 시작점 또는 끝점과 클리핑 영역의 끝점 또는 시작점의 좌표와 폭을 입력받도록 선택하는 연산 좌표값 선택부(301)와; 상기 연산 좌표값 선택부(301)에 의해 연산될 드로잉 객체의 시작점 또는 끝점의 좌표를 선택적으로 출력하는 드로잉 좌표 출력부(302)와; 상기 연산 좌표값 선택부(301)에 의해 연산될 클리핑 영역의 시작점 끝점의 좌표 또는 폭을 선택적으로 출력하는 클리핑 좌표 출력부(303)와; 상기 드로잉 좌표 출력부(302)와 클리핑 좌표 출력부(303)로부터 입력된 좌표 또는 폭을 가/감산하여 패턴 파라메터(dx0c0∼dx1c0) 또는 건너뜀 길이(hopping length)와 새로 계산된 드로잉 객체의 좌표값을 출력하는 좌표 연산부(304)로 구성된 것으로, 이에 대한 동작 및 작용을 설명하면 다음과 같다.
일단, 상기 연산 좌표값 선택부(301)는 셋업타임(setup time)이 입력되는 동안 앤드게이트(AND1)를 통해 스캔방향 신호(scan direction)를 입력받아 각 구성부의 제어신호로 사용하게 된다.
다음, 상기 드로잉 좌표 출력부(302)는 셋업타임(setup time)이 입력되는 동안 먼저 멀티플렉서(MUX1)로 입력되는 드로잉 객체의 시작점(start X axis) 또는 후에 각 구성부를 거쳐 피드백되는 끝점(end X axis)을 순차 출력하고, 이를 입력받는 디멀티플렉서(DMUX1)는 상기 앤드게이트(AND1)를 통해 출력되는 스캔방향신호(scan direction)에 의해 상기 멀티플렉서(MUX1)에서 출력되는 값의 출력방향을 선택한다.
다음, 클리핑 좌표 출력부(303)는 멀티플렉서(DMUX5)로 입력되는 클리핑 영역의 시작점과 끝점의 좌표(start/end clip X axis) 각 구성부를 거치면서 출력되는 패턴 파라메터에 의해 계산된 폭 정보 중에서 상태 판단부(DES1)의 선택신호에 의해 하나를 선택하여 멀티플렉서(MUX4)에 입력하면 상기 멀티플렉서(MUX4)는 스캔방향 신호(scan direction)에 드로잉 객체의 폭(span width)중 하나를 선택하여 출력한다.이에 따라, 좌표 연산부(304)에서는 상기 멀티플렉서(MUX4)에서 출력되는 값을 덧셈기(SUM1)와 뺄셈기(SUB1)에 입력받아 상기 드로잉 좌표 출력부(302)에서 출력되는 상태에 따라 동작하여 멀티플렉서(MUX3)를 통해 드로잉 객체의 끝점(end X axis) 좌표를 출력하고, 또한 디멀티플렉서(DMUX2)를 통해 클리핑 패턴 발생부(3b)로 입력될 패턴 파라메터(dx0c0∼dx1c0) 또는 건너뜀 길이(hopping length) 정보를 출력하게 된다.
좀 더 구체적으로 상기 클리핑 패턴 발생부(3b)로 입력되는 패턴 파라메터들은 또한 절대값 계산부(ABS1)를 거쳐 멀티플렉서(MUX5)로 입력되고, 클리핑 영역 폭과 함께 그중 하나가 선택되어 멀티플렉서(MUX4)로 입력된다.
그리고, 상기 상태 판단부(DES1)에서는 상기 디멀티플렉서(DMUX2)에서 출력된 패턴 파라메터(dx0c0∼dx1c0)에 의해 클리핑 패턴 발생부(30b)에서 생성된 클리핑 패턴과 스캔방향(scan direction)을 입력으로 상태를 판단하여 클리핑 영역의 경계선 포함 여부에 의해 멀티플렉서(MUX2)에 선택신호를 출력하여 드로잉 시작점(start Xaxis)에 '1'을 더 포함하지 여부를 결정하여 덧셈기(SUM1)에 출력하게 한다.
여기서, 프리 클리핑 알고리즘 수행에 필요한 여러 가지 파라메터를 산출하는 역할을 수행하는데 패턴 파라메터에는 다음 표1과 같은 것들이 있다.
파라메터 기 능
dx0c0 Dst X start point - Clip X start point
dx0c1 Dst X start point - Clip X end point
dx1c0 Dst X end point - Clip X start point
dx1c1 Dst X end point - Clip X end point
상기 표1과 같이 프리 클리핑을 위해서는 기본적으로 4개의 패턴 파라메터가 필요하고, 그 각각은 목적(Dst)하는 X축의 시작/끝점과 클리핑(Clip)하고자 하는 X축의 시작/끝점의 상호 관계를 나타낸다.
상기와 같은 패턴 파라메터는 클리핑 패턴 발생부(30b)에서 클리핑 패턴을 결정하는데 중요 변수로 작용하는 한편, 드로잉 좌표 수정부(30c)에서 최종적인 클리핑 이후의 목적축의 좌표와 폭을 결정하는 변수로 이용된다.
따라서, 상기와 같은 과정을 거쳐 드로잉 좌표 수정부(30c)를 통해 최종적으로 산출된 실제 디스플레이되어질 유효한 영역의 데이터에 의해 바이트 마스크를 생성함으로써 그래픽 처리 속도를 향상시킬 수 있는 장점을 가지게 된다.
하지만, 이러한 패턴 파라메터의 계산이나 수정된 드로잉의 축좌표와 폭 계산을 위해서는 많은 논리 연산이 이루어져야 하기 때문에, 연산 로직에 대한 하드웨어 부담이 커지게 되는데 본 발명에서는 이러한 문제점을 해결하기 위해 축거리 계산부에 의해 일정한 셋업시간동안 순차적으로 하나의 연산로직을 공유하여 자원 분산 방식으로 디스플레이할 동안 파라메터를 산출할 수 있도록 하여 하드웨어의 부담을줄였다.
다음, 클리핑 패턴 발생부(30b)에서는 상기 도5와 같은 축거리 계산부(30a)에 의해 산출된 패턴 파라메터의 부호 조합을 이용하여 스캔 방향(scan direction)에 따라 표2와 같은 방식으로 각각의 클리핑 패턴을 결정할 수 있다.
스캔 방향
정방향 역방향
클리핑 패턴 dx0c0(MSB) & dc1x1(MSB) dc1x0(MSB) & dx1c0(MSB)
만약, 두 객체(드로잉 객체, 클리핑 영역) 사이에 중복부분이 존재한다면 이는 도6의 4가지 형태((a)∼(d))중 하나로 결정이 되며, 또한 축거리 계산부(30a)에서 산출된 4개의 패턴 파라메터의 논리 연산에 의해 다시 표3과 같은 방식으로 드로잉하지 않고 건너뛸 길이(hopping length)가 결정되며, 이는 드로잉 좌표 수정부(30c)에서 축 건너뜀과 드로잉할 폭 결정을 하기 위한 정보로 이용된다.
구 분 기 능
hopping length 1 abs(dx0c0)
hopping length 2 abs(dx1c1)
hopping length 3 abs(dx0c1) + constant offset '1'
hopping length 4 abs(dx1c0) + constant offset '1'
이와 같은 건너뜀 파라메터 계산은 덧셈 연산으로 수행되며, 이 연산 또한 도5의 축거리 계산부(30a)에 의해 이루어지도록 한다.
드로잉 좌표 수정부(30c)에서는 도6에 도시된 바와 같이 클리핑 패턴 발생부(30b)에서의 클리핑 패턴 정보로부터 본래의 드로잉 이미지와 클리핑 윈도우 사이의 중복 형태를 예측할 수 있게 되고, 축거리 계산부(30a)에서 계산되어진 건너뜀길이(hopping length)를 참조하여, 다시 선/후 거리(leap/remain length)를 계산하여 클리핑 리버스 정보(클리핑 영역의 안쪽 또는 바깥쪽을 클리핑하도록 한 정보)에 따라 정확히 수정된 X/Y 축과 폭 정보를 어드레스 발생부(40)에 출력하게 된다.
여기서, 선/후 거리(leap/remain)는 스캔 방향에 따라서 클리핑 영역의 앞과 뒤를 구분하기 위한 것으로, 앞에서 드로잉 되는 부분을 선거리(leap)라고 하고, 뒷부분을 후거리(remain)로 하였다.
이하의 동작은 종래와 같이 상기에서 계산된 정보에 의해 데이터 처리부(8)에서 바이트 마스크를 생성하여 디스플레이할 수 있도록 한다.
이상에서 설명한 바와 같이 본 발명 그래픽 처리기의 클리핑 장치 및 방법은 드로잉 명령의 크기와 위치를 클리핑 조건과 미리 비교/계산하여 드로잉할 객체의 시작과 끝점에 대한 정보에 의해 실제 디스플레이되어지는 유효한 영역의 데이터만을 선별하여 바이트 마스크를 생성함으로써 데이터 처리 시간을 줄이고, 데이터 처리부와의 타이밍을 맞추기 위한 별도의 마스크 데이터 저장부를 제거할 수 있게 되어 하드웨어의 크기도 줄일 수 있는 효과가 있다.

Claims (3)

  1. 그래픽 처리기에 있어서, 드로잉 명령(박스, 라인,... 등)을 디코딩하여 스캔 하기 위한 형태로 변환한 후 각 스캔라인의 시작 좌표값과 폭(span width)을 계산하는 좌표 계산부와; 상기 좌표 계산부로부터 계산된 X/Y 좌표와, 폭을 클리핑 영역의 X/Y축의 좌표와 비교하여 클리핑 패턴 발생부에서 클리핑 패턴을 결정할 수 있도록 하는 패턴 파라메터를 산출하는 축거리 계산부와, 상기 축거리 계산부로부터 산출된 파라메터 정보와 스캔방향(scan direction) 정보를 이용하여 디스플레이될 객체의 클리핑 패턴을 결정하는 클리핑 패턴 발생부와, 상기 축거리 계산부에서 계산된 파라메터 정보와 클리핑 패턴 발생부의 클리핑 패턴 정보를 이용하여 드로잉 객체의 X/Y축 좌표와 폭 정보를 클리핑이 완료된 새로운 좌표값으로 수정 변환하는 드로잉 좌표 수정부,로 구성한 프리 클리핑부와; 상기 프리 클리핑부의 새로운 드로잉 객체의 좌표값에 의해 실제 라이트될 메모리부의 어드레스 및 길이, 시작/끝점의 마스크 정보등을 생성하는 어드레스 발생부를 포함하여 구성한 것을 특징으로 하는 그래픽 처리기의 클리핑 장치.
  2. 제1항에 있어서, 상기 축거리 계산부는 스캔 방향(scan direction)에 따라서 드로잉 객체의 시작점 또는 끝점과 클리핑 영역의 끝점 또는 시작점의 좌표와 폭을 입력받도록 선택하는 연산 좌표값 선택부와; 상기 연산 좌표값 선택부에 의해 연산될 드로잉 객체의 시작점 또는 끝점의 좌표를 선택적으로 출력하는 드로잉 좌표 출력부와; 상기 연산 좌표값 선택부에 의해 연산될 클리핑 영역의 시작점 끝점의 좌표 또는 폭을 선택적으로 출력하는 클리핑 좌표 출력부와; 상기 드로잉 좌표 출력부와 클리핑 좌표 출력부로부터 입력된 좌표 또는 폭을 가/감산하여 패턴 파라메터(dx0c0∼dx1c0) 또는 건너뜀 길이(hopping length)와 새로 계산된 드로잉 객체의 좌표값을 출력하는 좌표 연산부로 구성한 것을 특징으로 하는 그래픽 처리기의 클리핑 장치.
  3. 드로잉 명령을 디코딩하는 단계와; 상기 단계에서 디코딩된 드로잉 객체의 X/Y 좌표와 폭을 산출하는 단계와; 상기 단계에서 산출된 드로잉 객체의 좌표와 클리핑 영역의 좌표를 비교하여 패턴 결정을 위한 파라메터를 산출하는 단계와; 상기 단계에서 산출된 파라메터에 의해 클리핑 패턴을 결정하고 이 패턴에 의해 드로잉 객체의 좌표를 클리핑이 완료된 값으로 변환하는 단계와; 상기 단계에서 변환된 드로잉 객체의 좌표로 바이트 마스크를 생성하는 단계로 이루어진 것을 특징으로 하는 그래픽 처리기의 클리핑 방법.
KR1019990034367A 1999-08-19 1999-08-19 그래픽 처리기의 클리핑 장치 및 방법 KR100324755B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990034367A KR100324755B1 (ko) 1999-08-19 1999-08-19 그래픽 처리기의 클리핑 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990034367A KR100324755B1 (ko) 1999-08-19 1999-08-19 그래픽 처리기의 클리핑 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20010018408A KR20010018408A (ko) 2001-03-05
KR100324755B1 true KR100324755B1 (ko) 2002-02-20

Family

ID=19607844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990034367A KR100324755B1 (ko) 1999-08-19 1999-08-19 그래픽 처리기의 클리핑 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100324755B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100779660B1 (ko) * 2006-06-26 2007-11-26 주식회사 휴원 비디오 데이터 처리 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02127784A (ja) * 1988-11-08 1990-05-16 Nec Corp クリッピング方式
JPH0452983A (ja) * 1990-06-20 1992-02-20 Nec Corp 三次元図形表示方式
JPH04323722A (ja) * 1991-04-24 1992-11-12 Nec Corp マルチウィンドウシステムの描画方式
KR940003610B1 (ko) * 1989-01-13 1994-04-25 선 마이크로시스템즈 인코오퍼레이티드 클리핑 및 좌표간의 비교로직을 하드웨어로 구현하기 위한 방법 및 장치
JPH06231269A (ja) * 1993-02-03 1994-08-19 Yamaha Corp 表示制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02127784A (ja) * 1988-11-08 1990-05-16 Nec Corp クリッピング方式
KR940003610B1 (ko) * 1989-01-13 1994-04-25 선 마이크로시스템즈 인코오퍼레이티드 클리핑 및 좌표간의 비교로직을 하드웨어로 구현하기 위한 방법 및 장치
JPH0452983A (ja) * 1990-06-20 1992-02-20 Nec Corp 三次元図形表示方式
JPH04323722A (ja) * 1991-04-24 1992-11-12 Nec Corp マルチウィンドウシステムの描画方式
JPH06231269A (ja) * 1993-02-03 1994-08-19 Yamaha Corp 表示制御装置

Also Published As

Publication number Publication date
KR20010018408A (ko) 2001-03-05

Similar Documents

Publication Publication Date Title
JP2621568B2 (ja) 図形描画方法およびその装置
KR950013229B1 (ko) 도형처리장치 및 도형처리방법
US7119807B2 (en) Image processing apparatus and image processing method
US4680720A (en) Dot interpolation control system
US4984183A (en) Graphics display controller for transferring figure data to overlapping portions of destination area and drawing-enable area defined by clipping rectangle
US6292196B1 (en) Rendering processor
JP2007265035A (ja) 描画装置及び破線描画方法
KR100324755B1 (ko) 그래픽 처리기의 클리핑 장치 및 방법
US5299299A (en) Scan line full figure filling device for display units and printers
JP3110975B2 (ja) 文字マスク機能付表示装置
JP2748787B2 (ja) 曲線発生装置
JP2687380B2 (ja) 画像処理装置
JP2836617B2 (ja) レンダリングプロセッサ
JP2606176B2 (ja) 図形処理装置
JP3548807B2 (ja) イメージ図形変換方法
JP3899977B2 (ja) 描画装置、方法及びプログラム
JP2887122B2 (ja) 画像データ処理装置及びそれを用いたシステム
JP3358698B2 (ja) 描画装置
JP2787487B2 (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路
JP2767810B2 (ja) 編集領域指定方法
KR950007532B1 (ko) 도형처리시스템 및 도형처리방법
KR100195199B1 (ko) 메타얼라인 모드 데스티네이션 어드레스 발생회로 및 이를 이용한 그래픽 콘트롤러
JP2737845B2 (ja) 文字処理方法及び装置
JPH10198333A (ja) アウトライン文字描画装置
JP2000298729A (ja) 二次元画像生成装置

Legal Events

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

Payment date: 20070130

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee