KR102315280B1 - 렌더링 장치 및 방법 - Google Patents

렌더링 장치 및 방법 Download PDF

Info

Publication number
KR102315280B1
KR102315280B1 KR1020140115686A KR20140115686A KR102315280B1 KR 102315280 B1 KR102315280 B1 KR 102315280B1 KR 1020140115686 A KR1020140115686 A KR 1020140115686A KR 20140115686 A KR20140115686 A KR 20140115686A KR 102315280 B1 KR102315280 B1 KR 102315280B1
Authority
KR
South Korea
Prior art keywords
resolution
images
samples
rendering
optimal
Prior art date
Application number
KR1020140115686A
Other languages
English (en)
Other versions
KR20160026569A (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 KR1020140115686A priority Critical patent/KR102315280B1/ko
Priority to US14/688,168 priority patent/US9898853B2/en
Priority to EP15176628.4A priority patent/EP2991038B1/en
Priority to CN201510441124.8A priority patent/CN106204700B/zh
Priority to JP2015150284A priority patent/JP2016051469A/ja
Publication of KR20160026569A publication Critical patent/KR20160026569A/ko
Application granted granted Critical
Publication of KR102315280B1 publication Critical patent/KR102315280B1/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
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • G06T3/4076Super resolution, i.e. output image resolution higher than sensor resolution by iteratively correcting the provisional high resolution image using the original low-resolution image

Abstract

하나의 프레임을 구성하는 복수의 이미지들을 렌더링하기 위한 최적의 해상도, 멀티 샘플 개수, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들을 포함하는 해상도 정보를 수신하는 단계, 상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계 및 상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 단계를 포함하는 렌더링 장치를 개시한다.

Description

렌더링 장치 및 방법{Apparatus and method for rendering}
렌더링 장치 및 방법에 관한 것으로, 더욱 구체적으로는 복수의 이미지들을 각각 요구되는 필요 해상도로 출력할 수 있는 렌더링 장치 및 방법에 관한 것이다.
3D 그래픽스 API(Application Program Interface) 표준들로는 OpenGL, OpenGL ES 또는 Direct 3 등이 있다. API 표준들은 각 프레임에 대한 렌더링(rendering)을 수행하고, 영상을 표시하는 방법을 포함한다. 각 프레임에 대한 렌더링을 수행할 때, 많은 연산이 수행되며, 많은 전력이 소모된다. 따라서, 효율적인 렌더링을 위하여, 연산량을 줄이고, 프레임의 저장을 위한 메모리의 대역폭을 감소시킬 필요가 있다.
필요 해상도가 서로 다른 복수의 이미지들을 효율적으로 렌더링하는 방법 및 장치를 제공하는 데 있다.
본 발명의 일 실시예에 따른 렌더링 방법은, 하나의 프레임을 구성하는 복수의 이미지들을 렌더링하기 위한 최적의 해상도, 멀티 샘플 개수, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들을 포함하는 해상도 정보를 수신하는 단계, 상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계 및 상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 단계를 포함한다.
본 발명의 일 실시예에 따른 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계는, 상기 복수의 이미지들에 대하여, 상기 최적의 해상도로 픽셀들을 쉐이딩하는 단계 및 상기 픽셀들 각각이 상기 멀티 샘플 개수만큼의 샘플들을 포함하도록 멀티 샘플링을 수행하는 단계를 포함한다.
본 발명의 일 실시예에 따른 렌더링된 이미지들 각각의 해상도를 조절하는 단계는, 상기 렌더링된 이미지들 각각의 해상도 팩터 및 상기 멀티 샘플의 개수에 따라, 해당 렌더링된 이미지 내에서 소정 개수의 샘플들을 하나의 픽셀로 병합하여 상기 해당 렌더링된 이미지의 해상도를 조절하는 단계를 포함한다.
본 발명의 일 실시예에 따른 렌더링된 이미지들의 해상도를 조절하는 단계는, 상기 소정 개수의 샘플들에 대한 산술 평균 값을 상기 병합된 픽셀의 픽셀 값으로 결정하는 단계를 더 포함한다.
본 발명의 일 실시예에 따른 상기 소정 개수는 상기 멀티 샘플 개수를 상기 해상도 팩터로 나눈 값이다.
본 발명의 일 실시예에 따른 렌더링 방법은, 하나의 프레임을 구성하는 복수의 이미지들에 각각 대응하는 필요 해상도들을 수신하는 단계, 상기 필요 해상도들에 기초하여, 상기 복수의 이미지를 렌더링하기 위한 최적 해상도, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플의 개수 중 적어도 하나를 추출하는 단계, 상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계 및 상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 단계를 포함한다.
본 발명의 일 실시예에 따른 상기 최적 해상도, 상기 해상도 팩터들 및 상기 멀티 샘플의 개수 중 적어도 하나를 추출하는 단계는, 상기 필요 해상도들의 최대 공약수 해상도를 계산하여, 상기 최대 공약수 해상도를 상기 최적의 해상도로 추출하는 단계를 포함한다.
본 발명의 일 실시예에 따른 상기 최적 해상도, 상기 해상도 팩터들 및 상기 멀티 샘플 개수 중 적어도 하나를 추출하는 단계는, 상기 필요 해상도들의 상기 최대 공약수 해상도가 계산되지 않는 경우, 상기 필요 해상도들 중 가장 작은 해상도를 상기 최적 해상도로 추출하는 단계를 더 포함한다.
본 발명의 일 실시예에 따른 상기 최적 해상도, 상기 해상도 팩터들 및 상기 멀티 샘플 개수 중 적어도 하나를 추출하는 단계는, 상기 필요 해상도들을 상기 최적 해상도로 나눈 값들을 상기 해상도 팩터들로 추출하는 단계 및 상기 추출된 해상도 팩터들 중 가장 큰 값에 기초하여, 상기 멀티 샘플 개수를 추출하는 단계를 더 포함한다.
본 발명의 일 실시예에 따른 상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계는, 상기 복수의 이미지들에 대하여, 상기 최적의 해상도로 픽셀들을 쉐이딩하는 단계 및 상기 픽셀들 각각이 상기 멀티 샘플 개수만큼의 샘플들을 포함하도록 멀티 샘플링을 수행하는 단계를 포함한다.
본 발명의 일 실시예에 따른 상기 렌더링된 이미지들 각각의 해상도를 조절하는 단계는, 상기 렌더링된 이미지들 각각의 해상도 팩터 및 상기 멀티 샘플의 개수에 따라, 해당 렌더링된 이미지 내에서 소정 개수의 샘플들을 하나의 픽셀로 병합하여 상기 해당 렌더링된 이미지의 해상도를 조절하는 단계를 포함한다.
본 발명의 일 실시예에 따른 렌더링 장치는 하나의 프레임을 구성하는 복수의 이미지들을 렌더링하기 위한 최적의 해상도, 멀티 샘플 개수, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들을 포함하는 해상도 정보를 수신하는 해상도 정보 처리부, 상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 렌더링 부 및 상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 해상도 조절부를 포함한다.
본 발명의 일 실시예에 따른 렌더링 부는, 상기 복수의 이미지들에 대하여, 상기 최적의 해상도로 픽셀들을 쉐이딩하고, 상기 픽셀들 각각이 상기 멀티 샘플 개수만큼의 샘플들을 포함하도록 멀티 샘플링을 수행한다.
본 발명의 일 실시예에 따른 해상도 조절부는, 상기 렌더링된 이미지들 각각의 해상도 팩터 및 상기 멀티 샘플의 개수에 따라, 해당 렌더링된 이미지 내에서 소정 개수의 샘플들을 하나의 픽셀로 병합하여 상기 해당 렌더링된 이미지의 해상도를 조절한다.
본 발명의 일 실시예에 따른 해상도 조절부는, 상기 소정 개수의 샘플들에 대한 산술 평균 값을 상기 병합된 픽셀의 픽셀 값으로 결정한다.
본 발명의 일 실시예에 따른 렌더링 장치는, 하나의 프레임을 구성하는 복수의 이미지들에 각각 대응하는 필요 해상도들을 수신하고, 상기 필요 해상도들에 기초하여, 상기 복수의 이미지를 렌더링하기 위한 최적 해상도, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플의 개수 중 적어도 하나를 계산하는 해상도 정보 처리부, 상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 렌더링 부 및 상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 해상도 조절부를 포함한다.
본 발명의 일 실시예에 따른 해상도 정보 처리부는, 상기 필요 해상도들의 최대 공약수 해상도를 계산하여, 상기 최대 공약수 해상도를 상기 최적의 해상도로 결정한다.
본 발명의 일 실시예에 따른 해상도 정보 처리부는, 상기 필요 해상도들의 상기 최대 공약수 해상도가 계산되지 않는 경우, 상기 필요 해상도들 중 가장 작은 해상도를 상기 최적 해상도로 결정한다.
본 발명의 일 실시예에 따른 해상도 정보 처리부는, 상기 필요 해상도들을 상기 최적 해상도로 나눈 값들을 상기 해상도 팩터들로 결정하고, 상기 추출된 해상도 팩터들 중 가장 큰 값에 기초하여, 상기 멀티 샘플 개수를 결정한다.
본 발명의 일 실시예에 따른 렌더링 부는, 상기 복수의 이미지들에 대하여, 상기 최적의 해상도로 픽셀들을 쉐이딩하고, 상기 픽셀들 각각이 상기 멀티 샘플 개수만큼의 샘플들을 포함하도록 멀티 샘플링을 수행한다.
본 발명의 일 실시예에 따른 해상도 조절부는, 상기 렌더링된 이미지들 각각의 해상도 팩터 및 상기 멀티 샘플의 개수에 따라, 해당 렌더링된 이미지 내에서 소정 개수의 샘플들을 하나의 픽셀로 병합하여 상기 해당 렌더링된 이미지의 해상도를 조절한다.
필요 해상도가 서로 다른 복수의 이미지들을 렌더링할 때, 렌더링에 필요한 연산량을 감소시킬 수 있으며, 복수의 이미지들을 저장하는 메모리 대역폭을 감소시킬 수 있다.
도 1은 3차원 이미지의 렌더링 과정을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 렌더링 시스템의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 어플리케이션이 디바이스 드라이버로 해상도 정보를 제공하는 방식들을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 렌더링 장치의 구성을 나타내는 블록도이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 렌더링 방법을 나타내는 흐름도들이다.
도 7의 (a) 및 도 7의 (b)는 도 5 및 도 6의 렌더링 방법을 설명하기 위해 참조되는 도면들이다.
도 8은 본 발명의 일 실시예에 따른 렌더링 방법을 나타내는 흐름도이다.
도 9는 도 8의 렌더링 방법을 설명하기 위해 참조되는 도면이다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “…부”, “…모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 3차원 이미지의 렌더링 과정을 나타내는 도면이다.
도 1을 참조하면, 3차원 이미지의 렌더링 과정은 11단계(S11) 내지 17단계(S17)들을 포함할 수 있다. 또한, 도 1 하단의 도형들은 각 단계에서 정점(vertex) 또는 픽셀의 처리를 개념적으로 나타낸다.
11단계(S11)는 영상을 나타내는 정점(vertex)들을 생성하는 단계이다. 정점들은 영상에 포함된 오브젝트(object)들을 나타내기 위해 생성된다.
12단계(S12)는 생성된 정점들을 쉐이딩(shading)하는 단계이다. 정점 쉐이더(vertex shader)는 11단계(S11)에서 생성된 정점들의 색(color)을 지정하여, 정점들에 대한 쉐이딩을 수행할 수 있다.
13단계(S13)는 프리미티브들(primitives)을 생성하는 단계이다. 프리미티브는 점, 선 또는 정점들로부터 형성되는 다각형(polygon)을 나타낸다. 일 예로서, 프리미티브들은 정점들을 연결하여 형성된 삼각형들을 나타낼 수도 있다.
14단계(S14)는 프리미티브를 래스터화(rasterization)하는 단계이다. 프리미티브를 래스터화하는 것은 프리미티브를 복수의 프레그먼트들(fragments)로 분할하는 것을 나타낸다. 프레그먼트는 프리미티브를 구성하는 단위이며, 영상 처리를 수행하기 위한 기본 단위일 수 있다. 프리미티브는 정점에 대한 정보만을 포함한다. 따라서, 래스터화하는 단계에서 정점과 정점 사이의 프레그먼트들을 생성할 때 보간(interpolation)이 수행된다.
15단계(S15)는 픽셀을 쉐이딩하는 단계를 나타낸다. 도 1에서는 픽셀 단위로 쉐이딩이 수행되는 것을 도시하고 있으나, 프레그먼트 단위로 쉐이딩이 수행될 수도 있다. 예를 들어, 픽셀 또는 프레그먼트를 쉐이딩하는 것은 픽셀 또는 프레그먼트의 색을 지정하는 것이다.
16단계(S16)는 래스터 오퍼레이션 단계를 나타낸다. 래스터 오퍼레이션 단계에서는 컬러 블렌딩, 깊이 검사 등을 수행함으로써, 쉐이딩된 픽셀의 정보에 기초하여, 래스터 이미지(픽셀들 또는 샘플들)를 생성한다. 생성된 래스터 이미지는 프레임 버퍼(frame buffer)로 출력된다.
17단계(S17)는 프레임 버퍼에 저장된 프레임을 표시하는 단계를 나타낸다. 11단계(S11) 내지 16단계(S16)를 통해 생성된 프레임은 프레임 버퍼에 저장된다. 프레임 버퍼에 저장된 프레임은 디스플레이 장치를 통해 표시된다.
한편, 하나의 프레임을 구성하는 복수의 이미지들을 렌더링하는 경우, 복수의 이미지들 각각에 요구되는 해상도(필요 해상도)가 서로 다를 수 있다.
예를 들어, 빛의 반사를 표현하는 렌더링 방식인 라디오시티(radiosity) 렌더링의 경우, 최종 이미지(최종 프레임)를 생성하기 위해, 3가지 이미지들(예를 들어, Color 이미지, Normal 이미지, Depth 이미지)을 동시에 출력한다. 이때, Color 이미지 및 Normal 이미지에서 요구되는 필요 해상도는 640 X 360 (nHD)일 수 있으며, Depth 이미지에서 요구되는 필요 해상도는 1280 X 720(HD)일 수 있다.
그러나, 어플리케이션 인터페이스(API) 표준의 한계로 인해, 모든 이미지가 픽셀 쉐이딩 단계에서, 동일한 해상도로 렌더링된다. 따라서, 복수의 이미지를 동시에 출력할 때, 복수의 이미지들 각각에 요구되는 필요 해상도가 다른 경우, 복수의 이미지들 각각의 해상도를 조절하는 과정이 필요하다.
한편, 본 발명의 일 실시예에 따른 렌더링 장치(100)는, 복수의 이미지들을 복수의 이미지들 각각에 대응하는 필요 해상도로 조절하여 출력할 수 있다. 이하에서는 렌더링 장치(100)를 포함하는 렌더링 시스템 및 렌더링 장치(100)에 대해서, 도면들을 참조하여, 자세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 렌더링 시스템의 구성을 나타내는 블록도이다.
도 2를 참조하면, 렌더링 시스템은 어플리케이션(50), 디바이스 드라이버(70), 렌더링 장치(100) 및 외부 메모리(200)를 포함할 수 있다.
어플리케이션(50)은 API(Application Program Interface)를 통하여, 디바이스 드라이버(70)로 복수 이미지들에 대한 해상도 정보를 제공할 수 있다. 이때, 어플리케이션(50)은 OpenGL, OpenGL ES 또는 Direct 3 등의 API 표준에 따라 복수 이미지들에 대한 해상도 정보를 디바이스 드라이버(200)로 제공할 수 있다.
복수 이미지들에 대한 해상도 정보는 복수의 이미지들 각각에 대응하는 필요 해상도, 복수 이미지들을 렌더링하기 위한 최적 해상도, 복수 이미지들 각각에 대응하는 해상도 팩터(resolving factor), 멀티 샘플 개수 중 적어도 하나를 포함할 수 있다.
여기서, 복수의 이미지들 각각에 대응하는 필요 해상도는 복수 이미지들 각각에 요구되는 해상도를 의미하며, 복수 이미지 각각에 요구되는 해상도는 서로 다를 수 있다. 예를 들어, 렌더링할 복수의 이미지가 제1 이미지 및 제2 이미지를 포함하는 경우, 제1 이미지에는 640 X 360의 해상도가 요구되고, 제2 이미지에는 1280 X 720의 해상도가 요구될 수 있다.
또한, 최적 해상도는 복수 이미지들 각각에 대응하는 필요 해상도에 기초하여, 계산된 해상도일 수 있다. 예를 들어, 최적 해상도는 필요 해상도들의 최대 공약수 해상도일 수 있으며, 필요 해상도들의 최대 공약수 해상도를 계산할 수 없는 경우, 최적 해상도는 필요 해상도들 중 가장 작은 해상도일 수 있다. 다만, 이에 한정되는 것은 아니다.
또한, 복수 이미지들 각각에 대응하는 해상도 팩터는 해당 이미지의 필요 해상도를 최적 해상도로 나눈 값이다. 예를 들어, 복수 이미지들 중 제1 이미지의 필요 해상도가 Wo X Ho이고, 최적 해상도가 Wr X Hr인 경우, 제1 이미지의 해상도 팩터 RF 는 Sw X Sh이며, 이때, Sw = Wo/Wr이고, Sh = Ho/Hr이다.
또한, 멀티 샘플 개수는 복수 이미지들에 각각 대응하는 해상도 팩터들과 렌더링 장치에서 지원하는 멀티 샘플 개수에 기초하여 결정될 수 있다. 예를 들어, 해상도 팩터들 중 가장 큰 값(제1 값)이 렌더링 장치(100)에서 지원하는 멀티 샘플의 개수에 해당하는 경우, 제1 값을 멀티 샘플 개수로 할 수 있다.
반면에, 다중 이미지의 해상도 팩터들 중 가장 큰 값(제2 값)이 다중 이미지 처리 장치에서 지원하는 멀티 샘플 개수에 해당하지 않는 경우, 렌더링 장치(100)에서 지원하는 멀티 샘플 개수들 중 제2 값보다 큰 값들 중 가장 작은 값을 멀티 샘플 개수로 할 수 있다.
한편, 어플리케이션(50)은 복수 이미지들에 각각 대응하는 필요 해상도들, 복수의 이미지들을 렌더링하기 위한 최적 해상도, 복수 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플 개수 중 적어도 하나를 포함하는 해상도 정보를 디바이스 드라이버(70)로 제공할 수 있다.
도 3은 본 발명의 일 실시예에 따른 어플리케이션이 디바이스 드라이버로 해상도 정보를 제공하는 방식들을 나타내는 도면이다.
도 3을 참조하면, 어플리케이션(50)은 4가지 방식으로 해상도 정보를 디바이스 드라이버(70)로 제공할 수 있다. 다만, 이에 한정되는 것은 아니다. 예를 들어, 어플리케이션(50)은 최적 해상도, 복수 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플 개수를 디바이스 드라이버(70)로 제공할 수 있다(제1 방식).
또는, 어플리케이션(50)은 복수 이미지들에 각각 대응하는 필요 해상도들, 복수 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플의 개수를 디바이스 드라이버(70)로 제공할 수 있다(제2 방식).
또는, 어플리케이션(50)은 복수 이미지들에 각각 대응하는 필요 해상도들, 최적 해상도를 디바이스 드라이버(70)로 제공할 수 있다(제 3방식).
또는, 어플리케이션(50)은 복수 이미지들에 각각 대응하는 필요 해상도들만을 디바이스 드라이버(70)로 제공할 수 있다(제4 방식).
다시, 도 2를 참조하면, 디바이스 드라이버(70)는 어플리케이션(50)으로부터 수신된 해상도 정보를 렌더링 장치(100, 예를 들어, GPU)에서 처리 가능한 명령어로 변환하여, 렌더링 장치(100)로 전송할 수 있다.
렌더링 장치(100)는 디바이스 드라이버(70)로부터 수신한 해상도 정보에 기초하여, 복수 이미지들의 렌더링을 수행할 수 있다. 또한, 렌더링 장치(100)는 복수의 이미지들을 렌더링할 수 있으며, 렌더링된 이미지들을 외부 메모리(200)로 출력할 수 있다. 한편, 렌더링 장치(200)에 대해서는, 도 4를 참조하여, 자세히 설명하기로 한다.
외부 메모리(200)는 프레임 버퍼일 수 있으며, 외부 메모리(200)에는 렌더링 장치(100)에서 렌더링 된 복수의 이미지들이 저장될 수 있다.
도 4는 본 발명의 일 실시예에 따른 렌더링 장치의 구성을 나타내는 블록도이다.
도 4를 참조하면, 렌더링 장치(100)는 해상도 정보 처리부(110), 렌더링 부(120), 해상도 조절부(130)를 포함할 수 있다.
예를 들어, 해상도 정보 처리부(110)는 도 3에 도시된 제1 방식과 같이, 복수의 이미지들을 렌더링하기 위한 최적의 해상도, 복수의 이미지들에 각각 대응하는 해상도 팩터들, 멀티 샘플 개수를 포함하는 해상도 정보를 수신할 수 있다.
또한, 해상도 정보 처리부(110)는 도 3에 도시된 제2 방식과 같이, 복수 이미지들에 각각 대응하는 필요 해상도들, 복수 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플의 개수를 포함하는 해상도 정보를 수신하는 경우, 필요 해상도들을 이용하여, 최적 해상도를 계산할 수 있다. 예를 들어, 해상도 정보 처리부(110)는 해당 이미지의 필요 해상도(Wo X Ho)를 해당 이미지의 해상도 팩터(RF = Sw X Sh)로 나누어 최적 해상도(Wr(=Wo/Sw) X Hr(=Ho/Sh))를 계산할 수 있다.
이때, 해상도 정보 처리부(110)는 해상도 팩터 RF가 주어지는 경우, Sw 및 Sh를 다음과 같은 해상도 팩터 테이블을 참조하여, 추출할 수 있다.
RF 1 2 4 8 16 32
Sw 1 1 2 2 4 4
Sh 1 2 2 4 4 8
예를 들어, 해상도 팩터 RF가 4인 경우, Sw는 2, Sh=2로 추출될 수 있다.
다만, 표 1은 일예에 불과하며, 다양한 방식으로 해상도 팩터 테이블을 설정할 수 있다.
또한, 해상도 정보 처리부(110)는 도 3에 도시된 제3 방식과 같이, 복수 이미지들에 각각 대응하는 필요 해상도들 및 최적 해상도를 포함하는 해상도 정보를 수신하는 경우, 복수 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플 개수를 계산할 수 있다.
예를 들어, 해상도 정보 처리부(110)는 해당 이미지의 필요 해상도(Wo X Ho)를 최적 해상도(Wr X Hr)로 나누어 해당 이미지의 해상도 팩터(Sw(=Wo/Wr) X Sh(=Ho/Hr))를 계산할 수 있다. 또한, 해상도 정보 처리부(110)는 계산된 해상도 팩터들 중 가장 큰 값(제1 값)이 렌더링 장치(100)에서 지원하는 멀티 샘플 개수에 해당하는 경우, 제1 값을 멀티 샘플 개수로 추출할 수 있다. 반면에 해상도 팩터들 중 가장 큰 값(제2 값)이, 렌더링 장치(100)에서 지원하는 멀티 샘플 개수에 해당하지 않는 경우, 렌더링 장치(100)에서 지원하는 멀티 샘플 개수들 중 제2 값보다 큰 값들 중 가장 작은 값을 멀티 샘플 개수로 추출할 수 있다.
또한, 해상도 정보 처리부(110)는 도 3에 도시된 제4 방식과 같이, 복수 이미지들에 각각 대응하는 필요 해상도들을 포함하는 해상도 정보를 수신하는 경우, 필요 해상도들을 이용하여, 최적 해상도 및 복수 이미지들에 각각 대응하는 해상도 팩터들을 계산할 수 있다. 해상도 정보 처리부(110)는 복수 이미지들에 각각 대응하는 필요 해상도들의 최대 공약수 해상도를 계산하여, 최대 공약수 해상도를 최적 해상도로 추출하거나, 필요 해상도들의 최대 공약수 해상도를 계산할 수 없는 경우, 필요 해상도들 중 가장 작은 해상도를 최적 해상도로 추출할 수 있다. 다만, 이에 한정하는 것은 아니다.
예를 들어, 복수의 이미지들이 제1 내지 제3 이미지들로 구성되고, 제1 이미지의 필요 해상도가 1280 X 720(제1 해상도)이고, 제2 이미지 및 제3 이미지의 필요 해상도가 640 X 360(제2 해상도 및 제3 해상도)인 경우, 해상도 정보 처리부(110)는 1280 X 720과 640 X 360의 최대 공약수인 640 X 360를 최적의 해상도로 할 수 있다.
또한, 해상도 정보 처리부(110)는 필요 해상도들과 추출된 최적 해상도에 기초하여, 해상도 팩터들 및 멀티 샘플 개수를 계산할 수 있다. 해상도 팩터들 및 멀티 샘플 개수를 계산하는 방법에 대해서는 제3 방식에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
렌더링 부(120)는 하나의 이미지를 복수의 타일(tile)로 분할하고, 타일 별로 렌더링을 수행할 수 있으며, 렌더링이 수행된 타일을 타일 버퍼에 저장할 수 있다.
또한, 렌더링 부(120)는 복수의 이미지를 최적의 해상도로 렌더링할 수 있다. 이때, 최적의 해상도는 외부 장치(예를 들어, 디바이스 드라이버(70))로부터 수신한 해상도 정보에 포함된 해상도이거나, 외부 장치로부터 수신한 해상도 정보에 기초하여, 계산된 해상도일 수 있다.
또한, 렌더링 부(120)는 최적 해상도에 따라 결정된 횟수의 픽셀 쉐이딩을 수행할 수 있다. 예를 들어, 최적 해상도가 640 X 360인 경우, 렌더링 부(120)는 하나의 이미지를 렌더링하기 위해 640 X 360 번의 픽셀 쉐이딩을 수행할 수 있다.
또한, 렌더링 부(120)는 픽셀 쉐이딩이 된 픽셀에 대하여, 멀티 샘플링을 수행할 수 있다. 멀티 샘플링은 픽셀 쉐이딩된 하나의 픽셀에 포함된 복수의 위치들에서의 데이터를 샘플링하는 것을 의미한다. 예를 들어, 렌더링 부(120)는 픽셀에 포함되는 복수의 위치들에서, 깊이 값 정보를 이용한 깊이 테스트, 컬러 블렌딩, 가시성 검사 등을 수행하여, 하나의 픽셀에 대한 복수의 데이터(샘플 값들)를 획득할 수 있다.
이때, 멀티 샘플 개수(멀티 샘플링되어, 하나의 픽셀에 포함되는 샘플들의 수)는 외부 장치(예를 들어, 디바이스 드라이버(70))로부터 수신한 해상도 정보에 포함되거나, 외부 장치로부터 수신한 해상도 정보에 기초하여, 계산된 값일 수 있다. 렌더링 부(120)는 멀티 샘플 개수에 기초하여, 샘플링을 수행할 수 있다. 예를 들어, 멀티 샘플의 수가 4로 정해지는 경우, 렌더링 부(120)는 하나의 픽셀에 대하여, 4개의 위치에서 각각 샘플 값을 획득할 수 있다.
해상도 조절부(130)는 렌더링 된 이미지(타일)에 대응하는 해상도 팩터와 멀티 샘플 개수에 기초하여, 렌더링된 이미지에 포함되는 소정 개수의 샘플들을 하나의 픽셀로 병합(merching)할 수 있다. 해상도 조절부(130)는 멀티 샘플 개수를 렌더링된 이미지에 대응하는 해상도 팩터로 나눈 수만큼의 샘플들을 하나의 픽셀로 병합할 수 있다.
예를 들어, 렌더링 된 제1 이미지(타일)에 대응하는 해상도 팩터가 1이고, 멀티 샘플 개수가 4인 경우, 제1 이미지에 포함되는 4개의 샘플들을 하나의 픽셀로 병합할 수 있다. 이에 따라, 제1 이미지에 대한 최종 이미지의 픽셀의 수는 제1 이미지에 포함되는 샘플의 수를 4로 나눈 수가 된다. 또한, 해상도 조절부(130)는 4개의 샘플들에 대한 산술 평균 값을 계산하여, 병합된 픽셀의 픽셀 값으로 할 수 있다.
해상도 조절부(130)는 복수의 이미지에 포함되는 타일들에 대하여, 해당 필요 해상도로 해상도 조절을 수행한 후, 해상도 조절이 된 타일들을 외부 메모리(200)로 출력할 수 있다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 렌더링 방법을 나타내는 흐름도이고, 도 7의 (a) 및 도 7의 (b)는 도 5 및 도 6의 렌더링 방법을 설명하기 위해 참조되는 도면들이다.
도 6의 420 단계(S420) 및 430 단계(S430)는 도 5의 320 단계(S320) 를 구체적으로 나타내는 단계들이며, 도 6의 440 단계(S440)는 도 5의 330 단계(S330)를 구체적으로 나타내는 단계이다.
도 5 및 도 6을 참조하면, 렌더링 장치(100)는 복수의 이미지들에 대한 해상도 정보를 수신할 수 있다(S310, S410).
예를 들어, 렌더링 장치(100)는 외부 장치(예를 들어, 디바이스 드라이버(70))로부터 도 7의 (a)에 도시된 바와 같이, 제1 내지 제3 이미지들을 렌더링하기 위한 최적의 해상도, 제1 내지 제3 이미지들에 각각 대응하는 해상도 팩터들, 멀티 샘플 개수를 포함하는 해상도 정보를 수신할 수 있다.
이때, 복수의 이미지들을 렌더링하기 위한 최적의 해상도는 복수의 이미지들 각각의 필요 해상도에 기초하여, 계산된 해상도일 수 있다. 예를 들어, 제1 내지 제3 이미지들을 렌더링 하는 경우, 최적의 해상도는 제1 내지 제3 이미지들 각각에 대응하는 제1 내지 제3 필요 해상도들의 최대 공약수 해상도 또는 제1 내지 제3 필요 해상도들 중 가장 작은 해상도일 수 있다. 다만, 이에 한정되는 것은 아니다.
또한, 복수의 이미지들 각각에 대응하는 해상도 팩터는 해당 이미지의 필요 해상도와 최적 해상도를 이용하여 계산된 값일 수 있다. 예를 들어, 제1 이미지에 대응하는 제1 해상도 팩터는 제1 필요 해상도(제1 이미지의 필요 해상도, 예를 들어, 640 X 360)를 최적의 해상도(예를 들어, 640 X 360)로 나눈 값일 수 있다.
또한, 멀티 샘플 개수는 복수의 이미지들에 각각 대응하는 해상도 팩터들과 렌더링 장치(100)에서 지원하는 멀티 샘플 개수에 기초하여, 결정될 수 있다. 예를 들어, 제1 내지 제3 해상도 팩터들 중 가장 큰 값이 4이고, 렌더링 장치에서 멀티 샘플 개수를 4로 하는 멀티 샘플링을 지원하는 경우, 멀티 샘플 개수는 4로 결정될 수 있다. 반면에, 제1 내지 제3 해상도 팩터들 중 가장 큰 값이 4.3이고, 렌더링 장치(100)에서 지원하는 멀티 샘플 개수가 2, 4, 8, 16일 경우, 2, 4, 8, 16 중, 4.3보다 큰 값들(예를 들어, 8, 16) 중 가장 작은 값인 8이 멀티 샘플 개수로 결정될 수 있다.
도 5를 다시 참조하면, 렌더링 장치(100)는 복수의 이미지들을 최적의 해상도로 렌더링 할 수 있다(S320).
렌더링 장치(100)는 최적 해상도에 따라 결정된 횟수의 픽셀 쉐이딩을 수행할 수 있다(S420). 예를 들어, 최적 해상도가 640 X 360인 경우, 렌더링 장치(100)는 하나의 이미지를 렌더링하기 위해 640 X 360 번의 픽셀 쉐이딩을 수행할 수 있으며, 640 X 360 개의 픽셀이 생성될 수 있다.
또한, 렌더링 장치(100)는 픽셀 쉐이딩이 수행된 픽셀에 대하여, 멀티 샘플링을 수행할 수 있다(S430). 멀티 샘플링은 픽셀 쉐이딩된 하나의 픽셀에 포함된 복수의 위치들에서의 데이터를 샘플링하는 것을 의미한다. 예를 들어, 렌더링 장치(100)는 하나의 픽셀에 포함되는 복수의 위치들에서, 깊이 값 정보를 이용한 깊이 테스트, 컬러 블렌딩, 가시성 검사 등을 수행하여, 하나의 픽셀에 대하여, 복수의 데이터(샘플 값들)를 획득할 수 있다.
이때, 렌더링 장치(100)는 멀티 샘플 개수에 기초하여, 멀티 샘플링을 수행할 수 있다. 예를 들어, 도 7의 (a)에 도시된 바와 같이, 멀티 샘플의 개수가 4인 경우, 렌더링 장치(100)는 하나의 픽셀(510)에 대하여, 4개의 위치들(P1, P2, P3, P4)에서 샘플을 획득할 수 있다.
따라서, 최적 해상도가 640 X 360 이고, 멀티 샘플 개수가 4인 경우, 렌더링 장치(100)는 하나의 이미지에 대하여, 640 X 360 X 4 개의 샘플들을 획득할 수 있다. 이때, 하나의 이미지가 N개의 타일로 분할된 경우, 하나의 타일 버퍼에 저장되는 샘플들의 수는 (640 X 360 X 4)/N으로 나타낼 수 있다.
한편, 렌더링 장치(100)는 렌더링된 이미지들 각각의 해상도를 조절할 수 있다().
예를 들어, 렌더링 장치(100)는 타일 버퍼에 저장된 렌더링 된 이미지(타일)에 대응하는 해상도 팩터와 멀티 샘플 개수에 기초하여, 렌더링된 이미지에 포함되는 소정 개수의 샘플들을 하나의 픽셀로 병합(merging)할 수 있다.
렌더링 장치(100)는 멀티 샘플 개수를 렌더링된 이미지에 대응하는 해상도 팩터로 나눈 수만큼의 샘플들을 하나의 픽셀로 병합할 수 있으며, 픽셀의 픽셀 값은 병합된 샘플들의 산술 평균 값으로 할 수 있다.
예를 들어, 렌더링 된 제1 이미지(타일)에 대응하는 제1 해상도 팩터가 1이고, 멀티 샘플 개수가 4인 경우, 제1 이미지에 포함되는 4(=4/1)개의 샘플들을 하나의 픽셀로 병합할 수 있다. 도 7의 (b)에 도시된 바와 같이, 검정색을 나타내는 제1 내지 제3 샘플들(511, 512, 513)과, 흰색을 나타내는 제4 샘플(514)이 제1 픽셀(520)로 병합되는 경우, 제1 내지 제4 샘플 값을 산술 평균한 값((black*3+white)/4)을 제1 픽셀(520)의 픽셀 값으로 할 수 있다.
한편, 상술한 바와 같이, 4개의 샘플들을 하나의 픽셀로 병합함에 따라, 제1 이미지에 대한 최종 이미지의 픽셀의 수는 제1 이미지에 포함되는 샘플의 수를 4로 나눈 수가 된다. 제1 이미지의 샘플들의 수가 640 X 360 X 4인 경우, 픽셀의 수는 640 X 360가 되므로, 제1 이미지에 대한 최종 이미지의 해상도는 640 X 360가 된다. 즉, 제1 이미지에 대한 최종 이미지는 제1 이미지에 대응하는 제1 필요 해상도(640 X 360)를 가지게 된다.
또한, 렌더링 된 제3 이미지(타일)에 대응하는 제3 해상도 팩터가 4이고, 멀티 샘플 개수가 4인 경우, 제3 이미지에 포함되는 샘플들 각각을 하나의 픽셀로 할 수 있다. 이에 따라, 제3 이미지에 대한 최종 이미지의 픽셀의 수는 제3 이미지에 포함되는 샘플의 수와 동일하고, 제3 이미지에 포함되는 샘플들의 수가 640 X 360 X 4인 경우, 픽셀의 수는 1280 X 720이 되므로, 제3 이미지에 대한 최종 이미지의 해상도는 1280 X 720가 된다. 즉, 제3 이미지에 대한 최종 이미지는 제3 이미지에 대응하는 제3 필요 해상도(1280 X 720)를 가지게 된다.
한편, 렌더링 장치(100)는 해상도가 조절된 최종 이미지들을 프레임 버퍼로 출력할 수 있다.
도 8은 본 발명의 일 실시예에 따른 렌더링 방법을 나타내는 흐름도이고, 도 9는 도 8의 렌더링 방법을 설명하기 위해 참조되는 도면이다.
도 8을 참조하면, 렌더링 장치(100)는 복수의 이미지들에 각각 대응하는 필요 해상도들을 수신할 수 있다(S610).
또한, 렌더링 장치(100)는 필요 해상도들 이외에도, 복수의 이미지들에 각각 대응하는 해상도 팩터들 또는 복수의 이미지들을 렌더링하기 위한 최적 해상도를 더 수신할 수 있다.
예를 들어, 렌더링 장치(100)는 외부 장치(예를 들어, 디바이스 드라이버(70))로부터 제1 내지 제3 이미지들에 각각 대응하는 제1 내지 제3 필요 해상도를 수신할 수 있다.
렌더링 장치(100)는 수신한 필요 해상도들에 기초하여, 최적 해상도, 복수의 이미지들에 각각 대응하는 해상도 팩터들, 멀티 샘플 개수를 추출할 수 있다(S620).
예를 들어, 도 9에 도시된 바와 같이, 제1 내지 제3 이미지들을 렌더링 하는 경우, 렌더링 장치(100)는 제1 내지 제3 이미지들 각각에 대응하는 제1 내지 제3 필요 해상도들(640 X 360, 640 X 360, 1280 X 720 )의 최대 공약수 해상도(640 X 360) 또는 제1 내지 제3 필요 해상도들 중 가장 작은 해상도를 추출하여, 추출된 해상도를 최적 해상도로 할 수 있다. 다만, 이에 한정되는 것은 아니다.
또한, 렌더링 장치(100)는 필요 해상도와 최적 해상도를 이용하여, 복수의 이미지들 각각에 대응하는 해상도 팩터를 계산할 수 있다.
예를 들어, 렌더링 장치(100)는 제1 필요 해상도(제1 이미지의 필요 해상도, 예를 들어, 640 X 360)를 최적의 해상도(예를 들어, 640 X 360)로 나누어, 제1 이미지에 대응하는 제1 해상도 팩터(예를 들어, 1)를 계산할 수 있다. 또한, 렌더링 장치(100)는 제3 필요 해상도(제3 이미지의 필요 해상도, 예를 들어, 1280 X 720)를 최적의 해상도(예를 들어, 640 X 360)로 나누어, 제3 이미지에 대응하는 제3 해상도 팩터(예를 들어, 4)를 계산할 수 있다.
또한, 렌더링 장치(100)는 해상도 팩터들을 이용하여, 멀티 샘플 개수를 결정할 수 있다. 예를 들어, 제1 내지 제3 해상도 팩터들 중 가장 큰 값이 4이고, 렌더링 장치(100)에서 멀티 샘플 개수를 4로 하는 멀티 샘플링을 지원하는 경우, 렌더링 장치(100)는 멀티 샘플의 개수를 4로 결정할 수 있다.
반면에, 제1 내지 제3 해상도 팩터들 중 가장 큰 값이 4.3이고, 렌더링 장치에서 지원하는 멀티 샘플 개수가 2, 4, 8, 16일 경우, 2, 4, 8, 16 중, 4.3보다 큰 값들(예를 들어, 8, 16) 중 가장 작은 값인 8이 멀티 샘플의 개수로 결정될 수 있다.
한편, 상기에서는 외부 장치로부터 복수의 이미지들에 각각 대응하는 필요 해상도들에 대한 정보만 수신한 경우에, 최적 해상도, 해상도 팩터들, 멀티 샘플의 개수를 추출하는 방법에 대해서 설명하였다.
다만, 렌더링 장치(100)가 필요 해상도들 이외에 최적 해상도에 대한 정보를 함께 수신한 경우, 렌더링 장치(100)는 최적 해상도의 계산과정을 생략할 수 있으며, 수신한 필요 해상도들과 최적 해상도를 이용하여, 해상도 팩터들을 추출할 수 있다.
또한, 렌더링 장치(100)가 필요 해상도들 이외에 해상도 팩터들에 대한 정보를 함께 수신한 경우, 렌더링 장치100()는 필요 해상도들과 해상도 팩터들을 이용하여, 최적 해상도를 추출할 수 있다.
다시, 도 8을 참조하면, 렌더링 장치(100)는 복수의 이미지들을 최적의 해상도로 렌더링 할 수 있다(630).
도 8의 630 단계(S630)는 도 5의 320 단계(S320), 도 6의 420 단계(S420) 및 430 단계(S430)에 대응하므로, 구체적인 설명은 생략하기로 한다.
또한, 렌더링 장치(100)는 렌더링된 이미지들 각각의 해상도를 조절할 수 있다(S640).
도 8의 640 단계(S640)는 도 5의 330 단계(S330), 도 6의 440 단계(S440)에 대응하므로, 구체적인 설명은 생략하기로 한다.
다음의 표 2는 복수의 이미지들을 해상도 조절 없이, 동일한 해상도로 출력하는 경우의 픽셀 쉐이딩 횟수(연산량)와 메모리 대역폭(Band Width)을 나타내는 표이고, 표 3은 본 발명의 일 실시예에 따른 복수의 이미지들 각각의 해상도를 조절하여, 출력하는 경우의 픽셀 쉐이딩 횟수와 메모리 대역폭을 나타내는 표이다.
이미지 필요 해상도 출력 해상도 픽셀 쉐이딩 횟수(연산량) 메모리 대역폭
제1 이미지 640 X 360
(HD/4)

1280 X 720
(HD)

1280 X 720
(HD)

3HD
제2 이미지 640 X 360
(HD/4)
제3 이미지 1280 X 720
(HD)
이미지 필요 해상도 출력 해상도 픽셀 쉐이딩 횟수(연산량) 메모리 대역폭
제1 이미지 640 X 360
(HD/4)
640 X 360
(HD/4)

640 X 360
(HD/4)

2(HD/4)+HD
제2 이미지 640 X 360
(HD/4)
640 X 360
(HD/4)
제3 이미지 1280 X 720
(HD)
1280 X 720
(HD)
표 2 및 표 3에서는 설명의 편의를 위해, 복수의 이미지들(제1 내지 제3 이미지들)의 필요 해상도가 640 X 360(HD/4), 640 X 360(HD/4), 1280 X 720(HD)인 것으로 예시한다.
복수의 이미지들을 해상도 조절 없이, 동일한 해상도로 출력하는 경우, 표 2를 참조하면, 제1 내지 제3 이미지들은 제1 내지 제3 이미지들의 필요 해상도들 중 가장 큰 해상도로 출력된다. 예를 들어, 제1 내지 제3 이미지들은 1280 X 720(HD)로 출력되게 된다. 이때, 픽셀 쉐이딩 횟수는 1280 X 720(HD)이 되고, 출력된 이미지를 저장하는 외부 메모리의 대역폭은 3HD가 된다.
반면에, 본 발명의 일 실시예에 따라 복수의 이미지들 각각의 해상도를 조절하여 출력하는 경우, 표 3을 참조하면, 제1 내지 제3 이미지들을 최적 해상도(예를 들어, 640 X 360(HD/4))로 픽셀 쉐이딩이 수행되고, 픽셀 쉐이딩 횟수는 640 X 360(HD/4)가 된다. 또한, 렌더링된 제1 내지 제3 이미지들 각각은 해상도가 조절되어, 필요 해상도로 출력되기 때문에, 출력된 이미지들을 저장하는 외부 메모리의 대역폭은 2(HD/4)+HD가 된다.
이에 따라, 본 발명의 일 실시예에 따른 렌더링 방법은 복수의 이미지들의 렌더링에 필요한 연산량(픽셀 쉐이딩 횟수)과 복수의 이미지들을 저장하는 메모리 대역폭을 감소시킬 수 있음을 알 수 있다.
한편, 본 발명의 실시예에 따른 렌더링 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM. CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (22)

  1. 하나의 프레임을 구성하는 복수의 이미지들을 렌더링하기 위한 최적의 해상도, 멀티 샘플 개수, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들을 포함하는 해상도 정보를 수신하는 단계;
    상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계; 및
    상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 단계를 포함하고,
    상기 렌더링된 이미지들 각각의 해상도를 조절하는 단계는,
    상기 렌더링된 이미지들 각각의 해상도 팩터 및 상기 멀티 샘플의 개수에 따라, 해당 렌더링된 이미지 내에서 소정 개수의 샘플들을 하나의 픽셀로 병합하여 상기 해당 렌더링된 이미지의 해상도를 조절하는 단계를 포함하고,
    상기 소정 개수는 상기 멀티 샘플 개수를 상기 해상도 팩터로 나눈 값인 렌더링 방법.
  2. 제1항에 있어서,
    상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계는,
    상기 복수의 이미지들에 대하여, 상기 최적의 해상도로 픽셀들을 쉐이딩하는 단계; 및
    상기 픽셀들 각각이 상기 멀티 샘플 개수만큼의 샘플들을 포함하도록 멀티 샘플링을 수행하는 단계를 포함하는 렌더링 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 렌더링된 이미지들의 해상도를 조절하는 단계는,
    상기 소정 개수의 샘플들에 대한 산술 평균 값을 상기 병합된 픽셀의 픽셀 값으로 결정하는 단계를 더 포함하는 렌더링 방법.
  5. 삭제
  6. 하나의 프레임을 구성하는 복수의 이미지들에 각각 대응하는 필요 해상도들을 수신하는 단계;
    상기 필요 해상도들에 기초하여, 상기 복수의 이미지를 렌더링하기 위한 최적 해상도, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플의 개수 중 적어도 하나를 추출하는 단계;
    상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계; 및
    상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 단계를 포함하고,
    상기 렌더링된 이미지들 각각의 해상도를 조절하는 단계는,
    상기 렌더링된 이미지들 각각의 해상도 팩터 및 상기 멀티 샘플의 개수에 따라, 해당 렌더링된 이미지 내에서 소정 개수의 샘플들을 하나의 픽셀로 병합하여 상기 해당 렌더링된 이미지의 해상도를 조절하는 단계를 포함하고,
    상기 소정 개수는 상기 멀티 샘플 개수를 상기 해상도 팩터로 나눈 값인 렌더링 방법.
  7. 제6항에 있어서,
    상기 최적 해상도, 상기 해상도 팩터들 및 상기 멀티 샘플의 개수 중 적어도 하나를 추출하는 단계는,
    상기 필요 해상도들의 최대 공약수 해상도를 계산하여, 상기 최대 공약수 해상도를 상기 최적의 해상도로 추출하는 단계를 포함하는 렌더링 방법.
  8. 제6항에 있어서,
    상기 최적 해상도, 상기 해상도 팩터들 및 상기 멀티 샘플 개수 중 적어도 하나를 추출하는 단계는,
    상기 필요 해상도들의 최대 공약수 해상도가 계산되지 않는 경우, 상기 필요 해상도들 중 가장 작은 해상도를 상기 최적 해상도로 추출하는 단계를 더 포함하는 렌더링 방법.
  9. 제7항 또는 제8항에 있어서,
    상기 최적 해상도, 상기 해상도 팩터들 및 상기 멀티 샘플 개수 중 적어도 하나를 추출하는 단계는,
    상기 필요 해상도들을 상기 최적 해상도로 나눈 값들을 상기 해상도 팩터들로 추출하는 단계; 및
    상기 추출된 해상도 팩터들 중 가장 큰 값에 기초하여, 상기 멀티 샘플 개수를 추출하는 단계를 더 포함하는 렌더링 방법.
  10. 제9항에 있어서,
    상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 단계는,
    상기 복수의 이미지들에 대하여, 상기 최적의 해상도로 픽셀들을 쉐이딩하는 단계; 및
    상기 픽셀들 각각이 상기 멀티 샘플 개수만큼의 샘플들을 포함하도록 멀티 샘플링을 수행하는 단계를 포함하는 렌더링 방법.
  11. 삭제
  12. 하나의 프레임을 구성하는 복수의 이미지들을 렌더링하기 위한 최적의 해상도, 멀티 샘플 개수, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들을 포함하는 해상도 정보를 수신하는 해상도 정보 처리부;
    상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 렌더링 부; 및
    상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 해상도 조절부를 포함하고,
    상기 해상도 조절부는,
    상기 렌더링된 이미지들 각각의 해상도 팩터 및 상기 멀티 샘플의 개수에 따라, 해당 렌더링된 이미지 내에서 소정 개수의 샘플들을 하나의 픽셀로 병합하여 상기 해당 렌더링된 이미지의 해상도를 조절하고,
    상기 소정 개수는 상기 멀티 샘플 개수를 상기 해상도 팩터로 나눈 값인 렌더링 장치.
  13. 제12항에 있어서,
    상기 렌더링 부는,
    상기 복수의 이미지들에 대하여, 상기 최적의 해상도로 픽셀들을 쉐이딩하고, 상기 픽셀들 각각이 상기 멀티 샘플 개수만큼의 샘플들을 포함하도록 멀티 샘플링을 수행하는 렌더링 장치.
  14. 삭제
  15. 제12항에 있어서,
    상기 해상도 조절부는,
    상기 소정 개수의 샘플들에 대한 산술 평균 값을 상기 병합된 픽셀의 픽셀 값으로 결정하는 렌더링 장치.
  16. 삭제
  17. 하나의 프레임을 구성하는 복수의 이미지들에 각각 대응하는 필요 해상도들을 수신하고, 상기 필요 해상도들에 기초하여, 상기 복수의 이미지를 렌더링하기 위한 최적 해상도, 상기 복수의 이미지들에 각각 대응하는 해상도 팩터들 및 멀티 샘플의 개수 중 적어도 하나를 계산하는 해상도 정보 처리부;
    상기 복수의 이미지들을 상기 최적의 해상도로 렌더링하는 렌더링 부; 및
    상기 해상도 팩터들 및 상기 멀티 샘플의 개수에 기초하여, 상기 렌더링된 이미지들 각각의 해상도를 조절하는 해상도 조절부를 포함하고,
    상기 해상도 조절부는,
    상기 렌더링된 이미지들 각각의 해상도 팩터 및 상기 멀티 샘플의 개수에 따라, 해당 렌더링된 이미지 내에서 소정 개수의 샘플들을 하나의 픽셀로 병합하여 상기 해당 렌더링된 이미지의 해상도를 조절하고,
    상기 소정 개수는 상기 멀티 샘플 개수를 상기 해상도 팩터로 나눈 값인 렌더링 장치.
  18. 제17항에 있어서,
    상기 해상도 정보 처리부는,
    상기 필요 해상도들의 최대 공약수 해상도를 계산하여, 상기 최대 공약수 해상도를 상기 최적의 해상도로 결정하는 렌더링 장치.
  19. 제17항에 있어서,
    상기 해상도 정보 처리부는,
    상기 필요 해상도들의 최대 공약수 해상도가 계산되지 않는 경우, 상기 필요 해상도들 중 가장 작은 해상도를 상기 최적 해상도로 결정하는 렌더링 장치.
  20. 제18항 또는 제19항에 있어서,
    상기 해상도 정보 처리부는,
    상기 필요 해상도들을 상기 최적 해상도로 나눈 값들을 상기 해상도 팩터들로 결정하고, 상기 결정된 해상도 팩터들 중 가장 큰 값에 기초하여, 상기 멀티 샘플 개수를 결정하는 렌더링 장치.
  21. 제20항에 있어서,
    상기 렌더링 부는,
    상기 복수의 이미지들에 대하여, 상기 최적의 해상도로 픽셀들을 쉐이딩하고, 상기 픽셀들 각각이 상기 멀티 샘플 개수만큼의 샘플들을 포함하도록 멀티 샘플링을 수행하는 렌더링 장치.
  22. 삭제
KR1020140115686A 2014-09-01 2014-09-01 렌더링 장치 및 방법 KR102315280B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140115686A KR102315280B1 (ko) 2014-09-01 2014-09-01 렌더링 장치 및 방법
US14/688,168 US9898853B2 (en) 2014-09-01 2015-04-16 Rendering apparatus and method
EP15176628.4A EP2991038B1 (en) 2014-09-01 2015-07-14 Rendering apparatus and method
CN201510441124.8A CN106204700B (zh) 2014-09-01 2015-07-24 渲染设备和方法
JP2015150284A JP2016051469A (ja) 2014-09-01 2015-07-30 レンダリング装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140115686A KR102315280B1 (ko) 2014-09-01 2014-09-01 렌더링 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160026569A KR20160026569A (ko) 2016-03-09
KR102315280B1 true KR102315280B1 (ko) 2021-10-20

Family

ID=53541621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140115686A KR102315280B1 (ko) 2014-09-01 2014-09-01 렌더링 장치 및 방법

Country Status (5)

Country Link
US (1) US9898853B2 (ko)
EP (1) EP2991038B1 (ko)
JP (1) JP2016051469A (ko)
KR (1) KR102315280B1 (ko)
CN (1) CN106204700B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107481307B (zh) * 2017-07-05 2023-04-07 国网山东省电力公司泰安供电公司 一种快速渲染三维场景的方法
CN107333083A (zh) * 2017-07-25 2017-11-07 郑州云海信息技术有限公司 一种视频分辨率调整的方法
CN107436500B (zh) * 2017-08-25 2020-04-24 京东方科技集团股份有限公司 光栅及制备方法、驱动方法、裸眼三维显示系统
US20210279506A1 (en) * 2020-12-18 2021-09-09 Intel Corporation Systems, methods, and devices for head pose determination
CN112370784B (zh) * 2021-01-15 2021-04-09 腾讯科技(深圳)有限公司 虚拟场景显示方法、装置、设备以及存储介质
CN113726950B (zh) * 2021-06-10 2022-08-02 荣耀终端有限公司 一种图像处理方法和电子设备
CN116033157B (zh) * 2022-05-30 2023-10-20 荣耀终端有限公司 投屏方法和电子设备
CN114745570B (zh) * 2022-06-09 2022-11-11 荣耀终端有限公司 图像的渲染方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100265259A1 (en) * 2009-04-17 2010-10-21 Arm Limited Generating and resolving pixel values within a graphics processing pipeline
US20130027431A1 (en) * 2011-07-25 2013-01-31 Hon Hai Precision Industry Co., Ltd. Display system and method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4777185B2 (ja) 2006-08-08 2011-09-21 キヤノン株式会社 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体、及び、画像符号化装置
GB0922126D0 (en) 2009-12-17 2010-02-03 Advanced Risc Mach Ltd Graphics processing systems
KR20120049997A (ko) * 2010-11-10 2012-05-18 삼성전자주식회사 영상 변환 장치 및 이를 이용하는 디스플레이 장치와 그 방법들
US8982136B2 (en) 2011-05-16 2015-03-17 Qualcomm Incorporated Rendering mode selection in graphics processing units
KR101227155B1 (ko) 2011-06-14 2013-01-29 주식회사 넥서스칩스 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
WO2013081383A1 (ko) 2011-11-29 2013-06-06 삼성전자주식회사 깊이 영상을 고해상도로 변환하는 방법 및 장치
US20130293550A1 (en) * 2012-05-07 2013-11-07 Business Intelligence Solutions Safe B.V. Method and system for zoom animation
US20150245063A1 (en) * 2012-10-09 2015-08-27 Nokia Technologies Oy Method and apparatus for video coding
US9299125B2 (en) * 2013-05-03 2016-03-29 Advanced Micro Devices Inc. Variable acuity rendering using multisample anti-aliasing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100265259A1 (en) * 2009-04-17 2010-10-21 Arm Limited Generating and resolving pixel values within a graphics processing pipeline
US20130027431A1 (en) * 2011-07-25 2013-01-31 Hon Hai Precision Industry Co., Ltd. Display system and method

Also Published As

Publication number Publication date
EP2991038A1 (en) 2016-03-02
US20160063752A1 (en) 2016-03-03
CN106204700B (zh) 2020-09-01
CN106204700A (zh) 2016-12-07
KR20160026569A (ko) 2016-03-09
US9898853B2 (en) 2018-02-20
EP2991038B1 (en) 2020-12-02
JP2016051469A (ja) 2016-04-11

Similar Documents

Publication Publication Date Title
KR102315280B1 (ko) 렌더링 장치 및 방법
US10134175B2 (en) Gradient adjustment for texture mapping to non-orthonormal grid
US10878527B2 (en) Variable resolution graphics processing
US9165399B2 (en) System, method, and computer program product for inputting modified coverage data into a pixel shader
CN105374005B (zh) 数据处理系统及其操作方法、计算机可读存储介质
US9805447B2 (en) Methods of and apparatus for processing computer graphics
KR102477264B1 (ko) 텍스쳐를 처리하는 방법 및 장치
JP2006221418A (ja) 描画処理装置および描画データ圧縮方法
US11238639B2 (en) Gradient adjustment for texture mapping to non-orthonormal grid
KR20170014350A (ko) 텍스쳐 처리 방법 및 장치
RU2402811C2 (ru) Обработка изображений с помощью линейных параметров светоустановки и других усовершенствований обработки изображений
US11263805B2 (en) Method of real-time image processing based on rendering engine and a display apparatus
US6421060B1 (en) Memory efficient system and method for creating anti-aliased images
KR20170042969A (ko) 텍스쳐 처리 방법 및 장치
KR20180048081A (ko) 텍스쳐 처리 방법 및 장치
US20190080437A1 (en) Artifact detection in a contrast enhanced output image
US8279240B2 (en) Video scaling techniques
US20120154429A1 (en) Apparatus and method for smoothed aliasing on a two-dimensional plane
JP2015049707A (ja) ハイダイナミックレンジレンダリング方法及び装置

Legal Events

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