KR101106013B1 - edge list generation method in graphics accelerators and active edge list generation method - Google Patents

edge list generation method in graphics accelerators and active edge list generation method Download PDF

Info

Publication number
KR101106013B1
KR101106013B1 KR1020100014862A KR20100014862A KR101106013B1 KR 101106013 B1 KR101106013 B1 KR 101106013B1 KR 1020100014862 A KR1020100014862 A KR 1020100014862A KR 20100014862 A KR20100014862 A KR 20100014862A KR 101106013 B1 KR101106013 B1 KR 101106013B1
Authority
KR
South Korea
Prior art keywords
edge data
scan line
edge
list
data
Prior art date
Application number
KR1020100014862A
Other languages
Korean (ko)
Other versions
KR20110095056A (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
Application filed by 주식회사 에이디칩스 filed Critical 주식회사 에이디칩스
Priority to KR1020100014862A priority Critical patent/KR101106013B1/en
Publication of KR20110095056A publication Critical patent/KR20110095056A/en
Application granted granted Critical
Publication of KR101106013B1 publication Critical patent/KR101106013B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • H04N1/2129Recording in, or reproducing from, a specific memory area or areas, or recording or reproducing at a specific moment

Abstract

본 발명은 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법에 관한 것이다.
본 발명의 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법은 각각의 스캔라인 별로 에지목록을 위한 에지데이터들을 순차적으로 에지목록메모리에 저장함으로써 링크정보들이 필요 없게 되어 메모리의 사용량을 감소시킬 수 있고, 각 스캔라인 별로 다음 스캔라인에 걸쳐 있는 활성에지데이터들로만 이루어진 다음활성에지목록을 에지목록이 저장된 메모리와는 다른 별도의 다음활성에지목록메모리에 저장하여 이전 스캔라인 처리시 생성된 다음활성에지목록메모리에 저장된 에지데이터들과 현재 스캔라인 처리를 위한 에지목록메모리에 저장된 에지데이터들을 읽어와서 활성에지목록을 생성하게 되므로, 메모리 접근 횟수를 감소시킬 수 있어 그래픽 가속기의 전력소모를 감소시킬 수 있고, 그래픽 가속기의 성능을 향상시킬 수 있다.
The present invention relates to an edge list generation method of a graphic accelerator and an active edge list generation method using the same.
The edge list generation method and the active edge list generation method using the graphic accelerator of the present invention store the edge data for the edge list for each scan line sequentially in the edge list memory so that link information is not required, thereby reducing the memory usage. The next active edge list, which consists of active edge data that spans the next scan line for each scan line, is stored in the next active edge list memory separate from the memory where the edge list is stored, and then generated during the previous scan line processing. The active edge list is generated by reading the edge data stored in the active edge list memory and the edge data stored in the edge list memory for the current scan line processing, thereby reducing the number of memory accesses and reducing the power consumption of the graphics accelerator. Can and enhance the performance of the graphics accelerator Can hurt.

Description

그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법{edge list generation method in graphics accelerators and active edge list generation method}Edge list generation method of graphics accelerator and active edge list generation method using the same {edge list generation method in graphics accelerators and active edge list generation method}

본 발명은 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법에 관한 것으로, 특히 2차원 벡터 그래픽 가속기에 있어서 각 패스 데이터(Path Data)들에 대한 이미지를 출력하기 위한 에지목록(Edge List) 및 활성에지목록(Active Edge List) 생성시 메모리 접근 횟수와 메모리의 사용량을 감소시켜 그래픽 가속기의 전력소모를 감소시킬 수 있고, 그래픽 가속기의 성능을 향상시킬 수 있는 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법에 관한 것이다.The present invention relates to an edge list generation method of a graphics accelerator and an active edge list generation method using the same. In particular, an edge list for outputting an image for each path data in a two-dimensional vector graphics accelerator And an edge list generation method of the graphics accelerator which can reduce the power consumption of the graphics accelerator and improve the performance of the graphics accelerator by reducing the number of memory accesses and the memory usage when generating the active edge list. It relates to an active edge list generation method using the same.

휴대폰, PDA 및 내비게이션 장비와 같은 휴대용 기기의 사용이 증가함에 따라 이를 위한 콘텐츠의 개발과 함께 사용자 인터페이스 및 하드웨어의 개발이 활발히 이루어지고 있다. As the use of portable devices such as mobile phones, PDAs, and navigation devices increases, the development of user interfaces and hardware is being actively performed along with the development of contents for them.

이들 휴대용 기기의 경우 영상 정보의 처리를 위해 영상의 회전이나 확대/축소 등의 처리 작업이 빈번히 발생되며, 이러한 영상 정보의 처리를 위해 비트맵 방식에 비하여 적은 양의 정보를 사용하며 처리 과정에서 영상 정보의 손실과 처리 시간을 줄일 수 있는 등의 장점을 갖는 벡터 그래픽스 방식이 많이 사용되고 있다.In the case of these portable devices, processing operations such as rotation or enlargement / reduction of images are frequently performed to process image information, and a small amount of information is used to process such image information as compared to a bitmap method. Many vector graphics methods have been used, which have the advantage of reducing information loss and processing time.

비트맵 방식은 어떠한 객체를 표현하기 위해서 각 픽셀에 해당하는 색상 값을 일정한 포맷에 맞추어 저장하므로, 객체를 확대 또는 축소하게 되면 원본 이미지에서 갖고 있지 않던 픽셀에 대한 색상 값은 정해진 보간법에 의해서 재정의하여야 하므로 이미지의 손실이 발생된다.The bitmap method stores the color values corresponding to each pixel in a certain format to represent an object. Therefore, when the object is enlarged or reduced, the color values for pixels that are not in the original image must be redefined by a predetermined interpolation method. As a result, image loss occurs.

반면에 벡터 그래픽스 방식의 경우 기본 단위인 정점(vertex)을 이용하여 시작점과 끝점을 표현하고 이러한 정점들이 모여서 에지(edge)를 생성하게 된다. 또한, 이러한 에지가 모여서 객체의 형태를 나타내고, 형태를 결정한 후에 별도의 색상정보를 이용하여 색상을 결정하게 되므로, 객체를 확대 또는 축소할 때 확대 또는 축소의 비율을 이용하여 객체를 다시 생성할 수 있으므로 이미지의 손실을 방지할 수 있다. On the other hand, in the case of the vector graphics method, a vertex, which is a basic unit, is used to represent a start point and an end point, and these vertices are gathered to generate an edge. In addition, since these edges gather to indicate the shape of the object, and after determining the shape, color is determined using separate color information, so when the object is enlarged or reduced, the object can be regenerated using the ratio of the enlargement or reduction. Therefore, the loss of the image can be prevented.

도 1은 벡터 그래픽스 방식에 따른 이미지 데이터를 출력하기 위한 일반적인 2차원 벡터 그래픽 가속기의 구성도이다.1 is a block diagram of a general two-dimensional vector graphics accelerator for outputting image data according to a vector graphics system.

도 1에 도시된 바와 같이 2차원 벡터 그래픽 가속기는 테스레이터(Tessellator)(1), 래스터라이저(Rasterizer)(3), 이미지 생성부(5) 및 메모리(7)로 구성된다.As shown in FIG. 1, the two-dimensional vector graphics accelerator is composed of a tester 1, a rasterizer 3, an image generator 5, and a memory 7.

테스레이터(Tessellator)(1)는 패스 데이터들의 벡터 데이터(PD)들을 수신하여 각 스캔라인(scanline) 별로 에지데이터의 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 지점에 속하는 해당 스캔라인에 위치한 에지데이터(Ei)들을 메모리(7)에 저장하여 에지목록(Edge List)을 생성한다.The tester 1 receives the vector data PD of the path data, and at each of the scanlines, the tester 1 receives a maximum value of the y-axis coordinates of the start point and the y-axis coordinates of the end point for each scanline. The edge data Ei located in the corresponding scan line to be stored is stored in the memory 7 to generate an edge list.

래스터라이저(Rasterizer)(3)는 메모리(7)에 저장된 에지목록의 각 에지 데이터(Ei)들을 순차적으로 판독하여 각 스캔라인 별로 해당 스캔라인에 걸쳐 있는 에지 데이터들만으로 구성된 활성에지목록(Active Edge List)을 생성하고, 생성된 활성에지목록에 의해 백터 그래픽에 대응하는 픽셀 패턴 이미지(PX)로 변환시킨다.The rasterizer 3 sequentially reads each edge data Ei of the edge list stored in the memory 7, and consists of only active edge data that spans the corresponding scan line for each scan line. ) Is converted into a pixel pattern image PX corresponding to the vector graphics by the generated active edge list.

이미지 생성부(5)는 픽셀 패턴 이미지(PX)를 수신하여 화면에 이미지를 생성한다. The image generator 5 receives the pixel pattern image PX and generates an image on the screen.

일반적으로 2차원 벡터 그래픽 가속기의 경우 2차원 벡터 그래픽 처리를 위해 에지목록은 크기 때문에 에지목록으로 구성되는 메모리(7)는 외부메모리를 사용한다.In general, in the case of the two-dimensional vector graphics accelerator, the edge list is large for processing the two-dimensional vector graphics, so the memory 7 composed of the edge list uses an external memory.

도 2는 화면에 이미지를 생성하기 위한 이미지 경로가 표시된 도면이고, 도 3은 도 2의 이미지 경로에 대한 종래의 에지목록의 생성을 위한 에지데이터들이 저장된 메모리를 도시한 도면이고, 도 4는 도 3에 대한 에지목록이고, 도 5a 내지 도 5h는 도 3의 에지목록을 이용하여 활성에지목록을 생성하기 위한 과정을 도시한 도면이고, 도 6은 활성에지목록이다.FIG. 2 is a diagram illustrating an image path for generating an image on a screen, FIG. 3 is a diagram showing a memory in which edge data for generating a conventional edge list for the image path of FIG. 2 is stored, and FIG. 3 is an edge list for FIG. 3, and FIGS. 5A to 5H are views illustrating a process for generating an active edge list using the edge list of FIG. 3, and FIG. 6 is an active edge list.

종래의 에지목록 및 활성에지목록을 생성하기 위해 메모리(7)에 저장되는 각각의 에지데이터(Ei)들은 각 스캔라인 별로 에지목록 및 활성에지목록을 위해 다음의 에지데이터를 참조하기 위한 주소(adress)인 링크정보(Link Information)를 가지고 있다.Each of the edge data Ei stored in the memory 7 to generate a conventional edge list and an active edge list is an address for referencing the next edge data for the edge list and the active edge list for each scan line. ) Has Link Information.

도 2에 도시된 바와 같이 스캔라인은 SC1에서 SC6의 6개의 스캔라인들을 가지고, 에지데이터들은 E1에서 E12를 갖는 이미지 경로를 갖는 경우 종래의 에지목록을 생성하는 방법은 다음과 같다.As shown in FIG. 2, when the scan line has six scan lines of SC1 to SC6 and the edge data has an image path having E1 to E12, a method of generating a conventional edge list is as follows.

도 3에 도시된 바와 같이, 첫번째 에지데이터(E1)의 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 끝점인 것을 알 수 있고, 첫번째 에지데이터(E1)의 끝점은 첫번째 스캔라인(SC1)에 위치하므로, 첫번째 스캔라인(SC1)에 속하는 첫번째 에지데이터(E1)를 메모리의 M1주소에 저장한다. 두번째 에지데이터(E2)의 경우 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 끝점이고, 첫번째 스캔라인(SC1)에 속하므로, 두번째 에지데이터(E2)는 메모리의 L2주소에 저장하고, 첫번째 에지데이터(E1)의 링크정보를 L2로 설정한다. 세번째 에지데이터(E3)의 경우 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 시작점이고, 세번째 에지데이터(E3)의 시작점은 첫번째 스캔라인(SC1)에 속하므로, 세번째 에지데이터(E3)는 메모리의 L3주소에 저장하고, 두번째 에지데이터(E2)의 링크정보를 L3로 설정하며, 첫번째 스캔라인(SC1)에 속하는 y축 좌표값의 최대값을 갖는 에지데이터는 존재하지 않으므로 세번째 에지데이터(E3)와 관련된 링크정보는 없다는 것을 표시하기 위해 C로 표시한다.As shown in FIG. 3, it can be seen that the y-axis coordinate value having the maximum value among the y-axis coordinate value of the start point of the first edge data E1 and the y-axis coordinate value of the end point is the end point, and the first edge data E1 is shown. Since the end point of the 1) is located in the first scan line SC1, the first edge data E1 belonging to the first scan line SC1 is stored in the M1 address of the memory. In the case of the second edge data E2, the y-axis coordinate value having the maximum value among the y-axis coordinate value of the start point and the y-axis coordinate value of the end point is the end point and belongs to the first scan line SC1, so the second edge data E2 is The link information of the first edge data E1 is set to L2. In the case of the third edge data E3, the y-axis coordinate value having the maximum value among the y-axis coordinate value of the start point and the y-axis coordinate value of the end point is the start point, and the start point of the third edge data E3 is the first scan line SC1. Since the third edge data E3 is stored in the address L3 of the memory, the link information of the second edge data E2 is set to L3, and the edge having the maximum value of the y-axis coordinate value belonging to the first scan line SC1. Since data does not exist, it is indicated by C to indicate that there is no link information related to the third edge data E3.

이와 같이 첫번째 스캔라인(SC1)에 대한 에지목록은 첫번째 에지데이터(E1), 두번째 에지데이터(E2), 세번째 에지데이터(E3)임을 알 수 있다.As such, it can be seen that the edge list for the first scan line SC1 is the first edge data E1, the second edge data E2, and the third edge data E3.

네번째 에지데이터(E4)의 경우 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 시작점이고, 네번째 에지데이터(E4)의 시작점은 두번째 스캔라인(SC2)에 속하므로, 네번째 에지데이터(E4)는 메모리의 M2주소에 저장하고, 두번째 스캔라인(SC2)에 속하는 y축 좌표값의 최대값을 갖는 에지데이터는 존재하지 않으므로 네번째 에지데이터(E4)와 관련된 링크정보는 없다는 것을 표시하기 위해 C로 표시한다.In the case of the fourth edge data E4, the y-axis coordinate value having the maximum value among the y-axis coordinate value of the start point and the y-axis coordinate value of the end point is the starting point, and the starting point of the fourth edge data E4 is the second scan line SC2. Since the fourth edge data E4 is stored at the M2 address of the memory, and the edge data having the maximum value of the y-axis coordinate value belonging to the second scan line SC2 does not exist, the link information related to the fourth edge data E4 is not included. Is denoted by C to indicate that it is not present.

다섯번째 에지데이터(E5)의 경우 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 시작점이고, 다섯번째 에지데이터(E5)의 시작점은 네번째 스캔라인(SC4)에 속하므로, 다섯번째 에지데이터(E5)는 메모리의 M4주소에 저장한다.In the case of the fifth edge data E5, the y-axis coordinate value having the maximum value among the y-axis coordinate value of the start point and the y-axis coordinate value of the end point is the start point, and the start point of the fifth edge data E5 is the fourth scan line SC4. ), The fifth edge data E5 is stored in the M4 address of the memory.

여섯번째 에지데이터(E6)의 경우 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 시작점이고, 여섯번째 에지데이터(E6)의 시작점은 여섯번째 스캔라인(SC6)에 속하므로, 여섯번째 에지데이터(E6)는 메모리의 M6주소에 저장하고, 여섯번째 스캔라인(SC6)에 속하는 y축 좌표값의 최대값을 갖는 에지데이터는 존재하지 않으므로 여섯번째 에지데이터(E6)와 관련된 링크정보는 없다는 것을 표시하기 위해 C로 표시한다.In case of the sixth edge data E6, the y-axis coordinate value having the maximum value among the y-axis coordinate value of the start point and the y-axis coordinate value of the end point is the starting point, and the starting point of the sixth edge data E6 is the sixth scan line ( SC6), the sixth edge data E6 is stored in the M6 address of the memory, and since the edge data having the maximum value of the y-axis coordinate value belonging to the sixth scan line SC6 does not exist, the sixth edge data ( C is indicated to indicate that there is no link information related to E6).

일곱번째 에지데이터(E7)의 경우 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 끝점이고, 일곱번째 에지데이터(E7)의 끝점은 다섯번째 스캔라인(SC5)에 속하므로, 일곱번째 에지데이터(E7)는 메모리의 M5주소에 저장하고, 다섯번째 스캔라인(SC5)에 속하는 y축 좌표값의 최대값을 갖는 에지데이터는 존재하지 않으므로 일곱번째 에지데이터(E7)와 관련된 링크정보는 없다는 것을 표시하기 위해 C로 표시한다.In the case of the seventh edge data E7, the y-axis coordinate value having the maximum value of the y-axis coordinate value of the start point and the y-axis coordinate value of the end point is the end point, and the end point of the seventh edge data E7 is the fifth scan line ( SC7), the seventh edge data E7 is stored in the M5 address of the memory, and since the edge data having the maximum value of the y-axis coordinate value belonging to the fifth scan line SC5 does not exist, the seventh edge data ( C is indicated to indicate that there is no link information related to E7).

여덟번째 에지데이터(E8)의 경우 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 여덟번째 에지데이터(E8)의 끝점이고, 이 끝점은 네번째 스캔라인(SC4)에 속하며, 이미 다섯번째 에지데이터(E5)는 네번째 스캔라인(SC4)에 속하며, 다섯번째 에지데이터(E5)는 이미 메모리의 M4주소에 저장하였으므로, 여덟번째 에지데이터(E8)는 메모리의 L8주소에 저장하고, 다섯번째 에지데이터(E5)의 링크정보를 L8로 설정한다. 아홉번째 에지데이터(E9)의 경우 최대값을 갖는 y축 좌표값은 아홉번째 에지데이터(E9)의 끝점이고, 이 끝점은 네번째 스캔라인(SC4)에 속하므로, 아홉번째 에지데이터(E9)는 메모리의 L9 주소에 저장하고, 여덟번째 에지데이터(E8)의 링크정보를 L9로 설정한다. 열번째 에지데이터(E10)의 경우 최대값을 갖는 y축 좌표값은 열번째 에지데이터(E10)의 시작점이고, 이 시작점은 네번째 스캔라인(SC4)에 속하므로, 열번째 에지데이터(E10)는 메모리의 L10 주소에 저장하고, 아홉번째 에지데이터(E9)의 링크정보를 L10으로 설정한다. 열한번째 에지데이터(E11)의 경우 최대값을 갖는 y축 좌표값은 열한번째 에지데이터(E11)의 끝점이고, 이 끝점은 네번째 스캔라인(SC4)에 속하므로, 열한번째 에지데이터(E11)는 메모리의 L11 주소에 저장하고, 열번째 에지데이터(E10)의 링크정보를 L11로 설정하며, 네번째 스캔라인(SC4)에 속하는 y축 좌표값의 최대값을 갖는 에지데이터는 존재하지 않으므로 열한번째 에지데이터(E11)와 관련된 링크정보는 없다는 것을 표시하기 위해 C로 표시한다.In the case of the eighth edge data E8, the y-axis coordinate value having the maximum value of the y-axis coordinate value of the start point and the y-axis coordinate value of the end point is the end point of the eighth edge data E8, and this end point is the fourth scan line ( SC4), the fifth edge data E5 belongs to the fourth scan line SC4, and since the fifth edge data E5 is already stored at the M4 address of the memory, the eighth edge data E8 is stored in the memory. Store at the L8 address, and set the link information of the fifth edge data E5 to L8. In the case of the ninth edge data E9, the y-axis coordinate value having the maximum value is the end point of the ninth edge data E9, and since this end point belongs to the fourth scan line SC4, the ninth edge data E9 is stored in memory. At the L9 address, and set the link information of the eighth edge data E8 to L9. In the case of the tenth edge data E10, the y-axis coordinate value having the maximum value is the start point of the tenth edge data E10, and since this start point belongs to the fourth scan line SC4, the tenth edge data E10 is stored in memory. Is stored in the L10 address, and the link information of the ninth edge data E9 is set to L10. In the case of the eleventh edge data E11, the y-axis coordinate value having the maximum value is the end point of the eleventh edge data E11, and since this end point belongs to the fourth scan line SC4, the eleventh edge data E11 is the L11 address of the memory. And the link information of the tenth edge data E10 is set to L11, and since the edge data having the maximum value of the y-axis coordinate value belonging to the fourth scan line SC4 does not exist, the eleventh edge data E11 and Marked with C to indicate that there is no associated link information.

열두번째 에지데이터(E12)의 경우 시작점의 y축 좌표값과 끝점의 y축 좌표값 중 최대값을 갖는 y축 좌표값은 끝점이고, 열두번째 에지데이터(E12)의 끝점은 세번째 스캔라인(SC3)에 속하므로, 열두번째 에지데이터(E12)는 메모리의 M3 주소에 저장하고, 세번째 스캔라인(SC3)에 속하는 y축 좌표값의 최대값을 갖는 에지데이터는 존재하지 않으므로 열두번째 에지데이터(E12)와 관련된 링크정보는 없다는 것을 표시하기 위해 C로 표시한다.In the case of the twelfth edge data E12, the y-axis coordinate value having the maximum value among the y-axis coordinate value of the start point and the y-axis coordinate value of the end point is the end point, and the end point of the twelfth edge data E12 is the third scan line SC3. ), The twelfth edge data E12 is stored in the M3 address of the memory, and since the edge data having the maximum value of the y-axis coordinate value belonging to the third scan line SC3 does not exist, the twelfth edge data E12 Mark with C to indicate that there is no link information associated with.

이와 같이 각 스캔라인들에 속하는 첫번째 에지데이터들인 E1, E4, E12, E5, E7 및 E6은 각각 메모리 특정주소에 순차적으로 즉, 도 3에 도시된 바와 같이 M1,M2,M3,M4,M5,M6 주소에 각각 저장되며, 각 스캔라인들에 속하는 나머지 에지데이터들에 대해서는 링크정보에 해당하는 임의의 주소에 저장된다. As described above, the first edge data E1, E4, E12, E5, E7, and E6 belonging to the respective scan lines are sequentially provided to the memory specific address, that is, as shown in FIG. 3, M1, M2, M3, M4, M5, The data is stored at each M6 address, and the remaining edge data belonging to each scan line is stored at an arbitrary address corresponding to link information.

상기와 같은 동작에 의해 도 4에 도시된 바와 같이 첫번째 스캔라인(SC1)에 해당하는 에지목록은 첫번째 에지데이터(E1), 두번째 에지데이터(E2), 세번째 에지데이터(E3)이고, 두번째 스캔라인(SC2)에 해당하는 에지목록은 네번째 에지데이터(E4)이고, 세번째 스캔라인(SC3)에 해당하는 에지목록은 열두번째 에지데이터(E12)이고, 네번째 스캔라인(SC4)에 해당하는 에지목록은 다섯번째 에지데이터(E5), 여덟번째 에지데이터(E8), 아홉번째 에지데이터(E9), 열번째 에지데이터(E10), 열한번째 에지데이터(E11)이고, 다섯번째 스캔라인(SC5)에 해당하는 에지목록은 일곱번째 에지데이터(E7)이고, 여섯번째 스캔라인(SC6)에 해당하는 에지목록은 여섯번째 에지데이터(E6)임을 알 수 있다.As shown in FIG. 4, the edge list corresponding to the first scan line SC1 is the first edge data E1, the second edge data E2, and the third edge data E3 by the above operation, and the second scan line. The edge list corresponding to (SC2) is the fourth edge data (E4), the edge list corresponding to the third scan line (SC3) is the twelfth edge data (E12), and the edge list corresponding to the fourth scan line (SC4) The fifth edge data E5, the eighth edge data E8, the ninth edge data E9, the tenth edge data E10, the eleventh edge data E11, and correspond to the fifth scan line SC5. It can be seen that the edge list is the seventh edge data E7 and the edge list corresponding to the sixth scan line SC6 is the sixth edge data E6.

도 3에 의한 각 스캔라인 별로 메모리(7)에 저장된 에지목록의 각 에지 데이터(Ei)들을 순차적으로 판독하여 각 스캔라인 별로 해당 스캔라인에 걸쳐 있는 에지 데이터들만으로 구성된 활성에지목록(Active Edge List)을 생성하는 과정은 다음과 같다.Each edge of the edge list (Ei) of the edge list stored in the memory (7) for each scan line according to Figure 3 sequentially read active edge list consisting of only the edge data across the corresponding scan line for each scan line The process of generating is as follows.

도 3에 도시된 바와 같이 첫번째 스캔라인(SC1)의 활성에지목록을 생성하기 위해 메모리(7)의 M1주소에 저장된 첫번째 스캔라인(SC1)의 첫번째 에지데이터(E1)를 읽어서 처리하며, 첫번째 에지데이터(E1)는 시작점과 끝점에 대한 위치좌표를 가지고 있으므로, 두번째 스캔라인(SC2)에 속하는 에지데이터인 것을 인지하고 있다. 이와 같은 동작에 의해 첫번째 에지데이터(E1)를 처리한 후, 첫번째 에지데이터(E1)와 관련된 링크정보는 L2이므로, 메모리(7)의 L2주소로 접근하여 L2주소의 메모리(7)에 저장된 두번째 에지데이터(E2)를 읽어서 처리한 후 두번째 에지데이터(E2)와 관련된 링크정보인 L3에 의해 메모리(7)의 L3주소로 접근하여 L3주소의 메모리(7)에 저장된 세번째 에지데이터(E3)를 읽어서 처리하고, 세번째 에지데이터(E3)와 관련된 링크정보는 C로 없음을 의미하므로, 세번째 에지데이터(E3)가 첫번째 스캔라인(SC1)에 속하는 마지막 에지데이터인 것을 알 수 있으며, 첫번째 스캔라인(SC1)에 대한 활성에지목록 생성과정을 종료한다. As shown in FIG. 3, the first edge data E1 of the first scan line SC1 stored in the M1 address of the memory 7 is read and processed to generate the active edge list of the first scan line SC1, and the first edge is read. Since the data E1 has position coordinates for the start point and the end point, it is recognized that the data E1 is edge data belonging to the second scan line SC2. After processing the first edge data E1 by this operation, since the link information related to the first edge data E1 is L2, the second information stored in the memory 7 of the L2 address is accessed by accessing the L2 address of the memory 7. After the edge data E2 is read and processed, the third edge data E3 stored in the memory 7 of the L3 address is accessed by accessing the L3 address of the memory 7 by the link information L3 related to the second edge data E2. Since the link information related to the third edge data E3 is not present in C, it can be seen that the third edge data E3 is the last edge data belonging to the first scan line SC1. The process of generating an active edge list for SC1) ends.

따라서 도 6에 도시된 바와 같이 첫번째 스캔라인(SC1)의 활성에지데이터들은 순차적으로 E1, E2, E3가 된다.Therefore, as shown in FIG. 6, the active edge data of the first scan line SC1 becomes E1, E2, and E3 sequentially.

첫번째 에지데이터(E1)와 세번째 에지데이터(E3)는 두번째 스캔라인(SC2)에도 속하는 에지데이터, 즉 두번째 스캔라인(SC2)의 활성에지데이터이고, 두번째 에지데이터(E2)는 첫번째 스캔라인(SC1)에만 속하는 에지데이터이므로, 도 5a에 도시된 바와 같이 두번째 스캔라인(SC2)의 처리를 위해 첫번째 에지데이터(E1)와 관련된 링크정보는 L2에서 L3로 갱신하고, 두번째 에지데이터(E2)와 관련된 링크정보는 L3에서 C로 갱신한다.The first edge data E1 and the third edge data E3 are edge data also belonging to the second scan line SC2, that is, active edge data of the second scan line SC2, and the second edge data E2 is the first scan line SC1. Since only the edge data belongs to the edge data, the link information associated with the first edge data E1 is updated from L2 to L3 for processing of the second scan line SC2 as shown in FIG. The link information is updated from L3 to C.

두번째 스캔라인(SC2)에 대한 활성에지목록을 생성하기 위해 이전의 스캔라인인 첫번째 스캔라인(SC1)의 처리과정에서 이미 인지하고 있는 두번째 스캔라인(SC2)에 걸쳐 있는 활성에지데이터들인 첫번째 에지데이터(E1)와 세번째 에지데이터(E3)들을 읽고, 현재의 스캔라인인 두번째 스캔라인(SC2)에 걸쳐있는 에지데이터들을 처리하여야 한다.First edge data that is active edge data that spans the second scan line SC2 that is already recognized in the processing of the first scan line SC1, which is a previous scan line, to generate an active edge list for the second scan line SC2. It is necessary to read (E1) and the third edge data E3 and process the edge data that spans the second scan line SC2 which is the current scan line.

이를 위해 먼저 메모리(7)의 M1주소에 접근하여 M1주소에 저장된 첫번째 에지데이터(E1)를 읽고 처리하며, 첫번째 에지데이터(E1)는 세번째 스캔라인(SC3)에 속하는 에지데이터, 즉 세번째 스캔라인(SC3)의 활성에지데이터인 것을 인지하고 있다. 첫번째 에지데이터(E1)와 관련된 링크정보는 L3이므로 메모리(7)의 L3주소로 접근하여 L3주소에 저장된 세번째 에지데이터(E3)를 읽고 처리한다. 세번째 에지데이터(E3)의 링크정보는 C이므로 링크할 주소가 없으므로 첫번째 스캔라인(SC1)의 처리과정에서 인지하고 있는 두번째 스캔라인(SC2)의 활성에지데이터들인 E1,E3의 처리과정이 종료되었음을 알 수 있으며, 세번째 에지데이터(E3)는 두번째 스캔라인(SC2)에만 속하는 에지데이터이므로 세번째 에지데이터(E3)의 링크정보는 갱신하지 않는다. To this end, the M1 address of the memory 7 is first accessed to read and process the first edge data E1 stored in the M1 address, and the first edge data E1 is edge data belonging to the third scan line SC3, that is, the third scan line. It is recognized that it is the active edge data of (SC3). Since the link information related to the first edge data E1 is L3, the link information related to the first edge data E1 is approached to the L3 address of the memory 7 to read and process the third edge data E3 stored at the L3 address. Since the link information of the third edge data E3 is C, there is no address to link to, so the processing of the active edge data E1 and E3 of the second scan line SC2 recognized in the processing of the first scan line SC1 is finished. As shown, since the third edge data E3 is edge data belonging only to the second scan line SC2, the link information of the third edge data E3 is not updated.

그 다음 처리를 위해 현재의 스캔라인인 두번째 스캔라인(SC2)에 대한 처리를 위해 메모리(7)의 M2주소로 접근하여 M2주소에 저장된 네번째 에지데이터(E4)를 읽고 처리하며, 이때 네번째 에지데이터(E4)에 대한 링크정보는 C이므로 두번째 스캔라인(SC2)에 대한 더 이상의 에지데이터는 없으므로 두번째 스캔라인(SC2)에 대한 활성에지목록 생성과정을 종료한다. For processing, the second scan line SC2, which is the current scan line, is accessed to the M2 address of the memory 7 to read and process the fourth edge data E4 stored at the M2 address. Since the link information for E4 is C, there is no more edge data for the second scan line SC2, so the process of generating the active edge list for the second scan line SC2 ends.

첫번째 에지데이터(E1)와 네번째 에지데이터(E4)는 세번째 스캔라인(SC3)에 걸쳐 있는 에지데이터, 즉 세번째 스캔라인(SC3)의 활성에지데이터들이므로 도 5b에 도시된 바와 같이 첫번째 에지데이터(E1)의 링크정보를 L3에서 M2로 갱신한다.Since the first edge data E1 and the fourth edge data E4 are edge data that spans the third scan line SC3, that is, active edge data of the third scan line SC3, the first edge data E as shown in FIG. The link information of E1) is updated from L3 to M2.

따라서 도 6에 도시된 바와 같이 두번째 스캔라인(SC2)의 활성에지데이터들은 순차적으로 E1, E3, E4이다. Accordingly, as shown in FIG. 6, the active edge data of the second scan line SC2 are E1, E3, and E4 sequentially.

세번째 스캔라인(SC3)에 대한 활성에지목록을 생성하기 위한 과정은 다음과 같다. The process for generating an active edge list for the third scan line SC3 is as follows.

먼저, 이전의 스캔라인인 두번째 스캔라인(SC2)의 처리과정에서 이미 인지하고 있는 세번째 스캔라인(SC3)에 걸쳐 있는 활성에지데이터들을 처리하기 위해 메모리(7)의 M1주소에 접근하여 M1주소에 저장된 첫번째 에지데이터(E1)를 읽고 처리하며, 첫번째 에지데이터(E1)는 네번째 스캔라인(SC4)에 걸쳐 있지 않음을 알고 있다. 첫번째 에지데이터(E1)를 읽은 후 첫번째 에지데이터(E1)와 관련된 링크정보는 M2이므로 메모리(7)의 M2주소로 접근하여 M2주소에 저장된 네번째 에지데이터(E4)를 읽고 처리한다. 네번째 에지데이터(E4)의 링크정보는 C이므로 링크할 주소가 없으므로 두번째 스캔라인(SC2)의 처리과정에서 인지하고 있는 세번째 스캔라인(SC3)의 활성에지데이터들인 E1,E4의 처리과정을 종료하며, 첫번째 에지데이터(E1)는 더 이상의 스캔라인들에 걸쳐 있지 않은 에지데이터가 아니므로 도 5c에 도시된 바와 같이 첫번째 에지데이터(E1)의 링크정보를 M2에서 C로 갱신하고, 네번째 에지데이터(E4)는 네번째 스캔라인(SC4)에 걸쳐있는 에지데이터임을 인지한다. First, in order to process active edge data that spans the third scan line SC3, which is already recognized in the processing of the second scan line SC2, which is the previous scan line, the M1 address of the memory 7 is accessed to access the M1 address. It reads and processes the stored first edge data E1, and knows that the first edge data E1 does not span the fourth scan line SC4. After reading the first edge data E1, the link information related to the first edge data E1 is M2. Therefore, the link information associated with the first edge data E1 is M2, and the fourth edge data E4 stored at the M2 address is read and processed. Since the link information of the fourth edge data E4 is C, there is no address to link, so the processing of the active edge data E1 and E4 of the third scan line SC3 recognized in the process of the second scan line SC2 ends. Since the first edge data E1 is not edge data that does not span more scan lines, the link information of the first edge data E1 is updated from M2 to C as shown in FIG. 5C, and the fourth edge data ( Recognize that E4) is edge data that spans the fourth scan line SC4.

현재의 스캔라인인 세번째 스캔라인(SC3)에 대한 처리를 위해 메모리(7)의 M3주소로 접근하여 M3주소에 저장된 열두번째 에지데이터(E12)를 읽고 처리하며, 이때 열두번째 에지데이터(E12)에 대한 링크정보는 C이므로 세번째 스캔라인(SC3)에 대한 더 이상의 에지데이터는 없으므로 세번째 스캔라인(SC3)에 대한 활성에지목록 생성과정을 종료하고, 네번째 에지데이터(E4)와 열두번째 에지데이터(E12)는 다음 스캔라인인 네번째 스캔라인(SC4)에 걸쳐 있는 에지데이터, 즉 네번째 스캔라인(SC4)의 활성에지데이터들이므로 도 5d에 도시된 바와 같이 네번째 에지데이터(E4)의 링크정보를 C에서 M3로 갱신한다.In order to process the third scan line SC3, which is the current scan line, the M3 address of the memory 7 is accessed to read and process the twelfth edge data E12 stored at the M3 address. In this case, the twelfth edge data E12 is read. Since the link information for C is no further edge data for the third scan line (SC3), the process of generating the active edge list for the third scan line (SC3) ends, and the fourth edge data (E4) and the twelfth edge data ( Since E12) is edge data that spans the fourth scan line SC4, which is the next scan line, that is, active edge data of the fourth scan line SC4, link information of the fourth edge data E4 is selected as C shown in FIG. 5D. Update to M3.

따라서 도 6에 도시된 바와 같이 세번째 스캔라인(SC3)의 활성에지데이터들은 순차적으로 E1, E4, E12이다. Therefore, as shown in FIG. 6, the active edge data of the third scan line SC3 are E1, E4, and E12 sequentially.

네번째 스캔라인(SC4)에 대한 활성에지목록을 생성하기 위한 과정은 다음과 같다. The process for generating an active edge list for the fourth scan line SC4 is as follows.

먼저, 이전의 스캔라인인 세번째 스캔라인(SC3)의 처리과정에서 네번째 스캔라인(SC4)에 걸쳐 있는 활성에지데이터는 메모리(7)의 M2주소에 저장된 네번째 에지데이터(E4)인 것을 알고 있으므로, 메모리(7)의 M2주소로 접근하여 네번째 에지데이터(E4)를 읽고 처리하며, 네번째 에지데이터(E4)는 다섯번째 스캔라인(SC5)에 걸쳐 있지 않음을 인지하고 있다. First, since the active edge data that spans the fourth scan line SC4 in the process of the third scan line SC3 which is the previous scan line is known as the fourth edge data E4 stored at the M2 address of the memory 7, The fourth edge data E4 is read and processed by accessing the M2 address of the memory 7, and it is recognized that the fourth edge data E4 does not span the fifth scan line SC5.

네번째 에지데이터(E4)를 읽은 후 네번째 에지데이터(E4)와 관련된 링크정보는 M3이므로 메모리(7)의 M3주소로 접근하여 M3주소에 저장된 열두번째 에지데이터(E12)를 읽고 처리한다. 이때 열두번째 에지데이터(E12)의 링크정보는 C이므로 링크할 주소가 없으므로 세번째 스캔라인(SC3)의 처리과정에서 인지하고 있는 세번째 스캔라인(SC3)의 활성에지데이터들인 E4,E12의 처리과정을 종료하며, 네번째 에지데이터(E4)는 더 이상의 스캔라인들에 걸쳐 있지 않은 에지데이터가 아니므로 도 5e에 도시된 바와 같이 네번째 에지데이터(E4)의 링크정보를 M3에서 C로 갱신한다.After reading the fourth edge data E4, the link information related to the fourth edge data E4 is M3. Therefore, the link information related to the fourth edge data E4 is M3, and the twelfth edge data E12 stored at the M3 address is read and processed. In this case, since the link information of the twelfth edge data E12 is C, there is no address to link, so the process of E4 and E12 which are active edge data of the third scan line SC3 recognized in the process of the third scan line SC3 is performed. When the fourth edge data E4 is not edge data that does not span any more scan lines, the link information of the fourth edge data E4 is updated from M3 to C as shown in FIG. 5E.

현재의 스캔라인인 네번째 스캔라인(SC4)에 대한 처리를 위해 메모리(7)의 M4주소로 접근하여 M4주소에 저장된 다섯번째 에지데이터(E5)를 읽고 처리하고, 다섯번째 에지데이터(E5)와 관련된 링크정보는 L8이므로 메모리의 L8주소로 접근하여 여덟번째 에지데이터(E8)를 읽고 처리하고, 여덟번째 에지데이터(E8)와 관련된 링크정보는 L9이므로 다시 메모리의 L9주소로 접근하여 아홉번째 에지데이터(E9)를 읽고 처리하고, 다시 상기와 같은 과정을 반복하여 열한번째 에지데이터(E11)와 관련된 링크주소는 C이므로 순차적으로 열번째 에지데이터(E10)와 열한번째 에지데이터(E11)를 읽고 처리하여 네번째 스캔라인(SC4)에 대한 활성에지목록 생성과정을 종료한다.To process the fourth scan line SC4, which is the current scan line, the M4 address of the memory 7 is accessed to read and process the fifth edge data E5 stored at the M4 address. Since the related link information is L8, the 8th edge data (E8) is read and processed by accessing the L8 address of the memory, and the link information related to the 8th edge data (E8) is L9. The data E9 is read and processed, and the above process is repeated, and thus the link address associated with the eleventh edge data E11 is C, so that the tenth edge data E10 and the eleventh edge data E11 are sequentially read and processed. The active edge list generation process for the fourth scan line SC4 ends.

아홉번째 에지데이터(E9) 내지 열한번째 에지데이터(E11)들은 전부 더 이상의 스캔라인들에 걸쳐있는 에지데이터가 아니므로 도 5f에 도시된 바와 같이 이들 에지데이터들에 대한 링크정보를 가지고 있는 여덟번째 에지데이터(E8)와 관련된 링크정보를 L9에서 C로 갱신하고, 아홉번째 에지데이터(E9)와 관련된 링크정보를 L10에서 C로 갱신하고, 열번째 에지데이터(E10)와 관련된 링크정보를 L11에서 C로 갱신한다. Since the ninth edge data E9 to eleventh edge data E11 are not all edge data that spans further scan lines, the eighth edge having link information for these edge data as shown in FIG. 5F. Update the link information associated with the data E8 from L9 to C, update the link information associated with the ninth edge data E9 from L10 to C, and update the link information associated with the tenth edge data E10 from L11 to C. Update to.

또한, 다섯번째 에지데이터(E5)와 여덟번째 에지데이터(E8)는 다음 스캔라인인 다섯번째 스캔라인(SC5)에 걸쳐 있는 에지데이터, 즉 다섯번째 스캔라인(SC5)의 활성에지데이터들이므로 다섯번째 에지데이터(E5)의 링크정보는 갱신하지 않는다.In addition, since the fifth edge data E5 and the eighth edge data E8 are the edge data that spans the fifth scan line SC5 which is the next scan line, that is, the active edge data of the fifth scan line SC5, The link information of the first edge data E5 is not updated.

따라서 도 6에 도시된 바와 같이 네번째 스캔라인(SC4)의 활성에지데이터들은 순차적으로 E4, E12, E5, E8, E9, E10, E11이다. Therefore, as shown in FIG. 6, the active edge data of the fourth scan line SC4 are sequentially E4, E12, E5, E8, E9, E10, and E11.

다섯번째 스캔라인(SC5)에 대한 활성에지목록을 생성하기 위하여, 먼저, 이전의 스캔라인인 네번째 스캔라인(SC4)의 처리과정에서 다섯번째 스캔라인(SC5)에 걸쳐 있는 활성에지데이터는 메모리(7)의 M4주소에 저장된 다섯번째 에지데이터(E5)인 것을 알고 있으므로, 메모리(7)의 M4주소로 접근하여 다섯번째 에지데이터(E5)를 읽고 처리하며, 다섯번째 에지데이터(E5)는 여섯번째 스캔라인(SC6)에 걸쳐 있는 에지데이터임을 인지하고 있다. In order to generate the active edge list for the fifth scan line SC5, first, the active edge data that spans the fifth scan line SC5 in the processing of the fourth scan line SC4, which is the previous scan line, is stored in memory ( Since it is the fifth edge data (E5) stored at the M4 address of 7), it accesses the M4 address of the memory (7) to read and process the fifth edge data (E5), and the fifth edge data (E5) has six It is recognized that it is edge data that spans the first scan line SC6.

다섯번째 에지데이터(E5)를 읽은 후 다섯번째 에지데이터(E5)와 관련된 링크정보는 L8이므로 메모리(7)의 L8주소로 접근하여 L8주소에 저장된 여덟번째 에지데이터(E8)를 읽고 처리한다. 이때 여덟번째 에지데이터(E8)의 링크정보는 C이므로 링크할 주소가 없으므로 네번째 스캔라인(SC4)의 처리과정에서 인지하고 있는 다섯번째 스캔라인(SC5)의 활성에지데이터들인 E5,E8의 처리과정을 종료한다. After reading the fifth edge data E5, the link information related to the fifth edge data E5 is L8. Therefore, the link information associated with the fifth edge data E5 is L8, and the eighth edge data E8 stored at the L8 address is read and processed. At this time, since the link information of the eighth edge data E8 is C, there is no address to link to, so the process of E5 and E8 which are active edge data of the fifth scan line SC5 recognized in the process of the fourth scan line SC4. To exit.

현재의 스캔라인인 다섯번째 스캔라인(SC5)에 대한 처리를 위해 메모리(7)의 M5주소로 접근하여 M5주소에 저장된 일곱번째 에지데이터(E7)를 읽고 처리하여 다섯번째 스캔라인(SC5)에 대한 활성에지목록 생성과정을 종료한다.To process the fifth scan line (SC5), which is the current scan line, access the M5 address of the memory (7) to read and process the seventh edge data (E7) stored in the M5 address to the fifth scan line (SC5) Terminate the process of creating an active edge list.

다섯번째 에지데이터(E5)와 일곱번째 에지데이터(E7)는 마지막 스캔라인인 여섯번째 스캔라인(E6)에 걸쳐있는 에지데이터이므로 도 5g에 도시된 바와 같이 다섯번째 에지데이터(E5)의 링크정보를 L8에서 일곱번째 에지데이터(E7)가 저장된 주소 M5로 갱신한다.Since the fifth edge data E5 and the seventh edge data E7 are edge data that spans the sixth scan line E6, which is the last scan line, link information of the fifth edge data E5 as shown in FIG. 5G. Is updated at L8 to the address M5 where the seventh edge data E7 is stored.

따라서 도 6에 도시된 바와 같이 다섯번째 스캔라인(SC5)의 활성에지데이터들은 순차적으로 E5, E8, E7이다. Accordingly, as shown in FIG. 6, the active edge data of the fifth scan line SC5 are E5, E8, and E7 sequentially.

마지막 스캔라인인 여섯번째 스캔라인(SC6)에 대한 활성에지목록을 생성하기 위하여, 먼저, 이전의 스캔라인인 다섯번째 스캔라인(SC5)의 처리과정에서 여섯번째 스캔라인(SC6)에 걸쳐 있는 활성에지데이터는 메모리(7)의 M4주소에 저장된 다섯번째 에지데이터(E5)인 것을 알고 있으므로, 메모리(7)의 M4주소로 접근하여 다섯번째 에지데이터(E5)를 읽고 처리한 후, 다섯번째 에지데이터(E5)와 관련된 링크정보 M5로 접근하여 일곱번째 에지데이터(E7)를 읽고 처리한다. In order to generate the active edge list for the last scan line, the sixth scan line SC6, first, the active spread over the sixth scan line SC6 in the processing of the previous scan line, the fifth scan line SC5, is performed. Since the edge data is known as the fifth edge data E5 stored at the M4 address of the memory 7, the fifth edge data E5 is read and processed by accessing the M4 address of the memory 7, and then the fifth edge. The link information M5 related to the data E5 is accessed to read and process the seventh edge data E7.

이때 일곱번째 에지데이터(E7)의 링크정보는 C이므로 링크할 주소가 없으므로 다섯번째 스캔라인(SC5)의 처리과정에서 인지하고 있는 여섯번째 스캔라인(SC6)의 활성에지데이터들인 E5,E7의 처리과정을 종료하고, 도 5h에 도시된 바와 같이 다섯번째 에지데이터(E5)와 관련된 링크정보를 M5에서 C로 갱신한다. In this case, since the link information of the seventh edge data E7 is C, there is no address to link, so the processing of the active edge data E5 and E7 of the sixth scan line SC6 recognized in the process of the fifth scan line SC5 is performed. The process ends and the link information associated with the fifth edge data E5 is updated from M5 to C as shown in FIG. 5H.

현재의 스캔라인인 여섯번째 스캔라인(SC6)에 대한 처리를 위해 메모리(7)의 M6주소로 접근하여 M6주소에 저장된 여섯번째 에지데이터(E6)를 읽고 처리하여 여섯번째 스캔라인(SC6)에 대한 활성에지목록 생성과정을 종료한다.To process the sixth scan line (SC6), which is the current scan line, access the M6 address of the memory (7) to read and process the sixth edge data (E6) stored at the M6 address to the sixth scan line (SC6). Terminate the process of creating an active edge list.

따라서 도 6에 도시된 바와 같이 여섯번째 스캔라인(SC6)의 활성에지데이터들은 순차적으로 E5, E7, E6이다. Accordingly, as shown in FIG. 6, the active edge data of the sixth scan line SC6 are sequentially E5, E7, and E6.

이와 같이 종래의 경우 에지목록 및 활성에지목록을 생성하기 위하여 모든 에지데이터들은 에지데이터들에 접근하기 위한 링크정보들이 반드시 필요하므로 각각의 에지데이터와 관련된 링크정보를 저장하기 위한 큰 저장공간을 갖는 메모리가 필요하고, 링크정보에 따라 계속적으로 메모리를 접근하여야 하므로 메모리 접근 횟수가 많아지게 되어 이에 따라 전력소모가 크고, 그래픽 장치의 성능을 저하시키는 문제점을 가지고 있다.As described above, in order to generate an edge list and an active edge list, since all edge data are required link information for accessing the edge data, a memory having a large storage space for storing link information associated with each edge data is required. And the memory needs to be continuously accessed according to the link information, thereby increasing the number of memory accesses. Accordingly, the power consumption is large and the performance of the graphics device is degraded.

또한, 메모리에 저장된 에지목록을 이용하여 활성에지목록 생성시 링크정보들을 갱신하면서 각 스캔라인 별로 활성에지데이터들을 처리하므로 그 과정이 복잡하며 이로 인해 그래픽 장치의 성능을 저하시키는 문제점을 가지고 있다.In addition, since the active edge data is processed for each scan line while updating the link information when the active edge list is generated by using the edge list stored in the memory, the process is complicated, which causes a problem of degrading the performance of the graphics device.

본 발명의 목적은 각각의 스캔라인 별로 에지목록을 위한 에지데이터들을 순차적으로 에지목록메모리에 저장함으로써 링크정보들이 필요 없게 되어 메모리의 사용량을 감소시킬 수 있고, 각 스캔라인 별로 현재 처리중인 현재 스캔라인의 다음번째 스캔라인인 다음 스캔라인에 걸쳐 있는 활성에지데이터들로만 이루어진 다음활성에지목록을 에지목록이 저장된 에지목록메모리와는 다른 별도의 다음활성에지목록메모리에 저장하여 이전 스캔라인 처리시 생성된 다음활성에지목록메모리에 저장된 에지데이터들과 현재 스캔라인 처리를 위한 에지목록메모리에 저장된 에지데이터들을 읽어와서 활성에지목록을 생성하게 되므로, 메모리 접근 횟수를 감소시킬 수 있어 그래픽 가속기의 전력소모를 감소시킬 수 있고, 그래픽 가속기의 성능을 향상시킬 수 있는 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법을 제공하는 데 있다.An object of the present invention is to store the edge data for the edge list for each scan line in the edge list memory sequentially so that link information is not required, thereby reducing the memory usage, and the current scan line currently being processed for each scan line. The next active edge list, which consists only of the active edge data that spans the next scan line of the next scan line, is stored in the next active edge list memory that is different from the edge list memory where the edge list is stored, The active edge list is generated by reading the edge data stored in the active edge list memory and the edge data stored in the edge list memory for the current scan line processing, thereby reducing the number of memory accesses and reducing the power consumption of the graphics accelerator. Can and improve the performance of the graphics accelerator Generating an edge list of the graphics accelerator way and to provide an active edge list generation method using the same.

상기의 목적을 달성하기 위하여 본 발명의 그래픽 가속기의 에지목록 생성방법은 화면에 이미지를 생성하기 위하여 시작점과 끝점의 위치좌표를 가지며 방향성을 갖는 벡터 데이터들인 에지데이터들을 수신하여 각 스캔라인 별로 에지목록을 생성하는 그래픽 가속기의 에지목록 생성방법에 있어서, 에지데이터들을 순차적으로 수신하는 에지데이터 수신단계; 상기 에지데이터 수신단계에서 수신된 에지데이터들의 시작점과 끝점의 y축 좌표값을 비교하여 큰 값을 갖는 지점의 위치에 속하는 스캔라인을 검출하고, 해당 스캔라인에 속하는 에지데이터들을 저장하기 위한 다수개의 에지데이터저장영역과 링크정보가 저장되는 링크정보저장영역을 갖는 스캔라인슬롯의 위치를 선택하는 스캔라인슬롯 위치선택단계; 상기 스캔라인슬롯 위치선택단계에서 선택된 스캔라인슬롯에 수신된 에지데이터를 저장하기 위한 빈 공간의 에지데이터저장영역이 있는지를 판단하는 에지데이터저장영역 판단단계; 상기 에지데이터저장영역 판단단계에서 상기 에지데이터저장영역에는 수신된 에지데이터를 저장하기 위한 빈 공간의 저장영역이 없으면, 상기 링크정보저장영역의 링크정보를 갱신하는 링크정보 갱신단계; 상기 링크정보 갱신단계에서 갱신된 링크정보에 따른 링크슬롯저장영역에 수신된 에지데이터를 저장하는 링크슬롯 저장단계; 상기 에지데이터저장영역 판단단계에서 상기 에지데이터저장영역에는 수신된 에지데이터를 저장하기 위한 빈 공간의 저장영역이 있으면, 상기 스캔라인슬롯 위치선택단계에서 선택된 스캔라인슬롯의 에지데이터저장영역에 수신된 에지데이터를 저장하는 에지데이터 저장단계; 상기 에지데이터 저장단계에서 상기 에지데이터저장영역에 저장되는 에지데이터가 선택된 스캔라인의 마지막 에지데이터인지를 검출하여 마지막 에지데이터이면 해당 스캔라인에 관련된 에지목록생성의 완료를 위해 상기 링크정보저장영역의 링크정보에 스캔라인완료를 기록하는 제1스캔라인완료 기록단계; 및 현재 수신된 에지데이터가 에지목록생성을 위한 마지막 에지데이터인지를 판단하여 마지막 에지데이터이면 에지목록생성을 종료하고, 마지막 에지데이터가 아니면 상기 에지데이터 수신단계는 다음의 에지데이터를 순차적으로 수신하는 마지막 에지데이터 판단단계를 구비한 것을 특징으로 한다.In order to achieve the above object, the edge list generation method of the graphic accelerator of the present invention receives edge data, which is vector data having direction coordinates of the start point and the end point and generates the edge list for each scan line, to generate an image on the screen. An edge list generation method of a graphics accelerator for generating a data, comprising: an edge data receiving step of sequentially receiving edge data; Comparing the y-axis coordinate values of the start point and the end point of the edge data received in the edge data receiving step to detect a scan line belonging to the position of the point having a large value, and stores a plurality of edge data belonging to the corresponding scan line A scan line slot position selection step of selecting a position of a scan line slot having an edge data storage area and a link information storage area in which link information is stored; An edge data storage area determination step of determining whether there is an edge data storage area of an empty space for storing the received edge data in the scan line slot selected in the scan line slot position selection step; A link information updating step of updating link information of the link information storage area if the edge data storage area has no empty space for storing the received edge data in the edge data storage area determination step; A link slot storing step of storing the received edge data in a link slot storage area according to the link information updated in the link information updating step; In the edge data storage area determination step, if there is a storage area of an empty space for storing the received edge data, the edge data storage area is received in the edge data storage area of the scan line slot selected in the scan line slot position selection step. An edge data storage step of storing edge data; In the edge data storing step, if the edge data stored in the edge data storage area is the last edge data of the selected scan line, and the last edge data is detected, the link information storage area of the link information storage area is completed to complete generation of an edge list related to the corresponding scan line. A first scan line completion recording step of recording the scan line completion in the link information; And determining whether the currently received edge data is the last edge data for edge list generation. If the last edge data is the last edge data, the edge list generation is terminated. If not, the edge data receiving step sequentially receives the next edge data. And a final edge data determination step.

상기의 목적을 달성하기 위하여 본 발명의 그래픽 가속기의 활성에지목록 생성방법은 각 스캔라인에 대응되는 스캔라인슬롯의 에지데이터저장영역에 순차적으로 저장된 에지데이터들을 각 스캔라인 별로 순차적으로 판독하여 해당 스캔라인에 걸쳐 있는 에지데이터들만으로 구성된 활성에지목록을 생성하는 그래픽 가속기의 활성에지목록 생성방법에 있어서, 각 스캔라인 별로 현재 처리중인 현재 스캔라인의 다음번째 스캔라인인 다음 스캔라인에 걸쳐 있는 에지데이터들로만 이루어진 다음활성에지목록이 저장되는 다음활성에지목록메모리를 구비하여 이전의 스캔라인 처리시 상기 다음활성에지목록메모리에 저장된 에지데이터들이 있는지 검출하는 이전스캔라인 에지데이터 검출단계; 상기 이전스캔라인 에지데이터 검출단계에서 상기 다음활성에지목록메모리에 저장된 에지데이터들이 있으면 상기 다음활성에지목록메모리에 저장된 에지데이터들을 순차적으로 판독하여 제1활성에지목록을 생성하는 제1활성에지목록 생성단계; 상기 제1활성에지목록 생성단계에서 상기 다음활성에지목록메모리에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있는지를 판단하는 제1다음스캔라인 에지데이터 검출단계; 제1다음스캔라인 에지데이터 검출단계에서 판독되는 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있으면 다음의 스캔라인에 걸쳐있는 에지데이터들을 상기 다음활성에지목록메모리에 저장하는 제1다음활성에지목록 저장단계; 상기 이전스캔라인 에지데이터 검출단계에서 상기 다음활성에지목록메모리에 저장된 에지데이터들이 없거나, 상기 제1다음스캔라인 에지데이터 검출단계에서 상기 다음활성에지목록메모리에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 없거나, 제1다음활성에지목록 저장단계에서 상기 다음활성에지목록메모리에 에지데이터를 저장한 후 현재 스캔라인에 해당되는 스캔라인슬롯의 에지데이터저장영역에 저장된 에지데이터들을 순차적으로 판독하여 제2활성에지목록을 생성하는 현재스캔라인 에지데이터 판독단계; 상기 현재스캔라인 에지데이터 판독단계에서 현재 스캔라인에 해당되는 스캔라인슬롯의 에지데이터저장영역에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있는지를 판단하는 제2다음스캔라인 에지데이터 검출단계; 상기 제2다음스캔라인 활성에지데이터 검출단계에서 판독되는 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있으면 다음의 스캔라인에 걸쳐있는 에지데이터들을 상기 다음활성에지목록메모리에 저장하는 제2다음활성에지목록 저장단계; 및 현재의 스캔라인이 활성에지목록을 생성하기 위한 마지막 스캔라인 인지를 판단하여 마지막 스캔라인이면 활성에지목록생성을 종료하고, 마지막 스캔라인이 아니면 상기 이전스캔라인 에지데이터 검출단계를 수행하는 마지막 스캔라인 판단단계를 구비한 것을 특징으로 한다.In order to achieve the above object, the method of generating an active edge list of the graphic accelerator according to the present invention sequentially reads edge data stored in an edge data storage area of a scan line slot corresponding to each scan line for each scan line and sequentially scans the corresponding edge data. A method for generating an active edge list of a graphic accelerator that generates an active edge list consisting of only edge data that spans a line, wherein each scan line includes only edge data that spans the next scan line, which is the next scan line of the current scan line currently being processed. A previous scanline edge data detection step of detecting a presence of edge data stored in the next active edge list memory during a previous scanline process by including a next active edge list memory in which a next active edge list is stored; If there is edge data stored in the next active edge list memory in the previous scan line edge data detection step, a first active edge list is generated by sequentially reading edge data stored in the next active edge list memory to generate a first active edge list. step; In the first active edge list generation step, first next scan line edge data detection for determining whether there is edge data that spans a next scan line among respective edge data stored in the next active edge list memory and sequentially read. step; A first next activity for storing edge data over a next scan line in the next active edge list memory if any of the edge data read in the first next scan line edge data detection step spans the next scan line An edge list storing step; Edge data stored in the next active edge list memory in the previous scan line edge data detection step, or each edge data stored in the next active edge list memory in the first next scan line edge data detection step and sequentially read. None of the edge data that spans the next scan line, or the edge data storage area of the scan line slot corresponding to the current scan line after storing the edge data in the next active edge list memory in the first next active edge list storage step A current scan line edge data reading step of sequentially reading edge data stored in the second data to generate a second active edge list; In the step of reading the current scan line edge data, it is determined whether there is edge data that spans the next scan line among the respective edge data stored in the edge data storage area of the scan line slot corresponding to the current scan line and sequentially read. A second next scan line edge data detection step; A second data for storing edge data over a next scan line in the next active edge list memory when there is edge data over a next scan line among edge data read in the second next scan line active edge data detection step; Storing the next active edge list; And determining whether the current scan line is the last scan line for generating the active edge list, and if the last scan line is terminated, ends the generation of the active edge list, and if not, the last scan line performs the previous scan line edge data detection step. Characterized in that the line determination step.

본 발명의 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법은 각각의 스캔라인 별로 에지목록을 위한 에지데이터들을 순차적으로 에지목록메모리에 저장함으로써 링크정보들이 필요 없게 되어 메모리의 사용량을 감소시킬 수 있고, 각 스캔라인 별로 현재 처리중인 현재 스캔라인의 다음번째 스캔라인인 다음 스캔라인에 걸쳐 있는 활성에지데이터들로만 이루어진 다음활성에지목록을 에지목록이 저장된 메모리와는 다른 별도의 다음활성에지목록메모리에 저장하여 이전 스캔라인 처리시 생성된 다음활성에지목록메모리에 저장된 에지데이터들과 현재 스캔라인 처리를 위한 에지목록메모리에 저장된 에지데이터들을 읽어와서 활성에지목록을 생성하게 되므로, 메모리 접근 횟수를 감소시킬 수 있어 그래픽 가속기의 전력소모를 감소시킬 수 있고, 그래픽 가속기의 성능을 향상시킬 수 있다.The edge list generation method and the active edge list generation method using the graphic accelerator of the present invention store the edge data for the edge list for each scan line sequentially in the edge list memory so that link information is not required, thereby reducing the memory usage. For each scan line, the next active edge list, which consists only of active edge data spanning the next scan line, the next scan line of the current scan line currently being processed, is the next active edge list separate from the memory where the edge list is stored. The number of memory accesses can be generated by reading the edge data stored in the next active edge list memory created by the previous scan line processing and the edge data stored in the edge list memory for the current scan line processing. Can reduce the overall speed of the graphics accelerator It is possible to reduce the consumption, it is possible to improve the performance of a graphics accelerator.

도 1은 벡터 그래픽스 방식에 따른 이미지 데이터를 출력하기 위한 일반적인 2차원 벡터 그래픽 가속기의 구성도,
도 2는 화면에 이미지를 생성하기 위한 이미지 경로가 표시된 도면,
도 3은 도 2의 이미지 경로에 대한 종래의 에지목록의 생성을 위한 에지데이터들이 저장된 메모리를 도시한 도면,
도 4는 도 3에 대한 종래의 에지목록을 도시한 도면,
도 5a 내지 도 5h는 도 3의 에지목록을 이용하여 종래의 활성에지목록을 생성하기 위한 과정을 도시한 도면,
도 6은 종래의 활성에지목록을 도시한 도면,
도 7은 본 발명의 에지목록 생성방법의 순서도,
도 8은 본 발명에 따른 에지목록이 저장된 에지목록메모리의 개략적인 구성도,
도 9는 본 발명의 활성에지목록 생성방법의 순서도,
도 10a 내지 도 10g는 본 발명의 다음활성에지목록메모리에 에지데이터들이 저장되는 과정을 도시한 도면,
도 11a 및 도 11b는 각각 호랑이 영상과 지하철 영상에 도면이다.
1 is a configuration diagram of a general two-dimensional vector graphics accelerator for outputting image data according to a vector graphics scheme;
2 is a view showing an image path for generating an image on a screen;
FIG. 3 is a diagram illustrating a memory in which edge data for generating a conventional edge list for the image path of FIG. 2 is stored;
4 illustrates a conventional edge list of FIG. 3;
5A to 5H illustrate a process for generating a conventional active edge list using the edge list of FIG. 3;
6 is a view showing a conventional active edge list,
7 is a flowchart of an edge list generation method of the present invention;
8 is a schematic structural diagram of an edge list memory storing an edge list according to the present invention;
9 is a flowchart of a method for generating an active edge list according to the present invention;
10A to 10G illustrate a process of storing edge data in a next active edge list memory of the present invention;
11A and 11B are diagrams for a tiger image and a subway image, respectively.

이하, 첨부된 도면을 참조하여 본 발명의 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법을 상세히 설명하고자 한다.Hereinafter, an edge list generation method and an active edge list generation method using the graphic accelerator of the present invention will be described in detail with reference to the accompanying drawings.

도 2, 도 7 및 도 8에 도시된 바와 같이 본 발명의 그래픽 가속기의 에지목록 생성방법은 에지데이터들을 순차적으로 수신하는 에지데이터 수신단계(S1)와, 에지데이터 수신단계(S1)에서 수신된 에지데이터들의 시작점과 끝점의 y축 좌표값을 비교하여 큰 값을 갖는 지점의 위치에 속하는 스캔라인을 검출하고, 해당 스캔라인에 속하는 에지데이터들을 저장하기 위한 다수개의 에지데이터저장영역(EM)과 링크정보가 저장되는 링크정보저장영역(LKM)을 갖는 스캔라인슬롯(SS1∼SS6)의 위치를 선택하는 스캔라인슬롯 위치선택단계(S2)와, 스캔라인슬롯 위치선택단계(S2)에서 선택된 스캔라인슬롯(SS1∼SS6)에 수신된 에지데이터를 저장하기 위한 빈 공간의 에지데이터저장영역(EM)이 있는지를 판단하는 에지데이터저장영역 판단단계(S3)와, 에지데이터저장영역 판단단계(S3)에서 에지데이터저장영역(EM)에는 수신된 에지데이터를 저장하기 위한 빈 공간의 저장영역이 없으면, 상기 링크정보저장영역(LKM)의 링크정보를 갱신하는 링크정보 갱신단계(S4)와, 링크정보 갱신단계(S4)에서 갱신된 링크정보에 따른 링크슬롯저장영역(LSM)에 수신된 에지데이터를 저장하는 링크슬롯 저장단계(S5)와, 에지데이터저장영역 판단단계(S3)에서 상기 에지데이터저장영역(EM)에는 수신된 에지데이터를 저장하기 위한 빈 공간의 저장영역이 있으면, 상기 스캔라인슬롯 위치선택단계(S2)에서 선택된 스캔라인슬롯(SS1∼SS6)의 에지데이터저장영역(EM)에 수신된 에지데이터를 저장하는 에지데이터 저장단계(S6)와, 에지데이터 저장단계(S6)에서 상기 에지데이터저장영역에 저장되는 에지데이터가 선택된 스캔라인의 마지막 에지데이터인지를 검출하여 마지막 에지데이터이면 해당 스캔라인에 관련된 에지목록생성의 완료를 위해 상기 링크정보저장영역(LKM)의 링크정보에 스캔라인완료(C)를 기록하는 제1스캔라인완료 기록단계(S7)와, 현재 수신된 에지데이터가 에지목록생성을 위한 마지막 에지데이터(E12)인지를 판단하여 마지막 에지데이터(E12)이면 에지목록생성을 종료하고, 마지막 에지데이터(E12)가 아니면 상기 에지데이터 수신단계(S1)는 다음의 에지데이터를 순차적으로 수신하는 마지막 에지데이터 판단단계(S9)로 구성된다.As shown in FIG. 2, FIG. 7 and FIG. 8, the edge list generation method of the graphic accelerator of the present invention includes an edge data receiving step S1 for receiving edge data sequentially and an edge data receiving step S1. Comparing the y-axis coordinate values of the start and end points of the edge data to detect the scan line belonging to the position of the point having a large value, and a plurality of edge data storage area (EM) for storing the edge data belonging to the corresponding scan line and Scan line slot position selection step S2 for selecting positions of scan line slots SS1 to SS6 having link information storage area LKM in which link information is stored, and scan selected in scan line slot position selection step S2. Edge data storage area determination step (S3) of judging whether there is an edge data storage area EM of empty space for storing the received edge data in the line slots SS1 to SS6, and edge data storage area determination. If there is no storage area of the empty space for storing the received edge data in the edge data storage area EM in the system S3, the link information updating step (S4) of updating the link information of the link information storage area LKM. And a link slot storage step S5 for storing the edge data received in the link slot storage area LSM according to the link information updated in the link information update step S4, and an edge data storage area determination step S3. If there is a storage area of the empty space for storing the received edge data in the edge data storage area EM, the edge data storage area of the scan line slots SS1 to SS6 selected in the scan line slot position selection step S2. Edge data storage step (S6) for storing the edge data received in (EM), and whether the edge data stored in the edge data storage area in the edge data storage step (S6) is the last edge data of the selected scan line detected First scan line completion recording step (S7) of recording the scan line completion (C) in the link information of the link information storage area (LKM) to complete the edge list generation associated with the corresponding scan line, if the last edge data; It is determined whether the currently received edge data is the last edge data E12 for edge list generation. If it is the last edge data E12, the edge list generation is terminated. If not, the edge data reception step S1 is performed. ) Consists of the last edge data determination step (S9) of sequentially receiving the next edge data.

또한, 상기 그래픽 가속기의 에지목록 생성방법은 링크슬롯 저장단계(S5)에서 링크슬롯저장영역(LSM)에 저장되는 에지데이터가 선택된 스캔라인의 마지막 에지데이터(E11)인지를 검출하여 마지막 에지데이터(E11)이면 해당 스캔라인에 관련된 에지목록생성의 완료를 위해 상기 링크슬롯저장영역(LS)에 스캔라인완료(C)를 기록하는 제2스캔라인완료 기록단계(S8)를 더 구비할 수 있다.In addition, the edge list generation method of the graphic accelerator detects whether the edge data stored in the link slot storage area LSM in the link slot storage step S5 is the last edge data E11 of the selected scan line. E11), a second scan line complete recording step S8 of recording the scan line completion C in the link slot storage area LS to complete generation of the edge list associated with the corresponding scan line may be further included.

도 9 내지 도 10g에 도시된 바와 그래픽 가속기의 활성에지목록 생성방법은 각 스캔라인 별로 현재 처리중인 현재 스캔라인의 다음번째 스캔라인인 다음 스캔라인에 걸쳐 있는 에지데이터들로만 이루어진 다음활성에지목록이 저장되는 다음활성에지목록메모리(NAEL)를 구비하여 이전의 스캔라인 처리시 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들이 있는지 검출하는 이전스캔라인 에지데이터 검출단계(S10)와, 상기 이전스캔라인 에지데이터 검출단계(S10)에서 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들이 있으면 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들을 순차적으로 판독하여 제1활성에지목록을 생성하는 제1활성에지목록 생성단계(S20)와, 상기 제1활성에지목록 생성단계(S20)에서 상기 다음활성에지목록메모리(NAEL)에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있는지를 판단하는 제1다음스캔라인 에지데이터 검출단계(S30)와, 제1다음스캔라인 에지데이터 검출단계(S30)에서 판독되는 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있으면 다음의 스캔라인에 걸쳐있는 에지데이터들을 상기 다음활성에지목록메모리(NAEL)에 저장하는 제1다음활성에지목록 저장단계(S40)와, 상기 이전스캔라인 에지데이터 검출단계(S10)에서 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들이 없거나, 상기 제1다음스캔라인 에지데이터 검출단계(S30)에서 상기 다음활성에지목록메모리(NAEL)에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 없거나, 제1다음활성에지목록 저장단계(S40)에서 상기 다음활성에지목록메모리(NAEL)에 에지데이터를 저장한 후 현재 스캔라인에 해당되는 스캔라인슬롯(SS1∼SS6)의 에지데이터저장영역(EM)에 저장된 에지데이터들을 순차적으로 판독하여 제2활성에지목록을 생성하는 현재스캔라인 에지데이터 판독단계(S50)와, 상기 현재스캔라인 에지데이터 판독단계(S50)에서 현재 스캔라인에 해당되는 스캔라인슬롯(SS1∼SS6)의 에지데이터저장영역(EM)에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있는지를 판단하는 제2다음스캔라인 에지데이터 검출단계(S60)와, 상기 제2다음스캔라인 활성에지데이터 검출단계(S60)에서 판독되는 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있으면 다음의 스캔라인에 걸쳐있는 에지데이터들을 상기 다음활성에지목록메모리(NAEL)에 저장하는 제2다음활성에지목록 저장단계(S70)와, 현재의 스캔라인이 활성에지목록을 생성하기 위한 마지막 스캔라인(SC6) 인지를 판단하여 마지막 스캔라인(SC6)이면 활성에지목록생성을 종료하고, 마지막 스캔라인(SC6)이 아니면 상기 이전스캔라인 에지데이터 검출단계(S10)를 수행하는 마지막 스캔라인 판단단계(S80)로 구성된다.As shown in FIGS. 9 to 10G, the method for generating an active edge list of the graphic accelerator stores a next active edge list including only edge data that spans the next scan line, which is the next scan line of the current scan line currently being processed. And a previous scan line edge data detection step (S10) for detecting whether there is edge data stored in the next active edge list memory (NAEL) during a previous scan line process by providing a next active edge list memory (NAEL). If there is edge data stored in the next active edge list memory NAEL in the line edge data detection step S10, edge data stored in the next active edge list memory NAEL is sequentially read to generate a first active edge list. First active edge list generation step (S20), and the first active edge list generation step (S20) the next active edge list A first next scan line edge data detection step S30 of determining whether there is edge data that spans a next scan line among respective edge data stored in the memory NAEL and sequentially read; and a first next scan line If there is edge data that spans the next scan line among the edge data read in the edge data detection step S30, the first next step of storing the edge data that spans the next scan line in the next active edge list memory NAEL. In the active edge list storage step S40 and the previous scan line edge data detection step S10, there is no edge data stored in the next active edge list memory NAEL or the first next scan line edge data detection step S30. In the next active edge list memory (NAEL), there is no edge data that spans the next scan line among the respective edge data sequentially read. B, the edge data storage area of the scan line slots SS1 to SS6 corresponding to the current scan line after storing the edge data in the next active edge list memory NAEL in the first next active edge list storing step S40; Current scan line edge data reading step (S50) of sequentially reading edge data stored in EM) to generate a second active edge list, and scanning corresponding to the current scan line in the current scan line edge data reading step (S50). Second next scan line edge data detection for determining whether there is edge data that spans the next scan line among the respective edge data stored in the edge data storage area EM of the line slots SS1 to SS6 and sequentially read out. If there is edge data that spans the next scan line among the edge data read in step S60 and the second next scan line active edge data detection step S60, the next scan line A second next active edge list storing step (S70) of storing the edge data spanning in the next active edge list memory (NAEL), and whether the current scan line is the last scan line (SC6) for generating the active edge list. If it is determined that the last scan line (SC6), the active edge list generation is terminated, and if not the last scan line (SC6) consists of the last scan line determination step (S80) for performing the previous scan line edge data detection step (S10). .

또한, 다음활성에지목록메모리(NAEL)는 판독포인터(rp)와 기록포인터(wp)를 구비하여 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들의 판독시에는 판독포인터(rp)의 위치에 저장된 에지데이터를 판독하고, 다음활성에지목록메모리(NAEL)에 에지데이터들의 저장시에는 기록포인터(wp)의 위치에 에지데이터를 저장한다.In addition, the next active edge list memory NAEL includes a read pointer rp and a recording pointer wp, which are stored at the position of the read pointer rp when reading edge data stored in the next active edge list memory NAEL. When the edge data is read out and the edge data is stored in the next active edge list memory NAEL, the edge data is stored in the position of the recording pointer wp.

상기의 구성에 따른 본 발명인 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법의 동작은 다음과 같다. Operation of the edge list generation method and the active edge list generation method using the graphic accelerator of the present invention according to the above configuration is as follows.

도 2에 도시된 바와 같이 6개의 스캔라인들(SC1∼SC6)들로 구성되고, E1에서 E12의 에지데이터들로 구성된 이미지 경로에 대한 에지목록 생성방법의 동작은 다음과 같다. As shown in FIG. 2, an operation of an edge list generation method for an image path including six scan lines SC1 to SC6 and consisting of edge data of E1 to E12 is as follows.

도 7에 도시된 바와 같이 에지데이터 수신단계(S1)는 E1에서 E12의 에지데이터들을 순차적으로 수신한다.As shown in FIG. 7, the edge data receiving step S1 sequentially receives edge data of E1 to E12.

스캔라인슬롯 위치선택단계(S2)는 에지데이터 수신단계(S1)에서 수신된 에지데이터들의 시작점과 끝점의 y축 좌표값을 비교하여 큰 값을 갖는 지점의 위치에 속하는 스캔라인을 검출하고, 해당 스캔라인에 속하는 에지데이터들을 저장하기 위한 다수개의 에지데이터저장영역(EM)과 링크정보가 저장되는 링크정보저장영역(LKM)을 갖는 스캔라인슬롯(SS1∼SS6)의 위치를 선택한다. 즉, 에지목록이 저장된 에지목록메모리(10)의 개략적인 구성도인 도 8에 도시된 바와 같이 에지목록메모리(10)는 도 2의 6개의 스캔라인들(SC1∼SC6)에 각각 대응되는 6개의 스캔라인슬롯(SS1∼SS6)로 구성되고, 각각의 스캔라인슬롯(SS1∼SS6)은 에지데이터들을 저장하기 위한 다수개의 에지데이터저장영역(EM)과 링크정보가 저장되는 링크정보저장영역(LKM)으로 구성된다. 또한, 도 8에 도시된 바와 같이 네번째 스캔라인슬롯(SS4)의 경우 에지데이터저장영역(EM)의 저장공간이 부족할 경우에는 링크슬롯저장영역(LSM)에 나머지 에지데이터들을 저장한다.Scan line slot position selection step (S2) detects the scan line belonging to the position of the point having a large value by comparing the y-axis coordinate values of the start and end points of the edge data received in the edge data receiving step (S1), and The positions of scan line slots SS1 to SS6 having a plurality of edge data storage areas EM for storing edge data belonging to the scan line and a link information storage area LKM for storing link information are selected. That is, as shown in FIG. 8, which is a schematic configuration diagram of the edge list memory 10 in which the edge list is stored, the edge list memory 10 corresponds to the six scan lines SC1 to SC6 of FIG. 2, respectively. Each of the scan line slots SS1 to SS6 includes a plurality of edge data storage areas EM for storing edge data and a link information storage area for storing link information. LKM). In addition, as shown in FIG. 8, when the storage space of the edge data storage area EM is insufficient in the fourth scan line slot SS4, the remaining edge data is stored in the link slot storage area LSM.

예를 들어 에지데이터들을 저장하기 위한 에지데이터저장영역(EM)의 저장공간은 4개이고, 링크정보저장영역(LKM)의 저장공간은 1개라고 가정하면, 에지데이터 수신단계(S1)에서 첫번째 에지데이터(E1)가 수신되면, 종래와 동일하게 스캔라인슬롯 위치선택단계(S2)에서는 첫번째 에지데이터(E1)의 시작점과 끝점의 y축 좌표값을 비교하여 큰 값을 갖는 지점의 위치인 첫번째 스캔라인(SC1)에 해당되는 첫번째 스캔라인슬롯(SS1)을 선택한다. 이와 같은 방법에 의해 두번째 에지데이터(E2) 에서 마지막 열두번째 에지데이터(E12)들에 대해서 해당하는 스캔라인슬롯을 선택한다. For example, assuming that the storage space of the edge data storage area EM for storing the edge data is four and the storage space of the link information storage area LKM is one, the first edge in the edge data receiving step S1. When the data E1 is received, as in the prior art, in the scan line slot position selection step S2, the first scan, which is the position of a point having a large value, is compared by comparing the y-axis coordinate values of the start point and the end point of the first edge data E1. The first scan line slot SS1 corresponding to the line SC1 is selected. In this manner, the corresponding scan line slot is selected for the last twelfth edge data E12 from the second edge data E2.

에지데이터 수신단계(S1)에서 첫번째 에지데이터(E1)가 수신되면, 스캔라인슬롯 위치선택단계(S2)에서는 첫번째 에지데이터(E1)를 도 8의 에지목록메모리(10)의 에지데이터저장영역(EM)에 저장하기 위해 첫번째 스캔라인슬롯(SS1)을 선택한다. 에지데이터저장영역 판단단계(S3)에서는 선택한 첫번째 스캔라인슬롯(SS1)의 에지데이터저장영역(EM)은 전부 비어 있으므로, 에지데이터 저장단계(S6)에서는 첫번째 에지데이터(E1)를 첫번째 스캔라인슬롯(SS1)의 에지데이터저장영역(EM)의 첫번째 저장영역에 저장한다. When the first edge data E1 is received in the edge data reception step S1, in the scan line slot position selection step S2, the first edge data E1 is transferred to the edge data storage area of the edge list memory 10 of FIG. Select the first scan line slot (SS1) to store in EM). In the edge data storage area determination step S3, the edge data storage area EM of the selected first scan line slot SS1 is completely empty. In the edge data storage step S6, the first edge data E1 is selected as the first scan line slot. The data is stored in the first storage area of the edge data storage area EM of (SS1).

상기와 동일한 방법에 의해 두번째 에지데이터(E2)와 세번째 에지데이터(E3)는 모두 첫번째 스캔라인슬롯(SS1)에 속하는 에지데이터들로, 첫번째 스캔라인슬롯(SS1)의 에지데이터저장영역(EM)의 두번째 및 세번째 저장영역에 순차적으로 저장한다. 첫번째 스캔라인슬롯(SS1)의 에지데이터저장영역(EM)에는 더 이상의 에지데이터가 저장될 필요가 없으므로, 즉 세번째 에지데이터(E3)가 첫번째 스캔라인(SC1)에 관련된 마지막 에지테이터이므로 제1스캔라인완료 기록단계(S7)에서는 첫번째 스캔라인에 관련된 에지목록생성의 완료를 표시하기 위해 링크정보저장영역(LKM)의 링크정보에 스캔라인완료(C)를 저장한다.By the same method as above, both the second edge data E2 and the third edge data E3 are edge data belonging to the first scan line slot SS1, and the edge data storage area EM of the first scan line slot SS1. Store sequentially in the second and third storage areas of. Since no further edge data need to be stored in the edge data storage area EM of the first scan line slot SS1, that is, the third edge data E3 is the last edge data related to the first scan line SC1, the first scan. In the line completion recording step S7, the scan line completion C is stored in the link information of the link information storage area LKM to indicate the completion of the edge list generation associated with the first scan line.

상기와 동일하게 에지데이터 수신단계(S1)에서 네번째 에지데이터(E4)가 수신되면, 스캔라인슬롯 위치선택단계(S2)에서는 네번째 에지데이터(E4)를 두번째 스캔라인(S2)에 대응되는 두번째 스캔라인슬롯(SS2)을 선택하고, 에지데이터저장영역 판단단계(S3)에서는 두번째 스캔라인슬롯(SS2)의 에지데이터저장영역(EM)은 전부 비어 있으므로, 에지데이터 저장단계(S6)에서 네번째 에지데이터(E4)를 두번째 스캔라인슬롯(SS2)의 에지데이터저장영역(EM)의 첫번째 저장영역에 저장하고, 네번째 에지데이터(E4)는 두번째 스캔라인(SC1)에 관련된 마지막 에지테이터이므로 제1스캔라인완료 기록단계(S7)에서는 두번째 스캔라인(SC1)에 관련된 에지목록생성의 완료를 표시하기 위해 링크정보저장영역(LKM)의 링크정보에 스캔라인완료(C)를 저장한다.As described above, when the fourth edge data E4 is received in the edge data receiving step S1, in the scan line slot position selection step S2, the fourth edge data E4 is scanned in the second scan line S2. Since the edge data storage area EM of the second scan line slot SS2 is completely empty in the edge data storage area determination step S3, the line slot SS2 is selected, and thus the fourth edge data in the edge data storage step S6. The first scan line E4 is stored in the first storage area of the edge data storage area EM of the second scan line slot SS2, and the fourth edge data E4 is the last edge data related to the second scan line SC1. In the completion recording step S7, the scan line completion C is stored in the link information of the link information storage area LKM to indicate the completion of the edge list generation associated with the second scan line SC1.

에지데이터 수신단계(S1)에서 다섯번째 에지데이터(E5)가 수신되면, 스캔라인슬롯 위치선택단계(S2)에서는 다섯번째 에지데이터(E5)를 네번째 스캔라인(S4)에 대응되는 네번째 스캔라인슬롯(SS4)을 선택하고, 에지데이터저장영역 판단단계(S3)에서는 네번째 스캔라인슬롯(SS4)의 에지데이터저장영역(EM)은 전부 비어 있으므로, 에지데이터 저장단계(S6)에서 다섯번째 에지데이터(E5)를 네번째 스캔라인슬롯(SS4)의 에지데이터저장영역(EM)의 첫번째 저장영역에 저장한다.When the fifth edge data E5 is received in the edge data receiving step S1, in the scan line slot position selecting step S2, the fourth scan line slot corresponding to the fifth edge data E5 in the fourth scan line S4 is received. (SS4) is selected, and in the edge data storage area determination step S3, the edge data storage area EM of the fourth scan line slot SS4 is completely empty, so the fifth edge data (S6) is selected in the edge data storage step S6. E5) is stored in the first storage area of the edge data storage area EM of the fourth scan line slot SS4.

에지데이터 수신단계(S1)에서 여섯번째 에지데이터(E6)와 일곱번째 에지데이터(E7)가 수신되면, 상기와 동일한 방법에 의해 여섯번째 에지데이터(E6)는 여섯번째 스캔라인슬롯(SS6)의 에지데이터저장영역(EM)의 첫번째 저장영역에 저장하고, 일곱번째 에지데이터(E7)는 다섯번째 스캔라인슬롯(SS5)의 에지데이터저장영역(EM)의 첫번째 저장영역에 저장한다.When the sixth edge data E6 and the seventh edge data E7 are received in the edge data receiving step S1, the sixth edge data E6 is divided into the sixth scan line slot SS6 by the same method as described above. The seventh edge data E7 is stored in the first storage area of the edge data storage area EM of the fifth scan line slot SS5.

여섯번째 에지데이터(E6)와 일곱번째 에지데이터(E7)의 각각 여섯번째 스캔라인(SC6)과 다섯번째 스캔라인(SC5)에 관련된 마지막 에지테이터이므로 제1스캔라인완료 기록단계(S7)에서는 에지목록생성의 완료를 표시하기 위해 링크정보저장영역(LKM)의 링크정보에 스캔라인완료(C)를 저장한다.In the first scan line complete recording step S7 since the last edge data of the sixth edge data E6 and the seventh edge data E7 is the last edge data associated with the sixth scan line SC6 and the fifth scan line SC5, respectively. The scan line completion C is stored in the link information of the link information storage area LKM to indicate the completion of the list generation.

에지데이터 수신단계(S1)에서 여덟번째 에지데이터(E8)와 아홉번째 에지데이터(E9)와 열번째 에지데이터(E10)가 각각 수신되면, 이들의 에지데이터들은 모두 네번째 스캔라인슬롯(SS4)에 속하는 에지데이터들로, 네번째 스캔라인슬롯(SS4)의 에지데이터저장영역(EM)의 두번째, 세번째, 네번째 저장영역에 순차적으로 저장한다. When the eighth edge data E8, the ninth edge data E9, and the tenth edge data E10 are received in the edge data receiving step S1, all of these edge data are stored in the fourth scan line slot SS4. As belonging edge data, the edge data is sequentially stored in the second, third, and fourth storage areas of the edge data storage area EM of the fourth scan line slot SS4.

에지데이터 수신단계(S1)에서 열한번째 에지데이터(E11)가 수신되면, 열한번째 에지데이터(E11)는 네번째 스캔라인슬롯(SS4)에 속하는 에지데이터이나, 에지데이터저장영역 판단단계(S3)에서 네번째 스캔라인슬롯(SS4)의 에지데이터저장영역(EM)은 전부 채워져 있어 열한번째 에지데이터(E11)를 에지데이터저장영역(EM)에 저장할 수 없으므로, 링크정보 갱신단계(S4)에서 네번째 스캔라인슬롯(SS4)의 링크정보저장영역(LKM)의 링크정보를 LK로 갱신하고, 링크슬롯 저장단계(S5)에서는 갱신된 링크정보 LK주소를 링크슬롯저장영역(LSM)에 열한번째 에지데이터(E11)를 저장한다. When the eleventh edge data E11 is received in the edge data receiving step S1, the eleventh edge data E11 is edge data belonging to the fourth scan line slot SS4 or the fourth scan in the edge data storage area determination step S3. Since the edge data storage area EM of the line slot SS4 is completely filled and the eleventh edge data E11 cannot be stored in the edge data storage area EM, the fourth scan line slot SS4 in the link information update step S4. Update the link information of the link information storage area LKM to LK, and store the eleventh edge data E11 in the link slot storage area LSM in the link slot storage step S5. .

링크슬롯저장영역(LSM)에 저장된 열한번째 에지데이터(E11)는 네번째 스캔라인(SC4)의 마지막 에지데이터이므로 제2스캔라인완료 기록단계(S8)에서는 네번째 스캔라인(SC4)에 관련된 에지목록생성의 완료를 위해 링크슬롯저장영역(LS)에 스캔라인완료(C)를 기록한다.Since the eleventh edge data E11 stored in the link slot storage area LSM is the last edge data of the fourth scan line SC4, in the second scan line complete recording step S8, the edge list generation associated with the fourth scan line SC4 is generated. Scan line completion C is recorded in the link slot storage area LS for completion.

에지데이터 수신단계(S1)에서 열두번째 에지데이터(E12)가 수신되면, 상기와 동일한 방법에 의해 열두번째 에지데이터(E12)는 두번째 스캔라인슬롯(SS2)의 에지데이터저장영역(EM)의 첫번째 저장영역에 저장하고, 열두번째 에지데이터(E12)는 두번째 스캔라인(SC2)에 관련된 마지막 에지테이터이므로 제1스캔라인완료 기록단계(S7)에서는 에지목록생성의 완료를 표시하기 위해 링크정보저장영역(LKM)의 링크정보에 스캔라인완료(C)를 저장한다.When the twelfth edge data E12 is received in the edge data receiving step S1, the twelfth edge data E12 is the first of the edge data storage area EM of the second scan line slot SS2 by the same method as described above. Since the twelfth edge data E12 is the last edge data associated with the second scan line SC2, in the first scan line completion recording step S7, the link information storage area is displayed to indicate the completion of the edge list generation. The scan line completion C is stored in the link information of the LKM.

마지막 에지데이터 판단단계(S9)에서는 열두번째 에지데이터(E12)는 에지목록생성을 위한 마지막 에지데이터이므로 에지목록생성을 종료한다.In the last edge data determination step S9, since the twelfth edge data E12 is the last edge data for edge list generation, the edge list generation is completed.

이상과 같이 본 발명의 에지목록생성방법은 각각의 에지데이터들에는 에지목록생성을 위해 다음의 에지데이터를 참조하기 위한 링크정보를 가지고 있지 않고, 각각의 스캔라인(SC1∼SC6)에 대응되는 각각의 스캔라인슬롯(SS1∼SS6) 별로 에지데이터저장영역(EM)에 에지데이터들이 순차적으로 저장되고, 각각의 스캔라인슬롯(SS1∼SS6) 별로 하나의 링크정보저장영역(LKM)에 링크정보가 저장되므로, 종래에 비해 메모리의 사용량을 감소시킬 수 있다.As described above, the edge list generation method of the present invention does not have link information for referring to the next edge data for edge list generation in each of the edge data, and corresponds to each of the scan lines SC1 to SC6. Edge data is sequentially stored in the edge data storage area EM for each scan line slot SS1 through SS6, and link information is stored in one link information storage area LKM for each scan line slot SS1 through SS6. Since it is stored, it is possible to reduce the amount of memory used compared to the conventional.

도 8에 도시된 에지목록메모리(10)에 저장된 에지목록을 사용하여 본 발명의 그래픽 가속기의 활성에지목록 생성방법의 동작은 다음과 같다.The operation of the method of generating an active edge list of the graphic accelerator of the present invention using the edge list stored in the edge list memory 10 shown in FIG. 8 is as follows.

도 10a 내지 도 10g에 도시된 바와 같이 다음활성에지목록메모리(NAEL)는 에지목록메모리(10)와는 별도의 다른 메모리로, 각 스캔라인(SC1∼SC6) 별로 현재 처리중인 현재 스캔라인의 다음번째 스캔라인인 다음 스캔라인에 걸쳐 있는 에지데이터들로만 이루어진 다음활성에지목록이 저장된다. 이러한 다음활성에지목록메모리(NAEL)는 판독포인터(rp)와 기록포인터(wp)를 구비하여 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들의 판독시에는 판독포인터(rp)의 위치에 저장된 에지데이터를 판독하고, 다음활성에지목록메모리(NAEL)에 에지데이터들의 저장시에는 기록포인터(wp)의 위치에 에지데이터를 저장하는 환형 큐(Circular Queue) 메모리를 사용하는 것으로 가정한다.As shown in FIGS. 10A to 10G, the next active edge list memory (NAEL) is another memory separate from the edge list memory 10, and is the next one after the current scan line currently being processed for each scan line SC1 to SC6. The next active edge list, which consists only of the edge data spanning the next scan line, which is the scan line, is stored. The next active edge list memory NAEL includes a read pointer rp and a recording pointer wp so that the edge stored at the position of the read pointer rp when reading the edge data stored in the next active edge list memory NAEL. When reading data and storing edge data in the next active edge list memory NAEL, it is assumed that a circular queue memory that stores edge data at the position of the recording pointer wp is used.

도 9에 도시된 바와 같이 첫번째 스캔라인(SC1)은 활성에지목록 생성을 위한 처음 스캔라인이므로 도 10a 도시된 바와 같이 다음활성에지목록메모리(NAEL)에는 전부 비워있으므로, 이전스캔라인 에지데이터 검출단계(S10)에서 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들이 없으므로 현재스캔라인 에지데이터 판독단계(S50)를 수행한다.As shown in FIG. 9, since the first scan line SC1 is the first scan line for generating an active edge list, the next active edge list memory NAEL is completely empty as shown in FIG. 10A, and thus the previous scan line edge data detection step is performed. In S10, since there is no edge data stored in the next active edge list memory NAEL, the current scan line edge data reading step S50 is performed.

현재스캔라인 에지데이터 판독단계(S50)에서는 현재 스캔라인인 첫번째 스캔라인(SC1)에 해당되는 첫번째 스캔라인슬롯(SS1)의 에지데이터저장영역(EM)에 저장된 첫번째 에지데이터들(E1), 두번째 에지데이터(E2), 세번째 에지데이터(E3)를 순차적으로 판독하며, 이때 첫번째 스캔라인(SC1)의 활성화에지목록인 제2활성에지목록은 E1, E2, E3이다.In the current scan line edge data reading step S50, first edge data E1 and second stored in the edge data storage area EM of the first scan line slot SS1 corresponding to the first scan line SC1 which is the current scan line. The edge data E2 and the third edge data E3 are sequentially read. At this time, the second active edge list which is the active edge list of the first scan line SC1 is E1, E2, and E3.

제2다음스캔라인 활성에지데이터 검출단계(S60)는 현재스캔라인 에지데이터 판독단계(S50)에서 첫번째 스캔라인(SC1)에 해당되는 첫번째 스캔라인슬롯(SS1)의 에지데이터저장영역(EM)에 저장되어 순차적으로 판독된 각각의 에지데이터들인 첫번째 에지데이터(E1), 두번째 에지데이터(E2), 세번째 에지데이터(E3)들에 대해서 다음의 스캔라인, 즉 두번째 스캔라인(SC2)에 걸쳐있는 에지데이터들인 활성에지데이터들이 있는지를 판단한다. 따라서 첫번째 에지데이터(E1)와 세번째 에지데이터(E3)가 두번째 스캔라인(SC2)에 걸쳐있는 에지데이터들인 활성에지데이터들인 것을 알 수 있다.The second next scan line active edge data detection step S60 is performed in the edge data storage area EM of the first scan line slot SS1 corresponding to the first scan line SC1 in the current scan line edge data reading step S50. An edge that spans the next scan line, that is, the second scan line SC2, for the first edge data E1, the second edge data E2, and the third edge data E3 which are stored and sequentially read respective edge data. It is determined whether there are active edge data that are data. Accordingly, it can be seen that the first edge data E1 and the third edge data E3 are active edge data which are edge data that spans the second scan line SC2.

제2다음활성에지목록 저장단계(S70)에서는 두번째 스캔라인(SC2)에 걸쳐있는 에지데이터들인 첫번째 에지데이터(E1)와 세번째 에지데이터(E3)를 다음활성에지목록메모리(NAEL)에 저장한다. 이때 판독포인터(rp)와 기록포인터(wp)는 도 10a에 도시된 바와 같이 초기에는 다음활성에지목록메모리(NAEL)의 첫번째 저장영역에 위치하고 있으므로 도 10b에 도시된 바와 같이 다음활성에지목록메모리(NAEL)에 첫번째 에지데이터(E1)는 다음활성에지목록메모리(NAEL)의 첫번째 저장영역에 저장(기록)한 후 기록포인터(wp)는 다음활성에지목록메모리(NAEL)의 두번째 저장영역에 위치하게 되어 세번째 에지데이터(E3)를 다음활성에지목록메모리(NAEL)의 두번째 저장영역에 저장하고, 기록포인터(wp)는 다음활성에지목록메모리(NAEL)의 두번째 저장영역에 위치하게 된다. 이와 같이 다음활성에지목록메모리(NAEL)에 에지데이터들이 저장될 때마다 기록포인터(wp)는 하나씩 증가되고, 환형큐 메모리인 경우 도 10d에서 처럼 처음 위치로 순환하게 된다. 마찬가지로 다음활성에지목록메모리(NAEL)에 저장된 에지데이타를 판독할 때도 판독포인터(rp)는 하나씩 증가하다가 처음 위치로 순환되게 된다.In the second next active edge list storing step S70, the first edge data E1 and the third edge data E3, which are edge data that spans the second scan line SC2, are stored in the next active edge list memory NAEL. At this time, since the read pointer rp and the write pointer wp are initially located in the first storage area of the next active edge list memory NAEL as shown in FIG. 10A, the next active edge list memory ( The first edge data E1 in the NAEL is stored (written) in the first storage area of the next active edge list memory NAEL, and the recording pointer wp is located in the second storage area of the next active edge list memory NAEL. The third edge data E3 is stored in the second storage area of the next active edge list memory NAEL, and the recording pointer wp is located in the second storage area of the next active edge list memory NAEL. In this manner, each time the edge data is stored in the next active edge list memory NAEL, the recording pointer wp is increased by one, and the circular queue memory is circulated to the first position as shown in FIG. 10D. Similarly, when reading edge data stored in the next active edge list memory NAEL, the read pointers rp are incremented by one and then circulated to the first position.

이와 같은 판독포인터(rp)와 기록포인터(wp)를 사용하여 순환되는 환형큐 메모리는 일반적인 것으로 이에 대한 동작은 생략한다.The annular queue memory circulated using the read pointer rp and the write pointer wp is a general operation, and an operation thereof will be omitted.

첫번째 스캔라인(SC1)에 대한 처리가 완료되면, 마지막 스캔라인(SC6)이 아니므로 다음 스캔라인인 두번째 스캔라인(SC2)의 처리를 시작한다.When the processing for the first scan line SC1 is completed, the processing of the second scan line SC2 which is the next scan line is started because it is not the last scan line SC6.

이전스캔라인 에지데이터 검출단계(S10)에서 이전의 스캔라인인 첫번째 스캔라인(SC1)에서 다음활성에지목록메모리(NAEL)에는 첫번째 에지데이터(E1)와 세번째 에지데이터(E3)들이 저장되어 있으므로, 제1활성에지목록 생성단계(S20)에서는 첫번째 에지데이터(E1)와 세번째 에지데이터(E3)들을 두번째 스캔라인의 활성에지목록으로 제1활성에지목록 E1, E3을 생성한다.Since the first edge data E1 and the third edge data E3 are stored in the next active edge list memory NAEL in the first scan line SC1 which is the previous scan line in the previous scan line edge data detection step S10, In the first active edge list generation step S20, the first edge data E1 and the third edge data E3 are generated as the active edge lists of the second scan line, and the first active edge lists E1 and E3 are generated.

제1다음스캔라인 에지데이터 검출단계(S30)에서는 다음활성에지목록메모리(NAEL)에 저장되어 순차적으로 판독된 각각의 첫번째 에지데이터(E1)와 세번째 에지데이터(E3)들에 대해서 다음의 스캔라인인 세번째 스캔라인(SC3)에 걸쳐있는 에지데이터들이 있는지를 판단하며, 이경우 첫번째 에지데이터(E1)는 세번째 스캔라인(SC2)에 걸쳐있는 에지데이터이므로 도 10c에 도시된 바와 같이 제1다음활성에지목록 저장단계(S40)에서 다음활성에지목록메모리(NAEL)의 세번째 저장영역에 첫번째 에지데이터(E1)를 저장한다.In the first next scan line edge data detection step S30, the next scan line is stored for each of the first edge data E1 and the third edge data E3 stored in the next active edge list memory NAEL and sequentially read. In this case, it is determined whether there is edge data that spans the third scan line SC3. In this case, since the first edge data E1 is edge data that spans the third scan line SC2, the first next active edge is shown in FIG. 10C. In the list storage step S40, the first edge data E1 is stored in the third storage area of the next active edge list memory NAEL.

제1다음활성에지목록 저장단계(S40)에서 다음활성에지목록메모리(NAEL)에 세번째 스캔라인(SC3)에 걸쳐있는 첫번째 에지데이터(E1)를 저장한 후, 상기와 동일한 방법으로 현재스캔라인 에지데이터 판독단계(S50)와, 제2다음스캔라인 활성에지데이터 검출단계(S60)와 제2다음활성에지목록 저장단계(S70)를 수행한다.After storing the first edge data E1 spanning the third scan line SC3 in the next active edge list memory NAEL in the first next active edge list storage step S40, the current scan line edge is stored in the same manner as described above. The data reading step S50, the second next scan line active edge data detection step S60, and the second next active edge list storing step S70 are performed.

즉, 현재스캔라인 에지데이터 판독단계(S50)에서는 두번째 스캔라인(SC2)에 해당되는 두번째 스캔라인슬롯(SS2)의 에지데이터저장영역(EM)에 저장된 네번째 에지데이터들(E4)를 판독하며, 이때 두번째 스캔라인(SC2)의 제2활성에지목록은 E4이다.That is, in the current scan line edge data reading step S50, the fourth edge data E4 stored in the edge data storage area EM of the second scan line slot SS2 corresponding to the second scan line SC2 is read. At this time, the second active edge list of the second scan line SC2 is E4.

따라서, 두번째 스캔라인(SC2)의 활성에지목록은 앞서 제1활성에지목록 생성단계(S20)에서 생성된 제1활성에지목록인 E1, E3와 제2활성에지목록인 E4가 생성된다.Accordingly, in the active edge list of the second scan line SC2, the first active edge list E1 and E3 and the second active edge list E4 generated in the first active edge list generation step S20 are generated.

제2다음스캔라인 활성에지데이터 검출단계(S60)에서는 현재 스캔라인인 두번째 스캔라인(SC2)의 처리를 위해 두번째 스캔라인슬롯(SS2)의 에지데이터저장영역(EM)에 저장된 네번째 에지데이터(E4)에 대해서 다음의 스캔라인, 즉 세번째 스캔라인(SC3)에 걸쳐있는 에지데이터인 활성에지데이터인지를 판단하며, 네번째 에지데이터(E4)는 세번째 스캔라인(SC3)에 걸쳐있는 에지데이터인 활성에지데이터이므로 제2다음활성에지목록 저장단계(S70)에서는 도 10c에 도시된 바와 같이 세번째 스캔라인(SC3)에 걸쳐있는 에지데이터로 네번째 에지데이터(E4)를 다음활성에지목록메모리(NAEL)의 네번째 저장영역에 저장한다. In the second next scan line active edge data detection step S60, the fourth edge data E4 stored in the edge data storage area EM of the second scan line slot SS2 for processing the second scan line SC2 which is the current scan line. ) Is determined as the active edge data that is the next scan line, that is, the edge data that spans the third scan line SC3, and the fourth edge data E4 is the active edge that is the edge data that spans the third scan line SC3. In the second next active edge list storing step (S70), as shown in FIG. 10C, the fourth edge data E4 is used as edge data that spans the third scan line SC3, and the fourth active edge list memory NAEL is the second data. Save to storage area.

상기의 두번째 스캔라인(SC2)의 처리와 동일한 방법으로 세번째 스캔라인(SC3), 네번째 스캔라인(SC4) 및 다섯번째 스캔라인(SC5)처리를 행하며, 세번째 스캔라인(SC3) 처리시 제1활성에지목록은 두번째 스캔라인(SC2) 처리시 다음활성에지목록메모리(NAEL)에 저장된 E1, E4이고, 제2활성에지목록은 세번째 스캔라인슬롯(SS3)의 에지데이터저장영역(EM)에 저장된 열두번째 에지데이터(E12)인 E12이므로, 세번째 스캔라인(SC3)에 대한 활성에지목록은 E1, E4, E12가 생성되며, 세번째 스캔라인(SC3)의 처리에 의해 다음활성에지목록메모리(NAEL)에는 도 10d에 도시된 바와 같이 네번째 스캔라인(SC4)에 결쳐있는 네번째 에지데이터(E4)와 열두번째 에지데이터(E12)가 저장된다.The third scan line SC3, the fourth scan line SC4 and the fifth scan line SC5 are processed in the same manner as the processing of the second scan line SC2, and the first active process is performed when the third scan line SC3 is processed. The edge list is E1 and E4 stored in the next active edge list memory NAEL during the processing of the second scan line SC2, and the second active edge list is a column stored in the edge data storage area EM of the third scan line slot SS3. Since the second edge data E12 is E12, the active edge list for the third scan line SC3 is generated by E1, E4, and E12, and is processed in the next active edge list memory NAEL by the processing of the third scan line SC3. As shown in FIG. 10D, the fourth edge data E4 and the twelfth edge data E12 that are connected to the fourth scan line SC4 are stored.

네번째 스캔라인(SC4) 처리시, 제1활성에지목록은 세번째 스캔라인(SC3) 처리시 다음활성에지목록메모리(NAEL)에 저장된 E4, E12이고, 제2활성에지목록은 네번째 스캔라인슬롯(SS4)의 에지데이터저장영역(EM)에 저장된 다섯번째 에지데이터(E5), 여덟번째 에지데이터(E8), 아홉번째 에지데이터(E9), 열번째 에지데이터(E10)와 네번째 스캔라인슬롯(SS4)의 링크정보 LK주소에 따라 링크슬롯저장영역(LSM)에 저장된 열한번째 에지데이터(E11)로, E5, E8, E9, E10, E11이므로 네번째 스캔라인(SC4)에 대한 활성에지목록은 E4, E12, E5, E8, E9, E10, E11가 생성되며, 네번째 스캔라인(SC4)의 처리에 의해 다음활성에지목록메모리(NAEL)에는 도 10e에 도시된 바와 같이 다섯번째 스캔라인(SC5)에 결쳐있는 다섯번째 에지데이터(E5)와 여덟번째 에지데이터(E8)가 저장된다.When processing the fourth scan line (SC4), the first active edge list is E4, E12 stored in the next active edge list memory (NAEL) when processing the third scan line (SC3), and the second active edge list is the fourth scan line slot (SS4). 5th edge data (E5), 8th edge data (E8), 9th edge data (E9), 10th edge data (E10), and 4th scan line slot (SS4) stored in the edge data storage area EM of The eleventh edge data (E11) stored in the link slot storage area (LSM) according to the link information LK address of E5, E8, E9, E10, E11. Therefore, the active edge list for the fourth scan line (SC4) is E4, E12, E5, E8, E9, E10, and E11 are generated, and by processing of the fourth scan line SC4, the next active edge list memory NAEL is connected to the fifth scan line SC5 as shown in FIG. 10E. The first edge data E5 and the eighth edge data E8 are stored.

다섯번째 스캔라인(SC5) 처리시, 제1활성에지목록은 네번째 스캔라인(SC4) 처리시 다음활성에지목록메모리(NAEL)에 저장된 E5, E8이고, 제2활성에지목록은 다섯번째 스캔라인슬롯(SS5)의 에지데이터저장영역(EM)에 저장된 일곱번째 에지데이터(E7)이므로, 다섯번째 스캔라인(SC5)에 대한 활성에지목록은 E5, E8, E7이 생성되며, 다섯번째 스캔라인(SC5)의 처리에 의해 다음활성에지목록메모리(NAEL)에는 도 10f에 도시된 바와 같이 여섯번째 스캔라인(SC6)에 결쳐있는 다섯번째 에지데이터(E5)와 일곱번째 에지데이터(E7)가 저장된다.When processing the fifth scan line (SC5), the first active edge list is E5, E8 stored in the next active edge list memory (NAEL) when processing the fourth scan line (SC4), and the second active edge list is the fifth scan line slot. Since the seventh edge data E7 stored in the edge data storage area EM of SS5, the active edge list for the fifth scan line SC5 is generated by E5, E8, E7, and the fifth scan line SC5. In the next active edge list memory NAEL, the fifth edge data E5 and the seventh edge data E7, which are bound to the sixth scan line SC6, are stored in the next active edge list memory NAEL.

마지막 스캔라인인 여섯번째 스캔라인(SC6) 처리시, 제1활성에지목록은 다섯번째 스캔라인(SC5) 처리시 다음활성에지목록메모리(NAEL)에 저장된 E5, E7이고, 제2활성에지목록은 여섯번째 스캔라인슬롯(SS6)의 에지데이터저장영역(EM)에 저장된 여섯번째 에지데이터(E6)이므로, 여섯번째 스캔라인(SC6)에 대한 활성에지목록은 E5, E7, E6이 생성되며, 여섯번째 스캔라인(SC5)의 처리에 의해 다음활성에지목록메모리(NAEL)에는 도 10g에 도시된 바와 같이 어떠한 에지데이터가 저장되지 않는다.When processing the last scan line, the sixth scan line (SC6), the first active edge list is E5, E7 stored in the next active edge list memory (NAEL) when the fifth scan line (SC5) is processed, and the second active edge list is Since the sixth edge data E6 stored in the edge data storage area EM of the sixth scan line slot SS6, the active edge list for the sixth scan line SC6 is generated by E5, E7, and E6. By the processing of the first scan line SC5, no edge data is stored in the next active edge list memory NAEL as shown in Fig. 10G.

이상과 같이 본 발명의 그래픽 가속기의 활성에지목록 생성방법은 각 스캔라인 별로 현재 처리중인 현재 스캔라인의 다음번째 스캔라인인 다음 스캔라인에 걸쳐 있는 활성에지데이터들로만 이루어진 다음활성에지목록을 에지목록이 저장된 메모리와는 다른 별도의 다음활성에지목록메모리에 저장하여 이전 스캔라인 처리시 생성된 다음활성에지목록메모리에 저장된 에지데이터들과 현재 스캔라인 처리를 위한 에지목록메모리에 저장된 에지데이터들을 읽어와서 활성에지목록을 생성하게 되므로, 메모리 접근 횟수를 감소시킬 수 있어 그래픽 가속기의 전력소모를 감소시킬 수 있고, 그래픽 가속기의 성능을 향상시킬 수 있다.As described above, the method for generating an active edge list of the graphic accelerator according to the present invention includes an edge list including a next active edge list including only active edge data that spans the next scan line that is the next scan line of the current scan line currently being processed. It saves in the next active edge list memory that is different from the stored memory and reads the edge data stored in the next active edge list memory and the edge data stored in the edge list memory for the current scan line processing. By generating the edge list, the number of memory accesses can be reduced, thereby reducing the power consumption of the graphics accelerator and improving the performance of the graphics accelerator.

아래의 표 1은 도 11a의 호랑이 영상과 도 11b의 지하철 영상들에 대하여 종래기술과 본 발명을 사용하여 그래픽 가속기를 적용한 실험결과로, 각각의 에지데이터들은 64비트이고, 에지목록메모리는 외부메모리를 사용하였고, 다음활성에지목록메모리는 환형큐로 구성된 중앙처리장치 내에 있는 내부 메모리를 사용하였다.Table 1 below shows experimental results of applying a graphic accelerator using the prior art and the present invention to the tiger image of FIG. 11A and the subway images of FIG. 11B. Each edge data is 64 bits, and the edge list memory is an external memory. Next, the next active edge list memory uses the internal memory in the central processing unit consisting of the annular queue.

표 1에서 보여준 바와 같이 본 발명의 그래픽 가속기의 에지목록 생성방법과 이에 따른 에지목록을 이용한 본 발명의 활성에지목록 생성방법을 적용할 경우 종래기술과 대비하여 볼 때 메모리 사용공간이 감소되고, 외부 메모리 접근 횟수를 상당히 감소시킬 수 있음을 알 수 있다.
As shown in Table 1, when the edge list generation method of the graphic accelerator of the present invention and the active edge list generation method of the present invention using the edge list according to the present invention are applied, the memory usage space is reduced in comparison with the prior art, and It can be seen that the number of memory accesses can be significantly reduced.

종래기술Prior art 본 발명Invention
XGA


XGA

외부메모리 사용 공간
External memory space
호랑이 영상Tiger footage 3,276,2283,276,228 2,827,0442,827,044
지하철 영상Subway footage 2,224,2002,224,200 1,862,1361,862,136 외부메모리 접근 횟수
External memory access count
호랑이 영상Tiger footage 7,542,2767,542,276 4,682,4204,682,420
지하철 영상Subway footage 5,121,5165,121,516 3,172,5053,172,505
VGA


VGA

외부메모리 사용 공간External memory space 호랑이 영상Tiger footage 3,276,1323,276,132 2,703,7802,703,780
지하철 영상Subway footage 2,271,0722,271,072 1,837,0441,837,044 외부메모리 접근 횟수External memory access count 호랑이 영상Tiger footage 7,187,8927,187,892 4,668,5964,668,596 지하철 영상Subway footage 4,809,4684,809,468 3,232,2123,232,212

Claims (5)

화면에 이미지를 생성하기 위하여 시작점과 끝점의 위치좌표를 가지며 방향성을 갖는 벡터 데이터들인 에지데이터들을 수신하여 각 스캔라인 별(SC1∼SC6)로 에지목록을 생성하는 그래픽 가속기의 에지목록 생성방법에 있어서,
에지데이터들을 순차적으로 수신하는 에지데이터 수신단계(S1);
상기 에지데이터 수신단계(S1)에서 수신된 에지데이터들의 시작점과 끝점의 y축 좌표값을 비교하여 큰 값을 갖는 지점의 위치에 속하는 스캔라인을 검출하고, 해당 스캔라인에 속하는 에지데이터들을 저장하기 위한 다수개의 에지데이터저장영역(EM)과 링크정보가 저장되는 링크정보저장영역(LKM)을 갖는 스캔라인슬롯(SS1∼SS6)의 위치를 선택하는 스캔라인슬롯 위치선택단계(S2);
상기 스캔라인슬롯 위치선택단계(S2)에서 선택된 스캔라인슬롯(SS1∼SS6)에 수신된 에지데이터를 저장하기 위한 빈 공간의 에지데이터저장영역(EM)이 있는지를 판단하는 에지데이터저장영역 판단단계(S3);
상기 에지데이터저장영역 판단단계(S3)에서 상기 에지데이터저장영역(EM)에는 수신된 에지데이터를 저장하기 위한 빈 공간의 저장영역이 없으면, 상기 링크정보저장영역(LKM)의 링크정보를 갱신하는 링크정보 갱신단계(S4);
상기 링크정보 갱신단계(S4)에서 갱신된 링크정보에 따른 링크슬롯저장영역(LS)에 수신된 에지데이터를 저장하는 링크슬롯 저장단계(S5);
상기 에지데이터저장영역 판단단계(S3)에서 상기 에지데이터저장영역(EM)에는 수신된 에지데이터를 저장하기 위한 빈 공간의 저장영역이 있으면, 상기 스캔라인슬롯 위치선택단계(S2)에서 선택된 스캔라인슬롯(SS1∼SS6)의 에지데이터저장영역(EM)에 수신된 에지데이터를 저장하는 에지데이터 저장단계(S6);
상기 에지데이터 저장단계(S6)에서 상기 에지데이터저장영역(EM)에 저장되는 에지데이터가 선택된 스캔라인의 마지막 에지데이터인지를 검출하여 마지막 에지데이터이면 해당 스캔라인에 관련된 에지목록생성의 완료를 위해 상기 링크정보저장영역(LKM)의 링크정보에 스캔라인완료(C)를 기록하는 제1스캔라인완료 기록단계(S7);
현재 수신된 에지데이터가 에지목록생성을 위한 마지막 에지데이터(E12)인지를 판단하여 마지막 에지데이터(E12)이면 에지목록생성을 종료하고, 마지막 에지데이터(E12)가 아니면 상기 에지데이터 수신단계(S1)는 다음의 에지데이터를 순차적으로 수신하는 마지막 에지데이터 판단단계(S9)를 구비한 것을 특징으로 하는 그래픽 가속기의 에지목록 생성방법.
In the method of generating an edge list of a graphics accelerator for generating an edge list for each scan line (SC1 to SC6) by receiving edge data, which are directional vector data having position coordinates of a start point and an end point, to generate an image on a screen. ,
An edge data receiving step S1 for sequentially receiving edge data;
Comparing the y-axis coordinate values of the start point and the end point of the edge data received in the edge data receiving step (S1) to detect the scan line belonging to the position of the point having a large value, and to store the edge data belonging to the corresponding scan line A scan line slot position selection step (S2) of selecting positions of scan line slots SS1 to SS6 having a plurality of edge data storage regions EM and a link information storage region LKM for storing link information;
Edge data storage area determination step of determining whether there is an edge data storage area (EM) in the empty space for storing the edge data received in the scan line slots (SS1 to SS6) selected in the scan line slot position selection step (S2) (S3);
In the edge data storage area determination step (S3), if there is no storage area in the edge data storage area EM for storing the received edge data, the link information of the link information storage area LKM is updated. Link information updating step (S4);
A link slot storage step (S5) of storing the edge data received in the link slot storage area LS according to the link information updated in the link information updating step (S4);
In the edge data storage area determination step (S3), if there is a storage area of an empty space for storing the received edge data in the edge data storage area (EM), the scan line selected in the scan line slot position selection step (S2) An edge data storage step S6 for storing the received edge data in the edge data storage area EM in the slots SS1 to SS6;
In the edge data storage step S6, it is detected whether the edge data stored in the edge data storage area EM is the last edge data of the selected scan line. If the edge data is the last edge data, the edge list related to the corresponding scan line is completed. A first scan line completion recording step (S7) of recording the scan line completion C in the link information of the link information storage area LKM;
It is determined whether the currently received edge data is the last edge data E12 for edge list generation. If it is the last edge data E12, the edge list generation is terminated. If not, the edge data reception step S1 is performed. ) Is a final edge data determination step (S9) of sequentially receiving the next edge data.
제 1 항에 있어서, 상기 그래픽 가속기의 에지목록 생성방법은 링크슬롯 저장단계(S5)에서 링크슬롯저장영역(LSM)에 저장되는 에지데이터가 선택된 스캔라인의 마지막 에지데이터(E11)인지를 검출하여 마지막 에지데이터(E11)이면 해당 스캔라인에 관련된 에지목록생성의 완료를 위해 상기 링크슬롯저장영역(LS)에 스캔라인완료(C)를 기록하는 제2스캔라인완료 기록단계(S8)를 더 구비한 것을 특징으로 하는 그래픽 가속기의 에지목록 생성방법.
The method of claim 1, wherein the edge list generation method of the graphic accelerator detects whether edge data stored in the link slot storage area LSM is the last edge data E11 of the selected scan line in the link slot storage step S5. In the case of the last edge data E11, a second scan line completion recording step S8 is further provided to record the scan line completion C in the link slot storage area LS to complete generation of the edge list associated with the corresponding scan line. Edge list generation method of the graphics accelerator, characterized in that.
각 스캔라인에 대응되는 스캔라인슬롯(SS1∼SS6)의 에지데이터저장영역(EM)에 순차적으로 저장된 에지데이터들을 각 스캔라인 별로 순차적으로 판독하여 해당 스캔라인에 걸쳐 있는 에지데이터들만으로 구성된 활성에지목록을 생성하는 그래픽 가속기의 활성에지목록 생성방법에 있어서,
각 스캔라인 별로 현재 처리중인 현재 스캔라인의 다음번째 스캔라인인 다음 스캔라인에 걸쳐 있는 에지데이터들로만 이루어진 다음활성에지목록이 저장되는 다음활성에지목록메모리(NAEL)를 구비하여 이전의 스캔라인 처리시 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들이 있는지 검출하는 이전스캔라인 에지데이터 검출단계(S10);
상기 이전스캔라인 에지데이터 검출단계(S10)에서 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들이 있으면 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들을 순차적으로 판독하여 제1활성에지목록을 생성하는 제1활성에지목록 생성단계(S20);
상기 제1활성에지목록 생성단계(S20)에서 상기 다음활성에지목록메모리(NAEL)에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있는지를 판단하는 제1다음스캔라인 에지데이터 검출단계(S30);
제1다음스캔라인 에지데이터 검출단계(S30)에서 판독되는 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있으면 다음의 스캔라인에 걸쳐있는 에지데이터들을 상기 다음활성에지목록메모리(NAEL)에 저장하는 제1다음활성에지목록 저장단계(S40);
상기 이전스캔라인 에지데이터 검출단계(S10)에서 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들이 없거나, 상기 제1다음스캔라인 에지데이터 검출단계(S30)에서 상기 다음활성에지목록메모리(NAEL)에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 없거나, 제1다음활성에지목록 저장단계(S40)에서 상기 다음활성에지목록메모리(NAEL)에 에지데이터를 저장한 후 현재 스캔라인에 해당되는 스캔라인슬롯(SS1∼SS6)의 에지데이터저장영역(EM)에 저장된 에지데이터들을 순차적으로 판독하여 제2활성에지목록을 생성하는 현재스캔라인 에지데이터 판독단계(S50);
상기 현재스캔라인 에지데이터 판독단계(S50)에서 현재 스캔라인에 해당되는 스캔라인슬롯(SS1∼SS6)의 에지데이터저장영역(EM)에 저장되어 순차적으로 판독된 각각의 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있는지를 판단하는 제2다음스캔라인 에지데이터 검출단계(S60);
상기 제2다음스캔라인 활성에지데이터 검출단계(S60)에서 판독되는 에지데이터들 중 다음의 스캔라인에 걸쳐있는 에지데이터들이 있으면 다음의 스캔라인에 걸쳐있는 에지데이터들을 상기 다음활성에지목록메모리(NAEL)에 저장하는 제2다음활성에지목록 저장단계(S70); 및
현재의 스캔라인이 활성에지목록을 생성하기 위한 마지막 스캔라인(SC6) 인지를 판단하여 마지막 스캔라인(SC6)이면 활성에지목록생성을 종료하고, 마지막 스캔라인(SC6)이 아니면 상기 이전스캔라인 에지데이터 검출단계(S10)를 수행하는 마지막 스캔라인 판단단계(S80)를 구비한 것을 특징으로 하는 그래픽 가속기의 활성에지목록 생성방법.
Active edge list consisting of only the edge data that spans the corresponding scan line by sequentially reading the edge data stored in the edge data storage area EM of the scan line slots SS1 to SS6 corresponding to each scan line sequentially. In the method of generating an active edge list of the graphics accelerator for generating a,
For each scan line, the next active edge list memory (NAEL), which stores only the next active edge list consisting of edge data that spans the next scan line, which is the next scan line of the current scan line, is processed. A previous scan line edge data detection step (S10) of detecting whether there is edge data stored in the next active edge list memory (NAEL);
If there is edge data stored in the next active edge list memory NAEL in the previous scan line edge data detection step S10, the edge data stored in the next active edge list memory NAEL is sequentially read and the first active edge list is read. Generating a first active edge list (S20);
A first active edge list generation step (S20) in the next active edge list memory (NAEL) stored in the next sequentially read each edge data of the edge data that spans the next scan line to determine whether there is A next scan line edge data detection step (S30);
If there is edge data that spans the next scan line among the edge data read out in the first next scan line edge data detection step S30, the edge data that spans the next scan line is stored in the next active edge list memory NAEL. Storing the first next active edge list (S40);
There is no edge data stored in the next active edge list memory NAEL in the previous scan line edge data detection step S10, or the next active edge list memory NAEL in the first next scan line edge data detection step S30. None of the edge data that is stored in the sequential edge data and is sequentially read from the next scan line, or the edge data is stored in the next active edge list memory NAEL in the first next active edge list storage step S40. After scanning the current scan line edge data step of sequentially reading the edge data stored in the edge data storage area EM of the scan line slots SS1 to SS6 corresponding to the current scan line to generate a second active edge list. (S50);
The next scan of each edge data stored in the edge data storage area EM of the scan line slots SS1 to SS6 corresponding to the current scan line and sequentially read in the current scan line edge data reading step S50. A second next scan line edge data detection step S60 of determining whether there is edge data that spans the line;
If there is edge data that spans the next scan line among the edge data read in the second next scanline active edge data detection step (S60), the edge data that spans the next scan line is stored in the next active edge list memory (NAEL). Storing the second next active edge list (S70); And
It is determined whether the current scan line is the last scan line (SC6) for generating the active edge list. If the last scan line (SC6) is terminated, the generation of the active edge list is terminated. If not, the previous scan line edge is detected. And a final scan line determination step (S80) of performing a data detection step (S10).
제 3 항에 있어서, 상기 다음활성에지목록메모리(NAEL)는 판독포인터(rp)와 기록포인터(wp)를 구비하여 상기 다음활성에지목록메모리(NAEL)에 저장된 에지데이터들의 판독시에는 판독포인터(rp)의 위치에 저장된 에지데이터를 판독하고, 상기 다음활성에지목록메모리(NAEL)에 에지데이터들의 저장시에는 기록포인터(wp)의 위치에 에지데이터를 저장하는 것을 특징으로 하는 그래픽 가속기의 활성에지목록 생성방법.
4. The read next pointer according to claim 3, wherein the next active edge list memory (NAEL) includes a read pointer (rp) and a write pointer (wp) so as to read edge data stored in the next active edge list memory (NAEL). The edge data stored at the position of rp is read, and the edge data is stored at the position of the recording pointer wp when the edge data is stored in the next active edge list memory NAEL. How to create.
제 4 항에 있어서, 상기 다음활성에지목록메모리(NAEL)는 환형큐 메모리인 것을 특징으로 하는 그래픽 가속기의 활성에지목록 생성방법. The method according to claim 4, wherein the next active edge list memory (NAEL) is an annular queue memory.
KR1020100014862A 2010-02-18 2010-02-18 edge list generation method in graphics accelerators and active edge list generation method KR101106013B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100014862A KR101106013B1 (en) 2010-02-18 2010-02-18 edge list generation method in graphics accelerators and active edge list generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100014862A KR101106013B1 (en) 2010-02-18 2010-02-18 edge list generation method in graphics accelerators and active edge list generation method

Publications (2)

Publication Number Publication Date
KR20110095056A KR20110095056A (en) 2011-08-24
KR101106013B1 true KR101106013B1 (en) 2012-01-17

Family

ID=44930965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100014862A KR101106013B1 (en) 2010-02-18 2010-02-18 edge list generation method in graphics accelerators and active edge list generation method

Country Status (1)

Country Link
KR (1) KR101106013B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090105643A (en) * 2008-04-03 2009-10-07 재단법인서울대학교산학협력재단 Method For Vector Graphics Rasterization
KR20090111135A (en) * 2008-04-21 2009-10-26 주식회사 코아로직 Vector graphic accelerator of hard-ware(hw) type, application process and terminal comprising the same accelerator, and graphic accelerating method in the same process
KR20090111134A (en) * 2008-04-21 2009-10-26 주식회사 코아로직 Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090105643A (en) * 2008-04-03 2009-10-07 재단법인서울대학교산학협력재단 Method For Vector Graphics Rasterization
KR20090111135A (en) * 2008-04-21 2009-10-26 주식회사 코아로직 Vector graphic accelerator of hard-ware(hw) type, application process and terminal comprising the same accelerator, and graphic accelerating method in the same process
KR20090111134A (en) * 2008-04-21 2009-10-26 주식회사 코아로직 Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application

Also Published As

Publication number Publication date
KR20110095056A (en) 2011-08-24

Similar Documents

Publication Publication Date Title
JP4621618B2 (en) Graphic drawing apparatus, graphic drawing method, and program
US20030227461A1 (en) Dynamically constructed rasterizers
US8638343B2 (en) Data visualization platform performance optimization
US8345064B2 (en) Method and system for tile binning using half-plane edge function
JP4154336B2 (en) Method and apparatus for drawing a frame of a raster image
KR20150025594A (en) Method for compositing multi image layers
CN100401319C (en) Image drawing device and image drawing method
KR101039132B1 (en) A Rasterizer For 2D Vector Graphics And Method
WO1992000570A1 (en) Graphics rendering systems
JP5374567B2 (en) Image processing apparatus, image processing system, and image processing method
KR101106013B1 (en) edge list generation method in graphics accelerators and active edge list generation method
US20030231176A1 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
US20100302259A1 (en) Drawing data processing method, graphics drawing system and graphics drawing data generation program
KR20120135819A (en) Scanline-based rendering method of graphics accelerators
EP1351189A1 (en) Image processing
JP4890425B2 (en) Method and program for creating mask image for manga frame image
US9053560B2 (en) Edge management unit for 2-dimension vector graphics, graphic processing apparatus and method thereof
CN112233206B (en) Character image generation method, device, equipment and storage medium
JP3233566B2 (en) Graphic drawing processor and graphic processing system
EP2169623A1 (en) Semiconductor device, graphics controller, and information processing method
US20060170694A1 (en) Patterned polygon rendering apparatus
KR101032835B1 (en) A scanline-based rendering method in a vector graphics technolodge and a scanline-based rendering apparatus using the same
JPH04160479A (en) Setting system for character string display position
JP5039687B2 (en) Image processing device
KR20100066165A (en) A scanline-based rendering method in a vector graphics technolodge and a scanline-based rendering apparatus using the same

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee