KR101032835B1 - 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치 - Google Patents

백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치 Download PDF

Info

Publication number
KR101032835B1
KR101032835B1 KR1020100070618A KR20100070618A KR101032835B1 KR 101032835 B1 KR101032835 B1 KR 101032835B1 KR 1020100070618 A KR1020100070618 A KR 1020100070618A KR 20100070618 A KR20100070618 A KR 20100070618A KR 101032835 B1 KR101032835 B1 KR 101032835B1
Authority
KR
South Korea
Prior art keywords
edge
active edge
scanline
scan line
active
Prior art date
Application number
KR1020100070618A
Other languages
English (en)
Other versions
KR20100089811A (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 KR1020100070618A priority Critical patent/KR101032835B1/ko
Publication of KR20100089811A publication Critical patent/KR20100089811A/ko
Application granted granted Critical
Publication of KR101032835B1 publication Critical patent/KR101032835B1/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

Landscapes

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

Abstract

본 문서는 백터 그래픽스 기술에 있어서 스캔라인별로 액티브 에지 테이블을 마련하여 동시에 각 패스의 전체 스캔라인에 대한 액티브 에지 검출이 가능하게 하고 이로써 스캔라인 필링 처리도 다수의 스캔라인에 대해 동시에 수행될 수 있도록 하는 스캔라인 기반의 랜더링 방법 및 그 장치를 개시한다. 이와 같은 스캔라인 기반의 랜더링 방법 및 그 장치에 따르면 랜더링 수행시 메모리 접속 횟수를 줄이고 랜더링 처리 속도를 높이는 효과가 있다.

Description

백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치{A SCANLINE-BASED RENDERING METHOD IN A VECTOR GRAPHICS TECHNOLODGE AND A SCANLINE-BASED RENDERING APPARATUS USING THE SAME}
본 문서는 모바일 기기에서 사용되는 백터 그래픽스 기술에 관한 것으로, 보다 구체적으로 특히 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법에 관한 것이다.
백터 그래픽스 기술(Vector Graphics Technology)은, SVG 뷰어, 포터블 매핑 어플리케이션, e-book 리더, 게임 등과 같은 모바일 어플리케이션에서 작은 파일 사이즈의 고품질 그래픽, 무손실 압축, 디스플레이 사이즈 변경 등과 같은 이점을 제공하기 때문에, 최근에 이 백터 그래픽스를 사용하는 모바일 어플리케이션을 위한 요구가 증가하고 있다.
벡터 그래픽스는 이미지 구현시 수학 방정식을 기반으로 하는 점, 직선, 곡선, 다각형 등을 사용하는 것을 말한다. 벡터 그래픽스는 도형에 관한 파라미터나 수식을 이용하여 구현하기 때문에 수식의 복잡도가 중요한 요소이다. 일반적으로 벡터 그래픽스 이미지는 복수 개의 픽셀들로 구성되는데, 일련의 픽셀 층을 스캔라인으로 하여 스캔하고 그 픽셀 층의 각 픽셀마다 색을 채워넣는 방식으로 구동된다. 스캔라인은 한 층의 연속적인 픽셀로 이루어짐이 일반적이다. 각 픽셀에 관한 위치 정보와 와인딩 값은 별도의 메모리를 구비하여 저장한다. 그리고, 벡터 그래픽스 이미지는 이미지의 연속된 테두리를 의미하는 다수의 패스로 이루어져 있는데, 이 패스는 다시 다수개의 에지로 구분할 수 있다. 여기서, 에지란 패스를 구성하는 하나의 직선을 나타내고, 이 다수개의 에지 중에서도 액티브 에지란 벡터 그래픽스 이미지를 구성하는 에지 중 해당 스캔라인 상에 위치하는 에지들을 특정하여 지칭하는 말이다.
도 1은 벡터 그래픽스를 구현하기 위한 하드웨어 가속기 구성을 나타내는 도면이다.
도 1을 참조하면, 벡터 그래픽스를 구현하기 위한 하드웨어 가속기(hardware accelerator)는 일반적으로 지오메트리(geometry)부와 랜더링(rendering)부로 구분되는데 랜더링부는 보통 액티브 에지 생성(active edge generation), 스캔라인 필링(scanline filling) 및 후 처리(post processing)의 세 가지 단계로 구현될 수 있다. 그리고, 그 구현 방식에 따라서 픽셀-기반 랜더링(pixel-based rendering), 스캔라인-기반 랜더링(scanline-based rendering), 에지-기반 랜더링(edge-based rendering) 등의 방식으로 구분될 수 있다.
먼저, 픽셀-기반 랜더링 방식에 따르면, 액티브 에지를 찾기 위해 패스안에 있는 모든 에지를 검색(search)하고, 각 스캔라인을 위해 스캔 방향으로 그들을 쏠팅(sorting)한다. 그리고, 스캔라인에 포함되는 스캐닝 방향에 기초하여 픽셀 영역을 계산한다. 그리고, 스캔라인-기반 랜더링 방식에 따르면, 각 스캔라인에 포함되는 액티브 에지를 찾고 쏠팅 없이 임의의 순서로 해당 스캔라인에 포함되는 픽셀의 와인딩 값까지 각 액티브 에지의 영향도를 계산한다. 그리고, 스캔라인 사이즈의 버퍼 내에 그들을 축적한다. 에지-기반 랜더링 방식에 따르면, 이는 액티브 에지를 찾거나 쏠팅할 필요없이 패스에 표현된 순서대로 픽셀의 와인딩 값까지 각 에지의 영향도를 계산한다. 그리고, 패널 사이즈의 버퍼 내에 그들을 축적한다.
보통 하나의 패스 내에 있는 에지 수는 매우 많기 때문에 에지 정보 등은 외부 메모리에 저장된다. 비록 픽셀-기반 랜더링 방식에 따르면 에지 정보 저장을 위한 메모리 버퍼가 필요하지는 않지만, 에지를 검색하고 쏠팅하기 위해 외부 메모리로의 접속 횟수가 상당히 많아지게 되어 저전력, 고성능을 요구하는 모바일 환경에 적합하지 않다. 그리고, 에지-기반 랜더링 방식에 따르면 패널 사이즈의 메모리 버퍼가 구현되어야 하기 때문에 오프칩으로 구현되면 외부 메모리 접속 횟수의 증가로 전력 소모가 증가하게 되고 온칩으로 구현되면 실리콘 영역을 많이 필요로 하게 되는 문제가 있다. 따라서, 스캔라인-기반 랜더링 방식이 온칩으로 구현가능한 스캔라인 사이즈의 버퍼만 필요로 하는 점에서 위 두 가지 방식의 적절한 타협점이 될 것이다. 그러나 이 방식에 따르더라도 후술하는 바와 같이 액티브 에지를 검색하는 과정에서 꽤 많은 외부 메모리 접속을 요구하는 문제가 있다.
도 2는 스캔라인-기반 랜더링에서 칼리오 방법에 따른 액티브 에지 검색 방법을 설명하는 도면이다.
이 방법에 따르면, 각 스캔라인의 에지 테이블과, 액티브 에지 테이블이 생성된다. 에지 테이블 및 액티브 에지 테이블은 링크드 리스트(linked list) 기법으로 생성된다. 대상 이미지의 모든 스캔라인마다 에지 테이블을 생성하고 이 에지 테이블이 생성되면, 현재 스캔라인에 대한 액티브 에지 테이블이 액티브 에지 추적에 따라 동적으로 갱신된다.
각 에지 테이블은 해당 스캔라인에 Y축 상단이 포함되는 에지가 삽입되도록 구성된다. 예를 들어, 도 2에서 에지 1 및 3은 i 스캔라인의 에지 테이블에 삽입되고, 에지 2는 i+1 스캔라인의 에지 테이블에 삽입되고, 에지 4, 5, 및 6은 i+2 스캔라인의 에지 테이블에 삽입된다. 그리고, 스캔라인이 아래 방향으로 진행됨에 따라 해당 에지 테이블에 기초하여 에지들이 액티브 에지 테이블에 기록된다. 한편, 에지의 Y축 하단에 다다르면, 그 에지는 액티브 에지 테이블에서 제거된다. 예를 들어, i+1 스캔라인 이후 에지 3은 제거된다. 그리고, 각 스캔라인에 대한 스캔라인 필링이 완성되면, 다음 스캔라인으로 이동한다.
해당 에지 테이블의 스캔라인을 위한 액티브 에지 테이블을 동적으로 갱신함으로써 효과적으로 불필요한 에지들을 제거할 수 있고, 이로써 불필요한 외부 메모리 접근을 제거할 수 있다. 이 경우 메모리 접근 횟수(MA) 및 메모리 사용 사이즈(MU)는 각각 아래 수학식 1 및 수학식 2와 같이 나타낼 수 있다.
Figure 112010047158493-pat00001
Figure 112010047158493-pat00002
수학식 1 및 수학식 2에서 N은 에지 수이고, K1은 하나의 에지에 대한 에지 정보를 저장하는데 필요한 바이트 수, K2는 에지 어드레싱을 위해 사용되는 바이트 수, Li는 각 에지의 수명에 해당하는 Y축 길이를 나타낸다. 수학식 1에서 각 항목은 에지 기록, 에지 테이블 생성, 액티브 에지 테이블 갱신 및 에지 읽기를 위한 메모리 접속 횟수를 나타낸다. 그리고, 수학식 2에서 각 항목은 에지 정보 및 에지 어드레싱을 저장하기 위해 사용되는 메모리 사이즈를 나타낸다.
상술한 액티브 에지 검색 알고리즘에 따르면 하나의 스캔라인을 위해 외부 메모리에 미리 저장되는 해당 에지 테이블에서 에지를 읽어오기 때문에 스캔라인을 위해 순차적으로 액티브 에지를 찾는 과정은 필수적이다. 결국 이는 액티브 에지를 검색하는 과정에서 꽤 많은 외부 메모리 접속을 요구하게 된다. 따라서, 스캔라인-기반 랜더링에 따르더라도 액티브 에지 검색을 위해 꽤 많은 메모리 접속이 수행되는 문제가 있고, 또한 각 스캔라인을 위한 스캔라인 필링이 순차적으로 수행될 수 밖에 없어 복잡한 패스 예를 들어, 500개 이상의 에지를 가지는 패스에서 속도 상승을 위해 다수의 스캔라인에 대한 동시적인 스캔라인 수행이 불가능하다는 문제가 있다.
본 문서는 상술한 배경기술에 있어서, 스캔라인 기반의 랜더링 수행시 액티브 에지 검색을 위한 메모리 접속 횟수를 줄일 수 있는 액티브 에지 검색 방법 및 장치 제공을 해결 과제로 한다.
또한, 다수의 스캔라인에 대해 동시에 스캔라인 필링 처리가 이루어질 수 있는 방법 및 장치 제공을 또 다른 해결 과제로 한다.
상술한 과제를 해결하기 위한 일 수단으로서의 스캔라인 기반의 랜더링 방법은, 벡터 그래픽스 이미지를 구성하는 각 패스에 대해 에지를 생성하는 지오메트리 처리 단계, 스캔라인 별로 액티브 에지 테이블을 마련하고, 상기 생성된 에지가 y축 길이를 따라 다수의 스캔라인에 걸쳐 형성된 경우, 에지의 시작점과 끝점의 x, y 좌표를 포함하는 에지 정보가 에지의 y 축 길이에 따라 다수의 액티브 에지 테이블에 포함될 수 있도록, 각각의 스캔라인에 걸쳐있는 에지의 에지 정보를 스캔라인 별로 대응되는 액티브 에지 테이블에 각각 저장하는 액티브 에지 검출 단계, 상기 액티브 에지 테이블을 참조하여 하나 이상의 스캔라인을 동시에 스캔하는 스캔라인 필링 단계를 포함한다.
그리고, 상술한 과제를 해결하기 위한 다른 수단으로서의 스캔라인 기반의 랜더링 장치는, 벡터 그래픽스 이미지를 구성하는 각 패스에 대해 에지를 생성하는 지오메트리 처리부, 스캔라인 별로 액티브 에지 테이블을 마련하고, 상기 생성된 에지가 y축 길이를 따라 다수의 스캔라인에 걸쳐 형성된 경우, 에지의 시작점과 끝점의 x, y 좌표를 포함하는 에지 정보가 에지의 y 축 길이에 따라 다수의 액티브 에지 테이블에 포함될 수 있도록, 각각의 스캔라인에 걸쳐있는 에지의 에지 정보를 스캔라인 별로 대응되는 액티브 에지 테이블에 각각 저장하는 액티브 에지 생성 모듈, 상기 액티브 에지 테이블을 참조하여 하나 이상의 스캔라인을 동시에 스캔하는 스캔라인 필링 모듈을 포함한다.
상기 두 가지 해결 수단에 있어서, 상기 액티브 에지 테이블을 저장하기 위해 고정된 사이즈의 메모리 영역이 스캔라인 별로 미리 할당되고, 메모리 공간이 더 필요하면 추가 영역이 더 할당될 수 있다. 이 경우 상기 액티브 에지 테이블에는 상기 추가 영역에 대한 주소 정보를 포함할 수 있다.
그리고, 하나의 에지 정보가 다수의 액티브 에지 테이블에 포함되는 경우, 이중 적어도 하나의 액티브 에지 테이블에는 해당 스캔라인과 교차하는 x, y 축을 계산하여 획득된 에지 정보가 포함될 수 있다.
또한, 상기 액티브 에지 테이블에는 리스트의 마지막을 지시하는 태그가 포함될 수 있다.
또한, 상기 액티브 에지 검출시, 상기 스캔라인별 액티브 에지 테이블은 전체 스캔라인에 대해 동시에 생성될 수 있다. 그리고, 동시에 스캔라인 필링이 수행되는 하나 이상의 스캔라인에 대해 함께 후처리가 수행될 수 있다.
또한, 상기 스캔라인 필링 단계에서 액티브 에지가 위치하는 픽셀들의 와인딩 값을 산출하고 이를 스캔라인의 끝까지 복사한 후, 픽셀별로 합산하여 최종 와인딩 값을 도출하고 픽셀들을 제너레이션할 수 있다.
본 발명에 따르면, 스캔라인 기반의 랜더링 수행시 액티브 에지 검색을 위한 메모리 접속 횟수를 줄일 수 있는 효과가 있다.
또한, 다수의 스캔라인에 대한 액티브 에지를 한꺼번에 검출할 수 있는 효과가 있다.
또한, 이로써 다수의 스캔라인에 대해 동시에 스캔라인 필링 처리를 수행할 수 있도록 하는 효과가 있다.
또한, 스캔라인 기반의 랜더링 수행시 처리 시간을 줄임으로써 처리 속도를 높이는 효과가 있다.
도 1은 벡터 그래픽스를 구현하기 위한 하드웨어 가속기 구성을 나타내는 도면.
도 2는 스캔라인-기반 랜더링에서 칼리오 방법에 따른 액티브 에지 검색 방법을 설명하는 도면.
도 3은 본 발명의 일 실시예에 따른 스캔라인 기반의 랜더링 구조에서 액티브 에지 검색 방법을 설명하는 흐름도.
도 4는 본 발명의 일 실시예에 따른 스캔라인 기반의 랜더링 구조에서 액티브 에지 검색 방법을 설명하는 도면.
도 5는 본 발명의 일 실시예에 따른 스캔라인 기반의 랜더링 구조에서 액티브 에지 저장 방법을 설명하는 도면.
도 6은 본 발명의 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 구조의 일례를 종래 방법과 비교하여 나타낸 도면.
도 7은 본 발명의 다른 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 장치 예를 나타낸 도면.
도 8은 본 발명의 다른 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 구조의 예를 나타낸 도면.
도 9는 본 발명의 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 방식이 구현되는 칩 구성 예를 나타낸 도면.
도 10은 본 발명의 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 방식의 효과를 나타내는 그래프.
이하 도면을 참조하여 개선된 액티브 에지 검색 방법을 이용하여 메모리 접속 횟수를 줄일 수 있는 스캔라인 기반 랜더링 방법 및 장치에 관한 본 발명의 실시예들을 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 스캔라인 기반의 랜더링 구조에서 액티브 에지 검색 방법을 설명하는 흐름도이다. 그리고, 도 4는 본 발명의 일 실시예에 따른 스캔라인 기반의 랜더링 구조에서 액티브 에지 검색 방법을 설명하는 도면이다.
본 실시예에 따르면 에지 테이블을 생성하고 이에 기초하여 스캔라인별로 액티브 에지 테이블을 갱신하지 않고, 각 패스에 포함되는 모든 에지들을 스캐닝함에 따라 스캔라인별로 정적인 액티브 에지 테이블을 생성한다.
도 3을 참조하면 먼저 단계 S300에서 벡터 그래픽스 이미지를 구성하는 각 패스에 대해 에지를 생성하는 지오메트리 처리를 수행한다. 이때 각 패스에 대해 생성되는 버텍스(vertex)와 탄젠트(tangent) 정보를 이용하여 각 패스에 대해 순차적으로 에지를 생성한다.
그리고, 단계 S310에서 벡터 그래픽스 이미지를 구성하는 에지들 중 스캔라인별로 액티브 에지를 검출하고 이 검출된 액티브 에지에 대한 에지 정보를 스캔라인별로 마련되는 액티브 에지 테이블로 저장한다. 여기서 에지 정보는 예를 들어, {(start_x, start_y), (end_x, end_y)}와 같이 에지의 시작 x, y 좌표값과 에지의 끝 x, y 좌표값으로 저장될 수 있다.
본 실시예에 따르면 하나의 에지에 대한 에지 정보가 에지의 수명에 따라서 다수의 액티브 에지 테이블에 포함될 수도 있다. 여기서 에지 수명은 에지의 y 축 길이 즉, 하나의 에지가 포함되는 스캔라인 수와 상응한다. 따라서, 하나의 에지가 세로, 즉 y축을 따라 길게 형성되어 다수의 스캔라인에 걸쳐있는 경우 이 에지에 대한 에지 정보는 이 다수의 스캔라인에 대한 액티브 에지 테이블 모두에 포함될 것이다.
예를 들어, 도 4를 참조하면 에지 1은 i, i+1, i+2 스캔라인의 액티브 에지 테이블의 세 개의 액티브 에지 테이블에 저장되고, 에지 2는 i+1, i+2 스캔라인의 액티브 에지 테이블의 두 개의 액티브 에지 테이블에 저장되며, 에지 3은 i, i+1 스캔라인의 액티브 에지 테이블의 두 개의 액티브 에지 테이블에 저장된다. 그리고, 에지 4는 i+2, i+3, i+4 스캔라인의 액티브 에지 테이블의 세 개의 액티브 에지 테이블에 저장되고, 에지 5 및 에지 6은 i+2, i+3 스캔라인의 액티브 에지 테이블의 두 개의 액티브 에지 테이블에 저장된다.
즉, 본 실시예에 따르면 하나의 에지 정보가 에지의 수명에 따라서 다수개의 액티브 에지 테이블에 저장될 수 있다는 것이다. 본 실시예에 따른 메모리 접근 횟수(MA) 및 메모리 사용 사이즈(MU)는 각각 아래 수학식 3 및 수학식 4와 같이 나타낼 수 있다.
Figure 112010047158493-pat00003
Figure 112010047158493-pat00004
수학식 3 및 수학식 4에서 N은 에지 수이고, K1은 하나의 에지에 대한 에지 정보를 저장하는데 필요한 바이트 수, Li는 각 에지의 수명에 해당하는 Y축 길이를 나타낸다. 수학식 3에서 각 항목은 에지 기록 및 에지 읽기를 위한 메모리 접속 횟수를 나타낸다. 그리고, 수학식 4에서 각 항목은 에지 정보를 저장하기 위해 사용되는 메모리 사이즈를 나타낸다.
만약 각 에지의 수명이 긴 성향을 나타내면 모든 스캔라인을 위해 액티브 에지 테이블을 구성하기 위해 더 많은 메모리 영역이 요구될 수도 있다. 즉, 본 실시예에 따르면 메모리 사용은 다수의 긴 수직형 에지를 포함하는 이미지에 대해서는 증가될 수도 있다. 하지만, 아래 표 1에 나타낸 바와 같이 일반적으로 고화질 이미지에는 대부분의 에지가 짧은 수명을 가지도록 미세하기 이루어져 있기 때문에 에지 정보가 반복적으로 저장되는 경우의 수는 적을 것으로 예상되며 따라서 고화질 이미지일수록 본 실시예에 따른 액티브 에지 검색 방법의 효과는 높아질 것으로 기대된다.
Edge
Life time
Tiger Dude E- book Picture Basket Bottle Snow Pelican
QVGA VGA QVGA VGA QVGA VGA QVGA VGA QVGA VGA QVGA VGA QVGA VGA QVGA VGA
0~1 195,993 171,839 78,552 74,594 37,157 32,026 41,239 36,758 72,325 69,573 37,395 32,723 13,765 12,383 1,600 1,300
1~2 28,813 48,349 4,291 7,936 6,732 11,289 7,649 8,911 4,124 5,475 8,011 9,325 2,198 2,738 901 622
2~3 378 4,368 117 276 122 453 1,191 2,616 792 1,075 1,064 2,614 478 663 819 407
3~4 46 503 61 86 219 211 286 1,180 347 645 23 1,463 182 331 485 328
4~5 17 107 53 51 215 9 117 493 171 336 12 334 123 246 191 472
6~ 10 38 566 52 137 478 461 261 541 124 676 40 51 108 392 25 879
11~ 50 10 811 40 76 32 506 67 300 21 122 20 55 67 166 6 19
51~ 100 0 0 1 10 0 0 0 11 0 2 0 0 0 2 0 0
101~ 150 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0
151~ 200 0 0 2 0 0 0 4 0 0 0 0 0 1 0 0 0
201~ 250 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0
251~ 300 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0
301~ 350 2 0 0 2 0 0 0 0 0 0 0 0 0 1 0 0
351~ 400 - 0 - 0 - 0 - 4 - 0 - 0 - 0 - 0
401~ 450 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0
451~ 500 - 0 - 0 - 0 - 4 - 0 - 0 - 0 - 0
501~ 550 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0
551~ 600 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0
601~ 640 - 2 - 0 - 0 - 0 - 0 - 0 - 0 - 0
Ratio [0~1] (%) 87 76 94 90 83 71 81 72 93 89 80 70 81 73 40 32
AverageLifetime 1.14 1.27 1.08 1.16 1.27 1.52 1.32 1.64 1.11 1.22 1.23 1.46 1.36 1.36 2.24 3.46
한편, 본 실시예에 따르면 각 액티브 에지 테이블을 위한 메모리 공간을 효율적으로 할당하기 위해서 각 액티브 에지 테이블에 고정된 사이즈의 메모리 영역을 미리 할당할 수 있다. 즉, 액티브 에지 테이블을 저장하기 위한 고정된 사이즈의 메모리 영역이 스캔라인 별로 미리 할당되고, 메모리 공간이 더 필요하면 추가 영역이 더 할당될 수 있다.
그리고, 도 4에 도시된 바와 같이 본 실시예에 따르면 각 액티브 에지 테이블을 위해 추가 영역이 할당되는 경우 각 메모리 영역의 마지막 위치에는 추가 영역의 물리적 어드레스의 시작 정보(40)가 링크드 리스트 방법으로 포함될 수 있다. 그리고, 각 액티브 에지 테이블에는 도 4에서 "C"로 표시된 바와 같이 각 리스트의 마지막을 지시하기 위해서 앤드 테그(41)가 삽입될 수도 있다.
상술한 방법으로 액티브 에지 테이블이 스캔라인별로 생성되면, 단계 S320에서 이 액티브 에지 테이블을 참조하여 하나 이상의 스캔라인을 스캔하며, 스캔라인 필링을 수행한다. 이 단계에서는 액티브 에지의 각 픽셀에 대한 영향도를 산출하는 것으로, 액티브 에지가 위치하는 픽셀들의 와인딩 값(winding number)을 산출하고 이를 스캔라인의 끝까지 복사한 후, 픽셀별로 합산하여 최종 와인딩 값을 도출하고 픽셀들을 제너레이션 하는 과정이 수행될 수 있다.
도 5는 본 발명의 일 실시예에 따른 스캔라인 기반의 랜더링 구조에서 액티브 에지 저장 방법을 설명하는 도면이다.
상술한 바와 같이 에지의 수명 즉, 몇개의 스캔라인에 걸쳐서 형성되었느냐에 따라 하나의 에지 정보가 다수의 액티브 에지 테이블에 포함될 수 있다. 이 경우, 본 실시예에 따르면 하나의 에지 정보가 포함되는 다수의 액티브 에지 테이블 중 적어도 하나의 액티브 에지 테이블에는 해당 스캔라인과의 교차점 계산하여 획득된 에지 정보가 포함되도록 할 수 있다. 이로써 에지의 교차점을 찾기 위해서 각 에지마다 한 번만 에지의 기울기를 계산하면 되기 때문에 스캔라인 필링 처리 동안에 계산 요구량을 줄일 수 있다.
예를 들어, 도 5를 참조할 때 에지 1이 i, i+1, i+2, i+3, i+4 스캔라인에 걸쳐있기 때문에 에지 1의 에지 정보 예를 들어, {(start_x, start_y), (end_x, end_y)}는 총 5 개의 액티브 에지 테이블에 반복적으로 저장될 것이지만, 본 실시예에 따르면, i 스캔라인의 액티브 에지 테이블을 제외하고 나머지 즉, i+1, i+2, i+3, i+4 스캔라인의 액티브 에지 테이블에 저장되는 에지 1의 에지 정보는 i 스캔라인의 액티브 에지 테이블에 저장되는 에지 정보가 그대로 저장되지 않고 보정된 값을 저장할 수 있다. 이때 이 보정된 값은 도 5에 도시된 바와 같이 보간법에 따라 선택된 스캔라인과 교차하는 x, y 축을 계산하여 획득할 수 있다.
도 6은 본 발명의 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 구조의 일례를 종래 방법과 비교하여 나타낸 도면이다.
도 6의 (a)는 종래의 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 구조를 나타내고 (b)는 본 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 구조를 나타낸다.
일반적으로 랜더링 과정은 상당한 계산량이 요구되기 때문에 랜더링 엔진은 처리 속도 향상을 위하여 랜더링의 각 단계를 파이프라인(PL) 방식으로 처리하고 있다. 파이프라인 방식이란 일련의 과정들을 다수의 과정들로 분할하고, 분할된 각 과정이 동시에 병렬적으로 서로 다른 데이터를 처리할 수 있도록 한 데이터 처리방식을 말한다. 분할된 다수의 과정들 중 어느 하나의 과정에서 처리가 중단되면, 그 중단된 과정 이후의 나머지 과정들에서도 처리가 중단되며, 상기 일부 과정들의 처리가 중단된 동안은 아무런 처리 결과도 발생하지 않으므로 처리율(throughput) 면에서 문제가 될 수 있다.
상술한 바와 같이 도 6의 (a) 및 (b)를 참조하면 랜더링은 세 개의 파이프라인 단계로 이루어진다. 특히, 도 6의 (a)에 도시된 바와 같이 종래 방법에 따르면 각 스캔라인에 대해 순차적으로 액티브 에지를 검색하기 때문에 각 스캔라인에 대해 순차적으로 각각의 파이프라인 단계가 수행된다. 하지만, 도 6의 (b)에 도시된 바와 같이 본 발명의 실시예에 따르면 스캔라인별로 액티브 에지 테이블을 마련하여 이용하기 때문에 각 패스의 모든 스캔라인에 대해 동시에 액티브 에지를 검색할 수 있다. 그리고, 비록 도 6의 (b)에는 스캔라인 필링과 후처리 단계가 모두 스캔라인 순서로 순차적으로 처리되는 것으로 도시되어 있지만, 이들도 액티브 에지 검색과 같이 다수의 스캔라인에 대해 동시에 수행함으로써 복잡한 패스나, 더 높은 디스플레이 해상도를 위한 랜더링 성능을 높일 수 있을 것이다.
도 7은 본 발명의 다른 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 장치 예를 나타낸 도면이고, 도 8은 본 발명의 다른 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 구조의 예를 나타낸 도면이다.
본 실시예에 따르면 액티브 에지 테이블을 갱신하지 않고 각 패스에 포함되는 모든 에지들을 스캐닝함에 따라 스캔라인별로 정적인 액티브 에지 테이블을 생성한다. 이는 동시에 다수의 스캔라인에 대한 스캔라인 필링 수행이 가능하게 한다. 즉, 본 실시예에 따르면 액티브 에지 검출 후, 액티브 에지 테이블을 참조하여 하나 이상의 스캔라인을 동시에 스캔하며, 스캔라인 필링을 수행할 수 있다.
스캔라인 필링으로 액티브 에지가 위치하는 픽셀들의 와인딩 값을 산출하고 이를 스캔라인의 끝까지 복사한 후, 픽셀별로 합산하여 최종 와인딩 값을 도출하고 픽셀들을 제너레이션 함에 있어서, 도 7에 도시된 바와 같이 와인딩 값을 저장하는 버퍼(70, 71)의 수를 다수개 예를 들어, 2 개로 구현하여 하나에는 짝수 스캔라인(even scanline)에 대한 와인딩 산출 결과를 저장하고, 다른 하나에는 홀수 스캔라인(odd scanline)에 대한 와인딩 산출 결과를 저장할 수 있다. 그 결과 후처리 과정에서 이전 스캔라인에 대한 처리를 하는 동안에 현재 스캔라인에 대한 와인딩 값을 산출할 수 있도록 하여 동시에 다수개의 스캔라인에 대한 스캔라인 필링 처리가 가능하도록 한다.
따라서, 본 실시예에 따르면 상술한 바와 같이 모든 스캔라인에 대한 액티브 에지 정보가 액티브 에지 테이블에 이미 마련되어 있기 때문에 다수의 스캔라인에 대해 동시에 스캔라인이 가능할 수 있다. 도 8에 도시된 바와 같이 예를 들어, 2개씩의 스캔라인에 대해 동시에 스캔라인을 수행하고 그 결과를 통해 개씩의 스캔라인에 대해 한꺼번에 후처리까지 수행할 수 있다. 이로써 스캔라인 필링 및 후처리 수행에 소요되는 처리 시간을 효과적으로 줄일 수 있게 된다.
도 9는 본 발명의 일 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 방식이 구현되는 칩 구성 예를 나타낸 도면이다.
본 실시예에 따르면 도 9에 도시된 바와 같이 벡터 그래픽스 이미지를 구성하는 각 패스에 대해 에지를 생성하는 지오메트리 처리부(90)와, 하나의 에지 정보가 에지의 수명에 따라서 다수의 액티브 에지 테이블에 포함될 수 있도록, 스캔라인별로 액티브 에지 테이블을 생성하는 액티브 에지 생성 모듈(91) 및 상기 액티브 에지 테이블을 참조하여 하나 이상의 스캔라인을 동시에 스캔하며 스캔라인 필링을 수행하는 다수의 스캔라인 필링 모듈(92, 93)을 포함한다. 스캔라인 필링 모듈(92, 93)은 액티브 에지가 위치하는 픽셀들의 와인딩 값을 산출하고 이를 스캔라인의 끝까지 복사한 후, 픽셀별로 합산하여 최종 와인딩 값을 도출하고 픽셀들을 제너레이션 할 수 있다. 그리고, 각 픽셀의 색 정보 및 투명도 등을 계산하는 후처리 모듈(94)이 더 포함된다.
도 10은 본 발명의 다른 실시예에 따른 액티브 에지 검색 방법이 적용된 스캔라인 기반의 랜더링 방식의 효과를 나타내는 그래프이다.
도 10을 참조하면, 상술한 실시예에 따라 다수의 스캔라인에 대한 스캔라인 필링 처리를 동시에 수행한 경우(Dual)와 그렇지 않은 경우(Single)를 각 랜더링 처리 단계마다 비교한 예를 확인할 수 있다. 도 10에 나타나듯, 다수의 스캔라인에 대한 스캔라인 필링 처리를 동시에 수행한 경우(Dual)에 특히 스캔라인 필링 단계에서 처리 시간(processing time)이 크게 줄어드는 것을 확인할 수 있다. 예를 들어, 간단한 패스의 경우 11%에서 6%까지 줄어들고, 복잡한 패스의 경우 45%에서 26%까지 줄어든 것을 확인할 수 있다.
상기에서는 도면 및 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 기술적 사상으로부터 벗어나지 않는 범위 내에서 본 발명은 다양하게 수정 및 변경시킬 수 있음은 이해할 수 있을 것이다.
90: 지오메트리 처리부
91: 액티브 에지 생성 모듈
92, 93: 스캔라인 필링 모듈
94: 후처리 모듈

Claims (16)

  1. 벡터 그래픽스 이미지를 구성하는 각 패스에 대해 에지를 생성하는 지오메트리 처리 단계;
    스캔라인 별로 액티브 에지 테이블을 마련하고, 상기 생성된 에지가 y축 길이를 따라 다수의 스캔라인에 걸쳐 형성된 경우, 에지의 시작점과 끝점의 x, y 좌표를 포함하는 에지 정보가 에지의 y 축 길이에 따라 다수의 액티브 에지 테이블에 포함될 수 있도록, 각각의 스캔라인에 걸쳐있는 에지의 에지 정보를 스캔라인 별로 대응되는 액티브 에지 테이블에 각각 저장하는 액티브 에지 검출 단계; 및
    상기 액티브 에지 테이블을 참조하여 하나 이상의 스캔라인을 동시에 스캔하는 스캔라인 필링 단계;를 포함하는, 스캔라인 기반의 랜더링 방법.
  2. 청구항 1에 있어서,
    상기 액티브 에지 테이블을 저장하기 위한 고정된 사이즈의 메모리 영역이 스캔라인 별로 미리 할당되고, 메모리 공간이 더 필요하면 추가 영역이 더 할당되는 것을 특징으로 하는, 스캔라인 기반의 랜더링 방법.
  3. 청구항 2에 있어서,
    상기 액티브 에지 테이블에는 상기 추가 영역에 대한 주소 정보를 포함하는 것을 특징으로 하는, 스캔라인 기반의 랜더링 방법.
  4. 청구항 1에 있어서,
    상기 액티브 에지 테이블에는 리스트의 마지막을 지시하는 태그가 포함되는 것을 특징으로 하는 스캔라인 기반의 랜더링 방법.
  5. 청구항 1에 있어서,
    하나의 에지 정보가 다수의 액티브 에지 테이블에 포함되는 경우, 이중 적어도 하나의 액티브 에지 테이블에는 해당 스캔라인과 교차하는 x, y 축을 계산하여 획득된 에지 정보가 포함되는 것을 특징으로 하는, 스캔라인 기반의 랜더링 방법.
  6. 청구항 1에 있어서,
    상기 액티브 에지 검출 단계에서, 상기 스캔라인별 액티브 에지 테이블은 전체 스캔라인에 대해 동시에 생성되는 것을 특징으로 하는, 스캔라인 기반의 랜더링 방법.
  7. 청구항 1에 있어서,
    동시에 스캔라인 필링이 수행되는 하나 이상의 스캔라인에 대해 함께 후처리가 수행되는 것을 특징으로 하는, 스캔라인 기반의 랜더링 방법.
  8. 청구항 1에 있어서,
    상기 스캔라인 필링 단계에서 액티브 에지가 위치하는 픽셀들의 와인딩 값을 산출하고 이를 스캔라인의 끝까지 복사한 후, 픽셀별로 합산하여 최종 와인딩 값을 도출하고 픽셀들을 제너레이션하는 것을 특징으로 하는, 스캔라인 기반의 랜더링 방법.
  9. 벡터 그래픽스 이미지를 구성하는 각 패스에 대해 에지를 생성하는 지오메트리 처리부;
    스캔라인 별로 액티브 에지 테이블을 마련하고, 상기 생성된 에지가 y축 길이를 따라 다수의 스캔라인에 걸쳐 형성된 경우, 에지의 시작점과 끝점의 x, y 좌표를 포함하는 에지 정보가 에지의 y 축 길이에 따라 다수의 액티브 에지 테이블에 포함될 수 있도록, 각각의 스캔라인에 걸쳐있는 에지의 에지 정보를 스캔라인 별로 대응되는 액티브 에지 테이블에 각각 저장하는 액티브 에지 생성 모듈; 및
    상기 액티브 에지 테이블을 참조하여 하나 이상의 스캔라인을 동시에 스캔하는 스캔라인 필링 모듈;을 포함하는, 스캔라인 기반의 랜더링 장치.
  10. 청구항 9에 있어서,
    상기 액티브 에지 테이블을 저장하기 위한 고정된 사이즈의 메모리 영역이 스캔라인 별로 미리 할당되고, 메모리 공간이 더 필요하면 추가 영역이 더 할당되는 것을 특징으로 하는, 스캔라인 기반의 랜더링 장치.
  11. 청구항 10에 있어서,
    상기 액티브 에지 테이블에는 상기 추가 영역에 대한 주소 정보를 포함하는 것을 특징으로 하는, 스캔라인 기반의 랜더링 장치.
  12. 청구항 9에 있어서,
    상기 액티브 에지 테이블에는 리스트의 마지막을 지시하는 태그가 포함되는 것을 특징으로 하는 스캔라인 기반의 랜더링 장치.
  13. 청구항 9에 있어서,
    하나의 에지 정보가 다수의 액티브 에지 테이블에 포함되는 경우, 이중 적어도 하나의 액티브 에지 테이블에는 해당 스캔라인과 교차하는 x, y 축을 계산하여 획득된 에지 정보가 포함되는 것을 특징으로 하는, 스캔라인 기반의 랜더링 장치.
  14. 청구항 9에 있어서,
    상기 액티브 에지 생성 모듈에서 상기 스캔라인별 액티브 에지 테이블은 전체 스캔라인에 대해 동시에 생성되는 것을 특징으로 하는, 스캔라인 기반의 랜더링 장치.
  15. 청구항 9에 있어서,
    동시에 스캔라인 필링이 수행되는 하나 이상의 스캔라인에 대해 함께 후처리를 수행하는 후처리 모듈를 더 포함하는 것을 특징으로 하는, 스캔라인 기반의 랜더링 장치.
  16. 청구항 9에 있어서,
    상기 스캔라인 필링 모듈에서 액티브 에지가 위치하는 픽셀들의 와인딩 값을 산출하고 이를 스캔라인의 끝까지 복사한 후, 픽셀별로 합산하여 최종 와인딩 값을 도출하고 픽셀들을 제너레이션하는 것을 특징으로 하는, 스캔라인 기반의 랜더링 장치.
KR1020100070618A 2010-07-21 2010-07-21 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치 KR101032835B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100070618A KR101032835B1 (ko) 2010-07-21 2010-07-21 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100070618A KR101032835B1 (ko) 2010-07-21 2010-07-21 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020080124841A Division KR20100066165A (ko) 2008-12-09 2008-12-09 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법및 그에 따른 장치

Publications (2)

Publication Number Publication Date
KR20100089811A KR20100089811A (ko) 2010-08-12
KR101032835B1 true KR101032835B1 (ko) 2011-05-06

Family

ID=42755623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100070618A KR101032835B1 (ko) 2010-07-21 2010-07-21 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치

Country Status (1)

Country Link
KR (1) KR101032835B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050030595A (ko) * 2003-09-25 2005-03-30 소니 가부시끼 가이샤 화상 처리 장치 및 그 방법
KR20070049113A (ko) * 2004-07-29 2007-05-10 마이크로소프트 코포레이션 선형 형태로 이미지 정보를 처리하기 위한 방법
KR100748802B1 (ko) 2000-04-14 2007-08-13 픽셀 (리서치) 리미티드 이미지를 랜더링하기 위한 방법, 그래픽 객체들을 처리하기 위한 시스템 및 컴퓨터 프로그램 저장 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100748802B1 (ko) 2000-04-14 2007-08-13 픽셀 (리서치) 리미티드 이미지를 랜더링하기 위한 방법, 그래픽 객체들을 처리하기 위한 시스템 및 컴퓨터 프로그램 저장 매체
KR20050030595A (ko) * 2003-09-25 2005-03-30 소니 가부시끼 가이샤 화상 처리 장치 및 그 방법
KR20070049113A (ko) * 2004-07-29 2007-05-10 마이크로소프트 코포레이션 선형 형태로 이미지 정보를 처리하기 위한 방법

Also Published As

Publication number Publication date
KR20100089811A (ko) 2010-08-12

Similar Documents

Publication Publication Date Title
US10936937B2 (en) Convolution operation device and convolution operation method
US20180137414A1 (en) Convolution operation device and convolution operation method
US7439983B2 (en) Method and apparatus for de-indexing geometry
US8018460B2 (en) Vector graphics shape data generation apparatus, rendering apparatus, method, and program
US9607352B2 (en) Prediction based primitive sorting for tile based rendering
US8130234B2 (en) Computer graphics rendering apparatus and method
US8704842B1 (en) System and method for histogram computation using a graphics processing unit
JP2013186624A (ja) 画像処理装置、および画像処理装置の動作方法
US8463074B2 (en) System and method for rotating images
Kim et al. A high-performance OpenVG accelerator with dual-scanline filling rendering
KR101039132B1 (ko) 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법
US10949694B2 (en) Method and apparatus for determining summation of pixel characteristics for rectangular region of digital image avoiding non-aligned loads using multiple copies of input data
KR101032835B1 (ko) 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법 및 그에 따른 장치
CN108519867B (zh) Gpu中一种实现三角形反走样的装置和方法
KR20100066165A (ko) 백터 그래픽스 기술에 있어서 스캔라인 기반의 랜더링 방법및 그에 따른 장치
JP2013025376A (ja) 画像描画装置
CN105427235A (zh) 一种图像浏览方法及系统
US9530177B2 (en) Layer access method, data access device and layer access arrangement method
WO2006030401A2 (en) Multi-layer video/graphics blending including identifying composited non-transparent regions in the alpha multiplied overlay
CN115018713B (zh) 实现图形旋转的数据存储及访问方法、装置和存储介质
WO2015009294A2 (en) System and method for histogram computation using a graphics processing unit
US20220058838A1 (en) Vector graphics data processing method, system, medium, and vector graphics processing device
US20220004799A1 (en) Method of matching images to be merged and data processing device performing the same
KR100719480B1 (ko) 고속의 안티알리아싱 처리 방법
US10043081B2 (en) Image processing device and image processing program

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20140416

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee