デジタル・オーディオ信号のフォーマットは業務用 ( AES/EBU )・民生用 ( S/PDIF ) とも上図のようになっています。このフォーマットで一番小さな単位を 『サブフレーム』 といいます。『サブフレーム』 は Ch-1 (Lーch) または Ch-2 (R-ch) のデータです。『サブフレーム』 がふたつで 『フレーム』 となり、『フレーム』 が 192個で 『ブロック』 という単位になります。
■サブフレーム
サブフレームは 32 ビットで、それぞれのビットをタイムスロットと呼んでいます。タイムスロットはそれぞれが意味をもち、次のようになっています。
タイムスロット 0〜3 : 『プリアンブル』 といって、サブフレーム、フレーム、ブロックの同期を検出するためのセクションです。プリ・アンブルはサブフレームの先頭 4 ビットにある同期用のパターンです。プリアンブルには B、W、M の3種類のパターンがあり、ブロックの最初のサブフレーム(つまり Ch-1)のプリアンブルは 『B』 です。それ以外の Ch-1 サブフレームのプリアンブルは 『M』 で、Ch-2 サブフレームのプリアンブルは常に 『W』 です。
プリアンブル以外のデータはバイフェーズマーク方式で変調されていますが、プリアンブル部分は変調されておらず、データとプリアンブルが同じようなパターンになってしまうことを避けると共に、プリアンブルの検出を容易にしています。
タイムスロット 4〜7 : 『オーディオ・オキジャリ』 といって、補助情報または拡張ワード用です。
タイムスロット 8〜27 : この 20 ビットがオーディオ・データで使用される部分です。16 ビット・データの場合は LSB 4 ビット ( 8、9、10、11)が "0000" になります。24 ビット・データの場合は、更に先程のタイムスロット 4〜7 も使います。
タイムスロット 28 : 『バリディティ(信頼性)・フラグ』 に使います。一時停止(ポーズ)やデータを補間したときなど、オーディオ・データが真の値でないときにこのフラグを立てて送り出します。受信した側がこのフラグを見てどう処理するかは任意です。
タイムスロット 29 : 『ユーザー・データ』 に使います。ここの使い方は、各カテゴリ別に仕様書に規定されています。ユーザー・データを使用しないときは "0" にします。
タイムスロット 30 : 『チャネル・ステータス』 に使います。ここにはサンプル・ワード長、プリ・エンファシス、標本化周波数、タイムコード、ソース番号、ディスティネーション・コードなどが記録されています。ここはややこしいので後で詳しく解説します。
タイムスロット 31 : 『パリティ・ビット』 に使います。タイムスロット 4 から 31 までの "0" の数と "1" の数がそれぞれ偶数になるようにします。
■フレーム
Ch-1 と Ch-2 の 『サブフレーム』 ふたつで 『フレーム』 という単位になります。『フレーム』 の長さは標本化周波数の逆数に等しくなります。つまりワード・クロック 1 周期分の時間です。1フレーム 64 ビットをワード・クロック・レートで伝送するので、「伝送スピードはサンプリング周波数の 64 倍」ということになります。
■ブロック
『フレーム』 が 192 個集まると 『ブロック』 となります。チャネル・ステータスなどはブロック単位で扱います。なお、収録されている音楽信号とブロックの区切りとの間には何の関連もありません。つまり音アタマがブロックの開始ということではありません。
■チャネル・ステータス
デジタル・オーディオ機器を扱う場合、カテゴリー・コードがどうとか、コピー禁止フラグがどうだとかよく話題になります。これらの情報はどこに入っているのでしょうか?
これらの情報はチャネル・ステータスとして含まれています。チャネル・ステータスは合計 24 バイトのデータで、細かい情報まで伝送できるようになっています。
しかし 『サブフレーム』 には 『チャネル・ステータス (C) 』 というタイムスロット(ビット)が 1 ビット分しかありません。同じフレームのサブフレームのチャネル・ステータスは原則同じなので、 1 フレーム当たり 1 ビットです。そこで、この 1 ビットを 1 ブロック分、つまり 192 ビット溜めておいて、合計 24 バイトの情報として扱っているのです。逆に言うと、1 ブロック分の時間が経過しないとチャネル・ステータスは確定しないということになります。
AES/EBU 信号を民生機に入力したり、逆に SPDIF 信号を業務用機に入力しても "とりあえず音は出る" 理由は、このフレーム構造自体が同じだからです。業務用と民生用の違いは、チャンネルステータス・データの定義が違うということです。しかしデジタル・データにとって、データ・ビットの定義の違いは大きな違いです。
それではチャネル・ステータス 24バイト(192 ビット)のそれぞれの意味をみてみましょう。
A. 放送局スタジオ用 (AES/EBU) の場合
サブフレームのプリアンブルが 『B』 である場合、そのフレームがブロックの始まりだということは説明しました。このフレームのチャネル・ステータスが "1" だと、そのデジタル・オーディオ信号が放送局スタジオ用であることを表しています。
そこから 8 フレーム分の 『バイト 0 』 は以下の情報を表します。なおこれらは 『放送局スタジオ用』 の定義です。用途ビット "0" の民生用では全く違う定義になりますので注意してください。
バイト0 |
ビット0 |
用途 |
1 |
放送局スタジオ用。 |
ビット1 |
オーディオ用途の区分。 |
0 |
オーディオ用途 |
1 |
オーディオ以外の用途 |
ビット2〜4 |
オーディオ信号のエンファシス指定。 |
000 |
エンファシスなし。受信側で手動設定できる。 |
100 |
エンファシスなし。受信側では手動で設定できない。 |
110 |
エンファシス時定数 50/15μsec。受信側では手動で変更できない。 |
111 |
エンファシス特性は CCITT J.17(800Hz挿入損失 6.5dB)受信側は手動で変更できない。 |
その他 |
未規定 |
ビット5 |
ロック状態 |
0 |
ソースの標本化周波数はロックしている。 |
1 |
ソースの標本化周波数はロックしていない。 |
ビット6、7 |
標本化周波数 |
00 |
標本化周波数の指定なし。受信側では 48kHzと判断するが手動または自動でセットできる。 |
01 |
標本化周波数 48kHz。手動または自動でセットできない。 |
10 |
標本化周波数 44.1kHz。手動または自動でセットできない。 |
11 |
標本化周波数 32kHz。手動または自動でセットできない。 |
次の8フレーム分である 『バイト1』 は以下のとおりです。
バイト1 |
ビット0〜3 |
チャネル・モード指定 |
0000 |
モード指定なし。受信側はステレオ・モードとする。手動でも変更できる。 |
0001 |
ステレオ・モード。手動で変更できない。 |
0010 |
1チャネル・モード(モノフォニック)。手動で変更できない。 |
0011 |
プライマリ/セカンダリ・モード( Ch-1 がプライマリ)。手動で変更できない。 |
1111 |
バイト3の将来用。 |
その他 |
未規定。 |
ビット4〜7 |
ユーザービット管理用(未規定) |
チャネル・ステータスを使用する場合は、このバイト0とバイト1はすべてのデータを伝送する必要があります。逆にチャネル・ステータスを使わない場合は、すべてのデータを論理 "0" にしなくてはなりません。この場合、受信した側は標本化周波数 48kHz、データ長 20ビット、エンファシス無しと認識します。
次の 『バイト2』 は、データが 24 ビット・データかどうかを示します。
バイト2 |
ビット0〜2 |
オーディオ・オキジャリ・ビットの使い方 |
000 |
オーディオ・オキジャリ・ビットの使い方の指定なし。オーディオ・サンプル・ワード長は 20 ビットである。 |
001 |
オーディオ・オキジャリ・ビットはオーディオ・データの拡張用として使う。オーディオ・サンプル・ワード長は 24 ビットである。 |
その他 |
未規定 |
ビット3〜7 |
ソースワード長とソースエンコーディングの履歴用。未規定。 |
その他のバイトについては以下のようになっています。
バイト3:将来のマルチ・チャネル化対応。使い方はバイト1で指定することになっています。デフォルト値は00000000です。
バイト4、5:デフォルト値は00000000です。
バイト6〜9:英数字チャネル・オリジン・データ。奇数パリティ付きの7ビット。ISO-646(ASCII)データ。
バイト10〜13:英数字チャネル・ディスティネーション・データ。奇数パリティ付きの7ビット。ISO-646(ASCII)データ。
バイト14〜17:ローカル・サンプル・アドレス・コード。レコーディング・インデックス・カウンタと同じ機能。
バイト18〜21:時間コード。
バイト22:チャネル・ステータスの情報が信頼できるかどうか識別するフラグ。
バイト23:チャネル・ステータス・データ用 CRCC。
B. 民生用 (S/PDIF) の場合
ブロックの先頭のサブフレームのチャネル・ステータスが "0" の場合は、その信号が民生用途であることを表しています。なお、ここでは 192 ビットのうちビット 0 からビット 29 まで紹介します。
ビット0 |
0 |
民生用 |
ビット1〜5 |
0x000 |
2チャネル・オーディオ(プリエンファシス無) |
0x100 |
2チャネル・オーディオ( 50/15μsecプリエンファシス有) |
0x010 |
未規定(プリエンファシス有の2チャネル・オーディオ用) |
0x110 |
0xxx1 |
未規定(4チャネル・データ用) |
1x000 |
デジタル・データ |
1x1xx |
未規定 |
1xx1x |
1xxx1 |
x0xxx |
著作権保護有 |
x1xxx |
著作権保護無 |
ビット2を 『著作権表示ビット』 と呼んでいます。このビットが 0 だと著作権保護を要求されていることになります。しかし特定の用途ではこのビットだけでは著作権状態が定まらないことがあるため、カテゴリー・コードとからめて然るべき処理をしなければならない、と定められています。
次のビット6、7で、モードを決定します。現在のところ、モード0のみ規定されています。
ビット6、7 |
モード設定 |
00 |
モード0 |
その他 |
未規定 |
モード0 では、ビット8〜191はカテゴリー・コードとして次の意味を持ちます。
ビット8〜15 |
カテゴリ・コード |
000 00000 |
ゼネラル。限定的に使用。 |
100 xxxxL |
光ディスク機器 |
010 xxxxL |
デジタル/デジタル変換機器及び信号処理装置 |
110 xxxxL |
磁気テープ機器及び磁気ディスク機器 |
001 xxxxL |
映像信号付き又は無しのデジタル放送受信 |
011 1xxxL |
101 xxxxL |
楽器、マイク及びオリジナル信号を生成するソース |
011 00xxx |
A/D コンバータ(著作権情報無) |
011 01xxL |
A/D コンバータ(著作権情報有) |
000 1xxxL |
固体メモリ機器 |
000 0001L |
商用に適さない実験機器 |
111 xxxxL |
未規定 |
000 0xxxL |
『000 00000』 及び 『000 0001L』 を除き未規定 |
- ビット15は 『Lビット』 と呼び、「世代」 を示しています。通常は
- ビット15 = "0" : 指定なし
- ビット15 = "1" : 商業的に発行された録音済みソフトウエア
- を示しています。上記の表の 『L』 には、ソースによって"0"または"1"が入ります。
- ただし「光ディスク機器」 と 「デジタル放送受信」では意味が逆になります。
- また「著作権情報の無い A/D コンバータ」と 「ゼネラル」 では世代は確定しません。
上記の表のうち、xで表したビットは更に細かいカテゴリ分けが行われていますが、ここでは割愛します。
ビット16〜19は、ソース番号を示しています。ソース番号とは、同じカテゴリの機器が複数台接続されているときに各機器に番号を付けるためのものです。
ビット16〜19 |
ソース番号 |
0000 |
指定なし |
1000 |
1 |
0100 |
2 |
1100 |
3 |
↓ |
|
1111 |
15 |
ビット20〜23はチャネル番号を示します。つまり L-ch か R-ch かということです。
ビット20〜23 |
チャネル番号 |
0000 |
指定なし |
1000 |
ステレオ動作におけるL-ch |
0100 |
ステレオ動作におけるR-ch |
1100 |
未規定 |
↓ |
1111 |
ビット24〜27は標本化周波数を示します。
ビット24〜27 |
標本化周波数 |
0000 |
44.1kHz |
1000 |
48kHz |
0100 |
32kHz |
その他 |
未規定 |
ビット28、29はクロック精度(標本化周波数精度)を示します。
ビット28、29 |
クロック精度 |
00 |
標準モード レベルU |
01 |
可変ピッチ・モード レベルV |
10 |
高精度モード レベルT |
11 |
未規定 |
この規定は送信側で付けるものなので、伝送経路などの問題で実際に送られてくる信号の精度とこのビットで示される精度が一致しない場合があります。
ビット30〜191は省略します。
SCMSについて:
民生用フォーマットでは、著作権のあるソースを無制限なコピーから守るために、SCMS ( Serial Copy Management System ) を採用しています。例えばCDからDATへのコピーは無制限にできますが、そうしてコピーされたものを更に他のDATなどへコピーすることはできません。
SCMS は、チャネル・ステータスのビット2とビット15(Lビット)、及びカテゴリー・コードの組み合わせで判断しています。ビット2が "0" であれば著作権の保護を求めていることになり、Lビットとカテゴリー・コードによって、それがオリジナルなのか複製なのかを判断しています。
◇参考文献
上記の表および解説は、主に EIAJ CP-1201 という規格書を参照しています。正確なデータが必要な場合は必ず正式な規格書で確認してください。
|