(57)【特許請求の範囲】
【請求項１】
所定時間区間のフレーム毎に周波数スペクトル系列を符号化する符号化装置であって、
上記周波数スペクトル系列の各周波数スペクトル値を量子化幅sで除算して整数値による系列である量子化スペクトル系列を得る量子化部と、
上記量子化スペクトル系列に含まれる量子化スペクトルを所定の規則に従って複数個（p個）ずつ纏めてN'組の整数値による組を得て、上記N'組の整数値による組のそれぞれについて、全単射な変換により、１つの整数値（以下、「変換後整数」という）を得ることにより、N'個の統合量子化スペクトルによる統合量子化スペクトル系列を得る整数変換部と、
上記統合量子化スペクトル系列に含まれるN'個の統合量子化スペクトルそれぞれを、ビット割当系列に含まれるN'個のビット割当値で符号化して、整数符号を得る整数符号化部と、
を含み、
上記周波数スペクトル系列から、上記整数変換部による変換と同一の変換、または、上記整数変換部による変換の変換前後の値の大小関係を近似する変換、により、N'個の推定統合スペクトルによる推定統合スペクトル系列を得る符号化対象推定部と、
上記推定統合スペクトル系列から、上記ビット割当系列と、上記ビット割当系列に対応するビット割当符号と、を得るビット割当部と、
上記推定統合スペクトル系列と上記ビット割当系列とから、上記量子化幅sを得る量子化幅取得部と、
をさらに含む符号化装置。
【請求項２】
請求項１に記載の符号化装置であって、
上記ビット割当部は、
複数個のビット割当系列の候補のうちの、ビット割当系列の各ビット割当値を指数とした２のべき乗の系列の形状が上記推定統合スペクトル系列の形状に最も近い候補を上記ビット割当系列として得るものであり、
上記量子化幅取得部は、
上記推定統合スペクトル系列の各推定統合スペクトル値を、上記ビット割当系列のうちの対応するビット割当値を指数とした２のべき乗の値で、除算して除算結果の系列を得て、上記除算結果の系列の各値の振幅のうちの最大値のp乗根以上かつ該p乗根の近傍の値を量子化幅sとして決定するものである、
符号化装置。
【請求項３】
請求項１又は２に記載の符号化装置であって、
上記整数変換部は、Mを上記整数値による組に含まれる整数値の個数とし、x1,x2,…,xMを上記整数値による組に含まれる整数値とし、x'iを上記整数値xiについての次式を満たす非負整数値とし、
【数１３】
0006962445.tif 000014
次式を計算することで上記１つの整数値である変換後整数yを得るものであり、
【数１４】
0006962445.tif 000015
上記式に用いる関数fM'は、x'maxをx'1,x'2,…,x'M'の最大値とし、Kをx'1,x'2,…,x'M'のうち最大値をとる整数値の個数とし、m1,m2,…,mKをx'1,x'2,…,x'M'のうち最大値をとる整数値の番号とし、~x'1,~x'2,…,~x'M'-Kをx'1,x'2,…,x'M'のうち最大値をとるK個の整数値を除いた整数値とし、aCbをa個からb個を選択する組み合わせの数とし、f0を0とし、次式を計算する再帰的な関数である、
【数１５】
0006962445.tif 000016
符号化装置。
【請求項４】
所定時間区間のフレーム毎に周波数スペクトル系列を符号化する符号化方法であって、
量子化部が、上記周波数スペクトル系列の各周波数スペクトル値を量子化幅sで除算して整数値による系列である量子化スペクトル系列を得る量子化ステップと、
整数変換部が、上記量子化スペクトル系列に含まれる量子化スペクトルを所定の規則に従って複数個（p個）ずつ纏めてN'組の整数値による組を得て、上記N'組の整数値による組のそれぞれについて、全単射な変換により、１つの整数値（以下、「変換後整数」という）を得ることにより、N'個の統合量子化スペクトルによる統合量子化スペクトル系列を得る整数変換ステップと、
整数符号化部が、上記統合量子化スペクトル系列に含まれるN'個の統合量子化スペクトルそれぞれを、ビット割当系列に含まれるN'個のビット割当値で符号化して、整数符号を得る整数符号化ステップと、
を含み、
符号化対象推定部が、上記周波数スペクトル系列から、上記整数変換ステップによる変換と同一の変換、または、上記整数変換ステップによる変換の変換前後の値の大小関係を近似する変換、により、N'個の推定統合スペクトルによる推定統合スペクトル系列を得る符号化対象推定ステップと、
ビット割当部が、上記推定統合スペクトル系列から、上記ビット割当系列と、上記ビット割当系列に対応するビット割当符号と、を得るビット割当ステップと、
量子化幅取得部が、上記推定統合スペクトル系列と上記ビット割当系列とから、上記量子化幅sを得る量子化幅取得ステップと、
をさらに含む符号化方法。
【請求項５】
請求項４に記載の符号化方法であって、
上記ビット割当ステップは、
複数個のビット割当系列の候補のうちの、ビット割当系列の各ビット割当値を指数とした２のべき乗の系列の形状が上記推定統合スペクトル系列の形状に最も近い候補を上記ビット割当系列として得、
上記量子化幅取得ステップは、
上記推定統合スペクトル系列の各推定統合スペクトル値を、上記ビット割当系列のうちの対応するビット割当値を指数とした２のべき乗の値で、除算して除算結果の系列を得て、上記除算結果の系列の各値の振幅のうちの最大値のp乗根以上かつ該p乗根の近傍の値を量子化幅sとして決定する、
符号化方法。
【請求項６】
請求項４又は５に記載の符号化方法であって、
上記整数変換ステップは、Mを上記整数値による組に含まれる整数値の個数とし、x1,x2,…,xMを上記整数値による組に含まれる整数値とし、x'iを上記整数値xiについての次式を満たす非負整数値とし、
【数１６】
0006962445.tif 000017
次式を計算することで上記１つの整数値である変換後整数yを得、
【数１７】
0006962445.tif 000018
上記式に用いる関数fM'は、x'maxをx'1,x'2,…,x'M'の最大値とし、Kをx'1,x'2,…,x'M'のうち最大値をとる整数値の個数とし、m1,m2,…,mKをx'1,x'2,…,x'M'のうち最大値をとる整数値の番号とし、~x'1,~x'2,…,~x'M'-Kをx'1,x'2,…,x'M'のうち最大値をとるK個の整数値を除いた整数値とし、aCbをa個からb個を選択する組み合わせの数とし、f0を0とし、次式を計算する再帰的な関数である、
【数１８】
0006962445.tif 000019
符号化方法。
【請求項７】
請求項４から６の何れかに記載の符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項８】
請求項４から６の何れかに記載の符号化方法の各ステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音信号の符号化技術などの信号処理技術において、音信号の周波数スペクトルに由来するサンプル列を量子化及び符号化する技術に関連する。
【背景技術】
【０００２】
時系列信号などのサンプル列を圧縮符号化する場合には、そのサンプル列の分散などを推定し、それに基づいてビット数を適切に割り当てることが従来行われている。これにより、少ない符号量で復号信号の歪みが小さくなるような効率のよい圧縮符号化を行う。音声信号や音響信号などの音信号のサンプル列を圧縮符号化する従来技術として非特許文献１の技術がある。【０００３】
図１は、非特許文献１の符号化装置の機能構成図である。非特許文献１の符号化装置は、入力された音信号のサンプル系列を所定時間区間のフレーム毎に周波数スペクトル系列X0,X1,…,XN-1（Nは、周波数領域の系列のサンプル数であり、正の整数）に変換する周波数領域変換部１０と、周波数スペクトル系列X0,X1,…,XN-1から各サンプルに割り当てるビット数B0,B1,…,BN-1による系列であるビット割当系列B0,B1,…,BN-1と当該ビット割当系列B0,B1,…,BN-1に対応する所定ビット数のビット割当符号Cbを得るビット割当部１４と、周波数スペクトル系列X0,X1,…,XN-1に基づく系列のエネルギーなどを用いて量子化幅sとその量子化幅sに対応する符号である所定ビット数の量子化幅符号CQを得る量子化幅取得部１１と、周波数スペクトル系列X0,X1,…,XN-1の各サンプルを量子化幅sで除算した結果の整数部分の系列である量子化スペクトル系列^X0,^X1,…,^XN-1を得る量子化部１２と、量子化スペクトル系列^X0,^X1,…,^XN-1の各サンプルに当該サンプルに対応するビット割当系列B0,B1,…,BN-1の値に応じてビット数を割り当ててサンプル毎に符号化して信号符号CXを得る整数符号化部１５と、ビット割当符号Cbと信号符号CXと量子化幅符号CQとを多重化して符号化装置の出力符号を得る多重化部１６とを含む。【０００４】
図２は、非特許文献１の復号装置の機能構成図である。非特許文献１の復号装置は、符号化装置が出力した出力符号を入力符号として得て、入力符号に含まれる量子化幅符号CQを逆量子化部２４に、入力符号に含まれるビット割当符号Cbをビット割当復号部２１に、入力符号に含まれる信号符号CXを整数復号部２２に、それぞれ出力する多重分離部２０と、ビット割当符号Cbに対応するビット割当系列B0,B1,…,BN-1を得るビット割当復号部２１と、ビット割当系列B0,B1,…,BN-1の各値に応じたビット数ごとに信号符号CXを復号して量子化スペクトル系列^X0,^X1,…,^XN-1の各サンプルの値を得る整数復号部２２と、量子化幅符号CQを復号して量子化幅sを得て、量子化スペクトル系列^X0,^X1,…,^XN-1の各サンプルの値に量子化幅sを乗算して得られる値の系列を復号周波数スペクトル系列XD0,XD1,…,XDN-1として得る逆量子化部２４と、復号周波数スペクトル系列XD0,XD1,…,XDN-1を時間領域の音信号のサンプル列である出力信号に変換する時間領域変換部２５とを含む。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】R. Zelinski and P. Noll, "Adaptive transform coding of speech signals," in IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 25, no. 4, pp. 299-309, Aug 1977.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１の符号化装置と復号装置によれば、ビットレートの高い条件下においては歪みを小さく抑えて圧縮することができるが、周波数スペクトル１サンプルあたりに整数値のビット数しか割り当てられないため、ビットレートの低い条件下では圧縮の効率が低下し、サンプル系列に割り当てられる平均ビット数に対する復号サンプル系列の歪みが大きくなってしまうという課題がある。【０００７】
本発明は、ビットレートの低い条件下でも、効率のよいビット数の割り当てを行い、歪みを小さく抑えた符号化及び復号を可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、この発明の一態様の符号化装置は、所定時間区間のフレーム毎に周波数スペクトル系列を符号化する符号化装置であって、周波数スペクトル系列の各周波数スペクトル値を量子化幅sで除算して整数値による系列である量子化スペクトル系列を得る量子化部と、量子化スペクトル系列に含まれる量子化スペクトルを所定の規則に従って複数個（p個）ずつ纏めてN'組の整数値による組を得て、N'組の整数値による組のそれぞれについて、全単射な変換により、１つの整数値を得ることにより、N'個の統合量子化スペクトルによる統合量子化スペクトル系列を得る整数変換部と、統合量子化スペクトル系列に含まれるN'個の統合量子化スペクトルそれぞれを、ビット割当系列に含まれるN'個のビット割当値で符号化して、整数符号を得る整数符号化部と、を含み、周波数スペクトル系列から、整数変換部による変換と同一の変換、または、整数変換部による変換の変換前後の値の大小関係を近似する変換、により、N'個の推定統合スペクトルによる推定統合スペクトル系列を得る符号化対象推定部と、推定統合スペクトル系列から、ビット割当系列と、ビット割当系列に対応するビット割当符号と、を得るビット割当部と、推定統合スペクトル系列とビット割当系列とから、量子化幅sを得る量子化幅取得部と、をさらに含む。
【発明の効果】
【０００９】
この発明によれば、ビットレートの低い条件下でも、効率のよいビット数の割り当てを行い、歪みを小さく抑えた符号化及び復号が可能となる。
【図面の簡単な説明】
【００１０】
【図１】図１は、従来の符号化装置の機能構成を例示する図である。
【図２】図２は、従来の復号装置の機能構成を例示する図である。
【図３】図３は、第一実施形態の符号化装置の機能構成を例示する図である。
【図４】図４は、第一実施形態の符号化方法の処理手続きを例示する図である。
【図５】図５は、第一実施形態の復号装置の機能構成を例示する図である。
【図６】図６は、第一実施形態の復号方法の処理手続きを例示する図である。
【図７】図７は、第一実施形態の変形例の符号化装置の機能構成を例示する図である。
【図８】図８は、第一実施形態の変形例の符号化方法の処理手続きを例示する図である。
【図９】図９は、第二実施形態の符号化装置の機能構成を例示する図である。
【図１０】図１０は、第二実施形態の符号化方法の処理手続きを例示する図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１２】
文中で使用する記号「^」「~」は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。数式中においてはこれらの記号は本来の位置、すなわち文字の真上に記述している。
【００１３】
この発明では、符号化装置において、各サンプルが整数値である量子化スペクトル系列について、複数の量子化スペクトルを１つの整数値に統合し、統合後の整数値に対してビット割り当てを行うことで、統合前の量子化スペクトル系列に含まれる各サンプルに対する細かく効率のよいビット数の割り当てを実質的に実現する。
【００１４】
量子化スペクトルの統合には、複数の整数値を１つの整数値に可逆に変換する全単射な変換を用い、復号装置においては１つの整数値を複数の整数値に変換する逆変換によって整数値を分離することで量子化スペクトル系列を得る。
【００１５】
＜第一実施形態＞
この発明の第一実施形態のシステムは、符号化装置および復号装置を含む。符号化装置は、所定の時間長のフレーム単位で入力された時間領域の音信号を符号化して符号を得て出力する。符号化装置が出力する符号は復号装置へ入力される。復号装置は入力された符号を復号してフレーム単位の時間領域の音信号を出力する。符号化装置に入力される音信号は、例えば、音声や音楽などの音をマイクロホンで収音し、AD変換して得られた音声信号又は音響信号である。また、復号装置が出力した音信号は、例えば、DA変換され、スピーカで再生されることで、受聴可能とされる。
【００１６】
≪符号化装置≫
図３及び図４を参照して、第一実施形態の符号化装置の処理手続きを説明する。図３に例示するように、第一実施形態の符号化装置１００は、周波数領域変換部１０、量子化幅取得部１１、量子化部１２、整数変換部１３、ビット割当部１４、整数符号化部１５、及び多重化部１６を含む。第一実施形態の符号化装置１００が図４に示す各ステップの処理を実行することにより第一実施形態の符号化方法が実現される。符号化装置１００に入力された時間領域の音信号は周波数領域変換部１０へ入力される。符号化装置１００は、各部で所定の時間長のフレーム単位での処理を行う。
【００１７】
なお、時間領域の音信号ではなく周波数領域の音信号を符号化装置１００に入力する構成としてもよい。この構成とする場合には、符号化装置１００には周波数領域変換部１０を含まないでよく、所定の時間長のフレーム単位の周波数領域の音信号を量子化部１２と量子化幅取得部１１に入力すればよい。
【００１８】
［周波数領域変換部１０］
周波数領域変換部１０には、符号化装置１００に入力された時間領域の音信号が入力される。周波数領域変換部１０は、所定の時間長のフレーム単位で、入力された時間領域の音信号を例えば修正離散コサイン変換（MDCT）などで周波数領域のN点の周波数スペクトル系列X0,X1,…,XN-1に変換して出力する（ステップＳ１０）。Nは正の整数であり、例えば予め定めた値でありN=32などである。また、Xに下付きで付してある添え字は周波数の低いスペクトルから順に振られている番号である。周波数領域への変換方法として、MDCTではない様々な公知の変換方法等（例えば、離散フーリエ変換、短時間フーリエ変換等）を用いてもよい。
【００１９】
周波数領域変換部１０は、変換により得た周波数スペクトル系列X0,X1,…,XN-1を量子化部１２と量子化幅取得部１１に出力する。なお、周波数領域変換部１０は、変換により得た周波数スペクトル系列に対して聴覚的な重み付けのためにフィルタ処理や圧伸処理を施し、フィルタ処理後や圧伸処理後の系列を周波数スペクトル系列X0,X1,…,XN-1として出力してもよい。
【００２０】
［量子化幅取得部１１］
量子化幅取得部１１には、周波数領域変換部１０が出力した周波数スペクトル系列X0,X1,…,XN-1が入力される。量子化幅取得部１１は、入力された周波数スペクトル系列X0,X1,…,XN-1を割り算するための値である量子化幅sと当該量子化幅sに対応する量子化幅符号CQとを出力する（ステップＳ１１）。量子化幅取得部１１は、従来的な方法で、例えば、予め用意してある量子化幅の候補の中で、入力された周波数スペクトル系列X0,X1,…,XN-1のエネルギーや振幅の最大値に比例するような値に最も近い量子化幅をそのフレームでの量子化幅sとして決定することなどで量子化幅sを得て、得られた量子化幅sを量子化部１２へ出力する。
【００２１】
量子化幅取得部１１は、決定した量子化幅sに対応する符号を得て、得た符号を量子化幅符号CQとして多重化部１６に出力する。
【００２２】
［量子化部１２］
量子化部１２には、周波数領域変換部１０が出力した周波数スペクトル系列X0,X1,…,XN-1、及び量子化幅取得部１１が出力した量子化幅sが入力される。量子化部１２は、入力された周波数スペクトル系列X0,X1,…,XN-1の各周波数スペクトル値を量子化幅sで割り算した結果の整数部分の値による系列である量子化スペクトル系列^X0,^X1,…,^XN-1を得て整数変換部１３へ出力する（ステップＳ１２）。
【００２３】
［整数変換部１３］
整数変換部１３には、量子化部１２が出力した量子化スペクトル系列^X0,^X1,…,^XN-1が入力される。整数変換部１３は、pを２以上の整数とし、また、N'をpとN'の積がNとなる正の整数として、入力された量子化スペクトル系列^X0,^X1,…,^XN-1から所定の規則に従ってp個の整数値による整数組をN'組得て、それぞれの整数組について全単射な変換により１つの整数値である統合量子化スペクトルを得て、得たN'個の整数値（すなわち、統合量子化スペクトル）による系列である統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1をビット割当部１４、及び整数符号化部１５に出力する（ステップＳ１３）。
【００２４】
それぞれの整数組について全単射な変換により１つの整数値を得る方法としては、それぞれの整数組について代数的に表現可能な全単射な変換により１つの整数値を得る方法、それぞれの整数組についてマッピングテーブルを参照して１つの整数値を得る方法、それぞれの整数組について予め定めた規則により１つの整数値を得る方法、などを用いることができる。また、１つの整数値として１つの非負整数値を得るようにしてもよい。なお、後述するビット割当部１４や整数符号化部１５や復号装置２００のビット割当復号部２１や整数復号部２２などの説明は、整数変換部１３が１つの整数値として１つの非負整数値を得る構成に対応させたものとしてある。
【００２５】
それぞれの整数組について代数的に表現可能な全単射な変換により１つの非負整数値を得る方法としては、例えば、整数組を構成する整数値がx1, x2の２つ（すなわち、p＝２）である場合には、式（１）によって１つの非負整数値yを得る方法を用いる。
【００２６】
【数１】
0006962445.tif 000002
【００２７】
ただし、整数i＝１、２について、x'iは、整数値xiについての以下の式（２）を満たす非負整数値とする。
【００２８】
【数２】
0006962445.tif 000003
【００２９】
なお、整数組を構成する各整数値x1, x2のそれぞれについて式（２）により非負整数値x'1, x'2を得て、得た非負整数値x'1, x'2による組から式（１）によって非負整数値yを得る方法としてもよいし、式（１）と式（２）を合せた変換式などにより整数組から非負整数値yを直接得る方法としてもよい。
【００３０】
また、例えば整数組を構成する整数値がx1,x2,…,xMのM個（すなわちp=M、ただしMは２以上の整数）であった場合、式（３）によって１つの非負整数値yを得る方法を用いる。
【００３１】
【数３】
0006962445.tif 000004
【００３２】
ただし、整数i=1,2,…,Mについて、x'iは、整数値xiについての上記の式（２）を満たす非負整数値とし、fM'(x'1,x'2,…,x'M')はM'個の変数による系列（変数系列）x'1,x'2,…,x'M'を入力とし、１変数を出力とする再帰的な関数であり、M'個の変数x'1,x'2,…,x'M'の最大値をx'max、最大値をとる変数の個数をK、最大値をとるK個の変数それぞれの変数系列内での番号をそれぞれm1,m2,…,mK、変数系列x'1,x'2,…,x'M'から最大値をとる変数を除いたM'-K個の変数による系列を~x'1,~x'2,…,~x'M'-K、f0を0、M'CKをM'個からK個を選択する組み合わせの数とすると、式（４）のように表せる。
【００３３】
【数４】
0006962445.tif 000005
【００３４】
N'組の整数組を得る所定の規則は、例えば、入力された量子化スペクトル系列^X0,^X1,…,^XN-1内の隣接するp個の整数値同士を整数組とする規則、すなわち、^X0から^Xp-1まで、^Xpから^X2p-1まで、・・・、^XN-pから^XN-1までをそれぞれ整数組とする規則などの、予め定めて符号化装置１００と復号装置２００に予め記憶しておける規則であればどのような規則であってもよい。
【００３５】
隣接するp個の整数値同士を整数組とする規則であれば、整数変換部１３は、入力された量子化スペクトル系列^X0,^X1,…,^XN-1のうちの^X0から^Xp-1までによる整数組から１つの整数値である統合量子化スペクトル^Y0を得て、^Xpから^X2p-1までによる整数組から１つの整数値である統合量子化スペクトル^Y1を得て、・・・、^XN-pから^XN-1までによる整数組から１つの整数値である統合量子化スペクトル^YN'-1を得て、得た整数値（すなわち、統合量子化スペクトル）による系列である統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1を出力する。
【００３６】
上記の整数組を１つの整数にする変換は、量子化スペクトル系列に含まれる複数のサンプルを１つのサンプルにすることにより、後段で行う統合量子化スペクトル系列の符号化において量子化スペクトル系列の各値に実質的に割り当てる平均ビット数をより細かく調節することを目的としている。例えば、2個の量子化スペクトル値を変換して得た1個の統合量子化スペクトル値を1ビットで符号化できたとすると、2個の量子化スペクトルそれぞれは平均で1/2ビット（2分の1ビット）で符号化できたこととなる。また例えば、3個の量子化スペクトル値を変換して得た1個の統合量子化スペクトル値を5ビットで符号化できたとすると、3個の量子化スペクトルそれぞれは平均で5/3ビット（3分の5ビット）で符号化できたこととなる。すなわち、p個の量子化スペクトル値を変換して得た統合量子化スペクトルを符号化すれば、その符号化処理においては統合量子化スペクトルそれぞれには1ビット単位での割り当てビット数の調整を行うことになるものの、量子化スペクトルそれぞれに割り当てる平均ビット数は実質的には1/pビット単位（p分の1ビット単位）で調節することができ、p個の量子化スペクトルそれぞれにビット数を割り当てるのと比べ、より細かなビット割り当てが可能となる。なお、上記の整数組を１つの整数にする変換のことを、以降では整数変換と呼び、変換により得た整数のことを変換後整数と呼ぶことがある。
【００３７】
上記整数組を構成する整数値の個数は多ければ多いほど、量子化スペクトルに実質的に割り当てる平均ビット数は細かく調節することが可能となるが、同時に整数変換に必要な演算量も増えてしまう。従って、上記の整数組を構成する整数値の個数pは、これらのことを考慮して、事前の実験等により予め定めて符号化装置１００と復号装置２００に記憶しておけばよい。また、上述した通りN'は、pとN'の積がNとなる数であるので、pと同様に符号化装置１００と復号装置２００に予め記憶しておけばよい。
【００３８】
［ビット割当部１４］
ビット割当部１４には、整数変換部１３が出力した統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1が入力される。ビット割当部１４は、例えば、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各統合量子化スペクトルに対応するビット割当値B0,B1,…,BN'-1によるビット割当系列B0,B1,…,BN'-1と当該ビット割当系列に対応するビット割当符号Cbとを得て、得られたビット割当系列B0,B1,…,BN'-1を整数符号化部１５へ、ビット割当符号Cbを多重化部１６へ、それぞれ出力する（ステップＳ１４）。
【００３９】
ビット割当部１４の一例として、後述する整数符号化部１５を統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各統合量子化スペクトルの２底対数値による系列である統合量子化対数スペクトル系列L0,L1,…,LN'-1を表す信号符号CXを得る構成とする場合の例を説明する。ビット割当部１４内の図示しない記憶部に、予め、N'個の整数で構成される対数スペクトル包絡系列LC0,LC1,…,LCN'-1の複数個の候補についての、各候補の対数スペクトル包絡系列LC0,LC1,…,LCN'-1と、各候補の各対数スペクトル包絡値を指数とした２のべき乗の系列であるスペクトル包絡系列HC0,HC1,…,HCN'-1と、各候補に対応する符号と、による組を記憶しておく。すなわち、ビット割当部１４内の図示しない記憶部には、対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補と、当該対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補に対応するスペクトル包絡系列HC0,HC1,…,HCN'-1の候補と、当該対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補を特定可能な符号と、による組が複数組予め記憶されている。ビット割当部１４は、当該記憶部に予め記憶された複数個の組のうち、スペクトル包絡系列HC0,HC1,…,HCN'-1の候補が入力された統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1に対応する組を選択して、当該選択した組の対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補をビット割当系列B0,B1,…,BN'-1として出力し、当該選択した組の符号をビット割当符号Cb（ビット割当を表す符号）として得て出力する。
【００４０】
例えば、ビット割当部１４は、当該記憶部内に記憶されたスペクトル包絡系列HC0,HC1,…,HCN'-1の候補それぞれについて、入力された統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1中の各統合量子化スペクトル値^Ykをスペクトル包絡系列HC0,HC1,…,HCN'-1の候補中の対応する各スペクトル包絡値HCkで除算して得られる比の系列のエネルギーを求め、エネルギーが最小となるスペクトル包絡系列HC0,HC1,…,HCN'-1の候補に対応する対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補であるビット割当系列B0,B1,…,BN'-1とビット割当符号Cbとを出力する。
【００４１】
後述する整数符号化部１５が統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1を符号化して得る信号符号CXは、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各統合量子化スペクトルの２底対数値による系列である統合量子化対数スペクトル系列L0,L1,…,LN'-1の各統合量子化対数スペクトル値の桁数の二進数である符号CX0,CX1,…,CXN'-1により構成される。ここで、ビット割当部１４が選択した組のスペクトル包絡系列HC0,HC1,…,HCN'-1の候補が入力された統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1に対応するということは、ビット割当部１４が選択した組の対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補が統合量子化対数スペクトル系列L0,L1,…,LN'-1に対応することになる。そこで、ビット割当部１４は、選択した組の対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補をビット割当系列B0,B1,…,BN'-1とし、当該選択した組の符号をビット割当符号Cbとして、それぞれ出力するのである。
【００４２】
なお、各候補の対数スペクトル包絡系列LC0,LC1,…,LCN'-1と、各候補の各対数スペクトル包絡値を指数とした２のべき乗の系列であるスペクトル包絡系列HC0,HC1,…,HCN'-1と、は何れか一方のみを記憶部に記憶しておき、他方をビット割当部１４で計算するようにしてもよい。
【００４３】
［整数符号化部１５］
整数符号化部１５には、整数変換部１３が出力した統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1、及びビット割当部１４が出力したビット割当系列B0,B1,…,BN'-1が入力される。整数符号化部１５は、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各値を、それに対応するビット割当系列B0,B1,…,BN'-1の各ビット割当値のビット数の符号を得るように符号化して、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各値に対応する符号CX0,CX1,…,CXN'-1を得て、得た符号CX0,CX1,…,CXN'-1全てを合せたものである信号符号CXを多重化部１６へ出力する（ステップＳ１５）。
【００４４】
整数符号化部１５は、例えば、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各統合量子化スペクトル値を二進数で表した符号を得て、得た各符号をビット割当系列B0,B1,…,BN'-1が示す各ビット数に収めて符号CX0,CX1,…,CXN'-1とし、符号CX0,CX1,…,CXN'-1全てを合せたものである信号符号CXを得て出力する。すなわち、整数符号化部１５は、例えば、ビット割当系列B0,B1,…,BN'-1中のビット割当値Bkが５であるなら、入力された統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1中の対応する統合量子化スペクトル値^Ykを５桁の二進数で表したものを符号CXkとして得る、といったような符号化処理を行う。
【００４５】
［多重化部１６］
多重化部１６は、量子化幅取得部１１が出力した量子化幅符号CQと、ビット割当部１４が出力したビット割当符号Cbと、整数符号化部１５が出力した信号符号CXと、を受け取り、これらの符号全てを含む出力符号、例えば量子化幅符号CQとビット割当符号Cbと信号符号CXを繋ぎ合わせて得た出力符号、を出力する（ステップＳ１６）。
【００４６】
≪復号装置≫
図５及び図６を参照して、第一実施形態の復号装置の処理手続きを説明する。図５に例示するように、第一実施形態の復号装置２００は、多重分離部２０、ビット割当復号部２１、整数復号部２２、整数逆変換部２３、逆量子化部２４、時間領域変換部２５を含む。第一実施形態の復号装置２００が図６に示す各ステップの処理を実行することにより、第一実施形態の復号方法が実現される。復号装置２００には符号化装置１００が出力した符号が入力される。すなわち、復号装置２００には符号化装置１００が出力した出力符号が入力符号として入力される。復号装置２００に入力された入力符号は多重分離部２０へ入力される。復号装置２００は、各部で所定の時間長のフレーム単位での処理を行う。
【００４７】
［多重分離部２０］
多重分離部２０には、復号装置２００に入力された入力符号が入力される。多重分離部２０は、入力符号をフレーム毎に受け取り、入力符号を分離して、入力符号に含まれるビット割当符号Cbをビット割当復号部２１へ、入力符号に含まれる量子化幅符号CQを逆量子化部２４へ、入力符号に含まれる信号符号CXを整数復号部２２へ、それぞれ出力する（ステップＳ２０）。
【００４８】
［ビット割当復号部２１］
ビット割当復号部２１内の図示しない記憶部には、予め、対応する符号化装置１００のビット割当部１４の図示しない記憶部に記憶されているのと同じN'個の整数で構成される対数スペクトル包絡系列LC0,LC1,…,LCN'-1の複数個の候補について、各候補の対数スペクトル包絡系列LC0,LC1,…,LCN'-1と、各系列に対応する符号と、による組を記憶しておく。すなわち、ビット割当復号部２１内の図示しない記憶部には、対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補と、当該対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補を特定可能な符号と、による組が複数組予め記憶されている。ビット割当復号部２１には、多重分離部２０が出力したビット割当符号Cbが入力される。ビット割当復号部２１は、入力されたビット割当符号Cbに対応する対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補を記憶部から得て、得られた対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補をビット割当系列B0,B1,…,BN'-1として得て、得られたビット割当系列B0,B1,…,BN'-1を整数復号部２２に出力する（ステップＳ２１）。すなわち、ビット割当復号部２１は、当該記憶部に予め記憶された複数個の組のうち、符号がビット割当符号Cbに対応する組を選択し、当該選択した組の対数スペクトル包絡系列の候補をビット割当系列B0,B1,…,BN'-1として得て、得られたビット割当系列B0,B1,…,BN'-1を整数復号部２２に出力する。
【００４９】
なお、対応する符号化装置１００のビット割当部１４の図示しない記憶部には、各候補の対数スペクトル包絡系列LC0,LC1,…,LCN'-1と、各候補の各対数スペクトル包絡値を指数とした２のべき乗の系列であるスペクトル包絡系列HC0,HC1,…,HCN'-1と、の少なくとも何れかを記憶部に記憶していたが、復号装置２００のビット割当復号部２１ではスペクトル包絡系列HC0,HC1,…,HCN'-1は用いないので、スペクトル包絡系列HC0,HC1,…,HCN'-1は記憶しておく必要はなく、対数スペクトル包絡系列LC0,LC1,…,LCN'-1と各系列に対応する符号とによる組を記憶しておけばよい。
【００５０】
［整数復号部２２］
整数復号部２２には、多重分離部２０が出力した信号符号CX、及びビット割当復号部２１が出力したビット割当系列B0,B1,…,BN'-1が入力される。整数復号部２２は、信号符号CXをビット割当系列B0,B1,…,BN'-1の各ビット割当値が示すビット数の符号CX0,CX1,…,CXN'-1に分けて、符号CX0,CX1,…,CXN'-1それぞれを復号して復号統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1を得て、得た復号統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1を整数逆変換部２３へ出力する（ステップＳ２２）。
【００５１】
整数復号部２２は、例えば、各符号CX0,CX1,…,CXN'-1が表す二進数を各復号統合量子化スペクトル値とする復号統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1を得て出力する。すなわち、整数復号部２２は、例えば、ビット割当系列B0,B1,…,BN'-1中のビット割当値Bkが５であるなら、入力された信号符号CX中の対応する５ビットの符号CXkを５桁の二進数とした値を復号統合量子化スペクトル値^Ykとして得る、といったような復号処理を行う。
【００５２】
［整数逆変換部２３］
整数逆変換部２３には、整数復号部２２が出力した復号統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1が入力される。整数逆変換部２３は、入力された復号統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1に含まれる整数値それぞれについて第一実施形態の符号化装置１００の整数変換部１３が行った変換と逆の変換を行ってp個の整数値による整数組をN'組得て、得たN'組の整数組から第一実施形態の符号化装置１００の整数変換部１３が行った規則に対応する規則に従って復号量子化スペクトル系列^X0,^X1,…,^XN-1を得て出力する（ステップＳ２３）。
【００５３】
第一実施形態の符号化装置１００の整数変換部１３が式（１）と式（２）による変換を行った場合には、整数逆変換部２３は、式（１）と式（２）による変換の逆の変換として、式（５）によって１つの非負整数値yから２つの非負整数値x'1, x'2を得、整数i＝１、２について非負整数値x'iから以下の式（６）により正負符号のある整数値xiを得る処理により、整数値x1, x2を得る。
【００５４】
【数５】
0006962445.tif 000006
【００５５】
ここで、式（５）の
【００５６】
【数６】
0006962445.tif 000007
【００５７】
は、yの平方根の床関数、すなわち、yの平方根を超えない最も大きい整数である。
【００５８】
また、第一実施形態の符号化装置１００の整数変換部１３が式（３）と式（２）による変換を行った場合には、整数逆変換部２３は、式（３）と式（２）による変換の逆の変換として、式（７）によって１つの非負整数値yからM個の非負整数値x'1,x'2,…,x'Mを得、整数i=1,2,…,Mについて、非負整数値x'iから上記の式（６）により正負符号のある整数値xiを得る処理により、整数値x1,x2,…,xMを得るものを用いる。
【００５９】
【数７】
0006962445.tif 000008
【００６０】
ただし、fM'-1(y)は１変数を入力としてM'個の変数を出力とする再帰的な関数であり、yを超えない最大のM'次平方根
【００６１】
【数８】
0006962445.tif 000009
【００６２】
と、
【００６３】
【数９】
0006962445.tif 000010
【００６４】
が0を下回らない最大のKと、
【００６５】
【数１０】
0006962445.tif 000011
【００６６】
により得られるM'-K個の変数からなる変数系列~x'1,~x'2,…,~x'M'-Kと、
【００６７】
【数１１】
0006962445.tif 000012
【００６８】
をM'CKで割った余りであるλM'を用いて、m=0からm=M'-1までに関してそれぞれ、i1=0, i2=0を初期値として式（８）を計算することでM'個の非負整数値x'1,x'2,…,x'M'を得て、出力するものである。
【００６９】
【数１２】
0006962445.tif 000013
【００７０】
また、f0-1(y)は何も出力しない関数を意味する。
【００７１】
［逆量子化部２４］
逆量子化部２４には、多重分離部２０が出力した量子化幅符号CQと、整数逆変換部２３が出力した復号量子化スペクトル系列^X0,^X1,…,^XN-1と、が入力される。逆量子化部２４は、入力された量子化幅符号CQを復号して量子化幅sを得る。また、逆量子化部２４は、入力された復号量子化スペクトル系列^X0,^X1,…,^XN-1の各復号量子化スペクトル値と、復号により得た量子化幅sとを掛け合わせて得た値の系列である復号周波数スペクトル系列XD0,XD1,…,XDN-1を得て時間領域変換部２５に出力する（ステップＳ２４）。
【００７２】
［時間領域変換部２５］
時間領域変換部２５には、逆量子化部２４が出力した復号周波数スペクトル系列XD0,XD1,…,XDN-1が入力される。時間領域変換部２５は、フレーム毎に、復号周波数スペクトル系列XD0,XD1,…,XDN-1を、符号化装置１００の周波数領域変換部１０が行った周波数領域への変換方法に対応する時間領域への変換方法、例えば逆MDCT、を用いて時間領域の信号に変換してフレーム単位の音信号（復号音信号）を得て出力する（ステップＳ２５）。
【００７３】
なお、符号化装置１００の周波数領域変換部１０において、変換により得た周波数スペクトル系列に対して聴覚的な重み付けのためのフィルタ処理や圧伸処理を施した場合は、時間領域変換部２５は、これらの処理に対応する逆フィルタ処理や逆圧伸処理を復号周波数スペクトル系列に行ったものを時間領域の信号に変換して得た復号音信号を出力する。
【００７４】
なお、時間領域の復号音信号ではなく周波数領域の復号音信号を復号装置２００が出力する構成としてもよい。この構成とする場合には、復号装置２００には時間領域変換部２５を含まないでよく、逆量子化部２４が得たフレーム単位の復号周波数スペクトル系列を時間区間順に連結して周波数領域の復号音信号として出力すればよい。
【００７５】
＜第一実施形態の変形例＞
第一実施形態の符号化装置１００では、周波数スペクトル系列X0,X1,…,XN-1を量子化する前に得られた量子化幅sを用いて量子化（割り算）を行ってから整数変換を行うことにより得た統合量子化スペクトル系列を整数符号化部１５で符号化して信号符号CXを得ていた。第一実施形態の符号化装置１００では、整数符号化部１５が各統合量子化スペクトル値^Ykを二進数で表した符号を得ることから、統合量子化スペクトル値^Ykによっては得た符号のビット数がビット割当値Bk、すなわち、想定していた上限ビット数、を超えてしまう場合がある。その場合、対応する復号装置２００では正しく復号できなくなってしまうことから、符号化装置で量子化幅を大きくして量子化、及び符号化をしなおすことにより整数符号化部が得る符号のビット数を少なくしてビット割当値Bkを超えないようにすることが可能であるが、量子化幅が大きすぎると量子化が粗くなりすぎ、復号信号の精度の低下につながる。つまり符号化装置は、整数符号化部が得る符号のビット数がビット割当値を超えない中で最小の量子化幅を用いるのがよい。そこで第一実施形態の変形例の符号化装置１０１は、各フレームにおいて反復的に量子化、整数変換、及び符号化を行い、その都度量子化幅を調節して更新することで最適な量子化幅を得る。
【００７６】
図７及び図８を参照して、第一実施形態の変形例の符号化装置１０１の処理手続きを説明する。図７に例示するように、第一実施形態の変形例の符号化装置１０１は、第一実施形態の符号化装置１００の構成に加えて量子化幅更新部１７を備え、図８に例示するように、量子化部１２、整数変換部１３、ビット割当部１４、及び量子化幅更新部１７での処理を反復的に行う。以下、第一実施形態の符号化装置１００と異なる点についてのみ説明する。
【００７７】
［変形例の量子化幅取得部１１］
変形例の量子化幅取得部１１は、第一実施形態の量子化幅取得部１１と同様に量子化幅sを得て、得られた量子化幅sを量子化部１２、及び量子化幅更新部１７へ出力する。この量子化幅sが量子化部１２の処理で用いられる量子化幅の初期値となる（ステップＳ１１）。
【００７８】
［変形例の量子化部１２］
変形例の量子化部１２は、周波数領域変換部１０が出力した周波数スペクトル系列X0,X1,…,XN-1、及び量子化幅取得部１１或いは量子化幅更新部１７が出力した量子化幅sを用いて、第一実施形態の量子化部１２と同様に、入力された周波数スペクトル系列X0,X1,…,XN-1の各周波数スペクトル値を量子化幅sで割り算した結果の整数部分の値による系列である量子化スペクトル系列^X0,^X1,…,^XN-1を得て整数変換部１３へ出力する（ステップＳ１２）。ここで、量子化部１２が各フレームでの初回に実行される際に用いられる量子化幅sは、量子化幅取得部１１が得た量子化幅s、すなわち量子化幅の初期値である。また、量子化部１２が２回目以降に実行される際に用いられる量子化幅sは、量子化幅更新部１７が得た量子化幅s、すなわち量子化幅の更新値である。
【００７９】
［変形例のビット割当部１４］
変形例のビット割当部１４は、まず、第一実施形態のビット割当部１４と同じ処理により、入力された統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各統合量子化スペクトルに対応するビット割当系列B0,B1,…,BN'-1と当該ビット割当系列に対応するビット割当符号Cbとを得る（ステップＳ１４−１）。
【００８０】
ビット割当部１４は、次に、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各値が、それぞれに割り当てられたビット数であるB0,B1,…,BN'-1ビットで表現できる値の範囲内であるか否かを判定する（ステップＳ１４−２）。具体的には、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1中の各統合量子化スペクトルの２底対数値のうち、ビット割当系列B0,B1,…,BN'-1中の対応するビット割当値を超えるものが１つもないか否か、を判定する。ビット割当部１４は、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1中の各統合量子化スペクトルの２底対数値のうち、ビット割当系列B0,B1,…,BN'-1中の対応するビット割当値を超えるものが１つもないと判定し、すなわち、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各値がそれぞれに割り当てられたビット数であるB0,B1,…,BN'-1ビットで表現できる値の範囲内であると判定し、且つ量子化幅の更新回数が予め定めた回数以上の場合（ステップＳ１４−２のＹＥＳ）には、ビット割当系列B0,B1,…,BN'-1を出力するとともに、多重化部１６に対しビット割当符号Cbを出力し、量子化幅更新部１７に対し量子化幅更新部１７が得た量子化幅に対応する符号である量子化幅符号CQを多重化部１６へ出力する指示信号を出力する（ステップＳ１４−３）。ビット割当部１４は、それ以外の場合には、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各２底対数値からそれぞれに対応するビット割当系列B0,B1,…,BN'-1の値を引いた値の系列中の最大値を最大不足ビット数Bとして得て量子化幅更新部１７へ出力する（ステップＳ１４−２のＮＯ）。なお、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各２底対数値は、整数符号化部１５が統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各値を符号化することにより得る符号のビット数である。
【００８１】
［量子化幅更新部１７］
量子化幅更新部１７は、ビット割当部１４が出力した最大不足ビット数Bを受け取り、Bが正の場合、つまり統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1に割り当てるべきビット数が不足している場合には量子化幅sの値を大きな値に更新し、Bが負の場合、つまり統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1に割り当てるべきビット数が余っている場合には量子化幅sの値を小さな値に更新し、さらに、量子化幅の更新回数をインクリメントし、更新後の量子化幅sの値（量子化幅sの更新値）を量子化部１２へ出力する（ステップＳ１７−１）。
【００８２】
また、量子化幅更新部１７は、ビット割当部１４から量子化幅符号CQを多重化部１６へ出力する指示信号が入力された場合には、量子化幅sに対応する符号を得て、得た符号を量子化幅符号CQとして多重化部１６に出力する（ステップＳ１７−２）。
【００８３】
＜第二実施形態＞
上記第一実施形態の変形例の符号化装置１０１によれば、量子化幅更新部１７において、整数符号化部１５において統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1をビット割当部１４にて定めたビット数で表現できる量子化幅の中での最小の値を反復的に求め、量子化幅の値を決定することで、量子化歪みの小さい符号化を行うことができる。しかしこの場合には、量子化部１２、ビット割当部１４、及び整数変換部１３の処理を複数回行う必要があり、演算量が多く必要となる可能性がある。量子化部１２、ビット割当部１４、及び整数変換部１３の処理を複数回行う必要があるのは、量子化部１２が周波数スペクトル系列X0,X1,…,XN-1を量子化してみなければ、その量子化後の整数値の系列である量子化スペクトル系列^X0,^X1,…,^XN-1を変換した統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1を得られないことに起因する。そこで第二実施形態の符号化装置は、量子化前に、整数符号化部に入力され得る統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の形状、つまり統合量子化スペクトル系列の大まかな大小関係を推定する符号化対象推定部を用いて、ビット割当部によるビット割り当てと同時に量子化幅取得部で量子化幅を決定することにより、ビット割当部、整数変換部の処理を複数回行う必要なく適切な量子化幅の値を決定する。
【００８４】
この発明の第二実施形態のシステムは、第一実施形態のシステムと同様に、符号化装置と復号装置を含む。ただし、第一実施形態とは符号化装置のみが異なり、復号装置は第一実施形態と同じである。
【００８５】
≪符号化装置≫
図９及び図１０を参照して、第二実施形態の符号化装置の処理手続きを説明する。図９に例示するように、第二実施形態の符号化装置１０２は、周波数領域変換部１０、符号化対象推定部１８、量子化幅取得部１１、量子化部１２、整数変換部１３、ビット割当部１４、整数符号化部１５、及び多重化部１６を含む。図９の第二実施形態の符号化装置１０２が図３の第一実施形態の符号化装置１００と異なるのは、符号化対象推定部１８を備え、周波数領域変換部１０が周波数スペクトル系列を符号化対象推定部１８にも出力し、ビット割当部１４が符号化対象推定部１８の出力を入力とした動作をし、量子化幅取得部１１が符号化対象推定部１８、及びビット割当部１４の出力を入力とした動作をするところである。第二実施形態の符号化装置１０２のその他の構成、すなわち、量子化部１２、整数変換部１３、整数符号化部１５の動作は第一実施形態の符号化装置１００のものと同様である。以下、第一実施形態の符号化装置１００と異なる点についてのみ説明する。
【００８６】
［第二実施形態の周波数領域変換部１０］
第二実施形態の周波数領域変換部１０は、第一実施形態の符号化装置１００の周波数領域変換部１０と同じ動作をするが、出力先のみが異なる。周波数領域変換部１０は、フレーム単位で、符号化装置１０２に入力された時間領域の音信号を周波数領域のN点の周波数スペクトル系列X0,X1,…,XN-1に変換して量子化部１２、及び符号化対象推定部１８へ出力する（ステップＳ１０）。第一実施形態と同様に、Nは予め定めた正の数pとN'の積で表されているものとする。
【００８７】
［符号化対象推定部１８］
符号化対象推定部１８には、周波数領域変換部１０が出力した周波数スペクトル系列X0,X1,…,XN-1が入力される。符号化対象推定部１８は、入力された周波数スペクトル系列X0,X1,…,XN-1から整数変換部１３と同じ規則に従ってp個の整数値による整数組をN'組得て、それぞれの整数組について整数変換部１３が行う全単射な変換と同じ変換またはその変換前後の値の大小関係を近似する変換により１つの整数値である推定統合スペクトルを得て、得たN'個の整数値（すなわち、推定統合スペクトル）による系列である推定統合スペクトル系列~Y0,~Y1,…,~YN'-1をビット割当部１４、及び量子化幅取得部１１に出力する（ステップＳ１８）。整数変換部１３が行うのと同じ変換を行う場合には、例えば、それぞれの整数組について代数的に表現可能な全単射な変換により１つの整数値を得る方法として、整数変換部１３と同じ式（１）と式（２）による変換や、式（２）から式（４）による変換を、例えば用いる。また、式（１）や式（４）はその第一項、つまり入力をp乗している項の値が支配的であり、量子化幅の取得に際しては、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の形状、つまり、量子化スペクトル系列^X0,^X1,…,^XN-1を整数変換して得られる統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1における統合量子化スペクトルの値の大小関係が求められることが重要であることから、整数変換部１３が式（１）と式（２）による変換を行う場合には、符号化対象推定部１８での変換は、全単射ではないが、整数変換部１３が行う変換の変換前後の値の大小関係を近似する変換として、式（１）に代えて式（１）の右辺を第一項のみとした式を用いてもよい。同様に、整数変換部１３が式（２）から式（４）による変換を行う場合には、符号化対象推定部１８での変換は、整数変換部１３が行う変換の変換前後の値の大小関係を近似する変換として、式（４）に代えて式（４）の右辺を第一項のみとした式を用いてもよい。
【００８８】
このように、符号化対象推定部１８は、整数変換部１３と同じ変換、または、整数変換部１３が行う変換の変換前後の値の大小関係を近似する変換、を周波数スペクトル系列X0,X1,…,XN-1に行って推定統合スペクトル系列~Y0,~Y1,…,~YN'-1を得ることで、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の形状を推定し、ビットの割り当てと適切な量子化幅の値の推定の手がかりとする。
【００８９】
［第二実施形態のビット割当部１４］
第二実施形態のビット割当部１４には、符号化対象推定部１８が出力した推定統合スペクトル系列~Y0,~Y1,…,~YN'-1が入力される。ビット割当部１４は例えば、推定統合スペクトル系列~Y0,~Y1,…,~YN'-1の各推定統合スペクトルに対応するビット割当値B0,B1,…,BN'-1による系列であるビット割当系列B0,B1,…,BN'-1と当該ビット割当系列に対応するビット割当符号Cbとを得て、得られたビット割当系列B0,B1,…,BN'-1を整数符号化部１５と量子化幅取得部１１へ、ビット割当符号Cbを多重化部１６へ、それぞれ出力する（ステップＳ１４）。
【００９０】
ビット割当部１４の一例として、第一実施形態と同様に、整数符号化部１５を統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各統合量子化スペクトルの２底対数値による系列である統合量子化対数スペクトル系列L0,L1,…,LN'-1を表す信号符号CXを得る構成とする場合の例を説明する。
【００９１】
ビット割当部１４内の図示しない記憶部に、予め、N'個の整数で構成される対数スペクトル包絡系列LC0,LC1,…,LCN'-1の複数個の候補についての、各候補の対数スペクトル包絡系列LC0,LC1,…,LCN'-1と、各候補の各対数スペクトル包絡値を指数とした２のべき乗の系列であるスペクトル包絡系列HC0,HC1,…,HCN'-1と、各候補に対応する符号と、による組を記憶しておく。すなわち、ビット割当部１４内の図示しない記憶部には、対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補と、当該対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補に対応するスペクトル包絡系列HC0,HC1,…,HCN'-1の候補と、当該対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補を特定可能な符号と、による組が複数組予め記憶されている。ビット割当部１４は、当該記憶部に予め記憶された複数個の組のうち、スペクトル包絡系列HC0,HC1,…,HCN'-1の候補が入力された推定統合スペクトル系列~Y0,~Y1,…,~YN'-1に対応する組を選択して、当該選択した組の対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補をビット割当系列B0,B1,…,BN'-1として出力し、当該選択した組の符号をビット割当符号Cb（ビット割当を表す符号）として得て出力する。
【００９２】
例えば、ビット割当部１４は、当該記憶部内に記憶されたスペクトル包絡系列HC0,HC1,…,HCN'-1の候補のそれぞれについて、入力された推定統合スペクトル系列~Y0,~Y1,…,~YN'-1中の各推定統合スペクトル値~Ykをスペクトル包絡系列HC0,HC1,…,HCN'-1の候補中の対応する各スペクトル包絡値HCkで除算して得られる比の系列のエネルギーを求め、エネルギーが最小となるスペクトル包絡系列HC0,HC1,…,HCN'-1の候補に対応する対数スペクトル包絡系列LC0,LC1,…,LCN'-1の候補であるビット割当系列B0,B1,…,BN'-1とビット割当符号Cbとを出力する。
【００９３】
整数符号化部１５が統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1を符号化して得る信号符号CXは、統合量子化スペクトル系列^Y0,^Y1,…,^YN'-1の各統合量子化スペクトルの２底対数値による系列である統合量子化対数スペクトル系列L0,L1,…,LN'-1の各統合量子化対数スペクトル値の桁数の二進数である符号CX0,CX1,…,CXN'-1を合せたものである。
【００９４】
なお、各候補の対数スペクトル包絡系列LC0,LC1,…,LCN'-1と、各候補の各対数スペクトル包絡値を指数とした２のべき乗の系列であるスペクトル包絡系列HC0,HC1,…,HCN'-1と、は何れか一方のみを記憶部に記憶しておき、他方をビット割当部１４で計算するようにしてもよい。
【００９５】
［第二実施形態の量子化幅取得部１１］
第二実施形態の量子化幅取得部１１には、符号化対象推定部１８が出力した推定統合スペクトル系列~Y0,~Y1,…,~YN'-1と、ビット割当部１４が出力したビット割当系列B0,B1,…,BN'-1と、が入力される。量子化幅取得部１１は、推定統合スペクトル系列~Y0,~Y1,…,~YN'-1とビット割当系列B0,B1,…,BN'-1から量子化幅sと量子化幅sに対応する符号である量子化幅符号CQを得、得た量子化幅sを量子化部１２へ、量子化幅符号CQを多重化部１６へそれぞれ出力する(ステップＳ１１)。
【００９６】
量子化幅取得部１１は、推定統合スペクトル系列~Y0,~Y1,…,~YN'-1とビット割当系列B0,B1,…,BN'-1から例えば次のように量子化幅sを得る。量子化幅取得部１１はまず、ビット割当系列B0,B1,…,BN'-1の各ビット割当値を指数とした２のべき乗の系列であるスペクトル包絡系列H0,H1,…,HN'-1の各値を用いて、推定統合スペクトル系列~Y0,~Y1,…,~YN'-1の各値を除算して、除算結果の系列を得る。除算結果の系列の各値の振幅は、ビット割当系列B0,B1,…,BN'-1に従うビット割り当てで表現できる値の範囲から推定統合スペクトル系列~Y0,~Y1,…,~YN'-1の各値がそれぞれ何倍だけ逸脱しているかを表すものである。また上述のとおり、整数変換部１３における整数変換は、入力をp乗している項の値が支配的であるため、推定統合スペクトル系列~Y0,~Y1,…,~YN'-1の各推定統合スペクトルの値はおおよそ周波数スペクトル系列X0,X1,…,XN-1の各周波数スペクトルの値をp乗した程度の値となっている。したがって、量子化幅取得部１１は、例えば、除算結果の系列に含まれる各除算結果の振幅のうちの最大値を得て、得た最大値のp乗根を量子化幅sとして決定する。そして、量子化幅取得部１１は、決定した量子化幅sに対応する符号を得て、得た符号を量子化幅符号CQとして多重化部１６に出力する。
【００９７】
なお、除算結果の系列に含まれる各除算結果の振幅のうちの最大値のp乗根に代えて、その値より少し大きな値を用いてもよい。例えば、除算結果の系列に含まれる各除算結果の振幅のうちの最大値に予め定めた正の数を加算した値のp乗根、または、その最大値に予め定めた１より大きな数を乗算した値のp乗根を量子化幅sとして決定してもよい。また、除算結果の系列に含まれる各除算結果の振幅のうちの最大値のp乗根に予め定めた正の数を加算した値、または、除算結果の系列に含まれる各除算結果の振幅のうちの最大値のp乗根に予め定めた１より大きな数を乗算した値を量子化幅sとして決定してもよい。すなわち、量子化幅取得部１１は、除算結果の系列に含まれる各除算結果の振幅のうちの最大値のp乗根以上かつ当該p乗根の近傍の値を量子化幅sとして決定すればよい。
【００９８】
［第二実施形態の多重化部１６］
第二実施形態の多重化部１６は、量子化幅取得部１１が出力した量子化幅符号CQ、及びビット割当部１４が出力したビット割当符号Cbと、整数符号化部１５が出力した信号符号CXとを受け取り、これらの符号全てを含む出力符号（例えば全ての符号を繋ぎ合わせて得た出力符号）を、出力する（ステップＳ１６）。
【００９９】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０１００】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０１０１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１０２】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１０３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１０４】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006962445.tif 000020
【図２】
0006962445.tif 000021
【図３】
0006962445.tif 000022
【図４】
0006962445.tif 000023
【図５】
0006962445.tif 000024
【図６】
0006962445.tif 000025
【図７】
0006962445.tif 000026
【図８】
0006962445.tif 000027
【図９】
0006962445.tif 000028
【図１０】
0006962445.tif 000029