KR20170107160A - Method and apparatus for processing graphics - Google Patents

Method and apparatus for processing graphics Download PDF

Info

Publication number
KR20170107160A
KR20170107160A KR1020160030727A KR20160030727A KR20170107160A KR 20170107160 A KR20170107160 A KR 20170107160A KR 1020160030727 A KR1020160030727 A KR 1020160030727A KR 20160030727 A KR20160030727 A KR 20160030727A KR 20170107160 A KR20170107160 A KR 20170107160A
Authority
KR
South Korea
Prior art keywords
data
layer
screen
backup buffer
frame buffers
Prior art date
Application number
KR1020160030727A
Other languages
Korean (ko)
Other versions
KR102077146B1 (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 KR1020160030727A priority Critical patent/KR102077146B1/en
Publication of KR20170107160A publication Critical patent/KR20170107160A/en
Application granted granted Critical
Publication of KR102077146B1 publication Critical patent/KR102077146B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/06Curved planar reformation of 3D line structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

The present invention relates to a method and an apparatus for processing graphics. The method for processing graphics comprises the steps of: rendering image information on first to n^th layer screens for each layer screen to store a rendering result in each of first to n^th frame buffers assigned for each layer screen; composing data stored in the first to n^th frame buffers to output composition result data as well as storing the composition result data in a backup buffer; and outputting the data stored in the backup buffer when an image is not changed in a next screen of the first to n^th layer screens. According to the present invention, by using the composition result data when the image is not changed while storing the composition result data in the backup buffer, an access on an external memory is minimized, thereby reducing power consumption and heating.

Description

그래픽 처리 방법 및 장치{Method and apparatus for processing graphics}[0001] The present invention relates to a method and apparatus for processing graphics,

본 발명은 그래픽 처리 방법 및 장치에 관한 것으로, 더욱 상세하게는 컴포지션된 결과를 백업 버퍼에 저장하여 필요한 경우에 사용할 수 있는 그래픽 처리 방법 및 장치에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphics processing method and apparatus, and more particularly, to a graphics processing method and apparatus that can store a result of a composition in a backup buffer and use it when necessary.

복잡한 GUI와 게임 기능 등을 갖춘 모바일 및 컨슈머 디바이스들의 출현에 따라, 기능 및 성능 요건은 물론 낮은 전력 소모와 저비용에 대한 요구가 계속 증가하고 있다. 전통적으로 3D 그래픽 가속기들은 매우 높은 메모리 대역폭을 요구해 왔으며, 메모리 대역폭을 최소화하기 위해 타일(tile) 기반의 랜더링 방식을 사용하기도 한다.With the advent of mobile and consumer devices with sophisticated GUI and gaming features, there is a growing need for low power consumption and low cost as well as functionality and performance requirements. Traditionally, 3D graphics accelerators have demanded very high memory bandwidth, and they also use tile-based rendering methods to minimize memory bandwidth.

타일 기반의 방식은 화면을 여러 개의 타일들로 나누어 이 타일을 한 번에 한 개씩 온칩(On-chip) 타일 버퍼에 랜더링한다. 랜더링된 타일들은 외부 메모리에 기록되어 LCD나 VGA 컨트롤러 등에 의해 판독 및 디스플레이된다. 이와 같은 타일 기반의 랜더링은, 그래픽 처리 장치의 내부 메모리 저장공간과, 메모리 대역폭을 줄여줄 수 있다.The tile-based method divides the screen into several tiles and renders the tiles one at a time into an on-chip tile buffer. Rendered tiles are recorded in an external memory and read and displayed by an LCD or VGA controller. Such tile-based rendering may reduce the internal memory storage space and memory bandwidth of the graphics processing unit.

그런데, 여러 개의 레이어(layer) 화면을 겹쳐서 하나의 화면으로 표시하는 경우, 각 레이어 화면별로 랜더링을 수행하여 레이어 화면별로 외부 메모리에 설정된 프레임 버퍼에 저장한 후, 다수의 프레임 버퍼에 저장된 데이터를 다시 읽어서 컴포지션(composition)하는 과정이 필요하다. 따라서, 타일 기반의 랜더링을 사용하더라도 외부 메모리에 대한 액서스는 증가하게 된다. However, when a plurality of layer screens are overlaid and displayed as one screen, rendering is performed for each layer screen, and each layer screen is stored in a frame buffer set in an external memory. Then, data stored in a plurality of frame buffers is re- It is necessary to read and compose. Therefore, even if using tile-based rendering, the access to external memory increases.

칩 외부에서 이루어지는 메모리 액세스는 칩 내부 메모리 액세스보다 더 많은 전력을 사용한다. 따라서, 긴 배터리 수명을 요구하는 모바일 디바이스에 있어서는 외부 메모리에 대한 액세스를 최소화하는 것이 필요하다. Memory access outside the chip uses more power than chip internal memory access. Thus, for mobile devices requiring long battery life, it is necessary to minimize access to external memory.

그러므로, 여러 개의 레이어를 컴포지션하여 구성되는 화면에 대한 그래픽 처리시, 칩 외부에서 이루어지는 메모리 액세스를 최소화하여 메모리 대역폭 측면에서 보다 효율적으로 처리할 수 있도록 하는 방안이 필요하다. Therefore, it is necessary to minimize the memory access from the outside of the chip and to process it more efficiently in terms of memory bandwidth in the case of graphics processing for a screen composed of a plurality of layers.

따라서, 본 발명의 목적은, 컴포지션된 결과 데이터를 백업 버퍼에 저장하여 영상 변화가 없는 경우에 사용함으로써 메모리 액세스를 최소화할 수 있는 그래픽 처리 방법 및 장치를 제공함에 있다.It is therefore an object of the present invention to provide a graphics processing method and apparatus capable of minimizing memory access by storing composition result data in a backup buffer and using it when there is no image change.

상기 목적을 달성하기 위한 본 발명에 따른 그래픽 처리 방법은, (a) 제1 내지 제n 레이어 화면에 대한 영상 정보를 레이어 화면별로 랜더링하여, 랜더링한 결과를 레이어 화면별로 배정된 제1 내지 제n 프레임 버퍼에 각각 저장하는 단계, (b) 상기 제1 내지 제n 프레임 버퍼에 저장된 데이터를 컴포지션하여, 컴포지션 결과 데이터를 출력함과 동시에 백업 버퍼에 저장하는 단계, 및 (c) 상기 제1 내지 제n 레이어 화면의 다음 화면에서 영상 변화가 없으면, 상기 백업 버퍼에 저장된 데이터를 출력하는 단계를 포함한다. 그리고, 상기 제1 내지 제n 레이어 화면의 다음 화면에서 영상 변화가 있으면, 상기 (a) 단계 내지 상기 (c) 단계를 실행할 수 있다.According to another aspect of the present invention, there is provided a graphic processing method including the steps of: (a) rendering image information on a first to an n-th layer screen according to a layer screen, (B) composing the data stored in the first through n'th frame buffers, outputting the composition result data and storing the data in the backup buffer, and (c) and outputting the data stored in the backup buffer if there is no image change in the next screen of the n-layer screen. If there is an image change in the next screen of the first to the n-th layer screens, steps (a) to (c) may be performed.

또한, 상기 목적을 달성하기 위한 본 발명에 따른 그래픽 처리 장치는, 레이어 화면별로 랜더링된 결과가 각각 저장되는 제1 내지 제n 프레임 버퍼, 백업 버퍼, 상기 제1 내지 제n 프레임 버퍼에 저장된 데이터를 컴포지션하여, 컴포지션 결과 데이터를 상기 백업 버퍼에 저장하고 동시에 출력하는 레이어 합성부, 및 상기 제1 내지 제n 레이어 화면의 다음 화면에서 영상 변화가 없으면, 상기 백업 버퍼에 저장된 데이터를 출력하고, 상기 제1 내지 제n 레이어 화면의 다음 화면에서 영상 변화가 있으면 상기 레이어 합성부의 데이터가 출력되도록 제어하는 제어부를 포함한다.According to another aspect of the present invention, there is provided a graphics processing apparatus comprising first through n-th frame buffers each storing results rendered by layer screens, a backup buffer, data stored in the first through n-th frame buffers, And outputting the data stored in the backup buffer when there is no image change in the next screen of the first to the n-th layer screens, 1 to the nth layer screen, the data of the layer combining unit is output when there is an image change in the next screen.

또한, 상기 목적을 달성하기 위하여 본 발명에서는, 상기 그래픽 처리방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 프로세서가 읽을 수 있는 기록매체를 제공할 수 있다. According to another aspect of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for causing a processor to execute the graphic processing method.

그리고, 본 발명에 따르면, 상기 그래픽 처리장치를 포함하는 3D 그래픽 프로세서가 제공된다.According to the present invention, there is provided a 3D graphics processor including the graphic processing device.

본 발명에 따르면, 컴포지션된 결과 데이터를 백업 버퍼에 저장하였다가 영상 변화가 없는 경우 사용함으로써 외부 메모리에 설정된 프레임 버퍼에 대한 액세스를 최소화할 수 있다. 이에 따라, 더 낮은 성능의 메모리를 사용하여 고해상도를 지원하는 시스템의 구성이 가능해진다. 또한, 낮은 외부 메모리의 액세스는 전력 소모를 감소시키고, 발열을 감소시키는 효과를 나타낼 수 있다. 특히, 장면의 변화보다 디스플레이의 재생 빈도가 높은 경우나 장면이 변화가 적은 경우에 효과적으로 적용할 수 있으며, 외부 메모리에 대한 접근을 최소화함으로써 3차원 그래픽 처리 장치의 성능을 향상시킬 수 있다.According to the present invention, access to the frame buffer set in the external memory can be minimized by using the result data stored in the backup buffer when the result data is not changed. This makes it possible to construct a system that supports high resolution using a lower performance memory. In addition, access to a low external memory can reduce the power consumption and reduce the heat generation. In particular, the present invention can be effectively applied to a case where the display refresh rate is higher than the scene change or the scene is less changed, and the performance of the 3D graphic processing apparatus can be improved by minimizing access to the external memory.

도 1 및 도 2는 일반적인 그래픽 처리 장치의 구성을 나타낸 블럭도,
도 3은 본 발명의 일실시에에 따른 그래픽 처리 장치의 구성을 설명하기 위한 블럭도, 그리고
도 4는 본 발명의 일실시예에 따른 그래픽 처리 방법에 대한 설명에 제공되는 흐름도이다.
1 and 2 are block diagrams showing a configuration of a general graphic processing apparatus,
3 is a block diagram illustrating a configuration of a graphics processing apparatus according to an embodiment of the present invention, and Fig.
FIG. 4 is a flowchart provided in a description of a graphic processing method according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. Hereinafter, the present invention will be described in detail with reference to the drawings.

도 1 및 도 2는 일반적인 그래픽 처리 장치의 구성을 나타내는 블럭도이다. 도 1을 참조하면, CPU(10)에 의해 구동되는 디스플레이 관리 소프트웨어의 동작에 따라, 각각 별도의 레이어(layer) 화면을 구성하는 하나 이상의 응용프로그램(50a, 50b, 50c)으로부터 각 레이어 화면을 구성하는 영상 정보가 GPU(20)로 전달된다. 1 and 2 are block diagrams showing a configuration of a general graphic processing apparatus. 1, each layer screen is configured from one or more application programs 50a, 50b, and 50c that constitute separate layer screens according to the operation of the display management software driven by the CPU 10 Is transmitted to the GPU (20).

GPU(20)는 응용프로그램(50a, 50b, 50c)으로 전달받은 영상 정보를 랜더링하여, 각 레이어 화면별로 설정된 프레임버퍼(60a, 60b, 60c)에 저장한다. The GPU 20 renders the image information received by the application programs 50a, 50b, and 50c and stores the image information in the frame buffers 60a, 60b, and 60c set for each layer screen.

그리고, 각 레이어 화면에 대한 랜더링이 완료되면, GPU(20)는 각 프레임버퍼(60a, 60b, 60c)에 기록된 데이터를 컴포지션하여, 디스플레이용 프레임 버퍼(65)에 기록한다. 여기서, 컴포지션(composition)은 화면 위에 겹쳐 있는 모든 레이어들을 하나의 스크린에 합쳐서 보여주기 위하여 데이터를 병합하는 과정이다.When rendering of each layer screen is completed, the GPU 20 composes the data recorded in the frame buffers 60a, 60b, and 60c, and writes the data into the frame buffer 65 for display. Here, a composition is a process of merging data in order to display all layers superimposed on the screen on one screen.

디스플레이 서브 시스템(80)은 디스플레이용 프레임버퍼(65)에 저장된 데이터를 판독하여, 디스플레이 장치(90)에 표시되도록 한다.The display subsystem 80 reads the data stored in the frame buffer for display 65 and causes it to be displayed on the display device 90.

도 2는 하드웨어 컴포지터를 사용하는 구성을 나타낸 것이다. 2 shows a configuration using a hardware compositor.

도 2를 참조하면, 응용프로그램(50a, 50b, 50c)으로 전달받은 영상 정보를 각 레이어 화면별로 설정된 프레임버퍼(60a, 60b, 60c)에 각각 랜더링하여 저장하는 과정은 도 1에서 설명한 바와 동일하게 GPU(20)가 수행한다. Referring to FIG. 2, the process of rendering and transmitting image information received by the application programs 50a, 50b, and 50c to the frame buffers 60a, 60b, and 60c, Is performed by the GPU 20.

그러나, 프레임버퍼(60a, 60b, 60c)에 기록된 데이터의 컴포지션은 하드웨어 컴포지터(70)(hardware conpositor)에 의해 수행된다. 즉, 하드웨어 컴포지터(70)는 화면 위에 겹쳐서 표시하는 모든 레이어들을 하나의 화면으로 합쳐서 보여주기 위한 데이터 병합 기능을 수행한다.However, the composition of the data recorded in the frame buffers 60a, 60b, and 60c is performed by the hardware compositor 70 (hardware compositor). That is, the hardware composer 70 performs a data merge function for displaying all the layers overlaid on the screen in a single screen.

이와 같이 여러 개의 레이어 화면을 겹쳐서 하나의 화면으로 표시하기 위해서는, 각 레이어 화면별로 설정된 프레임 버퍼에 데이터를 쓰는 과정이나, 각 레이어 화면별로 설정된 프레임 버퍼에서 데이터를 읽어와서 컴포지션하는 과정과 같이 외부 메모리에 대한 액세스가 증가하게 된다.In order to display a plurality of layer screens in a single screen, it is necessary to write data to the frame buffer set for each layer screen, or to read data from the frame buffer set for each layer screen, The access to the server is increased.

도 3은 본 발명의 일실시에에 따른 그래픽 처리장치의 구성을 설명하기 위한 블럭도이다.3 is a block diagram for explaining a configuration of a graphics processing apparatus according to an embodiment of the present invention.

도 3을 참조하면, CPU(110), GPU(120), 메모리(140)가 버스(130)를 통해 회로적으로 연결되어 있다. CPU(110), GPU(120)는 하나의 칩으로 구성할 수도 있으며, 메모리(140)에는 프레임 버퍼(143a, 143b, 143c)와 백업 버퍼(145)가 설정되어 있다. Referring to FIG. 3, a CPU 110, a GPU 120, and a memory 140 are connected through a bus 130 in a circuit manner. The CPU 110 and the GPU 120 may be formed of a single chip and the memory 140 is provided with frame buffers 143a, 143b and 143c and a backup buffer 145. [

이와 같은 구성에서, CPU(110)에 의해 구동되는 디스플레이 관리 소프트웨어의 동작에 따라, 응용프로그램 A(200a), 응용프로그램 B(200b), 응용프로그램 C(200c)로부터 레이어 화면 구성을 위한 영상 정보가 GPU(120)로 전달된다. In this configuration, video information for the layer screen configuration from the application program A 200a, the application program B 200b, and the application program C 200c is displayed on the display unit 110 in accordance with the operation of the display management software driven by the CPU 110 GPU < / RTI >

응용프로그램 A(200a), 응용프로그램 B(200b), 응용프로그램 C(200c)의 영상 정보는 각각 별도의 레이어 화면을 구성하며, 각각의 레이어 화면을 구성하는 응용프로그램의 개수는, 도 3에 도시한 것보다 많거나 혹은 적을 수 있다. 따라서, 응용프로그램의 개수가 증가하거나 감소하게 되면, 이에 대응하여 프레임 버퍼(143a, 143b, 143c)의 개수도 증가하거나 감소할 수 있다. The image information of the application program A 200a, the application program B 200b and the application program C 200c constitute a separate layer screen, and the number of application programs constituting each layer screen is You can have more or less than one. Accordingly, if the number of application programs increases or decreases, the number of frame buffers 143a, 143b, and 143c may also increase or decrease accordingly.

GPU(120)는 응용프로그램 A(200a), 응용프로그램 B(200b), 응용프로그램 C(200c)에 의해 구성되는 레이어 화면에 대한 영상 정보를 레이어 화면별로 랜더링(rendering) 한다. The GPU 120 renders the image information on the layer screen composed of the application program A 200a, the application program B 200b and the application program C 200c on a layer screen basis.

랜더링은 컴퓨터 프로그램을 사용하여 모델로부터 영상을 만들어내는 과정을 의미하며, 3차원 모델로부터 2차원 화면으로 폴리건을 그리는 일을 수행할 수 있다. 여기서, 모델은 자료 구조나 강력하게 정의된 언어로 짠 3차원 물체에 대한 설명이며, 기하학, 시점, 텍스처 매핑, 조명, 셰이딩 정보 등을 포함할 수 있다. Rendering refers to the process of creating an image from a model using a computer program, and it is possible to draw a polygon from a three-dimensional model to a two-dimensional screen. Here, a model is a description of a three-dimensional object that is woven into a data structure or a strongly-defined language, and may include geometry, viewpoints, texture mapping, lighting, shading information,

또한, 프레임 기반의 랜더링 장치는 전체 프레임 버퍼를 한번에 그리지만, 보다 효율적인 방법은 화면을 부분 영역, 즉 타일로 분할한 뒤, 각 타일을 순차적으로 랜더링하는 타일 기반의 랜더링 방식이다. 이러한 방식의 타일 기반의 랜더링 방식의 화면은 일반적으로 동일한 크기와 모양을 가지는 타일들로 나뉘어진다.In addition, the frame-based rendering apparatus draws the entire frame buffer at once, but a more efficient method is a tile-based rendering method that divides the screen into partial regions, i.e. tiles, and sequentially rasterizes the tiles. The tile-based rendering method in this manner is generally divided into tiles having the same size and shape.

본 발명에 따른 그래픽 처리 장치는 타일 기반의 랜더링 방식을 사용할 수도 있고, 프레임 기반의 랜더링을 사용할 수도 있다. The graphics processing apparatus according to the present invention may use a tile-based rendering method or a frame-based rendering method.

GPU(120)는 각 레이어 화면에 대한 랜더링이 완료되면, 레이어 화면별로 설정된 프레임 버퍼(143a, 143b, 143c)에 랜더링한 결과를 각각 저장한다. When the rendering of each layer screen is completed, the GPU 120 stores rendering results in the frame buffers 143a, 143b, and 143c set for each layer screen.

레이어 합성부(150)는 프레임 버퍼(143a, 143b, 143c)에 저장된 결과를 컴포지션하여 디스플레이 서브 시스템(210)으로 전달함과 동시에 백업 버퍼(145)에 저장한다. The layer composition unit 150 composes the results stored in the frame buffers 143a, 143b, and 143c, and transmits the result to the display subsystem 210, and simultaneously stores the result in the backup buffer 145. [

그리고, 디스플레이 서브 시스템(220)은 전달받은 데이터가 디스플레이 장치(230)에 표시하도록 한다.Then, the display subsystem 220 causes the display device 230 to display the received data.

도 4는 본 발명의 일실시예에 따른 그래픽 처리방법에 대한 설명에 제공되는 흐름도이다. FIG. 4 is a flowchart provided in a description of a graphic processing method according to an embodiment of the present invention.

도 4를 참조하면, GPU(110)는 응용프로그램 A(200a), 응용프로그램 B(200b), 응용프로그램 C(200c)에 의해 각각 구성되는 제1 내지 제3 레이어 화면에 대한 영상 정보를 랜더링하고(S300), 랜더링이 완료되면, 랜더링한 결과를 레이어 화면별로 배정된 제1 내지 제3 프레임 버퍼(143a, 143b, 143c)에 각각 저장한다(S310). Referring to FIG. 4, the GPU 110 renders image information on the first to third layer screens, which are respectively composed of the application program A 200a, the application program B 200b, and the application program C 200c (S300). When the rendering is completed, the rendering result is stored in the first to third frame buffers 143a, 143b, and 143c allocated to the layer screens (S310).

레이어 합성부(150)는 제1 내지 제3 프레임 버퍼(143a, 143b, 143c)에 저장된 데이터를 컴포지션하여 출력함과 동시에 백업 버퍼(145)에 저장한다(S330).The layer combining unit 150 composes and outputs the data stored in the first to third frame buffers 143a, 143b, and 143c and stores the data in the backup buffer 145 at step S330.

전술한 바와 같이, 응용프로그램이 더 존재하여, 제4 레이어 화면이나 혹은 그 이상의 레이어 화면이 존재하는 경우, 레이어 화면의 증가에 따라 랜더링 과정이나 컴포지션하는 프레임 버퍼의 개수도 증가될 수 있다. As described above, when there are more application programs and there is a layer screen of the fourth layer or more, the number of frame buffers to be composited can be increased according to the increase of the layer screen.

다음으로, 제1 내지 제3 레이어 화면의 다음 화면에서 영상 변화가 있는지 여부를 판단한다(S340). 제1 내지 제3 레이어 화면이 다음 화면에서 영상 변화가 존재하는지 여부는, CPU(110)나 GPU(120)에서 이전 화면의 대한 구역별 해쉬값과 현재 화면에 대한 구역별 해쉬값의 비교 등에 의해 판단할 수 있다.Next, it is determined whether there is an image change in the next screen of the first to third layer screens (S340). Whether the first to third layer screens have an image change in the next screen can be determined by comparing the hash value of the previous screen with the hash value of the previous screen and the hash value of the current screen by the CPU 110 or the GPU 120 It can be judged.

S340 단계의 판단 결과, 제1 내지 제3 레이어 화면의 다음 화면에서 영상 변화가 없는 경우, 레어어 합성부(150)의 출력 대신 백업 버퍼(145)에 저장된 데이터가 출력되도록 한다(S350). As a result of the determination in step S340, if there is no image change in the next screen of the first to third layer screens, the data stored in the backup buffer 145 is output instead of the output of the layer synthesis unit 150 (S350).

그러나, 제1 내지 제3 레이어 화면의 다음 화면에서 영상 변화가 있는 경우에는, S300 단계 내지 S330 단계의 과정을 반복적으로 수행한다(S340).However, if there is an image change in the next screen of the first to third layer screens, steps S300 to S330 are repeatedly performed (S340).

이와 같은 과정에 의해, 다음 화면에서 영상 변화가 없는 경우, 백업 버퍼(145)에 저장된 데이터를 출력함으로써, GPU(120)가 랜더링한 결과를 프레임 버퍼(143a, 143b, 143c)에 저장하는 과정이나, 레이어 합성부(150)가 프레임 버퍼(143a, 143b, 143c)에 저장된 데이터를 읽어서 컴포지션하는 과정이 수행되지 않으므로, 외부 메모리에 대한 액세스가 감소하게 된다.If there is no image change in the next screen, the process of outputting the data stored in the backup buffer 145 and storing the rendering result of the GPU 120 in the frame buffers 143a, 143b, and 143c , The layer combining unit 150 does not perform the process of reading and composing data stored in the frame buffers 143a, 143b, and 143c, thereby reducing access to the external memory.

이와 같은 과정에 의해 외부 메모리 액세스를 최소화하여 메모리 대역폭을 낮출 수 있다. 메모리 대역폭(memory bandwidth)은 3차원 컴퓨터 그래픽 시스템의 성능에 영향을 주는 아주 중요한 요소이다. ,This process minimizes external memory access and lowers memory bandwidth. Memory bandwidth is a very important factor affecting the performance of 3D computer graphics systems. ,

특히, 응용프로그램이 장면을 변경하는 빈도보다 디스플레이의 화면 재생 빈도가 높은 경우나, 응용프로그램이 변경하는 내용이 전체 장면에서 적은 부분일 경우, 본 발명에 따른 그래픽 처리 방법은 매우 효과적이다.Particularly, when the screen refresh rate of the display is higher than the frequency at which the application program changes the scene, or when the content changed by the application program is a small portion in the entire scene, the graphics processing method according to the present invention is very effective.

그리고, 레이어 합성부(150)나 백업 버퍼(145)에서 출력되는 데이터는 디스플레이 서브 시스템(210)에 전달되는 구성 외에도, 데이터 압축 장치, 화질 개선 장치, 다른 프로세서 등으로 전달되도록 구성할 수도 있다. The data output from the layer combining unit 150 and the backup buffer 145 may be transmitted to a data compression device, an image quality improvement device, another processor, or the like in addition to the configuration that is transmitted to the display subsystem 210.

한편, 본 발명의 내용은 하드웨어나 소프트웨어 사용에만 국한되지는 않으며, 다른 어떤 컴퓨팅 또는 처리 환경에 대해서도 적용 가능하다. 본 발명에서 설명하는 하드웨어, 소프트웨어 또는 하드웨어소프트웨어의 조합으로 구현될 수 있다. 본 발명은 회로를 사용하여 구현될 수 있다. 즉, 한 개 이상의 프로그램 가능한 논리회로, 즉 ASIC(application specific integrated circuit) 또는 논리회로(AND, OR NAND gates)또는 프로세싱 장치(예를 들면 마이크로 프로세서, 콘트롤러)로 구현가능하다. Meanwhile, the contents of the present invention are not limited to hardware or software use, but can be applied to any other computing or processing environment. But may be embodied in hardware, software, or a combination of hardware and software described in the present invention. The present invention may be implemented using circuitry. That is, it can be implemented as one or more programmable logic circuits, that is, an application specific integrated circuit (ASIC) or a logic circuit (AND, OR NAND gates) or a processing device (for example, a microprocessor, a controller).

본 발명은 프로그램 가능한 컴퓨터상에서 컴퓨터 프로그램으로 구현 가능하다. 이러한 컴퓨터는 프로세서, 저장장치, 입력장치, 출력 장치를 포함할 수 있다. 본 발명에서 설명한 내용을 구현하기 위해 프로그램 코드는 마우스 또는 키보드 입력장치로 입력될 수 있다. 이러한 프로그램들은 고차원적인 언어나, 객체지향적인 언어로 구현될 수 있다. 또한 어셈블리나 기계어 코드로 구현된 컴퓨터 시스템으로도 구현될 수 있다. The present invention can be implemented as a computer program on a programmable computer. Such a computer may include a processor, a storage device, an input device, and an output device. In order to implement the contents described in the present invention, the program code may be input to a mouse or a keyboard input device. These programs can be implemented in high-level languages or object-oriented languages. It can also be implemented as a computer system implemented in assembly or machine code.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It should be understood that various modifications may be made by those skilled in the art without departing from the spirit and scope of the present invention.

110 : CPU 120 : GPU
143a ~ 143c : 프레임 버퍼 145 : 백업 버퍼
150 : 레이어 합성부
110: CPU 120: GPU
143a to 143c: Frame buffer 145: Backup buffer
150:

Claims (11)

(a) 제1 내지 제n 레이어 화면에 대한 영상 정보를 레이어 화면별로 랜더링하여, 랜더링한 결과를 레이어 화면별로 배정된 제1 내지 제n 프레임 버퍼에 각각 저장하는 단계;
(b) 상기 제1 내지 제n 프레임 버퍼에 저장된 데이터를 컴포지션하여, 컴포지션 결과 데이터를 출력함과 동시에 백업 버퍼에 저장하는 단계; 및
(c) 상기 제1 내지 제n 레이어 화면의 다음 화면에서 영상 변화가 없으면, 상기 백업 버퍼에 저장된 데이터를 출력하는 단계를 포함하는 그래픽 처리 방법.
(a) rendering the image information for the first to n-th layer screens according to the layer screens, and storing the rendered results in the first to n-th frame buffers allocated to the layer screens, respectively;
(b) composing the data stored in the first through n'th frame buffers, outputting the composition result data, and storing the result data in a backup buffer; And
(c) outputting data stored in the backup buffer if there is no image change in the next screen of the first through n-th layer screens.
제1항에 있어서,
상기 제1 내지 제n 레이어 화면의 다음 화면에서 영상 변화가 있으면, 상기 (a) 단계 내지 상기 (c) 단계를 실행하는 것을 특징으로 하는 그래픽 처리 방법.
The method according to claim 1,
Wherein the steps (a) to (c) are executed when there is an image change in a next screen of the first to n-th layer screens.
제1항에 있어서,
상기 컴포지션한 결과 데이터 및 상기 백업 버퍼에서 출력되는 데이터 중 어느 하나를 디스플레이 장치에 표시하는 단계를 더 포함하는 그래픽 처리 방법
The method according to claim 1,
And displaying the resultant data on the display device and the data output from the backup buffer
제1항에 있어서,
상기 컴포지션한 결과 데이터 및 상기 백업 버퍼에서 출력되는 데이터는, 데이터 압축장치, 화질 개선 장치, 및 프로세서 중 어느 하나로 출력되는 것을 특징으로 하는 그래픽 처리 방법.
The method according to claim 1,
Wherein the composition result data and the data output from the backup buffer are output to any one of a data compression device, an image quality improvement device, and a processor.
제1항에 있어서,
상기 다음 화면에서 영상 변화기 있는지 여부는, 이전 화면에 대한 구역별 해쉬값과 현재 화면에 대한 구역별 해쉬값의 비교에 의해 판단하는 것을 특징으로 하는 그래픽 처리 방법.
The method according to claim 1,
Wherein whether or not the image is changed in the next screen is determined by comparing the hash value of the previous screen with the hash value of the current screen.
제1항 내지 제5항 중 어느 한 항의 그래픽 처리 방법을 프로세서에서 실행시키기 위한 프로그램을 기록한 프로세서가 읽을 수 있는 기록매체. A processor-readable recording medium having recorded thereon a program for causing a processor to execute the graphic processing method according to any one of claims 1 to 5. 레이어 화면별로 랜더링된 결과가 각각 저장되는 제1 내지 제n 프레임 버퍼;
백업 버퍼;
상기 제1 내지 제n 프레임 버퍼에 저장된 데이터를 컴포지션하여, 컴포지션 결과 데이터를 상기 백업 버퍼에 저장하고 동시에 출력하는 레이어 합성부; 및
상기 제1 내지 제n 레이어 화면의 다음 화면에서 영상 변화가 없으면, 상기 백업 버퍼에 저장된 데이터를 출력하고, 상기 제1 내지 제n 레이어 화면의 다음 화면에서 영상 변화가 있으면 상기 레이어 합성부의 데이터가 출력되도록 제어하는 제어부;를 포함하는 그래픽 처리 장치.
A first through an n-th frame buffers each storing a rendered result for each layer screen;
Backup buffer;
A layer combining unit for composing the data stored in the first through n'th frame buffers and storing the resultant data in the backup buffer and simultaneously outputting the resultant data; And
And outputs data stored in the backup buffer if there is no image change in the next screen of the first to nth layer screens, and if there is an image change in the next screen of the first to nth layer screens, And a control unit for controlling the graphic processing unit to control the graphic processing unit.
제7항에 있어서,
상기 제1 내지 제n 레이어 화면에 대한 영상 정보를 레이어 화면별로 랜더링하여, 랜더링한 결과를 상기 제1 내지 제n 프레임 버퍼에 각각 저장하는 그래픽 처리부를 더 포함하는 그래픽 처리 장치.
8. The method of claim 7,
And a graphics processor for rendering the image information for the first to nth layer screens according to the layer screens and for storing the rendered results in the first to nth frame buffers, respectively.
제7항에 있어서,
상기 제어부는, 상기 컴포지션한 결과 데이터 및 상기 백업 버퍼에서 출력되는 데이터를, 디스플레이 서브 시스템, 데이터 압축장치, 화질 개선 장치, 및 다른 프로세서 중 어느 하나로 출력하는 것을 특징으로 하는 그래픽 처리 장치.
8. The method of claim 7,
Wherein the control unit outputs the composition result data and the data output from the backup buffer to one of a display subsystem, a data compression apparatus, an image quality improvement apparatus, and another processor.
제7항에 있어서,
상기 제어부는 상기 그래픽 처리부와 동일한 칩에 배치된 프로세서인 것을 특징으로 하는 그래픽 처리 장치.
8. The method of claim 7,
Wherein the control unit is a processor disposed on the same chip as the graphics processing unit.
제7항 내지 제10항 중 어느 한 항의 그래픽 처리장치를 포함하는 3D 그래픽 프로세서.11. A 3D graphics processor comprising the graphics processing device of any one of claims 7 to 10.
KR1020160030727A 2016-03-15 2016-03-15 Method and apparatus for processing graphics KR102077146B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160030727A KR102077146B1 (en) 2016-03-15 2016-03-15 Method and apparatus for processing graphics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160030727A KR102077146B1 (en) 2016-03-15 2016-03-15 Method and apparatus for processing graphics

Publications (2)

Publication Number Publication Date
KR20170107160A true KR20170107160A (en) 2017-09-25
KR102077146B1 KR102077146B1 (en) 2020-02-13

Family

ID=60035119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160030727A KR102077146B1 (en) 2016-03-15 2016-03-15 Method and apparatus for processing graphics

Country Status (1)

Country Link
KR (1) KR102077146B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334701A (en) * 1994-06-14 1995-12-22 Ieroo Shiyaaku:Kk Animation image compositing device
KR20070028202A (en) * 2003-10-23 2007-03-12 마이크로소프트 코포레이션 Media integration layer
KR20080050303A (en) * 2006-12-02 2008-06-05 한국전자통신연구원 System and method for real-time relighting system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334701A (en) * 1994-06-14 1995-12-22 Ieroo Shiyaaku:Kk Animation image compositing device
KR20070028202A (en) * 2003-10-23 2007-03-12 마이크로소프트 코포레이션 Media integration layer
KR20080050303A (en) * 2006-12-02 2008-06-05 한국전자통신연구원 System and method for real-time relighting system

Also Published As

Publication number Publication date
KR102077146B1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
US8803898B2 (en) Forming a windowing display in a frame buffer
US10269090B2 (en) Rendering to multi-resolution hierarchies
US9449421B2 (en) Method and apparatus for rendering image data
US9881592B2 (en) Hardware overlay assignment
US9715750B2 (en) System and method for layering using tile-based renderers
KR102275712B1 (en) Rendering method and apparatus, and electronic apparatus
US9818170B2 (en) Processing unaligned block transfer operations
US10331448B2 (en) Graphics processing apparatus and method of processing texture in graphics pipeline
CN104183005A (en) Graphic processing unit and tile-based rendering method
TW201532029A (en) Method of and apparatus for generating an overdrive frame for a display
KR20160130629A (en) Apparatus and Method of rendering for binocular disparity image
CN105190701B (en) Synthesis system based on primitive and method
JP2018512644A (en) System and method for reducing memory bandwidth using low quality tiles
TWI749756B (en) Method and apparatus for generating a series of frames with aid of synthesizer
KR102521654B1 (en) Computing system and method for performing graphics pipeline of tile-based rendering thereof
CN113256764A (en) Rasterization device and method and computer storage medium
US20180166045A1 (en) Efficient occlusion detection in display compositor
KR102482874B1 (en) Apparatus and Method of rendering
TWI698834B (en) Methods and devices for graphics processing
KR102077146B1 (en) Method and apparatus for processing graphics
KR101663023B1 (en) Apparatus and method for processing graphics
US20230205698A1 (en) Cache blocking for dispatches
JP4482996B2 (en) Data storage apparatus and method and image processing apparatus
JP2013186247A (en) Moving picture display device
JP2014127007A (en) Graphic drawing device and graphic drawing program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right