(57)【特許請求の範囲】
【請求項１】
可変ビットレートで送信され、ヘッダにより区切られた１フレームを単位とする圧縮データを受信してＦＩＦＯに蓄積させる手段と、前記ＦＩＦＯより前記圧縮データを読み出してデコードするデコード手段と、前記ＦＩＦＯに蓄積されている前記圧縮データのフレーム数を計測することによって再生可能時間を検出する手段と、前記再生可能時間の変化に基づき、前記再生可能時間が概略一定となるように前記ＦＩＦＯ及び前記デコード手段に対して基準信号を発生する手段と、を備える受信信号再生方法。
【請求項２】
前記基準信号を発生する手段がマスタクロックより基準信号を発生する手段であり、前記デコード手段の出力を、マスタクロックを固定値で分周して得られる第２の基準信号に同期した信号に変換するサンプリングレート変換手段をさらに有することを特徴とする請求項１記載の受信信号再生方法。
【請求項３】
可変ビットレートで送信され、ヘッダにより区切られた１フレームを単位とする圧縮データを受信する受信手段と、前記受信手段で受信した前記圧縮データを一時的に蓄積するＦＩＦＯと、前記ＦＩＦＯより前記圧縮データを読み出してデコードするデコード手段と、前記ＦＩＦＯに蓄積されている前記圧縮データのフレーム数を計測することによって再生可能時間を検出する再生時間検出手段と、前記再生可能時間の変化に基づき、前記再生可能時間が概略一定となるように前記ＦＩＦＯ及び前記デコード手段に対して基準信号を発生する基準信号発生手段と、を備える受信信号再生装置。
【請求項４】
前記基準信号発生手段がマスタクロックより基準信号を発生する手段であり、前記デコード手段の出力を、マスタクロックを固定値で分周して得られる第２の基準信号に同期した信号に変換するサンプリングレート変換手段をさらに有することを特徴とする請求項３記載の受信信号再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、逐次情報圧縮しながら送信されるオーディオ信号等を受信し、受信された信号を順次デコードしながら再生する受信信号再生方法および受信信号再生装置に関する。
【０００２】
【従来の技術】
近年、ワイヤレスによるオーディオ信号の伝送が行われるようになったが、伝送帯域を節約するため、図３に示すとおり、デジタル信号処理装置（以下、ＤＳＰと称す）１００によって入力されるサンプリング周波数fsを有するオーディオ信号列を特定個数毎に圧縮処理を行い、図４に示すような１フレームを単位とするデータ列にエンコードする。各フレームはフレーム長が異なっているが、それぞれはデコードすると同じ時間分のデータとなっている。各フレームにはヘッダ（図中“Ｈ”と表記している）があり、そのヘッダに同期用データ、フレーム長やサンプリング周波数といったデコードに必要な情報が書き込まれている。このような圧縮方式としては、国際標準規格ＭＰＥＧ−２のオーディオ圧縮方式の１方式であるＡＡＣ（Advanced Audio Coding）が知られている。エンコードされたデータ列は、送信機１０１を用いて送信され、受信機１０２により受信し、デコーダ用のＤＳＰ１０３によってフレームのヘッダよりサンプリング周波数、フレーム長等の必要な情報を読み取り、元のオーディオ信号に復調するようになっている。
【０００３】
【発明が解決しようとする課題】
しかしながら上記のような方法では、ＤＳＰ１００によってエンコードされたデータが図４に示すような可変ビットレートである場合、送信機１０１によって転送されてくるデータの転送レートが受信側では分からず、ヘッダによって指定されているサンプリング周波数で再生した場合にそれぞれで基準としている周波数に微妙なずれがあるために送信データが過多になる、或いは足りなくなるといった事態が発生するという課題があった。
【０００４】
本発明は上記の問題点に対し、転送レートが不明であっても、或いは、送信側、受信側双方における基準となる周波数がずれていた場合であっても正しくオーディオ信号を再生できる受信信号再生方法を提供するものである。
【０００５】
【課題を解決するための手段】
この課題を解決するために本発明は、可変ビットレートで送信され、ヘッダにより区切られた１フレームを単位とする圧縮データを受信してＦＩＦＯに蓄積させ、ＦＩＦＯより圧縮データを読み出しデコードするデコード手段と、ＦＩＦＯに蓄積されている圧縮データのフレーム数を計測することによって再生可能時間を検出する手段と、再生可能時間の変化に基づき、再生可能時間が概略一定となるようにＦＩＦＯ及びデコード手段に対しての基準信号を発生する手段とを有すようにしたものである。
【０００６】
これにより、逐次圧縮されながら送信される圧縮データをデコードする際に、送信側と受信側の基準信号の周波数に誤差があっても、順次再生することができる。
【０００７】
【発明の実施の形態】
本発明の請求項１に記載の発明は、可変ビットレートで送信され、ヘッダにより区切られた１フレームを単位とする圧縮データを受信してＦＩＦＯに蓄積させる手段と、前記ＦＩＦＯより前記圧縮データを読み出してデコードするデコード手段と、前記ＦＩＦＯに蓄積されている前記圧縮データのフレーム数を計測することによって再生可能時間を検出する手段と、前記再生可能時間の変化に基づき、前記再生可能時間が概略一定となるように前記ＦＩＦＯ及び前記デコード手段に対して基準信号を発生する手段と、を備えるようにしたものであり、これにより実際に送信されてくるデータ量に関係なく、ＦＩＦＯに蓄積されている圧縮データによる再生可能時間より送信側におけるサンプリング周波数ｆｓの実際の値が推定できるという作用を有する。
【０００８】
また、請求項２に記載の発明は、上記請求項１に係る発明に加え、前記基準信号を発生する手段がマスタクロックより基準信号を発生する手段であり、前記デコード手段の出力を、マスタクロックを固定値で分周して得られる第２の基準信号に同期した信号に変換するサンプリングレート変換手段を有するようにしたものであり、これにより、発生された基準信号がジッタを有している場合であってもサンプリングレート変換手段によってジッタを吸収するという作用を有する。
【００１０】
また、請求項３に記載の発明は、可変ビットレートで送信され、ヘッダにより区切られた１フレームを単位とする圧縮データを受信する受信手段と、前記受信手段で受信した前記圧縮データを一時的に蓄積するＦＩＦＯと、前記ＦＩＦＯより前記圧縮データを読み出してデコードするデコード手段と、前記ＦＩＦＯに蓄積されている前記圧縮データのフレーム数を計測することによって再生可能時間を検出する再生時間検出手段と、前記再生可能時間の変化に基づき、前記再生可能時間が概略一定となるように前記ＦＩＦＯ及び前記デコード手段に対して基準信号を発生する基準信号発生手段と、を備えたものである。これにより実際に送信されてくるデータ量に関係なく、ＦＩＦＯに蓄積されている圧縮データのフレーム数に基づく再生可能時間より、送信側におけるサンプリング周波数ｆｓの実際の値が推定できるという作用を有する。
【００１１】
また、請求項４に記載の発明は、上記請求項３に係る発明に加え、前記基準信号発生手段がマスタクロックより基準信号を発生する手段であり、前記デコード手段の出力を、マスタクロックを固定値で分周して得られる第２の基準信号に同期した信号に変換するサンプリングレート変換手段を有するものである。これにより、発生された基準信号がジッタを有している場合であってもサンプリングレート変換手段によってジッタを吸収するという作用を有する。
【００１３】
以下、本発明の実施の形態について図面を用いて説明する。
【００１４】
（実施の形態）
図１は本発明の実施の形態による受信信号再生装置の構成を示すブロック図である。なお、本発明の方法としての説明は、以下の装置の動作説明と同様であるので省略する。
【００１５】
この図を説明すると、受信器７が送信されてくる圧縮データを受信し、ＦＩＦＯ（first in first out memory）１に入力する。受信器７に送信されてくる信号は、送信側エンコーダ（図３、ＤＳＰ１００に相当）においてサンプリング周波数fs1を有する信号をエンコードしたものである。ＦＩＦＯ１は、ここでは１０２４サンプルのデータが圧縮されて１フレームとなっているデータが入力されている。ＦＩＦＯ１に４フレーム分のデータが蓄積されると、ＦＩＦＯ１は入力された順にデータ出力を開始する。出力開始後はデコード用のＤＳＰ４が発生するリクエスト信号ｒｑに応じてデータを放出するとともに入力に与えられてくるデータを順次蓄積していく。
【００１６】
クロック発生器３が発生するクロック信号ＣＫ１に基づき、ＤＳＰ４がＦＩＦＯ１より蓄積されたデータを順次読み出し、所定のデコード処理を行ってＦｓ変換器５へ出力する。ここで、クロック発生器３が発生するクロック信号ＣＫ１はサンプリング周波数fs1に相当する信号であり、ＤＳＰ４はＦＩＦＯ１に４フレーム分のデータが蓄えられるとデコード動作を開始し、リクエスト信号ｒｑによってＦＩＦＯ１よりフレーム単位でデータを要求し、サンプリング周波数fs1のレートでデコードされた信号をＦｓ変換器５に対して送出している。
【００１７】
Ｆｓ変換器５はクロック発生器３より与えられるクロック信号ＣＫ１に基づき入力されるＤＳＰ４出力を、フレームのヘッダに記載されているサンプリング周波数fs2に変換して出力する。このため、fs2なる周波数を有するクロック信号ＣＫ２が与えられている。後述のとおりクロック信号ＣＫ１はその周波数が細かく変動する、つまり多くのジッタを有した信号であり、このＦｓ変換器５はそのジッタを吸収し、マスタクロックに同期した信号を取り出すようにしたものである。このように動作するサンプリング周波数変換器としては、例えば、株式会社アイエー出版発行のラジオ技術誌１９９３年１２月号の１７３〜１８０ページに記載されている。
【００１８】
なお、すべてのブロックは、与えられたマスタクロックに基づいて動作しており、ここでは、クロック信号ＣＫ２はマスタクロックを２５６分周して得られるものを用いている。
【００１９】
再生時間検出器２は、ＦＩＦＯ１に入力されていくデータ量とＤＳＰ４に対して出力されたデータ量をその再生可能時間で管理している。ここではＦＩＦＯ１に対して新たに１フレーム分のデータが入力されると入力フレームパルスを、また、クロック発生器３が発生するクロック信号ＣＫ１をモニタし、１フレーム分に相当するクロック（ここでは１０２４パルス）をカウントすると出力フレームパルスをクロック発生器３に対して発生する。
【００２０】
クロック発生器３は、入力フレームパルスと出力フレームパルスに基づいて、巨視的に見て、送信側エンコーダの実際のサンプリング周波数と等しい周波数のクロック信号ＣＫ１を発生する。発生方法を図２と共に説明する。再生時間検出器２より与えられる入力フレームパルスの数をカウンタ２０が、出力フレームパルスの数をカウンタ２１が計測する。減算器２２がカウンタ２０とカウンタ２１の差Ｄを検出する。判定器２３〜２６において、差Ｄが６より大きいときは判定器２３が“１”のパルスを出力し、差Ｄが５より大きく６以下の時は判定器２４が“１”のパルスを出力し、差Ｄが２以上３未満の時は判定器２５が“１”のパルスを出力し、差Ｄが２より小さい時は判定器２６が“１”のパルスを出力する。
【００２１】
レジスタ２７には動作開始時に予め想定された分周比が設定される。ここでは１９ビットのデータで２６２１４４（２進数で１００，００００，００００，００００，００００）を基準としている。一定時間毎に判定器２３〜２６出力をチェックし、パルスが出力されているとそれに応じて格納されている値に対して−２〜＋２の値を加算する。受信器７によって４フレーム分のデータが受信されるとＤＳＰ４がデータ要求を開始するので差Ｄの値は当初４〜３となる。
【００２２】
分周器２８はレジスタ２７に格納された値に従って分周動作を行う。ここでは、与えられた１９ビットのを上位９ビット、下位１０ビットに分け、上位ビットで分周比を、下位ビットで｛上位ビットによる分周比｝と｛上位ビット＋１による分周比｝の割合を決めている。即ち、上位ビットによる値をＲ、下位ビットによる値をＭとすると、Ｒ分の１分周を（１０２４−Ｍ）回、（Ｒ＋１）分の１分周をＭ回実施するようになっている。また、ここではＲ分の１分周と（Ｒ＋１）分の１分周が偏り無く行われるよう１次のΔΣ変調を用いている。即ち、Ｒを順次累算していき、１０２３を超える毎に累算結果から１０２４を減じると共にその時に（Ｒ＋１）分の１分周を行う、というものである。
【００２３】
このように分周比を細かく変動させることにより巨視的に見て整数分の１では表せない細かな分周比を得るようにしている。因みに、レジスタ２７から与えられる２６２１４４という値は、実質的な分周比に換算すると２５６（２進数で１，００００，００００）ということになる。
【００２４】
次にクロック発生器３の動作について説明する。仮に送信側エンコーダの実際のサンプリング周波数が正確に４４．１kHzであったとすると、実際にＦＩＦＯ１に書き込まれるフレーム数はＤＳＰ４がＦＩＦＯ１より読み出すフレーム数は等しくなり、受信器７によって４フレーム分のデータが受信されるとＤＳＰ４がデータ要求を開始するのでフレーム数を計測しているカウンタ２０、２１の値の差Ｄは常に４〜３の範囲に収まる。故に、レジスタ２７の値は加算も減算もされず、２６２１４４の値が保持され、分周器２８ではマスタクロックの２５６分の１分周が行われ続ける。
【００２５】
しかし、送信側エンコーダの実際のサンプリング周波数が４４．１kHzよりも少し高かったとすると、実際にＦＩＦＯ１に書き込まれるフレーム数はＤＳＰ４がＦＩＦＯ１より読み出すフレーム数より多くなるため、フレーム数を計測しているカウンタ２０、２１の値の差Ｄは徐々に拡大し、５を超えるとレジスタ２７の値が−１され、分周器２８に対する分周比が下がり、クロック信号ＣＫ１の周波数が高くなる。一定時間経過後、減算器２２出力の変化を判定器２３〜２６によってチェックし、差Ｄが更に拡大し、６を超えていればレジスタ２７の値に対し、更に−２、差Ｄが同じであれば−１される。差Ｄが５以下になるまでこの動作が繰り返される。
【００２６】
逆に、送信側エンコーダの実際のサンプリング周波数が４４．１kHzよりも少し低い場合は、ＦＩＦＯ１に書き込まれるフレーム数はＤＳＰ４がＦＩＦＯ１より読み出すフレーム数より少なくなるため、フレーム数を計測しているカウンタ２０、２１の値の差Ｄは徐々に縮小し、３を下回るとレジスタ２７の値が＋１加算され、分周器２８に対する分周比が上がり、クロック信号ＣＫ１の周波数が低くなる。一定時間経過後、減算器２２出力の変化を判定器２３〜２６によってチェックし、差Ｄが更に小さくなり、２未満になっていればレジスタ２７の値に対し、更に＋２、同じであれば−１される。差Ｄが３以上になるまでこの動作が繰り返される。
【００２７】
このようにクロック発生器３では分周比を細かく変動させることで巨視的に見れば送信側エンコーダにおけるサンプリング周波数fs1と等しいクロック信号ＣＫ１を発生させている。
【００２８】
以上のように動作することで、送信側エンコーダの実際のサンプリング周波数が未知であっても、また、送信側、受信側のサンプリング周波数が、例えば、温度ドリフト等によって変動しても常にそれらの変化に追従した正しい分周比が得られ、クロック信号ＣＫ１としてその周波数が巨視的に見て送信側エンコーダの実際のサンプリング周波数と概略等しい信号が得られる。
【００２９】
以上のように、ＦＩＦＯ１における余裕度をそのデータ量ではなく再生可能時間で管理し、その値がほぼ一定となるように分周比を調節することにより送信側で使用しているサンプリング周波数fs1を適切に推定することができる。
【００３０】
なお、上記説明ではレジスタ２７における分周比を、２６２１４４を基準とし、１フレーム当たり１０２４サンプルとしたが、無論この値に限ったものではない。レジスタ２７のビット数を増やし、例えば５２４２８８を基準としても良い。またクロック信号ＣＫ２を４４．１kHzとしたが、これを４８kHzとしてＦｓ変換器５においてジッタを吸収した後にサンプリング周波数４８kHzの信号に変換しても良い。また、ＦＩＦＯ１において４フレーム分のデータが蓄積されると、ＦＩＦＯ１は入力された順にデータ出力を開始する、としたが、ＦＩＦＯ１の容量が大きい場合には更に多くのデータを蓄積しても良い。要は入力されるデータ量の変動によってアンダーフローを起こさない程度に満たされていれば良いものである。
【００３１】
また、上記実施の形態では、ブロック図に基づき動作を説明したが、その動作をソフトウェアで実現できることは言うまでもない。
【００３２】
【発明の効果】
以上のように本発明によれば、可変ビットレートで送信され、ヘッダにより区切られた１フレームを単位とする圧縮データを受信してＦＩＦＯに蓄積させる手段と、前記ＦＩＦＯより前記圧縮データを読み出してデコードするデコード手段と、前記ＦＩＦＯに蓄積されている前記圧縮データのフレーム数を計測することによって再生可能時間を検出する手段と、前記再生可能時間の変化に基づき、前記再生可能時間が巨視的に見て一定となるように前記ＦＩＦＯ及び前記デコード手段に対して基準信号を発生する手段と、を備えるようにしたことにより、送信側におけるサンプリング周波数が未知であり、しかも送信されて来るデータ量が一定しない場合であっても正確に送信側におけるサンプリング周波数を推定して正しく再生できるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態による受信信号再生装置の構成を示すブロック図
【図２】同受信信号再生装置のクロック発生器の構成を示すブロック図
【図３】従来の受信信号再生装置を説明するためのブロック図
【図４】圧縮データとしてのデータストリームの概念を示す説明図
【符号の説明】
１  ＦＩＦＯ
２  再生時間検出器
３  クロック発生器
４  ＤＳＰ
５  Ｆｓ変換器
６  周波数比検出器
【図１】
0004240880.tif 000002
【図２】
0004240880.tif 000003
【図３】
0004240880.tif 000004
【図４】
0004240880.tif 000005