解析というほどでもないですが…調べてみた&わかったことをしばらく書いてみたいと思います。
PowerVR-SDKをダウンロードすると中に文章が入っています。
これが全てなのですが、防備録も兼ねてメモしていきます。必要な物は PVTRC Texture Compression.Usage.Guide(PVRTexLibの中のドキュメント)です。ここにファイルの中の画像データに関する情報が詰まっています。
ほか、PVRTCアルゴリズムの元であるSimon Fenny氏の論文”Texture Compression using Low-Frequency Signal Modulation”です。
PowerVR-SDKをダウンロードすると中に文章が入っています。
これが全てなのですが、防備録も兼ねてメモしていきます。必要な物は PVTRC Texture Compression.Usage.Guide(PVRTexLibの中のドキュメント)です。ここにファイルの中の画像データに関する情報が詰まっています。
ほか、PVRTCアルゴリズムの元であるSimon Fenny氏の論文”Texture Compression using Low-Frequency Signal Modulation”です。
■PVRTC圧縮の特徴
- 2BPP/4BPPから選択
- RGBA8の画像に比べると 1/16, 1/8の圧縮率
- 2べきサイズの正方形な画像である必要がある
- アニメ調は不向きで写真のほうが向いている
- スマートフォン用GPUではこの形式を直接扱える
- PowerVR系ならば.
- Tegra2とかでは使えない。
■処理概要
PVRTCのデータから圧縮を解除してみることを考える。
PVRTCデータを伸張すると仮想的な3つのイメージデータが出てくる。
この3つのデータを合成し、最終的な画像を生成する。
ざっくり説明してしまうとこんな感じ。
3つの画像データのうち、1つはその他2つの画像をどのように合成するかのパラメータが格納された物である。
そして、2つの画像データ(画像A, 画像Bとしておく)は、元の画像データと比較して1/4のサイズになっている模様。