JP3556066B2 - 歪み検出装置および歪み補正装置および歪み補正方法 - Google Patents
歪み検出装置および歪み補正装置および歪み補正方法 Download PDFInfo
- Publication number
- JP3556066B2 JP3556066B2 JP08448397A JP8448397A JP3556066B2 JP 3556066 B2 JP3556066 B2 JP 3556066B2 JP 08448397 A JP08448397 A JP 08448397A JP 8448397 A JP8448397 A JP 8448397A JP 3556066 B2 JP3556066 B2 JP 3556066B2
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- error
- audio signal
- level distribution
- digital audio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Measurement Of Current Or Voltage (AREA)
- Testing Electric Properties And Detecting Electric Faults (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Analogue/Digital Conversion (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、アナログオーディオ信号をアナログ/デジタル変換器でデジタルオーディオ信号にアナログ/デジタル変換した時に発生したアナログ/デジタル変換器の直線性誤差(変換誤差)に基づく歪みを検出し、デジタルオーディオ信号に含まれる上記歪みを補正する歪み検出装置および歪み補正装置および歪み補正方法に関する。
【0002】
【従来の技術】
従来、アナログ/デジタル変換器(A/Dコンバータ: Analog/Digital コンバータ)は、A/D変換精度により直線性誤差を有している。A/Dコンバータによりアナログオーディオ信号をデジタルオーディオ信号に変換したとき、変換されたデジタルオーディオ信号にはA/Dコンバータの直線性誤差(以下、変換誤差という)に基づく歪みが生じる。この場合、A/Dコンバータを用いてA/D変換する際、A/Dコンバータ内部の抵抗値を調整したり、外付けの回路によりビット重みを調整することにより、A/D変換時点で変換誤差に基づく歪みをある程度は低減することができる。
【0003】
【発明が解決しようとする課題】
しかしながら、過去にA/D変換されデジタル記録が行なわれた数多くの音楽ソフト(過去に録音されたデジタルオーディオ信号)は、そもそも、低いビット数(例えば13ビットあるいは14ビット)の変換精度の悪いA/DコンバータによりA/D変換されているため、A/Dコンバータ自体を調整しても変換誤差を有しており(現在のA/Dコンバータ(例えば16ビット)と比較して変換誤差に基づく歪みを多く有しており)、この変換精度の悪さによる変換誤差に基づく歪みが、収録された音楽信号の品質を劣化させている要因の1つとなっている。従って、過去の録音時に使用したA/Dコンバータの変換誤差に基づく歪みを低減したデジタルオーディオ信号を得ることが現在望まれている。
【0004】
この場合、過去の録音時に使用したA/Dコンバータの特性を測定し、その特性に基づいてA/D変換誤差の補正をすることは可能であるが、A/Dコンバータの特性は経時変化するので、A/D変換時に用いられていたA/Dコンバータ自体から、A/D変換時の特性,すなわち変換誤差を正確に検出することはできない。また、録音時に用いた13ビットあるいは14ビットのA/Dコンバータは現存しないことが多く、この場合には、A/Dコンバータの特性をA/Dコンバータから検出することはできない。このように、従来では、過去の録音時に用いられた13ビットあるいは14ビットのA/Dコンバータが現存するか否かにかかわらず、これを用いては、デジタルオーディオ信号のA/D変換誤差を正確に検出することは難かしく、従って、A/D変換誤差を低減することができないという問題があった。
【0005】
また、変換誤差に基づく歪みを有した状態で記録されたデジタルオーディオ信号から(すでに収録された音楽信号から)、A/D変換時の変換誤差を推定(検出)することも困難であった。すなわち、デジタルオーディオ信号からA/D変換時の変換誤差を推定(検出)する装置として、正弦波ヒストグラム法を用いる測定装置が知られているが、この測定装置では、歪みのない正弦波を被測定対象のA/Dコンバータに入力し、ヒストグラムを得て、そのヒストグラムを用いて測定対象の変換誤差を測定するものであって、デジタルオーディオ信号のように正弦波でないものを信号源とする場合、変換誤差を推定(検出)することはできなかった。
【0006】
このように、従来では、すでにA/D変換がなされ収録されたデジタルオーディオ信号(音楽信号)から、A/D変換時の変換誤差を推定(検出)することが困難であり、従って、A/D変換時の変換誤差に基づく歪みを低減したデジタルオーディオ信号を得ることはできなかった。
【0007】
本発明は、直線性誤差を有したアナログ/デジタル変換器でアナログ/デジタル変換されたデジタルオーディオ信号から(すでに収録された音楽信号から)、アナログ/デジタル変換時のアナログ/デジタル変換器の直線性誤差に基づく歪みを推定(検出)して、デジタルオーディオ信号に含まれる歪みを低減するようデジタルオーディオ信号を補正することの可能な歪み検出装置および歪み補正装置および歪み補正方法を提供することを目的としている。
【0008】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載の発明は、アナログ/デジタル変換器によりコードに変換されたデジタルオーディオ信号を記憶する記憶手段と、該記憶手段から前記デジタルオーディオ信号を読み出し複数サンプルについて各々の量子化レベルを表わすコード毎の出現度数をレベル分布として検出する出現度数検出手段と、該出現度数検出手段で検出されたレベル分布に対しローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを正規化されたレベル分布として検出する正規化手段と、正規化手段で正規化されたレベル分布からデジタルオーディオ信号のレベルに対する変換テーブルを算出する変換テーブル算出手段と、前記デジタルオーディオ信号のレベルを前記変換テーブルに従ったレベルデータに置換して出力するデータ置換手段とを備えており、前記変換テーブルは、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号に対し、一定サンプル数のレベル分布をとり、該レベル分布にローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを積算することによって作成されるようになっていることを特徴としている。
【0017】
また、請求項2記載の発明は、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正し、前記変換テーブルは、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号に対し、一定サンプル数のレベル分布をとり、該レベル分布にローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを積算することによって作成されることを特徴としている。
【0025】
請求項1,請求項2記載の発明によれば、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正するので、しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減することができる。
【0027】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。図1は、本発明に係る歪み補正装置の構成例を示す図である。
【0028】
図1を参照すると、この歪み補正装置10は、アナログオーディオ信号をA/Dコンバータ11でA/D変換し、デジタルオーディオテープ(DAT:DigitalAudio Tape)やコンパクトディスク(CD:Compact Disk)等の記録媒体12に記録されたデジタルオーディオ信号を、その記録媒体12から読み出して、デジタルオーディオ信号からA/D変換時の変換誤差に基づく歪みを低減することを意図しており、このため、この歪み補正装置10は、A/Dコンバータ11によりコードに変換されたデジタルオーディオ信号の出力を切り替える切替手段1と、該切替手段1から入力された前記デジタルオーディオ信号を記憶する記憶手段2と、該記憶手段2から前記デジタルオーディオ信号を読み出し複数サンプルについて各々の量子化レベルを表わすコード毎の出現度数を検出する出現度数検出手段3と、該出現度数検出手段3で検出された前記コード毎の出現度数から前記A/Dコンバータ11の直線性誤差に基づく歪みを正規化された出現度数として検出する正規化手段4と、該正規化手段4で検出した正規化された出現度数のコードから誤差ビットを検出する誤差ビット検出手段5と、前記切替手段1から入力された前記デジタルオーディオ信号に対して前記誤差ビット検出手段5で検出した前記誤差ビットを補正し出力するデジタル信号処理手段6とを有している。
【0029】
より具体的に、切替手段1は、例えばスイッチにより構成され、記録媒体12からデジタルオーディオ信号をデジタルオーディオインターフェースを介して読み出し、読み出したデジタルオーディオ信号をハードディスク等の記憶手段2または後述するデジタル信号処理手段6に与えるように、デジタルオーディオ信号の出力を切り替えるようになっている。例えば、切替手段1は、後述の例のように、当初、記憶媒体12から読み出したデジタルオーディオ信号を記憶手段2に与え、記憶手段2,出現度数検出手段3,正規化手段4,誤差ビット検出手段5によって、デジタルオーディオ信号に含まれている誤差ビットを検出させた後、記憶媒体12から再びデジタルオーディオ信号を読み出し、これをデジタル信号処理手段6に与え、デジタル信号処理手段6において、デジタルオーディオ信号に含まれている歪みを誤差ビット検出手段5で検出された誤差ビットに基づいて補正させるようになっている。
【0030】
このような切替手段1の機能に着目するとき、記憶手段2、出現度数検出手段3、正規化手段4、誤差ビット検出手段5は、変換誤差検出手段として機能し、また、デジタル信号処理手段6は、変換誤差補正手段として機能するようになっている。
【0031】
ここで、先ず、変換誤差検出手段(記憶手段2、出現度数検出手段3、正規化手段4、誤差ビット検出手段5)としての機能について説明する。
【0032】
記憶手段2には、ハードディスク等のデータの記憶が可能なものが用いられ、切替手段1から与えられるデジタルオーディオ信号が蓄積される。
【0033】
また、出現度数検出手段3は、記憶手段2に記憶されたデジタルオーディオ信号を読み出し、読み出された複数サンプル分のデジタルオーディオ信号について、それぞれの量子化レベルを表わすコード毎に、コードの出現度数を検出するようになっている。すなわち、複数サンプル分のデジタルオーディオ信号について、コード毎の出現度数を表わすヒストグラム(レベル分布)を作成するようになっている。
【0034】
ここで、デジタルオーディオ信号の量子化レベルを表わすコードについて説明する。デジタルオーディオ信号の量子化レベルは、1と0の2進法を用い、複数のビットで表現している。ビット数を多くすることにより、より細かな振幅レベルを表現することができる。例えば、2進法の13ビットで表現された振幅レベルを、10進法になおすと、−4096〜4095の範囲で表わすことができる。この−4096〜4096をコードとして表わしている。0のコードとは、アナログ信号における振幅レベルが0であることを表わし、コードの絶対値が大きくなるに従って、アナログ信号における振幅レベルが大きいことを表わしている。
【0035】
また、デジタルオーディオ信号のヒストグラム(レベル分布)について説明する。図2は、デジタルオーディオ信号のヒストグラム(レベル分布)の一例を示す図である。図2に示すヒストグラムにおける出現度数は、コード0の場合を中心として、正方向、負方向にほぼ対称になっており、コードが0のとき出現度数が高く、コードが正方向に大きくなるに従い、また、コードが負方向に小さくなるに従い、出現度数が徐々に低くなる。このようなヒストグラムの特徴は、入力されたオーディオ信号それぞれに固有のものである。このヒストグラムにおいて、隣接するコードに対して、急激に出現度数が高くなるコード、または、急激に出現度数が低くなるコードは、変換誤差に基づく歪みの生じたコードである。
【0036】
出現度数検出手段3におけるヒストグラムの算出方法について説明する。出現度数検出手段3は、量子化レベルを表わすコード自体をアドレスとして、そのアドレスに対応した値を記憶しているヒストグラムメモリを有している。出現度数検出手段3は、記憶手段2からデジタルオーディオ信号を読み出し、そのコードに基づいてヒストグラムメモリにアクセスし、前記ヒストグラムメモリに記憶してあるアドレスに対応する値を読み出す。この値に1を加算し、1を加算した値を同じアドレスのところに書き込む。この処理を複数サンプル分について繰り返し行なう。このことにより、コード毎の累積回数、すなわち、出現度数が求められ、ヒストグラムメモリに蓄積される。
【0037】
前記処理を行なうサンプルの数は、変換誤差に基づく歪みを低減する対象のデジタルオーディオ信号の全てではなく、同じA/Dコンバータによりデジタルオーディオ信号に変換されたものであるならば、そのデジタルオーディオ信号の一部、例えば最初の数秒間のサンプルで良い。しかし、サンプル数が多いほど、ヒストグラムの精度が向上する。例えば、比較的レベルの高い部分が連続した2,500,000サンプルを用いると、良好なヒストグラム分布を得ることができる。このヒストグラム化は、デジタルカウンタ回路、または、ソフトウェアで実現することが可能である。
【0038】
次に、正規化手段4について説明する。上述のように入力されたデジタルオーディオ信号の出現度数は、そのデジタルオーディオ信号固有の出現度数を表わすため、正規化手段4は、より具体的には、例えば、変換誤差に基づく歪みの生じたコードを含む近接した複数のコードにおける平均出現度数で、変換誤差に基づく歪みの生じたコードの出現度数を除算することにより、デジタルオーディオ信号の変換誤差に基づく歪みを出現度数の特徴として抽出することができる。
【0039】
具体的には、量子化レベルが隣接する複数のコード、例えば4つのコードを1単位として、全てのコードについて、複数ブロックに分割する。このブロックを構成する各コード(4つのコード)の出現度数から、1ブロック毎の平均出現度数を求める。ブロックを構成する各コードの出現度数を、この1ブロック毎の平均出現度数で除算した値を、各コードの正規化された出現度数Aとすると、各コードの正規化された出現度数Aは、次式によって表わされる。
【0040】
【数1】
正規化された出現度数A=(4つずつ分割したそれぞれのコードの出現度数)/(4つのコードの出現度数の平均)
【0041】
この正規化された出現度数Aからなるヒストグラムは、デジタルオーディオ信号の変換誤差に基づく歪みを出現度数の特徴として抽出したものとなる。すなわち、この出現度数Aは、デジタルオーディオ信号の固有の出現度数の特徴が、ほぼ除去されたものとなり、変換誤差に基づく歪みがない場合、正規化された出現度数Aは、全てのコードにおいて1となる。なお、上述の例では、正規化手段4は、予め分割したブロック内の各コードの出現度数の平均を平均出現度数として求めたが、変換誤差に基づく歪みの生じたコードの近傍にある所定数のコードの各出現度数の移動平均を平均出現度数として求め用いてもよい。
【0042】
この正規化手段4における処理例として(特別な場合として)、記録媒体12から読み出されたデジタルオーディオ信号中に、正弦波あるいは正弦波に近いデジタル化された音楽信号が含まれている場合について説明する。このような音楽信号が含まれている場合、従来の正弦波ヒストグラム測定装置における微分直線性誤差の算出方法と同様の方法により、正規化された出現度数を得ることができる。すなわち、理論的には、歪のない正弦波ヒストグラムは、振幅レベル0の場合に出現度数が小さく、振幅レベルが正方向に大きくなるに従って、または、負の方向に小さくなるに従って、振幅レベル0を中心として左右対称に急峻に出現度数が高くなり、正方向及び負方向のピークレベルにおいて出現度数が最大となる。理論的に得られたヒストグラムは、入力されたデジタルオーディオ信号固有の出現度数を表わしている。従って、この場合、歪のない正弦波あるいは正弦波に近いデジタルオーディオ信号を入力し、各コード毎の出現度数を、正弦波ヒストグラムの理論値から得た同一コードの出現度数で除算することにより、正規化された出現度数を得ることができる。
【0043】
次に、誤差ビット検出手段5について説明する。誤差ビット検出手段5は、正規化手段4からの正規化されたヒストグラムから誤差ビットを検出するようになっている。ここで、正規化されたヒストグラムには、出現度数が極端に多いコードと、出現度数が極端に少ないコードとが含まれ、前記出現度数が多いコードと出現度数が少ないコードとの量子化レベルの差は、変換度差に基づく歪みの生じたビットの重み、言い換えれば、ビットの桁位置を表わしている。
【0044】
変換誤差の原因は、オーディオ信号がA/Dコンバータ11によってデジタル化されたとき、A/Dコンバータ11の変換方式により異なる。ここでは、重み抵抗型A/Dコンバータ、または、R−2Rラダーを有するバイナリウェイト電流源型D/Aコンバータ等を内部D/Aコンバータとして用いる逐次比較型A/Dコンバータを前提とする。すなわち、しきい値とする振幅レベルの設定に重みを利用するものを前提としている。換言すれば、ある重みの影響が、複数の量子化レベルに波及することに着目し、複数の量子化レベル、すなわちコードの出現度数から変換誤差に基づく歪みの原因となった重みを検出するようにしている。
【0045】
例えば、出現度数が極端に多いコードの間の間隔が2、すなわち量子化レベルの間隔が最下位ビットの量子化レベルの21倍である場合、最下位ビットに誤差があることがわかる。また、出現度数が極端に多いコードの間の間隔が23、すなわち量子化レベルの間隔が最下位ビットの量子化レベルの23倍である場合、最下位ビットから3ビット目の桁位置のビットに誤差があることがわかる。つまり、出現度数が極端に多い複数のコードの量子化レベルの間隔が2nである場合、最下位ビットからnビット目の桁位置のビットに誤差があることがわかる。
【0046】
コードの出現度数が極端に多いと判定するには、しきい値が必要がある。例えば、正規化された出現度数Aが1.2以上のものを出現度数が極端に多いものと判定する。また、出現度数が極端に少ないコードの間の間隔からも、誤差のあるビットの桁位置を検出することができる。また、これらの両者を併用して、誤差のあるビットを検出してもよい。
【0047】
誤差ビット検出手段5における誤差ビットの検出処理について説明する。図3は、誤差ビット検出手段5の誤差ビット検出処理の一例を示すフローチャートである。
【0048】
図3の処理例では、先ず、正規化手段4からの正規化されたヒストグラムを入力する(ステップS11)。次いで、変数nの値の初期値を、デジタルオーディオ信号の量子化ビット数から1を減算した値とする(ステップS12)。次いで、各コードの正規化された出現度数を、各コードの量子化レベルの2n毎に抽出する(ステップS13)。そして、あるnの値について抽出された全ての出現度数が1.2以上であるか否かを判定する(ステップS14)。出現度数が1.2以上である場合、最下位ビットからnビット目に誤差があると判断し、このnの値を誤差ビットメモリに記憶する(ステップS15)。また、出現度数が1.2未満である場合、このnの値から1を減算してnの値を更新する(ステップS16)。nの値が0かどうかを判断し、nの値が0でなければ、再度、各コードの正規化された出現度数を、各コードの量子化レベルの2n毎に抽出する処理に戻る(ステップS17)。nの値が0の場合、誤差ビットメモリに記憶された誤差ビットをデジタル信号処理手段6に出力する(ステップS18)。以上の処理により、誤差ビットを検出することができる。
【0049】
図4は、最近の精度の良いA/D変換器を使用した音楽信号のレベル分布の一例を示す図であり、図5は、初期のPCM音楽信号のレベル分布の一例を示す図である。両方とも、同じ音楽信号を用い、2,500,000サンプル(サンプリング周波数44.1KHzで、約1分)のレベル分布である。縦軸は出現度数、横軸は13ビットでのLSB単位である。音楽信号の(長時間の)レベル分布は、0(LSB)を中心とした正規分布に近い形をしているが、図4はその傾向が表われている。図5は、ほぼ正規分布に近い形ではあるが、図4と比べて出現度数が極端に多いレベル、また、極端に少ないレベルが存在する。これは、逐次比較型A/D変換器の誤差によるものである。理想的なA/D変換器では、1つの出力レベルに対して、アナログ入力電圧は±0.5(LSB)の幅をもっている。しかし、実際の逐次比較型A/D変換器は、内部D/A変換器等に誤差があるため、この幅が一定ではない。そのため、A/D変換器の入力アナログ電圧の幅が、±0.5(LSB)よりも大きなレベルでは、本来、隣接するレベルに変換されるべきデータを含んでいるため、そのレベルの出現頻度が大となり、逆に、A/D変換器の入力アナログ電圧の幅が、±0.5(LSB)よりも小さなレベルでは、そのレベルの出現頻度が小になる。従って、音楽信号のレベル分布を用いれば、前述の処理によって、使用したA/Dコンバータの誤差を検出することができる。
【0050】
このように、変換誤差検出手段(記憶手段2、出現度数検出手段3、正規化手段4、誤差ビット検出手段5)では、直線性誤差の有したアナログ/デジタル変換器でアナログ/デジタル変換されたデジタルオーディオ信号から(すでに収録された音楽信号から)、アナログ/デジタル変換時のアナログ/デジタル変換器の直線性誤差に基づく歪みを推定(検出)することができる。
【0051】
次に、変換誤差補正手段としてのデジタル信号処理手段6について説明する。デジタル信号処理手段6には、上記のように、デジタルオーディオ信号に含まれているA/D変換時の変換誤差(誤差ビット)が検出された後、例えば切替手段1から同じデジタルオーディオ信号が再び与えられ、デジタル信号処理手段6は、誤差ビット検出手段5で検出されたA/D変換時の変換誤差(誤差ビット)に基づいて、デジタルオーディオ信号の変換誤差に基づく歪みの補正を行ない、歪みを低減するようになっている。すなわち、変換誤差に基づく歪みにより出現度数が大きくなった量子化レベルを有する複数サンプルのうち、変換誤差に基づく歪みの生じたサンプルの量子化レベルを本来の正しい量子化レベルであると推測される量子化レベルに補正して、変換誤差に基づく歪みの低減を行なうようになっている。
【0052】
図6は、デジタル信号処理手段6における補正処理の一例を示すフローチャートである。
【0053】
図6の処理例では、誤差低減の対象となるデジタルオーディオ信号の各サンプルのコードが、切替手段1から与えられると(ステップS21)、デジタル信号処理手段6は、1サンプル毎に誤差ビットの桁位置における値が1であるか否かを判定する(ステップS22)。誤差ビットの桁位置における値が1のコード(誤差ビットにより量子化レベルが影響を受けたコード)である場合、当該サンプルの正しい量子化レベル、すなわち、コードを推定する(ステップS23)。また、誤差ビットの桁位置における値が1でないコードである場合、入力されたサンプルのコードまたは前記処理において推定されたコードを、ファイルに書き込み出力する(ステップS24)。このとき、時間軸上の位置、すなわち当該サンプルが最初から何サンプル目のものかを示すデータも、コードと共にファイルに出力される。以上の処理により変換誤差に基づき歪みの生じたコードを、本来の正しいと推定されるコードに補正して、変換誤差に基づく歪みを低減することができる。
【0054】
ここで、変換誤差に基づく歪みの影響を受けたコードの補正について説明する。LSBを最下位ビットの量子化レベルとし、a,bを正の整数とし、Nを0または正の整数とする。
【0055】
例えば、逐次比較型A/Dコンバータ内部の抵抗値が、下位からaビット目に+b・LSBの誤差を持つ場合、量子化レベルが2a・N+2a−1−bとなるコードの出現度数がb+1倍に増加し、量子化レベルが2a・N+2a−1から2a・N+2a−bまでの間の各コードの出現度数が、いずれも0となる。
【0056】
また、下位からaビット目に−b・LSBの誤差を持つ場合、量子化レベルが2a・N+2a−1−1の出現度数がb+1倍に増加し、量子化レベルが2a・N+2a−1−1から2a・N+2a−1+b−1までの間の各コードの出現度数が、いずれも0となる。
【0057】
従って、このような誤差がキャンセルされるように補正を行なうと、変換誤差に基づく歪みが低減される。しかし、出現度数が少ないコードでなければならないサンプルデータは、出現度数の多いコードに誤変換される。つまり、出現度数が多い量子化レベルを有する複数のサンプルには、本来、他の量子化レベルになるべきサンプルも含まれている。
【0058】
前記誤変換を補正するために、まず、誤差ビット検出手段5で検出された1つの誤差ビットの影響を受けた出現度数が極端に多くなる複数のコードが得られる。この複数のコードが検出された出現度数の平均をXとする。前記誤差ビットの影響を受けて出現度数が極端に多くなるコードを有するサンプルは、そのコードを前記Xの値に応じて、前記1つの誤差ビットにより出現度数が極端に小さくなる1または複数コードに、例えばX個に1個の割合で変換する。複数のビットに誤差がある場合は、それぞれのビットに対して上記処理を行なう。
【0059】
誤差ビット検出手段5において、検出された誤差ビットの影響を受けた量子化レベルは、時間軸上で隣接するサンプルの量子化レベル差により、正負のどちらに訂正すればよいか判断されている。
【0060】
変換誤差に基づく歪みのないコードを推定する処理について説明する。図7は、アナログ/デジタル変換器(A/Dコンバータ)11のA/D変換特性図である。誤差ビットの桁位置における値が1であるコードについて、このコードが時間軸上で何サンプル連続しているかを内部ファイルを読み出し調べる。例えば、下位からa=3ビット目にb=+1・LSBの誤差を持っていると判断した場合、A/Dコンバータの入出力特性は、図7に示すようになる。つまり、8n+3において、アナログ入力の+1・LSB相当の増加に対してデジタル出力が変化してない。従って、8n+3においては、出現度数が極端に少なくなる。そして、8n+6において、アナログ入力の+1・LSB相当の増加に対して、デジタル出力が8n+8となり、出現度数が多くなる。
【0061】
図8は、本発明の歪み補正装置において時間軸上のデジタル出力を説明するための図である。図8において、デジタルオーディオ信号の変換誤差に基づく歪みを低減させるために、8n+4〜8n+6に該当するデジタル出力は、全て+1・LSBだけ大きい値に変換されている。8n+3に該当するデジタル出力のサンプルをK1、K2、K3…Ktとすると、8n+3に該当するサンプルが2サンプル以上tサンプル続いた場合、K1とその1サンプル前のサンプルK0とのデジタル出力の差をとり、この差をD1とする。また、Ktとその1サンプル後のサンプルKt+1とのデジタル出力の差をとり、この差をD2とする。差D1、D2が共に正の場合には、前記Xの値を用い、Kt/XからKtまでの値を+1とし、差D1、D2が共に負の場合には、前記Xの値を用い、K1からKt/Xまでの値を+1とする。ここで、t/Xの値が整数以外の場合には、t/Xの値が整数になるように、値の切り捨てまたは切り上げをする。
【0062】
このようにすることにより、X回に1回の割合で8n+3に該当するデジタル出力のサンプルは、+1・LSBだけ大きな値に変換される。どのサンプルを変換するかは、時間軸上で隣接するサンプルの量子化レベルの差D1、D2により決定される。前述した説明では、b=+1・LSBの誤差を持っていると判断した場合について説明したが、bが他の値であっても、同様に変換誤差に基づく歪みのないコードを推定することができる。
【0063】
以上の構成からなるA/Dコンバータの直線性誤差低減処理について図1を用いて説明する。記録媒体12からデジタルオーディオ信号が読み出され切替手段1に入力すると、切替手段1は、入力されたデジタルオーディオ信号を記憶手段2に出力されるように切り替える。
【0064】
記憶手段2は、切替手段1からのデジタルオーディオ信号を蓄積する。
【0065】
出現度数検出手段3は、記憶手段2に一時記憶されているデジタルオーディオ信号を複数サンプル分読み出し、それぞれの量子化レベルを表わすコード毎に出現度数を検出し、ヒストグラムを作成し出力する。
【0066】
正規化手段4は、出現度数検出手段3から出力されたヒストグラムから、コードの出現度数に基づいて変換誤差に基づく歪みを抽出し、正規化されたヒストグラムとして出力する。デジタルオーディオ信号において、本来変換誤差に基づく歪みが生じていない場合は、各コードの出現度数の値は同じになるが、変換誤差に基づく歪みが生じた場合、コード毎に出現度数に差が生じる。
【0067】
誤差ビット検出手段5は、正規化手段4からの正規化されたヒストグラムに基づいて、各コードにおける出現度数の違いから、デジタルオーディオ信号の誤差ビットを検出し、デジタル信号処理手段6に出力する。
【0068】
次に、切替手段1は、記録媒体12から読み出されたデジタルオーディオ信号をデジタルインタフェースを介してデジタル信号処理手段6に出力するように切り替える。
【0069】
デジタル信号処理手段6には、記録媒体から読み出されたデジタルオーディオ信号と、そのデジタルオーディオ信号の直線性誤差の生じた誤差ビットを検出した検出結果とが入力される。
【0070】
デジタル信号処理手段6は、誤差ビット検出手段5からの検出結果に基づいて、入力されるデジタルオーディオ信号の変換誤差により誤ったコードに変換されたデジタルオーディオ信号を、本来の変換誤差に基づく歪みのないレベルに近い値に補正して出力する。出力されたデジタルオーディオ信号は、変換誤差に基づく歪みが低減されたデジタルオーディオ信号となる。
【0071】
以上のように、デジタルオーディオ信号の変換誤差により誤った値に変換されたコードを容易に補正することができ、変換誤差に基づく歪みを低減することができる。
【0072】
なお、上述の処理において、変換誤差に基づく歪みの補正方法として、誤差ビット検出手段5により判定された誤差ビットが、その量子化レベルに影響を与えているコードを有する連続したサンプルについて、あるサンプルの量子化レベルを、時間軸上で隣接したサンプルの量子化レベルから推定するときに用いる各種の補間技術を用いることができる。
【0073】
また、上述の歪み補正装置において、変換誤差検出手段(記憶手段2,出現度数検出手段3,正規化手段4,誤差ビット検出手段5)だけを単体の装置(歪み検出装置)として構成することもできる。すなわち、本発明は、デジタルオーディオ信号に含まれているA/D変換時の変換誤差(歪み)を検出するだけの歪み検出装置として構成することもできる。
【0074】
また、上述の構成例では、正規化手段4および誤差ビット検出手段5は、録音された音楽信号(デジタルオーディオ信号)の量子化レベルを表わすコードの出現度数からヒストグラムを求め、そのヒストグラムにおけるしきい値以上の出現度数の凹凸を、A/D変換誤差の生じた誤差ビットを判断し、デジタル信号処理手段6は、誤差ビットのコードを前後のコードに基づいて補正するようになっており(すなわち、ヒストグラムにおけるしきい値以上の出現度数の凹凸を誤差ビットと判断し、前後のコードに基づいて補正しており)、このため、しきい値以下の出現度数の凹凸は、誤差ビットと判断せず補正されないため、A/D変換誤差を著しく低減することができないこともある。
【0075】
しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減するため、本願の発明者は、さらに、次のような構成例のものを案出した。
【0076】
図9は本発明に係る歪み補正装置の他の構成例を示す図である。なお、図9において、図1と同様の箇所には同じ符号を用いている。図9を参照すると、この歪み補正装置20は、A/Dコンバータ11によりコードに変換されたデジタルオーディオ信号(音楽信号)の出力を切り替える切替手段1と、該切替手段1から入力された前記デジタルオーディオ信号を記憶する記憶手段2と、該記憶手段2から前記デジタルオーディオ信号を読み出し複数サンプルについて各々の量子化レベルを表わすコード毎の出現度数をヒストグラム(レベル分布)として検出する出現度数検出手段3と、該出現度数検出手段3で検出されたレベル分布に対しローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを正規化されたレベル分布として検出する正規化手段34と、正規化手段34で正規化されたレベル分布からデジタルオーディオ信号のレベルに対する変換テーブルT(i)を算出し所定のメモリに記憶する変換テーブル算出手段35と、記録媒体12から読み出されたデジタルオーディオ信号のレベルを前記変換テーブルT(i)に従ったレベルデータに置換して出力するデータ置換手段36とを備えている。
【0077】
すなわち、図9の構成例では、正規化手段34は、ローパスフィルタリング処理機能を有し、出現度数検出手段3で作成されたヒストグラム(レベル分布)に対してローパスフィルタリング処理を施して、このヒストグラム(レベル分布)を理想的なヒストグラム(レベル分布),すなわちA/Dコンバータ11に誤差がない場合の理想的なヒストグラム(レベル分布)に近似し、ローパスフィルタリング処理がなされる前のヒストグラム(レベル分布)を、ローパスフィルタリング処理がなされた後のヒストグラム(レベル分布)で除算することにより、A/Dコンバータ11の変換誤差を、誤差がない場合の出現頻度を1.0に正規化した分布として、検出するようになっている。
【0078】
より具体的に、デジタルオーディオ信号(音楽信号)のレベルiの出現頻度をg(i)、量子化ビット数をn、ローパスフィルタ(移動平均フィルタ)の平均をとるサンプル数をm(m:奇数)とすると、正規化手段34は、正規化した値N(i)を、次式のようにして求めるようになっている。
【0079】
【数2】
【0080】
ここで、c(j)は、次式を満たす窓関数である。
【0081】
【数3】
【0082】
換言すれば、上記g(i)は、窓関数c(j)の移動平均フィルタを示している。また、移動平均法では、平滑化波形の両端部分の計算が不可能なため、また、平滑化波形の両端部分は、音楽レベルが大きい部分であり、実際には、そのような大きなレベルは存在しないため、無視できるものであることから、上式(数2)において、平滑化波形の両端部分のサンプルに相当する(m−1)/2を、コードiの範囲から除外している。
【0083】
このように、図9の歪み補正装置20の正規化手段34は、デジタルオーディオ信号(音楽信号)のデジタルコードiの出現頻度g(i)に対して、移動平均フィルタを用い、近傍の値との平均値を計算することにより、デジタルオーディオ信号(音楽信号)のデジタルコードiの出現頻度g(i)を理想的な出現頻度に近似し、正規化を行なうようになっており、これにより、A/D変換後のデジタルオーディオ信号(音楽信号)のレベル分布に楽音の種類による固有の偏りがある場合にも、理想的なレベル分布を算出することができる。すなわち、正規化を行なうことができる。
【0084】
また、変換テーブル算出手段35は、具体的には、正規化手段34で上記のように求めた正規化された値N(i)を、次式(数4)のように積算し、変換テーブルT(i)を求め、これを例えばテーブル変換用メモリに格納するようになっている。
【0085】
【数4】
【0086】
本来、理想的なA/Dコンバータの変換特性(入出力特性)は、図10に示すようになる。しかし、A/Dコンバータに変換誤差がある場合には、A/Dコンバータの変換特性(入出力特性)は、図11に示すようになる。
【0087】
図11において、レベルbの部分は出現頻度が多く、レベルcの部分は出現頻度が少なくなる。正規化したレベル分布N(i)は、各レベル(a〜f)の入力レベル幅(A〜F)を示している。そうすると、例えば、レベルbは、入力レベル幅Bの中央値であり、N(b)=(A+B)/2が代表値となる。同様に、レベルcは、N(c)=(A+B)/2+(B+C)/2となり、また、レベルdは、N(d)=(A+B)/2+(B+C)/2+(C+D)/2となる。数4は、このようなN(i)の積算処理を表わしている。なお、変換テーブルT(i)=N(i)とした場合は、N(i)の値を積算していないため、正しいT(i)の値が求まらない。つまり、N(i)は、図12に示すように、階段の横幅に相当し、求めるT(i)は、図13に示す階段の中央値となる。しかし、T(i)=N(i)とした場合、N(i)を積算しないために、図14に示すようになる。数4の場合、N(i)を積算しているため、正しいT(i)が求まる。
【0088】
そして、データ置換手段36は、記録媒体12から読み出されたデジタルオーディオ信号のレベルiに対応した値T(i)を、上記のようにして求まった変換テーブルから割り出し、この値T(i)を、歪み補正されたデジタルオーディオ信号として出力することができる。具体的に、変換テーブル算出手段35によって算出される変換テーブルT(i)は、量子化レベルを表わすコードi自体をアドレスとして、そのアドレスに対応した値を記憶する形に、テーブル変換用メモリに格納されるようになっており、この場合、データ置換手段36は、記録媒体12から読み出されたデジタルオーディオ信号(量子化レベルを表わすコード)iをアドレスとし、そのアドレス(レベルi)に対応した値T(i)をテーブル変換用メモリから読み出して、これを歪み補正されたデジタルオーディオ信号として出力することができる。
【0089】
このように、図9の構成例では、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正するので、しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減することができる。
【0090】
また、図9の構成例では、例えば、変換テーブルT(i)のビット長を、入力データのビット長よりも大きくすることによって、ビット長の拡張(例えば、13ビットから16ビットへの拡張)を行なうことも可能である。
【0091】
具体的に、13ビット信号の取り得る値を−213−1〜213−1−1(−4096〜+4095)とすると、テーブル変換後の信号は、演算により小数点以下の値が発生する。例えば、レベル分布g(i)が、
g(0)=100
g(1)=150
g(2)=50
g(3)=100
の場合、ローパスフィルタを通した後のレベル分布h(i)を
h(0)=h(1)=h(2)=h(3)=100
とする。このレベル分布h(i)は、ローパスフィルタの公式から次式のように求められる。
【0092】
【数5】
【0093】
そして、N(i)=g(i)/h(i)より、
N(0)=100/100=1.0
N(1)=150/100=1.5
N(2)=50/100=0.5
N(3)=100/100=1.0
【0094】
そして、数4より、
N(0)=0.0
N(1)=0.0+(1.0+1.5)/2=1.25
N(2)=1.25+(1.5+0.5)/2=2.25
N(3)=2.25+(0.5+1.0)/2=3.0
となり、テーブル変換により、小数点以下の値が発生する。この小数点以下の値が下位ビットであり、どの値まで出力するかにより、任意のビット長の信号に変換することができる。
【0095】
図15には、テーブル変換前とテーブル変換後の入出力特性の一部が示されている。図15において、横軸は入力(アナログ)、縦軸は出力(A/D変換器の入出力特性は13ビット、テーブル変換後の入出力特性は16ビットでのLSB単位)である。100Hz,−40dBの正弦波を誤差の大きな逐次比較型A/D変換器(ビット長13ビット)に入力した時の出力、および、その出力信号に対して、同じA/Dコンバータで収録したデジタルオーディオ信号(音楽信号)から算出した変換テーブルを用いて、上記のテーブル変換処理を行なったものに対して、81920ポイント、Hanning窓のFFT(高速フーリエ変換)処理を行ない、プロットしたものを図16に示す。なお、図17には、本発明による上記処理を行なわない場合が示されている。図16を図17と比較すると、テーブル変換処理を行なったものの方(図16)がテーブル変換処理を行なわない場合(図17)に比べて、歪みが減少していることがわかる。
【0096】
次に、図9の歪み補正装置の処理動作を図18,図19のフローチャートを用いて説明する。なお、図18は変換テーブル算出処理(変換誤差検出処理)の動作例を示すフローチャートであり、図19は、デジタルオーディオデータのテーブル変換処理(変換誤差補正処理)の動作例を示すフローチャートである。
【0097】
本装置を使用する場合、入力、出力のデジタルオーディオ信号(音楽信号)のビット長は、任意でよいが、この例では、入力、出力の音楽信号のビット長を、それぞれ13ビット,16ビットとする。先ず、切替手段(例えばスイッチ)1を記憶手段2側に切り換え、記憶手段2,出現度数検出手段3,正規化手段34,変換テーブル算出手段35により変換テーブルの算出を行なわせる。すなわち、ヒストグラム(レベル分布)を作成するためのデジタルオーディオ信号のサンプル数(測定サンプル数)aを所定数に設定する(ステップS31)。次いで、記録媒体12からデジタルオーディオ信号(13ビット)をサンプル数aでサンプリングして読み出し、これを記憶手段2に入力させる(ステップS32)。このようにして入力され記憶手段2に記憶されたビット長13ビットの音楽信号は、出現度数検出手段3で、ヒストグラム(レベル分布)の測定が行なわれる。この場合、出現度数検出手段3は、前述したと同様に、ヒストグラムメモリを有し、入力されたデータに該当するアドレス(番地)のヒストグラムメモリの値を+1し、これを所定回数(サンプル数a)繰り返して、ヒストグラム(レベル分布)を作成する(ステップS33乃至S35)。なお、デジタルオーディオ信号のレベル分布をとるサンプル数aは、ある程度多くなければ統計的なデータとして精度が低くなり、また、必要以上に多くても処理に時間がかかるので、これはできる限り最適値に近い値に設定される必要がある。すなわち、レベル分布を測定するサンプル数aは多い方がよいが、必要以上に多くても時間を要するので、2,500,000サンプル程度でよい。
【0098】
次いで、正規化手段34は、出現度数検出手段3で作成されたヒストグラム(レベル分布)に対して、数2,数3の演算を行ない、正規化した値N(i)を出力する(ステップS36)。なお、この正規化手段34におけるローパスフィルタリング処理において、移動平均フィルタのサンプル数mは、できる限り、最適値に設定されているのが良い。図20(a)はサンプル数mが“1”のとき(フィルタなしのとき)、図20(b)はサンプル数mが小さいとき、図20(c)はサンプル数mが最適値のとき、図20(d)はサンプル数mが大きいときのレベル分布をそれぞれ示す図である。移動平均フィルタのサンプル数mが最適値よりも小さい場合には、図20(b)のようにレベル分布の凹凸が残り、また、移動平均フィルタのサンプル数mが最適値よりも大きい場合には、図20(d)のように0(LSB)付近の値が小さくなり、その結果、どちらもmが最適値のときのように(図20(c)の場合のように)、歪みが減少しない。
【0099】
次いで、変換テーブル算出手段35は、正規化手段34からの出力,すなわち正規化データN(i)に対して、数4の演算を行ない(正規化データN(i)の積算処理を行ない)、変換テーブルT(i)を算出し、これをビット長16ビットでテーブル変換用メモリに出力する(ステップS37)。
【0100】
図21(a)乃至(d)には、上記処理の概要が示されている。ここで、図21(a)は出現度数検出手段3で測定されたレベル分布を示す図、図21(b)は図21(a)のレベル分布に対しローパスフィルタリング処理を施して平滑化したレベル分布を示す図、図21(c)は正規化手段34によって正規化されたデータ(図21(a)のレベル分布を図21(b)の平滑化されたレベル分布で除算したデータ)N(i)を示す図、図21(d)は図21(c)の正規化されたデータすなわち正規化度数N(i)を数4によって積算して作成された変換テーブルを示す図である。
【0101】
このようにして変換テーブルT(i)が算出され、テーブル変換用メモリに格納された後、切替手段2をデータ置換手段36側に切り換え、記録媒体12から読み出されたデジタルオーディオ信号に対し、変換テーブルT(i)に従ったデータ変換を行なう。すなわち、データ置換手段36は、記録媒体12から読み出されたデジタルオーディオ信号(レベルi)に該当するアドレス(番地)のテーブル変換用メモリの値T(i)を出力する動作を、所定回数繰り返す。
【0102】
より具体的には、図19に示すように、例えば、記録媒体12から読み出した13ビットのデジタルオーディオ信号をデータ置換手段36に順次に入力させ(ステップS41)、データ置換手段36で、入力されたデジタルオーディオ信号のレベルに該当するテーブル変換用メモリの値を出力する処理(ステップS43)を、EOF(データの終了を知らせるデータ)が検出されるまで(ステップS42)、繰り返し行ない、歪みが低減されたビット長16ビットのデジタルオーディオ信号に変換されて出力される。このように、記録媒体12から読み出されたビット長13ビットの音楽信号は、データ置換手段36で、テーブル変換が行なわれ、A/Dコンバータ11の変換誤差に基づく歪みが低減されたビット長16ビットの音楽信号に変換されて出力される。
【0103】
このように、図9の歪み補正装置では、デジタルオーディオ信号(音楽信号)のヒストグラム(レベル分布)から変換テーブルT(i)を作成する際、旧A/Dコンバータの誤差によるレベル分布の凹凸を移動平均フィルタで平滑し、A/Dコンバータに誤差がない場合の理想的なレベル分布に近似しているので、図1の歪み補正装置に対して、さらに、しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減することが可能となる。
【0104】
このように、上述の各構成例では、音楽ソースの録音時に用いたA/Dコンバータが、現存していない、または、変換特性が変化している場合に、旧録音ソースからA/D変換誤差がない元の音楽ソースの状態を推定し、入力されたデータを正しいと推定されるデータに置換して、A/D変換誤差が生じた音楽ソースを補正することができる。
【0105】
なお、図9の構成例では、音楽信号(デジタルオーディオ信号)を用いてA/D変換誤差を推定したが、音楽ソースの録音時に用いたA/D変換器が変換特性の変化なく現存する場合には、前記A/D変換器にリニアカウントアップ信号を入力し、A/D変換器の入力信号と出力信号を比較し、A/D変換誤差を求めることができる。このようなリニアカウントアップ信号を用いた補正は、次のようにして行なうことができる。
【0106】
すなわち、例えば、図22に示すように、旧A/Dコンバータ測定システム(例えば図23のようなシステム)を使用し、リニアカウントアップ信号と正弦波をパーソナルコンピュータに取り込み、リニアカウントアップ信号のレベル分布から変換テーブルを算出し、正弦波に対してテーブル変換、FFT(高速フーリエ変換)を行なって、ひずみの増減を調べる。変換テーブルの算出処理およびテーブル変換処理は、例えばC言語でプログラム作成し、パーソナルコンピュータ内部で処理し、また、FFTには、市販の信号処理ソフトを使用することができる。
【0107】
ここで、変換テーブルの算出処理は、例えば以下のような方法で行なうことができる。すなわち、量子化ビット数n、総サンプル数scの時のデジタルコードi(−2n−1≦i≦2n−1−1)の出現頻度をh(i),正規化した出現頻度をN(i)とする。テーブルの算出を容易にするため、次式のように、h(i)=sc/2nのときに、N(i)=1.0になるように、h(i)の正規化を行なう。
【0108】
【数6】
N(i)=(2n/sc)・h(i)
【0109】
次いで、N(i)を数4のように積算し、テーブルT(i)を求める。
【0110】
実際の処理では、テーブル変換前のデータ(13ビット)と、テーブル変換後のデータ(16ビット)が、図24に示すような関係になっているのでテーブル値T(i)を23=8倍し、16ビットにしている。
【0111】
このように、リニアカウントアップ信号を用いる補正では、例えば、現在16ビットで録音されている音楽信号を、将来24ビットあるいはそれ以上のビット長の音楽信号に変換する場合などに有効である。また、リニアカウントアップ信号は、音楽信号録音時に記録媒体等に記録するようにしてもよく、このような場合、A/D変換器が現存しない場合であっても、より精度よく変換誤差に基づく歪みを低減することができる。
【0112】
図1あるいは図9により説明した上述した処理では、切替手段1は、記録媒体12からのデジタルオーディオ信号を変換誤差を検出する処理のために記憶手段2に出力した後、再度同じデジタルオーディオ信号を記録媒体12から読み出してデジタル信号処理手段6あるいはデータ置換手段36に出力するものとなっているが、本発明は、この処理に限定されるものではない。例えば、変換誤差に基づく歪みを低減する対象のデジタルオーディオ信号のすべてを切替手段1を介して記憶手段2に記憶し、しかる後、切替手段1を介し、記憶手段2からの出力を、直接、デジタル信号処理手段6あるいはデータ置換手段36に与える構成となっていてもよい。
【0113】
また、例えば、デジタル信号処理手段6あるいはデータ置換手段36の前段に遅延手段を設け、切替手段1は、記録媒体12から読み出したデジタルオーディオ信号を記憶手段2と前記遅延手段とに同時に与え、変換誤差を検出している間、補正の対象となるデジタルオーディオ信号を遅延手段により遅延させ、デジタル信号処理手段6あるいはデータ置換手段36でリアルタイムに補正出力処理ができるよう構成することもできる。
【0114】
また、変換誤差に基づく歪みが低減されたデジタルオーディオ信号をリアルタイムで出力する必要がない場合、例えば、歪みが低減されたデジタルオーディオ信号を他の記憶装置に記憶するような場合には、記憶手段2としてデータ転送速度の速いハードディスク等を用い、記憶手段2の出力を切替手段1を介して、直接、デジタル信号処理手段6あるいはデータ置換手段36に入力する構成としてもよい。
【0115】
また、上述の例では、コンパクトディスク等の記録媒体12にデジタルオーディオ信号が記録されており、記録媒体12からデジタルオーディオ信号を読み出すとしたが、補正の対象となるデジタルオーディオ信号は、ROM、RAM等の半導体メモリにより構成された記憶装置に記憶されることも可能であり、この場合には、この記憶装置からデジタルオーディオ信号が読み出される。そして、この場合、記憶装置自体が、記憶手段2の機能をも有するように記憶装置を制御してもよく、このときには、さらに、記憶装置からの出力を、直接、出現度数検出手段3に入力させることができる。
【0116】
換言すれば、本発明において、「記憶手段」の語は、広義に捉えられるべきであり、記憶手段は、図1あるいは図9の記憶手段2に限らず、記憶媒体12やROM,RAMなどをも指すことができる。
【0117】
【発明の効果】
以上に説明したように、請求項1,請求項2記載の発明によれば、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正するので、しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減することができる。
【図面の簡単な説明】
【図1】本発明に係る歪み補正装置の構成例を示す図である。
【図2】デジタルオーディオ信号のヒストグラム(レベル分布)の一例を示す図である。
【図3】誤差ビット検出処理の一例を示すフローチャートである。
【図4】最近の精度の良いA/D変換器を使用した音楽信号のレベル分布の一例を示す図である。
【図5】初期のPCM音楽信号のレベル分布の一例を示す図である。
【図6】デジタル信号処理手段における補正処理の一例を示すフローチャートである。
【図7】アナログ/デジタル変換器のアナログ/デジタル変換特性図である。
【図8】本発明の歪み補正装置において時間軸上のデジタル出力を示す模式図である。
【図9】本発明に係る歪み補正装置の他の構成例を示す図である。
【図10】理想的なA/Dコンバータの変換特性を示す図である。
【図11】A/Dコンバータに変換誤差がある場合のA/Dコンバータの変換特性を示す図である。
【図12】変換テーブルの算出の仕方を説明するための図である。
【図13】変換テーブルの算出の仕方を説明するための図である。
【図14】変換テーブルの算出の仕方を説明するための図である。
【図15】テーブル変換前とテーブル変換後の入出力特性の一部を示す図である。
【図16】デジタルオーディオ信号に対してテーブル変換処理を行なった結果を示す図である。
【図17】デジタルオーディオ信号に対してテーブル変換処理を行なわない場合を示す図である。
【図18】図9の歪み補正装置の処理動作を説明するためのフローチャートである。
【図19】図9の歪み補正装置の処理動作を説明するためのフローチャートである。
【図20】移動平均フィルタのサンプル数mを変化させたときのレベル分布を示す図である。
【図21】図9の歪み補正装置におけるテーブル変換までの処理概要を示す図である。
【図22】リニアカウントアップ信号を用いた補正処理を説明するための図である。
【図23】リニアカウントアップ信号を用いた補正処理を説明するための図である。
【図24】テーブル変換前のデータ(13ビット)と、テーブル変換後のデータ(16ビット)との関係を示す図である。
【符号の説明】
1 切替手段
2 記憶手段
3 出現度数検出手段
4,34 正規化手段
5 誤差ビット検出手段
6 デジタル信号処理手段
10,20 歪み補正装置
11 A/Dコンバータ
12 記録媒体
35 変換テーブル算出手段
36 データ置換手段
【発明の属する技術分野】
本発明は、アナログオーディオ信号をアナログ/デジタル変換器でデジタルオーディオ信号にアナログ/デジタル変換した時に発生したアナログ/デジタル変換器の直線性誤差(変換誤差)に基づく歪みを検出し、デジタルオーディオ信号に含まれる上記歪みを補正する歪み検出装置および歪み補正装置および歪み補正方法に関する。
【0002】
【従来の技術】
従来、アナログ/デジタル変換器(A/Dコンバータ: Analog/Digital コンバータ)は、A/D変換精度により直線性誤差を有している。A/Dコンバータによりアナログオーディオ信号をデジタルオーディオ信号に変換したとき、変換されたデジタルオーディオ信号にはA/Dコンバータの直線性誤差(以下、変換誤差という)に基づく歪みが生じる。この場合、A/Dコンバータを用いてA/D変換する際、A/Dコンバータ内部の抵抗値を調整したり、外付けの回路によりビット重みを調整することにより、A/D変換時点で変換誤差に基づく歪みをある程度は低減することができる。
【0003】
【発明が解決しようとする課題】
しかしながら、過去にA/D変換されデジタル記録が行なわれた数多くの音楽ソフト(過去に録音されたデジタルオーディオ信号)は、そもそも、低いビット数(例えば13ビットあるいは14ビット)の変換精度の悪いA/DコンバータによりA/D変換されているため、A/Dコンバータ自体を調整しても変換誤差を有しており(現在のA/Dコンバータ(例えば16ビット)と比較して変換誤差に基づく歪みを多く有しており)、この変換精度の悪さによる変換誤差に基づく歪みが、収録された音楽信号の品質を劣化させている要因の1つとなっている。従って、過去の録音時に使用したA/Dコンバータの変換誤差に基づく歪みを低減したデジタルオーディオ信号を得ることが現在望まれている。
【0004】
この場合、過去の録音時に使用したA/Dコンバータの特性を測定し、その特性に基づいてA/D変換誤差の補正をすることは可能であるが、A/Dコンバータの特性は経時変化するので、A/D変換時に用いられていたA/Dコンバータ自体から、A/D変換時の特性,すなわち変換誤差を正確に検出することはできない。また、録音時に用いた13ビットあるいは14ビットのA/Dコンバータは現存しないことが多く、この場合には、A/Dコンバータの特性をA/Dコンバータから検出することはできない。このように、従来では、過去の録音時に用いられた13ビットあるいは14ビットのA/Dコンバータが現存するか否かにかかわらず、これを用いては、デジタルオーディオ信号のA/D変換誤差を正確に検出することは難かしく、従って、A/D変換誤差を低減することができないという問題があった。
【0005】
また、変換誤差に基づく歪みを有した状態で記録されたデジタルオーディオ信号から(すでに収録された音楽信号から)、A/D変換時の変換誤差を推定(検出)することも困難であった。すなわち、デジタルオーディオ信号からA/D変換時の変換誤差を推定(検出)する装置として、正弦波ヒストグラム法を用いる測定装置が知られているが、この測定装置では、歪みのない正弦波を被測定対象のA/Dコンバータに入力し、ヒストグラムを得て、そのヒストグラムを用いて測定対象の変換誤差を測定するものであって、デジタルオーディオ信号のように正弦波でないものを信号源とする場合、変換誤差を推定(検出)することはできなかった。
【0006】
このように、従来では、すでにA/D変換がなされ収録されたデジタルオーディオ信号(音楽信号)から、A/D変換時の変換誤差を推定(検出)することが困難であり、従って、A/D変換時の変換誤差に基づく歪みを低減したデジタルオーディオ信号を得ることはできなかった。
【0007】
本発明は、直線性誤差を有したアナログ/デジタル変換器でアナログ/デジタル変換されたデジタルオーディオ信号から(すでに収録された音楽信号から)、アナログ/デジタル変換時のアナログ/デジタル変換器の直線性誤差に基づく歪みを推定(検出)して、デジタルオーディオ信号に含まれる歪みを低減するようデジタルオーディオ信号を補正することの可能な歪み検出装置および歪み補正装置および歪み補正方法を提供することを目的としている。
【0008】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載の発明は、アナログ/デジタル変換器によりコードに変換されたデジタルオーディオ信号を記憶する記憶手段と、該記憶手段から前記デジタルオーディオ信号を読み出し複数サンプルについて各々の量子化レベルを表わすコード毎の出現度数をレベル分布として検出する出現度数検出手段と、該出現度数検出手段で検出されたレベル分布に対しローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを正規化されたレベル分布として検出する正規化手段と、正規化手段で正規化されたレベル分布からデジタルオーディオ信号のレベルに対する変換テーブルを算出する変換テーブル算出手段と、前記デジタルオーディオ信号のレベルを前記変換テーブルに従ったレベルデータに置換して出力するデータ置換手段とを備えており、前記変換テーブルは、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号に対し、一定サンプル数のレベル分布をとり、該レベル分布にローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを積算することによって作成されるようになっていることを特徴としている。
【0017】
また、請求項2記載の発明は、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正し、前記変換テーブルは、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号に対し、一定サンプル数のレベル分布をとり、該レベル分布にローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを積算することによって作成されることを特徴としている。
【0025】
請求項1,請求項2記載の発明によれば、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正するので、しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減することができる。
【0027】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。図1は、本発明に係る歪み補正装置の構成例を示す図である。
【0028】
図1を参照すると、この歪み補正装置10は、アナログオーディオ信号をA/Dコンバータ11でA/D変換し、デジタルオーディオテープ(DAT:DigitalAudio Tape)やコンパクトディスク(CD:Compact Disk)等の記録媒体12に記録されたデジタルオーディオ信号を、その記録媒体12から読み出して、デジタルオーディオ信号からA/D変換時の変換誤差に基づく歪みを低減することを意図しており、このため、この歪み補正装置10は、A/Dコンバータ11によりコードに変換されたデジタルオーディオ信号の出力を切り替える切替手段1と、該切替手段1から入力された前記デジタルオーディオ信号を記憶する記憶手段2と、該記憶手段2から前記デジタルオーディオ信号を読み出し複数サンプルについて各々の量子化レベルを表わすコード毎の出現度数を検出する出現度数検出手段3と、該出現度数検出手段3で検出された前記コード毎の出現度数から前記A/Dコンバータ11の直線性誤差に基づく歪みを正規化された出現度数として検出する正規化手段4と、該正規化手段4で検出した正規化された出現度数のコードから誤差ビットを検出する誤差ビット検出手段5と、前記切替手段1から入力された前記デジタルオーディオ信号に対して前記誤差ビット検出手段5で検出した前記誤差ビットを補正し出力するデジタル信号処理手段6とを有している。
【0029】
より具体的に、切替手段1は、例えばスイッチにより構成され、記録媒体12からデジタルオーディオ信号をデジタルオーディオインターフェースを介して読み出し、読み出したデジタルオーディオ信号をハードディスク等の記憶手段2または後述するデジタル信号処理手段6に与えるように、デジタルオーディオ信号の出力を切り替えるようになっている。例えば、切替手段1は、後述の例のように、当初、記憶媒体12から読み出したデジタルオーディオ信号を記憶手段2に与え、記憶手段2,出現度数検出手段3,正規化手段4,誤差ビット検出手段5によって、デジタルオーディオ信号に含まれている誤差ビットを検出させた後、記憶媒体12から再びデジタルオーディオ信号を読み出し、これをデジタル信号処理手段6に与え、デジタル信号処理手段6において、デジタルオーディオ信号に含まれている歪みを誤差ビット検出手段5で検出された誤差ビットに基づいて補正させるようになっている。
【0030】
このような切替手段1の機能に着目するとき、記憶手段2、出現度数検出手段3、正規化手段4、誤差ビット検出手段5は、変換誤差検出手段として機能し、また、デジタル信号処理手段6は、変換誤差補正手段として機能するようになっている。
【0031】
ここで、先ず、変換誤差検出手段(記憶手段2、出現度数検出手段3、正規化手段4、誤差ビット検出手段5)としての機能について説明する。
【0032】
記憶手段2には、ハードディスク等のデータの記憶が可能なものが用いられ、切替手段1から与えられるデジタルオーディオ信号が蓄積される。
【0033】
また、出現度数検出手段3は、記憶手段2に記憶されたデジタルオーディオ信号を読み出し、読み出された複数サンプル分のデジタルオーディオ信号について、それぞれの量子化レベルを表わすコード毎に、コードの出現度数を検出するようになっている。すなわち、複数サンプル分のデジタルオーディオ信号について、コード毎の出現度数を表わすヒストグラム(レベル分布)を作成するようになっている。
【0034】
ここで、デジタルオーディオ信号の量子化レベルを表わすコードについて説明する。デジタルオーディオ信号の量子化レベルは、1と0の2進法を用い、複数のビットで表現している。ビット数を多くすることにより、より細かな振幅レベルを表現することができる。例えば、2進法の13ビットで表現された振幅レベルを、10進法になおすと、−4096〜4095の範囲で表わすことができる。この−4096〜4096をコードとして表わしている。0のコードとは、アナログ信号における振幅レベルが0であることを表わし、コードの絶対値が大きくなるに従って、アナログ信号における振幅レベルが大きいことを表わしている。
【0035】
また、デジタルオーディオ信号のヒストグラム(レベル分布)について説明する。図2は、デジタルオーディオ信号のヒストグラム(レベル分布)の一例を示す図である。図2に示すヒストグラムにおける出現度数は、コード0の場合を中心として、正方向、負方向にほぼ対称になっており、コードが0のとき出現度数が高く、コードが正方向に大きくなるに従い、また、コードが負方向に小さくなるに従い、出現度数が徐々に低くなる。このようなヒストグラムの特徴は、入力されたオーディオ信号それぞれに固有のものである。このヒストグラムにおいて、隣接するコードに対して、急激に出現度数が高くなるコード、または、急激に出現度数が低くなるコードは、変換誤差に基づく歪みの生じたコードである。
【0036】
出現度数検出手段3におけるヒストグラムの算出方法について説明する。出現度数検出手段3は、量子化レベルを表わすコード自体をアドレスとして、そのアドレスに対応した値を記憶しているヒストグラムメモリを有している。出現度数検出手段3は、記憶手段2からデジタルオーディオ信号を読み出し、そのコードに基づいてヒストグラムメモリにアクセスし、前記ヒストグラムメモリに記憶してあるアドレスに対応する値を読み出す。この値に1を加算し、1を加算した値を同じアドレスのところに書き込む。この処理を複数サンプル分について繰り返し行なう。このことにより、コード毎の累積回数、すなわち、出現度数が求められ、ヒストグラムメモリに蓄積される。
【0037】
前記処理を行なうサンプルの数は、変換誤差に基づく歪みを低減する対象のデジタルオーディオ信号の全てではなく、同じA/Dコンバータによりデジタルオーディオ信号に変換されたものであるならば、そのデジタルオーディオ信号の一部、例えば最初の数秒間のサンプルで良い。しかし、サンプル数が多いほど、ヒストグラムの精度が向上する。例えば、比較的レベルの高い部分が連続した2,500,000サンプルを用いると、良好なヒストグラム分布を得ることができる。このヒストグラム化は、デジタルカウンタ回路、または、ソフトウェアで実現することが可能である。
【0038】
次に、正規化手段4について説明する。上述のように入力されたデジタルオーディオ信号の出現度数は、そのデジタルオーディオ信号固有の出現度数を表わすため、正規化手段4は、より具体的には、例えば、変換誤差に基づく歪みの生じたコードを含む近接した複数のコードにおける平均出現度数で、変換誤差に基づく歪みの生じたコードの出現度数を除算することにより、デジタルオーディオ信号の変換誤差に基づく歪みを出現度数の特徴として抽出することができる。
【0039】
具体的には、量子化レベルが隣接する複数のコード、例えば4つのコードを1単位として、全てのコードについて、複数ブロックに分割する。このブロックを構成する各コード(4つのコード)の出現度数から、1ブロック毎の平均出現度数を求める。ブロックを構成する各コードの出現度数を、この1ブロック毎の平均出現度数で除算した値を、各コードの正規化された出現度数Aとすると、各コードの正規化された出現度数Aは、次式によって表わされる。
【0040】
【数1】
正規化された出現度数A=(4つずつ分割したそれぞれのコードの出現度数)/(4つのコードの出現度数の平均)
【0041】
この正規化された出現度数Aからなるヒストグラムは、デジタルオーディオ信号の変換誤差に基づく歪みを出現度数の特徴として抽出したものとなる。すなわち、この出現度数Aは、デジタルオーディオ信号の固有の出現度数の特徴が、ほぼ除去されたものとなり、変換誤差に基づく歪みがない場合、正規化された出現度数Aは、全てのコードにおいて1となる。なお、上述の例では、正規化手段4は、予め分割したブロック内の各コードの出現度数の平均を平均出現度数として求めたが、変換誤差に基づく歪みの生じたコードの近傍にある所定数のコードの各出現度数の移動平均を平均出現度数として求め用いてもよい。
【0042】
この正規化手段4における処理例として(特別な場合として)、記録媒体12から読み出されたデジタルオーディオ信号中に、正弦波あるいは正弦波に近いデジタル化された音楽信号が含まれている場合について説明する。このような音楽信号が含まれている場合、従来の正弦波ヒストグラム測定装置における微分直線性誤差の算出方法と同様の方法により、正規化された出現度数を得ることができる。すなわち、理論的には、歪のない正弦波ヒストグラムは、振幅レベル0の場合に出現度数が小さく、振幅レベルが正方向に大きくなるに従って、または、負の方向に小さくなるに従って、振幅レベル0を中心として左右対称に急峻に出現度数が高くなり、正方向及び負方向のピークレベルにおいて出現度数が最大となる。理論的に得られたヒストグラムは、入力されたデジタルオーディオ信号固有の出現度数を表わしている。従って、この場合、歪のない正弦波あるいは正弦波に近いデジタルオーディオ信号を入力し、各コード毎の出現度数を、正弦波ヒストグラムの理論値から得た同一コードの出現度数で除算することにより、正規化された出現度数を得ることができる。
【0043】
次に、誤差ビット検出手段5について説明する。誤差ビット検出手段5は、正規化手段4からの正規化されたヒストグラムから誤差ビットを検出するようになっている。ここで、正規化されたヒストグラムには、出現度数が極端に多いコードと、出現度数が極端に少ないコードとが含まれ、前記出現度数が多いコードと出現度数が少ないコードとの量子化レベルの差は、変換度差に基づく歪みの生じたビットの重み、言い換えれば、ビットの桁位置を表わしている。
【0044】
変換誤差の原因は、オーディオ信号がA/Dコンバータ11によってデジタル化されたとき、A/Dコンバータ11の変換方式により異なる。ここでは、重み抵抗型A/Dコンバータ、または、R−2Rラダーを有するバイナリウェイト電流源型D/Aコンバータ等を内部D/Aコンバータとして用いる逐次比較型A/Dコンバータを前提とする。すなわち、しきい値とする振幅レベルの設定に重みを利用するものを前提としている。換言すれば、ある重みの影響が、複数の量子化レベルに波及することに着目し、複数の量子化レベル、すなわちコードの出現度数から変換誤差に基づく歪みの原因となった重みを検出するようにしている。
【0045】
例えば、出現度数が極端に多いコードの間の間隔が2、すなわち量子化レベルの間隔が最下位ビットの量子化レベルの21倍である場合、最下位ビットに誤差があることがわかる。また、出現度数が極端に多いコードの間の間隔が23、すなわち量子化レベルの間隔が最下位ビットの量子化レベルの23倍である場合、最下位ビットから3ビット目の桁位置のビットに誤差があることがわかる。つまり、出現度数が極端に多い複数のコードの量子化レベルの間隔が2nである場合、最下位ビットからnビット目の桁位置のビットに誤差があることがわかる。
【0046】
コードの出現度数が極端に多いと判定するには、しきい値が必要がある。例えば、正規化された出現度数Aが1.2以上のものを出現度数が極端に多いものと判定する。また、出現度数が極端に少ないコードの間の間隔からも、誤差のあるビットの桁位置を検出することができる。また、これらの両者を併用して、誤差のあるビットを検出してもよい。
【0047】
誤差ビット検出手段5における誤差ビットの検出処理について説明する。図3は、誤差ビット検出手段5の誤差ビット検出処理の一例を示すフローチャートである。
【0048】
図3の処理例では、先ず、正規化手段4からの正規化されたヒストグラムを入力する(ステップS11)。次いで、変数nの値の初期値を、デジタルオーディオ信号の量子化ビット数から1を減算した値とする(ステップS12)。次いで、各コードの正規化された出現度数を、各コードの量子化レベルの2n毎に抽出する(ステップS13)。そして、あるnの値について抽出された全ての出現度数が1.2以上であるか否かを判定する(ステップS14)。出現度数が1.2以上である場合、最下位ビットからnビット目に誤差があると判断し、このnの値を誤差ビットメモリに記憶する(ステップS15)。また、出現度数が1.2未満である場合、このnの値から1を減算してnの値を更新する(ステップS16)。nの値が0かどうかを判断し、nの値が0でなければ、再度、各コードの正規化された出現度数を、各コードの量子化レベルの2n毎に抽出する処理に戻る(ステップS17)。nの値が0の場合、誤差ビットメモリに記憶された誤差ビットをデジタル信号処理手段6に出力する(ステップS18)。以上の処理により、誤差ビットを検出することができる。
【0049】
図4は、最近の精度の良いA/D変換器を使用した音楽信号のレベル分布の一例を示す図であり、図5は、初期のPCM音楽信号のレベル分布の一例を示す図である。両方とも、同じ音楽信号を用い、2,500,000サンプル(サンプリング周波数44.1KHzで、約1分)のレベル分布である。縦軸は出現度数、横軸は13ビットでのLSB単位である。音楽信号の(長時間の)レベル分布は、0(LSB)を中心とした正規分布に近い形をしているが、図4はその傾向が表われている。図5は、ほぼ正規分布に近い形ではあるが、図4と比べて出現度数が極端に多いレベル、また、極端に少ないレベルが存在する。これは、逐次比較型A/D変換器の誤差によるものである。理想的なA/D変換器では、1つの出力レベルに対して、アナログ入力電圧は±0.5(LSB)の幅をもっている。しかし、実際の逐次比較型A/D変換器は、内部D/A変換器等に誤差があるため、この幅が一定ではない。そのため、A/D変換器の入力アナログ電圧の幅が、±0.5(LSB)よりも大きなレベルでは、本来、隣接するレベルに変換されるべきデータを含んでいるため、そのレベルの出現頻度が大となり、逆に、A/D変換器の入力アナログ電圧の幅が、±0.5(LSB)よりも小さなレベルでは、そのレベルの出現頻度が小になる。従って、音楽信号のレベル分布を用いれば、前述の処理によって、使用したA/Dコンバータの誤差を検出することができる。
【0050】
このように、変換誤差検出手段(記憶手段2、出現度数検出手段3、正規化手段4、誤差ビット検出手段5)では、直線性誤差の有したアナログ/デジタル変換器でアナログ/デジタル変換されたデジタルオーディオ信号から(すでに収録された音楽信号から)、アナログ/デジタル変換時のアナログ/デジタル変換器の直線性誤差に基づく歪みを推定(検出)することができる。
【0051】
次に、変換誤差補正手段としてのデジタル信号処理手段6について説明する。デジタル信号処理手段6には、上記のように、デジタルオーディオ信号に含まれているA/D変換時の変換誤差(誤差ビット)が検出された後、例えば切替手段1から同じデジタルオーディオ信号が再び与えられ、デジタル信号処理手段6は、誤差ビット検出手段5で検出されたA/D変換時の変換誤差(誤差ビット)に基づいて、デジタルオーディオ信号の変換誤差に基づく歪みの補正を行ない、歪みを低減するようになっている。すなわち、変換誤差に基づく歪みにより出現度数が大きくなった量子化レベルを有する複数サンプルのうち、変換誤差に基づく歪みの生じたサンプルの量子化レベルを本来の正しい量子化レベルであると推測される量子化レベルに補正して、変換誤差に基づく歪みの低減を行なうようになっている。
【0052】
図6は、デジタル信号処理手段6における補正処理の一例を示すフローチャートである。
【0053】
図6の処理例では、誤差低減の対象となるデジタルオーディオ信号の各サンプルのコードが、切替手段1から与えられると(ステップS21)、デジタル信号処理手段6は、1サンプル毎に誤差ビットの桁位置における値が1であるか否かを判定する(ステップS22)。誤差ビットの桁位置における値が1のコード(誤差ビットにより量子化レベルが影響を受けたコード)である場合、当該サンプルの正しい量子化レベル、すなわち、コードを推定する(ステップS23)。また、誤差ビットの桁位置における値が1でないコードである場合、入力されたサンプルのコードまたは前記処理において推定されたコードを、ファイルに書き込み出力する(ステップS24)。このとき、時間軸上の位置、すなわち当該サンプルが最初から何サンプル目のものかを示すデータも、コードと共にファイルに出力される。以上の処理により変換誤差に基づき歪みの生じたコードを、本来の正しいと推定されるコードに補正して、変換誤差に基づく歪みを低減することができる。
【0054】
ここで、変換誤差に基づく歪みの影響を受けたコードの補正について説明する。LSBを最下位ビットの量子化レベルとし、a,bを正の整数とし、Nを0または正の整数とする。
【0055】
例えば、逐次比較型A/Dコンバータ内部の抵抗値が、下位からaビット目に+b・LSBの誤差を持つ場合、量子化レベルが2a・N+2a−1−bとなるコードの出現度数がb+1倍に増加し、量子化レベルが2a・N+2a−1から2a・N+2a−bまでの間の各コードの出現度数が、いずれも0となる。
【0056】
また、下位からaビット目に−b・LSBの誤差を持つ場合、量子化レベルが2a・N+2a−1−1の出現度数がb+1倍に増加し、量子化レベルが2a・N+2a−1−1から2a・N+2a−1+b−1までの間の各コードの出現度数が、いずれも0となる。
【0057】
従って、このような誤差がキャンセルされるように補正を行なうと、変換誤差に基づく歪みが低減される。しかし、出現度数が少ないコードでなければならないサンプルデータは、出現度数の多いコードに誤変換される。つまり、出現度数が多い量子化レベルを有する複数のサンプルには、本来、他の量子化レベルになるべきサンプルも含まれている。
【0058】
前記誤変換を補正するために、まず、誤差ビット検出手段5で検出された1つの誤差ビットの影響を受けた出現度数が極端に多くなる複数のコードが得られる。この複数のコードが検出された出現度数の平均をXとする。前記誤差ビットの影響を受けて出現度数が極端に多くなるコードを有するサンプルは、そのコードを前記Xの値に応じて、前記1つの誤差ビットにより出現度数が極端に小さくなる1または複数コードに、例えばX個に1個の割合で変換する。複数のビットに誤差がある場合は、それぞれのビットに対して上記処理を行なう。
【0059】
誤差ビット検出手段5において、検出された誤差ビットの影響を受けた量子化レベルは、時間軸上で隣接するサンプルの量子化レベル差により、正負のどちらに訂正すればよいか判断されている。
【0060】
変換誤差に基づく歪みのないコードを推定する処理について説明する。図7は、アナログ/デジタル変換器(A/Dコンバータ)11のA/D変換特性図である。誤差ビットの桁位置における値が1であるコードについて、このコードが時間軸上で何サンプル連続しているかを内部ファイルを読み出し調べる。例えば、下位からa=3ビット目にb=+1・LSBの誤差を持っていると判断した場合、A/Dコンバータの入出力特性は、図7に示すようになる。つまり、8n+3において、アナログ入力の+1・LSB相当の増加に対してデジタル出力が変化してない。従って、8n+3においては、出現度数が極端に少なくなる。そして、8n+6において、アナログ入力の+1・LSB相当の増加に対して、デジタル出力が8n+8となり、出現度数が多くなる。
【0061】
図8は、本発明の歪み補正装置において時間軸上のデジタル出力を説明するための図である。図8において、デジタルオーディオ信号の変換誤差に基づく歪みを低減させるために、8n+4〜8n+6に該当するデジタル出力は、全て+1・LSBだけ大きい値に変換されている。8n+3に該当するデジタル出力のサンプルをK1、K2、K3…Ktとすると、8n+3に該当するサンプルが2サンプル以上tサンプル続いた場合、K1とその1サンプル前のサンプルK0とのデジタル出力の差をとり、この差をD1とする。また、Ktとその1サンプル後のサンプルKt+1とのデジタル出力の差をとり、この差をD2とする。差D1、D2が共に正の場合には、前記Xの値を用い、Kt/XからKtまでの値を+1とし、差D1、D2が共に負の場合には、前記Xの値を用い、K1からKt/Xまでの値を+1とする。ここで、t/Xの値が整数以外の場合には、t/Xの値が整数になるように、値の切り捨てまたは切り上げをする。
【0062】
このようにすることにより、X回に1回の割合で8n+3に該当するデジタル出力のサンプルは、+1・LSBだけ大きな値に変換される。どのサンプルを変換するかは、時間軸上で隣接するサンプルの量子化レベルの差D1、D2により決定される。前述した説明では、b=+1・LSBの誤差を持っていると判断した場合について説明したが、bが他の値であっても、同様に変換誤差に基づく歪みのないコードを推定することができる。
【0063】
以上の構成からなるA/Dコンバータの直線性誤差低減処理について図1を用いて説明する。記録媒体12からデジタルオーディオ信号が読み出され切替手段1に入力すると、切替手段1は、入力されたデジタルオーディオ信号を記憶手段2に出力されるように切り替える。
【0064】
記憶手段2は、切替手段1からのデジタルオーディオ信号を蓄積する。
【0065】
出現度数検出手段3は、記憶手段2に一時記憶されているデジタルオーディオ信号を複数サンプル分読み出し、それぞれの量子化レベルを表わすコード毎に出現度数を検出し、ヒストグラムを作成し出力する。
【0066】
正規化手段4は、出現度数検出手段3から出力されたヒストグラムから、コードの出現度数に基づいて変換誤差に基づく歪みを抽出し、正規化されたヒストグラムとして出力する。デジタルオーディオ信号において、本来変換誤差に基づく歪みが生じていない場合は、各コードの出現度数の値は同じになるが、変換誤差に基づく歪みが生じた場合、コード毎に出現度数に差が生じる。
【0067】
誤差ビット検出手段5は、正規化手段4からの正規化されたヒストグラムに基づいて、各コードにおける出現度数の違いから、デジタルオーディオ信号の誤差ビットを検出し、デジタル信号処理手段6に出力する。
【0068】
次に、切替手段1は、記録媒体12から読み出されたデジタルオーディオ信号をデジタルインタフェースを介してデジタル信号処理手段6に出力するように切り替える。
【0069】
デジタル信号処理手段6には、記録媒体から読み出されたデジタルオーディオ信号と、そのデジタルオーディオ信号の直線性誤差の生じた誤差ビットを検出した検出結果とが入力される。
【0070】
デジタル信号処理手段6は、誤差ビット検出手段5からの検出結果に基づいて、入力されるデジタルオーディオ信号の変換誤差により誤ったコードに変換されたデジタルオーディオ信号を、本来の変換誤差に基づく歪みのないレベルに近い値に補正して出力する。出力されたデジタルオーディオ信号は、変換誤差に基づく歪みが低減されたデジタルオーディオ信号となる。
【0071】
以上のように、デジタルオーディオ信号の変換誤差により誤った値に変換されたコードを容易に補正することができ、変換誤差に基づく歪みを低減することができる。
【0072】
なお、上述の処理において、変換誤差に基づく歪みの補正方法として、誤差ビット検出手段5により判定された誤差ビットが、その量子化レベルに影響を与えているコードを有する連続したサンプルについて、あるサンプルの量子化レベルを、時間軸上で隣接したサンプルの量子化レベルから推定するときに用いる各種の補間技術を用いることができる。
【0073】
また、上述の歪み補正装置において、変換誤差検出手段(記憶手段2,出現度数検出手段3,正規化手段4,誤差ビット検出手段5)だけを単体の装置(歪み検出装置)として構成することもできる。すなわち、本発明は、デジタルオーディオ信号に含まれているA/D変換時の変換誤差(歪み)を検出するだけの歪み検出装置として構成することもできる。
【0074】
また、上述の構成例では、正規化手段4および誤差ビット検出手段5は、録音された音楽信号(デジタルオーディオ信号)の量子化レベルを表わすコードの出現度数からヒストグラムを求め、そのヒストグラムにおけるしきい値以上の出現度数の凹凸を、A/D変換誤差の生じた誤差ビットを判断し、デジタル信号処理手段6は、誤差ビットのコードを前後のコードに基づいて補正するようになっており(すなわち、ヒストグラムにおけるしきい値以上の出現度数の凹凸を誤差ビットと判断し、前後のコードに基づいて補正しており)、このため、しきい値以下の出現度数の凹凸は、誤差ビットと判断せず補正されないため、A/D変換誤差を著しく低減することができないこともある。
【0075】
しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減するため、本願の発明者は、さらに、次のような構成例のものを案出した。
【0076】
図9は本発明に係る歪み補正装置の他の構成例を示す図である。なお、図9において、図1と同様の箇所には同じ符号を用いている。図9を参照すると、この歪み補正装置20は、A/Dコンバータ11によりコードに変換されたデジタルオーディオ信号(音楽信号)の出力を切り替える切替手段1と、該切替手段1から入力された前記デジタルオーディオ信号を記憶する記憶手段2と、該記憶手段2から前記デジタルオーディオ信号を読み出し複数サンプルについて各々の量子化レベルを表わすコード毎の出現度数をヒストグラム(レベル分布)として検出する出現度数検出手段3と、該出現度数検出手段3で検出されたレベル分布に対しローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを正規化されたレベル分布として検出する正規化手段34と、正規化手段34で正規化されたレベル分布からデジタルオーディオ信号のレベルに対する変換テーブルT(i)を算出し所定のメモリに記憶する変換テーブル算出手段35と、記録媒体12から読み出されたデジタルオーディオ信号のレベルを前記変換テーブルT(i)に従ったレベルデータに置換して出力するデータ置換手段36とを備えている。
【0077】
すなわち、図9の構成例では、正規化手段34は、ローパスフィルタリング処理機能を有し、出現度数検出手段3で作成されたヒストグラム(レベル分布)に対してローパスフィルタリング処理を施して、このヒストグラム(レベル分布)を理想的なヒストグラム(レベル分布),すなわちA/Dコンバータ11に誤差がない場合の理想的なヒストグラム(レベル分布)に近似し、ローパスフィルタリング処理がなされる前のヒストグラム(レベル分布)を、ローパスフィルタリング処理がなされた後のヒストグラム(レベル分布)で除算することにより、A/Dコンバータ11の変換誤差を、誤差がない場合の出現頻度を1.0に正規化した分布として、検出するようになっている。
【0078】
より具体的に、デジタルオーディオ信号(音楽信号)のレベルiの出現頻度をg(i)、量子化ビット数をn、ローパスフィルタ(移動平均フィルタ)の平均をとるサンプル数をm(m:奇数)とすると、正規化手段34は、正規化した値N(i)を、次式のようにして求めるようになっている。
【0079】
【数2】
【0080】
ここで、c(j)は、次式を満たす窓関数である。
【0081】
【数3】
【0082】
換言すれば、上記g(i)は、窓関数c(j)の移動平均フィルタを示している。また、移動平均法では、平滑化波形の両端部分の計算が不可能なため、また、平滑化波形の両端部分は、音楽レベルが大きい部分であり、実際には、そのような大きなレベルは存在しないため、無視できるものであることから、上式(数2)において、平滑化波形の両端部分のサンプルに相当する(m−1)/2を、コードiの範囲から除外している。
【0083】
このように、図9の歪み補正装置20の正規化手段34は、デジタルオーディオ信号(音楽信号)のデジタルコードiの出現頻度g(i)に対して、移動平均フィルタを用い、近傍の値との平均値を計算することにより、デジタルオーディオ信号(音楽信号)のデジタルコードiの出現頻度g(i)を理想的な出現頻度に近似し、正規化を行なうようになっており、これにより、A/D変換後のデジタルオーディオ信号(音楽信号)のレベル分布に楽音の種類による固有の偏りがある場合にも、理想的なレベル分布を算出することができる。すなわち、正規化を行なうことができる。
【0084】
また、変換テーブル算出手段35は、具体的には、正規化手段34で上記のように求めた正規化された値N(i)を、次式(数4)のように積算し、変換テーブルT(i)を求め、これを例えばテーブル変換用メモリに格納するようになっている。
【0085】
【数4】
【0086】
本来、理想的なA/Dコンバータの変換特性(入出力特性)は、図10に示すようになる。しかし、A/Dコンバータに変換誤差がある場合には、A/Dコンバータの変換特性(入出力特性)は、図11に示すようになる。
【0087】
図11において、レベルbの部分は出現頻度が多く、レベルcの部分は出現頻度が少なくなる。正規化したレベル分布N(i)は、各レベル(a〜f)の入力レベル幅(A〜F)を示している。そうすると、例えば、レベルbは、入力レベル幅Bの中央値であり、N(b)=(A+B)/2が代表値となる。同様に、レベルcは、N(c)=(A+B)/2+(B+C)/2となり、また、レベルdは、N(d)=(A+B)/2+(B+C)/2+(C+D)/2となる。数4は、このようなN(i)の積算処理を表わしている。なお、変換テーブルT(i)=N(i)とした場合は、N(i)の値を積算していないため、正しいT(i)の値が求まらない。つまり、N(i)は、図12に示すように、階段の横幅に相当し、求めるT(i)は、図13に示す階段の中央値となる。しかし、T(i)=N(i)とした場合、N(i)を積算しないために、図14に示すようになる。数4の場合、N(i)を積算しているため、正しいT(i)が求まる。
【0088】
そして、データ置換手段36は、記録媒体12から読み出されたデジタルオーディオ信号のレベルiに対応した値T(i)を、上記のようにして求まった変換テーブルから割り出し、この値T(i)を、歪み補正されたデジタルオーディオ信号として出力することができる。具体的に、変換テーブル算出手段35によって算出される変換テーブルT(i)は、量子化レベルを表わすコードi自体をアドレスとして、そのアドレスに対応した値を記憶する形に、テーブル変換用メモリに格納されるようになっており、この場合、データ置換手段36は、記録媒体12から読み出されたデジタルオーディオ信号(量子化レベルを表わすコード)iをアドレスとし、そのアドレス(レベルi)に対応した値T(i)をテーブル変換用メモリから読み出して、これを歪み補正されたデジタルオーディオ信号として出力することができる。
【0089】
このように、図9の構成例では、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正するので、しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減することができる。
【0090】
また、図9の構成例では、例えば、変換テーブルT(i)のビット長を、入力データのビット長よりも大きくすることによって、ビット長の拡張(例えば、13ビットから16ビットへの拡張)を行なうことも可能である。
【0091】
具体的に、13ビット信号の取り得る値を−213−1〜213−1−1(−4096〜+4095)とすると、テーブル変換後の信号は、演算により小数点以下の値が発生する。例えば、レベル分布g(i)が、
g(0)=100
g(1)=150
g(2)=50
g(3)=100
の場合、ローパスフィルタを通した後のレベル分布h(i)を
h(0)=h(1)=h(2)=h(3)=100
とする。このレベル分布h(i)は、ローパスフィルタの公式から次式のように求められる。
【0092】
【数5】
【0093】
そして、N(i)=g(i)/h(i)より、
N(0)=100/100=1.0
N(1)=150/100=1.5
N(2)=50/100=0.5
N(3)=100/100=1.0
【0094】
そして、数4より、
N(0)=0.0
N(1)=0.0+(1.0+1.5)/2=1.25
N(2)=1.25+(1.5+0.5)/2=2.25
N(3)=2.25+(0.5+1.0)/2=3.0
となり、テーブル変換により、小数点以下の値が発生する。この小数点以下の値が下位ビットであり、どの値まで出力するかにより、任意のビット長の信号に変換することができる。
【0095】
図15には、テーブル変換前とテーブル変換後の入出力特性の一部が示されている。図15において、横軸は入力(アナログ)、縦軸は出力(A/D変換器の入出力特性は13ビット、テーブル変換後の入出力特性は16ビットでのLSB単位)である。100Hz,−40dBの正弦波を誤差の大きな逐次比較型A/D変換器(ビット長13ビット)に入力した時の出力、および、その出力信号に対して、同じA/Dコンバータで収録したデジタルオーディオ信号(音楽信号)から算出した変換テーブルを用いて、上記のテーブル変換処理を行なったものに対して、81920ポイント、Hanning窓のFFT(高速フーリエ変換)処理を行ない、プロットしたものを図16に示す。なお、図17には、本発明による上記処理を行なわない場合が示されている。図16を図17と比較すると、テーブル変換処理を行なったものの方(図16)がテーブル変換処理を行なわない場合(図17)に比べて、歪みが減少していることがわかる。
【0096】
次に、図9の歪み補正装置の処理動作を図18,図19のフローチャートを用いて説明する。なお、図18は変換テーブル算出処理(変換誤差検出処理)の動作例を示すフローチャートであり、図19は、デジタルオーディオデータのテーブル変換処理(変換誤差補正処理)の動作例を示すフローチャートである。
【0097】
本装置を使用する場合、入力、出力のデジタルオーディオ信号(音楽信号)のビット長は、任意でよいが、この例では、入力、出力の音楽信号のビット長を、それぞれ13ビット,16ビットとする。先ず、切替手段(例えばスイッチ)1を記憶手段2側に切り換え、記憶手段2,出現度数検出手段3,正規化手段34,変換テーブル算出手段35により変換テーブルの算出を行なわせる。すなわち、ヒストグラム(レベル分布)を作成するためのデジタルオーディオ信号のサンプル数(測定サンプル数)aを所定数に設定する(ステップS31)。次いで、記録媒体12からデジタルオーディオ信号(13ビット)をサンプル数aでサンプリングして読み出し、これを記憶手段2に入力させる(ステップS32)。このようにして入力され記憶手段2に記憶されたビット長13ビットの音楽信号は、出現度数検出手段3で、ヒストグラム(レベル分布)の測定が行なわれる。この場合、出現度数検出手段3は、前述したと同様に、ヒストグラムメモリを有し、入力されたデータに該当するアドレス(番地)のヒストグラムメモリの値を+1し、これを所定回数(サンプル数a)繰り返して、ヒストグラム(レベル分布)を作成する(ステップS33乃至S35)。なお、デジタルオーディオ信号のレベル分布をとるサンプル数aは、ある程度多くなければ統計的なデータとして精度が低くなり、また、必要以上に多くても処理に時間がかかるので、これはできる限り最適値に近い値に設定される必要がある。すなわち、レベル分布を測定するサンプル数aは多い方がよいが、必要以上に多くても時間を要するので、2,500,000サンプル程度でよい。
【0098】
次いで、正規化手段34は、出現度数検出手段3で作成されたヒストグラム(レベル分布)に対して、数2,数3の演算を行ない、正規化した値N(i)を出力する(ステップS36)。なお、この正規化手段34におけるローパスフィルタリング処理において、移動平均フィルタのサンプル数mは、できる限り、最適値に設定されているのが良い。図20(a)はサンプル数mが“1”のとき(フィルタなしのとき)、図20(b)はサンプル数mが小さいとき、図20(c)はサンプル数mが最適値のとき、図20(d)はサンプル数mが大きいときのレベル分布をそれぞれ示す図である。移動平均フィルタのサンプル数mが最適値よりも小さい場合には、図20(b)のようにレベル分布の凹凸が残り、また、移動平均フィルタのサンプル数mが最適値よりも大きい場合には、図20(d)のように0(LSB)付近の値が小さくなり、その結果、どちらもmが最適値のときのように(図20(c)の場合のように)、歪みが減少しない。
【0099】
次いで、変換テーブル算出手段35は、正規化手段34からの出力,すなわち正規化データN(i)に対して、数4の演算を行ない(正規化データN(i)の積算処理を行ない)、変換テーブルT(i)を算出し、これをビット長16ビットでテーブル変換用メモリに出力する(ステップS37)。
【0100】
図21(a)乃至(d)には、上記処理の概要が示されている。ここで、図21(a)は出現度数検出手段3で測定されたレベル分布を示す図、図21(b)は図21(a)のレベル分布に対しローパスフィルタリング処理を施して平滑化したレベル分布を示す図、図21(c)は正規化手段34によって正規化されたデータ(図21(a)のレベル分布を図21(b)の平滑化されたレベル分布で除算したデータ)N(i)を示す図、図21(d)は図21(c)の正規化されたデータすなわち正規化度数N(i)を数4によって積算して作成された変換テーブルを示す図である。
【0101】
このようにして変換テーブルT(i)が算出され、テーブル変換用メモリに格納された後、切替手段2をデータ置換手段36側に切り換え、記録媒体12から読み出されたデジタルオーディオ信号に対し、変換テーブルT(i)に従ったデータ変換を行なう。すなわち、データ置換手段36は、記録媒体12から読み出されたデジタルオーディオ信号(レベルi)に該当するアドレス(番地)のテーブル変換用メモリの値T(i)を出力する動作を、所定回数繰り返す。
【0102】
より具体的には、図19に示すように、例えば、記録媒体12から読み出した13ビットのデジタルオーディオ信号をデータ置換手段36に順次に入力させ(ステップS41)、データ置換手段36で、入力されたデジタルオーディオ信号のレベルに該当するテーブル変換用メモリの値を出力する処理(ステップS43)を、EOF(データの終了を知らせるデータ)が検出されるまで(ステップS42)、繰り返し行ない、歪みが低減されたビット長16ビットのデジタルオーディオ信号に変換されて出力される。このように、記録媒体12から読み出されたビット長13ビットの音楽信号は、データ置換手段36で、テーブル変換が行なわれ、A/Dコンバータ11の変換誤差に基づく歪みが低減されたビット長16ビットの音楽信号に変換されて出力される。
【0103】
このように、図9の歪み補正装置では、デジタルオーディオ信号(音楽信号)のヒストグラム(レベル分布)から変換テーブルT(i)を作成する際、旧A/Dコンバータの誤差によるレベル分布の凹凸を移動平均フィルタで平滑し、A/Dコンバータに誤差がない場合の理想的なレベル分布に近似しているので、図1の歪み補正装置に対して、さらに、しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減することが可能となる。
【0104】
このように、上述の各構成例では、音楽ソースの録音時に用いたA/Dコンバータが、現存していない、または、変換特性が変化している場合に、旧録音ソースからA/D変換誤差がない元の音楽ソースの状態を推定し、入力されたデータを正しいと推定されるデータに置換して、A/D変換誤差が生じた音楽ソースを補正することができる。
【0105】
なお、図9の構成例では、音楽信号(デジタルオーディオ信号)を用いてA/D変換誤差を推定したが、音楽ソースの録音時に用いたA/D変換器が変換特性の変化なく現存する場合には、前記A/D変換器にリニアカウントアップ信号を入力し、A/D変換器の入力信号と出力信号を比較し、A/D変換誤差を求めることができる。このようなリニアカウントアップ信号を用いた補正は、次のようにして行なうことができる。
【0106】
すなわち、例えば、図22に示すように、旧A/Dコンバータ測定システム(例えば図23のようなシステム)を使用し、リニアカウントアップ信号と正弦波をパーソナルコンピュータに取り込み、リニアカウントアップ信号のレベル分布から変換テーブルを算出し、正弦波に対してテーブル変換、FFT(高速フーリエ変換)を行なって、ひずみの増減を調べる。変換テーブルの算出処理およびテーブル変換処理は、例えばC言語でプログラム作成し、パーソナルコンピュータ内部で処理し、また、FFTには、市販の信号処理ソフトを使用することができる。
【0107】
ここで、変換テーブルの算出処理は、例えば以下のような方法で行なうことができる。すなわち、量子化ビット数n、総サンプル数scの時のデジタルコードi(−2n−1≦i≦2n−1−1)の出現頻度をh(i),正規化した出現頻度をN(i)とする。テーブルの算出を容易にするため、次式のように、h(i)=sc/2nのときに、N(i)=1.0になるように、h(i)の正規化を行なう。
【0108】
【数6】
N(i)=(2n/sc)・h(i)
【0109】
次いで、N(i)を数4のように積算し、テーブルT(i)を求める。
【0110】
実際の処理では、テーブル変換前のデータ(13ビット)と、テーブル変換後のデータ(16ビット)が、図24に示すような関係になっているのでテーブル値T(i)を23=8倍し、16ビットにしている。
【0111】
このように、リニアカウントアップ信号を用いる補正では、例えば、現在16ビットで録音されている音楽信号を、将来24ビットあるいはそれ以上のビット長の音楽信号に変換する場合などに有効である。また、リニアカウントアップ信号は、音楽信号録音時に記録媒体等に記録するようにしてもよく、このような場合、A/D変換器が現存しない場合であっても、より精度よく変換誤差に基づく歪みを低減することができる。
【0112】
図1あるいは図9により説明した上述した処理では、切替手段1は、記録媒体12からのデジタルオーディオ信号を変換誤差を検出する処理のために記憶手段2に出力した後、再度同じデジタルオーディオ信号を記録媒体12から読み出してデジタル信号処理手段6あるいはデータ置換手段36に出力するものとなっているが、本発明は、この処理に限定されるものではない。例えば、変換誤差に基づく歪みを低減する対象のデジタルオーディオ信号のすべてを切替手段1を介して記憶手段2に記憶し、しかる後、切替手段1を介し、記憶手段2からの出力を、直接、デジタル信号処理手段6あるいはデータ置換手段36に与える構成となっていてもよい。
【0113】
また、例えば、デジタル信号処理手段6あるいはデータ置換手段36の前段に遅延手段を設け、切替手段1は、記録媒体12から読み出したデジタルオーディオ信号を記憶手段2と前記遅延手段とに同時に与え、変換誤差を検出している間、補正の対象となるデジタルオーディオ信号を遅延手段により遅延させ、デジタル信号処理手段6あるいはデータ置換手段36でリアルタイムに補正出力処理ができるよう構成することもできる。
【0114】
また、変換誤差に基づく歪みが低減されたデジタルオーディオ信号をリアルタイムで出力する必要がない場合、例えば、歪みが低減されたデジタルオーディオ信号を他の記憶装置に記憶するような場合には、記憶手段2としてデータ転送速度の速いハードディスク等を用い、記憶手段2の出力を切替手段1を介して、直接、デジタル信号処理手段6あるいはデータ置換手段36に入力する構成としてもよい。
【0115】
また、上述の例では、コンパクトディスク等の記録媒体12にデジタルオーディオ信号が記録されており、記録媒体12からデジタルオーディオ信号を読み出すとしたが、補正の対象となるデジタルオーディオ信号は、ROM、RAM等の半導体メモリにより構成された記憶装置に記憶されることも可能であり、この場合には、この記憶装置からデジタルオーディオ信号が読み出される。そして、この場合、記憶装置自体が、記憶手段2の機能をも有するように記憶装置を制御してもよく、このときには、さらに、記憶装置からの出力を、直接、出現度数検出手段3に入力させることができる。
【0116】
換言すれば、本発明において、「記憶手段」の語は、広義に捉えられるべきであり、記憶手段は、図1あるいは図9の記憶手段2に限らず、記憶媒体12やROM,RAMなどをも指すことができる。
【0117】
【発明の効果】
以上に説明したように、請求項1,請求項2記載の発明によれば、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正するので、しきい値以下の出現度数の凹凸をも補正し、A/D変換誤差を著しく低減することができる。
【図面の簡単な説明】
【図1】本発明に係る歪み補正装置の構成例を示す図である。
【図2】デジタルオーディオ信号のヒストグラム(レベル分布)の一例を示す図である。
【図3】誤差ビット検出処理の一例を示すフローチャートである。
【図4】最近の精度の良いA/D変換器を使用した音楽信号のレベル分布の一例を示す図である。
【図5】初期のPCM音楽信号のレベル分布の一例を示す図である。
【図6】デジタル信号処理手段における補正処理の一例を示すフローチャートである。
【図7】アナログ/デジタル変換器のアナログ/デジタル変換特性図である。
【図8】本発明の歪み補正装置において時間軸上のデジタル出力を示す模式図である。
【図9】本発明に係る歪み補正装置の他の構成例を示す図である。
【図10】理想的なA/Dコンバータの変換特性を示す図である。
【図11】A/Dコンバータに変換誤差がある場合のA/Dコンバータの変換特性を示す図である。
【図12】変換テーブルの算出の仕方を説明するための図である。
【図13】変換テーブルの算出の仕方を説明するための図である。
【図14】変換テーブルの算出の仕方を説明するための図である。
【図15】テーブル変換前とテーブル変換後の入出力特性の一部を示す図である。
【図16】デジタルオーディオ信号に対してテーブル変換処理を行なった結果を示す図である。
【図17】デジタルオーディオ信号に対してテーブル変換処理を行なわない場合を示す図である。
【図18】図9の歪み補正装置の処理動作を説明するためのフローチャートである。
【図19】図9の歪み補正装置の処理動作を説明するためのフローチャートである。
【図20】移動平均フィルタのサンプル数mを変化させたときのレベル分布を示す図である。
【図21】図9の歪み補正装置におけるテーブル変換までの処理概要を示す図である。
【図22】リニアカウントアップ信号を用いた補正処理を説明するための図である。
【図23】リニアカウントアップ信号を用いた補正処理を説明するための図である。
【図24】テーブル変換前のデータ(13ビット)と、テーブル変換後のデータ(16ビット)との関係を示す図である。
【符号の説明】
1 切替手段
2 記憶手段
3 出現度数検出手段
4,34 正規化手段
5 誤差ビット検出手段
6 デジタル信号処理手段
10,20 歪み補正装置
11 A/Dコンバータ
12 記録媒体
35 変換テーブル算出手段
36 データ置換手段
Claims (2)
- アナログ/デジタル変換器によりコードに変換されたデジタルオーディオ信号を記憶する記憶手段と、該記憶手段から前記デジタルオーディオ信号を読み出し複数サンプルについて各々の量子化レベルを表わすコード毎の出現度数をレベル分布として検出する出現度数検出手段と、該出現度数検出手段で検出されたレベル分布に対しローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを正規化されたレベル分布として検出する正規化手段と、正規化手段で正規化されたレベル分布からデジタルオーディオ信号のレベルに対する変換テーブルを算出する変換テーブル算出手段と、前記デジタルオーディオ信号のレベルを前記変換テーブルに従ったレベルデータに置換して出力するデータ置換手段とを備えており、前記変換テーブルは、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号に対し、一定サンプル数のレベル分布をとり、該レベル分布にローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを積算することによって作成されるようになっていることを特徴とする歪み補正装置。
- アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号のレベル分布から、使用されたアナログ/デジタル変換器の変換誤差を検出し、その検出した変換誤差から変換テーブルを算出し、前記デジタルオーディオ信号に対してテーブル変換処理を行ない、アナログ/デジタル変換器の変換誤差によって発生した歪みを補正し、前記変換テーブルは、アナログ/デジタル変換器を使用して収録されたデジタルオーディオ信号に対し、一定サンプル数のレベル分布をとり、該レベル分布にローパスフィルタリング処理を施して、アナログ/デジタル変換器に誤差が無い場合の理想的なレベル分布に近似し、ローパスフィルタリング処理がなされる前のレベル分布を前記理想的なレベル分布に近似した結果で除算したものを積算することによって作成されることを特徴とする歪み補正方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08448397A JP3556066B2 (ja) | 1996-07-10 | 1997-03-18 | 歪み検出装置および歪み補正装置および歪み補正方法 |
EP98900195A EP1033817A4 (en) | 1997-03-18 | 1998-01-09 | DISTORTION DETECTOR, DISTORTION CORRECTOR, AND DISTORTION CORRECTION METHOD FOR DIGITAL AUDIO SIGNAL |
PCT/JP1998/000053 WO1998042077A1 (fr) | 1997-03-18 | 1998-01-09 | Detecteur de distorsion, correcteur de distorsion, et procede de correction de distorsion pour signal audio numerique |
US09/381,202 US6587984B1 (en) | 1997-03-18 | 1998-01-09 | Distortion detecting device, distortion correcting device, and distortion correcting method for digital audio signal |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19985396 | 1996-07-10 | ||
JP8-199853 | 1996-07-10 | ||
JP08448397A JP3556066B2 (ja) | 1996-07-10 | 1997-03-18 | 歪み検出装置および歪み補正装置および歪み補正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1079667A JPH1079667A (ja) | 1998-03-24 |
JP3556066B2 true JP3556066B2 (ja) | 2004-08-18 |
Family
ID=26425519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08448397A Expired - Fee Related JP3556066B2 (ja) | 1996-07-10 | 1997-03-18 | 歪み検出装置および歪み補正装置および歪み補正方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3556066B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4238411B2 (ja) * | 1999-04-12 | 2009-03-18 | ソニー株式会社 | 情報処理システム |
WO2003063160A1 (en) * | 2002-01-25 | 2003-07-31 | Koninklijke Philips Electronics N.V. | Method and unit for substracting quantization noise from a pcm signal |
US6885323B2 (en) * | 2003-06-27 | 2005-04-26 | Optichron, Inc. | Analog to digital converter with distortion correction |
WO2005094548A2 (en) * | 2004-03-25 | 2005-10-13 | Optichron, Inc. | Reduced complexity nonlinear filters for analog-to-digital converter linearization |
CN101796732B (zh) | 2007-10-12 | 2013-08-14 | 富士通株式会社 | 接收电路及其ad转换器的转换表生成方法以及信号传输系统 |
JP2010016724A (ja) * | 2008-07-04 | 2010-01-21 | Japan Radio Co Ltd | アナログ/デジタル変換回路 |
US8706445B2 (en) | 2009-07-22 | 2014-04-22 | Advantest Corporation | Measurement apparatus, program, recording medium, and measurement method |
CN114520006A (zh) * | 2022-01-27 | 2022-05-20 | 北京声智科技有限公司 | 信号修正方法、装置、设备、存储介质及计算机程序产品 |
-
1997
- 1997-03-18 JP JP08448397A patent/JP3556066B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1079667A (ja) | 1998-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4626827A (en) | Method and system for data compression by variable frequency sampling | |
GB2117587A (en) | Method and system for decoding a digital signal using a variable frequency low-pass filter | |
JP3556066B2 (ja) | 歪み検出装置および歪み補正装置および歪み補正方法 | |
US4414668A (en) | Apparatus for reproducing information signals recorded on a recording medium | |
US6587984B1 (en) | Distortion detecting device, distortion correcting device, and distortion correcting method for digital audio signal | |
US20020075777A1 (en) | Method and apparatus for processing digital audio signal | |
US7541955B2 (en) | A/D conversion circuit and optical disk drive | |
JP3256399B2 (ja) | ディジタルオーディオ信号の直線性誤差検出装置及び検出方法ならびに直線性誤差低減装置及び低減方法 | |
JP3475064B2 (ja) | 歪み補正装置および歪み補正方法 | |
US5157396A (en) | D/a conversion apparatus | |
JPH10322205A (ja) | 非線形歪み補正装置及び非線形歪み補正方法 | |
JP3520554B2 (ja) | ディジタルデータ再生方法及び装置 | |
JP3052523B2 (ja) | 再生波形の非線形補正a/d変換方法及び装置 | |
JPH0936740A (ja) | ビット長拡張方法及びその装置 | |
JPH10303748A (ja) | 歪み低減装置及び歪み低減方法 | |
KR100524924B1 (ko) | 광 디스크 시스템의 신호 재생 장치 및 방법 | |
JPH10322206A (ja) | 歪み低減装置及び歪み低減方法 | |
KR950013375B1 (ko) | 신호 압축 기록 및 재생 복원 방법 | |
JPH10322207A (ja) | 歪み低減方法、歪み低減装置並びに情報記録媒体 | |
US7154424B2 (en) | Digital equalization apparatus | |
JPH10135829A (ja) | アナログ/デジタル変換誤差低減装置 | |
JPH08279247A (ja) | 再生信号処理方法及び装置並びにディスク装置 | |
WO2007037076A1 (ja) | 光ディスク装置 | |
JPH1011898A (ja) | ディジタル録音装置 | |
CN1209603A (zh) | 数据检测器及用这种检测器的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040329 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040511 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |