KR20160051154A - 렌더링 방법, 렌더링 장치 및 전자 장치 - Google Patents

렌더링 방법, 렌더링 장치 및 전자 장치 Download PDF

Info

Publication number
KR20160051154A
KR20160051154A KR1020140150625A KR20140150625A KR20160051154A KR 20160051154 A KR20160051154 A KR 20160051154A KR 1020140150625 A KR1020140150625 A KR 1020140150625A KR 20140150625 A KR20140150625 A KR 20140150625A KR 20160051154 A KR20160051154 A KR 20160051154A
Authority
KR
South Korea
Prior art keywords
pixel pattern
pixel
rendered image
frame
rendering
Prior art date
Application number
KR1020140150625A
Other languages
English (en)
Other versions
KR102275712B1 (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 KR1020140150625A priority Critical patent/KR102275712B1/ko
Priority to US14/819,193 priority patent/US10510325B2/en
Priority to EP15184302.6A priority patent/EP3016091A1/en
Priority to CN201510623191.1A priority patent/CN105574924B/zh
Priority to JP2015198470A priority patent/JP6726946B2/ja
Publication of KR20160051154A publication Critical patent/KR20160051154A/ko
Application granted granted Critical
Publication of KR102275712B1 publication Critical patent/KR102275712B1/ko

Links

Images

Classifications

    • 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/39Control of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/04Structural and physical details of display devices
    • G09G2300/0439Pixel structures
    • G09G2300/0452Details of colour pixel setup, e.g. pixel composed of a red, a blue and two green components
    • 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/06Colour space transformation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification

Abstract

일 실시 예에 따른 렌더링 방법은 렌더링된 이미지를 표시할 장치의 픽셀 패턴 정보를 입력받는 단계, 입력된 픽셀 패턴 정보에 상응하도록 렌더링된 이미지의 픽셀 패턴을 생성하는 단계 및 생성된 픽셀 패턴을 기초로 렌더링된 이미지의 픽셀 값을 프레임 버퍼에 출력하는 단계를 포함한다.

Description

렌더링 방법, 렌더링 장치 및 전자 장치{Rendering method and apparatus, and electronic apparatus}
렌더링 방법, 렌더링 장치 및 전자 장치에 관한 것이다.
3D 그래픽스 API(Application Program Interface) 표준들로는 OpenGL, OpenGL ES 또는 Direct 3 등이 있다. API 표준들은 각 프레임에 대한 렌더링(rendering)을 수행하고, 영상을 표시하는 방법을 포함한다.
렌더링은 기하 처리(geometry processing) 단계와 픽셀 처리(pixel processing) 단계로 구분된다. 기하 처리는 3차원 공간에 포함된 오브젝트들을 복수의 프리미티브들로 분할하는 과정이고, 픽셀 처리는 분할된 프리미티브들의 색상을 결정하는 과정이다.
각 프레임에 대한 렌더링을 수행할 때, 많은 연산이 수행되며, 많은 전력이 소모된다. 따라서, 렌더링을 수행할 때, 연산량을 줄이고, 메모리에 접속(access)하는 횟수를 줄일 필요가 있다.
GPU(Graphic Processing Unit, 이하 GPU라 한다)에서 렌더링된 이미지에 대해 디스플레이의 픽셀 패턴에 따라 디스플레이가 필요로 하는 픽셀 정보만을 프레임 버퍼에 출력함으로써, 프레임 버퍼 액세스를 최소화할 수 있는 렌더링 방법 및 장치를 제공하는 것이다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록 매체를 제공하는 데 있다. 본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 실시 예에 따른 렌더링 방법은 렌더링된 이미지를 표시할 장치의 픽셀 패턴 정보를 입력받는 단계; 상기 입력된 픽셀 패턴 정보에 상응하도록 상기 렌더링된 이미지의 픽셀 패턴을 생성하는 단계; 및 상기 생성된 픽셀 패턴을 기초로 상기 렌더링된 이미지의 픽셀 값을 프레임 버퍼에 출력하는 단계를 포함한다.
상기 렌더링 방법은 상기 렌더링된 이미지의 적어도 하나의 타일에 대한 픽셀 값들을 상기 생성된 픽셀 패턴에 상응하는 픽셀 값들로 저장하는 단계를 더 포함하고, 상기 픽셀 패턴에 상응하도록 저장된 픽셀 값들을 상기 프레임 버퍼에 출력할 수 있다.
상기 렌더링 방법은 상기 타일의 시작 좌표값을 기준으로 상기 픽셀 패턴을 생성할 수 있다.
상기 렌더링 방법은 상기 렌더링된 이미지에 해당하는 프레임이 상기 장치에 출력될 프레임인지, 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인지에 관한 이미지 속성 정보를 입력받는 단계를 더 포함하고, 상기 이미지 속성 정보에 따라 상기 렌더링된 이미지의 픽셀 패턴을 생성할 수 있다.
상기 렌더링 방법은 상기 렌더링된 이미지가 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인 경우, 상기 픽셀 패턴을 이용하여 상기 렌더링된 이미지의 최초 픽셀 패턴으로 복원할 수 있다.
상기 렌더링 방법은 상기 렌더링된 이미지를 표시할 장치의 디스플레이 컨트롤러에 바이패스 신호를 출력할 수 있다.
상기 렌더링된 이미지를 표시할 장치는, 펜타일(pentile) 기반 디스플레이 장치일 수 있다.
다른 실시 예에 따른 렌더링 방법은 타일 기반으로 렌더링 된 임의의 프레임에 대한 적어도 하나의 타일을 입력받는 단계; 상기 적어도 하나의 타일에 대한 제1 픽셀 패턴을 상기 렌더링 된 임의의 프레임을 표시할 디스플레이 장치의 픽셀 패턴 정보에 상응하는 제2 픽셀 패턴으로 변환하는 단계; 및 상기 변환된 제2 픽셀 패턴에 따른 상기 타일에 대한 픽셀 값을 프레임 버퍼에 출력하는 단계를 포함한다.
상기 렌더링 방법은 상기 변환된 제2 픽셀 패턴에 따른 상기 임의의 프레임에 대한 복수의 타일에 대한 픽셀 값들을 저장하는 단계를 포함하고, 상기 픽셀 패턴에 상응하도록 저장된 픽셀 값들을 상기 프레임 버퍼에 출력할 수 있다.
상기 렌더링 방법은 상기 타일의 시작 좌표값을 기준으로 상기 제2 픽셀 패턴을 생성할 수 있다.
상기 복수의 타일에 대한 상기 제2 픽셀 패턴으로의 변환이 종료된 경우, 상기 임의의 프레임에 대해 저장된 픽셀 값들을 상기 프레임 버퍼에 출력할 수 있다.
또 따른 실시 예에 따른 렌더링 장치는 렌더링된 이미지를 표시할 장치의 픽셀 패턴 정보를 입력받는 렌더링 제어부; 및 상기 입력된 픽셀 패턴 정보에 상응하도록 상기 렌더링된 이미지의 픽셀 패턴을 생성하는 픽셀 패턴 생성부를 포함하고,
상기 렌더링 제어부는, 상기 픽셀 패턴 생성부에서 생성된 픽셀 패턴을 프레임 버퍼에 출력한다.
상기 렌더링 장치는 상기 렌더링된 이미지의 적어도 하나의 타일에 대한 픽셀 값들을 상기 생성된 픽셀 패턴에 상응하는 픽셀 값들로 저장하는 레이아웃 버퍼를 더 포함하고, 상기 렌더링 제어부는, 상기 레이아웃 버퍼에 저장된 픽셀 패턴에 상응하는 픽셀 값들을 상기 프레임 버퍼에 출력할 수 있다.
상기 픽셀 패턴 생성부는, 상기 타일의 시작 좌표값을 기준으로 상기 픽셀 패턴을 생성할 수 있다.
상기 렌더링 제어부는, 상기 렌더링된 이미지에 해당하는 프레임이 상기 장치에 출력될 프레임인지, 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인지에 관한 이미지 속성 정보를 입력받고,
상기 픽셀 패턴 생성부는, 상기 이미지 속성 정보에 따라 상기 렌더링된 이미지의 픽셀 패턴을 생성할 수 있다.
상기 렌더링 제어부는, 상기 렌더링된 이미지가 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인 경우, 상기 픽셀 패턴을 이용하여 상기 렌더링된 이미지의 최초 픽셀 패턴으로 복원할 수 있다.
상기 렌더링 제어부는, 상기 렌더링된 이미지를 표시할 장치의 디스플레이 컨트롤러에 바이패스 신호를 출력할 수 있다.
또 다른 실시 예에 따른 전자 장치는 호스트 프로세서; 디스플레이 장치; 상기 호스트 프로세서의 제어에 따라 객체의 3차원 모델을 렌더링하는 그래픽 프로세서; 및 상기 그래픽 프로세서에서 렌더링된 이미지를 저장하여 상기 디스플레이 장치에 출력하는 프레임 버퍼를 포함하고,
상기 그래픽 프로세서는, 상기 호스트 프로세서로부터 상기 디스플레이 장치의 픽셀 패턴 정보를 입력받아, 상기 입력된 픽셀 패턴 정보에 상응하도록 상기 렌더링된 이미지의 픽셀 패턴을 생성하고, 상기 생성된 픽셀 패턴에 따라 렌더링된 이미지를 상기 프레임 버퍼에 출력한다.
상기 그래픽 프로세서는, 상기 렌더링된 이미지의 적어도 하나의 타일에 대한 픽셀 값들을 상기 생성된 픽셀 패턴에 상응하는 픽셀 값들로 저장하고, 상기 저장된 픽셀 값들을 상기 프레임 버퍼에 출력할 수 있다.
상기 호스트 프로세서는, 상기 렌더링된 이미지에 해당하는 프레임이 상기 디스플레이 장치에 출력될 프레임인지, 상기 그래픽 프로세서에서 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인지에 관한 이미지 속성 정보를 판단하고,
상기 그래픽 프로세서는, 상기 호스트 프로세서로부터 수신된 이미지 속성 정보에 따라 상기 렌더링된 이미지의 픽셀 패턴을 생성할 수 있다.
상기 그래픽 프로세서는, 상기 렌더링된 이미지가 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인 경우, 상기 픽셀 패턴을 이용하여 상기 렌더링된 이미지의 최초 픽셀 패턴으로 복원할 수 있다.
상기 그래픽 프로세서는, 상기 디스플레이 장치를 제어하는 디스플레이 컨트롤러에 바이패스 신호를 출력할 수 있다.
상기 그래픽 프로세서는, 타일 기반 렌더링을 수행할 수 있다.
상기 디스플레이 장치는, 펜타일 기반 디스플레이 장치일 수 있다.
본 실시 예는 실제 디스플레이 장치의 화면에 모든 픽셀이 렌더링된 이미지의 모든 컬러 성분을 이용하여 그려지지 않기 때문에 디스플레이 장치에 필요한 픽셀 데이터를 생성하여 출력함으로써 메모리로 출력되어야 하는 데이터 량을 줄일 수 있다.
또한, 감소한 데이터를 오프 칩(Off-chip) 메모리, 즉 프레임 버퍼로 보내기 때문에 트랙픽도 줄일 수 있다.
또한, 이전 프레임과 상관없이 디스플레이의 특성에 따라 일정한 양의 연산 또는 메모리 접근을 줄 일 수 있으므로 일정한 성능 향상을 도모할 수 있다.
도 1은 3차원 영상을 처리하는 과정을 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 렌더링 장치(100)를 설명하기 위한 도면이다.
도 3은 다른 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 4a 내지 4d는 디스플레이 장치의 픽셀 패턴을 설명하기 위한 예시 도들이다.
도 5는 도 3에 도시된 픽셀 패턴 생성부(220)가 픽셀 패턴을 생성하는 일 예를 설명하기 위한 도면이다.
도 6은 도 3에 도시된 픽셀 패턴 생성부(220)가 픽셀 패턴을 생성하는 다른 예를 설명하기 위한 도면이다.
도 7은 도 3에 도시된 픽셀 패턴 생성부(220)가 픽셀 패턴을 생성하는 또 다른 예를 설명하기 위한 도면이다.
도 8은 또 다른 실시 예에 따른 렌더링 방법을 설명하기 위한 흐름 도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 실시 예는 3D 그래픽스 렌더링에 관한 것이다. 3D 그래픽스 렌더링은 삼차원 모델을 이차원 화면에 매핑하고 실제 화면의 각 픽셀에 그려질 컬러의 값을 계산하는 과정이다. 3D 그래픽스 렌더링의 처리 과정을 도 1을 참조하여 설명한다.
도 1은 3차원 영상을 처리하는 과정을 설명하기 위한 도면이다. 도 1을 참조하면, 단계 11 내지 단계 17을 통해 3차원 영상을 처리하는 과정을 나타낸다. 단계 11 내지 단계 13은 기하 처리 단계이고, 단계 14 내지 단계 17은 픽셀 처리 단계이다.
단계 11은 영상을 나타내는 정점(vertex)들을 생성하는 단계이다. 정점들은 영상에 포함된 오브젝트(object)들을 나타내기 위해 생성된다.
단계 12는 생성된 정점들을 쉐이딩(shading)하는 단계이다. 정점 쉐이더(vertex shader)는 단계 11에서 생성된 정점들의 색(color)를 지정하여, 정점들에 대한 쉐이딩을 수행할 수 있다.
단계 13은 프리미티브들(primitives)을 생성하는 단계이다. 프리미티브는 점, 선 또는 정점들로부터 형성되는 다각형(polygon)을 나타낸다. 일 예로서, 프리미티브들은 정점들을 연결하여 형성된 삼각형들을 나타낼 수도 있다.
단계 14는 프리미티브를 래스터화(rasterization)하는 단계이다. 프리미티브를 래스터화하는 것은 프리미티브를 복수의 프래그먼트들(fragments)로 분할하는 것을 나타낸다. 프래그먼트는 프리미티브를 구성하는 단위이며, 영상 처리를 수행하기 위한 기본 단위일 수 있다. 프리미티브는 정점에 대한 정보만을 포함한다. 따라서, 래스터화하는 단계에서 정점과 정점 사이의 프래그먼트들을 생성할 때 보간(interpolation)이 수행된다.
단계 15는 픽셀을 쉐이딩하는 단계를 나타낸다. 도 1에서는 픽셀 단위로 쉐이딩이 수행되는 것을 도시하고 있으나, 프래그먼트 단위로 쉐이딩이 수행될 수도 있다. 예를 들어, 픽셀 또는 프래그먼트를 쉐이딩하는 것은 픽셀 또는 프래그먼트의 색을 지정하는 것이다.
단계 16은 픽셀 또는 프래그먼트를 텍스쳐링(texturing)하는 단계를 나타낸다. 텍스쳐링은 픽셀 또는 프래그먼트의 색을 지정할 때, 미리 생성된 이미지를 이용하는 방법이다. 예를 들어, 쉐이딩은 프래그먼트에 어떤 색을 지정할지 계산을 통해서 수행하지만, 텍스쳐링은 미리 생성된 이미지와 대응되는 프래그먼트에 이미지의 색과 동일한 색을 지정하는 방법이다.
단계 15 또는 단계 16의 경우, 각각의 픽셀 또는 프래그먼트를 쉐이딩 또는 텍스쳐링하기 위하여 많은 연산이 요구된다. 따라서, 쉐이딩 또는 텍스쳐링하는 단계를 보다 효율적으로 수행하여 연산량을 줄일 필요가 있다. 쉐이딩 과정에서 연산량을 줄이는 대표적인 방법으로 은닉 표면 제거(Hidden Surface Removal, HSR)방법이 있다. 은닉 표면 제거 방법은 앞에 위치한 오브젝트에 의해 가려진 오브젝트는 쉐이딩을 수행하지 않는 방법이다.
단계 17은 테스트 및 믹싱(testing and mixing) 단계를 나타낸다.
단계 18은 프레임 버퍼에 저장된 프레임을 표시하는 단계를 나타낸다. 단계 11 내지 단계 17을 통해 생성된 프레임은 프레임 버퍼에 저장된다. 프레임 버퍼에 저장된 프레임은 디스플레이 장치를 통해 표시된다.
도 2는 일 실시 예에 따른 렌더링 장치(100)를 설명하기 위한 도면이다.
도 2를 참조하면, 렌더링 장치(100)는 렌더링 제어부(110) 및 픽셀 패턴 생성부(120)를 포함한다. 도 2에 도시되지 않았지만, 렌더링 장치(100)는 도 1에 도시된 단계 11 내지 17을 수행하는 그래픽스 파이프 라인을 포함한다. 렌더링 제어부(110)는 그래픽스 파이프 라인을 통한 영상 처리를 제어한다.
렌더링 장치(100)는 렌더링된 이미지를 도 1에 도시된 프레임 버퍼(18)로 출력하기 전에, 렌더링된 이미지를 표시할 디스플레이 장치의 픽셀 패턴 정보를 파악하고, 픽셀 패턴 정보에 상응하도록 렌더링된 이미지의 픽셀 패턴을 생성한다. 즉, 렌더링된 이미지의 모든 픽셀의 서브 픽셀인 R/G/B 값을 프레임 버퍼(18)에 출력하지 않고, 디스플레이 장치에서 구현하는 서브 픽셀, 예를 들면 R/G 와 B/G의 서브 픽셀로 구성된 픽셀 패턴, 또는 R/G, B/W의 서브 픽셀로 구성된 픽셀 패턴에 맞도록 렌더링된 이미지의 픽셀 패턴을 생성한다.
렌더링 제어부(110)는 렌더링 장치(100)의 동작을 제어하며, 렌더링된 이미지를 표시할 장치의 픽셀 패턴 정보를 입력받는다.
픽셀 패턴 생성부(120)는 렌더링 제어부(110)로부터 제공된 픽셀 패턴 정보에 상응하도록 렌더링된 이미지의 픽셀 패턴을 생성한다. 예를 들면, 렌더링된 이미지의 픽셀 패턴이 R/G/B이고, 디스플레이 장치의 픽셀 패턴이 R/G, B/G인 경우, 픽셀 패턴 생성부(120)는 렌더링된 이미지의 첫 번째 픽셀의 서브 픽셀, R/G/B를 서브 픽셀 R/G로, 두 번째 픽셀의 서브 픽셀(R/G/B)을 서브 픽셀 B/G로 변환한다. 디스플레이 장치의 픽셀 패턴이 R/G, B/W인 경우, 픽셀 패턴 생성부(120)는 렌더링된 이미지의 첫 번째 픽셀의 서브 픽셀, R/G/B를 서브 픽셀 R/G로, 두 번째 픽셀의 서브 픽셀(R/G/B)을 서브 픽셀 B/W로 변환한다. 여기서, 서브 픽셀 W를 생성하는 방법은 서브 픽셀 R/G/B의 픽셀 값을 합하여 서브 픽셀 W의 픽셀 값을 생성하거나, 인접한 서브 픽셀 값들을 고려하여 서브 픽셀 W의 픽셀 값을 생성할 수도 있다. 서브 픽셀을 변환하는 방법은 첫 번째 픽셀에서, 서브 픽셀 B를 버리고 서브 픽셀 R/G를 생성할 수도 있고, 인접한 픽셀의 픽셀 패턴을 고려하여, 서브 픽셀 R/G를 생성할 수도 있다.
렌더링 제어부(110)는 픽셀 패턴 생성부(120)가 생성한 픽셀 패턴을 프레임 버퍼(도 1에 도시된 18)에 출력한다.
본 실시 예에 따른 렌더링 장치(100)는, 실제 디스플레이 장치의 화면에 모든 픽셀이 렌더링된 이미지의 모든 컬러 성분을 이용하여 그려지지 않기 때문에 이러한 특성을 이용하여 디스플레이 장치에 필요한 픽셀 데이터를 생성하여 출력함으로써 메모리로 출력되어야 하는 데이터 량을 줄일 수 있다.. 또한, 실제 RGB 픽셀 데이터에 비하여 감소한 데이터를 오프 칩(Off-chip) 메모리, 즉 프레임 버퍼로 보내기 때문에 트랙픽도 줄일 수 있다. 또한, 이전 프레임과 상관없이 디스플레이의 특성에 따라 일정한 양의 연산 또는 메모리 접근을 줄 일 수 있으므로 일정한 성능 향상을 도모할 수 있다.
도 3은 다른 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 3을 참조하면, 전자 장치는 GPU(200), 프레임 버퍼(250), 호스트 디바이스(300), 디스플레이 제어부(400)와 디스플레이 장치(500)를 포함한다. 전자 장치는 3D 그래픽 렌더링을 이용하는 응용 디바이스로서, 예를 들면, 휴대폰, 스마트 폰, 태블릿, TV 등을 포함할 수 있지만, 이에 한정되는 것은 아니다.
호스트 디바이스(300)의 GPU 드라이버(320)는 그래픽스 API 등을 통해 애플리케이션 프로그램으로부터 3D 그래픽스 렌더링과 관련된 데이터와 명령 등을 받는다. GPU(200)내의 렌더링 제어부(210)는 GPU 드라이버(320)로부터 명령을 받아 이를 스케줄링하고, 스케줄된 명령을 기반으로 그래픽스 파이프라인을 구동한다. 그래픽스 파이프라인은 호스트 디바이스(300)로부터 받은 명령과 GPU 드라이버(320)에게서 전달받은 데이터/쉐이더 프로그램을 통해 실제 3D 그래픽스 렌더링을 수행한다. 타일 기반 렌더링의 경우 이러한 렌더링은 각 타일 수준에서 처리하게 되며 렌더링을 마친 타일은 오프칩으로 보내진다. 모든 타일에 대한 렌더링이 끝나면 오프칩 메모리에 하나의 프레임이 완성되게 되며, 디스플레이 드라이버/디스플레이 제어부(310 또는 400)를 통해 출력하면 렌더링된 영상이 디스플레이 장치(500)의 화면에 표시된다.
도 1을 참조하여 설명한 바와 같이, 3D 그래픽스 렌더링은 기하 정보를 읽어들여 이를 2D 이미지로 렌더링하는 과정으로 구성된다. 기하정보를 읽는 과정이나, 렌더링한 결과를 쓰는 과정에 있어 필수적으로 메모리 접근이 발생하게 된다. 일반적으로 3D 그래픽스 처리 과정에서 이러한 메모리 접근이 과다하게 발생하는 경향을 보이며 이는 파워(Power)/성능(Performance) 특성을 모두 나쁘게 만들기 때문에 모바일 환경에서 타일 기반의 렌더링 기법을 사용한다. 타일 기반의 렌더링은 화면을 여러 타일로 나누고, 각 타일을 대상으로 렌더링을 수행한 후에, 모든 타일에 대한 렌더링이 끝나면 이를 화면에 출력하는 순서로 진행된다. 각 타일의 처리 과정은 온칩 메모리 상에서 수행되고 모든 연산이 끝난 후에 이를 오프칩 메모리로 보내기 때문에 오프칩 메모리 접근을 크게 줄일 수 있다. 이 과정에서 오프 칩 메모리로 보낼 타일의 내용이 이전 프레임의 같은 위치 타일과 동일하다면 덮어쓰기를 하지 않아도 되기 때문에 온칩에서 오프칩 메모리로의 트래픽을 더욱 줄 일 수 있다.
타일 기반 렌더링은 렌더링 과정에 있어서의 오프 칩 메모리 접근을 최소화하며, 타일의 내용이 이전 프레임에서 변경된 경우 렌더링 된 타일의 모든 값을 오프 칩 메모리에 쓴다. 따라서 이전 프레임에서 변경된 값이 없을 경우에는 메모리 접근을 크게 줄일 수 있으나, 그렇지 않은 경우 이득을 얻을 수 없다. 또한, 일반적인 경우 이러한 모든 값이 필요하지만, 디스플레이 장치의 특성에 따라 결과의 모든 값을 사용하지 않는 경우에는 불필요한 오프 칩 메모리 쓰기가 발생할 수 있다.
실시 예에 따른 전자 장치는 렌더링된 이미지의 모든 픽셀이 모든 컬러 성분을 이용하여 그려지지 않기 때문에 이러한 특성을 이용하여 디스플레이 장치에 필요한 픽셀 데이터를 생성하여 출력함으로써 메모리로 출력되어야 하는 데이터 량을 줄이고, 오프 칩 메모리로 나가는 트래픽을 줄일 수 있다. 또한, 이전 프레임과 상관없이 디스플레이의 특성에 따라 일정한 양의 연산 또는 메모리 접근을 줄 일 수 있으므로 일정한 성능 향상을 기대할 수 있다.
다시 도 3을 참조하면, 호스트 디바이스(300)는 3D 그래픽스 API를 통해 유저 애플리케이션(User Application)으로부터 렌더링과 관련된 명령/데이터 등을 받아 이를 기반으로 GPU(200)를 구동한다.
GPU(200)는 렌더링 제어부(210)에 의해 제어되며, 렌더링 제어부(210)는 GPU 드라이버(320)로부터 받은 명령/데이터를 직접 처리하거나, 그래픽스 파이프라인(230)에 전달한다. 소스 데이터, 예를 들면 3D 객체 등은 그래픽스 파이프 라인(230)을 통과하며 변환/쉐이딩(Transform/Shading) 등의 과정을 거쳐 2D 프레임 버퍼(250)의 각 픽셀에 매핑되어 그려지게 되며, 이 프레임 버퍼(250)를 디스플레이 드라이버(310)/디스플레이 제어부(400)에 전달하여 디스플레이 장치(500)에 해당 영상이 표시된다.
렌더링 제어부(210)는 호스트 디바이스(300)로부터 디스플레이 장치(500)의 픽셀 패턴 정보를 입력받는다. 예를 들면, 호스트 디바이스(300)의 GPU 드라이버(320)는 디스플레이 드라이버(310) 또는 호스트 디바이스(300)의 제어부(미도시)를 통해 현재 사용중인 디스플레이 장치(500)의 디스플레이 특성, 예를 들면, R/G/B 패턴, 각 픽셀 좌표에 대한 색상 원소 패턴 등을 파악할 수 있다. 또한, R/G, B/G등의 패턴은 행 방향 증가에 따라 엇갈려 배치되기 때문에 화면 위치의 한 픽셀 패턴만 저장해 두면 2D 화면 특정 좌표의 픽셀 패턴도 알 수 있다.
도 4a 내지 4d는 디스플레이 장치의 픽셀 패턴을 설명하기 위한 예시 도들이다.
도 4a에는 일반적인 LCD 디스플레이의 RGB 패턴이 도시되어 있다. R/G/B 가 하나의 픽셀(401)을 구성하며, 이러한 픽셀이 화면의 구성하는 해상도만큼 존재하게 된다.
도 4b에는 R과 G가 하나의 픽셀(402), B와 G가 하나의 픽셀을 이루며, 번갈아 배열된다. 도 4b에 도시된 픽셀의 수는 4×4인 16개로서, 도 4a에 도시된 픽셀의 수(16개)와 동일하다. 도 4b에 도시된 픽셀 패턴은 동일한 픽셀 수를 갖지만, 더 적은 수의 서브 픽셀로 동일한 픽셀 수를 구현한다.
도 4c에는 도 4b와 동일하게, R과 G가 하나의 픽셀(403), B와 G가 하나의 픽셀을 이루며, 번갈아 배열되지만, 하나의 픽셀이 마름모 형태로 배열된다는 점에서 차이가 있다.
도 4d에는 R과 G가 하나의 픽셀(404), B와 W가 하나의 픽셀을 이루며, 번갈아 배열된다. 도 4b에 도시된 픽셀의 수는 4×4인 16개로서, 도 4a 내지 4c에 도시된 픽셀의 수(16개)와 동일하다. 도 4d에 도시된 픽셀 패턴 중 서브 픽셀 W은 R/G/B 픽셀을 합하여 생성하거나, 인접한 픽셀들의 픽셀 값을 이용하여 생성할 수도 있다.
일반적으로, 도 4b 내지 4c에 도시된 픽셀 패턴은 도 4a에 도시된 RGB 서브 픽셀 방식으로 ppi(Pixels per inch)를 높이기 어려운 상황일 때 사용된다. 이는 RGB 서브 픽셀 방식보다 적은 서브 픽셀로 동일 해상도를 비슷하게 표현할 수 있기 때문이다. 하지만, 바꿔 말하면 RGB 서브 픽셀 방식보다 서브 픽셀 개수가 필연적으로 적다는 의미이기도 하다. 때문에 완벽히 똑같은 수준으로 표현하기 힘들고 가독성이나 화질이 떨어진다는 단점이 있다. 그래도 고해상도 패널을 생산하는데 좋은 방법 중 하나이기 때문에 TFT-LCD 또는 OLED에는 주로 사용된다. 도 4b 및 4c에 도시된 RG/BG 펜타일 서브 픽셀 방식과 RG/BW 펜타일 서브 픽셀 방식으로 나뉘며, 펜타일 디스플레이 또는 펜타일 패턴이라고도 한다. 도 4b 및 4c에 도시된 픽셀 패턴은 OLED 패널에 주로 사용되고, 도 4e에 도시된 픽셀 패턴은 TFT-LCD 패널에 주로 사용된다.
실시 예에서, 도 4b 내지 4c에 도시된 디스플레이 장치의 픽셀 패턴들을 설명하였지만, 이에 한정되지 않고, 렌더링된 이미지의 픽셀 패턴, 예를 들면, RGB로 구현된 픽셀 패턴과 다른 픽셀 패턴을 사용하는 많은 디스플레이 장치가 존재할 수 있으며, 다른 픽셀 패턴을 사용하는 장치에 동일하게 적용할 수 있음은 물론이다.
렌더링 제어부(210)는 디스플레이 장치(500)의 픽셀 패턴 정보를 픽셀 패턴 생성부(220)에 제공한다. 픽셀 패턴 생성부(220)는 그래픽스 파이프라인(230)을 통해 렌더링된 이미지를 입력받아, 디스플레이 장치(500)의 픽셀 패턴 정보에 상응하도록 렌더링된 이미지의 픽셀 패턴을 생성한다.
픽셀 패턴 생성부(220)는 렌더링된 이미지의 픽셀 패턴을 디스플레이 장치(500)의 픽셀 패턴에 맞도록 생성한다. 여기서, 생성한다는 것은 픽셀 패턴을 변환, 또는 재배열한다는 것과 동일한 의미로 이해되어야 한다.
픽셀 패턴 생성부(220)는 서브 픽셀들을 생성하는 다양한 공지기술들을 이용하여 디스플레이 장치(500)에 픽셀 패턴에 맞는 서브 픽셀을 생성할 수 있다. 예를 들면 미국특허 US 7,583, 279호에는 펜타일 픽셀을 생성하는 방법이 개시된다. 픽셀 패턴 생성부(220)가 서브 픽셀을 생성하는 과정은 도 5 내지 7을 참조하여 후술한다.
렌더링 제어부(210)는 그래픽스 파이프라인(230)을 통해 출력된 렌더링된 이미지가 디스플레이 장치(500)에 출력될 프레임인지, 그래픽스 파이프라인(230)을 통해 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인지에 관한 이미지 속성 정보를 입력받는다. 픽셀 패턴 생성부(210)는 렌더링 제어부(210)로부터 제공된 이미지 속성 정보에 따라, 렌더링된 이미지의 픽셀 패턴을 기초로 렌더링된 이미지의 픽셀 패턴을 생성한다.
호스트 디바이스(300)의 GPU 드라이버(320)는 유저 프로그램인 그래픽스 API를 직접 처리하기 때문에 그림을 그리는 명령(draw call)이 어떠한 형식으로 사용되는지 알 수 있다. 한 개 이상의 명령이 하나의 프레임을 그리는데 사용될 수 있으며, 그려진 프레임은 바로 화면으로 출력될 수도 있고, 다른 프레임의 텍스쳐로 사용되거나, 후 처리(Post processing) 등에 사용될 수도 있다. 이처럼 프레임의 사용 용도에는 자유도가 있으나, 일반적으로 GPU 드라이버(320)에서 계산을 통해 각 프레임이 어떻게 사용될지를 미리 알 수 있다. 또한 API 확장을 고려한다면, 각 프레임의 용도를 명시적으로 지정할 수도 있다. 따라서, 렌더링 제어부(210)는 이미지 속성 정보를 입력받아, 현재 픽셀 패턴 생성부(220)가 디스플레이 장치(500)의 픽셀 패턴 정보에 상응하는 픽셀 패턴을 생성할지 여부에 관한 정보를 제공한다. 예를 들면, 현재 그래픽스 파이프라인(230)을 통해 제공된 렌더링된 이미지가 디스플레이 장치(500)에 출력될 이미지인 경우에는 픽셀 패턴 생성부(220)는 디스플레이 장치(500)의 픽셀 패턴 정보에 상응하도록 픽셀 패턴을 변경하여 서브 픽셀 값들을 생성한다. 또한, 현재 그래픽스 파이프라인(230)을 통해 제공된 렌더링된 이미지가 다른 이미지의 렌더링에 사용되는 텍스쳐 이미지인 경우에는 픽셀 패턴을 새로이 생성하지 않고, 그대로 출력하거나, 픽셀 패턴을 변경한 경우에는 해당 픽셀 패턴 정보를 이용하여 역으로 원본 RGB 패턴의 서브 픽셀을 생성할 수도 있다.
렌더링 제어부(210)는 픽셀 패턴 생성부(220)가 생성한 픽셀 패턴을 오프 칩 메모리인 프레임 버퍼(250)에 출력하기 전에, 온 칩 메모리인 레이아웃 버퍼(240)에 저장할 수 있다. 레이아웃 버퍼(240)에 저장된 렌더링된 이미지의 픽셀 값들을 프레임 버퍼(250)에 출력될 시점이 오면 저장된 픽셀 값들을 프레임 버퍼(250)에 출력한다.
렌더링 제어부(210)는 픽셀 패턴 생성부(220)가 디스플레이 장치(500)의 픽셀 패턴 정보에 맞는 렌더링된 이미지의 픽셀 패턴을 생성한 경우, 디스플레이 제어부(400)에 바이패스(bypass) 신호를 출력할 수 있다. 바이패스 신호를 수신한 디스플레이 제어부(400)는 프레임 버퍼(250)로부터 출력된 픽셀 값들에 대한 패턴 변환없이, 바로 디스플레이 장치(500)에 출력한다. 즉, 디스플레이 제어부(400)는 디스플레이 장치(500)의 특성을 고려하지 않고, 프레임 버퍼(250)로부터 출력된 이미지를 바로 표시할 수 있다.
실시 예에 따른 렌더링이 타일 기반의 렌더링인 경우에는 화면, 즉 하나의 프레임을 여러 타일로 나누고, 각 타일을 대상으로 렌더링을 수행한 후에, 모든 타일에 대한 렌더링이 끝나면 이를 화면에 출력하는 순서로 진행된다. 각 타일의 처리 과정은 GPU(200) 내의 온 칩 메모리 또는 타일 버퍼(미도시) 상에서 수행되고 모든 연산이 끝난 후에 이를 오프 칩 메모리, 즉 프레임 버퍼(250)로 보내므로, 오프 칩 메모리 액세스를 줄이는 기술이다.
픽셀 패턴 생성부(220)는 하나의 프레임을 구성하는 복수 개의 타일들 중 하나의 프레임을 구성하는 하나의 타일에 대한 픽셀 패턴을 생성한다.
렌더링 제어부(210)는 생성된 하나의 타일에 대한 픽셀 패턴을 기초로 하나의 타일에 대한 픽셀 값들을 레이아웃 버퍼(240)에 저장한다. 기존 타일 기반 렌더링과는 달리, 렌더링이 완료된 타일이 화면 출력을 위한 프레임 버퍼(250)에 써지는 시점이 오게 되면 이를 바로 쓰지 않고 레이아웃 버퍼(240)에 우선 저장한다. 그리고 모든 타일에 대한 디스플레이 장치(500)의 픽셀 패턴에 상응하는 픽셀 값들이 레이아웃 버퍼(240)에 저장되면, 프레임 버퍼(250)에 픽셀 값들을 출력한다.
도 5는 도 3에 도시된 픽셀 패턴 생성부(220)가 픽셀 패턴을 생성하는 일 예를 설명하기 위한 도면이다.
도 5를 참조하면, 렌더링된 이미지의 하나의 프레임은 RGB 서브 픽셀로 이루어진 픽셀들(501 및 503)이 도시되어 있다. 디스플레이 장치(500)가 도 4b에 도시된 R/G, B/G의 패턴을 가진 경우, 픽셀 패턴 생성부(220)는 렌더링된 이미지의 첫 번째 픽셀(501)을 서브 픽셀(502)로 변환한다. 두 번째 픽셀(503)은 서브 픽셀(504)로 변환한다. 변환된 서브 픽셀들(R/G, B/G)이 반복되는 픽셀 패턴들이 레이아웃 버퍼(240)에 저장된다. 렌더링된 이미지의 마지막 픽셀이 서브 픽셀(B/G)로 변환되어 레이아웃 버퍼(240)에 저장된 경우, 레이아웃 버퍼(240)에 저장된 픽셀 값들이 프레임 버퍼(250)로 출력된다.
도 6은 도 3에 도시된 픽셀 패턴 생성부(220)가 픽셀 패턴을 생성하는 다른 예를 설명하기 위한 도면이다.
도 6을 참조하면, 렌더링된 이미지의 하나의 프레임은 RGB 서브 픽셀로 이루어진 픽셀들(601 및 603)이 도시되어 있다. 디스플레이 장치(500)가 도 4d에 도시된 R/G, B/W의 패턴을 가진 경우, 픽셀 패턴 생성부(220)는 렌더링된 이미지의 첫 번째 픽셀(601)을 서브 픽셀(602)로 변환한다. 두 번째 픽셀(603)은 서브 픽셀(604)로 변환한다. 변환된 서브 픽셀들(R/G, B/W)이 반복되는 픽셀 패턴들이 레이아웃 버퍼(240)에 저장된다. 렌더링된 이미지의 마지막 픽셀이 서브 픽셀(B/W)로 변환되어 레이아웃 버퍼(240)에 저장된 경우, 레이아웃 버퍼(240)에 저장된 픽셀 값들이 프레임 버퍼(250)로 출력된다.
도 7은 도 3에 도시된 픽셀 패턴 생성부(220)가 픽셀 패턴을 생성하는 또 다른 예를 설명하기 위한 도면이다.
도 7을 참조하면, 렌더링된 다수의 프레임(제1 내지 제N 프레임)이 순차적으로 입력되고, 제1 프레임에 대해 타일 기반 렌더링이 수행되는 경우, 제1 프레임을 균등하게 분할한 제1 내지 제M 타일(T1 내지 TM)에 대한 렌더링이 수행된다. 렌더링된 제1 타일(T1)에 대한 픽셀 패턴은 서브 픽셀 R/G/B (701, 703, 705)이다.
디스플레이 장치의 픽셀 패턴이 RG/BG인 경우, 픽셀 패턴 생성부(220)는 제1 타일(T1)에 대한 픽셀 패턴(702 내지 706)을 생성하여, 레이아웃 버퍼(240)에 저장한다. 각각의 타일에 대한 시작 픽셀의 좌표값을 기초로 픽셀 패턴을 생성할 수 있다. 픽셀 패턴 생성부(220)는 모든 타일(T1 내지 TM)에 대한 픽셀 패턴을 생성하여 레이아웃 버퍼(240)에 저장한다. 렌더링 제어부(210)는 모든 타일에 대한 픽셀 패턴이 생성된 다음, 레이아웃 버퍼(240)에 저장된 제1 프레임의 픽셀 패턴 값을 프레임 버퍼(250)에 출력한다.
한편, 렌더링 제어부(210)는 렌더링 결과가 화면에 바로 그려지지 않고 다른 프레임에 사용되는 경우, 즉 다른 프레임의 텍스쳐 이미지로 재사용되는 경우에는 레이아웃 버퍼(240)를 거치지 않고 바로 프레임 버퍼(250)에 쓰도록 할 수도 있다.
도 8은 또 다른 실시 예에 따른 렌더링 방법을 설명하기 위한 흐름 도이다.
도 8을 참조하면, 단계 800에서, 렌더링된 이미지를 표시할 장치의 픽셀 패턴 정보를 입력받는다. 렌더링된 이미지를 표시할 장치는, R/G와 B/G, 또는 R/G와 B/W를 포함하는 펜타일 디스플레이 장치일 수 있으나, 이에 한정되지 않고, 렌더링된 이미지의 픽셀 패턴, 예를 들면 RGB와 다른 서브 픽셀로 구현된 디스플레이 장치에는 동일하게 적용할 수 있다.
단계 802에서, 입력된 픽셀 패턴 정보에 상응하도록 렌더링된 이미지의 픽셀 패턴을 생성한다. 렌더링된 이미지의 픽셀 패턴을 디스플레이 장치의 픽셀 패턴으로 변경하여, 서브 픽셀들을 생성한다. 여기서, 서브 픽셀들을 생성하는 방법은 종래의 서브 픽셀을 생성하는 다양한 공지기술을 이용할 수 있음은 물론이다.
단계 804에서, 생성된 픽셀 패턴을 기초로 렌더링된 이미지의 픽셀 값을 프레임 버퍼에 출력한다.
실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.
본 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
100: 렌더링 장치
110: 렌더링 제어부
120: 픽셀 패턴 생성부

Claims (25)

  1. 렌더링된 이미지를 표시할 장치의 픽셀 패턴 정보를 입력받는 단계;
    상기 입력된 픽셀 패턴 정보에 상응하도록 상기 렌더링된 이미지의 픽셀 패턴을 생성하는 단계; 및
    상기 생성된 픽셀 패턴을 기초로 상기 렌더링된 이미지의 픽셀 값을 프레임 버퍼에 출력하는 단계를 포함하는 렌더링 방법.
  2. 제 1 항에 있어서,
    상기 렌더링된 이미지의 적어도 하나의 타일에 대한 픽셀 값들을 상기 생성된 픽셀 패턴에 상응하는 픽셀 값들로 저장하는 단계를 더 포함하고,
    상기 픽셀 패턴에 상응하도록 저장된 픽셀 값들을 상기 프레임 버퍼에 출력하는 렌더링 방법.
  3. 제 2 항에 있어서,
    상기 타일의 시작 좌표값을 기준으로 상기 픽셀 패턴을 생성하는 렌더링 방법.
  4. 제 1 항에 있어서,
    상기 렌더링된 이미지에 해당하는 프레임이 상기 장치에 출력될 프레임인지, 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인지에 관한 이미지 속성 정보를 입력받는 단계를 더 포함하고,
    상기 이미지 속성 정보에 따라 상기 렌더링된 이미지의 픽셀 패턴을 생성하는 렌더링 방법.
  5. 제 4 항에 있어서,
    상기 렌더링된 이미지가 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인 경우, 상기 픽셀 패턴을 이용하여 상기 렌더링된 이미지의 최초 픽셀 패턴으로 복원하는 렌더링 방법.
  6. 제 1 항에 있어서,
    상기 렌더링된 이미지를 표시할 장치의 디스플레이 컨트롤러에 바이패스 신호를 출력하는 단계를 더 포함하는 렌더링 방법.
  7. 제 1 항에 있어서,
    상기 렌더링된 이미지를 표시할 장치는,
    펜타일(pentile) 기반 디스플레이 장치인 렌더링 방법.
  8. 타일 기반으로 렌더링 된 임의의 프레임에 대한 적어도 하나의 타일을 입력받는 단계;
    상기 적어도 하나의 타일에 대한 제1 픽셀 패턴을 상기 렌더링 된 임의의 프레임을 표시할 디스플레이 장치의 픽셀 패턴 정보에 상응하는 제2 픽셀 패턴으로 변환하는 단계; 및
    상기 변환된 제2 픽셀 패턴에 따른 상기 타일에 대한 픽셀 값을 프레임 버퍼에 출력하는 단계를 포함하는 렌더링 방법.
  9. 제 8 항에 있어서,
    상기 변환된 제2 픽셀 패턴에 따른 상기 임의의 프레임에 대한 복수의 타일에 대한 픽셀 값들을 저장하는 단계를 포함하고,
    상기 픽셀 패턴에 상응하도록 저장된 픽셀 값들을 상기 프레임 버퍼에 출력하는 렌더링 방법.
  10. 제 9 항에 있어서,
    상기 타일의 시작 좌표값을 기준으로 상기 제2 픽셀 패턴을 생성하는 렌더링 방법.
  11. 제 9 항에 있어서,
    상기 복수의 타일에 대한 상기 제2 픽셀 패턴으로의 변환이 종료된 경우, 상기 임의의 프레임에 대해 저장된 픽셀 값들을 상기 프레임 버퍼에 출력하는 렌더링 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 따른 렌더링 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체.
  13. 렌더링된 이미지를 표시할 장치의 픽셀 패턴 정보를 입력받는 렌더링 제어부;
    상기 입력된 픽셀 패턴 정보에 상응하도록 상기 렌더링된 이미지의 픽셀 패턴을 생성하는 픽셀 패턴 생성부를 포함하고,
    상기 렌더링 제어부는,
    상기 픽셀 패턴 생성부에서 생성된 픽셀 패턴을 기초로 상기 렌더링된 이미지의 픽셀 값을 프레임 버퍼에 출력하는 렌더링 장치.
  14. 제 13 항에 있어서,
    상기 렌더링된 이미지의 적어도 하나의 타일에 대한 픽셀 값들을 상기 생성된 픽셀 패턴에 상응하는 픽셀 값들로 저장하는 레이아웃 버퍼를 더 포함하고,
    상기 렌더링 제어부는,
    상기 레이아웃 버퍼에 저장된 픽셀 패턴에 상응하는 픽셀 값들을 상기 프레임 버퍼에 출력하는 렌더링 장치.
  15. 제 14 항에 있어서,
    상기 픽셀 패턴 생성부는,
    상기 타일의 시작 좌표값을 기준으로 상기 픽셀 패턴을 생성하는 렌더링 장치.
  16. 제 13 항에 있어서,
    상기 렌더링 제어부는,
    상기 렌더링된 이미지에 해당하는 프레임이 상기 장치에 출력될 프레임인지, 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인지에 관한 이미지 속성 정보를 입력받고,
    상기 픽셀 패턴 생성부는,
    상기 이미지 속성 정보에 따라 상기 렌더링된 이미지의 픽셀 패턴을 생성하는 렌더링 장치.
  17. 제 16 항에 있어서,
    상기 렌더링 제어부는,
    상기 렌더링된 이미지가 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인 경우, 상기 픽셀 패턴을 이용하여 상기 렌더링된 이미지의 최초 픽셀 패턴으로 복원하는 렌더링 장치.
  18. 제 13 항에 있어서,
    상기 렌더링 제어부는,
    상기 렌더링된 이미지를 표시할 장치의 디스플레이 컨트롤러에 바이패스 신호를 출력하는 렌더링 장치.
  19. 호스트 프로세서;
    디스플레이 장치;
    상기 호스트 프로세서의 제어에 따라 객체의 3차원 모델을 렌더링하는 그래픽 프로세서; 및
    상기 그래픽 프로세서에서 렌더링된 이미지를 저장하여 상기 디스플레이 장치에 출력하는 프레임 버퍼를 포함하고,
    상기 그래픽 프로세서는,
    상기 호스트 프로세서로부터 상기 디스플레이 장치의 픽셀 패턴 정보를 입력받아, 상기 입력된 픽셀 패턴 정보에 상응하도록 상기 렌더링된 이미지의 픽셀 패턴을 생성하고, 상기 생성된 픽셀 패턴을 기초로 상기 렌더링된 이미지의 픽셀 값을 상기 프레임 버퍼에 출력하는 전자 장치.
  20. 제 19 항에 있어서,
    상기 그래픽 프로세서는,
    상기 렌더링된 이미지의 적어도 하나의 타일에 대한 픽셀 값들을 상기 생성된 픽셀 패턴에 상응하는 픽셀 값들로 저장하고, 상기 저장된 픽셀 값들을 상기 프레임 버퍼에 출력하는 전자 장치.
  21. 제 19 항에 있어서,
    상기 호스트 프로세서는,
    상기 렌더링된 이미지에 해당하는 프레임이 상기 디스플레이 장치에 출력될 프레임인지, 상기 그래픽 프로세서에서 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인지에 관한 이미지 속성 정보를 판단하고,
    상기 그래픽 프로세서는,
    상기 호스트 프로세서로부터 수신된 이미지 속성 정보에 따라 상기 렌더링된 이미지의 픽셀 패턴을 생성하는 전자 장치.
  22. 제 19 항에 있어서,
    상기 그래픽 프로세서는,
    상기 렌더링된 이미지가 다른 프레임의 렌더링에 사용될 텍스쳐 프레임인 경우, 상기 픽셀 패턴을 이용하여 상기 렌더링된 이미지의 최초 픽셀 패턴으로 복원하는 전자 장치.
  23. 제 19 항에 있어서,
    상기 그래픽 프로세서는,
    상기 디스플레이 장치를 제어하는 디스플레이 컨트롤러에 바이패스 신호를 출력하는 전자 장치.
  24. 제 19 항에 있어서,
    상기 그래픽 프로세서는,
    타일 기반 렌더링을 수행하는 전자 장치.
  25. 제 19 항에 있어서,
    상기 디스플레이 장치는,
    펜타일 기반 디스플레이 장치인 전자 장치.
KR1020140150625A 2014-10-31 2014-10-31 렌더링 방법, 렌더링 장치 및 전자 장치 KR102275712B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140150625A KR102275712B1 (ko) 2014-10-31 2014-10-31 렌더링 방법, 렌더링 장치 및 전자 장치
US14/819,193 US10510325B2 (en) 2014-10-31 2015-08-05 Rendering method, rendering apparatus, and electronic apparatus
EP15184302.6A EP3016091A1 (en) 2014-10-31 2015-09-08 Rendering method, rendering apparatus, and electronic apparatus
CN201510623191.1A CN105574924B (zh) 2014-10-31 2015-09-25 渲染方法、渲染设备和电子设备
JP2015198470A JP6726946B2 (ja) 2014-10-31 2015-10-06 レンダリング方法、レンダリング装置及び電子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140150625A KR102275712B1 (ko) 2014-10-31 2014-10-31 렌더링 방법, 렌더링 장치 및 전자 장치

Publications (2)

Publication Number Publication Date
KR20160051154A true KR20160051154A (ko) 2016-05-11
KR102275712B1 KR102275712B1 (ko) 2021-07-09

Family

ID=54105655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140150625A KR102275712B1 (ko) 2014-10-31 2014-10-31 렌더링 방법, 렌더링 장치 및 전자 장치

Country Status (5)

Country Link
US (1) US10510325B2 (ko)
EP (1) EP3016091A1 (ko)
JP (1) JP6726946B2 (ko)
KR (1) KR102275712B1 (ko)
CN (1) CN105574924B (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10586483B2 (en) 2016-09-09 2020-03-10 Samsung Display Co., Ltd. Display device, driving device, and method for driving the display device
WO2020122389A1 (ko) * 2018-12-11 2020-06-18 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
KR20200088388A (ko) * 2018-04-03 2020-07-22 보에 테크놀로지 그룹 컴퍼니 리미티드 픽셀 어레이 및 그 구동 방법, 및 디스플레이 장치
US10848752B2 (en) 2018-02-14 2020-11-24 Samsung Display Co., Ltd. Method of operating a light field 3D display device having an RGBG pixel structure, and light field 3D display device
KR20210068974A (ko) * 2019-12-02 2021-06-10 한국과학기술원 고대역폭 고해상도 질감 표현을 위한 이중 계층 햅틱 모델을 제공하는 전자 장치 및 그의 동작 방법
US11800748B2 (en) 2020-10-12 2023-10-24 Samsung Display Co., Ltd. Display device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9842428B2 (en) * 2014-06-27 2017-12-12 Samsung Electronics Co., Ltd. Dynamically optimized deferred rendering pipeline
KR20180037839A (ko) * 2016-10-05 2018-04-13 삼성전자주식회사 그래픽스 프로세싱 장치 및 인스트럭션의 실행 방법
KR20180038793A (ko) * 2016-10-07 2018-04-17 삼성전자주식회사 영상 데이터 처리 방법 및 장치
US20180137602A1 (en) * 2016-11-14 2018-05-17 Google Inc. Low resolution rgb rendering for efficient transmission
US10262387B2 (en) * 2016-11-14 2019-04-16 Google Llc Early sub-pixel rendering
US10564715B2 (en) * 2016-11-14 2020-02-18 Google Llc Dual-path foveated graphics pipeline
US10445902B2 (en) * 2016-12-13 2019-10-15 Qualcomm Incorporated Fetch reduction for fixed color and pattern sub-frames
US10650791B2 (en) * 2017-12-28 2020-05-12 Texas Instruments Incorporated Display system
KR102519744B1 (ko) * 2018-02-23 2023-04-10 삼성전자주식회사 보호 회로를 포함하는 디스플레이 구동 회로
KR102514062B1 (ko) * 2018-02-27 2023-03-24 삼성전자주식회사 트러스트존 그래픽 렌더링 방법 및 그에 따른 디스플레이 장치
EP3818412A4 (en) * 2018-07-03 2022-07-20 Concord (HK) International Education Limited COLOR FILTER ARRANGEMENTS FOR TIR-BASED IMAGE DISPLAYS
US11399806B2 (en) * 2019-10-22 2022-08-02 GE Precision Healthcare LLC Method and system for providing freehand render start line drawing tools and automatic render preset selections

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070205976A1 (en) * 2006-03-06 2007-09-06 Nec Corporation Display apparatus
US20130222442A1 (en) * 2012-02-28 2013-08-29 Jing Gu Subpixel arrangements of displays and method for rendering the same

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0497390A (ja) * 1990-08-16 1992-03-30 Nec Corp 表示装置
US6943809B2 (en) * 2001-06-12 2005-09-13 Adobe Systems Incorporated Tiled vector flattened output
US6797990B2 (en) * 2001-06-29 2004-09-28 Showa Denko Kabushiki Kaisha Boron phosphide-based semiconductor device and production method thereof
US7583279B2 (en) 2004-04-09 2009-09-01 Samsung Electronics Co., Ltd. Subpixel layouts and arrangements for high brightness displays
WO2006009843A2 (en) * 2004-06-18 2006-01-26 The Johns Hopkins University Negative regulation of hypoxia inducible factor 1 by os-9
JP2007086432A (ja) 2005-09-22 2007-04-05 Sony Corp 表示制御装置、および表示制御方法
CN101114381B (zh) * 2006-05-22 2012-02-22 辉达公司 帧缓冲区合并
KR100852958B1 (ko) 2006-11-15 2008-08-19 (주)토마토엘에스아이 서브픽셀 렌더링과 데이터 압축을 이용한 디스플레이드라이버 장치 및 그 제어방법
JP4623207B2 (ja) 2008-11-27 2011-02-02 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
DE102009010091A1 (de) * 2009-02-24 2010-08-26 Beiersdorf Ag Stabilisierte Peelingkapsel
US9818210B2 (en) * 2009-07-10 2017-11-14 Adobe Systems Incorporated Pixel-aligned drawing to avoid anti-aliasing
KR20110043873A (ko) 2009-10-22 2011-04-28 금석만 음이온발생기를 가지는 탈착식 엘이디램프
GB0922126D0 (en) 2009-12-17 2010-02-03 Advanced Risc Mach Ltd Graphics processing systems
US8803898B2 (en) 2009-12-17 2014-08-12 Arm Limited Forming a windowing display in a frame buffer
JP5478307B2 (ja) * 2010-03-19 2014-04-23 本田技研工業株式会社 鞍乗り型車両の制動装置
US8565522B2 (en) * 2010-05-21 2013-10-22 Seiko Epson Corporation Enhancing color images
US8681162B2 (en) * 2010-10-15 2014-03-25 Via Technologies, Inc. Systems and methods for video processing
US8339409B2 (en) * 2011-02-16 2012-12-25 Arm Limited Tile-based graphics system and method of operation of such a system
GB201105716D0 (en) 2011-04-04 2011-05-18 Advanced Risc Mach Ltd Method of and apparatus for displaying windows on a display
JP5911337B2 (ja) * 2011-04-08 2016-04-27 キヤノン株式会社 映像表示装置、映像出力装置、及びその制御方法、映像提示システム
SE535899C2 (sv) * 2011-05-04 2013-02-12 Atlas Copco Ind Tech Ab Mutterdragare med momentgivarenhet
TWI456975B (zh) * 2011-08-23 2014-10-11 Acer Inc 立體影像處理裝置與方法
US9199720B2 (en) * 2011-08-31 2015-12-01 Sikorsky Aircraft Corporation Non-rotating stationary ground tube for a wind fairing
GB2497302B (en) * 2011-12-05 2017-04-12 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
JP6195696B2 (ja) * 2012-05-17 2017-09-13 シャープ株式会社 液晶表示装置
EP2672480B1 (en) 2012-06-08 2016-11-16 2236008 Ontario Inc. Tiled viewport composition
KR101958870B1 (ko) * 2012-07-13 2019-07-02 삼성전자 주식회사 소비 전력을 절감하기 위한 표시 제어 방법 및 장치
US9478066B2 (en) * 2013-03-14 2016-10-25 Nvidia Corporation Consistent vertex snapping for variable resolution rendering

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070205976A1 (en) * 2006-03-06 2007-09-06 Nec Corporation Display apparatus
US20130222442A1 (en) * 2012-02-28 2013-08-29 Jing Gu Subpixel arrangements of displays and method for rendering the same

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10586483B2 (en) 2016-09-09 2020-03-10 Samsung Display Co., Ltd. Display device, driving device, and method for driving the display device
US10848752B2 (en) 2018-02-14 2020-11-24 Samsung Display Co., Ltd. Method of operating a light field 3D display device having an RGBG pixel structure, and light field 3D display device
KR20200088388A (ko) * 2018-04-03 2020-07-22 보에 테크놀로지 그룹 컴퍼니 리미티드 픽셀 어레이 및 그 구동 방법, 및 디스플레이 장치
WO2020122389A1 (ko) * 2018-12-11 2020-06-18 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
KR20210068974A (ko) * 2019-12-02 2021-06-10 한국과학기술원 고대역폭 고해상도 질감 표현을 위한 이중 계층 햅틱 모델을 제공하는 전자 장치 및 그의 동작 방법
US11800748B2 (en) 2020-10-12 2023-10-24 Samsung Display Co., Ltd. Display device

Also Published As

Publication number Publication date
US20160125851A1 (en) 2016-05-05
CN105574924B (zh) 2020-12-29
JP2016091543A (ja) 2016-05-23
EP3016091A1 (en) 2016-05-04
US10510325B2 (en) 2019-12-17
KR102275712B1 (ko) 2021-07-09
CN105574924A (zh) 2016-05-11
JP6726946B2 (ja) 2020-07-22

Similar Documents

Publication Publication Date Title
KR102275712B1 (ko) 렌더링 방법, 렌더링 장치 및 전자 장치
JP6678209B2 (ja) 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整
US10102663B2 (en) Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
EP3180773B1 (en) Bandwidth reduction using texture lookup by adaptive shading
US8395619B1 (en) System and method for transferring pre-computed Z-values between GPUs
KR20150039495A (ko) 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
KR102247565B1 (ko) 렌더링 방법 및 장치
US20140071124A1 (en) Image processing apparatus
US11238639B2 (en) Gradient adjustment for texture mapping to non-orthonormal grid
JP6944304B2 (ja) テクスチャ処理方法及びその装置
KR20040041083A (ko) 렌더링 방법
US10157492B1 (en) System and method for transferring pre-computed Z-values between GPUS
JP2004078994A (ja) 描画方法
JPWO2020129201A1 (ja) 情報処理装置、プログラム及び情報処理方法
US20090096792A1 (en) Fill mode determination in vector graphics

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
GRNT Written decision to grant