KR20010002990A - Cache memory for 3D graphic texture and its cache miss penalty reducing method - Google Patents

Cache memory for 3D graphic texture and its cache miss penalty reducing method Download PDF

Info

Publication number
KR20010002990A
KR20010002990A KR1019990023092A KR19990023092A KR20010002990A KR 20010002990 A KR20010002990 A KR 20010002990A KR 1019990023092 A KR1019990023092 A KR 1019990023092A KR 19990023092 A KR19990023092 A KR 19990023092A KR 20010002990 A KR20010002990 A KR 20010002990A
Authority
KR
South Korea
Prior art keywords
lod
texture
subclip
cache
stack
Prior art date
Application number
KR1019990023092A
Other languages
Korean (ko)
Other versions
KR100291628B1 (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 KR1019990023092A priority Critical patent/KR100291628B1/en
Priority to US09/596,775 priority patent/US6891546B1/en
Publication of KR20010002990A publication Critical patent/KR20010002990A/en
Application granted granted Critical
Publication of KR100291628B1 publication Critical patent/KR100291628B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

PURPOSE: A cache memory for mapping of a three-dimension graphic texture and method for reducing a cache miss penalty is provided to reduce a penalty generated upon a cache miss by predicting and prefetching the texture to be needed later . CONSTITUTION: The first and second DRAM bank(10,20) have a SAM port for reading texture for a trilinear interpolation and for bringing sub-clip of a new texture from exterior. A sub-clip board loader(30) is connected to the first and second DRAM bank(10,20). The trilinear interpolation(40) bring 4 texels from 2 layers on a mipmap to implements trilinear interpolation. A control part(60) control each component as a whole. A CAM(21) determines which 8 texels that is in location of an integer coordinate exist in the first and second bank(10,20).

Description

3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리 및 그의 캐쉬 미스 페널티 저감방법{Cache memory for 3D graphic texture and its cache miss penalty reducing method}Cache memory for 3D graphic texture and its cache miss penalty reducing method

본 발명은 PC용 고성능 3차원 그래픽 카드, 3차원 게임기 및 기타 소형 고성능 3차원 그래픽을 요구하는 분야에 적용 가능한 텍스쳐 맵핑용 캐쉬 메모리에 관한 것으로서, 상세하게는 트라이리니어 인터폴레이션을 이용한 밉맵핑에 의하여 텍스쳐 맵핑을 가속화시킬 수 있는 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리 및 앞으로 필요하게 될 텍스쳐들을 하드웨어적으로 예측하여 프리페칭(hardware- predicted prefetching)하므로써 캐쉬 미스 시에 발생하는 페널티를 줄일 수 있는 캐쉬 미스 페널티 저감방법에 관한 것이다.The present invention relates to a cache memory for texture mapping applicable to fields requiring high performance 3D graphics cards for PCs, 3D game machines and other small high performance 3D graphics, and in particular, textures by mipmapping using trilinear interpolation. Cache memory for 3D graphics texture mapping and hardware-predicted prefetching for future textures that can accelerate mapping, reducing cache miss penalties to reduce penalties for cache misses It is about a method.

3차원 그래픽 시스템에서 보다 현실감 있는 장면을 얻기 위한 방법으로 텍스쳐 맵핑(texture mapping) 기술이 주로 이용된다. 텍스쳐 맵핑이란, 3차원 물체의 표면에 질감을 주기 위해서 실제 카메라로부터 촬영된 2차원 이미지를 물체 표면에 입히는 것을 말하며, 텍스쳐(texture)란 이러한 2차원 이미지를 말하고, 텍스쳐 내의 각 점들은 스크린 상의 픽셀(pixel)에 대비해서 텍셀(texel)이라 부른다.In order to obtain a more realistic scene in a 3D graphics system, texture mapping technique is mainly used. Texture mapping refers to the application of two-dimensional images taken from a real camera onto the surface of an object in order to texture the surface of a three-dimensional object. Texture refers to these two-dimensional images, and each point in the texture is a pixel on the screen. It is called texel for (pixel).

그러나, 이 기술을 적용함에 있어서, 계산량을 줄이기 위하여 2차원 이미지, 즉 텍스쳐를 3차원 물체의 표면 위에 입힌 후, 2차원의 스크린 위로 투영시키는 것이 아니고(스크린에 보이지 않는 부분까지 2차원 텍스쳐를 입히는 계산을 해야 하므로), 일반적으로 2차원 스크린에 투영된 이미지의 각 픽셀로부터 이들의 3차원 공간상의 물체 표면의 좌표를 구한 후, 이에 해당하는 2차원 텍스쳐 좌표를 계산해서 해당되는 텍셀을 찾아서 스크린 상의 픽셀의 색을 정하게 된다.However, in applying this technique, two-dimensional images, or textures, are applied to the surface of three-dimensional objects in order to reduce the amount of computation, and then the two-dimensional textures are not projected onto the two-dimensional screen (to the part not visible on the screen). In general, the coordinates of the object surface in their three-dimensional space are obtained from each pixel of the image projected on the two-dimensional screen, and then the corresponding two-dimensional texture coordinates are calculated to find the corresponding texel. The color of the pixel is determined.

이러한 텍스쳐 맵핑 기술은 스크린 상에 표시되는 한 픽셀에 맵핑 되는 텍스쳐 공간상의 영역이 정확히 한 텍셀 영역으로 맵핑 되지 않기 때문에 화면상의 에이리어징 현상을 일으키게 된다.This texture mapping technique causes an aliasing phenomenon on the screen because an area in the texture space that is mapped to one pixel displayed on the screen is not mapped to exactly one texel area.

밉매핑(mipmapping)의 개념을 나타낸 도 1을 예로 들면, 도 1의 우측의 2차원 스크린 상으로 투영된 도로와 같은 경우, 도로의 a나 b 영역에 해당하는 관측자에 가까운 픽셀들은 텍스쳐 공간상에 하나의 텍셀로 맵핑 된다고 가정하면, c나 d와 같이 관측자로부터 먼 영역의 픽셀은 텍스쳐 공간상에서 여러 개의 텍셀 영역으로 맵핑 되므로, 이 때 여러 개의 텍셀 값을 대표할 수 있는 텍스쳐 값을 가져와서 스크린상의 한 픽셀 값으로 맵핑 식혀 주지 않으면 영상이 찌그러지는 결과를 가져오게 된다.For example, in FIG. 1 illustrating the concept of mipmapping, in the case of a road projected onto a two-dimensional screen on the right side of FIG. 1, pixels close to the viewer corresponding to the a or b area of the road are displayed in texture space. Assuming that the texels are mapped to a single texel, pixels in an area far away from the viewer, such as c or d, are mapped to multiple texel areas in texture space, so that a texture value representing multiple texel values can be obtained. If you do not cool the mapping to a pixel value, the image will be distorted.

이러한 여러 개의 텍셀들의 대표되는 값을 구하는 쉬운 방법으로, 텍스쳐 공간으로 맵핑된 영역 내의 모든 텍셀 값의 평균을 구해서 이용하는 방법이 많이 사용되고 있으며, 이를 텍스쳐 필터링(texture filtering)이라고 한다.As an easy way to obtain a representative value of these texels, a method of obtaining and using an average of all texel values in a region mapped into the texture space is widely used. This is called texture filtering.

상술한 텍스쳐 필터링은 많은 시간을 요구하므로, 이를 좀 더 빠르게 하기 위한 방법으로 많이 사용되는 방법이 밉맵핑에 의한 방법이다.Since the above-described texture filtering requires a lot of time, a method that is frequently used as a method for speeding it up is the method by mipmapping.

밉맵핑은 도 1의 왼쪽에서와 같이 원래 텍스쳐 이미지(도면상에서 LOD 0에서의 이미지가 원래 텍스쳐 이미지다. LOD(Level Of Detail)란 화면상의 한 픽셀이 텍스쳐 공간상의 몇 개의 텍셀 영역을 커버하는지를 나타내는 값이다.)를 미리 필터링 및 서브샘플링(subsampling)해서 여러 LOD 레벨의 텍스쳐들(mipmap)을 만들어 두고, 현재 화면상에 뿌려지는 픽셀이 텍스쳐 공간으로 맵핑될 때 계산되어지는 LOD 및 (u, v) 좌표 값에 의해서 밉맵핑상에서 적절한 LOD 레벨들로부터 필요로 하는 텍셀을 가져와서 화면상에 뿌리는 방식이다.Mipmapping refers to the original texture image (the image at LOD 0 in the drawing is the original texture image, as shown on the left side of Figure 1. LOD (Level Of Detail) refers to how many texel regions in a texture space a pixel on the screen covers). Value) to pre-filter and subsample to create different LOD level textures (mipmaps), and to calculate the LOD and (u, v) computed when the pixels currently scattered on the screen are mapped into texture space. By fetching the necessary texels from the appropriate LOD levels on the mip-mapping by the coordinate values and spreading them on the screen.

여기서, 텍스쳐 공간으로 맵핑된 LOD 및 (u, v) 값은 소수점 이하의 값을 가지고(스크린 상의 정수치인 (x, y) 좌표가 변환 매트릭스(transform matrix)를 거쳐서 나온 값이므로 소수점 이하의 값을 가지게 된다), 현재 밉맵상에 존재하는 값들은 LOD 및 (u, v)가 정수인 위치에서의 값들이다. 그러므로 스크린 상에서 현재 그리고자하는 픽셀이 텍스쳐 공간으로 맵핑된 정확한 LOD 및 (u, v) 위치에서의 텍스쳐 값은 현실적으로 존재하지 않는다. 그러나 밉맵 상에서 이 값과 가장 가까운 정수치 위치에서의 값들을 읽고 이들을 정확한 위치에서의 거리 차와의 관계를 이용해서 보간하게 된다.Here, the LOD and (u, v) values mapped to the texture space have values below the decimal point (since (x, y) coordinates, which are integer values on the screen, are obtained through a transform matrix, Values currently on the mipmap are those at locations where LOD and (u, v) are integers. Therefore, the texture values at the exact LOD and (u, v) locations where the pixel you want to draw on the screen are mapped into the texture space are not realistic. However, we read the values at the nearest integer location on the mipmap and interpolate them using the relationship to the distance difference at the exact location.

예를 들어, 도 2에서와 같이 LOD=0.6, u=23.25, v=30.50으로 맵핑된 픽셀에 대한 텍셀 값을 구하는 방법은 아래와 같다.For example, as shown in FIG. 2, a method of obtaining a texel value for a pixel mapped to LOD = 0.6, u = 23.25, and v = 30.50 is as follows.

1) LOD가 0.6 이므로, 먼저 LOD 0에서 u=23.25, v=30.50에 가장 가까운 정수 좌표 위치((23, 30),(23, 31),(24, 30),(24, 31))에 있는 텍셀 값들을 읽어서 실제 정확한 좌표 위치와 이들과의 거리 관계를 이용해서 LOD 0에서의 대표되는 값을 구한다.1) Since LOD is 0.6, first, at the integer coordinate positions ((23, 30), (23, 31), (24, 30), (24, 31)) closest to u = 23.25, v = 30.50 at LOD 0 Read the texel values, and find the representative value at LOD 0 using the actual exact coordinate position and the distance between them.

2) LOD 1에서 대표되는 값을 구하기 위해서 u=23.25/2=11.62, v=30.50/2=15.25 에서 가장 가까운 정수 위치((11, 15), (11, 16), (12, 15), (12, 16))에서의 텍셀 값들을 읽어서 실제 정확한 좌표 위치와 이들과의 거리 관계를 이용해서 LOD 1에서 대표되는 값을 구한다.2) The nearest integer positions u (23.25 / 2 = 11.62, v = 30.50 / 2 = 15.25 to find the value represented by LOD 1 ((11, 15), (11, 16), (12, 15), Read the texel values in (12, 16)) and find the value represented by LOD 1 using the actual exact coordinate position and the relationship between them.

3) LOD 0과 LOD 1에서 대표되는 두 값을 실제 정확한 LOD 값(0.6) 과의 차이를 이용해서 도 2와 같이 최종적인 대표 텍셀 값을 구하게 된다.3) The final representative texel value is obtained as shown in FIG. 2 using the difference between the two values represented by LOD 0 and LOD 1 from the actual accurate LOD value (0.6).

이와 같이 밉맵핑 방식은 빠른 텍스쳐 맵핑을 위해서 미리 여러 LOD 레벨의 텍스쳐들을 만들어 두고, 프로그램 수행시에 대표되는 텍셀의 값을 구하기 위해 8개의 텍셀을 읽고, 인터폴레이션(이러한 인터폴레이션 방식을 트라이리니어 인터폴레이션이라 한다)을 행한 후 이를 대표 값으로 이용하게 된다.In this way, the mipmapping method creates textures of various LOD levels in advance for fast texture mapping, reads 8 texels to obtain the value of the texel that is representative when the program is executed, and interpolates (this interpolation method is called trilinear interpolation). ) Is used as a representative value.

이는 정확한 필터링에 의한 방법보다는 훨씬 빠른 방법이지만, 여전히 실시간 3 차원 그래픽에서 밉맵핑을 위해 8개의 텍셀을 메모리로부터 순차적으로 읽는데 걸리는 시간은 큰 문제점이 되고 있다.This is a much faster method than the exact filtering method, but the time taken to sequentially read eight texels from memory for mipmapping in real-time three-dimensional graphics is still a big problem.

따라서, 이러한 문제점을 해결하기 위한 고속 텍스쳐 맵핑을 위한 방법으로 도 3에서와 같이 두 개의 LOD 레벨의 텍셀들을 저장할 수 있는 메모리 뱅크(memory bank)를 각기 따로 준비하고, 각 메모리 뱅크 내에 저장된 텍셀들과 텍스쳐 공간상의 텍셀의 위치가 도 4(각 텍셀영역 내의 숫자는 저장되는 메모리 뱅크를 표시한다)와 같이 맵핑 되게 저장함으로써 동시에 8개의 텍셀을 엑세스해서 트라이리니어 인터폴레이터로 넘기고 이들을 한 클럭사이클 만에 인터폴레이션해서 대표되는 텍셀 값을 구할 수 있는 구조가 제안되었다.Accordingly, as a method for fast texture mapping to solve this problem, as shown in FIG. 3, a memory bank capable of storing two LOD levels of texels is separately prepared, and texels stored in each memory bank are separately prepared. By storing the texels' locations in texture space mapped as shown in FIG. 4 (the numbers in each texel area represent the memory banks being stored), accessing eight texels at the same time and passing them to the trilinear interpolator and interpolating them in one clock cycle. A structure for obtaining a representative texel value has been proposed.

그러나 실제 3 차원 그래픽 시스템의 응용에서는 다양한 크기의 텍스쳐 이미지들이 이용되고 있으므로, 도 3과 같은 텍스램(texram) 구조가 그대로 적용되기 위해서는 앞으로 사용되어질 텍스쳐 이미지 보다 충분히 큰 메모리가 준비되어 있지 않으면 안되고, 매 픽셀을 그릴 때마다 LOD 값이 크게 변화하는 경우는 메모리 속의 내용을 계속해서 변경하기 위해 많은 시간이 소모되게 된다. 이는 곧 비효율적인 메모리 사용 및 가격상승의 요인이 되므로 도 3과 같은 구조는 현실적으로 구현해서 사용하기에는 문제가 있다.However, since the texture images of various sizes are used in the application of the actual 3D graphics system, in order to apply the texram structure as shown in FIG. 3, a memory larger than the texture image to be used in the future must be prepared. If the LOD value changes significantly with every pixel drawing, it takes a lot of time to continuously change the contents in memory. Since this is a factor of inefficient memory usage and price increase, there is a problem in that the structure of FIG. 3 is practically implemented.

또 하나의 통용되는 개념으로는 도 5와 같이 밉맵 상에서 LOD 레벨이 낮아질수록 텍스쳐 이미지 저장을 위한 공간이 기하급수적으로 늘어나게 되므로, 상위 수 개의 LOD 레벨의 텍스쳐들만 현재 시스템 메모리 위로 전부 올리고(clipmap pyramid), 나머지 LOD 레벨의 값들은 현재 화면상에 그려지는 부분만을 올려두고(clipmap stack) 필요에 따라서 다른 부분들은 전체 밉맵을 저장하고 있는 하드디스크로부터 가져와서 이용함으로써, 대형의 텍스쳐 이미지를 이용해서 텍스쳐 맵핑을 할 때 시스템 메모리 용량을 크게 줄여 줄 수 있는 방법이 제안되었으며, 이를 클립맵(clipmap)이라 한다.Another commonly used concept is that as the LOD level is lowered on the mipmap as shown in Fig. 5, the space for storing the texture image increases exponentially, so that only the textures of the top several LOD levels are raised above the current system memory (clipmap pyramid). The rest of the LOD level values are mapped onto the texture by using a large texture image, leaving only the portion currently drawn on the screen (clipmap stack) and importing the other portions from the hard disk where the entire mipmap is stored, if necessary. A method that can greatly reduce the system memory capacity has been proposed, and this is called a clipmap.

그러나 이 클립맵 방법은 하드디스크와 시스템 메모리간에 적용되고 있으며, 모든 동작이 소프트웨어적으로 이루어지므로 시스템 메모리의 용량을 줄이는 것이 주목적이지 텍스쳐 맵핑을 가속하기 위한 방법은 아니다.However, this clipmap method is applied between the hard disk and the system memory, and since all operations are performed in software, it is the main purpose to reduce the system memory capacity, not to accelerate the texture mapping.

상술한 바와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 클립맵의 개념을 시스템 메모리와 텍스쳐 맵핑용 캐쉬 메모리와의 관계에 적용시키면서 하드웨어적으로 밉맵핑을 가속화시킬 수 있는 캐쉬 메모리 및 캐쉬 미스 시 발생하는 페널티를 줄일 수 있는 캐쉬 미스 페널티 저감방법을 제공하는데 있다.An object of the present invention for solving the problems of the prior art as described above is to apply the concept of the clip map to the relationship between the system memory and the cache memory for texture mapping cache memory and cache that can accelerate mipmapping in hardware It is to provide a cache miss penalty reduction method that can reduce the penalty incurred in miss.

도 1은 밉매핑(mipmapping)의 개념도1 is a conceptual diagram of mipmapping.

도 2는 트라이리니어 인터폴레이션(trilinear interpolation)의 예제도2 is an example of trilinear interpolation

도 3은 텍스램(texram)의 구조도3 is a structural diagram of a texram

도 4는 텍스램에서의 텍셀(texel) 배치도4 is a texel layout in texram

도 5는 클립맵(clipmap)의 개념도5 is a conceptual diagram of a clipmap

도 6은 본 발명의 일 실시예에 따른 텍스쳐 맵핑용 캐쉬 메모리의 개념도6 is a conceptual diagram of a cache memory for texture mapping according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 텍스쳐 맵핑용 캐쉬 메모리의 구조도7 is a structural diagram of a cache memory for texture mapping according to an embodiment of the present invention;

도 8은 텍스쳐 서브클립(subclip)의 예측 및 교체 과정을 나타낸 도8 illustrates a process of predicting and replacing a texture subclip.

도 9는 텍스쳐 스택층(texture stack layer)의 예측 및 교체 과정을 나타낸 도9 illustrates a process of predicting and replacing a texture stack layer.

* 도면의 주요부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

10 : 제1 DRAM 뱅크 20 : 제2 DRAM 뱅크10: first DRAM bank 20: second DRAM bank

21 : CAM(Content Addressable Memory)21: CAM (Content Addressable Memory)

30 : 서브클립 로더 40 : 트라이리니어 인터폴레이터30: subclip loader 40: trilinear interpolator

50 : 서브클립 예측기 60 : 제어기50: subclip predictor 60: controller

상술한 목적을 달성하기 위한 본 발명의 기술적 사상은 트라이리니어 인터폴레이션을 이용한 밉맵핑 가속을 위하여 적당한 크기의 워킹 셋(working set) 만큼의 텍스쳐만을 저장하는 캐쉬 메모리를 만들고, 한 클럭 사이클만에 트라이리니어 인터폴레이션을 위해서 필요한 8개의 텍셀을 모두 엑세스해서 최종 텍셀의 값을 구해 낼 수 있는 특수한 구조를 갖는 캐쉬를 구성함으로써 다양한 크기의 텍스쳐 이미지들에 대해서 효율적으로 적용이 가능하면서 소형, 저가의 시스템에서도 텍스쳐 맵핑 가속이 가능하도록 하는 것이다.The technical idea of the present invention for achieving the above object is to create a cache memory that stores only a working set of a texture of a suitable size for mip-mapping acceleration using trilinear interpolation, trilinear in one clock cycle By accessing all eight texels needed for interpolation and constructing a cache with a special structure to obtain the final texel value, texture mapping can be efficiently applied to texture images of various sizes and texture mapping in small and low-cost systems. It is to make acceleration possible.

또한 캐쉬 미스(cache miss) 발생 시에 발생하는 페널티(penalty)를 줄이기 위해서 앞으로 필요하게 될 텍스쳐들을 하드웨어적으로 예측해서 프리페칭(prefetching)함으로써 캐쉬 미스 시 발생하는 페널티를 줄이는 것이다.In addition, to reduce the penalties incurred by cache misses, the penalties incurred by cache misses are reduced by prefetching and predicting the textures that will be needed in the future.

이하, 본 발명의 바람직한 실시예에 대하여 첨부도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 텍스쳐 맵핍용 캐쉬 메모리의 개념은 도 6에 나타낸 바와 같이 밉맵 상의 최상위 수개(예를 들어, 5개) LOD 레벨의 텍셀들을 모두 저장하는 클립램 피라미드와 나머지 LOD 레벨 중에서 현재 필요로 하는 워킹 셋 만을 저장하는 클립램 스택으로 구성된다.As shown in FIG. 6, the concept of the cache memory for texture map depletion includes a Clipram pyramid that stores all the top-level (eg, five) LOD levels of texels on the mipmap, and a work currently required among the remaining LOD levels. It consists of a clipram stack that stores only three.

클립램 스택은 4개의 LOD 레벨에서의 워킹 셋을 동시에 저장할 수 있으며, 각 LOD 레벨은 16개(4*4)의 서브클립으로 이루어진다. 이 서브클립들은 캐쉬 미스 발생시 뿐만 아니라, 미리 필요한 서브클립을 예측하는 서브클립 예측기(subclip predictor)에 의해서 정상 동작중에도 전체 밉맵을 저장하고 있는 외부 메모리로부터 내용 교체가 가능한 하드웨어적인 예측에 의한 프리페칭이 가능하며, 이로써 캐쉬 미스 페널티를 줄이게 된다.The clipram stack can simultaneously store working sets at four LOD levels, with each LOD level consisting of 16 (4 * 4) subclips. These subclips are prefetched by a hardware prediction that can replace contents from external memory that stores the entire mipmap during normal operation by the subclip predictor that predicts the necessary subclips not only when a cache miss occurs. Yes, this reduces your cache miss penalty.

상술한 개념의 텍스쳐 맵핑용 캐쉬 메모리(클립램)의 구조는 도 7에 나타낸 바와 같다.The structure of the texture mapping cache memory (clip RAM) of the above concept is as shown in FIG.

즉, 최상위 수개(예를 들어, 5개)의 LOD 레벨에 대한 텍셀들을 모두 저장하는 클립램 피라미드를 형성하는 제1 DRAM 뱅크(10)와, 나머지 LOD 레벨에서 현재 필요로 하는 워킹 셋만을 저장하는 클립램 스택을 형성하는 제2 DRAM 뱅크(20)와, 상기 제1, 2 DRAM 뱅크(10)(20)들은 트라이리니어 인터폴레이션을 위한 텍스쳐 읽기와 동시에 외부로부터 새로운 텍스쳐 서브클립을 가져오기 위한 SAM(Serial Access Memory) 포트를 구비하며, 상기 제1, 2 DRAM 뱅크(10)(20)의 SAM 포트에 연결되며 외부 메모리로부터 새로운 텍스쳐 서브클립을 가져오는 서브클립 로더(30)와, 밉맵상의 2개 층에서 각각 4개의 텍셀을 가져와 트라이리니어 인터폴레이션을 수행하는 트라이리니어 인터폴레이터(40) 및 캐쉬 미스시의 페널티를 줄이기 위하여 하드웨어적인 예측에 의하여 서브클립을 프리페칭 하는 서브클립 예측기(50)와, 상술한 텍스쳐 맵핑용 캐쉬 메모리 구성부 전체를 제어하는 제어기(60) 및 현재 스크린에 그려질 픽셀의 텍스쳐 공간상으로 맵핑된 LOD 및 (u, v) 좌표가 제어기(60)에 입력되면, 이 LOD 및 (u, v) 좌표를 중심으로 정수 좌표 위치에 존재하는 8개의 텍셀이 제1, 2 DRAM 뱅크(10)(20)에 존재하는지를 체크하는 CAM(Content Addressable Memory : 21)로 구성된다.That is, the first DRAM bank 10 to form a scramble pyramid that stores all the texels for the highest number (eg, five) LOD levels, and only the working sets currently required for the remaining LOD levels. The second DRAM bank 20 and the first and second DRAM banks 10 and 20 forming the scramble stack are simultaneously read from a texture for trilinear interpolation and a SAM for importing a new texture subclip from the outside. Serial access memory) port, connected to the SAM port of the first and second DRAM banks 10 and 20, the subclip loader 30 to retrieve a new texture subclip from the external memory, and 2 on the mipmap Pre-fetching subclips by hardware prediction in order to reduce penalty of cache miss and trilinear interpolator 40 which takes four texels in each layer and performs trilinear interpolation. The sub-clip predictor 50, the controller 60 for controlling the above-described texture mapping cache memory component, and the LOD and (u, v) coordinates mapped onto the texture space of the pixel to be drawn on the current screen are controlled by the controller ( 60), a CAM (Content Addressable Memory) for checking whether eight texels existing at integer coordinate positions around the LOD and (u, v) coordinates exist in the first and second DRAM banks 10 and 20. : 21).

상술한 구성을 갖는 텍스쳐 맵핑용 캐쉬 메모리의 기본 동작에 대하여 설명한다.The basic operation of the texture mapping cache memory having the above-described configuration will be described.

먼저, 클립램 피라미드를 위한 제1 DRAM 뱅크(10) 상에는 현재 텍스쳐를 위한 최상위 수개 LOD의 모든 텍셀들이 다 존재하므로 실행 중에 내용의 변경이 필요 없다. 그러나 클립램 스택을 위한 제2 DRAM 뱅크(20) 상에는 현재 필요로 하는 워킹 셋만을 저장하고 있으므로 실행 중에 계속해서 내용의 변경이 필요하다. 현재 스크린에 그려질 픽셀의 텍스쳐 공간상으로 맵핑된 LOD 및 (u, v) 좌표가 제어기(60)에 입력되면, 이 LOD 및 (u, v) 좌표를 중심으로 정수 좌표 위치에 존재하는 8개의 텍셀이 존재하는지를 CAM(Content Addressable Memory : 21)을 이용해서 제1, 2 DRAM 뱅크(10)(20)를 체크하고 존재하면 8개의 텍셀을 동시에 읽어서 트라이리니어 인터폴레이터(40)에서 트라이리니어 인터폴레이션을 행한다.First, since all the texels of the top few LODs for the current texture are present on the first DRAM bank 10 for the clip pyramid, the contents need not be changed during execution. However, since only the working sets currently required are stored on the second DRAM bank 20 for the clip RAM stack, the contents need to be changed continuously during execution. When the LOD and (u, v) coordinates mapped into the texture space of the pixel to be drawn on the current screen are input to the controller 60, the eight existing at the integer coordinate positions around the LOD and (u, v) coordinates are inputted. The first and second DRAM banks 10 and 20 are checked by using CAM (Content Addressable Memory: 21) to determine whether texels are present, and when present, the trilinear interpolator 40 performs trilinear interpolation by reading eight texels simultaneously. Do it.

만일, 8개의 텍셀이 모두 존재하지 않으면 캐쉬 미스가 발생되고, 이 때 제어기(60)는 서브클립 로더(30)로 하여금 필요로 하는 텍셀들이 들어 있는 서브클립을 외부메모리로부터 가져오게 하고, 트라이리니어 인터폴레이터(40)는 이들을 읽어서 트라이리니어 인터폴레이션을 행하게 된다.If all eight texels are not present, a cache miss is generated. At this time, the controller 60 causes the subclip loader 30 to bring the subclips containing the necessary texels from the external memory and trilinear. The interpolator 40 reads these and performs trilinear interpolation.

캐쉬 미스시의 페널티를 줄이기 위하여 본 발명의 텍스쳐 맵핑용 캐쉬 메모리는 서브클립 예측기(50)를 가지고 있으며, 이는 앞으로 곧 필요할 서브클립을 예측해서 정상적인 텍스쳐 캐쉬동작 중에 현재 엑세스되고 있는 서브클립과 충돌이 일어나지 않는 새로운 서브클립을 외부로부터 로드할 수 있다.In order to reduce the cache miss penalty, the texture mapping cache memory of the present invention has a subclip predictor 50, which predicts a subclip that will be needed in the future, so that a collision with a subclip currently being accessed during a normal texture cache operation may occur. New subclips can be loaded from outside that do not occur.

본 발명의 일 실시예에 따른 텍스쳐 맵핑용 캐쉬 메모리의 서브클립 예측 기능을 보다 상세하게 설명하면, 텍스쳐 맵핑용 캐쉬 메모리의 내용은 서브클립 단위로 하드웨어적인 예측에 의한 프리페칭이 가능하며, 하드웨어적으로 필요한 서브클립의 예측은 한 스택층 내에서의 서브클립 예측과 스택층 예측, 두 가지로 이루어진다.When the subclip prediction function of the texture mapping cache memory according to an embodiment of the present invention is described in more detail, the contents of the texture mapping cache memory may be prefetched by hardware prediction in units of subclips. The prediction of sub-clips required by this method consists of two sub-clip predictions and a stack layer prediction in one stack layer.

먼저, 한 스택층 내에서의 서브클립 예측에 대하여 설명한다.First, subclip prediction in one stack layer will be described.

도 8은 한 스택층 내에서 곧 필요하게 될 서브클립의 예측 및 교체 과정을 나타낸 것으로서, 좌측 상단 그림은 3차원 공간상의 도로가 2차원 스크린 위로 투영된 것을 보여주고 있다. 일반적으로 3차원 공간상의 물체는 도면과 같이 작은 삼각형들로 모델링 되어지고, 이러한 삼각형들을 저장하는 데이터 파일은 연속된 삼각형들의 집합이다. 그러므로 도 8에서와 같이 도로가 화면상에 그려질 때에는 연속된 삼각형들 영역이 화살표 방향으로 차례대로 그려진다.FIG. 8 shows the prediction and replacement of subclips that will be needed soon in a stack layer. The upper left figure shows the projection of a road in a three-dimensional space onto a two-dimensional screen. In general, an object in three-dimensional space is modeled as small triangles as shown in the figure, and the data file storing these triangles is a set of consecutive triangles. Therefore, as shown in FIG. 8, when the road is drawn on the screen, consecutive triangle areas are drawn in the direction of the arrow.

도 8 좌측 하단의 그림은 도로 위에 입혀 질 텍스쳐 이미지로서 4개의 꼭지점 a, b, c, d가 좌측 상단 그림의 도로 위 네 꼭지점 a, b, c, d로 맵핑 되어진다. 그러므로 스크린 상에 연속된 삼각형들이 화살표 방향으로 차례대로 그려지면, 그에 필요한 텍스쳐 이미지의 엑세스 패턴도 도 8 좌측 하단의 화살표 방향으로 엑세스되어지는 특성을 가지고 있다.8 is a texture image to be coated on the road and four vertices a, b, c and d are mapped to four vertices a, b, c and d on the road in the upper left picture. Therefore, when successive triangles are drawn on the screen in the direction of the arrow, the access pattern of the texture image required for the screen is also accessed in the direction of the arrow in the lower left of FIG. 8.

이러한 특성을 이용해서, 도 8 우측 그림은 특정 스택층 위에 있는 서브클립들이 예측 및 교체되는 것을 보여 주고 있다. 먼저 진하게 칠해진 4*4 서브클립 들(커런트 클립)이 현재 클립램 스택 상에 있는 서브클립들을 나타낸다. (u, v) 트레이스는 텍셀들이 시간에 따라 엑세스되는 패턴의 한 예를 나타내고 있다. 도면에서 내부 2*2 서브클립 경계는 하드웨어적인 예측 한계로서 (u,v) 트레이스가 이 한계를 넘어가게 되면, 지금 당장은 캐쉬 미스가 나지 않았지만 나중에 일어날 캐쉬 미스 시 페널티를 줄여 주기 위해서 곧 필요로 할 서브클립들을 프리페칭 하게 된다. 현재 도면은 (u, v) 트레이스가 우측에 있는 예측 한계를 넘어가는 경우로서 우측에 있는 연하게 칠해진 4개의 서브클립들을 4*4 서브클립들의 좌측 4개의 서브클립이 들어 있는 영역으로 프리페칭 하게 된다. 이로써, 텍스쳐 엑세스 패턴을 이용한 하드웨어적으로 예측된 프리페칭이 가능하며 최상의 경우 캐쉬 미스 없이 언제나 필요한 서브클립들을 미리 텍스쳐 맵핑용 캐쉬 메모리 속에 존재하게 할 수도 있다.Using this property, the figure on the right of FIG. 8 shows that subclips on a particular stack layer are predicted and replaced. First, the darkened 4 * 4 subclips (current clip) represent the subclips currently on the clipram stack. The (u, v) trace shows an example of a pattern in which texels are accessed over time. In the drawing, the inner 2 * 2 subclip boundary is a hardware predictive limit and if (u, v) traces exceed this limit, there is no cache miss right now, but it is needed soon to reduce the penalty in case of a miss. Prefetching subclips to be done. The current figure shows the case where the (u, v) trace exceeds the prediction limit on the right, prefetching the four lightly painted subclips on the right into the area containing the left four subclips of the 4 * 4 subclips. do. This allows hardware-predicted prefetching using texture access patterns and, in the best case, allows the necessary subclips to always exist in the cache memory for texture mapping in advance without a cache miss.

도 9는 LOD 변화에 따른 필요한 스택층의 예측 및 교체 과정을 나타낸 것으로서, 좌측 상하의 그림은 도 8과 마찬가지이다. 도면에 나타난 것처럼 화살표 방향으로 연속된 삼각형이 그려질 때 LOD의 변화 역시 미소한 변화는 있지만 전체적으로 볼 때 연속적으로 증가하게 된다. 도 9 우측의 그림은 이렇게 연속적으로 증가하는 LOD 트레이스를 보여주고 있다. 커런트 클립램 스택은 현재 클립램 스택 속에 저장된 LOD 레벨을 나타내고 있으며, 내부의 두 개 LOD 레벨이 스택층 예측 한계로 이용된다. 이 예의 경우 LOD 트레이스가 LOD i+2를 넘어서는 순간 LOD i+4에 해당하는 스택층을 LOD i를 저장하고 있던 영역에 로딩함으로써 스택층도 서브클립과 마찬가지로 하드웨어적으로 예측된 프리페칭을 하게 된다.FIG. 9 illustrates a process of predicting and replacing a required stack layer according to the LOD change, and the upper and lower left figures are the same as those of FIG. 8. As shown in the figure, when a continuous triangle is drawn in the direction of the arrow, the change of LOD also has a slight change, but increases continuously as a whole. The figure on the right of FIG. 9 shows this continuously increasing LOD trace. The current clipram stack represents the LOD level currently stored in the clipram stack, and the two internal LOD levels are used as stack layer prediction limits. In this example, when the LOD trace exceeds LOD i + 2, the stack layer corresponding to LOD i + 4 is loaded into the area where LOD i was stored, so that the stack layer is prefetched in hardware like subclips. .

상술한 바와 같은 본 발명의 3차원 그래픽 텍스쳐 맵핍용 캐쉬 메모리는 다양한 크기의 텍스쳐 이미지들에 대해서도 트라이리니어 인터폴레이션에 의한 밉맵핑의 하드웨어적인 가속화를 현실적으로 가능하게 하며, 소형·저가의 3차원 그래픽 시스템에 대해서도 적용 가능함으로써 보다 현실감 있고 빠른 3차원 그래픽을 가능하도록 한다.As described above, the 3D graphics texture mappump cache memory of the present invention enables hardware acceleration of mipmapping by trilinear interpolation even for texture images of various sizes, and provides a compact and inexpensive 3D graphics system. It is also applicable to enable more realistic and fast three-dimensional graphics.

본 발명은 특정의 실시예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 당업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.While the invention has been shown and described with respect to particular embodiments, it will be apparent to those skilled in the art that various modifications and variations can be made without departing from the spirit and scope of the invention as set forth in the claims. Anyone can see it easily.

Claims (6)

트라이리니어 인터폴레이션을 위한 텍스쳐 읽기와 동시에 외부로부터 새로운 텍스쳐 서브클립을 가져오기 위한 SAM 포트를 구비한 제1, 2 DRAM 뱅크(10)(20)와;First and second DRAM banks 10 and 20 having SAM ports for reading textures for trilinear interpolation and bringing new texture subclips from the outside; 상기 제1, 2 DRAM 뱅크(10)(20)의 SAM 포트에 연결되며 외부 메모리로부터 새로운 텍스쳐 서브클립을 가져오는 서브클립 로더(30)와;A subclip loader (30) connected to the SAM ports of the first and second DRAM banks (10) (20) and for obtaining a new texture subclip from an external memory; 밉맵상의 2개 층에서 각각 4개의 텍셀을 가져와 트라이리니어 인터폴레이션을 수행하는 트라이리니어 인터폴레이터(40)와;A trilinear interpolator 40 which takes four texels in two layers on the mipmap and performs trilinear interpolation; 상기 구성부 전체를 제어하는 제어기(60); 및A controller 60 for controlling the entirety of the component; And 현재 스크린에 그려질 픽셀의 텍스쳐 공간상으로 맵핑된 LOD 및 (u, v) 좌표가 제어기(60)에 입력되면, 이 LOD 및 (u, v) 좌표를 중심으로 정수 좌표 위치에 존재하는 8개의 텍셀이 제1, 2 DRAM 뱅크(10)(20)에 존재하는지를 체크하는 CAM(21)을 포함하는 것을 특징으로 하는 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리.When the LOD and (u, v) coordinates mapped into the texture space of the pixel to be drawn on the current screen are input to the controller 60, the eight existing at the integer coordinate positions around the LOD and (u, v) coordinates are inputted. And a CAM (21) for checking whether the texel is present in the first and second DRAM banks (10) (20). 제1항에 있어서,The method of claim 1, 상기 제1 DRAM 뱅크(10)는 전체 밉맵 중 수개의 최상위 LOD 레벨의 텍셀 모두를 저장하는 클립램 피라미드를 형성하고, 상기 제2 DRAM 뱅크(20)는 상기 제1 DRAM 뱅크(10)에 저장되지 않은 나머지 LOD 레벨에서 현재 필요로 하는 워킹 셋만을 저장하는 클립램 스택을 형성하는 것을 특징으로 하는 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리.The first DRAM bank 10 forms a clip pyramid that stores all of the texels of several highest LOD levels among all mipmaps, and the second DRAM bank 20 is not stored in the first DRAM bank 10. 3. A cache memory for 3D graphics texture mapping, which forms a clip stack that stores only the working sets currently required at the remaining LOD level. 제1항에 있어서,The method of claim 1, 상기 제2 DRAM 뱅크(20)는 밉맵상의 한 LOD 레벨 위에서의 텍스쳐 영역을 n*n 서브클립들로 나누고, 이들을 단위로 캐쉬 메모리의 내용을 교체하는 것을 특징으로 하는 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리.The second DRAM bank 20 divides the texture area on one LOD level on the mipmap into n * n subclips, and replaces the contents of the cache memory in units of three-dimensional graphics texture mapping. Memory. 제1항에 있어서,The method of claim 1, 한 클럭 사이클만에 트라이리니어 인터폴레이션을 수행할 수 있도록 현재 스크린에 그려질 픽셀의 텍스쳐 공간상으로 맵핑된 LOD 및 (u, v) 좌표를 중심으로 정수 좌표 위치에 존재하는 8개의 텍셀 엑세스를 위한 데이터 패스를 상기 제1, 2 DRAM 뱅크(10)(20)와 트라이리니어 인터폴레이터(40) 사이에 구비하는 것을 특징으로 하는 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리.Data for eight texel accesses at integer coordinate locations around the LOD and (u, v) coordinates mapped onto the texture space of the pixel to be drawn on the screen so that trilinear interpolation can be performed in one clock cycle. And a path between the first and second DRAM banks (10) and the trilinear interpolator (40). 제1항 내지 제4항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 4, 캐쉬 미스시의 페널티를 줄이기 위하여 앞으로 곧 필요할 서브클립을 하드웨어적인 예측에 의하여 프리페칭 하는 서브클립 예측기(50)를 더 포함하는 것을 특징으로 하는 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리.And a subclip predictor (50) for prefetching subclips required in the near future in order to reduce a penalty of cache misses by hardware prediction. 커런트 클립램 스택상에 있는 서브클립(4*4) 내부의 2*2 서브클립 경계를 하드웨어적인 서브클립 예측 한계로 하여, (u, v) 트레이스가 이 한계를 넘어가게 되면 한계를 넘어가는 방향(좌·우·상·하)의 서브클립을 프리페칭 하는 한 스택층 내에서의 서브클립 예측과;The 2 * 2 subclip boundary inside the subclip (4 * 4) on the current clipram stack is the hardware subclip prediction limit, so if the (u, v) trace crosses this limit, then the direction beyond that limit Subclip prediction in one stack layer of prefetching (left, right, top, bottom) subclips; 커런트 클립램 스택은 현재 클립램 스택 속에 저장된 LOD 레벨(LOD i ∼ LOD i+3)을 나타내며 내부의 두 개 LOD 레벨을 스택층 예측 한계로 이용하여, LOD 트레이스가 한계를 넘어가는 순간 다음 LOD 레벨에 해당하는 스택층을 프리페칭 하는 스택층 예측을 수행함으로써 캐쉬 미스 시에 발생하는 페널티를 줄이는 것을 특징으로 하는 캐쉬 미스 페널티 저감방법.The current clipram stack represents the LOD level (LOD i to LOD i + 3) currently stored in the cliplam stack, and uses the two internal LOD levels as stack layer prediction limits, the next LOD level the moment the LOD trace crosses the limit. A method for reducing a cache miss penalty, characterized in that to reduce a penalty incurred at cache miss by performing stack layer prediction to prefetch a stack layer corresponding to the stack layer.
KR1019990023092A 1999-06-19 1999-06-19 Cache memory for 3D graphic texture and its cache miss penalty reducing method KR100291628B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019990023092A KR100291628B1 (en) 1999-06-19 1999-06-19 Cache memory for 3D graphic texture and its cache miss penalty reducing method
US09/596,775 US6891546B1 (en) 1999-06-19 2000-06-19 Cache memory for texture mapping process in three-dimensional graphics and method for reducing penalty due to cache miss

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990023092A KR100291628B1 (en) 1999-06-19 1999-06-19 Cache memory for 3D graphic texture and its cache miss penalty reducing method

Publications (2)

Publication Number Publication Date
KR20010002990A true KR20010002990A (en) 2001-01-15
KR100291628B1 KR100291628B1 (en) 2001-05-15

Family

ID=19593604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990023092A KR100291628B1 (en) 1999-06-19 1999-06-19 Cache memory for 3D graphic texture and its cache miss penalty reducing method

Country Status (2)

Country Link
US (1) US6891546B1 (en)
KR (1) KR100291628B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551178B2 (en) 2005-06-02 2009-06-23 Samsung Electronics Co., Ltd. Apparatuses and methods for processing graphics and computer readable mediums storing the methods
US8284836B2 (en) 2008-01-08 2012-10-09 Samsung Electronics Co., Ltd. Motion compensation method and apparatus to perform parallel processing on macroblocks in a video decoding system
US8619859B2 (en) 2006-07-24 2013-12-31 Samsung Electronics Co., Ltd. Motion estimation apparatus and method and image encoding apparatus and method employing the same
KR101508388B1 (en) * 2008-12-15 2015-04-06 엘지전자 주식회사 Apparatus and method for generating mipmap
CN105303773A (en) * 2015-11-03 2016-02-03 国网山东济南市历城区供电公司 Ear-hanging device equipped by electric power regulation and control attendant

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295212B2 (en) * 2002-04-30 2007-11-13 Silicon Graphics, Inc. Method, system, and computer program product for blending textures in a texture paging scheme
US7564455B2 (en) * 2002-09-26 2009-07-21 The United States Of America As Represented By The Secretary Of The Navy Global visualization process for personal computer platforms (GVP+)
JP4239096B2 (en) * 2004-08-24 2009-03-18 ソニー株式会社 Information processing apparatus and method, and program
US7456881B2 (en) * 2006-01-12 2008-11-25 Aptina Imaging Corporation Method and apparatus for producing Bayer color mosaic interpolation for imagers
US9630104B2 (en) * 2006-10-23 2017-04-25 Konrad V. Sherinian Systems, methods, and apparatus for transmitting virtual world content from a server system to a client
US7934058B2 (en) * 2006-12-14 2011-04-26 Microsoft Corporation Predictive caching of assets to improve level load time on a game console
US20080218527A1 (en) * 2007-03-09 2008-09-11 Romanick Ian D Method and Apparatus for Improving Hit Rates of a Cache Memory for Storing Texture Data During Graphics Rendering
EP2209092A1 (en) * 2009-01-16 2010-07-21 Luciad Method for unified visualisation of heterogeneous datasets
RU2609104C2 (en) * 2010-11-05 2017-01-30 Конинклейке Филипс Электроникс Н.В. Prediction based on image content and image cache controller
US9239793B2 (en) * 2011-12-13 2016-01-19 Ati Technologies Ulc Mechanism for using a GPU controller for preloading caches
TWI528328B (en) * 2012-04-20 2016-04-01 財團法人資訊工業策進會 3d texture mapping method, apparatus with function for selecting level of detail by image content and computer readable storage medium storing the method
KR101983833B1 (en) 2012-06-26 2019-09-04 삼성전자주식회사 Method and apparatus for providing shared caches
CA2955444C (en) * 2014-08-20 2019-05-28 Landmark Graphics Corporation Optimizing computer hardware resource utilization when processing variable precision data
EP3016075A1 (en) 2014-11-03 2016-05-04 Graphine NV Prediction system for texture streaming
KR102503210B1 (en) 2015-10-13 2023-02-23 삼성전자 주식회사 The method and apparatus for texture filtering

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837722A (en) * 1986-05-14 1989-06-06 Massachusetts Institute Of Technology Digital high speed 3-dimensional interpolation machine
ES2108746T3 (en) * 1992-03-27 1998-01-01 Alsthom Cge Alcatel VIDEO DECODER.
US5760783A (en) * 1995-11-06 1998-06-02 Silicon Graphics, Inc. Method and system for providing texture using a selected portion of a texture map
US6236405B1 (en) * 1996-07-01 2001-05-22 S3 Graphics Co., Ltd. System and method for mapping textures onto surfaces of computer-generated objects
KR100221028B1 (en) * 1996-07-23 1999-09-15 윤종용 Graphic accelerator and memory-prefetching method of it
US5946003A (en) * 1997-06-02 1999-08-31 Hewlett Packard Co Method and apparatus for increasing object read-back performance in a rasterizer machine

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551178B2 (en) 2005-06-02 2009-06-23 Samsung Electronics Co., Ltd. Apparatuses and methods for processing graphics and computer readable mediums storing the methods
US8619859B2 (en) 2006-07-24 2013-12-31 Samsung Electronics Co., Ltd. Motion estimation apparatus and method and image encoding apparatus and method employing the same
US8284836B2 (en) 2008-01-08 2012-10-09 Samsung Electronics Co., Ltd. Motion compensation method and apparatus to perform parallel processing on macroblocks in a video decoding system
KR101508388B1 (en) * 2008-12-15 2015-04-06 엘지전자 주식회사 Apparatus and method for generating mipmap
CN105303773A (en) * 2015-11-03 2016-02-03 国网山东济南市历城区供电公司 Ear-hanging device equipped by electric power regulation and control attendant

Also Published As

Publication number Publication date
KR100291628B1 (en) 2001-05-15
US6891546B1 (en) 2005-05-10

Similar Documents

Publication Publication Date Title
KR100291628B1 (en) Cache memory for 3D graphic texture and its cache miss penalty reducing method
US5949428A (en) Method and apparatus for resolving pixel data in a graphics rendering system
US6288730B1 (en) Method and apparatus for generating texture
US6002407A (en) Cache memory and method for use in generating computer graphics texture
US5841439A (en) Updating graphical objects based on object validity periods
US5990904A (en) Method and system for merging pixel fragments in a graphics rendering system
US5544292A (en) Display apparatus having a display processor for storing and filtering two dimensional arrays forming a pyramidal array, and method of operating such an apparatus
US6064393A (en) Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
US6005582A (en) Method and system for texture mapping images with anisotropic filtering
US5870097A (en) Method and system for improving shadowing in a graphics rendering system
US5864342A (en) Method and system for rendering graphical objects to image chunks
JP4521167B2 (en) Method and system for rendering graphic objects into image chunks and combining image layers with a display image
US6906720B2 (en) Multipurpose memory system for use in a graphics system
US5808617A (en) Method and system for depth complexity reduction in a graphics rendering system
US5867166A (en) Method and system for generating images using Gsprites
US8233006B2 (en) Texture level tracking, feedback, and clamping system for graphics processors
EP1267308B1 (en) Texturing systems for use in three-dimensional imaging systems
EP1994506B1 (en) Texture unit for multi processor environment
US6661424B1 (en) Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
US20110175924A1 (en) System and Method for Image-Based Rendering with Object Proxies
US9483843B2 (en) Method and system for expediting bilinear filtering
EP1434172A2 (en) Method and system for generating a display image using Gsprites.
KR20190035551A (en) Performing convolution operations in graphics texture mapping units
US6091428A (en) Frame buffer memory system for reducing page misses when rendering with color and Z buffers
Schmitz et al. High-Fidelity Point-Based Rendering of Large-Scale 3-D Scan Datasets

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: 20071203

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee