KR20090111134A - Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application - Google Patents

Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application Download PDF

Info

Publication number
KR20090111134A
KR20090111134A KR1020080036745A KR20080036745A KR20090111134A KR 20090111134 A KR20090111134 A KR 20090111134A KR 1020080036745 A KR1020080036745 A KR 1020080036745A KR 20080036745 A KR20080036745 A KR 20080036745A KR 20090111134 A KR20090111134 A KR 20090111134A
Authority
KR
South Korea
Prior art keywords
module
graphics
unit
blending
processing
Prior art date
Application number
KR1020080036745A
Other languages
Korean (ko)
Other versions
KR100968370B1 (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 KR1020080036745A priority Critical patent/KR100968370B1/en
Publication of KR20090111134A publication Critical patent/KR20090111134A/en
Application granted granted Critical
Publication of KR100968370B1 publication Critical patent/KR100968370B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing

Landscapes

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

Abstract

PURPOSE: A two dimensional and three dimensional graphic accelerator, an application processor including the accelerator and a graphic accelerator method of an application processor are provided to improve the availability of a memory share and reduce the area of a chip design. CONSTITUTION: A two dimensional and three dimensional graphic accelerator, an application processor including the accelerator include the two dimensional and three dimensional graphic accelerator, a command processor and a register. A two dimensional and three dimensional graphic accelerator includes a geometry engine and a rendering engine(140). The pre-processor geometry engine and post processing rendering engine are formed by a pipeline.

Description

2D 및 3D 통합 그래픽 가속기, 그 가속기를 포함한 어플리케이션 프로세서 및 그 어플리케이션 프로세서에서의 그래픽 가속방법{Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application}Graphic accelerator integrating 2D and 3D, application process comprising the same graphic accelerator, and graphic accelerating method in same application}

본 발명은 그래픽 가속기에 관한 것으로, 특히, 2D 및 3D 그래픽 처리를 통합적으로 수행할 수 있는 2D 및 3D 통합 그래픽 가속기에 관한 것이다.The present invention relates to a graphics accelerator, and more particularly, to a 2D and 3D integrated graphics accelerator capable of performing 2D and 3D graphics processing integrally.

일반적으로 3D 그래픽 처리과정은 멀티미디어 환경을 구축하기 위한 가장 핵심적인 부분이고, 보다 현실감 있는 3D 영상을 지원하기 위하여 OpneGL/ES와 같은 고성능의 전용 3D 그래픽 가속기를 필요로 한다.In general, 3D graphics processing is the most essential part of building a multimedia environment, and requires a high performance dedicated 3D graphics accelerator such as OpneGL / ES to support more realistic 3D images.

3D 그래픽 가속기는 크게 지오메트리 처리(geometry processing) 및 렌더링(rendering)으로 나뉜다. 지오메트리 처리는 주로 3D 좌표계의 물체를 시점에 따라 변환하고, 2차원 좌표계로 투영처리하는 과정을 말하고, 렌더링은 2차원 좌표계의 이미지에 색깔 값을 결정하여 프레임 버퍼에 저장하는 과정을 말한다. 이러한 지오메트리 처리부와 렌더링부는 성능을 높이기 위하여 내부의 각 모듈들이 파이프 라인화되어 있다.3D graphics accelerators are largely divided into geometry processing and rendering. Geometry processing mainly refers to a process of converting an object of a 3D coordinate system according to a viewpoint and projecting it into a 2D coordinate system, and rendering refers to a process of determining a color value in an image of a 2D coordinate system and storing it in a frame buffer. In order to increase performance, the geometry processing unit and the rendering unit are each pipelined.

한 개의 프레임에 대하여 입력되는 모든 3D 데이터에 대한 수행이 끝난 후에 프레임 버퍼에 저장된 색깔 값은 디스플레이로 보내지게 된다.After the execution of all 3D data input for one frame is finished, the color value stored in the frame buffer is sent to the display.

3D 그래픽 가속기는 입력되는 프리미티브(primitive)의 처리순서에 따라 객체순서(object order) 방식과 영상순서(image order) 방식으로 나뉜다. The 3D graphics accelerator is divided into an object order method and an image order method according to an input primitive processing order.

객체순서 방식은 입력되는 프리미티브의 순서대로 기하학 처리 과정과 렌더링 처리 과정을 거쳐서 디스플레이로 보내는 방식으로, 프리미티브 당 기하학 처리 과정과 렌더링 과정을 파이프 라인화 할 수 있기 때문에 고성능화에 유리하다. 그에 따라, 현재의 대부분의 고성능 3D 그래픽 가속기가 이 객체순서 방식을 채용하고 있다. Object ordering method is a method of sending primitives and rendering process in order of input primitives, which is advantageous for high performance because it can pipeline the geometric process and rendering process per primitive. Accordingly, most current high performance 3D graphics accelerators employ this object ordering method.

영상순서 방식은 입력되는 프리미티브를 순서대로 처리하는 것이 아니라 영상의 위치 순서에 따라 해당 위치에 속해 있는 프리미티브를 처리하는 방식으로, 고성능화보다는 저가화에 유리한 방식이다.The image ordering method is a method of processing primitives belonging to a corresponding position according to the position order of an image rather than sequentially processing input primitives, which is advantageous in terms of cost reduction rather than high performance.

여기서 프리미티브는 점, 선, 다면체(polygon)가 해당하며, 일반적인 대부분의 응용분야에서는 다면체가 프리미티브들 중에 대다수를 차지하고 있으며, 하드웨어 가속기는 이러한 다면체를 고속으로 처리하도록 구성되어 있다.Primitives include points, lines, and polygons, and in most common applications, polyhedrons make up the majority of primitives, and hardware accelerators are configured to process these polyhedrons at high speed.

한편, 2D 그래픽 처리에 주로 이용되고 있는 OpenVG와 같은 벡터 그래픽 가속기는 주어진 2차원이나 3차원 공간에 선이나 형상을 배치하고 일련의 명령어들이나 수학적 표현을 통해 디지털 이미지를 만든다.On the other hand, vector graphics accelerators such as OpenVG, which are mainly used for 2D graphics processing, arrange lines or shapes in a given two-dimensional or three-dimensional space and create digital images through a series of instructions or mathematical expressions.

현재 이러한 2D 벡터 그래픽 가속기는 이동통신 단말기 등에서 3D 그래픽 가속기와 별도로 내장되고, 또한 3D 그래픽 가속기에 사용되는 콘텐츠들과는 전혀 다 른 콘텐츠들을 사용하여 구동되고 있다. Currently, the 2D vector graphics accelerator is embedded separately from the 3D graphics accelerator in a mobile communication terminal and is driven using contents that are completely different from those used in the 3D graphics accelerator.

그러나 2D 벡터 그래픽 가속기 및 3D 그래픽 가속기의 파이프 라인을 살펴보면, 전처리 구간에 사용되는 모듈들, 픽셀 버퍼에 최종 스캔 라인된 내용을 컬러로 채우는 부분의 모듈 등의 동일 기능을 수행하는 모듈들이 공통적으로 포함되어 있음을 알 수 있다. 그에 따라, 종래의 각각의 그래픽 가속기를 포함한 이동통신 단말기 등에서는 그래픽 가속을 위한 프로세서(GPU)의 칩 설계 면적 넓고, 또한 각각의 제어부와 콘텐츠의 사용으로 인한 메모리, 캐쉬, 프레임 버퍼 등의 낭비가 심하다는 문제가 있었다.However, when looking at the pipelines of 2D vector graphics accelerators and 3D graphics accelerators, modules that perform the same functions, such as modules used in preprocessing sections and modules that fill the final scan line with color in the pixel buffer, are commonly included. It can be seen that. Accordingly, in the conventional mobile communication terminal including each graphic accelerator, the chip design area of the processor (GPU) for graphic acceleration is wide, and waste of memory, cache, frame buffer, etc. due to the use of each controller and content is eliminated. There was a serious problem.

본 발명이 해결하고자 하는 과제는 2D(Vector) 그래픽 가속기와 3D 그래픽 가속기가 동일하게 사용하는 지오메트리 처리 구간을 하나의 처리기로 합치고, 렌더링 처리부분에서도 동일한 파이프 라인을 찾아 합침으로써, 설계면적을 최소화하며, 또한, 최종 프레임 버퍼를 공유하여 메모리 낭비를 줄일 수 있고, 일원화된 명령어 처리기를 통해 두 콘텐츠를 통합하여 처리할 수 있는 2D 및 3D 통합 그래픽 가속기, 그 가속기를 포함한 어플리케이션 프로세서 및 그 어플리케이션 프로세서에서의 그래픽 가속방법을 제공하는 데에 있다.The problem to be solved by the present invention is to minimize the design area by combining the geometry processing section that the 2D (Vector) graphics accelerator and the 3D graphics accelerator use the same in one processor, and find and combine the same pipeline in the rendering process. In addition, 2D and 3D integrated graphics accelerators that can share the final frame buffer, reduce memory waste, and integrate and process both content through a unified instruction processor, the application processor including the accelerator and the application processor It is to provide a graphic acceleration method.

즉, 본 발명의 과제는 이원화된 그래픽 가속 처리기를 하나의 통합된 어플리케이션 프로세서에서 운용하는 것을 그 목적으로 하여, 각각의 그래픽 가속기에서 사용되는 연산기, 메모리 및 명령어 제어기를 하나로 합치고, 또한 최종 픽셀을 생성하는 렌더링 부분 중 동일한 연산을 처리하는 트라이앵글 셋업, 프로젝션 프로세싱, 및 리얼러제이션 등을 통합적으로 운영할 수 있는 구조를 제시하는 데에 있다.In other words, the object of the present invention is to combine the arithmetic, memory and instruction controllers used in each graphics accelerator into one, and to generate the final pixel, for the purpose of operating the binary graphics acceleration processor in one integrated application processor. The present invention aims to present a structure that can integrally operate triangle setup, projection processing, and realization that handle the same operation among rendering parts.

상기 과제를 달성하기 위하여, 본 발명은 삼차원 파이프 라인(Pipe-Line) 구조로 형성된 전처리부인 지오메트리(Geometry) 엔지; 및 삼차원 파이프 라인 구조로 형성되고 2D(Vector) 그래픽 가속을 위한 그라디언트(Gradient) 모듈 및 패스 제너레이션(Path Generation) 모듈을 구비한 후처리부인 렌더링(Rendering) 엔진;를 포함하는 통합 엔더링 엔진인 것을 특징으로 하는 2D 및 3D 통합 그래픽 가속기 를 제공한다.In order to achieve the above object, the present invention is a geometry (Geometry) engine which is a preprocessing unit formed in a three-dimensional pipe (Pipe-Line) structure; And a rendering engine which is a post-processing unit formed of a three-dimensional pipeline structure and having a gradient module and a path generation module for 2D (Vector) graphics acceleration. Features 2D and 3D integrated graphics accelerators.

본 발명에 있어서, 상기 지오메트리 엔진은 월드 트랜스폼(World Transform) 모듈, 라이트닝(Lightening) 모듈, 뷰 트랜스폼(View Transform) 모듈, 프로젝션 트랜스폼(Projection Transform) 모듈 및 클립핑(Clipping) 모듈을 포함하고, 상기 렌더링 엔진은 상기 그라디언트 모듈, 상기 패스 제너레이션 모듈, 트라이앵글 셋업(Triangle Setup) 모듈, 스판 프로세싱(Span Processing) 모듈 및 리얼라이제이션(Realization) 모듈을 포함하며, 상기 지오메트리 엔진의 상기 뷰 트랜스폼(View Transform) 모듈, 상기 프로젝션 트랜스폼 모듈 및 상기 클립핑 모듈과, 상기 렌더링 엔진의 상기 트라이앵글 셋업 모듈, 상기 스판 프로세싱 모듈 및 상기 리얼라이제이션 모듈이 상기 2D 그래픽 가속에 함께 이용될 수 있다.In the present invention, the geometry engine includes a World Transform module, a Lightening module, a View Transform module, a Projection Transform module, and a Clipping module. The rendering engine includes the gradient module, the pass generation module, a triangle setup module, a span processing module, and a realization module, wherein the view transformation of the geometry engine is performed. A transform module, the projection transform module and the clipping module, the triangle setup module of the rendering engine, the span processing module and the realization module may be used together for the 2D graphics acceleration.

상기 렌더링 엔진은, 상기 리얼라이제이션 모듈로서, 2D 및 3D 그래픽 처리에 공통으로 이용되는 맵핑(Mapping) 모듈, 블렌딩(Blending) 모듈, 및 래스터라이저(Rasterization) 모듈을 포함할 수 있다.The rendering engine may include a mapping module, a blending module, and a rasterization module commonly used for the 2D and 3D graphics processing as the realization module.

상기 맵핑 모듈은 텍스쳐 및 라이트 처리를 수행하는 텍스쳐(Texture) 맵핑부 및 라이트(Light) 맵핑부를 포함하고, 상기 그라디언트 모듈은 비트맵 방식 그래픽 처리를 하는 비트맵(Bitmap)부 및 직선 및 원형 그라디언트(색변화) 처리를 하는 직선및원형(Linear/Radial)부를 포함하며, 블렌딩 모듈은 텍스쳐, 이미지 및 알파(Alpha) 블렌딩 처리를 수행하는 텍스쳐 블렌딩부, 이미지 블렌딩부 및 알파 블렌딩부를 포함하며, 상기 래스터라이저 모듈은 알파값 및 젯-뎁스(Z-depth) 값을 테스트하는 알파 테스트부 및 뎁스 테스트부와 2D 벡터 이미지 보간을 위한 이미지 인터폴레이션(Image Interpolation)부를 포함할 수 있다.The mapping module may include a texture mapping unit and a light mapping unit that perform texture and light processing, and the gradient module may include a bitmap unit and a straight and circular gradient (eg, a bitmap type graphic processing). And a linear / radical portion for color change processing, and the blending module includes a texture blending portion, an image blending portion, and an alpha blending portion for performing texture, image, and alpha blending, and the raster The riser module may include an alpha tester and a depth tester for testing an alpha value and a Z-depth value, and an image interpolation part for 2D vector image interpolation.

본 발명에 있어서, 상기 3D 그래픽을 처리하는 경우, 상기 매핑 모듈의 텍스쳐 및 라이트 매핑부, 상기 브렌딩 모듈의 텍스쳐 블렌딩부, 상기 래스터라이저 모듈의 알파 테스트부 및 뎁스 테스트부, 상기 블렌딩 모듈의 이미지 블렌딩 및 알파 블렌딩부를 거치면서 생성된 픽셀 데이터를 픽셀 캐쉬에 저장한 후, 최종적으로 프레임 버퍼에 상기 픽셀 데이터를 저장하며, 상기 2D 그래픽을 처리하는 경우, 상기 라이트 맵핑부는 이용하지 않으며, 상기 뎁스 테스트부 대신 상기 이미지 인터폴레이션부를 이용하고, 상기 이미지 블렌딩부는 상기 이미지 인터폴레이션부 및 상기 그라디언트 모듈부에 연동하여 상기 이미지 블렌딩을 수행할 수 있다.In the present invention, when processing the 3D graphics, the texture and light mapping unit of the mapping module, the texture blending unit of the blending module, the alpha test unit and depth test unit of the rasterizer module, the image of the blending module After storing the pixel data generated through the blending and alpha blending unit in the pixel cache, and finally storing the pixel data in the frame buffer, and processing the 2D graphics, the light mapping unit is not used, the depth test The image interpolation unit may be used instead of the unit, and the image blending unit may perform the image blending in conjunction with the image interpolation unit and the gradient module unit.

한편, 상기 패스 제너제이션 모듈은 상기 3D 그래픽 가속기의 트라이앵글 모듈에 셋업에 대응하여 모듈별 솔리드(Solid), 이미지, 및 패턴에 대한 2D 패스 데이터를 생성할 수 있다. 또한, 상기 2D 및 3D 통합 그래픽 가속기 2D 및 3D 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋을 더 포함할 수 있다.Meanwhile, the pass generation module may generate 2D pass data for solids, images, and patterns for each module in response to the setup of the triangle module of the 3D graphics accelerator. In addition, the 2D and 3D integrated graphics accelerator may further include a register set for storing instructions for 2D and 3D graphics acceleration.

본 발명은 또한 상기 과제를 달성하기 위하여, 2D 및 3D 그래픽 가속을 위한 명령어 및 데이터를 처리하는 명령어 처리부; 상기 2D 및 3D 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋; 및 상기 명령어 처리부의 명령을 받아 상기 2D 및 3D 그래픽 가속을 통합적으로 처리하는 2D 및 3D 통합 그래픽 가속기;를 포함하는 통합 그래픽 가속 어플리케이션 프로세서를 제공한다.The present invention also comprises an instruction processing unit for processing instructions and data for 2D and 3D graphics acceleration to achieve the above object; A register set for storing instructions for accelerating the 2D and 3D graphics; And a 2D and 3D integrated graphics accelerator configured to receive the command of the command processor to integrally process the 2D and 3D graphics acceleration.

본 발명에 있어서, 상기 명령어 처리부는 AHB(Advanced High-performance Bus) 슬레이브(Slave)로부터 전달된 명령어들의 집합인 컴맨드 코어(Command Core), 상기 명령어들을 파싱(parsing)하는 컴맨드 파서(Command Parser)를 포함하고, 상기 레지스터 셋는 2D 또는 3D 그래픽 가속 여부에 대한 상태를 저장하는 S-레지스터를 포함할 수 있다.In the present invention, the command processing unit is a command core that is a set of instructions delivered from an advanced high-performance bus (AHB) slave, and a command parser that parses the commands. The register set may include an S-register that stores a state of whether 2D or 3D graphics is accelerated.

상기 2D 및 3D 통합 그래픽 가속기는 앞서 전술한 바와 같이 3D 그래픽 가속기를 기본으로 하여, 상기 2D 그래픽 가속에만 이용되는 2D 그래픽 처리용 모듈들을 더 포함할 수 있다. 이러한 상기 2D 및 3D 통합 그래픽 가속기는 상기 레지스터 셋 내의 S 레지스터에 저장된 상태 정보에 따라, 3D 또는 2D 그래픽 가속을 수행하고, 상기 2D 그래픽 가속의 경우, 상기 3D 그래픽 가속과 동일한 기능들은 상기 3D 그래픽 가속기 내의 모듈을 함께 이용하여 처리하고, 다른 기능들은 상기 2D 처리용 모듈을 이용하여 처리할 수 있다.The 2D and 3D integrated graphics accelerators may further include modules for 2D graphics processing used only for the 2D graphics acceleration, based on the 3D graphics accelerator as described above. The 2D and 3D integrated graphics accelerator performs 3D or 2D graphics acceleration according to the state information stored in the S register in the register set, and in the case of the 2D graphics acceleration, the same functions as the 3D graphics acceleration are the 3D graphics accelerator. Inner modules can be processed together, and other functions can be processed using the 2D processing module.

상기 2D 처리용 모듈들은 전술한 바와 같이 그라디언트(Gradient) 모듈 및 패스 제너레이션(Path Generation) 모듈을 포함할 수 있고, 만약 상기 2D 및 3D 통합 그래픽 가속기가 고라우드 세이딩(Gouraud Shading) 모듈을 포함하는 경우에는 상기 2D 그래픽 가속 중 그라디언트 수행은 상기 고라우드 세이딩 모듈을 이용하여 수행할 수도 있다.The 2D processing modules may include a gradient module and a path generation module as described above, and if the 2D and 3D integrated graphics accelerators include a Gouraud Shading module In this case, the gradient may be performed during the 2D graphic acceleration by using the go-loud shading module.

한편, 본 발명에 있어서, 상기 그래픽 가속 통합 어플리케이션 프로세서는 동종의 데이터는 동일 캐쉬(Cache) 저장하여 상기 2D 및 3D 그래픽 가속 처리에 이용할 수 있다.Meanwhile, in the present invention, the graphic acceleration integrated application processor may store the same data in the same cache and use the 2D and 3D graphics acceleration processes.

더 나아가 본 발명은 상기 과제를 달성하기 위하여, 하드웨어(H/W) 프로세서의 아이들(idle) 상태를 체크하는 단계; 2D 및 3D 통합 그래픽 가속기를 2D 또는 3D 그래픽 가속 모드로 초기화하는 단계; 2D 또는 3D 그래픽 가속을 수행하는 단계; 및 상기 2D 및 3D 통합 그래픽 가속기를 종료하는 단계;를 포함하는 통합 그래픽 가속방법을 제공한다.Furthermore, in order to achieve the above object, the present invention comprises the steps of checking the idle state of the hardware (H / W) processor; Initializing the 2D and 3D integrated graphics accelerator to a 2D or 3D graphics acceleration mode; Performing 2D or 3D graphics acceleration; And terminating the 2D and 3D integrated graphics accelerators.

본 발명에 있어서, 상기 초기화 단계 전에 상기 2D 및 3D 통합 그래픽 가속기에서 실행될 그래픽 종류를 판단하는 단계를 더 포함하고, 상기 가속 수행단계는, 상기 2D 또는 3D 그래픽 실행에 이용되는 캐쉬의 더티 체크 단계; 그래픽 처리의 전처리인 지오메트리 엔진을 실행하는 단계; 및 상기 그래픽 처리의 후처리인 렌더링 엔진을 실행하는 단계;를 포함할 수 있다. 또한, 상기 초기화 단계 이후 프레임 버퍼에 대한 클리어 오퍼레이션을 별개로 수행할 수 있다.The method may further include determining a type of graphic to be executed in the 2D and 3D integrated graphic accelerators before the initializing step, wherein the performing of the acceleration comprises: dirty checking a cache used to execute the 2D or 3D graphic; Executing a geometry engine that is a preprocess of graphics processing; And executing a rendering engine that is a post-process of the graphic processing. In addition, after the initialization step, the clear operation on the frame buffer may be separately performed.

상기 프로세서는 2D 및 3D 그래픽 가속을 위한 명령어 및 데이터를 처리하는 명령어 처리부, 상기 2D 및 3D 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋, 및 상기 명령어 처리부의 명령을 받아 상기 2D 및 3D 그래픽 가속을 통합적으로 처리하는 상기 2D 및 3D 통합 그래픽 가속기를 포함하며, 상기 가속수행 단계에서 가속 수행은 상기 명령어 처리부로부터 전달된 명령어에 따라 수행할 수 있다.The processor may receive an instruction processor for processing instructions and data for 2D and 3D graphics acceleration, a register set for storing instructions for 2D and 3D graphics acceleration, and an instruction processor for the 2D and 3D graphics acceleration. Including the 2D and 3D integrated graphics accelerator to process, the acceleration in the acceleration step may be performed according to the command transmitted from the command processor.

또한, 상기 2D 및 3D 통합 그래픽 가속기는 3D 그래픽 가속기를 기본으로 하여, 상기 2D 그래픽 가속에만 이용되는 2D 처리용 모듈들을 포함하고, 상기 2D 그래픽 가속의 경우, 상기 3D 그래픽 가속과 동일한 기능들은 상기 3D 그래픽 가속기 내의 모듈을 함께 이용하여 처리하고, 다른 기능들은 상기 2D 처리용 모듈을 이용하여 처리할 수 있다.In addition, the 2D and 3D integrated graphics accelerator, based on the 3D graphics accelerator, includes 2D processing modules used only for the 2D graphics acceleration, in the case of the 2D graphics acceleration, the same functions as the 3D graphics acceleration, the 3D The modules in the graphics accelerator can be processed together, and other functions can be processed using the 2D processing module.

본 발명에 따른 2D 및 3D 통합 그래픽 가속기, 그 가속기를 포함한 어플리케이션 프로세서 및 그 어플리케이션 프로세서에서의 그래픽 가속방법은 2D 및 3D 그래픽 처리가 동일하게 적용될 수 있는 전처리부와 후처리부가 통합적으로 설계됨으로써, 칩 설계 면적을 줄일 수 있고, 메모리 공유 활용도를 높일 수 있다.According to the present invention, a 2D and 3D integrated graphics accelerator, an application processor including the accelerator, and a graphics acceleration method in the application processor are designed by integrating a preprocessor and a post processor to which 2D and 3D graphics processing are applied in the same manner, thereby providing a chip. It can reduce the design area and increase the utilization of memory sharing.

또한, 그래픽 가속 처리를 일원화된 구조로 변경함으로써 어플리케이션 프로세서 내의 리소스(resource)의 낭비도 줄일 수 있다.In addition, by changing the graphics acceleration process to a unified structure, the waste of resources in the application processor can be reduced.

한편, 공통된 파이프 라인을 이용하여, 상이한 두 콘텐츠의 결과를 하나의 프레임 버퍼에 저장함으로써, 향후 2D 그래픽 벡터 콘텐츠와 3D 그래픽 콘텐츠가 혼합된 통합 콘텐츠에 대한 개발을 가능케 한다.On the other hand, by using a common pipeline, by storing the results of the two different content in one frame buffer, it is possible to develop the integrated content mixed with 2D graphic vector content and 3D graphic content in the future.

이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이하의 설명에서 어떤 구성 요소가 다른 구성 요소에 연결된다고 기술될 때, 이는 다른 구성 요소와 바로 연결될 수도 있지만, 그 사이에 제3의 구성 요소가 개재될 수도 있다. 또한, 도면에서 각 구성 요소의 구조나 크기는 설명의 편의 및 명확성을 위하여 과장되었고, 설명과 관계없는 부분은 생략되었다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. 한편, 사용되는 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.Hereinafter, with reference to the accompanying drawings will be described a preferred embodiment of the present invention; In the following description, when a component is described as being connected to another component, it may be directly connected to another component, but a third component may be interposed therebetween. In addition, in the drawings, the structure or size of each component is exaggerated for convenience and clarity of explanation, and parts irrelevant to the description are omitted. Like numbers refer to like elements in the figures. On the other hand, the terms used are used only for the purpose of illustrating the present invention and are not used to limit the scope of the invention described in the meaning or claims.

도 1은 3D 그래픽 가속기와 2D 그래픽 가속기의 동일 파이프 라인(Pipe Line) 구조를 설명하기 위한 블럭도로서, 3D 그래픽 가속기의 파이프 라인을 기본 으로 하여 2D 벡터 가속을 위해 동일하게 사용될 수 있는 부분을 표시(직사각형의 2점 쇄선 부분)하였다.FIG. 1 is a block diagram illustrating the same pipe line structure of a 3D graphics accelerator and a 2D graphics accelerator, and shows a part that can be equally used for 2D vector acceleration based on the pipeline of the 3D graphics accelerator. (Two-dot chain line part of a rectangle).

도 1을 참조하면, 3D 그래픽 가속기는 전처리부인 지오메트리 엔진(Geometry Engine, A)과 후처리부인 렌더링 엔진(Rendering Engine, B)을 포함한다. Referring to FIG. 1, the 3D graphics accelerator includes a geometry engine A which is a preprocessor and a rendering engine B which is a postprocessor.

지오메트리 엔진(A)은 월드 트랜스폼(World Transform) 모듈(10), 라이트닝(Lightening) 모듈(20), 뷰 트랜스폼(View Transform) 모듈(30), 프로젝션 트랜스폼(Projection Transform) 모듈(40) 및 클립핑(Clipping) 모듈(50)을 포함한다.The geometry engine A includes a World Transform module 10, a Lightening module 20, a View Transform module 30, and a Projection Transform module 40. And a clipping module 50.

월드 트랜스폼 모듈(10)은 모델의 정점들을 모델 공간(Model Space)에서 월드 공간(World Space)으로 리오리엔팅(reorienting)하고, 라이트닝 모듈(20)은 광원에서 나오는 빛이 꼭짓점에 미치는 영향을 벡터 연산하며, 뷰 트랜스폼 모듈(30)은 월드 공간을 카메라의 뷰(view)를 중심으로 한 뷰 공간(View Space)으로 변환한다. 프로젝션 트랜스폼 모듈(40)은 깊이에 대한 정보를 가지고 뷰 공간을 투영 공간(Projection Space)로 변환하며, 클립핑 모듈(50)은 스크린 상에 보이지 않게 될 부분의 정점들을 제거한다.The world transform module 10 reorients the model vertices from model space to world space, and the lightening module 20 controls the effect of light from the light source on the vertices. By vector operation, the view transform module 30 converts the world space into a view space centered on the view of the camera. The projection transform module 40 converts the view space into the projection space with the information about the depth, and the clipping module 50 removes the vertices of the portions that are not visible on the screen.

렌더링 엔진(B)은 트라이앵글 셋업(Triangle Setup) 모듈(60), 스판 프로세싱(Span Processing) 모듈(70) 및 리얼라이제이션(Realization) 모듈(80)을 포함한다. 한편, 본 발명의 2D 및 3D 통합 그래픽 가속기에는 렌더링 엔진(B)으로 2D 그래픽만을 위한 그라디언트(Gradient) 모듈 및 패스 제너레이션(Path Generation) 모듈을 더 포함하나, 그에 대해서는 도 3에서 좀더 상세히 설명한다.The rendering engine B includes a triangle setup module 60, a span processing module 70, and a realization module 80. Meanwhile, the 2D and 3D integrated graphics accelerator of the present invention further includes a gradient module and a path generation module for only 2D graphics as the rendering engine B, which will be described in more detail with reference to FIG. 3.

트라이앵글 셋업 모듈(60)은 각 물체의 기본 좌표값을 셋업한다. 즉, 메모리 부터 읽어온 삼차원 좌표 정보를 기준으로 면적과 델타값(delta, 기울기) 값을 구한다. 스판 프로세싱 모듈(70)은 트라이앵글 셋업을 거쳐 생성된 물체의 기울기와 길이를 계산하며, 리얼라이제이션 모듈(80)은 최종 물체의 색상 정보 및 각 물체의 평균값을 보간하여 출력한다. 한편, 이러한 기능을 렌더링(Rendering) 처리라고 하여 리얼라이제이션 모듈(80)을 렌더링 모듈이라고 부르기도 하고, 또한 그에 근거하여 후처리부 전체를 렌더링 엔진이라고 한다. 이러한 리얼라이제이션 모듈(80)을 통해 연산되어 출력된 결과, 즉 최종 물체에 대한 데이터는 최종 프레임 버퍼에 저장한다.Triangle setup module 60 sets up the basic coordinate values of each object. That is, the area and the delta value are calculated based on the three-dimensional coordinate information read from the memory. The span processing module 70 calculates the slope and length of the object generated through the triangle setup, and the realization module 80 interpolates and outputs the color information of the final object and the average value of each object. On the other hand, such a function is referred to as a rendering process, the realization module 80 may be referred to as a rendering module, and based on it, the entire post-processing unit is referred to as a rendering engine. The result calculated and output through the realization module 80, that is, data about the final object is stored in the final frame buffer.

지오메트리 엔진(A) 중 뷰 트랜스폼, 프로젝션 트랜스폼 및 클립핑 모듈(30, 40, 50)은 2D 벡터 그래픽 가속기에서도 동일하게 적용되는 부분이다. 그에 따라, 3D 그래픽 가속기의 지오메트리 엔진(A) 내의 월드 트랜스폼 및 라이트닝 모듈(10, 20)을 제외한 다른 모듈들은 2D 벡터 그래픽 가속에 동일하게 이용할 수 있다.The view transform, projection transform, and clipping modules 30, 40, and 50 of the geometry engine A are equally applicable to the 2D vector graphics accelerator. Accordingly, other modules except for the world transform and lightening modules 10 and 20 in the geometry engine A of the 3D graphics accelerator can equally be used for 2D vector graphics acceleration.

다만 전처리 과정 중 지오메트리 계산에 사용되는 초월함수 및 매트릭스 연산은 기존의 삼차원 그래픽 처리와 동일함으로 자세한 설명은 생략한다. 한 예로 2D 벡터 가속기의 매트릭스 연산은 삼차원 그래픽 처리에서 사용하는 방식과 동일한 열-기반(Column based) 매트릭스 처리기를 사용한다. 즉 3x3 매트릭스 연산기로서, 1,2,3,5,6,7 항의 요소만 사용하며, 9, 10, 11항에는 0,0,1의 값을 이용한다. 이와 같이 2D 벡터 가속기의 매트릭스 연산은 소프트웨어에서 필요한 부분만 취하고 나머지 항은 기본 값으로 레지스터에 셋하는 과정으로 이뤄질 수 있다.However, the transcendental functions and matrix operations used in the geometry calculation during the preprocessing are the same as the conventional three-dimensional graphic processing, and thus detailed description thereof is omitted. As an example, the matrix operation of the 2D vector accelerator uses the same column-based matrix processor as that used in three-dimensional graphics processing. That is, as a 3x3 matrix operator, only the elements of 1,2,3,5,6,7 terms are used, and the values of 0,0,1 are used for the 9, 10, and 11 terms. As such, the matrix operation of the 2D vector accelerator can be accomplished by taking only the necessary parts of the software and setting the rest of the terms in registers as default values.

한편, 렌더링 엔진(B)의 각 모듈들도 역시 2D 벡터 그래픽 가속에 공통적으 로 사용될 수 있다. 렌더링 엔진(B)에 대한 설명은 도 3부분에서 좀더 자세히 설명한다.Meanwhile, each module of the rendering engine B may also be commonly used for 2D vector graphics acceleration. The rendering engine B will be described in more detail later with reference to FIG. 3.

따라서, 3D 그래픽 가속기를 기본으로 하여 그 3D 그래픽 가속기에 2D 벡터 그래픽 가속에만 사용되는 모듈들을 포함시킴으로써, 2D 및 3D 통합 그래픽 가속기를 구현할 수 있다. 통합 그래픽 가속기에 포함되는 2D 벡터 그래픽용 모듈들도 기존 모듈들과 파이프 라인 구조를 형성하여야 함은 물론이다.Thus, by incorporating modules used only for 2D vector graphics acceleration on the basis of the 3D graphics accelerator, 2D and 3D integrated graphics accelerators can be realized. The modules for 2D vector graphics included in the integrated graphics accelerator also need to form a pipeline structure with the existing modules.

한편, 이러한 2D 및 3D 통합 그래픽 가속기는 그래픽 공유 가속 처리를 위한 어플리케이션 프로세서 내로 수용되어 이동통신 단말기에 내장되며, 각각의 처리를 담당하는 소프트웨어 드라이버(Software Driver)에 의해 관리되도록 할 수 있다. 이러한 각 소프트웨어 드라이버는 그 특성에 해당되는 API인 OpenGL/ES와 OpenVG의 표준을 따라 EGL(Embedded Graphic Library)과 연동되어 통합된 프레임 버퍼를 이용하도록 할 수 있다. Meanwhile, the 2D and 3D integrated graphics accelerators may be accommodated in an application processor for graphic sharing acceleration processing, embedded in a mobile communication terminal, and managed by a software driver in charge of each process. Each of these software drivers can use the integrated frame buffer by interworking with the Embedded Graphic Library (EGL) according to the standards of OpenGL / ES and OpenVG, which are APIs corresponding to the characteristics.

결국, 본 발명에 따른 2D 및 3D 그래픽 통합 가속기는 서로 다른 특성을 가진 그래픽 가속을 동일 처리기로 공유하여 구동하게 함으로써, 설계 면적을 줄일 수 있고, 동시에 프레임 버퍼를 함께 이용하게 함으로써, 메모리 효율을 높일 수 있다.As a result, the 2D and 3D integrated graphics accelerator according to the present invention can share the graphics acceleration with different characteristics to the same processor to drive the design area, and simultaneously use the frame buffer to increase the memory efficiency Can be.

도 2a는 본 발명의 일 실시예에 따른 통합 그래픽 가속 어플리케이션 프로세서에 대한 블럭도이다.2A is a block diagram of an integrated graphics acceleration application processor according to an embodiment of the present invention.

도 2a를 참조하면, 본 실시예에 따른 통합 그래픽 가속 어플리케이션 프로세서는 2D 및 3D 통합 그래픽 가속기(100), 명령어 처리부(200), 및 레지스터 셋(300)을 포함한다.Referring to FIG. 2A, the integrated graphics acceleration application processor according to the present embodiment includes a 2D and 3D integrated graphics accelerator 100, an instruction processor 200, and a register set 300.

2D 및 3D 통합 그래픽 가속기(100)는 지오메트리 엔진(120)과 렌더링 엔진(140)을 포함한다. 지오메트리 엔진(120)은 도 1의 지오메트리 엔진(120)과 동일하다. 한편 렌더링 엔진(140)의 경우, 앞서 도 1의 렌더링 엔진에 2D 벡터 그래픽 가속을 위한 모듈들이 더 포함된다. 이러한 렌더링 엔진(140)에 대해서는 도 3부분에서 좀더 상세히 설명한다.The 2D and 3D integrated graphics accelerator 100 includes a geometry engine 120 and a rendering engine 140. The geometry engine 120 is identical to the geometry engine 120 of FIG. 1. Meanwhile, in the case of the rendering engine 140, the rendering engine of FIG. 1 further includes modules for accelerating 2D vector graphics. The rendering engine 140 will be described in more detail with reference to FIG. 3.

명령어 처리부(200)는 AHB(Advanced High-performance Bus) 슬레이브(Slave)로부터 전달된 데이터 및 명령어들을 실행하는 컴맨드 코어(Command Core. 220), 및 상기 명령어들을 파싱(parsing)하는 컴맨드 파서(Command Parser, 240)를 포함한다. 이러한 명령어 처리부(200)는 통합 그래픽 가속기(100)를 제어하는 데이터 및 명령어들을 처리한다. 여기서, AHB 슬레이브는 암 코어(ARM Core)와 어플리케이션 프로세서 간에 연결된 고성능 신호처리를 위한 버스로서, 어플리케이션 프로세서를 제어하는 명령어와 데이터를 전달한다. 전달받은 데이터와 명령어들은 각각의 레지스터에 저장되거나 혹은 명령어 처리부(200)의 컴맨드 코어(22) 엔진으로 전달되고 컴맨드 파서(240)를 통해 파싱된다.The command processor 200 may include a command core 220 that executes data and instructions transmitted from an advanced high-performance bus (AHB) slave, and a command parser that parses the instructions. Command Parser, 240). The instruction processor 200 processes data and instructions for controlling the integrated graphics accelerator 100. Here, the AHB slave is a bus for high-performance signal processing connected between an ARM core and an application processor, and transfers commands and data for controlling the application processor. The received data and instructions are stored in respective registers or are transmitted to the command core 22 engine of the instruction processor 200 and parsed through the command parser 240.

한편, 레지스터 셋(300)으로는 2D 및 3D 그래픽 가속을 위한 명령어들이 저장된다. 한편, 이러한 레지스터 셋(300)은 2D 및 3D 통합 그래픽 가속기의 2D 또는 3D 그래픽 가속 여부에 대한 상태를 저장하는 S-레지스터(Status Register, 320)를 포함한다. 따라서, 2D 및 3D 통합 그래픽 가속기는 S-레지스터(320)에 저장된 그래픽 정보에 따라 그래픽 모드를 2D 또는 3D 그래픽 모드로 초기화하여 2D 벡터 그래 픽 가속 또는 3D 그래픽 가속을 수행하게 된다.The register set 300 stores instructions for accelerating 2D and 3D graphics. On the other hand, the register set 300 includes an S-register (Status Register) 320 that stores the status of whether 2D or 3D graphics acceleration of the 2D and 3D integrated graphics accelerator. Therefore, the 2D and 3D integrated graphics accelerators initialize the graphics mode to 2D or 3D graphics mode according to the graphics information stored in the S-register 320 to perform 2D vector graphics acceleration or 3D graphics acceleration.

즉, 컴맨드 코어(220)가 S-레지스터(320)에 저장된 그래픽 상태에 대한 레지스터 값을 읽고, 그에 따라 레지스터 셋에 저장된 2D 벡터 그래픽 레지스터 값 또는 3D 그래픽 레지스터 값들은 참조하여 통합 그래픽 가속기(100)가 2D 벡터 그래픽 가속 또는 3D 그래픽 가속을 수행하도록 한다. 컴맨드 코어(220)는 어느 하나의 그래픽 처리를 위한 마지막 명령 수행까지 S-레지스터 값을 참조한다.That is, the command core 220 reads the register value for the graphics state stored in the S-register 320 and accordingly refers to the 2D vector graphics register value or the 3D graphics register values stored in the register set with reference to the integrated graphics accelerator 100. ) Performs 2D vector graphics acceleration or 3D graphics acceleration. The command core 220 refers to the S-register value until the last instruction execution for any one graphic processing.

본 발명의 통합 그래픽 가속 어플리케이션 프로세서는 통합된 명령어 처리부(200), S-레지스터(320) 및 2D 및 3D 그래픽 통합 가속기(100)를 포함함으로써, 2D 벡터 그래픽 가속과 3D 그래픽 가속을 통합적으로 수행할 수 있다.The integrated graphics acceleration application processor of the present invention includes an integrated instruction processor 200, an S-register 320, and a 2D and 3D graphics integrated accelerator 100 to integrate 2D vector graphics acceleration and 3D graphics acceleration. Can be.

도 2b는 본 발명의 다른 실시예에 따른 통합 그래픽 가속 어플리케이션 프로세서에 대한 블럭도이다.2B is a block diagram of an integrated graphics acceleration application processor according to another embodiment of the present invention.

도 2b를 참조하면, 본 실시예의 통합 그래픽 가속 어플리케이션 프로세서는 도 2a와 유사하나, 레지스터 셋(300)이 2D 및 3D 통합 그래픽 가속기(100a) 내부로 포함된 구조를 갖는다. 레지스터 셋(300)이 실행될 그래픽 상태 정보를 저장하는 S-레지스터(320)를 포함함은 물론이다.Referring to FIG. 2B, the integrated graphics acceleration application processor of the present embodiment is similar to FIG. 2A, but has a structure in which the register set 300 is included in the 2D and 3D integrated graphics accelerator 100a. It goes without saying that register set 300 includes an S-register 320 that stores graphics state information to be executed.

본 실시예의 각 구성요소나 기능 등은 도 2a에서와 동일하므로 그에 대한 설명은 생략한다.Since each component or function of the present embodiment is the same as in FIG. 2A, a description thereof will be omitted.

도 3은 도 2a의 렌더링 엔진을 좀더 상세하게 보여주는 블럭도이다.3 is a block diagram illustrating the rendering engine of FIG. 2A in more detail.

도 3을 참조하면, 렌더링 엔진(140)은 맵핑(Mapping) 모듈(110), 그라디언트(Gradient) 모듈(160), 블렌딩(Blending) 모듈(130), 패스 제너레이션(Path Generation) 모듈(170), 및 래스터라이저(Rasterization) 모듈(150)을 포함한다. 물론, 렌더링 엔진(140)으로 트라이앵글 셋업 모듈, 및 스판 프로세싱 모듈이 더 포함되나 그에 대한 도시는 생략하였다.Referring to FIG. 3, the rendering engine 140 may include a mapping module 110, a gradient module 160, a blending module 130, a path generation module 170, And a rasterization module 150. Of course, the rendering engine 140 further includes a triangle setup module and a span processing module, but illustration thereof is omitted.

맵핑 모듈(110)은 텍스쳐 맵핑 및 라이트 맵핑을 수행하는 텍스쳐(Texture) 맵핑부(112) 및 라이트(Light) 맵핑부(114)를 포함한다. 여기서, 2D 그래픽 가속 시에는 라이트 맵핑부(114)는 사용되지 않는다. 따라서, 전처리부를 통해서 거쳐 들어온 이미지는 3D 그래픽 가속의 경우, 텍스쳐 캐쉬(410) 및 라이트 캐쉬(420)로부터 해당 이미지 데이터를 읽어 텍스쳐 맵핑부(112) 및 라이트 맵핑부(114)를 통해 각각 맵핑 처리되며, 2D 벡터 그래픽 가속의 경우에는 텍스쳐 매핑만이 수행된다.The mapping module 110 includes a texture mapping unit 112 and a light mapping unit 114 that perform texture mapping and light mapping. Here, the light mapping unit 114 is not used at the time of 2D graphics acceleration. Therefore, in the case of 3D graphics acceleration, the image entered through the preprocessing unit reads the corresponding image data from the texture cache 410 and the light cache 420 and processes the mapping through the texture mapping unit 112 and the light mapping unit 114, respectively. In the case of 2D vector graphics acceleration, only texture mapping is performed.

한편, 그라디언트 모듈(160)은 비트맵 방식으로 색상을 처리하는 비트맵(Bitmap)부(162) 및 직선 및 원형 그라디언트 처리를 하는 직선및원형(Linear/Radial, 164))부를 포함한다. 여기서, 그라디언트 처리라 함은, 주어진 입력 색상(전처리기에서 처리한 레지스터 값)을 보고 각 구간별 동일한 색으로 옵셋(offset) 값을 주어 색의 경계를 만들면서 부드럽게 처리하는 것을 말한다. 이러한 그라디언트 처리는 2D 벡터 그래픽 처리를 함에 있어 색의 효과를 주기 위해 사용되기 때문에 그라디언트 모듈(160)은 2D 그래픽 가속에만 이용된다.On the other hand, the gradient module 160 includes a bitmap unit 162 for processing color in a bitmap manner and a linear and circular unit 164 for linear and circular gradient processing. Here, the gradient processing refers to a smooth processing while creating a boundary of colors by looking at a given input color (register value processed by the preprocessor) and giving an offset value to the same color for each section. Since the gradient processing is used to give the effect of color in the 2D vector graphics processing, the gradient module 160 is used only for 2D graphics acceleration.

한편, 3D 그래픽 가속기에 고라우드 세이딩(Gouraud Shading) 모듈을 포함하는 경우에는 고라우드 쉐이딩을 이용하여 그라디언트를 처리가능하므로, 그라디언트 모듈을 생략할 수도 있다.Meanwhile, when the 3D graphics accelerator includes a Gouraud Shading module, the gradient module may be processed by using the Gourad shading, and thus the gradient module may be omitted.

블렌딩 모듈(130)은 쉐이더(Shader, 500)를 통해 텍스쳐(Texture), 이미지 및 알파(Alpha) 블렌딩 처리를 수행하는 텍스쳐 블렌딩부(132), 이미지 블렌딩부(134) 및 알파 블렌딩부(136)를 포함한다. 이러한 블렌딩 모듈(130)은 2D 및 3D 그래픽 처리 중 각각의 물체에 대한 최종 이미지 컬러 색상을 섞어 프레임 버퍼에 저장하는 기능을 한다. 여기서, 알파 블렌딩은 두 개의 텍스쳐를 합칠 때 투영 효과를 주는 블렌딩 기법의 한 종류로, 물이나 유리와 같은 투명한 매질의 속성을 주기 위한 처리이다.The blending module 130 may include a texture blending unit 132, an image blending unit 134, and an alpha blending unit 136 that perform texture, image, and alpha blending processing through a shader 500. It includes. The blending module 130 functions to mix the final image color color of each object during the 2D and 3D graphics processing and to store it in the frame buffer. Here, alpha blending is a kind of blending technique that gives a projection effect when combining two textures, and is a process for giving a property of a transparent medium such as water or glass.

한편, 3D 그래픽 처리에서 사용하는 텍스쳐 블렌딩과 2D 벡터 그래픽 처리에 사용하는 이미지 블렌딩의 기능은 각각 유사하나, 이를 별도로 처리하도록 하였다. 이는 2D 벡터 그래픽 처리기의 다양한 이미지 포맷을 수용할 수 있도록 하고, 또한, 상위 블록인 그라디언트 모듈(160)의 비트맵 이미지를 생성하는 구간이 3D 그래픽 처리와는 다르기 때문이며, 더 나아가, 이미지 블렌딩은 2D 벡터 그래픽 처리에서 패스를 생성하는 부분(패스 제너레이션)과 밀접하게 연관되어 속성이 부여되므로 이미지 블렌딩을 따로 두어 처리하는 것이 바람직하기 때문이다.Meanwhile, the functions of texture blending used in 3D graphics processing and image blending used in 2D vector graphics processing are similar, but they are separately processed. This is because the 2D vector graphics processor can accommodate various image formats, and also because the interval for generating a bitmap image of the gradient module 160, which is the upper block, is different from 3D graphics processing, and furthermore, the image blending is 2D. This is because it is preferable to process image blending separately because attributes are assigned in close association with a part (path generation) that generates a path in vector graphics processing.

패스 제너레이션 모듈(170)은 2D 벡터 그래픽 처리에서 중점적인 역할을 담당하는데, 패스 데이터 캐쉬(440)에서 2D 그래픽 처리를 위한 x축, y축의 값을 읽어와 레지스터 셋에 저장된 각각의 값을 보고 각 모듈별 형태에 따라 2D 패스 데이터를 생성한다.The pass generation module 170 plays a central role in 2D vector graphics processing. The pass data cache 440 reads the values of the x and y axes for 2D graphics processing, and views each value stored in the register set. Generate 2D path data according to the module type.

즉, 패스 제너레이션 모듈(170)은 3D 그래픽 가속기의 트라이앵글 모듈의 셋업 처리에 대응하여 패스 데이터 캐쉬(440)의 데이터를 이용하여 모듈별 솔리 드(Solid), 이미지, 및 패턴(172, 174, 176)에 대한 2D 패스 데이터를 생성한다. 이러한 패스 데이터들이 앞서 이미지 블렌딩에 사용됨은 물론이다.That is, the path generation module 170 uses the data of the path data cache 440 to correspond to the setup process of the triangle module of the 3D graphics accelerator, and uses the data of the solid, image, and pattern for each module 172, 174, and 176. Generate 2D pass data for). These path data are of course used for image blending earlier.

한편, 패스 제너레이션 모듈(170)에서 사용된 패스 데이터 캐쉬(440)는 3D 그래픽 가속에서 메모리로부터 삼차원 데이터를 읽어 오는 부분과 동일하게 설계되어 사용된다. 이는 2D 벡터 그래픽 가속기는 3D 그래픽 가속기와 달리 z축 좌표(깊이 좌표)값이 필요치 않으며, 그에 따라 동일한 캐쉬를 사용하는 경우, 데이터를 읽고 처리하는 속도가 삼차원보다 월등히 빠르다는 장점이 있기 때문이다. 또한, 패스 데이터 캐쉬(440)를 공통으로 이용하는 경우, 메모리 절감할 수 있고, 읽고/쓰기(Read/Write) 명령어를 줄임으로써, 가속 속도 면에서도 매우 큰 장점을 갖는다.On the other hand, the pass data cache 440 used in the pass generation module 170 is designed and used in the same way as reading the 3D data from the memory in 3D graphics acceleration. This is because 2D vector graphics accelerators do not require z-axis coordinates (depth coordinates), unlike 3D graphics accelerators. Thus, when the same cache is used, the speed of reading and processing data is much faster than that of three dimensions. In addition, when the pass data cache 440 is used in common, memory can be saved, and by reducing the read / write instruction, there is a great advantage in terms of acceleration speed.

상기 래스터라이저 모듈(150)은 알파값 및 젯-뎁스(z-depth) 값을 테스트하는 알파 테스트부(152) 및 뎁스 테스트부(154)와 2D 벡터 이미지 보간을 위한 이미지 인터폴레이션(Image Interpolation, 156)부를 포함한다.The rasterizer module 150 includes an image interpolation 156 for interpolating a 2D vector image with an alpha tester 152 and a depth tester 154 that test an alpha value and a z-depth value. It includes).

여기서, 알파 테스트부(152)는 2D 및 3D 그래픽의 알파 값을 통합적으로 테스트하여 처리하는데, 이러한 알파 테스트부(252) 또한 2D 벡터 그래픽에서는 z축 값을 필요치 않으므로, 기존 3D 그래픽에서의 알파 테스트에 비해 빠른 속도로 2D 알파 테스트를 수행할 수 있다. 결국, 별도의 블록을 설계치 아니하고 하나의 알파 테스트부(252)를 통해 2D 및 3D 그래픽의 통합 알파 테스트 처리가 가능하다.Here, the alpha tester 152 integrates and tests the alpha values of the 2D and 3D graphics, and the alpha tester 252 also does not need the z-axis value in the 2D vector graphics, so the alpha test in the existing 3D graphics is performed. Compared to the 2D alpha test can be faster. As a result, integrated alpha test processing of 2D and 3D graphics is possible through one alpha test unit 252 without designing a separate block.

블렌딩 엔진(140) 내의 모든 모듈들을 거친 파이프 라인의 흐름은 최종적으로 동일하게 사용되는 프레임 버퍼(600))에 최종 픽셀 데이터를 저장한 후, 이를 LCD 등의 화면으로 인터페이스를 통해 출력하는 과정을 거친다.The pipeline flow through all the modules in the blending engine 140 finally stores the final pixel data in the frame buffer 600, which is used in the same manner, and then outputs the final pixel data through an interface to a screen such as an LCD. .

이와 같이 구성된 렌더링 엔진(140)의 기능을 순차적으로 살펴보면, Looking at the function of the rendering engine 140 configured in this way,

먼저, 3D 그래픽을 처리하는 경우, 매핑 모듈(110)의 텍스쳐 및 라이트 매핑부(112, 114)를 통해 텍스쳐 및 라이트 맵핑을 수행하고, 다음, 브렌딩 모듈(130)의 상기 텍스쳐 블렌딩부(132)에서 텍스쳐 블렌딩을 수행한다. 다음으로 래스터라이저 모듈(150)에서 알파 테스트 및 뎁스 테스트를 거쳐, 다시 블렌딩 모듈(130)의 이미지 블렌딩부(134)에서 이미지 블렌딩이, 그리고 알파 블렌딩부(136)에서 알파 블렌딩이 수행된다. 알파 블렌딩이 수행되어 생성된 픽셀 데이터를 픽셀 캐쉬(430)에 저장한 후, 최종적으로 프레임 버퍼(600)에 그 픽셀 데이터를 저장한다.First, in the case of processing 3D graphics, texture and light mapping are performed through the texture and light mapping units 112 and 114 of the mapping module 110, and then the texture blending unit 132 of the blending module 130 is performed. ) To perform texture blending. Next, after the alpha test and the depth test in the rasterizer module 150, image blending is performed in the image blending unit 134 of the blending module 130, and alpha blending is performed in the alpha blending unit 136. After alpha blending is performed, the generated pixel data is stored in the pixel cache 430, and finally, the pixel data is stored in the frame buffer 600.

한편, 2D 그래픽을 처리하는 경우에도 과정은 3D 그래픽 처리와 유사하게 진행된다. 그러나 라이트 맵핑부(114)는 이용되지 않으며, 뎁스 테스트부(154) 대신 이미지 인터폴레이션부(156)가 이용된다. 또한, 이미지 블렌딩부(134)는 이미지 인터폴레이션부(156) 및 상기 그라디언트 모듈부(160)에 연동하여 상기 이미지 블렌딩을 수행한다.On the other hand, even in the case of processing 2D graphics, the process proceeds similarly to 3D graphics processing. However, the light mapping unit 114 is not used, and the image interpolation unit 156 is used instead of the depth test unit 154. In addition, the image blending unit 134 performs the image blending in conjunction with the image interpolation unit 156 and the gradient module unit 160.

본 발명에 따른 통합 그래픽 가속 어플리케이션 프로세서는 단일화된 렌더링 엔진을 포함한다. 즉, 렌더링 엔진은 크게 3D 그래픽 가속기 모듈과, 2D 벡터 그래픽 가속을 위한 모듈을 함께 포함한다. 그에 따라, 종래 3D 그래픽 가속기 모듈과, 2D 벡터 그래픽 가속기가 각각의 블록으로 이루어져 발생했던, 설계 면적의 낭비, 메모리 낭비 등의 문제를 해결할 수 있고, 또한 공통된 파이프 라인을 이용하여, 상이한 두 콘텐츠의 결과를 하나의 프레임 버퍼에 저장함으로써, 향후 2D 그래픽 벡터 콘텐츠와 3D 그래픽 콘텐츠가 혼합된 통합 콘텐츠에 대한 개발을 가능케 한다.The integrated graphics acceleration application processor according to the present invention includes a unified rendering engine. That is, the rendering engine largely includes a 3D graphics accelerator module and a module for 2D vector graphics acceleration. Accordingly, the conventional 3D graphics accelerator module and the 2D vector graphics accelerator, which are made up of individual blocks, can solve problems such as waste of design area, memory waste, and the like. By storing the results in one frame buffer, it is possible to develop integrated content in which 2D graphic vector content and 3D graphic content are mixed in the future.

도 4는 본 발명의 또 다른 실시예에 따른 통합 그래픽 가속 어플리케이션 프로세서를 이용한 통합 그래픽 처리 과정을 보여주는 흐름도이다.4 is a flowchart illustrating an integrated graphics processing process using an integrated graphics acceleration application processor according to another embodiment of the present invention.

도 4를 참조하면, 먼저 하드웨어(H/W) 프로세서의 아이들(idle) 상태를 체크한다(S100). 여기서, 아이들 체크란 해당 하드웨어 프로세서가 동작 중인지 아니면 쉬고 있는 중인지를 판단하는 것을 말한다. 한편, 하드웨어 프로세서는 앞서 언급한 2D 및 3D 통합 그래픽 가속기, 통합 명령어 처리부, 및 레지스터 셋을 포함한 2D 및 3D 통합 그래픽 가속 어플리케이션을 의미한다. Referring to FIG. 4, first, an idle state of a hardware (H / W) processor is checked (S100). Here, the idle check refers to determining whether the corresponding hardware processor is operating or resting. On the other hand, a hardware processor refers to a 2D and 3D integrated graphics acceleration application including the aforementioned 2D and 3D integrated graphics accelerator, an integrated instruction processor, and a register set.

하드웨어 프로세서가 아이들 상태인 경우, 2D 및 3D 통합 그래픽 가속기에서 실행될 그래픽 종류를 판단한다(S110). 즉, 앞서 언급한 레지스터 셋에 포함된 S-레지스터를 체크하여 실행될 그래픽 처리가 2D(OpenVG) 그래픽 처리인지 아니면 3D(OpenGLES) 그래픽 처리인지를 판별한다.If the hardware processor is in the idle state, it determines the type of graphics to be executed in the 2D and 3D integrated graphics accelerator (S110). That is, the S-register included in the register set mentioned above is checked to determine whether the graphics processing to be executed is 2D (OpenVG) graphics processing or 3D (OpenGLES) graphics processing.

S-레지스터의 체크에 따라, 2D 및 3D 통합 그래픽 가속기를 2D 또는 3D 그래픽 가속 모드로 초기화한다(S120a, S120b). 즉, S-레지스터 값이 2D 그래픽 모드일 경우에는 2D 및 3D 통합 그래픽 가속기를 2D 그래픽 모드로 초기화하고, S-레지스터 값이 3D 그래픽 모드일 경우에는 2D 및 3D 통합 그래픽 가속기를 3D 그래픽 모드로 초기화한다.According to the check of the S-register, the 2D and 3D integrated graphics accelerators are initialized to the 2D or 3D graphics acceleration modes (S120a and S120b). In other words, if the S-register value is in 2D graphics mode, the 2D and 3D integrated graphics accelerator is initialized to 2D graphics mode. If the S-register value is in 3D graphics mode, the 2D and 3D integrated graphics accelerator is initialized to 3D graphics mode. do.

다음에는 2D 또는 3D 그래픽 실행에 이용되는 캐쉬의 더티 체크를 한다(S130). 여기서, 더티 체크라 함은 한번 구동된 명령어의 재처리 여부를 판단하 는 것을 말하며, 이러한 더티 체크를 가속기 실행 전에 하는 이유는 이미 한번 처리된 명령어 중 반복되는 명령어는 다시 가속기를 통해 처리할 필요없이, 캐쉬 데이터를 이용해서 빠른 속도로 바로 처리하도록 하기 위함이다.Next, a dirty check of the cache used to execute 2D or 3D graphics is performed (S130). Here, dirty check refers to determining whether to reprocess a command that has been driven once. The reason for performing such a dirty check before executing an accelerator is that the repeated command among the already processed commands does not need to be processed again through the accelerator. In order to process the data quickly using cache data.

더티 체크 이후, 실제적인 그래픽 처리가 수행되는데, 즉, 그래픽 처리의 전퍼리인 지오메트리 엔진이 실행되며(S140), 다음 그래픽 처리의 후처리인 렌더링 엔진이 실행된다(S150). 여기서, 지오메트리 엔진 처리는, 2D 그래픽의 경우, 필요한 그래픽 부분만을 잘라내는 시저(scissor) 처리를 의미하기도 한다. 즉, 2D 그래픽의 경우, 시저 처리를 위한 데이터를 읽고 상태를 판별한 후, 해당 부분을 절단한다.After the dirty check, the actual graphics processing is performed, that is, the geometry engine that is a preprocess of the graphics processing is executed (S140), and the rendering engine that is the postprocessing of the next graphics processing is executed (S150). Here, in the case of 2D graphics, the geometry engine processing may mean a scissor processing of cutting out only necessary graphic portions. That is, in the case of 2D graphics, the data for the procedure is read, the state is determined, and the corresponding part is cut.

렌더링 처리 단계에서는 앞서, 도 1 ~ 3을 통해 상세히 설명한 바와 같이, 2D 및 3D 통합 그래픽 가속기 내의 각각의 모듈 등을 통해 영상으로 표현할 물체에 대한 최종 픽셀 데이터를 생성하여, 프레임 버퍼에 저장한다. 여기서, 도면상 렌더링이라고 표현하였는데, 이는 앞서의 트라이앵글 셋업, 그라디언트, 패스 제너레이션 등의 모든 과정을 포함하는 개념이며, 또한 지오메트리 처리 과정까지도 포함하는 개념으로 사용되었다.In the rendering processing step, as described above with reference to FIGS. 1 to 3, final pixel data of an object to be represented as an image is generated and stored in a frame buffer through respective modules in the 2D and 3D integrated graphics accelerators. Here, it is referred to as rendering in the drawing, which is a concept that includes all the processes of triangle setup, gradient, path generation, and the like, and is used as a concept that includes a geometry process.

2D 또는 3D 그래픽 처리가 완료되면, 2D 및 3D 통합 그래픽 가속기를 종료한다(S160a, S160b). 이러한 2D 및 3D 통합 그래픽 가속기 종료 역시 S-레지스터의 그래픽 모드 상태를 참조하여 수행한다. 도시와 바와 같이 2D 및 3D 통합 그래픽 가속기가 종료되면, 다른 2D 또는 3D 그래픽 처리가 필요한지 체크하여(S170), 또 다른 그래픽 처리가 필요하면, 다시 프로세서 아이들 체크 단계(S100)로 돌아가고, 불필요한 경우는 그래픽 처리를 완전히 종료한다.When 2D or 3D graphics processing is completed, the 2D and 3D integrated graphics accelerators are terminated (S160a and S160b). This 2D and 3D integrated graphics accelerator termination is also performed by referring to the graphics mode state of the S-register. As shown in the figure, when the 2D and 3D integrated graphics accelerator is finished, it is checked whether another 2D or 3D graphics processing is required (S170), and if another graphics processing is required, the process returns to the processor idle check step (S100) again. Completely terminate graphics processing.

한편, 초기화 단계(S120a, S120b) 이후, 그래픽 처리와는 별개로 프레임 버퍼를 클리어하는 클리어 오퍼레이션을 수행한다(S180). 이러한 클리어 오퍼레이션은 그래픽 처리 중에 수행되며, 그래픽 처리가 끝나게 되면 클리어 오퍼레이션도 종료하게 된다.Meanwhile, after the initialization steps S120a and S120b, a clear operation of clearing the frame buffer is performed separately from the graphic processing (S180). This clear operation is performed during the graphic processing, and when the graphic processing is completed, the clear operation is also terminated.

한편, 앞서 각 단계들의 수행 들 중, 아이들 체크, 클리어 오퍼레이션, 통합 가속기 종료는 블럭 별 구동 종료 여부를 가속 엔진 레벨에서 레지스터 값을 참조하여 미 종료시 지속적인 수행을 한다. 즉 도시한 바와 같이 계속적인 루프 백(loop back) 기능을 수행한다.On the other hand, among the execution of each step, the idle check, clear operation, the end of the integrated accelerator is continuously performed when it is not finished by referring to the register value at the acceleration engine level whether or not the end of driving by block. That is, as shown in the figure, a continuous loop back function is performed.

본 발명의 그래픽 가속 통합 어플리케이션 프로세서 및 그래픽 가속방법은 이동 통신 단말기에 내장된 어플리케이션 프로세서에서 서비스되는 OpenGL/ES와 같은 3D 그래픽 가속기와 OpenVG와 같은 벡터(Vector) 방식의 2D 그래픽 가속기의 이원화된 구조를 일원화된 구조로 통일하여, 그래픽 가속을 통합적으로 처리하도록 한다. 즉, 3D 그래픽 가속기와 2D 그래픽 가속기의 동일한 부분의 내부 블록을 공유하여, 각각 3D 그래픽 처리와 2D 벡터 가속 처리를 연동하여 처리할 수 있도록 한다.The graphics acceleration integrated application processor and the graphics acceleration method of the present invention are based on a dual structure of a 3D graphics accelerator such as OpenGL / ES and a vector 2D graphics accelerator such as OpenVG serviced by an application processor embedded in a mobile communication terminal. Unified to a unified structure, integrated graphics acceleration. That is, the internal blocks of the same part of the 3D graphics accelerator and the 2D graphics accelerator are shared, so that the 3D graphics processing and the 2D vector acceleration processing can be processed in conjunction with each other.

또한, 본 발명의 그래픽 가속 통합 어플리케이션 프로세서는 이를 수용하여 구동되는 이동통신 단말기에 내장되어, 각각의 처리를 담당하는 소프트웨어 드라이버(Software Driver)에 의해 관리되며, 각 소프트웨어 드라이버는 그 특성에 해당되는 API인 OpenGL/ES와 OpenVG의 표준을 따라 EGL과 연동됨으로써, 통합된 프레임 버퍼를 이용에 따른 메모리 효율을 높일 수 있고 동시에 그래픽 처리기 공유를 통한 설계 면적을 줄일 수 있는 기술적 장점이 있다.In addition, the graphic acceleration integrated application processor of the present invention is embedded in a mobile communication terminal that is driven to accommodate it, is managed by a software driver (Software Driver) in charge of each process, each software driver API corresponding to its characteristics By interworking with EGL according to the standards of OpenGL / ES and OpenVG, it is possible to increase the memory efficiency by using the integrated frame buffer and reduce the design area by sharing the graphic processor.

지금까지, 본 발명을 도면에 표시된 실시예를 참고로 설명하였으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.So far, the present invention has been described with reference to the embodiments shown in the drawings, which are merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. . Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1은 3D 그래픽 가속기와 2D 그래픽 가속기의 동일 파이프 라인(Pipe Line) 구조를 설명하기 위한 블럭도이다.1 is a block diagram illustrating the same pipe line structure of a 3D graphics accelerator and a 2D graphics accelerator.

도 2a는 본 발명의 일 실시예에 따른 통합 그래픽 가속 어플리케이션 프로세서에 대한 블럭도이다.2A is a block diagram of an integrated graphics acceleration application processor according to an embodiment of the present invention.

도 2b는 본 발명의 다른 실시예에 따른 통합 그래픽 가속 어플리케이션 프로세서에 대한 블럭도이다.2B is a block diagram of an integrated graphics acceleration application processor according to another embodiment of the present invention.

도 3은 도 2a의 렌더링 엔진을 좀더 상세하게 보여주는 블럭도이다.3 is a block diagram illustrating the rendering engine of FIG. 2A in more detail.

도 4는 본 발명의 또 다른 실시예에 따른 통합 그래픽 가속 어플리케이션 프로세서를 이용한 통합 그래픽 처리 과정을 보여주는 흐름도이다.4 is a flowchart illustrating an integrated graphics processing process using an integrated graphics acceleration application processor according to another embodiment of the present invention.

Claims (30)

파이프 라인(Pipe-Line) 구조로 형성된 전처리부인 지오메트리(Geometry) 엔지; 및Geometry engine, which is a preprocessing unit formed in a pipe-line structure; And 파이프 라인 구조로 형성되고 2D 그래픽 가속을 위한 그라디언트(Gradient) 모듈 및 패스 제너레이션(Path Generation) 모듈을 구비한 후처리부인 렌더링(Rendering) 엔진;을 포함하는 2D 및 3D 통합 그래픽 가속기.2D and 3D integrated graphics accelerator including a rendering engine formed of a pipeline structure and a post-processing unit having a gradient module and path generation module for 2D graphics acceleration. 제1 항에 있어서,According to claim 1, 상기 지오메트리 엔진은 월드 트랜스폼(World Transform) 모듈, 라이트닝(Lightening) 모듈, 뷰 트랜스폼(View Transform) 모듈, 프로젝션 트랜스폼(Projection Transform) 모듈 및 클립핑(Clipping) 모듈을 포함하고,The geometry engine includes a World Transform module, a Lightening module, a View Transform module, a Projection Transform module, and a Clipping module. 상기 렌더링 엔진은 상기 그라디언트 모듈, 상기 패스 제너레이션 모듈, 트라이앵글 셋업(Triangle Setup) 모듈, 스판 프로세싱(Span Processing) 모듈 및 리얼라이제이션(Realization) 모듈을 포함하며,The rendering engine includes the gradient module, the pass generation module, a triangle setup module, a span processing module, and a realization module. 상기 지오메트리 엔진의 상기 뷰 트랜스폼(View Transform) 모듈, 상기 프로젝션 트랜스폼 모듈 및 상기 클립핑 모듈과, 상기 엔더링 엔진의 상기 트라이앵글 셋업 모듈, 상기 스판 프로세싱 모듈 및 상기 리얼라이제이션 모듈이 상기 2D 그래픽 가속에 함께 이용되는 것을 특징으로 하는 2D 및 3D 통합 그래픽 가속기.The View Transform module, the projection transform module and the clipping module of the geometry engine, the triangle setup module, the span processing module and the realization module of the ending engine are adapted to the 2D graphics acceleration. 2D and 3D integrated graphics accelerator, characterized in that used together. 제1 항에 있어서,According to claim 1, 상기 렌더링 엔진은, The rendering engine, 2D 및 3D 그래픽 처리에 공통으로 이용되는 맵핑(Mapping) 모듈, 블렌딩(Blending) 모듈, 및 래스터라이저(Rasterization) 모듈을 포함하는 것을 특징으로 하는 2D 및 3D 통합 그래픽 가속기.2D and 3D integrated graphics accelerator comprising a mapping module, blending module, and rasterization module commonly used for 2D and 3D graphics processing. 제3 항에 있어서,The method of claim 3, wherein 상기 맵핑 모듈은 텍스쳐 맵핑 및 라이트 맵핑을 수행하는 텍스쳐(Texture) 맵핑부 및 라이트(Light) 맵핑부를 포함하고,The mapping module includes a texture mapping unit and a light mapping unit that perform texture mapping and light mapping, 상기 그라디언트 모듈은 비트맵 방식으로 색상 처리를 하는 비트맵(Bitmap)부 및 직선 및 원형 그라디언트(색변화) 처리를 하는 직선및원형(Linear/Radial)부를 포함하며,The gradient module includes a bitmap part for color processing in a bitmap method and a straight line and circular part for linear and circular gradient (color change) processing. 상기 블렌딩 모듈은 텍스쳐, 이미지 및 알파(Alpha) 블렌딩 처리를 수행하는 텍스쳐 블렌딩부, 이미지 블렌딩부 및 알파 블렌딩부를 포함하며,The blending module includes a texture blending unit, an image blending unit, and an alpha blending unit which performs a texture, an image, and an alpha blending process. 상기 래스터라이저 모듈은 알파값 및 젯-뎁스(Z-depth) 값을 테스트하는 알파 테스트부 및 뎁스 테스트부와 2D 벡터 이미지 보간을 위한 이미지 인터폴레이션(Image Interpolation)부를 포함하는 것을 특징으로 하는 2D 및 3D 통합 그래픽 가속기.The rasterizer module includes an alpha tester and a depth tester for testing an alpha value and a Z-depth value, and an image interpolation part for interpolating 2D vector images. Integrated graphics accelerator. 제4 항에 있어서,The method of claim 4, wherein 상기 3D 그래픽을 처리하는 경우,When processing the 3D graphics, 상기 매핑 모듈의 상기 텍스쳐 및 라이트 매핑부, 상기 브렌딩 모듈의 상기 텍스쳐 블렌딩부, 상기 래스터라이저 모듈의 상기 알파 테스트부 및 뎁스 테스트부, 상기 블렌딩 모듈의 상기 이미지 블렌딩 및 알파 블렌딩부를 거치면서 생성된 픽셀 데이터를 픽셀 캐쉬에 저장한 후, 최종적으로 프레임 버퍼에 상기 픽셀 데이터를 저장하며,The texture and light mapping unit of the mapping module, the texture blending unit of the blending module, the alpha test unit and depth test unit of the rasterizer module, and the image blending and alpha blending unit of the blending module are generated. After storing the pixel data in the pixel cache, finally storing the pixel data in a frame buffer, 상기 2D 그래픽을 처리하는 경우, 상기 라이트 맵핑부는 이용되지 않으며, 상기 뎁스 테스트부 대신 상기 이미지 인터폴레이션부를 이용하고, 상기 이미지 블렌딩부는 상기 이미지 인터폴레이션부 및 상기 그라디언트 모듈부에 연동하여 상기 이미지 블렌딩을 수행하는 것을 특징으로 하는 2D 및 3D 통합 그래픽 가속기.In the case of processing the 2D graphics, the light mapping unit is not used, the image interpolation unit is used instead of the depth test unit, and the image blending unit performs the image blending in conjunction with the image interpolation unit and the gradient module unit. 2D and 3D integrated graphics accelerator. 제4 항에 있어서,The method of claim 4, wherein 상기 패스 제너제이션 모듈은 상기 3D 그래픽 가속기의 상기 트라이앵글 모듈의 셋업 처리에 대응하여 모듈별 솔리드(Solid), 이미지, 및 패턴에 대한 2D 패스 데이터를 생성하는 것을 특징으로 하는 2D 및 3D 통합 그래픽 가속기.The pass generation module generates 2D pass data for module-specific solids, images, and patterns in response to the setup processing of the triangle module of the 3D graphics accelerator. 제1 항에 있어서,According to claim 1, 2D 및 3D 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋을 더 포함하는 2D 및 3D 통합 그래픽 가속기.2D and 3D integrated graphics accelerator further comprising a register set for storing instructions for 2D and 3D graphics acceleration. 2D 및 3D 그래픽 가속을 위한 명령어 및 데이터를 처리하는 명령어 처리부;An instruction processor configured to process instructions and data for 2D and 3D graphics acceleration; 상기 2D 및 3D 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋; 및A register set for storing instructions for accelerating the 2D and 3D graphics; And 상기 명령어 처리부의 명령을 받아 상기 2D 및 3D 그래픽 가속을 통합적으로 처리하는 2D 및 3D 통합 그래픽 가속기;를 포함하는 통합 그래픽 가속 어플리케이션 프로세서.And a 2D and 3D integrated graphics accelerator configured to receive the command of the command processor to integrally process the 2D and 3D graphics acceleration. 제8 항에 있어서,The method of claim 8, 상기 명령어 처리부는 AHB(Advanced High-performance Bus) 슬레이브(Slave)로부터 전달된 명령어들을 실행하는 컴맨드 코어(Command Core), 및 상기 명령어들을 파싱(parsing)하는 컴맨드 파서(Command Parser)를 포함하고,The command processing unit includes a command core for executing instructions delivered from an advanced high-performance bus (AHB) slave, and a command parser for parsing the instructions. , 상기 레지스터 셋는 2D 또는 3D 그래픽 가속 여부에 대한 상태를 저장하는 S-레지스터를 포함하는 것을 특징으로 하는 통합 그래픽 가속 어플리케이션 프로세서.And said register set includes an S-register that stores state for 2D or 3D graphics acceleration. 제8 항에 있어서,The method of claim 8, 상기 2D 및 3D 통합 그래픽 가속기는 3D 그래픽 가속기를 기본으로 하여, 상기 2D 그래픽 가속에만 이용되는 2D 그래픽 처리용 모듈들을 더 포함한 것을 특징으로 하는 통합 그래픽 가속 어플리케이션 프로세서.The 2D and 3D integrated graphics accelerator is based on a 3D graphics accelerator, further comprising 2D graphics processing modules that are used only for the 2D graphics acceleration. 제10 항에 있어서,The method of claim 10, 상기 2D 및 3D 통합 그래픽 가속기는 상기 레지스터 셋 내의 S 레지스터에 저장된 상태 정보에 따라, 3D 또는 2D 그래픽 가속을 수행하고,The 2D and 3D integrated graphics accelerator performs 3D or 2D graphics acceleration, according to the state information stored in the S register in the register set, 상기 2D 그래픽 가속의 경우, 상기 3D 그래픽 가속과 동일한 기능들은 상기 3D 그래픽 가속기 내의 모듈을 함께 이용하여 처리하고, 다른 기능들은 상기 2D 그래픽 처리용 모듈을 이용하여 처리하는 것을 특징으로 하는 통합 그래픽 가속 어플리케이션 프로세서.In the case of the 2D graphics acceleration, the same functions as the 3D graphics acceleration are processed using a module in the 3D graphics accelerator together, and other functions are processed using the 2D graphics processing module. Processor. 제11 항에 있어서,The method of claim 11, wherein 상기 2D 그래픽 처리용 모듈들은 그라디언트(Gradient) 모듈 및 패스 제너레이션(Path Generation) 모듈을 포함하는 것을 특징으로 하는 통합 그래픽 가속 어플리케이션 프로세서.The 2D graphics processing modules include a gradient module and a path generation module. 제11 항에 있어서,The method of claim 11, wherein 상기 2D 및 3D 통합 그래픽 가속기가 고라우드 세이딩(Gouraud Shading) 모듈을 포함하는 경우에는 상기 2D 그래픽 가속 중 그라디언트 수행은 상기 고라우드 세이딩 모듈을 이용하여 수행하는 것을 특징으로 하는 통합 그래픽 가속 어플리케이션 프로세서.When the 2D and 3D integrated graphics accelerator includes a Gouraud Shading module, performing the gradient during the 2D graphics acceleration is performed using the Goard Shading Module. . 제10 항에 있어서,The method of claim 10, 상기 2D 및 3D 통합 그래픽 가속기는 월드 트랜스폼(World Transform) 모듈, 라이트닝(Lightening) 모듈, 뷰 트랜스폼(View Transform) 모듈, 프로젝션 트랜스폼(Projection Transform) 모듈 및 클립핑(Clipping) 모듈을 구비한 지오메트리(Geometry) 엔진과, 트라이앵글 셋업(Triangle Setup) 모듈, 스판 프로세싱(Span Processing) 모듈 및 리얼라이제이션(Realization) 모듈을 구비한 렌더링(Rendering) 엔진을 포함하고,The 2D and 3D integrated graphics accelerators include geometry with a World Transform module, Lightening module, View Transform module, Projection Transform module and Clipping module. A rendering engine with a Geometry engine, a Triangle Setup module, a Span Processing module, and a Realization module, 상기 지오메트리 엔진의 상기 뷰 트랜스폼 모듈, 상기 프로젝션 트랜스폼 모듈 및 상기 클립핑 모듈과, 상기 렌더링 엔진의 상기 트라이앵글 셋업 모듈, 상기 스판 프로세싱 모듈 및 상기 리얼라이제이션 모듈이 상기 2D 그래픽 가속에 함께 이용되는 것을 특징으로 하는 통합 그래픽 가속 어플리케이션 프로세서.The view transform module, the projection transform module and the clipping module of the geometry engine, the triangle setup module, the span processing module and the realization module of the rendering engine are used together for the 2D graphics acceleration. Integrated graphics acceleration application processor. 제14 항에 있어서,The method of claim 14, 상기 모듈들은 파이프 라인 구조로 형성되어 있는 것을 특징으로 하는 그래픽 가속 통합 어플리케이션 프로세서.And said modules are formed in a pipelined structure. 제14 항에 있어서,The method of claim 14, 상기 렌더링 엔진은, The rendering engine, 맵핑(Mapping) 모듈, 상기 그라디언트(Gradient) 모듈, 블렌딩(Blending) 모듈, 상기 패스 제너레이션(Path Generation) 모듈, 및 래스터라이저(Rasterization) 모듈을 포함하고,A mapping module, the gradient module, a blending module, the path generation module, and a rasterization module, 상기 맵핑 모듈, 및 블렌딩 모듈 및 상기 래스터라이저 모듈은 2D 및 3D 그 래픽 가속에 공통으로 이용되며,The mapping module, the blending module, and the rasterizer module are commonly used for 2D and 3D graphic acceleration. 상기 그라디언트 모듈 및 상기 패스 제너레이션 모듈은 2D 그래픽 가속에만 이용되는 것을 특징으로 하는 그래픽 가속 통합 어플리케이션 프로세서.And the gradient module and the pass generation module are used only for 2D graphics acceleration. 제16 항에 있어서,The method of claim 16, 상기 맵핑 모듈은 텍스쳐 맵핑 및 라이트 맵핑을 수행하는 텍스쳐(Texture) 맵핑부 및 라이트(Light) 맵핑부를 포함하고,The mapping module includes a texture mapping unit and a light mapping unit that perform texture mapping and light mapping, 상기 그라디언트 모듈은 비트맵 방식 그래픽 처리를 하는 비트맵(Bitmap)부 및 직선 및 원형 그라디언트(색변화) 처리를 하는 직선및원형(Linear/Radial)부를 포함하며,The gradient module includes a bitmap unit for bitmap-based graphics processing and a linear and radial unit for linear and circular gradient processing. 상기 블렌딩 모듈은 텍스쳐(Texture), 이미지 및 알파(Alpha) 블렌딩 처리를 수행하는 텍스쳐 블렌딩부, 이미지 블렌딩부 및 알파 블렌딩부를 포함하며,The blending module includes a texture blending unit which performs a texture, an image, and an alpha blending process, an image blending unit, and an alpha blending unit. 상기 래스터라이저 모듈은 알파값 및 젯-뎁스(z-depth) 값을 테스트하는 알파 테스트부 및 뎁스 테스트부와 2D 벡터 이미지 보간을 위한 이미지 인터폴레이션(Image Interpolation)부를 포함하는 것을 특징으로 하는 그래픽 가속 통합 어플리케이션 프로세서.The rasterizer module includes an integrated graphic acceleration unit including an alpha test unit and a depth test unit for testing an alpha value and a z-depth value and an image interpolation unit for interpolating 2D vector images. Application processor. 제17 항에 있어서,The method of claim 17, 상기 3D 그래픽을 처리하는 경우,When processing the 3D graphics, 상기 매핑 모듈의 상기 텍스쳐 및 라이트 매핑부, 상기 브렌딩 모듈의 상기 텍스쳐 블렌딩부, 상기 래스터라이저 모듈의 상기 알파 테스트부 및 뎁스 테스트부, 상기 블렌딩 모듈의 상기 이미지 블렌딩 및 알파 블렌딩부를 거치면서 생성된 픽셀 데이터를 픽셀 캐쉬에 저장한 후, 최종적으로 프레임 버퍼에 상기 픽셀 데이터를 저장하며,The texture and light mapping unit of the mapping module, the texture blending unit of the blending module, the alpha test unit and depth test unit of the rasterizer module, and the image blending and alpha blending unit of the blending module are generated. After storing the pixel data in the pixel cache, finally storing the pixel data in a frame buffer, 상기 2D 그래픽을 처리하는 경우, 상기 라이트 맵핑부는 이용되지 않으며, 상기 뎁스 테스트부 대신 상기 이미지 인터폴레이션부를 이용하고, 상기 이미지 블렌딩부는 상기 이미지 인터폴레이션부 및 상기 그라디언트 모듈부에 연동하여 상기 이미지 블렌딩을 수행하는 것을 특징으로 하는 그래픽 가속 통합 어플리케이션 프로세서.In the case of processing the 2D graphics, the light mapping unit is not used, the image interpolation unit is used instead of the depth test unit, and the image blending unit performs the image blending in conjunction with the image interpolation unit and the gradient module unit. Graphic accelerated integrated application processor, characterized in that. 제16 항에 있어서,The method of claim 16, 상기 패스 제너제이션 모듈은 상기 3D 그래픽 가속기의 트라이앵글 셋업 모듈의 셋업 처리에 대응하여 모듈별 솔리드(solid), 이미지, 및 패턴에 대한 2D 패스 데이터를 생성하는 것을 특징으로 하는 그래픽 가속 통합 어플리케이션 프로세서.And the pass generation module generates 2D pass data for module-specific solids, images, and patterns in response to the setup processing of the triangle setup module of the 3D graphics accelerator. 제8 항에 있어서,The method of claim 8, 동종의 데이터는 동일 캐쉬(Cache) 저장하여 상기 2D 및 3D 그래픽 가속 처리에 이용하는 것을 특징으로 하는 그래픽 가속 통합 어플리케이션 프로세서.The same type of data is stored in the same cache (Cache) and the graphics acceleration integrated application processor, characterized in that for the 2D and 3D graphics acceleration processing. 하드웨어(H/W) 프로세서의 아이들(idle) 상태를 체크하는 단계;Checking an idle state of a hardware (H / W) processor; 2D 및 3D 통합 그래픽 가속기를 2D 또는 3D 그래픽 가속 모드로 초기화하는 단계;Initializing the 2D and 3D integrated graphics accelerator to a 2D or 3D graphics acceleration mode; 2D 또는 3D 그래픽 가속을 수행하는 단계; 및Performing 2D or 3D graphics acceleration; And 상기 2D 및 3D 통합 그래픽 가속기를 종료하는 단계;를 포함하는 통합 그래픽 가속방법.Terminating the 2D and 3D integrated graphics accelerators. 제21 항에 있어서,The method of claim 21, 상기 초기화 단계 전에 상기 2D 및 3D 통합 그래픽 가속기에서 실행될 그래픽 종류를 판단하는 단계를 더 포함하고,Determining a type of graphic to be executed in the 2D and 3D integrated graphics accelerator before the initializing step, 상기 가속 수행단계는,The acceleration performance step, 상기 가속 수행단계는, 상기 2D 또는 3D 그래픽 실행에 이용되는 캐쉬의 더티 체크 단계; The accelerating step may include: dirty checking a cache used to execute the 2D or 3D graphics; 그래픽 처리의 전처리인 지오메트리 엔진을 실행하는 단계; 및 Executing a geometry engine that is a preprocess of graphics processing; And 상기 그래픽 처리의 후처리인 렌더링 엔진을 실행하는 단계;를 포함하는 통합 그래픽 가속방법.Executing a rendering engine that is a post-process of the graphics processing. 제21 항에 있어서,The method of claim 21, 상기 아이들 상태 체크 단계 이후 프레임 버퍼에 대한 클리어 오퍼레이션을 별개로 수행하는 것을 특징으로 하는 통합 그래픽 가속방법.And performing a clear operation on the frame buffer separately after the idle state check step. 제21 항에 있어서,The method of claim 21, 상기 프로세서는 2D 및 3D 그래픽 가속을 위한 명령어 및 데이터를 처리하는 명령어 처리부, 상기 2D 및 3D 그래픽 가속을 위한 명령어들이 저장되는 레지스터 셋, 및 상기 명령어 처리부의 명령을 받아 상기 2D 및 3D 그래픽 가속을 통합적으로 처리하는 상기 2D 및 3D 통합 그래픽 가속기를 포함하며,The processor may receive an instruction processor for processing instructions and data for 2D and 3D graphics acceleration, a register set for storing instructions for 2D and 3D graphics acceleration, and an instruction processor for the 2D and 3D graphics acceleration. The 2D and 3D integrated graphics accelerator, 상기 가속수행 단계에서 가속 수행은 상기 명령어 처리부로부터 전달된 명령어에 따라 수행하는 것을 특징으로 하는 통합 그래픽 가속방법.And performing acceleration in the acceleration performing step according to the command transmitted from the command processing unit. 제24 항에 있어서,The method of claim 24, 상기 2D 및 3D 통합 그래픽 가속기는 3D 그래픽 가속기를 기본으로 하여, 상기 2D 그래픽 가속에만 이용되는 2D 그래픽 처리용 모듈들을 포함하고,The 2D and 3D integrated graphics accelerators are based on 3D graphics accelerators and include modules for 2D graphics processing that are used only for the 2D graphics acceleration, 상기 2D 그래픽 가속의 경우, 상기 3D 그래픽 가속과 동일한 기능들은 상기 3D 그래픽 가속기 내의 모듈을 함께 이용하여 처리하고, 다른 기능들은 상기 2D 그래픽 처리용 모듈을 이용하여 처리하는 것을 특징으로 하는 통합 그래픽 가속방법.In the case of the 2D graphics acceleration, the same functions as the 3D graphics acceleration are processed using a module in the 3D graphics accelerator together, and other functions are processed using the 2D graphics processing module. . 제25 항에 있어서,The method of claim 25, 상기 2D 및 3D 통합 그래픽 가속기는 월드 트랜스폼(World Transform) 모듈, 라이트닝(Lightening) 모듈, 뷰 트랜스폼(View Transform) 모듈, 프로젝션 트랜스폼(Projection Transform) 모듈 및 클립핑(Clipping) 모듈을 구비한 상기 지오메트 리(Geometry) 엔진과, 트라이앵글 셋업(Triangle Setup) 모듈, 스판 프로세싱(Span Processing) 모듈 및 리얼라이제이션(Realization) 모듈을 구비한 상기 렌더링(Rendering) 엔진을 포함하고,The 2D and 3D integrated graphics accelerator includes a World Transform module, a Lightening module, a View Transform module, a Projection Transform module, and a Clipping module. A rendering engine having a geometry engine, a triangle setup module, a span processing module, and a realization module; 상기 지오메트리 엔진의 상기 뷰 트랜스폼 모듈, 상기 프로젝션 트랜스폼 모듈 및 상기 클립핑 모듈과, 상기 렌더링 엔진의 상기 트라이앵글 셋업 모듈, 상기 스판 프로세싱모듈 및 상기 리얼라이제이션 모듈이 상기 2D 그래픽 가속에 함께 이용하는 것을 특징으로 하는 통합 그래픽 가속방법.Wherein the view transform module, the projection transform module and the clipping module of the geometry engine, the triangle setup module, the span processing module and the realization module of the rendering engine are used together for the 2D graphics acceleration. Integrated graphics acceleration method. 제25 항에 있어서,The method of claim 25, 상기 렌더링 엔진은, The rendering engine, 맵핑(Mapping) 모듈, 그라디언트(Gradient) 모듈, 블렌딩(Blending) 모듈, 패스 제너레이션(Path Generation) 모듈, 및 래스터라이저(Rasterization) 모듈을 포함하고,Including a mapping module, a gradient module, a blending module, a path generation module, and a rasterization module, 상기 맵핑 모듈, 상기 블렌딩 모듈 및 상기 래스터라이저 모듈은 2D 및 3D 그래픽 가속에 공통으로 이용하며,The mapping module, the blending module and the rasterizer module are commonly used for 2D and 3D graphics acceleration, 상기 그라디언트 모듈, 및 상기 패스 제너레이션 모듈은 2D 그래픽 가속에만 이용하는 것을 특징으로 하는 통합 그래픽 가속방법.And the gradient module and the pass generation module use only 2D graphics acceleration. 제27 항에 있어서,The method of claim 27, 상기 맵핑 모듈은 텍스쳐(Texture) 맵핑부 및 라이트(Light) 맵핑부를 포함 하고,The mapping module includes a texture mapping unit and a light mapping unit. 상기 그라디언트 모듈은 비트맵(Bitmap)부 및 직선및원형(Linear/Radial)부를 포함하며,The gradient module includes a bitmap part and a linear and radial part. 상기 블렌딩 모듈은 텍스쳐 블렌딩부, 이미지 블렌딩부 및 알파 블렌딩부를 포함하며,The blending module includes a texture blending unit, an image blending unit, and an alpha blending unit. 상기 래스터라이저 모듈은 알파 테스트부 및 뎁스 테스트부와 이미지 인터폴레이션(Image Interpolation)부를 포함하고,The rasterizer module includes an alpha tester, a depth tester, and an image interpolation unit. 상기 3D 그래픽을 처리하는 경우,When processing the 3D graphics, 상기 매핑 모듈의 상기 텍스쳐 및 라이트 매핑부, 상기 브렌딩 모듈의 상기 텍스쳐 블렌딩부, 상기 래스터라이저 모듈의 상기 알파 테스트부 및 뎁스 테스트부, 상기 블렌딩 모듈의 상기 이미지 블렌딩 및 알파 블렌딩부를 거치면서 생성된 픽셀 데이터를 픽셀 캐쉬에 저장한 후, 최종적으로 프레임 버퍼에 상기 픽셀 데이터를 저장하며,The texture and light mapping unit of the mapping module, the texture blending unit of the blending module, the alpha test unit and depth test unit of the rasterizer module, and the image blending and alpha blending unit of the blending module are generated. After storing the pixel data in the pixel cache, finally storing the pixel data in a frame buffer, 상기 2D 그래픽을 처리하는 경우, 상기 라이트 맵핑부는 이용되지 않으며, 상기 뎁스 테스트부 대신 상기 이미지 인터폴레이션부를 이용하고, 상기 이미지 블렌딩부는 상기 이미지 인터폴레이션부 및 상기 그라디언트 모듈부에 연동하여 상기 이미지 블렌딩을 수행하는 것을 특징으로 하는 통합 그래픽 가속방법.In the case of processing the 2D graphics, the light mapping unit is not used, the image interpolation unit is used instead of the depth test unit, and the image blending unit performs the image blending in conjunction with the image interpolation unit and the gradient module unit. Integrated graphics acceleration method characterized in that. 제27 항에 있어서,The method of claim 27, 상기 패스 제너제이션 모듈은 상기 3D 그래픽 가속기의 트라이앵글 셋업 모 듈의 셋업 처리에 대응하여 모듈별 솔리드(solid), 이미지, 및 패턴에 대한 2D 패스 데이터를 생성하는 것을 특징으로 하는 통합 그래픽 가속방법.And the path generation module generates 2D path data for each module of solids, images, and patterns in response to the setup processing of the triangle setup module of the 3D graphics accelerator. 제21 항에 있어서,The method of claim 21, 동종의 데이터는 동일 캐쉬 저장하여 상기 2D 또는 3D 그래픽 가속 처리에 이용하는 것을 특징으로 하는 통합 그래픽 가속방법.And homogeneous data is stored in the same cache and used for the 2D or 3D graphic acceleration process.
KR1020080036745A 2008-04-21 2008-04-21 Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application KR100968370B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080036745A KR100968370B1 (en) 2008-04-21 2008-04-21 Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080036745A KR100968370B1 (en) 2008-04-21 2008-04-21 Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application

Publications (2)

Publication Number Publication Date
KR20090111134A true KR20090111134A (en) 2009-10-26
KR100968370B1 KR100968370B1 (en) 2010-07-06

Family

ID=41538926

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080036745A KR100968370B1 (en) 2008-04-21 2008-04-21 Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application

Country Status (1)

Country Link
KR (1) KR100968370B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101106013B1 (en) * 2010-02-18 2012-01-17 주식회사 에이디칩스 edge list generation method in graphics accelerators and active edge list generation method
WO2013162136A1 (en) * 2012-04-27 2013-10-31 주식회사 컴퍼니원헌드레드 Batch rendering method for 2d vector graphics path using gpu
KR20140099308A (en) * 2011-12-13 2014-08-11 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Graphics render matching for displays
CN108171644A (en) * 2017-12-22 2018-06-15 天津麒麟信息技术有限公司 A kind of X-Y scheme accelerated method based on GCN framework video cards
CN112614210A (en) * 2020-12-23 2021-04-06 万翼科技有限公司 Engineering drawing display method, system and related device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394524A (en) * 1992-08-07 1995-02-28 International Business Machines Corporation Method and apparatus for processing two graphics data streams in parallel
JPH11353495A (en) 1998-06-10 1999-12-24 Nec Corp Graphics device and graphic method
US6882346B1 (en) 2000-11-17 2005-04-19 Hewlett-Packard Development Company, L.P. System and method for efficiently rendering graphical data
US6831635B2 (en) 2001-03-01 2004-12-14 Microsoft Corporation Method and system for providing a unified API for both 2D and 3D graphics objects

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101106013B1 (en) * 2010-02-18 2012-01-17 주식회사 에이디칩스 edge list generation method in graphics accelerators and active edge list generation method
KR20140099308A (en) * 2011-12-13 2014-08-11 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 Graphics render matching for displays
WO2013162136A1 (en) * 2012-04-27 2013-10-31 주식회사 컴퍼니원헌드레드 Batch rendering method for 2d vector graphics path using gpu
CN108171644A (en) * 2017-12-22 2018-06-15 天津麒麟信息技术有限公司 A kind of X-Y scheme accelerated method based on GCN framework video cards
CN112614210A (en) * 2020-12-23 2021-04-06 万翼科技有限公司 Engineering drawing display method, system and related device
CN112614210B (en) * 2020-12-23 2024-03-19 深圳市万翼数字技术有限公司 Engineering drawing display method, system and related device

Also Published As

Publication number Publication date
KR100968370B1 (en) 2010-07-06

Similar Documents

Publication Publication Date Title
US7468726B1 (en) Culling in a vertex processing unit
US7292242B1 (en) Clipping with addition of vertices to existing primitives
US5517603A (en) Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
US5345541A (en) Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device
US5307449A (en) Method and apparatus for simultaneously rendering multiple scanlines
US5706415A (en) Method and apparatus for distributed interpolation of pixel shading parameter values
US7307628B1 (en) Diamond culling of small primitives
US20080266287A1 (en) Decompression of vertex data using a geometry shader
KR101004973B1 (en) Graphics system with dynamic reposition of depth engine
US8373717B2 (en) Utilization of symmetrical properties in rendering
EP3353746B1 (en) Dynamically switching between late depth testing and conservative depth testing
KR20090079241A (en) Graphics processing unit with shared arithmetic logic unit
CN112189215B (en) Compiler assist techniques for implementing memory usage reduction in a graphics pipeline
KR100968370B1 (en) Graphic accelerator integrating 2D and 3D, Application process comprising the same graphic accelerator, and graphic accelerating method in same application
US11763513B2 (en) DGPU assist using DSP pre-processor system and method
WO2017155595A1 (en) Visibility information modification
EP0889441A2 (en) Lighting unit for a three-dimensional graphics accelerator
KR20180037838A (en) Method and apparatus for processing texture
US6570565B1 (en) 3D graphic accelerator and method for processing graphic acceleration using the same
US11972518B2 (en) Hybrid binning
US11741653B2 (en) Overlapping visibility and render passes for same frame
CN113256771A (en) Graphics system and graphics processing method therefor
US8179394B1 (en) Cull streams for fine-grained rendering predication
US11880924B2 (en) Synchronization free cross pass binning through subpass interleaving
US11227430B2 (en) Optimized pixel shader attribute management

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20130503

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140402

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee