미프맵

Mipmap

컴퓨터 그래픽에서, mipmaps (MIP maps) 또는 피라미드[1][2][3] 사전 계산되고 최적화이미지 시퀀스인데, 각각은 전자의 분해능이 점차 낮아진다.킵맵에서 각 이미지의 높이와 너비 또는 레벨은 이전 레벨보다 2가 작은 요인이다.킵맵은 정사각형이어야 할 필요는 없다.렌더링 속도를 높이고 앨리어싱 아티팩트를 줄이기 위한 것이다.고해상도 킵맵 이미지는 카메라와 가까운 물체와 같은 고밀도 샘플에 사용된다.; 저해상도 이미지는 물체가 더 멀리 나타나면서 사용된다.이것은 화면 픽셀에 기여할 수 있는 원래의 텍스쳐로 모든 텍셀을 샘플링하는 것보다 텍스처를 다운필터링(미네이션)하는 더 효율적인 방법이다. 적절한 다운필터 텍스처로부터 일정한 수의 샘플을 채취하는 것이 더 빠르다.닙맵은 3D 컴퓨터 게임, 비행 시뮬레이터, 텍스처 필터링을 위한 기타 3D 영상 시스템, 2D 및 3D GIS 소프트웨어 등에 널리 사용된다.그들의 용도는 딥맵핑이라고 알려져 있다.이름에 MIP라는 글자는 파보(parvo)라틴어 구절 multum의 약자로, "muck in little"[4]을 의미한다.

ipmaps는 정의상 미리 할당되기 때문에 이를 활용하려면 추가 저장 공간이 필요하다.그것들은 또한 웨이브렛 압축과 관련이 있다.킵맵 텍스처는 장면을 렌더링하는 데 필요한 시간을 줄이기 위해 3D 장면에 사용된다.또한 텍스처당 33% 더 많은 메모리의 비용으로 넓은 시야 거리에서 발생하는 앨리어싱과 뮤레 패턴을 줄여 영상 화질을 개선한다.[5]

개요

Image showing how mipmaps reduce aliasing at large distances.
먼 거리에서 mipmaps가 별칭을 줄이는 방법을 보여주는 이미지.(앨리어싱은 왼쪽 영상에서 Moiré 패턴을 발생시킨다.)

Mipmaps는 다음을 위해 사용된다.

  • 상세 수준(LOD)[6][7]
  • 영상 화질 향상.텍셀의 작고 불규칙한 부분 집합만 사용하는 대형 텍스처로부터 렌더링하면 Moiré 패턴을 쉽게 생성할 수 있다.
  • 각 픽셀을 렌더링하기 위해 샘플링된 텍셀의 수를 줄이거나 샘플 채취된 샘플의 메모리 인접성을 증가시킴으로써 렌더링 시간을 단축.
  • GPU 또는 CPU의 스트레스 감소.

기원

Mipmapping은 1983년 랜스 윌리엄스에 의해 발명되었으며 그의 논문인 피라미드 파라메트릭에 묘사되어 있다.[4]"이 논문은 '피라미달 파라메트릭' 사전 필터링 및 샘플링 기하학을 발전시켜 앨리어싱 효과를 최소화하고 대상 영상 내부와 영상 사이의 연속성을 보장한다."참조된 피라미드는 킵맵이 서로 앞에 쌓여 있는 것으로 상상할 수 있다.

mipmap이라는 용어의 기원은 파보("작은 공간의 머치")의 라틴어 구절 multum과 비트맵을 모델로 한 map의 초기설이다.[4]피라미드라는 용어는 여전히 GIS 맥락에서 일반적으로 사용된다.GIS 소프트웨어에서 피라미드는 주로 렌더링 시간을 앞당기기 위해 사용된다.

메커니즘

mipmap 이미지 저장 예: 왼쪽의 주 이미지는 크기가 줄어든 필터링된 복사본과 함께 제공된다.

킵맵 세트의 각 비트맵 이미지는 메인 텍스처의 다운사이즈 복제품이지만, 디테일 수준은 일정하게 줄어든다.주 텍스처는 뷰가 충분히 상세하게 렌더링할 수 있을 때 여전히 사용되지만, 렌더러는 텍스처를 거리에서 또는 작은 크기로 볼 때 적합한 킵맵 이미지로 전환(또는 실제로 가장 가까운 두 개 사이의 보간, 트리린 필터링이 활성화된 경우 보간)한다.디스플레이 픽셀당 처리되는 텍스처 픽셀(텍셀)의 수는 더 간단한 ipmap 텍스처를 통해 비슷한 결과를 얻을 수 있기 때문에 렌더링 속도가 증가한다.디스플레이 픽셀당 제한된 텍스처 샘플 수를 사용하는 경우(이린어 필터링의 경우처럼) mipmap 영상이 사실상 이미 안티앨리어싱되었기 때문에 아티팩트가 감소한다.하향 조정과 상향 조정은 또한 ipmaps로 더 효율적이다.

텍스처의 기본 크기가 256 x 256 픽셀인 경우, 관련 mipmap 세트에는 일련의 8개의 이미지가 포함될 수 있으며, 각각 128×128 픽셀, 64×64, 32×32, 16×16, 8×8, 4×4, 2×2, 1×1(단일 픽셀)의 총 면적이 4분의 1이다.예를 들어, 장면이 40×40 픽셀의 공간에서 이 질감을 렌더링하는 경우, 32×32의 스케일업 버전(삼선 보간 제외) 또는 64×64와 32×32 미립맵(삼선 보간 포함)을 사용한다.이러한 텍스처를 생성하는 가장 간단한 방법은 연속적인 평균화에 의한 것이지만, 보다 정교한 알고리즘(아마도 신호 처리푸리에 변환에 기초함)도 사용할 수 있다.

RGB 킵맵의 각 레벨의 컬러 채널을 별도 평면(왼쪽)으로 보여주는 것은 전체 킵맵이 면적의 4배 정사각형을 이루고 있음을 알 수 있다.각 평면이 요구하는 대로따라서 ½ 저장, mipmaps는 4/3 메모리를 필요로 한다. 즉, 1/3 ≈ 33% 더 많은 메모리를 필요로 한다.

1/4 + 1/16 + 1/64 + 1/256 + 1/256 + 영역의 합이 1/3로 수렴되기 때문에 이러한 모든 닙맵에 필요한 저장 공간의 증가는 원래의 질감의 1/3이다.3개의 채널이 별도의 평면으로 저장된 RGB 영상의 경우, 전체 킵맵은 각 면의 원래 이미지 치수보다 두 배 큰 사각 영역에 깔끔하게 장착되는 것으로 시각화할 수 있다(각 면의 2배는 원래 면적의 4배 - 빨간색, 녹색 및 파란색 각 면에 대한 원래 크기의 1개 평면이 다음을 만든다).리치는 원래 면적의 3분의 1을 곱한 다음 작은 질감이 원래 면적의 3분의 1을 차지하기 때문에 3분의 1은 원래 빨간색, 녹색 또는 파란색 평면 중 하나와 동일한 총 공간을 차지하게 된다.이것은 파보(parvo)로 된 태그 멀티um에 대한 영감이다.

비등방성 필터링

텍스처를 가파른 각도로 볼 때 필터링이 각 방향에서 균일하지 않아야 하며(동방성이 아닌 비등방성이어야 한다) 절충해결이 필요하다.높은 해상도를 사용하면 캐시 일관성이 저하되고 앨리어싱이 한 방향으로 증가하지만 이미지가 더 선명해지는 경향이 있다.낮은 해상도를 사용하면 캐시 일관성이 개선되지만 이미지가 지나치게 흐릿해진다.이것은 앨리어싱 대 흐릿함에 대한 MIP 상세 수준(LOD)의 트레이드오프가 될 것이다.그러나 비등방성 필터링은 단순히 MIP LOD를 조정하는 것이 아니라 각 픽셀에 대해 비등방성 텍스처 풋프린트를 샘플링하여 이러한 절충을 해결하려고 시도한다.이 비등방성 텍스처 샘플링은 보다 정교한 저장 방식 또는 더 높은 주파수에서 더 많은 텍스처 피치의 합계가 필요하다.[8]

총 면적 표

면적 테이블은 메모리를 절약하고 더 많은 해상도를 제공할 수 있다.그러나, 그들은 다시 캐시 일관성을 손상시켰고, 기본 텍스처의 단어 크기보다 큰 부분 합계를 저장하기 위해 더 넓은 유형이 필요하다.따라서 현대 그래픽 하드웨어는 이들을 지원하지 않는다.

참고 항목

참조

  1. ^ "Texture Filtering with Mipmaps (Direct3D 9)". microsoft.com. Microsoft.
  2. ^ "Texture Filtering with Mipmaps". microsoft.com. Microsoft. April 8, 2010.
  3. ^ "Mipmap Texturing" (PDF). Retrieved December 10, 2019.
  4. ^ a b c Williams, Lance. "Pyramidal Parametrics" (PDF). Archived from the original (PDF) on 2014-04-14. Retrieved 2012-09-25.
  5. ^ "Anti-Aliasing Problem and Mipmapping". textureingraphics. 2011-12-13. Retrieved 2019-02-21.
  6. ^ "Multiple levels of Detail" (PDF).
  7. ^ "D3D11_SAMPLER_DESC structure". microsoft.com. Microsoft.
  8. ^ Olano, Marc; Mukherjee, Shrijeet]]; Dorbie, Angus. "Vertex-based Anisotropic Texturing" (PDF).