PVRテクスチャ形式の解析 その1

解析というほどでもないですが…調べてみた&わかったことをしばらく書いてみたいと思います。
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のサイズになっている模様。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする