(57)【要約】【課題】高圧縮ロスレス符号化のためのPARCOR係数量子化技術を提供する。【解決手段】PARCOR係数の量子化を行う際に、PARCOR係数が所定ビット数を持つ値として表されているとして、入力されたPARCOR係数の絶対値が大きいほど、最上位ビットから最下位ビットへ向かってより多くの有効ビットを含んで表される値を出力する。【選択図】図４
2014222369.tif 000002
【特許請求の範囲】
【請求項１】
PARCOR係数の量子化を行うPARCOR係数量子化ステップを有するPARCOR係数量子化方法において、
上記PARCOR係数が所定ビット数を持つ値として表されているとして、
上記PARCOR係数量子化ステップでは、
入力された上記PARCOR係数の絶対値が大きいほど、最上位ビットから最下位ビットへ向かってより多くの有効ビットを含んで表される値を出力する
ことを特徴とするPARCOR係数量子化方法。
【請求項２】
PARCOR係数の量子化を行うPARCOR係数量子化ステップを有するPARCOR係数量子化方法において、
上記PARCOR係数がＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数量子化ステップは、
（ａ）上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求めるステップと、
（ｂ）上記PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットからＵビットを取得するステップと、
（ｃ）上記ステップ（ｂ）で得られたＵビットの値をＷとして、上記PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットを取得するステップと
を有することを特徴とするPARCOR係数量子化方法。
【請求項３】
入力されたPARCOR係数Ｋに対応する量子化済PARCOR係数を得るPARCOR係数量子化方法において、
上記PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求めるステップと、
上記絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットが最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットであり、その他のビットが０である、量子化済PARCOR係数を得るステップと
を含むPARCOR係数量子化ステップ
を有することを特徴とするPARCOR係数量子化方法。
【請求項４】
入力されたPARCOR係数Ｋに対応する量子化済PARCOR係数を得るPARCOR係数量子化方法において、
上記PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求めるステップと、
上記絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットの値に対応する量子化済PARCOR係数を参照テーブルから取得するステップと
を含むPARCOR係数量子化ステップ
を有することを特徴とするPARCOR係数量子化方法。
【請求項５】
入力されたPARCOR係数Ｋに対応する量子化済PARCOR係数を得るPARCOR係数量子化方法において、
上記PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求めるステップと、
上記絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を下位方向に（Ｒ−Ｕ−Ｖ−Ｗ）ビットシフトし、次いで０詰めで上位方向に（Ｒ−Ｕ−Ｖ−Ｗ）ビットシフトして、量子化済PARCOR係数を得るステップと
を含むPARCOR係数量子化ステップ
を有することを特徴とするPARCOR係数量子化方法。
【請求項６】
入力されたPARCOR係数Ｋに対応する量子化済PARCOR係数を得るPARCOR係数量子化方法において、
上記PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求めるステップと、
上記絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列と、最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットが１でありその他のビットが０であるビット列と、のビット単位のＡＮＤ演算により量子化済PARCOR係数を得るステップと
を含むPARCOR係数量子化ステップ
を有することを特徴とするPARCOR係数量子化方法。
【請求項７】
請求項２に記載のPARCOR係数量子化方法であって、
上記PARCOR係数量子化ステップは、さらに、
（ｄ）上記ステップ（ｃ）で得られた（Ｕ＋Ｖ＋Ｗ）ビットに、上記PARCOR係数Ｋの符号ビットを付加するステップ
を有することを特徴とするPARCOR係数量子化方法。
【請求項８】
請求項３から請求項６のいずれかに記載のPARCOR係数量子化方法であって、
上記PARCOR係数量子化ステップは、さらに、
上記得られた量子化済PARCOR係数のビット列に、上記PARCOR係数Ｋの符号ビットを付加したものを量子化済PARCOR係数として出力するステップ
を有することを特徴とするPARCOR係数量子化方法。
【請求項９】
請求項１から請求項８のいずれかに記載のPARCOR係数量子化方法であって、
入力されたPARCOR係数の系列のうち少なくとも一部のPARCOR係数に対して上記PARCOR係数量子化ステップが実行される
ことを特徴とするPARCOR係数量子化方法。
【請求項１０】
請求項１から請求項８のいずれかに記載のPARCOR係数量子化方法であって、
入力された１次からＰ次までのPARCOR係数の系列Ｋ（１），Ｋ（２），…，Ｋ（Ｐ）のうち、予め定められた次数以下または当該次数よりも小さい次数のPARCOR係数に対して上記PARCOR係数量子化ステップが実行される
ことを特徴とするPARCOR係数量子化方法。
【請求項１１】
請求項１から請求項８のいずれかに記載のPARCOR係数量子化方法であって、
入力されたPARCOR係数の系列のうち、予め定められた閾値以上または当該閾値よりも大きい値を持つPARCOR係数に対して上記PARCOR係数量子化ステップが実行される
ことを特徴とするPARCOR係数量子化方法。
【請求項１２】
請求項１から請求項８のいずれかに記載のPARCOR係数量子化方法であって、
入力されたPARCOR係数の系列の算出に使われた信号のサンプル数が、予め定められた閾値以下または当該閾値よりも小さい場合に、入力されたPARCOR係数の系列のうち少なくとも一部のPARCOR係数に対して上記PARCOR係数量子化ステップが実行される
ことを特徴とするPARCOR係数量子化方法。
【請求項１３】
PARCOR係数の量子化を行うPARCOR係数量子化部を有するPARCOR係数量子化装置において、
上記PARCOR係数が所定ビット数を持つ値として表されているとして、
上記PARCOR係数量子化部は、
入力された上記PARCOR係数の絶対値が大きいほど、最上位ビットから最下位ビットへ向かってより多くの有効ビットを含んで表される値を出力する
ことを特徴とするPARCOR係数量子化装置。
【請求項１４】
PARCOR係数の量子化を行うPARCOR係数量子化部を有するPARCOR係数量子化装置において、
上記PARCOR係数がＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝
未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数量子化部は、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求める第１処理部と、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットからＵビットを取得する第２処理部と、
上記第２処理部によって得られたＵビットの値をＷとして、上記PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットを取得する第３処理部と
を含むことを特徴とするPARCOR係数量子化装置。
【請求項１５】
入力されたPARCOR係数Ｋに対応する量子化済PARCOR係数を得るPARCOR係数量子化装置であって、
上記PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、
上記絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットが最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットであり、その他のビットが０である、量子化済PARCOR係数を得るPARCOR係数量子化部
を含むことを特徴とするPARCOR係数量子化装置。
【請求項１６】
入力されたPARCOR係数Ｋに対応する量子化済PARCOR係数を得るPARCOR係数量子化装置であって、
上記PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、
上記絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットの値に対応する量子化済PARCOR係数を参照テーブルから取得するPARCOR係数量子化部
を含むことを特徴とするPARCOR係数量子化装置。
【請求項１７】
入力されたPARCOR係数Ｋに対応する量子化済PARCOR係数を得るPARCOR係数量子化装置であって、
上記PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、
上記絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を下位方向に（Ｒ−Ｕ−Ｖ−Ｗ）ビットシフトし、次いで０詰めで上位方向に（Ｒ−Ｕ−Ｖ−Ｗ）ビットシフトして、量子化済PARCOR係数を得るPARCOR係数量子化部
を含むことを特徴とするPARCOR係数量子化装置。
【請求項１８】
入力されたPARCOR係数Ｋに対応する量子化済PARCOR係数を得るPARCOR係数量子化装置であって、
上記PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、
上記絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、
上記PARCOR係数Ｋの絶対値Ｌを表すビット列と、最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットが１でありその他のビットが０であるビット列と、のビット単位のＡＮＤ演算により量子化済PARCOR係数を得るPARCOR係数量子化部
を含むことを特徴とするPARCOR係数量子化装置。
【請求項１９】
請求項１４に記載のPARCOR係数量子化装置であって、
上記PARCOR係数量子化部は、さらに、
上記第３処理部で得られた（Ｕ＋Ｖ＋Ｗ）ビットに、上記PARCOR係数Ｋの符号ビットを付加する第４処理部
を含むことを特徴とするPARCOR係数量子化装置。
【請求項２０】
請求項１５から請求項１８のいずれかに記載のPARCOR係数量子化装置であって、
上記PARCOR係数量子化部は、さらに、
上記得られた量子化済PARCOR係数のビット列に、上記PARCOR係数Ｋの符号ビットを付加したものを量子化済PARCOR係数として出力する
ことを特徴とするPARCOR係数量子化装置。
【請求項２１】
請求項１３から請求項２０のいずれかに記載のPARCOR係数量子化装置であって、
入力されたPARCOR係数の系列のうち少なくとも一部のPARCOR係数に対して上記PARCOR係数量子化部が実行される
ことを特徴とするPARCOR係数量子化装置。
【請求項２２】
請求項１３から請求項２０のいずれかに記載のPARCOR係数量子化装置であって、
入力された１次からＰ次までのPARCOR係数の系列Ｋ（１），Ｋ（２），…，Ｋ（Ｐ）のうち、予め定められた次数以下または当該次数よりも小さい次数のPARCOR係数に対して上記PARCOR係数量子化部が実行される
ことを特徴とするPARCOR係数量子化装置。
【請求項２３】
請求項１３から請求項２０のいずれかに記載のPARCOR係数量子化装置であって、
入力されたPARCOR係数の系列のうち、予め定められた閾値以上または当該閾値よりも大きい値を持つPARCOR係数に対して上記PARCOR係数量子化部が実行される
ことを特徴とするPARCOR係数量子化装置。
【請求項２４】
請求項１３から請求項２０のいずれかに記載のPARCOR係数量子化装置であって、
入力されたPARCOR係数の系列の算出に使われた信号のサンプル数が、予め定められた閾値以下または当該閾値よりも小さい場合に、入力されたPARCOR係数の系列のうち少なくとも一部のPARCOR係数に対して上記PARCOR係数量子化部が実行される
ことを特徴とするPARCOR係数量子化装置。
【請求項２５】
コンピュータを請求項１３から請求項２４のいずれかに記載されたPARCOR係数量子化装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響信号などのディジタル時系列信号のロスレス符号化技術に関する。
【背景技術】
【０００２】
例えば図１に示すように、入力信号がＮサンプルのフレーム毎に処理されるとする。入力信号をXO(n) (n=1,2,…,N)とする。許容されるPARCOR係数の最大次数をPmax次とする。
【０００３】
線形予測分析部９０１は入力信号XO(n)からLevinson-Durbin法やBurg法などにより、予め定めた最大次数であるPmax次までのPARCOR係数KO(1),KO(2),…,KO(Pmax)を算出し、なんらかの方法（例えば特許文献１参照）で求めた最適次数POとPO次までのPARCOR係数系列KO＝（KO(1),KO(2),…,KO(PO)）を出力する。
【０００４】
量子化部９０３はPARCOR係数系列KOを量子化し、量子化済PARCOR係数系列K'O＝（K'O(1),K'O(2),…,K'O(PO)）を出力する。逆変換部９０５は量子化済PARCOR係数系列K'Oを線形予測係数系列a'O＝（a'O(1),a'O(2),…,a'O(PO)）に変換して出力する。フィルタ９０７は線形予測係数系列a'O＝（a'O(1),a'O(2),…,a'O(PO)）をフィルタ係数として、式（１）に従って入力信号XO(n) (n=1,2,…,N)をPO次でフィルタリングし、予測残差eO(n) (n=1,2,…,N)を得る。ただし、aO'(0)=1とする。記号"×"は乗算を表す。
【数１】
2014222369.tif 000003
【０００５】
残差符号化部９１１は予測残差eO(n)を例えばエントロピー符号化し、残差符号CeOを出力する。係数符号化部９０９は最適次数POと量子化済PARCOR係数系列K'O＝（K'O(1),K'O(2),…,K'O(PO)）を符号化し、係数符号CkOを出力する。符号合成部９１３は残差符号CeOと係数符号CkOを合わせたものを合成符号CaOとして出力する。
【０００６】
量子化部９０３は、効果的に符号を送るためにPARCOR係数を量子化している。
従来技術の例としてPARCOR係数を線形量子化した場合を図２に示す。PARCOR係数系列KOに含まれる各PARCOR係数は−１から＋１の範囲の実数値を持つ。この各PARCOR係数が16ビットの精度で計算されたとし、各PARCOR係数を32768倍した値を16ビットの符号付き整数で表現すると、各PARCOR係数は-32768から+32767の値を持っていることになる。つまり、-(32768/32768)=-1が16ビットの符号付き整数で表現された-32768に対応し、+(32767/32768)≒+1が16ビットの符号付き整数で表現された+32767に対応する。これら16ビットの符号付き整数表現の値それぞれを4ビットで線形量子化したとする。つまり、PARCOR係数系列KOに含まれる各PARCOR係数を32768倍した値の16ビットの符号付き整数表現を上位4ビットの値だけを残し下位12ビットが0詰めされた値を32768で除算した結果が、量子化済PARCOR係数系列K'Oとなる。量子化済PARCOR係数系列K'Oに含まれる各量子化済PARCOR係数は4ビットの精度の値なので、量子化による誤差は16ビットの精度と比べて大きくなるが、量子化済PARCOR係数系列K'Oに含まれる各量子化済PARCOR係数を表す符号量も４ビットで十分となり、どれだけ粗く量子化するかは量子化誤差と符号量とのトレードオフとなる。
【０００７】
そこで従来のロス（歪み）のある音声符号化では、PARCOR係数を少ない符号量で符号化した場合での聴感上の音質劣化を防ぐために、スペクトル歪みを尺度としてPARCOR係数の量子化を行っていた。非特許文献１〜３に開示されるように、関数arc sinや関数tanhを使って非線形量子化を行い、次数に応じてビット割り当てを変えている。また、非特許文献４に開示されるように、音響信号のロスレス符号化MPEG-4 ALSではルート（根号）を含む非線形関数を用いている。いずれにせよ、PARCOR係数の感度の高い（誤差が大きくなる）−１と＋１付近の値を細かく量子化し、０付近を粗く量子化することで予測残差eO(n)が大きくならないように、PARCOR係数系列KOの量子化を行っている。ただし、非線形量子化の場合は線形量子化と比べてより複雑な処理が必要となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2009−69309号公報
【非特許文献】
【０００９】
【非特許文献１】北脇，板倉，斎藤，“PARCOR形音声分析合成系における最適符号構成”，電子通信学会論文誌，Vol.J61-A, No.2, pp.119-126
【非特許文献２】東倉，板倉，“PARCOR帯域圧縮方式における音声品質向上”，電子通信学会論文誌，Vol.J61-A, No.3, pp.254-261
【非特許文献３】北脇，板倉，“PARCOR係数の非線形量子化と不均一標本化による音声の能率的符号化”，電子通信学会論文誌，Vol.J61-A, No.6, pp.543-550
【非特許文献４】T. Liebchen, et. al., “The MPEG-4 Audio Lossless Coding (ALS) Standard -Technology and Applications,” AES 119th Convention, New York, USA, October, 2005.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来のロスのある音声符号化で用いられているPARCOR係数の量子化方法（非特許文献１〜３参照）では聴感上の歪み最小化が基準となるように量子化器が設計されている。聴感上の歪みを最小化しても入力信号の線形予測残差のエントロピーは最小化されず、その符号量は最小化されない。このため、この基準を用いてもロスレス符号化での符号量は最小化されないという問題がある。
【００１１】
そこで本発明は、高圧縮ロスレス符号化のためのPARCOR係数量子化技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、PARCOR係数の量子化を行う際に、PARCOR係数が所定ビット数を持つ値として表されているとして、入力されたPARCOR係数の絶対値が大きいほど、最上位ビットから最下位ビットへ向かってより多くの有効ビットを含んで表される値を出力することを特徴とする。
また、本発明は、PARCOR係数の量子化を行う際に、PARCOR係数がＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットからＵビットを取得し、得られたＵビットの値をＷとして、PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットを取得することを特徴とする。
また、本発明は、PARCOR係数Ｋの量子化値である量子化済PARCOR係数を得る際に、PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットが最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットであり、その他のビットが０である、量子化済PARCOR係数を得ることを特徴とする。
【００１３】
また、本発明は、PARCOR係数Ｋの量子化値である量子化済PARCOR係数を得る際に、PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、PARCOR係数Ｋの絶対値Ｌを表すビット列のうち最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットの値に対応する量子化済PARCOR係数を参照テーブルから取得することを特徴とする。
また、本発明は、PARCOR係数Ｋの量子化値である量子化済PARCOR係数を得る際に、PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、PARCOR係数Ｋの絶対値Ｌを表すビット列を下位方向に（Ｒ−Ｕ−Ｖ−Ｗ）ビットシフトし、次いで０詰めで上位方向に（Ｒ−Ｕ−Ｖ−Ｗ）ビットシフトして、量子化済PARCOR係数を得ることを特徴とする。
また、本発明は、PARCOR係数Ｋの量子化値である量子化済PARCOR係数を得る際に、PARCOR係数ＫがＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数として、PARCOR係数Ｋの絶対値Ｌを表すビット列を求め、絶対値Ｌを表すビット列のうちの最上位ビットからＵビットの値をＷとして、PARCOR係数Ｋの絶対値Ｌを表すビット列と、最上位ビットから（Ｕ＋Ｖ＋Ｗ）ビットが１でありその他のビットが０であるビット列と、のビット単位のＡＮＤ演算により量子化済PARCOR係数を得ることを特徴とする。
【００１４】
要するに、エントロピー最小化基準の下で、PARCOR係数の感度の高い−１と＋１付近の値を細かく量子化し、０付近を粗く量子化するのである。
【発明の効果】
【００１５】
本発明に拠れば、エントロピー最小化基準でPARCOR係数を量子化するのでロスレス符号化の圧縮率を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】従来のPARCOR係数の量子化を含む符号化処理の機能構成例を示す図。
【図２】従来のPARCOR係数の量子化の一例を示す図。
【図３】PARCOR係数の割り当てビット数と線形予測残差の符号量との関係を示す図。
【図４】実施例１および２のPARCOR係数量子化を含む符号化処理の機能構成例を示す図。
【図５】実施例２のPARCOR係数量子化の処理フローを示す図。
【図６】実施例３のPARCOR係数量子化を含む符号化処理の機能構成例を示す図。
【図７】参照テーブルの例を示す図。
【図８】実施例３のPARCOR係数量子化の処理フローを示す図。
【図９】実施例４のPARCOR係数量子化の処理フローを示す図。
【発明を実施するための形態】
【００１７】
日本国公開特許公報2009−69309に開示されているように、PARCOR係数を用いて予測残差のエネルギーを見積もることができる。平均０（平均が０で無ければ平均値（バイアス）分を全サンプルから予め引けばよい）の入力信号XO(n) (n=1,2,…,N)の１フレームあたりのエネルギーEO(0)は式（２）で表される。
【数２】
2014222369.tif 000004
【００１８】
PARCOR係数KO(1)を用いて、１次の線形予測を行ったときの予測残差のエネルギーEO(1)は式（３）で表される。
【数３】
2014222369.tif 000005
【００１９】
PARCOR係数KO(2)を用いて、２次の線形予測を行ったときの予測残差のエネルギーEO(2)は式（４）で表される。
【数４】
2014222369.tif 000006
【００２０】
これをPmax次まで繰り返すと，Pmax次の線形予測を行ったときの予測残差のエネルギーEO(Pmax)は式（５）で表される。
【数５】
2014222369.tif 000007
【００２１】
平均０、分散σ2（すなわちエネルギーをNで割ったもの）のガウス分布のエントロピーは式（６）で表される。
【数６】
2014222369.tif 000008
【００２２】
平均０、分散σ2（すなわちエネルギーをNで割ったもの）のラプラス分布のエントロピーは式（７）で表される。
【数７】
2014222369.tif 000009
【００２３】
いずれの場合も分散σ2に依存しており、エントロピーは、βを定数として式（８）で表される。
【数８】
2014222369.tif 000010
【００２４】
定数βの値は、式（６）よりガウス分布の場合に約２であり、式（７）よりラプラス分布の場合に約１．７である。
【００２５】
式（５）と式（８）より、最適次数であるPO次の線形予測を行ったときの予測残差のエントロピーHO(PO)は、つまり予測残差１サンプルに必要な平均推定ビット数は、式（９）で表される。
【数９】
2014222369.tif 000011
【００２６】
ここで式（９）の右辺第二項は入力信号に依存するので定数とみなせる。従って、式（９）の右辺第三項がどのような値をとるかによってエントロピーHO(PO)の値が変化する。実際に、PARCOR係数系列KOの各PARCOR係数が０付近の値しか持たないような白色雑音が入力されたときは右辺第三項も０付近の値しか持たないので、エントロピーを下げられず、予測残差１サンプルに必要な平均推定ビット数を低減することはできない。非特許文献１〜４に示されるようにPARCOR係数系列KOに含まれるKO(1)とKO(2)が＋１や−１付近の値を取るのであれば、右辺第三項は負の値を持ち、エントロピーが低減するので、予測残差１サンプルに必要な平均推定ビット数を低減することができる。例えば非特許文献４のFig.4に表されているように、１次のPARCOR係数は0.95付近の値を持つので、右辺第三項のうちの１次のPARCOR係数に対応する部分は式（１０）で表すことができ、残差符号CeOを約1.6ビット削減できる。
【数１０】
2014222369.tif 000012
【００２７】
一方、非特許文献４のFig.4に表されているように、４次のPARCOR係数は0.25付近の値を持つので、右辺第三項のうちの４次のPARCOR係数に対応する部分は式（１１）で表すことができ、残差符号CeOを約0.05ビット程度しか削減できない。
【数１１】
2014222369.tif 000013
【００２８】
ここで、ロスレス符号化の場合には最適次数POと量子化済PARCOR係数系列K'Oを符号化した係数符号CkOも伝送するので、係数符号のうち最適次数POに対応する符号のビット数をγとし（最適次数POを固定ビット数で符号化する場合には、γは定数となるのでこれを無視して計算してもよい。）、係数符号のうち量子化済PARCOR係数K'O(1),K'O(2),…,K'O(PO)のそれぞれに対応する符号量をC(1),(2),…,C(PO)とすると、１フレームがＮサンプルを含むときの合成符号CaOの推定符号量は式（１２）で表すことができる。
【数１２】
2014222369.tif 000014
【００２９】
図３に示される実線θは、この式（１２）に対応する合成符号の符号量を示している。PARCOR係数の量子化精度を高くすればPARCOR係数系列KOと量子化済PARCOR係数系列K'Oの差が小さくなり、予測残差eO(n)も小さくなるため、図３に点線τで示す残差符号を表すために必要な符号量は少なくて済む。しかしながら、図３に破線ηで示す量子化済PARCOR係数系列K'Oを表すために必要な符号量は増えてしまう。従って、必ずしもPARCOR係数の精度を高くした方が合成符号CaOの推定符号量が小さくなるとは限らない。
【００３０】
そこで本発明は、PARCOR係数の値が大きいときにはPARCOR係数の量子化誤差に起因する残差符号CeOの符号量の増大が大きく、PARCOR係数の値が小さいときにはPARCOR係数の量子化誤差に起因する残差符号CeOの符号量の増大が小さいこと、に着目してPARCOR係数の量子化を行う。
つまり、本発明では、入力されたPARCOR係数の系列の算出に使われた入力信号の線形予測残差のエントロピーを最小化する基準の下で、PARCOR係数の量子化誤差に起因する当該線形予測残差の符号量の増大を抑圧するように、PARCOR係数の絶対値が大きいほど高い量子化精度でPARCOR係数が量子化される。
【００３１】
［実施形態］
本発明の実施形態は図４に示す量子化部１００の機能構成を持ち、図４に示すように、量子化部９０３が量子化部１００に変更されていることを除き、符号化処理の全体は図１に示す機能構成と同じ機能構成を持つ。各PARCOR係数が符号付１６ビットの精度で求められたPARCOR係数系列KO＝（KO(1),KO(2),…,KO(PO)）が量子化部１００に入力されると、量子化部１００は各PARCOR係数KO(i) (i=1, 2, …, PO)を量子化し、量子化済PARCOR係数系列K'O＝（K'O(1),K'O(2),…,K'O(PO)）を出力する。量子化済PARCOR係数系列K'O＝（K'O(1),K'O(2),…,K'O(PO)）は係数符号化部９０９へ送られる。
【００３２】
［実施例１］
量子化部１００は、入力されたPARCOR係数の絶対値が大きいほど、最上位ビットから最下位ビットへ向かってより多くの有効ビット（２進数の場合、１である。）を含んで表される値を出力する。
【００３３】
＜具体例１＞
Ｐ1＝３、Ｐ2＝２、Ｒ＝１６とし、PARCOR係数KO(i)が符号無しＲビットで２進数表現されているとする（左端ビットが最上位ビットであるとする。）。つまりPARCOR係数KO(i)のビット列が１６ビットのabcd efgh ijkl mnopとすると、量子化部１００は、左端に位置する最上位の１ビット（"a"）が１ならば、上位Ｐ1ビット（"1bc"）を符号化対象として係数符号化部９０９に送り、最上位１ビット（"a"）が０ならば上位Ｐ2ビット（"0b"）を符号化対象として係数符号化部９０９に送る。つまり、最上位の１ビットが１ならば1xxy yyyy yyyy yyyyという１６ビットの値が量子化済PARCOR係数となり、最上位１ビットが０ならば0xyy yyyy yyyy yyyyという１６ビットの値が量子化済PARCOR係数となる。ここで、xのビット位置の値は元のPARCOR係数KO(i)を表すビット列において対応するビットの値と同じであるが、yのビット位置の値は予め定めた任意の値（例えば０）である。
【００３４】
要は、PARCOR係数KO(i)の符号無しＲビットの最上位ビット、すなわち、PARCOR係数KO(i)の絶対値を表わす部分の最上位ビットのみにより、PARCOR係数KO(i)の絶対値が大きい側の範囲にあるかPARCOR係数KO(i)の絶対値が小さい側の範囲にあるかの二者択一を行い、PARCOR係数KO(i)の絶対値が大きい側の範囲にある場合には最上位ビットからＰ1ビットを符号化対象とし、PARCOR係数KO(i)の絶対値が小さい側の範囲にある場合の最上位ビットからＰ2ビット（ただしＰ1＞Ｐ2）を符号化対象とする、ことになる。
式（１０）や式（１１）に表されているように、エントロピー削減効果は底２の対数関数で表されるので、PARCOR係数の感度はその逆関数である２の指数関数のオーダーとなる。よって、２進数表現の場合、最上位ビットに応じた量子化を行えば、エントロピー最小化基準で量子化していることになる。
【００３５】
＜具体例２＞
Ｐ1＝３、Ｐ2＝２、Ｒ＝１６とし、PARCOR係数KO(i)が符号付Ｒビットで２進数表現されているとする（但し、左端ビットが最上位ビットであり、負数は２の補数で表現されるとする。）。つまりPARCOR係数KO(i)のビット列が１６ビットのSabc defg hijk lmnoとすると、左端に位置する最上位の１ビット（"S"）はPARCOR係数の値が正であるか負であるかの符号を表すので、量子化部１００は、その次のビット（左から２ビット目の"a"）が１ならば、当該ビットの右の（Ｐ1−１）ビット分（左から３ビット目の"b"と４ビット目の"c"）も含めた（Ｐ1＋１）ビット（"S1bc"）を符号化対象として係数符号化部９０９に送る。最上位ビット（"S"）の次のビット（左から２ビット目の"a"）が０ならば、量子化部１００は、当該ビットの右の１ビット分（左から３ビット目の"b"）も含めた（Ｐ2＋１）ビット（"S0b"）を符号化対象として係数符号化部９０９に送る。つまり、最上位の次のビットが１ならばS1xx yyyy yyyy yyyyという１６ビットの値が量子化済PARCOR係数となり、最上位の次のビットが０ならばS0xy yyyy yyyy yyyyという１６ビットの値が量子化済PARCOR係数となる。ここで、Sは符号を表すビットであり、xのビット位置の値は元のPARCOR係数KO(i)を表すビット列において対応するビットの値と同じであるが、yのビット位置の値は予め定めた任意の値（例えば０）である。ただし、負の値の場合には２の補数表現なので、上記量子化部１００の説明中の「０ならば」と「１ならば」とを入れ替えた処理を行う。
【００３６】
Ｐ1とＰ2の値は、論理的にＰ1＜Ｒ、Ｐ2＜Ｒ、Ｐ2＜Ｐ1を満たすが、その具体的な値は適宜に定めてよい。
要は、PARCOR係数KO(i)の符号付Ｒビットの最上位ビットの次のビット、すなわち、PARCOR係数KO(i)の絶対値を表わす部分の最上位ビットのみにより、PARCOR係数KO(i)の絶対値が大きい側の範囲にあるかPARCOR係数KO(i)の絶対値が小さい側の範囲にあるかの二者択一を行い、PARCOR係数KO(i)の絶対値が大きい側の範囲にある場合には最上位ビットからＰ1ビットを符号化対象とし、PARCOR係数KO(i)の絶対値が小さい側の範囲にある場合の最上位ビットからＰ2ビット（ただしＰ1＞Ｐ2）を符号化対象とする、ことになる。
【００３７】
＜具体例３＞
Ｒ＝１６とし、PARCOR係数KO(i)が符号付Ｒビットで表されているとする。つまりPARCOR係数KO(i)のビット列が１６ビットのSabc defg hijk lmnoとすると、量子化部１００は、PARCOR係数KO(i)の絶対値を求め、符号無し１５ビットの0abc defg hijk lmnoに変換する。このとき正負の情報S（例えば正負を表す最上位ビット）はメモリに保持される。符号無し１５ビットの0abc defg hijk lmnoについて左端に位置する最上位のビットから２ビット目の"a"が１ならば、量子化部１００は、３ビット目の"b"と４ビット目の"c"も保持し、５ビット目以降を破棄する（01xx yyyy yyyy yyyy）。符号無し１５ビットの0abc defg hijk lmnoについて左端に位置する最上位のビットから２ビット目の"a"が０ならば、量子化部１００は、３ビット目の"b"を保持し、４ビット目以降を破棄する（00xy yyyy yyyy yyyy）。そして量子化部１００は、この結果のビット列の最上位ビットに正負の符号Sを付加したS1xx yyyy yyyy yyyyまたはS0xy yyyy yyyy yyyyを係数符号化部９０９に伝送する。なお、S1xx yyyy yyyy yyyyは最上位4ビットが符号化対象とされる。また、S0
xy yyyy yyyy yyyyは最上位3ビットが符号化対象とされる。ここで、Sは符号を表すビットで、xのビット位置の値は元のPARCOR係数KO(i)を表すビット列において対応するビットの値と同じであるが、yのビット位置の値は予め定めた任意の値（例えば０）である。
【００３８】
＜具体例４＞
Ｒ＝１６とし、PARCOR係数KO(i)が符号付Ｒビットで表されているとする。つまりPARCOR係数KO(i)のビット列が１６ビットのSabc defg hijk lmnoとすると、量子化部１００は、PARCOR係数KO(i)の絶対値を求め、符号無し１５ビットの0abc defg hijk lmnoに変換する。このとき正負の情報S（例えば正負を表す最上位ビット）は符号化対象として係数符号化部９０９に送られる。符号無し１５ビットの0abc defg hijk lmnoについて左端に位置する最上位のビットから２ビット目の"a"が１ならば、量子化部１００は、３ビット目の"b"と４ビット目の"c"も保持し、５ビット目以降を破棄する（01xx yyyy yyyy yyyy）。符号無し１５ビットの0abc defg hijk lmnoについて左端に位置する最上位のビットから２ビット目の"a"が０ならば、量子化部１００は、３ビット目の"b"を保持し、４ビット目以降を破棄する（00xy yyyy yyyy yyyy）。そして量子化部１００は、この結果の01xx yyyy yyyy yyyyまたは00xy yyyy yyyy yyyyを係数符号化部９０９に伝送する。なお、01xx yyyy yyyy yyyyの場合には3ビットの"1xx"が符号化対象とされる。また、00xy yyyy yyyy yyyyの場合には2ビットの"0x"が符号化対象とされる。ここで、xのビット位置の値は元のPARCOR係数KO(i)を表すビット列において対応するビットの値と同じであるが、yのビット位置の値は予め定めた任意の値である。
【００３９】
［実施例２］
上記具体例３を一般化した実施例を説明する。上記具体例１および２についてもこの実
施例２に従って同様の結果を得ることができる。
量子化部１００は、第１処理部１０２、第２処理部１０４、第３処理部１０６、付加部１０８を含む。この例ではPARCOR係数KO(i)がＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数とする。ＵとＶをこのように定める理由は、後述するように0≦W≦2U-1を満たすWを用いて（R-U-V-W）ビットのビットシフト演算を行うことから、R-U-V-W≧0を満たすように、ＵとＶを設定するためである。しかし、例えば、Ｕを１以上Ｒ未満を満たす予め定められた整数とし、Ｖを０以上Ｒ未満を満たす予め定められた整数として、R-U-V-W＜0の場合にビットシフト演算で足りなくなる右側のビットを０とみなすようにしてもよい。説明を具体的なものとするため、ここではＲ＝１６、Ｕ＝２、Ｖ＝１とする。
【００４０】
まず、第１処理部１０２が、KO(i)の絶対値L(i)を表すビット列を求める（ステップＳ１）。この際、第１処理部１０２は、KO(i)の符号ビットで表される正負符号S(i)の情報をメモリにストアする。例えば、PARCOR係数KO(i)のビット列が１６ビットのSabc defg hijk lmno (S：符号ビット、a-o：０または１)で与えられている場合、L(i)を表すビット列として、符号無し１５ビットの0abc defg hijk lmnoが得られる。正負符号S(i)＝Sはメモリにストアされる。
【００４１】
次に、第２処理部１０４は、L(i)を表すビット列を右に(15-U)ビットシフトする（ステップＳ２）。その値をＷ（10進数表記）とする。上記の例であれば、L(i)を表すビット列を右に１３ビットシフトして0abが得られる。この２進数表記の0abを１０進数表記した値がＷである。
【００４２】
次に、第３処理部１０６は、L(i)を表すビット列を右に(15-U-V-W)ビットシフトし、次いで０詰めで左に(15-U-V-W)ビットシフトする（ステップＳ３）。この結果をL'(i)とする。上記の例であれば、
ab＝11つまりＷ＝３の場合、L'(i)として011c def0 0000 0000が得られ、
ab＝10つまりＷ＝２の場合、L'(i)として010c de00 0000 0000が得られ、
ab＝01つまりＷ＝１の場合、L'(i)として001c d000 0000 0000が得られ、
ab＝00つまりＷ＝０の場合、L'(i)として000c 0000 0000 0000が得られる。
【００４３】
次に、付加部１０８は、L'(i)に符号ビットとしてKO(i)の正負符号S(i)を付加する（ステップＳ４）。上記の例であれば、S(i)＝SがL'(i)のＭＳＢ(Most Significant Bit)に付加される。つまり、
ab＝11つまりＷ＝３に対応して、S11c def0 0000 0000が得られ、
ab＝10つまりＷ＝２に対応して、S10c de00 0000 0000が得られ、
ab＝01つまりＷ＝１に対応して、S01c d000 0000 0000が得られ、
ab＝00つまりＷ＝０に対応して、S00c 0000 0000 0000が得られる。
このステップＳ４の処理で得られた１６ビットのビット列が量子化済PARCOR係数K'O(i)となる。
【００４４】
なお、ステップＳ３の処理において０詰めではなく任意の数値（例えば010101…）のような詰め方をしてもよい。いずれにせよSxxy yyyz zzzz zzzzというビット列パターンを持つように非線形量子化をすることができる。ここでSは正負符号ビット、xはＵに依存するビット、yはＷとＶに依存するビット、zは任意のビットである。このように、PARCOR係数の絶対値が大きいほど高い量子化精度でPARCOR係数が量子化される。
【００４５】
［実施例２の変形例］
次に、実施例２の変形例を説明する。この変形例は、実施例２におけるステップＳ４の処理を省略する実施例であり、上記具体例４の一般化に対応する。
この変形例では、ステップＳ１の処理で得られた正負符号S(i)の情報が符号化対象として係数符号化部９０９へ送られる。
また、ステップ３の処理によって、L'(i)として0xxy yyyz zzzz zzzzというビット列パターンが得られている。そこで、ステップＳ３の処理で得られた１６ビットのビット列を量子化済PARCOR係数K'O(i)とする。上記の例であれば、
ab＝11つまりＷ＝３に対応して、K'O(i)として011c def0 0000 0000が得られ、
ab＝10つまりＷ＝２に対応して、K'O(i)として010c de00 0000 0000が得られ、
ab＝01つまりＷ＝１に対応して、K'O(i)として001c d000 0000 0000が得られ、
ab＝00つまりＷ＝０に対応して、K'O(i)として000c 0000 0000 0000が得られる。
【００４６】
［実施例３］
シフト演算を多用する実施例２と異なり、メモリ５０に記憶されている参照テーブルを利用する実施例３を説明する。参照テーブルの例を図７に示す。この参照テーブルでは、Ｔが大きな値ほど最上位ビットから最下位ビットへ向かってより多くの有効ビットを含んで表されるビット列が割り当てられている。なお、例示する参照テーブルでは、符号付１６ビットのPARCOR係数KO(i)の絶対値を用いた処理に対応する例として、最上位ビットが０となっているビット列がＴに対応して割り当てられている。
【００４７】
実施例３の量子化部１００ａは、第１処理部１０２ａ、第２処理部１０４ａ、第３処理部１０６ａ、付加部１０８ａを含む。この例ではPARCOR係数がＲビットの値として表されているとし、Ｕを１以上｛R-(2U-1)｝未満を満たす予め定められた整数とし、Ｖを０以上｛R-(2U-1)-U｝未満を満たす予め定められた整数とする。ＵとＶをこのように定める理由は、後述するように0≦W≦2U-1を満たすWを用いて（R-U-V-W）ビットのビットシフト演算を行うことから、R-U-V-W≧0を満たすように、ＵとＶを設定するためである。しかし、例えば、Ｕを１以上Ｒ未満を満たす予め定められた整数とし、Ｖを０以上Ｒ未満を満たす予め定められた整数として、R-U-V-W＜0の場合にビットシフト演算で足りなくなる右側のビットを０とみなすようにしてもよい。説明を具体的なものとするため、ここではＲ＝１６、Ｕ＝２、Ｖ＝１とする。
【００４８】
まず、第１処理部１０２ａが、KO(i)の絶対値L(i)を表すビット列を求める（ステップＳ１ａ）。この際、第１処理部１０２ａは、KO(i)の符号ビットで表される正負符号S(i)の情報はメモリにストアする。例えば、PARCOR係数KO(i)のビット列が１６ビットのSabc defg hijk lmno (S：符号ビット、a-o：０または１)で与えられている場合、L(i)を表すビット列として、符号無し１５ビットの0abc defg hijk lmnoが得られる。正負符号S(i)＝Sはメモリにストアされる。
【００４９】
次に、第２処理部１０４ａは、Ｕビットで表される最大値をＷ（＝２Ｕ−１）として、L(i)を表すビット列を右に(15-U-V-W)ビットシフトする（ステップＳ２ａ）。その値をＴ（10進数表記）とする。上記の例であれば、L(i)を右に９ビットシフトして0abc defが得られる。この２進数表記の0abc defを１０進数表記した値がＴである。
【００５０】
次に、第３処理部１０６ａは、Ｔの値を用いて参照テーブルから当該Ｔに対応するビット列の表引きを行う（ステップＳ３ａ）。この結果をL'(i)とする。例えばＴ＝６１の場合、L'(i)として0111 1010 0000 0000が得られる。
【００５１】
次に、付加部１０８ａは、L'(i)に符号ビットとしてKO(i)の正負符号S(i)を付加する（ステップＳ４ａ）。上記の例であれば、S(i)＝SがL'(i)のＭＳＢ(Most Significant Bit)に付加される。ただし、例えばステップＳ３ａの処理にて、Tの値に正負符号（またはそれを意味する符号）を付加してT’とし、T’の値を用いて参照テーブルから当該T’に対応するビット列の表引きを行うことで正負符号付のL’(i)を求めてもよい。
このステップＳ４ａの処理で得られた１６ビットのビット列が量子化済PARCOR係数K'O(i)となる。
【００５２】
この実施例でもSxxy yyyz zzzz zzzzというビット列パターンを持つように非線形量子化をすることができる。表引きによりメモリ占有量は増加するがシフト演算を減らせるため演算量を削減できる。ここでは、PARCOR係数K'O(i)が符号付Ｒビットで表されているとして説明したが、実施例３は、符号無しＲビットのPARCOR係数K'O(i)にも適用できる。また、実施例２の変形例のように、ステップＳ４ａの処理を省略する実施形態とすることもできる。
【００５３】
［実施例４］
シフト演算を利用する実施例２と異なり、ビット単位のＡＮＤ演算（ビットマスク）を利用する実施例４を説明する。実施例２と異なる部分について説明する。
【００５４】
実施例２のステップＳ１の処理に続いて、第２処理部１０４は、L(i)を表すビット列のうち必要なビット以外をマスクする（必要なビットに対して１とのビット単位ＡＮＤ演算を行い、不要なビットに対して０とのビット単位ＡＮＤ演算を行う）（ステップＳ２ｂ）。
その値をＷ（10進数表記）とする。上記の例であれば、Ｕ＝２なので、１６ビットのPARCOR係数KO(i)の絶対値のビット列0abc defg hijk lmnoに対して、15ビット目から右側へ順に各ビットを1とし15-Uビット目から右側へ順に各ビットを０としたビット列0110 0000 0000 0000とビット単位ＡＮＤ演算を行いビット列0ab0 0000 0000 0000を得る。この２進数表記の0abを１０進数表記した値がＷである。
【００５５】
次に、第３処理部１０６は、上記Ｗの値に基づいて、L(i)を表すビット列のうち必要なビット以外をマスクする（必要なビットに対して１とのビット単位ＡＮＤ演算を行い、不要なビットに対して０とのビット単位ＡＮＤ演算を行う）（ステップＳ３ｂ）。この結果をL'(i)とする。上記の例であれば、Ｕ＝２、Ｖ＝１、Ｗ＝３の場合には、１６ビットのPARCOR係数KO(i)の絶対値のビット列0abc defg hijk lmnoに対して、15ビット目から右側へ順に各ビットを1とし15-U-V-Wビット目から右側へ順に各ビットを０としたビット列0111 1110 0000 0000とビット単位ＡＮＤ演算を行いビット列0abc def0 0000 0000を得る。
【００５６】
ステップＳ３ｂの処理の後に実施例２で説明したステップＳ４の処理を行う。ただし、実施例２の変形例の如く、ステップＳ４の処理を省略する実施形態とすることもできる。
【００５７】
＜変形例１＞
量子化部１００，１００ａに入力されたPARCOR係数系列KO＝（KO(1),KO(2),…,KO(PO)）に含まれるPARCOR係数KO(i)のうち一部のみに対して本発明の量子化方法を適用してもよい。本発明の量子化方法が適用されなかった残りのPARCOR係数KO(i)は、例えば従来的な量子化方法で量子化される。
【００５８】
本発明の量子化方法の適用対象となるPARCOR係数KO(i)を選別する基準として、次数PO、PARCOR係数の値が挙げられる。
次数POを基準とする場合、入力された１次からＰ次までのPARCOR係数K(1),K(2),…,K(P)のうち、予め定められた次数以下または当該次数よりも小さい次数のPARCOR係数に対して本発明の量子化方法を適用する。非特許文献４のFig.4に示されるように、一般的に低次数のPARCOR係数は大きい値を持つから、予め定められた次数（例えば３）以下または当該次数よりも小さい次数のPARCOR係数に対して本発明の量子化方法を適用するのである。
PARCOR係数の値を基準とする場合、予め定められた閾値以上または当該閾値よりも大きい値を持つPARCOR係数に対して本発明の量子化方法を適用する。PARCOR係数の値が大きいときにはPARCOR係数の量子化誤差に起因する残差符号CeOの符号量の増大が大きくなるからである。
【００５９】
＜変形例２＞
音響信号ロスレス符号化での従来方法（非特許文献４参照）では理論的に定められた関数ではなく、実験結果の観測から定性的に求めた関数を用いている。このため、１フレームあたりのサンプル数がPARCOR係数の１０倍程度のように少ない場合（１フレームあたり、１０次のPARCOR係数に対して100サンプル程度）には、残差符号CeOの符号量に比べて係数符号CkOの符号量が非常に少ないわけではないので、PARCOR係数に必要な符号量を無視できず、合成符号CaOの符号量が必ずしも最小化されない。
【００６０】
そこで、PARCOR係数系列の算出に使われた入力信号のサンプル数が、予め定められた閾値以下または当該閾値よりも小さい場合に、PARCOR係数系列KO＝（KO(1),KO(2),…,KO(PO)）に含まれる一部または全てのPARCOR係数に対して本発明の量子化方法を適用してもよい。
【００６１】
既述のとおり、残差符号CeOと係数符号CkOを合わせたものが合成符号CaOである。係数符号CkOが無視できるくらい残差符号CeOが大きい場合は、係数符号CkOが誤差を含んでも係数符号CkOの符号量に大きな誤差を生じないが、逆の場合はそうならない。式（１２）から、１フレームあたりのサンプル数Ｎに応じて、係数符号CkOの符号量が無視できるか無視できないかの判断が可能である。Ｎが小さければ無視できず、Ｎが大きければ無視できる。よって、例えば、Ｎ＝４０〜８０サンプルの場合には本発明の量子化方法をPARCOR係数に適用し、Ｎ＝１６０〜３２０サンプルの場合には従来的な量子化方法をPARCOR係数に適用してもよい（このサンプル数の場合わけは入力信号のサンプリングレートに依存し、これらの例は8 kHzサンプリングの場合である。）。また、入力信号の１フレームに１６０サンプルが含まれる場合でも、当該フレームを４つのサブフレーム（サブフレーム当たり４０サンプルを含む。）に分割する場合は、フレーム単位のサンプル数を４０サンプルとみなして本発明の量子化方法をPARCOR係数に適用してもよい。
【００６２】
以上の実施形態の他、本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
例えば、PARCOR係数K'O(i)を表すビット数Ｒは、１６に限らず３２や８でもよい。また、PARCOR係数K'O(i)の絶対値を求めるシフト演算として右詰１５ビットを例に採用したが、左詰でもよい。ビット列において左側のビットがより大きい値を表すビットとして説明したが、右側のビットがより大きい値を表すビットとしてもかまわない（左右反転）。エンディアン（big/little-endian）に応じて8ビット（１バイト）を並び替えてもよい。右側を０詰めとして説明したが１詰めや任意の値を詰めてもよい。また、絶対値を求めず、PARCOR係数を用いて直接表引きにしてもよい。
【００６３】
本発明の量子化方法は、コンピュータの記録部に、本発明の各機能構成部としてコンピュータを動作させるプログラムを読み込ませ、処理部、入力部、出力部などを動作させることで、コンピュータに実行させることができる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを、電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
【図１】
2014222369.tif 000015
【図２】
2014222369.tif 000016
【図３】
2014222369.tif 000017
【図４】
2014222369.tif 000018
【図５】
2014222369.tif 000019
【図６】
2014222369.tif 000020
【図７】
2014222369.tif 000021
【図８】
2014222369.tif 000022
【図９】
2014222369.tif 000023