説明

サンプリング周波数変換装置

【課題】 サンプリング周波数変換のレイテンシ、変換後のデータの周波数ゆらぎを低減する。
【解決手段】 1/Lダウンサンプラ3は、前段からのデータを記憶し、ライト要求信号に応じて最新の所定個数の記憶データからライト要求信号発生時のデータを補間演算し、FIFO4に送る。FIFO4は、ライト要求信号に応じて1/Lダウンサンプラ3からのデータを記憶し、リード要求信号に応じて記憶データを古いものから順に読み出す。ライト速度調整回路6は、周波数制御情報に応じた時間密度でライト要求信号を発生し、1/Lダウンサンプラ3に補間演算を実行させ、結果をFIFO4に記憶させる。速度補正用ポインタ8は、ライト要求信号により増加され、リード要求信号により減少される。ライト速度調整回路6は、速度補正用ポインタ8に基づいて周波数制御情報を補正する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、デジタルオーディオ機器などに好適なサンプリング周波数変換装置に関する。
【背景技術】
【0002】
この種のサンプリング周波数変換装置として、サンプリング周波数変換後のデータをFIFO(First
In First Out;先入れ先出し方式のバッファ)を介して後段の装置に引き渡す構成のもの、あるいはサンプリング周波数変換前のデータをFIFOを介して前段の装置から取り込むものがある。図7は前者のサンプリング周波数変換装置の構成例を示すブロック図、図8は後者のサンプリング周波数変換装置の構成例を示すブロック図である。
【0003】
図7に示すサンプリング周波数変換装置において、補間器101は、前段の装置から順次与えられるデータを記憶し、ライト要求信号が発生することにより、その時点までに記憶した最新の所定個数のデータからライト要求信号発生タイミングに対応したデータを算出する補間演算を行い、補間演算結果であるデータをFIFO102に供給する回路である。FIFO102は、ライト要求信号に応じて、補間器101から新たに入力されるデータを記憶し、後段の装置からのリード要求信号に応じて、記憶したデータを古いものから順に読み出して出力するバッファである。制御部103は、周波数制御情報に応じた時間密度でライト要求信号を発生し、補間器101に補間演算を実行させ、補間器101から出力されるデータをFIFO102に記憶させる回路である。
【0004】
そして、制御部103は、FIFO102において、補間器101から受け取って記憶し、未だ後段の装置に出力していない読み出し未了のデータの個数である有効データ数を監視し、この有効データ数に基づいて周波数制御情報の補正を行う。さらに詳述すると、FIFO102へのデータのライト速度がFIFO102からのデータのリード速度よりも大きくなって有効データ数が所定の基準値よりも増加すると、図9に示すように、周波数制御情報を減少させる負の補正量を発生し、FIFO102へのライト速度を低下させる。逆にFIFO102へのデータのライト速度がFIFO102からのデータのリード速度よりも小さくなって有効データ数が所定の基準値よりも減少すると、図9に示すように、周波数制御情報を増加させる正の補正量を発生し、FIFO102へのライト速度を上昇させる。図7に示すサンプリング周波数変換装置では、このような制御によりライト速度をリード速度に追従させた状態でサンプリング周波数の変換が行われる。なお、このようなサンプリング周波数変換装置は例えば特許文献1に開示されている。
【0005】
図8に示すサンプリング周波数変換装置において、FIFO104は、ライト要求信号に応じて、前段の装置から新たに入力されるデータを記憶し、リード要求信号に応じて、記憶したデータを古いものから順に読み出して補間器105に出力する。補間器105は、リード要求信号が発生することにより、FIFO104から出力されたデータを取り込んで記憶し、その時点までに記憶した最新の所定個数のデータからリード要求信号発生タイミングに対応したデータを算出する補間演算を行い、補間演算結果であるデータを後段の装置に出力する。制御部106は、周波数制御情報に応じた時間密度でリード要求信号を発生し、FIFO104から補間器105にデータを出力させ、補間器105に補間演算を実行させる。
【0006】
そして、制御部106は、FIFO104において、前段の装置から受け取って記憶し、未だ補間器105に出力していない読み出し未了のデータの個数である有効データ数を監視し、この有効データ数に基づいて周波数制御情報の補正を行う。さらに詳述すると、FIFO104からのリード速度がFIFO104へのライト速度よりも小さくなって有効データ数が所定の基準値よりも増加すると、周波数制御情報を増加させる正の補正量を発生し、FIFO104からのリード速度を上昇させる。逆にFIFO104からのリード速度がFIFO102へのライト速度よりも大きくなって有効データ数が所定の基準値よりも減少すると、周波数制御情報を減少させる負の補正量を発生し、FIFO102からのリード速度を低下させる。図8に示すサンプリング周波数変換装置では、このような制御によりリード速度をライト速度に追従させた状態でサンプリング周波数の変換が行われる。なお、このようなサンプリング周波数変換装置は例えば特許文献2に開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−279106号公報
【特許文献2】特開2006−238044号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、例えば図7に示すサンプリング周波数変換装置において、FIFO102におけるライト速度がリード速度から大きく離れ、有効データ数が基準値から大きく離れている場合には、図9に示すように、絶対値の大きな補正量を発生し、ライト速度をリード速度に迅速に近づける制御を行う必要がある。一方、FIFO102におけるライト速度がリード速度に接近しており、有効データ数が基準値に近い領域では、有効データ数の基準値からの変化に対する補正量の変化の勾配を大きくすることは好ましくない。何故ならば、この勾配が大きいと、有効データ数の基準値からのずれに対する周波数制御情報の変化が大きくなり、ライト要求信号の周波数が不安定になり、サンプリング周波数変換後のデータに周波数ゆらぎが生じるからである。従って、有効データ数が基準値に近い領域では、図9に示すように、有効データ数の変化に対する補正量の変化の勾配を小さくする必要がある。以上のような次第であるから、ライト速度をリード速度に追従させ、かつ、サンプリング周波数変換後のデータの周波数ゆらぎを少なくするためには、有効データ数の増減範囲、すなわち、FIFO102の段数を大きくする必要がある。この点は図8に示すサンプリング周波数変換装置に関しても同様である。しかしながら、図7に示すサンプリング周波数変換装置では、補間器101によりサンプリング周波数変換されたデータはFIFO102を通過して後段の装置に送られ、図8に示すサンプリング周波数変換装置では、サンプリング周波数変換前のデータは前段の装置からFIFO104を通過して補間器105に送られる。このため、周波数ゆらぎを減らすためにFIFO102または104の段数を大きくすると、サンプリング周波数変換前のデータを前段の装置が出力してからサンプリング周波数変換後のデータが後段の装置に供給されるまでのレイテンシが大きくなるという問題があった。
【0009】
本発明は以上説明した事情に鑑みてなされたものであり、サンプリング周波数変換後のデータの周波数ゆらぎを低く抑え、かつ、サンプリング周波数変換のレイテンシを低減することができるサンプリング周波数変換装置を提供することを目的としている。
【課題を解決するための手段】
【0010】
好ましい態様において、この発明によるサンプリング周波数変換装置は、ライト要求信号に応じて、新たに入力されるデータを記憶し、リード要求信号に応じて、記憶したデータを古いものから順に読み出して出力するバッファと、順次与えられるデータを記憶し、ライト要求信号が発生することにより、その時点までに記憶した最新の所定個数のデータからライト要求信号発生タイミングに対応したデータを算出する補間演算を行い、補間演算結果であるデータを前記バッファに供給する補間手段と、周波数制御情報に応じた時間密度でライト要求信号を発生し、前記補間手段に補間演算を実行させ、前記補間手段から出力されるデータを前記バッファに記憶させるライト速度調整手段と、前記ライト要求信号の発生によりポインタ値を増加させ、前記リード要求信号の発生によりポインタ値を減少させる速度補正用ポインタと、前記速度補正用ポインタのポインタ値に基づいて前記周波数制御情報を補正する周波数制御手段とを具備することを特徴とする。
【0011】
この態様によれば、速度補正用ポインタのポインタ値の増減に応じて周波数制御情報が補正され、ライト速度をリード速度に追従させる制御が行われる。従って、バッファの段数を増やさなくても、速度補正用ポインタのポインタ値の増減に応じて、広範囲のライト速度の調整およびリード速度近傍でのライト速度の微調整を行うことができる。従って、サンプリング周波数変換のレイテンシを大きくすることなく、サンプリング周波数変換後のデータの周波数ゆらぎを低減することができる。
【0012】
他の好ましい態様において、この発明によるサンプリング周波数変換装置は、ライト要求信号に応じて、新たに入力されるデータを記憶し、リード要求信号に応じて、記憶したデータを古いものから順に読み出して出力するバッファと、順次与えられるデータを記憶し、リード要求信号が発生することにより、前記バッファから出力されたデータを取り込んで記憶し、その時点までに記憶した最新の所定個数のデータからリード要求信号発生タイミングに対応したデータを算出する補間演算を行い、補間演算結果であるデータを出力する補間手段と、周波数制御情報に応じた時間密度でリード要求信号を発生し、前記バッファから前記補間手段にデータを出力させ、前記補間手段に補間演算を実行させるリード速度調整手段と、前記ライト要求信号の発生によりポインタ値を増加させ、前記リード要求信号の発生によりポインタ値を減少させる速度補正用ポインタと、前記速度補正用ポインタのポインタ値に基づいて前記周波数制御情報を補正する周波数制御手段とを具備することを特徴とする。
【0013】
この態様によれば、速度補正用ポインタのポインタ値の増減に応じて周波数制御情報が補正され、リード速度をライト速度に追従させる制御が行われる。従って、バッファの段数を増やさなくても、速度補正用ポインタのポインタ値の増減に応じて、広範囲のリード速度の調整およびライト速度近傍でのリード速度の微調整を行うことができる。従って、サンプリング周波数変換のレイテンシを大きくすることなく、サンプリング周波数変換後のデータの周波数ゆらぎを低減することができる。
【図面の簡単な説明】
【0014】
【図1】この発明の第1実施形態であるサンプリング周波数変換装置の構成を示すブロック図である。
【図2】同実施形態における1/L倍ダウンサンプラの詳細な構成を示すブロック図である。
【図3】同実施形態におけるライト速度調整回路の詳細な構成を示すブロック図である。
【図4】同実施形態におけるΔTテーブルの内容を示す図である。
【図5】同実施形態におけるライト要求信号発生部の動作を示すタイムチャートである。
【図6】この発明の第2実施形態であるサンプリング周波数変換装置の構成を示すブロック図である。
【図7】従来のサンプリング周波数変換装置の構成例を示すブロック図である。
【図8】従来のサンプリング周波数変換装置の他の構成例を示すブロック図である。
【図9】従来のサンプリング周波数変換装置における有効データ数と補正量との関係を例示する図である。
【発明を実施するための形態】
【0015】
以下、図面を参照し、この発明の一実施形態について説明する。
<第1実施形態>
図1は、この発明の第1実施形態であるサンプリング周波数変換装置の構成を示すブロック図である。図1において、エイリアシング除去用LPF1は、サンプリング周波数変換の過程において折り返し雑音が発生するのを防止するためのLPF処理を入力音声データに対して施す回路である。本実施形態に係るサンプリング周波数変換装置は、48kHzの第1のサンプリング周波数の入力音声データを受け取り、これを8kHz〜48kHzまでの間の9種類のサンプリング周波数の中から選択された第2のサンプリング周波数の音声データに変換して出力する。エイリアシング除去用LPF1は、この選択された第2のサンプリング周波数の1/2をカットオフ周波数とし、入力音声データからカットオフ周波数以上の成分を除去する。
【0016】
8倍アップサンプラ2は、エイリアシング除去用LPF1から出力される第1のサンプリング周波数の音声データの8倍アップサンプリングを行い、384kHzのサンプリング周波数の音声データとして出力する回路である。1/L倍ダウンサンプラ3は、8倍アップサンプラ2から出力される384kHzのサンプリング周波数の音声データに対し、直線補間を利用して1/L倍のダウンサンプリングを施し、第2のサンプリング周波数の音声データを出力する回路である。何倍のダウンサンプルを行うかは、選択された第2のサンプリング周波数に応じて決定される。
【0017】
FIFO4は、1/L倍ダウンサンプラ3から出力される第2のサンプリング周波数の音声データを蓄積し、FIFOリード要求信号に応じて、蓄積した音声データを古いものから順に出力する先入れ先出し方式のバッファである。シリアルインタフェース5は、後段の装置に第2のサンプリング周波数の音声データを供給するための制御を行う回路である。シリアルインタフェース5には、後段の装置から第2のサンプリング周波数と同一の周波数のデータ要求信号LRCKとビットクロックBCLKが与えられる。シリアルインタフェース5は、データ要求信号LRCKが与えられたときにFIFOリード要求信号をFIFO4およびライト速度調整回路6に与え、これに応じてFIFO4から出力される音声データをシリアルデータSDOに変換し、シリアルデータSDOの各ビットをビットクロックBCLKに同期させて後段の装置に供給する。
【0018】
速度補正用ポインタ8は、FIFOライト要求信号の発生によりインクリメントされ、FIFOリード要求信号の発生によりデクリメントされるポインタである。ライト速度調整回路6は、FIFOリード要求信号が発生する平均的な時間密度と同一の時間密度を有し、かつ、384kHzのメインクロックφに同期したFIFOライト要求信号を発生し、FIFO4および直線補間係数生成回路7に出力する回路である。さらに詳述すると、ライト速度調整回路6は、メインクロックφに同期して、第2のサンプリング周波数に応じた周波数制御情報を累算することにより位相情報を発生し、この位相情報がオーバフローする度にFIFOライト要求信号を発生する。そして、直線補間係数生成回路7は、FIFOライト要求信号の発生タイミングにおける位相情報から直線補間係数を求め、1/L倍ダウンサンプラ3に供給する回路である。
【0019】
本実施形態におけるライト速度調整回路6は、速度補正用ポインタ8のポインタ値に応じて周波数制御情報を補正して、FIFOライト要求信号の発生する時間密度を調整する機能を有する。さらに詳述すると、FIFO4に対するライト速度がリード速度に比べて大きくなり、速度補正用ポインタ8のポインタ値が基準値よりも大きくなると、ライト速度調整回路6は、周波数制御情報を減少させる負の補正量を発生し、ライト要求信号の発生する時間密度を減少させ、ライト速度を低下させる。逆にFIFO4に対するライト速度がリード速度に比べて小さくなり、速度補正用ポインタ8のポインタ値が基準値よりも小さくなると、ライト速度調整回路6は、周波数制御情報を増加させる正の補正量を発生し、ライト要求信号の発生する時間密度を増加させ、ライト速度を上昇させる。このような制御によりライト速度はリード速度に追従することとなる。
【0020】
また、本実施形態におけるライト速度調整回路6は、速度補正用ポインタ8のポインタ値を周波数制御情報を増減させる補正量に変換する変換テーブルを有している。この変換テーブルにおいて、基準値近傍では速度補正用ポインタ8のポインタ値の変化に対する補正量の変化の勾配は小さく、ポインタ値が基準値から離れるに従って、ポインタ値の変化に対する補正量の変化が大きくなっている。このような変換テーブルによる非線形変換を速度補正用ポインタ8のポインタ値に施して補正量を生成することにより、FIFO4のライト速度がリード速度から離れている領域では、絶対値の大きな補正量を発生してライト速度を迅速にリード速度に近づけ、ライト速度がリード速度に接近している領域では、ライト速度のリード速度からの僅かなずれに対して絶対値の小さな補正量を発生し、ライト速度を安定させてリード速度に一致させることができる。
【0021】
以上のように、本実施形態によれば、FIFO4のライト速度は、FIFO4の有効データ数ではなく、ライト要求信号の発生によってインクリメントされ、リード要求信号の発生によってデクリメントされる速度補正用ポインタ8のポインタ値に基づいて調整される。従って、FIFO4の段数をジッタ吸収に必要な最低限の段数にすることができ、サンプリング周波数変換のレイテンシを低減することができる。また、本実施形態によれば、上述した非線形変換により速度補正用ポインタ8のポインタ値から補正量を生成することにより、広い範囲に亙るFIFO4のライト速度の調整に加えて、リード速度近傍でのライト速度の微調整を行うことができる。従って、サンプリング周波数変換のレイテンシを増加させることなく、サンプリング周波数変換後のデータの周波数ゆらぎを低減することができる。また、本実施形態によれば、FIFOライト要求信号は、FIFOリード要求信号と同一の時間密度で発生するように制御されるものの、メインクロックφに同期したタイミングで発生される。従って、データ要求信号LRCKおよびFIFOリード要求信号の発生タイミングにジッタがあったとしても、このジッタの影響を受けることなく、第2のサンプリング周波数の音声データが1/L倍ダウンサンプラ3により生成され、FIFO4およびシリアルインタフェース5を介して後段の装置に供給される。
以上が本実施形態の概略である。
【0022】
図2は、以上概略を説明したサンプリング周波数変換装置における1/L倍ダウンサンプラ3の詳細な構成を示すブロック図、図3はライト速度調整回路6の詳細な構成を示すブロック図である。以下、これらの図を参照し、本実施形態に係るサンプリング周波数変換装置の詳細について説明する。
【0023】
まず、1/L倍ダウンサンプラ3について説明する。図2において、テンポラリ用2段FIFO31は、Lチャネル用の2段FIFOおよびRチャネル用2段FIFOからなり、384kHzのメインクロックφが与えられる度に、8倍アップサンプラ2から出力されるLチャネルおよびRチャネルの音声データを取り込み、チャネル毎に最新の2個の音声データを保持する。演算データ記憶部32は、直線補間の際に補間点を挟む両端の音声データを記憶するためのレジスタ32aおよび32bからなる。FIFOライト要求信号が発生したとき、テンポラリ用2段FIFO31における第2段に格納されているLチャネルおよびRチャネルの音声データはレジスタ32aに格納され、第1段に格納されているLチャネルおよびRチャネルの音声データはレジスタ32bに格納される。これらのレジスタ32aおよび32bに格納された音声データAおよびBが第2のサンプリング周波数の音声データを求める補間演算に使用される。
【0024】
減算器33、乗算器34、加算器35およびレジスタ36は、音声データAおよびBから第2のサンプリング周波数の音声データを求める補間演算を行い、その結果を出力する手段を構成している。これらの各回路は、FIFOライト要求信号が発生されてから次のFIFOライト要求信号が発生されるまでの期間、時分割制御により、LチャネルおよびRチャネルの各チャネルについて第2のサンプリング周波数の音声データを求める補間演算を実行し、その結果をレジスタ36を介してFIFO4に供給する。
【0025】
さらに詳述すると、減算器33は、演算データ記憶部32のレジスタ32bに記憶されたLチャネルの音声データBからレジスタ32aに記憶された音声データAを差し引き、その結果であるデータB−Aを出力する。乗算器34は、そのとき直線補間係数生成回路7から出力されている直線補間係数αをデータB−Aに乗じ、データ(B−A)×αを出力する。ここで、αは、時間軸上、音声データAと音声データBとの間の何処に補間演算により求めるべき第2のサンプリング周波数の音声データがあるかを示す数値である。なお、直線補間係数αの算出方法については後述する。加算器35は、乗算器34から得られるデータ(B−A)×αと演算データ記憶部32のレジスタ32aに記憶されたLチャネルの音声データAとを加算する。レジスタ36は、その加算結果であるA+(B−A)×αを第2のサンプリング周波数のLチャネルの音声データとして保持する。以上、Lチャネルを例に減算器33、乗算器34、加算器35およびレジスタ36の処理内容を説明したが、これと同様の処理が、Rチャネルの音声データについても実行され、その結果がレジスタ36に保持されるのである。
【0026】
次に図3を参照し、ライト速度調整回路6について説明する。FIFO4は、以上のようにして生成された第2のサンプリング周波数の音声データを蓄積する16段のFIFOである。このFIFO4には、ライトポインタ401およびリードポインタ402が接続されている。ここで、ライトポインタ401は、FIFOライト要求信号が発生する度に書き込みアドレスを「1」だけ増加させてFIFO4に供給し、その時点においてレジスタ36から供給されるLチャネルおよびRチャネルの音声データをFIFO4における書き込みアドレスにより指定されるエリアに書き込む回路である。また、リードポインタ402は、FIFOリード要求信号が発生する度に読み出しアドレスを「1」だけ増加させてFIFO4に供給し、その時点においてFIFO4の読み出しアドレスにより指定されるエリアからLチャネルおよびRチャネルの音声データを読み出し、シリアルインタフェース5に供給する回路である。
【0027】
ベクトル検出回路604は、速度補正用ポインタ8のポインタ値を監視し、ポインタ値の時間的変化の態様が次のいずれに該当するかを示すベクトルup/downを出力する回路である。
a.ポインタ値は増加中である。
b.ポインタ値は減少中である。
c.ポインタ値は増加傾向から減少傾向に転じた。
d.ポインタ値は減少傾向から増加傾向に転じた。
【0028】
周波数制御部610は、FIFOライト要求信号の周波数を決定付ける周波数制御情報Δyを発生する手段である。ライト要求信号発生部620は、メインクロックφが発生する度に周波数制御情報Δyを累算し、その累算値である位相情報yがオーバフローする度にFIFOライト要求信号を発生する回路である。以下、これらの回路の構成を順に説明する。
【0029】
まず、周波数制御部610は、ΔTテーブル611、加算器612、ラッチ613および加算値テーブル614により構成されている。加算値テーブル614には、各種の第2のサンプリング周波数に対応付けて周波数制御情報Δyの初期値が格納されている。これらの周波数制御情報Δyは、ライト要求信号発生部620による周波数制御情報の累算が384kHzのメインクロックφに同期して繰り返された場合に、その累算値である位相情報yが第2のサンプリング周波数に相当する時間密度でオーバフローするような値となっている。さらに詳述すると、位相情報yが0〜M−1の範囲の値をとり得るものとし、第2のサンプリング周波数をf2とすると、周波数制御情報Δyの初期値は次のような値とされる。
Δy=M/(384kHz/f2) ……(1)
=M/L
【0030】
ラッチ613は、初期設定が可能な構成となっている。このサンプリング周波数変換装置が動作を開始するとき、後段の装置が要求する第2のサンプリング周波数f2に対応付けられた周波数制御情報Δyが加算値テーブル614から読み出され、このラッチ613に初期設定される。以後、384kHzのメインクロックφが発生される度に、ラッチ613内の周波数制御情報Δyは加算器612の出力データによって更新される。
【0031】
ΔTテーブル611および加算器612は、ラッチ613から出力される周波数制御情報Δyが適正でないために速度補正用ポインタ8のポインタ値が基準値から外れようとする場合に、周波数制御情報Δyを適正な値に修正する手段を構成している。まず、ΔTテーブル611は、速度補正用ポインタ8のポインタ値とベクトルup/downとの組み合わせを補正量ΔTに変換するテーブルである。図4はΔTテーブル611により行われる変換処理の内容を示している。
【0032】
図4に示すように、速度補正用ポインタ8のポインタ値が減少中であることをベクトルup/downが示しており、かつ、ポインタ値が基準値「8」より少ない場合、ΔTテーブル611は、速度補正用ポインタ8のポインタ値と基準値「8」との差分に応じた絶対値を有する正の補正量ΔTを出力する。この正の補正量ΔTが加算器612により現在の周波数制御情報Δyに加算される結果、周波数制御情報Δyが増加し、これによりFIFOライト要求信号の時間密度が増加し、速度補正用ポインタ8のポインタ値の減少にブレーキが掛かる。また、速度補正用ポインタ8のポインタ値が増加中であることをベクトルup/downが示しており、かつ、速度補正用ポインタ8のポインタ値が基準値「8」より多い場合、ΔTテーブル611は、速度補正用ポインタ8のポインタ値と基準値「8」との差分に応じた絶対値を有する負の補正量ΔTを出力する。この負の補正量ΔTが加算器612により現在の周波数制御情報Δyに加算される結果、周波数制御情報Δyが減少し、これによりFIFOライト要求信号の時間密度が減少し、速度補正用ポインタ8のポインタ値の増加にブレーキが掛かる。
【0033】
ライト要求信号発生部620は、加算器621とラッチ622により構成されている。加算器621は、周波数制御部610から供給される周波数制御情報Δyとラッチ622から出力される現在の位相情報yとを加算する。ラッチ622は、メインクロックφが与えられる度に、加算器621の出力データを新たな位相情報yとして取り込んで保持する。図5はこのライト要求信号発生部620の動作を示している。この図に示すように、位相情報yは、メインクロックφが発生する度に、Δyずつ増加してゆく。そして、周波数制御情報Δyの累算の結果、位相情報yの上限値M−1を越える場合には、その超過分βが新たな位相情報yとしてラッチ622に格納される。また、このように位相情報yがオーバフローするときには、ラッチ622内の位相情報yのMSBが“1”から“0”に立ち下がる。そして、このMSBの立下りエッジがFIFOライト要求信号としてFIFO4、ライトポインタ401および直線補間係数生成回路7に供給される。
【0034】
図2における直線補間係数生成回路7は、FIFOライト要求信号の発生時点においてラッチ622から出力されている位相情報y、すなわち、図5に示す値βを保持し、このβから次式により直線補間係数αを算出する。
α=β/(M/L)
この際、M/Lは、加算値テーブル614に記憶された周波数制御情報Δyの初期値M/Lのうち後段の装置が要求している第2のサンプリング周波数に対応したものが用いられる。
【0035】
1/L倍ダウンサンプラ3では、このようにして得られた直線補間係数αを用いて、データAおよびB間にある第2のサンプリング周波数の音声データの直線補間演算が行われ、この直線補間演算により得られる音声データがFIFO4に書き込まれるのである。
【0036】
以上説明したサンプリング周波数変換装置によれば、FIFO4のライト速度は、FIFO4の有効データ数ではなく、FIFOライト要求信号の発生によってインクリメントされ、FIFOリード要求信号の発生によってデクリメントされる速度補正用ポインタ8のポインタ値に基づいて調整される。従って、速度補正用ポインタ8のポインタ値の増減に応じて広範囲に亙るライト速度の制御およびリード速度近傍でのライト速度の微調整を行うことができる。従って、FIFO4の段数をジッタ吸収に必要な最低限の段数にすることができ、サンプリング周波数変換後のデータの周波数ゆらぎを低減しつつ、サンプリング周波数変換のレイテンシを低減することができる。また、本実施形態によれば、FIFOリード要求信号の平均的な時間密度を同じ時間密度のFIFOライト要求信号がメインクロックφに同期して発生される。そして、直線補間演算に用いる直線補間係数αは、このメインクロックφに同期したFIFOライト要求信号の発生タイミングにおける位相情報yを用いて算出される。従って、本実施形態によれば、データ要求信号LRCKおよびFIFOリード要求信号の発生タイミングにジッタがある場合でも、そのジッタの影響を受けることなく、第2のサンプリング周波数の音声データを生成し、後段の装置に供給することができる。
【0037】
<第2実施形態>
図6は、この発明の第2実施形態であるサンプリング周波数変換装置の構成を示すブロック図である。本実施形態において、エイリアシング除去用LPF1および8倍アップサンプラ2の構成および役割は上記第1実施形態(図1)と同様である。本実施形態では、FIFO4と1/L倍ダウンサンプラ3との関係が第1実施形態と入れ替わっている。
【0038】
さらに詳述すると、FIFO4は、ライト要求信号に応じて、8倍アップサンプラ2から出力される第1のサンプリング周波数の音声データを蓄積し、FIFOリード要求信号に応じて、蓄積した音声データを古いものから順に出力する。速度補正用ポインタ8は、FIFOライト要求信号の発生によりインクリメントされ、FIFOリード要求信号の発生によりデクリメントされるポインタである。
【0039】
リード速度調整回路9は、FIFOライト要求信号が発生する平均的な時間密度と同一の時間密度を有し、かつ、384kHzのメインクロックφに同期したFIFOリード要求信号を発生し、FIFO4および直線補間係数生成回路7に出力する回路である。さらに詳述すると、リード速度調整回路9は、メインクロックφに同期して、第2のサンプリング周波数に応じた周波数制御情報を累算することにより位相情報を発生し、この位相情報がオーバフローする度にFIFOリード要求信号を発生する。そして、直線補間係数生成回路7は、FIFOリード要求信号の発生タイミングにおける位相情報から直線補間係数を求め、1/L倍ダウンサンプラ3に供給する。
【0040】
本実施形態におけるリード速度調整回路9は、速度補正用ポインタ8のポインタ値に応じて周波数制御情報を増減して、FIFOリード要求信号の発生する時間密度を調整する機能を有する。さらに詳述すると、FIFO4のリード速度がライト速度に比べて大きくなり、速度補正用ポインタ8のポインタ値が基準値よりも小さくなると、リード速度調整回路9は、周波数制御情報を減少させる負の補正量を発生し、リード要求信号の発生する時間密度を減少させ、リード速度を低下させる。逆にFIFO4のリード速度がライト速度に比べて小さくなり、速度補正用ポインタ8のポインタ値が基準値よりも大きくなると、リード速度調整回路9は、周波数制御情報を増加させる正の補正量を発生し、リード要求信号の発生する時間密度を増加させ、リード速度を上昇させる。このような制御によりリード速度はライト速度に追従することとなる。
【0041】
また、本実施形態におけるリード速度調整回路9は、速度補正用ポインタ8のポインタ値を周波数制御情報を増減させる補正量に変換する変換テーブルを有している。上記第1実施形態と同様、この変換テーブルにおいて、基準値近傍では速度補正用ポインタ8のポインタ値の変化に対する補正量の変化の勾配は小さく、ポインタ値が基準値から離れるに従って、速度補正用ポインタ8のポインタ値の変化に対する補正量の変化の勾配は大きくなる。従って、本実施形態によれば、FIFO4のリード速度がライト速度から離れている領域では、絶対値の大きな補正量を発生してリード速度を迅速にライト速度に近づけ、リード速度がライト速度に接近している領域では、リード速度のライト速度からの僅かなずれに対して絶対値の小さな補正量を発生し、リード速度を安定させてライト速度に一致させることができる。
従って、本実施形態によれば、上記第1実施形態と同様な効果が得られる。
【0042】
以上、この発明の第1および第2実施形態について説明したが、これ以外にも、この発明には他の実施形態が考えられる。例えば上記各実施形態では、第1のサンプリング周波数の入力音声データに8倍アップサンプリングを施し、384kHzの音声データとした後、1/Lダウンサンプリングにより第2のサンプリング周波数の音声データを生成したが、8倍アップサンプリングを行う代わりに、1/Lダウンサンプリングとして高次の補間演算を行うようにしてもよい。
【符号の説明】
【0043】
1…エイリアシング除去用LPF、2…8倍アップサンプラ、3…1/L倍ダウンサンプラ、4…FIFO、5…シリアルインタフェース、6…ライト速度調整回路、7…直線補間係数生成回路、8…速度補正用ポインタ、9…リード速度調整回路。

【特許請求の範囲】
【請求項1】
ライト要求信号に応じて、新たに入力されるデータを記憶し、リード要求信号に応じて、記憶したデータを古いものから順に読み出して出力するバッファと、
順次与えられるデータを記憶し、ライト要求信号が発生することにより、その時点までに記憶した最新の所定個数のデータからライト要求信号発生タイミングに対応したデータを算出する補間演算を行い、補間演算結果であるデータを前記バッファに供給する補間手段と、
周波数制御情報に応じた時間密度でライト要求信号を発生し、前記補間手段に補間演算を実行させ、前記補間手段から出力されるデータを前記バッファに記憶させるライト速度調整手段と、
前記ライト要求信号の発生によりポインタ値を増加させ、前記リード要求信号の発生によりポインタ値を減少させる速度補正用ポインタと、
前記速度補正用ポインタのポインタ値に基づいて前記周波数制御情報を補正する周波数制御手段と
を具備することを特徴とするサンプリング周波数変換装置。
【請求項2】
ライト要求信号に応じて、新たに入力されるデータを記憶し、リード要求信号に応じて、記憶したデータを古いものから順に読み出して出力するバッファと、
順次与えられるデータを記憶し、リード要求信号が発生することにより、前記バッファから出力されたデータを取り込んで記憶し、その時点までに記憶した最新の所定個数のデータからリード要求信号発生タイミングに対応したデータを算出する補間演算を行い、補間演算結果であるデータを出力する補間手段と、
周波数制御情報に応じた時間密度でリード要求信号を発生し、前記バッファから前記補間手段にデータを出力させ、前記補間手段に補間演算を実行させるリード速度調整手段と、
前記ライト要求信号の発生によりポインタ値を増加させ、前記リード要求信号の発生によりポインタ値を減少させる速度補正用ポインタと、
前記速度補正用ポインタのポインタ値に基づいて前記周波数制御情報を補正する周波数制御手段と
を具備することを特徴とするサンプリング周波数変換装置。
【請求項3】
前記周波数制御手段は、前記速度補正用ポインタのポインタ値を前記周波数制御情報を増減するための補正量に変換する変換手段であって、前記ポインタ値の変化に対する前記補正量の変化の勾配が基準値近傍において小さく、基準値から離れるに従って大きくなる非線形変換を行う変換手段を具備することを特徴とする請求項1または2に記載のサンプリング周波数変換装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−49954(P2012−49954A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−192064(P2010−192064)
【出願日】平成22年8月30日(2010.8.30)
【出願人】(000004075)ヤマハ株式会社 (5,930)