(57)【特許請求の範囲】
【請求項１】
入力信号の時間区間であるフレームから、１つ又は複数のブロックにより構成される、複数の階層を生成するブロック分割部と、
上記ブロック分割部により得られた各ブロックにそれぞれ対応する残差符号量推定値を算出する残差符号量推定部と、
フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の上記残差符号量推定値の合計値の大小の比較結果を出力する比較部と、
上記比較結果を用い、上記フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する上記残差符号量推定値の上記フレーム内での合計が最小となるものを選択する選択部と、
上記選択部で選択されたブロックにそれぞれ対応する入力信号を第１の予測次数で予測して得られた予測残差信号を、符号化する残差符号化部と、
を有することを特徴とする適応ブロック長符号化装置。
【請求項２】
請求項１に記載の適応ブロック長符号化装置であって、
上記残差符号量推定部は、
上記残差符号量推定値を上記第１の予測次数よりも低次である第２の予測次数の予測により算出する、
ことを特徴とする適応ブロック長符号化装置。
【請求項３】
請求項１又は２に記載の適応ブロック長符号化装置であって、
上記残差符号量推定値は、
上記各ブロックの入力信号を上記第１又は第２の予測次数で予測して得られた予測残差信号の振幅の絶対値、又は、当該予測残差信号のエネルギーを、上記各ブロック内で総計した値である、
ことを特徴とする適応ブロック長符号化装置。
【請求項４】
請求項１又は２に記載の適応ブロック長符号化装置であって、
上記残差符号量推定値は、
上記各ブロックの入力信号と、上記第１又は第２の予測次数の予測係数と、を用いて算出される値である、
ことを特徴とする適応ブロック長符号化装置。
【請求項５】
請求項１に記載の適応ブロック長符号化装置であって、
上記残差符号量推定部は、
上記各ブロックに対応する入力信号をそれぞれ第１の予測次数で短期予測して得られた短期予測残差信号と、当該短期予測残差信号を長期予測して得られた長期予測ゲインとを用い、上記残差符号量推定値を算出する、
ことを特徴とする適応ブロック長符号化装置。
【請求項６】
請求項１から５の何れかに記載の適応ブロック長符号化装置であって、
フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であるか否かを判定する判定部をさらに有し、
該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であると判定された場合に、
上記残差符号量推定部が、該区間に対応するブロックに対し、高次の予測による残差符号量推定値を算出し、上記比較部が、当該残差符号量推定値を用いて上記比較を行う、
ことを特徴とする適応ブロック長符号化装置。
【請求項７】
請求項１から５の何れかに記載の適応ブロック長符号化装置であって、
フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であるか否かを判定する判定部をさらに有し、
該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であると判定された場合に、
該区間に対応するブロックに対し、それぞれ対応する入力信号を第１の予測次数で予測して得られた各予測残差信号を符号化し、残差符号を求める区間残差信号符号化部と、
上記区間残差符号化部によって残差符号が生成された区間について、該区間に対応する該各階層の上記残差符号の符号量の合計値の大小の比較結果を出力する符号量比較部と、
をさらに有し、
上記選択部は、上記区間残差信号符号化部によって残差符号が生成された区間については、上記残差符号量推定値の代わりに上記残差符号の符号量を用いて上記選択を行い、
上記残差符号化部は、選択されたブロックのうち上記区間残差信号符号化部で残差符号が求められていないブロックについて、予測残差信号を符号化する、
ことを特徴とする適応ブロック長符号化装置。
【請求項８】
入力信号の時間区間であるフレームから、１つ又は複数のブロックにより構成される、複数の階層を生成するブロック分割過程と、
上記ブロック分割過程により得られた各ブロックにそれぞれ対応する残差符号量推定値を算出する残差符号量推定過程と、
フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の上記残差符号量推定値の合計値の大小の比較結果を出力する比較過程と、
上記比較結果を用い、上記フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する上記残差符号量推定値の上記フレーム内での合計が最小となるものを選択する選択過程と、
上記選択過程で選択されたブロックにそれぞれ対応する入力信号を第１の予測次数で予測して得られた予測残差信号を、符号化する残差符号化過程と、
を有することを特徴とする適応ブロック長符号化方法。
【請求項９】
請求項８に記載の適応ブロック長符号化方法であって、
上記残差符号量推定過程は、
上記残差符号量推定値を上記第１の予測次数よりも低次である第２の予測次数の予測により算出する過程である、
ことを特徴とする適応ブロック長符号化方法。
【請求項１０】
請求項８又は９に記載の適応ブロック長符号化方法であって、
上記残差符号量推定値は、
上記各ブロックの入力信号を上記第１又は第２の予測次数で予測して得られた予測残差信号の振幅の絶対値、又は、当該予測残差信号のエネルギーを、上記各ブロック内で総計した値である、
ことを特徴とする適応ブロック長符号化方法。
【請求項１１】
請求項８又は９に記載の適応ブロック長符号化方法であって、
上記残差符号量推定値は、
上記各ブロックの入力信号と、上記第１又は第２の予測次数の予測係数と、を用いて算出される値である、
ことを特徴とする適応ブロック長符号化方法。
【請求項１２】
請求項８に記載の適応ブロック長符号化方法であって、
上記残差符号量推定過程は、
上記各ブロックに対応する入力信号をそれぞれ第１の予測次数で短期予測して得られた短期予測残差信号と、当該短期予測残差信号を長期予測して得られた長期予測ゲインとを用い、上記残差符号量推定値を算出する過程である、
ことを特徴とする適応ブロック長符号化方法。
【請求項１３】
請求項８から１２の何れかに記載の適応ブロック長符号化方法であって、
フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であるか否かを判定する判定過程をさらに有し、
該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であると判定された場合に、該区間に対応するブロックに対し、高次の予測による残差符号量推定値を算出し、当該残差符号量推定値を用いて上記比較過程の処理を行う、
ことを特徴とする適応ブロック長符号化方法。
【請求項１４】
請求項８から１２の何れかに記載の適応ブロック長符号化方法であって、
フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であるか否かを判定する判定過程と、
該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であると判定された場合に、該区間に対応するブロックに対し、それぞれ対応する入力信号を第１の予測次数で予測して得られた各予測残差信号を符号化し、残差符号を求める区間残差信号符号化過程と、
上記区間残差符号化過程によって残差符号が生成された区間について、該区間に対応する該各階層の上記残差符号の符号量の合計値の大小の比較結果を出力する符号量比較過程と、
をさらに有し、
上記選択過程は、上記区間残差信号符号化過程によって残差符号が生成された区間については、上記残差符号量推定値の代わりに上記残差符号の符号量を用いて上記選択を行う過程であり、
上記残差符号化過程は、選択されたブロックのうち上記区間残差信号符号化過程で残差符号が求められていないブロックについて、予測残差信号を符号化する過程である、
ことを特徴とする適応ブロック長符号化方法。
【請求項１５】
請求項１から７の何れかに記載の適応ブロック長符号化装置としてコンピュータを機能させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列信号の圧縮符号化技術に関し、特にフレームを複数のブロックに階層的に分割して符号化を行う技術に関する。
【背景技術】
【０００２】
フレーム単位の符号化において、分析単位長を適応的に選択することにより、圧縮効率を改善できることが知られている。そのひとつとして、フレーム毎のサンプル数を固定し、各フレーム中を複数のブロックに階層的に分割して符号化を行う方法が知られている（例えば、非特許文献１参照）。以下ではまず、この各フレーム中を複数のブロックに階層的に分割して符号化を行う従来の方法について説明する。
図１６は、このような符号化処理を行う従来の符号化装置の構成を例示したブロック図である。また、図１７は、この符号化処理が行われるフレーム１００の構成を例示した概念図である。なお、複数サンプル（通常数百〜数千サンプル）にそれぞれ対応する離散時間（サンプル点）からなる短時間区間をフレームと呼ぶが、ここでは、全サンプルにそれぞれ対応する離散時間からなる短時間区間をフレームとし、フレーム内のサンプル点数を１０２４点から３２７６８点程度に想定する。なお、以下ではフレーム内のサンプル点数をｎと表現する。また、図１７の例では、１つのフレームを４つの階層（第０階層１１０〜第３階層１４０）にブロック分割する。この例の場合、第０階層１１０では、フレーム１００がブロックＢ（０，１）に一致する。また、第１階層１２０は、第０階層１１０のブロックＢ（０，１）を２分割したブロックＢ（１，１），Ｂ（１，２）によって構成される。さらに、第２階層１３０は、第１階層１２０のブロックＢ（１，１）を２分割したブロックＢ（２，１），Ｂ（２，２）と、ブロックＢ（１，２）を２分割したブロックＢ（２，３），Ｂ（２，４）とによって構成される。また、第３階層１４０は、第２階層１３０のブロックＢ（２，１）を２分割したブロックＢ（３，１），Ｂ（３，２）と、ブロックＢ（２，２）を２分割したブロックＢ（３，３），Ｂ（３，４）と、ブロックＢ（２，３）を２分割したブロックＢ（３，５），Ｂ（３，６）と、ブロックＢ（２，４）を２分割したブロックＢ（３，７），Ｂ（３，８）とによって構成される。なお、図１７における１，ｎ１，ｎ２，ｎ３，ｎ４，...，ｎは、フレーム１００内の各サンプル点に対応する番号を示す。例えば、ブロックＢ（２，２）は、ｎ２＋１番目からｎ４番目のサンプルによって構成されるブロックである。また、図１６の構成と図１７のブロックへの分割方法は一例であり、階層数やブロック分割数等はこれに限定されない。
【０００３】
この従来法では、各階層のブロック毎に、予測分析、予測係数符号化、予測フィルタによる予測残差信号算出及びその符号化（エントロピー符号化等）を独立に実行し、ブロック毎の残差符号を算出する。そして、下位階層の複数のブロックに対応する残差符号の符号量の合計値と、当該下位階層の複数のブロックから構成される上位階層のブロックに対応する残差符号の符号量とを比較し、フレーム１００内で符号量の合計が最小となるブロックの組合せを選択する。
図１７の例で具体的に説明すると、まず、ブロックＢ（０，１），Ｂ（１，１），Ｂ（１，２），Ｂ（２，１）〜Ｂ（２，４），Ｂ（３，１）〜Ｂ（３，８）毎に、予測分析、予測係数符号化、予測フィルタによる予測残差信号算出及びその符号化を独立に実行して、ブロック毎の残差符号を算出し、それらの符号量を計算する。
【０００４】
次に、第３階層１４０のブロックＢ（３，１），Ｂ（３，２）の残差符号の符号量の合計値と、それらの上位階層である第２階層１３０のブロックＢ（２，１）の残差符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、ブロックＢ（３，１），Ｂ（３，２）の残差符号の符号量の合計値の方がブロックＢ（２，１）の残差符号の符号量よりも大きく、第２階層１３０のブロックＢ（２，１）が選択されている。なお、この図では、選択されたブロックを網掛けで示している。同様に、第３階層１４０のブロックＢ（３，３），Ｂ（３，４）の残差符号の符号量の合計値と、それらの上位階層である第２階層１３０のブロックＢ（２，２）の残差符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、第３階層１４０のブロックＢ（３，３），Ｂ（３，４）が選択されている。さらに、第２,３階層のその他のブロックＢ（２，３）,Ｂ（２，４）,Ｂ（３，５）〜Ｂ（３，８）についても同様な処理を行い、ブロック選択を行う。
【０００５】
次に、選択された第２階層１３０のブロックＢ（２，１）及び第３階層１４０のＢ（３，３），Ｂ（３，４）の残差符号の符号量の合計と、それらの上位階層である第１階層１２０のブロックＢ（１，１）の残差符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、ブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４）が選択されている。また、ブロックＢ（１，２）とその下位ブロック（ブロックＢ（２，３），Ｂ（２，４），Ｂ（３，５）〜Ｂ（３，８）のうち選択されているブロック）についても同様なブロック選択が行われる。この図の例では、第１階層１２０のブロックＢ（１，２）が選択されている。次に、これまで選択されたブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）の残差符号の符号量の合計と、それらの上位階層である第０階層１１０のブロックＢ（０，１）の残差符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、ブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）が選択されている。そして、このように選択されたブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）に対応する予測係数符号と、残差符号と、ブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）を示す選択情報とが、フレーム１００の符号列として出力される。
【非特許文献１】ＩＳＯ／ＩＥＣ  １４４９６−３：２００５／ＡＭＤ２（通称ＭＰＥＧ−４  ＡＬＳ）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このように、従来方法では、全てのブロックに対して独立に残差符号を求め、それらの符号量を比較し、階層的なブロック分割方法を決定していた。この場合、複数の階層の全ブロックについて残差符号の符号量を計算する必要があるため、符号化のための演算量が大変多いという問題点があった。
本発明はこのような点に鑑みてなされたものであり、フレームを複数のブロックに階層的に分割して符号化を行う適応ブロック長符号化において、符号化のための演算量を削減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では、まず、入力信号の時間区間であるフレームから、１つ又は複数のブロックにより構成される、複数の階層を生成する（ブロック分割過程）し、これにより得られた各ブロックにそれぞれ対応する残差符号量推定値を算出する（残差符号量推定過程）。次に、フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の残差符号量推定値の合計値の大小の比較結果を出力する（比較過程）。そして、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択し（選択過程）、選択されたブロックにそれぞれ対応する入力信号を第１の予測次数で予測して得られた予測残差信号を、符号化する（残差符号化過程）。なお、本発明における「残差符号量推定値」とは、「予測残差信号の振幅の絶対値に対して単調増加の関係にある値」を意味する。
【０００８】
ここで、上述のように定義される残差符号量推定値は、対応する予測残差信号の残差符号の符号量に対し、単調増加の関係にある。よって、残差符号量推定値を比較することにより、残差符号の符号量が小さいと推定されるブロックの組合せを選択できる。また、このような残差符号量推定値を算出するための演算量は、予測残差信号を符号化するための演算量に比べ、大幅に少ない。よって、全ブロックの残差符号を算出し、フレーム内での符号量の合計が最小となるブロックの組合せを選択していた従来例に比べ、符号化のための処理量を大幅に低減できる。
【０００９】
また、本発明において好ましくは、残差符号量推定過程は、残差符号量推定値を第１の予測次数よりも低次である第２の予測次数の予測により算出する過程である。この場合、残差符号量推定値を算出するまでは、低い次数（第２の予測次数）で処理が為されるため、最終的に符号化が行われないブロックに対する演算量を低く抑えることができる。一方、符号化を行うブロックが決定された後の残差符号を生成する段階では、高い次数（第１の予測次数）を用いるため、高い精度の残差符号を生成することができる。すなわち、無駄な演算をより抑えつつ、精度の高い符号列を生成できる。
【００１０】
また、本発明において好ましくは、残差符号量推定値は、各ブロックの入力信号を第１又は第２の予測次数で予測して得られた予測残差信号の振幅の絶対値、又は、当該予測残差信号のエネルギーを、各ブロック内で総計した値である。なお、「エネルギー」とは、信号の振幅の二乗値を意味する。
【００１１】
このような残差符号量推定値の演算量は、予測残差信号を符号化するための演算量よりも大幅に少ない。また、このような残差符号量推定値の大小関係は、対応する残差符号の符号量の大小関係とほぼ一致する。なお、予測残差信号の振幅が大きいと推定される場合、予測残差信号の振幅の絶対値をブロック内で総計した値を残差符号量推定値とすることが望ましい。振幅が大きくなっても、予測残差信号の振幅とその絶対値との関係は、予測残差信号の振幅とその残差符号の符号量との関係に、比較的良く近似するからである。一方、処理効率の面からは、予測残差信号のエネルギーをブロック内で総計した値を残差符号量推定値とすることが望ましい。エネルギーは、信号の振幅の二乗値であり、二乗値は分析処理に頻繁に用いられる最小二乗法に基づく処理に適するからである。
【００１２】
また、本発明において好ましくは、残差符号量推定値は、各ブロックの入力信号と、第１又は第２の予測次数の予測係数と、を用いて算出される値である。この場合、予測残差信号を算出することなく、残差符号量推定値を生成し、これらを比較することができる。その結果、最終的に符号が出力されないブロックに対しては、予測残差信号を算出する必要がなくなる。
またさらに、各ブロックに対応する入力信号をそれぞれ第１の予測次数で短期予測して得られた短期予測残差信号と、当該短期予測残差信号を長期予測して得られた長期予測ゲインとを用い、残差符号量推定値を算出してもよい。これにより精度の高い残差符号量推定値を算出することができる。
【００１３】
また、本発明において好ましくは、フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の残差符号量推定値の合計値の差が、所定の閾値以下又は未満であるか否かを判定する（判定過程）。そして、該区間に対応する該各階層の残差符号量推定値の合計値の差が、所定の閾値以下又は未満であると判定された場合に、該区間に対応するブロックに対し、高次の予測による残差符号量推定値を算出し、当該残差符号量推定値を用いて比較過程の処理を行う。なお、「高次の予測」とは、第１の予測次数よりも高い次数での予測を意味する。
【００１４】
予測次数を高くした場合、残差符号量推定値の推定精度は向上するが、演算量は増加する。逆に、予測次数を低くした場合、残差符号量推定値の推定精度は低下するが、演算量は減少する。残差符号量推定値の差が所定の閾値以下又は未満であった場合にのみ予測次数を高くする構成をとることにより、無用に演算量を増加させることなく、的確に符号量を最小値化することができる。
【００１５】
また、本発明において好ましくは、フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であるか否かを判定する（判定過程）。そして、該区間に対応する該各階層の上記残差符号量推定値の合計値の差が、所定の閾値以下又は未満であると判定された場合に、該区間に対応するブロックに対し、それぞれ対応する入力信号を第１の予測次数で予測して得られた各予測残差信号を符号化し、残差符号を求める（部分残差符号化過程）。また、区間残差符号化過程によって残差符号が生成された区間について、該区間に対応する該各階層の上記残差符号の符号量の合計値の大小の比較結果を出力する（符号量比較過程）。そして、区間残差信号符号化過程によって残差符号が生成された区間については、残差符号量推定値の代わりに残差符号の符号量を用いて上記の選択を行い、選択されたブロックのうち区間残差信号符号化過程で残差符号が求められていないブロックについて、予測残差信号を符号化する。
【００１６】
残差符号量推定値の差が小さい場合、誤差の影響等より、残差符号量推定値の大小関係と、残差符号の符号量の大小関係とが逆転することもありうる。残差符号量推定値の差が小さい場合にのみ、実際の残差符号の符号量を比較する構成をとることにより、演算量をできるだけ低く抑えつつ、的確に符号量を最小値化することができる。
【発明の効果】
【００１７】
本発明では、実際に予測残差信号を符号化して求められた符号量を比較するのではなく、残差符号量推定値を比較し、フレーム内での符号量の合計が最小となると推定されるブロックの組合せを選択し、選択した各ブロックの予測残差信号を符号化することとした。これにより、フレームを複数のブロックに階層的に分割して符号化を行う適応ブロック長符号化において、符号化のための演算量を削減することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
本発明では、入力信号の時間区間であるフレームから、１つ又は複数のブロックにより構成される、複数の階層を生成し、これにより得られた各ブロックにそれぞれ対応する残差符号量推定値を算出する。次に、フレーム内のある区間が２つ以上の階層において異なるブロックで構成される場合に、該区間に対応する該各階層の残差符号量推定値の合計値の大小の比較結果を出力する。そして、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択し、選択されたブロックにそれぞれ対応する入力信号を第１の予測次数で予測して得られた予測残差信号を符号化する。これにより、実際に符号化を行うブロック数を減らし、全体として符号化のための演算量を低減できる。
【００１９】
なお、本発明を適用するにあたり、フレームをブロック分割する際の階層数や分割ブロック長には、特に限定はなく、１つの階層において全ブロックのブロック長が同一である必要もない。例えば、図１７のようにフレームを複数のブロックに分割する場合に本発明を適用してもよいし、図１８のようにフレームを複数のブロックに分割する場合に本発明を適用してもよい。
【００２０】
図１８（ａ）の分割方法は、第１階層と第２階層とでフレーム内のブロック数を同一とし、それぞれのフレーム内での分割位置を相違させたものである。この場合、「Ｂ（０，１）」と「Ｂ（１，１）＋Ｂ（１，２）」と「Ｂ（２，１）＋Ｂ（２，２）」とから、フレーム内での残差符号量推定値の合計が最小となるものを選択する。また、図１８（ｂ）の分割方法は、図１４（ａ）の分割方法と同様に第１階層と第２階層とを分割するが、フレームを分割しない第０階層を設けないものである。この場合、「Ｂ（１，１）＋Ｂ（１，２）」と「Ｂ（２，１）＋Ｂ（２，２）」とから、フレーム内での残差符号量推定値の合計が最小となるものを選択する。また、図１８（ｃ）の分割方法は、第１階層と第２階層とでフレーム内の分割位置が１箇所でのみ一致し、第０階層と第１階層，第２階層とでフレーム内の分割位置が一致しないものである。この場合、まず、「Ｂ（１，１）＋Ｂ（１，２）」と「Ｂ（２，１）＋Ｂ（２，２）＋Ｂ（２，３）」とから、フレーム内での残差符号量推定値の合計が最小となるものを選択する（選択１）。また、「Ｂ（１，３）」と「Ｂ（２，４）＋Ｂ（２，５）」とから、フレーム内での残差符号量推定値の合計が最小となるものを選択する（選択２）。そして、「選択１で選択されたブロック＋選択２で選択されたブロック」と「Ｂ（０，１）＋Ｂ（０，２）」のうち残差符号量推定値の合計が最小となるものを選択する（選択３）。
【００２１】
すなわち、フレーム内の一部又は全部区間が、複数の階層において、それぞれ異なるブロックで構成されていれば、本発明を適用可能である。しかし、以下では、一例として、図１７のブロック分割に本発明を適用する例について説明する。すなわち、まず、フレーム１００を、最上位層（第０階層）のブロック長がフレーム長に一致し、第ｄ（d={0,1,2}）階層のブロック長の半分の長さを、当該第ｄ階層のブロックを構成する第ｄ＋１階層のブロックのブロック長とする４階層のブロックに分割し、各ブロックにそれぞれ対応する残差符号量推定値を算出する。そして、上位階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号量推定値の合計値と、の大小を比較し、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択する。そして、選択されたブロックにそれぞれ対応する入力信号を第１の予測次数で予測して得られた予測残差信号を符号化する。
【実施例１】
【００２２】
まず、本発明の実施例１について説明する。実施例１では、各階層の各ブロックに対してそれぞれ予測残差信号を算出し、それらを用いて各ブロックの残差符号量推定値を算出する。そして、上位階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号量推定値の合計値と、の大小を比較し、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択し、選択されたブロックに対応する予測残差信号をそれぞれ符号化する。
【００２３】
＜構成＞
図１は、実施例１の適応ブロック長符号化装置１０の構成を示したブロック図である。
図１に示すように、実施例１の適応ブロック長符号化装置１０は、第０階層のブロックの信号を処理する第０階層予測分析部１０ａ，第０階層予測係数符号化部１０ｂ，第０階層予測フィルタ１０ｃ及び第０階層残差符号量推定部１０ｄと、第１階層のブロックの信号を処理する第１階層予測分析部１１ａ，第１階層予測係数符号化部１１ｂ，第１階層予測フィルタ１１ｃ及び第１階層残差符号量推定部１１ｄと、第２階層のブロックの信号を処理する第２階層予測分析部１２ａ，第２階層予測係数符号化部１２ｂ，第２階層予測フィルタ１２ｃ及び第２階層残差符号量推定部１２ｄと、第３階層のブロックの信号を処理する第３階層予測分析部１３ａ，第３階層予測係数符号化部１３ｂ，第３階層予測フィルタ１３ｃ及び第３階層残差符号量推定部１３ｄと、分割決定部１４と、残差符号化部１５と、制御部１６と、メモリ１７と、ブロック分割部１８とを有している。また、分割決定部１４は、比較部１４ａと、選択部１４ｂと、演算部１４ｃとを有している。
【００２４】
なお、実施例１の適応ブロック長符号化装置１０は、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置等から構成される公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがこのプログラムを実行することにより構成されるものである（以下の各実施例でも同様）。
【００２５】
また、図２は、メモリ１７に格納される分割テーブル１７ａのデータ構成を例示した概念図である。分割テーブル１７ａは、後述のブロック分割処理により求められる各ブロックＢ（ｄ，ｕ）を特定する情報（識別子等）と、各ブロックＢ（ｄ，ｕ）に対応するサンプル（入力信号）ｘ（ｄ，ｕ，ｊｄ，ｕ）と、各ブロックＢ（ｄ，ｕ）の階層やフレーム内の位置を特定するためのブロック位置情報Ａ（ｄ，ｕ）と、を関連付けたテーブルである。なお、ｄはそのブロックの階層を示す値であり、ｄの値が小さいほど上位階層である（図１７参照）。また、ｕはそのブロックがその階層の何番目のブロックであるかを示す。また、ｊｄ，ｕは、各ブロックＢ（ｄ，ｕ）に属する各サンプルの離散時間（サンプル点）を示し、例えば、図１７のブロックＢ（０，１）の場合、j0,1=1,...,nであり、ブロックＢ（２，２）の場合、j2,2=ｎ2＋1,...,ｎ4である。
【００２６】
また、図３は、メモリ１７に格納されるブロックテーブル１７ｂのデータ構成を例示した概念図である。ブロックテーブル１７ｂは、後述のように算出される各ブロックの予測残差符号Ｃｐ（ｄ，ｕ）と、予測残差信号ｙ（ｄ，ｕ，ｊｄ，ｕ）と、残差符号量推定値ＰＣ（ｄ，ｕ）とを、各ブロックＢ（ｄ，ｕ）を特定する情報に対応付けたテーブルである。
【００２７】
＜処理＞
以下、実施例１の適応ブロック長符号化方法を説明していく。なお、実施例１の適応ブロック長符号化装置１０は、制御部１６の制御のもと各処理を実行する。また、適応ブロック長符号化装置１０の各処理過程におけるデータは、メモリ１７に逐一読み書きされるが、原則として、以下ではその説明を省略する。さらに、説明する処理の順序はあくまで一例であり、本実施例の趣旨を逸脱しない範囲で適宜変更が可能なことはいうまでもない。さらには、少なくとも一部の処理を並列的に実行してもよい（以下の各実施例でも同様）。また、適応ブロック長符号化装置１０への入力信号は、所定のサンプリング周波数でサンプリングされた離散的な信号である。また、各処理は、複数サンプルにそれぞれ対応する離散時間（サンプル点）からなる短時間区間であるフレーム毎に実行される。ここで、全サンプルにそれぞれ対応する離散時間からなる短時間区間（例えば、サンプル点数が１０２４点から３２７６８点程度のもの）をフレームとしてもよく、その一部の短時間区間（例えば、サンプル点数が数百点から数千点程度のもの）をフレームとしてもよい。本実施例では、１フレームのサンプル点数をｎとする。また、全サンプル点の一部の短時間区間をフレームとした場合、各処理はフレーム毎に繰り返されることになるが、以下では、１つのフレームの処理のみを説明する（以下の各実施例でも同様）。
【００２８】
［ブロック分割処理］
まず、ｎサンプルからなる１フレーム分の入力信号がブロック分割部１８に入力される。ブロック分割部１８は、このフレームを複数のブロックに階層的に分割し（図１７参照）、分割された各ブロックＢ（ｄ，ｕ）のサンプルｘ（ｄ，ｕ，ｊｄ，ｕ）と、各ブロックのブロック位置情報Ａ（ｄ，ｕ）とを、ブロックＢ（ｄ，ｕ）を特定する情報に関連付けてメモリ１７の分割テーブル１７ａに格納する。ここで「ブロック分割」とは、フレームに属するサンプルを複数のブロックに分割する処理を意味するが、具体的には、例えば、各ブロックに対応するサンプル点を決定する処理や、各ブロックの開始サンプル点と終了サンプル点と（ブロックの区切り）を決定する処理等を意味する。なお、フレームのブロック分割方法（ブロック長や階層数等）は、予めブロック分割部１８に設定されていてもよいし、入力信号等に応じ、その都度定められてもよい。
【００２９】
［第０階層の処理］
次に、０階層予測分析部１０ａが、例えば、メモリ１７の分割テーブル１７ａのブロック特定情報を参照し、分割テーブル１７ａから第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）(j0,1=1,...,n)を読み込む。そして、０階層予測分析部１０ａは、読み込んだサンプルx（０，１，ｊ０，１）の予測分析を行って予測係数α（０，１，ｉ）(i=1,...,p)を算出し、出力する。なお、ｐは予測次数（「第１の予測次数」に相当）である。ｐは予め設定されたものであっても良いし、入力信号に応じてその都度算出されるものであっても良い。また、予測分析には線形予測分析を用いるのが一般的であるが、如何なる予測分析方法を適用してもよい。なお、予測分析の詳細については、例えば、“守谷健弘著、「音声符号化」、社団法人  電子情報通信学会、ＩＳＢＮ４−８８５５２−１５６−４”や“古井貞煕著、「音響・音声工学」、株式会社  近代科学社、ＩＳＢＮ４−７６４９−０１９６−Ｘ”等に詳しいため説明を省略する。
【００３０】
次に、０階層予測係数符号化部１０ｂが、入力された予測係数α（０，１，ｉ）を量子化した量子化予測係数α^（０，１，ｉ）と、量子化予測係数α^（０，１，ｉ）の予測係数符号Ｃｐ（０，１）とを求め、これらを出力する。ここで出力された予測係数符号Ｃｐ（０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル１７ｂに格納される（図３参照）。
【００３１】
次に、第０階層予測フィルタ１０ｃが、入力された量子化予測係数α^（０，１，ｉ）を用い、ブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）をフィルタリングし、予測残差信号ｙ（０，１，ｊ０，１）を求めて出力する。このように出力された予測残差信号ｙ（０，１，ｊ０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル１７ｂに格納される（図３参照）。なお、ここでのフィルタリングとは、量子化予測係数を代入した予測モデル（フィルタ）と入力信号との差を求める処理を意味する。
【００３２】
次に、第０階層残差符号量推定部１０ｄが、メモリ１７のブロックテーブル１７ｂから読み込んだ予測残差信号ｙ（０，１，ｊ０，１）を用い、ブロックＢ（０，１）に対応する残差符号量推定値ＰＣ（０，１）を算出して出力する。出力された残差符号量推定値ＰＣ（０，１）は、対応するブロックＢ（０，１）に関連付けられてメモリ１７のブロックテーブル１７ｂに格納される（図３参照）。なお、本発明では、ある階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する他階層の複数のブロックにそれぞれ対応する残差符号量推定値の合計値と、の大小を比較し、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択する。そのため、残差符号量推定値は、残差符号そのものを推定する値でなくてもよく、予測残差信号を符号化した際の符号量に対して単調増加の関係にあると推定されるものであればよい。本実施例では、予測残差信号の振幅の絶対値、又は、予測残差信号のエネルギー（予測残差信号の振幅の二乗）を、ブロック内で総計した値を残差符号量推定値とする。なお、振幅の絶対値の総和を用いるのか、エネルギーの総和を用いるのかについては、ブロック間で統一する（以下の各実施例でも同様）。
【００３３】
［第１階層の処理］
同様に、第１階層予測分析部１１ａ，第１階層予測係数符号化部１１ｂ，第１階層予測フィルタ１１ｃ及び第１階層残差符号量推定部１１ｄが、第１階層１２０のブロックＢ（１，１），Ｂ（１，２）に対し、それぞれ独立に、予測係数符号Ｃｐ（１，１），Ｃｐ（１，２）と、予測残差信号ｙ（０，１，ｊ１，１），ｙ（０，１，ｊ１，２）と、残差符号量推定値ＰＣ（１，１），ＰＣ（１，２）とを算出する。算出された各情報は、それぞれ、対応するブロックＢ（１，１），Ｂ（１，２）を特定する情報に関連付けられ、メモリ１７のブロックテーブル１７ｂに格納される（図３参照）。
【００３４】
［第２階層の処理］
第２階層についても同様に、第２階層予測分析部１２ａ，第２階層予測係数符号化部１２ｂ，第２階層予測フィルタ１２ｃ及び第２階層残差符号量推定部１２ｄが、第２階層のブロックＢ（２，１）〜Ｂ（２，４）に対し、それぞれ独立に、予測係数符号と、予測残差信号と、残差符号量推定値とを算出する。算出された各情報は、それぞれ、対応するブロックＢ（２，１）〜Ｂ（２，４）を特定する情報に関連付けられ、メモリ１７のブロックテーブル１７ｂに格納される（図３参照）。
【００３５】
［第３階層の処理］
同様に、第３階層についても、第３階層予測分析部１３ａ，第３階層予測係数符号化部１３ｂ，第３階層予測フィルタ１３ｃ及び第３階層残差符号量推定部１３ｄとが、第３階層の各ブロックＢ（３，１）〜Ｂ（３，８）に対し、それぞれ独立に、予測係数符号と、予測残差信号と、残差符号量推定値とを算出する。算出された各情報は、それぞれ、対応するブロックＢ（３，１）〜Ｂ（３，８）を特定する情報に関連付けられ、メモリ１７のブロックテーブル１７ｂに格納される（図３参照）。
【００３６】
［分割決定部１４の処理］
次に、分割決定部１４の比較部１４ａが、メモリ１７のブロックテーブル１７ｂから各階層の各ブロックに対応する残差符号量推定値を読み込み、上位階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号量推定値の合計値と、の大小を比較する。次に、選択部１４ｂが、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択する。そして、選択部１４ｂは、選択した各ブロックに対応する予測係数符号と、予測残差信号と、当該選択したブロックの組合せを示す選択情報とを出力する。
【００３７】
以下にこの処理手順の具体例を説明する。なお、以下に示す処理手順はあくまで一例であり、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
図４は、分割決定部１４の処理の一例を説明するためのフローチャートである。以下、この図に沿って、分割決定部１４の処理の一例を説明する。なお、この処理例は、図１７のようにブロック分割を行った場合のものであるが、これを他の階層的なブロック分割に拡張適用することは容易である。
【００３８】
まず、分割決定部１４の選択部１４ｂが、メモリ１７の分割テーブル１７ａのブロック特定情報を検索し、第３階層（最下層）の各ブロックＢ（３，ｒ）(r=1,...,23)をそれぞれ特定する情報を集合Ｓの要素とする。そして、演算部１４ｃは、この集合Ｓを示す情報をメモリ１７に格納する（ステップＳ１）。次に、演算部１４ｃが、変数ｄに２（最下階層の１つ上位の階層の番号）を代入し、この変数ｄをメモリ１７に格納する（ステップＳ２）。
【００３９】
次に、演算部１４ｃが、変数ｕに１を代入し、この変数ｕをメモリ１７に格納する（ステップＳ３）。次に、演算部１４ｃが、メモリ１７の集合Ｓを示す情報と分割テーブル１７ａとを参照し、第ｄ階層のｕ番目のブロックＢ（ｄ，ｕ）を構成する、下位階層の複数のブロックのうち、集合Ｓに含まれるものに対応する残差符号量推定値の和を求め、それを変数ＴＰＣ（ｄ，ｕ）に代入する（ステップＳ４）。この変数ＴＰＣ（ｄ，ｕ）は、メモリ１７に格納される。
【００４０】
次に、比較部１４ａが、ブロックＢ（ｄ，ｕ）を特定する情報を用いて、メモリ１７のブロックテーブル１７ｂを検索し、ブロックＢ（ｄ，ｕ）に対応する残差符号量推定値ＰＣ（ｄ，ｕ）を読み込む。さらに、比較部１４ａは、メモリ１７から変数ＴＰＣ（ｄ，ｕ）を読み込み、
TPC(d,u)>PC(d,u)
を満たすか否かの比較を行い、その比較結果を選択部１４ｂに出力する（ステップＳ５）。
【００４１】
選択部１４ｂは、当該比較結果が、TPC(d,u)>PC(d,u)であることを示すものであった場合にのみ、ブロックＢ（ｄ，ｕ）を特定する情報によって集合Ｓを更新し、メモリ１７に格納する（ステップＳ６）。なお、「ブロックＢ（ｄ，ｕ）を特定する情報によって集合Ｓを更新する」とは、ブロックＢ（ｄ，ｕ）の下位階層のブロックに対応する集合Ｓの要素を、ブロックＢ（ｄ，ｕ）の要素に置き換えることを意味する。図１７の例で示すと、例えば、集合S={B(3,1),B(3,2),B(3,3),...,B(3,8)}であった場合に、ブロックＢ（２，１）を構成する下位階層のブロックに対応する集合Ｓの要素{B(3,1),B(3,2)}を、ブロックＢ（２，１）の要素に置き換え、集合ＳをS={B(2,1),B(3,3),...,B(3,8)}と更新することを意味する。
【００４２】
その後、比較部１４ａが、メモリ１７の変数ｕが２ｄであるか否かを判断し（ステップＳ７）、ｕが２ｄで無ければ、演算部１４ｃがｕ＋１を新たな変数ｕの値としてメモリ１７に格納した後、制御部１６が処理をステップＳ４に戻す。一方、変数ｕが２ｄであった場合、次に、比較部１４ａは、メモリ１７の変数ｄが０であるか否かを判断する（ステップＳ８）。ステップＳ８でｄが０でないと判断された場合、演算部１４ｃがｄ−１を新たな変数ｄの値としてメモリ１７に格納した後、制御部１６が処理をステップＳ３に戻す。一方、ステップＳ８でｄが０であると判断された場合、選択部１４ｂは、メモリ１７から集合Ｓを読み込み、集合Ｓの要素が示す各ブロックに関連付けられている予測係数符号と予測残差信号とを、メモリ１７のブロックテーブル１７ｂから読み込む。そして、選択部１４ｂは、読み込んだ予測係数符号と、予測残差信号と、集合Ｓの要素を示す選択情報とを出力する。なお、復号装置が、ブロックとブロック特定情報との対応テーブルを保持していない場合には、集合Ｓの要素と、その要素に対応するブロック特定情報とを選択情報としてもよい。
【００４３】
［残差符号化部１５の処理］
残差符号化部１５には、選択部１４ｂから出力された各予測残差信号が入力され、残差符号化部１５は、当該予測残差信号を、選択部１４ｂで選択されたブロック毎に符号化した残差符号を求め、当該残差符号を出力する。なお、符号化方法としては、例えば、エントロピー符号化等を用いる（以下の符号化についても同様）。
そして、適応ブロック長符号化装置１０は、残差符号化部１５から出力された残差符号と、選択部１４ｂから出力された予測係数符号と、選択情報とを符号列として出力する。
【００４４】
＜実施例１の特徴＞
第０階層残差符号量推定部１０ｄ、第１階層残差符号量推定部１１ｄ、第２階層残差符号量推定部１２ｄ、第３階層残差符号量推定部１３ｄで算出される残差符号量推定値は、予測残差信号の振幅の絶対値、又は、予測残差信号のエネルギーを、ブロック内で総計した値である。この値を計算するための演算量は、エントロピー符号化等の符号化に必要な処理量よりも相当少ない。そのため、全体としては、従来構成に比べ、大幅に処理量を削減することができる。また、予測残差信号の振幅の絶対値の総和、又は、予測残差信号のエネルギーの総和の大小は、実際の残差符号の符号量の大小とほぼ一致している。そのため、誤った推定により、符号量が多いブロックの組合せが選択されてしまい、全体の圧縮符号量が増大してしまうこともほとんどない。
【実施例２】
【００４５】
次に、本発明の実施例２について説明する。実施例２では、各ブロックに対応する入力信号と、当該入力信号を予測分析して得られる予測係数とを用いて残差符号量推定値を算出する。これにより、予測係数符号化部による量子化・符号化処理と、予測フィルタによるフィルタリング処理数とを、実施例１よりも（階層数−１）階層分だけ減らすことができ、さらに、メモリ１７に格納すべき、予測係数符号と予測残差信号の数も削減できる。なお、以下では、実施例１と共通する事項を簡略化して説明する。
【００４６】
＜構成＞
図５は、実施例２の適応ブロック長符号化装置２０の構成を示したブロック図である。なお、図５において既に説明した実施例１と共通する部分については、これまで用いたものと同じ符号を付した。
図５に例示するように、実施例２の適応ブロック長符号化装置２０は、第０階層のブロックの信号を処理する第０階層予測分析部１０ａ及び第０階層残差符号量推定部２０ｄと、第１階層のブロックの信号を処理する第１階層予測分析部１１ａ及び第１階層残差符号量推定部２１ｄと、第２階層のブロックの信号を処理する第２階層予測分析部１２ａ及び第２階層残差符号量推定部２２ｄと、第３階層のブロックの信号を処理する第３階層予測分析部１３ａ及び第３階層残差符号量推定部２３ｄと、分割決定部２４と、予測係数符号化部２６と、予測フィルタ２８と、残差符号化部１５と、制御部１６と、メモリ１７とを有している。また、分割決定部２４は、比較部２４ａと、選択部２４ｂと、演算部２４ｃとを有している。
【００４７】
また、図６は、メモリ１７に格納される実施例２のブロックテーブル２７ｂのデータ構成を例示した概念図である。ブロックテーブル２７ｂは、後述のように算出される予測係数α（ｄ，ｕ，ｉ）と残差符号量推定値ＰＣ（ｄ，ｕ）を、各ブロックＢ（ｄ，ｕ）を特定する情報に対応付けたテーブルである。
【００４８】
＜処理＞
以下、実施例２の適応ブロック長符号化方法を説明していく。
［ブロック分割処理］
まず、実施例１と同じブロック分割処理を行い、分割テーブル１７ａを生成し、メモリ１７に格納する。
【００４９】
［第０階層の処理］
次に、０階層予測分析部１０ａが、例えば、メモリ１７の分割テーブル１７ａのブロック特定情報を参照し、分割テーブル１７ａから第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）(j0,1=1,...,n)を読み込む。そして、０階層予測分析部１０ａは、読み込んだサンプルx（０，１，ｊ０，１）の予測分析を行って予測係数α（０，１，ｉ）(i=1,...,p)を算出し、出力する。出力された予測係数α（０，１，ｉ）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル２７ｂに格納される（図６参照）。
【００５０】
次に、第０階層残差符号量推定部２０ｄが、当該予測係数α（０，１，ｉ）と、分割テーブル１７ａから読み込んだ第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）とを用い、ブロックＢ（０，１）に対応する残差符号量推定値ＰＣ（０，１）を算出して出力する。出力された残差符号量推定値ＰＣ（０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル２７ｂに格納される（図６参照）。
以下、本実施例におけるブロックＢ（０，１）の残差符号量推定値の算出手順を例示する。
【００５１】
［ブロック内のエネルギーの総和の推定値を残差符号量推定値とする場合］
ブロック内のエネルギーの総和の推定値を残差符号量推定値とする場合、まず、第０階層残差符号量推定部２０ｄが、ブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）のエネルギー｜x(0,1,j0,1)｜2のブロック内の総和Ｆを求める。次に、第０階層残差符号量推定部２０ｄは、予測係数α（０，１，ｉ）から偏自己相関係数（ＰＡＲＣＯＲ係数）をｋ（０，１，ｉ）（ｉ∈｛１，２，...，ｐ｝）算出する。なお、予測係数と偏自己相関係数とは等価なパラメータであり、それらの関係や変換方法も公知である。次に、第０階層残差符号量推定部２０ｄは、残差符号量推定値ＰＣ（０，１）を、次式を用いて算出する。
【数１】
0004658852.tif 000002
【００５２】
［ブロック内の振幅の絶対値の総和の推定値を残差符号量推定値とする場合］
ブロック内の振幅の総和の推定値を残差符号量推定値とする場合、まず、まず、第０階層残差符号量推定部２０ｄが、ブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）の振幅の絶対値｜x(0,1,j0,1)｜のブロック内の総和Ｆを求める。次に、第０階層残差符号量推定部２０ｄは、予測係数α（０，１，ｉ）から偏自己相関係数（ＰＡＲＣＯＲ係数）をｋ（０，１，ｉ）（ｉ∈｛１，２，...，ｐ｝）算出する。次に、第０階層残差符号量推定部２０ｄは、残差符号量推定値ＰＣ（０，１）を、式（１）を用いて算出する。また、より好ましくは、第０階層残差符号量推定部２０ｄは、次式を用いて残差符号量推定値ＰＣ（０，１）を算出する。式（２）を用いることにより、より推定精度の高い残差符号量推定値ＰＣ（０，１）を算出することができる。
【数２】
0004658852.tif 000003
【００５３】
［第１から３階層の処理］
第１から３階層についても第０階層と同様に、第１階層予測分析部１１ａと第１階層残差符号量推定部２１ｄ、第２階層予測分析部１２ａと第２階層残差符号量推定部２２ｄ、第３階層予測分析部１３ａと第３階層残差符号量推定部２３ｄの各処理により、各階層の各ブロックに対する予測係数と残差符号量推定値とが、それぞれ算出される。算出された予測係数と残差符号量推定値は、それぞれ、対応するブロックを特定する情報に関連付けられ、メモリ１７のブロックテーブル２７ｂに格納される（図６参照）。
【００５４】
［分割決定部２４の処理］
次に、分割決定部２４の比較部２４ａが、メモリ１７のブロックテーブル２７ｂから各階層の各ブロックに対応する残差符号量推定値を読み込み、上位階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号量推定値の合計値と、の大小を比較する。次に、選択部２４ｂが、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択する。ここまでの分割決定部２４の処理は、例えば、実施例１の分割決定部１４と同様に行う。そして、選択部２４ｂは、選択した各ブロックに対応する予測係数とサンプル（入力信号）とを、それぞれ、メモリ１７のブロックテーブル２７ｂ（図６）と分割テーブル１７ａ（図２）から読み込み、これらと、当該ブロックの組合せを示す選択情報とを出力する。
【００５５】
［符号化処理］
次に、予測係数符号化部２６が、選択部２４ｂから出力された各予測係数を量子化した量子化予測係数と、当該量子化予測係数の予測係数符号とを、選択部２４ｂで選択されたブロック毎に求め、当該量子化予測係数と予測係数符号とを出力する。次に、予測フィルタ２８が、予測係数符号化部２６から出力された量子化予測係数を用い、選択部２４ｂから出力されたサンプル（入力信号）を、選択部２４ｂで選択されたブロック毎にフィルタリングし、予測残差信号を求めて出力する。そして、残差符号化部１５が、予測フィルタ２８から出力された予測残差信号を、選択部２４ｂで選択されたブロック毎に符号化した残差符号を生成し、当該残差符号を出力する。
そして、適応ブロック長符号化装置２０は、残差符号化部１５から出力された残差符号と、予測係数符号化部２６から出力された予測係数符号と、選択部２４ｂから出力された選択情報とを符号列として出力する。
【００５６】
＜実施例２の特徴＞
本実施例では、予測係数符号化部や予測フィルタの処理数を、それぞれ実施例１よりも（階層数−１）階層分だけ減らすことができる。そして、予測係数符号化部や予測フィルタの演算量は、第０〜３階層残差符号量推定部２０ｄ〜２３ｄでの演算量よりも大幅に多いため、実施例１よりも少ない演算処理量で符号化を行うことができる。また、ブロックテーブルに、全てのブロックに対応する予測残差信号を格納しておく必要がないため、符号化処理に必要なメモリ１７の容量も少なくてよい。
【実施例３】
【００５７】
次に、本発明の実施例３について説明する。実施例３では、各ブロックに対応する入力信号と、当該入力信号を予測分析して得られる予測係数の量子化予測係数とを用いて残差符号量推定値を算出する。これにより、予測フィルタによるフィルタリング処理数を、実施例１よりも（階層数−１）階層分だけ減らすことができ、さらに、メモリ１７に格納すべき、予測残差信号の数も削減できる。なお、以下では、上述した実施例と共通する事項を簡略化して説明する。
【００５８】
＜構成＞
図７は、実施例３の適応ブロック長符号化装置３０の構成を示したブロック図である。なお、図７において既に説明した実施例と共通する部分については、これまで用いたものと同じ符号を付した。
【００５９】
図７に例示するように、実施例３の適応ブロック長符号化装置３０は、第０階層のブロックの信号を処理する第０階層予測分析部１０ａ、第０階層予測係数符号化部１０ｂ及び第０階層残差符号量推定部３０ｄと、第１階層のブロックの信号を処理する第１階層予測分析部１１ａ、第１階層予測係数符号化部１１ｂ及び第１階層残差符号量推定部３１ｄと、第２階層のブロックの信号を処理する第２階層予測分析部１２ａ、第２階層予測係数符号化部１２ｂ及び第２階層残差符号量推定部３２ｄと、第３階層のブロックの信号を処理する第３階層予測分析部１３ａ、第３階層予測係数符号化部１３ｂ及び第３階層残差符号量推定部３３ｄと、分割決定部３４と、予測フィルタ３６と、残差符号化部１５と、制御部１６と、メモリ１７を有している。また、分割決定部３４は、比較部３４ａと、選択部３４ｂと、演算部３４ｃとを有している。
【００６０】
また、図８は、メモリ１７に格納される実施例３のブロックテーブル３７ｂのデータ構成を例示した概念図である。ブロックテーブル３７ｂは、後述のように算出される予測係数α（ｄ，ｕ，ｉ）と残差符号量推定値ＰＣ（ｄ，ｕ）と量子化予測係数α^（ｄ，ｕ，ｉ）を、各ブロックＢ（ｄ，ｕ）を特定する情報に対応付けたテーブルである。
【００６１】
＜処理＞
以下、実施例３の適応ブロック長符号化方法を説明していく。
［ブロック分割処理］
まず、実施例１と同じブロック分割処理を行い、分割テーブル１７ａを生成し、メモリ１７に格納する。
【００６２】
［第０階層の処理］
次に、０階層予測分析部１０ａが、例えば、メモリ１７の分割テーブル１７ａのブロック特定情報を参照し、分割テーブル１７ａから第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）(j0,1=1,...,n)を読み込む。そして、０階層予測分析部１０ａは、読み込んだサンプルx（０，１，ｊ０，１）の予測分析を行って予測係数α（０，１，ｉ）(i=1,...,p)を算出し、出力する。
【００６３】
次に、０階層予測係数符号化部１０ｂが、入力された予測係数α（０，１，ｉ）を量子化した量子化予測係数α^（０，１，ｉ）と、量子化予測係数α^（０，１，ｉ）の予測係数符号Ｃｐ（０，１）とを求め、これらを出力する。ここで出力された予測係数符号Ｃｐ（０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル３７ｂに格納される（図８参照）。
【００６４】
次に、第０階層残差符号量推定部３０ｄが、当該量子化予測係数α^（０，１，ｉ）と、分割テーブル１７ａから読み込んだ第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）とを用い、ブロックＢ（０，１）に対応する残差符号量推定値ＰＣ（０，１）を算出して出力する。なお、残差符号量推定値の算出手順は、予測係数が量子化予測係数に置き換わる以外は、実施例２で説明したのと同様である。出力された残差符号量推定値ＰＣ（０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられ、メモリ１７のブロックテーブル３７ｂに格納される（図８参照）。
【００６５】
［第１から３階層の処理］
第１から３階層についても第０階層と同様に、第１階層予測分析部１１ａ、第１階層予測係数符号化部１１ｂ及び第１階層残差符号量推定部３１ｄと、第２階層予測分析部１２ａ、第２階層予測係数符号化部１２ｂ及び第２階層残差符号量推定部３２ｄと、第３階層予測分析部１３ａ、第３階層予測係数符号化部１３ｂ及び第３階層残差符号量推定部３３ｄとによる各処理により、各階層の各ブロックに対する予測係数符号と量子化予測係数と残差符号量推定値とがそれぞれ算出される。算出された予測係数符号と量子化予測係数と残差符号量推定値とは、それぞれ、対応するブロックを特定する情報に関連付けられ、メモリ１７のブロックテーブル３７ｂに格納される（図８参照）。
【００６６】
［分割決定部３４の処理］
次に、分割決定部３４の比較部３４ａが、メモリ１７のブロックテーブル３７ｂから各階層の各ブロックに対応する残差符号量推定値を読み込み、上位階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号量推定値の合計値と、の大小を比較する。次に、選択部３４ｂが、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択する。ここまでの分割決定部３４の処理は、例えば、実施例１の分割決定部１４と同様に行う。そして、選択部３４ｂは、選択した各ブロックに対応する予測係数符号と量子化予測係数とをメモリ１７のブロックテーブル３７ｂ（図８）から読み込む。また、選択部３４ｂは、選択した各ブロックに対応するサンプルを、メモリ１７の分割テーブル１７ａ（図２）から読み込む。そして、選択部３４ｂは、読み込んだ各情報と、選択したブロックの組合せを示す選択情報とを出力する。
【００６７】
［符号化処理］
次に、予測フィルタ３６が、選択部３４ｂから出力された量子化予測係数を用い、選択部３４ｂから出力されたサンプル（入力信号）を、上記で選択されたブロック毎にフィルタリングし、予測残差信号を求めて出力する。そして、残差符号化部１５が、予測フィルタ２８から出力された予測残差信号を、選択部３４ｂで選択されたブロック毎に符号化した残差符号を生成し、当該残差符号を出力する。
そして、適応ブロック長符号化装置３０は、残差符号化部１５から出力された残差符号と、選択部３４ｂから出力された予測係数符号及び選択情報とを符号列として出力する。
【００６８】
＜実施例３の特徴＞
本実施例では、予測フィルタの処理数を、実施例１よりも（階層数−１）階層分だけ減らすことができる。予測フィルタの演算量は、第０〜３階層残差符号量推定部２０ｄ〜２３ｄでの演算量よりも大幅に多いため、実施例１よりも少ない演算処理量で符号化を行うことができる。また、データ量が多い予測残差信号を、全てのブロックについてブロックテーブルに格納しておく必要がないため、符号化処理に必要なメモリ１７の容量も少なくてよい。
【実施例４】
【００６９】
次に、本発明の実施例４について説明する。実施例４では、低次（第２の予測次数）の予測が行われた予測残差信号に対応する残差符号量推定値を比較し、符号化を行うブロックの組合せを選択し、高次（第１の予測次数）の予測が行われた予測残差信号を符号化して残差符号を生成する。なお、以下では、既に説明した実施例と共通する事項を簡略化して説明する。
【００７０】
＜構成＞
図９は、実施例４の適応ブロック長符号化装置４０の構成を示したブロック図である。なお、図９において既に説明した実施例１と共通する部分については、これまで用いたものと同じ符号を付した。
図９に例示するように、実施例４の適応ブロック長符号化装置４０は、第０階層のブロックの信号を処理する第０階層低次予測分析部４０ａ及び第０階層残差符号量推定部２０ｄと、第１階層のブロックの信号を処理する第１階層低次予測分析部４１ａ及び第１階層残差符号量推定部２１ｄと、第２階層のブロックの信号を処理する第２階層低次予測分析部４２ａ及び第２階層残差符号量推定部２２ｄと、第３階層のブロックの信号を処理する第３階層低次予測分析部４３ａ及び第３階層残差符号量推定部２３ｄと、分割決定部４４と、高次予測分析部４６と、予測係数符号化部４９と、予測フィルタ４８と、残差符号化部１５と、制御部１６と、メモリ１７を有している。また、分割決定部４４は、比較部４４ａと、選択部４４ｂと、演算部４４ｃとを有している。
また、図１０は、メモリ１７に格納される実施例４のブロックテーブル４７ｂのデータ構成を例示した概念図である。ブロックテーブル４７ｂは、後述のように算出される低次予測係数α（ｄ，ｕ，ｉ’）(i’=1,...,q、q<p)と残差符号量推定値ＰＣ（ｄ，ｕ）を、各ブロックＢ（ｄ，ｕ）を特定する情報に対応付けたテーブルである。
【００７１】
＜処理＞
以下、実施例４の適応ブロック長符号化方法を説明していく。
［ブロック分割処理］
まず、実施例１と同じブロック分割処理を行い、分割テーブル１７ａを生成し、メモリ１７に格納する。
［第０階層の処理］
次に、０階層低次予測分析部４０ａが、例えば、メモリ１７の分割テーブル１７ａのブロック特定情報を参照し、分割テーブル１７ａから第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）(j0,1=1,...,n)を読み込む。そして、０階層低次予測分析部４０ａは、読み込んだサンプルx（０，１，ｊ０，１）の低次（第２の予測次数ｑ）までの予測分析を行って低次予測係数α（０，１，ｉ’）(i'=1,...,q)を算出し、出力する。出力された低次予測係数α（０，１，ｉ’）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル４７ｂに格納される（図１０参照）。
【００７２】
次に、第０階層残差符号量推定部２０ｄが、当該低次予測係数α（０，１，ｉ’）と、分割テーブル１７ａから読み込んだ第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）とを用い、ブロックＢ（０，１）に対応する残差符号量推定値ＰＣ（０，１）を算出して出力する。出力された残差符号量推定値ＰＣ（０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル４７ｂに格納される（図１０参照）。なお、残差符号量推定値の算出手順は、予測係数が低次予測係数に置き換わる以外は、実施例２で説明したのと同様である。
【００７３】
［第１から３階層の処理］
第１から３階層についても第０階層と同様に、第１階層低次予測分析部４１ａと第１階層残差符号量推定部２１ｄ、第２階層低次予測分析部４２ａと第２階層残差符号量推定部２２ｄ、第３階層低次予測分析部４３ａと第３階層残差符号量推定部２３ｄの各処理により、各階層の各ブロックに対する低次予測係数と残差符号量推定値とがそれぞれ算出される。算出された低次予測係数と残差符号量推定値とは、それぞれ、対応するブロックを特定する情報に関連付けられ、メモリ１７のブロックテーブル４７ｂに格納される（図１０参照）。
【００７４】
［分割決定部４４の処理］
次に、分割決定部４４の比較部４４ａが、メモリ１７のブロックテーブル４７ｂから各階層の各ブロックに対応する残差符号量推定値を読み込み、上位階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号量推定値の合計値と、の大小を比較する。次に、選択部４４ｂが、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択する。ここまでの分割決定部４４の処理は、例えば、実施例１の分割決定部１４と同様に行う。そして、選択部４４ｂは、選択した各ブロックに対応する低次予測係数とサンプル（入力信号）とを、それぞれ、メモリ１７のブロックテーブル４７ｂ（図１０）と分割テーブル１７ａ（図２）から読み込み、これらと、選択したブロックの組合せを示す選択情報とを出力する。
【００７５】
［符号化処理］
次に、高次予測分析部４６が、選択部４４ｂから出力された低次予測係数とサンプル（入力信号）とを用い、高次（第１の予測次数ｐ＞ｑ）までの高予測係数係数を、選択部４４ｂで選択されたブロック毎に求め、それらを出力する。なお、本実施例では、低次（第２の予測次数ｑ）まで低次予測係数が既に求まっているため、残りのｑ＋１次からｐ次までの予測係数のみを求めればよい。
【００７６】
次に、予測係数符号化部４９が、高次予測分析部４６から出力された高予測係数係数を量子化した量子化予測係数と、それらの予測係数符号とを、選択部４４ｂで選択されたブロック毎に求め、当該量子化予測係数と予測係数符号とを出力する。次に、予測フィルタ４８が、予測係数符号化部４９から出力された量子化予測係数を用い、選択部４４ｂから出力されたサンプル（入力信号）を、選択部４４ｂで選択されたブロック毎にフィルタリングし、予測残差信号を求め、出力する。そして、残差符号化部１５が、予測フィルタ４８から出力された予測残差信号を、選択部４４ｂで選択されたブロック毎に符号化した残差符号を生成し、当該残差符号を出力する。
そして、適応ブロック長符号化装置４０は、残差符号化部１５から出力された残差符号と、予測係数符号化部４９から出力された予測係数符号と、選択部４４ｂから出力された選択情報とを符号列として出力する。
【００７７】
＜実施例４の特徴＞
本実施例では、低次（第２の予測次数）の予測が行われた予測残差信号に対応する残差符号量推定値を比較し、符号化を行うブロックの組合せを選択し、高次（第１の予測次数）の予測が行われた予測残差信号を符号化して残差符号を生成することとした。これにより、符号化を行うブロックの組合せを選択するための演算量を実施例１よりも小さくすることができる。
【００７８】
なお、実施例４の変形として、低次の次数で実施例１のように予測残差信号を求め、残差符号量推定値を算出する構成であってもよい。また、実施例４では、第０〜３階層低次予測分析部４０ａ〜４３ａで算出された低次予測係数をブロックテーブル４７ｂに格納しておき、高次予測分析部４６では、残りのｑ＋１次からｐ次までの予測係数のみを求めることとした。しかし、第０〜３階層低次予測分析部４０ａ〜４３ａで算出された低次予測係数をブロックテーブル４７ｂに格納せず、高次予測分析部４６において１次からｐ次までの予測係数を求めてもよい。
【実施例５】
【００７９】
次に本発明の実施例５について説明する。実施例５では、短期予測分析（例えば、線形予測分析）によって、短期係数符号や短期予測残差信号を算出した後、短期予測残差信号の長期予測分析（ピッチ予測分析）を行って長期予測遅延量（ピッチ周期）や長期予測ゲインを算出する。そして、短期予測残差信号を用いて推定された短期残差符号量推定値と、長期予測ゲインとを用い、長期予測残差符号量を推定し、符号化を行うブロックの組合せを選択する。なお、以下では、既に説明した実施例と共通する事項を簡略化して説明する。
【００８０】
＜構成＞
図１１は、実施例５の適応ブロック長符号化装置５０の構成を示したブロック図である。なお、図１１において既に説明した実施例と共通する部分については、これまで用いたものと同じ符号を付した。
【００８１】
図１１に例示するように、実施例５の適応ブロック長符号化装置５０は、第０階層のブロックの信号を処理する第０階層短期予測分析部５０ａ、第０階層短期予測係数符号化部５０ｂ、第０階層短期予測フィルタ５０ｃ、第０階層長期予測分析部５０ｄ及び第０階層残差符号量推定部５０ｅと、第１階層のブロックの信号を処理する第１階層短期予測分析部５１ａ、第１階層短期予測係数符号化部５１ｂ、第１階層短期予測フィルタ５１ｃ、第１階層長期予測分析部５１ｄ及び第１階層残差符号量推定部５１ｅと、第２階層のブロックの信号を処理する第２階層短期予測分析部５２ａ、第２階層短期予測係数符号化部５２ｂ、第２階層短期予測フィルタ５２ｃ、第２階層長期予測分析部５２ｄ及び第２階層残差符号量推定部５２ｅと、第３階層のブロックの信号を処理する第３階層短期予測分析部５３ａ、第３階層短期予測係数符号化部５３ｂ、第３階層短期予測フィルタ５３ｃ、第３階層長期予測分析部５３ｄ及び第３階層残差符号量推定部５３ｅと、分割決定部５４と、長期予測係数符号化部５６と、長期予測フィルタ５８と、残差符号化部１５と、制御部１６と、メモリ１７を有している。また、分割決定部５４は、比較部５４ａと、選択部５４ｂと、演算部５４ｃとを有している。
【００８２】
また、図１２は、メモリ１７に格納される実施例５のブロックテーブル５７ｂのデータ構成を例示した概念図である。ブロックテーブル５７ｂは、後述のように算出される短期予測係数符号Ｃｐ（ｄ，ｕ）、短期予測残差信号ｙ（ｄ，ｕ，ｊｄ，ｕ）と、長期予測係数（長期予測遅延量τ（ｄ，ｕ），長期予測ゲインγ（ｄ，ｕ））と、残差符号量推定値ＰＣ（ｄ，ｕ）を、各ブロックＢ（ｄ，ｕ）を特定する情報に対応付けたテーブルである。
【００８３】
＜処理＞
以下、実施例５の適応ブロック長符号化方法を説明していく。
［ブロック分割処理］
まず、実施例１と同じブロック分割処理を行い、分割テーブル１７ａを生成し、メモリ１７に格納する。
［第０階層の処理］
次に、０階層短期予測分析部１０ａが、例えば、メモリ１７の分割テーブル１７ａのブロック特定情報を参照し、分割テーブル１７ａから第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）(j0,1=1,...,n)を読み込む。そして、０階層短期予測分析部１０ａは、読み込んだサンプルx（０，１，ｊ０，１）の短期予測分析を行って短期予測係数α（０，１，ｉ）(i=1,...,p)を算出し、出力する。
【００８４】
次に、０階層短期予測係数符号化部５０ｂが、入力された短期予測係数α（０，１，ｉ）を量子化した量子化短期予測係数α^（０，１，ｉ）と、量子化短期予測係数α^（０，１，ｉ）の短期予測係数符号Ｃｐ（０，１）とを求め、これらを出力する。ここで出力された短期予測係数符号Ｃｐ（０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル５７ｂに格納される（図１２参照）。
【００８５】
次に、第０階層短期予測フィルタ５０ｃが、入力された量子化短期予測係数α^（０，１，ｉ）を用い、ブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）をフィルタリングし、短期予測残差信号ｙ（０，１，ｊ０，１）を求め、出力する。このように出力された短期予測残差信号ｙ（０，１，ｊ０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル５７ｂに格納される（図１２参照）。
【００８６】
次に、第０階層長期予測分析部５０ｄが、第０階層短期予測フィルタ５０ｃから出力された短期予測残差信号ｙ（０，１，ｊ０，１）の長期予測分析を行い、長期予測遅延量τ（０，１）と、長期予測ゲインγ（０，１）とを算出して出力する。なお、長期予測分析に関する詳細は、例えば、ハーフレート音声コーデック（ＰＳＩ−ＣＥＬＰ）規格書ＲＣＲ  ＳＴＤ−２７Ｃ等に詳しいため説明を省略する。
その後、第０階層残差符号量推定部５０ｅが、第０階層長期予測分析部５０ｄから出力された長期予測ゲインγ（０，１）と、第０階層短期予測フィルタ５０ｃから出力された短期予測残差信号ｙ（０，１，ｊ０，１）とを用い、ブロック（０，１）に対応する長期残差符号量推定値ＰＣ（０，１）を算出し、出力する。以下、この処理例を、ブロック（０，１）を例にとって具体的に説明する。
【００８７】
［ブロック内の長期予測誤差のエネルギーの総和の推定値を長期残差符号量推定値とする場合］
ブロック内の長期予測誤差のエネルギーの総和の推定値を長期残差符号量推定値とする場合、まず、第０階層長期予測分析部５０ｄが、短期予測残差信号ｙ（０，１，ｊ０，１）のエネルギー｜y(0,1,j0,1)｜2のブロック内の総和Ｅを求める。次に、第０階層長期予測分析部５０ｄは、このＥと長期予測ゲインγ（０，１）とを用い、以下の式により長期残差符号量推定値ＰＣ（０，１）を算出する。
PC(0,1)=E(1-γ(0,1)2) …(3)
【００８８】
［ブロック内の長期予測誤差の振幅の絶対値の総和の推定値を長期残差符号量推定値とする場合］
ブロック内の長期予測誤差の振幅の総和の推定値を長期残差符号量推定値とする場合、まず、第０階層長期予測分析部５０ｄが、短期予測残差信号ｙ（０，１，ｊ０，１）の振幅の絶対値｜y(0,1,j0,1)｜のブロック内の総和Ｅを求める。次に、第０階層長期予測分析部５０ｄは、このＥと長期予測ゲインγ（０，１）とを用い、式（３）により長期残差符号量推定値ＰＣ（０，１）を算出する。また、より好ましくは、第０階層長期予測分析部５０ｄは、次式を用いて長期残差符号量推定値ＰＣ（０，１）を算出する。式（４）を用いることにより、より推定精度の高い長期残差符号量推定値ＰＣ（０，１）を算出することができる。
PC(0,1)=E(1-γ(0,1)2)1/2  …(4)
また、前段に、長期フィルタ部及び長期予測係数符号化部を設け、これらによって実際の長期予測残差信号のエネルギーの総和や振幅の絶対値の総和を求め、それを長期残差符号量推定値としてもよい。
【００８９】
［第１から３階層の処理］
第１から３階層についても第０階層と同様に、第１階層短期予測分析部５１ａ、第１階層短期予測係数符号化部５１ｂ、第１階層短期予測フィルタ５１ｃ、第１階層長期予測分析部５１ｄ及び第１階層残差符号量推定部５１ｅと、第２階層短期予測分析部５２ａ、第２階層短期予測係数符号化部５２ｂ、第２階層短期予測フィルタ５２ｃ、第２階層長期予測分析部５２ｄ及び第２階層残差符号量推定部５２ｅと、第３階層短期予測分析部５３ａ、第３階層短期予測係数符号化部５３ｂ、第３階層短期予測フィルタ５３ｃ、第３階層長期予測分析部５３ｄ及び第３階層残差符号量推定部５３ｅとの各処理が実行される。これにより、各階層の各ブロックに対する短期予測係数符号と長期予測係数と短期予測残差信号と長期残差符号量推定値とがそれぞれ算出される。算出された各値は、それぞれ、対応するブロックを特定する情報に関連付けられ、メモリ１７のブロックテーブル５７ｂに格納される（図１２参照）。
【００９０】
［分割決定部５４の処理］
次に、分割決定部５４の比較部５４ａが、メモリ１７のブロックテーブル５７ｂから各階層の各ブロックに対応する長期残差符号量推定値を読み込み、上位階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する長期残差符号量推定値の合計値と、の大小を比較する。次に、選択部５４ｂが、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する長期残差符号量推定値のフレーム内での合計が最小となるものを選択する。ここまでの分割決定部５４の処理は、例えば、実施例１の分割決定部１４と同様に行う。そして、選択部５４ｂは、選択した各ブロックに対応する短期予測係数符号と短期予測残差信号と長期予測係数とを、メモリ１７のブロックテーブル５７ｂ（図１２）から読み込み、これらと、選択したブロックの組合せを示す選択情報とを出力する。
【００９１】
［符号化処理］
次に、長期予測係数符号化部５６が、選択部５４ｂから出力された長期予測係数（長期予測遅延量と長期予測ゲイン）を、それぞれ量子化した量子化長期予測係数（量子化長期予測遅延量と量子化長期予測ゲイン）を算出し、出力する。また、長期予測係数符号化部５６は、量子化長期予測係数を符号化した長期予測係数符号を算出し、出力する。次に、長期予測フィルタ５８が、長期予測係数符号化部５６から出力された量子化長期予測係数を用い、選択部５４ｂから出力された短期予測残差信号を、選択部５４ｂで選択されたブロック毎にフィルタリングして長期予測残差信号を求め、出力する。なお、ここでのフィルタリングとは、量子化長期予測遅延量と量子化長期予測ゲインとを代入した長期予測モデル（フィルタ）と、短期予測残差信号との差を求める処理を意味する。また、本実施例では１次のフィルタによってフィルタリングを行う。そして、残差符号化部１５が、入力された長期予測残差信号を、選択部５４ｂで選択されたブロック毎に符号化した残差符号を生成し、当該残差符号を出力する。
そして、適応ブロック長符号化装置５０は、残差符号化部１５から出力された残差符号と、長期予測係数符号化部５６から出力された長期予測係数符号と、選択部５４ｂから出力された短期予測係数符号と、選択情報とを符号列として出力する。
【実施例６】
【００９２】
次に本発明の実施例６について説明する。実施例６でも短期予測分析と長期予測分析とを併用するが、実施例５とは異なり、短期予測分析結果を用い、長期予測分析後の長期予測残差信号の符号量を推定する。なお、以下では、既に説明した実施例と共通する事項を簡略化して説明する。
＜構成＞
図１３は、実施例６の適応ブロック長符号化装置６０の構成を示したブロック図である。なお、図１１において既に説明した実施例と共通する部分については、これまで用いたものと同じ符号を付した。
【００９３】
図１３に例示するように、実施例６の適応ブロック長符号化装置６０は、第０階層のブロックの信号を処理する第０階層短期予測分析部５０ａ、第０階層短期予測係数符号化部５０ｂ、第０階層短期予測フィルタ５０ｃ及び第０階層残差符号量推定部６０ｄと、第１階層のブロックの信号を処理する第１階層短期予測分析部５１ａ、第１階層短期予測係数符号化部５１ｂ、第１階層短期予測フィルタ５１ｃ及び第１階層残差符号量推定部６１ｄと、第２階層のブロックの信号を処理する第２階層短期予測分析部５２ａ、第２階層短期予測係数符号化部５２ｂ、第２階層短期予測フィルタ５２ｃ及び第２階層残差符号量推定部６２ｄと、第３階層のブロックの信号を処理する第３階層短期予測分析部５３ａ、第３階層短期予測係数符号化部５３ｂ、第３階層短期予測フィルタ５３ｃ及び第３階層残差符号量推定部６３ｄと、分割決定部６４と、長期予測分析部６５と、長期予測係数符号化部６６と、長期予測フィルタ６８と、残差符号化部１５と、制御部１６と、メモリ１７を有している。また、分割決定部６４は、比較部６４ａと、選択部６４ｂと、演算部６４ｃとを有している。
【００９４】
また、図１４は、メモリ１７に格納される実施例６のブロックテーブル６７ｂのデータ構成を例示した概念図である。ブロックテーブル６７ｂは、後述のように算出される短期予測係数符号Ｃｐ（ｄ，ｕ）、短期予測残差信号ｙ（ｄ，ｕ，ｊｄ，ｕ）と、残差符号量推定値ＰＣ（ｄ，ｕ）を、各ブロックＢ（ｄ，ｕ）を特定する情報に対応付けたテーブルである。
【００９５】
＜処理＞
以下、実施例６の適応ブロック長符号化方法を説明していく。
［ブロック分割処理］
まず、実施例１と同じブロック分割処理を行い、分割テーブル１７ａを生成し、メモリ１７に格納する。
［第０階層の処理］
次に、０階層短期予測分析部１０ａが、例えば、メモリ１７の分割テーブル１７ａのブロック特定情報を参照し、分割テーブル１７ａから第０階層のブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）(j0,1=1,...,n)を読み込む。そして、０階層短期予測分析部１０ａは、読み込んだサンプルx（０，１，ｊ０，１）の短期予測分析を行って短期予測係数α（０，１，ｉ）(i=1,...,p)を算出し、出力する。
【００９６】
次に、０階層短期予測係数符号化部５０ｂが、入力された短期予測係数α（０，１，ｉ）を量子化した量子化短期予測係数α^（０，１，ｉ）と、量子化短期予測係数α^（０，１，ｉ）の短期予測係数符号Ｃｐ（０，１）とを求め、これらを出力する。ここで出力された短期予測係数符号Ｃｐ（０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル６７ｂに格納される（図１４参照）。
【００９７】
次に、第０階層短期予測フィルタ５０ｃが、入力された量子化短期予測係数α^（０，１，ｉ）を用い、ブロックＢ（０，１）のサンプルx（０，１，ｊ０，１）をフィルタリングし、短期予測残差信号ｙ（０，１，ｊ０，１）を求めて出力する。このように出力された短期予測残差信号ｙ（０，１，ｊ０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル６７ｂに格納される（図１４参照）。
【００９８】
次に、第０階層残差符号量推定部６０ｄが、入力された短期予測残差信号ｙ（０，１，ｊ０，１）を用い、実施例１と同様に、残差符号量推定値ＰＣ（０，１）を算出して出力する。なお、出力された残差符号量推定値ＰＣ（０，１）は、対応するブロックＢ（０，１）を特定する情報に関連付けられてメモリ１７のブロックテーブル６７ｂに格納される（図１４参照）。
【００９９】
［第１から３階層の処理］
第１から３階層についても第０階層と同様に、第１階層短期予測分析部５１ａ、第１階層短期予測係数符号化部５１ｂ、第１階層短期予測フィルタ５１ｃ及び第１階層残差符号量推定部６１ｄと、第２階層短期予測分析部５２ａ、第２階層短期予測係数符号化部５２ｂ、第２階層短期予測フィルタ５２ｃ及び第２階層残差符号量推定部６２ｄと、第３階層短期予測分析部５３ａ、第３階層短期予測係数符号化部５３ｂ、第３階層短期予測フィルタ５３ｃ及び第３階層残差符号量推定部６３ｄとの各処理が実行される。これにより、各階層の各ブロックに対する短期予測係数符号と短期予測残差信号と残差符号量推定値とがそれぞれ算出される。算出された各値は、それぞれ、対応するブロックを特定する情報に関連付けられ、メモリ１７のブロックテーブル６７ｂに格納される（図１４参照）。
【０１００】
［分割決定部６４の処理］
次に、分割決定部６４の比較部６４ａが、メモリ１７のブロックテーブル６７ｂから各階層の各ブロックに対応する残差符号量推定値を読み込み、上位階層のブロックに対応する残差符号量推定値と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号量推定値の合計値と、の大小を比較する。次に、選択部６４ｂが、当該比較結果を用い、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号量推定値のフレーム内での合計が最小となるものを選択する。ここまでの分割決定部６４の処理は、例えば、実施例１の分割決定部１４と同様に行う。そして、選択部６４ｂは、選択した各ブロックに対応する短期予測係数符号と短期予測残差信号とを、メモリ１７のブロックテーブル６７ｂ（図１４）から読み込み、これらと、選択したブロックの組合せを示す選択情報とを出力する。
【０１０１】
［符号化処理］
次に、長期予測分析部６５が、選択部６４ｂから出力された短期予測残差信号の長期予測分析を、選択部６４ｂで選択されたブロック毎に行い、当該各ブロックに対し、長期予測係数（長期予測遅延量と長期予測ゲイン）とを算出して出力する。
次に、長期予測係数符号化部６６が、長期予測分析部６５から出力された長期予測係数を、それぞれ量子化した量子化長期予測係数（量子化長期予測遅延量と量子化長期予測ゲイン）を算出し、出力する。また、長期予測係数符号化部６６は、量子化長期予測係数を符号化した長期予測係数符号を算出し、出力する。次に、長期予測フィルタ６８が、長期予測係数符号化部６６から出力された量子化長期予測係数を用い、選択部６４ｂから出力された短期予測残差信号を、選択部６４ｂで選択されたブロック毎にフィルタリングして長期予測残差信号を求め、出力する。そして、残差符号化部１５が、入力された長期予測残差信号を、選択部６４ｂで選択されたブロック毎に符号化した残差符号を生成し、当該残差符号を出力する。
そして、適応ブロック長符号化装置６０は、残差符号化部１５から出力された残差符号と、長期予測係数符号化部６６から出力された長期予測係数符号と、選択部６４ｂから出力された短期予測係数符号と選択情報とを符号列として出力する。
【０１０２】
＜実施例６の特徴＞
実施例６では、実施例５に比べ、長期予測分析部による演算数を（階層数−１）階層分だけ減らすことができるため、実施例６よりもさらに演算量を低減することができる。また、本変形例では、短期予測残差信号から予測残差符号量推定値（短期予測残差信号のエネルギー又は振幅の絶対値のブロック内の総和等）を求め、これを長期予測残差信号の符号量の大小の推定に用いている。しかし、長期予測による符号量の低減効果は各チャネルにおいてほぼ同等であるため、これによって選択部６４ｂでの選択が誤ってしまうことは少ない。
【０１０３】
〔その他共通事項〕
また、上述の各実施例において、下位階層の複数のブロックに対応する残差符号量推定値の合計値と、当該下位階層の複数のブロックから構成される上位階層のブロックに対応する残差符号量推定値との差が、所定の閾値以下又は未満であった場合、当該フレームに属する全ブロックに対して残差符号を算出し、当該フレームについて、上位階層のブロックに対応する残差符号の符号量と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号の符号量の合計値と、の大小を比較し、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号の符号量のフレーム内での合計が最小となるものを選択する構成であってもよい。
【０１０４】
具体的には、例えば、図１５の適応ブロック長符号化装置７０を例示できる。この場合、制御部１６の制御のもと、通常は、実施例１と同様な処理により符号列を生成する。しかし、下位階層の複数のブロックに対応する残差符号量推定値の合計値と、当該下位階層の複数のブロックから構成される上位階層のブロックに対応する残差符号量推定値との差が、所定の閾値以下又は未満であると比較部１４ａ（「判定部」を兼用）が判断した場合、第０階層残差符号化部７０ｅ、第１階層残差符号化部７１ｅ、第２階層残差符号化部７２ｅ及び第３階層残差符号化部７３ｅが、このように判断されたフレームに属する全ブロックに対して残差符号を算出する。そして、比較部１４ａが、当該フレームについて、上位階層のブロックに対応する残差符号の符号量と、当該ブロックを構成する下位階層の複数のブロックにそれぞれ対応する残差符号の符号量の合計値と、の大小を比較し、選択部１４ｂが、フレームを構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号の符号量のフレーム内での合計が最小となるものを選択する。
【０１０５】
また、下位階層の複数のブロックに対応する残差符号量推定値の合計値と、当該下位階層の複数のブロックから構成される上位階層のブロックに対応する残差符号量推定値との差が、所定の閾値以下又は未満であった場合、このように判定された区間に属するブロックに対してのみ残差符号を算出し、当該残差符号が生成された区間については、該区間に対応する該各階層の残差符号の符号量の合計値の大小を比較し、当該区間を構成するブロックの組合せであって、各ブロックにそれぞれ対応する残差符号の符号量の当該区間内での合計が最小となるものを選択する構成であってもよい。
【０１０６】
また、下位階層の複数のブロックに対応する残差符号量推定値の合計値と、当該下位階層の複数のブロックから構成される上位階層のブロックに対応する残差符号量推定値との差が、所定の閾値以下又は未満であった場合、残差符号量推定部が、このように判断された各ブロックに対して高次の残差符号量推定値を算出し、比較部が、当該高次の残差符号量推定値を用いて比較を行う構成であってもよい。
【０１０７】
例えば、図１の適応ブロック長符号化装置１０においてこの構成を実現する場合、０階層予測分析部１０ａ、１階層予測分析部１１ａ、２階層予測分析部１２ａ及び３階層予測分析部１３ａが予測分析に用いる予測次数を、低次の予測次数ｐ１と高次の予測次数ｐ２の２段階に変更可能とする。そして、制御部１６の制御のもと、通常は、低次の予測次数ｐ１を用いて実施例１の処理を実行する。しかし、下位階層の複数のブロックに対応する残差符号量推定値の合計値と、当該下位階層の複数のブロックから構成される上位階層のブロックに対応する残差符号量推定値との差が、所定の閾値以下又は未満であると比較部１４ａ（「判定部」を兼用）が判断した場合、制御部１６は、高次の予測次数ｐ２を用いて実施例１の処理をやり直すか、次のフレームから数フレーム分だけ高次の予測次数ｐ２を用いて実施例１の処理を実行する。また、予測次数を３段階以上に変更可能とし、残差符号量推定値の差が所定の閾値以上又は越えるまで、予測次数を更新しながら同様な処理を繰り返してもよい。
【０１０８】
また、本発明は上述の各実施例に限定されるものではない。例えば、各実施例では、予測残差信号の振幅の絶対値、又は、予測残差信号のエネルギーを、ブロック内で総計した値を残差符号量推定値とした。しかし、その他、予測残差信号の振幅の絶対値に対して単調増加の関係にある値を残差符号量推定値として用いてもよい。また、制御部１６の制御のもと、各実施例の構成を適宜組み合わせて実行してもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１０９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１１０】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１１１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１１２】
また、各実施例では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【０１１３】
本発明の産業上の利用分野としては、例えば、音響信号の圧縮符号化等を例示できる。
【図面の簡単な説明】
【０１１４】
【図１】図１は、実施例１の適応ブロック長符号化装置の構成を示したブロック図である。
【図２】図２は、分割テーブルのデータ構成を例示した概念図である。
【図３】図３は、実施例１のブロックテーブルのデータ構成を例示した概念図である。
【図４】図４は、分割決定部の処理の一例を説明するためのフローチャートである。
【図５】図５は、実施例２の適応ブロック長符号化装置の構成を示したブロック図である。
【図６】図６は、実施例２のブロックテーブルのデータ構成を例示した概念図である。
【図７】図７は、実施例３の適応ブロック長符号化装置の構成を示したブロック図である。
【図８】図８は、実施例３のブロックテーブルのデータ構成を例示した概念図である。
【図９】図９は、実施例４の適応ブロック長符号化装置の構成を示したブロック図である。
【図１０】図１０は、実施例４のブロックテーブルのデータ構成を例示した概念図である。
【図１１】図１１は、実施例５の適応ブロック長符号化装置の構成を示したブロック図である。
【図１２】図１２は、実施例５のブロックテーブルのデータ構成を例示した概念図である。
【図１３】図１３は、実施例６の適応ブロック長符号化装置の構成を示したブロック図である。
【図１４】図１４は、実施例６のブロックテーブルのデータ構成を例示した概念図である。
【図１５】図１５は、適応ブロック長符号化装置の変形例を示したブロック図である。
【図１６】図１６は、従来の符号化装置の構成を例示したブロック図である。
【図１７】図１７は、階層的にブロック分割されたフレームの構成を例示した概念図である。
【図１８】図１８（ａ）〜（ｃ）は、フレームを階層的に分割する際の変形例を示した図である。
【符号の説明】
【０１１５】
１０〜７０  適応ブロック長符号化装置
【図１】
0004658852.tif 000004
【図２】
0004658852.tif 000005
【図３】
0004658852.tif 000006
【図４】
0004658852.tif 000007
【図５】
0004658852.tif 000008
【図６】
0004658852.tif 000009
【図７】
0004658852.tif 000010
【図８】
0004658852.tif 000011
【図９】
0004658852.tif 000012
【図１０】
0004658852.tif 000013
【図１１】
0004658852.tif 000014
【図１２】
0004658852.tif 000015
【図１３】
0004658852.tif 000016
【図１４】
0004658852.tif 000017
【図１５】
0004658852.tif 000018
【図１６】
0004658852.tif 000019
【図１７】
0004658852.tif 000020
【図１８】
0004658852.tif 000021