PVRTC

PVRTC

PVRTC(PowerVR Texture Compression) 및 PVRTC2는 PowerVR의 MBX(PVRTC만 해당), SGX 및 Rogue 테크놀로지에 사용되는 손실률이 높은 고정 레이트의 텍스처 압축 형식 패밀리입니다.PVRTC 알고리즘은 Graphics Hardware 2003에서 발표된 Simon Fenney의 논문 "Texture Compression using Low-Frequency Signal Modulation"에 설명되어 있습니다.

이는 S3TCETC(Ericsson Texture Compression)와 같은 블록 기반 텍스처 형식과는 다릅니다. 압축된 이미지는 2개의 저해상도 이미지로 표시되며, 2개의 이미지는 초기 업스케일링된 다음 저정밀 픽셀당 가중치에 따라 혼합됩니다.또한 ARGB 데이터는 4-bpp 모드와 2-bpp 모드 모두에서 지원된다는 점도 다릅니다.

PVRTC는 Nokia N9 모든 세대의 iPhone, iPod Touch 및 iPad에서 사용되는 압축 텍스처 형식입니다.PowerVR GPU를 사용하는 특정 Android 장치에서도 지원됩니다[1].

data 구조

PVRTC와 PVRTC2에서는 텍스처 데이터가 블록에 저장됩니다(단, 2x2 텍스트 세트의 디코딩에는 이들 블록 중 4개에 대한 액세스가 필요합니다).데이터 블록은 항상 64비트(8바이트)의 스토리지/메모리 공간을 차지하기 때문에 4비트 모드(4bpp)에서는 4×4픽셀마다 하나의 블록이 있습니다.2비트 모드(2-bpp)에서는 8×4픽셀마다 1개의 블록이 있습니다.

예를 들어 1024×1024 4-bpp PVRTC 텍스처는 65,536개의 블록을 가지며 524,288바이트의 스토리지/메모리 공간을 사용합니다.일부 하드웨어 구현에서 블록은 Morton 순서로 배열됩니다.

PVRTC에서는 각 블록에 변조 데이터(32비트), 펀치 스루 알파 플래그(1비트), 컬러 A(15비트), 컬러 A 불투명 플래그(1비트), 컬러 B(14비트) 및 컬러 B 불투명 플래그(1비트)의 6가지 변수가[2] 저장됩니다.

PVRTC2에서는 변조 데이터(32비트), 변조 플래그(1비트), 컬러 B(14비트), 하드 전환 플래그(1비트), 컬러 A(15비트) 및 불투명도 플래그(1비트)의 6가지 변수가[3] 하나의 블록에 저장됩니다.

PVRTC에서는 불투명도 플래그를 A 및B 색상에 대해 개별적으로 설정할 수 있지만 PVRTC2에서는 A 및 B 색상은 모두 같은 형식(즉, RGB 또는 양쪽 RGBA)이어야 합니다.

「 」를 참조해 주세요.

레퍼런스