ブログに戻る
フォーマット

PVR フォーマット: PowerVR テクスチャ圧縮の完全ガイド

16 最小読み取り

PVR (PowerVR) 形式は、Imagination Technologies 独自のテクスチャ コンテナ形式であり、PowerVR GPU 用に特別に設計されており、iOS デバイスやモバイル プラットフォームで広く採用されています。 iOS および多くの組み込みシステムのネイティブ テクスチャ形式として、PVR は ETC や ASTC などの他の圧縮形式とともに PVRTC (PowerVR Texture Compression) アルゴリズムをサポートしているため、モバイル ゲーム開発に多用途の選択肢となります。ハードウェア アクセラレーションによるデコードと効率的なメモリ使用により、パフォーマンスとバッテリ寿命が重要なモバイル アプリケーションには不可欠です。

PVRフォーマットとは何ですか?

PVR は、PowerVR GPU に最適化された圧縮テクスチャを保存するために Imagination Technologies によって開発されたコンテナ形式です。もともとモバイル グラフィック プロセッサ用に作成されたこの形式は、iOS アプリケーションの事実上の標準となり、モバイル プラットフォーム全体で広くサポートされています。 PVR は、さまざまなテクスチャ圧縮形式 (特に PVRTC) のラッパーとして機能し、モバイル デバイスに効率的なハードウェア アクセラレーションによる圧縮を提供します。

この形式の強みは、PVRTC 圧縮のネイティブ サポートにあります。これは、限られたメモリ帯域幅、バッテリー電力、処理能力などのモバイル デバイスの制約に合わせて特別に設計されています。 PVRTC は、許容可能なビジュアル品質を維持しながら優れた圧縮率を提供するため、パフォーマンスが最重要視されるモバイル ゲームやアプリケーションに最適です。

最新の PVR ファイルには、PVRTC 以外にも ETC、ASTC、および非圧縮テクスチャ データを含めることができるため、さまざまなデバイスの機能に適応できる柔軟なコンテナーになります。この柔軟性と、iOS 開発ツールとの緊密な統合および広範なハードウェア サポートとの組み合わせにより、PVR は、iOS およびその他の PowerVR ベースのプラットフォームをターゲットとするモバイル開発者にとって不可欠な形式となっています。

PVR フォーマットの主な特徴

ハードウェアアクセラレーション

CPU オーバーヘッドゼロの PowerVR GPU での PVRTC フォーマットのネイティブ GPU ハードウェア サポート

マルチフォーマットのサポート

単一コンテナーで PVRTC、ETC、ASTC、および非圧縮フォーマットをサポート

モバイルに最適化

モバイルデバイスの制約とバッテリー効率に合わせて特別に設計

完全なミップマップのサポート

ネイティブミップマップチェーンストレージと効率的な詳細レベル管理

サポートされている圧縮形式

PVR コンテナ形式は複数の圧縮アルゴリズムをサポートしており、それぞれが異なるユースケースに合わせて最適化されています。

PVRTC (PowerVR テクスチャ圧縮)

PowerVR GPU 向けに特別に設計された独自の圧縮形式で、2bpp および 4bpp のバリアントが利用可能です。

PVRTC は、PowerVR GPU のハードウェア アクセラレーションにより優れた圧縮率 (4:1 ~ 8:1) を提供します。 iOS アプリケーションおよび PowerVR ベースのモバイル デバイスに最適です。

ETC (エリクソン テクスチャ圧縮)

モバイル デバイスの標準圧縮形式。Android および iOS プラットフォームで広くサポートされています。

ETC1 は 4:1 の比率で RGB 圧縮を提供し、ETC2 はアルファ チャネルによる圧縮のサポートを追加します。 Android テクスチャ圧縮の標準形式。

ASTC (適応型スケーラブル テクスチャ圧縮)

複数のブロック サイズと品質レベルをサポートする最新の圧縮形式。

ASTC は、4x4 から 12x12 ピクセルまでの柔軟なブロック サイズで優れた品質/圧縮率を提供します。新しい iOS および Android デバイスでサポートされています。

ETC2/EAC

品質とアルファ チャネルのサポートが向上した ETC の拡張バージョン。

ETC2 は ETC1 をより高品質に改良し、EAC はノーマル マップとシングル チャネル テクスチャの圧縮を提供します。

EAC (ETC アルファ圧縮)

アルファおよびシングルチャネル テクスチャ データの専用圧縮。

EAC は、アルファ チャネルと法線マップや高さマップなどの単一チャネル テクスチャに効率的な圧縮を提供します。

非圧縮フォーマット

高品質の要件に対応する標準の非圧縮フォーマット。

圧縮アーティファクトが許容できない場合の、RGB、RGBA、およびさまざまな非圧縮形式のサポート。

PVR ファイル構造

PVR ファイルは、次の 3 つの主要コンポーネントからなる構造化フォーマットに従います。

PVR ヘッダー (52 バイト)

ファイルのメタデータ、バージョン情報、テクスチャの寸法、フォーマット仕様が含まれます。

テクスチャメタデータ

ミップマップ数、サーフェス数、圧縮フラグ、ピクセル形式の詳細などの追加情報

圧縮テクスチャデータ

ミップマップ レベルとテクスチャ サーフェスによって編成された実際の圧縮ピクセル データ

PVRTC 圧縮の詳細

PVRTC には 2 つの主要なバリエーションがあり、それぞれが異なる品質とサイズの要件に合わせて最適化されています。

PVRTC 2bpp (ピクセルあたり 2 ビット)

圧縮率 (8:1) が高くなると品質は低くなります。ディテールの低いテクスチャや背景に適しています。

最適な用途: 背景テクスチャ、UI 要素、詳細度の低いサーフェス、メモリに制約のあるアプリケーション

PVRTC 4bpp (ピクセルあたり 4 ビット)

圧縮率は低く (4:1)、品質は高くなります。ほとんどのモバイル テクスチャの標準的な選択肢。

最適な用途: キャラクター テクスチャ、詳細なサーフェス、汎用テクスチャ、iOS アプリケーション

PVR テクスチャ開発ワークフロー

PVR テクスチャの作成と最適化には、いくつかの重要な段階が含まれます。

1

ソースイメージの準備

適切なサイズ (古いデバイスの場合は 2 のべき乗が望ましい) で高品質のソース イメージを準備します。

2

フォーマットの選択

ターゲット プラットフォームと品質要件に基づいて適切な圧縮形式を選択します

3

テクスチャ圧縮

PVRTexTool または同様のツールを使用して、ソース画像を PVR 形式に圧縮します

4

品質の最適化

圧縮設定を調整し、結果を確認して品質とファイル サイズのバランスをとります

5

アプリケーションの統合

適切な読み込みとエラー処理を使用して、PVR ファイルをアプリケーションに統合します。

PVR 形式の主な利点

優れた圧縮力

PVRTC は、ハードウェア アクセラレーションによるデコードにより 4:1 ~ 8:1 の圧縮率を提供します

モバイルに最適化された品質

モバイルの視聴条件とディスプレイ特性に合わせて特別に設計

フォーマットの柔軟性

単一コンテナで複数の圧縮形式をサポートし、幅広い互換性を実現

ネイティブハードウェアサポート

CPU 解凍オーバーヘッドなしの PowerVR ベースのデバイスでの直接 GPU サポート

iOSの統合

iOS 開発ツールとの緊密な統合および Apple フレームワークでのファーストパーティのサポート

一般的な使用例

iOSゲーム開発

すべての iOS デバイスで最適なパフォーマンスを実現する iOS アプリケーション用のネイティブ テクスチャ形式

モバイルゲーム

バッテリー効率とパフォーマンスの最適化を目的としたモバイル ゲームに最適

クロスプラットフォーム ゲーム

フォールバック形式のサポートにより、iOS と Android の両方をサポートするゲームに最適です

WebGL アプリケーション

WebGL を介してモバイル デバイスをターゲットとする Web アプリケーションでサポートされる形式

組み込みシステム

PowerVR GPUを備えた組み込みシステムや車載ディスプレイで広く使用されています

PVR と他の形式

PVR を他のテクスチャ圧縮形式と比較する方法を理解します。

PVR 対 DDS

PVR はモバイル プラットフォーム向けに最適化されており、DDS は BCn 形式のデスクトップ ゲームをターゲットとしています。

PVR vs KTX

PVR はより強力な iOS 統合を実現し、KTX はより優れたクロスプラットフォーム標準化を提供します

PVR vs ASTC

PVRTC を使用した PVR はより広範なレガシー サポートを提供し、ASTC はより優れた品質と柔軟性を提供します

PVR と ETC

PVR はより優れた iOS サポートを提供しますが、ETC はより広範なハードウェア サポートを備えた Android 標準です

開発ツールとリソース

PowerVR SDK

包括的な PVR 開発ツールを備えた Imagination Technologies の公式 SDK

PVRTexTool

フォーマット変換機能を備えた PVR テクスチャを作成および最適化するための公式ツール

Unity PVR のサポート

Unity のテクスチャ インポート設定での PVR 圧縮の組み込みサポート

アンリアル エンジン PVR

iOS およびモバイル開発用の Unreal Engine でのネイティブ PVR フォーマットのサポート

Arm Mali テクスチャ圧縮ツール

PVR テクスチャ圧縮およびフォーマット比較のための代替ツール

PVR 開発のベスト プラクティス

古い iOS デバイスおよび GPU との最適な互換性を実現するために 2 のべき乗次元を使用します

メモリ制約で 2bpp 圧縮が必要な場合を除き、ほとんどのテクスチャには PVRTC 4bpp を選択してください

実際のターゲット デバイスで圧縮テクスチャをテストして、視覚的な品質とパフォーマンスを評価します。

より高い品質が必要な場合は、新しい iOS デバイスの代替として ASTC を検討してください

適切なミップマップ設定を使用して、さまざまな視聴距離でのパフォーマンスを最適化します。

互換性の問題を回避するために、開発の初期段階でターゲット ハードウェア上の PVR ファイルを検証します。

PVRTC、ETC、ASTC 圧縮のいずれかを選択する場合は、デバイスの機能を考慮してください。

移行と最新の代替手段

新しいプロジェクトの場合は、次の移行パスと最新の代替案を検討してください。

ASTC から PVR への移行

古い iOS デバイスとの互換性のために、PVRTexTool を使用して ASTC テクスチャを PVRTC に変換します

ETCからPVRへの移行

ETC テクスチャを PVRTC 形式に変換して、iOS 固有の最適化と統合の向上を実現します。

DDS から PVR への移行

テクスチャ変換ツールを使用してデスクトップ テクスチャをモバイルに最適化された PVR 形式に移行する

最新のフォーマットへの移行

新しいデバイスを対象とした新しいプロジェクトの場合は、PVR をフォールバック オプションとして維持し、ASTC を検討してください。

結論

PVR 形式は、モバイル ゲーム開発、特に iOS アプリケーションや PowerVR ベースのデバイスにとって依然として不可欠なツールです。ハードウェア アクセラレーションによる PVRTC 圧縮により、バッテリー寿命とレンダリング効率が重要となるモバイル プラットフォームに、ビジュアル品質とパフォーマンスの優れたバランスが提供されます。

ASTC のような新しい形式はより優れた品質と柔軟性を提供しますが、PVR のレガシー サポート、iOS 統合、実証済みのパフォーマンスにより、モバイル開発者にとって PVR は信頼できる選択肢となります。 PVR 形式をいつどのように使用するかを理解することは、モバイル アプリケーションを最適化し、多様なデバイス エコシステム全体で最高のユーザー エクスペリエンスを保証するために重要です。

詳細な資料とリソース

以下の信頼できるリソースで知識を広げてください。