走査線の基礎から現代GPUまで徹底解説:ラスタ表示・インタレース・プログレッシブとレトロハードウェアの関係
走査線とは——ラスタ表示の基礎と歴史
「走査線(そうさせん、scanline)」は、映像やグラフィックスの表示方式で使われる基本的な概念です。水平に連なるピクセル列(1ライン)を指し、CRTディスプレイやビデオ信号、古典的なソフトウェアレンダリングアルゴリズムなどで中心的な役割を果たしてきました。本コラムでは走査線の技術的背景、ビデオタイミング(同期・ブランキング)、インタレースとプログレッシブの違い、ソフトウェアにおける走査線アルゴリズム、レトロハードウェアの“ラスター効果”、現代GPUとの関係などを詳しく解説します。
1. ラスタ走査の基本概念
ラスタ(raster)とは、画面をピクセルの2次元格子として捉えたときの「行単位(水平ライン)」の配列を指します。走査線はその行の単位で、左から右へ1ライン分の画素を順に処理・表示し、ライン末尾で次の行へ移動します。CRT(陰極線管)ディスプレイでは電子ビームが実際に左→右へ走り、その後ビームを戻して次の行を描くため「走査」という語が文字通り当てはまります(ラスタスキャン)。
2. ビデオタイミングと同期
映像信号には「同期(sync)」と「ブランキング(blanking)」期間が含まれます。水平同期(HSYNC)は各走査線の開始と終了を示し、垂直同期(VSYNC)はフレーム(またはフィールド)の先頭を示します。ブランキング期間(水平ブランキング、垂直ブランキング)はビームを戻す(リターン)時間で、表示可能なアクティブライン以外の時間を占めます。古いアナログ方式では、このブランキング中に色補正情報やVBI(垂直ブランキング間隔)に付随するデータが送られました。
- 水平周波数(Horizontal frequency):1ラインにかかる周期の逆数。例:NTSC系の水平周波数は約15.734 kHz。
- 垂直周波数(Refresh rate):1秒間にフレーム(またはフィールド)が更新される回数。例:PALインタレースのフィールド周波数は50 Hz(フレームは25 Hz)。
- ライン数:NTSCは525ライン(そのうち実際の表示ラインは約480付近)、PALは625ライン(表示は576付近)など、方式によって総ライン数と有効表示ライン数が決まっています。
3. インタレース(走査線とフィールド)とプログレッシブの違い
インタレース(隔行走査)は、偶数ラインと奇数ラインを交互に描画する方式です(1フレームは2フィールド)。歴史的には、テレビ信号帯域を節約しつつ動きのちらつきを抑えるために採用されました。一方、プログレッシブ(逐次走査)はフレームの全ラインを上から下まで順に描画します。現代のPCモニタやスマートフォンはほとんどプログレッシブ方式です。
インタレースの欠点としては、動きのあるシーンでライン間にジッター(交錯ノイズ)が発生すること、またデジタル処理での扱いが煩雑になることが挙げられます。そのため、映像制作やゲームでは一般的にプログレッシブ出力が好まれます。
4. ソフトウェア/アルゴリズムとしての「走査線」
走査線は単に物理的表示の概念だけでなく、ソフトウェアレンダリングでの効率的な描画戦略としても使われます。代表的なのが「走査線ポリゴンフィル(scanline polygon fill)」や「走査線レンダリング(scanline rendering)」です。
- 走査線フィル法:ポリゴンのエッジ情報をライン毎に収集(エッジテーブル)、アクティブエッジテーブル(AET)で交点を求め、左右の交点間を塗りつぶす。メモリ効率が良く、当時のCPU性能でもリアルタイムに処理しやすい。
- 走査線レンダリング(ソフトウェア3D):各ラインごとに可視性(Z値)やテクスチャ座標を補間し、ライン単位でピクセルを決定する方式。Zバッファ方式ほどメモリ消費が高くないため、限られたリソースで使われた。
- 利点:メモリ局所性(ライン単位でのアクセス)、逐次処理のためにパイプライン化しやすい、ハードウェアのリフレッシュ特性と親和性が高い。
5. 古典ハードウェアと“ラスターエフェクト”
8ビット〜16ビット時代のゲーム機・ホームコンピュータ(例:Commodore 64、Atari、NES、SNES)では、走査線タイミングを利用した表示エフェクトが多用されました。VBIやラスター割り込みを使ってライン毎にパレットやスクロール、表示開始アドレスを切り替え、ハードウェアとしては1フレーム内で複数の表示パレットや背景スクロールを実現しました。デモシーンや古典ゲームの視覚効果は、この「走査線の時間的制御」を巧みに使ったものです。
6. モダンGPUと「走査線」の関係
現代のGPUは、ハードウェア的には三角形単位で処理(トライアングル単位のラスタライズ)し、内部でピクセル単位に展開(ラスタライゼーション)します。概念的に「ライン単位」や「ラスタ走査」に基づく処理も取り入れられているものの、物理ディスプレイの電子走査に同期して1ラインずつ描くという旧来のモデルとは異なります。GPUはスレッド並列やタイルベースのレンダリングなど多様な内部最適化を持ち、低レイテンシや高フレームレートを実現しています。
とはいえ、ディスプレイ側では垂直同期(VSync)や可変リフレッシュ技術(G-SYNC / FreeSync)など走査のタイミングに関わる要素が依然重要です。垂直同期を切ると「ティアリング(画面の上下がずれる現象)」が発生しやすくなるのは、GPU出力とディスプレイの走査タイミングが同期しないためです。
7. 応用と実務上の注意点
- グラフィックス開発:ラインオーダーを意識した最適化(例えばピクセルシェーダの分岐を抑える、テクスチャストライドを適切にする)でキャッシュ効率を上げられる。
- 映像制作:インタレース素材を扱う際はプログレッシブへの変換(デインタレース)やインタレース保持の扱いに注意。動きの激しいシーンでゴーストやジッターが出やすい。
- レトロエミュレーション:古いハードのラスタータイミングを忠実にエミュレートするには、走査線単位の処理や割り込みタイミングを再現する必要がある。
- モニタ調整:解像度やリフレッシュレートの設定が走査線(ライン)やタイミング設定と合致していないと、黒縁やスケーリングによる画質劣化が発生することがある。
8. 見た目の表現としての「走査線」
レトロ感を出す目的で、走査線(ラインごとの明暗)を強調するフィルタやシェーダがよく使われます。CRT特有の輝度プロファイルやフェージング、ピクセルの垂直方向に残るわずかなブラー感などを再現することで、古い映像機器の雰囲気を出すことができます。ゲームやUIで意図的に走査線を入れるのは広く行われている手法です。
9. 技術的な補足(主な数値例)
- NTSC系の水平周波数:約15.734 kHz(1ライン約63.556 µs)。総ライン数:525行(そのうち可視ラインは約480)。フィールド周波数:約59.94 Hz、フレームは約29.97 fps。
- PAL系の水平周波数:約15.625 kHz(1ライン約64.0 µs)。総ライン数:625行(可視は約576)。フィールド周波数:50 Hz、フレームは25 fps。
- 標準VGA(例:640×480 @60Hz)などはデジタル的タイミングで水平周波数や総ピクセル数(表示+前/後ブランキング+同期)を定義している。
10. まとめ
走査線は映像とグラフィックスを語る上での基礎概念であり、古典的なハードウェアの動作原理からソフトウェアレンダリングアルゴリズム、現代のディスプレイ制御まで幅広く関係します。物理的なCRT走査という原点を理解することで、垂直同期やティアリング、レトロエフェクト、そして描画アルゴリズムの設計思想まで深く理解できます。映像・ゲーム・グラフィックス分野で作業する際は、走査線とそのタイミングの知識が有用です。
参考文献
- Raster scan - Wikipedia
- Interlaced video - Wikipedia
- Vertical blanking interval - Wikipedia
- Scanline rendering - Wikipedia
- Rasterization (computer graphics) - Wikipedia
- NTSC - Wikipedia
- PAL - Wikipedia
- Video Graphics Array (VGA) - Wikipedia
投稿者プロフィール
最新の投稿
ビジネス2025.12.29版権料とは何か|種類・算定・契約の実務と税務リスクまで徹底解説
ビジネス2025.12.29使用料(ロイヤリティ)完全ガイド:種類・算定・契約・税務まで実務で使えるポイント
ビジネス2025.12.29ライセンス料の仕組みと実務ガイド:計算・交渉・契約・税務まで
ビジネス2025.12.29著作隣接権管理団体とは — 企業が知るべき仕組みと実務ポイント

