H-Sync 完全解説:水平同期の歴史・タイミング・極性・実装とトラブルシューティング
H-Sync とは — 概要
H-Sync(水平同期、Horizontal Sync)は、ディスプレイ映像信号において「1行分の走査の開始」を示す同期信号です。古典的なCRTディスプレイでは電子ビームが画面左端に戻るタイミングを告げるため、現代のLCDや映像機器でもライン単位のタイミング制御(ライン長の決定、ピクセルカウンタのリセットなど)に使われます。垂直同期(V-Sync)はフレーム(フィールド)単位の開始を示すのに対し、H-Sync は1行ごとの開始を示す役割を担います。
なぜ H-Sync が必要か(歴史的背景)
- CRT時代:電子ビームは左から右へ走査し、行末で凧揚げのように戻る(水平リトレース)必要があった。戻る間に表示を消す(ブランキング)ために同期パルスが使われた。
- 現代:LCDやプラズマでも、ピクセルデータを行単位で供給するための正確なタイミングが必要。表示装置やビデオ送受信機器は H-Sync によってライン長(横の総クロック数)を決め、映像の水平位置や位相を合わせる。
技術的詳細:パルスとタイミング要素
1ラインあたりのタイミングは主に以下の要素から成ります。
- 有効表示期間(Active video): 実際にピクセルが表示される期間(例:1920ピクセル)。
- フロントポーチ(Front porch): 有効表示の直後、同期パルス前の短い無表示期間。
- 同期パルス幅(Sync pulse): H-Sync 自体のパルス長(CRTでは負パルスや正パルス)。
- バックポーチ(Back porch): 同期パルス後の無表示期間。CRTではここに色基準信号などが入ることもあった。
合計が1ラインの総クロック数(HTotal)になり、水平周波数(H frequency)は次式で求まります。
Hfreq = Pixel clock / HTotal
また垂直リフレッシュ(フレームレート)との関係は
Vrefresh = Pixel clock / (HTotal × VTotal)
で、Hfreq = Vrefresh × VTotal(1秒あたりのライン数)という関係になります。
代表的なタイミング例(計算付き)
理解を深めるために代表例を示します。
- VGA(640×480@60Hz)
- ピクセルクロック:25.175 MHz
- 水平合計(HTotal):800 ピクセル(有効640 + フロント16 + Hsync96 + バック48)
- 垂直合計(VTotal):525 ライン
- リフレッシュ:約25.175e6 / (800×525) ≈ 59.94 Hz
- 水平周波数:約59.94 × 525 ≈ 31.468 kHz
- 1080p(1920×1080@60Hz、HDTV標準)
- ピクセルクロック:148.5 MHz(規格タイミング)
- 水平合計:2200 ピクセル(有効1920 + フロント88 + Hsync44 + バック148)
- 垂直合計:1125 ライン
- リフレッシュ:148.5e6 / (2200×1125) = 60 Hz
- 水平周波数:60 × 1125 = 67.5 kHz
上記の数値は各規格(VGA、CEA/CTA/VESA など)で定義された標準タイミングで、モニタやGPUはこれらに合わせて同期をとります。
同期の極性(正・負)と種類
H-Sync パルスは「負極性(ネガティブ)」や「正極性(ポジティブ)」といった極性を持ちます。これはパルスが基準電位から立ち下がる(負)か立ち上がる(正)かを示します。例えば古典的なVGA 640×480@60 は H/V 共に負極性が一般的である一方、HDTV の一部モード(例:1080p@60)は正極性で定義されます。モニタは極性情報を見て同期パルスの開始を判断するため、極性が異なると同期が取れず表示が乱れることがあります。
複合同期や Sync-on-Green(SOG)
同期信号の伝送方式にはいくつかバリエーションがあります。
- 分離同期(Separate H and V): VGA のように H-Sync と V-Sync を別々のピンで伝える方式。
- 複合同期(Composite Sync): H と V を合成して 1 本の信号として送る方式(古い機器や一部の業務機器で使用)。
- Sync-on-Green(SOG): 同期パルスを緑チャンネルに重畳して伝える方式(一部古い Mac やプロ用装置に見られる)。
デジタルインターフェース(DVI/HDMI/DisplayPort)での扱い
DVI(特にDVI-A/DVI-IやDVI-D)では互換性のために H/V 同期ピンを持つことがあります。一方 HDMI や DisplayPort のようなモダンなデジタルインターフェースでは、映像タイミングは差動信号(TMDS / Main Link / DisplayPort のパケット)内にエンコードされ、物理的な独立した H/V ピンは使われません。しかし論理的にはライン境界やフレーム境界の情報がプロトコル上に存在し、内部で H/V 同期相当のタイミングが復元されます。
実装(FPGA・マイコン)での H-Sync 生成例
映像生成回路では次のような基本構造で H-Sync を生成します。
- ピクセルクロックごとに水平カウンタをインクリメント
- 水平カウンタが HTotal に達したら 0 にリセット(次ラインへ)
- 水平カウンタが「同期パルス開始〜終了」の範囲にあるとき H-Sync をアサート(パルスを出力)
- 水平カウンタが有効表示範囲内にあるときにピクセルデータを出力
- 水平カウンタのオーバーフロー時に垂直カウンタをインクリメントし、垂直同期(V-Sync)を生成
擬似コード(説明用):
for each pixel_clock:
hcount++
if hcount == HTotal: hcount = 0; vcount++
hsync = (hcount >= hsync_start && hcount < hsync_end) ? SYNC_ACTIVE : IDLE
active_pixel = (hcount >= hactive_start && hcount < hactive_end) && (vcount in active_vrange)
トラブルシューティングと測定方法
- 表示が左右にずれる、または画面が“ローリング”する:水平同期が不安定、またはピクセルクロック/HTotal が不一致の可能性。
- 画像が表示されない:同期極性の不一致や複合同期/分離同期設定の誤り。
- 測定:オシロスコープで H-Sync 信号を観察するとパルス幅、周期、極性が確認できる。ロジックアナライザやビデオ同期ジェネレータでも解析可能。
なぜブランキング(ポーチ)が残っているのか
CRT のリトレース期間に由来するフロント/バックポーチやブランキングは、現在のLCDでもタイミング上必要です。ディスプレイコントローラや映像プロセッサはこれらの余白を使って内部処理や映像フォーマット変換、HDCP/EDID交信などを行うことがあり、ゼロにすることは互換性や処理の都合で一般に推奨されません。
まとめ
H-Sync は「1行の開始」を示す非常に基本的かつ重要な同期信号です。CRT 時代に必要だった物理的なリトレース制御に起源を持ちながら、現在でも映像タイミングの基礎となっています。アナログ(VGA、SOG、複合同期)からデジタル(DVI/HDMI/DisplayPort)まで形は変われど、ライン単位の正確なタイミング制御は映像品質や安定動作に直結します。映像の生成やインターフェース設計、トラブルシューティングを行う際には H-Sync の周期、パルス幅、極性、HTotal といった値を正確に理解することが不可欠です。


