(57)【要約】【課題】本発明の目的は、演算量を少なくしながら、高い圧縮率を得ることができる符号化技術を提供することである。【解決手段】本発明の符号化装置は、サブフレーム部、自己相関係数算出部、線形予測符号化部、選択部、中間計算結果記憶部を備える。自己相関係数算出部は、窓関数処理手段と計算手段を有する。窓関数処理手段は、両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数を用いて、窓掛信号列を出力する。計算手段は、利用できる中間計算結果が存在する場合にはその中間計算結果を利用して、窓掛信号列から自己相関係数を計算する。計算手段は、複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う。中間計算結果記憶部は、自己相関係数算出部での計算処理で求められた中間計算結果を記憶する。【選択図】図６
2010044305.tif 000002
【特許請求の範囲】
【請求項１】
フレーム単位の入力信号列（以下、「フレーム入力信号列」という）が入力され、前記フレーム入力信号列の一部または全部から構成されるサブフレーム単位の入力信号列（以下、「サブフレーム入力信号列」という）を、サブフレームを構成するサンプル数が異なる複数種類、出力するサブフレーム部と、
前記サブフレーム入力信号列ごとの自己相関係数を算出する自己相関係数算出部と、
前記自己相関係数を用いて前記サブフレーム入力信号列を符号化し、サブフレーム入力信号列ごとの符号（以下、「サブフレーム符号」という）を生成する線形予測符号化部と、
１つのフレーム入力信号列から生成された複数のサブフレーム符号の中から、１つ又は複数のサブフレーム符号を選択し、当該フレーム入力信号列に対する符号を生成する選択部と、
前記自己相関係数算出部での計算処理で求められた中間計算結果を記憶する中間計算結果記憶部と、
を備え、
前記自己相関係数算出部は、
両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数により、前記サブフレーム入力信号列に窓関数処理を施し、窓掛信号列を出力する窓関数処理手段と、
前記中間計算結果記憶部に利用できる中間計算結果が存在する場合には当該中間計算結果を利用して、前記窓掛信号列から自己相関係数を計算する計算手段と、
を有し、
複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う符号化装置。
【請求項２】
請求項１記載の符号化装置であって、
前記計算手段は、
前記中間計算結果記憶部に記憶されている前記中間計算結果を求めた際に用いた窓関数と、自己相関係数を計算する対象となっている窓掛信号列を求める際に用いた窓関数とを比較し、値が異なる部分に対しては、前記中間計算結果記憶部に記憶されている前記中間計算結果を利用しないで自己相関係数を計算する
ことを特徴とする符号化装置。
【請求項３】
請求項２記載の符号化装置であって、
前記計算手段は、さらに、
計算する自己相関係数の次数が、前記中間計算結果記憶部に記憶されている前記中間計算結果を求めた際の次数よりも増加した場合には、増加した次数に対しては、前記中間計算結果記憶部に記憶されている前記中間計算結果を利用しないで自己相関係数を計算する
ことも特徴とする符号化装置。
【請求項４】
請求項１記載の符号化装置であって、
前記中間計算結果記憶部は、
前記窓掛信号列の窓関数の値が１の部分に対するＦＦＴ及び複素積和の結果を、前記中間計算結果として記憶し、
前記計算手段は、
自己相関係数を計算する対象となっている窓掛信号列の窓関数の値が１の部分に対しては、
前記中間計算結果が前記中間計算結果記憶部に記憶されている場合には、前記中間計算結果を利用する
ことを特徴とする符号化装置。
【請求項５】
請求項４記載の符号化装置であって、
前記計算手段は、さらに、
計算する自己相関係数の次数が、前記中間計算結果記憶部に記憶されている前記中間計算結果を求めた際の次数よりも増加した場合には、
増加した次数の自己相関係数の計算では、
低い次数のＦＦＴの結果を前記中間計算結果として利用する
ことも特徴とする符号化装置。
【請求項６】
請求項１から５のいずれかに記載の符号化装置であって、
後で利用する前記中間計算結果を選択し、前記中間計算結果記憶部に記憶する中間計算結果保存処理手段
も備える符号化装置。
【請求項７】
フレーム単位の入力信号列（以下、「フレーム入力信号列」という）が入力され、前記フレーム入力信号列の一部または全部から構成されるサブフレーム単位の入力信号列（以下、「サブフレーム入力信号列」という）を、サブフレームを構成するサンプル数が異なる複数種類、出力するサブフレームステップと、
前記サブフレーム入力信号列ごとの自己相関係数を算出する自己相関係数算出ステップと、
前記自己相関係数を用いて前記サブフレーム入力信号列を符号化し、サブフレーム入力信号列ごとの符号（以下、「サブフレーム符号」という）を生成する線形予測符号化ステップと、
１つのフレーム入力信号列から生成された複数のサブフレーム符号の中から、１つ又は複数のサブフレーム符号を選択し、当該フレーム入力信号列に対する符号を生成する選択ステップと、
前記自己相関係数算出ステップでの計算処理で求められた中間計算結果を中間計算結果記憶部に記憶する中間計算結果記憶ステップと、
を有し、
前記自己相関係数算出ステップは、
両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数により、前記サブフレーム入力信号列に窓関数処理を施し、窓掛信号列を出力する窓関数処理サブステップと、
前記中間計算結果記憶部に利用できる中間計算結果が存在する場合には当該中間計算結果を利用して、前記窓掛信号列から自己相関係数を計算する計算サブステップと、
を有し、
複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う符号化方法。
【請求項８】
請求項７記載の符号化方法であって、
前記計算サブステップは、
前記中間計算結果記憶部に記憶されている前記中間計算結果を求めた際に用いた窓関数と、自己相関係数を計算する対象となっている窓掛信号列を求める際に用いた窓関数とを比較し、値が異なる部分に対しては、前記中間計算結果記憶部に記憶されている前記中間計算結果を利用しないで自己相関係数を計算する
ことを特徴とする符号化方法。
【請求項９】
請求項８記載の符号化方法であって、
前記計算サブステップは、さらに、
計算する自己相関係数の次数が、前記中間計算結果記憶部に記憶されている前記中間計算結果を求めた際の次数よりも増加した場合には、増加した次数に対しては、前記中間計算結果記憶部に記憶されている前記中間計算結果を利用しないで自己相関係数を計算する
ことも特徴とする符号化方法。
【請求項１０】
請求項７記載の符号化方法であって、
前記中間計算結果記憶ステップは、
前記窓掛信号列の窓関数の値が１の部分に対するＦＦＴ及び複素積和の結果を、中間計算結果記憶部に前記中間計算結果として記憶し、
前記計算サブステップは、
自己相関係数を計算する対象となっている窓掛信号列の窓関数の値が１の部分に対しては、
前記中間計算結果が前記中間計算結果記憶部に記憶されている場合には、前記中間計算結果を利用する
ことを特徴とする符号化方法。
【請求項１１】
請求項１０記載の符号化方法であって、
前記計算サブステップは、さらに、
計算する自己相関係数の次数が、前記中間計算結果記憶部に記憶されている前記中間計算結果を求めた際の次数よりも増加した場合には、
増加した次数の自己相関係数の計算では、
低い次数のＦＦＴの結果を前記中間計算結果として利用する
ことも特徴とする符号化方法。
【請求項１２】
請求項７から１１のいずれかに記載の符号化方法であって、
後で利用する前記中間計算結果を選択し、前記中間計算結果記憶部に記憶する中間計算結果保存処理サブステップ
も有する符号化方法。
【請求項１３】
請求項１から６のいずれかに記載の符号化装置としてコンピュータを動作させる符号化プログラム。
【請求項１４】
請求項１３記載の符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列信号の圧縮符号化技術に関し、特にフレームを複数のサブフレーム（またはブロック）に階層的に分割して符号化を行う技術に関する。
【背景技術】
【０００２】
フレーム単位の信号列の符号化において、分析する単位を適応的に選択することにより圧縮効率が改善できることが知られている。そのひとつとして、フレーム毎のサンプル数を固定し、各フレーム中を複数のサブフレーム（ブロック）に階層的に分割して符号化を行う方法が知られている（例えば、非特許文献１、特許文献１、特許文献２） 。以下ではまず、この各フレーム中を複数のサブフレームに階層的に分割して符号化を行う従来の方法について説明する。
【０００３】
図１は、このような符号化処理を行う従来の符号化装置の構成を例示した図である。また、図２は、この符号化処理が行われるフレーム１００の構成を例示した概念図である。図３は、自己相関係数算出部の構成を例示した図である。なお、それぞれ対応する離散時間（サンプル間隔）を有する複数サンプル（通常数百〜 数千サンプル）からなる短時間区間を、フレームと呼ぶ。例えば、フレーム内のサンプル点数は、１０２４点から３２７６８点程度である。また、以下ではフレーム内のサンプル点数をＮと表現する。
【０００４】
符号化装置９０００は、サブフレーム部９８００、各階層用の符号化部９００１、９１０１、９２０１、９３０１、選択部９９００を備える。サブフレーム部９８００は、フレーム単位の入力信号列（以下、「フレーム入力信号列」という）が入力され、フレーム入力信号列の一部または全部から構成されるサブフレーム単位の入力信号列（以下、「サブフレーム入力信号列」という）を、サブフレームを構成するサンプル数が異なる４種類、出力する。各階層用の符号化部９００１（９１０１、９２０１、９３０１）は、自己相関係数算出部９０１０（９１１０、９２１０、９３１０）と、線形予測符号化部９０９０（９１９０、９２９０、９３９０）を備える。自己相関係数算出部９０１０（９１１０、９２１０、９３１０）は、図３に示すように、窓関数処理手段９０５０（９１５０、９２５０、９３５０）と自己相関計算手段９０６０（９１６０、９２６０、９３６０）を有する。窓関数処理手段９０５０（９１５０、９２５０、９３５０）は、サブフレーム入力信号列に対して窓関数を掛け、窓掛信号列を出力する。自己相関計算手段９０６０（９１６０、９２６０、９３６０）は、窓掛信号列を用いて自己相関係数を求める。線形予測符号化部９０９０（９１９０、９２９０、９３９０）は、線形予測係数算出手段９０２０（９１２０、９２２０、９３２０）、線形予測係数量子化・符号化手段９０３０（９１３０、９２３０、９３３０）、残差符号化手段９０４０（９１４０、９２４０、９３４０）を備え、自己相関係数を用いてサブフレーム入力信号列を符号化し、サブフレーム入力信号列ごとの符号（以下、「サブフレーム符号」という）を生成する。選択部９９００は、１つのフレーム入力信号列から生成された複数のサブフレーム符号の中から、１つ又は複数のサブフレーム符号を選択し、当該フレーム入力信号列に対する符号を生成する。
【０００５】
図２の例では、１つのフレームを４つの階層（第０階層１１０〜 第３階層１４０）にサブフレーム分割する。この例の場合、第０階層１１０では、フレーム１００がサブフレームＢ（０，１）に一致する。また、第１階層１２０は、第０階層１１０のサブフレームＢ（０，１）を２分割したサブフレームＢ（１，１），Ｂ（１，２）によって構成される。さらに、第２階層１３０は、第１階層１２０のサブフレームＢ（１，１）を２分割したサブフレームＢ（２，１），Ｂ（２，２）と、サブフレームＢ（１，２）を２分割したサブフレームＢ（２，３），Ｂ（２，４）とによって構成される。また、第３階層１４０は、第２階層１３０のサブフレームＢ（２，１）を２分割したサブフレームＢ（３，１），Ｂ（３，２）と、サブフレームＢ（２，２）を２分割したサブフレームＢ（３，３），Ｂ（３，４）と、サブフレームＢ（２，３）を２分割したサブフレームＢ（３，５），Ｂ（３，６）と、サブフレームＢ（２，４）を２分割したサブフレームＢ（３，７），Ｂ（３，８）とによって構成される。なお、図２における０，Ｎ１，Ｎ２，Ｎ３，Ｎ４，…，Ｎ7は、フレーム１００内のサブフレームＢ（３，０），…，Ｂ（３，７）の最初のサンプルの番号を示す。例えば、サブフレームＢ（２，２）は、Ｎ２からＮ４−１のサンプルによって構成されるサブフレーム、サブフレームＢ（１，２）は、Ｎ４からＮ−１のサンプルによって構成されるサブフレームである。また、図１の構成と図２のサブフレームへの分割方法は一例であり、階層数やサブフレーム分割数等はこれに限定されない。なお、サブフレームがフレームと一致するような場合（上記の例では第０階層の場合）を「１分割」と呼ぶ。また、分割数がより少ない階層を上位の階層と呼び、分割数がより多い階層を下位の階層と呼ぶ。そして、分割数が最も少ない階層が最上位の階層であり、図２の例では第０階層１１０である。分割数が最も多い階層が最下位の階層であり、図２の例では第３階層１４０である。最上位の階層と最下位の階層ではない階層が中間の階層であり、図２の例では第１階層１２０と第２階層１３０である。
【０００６】
この従来法では、各階層のサブフレーム毎に、自己相関係数算出、線形予測係数算出、線形予測係数量子化・符号化、残差信号算出及びその符号化（エントロピー符号化等）を独立に実行し、サブフレーム毎の予測係数符号と残差符号を算出する。そして、下位の階層の複数のサブフレームに対応する符号量の合計値と、当該下位の階層の複数のサブフレームから構成される上位の階層のサブフレームに対応する符号量とを比較し、フレーム１００内で符号量の合計が最小となるサブフレームの組合せを選択する。
【０００７】
図２の例で具体的に説明すると、まず、サブフレームＢ（０，１），Ｂ（１，１），Ｂ（１，２），Ｂ（２，１）〜Ｂ（２，４），Ｂ（３，１）〜Ｂ（３，８）毎に、予測分析、予測係数符号化、予測フィルタによる予測残差信号算出及びその符号化を独立に実行して、サブフレーム毎の符号を算出し、それらの符号量を計算する。
【０００８】
次に、第３階層１４０のサブフレームＢ（３，１），Ｂ（３，２）の符号の符号量の合計値と、それらの上位の階層である第２階層１３０のサブフレームＢ（２，１）の符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、サブフレームＢ（３，１），Ｂ（３，２）の符号の符号量の合計値の方がサブフレームＢ（２，１）の符号の符号量よりも大きいので、第２階層１３０のサブフレームＢ（２，１）が選択されている。なお、この図では、選択されたサブフレームを網掛けで示している。同様に、第３階層１４０のサブフレームＢ（３，３），Ｂ（３，４）の符号の符号量の合計値と、それらの上位の階層である第２階層１３０のサブフレームＢ（２，２）の符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、第３階層１４０のサブフレームＢ（３，３），Ｂ（３，４）が選択されている。さらに、第２,３階層のその他のサブフレームＢ（２，３）,Ｂ（２，４）,Ｂ（３，５）〜Ｂ（３，８）についても同様な処理を行い、サブフレーム選択を行う。
【０００９】
次に、選択された第２階層１３０のサブフレームＢ（２，１）及び第３階層１４０のＢ（３，３），Ｂ（３，４）の符号の符号量の合計と、それらの上位の階層である第１階層１２０のサブフレームＢ（１，１）の符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、サブフレームＢ（２，１），Ｂ（３，３），Ｂ（３，４）が選択されている。また、サブフレームＢ（１，２）とその下位サブフレーム（サブフレームＢ（２，３），Ｂ（２，４），Ｂ（３，５）〜Ｂ（３，８）のうち選択されているサブフレーム）についても同様なサブフレーム選択が行われる。この図の例では、第１階層１２０のサブフレームＢ（１，２）が選択されている。次に、これまで選択されたサブフレームＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）の符号の符号量の合計と、それらの上位の階層である第０階層１１０のサブフレームＢ（０，１）の符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、サブフレームＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）が選択されている。そして、このように選択されたサブフレームＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）に対応する予測係数符号と、残差符号と、サブフレームＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）を示す選択情報とが、フレーム１００の符号列として出力される。
サブフレーム内のサンプル数をＮｉとするとき、ｐ次の正規化自己相関係数は、以下の計算で求められる。
【００１０】
【数１】
2010044305.tif 000003
【００１１】
ただし、０≦ｍ≦ｐ−１、ｃｘｘ（ｍ）はｍ番目の正規化自己相関係数、ｘ（ｎ）は計算対象のサブフレームの窓掛信号列のｎ番目のサンプルの値である。窓関数としては、一般的には、ハミング窓、ハニング窓、ブラックマン窓などがある。なお、上述のｍ番目の正規化自己相関係数の計算方法から分かるように、ｃｘｘ（ｍ）＝ｃｘｘ（−ｍ）が成り立つ。そして、ＦＦＴ（またはＤＦＴ）を用いることで、ｐが大きな値（高次）の場合にｃｘｘ（ｍ）の計算に必要な演算量を抑えることができることが知られている。具体的には、非特許文献２のＲａｄｅｒ法、非特許文献３のＲａｄｅｒ法に類似の方法などがある。
【００１２】
図４に、ＦＦＴ（高速フーリエ変換）を用いて自己相関係数を計算する場合の自己相関計算手段９０６０（９１６０、９２６０、９３６０）の構成例を示す。この場合、自己相関計算手段９０６０（９１６０、９２６０、９３６０）は、ＦＦＴ分割処理手段９０６１（９１６１、９２６１、９３６１）、ＦＦＴ計算手段９０６２（９１６２、９２６２、９３６２）、複素積和計算手段９０６３（９１６３、９２６３、９３６３）、逆ＦＦＴ計算手段９０６４（９１６４、９２６４、９３６４）を備える。図５は、図４の自己相関計算手段９０６０（９１６０、９２６０、９３６０）の処理を説明するための概念図である。
【００１３】
自己相関係数を求めたいサブフレーム（またはフレーム）のサンプル数をＮ、求める自己相関係数の次数をｐとする。ＦＦＴ分割処理手段９０６１（９１６１、９２６１、９３６１）は、サブフレーム（またはフレーム）の信号列をｐサンプルごとのＫ（Ｋ＝Ｎ÷ｐ）個の小区間に分割する。図５中のｘｋ（ｎ）は、ｋ番目の小区間の信号列にｐ個の値が０の信号を付加した信号列である。ただし、１≦ｋ≦Ｋ、０≦ｎ≦Ｍ−１、Ｍ＝２×ｐである。ＦＦＴ計算手段９０６２（９１６２、９２６２、９３６２）は、次式のようにｘｋ（ｎ）をＦＦＴしてＸｋ（ｊ）を求める。
【００１４】
【数２】
2010044305.tif 000004
【００１５】
複素積和計算手段９０６３（９１６３、９２６３、９３６３）は、Ａ０（ｊ）＝０とおき、ｊ＝０，…，Ｍ−１およびｋ＝１，…，Ｋに対して、
【００１６】
【数３】
2010044305.tif 000005
【００１７】
を計算する。ただし、Ｘｋ＊（ｊ）はＸｋ（ｊ）の共役複素数とする。そして、この演算によって求められた値から、Ｖ（ｊ）＝ＡＫ（ｊ）を得る。逆ＦＦＴ計算手段９０６４（９１６４、９２６４、９３６４）は、Ｖ（ｊ）を次式のように逆ＦＦＴし、自己相関係数ｃｘｘ（ｍ）を求める。
【００１８】
【数４】
2010044305.tif 000006
【００１９】
なお、特許文献１の方法は、符号量を推定し、推定した符号量が最小となるように分割パターン（サブフレーム）を選択する方法である。また、特許文献２の方法は、特許文献１の方法の演算量を削減する方法である。特許文献２の方法では、自己相関係数が計算済みのサブフレーム（ブロック）の和で構成されるサブフレームについては、窓形状（窓関数の値）が異なることは無視して、計算済みの自己相関係数の和を、そのサブフレームの自己相関係数として代用している。
【非特許文献１】Ｉ Ｓ Ｏ ／ Ｉ Ｅ Ｃ   １ ４ ４ ９ ６ − ３ ： ２ ０ ０ ５ ／ Ａ Ｍ Ｄ ２ （ 通称Ｍ Ｐ Ｅ Ｇ− ４   Ａ Ｌ Ｓ ）
【非特許文献２】Oppenheim, Schafer著, 伊達玄訳，デジタル信号処理(下)，pp.230-231．
【非特許文献３】Saul A. Teukolsky, William T. Vetterling, Bran P. Flannery, NUMERICAL RECIPES in C++ Second Edition, Willam H. Press, pp.550-552, “13.2 Correlation and Autocorrelation Using the FFT”.
【特許文献１】特開２００７−２８６１４６号公報
【特許文献２】特開２００７−２８６２００号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
図１に示した符号化方法では、複数の階層のサブフレームの全サブフレームに対する分析をそれぞれ独立に行い、各サブフレームの符号量を比較した。しかし、この方法では、分析に必要な演算量が非常に大きくなってしまう。また、特許文献１の方法では、近似によって演算量を大幅に削減できるが、この方法で得られる分析結果は精度が十分でないため最適なサブフレームの組み合わせが選択できず、高い圧縮率が得られない場合がある。さらに、特許文献２の方法は、演算量を大幅に削減できる。しかし、サブユニット長が異なると窓形状も異なるため、近似的にした自己相関係数を求めることができない。したがって、この方法も計算精度が十分でないため、最適なサブフレームの組み合わせが選択できず、高い圧縮率が得られない場合がある。
【００２１】
本発明の目的は、このような問題を鑑み、演算量を少なくしながら、最適なサブフレームの組み合わせを選択し、高い圧縮率を得ることができる符号化技術を提供することである。
【課題を解決するための手段】
【００２２】
本発明の符号化装置は、サブフレーム部、自己相関係数算出部、線形予測符号化部、選択部、中間計算結果記憶部を備える。サブフレーム部は、フレーム単位の入力信号列（以下、「フレーム入力信号列」という）が入力され、フレーム入力信号列の一部または全部から構成されるサブフレーム単位の入力信号列（以下、「サブフレーム入力信号列」という）を、サブフレームを構成するサンプル数（サブフレーム入力信号列を構成する信号の数）が異なる複数種類、出力する。例えば、上述したように第０階層から第３階層の４種類のサブフレーム入力信号列を出力する。ただし、４種類に限定する必要はないし、図２とはことなる種類でもよい。
【００２３】
自己相関係数算出部は、窓関数処理手段と計算手段を有し、サブフレーム入力信号列ごとの自己相関係数を算出する。窓関数処理手段は、両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数により、サブフレーム入力信号列に窓関数処理を施し、窓掛信号列を出力する。計算手段は、中間計算結果記憶部に利用できる中間計算結果が存在する場合には当該中間計算結果を利用して、窓掛信号列から自己相関係数を計算する。計算手段は、複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う。
【００２４】
線形予測符号化部は、自己相関係数を用いてサブフレーム入力信号列を符号化し、サブフレーム入力信号列ごとの符号（以下、「サブフレーム符号」という）を生成する。選択部は、１つのフレーム入力信号列から生成された複数のサブフレーム符号の中から、１つ又は複数のサブフレーム符号を選択し、当該フレーム入力信号列に対する符号を生成する。中間計算結果記憶部は、自己相関係数算出部での計算処理で求められた中間計算結果を記憶する。例えば、計算手段に、後で行う計算で利用できる可能性のある中間計算結果を、選択して中間計算結果記録部に記録する機能を備えさせればよい。
【００２５】
なお、直接法によって自己相関係数を求める場合には、計算手段は、中間計算結果記憶部に記憶されている中間計算結果を求めた際に用いた窓関数と、自己相関係数を計算する対象となっている窓掛信号列を求める際に用いた窓関数とを比較し、窓関数の値が異なる部分に対しては、中間計算結果記憶部に記憶されている中間計算結果を利用しないで自己相関係数を計算すればよい。また、窓関数の値が同じ部分に対しては、中間計算結果記憶部に記憶されている中間計算結果を利用すればよい。
【００２６】
また、ＦＦＴ法によって自己相関係数を求める場合には、符号化装置は、窓掛信号列の窓関数の値が１の部分に対するＦＦＴ及び複素積和の結果を、中間計算結果として記憶しておく。そして、計算手段は、自己相関係数を計算する対象となっている窓掛信号列の窓関数の値が１の部分に対しては、中間計算結果が中間計算結果記憶部に記憶されている場合には、その中間計算結果を利用する。
【発明の効果】
【００２７】
本発明の符号化装置によれば、両端以外に１である範囲が存在する窓関数によって窓掛信号列を生成する。また、複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う。このことによって、先に計算した中間計算結果（自己相関係数を求めるために行った途中の計算結果）の中に、後の計算によって求められる中間計算結果と一致する場合がある。そこで、本発明の符号化装置では、中間計算結果が一致する場合には計算を行わず、中間計算結果記憶部に記憶しておいた中間計算結果を利用する。
【００２８】
このように、本発明の符号化装置は、窓関数の工夫によって再利用可能な中間計算結果の割合を多くしているので、演算量を少なくでき、かつ、入力信号列の分析の精度を高くできる。つまり、演算量が少なく高い圧縮率の符号化装置を提供できる。
【発明を実施するための最良の形態】
【００２９】
以下に、本発明の実施例を示す。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００３０】
実施例１では、直接法により自己相関係数を求める場合について説明する。図６に実施例１の符号化装置の構成例を、図７に自己相関係数算出部と中間計算結果記憶部の詳細な構成例を示す。また、図８に実施例１の符号化装置の処理フローの例を、図９に自己相関係数算出部の処理フローの例を示す。実施例１の符号化装置１０００は、サブフレーム部９８００、自己相関係数算出部１０１０、１１１０、１２１０、１３１０、線形予測符号化部９０９０、９１９０、９２９０、９３９０、選択部９９００、中間計算結果記憶部１５００を備える。なお、符号化装置１０００は、自己相関係数算出部１０１０（１１１０、１２１０、１３１０）と線形予測符号化部９０９０（９１９０、９２９０、９３９０）とを１つずつ組み合わせた４つの符号化部１００１、１１０１、１２０１、１３０１を備えている。
【００３１】
サブフレーム部９８００は、フレーム単位の入力信号列（以下、「フレーム入力信号列」という）が入力され、フレーム入力信号列の一部または全部から構成されるサブフレーム単位の入力信号列（以下、「サブフレーム入力信号列」という）を、サブフレームを構成するサンプル数が異なる複数種類、出力する（Ｓ９８００）。例えば、上述したように第０階層から第３階層の４種類のサブフレーム入力信号列を出力する。ただし、４種類に限定する必要はないし、図２とはことなる種類でもよい。図２では、１つ上位の階層のサブフレームを２分割して下位の階層のサブフレームとした。例えば、１つ上位の階層のサブフレームを３分割して下位の階層のサブフレームとし、階層を３つとしてもよい。つまり、どんなサブフレーム入力信号列を何種類生成するかは、フレーム入力信号列の特徴（サンプル数など）を考慮して適宜設計すればよい。なお、サブフレーム部９８００は、図１に示した従来のサブフレーム部と同じである。また、本明細書内で、「分割」の意味には、「１分割」つまり分割しないことも含まれる。例えば、「フレームを１分割してサブフレームとする。」とは、「サブフレーム＝フレーム」となるようなサブフレームを生成することである。また、「フレームを分割してサブフレームを生成する。」には、フレームを１分割する場合（図２の第０階層）も含まれている。
【００３２】
自己相関係数算出部１０１０、１１１０、１２１０、１３１０は、窓関数処理手段１０５０、１１５０、１２５０、１３５０と計算手段１０６０、１１６０、１２６０、１３６０を有し、サブフレーム入力信号列ごとの自己相関係数を算出する（Ｓ１０１０、Ｓ１１１０、Ｓ１２１０、Ｓ１３１０）。窓関数処理手段１０５０、１１５０、１２５０、１３５０は、両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数により、サブフレーム入力信号列に窓関数処理を施し、窓掛信号列を出力する（Ｓ１０５０、Ｓ１１５０、Ｓ１２５０、Ｓ１３５０）。計算手段１０６０、１１６０、１２６０、１３６０は、自己相関係数計算手段１０６１、１１６１、１２６１、１３６１、加算正規化手段１０６２、１１６２、１２６２、１３６２を備える。そして、計算手段１０６０、１１６０、１２６０は、さらに中間計算結果取得処理手段１０６３、１１６３、１２６３を備え、計算手段１１６０、１２６０、１３６０は、さらに中間計算結果保存処理手段１１６４、１２６４、１３６４を備える。計算手段１０６０、１１６０、１２６０、１３６０は、中間計算結果記憶部１５００に利用できる中間計算結果が存在する場合には当該中間計算結果を利用して、窓掛信号列から自己相関係数を計算する（Ｓ１０６０、Ｓ１１６０、Ｓ１２６０、Ｓ１３６０）。なお、計算手段１０６０、１１６０、１２６０、１３６０は、利用できる中間計算結果を多くするため、複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う。つまり、図８に示すように、下位の階層から順番に処理を行っていく。
【００３３】
計算手段１０６０、１１６０、１２６０、１３６０の処理について、以下に詳細に説明する（図７、図９参照）。計算手段１０６０、１１６０、１２６０の中間計算結果取得処理手段１０６３、１１６３、１２６３は、中間計算結果記憶部１５００に利用できる中間計算結果が存在するかを確認し、利用できる範囲の中間計算結果を取得する（Ｓ１０６３、Ｓ１１６３、Ｓ１２６３）。なお、最下位の階層（図６の場合は第３階層）の計算手段１３６０は、最初に処理を行うので、利用できる中間計算結果が存在しない。したがって、計算手段１３６０は、中間計算結果取得処理手段を有さなくてもよい。自己相関係数計算手段１０６１、１１６１、１２６１、１３６１は、利用できる中間計算結果がない範囲の信号列の自己相関係数を計算する（Ｓ１０６１、Ｓ１１６１、Ｓ１２６１、Ｓ１３６１）。加算正規化手段１０６２、１１６２、１２６２、１３６２は、自己相関係数計算手段１０６１、１１６１、１２６１、１３６１が計算した自己相関係数と、中間計算結果記憶部１５００から読み出した自己相関係数とを用いてサブフレーム入力信号列の自己相関係数を求める（Ｓ１０６２、Ｓ１１６２、Ｓ１２６２、Ｓ１３６２）。計算手段１１６０、１２６０、１３６０の中間計算結果保存処理手段１１６４、１２６４、１３６４は、中間計算結果が求められた時には当該中間計算結果を中間計算結果記憶部１５００に記憶させる（Ｓ１１６４、Ｓ１２６４、Ｓ１３６４）。なお、最上位の階層（図６の場合は第０階層）の計算手段１０６０は、最後に処理を行うので、後の計算で利用できる中間計算結果が存在しない。したがって、計算手段１０６０は、中間計算結果保存処理手段を有さなくてもよい。
【００３４】
線形予測符号化部９０９０、９１９０、９２９０、９３９０は、自己相関係数を用いてサブフレーム入力信号列を符号化し、サブフレーム入力信号列ごとの符号（以下、「サブフレーム符号」という）を生成する（Ｓ９０９０、Ｓ９１９０、Ｓ９２９０、Ｓ９３９０）。なお、線形予測符号化部９０９０、９１９０、９２９０、９３９０の構成は、図１に示した従来の線形予測符号化部と同じである。選択部９９００は、１つのフレーム入力信号列から生成された複数のサブフレーム符号の中から、１つ又は複数のサブフレーム符号を選択し、当該フレーム入力信号列に対する符号を生成する（Ｓ９９００）。なお、選択部９９００は、図１に示した従来の選択部と同じである。中間計算結果記憶部１５００は、自己相関係数算出部での計算処理で求められた中間計算結果を記憶する。中間計算結果記憶部１５００は、すべての中間計算結果を記憶してもよいし、後の計算で利用できる中間計算結果を選択して記憶してもよい。選択して記憶する場合には、中間計算結果保存処理手段１１６４、１２６４、１３６４が、サブフレームへの分割の方法や窓関数などを考慮し、後で行う計算で利用できる可能性のある中間計算結果を選択して中間計算結果記憶部に記憶させればよい。
【００３５】
次に、本発明の特徴を具体的な窓関数の例を示しながら説明する。図１０に、本発明で使用する窓関数の例を示す。図１１に、図１０の窓関数を用いた場合に自己相関係数を計算しなければ成らない範囲と再利用できる自己相関係数の範囲を示す。図１２は、加算正規化手段の処理を説明するための図である。ステップＳ１０５０、Ｓ１１５０、Ｓ１２５０、Ｓ１３５０で、窓関数処理手段１０５０、１１５０、１２５０、１３５０が行う窓関数処理では、両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数を用いる。図１０に示された窓関数は、その例である。Ｗをサブフレームのサンプル数、ｎ（ただし、０≦ｎ≦Ｗ−１）をサンプルの位置を示す整数とすると、この窓関数ｗ（ｎ）は、次式で表される。
【００３６】
【数５】
2010044305.tif 000007
【００３７】
窓関数ｗ（ｎ）は、両端が１ではなく、かつ、両端以外に１である範囲が存在していることが分かる。なお、窓関数ｗ（ｎ）は、１つの例である。この窓関数でなくても、両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数であれば、本発明の効果が得られることに注意されたい。
【００３８】
そして、サブフレーム入力信号列をｘ（ｎ）とすると、窓関数処理手段１０５０、１１５０、１２５０、１３５０から出力される窓掛信号列は、ｗ（ｎ）・ｘ（ｎ）となる。なお、サブフレームのサンプル数Ｗは、フレームをどのように分割するかで変わり、階層ごとに異なる。例えば、図２に示した第０階層はＮがサンプル数Ｗ、第１階層はＮ４（つまりＮ／２）がサンプル数Ｗ、第２階層はＮ２（つまりＮ／４）がサンプル数Ｗ、第３階層はＮ１（つまりＮ／８）がサンプル数Ｗに相当する。
【００３９】
次に図１１を参照しながら計算手段１０６０、１１６０、１２６０、１３６０の処理について説明する。図１１の各階層は図２と同じように分割された場合を示している。計算手段１０６０、１１６０、１２６０、１３６０が自己相関係数を計算しなければならないのは、窓関数ｗ（ｎ）の値が１で無い範囲と、窓関数ｗ（ｎ）の値は１であるが利用できる中間計算結果が記憶されていない範囲である。一方、計算手段１０６０、１１６０、１２６０、１３６０が自己相関係数を再利用できるのは、窓関数ｗ（ｎ）の値は１であり、中間計算結果が記憶されている範囲である。第３階層のサブフレーム入力信号列は、すべての範囲について、自己相関係数を計算しなければならない。しかし、図１１から、第２階層、第１階層、および第０階層では、多くの範囲で自己相関係数を再利用できることが分かる。
【００４０】
図１２は、図１１の中の一部を切り出した図である。自己相関係数計算手段１３６１は、第３階層のすべての範囲３０１〜３１０について自己相関係数を計算する。その中の範囲３０３、範囲３０４、範囲３０５、範囲３０８、範囲３０９、範囲３０３と範囲３０４との境界部分、範囲３０４と範囲３０５との境界部分、および３範囲０８と範囲３０９との境界部分に対する中間計算結果は、後の計算で利用できるので中間計算結果記憶部１５００に記憶される。これらの中間計算結果の中で計算手段１２６０での処理に使用される範囲３０３、範囲３０４、範囲３０５、範囲３０８、範囲３０３と範囲３０４との境界部分、および範囲３０４と範囲３０５との境界部分の中間計算結果は、以下のように求めることができる。
【００４１】
【数６】
2010044305.tif 000008
【００４２】
ただし、ｎ０は範囲３０３の最初のサンプルの位置、ｎ１は範囲３０４の最初のサンプルの位置、ｎ２は範囲３０５の最初のサンプルの位置、ｎ４は範囲３０８の最初のサンプルの位置、ｎ５は範囲３０９の最初のサンプルの位置を示す。なお、窓関数ｗ（ｎ）の値が１の範囲では、上記のように自己相関係数の計算式にｗ（ｎ）が表れない。つまり、この範囲の計算では、窓掛信号列ではなく、サブフレーム入力信号列を用いてもよい。言い換えると、窓関数ｗ（ｎ）の値が１の範囲では、窓掛信号列とはサブフレーム入力信号列のことである。
【００４３】
次に、計算手段１２６０での処理について説明する。中間計算結果取得処理手段１２６３は、中間計算結果記憶部１５００に記憶されている中間計算結果の中から利用できる中間計算結果を取り出す。取り出される中間計算結果は、上述の範囲３０３、範囲３０４、範囲３０５、範囲３０８、範囲３０３と範囲３０４との境界部分、および範囲３０４と範囲３０５との境界部分の中間計算結果である。範囲３０３は範囲２０２に、範囲３０４は範囲２０３に、範囲３０５は範囲２０４に、範囲３０８は範囲２０６に、範囲３０３と範囲３０４との境界部分は範囲２０２と範囲２０３との境界部分に、範囲３０４と範囲３０５との境界部分は範囲２０３と範囲２０４との境界部分に相当する。これらの範囲は中間計算結果が利用される。足りない範囲については、自己相関係数計算手段１２６１が、自己相関係数を計算する。具体的には、範囲２０１、範囲２０５、範囲２０７、範囲２０１と範囲２０２との境界部分、範囲２０４と範囲２０５との境界部分、範囲２０５と範囲２０６との境界部分、および範囲２０６と範囲２０７との境界部分について、自己相関係数計算手段１２６１が以下のように自己相関係数を求める。
【００４４】
【数７】
2010044305.tif 000009
【００４５】
加算正規化手段１２６２は、次式のように、中間計算結果取得処理手段１２６３が取得した中間計算結果と自己相関係数計算手段１２６１が計算した自己相関係数をすべて加算し、サブフレームのサンプル数で除算することにより、正規化自己相関係数ｃｘｘ（ｍ）を求める。
【００４６】
【数８】
2010044305.tif 000010
ただし、０≦ｍ≦ｐ−１、ｐは自己相関係数の次数である。
【００４７】
中間計算結果保存処理手段１２６４は、中間計算結果をそのまま中間計算結果記憶部１５００に記憶してもよいし、上位の階層での計算が簡単になるように変形した上で中間計算結果記憶部１５００に記憶してもよい。図１１の太枠で示した範囲は、上位の階層      で利用できる範囲なので、太枠の範囲ごとに中間計算結果をまとめておけば、上位の階層での計算が簡単になる。例えば、範囲２０４〜２０６（つまり、範囲２０４、範囲２０５、範囲２０６、範囲２０４と範囲２０５との境界部分、および範囲２０５と範囲２０６との境界部分）に対する中間計算結果は、第１階層での自己相関係数の計算に利用できる。そこで、中間計算結果保存処理手段１２６４は、次のように範囲２０４〜２０６の中間計算結果を計算し、中間計算結果記憶部１５００に記憶させておけばよい。
【００４８】
【数９】
2010044305.tif 000011
【００４９】
なお、記憶領域の節約効果が小さくなり、上位の階層における加算正規化部の演算処理量が多くなってしまうが、中間計算結果保存処理手段１１６４、１２６４、１３６４を備えず、自己相関計算部が計算した自己相関係数をすべて中間計算結果記憶部１５５０に記憶するようにしてもよい。
【００５０】
実施例１の符号化装置によれば、両端以外に１である範囲が存在する窓関数によって窓掛信号列を生成する。また、複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う。このことによって、先に計算した中間計算結果（自己相関係数を求めるために行った途中の計算結果）の中に、後の計算によって求められる中間計算結果と一致する場合がある。そして、実施例１の符号化装置では、中間計算結果が一致する場合には計算を行わず、中間計算結果記憶部に記憶しておいた中間計算結果を利用する。このように、実施例１の符号化装置は、窓関数の工夫によって再利用可能な中間計算結果の割合を多くしているので、演算量を少なくでき、かつ、入力信号列の分析の精度を高くできる。つまり、演算量が少なく高い圧縮率の符号化装置を提供できる。また、演算量が減るので、処理の高速化も可能である。
【００５１】
［変形例１］
変形例１では、直接法により自己相関係数を求める場合であって、上位の階層において自己相関係数の次数が増加するときについて説明する。変形例１でも、サブフレームの階層の例は図２と同じとする。下位の階層と上位の階層とで、線形予測（自己相関係数を求める次数）が異なる場合、実施例１の符号化装置１０００では対応できない。そこで、変形例１では、下位の階層と同一の次数までは実施例１と同様に下位の階層での計算で求めた自己相関係数（中間計算結果）は利用しながら計算し、これに加えて下位の階層には無い高次の自己相関係数も計算する方法を示す。
【００５２】
変形例１の符号化装置２０００の機能構成例は図６と同じである。また、符号化装置２０００の処理フローは図８と同じである。符号化装置２０００は、符号化装置１０００と、自己相関係数算出部２０１０、２１１０、２２１０と中間計算結果記憶部２５００とが異なる。図１３に、自己相関係数算出部２０１０、２１１０、２２１０、１３１０と中間計算結果記憶部２５００の詳細な構成例を示す。また、図１４に、自己相関係数算出部２０１０、２１１０、２２１０の処理フローを示す。自己相関係数算出部２０１０、２１１０、２２１０は、計算手段２０６０、２１６０、２２６０が、自己相関係数算出部１０１０、１１１０、１２１０（図７）と異なる。なお、最下位の階層（図６の場合は第３階層）の計算手段１３６０は、最初に処理を行うので、利用できる中間計算結果が存在しない。したがって、計算手段１３６０は、符号化装置１０００と同じでよい。
【００５３】
計算手段２０６０、２１６０、２２６０は、自己相関係数計算手段１０６１、１１６１、１２６１、加算正規化手段２０６２、２１６２、２２６２、中間計算結果取得処理手段２０６３、２１６３、２２６３、中間計算結果保存処理手段２１６４、２２６４、高次自己相関係数計算手段２０６５、２１６５、２２６５を備える。計算手段２０６０、２１６０、２２６０は、中間計算結果記憶部２５００に利用できる中間計算結果が存在する場合には当該中間計算結果を利用して、窓掛信号列から自己相関係数を計算する（Ｓ２０６０、Ｓ２１６０、Ｓ２２６０）。
【００５４】
以下に詳細に説明する。計算手段２０６０、２１６０、２２６０の中間計算結果取得処理手段２０６３、２１６３、２２６３は、中間計算結果記憶部２５００に利用できる中間計算結果が存在するかを確認し、利用できる範囲の中間計算結果を取得する（Ｓ２０６３、Ｓ２１６３、Ｓ２２６３）。自己相関係数計算手段１０６１、１１６１、１２６１は、利用できる中間計算結果がない範囲の信号列の自己相関係数を計算する（Ｓ１０６１、Ｓ１１６１、Ｓ１２６１）。
【００５５】
加算正規化手段２０６２、２１６２、２２６２は、自己相関係数計算手段２０６１、２１６１、２２６１、２３６１が計算した自己相関係数と、中間計算結果記憶部２５００から読み出した自己相関係数とを用いてサブフレーム入力信号列の自己相関係数を求める（Ｓ２０６２、Ｓ２１６２、Ｓ２２６２、Ｓ２３６２）。
【００５６】
高次自己相関係数計算手段２０６５、２１６５、２２６５は、不足している次数に対応した自己相関係数を計算する。例えば、第２階層での次数をｐ２、第１階層での次数をｐ１とし、ｐ２＜ｐ１とする。第２階層までの計算が終わった時には、中間計算結果記憶部２５００には、正規化自己相関係数ｃｘｘ（ｍ）（ただし、０≦ｍ≦ｐ２−１）を求めるために利用できる中間計算結果は記憶されている。しかし、ｐ２≦ｍ≦ｐ１−１の範囲の正規化自己相関係数ｃｘｘ（ｍ）を求めるための中間計算結果は記憶されていない。そこで、高次自己相関係数計算手段２０６５、２１６５、２２６５は、窓掛信号列の全範囲についてｐ２≦ｍ≦ｐ１−１に対する自己相関係数を求める。
【００５７】
中間計算結果保存処理手段２１６４、２２６４は、自己相関係数計算手段１１６１、１２６１の計算結果と高次自己相関係数計算手段２１６５、２２６５の計算結果とを、中間計算結果として中間計算結果記憶部２５００に記憶させる（Ｓ２１６４、Ｓ２２６４）。
変形例１の符号化装置は、上述のような構成なので、実施例１の符号化装置の効果を得るとともに、各階層で求めなければならない自己相関係数の次数が異なる場合にも対応できる。
【００５８】
［変形例２］
実施例１、変形例１では、符号化部を階層の数と同じだけ備えていた（図６の例では４つ）。しかし、１つの符号化部ですべての階層の処理を行ってもよい。図１５に、変形例２の符号化装置の構成例を示す。また、図１６に、変形例２の符号化装置の処理フローの例を示す。符号化装置３０００は、サブフレーム部９８５０、自己相関係数算出部１６１０、線形予測符号化部９５９０、選択部９９００、中間計算結果記憶部１７００を備える。符号化装置３０００は、自己相関係数算出部１６１０、線形予測符号化部９５９０、中間計算結果記憶部１７００を１つずつ有する符号化部１６０１を１つだけ備えている。サブフレーム部９８５０は、フレーム単位の入力信号列（以下、「フレーム入力信号列」という）が入力され、フレーム入力信号列の一部または全部から構成されるサブフレーム単位の入力信号列（以下、「サブフレーム入力信号列」という）を、サブフレームを構成するサンプル数が異なる複数種類、出力する（Ｓ９８５０）。符号化装置３０００は、最下位層のサブフレーム入力信号列を処理の対象とする（Ｓ３０１０）。
【００５９】
自己相関係数算出部１６１０は、窓関数処理手段１６５０と計算手段１６６０を有し、サブフレーム入力信号列ごとの自己相関係数を算出する（Ｓ１６１０）。具体的には、窓関数処理手段１６５０は、両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数により、処理対象のサブフレーム入力信号列に窓関数処理を施し、窓掛信号列を出力する（Ｓ１６５０）。計算手段１６６０は、自己相関係数計算手段１６６１、加算正規化手段１６６２、中間計算結果取得処理手段１６６３、中間計算結果保存処理手段１６６４を備える。中間計算結果取得処理手段１６６３は、中間計算結果記憶部１７００に利用できる中間計算結果が存在する場合には当該中間計算結果を取り込む（Ｓ１６６３）。自己相関係数計算手段１６６１は、利用できる中間計算結果がない範囲の信号列の自己相関係数を計算する（Ｓ１６６１）。加算正規化手段１６６２は、自己相関係数計算手段１６６１が計算した自己相関係数と、中間計算結果記憶部１７００から読み出した自己相関係数とを用いてサブフレーム入力信号列の自己相関係数を求める（Ｓ１６６２）。中間計算結果保存処理手段１６６４は、中間計算結果が求められた時には当該中間計算結果を中間計算結果記憶部１７００に記憶させる（Ｓ１６６４）。なお、階層によって自己相関係数の次数が異なる場合には、変形例１と同じように、自己相関係数算出部１６１０は、高次自己相関係数計算手段２６６５も備えればよく、次数の足りないときには高次の自己相関係数を計算すればよい（Ｓ２６６５）。
【００６０】
線形予測符号化部９５９０は、自己相関係数を用いてサブフレーム入力信号列を符号化し、サブフレーム入力信号列ごとの符号（以下、「サブフレーム符号」という）を生成する（Ｓ９５９０）。符号化装置３０００は、すべての階層の符号化が終了したかを確認する（Ｓ３０２０）。ステップＳ３０２０がＮｏの場合には、符号化装置３０００は、１つ上位の階層のサブフレーム入力信号列を処理の対象とし、ステップＳ１６５０に戻る（Ｓ３０３０）。ステップＳ３０２０がＮｏの場合には、ステップＳ９９５０に進む。選択部９９５０は、１つのフレーム入力信号列から生成された複数のサブフレーム符号の中から、１つ又は複数のサブフレーム符号を選択し、当該フレーム入力信号列に対する符号を生成する（Ｓ９９５０）。
【００６１】
変形例２の符号化装置は、このような構成なので、実施例１、変形例１と同じ効果を得ることができる。
【実施例２】
【００６２】
実施例２では、ＦＦＴ法により自己相関係数を求める場合について説明する。図１７に実施例２の符号化装置の構成例を、図１８に自己相関係数算出部と中間計算結果記憶部の詳細な構成例を示す。また、図１９に実施例２の符号化装置の処理フローの例を、図２０に自己相関係数算出部の処理フローの例を示す。実施例２の符号化装置６０００は、サブフレーム部９８００、自己相関係数算出部６０１０、６１１０、６２１０、６３１０、線形予測符号化部９０９０、９１９０、９２９０、９３９０、選択部９９００、中間計算結果記憶部６５００を備える。
【００６３】
サブフレーム部９８００は、フレーム入力信号列が入力され、フレーム入力信号列の一部または全部から構成されるサブフレーム入力信号列を、サブフレームを構成するサンプル数が異なる複数種類、出力する（Ｓ９８００）。例えば、上述したように第０階層から第３階層の４種類のサブフレーム入力信号列を出力する。ただし、４種類に限定する必要はないし、図２とはことなる種類でもよい。図２では、１つ上位の階層のサブフレームを２分割して下位の階層のサブフレームとした。例えば、１つ上位の階層のサブフレームを３分割して下位の階層のサブフレームとし、階層を３つとしてもよい。つまり、どんなサブフレーム入力信号列を何種類生成するかは、フレーム入力信号列の特徴（サンプル数など）を考慮して適宜設計すればよい。なお、サブフレーム部９８００は、図１に示した従来のサブフレーム部と同じである。また、本明細書内で、「分割」の意味には、「１分割」つまり分割しないことも含まれる。例えば、「フレームを１分割してサブフレームとする。」とは、「サブフレーム＝フレーム」となるようなサブフレームを生成することである。また、「フレームを分割してサブフレームを生成する。」には、フレームを１分割する場合（図２の第０階層）も含まれている。
【００６４】
自己相関係数算出部６０１０、６１１０、６２１０、６３１０は、窓関数処理手段１０５０、１１５０、１２５０、１３５０と計算手段６０６０、６１６０、６２６０、６３６０を有し、サブフレーム入力信号列ごとの自己相関係数を算出する（Ｓ６０１０、Ｓ６１１０、Ｓ６２１０、Ｓ６３１０）。窓関数処理手段１０５０、１１５０、１２５０、１３５０は、両端が１ではなく、かつ、両端以外に１である範囲が存在する窓関数ｗ（ｎ）により、サブフレーム入力信号列に窓関数処理を施し、窓掛信号列を出力する（Ｓ１０５０、Ｓ１１５０、Ｓ１２５０、Ｓ１３５０）。例えば、図１０のような窓関数を用いればよい。
【００６５】
計算手段６０６０、６１６０、６２６０、６３６０は、ＦＦＴ分割処理手段９０６１、９１６１、９２６１、９３６１、ＦＦＴ計算手段６０６２、６１６２、６２６２、６３６２、複素積和計算手段６０６５、６１６５、６２６５、６３６５、逆ＦＦＴ計算手段９０６４、９１６４、９２６４、９３６４を備える。そして、計算手段６０６０、６１６０、６２６０は、さらに中間計算結果取得処理手段６０６３、６１６３、６２６３を備え、計算手段６１６０、６２６０、６３６０は、さらに中間計算結果保存処理手段６１６４、６２６４、６３６４を備える。計算手段６０６０、６１６０、６２６０、６３６０は、中間計算結果記憶部６５００に利用できる中間計算結果が存在する場合には当該中間計算結果を利用して、窓掛信号列から自己相関係数を計算する（Ｓ６０６０、Ｓ６１６０、Ｓ６２６０、Ｓ６３６０）。なお、計算手段６０６０、６１６０、６２６０、６３６０は、利用できる中間計算結果を多くするため、複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う。つまり、図１９に示すように、下位の階層から順番に処理を行っていく。
【００６６】
計算手段６０６０、６１６０、６２６０、６３６０の処理について、以下に詳細に説明する（図１８、図２０参照）。計算手段６０６０、６１６０、６２６０のＦＦＴ分割処理手段９０６１、９１６１、９２６１、９３６１は、図５に示したように、窓掛信号列ｗ（ｎ）・ｘ（ｎ）をｐサンプルごとのＫ（Ｋ＝Ｎ÷ｐ）個の小区間の信号列ｘｋ（ｎ）に分割する（Ｓ９０６１、Ｓ９１６１、Ｓ９２６１、Ｓ９３６１）。図５中のｘｋ（ｎ）は、ｋ番目の小区間の信号列にｐ個の値が０の信号を付加した信号列である。また、Ｎはサブフレームのサンプル数、ｐは求める自己相関係数の次数、１≦ｋ≦Ｋ、０≦ｎ≦Ｍ−１、Ｍ＝２×ｐである。中間計算結果取得処理手段６０６３、６１６３、６２６３は、中間計算結果記憶部６５００に利用できる中間計算結果が存在するかを確認し、利用できる範囲の中間計算結果を取得する（Ｓ６０６３、Ｓ６１６３、Ｓ６２６３）。なお、最下位の階層（図６の場合は第３階層）の計算手段６３６０は、最初に処理を行うので、利用できる中間計算結果が存在しない。したがって、計算手段６３６０は、中間計算結果取得処理手段を有さなくてもよい。ＦＦＴ計算手段６０６２、６１６２、６２６２、６３６２は、次式のように小区間の信号列ｘｋ（ｎ）をＦＦＴしてＸｋ（ｊ）を求める（Ｓ６０６２、Ｓ６１６２、Ｓ６２６２、Ｓ６３６２）。
【００６７】
【数１０】
2010044305.tif 000012
【００６８】
複素積和計算手段６０６５、６１６５、６２６５、６３６５は、Ａ０（ｊ）＝０とおき、ｊ＝０，…，Ｍ−１およびｋ＝１，…，Ｋに対して、
【００６９】
【数１１】
2010044305.tif 000013
【００７０】
を計算する。ただし、Ｘｋ＊（ｊ）はＸｋ（ｊ）の共役複素数とする。そして、この演算によって求められた値から、Ｖ（ｊ）＝ＡＫ（ｊ）を得る（Ｓ６０６５、Ｓ６１６５、Ｓ６２６５、Ｓ６３６５）。中間計算結果保存処理手段６１６４、６２６４、６３６４は、中間計算結果が求められた時には当該中間計算結果を中間計算結果記憶部６５００に記憶させる（Ｓ６１６４、Ｓ６２６４、Ｓ６３６４）。なお、最上位の階層（図１７の場合は第０階層）の計算手段６０６０は、最後に処理を行うので、後の計算で利用できる中間計算結果が存在しない。したがって、計算手段６０６０は、中間計算結果保存処理手段を有さなくてもよい。逆ＦＦＴ計算手段９０６４、９１６４、９２６４、９３６４は、Ｖ（ｊ）を次式のように逆ＦＦＴし、自己相関係数ｃｘｘ（ｍ）を求める（Ｓ９０６４、Ｓ９１６４、Ｓ９２６４、Ｓ９３６４）。
【００７１】
【数１２】
2010044305.tif 000014
【００７２】
線形予測符号化部９０９０、９１９０、９２９０、９３９０は、自己相関係数を用いてサブフレーム入力信号列を符号化し、サブフレーム入力信号列ごとの符号（以下、「サブフレーム符号」という）を生成する（Ｓ９０９０、Ｓ９１９０、Ｓ９２９０、Ｓ９３９０）。なお、線形予測符号化部９０９０、９１９０、９２９０、９３９０の構成は、図１に示した従来の線形予測符号化部と同じである。選択部９９００は、１つのフレーム入力信号列から生成された複数のサブフレーム符号の中から、１つ又は複数のサブフレーム符号を選択し、当該フレーム入力信号列に対する符号を生成する（Ｓ９９００）。なお、選択部９９００は、図１に示した従来の選択部と同じである。
【００７３】
次に、本発明の特徴を具体的な窓関数の例を示しながら説明する。窓関数は、図１０と同じ窓関数を用いる。また、窓関数が階層ごとに異なるので、小区間の信号列ｘｋ（ｎ）とｘｋ（ｎ）をＦＦＴして得られた結果Ｘｋ（ｊ）も階層ごとに異なる。そこで、どの階層なのかを示すため、ｘＬ，ｋ（ｎ）とＸＬ，ｋ（ｊ）と表現する。ただし、Ｌは階層を示しており、例えば、第１階層ならばＬ＝１である。図２１は、ＦＦＴおよび複素積和の結果を再利用できる範囲を説明するための図であり、フレームを３２分割した場合の例を示している。つまり、第３階層のサブフレームは４個のｘＬ，ｋ（ｎ）、第２階層のサブフレームは８個のｘＬ，ｋ（ｎ）、第１階層のサブフレームは１６個のｘＬ，ｋ（ｎ）、第０階層のサブフレームは３２個のｘＬ，ｋ（ｎ）で構成される例を示している。なお、図２１では、スペースの関係から、ｘＬ，ｋ（ｎ）をｘＬ，ｋと表現している。また、ｘＬ，ｋ（ｎ）は、ｋ番目の小区間の信号列にｐ個の０が付加された信号列であるが、図２１では、付加されたｐ個の０は省略している。なお、ｐは自己相関係数の次数である。
【００７４】
ＦＦＴ法でも図１９に示したように、下位の階層（図１９の例では第３階層）から処理を行う。例えば、第３階層の最初のサブフレームに対しては、ＦＦＴ計算手段６３６２が、ｘ３，０（ｎ）〜ｘ３，３（ｎ）をＦＦＴしてＸ３，０（ｊ）〜Ｘ３，３（ｊ）を得る。また、複素積和計算手段６３６５が、
【００７５】
【数１３】
2010044305.tif 000015
【００７６】
を求める。なお、どの階層のＶ（ｊ）かを明確にする必要がある場合には、第Ｌ階層のＶ（ｊ）をＶＬ（ｊ）と表現する。そして、中間計算処理結果保存処理手段６３６４が、中間計算結果であるＸ３，０（ｊ）〜Ｘ３，３（ｊ）の全部、またはその一部を中間計算結果記憶部に記憶させる。また、逆ＦＦＴ計算手段９３６４が、
【００７７】
【数１４】
2010044305.tif 000016
【００７８】
のように計算し、自己相関係数ｃｘｘ（ｍ）を求める。同様にして、第３階層のすべてのサブフレームに対しても自己相関係数を求める。
【００７９】
次に、第２階層の自己相関係数を求めるが、図１０に示した窓関数は、サブフレームのサンプル数に依存しているため、階層ごとに異なる。したがって、階層が異なっても窓関数の値が同じとなる場合（言い換えると、窓関数の値が、小区間の範囲全体で１の場合）に中間計算結果を再利用できる。例えば、第２階層の最初のサブフレームに対するＦＦＴ計算手段６２６２の処理では、ｘ２，０（ｎ）〜ｘ２，７（ｎ）をＦＦＴしてＸ２，０（ｊ）〜Ｘ２，７（ｊ）を得る。この処理の中で、再利用できるのは、Ｘ３，１（ｊ）、Ｘ３，２（ｊ）、Ｘ３，５（ｊ）、Ｘ３，６（ｊ）であり、Ｘ２，１（ｊ）＝Ｘ３，１（ｊ）、Ｘ２，２（ｊ）＝Ｘ３，２（ｊ）、Ｘ２，５（ｊ）＝Ｘ３，５（ｊ）、Ｘ２，６（ｊ）＝Ｘ３，６（ｊ）である。したがって、中間計算結果取得処理手段６２６３が、Ｘ３，１（ｊ）、Ｘ３，２（ｊ）、Ｘ３，５（ｊ）、Ｘ３，６（ｊ）を中間計算結果記憶部６５００から取り込む。そして、ＦＦＴ計算手段６２６２の処理では、Ｘ２，１（ｊ）、Ｘ２，２（ｊ）、Ｘ２，５（ｊ）、Ｘ２，６（ｊ）は行わず、Ｘ２，０（ｊ）、Ｘ２，３（ｊ）、Ｘ２，４（ｊ）、Ｘ２，７（ｊ）のみを求める。複素積和計算手段６２６５は、
【００８０】
【数１５】
2010044305.tif 000017
【００８１】
を計算する代わりに、
【００８２】
【数１６】
2010044305.tif 000018
を計算すればよい。そして、逆ＦＦＴ計算手段９２６４が、
【００８３】
【数１７】
2010044305.tif 000019
【００８４】
のように計算し、自己相関係数ｃｘｘ（ｍ）を求める。同様にして、第３階層のすべてのサブフレームに対しても自己相関係数を求める。
なお、中間計算処理結果保存処理手段６３６４が、
【００８５】
【数１８】
2010044305.tif 000020
【００８６】
も中間計算結果記憶部に記憶させておけば、複素積和計算手段６２６５の計算量を削減することもできる。例えば、図２１の点線で囲んだ部分は、複素積和計算手段内での途中の計算を、中間計算結果として記憶しておけばよい範囲である。同様に、第１階層、第０階層の処理も行えばよい。また、中間計算結果であるＸ３，０（ｊ）は、窓関数の値が０でない部分の中間計算結果なので、後の計算で再利用できない。したがって、中間計算処理結果保存処理手段６３６４が、中間計算結果の中で後で利用できる中間計算結果を選択して中間計算結果記憶部に記憶させれば、記憶容量を少なくできる。なお、実施例１と同じように、実施例２でも１つの符号化部ですべての階層の処理を行ってもよい。
【００８７】
実施例２の符号化装置によれば、両端以外に１である範囲が存在する窓関数によって窓掛信号列を生成する。また、複数種類のサブフレーム入力信号列に対する自己相関係数の算出は、サブフレームを構成するサンプル数が少ない方から行う。このことによって、先に計算した中間計算結果（自己相関係数を求めるために行った途中の計算結果）の中に、後の計算によって求められる中間計算結果と一致する場合がある。そして、実施例２の符号化装置では、中間計算結果が一致する場合には計算を行わず、中間計算結果記憶部に記憶しておいた中間計算結果を利用する。このように、実施例２の符号化装置は、窓関数の工夫によって再利用可能な中間計算結果の割合を多くしているので、演算量を少なくでき、かつ、入力信号列の分析の精度を高くできる。つまり、演算量が少なく高い圧縮率の符号化装置を提供できる。また、演算量が減るので、処理の高速化も可能である。
［変形例１］
ＦＦＴ法（実施例２）の場合にも、直説法（実施例１）と同じように、上位の階層において自己相関係数の次数が増加する場合はある。例えば、非特許文献１に記載された例では、予測次数の最大値がサブフレームのサンプル数の１／８に制限されている。このような場合、サブフレームのサンプル数が少ない下位の階層の自己相関係数の次数ｐが上位の階層の自己相関係数の次数よりも小さくなってしまう。変形例１では、上位の階層で自己相関係数の次数が高くなった場合に、下位の階層でのＦＦＴの計算結果を再利用する方法について説明する。なお、本変形例の符号化装置の機能構成例は図１７と同じ、自己相関係数算出部と中間計算結果記憶部の詳細な構成例は図１８と同じ、符号化装置の処理フローの例は図１９と同じ、自己相関係数算出部の処理フローの例は図２０と同じである。
【００８８】
例えば、第Ｌ階層の自己相関係数の次数をｐＬ、ＭＬ＝２×ｐＬとする。この場合、ＦＦＴ計算手段６３６２は、
【００８９】
【数１９】
2010044305.tif 000021
【００９０】
を計算する。計算の範囲がＸ３，ｋ（ｊ）は０≦ｎ≦２×ｐ３−１であるのに対して、Ｘ２，ｋ（ｊ）は０≦ｎ≦２×ｐ２−１である。したがって、ｐ３≠ｐ２の場合には、複素積和計算手段６０６５、６１６５、６２６５は、実施例２のようには、下位の階層のＸＬ，ｋ（ｊ）を利用できない。
【００９１】
そこで、複素積和計算手段６０６５、６１６５、６２６５は、Ａ０（ｊ）＝０とおき、ｊ＝０，…，２×ｐＬ-1−１およびｋ＝１，…，Ｋに対して、
【００９２】
【数２０】
2010044305.tif 000022
【００９３】
を計算する。また、Ａ’０（ｑ）＝０とおき、ｑ＝０，…，２×ｐＬ−２×ｐＬ-1−１およびｋ＝１，…，Ｋに対して、
【００９４】
【数２１】
2010044305.tif 000023
を計算する。そして、
【００９５】
【数２２】
2010044305.tif 000024
を得る。
【００９６】
中間計算結果保存処理手段６２６４は、中間計算結果を中間計算結果記憶部６５００に記憶させる。逆ＦＦＴ計算手段９２６４は、得られたＶ（ｊ）を次式のように逆ＦＦＴし、自己相関係数ｃｘｘ（ｍ）を求める。
【００９７】
【数２３】
2010044305.tif 000025
【００９８】
具体例を示すと、次のようになる。たとえば、Ｍ３＝２×ｐ３＝２×ｐ、Ｍ２＝２×ｐ２＝４×ｐとする。この場合、ＦＦＴ計算手段６３６２は、
【００９９】
【数２４】
2010044305.tif 000026
を計算する。そして、複素積和計算手段６３６５が、
【０１００】
【数２５】
2010044305.tif 000027
と
【０１０１】
【数２６】
2010044305.tif 000028
を求める。
また、ＦＦＴ計算手段６２６２は、
【０１０２】
【数２７】
2010044305.tif 000029
【０１０３】
を計算する。中間計算結果取得処理手段６２６３が、Ｘ３，１（ｊ）、Ｘ３，２（ｊ）、Ｘ３，５（ｊ）、Ｘ３，６（ｊ）を中間計算結果記憶部６５００から取り込む。複素積和計算手段６２６５は、０≦ｊ≦２×ｐ−１の範囲では、Ｘ３，１（ｊ）、Ｘ３，２（ｊ）、Ｘ３，５（ｊ）、Ｘ３，６（ｊ）を利用し、
【０１０４】
【数２８】
2010044305.tif 000030
【０１０５】
を求める。さらに、複素積和計算手段６２６５は、２×ｐ≦ｊ≦４×ｐ−１の範囲でもＸ３，１（ｊ）、Ｘ３，２（ｊ）、Ｘ３，５（ｊ）、Ｘ３，６（ｊ）を利用し、
【０１０６】
【数２９】
2010044305.tif 000031
【０１０７】
を求める。ここで、ｊ’＝ｊ＋２ｐである。このようにして計算されたＶ２（ｊ’）を２×ｐ≦ｊ≦４×ｐ−１の範囲の値として設定することで、０≦ｊ≦４×ｐ−１の範囲でＶ２（ｊ）を得る。
【０１０８】
逆ＦＦＴ計算手段９２６４は、得られたＶ２（ｊ）を次式のように逆ＦＦＴし、自己相関係数ｃｘｘ（ｍ）を求める。
【０１０９】
【数３０】
2010044305.tif 000032
【０１１０】
このように、増加した次数の自己相関係数の計算では、下位の階層でのＦＦＴの結果を中間計算結果として利用できる。
【０１１１】
もしくは、次のような方法もある。逆ＦＦＴ計算手段９２６４が、Ｖ２（ｊ）を０≦ｊ≦２×ｐ−１の２×ｐ点の逆ＦＦＴを行い、自己相関係数ｃｘｘ（ｍ）の低次の値とする。
【０１１２】
【数３１】
2010044305.tif 000033
【０１１３】
そして、Ｖ２（ｊ’）を０≦ｊ’≦２×ｐ−１の２×ｐ点の逆ＦＦＴを行い、自己相関係数ｃｘｘ（ｍ）の高次の値とする。
【０１１４】
【数３２】
2010044305.tif 000034
【０１１５】
このような計算でも、下位の階層のＦＦＴの結果を中間計算結果として利用できる。したがって、実施例２変形例１の符号化装置は、実施例２の符号化装置の効果を得るとともに、各階層で求めなければならない自己相関係数の次数が異なる場合にも対応できる。
［符号化プログラム、記録媒体］
実施例１、実施例２（各変形例を含む）の符号化装置をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１１６】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Opticaldisc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasableand Programmable-Read Only Memory）等を用いることができる。
【０１１７】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１１８】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１１９】
また、各実施例では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図面の簡単な説明】
【０１２０】
【図１】従来の符号化装置の構成を例示した図。
【図２】符号化処理が行われるフレームの構成を例示した概念図。
【図３】自己相関係数算出部の構成を例示した図。
【図４】ＦＦＴ（高速フーリエ変換）を用いて自己相関係数を計算する場合の自己相関計算手段の構成例を示す図。
【図５】図４の自己相関計算手段の処理を説明するための概念図。
【図６】実施例１の符号化装置の構成例を示す図。
【図７】実施例１の自己相関係数算出部と中間計算結果記憶部の詳細な構成例を示す図。
【図８】実施例１の符号化装置の処理フローの例を示す図。
【図９】実施例１の自己相関係数算出部の処理フローの例を示す図。
【図１０】本発明で使用する窓関数の例を示す図。
【図１１】図１０の窓関数を用いた場合に自己相関係数を計算しなければ成らない範囲と再利用できる自己相関係数の範囲を示す図。
【図１２】加算正規化手段の処理を説明するための図。
【図１３】実施例１変形例１の自己相関係数算出部と中間計算結果記憶部の詳細な構成例を示す図。
【図１４】実施例１変形例１の自己相関係数算出部の処理フローを示す図。
【図１５】実施例１変形例２の符号化装置の構成例を示す図。
【図１６】実施例１変形例２の符号化装置の処理フローの例を示す図。
【図１７】実施例２の符号化装置の構成例を示す図。
【図１８】実施例２の自己相関係数算出部と中間計算結果記憶部の詳細な構成例を示す図。
【図１９】実施例２の符号化装置の処理フローの例を示す図。
【図２０】実施例２の自己相関係数算出部の処理フローの例を示す図。
【図２１】ＦＦＴおよび複素積和の結果を再利用できる範囲を説明するための図。
【図１】
2010044305.tif 000035
【図２】
2010044305.tif 000036
【図３】
2010044305.tif 000037
【図４】
2010044305.tif 000038
【図５】
2010044305.tif 000039
【図６】
2010044305.tif 000040
【図７】
2010044305.tif 000041
【図８】
2010044305.tif 000042
【図９】
2010044305.tif 000043
【図１０】
2010044305.tif 000044
【図１１】
2010044305.tif 000045
【図１２】
2010044305.tif 000046
【図１３】
2010044305.tif 000047
【図１４】
2010044305.tif 000048
【図１５】
2010044305.tif 000049
【図１６】
2010044305.tif 000050
【図１７】
2010044305.tif 000051
【図１８】
2010044305.tif 000052
【図１９】
2010044305.tif 000053
【図２０】
2010044305.tif 000054
【図２１】
2010044305.tif 000055