(57)【特許請求の範囲】
【請求項１】
入力信号の時間区間であるフレームを階層的に複数のブロックに分割し、各ブロックに対応する入力信号の分析結果を示す分析情報から得られた情報を用いて、フレームを構成するブロックを選択する適応ブロック長符号化装置であって、
上記フレームから、１つ又は複数のブロックにより構成される、複数の階層を生成するブロック分割部と、
何れかの階層の１つのブロックからなる分析区間が、当該階層と異なる１以上の階層の複数のブロックで構成される場合に、当該分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号の分析を行って分析情報を生成する第１分析部と、
上記分析区間に対応する分析情報を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された分析情報を用いて生成する第２分析部と、
を有することを特徴とする適応ブロック長符号化装置。
【請求項２】
請求項１に記載の適応ブロック長符号化装置であって、
上記分析情報は、
入力信号の自己相関関数値を含み、
上記第１分析部は、
上記分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号から自己相関関数値を求める自己相関関数値算出部を具備し、
上記第２分析部は、
上記分析区間に対応する自己相関関数値を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された自己相関関数値の和によって求める加算部を具備する、
ことを特徴とする適応ブロック長符号化装置。
【請求項３】
請求項２に記載の適応ブロック長符号化装置であって、
上記第１分析部の上記自己相関関数値算出部は、
上記分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、それぞれのブロック長を拡張した時間区間の入力信号の自己相関関数値を求め、それらを当該各ブロックにそれぞれ対応する入力信号の自己相関関数値とする、
ことを特徴とする適応ブロック長符号化装置。
【請求項４】
請求項２に記載の適応ブロック長符号化装置であって、
上記第２分析部は、
上記分析区間を構成するブロックの境界を跨る自己相関を示す自己相関関数値を求める境界自己相関関数値算出部を具備し、
上記第２分析部の上記加算部は、
上記分析区間に対応する自己相関関数値を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された自己相関関数値と、上記分析区間を構成するブロックの境界を跨る自己相関を示す自己相関関数値との和によって求める、
ことを特徴とする適応ブロック長符号化装置。
【請求項５】
請求項２から４の何れかに記載の適応ブロック長符号化装置であって、
上記第２分析部は、
上記分析区間に対応する、上記加算部で求めた自己相関関数値よりも高次の自己相関関数値を、入力信号を用いて算出する高次自己相関関数値算出部をさらに具備する、
ことを特徴とする適応ブロック長符号化装置。
【請求項６】
請求項１に記載の適応ブロック長符号化装置であって、
上記分析情報は、
入力信号に対応するＰＡＲＣＯＲ係数を含み、
上記第１分析部は、
上記分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号からＰＡＲＣＯＲ係数を求める偏自己相関分析部を具備し、
上記第２分析部は、
上記分析区間に対応するＰＡＲＣＯＲ係数を、当該分析区間を構成する複数のブロックに対してそれぞれ生成されたＰＡＲＣＯＲ係数の和又は重み付け和によって求める加算部を具備する、
ことを特徴とする適応ブロック長符号化装置。
【請求項７】
請求項６に記載の適応ブロック長符号化装置であって、
上記加算部が、上記分析区間を構成する複数のブロックに対してそれぞれ生成されたＰＡＲＣＯＲ係数を重み付け和する際に、当該各ＰＡＲＣＯＲ係数に与える重みの比率は、
当該各ＰＡＲＣＯＲ係数にそれぞれ対応する各ブロック内での入力信号のエネルギーの総和の比率と、単調増加の関係にある、
ことを特徴とする適応ブロック長符号化装置。
【請求項８】
請求項１に記載の適応ブロック長符号化装置であって、
上記分析情報は、
ブロック内の入力信号を用いた前向き予測誤差と後ろ向き予測誤差との内積の総和、並びに、当該前向き予測誤差と当該後ろ向き予測誤差とのエネルギーの総和を含み、
上記第１分析部は、
上記分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号から、当該各ブロックに対応する上記内積の総和と上記エネルギーの総和とを求める偏自己相関分析部を具備し、
上記第２分析部は、
上記分析区間に対応する上記内積の総和を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された上記内積の総和の和によって求め、上記分析区間に対応する上記エネルギーの総和を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された上記エネルギーの総和の和によって求める加算部を具備する、
ことを特徴とする適応ブロック長符号化装置。
【請求項９】
入力信号の時間区間であるフレームを階層的に複数のブロックに分割し、各ブロックに対応する入力信号の分析結果を示す分析情報から得られた情報を用いて、フレームを構成するブロックを選択する適応ブロック長符号化方法であって、
上記フレームから、１つ又は複数のブロックにより構成される、複数の階層を生成するブロック分割過程と、
何れかの階層の１つのブロックからなる分析区間が、当該階層と異なる１以上の階層の複数のブロックで構成される場合に、当該分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号の分析を行って分析情報を生成する第１分析過程と、
上記分析区間に対応する分析情報を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された分析情報を用いて生成する第２分析過程と、
を有することを特徴とする適応ブロック長符号化方法。
【請求項１０】
請求項９に記載の適応ブロック長符号化方法であって、
上記分析情報は、
入力信号の自己相関関数値を含み、
上記第１分析過程は、
上記分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号から自己相関関数値を求める自己相関関数算出過程を具備し、
上記第２分析過程は、
上記分析区間に対応する自己相関関数値を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された自己相関関数値の和によって求める加算過程を具備する、
ことを特徴とする適応ブロック長符号化方法。
【請求項１１】
請求項１０に記載の適応ブロック長符号化方法であって、
上記第１分析過程の上記自己相関関数算出過程は、
上記分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、それぞれのブロック長を拡張した時間区間の入力信号の自己相関関数値を求め、それらを当該各ブロックにそれぞれ対応する入力信号の自己相関関数値とする過程である、
ことを特徴とする適応ブロック長符号化方法。
【請求項１２】
請求項１０に記載の適応ブロック長符号化方法であって、
上記第２分析過程は、
上記分析区間を構成するブロックの境界を跨る自己相関を示す自己相関関数値を求める境界自己相関関数値算出過程を具備し、
上記第２分析過程の上記加算過程は、
上記分析区間に対応する自己相関関数値を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された自己相関関数値と、上記分析区間を構成するブロックの境界を跨る自己相関を示す自己相関関数値との和によって求める過程である、
ことを特徴とする適応ブロック長符号化方法。
【請求項１３】
請求項１０から１２の何れかに記載の適応ブロック長符号化方法であって、
上記第２分析過程は、
上記分析区間に対応する、上記加算過程で求めた自己相関関数値よりも高次の自己相関関数値を、入力信号を用いて算出する高次自己相関関数値算出過程をさらに具備する、
ことを特徴とする適応ブロック長符号化方法。
【請求項１４】
請求項９に記載の適応ブロック長符号化方法であって、
上記分析情報は、
入力信号に対応するＰＡＲＣＯＲ係数を含み、
上記第１分析過程は、
上記分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号からＰＡＲＣＯＲ係数を求める偏自己相関分析過程を具備し、
上記第２分析過程は、
上記分析区間に対応するＰＡＲＣＯＲ係数を、当該分析区間を構成する複数のブロックに対してそれぞれ生成されたＰＡＲＣＯＲ係数の和又は重み付け和によって求める加算過程を具備する、
ことを特徴とする適応ブロック長符号化方法。
【請求項１５】
請求項１４に記載の適応ブロック長符号化方法であって、
上記加算過程によって、上記分析区間を構成する複数のブロックに対してそれぞれ生成されたＰＡＲＣＯＲ係数を重み付け和する際に、当該各ＰＡＲＣＯＲ係数に与えられる重みの比率は、
当該各ＰＡＲＣＯＲ係数にそれぞれ対応する各ブロック内での入力信号のエネルギーの総和の比率と、単調増加の関係にある、
ことを特徴とする適応ブロック長符号化方法。
【請求項１６】
請求項９に記載の適応ブロック長符号化方法であって、
上記分析情報は、
ブロック内の入力信号を用いた前向き予測誤差と後ろ向き予測誤差との内積の総和、並びに、当該前向き予測誤差と当該後ろ向き予測誤差とのエネルギーの総和を含み、
上記第１分析過程は、
上記分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号から、当該各ブロックに対応する上記内積の総和と上記エネルギーの総和とを求める偏自己相関分析過程を具備し、
上記第２分析過程は、
上記分析区間に対応する上記内積の総和を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された上記内積の総和の和によって求め、上記分析区間に対応する上記エネルギーの総和を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された上記エネルギーの総和の和によって求める加算過程を具備する、
ことを特徴とする適応ブロック長符号化方法。
【請求項１７】
請求項１から８の何れかに記載の適応ブロック長符号化装置としてコンピュータを機能させるためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列信号の圧縮符号化技術に関し、特にフレームを複数のブロックに階層的に分割して出力符号列を生成する技術に関する。
【背景技術】
【０００２】
フレーム単位の符号化において、分析単位長を適応的に選択することにより、圧縮効率を改善できることが知られている。そのひとつとして、フレーム毎のサンプル数を固定し、各フレーム中を複数のブロックに階層的に分割して符号化を行う方法が知られている（例えば、非特許文献１参照）。以下ではまず、この各フレーム中を複数のブロックに階層的に分割して符号化を行う従来の方法について説明する。
図１１は、このような符号化処理を行う従来の符号化装置の構成を例示したブロック図である。また、図１２は、図１１の第０〜３階層符号化部の構成を例示したブロック図である。また、図１３は、この符号化処理が行われるフレーム１００の構成を例示した概念図である。なお、複数サンプル（通常数百〜数千サンプル）にそれぞれ対応する離散時間（サンプル点）からなる短時間区間をフレームと呼ぶが、ここでは、全サンプルにそれぞれ対応する離散時間からなる短時間区間をフレームとし、フレーム内のサンプル点数を１０２４点から３２７６８点程度に想定する。なお、以下ではフレーム内のサンプル点数をｎと表現する。また、図１３の例では、１つのフレームを４つの階層（第０階層１１０〜第３階層１４０）にブロック分割する。この例の場合、第０階層１１０では、フレーム１００がブロックＢ（０，１）に一致する。また、第１階層１２０は、第０階層１１０のブロックＢ（０，１）を２分割したブロックＢ（１，１），Ｂ（１，２）によって構成される。さらに、第２階層１３０は、第１階層１２０のブロックＢ（１，１）を２分割したブロックＢ（２，１），Ｂ（２，２）と、ブロックＢ（１，２）を２分割したブロックＢ（２，３），Ｂ（２，４）とによって構成される。また、第３階層１４０は、第２階層１３０のブロックＢ（２，１）を２分割したブロックＢ（３，１），Ｂ（３，２）と、ブロックＢ（２，２）を２分割したブロックＢ（３，３），Ｂ（３，４）と、ブロックＢ（２，３）を２分割したブロックＢ（３，５），Ｂ（３，６）と、ブロックＢ（２，４）を２分割したブロックＢ（３，７），Ｂ（３，８）とによって構成される。なお、図１３における１，ｎ１，ｎ２，ｎ３，ｎ４，...，ｎは、フレーム１００内の各サンプル点に対応する番号を示す。例えば、ブロックＢ（２，２）は、ｎ２＋１番目からｎ４番目のサンプルによって構成されるブロックである。また、図１３のブロックへの分割方法は一例であり、階層数やブロック分割数等はこれに限定されない。
【０００３】
この従来法では、各階層のブロック毎に、予測分析、予測係数符号化、予測フィルタによる予測残差信号算出、（必要に応じて、線形予測残差信号の長期予測分析、長期予測フィルタによる長期予測残差信号算出）及びその符号化（エントロピー符号化等）を独立に実行し、ブロック毎の残差符号を算出する。そして、下位階層の複数のブロックに対応する残差符号の符号量の合計値と、当該下位階層の複数のブロックから構成される上位階層のブロックに対応する残差符号の符号量とを比較し、フレーム１００内で符号量の合計が最小となるブロックの組合せを選択する。
【０００４】
図１３の例で具体的に説明すると、まず、ブロックＢ（０，１），Ｂ（１，１），Ｂ（１，２），Ｂ（２，１）〜Ｂ（２，４），Ｂ（３，１）〜Ｂ（３，８）毎に、入力信号の線形予測分析、線形予測係数符号化、短期予測フィルタによる線形予測残差信号算出、（必要に応じて、線形予測残差信号の長期予測分析、長期予測フィルタによる長期予測残差信号算出）、及び残差符号化を独立に実行して、ブロック毎の残差符号を算出し、それらの符号量を計算する。
【０００５】
次に、第３階層１４０のブロックＢ（３，１），Ｂ（３，２）の残差符号の符号量の合計値と、それらの上位階層である第２階層１３０のブロックＢ（２，１）の残差符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、ブロックＢ（３，１），Ｂ（３，２）の残差符号の符号量の合計値の方がブロックＢ（２，１）の残差符号の符号量よりも大きく、第２階層１３０のブロックＢ（２，１）が選択されている。なお、この図では、選択されたブロックを網掛けで示している。同様に、第３階層１４０のブロックＢ（３，３），Ｂ（３，４）の残差符号の符号量の合計値と、それらの上位階層である第２階層１３０のブロックＢ（２，２）の残差符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、第３階層１４０のブロックＢ（３，３），Ｂ（３，４）が選択されている。さらに、第２,３階層のその他のブロックＢ（２，３）,Ｂ（２，４）,Ｂ（３，５）〜Ｂ（３，８）についても同様な処理を行い、ブロック選択を行う。
【０００６】
次に、選択された第２階層１３０のブロックＢ（２，１）及び第３階層１４０のＢ（３，３），Ｂ（３，４）の残差符号の符号量の合計と、それらの上位階層である第１階層１２０のブロックＢ（１，１）の残差符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、ブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４）が選択されている。また、ブロックＢ（１，２）とその下位ブロック（ブロックＢ（２，３），Ｂ（２，４），Ｂ（３，５）〜Ｂ（３，８）のうち選択されているブロック）についても同様なブロック選択が行われる。この図の例では、第１階層１２０のブロックＢ（１，２）が選択されている。次に、これまで選択されたブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）の残差符号の符号量の合計と、それらの上位階層である第０階層１１０のブロックＢ（０，１）の残差符号の符号量とを比較し、符号量が小さい方を選択する。この図の例では、ブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）が選択されている。そして、このように選択されたブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）に対応する予測係数符号と、残差符号と、ブロックＢ（２，１），Ｂ（３，３），Ｂ（３，４），Ｂ（１，２）を示す選択情報とが、フレーム１００の符号列として出力される。
【非特許文献１】ＩＳＯ／ＩＥＣ  １４４９６−３：２００５／ＡＭＤ２（通称ＭＰＥＧ−４  ＡＬＳ）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このように、従来方法では、複数の階層の全ブロックに対する入力信号の分析をそれぞれ独立に行って各ブロックの残差符号を求め、それらの符号量を比較していた。しかし、この場合、入力信号の分析処理に必要な演算量が非常に大きくなってしまうという問題点があった。
本発明はこのような点に鑑みてなされたものであり、フレームを複数のブロックに階層的に分割して符号化を行う適応ブロック長符号化において、入力信号の分析処理に必要な演算量を削減することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では、まず、入力信号の時間区間であるフレームから、１つ又は複数のブロックにより構成される、複数の階層を生成する（ブロック分割過程）。次に、何れかの階層の１つのブロックからなる分析区間が、当該階層と異なる１以上の階層の複数のブロックで構成される場合に、当該分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号の分析を行って分析情報を生成する（第１分析過程）。そして、分析区間に対応する分析情報を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された分析情報を用いて生成する（第２分析過程）。なお、「分析区間を構成する複数のブロックに対してそれぞれ生成された分析情報」には、第１分析過程で生成された分析情報と、第２分析過程で生成された分析情報と、の少なくとも一方が含まれる。
【０００９】
ここで、本発明では、分析区間に対応する分析情報の生成を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された複数の分析情報を利用して行う。そのため、分析区間に対応する入力信号を分析し、当該分析区間に対応する分析情報を行う場合に比べ、演算量を削減できる。
また、本発明において好ましくは、分析情報は、入力信号の自己相関関数値を含む。そして、上述の第１分析過程は、分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号から自己相関関数値を求める自己相関関数算出過程を具備し、第２分析過程は、分析区間に対応する自己相関関数値を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された自己相関関数値の和によって求める加算過程を具備する。
【００１０】
ここで、分析区間に対応する自己相関関数値は、当該分析区間を構成する複数のブロックに対してそれぞれ生成された複数の自己相関関数値の和で近似できる。また、当該複数の自己相関関数値の和を求めるための演算量は、当該分析区間に対応する自己相関関数値を入力信号から直接求めるための演算量よりも大幅に少ない。これにより、ある程度の分析精度を維持しつつ、大幅に少ない演算量で分析区間に対応する自己相関関数値を求めることができる。
【００１１】
なお、自己相関関数値は、例えば、自己相関法によって、ブロック内の入力信号の線形予測係数を算出する場合に利用される。この場合、予測次数（線形予測係数の次数）の上限をブロック内のサンプル数を基準に制限することがある（例えば、ブロック内のサンプル数の１／８程度に予測次数の上限を制限する）。ここで、分析区間である１つのブロックの長さは、当該分析区間を構成する他の階層の各ブロックの長さよりも長い。そのため、分析区間に対する予測次数の上限は、当該分析区間を構成する他の階層の各ブロックに対する予測次数の上限よりも高い。そして、予測次数は、自己相関法の処理に用いられる自己相関関数値の次数と一致するため、分析区間に対応する自己相関関数値の次数の上限は、当該分析区間を構成する各ブロックに対応する自己相関関数値の次数の上限よりも高い。従って、当該分析区間を構成する各ブロックに対応する自己相関関数値を合計するだけでは、当該分析区間対応する自己相関関数値の次数の上限までの自己相関関数値を得ることができない。よって、この不足する高次の自己相関関数値については、別途、入力信号を用いて生成することが望ましい。
【００１２】
そのため、本発明においてさらに好ましくは、第２分析過程の高次自己相関関数値算出過程において、入力信号を用い、分析区間に対応する、上記加算過程で求めた自己相関関数値よりも高次の自己相関関数値を算出する。
また、上述の第１分析過程で、各ブロック内のみの自己相関を示す自己相関関数値を求めていた場合、それらの和によって近似される分析区間に対応する自己相関関数値には、当該分析区間を構成する複数のブロック間を跨る自己相関項が反映されない。本来、分析区間に対応する自己相関関数値は、分析区間内全体の自己相関を示すものである。よって、このようにして近似された分析区間に対応する自己相関関数値には、誤差が含まれる。そして、このような誤差は、近似された自己相関関数値の和によって、順次、別の階層のブロックの自己相関関数値を近似していく場合にも蓄積される。
【００１３】
よって、本発明において好ましくは、第１分析過程の自己相関関数算出過程において、分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、それぞれのブロック長を拡張した時間区間の入力信号の自己相関関数値を求め、それらを当該各ブロックにそれぞれ対応する入力信号の自己相関関数値とする。この場合、第１分析過程の自己相関関数算出過程で算出される自己相関関数値には、対応するブロック内の自己相関だけではなく、隣のブロックにまで拡張された時間区間の自己相関も反映される。そのため、これらの自己相関関数値の和によって近似される分析区間の自己相関関数値には、当該分析区間を構成するブロックの境界を跨った自己相関項が反映され、上述の誤差が低減される。
【００１４】
また、第２分析過程で、入力信号を用い、分析区間を構成する複数のブロックの境界を跨ぐ自己相関を示す自己相関関数値を求め、これによって上述の誤差分を補ってもよい。すなわち、第２分析過程の境界自己相関関数値算出過程において、分析区間を構成するブロック間を跨る自己相関を示す自己相関関数値を求め、第２分析過程の加算過程において、分析区間に対応する自己相関関数値を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された自己相関関数値と、分析区間を構成するブロック間を跨る自己相関を示す自己相関関数値との和によって求めてもよい。
【００１５】
また、本発明において好ましくは、分析情報は、入力信号に対応するＰＡＲＣＯＲ係数（偏自己相関係数）を含む。この場合、第１分析過程の偏自己相関分析過程において、分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号からＰＡＲＣＯＲ係数を求め、第２分析過程の加算過程において、分析区間に対応するＰＡＲＣＯＲ係数を、当該分析区間を構成する複数のブロックに対してそれぞれ生成されたＰＡＲＣＯＲ係数の和によって求める。
【００１６】
ここで、分析区間に対応するＰＡＲＣＯＲ係数は、当該分析区間を構成する複数のブロックに対してそれぞれ生成された複数のＰＡＲＣＯＲ係数の和で近似できる。また、当該複数のＰＡＲＣＯＲ係数の和を求めるための演算量は、当該分析区間に対応するＰＡＲＣＯＲ係数を入力信号から直接求めるための演算量よりも大幅に少ない。これにより、ある程度の分析精度を維持しつつ、大幅に少ない演算量で分析区間に対応するＰＡＲＣＯＲ係数を求めることができる。なお、近似精度の面からは、分析区間を構成する複数のブロックに対してそれぞれ生成された複数のＰＡＲＣＯＲ係数の重み付け和を、当該分析区間に対応するＰＡＲＣＯＲ係数とすることが望ましい。ここでの重みは、分析区間を構成する複数のブロックにそれぞれ対応する入力信号のエネルギー等を考慮して設定する。例えば、当該各ＰＡＲＣＯＲ係数に与えられる重みの比率と、当該各ＰＡＲＣＯＲ係数にそれぞれ対応する各ブロック内での入力信号のエネルギーの総和の比率とが、単調増加の関係になるように重みを決定することが望ましい。ＰＡＲＣＯＲ係数はエネルギーが反映されない係数であるが、このようにエネルギーに基づいて重みを決定することにより、分析区間に対して算出されるＰＡＲＣＯＲ係数の精度が向上するからである。
【００１７】
また、本発明において好ましくは、分析情報は、ブロック内の入力信号を用いた前向き予測誤差と後ろ向き予測誤差との内積の総和、並びに、当該前向き予測誤差と当該後ろ向き予測誤差とのエネルギーの総和を含む。この場合、第１分析過程の偏自己相関分析過程において、分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号から、当該各ブロックに対応する内積の総和とエネルギーの総和とを求める。また、第２分析過程の加算過程において、分析区間に対応する内積の総和を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された内積の総和の和によって求め、分析区間に対応するエネルギーの総和を、当該分析区間を構成する複数のブロックに対してそれぞれ生成されたエネルギーの総和の和によって求める。
【００１８】
ここで、分析区間に対応する上述の内積の総和は、それぞれ、当該分析区間を構成する複数のブロックに対してそれぞれ生成された上述の内積の総和の和で近似できる。また、分析区間に対応する上述のエネルギーの総和は、それぞれ、当該分析区間を構成する複数のブロックに対してそれぞれ生成された上述のエネルギーの総和の和で近似できる。また、このようにして分析区間に対応する内積の総和やエネルギーの総和を求めるために必要な演算量は、入力信号から直接これらを求めるための演算量よりも大幅に少ない。そして、上述の内積の総和を上述のエネルギーの総和で除算し、定数を乗じると、これらに対応するブロックのＰＡＲＣＯＲ係数が求まる。以上より、この好ましい構成では、ある程度の分析精度を維持しつつ、大幅に少ない演算量で分析区間に対応するＰＡＲＣＯＲ係数を求めることができる。
【発明の効果】
【００１９】
本発明では、分析区間に対応する分析情報の生成を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された複数の分析情報を用いて行うこととした。そのため、フレームを複数のブロックに階層的に分割して符号化を行う適応ブロック長符号化において、入力信号の分析処理に必要な演算量を削減することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
本発明では、入力信号の時間区間であるフレームから、１つ又は複数のブロックにより構成される、複数の階層を生成する。次に、何れかの階層の１つのブロックからなる分析区間が、当該階層と異なる１以上の階層の複数のブロックで構成される場合に、当該分析区間を構成するブロックの組合せの何れかに対応する各ブロックに対し、入力信号の分析を行って分析情報を生成する。そして、分析区間に対応する分析情報を、当該分析区間を構成する複数のブロックに対してそれぞれ生成された分析情報を用いて生成する。これにより、分析区間に対応する入力信号の分析処理量を減らすことができる。
【００２１】
なお、本発明を適用するにあたり、フレームをブロック分割する際の階層数や分割ブロック長には、特に限定はなく、何れか１つ以上の階層の１つのブロックからなる分析区間が、当該階層と異なる１以上の階層の複数のブロックで構成される場合であれば、本発明を適用できる。以下では、代表例として図１３のようにフレームを複数のブロックに分割し、本発明を適用する場合について説明する。
また、入力信号の分析を行って分析情報を求めるブロックについても特に制限はなく、分析区間を構成するブロックの組合せの何れかに対応する各ブロックであればよい。しかし、以下では、図１３の第３階層１４０の各ブロックに対し、入力信号の分析を行ってそれぞれの分析情報を求める場合を例にとって説明する。
【００２２】
さらに、分析区間に対応する分析情報の生成に用いるブロックについても、当該分析区間を構成するブロックであれば特に制限はないが、以下では、分析区間の１つ下の階層（例えば、第２階層に対する第３階層）のブロックに対応する分析情報を用い、分析区間に対応する分析情報を生成する場合を例にとって説明する。
【実施例１】
【００２３】
まず、本発明の実施例１について説明する。
実施例１は、分析情報の１つである自己相関関数値の算出に関し、本発明を適用した例である。実施例１では、分析区間を構成する複数のブロックに対してそれぞれ求めた自己相関関数値の和によって、分析区間の自己相関関数値を近似する。
＜構成＞
図１は、実施例１の適応ブロック長符号化装置１０の構成を示したブロック図である。また、図２（ａ）は、適応ブロック長符号化装置１０の第３階層線形予測分析部１３ａの構成を例示したブロック図であり、（ｂ）は、第２階層線形予測分析部１２ａの構成を例示したブロック図である。
【００２４】
図１に示すように、実施例１の適応ブロック長符号化装置１０は、第０階層１１０のブロックの信号を処理する第０階層線形予測分析部１０ａ及び第０階層符号化部１０ｂと、第１階層１２０のブロックの信号を処理する第１階層線形予測分析部１１ａ及び第１階層符号化部１１ｂと、第２階層１３０のブロックの信号を処理する第２階層線形予測分析部１２ａ及び第２階層符号化部１２ｂと、第３階層１４０のブロックの信号を処理する第３階層線形予測分析部１３ａ及び第３階層符号化部１３ｂと、符号量比較符号選択部１４と、制御部１６と、メモリ１７とブロック分割部１８とを有している。なお、この実施例では、第０階層線形予測分析部１０ａ、第１階層線形予測分析部１１ａ、第２階層線形予測分析部１２ａが、それぞれ「第２分析部」に相当する。また、第３階層線形予測分析部１３ａが、「第１分析部」に相当する。
【００２５】
また、図２（ａ）に例示するように、第３階層線形予測分析部１３ａは、窓関数適用部１３ａａと、自己相関関数値算出部１３ａｂと、線形予測係数算出部１３ａｃとを有している。また、第２階層線形予測分析部１２ａは、加算部１２ａｂと、線形予測係数算出部１２ａｃとを有している。なお、第０階層線形予測分析部１０ａ、第１階層線形予測分析部１１ａの構成は、第２階層線形予測分析部１２ａの構成と同様である。
また、実施例１の適応ブロック長符号化装置１０は、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置等から構成される公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがこのプログラムを実行することにより構成されるものである（以下の各実施例でも同様）。
【００２６】
＜処理＞
図４は、実施例１における自己相関関数値の算出処理を説明するための図である。以下、この図と図１と図２と図１３とを用い、実施例１の適応ブロック長符号化方法を説明する。なお、実施例１の適応ブロック長符号化装置１０は、制御部１６の制御のもと各処理を実行する。また、適応ブロック長符号化装置１０の各処理過程におけるデータは、メモリ１７に逐一読み書きされるが、原則として、以下ではその説明を省略する。さらに、説明する処理の順序はあくまで一例であり、本実施例の趣旨を逸脱しない範囲で適宜変更が可能である。さらには、少なくとも一部の処理を並列的に実行してもよい（以下の各実施例でも同様）。また、適応ブロック長符号化装置１０への入力信号は、所定のサンプリング周波数でサンプリングされた離散的な信号である。また、各処理は、複数サンプルにそれぞれ対応する離散時間（サンプル点）からなる短時間区間であるフレーム毎に実行される。ここで、全サンプルにそれぞれ対応する離散時間からなる短時間区間（例えば、サンプル点数が１０２４点から３２７６８点程度のもの）をフレームとしてもよく、その一部の短時間区間（例えば、サンプル点数が数百点から数千点程度のもの）をフレームとしてもよい。本実施例では、１フレームのサンプル点数をｎとする。また、全サンプル点の一部の短時間区間をフレームとした場合、各処理はフレーム毎に繰り返されることになるが、以下では、１つのフレームの処理のみを説明する（以下の各実施例でも同様）。
【００２７】
［ブロック分割処理］
まず、ｎサンプルからなる１フレーム分の入力信号がブロック分割部１８に入力される。ブロック分割部１８は、このフレームを複数のブロックに階層的にブロック分割する（図１３参照）。そして、ブロック分割部１８は、分割された各ブロックＢ（ｄ，ｕ）に対応するサンプル（入力信号）ｘ（ｄ，ｕ，ｊｄ，ｕ）を特定し、各ブロックＢ（ｄ，ｕ）に対応するサンプルｘ（ｄ，ｕ，ｊｄ，ｕ）を特定するための情報（以下「ブロック特定情報」と呼ぶ）をメモリ１７に格納する。また、入力信号自身もメモリ１７に格納される。なお、ｄはそのブロックの階層を示す値であり、ｄの値が小さいほど上位階層である。（図１３参照）。また、ｕはそのブロックがその階層の何番目のブロックであるかを示す。また、本実施例では「上位階層」や「下位階層」との表現を用いるが、「上位階層」とは、基準とする階層よりもブロック長が長い階層を意味し、「下位階層」とは、基準とする階層よりもブロック長が短い階層を意味する。また、ｊｄ，ｕは、各ブロックＢ（ｄ，ｕ）に属する各サンプルの離散時間（サンプル点）を示し、例えば、図１３のブロックＢ（０，１）の場合、j0,1=1,...,nであり、ブロックＢ（２，２）の場合、j2,2=ｎ2＋1,...,ｎ4である。また、「ブロック分割」とは、フレームに属するサンプルを複数のブロックに分割する処理を意味するが、具体的には、例えば、各ブロックに対応するサンプル点を決定する処理や、各ブロックの開始サンプル点と終了サンプル点と（ブロックの区切り）を決定する処理等を意味する。なお、フレームのブロック分割方法（ブロック長や階層数等）は、予めブロック分割部１８に設定されていてもよいし、入力信号等に応じ、その都度定められてもよい。そして、「ブロック特定情報」としては、例えば、各ブロックの開始サンプル点と終了サンプル点との情報等を例示できる。
【００２８】
［第３階層１４０の処理］
まず、第３階層線形予測分析部１３ａが、メモリ１７からブロック特定情報を読み込み、第３階層１４０のブロックＢ（３，１）を特定し、ブロックＢ（３，１）に対応するサンプルx（３，１，ｊ３，１）(j3,1=1,...,n1)をメモリ１７から読み込む。そして、第３階層線形予測分析部１３ａの窓関数適用部１３ａａは、読み込んだサンプルx（３，１，ｊ３，１）に対し、時間長が有限である窓関数（例えば、ハミング窓）を乗じ、サンプルx’（３，１，ｊ３，１）を生成する。なお、ここでの窓関数の窓幅は、ブロックＢ（３，１）の時間長と同一である。サンプルx’（３，１，ｊ３，１）は、次に、自己相関関数値算出部１３ａｂに入力され、自己相関関数値算出部１３ａｂは、サンプルx’（３，１，ｊ３，１）の第３階層自己相関関数値ｒτ（３，１）を、例えば、以下の式に従い、次数ｐ３まで（τ∈{1,...,p3}）求める。
【００２９】
【数１】
0004658853.tif 000002
算出された第３階層自己相関関数値ｒτ（３，１）は、ブロックＢ（３，１）に関連付けられてメモリ１７に格納される。次に、線形予測係数算出部１３ａｃが、当該第３階層自己相関関数値ｒτ（３，１）をメモリ１７から読み込み、例えば、読み込んだ当該第３階層自己相関関数値ｒτ（３，１）によって構成されるユール・ウォーカー（Yule-Walker）方程式を解くことによって、ブロックＢ（３，１）に対応する線形予測係数を算出する（例えば、“守谷健弘著、「音声符号化」、社団法人  電子情報通信学会、ＩＳＢＮ４−８８５５２−１５６−４”や“古井貞煕著、「音響・音声工学」、株式会社  近代科学社、ＩＳＢＮ４−７６４９−０１９６−Ｘ”等参照）。その後、第３階層１４０のその他のブロックＢ（３，２）〜Ｂ（３，８）に対しても同様の処理が行われる。
【００３０】
［第２階層１３０の処理］
次に、第２階層線形予測分析部１２ａが、第３階層線形予測分析部１３ａで各ブロックに対して生成された第３階層自己相関関数値を用い、第２階層１３０の各ブロック（「分析区間」に相当）に対応する第２階層自己相関関数値を算出する（図４参照）。
まず、第２階層線形予測分析部１２ａの加算部１２ａｂが、ブロックＢ（３，１），Ｂ（３，２）にそれぞれ対応する第３階層自己相関関数値ｒτ（３，１），ｒτ（３，２）をメモリ１７から読み込む。そして、加算部１２ａｂは、これらの合計値を、ブロックＢ（３，１），Ｂ（３，２）によって構成される第２階層１３０のブロックＢ（２，１）（図１３参照）の第２階層自己相関関数値ｒτ（２，１）として算出する。すなわち、
rτ(2,1)= rτ(3,1)+ rτ(3,2)   …(2)
とする。算出された第２階層自己相関関数値ｒτ（２，１）は、対応するブロックＢ（２，１）に関連付けられてメモリ１７に格納される。その後、第２階層１３０の他のブロックＢ（２，２）〜Ｂ（２，４）についても同様に、加算部１２ａｂが、対応する第３階層自己相関関数値の和を求め、第２階層自己相関関数値を生成し、各ブロックに関連付けてメモリ１７に格納する。
【００３１】
その後、線形予測係数算出部１２ａｃが、第２階層１３０の各ブロックに対応する第２階層自己相関関数値をメモリ１７から読み込み、それぞれに対応する線形予測係数を算出し、各ブロックに関連付けてメモリ１７に格納する。
【００３２】
［第１階層１２０の処理］
次に、第１階層線形予測分析部１１ａが、第２階層線形予測分析部１２ａで各ブロックに対して生成された第２階層自己相関関数値を用い、第１階層１２０の各ブロック（「分析区間」に相当）に対応する第１階層自己相関関数値を算出する（図４参照）。なお、この算出手順は、上述の第２階層１３０の処理と同様であるため説明を省略する。その後、生成された各第１階層自己相関関数値から線形予測係数がそれぞれ算出され、算出された各線形予測係数は、対応するブロックに関連付けられてメモリ１７に格納される。
【００３３】
［第０階層１１０の処理］
次に、第０階層線形予測分析部１０ａが、第１階層線形予測分析部１１ａで各ブロックに対して生成された第１階層自己相関関数値を用い、第０階層１１０のブロックＢ（０，１）（「分析区間」に相当）に対応する第０階層自己相関関数値を算出する（図４参照）。なお、この算出手順は、上述の第２階層１３０の処理と同様であるため説明を省略する。その後、生成された第０階層自己相関関数値から線形予測係数が算出され、算出された線形予測係数は、対応するブロックに関連付けられてメモリ１７に格納される。
【００３４】
［第０〜３階層符号化部１０ｂ〜１３ｂの処理］
その後、第０〜３階層符号化部１０ｂ〜１３ｂが、上述のように各階層の各ブロックに対して生成された線形予測係数をそれぞれ読み込み、従来と同様、線形予測係数の量子化及び符号化、短期予測フィルタによる線形予測残差信号算出、（必要に応じて、線形予測残差信号の長期予測分析、長期予測フィルタによる長期予測残差信号算出）、及び残差符号化を独立に実行して、ブロック毎の残差符号を算出し、それらの符号量を計算する。
【００３５】
［符号量比較符号選択部１４の処理］
次に、符号量比較符号選択部１４が、上述のように算出された各符号量を比較し、フレーム１００を構成するブロックの組合せであって、各ブロックにそれぞれ対応する符号量のフレーム１００内での合計が最小となるものを選択する。そして、符号量比較
符号選択部１４は、選択したブロックに対応する残差符号と、線形予測係数符号と、選択した各ブロックを示す選択情報とを、符号列として出力する。
【００３６】
＜実施例１の特徴＞
実施例１では、まず、入力信号を用い、第３階層の各ブロックに対して第３階層自己相関関数値を生成する。そして、第Ｌ階層（Ｌ∈｛０，...，２｝）の各ブロック（「分析区間」に相当）に対応する第Ｌ階層自己相関関数値を、当該ブロックを構成する第Ｌ＋１階層の複数のブロックに対してそれぞれ生成された複数の第Ｌ＋１階層自己相関関数値の合計によって再帰的に算出する。これにより、ある程度の分析精度を維持しつつ、第０〜２階層での分析処理量を大幅に低減させることができる。
【００３７】
＜実施例１の変形例１＞
次に、実施例１の変形例１について説明する。前述のようにブロック長を基準に次数が制限されている場合、第Ｌ＋１階層の複数のブロックに対してそれぞれ生成された複数の自己相関関数値を合計するだけでは、第Ｌ階層のブロックに対応する自己相関関数値の次数の上限までの自己相関関数値を得ることができない。実施例１の変形例１では、入力信号を用いて高次の自己相関関数値を生成し、第Ｌ階層で不足する次数分の自己相関関数値を補う。
【００３８】
この変形例１の場合、第３階層１４０に対応する処理は実施例１と同じである。また、変形例１の第０〜第２階層にそれぞれ対応する処理は互いに同様である。以下では、変形例１の第２階層１３０に対応する処理のみを説明する。
図３（ａ）は、実施例１の変形例１の第２階層線形予測分析部１２ａの構成を例示したブロック図である。まず、実施例１で説明したように、第２階層線形予測分析部１２ａの加算部１２ａｂが、第３階層１４０の複数のブロックにそれぞれ対応する第３階層自己相関関数値を加算し、その加算値を第２階層１３０のブロックに対応する第２階層自己相関関数値とする。ここで、第３階層自己相関関数値の次数はｐ３であり、第２階層自己相関関数値の次数の上限値ｐ２よりも小さい。そのため、この加算によって得られる第２階層自己相関関数値は次数ｐ３までであり、次数ｐ３＋１からｐ２までの第２階層自己相関関数値は得られない。この不足分を得るため、まず、第２階層線形予測分析部１２ａが、この不足分の第２階層自己相関関数値を算出するブロックに対応するサンプルをメモリ１７から読み込む。そして、第２階層線形予測分析部１２ａの窓関数適用部１２ａａは、読み込んだサンプルに対して時間長が有限である窓関数を乗じ、さらに、高次自己相関関数値算出部１２ａｄが、当該窓関数が乗じられたサンプルの第２階層自己相関関数値を、前述の式（１）と同様な式に従って算出する。但し、その次数はｐ３＋１からｐ２まで（τ∈{p3+1,...,p2}）である。
【００３９】
以上の処理により、次数１からｐ２までの第２階層自己相関関数値が得られる。そして、これらの第２階層自己相関関数値は、線形予測係数算出部１２ａｃでの処理に用いられると共に、第１階層１２０のブロックに対応する第１階層自己相関関数値の生成に用いられる。その後、他の上位階層に対し、同様に高次の自己相関関数値を求めてもよい。
【００４０】
＜実施例１の変形例２＞
次に、実施例１の変形例２について説明する。前述のように、第３階層１４０の各ブロックに対し、ブロック内のみの第３階層自己相関関数値を求めていた場合、それらの和によって近似される第２階層１３０のブロックに対応する第２階層自己相関関数値には、第３階層１４０の各ブロックを跨る自己相関項が反映されない。これは、このように近似された第２階層自己相関関数値の誤差となる。同様な問題は、上位階層へも引き継がれ、第１階層１２０、第０階層１１０となるに従い、各階層の自己相関関数値に同様な誤差が蓄積されていく。
【００４１】
実施例１の変形例２では、第３階層１４０の各ブロックに対し、それぞれのブロック長を拡張した時間区間の入力信号に対する第３階層自己相関関数値を求める。この場合、第３階層１４０の各ブロックに対応する第３階層自己相関関数値に、当該ブロックの隣のブロックとを跨る自己相関項が反映される。その結果、上位階層の自己相関関数値に対する上述した誤差が低減される。以下、実施例１の変形例２における、第３階層自己相関関数値の算出処理例をブロックＢ（３，１）を例にとって具体的に説明する。
【００４２】
まず、第３階層線形予測分析部１３ａ（図１，図２参照）が、メモリ１７からブロック特定情報を読み込み、第３階層１４０のブロックＢ（３，１）を特定し、ブロックＢ（３，１）の時間長を拡張したサンプルx（３，１，ｊ３，１）(j3,1=1,...,n1+p3)をメモリ１７から読み込む。そして、第３階層線形予測分析部１３ａの窓関数適用部１３ａａは、読み込んだサンプルx（３，１，ｊ３，１）に対し、時間長が有限である窓関数を乗じ、サンプルx’（３，１，ｊ３，１）を生成する。なお、ここでの窓関数は、j3,1=1,...,n1+p3以外に対応するサンプルの振幅を０にするものである。サンプルx’（３，１，ｊ３，１）は、次に、自己相関関数値算出部１３ａｂに入力され、自己相関関数値算出部１３ａｂは、サンプルx’（３，１，ｊ３，１）の第３階層自己相関関数値ｒτ（３，１）を、例えば、以下の式に従い、次数ｐ３まで求める（τ∈{1,...,p3}）。
【数２】
0004658853.tif 000003
【００４３】
このように算出された第３階層自己相関関数値ｒτ（３，１）には、ブロックＢ（３，１）とブロックＢ（３，２）とを跨る自己相関も反映されている。その結果、ブロックＢ（３，１），Ｂ（３，２）にそれぞれ対応する第３階層自己相関関数値ｒτ（３，１），ｒτ（３，２）の和によって算出される、ブロックＢ（２，１）の第２階層自己相関関数値ｒτ（２，１）の誤差が軽減される。なお、ブロックの時間長の拡張方向及び拡張幅は上述のものに限定されず、時間長を後ろ向き方向に拡張したり、前向きと後ろ向きの両方に拡張したりしてもよい。しかし、同一方向に時間長を拡張することに統一しておいたほうが、より良い近似ができる。
【００４４】
＜実施例１の変形例３＞
次に、実施例１の変形例３について説明する。変形例３も上述の変形例２と同様な誤差の問題を解決するためのものである。変形例３では、第Ｌ階層（Ｌ∈｛０，...，２｝）のブロックに対応する自己相関関数値を生成する際に、当該ブロックを構成する第Ｌ＋１階層のブロック間を跨る自己相関項を加算する。
この変形例３の場合、第３階層１４０に対応する処理は実施例１と同じである。また、変形例３の第０〜第２階層にそれぞれ対応する処理は互いに同様である。以下では、変形例３の第２階層１３０に対応する処理のみを説明する。
【００４５】
図３（ｂ）は、実施例１の変形例３の第２階層線形予測分析部１２ａの構成を例示したブロック図である。まず、実施例１で説明したように、第２階層線形予測分析部１２ａの加算部１２ａｂが、第３階層１４０の複数のブロックにそれぞれ対応する第３階層自己相関関数値を加算し、その加算値を第２階層１３０のブロックに対応する第２階層自己相関関数値とする。ここで、この第２階層自己相関関数値には、第３階層１４０の複数のブロック間を跨る自己相関項が反映されていない。そのため、まず、第２階層線形予測分析部１２ａが、第２階層１３０のブロックを構成する、第３階層１４０の複数のブロック境界付近のサンプルをメモリ１７から読み込む。そして、第２階層線形予測分析部１２ａの窓関数適用部１２ａａは、読み込んだサンプルに対して時間長が有限である窓関数を乗じ、さらに、境界自己相関関数値算出部１２ａｅが、当該窓関数が乗じられたサンプルの自己相関関数値を算出する。そして、加算部１２ａｂが、この自己相関関数値と、３階層１４０の複数のブロックにそれぞれ対応する第３階層自己相関関数値とを加算し、第２階層自己相関関数値を算出する。
【００４６】
具体的には、例えば、第３階層１４０のブロックＢ（３，１），Ｂ（３，２）にそれぞれ対応する第３階層自己相関関数値ｒτ（３，１），ｒτ（３，２）が、
【数３】
0004658853.tif 000004
を算出する。なお、ｘ’（ｔ），ｘ’（ｔ＋τ）は、それぞれ、離散時刻ｔ，ｔ＋τに対応するサンプル（入力信号）に時間長が有限である窓関数を乗じた値である。そして、加算部１２ａｂは、
rτ(2,1)= rτ(3,1)+rτ(3,2)+rτ'(2,1)  …(7)
によって第２階層１３０のブロックＢ（２，１）に対応する第２階層自己相関関数値ｒτ（２，１）を算出する。なお、境界自己相関関数値算出部１２ａｅが算出する自己相関関数値は上述のものに限定されない。また、実施例１の変形例２と変形例３とを組み合わせてもよい。
【実施例２】
【００４７】
次に、本発明の実施例２について説明する。
実施例２は、分析情報の１つであるＰＡＲＣＯＲ係数の算出に関し、本発明を適用した例である。実施例２では、分析区間を構成する複数のブロックに対してそれぞれ求めたＰＡＲＣＯＲ係数の和によって、分析区間の自己相関関数値を近似する。なお、以下では、実施例１との相違点を中心に説明し、実施例１で既に説明した事項については説明を簡略化する。
【００４８】
＜構成＞
図５は、実施例２の適応ブロック長符号化装置２０の構成を示したブロック図である。また、図６（ａ）は、適応ブロック長符号化装置２０の第３階層線形予測分析部２３ａの構成を例示したブロック図であり、（ｂ）は、第２階層線形予測分析部２２ａの構成を例示したブロック図である。
【００４９】
図５に示すように、実施例２の適応ブロック長符号化装置２０は、第０階層１１０のブロックの信号を処理する第０階層線形予測分析部２０ａ及び第０階層符号化部１０ｂと、第１階層１２０のブロックの信号を処理する第１階層線形予測分析部２１ａ及び第１階層符号化部１１ｂと、第２階層１３０のブロックの信号を処理する第２階層線形予測分析部２２ａ及び第２階層符号化部１２ｂと、第３階層１４０のブロックの信号を処理する第３階層線形予測分析部１３ａ及び第３階層符号化部１３ｂと、符号量比較符号選択部１４と、制御部１６と、メモリ１７とブロック分割部１８とを有している。なお、この実施例では、第０階層線形予測分析部２０ａ、第１階層線形予測分析部２１ａ、第２階層線形予測分析部２２ａが、それぞれ「第２分析部」に相当する。また、第３階層線形予測分析部２３ａが、「第１分析部」に相当する。
【００５０】
また、図６（ａ）に例示するように、第３階層線形予測分析部２３ａは、偏自己相関分析部２３ａａと、線形予測係数算出部２３ａｂとを有している。また、第２階層線形予測分析部２２ａは、加算部２２ａａと、線形予測係数算出部２２ａｂと、重み算出部２２ａｃとを有している。なお、第０階層線形予測分析部２０ａ及び第１階層線形予測分析部２１ａの構成は、第２階層線形予測分析部１２ａの構成と同様である。
【００５１】
＜処理＞
図７は、実施例２におけるＰＡＲＣＯＲ係数の算出処理を説明するための図である。以下、この図と図５と図６と図１３とを用い、実施例２の適応ブロック長符号化方法を説明する。
【００５２】
［ブロック分割処理］
実施例１と同じである。
［第３階層１４０の処理］
まず、第３階層線形予測分析部２３ａが、メモリ１７からブロック特定情報を読み込み、第３階層１４０のブロックＢ（３，１）を特定し、ブロックＢ（３，１）に対応するサンプルx（３，１，ｊ３，１）(j3,1=1,...,n1)をメモリ１７から読み込む。そして、第３階層線形予測分析部２３ａの偏自己相関分析部２３ａａが、入力されたサンプルx（３，１，ｊ３，１）からブロックＢ（３，１）に対応する第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）（ｍはＰＡＲＣＯＲ係数の次数）を算出する。なお、この第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）の算出には、例えば、バーグ（Burg）法等の公知のアルゴリズムを用いる。また、算出された第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）は、対応するブロックＢ（３，１）に関連付けられ、メモリ１７に格納される。
【００５３】
次に、線形予測係数算出部２３ａｂが、第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）をメモリ１７から読み込み、読み込んだ第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）からブロックＢ（３，１）に対応する線形予測係数を算出する。なお、ＰＡＲＣＯＲ係数と線形予測係数とは等価なパラメータであり、それらの関係や変換方法も公知である。
その後、第３階層１４０のその他のブロックＢ（３，２）〜Ｂ（３，８）に対して、ブロックＢ（１，２）と同様な処理が行われる。
【００５４】
［第２階層１３０の処理］
次に、第２階層線形予測分析部２２ａが、第３階層線形予測分析部２３ａで各ブロックに対して生成された第３階層ＰＡＲＣＯＲ係数を用い、第２階層１３０の各ブロック（「分析区間」に相当）に対応する第２階層ＰＡＲＣＯＲ係数を算出する（図７参照）。
ブロックＢ（２，１）を分析区間とする場合、まず、第２階層線形予測分析部２２ａの重み算出部２２ａｃが、メモリ１７のブロック特定情報を参照し、ブロックＢ（２，１）を構成するブロックＢ（３，１），Ｂ（３，２）にそれぞれ対応するサンプルx（３，１，ｊ３，１）(j3,1=1,...,n1)，x（３，２，ｊ３，２）(j3,2=n1+1,...,n2)をメモリ１７から読み込む。そして、重み算出部２２ａｃは、ブロックＢ（３，１）内におけるサンプルx（３，１，ｊ３，１）のエネルギーの合計値Ｅ（３，１）と、ブロックＢ（３，２）内におけるサンプルx（３，２，ｊ３，２）のエネルギーの合計値Ｅ（３，２）とを求める。なお、サンプルのエネルギーとは、サンプルの振幅の２乗値を意味する。さらに、重み算出部２２ａｃは、例えば以下の式によって、重みω１（２，１），ω２（２，１）を算出し、これらをブロックＢ（２，１）に関連付けてメモリ１７に格納する。
ω1(2,1)={E(3,1)/{E(3,1)+E(3,2)}}1/2    …(8)
ω2(2,1)={E(3,2)/{E(3,1)+E(3,2)}}1/2    …(9)
【００５５】
次に、加算部２２ａａが、ブロックＢ（３，１），Ｂ（３，２）にそれぞれ対応する第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１），ｋｍ，ｍ（３，２）と、ブロックＢ（２，１）に対応する重みω１（２，１），ω２（２，１）とを読み込む。そして、加算部２２ａａは、以下の式によってブロックＢ（２，１）に対応する第２階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（２，１）を算出する（図７参照）。
km,m(2,1)=ω1(2,1)・km,m(3,1)+ω2(2,1)・km,m(3,2)   …(10)
【００５６】
算出されたブロックＢ（２，１）に対応する第２階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（２，１）は、対応するブロックＢ（２，１）に関連付けられてメモリ１７に格納される。
その後、第２階層１３０の他のブロックＢ（２，２）〜Ｂ（２，４）についても同様に、重み算出部２２ａｃが重みを算出し、加算部１２ａｂが対応する第３階層ＰＡＲＣＯＲ係数の重み付け和を求め、第２階層ＰＡＲＣＯＲ係数を生成し、各ブロックに関連付けてメモリ１７に格納する。
そして、線形予測係数算出部２２ａｂが、メモリ１７から各ブロックに対応する第２階層ＰＡＲＣＯＲ係数を読み込み、これらから各ブロックにそれぞれ対応する線形予測係数を算出する。
【００５７】
［第１階層１２０の処理］
次に、第１階層線形予測分析部２１ａが、第２階層線形予測分析部２２ａで各ブロックに対して生成された第２階層ＰＡＲＣＯＲ係数を用い、第１階層１２０の各ブロック（「分析区間」に相当）に対応する第１階層ＰＡＲＣＯＲ係数を算出する（図７参照）。なお、この算出手順は、上述の第２階層１３０の処理と同様であるため説明を省略する。その後、生成された各第１階層ＰＡＲＣＯＲ係数から線形予測係数がそれぞれ算出され、算出された各線形予測係数は、対応するブロックに関連付けられてメモリ１７に格納される。
【００５８】
［第０階層１１０の処理］
次に、第０階層線形予測分析部２０ａが、第１階層線形予測分析部２１ａで各ブロックに対して生成された第１階層自己相関関数値を用い、第０階層１１０のブロックＢ（０，１）（「分析区間」に相当）に対応する第０階層ＰＡＲＣＯＲ係数を算出する（図７参照）。なお、この算出手順は、上述の第２階層１３０の処理と同様であるため説明を省略する。その後、生成された第０階層ＰＡＲＣＯＲ係数から線形予測係数が算出され、算出された線形予測係数は、対応するブロックに関連付けられてメモリ１７に格納される。
［第０〜３階層符号化部１０ｂ〜１３ｂの処理・符号量比較符号選択部１４の処理］
これらの処理は実施例１と同じであるため説明を省略する。
【００５９】
＜実施例２の特徴＞
実施例２では、まず、入力信号を用い、第３階層の各ブロックに対して第３階層ＰＡＲＣＯＲ係数を生成する。そして、第Ｌ階層（Ｌ∈｛０，...，２｝）の各ブロック（「分析区間」に相当）に対応する第Ｌ階層ＰＡＲＣＯＲ係数を、当該ブロックを構成する第Ｌ＋１階層の複数のブロックに対してそれぞれ生成された、複数の第Ｌ＋１階層ＰＡＲＣＯＲ係数の重み付け和によって再帰的に算出する。これにより、ある程度の分析精度を維持しつつ、第０〜２階層での分析処理量を大幅に低減させることができる。
【００６０】
また、実施例２では、第Ｌ＋１階層の各ブロックのエネルギーに対応する重みを付けて各第Ｌ＋１階層ＰＡＲＣＯＲ係数を加算し、第Ｌ階層ＰＡＲＣＯＲ係数を算出した。ＰＡＲＣＯＲ係数はサンプルのエネルギーが反映されない係数である。このようにエネルギーに対応する重みを付けて加算を行うことにより、算出される第Ｌ階層ＰＡＲＣＯＲ係数の精度が向上する。
【００６１】
＜実施例２の変形例１＞
実施例２では、分析区間に対応するＰＡＲＣＯＲ係数を、当該分析区間を構成する複数のブロックに対してそれぞれ生成されたＰＡＲＣＯＲ係数の重み付け和によって求めることとした。しかし、分析区間に対応するＰＡＲＣＯＲ係数を、当該分析区間を構成する複数のブロックに対してそれぞれ生成されたＰＡＲＣＯＲ係数を単純に加算して求めてもよい。この場合、算出されるＰＡＲＣＯＲ係数の精度は落ちるが、分析に必要な処理量は低減できる。
【００６２】
＜実施例２の変形例２＞
実施例２及び実施例２の変形例１では、各階層において、図６に示したような構成の線形予測係数算出部でＰＡＲＣＯＲ係数から線形予測係数を求め、図１２に示したような線形予測係数符号化部で線形予測係数から量子化線形予測係数と線形予測係数符号とを求めていた。これに対し、実施例２の変形例２では、各階層でＰＡＲＣＯＲ係数を量子化して量子化ＰＡＲＣＯＲ係数を生成し、線形予測係数符号の代わりにＰＡＲＣＯＲ係数符号を生成・出力する構成である。具体的には、例えば、下記の２つの形態が挙げられる。
【００６３】
形態１：
形態１では、図６（ａ）の第３階層線形予測分析部２３ａの代わりに図１４（ａ）の第３階層線形予測分析部２２３ａを用い、図６（ｂ）の第２階層線形予測分析部２２ａの代わりに図１４（ｂ）の第２階層線形予測分析部２２２ａを用い、第０，１階層線形予測分析部２０ａ，２１ａとして、図１４（ｂ）の第２階層線形予測分析部２２２ａと同様な構成のものを用いる。また、第０〜３階層符号化部１０ｂ〜１３ｂの代わりに、それぞれ図１６の符号化部２４０を用いる。
【００６４】
この場合、第３階層では、第３階層線形予測分析部２２３ａの偏自己相関分析部２２３ａａが、実施例２と同様に、第３階層ＰＡＲＣＯＲ係数を求める。次に、ＰＡＲＣＯＲ係数量子化部２２３ａｃが、この第３階層ＰＡＲＣＯＲ係数を量子化した第３階層量子化ＰＡＲＣＯＲ係数を生成し、さらに第３階層量子化ＰＡＲＣＯＲ係数を符号化したＰＡＲＣＯＲ係数符号を生成する。さらに、線形予測係数算出部２２３ａｂが、第３階層量子化ＰＡＲＣＯＲ係数を量子化線形予測係数に変換する。このように生成された各ブロックのＰＡＲＣＯＲ係数符号と量子化線形予測係数とは、対応するブロックの入力信号とともに、図１６に示す符号化部２４０に入力される。
【００６５】
また、第２階層では、第３階層の複数のブロックに対応する入力信号と第３階層ＰＡＲＣＯＲ係数とがそれぞれ入力され、実施例２と同様に、重み算出部２２２ａｃが各ブロックに対応する重み係数を算出し、加算部２２２ａａが、これらの重み係数を用い、各ブロックに対応する第３階層ＰＡＲＣＯＲ係数を重み付け加算して、第２階層のブロックに対応する第２階層ＰＡＲＣＯＲ係数を生成する。そして、ＰＡＲＣＯＲ係数量子化部２２２ａｄが、この第２階層ＰＡＲＣＯＲ係数を量子化した第２階層量子化ＰＡＲＣＯＲ係数を生成し、さらに第２階層量子化ＰＡＲＣＯＲ係数を符号化したＰＡＲＣＯＲ係数符号を生成する。さらに、線形予測係数算出部２２２ａｂが、第２階層量子化ＰＡＲＣＯＲ係数を量子化線形予測係数に変換する。このように生成された各ブロックのＰＡＲＣＯＲ係数符号と量子化線形予測係数とは、対応するブロックの入力信号とともに、図１６に示す符号化部２４０に入力される。
【００６６】
そして、第１階層、第０階層でも順次第２階層と同様な処理が実行される。また、符号化部２４０は、各階層各ブロック毎に、線形予測フィルタ部２４２での入力信号の量子化線形予測係数を用いたフィルタリングによる線形予測残差信号の算出、（必要に応じ、長期予測分析部２４３での線形予測残差信号の長期予測分析、長期予測係数符号化部２４４での長期予測遅延量及び長期予測ゲインの量子化と符号化、長期予測フィルタ部２４５での長期予測残差信号算出）及びその符号化を独立に実行し、ブロック毎の残差符号を算出する。そして、出力部２４７が、これらの各ＰＡＲＣＯＲ係数符号、（算出された場合には、長期予測係数符号）及び残差符号を出力する。
【００６７】
形態２：
形態２では、各階層で算出された量子化ＰＡＲＣＯＲ係数を他の階層のＰＡＲＣＯＲ係数の生成に流用する。すなわち、形態２では、図６（ａ）の第３階層線形予測分析部２３ａの代わりに図１５（ａ）の第３階層線形予測分析部２２３ａを用い、図６（ｂ）の第２階層線形予測分析部２２ａの代わりに図１５（ｂ）の第２階層線形予測分析部２２２ａを用い、第０，１階層線形予測分析部２０ａ，２１ａとして、図１５（ｂ）の第２階層線形予測分析部２２２ａと同様な構成のものを用いる。また、第０〜３階層符号化部１０ｂ〜１３ｂの代わりに、それぞれ図１６の符号化部２４０を用いる。
【００６８】
この場合、第３階層では、第３階層線形予測分析部２２３ａの偏自己相関分析部２２３ａａが、実施例２と同様に、第３階層ＰＡＲＣＯＲ係数を求める。次に、ＰＡＲＣＯＲ係数量子化部２２３ａｃが、この第３階層ＰＡＲＣＯＲ係数を量子化した第３階層量子化ＰＡＲＣＯＲ係数を生成し、さらに第３階層量子化ＰＡＲＣＯＲ係数を符号化したＰＡＲＣＯＲ係数符号を生成する。さらに、線形予測係数算出部２２３ａｂが、第３階層量子化ＰＡＲＣＯＲ係数を量子化線形予測係数に変換する。このように生成された各ブロックのＰＡＲＣＯＲ係数符号と量子化線形予測係数とは、対応するブロックの入力信号とともに、図１６に示す符号化部２４０に入力される。
【００６９】
また、第２階層では、第３階層の複数のブロックに対応する入力信号と第３階層量子化ＰＡＲＣＯＲ係数とがそれぞれ入力され、実施例２と同様に、重み算出部２２２ａｃが各ブロックに対応する重み係数を算出し、加算部２２２ａａが、これらの重み係数を用い、各ブロックに対応する第３階層量子化ＰＡＲＣＯＲ係数を重み付け加算して、第２階層のブロックに対応する第２階層ＰＡＲＣＯＲ係数を生成する。そして、ＰＡＲＣＯＲ係数量子化部２２２ａｄが、この第２階層ＰＡＲＣＯＲ係数を量子化した第２階層量子化ＰＡＲＣＯＲ係数を生成し、さらに第２階層量子化ＰＡＲＣＯＲ係数を符号化したＰＡＲＣＯＲ係数符号を生成する。さらに、線形予測係数算出部２２２ａｂが、第２階層量子化ＰＡＲＣＯＲ係数を量子化線形予測係数に変換する。このように生成された各ブロックのＰＡＲＣＯＲ係数符号と量子化線形予測係数とは、対応するブロックの入力信号とともに、図１６に示す符号化部２４０に入力される。そして、第１階層、第０階層でも順次第２階層と同様な処理が実行され、符号化部２４０で形態１と同じ処理が実行される。
【００７０】
要は、量子化済の線形予測係数が線形予測フィルタ部に伝えられ、線形予測係数又は線形予測係数と等価な係数の符号が出力部に伝えられる構成であれば、どのような構成であってもよい。この点、以下の実施例３でも同様である。
【実施例３】
【００７１】
次に、本発明の実施例３について説明する。
実施例３も、実施例２と同様、分析情報の１つであるＰＡＲＣＯＲ係数の算出に関し、本発明を適用した例である。各ブロックのＰＡＲＣＯＲ係数は、当該ブロック内の入力信号を用いた前向き予測誤差と後ろ向き予測誤差との内積の総和を、当該前向き予測誤差と当該後ろ向き予測誤差とのエネルギーの総和で割ったものに比例する。実施例３では、分析区間を構成する複数のブロックに対してそれぞれ求められた「前向き予測誤差と後ろ向き予測誤差との内積の総和」の和によって、「当該分析区間の前向き予測誤差と後ろ向き予測誤差との内積の総和」を近似し、分析区間を構成する複数のブロックに対してそれぞれ求められた「前向き予測誤差と後ろ向き予測誤差とのエネルギーの総和」の和によって、「当該分析区間の前向き予測誤差と後ろ向き予測誤差とのエネルギーの総和」を近似する。そして、これらの近似値を用いることにより、分析区間に対応するＰＡＲＣＯＲ係数を算出し、演算量を削減する。なお、以下では、上述の実施例との相違点を中心に説明し、これまで説明した実施例で既に説明した事項については説明を簡略化する。
【００７２】
＜構成＞
図８は、実施例３の適応ブロック長符号化装置３０の構成を示したブロック図である。また、図９（ａ）は、適応ブロック長符号化装置３０の第３階層線形予測分析部３３ａの構成を例示したブロック図であり、（ｂ）は、第２階層線形予測分析部３２ａの構成を例示したブロック図である。
図８に示すように、実施例３の適応ブロック長符号化装置３０は、第０階層１１０のブロックの信号を処理する第０階層線形予測分析部３０ａ及び第０階層符号化部１０ｂと、第１階層１２０のブロックの信号を処理する第１階層線形予測分析部３１ａ及び第１階層符号化部１１ｂと、第２階層１３０のブロックの信号を処理する第２階層線形予測分析部３２ａ及び第２階層符号化部１２ｂと、第３階層１４０のブロックの信号を処理する第３階層線形予測分析部３３ａ及び第３階層符号化部１３ｂと、符号量比較符号選択部１４と、制御部１６と、メモリ１７とブロック分割部１８とを有している。なお、この実施例では、第０階層線形予測分析部３０ａ、第１階層線形予測分析部３１ａ、第２階層線形予測分析部３２ａが、それぞれ「第２分析部」に相当する。また、第３階層線形予測分析部３３ａが、「第１分析部」に相当する。
【００７３】
また、図９（ａ）に例示するように、第３階層線形予測分析部３３ａは、偏自己相関分析部３３ａａと、線形予測係数算出部３３ａｂとを有している。また、第２階層線形予測分析部３２ａは、加算部３２ａａと、除算部３２ａｂと、乗算部３２ａｃと、線形予測係数算出部３２ａｄとを有している。なお、第０階層線形予測分析部３０ａ及び第１階層線形予測分析部３１ａの構成は、第２階層線形予測分析部３２ａの構成と同様である。
【００７４】
＜処理＞
図１０は、実施例３におけるＰＡＲＣＯＲ係数の算出処理を説明するための図である。以下、この図と図８と図９と図１３とを用い、実施例３の適応ブロック長符号化方法を説明する。
【００７５】
［ブロック分割処理］
実施例１と同じである。
［第３階層１４０の処理］
まず、第３階層線形予測分析部３３ａが、メモリ１７からブロック特定情報を読み込み、第３階層１４０のブロックＢ（３，１）を特定し、ブロックＢ（３，１）に対応するサンプルx（３，１，ｊ３，１）(j3,1=1,...,n1)をメモリ１７から読み込む。そして、第３階層線形予測分析部３３ａの偏自己相関分析部３３ａａが、入力されたサンプルx（３，１，ｊ３，１）からブロックＢ（３，１）に対応する、第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）（ｍはＰＡＲＣＯＲ係数の次数）と、前向き予測誤差ｂ’ｍ，ｉ（３，１）（ｉ∈｛１，...，n1-m｝）と、後ろ向き予測誤差ｂｍ，ｉ（３，１）とを算出する。ここで、前向き予測誤差ｂ’ｍ，ｉ（３，１）は、サンプルx（３，１，ｊ）（ｊ∈｛ｉ，...，ｉ＋ｍ｝）を用い、サンプルx（３，１，ｉ＋ｍ＋１）を線形予測したときの線形予測誤差を示す。また、後ろ向き予測誤差ｂｍ，ｉ（３，１）は、サンプルx（３，１，ｊ）（ｊ∈｛ｉ，...，ｉ＋ｍ｝）を用い、サンプルx（３，１，ｉ−１）を線形予測したときの線形予測誤差を示す。また、これらの値の算出は、例えば、バーグ（Burg）法等の公知の方法を用いる。バーグ（Burg）法を用いる場合には、以下の漸化式を用い、ｍを１から順に１つずつ増加させつつ再帰的に、必要な次数ｍまでの第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）と、前向き予測誤差ｂ’ｍ，ｉ（３，１）と、後ろ向き予測誤差ｂｍ，ｉ（３，１）とを算出する。
【００７６】
【数４】
0004658853.tif 000005
bm,i=bm-1,i+km-1,m-1(3,1)・b'm-1,i(3,1)            …(12)
b'm,i=b'm-1,i+1+km-1,m-1(3,1)・bm-1,i+1(3,1)         …(13)
b0,i= b'0,i=x(3,1,i), b1,i= x(3,1,i), b'1,i=x(3,1,i+1) …(14)
そして、偏自己相関分析部３３ａａは、この演算の過程で得られた第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）と、ブロックＢ（３，１）内の入力信号を用いた前向き予測誤差と後ろ向き予測誤差との内積の総和（「第３階層誤差系列の内積」と呼ぶ）
【数５】
0004658853.tif 000006
と、ブロックＢ（３，１）内の入力信号を用いた前向き予測誤差と後ろ向き予測誤差とのエネルギーの総和（「第３階層誤差系列のエネルギー」と呼ぶ）
【数６】
0004658853.tif 000007
とを、それぞれ、ブロックＢ（３，１）に関連付けてメモリ１７に格納する。
【００７７】
次に、線形予測係数算出部３３ａｂが、第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）をメモリ１７から読み込み、読み込んだ第３階層ＰＡＲＣＯＲ係数ｋｍ，ｍ（３，１）からブロックＢ（３，１）に対応する線形予測係数を算出する。
その後、第３階層１４０のその他のブロックＢ（３，２）〜Ｂ（３，８）に対して、ブロックＢ（１，２）と同様な処理が行われる。
【００７８】
［第２階層１３０の処理］
次に、第２階層線形予測分析部３２ａが、第３階層線形予測分析部３３ａで各ブロックに対して生成された「第３階層誤差系列の内積」と「第３階層誤差系列のエネルギー」とを用い、第２階層１３０の各ブロック（「分析区間」に相当）に対応する第２階層自己相関関数値を算出する（図１０参照）。
【００７９】
ブロックＢ（２，１）を分析区間とする場合、まず、第２階層線形予測分析部３２ａの加算部３２ａａが、メモリ１７のブロック特定情報を参照し、ブロックＢ（２，１）を構成するブロックＢ（３，１），Ｂ（３，２）にそれぞれ対応する「第３階層誤差系列の内積」ｄｍ（３，１），ｄｍ（３，２）と、「第３階層誤差系列のエネルギー」ｐｍ（３，１），ｐｍ（３，２）とを読み込む。そして、加算部３２ａａは、
dm(2,1)=dm(3,1)+dm(3,2)    …(17)
pm(2,1)=pm(3,1)+pm(3,2)    …(18）
の近似よって、ブロックＢ（２，１）に対応する前向き予測誤差と後ろ向き予測誤差との内積の総和ｄｍ（２，１）（「第２階層誤差系列の内積」と呼ぶ）と、ブロックＢ（２，１）に対応する前向き予測誤差と後ろ向き予測誤差とのエネルギーの総和ｐｍ（２，１）（「第２階層誤差系列のエネルギー」と呼ぶ）とを算出し、これらをブロックＢ（２，１）に関連付けてメモリ１７に格納する。
【００８０】
次に、除算部３２ａｂが、ｄｍ（２，１）／ｐｍ（２，１）の除算を行い、乗算部３２ａｃが、ｄｍ（２，１）／ｐｍ（２，１）に定数α（＝−１／２）を乗じ、ブロックＢ（２，１）に対応する第２階層ＰＡＲＣＯＲ係数
km,m(2,1)={dm(2,1)/pm(2,1)}α   …(19）
を算出し、ブロックＢ（２，１）に関連付けてメモリ１７に格納する。
【００８１】
その後、第２階層１３０の他のブロックＢ（２，２）〜Ｂ（２，４）についても同様に、第３階層線形予測分析部３３ａで各ブロックに対して生成された「第３階層誤差系列の内積」と「第３階層誤差系列のエネルギー」とを用い、それぞれに対応する「第２階層誤差系列の内積」と「第２階層誤差系列のエネルギー」と第２階層ＰＡＲＣＯＲ係数とを算出し（図１０参照）、これらを、対応するブロックＢ（２，２）〜Ｂ（２，４）に関連付けてメモリ１７に格納する。
そして、線形予測係数算出部３２ａｄが、メモリ１７から各ブロックに対応する第２階層ＰＡＲＣＯＲ係数を読み込み、これらから各ブロックにそれぞれ対応する線形予測係数を算出する。
【００８２】
［第１階層１２０の処理］
次に、第１階層線形予測分析部３１ａが、第２階層線形予測分析部３２ａで各ブロックに対して生成された「第２階層誤差系列の内積」と「第２階層誤差系列のエネルギー」とを用い、第１階層１２０の各ブロック（「分析区間」に相当）にそれぞれ対応する前向き予測誤差と後ろ向き予測誤差との内積の総和（「第１階層誤差系列の内積」と呼ぶ）と、前向き予測誤差と後ろ向き予測誤差とのエネルギーの総和（「第１階層誤差系列のエネルギー」と呼ぶ）と、第１階層ＰＡＲＣＯＲ係数とを算出し、これらを対応する第１階層１２０の各ブロックに関連付けてメモリ１７に格納する。なお、この算出手順は、上述の第２階層１３０の処理と同様であるため説明を省略する。その後、生成された各第１階層ＰＡＲＣＯＲ係数から線形予測係数がそれぞれ算出され、算出された各線形予測係数は、対応するブロックに関連付けられてメモリ１７に格納される。
【００８３】
［第０階層１１０の処理］
次に、第０階層線形予測分析部３０ａが、第１階層線形予測分析部３１ａで各ブロックに対して生成された「第１階層誤差系列の内積」と「第１階層誤差系列のエネルギー」とを用い、第０階層１１０の各ブロック（「分析区間」に相当）にそれぞれ対応する前向き予測誤差と後ろ向き予測誤差との内積の総和と、前向き予測誤差と後ろ向き予測誤差とのエネルギーの総和と、第０階層ＰＡＲＣＯＲ係数とを算出し、これらを対応する第０階層１１０の各ブロックに関連付けてメモリ１７に格納する。なお、この算出手順は、上述の第２階層１３０の処理と同様であるため説明を省略する。その後、生成された各第０階層ＰＡＲＣＯＲ係数から線形予測係数がそれぞれ算出され、算出された各線形予測係数は、対応するブロックに関連付けられてメモリ１７に格納される。
【００８４】
［第０〜３階層符号化部１０ｂ〜１３ｂの処理・符号量比較符号選択部１４の処理］
これらの処理は実施例１と同じであるため説明を省略する。
＜実施例３の特徴＞
実施例３では、まず、入力信号を用い、第３階層の各ブロックに対して「第３階層誤差系列の内積」と「第３階層誤差系列のエネルギー」と第３階層ＰＡＲＣＯＲ係数とを生成する。そして、第Ｌ階層（Ｌ∈｛０，...，２｝）の各ブロック（「分析区間」に相当）に対応する「第Ｌ階層誤差系列の内積」を、当該ブロックを構成する第Ｌ＋１階層の複数のブロックに対してそれぞれ生成された複数の「第Ｌ＋１階層誤差系列の内積」の和によって算出する。また、第Ｌ階層の各ブロックに対応する「第Ｌ階層誤差系列のエネルギー」を、当該ブロックを構成する第Ｌ＋１階層の複数のブロックに対してそれぞれ生成された複数の「第Ｌ＋１階層誤差系列のエネルギー」の和によって算出する。そして、「第Ｌ階層誤差系列の内積」と「第Ｌ階層誤差系列のエネルギー」とを用いて、第Ｌ階層ＰＡＲＣＯＲ係数を算出する。これにより、ある程度の分析精度を維持しつつ、第０〜２階層での分析処理量を大幅に低減させることができる。
【００８５】
〔各実施例に対する変形例〕
その他、上述の各実施例及びその変形例について、以下のような変形を行ってもよい。
例えば、第０〜３階層符号化部１０ｂ〜１３ｂにおいて、それぞれ、上述のように得られた各階層各ブロックの線形予測係数を量子化し、量子化された線形予測係数を用いた線形予測フィルタによって、各ブロックに対応する入力信号をフィルタリングする。そして、それによって得られた線形予測誤差信号を長期予測する際に、他階層の線形予測誤差信号の自己相関関数値を流用することとしてもよい。この場合、第３階層符号化部１３ｂの長期予測では、実際の線形予測誤差信号からその自己相関関数値を求める。一方、第２階層符号化部１２ｂでは、第２階層符号化部１２ｂの分析区間に対応する線形予測誤差信号の自己相関関数値を、当該分析区間を構成する第３階層の複数のブロックに対してそれぞれ算出された自己相関関数値の平均値によって算出する。例えば、ブロックＢ（３，３），Ｂ（３，４）それぞれに対応する線形予測誤差信号の自己相関関数値の平均値を、ブロックＢ（２，２）の線形予測誤差信号の自己相関関数値として用いる（図１３参照）。そして、第１階層符号化部１１ｂ、第０階層符号化部１０ｂでも同様に、分析区間に対応する線形予測誤差信号の自己相関関数値を、当該分析区間を構成する下位階層の複数のブロックに対してそれぞれ算出された自己相関関数値の平均値によって算出する。
【００８６】
また、例えば、上述した各階層の構成を複数チャネル分設け、さらに、第０〜３階層符号化部１０ｂ〜１３ｂにおいて、各チャネルに対応する線形予測誤差信号のチャネル間相関値（例えば、線形予測誤差信号の重み付き差分信号）を階層毎に求め、チャネル間相関に基づく符号化を行ってもよい（なお、チャネル間相関に基づく符号化については、ＩＳＯ／ＩＥＣ  １４４９６−３：２００５／ＡＭＤ２（通称ＭＰＥＧ−４  ＡＬＳ）や特開２００５−１１５２６７等参照）。そして、この際に、生成されたチャネル間相関値を他の階層で流用する構成であってもよい。この場合、第３階層符号化部１３ｂでは、複数チャネルにそれぞれ対応する各線形予測誤差信号から実際にチャネル間相関値を求める。一方、第２階層符号化部１２ｂでは、第２階層符号化部１２ｂの分析区間に対応する線形予測誤差信号のチャネル間相関値を、当該分析区間を構成する第３階層の複数のブロックに対してそれぞれ算出されたチャネル間相関値の平均値によって算出する。例えば、ブロックＢ（３，３），Ｂ（３，４）それぞれに対応する線形予測誤差信号のチャネル間相関値の平均値を、ブロックＢ（２，２）の線形予測誤差信号の自己相関関数値として用いる（図１３参照）。そして、第１階層符号化部１１ｂ、第０階層符号化部１０ｂでも同様に、分析区間に対応する線形予測誤差信号のチャネル間相関値を、当該分析区間を構成する下位階層の複数のブロックに対してそれぞれ算出されたチャネル間相関値の平均値によって算出する。
【００８７】
また、本発明は上述の各実施例に限定されるものではない。例えば、制御部１６の制御のもと、各実施例の構成を適宜組み合わせて実行してもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００８８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（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）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００９１】
また、各実施例では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００９２】
本発明の産業上の利用分野としては、例えば、音響信号の圧縮符号化等を例示できる。
【図面の簡単な説明】
【００９３】
【図１】図１は、実施例１の適応ブロック長符号化装置の構成を示したブロック図である。
【図２】図２（ａ）は、実施例１の適応ブロック長符号化装置の第３階層線形予測分析部の構成を例示したブロック図である。（ｂ）は、第２階層線形予測分析部の構成を例示したブロック図である。
【図３】図３（ａ）は、実施例１の変形例１の第２階層線形予測分析部の構成を例示したブロック図である。（ｂ）は、実施例１の変形例３の第２階層線形予測分析部の構成を例示したブロック図である。
【図４】図４は、実施例１における自己相関関数値の算出処理を説明するための図である。
【図５】図５は、実施例２の適応ブロック長符号化装置の構成を示したブロック図である。
【図６】図６（ａ）は、実施例２の適応ブロック長符号化装置の第３階層線形予測分析部の構成を例示したブロック図であり、（ｂ）は、第２階層線形予測分析部の構成を例示したブロック図である。
【図７】図７は、実施例２におけるＰＡＲＣＯＲ係数の算出処理を説明するための図である。
【図８】図８は、実施例３の適応ブロック長符号化装置の構成を示したブロック図である。
【図９】図９（ａ）は、実施例３の適応ブロック長符号化装置の第３階層線形予測分析部の構成を例示したブロック図である。（ｂ）は、第２階層線形予測分析部の構成を例示したブロック図である。
【図１０】図１０は、実施例３におけるＰＡＲＣＯＲ係数の算出処理を説明するための図である。
【図１１】図１１は、従来の符号化装置の構成を例示したブロック図である。
【図１２】図１２は、図１１の第０〜３階層符号化部の構成を例示したブロック図である。
【図１３】図１３は、符号化処理が行われるフレームの構成を例示した概念図である。
【図１４】図１４（ａ）は、実施例２の変形例２における適応ブロック長符号化装置の第３階層線形予測分析部の構成を例示したブロック図である。（ｂ）は、第２階層線形予測分析部の構成を例示したブロック図である。
【図１５】図１５（ａ）は、実施例２の変形例２における適応ブロック長符号化装置の第３階層線形予測分析部の構成を例示したブロック図である。（ｂ）は、第２階層線形予測分析部の構成を例示したブロック図である。
【図１６】図１６は、実施例２の変形例２における符号化部の構成を例示したブロック図である。
【符号の説明】
【００９４】
１０〜３０  適応ブロック長符号化装置
【図１】
0004658853.tif 000008
【図２】
0004658853.tif 000009
【図３】
0004658853.tif 000010
【図４】
0004658853.tif 000011
【図５】
0004658853.tif 000012
【図６】
0004658853.tif 000013
【図７】
0004658853.tif 000014
【図８】
0004658853.tif 000015
【図９】
0004658853.tif 000016
【図１０】
0004658853.tif 000017
【図１１】
0004658853.tif 000018
【図１２】
0004658853.tif 000019
【図１３】
0004658853.tif 000020
【図１４】
0004658853.tif 000021
【図１５】
0004658853.tif 000022
【図１６】
0004658853.tif 000023