本発明は、例えばIEEE1394など所定の伝送路によってディジタルデータを伝送するオーディオ送信装置及びオーディオ受信装置に関する。
近年、シリアル伝送方式としてIEEE(The Institute of Electrical and Electronics Engineers, Inc.)1394方式が注目されている。IEEE1394方式は、従来のSCSI(small computer system interface)方式等によるコンピュータデータの伝送に代わって用いることができるだけではなく、音声や映像などのAVデータの伝送にも用いることができる。これはIEEE1394方式では、アシンクロナス(非同期)通信とアイソクロナス(等時性)通信の2つの通信方法が定義されているからである。アイソクロナス通信は、AVデータのような実時間性が要求されるデータの伝送に用いることができるデータ伝送方法である。アイソクロナス通信では、伝送の開始に先立って、データを伝送するのに必要な帯域を取得する。そして、その帯域を使ってデータの伝送を行う。これにより、データ伝送の実時間性が保証される。一方、アシンクロナス通信は、コンピュータデータの伝送のような、実時間性が要求されないデータの伝送や機器制御に用いられる伝送方法である。
IEEE1394上の伝送プロトコルとして、種々の方法が提案されているが、そのうちの一つとして、AVプロトコルと呼ばれるものがある。AVプロトコルは、IEC(International Electrotechnical Commission)61883として規格化されており、実時間性が必要となるAVデータをアイソクロナス通信で送受信する方法、機器に与える命令をアシンクロナス通信で送受信する方法等が規定されている。
アイソクロナス通信でデータを送受信する場合、映像データ、オーディオデータなど、各データ形式に対して送受信方式が定められている。たとえば、CDなどのオーディオデータの送受信は、1394トレード・アソシエーション(以下、1394TAと称す)で決められた、オーディオ・アンド・ミュージック・データ・トランスミッション・プロトコル(Audio and Music Data Transmission Protocol)Ver. 1.0(以下、AMプロトコルと称す)にその伝送方法が示されている。AMプロトコルは、主に2チャンネルのオーディオデータ伝送を想定しているが、最近では3チャンネル以上のオーディオデータを扱う機器も開発されており、そうした機器に対応するために規格の拡張が検討されている。この拡張案は非特許文献1に公開されている。
まず、予備知識として、前記AMプロトコル拡張案に示されているオーディオデータ送受信方法ついて、バス上のパケット伝送タイミング、クロック情報の伝送、パケット構成の順序で説明する。
図6は、IEEE1394バス上のパケット伝送タイミングを示す図である。図6において、CSはサイクルスタートパケット、ISOはアイソクロナス通信に用いるアイソクロナスパケット、ASyはアシンクロナス通信に用いるアシンクロナスパケットである。IEEE1394では、バスに接続されているノードの内サイクルマスタノードが、アイソクロナスサイクル(125[μs])ごとにサイクルスタートパケットを発行する。サイクルスタートパケットに続いて、アイソクロナスパケットを送信しようとするノードは送信要求動作を開始し、バス獲得後、アイソクロナスパケットを送信する。各アイソクロナスパケット送信後、アイソクロナスギャップと呼ばれる空白時間が経過すると、別のノードがアイソクロナスパケット送信のために送信要求動作を開始し、パケット伝送を行う。すべてのアイソクロナスパケットが伝送されると、サブアクションギャップと呼ばれる空白時間をおいて、アシンクロナスパケットを送信しようとするノードがアシンクロナス送信要求動作を開始し、バス獲得後、アシンクロナスパケットの送信を行う。サブアクションギャップは、アイソクロナスギャップよりも長く設定されているので、アイソクロナスパケットが優先的に処理され、これによって、一定の伝送レートが保障される。
次にデータのクロック情報の伝送について説明する。
図7は、送信ノードと受信ノードとの間のクロック情報の伝送を示す図である。図7において、1201は基準カウントを含むサイクルスタートパケットを発行するサイクルマスタノード、1202は送信ノード、1203は受信ノード、1204はIEEE1394バスである。IEEE1394バスでは先に述べたように、各種パケットを時分割で伝送しているが、図7では説明のために、基準カウントとアイソクロナスパケットの2種類のデータラインを用いる。また、IEEE1394バスは、ノード間を1対1で接続することになっており、ケーブル上でT字の分岐をすることはない。したがって、実際の接続では、例えば、サイクルマスタノード1201と送信ノード1202を1本のケーブルで接続し、送信ノード1202と受信ノード1203とを別のケーブルで接続することになるが、ここでは、概念的に3つのノードが共通の基準カウントを持つことを示すためにT字型の接続になっている。
サイクルマスタノード1201は、基準クロック発生手段1205とカウンタ1206をもっている。また、同様に送信ノード1202も基準クロック発生手段1207とカウンタ1208を、受信ノード1203も基準クロック発生手段1211とカウンタ1212を持っている。基準クロック発生手段1205,1207,1211はそれぞれ独立であるが、カウンタ1206,1208,1212のカウントはサイクルマスタノード1201が発行するサイクルスタートパケットに含まれる基準カウントで補正される。したがって、各ノードのカウント値は、各ノードの基準クロック分解能以下の誤差しか持たない。
送信ノード1202には、オーディオクロック(たとえば、CDの場合44.1KHz)とカウンタ1208からのカウントを入力しタイムスタンプを発生するタイムスタンプ発生手段1209と、オーディオデータ(たとえば、CDの場合16ビットのステレオPCMデータ)と前記タイムスタンプを入力し、アイソクロナスパケットを作るパケット化手段1210がある。
受信ノード1203は、アイソクロナスパケットを受信してオーディオデータとタイムスタンプを取り出すアンパケット化手段1213と、カウンタ1212のカウントと前記タイムスタンプを比較し、両者が一致したときにパルスを発生する比較手段と、前記パルスを元にオーディオクロックを再生するPLL1215とを含む。
なお、以上の説明ではオーディオデータだけの伝送について説明したが、この後で説明するように、AMプロトコルではデータの付属情報もデータと同時に伝送することが可能である。
次にAMプロトコルにおけるアイソクロナスパケットの構成について説明する。
図8にAMプロトコルのアイソクロナスパケットの一例を示す。AMプロトコルでデータ伝送に用いるアイソクロナスパケットには、IEEE1394規格で定義されたアイソクロナスパケットヘッダと、AVプロトコルで定義されたコモンアイソクロナスパケットヘッダ(以下、CIPヘッダと称す)の2つのヘッダを含み、これら2つのヘッダの後に複数のデータブロックが続き、最後にCIPヘッダとデータブロックに対するCRC(Cyclic redundancy check)を持つという構造をとる。これはIEC60958形式オーディオ信号をAMプロトコルに従ってパケット化した場合のパケットである。IEC60958形式については、後で詳しく述べる。IEEE1394では4バイトのデータをひとまとめとして扱い、これをクワドレットと呼ぶ。図8の1行は1クワドレットである。
まず、アイソクロナスパケットヘッダについて説明する。
アイソクロナスパケットヘッダは1クワドレットのヘッダ本体と、1クワドレットのヘッダCRCから成る。アイソクロナスパケットヘッダの各フィールドについて説明する。データ長はアイソクロナスパケットヘッダに続くデータフィールド(CIPヘッダとデータブロック)のバイト長を示す。Tg(アイソクロナスデータフォーマットタグ)は、アイソクロナスパケットで伝送されるデータのラベルを表す。CIPヘッダを持つ場合、Tgの値は01b(bは2進数表示を示す)を用いる。チャンネルはアイソクロナスパケットデータが流れる0〜63までの論理チャンネルのチャンネル番号を与える。tCode(トランザクションコード)は、パケットフォーマット及びトランザクションタイプを示す。アイソクロナスパケットのtCodeはAh(hは16進数表示を示す。)である。sy(同期コード)は、送り側と受け側の間の同期情報をやり取りするのに使用する。
次に、CIPヘッダについて説明する。
AVプロトコルで用いるCIPヘッダは2クワドレットである。1クワドレット目の先頭2ビットは00b,2クワドレット目の先頭2ビットは10bである。
各フィールドについて説明する。SID(ソースID)はデータを送出する機器のノードIDである。DBS(データブロックサイズ)はCIPヘッダに続くデータブロックのサイズをクワドレット単位で表す。FN(分割数)は、IEEE1394で伝送する元々のデータ(ディジタルVTRのフレーム内圧縮によるDV方式のデータ、MPEG−TSデータなど)を分割してデータブロックを構成した場合にその分割数を示す。FNでは、分割無し、2,4,8分割の4通りの分割数を示すことができる。AMプロトコルでは分割無し(00b)である。QPC(クワドレットパッディングカウント)は、もともとのデータを分割してCIPを作る場合にCIPのサイズをクワドレッド単位にするために、もともとのデータにダミーとして付加したゼロデータのクワドレットの数を示す。AMプロトコルでは000bである。QPCの隣のビット「S」はSPH(ソースパケットヘッダ)を示し、ソースパケットヘッダの有無を表す。AMプロトコルではソースパケットヘッダ無し(0b)である。RSVはリザーブを示し、値は00bである。DBC(データブロックカウント)はパケット内の先頭のデータブロックのカウントを示し、パケットの欠落を検出するのに用いる。FMT(フォーマット)は、送信されている信号の大まかな分類を示す。AMプロトコルは10hである。FDF(フォーマット依存フィールド)はFMTごとに定義される。AMプロトコルにおいてFDFが00h〜07hのものはAM824と呼ばれる。AM824ではデータブロックを構成する各クワドレットが8ビットのラベルと24ビットのデータに分割される。SYTにはタイムスタンプ情報が格納される。タイムスタンプについては、別に説明する。
続いてデータブロックの構成について説明する。
図8では、CIPヘッダに続く2クワドレッドが一つのデータブロックを構成する。そして、このCIPにはデータブロックはn個含まれる。nの値は伝送するデータの属性によって変わる。これについては後で具体例を示す。
ディジタルオーディオで広く用いられているIEC60958フォーマットデータはAM824データの一種として定義されている。IEC60958では2ch、48kHzサンプリング、24ビットまでのリニアPCMデータや、AC3(マルチチャンネルオーディオ圧縮の一方式)、dts(digital theater system)、MPEGなどの圧縮オーディオストリームを伝送することが可能である。IEC60958フォーマットでは、24ビットオーディオデータ(24ビット未満の場合、LSB(least significant bit)側を0で埋めて24ビットデータとする)を1サブフレームと呼ぶ。2チャンネルステレオを示す2個のサブフレームが1フレームを構成し、フレームが192個集まって1ブロックとなる。
図9にIEC60958フォーマットのときのAM824データの構成を示す。IEC60958フォーマットのラベル値は00h〜3Fhであるが、そのときのラベルの下位6ビットの構成は図9のようになる。図9でPAC(プリアンブルコード)は、「チャンネル1でブロックの先頭」「チャンネル1でブロックの先頭でない」「チャンネル1以外」の3つを区別する。P(パリティ)は、インターフェイスの故障による奇数個のエラーを検出できるように用意されたものである。C(チャンネルステータス)は、1ブロック分192ビットのデータをまとめて、オーディオデータ長、サンプリング周波数、リニアPCMであるかどか、カテゴリなどの情報を表す。すなわち、これらの情報を得るにはには、192フレーム分のデータを必要とする。しかし、CIP1個には、数フレーム分のデータしか格納することができないため、192フレームを取得するには、数十パケットが必要になる。U(ユーザビット)の内容は、カテゴリごとに定義される。V(バリディティフラグ)は、そのサブフレームのデータが有効なリニアPCMかどうかを示す。バリディティフラグが0の場合には、そのサブフレームが有効なリニアPCMである。1の場合には有効なリニアPCMでないことを示すが、この場合圧縮オーディオデータが含まれることもある。
AMプロトコルでは、ブロッキング方式とノンブロッキング方式の2つのパケット構成方法が規定されている。ブロッキング方式は、送信ノードで一定量のデータが貯まると、それを一つのパケットとして送信する方式である。これに対して、ノンブロッキング方式は、1アイソクロナスサイクル(125μs)の間に送信ノードで発生または到着したデータを一つのパケットにして送信する方式である。ここではノンブロッキング方式を例として取り上げる。
図10はオーディオデータの送受信タイミングを示す図である。
ノンブロッキング方式では、アイソクロナスサイクル(125μs)内にパケット化手段1201に届いたオーディオデータを1つのアイソクロナスパケットにまとめる。
アイソクロナスパケットには、CIPヘッダのSYTフィールドにタイムスタンプがつけられるが、複数のオーディオデータが1つのパケットにまとめられるため、個々のオーディオデータにタイムスタンプをつけることはできない。AMプロトコルでは、データのサンプリング周波数に応じたSYT_INTERVALというパラメータを定められており、このSYT_INTERVALごとにタイムスタンプを生成する。サンプリング周波数が44.1kHzの場合、SYT_INTERVALは8である。タイムスタンプ発生手段1209では、オーディオクロック(CDの場合44.1kHz)をSYT_INTERVAL分周(CDなら8分周)し、分周信号のエッジでカウンタ1208の値をサンプリングする(図10のT1,T2,…)。サンプリングした値に、伝送遅延時間(352μsがよく用いられる)を加えて、タイムスタンプ(R1,R2,…)とする。すなわち、タイムスタンプは、受信ノード1203側でオーディオデータを再生する時刻を指定していることになる。
タイムスタンプの発生タイミングはアイソクロナスサイクルとは非同期であるから、CIPヘッダのDBC(データブロックカウント)から(数1)で与えられるindexにより、タイムスタンプがパケットの内のどのデータに対応しているかを示す。
以上のように、パケット化手段1210では、データ(サンプリング周波数44.1kHzの場合、通常5個または6個を1つのパケットに格納する)、タイムスタンプをまとめて一つのアイソクロナスパケットを形成する。
以上が、IEEE1394上でアイソクロナスデータを伝送する場合の予備知識の説明である。
さて、このような特徴をもつAMプロトコルにおいて、オーディオストリームを切り替える場合について、以下、図面を用いて説明する。
図11は、従来のオーディオ送信装置及びオーディオ受信装置の構成を示すブロック図である。
図11において、1101はオーディオ送信装置の一例として、DVD(Digital Video Disc)を再生し、少なくともディジタルオーディオ出力を伝送路としてのIEEE1394バスに出力するDVDプレーヤ、1102はオーディオ受信装置の一例として、IEEE1394バスに出力されたディジタルオーディオデータを再生するアンプである。1103はDVDからディジタルオーディオデータ及びディジタルオーディオデータの管理情報を再生するデータ再生手段、1104はデータ再生手段1103の出力制御を行う制御手段、1105はディジタルオーディオデータの管理情報からディジタルオーディオデータの種類を判別し、その結果を識別子(または識別情報)として制御手段1104に出力すると共に、識別子をラベルのフォーマットに変換し、ディジタルオーディオデータにラベルを付加してIEEE1394バスに出力する識別子付加手段である。1106はIEEE1394バスに出力されたデータをラベルとディジタルオーディオデータに分離するデータ分離手段、1107は1サブフレーム分のラベルの内容を判別する第1の識別子判別手段、1108は192フレーム分のチャネルステータスビットを蓄積し、オーディオデータがリニアPCMかどうかを判別する第2の識別子判別手段、1109は第1の識別子判別手段1107または第2の識別子判別手段1108の結果に応じてディジタルオーディオデータの処理方式を選択するデータ処理選択手段、1110はノンリニアPCMデータを復号するデータ復号手段、1111はディジタルオーディオデータをアナログ信号に変換するDAコンバータ(以下、D/Aと記す)である。
なお、図7におけるパケット化手段1210に、制御手段104と識別子1105が含まれ、アンパケット化手段1213に、データ分離手段1106、第1の識別子判別手段1107、第2の識別子判別手段が含まれるものとする。また、図11では、クロックに関する構成は省略している。
以上のように構成されたオーディオ送信装置及びオーディオ受信装置において、DVDのオーディオデータをIEC60958フォーマットでIEEE1394バスによってアンプに伝送し、オーディオ出力をアンプで行う場合のオーディオ伝送動作について、以下説明する。
まず、データ再生手段1103はDVDを再生し、オーディオデータを識別子付加手段1105に出力する。このときのオーディオデータはリニアPCMデータとする。識別子付加手段1105はデータ再生手段1103から出力されるオーディオデータの管理情報から識別子を識別子Aとして生成し、識別子を制御手段1104に出力すると共に、識別子をラベルのフォーマットに変換し、ラベルをオーディオデータに付加してIEEE1394バスに出力する。
今、データ再生手段1103で再生しているDVDのオーディオデータが、リニアPCMデータからノンリニアPCMデータに変化したとする。このとき制御手段1104は、識別子付加手段1105から出力される識別子から変化を検出し、データ再生手段1103のオーディオ出力を停止する。停止手段としては、幾通りかの方法が考えられるが、ここではDVD再生動作の停止を行うとする。そして、識別子付加手段1105は、無音を示す識別子(以下、無音識別子C)を付加した略ゼロデータを出力する。それから所定時間後、例えば30msec後にノンリニアPCMデータの先頭からのオーディオ出力を開始する。無音識別子Cの値は、ここではC1hとする。
また、無音識別子Cは、これに引き続き所定のデータ領域を有し、データ領域はMSB(most significant bit)側の16ビットを“0”で埋め、残りのLSB側8ビットにはサブラベルをアサインして用途を明確にする。
このようにして、DVDプレーヤなど、データを出力するブロックでは、オーディオデータがリニアPCMデータからノンリニアPCMデータに変化する際には、所定時間、無音識別子Cを付加した略ゼロデータを間に挟んでIEEE1394バスに出力するようにする。
一方、IEEE1394バスからデータを受信するアンプ側は、まずデータ分離手段1106では、ラベルとオーディオデータとを分離し、ラベルは第1の識別子判別手段1107へ、オーディオデータはデータ処理選択手段1109へ出力する。第1の識別子判別手段1107は1サブフレーム分のラベルの内容を判別し、その結果をデータ処理選択手段1109へ出力すると共に、ラベルがIEC60958フォーマットの場合は、ラベルの内容を第2の識別子判別手段1108へ出力する。第2の識別子判別手段1108は、ラベルからチャネルステータスビットを抜き出し、192フレーム分蓄積してチャネルステータスデータを作成した後、オーディオデータがリニアPCMデータかどうかを判別し、その結果をデータ処理選択手段1109に出力する。そしてデータ処理選択手段1109は、第1の識別子判別手段1107の結果が無音識別子Cの場合、または第2の識別子判別手段1108の結果がリニアPCMデータでない場合はオーディオデータの出力をデータ復号手段1110の方へ設定し、第2の識別子判別手段1108の結果がリニアPCMデータの場合はオーディオデータの出力をD/A1111の方へ設定する。
今、IEEE1394バスから出力されたオーディオデータが、リニアPCMデータから無音識別子付きの略ゼロデータに変化した場合、第1の識別子判別手段1107は、ラベルから無音識別子を検出し、その結果をデータ処理選択手段1109に出力する。このときデータ処理選択手段1109は、これがリニアPCMからノンリニアPCMへの移行を示す、と判断できる。
しかしながら、上記従来の方法では、DVDなどで、伝送するオーディオストリームがIEC60958フォーマットからDVDの多チャンネル高サンプリングのフォーマットに変わったなど、ストリームの種類が変化した場合に、受信装置側の再生音で尻切れ、頭切れが起こるという問題点がある。
すなわち、図13の例において、IEC60958フォーマットのAC3エンコードデータが伝送されていて、無音識別子のパケットを挟んでDVDフォーマットのデータに変わった場合を考える。この場合、受信側では送信側とほぼ同じタイミングで同じ識別子が検出される。AC3のエンコードデータは受信側でデコード処理される。AC3エンコードデータは1536フレームを1単位として圧縮されているので、エンコードデータを受信してからデコード処理が終了してオーディオデータが出力されるまで、1536フレーム分の遅延が生ずる。DVDのAC3は48kHzサンプリングであるから、この遅延は約32msとなる。しかし、従来の構成では、AC3を示す識別子が終わり無音識別子になると、まだAC3のデコードや出力が終了していないにも拘わらず、ゼロデータが出力され、尻切れが発生する。また、無音識別子に続いてDVDフォーマットのデータが送られきて、そのサンプリング周波数が98kHzであった場合、処理クロックを発生させているPLLが一旦はずれて、再引き込みを行う。再生に必要な安定したクロックが得られるまでには100ms程度要する場合もある。この間、DVDのオーディオデータ再生はできずミュート状態になり、コンテンツの頭切れが発生する。
本発明は上記のような従来の問題点を解決するもので、フォーマットが変わった場合でも、受信装置側の再生音で尻切れ、頭切れが発生しないオーディオ送信装置及びオーディオ受信装置を提供することを目的とする。
この目的を達成するために本発明のオーディオ送信装置は、少なくともディジタルオーディオデータ及び前記ディジタルオーディオデータの識別子(または識別情報)を伝送路に送出するデータ送出手段を備え、前記データ送出手段は、識別子Aのディジタルオーディオデータから識別子Bのディジタルオーディオデータに遷移する所定の時間T1の間、無音識別子Cと、識別子Aを示す情報とを出力し、さらに所定の時間T2の間、無音識別子Cと、識別子Bを示す情報とを出力する。
また、本発明のオーディオ受信装置は、伝送路を介し受信したデータの識別子を判別する識別子判別手段と、前記識別子判別手段の出力に応じ、非エンコードモードであることを示す識別子の場合にはディジタルオーディオデータをそのまま出力し、エンコードモードであることを示す識別子の場合にはデータ復号手段を介して出力し、無音識別子Cの場合で、無音識別子Cの前の識別子が非エンコードモードであることを示す識別子の場合には直ちに出力を略ゼロにミュートし、無音識別子Cの前の識別子がエンコードモードであることを示す識別子の場合にはデータ復号手段で処理中のデータの処理が終了した後に出力を略ゼロにミュートし、無音識別子Cによってミュートしている最中に無音識別子Cに付随した識別子情報に応じたデータ出力のための設定に移行する。
以上の構成により、フォーマットが変化した場合におていも、確実にオーディオデータの送受信が可能となる。
以上のように本発明は、送信側では、オーディオデータの種類が変化する際に、無音識別子と変化前の識別子情報を含むパケット、無音識別子と変化後の識別子情報を含むパケットを所定時間挿入するので、受信側で無音識別子を検出して適切に変化前のオーディオデータを出力し尻切れを防止すると共に、変化後のデータフォーマットの処理準備を行うことによって頭切れを防止できる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
本発明の実施の形態1では、オーディオ送信装置及びオーディオ受信装置をIEEE1394バスで接続する。AMプロトコルで伝送するデータをIEC60958フォーマットのAC3エンコードデータからDVD5.1chオーディオデータに変える場合のストリームの接続についての例で説明する。
図1は、本発明の実施の形態1によるオーディオ送信装置及びオーディオ受信装置の構成を示すブロック図である。
図1において、101はオーディオ送信装置の一例として、DVD(Digital Video Disc)を再生し、少なくともディジタルオーディオ出力を伝送路としてのIEEE1394バスに出力するDVDプレーヤ、102はオーディオ受信装置の一例として、IEEE1394バスに出力されたディジタルオーディオデータを再生するアンプである。103はDVDからディジタルオーディオデータ及びディジタルオーディオデータの管理情報を再生するデータ再生手段、104はデータ再生手段103の出力制御を行う制御手段、105はディジタルオーディオデータの管理情報からディジタルオーディオデータの種類を判別し、その結果を識別子(または識別情報)として制御手段104に出力すると共に、識別子をラベルのフォーマットに変換し、ディジタルオーディオデータにラベルを付加してIEEE1394バスに出力する識別子付加手段である。データ再生手段103から識別子付加手段105までがDVDプレーヤ101を構成する。
106はIEEE1394バスに出力されたデータをラベルとディジタルオーディオデータに分離するデータ分離手段、107はAMプロトコルパケットの各クワドレットのラベルの内容を判別する第1の識別子判別手段、108はラベルがIEC60958フォーマットを示す場合、192フレーム分のチャネルステータスビットを蓄積し、オーディオデータがリニアPCMかどうか判別する第2の識別子判別手段、109は第1の識別子判定手段107の判定結果が無音識別子であった場合、無音識別子に続く副識別子の内容を判別する副識別子判別手段、110は第1の識別子判別手段107の判別結果などに応じてデータを整列させるデータ整列手段、111は第1の識別子判別手段107、第2の識別子判別手段108、副識別子判別手段109からの情報に応じて記憶手段112から復号方法をロードし、その方法に応じてデータ整列手段110からのデータを復号するデータ復号手段、112はデータ復号手段111の復号方法を記憶しておく記憶手段、113は第1の識別子判別手段107、第2の識別子判別手段108、副識別子判別手段109からの情報に応じてデータ整列手段110またはデータ復号手段111からのデータを選択する選択手段、114はディジタルオーディオデータをアナログ信号に変換するDAコンバータ(以下、D/Aと記す)である。
なお、本実施の形態では、第1の識別子判別手段107、第2の識別子判別手段108および副識別子判別手段109を総じて識別子判別手段と称する。
以上のように構成された本発明のオーディオ送信装置及びオーディオ受信装置における、オーディオ伝送動作について、以下説明する。
まず、DVDプレーヤ側の動作を説明する。データ再生手段103は、最初はDVDを再生するものとし、AC3エンコードデータを識別子付加手段105に出力する。識別子付加手段105はデータ再生手段103から出力されるオーディオデータの管理情報から識別子を識別子Aとして生成し、識別子を制御手段104に出力すると共に、識別子をラベルのフォーマットに変換し、ラベルをオーディオデータに付加してIEEE1394バスに出力する。AC3エンコードデータはIEC60958形式のAMプロトコルパケットに格納される。このパケットは図8に示したのと同様な形となる。ラベルは00h〜3fhの値をとる。チャンネルステータスCを1データブロック(192フレーム)まとめたビット列のビット番号1の位置に、このストリームがリニアPCMあるかどうかを示すフラグがある。このフラグはリニアPCMで無い場合は値1である。IEC60958型式で圧縮オーディオデータを伝送する方法はIEC61937として規格化されている。IEC61937では、データ部分はデータバーストと呼ばれる。データバーストの先頭のヘッダには、この部分のデータタイプ(圧縮フォーマット種別などを示す)を格納する。1394バス上に出力されるAMプロトコルのパケットでは、サブフレームのデータ24ビットの部分にデータバーストとしてAC3のエンコードデータを格納する。
今、データ再生手段103で再生しているDVDのオーディオデータが、AC3エンコードデータからDVD5.1chオーディオデータに変化したとする。このとき制御手段104は、識別子付加手段105から出力される識別子から変化を検出し、データ再生手段103のオーディオ出力を停止する。停止手段としては、幾通りかの方法が考えられるが、ここではDVD再生動作の停止を行うものとする。
そして、識別子付加手段105は、無音識別子と変化前の識別子Aを付加したパケットを出力する。このパケットの一例を図2に示す。
無音識別子としては、たとえば、AMプロトコル拡張案で提案されているデータなしを示すためのラベルCFhを用いる。ラベルに続く8ビットは識別子A情報を格納する。ここではIEC60958を示す情報を格納するが、IEC60958の代表値として00hを用いてもよい。もし、チャンネルステータスCを含めてAC3エンコードデータのラベル値00h〜3Fhを時系列として正確に発生できる機器はその値を入れてもよい。識別子A情報の後の16ビットは、どんな情報を用いてもよい。たとえばすべて0にすることも可能である。しかし、この16ビットのうちの所定のビット、たとえばLSB8ビットに逐次異なるデータ、擬似乱数などを入れてもよい。擬似乱数はたとえば、M系列発生器を用いて作ることができる。この様な擬似乱数を入れておくことにより、このパケットを暗号化した場合、暗号化されたパケットが一定の値になることを防止でき、暗号化のアルゴリズムを解析するのをより困難にすることができる。
識別子付加手段105は、無音識別子と変化前の識別子Aを付加したパケットを出力し始めてから所定時間T1後、例えば40ms後に無音識別子と変化後の識別子Bを付加したパケットを出力する。この識別子B情報をもつパケットに移行する時間T1は所定の値(たとえば3ms)以上であれば、特に規定しない。
例えば、AC3ではデコーダでの処理遅延が32ms程度は発生するので、T1はこれよりも長く設定するのが望ましい。値T1はアプリケーション(圧縮フォーマット)の処理遅延に応じて適切な値に変えてもよい。また、オーディオ機器と映像機器で機器制御ソフトウェアを共用する可能性もある。IEEE1394が広く用いられているDVCでは、1フレームが30msであり、テープ上に1フレーム当たり10本のトラックで記録再生するので、処理単位が3msとなる。DVCではAMプロトコルは使われないが、DVCと共用の制御ソフトウェアでAMプロトコルも扱う可能性がある。よって、マイコンにAMプロトコルの識別子情報を取り込んで何らかの処理(たとえば、機器の状態表示など)に利用するシステムを考慮すると、T1が3ms以上あるのが確実である。
また、実装に際しては、次のストリームの識別子Bが何であるかわかるまでは識別子Bを付加したパケットの出力に移行することが不可能であり、それまでは識別子A情報のパケットを出し続けておくものとする。
無音識別子と変化後の識別子Bを付加したパケットの一例を図3に示す。DVD5.1chデータはマルチビットリニアオーディオデータ6クワドレットとアンシラリ(付属)データ2クワドレットから構成される。したがってCIPヘッダのDBS(データブロックサイズ)は8になる。またサンプリング周波数も48kHz以外に96kHz、192kHzなどがあるので、データ再生手段103が再生するデータの管理情報に応じた値をFDFに設定する。SYTフィールドに格納されるタイムスタンプもデータ再生手段103が再生する識別子Bのデータに対応したクロックによって作られるタイムスタンプを格納する。
無音識別子は識別子A情報の場合と同様CFhを用いる。識別子B情報としては、AMプロトコル拡張案で提案されているマルチビットリニアオーディオのうち、D8h〜DBhまでの値を用いる。D8hがデータ長24ビット、D9hが20ビット、DAhが16ビット、DBhはその前と同じデータ長を示す。識別子B情報の後ろは図2の場合と同様にすべて0のデータ、逐次変化するデータ、擬似乱数などを格納する。
6クワドレットの無音識別子の後にはアンシラリ(付属)データを格納する識別子Dのクワドレットが2つ続く。識別子Dの値は、AMプロトコル拡張案で提案されているD0hとする。識別子Dの後は副識別子のフィールドが続く。副識別子は副識別子フィールドの後の16ビットに格納されるデータの形式を示す。これは、各チャンネルのサンプリング周波数(DVDでは5.1chのサンプリング周波数が同一でない場合もある)、チャンネル割りつけ、ダイナミックレンジ制御、ダウンミックス係数、エンファシスフラグ、コピー制御情報、ISRC(国際標準記録コード)などを示す。これらの情報はDVDディスクの所定のコンテンツを読まなければわからないものもあるが、ディスク全体で共通のものもあり、その状況に応じてわかる情報はすべて伝送することが可能である。
所定時間後T2、例えば300msec後に識別子付加手段105は、DVD5.1chのパケットを出力し始める。このDVD5.1chパケットに移行するまでの時間T2は所定の値(たとえば3ms)以上であれば、特に規定はない。しかし、たとえば、DVD5.1chでサンプリング周波数がそれまでの値と変化する場合、PLLのロックが一旦はずれ、再度引き込みを行ったりする。高品質な再生を行うためにPLLが十分安定するには100ms程度の時間は必要である。また、オーディオ送信装置のアプリケーションによっては圧縮フォーマットなどが変化する可能性もあり、これに伴い受信側の処理方法が変わり、このための準備に時間がかかる場合もある。したがって、時間T2の値は、次のストリームが何であるか、その前のストリームが何であったか、によって変えてもよい。
このようにして、DVDプレーヤなど、データを出力するブロックでは、オーディオデータが識別子A(たとえばAC3エンコードデータ)から識別子B(たとえばDVD5.1chオーディオデータ)に変化する際には、所定の時間T1以上無音識別子と変化前の識別子Aを付加したパケットと、所定の時間T2以上無音識別子と変化後の識別子Bを付加したパケットとを間に挟んでIEEE1394バスに出力するようにする。
つぎに、IEEE1394バスからデータを受信するアンプ側の動作について説明する。
アンプは、まずデータ分離手段106で、ラベルとオーディオデータとを分離し、ラベルは第1の識別子判別手段107へ、オーディオデータはデータ整列手段110へ出力する。また、CIPヘッダのDBSなどはデータ整列手段110へ送る。
第1の識別子判別手段107はラベルの内容を判別し、その結果を選択手段113へ出力すると共に、ラベルがIEC60958フォーマットの場合は、ラベルの内容を第2の識別子判別手段108へ出力する。また、ラベルの内容が無音識別子Cであれば、副識別子判別手段109へも通知する。
第2の識別子判別手段108は、ラベルからチャネルステータスビットを抜き出し、192フレーム分蓄積してチャネルステータスデータを作成した後、オーディオデータがリニアPCMデータかどうかを判別し、その結果をデータ復号手段111と選択手段113に出力する。
副識別子判別手段109は、第1の識別子判別手段が無音識別子Cと判別した場合、識別子に続く識別子情報を判別する。
データ整列手段110は、識別子やDBS、アンシラリデータなどをもとにデータ分離手段で分離されたデータを所定の形式に整列させ、出力する。たとえば、IEC60958フォーマットの場合は各CIPのデータブロックをLチャンネルRチャンネルの2チャンネルに整列させ、所定の型式で出力する。オーディオ機器の内部ではオーディオデータは、3線式などと呼ばれる形式でLSI間を伝送されることが多い。3線式のオーディオデータ伝送の波形例を図4に示す。この型式では、サンプリング周波数FSのクロック信号、データ転送用のBCK信号(FSのn倍、n=32、48、64・・・などがよく用いられる)、そして、2チャンネルデータを交互にシリアル伝送するdataの3線でデータ伝送を行う。
DVD5.1chの場合には、各ブロックの先頭から6クワドレットを6チャンネルオーディオデータとして整列させた上、3線式にもう2本data線を追加した形式でLSI間の伝送を行う。この場合、6チャンネルのデータを(L、R)、(C(センター)、LFE(低音))、(SL(サラウンドL)、SR(サラウンドR))のような3ペアにすることが多い。3本のdataが選択手段113に接続されていて、IEC60958フォーマットのリニアPCM(2ch)が受信された場合には(C、LFE)、(SL、SR)のdata線はゼロデータ(Lレベル固定)にしておく。これにより最終的なアナログオーディオ出力は無音になる。実装によってはDAの後段にアナログミュートを設け、無音のチャンネルをアナログ的にゼロにしてもよい。また、無音識別子Cには、逐次変化するデータ、あるいは、疑似乱数データが含まれている場合があるが、これもゼロデータに置き換えてミュートする。
データ復号手段111は、第1の識別子判別手段107の判別結果、および、データ整列手段110から入力されたデータ中に埋め込まれた圧縮フォーマットに応じた復号方式でデータを複号化する。第1の識別子判別手段107の判別結果が無音識別子Cの場合には、第1の識別子判別手段107の代わりに副識別子判別手段109の判別結果を用いる。DVDプレーヤの場合には復号が必要なのはIEC60958のノンリニアPCMの場合である。この場合にはデータ整列手段110から入力されたデータからデータバーストのヘッダを検出し、そこに格納されたデータタイプに従った復号を行う。記憶手段112はデータ復号手段111用の復号方法を記憶させてあり、データ復号手段111からの要求に応じてデータ復号手段111に復号方法を供給する。ここに記憶されている復号方法とは、たとえば、AC3、dts、MPEGなどの復号プログラムなどである。
選択手段113は、第1の識別子判別手段107と第2の識別子判別手段108との判別結果に応じて、データ整列手段110またはデータ復号手段111のどちらかの出力を選択する。入力データがIEC60958フォーマットでノンリニアPCMの場合にはデータ復号手段111からの出力を、IEC60958フォーマットでリニアPCM、あるいは、マルチビットリニアオーディオの場合にはデータ整列手段110の出力を選択する。また、無音識別子の場合には副識別子判別手段109の判別結果を第1の識別子判別手段107の判別結果の代わりに用いる。IEC60958フォーマットでラベルが00hだけの場合には、IEC60958ではあるが、リニアPCMなのか、ノンリニアPCMかの判別はせず、前の状態を保持する。
選択手段113の出力をD/A114へ入力し、アナログオーディオデータに変換する。
以上説明したデータ送受信と処理のタイミングを図5に示す。図5は、IEC60958フォーマットのAC3エンコードデータが伝送されていて、2種類の無音識別子のパケットを挟んでDVD5.1chフォーマットのデータに変わった場合である。
AC3のエンコードデータは受信側で復号処理され、オーディオ出力としてAC3が得られる。
送信側の出力がAC3エンコードデータから無音識別子のパケットに代わると、受信側は無音識別子を検出し、副識別子判別手段109では識別子A情報としてIEC60958型式のラベル00hを検出する。よって、選択手段113はデータ復号手段111の出力を選択したままとなり、オーディオ出力としてはAC3が得られる。データ復号手段111に溜まっていたAC3エンコードデータが全て復号された後は、データ復号手段111はエンコードデータが無いのでアイドリング状態になり、出力はミュートされる。
次に無音識別子でDVD5.1chを示す識別子B情報が送られて来ると、副識別子判別手段109ではラベルとしてマルチビットリニアオーディオ(たとえばD8h)が検出され、無音状態であるが、DVD5.1chの設定が必要であることがわかる。このときにはパケットのCIPヘッダのFDFフィールドのサンプリング周波数情報が96kHzにかわり、またSYTフィールドのタイムスタンプも96kHzに対応する値に代わるため、アンプ102のPLL(図示しないが、図7に示したようなクロック再生用のPLLである)はそれまでロックしていた48kHzからロックがはずれ、新たな96kHzのタイムスタンプに応じた引き込みを開始する。また、各データブロックのアンシラリデータに格納されたデータも読み出され、アンプ側で必要な設定が成される。この間オーディオ出力はミュートしたままである。
その後識別子が無音識別子からDVD5.1chに変わり、5.1chオーディオデータが送られてくると、アンプ101は既に5.1ch再生の準備が整っており、頭切れすることなく直ちに5.1chのオーディオ出力を開始する。
以上のように、本実施の形態によれば、受信側は、無音識別子を検出したら副識別子により、それ以前のデータフォーマット、あるいはそれ以後のデータフォーマットを知ることができる。これにより、伝送されたディジタルオーディオデータの尻切れを防止したり、種類変化へ速やかに対応して頭切れ防止したりできる。
なお、実施の形態1において、オーディオデータがIEC60958フォーマットのAC3エンコードデータからDVD5.1chデータに変化するとしたが、この他のデータフォーマット(IEC60958フォーマットのリニアPCM、SACD(スーパーオーディオCD)など)に変化してもよい。
また、実施の形態1において、無音識別子の送信時にはDVDプレーヤを停止させるとしたが、停止させずに無音識別子及び略ゼロデータを送信しても良い。
また、実施の形態1において、無音識別子の割り当てをLABELとしたが、それ以外の場所、例えばCIPヘッダの未使用領域を割り当てても良い。
また、実施の形態1において、送信機器をDVDプレーヤとしたが、それ以外の機器でも良い。
また、ミュートはフェードアウトおよびフェードインのソフトミュートとするのがショック音を防止でき好都合である。
その他、本発明の趣旨を変えずに構成を変形し、実施可能であることは言うまでもない。
本発明のオーディオ受信装置によれば、送信側では、オーディオデータの種類が変化する際に、無音識別子と変化前の識別子情報を含むパケット、無音識別子と変化後の識別子情報を含むパケットを所定時間挿入するので、受信側で無音識別子を検出して適切に変化前のオーディオデータを出力し尻切れを防止すると共に、変化後のデータフォーマットの処理準備を行うことによって頭切れを防止でき、有用である。
本発明の実施の形態1におけるオーディオ送信装置及びオーディオ受信装置の構成を示すブロック図
無音識別子と変化前の識別子Aを付加したパケットの一例を示す図
無音識別子と変化後の識別子Bを付加したパケットの一例を示す図
3線式のオーディオデータ伝送の波形例を示す図
本発明の実施の形態1におけるオーディオ送信装置及びオーディオ受信装置のデータ送受信と処理のタイミングを示す図
IEEE1394バス上のパケット伝送タイミングを示す図
送信ノードと受信ノードとの間のクロック情報の伝送を示す図
AMプロトコルのアイソクロナスパケットの一例を示す図
IEC60958フォーマットのときのAM824データの構成を示す図
ノンブロッキング方式のオーディオデータ送受信タイミングを示す図
従来のオーディオ送信装置及びオーディオ受信装置の構成を示すブロック図
従来の方法における、ディジタルオーディオデータがリニアPCMデータからノンリニアPCMデータに変化する際のタイミングチャート
従来の方法における、ディジタルオーディオデータがIEC60958フォーマットのAC3エンコードデータからDVDフォーマットに変化する際のタイミングチャート
符号の説明
101 DVDプレーヤ
102 アンプ
103 データ再生手段
104 制御手段
105 識別子付加手段
106 データ分離手段
107 第1の識別子判別手段
108 第2の識別子判別手段
109 副識別子判別手段
110 データ整列手段
111 データ復号手段
112 記憶手段
113 選択手段
114 DAコンバータ(D/A)