KR102124395B1 - 그래픽스 처리 장치 및 방법 - Google Patents

그래픽스 처리 장치 및 방법 Download PDF

Info

Publication number
KR102124395B1
KR102124395B1 KR1020130095522A KR20130095522A KR102124395B1 KR 102124395 B1 KR102124395 B1 KR 102124395B1 KR 1020130095522 A KR1020130095522 A KR 1020130095522A KR 20130095522 A KR20130095522 A KR 20130095522A KR 102124395 B1 KR102124395 B1 KR 102124395B1
Authority
KR
South Korea
Prior art keywords
gpus
rendering
graphic data
gpu
application
Prior art date
Application number
KR1020130095522A
Other languages
English (en)
Other versions
KR20150019104A (ko
Inventor
정성훈
박봉훈
안우람
이진봉
최성규
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020130095522A priority Critical patent/KR102124395B1/ko
Priority to PCT/KR2014/005642 priority patent/WO2015023057A1/en
Priority to CN201480043821.1A priority patent/CN105453130A/zh
Priority to US14/449,575 priority patent/US9865075B2/en
Publication of KR20150019104A publication Critical patent/KR20150019104A/ko
Application granted granted Critical
Publication of KR102124395B1 publication Critical patent/KR102124395B1/ko

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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

그래픽스 처리 장치 및 방법이 개시된다. 본 발명에 따른 복수의 GPU를 이용하여 어플리케이션 영상을 처리하는 방법은 복수의 GPU를 이용하여 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터를 각각 렌더링하는 단계, 복수의 GPU 각각에서 렌더링된 복수의 영상 데이터를 블렌딩하는 단계 및 블렌딩된 영상을 출력하는 단계를 포함하며, 블렌딩하는 단계는, 렌더링 작업을 수행하지 않는 GPU 및 복수의 GPU를 제외한 영상 처리 구성 요소 중 적어도 하나를 통해 블렌딩하는 것을 특징으로 한다. 이에 따라, 그래픽스 처리 장치는 복수의 GPU를 보다 효율적으로 이용하여 영상 처리 속도를 향상시킬 수 있다.

Description

그래픽스 처리 장치 및 방법{Graphics processing apparatus and method thereof}
본 발명은 그래픽스 처리 장치 및 방법에 관한 것으로서, 보다 상세하게는 복수의 GPU를 이용하여 영상을 처리하는 그래픽스 처리 장치 및 방법에 관한 것이다.
종래의 그래픽스 처리 장치는 복수의 GPU를 이용하여 복수의 어플리케이션에 대한 렌더링 및 블렌딩을 수행한다. 구체적으로, 종래의 그래픽스 처리 장치는 복수의 GPU 중 제1 GPU를 이용하여 복수의 어플리케이션 중 제1 어플리케이션에 대한 렌더링을 수행하고, 제2 GPU를 이용하여 제2 어플리케이션에 대한 렌더링을 수행한다. 따라서, 복수의 어플리케이션에 대한 렌더링 작업을 보다 빠르게 수행할 수 있다.
그러나, 이 같은 종래의 그래픽스 처리 장치는 복수의 GPU 중 어느 하나의 GPU를 통해 각 GPU에서 렌더링된 어플리케이션 관련 영상 데이터를 블렌딩하여 출력한다. 이와 같이, 종래의 그래픽스 처리 장치는 특정 GPU를 통해 각 GPU에서 렌더링된 어플리케이션 관련 영상 데이터에 대한 블렌딩을 수행함에 따라, 해당 GPU에서의 영상 처리 작업에 대한 로드가 발생할 수 있다.
뿐만 아니라, 종래의 그래픽스 처리 장치는 복수의 GPU 중 특정 GPU에서 렌더링된 어플리케이션 관련 영상 데이터를 블렌딩하고 있는 동안, 나머지 GPU에 대해서 유휴 상태를 유지시킴으로써, 복수의 GPU에 대해서 보다 효율적으로 이용하지 못하는 문제가 있다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은, 그래픽스 처리 장치에서 복수의 GPU를 보다 효율적으로 이용하여 영상 처리 속도를 향상시키기 위함을 목적으로 한다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시에에 따른 복수의 GPU를 이용하여 어플리케이션 영상을 처리하는 방법에 있어서, 상기 방법은 복수의 GPU를 이용하여 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터를 각각 렌더링하는 단계, 상기 복수의 GPU 각각에서 렌더링된 복수의 영상 데이터를 블렌딩하는 단계 및 상기 블렌딩된 영상을 출력하는 단계를 포함하며, 상기 블렌딩하는 단계는, 상기 렌더링 작업을 수행하지 않는 GPU 및 상기 복수의 GPU를 제외한 영상 처리 구성 요소 중 적어도 하나를 통해 블렌딩하는 것을 특징으로 한다.
그리고, 상기 영상 처리 구성 요소는, 2D 가속기 및 영상 컨트롤러 중 적어도 하나로 구현될 수 있다.
또한, 상기 복수의 GPU 각각에 대해 상기 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업을 스케줄링 하는 단계를 더 포함하며, 상기 렌더링하는 단계는, 상기 스케줄링에 따라 상기 복수의 GPU 각각을 이용하여 상기 복수의 영상 데이터를 렌더링할 수 있다.
그리고, 상기 스케줄링 하는 단계는, 상기 복수의 GPU 각각에서 기수행되고 있는 렌더링 작업 상태에 기초하여 상기 복수의 GPU 중 유휴 상태에 있는 적어도 하나의 GPU에 상기 복수의 영상 데이터에 대한 렌더링 작업을 추가적으로 스케줄링할 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 단일 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 GPU 중 제1 GPU를 통해 상기 복수의 영상 데이터 중 제1 영상 데이터에 대한 렌더링을 수행하고, 제2 GPU를 통해 상기 복수의 영상 데이터 중 제2 영상 데이터에 대한 렌더링을 수행할 수 있다.
그리고, 상기 렌더링을 수행하는 단계는, 복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 GPU 중 제1 및 제2 GPU를 통해 제1 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 렌더링을 수행하고, 제3 및 제4 GPU를 통해 제2 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 렌더링을 수행할 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 단일 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 GPU 중 제1 및 제2 GPU를 통해 상기 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 연산 처리를 수행하며, 제3 및 제4 GPU를 통해 상기 연산 처리 결과에 기초하여 상기 제1 및 제2 영상 데이터에 대한 렌더링을 수행할 수 있다.
그리고, 상기 렌더링을 수행하는 단계는, 복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 GPU 중 제1 및 제2 GPU를 통해 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리를 수행하고, 제3 및 제4 GPU를 통해 상기 연산 처리 결과에 기초하여 상기 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링을 수행할 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 그래픽스 처리 장치는 디스플레이부, 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터를 각각 렌더링하는 복수의 GPU 및 상기 복수의 GPU 각각에서 렌더링된 복수의 영상 데이터를 블렌딩하여 상기 디스플레이부를 통해 디스플레이하는 제어부를 포함하며, 상기 제어부는, 상기 렌더링 작업을 수행하지 않는 GPU 및 상기 복수의 GPU를 제외한 영상 처리 구성 요소 중 적어도 하나를 통해 블렌딩하도록 제어한다.
그리고, 상기 영상 처리 구성 요소는, 2D 가속기 및 영상 컨트롤러 중 적어도 하나로 구현될 수 있다.
또한, 저장부를 더 포함하며, 상기 제어부는, 상기 복수의 GPU 각각에 대해 상기 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업을 스케줄링하여 상기 저장부에 저장하며, 상기 복수의 GPU는, 상기 저장부에 기저장된 스케줄링에 따라 상기 복수의 영상 데이터를 렌더링할 수 있다.
그리고, 상기 제어부는, 상기 복수의 GPU 각각에서 기수행되고 있는 렌더링 작업 상태에 기초하여 상기 복수의 GPU 중 유휴 상태에 있는 적어도 하나의 GPU에 상기 복수의 영상 데이터에 대한 렌더링 작업을 추가적으로 스케줄링할 수 있다.
또한, 상기 복수의 GPU는, 단일 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 영상 데이터 중 제1 영상 데이터에 대한 렌더링을 수행하는 제1 GPU 및 상기 복수의 영상 데이터 중 제2 영상 데이터에 대한 렌더링을 수행하는 제2 GPU를 포함할 수 있다.
그리고, 상기 복수의 GPU는, 복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라 제1 어플리케이션을 구성하는 제1 영상 데이터에 대한 렌더링을 수행하는 제1 GPU, 상기 제1 어플리케이션을 구성하는 제2 영상 데이터에 대한 렌더링을 수행하는 제2 GPU, 제2 어플리케이션을 구성하는 제1 영상 데이터에 대한 렌더링을 수행하는 제3 GPU 및 상기 제2 어플리케이션을 구성하는 제2 영상 데이터에 대한 렌더링을 수행하는 제4 GPU를 포함할 수 있다.
또한, 상기 복수의 GPU는, 단일 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 영상 데이터 중 제1 영상 데이터에 대한 연산 처리를 수행하는 제1 GPU, 제2 영상 데이터에 대한 연산 처리를 수행하는 제2 GPU, 상기 제1 GPU의 연산 처리 결과에 기초하여 상기 제1 영상 데이터에 대한 렌더링을 수행하는 제3 GPU 및 상기 제2 GPU의 연산 처리 결과에 기초하여 상기 제2 영상 데이터에 대한 렌더링을 수행하는 제4 GPU를 포함할 수 있다.
그리고, 상기 복수의 GPU는, 복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라 제1 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리를 수행하는 제1 GPU, 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리를 수행하는 제2 GPU, 상기 제1 GPU의 연산 처리 결과에 기초하여 상기 제1 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링을 수행하는 제3 GPU 및 상기 제2 GPU의 연산 처리 결과에 기초하여 상기 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링을 수행하는 제4 GPU를 포함할 수 있다.
이상과 같이 본 발명의 다양한 실시 예에 따르면, 그래픽스 처리 장치는 복수의 GPU를 보다 효율적으로 이용하여 영상 처리 속도를 향상시킬 수 있다.
도 1은 일반적인 그래픽스 처리 장치에서 복수의 GPU를 통해 어플리케이션에 대한영상 처리를 수행하는 예시도,
도 2는 본 발명에 따른 그래픽스 처리 장치의 블록도,
도 3은 본 발명의 일 실시예에 따른 복수의 GPU에서 스케줄링에 따라 복수의 영상 데이터에 대한 렌더링 작업을 수행하는 예시도,
도 4는 본 발명의 일 실시예에 따른 그래픽스 처리 장치에서 단일의 어플리케이션 영상에 대한 영상 처리를 수행하는 제1 예시도,
도 5는 본 발명의 또다른 실시예에 따른 그래픽스 처리 장치에서 단일의 어플리케이션에 대한 영상 처리를 수행하는 제2 예시도,
도 6은 본 발명의 또다른 실시예에 따른 그래픽스 처리 장치에서 단일의 어플리케이션에 대한 영상 처리를 수행하는 제3 예시도,
도 7은 본 발명의 일 실시예에 따른 그래픽스 처리 장치에서 복수의 어플리케이션에 대한 영상 처리를 수행하는 제1 예시도,
도 8은 본 발명의 또다른 실시예에 따른 그래픽스 처리 장치에서 복수의 어플리케이션에 대한 영상 처리를 수행하는 제2 예시도,
도 9는 본 발명의 일 실시예에 따른 그래픽스 처리 장치에서 적어도 하나의 어플리케이션에 대한 영상 처리를 수행하는 방법의 흐름도이다.
이하 첨부된 도면들을 참조하여 본 발명의 일시 예를 보다 상세하게 설명한다.
도 1은 일반적인 그래픽스 처리 장치에서 복수의 GPU를 통해 어플리케이션에 대한영상 처리를 수행하는 예시도이다.
도 1에 도시된 바와 같이, 일반적인 그래픽스 처리 장치는 복수의 GPU(Graphich Processing Unit)를 통해 복수의 어플리케이션에 대한 영상 처리를 수행한다. 도시된 바와 같이, 제1 및 제2 어플리케이션을 구성하는 복수의 영상 데이터 각각은 제1 및 제2 GPU(10,20)에 입력될 수 있다.
이 같이, 제1 및 제2 어플리케이션을 구성하는 복수의 영상 데이터 각각이 제1 및 제2 GPU(10,20)에 입력되면, 제1 및 제2 GPU(10,20) 각각은 입력된 제1 및 제2 어플리케이션을 구성하는 영상 데이터에 대한 렌더링(11,21)을 수행한다. 즉, 제1 GPU(10)는 제1 어플리케이션을 구성하는 영상 데이터에 대한 렌더링(11)을 수행하며, 제2 GPU(20)는 제2 어플리케이션을 구성하는 영상 데이터에 대한 렌더링(21)을 수행한다.
한편, 제2 GPU(20)는 제2 어플리케이션을 구성하는 영상 데이터별 렌더링 수행 후, 렌더링된 각 영상 데이터를 제1 GPU(10)로 전송한다. 이에 따라, 제1 GPU(10)는 제1 어플리케이션을 구성하는 복수의 영상 데이터 중 렌더링된 영상 데이터와 제2 GPU(20)로부터 렌더링된 제2 어플리케이션에 대한 영상 데이터를 블렌딩(Blending)(13)한다. 이후, 제1 GPU(10)는 제1 및 제2 어플리케이션의 각 영상 데이터가 블렌딩된 영상 이미지를 출력한다(14).
이와 같이, 종래의 그래픽스 처리 장치는 제1 및 제2 GPU(10,20)를 통해 복수의 어플리케이션에 대한 렌더링을 각각 수행함으로써, 복수의 어플리케이션에 대한 렌더링 작업이 보다 신속하게 이루어질 수 있다. 그러나, 제 및 제2 GPU(10,20)를 통해 렌더링된 영상 데이터는 제1 GPU(10)를 통해 블렌딩되기 때문에, 제1 GPU(10)에서 블렌딩을 수행하는 동안 제2 GPU(20)는 별도의 영상 처리 과정을 수행하지 않는다. 따라서, 종래의 그래픽스 처리 장치는 복수의 GPU에 대해서 보다 효율적으로 이용하지 못하는 문제가 있다.
도 2는 본 발명에 따른 그래픽스 처리 장치의 블록도이다.
도 2에 도시된 바와 같이, 그래픽스 처리 장치는 수신부(210), 복수의 GPU(220), 제어부(230), 저장부(240) 및 디스플레이부(250)를 포함한다. 이 같은 그래픽스 처리 장치는 스마트폰, 테블릿 PC, 스마트 TV 등에 적용될 수 있다.
수신부(210)는 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터를 수신한다. 그리고, 복수의 GPU(220)는 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터를 각각 렌더링한다. 여기서, 복수의 GPU(220)는 3D 영상 그래픽에 대한 전용 프로세서이다.
제어부(230)는 그래픽스 처리 장치의 각 구성에 대한 동작을 전반적으로 제어한다. 특히, 제어부(230)는 복수의 GPU(220) 각각에서 렌더링된 복수의 영상 데이터를 블레딩하고, 블렌딩된 영상을 디스플레이하도록 디스플레이부(250)를 제어한다. 구체적으로, 제어부(230)는 복수의 GPU(220) 중 렌더링 작업을 수행하지 않는 GPU 및 복수의 GPU(220)를 제외한 영상 처리 구성 요소 중 적어도 하나를 통해 블렌딩하도록 제어한다. 여기서, 영상 처리 구성 요소는 2D 그래픽 영상에 대한 영상 처리를 수행하는 2D 가속기(260) 및 디스플레이부(250)를 통해 블렌딩된 영상을 출력하는 영상 컨트롤러(270) 중 적어도 하나로 구현될 수 있다. 따라서, 2D 가속기(260) 또는 영상 컨트롤러(270)는 복수의 GPU(220) 중 적어도 두 개의 GPU로부터 렌더링된 영상 데이터를 블렌딩할 수 있다.
한편, 본 발명에 따른 제어부(230)는 복수의 GPU(220) 중 렌더링 작업을 수행하지 않는 GPU, 2D 가속기(260) 및 영상 컨트롤러(270) 중 적어도 하나를 통해 렌더링된 영상 데이터를 블렌딩하는 것에 대해서 한정하였다. 그러나, 본 발명은 이에 한정되지 않으며, 제어부(230)는 그래픽스 처리 장치 내의 또다른 DSP(Digital Signal Processing) 구성 요소를 이용하여 렌더링된 영상 데이터를 블렌딩할 수 있다.
한편, 본 발명에 따른 제어부(230)는 복수의 GPU(220) 각각에 대해 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업을 스케줄링하여 저장부(240)에 저장한다. 이에 따라, 복수의 GPU(220) 각각은 저장부(240)에 기저장된 스케줄링에 따라 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터를 렌더링하여 저장부(240)에 임시 저장할 수 있다.
또한, 제어부(230)는 복수의 GPU(220) 각각에서 기설정된 스케줄링에 따라 기수행되고 있는 랜더링 작업 상태에 기초하여 복수의 GPU(220) 중 유휴 상태에 있는 적어도 하나의 GPU에 복수의 영상 데이터에 대한 렌더링 작업을 추가적으로 스케줄링할 수 있다. 따라서, 복수의 GPU(220) 중 유휴 상태에 있는 적어도 하나의 GPU는 추가적으로 설정된 스케줄링에 따라 복수의 영상 데이터에 대한 렌더링 작업을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 복수의 GPU에서 스케줄링에 따라 복수의 영상 데이터에 대한 렌더링 작업을 수행하는 예시도이다.
도 3에 도시된 바와 같이, 제1 및 제2 GPU(221,222)은 기설정된 스케줄링에 따라 순차적으로 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 관련 영상 처리 작업을 수행할 수 있다. 여기서, 각 블록의 길이는 각 영상 데이터에 대한 렌더링 관련 영상 처리 작업을 수행하는데 걸리는 시간 정도를 나타낸다. 즉, 어플리케이션을 구성하는 복수의 영상 데이터 중 제1 영상 데이터는 렌더링 관련 영상 처리 작업을 수행하는데 가장 많은 시간이 소요되며, 제2 영상 데이터는 렌더링 관련 영상 처리 작업을 수행하는 가장 적은 시간이 요소되는 것을 알 수 있다. 이 같은 어플리케이션을 구성하는 복수의 영상 데이터에 대해서, 제1 및 제2 GPU(221,222)는 기설정된 스케줄링에 따라 렌더링 관련 영상 처리 작업을 수행할 수 있다.
구체적으로, 제1 GPU(221)는 기설정된 스케줄링에 따라 어플리케이션을 구성하는 복수의 영상 데이터 중 제1 영상 데이터에 대한 연산 처리(#321-1)를 수행한 후, 제2 영상 데이터에 대한 렌더링(#322-1)를 수행하며, 제2 영상 데이터에 대한 렌더링(#322-1)이 완료되면, 제3 영상 데이터에 대한 렌더링(#323-1)를 수행한다.
한편, 제2 GPU(222)는 제1 GPU(221)에서 제1 영상 데이터에 대한 연산 처리(#321-1)를 수행하는 시점에 제2 영상 데이터에 대한 연산 처리(#322-2)를 수행한다. 제2 영상 데이터에 대한 연산 처리(#322-2)가 완료되면, 제2 GPU(222)는 제1 GPU(221)에서 제1 영상 데이터(321)에 대한 연산 처리(#221-1) 수행에 따라 저장부(240)에 임시 저장된 연산 처리 결과에 기초하여 제1 영상 데이터에 대한 렌더링(#321-2)을 수행한다.
한편, 전술한 바와 같이, 제2 영상 데이터에 대한 렌더링(322-1)를 수행하는 제1 GPU(221)는 제2 GPU(222)에서 제2 영상 데이터에 대한 연산 처리(#322-2)에 따라 저장부(240)에 임시 저장된 연산 처리 결과에 기초하여 제2 영상 데이터에 대한 렌더링(#322-1)을 수행할 수 있다.
이와 같이, 제1 및 제2 GPU(221,222)는 기설정된 스케줄링에 따라 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 관련 영상 처리 작업을 수행할 수 있다.
한편, 도시된 바와 같이, 제1 GPU(221)에서 제3 영상 데이터에 대한 렌더링(#323-1)을 수행하는 시저에 제2 GPU(222)는 유휴 상태가 될 수 있다. 이 경우, 제어부(230)는 유휴 상태의 제2 GPU(222)에 해당 어플리케이션을 구성하는 또다른 영상 데이터 혹은 또다른 어플리케이션을 구성하는 복수의 영상 데이터 중 하나의 영상 데이터에 대한 렌더링 관련 스케줄링을 추가로 설정할 수 있다.
이에 따라, 제2 GPU(222)는 제1 영상 데이터에 대한 렌더링(#321-2)을 수행한 후, 추가로 설정된 스케줄링에 따라 또다른 영상 데이터에 대한 렌더링 관련 영상 처리 작업을 수행할 수 있다.
이하에서는, 다양한 실시예를 통해 본 발명에 따른 그래픽스 처리 장치에서 어플리케이션 영상에 대한 영상 처리를 수행하는 동작에 대해서 상세히 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 그래픽스 처리 장치에서 단일의 어플리케이션 영상에 대한 영상 처리를 수행하는 제1 예시도이며, 도 5는 본 발명의 또다른 실시예에 따른 그래픽스 처리 장치에서 단일의 어플리케이션에 대한 영상 처리를 수행하는 제2 예시도이다.
도 4에 도시된 바와 같이, 단일의 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업 스케줄링에 따라, 제1 GPU(221)는 단일의 어플리케이션을 구성하는 복수의 영상 데이터 중 제1 영상 데이터에 대한 렌더링을 수행한다. 그리고, 제2 GPU(222)는 단일의 어플리케이션을 구성하는 복수의 영상 데이터 중 제2 영상 데이터에 대한 렌더링을 수행한다. 이와 같이, 제1 및 제2 GPU(221,222)를 통해 단일의 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 렌더링이 수행되면, 영상 컨트롤러(270)는 제1 및 제2 GPU(221,222)를 통해 렌더링된 제1 및 제2 영상 데이터에 대한 블렌딩을 수행하여 디스플레이부(250)로 출력한다.
한편, 도 5에 도시된 바와 같이, 그래픽스 처리 장치가 2D 가속기(260)를 구비할 경우, 2D 가속기(260)는 제1 및 제2 GPU(221,222)를 통해 렌더링된 제1 및 제2 영상 데이터에 대한 블렌딩을 수행할 수 있다. 이 같이, 2D 가속기(260)를 통해 단일 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 블렌딩이 수행되면, 영상 컨트롤러(270)는 블렌딩된 영상을 디스플레이부(250)로 출력할 수 있다.
한편, 본 발명은 이에 한정되지 않으며, 그래픽스 처리 장치는 전술한 바와 같이, 단일의 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 렌더링을 수행하는 제1 및 제2 GPU(221,222)를 제외한 나머지 GPU를 이용하여 제1 및 제2 GPU(221,222)를 통해 렌더링된 제1 및 제2 영상 데이터에 대한 블렌딩을 수행할 수 있다.
도 6은 본 발명의 또다른 실시예에 따른 그래픽스 처리 장치에서 단일의 어플리케이션에 대한 영상 처리를 수행하는 제3 예시도이다.
도 6에 도시된 바와 같이, 단일의 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업 스케줄링에 따라, 제1 GPU(221)는 복수의 영상 데이터 중 제1 영상 데이터에 대한 연산 처리를 수행하고, 제2 GPU(22)는 복수의 영상 데이터 중 제2 영상 데이터에 대한 연산 처리를 수행한다.
이후, 제3 GPU(223)는 제1 GPU(221)로부터 연산 처리된 제1 영상 데이터에 대한 연산 처리 결과에 기초하여 제1 영상 데이터에 대한 렌더링을 수행한다. 그리고, 제4 GPU(224)는 제2 GPU(222)로부터 연산 처리된 제2 영상 데이터에 대한 연산 처리 결과에 기초하여 제2 영상 데이터에 대한 렌더링을 수행한다.
제3 및 제4 GPU(223,224)를 통해 단일의 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 렌더링이 수행되면, 2D 가속기(260)는 제3 및 제4 GPU(223,224)를 통해 렌더링된 제1 및 제2 영상 데이터에 대한 블렌딩을 수행하여 영상 컨트롤러(270)로 출력한다. 이에 따라, 영상 컨트롤러(270)는 2D 가속기(260)를 통해 블렌딩된 영상 데이터를 디스플레이부(250)로 출력하고, 따라서, 디스플레이부(250)는 블렌딩된 어플리케이션 영상을 디스플레이할 수 있다.
이하에서는, 복수의 GPU(220)를 통해 복수의 어플리케이션에 대한 영상 처리를 수행하는 동작에 대해서 상세히 설명하도록 한다.
도 7은 본 발명의 일 실시예에 따른 그래픽스 처리 장치에서 복수의 어플리케이션에 대한 영상 처리를 수행하는 제1 예시도이다.
도 7에 도시된 바와 같이, 복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라, 제1 GPU(221)는 복수의 어플리케이션 중 제1 어플리케이션을 구성하는 제1 영상 데이터에 대한 렌더링을 수행하고, 제2 GPU(222)는 제1 어플리케이션을 구성하는 제2 영상 데이터에 대한 렌더링을 수행한다.
그리고, 제3 GPU(223)는 복수의 어플리케이션 중 제2 어플리케이션을 구성하는 제1 영상 데이터에 대한 렌더링을 수행하고, 제4 GPU(224)는 제2 어플리케이션을 구성하는 제2 영상 데이터에 대한 렌더링을 수행한다.
이 같이, 제1 내지 제4 GPU(221~224)를 통해 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링이 수행되면, 제1 내지 제4 GPU(221~224)는 렌더링된 각각의 영상 데이터를 2D 가속기(260)로 출력한다. 이에 따라, 2D 가속기(260)는 제1 내지 제4 GPU(221~224)를 통해 렌더링된 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터를 블렌딩한다. 즉, 2D 가속기(260)는 제1 및 제2 GPU(221,222)를 통해 렌더링된 제1 어플리케이션을 구성하는 제1 및 제2 영상 데이터와 제3 및 제4 GPU(223,224)를 통해 렌더링된 제2 어플리케이션을 구성하는 제1 및 제2 영상 데이터를 블렌딩하여 영상 컨트롤러(270)로 출력한다.
이에 따라, 영상 컨트롤러(270)는 2D 가속기(260)를 통해 블렌딩된 영상 데이터를 디스플레이부(250)로 출력하고, 따라서, 디스플레이부(250)는 블렌딩된 복수의 어플리케이션 영상을 디스플레이할 수 있다.
도 8은 본 발명의 또다른 실시예에 따른 그래픽스 처리 장치에서 복수의 어플리케이션에 대한 영상 처리를 수행하는 제2 예시도이다.
도 8에 도시된 바와 같이, 복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라, 제1 GPU(221)는 복수의 어플리케이션 중 제1 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리를 수행하고, 제2 GPU(222)는 복수의 어플리케이션 중 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리를 수행한다.
제1 및 제2 GPU(221,222)를 통해 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리가 수행되면, 제3 및 제4 GPU(223,224)는 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리 결과에 기초하여 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링를 수행한다. 구체적으로, 제3 GPU(223)는 제1 GPU(221)를 통해 연산 처리된 제1 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리 결과에 기초하여 제1 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링을 수행한다. 그리고, 제4 GPU(22$)는 제2 GPU(222)를 통해 연산 처리된 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리 결과에 기초하여 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링을 수행한다.
이 같이, 제3 및 제4 GPU(223,224)를 통해 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링이 수행되면, 제3 및 제4 GPU(223,224)는 렌더링된 각각의 영상 데이터를 2D 가속기(260)로 출력한다. 이에 따라, 2D 가속기(260)는 제3 및 제4 GPU(223,224)를 통해 렌더링된 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터를 블렌딩한다. 즉, 2D 가속기(260)는 제3 GPU(223)를 통해 렌더링된 제1 어플리케이션을 구성하는 영상 데이터와 제4 GPU(224)를 통해 렌더링된 제2 어플리케이션을 구성하는 영상 데이터를 블렌딩하여 영상 컨트롤러(270)로 출력한다.
이에 따라, 영상 컨트롤러(270)는 2D 가속기(260)를 통해 블렌딩된 영상 데이터를 디스플레이부(250)로 출력하고, 따라서, 디스플레이부(250)는 블렌딩된 복수의 어플리케이션 영상을 디스플레이할 수 있다.
지금까지, 본 발명에 따른 그래픽스 처리 장치에서 복수의 GPU(220)를 이용하여 적어도 하나의 어플리케이션에 대한 영상 처리를 수행하는 동작에 대해서 상세히 설명하였다. 이하에서는, 본 발명에 따른 그래픽스 처리 장치에서 복수의 GPU(220)를이용하여 적어도 하나의 어플리케이션에 대한 영상 처리를 수행하는 방법에 대해서 상세히 설명하도록 한다.
도 9는 본 발명의 일 실시예에 따른 그래픽스 처리 장치에서 적어도 하나의 어플리케이션에 대한 영상 처리를 수행하는 방법의 흐름도이다.
도 9에 도시된 바와 같이, 그래픽스 처리 장치는 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터가 입력되면, 복수의 GPU 각각에 대해서 해당 복수의 영상 데이터에 대한 렌더링 작업을 스케줄링한다(S910). 이후, 그래픽스 처리 장치는 기설정된 스케줄링에 따라, 복수의 GPU 각각을 이용하여 적어도 하나의 어플리케이션을 구성하는 복수의 영상 데이터를 각각 렌더링한다(S920). 이후, 그래픽스 처리 장치는 복수의 GPU 각각에서 렌더링된 복수의 영상 데이터를 블렌딩하고, 그 블렌딩된 영상을 출력한다(S930,S940).
구체적으로, 그래픽스 처리 장치는 복수의 GPU에서 복수의 영상 데이터에 대한 렌더링이 수행되면, 복수의 GPU 중 렌더링을 수행하지 않는 GPU 및 복수의 GPU를 제외한 영상 처리 구성 요소 중 적어도 하나를 통해 블랭딩할 수 있다. 여기서, 영상 처리 구성 요소는 2D 그래픽 영상에 대한 영상 처리를 수행하는 2D 가속기 및 블렌딩된 영상을 출력하는 영상 컨트롤 중 적어도 하나가 될 수 있다. 따라서, 2D 가속기 또는 영상 컨트롤러는 복수의 GPU 중 적어도 두 개의 GPU로부터 렌더링된 영상 데이터를 블렌딩할 수 있다.
한편, 그래픽스 처리 장치는 단계 S920에서 복수의 GPU 각각에서 기설정된 스케줄링에 기초하여 기수행되고 있는 렌더링 작업 상태에 기초하여 복수의 GPU 중 유휴 상태에 있는 GPU가 있는지 여부를 판단한다. 판단 결과, 복수의 GPU 중 적어도 하나의 GPU가 유휴 상태에 있는 것으로 판단되면, 그래픽스 처리 장치는 단계 S910을 통해 유휴 상태에 있는 GPU에 해당 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업을 추가적으로 스케줄링할 수 있다. 따라서, 유휴 상태에 있는 GPU는 추가적으로 설정된 스케줄링에 따라 복수의 영상 데이터에 대한 렌더링 작업을 수행할 수 있다.
한편, 기설정된 스케줄링에 따라 복수의 GPU를 이용하여 복수의 영상 데이터를 렌더링하는 그래픽스 처리 장치는 다음과 같은 실시예를 통해 해당 영상 데이터에 대한 렌더링을 수행할 수 있다.
먼저, 복수의 GPU 각각은 단일 어플리케이션을 구성하는 복수의 영상 데이터에 대한 렌더링 작업 스케줄링이 설정될 수 있다. 이 경우, 일 실시예에 따라 그래픽스 처리 장치는 복수의 GPU 중 제1 GPU를 통해 단일 어플리케이션을 구성하는 복수의 영상 데이터 중 제1 영상 데이터에 대한 렌더링을 수행하고, 제2 GPU를 통해 복수의 영상 데이터 중 제2 영상 데이터에 대한 렌더링을 수행할 수 있다.
또다른 실시예에 따라, 그래픽스 처리 장치는 복수의 GPU 중 제1 및 제2 GPU를 통해 단일의 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 연산 처리를 수행한다. 제1 및 제2 영상 데이터에 대한 연산 처리가 수행되면, 그래픽스 처리 장치는 복수의 GPU 중 제3 GPU를 통해 제1 GPU에서 연산 처리된 제1 영상 데이터에 대한 연산 처리 결과에 기초하여 제1 영상 데이터에 대한 렌더링을 수행한다. 그리고, 그래픽스 처리 장치는 제4 GPU를 통해 제2 GPU에서 연산 처리된 제2 영상 데이터에 대한 연산 처리 결과에 기초하여 제2 영상 데이터에 대한 렌더링을 수행할 수 있다.
이와 같이, 단일 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 렌더링이 수행되면, 그래픽스 처리 장치는 전술한 바와 같이, 2D 가속기를 통해 기렌더링된 제1 및 제2 영상 데이터에 대한 블렌딩을 수행하고, 그 블렌딩된 어플리케이션 영상을 디스플레이할 수 있다.
한편, 복수의 GPU 각각은 복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링이 설정될 수 있다. 이 경우, 일 실시예에 따라 그래픽스 처리 장치는 복수의 GPU 중 제1 및 제2 GPU를 통해 복수의 어플리케이션 중 제1 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 렌더링을 수행한다. 그리고, 그래픽스 처리 장치는 제3 및 제4 GPU를 통해 복수의 어플리케이션 중 제2 어플리케이션을 구성하는 제1 및 제2 영상 데이터에 대한 렌더링을 수행한다.
이 같이, 제1 내지 제4 GPU를 통해 제1 및 제2 어플리케이션을 구성하는 각각의 영상 데이터에 대한 렌더링이 수행되면, 그래픽스 처리 장치는 2D 가속기를 통해 기렌더링된 제1 및 제2 어플리케이션을 구성하는 각각의 영상 데이터에 대한 블렌딩을 수행하고, 그 블렌딩된 복수의 어플리케이션 영상을 디스플레이할 수 있다.
또다른 실시예에 따라, 그래픽스 처리 장치는 복수의 GPU 중 제1 및 제2 GPU를 통해 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리를 수행한다. 제1 및 제2 GPU를 통해 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리가 수행되면, 그래픽스 처리 장치는 제3 및 제4 GPU를 통해 제1 및 제2 GPU로부터 연산 처리된 연산 처리 결과에 기초하여 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링을 수행할 수 있다.
즉, 그래픽스 처리 장치는 제3 GPU를 통해 제1 GPU로부터 연산 처리된 제1 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리 결과에 기초하여 제1 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링을 수행한다. 또한, 그래픽스 처리 장치는 제4 GPU를 통해 제2 GPU로부터 연산 처리된 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 연산 처리 결과에 기초하여 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링을 수행한다.
이와 같이, 제3 및 제4 GPU를 통해 제1 및 제2 어플리케이션을 구성하는 각 영상 데이터에 대한 렌더링이 수행되면, 그래픽스 처리 장치는 2D 가속기를 통해 기렌더링된 제1 및 제2 어플리케이션을 구성하는 각각의 영상 데이터에 대한 블렌딩을 수행하고, 그 블렌딩된 복수의 어플리케이션 영상을 디스플레이할 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
210 : 수신부 220 : GPU
230 : 제어부 240 : 저장부
250 : 디스플레이부 260 : 2D 가속기
270 : 영상 컨트롤러

Claims (16)

  1. 복수의 GPU를 이용하여 어플리케이션을 처리하는 방법에 있어서,
    복수의 GPU를 이용하여 그래픽 처리 장치에서 실행되는 적어도 하나의 어플리케이션을 구성하는 복수의 그래픽 데이터를 각각 렌더링하는 단계;
    상기 복수의 GPU 각각에서 렌더링된 복수의 그래픽 데이터를 블렌딩하는 단계; 및
    상기 복수의 그래픽 데이터가 블렌딩된 영상을 출력하는 단계;를 포함하며,
    상기 블렌딩하는 단계는,
    상기 렌더링에 이용되는 상기 복수의 GPU 이외의 다른 GPU를 통해 블렌딩하는 것을 특징으로 하는 그래픽스 처리 방법.
  2. 제 1 항에 있어서,
    상기 블렌딩하는 단계는.
    상기 렌더링에 이용되지 않는 2D 가속기를 통해 블렌딩하고, 상기 2D 가속기는 상기 복수의 GPU 및 상기 다른 GPU와 상이하며,
    상기 블렌딩된 영상을 출력하는 단계는,
    영상 컨트롤러를 통해 출력하는 것을 특징으로 하는 그래픽스 처리 방법.
  3. 제 1 항에 있어서,
    상기 복수의 GPU 각각에 대해 상기 적어도 하나의 어플리케이션을 구성하는 복수의 그래픽 데이터에 대한 렌더링 작업을 스케줄링 하는 단계;를 더 포함하며,
    상기 렌더링하는 단계는,
    상기 스케줄링에 따라 상기 복수의 GPU 각각을 이용하여 상기 복수의 그래픽 데이터를 렌더링하는 것을 특징으로 하는 그래픽스 처리 방법.
  4. 제 3 항에 있어서,
    상기 스케줄링 하는 단계는,
    상기 복수의 GPU 각각에서 기수행되고 있는 렌더링 작업 상태에 기초하여 상기 복수의 GPU 중 유휴 상태에 있는 적어도 하나의 GPU에 상기 복수의 그래픽 데이터에 대한 렌더링 작업을 추가적으로 스케줄링하는 것을 특징으로 하는 그래픽스 처리 방법.
  5. 제 3 항에 있어서,
    상기 렌더링을 수행하는 단계는,
    단일 어플리케이션을 구성하는 복수의 그래픽 데이터에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 GPU 중 제1 GPU를 통해 상기 복수의 그래픽 데이터 중 제1 그래픽 데이터에 대한 렌더링을 수행하고, 제2 GPU를 통해 상기 복수의 그래픽 데이터 중 제2 그래픽 데이터에 대한 렌더링을 수행하는 것을 특징으로 하는 그래픽스 처리 방법.
  6. 제 3 항에 있어서,
    상기 렌더링을 수행하는 단계는,
    복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 GPU 중 제1 및 제2 GPU를 통해 제1 어플리케이션을 구성하는 제1 및 제2 그래픽 데이터에 대한 렌더링을 수행하고, 제3 및 제4 GPU를 통해 제2 어플리케이션을 구성하는 제1 및 제2 그래픽 데이터에 대한 렌더링을 수행하는 것을 특징으로 하는 그래픽스 처리 방법.
  7. 제 3 항에 있어서,
    상기 렌더링을 수행하는 단계는,
    단일 어플리케이션을 구성하는 복수의 그래픽 데이터에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 GPU 중 제1 및 제2 GPU를 통해 상기 어플리케이션을 구성하는 제1 및 제2 그래픽 데이터에 대한 연산 처리를 수행하며, 제3 및 제4 GPU를 통해 상기 연산 처리 결과에 기초하여 상기 제1 및 제2 그래픽 데이터에 대한 렌더링을 수행하는 것을 특징으로 하는 그래픽스 처리 방법.
  8. 제 3 항에 있어서,
    상기 렌더링을 수행하는 단계는,
    복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 GPU 중 제1 및 제2 GPU를 통해 제1 및 제2 어플리케이션을 구성하는 각 그래픽 데이터에 대한 연산 처리를 수행하고, 제3 및 제4 GPU를 통해 상기 연산 처리 결과에 기초하여 상기 제1 및 제2 어플리케이션을 구성하는 각 그래픽 데이터에 대한 렌더링을 수행하는 것을 특징으로 하는 그래픽스 처리 방법.
  9. 디스플레이부;
    그래픽스 처리 장치에서 실행되는 적어도 하나의 어플리케이션을 구성하는 복수의 그래픽 데이터를 각각 렌더링하는 복수의 GPU; 및
    상기 복수의 GPU 각각에서 렌더링된 복수의 그래픽 데이터를 블렌딩하여 상기 디스플레이부를 통해 디스플레이하는 제어부;를 포함하며,
    상기 제어부는,
    상기 렌더링에 이용되는 상기 복수의 GPU 이외의 다른 GPU를 통해 블렌딩하도록 제어하는 것을 특징으로 하는 그래픽스 처리 장치.
  10. 제 9 항에 있어서,
    상기 제어부는,
    상기 렌더링에 이용되지 않는 2D 가속기를 통해 상기 복수의 그래픽 데이터를 블렌딩하도록 제어하고, 상기 2D 가속기는 상기 복수의 GPU 및 상기 다른 GPU와 상이하며, 영상 컨트롤러를 통해 블렌딩된 영상을 디스플레이하는 것을 특징으로 하는 그래픽스 처리 장치.
  11. 제 9 항에 있어서,
    저장부;를 더 포함하며,
    상기 제어부는,
    상기 복수의 GPU 각각에 대해 상기 적어도 하나의 어플리케이션을 구성하는 복수의 그래픽 데이터에 대한 렌더링 작업을 스케줄링하여 상기 저장부에 저장하며,
    상기 복수의 GPU는,
    상기 저장부에 기저장된 스케줄링에 따라 상기 복수의 그래픽 데이터를 렌더링하는 것을 특징으로 하는 그래픽스 처리 장치.
  12. 제 11 항에 있어서,
    상기 제어부는,
    상기 복수의 GPU 각각에서 기수행되고 있는 렌더링 작업 상태에 기초하여 상기 복수의 GPU 중 유휴 상태에 있는 적어도 하나의 GPU에 상기 복수의 그래픽 데이터에 대한 렌더링 작업을 추가적으로 스케줄링하는 것을 특징으로 하는 그래픽스 처리 장치.
  13. 제 11 항에 있어서,
    상기 복수의 GPU는,
    단일 어플리케이션을 구성하는 복수의 그래픽 데이터에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 그래픽 데이터 중 제1 그래픽 데이터에 대한 렌더링을 수행하는 제1 GPU; 및
    상기 복수의 그래픽 데이터 중 제2 그래픽 데이터에 대한 렌더링을 수행하는 제2 GPU;
    를 포함하는 것을 특징으로 하는 그래픽스 처리 장치.
  14. 제 11 항에 있어서,
    상기 복수의 GPU는,
    복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라 제1 어플리케이션을 구성하는 제1 그래픽 데이터에 대한 렌더링을 수행하는 제1 GPU;
    상기 제1 어플리케이션을 구성하는 제2 그래픽 데이터에 대한 렌더링을 수행하는 제2 GPU;
    제2 어플리케이션을 구성하는 제1 그래픽 데이터에 대한 렌더링을 수행하는 제3 GPU 및
    상기 제2 어플리케이션을 구성하는 제2 그래픽 데이터에 대한 렌더링을 수행하는 제4 GPU;
    를 포함하는 것을 특징으로 하는 그래픽스 처리 장치.
  15. 제 11 항에 있어서,
    상기 복수의 GPU는,
    단일 어플리케이션을 구성하는 복수의 그래픽 데이터에 대한 렌더링 작업 스케줄링에 따라 상기 복수의 그래픽 데이터 중 제1 그래픽 데이터에 대한 연산 처리를 수행하는 제1 GPU;
    제2 그래픽 데이터에 대한 연산 처리를 수행하는 제2 GPU;
    상기 제1 GPU의 연산 처리 결과에 기초하여 상기 제1 그래픽 데이터에 대한 렌더링을 수행하는 제3 GPU; 및
    상기 제2 GPU의 연산 처리 결과에 기초하여 상기 제2 그래픽 데이터에 대한 렌더링을 수행하는 제4 GPU;
    를 포함하는 것을 특징으로 하는 그래픽스 처리 장치.
  16. 제 11 항에 있어서,
    상기 복수의 GPU는,
    복수의 어플리케이션 각각에 대한 렌더링 작업 스케줄링에 따라 제1 어플리케이션을 구성하는 각 그래픽 데이터에 대한 연산 처리를 수행하는 제1 GPU;
    제2 어플리케이션을 구성하는 각 그래픽 데이터에 대한 연산 처리를 수행하는 제2 GPU;
    상기 제1 GPU의 연산 처리 결과에 기초하여 상기 제1 어플리케이션을 구성하는 각 그래픽 데이터에 대한 렌더링을 수행하는 제3 GPU; 및
    상기 제2 GPU의 연산 처리 결과에 기초하여 상기 제2 어플리케이션을 구성하는 각 그래픽 데이터에 대한 렌더링을 수행하는 제4 GPU;
    를 포함하는 것을 특징으로 하는 그래픽스 처리 장치.
KR1020130095522A 2013-08-12 2013-08-12 그래픽스 처리 장치 및 방법 KR102124395B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020130095522A KR102124395B1 (ko) 2013-08-12 2013-08-12 그래픽스 처리 장치 및 방법
PCT/KR2014/005642 WO2015023057A1 (en) 2013-08-12 2014-06-25 Graphics processing apparatus and graphics processing method
CN201480043821.1A CN105453130A (zh) 2013-08-12 2014-06-25 图形处理设备和图形处理方法
US14/449,575 US9865075B2 (en) 2013-08-12 2014-08-01 Graphics processing apparatus and graphics processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130095522A KR102124395B1 (ko) 2013-08-12 2013-08-12 그래픽스 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150019104A KR20150019104A (ko) 2015-02-25
KR102124395B1 true KR102124395B1 (ko) 2020-06-18

Family

ID=52448224

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130095522A KR102124395B1 (ko) 2013-08-12 2013-08-12 그래픽스 처리 장치 및 방법

Country Status (4)

Country Link
US (1) US9865075B2 (ko)
KR (1) KR102124395B1 (ko)
CN (1) CN105453130A (ko)
WO (1) WO2015023057A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10210594B2 (en) * 2017-03-03 2019-02-19 International Business Machines Corporation Deep learning via dynamic root solvers
CN107067453A (zh) * 2017-03-10 2017-08-18 珠海研果科技有限公司 一种基于Linux系统的MiniGUI绘制与GPU绘制同时显示的方法
WO2018205152A1 (zh) * 2017-05-09 2018-11-15 华为技术有限公司 一种vr绘图方法、设备及系统
CN115375530A (zh) * 2022-07-13 2022-11-22 北京松应科技有限公司 一种多gpu协同渲染方法、系统、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020015055A1 (en) * 2000-07-18 2002-02-07 Silicon Graphics, Inc. Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units
US20120188270A1 (en) * 2007-11-06 2012-07-26 Nvidia Corporation Method and system for blending rendered images from multiple applications

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885374B2 (en) 2001-06-29 2005-04-26 Intel Corporation Apparatus, method and system with a graphics-rendering engine having a time allocator
US6853380B2 (en) * 2002-03-04 2005-02-08 Hewlett-Packard Development Company, L.P. Graphical display system and method
CA2546427A1 (en) * 2003-11-19 2005-06-02 Reuven Bakalash Method and system for multiple 3-d graphic pipeline over a pc bus
US20090027383A1 (en) * 2003-11-19 2009-01-29 Lucid Information Technology, Ltd. Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US8941669B1 (en) * 2005-10-18 2015-01-27 Nvidia Corporation Split push buffer rendering for scalability
US8130227B2 (en) * 2006-05-12 2012-03-06 Nvidia Corporation Distributed antialiasing in a multiprocessor graphics system
US8149242B2 (en) 2006-11-10 2012-04-03 Sony Computer Entertainment Inc. Graphics processing apparatus, graphics library module and graphics processing method
JP4302166B2 (ja) 2007-12-21 2009-07-22 株式会社東芝 情報処理装置
KR100978814B1 (ko) * 2010-02-19 2010-08-30 주식회사 넥서스칩스 단일 애플리케이션 프로세서로 멀티 3d 그래픽을 디스플레이하는 그래픽 가속 시스템 및 그 방법
CN102722861A (zh) * 2011-05-06 2012-10-10 新奥特(北京)视频技术有限公司 一种基于cpu的图形渲染引擎及实现方法
CN103179367B (zh) * 2011-12-20 2016-08-17 联想(北京)有限公司 显示器和视频数据处理方法
CN102663804A (zh) * 2012-03-02 2012-09-12 赞奇科技发展有限公司 一种交互式图形快速渲染方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020015055A1 (en) * 2000-07-18 2002-02-07 Silicon Graphics, Inc. Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units
US20120188270A1 (en) * 2007-11-06 2012-07-26 Nvidia Corporation Method and system for blending rendered images from multiple applications

Also Published As

Publication number Publication date
KR20150019104A (ko) 2015-02-25
WO2015023057A1 (en) 2015-02-19
US20150042644A1 (en) 2015-02-12
US9865075B2 (en) 2018-01-09
CN105453130A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
KR102124395B1 (ko) 그래픽스 처리 장치 및 방법
EP3257561A3 (en) Game system, method, and game program which can provide vibration to user
EP2528339A3 (en) Display apparatus for processing multiple applications and method for controlling the same
RU2011136448A (ru) Способ и система обеспечения взаимодействия со множеством приложений при использовании отдельного интерфейса пользователя
JP6545996B2 (ja) 映像表示システム
JP2016218981A5 (ko)
JP2017026992A5 (ko)
CN106569700B (zh) 一种截图方法以及截图装置
EP2696261A3 (en) Image processing apparatus, image processing system, image processing method, and computer program product
JP2010147856A5 (ko)
US8525837B2 (en) Method and apparatus for data preview
EP3337176B1 (en) Method, processing device, and computer system for video preview
KR102482874B1 (ko) 렌더링 장치 및 방법
US20140306958A1 (en) Stereoscopic rendering system
US20190026925A1 (en) Texture mapping apparatus and computer readable medium
JP2020009456A5 (ja) システム、情報処理装置、方法、及びプログラム
KR20160025894A (ko) Gpu의 리소스에 대한 전력 소비 제어방법 및 장치
JP2009266157A5 (ko)
KR20150087982A (ko) 쓰레드를 활용한 이미지 처리 방법 및 장치
EP2270654A3 (en) Programmable personal infotainment system
US8134570B1 (en) System and method for graphics attribute packing for pixel shader usage
JP2022040323A5 (ko)
JP2012128856A5 (ko)
US10678063B2 (en) Image processing device, display device, control method for image processing device, and control program
US9667840B2 (en) Video output device, video output program, and video output method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right