KR101953133B1 - 렌더링 장치 및 그 방법 - Google Patents

렌더링 장치 및 그 방법 Download PDF

Info

Publication number
KR101953133B1
KR101953133B1 KR1020120019523A KR20120019523A KR101953133B1 KR 101953133 B1 KR101953133 B1 KR 101953133B1 KR 1020120019523 A KR1020120019523 A KR 1020120019523A KR 20120019523 A KR20120019523 A KR 20120019523A KR 101953133 B1 KR101953133 B1 KR 101953133B1
Authority
KR
South Korea
Prior art keywords
context
target
target context
rendering
internal memory
Prior art date
Application number
KR1020120019523A
Other languages
English (en)
Other versions
KR20130097886A (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 KR1020120019523A priority Critical patent/KR101953133B1/ko
Priority to US13/728,408 priority patent/US9805502B2/en
Priority to CN201310059861.2A priority patent/CN103295257B/zh
Priority to JP2013035983A priority patent/JP6170690B2/ja
Publication of KR20130097886A publication Critical patent/KR20130097886A/ko
Application granted granted Critical
Publication of KR101953133B1 publication Critical patent/KR101953133B1/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/14Display of multiple viewports
    • 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/363Graphics controllers
    • 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
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • 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
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen

Abstract

렌더링 장치 및 방법이 개시된다. 렌더링 장치는 내부 메모리에 저장된 컨텍스트를 이용하여 렌더링을 수행한다. 필요한 컨텍스트가 내부 메모리에 없는 경우에는 외부 메모리에서 필요한 컨텍스트를 내부 메모리로 로딩한다. 내부 메모리의 공간이 부족한 경우에는 내부 메모리 중에서 더 이상 사용되지 않는 컨텍스트를 삭제하여 공간을 확보하고, 외부 메모리에 위치한 필요한 컨텍스트를 내부 메모리로 로딩한다.

Description

렌더링 장치 및 그 방법{APPARATUS AND METHOD FOR RENDERING}
아래의 실시예들은 렌더링 장치 및 그 방법에 관한 것으로서, 보다 구체적으로는, 렌더링 장치와 외부 메모리간의 데이터 억세스를 감소시킬수 있는 렌더링 장치 및 방법에 관한 것이다.
디바이스에 3차원 그래픽 데이터를 표시하는 애플리케이션의 예로는, 모바일 디바이스에서 사용되는 UI(User Interface) 애플리케이션, e-book 애플리케이션, 인터넷 상의 쇼핑몰에서 사용되는 상품 시뮬레이션을 위한 애플리케이션 등이 있다.
상술한 애플리케이션은 빠른 렌더링을 필요로 한다. 일측에 따르면, 렌더링될 화면을 복수의 타일로 구분하고, 각 타일에 대하여 어떤 오브젝트가 표시될 것인지 여부를 판단하여 렌더링하는 타일 기반의 렌더링 기법이 사용되고 있다.
타일 기반의 렌더링 기법에 따르면, 제1 타일을 렌더링하기 위하여 제1 컨텍스트를 외부 메모리에서 내부 메모리로 로딩하고, 제2 타일을 렌더링하기 위해서는 다시 제2 컨텍스트를 외부 메모리에서 내부 메모리로 로딩한다.
따라서, 외부 메모리와 내부 메모리간의 대역폭이 좁은 경우에는 렌더링 성능이 감소하며, 외부 메모리와 내부 메모리간의 대역폭이 렌더링 성능을 향상시키기 위한 중요한 요소이다.
예시적 실시예에 따르면, 타일 기반의 렌더링 장치에 있어서, 타겟 컨텍스트(context)가 상기 각 타일의 렌더링에 사용되는 총 사용 횟수를 결정하는 사용 횟수 결정부, 상기 타겟 컨텍스트를 외부 메모리에서 내부 메모리로 로딩하는 메모리 업데이트부, 및 상기 로딩된 타겟 컨텍스트가 각 타일의 렌더링에 사용됨에 따라서 상기 타겟 컨텍스트의 잔여 사용 횟수를 업데이트하는 사용 횟수 업데이트부를 포함하는 렌더링 장치가 제공된다.
여기서, 상기 타겟 컨텍스트는 상기 타겟 컨텍스트에 대응되는 타겟 오브젝트를 렌더링하기 위한 텍스쳐 정보, 상기 타겟 오브젝트에 대한 픽쉘 쉐이더 연산에 필요한 정보, 상기 타겟 오브젝트에 대한 래스터라이저의 스테이트 정보 중에서 적어도 하나를 포함할 수 있다.
그리고, 상기 사용 횟수 결정부는 상기 타겟 컨텍스트에 대응되는 타겟 오브젝트가 상기 각 타일 중에서 몇 개의 타일에 걸쳐 표시되는지 여부에 따라 상기 총 사용 횟수를 결정할 수 있다.
또한, 상기 메모리 업데이트부는 상기 내부 메모리에 상기 타겟 컨텍스트를 로딩하기 위한 공간이 존재하는지 여부를 판단하고, 상기 공간이 존재하는 경우에 상기 타겟 컨텍스트를 상기 내부 메모리로 로딩할 수 있다.
여기서, 상기 메모리 업데이트부는 상기 공간이 존재하지 않는 경우에, 상기 내부 메모리에 로딩된 다른 컨텍스트들 중에서, 상기 다른 컨텍스트들의 사용 횟수에 기반 하여 상기 내부 메모리에서 삭제될 컨텍스트를 선택하여 삭제하고, 상기 타겟 컨텍스트를 로딩할 수 있다.
그리고, 상기 메모리 업데이트부는 상기 다른 컨텍스트들 중에서, 상기 잔여 사용 횟수가 '0'인 컨텍스트를 상기 삭제될 컨텍스트로 선택할 수 있다.
또한, 상기 메모리 업데이트부는 상기 다른 컨텍스트들 중에서, 상기 잔여 사용 횟수가 가장 작은 컨텍스트를 상기 삭제될 컨텍스트로 선택할 수 있다.
또 다른 예시적 실시예에 따르면, 타일 기반의 렌더링 방법에 있어서, 타겟 컨텍스트(context)가 상기 각 타일의 렌더링에 사용되는 총 사용 횟수를 결정하는 단계, 상기 타겟 컨텍스트를 외부 메모리에서 내부 메모리로 로딩하는 단계, 및 상기 로딩된 타겟 컨텍스트가 각 타일의 렌더링에 사용됨에 따라서 상기 타겟 컨텍스트의 잔여 사용 횟수를 업데이트하는 단계를 포함하는 렌더링 방법이 제공된다.
여기서, 상기 타겟 컨텍스트는 상기 타겟 컨텍스트에 대응되는 타겟 오브젝트를 렌더링하기 위한 텍스쳐 정보, 상기 타겟 오브젝트에 대한 픽쉘 쉐이더 연산에 필요한 정보, 상기 타겟 오브젝트에 대한 래스터라이저의 스테이트 정보 중에서 적어도 하나를 포함할 수 있다.
그리고, 상기 총 사용 횟수를 결정하는 단계는 상기 타겟 컨텍스트에 대응되는 타겟 오브젝트가 상기 각 타일 중에서 몇 개의 타일에 걸쳐 표시되는지 여부에 따라 상기 총 사용 횟수를 결정할 수 있다.
또한, 상기 내부 메모리에 상기 타겟 컨텍스트를 로딩하기 위한 공간이 존재하는지 여부를 판단하는 단계를 더 포함하고, 상기 로딩하는 단계는 상기 공간이 존재하는 경우에 상기 타겟 컨텍스트를 상기 내부 메모리로 로딩하는 할 수 있다.
여기서, 상기 공간이 존재하지 않는 경우에, 상기 내부 메모리에 로딩된 다른 컨텍스트들 중에서, 상기 다른 컨텍스트들의 사용 횟수에 기반 하여 상기 내부 메모리에서 삭제될 컨텍스트를 선택하여 삭제하는 단계를 더 포함하고, 상기 로딩하는 단계는 상기 컨텍스트의 삭제 이후에, 상기 타겟 컨텍스트를 로딩할 수 있다.
그리고, 상기 삭제하는 단계는 상기 다른 컨텍스트들 중에서, 상기 잔여 사용 횟수가 '0'인 컨텍스트를 상기 삭제될 컨텍스트로 선택할 수 있다.
또한, 상기 삭제하는 단계는 상기 다른 컨텍스트들 중에서, 상기 잔여 사용 횟수가 가장 작은 컨텍스트를 상기 삭제될 컨텍스트로 선택할 수 있다.
예시적 실시예에 따르면, 내부 메모리와 외부 메모리간의 대역폭을 효과적으로 사용할 수 있다.
예시적 실시예에 따르면, 렌더링 장치가 외부 메모리에 저장된 컨텍스트를 로딩하는 횟수를 감소시킬 수 있다.
도 1은 예시적 실시예에 따른 렌더링 방법을 단계별로 설명한 순서도이다.
도 2는 예시적 실시예에 따른 총 사용 횟수 설정 방법을 단계별로 설명한 순서도이다.
도 3은 예시적 실시예에 따른 총 사용 횟수 설정 방법을 설명한 도면이다.
도 4는 예시적 실시예에 따른 렌더링 방법을 설명한 도면이다.
도 5는 예시적 실시예에 따른 렌더링 장치의 구조를 도시한 블록도이다.
도 6은 또 다른 예시적 실시예에 따른 렌더링 방법을 단계별로 설명한 순서도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 예시적 실시예에 따른 렌더링 방법을 단계별로 설명한 순서도이다.
단계(110)에서 렌더링 장치는 데이터에 대한 총 사용횟수를 결정한다. 여기서, 래스터라이저(rasterizer)연산에 필요한 정보가 단계(110)에서의 데이터로 사용될 수 있다. 일측에 따르면, 래스터라이저연산에 필요한 정보는 타겟 오브젝트를 렌더링하기 위한 텍스쳐 정보, 타겟 오브젝트에 대한 픽쉘 쉐이더 연산에 필요한 정보, 타겟 오브젝트에 대한 래스터라이저의 스테이트 정보 중에서 적어도 하나를 포함할 수 있다.
여기서, 래스터라이저는 텍스쳐(texture) 이미지 정보, 타일(tile)정보, 씬 버퍼(scene buffer) 정보를 포함하는 데이터구조를 이용하여 타겟 오브젝트에 대한 연산을 수행할 수 있다. 또한, 래스터 라이저는 래스터라이저 셋팅, 프레그먼트 연산의 셋팅을 포함하는 래스터라이저 스테이트 등을 이용하여 타겟 오브젝트에 대한 연산을 수행할 수 있다.
또한, 타겟 오브젝트에 대한 픽쉘 쉐이더는 쉐이더 프로그램의 포인터, 쉐이더 컨텍스트, 쉐이더 프로그램의 변수(배링 변수, varying variables), 유니폼 변수(uniform variables), 픽쉘 쉐이더 연산 함수, 픽쉘 쉐이더 연산 결과인 프레그먼트 정보 중에서 적어도 하나를 포함하는 픽쉘 쉐이더 연산에 필요한 정보를 이용하여 ,타겟 오브젝트에 대한 연산을 수행할 수 있다.
여기서, 배링 변수는 포지션 정보 및 텍스쳐 좌표 또는 컬러, 노멀(normal) 정보, 탄젠트(tangent), 바이노멀(binormal), 뷰(view) 정보, 빛(light) 정보 중에서 적어도 하나를 포함할 수 있다.
이하 본 명세서에서는 '데이터'와 '컨텍스트'라는 용어를 병행하여 사용하기로 한다. 총 사용 횟수는 데이터에 대응하는 오브젝트가 몇 개의 타일에 걸쳐 표현되는지에 따라서 결정될 수 있다. 예를 들어, 데이터에 대응하는 오브젝트가 4개의 타일에 걸쳐 표현된다면, 오브젝트는 4개의 타일에 나뉘어 표현된다. 따라서, 4개의 타일 각각을 렌더링하는 경우에, 해당 데이터가 사용되어야 한다. 이 경우, 해당 데이터에 대한 총 사용 횟수는 4회로 결정될 수 있다.
단계(110)에서 렌더링 장치는 렌더링을 수행하기 위한 데이터에 대하여 데이터의 잔여 사용 횟수를 결정한다. 단계(110)에서는 데이터에 대한 렌더링이 아직 수행되지 않았으므로, 렌더링 장치는 데이터의 잔여 사용 횟수를 데이터에 대한 총 사용횟수와 동일하게 결정할 수 있다.
단계(120)에서, 렌더링 장치의 렌더링 모듈은 특정 타일을 렌더링하기 위하여 데이터를 요청한다.
일측에 따르면, 데이터는 외부 메모리에 저장될 수 있다. 외부 메모리에 저장된 데이터는 내부 메모리로 로딩되고, 렌더링 모듈은 내부 메모리에 로딩된 데이터를 이용하여 렌더링을 수행할 수 있다.
단계(121)에서, 렌더링 장치는 내부 메모리에 요청한 데이터가 있는지 여부를 판단할 수 있다. 만약 해당 데이터가 이전 타일을 렌더링하기 위하여 사용되었다면, 데이터는 내부 메모리에 로딩되어 있을 수 있다.
만약 해당 데이터가 내부 메모리에 로딩되어 있다면, 렌더링 장치는 단계(122)에서 내부 메모리에 로딩된 데이터를 렌더링 모듈에 제공한다.
단계(123)에서, 렌더링 모듈은 내부 메모리에 로딩된 데이터를 이용하여 렌더링을 수행한다. 데이터가 렌더링에 사용되면, 렌더링 장치는 해당 데이터에 대한 잔여 사용 횟수를 '1'만큼 감소시킬 수 있다.
만약 단계(121)에서, 내부 메모리에 요청한 데이터가 없는 것으로 판단되면, 렌더링 장치는 단계(130)에서, 내부 메모리에 요청 받은 데이터를 저장할 공간이 있는지 여부를 판단한다.
만약 내부 메모리에 요청 받은 데이터를 저장할 공간이 있다면, 렌더링 장치는 단계(140)에서 외부 메모리에 저장된 데이터를 내부 메모리에 로딩한다. 렌더링 장치는 단계(122) 및 단계(123)에서, 로딩된 데이터를 이용하여 렌더링을 수행할 수 있다.
만약 내부 메모리에 요청 받은 데이터를 저장할 공간이 없다면, 렌더링 장치는 내부 메모리에 이미 로딩된 다른 데이터를 일부 삭제하여 내부 메모리의 공간을 확보할 수 있다.
일측에 따르면, 렌더링 장치는 내부 메모리에 로딩된 다른 데이터들 중에서, 앞으로 사용될 가능성이 낮은 데이터를 선택하여 삭제할 수 있다.
일측에 따르면, 렌더링 장치는 각 데이터에 대하여 잔여 사용 횟수를 설정하고, 제어할 수 있다. 이 경우에, 렌더링 장치는 잔여 사용 횟수가 작은 데이터를 앞으로 사용될 가능성이 낮은 데이터로 판단하여 선택하고, 선택된 데이터를 삭제할 수 있다.
단계(150)에서, 렌더링 장치는 요청 받은 데이터의 잔여 사용 횟수가 '1'보다 작거나 같은지 여부를 판단한다. 만약 요청 받은 데이터의 잔여 사용 횟수가 '1' 보다 작거나 같은 경우에, 렌더링 장치는 요청 받은 데이터가 1번만 사용될 것으로 판단할 수 있다. 이 경우, 렌더링 장치는 단계(170)에서 외부 메모리에 저장된 데이터를 렌더링 모듈에 제공하고, 요청 받은 데이터를 내부 메모리에 저장하지 않을 수 있다.
만약 데이터의 잔여 사용 횟수가 '1' 보다 크다면, 렌더링 장치는 요청 받은 데이터가 여러 번 사용될 것으로 판단할 수 있다. 이 경우에는 요청 받은 데이터를 내부 메모리에 저장하는 것이 성능 향상을 위해 좀더 유리하다. 렌더링 장치는 단계(151)에서, 내부 메모리의 데이터 중에서 잔여 사용 횟수가 가장 작은 데이터를 선택한다.
렌더링 장치는 단계(160)에서, 요청 받은 데이터의 잔여 사용 회수와 선택된 데이터의 잔여 사용 횟수를 비교한다. 만약 요청 받은 데이터의 잔여 사용 횟수가 선택된 데이터의 잔여 사용 횟수보다 적다면, 렌더링 장치는 단계(170)에서, 외부 메모리에 저장된 데이터를 내부 메모리에 저장하지 않고, 렌더링 모듈에 제공할 수 있다.
요청 받은 데이터의 잔여 사용 횟수가 선택된 데이터의 잔여 사용 횟수보다 많다면, 렌더링 장치는 외부 메모리에서 요청 받은 데이터를 내부 메모리로 로딩한다.
도 2는 예시적 실시예에 따른 총 사용 횟수 설정 방법을 단계별로 설명한 순서도이고, 도 3은 예시적 실시예에 따른 총 사용 횟수 설정 방법을 설명한 도면이다.
단계(210)에서, 렌더링 장치는 오브젝트, 타일 정보, 콘텍스트 정보를 외부 메모리에서 읽는다. 여기서 콘텍스트 정보는 오브젝트를 렌더링하기 위한 텍스쳐 정보, 포지션 정보, 노멀(normal) 정보, 렌더링 스테이트 정보 중에서 적어도 하나를 포함할 수 있다.
단계(220)에서, 렌더링 장치는 각 오브젝트가 타일에 겹친 부분을 계산한다. 일측에 따르면, 렌더링 장치는 렌더링 영상(310)을 도 3의 (a)에 도시된 바와 같이 복수의 타일(311)로 분할한다. 도 3의 (a)에서는 렌더링 영상이 25개의 타일로 분할된 실시예가 도시되었다. 렌더링 영상은 적어도 하나 이상의 오브젝트(320, 330)를 포함할 수 있다. 오브젝트(320, 330)는 도 3의 (a)에 도시된 바와 같이, 적어도 하나 이상의 타일들에 걸쳐 표시될 수 있다.
도 3의 (b)는 각 오브젝트들이 각 타일에 겹친 부분을 계산한 것이다. 각 타일에 적힌 숫자는 각 타일에 겹친 오브젝트의 번호를 표시한 것으로, 타일에 적힌 숫자가 1인 경우에, 제1 오브젝트(320)가 해당 타일에 표시된다는 것을 의미하고, 타일에 적힌 숫자가 2인 경우에, 제2 오브젝트(330)가 해당 타일에 표시된다는 것을 의미한다.
단계(230)에서 렌더링 장치는 '현재 타일'의 값을 오브젝트와 타일이 겹친 영역의 시작 타일로 설정한다.
단계(240)에서 렌더링 장치는 '현재 타일'의 값이 오브젝트와 타일이 겹친 영역의 끝 타일인지 여부를 판단한다. 만약 끝 타일이라면, 렌더링 장치는 단계(210)에서 다른 오브젝트에 대한 연산을 수행한다.
만약 끝 타일이 아니라면, 렌더링 장치는 단계(250)에서, 현재 타일내의 해당 오브젝트의 컨텍스트가 이전 오브젝트의 컨텍스트와 다른지 여부를 판단한다. 만약 동일하다면, 렌더링 장치는 내부 메모리에 로딩된 이전 오브젝트의 컨텍스트를 다시 사용할 수 있으므로, 이 경우에는 컨텍스트의 총 사용횟수를 증가시키지 않고, 단계(280)에서 '현재 타일'의 값을 증가시켜 다른 타일에 대한 연산을 수행한다.
만약, 이전 오브젝트의 컨텍스트와 다르다면, 렌더링 장치는 내부 메모리에 컨텍스트를 로딩해야 한다. 따라서, 렌더링 장치는 단계(260)에서, 해당 컨텍스트의 총 사용 횟수를 '1'만큼 증가시킬 수 있다.
단계(270)에서 렌더링 장치는 각 컨텍스트별 총 사용 횟수를 외부 메모리에 저장할 수 있다.
단계(230)내지 단계(280)에서의 연산은 도 3의 (b)에 도시된 오브젝트의 번호를 모두 합산하는 것이다. 즉, 도 3의 (b)에서 각 오브젝트가 몇 개의 타일에 걸쳐 표현되었는지 여부를 합산하는 것이다.
도 3의 (a), (b)를 참고하면, 제1 오브젝트(320)는 8개의 타일에 걸쳐 표현되고, 제2 오브젝트(330)는 14개의 타일에 걸쳐 표현된다. 이를 정리하면, 도 3의 (c)와 같다.
도 4는 예시적 실시예에 따른 렌더링 방법을 설명한 도면이다.
제1 타일에 대한 렌더링 정보(410)를 참고하면, 제1 타일에는 4개의 오브젝트가 표현된다. 각 오브젝트에 대한 렌더링 정보(411, 412, 413, 414)를 참고하면, 각 오브젝트들은 해당 오브젝트에 대응하는 컨텍스트를 이용하여 렌더링될 수 있다.
또한, 제2 타일에 대한 렌더링 정보(420)를 참고하면, 제2 타일에는 3개의 오브젝트가 표현된다. 각 오브젝트에 대한 렌더링 정보(421, 422, 423)를 참고하면, 각 오브젝트들은 해당 오브젝트에 대응하는 컨텍스트를 이용하여 렌더링될 수 있다.
제1 단계에서, 모든 컨텍스트 정보들은 외부 메모리(450)에 저장된다. 각 컨텍스트들의 옆에 기재된 숫자는 각 컨텍스트에 대한 잔여 사용 횟수를 나타낸다.
제2 단계에서, 렌더링 장치는 제1 컨텍스트를 내부 메모리(441)에 로딩한다. 래스터라이저(rasterizer, 431)는 로딩된 제1 컨텍스트를 제1 타일에서 제1 오브젝트를 렌더링하기 위하여 사용할 수 있다. 이 경우에, 외부 메모리(451)의 제1 컨텍스트에 대한 잔여 사용 횟수는 '2'로 감소하였다.
제3 단계에서, 렌더링 장치는 제2 컨텍스트를 내부 메모리(442)에 로딩한다. 래스터라이저(432)는 로딩된 제2 컨텍스트를 제1 타일에서 제2 오브젝트를 렌더링하기 위하여 사용할 수 있다. 이 경우에, 외부 메모리(452)의 제2 컨텍스트에 대한 잔여 사용 횟수는 '0'으로 감소하였다.
제4 단계에서, 렌더링 장치는 제3 컨텍스트를 내부 메모리(443)에 로딩한다. 래스터라이저(433)는 로딩된 제3 컨텍스트를 제1 타일에서 제3 오브젝트를 렌더링하기 위하여 사용할 수 있다. 이 경우에, 외부 메모리(453)의 제3 컨텍스트에 대한 잔여 사용 횟수는 '8'으로 감소하였다.
제5 단계에서, 렌더링 장치는 제1 타일에서 제4 오브젝트를 렌더링한다. 렌더링 장치는 제4 오브젝트를 렌더링하기 위하여 제4 컨텍스트를 로딩하려하나, 내부 메모리(444)에는 더 이상 공간이 없다. 이 경우에, 렌더링 장치는 내부 메모리(444)에 저장되어 있던 제1 컨텍스트, 제2 컨텍스트, 제3 컨텍스트 중에서 적어도 하나 이상의 컨텍스트를 삭제할 수 있다.
일측에 따르면, 렌더링 장치는 각 컨텍스트의 잔여 사용 횟수에 기반하여 내부 메모리(444)에 저장되어 있던 컨텍스트들 중에서 적어도 하나 이상의 컨텍스를 선택하고, 선택한 컨텍스트를 삭제할 수 있다.
일측에 따르면, 렌더링 장치는 내부 메모리(444)에 저장되어 있던 컨텍스트들 중에서 잔여 사용 횟수가 '0'인 컨텍스트를 선택하여 삭제할 수 있다. 다른 측면에 따르면, 렌더링 장치는 내부 메모리(444)에 저장되어 있던 컨텍스트들 중에서 잔여 사용 횟수가 가장 작은 컨텍스트를 선택하여 삭제할 수 있다.
도 4에서는 렌더링 장치가 내부 메모리(444)에 저장되어 있던 컨텍스트들 중에서 제2 컨텍스트를 삭제할 수 있다. 제2 컨텍스트의 잔여 사용 횟수는 '0' 회이며, 제1 컨텍스트, 제2 컨텍스트, 제3 컨텍스트들 중에서 잔여 사용 횟수가 가장 적다.
일측에 따르면, 렌더링 장치는 제2 컨텍스트를 삭제하여 확보된 공간에 제4 컨텍스트를 로딩할 수 있다. 래스터라이저(444)는 로딩된 제4 컨텍스트를 제1 타일에서 제4 오브젝트를 렌더링하기 위하여 사용할 수 있다. 이 경우에, 외부 메모리(454)의 제3 컨텍스트에 대한 잔여 사용 횟수는 '16'으로 감소하였다.
제 6 단계에서, 래스터라이저(435)는 내부 메모리(445)에 로딩된 제1 컨텍스트, 제3 컨텍스트 및 제4 컨텍스트를 이용하여 제2 타일에서 제1 오브젝트, 제3 오브젝트, 제4 오브젝트를 렌더링할 수 있다. 이 경우에, 외부 메모리(455)의 제1 컨텍스트에 대한 잔여 사용 횟수는 '1'로, 제3 컨텍스트에 대한 잔여 사용 횟수는 '7'로, 제4 컨텍스트에 대한 잔여 사용 횟수는 '15'로 감소하였다.
제6 단계에서, 제2 타일을 렌더링하기 위한 모든 컨텍스트가 이미 메모리에 로딩되어 있기 때문에, 렌더링 장치는 외부 메모리(455)에 억세스할 필요가 없고, 외부 메모리로부터 내부 메모리로 컨텍스트를 로딩하지 않아도 된다. 따라서, 외부 메모리로부터 내부 메모리까지의 버스를 효율적으로 사용할 수 있다.
도 5는 예시적 실시예에 따른 렌더링 장치의 구조를 도시한 블록도이다.
렌더링 장치(500)는 사용 횟수 결정부(510), 메모리 업데이트부(520), 사용 횟수 업데이트부(530), 외부 메모리(540), 내부 메모리(550) 및 렌더링 엔진(560)을 포함한다.
렌더링 장치는 렌더링 영상을 타일 단위로 분할하고, 각 타일에 대하여 렌더링을 수행한다. 렌더링 장치는 오브젝트를 렌더링하기 위하여 컨텍스트를 이용한다. 여기서, 컨텍스트는 타겟 오브젝트를 렌더링하기 위한 텍스쳐 정보, 타겟 오브젝트에 대한 픽쉘 쉐이더 연산에 필요한 정보, 타겟 오브젝트에 대한 래스터라이저의 스테이트 정보 중에서 적어도 하나를 포함할 수 있다.
사용 횟수 결정부(510)는 타겟 컨텍스트(target context)가 상기 각 타일의 렌더링에 사용되는 총 사용 횟수를 결정한다. 일측에 따르면, 사용 횟수 결정부(510)는 타겟 컨텍스트에 대응되는 타켓 오브젝트가 렌더링 영상을 분할한 타일 중에서 몇 개의 타일에 걸쳐 표시되는지 여부에 따라 타겟 컨텍스트에 대한 총 사용 횟수를 결정할 수 있다. 예를 들어, 타겟 컨텍스트에 대응되는 타겟 오브젝트가 3개의 타일에 걸쳐 표시되는 경우, 사용 횟수 결정부(510)는 타겟 컨텍스트에 대한 총 사용 횟수는 3번인 것으로 결정할 수 있다.
타겟 컨텍스트는 외부 메모리(540)에 저장될 수 있다.
메모리 업데이트부(520)는 외부 메모리(540)에 저장된 타겟 컨텍스트를 내부 메모리로 로딩하고, 렌더링 엔진(560)은 내부 메모리에 로딩된 타겟 컨텍스트를 이용하여 타겟 오브젝트를 렌더링할 수 있다.
도 5에서 렌더링 엔진(560)과 내부 메모리(550)가 별개의 하드웨어인 것처럼 도시되었으나, 일측에 따르면, 렌더링 엔진(560)과 내부 메모리(550)는 하나의 하드웨어로 구현될 수 있다. 예를 들어 렌더링 엔진(560)은 중앙 처리 장치의 연산부이고, 내부 메모리(550)는 중앙 처리 장치 내부의 메모리일 수 있다. 따라서, 렌더링 엔진(560)과 내부 메모리(550)간의 대역폭은 매우 넓고, 로딩 속도도 매우 빠르나, 외부 메모리(540)와 중앙 처리 장치간의 대역폭은 상대적으로 좁고, 로딩 속도도 상대적으로 느릴 수 있다.
일측에 따르면, 메모리 업데이트부(520)는 내부 메모리(550)에 타겟 컨텍스트를 로딩하기 위한 공간이 존재하는지 여부를 판단하고, 공간이 존재하는 경우에 타겟 컨텍스트를 상기 내부 메모리(550)로 로딩할 수 있다. 즉, 내부 메모리(550)에 다른 오브젝트를 렌더링하기 위한 다른 컨텍스트들이 이미 로딩되었다면, 내부 메모리(550)에는 충분한 공간이 존재하지 않을 수 있다. 이 경우에, 메모리 업데이트부(520)는 타겟 컨텍스트를 내부 메모리(550)로 로딩할 수 없다.
사용 횟수 업데이트부(530)는 내부 메모리(550)에 로딩된 타겟 컨텍스트가 각 타일의 렌더링에 사용됨에 따라서 타겟 컨텍스트의 잔여 사용 횟수를 업데이트한다. 즉, 타겟 컨텍스트가 최초에 내부 메모리(550)로 로딩되면, 타겟 컨텍스트의 잔여 사용 횟수는 타겟 컨텍스트에 대한 총 사용 횟수와 동일하게 결정된다. 타겟 컨텍스트가 제1 타일의 렌더링에 사용되면, 사용 횟수 업데이트부(530)는 타겟 컨텍스트의 잔여 사용 횟수를 기존의 잔여 사용 횟수 보다 '1' 작은 값으로 업데이트할 수 있다. 또한, 타겟 컨텍스트가 제2 타일의 렌더링에 사용되면, 사용 횟수 업데이트부(530)는 타겟 컨텍스트의 잔여 사용 횟수를 또 다시 '1' 작은 값으로 업데이트할 수 있다. 사용 횟수 업데이트부(530)는 유사한 방법으로 타겟 컨텍스트에 대한 잔여 사용 횟수가 '0'이 될 때까지 업데이트할 수 있다.
일측에 따르면, 메모리 업데이트부(520)는 내부 메모리(550)에 로딩된 복수의 컨텍스트들 중에서, 각 컨텍스트들의 잔여 사용 횟수에 기반하여 내부 메모리(550)에서 삭제될 컨텍스트를 선택할 수 있다.
메모리 업데이트부(520)가 선택된 컨텍스트를 삭제하면, 내부 메모리(550)에는 타겟 컨텍스트를 로딩할 수 있는 공간이 확보될 수 있다. 이 경우, 메모리 업데이트부(520)는 확보된 공간에 타겟 컨텍스트를 로딩하고, 렌더링 엔진(560)은 로딩된 타겟 컨텍스트를 이용하여 렌더링을 수행할 수 있다.
일측에 따르면, 메모리 업데이트부(520)는 내부 메모리(550)에 저장된 컨텍스트들 중에서, 잔여 사용 횟수가 '0'인 컨텍스트를 선택하여 삭제할 수 있다.
다른 측면에 따르면, 메모리 업데이트부(520)는 내부 메모리(550)에 저장된 컨텍스트들 중에서, 잔여 사용 횟수가 가장 작은 컨텍스트를 선택하여 삭제할 수 있다.
도 6은 또 다른 예시적 실시예에 따른 렌더링 방법을 단계별로 설명한 순서도이다.
렌더링 장치는 렌더링 영상을 타일 단위로 분할하고, 각 타일에 대하여 렌더링을 수행한다. 렌더링 장치는 오브젝트를 렌더링하기 위하여 컨텍스트를 이용한다. 여기서, 컨텍스트는 타겟 오브젝트를 렌더링하기 위한 텍스쳐 정보, 타겟 오브젝트에 대한 픽쉘 쉐이더 연산에 필요한 정보, 타겟 오브젝트에 대한 래스터라이저의 스테이트 정보 중에서 적어도 하나를 포함 할 수 있다. 단계(610)에서, 렌더링 장치는 타겟 컨텍스트(target context)가 상기 각 타일의 렌더링에 사용되는 총 사용 횟수를 결정한다. 일측에 따르면, 렌더링 장치는 타겟 컨텍스트에 대응되는 타켓 오브젝트가 렌더링 영상을 분할한 타일 중에서 몇 개의 타일에 걸쳐 표시되는지 여부에 따라 타겟 컨텍스트에 대한 총 사용 횟수를 결정할 수 있다.
타겟 컨텍스트는 외부 메모리에 저장될 수 있다.
단계(620)에서, 렌더링 장치는 내부 메모리에 타겟 컨텍스트를 로딩하기 위한 공간이 존재하는지 여부를 판단할 수 있다. 타겟 컨텍스트를 로딩하기 위한 공간이 존재하는 경우에 단계(640)에서, 렌더링 장치는 타겟 컨텍스트를 상기 내부 메모리로 로딩할 수 있다.
내부 메모리에 다른 오브젝트를 렌더링하기 위한 다른 컨텍스트들이 이미 로딩되었다면, 내부 메모리에는 충분한 공간이 존재하지 않을 수 있다. 이 경우에, 렌더링 장치는 타겟 컨텍스트를 내부 메모리로 로딩할 수 없다. 이 경우에, 렌더링 장치는 단계(630)에서, 내부 메모리에 저장된 컨텍스트들 중에서 일부 컨텍스트를 선택하여 삭제할 수 있다.
일측에 따르면, 렌더링 장치는 내부 메모리에 로딩된 복수의 컨텍스트들 중에서, 각 컨텍스트들의 잔여 사용 횟수에 기반하여 내부 메모리에서 삭제될 컨텍스트를 선택할 수 있다.
일측에 따르면, 렌더링 장치는 내부 메모리에 저장된 컨텍스트들 중에서, 잔여 사용 횟수가 '0'인 컨텍스트를 선택하여 삭제할 수 있다.
다른 측면에 따르면, 렌더링 장치는 내부 메모리에 저장된 컨텍스트들 중에서, 잔여 사용 횟수가 가장 작은 컨텍스트를 선택하여 삭제할 수 있다.
렌더링 장치가 선택된 컨텍스트를 삭제하면, 내부 메모리에는 타겟 컨텍스트를 로딩할 수 있는 공간이 확보될 수 있다. 이 경우, 렌더링 장치는 단계(640)에서, 확보된 공간에 타겟 컨텍스트를 로딩할 수 있다.
단계(650)에서, 렌더링 장치는 로딩된 타겟 컨텍스트를 이용하여 렌더링을 수행할 수 있다.
단계(660)에서, 렌더링 장치는 내부 메모리에 로딩된 타겟 컨텍스트가 각 타일의 렌더링에 사용됨에 따라서 타겟 컨텍스트의 잔여 사용 횟수를 업데이트한다. 즉, 타겟 컨텍스트가 최초에 내부 메모리로 로딩되면, 타겟 컨텍스트의 잔여 사용 횟수는 타겟 컨텍스트에 대한 총 사용 횟수와 동일하게 결정된다. 타겟 컨텍스트가 제1 타일의 렌더링에 사용되면, 렌더링 장치는 타겟 컨텍스트의 잔여 사용 횟수를 기존의 잔여 사용 횟수 보다 '1' 작은 값으로 업데이트할 수 있다. 또한, 타겟 컨텍스트가 제2 타일의 렌더링에 사용되면, 렌더링 장치는 타겟 컨텍스트의 잔여 사용 횟수를 또 다시 '1' 작은 값으로 업데이트할 수 있다. 렌더링 장치는 유사한 방법으로 타겟 컨텍스트에 대한 잔여 사용 횟수가 '0'이 될 때까지 업데이트할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
500: 렌더링 장치
510: 사용 횟수 결정부
520: 메모리 업데이트부
530: 사용 횟수 업데이트부
540: 외부 메모리
550: 내부 메모리
560: 렌더링 엔진

Claims (15)

  1. 타일 기반의 렌더링 장치에 있어서,
    제1 타겟 컨텍스트 및 제2 타겟 컨텍스트 각각에 대하여 각 타일의 렌더링에 사용되는 총 잔여 사용 횟수를 결정하는 사용 횟수 결정부;
    상기 제1 타겟 컨텍스트의 잔여 사용 횟수가 상기 제2 타겟 컨텍스트의 잔여 사용 횟수보다 더 큰지 여부에 기초하여 상기 제1 타겟 컨텍스트를 외부 메모리에서 내부 메모리로 로딩하는 메모리 업데이트부;
    상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트가 각 타일의 렌더링에 사용됨에 따라서 상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트의 잔여 사용 횟수를 업데이트하는 사용 횟수 업데이트부
    를 포함하는 렌더링 장치.
  2. 제1항에 있어서,
    상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트는 각각 상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트에 대응되는 타겟 오브젝트를 렌더링하기 위한 텍스쳐 정보, 상기 타겟 오브젝트에 대한 픽쉘 쉐이더 연산에 필요한 정보, 상기 타겟 오브젝트에 대한 래스터라이저의 스테이트 정보 중에서 적어도 하나를 포함하는 렌더링 장치.
  3. 제1항에 있어서,
    상기 사용 횟수 결정부는 상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트에 대응되는 타겟 오브젝트가 상기 각 타일 중에서 몇 개의 타일에 걸쳐 표시되는지 여부에 따라 상기 총 잔여 사용 횟수를 결정하는 렌더링 장치.
  4. 제1항에 있어서,
    상기 메모리 업데이트부는 상기 내부 메모리에 상기 제1 타겟 컨텍스트를 로딩하기 위한 공간이 존재하는지 여부를 판단하고,
    상기 공간이 존재하는 경우에 상기 제1 타겟 컨텍스트를 상기 내부 메모리로 로딩하는 렌더링 장치.
  5. 제4항에 있어서,
    상기 메모리 업데이트부는 상기 공간이 존재하지 않는 경우에, 상기 내부 메모리에 로딩된 다른 컨텍스트들 중에서, 상기 다른 컨텍스트들의 잔여 사용 횟수에 기반하여 상기 내부 메모리에서 삭제될 컨텍스트를 선택하여 삭제하고, 상기 제1 타겟 컨텍스트를 로딩하는 렌더링 장치.
  6. 제5항에 있어서,
    상기 메모리 업데이트부는 상기 다른 컨텍스트들 중에서, 상기 잔여 사용 횟수가 '0'인 컨텍스트를 상기 삭제될 컨텍스트로 선택하는 렌더링 장치.
  7. 제5항에 있어서,
    상기 메모리 업데이트부는 상기 다른 컨텍스트들 중에서, 상기 잔여 사용 횟수가 가장 작은 컨텍스트를 상기 삭제될 컨텍스트로 선택하는 렌더링 장치.
  8. 타일 기반의 렌더링 방법에 있어서,
    제1 타겟 컨텍스트 및 제2 타겟 컨텍스트 각각에 대하여 각 타일의 렌더링에 사용되는 총 잔여 사용 횟수를 결정하는 단계;
    상기 제1 타겟 컨텍스트의 잔여 사용 횟수가 상기 제2 타겟 컨텍스트의 잔여 사용 횟수보다 더 큰지 여부에 기초하여 상기 제1 타겟 컨텍스트를 외부 메모리에서 내부 메모리로 로딩하는 단계;
    상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트가 각 타일의 렌더링에 사용됨에 따라서 상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트의 잔여 사용 횟수를 업데이트하는 단계
    를 포함하는 렌더링 방법.
  9. 제8항에 있어서,
    상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트는 각각 상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트에 대응되는 타겟 오브젝트를 렌더링하기 위한 텍스쳐 정보, 상기 타겟 오브젝트에 대한 픽쉘 쉐이더 연산에 필요한 정보, 상기 타겟 오브젝트에 대한 래스터라이저의 스테이트 정보 중에서 적어도 하나를 포함하는 렌더링 방법.
  10. 제8항에 있어서,
    상기 총 잔여 사용 횟수를 결정하는 단계는 상기 제1 타겟 컨텍스트 및 상기 제2 타겟 컨텍스트에 대응되는 타겟 오브젝트가 상기 각 타일 중에서 몇 개의 타일에 걸쳐 표시되는지 여부에 따라 상기 총 잔여 사용 횟수를 결정하는 렌더링 방법.
  11. 제8항에 있어서,
    상기 내부 메모리에 상기 제1 타겟 컨텍스트를 로딩하기 위한 공간이 존재하는지 여부를 판단하는 단계
    를 더 포함하고,
    상기 로딩하는 단계는 상기 공간이 존재하는 경우에 상기 제1 타겟 컨텍스트를 상기 내부 메모리로 로딩하는 렌더링 방법.
  12. 제11항에 있어서,
    상기 공간이 존재하지 않는 경우에, 상기 내부 메모리에 로딩된 다른 컨텍스트들 중에서, 상기 다른 컨텍스트들의 잔여 사용 횟수에 기반하여 상기 내부 메모리에서 삭제될 컨텍스트를 선택하여 삭제하는 단계
    를 더 포함하고,
    상기 로딩하는 단계는 상기 컨텍스트의 삭제 이후에, 상기 제1 타겟 컨텍스트를 로딩하는 렌더링 방법.
  13. 제12항에 있어서,
    상기 삭제하는 단계는 상기 다른 컨텍스트들 중에서, 상기 잔여 사용 횟수가 '0'인 컨텍스트를 상기 삭제될 컨텍스트로 선택하는 렌더링 방법.
  14. 제12항에 있어서,
    상기 삭제하는 단계는 상기 다른 컨텍스트들 중에서, 상기 잔여 사용 횟수가 가장 작은 컨텍스트를 상기 삭제될 컨텍스트로 선택하는 렌더링 방법.
  15. 제8항 및 제14항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
KR1020120019523A 2012-02-27 2012-02-27 렌더링 장치 및 그 방법 KR101953133B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120019523A KR101953133B1 (ko) 2012-02-27 2012-02-27 렌더링 장치 및 그 방법
US13/728,408 US9805502B2 (en) 2012-02-27 2012-12-27 Rendering system and method
CN201310059861.2A CN103295257B (zh) 2012-02-27 2013-02-26 渲染系统和方法
JP2013035983A JP6170690B2 (ja) 2012-02-27 2013-02-26 レンダリング装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120019523A KR101953133B1 (ko) 2012-02-27 2012-02-27 렌더링 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20130097886A KR20130097886A (ko) 2013-09-04
KR101953133B1 true KR101953133B1 (ko) 2019-05-22

Family

ID=49002347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120019523A KR101953133B1 (ko) 2012-02-27 2012-02-27 렌더링 장치 및 그 방법

Country Status (4)

Country Link
US (1) US9805502B2 (ko)
JP (1) JP6170690B2 (ko)
KR (1) KR101953133B1 (ko)
CN (1) CN103295257B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150378920A1 (en) * 2014-06-30 2015-12-31 John G. Gierach Graphics data pre-fetcher for last level caches
CN105469354A (zh) * 2014-08-25 2016-04-06 超威半导体公司 图形处理方法、系统和设备
EP3311601B1 (en) * 2015-06-16 2018-10-17 Philips Lighting Holding B.V. Electronic network device
US10269154B2 (en) * 2015-12-21 2019-04-23 Intel Corporation Rasterization based on partial spans
CN107491289B (zh) * 2016-06-12 2023-01-24 阿里巴巴(中国)有限公司 一种窗口渲染方法及装置
KR102637736B1 (ko) 2017-01-04 2024-02-19 삼성전자주식회사 그래픽스 처리 방법 및 시스템
CN109260708B (zh) 2018-08-24 2020-01-10 腾讯科技(深圳)有限公司 地图渲染方法、装置以及计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004537129A (ja) * 2001-07-24 2004-12-09 イマジネイション テクノロジーズ リミテッド 3次元グラフィックシステム
WO2011078858A1 (en) * 2009-12-23 2011-06-30 Intel Corporation Image processing techniques

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430841A (en) 1992-10-29 1995-07-04 International Business Machines Corporation Context management in a graphics system
US6819321B1 (en) 2000-03-31 2004-11-16 Intel Corporation Method and apparatus for processing 2D operations in a tiled graphics architecture
TW531706B (en) 2000-07-20 2003-05-11 Ibm Method and apparatus in a data processing system for dynamic graphics context switching
JP2003132347A (ja) 2001-10-26 2003-05-09 Sony Corp 画像処理装置
US6738069B2 (en) 2001-12-31 2004-05-18 Intel Corporation Efficient graphics state management for zone rendering
US6985150B2 (en) 2003-03-31 2006-01-10 Sun Microsystems, Inc. Accelerator control unit configured to manage multiple hardware contexts
JP4211760B2 (ja) * 2005-05-26 2009-01-21 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置およびその管理方法ならびにコンピュータプログラム
GB0524804D0 (en) 2005-12-05 2006-01-11 Falanx Microsystems As Method of and apparatus for processing graphics
KR100762811B1 (ko) 2006-07-20 2007-10-02 삼성전자주식회사 하프 플레인 에지 함수를 이용한 타일 비닝 방법 및 시스템
KR100793990B1 (ko) 2006-09-18 2008-01-16 삼성전자주식회사 타일 기반 3차원 렌더링에서의 조기 z 테스트 방법 및시스템
US20090046098A1 (en) 2007-08-14 2009-02-19 Stmicroelectronics S.R.L. Primitive binning method for tile-based rendering
CN101127125A (zh) 2007-09-26 2008-02-20 腾讯科技(深圳)有限公司 一种图像渲染方法及系统
US8040349B1 (en) * 2007-12-04 2011-10-18 Nvidia Corporation System and method for structuring an A-buffer
GB2461900B (en) 2008-07-16 2012-11-07 Advanced Risc Mach Ltd Monitoring graphics processing
US8368701B2 (en) 2008-11-06 2013-02-05 Via Technologies, Inc. Metaprocessor for GPU control and synchronization in a multiprocessor environment
GB0900700D0 (en) 2009-01-15 2009-03-04 Advanced Risc Mach Ltd Methods of and apparatus for processing graphics
US8379728B2 (en) * 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
JP2011051141A (ja) 2009-08-31 2011-03-17 Ricoh Co Ltd 画像形成装置、画像処理方法及び制御プログラム
KR101609266B1 (ko) 2009-10-20 2016-04-21 삼성전자주식회사 타일 기반의 랜더링 장치 및 방법
JP5524584B2 (ja) * 2009-11-20 2014-06-18 キヤノン株式会社 画像処理装置及びその制御方法
US8619085B2 (en) 2010-03-08 2013-12-31 Broadcom Corporation Method and system for compressing tile lists used for 3D rendering
JP5115768B2 (ja) 2010-04-14 2013-01-09 Necシステムテクノロジー株式会社 画像描画装置、画像描画方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004537129A (ja) * 2001-07-24 2004-12-09 イマジネイション テクノロジーズ リミテッド 3次元グラフィックシステム
WO2011078858A1 (en) * 2009-12-23 2011-06-30 Intel Corporation Image processing techniques

Also Published As

Publication number Publication date
CN103295257A (zh) 2013-09-11
JP2013175191A (ja) 2013-09-05
KR20130097886A (ko) 2013-09-04
JP6170690B2 (ja) 2017-07-26
US20130222379A1 (en) 2013-08-29
CN103295257B (zh) 2017-11-14
US9805502B2 (en) 2017-10-31

Similar Documents

Publication Publication Date Title
KR101953133B1 (ko) 렌더링 장치 및 그 방법
US11922534B2 (en) Tile based computer graphics
JP6293923B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
US9142044B2 (en) Apparatus, systems and methods for layout of scene graphs using node bounding areas
KR102122454B1 (ko) 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
US8135566B2 (en) Determining a node path through a node graph
US8823705B2 (en) Image generating apparatus and image generating method for generating images by rendering a polygon
KR101399472B1 (ko) 다중 프로세싱을 이용한 렌더링 처리 장치 및 방법
CN110990516A (zh) 地图数据的处理方法、装置和服务器
JP2008165760A (ja) グラフィックスを処理する方法および装置
KR20180056316A (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
US9299182B2 (en) Divided-area-based rendering device and divided-area-based rendering method
KR20200067222A (ko) 그래픽스 파이프라인에서의 인덱스들의 압축 및 압축 해제
EP2881918B1 (en) Method for visualizing three-dimensional data
KR20180117619A (ko) 컴퓨팅 장치를 이용한 객체 관리 및 시각화
US20150242988A1 (en) Methods of eliminating redundant rendering of frames
JP5362915B2 (ja) 描画装置および描画方法
JP2013206094A (ja) 情報処理装置、カーナビゲーション装置
KR101399473B1 (ko) 다중 프로세싱을 이용한 렌더링 처리 장치 및 방법
CA2308249C (en) Triangle strip length maximization
KR20130102553A (ko) 캐시를 가지고 절차 이미지를 생성하기 위한 장치 및 방법
JP5719157B2 (ja) グラフィック演算処理チップ
US9007387B2 (en) Drawing processing apparatus and method
WO2018020623A1 (ja) 画像処理装置、画像処理方法、および、プログラム
US20150317819A1 (en) Rendering system and method for generating ray

Legal Events

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