(57)【要約】【課題】類似した振幅のパターンが繰り返し発生する時系列信号に対して十分な圧縮を行うことが可能な可逆圧縮方式の時系列信号の符号化方法および復号方法を提供する。【解決手段】時系列のサンプル列で構成される時系列信号に対して、複数のチャンネルから構成される場合には、チャンネル間の差分演算を行い、差分が小さい部分についてチャンネル間差分データとして分離する（Ｓ１）。次に各チャンネルのサンプル列内に所定の長さをもつフレームを複数設定し、フレーム間の演算を行って差分が小さいフレームについてフレーム間差分データとして分離する（Ｓ２）。次に各サンプル列の信号の変化が小さい部分を信号平坦部データとして分離する（Ｓ３）。これらのデータを分離した状態で、各サンプル列の上位ビットと下位ビットを分離し（Ｓ４）、上位ビットに対して予測誤差を算出した（Ｓ５）後、可変ビット長に変換する（Ｓ６）。【選択図】  図２
2004198559.tif 000002
【特許請求の範囲】
【請求項１】
時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法であって、
前記サンプル列の中から所定の個数のサンプル列で構成されるフレームを複数個抽出し、抽出したフレーム間で相関演算を施し、フレーム間の相関が高い場合に一方のフレームのサンプル列を、各サンプルがより少ないビット数で表現されたフレーム間差分データとして、前記サンプル列から分離するフレーム間演算段階と、
前記分離されたフレーム間差分データ、およびフレーム間差分データの分離により残ったサンプル列を所定のフォーマットで記録する段階と、
を有することを特徴とする時系列信号の符号化方法。
【請求項２】
請求項１において、
前記フレーム間演算段階の後に、
前記フレーム間差分データの分離により残ったサンプル列の中で、サンプルの値が連続して所定の範囲内に納まる区間を、各サンプルがより少ないビット数で表現された信号平坦部データとして前記サンプル列から分離する信号平坦部分離段階を有することを特徴とする時系列信号の符号化方法。
【請求項３】
請求項１または請求項２において、
前記フレーム間演算段階もしくは信号平坦部分離段階の後に、
前記残ったサンプル列の各サンプルデータに対して、時間的に過去のサンプル列からの予測誤差を利用して符号化を行うようにしたサンプル符号化段階を有することを特徴とする時系列信号の符号化方法。
【請求項４】
請求項３において、
前記サンプル符号化段階の前に、
前記サンプル列を構成する各ビットデータを所定のビット位置で分断し、上位ビットのサンプル列で構成される上位サンプルデータと、下位ビットのサンプル列で構成される下位サンプルデータとに分離する上下分離段階を有し、
前記サンプル符号化段階は、前記上位サンプルデータに対して、時間的に過去のサンプル列からの予測誤差を利用して符号化を行うようにすることを特徴とする時系列信号の符号化方法。
【請求項５】
請求項３または請求項４において、
前記サンプル符号化段階は、
各サンプル値のいついて直前の２サンプルを用いて算出した予測誤差を新たな値として各サンプル値を更新する予測誤差算出段階と、
予測誤差値で記録された固定長の各上位サンプルデータを可変長のサンプルデータの変換するビット長変換段階と、
を有するものであることを特徴とする時系列信号の符号化方法。
【請求項６】
請求項５において、
前記ビット長変換段階は、
対象ビットデータのヒストグラムに基づいて、変換されたサンプルデータの最上位ビットが１になるような最小ビット長で記述したルックアップテーブルを作成するルックアップテーブル作成段階と、
前記対象ビットデータに対して前記ルックアップテーブルを用いて変換を施すビットデータ変換手段と、
変換後のビットデータ間には所定のビット数の区分ビットデータを挿入するようにビットデータを配列するビットデータ配列段階と、
を有することを特徴とする時系列信号の符号化方法。
【請求項７】
請求項１から請求項６のいずれかにおいて、
前記時系列信号が、サンプル列を有する複数のチャンネルで構成されるものであり、
前記フレーム間演算段階の前に、
チャンネル間のサンプルに所定の演算を施し、チャンネル間の相関が高い部分のサンプル列を、チャンネル間差分データとして、一方のチャンネルのサンプル列から分離するチャンネル間演算段階をさらに有することを特徴とする時系列信号の符号化方法。
【請求項８】
与えられた時系列信号に対して、請求項１から請求項７のいずれかに記載の時系列信号の符号化方法により得られたデータ群を記録した記録媒体。
【請求項９】
時系列信号を圧縮符号化した符号データを復号して、時系列信号の全てのサンプル列を再現する復号方法であって、
予測誤差で記録されたサンプル値から、各時刻ごとの独立したサンプル値に復元したサンプル列を得る段階と、
前記復元されたサンプル列の各サンプルを構成するビットデータと、下位ビットデータを統合する段階と、
前記統合された各サンプル列に信号平坦部データを挿入する信号平坦部挿入段階と、
フレーム間差分データを基に、元のフレームのサンプル列を復元し、前記サンプル列に挿入するフレームデータ復元段階と、
を有することを特徴とする時系列信号の復号方法。
【請求項１０】
請求項９において、
前記時系列信号が、サンプル列を有する複数のチャンネルで構成されるものであり、
前記フレームデータ復元段階の後に、
チャンネル間差分データを基に、元のチャンネルのサンプル列を復元し、前記サンプル列に挿入するチャンネルデータ復元段階をさらに有することを特徴とする時系列信号の復号方法。
【請求項１１】
時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮するための符号化プログラムであって、
コンピュータに、
前記サンプル列の中から所定の個数のサンプル列で構成されるフレームを複数個抽出し、フレーム間で相関演算を施し、フレーム間の相関が高い場合に一方のフレームのサンプル列を、フレーム間差分データとして、前記サンプル列から分離するフレーム間演算段階、
前記サンプル列の中で、サンプルの値が連続して所定の範囲内に納まる区間を、信号平坦部データとして、前記サンプル列から分離する信号平坦部分離段階、
前記サンプル列を構成する各ビットデータを所定のビット位置で分断し、上位ビットのサンプル列で構成される上位サンプルデータと、下位ビットのサンプル列で構成される下位サンプルデータとに分離する上下分離段階、
前記上位サンプルデータに対しては時間的に過去のサンプル列からの予測誤差を利用して符号化を行うようにした上位サンプル符号化段階、
を実行させるためのプログラム。
【請求項１２】
時系列信号を圧縮符号化した符号化データを復号して、時系列信号の全てのサンプル列を再現するプログラムであって、
コンピュータに、
予測誤差で記録されたサンプル値から、各時刻ごとの独立したサンプル値に復元したサンプル列を得る段階、
前記復元された各サンプルを構成するビットデータと、下位ビットデータを統合する段階、
前記統合された各サンプル列に信号平坦部データを挿入する信号平坦部挿入段階、
フレーム間差分データを基に、元のフレームのサンプル列を復元し、前記サンプル列に挿入するフレームデータ復元段階、
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、音楽制作、音響データの素材保管、ロケ素材の中継など音楽制作分野、特にＣＤよりも品質の高い高精細オーディオ制作を行う分野、ＣＤ、ＤＶＤ等のデジタル記録媒体を用いたオーディオ記録再生分野、遠隔医療における生体信号の伝送等、データの改変が嫌われる分野等において好適なデータの可逆圧縮技術に関する。
【０００２】
【従来の技術】
従来より、音響信号の圧縮には様々な手法が用いられている。音響信号を圧縮して符号化する手法として、ＭＰ３（ＭＰＥＧ−１／Ｌａｙｅｒ３）、ＡＡＣ（ＭＰＥＧ−２／Ｌａｙｅｒ３）などが実用化されている。このような圧縮符号化方式により、音響信号を小さいデータとして扱うことが可能となり、データの記録・伝送の効率化に貢献している。
【０００３】
【発明が解決しようとする課題】
上述のようなＭＰ３、ＡＡＣ等はいずれもロッシー符号化方式といわれるものであり、効率的な圧縮が可能であるが、復号化にあたって、少なからず品質の劣化を伴い、原信号を完全に再現することはできない。そのため、音楽制作、素材保管、ロケ素材の中継など音楽制作分野では、これらの符号化方式を適用できず、非効率ではあるが、非圧縮で保存・伝送する方式がとられている。特に最近は高精細オーディオを扱うプロダクションが増え、素材容量が膨大になり、ワークディスクを管理する上で問題になってきている。
【０００４】
上記のような問題を解決するため、本出願人は、時系列信号のサンプル列に対してチャンネル間、フレーム間の差分演算を行って、各サンプルの値を小さくした後、予測符号化を利用してデータの圧縮を行う手法について提案している。（特許文献１参照）。
【０００５】
【特許文献１】
特願２００２−２３１１５０号
【０００６】
しかしながら、上記出願で提案した手法では、時系列信号がステレオ音響信号のように複数のチャンネルで構成されている場合、時系列の全区間に渡って差分処理を行うと、信号振幅が増大する箇所が発生し、その後に行う予測誤差を用いた符号化により、かえってデータ量が増えてしまうことがある。また、同一のチャンネルの異なる時刻におけるサンプルのまとまりであるフレーム間の相関がある場合には、フレーム同士の差分演算を行うことにより信号振幅が減少するが、予測不可能な雑音成分の割合が増大し、その後に行う予測誤差を用いた符号化により、かえってデータ量が増えてしまうことがある。これは、特に類似した振幅のパターン（いわゆる信号波形）が繰り返し生じるような信号に対して行う場合に生じ易い。また、信号レベルが同一の部分について信号平坦部として分離し、データ量を削減するようにしているが、信号レベルが同一の部分が連続する音響素材は、あまり多くないため、圧縮効果が少ない。
【０００７】
そこで、これらの問題を解決するため、本発明は、類似した振幅のパターンが繰り返し発生する時系列信号に対して十分な圧縮を行うことが可能であると共に、復号時には、元の時系列信号を完全に復号することが可能な可逆圧縮方式の時系列信号の符号化方法および復号方法を提供することを課題とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するため、本発明では、時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法として、前記サンプル列の中から所定の個数のサンプル列で構成されるフレームを複数個抽出し、抽出したフレーム間で相関演算を施し、フレーム間の相関が高い場合に一方のフレームのサンプル列を、各サンプルがより少ないビット数で表現されたフレーム間差分データとして、前記サンプル列から分離するフレーム間演算段階、前記分離されたフレーム間差分データ、およびフレーム間差分データの分離により残ったサンプル列を所定のフォーマットで記録する段階を実行するようにしたことを特徴とする。
【０００９】
本発明によれば、時系列のサンプル列に対して、サンプル列中の相関が高い箇所を差分データとして分離して、分離した部分を少ないビット数で表現することにより、類似した振幅のパターンが繰り返し発生する時系列信号に対して十分な圧縮を行うことが可能となる。
【００１０】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（データの構造）
まず、本発明に係る時系列信号の符号化方法において符号化対象とする時系列信号について説明する。本実施形態では、時系列信号として音響信号を適用した場合を例にとって説明していく。図１（ａ）は、本発明において扱う音響信号を模式化して示した図である。図１において、左右方向は時系列方向であり、右側に行く程、時間が進むことになる。すなわち左端が開始時刻であり、右端が終端時刻となっている。図１に示した音響信号は、Ｃｈ１とＣｈ２の２チャンネルのデータでＣｈ１にＬ（左）信号、Ｃｈ２にＲ（右）信号が記録されたものとなっている。
【００１１】
図１（ａ）に示したようなデジタル音響信号を得るには、まず、時系列信号であるアナログの音響信号をデジタル化する。これは、従来の一般的なＰＣＭの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えば良い。本実施形態では、サンプリング周波数４４．１ＫＨｚ、量子化ビット数１６ビットで正負の符号を記録した場合を想定して以降説明する。サンプリング周波数４４．１ＫＨｚでサンプリングすると、１秒あたり４４１００個のサンプルにより構成されるサンプル列ができることになる。またここでは、音響信号が複数のチャンネルからなるので、各チャンネルごとにデジタル化が行われる。
【００１２】
（符号化方法）
続いて、本発明に係る時系列信号の符号化方法の概要について説明する。図２は、本発明に係る時系列信号の符号化方法の概要を示すフローチャートである。まず、図１に示したデジタル音響信号であるサンプル列に対して、チャンネル間の差分演算を行う（ステップＳ１）。具体的には、まず、チャンネルＣｈ１の全区間とチャンネルＣｈ２の全区間の、同一時刻におけるサンプルデータの差分演算を行う。その結果、差分が所定の閾値以下となるチャンネルＣｈ２上の区間の差分データを、チャンネルＣｈ２のサンプル列から分離し、チャンネル間差分データとして別途記録する。本実施形態では、所定の閾値として、下位４ビット以内を設定している。下位４ビット以内とは、正負の符号付で表現した場合、１０進数で−８〜＋７の値となる。差分演算の結果、サンプル列の値が−８〜＋７の値をとる区間については、チャンネル間差分データとして記録されることになる。なお、チャンネル間差分データ内において同一の値が複数サンプル連続する場合は、連続する部分の先頭のサンプル番号と、サンプル値、および連続するサンプル数を記録することによりデータ量をさらに削減する。この場合、連続するサンプル数に代えて最後尾のサンプル番号を記録するようにしても良い。
【００１３】
チャンネル間差分データが分離されたチャンネルＣｈ２は、分離された区間以降のサンプル列を前に詰めることにより、全体のサンプル数が減ることになる。例えば、差分値が閾値以下であるサンプルが図１（ｂ）に示す区間連続した場合、この区間が分離されることになり、チャンネルＣｈ２のサンプル列とチャンネル間差分データは、それぞれ図１（ｃ）に示すようになる。チャンネルＣｈ１のサンプル数（図中左右の長さで表現）は変化がないが、チャンネルＣｈ２のサンプル数は、分離された差分データ分だけ減少することになる。なお、図１の例では、チャンネル間差分データの分離された区間が１箇所だけであるが、現実には、多数分離されることになる。チャンネル間においてデータの圧縮を行う手法としては、全区間に渡って差分演算を行って、その差分値を一方のチャンネルのサンプル値として記録する手法もある。しかし、このような手法の場合、元の音響信号がヴォーカル音等左右均等に録音されたものであれば、圧縮効率が高いが、楽器音のように、どちらか一方のチャンネルを中心に録音されたものについては、信号振幅が大きくなり、後に行う予測符号化を用いた結果、かえってデータ量が大きくなってしまう可能性がある。そこで、本実施形態では、差分が小さい区間のみ、差分データとして分離する手法をとっている。
【００１４】
続いて、チャンネル間の差分演算処理が行われた各チャンネルのサンプル列に対して、所定の区間長をもつフレームを設定して、設定されたフレーム間の演算を行う（ステップＳ２）。まず、各フレームを構成するサンプル列の類似度を求め、類似しているフレームを選別する。本実施形態では、フレーム長をサンプル列の開始時刻から終了時刻までの全区間に渡って固定長としている。具体的には、１フレームを２５６サンプルとしている。チャンネルデータ（チャンネルを構成するサンプル列）の先頭から２５６サンプルずつを１フレームとして抽出し、各フレームの類似度を求めていくことになる。フレーム同士の類似度とは、両信号の相関を求めることになるので、相関計算を行うための種々の手法を用いることができるが、本実施形態では、各フレームにおける２５６サンプルのうち、他フレームにおける対応するサンプルとの差分値の絶対値の最大値を抽出し、最大値が所定値以内に収まるフレーム対を１つの類似フレームとして選別することになる。この処理はサンプル列の全区間に渡って行われる。ここで、フレーム間演算処理によるサンプル列の変化の様子を図３（ａ）〜（ｃ）に示す。なお、図３においては、図１と異なり１チャンネルしか示していないが、他のチャンネルについても同様に処理される。まず、図３（ａ）に示したように、固定長にフレーム化されたサンプル列は、フレームＡ１、Ａ２、Ａ３…に区分される。
【００１５】
続いて、各フレームについて、差分を算出する。本実施形態では、２５６個の差分値が各サンプル時刻に対して得られることになる。得られた差分値の絶対値の最大値が、所定値以内であれば、そのフレームの差分処理後のサンプル列を差分データとして、各チャンネルのサンプル列から分離して記録する。例えば、図３（ｂ）に示されるように、フレームＡ１とフレームＡ２に対して処理を行った場合、先行するフレームＡ１はそのままであるが、フレームＡ１とフレームＡ２の差分値の絶対値の最大値が所定値内であるため、図３（ｃ）に示されるように、フレームＡ２はそのチャンネルのサンプル列から分離され、他のフレームが前に詰められることになる。このように、１フレームが分離されると、サンプル列からは２５６サンプル削減されることになる。分離されたフレームＡ２は、そのままの値で記録されるのではなく、フレームＡ１とフレームＡ２の差分データが前記最大値を表現できる最小ビット数で記録される。フレームＡ２の情報は削除されるが、復号時にフレームＡ２の情報を復元するために、フレームＡ１とフレームＡ２の各サンプルの差分値（図３中「Ａ２−Ａ１」と表現する）がフレーム間差分データとして分離される。
【００１６】
一方、フレームＡ１とフレームＡ２の差分値の絶対値の最大値が所定値内に納まらない場合は、フレームＡ２の元のサンプル列をそのまま残すことになる。同様に、フレームＡ１とフレームＡ３、フレームＡ２とフレームＡ３、フレームＡ１とフレームＡ４、フレームＡ２とフレームＡ４、フレームＡ３とフレームＡ４、という具合に、後続するフレーム間に対しても同様の処理が行われる。このとき、フレームＡ１と類似するフレームとして削除されたフレームＡ２も後続するフレーム間差分処理において、元のサンプル列が参照される。また、差分演算処理の負荷を軽減するため、参照するフレーム間の距離は１００フレーム以内などの制限を加える。すなわち、フレームＡ１と差分演算処理を行うフレームはフレームＡ１００までとし、フレームＡ１０１以降は類似フレーム判断の対象から外す。
【００１７】
上記、フレーム間差分データは、差分処理を行った２つのフレーム番号も記録することになる。ステップＳ２において分離されたフレーム間差分データ内において同一の値が複数サンプル連続する場合は、上記チャンネル間差分データの場合と同様に、連続する部分の先頭のサンプル番号と、サンプル値、および連続するサンプル数を記録することによりデータ量をさらに削減する。この場合、連続するサンプル数に代えて最後尾のサンプル番号を記録するようにしても良い。フレームが差分データとして分離されたサンプル列は、分離されたフレーム以降のサンプル列を前に詰めることにより、全体のサンプル数が減ることになる。
【００１８】
次に、信号平坦部の処理を行う（ステップＳ３）。信号平坦部とは、本来同一の信号レベルが連続する部分のことをいう。特に信号レベルが「０」の無音部、および信号レベルの絶対値が最大の飽和部に現れることが多い。無音部は実際に無音であるか、音が非常に小さく記録されなかった場合に生じるが、飽和部は、信号の録音およびＡ／Ｄ変換の過程において生じる。無音部、飽和部またはそれ以外の同一信号レベルが連続する場合のいずれであっても、信号平坦部は、同一の信号レベルが所定の時間（所定のサンプル数）連続して記録される。このため、この部分は圧縮し易いデータになっている。本実施形態では、信号平坦部を、信号レベルが同一の値が連続する部分だけでなく、信号レベルの変化が少ない部分も含むものとする。すなわち、ステップＳ３においては、前のサンプル値との差分が所定値以下であるサンプルが連続する部分を、信号平坦部として抽出し、元のサンプル列から分離することになる。分離された信号平坦部内において同一の値が複数サンプル連続する部分（本来の信号平坦部）については、上記チャンネル間差分データ、フレーム差分データの場合と同様に、先頭のサンプル番号と、サンプル値、および連続するサンプル数を記録することによりデータ量をさらに削減する。この場合、連続するサンプル数に代えて最後尾のサンプル番号を記録するようにしても良い。信号平坦部が分離されたサンプル列は、分離された信号平坦部以降のサンプル列を前に詰めることにより、全体のサンプル数が減ることになる。例えば、図４（ａ）に網掛けで示した箇所が信号平坦部であると判断された場合、図４（ｂ）に示すようにサンプル列からは、信号平坦部に相当する部分のサンプル列が削除されて前に詰められることになる。サンプル列から削除された信号平坦部に関する情報は、信号平坦部データとして分離されることになる。
【００１９】
上記のようにして、チャンネル間の差分算出、および各チャンネルのサンプル列内の各フレームの差分算出、信号平坦部の分離によりサンプル列の削減が行われたら、残ったサンプル列を構成する各サンプルデータの上位ビットと下位ビットの分離を行う（ステップＳ４）。例えば、音響信号をＰＣＭによりデジタル化する際に、量子化ビット数１６でサンプリングした場合、各サンプルは１６ビットで表現されている。この場合、本実施形態では、上位ビット１２ビットと、下位ビット４ビットに分離する。この分離は、基本的に、Ａ／Ｄ変換機等、音響信号をデジタル化する際に用いる回路の熱雑音を分離するために行う。そのため、熱雑音であると考えられる下位ビットを分離するのである。下位ビットとして、どの程度分離するかは、音源や利用した回路の特性によっても変化するが、通常量子化ビット数の１／４程度とすることが望ましい。したがって、ここでは、１６ビットの１／４にあたる４ビットを下位ビットとして分離しているのである。
【００２０】
ここで、上位ビットと下位ビットのデータ分離の様子を図５に模式的に示す。図５において、Ｈは上位ビットもしくは上位サンプルデータを示し、Ｌは下位ビットもしくは下位サンプルデータを示す。図５（ａ）は分離前のサンプルデータである。ステップＳ４における処理により、サンプルデータは、図５（ｂ）に示す上位サンプルデータと図５（ｃ）に示す下位サンプルデータに分離されることになる。なお、上位ビットに含まれる符号ビットは、そのまま上位サンプルデータに含まれて分離される。このようにして分離されたサンプルデータは、以降別々に処理されることになる。
【００２１】
（上位サンプルの符号化）
上位サンプルデータに対しては、まず、直前の２つのサンプルを基に各サンプルの予測値と予測誤差の算出を行う（ステップＳ５）。ここで、予測誤差の算出手法について、図６を用いて説明する。例えば、サンプル値が図６（ａ）に示すような状態である場合を考えてみる。図６（ａ）において、横軸は時刻（サンプル番号）、縦軸は上位サンプル値ｘ（ｔ）である。また、各時刻における線分は、各時刻における上位サンプルｘ（ｔ）の値を示している。このような状態で、時刻ｔのサンプルにおける予測誤差ｅ（ｔ）を算出する場合、直前の時刻ｔ−１における上位サンプル値ｘ（ｔ−１）および２つ前の時刻ｔ−２における上位サンプル値ｘ（ｔ−２）を利用して以下の〔数式１〕により算出する。
【００２２】
〔数式１〕
ｅ（ｔ）＝ｘ（ｔ）−２×ｘ（ｔ−１）＋ｘ（ｔ−２）−ｅ（ｔ−１）／２
【００２３】
上記〔数式１〕において、「２×ｘ（ｔ−１）−ｘ（ｔ−２）」は過去の２つのサンプルに基づく線形予測成分である。すなわち、算出された線形予測成分、および、直前のサンプルにおいて算出された予測誤差「ｅ（ｔ−１）／２」（誤差フィードバック成分）を用いて時刻ｔにおける予測誤差ｅ（ｔ）を算出することになる。全サンプルについて、予測誤差の算出を行い、サンプル値の代わりに予測誤差が記録される。
【００２４】
これを図６（ａ）に示した上位サンプルを基に説明する。まず、誤差フィードバック成分を加えない状態で各予測誤差ｅｏ（ｔ）を算出する。図６（ｂ）に示すように、時刻ｔの予測誤差ｅｏ（ｔ）を算出する場合、直前の時刻ｔ−１における上位サンプル値ｘ（ｔ−１）および２つ前の時刻ｔ−２における上位サンプル値ｘ（ｔ−２）を結ぶ予測線が時刻ｔでとる値と、時刻ｔにおける上位サンプル値ｘ（ｔ）の差分（図中太点線で示す）に基づいて予測誤差ｅｏ（ｔ）が算出される。時刻ｔ＋１以降も同様に行って予測誤差ｅｏ（ｔ＋１）を算出する。算出された予測誤差ｅｏ（ｔ）は、図６（ｃ）に示すようになる。図６（ａ）と図６（ｃ）を比較するとわかるように値が変動する範囲が大きく狭まり、データ圧縮に都合が良くなる。
【００２５】
続いて、〔数式１〕に基づいて予測誤差ｅｏ（ｔ）に対して直前の時刻ｔ−１における補正が加わった予測誤差ｅ（ｔ−１）の５０％を減算させて、誤差フィードバック処理を加えた結果が図６（ｄ）である。図６（ｃ）と比べると、時刻ｔ＋１およびｔ＋２における予測誤差の低減が顕著である。逆に時刻ｔ＋３およびｔ＋４では予測誤差が増大しているが、平均的には予測誤差が低減し、図６（ａ）と比較すると値が変動する範囲が更に狭まり、データ圧縮効果が向上する。
【００２６】
上記ステップＳ５の処理により、各上位サンプルの値が元の値から予測誤差値に置き換えられることになるが、各ビット構成は固定長１２ビットのままである。次に、この固定長の上位サンプル列を可変長のビット構成に変換する（ステップＳ６）。そのために、まず、符号反転データの挿入を行う。具体的には、サンプル値が正の値から負の値に変化する部分に符号反転データを挿入し、負の値のサンプル値をその絶対値に置きかえる。符号反転データとしては、適当なビット配列を割り当てておく。符号反転データは後の処理で異なるビット配列に変換されるため、この時点では、他のサンプル列と区別ができるビット配列であれば良い。ただし、他のサンプル列のビット数に合わせて１２ビットで構成されるようにしておく。
【００２７】
次に、予測誤差値で記録された上位サンプルデータをより少ないデータ量で表現するために、ビット構成の変換を行う（ステップＳ７）。まず、ビット構成の変換を行うために利用するルックアップテーブルの作成を行う。具体的には、まず全時刻に渡って、各サンプル値のヒストグラムを算出する。各サンプル値は上記ステップＳ６の処理において、全て絶対値化されているので、正負の区別なくヒストグラムを算出する。その結果、サンプル絶対値の種類が６４０以上となった場合、セパレータビットを２ビット固定値「００」とし、サンプル絶対値の種類が６３９以下となった場合、セパレータビットを１ビット固定値「０」とする。さらに、出現頻度の高いサンプル絶対値から順に、少ないビット数のビットパターンを割り当てていく。この際、割り当てるビットパターンには規則が有り、最上位ビットは必ず「１」とすると共に、セパレータビットが２ビット「００」の場合は「００１」のビットパターンを含むビットパターンは禁止し、セパレータビットが１ビット「０」の場合は「０１」のビットパターンを含むビットパターンは禁止する。セパレータビットが１ビット「０」、２ビット「００」の場合のルックアップテーブルの一例を図７に示す。
【００２８】
上記のようにして作成されたルックアップテーブルを用いて、１２ビット固定長の連続する上位サンプルデータを、可変長のビットパターンに変換していく。可変長になるため、変換後の各データの区切りを区別する必要が生じる。そのため、本実施形態では、各データ間に上述のような１ビットもしくは２ビットのセパレータビットを挿入する。セパレータビットが１ビット「０」の場合、各順位のデータを表現するのにビット配列、およびビット数は、図７（ａ）に示すようになる。図７（ａ）において、順位０位は、最もビット数が少ない１ビット「１」で表現される。図７（ａ）においては、変換前ビット列は省略してあるが、実際には、最も頻繁に現れる符号反転データが「１」で表現されることになる。また、各可変長ビットには、セパレータが必ず付加されるので、順位０位のデータを表現するためには、２ビットが必要となることになる。図７の例では、セパレータビットが１ビット「０」であるため、「０１」のビットパターンは割り当てられないことになる。しかし、順位６位として示す「１０００」のビットパターンは、可変長ビットへの変換時に、直前のビットが「０」（セパレータビット）の場合に、例外的に「１０１」のビットパターンに変更することができる。このとき、直前のセパレータビットとビットパターンで「０１０１」の配列が出現する。このビット配列「０１０１」は、セパレータビットを挟んで順位０位のビット配列「１」が２つ連続した場合と考えることもできる。しかし、順位０位のビット配列「１」は符号反転データが割り当てられており、符号反転データが２つ連続することは有り得ないため、復号するためのシステムは、「１０１」ビット配列のデータであると判断することができる。これにより、順位６位のビットパターンは、セパレータビットを合わせて、５ビットから４ビットに減らすことができる。
【００２９】
また、セパレータビットが２ビット「００」の場合、各順位のデータを表現するのにビット配列、およびビット数は、図７（ｂ）に示すようになる。図７（ｂ）において、順位０位は、最もビット数が少ない１ビット「１」で表現される。上述のように、最も頻繁に現れる符号反転データが「１」で表現されることになる。また、各可変長ビットには、セパレータが必ず付加されるので、順位０位のデータを表現するためには、３ビットが必要となることになる。図７（ｂ）の例では、セパレータビットが１ビット「００」であるため、「００１」のビットパターンは割り当てられないことになる。しかし、順位１４位として示す「１００００」のビットパターンは、可変長ビットへの変換時に、直前のビットが「００」の場合に、例外的に「１００１」のビットパターンに変更することができる。このとき、直前のセパレータビットとビットパターンで「００１００１」の配列が出現する。このビット配列「００１００１」は、セパレータビットを挟んで順位０位のビット配列「１」が２つ連続した場合と考えることもできる。しかし、順位０位のビット配列「１」は符号反転データが割り当てられており、符号反転データが２つ連続することは有り得ないため、復号するためのシステムは、「１００１」ビット配列のデータであると判断することができる。これにより、順位１４位のビットパターンは、セパレータビットを合わせて、７ビットから６ビットに減らすことができる。図８（ａ）（ｂ）に、ステップＳ６によるデータ変換の様子を模式的に示す。図８（ａ）（ｂ）はいずれもサンプル列の上位部分に対応しており、図８（ａ）は固定長の上位サンプルが連続して記録されている様子を示している。図８（ａ）に示したような上位サンプル列は、図７（ａ）（ｂ）に示したルックアップテーブルを用いて図８（ｂ）に示すように変換されることになる。
【００３０】
（下位サンプルの符号化）
一方、下位サンプルデータは、そのまま連続に配置される。具体的には、上記ステップＳ４において分離された下位４ビットのデータが連続に配置されていくことになる。
【００３１】
（符号データの記録）
以上のようにして得られた符号データは、図９に示すようになる。すなわち、上位可変長サンプル列、下位固定長サンプル列、ルックアップテーブル、信号平坦部データ、フレーム間差分データ、チャンネル間差分データとなる。このデータを記録すべき記録媒体に合わせたフォーマットで記録する。
【００３２】
（復号方法）
次に、上記符号化方法により符号化された符号データを復号する方法について説明する。復号は、コンピュータおよびコンピュータに搭載される専用のソフトウェアプログラムにより実行される。復号方法の概要を図１０のフローチャートに示す。
【００３３】
まず、図９に示したような符号データを記録した記録媒体を、復号するための装置（コンピュータ）に読み込む。続いて、読み込んだデータのうち、ルックアップテーブルを参照することにより、上位可変長サンプル列から、固定長の上位固定長サンプル列すなわち線形予測誤差ｅ（ｔ）を復元してゆく（ステップＳ１１）。これにより、図８（ａ）に示したような固定長サンプル列が復元される。次に、上記〔数式１〕の左辺の項と右辺第１項を交換した式に基づいて、１２ビット固定長の上位サンプルデータｘ（ｔ）を順次復元していく（ステップＳ１２）。ステップＳ１２においては、各サンプル列は１２ビット固定長のままであるが、その値が変化することになる。続いて、復元した上位固定長サンプル列と下位固定長サンプル列を統合する（ステップＳ１３）。具体的には、上位固定長サンプル列から１２ビットを抽出し、下位固定長サンプル列から４ビットを抽出して順次統合する処理を行う。これにより、各サンプルが１６ビットのサンプル列が復元される。
【００３４】
次に、このような１６ビット固定長のサンプル列に対して、平坦部データを挿入していく（ステップＳ１４）。平坦部データの挿入は、平坦部データが有している先頭のサンプル番号を元に、サンプル列に挿入していく。これにより、図４（ａ）に示したようなサンプル列が復元される。
【００３５】
さらに、フレーム間差分データを利用して元のフレームデータを復元し、サンプル列に対して挿入していく（ステップＳ１５）。フレーム間差分データも、先頭のサンプル番号、および差分演算を行う対象としたフレームの情報を有しているので、これを利用して元のフレームを復元する。さらに復元したフレームを元のサンプル列の所定の位置に挿入する。例えば、図３の例では、フレーム間差分データ「Ａ２−Ａ１」は、自身がフレームＡ１との差分であるという情報を有しているので、フレームＡ１のサンプル列を利用してフレームＡ２を復元する。続いてフレーム間差分データ「Ａ２−Ａ１」が保有している先頭のサンプル番号を利用してサンプル列に挿入することになる。これにより、図３（ｂ）に示したようなサンプル列が復元される。
【００３６】
続いて、サンプル列に対して、チャンネル間差分データを挿入していく（ステップＳ１６）。チャンネル間差分データは、先頭のサンプル番号、最後尾のサンプル番号、元のサンプル列のチャンネル番号（上記の例ではＣｈ２）、参照したチャンネルのチャンネル番号（上記の例ではＣｈ１）を有しているので、参照チャンネルのサンプル値と差分のサンプル値とを用いて、元のチャンネルのサンプル値を復元した後、元のチャンネルのサンプル列に挿入する。これにより、図１（ａ）（ｂ）に示したようなサンプル列が復元される。この結果、アナログ信号をＰＣＭ化した状態のデジタル音響信号がデータの欠落無く復元されることになる。
【００３７】
（実現のための具体的構成）
以上、本発明による符号化方法および復号方法について説明したが、上記符号化方法は、現実には、コンピュータ等の演算処理装置で実行される。具体的には、図２のフローチャートに示したようなステップを上記手順で実行するためのプログラムをコンピュータに搭載しておく。そして、音響信号等の時系列信号をＰＣＭ方式等でデジタル化した後、コンピュータに取り込み、ステップＳ１〜ステップＳ６の処理を行った後、符号データをデジタルデータとしてコンピュータより出力して記録媒体に記録する。出力された符号データは、復号方法にしたがって復号される。具体的には、図１０のフローチャートに示したようなステップを上記手順で実行するためのプログラムをコンピュータに搭載しておく。そして、記録媒体に記録された符号データを、コンピュータに取り込み、ステップＳ１１〜ステップＳ１６の処理を行った後、デジタル音響信号等の時系列信号を復元して出力する。
【００３８】
以上、本発明の好適な実施形態について説明したが、本発明は、上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、フレーム間の演算を行うにあたり、フレーム長を固定長に設定して先頭から順次決定していったが、時系列信号の特徴からフレーム長を可変にして設定するようにしても良い。
【００３９】
【発明の効果】
以上、説明したように本発明によれば、時系列のサンプル列で構成される時系列信号に対して、全てのサンプル列を再現できるように情報量を圧縮するにあたり、サンプル列の中から所定の個数のサンプル列で構成されるフレームを複数個抽出し、抽出したフレーム間で相関演算を施し、フレーム間の相関が高い場合に一方のフレームのサンプル列を、各サンプルがより少ないビット数で表現されたフレーム間差分データとしてサンプル列から分離し、分離されたフレーム間差分データ、およびフレーム間差分データの分離により残ったサンプル列を所定のフォーマットで記録するようにしたので、分離した部分を少ないビット数で表現することにより、類似した振幅のパターンが繰り返し発生する時系列信号に対して十分な圧縮を行うことが可能となるという効果を奏する。
【図面の簡単な説明】
【図１】チャンネル間の演算による差分データ分離の様子を示す図である。
【図２】本発明に係る時系列信号の符号化方法の概要を示すフローチャートである。
【図３】フレーム間の演算による差分データ分離の様子を示す図である。
【図４】平坦部データ分離の様子を示す図である。
【図５】サンプルデータの上位ビットと下位ビットの分離の様子を示す図である。
【図６】ステップＳ５における予測誤差算出処理の様子を示す図である。
【図７】ビット長の変換に用いるルックアップテーブルを示す図である。
【図８】上位サンプルのビット長に変換を模式的に示した図である。
【図９】本発明に係る時系列信号の符号化装置により得られる符号データを示す図である。
【図１０】本発明に係る時系列信号の復号方法の概要を示すフローチャートである。
【図１】
2004198559.tif 000003
【図２】
2004198559.tif 000004
【図３】
2004198559.tif 000005
【図４】
2004198559.tif 000006
【図５】
2004198559.tif 000007
【図６】
2004198559.tif 000008
【図７】
2004198559.tif 000009
【図８】
2004198559.tif 000010
【図９】
2004198559.tif 000011
【図１０】
2004198559.tif 000012