KR20100052850A - 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법 - Google Patents

2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법 Download PDF

Info

Publication number
KR20100052850A
KR20100052850A KR1020080111717A KR20080111717A KR20100052850A KR 20100052850 A KR20100052850 A KR 20100052850A KR 1020080111717 A KR1020080111717 A KR 1020080111717A KR 20080111717 A KR20080111717 A KR 20080111717A KR 20100052850 A KR20100052850 A KR 20100052850A
Authority
KR
South Korea
Prior art keywords
cell
information
coordinate
cells
axis
Prior art date
Application number
KR1020080111717A
Other languages
English (en)
Other versions
KR101039132B1 (ko
Inventor
정철호
서운식
Original Assignee
엠진 (주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠진 (주) filed Critical 엠진 (주)
Priority to KR1020080111717A priority Critical patent/KR101039132B1/ko
Publication of KR20100052850A publication Critical patent/KR20100052850A/ko
Application granted granted Critical
Publication of KR101039132B1 publication Critical patent/KR101039132B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 벡터 그래픽 처리를 위한 라스터라이저에 관한 것으로서, 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀 정보를 생성하는 셀 정보 생성부, 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 X좌표 또는 Y좌표가 같은 셀의 좌표정보를 같은 라인에 그룹화하여 순차적으로 메인 메모리에 저장하는 주소 변환부, X좌표별로 유효비트 기록 영역이 할당되어 해당 위치의 X좌표에 셀이 존재하는 경우 해당 X좌표에 유효비트가 기록되는 X 인덱스 보드, 상기 메인 메모리로부터 각 라인별로 셀의 좌표정보를 추출하여 추출된 각 셀의 X좌표에 기초하여 상기 X 인덱스 보드의 해당 X좌표에 유효비트를 기록하는 X축 인덱스부 및 상기 X축 인덱스 보드의 유효비트를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 스팬 생성부를 포함하는 것을 특징으로 한다.
상기와 같은 본 발명에 따르면, 사용메모리 공간을 최적화하는 주소변환 메모리 배치법(Adress Translation Menory Mapping)과 데이터 정렬을 위한 연산기가 필요없는 고정위치 참조방식(Index Boarding Method)을 사용하여 벡터 그래픽 처리를 수행함으로써 적은 자원의 소프트웨어 또는 작은 크기의 하드웨어로 고성능의 벡터 그래픽 처리가 가능한 효과가 있다.
벡터, 그래픽, 라스터라이저, 가속기, 스캔, 컨버전.

Description

2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법{A Rasterizer For 2D Vector Graphics And Method}
본 발명은 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법에 관한 것으로서, 보다 상세하게는 사용메모리 공간을 최적화하는 주소변환 메모리 배치법(Adress Translation Menory Mapping)과 데이터 정렬을 위한 연산기가 필요없는 고정위치 참조방식(Index Boarding Method)을 사용하여 벡터 그래픽 처리를 수행함으로써 적은 자원의 소프트웨어 또는 작은 크기의 하드웨어로 고성능의 벡터 그래픽 처리가 가능하도록 하는 장치 및 방법에 관한 것이다.
벡터그래픽은 주어진 2차원이나 3차원 공간에 선이나 형상을 배치하는데 있어 일련의 명령들이나 수학적 표현을 통해 디지털 이미지를 만드는 것으로서, 그래픽 파일이 일련의 벡터 서술문의 형태로 창작되고 저장된다. 예를 들면, 벡터 그래픽 파일에는 선을 그리기 위해 각 비트들이 저장되어 있는 대신에, 연결될 일련의 점의 위치가 들어있다. 그로 인해 파일 크기가 작아지는 결과를 가져온다.
어느 순간에 벡터 이미지는 래스터 이미지로 변환되며, 각각의 비트맵은 표시공간에 직접 사상된다. 어도비 일러스트레이터나 코렐드로우와 같은 도구로 작성된 대부분의 이미지는 벡터 이미지 파일의 형태이다.
애니메이션 이미지 또한 대부분 벡터 파일로 만들어진다. 쇽웨이브의 플래시는 2차원이나 3차원 애니메이션을 만들 수 있는 제품이며, 벡터 파일의 형태로 사용자에게 보내진 다음, 도착하자마자 래스터로 변환된다.
이러한 벡터 그래픽을 처리하기 위한 방법으로는 스캔 컨버전(Scan Conversion) 알고리즘이 주로 사용되는데 이는 소프트웨어적인 처리 기법이 주로 이용된다.
근래 벡터 그래픽을 이용한 컨텐츠가 복잡해지고 플래시/SVG 플레이어 등의 활용이 다양해짐에 따라 하드웨어 가속기가 요구되고 있다.
하드웨어 가속방법은 폴리곤 테슬레이션(Polygon Tessellation) 방식과 스캔 컨버전 방식이 주로 사용된다.
폴리곤 테슬레이션 방식은 벡터 좌표(위치좌표와 연결정보)로 구성된 도형정보에 기초하여 표시될 대상을 다수의 폴리곤의 조합으로 분할하여 각 폴리곤 내부를 색채움하는 방식으로서 하드웨어가 복잡하고 전력 소비가 많아 모바일기기와 같은 컴팩트한 기기에는 적합하지 않은 단점이 있다.
도 1은 스캔 컨버전 방식에 따른 벡터 그래픽 처리방법을 예시적으로 설명하기 위한 도면이다.
도 1을 참조하면 스캔 컨버전 방식은 우선, Y축을 따라 Ymin에서 Ymax까지 스캔을 해가면서 해당 스캔라인에 꼭지점이 있는 경우 해당 스캔라인의 Y좌표값에 해당 꼭지점과 연결되는 에지의 경로(예를 들면 D점에서 DC와 DE)를 표시한 에지 테이블을 생성하고, 모든 스캔라인마다 현재 스캔라인과 교차하는 에지의 경로와 교차점 좌표 및 기울기를 기록한 액티브 에지 테이블을 생성한 후, X축 정렬을 거쳐 스팬을 결정하게 된다.
즉, 스캔 컨버전 방식은 한 스캔라인(Y축)과 교차하는 교차점(X축)을 찾고 도형의 내부/외부를 판별하여 내부의 모든 픽셀에 지정된 색으로 칠하는 방식이다.
그러나, 이러한 방식은 각 도형과 스캔라인의 교차점들의 집합이 주어진 도형에 따라 가변적이기 때문에 이를 처리하는 하드웨어를 결정하기 어렵고, 각 정보들을 해당 스캔라인별로 정리하는데 시간이 많이 소요되고 복잡한 하드웨어를 필요로 하는 단점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 본 발명의 목적은 사용메모리 공간을 최적화하는 주소변환 메모리 배치법(Adress Translation Menory Mapping)과 데이터 정렬을 위한 연산기가 필요없는 고정위치 참조방식(Index Boarding Method)을 사용하여 벡터 그래픽 처리를 수행함으로써 적은 자원의 소프트웨어 또는 작은 크기의 하드웨어로 고성능의 벡터 그래픽 처리가 가능하도록 하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 일측면에 따르면, 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀 정보를 생성하는 셀 정보 생성부, 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 X좌표 또는 Y좌표가 같은 셀의 좌표정보를 같은 라인에 그룹화하여 순차적으로 메인 메모리에 저장하는 주소 변환부, X좌표별로 유효비트 기록 영역이 할당되어 해당 위치의 X좌표에 셀이 존재하는 경우 해당 X좌표에 유효비트가 기록되는 X 인덱스 보드, 상기 메인 메모리로부터 각 라인별로 셀의 좌표정보를 추출하여 추출된 각 셀의 X좌표에 기초하여 상기 X 인덱스 보드의 해당 X좌표에 유효비트를 기록하는 X축 인덱스부 및 상기 X축 인덱스 보드의 유효비트를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 스팬 생성부를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처리를 위한 라스터라이저가 제공된다.
여기서, 상기 주소 변환부는 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보(셀 개수 등)를 Y좌표별로 기록한 Y축 인덱스 보드를 생성하는 것이 바람직하다.
그리고, 상기 Y축 인덱스 보드는 메인 메모리 내에 생성되는 것도 가능하다.
또한, 상기 메인 메모리에서 상기 메모리 어드레스 정보가 저장되는 영역은 화면의 해상도에 따라 X축 또는 Y축 중 어느 한축의 최대변위값에 해당하는 개수의 어드레스를 1개의 라인으로 설정되고 나머지 한축의 최대변위값에 해당하는 개수만큼의 라인이 구비되어 X좌표 또는 Y좌표가 같은 셀의 좌표정보를 같은 라인에 그룹 화하여 저장되는 것이 바람직하다.
또한, 상기 X축 인덱스 보드는 셀이 존재하는 각 X좌표마다 안티 애일리어싱(Anti Ailasing) 정보를 표시하는 안티 애일리어싱 기록 영역이 더 구비되는 것이 보다 바람직하다.
상기와 같은 목적을 달성하기 위한 본 발명의 다른 일 측면에 따르면, 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀 정보를 생성하는 셀 정보 생성부, 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 화면 해상도 또는 상기 셀들의 위치좌표의 X축 및 Y축의 최대 및 최소변위에 의해 형성되는 2차원 공간에 대응하는 크기의 메모리 영역에 저장하는 주소 변환부, 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보가 Y좌표별로 기록되는 Y축 인덱스 보드부 및 상기 메모리 영역에 저장된 셀의 위치좌표와 상기 Y축 인덱스 보드에 기록된 셀 프로파일 정보를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 스팬 생성부를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처리를 위한 라스터라이저가 제공된다.
여기서, 상기 프로파일 정보는 Y좌표별 해당 셀 개수, X축 최대변위, X축 최소변위, Y축 최대변위, Y축 최소변위를 포함하는 것이 바람직하다.
상기와 같은 목적을 달성하기 위한 본 발명의 또 다른 일 측면에 따르면, 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀의 위치정보를 추출하는 제 1 단계, 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 X좌표 또는 Y좌표가 같은 셀의 좌표정보를 같은 라인에 그룹화하여 순차적으로 저장하는 제 2 단계, 라인별로 셀의 좌표정보를 추출하여 각 X좌표별로 해당하는 셀이 있는지 여부를 유효비트로서 기록하는 제 3 단계 및 상기 유효비트를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 제 4 단계를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처리방법이 제공된다.
여기서, 상기 제 2 단계와 3단계 사이에는 상기 추출된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보를 Y좌표별로 기록하는 제 5 단계가 더 포함되고, 상기 제 4 단계는 상기 유효비트와 상기 제 5 단계에서 기록된 셀 프로파일 정보를 참조하여 스팬을 생성하는 것이 바람직하다.
상기와 같은 목적을 달성하기 위한 본 발명의 또 다른 일 측면에 따르면, 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀의 위치정보를 추출하는 제 1 단계, 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 화면 해상도 또는 상기 셀들의 위치좌표의 X축 및 Y축의 최대 및 최소변위에 의해 형성되는 2차원 공간에 대응하는 크기의 메모리 영역에 저장하는 제 2 단계, 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보를 Y좌표별로 기록한 Y축 인덱스 보드를 생성하는 제 3 단계 및 상기 메모리 영역에 저장된 셀의 위치좌표와 상기 Y축 인덱스 보드에 기록된 셀 프로파일 정보를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 제 3 단계를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처리방법이 제공된다.
상기와 같은 본 발명에 따르면, 사용메모리 공간을 최적화하는 주소변환 메모리 배치법(Adress Translation Menory Mapping)과 데이터 정렬을 위한 연산기가 필요없는 고정위치 참조방식(Index Boarding Method)을 사용하여 벡터 그래픽 처리를 수행함으로써 적은 자원의 소프트웨어 또는 작은 크기의 하드웨어로 고성능의 벡터 그래픽 처리가 가능한 효과가 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세하게 설명하기로 한다.
도 2는 본 발명에 따른 2차원 벡터 그래픽 처리를 위한 라스터라이저의 내부 구성을 도시한 구성 블록도이다.
도 2를 참조하면, 본 발명에 따른 2차원 벡터 그래픽 처리를 위한 라스터라이저는 셀 정보 생성부(10), 주소 변환부(20), 메인 메모리(30), Y축 인덱스 보드(40), X축 인덱스부(50), X축 인덱스 보드(60) 및 스팬 생성부(70)를 포함하여 구성된다.
셀 정보 생성부(10)는 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀 정보를 생성한다. 즉, 도형정보는 복수개의 꼭지점의 위치좌표와 각 꼭지점 간의 연결 정보를 포함하며, 셀 정보 생성부(10)는 이러한 꼭지점의 위치좌표와 포인 트 간의 연결정보에 기초하여 각 꼭지점들을 연결하는 에지를 구성하는 각 셀의 위치좌표들을 추출한다.
주소 변환부(20)는 셀 정보 생성부(10)에서 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 X좌표 또는 Y좌표가 같은 셀의 좌표정보를 같은 라인에 그룹화하여 메인 메모리(30)에 저장하는 기능과 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보를 기록한 Y축 인덱스 보드(40)를 생성하는 기능을 수행하는 것이다.
X축 인덱스 보드(60)는 X좌표별로 유효비트 기록 영역이 할당되어 해당 위치의 X좌표에 셀이 존재하는 경우 해당 X좌표에 유효비트가 기록되는 것이고, X축 인덱스부(50)는 메인 메모리(30)로부터 각 라인별로 셀의 좌표정보를 추출하여 추출된 각 셀의 X좌표에 기초하여 X 인덱스 보드(60)의 해당 X좌표에 유효비트를 기록하는 것으로서 이들의 기능에 대해서는 도 5에서 상세하게 설명하기로 한다.
스팬 생성부(70)는 메인 메모리(30)에 저장된 각 셀 정보와 X축 인덱스 보드(60)의 유효비트를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 부분이다.
도 3a는 X-max 배치법에 따라 셀 좌표의 위치정보가 메인 메모리(30)에 저장되는 방식을 설명하기 위한 도면이다.
도 3a에 도시된 바와 같이, X-max 배치법은 2차원 셀 위치정보를 메모리 어 드레스로 변환하는 방법 중 하나로서, 하나의 Y좌표값(예를 들면 Y2)에 위치할 수 있는 점의 개수를 Xmax(X축의 최대변위)개로 한정하여 이를 하나의 라인으로 할당하고 Y축의 좌표수를 Yr개라고 할 때 Yr개의 라인을 할당하여 주어진 셀의 위치좌표를 해당 라인에 기록한 것으로서 해상도에 따라 그 위치가 달라지게 된다. 본 실시예에서는 1024 ㅧ 480 의 해상도를 기준으로 하여 Xmax값을 1024로 결정하였다.
도 3a에서는 y0 라인에 x0y0, x1y0, x4y0, x5y0, xmaxy0 의 5개의 셀이 존재하는 것을 예시하였으며, Y축을 기준으로 셀의 위치좌표들이 어드레스별로 정렬되어 저장되어 있으므로 이러한 주소 변환 메모리 배치법을 사용할 경우 종래 스캔 컨버전 방식에 따른 Y축 정렬 작업이 요구되지 않게 된다. 특히, 특정 Y좌표에 해당하는 셀 좌표를 다 읽은 후에는 다음 Y좌표의 시작 어드레스를 알고 있으므로 데이터 판독 속도가 매우 빠른 장점이 있다. 즉, y0 라인에 속하는 셀 좌표들을 모두 읽은 경우에는 y1 라인의 시작 어드레스가 Cx2000임을 알고 있으므로 바로 해당 어드레스를 접근하여 셀 좌표들을 판독하게 되는 것이다.
도 3b는 Y-folding 배치법에 따라 셀 좌표의 위치정보가 메인 메모리에 저장되는 방식을 설명하기 위한 도면이다.
도 3a에 도시된 바와 같이, Y-folding 배치법은 2차원 셀 위치정보를 메모리 어드레스로 변환하는 다른 방법 중 하나로서, 셀의 위치좌표를 하나의 X좌표값(예 를 들면 X2)에 위치할 수 있는 점의 개수를 Yr(Y축의 최대변위)개로 한정하여 X축을 중심으로 주어진 셀의 위치좌표를 기록한 것으로서, 본 실시예에서는 1024 ㅧ 480 의 해상도를 기준으로 하여 Yr값을 480으로 결정하였다.
Y-folding 배치법은 X축을 기준으로 셀의 위치좌표를 기록한 것이 Xmax 배치법과 상이하다. Xmax 배치법에서는 하나의 스캔라인에 기록될 수 있는 점의 개수가 1024개로 제한되어 에지가 특정 스캔라인을 기준으로 교차점이 많은 경우에는 모든 점을 표시할 수 없게 되는 단점이 있으나, Y-folding 배치법에 의할 경우 통상적으로 Y축의 좌표수(예를 들면 480)가 X축의 좌표수(예를 들면 1024)보다 적으므로 X축라인을 위해 할당하는 메모리의 양이 적고 X축의 좌표수를 보다 큰 값으로 설정할 수 있는 장점이 있다.
도 4는 Y축 인덱스 보드의 데이터 구조를 도시한 것이다.
도 4에 도시된 바와 같이, Y축 인덱스 보드(40)에는 각 Y좌표별 셀 프로파일 정보가 기록된다.
여기서, Y축 인덱스 보드(40)는 메인 메모리(30) 내에 생성되도록 하여 X축 인덱스부(50)에서 각 셀들의 위치좌표와 Y축 인덱스 보드(40)에 기록된 값을 함께 독출하도록 하는 것도 가능하다.
이는 후술하는 X축 인덱스 보드(60)를 통한 X축 정렬시 메인 메모리(30)의 검색 시간을 단축하기 위한 것으로서 도 5에서 설명하기로 한다.
도 5는 X축 인덱스 보드의 데이터 구조를 도시한 것이다.
도 5에 도시된 바와 같이, X축 인덱스 보드(60)는 각 X좌표별로 메모리가 할당되어 현재 검색중인 Y좌표의 해당 라인에 위치하는 셀의 존재 여부를 표시하는 유효비트가 기록되는 부분과 해당 셀의 안티 애일리어싱(Anti Ailasing) 정보를 표시하는 안티 애일리어싱 정보가 기록되는 부분을 포함한다.
X축 인덱스부(50)는 Y축을 기준으로 정렬된 셀 정보들을 라인 별로 독출하면서 해당라인에 위치하는 셀의 X좌표를 X축 인덱스 보드(60)의 유효비트로 기록하고, 해당 셀에 안티 애일리어싱 정보가 존재하는 경우 이를 같이 표시하게 된다. X축 인덱스부(50)에는 유효비트, 안티애일리어싱 정보 외에 화면 표시에 필요한 각종 정보가 저장될 수 있다.
X축 인덱스 보드(60)는 검색하는 라인이 변경될 때마다 기록되는 값이 갱신된다.
스팬 생성부(70)는 X축 인덱스 보드(60)에 기록된 값을 참조하여 홀수번째 유효비트를 갖는 셀과 다음 셀 간을 연결하는 스팬을 생성하게 된다.
도 6은 본 발명에 따른 그래픽 처리 방법이 수행되는 알고리즘의 개념도이다. 도 6의 실시예에서는 주소변환 메모리 배치법으로서 Xmax 배치법을 예시하여 설명하기로 한다.
도 6을 참조하면, 꼭지점을 이루는 복수개의 기준점과 기준점 간의 연결정 보(직선, 커브 등)가 벡터좌표로 기록된 도형 정보가 셀 정보 생성부(10)로 입력되면, 셀 정보 생성부(10)는 기준점과 이들 간의 연결정보에 기초하여 도형의 에지를 구성하는 셀의 위치좌표값을 추출한다.
추출된 셀의 위치좌표값은 주소 변환부(20)로 입력되고, 주소 변환부(20)는 도 3a와 같이, Y좌표가 같은 셀의 좌표정보들을 같은 라인으로 그룹화하여 메인 메모리에 저장한다. 이로써 셀들은 Y축을 기준으로 순서적으로 정렬되어 저장되어 있으므로 종래와 같은 별도의 Y 정렬 작업이 요구되지 않아 처리 시간이 단축된다.
주소 변환부(20)는 이와 동시에 셀 프로파일 정보를 Y축 인덱스 보드(40)에 기록하는 Y축 인덱싱 기능을 수행하여 X축 정렬시의 검색시간을 단축시키도록 한다.
X축 인덱스부(50)는 메인 메모리(30)에 저장되어 있는 Y축 정렬된 셀의 위치좌표 정보를 각 라인(Y좌표)별로 읽어오면서 X 인덱스 보드(60)의 각 X좌표에 해당하는 셀이 존재하는 경우 해당 X좌표에 유효비트를 기록하여 Y축만으로 정렬된 각 셀들을 X축으로 정렬시키게 된다.
스팬 생성부(70)는 X축 인덱서부(50)로부터 독출되는 하나의 처리 라인(Y좌표)마다 Y 인덱스 보드(40) 및 X 인덱스 보드(60)에 기록된 값을 참조하여 해당 라인에 위치하는 셀의 개수 및 각 셀의 X좌표를 독출하여 홀수번째 유효비트를 갖는 셀과 다음 셀 간을 연결하는 스팬을 생성하게 된다.
도 7은 본 발명의 다른 일 실시예에 따른 2차원 벡터 그래픽 처리를 위한 라 스터라이저의 내부 구성을 도시한 구성 블록도이다.
도 7의 실시예는 메인 메모리에 셀의 위치정보가 저장되는 방식 및 Y축 인덱스 보드(40)에 저장되는 데이터의 종류가 기본 실시예와 상이하고 X축 인덱스부와 X축 인덱스 보드의 구성이 생략되어 있는 것이 기본 실시예와 다르다.
보다 상술하면, 본 실시예에서는 메인 메모리 상에 셀의 위치좌표를 저장하는 방식으로서, 화면 해상도(Xmax, Ymax)에 대응하는 크기의 메모리 영역을 확보하는 방식(즉, 예를 들면 1024 ㅧ 480개의 메모리 어드레스) 또는 셀 프로파일 정보(Xmin, Xmax, Ymin, Ymax)를 이용하여 셀이 차지하는 2차원 공간에 대응되는 크기의 메모리 영역이 확보되도록 하는 방식(즉, (Xmax-Xmin) ㅧ (Ymax-Ymin)개의 메모리 어드레스)을 사용하여 화면의 위치좌표와 메모리의 저장 영역을 일대일 매칭시켜 사용하도록 하는 것이다.
이러한 경우 Y축 인덱스 보드(40)에 저장되는 셀 프로파일 정보에는 셀 개수 외에 Xmin, Xmax, Ymin, Ymax 등의 최대변위 정보가 포함된다.
스팬 생성부(70)는 메인 메모리(30)에 저장되어 있는 각 셀의 위치정보와 Y축 인덱스 보드(40)에 저장되어 있는 셀 프로파일 정보를 참조하여 스팬을 생성하며, 본 실시예에서는 셀의 위치정보가 메인 메모리(30) 상의 정해진 위치에 저장되므로 별도의 X축 인덱싱 기능이 요구되지 않는 점이 기본 실시예와 상이하다.
본 실시예에서는 셀정보 생성부(10)에서 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀의 위치정보를 추출하는 단계, 주소변환부(20)에서 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 화면 해상도 또는 상기 셀들의 위 치좌표의 X축 및 Y축의 최대 및 최소변위에 의해 형성되는 2차원 공간에 대응하는 크기의 메모리 영역에 저장하는 단계, 주소 변환부(20)에서 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보를 Y좌표별로 기록한 Y축 인덱스 보드를 생성하는 단계 및 스팬 생성부(70)에서 상기 메모리 영역에 저장된 셀의 위치좌표와 상기 Y축 인덱스 보드에 기록된 셀 프로파일 정보를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 단계를 통해 처리된다.
비록 본 발명이 상기 언급된 바람직한 실시예와 관련하여 설명되어졌지만, 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허청구의 범위는 본 발명의 요지에서 속하는 이러한 수정이나 변형을 포함할 것이다.
도 1은 스캔 컨버전 방식에 따른 벡터 그래픽 처리방법을 예시적으로 설명하기 위한 도면이다.
도 2는 본 발명에 따른 2차원 벡터 그래픽 처리를 위한 라스터라이저의 내부 구성을 도시한 구성 블록도이다.
도 3a는 X-max 배치법에 따라 셀 좌표의 위치정보가 메인 메모리에 저장되는 방식을 설명하기 위한 도면이다.
도 3b는 Y-folding 배치법에 따라 셀 좌표의 위치정보가 메인 메모리에 저장되는 방식을 설명하기 위한 도면이다.
도 4는 Y축 인덱스 보드의 데이터 구조를 도시한 것이다.
도 5는 X축 인덱스 보드의 데이터 구조를 도시한 것이다.
도 6은 본 발명에 따른 그래픽 처리 방법이 수행되는 알고리즘의 개념도이다.
도 7은 본 발명의 다른 일 실시예에 따른 2차원 벡터 그래픽 처리를 위한 라스터라이저의 내부 구성을 도시한 구성 블록도이다.
<주요도면부호에 관한 설명>
10 : 셀정보 생성부
20 : 주소 변환부
30 : 메인 메모리
40 : Y축 인덱스 보드
50 : X축 인덱스부
60 : X축 인덱스 보드
70 : 스팬 생성부

Claims (10)

  1. 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀 정보를 생성하는 셀 정보 생성부;
    상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 X좌표 또는 Y좌표가 같은 셀의 좌표정보를 같은 라인에 그룹화하여 순차적으로 메인 메모리에 저장하는 주소 변환부;
    X좌표별로 유효비트 기록 영역이 할당되어 해당 위치의 X좌표에 셀이 존재하는 경우 해당 X좌표에 유효비트가 기록되는 X 인덱스 보드;
    상기 메인 메모리로부터 각 라인별로 셀의 좌표정보를 추출하여 추출된 각 셀의 X좌표에 기초하여 상기 X 인덱스 보드의 해당 X좌표에 유효비트를 기록하는 X축 인덱스부; 및
    상기 X축 인덱스 보드의 유효비트를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 스팬 생성부를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처리를 위한 라스터라이저.
  2. 제 1 항에 있어서,
    상기 주소 변환부는 상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보를 Y좌표별로 기록한 Y축 인덱스 보드를 생성 하는 것을 특징으로 하는 2차원 벡터 그래픽 처리를 위한 라스터라이저.
  3. 제 2 항에 있어서,
    상기 Y축 인덱스 보드는 메인 메모리 내에 생성되는 것을 특징으로 하는 2차원 벡터 그래픽 처리를 위한 라스터라이저.
  4. 제 1 항에 있어서,
    상기 메인 메모리에서 상기 메모리 어드레스 정보가 저장되는 영역은
    화면의 해상도에 따라 X축 또는 Y축 중 어느 한축의 최대/최소변위값에 해당하는 개수의 어드레스를 1개의 라인으로 설정되고 나머지 한축의 최대/최소변위값에 해당하는 개수만큼의 라인이 구비되어 X좌표 또는 Y좌표가 같은 셀의 좌표정보를 같은 라인에 그룹화하여 저장되는 것을 특징으로 하는 2차원 벡터 그래픽 처리를 위한 라스터라이저.
  5. 제 1 항에 있어서,
    상기 X축 인덱스 보드는 셀이 존재하는 각 X좌표마다 안티 애일리어싱(Anti Ailasing) 정보를 표시하는 안티 애일리어싱 기록 영역 및 화면 표시에 필요한 정 보를 기록하는 영역이 더 구비되는 것을 특징으로 하는 2차원 벡터 그래픽 처리를 위한 라스터라이저.
  6. 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀 정보를 생성하는 셀 정보 생성부;
    상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 화면 해상도 또는 상기 셀들의 위치좌표의 X축 및 Y축의 최대 및 최소변위에 의해 형성되는 2차원 공간에 대응하는 크기의 메모리 영역에 저장하는 주소 변환부;
    상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보가 Y좌표별로 기록되는 Y축 인덱스 보드; 및
    상기 메모리 영역에 저장된 셀의 위치좌표와 상기 Y축 인덱스 보드에 기록된 셀 프로파일 정보를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 스팬 생성부를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처리를 위한 라스터라이저.
  7. 제 6 항에 있어서,
    상기 프로파일 정보는 Y좌표별 해당 셀 개수, X축 최대변위, X축 최소변위, Y축 최대변위, Y축 최소변위를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처 리를 위한 라스터라이저.
  8. 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀의 위치정보를 추출하는 제 1 단계;
    상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 X좌표 또는 Y좌표가 같은 셀의 좌표정보를 같은 라인에 그룹화하여 순차적으로 저장하는 제 2 단계;
    라인별로 셀의 좌표정보를 추출하여 각 X좌표별로 해당하는 셀이 있는지 여부를 유효비트로서 기록하는 제 3 단계; 및
    상기 유효비트를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 제 4 단계를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처리방법.
  9. 제 8 항에 있어서,
    상기 제 2 단계와 3단계 사이에는
    상기 추출된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보를 Y좌표별로 기록하는 제 5 단계가 더 포함되고,
    상기 제 4 단계는 상기 유효비트와 상기 제 5 단계에서 기록된 Y좌표별 셀의 개수 정보를 참조하여 스팬을 생성하는 것을 특징으로 하는 2차원 벡터 그래픽 처 리방법.
  10. 벡터 좌표로 구성된 도형정보로부터 에지를 구성하는 셀의 위치정보를 추출하는 제 1 단계;
    상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하여 화면 해상도 또는 상기 셀들의 위치좌표의 X축 및 Y축의 최대 및 최소변위에 의해 형성되는 2차원 공간에 대응하는 크기의 메모리 영역에 저장하는 제 2 단계;
    상기 생성된 셀들의 위치좌표를 메모리 어드레스 정보로 변환하는 과정에서 셀 프로파일 정보를 Y좌표별로 기록한 Y축 인덱스 보드를 생성하는 제 3 단계; 및
    상기 메모리 영역에 저장된 셀의 위치좌표와 상기 Y축 인덱스 보드에 기록된 셀 프로파일 정보를 참조하여 시작셀과 마감셀을 추출하여 스팬을 생성하는 제 3 단계를 포함하는 것을 특징으로 하는 2차원 벡터 그래픽 처리방법.
KR1020080111717A 2008-11-11 2008-11-11 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법 KR101039132B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080111717A KR101039132B1 (ko) 2008-11-11 2008-11-11 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080111717A KR101039132B1 (ko) 2008-11-11 2008-11-11 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법

Publications (2)

Publication Number Publication Date
KR20100052850A true KR20100052850A (ko) 2010-05-20
KR101039132B1 KR101039132B1 (ko) 2011-06-03

Family

ID=42278043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080111717A KR101039132B1 (ko) 2008-11-11 2008-11-11 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법

Country Status (1)

Country Link
KR (1) KR101039132B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013162136A1 (ko) * 2012-04-27 2013-10-31 주식회사 컴퍼니원헌드레드 지피유를 이용한 2차원 벡터 그래픽스 패스의 배치 렌더링 방법
US9053560B2 (en) 2011-02-07 2015-06-09 Samsung Electronics Co., Ltd. Edge management unit for 2-dimension vector graphics, graphic processing apparatus and method thereof
US20220028165A1 (en) * 2020-07-17 2022-01-27 Verisilicon Microelectronics (Shanghai) Co., Ltd. Tessellation data processing method, system, medium and vector graphics processing device
US20220058838A1 (en) * 2020-07-17 2022-02-24 Verisilicon Microelectronics (Shanghai) Co., Ltd. Vector graphics data processing method, system, medium, and vector graphics processing device
EP3961550A1 (en) * 2020-07-17 2022-03-02 VeriSilicon Microelectronics (Shanghai) Co., Ltd. Tessellation data processing method, system, medium and vector graphics processing device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4085204B2 (ja) * 2003-09-05 2008-05-14 株式会社オーク製作所 描画用ベクタデータの処理方法及び描画装置
JP4203649B2 (ja) * 2003-09-05 2009-01-07 株式会社オーク製作所 多重露光描画方法及び多重露光描画装置
KR100803947B1 (ko) 2006-12-01 2008-02-15 주식회사 코아로직 오픈 벡터그래픽 응용 프로그램 인터페이스 변환 장치와방법, 모바일 단말기, 및 그 방법이 기록된 기록매체

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053560B2 (en) 2011-02-07 2015-06-09 Samsung Electronics Co., Ltd. Edge management unit for 2-dimension vector graphics, graphic processing apparatus and method thereof
WO2013162136A1 (ko) * 2012-04-27 2013-10-31 주식회사 컴퍼니원헌드레드 지피유를 이용한 2차원 벡터 그래픽스 패스의 배치 렌더링 방법
US20220028165A1 (en) * 2020-07-17 2022-01-27 Verisilicon Microelectronics (Shanghai) Co., Ltd. Tessellation data processing method, system, medium and vector graphics processing device
US20220058838A1 (en) * 2020-07-17 2022-02-24 Verisilicon Microelectronics (Shanghai) Co., Ltd. Vector graphics data processing method, system, medium, and vector graphics processing device
EP3961550A1 (en) * 2020-07-17 2022-03-02 VeriSilicon Microelectronics (Shanghai) Co., Ltd. Tessellation data processing method, system, medium and vector graphics processing device
US11557090B2 (en) * 2020-07-17 2023-01-17 Verisilicon Microelectronics (Shanghai) Co., Ltd. Tessellation data processing method, system, medium and vector graphics processing device
US11783513B2 (en) * 2020-07-17 2023-10-10 Verisilicon Microelectronics (Shanghai) Co., Ltd. Method, system, medium, and device for processing vector graphics primitives to determine path edge order for path filling

Also Published As

Publication number Publication date
KR101039132B1 (ko) 2011-06-03

Similar Documents

Publication Publication Date Title
US8704830B2 (en) System and method for path rendering with multiple stencil samples per color sample
CN104183005B (zh) 图形处理单元和基于图块的渲染方法
KR100834596B1 (ko) 묘화장치와 묘화방법 및 묘화 프로그램을 구비한 컴퓨터 독출가능 기록매체
US20050231506A1 (en) Triangle identification buffer
KR101136737B1 (ko) 그래픽 처리방법 및 그 장치
KR20080067840A (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
US10540789B2 (en) Line stylization through graphics processor unit (GPU) textures
JPH0572627B2 (ko)
KR101039132B1 (ko) 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법
JP3586991B2 (ja) テクスチャ・データ読出装置およびレンダリング装置
JP2006221650A (ja) 幾何プリミティブのインデックスを外す方法、ラスタ化装置、コンピュータ可読媒体
US20040036674A1 (en) Apparatus and method for associating voxel information with display positions
JP2009099098A (ja) コンピュータグラフィックス描画装置及び描画方法
CN109636894B (zh) 一种基于像素点栅格化的动态三维热力计算方法及系统
JP2009301284A (ja) 描画装置および方法
JP2882465B2 (ja) 画像生成方法およびその装置
KR20010012841A (ko) 화상 처리 장치 및 화상 처리 방법
KR100453530B1 (ko) 2차원 폴리곤데이터를 3차원 폴리곤데이터로 변환하여 묘화하는 3차원 그래픽 묘화장치 및 그 방법
US20030231176A1 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
US7372461B2 (en) Image processing apparatus and method of same
US7372466B2 (en) Image processing apparatus and method of same
GB2245806A (en) Generating an image
CN102682419B (zh) 用于向量图形的动态线段对照表产生方法及装置
KR20060073814A (ko) 3차원 그래픽스 환경에서의 라이트맵 처리 방법 및 장치
JPH1131236A (ja) ポリゴンデータのソート方法及びこれを用いた画像処理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
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: 20140502

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee