나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-12-12 13:20:04

텍스처 압축 포맷

1. 개요2. 텍스처 압축 포맷의 종류

1. 개요

Texture Compression

이미지 압축 포맷 중, 주로 3D 그래픽의 텍스처용으로 사용되는 것들을 의미한다 특성상 무손실 압축 포맷은 없고, 거의 모두 손실 압축 포맷이고 인코딩/디코딩 단계에서 그래픽 하드웨어에서 직접 연산이 가능하도록 SIMD에 최적화 된 구조를 가지고 있다.

90년대 후반경 3D 그래픽 카드들이 등장하면서 개발되었으며, 같은 VRAM 용량이라면 무압축 포맷보다 더 큰 텍스처들을 사용할 수 있는 등의 장점으로 인해 바로 대중화되었고, 비슷한 시기의 게임 콘솔에도 채택되기에 이른다. 이후 콘솔이나 PC, 모바일 등 3D 그래픽을 표시할 수 있는 거의 모든 기종들에서 지원하고, 또 널리 사용되고 있다.

텍스처 압축 포맷은 디코딩이 빨라야 하고, 원하는 형태로 텍스처를 잘라 쓸 수 있도록 랜덤 액세스가 용이하여아 하며[1], 그러면서도 사람들이 수용할 수 있는 높은 이미지 퀄리티가 필요하다. 디코딩 회로는 대부분 GPU에 내장되어 텍스처 맵핑을 할때 실시간으로 디코딩된다.

이미지 손실 압축 포맷이 대부분 그렇듯이, 실사풍 텍스처는 압축해도 딱히 티가 잘 나진 않지만, 팬시풍의 그림이나 도트 노가다를 한 그림 등 색을 적게 사용하는 텍스처는 이미지 퀄리티의 하락이 눈에 쉽게 띈다는 단점이 있다. 그래서 과거에는 3D 그래픽에 활용할 텍스처만 압축을 하고, 2D 그래픽(2D 게임이나, UI 등)에 사용할 텍스처는 압축을 하지 않고 그대로 사용하는 경우가 많았지만, 이후 텍스처의 용량이 커지고, 텍스처 압축 프로그램에서 최대한 덜 손실되어 보이도록 하는 알고리즘을 도입하는 등 기술적으로 한계를 어느 정도 보완 가능해지면서 2D 그래픽에 사용하는 텍스처도 압축하고 있는 추세이다.

2. 텍스처 압축 포맷의 종류



[1] 다른 이미지 압축 포맷과 비교하여 텍스처 압축 포맷의 최대 특성이다. 따라서 압축 알고리즘도 다른 이미지 압축 포맷과 다르게 랜덤 액세스를 할 수 있는 알고리즘으로 제한된다.[2] S3TC의 DirectX 라이센싱 버전을 DXTC(DirectX Texture Compression), DX10부터 개선/확장된 규격은 BCn(Block Compression)라고 부른다. DirectX가 대세가 되면서는 사실상 이쪽 명칭이 원래 명칭보다 많이 불려지는 상황.[3] BCn과의 비교만 있지만, ASTC나 ETC2가 저 정도 극적인 향상을 보인 사례가 없기 때문에 ASTC나 ETC2와 비교해도 결과가 크게 달라질 가능성은 낮다.