(57)【特許請求の範囲】
【請求項１】
もともと振幅が小さい信号を増幅して得た複数ビットで表現されるデジタル信号サンプルを、複数サンプルにより構成されるフレームごとに、符号化する信号符号化装置であって、
複数の前記デジタル信号サンプルをまとめたフレームを形成するフレームバッファと、
もともと振幅が小さい信号を増幅して得たことに起因してフレーム内の全デジタル信号サンプルにおいてビット位置の値が０となる、最下位ビットからｎビットの範囲（ｎは１以上の整数）を求める算出部と、
前記フレーム内の全デジタル信号サンプルの前記算出部で求めた範囲を除く部分を符号化した符号列を得る整数信号符号化部と、
前記算出部で求めた範囲を示す情報と前記整数信号符号化部で得た符号列とを出力する出力部と
を備える信号符号化装置。
【請求項２】
もともと振幅が小さい信号を増幅して得た複数ビットで表現されるデジタル信号サンプルが、複数サンプルにより構成されるフレームごとに、符号化された符号列を、フレームごとに復号化して前記デジタル信号サンプルを得る信号復号化装置であって、
前記符号列からフレームごとのもともと振幅が小さい信号を増幅して得たことに起因してすべてのビットが０となる最下位ビットからｎビットの範囲（ｎは１以上の整数）の情報を得る桁情報取得部と、
前記符号列からフレームごとのデジタル信号サンプルを得る整数信号復号化部と、
前記整数信号復号化部で得たフレームごとのデジタル信号サンプルの最下位ビットより下位に、前記桁情報取得部で得た情報に基づいて、値が０のビットを付加する逆シフト処理部と
を備える信号復号化装置。
【請求項３】
もともと振幅が小さい信号を増幅して得た複数ビットで表現されるデジタル信号サンプルを、複数サンプルにより構成されるフレームごとに、符号化する信号符号化方法であって、
複数の前記デジタル信号サンプルをまとめたフレームを形成するフレーム化ステップと、
もともと振幅が小さい信号を増幅して得たことに起因してフレーム内の全デジタル信号サンプルにおいてビット位置の値が０となる、最下位ビットからｎビットの範囲（ｎは１以上の整数）を求める算出ステップと、
前記フレーム内の全デジタル信号サンプルの前記算出ステップで求めた範囲を除く部分を符号化した符号列を得る整数信号符号化ステップと、
前記算出ステップで求めた範囲を示す情報と前記整数信号符号化部で得た符号列とを出力する出力ステップと
を有する信号符号化方法。
【請求項４】
もともと振幅が小さい信号を増幅して得た複数ビットで表現されるデジタル信号サンプルが、複数サンプルにより構成されるフレームごとに、符号化された符号列を、フレームごとに復号化して前記デジタル信号サンプルを得る信号復号化方法であって、
前記符号列からフレームごとのもともと振幅が小さい信号を増幅して得たことに起因してすべてのビットが０となる最下位ビットからｎビットの範囲（ｎは１以上の整数）の情報を得る桁情報取得ステップと、
前記符号列からフレームごとのデジタル信号サンプルを得る整数信号復号化ステップと、
前記整数信号復号化ステップで得たフレームごとのデジタル信号サンプルの最下位ビットより下位に、前記桁情報取得ステップで得た情報に基づいて、値が０のビットを付加する逆シフト処理ステップと
を有する信号復号化方法。
【請求項５】
請求項１または２のいずれかに記載の装置をコンピュータにより実現するプログラム。
【請求項６】
請求項５記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサンプル値を符号化する信号符号化装置、方法、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
図１に、従来の整数信号符号化部の機能構成例を示す。また、図２に整数信号符号化部８４０の処理フロー（Ｓ８４０）を示す。整数信号符号化部８４０は、区間分割部８４０１、線形予測分析部８４０２、線形予測係数符号化部８４０３、線形予測係数復号化部８４０４、逆フィルタ８４０７、サンプルバッファ８４０８、残差信号符号化部８４０９、統合部（Multiplexer）８４１０から構成される。区間分割部８４０１は、入力された整数信号を複数サンプルまとめてフレーム化し、フレーム単位のデジタルのサンプリング値とする（Ｓ８４０１）。線形予測分析部８４０２は、フレーム化して入力された整数信号（以下、「入力整数信号」という。）について線形予測のための分析を行い、線形予測係数を出力する（Ｓ８４０２）。ここで、線形予測係数の次数をＰとする。線形予測係数符号化部８４０３は、線形予測分析部８４０２の結果にしたがって線形予測係数を符号化し、予測係数符号を出力する（Ｓ８４０３）。線形予測係数復号化部８４０４は、線形予測係数符号化部８４０３からの出力を復号化し、Ｐ次の線形予測係数を出力する（Ｓ８４０４）。本例では、線形予測係数符号化部８４０３からの出力を線形予測係数復号化部８４０４で復号化して、量子化済線形予測係数を得る構成としている。しかし、線形予測係数復号化部８４０４を無くし、線形予測係数符号化部８４０３から予測係数符号とそれに対応する量子化済線形予測係数を得る構成としてもよい。逆フィルタ８４０７は、予測係数符号で伝達される信号を、線形予測係数復号化部８４０４から出力されたＰ次の量子化済線形予測係数およびサンプルバッファ８４０８に保存されている直前のフレームのサンプル値と現フレームのサンプル値を用いて復元する。さらに、入力整数信号から復元した予測係数符号で伝達される信号を減算し、残差信号を出力する（Ｓ８４０７）。また、現フレームのサンプル値の少なくとも最後のＰサンプルは、サンプルバッファ８４０８に保持される（Ｓ８４０８）。残差信号符号化部８４０９は、逆フィルタ８４０７から出力された残差信号を符号化し、残差符号を出力する（Ｓ８４０９）。統合部（Multiplexer）８４１０は、線形予測係数符号化部８４０３が出力した予測係数符号と残差信号符号化部８４０９が出力した残差符号とを統合して整数信号符号として出力する（Ｓ８４１０）。なお、線形予測分析部８４０２でも、線形予測分析に直前のフレームの最後のＰサンプルを用いてもよい。この場合には、図１中に点線で示しているように、サンプリングバッファ８４０８から直前のフレームの最後のＰサンプルの値を受け取る。
【０００３】
図３に従来の整数信号復号化部の機能構成例を示す。また、図４に整数信号復号化部９２０の処理フロー（Ｓ９２０）を示す。整数信号復号化部９２０は、分割部（Demultiplexer）９２０１、線形予測係数復号化部９２０２、残差信号復号化部９２０３、サンプルバッファ９２０６、合成フィルタ９２０７から構成される。符号化されたデータは、分割部（Demultiplexer）９２０１で受信、蓄積され、予測係数符号と残差符号とに分割される（Ｓ９２０１）。線形予測係数復号化部９２０２は、予測係数符号を復号化し、線形予測係数を出力する（Ｓ９２０２）。残差信号復号化部９２０３は、残差符号を復号化し、残差信号を出力する（Ｓ９２０３）。合成フィルタ９２０７は、線形予測係数復号化部９２０２が出力した線形予測係数およびサンプルバッファ９２０６に保持された直前フレームのサンプル値と現フレームのサンプル値を用いて、信号を合成する（Ｓ９２０６）。さらに、復元された信号と残差信号を加算し、整数信号を得る（Ｓ９２０７）。
【０００４】
また、整数信号を可逆符号化する符号化方法については、例えば、非特許文献１にあるように、線形予測を行って、線形予測係数と線形予測残差をそれぞれ可逆符号化する方法がある。非特許文献１の符号化方法では、入力された整数形式のデータサンプル値列を、複数まとめたフレームごとに、線形予測係数を求め、線形予測係数を符号化し、前記符号化の過程で量子化された線形予測係数を用いて逆フィルタ（分析フィルタとも言う。）を構成し、線形予測残差信号を求め、線形予測残差信号を符号化する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Tilman Liebchen and Yuriy A. Reznik, "MPEG4-ALS: an Emerging Standard for Lossless Audio Coding," Proceedings of the Data Compression Conference (DCC'04), pp1068-0314/04, 2004.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図５を用いて従来の方法の問題点を説明する。図５は、２４ビットを符号化する整数信号符号装置であって、１フレームが１０サンプルで構成される場合のイメージを示している。図中の網掛け部は、０または１のビット（実質的に情報を有するビット）であり、その他の部分は０（実質的に情報がないビット）である。また、図中の点線で囲まれた範囲が符号化の対象である。図５では、全てのビットが符号化の対象であることを示している。
しかし、もともと振幅が小さい入力信号を増幅して得た信号の場合、下位ビットが０となっていることがある。例えば、図５のフレーム１では下位の２ビット分の桁、フレーム２では下位の４ビット分の桁では、全てのビットが０である。従来技術では、このような実質的に情報のない下位ビットも符号化することになる。つまり、下位ビットが０となっている入力信号の場合、圧縮効率が必ずしも良いとは言えない。
【課題を解決するための手段】
【０００７】
本発明では、整数信号を符号化する際に、フレーム内のビットが全て０の桁が最下位桁から何桁あるか、もしくは、いずれかのビットが１の桁が最下位桁から何桁目にあるかを検出し、その情報を出力する。また、最も下位桁にあるいずれかのビットが１である桁を含むそれより上位の桁を符号化し、符号列を出力する。図６に本発明を適用した場合の符号化のイメージを示す。フレーム１の場合は下位の２桁、フレーム２の場合は下位の４桁の全てのビットが０なので、符号化の対象から外されている。
また、整数信号を復号化する際には、前記符号列から整数信号を復号化し、前記フレーム内のビットが全て０の桁が最下位桁から何桁あるか、もしくは、いずれかのビットが１の桁が最下位桁から何桁目にあるかの情報を用いて、復号化された整数信号の下位にビットが全て０の桁を付加することで、出力する整数信号を求める。
【０００８】
このようにフレームごとに符号化の対象範囲が異なると、フレーム間予測を行う線形予測符号化などの場合に、フレーム間予測が適正に行われず、圧縮効率が悪くなるという問題が新たに生じる。そこで、本発明では、直前のフレームの検出結果と現フレームの検出結果とが異なる場合に、過去の検出結果を考慮して、頻繁なシフト量の変化を抑制する。もしくは、直前のシフト量も考慮した線形予測符号化を行う。
【発明の効果】
【０００９】
本発明によれば、整数信号の符号化の際に実質的に情報のない下位のビットの符号化を行わないため、圧縮効率が高くなる。また、頻繁なシフト量の変化がなくなり、フレーム間予測を用いて圧縮符号化する場合の圧縮率を向上することができる。さらに、フレーム間予測を行う線形予測符号化の場合には、情報があるビットの位置が前後のフレーム間でずれた場合にも、そのずれ量を補正することができるので、圧縮効率を高く維持できる。
【図面の簡単な説明】
【００１０】
【図１】従来の整数信号符号化部の機能構成例を示す図。
【図２】従来の整数信号符号化部の処理フローを示す図。
【図３】従来の整数信号復号化部の機能構成例を示す図。
【図４】従来の整数信号復号化部の処理フローを示す図。
【図５】従来の方法の問題点を説明する図。
【図６】本発明を適用した場合の符号化のイメージを示す図。
【図７】第１実施形態の符号化処理部の機能構成を示す図。
【図８】符号化処理部４００の処理フローを示す図。
【図９】シフト量算出部４２０のシフト量決定ステップ（Ｓ４２０）の詳細を示す図。
【図１０】第１実施形態の復号化処理部の機能構成を示す図。
【図１１】復号化処理部７００の処理フローを示す図。
【図１２】第２実施形態の符号化処理部の機能構成例を示す図。
【図１３】シフト量決定部１１０の処理フロー（ステップＳ１１０）を示す図。
【図１４】シフト量選定部１３０の処理ステップ（Ｓ１３０）の詳細を示す図。
【図１５】ステップＳ１３０の代わりとなるシフト量選定部１３０の処理フロー（Ｓ１３０’）を示す図。
【図１６】ステップＳ１３０の代わりとなるシフト量選定部１３０の処理フロー（Ｓ１３０”）を示す図。
【図１７】第３実施形態の符号化処理部の機能構成例を示す図。
【図１８】第３実施形態の変形例の符号化処理部の機能構成例を示す図。
【図１９】第４実施形態の符号化処理部の機能構成を示す図。
【図２０】第４実施形態の整数信号符号化部の機能構成例を示す図。
【図２１】整数信号符号化部２４０の処理フローを示す図。
【図２２】第４実施形態の復号化処理部の機能構成例を示す図。
【図２３】第４実施形態の整数信号復号化部の機能構成例を示す図。
【図２４】整数信号復号化部６２０の処理フローを示す図。
【発明を実施するための形態】
【００１１】
以下では、説明の重複を避けるため同じ機能を有する構成部や同じ処理を行う処理ステ
ップには同一の番号を付与し、説明を省略する。
［第１実施形態］
本発明の符号化処理部の機能構成を図７に示す。図８に、符号化処理部４００の処理フローを示す。符号化処理部４００は、フレームバッファ８１０、シフト量算出部４２０、整数信号シフト処理部４３０、整数信号符号化部８４０、統合部（Multiplexer）４６０
から構成される。フレームバッファ８１０は、整数信号（入力信号）を蓄積し、複数のサンプル値単位（フレーム単位）にシフト量算出部４２０と整数信号シフト処理部４３０へ出力する（Ｓ８１０）。シフト量算出部４２０は、いずれかのビットが１である最下位の桁を含むそれより上位の桁すべてが符号化の対象となるようにシフト量を決定する（Ｓ４２０）。具体的な決定方法は後述する。整数信号シフト処理部４３０は、シフト量算出部４２０の決定にしたがって符号化の範囲をシフトする（Ｓ４３０）。整数信号符号化部８４０は、従来技術として図１、図２で説明した方法により、ステップＳ４３０でシフトされた整数信号を符号化する（Ｓ８４０）。統合部（Multiplexer）４６０は、符号化された整数信号とシフト量とを統合し、出力する（Ｓ４６０）。
【００１２】
図９に、シフト量算出部４２０のシフト量決定ステップ（Ｓ４２０）の詳細を示す。シフト量算出部４２０は、フレームを構成するサンプルの数（ＮＦ個）だけ、サンプルを取り込む（Ｓ４２０１）。シフト量ΔＥを０に初期化する（Ｓ４２０２）。入力信号系列をΔＥだけ右シフトした場合の、最下位桁のビットプレーン（フレーム内のサンプルの同じ桁のビットの集合）中のビットが１となるサンプルの数ｎを検出する（Ｓ４２０３）。ｎ＝０かを確認し、Ｙｅｓの場合はステップＳ４２０５へ進み、Ｎｏの場合はステップＳ４２０を終了する（Ｓ４２０４）。ステップ４２０５では、シフト量ΔＥをΔＥ＋１とする（Ｓ４２０５）。ΔＥが符号化ビット数Ｑに等しいかを確認し、Ｙｅｓの場合はステップＳ４２０７へ進み、Ｎｏの場合はステップＳ４２０３へ戻る。ステップＳ４２０７では、ΔＥを０に戻し、ステップＳ４２０を終了する。このステップでは、フレーム内の全てのビットが０だったため、シフト量ΔＥを０としている。
【００１３】
図１０に本発明の復号化処理部の機能構成を、図１１に復号化処理部７００の処理フローを示す。復号化処理部７００は、分割部（Demultiplexer）９１０、整数信号復号化部９２０、逆シフト処理部９５０から構成される。分割部（Demultiplexer）９１０は、符号化データを受信し、符号化された整数信号とシフト量とに分割すると共に、符号化装置側でシフトした桁の情報（シフト量）を取得する（Ｓ９１０）。整数信号復号化部９２０は、従来技術として図３、図４で説明した方法により、整数信号を復号化する（Ｓ９２０）。逆シフト処理部９５０は、復号化された整数信号をシフト量と反対方向にシフトし、出力信号を得る（Ｓ９５０）。
このように、本発明によれば、整数信号の符号化の際に実質的に情報のない下位のビットの符号化を行わないため、圧縮効率が高くなる。
【００１４】
［第２実施形態］
本実施形態は、直前のフレームとのシフト量の違いが、あらかじめ定めた範囲内の場合には、現シフト量を直前のシフト量と同じとする方法と、第１実施形態との組み合わせである。
【００１５】
図１２に本実施形態の符号化処理部の機能構成例を示す。符号化処理部１００は、フレームバッファ８１０、シフト量候補算出部１２０とシフト量選定部１３０とフレームシフト量保存バッファ１４０から構成されるシフト量決定部１１０、整数信号シフト処理部４３０、整数信号符号化部８４０、統合部（Multiplexer）４６０から構成される。図７の符号化処理部４００との違いは、シフト量決定部１１０である。
符号化処理部１００の処理フローは、図８の処理フローで、ステップＳ４２０をステップＳ１１０（図１３）に置き換えたものとなる。図１３にシフト量決定部１１０の処理フ
ロー（ステップＳ１１０）を示す。ステップＳ１１０では、まず、シフト量候補算出部１２０で、フレーム内のサンプル値の全てのビットが０となる下位桁が最下位桁から何桁目まであるかをシフト量候補ΔＥとして求める（Ｓ１２０）。シフト量選定部１３０は、現フレームが先頭フレームかランダムアクセスフレーム（ＲＡフレーム：過去のフレームからの予測を用いないフレーム）かを判断する（Ｓ１４０）。先頭フレームかランダムアクセスフレームの場合には、シフト量選定部１３０は、シフト量候補ΔＥを現フレームのシフト量とする（Ｓ１５０）。先頭フレームでもランダムアクセスフレームでもない場合には、シフト量選定部１３０は、フレームシフト量保持バッファから１つまたは複数の過去のフレームのシフト量Ｓｊ−ｋ（ｋは１以上の整数）を読み出し、過去のフレームのシフト量とシフト量候補ΔＥを用いて現フレームのシフト量Ｓｊを決定する（Ｓ１３０）。
【００１６】
図１４に、シフト量選定部１３０の処理（ステップＳ１３０）の詳細な処理フロー例を示す。シフト量選定部１３０は、フレームシフト量保持バッファ１４０から直前のフレームのシフト量Ｓｊ−１を、シフト量候補算出部１２０からシフト量候補ΔＥを読み込む（Ｓ１３０１）。Ｓｊ−１＞ΔＥを確認する（Ｓ１３０２）。Ｎｏの場合にはＳｊ−１＋α＜ΔＥを確認する（Ｓ１３０３）。ここで、αはあらかじめ定めておく閾値である。ステップＳ１３０２とＳ１３０３とがともにＮｏの場合には、直前のフレームのシフト量Ｓｊ−１を現フレームのシフト量Ｓｊとする（Ｓ１３０４）。また、ステップＳ１３０２とＳ１３０３のどちらかがＹｅｓの場合には、シフト量候補ΔＥを現フレームのシフト量Ｓｊとする（Ｓ１３０５）。
【００１７】
αはシフト量の揺らぎが一定以上になった場合にのみシフト量を変化させるようにするための閾値で、たとえばあらかじめ３に設定しておく。α＝３の場合には、当該フレームの最大振幅を分析して得られたシフト量侯補ΔＥが、前のフレームのシフト量Ｓｊ−１より小さくなるか、もしくはＳｊ−１＋３よりも大きい値となった場合にのみシフト量を変化させることに相当する。
このようにフレームのシフト量Ｓｊを決定することで、頻繁なシフト量の変化がなくなり、フレーム間予測を用いて圧縮符号化する場合の圧縮率を向上することができる。
【００１８】
［変形例１］
第２実施形態では、シフト量決定部１１０のシフト量選定部１３０は、図１４に示したように、閾値をあらかじめ決めておき、直前のフレームのシフト量と現フレームのシフト量候補との差が閾値以内であれば現フレームのシフト量を直前のフレームと同じにした。本変形例では、シフト量決定部１１０のシフト量選定部１３０は、直前のフレームのシフト量から現フレームのシフト量候補までの各シフト量での符号化後のデータ量を計算して、最もデータ量が少ないシフト量を現フレームのシフト量とする。
【００１９】
図１５にステップＳ１３０の代わりとなるシフト量選定部１３０の処理フロー（ステップＳ１３０’）を示す。シフト量選定部１３０は、フレームシフト量保持バッファ１４０から直前のフレームのシフト量Ｓｊ−１を、シフト量候補算出部１２０からシフト量候補ΔＥを読み込む（Ｓ１３０１）。Ｓｊ−１＞ΔＥを確認する（Ｓ１３０２）。ステップＳ１３０２がＮｏの場合には、Ｄｍｉｎを無限大、ｉを直前のフレームのシフト量Ｓｊ−１とする（Ｓ１３１１）。ただし、無限大とは、符号量として取りうる最大の値以上とすればよい。シフト量をｉとした場合の整数信号の符号量と誤差信号の符号量とを求め、統合した場合の符号化データの符号量Ｄｉを求める（Ｓ１３１２）。ＤｍｉｎがＤｉよりも大きいかを確認する（Ｓ１３１３）。ＤｍｉｎがＤｉよりも大きい場合は、ＤｉをＤｍｉｎ、ｉをｉｍｉｎとする（Ｓ１３１４）。ＤｍｉｎがＤｉ以下の場合にはステップＳ１３１５に進む。ｉ＜ΔＥであることを確認する（Ｓ１３１５）。ステップＳ１３１５がＹｅｓの場合意は、ｉにｉ＋１を代入する（Ｓ１３１６）。ステップＳ１３１５がＮｏの場合は、シフト量Ｓｊをｉｍｉｎとする（Ｓ１３１７）。ステップＳ１３０２がＹｅｓの場合には、シフト量Ｓｊをシフト量候補ΔＥとする（Ｓ１３０５）。
このように処理すると、処理の時間はかかるが、確実に符号量の少ないシフト量を選定することができる。
【００２０】
［変形例２］
本変形例では、シフト量決定部１１０のシフト量選定部１３０は、過去のＮ個（Ｎは２以上の整数）のフレームのシフト量を記録しておく。シフト量候補が、過去のＮ個のフレームのシフト量の中で、ｎ番目（ｎは、１以上Ｎ未満の整数）に小さいシフト量以下、かつ直前のフレームのシフト量以上の場合には、直前のフレームのシフト量を現フレームのシフト量とする。シフト量候補が、過去のＮ個のフレームのシフト量の中で、ｎ番目（ｎは、１以上Ｎ未満の整数）に小さいシフト量より大きい場合、または直前のフレームのシフト量より小さい場合には、シフト量候補を現フレームのシフト量とする。
【００２１】
図１６にステップＳ１３０の代わりとなるシフト量選定部１３０の処理フロー（ステップＳ１３０”）を示す。シフト量選定部１３０は、フレームシフト量保持バッファ１４０から過去のフレームのシフト量Ｓｊ−ｋ（ｋ＝１〜Ｎ）を、シフト量候補算出部１２０からシフト量候補ΔＥを読み込む（Ｓ１３２１）。ただし、Ｎは２以上の整数である。閾値αをＮ個の過去のシフト量の中で、ｎ番目に小さいシフト量とする（Ｓ１３２２）。Ｓｊ−１＞ΔＥを確認する（Ｓ１３０２）。Ｎｏの場合にはα＜ΔＥを確認する（Ｓ１３２３）。ステップＳ１３０２とＳ１３２３とがともにＮｏの場合には、直前のフレームのシフト量Ｓｊ−１を現フレームのシフト量Ｓｊとする（Ｓ１３０４）。また、ステップＳ１３０２とＳ１３２３のどちらかがＹｅｓの場合には、シフト量候補ΔＥを現フレームのシフト量Ｓｊとする（Ｓ１３０５）。
【００２２】
本実施形態では、閾値をあらかじめ決めておくのではなく、過去のシフト量から求めている。したがって、入力信号の特徴を考慮して閾値を変更することができる。
【００２３】
［第３実施形態］
第１実施形態と第２実施形態では、符号化対象の範囲をシフトすることで変更していた。これは、整数信号符号化処理では、通常、各サンプルの最上位の１より上位にある０を無視して符号化することが多いため、上位に０の桁が付加されても整数信号符号化処理の圧縮効率は悪くならないことを想定した処理である。
【００２４】
その他の方法として、フレーム内のサンプルの最下位桁を含むＮ桁（Ｎは正の整数）の全てのビットが０の場合、最下位桁を含むＮ桁を削除する方法がある。この方法によれば、例えば、整数信号符号化処理において、最上位の１より上位にある０を含めて符号化を行う場合でも、整数信号符号化部の圧縮効率を良くすることができる。
図１７は、シフト量を求める代わりに削除量を求める削除量算出部３２０と、シフト処理の代わりに削除処理を行う整数信号削除処理部３３０を備える符号化処理部３００の機能構成例を示す図である。
【００２５】
本実施形態では、削除量を求めているが、その求め方は第１実施形態や第２実施形態のシフト量を求める方法と同一でよい。単純にシフトする代わりに、全てのビットが０の桁を削除するだけである。
また、復号化処理部側では、シフト量の代わりに削除量を受取ることになるので、逆シフト処理を行う代わりに、全てのビットが０の桁を付加する処理に変わるだけである。
【００２６】
［変形例］
図１８に、第３実施形態の変形例を示す。削除処理を整数信号削除処理部３３０で行うのではなく、整数信号符号化部３４０で行うよう変形したものである。
【００２７】
［第４実施形態］
第１実施形態の整数信号符号化部８４０は、図１に示した従来技術であった。本実施形態では、直前のフレームのシフト量を考慮した整数信号符号化部を用いる。図１９に、本実施形態の符号化処理部の機能構成を示す。図７に示した符号化処理部４００との違いは、整数信号符号化部２４０である。
【００２８】
図２０に、本実施形態の整数信号符号化部の機能構成例を示す。整数信号符号化部２４０は、区間分割部８４０１、線形予測分析部８４０２、線形予測係数符号化部８４０３、線形予測係数復号化部８４０４、フレーム間補正処理部２４０５、シフト量バッファ２４０６、逆フィルタ８４０７、サンプルバッファ２４０８、残差信号符号化部８４０９、統合部（Multiplexer）８４１０から構成される。図１の整数信号符号化部８４０との違いは、フレーム間のシフト量の違いを補正するために、フレーム間補正処理部２４０５、シフト量バッファ２４０６が追加されたことと、サンプル値をシフトできるサンプルバッファ２４０８としたことである。なお、線形予測分析部８４０２でも、線形予測分析に直前のフレームの最後のＰサンプルを用いてもよい。この場合には、図８中に点線で示しているように、サンプリングバッファ２４０８から後述するシフト量を現フレームのシフト量にあわせた直前のフレームの最後のＰサンプルの値を受け取る。
【００２９】
図２１に、整数信号符号化部２４０の処理フローを示す。あらかじめ、シフト量バッファ２４０６とサンプルバッファ２４０８を初期化（直前のフレーム情報がない状態）しておく。区間分割部８４０１は、入力された整数信号のフレーム単位のデジタルのサンプリング値の列をさらに細かく分割し、サブフレーム化する（Ｓ８４０１）。ただし、サブフレーム化しない場合には、区間分割部８４０１は不要である。以下でも、サブフレーム化も含めてフレーム化と表現する。線形予測分析部８４０２は、フレーム化された入力整数信号について線形予測のための分析を行い、Ｐ個の線形予測係数（ａ１〜ａＰ）を出力する（Ｓ８４０２）。ここで、線形予測係数の次数をＰとする。線形予測係数符号化部８４０３は、線形予測分析部８４０２の結果にしたがって線形予測係数を符号化し、予測係数符号を出力する（Ｓ８４０３）。線形予測係数復号化部８４０４は、線形予測係数符号化部８４０３からの出力を復号化し、Ｐ次の量子化済線形予測係数（ａ１＾〜ａＰ＾）を出力する（Ｓ８４０４）。本例では、線形予測係数符号化部８４０３からの出力を線形予測係数復号化部８４０４で復号化して、量子化済線形予測係数を得る構成としている。しかし、線形予測係数復号化部８４０４を無くし、線形予測係数符号化部８４０３から予測係数符号とそれに対応する量子化済線形予測係数を得る構成としてもよい。フレーム間補正処理部２４０５は、現在のフレームのシフト量Ｓｊをシフト量算出部８２０から受け取る（Ｓ２４０５１）。フレーム間補正処理部２４０５は、シフト量バッファ２４０６に現フレームのシフト量Ｓｊを記録し、シフト量バッファ２４０６から直前のフレームのシフト量Ｓｊ−１を読み出す（Ｓ２４０６）。フレーム間補正処理部２４０５は、シフト量の違いＳｊ−Ｓｊ−１を計算し、サンプルバッファ２４０８が保持する直前のフレームの最後のＰ個のサンプルを、Ｓｊ−Ｓｊ−１だけ右または左にシフトする（補正する）（Ｓ２４０５２）。右シフトか左シフトかは、シフト量算出方法で右シフトを正の方向と定義するのか左シフトを正の方向と定義するのかで決まる。この補正により、直前のフレームのシフト量が現フレームのシフト量と異なる場合でも、現フレームの最初のサンプルの線形予測に用いる直前のフレームの最後のＰ個のサンプルの値（ｙ−１〜ｙ−Ｐ）は、現フレームと同じシフト量のサンプル値（ｙ’−１〜ｙ’−Ｐ）となる。なお、現フレームが、先頭フレームかランダムアクセスフレーム（ＲＡフレーム：過去のフレームからの予測を用いないフレーム）の場合には直前のフレームのシフト量もサンプル値も存在しない。対応方法としては、初期化で直前のフレームの最後のＰ個のサンプルの値（ｙ−１〜ｙ−Ｐ）として０を代入しておく方法や、先頭フレームかランダムアクセスフレームの場合にはシフト量の変更処理を行わない方法などがある。ただし、これらに限る必要はない。
【００３０】
逆フィルタ８４０７は、現フレームのサンプル値の少なくとも最後のＰサンプルを、サンプルバッファ２４０８に保持する。また、直前のフレームの最後のＰ個のサンプル値をサンプルバッファ２４０８から読み出す（Ｓ２４０８）。逆フィルタ８４０７は、予測係数符号で伝達される信号を、線形予測係数復号化部８４０４から出力されたＰ次の量子化済線形予測係数（ａ１＾〜ａＰ＾）およびサンプルバッファ２４０８から読み出した直前のフレームの最後のＰ個のサンプル値と現フレームのサンプル値を用いて計算する。具体的には、信号の現フレームのｉ番目のサンプルの予測値は、現在のフレームの量子化済線形予測係数（ａ１＾〜ａＰ＾）、直前のフレームのサンプル値（ｙ’−１〜ｙ’−Ｐ）と現フレームのサンプル値（ｙ１〜ｙｉ−１）を用いて、次のように計算される。
【００３１】
【数１】
0004705685.tif 000002
逆フィルタ８４０７は、さらに、入力整数信号ｙｉから復元した予測係数符号で伝達される信号を減算し、残差信号ｒｉを出力する（Ｓ８４０７）。したがって、残差信号ｒｉは、次式のようになる。
【００３２】
【数２】
0004705685.tif 000003
残差信号符号化部８４０９は、逆フィルタ８４０７から出力された残差信号ｒｉを符号化し、残差符号を出力する（Ｓ８４０９）。統合部（Multiplexer）８４１０は、線形予測
係数符号化部８４０３が出力した予測係数符号と残差信号符号化部８４０９が出力した残差符号とを統合して整数信号符号として出力する（Ｓ８４１０）。
図２２に、本実施形態の復号化処理部の機能構成例を示す。図１０に示した復号化処理部７００との違いは、整数信号復号化部６２０である。
【００３３】
図２３に本実施形態の整数信号復号化部の機能構成例を示す。また、図２４に整数信号復号化部６２０の処理フローを示す。整数信号復号化部６２０は、分割部（Demultiplexer）９２０１、線形予測係数復号化部９２０２、残差信号復号化部９２０３、フレーム間補正処理部６２０４、シフト量バッファ６２０５、サンプルバッファ６２０６、合成フィルタ９２０７から構成される。図３の従来の整数信号復号化部９２０との違いは、フレーム間補正処理部６２０４とシフト量バッファ６２０５が追加された点と、サンプルバッファ６２０６がサンプル値のシフト量を変更できる点である。
【００３４】
整数信号復号化部６２０では、あらかじめ、シフト量バッファ６２０５とサンプルバッファ６２０６を初期化（直前のフレーム情報がない状態）にしておく。分割部（Demultiplexer）９２０１が、符号化されたデータを受信、蓄積し、予測係数符号と残差符号とに分割する（Ｓ９２０１）。線形予測係数復号化部９２０２は、予測係数符号を復号化し、Ｐ個の線形予測係数（ａ１〜ａＰ）を出力する（Ｓ９２０２）。残差信号復号化部９２０３は、残差符号を復号化し、残差信号ｒｉを出力する（Ｓ９２０３）。一方、フレーム間補正処理部６２０４は、現フレームのシフト量Ｓｊを分割部（Demultiplexer）９２０１または他の通信手段から受信する（Ｓ６２０４１）。フレーム間補正処理部６２０４は、現フレームのシフト量をシフト量バッファ６２０５に保存するとともに、シフト量バッファ６２０５から直前のフレームのシフト量Ｓｊ−１を読み出す（Ｓ６２０５）。フレーム間補正処理部６２０４は、シフト量の違いＳｊ−Ｓｊ−１を計算し、サンプルバッファ６２０２に保持されている直前のフレームの最後のＰ個のサンプル値（ｙ−１〜ｙ−Ｐ）を、Ｓｊ−Ｓｊ−１だけ右または左にシフトする（補正する）（Ｓ６２０４２）。右シフトか左シフトかは、前述のとおりシフト量算出方法で右シフトを正の方向と定義するのか左シフトを正の方向と定義するのかで決まる。この補正により、直前のフレームのシフト量が現フレームのシフト量と異なる場合でも、現フレームの最初のサンプルの線形予測に用いる前フレームの最後のＰ個のサンプルの値（ｙ−１〜ｙ−Ｐ）は、現フレームと同じシフト量のサンプル値（ｙ’−１〜ｙ’−Ｐ）となる。なお、現フレームが、先頭フレームかランダムアクセスフレームの場合には直前のフレームのシフト量もサンプル値も存在しない。対応方法としては、初期化で直前のフレームの最後のＰ個のサンプルの値（ｙ−１〜ｙ−Ｐ）として０を代入しておく方法や、先頭フレームかランダムアクセスフレームの場合にはシフト量の変更処理を行わない方法などがある。ただし、これらに限る必要はない。
【００３５】
合成フィルタ９２０７は、現フレームのサンプル値の少なくとも最後のＰサンプルを、サンプルバッファ６２０６に保持する。また、直前のフレームの最後のＰ個のサンプル値をサンプルバッファ６２０６から読み出す（Ｓ６２０６）。合成フィルタ９２０７は、線形予測係数復号化部９２０２が出力した量子化済線形予測係数（ａ１＾〜ａＰ＾）、サンプルバッファ９２０６に保持され、フレーム間補正処理部６２０４によって補正された直前フレームのサンプル値（ｙ’−１〜ｙ’−Ｐ）と現フレームのサンプル値（ｙ１〜ｙｉ−１）、残差信号ｒｉを用いて、次式のように整数信号ｙｉを合成する（Ｓ９２０７）。
【００３６】
【数３】
0004705685.tif 000004
このように、直前のフレームのシフト量と符号化対象のフレームのシフト量とを考慮して線形予測符号化のフレーム間予測を行うので、効率的に符号化でき、符号量を少なくすることができる。
なお、上記の実施形態はコンピュータに、上記方法の各ステップを実行させるプログラムを読み込ませ、実施することもできる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
【図１】
0004705685.tif 000005
【図２】
0004705685.tif 000006
【図３】
0004705685.tif 000007
【図４】
0004705685.tif 000008
【図５】
0004705685.tif 000009
【図６】
0004705685.tif 000010
【図７】
0004705685.tif 000011
【図８】
0004705685.tif 000012
【図９】
0004705685.tif 000013
【図１０】
0004705685.tif 000014
【図１１】
0004705685.tif 000015
【図１２】
0004705685.tif 000016
【図１３】
0004705685.tif 000017
【図１４】
0004705685.tif 000018
【図１５】
0004705685.tif 000019
【図１６】
0004705685.tif 000020
【図１７】
0004705685.tif 000021
【図１８】
0004705685.tif 000022
【図１９】
0004705685.tif 000023
【図２０】
0004705685.tif 000024
【図２１】
0004705685.tif 000025
【図２２】
0004705685.tif 000026
【図２３】
0004705685.tif 000027
【図２４】
0004705685.tif 000028