PVRTC

PVRTC (PowerVRテクスチャ圧縮)およびPVRTC2は、 PowerVRのMBX(PVRTCのみ)、SGX、およびRogueテクノロジーで使用される、非可逆固定レートのテクスチャ圧縮形式です。PVRTCアルゴリズムは、Graphics Hardware 2003で発表されたSimon Fenneyの論文「Texture Compression using Low-Frequency Signal Modulation」(スライド)に記載されています。

これらは、 S3TCEricssonテクスチャ圧縮(ETC)などの厳密にブロックベースのテクスチャ形式とは異なり、圧縮された画像は2つの低解像度画像で表現され、それらは双線形にアップスケールされ、その後、低精度のピクセル単位の重みに従ってブレンドされます。また、4bppモードと2bppモードの両方で ARGBデータをサポートする点でも異なります。

PVRTCは、 Nokia N9および全世代のiPhoneiPod TouchiPadで使用されている圧縮テクスチャフォーマットです。また、 PowerVR GPUを搭載した一部のAndroidデバイスで もサポートされています[1] 。

データ構造

PVRTCとPVRTC2の両方において、テクスチャデータはブロック単位で保存されます(ただし、2x2のテクセルセットをデコードするには、これらのブロックのうち4つにアクセスする必要があることに注意してください)。データブロックは常に64ビット(8バイト)のストレージ/メモリ空間を占有するため、4ビットモード(4bpp)では4x4ピクセルごとに1つのブロックが存在します。2ビットモード(2bpp)では8x4ピクセルごとに1つのブロックが存在します。

例えば、1024×1024 4bpp PVRTCテクスチャは65,536ブロックで構成され、524,288バイトのストレージ/メモリ空間を占有します。一部のハードウェア実装では、ブロックはモートン順序の変形で配置されます。

PVRTCでは、各ブロックに6つの異なる変数[2]が格納されています。変調データ(32ビット)、パンチスルーアルファフラグ(1ビット)、カラーA(15ビット)、カラーA不透明フラグ(1ビット)、カラーB(14ビット)、カラーB不透明フラグ(1ビット)。

PVRTC2では、1つのブロックに6つの異なる変数[3]が格納されます:変調データ(32ビット)、変調フラグ(1ビット)、カラーB(14ビット)、ハードトランジションフラグ(1ビット)、カラーA(15ビット)、不透明度フラグ(1ビット)。

PVRTC では不透明度フラグを A 色と B 色に対して個別に設定できますが、PVRTC2 では色 A と色 B の両方が同じ形式 (つまり、両方とも RGB または両方とも RGBA) である必要があります。

参照

参考文献

  1. ^ 「スマートフォン、タブレット、スマートテレビ、携帯ゲーム機、ウルトラブック、コンバーチブルなど、10億以上の製品」。2016年10月12日時点のオリジナルよりアーカイブ。
  2. ^ 「PVRTCデータワード(64ビット)」。2014年9月2日時点のオリジナルよりアーカイブ。
  3. ^ 「PVRTC2 データワード (64 ビット)」。2014年11月1日時点のオリジナルよりアーカイブ。
Retrieved from "https://en.wikipedia.org/w/index.php?title=PVRTC&oldid=1301358244"