ARMベース・システムLSI開発の事例研究 ――CPUの選択,バス構成,グラフィックス処理やビデオ表示制御の取り扱い
● テレビとLCDを同時に表示する
図6にフレーム・メモリの構成を示します.1ピクセルは16ビットで,32768色(RGB
555)を表現します.これらが画面横方向に向けて順次,アドレスがインクリメントするように連続して格納されます.フレーム・メモリは実際の表示サイズ(VGAなど)よりも大きくとることができ,表示領域の原点を変更してスクロール表示させることができます.フレーム・メモリの先頭番地は,1垂直周期ごとに変更できるため,これによりピンポン・バッファを実現しています.先頭番地は任意の位置を指定できるので,原理的には2面を超えるフレーム・メモリにも対応できます.描画処理が重くなる場合に3面ないしは4面に増やす,すなわち描画処理時間のジッタを吸収するリング・バッファ段数を増やした形にして,グラフィックス性能を確保することも可能です.
図6 フレーム・メモリの構成
フレーム・メモリは,通常,外部のSDRAM上にアロケートする.(a)に1面分のフレーム・メモリの構成を示す.画面横方向にアドレスがインクリメントするようにピクセル値が配置される.1ピクセルは(b)に示したような16ビット・フォーマットである.RGBそれぞれ5ビットずつで,32768色を表現する.ピクセル値をRGBで持たせるモードのほかに,YCbCr値で持たせるモードもあり,動画再生に対応している.最上位ビットの透過ビットTは,GDPが使うビットである.フレーム・メモリ上にグラフィックス・データを転送するとき,Tビットが1のピクセル値は転送しないことで透明化処理を行っている.なお,GDPは,特定の色を透明と判断してピクセル値をフレーム・メモリに転送しないこともできる.フレーム・メモリは,最大4094ピクセル×4095ピクセルのサイズまで確保できる.フレーム・メモリ上でテレビやLCDパネルが実際に表示する位置を任意に指定でき,これによりハードウェア・スクロールを実現している.(c)のように,はみ出た部分は上下左右折り返して表示でき,背景の連続スクロールなどの表現も可能となっている.