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

렌더링 방법 및 장치 Download PDF

Info

Publication number
KR102247565B1
KR102247565B1 KR1020140121273A KR20140121273A KR102247565B1 KR 102247565 B1 KR102247565 B1 KR 102247565B1 KR 1020140121273 A KR1020140121273 A KR 1020140121273A KR 20140121273 A KR20140121273 A KR 20140121273A KR 102247565 B1 KR102247565 B1 KR 102247565B1
Authority
KR
South Korea
Prior art keywords
rendering
level
mipmap
image
calculated
Prior art date
Application number
KR1020140121273A
Other languages
English (en)
Other versions
KR20160031328A (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 KR1020140121273A priority Critical patent/KR102247565B1/ko
Priority to US14/801,108 priority patent/US10438317B2/en
Publication of KR20160031328A publication Critical patent/KR20160031328A/ko
Application granted granted Critical
Publication of KR102247565B1 publication Critical patent/KR102247565B1/ko

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Computer Vision & Pattern Recognition (AREA)

Abstract

렌더링 장치가, 텍스처(texture)에 대해 일부 레벨의 밉맵 이미지를 생성하여 저장부에 저장하고, 텍스처에 대한 요청을 수신하고, 텍스처에 대해 요청되는 밉맵의 레벨을 산출하고, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는지 여부를 판단하고, 판단 결과에 기초하여, 저장된 일부 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는 방법이 개시된다.

Description

렌더링 방법 및 장치{METHOD AND APPARATUS FOR REDNDERING}
개시된 실시 예들은 밉맵을 이용한 렌더링 방법 및 장치에 관한 것이다.
텍스처 매핑(texture mapping)이란 컴퓨터 그래픽스 분야에서 가상의 삼차원 물체의 표면에 세부적인 질감을 묘사하거나 색을 칠하는 기법이다. 텍스처란, 텍스처 매핑 시 물체의 표면에 입혀지는 이미지를 의미한다. 일반적으로 텍스처 매핑에서 단순한 이차원 정지 이미지인 2D 텍스처가 사용되며, 이때 렌더링 속도의 향상과 에일리어싱(aliasing) 방지를 위해 밉맵(mipmap)이라는 기법이 사용된다.
3차원 그래픽스의 텍스처 매핑 분야에서, 밉맵은 렌더링 속도를 향상시키기 위한 목적으로 기본 텍스처와 이를 연속적으로 미리 축소시킨 텍스처들로 이루어진 비트맵 이미지의 집합이다. 밉맵을 사용할 경우 최종 결과에서 텍스처가 입혀지는 물체의 크기를 고려하여 이에 대응되는 텍스처를 사용하게 된다. 즉, 여러 가지 크기의 밉맵 이미지를 만들어 놓고 맵핑하고자 하는 폴리곤에 가장 근사한 크기를 갖는 밉맵 이미지를 이용하여 텍스처 맵핑을 수행하는 것이다.
밉맵을 사용하기 위해서 밉맵 이미지의 집합의 비트맵 데이터들은 미리 생성되어 메모리에 저장되어 있어야 한다. 밉맵 이미지를 가로 및 세로의 크기를 1/2로 축소시켜 가며 생성하는 경우, 원본(레벨 0의 밉맵 이미지)만을 저장하는 경우에 비해 약 1.33배의 메모리를 필요로 하게 된다.
텍스처 매핑은 높은 화질을 위해 텍스처의 크기가 커지면서 저장 용량이 커지고, 전송 비용 또한 높아져, 시스템에 부담을 주게 되었다. 따라서, 밉맵 사용으로 인해 요구되는 밉맵 생성 연산과 메모리 사용량을 줄이기 위한 연구가 계속되고 있다.
개시된 일 실시예는 일부 레벨의 밉맵 이미지를 생성하고 저장하여, 요청되는 밉맵의 레벨이 저장되어 있는지 여부에 따라 저장된 일부 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는 렌더링 방법을 제공하는 것이다.
일 실시 예에 따른 렌더링 방법은 텍스처(texture)에 대해 일부 레벨의 밉맵 이미지를 생성하여 저장부에 저장하는 단계; 상기 텍스처에 대한 요청을 수신하고, 상기 텍스처에 대해 요청되는 밉맵의 레벨을 산출하는 단계; 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있는지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여, 상기 저장된 일부 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는 단계를 포함한다.
또한, 상기 렌더링을 수행하는 단계는, 상기 판단 결과, 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있는 경우, 저장된 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 것일 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 상기 판단 결과, 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있지 않은 경우, 상기 산출된 레벨과 인접한 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는 것일 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 상기 텍스처 이미지의 색상 변화도를 판단하는 단계; 상기 색상 변화도가 기 설정된 값보다 크면, 상기 산출된 레벨의 밉맵 이미지를 생성하는 단계; 및 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 단계를 포함할 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 상기 텍스처 이미지의 색상 변화도를 판단하는 단계; 및 상기 색상 변화도가 기 설정된 값보다 작으면, 상기 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 단계를 포함할 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 상기 텍스처의 액세스 빈도를 판단하는 단계; 및 상기 판단 결과에 기초하여, 상기 산출된 레벨과 인접한 레벨의 밉맵 이미지 이용하여 렌더링을 수행하는 단계를 포함할 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 상기 액세스 빈도가 기 설정된 값보다 크면, 상기 산출된 레벨의 밉맵 이미지를 생성하여 상기 저장부에 저장하는 단계; 및 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 단계를 포함할 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 상기 액세스 빈도가 기 설정된 값보다 작으면, 상기 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 상기 산출된 레벨의 밉맵 이미지를 생성하는 단계; 및 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 단계를 포함할 수 있다.
또한, 상기 액세스 빈도를 판단하는 단계는, 상기 텍스처(texture)에 대한 이전 프레임에서의 액세스 빈도를 카운팅하는 것일 수 있다.
또한, 상기 산출된 레벨의 밉맵 이미지를 생성하는 단계는, 상기 텍스처의 액세스 빈도를 판단하는 단계; 및 상기 액세스 빈도가 기 설정된 값보다 크면, 상기 산출된 레벨의 밉맵 이미지를 생성하여 상기 저장부에 저장하고, 상기 액세스 빈도가 기 설정된 값보다 작으면, 상기 산출된 레벨의 이전 레벨을 이용하여 상기 산출된 레벨의 밉맵 이미지를 생성하는 단계를 포함할 수 있다.
또한, 상기 렌더링을 수행하는 단계는, 상기 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 상기 산출된 레벨의 밉맵 이미지를 생성하여, 렌더링을 수행하는 모드 및 상기 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 모드 중 사용자 입력에 기초하여 기 설정된 모드에 따라 렌더링을 수행하는 것일 수 있다.
다른 실시 예에 따른 렌더링 장치는 텍스처(texture)에 대해 기 생성된 일부 레벨의 밉맵 이미지를 저장하는 저장부; 상기 텍스처에 대한 요청을 수신하고, 상기 텍스처에 대해 요청되는 밉맵의 레벨을 산출하고, 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있는지 여부를 판단하는 판단부; 및 상기 판단 결과에 기초하여, 상기 저장된 일부 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는 렌더링부를 포함한다.
일 실시 예에 따른 렌더링 방법은 밉맵 이미지를 생성 및 저장하는 데 필요한 연산 및 메모리를 줄일 수 있다.
따라서, 일 실시 예에 따른 밉맵 생성 방법은 불필요한 전력 소모를 감소시킬 수 있다.
도 1은 일 실시예에 따른 밉맵을 이용하여 그래픽 렌더링을 수행하는 시스템의 개념도이다.
도 2는 일 실시예에 따른 렌더링 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따라 색상 변화도를 판단하여 렌더링을 수행하는 방법을 설명하기 위한 흐름도이다.
도 4는 도 3에 도시된 방법을 설명하기 위한 예시도이다.
도 5는 다른 실시예에 따라 액세스 빈도를 판단하여 렌더링을 수행하는 방법을 설명하기 위한 흐름도이다.
도 6은 또 다른 실시 예에 따라 색상 변화도 및 액세스 빈도 판단하여 렌더링을 수행하는 방법을 설명하기 위한 흐름도이다.
도 7는 일 실시 예에 따른 렌더링 장치의 구조를 나타내는 블록도이다.
도 8은 다른 실시 예에 따른 렌더링 장치의 구조를 나타내는 블록도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, "색상 변화도"는 어떠한 픽셀의 색상과 그 주변 픽셀의 색상의 차이를 나타낸다. 즉, 어떠한 픽셀이 그 주변 픽셀에 대해 색상이 급격히 변화하면 색상 변화도가 크고, 어떠한 픽셀이 그 주변 픽셀에 대해 색상이 서서히 변화하면 색상 변화도가 작다.
명세서 전체에서, "액세스 빈도"는 어떠한 텍스처에 대한 요청이 발생한 횟수를 나타낸다. 즉, 어떠한 텍스처에 대한 요청이 많이 발생할수록 액세스 빈도가 높아지며, 어떠한 텍스처에 대한 요청이 적게 발생할수록 액세스 빈도가 낮아진다.
이하, 실시 예를 첨부도면을 참조하여 상세히 설명하기로 한다. 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 밉맵을 이용하여 그래픽 렌더링을 수행하는 시스템의 개념도이다.
밉맵은 하나의 이미지를 기반으로 이를 축소시킨 여러 개의 이미지로 구성된다. 구현에 따라 차이가 있지만 보통 6 내지 8정도의 레벨을 가지며, 낮은 레벨은 높은 정밀도를 가지는 원본 이미지를, 높은 레벨은 낮은 정밀도를 가지는 이미지를 나타낸다. 밉맵 레벨이 올라감에 따라 일반적으로 이미지의 가로, 세로는 각각
Figure 112014086724264-pat00001
(2를 밉맵 레벨만큼 거듭제곱한)만큼 작아지게 된다. 보통 X, Y축 방향으로 동시에 축소되지만 특이한 경우 X, Y축으로 서로 다른 비율의 축소를 적용하여 최종 결과물의 품질을 향상시키기도 한다. 사용될 밉맵의 밉맵 레벨(Level Of Detail)은, 연산에 의해 산출된다. 오브젝트가 화면에 크게 사상되는 경우, 낮은 밉맵 레벨이 선택된다. 동일한 텍스쳐를 사용하는 오브젝트가 화면에 작게 사상되는 경우, 높은 밉맵 레벨이 선택된다.
일반적으로 텍스처로 사용될 2D 이미지가 생성되면, 텍스처 바인딩, 밉맵을 저장할 메모리 공간 할당, 밉맵 생성, 밉맵 사용의 순으로 단계가 진행된다.
기존의 밉맵은 모든 레벨의 데이터가 메모리에 저장되어야 한다. 그러나, 개시된 실시예에 따른 밉맵은 일부 레벨의 데이터만이 메모리(120)에 저장되므로 밉맵 사용으로 인해 요구되는 밉맵 생성 연산과 메모리 사용량을 줄일 수 있다.
GPU(130)는 CPU(110)로부터 그래픽 이미지를 렌더링 하기 위한 명령을 수신할 수 있다. GPU(130)는 텍스처 요청에 따라 메모리(120)에 저장된 밉맵 이미지를 이용하여 텍스쳐링을 수행할 수 있다. 메모리(120)는 GPU(130) 내부 메모리일 수도 있고, 외부 메모리일 수도 있다.
도 1을 참조하면, 메모리(120)에는 레벨 0, 2, 4 및 6에 해당하는 밉맵 이미지만이 저장되어 있다. 예를 들어, 레벨 1의 밉맵 이미지가 필요한 경우, GPU(130)는 메모리(120)에 저장된 레벨 0 또는 레벨 2의 밉맵 이미지를 이용하여 렌더링을 수행할 수 있다.
CPU(130)는 렌더링 파이프라인을 거쳐 렌더링을 마친 그래픽 이미지를 디스플레이(140)에 출력할 수 있다.
도 2는 일 실시예에 따른 렌더링 방법을 설명하기 위한 흐름도이다.
단계 210에서 렌더링 장치는 텍스처(texture)에 대해 일부 레벨의 밉맵 이미지를 생성하여 저장부에 저장할 수 있다.
일 실시예에 따른 렌더링 장치는 전체 레벨 중 같은 간격을 갖는 레벨의 밉맵 이미지를 생성하여 저장부에 저장할 수 있다. 예를 들어, 렌더링 장치는 레벨 0 내지 10 중, 레벨 0, 2, 4, 6, 8 및 10의 밉맵 이미지를 생성하여 저장부에 저장할 수 있다. 다른 예로, 렌더링 장치는 레벨 0 내지 10 중, 레벨 0, 3, 6 및 9의 밉맵 이미지를 생성하여 저장부에 저장할 수 있다.
일 실시예에 따른 렌더링 장치는 일부 레벨에 대해서만 밉맵 이미지를 생성하고 저장하므로, 전체적인 연산량과 메모리 사용량을 줄일 수 있다.
단계 220에서 렌더링 장치는 텍스처에 대한 요청을 수신하고, 텍스처에 대해 요청되는 밉맵의 레벨을 산출할 수 있다.
일 실시예에 따른 렌더링 장치는 해당 오브젝트에 사용될 텍스처에 대한 밉맵 레벨을 산출할 수 있다. 렌더링 장치는 픽셀 셰이딩에서 발생한 텍스쳐 요청에 따라, 주소 생성 유닛에서 참조할 밉맵의 레벨을 산출할 수 있다. 밉맵 레벨의 산출은 호스트 프로세서에서 수행될 수도 있고, 별도의 하드웨어에서 수행될 수도 있으나, 이에 제한되지 않는다.
단계 230에서 렌더링 장치는 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는지 여부를 판단할 수 있다.
일 실시예에 따른 렌더링 장치는 전체 밉맵 레벨 중 밉맵 이미지가 저장되어 있는 레벨을 나타내는 데이터 스트림을 이용하여, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는지 여부를 판단할 수 있다.
단계 240에서 렌더링 장치는 판단 결과에 기초하여, 저장된 일부 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행할 수 있다.
일 실시예에 따른 렌더링 장치는 판단 결과, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는 경우, 산출된 레벨의 밉맵 이미지를 저장부로부터 수신하여, 렌더링을 수행할 수 있다.
일 실시예에 따른 렌더링 장치는 판단 결과, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있지 않은 경우, 산출된 레벨과 인접한 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행할 수 있다.
일 실시예에 따른 렌더링 장치는 텍스처 이미지의 색상 변화도에 따라 렌더링을 수행할 수 있다. 예를 들어, 텍스처 이미지의 색상 변화도의 판단 결과 색상 변화도가 기 설정된 값보다 크면, 렌더링 장치는 산출된 레벨의 밉맵 이미지를 생성할 수 있다. 렌더링 장치는 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행할 수 있다. 다른 예로, 텍스처 이미지의 색상 변화도의 판단 결과 색상 변화도가 기 설정된 값보다 작으면, 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행할 수 있다. 이에 대한 자세한 설명은 도 3에서 후술한다.
다른 실시예에 따른 렌더링 장치는 텍스처의 액세스 빈도에 따라 렌더링을 수행할 수 있다. 렌더링 장치는 텍스처의 액세스 빈도를 판단하고, 판단 결과에 기초하여, 산출된 레벨과 인접한 레벨의 밉맵 이미지 이용하여 렌더링을 수행할 수 있다. 예를 들어, 액세스 빈도가 기 설정된 값보다 크면, 렌더링 장치는 산출된 레벨의 밉맵 이미지를 생성하여 저장부에 저장하고, 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행할 수 있다. 다른 예로, 액세스 빈도가 기 설정된 값보다 작으면, 렌더링 장치는 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 산출된 레벨의 밉맵 이미지를 생성하고, 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 산출된 레벨의 밉맵 이미지를 생성하여, 렌더링을 수행하는 모드 및 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 모드 중 사용자 입력에 기초하여 기 설정된 모드에 따라 렌더링을 수행할 수 있다.
개시된 실시예에 따른 렌더링 방법에 의하면, 밉맵 사용 시 모든 레벨의 밉맵 이미지를 생성하지 않으므로 연산량을 감소시킬 수 있다. 또한, 개시된 실시예에 따른 렌더링 방법에 의하면, 모든 레벨의 밉맵 이미지를 저장하지 않으므로 메모리 사용량을 감소시킬 수 있다.
도 3은 일 실시예에 따라 색상 변화도를 판단하여 렌더링을 수행하는 방법을 설명하기 위한 흐름도이다.
단계 310에서 렌더링 장치는 텍스처에 대해 일부 레벨의 밉맵 이미지를 생성하여 저장부에 저장한다.
도 3의 단계 310은 도 2의 단계 210과 동일 대응되므로, 도 2에서와 중복되는 설명은 생략한다.
단계 320에서 렌더링 장치는 텍스처에 대한 요청을 수신하고, 텍스처에 대해 요청되는 밉맵의 레벨을 산출한다.
도 3의 단계 320은 도 2의 단계 220과 동일 대응되므로, 도 2에서와 중복되는 설명은 생략한다.
단계 330에서 렌더링 장치는 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는지 판단한다. 판단 결과, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는 경우, 단계 345가 수행되고, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있지 않은 경우, 단계 340이 수행된다.
단계 345에서 렌더링 장치는 저장부에 저장되어 있는, 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행한다.
단계 340에서 렌더링 장치는 텍스처 이미지의 색상 변화도가 기 설정된 값보다 큰지 여부를 판단한다. 판단 결과, 색상 변화도가 기 설정된 값보다 작은 경우, 단계 355가 수행되고, 색상 변화도가 기 설정된 값보다 큰 경우, 단계 350이 수행된다.
일 실시예에 따른 렌더링 장치는 색상 변화도가 산출된 텍스처 이미지에 대해 텍스처 이미지 및 색상 변화도를 함께 수신할 수 있다. 텍스처의 색상 변화도는 별도의 소프트웨어에서 산출되어 저장될 수 있다.
다른 실시예에 따른 렌더링 장치는 GPU(130) 내에 색상 변화도를 산출하는 별도의 로직을 포함할 수 있다. 렌더링 장치는 각각의 텍스처 이미지 마다 색상 변화도를 산출하여 저장할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 이미지의 색상 변화도 판단을 사용자 설정에 기초하여 처리할 수 있다. 예를 들어, 사용자 설정에 의해, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있지 않은 경우 산출된 밉맵 이미지를 생성하여 렌더링을 수행하도록 설정된 경우, 렌더링 장치는 단계 350을 수행할 수 있다. 다른 예로, 사용자 설정에 의해, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있지 않은 경우 산출된 밉맵 이미지의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하도록 설정된 경우, 렌더링 장치는 단계 355을 수행할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 색상 변화도의 크기에 대한 판단 기준인, 기 설정된 값의 크기를 조정하여, 렌더링을 수행할 수 있다. 예를 들어, 기 설정된 값을 크게 설정할수록 단계 355가 수행되는 경우가 많아지므로, 그래픽 품질은 저하될 수 있으나, 전력 소모가 감소율은 커질 수 있다. 예를 들어, 기 설정된 값을 작게 설정할수록 단계 350이 수행되는 경우가 많아지므로, 그래픽 품질은 향상될 수 있으나, 전력 소모 감소율은 작아질 수 있다.
단계 355에서 렌더링 장치는 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행한다.
텍스처 이미지의 색상 변화도가 작은 경우, 요청되는 크기의 이미지보다 더 작은 이미지를 이용하여 렌더링을 수행해도 그래픽 품질에 큰 영향을 주지 않는다. 따라서, 일 실시예에 따른 렌더링 장치는 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨의 다음 레벨의 밉맵 이미지를 확대하여 렌더링을 수행할 수 있다.
다른 실시예에 따른 렌더링 장치는 텍스처 이미지의 색상 변화도가 기 설정된 값보다 작은 경우, 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하도록 설정될 수 있다. 이 경우, 렌더링 장치는 요청되는 크기의 이미지보다 더 큰 이미지를 이용하여 렌더링을 수행할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 이미지의 색상 변화도가 기 설정된 값보다 작은 경우, 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨과 가장 가까운 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하도록 설정될 수 있다.
단계 350에서 렌더링 장치는 산출된 레벨의 밉맵 이미지를 생성한다.
일 실시예에 따른 렌더링 장치는 생성된 밉맵 이미지를 저장부에 저장할 수 있다. 이 경우, 이후 해당 텍스처에 대한 요청을 수신했을 때 저장된 밉맵 이미지를 렌더링에 사용할 수 있다.
다른 실시예에 따른 렌더링 장치는 생성된 밉맵 이미지를 사용하고 저장하지는 않을 수 있다. 이 경우, 생성되는 밉맵 이미지를 저장하는데 필요한 메모리 사용량을 감소시킬 수 있다.
단계 360에서 렌더링 장치는 생성된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행한다.
도 4는 도 3에 도시된 방법을 설명하기 위한 예시도이다.
도 4(a)는 색상 변화도가 큰 텍스처 이미지의 예시도이다. 도 4(a)를 참조하면, 격자 무늬로 나타난 이미지에서 색상이 바뀌는 경계 부분의 색상 변화도가 매우 크며, 이렇게 색상이 갑자기 바뀌는 경계 부분이 텍스처 이미지의 많은 부분을 차지하고 있는 것을 알 수 있다. 이 경우, 밉맵 이미지를 순차적으로 생성하지 않으면, 이미지의 왜곡이 발생할 확률이 커진다. 따라서, 이미지 왜곡을 피하기 위해, 요청되는 레벨의 밉맵 이미지를 생성하여 렌더링에 사용하도록 설정되는 것이다.
도 4(b)는 색상 변화도가 작은 텍스처 이미지의 예시도이다. 도 4(b)를 참조하면, 이미지 전체에서 색상이 서서히 변화하고 있으며, 색상이 갑자기 바뀌는 경계 부분이 존재하지 않는다는 것을 알 수 있다. 이 경우, 다른 레벨의 밉맵 이미지를 확대하거나 축소하여 렌더링에 사용하더라도 이미지가 크게 왜곡되지 않는다. 따라서, 메모리 사용량을 줄이기 위해 상이한 레벨을 갖지만, 저장부에 저장되어 있는 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하도록 설정되는 것이다.
도 5는 다른 실시예에 따라 액세스 빈도를 판단하여 렌더링을 수행하는 방법을 설명하기 위한 흐름도이다.
단계 510에서 렌더링 장치는 텍스처에 대해 일부 레벨의 밉맵 이미지를 생성하여 저장부에 저장한다.
도 5의 단계 510은 도 2의 단계 210과 동일 대응되므로, 도 2에서와 중복되는 설명은 생략한다.
단계 520에서 렌더링 장치는 텍스처에 대한 요청을 수신하고, 텍스처에 대해 요청되는 밉맵의 레벨을 산출한다.
도 5의 단계 520은 도 2의 단계 220과 동일 대응되므로, 도 2에서와 중복되는 설명은 생략한다.
단계 530에서 렌더링 장치는 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는지 판단한다. 판단 결과, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는 경우, 단계 545가 수행되고, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있지 않은 경우, 단계 540이 수행된다.
단계 545에서 렌더링 장치는 저장부에 저장되어 있는, 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행한다.
단계 540에서 렌더링 장치는 텍스처의 액세스 빈도가 기 설정된 값보다 큰지 여부를 판단한다. 판단 결과, 액세스 빈도가 기 설정된 값보다 작은 경우, 단계 555가 수행되고, 액세스 빈도가 기 설정된 값보다 큰 경우, 단계 550이 수행된다.
일 실시예에 따른 렌더링 장치는 요청된 텍스처(texture)에 대한 이전 프레임에서의 액세스 빈도를 카운팅하여 저장할 수 있다. 렌더링 장치는 이전 프레임에서의 액세스 빈도를 요청된 텍스처의 액세스 빈도로 결정하여, 기 설정될 값과 비교할 수 있다. 이는 프레임간 유사성을 이용하여, 요청된 텍스처의 이전 프레임에서의 액세스 빈도가 현재 프레임에서의 액세스 빈도와 유사할 것으로 가정하여, 액세스 빈도를 판단하는 것이다.
예를 들어, 렌더링 장치는 N 번째 프레임을 렌더링할 때에는 밉맵을 사용하지 않거나, 요청되는 레벨과 가장 가까운 레벨을 이용하여 텍스처링을 수행하고, 요청되는 텍스처의 액세스 횟수를 카운팅 할 수 있다. 또한, 렌더링 장치는 요청되는 텍스처의 요청되는 각각의 레벨을 카운팅할 수 있다. 렌더링 장치는 N 번째 프레임을 렌더링할 때 획득한 카운팅 정보를, N+1 번째 프레임을 렌더링할 때 이용하여 개시된 실시예에 따른 렌더링 방법을 수행할 수 있다.
다른 실시예에 따른 렌더링 장치는 어플리케이션을 최초로 실행할 때에 밉맵을 사용하지 않거나, 요청되는 레벨과 가장 가까운 레벨을 이용하여 텍스처링을 수행하고, 요청되는 텍스처의 액세스 횟수를 카운팅 할 수 있다. 또한, 렌더링 장치는 요청되는 텍스처의 요청되는 각각의 레벨을 카운팅할 수 있다. 렌더링 장치는 어플리케이션을 최초로 실행한 때 획득한 카운팅 정보를, 이후 어플리케이션을 실행하는 때 이용하여 개시된 실시예에 따른 렌더링 방법을 수행할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도에 대한 판단을 사용자 설정에 기초하여 처리할 수 있다. 예를 들어, 사용자 설정에 의해, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있지 않은 경우 산출된 밉맵 이미지를 생성하고, 저정하여 렌더링을 수행하도록 설정된 경우, 렌더링 장치는 단계 550을 수행할 수 있다. 다른 예로, 사용자 설정에 의해, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있지 않은 경우 산출된 밉맵 이미지를 생성하여 렌더링을 수행하도록 설정된 경우, 렌더링 장치는 단계 555을 수행할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도에 대한 판단 기준인, 기 설정된 값의 크기를 조정하여, 렌더링을 수행할 수 있다. 예를 들어, 기 설정된 값을 크게 설정할수록 단계 555가 수행되는 경우가 많아지므로, 메모리 사용량을 크게 감소시킬 수 있다.
단계 555에서 렌더링 장치는 산출된 레벨의 밉맵 이미지를 생성하고, 생성된 밉맵 이미지를 이용하여 렌더링을 수행한다.
일 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도가 작은 경우, 생성된 밉맵 이미지의 사용 빈도가 적으므로, 산출된 레벨의 밉맵 이미지를 생성만 하고 저장하지 않아 메모리 사용량을 줄일 수 있다.
다른 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도가 기 설정된 값보다 작은 경우, 산출된 레벨의 밉맵 이미지를 생성하지 않고, 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨과 가장 가까운 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하도록 설정될 수도 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도가 기 설정된 값보다 작은 경우, 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하도록 설정될 수 있다. 이 경우, 렌더링 장치는 요청되는 크기의 이미지보다 더 큰 이미지를 이용하여 렌더링을 수행할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도가 기 설정된 값보다 작은 경우, 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하도록 설정될 수 있다. 이 경우, 렌더링 장치는 요청되는 크기의 이미지보다 더 작은 이미지를 확대하여 렌더링을 수행할 수 있다.
단계 550에서 렌더링 장치는 산출된 레벨의 밉맵 이미지를 생성하고, 생성된 밉맵 이미지를 저장부에 저장한다.
일 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도가 크다고 판단되면, 산출된 레벨의 밉맵 이미지를 생성하여 저장하고, 이후 해당 텍스처에 대한 요청을 수신했을 때 저장된 밉맵 이미지를 렌더링에 사용할 수 있다.
단계 560에서 렌더링 장치는 저장부에 저장된, 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행한다.
도 6은 또 다른 실시 예에 따라 색상 변화도 및 액세스 빈도 판단하여 렌더링을 수행하는 방법을 설명하기 위한 흐름도이다.
단계 610에서 렌더링 장치는 텍스처에 대해 일부 레벨의 밉맵 이미지를 생성하여 저장부에 저장한다.
도 6의 단계 610은 도 2의 단계 210과 동일 대응되므로, 도 2에서와 중복되는 설명은 생략한다.
단계 620에서 렌더링 장치는 텍스처에 대한 요청을 수신하고, 텍스처에 대해 요청되는 밉맵의 레벨을 산출한다.
도 6의 단계 620은 도 2의 단계 220과 동일 대응되므로, 도 2에서와 중복되는 설명은 생략한다.
단계 630에서 렌더링 장치는 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는지 판단한다. 판단 결과, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있는 경우, 단계 645가 수행되고, 산출된 레벨의 밉맵 이미지가 저장부에 저장되어 있지 않은 경우, 단계 640이 수행된다.
단계 645에서 렌더링 장치는 저장부에 저장되어 있는, 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행한다.
단계 640에서 렌더링 장치는 텍스처 이미지의 색상 변화도가 기 설정된 값보다 큰지 여부를 판단한다. 판단 결과, 색상 변화도가 기 설정된 값보다 작은 경우, 단계 655가 수행되고, 색상 변화도가 기 설정된 값보다 큰 경우, 단계 650이 수행된다.
일 실시예에 따른 렌더링 장치는 색상 변화도가 산출된 텍스처 이미지에 대해 텍스처 이미지 및 색상 변화도를 함께 수신할 수 있다. 텍스처의 색상 변화도는 별도의 소프트웨어에서 산출되어 저장될 수 있다.
다른 실시예에 따른 렌더링 장치는 GPU(130) 내에 색상 변화도를 산출하는 별도의 로직을 포함할 수 있다. 렌더링 장치는 각각의 텍스처 이미지 마다 색상 변화도를 산출하여 저장할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 이미지의 색상 변화도 판단을 사용자 설정에 기초하여 처리할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 색상 변화도의 크기에 대한 판단 기준인, 기 설정된 값의 크기를 조정하여, 렌더링을 수행할 수 있다.
단계 655에서 렌더링 장치는 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행한다.
텍스처 이미지의 색상 변화도가 작은 경우, 요청되는 크기의 이미지보다 더 작은 이미지를 이용하여 렌더링을 수행해도 그래픽 품질에 큰 영향을 주지 않는다. 따라서, 일 실시예에 따른 렌더링 장치는 저장부에 저장되어 있는 밉맵 이미지 중 산출된 레벨의 다음 레벨의 밉맵 이미지를 확대하여 렌더링을 수행할 수 있다.
단계 650에서 렌더링 장치는 렌더링 장치는 텍스처의 액세스 빈도가 기 설정된 값보다 큰지 여부를 판단한다. 판단 결과, 액세스 빈도가 기 설정된 값보다 작은 경우, 단계 665가 수행되고, 액세스 빈도가 기 설정된 값보다 큰 경우, 단계 660이 수행된다.
일 실시예에 따른 렌더링 장치는 요청된 텍스처(texture)에 대한 이전 프레임에서의 액세스 빈도를 카운팅하여 저장할 수 있다.
다른 실시예에 따른 렌더링 장치는 어플리케이션을 최초로 실행할 때에 텍스처의 액세스 횟수를 카운팅 하여 저장할 수 있다. 렌더링 장치는 어플리케이션을 최초로 실행한 때 획득한 카운팅 정보를, 이후 어플리케이션을 실행하는 때 이용할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도에 대한 판단을 사용자 설정에 기초하여 처리할 수 있다.
또 다른 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도에 대한 판단 기준인, 기 설정된 값의 크기를 조정하여, 렌더링을 수행할 수 있다.
단계 665에서 렌더링 장치는 산출된 레벨의 밉맵 이미지를 생성하고, 생성된 밉맵 이미지를 이용하여 렌더링을 수행한다.
일 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도가 작은 경우, 생성된 밉맵 이미지의 사용 빈도가 적으므로, 산출된 레벨의 밉맵 이미지를 생성만 하고 저장하지 않아 메모리 사용량을 줄일 수 있다.
단계 660에서 렌더링 장치는 산출된 레벨의 밉맵 이미지를 생성하고, 생성된 밉맵 이미지를 저장부에 저장한다.
일 실시예에 따른 렌더링 장치는 텍스처 액세스 빈도가 크다고 판단되면, 산출된 레벨의 밉맵 이미지를 생성하여 저장하고, 이후 해당 텍스처에 대한 요청을 수신했을 때 저장된 밉맵 이미지를 렌더링에 사용할 수 있다.
단계 670에서 렌더링 장치는 저장부에 저장된, 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행한다.
따라서, 일 실시예에 따른 렌더링 장치는 밉맵을 이용한 텍스처링 수행 시 색상 변화도 및 액세스 빈도를 모두 고려하여 각각의 상황에 적합한 렌더링을 수행하여, 그래픽 이미지의 품질 저하를 최소화하면서, 메모리 사용량 및 전력 소모를 감소시킬 수 있다.
도 7는 일 실시 예에 따른 렌더링 장치의 구조를 나타내는 블록도이다.
도 7에 도시된 바와 같이, 일 실시예에 따른 렌더링 장치(700)는, 저장부(710), 판단부(720) 및 렌더링부(730)를 포함할 수 있다.
저장부(710)는 텍스처에 대해 기 생성된 일부 레벨의 밉맵 이미지를 저장한다. 저장부(710)는 GPU(130) 내부 메모리 및 외부 메모리를 포함할 수 있다.
일 실시예에 따른 저장부(710)는, 새로 생성된 밉맵 이미지를 저장할 수 있다.
판단부(720)는 텍스처에 대한 요청을 수신하고, 텍스처에 대해 요청되는 밉맵의 레벨을 산출하고, 산출된 레벨의 밉맵 이미지가 저장부(710)에 저장되어 있는지 여부를 판단한다.
일 실시예에 따른 판단부(720)는, 산출된 레벨의 밉맵 이미지가 저장부(710)에 저장되어 있지 않은 경우, 텍스처 이미지의 색상 변화도를 판단할 수 있다.
다른 실시예에 따른 판단부(720)는, 산출된 레벨의 밉맵 이미지가 저장부(710)에 저장되어 있지 않은 경우, 텍스처의 액세스 빈도를 판단할 수 있다.
렌더링부(730)는 판단부(720)에서의 판단 결과에 기초하여, 저장부(710)에 저장된 일부 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행한다.
일 실시예에 따른 렌더링부(730)는, 산출된 레벨의 밉맵 이미지가 저장부(710)에 저장되어 있지 않는 것으로 판단된 경우, 산출된 레벨과 인접한 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행할 수 있다.
다른 실시예에 따른 렌더링부(730)는, 판단부(720)에서 판단된 색상 변화도에 따라, 저장부(710)에 저장된 밉맵 이미지 중 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하거나, 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하거나, 산출된 레벨과 가장 가까운 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하거나, 새로 생성된 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행할 수 있다.
또 다른 실시예에 따른 렌더링부(730)는, 판단부(720)에서 판단된 액세스 빈도에 따라, 저장부(710)에 저장된 밉맵 이미지 중 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하거나, 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하거나, 산출된 레벨과 가장 가까운 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하거나, 새로 생성된 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행할 수 있다.
도 8은 다른 실시 예에 따른 렌더링 장치의 구조를 나타내는 블록도이다.
도 8에 도시된 바와 같이, 다른 실시예에 따른 렌더링 장치(700)는, 저장부(710), 판단부(720), 렌더링부(730) 및 생성부(840)를 포함할 수 있다. 그러나 도시된 구성요소보다 많은 구성요소에 의해 렌더링 장치(700)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 렌더링 장치(700)는 구현될 수 있다.
도 8의 저장부(810), 판단부(820) 및 렌더링부(830)는 도 7에 도시된 저장부(710), 판단부(720) 및 렌더링부(730)와 동일 대응되므로, 도 7에서와 중복되는 설명은 생략한다.
일 실시예에 따른 생성부(840)는 산출된 레벨의 밉맵 이미지가 저장부(710)에 저장되어 있지 않는 것으로 판단된 경우, 산출된 레벨의 밉맵 이미지를 생성할 수 있다.
다른 실시예에 따른 생성부(840)는 판단부(820)에서 텍스처 이미지의 색상 변화도가 기 설정된 값보다 크다고 판단된 경우, 산출된 레벨의 밉맵 이미지를 생성할 수 있다.
또 다른 실시예에 따른 생성부(840)는 판단부(820)에서 액세스 빈도가 기 설정된 값보다 크다고 판단된 경우, 산출된 레벨의 밉맵 이미지를 생성할 수 있다. 또한, 생성부(840)는 판단부(820)에서 액세스 빈도가 기 설정된 값보다 작다고 판단된 경우, 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 산출된 레벨의 밉맵 이미지를 생성할 수 있다.
본 실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(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)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
110: CPU 120: 메모리
130: GPU 140: 디스플레이
700: 렌더링 장치 710, 810: 저장부
720, 820: 판단부 730, 830: 렌더링부
840: 생성부

Claims (19)

  1. 텍스처(texture)에 대해 일부 레벨의 밉맵 이미지를 생성하여 저장부에 저장하는 단계;
    상기 텍스처에 대한 요청을 수신하고, 상기 텍스처에 대해 요청되는 밉맵의 레벨을 산출하는 단계;
    상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있는지 여부를 판단하는 단계; 및
    상기 판단 결과에 기초하여, 상기 저장된 일부 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는 단계를 포함하고,
    상기 렌더링을 수행하는 단계는,
    상기 판단 결과, 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있지 않은 경우, 상기 텍스처의 색상 변화도를 판단하는 단계; 및
    상기 색상 변화도가 기 설정된 값보다 크면, 상기 산출된 레벨의 밉맵 이미지를 생성하고, 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하고,
    상기 색상 변화도가 기 설정된 값보다 작으면, 상기 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 단계를 포함하는 렌더링 방법.
  2. 제1항에 있어서,
    상기 렌더링을 수행하는 단계는,
    상기 판단 결과, 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있지 않은 경우, 상기 산출된 레벨과 인접한 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는 것인, 렌더링 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 렌더링을 수행하는 단계는,
    상기 색상 변화도가 기 설정된 값보다 크면 상기 텍스처의 액세스 빈도를 판단하는 단계; 및
    상기 액세스 빈도가 기 설정된 값보다 크면, 상기 산출된 레벨의 밉맵 이미지를 생성하여 상기 저장부에 저장하고, 상기 저장된 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하며,
    상기 액세스 빈도가 기 설정된 값보다 작으면, 상기 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 상기 산출된 레벨의 밉맵 이미지를 생성하고, 상기 이전 레벨의 밉맵 이미지를 이용하여 생성된 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는 단계를 포함하는, 렌더링 방법.
  7. 삭제
  8. 삭제
  9. 제6항에 있어서,
    상기 액세스 빈도를 판단하는 단계는,
    상기 텍스처(texture)에 대한 이전 프레임에서의 액세스 빈도를 카운팅하는 것인, 렌더링 방법.
  10. 삭제
  11. 삭제
  12. 텍스처(texture)에 대해 기 생성된 일부 레벨의 밉맵 이미지를 저장하는 저장부;
    상기 텍스처에 대한 요청을 수신하고, 상기 텍스처에 대해 요청되는 밉맵의 레벨을 산출하고, 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있는지 여부를 판단하는 판단부; 및
    상기 판단 결과에 기초하여, 상기 저장된 일부 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는 렌더링부; 및
    상기 텍스처의 색상 변화도가 기 설정된 값보다 크면, 상기 산출된 레벨의 밉맵 이미지를 생성하는 생성부를 포함하고,
    상기 판단부는, 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있지 않은 경우, 상기 색상 변화도를 판단하며,
    상기 렌더링부는, 상기 색상 변화도가 기 설정된 값보다 크면, 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하고,
    상기 색상 변화도가 기 설정된 값보다 작으면, 상기 산출된 레벨의 다음 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는, 렌더링 장치.
  13. 제12항에 있어서,
    상기 렌더링부는, 상기 판단 결과, 상기 산출된 레벨의 밉맵 이미지가 상기 저장부에 저장되어 있지 않은 경우, 상기 산출된 레벨과 인접한 레벨의 밉맵 이미지 중 적어도 하나를 이용하여 렌더링을 수행하는, 렌더링 장치.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제12항에 있어서,
    상기 판단부는, 상기 색상 변화도가 기 설정된 값보다 크면 상기 텍스처의 액세스 빈도를 판단하고,
    상기 생성부는, 상기 액세스 빈도가 기 설정된 값보다 크면, 상기 산출된 레벨의 밉맵 이미지를 생성하고, 상기 액세스 빈도가 기 설정된 값보다 작으면, 상기 산출된 레벨의 이전 레벨의 밉맵 이미지를 이용하여 상기 산출된 레벨의 밉맵 이미지를 생성하고,
    상기 저장부는, 상기 액세스 빈도가 기 설정된 값보다 크면, 상기 생성된 밉맵 이미지를 저장하고,
    상기 렌더링부는, 상기 액세스 빈도가 기 설정된 값보다 작으면 상기 이전 레벨의 밉맵 이미지를 이용하여 생성된 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하고, 상기 액세스 빈도가 기 설정된 값보다 크면 상기 저장된 상기 산출된 레벨의 밉맵 이미지를 이용하여 렌더링을 수행하는, 렌더링 장치.
  18. 삭제
  19. 삭제
KR1020140121273A 2014-09-12 2014-09-12 렌더링 방법 및 장치 KR102247565B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140121273A KR102247565B1 (ko) 2014-09-12 2014-09-12 렌더링 방법 및 장치
US14/801,108 US10438317B2 (en) 2014-09-12 2015-07-16 Method and apparatus for rendering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140121273A KR102247565B1 (ko) 2014-09-12 2014-09-12 렌더링 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160031328A KR20160031328A (ko) 2016-03-22
KR102247565B1 true KR102247565B1 (ko) 2021-05-03

Family

ID=55455218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140121273A KR102247565B1 (ko) 2014-09-12 2014-09-12 렌더링 방법 및 장치

Country Status (2)

Country Link
US (1) US10438317B2 (ko)
KR (1) KR102247565B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10460502B2 (en) 2016-12-14 2019-10-29 Samsung Electronics Co., Ltd. Method and apparatus for rendering object using mipmap including plurality of textures
GB2557657B (en) * 2016-12-14 2020-08-12 Samsung Electronics Co Ltd Mipmap rendering
CN107424206B (zh) * 2017-04-14 2020-09-22 苏州蜗牛数字科技股份有限公司 一种利用现实环境影响虚拟场景光影表现的互动方法
US10896525B2 (en) * 2019-05-31 2021-01-19 Apple Inc. Graphics system and method for use of sparse textures
US11010863B2 (en) 2019-09-27 2021-05-18 Apple Inc. Bindpoint emulation
CN111068314B (zh) * 2019-12-06 2023-09-05 珠海金山数字网络科技有限公司 一种基于Unity的NGUI资源渲染处理方法及装置
CN111508051B (zh) * 2020-04-22 2023-03-14 浙江无端科技股份有限公司 一种纹理加载方法及相关装置
US11640699B2 (en) * 2021-08-06 2023-05-02 Meta Platforms Technologies, Llc Temporal approximation of trilinear filtering
CN117221654B (zh) * 2023-11-09 2024-04-30 深圳市达瑞电子科技有限公司 一种基于视频帧分析的视频渲染方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020012002A1 (en) * 1999-12-16 2002-01-31 Tadayuki Ito Image processing method and image processing apparatus using the same
US20080106552A1 (en) * 2006-11-03 2008-05-08 Nvidia Corporation Deferred page faulting in virtual memory based sparse texture representations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304268B1 (en) 1997-06-26 2001-10-16 S3 Graphics Co., Ltd. Trilinear texture filtering of two levels of detail based on a single level of detail
US6654023B1 (en) * 1999-06-02 2003-11-25 Ati International, Srl Method and apparatus for controlling mip map transitions in a video graphics system
GB2403115B (en) 2003-06-17 2006-02-08 Imagination Tech Ltd Texturing 3-dimensional computer graphic images
JP5004717B2 (ja) 2006-08-28 2012-08-22 パナソニック株式会社 描画装置、描画方法、および描画プログラム
KR101508388B1 (ko) 2008-12-15 2015-04-06 엘지전자 주식회사 밉맵 생성 장치 및 방법
CN103080981B (zh) 2010-08-27 2016-03-02 矽锂铬艺术有限公司 选择纹理映射水平的方法及利用该方法的材质贴图系统
US10147202B2 (en) * 2013-03-15 2018-12-04 Arm Limited Methods of and apparatus for encoding and decoding data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020012002A1 (en) * 1999-12-16 2002-01-31 Tadayuki Ito Image processing method and image processing apparatus using the same
US20080106552A1 (en) * 2006-11-03 2008-05-08 Nvidia Corporation Deferred page faulting in virtual memory based sparse texture representations

Also Published As

Publication number Publication date
US20160078637A1 (en) 2016-03-17
US10438317B2 (en) 2019-10-08
KR20160031328A (ko) 2016-03-22

Similar Documents

Publication Publication Date Title
KR102247565B1 (ko) 렌더링 방법 및 장치
US10957078B2 (en) Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
US10535114B2 (en) Controlling multi-pass rendering sequences in a cache tiling architecture
US10885607B2 (en) Storage for foveated rendering
US10096086B2 (en) Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
US10311628B2 (en) Piecewise linear irregular rasterization
JP6342513B2 (ja) 高解像度表示バッファの効果的な構築方法
US10269090B2 (en) Rendering to multi-resolution hierarchies
US10354365B2 (en) Hybrid anti-aliasing
KR102275712B1 (ko) 렌더링 방법, 렌더링 장치 및 전자 장치
CN110140151B (zh) 用于生成光强度图像的装置和方法
US10121221B2 (en) Method and apparatus to accelerate rendering of graphics images
CN106030652B (zh) 提供输出面的方法、系统和合成显示控制器及计算机介质
CN109035383B (zh) 一种体积云的绘制方法、装置及计算机可读存储介质
KR102503210B1 (ko) 텍스처 필터링하는 방법 및 이를 위한 장치
US20190035049A1 (en) Dithered variable rate shading
JP2022543729A (ja) フォービエイテッドレンダリングのためのシステムおよび方法
US20180165787A1 (en) Techniques for tiling compute work with graphics work
CN114450717A (zh) 用于增强现实应用的遮挡和碰撞检测
US9881392B2 (en) Mipmap generation method and apparatus
KR102589298B1 (ko) 그래픽스 프로세싱 장치 및, 그래픽스 프로세싱 장치에서 캐시 바이패스를 제어하는 방법
JP7460641B2 (ja) 光強度画像を生成するための装置及び方法
US11030791B2 (en) Centroid selection for variable rate shading
US9741155B2 (en) Apparatus and method for tile-based graphic data rendering
US20200118244A1 (en) Data processing systems

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
GRNT Written decision to grant