説明

サンプルレート変換器

【課題】従来のサンプルレート変換器では、FIFOを制御する時に変換精度が劣化するために、実用的な変換性能が劣化してしまうという課題があった。
【解決手段】入力クロックの周波数検出器と、前記周波数検出器の出力により出力信号を推定する補間フィルタと、前記補間フィルタの出力を一時保持して定められたタイミングで出力するFIFOメモリを備えるサンプルレート変換器において、周波数検出結果の補間フィルタへの出力更新頻度をFIFOの状態を基にして決めるように構成する

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルオーディオ機器で使用されるサンプルレート変換器に関する。
【背景技術】
【0002】
近年、CD/DVDをはじめとしたデジタルのオーディオを記録再生する機器が増加しており、複数の機器からの出力をミキシングしたり、CDの音をDVDに入れたいといった要望がある。例えばCDのサンプリング周波数は44.1kHzで、DVDのサンプリング周波数は48kHzなので、これらを相互変換したい場合には、一旦D/A変換してアナログ状態で処理を行い、それを新しいサンプリング周波数でA/D変換して記録するということも可能であるが、アナログを経由するとノイズや歪が加わってしまうので、これらのサンプリング周波数をデジタル領域で変換するためにサンプルレート変換器が用いられる。
【0003】
従来のサンプルレート変換器の一例のブロック図を図4に示す。図4において、サンプルレート変換器405は、周波数検出回路401、補間フィルタ402、FIFO(先入れ先出し)メモリ回路403、補正回路404で構成される。デジタルオーディオインターフェース受信回路(以降、DAI受信回路と呼ぶ)400は、外部機器からの入力信号から転送クロックやデータを生成してそれをサンプルレート変換器405へ出力する。周波数検出回路401はDAI受信回路400で生成されたクロック信号の周波数を検出する。補間フィルタ402は周波数検出回路401で検出された周波数情報を元にして出力クロック周波数での出力信号を推定する。FIFOメモリ回路403は補間フィルタ402で生成された出力信号を一時的に保持して、正確な出力クロック周波数で順に出力する。補正回路404はFIFOを制御する。
【0004】
次に、サンプルレート変換器405の動作を説明する。
【0005】
DAI受信回路400では、同軸や光ケーブルなどによる標準的なAES/EBUインターフェース等のシリアル信号を受けとり、その信号からビットクロック、ワードクロック、データの3本の信号を出力する。一般的にはビットクロックはサンプリング周波数fsの64倍の周波数、ワードクロックはfsそのものの周波数で、データはL/R各32個のサンプルの中に16ビットから24ビットのオーディオデータとその他の付加情報などが含まれた信号となっている。
【0006】
まず、周波数検出回路401では、DAI受信回路400の出力のうちのビットクロックを入力として、出力する側のビットクロックの整数倍の信号で一定期間カウントすることにより、入力ビットクロックと出力ビットクロックの比率を求める。例えば入力fsが44.1kHzの場合のビットクロックは2.8224MHzで、出力fsが48kHzの場合のカウントするクロックをfs*64*8=512倍の24.576MHzとすると、このカウントは入力1周期に対して出力クロックが8.70748個入ることとなり、この比率を基にしてfsの変換が行われる。
【0007】
補間フィルタ402では、まず入力データをオーバーサンプリングして、不要な帯域の信号を除去するローパスフィルタを通し、その後に上記の比信号に基づいてサンプル間の値を、例えば直線補間して8/8.70748=0.91875毎の値を計算する。この時のオーバーサンプルの比率と直線補間のポイント数により、変換の精度が決まり、512fsと2048ポイントであれば振幅誤差は20ビット精度以下となることが知られている。
【0008】
このようにして求められた変換後の出力データはFIFOメモリ回路403に一旦保持され、一定の出力ワードクロックのタイミングにあわせて読み出されて、出力ビットクロックと共に出力されて、外部での処理に使用される。
【0009】
一般にFIFOの処理は、入力データの数と出力データの数が釣り合うように常時メモリ残量をチェックしながら制御が行われる。サンプルレート変換器のFIFOの場合には出力データのタイミングは変換後の周波数により決められているので、入力側を変化させて制御を行う。つまり、周波数検出時定数で常に中央方向になるように周波数検出結果を補正しながら動作する。
そして、非特許文献1には、再標本化時刻の補正という処理で周波数比の値を補正することでこのFIFOの制御を行う方法が提案されている。
【0010】
補正回路404では上記のFIFOの制御を行うためにFIFOメモリ回路403の残量が多くなった時に、周波数検出回路401の出力を補正して、FIFOメモリ回路403へ送るデータの数を変化させることでFIFOメモリ回路403の残量が少なくなるように、例えばFIFOにデータが貯まり過ぎてきたような場合には、周波数比を上げるほうに補正することで入力データの数が減り、結果としてFIFOの残量が減るように動作する。
【非特許文献1】ラジオ技術1994年5月号p133−144
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、こうしたFIFOの制御を行うことは、サンプリング周波数の変換の比率を変えるということになるので、出力データに歪が生じるという課題がある。
【0012】
元々が20ビット精度であったものが、再標本化時刻の補正を1LSB行った場合には直線補間の値が変わることにより1ビット分少ない精度しか得られなくなってしまう。また、周波数検出回路の出力は電源ノイズ等の影響で微小に変動している場合が多いので、この場合にも同様の精度劣化が発生してしまい、さらにこの変動が常時発生しているために結果として入力オーディオ信号とこの変動分が混変調歪を発生させるということになり、このためサンプルレート変換による音質の劣化が発生していた。
【0013】
本発明は、かかる課題を解決し、高精度の変換を簡単な回路で実現できるサンプルレート変換器を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明は、入力信号のサンプルレートを変換して出力するサンプルレート変換器であって、入力信号からクロック信号を生成する受信手段と、前記受信回路で生成されたクロック信号の周波数を検出する周波数検出手段と、前記周波数検出器で検出された周波数情報に基づき出力信号を推定する補間フィルタと、前記補間フィルタで生成された出力信号を一時的に保持するとともに、所定の周波数で出力信号を出力するFIFOと、前記周波数検出器で検出された周波数情報を量子化して保持するとともに、当該周波数情報を前記補間フィルタに出力する保持手段とを備え、前記保持手段は、前記FIFOの残量情報に基づき前記補間フィルタへの出力頻度を決定する。
【0015】
このようにすれば、本発明のサンプルレート変換器は、従来のように周波数検出器の出力を常時そのまま用いるのではなく、一旦量子化した値を保持し、その保持した値で周波数変換を行い、FIFOの残量が少なくなった時にだけ新しい周波数情報を与えるように変更頻度を変えているので、通常は全く変化しない周波数検出出力を使用することが出来る。この固定した周波数情報でほとんどの時間にわたって理論どおりの高性能のサンプルレート変換処理が行われて、結果として従来に無い高音質でのサンプルレート変換が可能になるという効果がある。
【0016】
また好ましくは、前記前記FIFOの残量情報が予め設定した上限閾値あるいは下限閾値から外れたときに、前記周波数検出器で検出された周波数を前記補間フィルタに出力する。
【0017】
このようにすれば、FIFOの容量の範囲内で一定の周波数検出結果を補間フィルタへ出力するようにして、補間フィルタの動作を極力を変化させないようにすることで、等価的に時定数の非常に長い周波数検出を行うことが出来、また入力信号に不要に重畳された変動成分に対してもその変動成分を無視することが出来るため、その結果、混変調ノイズの少ない高品質なサンプルレート変換を行うことが可能となる。
【0018】
また好ましくは、前記周波数検出手段で検出した周波数が所定の範囲にあるか否かを検出するロック検出手段をさらに備え、所定の範囲を外れたときには前記補間フィルタへの周波数検出出力を高速検出値に切換える。
【0019】
このようにすれば、入力信号周波数がDVDからCDに切換わった場合など、急激な周波数変動が発生した場合に、ロック検出が外れることで、その変動に急速に追従することが可能となり、変動が収束して所定の範囲内に入り、ロックが検出された場合に通常動作に復帰することで、高精度のサンプルレート変換が可能なる。
【発明の効果】
【0020】
すなわち、本発明によれば、混変調ノイズの少ない高品質なサンプルレート変換を行うことできる。
【発明を実施するための最良の形態】
【0021】
(実施の形態1)
<1.サンプルレート変換器の構成>
図1は、本発明の実施の形態1に係るサンプルレート変換器105のブロック図を示す。図1において、デジタルオーディオインターフェース受信回路(以降、DAI受信回路と呼ぶ)400、サンプルレート変換器105は、周波数検出回路101、補間フィルタ102、FIFO(先入れ先出し)メモリ回路103、保持回路104で構成される。
【0022】
周波数検出回路101はDAI受信回路400で生成されたクロック信号の周波数を検出する。補間フィルタ102は保持回路104から出力された周波数情報を基にして出力クロック周波数での出力信号を推定する。FIFO(先入れ先出し)メモリ回路103は補間フィルタ102で生成された出力信号を一時的に保持して、正確な出力クロック周波数で順に出力する。保持回路104は、FIFOメモリ回路103の残量情報を基にして周波数検出回路101の出力を量子化して保持し、その出力を補間フィルタ102へ出力する。以下、各構成を具体的に説明する。
【0023】
周波数検出回路101は、一定時間例えば0.1秒間に入力クロック信号の変化回数をカウントするカウンタで構成でき、2.8224MHzを数えると28224個(16進数で6E40h)となるので15ビットのカウンタがあればよいが、32kHz〜192kHzへと対応範囲を広げるために17ビットのカウンタを準備しておく。さらに精度を高めるためにこの計測結果を8回平均化した信号を生成しても20ビットのカウンタがあればよい。これを出力周波数例えば48kHzでのカウント数30720(16進数で7800h)と比較して周波数比を求める。
【0024】
補間フィルタ102では、通常の帯域制限フィルタ処理およびオーバーサンプリング処理を行うとともに、上記周波数検出回路101で求めた周波数情報を基にして、出力サンプルレートとの比を計算して、出力サンプルのタイミングを計算する。このタイミング情報に基づいて、例えばその値が現在のタイミングから153/2048だけ後ということであれば、現在のサンプル値と次のサンプル値との直線補間値を計算して出力信号とする。
【0025】
FIFOメモリ回路103では、上記の計算結果が出たタイミングで補間フィルタ102の出力信号を一旦記憶して、その信号をある程度保持した後、変換後の一定の出力タイミングに合わせて出力する。
【0026】
保持回路104は、FIFOメモリ回路103の残量情報を監視して、所定の状態になったときに周波数検出回路101の出力の周波数情報を保持する。基本的には上記の残量情報が正側または負側に大きく振れて、残量を減らしたい場合に新しい周波数情報を保持して、これを望む方向に合わせて量子化して補間フィルタ102へ出力するので、その新しい周波数情報を基にして計算された補間フィルタ102出力信号のサンプル数が変化して、これによりFIFOメモリ回路103の残量情報が変化する形になる。
<2.実施の形態1と本発明の対応関係>
サンプルレート変換器105は、サンプルレート変換器の一例である。DAI受信回路400は、受信手段の一例である。周波数検出回路101は、周波数検出手段の一例である。補間フィルタ102は、補間フィルタの一例である。FIFOメモリ回路103は、FIFOの一例である。保持回路104は、保持手段の一例である。
<3.サンプルレート変換器の動作>
サンプルレート変換器105の動作には、通常時の動作と入力周波数が変化した時の動作があり、このそれぞれの動作を説明する。
<3.1 通常時の動作>
通常の動作状態では、周波数検出回路101の出力を保持回路104で量子化して、さらに切り捨て処理して保持した値でサンプルレート変換処理が行われている。実際の入力クロック周波数と保持した値との誤差分でFIFO103の残量が減っていく状態になっているものとすると、ある程度時間が経過するとFIFO103がアンダーフローを起こしそうになる。そうなる前のところにしきい値を設けておき、このしきい値に達したら保持回路104へ信号を出力する。保持回路14ではFIFO103からの信号を受けて周波数検出回路101の出力を再取り込みして、今度は量子化の方法を切捨てから切り上げに変えた状態で保持値を決めて、補間フィルタ102へ出力する。これにより実際の入力クロック周波数と保持した値の誤差分はそれまでとは逆側に設定され、それによりFIFO103の残量は増える方向に変化していくように設定される。
【0027】
このように周波数検出結果を量子化することは、微細な変動の影響を除去するためにも有効で、周波数検出精度が下がる代わりに安定度が高くなり、本発明のFIFO部と組み合わせることにより、安定性がより高いサンプルレート変換を実現することが出来る。
【0028】
この量子化方法の切換の代わりに通常の検出結果に1LSBを加算・減算する処理でも同様の機能を持たせることが出来るが、この変化量が大きいほどFIFO103の残量の変化率が大きくなるので、同じ時間だけ固定状態で動かしたい場合にはFIFO103の容量にもう少し大きいものが必要になる。
【0029】
図2は、FIFO103の残量の時間変化グラフを示す。図2において、16は従来の補正回路を用いた場合の残量変化、17は本発明の保持回路104を用いた場合の残量変化、18は残量検出の上側のしきい値、19は残量検出の下側のしきい値である。
【0030】
従来の補正回路を用いた場合には、周波数検出回路101の出力を直接使用するので、検出出力の量子化誤差などにより16のように残量が比較的頻繁に変化しているのに対して、保持回路104を用いた場合には、固定した周波数情報を用いているので固定した誤差に基づいて17のように残量が一定の比率で変化していく。残量が上側のしきい値18に到達した所で、保持回路104で新しい周波数情報が設定されて、それにより今度は残量が減少するように変化するようになる。その後残量が下側のしきい値に達すると、また保持回路104で新しい周波数情報が設定されて、今度は残量が増える方向に変化していく。このような周波数誤差は通常非常に小さい値なのでFIFO103のしきい値に到達するまでにの時間が秒ではなく分オーダーとなる場合が多く、そうした場合には聴感上は固定の周波数で動作している場合と同等となり高音質の変換結果が得られる。このようにFIFO103の容量を有効に使うことにより周波数情報を変化させる間隔を非常に長くすることが出来、それにより上記したような高精度のサンプルレート変換が可能になる。
<3.2 入力周波数変更時の動作>
入力周波数が微小に変化するような時には、補間フィルタ102での変換比率が固定されているので、入力変化による周波数検出誤差が大きくなっていく分だけFIFOの残量の変化率が大きくなる。従ってFIFO103のしきい値に達する時間が短くなるだけで基本的な動作は通常時と変わらない。ただし変動が一定方向に長時間継続するような場合には、常にしきい値の近傍で周波数検出情報の更新が繰り返し行われることになり、本発明の目的とする固定の値で周波数変換するという状態とは異なった動作になるが、この時にも従来のサンプルレート変換器と同等の性能となってしまうだけで動作自体に問題はない。
【0031】
(実施の形態2)
<1.サンプルレート変換器の構成>
ロック検出回路106は、周波数検出回路101の検出回路の一部を用いて、入力信号周波数が所定の範囲に入っているかどうかを検出する。
【0032】
図3は、本発明の実施の形態2に係るサンプルレート変換器305のブロック図を示す。図3において、本発明の実施の形態2に係るサンプルレート変換器305は、実施の形態1の構成に加え、ロック検出回路106で構成される。
【0033】
ロック検出回路106は、入力周波数が所定の範囲にあるかどうかを検出する。
<2.実施の形態2と本発明の対応関係>
ロック検出回路106は、ロック検出手段の一例である。
<3.サンプルレート変換器の動作>
入力のサンプリング周波数が切り換わった場合のように、さらに大きく入力信号周波数が変化するような場合でもサンプルレート変換器単独の動作は変わらないので、FIFO103の残量がしきい値に到達するまでは応答できない。従って入力が変化した途中から間違ったサンプリング周波数にあわせた変換出力になってしまうので、ピッチが変わったり異音が出たりする。この場合でも切り換え時間を待てば正常な出力に切り換わるが、効率が良くないので、応答を高速化する為に、ロック検出回路106が動作する。周波数検出回路101内部のカウンタの値を低い精度で確認していくことで、高速で概略の周波数情報を得ることが出来る。例えば高精度の20ビットのカウントに必要な時間が1秒だとすると、精度を1/64に落とせば時間も1/64で14ビットのカウントができるので、この途中のカウントデータを用いれば入力周波数が44.1kHzから48kHzに変化したようだという大まかな情報を得ることが可能で、この検出信号を保持回路104とFIFO103へ出力して、高速に検出した保持データの再取り込みとFIFOのクリアを実行させることで、高速での新しいサンプリング周波数への変換を開始させることが可能となる。
【0034】
この例では高速ロック検出を周波数検出回路の内部カウンタの値を流用しているが、これは何らかの外部からの切換信号があればそれを用いてもよい
【産業上の利用可能性】
【0035】
本発明は、高品質のオーディオ出力が必要となるディジタルオーディオの記録再生システムに適用可能である。
【図面の簡単な説明】
【0036】
【図1】本発明の実施の形態1に係るサンプルレート変換器のブロック図
【図2】本発明の実施の形態1に係るサンプルレート変換器におけるFIFO残量図
【図3】本発明の実施の形態2に係るサンプルレート変換器のブロック図
【図4】従来のサンプルレート変換器のブロック図
【符号の説明】
【0037】
100 DAI受信回路
101 周波数検出回路
102 補間フィルタ
103 FIFO
104 保持回路
105 サンプルレート変換器
106 ロック検出回路

【特許請求の範囲】
【請求項1】
入力信号のサンプルレートを変換して出力するサンプルレート変換器であって、
入力信号からクロック信号を生成する受信手段と、
前記受信回路で生成されたクロック信号の周波数を検出する周波数検出手段と、
前記周波数検出器で検出された周波数情報に基づき出力信号を推定する補間フィルタと、
前記補間フィルタで生成された出力信号を一時的に保持するとともに、所定の周波数で出力信号を出力するFIFOと、
前記周波数検出器で検出された周波数情報を量子化して保持するとともに、当該周波数情報を前記補間フィルタに出力する保持手段とを備え、
前記保持手段は、前記FIFOの残量情報に基づき前記補間フィルタへの出力頻度を決定することを特徴とするサンプルレート変換器。
【請求項2】
前記保持手段は、前記前記FIFOの残量情報が予め設定した上限閾値あるいは下限閾値から外れたときに、前記周波数検出器で検出された周波数情報を前記補間フィルタに出力することを特徴とする請求項1に記載のサンプルレート変換器。
【請求項3】
前記周波数検出手段で検出した周波数が所定の範囲にあるか否かを検出するロック検出手段をさらに備え、
所定の範囲を外れたときには前記補間フィルタへの周波数検出出力を高速検出値に切換える請求項1または2に記載のサンプルレート変換器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−166106(P2010−166106A)
【公開日】平成22年7月29日(2010.7.29)
【国際特許分類】
【出願番号】特願2009−4212(P2009−4212)
【出願日】平成21年1月13日(2009.1.13)
【出願人】(000005821)パナソニック株式会社 (73,050)