KR20160032597A - 텍스쳐를 처리하는 방법 및 장치 - Google Patents

텍스쳐를 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20160032597A
KR20160032597A KR1020140122941A KR20140122941A KR20160032597A KR 20160032597 A KR20160032597 A KR 20160032597A KR 1020140122941 A KR1020140122941 A KR 1020140122941A KR 20140122941 A KR20140122941 A KR 20140122941A KR 20160032597 A KR20160032597 A KR 20160032597A
Authority
KR
South Korea
Prior art keywords
texture
texels
cache
texel
texel values
Prior art date
Application number
KR1020140122941A
Other languages
English (en)
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 KR1020140122941A priority Critical patent/KR20160032597A/ko
Priority to US14/677,536 priority patent/US20160078666A1/en
Priority to EP15166431.5A priority patent/EP2998938A1/en
Priority to JP2015140265A priority patent/JP2016062594A/ja
Priority to CN201510425195.9A priority patent/CN106204709A/zh
Publication of KR20160032597A publication Critical patent/KR20160032597A/ko

Links

Images

Classifications

    • 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
    • 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/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • 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)

Abstract

텍스쳐의 주파수 정보에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 조절하여, 텍스쳐를 처리하는 방법 및 장치를 개시한다.

Description

텍스쳐를 처리하는 방법 및 장치{Method and apparatus for processing texture}
프레임을 구성하는 픽셀들에 맵핑되는 텍스쳐(texture)를 처리하는 방법 및 장치에 관한 것이다.
3차원 그래픽스 API(Application Program Interface) 표준들로는 OpenGL, OpenGL ES 또는 Direct 3 등이 있다. API 표준들은 3차원 그래픽스의 각 프레임에 대한 렌더링(rendering)을 수행하고, 영상을 표시하는 방법을 포함한다. 3차원 그래픽스의 각 프레임에 대한 렌더링을 수행할 때, 많은 연산이 수행되며, 많은 전력이 소모된다. 따라서, 렌더링을 수행할 때, 연산량을 줄이고, 그래픽 처리 장치의 외부의 메모리에 접속(access)하는 횟수를 줄일 필요가 있다.
텍스쳐의 주파수 정보에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 조절하여, 텍스쳐를 처리하는 방법 및 장치를 제공하는 것이다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
제 1 측면에 따른 프레임을 구성하는 픽셀들에 맵핑되는 텍스쳐(texture)를 처리하는 방법은, 픽셀 어드레스에 대응되는 텍스쳐 어드레스 및 텍스쳐의 주파수 정보를 획득하는 단계, 상기 텍스쳐의 주파수 정보에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 결정하는 단계, 상기 텍스쳐 어드레스에 기초하여, 상기 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 단계, 및 상기 독출된 텍셀 값들을 이용하여, 텍스쳐 필터링을 수행하는 단계를 포함한다.
또한, 상기 텍셀 개수를 결정하는 단계는, 상기 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정할 수 있다.
또한, 상기 텍셀 값들을 독출하는 단계는, 상기 텍스쳐 어드레스에 기초하여, 텍스쳐 캐쉬에 저장된 텍스쳐의 텍셀 값들을 요청받는 단계, 상기 텍스쳐 캐쉬에서, 상기 요청받은 텍셀 값들에 대한 캐쉬 히트를 판단하는 단계, 및 상기 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 상기 최소의 텍셀 개수의 비교 결과에 따라, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송하는 단계를 포함할 수 있다.
또한, 상기 요청받는 단계는, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 요청받을 수 있다.
또한, 상기 전송하는 단계는, 상기 텍스쳐 필터링에 이용되는 상기 최소의 텍셀 개수보다 캐쉬 히트 개수가 작은 경우, 캐쉬 미스 개수에 해당하는 텍셀 값들을 외부 메모리에 요청하는 단계, 및 상기 캐쉬 히트된 텍셀 값들에 상기 외부 메모리로부터 수신한, 적어도 하나의 텍셀 값을 보충하여, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 동시에 전송하는 단계를 포함할 수 있다.
또한, 상기 전송하는 단계는, 상기 텍스쳐 필터링에 이용되는 상기 최소의 텍셀 개수보다 캐쉬 히트 개수가 크거나 같은 경우, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송할 수 있다.
또한, 상기 텍셀 값들을 독출하는 단계는, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송한 후, 캐쉬 미스 개수에 해당하는 적어도 하나의 텍셀 값을 외부 메모리에 요청하는 단계, 및 상기 외부 메모리로부터 수신한, 상기 적어도 하나의 텍셀 값을 상기 텍스쳐 캐쉬에 저장하는 단계를 더 포함할 수 있다.
또한, 상기 텍셀 개수를 결정하는 단계는, 상기 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 높은 고주파(high frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수를 결정할 수 있다.
또한, 상기 텍스쳐의 주파수 정보는 압축된 텍스쳐의 헤더 파일로부터 추출된 정보에 기초할 수 있다.
제 2 측면에 따른 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체는 상기 텍스쳐를 처리하는 방법을 컴퓨터에서 실행시키기 위한 프로그램으로 기록한다.
제 3 측면에 따른 프레임을 구성하는 픽셀들에 맵핑되는 텍스쳐(texture)를 처리하는 장치는, 픽셀 어드레스에 대응되는 텍스쳐 어드레스 및 텍스쳐의 주파수 정보를 획득하고, 상기 텍스쳐의 주파수 정보에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 결정하는 제어부, 상기 텍스쳐 어드레스에 기초하여, 상기 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 텍스쳐 캐쉬, 및 상기 독출된 텍셀 값들을 이용하여, 텍스쳐 필터링을 수행하는 텍스쳐 필터를 포함한다.
또한, 상기 제어부는, 상기 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정할 수 있다.
또한, 상기 텍스쳐 캐쉬는, 상기 텍스쳐 어드레스에 기초하여, 상기 텍스쳐 캐쉬에 저장된 텍스쳐의 텍셀 값들을 요청받고, 상기 요청받은 텍셀 값들에 대한 캐쉬 히트를 판단하며, 상기 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 상기 최소의 텍셀 개수의 비교 결과에 따라, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송할 수 있다.
또한, 상기 텍스쳐 캐쉬는, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 요청받는, 텍스쳐를 처리할 수 있다.
또한, 상기 텍스쳐 캐쉬는, 상기 텍스쳐 필터링에 이용되는 상기 최소의 텍셀 개수보다 캐쉬 히트 개수가 작은 경우, 캐쉬 미스 개수에 해당하는 텍셀 값들을 외부 메모리에 요청하고,상기 캐쉬 히트된 텍셀 값들에 상기 외부 메모리로부터 수신한, 적어도 하나의 텍셀 값을 보충하여, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 동시에 전송할 수 있다.
또한, 상기 텍스쳐 캐쉬는, 상기 텍스쳐 필터링에 이용되는 상기 최소의 텍셀 개수보다 캐쉬 히트 개수가 크거나 같은 경우, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송할 수 있다.
또한, 상기 텍스쳐 캐쉬는, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송한 후, 캐쉬 미스 개수에 해당하는 적어도 하나의 텍셀 값을 외부 메모리에 요청하고, 상기 외부 메모리로부터 수신한, 상기 적어도 하나의 텍셀 값을 저장할 수 있다.
또한, 상기 제어부는, 상기 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 높은 고주파(high frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수를 결정할 수 있다.
또한, 외부 메모리로부터 수신되는 압축된 텍스쳐를 압축 해제하는 디컴프레서를 더 포함하고, 상기 제어부는, 상기 압축된 텍스쳐의 헤더 파일로부터 추출된 정보에 기초하여 결정된, 상기 텍스쳐의 주파수 정보를 상기 디컴프레서로부터 획득하는, 텍스쳐를 처리할 수 있다.
또한, 상기 텍스쳐의 주파수 정보는 상기 헤더 파일로부터 추출된, 상기 압축된 텍스쳐의 압축율 정보에 기초하여 결정될 수 있다.
텍스쳐 처리에 소요되는 시간을 단축함으로써 그래픽 처리에 소요되는 시간을 단축시킬 수 있다.
도 1은 일 실시예에 따른 그래픽 처리 장치(Graphic Processing Unit, GPU)를 나타낸 도면이다.
도 2는 그래픽 처리 장치에서 3차원 그래픽스를 처리하는 과정을 설명하는 도면이다.
도 3은 일 실시예에 따른 그래픽 처리 장치에 포함되는 텍스쳐 처리 장치의 구성을 나타낸 블록도이다.
도 4는 일 실시예에 따른 텍스쳐 처리 장치의 동작을 설명하기 위한 도면이다.
도 5는 다른 실시예에 따른 텍스쳐 처리 장치의 동작을 설명하기 위한 도면이다.
도 6은 또 다른 실시예에 따른 텍스쳐 처리 장치의 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 텍스쳐 처리 방법을 설명하기 위한 흐름도이다.
도 8은 일 실시예에 따른 텍스쳐 처리 방법에서, 텍스쳐 필터링에 이용되는 텍셀 개수를 결정하는 단계에 대한 상세 흐름도이다.
도 9는 일 실시예에 따른 텍스쳐 처리 방법에서, 저주파의 텍스쳐인 경우, 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 단계에 대한 상세 흐름도이다.
도 10은 캐쉬 히트 개수와 최소의 텍셀 개수의 비교 결과에 따라, 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송하는 단계에 대한 상세 흐름도이다.
도 11은 일 실시예에 따른 텍스쳐 처리 방법에서, 고주파의 텍스쳐인 경우, 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 단계에 대한 상세 흐름도이다.
도 12는 캐쉬 히트 개수와 최대의 텍셀 개수의 비교 결과에 따라, 최대의 텍셀 개수에 해당하는 텍셀 값들을 전송하는 단계에 대한 상세 흐름도이다.
이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예에 의해 발명을 상세히 설명하기로 한다. 하기 실시예는 발명을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 발명이 속하는 기술분야의 전문가가 용이하게 유추할 수 있는 것은 발명의 권리범위에 속하는 것으로 해석된다.
본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 도는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 실시예들은 텍스쳐를 처리하는 방법 및 장치에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
도 1은 일 실시예에 따른 그래픽 처리 장치(Graphic Processing Unit, GPU)(100)를 나타낸 도면이다. 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 관련 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
도 1을 참조하면, 그래픽 처리 장치(100)는 래스터라이저(rasterizor)(110), 쉐이더-코어(shader-cor)(120), 텍스쳐 처리 장치(Texture processing unit)(130), 픽셀 처리 장치(Pixel processing unit)(140), 타일 버퍼(Tile buffer)(150) 등을 포함할 수 있다. 그래픽 처리 장치(100)는 버스(BUS)(200)를 통하여 외부의 메모리(200)와 데이터를 송수신할 수 있다.
도 1에 도시된 그래픽 처리 장치(100)는 3차원 그래픽스를 처리하는 장치로서, 도 1에 도시된 바와 같이, 타일에 기초한 렌더링(Tile based rendering, TBR) 방식을 사용할 수 있다. 다시 말해서, 그래픽 처리 장치(100)는 하나의 프레임에 해당하는 3차원 그래픽스를 생성하기 위해서, 일정한 크기로 분할된 복수 개의 타일들을 래스터라이저(110), 쉐이더-코어(120), 픽셀 처리 장치(140)를 거치도록 하여, 처리 결과를 타일 버퍼(150)에 저장할 수 있다. 그래픽 처리 장치(100)는 모든 타일들에 대해서, 래스터라이저(110), 쉐이더-코어(120), 및 픽셀 처리 장치(140)로 구성되는 채널을 복수 개 이용하여, 병렬 처리할 수 있다. 그래픽 처리 장치(100)는 하나의 프레임에 해당하는 복수 개의 타일들이 처리되면, 타일 버퍼(150)에 저장된 처리 결과를 메모리(200)의 프레임 버퍼(미도시)로 전송할 수 있다.
쉐이더-코어(120)는 픽셀 쉐이더(pixel shader)를 포함할 수 있다. 쉐이더-코어(120)는 버텍스 쉐이더(vertex shader)를 더 포함한 형태이거나, 버텍스 쉐이더와 픽셀 쉐이더가 통합된 형태의 통합 쉐이더일 수도 있다. 쉐이더-코어(120)가 버텍스 쉐이더의 기능을 수행할 수 있는 경우, 오브젝트를 나타내는 프리미티브(primitive)를 생성하여 래스터라이저(110)에 전달할 수 있다. 또한, 쉐이더-코어(120)는 래스터라이저(110)로부터 래스터화(rasterization)된 프리미티브를 전달받아, 픽셀 쉐이딩을 수행할 수 있다.
래스터라이저(110)는 기하 변환 과정을 거쳐 버텍스 쉐이더로부터 생성된 프리미티브에 대해 래스터화를 수행할 수 있다.
쉐이더-코어(120)는 래스터화(rasterization)를 거쳐 생성된 프리미티브의 프레그먼트들을 포함하는 타일을 구성하는 모든 픽셀들의 색상을 결정하는 픽셀 쉐이딩을 수행할 수 있다. 쉐이더-코어(120)는 픽셀 쉐이딩 과정에서 입체적이고 현실감있는 3차원 그래픽스를 생성하기 위해 텍스쳐를 이용하여 생성된 픽셀 값을 사용할 수 있다.
쉐이더-코어(120)가 원하는 픽셀에 대응되는 픽셀 값을 전달해 줄 것을 텍스쳐 처리 장치(130)에 요청하면, 텍스쳐 처리 장치(130)는 미리 준비된 텍스쳐를 처리하여 생성된 픽셀 값을 전달해 줄 수 있다. 이때, 텍스쳐는 텍스쳐 처리 장치(130) 내의 소정의 공간 또는 그래픽 처리 장치(100) 외부의 메모리(200)에 저장되어 있을 수 있다. 텍스쳐 처리 장치(130)는 쉐이더-코어(120)에서 요청한 픽셀 값을 생성하는데 이용되는 텍스쳐가 텍스쳐 처리 장치(130) 내의 소정의 공간에 없는 경우, 메모리(200)로부터 텍스쳐를 가져와 사용할 수 있다.
픽셀 처리 장치(140)는 하나의 타일 내의 같은 위치에 대응되는 픽셀들에 대하여, 깊이 테스트 등과 같은 과정을 거쳐, 최종적으로 표시될 픽셀 값을 결정하여 하나의 타일에 해당하는 모든 픽셀 값들을 결정할 수 있다.
타일 버퍼(150)는 픽셀 처리 장치(140)로부터 전달된 하나의 타일에 해당하는 모든 픽셀 값들을 저장할 수 있다. 하나의 프레임을 구성하는 모든 타일들에 대한 그래픽 처리 과정이 완료되면, 타일 버퍼(150)에 저장된 처리 결과가 메모리(200)의 프레임 버퍼로 전달될 수 있다.
이하, 도 2를 참고하여, 3차원 그래픽스를 처리하는 과정에 대하여 보다 상세하게 설명한다.
도 2는 그래픽 처리 장치(100)에서 3차원 그래픽스를 처리하는 과정을 설명하는 도면이다.
도 2를 참조하면, 단계 11 내지 단계 17을 통해 3차원 그래픽스를 처리하는 과정을 나타낸다. 3차원 그래픽스를 처리하는 과정은 크게 기하변환, 래스터화, 픽셀 쉐이딩의 3단계로 나눌 수 있으며, 보다 세부적인 과정으로 나누어, 이하 설명한다.
단계 11은 버텍스들(vertices)을 생성하는 단계이다. 버텍스들은 3차원 그래픽스에 포함된 오브젝트(object)들을 나타내기 위해 생성된다.
단계 12는 생성된 버텍스들을 쉐이딩(shading)하는 단계이다. 버텍스 쉐이더(vertex shader)는 단계 11에서 생성된 버텍스들의 위치를 지정함으로써, 버텍스들에 대한 쉐이딩을 수행할 수 있다.
단계 13은 프리미티브들(primitives)을 생성하는 단계이다. 프리미티브는 적어도 하나의 버텍스를 이용하여 형성되는 점, 선, 다각형(polygon)등을 의미한다. 일 예로서, 프리미티는 버텍스들을 연결하여 형성된 삼각형으로 나타낼 수도 있다.
단계 14는 프리미티브를 래스터화(rasterization)하는 단계이다. 프리미티브를 래스터화하는 것은 프리미티브를 프레그먼트들(fragments)로 분할하는 것을 의미한다. 프레그먼트는 프리미티브에 대해 그래픽 처리를 수행하기 위한 기본 단위일 수 있다. 프리미티브는 버텍스에 대한 정보만을 포함하므로, 래스터화 단계에서 버텍스와 버텍스 사이의 프레그먼트들을 생성함으로써, 3차원 그래픽스에 대한 그래픽 처리를 수행할 수 있도록 한다.
단계 15는 픽셀을 쉐이딩하는 단계를 나타낸다. 래스터화에 의해 생성된, 프리미티브를 구성하는 프레그먼트들은 타일을 구성하는 픽셀들이 될 수 있다. 당해 분야에서, 프레그먼트와 픽셀이란 용어는 경우에 따라 혼용해서 사용되기도 한다. 예를 들어, 픽셀 쉐이더는 프레그먼트 쉐이더라고 부를 수 있다. 일반적으로, 프리미티브를 구성하는 그래픽 처리의 기본 단위를 프레그먼트라고 부르고, 이후, 픽셀 쉐이딩부터의 그래픽 처리의 기본 단위를 픽셀이라 부를 수 있다. 픽셀 쉐이딩에서는 픽셀의 색을 결정할 수 있다.
단계 16은 픽셀의 색을 결정하기 위한 텍스쳐링(texturing) 단계를 나타낸다. 텍스쳐링은 픽셀의 색을 결정할 때, 미리 준비된 이미지 즉, 텍스쳐(texture)를 이용하여 픽셀의 색을 결정하는 과정이다. 실세계의 다양한 색상과 패턴의 모습을 표현하기 위해서 각각의 픽셀의 색상을 계산하여 결정하는 것은 그래픽 처리에 필요한 데이터 량과 그래픽 처리 시간을 매우 증가시키므로, 미리 준비된 텍스쳐를 이용하여 픽셀의 색상을 결정하는 것이다. 예를 들어, 오브젝트의 표면 색상을 텍스쳐라는 별도의 2차원 영상으로 저장하고, 오브젝트의 화면상의 위치 및 크기 등에 따라 저장된 텍스쳐를 확대 및 축소하거나, 다양한 해상도를 갖는 텍스쳐들을 이용하여 텍셀 값들을 혼합함으로써, 픽셀의 색상을 결정할 수 있다.
단계 17은 테스트 및 믹싱(testing and mixing) 단계를 나타낸다. 타일 내의 같은 위치에 대응되는 픽셀들에 대하여, 깊이 테스트 등과 같은 과정을 거쳐, 최종적으로 표시될 픽셀 값을 결정하여 하나의 타일에 해당하는 픽셀 값들을 결정할 수 있다. 이와 같은 과정을 거쳐 생성된 복수 개의 타일들을 믹싱하여, 하나의 프레임에 해당하는 3차원 그래픽스를 생성할 수 있다.
단계 18은 11 내지 단계 17을 통해 생성된 프레임을 프레임 버퍼에 저장하고, 프레임 버퍼에 저장된 프레임을 디스플레이 장치를 통해 표시하는 단계를 나타낸다.
픽셀 쉐이딩 과정에서 더욱 빠른 3차원 그래픽스 처리를 위해, 미리 준비된 텍스쳐를 이용하여 생성된 픽셀 값을 사용할 수 있음을 앞서, 설명한 바 있다. 이때, 오브젝트의 크기에 적응적으로 대응할 수 있도록, 서로 다른 해상도를 가지는 복수 개의 텍스쳐들을 미리 준비해놓고, 이들을 조합하여 픽셀 값을 생성할 수도 있다. 이때, 서로 다른 해상도를 가지는, 미리 준비된 텍스쳐를 밉맵(mipmap)이라고 한다. 예를 들어, 미리 준비된 두 개의 밉맵들의 중간 해상도를 가지는 오브젝트의 픽셀 값들을 생성하기 위해서, 두 개의 밉맵들로부터 오브젝트에 대응되는 위치의 텍셀(texel) 값들을 추출하여 이들을 필터링함으로써, 오브젝트를 구성하는 픽셀 값들을 생성할 수 있다.
다만, 텍스쳐 처리 장치(130) 내의 소정의 공간에 다양한 오브젝트들에 대한 모든 텍스쳐 및 각 텍스쳐에 대응되는 밉맵들을 저장하는 것은 불가능하므로, 텍스쳐 처리 장치(130) 내의 소정의 공간에 저장되어 있지 않은 텍스쳐가 필요한 경우 그래픽 처리 장치(100) 외부의 메모리(200)에 접근이 필요하며, 더욱이, 텍스쳐 밉맵을 이용한 텍스쳐 처리에 있어서, 텍스쳐 필터링에 이용되는 텍셀의 개수가 증가되는 경우, 메모리(200)에 접근 빈도를 높임으로써, 신속한 그래픽 처리가 어려운 문제가 생길 수 있다.
이하, 텍스쳐 밉맵을 이용한 텍스쳐 처리에 있어서, 텍스쳐 필터링에 이용되는 텍셀의 개수를 텍스쳐의 종류에 따라 달리하여, 그래픽 처리 장치(100) 외부의 메모리(200)로의 접근 빈도를 낮춤으로써, 신속한 그래픽 처리를 수행할 수 있는 텍스쳐 처리 방법 및 장치에 대하여 살펴본다.
도 3은 일 실시예에 따른 그래픽 처리 장치(100)에 포함되는 텍스쳐 처리 장치(130)의 구성을 나타낸 블록도이다.
도 3을 참고하면, 텍스쳐 처리 장치(130)는 제어부(131), 디컴프레서(133), 텍스쳐 캐쉬(135), 텍스쳐 필터(137)를 포함할 수 있다.
디컴프레서(133)는 텍스쳐 처리 장치(130)가 그래픽 처리 장치(100)의 외부의 메모리(200)로부터 압축된 형태의 텍스쳐를 수신하는 경우, 압축 해제를 수행할 수 있다. 압축 해제된 텍스쳐는 텍스쳐 캐쉬(135)에 저장될 수 있다.
텍스쳐 캐쉬(135)는 그래픽 처리 과정에서 이용된 텍스쳐를 저장할 수 있으며, 하나의 텍스쳐에 대한 다양한 해상도의 밉맵을 저장할 수도 있다. 텍스쳐 캐쉬(135)는 쉐이더-코어(120)에서 요청한 픽셀 값을 처리하는데 필요한 텍셀 값들을 추출하여, 텍스쳐 필터(137)로 전송할 수 있다.
텍스쳐 필터(137)는 텍스쳐 캐쉬(135)로부터 전송된 텍셀 값들을 필터링하여 하나의 픽셀 값을 생성할 수 있다. 텍셀 값들을 필터링(filtering)한다는 것은 텍셀 값들을 혼합하여 픽셀에 대응되는 컬러값을 구하는 것을 의미한다. 예를 들어, 픽셀 어드레스로부터 변환된 텍스쳐 어드레스가 포함되는 텍스쳐 공간상의 일부 영역에 포함된 텍셀 값들의 평균을 구함으로써, 픽셀에 대응되는 컬러값을 구할 수 있다. 텍스쳐 필터(137)에서 생성된 픽셀 값은 소정의 연산 과정을 거친 필터링된 텍셀 값으로서, 쉐이더-코어(120)의 픽셀 값 요청에 대한 응답으로, 쉐이더-코어(120)로 전송될 수 있다.
제어부(131)는 텍스쳐 처리 장치(130)를 제어하기 위해 필요한 연산을 수행하거나, 디컴프레서(133), 텍스쳐 캐쉬(135), 텍스쳐 필터(137)를 제어하여, 텍스쳐 처리 장치(130)의 전반적인 제어를 담당할 수 있다.
제어부(131)는 쉐이더-코어(120)에서 처리하고자 하는 픽셀의 픽셀 어드레스에 대응되는 텍스쳐 어드레스를 쉐이더-코어(120)로부터 수신함으로써, 쉐이더-코어(120)에서 처리하고자 하는 픽셀에 대한 픽셀 값 요청을 받을 수 있다. 제어부(131)는 이와 같은 요청에 대한 응답으로, 생성된 픽셀 값을 쉐이더-코어(120)로 전송하기 위해, 텍스쳐 처리 장치(130)를 제어하여 텍스쳐 밉맵을 이용한 텍스쳐 처리를 수행할 수 있다.
제어부(131)는 텍스쳐 밉맵을 이용한 텍스쳐 처리를 수행하기 위해, 쉐이더-코어(120)에서 처리하고자 하는 픽셀에 대응되는 텍스쳐의 주파수 정보를 획득할 수 있다. 텍스쳐의 주파수 정보에 따라, 쉐이더-코어(120)로부터 요청된 픽셀 값을 생성하기 위한 텍스쳐 처리의 수준을 결정하기 위함이다. 이때, 텍스쳐의 주파수 정보는 텍스쳐를 구성하는 텍셀들의 텍셀 값의 변화율을 나타낼 수 있다. 텍스쳐의 공간 주파수가 낮다는 것은 텍셀 값의 변화율이 낮다는 것을 의미하고, 이는 텍스쳐를 구성하는 인접한 텍셀들이 같거나 매우 유사한 텍셀 값을 가짐을 의미한다. 다시 말해, 텍스쳐의 공간 주파수가 낮다는 것은 텍스쳐의 공간적 상관도가 높은 상태 또는 텍스쳐가 평활한 상태라고 말할 수 있다.
쉐이더-코어(120)로부터 요청된 픽셀 값을 생성하기 위하여, 텍스쳐 처리 장치(130)는 텍스쳐 밉맵에서 복수 개의 텍셀 값들을 추출하여 사용하는데, 저주파의 텍스쳐라면 텍셀 값의 변화율이 낮다는 의미이므로, 요청된 픽셀 값을 생성하기 위해 원칙적으로 텍스쳐 필터링에 이용되어야 하는 모든 텍셀 값들을 사용하지 않더라도, 요청된 픽셀 값에 매우 근사한 픽셀 값을 생성해낼 수 있다. 반면, 고주파의 텍스쳐라면 텍셀 값의 변화율이 높다는 의미이므로, 요청된 픽셀 값을 생성하기 위해 원칙적으로 텍스쳐 필터링에 이용되어야 하는 모든 텍셀 값들을 사용하지 않는다면 요청된 픽셀 값과 오차가 있는 픽셀 값을 생성할 수 있다. 따라서, 고주파의 텍스쳐인 경우에는 요청된 픽셀 값을 생성하기 위해, 원칙적으로 텍스쳐 필터링에 이용되어야 하는 모든 텍셀 값들을 확보한 후에 텍스쳐 필터링을 수행함으로써, 요청된 픽셀 값에 해당하는 픽셀 값을 생성할 수 있다. 이때, 원칙적으로 텍스쳐 필터링에 이용되어야 하는 모든 텍셀 값들의 개수는 텍스쳐 필터링 방식에 따라 정해질 수 있다.
제어부(131)는 외부 메모리(200)로부터 수신되는 압축된 텍스쳐를 압축 해제하는 디컴프레서(133)로부터 텍스쳐의 주파수 정보를 획득할 수 있다. 디컴프레서(133)는 압축된 텍스쳐의 헤더 파일로부터 추출된 정보에 기초하여 텍스쳐의 주파수 정보를 결정할 수 있고, 결정된 텍스쳐의 주파수 정보를 제어부(131)로 전송할 수 있다.
한편, 텍스쳐의 주파수 정보는 텍스쳐의 압축율 정보에 기초하여 판단될 수 있다. 예를 들어, 텍스쳐의 압축율이 높은 경우, 텍스쳐의 공간 주파수는 낮고, 텍스쳐의 압축율이 낮은 경우, 텍스쳐의 공간 주파수는 높을 수 있다. 텍스쳐의 주파수 정보는 저주파인지 고주파인지 구분하는 소정의 기준과 텍스쳐의 압축율을 비교하여 결정될 수 있다. 이때, 텍스쳐의 주파수 정보가 저주파인지 고주파인지 구분하는 소정의 기준은 적어도 하나가 될 수 있으며, 소정의 기준이 복수 개인 경우, 텍스쳐의 주파수 정보의 형태를 더욱 세분화하여 픽셀 값의 근사화 수준을 결정할 수도 있다.
제어부(131)는 텍스쳐의 주파수 정보를 획득함으로써, 텍스쳐를 처리하는 수준을 결정할 수 있다. 제어부(131)는 텍스쳐의 주파수 정보에 따라, 쉐이더-코어(120)로부터 요청된 픽셀 값을 근사화하여 계산할지, 정확하게 계산할지 결정할 수 있다. 구체적으로, 제어부(131)는 텍스쳐의 주파수 정보에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 결정할 수 있다. 저주파의 텍스쳐인 경우에는 텍스쳐 필터링에 이용되는 텍셀 개수를 최소화함으로써, 캐쉬 미스(cache miss)의 횟수 또는 그래픽 처리 장치(100)의 외부 메모리(200)의 접근 빈도를 낮추어, 그래픽 처리의 시간을 단축시킬 수 있다.
일반적으로, 텍스쳐 필터링 방식에 따라 픽셀 값을 구하는데 이용되는 텍셀들의 개수가 정해지나, 본 실시예들에서는 더 나아가, 텍스쳐의 주파수 정보에 따라 텍스쳐 필터링에 이용되는 텍셀들의 개수가 결정될 수 있다.
예를 들어, 트라이리니어(tri-linear) 필터링 방식의 경우, 텍스쳐 처리 장치(130)는 하나의 픽셀 값을 구하기 위해 8개 텍셀 값을 이용하여 텍스쳐 필터링을 수행할 수 있으나, 저주파의 텍스쳐인 경우, 8개 보다 작은 개수의 텍셀들을 이용하여 텍스쳐 필터링을 수행할 수 있다. 다시 말해, 텍스쳐가 저주파인 경우, 텍셀 값의 변화율이 낮아, 텍스쳐 처리 장치(130)는 쉐이더-코어(120)로부터 요청된 픽셀 값을 구하는데 이용되는 텍셀들의 기본 개수보다 적은 개수의 텍셀들을 이용하여 텍스쳐 필터링을 수행하더라도, 요청된 픽셀 값에 매우 근사한 픽셀 값을 생성하여 쉐이더-코어(120)로 전송할 수 있다. 제어부(131)는 저주파의 텍스쳐에 대해서, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정하고, 결정된 최소의 텍셀 개수에 해당하는 픽셀 값들만을 이용하여, 그래픽 처리 시간의 단축을 극대화할 수 있다. 텍스쳐 필터링에 이용되는 최소의 텍셀 개수는 수행되는 텍스쳐 필터링 방식에 따라 달리 결정될 수 있으며, 사전에 미리 정해진 값으로 결정될 수도 있다.
반면, 텍스쳐가 고주파인 경우, 텍셀 값의 변화율이 높기 때문에, 텍스쳐 처리 장치(130)는 쉐이더-코어(120)로부터 요청된 픽셀 값을 구하기 위해, 텍스쳐 필터링 방식에 따라 정해진 개수만큼의 텍셀들을 이용하여 텍스쳐 필터링을 수행할 수 있다. 텍스쳐 처리 장치(130)는 쉐이더-코어(120)로부터 요청된 픽셀 값에 해당하는 픽셀 값을 이와 같은 방식으로 생성하여 쉐이더-코어(120)로 전송할 수 있다. 제어부(131)는 고주파의 텍스쳐에 대해서, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수를 결정하고, 결정된 최대의 텍셀 개수에 해당하는 텍셀 값들을 이용하여, 픽셀 값의 정확도를 유지할 수 있다. 즉, 고주파의 텍스쳐일 때, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수는 텍스쳐 필터링 방식에 따라 정해진 텍셀들의 개수와 같을 수 있다.
이하, 텍스쳐 처리 장치(130)에서 프레임을 구성하는 픽셀들에 맵핑되는 텍스쳐를 처리함에 있어서, 특히, 텍스쳐 필터링에 이용되는 텍스쳐가 저주파의 텍스쳐인 경우, 텍스쳐 처리 장치(130)의 동작을 도 4 내지 도 6을 참고하여 구체적으로 설명한다.
도 4는 일 실시예에 따른 텍스쳐 처리 장치(130)의 동작을 설명하기 위한 도면이다. 설명의 편의상, 텍스쳐 필터(137)에서 수행하는 텍스쳐 필터링 방식이 트라이리니어(tri-linear) 필터링 방식임을 전제하나, 이에 한정되는 것이 아님은 물론이다.
텍스쳐 처리 장치(130)는 쉐이더-코어(120)로부터 쉐이더-코어(120)에서 처리하고자 하는 픽셀의 픽셀 어드레스에 대응되는 텍셀 어드레스를 수신함으로써, 쉐이더-코어(120)에서 처리하고자 하는 픽셀에 대한 텍스쳐 처리를 요청받을 수 있다.
텍스쳐 처리 장치(130)의 제어부(131)는 쉐이더-코어(120)로부터 요청된 픽셀 값을 구하기 위해, 쉐이더-코어(120)에서 처리하고자 하는 픽셀에 대응되는 텍스쳐의 주파수 정보를 획득할 수 있다. 이때, 획득한 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는 경우, 제어부(131)는 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정할 수 있다. 도 4에 도시된 바와 같이, 결정된 최소의 텍셀 개수가 6인 경우, 제어부(131)는 결정된 최소의 텍셀 개수가 6임을 텍스쳐 캐쉬(135)에 알려줄 수 있다. 또한, 제어부(131)는 결정된 최소의 텍셀 개수에 대한 정보를 텍스쳐 필터(137)로도 전송할 수 있다.
텍스쳐 처리 장치(130)의 제어부(131)는 텍스쳐 필터(137)에서 트라이리니어(tri-linear) 필터링 방식에 따라 텍스쳐 필터링을 수행하는 경우, 하나의 픽셀 값을 구하기 위해 8개 텍셀 값을 이용하므로, 8개에 해당하는 텍셀 값을 텍스쳐 캐쉬(135)에 요청할 수 있다. 예를 들어, 제어부(131)는 쉐이더-코어(120)로부터 수신한 텍스쳐 어드레스를 이용하여 계산한, 적어도 하나의 텍스쳐 밉맵 공간상의 일부 영역에 포함된 텍셀 값들을 텍스쳐 캐쉬(135)에 요청할 수 있다.
텍스쳐 캐쉬(135)는 제어부(131)에서 결정된 텍셀의 개수에 해당하는 텍셀 값들을 독출할 수 있다. 텍스쳐 캐쉬(135)는 제어부(131)로부터 요청받은 텍셀 값들에 대하여, 요청된 텍셀 값이 텍스쳐 캐쉬(135)에 저장되어 있는지 여부를 확인하여, 캐쉬 히트(cache hit) 및/또는 캐쉬 미스(cache miss)를 판단하며, 제어부(131)로부터 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 제어부(131)로부터 수신한 최소의 텍셀 개수의 비교 결과에 따라, 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송할 수 있다. 텍스쳐 캐쉬(135)는 텍스쳐 필터링에 이용되는 최소의 텍셀 개수보다 캐쉬 히트 개수가 작은 경우, 캐쉬 미스 개수에 해당하는 텍셀 값들을 외부 메모리(200)에 요청하고, 캐쉬 히트된 텍셀 값들에 외부 메모리(200)로부터 수신한, 적어도 하나의 텍셀 값을 보충하여, 최소의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)에 동시에 전송할 수 있다.
도 4에 도시된 바와 같이, 제어부(131)로부터 요청된 8개의 텍셀 값들 중 5개의 텍셀 값들에 대해서만 캐쉬 히트가 발생한 경우, 앞서, 제어부(131)에서 결정한 최소의 텍셀 개수인 6보다 캐쉬 히트 개수가 작으므로, 텍스쳐 캐쉬(135)는 캐쉬 미스 개수에 해당하는 3개의 텍셀 값들을 외부 메모리(200)에 요청할 수 있다. 텍스쳐 캐쉬(135)는 외부 메모리(200)로부터 캐쉬 미스 개수에 해당하는 3개의 텍셀 값들을 수신하여, 이 중 하나의 텍셀 값을 캐쉬 히트된 텍셀 값들에 보충하여, 최소의 텍셀 개수에 해당하는 6 개의 텍셀 값들을 동시에 텍스쳐 필터(137)로 전송할 수 있다. 외부 메모리(200)로부터 수신된 텍셀 값들은 텍스쳐 캐쉬(135)에 저장되어, 추후 이용될 수 있다.
텍스쳐 필터(137)는 텍스쳐 캐쉬(135)로부터 수신된 6개의 텍셀 값들을 이용하여 텍스쳐 필터링을 수행함으로써, 쉐이더-코어(120)에서 요청한 픽셀 값에 해당하는 픽셀 값을 생성하여, 생성된 픽셀 값을 쉐이더-코어(120)로 전송할 수 있다. 이때, 쉐이더-코어(120)로 전송되는 픽셀 값은 근사화된 색상 값에 해당하나, 아주 미세한 오차를 가지므로, 3차원 그래픽스의 품질에 큰 영향을 주지 않는다.
도 5는 다른 실시예에 따른 텍스쳐 처리 장치(130)의 동작을 설명하기 위한 도면이다. 설명의 편의상, 텍스쳐 필터(137)에서 수행하는 텍스쳐 필터링 방식이 트라이리니어(tri-linear) 필터링 방식임을 전제하나, 이에 한정되는 것이 아님은 물론이다.
텍스쳐 처리 장치(130)는 쉐이더-코어(120)로부터 쉐이더-코어(120)에서 처리하고자 하는 픽셀의 픽셀 어드레스에 대응되는 텍셀 어드레스를 수신함으로써, 쉐이더-코어(120)에서 처리하고자 하는 픽셀에 대한 텍스쳐 처리를 요청받을 수 있다.
텍스쳐 처리 장치(130)의 제어부(131)는 쉐이더-코어(120)로부터 요청된 픽셀 값을 구하기 위해, 쉐이더-코어(120)에서 처리하고자 하는 픽셀에 대응되는 텍스쳐의 주파수 정보를 획득할 수 있다. 이때, 획득한 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는 경우, 제어부(131)는 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정할 수 있다. 도 5에 도시된 바와 같이, 결정된 최소의 텍셀 개수가 6인 경우, 제어부(131)는 결정된 최소의 텍셀 개수가 6임을 텍스쳐 캐쉬(135)에 알려줄 수 있다. 또한, 제어부(131)는 결정된 최소의 텍셀 개수에 대한 정보를 텍스쳐 필터(137)로도 전송할 수 있다.
텍스쳐 처리 장치(130)의 제어부(131)는 결정된 최소의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 캐쉬(135)에 요청할 수 있다. 도 5에 도시된 바와 같이, 제어부(131)는 쉐이더-코어(120)로부터 수신한 텍스쳐 어드레스를 이용하여 계산한, 적어도 하나의 텍스쳐 밉맵 공간상의 일부 영역에 포함된 6개에 해당하는 텍셀 값들을 텍스쳐 캐쉬(135)에 요청할 수 있다.
텍스쳐 캐쉬(135)는 제어부(131)에서 결정된 텍셀의 개수에 해당하는 텍셀 값들을 독출할 수 있다. 텍스쳐 캐쉬(135)는 제어부(131)로부터 요청받은 텍셀 값들에 대하여, 요청된 텍셀 값이 텍스쳐 캐쉬(135)에 저장되어 있는지 여부를 확인하여, 캐쉬 히트(cache hit) 및/또는 캐쉬 미스(cache miss)를 판단하며, 제어부(131)로부터 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 제어부(131)로부터 수신한 최소의 텍셀 개수의 비교 결과에 따라, 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송할 수 있다. 텍스쳐 캐쉬(135)는 텍스쳐 필터링에 이용되는 최소의 텍셀 개수보다 캐쉬 히트 개수가 작은 경우, 캐쉬 미스 개수에 해당하는 텍셀 값들을 외부 메모리(200)에 요청하고, 캐쉬 히트된 텍셀 값들에 외부 메모리(200)로부터 수신한, 적어도 하나의 텍셀 값을 보충하여, 최소의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)에 동시에 전송할 수 있다.
도 5에 도시된 바와 같이, 제어부(131)로부터 요청된 6개의 텍셀 값들 중 4개의 텍셀 값들에 대해서만 캐쉬 히트가 발생한 경우, 앞서, 제어부(131)에서 결정한 최소의 텍셀 개수인 6보다 캐쉬 히트 개수가 작으므로, 텍스쳐 캐쉬(135)는 캐쉬 미스 개수에 해당하는 2개의 텍셀 값들을 외부 메모리(200)에 요청할 수 있다. 텍스쳐 캐쉬(135)는 외부 메모리(200)로부터 캐쉬 미스 개수에 해당하는 2개의 텍셀 값들을 수신하고, 캐쉬 히트된 텍셀 값들에 보충하여, 최소의 텍셀 개수에 해당하는 6 개의 텍셀 값들을 동시에 텍스쳐 필터(137)로 전송할 수 있다.
텍스쳐 필터(137)는 텍스쳐 캐쉬(135)로부터 수신된 6개의 텍셀 값들을 이용하여 텍스쳐 필터링을 수행함으로써, 쉐이더-코어(120)에서 요청한 픽셀 값에 해당하는 픽셀 값을 생성하여, 생성된 픽셀 값을 쉐이더-코어(120)로 전송할 수 있다. 이때, 쉐이더-코어(120)로 전송되는 픽셀 값은 근사화된 색상 값에 해당하나, 아주 미세한 오차를 가지므로, 3차원 그래픽스의 품질에 큰 영향을 주지 않는다.
도 6은 또 다른 실시예에 따른 텍스쳐 처리 장치(130)의 동작을 설명하기 위한 도면이다. 설명의 편의상, 텍스쳐 필터(137)에서 수행하는 텍스쳐 필터링 방식이 트라이리니어(tri-linear) 필터링 방식임을 전제하나, 이에 한정되는 것이 아님은 물론이다.
텍스쳐 처리 장치(130)는 쉐이더-코어(120)로부터 쉐이더-코어(120)에서 처리하고자 하는 픽셀의 픽셀 어드레스에 대응되는 텍셀 어드레스를 수신함으로써, 쉐이더-코어(120)에서 처리하고자 하는 픽셀에 대한 텍스쳐 처리를 요청받을 수 있다.
텍스쳐 처리 장치(130)의 제어부(131)는 쉐이더-코어(120)로부터 요청된 픽셀 값을 구하기 위해, 쉐이더-코어(120)에서 처리하고자 하는 픽셀에 대응되는 텍스쳐의 주파수 정보를 획득할 수 있다. 이때, 획득한 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는 경우, 제어부(131)는 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정할 수 있다. 도 6에 도시된 바와 같이, 결정된 최소의 텍셀 개수가 5인 경우, 제어부(131)는 결정된 최소의 텍셀 개수가 5임을 텍스쳐 캐쉬(135)에 알려줄 수 있다. 또한, 제어부(131)는 결정된 최소의 텍셀 개수에 대한 정보를 텍스쳐 필터(137)로도 전송할 수 있다.
텍스쳐 처리 장치(130)의 제어부(131)는 텍스쳐 필터(137)에서 트라이리니어(tri-linear) 필터링 방식에 따라 텍스쳐 필터링을 수행하는 경우, 하나의 픽셀 값을 구하기 위해 8개 텍셀 값을 이용하므로, 8개에 해당하는 텍셀 값을 텍스쳐 캐쉬(135)에 요청할 수 있다. 예를 들어, 제어부(131)는 쉐이더-코어(120)로부터 수신한 텍스쳐 어드레스를 이용하여 계산한, 적어도 하나의 텍스쳐 밉맵 공간상의 일부 영역에 포함된 텍셀 값들을 텍스쳐 캐쉬(135)에 요청할 수 있다.
텍스쳐 캐쉬(135)는 제어부(131)에서 결정된 텍셀의 개수에 해당하는 텍셀 값들을 독출할 수 있다. 텍스쳐 캐쉬(135)는 제어부(131)로부터 요청받은 텍셀 값들에 대하여, 요청된 텍셀 값이 텍스쳐 캐쉬(135)에 저장되어 있는지 여부를 확인하여, 캐쉬 히트(cache hit) 및/또는 캐쉬 미스(cache miss)를 판단하며, 제어부(131)로부터 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 제어부(131)로부터 수신한 최소의 텍셀 개수의 비교 결과에 따라, 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송할 수 있다. 텍스쳐 캐쉬(135)는 텍스쳐 필터링에 이용되는 최소의 텍셀 개수보다 캐쉬 히트 개수가 크거나 같은 경우, 최소의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)에 즉시 전송할 수 있다.
텍스쳐 캐쉬(135)는 최소의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)에 즉시 전송한 후, 캐쉬 미스 개수에 해당하는 적어도 하나의 텍셀 값들을 외부 메모리(200)에 요청하고, 외부 메모리(200)로부터 수신한, 적어도 하나의 텍셀 값을 저장할 수 있다. 이에 따라, 텍스쳐 캐쉬(135)는 쉐이더-코어(120)로부터 이후에 요청되는 픽셀 값에 대해서 캐쉬 히트의 확률을 높여, 신속한 그래픽 처리를 수행할 수 있다.
도 6에 도시된 바와 같이, 제어부(131)로부터 요청된 8개의 텍셀 값들 중 5개의 텍셀 값들에 대해서만 캐쉬 히트가 발생한 경우, 앞서, 제어부(131)에서 결정한 최소의 텍셀 개수인 5와 캐쉬 히트 개수가 같으므로, 텍스쳐 캐쉬(135)는 최소의 텍셀 개수에 해당하는 5개의 텍셀 값들을 즉시 텍스쳐 필터(137)로 전송할 수 있다. 이후, 텍스쳐 캐쉬(135)는 캐쉬 미스 개수에 해당하는 3개의 텍셀 값들을 외부 메모리(200)에 요청하고, 이를 수신하여 저장함으로써, 쉐이더-코어(120)로부터 이후에 요청되는 픽셀 값에 대해서 캐쉬 히트의 확률을 높여, 신속한 그래픽 처리를 수행할 수 있도록 할 수 있다.
텍스쳐 필터(137)는 텍스쳐 캐쉬(135)로부터 수신된 5개의 텍셀 값들을 이용하여 텍스쳐 필터링을 수행함으로써, 쉐이더-코어(120)에서 요청한 픽셀 값에 해당하는 픽셀 값을 생성하여, 생성된 픽셀 값을 쉐이더-코어(120)로 전송할 수 있다. 이때, 쉐이더-코어(120)로 전송되는 픽셀 값은 근사화된 색상 값에 해당하나, 아주 미세한 오차를 가지므로, 3차원 그래픽스의 품질에 큰 영향을 주지 않는다.
도 7은 일 실시예에 따른 텍스쳐 처리 방법을 설명하기 위한 흐름도이다. 이상에서 텍스쳐 처리 장치(130)에 관하여 기술한 내용은 이하 생략된 내용이라 하더라도, 텍스쳐 처리 방법에도 그대로 적용될 수 있다.
텍스쳐 처리 장치(130)는 픽셀 어드레스에 대응되는 텍스쳐 어드레스 및 텍스쳐의 주파수 정보를 획득할 수 있다.(S 710) 구체적으로, 텍스쳐 처리 장치(130)는 쉐이더-코어(120)로부터 픽셀 어드레스에 대응되는 텍스쳐 어드레스를 획득할 수 있다. 또한, 텍스쳐 처리 장치(130)는 외부 메모리(200)로부터 수신되는 압축된 텍스쳐를 압축 해제하는 디컴프레서(133)로부터 텍스쳐의 주파수 정보를 획득할 수 있다. 이때, 텍스쳐의 주파수 정보는 압축된 텍스쳐의 헤더 파일로부터 추출된 정보에 기초할 수 있다.
텍스쳐 처리 장치(130)는 텍스쳐의 주파수 정보에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 결정할 수 있다.(S 720) 구체적으로, 텍스쳐 처리 장치(130)는 쉐이더-코어(120)로부터 요청된 픽셀 값을 계산하기 위해 사용되는 텍스쳐가 저주파의 텍스쳐인지 고주파의 텍스쳐인지에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 달리 결정할 수 있다. 이에 대해서는 도 8을 참고하여, 이하, 상세히 설명한다.
도 8은 일 실시예에 따른 텍스쳐 처리 방법에서, 텍스쳐 필터링에 이용되는 텍셀 개수를 결정하는 단계에 대한 상세 흐름도이다.
텍스쳐 처리 장치(130)는 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는지 판단할 수 있다.(S 810)
텍스쳐 처리 장치(130)는 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정할 수 있다.(S 820)
텍스쳐 처리 장치(130)는 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 높은 고주파(high frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수를 결정할 수 있다.(S 830)
다시 도 7을 참고하면, 텍스쳐 처리 장치(130)는 텍스쳐 어드레스에 기초하여, 상기 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출할 수 있다.(S 730) 이에 대해서는 도 9 내지 도 12를 참고하여, 이하, 상세히 설명한다. 쉐이더-코어(120)로부터 요청된 픽셀 값을 계산하기 위해 사용되는 텍스쳐가 저주파인 경우, 도 9 및 도 10을 참고하고, 쉐이더-코어(120)로부터 요청된 픽셀 값을 계산하기 위해 사용되는 텍스쳐가 고주파인 경우, 도 11 및 도 12를 참고하여 설명한다.
도 9는 일 실시예에 따른 텍스쳐 처리 방법에서, 저주파의 텍스쳐인 경우, 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 단계에 대한 상세 흐름도이다.
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 텍스쳐 어드레스에 기초하여, 텍스쳐 캐쉬(135)에 저장된 텍스쳐의 텍셀 값들을 요청받을 수 있다.(S 910) 이때, 도 8의 S 810에서 결정된, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수에 해당하는 텍셀 값들만을 요청받을 수도 있다.
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 요청받은 텍셀 값들에 대한 캐쉬 히트를 판단할 수 있다.(S 920)
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 최소의 텍셀 개수의 비교 결과에 따라, 최소의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)로 전송할 수 있다.(S 930) 이하, 도 10을 참고하여, 상세히 설명한다.
도 10은 캐쉬 히트 개수와 최소의 텍셀 개수의 비교 결과에 따라, 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송하는 단계에 대한 상세 흐름도이다.
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 도 8의 S 810에서 결정된 최소의 텍셀 개수를 비교할 수 있다.(S 1010)
도 8의 S 810에서 결정된, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수보다 캐쉬 히트 개수가 작은 경우, 텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 캐쉬 미스 개수에 해당하는 텍셀 값들을 외부 메모리(200)에 요청할 수 있다.(S 1020)
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 캐쉬 히트된 텍셀 값들에 외부 메모리(200)로부터 수신한, 적어도 하나의 텍셀 값을 보충하여, 최소의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)로 동시에 전송할 수 있다.(S 1030)
반면, 도 8의 S 810에서 결정된, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수보다 캐쉬 히트 개수가 크거나 같은 경우, 텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 최소의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)로 즉시 전송할 수 있다.(S 1040) 텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송한 후, 캐쉬 미스 개수에 해당하는 적어도 하나의 텍셀 값을 외부 메모리(200)에 요청하고, 외부 메모리(200)로부터 수신한, 적어도 하나의 텍셀 값을 저장할 수 있다.
도 11은 일 실시예에 따른 텍스쳐 처리 방법에서, 고주파의 텍스쳐인 경우, 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 단계에 대한 상세 흐름도이다.
도 11은 일 실시예에 따른 텍스쳐 처리 방법에서, 고주파의 텍스쳐인 경우, 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 단계에 대한 상세 흐름도이다.
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 텍스쳐 어드레스에 기초하여, 텍스쳐 캐쉬(135)에 저장된 텍스쳐의 텍셀 값들을 요청받을 수 있다.(S 1110) 이때, 도 8의 S 820에서 결정된, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수에 해당하는 텍셀 값들을 요청받을 수도 있다.
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 요청받은 텍셀 값들에 대한 캐쉬 히트를 판단할 수 있다.(S 1120)
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 최대의 텍셀 개수의 비교 결과에 따라, 최대의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)로 전송할 수 있다.(S 1130) 이하, 도 12를 참고하여, 상세히 설명한다.
도 12는 캐쉬 히트 개수와 최대의 텍셀 개수의 비교 결과에 따라, 최대의 텍셀 개수에 해당하는 텍셀 값들을 전송하는 단계에 대한 상세 흐름도이다.
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 도 8의 S 820에서 결정된 최대의 텍셀 개수를 비교할 수 있다.(S 1210)
도 8의 S 820에서 결정된, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수보다 캐쉬 히트 개수가 작은 경우, 텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 캐쉬 미스 개수에 해당하는 텍셀 값들을 외부 메모리(200)에 요청할 수 있다.(S 1220)
텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 캐쉬 히트된 텍셀 값들에 외부 메모리(200)로부터 수신한, 적어도 하나의 텍셀 값을 보충하여, 최대의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)로 동시에 전송할 수 있다.(S 1230)
반면, 도 8의 S 820에서 결정된, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수와 캐쉬 히트 개수가 같은 경우, 텍스쳐 처리 장치(130)의 텍스쳐 캐쉬(135)는 최대의 텍셀 개수에 해당하는 텍셀 값들을 텍스쳐 필터(137)로 즉시 전송할 수 있다.(S 1240)
다시 도 7을 참고하면, 텍스쳐 처리 장치(130)는 독출된 텍셀 값들을 이용하여, 텍스쳐 필터링을 수행할 수 있다.(S 740) 텍스쳐 필터링에 의해 생성된 픽셀 값은 쉐이더-코어(120)로 전송될 수 있다.
이제까지 실시예들을 중심으로 살펴보았다. 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 개시된 실시예들이 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 실시예들에 따른 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 발명의 범위에 포함된 것으로 해석되어야 할 것이다.
130 ... 텍스쳐 처리 장치
131 ... 제어부
133 ... 디컴프레서
135 ... 텍스쳐 캐쉬
137 ... 텍스쳐 필터

Claims (20)

  1. 프레임을 구성하는 픽셀들에 맵핑되는 텍스쳐(texture)를 처리하는 방법에 있어서,
    픽셀 어드레스에 대응되는 텍스쳐 어드레스 및 텍스쳐의 주파수 정보를 획득하는 단계;
    상기 텍스쳐의 주파수 정보에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 결정하는 단계;
    상기 텍스쳐 어드레스에 기초하여, 상기 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 단계; 및
    상기 독출된 텍셀 값들을 이용하여, 텍스쳐 필터링을 수행하는 단계;
    를 포함하는 텍스쳐를 처리하는 방법.
  2. 제 1 항에 있어서,
    상기 텍셀 개수를 결정하는 단계는,
    상기 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정하는, 텍스쳐를 처리하는 방법.
  3. 제 2 항에 있어서,
    상기 텍셀 값들을 독출하는 단계는,
    상기 텍스쳐 어드레스에 기초하여, 텍스쳐 캐쉬에 저장된 텍스쳐의 텍셀 값들을 요청받는 단계;
    상기 텍스쳐 캐쉬에서, 상기 요청받은 텍셀 값들에 대한 캐쉬 히트를 판단하는 단계; 및
    상기 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 상기 최소의 텍셀 개수의 비교 결과에 따라, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송하는 단계;
    를 포함하는, 텍스쳐를 처리하는 방법.
  4. 제 3 항에 있어서,
    상기 요청받는 단계는,
    상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 요청받는, 텍스쳐를 처리하는 방법.
  5. 제 3 항에 있어서,
    상기 전송하는 단계는,
    상기 텍스쳐 필터링에 이용되는 상기 최소의 텍셀 개수보다 캐쉬 히트 개수가 작은 경우, 캐쉬 미스 개수에 해당하는 텍셀 값들을 외부 메모리에 요청하는 단계; 및
    상기 캐쉬 히트된 텍셀 값들에 상기 외부 메모리로부터 수신한, 적어도 하나의 텍셀 값을 보충하여, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 동시에 전송하는 단계;
    를 포함하는, 텍스쳐를 처리하는 방법.
  6. 제 3 항에 있어서,
    상기 전송하는 단계는,
    상기 텍스쳐 필터링에 이용되는 상기 최소의 텍셀 개수보다 캐쉬 히트 개수가 크거나 같은 경우, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송하는, 텍스쳐를 처리하는 방법.
  7. 제 6 항에 있어서,
    상기 텍셀 값들을 독출하는 단계는,
    상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송한 후, 캐쉬 미스 개수에 해당하는 적어도 하나의 텍셀 값을 외부 메모리에 요청하는 단계; 및
    상기 외부 메모리로부터 수신한, 상기 적어도 하나의 텍셀 값을 상기 텍스쳐 캐쉬에 저장하는 단계;
    를 더 포함하는, 텍스쳐를 처리하는 방법.
  8. 제 1 항에 있어서,
    상기 텍셀 개수를 결정하는 단계는,
    상기 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 높은 고주파(high frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수를 결정하는, 텍스쳐를 처리하는 방법.
  9. 제 1 항에 있어서,
    상기 텍스쳐의 주파수 정보는 압축된 텍스쳐의 헤더 파일로부터 추출된 정보에 기초하는, 텍스쳐를 처리하는 방법.
  10. 제 1 항 내지 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 프레임을 구성하는 픽셀들에 맵핑되는 텍스쳐(texture)를 처리하는 장치에 있어서,
    픽셀 어드레스에 대응되는 텍스쳐 어드레스 및 텍스쳐의 주파수 정보를 획득하고, 상기 텍스쳐의 주파수 정보에 따라, 텍스쳐 필터링에 이용되는 텍셀 개수를 결정하는 제어부;
    상기 텍스쳐 어드레스에 기초하여, 상기 결정된 텍셀 개수에 해당하는 텍셀 값들을 독출하는 텍스쳐 캐쉬; 및
    상기 독출된 텍셀 값들을 이용하여, 텍스쳐 필터링을 수행하는 텍스쳐 필터;
    를 포함하는 텍스쳐를 처리하는 장치.
  12. 제 11 항에 있어서,
    상기 제어부는,
    상기 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 낮은 저주파(low frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최소의 텍셀 개수를 결정하는, 텍스쳐를 처리하는 장치.
  13. 제 12 항에 있어서,
    상기 텍스쳐 캐쉬는,
    상기 텍스쳐 어드레스에 기초하여, 상기 텍스쳐 캐쉬에 저장된 텍스쳐의 텍셀 값들을 요청받고, 상기 요청받은 텍셀 값들에 대한 캐쉬 히트를 판단하며, 상기 요청받은 텍셀 값들에 대한 캐쉬 히트 개수와 상기 최소의 텍셀 개수의 비교 결과에 따라, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 전송하는, 텍스쳐를 처리하는 장치.
  14. 제 13 항에 있어서,
    상기 텍스쳐 캐쉬는,
    상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 요청받는, 텍스쳐를 처리하는 장치.
  15. 제 13 항에 있어서,
    상기 텍스쳐 캐쉬는,
    상기 텍스쳐 필터링에 이용되는 상기 최소의 텍셀 개수보다 캐쉬 히트 개수가 작은 경우, 캐쉬 미스 개수에 해당하는 텍셀 값들을 외부 메모리에 요청하고,상기 캐쉬 히트된 텍셀 값들에 상기 외부 메모리로부터 수신한, 적어도 하나의 텍셀 값을 보충하여, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 동시에 전송하는, 텍스쳐를 처리하는 장치.
  16. 제 13 항에 있어서,
    상기 텍스쳐 캐쉬는,
    상기 텍스쳐 필터링에 이용되는 상기 최소의 텍셀 개수보다 캐쉬 히트 개수가 크거나 같은 경우, 상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송하는, 텍스쳐를 처리하는 장치.
  17. 제 16 항에 있어서,
    상기 텍스쳐 캐쉬는,
    상기 최소의 텍셀 개수에 해당하는 텍셀 값들을 즉시 전송한 후, 캐쉬 미스 개수에 해당하는 적어도 하나의 텍셀 값을 외부 메모리에 요청하고, 상기 외부 메모리로부터 수신한, 상기 적어도 하나의 텍셀 값을 저장하는, 텍스쳐를 처리하는 장치.
  18. 제 11 항에 있어서,
    상기 제어부는,
    상기 텍스쳐의 주파수 정보가 텍셀 값의 변화율에 관한 소정의 기준 값보다 높은 고주파(high frequency)임을 나타내는 경우, 텍스쳐 필터링에 이용되는 최대의 텍셀 개수를 결정하는, 텍스쳐를 처리하는 장치.
  19. 제 11 항에 있어서,
    외부 메모리로부터 수신되는 압축된 텍스쳐를 압축 해제하는 디컴프레서를 더 포함하고,
    상기 제어부는, 상기 압축된 텍스쳐의 헤더 파일로부터 추출된 정보에 기초하여 결정된, 상기 텍스쳐의 주파수 정보를 상기 디컴프레서로부터 획득하는, 텍스쳐를 처리하는 장치.
  20. 제 19 항에 있어서,
    상기 텍스쳐의 주파수 정보는 상기 헤더 파일로부터 추출된, 상기 압축된 텍스쳐의 압축율 정보에 기초하여 결정되는, 텍스쳐를 처리하는 장치.
KR1020140122941A 2014-09-16 2014-09-16 텍스쳐를 처리하는 방법 및 장치 KR20160032597A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140122941A KR20160032597A (ko) 2014-09-16 2014-09-16 텍스쳐를 처리하는 방법 및 장치
US14/677,536 US20160078666A1 (en) 2014-09-16 2015-04-02 Method and apparatus for processing texture
EP15166431.5A EP2998938A1 (en) 2014-09-16 2015-05-05 Method and apparatus for processing texture
JP2015140265A JP2016062594A (ja) 2014-09-16 2015-07-14 テクスチャを処理する方法及びその装置
CN201510425195.9A CN106204709A (zh) 2014-09-16 2015-07-17 用于处理纹理的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140122941A KR20160032597A (ko) 2014-09-16 2014-09-16 텍스쳐를 처리하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20160032597A true KR20160032597A (ko) 2016-03-24

Family

ID=53174810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140122941A KR20160032597A (ko) 2014-09-16 2014-09-16 텍스쳐를 처리하는 방법 및 장치

Country Status (5)

Country Link
US (1) US20160078666A1 (ko)
EP (1) EP2998938A1 (ko)
JP (1) JP2016062594A (ko)
KR (1) KR20160032597A (ko)
CN (1) CN106204709A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
US10181176B2 (en) * 2016-03-04 2019-01-15 Samsung Electronics Co., Ltd. Efficient low-power texture cache architecture
US10255655B1 (en) 2017-06-16 2019-04-09 Apple Inc. Serial pixel processing with storage for overlapping texel data
CN108022269B (zh) * 2017-11-24 2021-09-14 中国航空工业集团公司西安航空计算技术研究所 一种GPU压缩纹理存储Cache的建模系统
US11244492B2 (en) * 2018-11-02 2022-02-08 Facebook Technologies, Llc. Parallel texture sampling
US11010863B2 (en) 2019-09-27 2021-05-18 Apple Inc. Bindpoint emulation
CN110930493A (zh) * 2019-11-21 2020-03-27 中国航空工业集团公司西安航空计算技术研究所 一种gpu纹素并行获取方法
GB2596104B (en) * 2020-06-17 2022-07-06 Imagination Tech Ltd Input/output filter unit for graphics processing unit

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005582A (en) * 1995-08-04 1999-12-21 Microsoft Corporation Method and system for texture mapping images with anisotropic filtering
US5877771A (en) * 1996-07-12 1999-03-02 Silicon Graphics, Inc. Method and apparatus for supersampling based on the local rate of change in texture
US6433789B1 (en) * 2000-02-18 2002-08-13 Neomagic Corp. Steaming prefetching texture cache for level of detail maps in a 3D-graphics engine
US20030030646A1 (en) * 2001-08-10 2003-02-13 Yeh Kwo-Woei Trilinear texture filtering method with proper texel selection
US6940511B2 (en) * 2002-06-07 2005-09-06 Telefonaktiebolaget L M Ericsson (Publ) Graphics texture processing methods, apparatus and computer program products using texture compression, block overlapping and/or texture filtering
US7360020B2 (en) * 2003-03-31 2008-04-15 Sun Microsystems, Inc. Method for improving cache-miss performance
US7339594B1 (en) * 2005-03-01 2008-03-04 Nvidia Corporation Optimized anisotropic texture sampling
US7948500B2 (en) * 2007-06-07 2011-05-24 Nvidia Corporation Extrapolation of nonresident mipmap data using resident mipmap data
JP2009157656A (ja) * 2007-12-26 2009-07-16 Samsung Electronics Co Ltd 画像処理装置、画像処理方法、プログラム、および表示装置
JP2011065339A (ja) * 2009-09-16 2011-03-31 Pioneer Electronic Corp 画像処理装置、画像処理方法、画像処理プログラム、及び、記憶媒体
US8687011B2 (en) * 2010-10-28 2014-04-01 Microsoft Corporation Techniques for efficient sampling for image effects
TWI528328B (zh) * 2012-04-20 2016-04-01 財團法人資訊工業策進會 依據貼圖影像內容決定選擇細節層次之三維貼圖處理方法、裝置以及儲存其之電腦可讀取記錄媒體

Also Published As

Publication number Publication date
CN106204709A (zh) 2016-12-07
JP2016062594A (ja) 2016-04-25
EP2998938A1 (en) 2016-03-23
US20160078666A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
EP3673463B1 (en) Rendering an image from computer graphics using two rendering computing devices
US12026798B2 (en) Variable resolution graphics processing
US10068353B2 (en) Method and apparatus for processing compressed texture
KR102258100B1 (ko) 텍스쳐 처리 방법 및 장치
KR20160032597A (ko) 텍스쳐를 처리하는 방법 및 장치
EP2092488B1 (en) Image compression and/or decompression
KR102444240B1 (ko) 텍스쳐 처리 방법 및 장치
US9710933B2 (en) Method and apparatus for processing texture
US10453274B2 (en) Texture compressing method and apparatus and texture decompressing method and apparatus
US10762696B2 (en) Graphic processor performing sampling-based rendering and method of operating the same
JP6931279B2 (ja) テクスチャ処理方法及びテクスチャ処理装置
KR20170025099A (ko) 렌더링 방법 및 장치
KR20180037838A (ko) 텍스쳐를 처리하는 방법 및 장치
US20220309732A1 (en) Graphics processing unit and operating method thereof

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid