JP2005099629A - 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム - Google Patents

逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム Download PDF

Info

Publication number
JP2005099629A
JP2005099629A JP2003335736A JP2003335736A JP2005099629A JP 2005099629 A JP2005099629 A JP 2005099629A JP 2003335736 A JP2003335736 A JP 2003335736A JP 2003335736 A JP2003335736 A JP 2003335736A JP 2005099629 A JP2005099629 A JP 2005099629A
Authority
JP
Japan
Prior art keywords
value
scf
inverse quantization
shift
conversion
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.)
Granted
Application number
JP2003335736A
Other languages
English (en)
Other versions
JP3889738B2 (ja
Inventor
Koji Tanaka
康治 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2003335736A priority Critical patent/JP3889738B2/ja
Publication of JP2005099629A publication Critical patent/JP2005099629A/ja
Application granted granted Critical
Publication of JP3889738B2 publication Critical patent/JP3889738B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 回路規模が小さく、かつ、演算誤差が小さい逆量子化装置を提供する。
【解決手段】 スケールファクタインデックスScf、ビットアロケーションBa、量子化符号Xを入力し、逆量子化値Yを出力する逆量子化処理を、ビットシフト処理を用いることによって、乗算の回数を減じて行なう。乗算を1回しか行なわない場合でも、スケールファクタインデックスから2の整数乗の部分を第1のシフト量S1として取出すことだけでなく、ビットアロケーションBaおよび参照値Rから2の整数乗の部分を第2のシフト量S2として取出し、できる限り量子化符号Xに対する乗算処理をビットシフト処理に置き換えて、1回の乗算で発生する誤差を小さく抑えている。
【選択図】 図2

Description

本発明は、逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラムに関し、より特定的には、入力値X、スケールファクタインデックスScfおよびビットアロケーションBaから逆量子化値Yを生成する逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラムに関する。
アナログ信号を、デジタル信号処理で扱うためには、信号の定義域を離散化する標本化に加え、信号の値域を離散化する量子化の過程が必要である。また、既に値域の離散化が行なわれたデジタル信号を、より少ないデータで扱う場合などに、さらに粗く離散化することがある。この過程も量子化と呼ぶ。
この量子化において離散化後の値を量子化値と呼び、その量子化値を割当てられた符号を量子化符号と呼ぶ。また、隣り合う量子化値の間隔を量子化ステップ幅と呼び、値域全体に含まれる量子化値の個数を量子化ステップ数と呼ぶ。
逆に、デジタル信号処理を行なった後、アナログ信号として出力する場合などには、量子化符号からもとの連続的な値や、もとの小さなステップ幅で離散化された値を復元する過程が必要である。この過程を逆量子化と呼ぶ。
逆量子化の過程では、量子化符号に対応する量子化値を、逆量子化後の値(逆量子化値)とする変換が行なわれる。
量子化値は、量子化の過程において連続的な値を近似したものである。このため、量子化値にはもとの値との誤差(量子化誤差)が発生している。
したがって、逆量子化の過程では量子化が行なわれる前の値を復元することはできず、復元される値は量子化誤差を含んだ近似的な値になる。
また、量子化の過程において、実際の信号が取る値域の範囲(ダイナミックレンジ)で信号を正規化してから量子化を行なうスケーリング処理が行なわれる場合がある。スケーリング処理を行なう場合には、正規化の係数(スケールファクタ)と正規化後の信号に対する量子化符号が個別に保持される。スケーリング処理が行なわれる場合には逆量子化の過程においては、正規化後の信号に対する量子化符号を逆量子化した後、スケールファクタにより逆正規化を行ない、逆量子化値を算出する逆スケーリング処理が行なわれる。
スケーリング処理により、実際に信号が存在している値域にだけ量子化符号を割当てることができるので、限られた量子化ステップ数であっても、量子化誤差を抑えて、入力となる信号に応じた効果的な量子化が可能になる。
以上のような量子化、および、スケーリングの技術は、MPEG(Motion Picture Experts Group)規格などに代表される画像符号化やオーディオ符号化など広い分野で用いられている。
また、量子化に関する一般的な説明は、たとえば、「画像のデジタル信号処理、日刊工業」の第6章や、「音響システムとデジタル処理、電子情報通信学会」の第1章などに記載されている。
ここでは、標準的なオーディオ符号化の1つである、ISO/IEC11172−3に記載されたMPEG1−Audio Layer II方式で採用されている量子化方式を例にして、具体的な逆量子化、および逆スケーリング処理を行なう従来の装置について説明する。
ISO/IEC11172−3に記載されたMPEG1−Audio Layer II方式は、高い音質を保ちながら、オーディオ信号のデータ量を圧縮することを目的としたオーディオ符号化方式であり、音質をほとんど劣化させることなく、オーディオ信号のデータ量を約5分の1に圧縮することが可能である。
データの保存や伝送を行なう場合には、時系列のオーディオ信号をMPEG1−Audio Layer IIフォーマットのデータに変換する符号化処理によって、データの圧縮が行なわれる。
また、データの再生を行なう場合は、復号化処理によってデータ圧縮されたMPEG1−Audio Layer IIフォーマットのデータが、時系列のオーディオ信号に変換される。この復号化処理では、オーディオ信号の振幅を符号化する際に、後述するような逆量子化、および、逆スケーリング処理が行なわれる。
上記の復号化処理を行なう復号化装置の詳細については、ISO/IEC11172−3に記載されている。
次に、ISO/IEC11172−3に記載されたMPEG1−Audio Layer II方式で採用されている逆量子化、および、逆スケーリング処理について説明する。
逆量子化、および、逆スケーリング処理における入力値は、スケーリング処理の係数に対応する符号であるスケールファクタインデックスScf、量子化ステップ数、量子化ステップ幅に対応した符号であるビットアロケーションBa、オーディオ信号の振幅に対応した符号である量子化符号Xである。
スケールファクタインデックスScf、ビットアロケーションBaおよび量子化符号Xは、MPEG1−Audio Layer IIフォーマットのデータに所定の形式で格納されており、このデータから対応する箇所のビット列を取出し、所定の加工を行なって生成される。
以下、この点について詳しく説明する。
[ストリームからの数値の取出し]
スケールファクタインデックスScfは、MPEG1−Audio Layer IIフォーマット中に6ビットのビット列として格納されている。このビット列がそのまま整数値として読出され、スケールファクタインデックスScfとして使用される。ただし、ISO/IEC11172−3の中で、この6ビット中の全ビットが“1”となることは禁止されているので、読出されるスケールファクタインデックスScfは、0〜62の範囲の整数値となる。
次にビットアロケーションBaの生成について説明する。まずビットアロケーションBaのもととなるデータが、MPEG1−Audio Layer IIフォーマット中に所定のビット数で格納されている。ここでは、このもととなるデータを、インデックス(index)データと呼ぶ。インデックスデータは、所定のビット数に応じた整数値となる。インデックスデータのビット数は、ISO/IEC11172−3のテーブルB.2において定められているように、2〜4ビットのいずれかである。
また、インデックスデータをステップ数に変換する方法もISO/IEC11172−3のテーブルB.2において定められている。ステップ数は、次に図11で説明するように、サンプリング周波数、1チャネル当りのビットレート、および、逆量子化されるオーディオ信号の属する周波数帯域(サブバンド)に応じて決められる。
図11は、ISO/IEC11172−3のテーブルB.2の一例を示した図である。
ISO/IEC11172−3のテーブルB.2には複数のテーブルがあり、サンプリング周波数、1チャンネル当りのビットレートに基づいて、どのテーブルを使用するかが決定される。
図11を参照して、sbはサブバンドを示す。nbalという語の下の1列は、インデックスデータがMPEG1−Audio Layer IIフォーマット中に何ビットで入っているかを示す値である。nbalの右には、各インデックスデータ0〜15に対応するステップ数が記載されている。ここで、このステップ数は、「Number of steps」とISO/IEC11172−3では記載されている。
サンプリング周波数、1チャネル当りのビットレートによってテーブルが選択され、そのテーブルにより逆量子化されるオーディオ信号の属する周波数帯域(サブバンド)に対応するインデックスデータのビット数がいくらであるかが取得される。そしてインデックスデータがストリーム中から読出され、再びこのテーブルを用いてインデックスデータ0〜15が、オーディオ信号のサブバンドでどのようなステップ数に相当するかが取得される。取得されたステップ数は、量子化ステップ数に相当する値である。
MPEG1−Audio Layer II方式において取り得るステップ数の種類は、図11に示されるように、3,5,7,9,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535の17種類である。この17種類のステップ数にそれぞれ別の符号を割当て、このように得られる符号をビットアロケーションBaと定義する。
図12は、ビットアロケーションBaとステップ数(Number of steps)との対応を示した図である。
図12では、ステップ数の小さい方から順に0〜16の整数をビットアロケーションBaとして割当てている。
量子化符号Xは、MPEG1−Audio Layer IIフォーマットのデータに所定のビット数で格納されている数値をもとに生成される。このビット数は、図11に例示したISO/IEC11172−3のテーブルB.4と図12とに基づいて定められる。
図13は、ISO/IEC11172−3のテーブルB.4を示した図である。
図12、図13に記載のステップ数(Number of steps)、符号語あたりのサンプル数(Samples per codeword)、符号語あたりのビット数(Bits per codeword)を参照して、ビットアロケーションBaをもとにして所定のビット数が決められる。なお、Samples per codewordは1つの符号に何オーディオサンプルのデータが符号化されているかを示す値である。また、Bits per codewordは、その符号は何ビットで符号化されているかを示す値である。
ISO/IEC11172−3では、Samples per codeword、Bits per codewordの組合わせにより、1つのオーディオサンプルが1つの符号で符号化されている場合と、3つのオーディオサンプルが1つの符号で符号化されている場合とがある。しかしいずれの場合も、ISO/IEC11172−3でで定められた処理によって、各オーディオサンプルに対して、0からステップ数の間の整数値が取得される。MPEG1−Audio Layer IIフォーマットのデータから取得された整数値は、ステップ数を2進数表現したときの桁数の最上位ビットを符号ビットとし、それ以降のビットを小数部分とする固定小数点形式の小数値として保持され、さらにその符号ビットが反転された形式に変換される。
たとえば、DSP(デジタルシグナルプロセッサ)などの24ビットのレジスタ上で、最上位ビットが符号ビットとして保持される場合について述べる。ビットアロケーションBa=5で、データから取得された整数値=5(2進数表現で101)であったとする。図12から、ビットアロケーションBa=5ならばステップ数が31であるので、取得された整数値を2進数表現した場合の桁数は5となる。5桁の2進数は最大で31だからである。この場合、DSPのレジスタ上では5桁目が最上位ビットとなるように最上位ビット側に値が詰められる。保持される値は2進数表現で、
0010 1000 0000 0000 0000 0000として保持される。
さらに、その符号ビットが反転されるので、保持される値は、2進数表現で、
1010 1000 0000 0000 0000 0000となる。
したがって、この2進数を24ビットの固定小数点形式で読めば、最終的に保持された値は、−0.6875となる。このようにして得られる小数値を量子化符号Xと定義する。
次式(11)は、ISO/IEC11172−3に記載されたMPEG1−Audio Layer II方式の復号化時における逆量子化、および、逆スケーリングの変換式である。
Y=2(P1[Scf]/M)*P2[Ba]*(X+P3[Ba]) …(11)
ここで、「*」は乗算を表す演算符号であり、「/」は除算を表す演算符号である。P2[Ba],P3[Ba]は、ビットアロケーションBaに対して決まる小数値であり、図13に示したテーブルの値C,Dとしてそれぞれ定められている。ビットアロケーションBaと小数値P2[Ba],P3[Ba]との対応付けは、図12、図13を参照することで決定される。
MPEG1−Audio Layer IIフォーマットのデータから以上のような処理を行ない、スケールファクタインデックスScf,ビットアロケーションBa,量子化符号Xを取出し、式(11)に従って逆量子化値Yに変換することで、逆量子化、および、逆スケーリング処理が行なわれる。
[従来の逆量子化および逆スケーリング処理]
次に、ISO/IEC11172−3に記載されたMPEG1−Audio Layer II方式で採用されている逆量子化、および、逆スケーリング処理を実現する、従来の逆量子化および逆スケーリング装置について説明する。
図14は、従来の、逆量子化、および、逆スケーリング装置を説明するための概略ブロック図である。
図14を参照して、スケールファクタインデックスScf,ビットアロケーションBa,量子化符号Xがこの装置に入力される。これらの入力値は、前述のように、MPEG1−Audio Layer IIフォーマットのデータの中から読出された値に基づいて発生される。テーブル参照部110は、スケールファクタインデックスScfを入力として、変換用テーブルTo1を参照して、スケーリング係数Svを生成し出力する。
変換用テーブルTo1には、0〜62の範囲のスケールファクタインデックスScfに対応する小数値であるスケーリング係数Svが格納されている。スケーリング係数Svは、次式(12)で予め演算された結果の値である。
Sv=2((3-Scf)/3) …(12)
テーブル参照部111は、ビットアロケーションBaを入力として、変換用テーブルTo2を参照して、変換係数Co1,Co2を生成して出力する。変換用テーブルTo2には、図12で示された0〜16のビットアロケーションBaに対して、対応する図13のCが変換係数Co1の値として格納され、図13の対応するDが変換係数Co2の値として格納されている。
変換部112は、変換係数Co1,Co2と、量子化符号Xとを入力として受け、変換値Zoを生成し出力する。変換部112における変換は次式(13)に示された加算および乗算処理によって行なわれる。
Zo=Co1*(X+Co2) …(13)
変換部113は、スケーリング係数Svと、変換値Zoとを入力として受け、逆量子化値Yを生成し出力する。変換部113における変換は、次式(14)に示された乗算処理によって行なわれる。
Y=Sv*Zo …(14)
以上のようにして、従来は、逆量子化、および、逆スケーリングが行なわれていた。
図15は、従来の逆量子化および逆スケーリング処理をDSP等のコンピュータを用いて行なう場合のフローチャートである。
図15を参照して、ステップS101において逆量子化および逆スケーリング処理が開始される。続いてステップS102においてテーブルTo1参照処理が行なわれる。DSPにおいては、MPEG1−Audio Layer IIフォーマットのデータの中から、所定の処理を介してスケールファクタインデックスScf,ビットアロケーションBaおよび量子化符号Xが読出されてランダムアクセスメモリ(RAM)に格納されているとする。
テーブルTo1参照処理では、RAMからスケールファクタインデックスScfを読出し、リードオンリメモリ(ROM)に格納された変換用テーブルTo1を参照して、スケーリング係数Svを生成しRAMに格納する。変換用テーブルTo1は図14のものと同じである。
ステップS102が終了すると続いてステップS103においてテーブルTo2参照処理が行なわれる。ステップS103では、RAMからビットアロケーションBaを読出し、ROMに格納された変換用テーブルTo2を参照して、変換係数Co1,Co2を生成し、RAMに格納する。変換用テーブルTo2は、図14のものと同じである。
続いてステップS104において第1の変換処理が行なわれる。ステップS104では、RAMから変換係数Co1,Co2と量子化符号Xとを読出して、次の式(15)に示された加算および乗算処理を行ない、変換値Zoを生成しRAMに格納する。
Zo=Co1*(X+Co2) …(15)
ステップS104が終了すると、続いてステップS105において第2の変換処理が行なわれる。ステップS105では、RAMからスケーリング係数Svと、変換値Zoとを読出し、次の式(16)に示された乗算処理を行ない、逆量子化値Yを生成しRAMに格納する。
Y=Sv*Zo …(16)
最後に、ステップS106において逆量子化および逆スケーリング処理が終了する。
以上のようにしてDSPを用いた場合においても、逆量子化および逆スケーリング処理が行なわれる。
なお、上記の従来技術の説明は、ISO/IEC11172−3に記載されたMPEG1−Audio Layer II方式に限らず、逆量子化および逆スケーリング処理のうち、特に式(11)に従って変換を行なうものに、一般性を失うことなく適用できるものである。
Y=2(P1[Scf]/M)*P2[Ba]*(X+P3[Ba]) …(11)再掲
なお、逆量子化処理の演算の負荷を小さくする関連技術が、特開平8−292795(特許文献1)に開示されている。
特開平8−292795号公報
式(11)に従う逆量子化、および、逆スケーリングを行なう場合、図14で説明した従来の方法では、1オーディオサンプルに対して2回の乗算を行なう必要がある。
一般に、乗算をハードウェアとして実現する場合は、規模の大きな回路が必要であり、ソフトウェアとして実現する場合は、多くの処理ステップ数を必要とする。したがって、DSPなどでこの逆量子化、および、逆スケーリングを実現する場合には、コスト高になるという問題が生ずる。
また、DSPなどを用いてデジタル信号処理を実現する場合、演算の桁数に制限があるので、乗算を繰返すことによって誤差が累積していく。さらに、固定小数点形式で演算する場合にも、1回目の乗算で小さな値を乗じて、2回目の乗算で大きな値を乗ずると、1回目の乗算で有効桁数が少なくなり、2回目の乗算でその誤差が増幅される現象が起こる。このように、乗算回数が増えるほど、大きな演算誤差が発生しやすくなるという問題が生ずる。また、乗算の順序を考慮しないと誤差が増幅されてしまうという問題も生ずる。
本発明は、このような問題を解決するために提案されたものであり、少ない乗算回数で、精度よく逆量子化および逆スケーリングを実現する逆量子化装置およびオーディオ復号化装置を提供することを目的とする。
この発明は、要約すると、量子化符号X、スケールファクタインデックスScfおよびビットアロケーションBaを受けて逆量子化および逆スケーリング処理を行い逆量子化値Yを出力する逆量子化装置であって、第1の記憶手段と、第1の参照手段と、第2の記憶手段と、第2の参照手段と、変換手段と、シフト処理手段とを備える。
第1の記憶手段は、下式(1),(2)に基づき予め算出された各スケールファクタインデックスScfに対応するシフト量S1および参照値Rを格納する。第1の参照手段は、第1の記憶手段を参照して、入力されたスケールファクタインデックスScfに対応するシフト量S1および参照値Rを得る。第2の記憶手段は、下式(3),(4),(5)に基づき予め算出された各参照値Rおよび各ビットアロケーションBaに対応するシフト量S2,変換係数C1およびC2を格納する。第2の参照手段は、第2の記憶手段を参照して、第1の参照手段から出力された参照値Rと入力されたビットアロケーションBaに対応するシフト量S2,変換係数C1およびC2を得る。変換手段は、入力された量子化符号Xと第2の参照手段から出力された変換係数C1およびC2とを用いて下式(6)に従う変換を行い変換値Zを出力する。シフト処理手段は、変換手段から出力された変換値Zに対し第1、第2の参照手段によってぞれぞれ得られたシフト量S1,S2を用い下式(7)に従うシフト処理を行い逆量子化値Yを出力する。シフト処理手段とを備える。
S1=int(P1[Scf]/M) …(1)
R=mod(P1[Scf],M) …(2)
S2=int((R/M)+log2(P2[Ba]) …(3)
C1=(2(R/M)*P2[Ba])*(2(-S2)) …(4)
C2=P3[Ba] …(5)
Z=C1*(X+C2) …(6)
Y=Z*2(S1+S2) …(7)
ただし、P1[Scf]は、各スケールファクタインデックスScfの値に対し予め定められた整数を示し、P2[Ba],P3[Ba]は、各ビットアロケーションBaの値に対し予め定められた小数を示し、Mは、予め定められた正の整数を示す。
好ましくは、シフト処理手段は、シフト処理を、シフト量S1に対応する第1のシフト演算を行ない、さらに、シフト量S2に対応する第2のシフト演算を行なうことにより実行する。
好ましくは、シフト処理手段は、シフト処理を、シフト量S1とシフト量S2の合計値に対応するシフト演算を一括して行なうことにより実行する。
好ましくは、変換手段は、変換係数C1,C2および量子化符号Xに基づき次式
Z=C1*X+C2
に従い変換値Zを生成する。
好ましくは、P1[Scf]は、3−Scfであり、Mは、3である。
または、復号化時に逆量子化処理を含むオーディオ符号化方式に基づいて復号化処理を行なうオーディオ復号化装置であって、上記いずれかの逆量子化装置を備える。
または、復号化時に逆量子化処理を含む画像符号化方式に基づいて復号化処理を行なう画像復号化装置であって、上記いずれかの逆量子化装置を備える。
この発明の他の局面に従うと、量子化符号X、スケールファクタインデックスScfおよびビットアロケーションBaを受けて逆量子化および逆スケーリング処理を行い逆量子化値Yを出力する逆量子化方法であって、下式(1),(2)に基づき予め算出された各スケールファクタインデックスScfに対応するシフト量S1および参照値Rを格納する第1の記憶手段を参照して、入力されたスケールファクタインデックスScfに対応するシフト量S1および参照値Rを得るステップと、下式(3),(4),(5)に基づき予め算出された各参照値Rおよび各ビットアロケーションBaに対応するシフト量S2,変換係数C1およびC2を格納する第2の記憶手段を参照して、得られた参照値Rと入力されたビットアロケーションBaに対応するシフト量S2,変換係数C1およびC2を得るステップと、入力された量子化符号Xと得られた変換係数C1およびC2とを用いて下式(6)に従う変換を行い変換値Zを出力するステップと、出力された変換値Zに対し得られたシフト量S1,S2を用い下式(7)に従うシフト処理を行い逆量子化値Yを出力するステップとを備える。
S1=int(P1[Scf]/M) …(1)
R=mod(P1[Scf],M) …(2)
S2=int((R/M)+log2(P2[Ba]) …(3)
C1=(2(R/M)*P2[Ba])*(2(-S2)) …(4)
C2=P3[Ba] …(5)
Z=C1*(X+C2) …(6)
Y=Z*2(S1+S2) …(7)
ただし、P1[Scf]は、各スケールファクタインデックスScfの値に対し予め定められた整数を示し、P2[Ba],P3[Ba]は、各ビットアロケーションBaの値に対し予め定められた小数を示し、Mは、予め定められた正の整数を示す。
または、逆量子化プログラムであって、上記逆量子化方法に基づく処理を、コンピュータに実行させる。
本発明によれば、逆量子化および逆スケーリング装置において、乗算を1回しか行なっていない。したがって、ハードウェアとして実現する場合は、回路規模を小さくすることができる。またソフトウェアとして実現する場合は、処理ステップ数を減らすことができる。これにより低コストで逆量子化および逆スケーリング処理を行なうことが可能となる。
加えて、乗算を1回しか行なわないことにより、演算誤差が累積することや、以前の乗算による誤差が後続の乗算により増幅されることもない。したがってより精度のよい逆量子化および逆スケーリング処理が可能となる。
また、本発明によれば、逆量子化および逆スケーリング処理を含むオーディオ符号化方式に対し、少ない乗算回数で精度よく復号化を行なうオーディオ復号化装置を実現することができる。
以下、図面を参照して本発明の実施の形態を詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
[実施の形態1]
図1は、実施の形態1のオーディオ復号化装置の構成例を示したブロック図である。
図1を参照して、オーディオ復号化装置1は、フォーマット解析部2と、逆量子化・逆スケーリング部3と、フィルタ部4とを含む。
フォーマット解析部2は、1フレーム分のMPEGストリーム(MPEG1−Audio Layer II方式のデータストリーム)を入力として受取り、規格で定められたフォーマットに従って、フレーム内に格納された各種の情報を分離して、所定の形式で取出す。この取出された情報には、スケールファックインデックスScf,ビットアロケーションBaおよび量子化符号Xが含まれる。
逆量子化・逆スケーリング部3は、分離されたスケールファクタインデックスScf、ビットアロケーションBaおよび量子化符号Xをフォーマット解析部2から受けて、逆量子化と逆スケーリング処理とを行ない、逆量子化値Yを生成する。
MPEG1−Audio Layer IIフォーマット内では、オーディオデータはある種の周波数変換がされた状態で格納されており、ここで得られた逆量子化値Yも周波数領域の値である。
フィルタ部4は、逆量子化値Yにフィルタ処理を行なうことで、時間領域への変換を行ない、時系列データであるオーディオデータADATAを生成して出力する。
以上の処理によって、1フレーム分のMPEG1−Audio Layer II方式のデータが復号化される。これをフレームごとに繰返すことにより、MPEG1−Audio Layer II方式の復号化処理が行なわれる。
図2は、図1における逆量子化・逆スケーリング部3の構成を示すブロック図である。
図2を参照して、スケールファクタインデックスScf、ビットアロケーションBaおよび量子化符号Xは、逆量子化・逆スケーリング部3の入力であり、これらの値はMPEG1−Audio Layer IIフォーマットのデータの中から図1のフォーマット解析部2によって取出された値である。
逆量子化・逆スケーリング部3は、テーブル参照部10と、変換用テーブルT1と、テーブル参照部11と、変換用テーブルT2と、変換部12と、シフト処理部13とを含む。
テーブル参照部10は、スケールファクタインデックスScfを入力として受け、変換用テーブルT1を参照して、シフト量S1と参照値Rとを生成し出力する。変換用テーブルT1には、0〜62の範囲の整数値であるスケールファクタインデックスScfにそれぞれ対応するシフト量S1および参照値Rが格納されている。シフト量S1は次の式(17)で予め求められた値である。また参照値Rは次の式(18)で予め求められた値である。
S1=int((3−Scf)/3) …(17)
R=mod(3−Scf,3) …(18)
ここで、int(A)は、Aを超えない最大の整数を生成する演算である。また、mod(A,B)は、整数A,整数Bに対し、A−int(A/B)*Bを算出する演算である。このとき、参照値Rは、0〜2の範囲の整数値となる。
テーブル参照部11は、ビットアロケーションBaと参照値Rとを入力として受ける。そして、テーブル参照部11は、変換用テーブルT2を参照して、シフト量S2と変換係数C1,C2とを生成して出力する。変換用テーブルT2にはシフト量S2と変換係数C1,C2とが格納されている。シフト量S1は、次の式(19)で予め算出された値の整数値である。また、変換係数C1は次の式(20)で予め算出された小数値である。変換係数C2は次の式(21)で予め定められた小数値である。
S2=int((R/3)+log2(P2[Ba]) …(19)
C1=(2(R/3)*P2[Ba])*(2(-S2)) …(20)
C2=P3[Ba] …(21)
ここで、P2[Ba]は、図13のCと図12とを参照してビットアロケーションBaから得られる値である。また、P3[Ba]は、図13のDと図12とを参照してビットアロケーションBaから得られる値である。
変換部12は、変換係数C1,C2と量子化符号Xとを入力として受けて、変換値Zを生成して出力する。変換値Zは、次の式(6)で示された加算および乗算処理によって変換部12において求められる。
Z=C1*(X+C2) …(6)
シフト処理部13は、シフト量S1,S2と、変換値Zとを入力として受けて逆量子化値Yを生成し出力する。シフト処理部13は、次の式(22)、式(23)に示された演算に基づいて逆量子化値Yを算出する。Yは結局、式(7)で示される値となる。
Z2=Z*2(S1) …(22)
Y=Z2*2(S2) …(23)
Y=Z*2(S1+S2) …(7)
このとき、2の整数乗を乗算することは、ビットシフト処理として容易に実現することができる。
なお、以下の式変形により、従来手法の式(11)に対してP1[Scf]=3−Scf、M=3を代入した次式(24)に対して、式(23)で得られた逆量子化値Yが本質的に等価であることが示される。
Y=2((3-Scf)/3)*P2[Ba]*(X+P3[Ba]) …(24)
Y=Z2*2(S2) …(23)再掲
式(23)に式(22)を用いてZ2を展開すると、
Y=Z*2(S1)*2(S2) …(25)
さらに、式(6)を用いてZを展開すると、
Y=C1*(X+C2)*2(S1)*2(S2) …(26)
さらに、式(20)(21)を用いてC1,C2を展開すると
Y=(2(R/3)*P2[Ba])*2(-S2)*(X+P3[Ba])*2(S1)*2(S2) …(27)
式を整理して、
Y=(2(R/3)*P2[Ba])*(X+P3[Ba])*2(S1) …(28)
さらに、式(17)(18)を用いてR,S1を展開して、
Y=(2(mod(3-Scf,3)/3)*P2[Ba])*(X+P3[Ba])*2(int((3-Scf)/3)) …(29)
式を整理して、
Y=(2(mod(3-Scf,3)/3+int((3-Scf)/3))*P2[Ba])*(X+P3[Ba]) …(30)
mod、intの定義より、
Y=2((3-Scf)/3)*P2[Ba]*(X+P3[Ba]) …(31)
以上より式(31)は式(24)と同じになる。したがって、式(23)で得られた逆量子化値Yが従来手法の式(11)に対して本質的に等価であることが示された。
本発明によれば、逆量子化および逆スケーリング装置において、乗算を1回しか行なっていない。したがって、ハードウェアとして実現する場合は、回路規模を小さくすることができる。またソフトウェアとして実現する場合は、処理ステップ数を減らすことができる。これにより低コストで逆量子化および逆スケーリング処理を行なうことが可能となる。
加えて、乗算を1回しか行なわないことにより、演算誤差が累積することや、以前の乗算による誤差が後続の乗算により増幅されることもない。したがってより精度のよい逆量子化および逆スケーリング処理が可能となる。さらに、乗算を1回しか行なわない場合でも、スケールファクタインデックスから2の整数乗の部分を第1のシフト量S1として取出すことだけでなく、ビットアロケーションBaおよび参照値Rから2の整数乗の部分を第2のシフト量S2として取出し、できる限り量子化符号Xに対する乗算処理をビットシフト処理に置き換えて、1回の乗算で誤差の発生を小さく抑えている。
[変形例1]
シフト処理部13は、シフト量S1,S2と、変換値Zとを入力としてまず次の式(32)に従って全体のシフト量を求め、次に式(33)に従ってシフト量S1,S2の両者をまとめてビットシフト処理してもよい。
S3=S1+S2 …(32)
Y=Z*2(S3) …(33)
これにより、1回のビットシフト処理で、逆量子化および逆スケーリング処理を実現することができ、処理がより簡素化される場合もある。
[変形例2]
変換用テーブルT2に式(34)に基づき予め算出した係数C3を格納しておき、変換部12はテーブル参照部11から係数C3を受けて、式(35)に基づいて加算および乗算処理を行ない変換値Zを生成して出力してもよい。
C2=C1*C2 …(34)
Z=C1*X+C2 …(35)
このような変形例でも同様に逆量子化および逆スケーリング処理を実現することができる。
また、本実施の形態では、P1[Scf]=3−Scf、M=3となる場合を例に挙げて説明したが、本発明の内容は、この場合に限定されるものではない。
一般に、P1[Scf]がスケールファクタインデックスScfに対して整数値として定められており、Mが整数値であるならば、変換用テーブルT1、変換用テーブルT2に格納される値として、式(17)〜(21)で定められる値の代わりに、式(1)〜(5)の値を用いて定められる値を格納しておき、同様の処理を行なうことで逆量子化および逆スケーリング処理を実現することができる。
S1=int(P1[Scf]/M) …(1)
R=mod(P1[Scf],M) …(2)
S2=int((R/M)+log2(P2[Ba]) …(3)
C1=(2(R/M)*P2[Ba])*(2(-S2)) …(4)
C2=P3[Ba] …(5)
また、本実施の形態では、P2[Ba]、P3[Ba]の値として、ISO/IEC11172−3で定められた値を用いたが、本発明の内容は、この場合に限定されるものではなく、予め定められた係数であれば、同様の処理を行なうことで、逆量子化および逆スケーリング処理を実現することができる。
また、従来技術、および、実施の形態では、量子化符号Xとして、MPEG1−Audio Layer IIフォーマットのデータの中から読出された値を最上位ビット側に詰めた場合を説明したが、変換用テーブルT2に格納された変換係数C2の桁位置を最下位ビット側に詰めた量子化符号Xの桁位置と予め合わせておき、変換用テーブルT2に格納されたシフト量S2にその桁数分のオフセットを予め加えておくことで、同様の処理で逆量子化、および、逆スケーリング処理を実現することができる。
また、従来技術、および実施の形態では、量子化符号XとしてMPEG1−Audio Layer IIフォーマットのデータの中から読出された値を最上位ビットを反転して用いる場合を説明したが、最上位ビットの反転が固定小数点値の2の補数表現において、−1.0を加算することに相当することを考えれば、変換用テーブルT2に格納された変換係数C2に予め−1.0分のオフセットを加えておくことで、同様の処理で逆量子化、および、逆スケーリング処理を実現することができる。
以上のように、本発明の内容は、値を保持する桁位置や符号ビットの反転処理の有無に関して実施の形態に示したような場合に限定されるものではなく、値が上位ビット詰めである場合、下位ビット詰めである場合、他の適当な位置に合わせられる場合、符号ビットの反転処理がある場合、ない場合にも同様に適用できるものである。
[実施の形態2]
図3は、実施の形態2のオーディオ復号化装置21の構成例を説明するブロック図である。
図4は、図3に示したオーディオ復号化装置において行なわれる復号化の処理を説明するためのフローチャートである。
図3、図4を参照して、演算部23は、図4に示した符号処理が記述されたプログラムコードをROM24から読出して実行するブロックである。演算部23は、復号化処理に必要な各種の演算を行なうとともに、ROM24、RAM25、入力I/F部22および出力I/F部へのアクセスを行なう。
ROM24は、読出可能な記録手段であり、図4の復号処理を記述したプログラムコードやその復号処理に必要なテーブルデータを格納するブロックである。
RAM25は、読出および書込が可能な記録手段であり、復号処理に用いられるMPEGデータや、一時的に生成される演算結果を保存するブロックである。
入力I/F部は、MPEGストリームMSを取得するためのブロックで、メモリ、CD(compact disc)、HDD(hard disk drive)などMPEGストリームを格納した蓄積媒体や、SPDIF(SONY / Philips Digital Interface Format)、インターネットなどMPEGストリームを伝送する通信媒体に接続するためのインターフェイスと、入力されたMPEGストリームを一時的に格納するためのバッファなどからなる。
出力I/F部26は、オーディオデータADATAを出力するためのブロックで、復号されたオーディオデータを一時的に格納するためのバッファと、アンプやスピーカなどの再生装置やMD、CDなどの記録装置に接続するためのインターフェイスなどからなる。
なお、図3のような構成は、MPEG規格などに代表される画像符号化されたデータの復号処理においても用いられる構成である。したがって、オーディオ復号化装置に限らず、逆量子化・逆スケーリング処理を行なうものであれば画像復号化装置にも本発明は適用できる。
次に、オーディオ復号化装置21で行なわれる処理を説明する。
まず図4のステップS1において復号化処理が開始される。次にステップS2においてMPEGデータの取得が行なわれる。このステップS2では、演算部23が入力I/F部22を介して1フレーム分のMPEGデータを取得し、RAM25に格納する。
続いてステップS3においてフォーマット解析が行なわれる。フォーマット解析は、RAM25に格納されたMPEGデータを読出して、MPEG1−Audio Layer II方式の規格として定められたフォーマットに従ってフレーム内に格納された各種の情報を分離して、所定の形式で取出す。取出された情報はRAM25に保存される。
この取出された情報の例としては、続くステップS4の逆量子化・逆スケーリング処理における入力となるスケーフファクタインデックスScf、ビットアロケーションBaおよび量子化符号X等が挙げられる。
ステップS4の逆量子化・逆スケーリングでは、スケールファクタインデックスScf、ビットアロケーションBaおよび量子化符号XはRAM24から読出され、これらを用いて逆量子化と逆スケーリング処理が行なわれ、逆量子化値Yが生成される。逆量子化値YはRAM25に格納される。逆量子化・逆スケーリング処理に必要なテーブルデータはRAM24から適宜読出されて用いられる。
MPEG1−Audio Layer IIフォーマット内では、オーディオデータは、ある種の周波数変換がされた状態で格納されており、ステップS4の結果得られた逆量子化値Yも周波数領域の値である。そこで、続くステップS5のフィルタ処理において、RAM25から逆量子化値Yが読出され、フィルタ処理が行なわれ、時間領域への変換が行なわれる。
その結果、時系列データであるオーディオデータが生成され、RAM25に格納される。ステップS6においてオーディオデータの出力が行なわれる。すなわち生成されたオーディオデータをRAM25から読出し、出力I/F部26を介してオーディオデータが出力される。
以上の処理によって、1フレーム分のMPEG1−Audio Layer II方式のデータが復号化される。この処理をフレームごとに繰返すことにより、MPEG1−Audio Layer II方式の復号化処理が行なわれる。
そしてステップS7において復号化処理が終了する。
図5は、図4におけるステップS4の逆量子化・逆スケーリング処理をさらに詳細に示したフローチャートである。
図5を参照して、ステップS11において逆量子化・逆スケーリング処理が開始される。スケールファクタインデックスScf、ビットアロケーションBaおよび量子化符号Xはこの処理の入力であり、MPEG1−Audio Layer IIフォーマットのデータの中から読出されてRAM25に格納されている。
まず、ステップS12において、テーブルT1を参照する処理が行なわれる。ステップS12では、RAM25からスケールファクタインデックスScfが読出され、ROM24に格納されている変換用テーブルT1が参照され対応するシフト量S1と参照値RとがROMから読出される。読出されたシフト量S1と参照値RはRAM25に格納される。なお、変換用テーブルT1は、図2で示した変換用テーブルT1と同様なものであるので説明は繰返さない。
続いて、ステップS13においてテーブルT2を参照する処理が行なわれる。ステップS13では、RAM25からビットアロケーションBaと参照値Rとが読出され、ROMに格納されている変換用テーブルT2を参照してシフト量S2と変換係数C1,C2とが生成される。このシフト量S2および変換係数C1,C2はRAM25に格納される。なお、変換用テーブルT2については図2で説明した変換用テーブルT2と同様であるので説明は繰返さない。
続いて、ステップS14において変換処理が行なわれる。変換処理は、RAM25から変換係数C1,C2と量子化符号Xとが読出され、次の式(6)に示された加算および乗算処理が行なわれ、変換値Zが生成される。生成された変換値ZはRAM25に格納される。
Z=C1*(X+C2) …(6)再掲
続いてステップS15においてシフト処理が行なわれる。シフト処理は、シフト量S1,S2と変換値ZとがRAM25から読出され、次の式(22)にさらに式(23)に示された演算が行なわれ、逆量子化値Yが生成される。生成された逆量子化値YはRAMに格納される。
Z2=Z*2(S1) …(22)再掲
Y=Z2*2(S2) …(23)再掲
以上のようにして、逆量子化および逆スケーリング処理が行なわれステップS16においてこの処理が終了する。
実施の形態2で示すように、コンピュータを用いてソフトウェアで逆量子化および逆スケーリング処理を行なう場合でも本発明は適用が可能である。
[演算精度の改善の検討]
以下に、具体的な数値を例に挙げて、本発明による逆量子化および逆スケーリング処理が、従来の手法と比べて演算精度が改善される場合について説明する。
まず、24ビットの固定小数点演算用のアーキテクチャを装備したDSPを用いて演算を行なうことを想定する。
このDSPの仕様について説明する。RAM、ROMへのアクセス単位は24ビット長であり、ROMに格納されたテーブルデータやRAMに格納される演算結果などの値は24ビットデータとして扱われる。
また、DSP内のレジスタのビット長は24ビットであり、演算結果を格納するアキュムレータは56ビットである。加算と乗算では、2つのレジスタ内のデータを入力とし、演算結果をアキュムレータに出力する。次の演算を行なうために、その演算結果をRAMやレジスタに格納する場合は、アキュムレータの56ビット中の任意の箇所の24ビットを取出して格納する。つまり、DSPは、24ビットの値を入力とし、24ビットの値を出力とするような加算および乗算が可能である。また、加算、乗算いずれの場合も、24ビット中の最上位ビットは符号ビットとして扱われるものとする。
ところで、このようなDSPを用いて演算を行なう場合、次のような性質がある。
第1に、値を固定小数点の24ビットデータとして扱うので、設定する小数点の位置により表現できる値の範囲が異なる。たとえば、最上位ビットが符号ビット、続く2ビットが整数部、残り21ビットが小数部と設定すると、値の範囲は−4〜+4となり、値がこれを超える場合桁あふれが発生する。
第2に、2の‐21乗未満の値には、対応するビットがないので、四捨五入などにより近似され、丸め誤差が生ずる。小数点の位置を上位ビット側に設定するほど丸め誤差は小さくなるが、桁あふれを起こしやすくなる。逆に、小数点の位置を下位ビット側に設定するほど桁あふれは防げるが丸め誤差は大きくなる。
このような性質があるため、精度よく演算を行なうためには桁あふれの起こらない範囲で、できる限り丸め誤差が小さくなるように小数点の位置を設定する必要がある。
以上のようなDSPを想定して、従来手法で逆量子化および逆スケーリング処理の演算を行なうと次のようになる。従来の手法では、次式に従って処理を行なう。
Y=Sv*P2[Ba]*(X+P3[Ba]) …(36)
この計算過程で生ずる各値の範囲と最適な小数点の設定によって誤差に大きな影響がある。
図6は、従来の手法による演算の計算過程で生ずる値の範囲と小数点の位置を示した図である。
図6を参照して、スケーリング係数Svの値は、スケールファクタインデックスScfが0〜62の範囲でSv=2((3-Scf)/3)を計算することにより求めた。また、P2[Ba]、P3[Ba]の範囲は、図13により求めた。
図7は、図6の最大値、最小値を算出するために計算した計算結果を示す図である。
図7における、X,(X+P3[Ba]),P2[Ba]*(X+P3[Ba])の各値については、背景技術の説明で記載したXの作成方法と図13とに基づいて各ステップ数に対する最大値、最小値を実際に計算して求めたものである。
図8は、誤差の発生を考慮しない理論値と、従来手法で行なった場合の計算値とを比較した図である。
図8では、ステップ数=9、X=0.0、Scf=1(Sv=1.58740105196820に対応)の場合の計算値の例が示されている。従来手法では、逆量子化値Yは、理論値に対して約0.000000256(=1.4110231572988900−1.4110229015350300)の演算誤差が発生する。なお、Svの理論値との差が大きいのは、図6においてSvの小数部ビットが21と他より小さくなっているのがその原因の1つである。
これと比較するため、本発明において用いられる演算による誤差の検討を行なう。本発明では次式に従って処理を行なう。
Y=(C1*(X+P3[Ba]))>>(S1+S2) …(37)
但し、>>はビットシフト演算子を示す。また、上式において各変数は、
C1=(2(mod(3-Scf,3)/3)*P2[Ba])*(2(-S2)) …(38)
S2=int((mod(3−Scf,3)/3)+log2(P2[Ba])…(39)
S1=int((3−Scf)/3) …(40)
である。
図9は、本発明の演算過程で生じる各値の範囲と最適な小数点位置の設定をまとめた図である。
図9において、X、P3[Ba]、(X+P3[Ba])、Yが、図9に示した範囲となる理由は図6に示した従来の演算の場合と同様であるので説明は繰返さない。また、C1の範囲についての理由は、S2が(2(mod(3-Scf,3)/3)*P2[Ba])を2未満にするためのシフト量を示しており、C1がS2だけシフトされた値として定義されているからである。
図9において(C1*(X+P3[Ba]))の範囲について記述されていないのは、Yを求めるときの(S1+S2)のシフト処理が、アキュムレータから24ビットデータを取出す位置の調整で実現できるためである。つまり、(C1*(X+P3[Ba]))の値をアキュムレータに保持したままYの算出ができるので、小数点位置の設定をする必要がないからである。
図10は、本発明の演算手法で算出した計算値と理論値とを比較した図である。
図10では、ステップ数=9、X=0.0、Scf=1として、図8に対応する計算を行なった結果を示している。
図10では、逆量子化値Yは、理論値に対して約0.0000000017(=1.4110231572988900−1.4110231399536100)の演算誤差が発生している。この演算誤差は、図8で示した従来の手法に比べ演算誤差の大きさが10分の1以下に抑えられている。したがって本発明では、逆量子化値Yを算出する際の演算誤差が低減できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
実施の形態1のオーディオ復号化装置の構成例を示したブロック図である。 図1における逆量子化・逆スケーリング部3の構成を示すブロック図である。 実施の形態2のオーディオ復号化装置21の構成例を説明するブロック図である。 図3に示したオーディオ復号化装置において行なわれる復号化の処理を説明するためのフローチャートである。 図4におけるステップS4の逆量子化・逆スケーリング処理をさらに詳細に示したフローチャートである。 従来の手法による演算の計算過程で生ずる値の範囲と小数点の位置を示した図である。 図6の最大値、最小値を算出するために計算した計算結果を示す図である。 誤差の発生を考慮しない理論値と、従来手法で行なった場合の計算値とを比較した図である。 本発明の演算過程で生じる各値の範囲と最適な小数点位置の設定をまとめた図である。 本発明の演算手法で算出した計算値と理論値とを比較した図である。 ISO/IEC11172−3のテーブルB.2の一例を示した図である。 ビットアロケーションBaとステップ数(Number of steps)との対応を示した図である。 ISO/IEC11172−3のテーブルB.4を示した図である。 従来の、逆量子化、および、逆スケーリング装置を説明するための概略ブロック図である。 従来の逆量子化および逆スケーリング処理をDSP等のコンピュータを用いて行なう場合のフローチャートである。
符号の説明
1 オーディオ復号化装置、2 フォーマット解析部、3 逆量子化・逆スケーリング部、4 フィルタ部、10,11 テーブル参照部、12 変換部、13 シフト処理部、21 オーディオ復号化装置、22 入力I/F部、23 演算部、26 出力I/F部、110,111 テーブル参照部、112 変換部、113 変換部、T1,T2 テーブル。

Claims (9)

  1. 量子化符号X、スケールファクタインデックスScfおよびビットアロケーションBaを受けて逆量子化および逆スケーリング処理を行い逆量子化値Yを出力する逆量子化装置であって、
    下式(1),(2)に基づき予め算出された各スケールファクタインデックスScfに対応するシフト量S1および参照値Rを格納する第1の記憶手段と、
    前記第1の記憶手段を参照して、入力されたスケールファクタインデックスScfに対応する前記シフト量S1および前記参照値Rを得る第1の参照手段と、
    下式(3),(4),(5)に基づき予め算出された各参照値Rおよび各ビットアロケーションBaに対応するシフト量S2,変換係数C1およびC2を格納する第2の記憶手段と、
    前記第2の記憶手段を参照して、前記第1の参照手段から出力された前記参照値Rと入力されたビットアロケーションBaに対応する前記シフト量S2,前記変換係数C1およびC2を得る第2の参照手段と、
    入力された量子化符号Xと前記第2の参照手段から出力された変換係数C1およびC2とを用いて下式(6)に従う変換を行い変換値Zを出力する変換手段と、
    前記変換手段から出力された前記変換値Zに対し前記第1、第2の参照手段によってぞれぞれ得られた前記シフト量S1,S2を用い下式(7)に従うシフト処理を行い前記逆量子化値Yを出力するシフト処理手段とを備える、逆量子化装置:
    S1=int(P1[Scf]/M) …(1)
    R=mod(P1[Scf],M) …(2)
    S2=int((R/M)+log2(P2[Ba]) …(3)
    C1=(2(R/M)*P2[Ba])*(2(-S2)) …(4)
    C2=P3[Ba] …(5)
    Z=C1*(X+C2) …(6)
    Y=Z*2(S1+S2) …(7)
    ただし、P1[Scf]は、各スケールファクタインデックスScfの値に対し予め定められた整数を示し、P2[Ba],P3[Ba]は、各ビットアロケーションBaの値に対し予め定められた小数を示し、Mは、予め定められた正の整数を示す。
  2. 前記シフト処理手段は、前記シフト処理を、前記シフト量S1に対応する第1のシフト演算を行ない、さらに、前記シフト量S2に対応する第2のシフト演算を行なうことにより実行する、請求項1に記載の逆量子化装置。
  3. 前記シフト処理手段は、前記シフト処理を、前記シフト量S1と前記シフト量S2の合計値に対応するシフト演算を一括して行なうことにより実行する、請求項1に記載の逆量子化装置。
  4. 前記変換手段は、変換係数C1,C2および量子化符号Xに基づき次式
    Z=C1*X+C2
    に従い前記変換値Zを生成する、請求項1〜3のいずれかに記載の逆量子化装置。
  5. 前記P1[Scf]は、3−Scfであり、
    前記Mは、3である、請求項1〜4のいずれかに記載の逆量子化装置。
  6. 復号化時に逆量子化処理を含むオーディオ符号化方式に基づいて復号化処理を行なうオーディオ復号化装置であって、
    請求項1〜5のいずれかに記載の逆量子化装置を備える、オーディオ復号化装置。
  7. 復号化時に逆量子化処理を含む画像符号化方式に基づいて復号化処理を行なう画像復号化装置であって、
    請求項1〜5のいずれかに記載の逆量子化装置を備える、画像復号化装置。
  8. 量子化符号X、スケールファクタインデックスScfおよびビットアロケーションBaを受けて逆量子化および逆スケーリング処理を行い逆量子化値Yを出力する逆量子化方法であって、
    下式(1),(2)に基づき予め算出された各スケールファクタインデックスScfに対応するシフト量S1および参照値Rを格納する第1の記憶手段を参照して、入力されたスケールファクタインデックスScfに対応する前記シフト量S1および前記参照値Rを得るステップと、
    下式(3),(4),(5)に基づき予め算出された各参照値Rおよび各ビットアロケーションBaに対応するシフト量S2,変換係数C1およびC2を格納する第2の記憶手段を参照して、得られた前記参照値Rと入力されたビットアロケーションBaに対応する前記シフト量S2,前記変換係数C1およびC2を得るステップと、
    入力された量子化符号Xと得られた前記変換係数C1およびC2とを用いて下式(6)に従う変換を行い変換値Zを出力するステップと、
    出力された前記変換値Zに対し得られた前記シフト量S1,S2を用い下式(7)に従うシフト処理を行い前記逆量子化値Yを出力するステップとを備える、逆量子化方法:
    S1=int(P1[Scf]/M) …(1)
    R=mod(P1[Scf],M) …(2)
    S2=int((R/M)+log2(P2[Ba]) …(3)
    C1=(2(R/M)*P2[Ba])*(2(-S2)) …(4)
    C2=P3[Ba] …(5)
    Z=C1*(X+C2) …(6)
    Y=Z*2(S1+S2) …(7)
    ただし、P1[Scf]は、各スケールファクタインデックスScfの値に対し予め定められた整数を示し、P2[Ba],P3[Ba]は、各ビットアロケーションBaの値に対し予め定められた小数を示し、Mは、予め定められた正の整数を示す。
  9. 請求項8に記載の逆量子化方法に基づく処理を、コンピュータに実行させるための逆量子化プログラム。
JP2003335736A 2003-09-26 2003-09-26 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム Expired - Fee Related JP3889738B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003335736A JP3889738B2 (ja) 2003-09-26 2003-09-26 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003335736A JP3889738B2 (ja) 2003-09-26 2003-09-26 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム

Publications (2)

Publication Number Publication Date
JP2005099629A true JP2005099629A (ja) 2005-04-14
JP3889738B2 JP3889738B2 (ja) 2007-03-07

Family

ID=34463041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003335736A Expired - Fee Related JP3889738B2 (ja) 2003-09-26 2003-09-26 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム

Country Status (1)

Country Link
JP (1) JP3889738B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007195117A (ja) * 2006-01-23 2007-08-02 Toshiba Corp 動画像復号装置
CN112085188A (zh) * 2019-06-12 2020-12-15 上海寒武纪信息科技有限公司 一种神经网络的量化参数确定方法及相关产品

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007195117A (ja) * 2006-01-23 2007-08-02 Toshiba Corp 動画像復号装置
CN112085188A (zh) * 2019-06-12 2020-12-15 上海寒武纪信息科技有限公司 一种神经网络的量化参数确定方法及相关产品
CN112085188B (zh) * 2019-06-12 2024-04-02 上海寒武纪信息科技有限公司 一种神经网络的量化参数确定方法及相关产品

Also Published As

Publication number Publication date
JP3889738B2 (ja) 2007-03-07

Similar Documents

Publication Publication Date Title
JP4049791B2 (ja) 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
JP2010537245A (ja) デジタルコンテンツの符号化および/または復号
JP2010537245A5 (ja)
US20060212290A1 (en) Audio coding apparatus and audio decoding apparatus
TW201126514A (en) Conversion of synthesized spectral components for encoding and low-complexity transcoding
JP2001184080A (ja) 圧縮オーディオデータへの電子透かし方法およびそのシステム
JP2000323993A (ja) Mpeg1オーディオレイヤiii復号処理装置およびコンピュータをmpeg1オーディオレイヤiii復号処理装置として機能させるためのプログラムを記録したコンピュータ読取可能な記録媒体
JP2002335161A (ja) 信号処理装置及び方法、信号符号化装置及び方法、並びに信号復号装置及び方法
JP3208001B2 (ja) 副バンドコーディングシステムの信号処理装置
KR20060084440A (ko) 오디오 인코딩에서 신속한 코드북 선택 방법
JP3889738B2 (ja) 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム
JP3475344B2 (ja) 高速分析フィルタ及び合成フィルタを備えるオーディオ符号化器及び復号化器
JPH07199996A (ja) 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
JPH0969781A (ja) オーディオデータ符号化装置
JP4357852B2 (ja) 時系列信号の圧縮解析装置および変換装置
JP3877683B2 (ja) 量子化装置及び逆量子化装置、並びにそれらの装置を利用可能なオーディオ及び画像の符号化装置及び復号装置
JP4170795B2 (ja) 時系列信号の符号化装置および記録媒体
JP4736331B2 (ja) 音響信号の再生装置
JP3501246B2 (ja) Mpegオーディオデコーダ
JP4438655B2 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP2006162774A (ja) 信号処理装置
JP2004198559A (ja) 時系列信号の符号化方法および復号方法
JP2002300042A (ja) 信号復号方法および信号復号装置ならびに信号復号処理プログラムを記録した記録媒体
JP3389849B2 (ja) 量子化装置
US7395300B2 (en) System, and method for calculating product of constant and mixed number power of two

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060706

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060926

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061020

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: 20061121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061130

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees