Nothing Special   »   [go: up one dir, main page]

KR100948510B1 - 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법 - Google Patents

하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법 Download PDF

Info

Publication number
KR100948510B1
KR100948510B1 KR1020080036746A KR20080036746A KR100948510B1 KR 100948510 B1 KR100948510 B1 KR 100948510B1 KR 1020080036746 A KR1020080036746 A KR 1020080036746A KR 20080036746 A KR20080036746 A KR 20080036746A KR 100948510 B1 KR100948510 B1 KR 100948510B1
Authority
KR
South Korea
Prior art keywords
vector graphics
module
accelerator
processing
vector
Prior art date
Application number
KR1020080036746A
Other languages
English (en)
Other versions
KR20090111135A (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 KR1020080036746A priority Critical patent/KR100948510B1/ko
Priority to PCT/KR2009/002063 priority patent/WO2009131349A2/en
Priority to EP09734444.4A priority patent/EP2269171A4/en
Priority to JP2011506189A priority patent/JP5215459B2/ja
Priority to CN200980113912.7A priority patent/CN102016913B/zh
Priority to US12/427,658 priority patent/US20100045683A1/en
Publication of KR20090111135A publication Critical patent/KR20090111135A/ko
Application granted granted Critical
Publication of KR100948510B1 publication Critical patent/KR100948510B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

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

Abstract

본 발명은 어플리케이션 프로세서에서 오픈 벡터 그래픽의 각 파이프 라인(Pipe Line)을 하드웨어로 설계함으로써, 벡터 그래픽 처리 수행 성능을 증가시키고, 또한 표준으로 제정된 OpenVG API를 지원함으로써, 종래에 소프트웨어 렌더링 처리에서 사용하던 OpenVG 벡터 콘텐츠를 별도의 변환 없이 사용할 수 있는 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한 어플리케이션 프로세서 및 단말기, 및 그 프로세서에서 그래픽 가속방법을 제공한다. 그 벡터 그래픽 가속기는 파이프 라인 구조로 연결된 래스터라이즈 셋업(Rasterize Setup) 모듈, 시저 테스트(Scissor Test) 모듈, 페인트 제너레이션(Paint Generation) 모듈, 알파 마스크(Alpha Masking) 모듈 및 블렌딩(blending) 모듈을 포함하고, 상기 각 모듈들이 상기 2D 벡터 그래픽 가속을 위한 하드웨어 명령어 처리부에 연결되어 동작하는 것을 특징으로 한다.
Figure R1020080036746
오픈벡터 가속기(OpenVG), 패스 데이터, 패스 생성기, 그라디언트

Description

하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한 어플리케이션 프로세서 및 단말기, 및 그 프로세서에서 그래픽 가속방법{Vector graphic accelerator of hard-ware(HW) type, application process and terminal comprising the same accelerator, and graphic accelerating method in the same process}
본 발명은 이동통신 단말기의 어플리케이션 프로세서에 관한 것으로, 특히 벡터 그래픽을 하드웨어적으로 처리할 수 있는 벡터 그래픽 가속기 및 그 가속기를 포함한 어플리케이션 프로세서에 관한 것이다.
벡터 그래픽은 주어진 2차원이나 3차원 공간에 선이나 형상을 배치하는 작업으로서, 일련의 명령들이나 수학적 표현을 통해 대상 물체에 대한 디지털 이미지를 만드는 것이다. 물리학에서의 벡터는, 크기와 방향을 둘 다 동시에 갖는 것을 말하지만, 벡터 그래픽에서의 벡터는 비트맵(Bitmap)에 대응한 그래픽 포맷 방법을 의미한다. 즉, 벡터 그래픽에서는 사용자들의 창작활동 결과물인 그래픽 파일이, 일련의 벡터 서술문의 형태로 창작되고 저장된다.
예를 들면, 벡터 그래픽 파일에는 선을 그리기 위해 각 비트들이 저장되어 있는 대신에, 연결될 일련의 점의 위치가 저장되어 있다. 그로 인해 벡터 그래픽 파일은 비트맵 그래픽 파일 또는 래스터 이미지(Raster Image) 파일에 비해 파일 크기를 현저히 줄일 수 있는 장점이 있다. 또한, 벡터 그래픽 파일은 래스터 이미지 파일보다 수정하기가 쉽다는 장점이 있다.
이러한 벡터 그래픽을 처리하기 위한 방법으로, 일반적으로 소프트웨어 렌더링 방식이 사용되어 왔으며, 한국의 휴원(AlexVG), Hybrid사의 오픈 벡터 그래픽을 처리하는 래스터 엔진 등도 역시 소프트웨어 렌더링 방식을 사용하고 있다. 이러한 종래 벡터 그래픽 엔진들은 하드웨어 처리가 아닌 순수 소프트웨어 처리 방식을 사용하므로, 속도가 느리고 그에 따라 모바일 환경에는 부적합한 면이 있다.
한편, 벡터 그래픽에는 확장성 생성 언어(XML: extensible markup language) 어플리케이션과 같은, 이미지에 대한 도형 처리를 행하는 가변 벡터 그래픽(SVG: scalable vector graphic)이 있다. 이러한 SVG는 W3C(World Wide Web Consortium)에 의해 제안된 XML 그래픽 표준으로서, XML의 개방성, 상호 운용성 등의 장점을 모두 수용하며, SMIL, GML, MathML 등 다른 XML 언어들과 결합되어 다양한 웹 어플리케이션으로 응용할 수 있고 실시간 데이터로부터 고품질의 다이나믹한 그래픽을 만들어 낼 수 있는 장점을 갖는다.
그로 인해, 현재 SVG는 웹에서 많이 사용되며, 콘텐츠 또한 매우 풍부하다. 그러나 SVG를 구동하기 위한 많은 기능들이 소프트웨어로 처리되기 때문에, 모바일 환경에서는 속도가 느려져 그 활용도가 감소되는 면이 있다.
따라서, 본 발명이 해결하고자 하는 과제는, 어플리케이션 프로세서에서 오픈 벡터 그래픽의 각 파이프 라인(Pipe Line)을 하드웨어로 설계함으로써, 벡터 그래픽 처리 수행 성능을 증가시키고, 또한 표준으로 제정된 OpenVG API를 지원함으로써, 종래에 소프트웨어 렌더링 처리에서 사용하던 OpenVG 벡터 콘텐츠를 별도의 변환 없이 사용할 수 있는 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한 어플리케이션 프로세서 및 단말기, 및 그 프로세서에서 그래픽 가속방법을 제공하는 데에 있다.
상기 과제를 달성하기 위하여, 본 발명은 파이프 라인 구조로 연결된 래스터라이즈 셋업(Rasterize Setup) 모듈, 시저 테스트(Scissor Test) 모듈, 페인트 제너레이션(Paint Generation) 모듈, 알파 마스크(Alpha Masking) 모듈 및 블렌딩(blending) 모듈을 포함하고, 상기 각 모듈들이 상기 2D 벡터 그래픽 가속을 위한 하드웨어 명령어 처리부에 연결되어 동작하는 것을 특징으로 하는 하드웨어 방식의 벡터 그래픽 가속기를 제공한다.
본 발명에 있어서, 상기 하드웨어 명령어 처리부는, 상기 2D 벡터 그래픽 가속을 위한 명령어 및 데이터를 처리하는 컴맨드 코어 및 파서(Command Core and Parser); 및 상기 명령어 및 데이터가 저장되는 레지스터 셋;을 포함할 수 있다. 한편, 상기 페인트 제너레이션 모듈, 알파 마스크 모듈, 및 블렌딩 모듈로 각각 캐 쉬(Cashe)들이 연결되어 있고, 상기 하드웨어 명령어 처리부는, 픽셀 데이터가 최종적으로 저장되는 픽셀 버퍼, 상기 캐쉬들 및 픽셀 버퍼의 동작을 위한 명령어를 처리하는 캐쉬 코어, 및 상기 캐쉬 코어의 명령에 따라 상기 각 캐쉬들 및 상기 픽셀 버퍼를 제어하는 캐쉬 제어부 및 버퍼 제어부를 포함할 수 있다.
한편, 본 발명의 하드웨어 방식의 벡터 그래픽 가속기는 크로노스 그룹(Khronos Group)의 오픈벡터 가속기(OpenVG) API 표준에 따르는 콘텐츠들을 활용할 수 있는데, 이를 위하여, 상기 오픈벡터 가속기(OpenVG)의 파이프 라인 형태에 따라 API(Application Programming Interface)가 설계되어 있고, 상기 오픈벡터 가속기(OpenVG)와 그래픽 가속기간에 대한 인터페이싱이 맞추어져 있을 수 있다.
본 발명은 또한 상기 과제를 달성하기 위하여, 2D 그래픽 가속을 위한 명령어 및 데이터를 처리하는 명령어 처리부; 상기 2D 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋; 및 상기 명령어 처리부의 명령을 받아 상기 2D 그래픽 가속을 하드웨어적으로 처리하는 하드웨어 방식의 벡터 그래픽 가속기;를 포함하는 2D 그래픽 가속 어플리케이션 프로세서를 제공한다.
본 발명에 있어서, 상기 벡터 그래픽 가속기는 역시 파이프 라인 구조로 연결된 래스터라이즈 셋업(Rasterize Setup) 모듈, 시저 테스트(Scissor Test)모듈, 페인트 제너레이션(Paint Generation) 모듈, 알파 마스크(Alpha Masking) 모듈 및 블렌딩(blending) 모듈을 포함할 수 있다. 또한, 상기 명령어 처리부는 상기 명령어 및 데이터를 처리 및 파싱하는 컴맨드 코어 및 파서(Command Core and Parser), 픽셀 데이터가 최종적으로 저장되는 픽셀 버퍼, 상기 캐쉬들 및 픽셀 버퍼의 동작을 위한 명령어를 처리하는 캐쉬 코어, 및 상기 캐쉬 코어의 명령에 따라 상기 각 캐쉬들 및 상기 픽셀 버퍼를 제어하는 캐쉬 제어부 및 버퍼 제어부를 포함할 수 있다. 이러한 상기 명령어 처리부의 상기 컴맨드 코어 및 파서, 및 캐쉬 코어는 AHB(Advanced High-performace Bus) 슬레이브(slave) 및 마스터(master)를 통해 암 코어(ARM Core)에 연결될 수 있다.
한편, 상기 벡터 그래픽 가속기는 2D 그래픽 처리를 위하여, 상기 레지스터 셋에 저장된 각각의 값을 보고 상기 페인트 제너레이션 모듈 내의 각 처리부들의 형태에 따라 2D 패스 데이터를 생성하는 패스 제너레이션 모듈을 포함하고, 상기 패스 제너레이션 모듈을 위한 패스 세그먼트 컴맨드(Path Segment Commands)로 직선라인(Straight Line), 베이지어 커브(Bezier Curves), 타원형 아크(Elliptical Arcs)에 대한 컴맨드를 포함하며, 상기 패스 제너레이션 모듈은 재구성된 직선 라인들을 채우기 규칙(Fill Rule)에 적용하기 위하여, 병합정렬(Merge Sort) 방식의 소팅(sorting) 알고리즘을 통해 소팅할 수 있다.
상기 페인트 제너제이션 모듈은 컬러 좌표값을 위한 솔리드(Solid)부, 이미지(Image)부, 패턴(Pattern)부, 직선 그라디언트(Linear Grandient)부, 원형 그라디언트(Radial Gradient)부를 포함하고, 상기 블렌딩 모듈은 블렌딩 처리를 위한 블렌드 모드 및 블렌드 이미지 모드를 포함하며, 상기 페인트 제너제이션 모듈의 각 처리부들 및 상기 블렌딩 모듈의 각 처리부들은 상기 OpenVG API 표준에 따른 컬러 처리 기법들 및 블렌딩 처리기법들을 통해 컬러 및 블렌딩 처리를 할 수 있다.
더 나아가 본 발명은 상기 과제를 달성하기 위하여, 벡터 그래픽 가속 어플리케이션 프로세서의 아이들(idle) 상태를 체크하는 단계; 하드웨어 방식의 벡터 그래픽 가속기를 초기화하는 단계; 벡터 그래픽 가속을 수행하는 단계; 및 상기 벡터 그래픽 가속기를 종료하는 단계;를 포함하는 벡터 그래픽 가속방법을 제공한다.
본 발명에 있어서, 상기 가속 수행단계는, 상기 벡터 그래픽 실행에 이용되는 캐쉬의 더티를 체크하는 단계; 불필요한 그래픽 부분을 잘라내는 시저(scissor) 처리를 수행하는 단계; 및 색상 처리를 위한 레더링 처리를 수행하는 단계;를 포함할 수 있다. 또한, 상기 아이들 상태 체크 단계 이후 프레임 버퍼에 대한 클리어 오퍼레이션을 별개로 수행할 수 있다.
한편, 상기 각 단계들은 FSM(Finite State Machine)을 통해 수행될 수 있다. 상기 아이들(idle) 상태 체크 단계, 상기 시저(scissor) 처리 수행 단계, 상기 벡터 그래픽 가속기 종료 단계, 및 상기 클리어 오퍼레이션 수행단계는 프레임 단위로 레지스터 값을 참조하여 계속적인 루프 백(loop back) 기능을 수행할 수 있다.
한편, 본 발명은 상기 그래픽 가속 수행 단계에서 앞서 명령어 처리부와 연결된 하드웨어 방식의 벡터 그래픽 가속기를 이용함으로써, 벡터 그래픽 처리를 고속으로 처리할 수 있다.
본 발명에 따른 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한 어플리케이션 프로세서 및 단말기, 및 그 프로세서에서 그래픽 가속방법은 벡터 그 래픽을 하드웨어 방식으로 처리함으로써, 모바일 환경에서 높은 처리속도를 가지고 고품질의 이차원 벡터 그래픽 처리를 수행할 수 있다.
또한, 국제적인 표준으로 인정된 OpenVG API를 지원함으로 그 활용 범위를 높일 수 있고, 그에 따라 단말기에 내재된 UI 및 벡터 형식의 임베디드 게임 콘텐츠, 애니메이션 등을 용이하게 구동할 수 있게 한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이하의 설명에서 어떤 구성 요소가 다른 구성 요소에 연결된다고 기술될 때, 이는 다른 구성 요소와 바로 연결될 수도 있지만, 그 사이에 제3의 구성 요소가 개재될 수도 있다. 또한, 도면에서 각 구성 요소의 구조나 크기는 설명의 편의 및 명확성을 위하여 과장되었고, 설명과 관계없는 부분은 생략되었다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. 한편, 사용되는 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.
도 1a는 본 발명의 일 실시예에 따른 벡터 그래픽 가속 어플리케이션 프로세서를 개략적으로 보여주는 블럭도이다.
도 1a를 참조하면, 본 실시예에 따른 벡터 그래픽 가속 어플리케이션 프로세서는 벡터 그래픽 가속을 위한 명령어 및 데이터를 처리하는 명령어 처리부(2000), 벡터 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋(3000) 및 명령어 처리부의 명령을 받아 상기 벡터 그래픽 가속을 하드웨어적으로 처리하는 하드웨어 방 식의 벡터 그래픽 가속기(1000)를 포함한다.
명령어 처리부(2000)는 레지스터 셋(3000)에 셋팅된 명령어들을 처리 및 파싱하기 위한 부분으로, 명령어를 처리하는 컴맨드 코아(command core) 및 명령어를 파싱하는 컴맨드 파서(command parser)로 구성된다. 이러한 명령어 처리부(2000)는 명령어들을 통해 벡터 그래픽 가속기(1000) 내의 각 모듈들을 하드웨어적으로 직접 제어한다. 따라서, 벡터 그래픽 가속기(1000)는 종래 소프트웨어적으로 구동될 때보다 매우 빠른 속도로 벡터 그래픽을 처리할 수 있다.
레지스터 셋(3000)은 오픈벡터 가속기(OpenVG)에 관련된 파라미터인 시저(Scissor), 렉탱글(Rectangles), 페인트 타입(Paint Type), 알파 마스크 플래그(Alpha Masking Flag), 블렌드 모드(Blend Mode) 등을 셋팅하는 명령어들을 저장하는 레지스터들로 구성된다. 이러한 레지스터 셋(3000)으로 저장되는 명령어들은 소프트웨어 드라이버를 통해 셋팅되는 기본 값들로서, 크로노스 그룹(Khronos Group)의 오픈벡터 가속기(OpenVG) API 표준에 따르는 콘텐츠들을 활용할 수 있도록 한다.
벡터 그래픽 가속기(1000)는 앞서 전술한 대로 명령어 처리부(2000)를 통해 직접 제어 받음으로써, 가속기 내부의 그래픽 처리 모듈들이 벡터 그래픽을 하드웨어적으로 처리할 수 있는 그래픽 가속기이다. 벡터 그래픽 가속기는 렌더링 엔진 또는 래스터 엔진이라고도 부르나, 그래픽 처리를 위한 모든 모듈들을 포함하는 의미에서, 이하에서는 벡터 그래픽 가속기로 통일하여 명명한다.
한편, 도시된 바와 같이 명령어 처리부(2000)는 AHB(Advanced High-Performance Bus) 슬레이브(slave)를 통해 암 코어(ARM Core)에 연결되어 암 코어로부터 명령어와 데이터들을 건네 받는다. 벡터 그래픽 가속기(1000) 부분에 대한 것은 도 2 및 도 3 부분에서 좀더 상세히 설명한다.
도 1b는 본 발명의 다른 실시예에 따른 벡터 그래픽 가속 어플리케이션 프로세서를 개략적으로 보여주는 블럭도이다.
도 1b를 참조하면, 본 실시예의 벡터 그래픽 가속 어플리케이션 프로세서는 도 1a의 어플리케이션 프로세서와 유사한 구조를 가지나, 레지스터 셋(3000)이 벡터 그래픽 가속기(1000a) 내에 포함되는 구조를 갖는다. 이러한 레지스터 셋(3000)은 명령어 처리부(2000) 및 벡터 그래픽 가속기(1000) 내의 각 모듈들과 연결되어 있기만 하면 어플리케이션 프로세서의 어느 곳에 위치해도 무방하다.
도 2는 도 1a 또는 1b의 벡터 그래픽 가속 어플리케이션 프로세서를 좀더 세부적으로 보여주는 블럭도이다.
도 2를 참조하면, 벡터 그래픽 가속 어플리케이션 프로세서는 벡터 그래픽 가속기(1000)와, 캐쉬 엔진으로 표시된 제어부(10000)를 포함한다. 제어부(10000)는 앞서 도 1a 및 1b에서 설명한 명령어 처리부(Command Core & Parser, 2000), 레지스터 셋(미도시), 픽셀 버퍼(5000) 및 캐쉬 메모리(6000), 및 캐쉬 메모리(6000)와 픽셀 버퍼(5000)를 제어하기 위한 캐쉬 및 버퍼 제어부(4000)를 포함한다.
벡터 그래픽 가속기(1000)는 래스터라이즈 셋업(Rasterize Setup) 모듈(1100), 시저 테스트(Scissor Test) 모듈(1200), 페인트 제너레이션(Paint Generation) 모듈(1300), 알파 마스크(Alpha Masking) 모듈(1400) 및 블렌딩(blending) 모듈(1500)을 포함한다.
이러한 벡터 그래픽 가속기(1000)는 각 모듈들이 파이프 라인(Pipe Line) 구조로 연결되어 그래픽 처리를 수행한다. 각 모듈들은 해당 그래픽 데이터를 생성하며, 블렌딩 모듈(1500)을 거쳐 출력된 최종 픽셀 데이터는 픽셀 캐쉬(6400)에 잠시 저장되었다가 화면으로 영상을 생성하기 위해 픽셀 버퍼(5000) 또는 프레임 버퍼에 최종 저장된다.
여기서, 래스터라이즈 셋업 모듈(1100)은 그래픽 처리를 할 대상 물체에 대한 기본 좌표값을 셋업하고, 시저 테스트 모듈(1200)은 불필요한 그래픽 부분을 검사하여 잘라낸다. 페인트 제너레이션 모듈(1300)은 각 페인트 타입에 따라 프레임 버퍼 좌표에 컬러값을 쓴다. 알파 마스크모듈(1400)은 투영 효과를 위한 알파 마스킹 처리를 하며, 블렌딩 모듈(1500)은 두 개의 텍스쳐, 예컨대 색을 합친 효과에 대한 데이터를 생성한다. 일반적으로, 그래픽 처리에 대한 실제적인 작업이 수행되는 페인트 제너레이션 모듈부터의 그래픽 처리를 렌더링 처리라고 부른다.
한편, 래스터라이즈 셋업 모듈(1100)에는 패스 생성기(Path Generation) 모듈(1150)이 포함된다. 오픈벡터 가속기(OpenVG)에서 패스 세그먼트 컴맨드(Path Segment Commands)는, 크게 직선(Straight Line), 베이지어 커브(Bezier Curves), 타원형 아크(Elliptical Arcs) 등에 대한 컴맨드로 구성된다. 이러한 패스 세그먼트 컴맨드 중 베지어 커브, 원형 아크는 직선 라인으로 재구성되며, 이러한 직선 라인들은 패스 생성기 모듈(1150)에서 채우기 규칙(Fill Rule) 적용을 위하여 소팅(Sorting)된다. 본 발명에서는 직선 라인 소팅으로 여러 소팅(Sorting) 알고리즘 중 병합정렬(Merge Sort) 방법을 이용함으로써, 메모리 액세스(Access) 빈도를 줄이고, 캐쉬 사이즈의 크기를 최소화한다.
캐쉬 메모리(6000)는 페인트 제너레이션 모듈(1300)에 이용되는 이미지 캐쉬(6100), 알파 마스크 모듈(1400)에 이용되는 알파 마스크 캐쉬(6200), 상기 블렌딩 모듈(1500)에 이용되는 알파 캐쉬(6300) 및 상기 블렌딩 모듈을 통해 최종적으로 생성된 픽셀(Pixel) 데이터를 저장하는 픽셀 캐쉬(6400)를 포함한다. 이러한 이미지, 알파 마스크, 및 알파 캐쉬(6100, 6200, 6300)들은 벡터 그래픽 가속기(1000)의 해당 모듈로 그래픽 처리를 위한 캐쉬 데이터를 제공한다. 즉, 캐쉬 메모리(6000)로의 읽기 및 쓰기(Read/Write)를 통해 데이터들이 캐쉬 메모리로 입출력된다.
캐쉬 및 버퍼 제어부(4000)는 캐쉬 메모리(6000)의 캐쉬들을 제어하기 위한 캐쉬 제어부(4100), 픽셀 버퍼(5000)를 제어하기 위한 버퍼 제어부(4300) 및 캐쉬 제어부(4100) 및 버퍼 제어부(4300)로 제어 명령을 전달하는 캐쉬 코어(4200)를 포함한다. 즉, 캐쉬 및 버퍼 제어부(4000)는 캐쉬 메모리(6000)의 각 캐쉬들과 픽셀 버퍼(5000)를 전반적으로 제어한다.
한편, 도시한 바와 같이 명령어 처리부(2000) 및 캐쉬 코어(4200)는 각각 AHB(Advanced High-Performance Bus) 슬레이브(slave) 및 마스터(master)를 통해 암 코어(ARM Core, 미도시)에 연결되어 암 코어로부터 그래픽 가속을 위한 명령어 및 데이터를 전달받는다.
도 3은 도 2의 이차원 벡터요소를 생성하는 부분의 모듈들을 좀더 상세하게 보여주는 블럭도다. 즉, 페인트 제너레이션 모듈(1300), 알파 마스킹 모듈(1400) 및 블렌딩 모듈(1500)을 좀더 상세히 보여주고 있다.
도 3을 참조하면, 먼저, 페인트 제너레이션 모듈(1300)은 각 페인트 타입에 따라 프레임 버퍼 좌표에 컬러값을 쓰는 과정을 담당한다. 이러한 페인트 제너레이션 모듈(1300)은 솔리드(Solid) 컬러 처리를 위한 솔리드부(1310), 직선 및 원형에 대한 그라디언트(Gradient) 처리를 하는 직선 그라디언트부(Linear Gradient, 1340) 및 원형 그라디언트부(Radial Gradient, 1350), 그리고 이미지부(1320) 및 패턴부(1330)를 포함한다.
여기서, 솔리드부(1310)는 대상 물체(Object)에 단일 색을 칠하고, 직선 그라디언트부(1340)는 주어진 파라메터의 두점을((x0, y0), (x1, y1))을 잇는 선과 프레임 버퍼 좌표와의 상관관계를 구해 256개의 컬러 램프(Color Ramp)값에 맵핑(Mapping) 한다. 한편, 원형 그라디언트부(1350)는 원의 센터점((cx, cy)), 포커싱점((fx, fy)), 반지름(r)을 이용하여 컬러 램프값에 맵핑한다. 패턴과 이미지부(1320, 1330)에서는 주어진 이미지에 대한 보간(Interpolation)을 수행하여 프레임 버퍼 좌표의 색을 구한다.
이와 같이 페인트 제너레이션 모듈(1300) 내의 각 컬러 처리부에서 구해진 컬러 벡터 요소에 따라, 타일스프레드(Tilespread)부(1325) 및 스프레드부(1345)에서 타일 및 스프레드 처리가 수행된다. 타일 처리로는 리플렉트(Reflect), 패드(Pad), 채우기(Fill), 반복(Repeat) 처리가 있고, 스프레드 처리에는 리플렉트, 패드, 반복 처리가 있다.
알파 마스킹부(1400)는 레지스터의 마스크 플레그(Mask Flag)를 체크하여 알 파 마스크 캐시로부터 읽어들인 알파값을 이용하여 마스킹을 한다.
마지막으로, 블렌딩 모듈(1500)은 벡터 그래픽 가속기의 최종 픽셀 블렌딩을 처리하는 과정으로서, 오픈베터(OpenVG) 가속기에서는 페인트 타입에 따라 블렌드 모드(Blend_Mode)와 블렌드_이미지 모드(Blend_Image_Mode)로 나뉜다. 각 모드는 도시된 바와 같은 여러 가지 블렌딩 처리를 수행할 수 있다.
상술한 각 모듈에 대한 기능들은 오픈벡터 가속기(OpenVG) API 표준에 규정되어 있다. 따라서, 컬러 처리나 블렌딩 처리 기법 등에 대한 더 자세한 설명은 생략한다.
본 발명의 벡터 그래픽 가속 어플리케이션 프로세서는 도 2 및 3에 도시된 바와 같이 오픈벡터 가속기(OpenVG) API 표준을 따르는 다양한 콘텐츠들을 활용할 수 있도록 설계된다. 즉, 본 발명의 어플리케이션 프로세서 내의 벡터 그래픽 가속기는 크로노스 그룹(Khronos Group)의 오픈벡터 가속기(OpenVG)의 파이프 라인 형태에 따라 API(Application Programming Interface)가 설계되고, 또한 오픈벡터 가속기(OpenVG)와 그래픽 가속기간에 대한 인터페이싱이 맞추어지도록 설계된다.
도 4는 본 발명에 또 다른 실시예에 따른 벡터 그래픽 가속방법의 과정을 보여주는 흐름도이다. 달리 말하면, 하드웨어 벡터 그래픽 가속기에 대한 전체 유한상태머신(FSM: Finite State Machine)을 보여준다고 할 수 있다. 이러한 FSM은 하드웨어 제어 및 구동을 위하여 명령어 처리부에서 각종 레지스터를 참고하여 명령과 데이터를 적절한 시간에 읽어 오는 역할을 수행한다. 그에 따라, 벡터 가속기의 그래픽 처리 속도를 향상시킨다.
도 4를 참조하면, 먼저 하드웨어(H/W) 프로세서의 아이들(idle) 상태를 체크 한다(S100). 여기서, 아이들 체크란 해당 하드웨어 프로세서가 동작 중인지 아니면 쉬고 있는 중인지를 판단하는 것을 말한다. 한편, 하드웨어 프로세서는 앞서 언급한 하드웨어 방식의 벡터 그래픽 가속기를 포함한 어플리케이션 프로세서를 의미한다.
하드웨어 프로세서가 아이들 상태인 경우, 하드웨어 방식의 벡터 그래픽 가속기를 초기화한다(S110).
다음에는 그래픽 실행에 이용되는 캐쉬의 더티(dirty) 체크를 한다(S120). 여기서, 더티 체크라 함은 한번 구동된 명령어의 재처리 여부를 판단하는 것을 말하며, 이러한 더티 체크를 가속기 실행 전에 하는 이유는 이미 한번 처리된 명령어 중 반복되는 명령어는 다시 가속기를 통해 처리할 필요 없이, 캐쉬 데이터를 이용해서 빠른 속도로 바로 처리하도록 하기 위함이다.
더티 체크 이후, 필요한 그래픽 부분만을 잘라내는 시저(scissor) 처리를 수행한다(S130). 즉, 시저 처리를 위한 데이터를 읽고 상태를 판별한 후, 해당 부분을 절단한다.
시저 처리 후에, 벡터 그래픽 가속기가 실제적인 그래픽 처리 작업, 즉 렌더링 처리를 수행한다(S140). 앞서, 도 1 ~ 3을 통해 상세히 설명한 바와 같이, 이 단계에서의 그래픽 처리는 벡터 그래픽 가속기 내의 각각의 모듈 등이 명령어 처리부 및 레지스터 셋에 연결됨으로써, 하드웨어적으로 고속의 그래픽 처리가 수행됨을 의미한다. 여기서, 도면상 렌더링이라고 표현하였는데, 이러한 렌더링 처리는 래스터라이즈 셋업 및 시저 처리를 제외한 이차원 벡터요소를 생성하는 페인트 제너레이션, 알파 마스킹, 및 블레딩 처리를 의미한다.
그래픽 처리가 완료되면, 벡터 그래픽 가속기를 클로즈(close)한다(S150). 그래픽 가속기 클로즈는 레지스터의 그래픽 상태 모드에 따라 결정된다. 도시와 바와 같이 벡터 그래픽 가속기가 클로즈 되면, 다른 그래픽 처리가 필요한 지 판단하고(S160), 필요한 경우, 다시 프로세서 아이들 체크 단계(S100)로 돌아가고, 불필요한 경우에는 그래픽 처리를 종료한다.
한편, 아이들 상태 체크 단계(S100) 이후, 그래픽 처리와는 별개로 프레임 버퍼를 클리어하는 클리어 오퍼레이션을 수행한다(S170). 이러한 클리어 오퍼레이션은 그래픽 처리 중에 수행되며, 그래픽 처리가 끝나게 되면 클리어 오퍼레이션도 종료하게 된다.
한편, 앞서 각 단계들의 수행 들 중, 아이들 체크(S100), 클리어 오퍼레이션(S170), 벡터 그래픽 가속기 클로즈(S150)는 그 종료 여부를 가속 엔진 레벨에서 프레임 별로 레지스터 값을 참조하여 미 종료시 지속적인 수행을 한다. 즉 도시한 바와 같이 계속적인 루프 백(loop back) 기능을 수행한다.
본 발명에 따른 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한 어플리케이션 프로세서 및 단말기, 및 그 프로세서에서 그래픽 가속방법은, 이에 기존의 소프트웨어 렌더링 방식을 벗어나, 하드웨어 처리기를 설계하여, 이동통신 단말기의 어플리케이션 프로세서에서 가속기를 지원함으로 소프트웨어 렌더링의 한계점을 극복하고, 동시에 빠른 수행 속도가 가능해져, 보다 나은 고품질의 벡터 콘텐츠 처리할 수 있도록 한다.
또한, 벡터 그래픽의 렌더링 부분(가속기)을 하드웨어적으로 설계하고, 소프트웨어 제어는 현재 국제적으로 표준을 인정받은 크로노스 그룹의 OpenVG의 파이프 라인 형태에 따라 API 설계하며, 또한 하드웨어 가속기간의 인터페이싱을 맞춤으로써, 오픈벡터 가속기(OpenVG) API의 표준에 맞춘 다양한 벡터 콘텐츠를 구동 가능하게 할 수 있다.
지금까지, 본 발명을 도면에 표시된 실시예를 참고로 설명하였으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1a는 본 발명의 일 실시예에 따른 벡터 그래픽 가속 어플리케이션 프로세서를 개략적으로 보여주는 블럭도이다.
도 1b는 본 발명의 다른 실시예에 따른 벡터 그래픽 가속 어플리케이션 프로세서를 개략적으로 보여주는 블럭도이다.
도 2는 도 1b의 벡터 그래픽 가속 어플리케이션 프로세서를 좀더 세부적으로 보여주는 블럭도이다.
도 3은 도 2의 이차원 벡터요소를 생성하는 부분의 모듈들을 좀더 상세하게 보여주는 블럭도이다.
도 4는 본 발명에 또 다른 실시예에 따른 벡터 그래픽 가속방법의 과정을 보여주는 흐름도이다.

Claims (25)

  1. 파이프 라인 구조로 연결되고 래스터라이즈 셋업(Rasterize Setup) 모듈, 시저 테스트(Scissor Test) 모듈, 페인트 제너레이션(Paint Generation) 모듈, 알파 마스크(Alpha Masking) 모듈 및 블렌딩(blending) 모듈 중 적어도 하나를 포함하며,
    상기 각 모듈들이 2D 벡터 그래픽 가속을 위한 하드웨어 명령어 처리부에 연결되어 동작하는 것을 특징으로 하는 하드웨어 방식의 벡터 그래픽 가속기.
  2. 제1 항에 있어서,
    상기 하드웨어 명령어 처리부는,
    상기 2D 벡터 그래픽 가속을 위한 명령어 및 데이터를 처리하는 컴맨드 코어 및 파서(Command Core and Parser); 및
    상기 명령어 및 데이터가 저장되는 레지스터 셋;을 포함하는 것을 특징으로 하는 하드웨어 방식의 벡터 그래픽 가속기.
  3. 제2 항에 있어서,
    상기 페인트 제너레이션 모듈, 알파 마스크 모듈, 및 블렌딩 모듈로 각각 캐쉬(Cashe)들이 연결되어 있고,
    상기 하드웨어 명령어 처리부는, 픽셀 데이터가 최종적으로 저장되는 픽셀 버퍼, 상기 해당 캐쉬들 및 픽셀 버퍼의 동작을 위한 명령어를 처리하는 캐쉬 코 어, 및 상기 캐쉬 코어의 명령에 따라 상기 각 캐쉬들 및 상기 픽셀 버퍼를 제어하는 캐쉬 제어부 및 버퍼 제어부를 포함하는 것을 특징으로 하는 하드웨어 방식의 벡터 그래픽 가속기.
  4. 제1 항에 있어서,
    크로노스 그룹(Khronos Group)의 오픈벡터 가속기(OpenVG) API 표준에 따르는 콘텐츠들을 활용할 수 있는 것을 특징으로 하는 하드웨어 방식의 벡터 그래픽 가속기.
  5. 제4 항에 있어서,
    상기 콘텐츠들의 활용을 위해, 상기 오픈벡터 가속기(OpenVG)의 파이프 라인 형태에 따라 API(Application Programming Interface)가 설계되어 있고, 상기 오픈벡터 가속기(OpenVG)와 그래픽 가속기간에 대한 인터페이싱이 맞추어져 있는 것을 특징으로 하는 하드웨어 방식의 벡터 그래픽 가속기.
  6. 벡터 그래픽 가속을 위한 명령어 및 데이터를 처리하는 명령어 처리부;
    상기 벡터 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋; 및
    상기 명령어 처리부의 명령을 받아 상기 벡터 그래픽 가속을 하드웨어적으로 처리하는 하드웨어 방식의 벡터 그래픽 가속기;를 포함하는 벡터 그래픽 가속 어플리케이션 프로세서.
  7. 제6항에 있어서,
    상기 벡터 그래픽 가속기는 파이프 라인 구조로 연결되고 래스터라이즈 셋업(Rasterize Setup) 모듈, 시저 테스트(Scissor Test) 모듈, 페인트 제너레이션(Paint Generation) 모듈, 알파 마스크(Alpha Masking) 모듈 및 블렌딩(blending) 모듈 중 적어도 하나를 포함하며,
    상기 각 모듈들이 상기 명령어 처리부에 연결되어 동작하는 것을 특징으로 하는 벡터 그래픽 가속 어플리케이션 프로세서.
  8. 제7 항에 있어서,
    상기 페인트 제너레이션 모듈, 알파 마스크 모듈, 및 블렌딩 모듈로 각각 캐쉬(Cashe)들이 연결되어 있고,
    상기 명령어 처리부는, 상기 명령어 및 데이터를 처리 및 파싱하는 컴맨드 코어 및 파서(Command Core and Parser), 픽셀 데이터가 최종적으로 저장되는 픽셀 버퍼, 상기 캐쉬들 및 픽셀 버퍼의 동작을 위한 명령어를 처리하는 캐쉬 코어, 및 상기 캐쉬 코어의 명령에 따라 상기 각 캐쉬들 및 상기 픽셀 버퍼를 제어하는 캐쉬 제어부 및 버퍼 제어부를 포함하는 것을 특징으로 하는 벡터 그래픽 가속 어플리케이션 프로세서.
  9. 제8 항에 있어서,
    상기 명령어 처리부의 상기 컴맨드 코어 및 파서, 및 캐쉬 코어는 AHB(Advanced High-performace Bus) 슬레이브(slave) 및 마스터(master)를 통해 암 코어(ARM Core)에 연결되어 있는 것을 특징으로 하는 벡터 그래픽 가속 어플리케이션 프로세서.
  10. 제7 항에 있어서,
    상기 벡터 그래픽 가속기는 벡터 그래픽 처리를 위하여, 상기 레지스터 셋에 저장된 각각의 값을 참조하여, 상기 페인트 제너레이션 모듈 내의 각 처리부들의 형태에 따라 벡터 패스 데이터를 생성하는 패스 제너레이션 모듈을 포함하고,
    상기 패스 제너레이션 모듈을 위한 패스 세그먼트 컴맨드(Path Segment Commands)는 직선라인(Straight Line), 베이지어 커브(Bezier Curves), 타원형 아크(Elliptical Arcs)에 대한 컴맨드를 포함하며,
    상기 패스 제너레이션 모듈은 재구성된 직선 라인들을 채우기 규칙(Fill Rule)에 적용하기 위하여, 병합정렬(Merge Sort) 방식의 소팅(sorting) 알고리즘을 통해 소팅하는 것을 특징으로 하는 벡터 그래픽 가속 어플리케이션 프로세서.
  11. 제10 항에 있어서,
    크로노스 그룹(Khronos Group)의 오픈벡터 가속기(OpenVG)의 파이프 라인 형태에 따라 API(Application Programming Interface)가 설계되어 있고, 상기 오픈벡터 가속기(OpenVG)와 그래픽 가속기간에 대한 인터페이싱이 맞추어져 있는 것을 특징으로 하는 벡터 그래픽 가속 어플리케이션 프로세서.
  12. 제7 항에 있어서,
    상기 페인트 제너제이션 모듈은 컬러 처리를 위한 솔리드(Solid)부, 이미지(Image)부, 패턴(Pattern)부, 직선 그라디언트(Linear Grandient)부, 원형 그라디언트(Radial Gradient)부를 포함하고,
    상기 블렌딩 모듈은 블렌딩 처리를 위한 블렌드 모드 및 블렌드 이미지 모드를 포함하며,
    상기 페인트 제너제이션 모듈의 각 처리부들 및 상기 블렌딩 모듈의 각 처리부들은, 크로노스 그룹의 오픈벡터 가속기 API 표준에 따른 컬러 처리 기법들 및 블렌딩 처리기법들을 통해 컬러 처리 및 블렌딩 처리를 하는 것을 특징으로 하는 벡터 그래픽 가속 어플리케이션 프로세서.
  13. 벡터 그래픽 가속 어플리케이션 프로세서의 아이들(idle) 상태를 체크하는 단계;
    하드웨어 방식의 벡터 그래픽 가속기를 초기화하는 단계;
    벡터 그래픽 가속을 수행하는 단계; 및
    상기 벡터 그래픽 가속기를 클로즈하는 단계;를 포함하는 벡터 그래픽 가속방법.
  14. 제13 항에 있어서,
    상기 가속 수행단계는,
    상기 벡터 그래픽 실행에 이용되는 캐쉬의 더티(dirty)를 체크하는 단계;
    불필요한 그래픽 부분을 잘라내는 시저(scissor) 처리를 수행하는 단계; 및
    색상 처리를 위한 렌더링 처리를 수행하는 단계;를 포함하는 것을 특징으로 하는 벡터 그래픽 가속방법.
  15. 제14 항에 있어서,
    상기 아이들(idle) 상태 체크 단계, 상기 시저(scissor) 처리 수행 단계, 및 상기 벡터 그래픽 가속기 클로즈 단계는 프레임 단위로 레지스터 값을 참조하여 계속적인 루프 백(loop back) 기능을 수행하는 것을 특징으로 하는 벡터 그래픽 가속방법.
  16. 제13 항에 있어서,
    상기 아이들 상태 체크 단계 이후 프레임 버퍼에 대한 클리어(clear) 오퍼레이션을 별개로 수행하는 것을 특징으로 하는 벡터 그래픽 가속방법.
  17. 제13 항에 있어서,
    상기 벡터 그래픽 가속을 수행하는 단계에서,
    상기 벡터 그래픽 가속은 상기 벡터 그래픽 가속기가 상기 프로세서에 포함된, 명령어 처리부의 명령을 받아 수행하는 것을 특징으로 하는 벡터 그래픽 가속방법.
  18. 제17 항에 있어서,
    상기 벡터 그래픽 가속기 내에 파이프 라인 구조로 연결되어 포함된 래스터라이즈 셋업(Rasterize Setup) 모듈, 시저 테스트(Scissor Test) 모듈, 페인트 제너레이션(Paint Generation) 모듈, 알파 마스크(Alpha Masking) 모듈 및 블렌딩(blending) 모듈들이 각각 상기 명령어 처리부에 연결되어, 상기 벡터 그래픽 가속이 수행되는 것을 특징으로 하는 벡터 그래픽 가속방법.
  19. 제18 항에 있어서,
    상기 페인트 제너레이션 모듈, 알파 마스크 모듈, 및 블렌딩 모듈로 각각 캐쉬(Cashe)들이 연결되어 있고,
    상기 벡터 그래픽 가속을 위하여, 상기 명령어 처리부 내의 컴맨드 코어 및 파서(Command Core and Parser)를 통해 명령어 및 데이터를 처리 및 파싱하며, 픽셀 버퍼에 픽셀 데이터를 최종적으로 저장하며, 캐쉬 코어를 통해 상기 캐쉬들 및 픽셀 버퍼의 동작을 위한 명령어를 처리하며, 캐쉬 제어부 및 버퍼 제어부를 통해 상기 캐쉬 코어의 명령에 따라 상기 각 캐쉬들 및 상기 픽셀 버퍼를 제어하는 것을 특징으로 하는 벡터 그래픽 가속방법.
  20. 제18 항에 있어서,
    상기 벡터 그래픽 가속을 위하여, 레지스터 셋에 저장된 명령어들을 참조하여, 패스 제너레이션 모듈에서 상기 페인트 제너레이션 모듈 내의 각 처리부들의 형태에 따라 벡터 패스 데이터를 생성하며,
    재구성된 직선 라인들을 채우기 규칙(Fill Rule)에 적용하기 위하여, 상기 패스 제너레이션 모듈에서 병합정렬(Merge Sort) 방식의 소팅(sorting) 알고리즘을 이용하여 소팅하는 것을 특징으로 하는 벡터 그래픽 가속방법.
  21. 제18 항에 있어서,
    상기 페인트 제너제이션 모듈 내에 포함된 솔리드(Solid)부, 이미지(Image)부, 패턴(Pattern)부, 직선 그라디언트(Linear Grandient)부, 원형 그라디언트(Radial Gradient)부를 통해 컬러 처리를 수행하며,
    상기 블렌딩 모듈 내에 포함된 블렌드 모드 및 블렌드 이미지 모드를 통해 블렌딩 처리를 수행하며,
    상기 페인트 제너제이션 모듈의 각 처리부들 및 상기 블렌딩 모듈의 각 처리부들은 크로노스 그룹의 오픈벡터 가속기 API 표준에 따른 컬러 처리 기법들 및 블렌딩 처리기법들을 통해 상기 컬러 처리 및 블렌딩 처리를 하는 것을 특징으로 하는 벡터 그래픽 가속방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
KR1020080036746A 2008-04-21 2008-04-21 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법 KR100948510B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020080036746A KR100948510B1 (ko) 2008-04-21 2008-04-21 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법
PCT/KR2009/002063 WO2009131349A2 (en) 2008-04-21 2009-04-21 Hardware type vector graphics accelerator
EP09734444.4A EP2269171A4 (en) 2008-04-21 2009-04-21 GRAPHIC ACCELERATOR OF VECTORIC IMAGES OF THE HARDWARE TYPE
JP2011506189A JP5215459B2 (ja) 2008-04-21 2009-04-21 ハードウェア方式のベクターグラフィックアクセラレータ
CN200980113912.7A CN102016913B (zh) 2008-04-21 2009-04-21 硬件式矢量图形加速器
US12/427,658 US20100045683A1 (en) 2008-04-21 2009-04-21 Hardware type vector graphics accelerator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080036746A KR100948510B1 (ko) 2008-04-21 2008-04-21 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법

Publications (2)

Publication Number Publication Date
KR20090111135A KR20090111135A (ko) 2009-10-26
KR100948510B1 true KR100948510B1 (ko) 2010-03-23

Family

ID=41217248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080036746A KR100948510B1 (ko) 2008-04-21 2008-04-21 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법

Country Status (6)

Country Link
US (1) US20100045683A1 (ko)
EP (1) EP2269171A4 (ko)
JP (1) JP5215459B2 (ko)
KR (1) KR100948510B1 (ko)
CN (1) CN102016913B (ko)
WO (1) WO2009131349A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101106013B1 (ko) * 2010-02-18 2012-01-17 주식회사 에이디칩스 그래픽 가속기의 에지목록 생성방법 및 이를 이용한 활성에지목록 생성방법
CN103065350A (zh) * 2011-10-18 2013-04-24 北京三星通信技术研究有限公司 利用全颜色空间的材质管线合成方法和系统
KR101338370B1 (ko) * 2012-04-27 2013-12-10 주식회사 컴퍼니원헌드레드 지피유를 이용한 2차원 벡터 그래픽스 패스의 배치 렌더링 방법
CN104361619A (zh) * 2014-10-28 2015-02-18 长沙景嘉微电子股份有限公司 一种基于水平线填充的2d图形ip核实现方法
CN104503950B (zh) * 2014-12-09 2017-10-24 中国航空工业集团公司第六三一研究所 一种面向OpenGL API的图形处理器
CN111209034B (zh) * 2020-01-13 2023-03-03 成都卓影科技股份有限公司 Tv大屏可视化动态页面配置的方法
US20240103762A1 (en) * 2022-09-23 2024-03-28 Western Digital Technologies, Inc. Automated Fast Path Processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6677953B1 (en) 2001-11-08 2004-01-13 Nvidia Corporation Hardware viewport system and method for use in a graphics pipeline
WO2006068985A2 (en) 2004-12-20 2006-06-29 Nvidia Corporation Real-time display post-processing using programmable hardware
KR20060084753A (ko) * 2005-01-20 2006-07-25 컬쳐콤. 테크놀로지(마카오) 리미티드 그래픽 렌더링 시스템 및 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226135A (en) * 1987-09-25 1993-07-06 Hitachi, Ltd. Method for sorting vector data on the basis of partial vectors and vector processor
US6762761B2 (en) * 1999-03-31 2004-07-13 International Business Machines Corporation Method and system for graphics rendering using hardware-event-triggered execution of captured graphics hardware instructions
US6894695B2 (en) * 2001-04-27 2005-05-17 National Semiconductor Corporation Apparatus and method for acceleration of 2D vector graphics using 3D graphics hardware
US6720969B2 (en) * 2001-05-18 2004-04-13 Sun Microsystems, Inc. Dirty tag bits for 3D-RAM SRAM
WO2004001709A2 (en) * 2002-06-20 2003-12-31 Alberto Baroncelli Vector graphics circuit accelerator for display systems
CN1237489C (zh) * 2003-03-18 2006-01-18 威盛电子股份有限公司 二维图形加速的系统及方法
WO2005038720A1 (en) * 2003-10-17 2005-04-28 Leapfrog Enterprises, Inc. Edge smoothing systems and methods
US20050206648A1 (en) * 2004-03-16 2005-09-22 Perry Ronald N Pipeline and cache for processing data progressively
US7446773B1 (en) * 2004-12-14 2008-11-04 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors with integrated scheduler
US7071859B1 (en) * 2005-06-30 2006-07-04 Sigmatel, Inc. System and method for scheduling access to an analog-to-digital converter and a microprocessor
WO2007015047A2 (en) * 2005-08-04 2007-02-08 Nds Limited Advanced digital tv system
US8294731B2 (en) * 2005-11-15 2012-10-23 Advanced Micro Devices, Inc. Buffer management in vector graphics hardware
US8102398B2 (en) * 2006-03-03 2012-01-24 Ati Technologies Ulc Dynamically controlled power reduction method and circuit for a graphics processor
US7973797B2 (en) * 2006-10-19 2011-07-05 Qualcomm Incorporated Programmable blending in a graphics processing unit
US8203564B2 (en) * 2007-02-16 2012-06-19 Qualcomm Incorporated Efficient 2-D and 3-D graphics processing
US7872648B2 (en) * 2007-06-14 2011-01-18 Microsoft Corporation Random-access vector graphics
US7982736B2 (en) * 2007-08-22 2011-07-19 The Boeing Company Method and apparatus for identifying differences in vector graphic files

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6677953B1 (en) 2001-11-08 2004-01-13 Nvidia Corporation Hardware viewport system and method for use in a graphics pipeline
WO2006068985A2 (en) 2004-12-20 2006-06-29 Nvidia Corporation Real-time display post-processing using programmable hardware
KR20060084753A (ko) * 2005-01-20 2006-07-25 컬쳐콤. 테크놀로지(마카오) 리미티드 그래픽 렌더링 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:한국컴퓨터그래픽스학회

Also Published As

Publication number Publication date
EP2269171A2 (en) 2011-01-05
JP2011520184A (ja) 2011-07-14
US20100045683A1 (en) 2010-02-25
JP5215459B2 (ja) 2013-06-19
WO2009131349A3 (en) 2010-01-14
WO2009131349A2 (en) 2009-10-29
CN102016913B (zh) 2014-06-18
EP2269171A4 (en) 2015-08-26
CN102016913A (zh) 2011-04-13
KR20090111135A (ko) 2009-10-26

Similar Documents

Publication Publication Date Title
KR100948510B1 (ko) 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법
JP4693660B2 (ja) 描画装置、描画方法及び描画プログラム
US6891533B1 (en) Compositing separately-generated three-dimensional images
KR102442487B1 (ko) 그래픽 처리 시스템 및 그래픽 프로세서
US9779536B2 (en) Graphics processing
US7184040B1 (en) Early stencil test rejection
US8730253B2 (en) Decomposing cubic Bezier segments for tessellation-free stencil filling
US9177351B2 (en) Multi-primitive graphics rendering pipeline
JP4157569B2 (ja) 描画装置、描画方法及び描画プログラム
JP4076502B2 (ja) ゾーン・レンダリングのための効率的なグラフィックス状態管理
US10432914B2 (en) Graphics processing systems and graphics processors
JP2010515131A (ja) ベクトルグラフィックをラスター化するプロセスにおいて境界を発生させるための方法およびシステム、ならびに、システムを製造するための方法
US6950108B2 (en) Bandwidth reduction for rendering using vertex data
CN114820853A (zh) 矢量图形的处理方法、装置、计算机设备和存储介质
ITMI20080999A1 (it) Modulo di renderizzazione per grafica a due dimensioni
US20050275760A1 (en) Modifying a rasterized surface, such as by trimming
JP5864474B2 (ja) 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
CN114241101B (zh) 三维场景渲染方法、系统、装置及存储介质
JP2011165062A (ja) 描画処理装置、描画処理方法、及びプログラム
KR100762996B1 (ko) 프로그램 기반의 3차원 그래픽 처리용 가속방법
US7355602B1 (en) Surrogate stencil buffer clearing
JP2007264866A (ja) グラフィックシステム、破線テクスチャ画像生成装置、及び、破線テクスチャ画像生成方法
JP2010256986A (ja) 描画装置および方法
JP2010256985A (ja) 描画装置および方法
Liland Path Rasterizer for OpenVG

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20080421

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20091015

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20080421

Comment text: Patent Application

PG1501 Laying open of application
A302 Request for accelerated examination
PA0302 Request for accelerated examination

Patent event date: 20091103

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20080421

Patent event code: PA03021R01I

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20091217

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20100224

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20100312

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20100315

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20130111

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20130111

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20140102

Start annual number: 5

End annual number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20160209