JP4139697B2 - 時系列信号の符号化方法および装置 - Google Patents
時系列信号の符号化方法および装置 Download PDFInfo
- Publication number
- JP4139697B2 JP4139697B2 JP2003017224A JP2003017224A JP4139697B2 JP 4139697 B2 JP4139697 B2 JP 4139697B2 JP 2003017224 A JP2003017224 A JP 2003017224A JP 2003017224 A JP2003017224 A JP 2003017224A JP 4139697 B2 JP4139697 B2 JP 4139697B2
- Authority
- JP
- Japan
- Prior art keywords
- sample
- error
- encoding
- prediction error
- prediction
- 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
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【産業上の利用分野】
本発明は、音楽制作、音響データの素材保管、ロケ素材の中継など音楽制作分野、特にCDよりも品質の高い高精細オーディオ制作を行う分野、CD、DVD等のデジタル記録媒体を用いたオーディオ記録再生分野、遠隔医療における生体信号の伝送等、データの改変が嫌われる分野等において好適なデータの可逆圧縮技術に関する。
【0002】
【従来の技術】
従来より、音響信号の圧縮には様々な手法が用いられている。音響信号を圧縮して符号化する手法として、MP3(MPEG−1/Layer3)、AAC(MPEG−2/Layer3)などが実用化されている。このような圧縮符号化方式により、音響信号を小さいデータとして扱うことが可能となり、データの記録・伝送の効率化に貢献している。
【0003】
上述のようなMP3、AAC等はいずれもロッシー符号化方式といわれるものであり、効率的な圧縮が可能であるが、復号化にあたって、少なからず品質の劣化を伴い、原信号を完全に再現することはできない。そのため、音楽制作、素材保管、ロケ素材の中継など音楽制作分野では、これらの符号化方式を適用できず、非効率ではあるが、非圧縮で保存・伝送する方式がとられている。特に最近は高精細オーディオを扱うプロダクションが増え、素材容量が膨大になり、ワークディスクを管理する上で問題になってきていた。
【0004】
最近では、上記問題を解決するため、音響信号を可逆圧縮符号化する方法として、予測符号化を利用し、予測誤差のデータを出現頻度に応じた符号化処理と組み合わせたものも提案されている(例えば、特許文献1参照)。
【0005】
また、本出願人も、音響信号のサンプル列に対してチャンネル間、フレーム間の差分演算を行って、各サンプルの値を小さくした後、予測符号化を利用してデータの圧縮を行う技術について提案している。(特許文献2参照)。
【0006】
【特許文献1】
特開2002−278600号公報
【特許文献2】
特願2002−231150号
【0007】
【発明が解決しようとする課題】
しかしながら、上記特許文献1、特許文献2で提案した技術では、予測の方式が1つに限定されている。例えば、特許文献2に記載の技術では、過去2サンプルに基づく予測符号化を提案している。過去2サンプルに基づく予測符号化が適用できるコンテンツのジャンルは最も広いが、変化が緩やかなコンテンツは過去1サンプル、変化が激しいコンテンツは過去3サンプル以上に基づいて予測符号化を行った方が予測誤差が小さくなることが確認されている。そこで、複数の計算式を準備しておき、コンテンツに合わせて適切なものを選択する方式もとれるが、コンテンツ全体が均一な性質をもっていないと圧縮効果が得られず、特にヴォーカルやミックスされた音楽では、圧縮効率が低下するという問題がある。
【0008】
また、特許文献2で提案した内容では、あらかじめ設定した圧縮困難な固定ビット長の量子化雑音成分を可変長符号化対象から分離する手法をとっていた。このときの固定ビット長は、A/D変換器のビット精度や、オーディオ収録時の条件などに依存してコンテンツごとに異なるため、随時最適な値を設定する必要がある。さらに、コンテンツ内においても信号振幅の変化により最適な固定ビット長が変化することが判明し、一律に処理すると圧縮効果が低下するという問題がある。
【0009】
上記のような点に鑑み、本発明は、時系列信号内の信号特性の変化に伴って、随時最適な方式を選択していくことにより、より効率の高い圧縮を行うことが可能であると共に、復号時には、元の時系列信号を完全に復号することが可能な時系列信号の符号化方法および装置を提供することを課題とする。
【0010】
【課題を解決するための手段】
上記課題を解決するため、本発明では、時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法として、前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて複数の予測誤差値を算出する予測誤差算出段階、過去のサンプル列の予測誤差値の各予測計算式別の累積値である累積誤差に基づいて、前記予測誤差算出段階で算出された複数の予測誤差値の中から、符号化対象の予測誤差値として1つを選択する符号化対象誤差選択段階、前記符号化対象として選択された予測誤差値を有する誤差サンプルに対して可変長符号で符号化を行う可変長符号化段階を有し、前記予測誤差算出段階、符号化対象誤差選別段階、可変長符号化段階を全サンプルについて実行するようにしたことを特徴とする。
【0011】
本発明によれば、各サンプルについて、複数の予測計算式に基づいて複数の予測誤差値を算出し、過去のサンプル列に対する各計算式別の累積予測誤差が最小となる計算式の予測誤差を、そのサンプルの予測誤差として選出するようにしたので、時間の変化に伴う信号波形の変化に応じて、最適な計算式に基づいて予測誤差を算出するようにしたので、より効率の高い圧縮を行うことが可能となる。
【0012】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(時系列信号の構成)
まず、本発明で符号化対象とする時系列信号について説明する。ここでは、時系列信号として複数のチャンネルを有する音響信号の場合を例にとって説明する。まず、時系列信号であるアナログの音響信号をデジタル化する。これは、従来の一般的なPCMの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えば良い。本実施形態では、サンプリング周波数44.1KHz、量子化ビット数16ビットで正負の符号を記録した場合を想定して以降説明する。サンプリング周波数44.1KHzでサンプリングすると、1秒あたり44100個のサンプルにより構成されるサンプル列ができることになる。図1に、先頭からの所定数のサンプルを模式的に示す。図1において横軸は時刻t、縦軸は振幅x(t)を示す。図1において、t−4〜t+5の数字は各サンプルのサンプル番号を示しており、上述のように44.1KHzでサンプリングすると、この10サンプルは、1/4410秒に相当する。なお、ここでは、サンプル番号と時刻を同義で用いている。これは、サンプル番号が時刻の変化に伴って昇順に付与されており、時刻にサンプリング周波数を乗じた値がサンプル番号となるためである。また、図1において各サンプル番号から延びる線分は振幅値を示しているが、この振幅値は、上述のように量子化ビット数16ビットで正負の符号を記録した場合、−32768〜32767の値をとることになる。
【0013】
(処理概要)
続いて、上記のような時系列信号に対する符号化処理について説明していく。まず、最初に、適応型線形予測符号化を行う。適応型線形予測符号化の処理概要を図2のフローチャートに示す。図2において、まず、あらかじめ準備された複数の予測計算式を用いて、各予測計算式に対応した線形予測誤差を算出する(ステップS1)。具体的には、サンプル番号tの予測誤差を算出する予測計算式として、以下の〔数式1〕〜〔数式4〕を用意している。
【0014】
〔数式1〕
e1(t)=x(t)−x(t−1)−e1(t−1)/2
【0015】
〔数式2〕
e2(t)=x(t)−2×x(t−1)+x(t−2)−e2(t−1)/2
【0016】
〔数式3〕
e3(t)=x(t)−3×x(t−1)+3×x(t−2)−x(t−3)−e3(t−1)/2
【0017】
〔数式4〕
e4(t)=x(t)−4×x(t−1)+6×x(t−2)−4×x(t−3)+x(t−4)−e4(t−1)/2
【0018】
上記〔数式1〕〜〔数式4〕において、e1(t)〜e4(t)は各予測計算式による時刻tのサンプルにおける予測誤差であり、x(t)〜x(t−4)は時刻t〜t−4における振幅値である。
【0019】
上記〔数式2〕における「2×x(t−1)−x(t−2)」、上記〔数式3〕における「3×x(t−1)−3×x(t−2)+x(t−3)」、上記〔数式4〕における「4×x(t−1)−6×x(t−2)+4×x(t−3)−x(t−4)」は過去の2〜4個のサンプルに基づく線形予測成分である。この線形予測成分、および、直前のサンプルにおいて算出された予測誤差「e1(t−1)/2」〜「e4(t−1)/2」(誤差フィードバック成分)を用いて時刻tにおける予測誤差e1(t)〜e4(t)を算出する。
【0020】
続いて、上記各予測計算式別の予測誤差値の絶対値の累積である累積誤差が最小となる線形予測誤差をそのサンプルの予測誤差として選出する(ステップS2)。ここでは、累積誤差という考え方を用いている。具体的には、各予測計算式〔数式1〕〜〔数式4〕により算出された予測誤差の過去のサンプルについての累積値をR1〜R4として設定する。そして、この累積誤差R1〜R4のうち、最小となるものに対応する予測誤差を選出する。例えば、R1〜R4のうち、R2が最小であったとする。この場合、〔数式2〕で算出された予測誤差e2(t)を符号化対象とする予測誤差e(t)として選出することになる。選出された予測誤差e(t)はサンプルの元の値x(t)と置き換えられて以降処理が行われることになる。元のサンプルと区別するために予測誤差e(t)を記録したサンプルを誤差サンプルと呼ぶことにする。
【0021】
続いて、累積誤差R1〜R4に各予測誤差e1(t)〜e4(t)の絶対値を加算する(ステップS3)。具体的には、以下の〔数式5〕に示すように、累積誤差値となる変数R1〜R4を更新していく。同時に、各サンプルの処理を行う度に、カウンタを1つづつ加算していく処理を行う。
【0022】
〔数式5〕
R1←R1+|e1(t)|
R2←R2+|e2(t)|
R3←R3+|e3(t)|
R4←R4+|e4(t)|
【0023】
続いて、カウンタが所定回数を超えたかどうかの判定を行う(ステップS4)。本実施形態では、この所定回数を100回として設定している。すなわち、カウンタが100を超えたかどうかの判定を行う。
【0024】
この結果、カウンタが100を超えていたら、累積誤差を半分にする(ステップS5)。具体的には、以下の〔数式6〕に示すように、累積誤差となる変数R1〜R4を2で除算する。同時に、カウンタを0にリセットする。すなわち、ここでのR1〜R4は純粋な意味での累積誤差ではなく、累積誤差の移動平均となっている。本実施形態では、直前の最大100サンプルまでは累積されるが、それ以前のものは半分になるように処理する。これにより、時間的に離れたサンプルの影響が小さくなるようにしている。
【0025】
〔数式6〕
R1←(R1)/2
R2←(R2)/2
R3←(R3)/2
R4←(R4)/2
【0026】
上記ステップS1〜ステップS5の処理を時系列信号中の全時刻全サンプルに渡って実行することにより、全サンプルの値が元の振幅値x(t)から対象誤差e(t)に置き換えられることになる。
【0027】
続いて、各誤差サンプルの正負極性処理を行う(ステップS6)。上記ステップS1〜ステップS5の処理により各サンプルの値は、振幅値から予測誤差に置き換えられたが、各サンプルのビット形式は、当初のままである。通常、コンピュータ等の計算機で演算される場合は、各データは32ビット単位で処理され、2の補数表現を用いて表現されている。これを、正負の符号付き絶対値表現に変換し、なおかつ、その絶対値部分を上位に1ビット移動させ、正負の符号ビットをLSB(最下位ビット)に移動させる。ステップS6によるビット構成の変換の様子を模式的に示すと図3のようになる。図3(a)は処理前のビット構成であり、図3(b)は処理後のビット構成である。このように正負の符号ビットをLSBに移動させるのは、後述するステップS7以降(可変長符号化)の処理で、各誤差サンプルのビット長を検出し易くするためである。
【0028】
ここからは、各誤差サンプルを可変長に変換する処理を行っていく。本実施形態におけるビット長変換は、一般にゴロム符号化と呼ばれる方式を採用している。具体的には、1サンプルを構成するビット成分を上位ビット成分と下位ビット成分に分け、下位ビット成分は変更を加えずそのままとし、上位ビット成分は、上位ビットだけを十進数変換した数値分のビット「0」を並べ、最後にセパレータビット「1」を加えた配列とする。例えば、8ビットのビット成分「00101000」を考えてみる。このとき、下位ビット成分を4ビットとすると、下位ビット成分は「1000」となる。上位ビットは「0010」であるため、これを十進数変換した「2」個分の「0」を配列して最後に「1」を加えた「001」に変換される。この結果、8ビットのビット列「00101000」は、7ビットのビット列「0011000」に変換されることになる。本実施形態では、変換の前後でビット成分を不変とする下位ビット成分のビット長を各サンプルで可変とするようにしている。
【0029】
以下、具体的に説明していく。図4は可変長符号化の概要を示すフローチャートである。まず、過去のサンプルのビット長の移動平均である平均ビット長Bfを算出する(ステップS7)。平均ビット長Bfは、過去のビット長の累積値である累積ビット長RBを、過去のサンプル数を基にしたカウンタCで除算することにより求められる。すなわち、Bf=RB/Cで算出される。累積ビット長RBは、初期状態では0であるので、t=1のサンプルを処理する場合には、t=1のサンプルのビット長Bd(t)を初期値として設定しておく。また、初期のカウンタC=1と設定する。
【0030】
続いて、時刻tにおけるサンプルのビット長Bd(t)を算出する(ステップS8)。t=2以降のサンプルについては、平均ビット長Bfの算出後、サンプルのビット長Bd(t)を算出する。このビット長Bd(t)は、上記ステップS6のようにビット構成の変換を行ったことにより算出し易くなっている。図3(b)に示したようなビット構成に変換したことにより、各サンプルのビット構成において先頭にビット「1」が出現したところからがビット長となる。次に、変更部のビット長Bvを算出する(ステップS9)。これは、上記誤差サンプルのビット長Bd(t)から平均ビット長Bfを減じることにより算出される。続いて、データの符号出力を行う(ステップS10)。具体的には、上位Bvビットを十進数変換した数値分だけ「0」を出力した後、セパレータビット「1」を出力し、下位Bfビットを不変部として出力する。符号出力は、ハードディスク、CD−R等の外部記憶装置への記録として行われることになる。次に、累積ビット長RBにビット長Bd(t)を加算する(ステップS11)。同時に、各誤差サンプルの処理を行う度に、カウンタCを1つづつ加算していく処理を行う。続いて、カウンタCが所定の数を超えたかどうかを判定する(ステップS12)。所定の数としては、ここでも100程度を設定している。そのため、カウンタが100を超えたかどうかを判断することになる。この結果、カウンタが100を超えていたら、累積ビット長RBを半分にする(ステップS13)。具体的には、累積ビット長となる変数RBを2で除算する。同時に、カウンタCを半分に1/2にする。
【0031】
上記のようにして、各サンプルについて可変ビット長での符号化が行われて行く。符号化により得られた可変長誤差サンプルは、符号データとして目的とする記録媒体に記録されることになる。なお、ステップS1〜ステップS13の処理について、説明の便宜上、図2の適応型線形予測と図4の可変長符号化に分けて説明したが、実際は、各サンプルについてステップS1〜ステップS13までの処理を並行して行うようにしている。すなわち、図1に示したようにステップS4、ステップS5の処理後、ステップS1に戻るのではなく、ステップS6〜ステップS13の処理を行った後、ステップS1に戻るようにしている。
【0032】
(他の圧縮方式との組み合わせ)
本発明は、上記説明の内容のみであっても十分に圧縮効果をあげることが可能であるが、他の圧縮方式と組み合わせることで、より高い効果を得ることができる。以下に、好ましい組み合わせについて説明する。ここでは、図5に示すようなステレオ音響信号に対して処理を行う場合を想定して説明する。図5(a)は、2チャンネルのステレオ音響信号を示しており、Ch1にL(左)信号、Ch2にR(右)信号が記録されている。また、図5(a)から(d)においては、左端が開始時刻であり、右端が終端時刻である。図1と比較すると、横軸の時間間隔を凝縮した形式で示している。図6は、本発明に他の方式を組み合わせた場合の全体の処理概要を示すフローチャートである。ここからは、図6に従って説明していく。
【0033】
(信号平坦部処理方式)
まず、デジタル音響信号であるサンプル列に対して、信号平坦部の処理を行う(ステップS21)。信号平坦部とは、同一の信号レベルが連続する部分のことをいう。特に信号レベルが「0」の無音部、および信号レベルの絶対値が最大の飽和部に現れることが多い。無音部は実際に無音であるか、音が非常に小さく記録されなかった場合に生じるが、飽和部は、信号の録音およびA/D変換の過程において生じる。無音部、飽和部またはそれ以外の同一信号レベルが連続する場合のいずれであっても、信号平坦部は、同一の信号レベルが所定の時間(所定のサンプル数)連続して記録される。このため、この部分は圧縮し易いデータになっている。具体的には、信号平坦部の先頭時刻位置と、同一信号レベルが続くサンプルの個数と、信号レベル(サンプル値)の3つの値を信号平坦部データとして各チャンネルのサンプル列と分離して記録する。各チャンネルのサンプル列からは、信号平坦部が削除される。これを模式的に示すと図5(b)(c)に示すようになる。図5(b)は、信号平坦部処理前のサンプル列である。図5(b)において、網掛けで示した部分は信号平坦部を示す。ステップS21の処理により、信号平坦部は元のサンプル列からは削除され、図5(c)に示すようになる。ただし、復号時に元通りに復元するために、分離された信号平坦部は、図5(e)に示すような形式で記録しておく。
【0034】
信号平坦部データは、上述のように、信号平坦部ごとに、その先頭時刻(サンプル番号)、サンプル数、サンプル値の3属性で記録する。ここで、先頭時刻とは、信号の開始位置からの時刻であり、図5(e)の例では、先頭からのサンプル番号で記録している。上述のように、サンプル番号をサンプリング周波数で除算すれば、時刻に変換されることになる。サンプル数は、そのサンプル値がどの程度連続して続くかを示す情報である。なお、サンプル数の代わりに信号平坦部の終了時刻を記録するようにしても良い。サンプル値は、デジタル化された信号レベルを示している。ここでは、16ビットで量子化しているので、最大値は「32767」、最小値は「−32768」となる。すなわち、「0」は無音部、「32767」および「−32768」は飽和部を示している。ただし、信号平坦部を無条件には処理しない。ここでは、データの圧縮を目的としているため、サンプル列の削減分よりも信号平坦部データが大きくなると意味がないからである。したがって、信号平坦部となるサンプルが所定数以上連続する場合に限り信号平坦部データを作成して各チャンネルのサンプル列から分離するのである。
【0035】
続いて、各サンプルに対して、元のサンプル値から予測誤差への変換処理を行う(ステップS1〜ステップS5)。これは、図2のフローチャートに示した処理を実行することにより各サンプルの値を予測誤差に変換する。複数チャンネルある場合は、各チャンネルのサンプル列に対して処理を行う。
【0036】
(チャンネル間演算方式)
次に、予測誤差値が記録された各チャンネルの誤差サンプル列に対して、チャンネル間の差分演算を行う(ステップS22)。これは、同一時刻における誤差サンプル値の差分を単純にとることにより行われる。差分演算の結果は、一方のチャンネルの誤差サンプル列として与え、他方のチャンネルの誤差サンプル列の値は、元のままとしておく。具体的には、図5(c)に示すような2チャンネルのステレオ音響信号の場合Ch1にはL信号の値をそのまま記録しておき、Ch2にはR−Lの差分値を与える。一般に、ステレオ音響信号では、同一時刻におけるそれぞれのデータには相関があり、各時刻における両データの差分値は元の値に比べて小さな値となる。これは線形予測により予測符号化した場合も同じである。そのため、図5(d)の例では、Ch2における各誤差サンプルの値が小さくなり、後に圧縮できる余地が大きくなる。
【0037】
(フレーム間演算方式)
続いて、チャンネル間演算が行われた各チャンネルの誤差サンプル列に対して、所定の区間長をもつフレームを設定して、設定されたフレーム間の演算を行う(ステップS23)。各フレームを構成する誤差サンプル列の類似度を求め、類似しているフレームを選別する。ここでは、フレーム長を誤差サンプル列の開始時刻から終了時刻までの全区間に渡って固定長としている。具体的には、1フレームを256サンプルとしている。サンプル列の先頭から256サンプルずつを1フレームとして抽出し、各フレームの類似度を求めていくことになる。フレーム同士の類似度とは、両信号の相関を求めることになるので、相関計算を行うための種々の手法を用いることができるが、ここでは、各フレームにおいて対応する256サンプルに対して差分を計算し、各々の絶対値の最大値を算出する。ここでは、基本フレームに対して後続する100フレームについて各々最大になる差分絶対値を算出し、最大値が所定値以下となるフレームを相関フレームとして選別し、前記基本フレームと1つのグループを形成することになる。この処理は誤差サンプル列の全区間に渡って行われる。ここで、ステップS23の処理による誤差サンプル列の変化の様子を図7(a)〜(c)に示す。なお、図7においては、図5と異なり1チャンネルしか示していないが、他のチャンネルについても同様に処理される。まず、図7(a)に示したように、固定長にフレーム化された誤差サンプル列は、フレームF1、F2、F3、…Fm、…Fn、…に分割される。
【0038】
続いて、1つの基本フレームに対して後続する複数のフレームについて、差分を算出する。まず先頭のフレームF1と次のフレームF2内の各サンプルごとに差分を算出していく。この例では、256個の差分値が各サンプル時刻に対して得られることになる。得られた差分値の絶対値の最大値をF2フレームにおけるF1フレームとの相関を示す指標値として記録しておく。同様に、F3フレームに対してもF1フレームとの差分絶対値の最大値を求め、最大値が最も小さくなるフレームを相関フレーム候補として選別する。例えば、フレームF1を基本フレームとしたとき、フレームF3の差分絶対値の最大値が最も小さいため、フレームF3が相関フレーム候補となる。そして、差分をとる前のフレームF3の各サンプル値の絶対値の最大値に比べ、前記差分絶対値の最大値が、所定の割合以下に減少している場合、フレームF3を相関フレームに決定し、基本フレームであるフレームF1とグループAを形成する。この時、フレームF1はそのままであるが、フレームF3の各サンプルには、フレームF1との差分値に更新されることになる。差分値であることを示すために、処理後のフレームをフレーム「F3−F1」で表現することにする。さらに、後続するフレームに対しても同様の処理が行われる。例えば、基本フレームFmに対してフレームFnが相関フレームとして決定され、グループGが構成されるとともに、フレームFnについても差分処理を行い、フレーム「Fn−Fm」が得られる。結局、グループ内の基本フレームは、そのままとなり、グループ内の相関フレームには、基本フレームとの差分が記録されることになる。
【0039】
ステップS23においては、上記差分演算処理と並列してフレーム間の関係であるフレーム構造データを記録していく。具体的には、どのフレームがグループ化されたかの情報を記録していくことになる。フレームの記録は、各フレームのフレーム番号を記録することにより行う。ここで、フレーム構造データの一例を図7(d)に示す。図7(d)に示すようにフレーム構造データには、グループ番号とそのグループに属する基本フレームと相関フレームの各々のID番号により記録している。このフレーム構造データは、復号時に元の信号を忠実に復元するために必要となる。ステップS23では、類似しているフレームを選別して各グループの相関フレームは基本フレームとの差分で記録するようにした。類似しているフレームの差分値は、値が小さくなるので、後述する処理で記録するビット数を変化させたときに、少ないビット数で表現することが可能となる。
【0040】
この後、図3に示したような正負極性の処理を行う(ステップS6)。これは、図3に示したように、2の補数表現を符号付絶対値表現に変換し、正負の符号を最下位ビットに移動させるものである。さらにこの後、可変長符号化を行う(ステップS7〜ステップS13)。これは、図4のフローチャートに示した処理を実行することにより各サンプルのビット長を可変長で符号化していく。
【0041】
(予測誤差の一例)
次に、上記ステップS1で行われる予測誤差の算出について説明しておく。ここでは、代表して過去の2サンプルにより予測する〔数式2〕を用いた場合について説明する。例えば、サンプル値x(t)が図8(a)に示すような状態である場合を考えてみる。図8(a)において、横軸は時刻(サンプル番号)、縦軸はサンプル値x(t)である。また、各時刻における線分は、各時刻におけるサンプル値x(t)の大きさを示している。〔数式2〕による算出の手順を図8を用いて説明すると、まず、誤差フィードバック成分を加えない状態で各予測誤差eo(t)を算出する。図8(b)に示すように、時刻tの予測誤差eo(t)を算出する場合、直前の時刻t−1におけるサンプル値x(t−1)および2つ前の時刻t−2におけるサンプル値x(t−2)を結ぶ予測線が時刻tでとる値と、時刻tにおけるサンプル値x(t)の差分(図中太点線で示す)に基づいて予測誤差eo(t)が算出される。時刻t+1以降も同様に行って予測誤差eo(t+1)を算出する。算出された予測誤差eo(t)は、図8(c)に示すようになる。図8(a)と図8(c)を比較するとわかるように値が変動する範囲が大きく狭まり、データ圧縮に都合が良くなる。
【0042】
続いて、〔数式2〕に基づいて予測誤差eo(t)に対して直前の時刻t−1における補正が加わった予測誤差e2(t−1)の50%を減算させて、誤差フィードバック処理を加えた結果が図8(d)である。図8(c)と比べると、時刻t+1およびt+2における予測誤差の低減が顕著である。逆に時刻t+3およびt+4では予測誤差が増大しているが、平均的には予測誤差が低減し、図8(a)と比較すると値が変動する範囲が更に狭まり、データ圧縮効果が向上する。
【0043】
(実現のための装置構成)
上記符号化方法は、現実には専用のソフトウェアを搭載したコンピュータにより実現されることは当然である。コンピュータに上記処理を実行させるプログラムを搭載することにより、コンピュータがデジタル音響信号等の時系列信号を読んだ後、上記ステップS1〜ステップS13の処理を実行することにより圧縮された符号データが得られる。
【0044】
【発明の効果】
以上、説明したように本発明によれば、時系列のサンプル列で構成される時系列信号の可逆圧縮を行うにあたり、サンプル列の各サンプルに対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて複数の予測誤差値を算出し、過去のサンプル列の予測誤差値の累積値である累積誤差に基づいて、算出された複数の予測誤差値の中から、符号化対象の予測誤差値として1つを選択し、符号化対象として選択された予測誤差値に対して可変長符号で符号化を行うことにより各サンプルを符号化し、予測誤差の算出、符号化対象誤差の選択、可変長符号化を全サンプルについて実行するようにしたので、より効率の高い圧縮を行うことが可能となるという効果を奏する。
【図面の簡単な説明】
【図1】本発明において処理対象とするデジタル時系列信号のサンプル列を模式的に示した図である。
【図2】本発明における適応型線形予測処理の概要を示すフローチャートである。
【図3】ステップS6の正負極性処理の様子を示す図である。
【図4】本発明における可変長符号化の概要を示すフローチャートである。
【図5】信号平坦部処理およびチャンネル間演算処理の様子を示す図である。
【図6】本発明に好適な他の圧縮処理を組み合わせた場合の処理概要を示すフローチャートである。
【図7】フレーム間演算処理の様子を示す図である。
【図8】〔数式2〕を用いた予測誤差算出処理の様子を示す図である。
【符号の説明】
R1〜R4・・・累積誤差
Bv・・・変更部ビット長
Bd(t)・・・誤差サンプルビット長
Bf・・・平均ビット長
RB・・・累積ビット長
Claims (10)
- 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法であって、
前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、それぞれ過去1サンプル、過去2サンプル、過去3サンプルを参照する少なくとも3種類の予測計算式に基づいて少なくとも3個の予測誤差値を算出する予測誤差算出段階と、
前記少なくとも3種類の予測計算式別に予測誤差値の絶対値の累積値である累積誤差を算出し、当該累積誤差が最小となる予測計算式により算出された予測誤差値を、符号化対象の予測誤差値として選択する符号化対象誤差選択段階と、
前記符号化対象として選択された予測誤差値を有する誤差サンプルに対して可変長符号で符号化を行う可変長符号化段階と、を有し、
前記予測誤差算出段階、符号化対象誤差選別段階、可変長符号化段階を全サンプルについて実行することにより、時系列信号の全サンプルを可変長符号化することを特徴とする時系列信号の符号化方法。 - 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法であって、
前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて複数の予測誤差値を算出する予測誤差算出段階と、
過去のサンプル列の予測誤差値の各予測計算式別の累積値である累積誤差に基づいて、前記予測誤差算出段階で算出された複数の予測誤差値の中から、符号化対象の予測誤差値として1つを選択する符号化対象誤差選択段階と、
前記符号化対象として選択された予測誤差値を有する誤差サンプルのビット成分のうち、下位のビット成分をそのままのビット成分で符号化し、残りの上位ビット成分に対してビット成分を変更して可変長符号で符号化を行う可変長符号化段階と、を有し、
前記予測誤差算出段階、符号化対象誤差選別段階、可変長符号化段階を全サンプルについて実行することにより、時系列信号の全サンプルを可変長符号化することを特徴とする時系列信号の符号化方法。 - 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法であって、
前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて複数の予測誤差値を算出する予測誤差算出段階と、
過去のサンプル列の予測誤差値の各予測計算式別の累積値である累積誤差に基づいて、前記予測誤差算出段階で算出された複数の予測誤差値の中から、符号化対象の予測誤差値として1つを選択する符号化対象誤差選択段階と、
前記符号化対象として選択された予測誤差値を有する誤差サンプルに対して、過去の誤差サンプルのビット長の移動平均に基づいて不変ビット長を決定し、前記各誤差サンプルのビット成分のうち、下位の前記不変ビット長分をそのままのビット成分で符号化し、残りの上位ビット成分に対してビット成分を変更して可変長符号で符号化を行う可変長符号化段階と、を有し、
前記予測誤差算出段階、符号化対象誤差選別段階、可変長符号化段階を全サンプルについて実行することにより、時系列信号の全サンプルを可変長符号化することを特徴とする時系列信号の符号化方法。 - 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法であって、
前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて複数の予測誤差値を算出する予測誤差算出段階と、
過去のサンプル列の予測誤差値の各予測計算式別の累積値である累積誤差に基づいて、前記予測誤差算出段階で算出された複数の予測誤差値の中から、符号化対象の予測誤差値として1つを選択する符号化対象誤差選択段階と、
前記符号化対象誤差選択段階により選択された予測誤差値の絶対値に対して全体を1ビット上位にずらし、正負極性ビットを最下位ビットに挿入する極性処理段階と、
前記符号化対象として選択された予測誤差値を有する誤差サンプルを極性処理したものに対して可変長符号で符号化を行う可変長符号化段階と、を有し、
前記予測誤差算出段階、符号化対象誤差選別段階、可変長符号化段階を全サンプルについて実行することにより、時系列信号の全サンプルを可変長符号化することを特徴とする時系列信号の符号化方法。 - 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法であって、
前記サンプル列の中で、サンプルの値が連続して同一値になっている信号平坦部を抽出し、当該サンプル列から分離すると共に分離したサンプルの先頭時間位置と、サンプル個数と、サンプル値の3つの値を信号平坦部データとして符号化する信号平坦部処理段階と、
前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて複数の予測誤差値を算出する予測誤差算出段階と、
過去のサンプル列の予測誤差値の各予測計算式別の累積値である累積誤差に基づいて、前記予測誤差算出段階で算出された複数の予測誤差値の中から、符号化対象の予測誤差値として1つを選択する符号化対象誤差選択段階と、
前記符号化対象として選択された予測誤差値を有する誤差サンプルに対して可変長符号で符号化を行う可変長符号化段階と、を有し、
前記予測誤差算出段階、符号化対象誤差選別段階、可変長符号化段階を全サンプルについて実行することにより、時系列信号の全サンプルを可変長符号化することを特徴とする時系列信号の符号化方法。 - 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法であって、
前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて複数の予測誤差値を算出する予測誤差算出段階と、
過去のサンプル列の予測誤差値の各予測計算式別の累積値である累積誤差に基づいて、前記予測誤差算出段階で算出された複数の予測誤差値の中から、符号化対象の予測誤差値として1つを選択する符号化対象誤差選択段階と、
前記サンプル列が同一時刻に複数の値をもつ複数のチャンネルで構成されている場合、チャンネル間の誤差サンプル列に所定の演算を施し、いずれかのチャンネルの誤差サンプル列を更新するようにしたチャンネル間演算段階と、
前記符号化対象として選択された予測誤差値を有する誤差サンプルに対して可変長符号で符号化を行う可変長符号化段階と、を有し、
前記予測誤差算出段階、符号化対象誤差選別段階、可変長符号化段階を全サンプルについて実行することにより、時系列信号の全サンプルを可変長符号化することを特徴とする時系列信号の符号化方法。 - 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化方法であって、
前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて複数の予測誤差値を算出する予測誤差算出段階と、
過去のサンプル列の予測誤差値の各予測計算式別の累積値である累積誤差に基づいて、前記予測誤差算出段階で算出された複数の予測誤差値の中から、符号化対象の予測誤差値として1つを選択する符号化対象誤差選択段階と、
前記誤差サンプル列の中から所定の個数の誤差サンプル列で構成されるフレームを複数個抽出し、抽出したフレーム間で所定の演算を施し、一方のフレームの各予測誤差値を、演算した値に更新するフレーム間演算段階と、
前記符号化対象として選択された予測誤差値を有する誤差サンプルに対して可変長符号で符号化を行う可変長符号化段階と、を有し、
前記予測誤差算出段階、符号化対象誤差選別段階、可変長符号化段階を全サンプルについて実行することにより、時系列信号の全サンプルを可変長符号化することを特徴とする時系列信号の符号化方法。 - 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化装置であって、
前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、それぞれ過去1サンプル、過去2サンプル、過去3サンプルを参照する少なくとも3種類の予測計算式に基づいて少なくとも3個の予測誤差値を算出する予測誤差算出手段と、
前記少なくとも3個の予測誤差値に対応して少なくとも3個の累積予測誤差値を算出する累積誤差算出手段と、
前記累積予測誤差値に基づいて、前記予測誤差算出手段で算出された少なくとも3個の予測誤差値の中から、符号化対象の予測誤差値として1つを選択する符号化対象誤差選択手段と、
前記符号化対象として選択された予測誤差値を有する誤差サンプルに対して可変長符号で符号化を行う可変長符号化手段と、
を有することを特徴とする時系列信号の符号化装置。 - 請求項1から請求項7のいずれかの符号化方法により符号化された符号データを記録した記録媒体。
- 時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化プログラムであって、
コンピュータに、前記サンプル列の各サンプルに対して、時間的に過去のサンプル列から、それぞれ過去1サンプル、過去2サンプル、過去3サンプルを参照する少なくとも3種類の予測計算式に基づいて少なくとも3個の予測誤差値を算出する予測誤差算出段階、前記少なくとも3種類の予測計算式別に予測誤差値の絶対値の累積値である累積誤差を算出し、当該累積誤差が最小となる予測計算式により算出された予測誤差値を、符号化対象の予測誤差値として選択する符号化対象誤差選択段階、前記符号化対象として選択された予測誤差値に対して可変長符号で符号化を行う可変長符号化段階を実行させると共に、前記予測誤差算段階、符号化対象誤差選択段階、可変長符号化段階を全サンプルについて実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003017224A JP4139697B2 (ja) | 2003-01-27 | 2003-01-27 | 時系列信号の符号化方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003017224A JP4139697B2 (ja) | 2003-01-27 | 2003-01-27 | 時系列信号の符号化方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004229184A JP2004229184A (ja) | 2004-08-12 |
JP4139697B2 true JP4139697B2 (ja) | 2008-08-27 |
Family
ID=32904435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003017224A Expired - Fee Related JP4139697B2 (ja) | 2003-01-27 | 2003-01-27 | 時系列信号の符号化方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4139697B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175185B (zh) * | 2019-04-17 | 2023-04-07 | 上海天数智芯半导体有限公司 | 一种基于时序数据分布特征的自适应无损压缩方法 |
-
2003
- 2003-01-27 JP JP2003017224A patent/JP4139697B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004229184A (ja) | 2004-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100634506B1 (ko) | 저비트율 부호화/복호화 방법 및 장치 | |
WO2006075605A1 (ja) | 長期予測符号化方法、長期予測復号化方法、これら装置、そのプログラム及び記録媒体 | |
KR20060082618A (ko) | 다채널 신호 부호화/복호화 방법 및 장치 | |
JP4139697B2 (ja) | 時系列信号の符号化方法および装置 | |
JP4357852B2 (ja) | 時系列信号の圧縮解析装置および変換装置 | |
JP4170795B2 (ja) | 時系列信号の符号化装置および記録媒体 | |
JP4139704B2 (ja) | 時系列信号の符号化装置および復号装置 | |
JP2004198559A (ja) | 時系列信号の符号化方法および復号方法 | |
JP4109124B2 (ja) | 時系列信号の符号化装置 | |
JP4736331B2 (ja) | 音響信号の再生装置 | |
JP4184817B2 (ja) | 時系列信号の符号化方法および装置 | |
JP4249540B2 (ja) | 時系列信号の符号化装置および記録媒体 | |
JP4848049B2 (ja) | 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 | |
JP4319895B2 (ja) | 時系列信号の符号化装置 | |
JP2004070120A (ja) | 時系列信号の符号化装置、復号装置および記録媒体 | |
JPH11109996A (ja) | 音声符号化装置、音声符号化方法及び音声符号化情報の記録された光記録媒体並びに音声復号装置 | |
JP3387092B2 (ja) | 音声符号化装置 | |
JPS5917438B2 (ja) | スペクトルパラメ−タの符号化方式および音声合成装置 | |
CN1465045A (zh) | 反滤波法,合成滤波法,反滤波器装置,合成滤波器装置和包括这类滤波器装置的装置 | |
JP3387094B2 (ja) | 音声符号化方法 | |
JP4556866B2 (ja) | 高能率符号化プログラム及び高能率符号化装置 | |
JP3387093B2 (ja) | 音声符号化方法 | |
JP2730029B2 (ja) | 線形予測符号化方法 | |
JP2005166216A (ja) | 音響信号の再生装置 | |
JPH10124097A (ja) | 音声記録再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080108 |
|
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: 20080529 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080609 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4139697 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140613 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |