このページでは、ITU-R BT.601 について、個人的に調べた範囲での情報を記述しています。可能な限り正確な情報を提供しようと努力していますが、記述に誤りがある可能性があります。もしも記述内容について怪しい所がありましたら、メールをください。
ITU-R BT.601 は、アナログビデオ信号をデジタルデータに変換する際のデータ形式を規定した国際規格です。つまり、ビデオ信号を A/D, D/A 変換する際の、デジタルデータのフォーマットを規定したものです。
色形式、サンプル構造、サンプリング周波数、水平サンプル数、水平有効サンプル数、適用可能アスペクト比、符号化形式、データ範囲等が ITU-R BT.601 で規定されています。表にすると次のようになります。
色形式 | Y, Cb, Cr | R, G, B | Y, Cb, Cr | R, G, B | ||||||||||||
サンプル構造 | 4:2:2 (*1) | 4:4:4 | 4:2:2 | 4:4:4 | ||||||||||||
サンプリング周波数 | 輝度 13.5 MHz 色差 6.75 MHz |
13.5 MHz | 輝度 18 MHz 色差 9 MHz |
18 MHz | ||||||||||||
水平総サンプル数 | 525i(*2) : 858 625i(*3) : 864 |
525i : 1144 625i : 1152 |
||||||||||||||
水平有効サンプル数 | 720 | 960 | ||||||||||||||
適用可能 アスペクト比 |
4:3 16:9 |
16:9 | ||||||||||||||
符号化形式 | 8 bit PCM または 10 bit PCM (*4) | |||||||||||||||
データ範囲 (*5) | 輝度 : 16 〜 235 色差 : 16 〜 240 |
16 〜 235 | 輝度 : 16 〜 235 色差 : 16 〜 240 |
16 〜 235 | ||||||||||||
表1.ITU-R BT.601 の規定 | ||||||||||||||||
|
色形式は Y Cb Cr と R G B が規定されています。C M Y や Y I Q は規定されていません。
サンプル構造は 4:2:2 と 4:4:4 が規定されています。MPEG で一般的な 4:2:0 や 525i DV での 4:1:1 は規定されていません。また 4:2:2 は Y Cb Cr 色形式についてのみで、4:4:4 は Y Cb Cr と R G B 双方で規定されています。
4:2:2 形式では、色差信号は、輝度信号の奇数サンプル(1st, 3rd, 5th, etc.)と同じ位置でサンプリングすると規定されています。
サンプリング周波数は 13.5 MHz 系と 18 MHz 系が規定されています。どちらも 4:2:2 構造の場合は色差のサンプリング周波数は半分になります。
13.5 MHz 系はアスペクト比 4:3 と 16:9 の双方で使用され、18 MHz 系は 16:9 のアスペクト比のものにしか使用されません。
水平総サンプル数はサンプリング周波数によって自動的に決定します。総サンプルのなかから、映像が存在する部分を中心に 13.5 MHz 系では 720 サンプルを、18 MHz 系では 960 サンプルを水平有効サンプルとして記録すると規定されています。
垂直総サンプル数は走査線の数によって決定するため 525i では 525 サンプルに、625i では 625 サンプルになります。垂直有効サンプル数は、ITU-R BT.601 では規定されていません。例えば、日本で放送されている NTSC 信号の場合、525 本の走査線中、483 本に映像信号を入れる(これ以外には制御信号や文字放送信号が入る)ことが可能ですが、同じ NTSC 形式でも国によっては有効画像領域が異なるため特に規定されていないようです。
一般に、無圧縮系では垂直有効解像度としては 486 サンプルを、DCT 圧縮系では 480 サンプルを採用するものが多いようです。この数字は 525i の場合ですが、625i の場合は DCT 圧縮系、無圧縮系共通で、576 サンプルが採用されているようです。
符号化形式は 8 bit の PCM です。オプションとして 10 bit PCM も規定されていますが、データ範囲や色変換式について特に紙面を割いて規定されている訳ではありません。あくまでもオプションという扱いのようです。
以後は全て 8 bit PCM 形式についての説明とします。
輝度は 220 の量子化レベルを持ち、黒が 16、白(peak white)が 235 となると規定されています。色差は無彩色レベルが 128 を中心に 225 の量子化レベルを持つと規定されています。R G B は、輝度と同じ量子化レベルを持つと規定されています。
ただし、0 と 255 は同期信号として利用されるので画像中に存在できませんが、規定されたデータ範囲を超えたデータ存在していても構わないとされています。この存在しても構わないというのは文字通りの意味で、輝度として 240 というデータが存在していたとしても、それが 235 よりも明るい色として表示されることを保証するものではありません。
実際のモニタでは輝度が 235 を超えた場合、より明るい白として表示されることが一般的ですが、黒レベルに関しては 16 を割ったデータは潰れてしまうことが多いです(黒が浮いているモニタ以外では)
また、黒レベルの 16 はペデスタルレベルとは無関係です。ITU-R BT.601 でのデータ範囲は表示される色と対応してのものであり、実際の伝送路上のアナログ信号と対応したものではありません。
ITU-R BT.601 に記載されている色変換式は以下の5つです。
1 〜 3 はアナログ段階で RGB から Y, Cb, Cr への変換を行い、その後デジタルデータに変換する方法を規定したもので、4 と 5 は、アナログ RGB 信号をデジタル形式に変換してから、YCbCr に変換する方法を規定したものです。
1 の変換式は次のように規定されています。
Y | = | 0.299 * R + 0.587 * G + 0.114 * B |
(R - Y) | = | R - 0.299 * R - 0.587 * G - 0.114 * B |
= | 0.701 * R - 0.587 * G - 0.114 * B | |
(B - Y) | = | B - 0.299 * R - 0.587 * G - 0.114 * B |
= | - 0.299 * R - 0.587 * G + 886 * B |
2 の変換式は次のように規定されています。
Cr | = | 0.713 * (R - Y) |
= | 0.500 * R - 0.419 * G - 0.081 * B | |
Cb | = | 0.564 * (B - Y) |
= | - 0.169 * R - 0.331 * G + 0.500 * B |
ここまでで使用した、R, G, B, Y, Cb, Cr は全てアナログデータで、R, G, B, Y が 0.0 〜 1.0 の範囲に、Cb, Cr は -0.5 〜 0.5 の範囲にあります。
3 の量子化方法は次のように規定されています。
Y(d) | = | 219 * Y(a) + 16 |
Cb(d) | = | 224 * Cb(a) + 128 |
Cr(d) | = | 224 * Cr(a) + 128 |
以上が、アナログ RGB からアナログ YUV 経由でデジタル YCbCr への変換する場合です。次に、アナログ RGB 信号をデジタル RGB 経由でデジタル YCbCr に変換する場合です。
4 の量子化方法は次のように規定されています。
R(d) | = | 219 * R(a) + 16 |
G(d) | = | 219 * G(a) + 16 |
B(d) | = | 219 * B(a) + 16 |
5 の変換式は次のように規定されています。
Y | = | (77 * R(d) / 256) + (150 * G(d) / 256) + (29 * B(d) / 256) |
Cb | = | - (44 * R(d) / 256) - (87 * G(d) / 256) + (131 * B(d) / 256) + 128 |
Cr | = | (131 * R(d) / 256) - (110 * G(d) / 256) - (21 * B(d) / 256) + 128 |
R(a), G(a), B(a) は 0.0 〜 1.0 の範囲のアナログデータであり、R(d), G(d), B(d) は 16 〜 235 の範囲のデジタルデータです。
以上が、ITU-R BT.601 に規定されている、色変換式でした。
以降で、NTSC 信号から、ITU-R BT.601 データに変換する際の手順を説明します。厳密に正しいものではありませんが、大体の方法を理解することはできると考えます。
75% SMPTE カラーバーの上部では NTSC 信号の走査線1本が、次の図1のような波形をしています。
図1.NTSC 波形 |
図1で、上の色がついている部分が TV に表示される色で、下の白黒データが NTSC 信号(コンポジット信号)の波形です。
波形を左から順に見ていきます。まず、A が水平同期信号です。次に B はカラーバースト信号です。C は(正確には B も含めて)バックポーチと呼ばれます。ここまでが制御信号で、これは TV には 表示されません。しかし、ITU-R BT.601 で A/D 変換した結果の 720 サンプルには、このバックポーチ部分から約 8 サンプル分が含まれます。D から J までは実際に TV に表示される映像信号です。最後に、K の部分は フロントポーチと呼ばれる部分で、こちらからも約 8 サンプル記録されます。
上の NTSC 波形を ITU-R BT.601 データに変更する際に、最初に行われるのが A/D 変換です。
ITU-R BT.601 とは、A/D 変換そのもののことでは無かったのかと疑問に思われるかもしれませんが、NTSC 信号は音声データのような単純な、強度即ちデータの形式ではないので、YUV 形式に変換するために A/D 変換、Y/C 分離、C → U, V 変換という手順を踏まなければいけないのです。
一番最初に行われる A/D 変換ですが、これは、単純なサンプリングです。チップによって異なりますが、例えば Philips SAA7111A 場合、サンプリング周波数 27 MHz 量子化ビット数 8 bit で NTSC 信号をサンプリングしています。
この時、同期信号のレベルは 0 に、黒のレベルは 60 にサンプリングされます。
B のカラーバースト信号を拡大すると、次の図2のようになります。
図2.カラーバースト信号 |
カラーバースト信号は、周波数 3.58 MHz の正弦波 9 サイクルで、振幅は 30 として(Philips SAA7111A の場合)サンプリングされます。この 3.58 MHz(正確には 3.579545 MHz)という周波数は、色信号の搬送波として使用されています。
この信号は、後で、C から U と V を決定する時に重要になります。
第一ステップである、A/D 変換(サンプリング)が終了した次に行われるのが、Y/C 分離です。これは、輝度と色差が多重化されているコンポジット信号から、色信号副搬送波(カラーサブキャリア)周波数である、3.58 MHz 成分の信号を抽出&除去する作業です。
3.58 MHz 成分の信号が除去されたものが輝度信号となり、抽出された 3.58 MHz 成分が色差信号となります。
上のサンプルを、Y/C 分離すると、次の図3のようになります。
図3.Y/C 分離信号 |
図3で、黒の線が輝度信号(同期信号を含む)でマジェンダの線が色信号(カラーバースト信号を含む)です。
Y/C 分離のアルゴリズムとしては、最も単純なバンドパスフィルタとバンドエリミネートフィルタを使用した 1D YCS や、3ラインコムフィルタを使用した 2D YCS、フレーム間の相関関係を利用した 3D YCS など色々な手法が考案されていますが、どれも何らかの欠点(ドット妨害やクロスカラー、残像など)をもち、完全に Y/C 分離できる事は稀です。
Y/C 分離後、色信号から実際の U,V の色差信号を取り出す処理が行われます。色信号は、カラーバースト信号との位相差が色相(HUE)を表し、振幅が色飽和度(SATURATION - SAT)を表すので、実際の処理は次のようになります。
まず、次の図4を見てください。
図4.色信号の復調 |
図4で、左側が色信号の波形とカラーバースト信号の波形を並べて比較したもの、右側が位相と強度のベクトル図です。左側の B は、青の色信号。R は赤の色信号となっています。また、カラーバースト信号はベクトル図上で B-Y 軸のマイナス方向、位相 180°の位置に強度 0.2 で存在します。
まず、B の場合、カラーバースト信号との位相の遅れは 193°になり、振幅の比は 1.80 なので、ベクトル図での位置は図4右の B 点で示した位置になります。
また、R の場合、カラーバースト信号との位相の遅れは 77°になり、振幅の比は 2.55 ですから、ベクトル図での位置は図4右の R 点で示した位置になります。
これで B-Y 軸上での座標と R-Y 軸上での座標が決定できるので、これが、U,V の値となります。以上が、色信号からの U, V データの特定(色信号の復調)方法です。
色信号の復調で、U, V が決定されるので、残りは Y です。輝度信号は単純な振幅変調データなので、サンプリングされたデータがそのまま明るさになります。
しかし、例えば Philips SAA7111A の場合では、最初の D/A 変換時の量子化ビット数が 8 bit であるため、同期信号が 0 に、黒レベルが 60、白レベルは 210 としてサンプリングされます。これを、ITU-R BT.601 の輝度スケールである黒レベル 16、白レベル 235 にスケーリングしなければいけません。
輝度のスケーリングを調整するパラメータは、明るさ (BRT) とコントラスト(CNT)です。また、放送局が送出している信号はディスプレイガンマ 2.2 にあわせて 0.45 のカメラガンマが設定されているため、この段階で輝度信号のガンマの逆補正が行われることがあります。(Windows PC でのディスプレイガンマは通常 2.2 なので、NTSC 信号のガンマ補正は普通、必要ありません)
PC で ITU-R BT.601 のデータを扱う場合、大きく分けて次に示す二つの流儀があります。
以降で、それぞれのケースごとの利点と欠点を記述します。
ストレート変換の最大の利点は、ITU-R BT.601 の輝度スケール 16 〜 235 を超えた信号も作れることです。
SMPTE カラーバーには、Y = 7 の、黒よりも Y の値が低い信号が存在しています。これは TV の明るさ(BRT)を調整する際に、Y = 16 と識別できないところまで下げて調整するという利用方法が想定されているデータです。
この信号を入れることは普通、簡単にはできませんが、ITU-R BT.601 スケールの YUV データを YCbCr ストレート変換する手法であれば、RGB ビットマップデータから簡単に入れることが可能です。
また、YUV -> RGB -> YUV -> RGB と変換を繰り返した場合の画質の変化が最小限に抑えられるという利点もあります。
欠点は PC のディスプレイ上での画質調整が困難になることです。PC のディスプレイは RGB 8bit フルスケールが基本なので、YCbCr の変換式を使用すると、白は Y = 255 に、黒は Y = 0 になります。しかし、ITU-R BT.601 では白は Y = 235 に、黒は Y = 16 としなければいけません。
このため、PC 上で作成された通常の CG を、YCbCr ストレート変換で YUV データに変更して TV 出力すると、コントラストがきつく白飛び、黒つぶれした画像となってしまいます。PC 用の 3D ソフトで動画を作成して、ビデオ出力するといった利用方法が想定される場合に選択すべきではありません。
YC 伸張・圧縮する場合の利点は、TV に出力されるイメージに近い画質が、PC ディスプレイの段階で手に入る事です。
このため、画質調整が簡単になり、WYSIWYG (What You See Is What You Get - あなたが見ているものが、あなたの手に入るもの) を実現できます。PC ディスプレイ上で綺麗に見える画像が、そのまま TV に出力できます。
欠点は規格外のデータを入れられなくなることと、YUV <-> RGB 変換時のロスが大きくなることです。
PC 上では YC 伸張・圧縮を行う方法が正しいものです。ITU-R BT.601 に規定されているのは、あくまでも、アナログ RGB データからデジタル YUV 形式に変換する方法であって、デジタル 8 ビットフルスケール RGB データから YUV に変換する方法ではありません。
デジタル RGB からデジタル YUV に変換する場合の計算式も規定されていますが、その場合 RGB データは 16 〜 235 のスケールで量子化されたものでなければいけません。
しかし、YCbCr 直接変換の便利さ(ITU-R BT.601 を知っているユーザにとっての)も否定しきることはできません。ITU-R BT.601 形式の YUV データを使用する CODEC であれば、是非オプションとしてつけておいて欲しい機能です。
ただ、これはあくまでもオプションとしてつけて欲しいのであって、決して標準にして欲しいとか、直接変換さえあれば YC 伸張・圧縮は要らないと言うわけではありません。特に、他社製の PC 用ソフトウェアとの連携を考えるならば、伸張・圧縮による変換を標準にしておくべきです。
このページを記述するにあたって、参考にした文献等です。書籍の一部は個人では入手が困難かつ高価なものがありますが、理工系の大学の図書館であればまず蔵書に含まれているはずです。(雑誌は除く)