#23 Digital Audioの伝送について(S/PDIF編 その3)

 S/PDIF編と謳いながら、序章のような内容が2回続いてしまい申し訳ありませんでした。今回からは直接S/PDIFに関するお話をしたいと思います。これまでに説明したようにマイクロホンなどで拾った楽器や歌声などのアナログ信号をDigital信号に変換した基本波形はI2S(最近はDSDも多いようですが)です。I2S信号の伝送には最低でも3本の信号線が必要になり、DataとClockが別々の信号線上を流れることにより外来ノイズやJitterなどの影響を受けやすくなります。極端な場合、Dataラインが断線あるいはショートしていてもWCLKとBCLKが伝送されていれば、無音なのか何なのか分かりません。同じような問題を抱えていたComputer間の通信(Ethernet/802.3)では、前回紹介したMancheter Codeという方法でエンコードを行い、Clockとデータを重畳させ1本の信号線で伝送できるように工夫されています。

 Audio信号の場合も同様に、Data(I2SのSDATA)とClock(SCLKまたはBCLK)をBMC(Biphase Mark Code)と呼ばれる方式でエンコードを行い、1本の信号線で伝送できるようにClockとDataを重畳させています。BMCエンコード方式もLogic Levelの’0’や’1’が連続して続いた場合であっても、断線と間違えることがないよう、必ずDataの1bit単位で信号が変化するように考えられています(図-1参照)。

Spdif_bmc_fig1_2

図-1 Biphase Mark Code(BMC)エンコード。
#22の図-4と比較してください。

そのため、BMC化された信号のシンボルレートは元々のI2S信号のBCLKの2倍の値が必要になります。I2SのSDATAの’1’はBMCにより10もしくは01にエンコードされ、I2SのSDATA’0’は00もしくは11という同じデータ2個のbit列で表現されるようになります。そして、個々のCell(1bitのDataをエンコードしたもの)の先頭は、直前のCellの最後のLogicレベルが反転されたものになります。こうしておかないと、直前のCellの最後が、仮に’1’だった場合、後続するCellの先頭も’1’であれば’11’となってしまい、元のデータが’0’であると誤認してしまう可能性があるからです。そのように、常に極性がCell間で重ならないように反転させている結果、BMCは信号の極性が反転していても全く影響されずに通信できるという面白い性質を持っています。したがって、S/DIFのOPT(光)接続で、Logic’1’の場合に点灯し、’0’の場合に消灯していても、その逆であっても正しくデータを伝えることができるという優れた特徴を持っています。ただし、エンコードを行うために元のClockの2倍のClockが必要になるのでComputer間通信のような高速通信(10Mbps, 100Mbps, 1Gbps)などには向いていないので、比較的低速でも問題がないDigital Audioで使用されているのではないかと思います。でも、前途のような優れた点が多いのでDigital Audio信号伝送用として標準的に使用されているものと思います。

 上記のようにBMCエンコードという方法によってI2Sのデータとクロック(SDATA,SCLK)を1本の信号線にまとめることができるということ、およびどのようにまとめられているかということがおわかりだと思います。しかし、DataとClockのBMCエンコードだけでは、WCLK(Word Clock)が含まれていませんので、どこがLch.データか、どこがRch.データか判別できないので、Audioデータとしては使えません。そこで、#21でお話した同期方式という方法が使用されることになります。

Spdif_subframe_fig2_2
図-2 S/PDIFのSub Frameのフォーマット

 S/PDIFではBMCエンコードされたひとつのAudioデータを図-2のようなSub Frame(サブフレーム)と呼ばれる情報単位としています。ひとつのSub Frameは32bitで構成され、先頭の4bitは同期検出のためのSync Code(プリアンブル)と呼ばれる同期検出用のビットパターンです。この部分は同期検出用でI2Sの元データからは独立していますので、BMCでエンコードはされていません。S/PDIFではこのSub Frame2個でひとつのFrameを構成し、FrameひとつでChennel#1(Left), Channel#2(Right)を伝送できるように考えられています。さらにこのFrameを#0から#191までの192個をひとまとめにして1ブロックを構成させています。したがって、I2SによるリニアPCM信号を伝送する場合には、ひとつのブロックで192個のデータを送り出すことができます。

 S/PDIFによるAudioデータの伝送はリニアPCMデータだけでなく、Dolby 5.1ch.などの圧縮データ(Non-PCMデータ)の伝送にも使用されています。LPCMとそれらのNon-PCMでは個々のSub-FrameやFrameの内容、Block内部のFormatは異なりますが、Sync+BMCエンコードされたデータ やbit streamという構成、Sub-Frame、Frame、Blockという構成は同じです。

Spdif_frame_fig3
図-3 S/PDIFのFrameフォーマット

 次回はLPCMの伝送についてSub FrameやFrame、Blockのフォーマットについて説明して行きたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です