JP3787986B2 - 音波形データ圧縮・復元方式とその動作を実行するためのプログラムを記録した記録媒体 - Google Patents
音波形データ圧縮・復元方式とその動作を実行するためのプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3787986B2 JP3787986B2 JP27439797A JP27439797A JP3787986B2 JP 3787986 B2 JP3787986 B2 JP 3787986B2 JP 27439797 A JP27439797 A JP 27439797A JP 27439797 A JP27439797 A JP 27439797A JP 3787986 B2 JP3787986 B2 JP 3787986B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- difference
- sound waveform
- compression
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、音波形データの圧縮方式に関し、圧縮前のデータと圧縮・復元後のデータが完全に一致するロスレス形態の新しい圧縮方式に関する。
【0002】
【従来の技術】
コンピュータゲーム装置や各種の娯楽施設においては、様々な音響効果を必要とし、そのための音源を持つ必要がある。しかし、音響効果を高めるための音源として大量の音を保存する場合には、音波形データの量が膨大となるため、データを圧縮することが望ましい。従来の圧縮方式の例としては、圧縮・復元にロスを生じない、いわゆるロスレス圧縮として、パソコン向けのLHAやUNIX向けのGZIPがあるほか、圧縮率を重視したロッシー圧縮として、ADPCM方式や特開昭58-60799写に開示された音声データの圧縮方法があげられる。
【0003】
LHAやGZIPの方式は、汎用的なデータの圧縮方式であり、データ内の文字列の中で同じ文字が連続して出現する場合、連続する文字列を圧縮する。
ADPCM方式と特開昭58-60799写に開示された音声データの圧縮方法は、音波形データの圧縮のための圧縮方式である。
【0004】
【発明が解決しようとする課題】
従来例には、以下のような問題点がある。
まず、ロスレス圧縮であるLHAやGZIPの方式は、汎用的なデータの圧縮方式で、連続する文字列を圧縮するため、音波形データのような連続的に変化するようなデータを圧縮するのには不向きであり、音波形データの圧縮率は低かった。
【0005】
他方、ADPCM方式と特開昭58-60799写の圧縮方法は、音声データの圧縮のための方式であるが、ADPCM方式と音声データの圧縮方法は、音波形データの圧縮のための圧縮方式であるため、LHAやGZIPに比べ、音波形データの圧縮率は高いが、データを復元しても完全な形でデータを復元出来ないロッシー圧縮のため、高品質な音を再生するのには不向きであった。そのため、高音質な音声を圧縮するのに、音波形データの圧縮に向いたロスレス圧縮技術が必要とされている。
【0006】
本発明は、前記の問題を解決するために、音波形データの圧縮率を高めた、データを元通りに完全な形で復元出来る音波形データ圧縮・復元に関するロスレス圧縮技術の提供と、それを実行するためのコンピュータのプログラムを記録した記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、前記の課題を、以下のような手段を用いて解決するものであり、特に立体音響生成する場合のように、同じ音源から発生して異なる位置で集音した互いに似ている音波形データや、音声のような周期波形を持つ音波形データを圧縮・保存するのに適している。
【0008】
すなわち、本発明の音波形データの圧縮方式において、音波形データの差分データをとり、該差分データの内、元の音波形データのビット数の1/2n の長さのビットで表せる差分データは元の音波形データのビット数の1/2n の長さのビットに圧縮保存し、表せない差分データはそのまま保存し、更に、各差分データの圧縮情報を保存する手段を有することにより、音波形データを元通り復元可能なロスレス圧縮を行い、音波形データの高い圧縮(=記録容量の削減)と高音質な音の再生を可能とする。ここでいう1/2n の長さのビットのnは、元の音波形データのビット長が2m (2≦m)ビットとすると、1≦n≦m−1である。
【0009】
音波形データの中でも、特に、同一音源から同時に複数のマイク等の入力装置により音波形データを取得した場合等、類似の音波形データが複数別個に存在する場合は、いづれか一つの音波形データを元にして、他のいづれか一つの音波形データとの差分をとり、その差分データを前記のビット圧縮を行い、保存する。この場合、音波形データの類似性が高いため、差分データの値が小さく、音波形データの圧縮を非常に高めることが可能となる。
【0010】
また、音声データ等のように、音波形データが周期波形である場合、音波形データの最初のピッチとそれ以降のピッチとの差分をとり、その差分データを前記のビット圧縮を行い、保存する。この場合、音波形データは、ピッチ単位に類似性の高い音波形データが繰り返す率が高いので、音声データ等の周期波形を持つ音波形データの圧縮率を高めることが出来る。
【0011】
また、差分をとる際に、元の音波形データに乗じると、元の音波形データのビット数の1/2n の長さのビットで表せる差分データが最も多くなるような定数を求め、該定数を比較する音波形データと比較される音波形データに乗じたものの差分データをとり、元の音波形データのビット数の1/2 n の長さのビットで表せる差分データに圧縮することにより、圧縮可能なデータを増やして、圧縮率を高めることが出来る。
【0012】
音波形データの復元方式において、前記の音波形データ圧縮方式を用いて圧縮したデータを、前記圧縮された差分データと各差分データの圧縮情報と前記差分計算パラメタを基に、該圧縮情報が非圧縮を表す場合は、その差分データをそのままデータとして取り出し、該圧縮情報が圧縮を表す場合は、削減したビットを追加して差分データを元に復元することにより、音波形データを元データ通りに復元するロスレス圧縮を可能した。
【0013】
【発明の実施の形態】
【0014】
【実施例1】
音波形データを圧縮・復元する時の、本発明の基本的構成を図1を用いて説明する。
【0015】
本発明の圧縮制御部3の差分計算パラメタ設定部3−1は、音声等の音波形データを、マイク等の入力装置1から直接入力するか、音波形データが格納された音波形データファイル2−1から入力し、圧縮率を高めるために、差分データ計算時に使用する各種パラメタを求め、パラメタを差分計算パラメタ格納部2−2に格納する。音波形データをマイク等により直接入力する場合は、音波形データを、一旦、記憶装置上の音波形データファイル2−1に格納する。
【0016】
差分計算パラメタには、時間差パラメタ・差分計算順序パラメタ・倍率パラメタの3種類があり、単一で使用することも、任意の組み合わせで、順不同で使用することも可能である。
【0017】
時間差パラメタとは、差分をとる際に、1ピッチの時間内で、最も差分の合計が小さくなるような時間差を計算したものであり、その時間差を用いて差分データをとり、その差分データを前記のビット圧縮を行い、保存する。この方法により、少し音波形データのピッチがずれているような類似の音波形データのズレを補正してから差分データをとり、圧縮することにより、音波形データの圧縮率を高めることが出来る。
【0018】
差分計算順序パラメタとは、差分をとる際に、差分をとる順序を、1ピッチの時間内の差分の合計が最も小さくなるような順序を求めたものであり、その順序に従って差分をとることにより、差分をとる順序を変えない場合に比べ、差分データの値を小さくし、差分データの圧縮率を高めることが出来る。
【0019】
倍率パラメタとは、差分をとる際に、2m ビットで表される元の音波形データに或る定数を乗じ、該音波形データとの差分データをとると、元の音波形データのビット数の1/2n の長さのビットで表せるデータが最も多くなるような定数を求めたものであり、該定数を比較する音波形データに乗じたものと比較される音波形データの差分データをとり、元の音波形データの1/2 n の長さのビットで表せるデータに圧縮することにより、圧縮可能なデータを増やして、圧縮率を高めることが出来る。
【0020】
差分計算用のパラメタを使用せず、単純なビット圧縮のみ行う場合は、差分計算パラメタ設定部を省略することが出来る。その場合、音波形データ2−1の入力は、差分計算・ビット圧縮部3−2が行い、ビット圧縮のみ行う。次に、差分計算・ビット圧縮部3−2で、差分計算パラメタを設定している場合は、それを使用して差分データを計算し、その差分データをビット圧縮し、圧縮データ格納部2−3に格納する。
【0021】
圧縮されたデータを復元する場合は、本発明の復元制御部4のビット復元部4−1が、圧縮データ格納部2−3に格納された圧縮データと差分計算パラメタ格納部2−2に格納されたパラメタを元に、圧縮したデータを復元し、復元データを直接、音声出力部5に渡すか、一旦、復元データ格納部2−4に復元データを格納し、音声出力部5が該データを入力することにより、スピーカ等の音声出力機器6で音声を再現出来る。
【0022】
音波形データの復元機能を持つ装置に関しては、差分計算パラメタ格納部2−2と圧縮データ格納部2−3のデータを、フロッピーディスクやCD−ROM等の可搬媒体メモリに記憶したものを読み込むか、または、回線経由で他のコンピュータのメモリ・記憶装置等からそれらのデータを読み込むことにより、音波形データの圧縮制御部3が組み込まれた装置とは独立した別の装置にすることが可能である。そのため、本発明を組み込んだ装置としては、音波形データの圧縮・復元の両方の機能を組み込んだ装置・圧縮機能のみ組み込んだ装置・復元機能のみ組み込んだ装置の3通りの装置の作成が可能である。なお、音声出力部5及び音声出力装置6は、復元機能を組み込んだ装置に組み入れてもよいし、別の装置にしてもよい。
【0023】
本発明の音波形データを圧縮・復元する際の処理概要のフローを、それぞれ、図2〜図4を用いて説明する。
まず、音波形データを圧縮する場合について、図2のフローチャートを用いて説明する。ステップS1で、差分計算パラメタを求めるか判断する。どの差分計算パラメタを使用するかは、事前に設定しておく。差分計算パラメタを求める場合は、ステップS2に進み、差分計算パラメタ設定部3−1が、音波形データ2−1を入力して、最適な差分計算パラメタを求め、それを差分計算パラメタ格納部2−2に格納する。音波形データを、マイク等の音声入力装置から直接入力する場合は、一旦、音波形データを音波形データ格納部2−1に格納する。ステップS2の処理が終わると、ステップS3に進み、音波形データと差分計算パラメタを元に、差分データを計算し、ビット圧縮を行い、圧縮データ格納部2−3に格納する。差分計算パラメタを使用しない場合は、ステップS4に進み、音波形データを元に、差分を計算し、ビット圧縮を行い、圧縮データ格納部2−3に格納する。
【0024】
圧縮する際に使用する差分計算パラメタの設定について、図3のフローチャートを用いて説明する。
差分計算パラメタには、時間差パラメタ・差分計算順序パラメタ・倍率パラメタの3種類があり、どれか1つを使用するか、幾つかを組み合わせて使用することが出来る。
【0025】
まず、ステップS10で、時間差パラメタを求めるかどうかを判断し、求める場合は、ステップS11で時間差パラメタを求める。類似の音波形データが複数ある場合や、周期波形の場合、音波形データのピッチ単位でみると、1ピッチの時間内で少し時間のズレを修正すれば、差分データの値が小さくなり、圧縮出来るデータが増える。時間差パラメタは、圧縮出来る差分データが最も多くなるような時間差を求めたものである。求めた時間差パラメタは、差分計算パラメタ格納部2−2に格納する。時間差パラメタを求めない場合は、ステップS12に進む。
【0026】
時間差パラメタの求め方の例は、次の通りである。比較のベースとなる音波形データファイルのデータの1ピッチ内のi番目のデータをYsrc,i とし、圧縮するファイルのデータの1ピッチ内のi番目のデータをYdest,iとすると、Ysrc,i とYdest,iの時間差dを考慮した差分δi は、式1の(1)式のようになる。
【0027】
【数1】
【0028】
1ピッチ内の差分の合計は、(2)式のようになる。
【0029】
【数2】
【0030】
時間差dの最適値の求め方は、例えば、音波形データの1ピッチを一定時間単位に100に分割してデータを作成している場合は、時間差dを−50〜50について(2)式によりΠを計算し、Πが最少となる時間差dを求める。
【0031】
時間差を用いて、差分データを(1)式で計算する場合、時間差がmとすると、mがプラスの時は、iが1からmまでは、Ysrc,i-d は1番目より前のデータとなり、比較するデータが無い。反対に、mがマイナスの時は、iがi−m+1以降のYsrc,i-d に比較するデータはない。比較するデータが無い場合には、Ysrc,i-d =0と見なして計算する。例えば、時間差が50・iが1の時、(1)式のYsrc,i-d はYsrc,-49 となり、該当するデータがないが、その時はYsrc,i-d =0と見なして計算する。該当するデータがない場合、Ysrc,i-d =0と見なすのではなく、mがプラスの時は、Ysrc,i-d の最後のm個は、Ydest,iと比較されずに残り、mがマイナスの時は、Ysrc,i-d の最初のm個は、Ydest,iと比較されずに残るので、i−d<1となった時は、Ysrc,i-d をYsrc,i-d+n として計算し、i−d>nとなった時は、Ysrc,i-d をYsrc,i-d-n として計算することにより、残ったデータと比較して差分データを求めてもよい。
【0032】
次に、ステップS12で、差分計算順序パラメタを求めるかどうかを判断し、求める場合は、ステップS13で差分計算順序パラメタを求める。差分を順番にとるのではなく、差分をとる順序を、全体の差分が最も小さくなるような順序を求めて、その順序で差分をとることにより、差分データの値が小さく、圧縮される差分データを多くすることが可能となる。差分計算順序パラメタは、このように、全体の差分が最も小さくなるような順序を求めたものである。求めた差分計算順序パラメタは、差分計算パラメタ格納部2−2に格納する。差分計算順序パラメタを求めない場合は、ステップS14に進む。
【0033】
差分計算順序パラメタの求め方の例は、次の通りである。差分をとる全組み合わせについて(2)式に示すようにΠを計算し、Πを小さい順にソートする。最もΠが小さい組み合わせを、最初の順序とする。その組み合わせを、Ysrc0・Ydest0 とすると、次に、Ysrc0かYdest0 が元データとなる最もΠが小さい組み合わせを求める。n番目の順序は、Ysrc0からYsrc n-1 、Ydest0 からYdest n-1の中から最もΠが小さい組み合わせを求める。
【0034】
次に、ステップS14で、倍率パラメタを求めるかどうかを判断し、求める場合は、ステップS15で倍率パラメタを求める。音波形データに定数を乗じると、圧縮出来る差分データの数が変動する。圧縮出来る差分データが最も多くなるような定数を求めて、その定数を比較元の音波形データに乗じ、その差分をとることにより、圧縮される差分データを多くすることが可能となる。倍率パラメタは、このように、圧縮出来る差分データが最も多くなるような定数を求めたものである。求めた倍率パラメタは、差分計算パラメタ格納部2−2に格納する。倍率パラメタを求めない場合は、処理を終了する。
【0035】
差分計倍率パラメタの求め方の例は、次の通りである。
【0036】
【数3】
【0037】
倍率パラメタをαとすると、(3)式を用いて、差分データを求める。時間差パラメタを使用しない場合は、(3)式の時間差dを0として、差分データを求める。αの最適値の求め方は、差分データが8ビットで表現されており、1ピッチを100に分割して音波形データをとっている場合、例えば、0.2〜1.5について、0.01毎にδi を計算し、|δi |<8となる差分データの数が最も多くなるαの値を求める。|δi |<8の8という数字は、差分データが8ビットで表現されており、1/2圧縮を行う場合、8ビットの1/2の4ビットで表現するためには、符号部1ビットを除くと、残りは3ビットであり、3ビットでは、23 未満の数字しか表現出来ないため、1/2圧縮を行うには、|δi |<8となる差分データとする必要があるからである。差分データを8ビットより大きいビットで表現する場合は、当然、表現するビット数に応じて8という数字は変わる。例えば、差分データを16ビットで表現し、1/2圧縮・1/4圧縮する場合、各圧縮可能な件数をカウントし、圧縮出来るビットの総合計が最も小さくなるαの値を求める。αは、小数点付きの数字のため、δi を計算すると小数点付きの数字となるが、小数点以下は切り捨てる。差分データの小数点以下を切り捨てても、(4)式を用いて復元することにより、データを完全な形で復元することが出来る。
【0038】
【数4】
【0039】
次に、圧縮された音波形データを復元する場合について、図4のフローチャートを用いて述べる。ステップS20で、差分計算パラメタ格納部2−2に使用しているパラメタがあるかどうかチェックし、差分計算パラメタを使用している場合はステップS21で、差分計算パラメタと圧縮データを入力して、ビット復元部4−1がデータを復元する。差分計算パラメタを使用していない場合は、ステップS23で、圧縮データのみを元にして、ビット復元部4−1がデータを復元する。復元されたデータは、ビット復元部4−1により、復元データ格納部2−3に格納されるか、直接、音声出力部5に渡され、スピーカ等の音声出力装置6を通して、音を再生する。
【0040】
次に、差分データをビット圧縮・復元する例を、図5を用いて説明する。
図5の圧縮の例では、8ビットの連続した差分データを1/2圧縮・復元する例をあげる。各1バイトのデータは、データがプラスかマイナスかを示す符号ビットである1ビットとデータの大きさを表す7ビットから構成されている。圧縮する場合は、符号ビットは圧縮出来ないので、そのまま残し、データ部の7ビットの内、上位4ビットが、データがマイナスの場合は、1111であると削除し、下位3ビットを残す。上位4ビットが、データがプラスの場合は、0000であると削除し、下位3ビットを残す。それ以外の場合は、圧縮出来ない。復元する場合は、部号ビットが1の場合は、マイナスデータと見なし、符号ビットの次に4ビット1111を追加し、部号ビットが0の場合は、プラスデータと見なし、符号ビットの次に4ビット0000を追加し、データを復元する。
【0041】
削除する上位4ビットは、復元時に削減したビットを元通り戻すことが出来ればよいので、データがマイナスの場合は、0000であると削除し、データがプラスの場合は、1111であると削除するようにしても良い。
【0042】
1つの音波形データをもっと大きいビットで表す場合、例えば、16ビットの音波形データで、圧縮後、非圧縮・1/2圧縮・1/4圧縮の3パターンにする場合は、削除・追加するビット数は、それぞれ、0・8・12となる。
【0043】
次に、どの差分データを圧縮したかを表す圧縮情報の保存の例を、図6を用いて説明する。
例1は、差分データが8ビットで1/2圧縮した場合で、圧縮情報を圧縮したデータ中に持つ例である。圧縮データには、圧縮出来なかったデータと圧縮出来たデータが混在しており、各データの先頭にどのような圧縮をしたかを示す圧縮フラグが付加されている。この例では、非圧縮か1/2圧縮しかないので、圧縮フラグは、非圧縮か1/2圧縮を区別するのに必要な1ビットで表すことが出来る。この例では、0の時は非圧縮で、1の時は1/2圧縮である。この圧縮データを復元する際は、まず、先頭の1ビットの圧縮フラグをチェックし、非圧縮ならば、次の8ビットをデータとして取り出し、そのまま復元データとし、その次の1ビットの圧縮フラグをチェックして、1/2圧縮ならば、継続する4ビットを取り出して、その4ビットの符号ビットに応じて元の8ビットのデータに復元する。このようにして、全データを復元する。
【0044】
1つの音波形データをもっと大きいビットで表す場合は、圧縮フラグのビットは、圧縮パターンを区別するのに必要な最少のビット数を用いる。例えば、16ビットの音波形データで、圧縮後、非圧縮・1/2圧縮・1/4圧縮の3パターンにする場合は、圧縮フラグのビットは、3パターンの区別に必要な2ビットとなる。
【0045】
圧縮パターンは必ずしも、1/2n (元データが2m の場合、1≦n≦m−1)毎としなくても、一定のビット単位、例えば4ビット単位としてもよい。
例2は、差分データが8ビットで1/2圧縮した場合で、圧縮情報を圧縮したデータ外に、別ファイルとして持つ例である。この例の場合、差分データを圧縮したファイル中には、非圧縮データと圧縮データが区切りなく、連続して入っており、この圧縮ファイルだけでは、圧縮データを復元出来ない。圧縮データを区別するために、圧縮情報ファイルを作成し、何番目のデータを圧縮したかが保存されている。数字を保存するのに必要なバイトは、差分データに入っているデータ数を表せるのに足りるバイトである。この圧縮情報ファイルには、圧縮したデータが何番目のデータであるかが保存されている。圧縮率が50%を上回るような場合は、非圧縮データが何番目のデータであるかを保存してもよい。この情報に基づいて、1データとして取り出すビットが決まるので、復元が可能となる。圧縮情報ファイルは、音波形データが8ビットで、非圧縮・1/2圧縮しかない場合は1つでよいが、音波形データが16ビットで、非圧縮・1/2圧縮・1/4圧縮する場合は、いずれか2つのパターンの圧縮情報ファイルを別々に作成すればよい。つまり、圧縮パターン数−1個の圧縮ファイルを、各圧縮パターン毎に分けて作成する。
【0046】
【実施例2】
図7は、記録済みの類似の音波形データが、複数ある場合の実施例である。図8の(1)は、複数の類似の音波形データの例である。
【0047】
差分計算パラメタ設定部3−1は、比較のベースとなる音波形データファイル2−11と比較される音波形データファイル2−12を入力し、時間差パラメタ・差分計算順序パラメタ・倍率パラメタの内、事前に使用すると決めたパラメタに関して、パラメタを求め、差分計算パラメタ格納部2−2に格納する。差分計算パラメタが求まると、音波形データファイル2−11・2−12と差分計算パラメタを元に、差分計算・ビット圧縮部3−2が、音波形データ2−12を圧縮し、圧縮データ格納部2−3に格納する。
【0048】
圧縮データ格納部2−3を復元するには、該ファイルと差分計算パラメタと比較のベースとなった音波形データ2−11を元に、音波形データを復元し、復元データ格納部2−4に格納するか、直接、音声出力部5に復元データを渡すかして、音声出力装置6によって、音声を再生する。
【0049】
記録済みの類似の音波形データファイルが複数あり、その中の 1 つの音波形データファイルをベースにして、他の音波形データファイルとの差分データを求める点を除いて、圧縮・復元する方法は、時間差パラメタ・差分計算順序パラメタ・倍率パラメタの少なくとも 1 つの差分計算パラメタを求め、該差分計算パラメタを用いて差分データを圧縮・復元する点において、実施例1と同様である。請求項2の方式に基づく音波形データの圧縮・復元の特徴は、類似の音波形データファイルの1つが比較のベースとなるため、ベースとなった音波形データファイル自体の圧縮は行わないということである。
【0050】
【実施例3】
図9は、音波形データが、周期波形の場合の実施例である。図8の(2)は、周期波形の音波形データの例である。
【0051】
この例の場合、比較のベースとなる音波形データは、音波形データファイル2−1内にある音波形データの最初の1ピッチであり、比較される音波形データは、2番目以降の音波形データのピッチである。つまり、最初の1ピッチと2番目以降の音波形データの差分データを順番に求めて圧縮する。但し、1番目と2番目、2番目と3番目というように隣接するピッチの差分データを求めてもよい。それ以降の処理については、圧縮時に入力となる音波形データファイルが1つとなり、復元時に入力するファイルは、差分計算パラメタ格納部2−2と圧縮データ格納部2−3だけであること以外、実施例2と同じなので、説明は省略する。類似の音波形ファイルを複数入力する場合に比べ、復元時に比較する元となる圧縮されていない音波形ファイルを入力する必要はない。
【0052】
周期波形の音波形データのピッチの差分データを求める点を除いて、圧縮・復元する方法は、時間差パラメタ・差分計算順序パラメタ・倍率パラメタの少なくとも 1 つの差分計算パラメタを求め、該差分計算パラメタを用いて差分データを圧縮・復元する点において、実施例1と同様である。請求項3の方式に基づく音波形データの圧縮・復元の特徴は、音波形データファイルが1つであり、最初の1ピッチが比較のベースとなるため、ベースとなった1ピッチのみ圧縮は行わないということである。
【0053】
本発明である音波形データ圧縮・復元方式とその動作を実現するプログラムを記録した記録媒体は、図10の記録媒体の例で示すように、CD−ROMやフロッピーディスク等の可搬型記憶媒体だけでなく、回線先の他の記憶装置や、コンピュータのハードディスクやRAM等の記憶媒体のいずれでもよく、プログラム実行時には、プログラムは、ローディングされ、主メモリ上で実行される。
【0054】
【発明の効果】
本発明によれば、立体音響を生成する場合のように、同じ音源から発生して異なる位置で集音した類似の音波形データや音声等の周期波形を持つ音波形データの効率的なロスレス圧縮が可能となる。この方法で圧縮されたデータは、ロスレス圧縮なので、音質は損なわれず、高品質な音の再生が可能となる。また、データの圧縮率が高いため、大量のデータを記録可能で、データの復元に必要な伸長速度も速い。
【図面の簡単な説明】
【図1】 本発明の基本構成図である。
【図2】 本発明の圧縮処理の概要のフローチャートである。
【図3】 本発明の差分計算パラメタの設定のフローチャートである。
【図4】 本発明の復元処理の概要のフローチャートである。
【図5】 本発明の差分データのビット圧縮・復元の例である。
【図6】 本発明の圧縮情報保存の例である。
【図7】 類似の音波形データファイルが複数ある場合の実施例である。
【図8】 音波形データの例である。
【図9】 音波形データが周期波形の実施例である。
【図10】記憶媒体の例である。
【符号の説明】
1 マイク等の音声入力装置
2−1 音波形データ記録ファイル
2−2 差分計算パラメタファイル
2−3 圧縮データファイル
2−4 復元データファイル
3 圧縮制御部
3−1 差分計算パラメタ設定部
3−2 差分計算・ビット圧縮部
4 復元制御部
5 音声出力部
6 スピーカ等の音声出力装置
7 回線先の記憶装置
8 CD−ROMやフロッピーディスク等の可搬型記憶媒体
8−1 CD−ROM
8−2 フロッピーディスク
9 コンピュータ
10 コンピュータ上のRAM/ハードディスク等の記憶媒体
Claims (6)
- 2m ビットで表されるデジタル値に変換された音波形データの圧縮方式において、
ビット圧縮に用いる差分計算パラメタを格納しておく差分計算パラメタ格納部と、
ビット圧縮した差分データと非圧縮の差分データを格納する圧縮データ格納部と、
前記差分計算パラメタを用いて、前記音波形データを入力して差分データをとり、該差分データをビット圧縮し、前記圧縮データ格納部に前記ビット圧縮した差分データを出力する圧縮手段と、
前記差分データを圧縮した際の圧縮情報を作成する圧縮情報作成手段と、
1ピッチの時間内で最も差分の合計が小さくなるような時間差を計算して求めた時間差パラメタと、差分をとる順序を1ピッチの時間内の差分の合計が最も小さくなるような順序を求めた差分順序パラメタと、元の音波形データの差分データが元の音波形データのビット数の1/2n の長さのビット(但し、1≦n≦m−1)で表せるデータが最も多くなるような定数を求めた倍率パラメタの内、事前に設定されている少なくとも1つの差分計算パラメタについて、前記音波形データを入力して、求める差分計算パラメタに応じた差分データを計算し、該計算結果に基づいて、最適な差分計算パラメタを求め、求めた差分計算パラメタを前記差分計算パラメタ格納部に格納する差分計算パラメタ設定手段とを有し、
前記圧縮手段は、前記差分計算パラメタ格納部に格納された差分計算パラメタを用いて前記音波形データの差分データを求め、該差分データの内、元の音波形データのビット数の1/2n の長さのビットで表せる差分データは元の音波形データの長さの1/2n の長さのビットに圧縮し、前記圧縮データ格納部に前記ビット圧縮した差分データを出力し、元の音波形データのビット数の1/2n の長さのビットで表せない差分データは非圧縮のまま、前記圧縮データ格納部に出力し、
前記圧縮情報作成手段は、圧縮情報ファイルを作成し、何番目の差分データを圧縮したかと、前記圧縮した差分データの圧縮パターンを識別可能にするビットを前記圧縮情報ファイルに出力することにより、音波形データのロスレス圧縮を行うことを特徴とする音波形データ圧縮方式。 - 請求項1において、前記差分データをとる手段は、立体音響生成用の類似の音波形データが複数別個に存在する場合は、いずれか一つの音波形データを元にして、他のいずれか一つの音波形データとの差分データをとることにより、比較される音波形データのロスレス圧縮を行うことを特徴とする音波形データ圧縮方式。
- 請求項1において、前記差分データをとる手段は、音波形データが周期波形である時は、音波形データの最初のピッチとそれ以降のピッチとの差分データをとることにより、音波形データのロスレス圧縮を行うことを特徴とする音波形データ圧縮方式。
- 請求項2または請求項3において、差分をとる際に、元の音波形データに乗じると、元の音波形データのビット数の1/2n の長さのビットで表せる差分データが最も多くなるような定数を求める手段と、請求項2または請求項3の差分データをとる手段に替えて、該定数を比較する音波形データに乗じたものと比較されるデータの差分データをとる手段を有することにより、音波形データのロスレス圧縮を行うことを特徴とする音波形データ圧縮方式。
- 2m ビットで表されるデジタル値に変換された音波形データの圧縮方式において、
コンピュータに、
ビット圧縮に用いる差分計算パラメタを用いて、前記音波形データを入力して差分データをとり、該差分データをビット圧縮し、前記ビット圧縮した差分データを出力する圧縮ステップと、
前記差分データを圧縮した際の圧縮情報を作成する圧縮情報作成ステップと、
1ピッチの時間内で最も差分の合計が小さくなるような時間差を計算して求めた時間差パラメタと、差分をとる順序を1ピッチの時間内の差分の合計が最も小さくなるような順序を求めた差分順序パラメタと、元の音波形データの差分データが元音波形データのビット数の1/2n の長さのビット(但し、1≦n≦m−1)で表せるデータが最も多くなるような定数を求めた倍率パラメタの内、事前に設定されている少なくとも1つの差分計算パラメタについて、前記音波形データを入力して、求める差分計算パラメタに応じた差分を計算し、該計算結果に基づいて、最適な差分計算パラメタを求め、求めた差分計算パラメタを前記差分計算パラメタとして記憶するステップと、
前記圧縮ステップにおいて、前記差分計算パラメタを用いて前記音波形データの差分データを求め、該差分データの内、元の音波形データのビット数の1/2n の長さのビットで表せる差分データは元の音波形データの1/2n の長さのビットに圧縮し、前記ビット圧縮した差分データを圧縮データ格納部に出力し、元の音波形データのビット数の1/2n の長さのビットで表せない差分データは非圧縮のまま、圧縮データ格納部に出力し、
前記圧縮情報作成ステップにおいて、圧縮情報ファイルを作成し、何番目の差分データを圧縮したかと、前記圧縮した差分データの圧縮パターンを識別可能にするビットを圧縮情報ファイルに出力する機能を実行するステップとを実行させるための圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 2m ビットで表されるデジタル値に変換された音波形データを入力して、ビット圧縮に用いる差分計算パラメタを用いて、前記音波形データを入力して差分データをとり、該差分データをビット圧縮し、前記圧縮データ格納部に前記ビット圧縮した差分データを出力し、前記差分データを圧縮した際の圧縮情報を作成し、
1ピッチの時間内で最も差分の合計が小さくなるような時間差を計算して求めた時間差パラメタと、差分をとる順序を1ピッチの時間内の差分の合計が最も小さくなるような順序を求めた差分順序パラメタと、元の音波形データの差分データが元の音波形データのビット数の1/2 n の長さのビット(但し、1≦n≦m−1)で表せるデータが最も多くなるような定数を求めた倍率パラメタの内、事前に設定されている少なくとも1つの差分計算パラメタについて、前記音波形データを入力して、求める差分計算パラメタに応じた差分データを計算し、該計算結果に基づいて、最適な差分計算パラメタを求め、
圧縮する際に、前記最適な差分計算パラメタを用いて前記音波形データの差分データを求め、該差分データの内、元の音波形データのビット数の1/2 n の長さのビットで表せる差分データは元の音波形データの長さの1/2 n の長さのビットに圧縮して出力し、元の音波形データのビット数の1/2 n の長さのビットで表せない差分データは非圧縮のまま出力し、
圧縮情報を作成する際に、何番目の差分データを圧縮したかと、前記圧縮した差分データの圧縮パターンを識別可能にするビットを出力し、
前記出力した差分データと前記出力した圧縮情報を用いて、ビット圧縮された音波形データを復元する方式において、
コンピュータに、
前記ビット圧縮された音波形データの差分データを入力して、圧縮された時の各差分データの前記圧縮情報と圧縮時に用いられた前記最適な差分計算パラメタを基に、該圧縮情報が非圧縮を表す場合は、その差分データをそのままデータとして取り出し、該圧縮情報が圧縮を表す場合は、削減したビットを追加して圧縮前の差分データを求め、元の音波形データを復元する機能を実行するステップとを実行させるためのデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27439797A JP3787986B2 (ja) | 1997-10-07 | 1997-10-07 | 音波形データ圧縮・復元方式とその動作を実行するためのプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27439797A JP3787986B2 (ja) | 1997-10-07 | 1997-10-07 | 音波形データ圧縮・復元方式とその動作を実行するためのプログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11112353A JPH11112353A (ja) | 1999-04-23 |
JP3787986B2 true JP3787986B2 (ja) | 2006-06-21 |
Family
ID=17541107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27439797A Expired - Fee Related JP3787986B2 (ja) | 1997-10-07 | 1997-10-07 | 音波形データ圧縮・復元方式とその動作を実行するためのプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3787986B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115940960B (zh) * | 2023-03-10 | 2023-05-12 | 湖南大学 | 一种用于波形数据的无损压缩方法、系统及介质 |
-
1997
- 1997-10-07 JP JP27439797A patent/JP3787986B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11112353A (ja) | 1999-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007508753A (ja) | データ圧縮システム及び方法 | |
JP2007508753A5 (ja) | ||
JP3311241B2 (ja) | データ圧縮及び伸長方法 | |
JP6021498B2 (ja) | データ圧縮装置、データ圧縮プログラム、データ圧縮システム、データ圧縮方法、データ伸張装置、データ圧縮伸張システム、および圧縮データのデータ構造 | |
US10515618B2 (en) | Waveform data structure, waveform data storage device, waveform data storing method, waveform data extracting device, waveform data extracting method and electronic musical instrument | |
JP3787986B2 (ja) | 音波形データ圧縮・復元方式とその動作を実行するためのプログラムを記録した記録媒体 | |
JPH11514165A (ja) | 損失を伴わない波形データ圧縮装置及び方法 | |
JP6125807B2 (ja) | データ圧縮装置、データ圧縮プログラム、データ圧縮システム、データ圧縮方法、データ伸張装置、およびデータ圧縮伸張システム | |
US5739778A (en) | Digital data formatting/deformatting circuits | |
JP4736331B2 (ja) | 音響信号の再生装置 | |
JP6125808B2 (ja) | データ圧縮装置、データ圧縮プログラム、データ圧縮システム、およびデータ圧縮方法 | |
JP2004258059A (ja) | 時系列信号の圧縮解析装置および変換装置 | |
JP2004266587A (ja) | 時系列信号の符号化装置および記録媒体 | |
JP4109124B2 (ja) | 時系列信号の符号化装置 | |
JP2005151327A (ja) | Pcmデータ圧縮・伸長方法及び装置 | |
JP3603070B2 (ja) | 圧縮コード生成方法、および圧縮コード展開方法 | |
JP3912304B2 (ja) | 圧縮データ構造、波形生成装置および波形記憶装置 | |
JP7432386B2 (ja) | プログラム、情報処理方法、及び情報処理装置 | |
JP2004198559A (ja) | 時系列信号の符号化方法および復号方法 | |
JP3889738B2 (ja) | 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム | |
JP6130128B2 (ja) | 圧縮データのデータ構造、記録媒体、データ圧縮装置、データ圧縮システム、データ圧縮プログラム、およびデータ圧縮方法 | |
JP6146686B2 (ja) | データ構造、データ格納装置、データ取り出し装置および電子楽器 | |
JPH0546176A (ja) | データ圧縮伸張装置およびそれを用いた電子楽器 | |
JP2003271198A (ja) | 圧縮データ処理装置、方法および圧縮データ処理プログラム | |
JP2003091300A (ja) | 音声圧縮方法、音声伸張方法、及び音声圧縮装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060220 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060320 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090407 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140407 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |