KR100427523B1 - 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치 - Google Patents
3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치 Download PDFInfo
- Publication number
- KR100427523B1 KR100427523B1 KR10-2002-0007868A KR20020007868A KR100427523B1 KR 100427523 B1 KR100427523 B1 KR 100427523B1 KR 20020007868 A KR20020007868 A KR 20020007868A KR 100427523 B1 KR100427523 B1 KR 100427523B1
- Authority
- KR
- South Korea
- Prior art keywords
- texture
- memory
- address
- addresses
- computer graphics
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
본 발명은 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치에 관한 것으로서, 3차원 컴퓨터 그래픽 시스템에서 화면상에 서로 인접한 픽셀을 렌더링할 때 서로 인접하여 겹치거나 이전 클록 사이클의 주소와 겹치는 텍스쳐 주소를 정렬하여 실제 필요한 텍스쳐 주소를 통해 텍스쳐 메모리를 억세스 하도록 함으로써 텍스쳐 매핑 성능을 증가시켜 3차원 컴퓨터 그래픽을 보다 현실감 있게 구현할 수 있는 이점이 있다.
Description
본 발명은 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치에 관한 것으로서, 보다 상세하게는 3차원 컴퓨터 그래픽 시스템에서 화면상에 서로 인접한 픽셀을 렌더링할 때 서로 인접하여 겹치거나 이전 클록 사이클의 주소와 겹치는 텍스쳐 주소를 정렬하여 실제 필요한 텍스쳐 주소를 통해 텍스쳐 메모리를 억세스 하도록 함으로써 텍스쳐 매핑 성능을 증가시켜 3차원 컴퓨터 그래픽을 보다 현실감 있게 구현할 수 있는 저전력 텍스쳐 메모리 억세스 장치에 관한 것이다.
개인용 컴퓨터(PC), 워크스테이션(Workstation) 게임기 등을 포함하는 컴퓨터 시스템에서는 보다 효율적이며 시각적인 정보전달을 위해 그래픽을 사용하고 있다. 이러한 그래픽의 요소에는 점, 선, 면 등이 있으며 이들의 적절한 조합으로 컴퓨터 시스템의 디스플레이에 여러 그래픽 정보를 나타낸다.
최근에는 컴퓨터 시스템이 발전함에 따라 이러한 그래픽 정보는 단순한 2차원 그림에서 발전하여 공간상의 물체를 보다 사실감 있게 전달하는 3차원 컴퓨터 그래픽의 영역까지 확장되었다.
3차원 컴퓨터 그래픽에서, 물체의 표면을 보다 현실감있게 나타내기 위해서는 2차원 이미지(텍스쳐)를 물체의 표면에 입히는 과정을 거치며 이 과정을 텍스쳐 매핑(Texture Mapping)이라고 한다.
텍스쳐 매핑은 복잡한 물체의 표면을 미리 준비된 2차원 이미지로 나타낼 수있기 때문에 널리 사용되고 있는데, 이때, 컴퓨터 화면 위의 한 점(Pixel) 은 수학적 정의와 달리 크기와 면적을 갖게 되므로 컴퓨터 화면 위의 점 하나는 텍스쳐 이미지 위의 특정한 영역으로 나타내지며, 이 영역 위의 모든 텍스쳐 픽셀들인 텍셀(Texel)의 색을 필터링(Filtering)하여 화면 위의 한 점(Pixel)의 색을 결정한다.
그런데, 3차원 공간상의 물체는 물체의 위치에 따라 컴퓨터 화면 위에 나타나는 물체의 크기가 바뀌게 되며, 이에 따라 화면상의 한 점이 포함하는 텍스쳐 이미지 영역의 크기가 바뀌게 된다. 따라서, 화면 위의 한 점(Pixel)의 색을 결정하기 위해 필요한 텍스쳐 이미지의 텍셀(Texel)의 수가 큰 폭으로 바뀌게 되는데 그 값을 미리 알기 어려운 문제점이 있다.
이와 같은 문제점을 해결하기 위해 제안된 여러 방법들 중에서 MIP(Multium In Parvo : Many things in a small place)맵을 이용한 텍스쳐 매핑방법이 널리 사용되고 있다.
MIP맵 텍스쳐 매핑방법에서는, 원래 크기의 텍스쳐 이미지 이외에 추가로 가로, 세로의 크기가 각각 1/2, 1/4, 1/8, ... 인 텍스쳐 이미지를 미리 준비해 놓는데 이를 각각 LOD(Level of Detail)라고 한다.
즉, MIP맵을 사용한 텍스쳐 매핑 방법에서는 화면에 물체를 나타낼 때, 처음 LOD 레벨에서 한 픽셀이 차지하는 텍셀의 면적이 다를 경우, 한 픽셀과 한 텍셀이 거의 같은 크기가 되는, 다른 LOD 레벨에서 텍셀을 가져오게 한다. 이를 통해 한 픽셀에 대해 언제나 일정한 개수의 텍셀 억세스를 할 수 있게 하여, 일정한 속도로텍스쳐 매핑이 가능하게 한다. 이때, 한 픽셀을 위해 가져오는 텍셀의 개수는 텍스쳐 필터링(Texture Filtering) 방법에 따라 다르며, 일반적으로 많이 사용하는 바이리니어 텍스쳐 필터링(Bilinear Texture Filtering)의 경우 4개의 텍셀을 가져온다.
이와 같은 MIP맵 텍스쳐 매핑에 대한 자세한 설명은 미국특허공보 US 6,300,953호에 개재되어 있다.
MIP맵을 사용하는 텍스쳐 매핑의 경우라 할지라도, 항상 한 개 이상의 일정한 개수 즉, 바이리니어 텍스쳐 필터링(Bilinear Texture Filtering)의 경우에는 4개, 트라이리니어 텍스쳐 필터링(Trilinear Texture Filtering)의 경우에는 8개의 텍셀을 억세스하기 때문에, 화면 해상도가 올라감에 따라 1초에 화면에 그려야 할 픽셀의 수(Pixel Fill Rate)가 증가하고, 1초에 억세스 해야 할 텍셀의 수(Texel Fill Rate)도 같이 증가하게 된다. 따라서, 보다 큰 메모리 대역폭(Bandwidth)이 요구되며 이에 따라 3차원 컴퓨터 그래픽 시스템의 가격이 증가하게 된다.
또한, 병렬로 동작하는 텍스쳐 유닛의 개수가 증가함에 따라 필요로 하는 메모리 대역폭이 더욱 증가하게 되어 현재 SDRAM을 사용한 메모리 시스템으로 구현하기에 많은 어려운 문제점이 있다.
그래서 이와 같은 문제점을 해결하기 위해 L1 텍스쳐 캐쉬(Texture Cache) (Ziyad S. Hakura : IEEE/ACM ISCA 1997, pp 108-120), L2 텍스쳐 캐쉬(Texture Cache) (Michael Cox : IEEE/ACM ISCA 1997 pp 86-97), 병렬 텍스쳐 캐쉬(Parallel Texture Cache) (Homan Igehy : ACM SIGGRAPH Workshop on GRaphics Hardware1998), 그리고 그룹핑 텍스쳐 캐쉬(Grouping Texture Cache Requests) (Rivard : US Patent 6,300,953)등의 텍스쳐 캐쉬(Texture Cache)를 사용하여 텍스쳐 메모리 대역폭을 줄이는 여러 방법들이 제시되었다.
그런데, 이 방법들은 모두 텍스쳐 매핑 유닛(Texture Mapping Unit)과 텍스쳐 메모리 사이에 텍스쳐 캐쉬(Texture Cache)를 사용하여 텍스쳐 메모리 억세스를 하는 구조이기 때문에 이에 따른 면적과 전력 부담이 있다.
또한, 여러 개의 텍스쳐 매핑 유닛이 병렬로 동작하는 경우에 그에 따라 더욱 복잡하고 더욱 많은 크기의 텍스쳐 캐쉬가 필요하게 되어 시스템의 사용전력이 증가한다.
따라서, 작은 크기의 텍스쳐 캐쉬를 갖고 있는 저가의 PC 그래픽스 카드에서 텍스쳐 메모리 억세스 성능으로 인한 전체 성능의 제약이 있으며, 또한 점점 그 사용량이 증가되고 있는 PDA와 같은 휴대기기에서 텍스쳐 매핑을 적용하여 3차원 그래픽스 시스템을 저전력으로 구현하기 어려운 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 본 발명의 목적은 3차원 컴퓨터 그래픽 시스템에서 화면상에 서로 인접한 픽셀을 렌더링할 때 서로 겹치거나 이전 클록 사이클의 주소와 겹치는 텍스쳐 주소를 정렬하여 실제 필요한 텍스쳐 주소를 통해 텍스쳐 메모리를 억세스 하도록 함으로써 텍스쳐 매핑 성능을 증가시켜 작은 크기의 텍스쳐 캐쉬 또는 텍스쳐 캐쉬 없이 3차원 컴퓨터 그래픽을 보다 현실감 있게 구현할 수 있는 저전력 텍스쳐 메모리 억세스 장치를 제공함에 있다.
도 1은 본 발명에 의한 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치를 나타낸 블록구성도이다.
도 2는 본 발명에 의해 화면상의 서로 인접한 픽셀을 렌더링 하도록 할당된 텍스쳐 주소 연산 유닛들이 필요로 하는 텍셀을 텍스쳐 이미지 상에서 나타낸 예시도이다.
- 도면의 주요부분에 대한 부호의 설명 -
10 : 텍스쳐 파이프라인 20 : 텍스쳐 메모리 억세스 장치
30 : 텍스쳐 메모리 40 : 텍스쳐 이미지
110 : 텍스쳐 주소 연산 유닛 120 : 텍스쳐 필터링 유닛
210 : 텍스쳐 주소 정렬기 220 : 텍스쳐 주소 비교기
230 : 텍스쳐 메모리 콘트롤러 240 : 텍스쳐 데이터 레지스터
250 : 텍스쳐 데이터 정렬기
상기와 같은 목적을 실현하기 위한 본 발명은 병렬로 동작하는 텍스쳐 유닛들로부터 다수개의 텍스쳐 메모리의 주소들을 받아들여 중복되는 텍스쳐 주소를 정렬하여 출력하는 텍스쳐 주소 정렬기와; 텍스쳐 주소 정렬기에서 정렬된 주소를 이전 클록 싸이클에서 저장되었던 주소와 비교하여 중복되는 텍스쳐 주소를 정렬하여 출력하는 텍스쳐 주소 비교기와; 텍스쳐 주소 비교기에서 출력되는 텍스쳐 주소를 이용하여 텍스쳐 메모리를 컨트롤하는 텍스쳐 메모리 컨트롤러와; 텍스쳐 메모리로부터 읽어온 텍셀 데이터를 임시로 저장하는 텍스쳐 데이터 레지스터와; 텍스쳐 데이터 레지스터의 값들을 텍스쳐 주소 정렬기와 텍스쳐 주소 비교기에서 출력되는 제어신호에 의해 텍스쳐 데이터를 재정렬하여 텍스쳐 유닛들로 보내주는 텍스쳐 데이터 정렬기로 이루어진 것을 특징으로 한다.
이때, 텍스쳐 유닛은 랜더링에 필요한 텍스쳐 주소를 계산해 내는 텍스쳐 주소 연산 유닛과, 텍스쳐 데이터에 의해 랜더링을 하는 텍스쳐 필터링 유닛으로 이루어진 것을 특징으로 한다.
또한, 병렬로 동작하는 텍스쳐 유닛은 두 개 이상으로 이루어진 것을 특징으로 한다.
또한, 텍스쳐 메모리는 한 개 이상의 독립적으로 동작하는 메모리이거나 여러 개의 뱅크(Bank)로 구성된 하나의 메모리 또는 이들의 조합으로 이루어진 것을 특징으로 한다.
또한, 상기 텍스쳐 메모리는 텍스쳐 캐쉬가 될 수도 있음을 특징으로 한다.
위와 같이 이루어진 본 발명은 텍스쳐 유닛에서 출력되는 텍스쳐 주소를 텍스쳐 주소 정렬기와 텍스쳐 주소 비교기를 통해 서로 인접하여 중복되는 텍스쳐 주소와 이전 클록 사이클의 텍스쳐 주소를 정렬하여 텍스쳐 메모리를 억세스 하도록 함으로써 텍스쳐 메모리의 크기를 줄일 수 있을 뿐만 아니라 처리 속도를 향상시키며 전력소로를 줄일 수 있게 된다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 또한 본 실시예는 본 발명의 권리범위를 한정하는 것은 아니고, 단지 예시로 제시된 것이다.
도 1은 본 발명에 의한 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치를 나타낸 블록구성도이다.
여기에 도시된 바와 같이 본 발명에 의한 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치(Texture Memory Access Unit, 20)는 렌더링 파이프라인 (Rendering Pipeline, 10)의 병렬 텍스쳐 주소 연산 유닛(Texture Address Calculation Unit, 110)들로부터 나온 텍스쳐 주소들을 받아 텍스쳐 메모리 (Texture Memory, 30)를 억세스하여 그 값을 렌더링 파이프라인(10)의 텍스쳐 필터링 유닛 (Texture Filtering Unit, 120)으로 전달해 주도록 구성된다.
이와 같이 렌더링 파이프라인(10)은 3차원 형태의 정보를 2차원 평면의 화면에 표현하는 전 과정 또는 그 일부를 계산하는 하드웨어 블록으로, 이 장치를 통해 사람들이 2차원 화면에 나타난 그림을 마치 3차원처럼 느낄 수 있도록 하는 것으로써 텍스쳐 유닛으로 텍스쳐 주소 연산 유닛(110)과 텍스쳐 필터링 유닛(120)으로 이루어진다.
그리고, 텍스쳐 메모리 억세스 장치(20)는 병렬로 동작하는 텍스쳐 주소 연산 유닛(110)들로부터 다수개의 텍스쳐 주소(lod1, ta10∼3,∼,lodx, tax0∼tax3)들을 받아들여 중복되는 텍스쳐 주소를 정렬하여 출력하는 텍스쳐 주소 정렬기(110)와, 텍스쳐 주소 정렬기(110)에서 정렬된 주소(ata0∼ataz-1)를 이전 클록 싸이클에서 저장되었던 주소와 비교하여 중복되는 텍스쳐 주소를 정렬하여 출력하는 텍스쳐 주소 비교기(220)를 구비한다.
또한, 텍스쳐 주소 비교기(220)에서 출력되는 정렬된 텍스쳐 주소(rta0∼rtay-1)를 이용하여 텍스쳐 메모리(30)를 컨트롤하는 텍스쳐 메모리 컨트롤러(230)와, 텍스쳐 메모리(30)로부터 읽어온 텍셀 데이터(tmd0∼tmdm-1)를 임시로 저장하는 텍스쳐 데이터 레지스터(240)와, 상기 텍스쳐 데이터 레지스터(240)의 값들을 텍스쳐 주소 비교기(220)에서 출력되는 텍스쳐 데이터 제어신호(tdctrl)와 텍스쳐 주소 정렬기(210)에서 출력되는 정렬 컨트롤 신호(actrl)에 의해 텍스쳐 데이터를 재정렬하여 텍스쳐 필터링 유닛(120)들로 보내주는 텍스쳐 데이터 정렬기(250)가 설치된다.
위와 같이 이루어진 본 발명에 의한 3차원 컴퓨터 그래픽 시스템의 텍스쳐메모리 억세스 장치의 구체적인 작동을 살펴보면 다음과 같다.
텍스쳐 주소 연산 유닛(110)은 텍스쳐 필터링에서 사용할 만큼의 필요한 텍스쳐 주소(lod1, ta10∼3,∼,lodx, tax0∼tax3)를 계산하여 출력한다. 즉, 바이리니어 MIP맵 필터링의 경우 주소들은 하나의 텍스쳐 유닛에서 하나의 LOD(Level of Detail)와 LOD상의 4개의 텍스쳐 주소(Texture Address)들로 구성되어 있다.
보통 렌더링 성능을 높이기 위해서 텍스쳐 주소 연산 유닛(110)을 여러 개 두어 병렬로 동작시키게 되므로 x개의 텍스쳐 주소 연산 유닛(110)이 있는 경우 x개의 LOD 값(lod1∼lodx)과 4*x 개의 텍스쳐 주소(ta10∼3, ∼ ,tax0∼tax3)가 출력된다.
그러면, 텍스쳐 주소 정렬기(210)에서 병렬로 동작하는 텍스쳐 주소 연산 유닛(110)들이 화면상의 서로 인접한 픽셀을 렌더링(Rendering) 하고 있는 경우에 x개의 LOD(lod1∼lodx)값과 4*x개의 주소(ta10∼3, ∼ ,tax0∼tax3)들의 많은 부분이 서로 겹치게 되어 실제 필요한 텍스쳐 주소의 개수는 줄어들게 된다.
도 2는 본 발명에 의해 화면상의 서로 인접한 픽셀을 렌더링 하도록 할당된 텍스쳐 주소 연산 유닛들이 필요로 하는 텍셀을 텍스쳐 이미지 상에서 나타낸 예시도이다.
즉, 바이리니어 MIP맵 필터링의 경우 화면상의 서로 인접한 픽셀을 렌더링 하도록 할당된 텍스쳐 주소 연산 유닛들이 필요로 하는 텍셀을 텍스쳐 이미지 상에서 나타낸 예시도이다.
여기에 도시된 바와 같이 텍스쳐 이미지(Texture Image, 40) 위에 떨어지는인접한 픽셀을 렌더링 하는 픽셀 프로세서(Pixel Processor)들의 텍셀 흔적(Footprint)들은 서로 겹치거나 인접해 있게 된다.
다시 설명하면 제 1픽셀 프로세서(PP1)와 제 2픽셀 프로세서(PP2)는 두 텍셀이 겹쳐 있으며, 제 2픽셀 프로세서(PP2)와 제 2픽셀 프로세서(PP3)는 한 텍셀이 서로 겹쳐있다. 같은 방법으로 제 4픽셀 프로세서(PP4)와 제 5픽셀 프로세서(PP5)의 텍셀은 서로 두 개 겹쳐있게 된다.
따라서, 랜더링 파이프라인(10)에 여러 개의 텍스쳐 유닛이 병렬로 동작하는 경우에, 서로 인접하는 픽셀을 렌더링 할 경우 많은 수의 텍셀이 서로 겹치게 된다. 이와 같이 실제로 필요한 텍셀의 수는 픽셀 프로세서가 x개인 경우 4*x개보다 작은 수가 된다.
그래서, 텍스쳐 주소 정렬기(210)는 x개의 병렬 텍스쳐 연산 유닛(110)에서 출력된 x개의 LOD와 4*x개의 텍스쳐 주소를 정렬하여, 텍스쳐 이미지(40) 상에서 서로 겹치는 부분에 의한 중복된 텍스쳐 주소의 개수를 줄여준다.
따라서, 텍스쳐 주소 정렬기(210)에서 나오는 정렬된 텍스쳐 주소(ata0∼ataz-1)의 수는 4*x보다 작은 수가 된다. 이는 텍셀의 공간국소(Spatial Locality)를 이용한 것이다.
이와 같이 텍스쳐 주소 정렬기(210)에서 인접한 픽셀에서 서로 중복되는 텍스쳐 주소의 개수가 줄어든 텍스쳐 주소(ata0∼ataz-1)는 텍스쳐 주소 비교기(220)에 입력된다.
텍스쳐 주소 비교기(220)에서는 텍스쳐 주소 정렬기(210)로부터 출력된 개수가 줄어든 텍스쳐 주소(ata0∼ataz-1)를 이전 싸이클에서 저장된 텍스쳐 주소와 비교한다. 이는 연속된 싸이클의 텍스쳐 주소는 앞의 경우와 비슷하게 서로 겹치거나 인접하여 있을 경우가 많기 때문에, 이전 싸이클에 저장된 텍스쳐 주소와 비교하면 이전 싸이클에서 텍스쳐 메모리(30)로부터 가져온 텍스쳐 데이터를 다시 가져오지 않아도 되므로 텍스쳐 주소의 개수를 더욱 줄일 수 있게 된다.
따라서, 텍스쳐 주소 비교기(220)로부터 출력되는 텍스쳐 주소(rta0∼rtay-1)는 텍스쳐 주소 정렬기(210)에서 출력되는 텍스쳐 주소(ata0∼ataz-1)의 수보다도 더 적은 수가 된다. 이는 텍셀의 시간국소(Temporal Locality)를 이용한 것이다.
이렇게 개수가 줄어든 텍스쳐 주소를 입력받아 텍스쳐 메모리 컨트롤러(230)에서 메모리 주소 및 커맨드 등의 컨트롤 신호(tma0∼tmam-1)를 출력하여 텍스쳐 메모리(30)에서 텍스쳐 데이터(tmd0∼dmdm-1)를 읽어오게 된다. 이때, 텍스쳐 메모리(30)는 한 개 이상의 독립적으로 동작하는 메모리가 될 수 있으며, 또한 여러 개의 뱅크(Bank)로 구성된 하나의 메모리 또는 이들의 조합이 될 수 있다.
텍스쳐 메모리(30)로부터 읽혀진 텍스쳐 데이터(tmd0∼dmdm-1)는 텍스쳐 데이터 레지스터(240)로 저장된다.
이렇게 저장된 텍스쳐 데이터(tmd0∼dmdm-1)는 텍스쳐 주소 비교기(220)에서 출력되는 텍스쳐 데이터 제어신호(tdctrl)와, 텍스쳐 주소 정렬기(210)에서 출력되는 정렬 컨트롤 신호(actrl)에 의해 텍스쳐 주소를 줄이기 위해 정렬된 역순에 의해 텍스쳐 데이터(rtd0∼rtdy-1)를 다시 정렬하여 랜더링 파이프라인(10)의 텍스쳐필터링 유닛(120)에서 필요한 텍스쳐 데이터(td10∼3,∼,tdx0∼tdx3)를 넘겨주어 3차원 랜더링을 하도록 한다.
본 실시예에서는 텍스쳐 메모리(30)는 일반적 의미의 텍스쳐 메모리(30)를 사용하였지만 반드시 이에 국한되는 것은 아니며, 텍스쳐 캐쉬로 구성될 수도 있다. 이 경우 텍스쳐 메모리(30)는 텍스쳐 캐쉬를 통해서 본 발명에 의한 텍스쳐 메모리 억세스 장치(200)와 연결된다.
상기한 바와 같이 본 발명은 3차원 컴퓨터 그래픽 시스템에서 화면상의 서로 인접한 픽셀을 렌더링할 때 서로 인접한 픽셀을 렌더링할 때 서로 인접하여 겹치거나 이전 주소와 겹치는 텍스쳐 주소를 정렬하여 실제 필요한 텍스쳐 주소를 통해 텍스쳐 메모리를 억세스 하도록 함으로써 병렬로 동작하는 인접한 픽셀을 렌더링 하는 여러 개의 픽셀 프로세서를 갖고 있는 렌더링 파이프라인에 대하여 요구되는 텍스쳐 메모리의 대역폭을 줄일 수 있는 이점이 있다.
또한, 본 발명은 텍스쳐 메모리에 억세스 되는 텍스쳐 주소의 개수가 줄어들기 때문에 텍스쳐 캐쉬에 사용할 경우 픽셀 프로세서로부터 텍스쳐 캐쉬로의 요구를 줄여 같은 크기의 캐쉬에 대해 그 성능을 높일 수 있는 이점이 있다.
또한, 간단한 주소 정렬기 및 비교기에 의해 텍스쳐 메모리의 대역폭을 줄여주기 때문에 낮은 전력에서 높은 성능을 나타낼 수 있는 이점이 있다.
또한, 저전력에서 높은 성능을 나타냄으로써 고가 및 저가의 PC나 워크스테이션 또는 게임기를 비롯한 컴퓨터 시스템과, 저전력으로 동작하는 휴대용 기기에서도 실시간 텍스쳐 매핑의 성능을 증가시켜 3차원 컴퓨터 그래픽을 보다 현실감 있게 구현할 수 있는 이점이 있다.
Claims (5)
- 병렬로 동작하는 텍스쳐 유닛들로부터 다수개의 텍스쳐 메모리의 주소들을 받아들여 중복되는 텍스쳐 주소를 정렬하여 출력하는 텍스쳐 주소 정렬기와;상기 텍스쳐 주소 정렬기에서 정렬된 주소를 이전 클록 싸이클에서 저장되었던 주소와 비교하여 중복되는 텍스쳐 주소를 정렬하여 출력하는 텍스쳐 주소 비교기와;상기 텍스쳐 주소 비교기에서 출력되는 텍스쳐 주소를 이용하여 텍스쳐 메모리를 컨트롤하는 텍스쳐 메모리 컨트롤러와;상기 텍스쳐 메모리로부터 읽어온 텍셀 데이터를 임시로 저장하는 텍스쳐 데이터 레지스터와;상기 텍스쳐 데이터 레지스터의 값들을 상기 텍스쳐 주소 정렬기와 상기 텍스쳐 주소 비교기에서 출력되는 제어신호에 의해 텍스쳐 데이터를 재정렬하여 텍스쳐 유닛들로 보내주는 텍스쳐 데이터 정렬기로 이루어진 것을 특징으로 하는 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치.
- 제 1항에 있어서, 상기 텍스쳐 유닛은, 랜더링에 필요한 텍스쳐 주소를 계산해 내는 텍스쳐 주소 연산 유닛과;텍스쳐 데이터에 의해 랜더링을 하는 텍스쳐 필터링 유닛으로 이루어진 것을 특징으로 하는 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치.
- 제 1항에 있어서, 상기 병렬로 동작하는 텍스쳐 유닛은 두 개 이상으로 이루어진 것을 특징으로 하는 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치.
- 제 1항에 있어서, 상기 텍스쳐 메모리는 텍스쳐 캐쉬인 것을 특징으로 하는 3차원 컴퓨터 그래픽 시스템에서의 텍스쳐 메모리 억세스 유닛.
- 제 1항에 있어서, 상기 텍스쳐 메모리는, 한 개 이상의 독립적으로 동작하는 메모리이거나 여러 개의 뱅크(Bank)로 구성된 하나의 메모리 또는 이들의 조합으로 이루어진 것을 특징으로 하는 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0007868A KR100427523B1 (ko) | 2002-02-14 | 2002-02-14 | 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0007868A KR100427523B1 (ko) | 2002-02-14 | 2002-02-14 | 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030068219A KR20030068219A (ko) | 2003-08-21 |
KR100427523B1 true KR100427523B1 (ko) | 2004-04-28 |
Family
ID=32221334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0007868A KR100427523B1 (ko) | 2002-02-14 | 2002-02-14 | 3차원 컴퓨터 그래픽 시스템의 텍스쳐 메모리 억세스 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100427523B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710933B2 (en) | 2014-10-21 | 2017-07-18 | Samsung Electronics Co., Ltd. | Method and apparatus for processing texture |
US9773476B2 (en) | 2014-10-22 | 2017-09-26 | Samsung Electronics Co., Ltd. | Cache memory system for a pixel shader and method of operating the same |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101327792B1 (ko) * | 2007-10-08 | 2013-11-11 | 연세대학교 산학협력단 | 텍스쳐 매핑을 위한 메모리 억세스 장치 및 방법 |
-
2002
- 2002-02-14 KR KR10-2002-0007868A patent/KR100427523B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710933B2 (en) | 2014-10-21 | 2017-07-18 | Samsung Electronics Co., Ltd. | Method and apparatus for processing texture |
US9773476B2 (en) | 2014-10-22 | 2017-09-26 | Samsung Electronics Co., Ltd. | Cache memory system for a pixel shader and method of operating the same |
Also Published As
Publication number | Publication date |
---|---|
KR20030068219A (ko) | 2003-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6204863B1 (en) | Method for dynamic XY tiled texture caching | |
US6246422B1 (en) | Efficient method for storing texture maps in multi-bank memory | |
JP2637931B2 (ja) | テクスチャ・マッピングを行うコンピュータ・システム | |
US8669999B2 (en) | Alpha-to-coverage value determination using virtual samples | |
US7151544B2 (en) | Method for improving texture cache access by removing redundant requests | |
US6819324B2 (en) | Memory interleaving technique for texture mapping in a graphics system | |
US7872657B1 (en) | Memory addressing scheme using partition strides | |
KR100648293B1 (ko) | 그래픽 시스템 및 그것의 그래픽 처리 방법 | |
US20030174136A1 (en) | Multipurpose memory system for use in a graphics system | |
US7330188B1 (en) | Texture caching arrangement for a computer graphics accelerator | |
US20040246260A1 (en) | Pixel cache, 3D graphics accelerator using the same, and method therefor | |
US7884831B2 (en) | Reconfigurable high-performance texture pipeline with advanced filtering | |
US20060098021A1 (en) | Graphics system and memory device for three-dimensional graphics acceleration and method for three dimensional graphics processing | |
US20020171651A1 (en) | Graphics fragment merging for improving pixel write bandwidth | |
Doggett | Texture caches | |
KR20060116916A (ko) | 텍스쳐 캐쉬 및 이를 구비한 3차원 그래픽 시스템, 그리고그것의 제어 방법 | |
US6847369B2 (en) | Optimized packing of loose data in a graphics queue | |
US20030038810A1 (en) | Predictive optimizer for dram memory | |
US7069387B2 (en) | Optimized cache structure for multi-texturing | |
US20050225557A1 (en) | Method and apparatus for reading texture data from a cache | |
US20050052449A1 (en) | Novel design for a non-blocking cache for texture mapping | |
US6661423B2 (en) | Splitting grouped writes to different memory blocks | |
US7360020B2 (en) | Method for improving cache-miss performance | |
US6982719B2 (en) | Switching sample buffer context in response to sample requests for real-time sample filtering and video generation | |
KR100806345B1 (ko) | 3차원 그래픽 가속기 그리고 텍스쳐 데이터 독출 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120330 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |