説明

ビット拡張装置、方法及びプログラム

【課題】CD−DA11に16ビットデータで記録されている音声を、24ビット対応のDSP12及びDAC13を用いて再生する場合に、16ビットから24ビットへのビット拡張精度を改善して、24ビット対応DAC13の有効活用及び再生音の高品質化を図る。
【解決手段】CD−DA11は、レベルxが−1≦x<1である音声を16ビットデータで記録している。入力端子20には、CD−DA11からの音声信号から抽出されたxの16ビットデータが入力される。上側シフト演算部21及び下側シフト演算部22は、x・(1−α)±αを16ビット演算により算出してから、それを24ビット演算により2・(1−α)で除算して、商y1,y2の24ビットデータを求める。加算部23はy1+y2を24ビット演算により算出し、それをDAC13へ出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オーディオ装置等に装備されるビット拡張装置に関する。
【背景技術】
【0002】
特許文献1は、オーディオの記録データに関して、CD−DA(Compact Disc Digital Audio)は16ビットであり、DVDは16,20又は24ビットであることに対し(特許文献1の図3)、CD−DAの16ビットを20又は24ビットへビット拡張してDVDに記録すること(特許文献1の図5)を開示する。特許文献1の装置における具体的なビット拡張方式は、入力側の信号パターンを検出し、検出した信号パターンに基づき補間方法を決定し、該決定した補間方法に従って算出した補間信号に係る追加ビットを入力信号の16ビットのLSBより下に付加するものである(特許文献1の段落0002及び図2)。
【0003】
図11は従来のCD再生装置100の模式図である。CD再生装置100において、本発明の後述の実施の形態のCD再生装置10の構成と対応する構成については、CD再生装置10の構成に付した符号と同一の符号を付して、説明を省略し、主要点についてのみ説明する。
【0004】
CD−DA11の規格では、音声はサンプリング周波数44.1kHz及び量子化ビット16ビットで記録されている。また、CD−DA11に記録されている音声データは、−1〜+1の音声レベルを 16ビットで分割して2の補数で量子化したものである。
【0005】
音声レベルのアナログ値をxAnalogとし、それに対応付ける16ビットデータをxDigitalとし、小数点の丸目をRoundとすると、xAnalogとxDigitalとの関係は次の式で表される。
【0006】
Digital=Round(xAnalog・2-15
【0007】
CD−DA11における16ビットデータに対し、昨今のCD再生装置100におけるDSP(Digital Signal Processor)12及びDAC(Digital Analog Converter)13は24ビット対応が主流となって。したがって、CD再生装置100では、DSP12は、CD−DA11の再生信号の16ビットデータを24ビットデータへ変換して、DAC13へ出力する。
【0008】
図12はCD−DA11への録音の元になった本来の値(音声レベル)、CD−DA11における16ビットデータ、及び該16ビットデータに対して従来のCD再生装置100のDSP12が割当てた24ビットデータの対応関係を示している。従来のCD再生装置100では、DSP12は、CD−DA11からの16ビットデータに対し、該16ビットデータのLSB(Least Significant Bit)の下に”0x00”の8ビットを付け足した24ビットデータへ変換して、これをDAC13へ出力している。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2003−272282号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明の実施の形態に関連して後述する図4における本来の値、16ビット出力及び24ビット出力の対応関係から分かるように、図12の本来の各値に対応付けられる24ビットデータは、本来の各値に対応付けられる16ビットデータのLSBの下側に”0x00”の8ビットを付け足した24ビットデータとは相違しており、従来のCD再生装置100では、DSP12における16ビットデータから24ビットデータへの変換後の値が本来の値とは異なるデータとなってしまう。従来のCD再生装置100では、DAC13は、このような24ビットデータをアナログの音声信号へ変換することになるので、スピーカ14からの音声の品質が低下しているとともに、DAC13の24ビットデータ対応の機能を十分に活かしていない。
【0011】
特許文献1における16から24ビットへの拡張方式、すなわち入力側の信号パターンを検出し、検出した信号パターンに基づき補間方法を決定し、該決定した補間方法に従って算出した補間信号に係る追加ビットを入力信号のLSBより下に付加する変換方式は、処理が複雑化し、処理時間が増大したり、処理装置の高性能化を必要としたりする。
【0012】
本発明の目的は、信号パターンの分析や補間計算や入力ソースのビット幅検出を行うことなく、入力信号のmビットデータに対し、mからnビット(m<n)への拡張を高精度で行うビット拡張装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0013】
本発明によれば、音声再生信号等に係る拡張前のmビットデータを±の逆方向へシフト量pのmビットデータだけシフトしたシフトmビットデータをmビット演算により得る。両シフトmビットデータは、pに係る除算nビットデータでnビット演算により除算し、商nビットデータを得る。両商nビットデータの合計に係る出力nビットデータを出力信号に含めて出力する。
【0014】
本発明のビット拡張装置は次の手段を備える。
入力信号x(ただし、−1≦x<1)のmビットデータを±方向へそれぞれシフト量p(ただし、0<p<1)のmビットデータずつシフトしたシフトmビットデータを算出するシフト手段、及び
各シフトmビットデータをpに係るn(n>m)ビットデータで除算して各商nビットデータを求め、各商nビットデータの合計に係る出力nビットデータを算出するnビットデータ算出手段。
【0015】
本発明のビット拡張方法は次のステップを備える。
入力信号x(ただし、−1≦x<1)のmビットデータを±方向へそれぞれシフト量p(ただし、0<p<1)のmビットデータずつシフトしたシフトmビットデータを算出するシフトステップ、及び
各シフトmビットデータをpに係るn(n>m)ビットデータで除算して各商nビットデータを求め、各商nビットデータの合計に係る出力nビットデータを算出するnビットデータ算出ステップ。
【0016】
本発明のプログラムは本発明のビット拡張装置の各手段としてコンピュータを機能させる。
【発明の効果】
【0017】
本発明によれば、nビットへの拡張前のmビットデータを±逆方向へシフト量pのmビットデータだけシフトしたシフトmビットデータを得てから、両シフトmビットデータを、pに係る除算nビットデータでnビット演算により除算し、その商nビットデータの合計をnビットデータの出力として利用するので、該mビットデータの元である本来の値に対して、そのmビットデータを生成した際の丸めにより生じた誤差が、両商nビットデータの合計との相殺により低減したnビットデータの出力が生成され、mビットデータからnビットデータへの拡張精度を高めることができる。
【図面の簡単な説明】
【0018】
【図1】CD再生装置の模式図である。
【図2】DSPにおいて実施するビット拡張処理のブロック図である。
【図3】図2の各ブロックで使用する計算式を示す。
【図4】CD−DAへの録音の元になった本来の値、その16ビット出力、24ビット出力、実施例の出力、及び誤差の対応関係を示す表である。
【図5】本来の値xが振幅1の正弦波で時間変化した場合の実施例出力y、中間値y1,y2及び誤差の変化を示したグラフである。
【図6】16ビットで表現できない第1の範囲の本来の値に対し図4の項目と同じ項目についてそれらの対応関係を示す表である。
【図7】16ビットで表現できない第2の範囲の本来の値に対し図4の項目と同じ項目についてそれらの対応関係を示す表である。
【図8】DSP及びDACが32ビット対応である場合を想定して図4の項目と同じ項目についてそれらの対応関係を示す表である。
【図9】ビット拡張装置のブロック図である。
【図10】ビット拡張方法のフローチャートである。
【図11】従来のCD再生装置の模式図である。
【図12】CD−DAへの録音の元になった本来の値、CD−DAにおける16ビットデータ、及び該16ビットデータに対して従来のCD再生装置のDSPが割当てた24ビットデータの対応関係を示す表である。
【発明を実施するための形態】
【0019】
図1において、CD再生装置10は、CD−DA11を装填されるCDドライブ(図示せず)を備えるとともに、DSP12、DAC13及びスピーカ14を備えている。CD−DA11には、音声のアナログレベルxが−1≦x<+1の範囲となっている音声信号が16ビットで量子化されて記録されている。DSP12は、CD−DA11の楽曲の再生期間、CDドライブより入力される音声信号から16ビットの音声データを抽出する。この16ビットの音声データは、2の補数表現となっている。
【0020】
DSP12は、24ビット処理に対応しており、CD−DA11から入力した音声の16ビットデータを後述する所定の変換式に基づき24ビットデータへ変換する。該変換式を簡単に説明すると、入力16ビットデータからy1,y2の24ビットデータを算出し、さらに、24ビットデータの(y1+y2)/2をyとして算出するものである。
【0021】
DAC13は、24ビットのデジタル/アナログ変換に対応しており、DSP12からのyに係る24ビットデータをアナログの音声信号へ変換する。DAC13が出力したアナログ音声信号は、図示しないオーディオアンプを経てスピーカ14へ送られて、対応の音量の再生音へ変換されて、スピーカ14から出力される。
【0022】
図2はDSP12において実施するビット拡張処理のブロック図である。図3は図2の各ブロックで使用する計算式(1)〜(3)を示している。該計算式(1)〜(3)はDSP12における16から24ビットへの変換式を構成する。なお、図2の上側シフト演算部21及び下側シフト演算部22の(1−α)は、図3の{−(α−1)}を、符号を整理して示したものであり、{−(α−1)}とは同一である。
【0023】
入力端子20には、CD−DA11からxの16ビットデータが供給される。上側シフト演算部21及び下側シフト演算部22では、それぞれ計算式(1)及び(2)に基づく演算が行われる。計算式(1)及び(2)の右辺における分子:x・(1−α)±α内の演算はすべて16ビットで行われ、分母:(1−α)内の演算はすべて24ビットで行われ、分子/分母の除算は24ビットで行われる。
【0024】
上側シフト演算部21及び下側シフト演算部22の分子:x・(1−α)±αは、xと(1−α)との積をそれぞれ上及び下へ、すなわち+方向及び−方向へα、シフトすることを意味する。xに(1−α)を掛けた理由は、上又は下へαずつシフトすることにより分子が1を上回ったり−1を下回ったりすることを回避するためである。すなわち、−1≦x<+1に対し、−1≦x・(1−α)±α<+1とするためである。
【0025】
加算部23では、計算式(3)y=(y1+y2)/2の演算が24ビットで行われる。yの24ビットデータは、出力端子24を介して次段の24ビット対応のDAC13へ出力されて、DAC13においてアナログの音声信号へ変換される。y1,y2の計算順序としては、分子、分母を計算してから、分子/分母を計算する代わりに、16ビット演算により分子を計算し、24ビット演算により分子を2で除算し、その商を24ビット演算により(1−α)で除算して、y1,y2を計算することもできる。
【0026】
xについてビット丸めにより生じた16ビットデータのLSBより下の8ビットにおける誤差が、y1の+αとy2の−αとの和により相殺される結果、従来のCD再生装置100(図11)における16ビットデータの下に”0x00”の8ビットを付加して24ビットデータを生成する仕方に比べて、変換後の誤差を減少させることができる。
【0027】
図4はCD−DA11への録音の元になった本来の値(音声レベル。xに相当。)、その16ビット出力(本来の各値に対応する16ビットデータ)、24ビット出力(本来の各値に対応する24ビットデータ)、実施例の出力(CD再生装置10のDSP12の出力)、及び誤差(=実施例の出力−24ビット出力)の対応関係を示している。なお、実施例の出力はα=0x0300にして計算したものとなっている。従来のCD再生装置100(図11)のDSP12では、本来の値に対応する16ビットデータのLSBの下に8ビットの”0”を付け足しているだけであるので、CD再生装置100のDSP12における誤差(=24ビット出力−16ビット出力)となり、実施例の誤差は従来の誤差よりも改善される。
【0028】
図3の計算式に本来の値=0.7、α=0x030000を適用して、各中間値の具体的な値を説明する。16ビットに丸められたxは、0x599Aとなり、0.700012207という誤差付きの値としてCD−DA11からDSP12の入力端子20へ入力される。また、α=0x0300=0.0234375である。16ビットに丸めながら計算すると、下記のようになる。
−(α−1)=0x7D00=0.9765625・・・(4)
x・{−(α−1)}=0.700012207×0.9765625=0.6836056708984375≒0x5780=0.683605671・・・(5)
x・{−(α−1)}+α=0x5780+0x0300=0x5A80=0.70703125・・・(6)
x・{−(α−1)}−α=0x5780−0x0300=0x5480=0.66015625・・・(7)
【0029】
次に、24bitで下記の値を計算する。
1/{2(−(α−1)}=0.512=0x418937・・・(8)
1=0.70703125×0.512=0.362≒0x2E5604・・・(9)
2=0.66015625×0.512=0.338≒0x2B4395・・・(10)
y=y1+y2=0x2E5604+0x2B4395=0x599999・・・(11)
【0030】
本来の入力0.7を24ビットで表すと、0x599999となる。図4の対応行で示すように、CD−DA11から入力された0x599AがDSP12により本来の0x599999に変換されている。ビット丸めによって表現できない部分の誤差を+αと−αで相殺する形となる。
【0031】
図5は本来の値xが振幅1の正弦波で時間変化した場合の実施例出力y、中間値y1,y2及び誤差(=図4の誤差)の変化を示したグラフである。xは破線で表しているが、yとほぼ重なっているため、図5ではyにより隠されてしまっている。誤差は、点線で示しており、レベル値=0に沿って延びている。
【0032】
図6及び図7は、16ビットで表現できない第1及び第2の範囲の本来の値に対し図4の項目と同じ項目についてそれらの対応関係を示している。この場合にも、実施例の誤差は従来の誤差よりも十分に改善されることが分かる。
【0033】
図8はDSP12及びDAC13が32ビット対応である場合を想定して図4の項目と同じ項目についてそれらの対応関係を示している。16ビットデータから32ビットへ変換する場合には、y1,y2の前述の計算式(1)及び(2)において、分母内の計算及び分子/分母の除算は24ビット演算の代わりに32ビット演算で行われる。また、yの前述の計算式(3)も32ビットにより演算される。該表は、α=0x0300を採用しており、該表の誤差は、差:実施例の出力−32ビット出力となっている。本来の値の16ビットデータのLSBの下に16ビットの”0”を付け足す場合よりも、実施例の誤差は、図4の16から24ビットへの拡張も場合と同様な理由により改善される。
【0034】
図9はビット拡張装置40のブロック図である。ビット拡張装置40の具体例は、前述のCD再生装置10のDSP12である。ビット拡張装置40は、CD−DA11の16ビットデータの記録音を16ビットより長いビット対応のDAC13等により処理してスピーカ14から再生音を出力する場合だけでなく、16ビットより長いビット対応の記録フォーマットでDVD等の記録媒体に記録する場合にも適用することができる。
【0035】
ビット拡張装置40は、抽出手段41、シフト手段42、nビットデータ算出手段43及び出力手段44を備える。抽出手段41は、入力信号からx(ただし、−1≦x<1)のmビットデータを抽出する。シフト手段42は、xのmビットデータを±方向へそれぞれシフト量p(ただし、0<p<1)のmビットデータずつシフトしたシフトmビットデータを算出する。
【0036】
nビットデータ算出手段43は、nビット演算により各シフトmビットデータをpに係る除算nビットデータで除算して各商nビットデータを求め、各商nビットデータの合計に係る出力nビットデータを算出する。出力手段44は、出力nビットデータに係る出力信号を出力する。
【0037】
ビット拡張装置40の入出力信号は、典型的には、オーディオ信号であるが、オーディオ信号以外の信号、例えばビデオ信号や測定信号であってもよい。mは例えば16であり、nは例えば24(図4)又は32(図8)である。除算nビットデータは、例えば、2・(1−p)のnビットデータである。拡張前のmビットデータは、例えばxを因子としてもつ積のmビットデータであり、さらに具体的には、mビット演算により算出したx・(1−p)のmビットデータである。出力nビットデータは、例えば、各商nビットデータの合計nビットデータを2で除算した商のデータである。
【0038】
pの具体例は、前述の計算式(1)及び(2)におけるαである。xのmビットデータから出力nビットデータへ変換する変換式の具体例は前述の計算式(1)〜(3)である。
【0039】
ビット拡張装置40では、入力のmビットデータを±の両方向へ同量ずつシフトしてから、各シフトmビットデータを除算nビットデータで除算して、両商nビットデータを合計するので、xのnビットデータに含まれる丸め誤差が、両商nビットデータの合計により相殺され、mビットデータからnビットデータへの変換精度を高めることができる。また、入力側の信号パターンを検出したりして、ビット拡張を行う方式に対して、拡張処理が簡単となる。
【0040】
図10はビット拡張方法50のフローチャートである。ビット拡張方法50はビット拡張装置40に適用される。S51では、入力信号からx(ただし、−1≦x<1)のmビットデータを抽出する。S52では、xのmビットデータの関連mビットデータを±方向へそれぞれシフト量p(ただし、0<p<1)ずつシフトしたシフトmビットデータを算出する。
【0041】
S53では、nビット演算により各シフトmビットデータをpに係る除算nビットデータで除算して各商nビットデータを求め、各商nビットデータの合計に係る出力nビットデータを算出する。S54では、出力nビットデータに係る出力信号を出力する。
【0042】
S51〜S54の処理は、ビット拡張装置40の抽出手段41〜出力手段44の機能にそれぞれ対応している。したがって、抽出手段41〜出力手段44の機能について述べた具体的態様はS51〜S54の処理についての具体的態様としても適用可能である。
【0043】
本発明を適用したプログラムは、コンピュータをビット拡張装置40の各手段として機能させる。本発明を適用した別のプログラムは、ビット拡張方法50の各ステップをコンピュータに実行させる。
【0044】
本明細書は様々な範囲及びレベルの発明を開示している。それら発明は、本明細書で説明した様々な技術的範囲及び具体的レベルの各装置及び各方法だけでなく、拡張ないし一般化の範囲で、各装置及び各方法から独立の作用、効果を奏する1つ又は複数の要素を抽出したものや、1つ又は複数の要素を拡張ないし一般化の範囲で変更したものや、さらに、各装置間及び各方法間で1つ又は複数の要素の組合せを入れ換えたものを含む。
【符号の説明】
【0045】
40:ビット拡張装置、41:抽出手段、42:シフト手段、43:nビットデータ算出手段、44:出力手段、50:ビット拡張方法。

【特許請求の範囲】
【請求項1】
入力信号x(ただし、−1≦x<1)のmビットデータを±方向へそれぞれシフト量p(ただし、0<p<1)のmビットデータずつシフトしたシフトmビットデータを算出するシフト手段、及び
各シフトmビットデータをpに係るn(n>m)ビットデータで除算して各商nビットデータを求め、各商nビットデータの合計に係る出力nビットデータを算出するnビットデータ算出手段、
を備えることを特徴とするビット拡張装置。
【請求項2】
前記除算nビットデータは(1−p)のnビットデータであることを特徴とする請求項1記載のビット拡張装置。
【請求項3】
前記シフト手段は、x・(1−p)のmビットデータを±方向へそれぞれシフト量pだけシフトすることを特徴とする請求項1又は2記載のビット拡張装置。
【請求項4】
前記入力信号及び前記出力信号はオーディオ信号であることを特徴とする請求項1〜3のいずれかに記載のビット拡張装置。
【請求項5】
入力信号x(ただし、−1≦x<1)のmビットデータを±方向へそれぞれシフト量p(ただし、0<p<1)のmビットデータずつシフトしたシフトmビットデータを算出するシフトステップ、及び
各シフトmビットデータをpに係るn(n>m)ビットデータで除算して各商nビットデータを求め、各商nビットデータの合計に係る出力nビットデータを算出するnビットデータ算出ステップ、
を備えることを特徴とするビット拡張方法。
【請求項6】
請求項1〜4のいずれかに記載のビット拡張装置の各手段としてコンピュータを機能させるプログラム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−244594(P2010−244594A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−89750(P2009−89750)
【出願日】平成21年4月2日(2009.4.2)
【出願人】(508209990)J&Kカーエレクトロニクス株式会社 (98)
【Fターム(参考)】