Planar_(computer_graphics)
「Planar」コンピュータ グラフィックス –
コンピュータ グラフィックスにおいて、プレーナとは、ピクセルデータをRAMの複数のビットプレーンに配置する方法です。ビットプレーンの各ビットは、画面上の 1 つのピクセルに関連付けられます。パック、ハイ カラー、またはTrue Colorグラフィックスとは異なり、個々のピクセルのデータセット全体は RAM 内の特定の 1 つの場所に存在するのではなく、ディスプレイを構成するビットプレーン全体に分散されます。平面配置は、ピクセルのデータがどのように解釈されるかではなく、ピクセル データがメモリ内でどのようにレイアウトされるかを決定します。平面配置のピクセル データは、インデックス付きカラーまたは直接カラーのいずれかをエンコードできます。
このスキームはコンピュータ グラフィックスの初期に始まりました。この時代のメモリチップは、それ自体では大きなフレーム バッファから TV 画面やモニタ上に画像を生成するのに十分な速さのデータを供給できません。データを複数のプレーンに分割することで、各プレーンを個別のメモリ チップに保存できます。これらのチップは、低速で並行して読み取ることができるため、第 3 世代や第4世代のゲーム機や 80 年代の家庭用コンピューターなどの小規模なハードウェアでグラフィック表示が可能になります。このため、初期のIBM PCコンピュータのEGAビデオ アダプタは、カラー グラフィック モードで平面配置を使用します。新しいVGAには、より便利なアクセスのためにメモリ効率を犠牲にする1 つの非平面モードが含まれています。
コンテンツ
1 平面グラフィックスを備えたハードウェア
2 例
3 長所と短所
4 こちらも参照
5 参考文献
平面グラフィックスを備えたハードウェア
平面的なディスプレイ構成を備えたゲーム コンソールには、セガのマスター システムとゲーム ギア、任天堂のNES / SNES、およびPC エンジンが含まれます。
英国の 8 ビットBBC Micro には、平面ピクセル配置の部分要素がSlovak PP 01 には、解像度 256×256 ピクセルの 24KB プレーンベースの 8 色グラフィックス モードが含まれています。80 年代と 90 年代の16 ビットAtari STおよびAmigaプラットフォームはもっぱら、強力なブリッターを備えた平面グラフィックス構成に基づいていました。Amigaの OCS グラフィックス チップセットは5 ビットプレーンで動作しますが、AGA チップセットを搭載した新しいモデルは8 ビットプレーンを処理できます。
Sinclair (Amstrad) ZX Spectrumコンピューター ファミリおよび互換システム向けに、HGFX というグラフィック拡張機能が 2019 年に開発されました。2022 年に、FPGAベースのハードウェアに実装されました。HGFX は、オリジナルのビデオ RAM のわずか 6144 バイトを使用しながら、オリジナルの ZX Spectrum システムと互換性のあるメモリ構成を可能にします。さらに、2 つのビデオ バッファ、256 のインデックス付きカラー、トゥルーカラー パレット、および HDMI 出力を提供します。HGFX は 8 つのビットプレーンで動作します。現在、eLeMeNt ZX コンピューターの一部として実装されています。
4 つの 1 ビット プレーンを最終的な「ピクセルあたり 4 ビット」(16 色)画像に結合します。
例
ピクセルあたり4 ビットとRGBIパレットを備えた分厚いディスプレイでは、各バイトは 2 つのピクセルを表し、各ピクセルで 16 の異なる色が利用可能です。4 つの連続したピクセルは、次のように 2 つの連続したバイトに格納されます。
バイトインデックス0 1
バイト値(10進数)1 35
バイト値(16進数)0x01 0x23
ニブル値(バイナリ)0000 0001 0010 0011
ニブル値(10進数)0 1 2 3
結果のピクセル黒 青 緑
シアン
一方、平面スキームでは 2 つのビットプレーンを使用して、4 色の表示を実現できます。8 つのピクセルは、メモリ内に 2 バイトとして非連続的に格納されます。
バイトインデックス 0 バイト値
ビットインデックス0 1 2 3 4 5 6 7
16進数
10進数
平面 00 1 0 1 0 0 0 00×50 80
平面 10 0 1 1 0 0 0 00×30 48
結果のピクセル0 1 2 3 0 0 0 0
平面の例では、2 バイトは 4 つの使用可能な色を持つ 8 ピクセルを表します。パックされたピクセルの例では、2 バイトを使用して、より少ないピクセルをより多くの色で表します。プレーンを追加すると、使用できる色の数が増えますが、より多くのメモリが必要になります。たとえば、4 つのプレーンを使用すると 2 4 =16 色が利用可能になりますが、8 ピクセルを表すのに 4 バイトかかります (メモリ使用量と利用可能な色の点でパック配置の例と同等になります)。
長所と短所
平面配置は、2 の累乗ではないビット深度でパック配置よりもスペースと時間の効率が向上します。例として、8 色を許可する 3 bppを考えてみましょう。平面配置では、単純に 3 つの平面が必要になります。パックされた配置の場合、正確に 3 bpp をサポートするには、ピクセルがバイト境界を越えることを許可するか (ピクセルのアドレス指定とアンパックが複雑になるため時間コストが発生します)、またはパディング (各バイトに 2 ピクセルが格納され、2 つの未使用ビットがあるためスペース コストが発生します) のいずれかが必要になります。 ; 歴史的に、これが (必ずしも主な理由ではありませんが) パックされたピクセルがバイトに均等に収まるビット深度を使用する 1 つの理由です。
平面配置により、より高速なビット深度の切り替えが可能になります。平面は追加または破棄され、(カラーがインデックス付けされている場合) パレットは拡張または切り捨てられます。その結果、古いソフトウェアにはほとんど、またはまったく影響を与えることなく、より高いビット深度のサポートを追加できます。ビット深度の切り替えが簡単なため、異なるビット深度の要素を簡単に一緒に使用することもできます。
平面配置の欠点は、スクロールやアニメーションに必要な RAM アドレス サイクルが増えることです。
こちらも参照
パックされたピクセル
Amiga グラフィックス チップセットのロードマップ
参考文献
^ ロジャース、デヴィッド F. (1985)。コンピュータ グラフィックスの手続き要素。マグロウヒル。p. 13.ISBN 0-07-053534-5。
^ “”VGA ハードウェア – OSDev Wiki”” . wiki.osdev.org 。2017 年9 月 4 日に取得。
^ “平面 vs チャンキーピクセルの組織” . 2022 年6 月 27 日に取得。
^ 「HGFX」 . wiki.ilnx.cz 。2022 年6 月 22 日に取得。
^ “エレメントZX” . sites.google.com/view/elementzx/home 。2022 年6 月 22 日に取得。”