まずは、1.5Mbpsがちょっと大雑把な値でしたので、これを訂正しておきたいと思います。
音楽CDに記録されている信号は、オーディオ信号を1秒あたり44,100回計測し(サンプリング周波数:44.1kHz)、左右2chそれぞれを16bitの数値(量子化bit数)で表わしたものです。
1秒あたりのbit数は「44,100×16×2=1,411,200」ですから、オーディオ信号の転送レートは約1.4Mbpsとしたほうが正確です。
これをbyte数にすると、74分は「1,411,200×60×74÷8」で783,216,000byte(約747MB)と650MBを大幅に超えてしまいます。
650MBというCDメディアの容量から逆算する「5,452,595,200bit÷4,440秒1,228,061.98bps」という値になり、約1.2Mbpsに抑えなければ、74分は収録し切れない計算になります。
音楽CDでデータを圧縮しているなんて話は聞いたことがないので、確かに計算が合いません。これについてCDの記録方法とあわせて解説いたしましょう。
●CDの記録方法
CDのデータは、透明な樹脂の円盤に、直線にして5km以上もある、1本のスパイラル状のトラックとして記録されています。
トラックと言っても一続きの溝があるのではなく、基板にピット(pit)と呼ばれる小さな複数のくぼみが作られ、このpitがスパイラル状に連なってトラックを形成しています。
そして、その上に光を反射するためのアルミが蒸着され、さらにその上に保護膜をコーティングしてレーベルが印刷されます。
ですから、レーベルが印刷されていない、レーザー光を当てる面から見ると、pitはくぼみではなく、出っ張った突起になります。
|
図1:CDの表面とpitのサイズ |
このpitの大きさは、幅0.5μm、深さ0.1μm、長さおよびトラック方向の間隔が0.8〜3.3μmで、トラック間が1.6μmと非常に微細です(図1参照)。
アルミ蒸着で作った鏡面に垂直に光を当てると、光はそのまま垂直に反射してきますから、鏡面の微細な凹凸(pitの突起部やほかの部分)で反射のタイミングが微妙に違い……すなわち位相差が生じ、光の回折という現象が起こります。
つまり、光がまっすぐ反射してこなくなるのです(CDの盤面に分光された虹色のスペクトルが映るも、この光の回折のためです)。
CDのピックアップは、トラックにレーザースポットを照射し、その反射光を検出しています。
ピックアップがトラックをトレースしていくと、pitのある部分では回折が起こるために反射光が弱くなります。
単純に考えれば、この光の明暗……すなわちpitの有無で0と1を表わすことができるのですが、高い信頼性と安定性、そして高密度を実現するために、実際はもう少し複雑なプロセスを経て、最終的には、反射光が変化する瞬間を検出して信号を読み出すようになっています。
●CIRCエラー訂正機構
CDでは、トラックをフレームという小さな固まりに分けて管理しています。
1フレームは、6サンプル分の24byte(16bit×2ch×6サンプル=192bit=24byte)のオーディオデータに、8byteのエラー訂正用データとサブコード用の1byteを加えた、計33byteで構成されています。
フレーム内のオーディオデータは、連続する6サンプルではなく、一定の規則に従ってバラバラに分散されたデータです。
もう少し詳しくお話すると、連続する24byteのサンプルデータに対し、リードソロモン符号(RSC:Reed-Solomon
Code)と呼ばれる4byteのエラー訂正コード(C2符号)を付加し、複数のフレームに分散。
1フレームあたり28byteの分散データ+C2符号に対し、さらに4byteのRSC(C1符号)を付加します。
データを分散するのは、ディスクの傷などで生ずるまとまった連続エラー(バーストエラー)に対処するためです。
C1訂正では、32byte中2byteまでならエラーが訂正できます。
ランダムなエラーは、このC1訂正で対処できますが、バーストエラーが発生するとアウト。 そのフレームは修復できなくなってしまいます。
が、分散されていたデータの並び順をもとに戻せば、集中していたエラーのほうが分散されて、次のC2訂正で修復できる可能性が出てきます。
整列後のデータは、どの部分がエラーフレームのデータなのかも分かっているので、C2訂正では、28byte中4byteとより高い訂正が行なえます。
それでも修復できないかもしれませんが、ランダムなエラーはバーストエラーのような大きなノイズにはなりませんし、オーディオデータは前後のサンプルに関連性があるので、たとえば、前後の平均値を取るなどの方法で、失ったデータを補間することもできます。
これでランダム/バーストエラーをかなり高い確率で訂正したり、ノイズにならないように補正できたりするわけです。
このようにデータを分散することを、インターリーブといい、インターリーブの前後でRSCを付けるこの符号化方式を、2種類のエラー訂正(C1、C2)を行なうことから、CIRC(Cross
Interleaved Reed-Solomon Code)と呼んでいます。
●EFM変調
CDの読み取りは、pitによる明暗の変化を検出する仕組ですが、変化が激し過ぎれば検出が困難に、同じ状態が延々続けば不安定になってしまいます。
そこで、24byteのオーディオデータを持つ33byteのフレームータをEFM(Eight
to Fourteen Modulation)と呼ばれる方式で符号化し、変化がある程度一定の周期で均等に起こるようにしています。
EFMは名前にもあるように、8bitのデータを14bitに拡張したもので、1のbitと1のbitの間に、必ず2〜10個の0が入るコードだけを使って、8bitのコードを表わしていきます。
たとえば、「10101010」という8bitコードは「10010001001001」という14bitコードで表わされます。
さらに、続くbit列との間もこのルールどおりになるように、間に3bitのマージンbitを挿入することで、pitの長さや間隔が適切なものになるように調整します(図2)。
|
図2:CDの読み取りの仕組 |
8bitのデータは、結局17bitに拡張されるので、1フレーム33byteは、561bitになります。
これに、同期用の特別なbit列24bitと、それに続く3bitのマージンbitを加えた計588bitが、6サンプル分24byte(192bit)のオーディオデータを記録するために用いられます。
実際に記録されている総bit数で換算すると、bitレートでは約4.3Mbps。実に2.2GB相当のデータが、74分のディスクに収録されている計算になるわけです。
|
図3:CIRCエラー訂正機構とEFM変調 |
●データ規格
CD-ROMは、オーディオデータの代わりにPCのデータを記録できるようにしたものです。
先ほど、サブコードという言葉が出てきましたが、このサブコードデータは、8bitの各bitにアルファベットでP〜Wチャンネルという名前が付けられており、98フレームで1ブロック(75ブロックで1秒)になっています。
たとえば、Qチャンネルには、この98bitを使ってインデックスや時間情報などが延々と記録されています。
CD-ROMも、この98フレームをデータの記録単位である1セクタとしました。
エラー訂正用のデータなどをのぞくと、1フレームに記録可能なオーディオデータは24byteですから、「24×98=2,352」つまり1セクタに2,352byteがデータとして記録できることになります。
CD-ROMのフォーマットには、いくつかの種類がありますが、もっとも一般的な「mode1」では、各セクタの先頭に12byteの同期情報と4byteのヘッダが置かれます。
PCのデータは、オーディオデータよりはるかに高い信頼性が要求されますので、CD-ROMには前述の音楽CD用とは別に、セクタ単位のエラー訂正機能が設けられています。
288byteがそのためのデータに割り当てられるため、残る2,048byteが実際に記録できるユーザーデータ領域となります(図4参照)。
オーディオデータ2,352byteに対し、PCのデータは2,048byteしか記録できないわけですから、容量は13%ほど減ってしまいます。
これを74分のオーディオデータに適用すると、容量は約650MB。これをオーディオと同じスピードで読み出すと、約1.2Mbps(150KB/s)と、最初にお話したとおりの値が算出できます。
|
図4:mode1でのデータ規格(1セクタ) |
ちなみに、エラー訂正用データの288byteの中身は、ユーザーデータのエラー検出を行なうCRC(Cyclic
Redundancy Check)符号が4byte。サブコード内のPとQが、エラー訂正用のRSPC(Reed-Solomon
Product-like Code)です。
このRSPCは、セクタ内のエラーを訂正するための最後の手段です。
(鈴木直美)
|