「プラナー方式」の版間の差分

編集の要約なし
 
(5人の利用者による、間の8版が非表示)
1行目: 1行目:
'''プレーナー'''([[英語]]:Planar)とは、[[コンピューターグラフィックス]]における二次元画像の表現方式のひとつである。
'''プラナー'''([[英語]]:Planar)とは、[[コンピューターグラフィックス]]における二次元画像の表現方式のひとつである。


==概要==
==概要==
プレーナーはある画像を表現する際に、[[色空間]]の色成分ごとに分離した状態で保持している形式のことをいう。
プラナーはある画像を表現する際に[[色空間]]の色成分ごとに分離した状態で保持している形式のことをいう。


たとえば[[RGB]]であれば以下のように分離された形式で[[データ]]が保持されているものをプレーナー方式という。
たとえば[[RGB]]であれば以下のように分離された形式で[[データ]]が保持されているものをプラナー方式という。
*RRRRRRRRRRRRRRRR〜
*RRRRRRRRRRRRRRRR〜
*GGGGGGGGGGGGGGG〜
*GGGGGGGGGGGGGGG〜
*BBBBBBBBBBBBBBBB〜
*BBBBBBBBBBBBBBBB〜
[[Photoshop]]などでいえば[[原色]]ごとに[[レイヤー]]があるような感じである。
[[Photoshop]]などでいえば[[原色]]ごとに[[レイヤー]]があるような感じである。


逆に分離されていないものを[[パックドピクセル]]方式という。
逆に分離されていないものを[[パックドピクセル]]方式という。
15行目: 14行目:


==利点==
==利点==
プレーナーは色ごとに処理したい[[アルゴリズム]]において扱いやすい形式であるとされる。
プラナーは色ごとに処理したい[[アルゴリズム]]において扱いやすい形式であるとされる。
これには画像圧縮や画像認識などの多くが該当する。
これには画像圧縮や画像認識などの多くが該当する。


有名なところでは[[JPEG]]などのが採用している。
有名なところでは[[JPEG]]や[[JPEG2000]]といった画像圧縮アルゴリズムの多くが内部処理においてプラナー形式を採用している。たとえばJPEGの内部では、赤色を圧縮する、緑色を圧縮する、青色を圧縮するという感じで色ごとに処理するようになっている。また[[OpenCV]]も内部的にはプラナー方式を採用している(OpenCVが依存している[[Intel Image Processing Library]]がプラナー形式を採用している)。
JPEGでは、赤色を圧縮する、緑色を圧縮する、青色を圧縮するという感じで色ごとに処理するようになっている。
 
[[Kinect for Windows v1]]の[[SDK]]もベータ版のころはプラナー方式を採用していたが、正式版では[[プログラマー]]が扱いやすいよう配慮したのか[[パックドピクセル]]に変更になっていた。


==欠点==
==欠点==
一方で[[ピクセル]]単位で処理したい場合には、たとえばRGBのプレーナーだと1ピクセルを得るのに3カ所もの[[データ]]にアクセスして、さらに合成した値を使用せねばならず、非常に効率が悪い。
一方で[[ピクセル]]単位で処理したい場合には、たとえばRGBのプラナー方式だと1[[ピクセル]]を得るのに3カ所もの[[データ]]にアクセスして、さらに合成した値を使用せねばならず、非常に効率が悪い。
<source lang="csharp">
<source lang="csharp">
// プレーナーは面倒
// プレーナーは面倒
45行目: 45行目:
==主な採用事例==
==主な採用事例==
===PC-9801シリーズ===
===PC-9801シリーズ===
[[PC-9801シリーズ]]の[[GRAM]](今でいう[[VRAM]])はプレーナー形式が採用されており、合成処理は[[ハードウェア]]内部で自動的に行われていた。
[[PC-9801シリーズ]]の[[GRAM]](今でいう[[VRAM]])はプラナー形式が採用されており、合成処理は[[ハードウェア]]内部で自動的に行われていた。
しかもRGB各色1ビットと濃淡1ビットというバイト単位ではなくビット単位という鬼のように面倒な代物であった。
しかも[[RGB]]各色1[[ビット]]と濃淡1[[ビット]]という[[バイト]]単位ではなく[[ビット]]単位という鬼のように面倒な代物であった。


プレーナー形式で[[疑似スプライト]]を実現しようとするとアホみたいに面倒な処理が必要であり、[[ゲーム]]などには不向きであったため、多くのプログラマーは手軽にパックドピクセル形式で扱えるようにするライブラリを作っていた。
プラナー形式で[[疑似スプライト]]を実現しようとするとアホみたいに面倒な処理が必要であり、[[ゲーム]]などには不向きであったため、多くの[[プログラマー]]は手軽に[[パックドピクセル]]形式で扱えるようにする[[ライブラリ]]を作っていた。


==関連項目==
==関連項目==
*[[パックドピクセル]]
*[[パックドピクセル]]


==参考文献==
[[category: コンピューター・グラフィックス]]
{{reflist}}
 
{{stub}}