JP2012134858A - データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム - Google Patents

データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム Download PDF

Info

Publication number
JP2012134858A
JP2012134858A JP2010286438A JP2010286438A JP2012134858A JP 2012134858 A JP2012134858 A JP 2012134858A JP 2010286438 A JP2010286438 A JP 2010286438A JP 2010286438 A JP2010286438 A JP 2010286438A JP 2012134858 A JP2012134858 A JP 2012134858A
Authority
JP
Japan
Prior art keywords
residual
encoding
data
code
time
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.)
Granted
Application number
JP2010286438A
Other languages
English (en)
Other versions
JP5570409B2 (ja
Inventor
Koichi Tanigaki
宏一 谷垣
Mamoru Kato
守 加藤
Mitsunori Kori
光則 郡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010286438A priority Critical patent/JP5570409B2/ja
Publication of JP2012134858A publication Critical patent/JP2012134858A/ja
Application granted granted Critical
Publication of JP5570409B2 publication Critical patent/JP5570409B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】分散が大きいデータを含む多様な分布のデータや、時間的に非定常なデータに適用可能な、圧縮率の高い可逆圧縮を行う。
【解決手段】符号化対象値予測部110は、時系列の入力値で構成された入力データ101から時刻ごとの入力値と予測値との残差を算出する。符号化パラメータ選択部190は、算出された残差に対して、固定長符号を用いる下位ビット長と残りの上位ビットに用いる可変長符号の種別との組み合わせを示す複数の符号化パラメータのうち、当該残差より過去の残差を符号化した場合に当該過去の残差の符号長が最も短くなる組み合わせを示すものを時刻ごとに選択する。残差符号化部140は、時刻ごとに算出された残差を、時刻ごとに選択された符号化パラメータに従って符号化して当該残差の符号語を算出し、算出した符号語を連結した残差符号列データ102を出力する。
【選択図】図1

Description

本発明は、センサデータ等の数値データの圧縮を行うデータ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラムに関するものである。本発明は、特に値の分散が大きく、時間的にも非定常なデータを対象とした可逆圧縮方式に関するものである。
近年、センサの小型化や低価格化が進み、散在する装置群や大規模システムに大量のセンサを設置してその状態を連続的に取得・蓄積し、分析や監視に利用したいというニーズが高まっている。しかし、多数のセンサから連続的に到来するストリームデータをそのまま蓄積すると膨大な量になってしまう。このため、大量のセンサストリームデータに対する効率的な圧縮方式が必要となっている。
値の分散が大きく、時間的にも非定常なセンサデータの例を図13、図14に示す。図13は元の入力データの例を示している。横軸は時間、縦軸が浮動小数点数で格納されたセンサデータの計測値を表している。一方、図14は実際の符号化対象となる残差データの例を示している。残差データとは、元の入力データに対し線形予測を適用し、予測値と実際の値との差分をとることで生成したデータである。時系列データの可逆圧縮では効率の良い圧縮を行うため、元の値をそのまま符号化する代わりに、線形予測の残差を符号化する方法がしばしば用いられる。図14の例では、元の計測値である単精度32ビット浮動小数点数の仮数部23ビットを符号なし整数とみなし、最も単純な線形予測として前時刻の値を用いたものである。残差は一般に、原点を中心とする比較的偏った分布となるが、本データのように変動の激しいデータでは、分散が大きいまま残っている。
このように変動の激しいデータを圧縮するには、以下のような課題を解決する必要がある。
まず第1の課題として、分散が大きい分布に合わせた最適符号化の課題がある。一般に整数の可変長符号としては、公知のガンマ符号やデルタ符号があり、ゼロに近い値に対し短い符号を与えることができる。しかし例えばガンマ符号では、4,096以上の値に対しては符号語の長さが25ビット以上となり、元の23ビットバイナリよりも長くなってしまうため、図14に示すように分散が大きいデータの圧縮には適さない。実際の分布に合わせて広範な値域に適切な長さの符号語を割り当てられる符号方式が必要である。
第2の課題として、非定常性に関する課題がある。第1の課題の説明で述べたように、分散の大きいデータの圧縮には、データの分散に合った符号を用意することが重要である。しかし、図14に例示するように、入力データの分散は一定ではなく、時間により変動することがある。図14では、グラフ左端と比べ、中央付近から明らかに分散が大きくなっている。このように変動する非定常なデータを圧縮するためには、分散の変化に追従して符号パラメータを適切に調整する必要がある。
従来、変動の激しい時系列データを扱う可変長符号化方式として、非特許文献1に記載のMPEG−4・Audio・Lossless・coding・Systemがある。
この従来技術では、高変動データの2つの課題である、第1の課題(分散が大きい分布の最適符号化)及び第2の課題(非定常性への対策)に関し、以下に述べる3つの方法がとられている。
まず第1の方法として、分散が大きいデータを符号化するために、公知の可変長符号であるゴロム・ライス符号を用いる方法がとられている。ゴロム・ライス符号は、パラメータを使って符号語の長さを制御する符号化方式である。パラメータで指定したビット位置で符号化する値を分割し、上位ビットに対応する数値をアルファ符号で符号化し、下位ビットは固定長バイナリ符号のままとし、それら2つの符号をつなげて1つの符号語とする。これにより、広い値域に渡って、緩やかに符号長が長くなる符号を定義することができる。符号長の増え方は、パラメータにより制御することができるため、適切にパラメータを与えることにより、分散が大きいデータに対しても、ある程度良い符号を与えることができる。
なお、ゴロム・ライス符号を用いて残差を符号化する方法は特許文献1にも記載されている。
また、第2の方法として、データの分散に合った符号を与えるため、公知のブロック・ギルバート・ムーア符号(エリアス・シャノン・ファノ符号とも呼ばれる)を上記ゴロム・ライス符号と併用する方法がとられている。上記ゴロム・ライス符号では、分散の大きさは対象データに合わせることができるが、分布の形状までは合わせることができない。そこで、符号化しようとする値に対し閾値θを設定し、−θ以上+θ以下の値(即ち高頻度なためできるだけ短い符号を与えたい値)に対しては、ゴロム・ライス符号の代わりにブロック・ギルバート・ムーア符号に切り替えて符号化する。
第3の方法として、圧縮対象である時系列データを予め複数のブロック(部分時系列)に分割し、各ブロックを定常データとして圧縮処理する方法がとられている。ブロックの分割方法は最大32等分割の中から決定する。
特開2007−318691号公報
T. Liebchen, T. Moriya, N. Harada, Y. Kamamoto and Y. Reznik, "The MPEG−4 Audio Lossless Coding (ALS) Standard Technology and Applications," Preprint paper #6589, 119th Audio Engineering Society Convention, New York, 2005
しかし、上記従来技術においては以下のような課題があった。
第1に、ゴロム・ライス符号では、符号化対象である残差データが幾何分布をとらない場合、適切な符号を与えることができず、圧縮率が悪くなるという課題(従来の課題1)がある。残差がどのような分布をとるかは、入力データ、符号化対象値の予測(線形予測)の双方に依存し、その差分(残差)が幾何分布をとるとの仮定を置くことはできないから、より多様な分布に対応可能な符号化方式が必要である。
第2に、ゴロム・ライス符号だけでなくブロック・ギルバート・ムーア符号を利用して符号化する場合、時系列中の各値に対し、その値がいずれの方法で符号化されているかを示す補助情報を圧縮データに追加して保存する必要があるため、圧縮率がさほど改善されないという課題(従来の課題2)がある。
第3に、符号長基準による最適なブロック分割方法は、事前に決定することはできないから、何らかの近似的な基準によりブロック分割方法を決定することになる。したがって、非定常性への対応には実質的に限界があり、圧縮率が優れないという課題(従来の課題3)がある。
本発明は、例えば、分散が大きいデータを含む多様な分布のデータや、時間的に非定常なデータに適用可能な、圧縮率の高い可逆圧縮を行うことを目的とする。
本発明の一の態様に係るデータ圧縮装置は、
時系列の入力値で構成された入力データから入力値を時刻ごとに取得し、取得した入力値より過去の入力値に基づき所定の予測方法を用いて予測値を時刻ごとに計算し、取得した入力値と計算した予測値との残差を処理装置により時刻ごとに算出する残差算出部と、
前記残差算出部により算出された残差に対して、それぞれ異なる符号化方法を示す複数の符号化パラメータのうち、当該残差より過去の残差を符号化した場合に当該過去の残差の符号長が他の符号化方法より短くなる符号化方法を示す符号化パラメータを処理装置により時刻ごとに選択する符号化パラメータ選択部と、
前記残差算出部により算出された残差を時刻ごとに取得し、取得した残差を、前記符号化パラメータ選択部により当該残差に対して選択された符号化パラメータが示す符号化方法を用いて処理装置により符号化して当該残差の符号語を時刻ごとに算出し、算出した符号語を前記入力データの圧縮データとして出力する残差符号化部とを備える。
本発明の一の態様によれば、分散が大きいデータを含む多様な分布のデータや、時間的に非定常なデータに適用可能な、圧縮率の高い可逆圧縮を行うことが可能となる。
実施の形態1に係るデータ圧縮装置の構成を示すブロック図。 実施の形態1に係るデータ圧縮装置のハードウェア構成の一例を示す図。 実施の形態1に係るデータ圧縮装置の動作を示すフローチャート。 アルファ符号とバイナリ符号との組み合わせで生成される符号語の長さを示すグラフ。 ガンマ符号とバイナリ符号との組み合わせで生成される符号語の長さを示すグラフ。 フィボナッチ符号とバイナリ符号との組み合わせで生成される符号語の長さを示すグラフ。 実施の形態1に係る符号化パラメータの選択手順を示す図。 実施の形態1に係るデータ伸張装置の構成を示すブロック図。 実施の形態1に係るデータ伸張装置の動作を示すフローチャート。 実施の形態2に係るデータ圧縮装置の構成を示すブロック図。 実施の形態3に係るデータ圧縮装置の構成を示すブロック図。 実施の形態3に係る符号化パラメータの選択手順を示す図。 入力データの例を示すグラフ。 残差データの例を示すグラフ。
以下、本発明の実施の形態について、図を用いて説明する。
実施の形態1.
図1は、本実施の形態に係るデータ圧縮装置100の構成を示すブロック図である。
図1において、データ圧縮装置100は、符号化対象値予測部110(残差算出部)と、整数可変長符号化部120及び符号化パラメータ予測部130からなる符号化パラメータ選択部190と、残差符号化部140とを備える。また、図示していないが、データ圧縮装置100は、処理装置、記憶装置、入力装置、出力装置等のハードウェアを備える。ハードウェアはデータ圧縮装置100の各部によって利用される。例えば、処理装置は、データ圧縮装置100の各部でデータや情報の演算、加工、読み取り、書き込み等を行うために利用される。記憶装置は、そのデータや情報を記憶するために利用される。また、入力装置は、そのデータや情報を入力するために、出力装置は、そのデータや情報を出力するために利用される。
符号化対象値予測部110は、例えば入力装置を介して又は記憶装置から、入力データ101を取得する。入力データ101は、時系列の入力値で構成されたデータである。入力データ101としては、例えば、図13に示したセンサデータを用いることができる。符号化対象値予測部110は、入力データ101から入力値を時刻ごとに取得する。符号化対象値予測部110は、入力値を取得する度に、取得した入力値より過去の入力値に基づき、所定の予測方法を用いて予測値を時刻ごとに計算する。過去の入力値としては、例えば、直前の1つの入力値を用いることができるが、直前より前の入力値を用いてもよいし、2つ以上の入力値を用いてもよい。予測方法として、以下では、線形予測法を用いるものとするが、他の予測方法を用いてもよい。符号化対象値予測部110は、予測値を計算する度に、取得した入力値と計算した予測値との残差を処理装置により時刻ごとに算出する。
このように、符号化対象値予測部110は、符号化対象である入力データ101を受け取り、線形予測により入力データ101の各値を予測する。符号化対象値予測部110は、得られた予測値と元の値の差分(残差)を、元の値に代わる新たな符号化対象として出力する。
符号化パラメータ選択部190は、符号化対象値予測部110により算出された残差に対して、複数の符号化パラメータのうち、1つの符号化パラメータを処理装置により時刻ごとに選択する。複数の符号化パラメータは、それぞれ異なる符号化方法(符号モデル)を示すパラメータである。各符号化パラメータは、符号化方法として、例えば、符号化対象となる残差のうち、固定長符号を用いる部分と可変長符号を用いる部分とを示す。各符号化パラメータは、以下では、固定長符号を用いる部分として、符号化対象となる残差の下位ビット長を示すことにより、固定長符号を用いる下位ビット列と可変長符号を用いる上位ビット列とを示すものとするが(後述する第1のパラメータ)、他の方法により固定長符号を用いる部分と可変長符号を用いる部分とを示してもよい。また、各符号化パラメータは、以下では、可変長符号を用いる部分について、可変長符号の種別も示すものとするが(後述する第2のパラメータ)、可変長符号の種別が固定あるいは別の方法で定められる場合には、可変長符号の種別を示さなくてもよい。可変長符号の種別としては、例えば、アルファ符号とガンマ符号とデルタ符号とフィボナッチ符号との少なくともいずれかが用いられる。
符号化パラメータ選択部190によって選択される符号化パラメータは、複数の符号化パラメータのうち、符号化対象となる残差より過去の残差を符号化した場合に当該過去の残差の符号長(符号語の長さ)が他の符号化方法より短くなる符号化方法を示す符号化パラメータである。望ましくは、複数の符号化パラメータのうち、当該残差より過去の残差を符号化した場合に当該過去の残差の符号長が最も短くなる符号化方法を示す符号化パラメータである。そのため、符号化パラメータ選択部190は、符号化対象値予測部110により算出された残差に対して、複数の符号化パラメータのうち、当該残差より過去の残差を符号化した場合に当該過去の残差の符号長が最も短くなる符号化方法を示す符号化パラメータを最適な符号化パラメータとして時刻ごとに推定し、推定した最適な符号化パラメータを選択する。過去の残差として、以下では、直前の3つの残差を用いるものとするが(後述する残差履歴)、直前より前の残差を用いてもよいし、2つ以下又は4つ以上の残差を用いてもよい。
符号化パラメータ選択部190において、整数可変長符号化部120は、第1のパラメータとして下位ビット長を、第2のパラメータとして公知のアルファ符号、ガンマ符号、デルタ符号、フィボナッチ符号の少なくとも1つを指定可能な可変長符号化方法識別子を受け取る。また、整数可変長符号化部120は、残差の入力を受け付ける。整数可変長符号化部120は、入力された残差を、第1のパラメータが示す下位ビット長の位置で上位ビットデータと下位ビットデータに分割する。整数可変長符号化部120は、当該上位ビットデータを、第2のパラメータが示す可変長符号化方法識別子に対応する方法で符号化し、当該下位ビットデータは固定長バイナリ符号のままとし、当該上位ビットデータの符号と当該下位ビットデータの符号とを合わせて、入力された残差の符号語を生成して返す。
符号化パラメータ選択部190において、符号化パラメータ予測部130は、符号化対象値予測部110から出力された各残差に対し、第1のパラメータの各候補と、第2のパラメータの各候補とを指定して、先行する残差履歴を整数可変長符号化部120に送って符号長を求める。符号化パラメータ予測部130は、整数可変長符号化部120から得られた符号語の長さに基づく評価値が最良となる第1のパラメータと第2のパラメータとを決定する。
残差符号化部140は、符号化対象値予測部110により算出された残差を時刻ごとに取得し、取得した残差を、符号化パラメータ選択部190により当該残差に対して選択された符号化パラメータが示す符号化方法を用いて処理装置により符号化する。これにより、残差符号化部140は、当該残差の符号語を時刻ごとに算出する。残差符号化部140は、算出した符号語を処理装置により時系列で連結して残差符号列データ102を生成する。残差符号化部140は、残差符号列データ102を入力データ101の圧縮データとして、例えば出力装置を介して出力する。なお、本実施の形態において、残差符号化部140は、符号化パラメータ選択部190の整数可変長符号化部120を用いて符号化処理を実行する(整数可変長符号化部120に残差の符号語を算出させる)ものとするが、独自に符号化処理を実行してもよい。
このように、残差符号化部140は、符号化パラメータ選択部190の符号化パラメータ予測部130により決定された第1のパラメータと第2のパラメータと、符号化対象値予測部110により算出された残差とを、符号化パラメータ選択部190の整数可変長符号化部120に送り、得られた残差の符号語を残差符号列データ102として出力する。
図2は、データ圧縮装置100のハードウェア構成の一例を示す図である。
図2において、データ圧縮装置100は、コンピュータであり、LCD901(Liquid・Crystal・Display)、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ906といったハードウェアデバイスを備えている。これらのハードウェアデバイスはケーブルや信号線で接続されている。LCD901の代わりに、CRT(Cathode・Ray・Tube)、あるいは、その他の表示装置が用いられてもよい。マウス903の代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられてもよい。
データ圧縮装置100は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、LCD901、キーボード902、マウス903、FDD904、CDD905、プリンタ906、HDD920(Hard・Disk・Drive)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、フラッシュメモリ、光ディスク装置、メモリカードリーダライタ又はその他の記憶媒体が用いられてもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905は、入力装置の一例である。また、通信ボード915、LCD901、プリンタ906は、出力装置の一例である。
通信ボード915は、LAN(Local・Area・Network)等に接続されている。通信ボード915は、LANに限らず、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークといったWAN(Wide・Area・Network)、あるいは、インターネットに接続されていても構わない。LAN、WAN、インターネットは、ネットワークの一例である。
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが含まれている。プログラムは、CPU911により読み出され実行される。ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として含まれている。「〜ファイル」や「〜データベース」や「〜テーブル」は、RAM914やHDD920等の記憶媒体に記憶される。RAM914やHDD920等の記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理(動作)に用いられる。抽出、検索、参照、比較、演算、計算、制御、出力、印刷、表示といったCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示す。データや信号は、RAM914等のメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、HDD920の磁気ディスク、光ディスク、DVD(Digital・Versatile・Disc)、あるいは、その他の記録媒体に記録される。また、データや信号は、バス912、信号線、ケーブル、あるいは、その他の伝送媒体により伝送される。
本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアのみ、あるいは、素子、デバイス、基板、配線といったハードウェアのみで実現されていても構わない。あるいは、「〜部」として説明するものは、ソフトウェアとハードウェアとの組み合わせ、あるいは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、フレキシブルディスク、コンパクトディスク、磁気ディスク、光ディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、プログラムは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図3は、データ圧縮装置100の動作(本実施の形態に係るデータ圧縮方法、本実施の形態に係るデータ圧縮プログラムの処理手順)を示すフローチャートである。
図3において、本実施の形態に係るデータ圧縮装置100の特長は、符号モデル(符号化方法)のパラメータを決定するステップ(ステップS104)を、前述した従来技術のようにバッチ的に実施するのではなく、時系列中の各残差データに対する符号化ループ(ステップS102〜S105)の中で実行する点である。本実施の形態では、この特長により、符号モデルを逐次評価して変動するデータに追従することが可能となっている。
まずステップS101では、データ圧縮装置100が、入力データ101のサイズ(時系列の長さ)Nを圧縮データ(残差符号列データ102)の先頭に固定長バイナリ形式で保存する。
ステップS102〜S105では、データ圧縮装置100が、入力データ101の各値(時刻ごとの入力値)に対してループ処理を行う。
ステップS102では、符号化対象値予測部110が、全ての値に対し処理が完了したかを処理装置により判定する。完了していればループを抜け、処理を終了する。完了していなければステップS103に進む。
ステップS103では、符号化対象値予測部110が、入力データ101に対し線形予測を処理装置により行い、元のデータから予測値を差し引いた残差データに変換する。
ステップS104では、符号化パラメータ選択部190が、残差の履歴を使って最良の符号モデルを処理装置により予測する。即ち、符号化パラメータ選択部190が、符号モデルのパラメータを処理装置により決定する。
ステップS105では、残差符号化部140が、ステップS103で得られた残差データから残差を1つ(即ち、符号化対象値を)取り出し、ステップS104で決定されたパラメータを用いて実際に符号化を処理装置により行う。ステップS105の後はステップS102の終了判定に戻る。
次に、データ圧縮装置100の各部(図1に示した各ブロック)の動作の詳細について説明する。
以下、符号化対象値予測部110の動作の詳細について説明する。
符号化対象値予測部110は、符号化対象である入力データ101を受け取り、線形予測により入力データ101の各値(時刻ごとの入力値)を予測する。
線形予測は下記の式(1)で表され、時刻tにおける入力値xを直前のT個の値xt−1,・・・,xt−Tの線形和で予測する。x ̄(xの上にバー、右下にt)はxの予測値を表し、aはxt−iの重み係数(線形予測パラメータ)を表す。重み係数の値は入力データ101を基に、予測誤差の期待値が最小となるように決定する(パラメータ推定)。パラメータ推定については特許文献1等に詳述されており、ここでは説明を省略する。最も単純な線形予測では、T=1、a=−1として直前の値xt−1を予測値として使う。この場合はパラメータ推定を省略することができる。なお、時系列の先頭データにおいて存在しない時刻の値{x|t<1}を参照するときは0を用いることとする。
線形予測による予測結果x ̄(xの上にバー、右下にt)と実際の値xとの残差rを下記の式(2)により求め、この残差を元の値に代わる新たな符号化対象値として出力する。
以上説明した処理(ステップS103に相当する)が符号化対象値予測部110によって行われる。
ここで、元の入力値xが整数でなく浮動小数点数である場合、データ圧縮装置100は、浮動小数点数を構成する指数部、符号部、仮数部のそれぞれを整数とみなして可逆圧縮を行う。例えば、IEEE・754形式の4バイト単精度浮動小数点数は、指数部8ビット、符号部1ビット、仮数部23ビットで構成される。符号化対象値予測部110は、各構成要素を符号なし整数として扱い、線形予測を適用する。構成要素のうち、指数部及び符号部は一般に時系列において連続性を持って変化する(ないしほとんど変化しない)ため、線形予測による残差は0又はそれに近い整数となることが期待される。よって、データ圧縮装置100は、指数部及び符号部については、公知のガンマ符号、デルタ符号、ランレングス符号等を適用すればよい。これにより、圧縮処理を部分的に容易(単純)なものとすることができるため、処理効率が上がる。一方、仮数部23ビットは、元の値の精度や動きが最も反映される要素であるため、その予測は難しい。元の値の変動が激しい場合、残差は最大−223〜+223の幅を持って大きく動く。この場合、単純にガンマ符号やデルタ符号を適用しても、元の23ビットより長い符号語となってしまうため、分布に合った可変長符号モデルが必要となる。そこで、データ圧縮装置100は、仮数部については、これを整数とみなして以下に説明する圧縮処理を行う。
以下、整数可変長符号化部120の動作の詳細について説明する。
整数可変長符号化部120では、符号化対象である整数(残差)を入力する際、2つのパラメータを指定することにより、所望の分布を符号化するのに適当な可変長符号語を生成する。第1のパラメータは下位ビットの長さである。第2のパラメータは上位ビットに対する可変長符号化方法の識別子である。ここでは一例として、この識別子により公知のアルファ符号、ガンマ符号、フィボナッチ符号の3つが指定できるようになっている。ただし、これに限定するものではなく、例えばフィボナッチ符号の代わりに公知のデルタ符号を用いてもよい。なお、本例における可変長符号の種別は、上位ビットにアルファ符号を指定した場合には公知のゴロム・ライス符号に対応し、ガンマ符号を指定した場合には公知の指数ゴロム符号に対応する。
符号化は以下のようにして行う。ここでは符号化対象である整数をx、第1のパラメータで指定される下位ビット長をkとする。まず、xは負や0の値をとり得るため、下記の式(3)に定義を示す関数Pos(x)により正の整数に変換し、アルファ符号やガンマ符号の定義域に合うようにする。ただし、フィボナッチ符号を用いる場合には定義域が0以上なので、下記の式(4)で変換する。
次に、Pos(x)で得られた正整数xに対し、下記の式(5)で定義される関数Hi(x,k)及び下記の式(6)で定義されるLow(x)を適用し、上位ビット整数及び下位ビット整数を得る。式(5)中の(x+2k−1)/2をフロア関数の括弧で囲んだ部分(即ち、右辺)は括弧内の値を超えない最大の整数を表す。式(5)によりxをkビットだけ下位側にシフトした値を得る。なお、式(5)、式(6)で下位ビット長kの半分だけ値をオフセットしているのは、正負領域ができるだけ対称になるようにするためである。
正値への変換Pos(x)と組み合わせて得られる上位ビット値Hi(Pos(x),k)は、第2のパラメータで指定される可変長符号(アルファ符号/ガンマ符号/フィボナッチ符号)により符号化する。下位ビット値Low(Pos(x))は、kビットの固定長バイナリ符号により符号化する。得られた2つの符号語を並べて(連結して)、入力された整数xの符号語とする。
このようにして得られる符号語の長さを図4〜図6に示す。図4は、アルファ符号とバイナリ符号との組み合わせで生成される符号語の長さを示すグラフである。図5は、ガンマ符号とバイナリ符号との組み合わせで生成される符号語の長さを示すグラフである。図6は、フィボナッチ符号とバイナリ符号との組み合わせで生成される符号語の長さを示すグラフである。
図4〜図6において、横軸は符号化対象値xを、縦軸は符号語の長さである。図4は、可変長符号としてアルファ符号を用い、下位ビット長として0ビット/4ビット/8ビットを指定した場合に得られる符号語の長さを示している。図5は、可変長符号としてガンマ符号を用い、下位ビット長として0ビット/4ビット/8ビットを指定した場合に得られる符号語の長さを示している。図6は、可変長符号としてフィボナッチ符号を用い、下位ビット長として0ビット/4ビット/8ビットを指定した場合に得られる符号語の長さを示している。
このように2つのパラメータ(第1及び第2のパラメータ)を用いることにより、様々な特性を持つ符号モデルを構成することができる。したがって、これらの符号モデルのバリエーションから実際の符号化対象の分布に合うものを選択すれば、単一の符号モデルを適用する方式よりも高い圧縮率を得ることができる。なお、グラフではそれぞれ0ビット/4ビット/8ビットの3種類のみを例示しているが、実際には0ビット(下位ビット固定長バイナリ符号を使わない)〜23ビット(固定長バイナリ符号だけを使い、可変長符号を使わない)の24種類を用いる。
以上説明した処理が整数可変長符号化部120によって行われる。
以下、符号化パラメータ予測部130の動作の詳細について説明する。
符号化パラメータ予測部130は、各残差を符号化するための符号化パラメータを、先行する残差履歴に基づいて決定する。
図7は、符号化パラメータ予測部130による符号化パラメータの選択手順を示す図である。
図7において、左端のグラフは残差の時系列を示している。●(黒丸)、×(バツ)、○(白丸)で示す点が残差である。処理は左の残差から右側へ向かって時間順に1つずつ進んで行く。●(黒丸)の残差は符号化が完了しており、×(バツ)と○(白丸)はまだ符号化していない残差である。これから×(バツ)の残差を符号化しようとしており、符号化パラメータ予測部130は、×(バツ)を符号化するための符号化パラメータを決定しようとしている。
符号化パラメータ予測部130の特長は、符号化パラメータの決定を逐次的かつ予測的に行うことである。即ち、符号化パラメータ予測部130は、符号化パラメータを、符号化対象値それぞれに対し毎時刻決定し直す(逐次的)。これにより、非定常なデータの任意時刻の変動に追従することができる。
また、符号化パラメータ予測部130は、符号化パラメータを図7において網掛けで示す符号化済みの残差から決定する(予測的)。網掛けの中には現在の符号化対象値(の残差)が含まれていないことに注意されたい。このように伸張(圧縮と逆の処理)時も参照可能な値だけを使って符号化パラメータを決定することにより、逐次的にパラメータを変更してデータの変動に追従しても、追従した結果を補助情報として圧縮データに保存する必要がない、というメリットが得られる。なお、このように履歴を使ったパラメータ決定は、厳密には現在の対象値に最適なパラメータを決定していることにはならないが、分散が連続的に変化すると仮定するなら準最適なパラメータを決定することが可能である。即ち、最適な符号化パラメータを推定することができる。
パラメータ決定の目的は、図7の中央の3枚グラフ(左から順に図4〜図6のグラフに対応しており、図中では3枚×3本だが実際は前述の通り3枚×24本)に示した符号モデルの中から最も履歴に合うモデルを選択することである。これは、網掛けに入っている3点の残差を、それぞれのモデルで符号化したときの、符号長の総和を比較することにより行う。
モデル選択は具体的には下記の式(7)により、モデルmの中で履歴Xhistに対し最尤のモデルmを選択することにより実現する。式(7)は最終的には、モデルが値xに与える対数尤度log(p(x|m))の総和とモデルの事前確率log(p(m))の和により求められる。これらのうち、第1項(対数尤度の総和)はxの情報量であり、値xをモデルmで符号化したときの符号長(Codelen)により下記の式(8)で与える。第2項(事前確率)は任意に与えてよく、例えば式(9)のように全てのモデルに対し一律に定数1/M(Mはモデルの種類数)を与えてこの項を消してしまい、履歴だけでmを決定するようにしてもよい。
以上説明した処理(ステップS104に相当する)が符号化パラメータ予測部130によって行われることにより、履歴に対し最尤のモデルを選択することができる。
以下、残差符号化部140の動作の詳細について説明する。
残差符号化部140は、新たな残差を1つ受け取り、符号化パラメータ予測部130で決定された最適なモデルのパラメータを用いて整数可変長符号化部120を呼び出し、得られた符号語を出力する。この出力が最終的にデータ圧縮装置100から出力される圧縮後データ(残差符号列データ102)となる。なお、前述したように、このデータの先頭には、入力データ101のサイズを示す値が含まれている。
以上説明した処理(ステップS105に相当する)が残差符号化部140によって行われる。
図8は、本実施の形態に係るデータ伸張装置100aの構成を示すブロック図である。
図8において、データ伸張装置100aは、データ圧縮装置100と同様の符号化対象値予測部110(残差算出部)と、整数可変長符号化部120及び符号化パラメータ予測部130からなる符号化パラメータ選択部190とを備えるほか、残差符号化部140に代えて、残差復号化部140aを備える。また、図示していないが、データ伸張装置100aは、データ圧縮装置100と同様に、処理装置、記憶装置、入力装置、出力装置等のハードウェアを備える。
図9は、データ伸張装置100aの動作(本実施の形態に係るデータ伸張方法、本実施の形態に係るデータ伸張プログラムの処理手順)を示すフローチャートである。
データ圧縮装置100による圧縮処理は可逆圧縮であるため、図9において、データ伸張装置100aは、圧縮データ(残差符号列データ102)から元の入力データ101を損失なく伸張することができる。
ステップS101aでは、データ伸張装置100aが、圧縮データ(残差符号列データ102)の先頭から入力データ101のサイズ(時系列の長さ)Nを読み出す。このサイズは前述の通り固定長バイナリデータとして圧縮データ(残差符号列データ102)に保存されているため特段の伸張処理は不要である。
ステップS102a以降では、データ伸張装置100aが、N個の符号語の伸張処理を行う。
ステップS102aでは、残差復号化部140aが、N個のデータの伸張処理が完了したかを処理装置によりカウントして、終了判定をしている。完了していなければステップS103に進む。
ステップS103では、符号化対象値予測部110が、次に伸張する値を、伸張済みの値(入力値)を基に処理装置により予測して予測値を得る。予測方法は圧縮時と同じであるため、説明を省略する。
ステップS104では、符号化パラメータ選択部190が、伸張済みの値を基に符号モデルを処理装置により選択する。このモデル選択処理も圧縮時と同じであるため、説明を省略する。
ステップS105aでは、残差復号化部140aが、残差を圧縮データ(残差符号列データ102)から処理装置により取り出す。例えばステップS104で選択された符号モデルが、上位ビットの圧縮にガンマ符号を、下位ビットに4ビットバイナリ符号を用いるモデルである場合を考える。ガンマ符号は可変長符号であるが、圧縮データ(残差符号列データ102)から取り出した残差(符号語)の先頭から1ビットずつ読み込んで行き、1が出るまで読み込めば、ガンマ符号で符号化された部分(符号語)の長さを知ることができる。後は残りのビット数を読み込んで整数sに復号する。得られた整数sは、前述のように式(3)による正数化処理と、式(5)によるオフセット付き上位ビット抽出処理がかかっているので、まず、式(5)の逆変換によりs’=s×2−24−1を得る。次に式(3)に従い、s’が1ならばs”=0、それ以外の奇数ならば、s”=(s’−1)/2を、偶数ならばs”=s’/2を得る。得られたs”は、圧縮前の値の下位4ビットを0でマスクした値になっている。次に、圧縮データから4ビットバイナリデータを読み出す。得られた値rは圧縮前の値の下位ビットが表す値になっている。したがって圧縮前の値(入力値)をr+s”として得ることができる。
なお、残差復号化部140aは、上位ビットの符号化にガンマ符号ではなくデルタ符号、アルファ符号を用いる場合も上記と同様にして復号することができる。フィボナッチ符号の場合は、先頭から11が出現するまでのビット列が符号語になっており、そこまでを読み込んで復号すればよい。これらはいずれも公知の符号・復号処理であるため、ここでは説明を省略する。
以上のようにして、データ伸張装置100aは、データ圧縮装置100で圧縮したデータを損失なく伸張することができる。
以上述べたように、本実施の形態のデータ圧縮装置100は、アルファ符号、ガンマ符号、デルタ符号、フィボナッチ符号といった任意の可変長符号と、任意の長さのバイナリ符号とを組み合わせて得られる、多様な可変長符号モデルの中から自動的に最適な符号モデルを決定して用いる。このため、前述した従来の課題1を解決し、種々の分布のデータに適用可能なデータ圧縮装置100を得ることができる。
また、本実施の形態のデータ圧縮装置100は、伸張時にも参照可能な履歴を使って符号モデルの選択を行うため、時系列中の値ごとにモデルを切り換えても、圧縮データ中に補助情報を保存しなくてよい。このため、前述した従来の課題2を解決し、圧縮率を向上させることが可能である。
さらに、本実施の形態のデータ圧縮装置100は、時系列データの各値において最適な符号モデルを選択しており、非定常なデータであってもその変動に逐次追従することが可能である。このため、前述した従来の課題3を解決し、優れた圧縮率を得ることが可能である。
以上説明したように、本実施の形態に係るデータ圧縮装置100は、可変長符号モデルの予測型逐次選択を行うことができる。データ圧縮装置100において、符号化対象値予測部110は、符号化対象である入力データ101の各数値に対し、当該数値に先行する履歴値に基づいて当該数値を予測し、予測結果を当該数値と比較して整数の残差を得て、当該残差を新たな符号化対象として入力データ101を置き換える。整数可変長符号化部120は、整数の符号化対象値と符号化パラメータを受け取り、当該符号化対象値に対し、当該符号化パラメータに従って異なる長さの符号語を生成する。符号化パラメータ予測部130は、符号化パラメータの候補を予め与えられて有し、上記新たな符号化対象である各残差に対し、当該残差に先行する残差履歴を、符号化パラメータの候補とともに整数可変長符号化部120へ送って当該残差履歴の符号長を求め、当該符号長に基づいて最良の符号化パラメータを決定する。残差符号化部140は、符号化パラメータ予測部130により決定された最良の符号化パラメータと、符号化対象である各残差を、整数可変長符号化部120へ送って、得られた符号語を出力データ(残差符号列データ102)とする。
また、本実施の形態に係るデータ圧縮装置100は、整数の2パラメータ可変長符号化を行うことができる。データ圧縮装置100において、整数可変長符号化部120は、符号化パラメータとして少なくとも下位ビット長を、望ましくはさらに公知のアルファ符号、ガンマ符号、デルタ符号、フィボナッチ符号の少なくとも1つを指定可能な可変長符号化方法識別子とを受け取る。整数可変長符号化部120は、入力された符号化対象値を当該下位ビット長の位置で上位ビットデータと下位ビットデータに分割し、当該上位ビットデータを当該可変長符号化方法識別子が対応する符号化方法で符号化し、当該下位ビットデータは固定長バイナリ符号のままとし、当該上位ビットデータの符号語と当該下位ビットデータの符号語を合わせて当該符号化対象値の符号語とする。
また、本実施の形態に係るデータ圧縮装置100は、浮動小数点の仮数部をターゲットとすることができる。符号化対象である入力データ101が浮動小数点数データである場合、符号化対象値予測部110において生成する整数の残差は、浮動小数点数の仮数部に対する予測結果と入力データ101の差分を少なくとも含む。
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
図10は、本実施の形態に係るデータ圧縮装置100の構成を示すブロック図である。
図10において、データ圧縮装置100は、さらに、事前確率格納部150を備える。
事前確率格納部150は、各符号化パラメータが示す符号化方法の事前確率を定義する事前確率情報を記憶装置により予め格納する。
本実施の形態において、符号化パラメータ選択部190は、符号化対象値予測部110により算出された残差より過去の残差を、各符号化パラメータが示す符号化方法を用いて符号化した場合の当該過去の残差の符号長と、事前確率格納部150に格納された事前確率情報で定義されている当該符号化方法の事前確率とに基づき、最適な符号化パラメータを時刻ごとに推定する。
例えば、符号化パラメータ選択部190において、符号化パラメータ予測部130が、前述した式(7)により、モデルmの中で履歴Xhistに対し最尤のモデルmを選択する場合、符号化パラメータ予測部130は、第2項(事前確率)に、事前確率格納部150に格納された事前確率情報で定義されているモデルmの事前確率を適用する。このとき、例えば、式(10)、式(11)のようにして開発用データXdevにおける符号長の比を用いて事前確率を与えることができる。
なお、本実施の形態において、データ圧縮装置100に対応するデータ伸張装置100aは、データ圧縮装置100と同様に、事前確率格納部150を備えることになる。データ伸張装置100aの符号化対象値予測部110の動作については、データ圧縮装置100の符号化対象値予測部110と同様である。
以上説明したように、本実施の形態に係るデータ圧縮装置100は、履歴が短いときも事前確率でロバストな圧縮処理を行うことができる。データ圧縮装置100において、事前確率格納部150は、符号化パラメータ候補に対する事前確率を予め与えられて格納する。符号化パラメータ予測部130は、残差履歴の符号長と、符号化パラメータ候補の事前確率とを用いて最良の符号化パラメータを決定する。
実施の形態3.
本実施の形態について、主に実施の形態1との差異を説明する。
図11は、本実施の形態に係るデータ圧縮装置100の構成を示すブロック図である。
図11において、データ圧縮装置100は、さらに、パラメータ間距離格納部160(近似度格納部)を備える。
パラメータ間距離格納部160は、各符号化パラメータが示す符号化方法同士の近似度を定義する近似度情報を記憶装置により予め格納する。各符号化パラメータが示す符号化方法同士の近似度として、以下では、各符号化パラメータが示す符号化方法同士のカルバック・ライブラー情報量を用いるものとするが、他の方法により近似度を定義してもよい。
本実施の形態において、符号化パラメータ選択部190は、符号化対象値予測部110により算出された残差に対して選択対象とする符号化パラメータを、当該残差の直前の残差に対して選択した符号化パラメータが示す符号化方法との近似度としてパラメータ間距離格納部160に格納された近似度情報で定義されている近似度が所定の範囲内である符号化方法を示す符号化パラメータのみに限定する。
例えば、実施の形態1では、符号化パラメータ選択部190において、符号化パラメータ予測部130が、全てのモデル候補を対象にp(m|Xhist)を評価して最尤モデルを決定しているが、本実施の形態では、以下のようにして各時刻で探索するモデルを限定するため、より少ない計算量でモデル選択処理を実行することができる。
図7の左端のグラフにおいて、現在の符号化対象値と、履歴として使う残差の領域とを1つずつ時間軸上で(右に)ずらしていく場合、各時刻における履歴の分散は、連続的に変化すると仮定することができる。このとき、各時刻の履歴において最適なモデルも連続的に変化すると仮定できる。したがって、時刻tにおいて最適なモデルmを決定したら、時刻t+1においてはmの周辺のモデルを探すだけで最適なモデルmt+1を見つけることができる。
図12は、符号化パラメータ予測部130による符号化パラメータの選択手順を示す図である。
図12において、あるモデルの「周辺にあるモデル」は、以下のようにして定義できる。上位ビットの可変長符号方式が同一で、下位ビット長(0〜23)のみが異なるモデルを用いる場合、例えば図4〜図6の3本のグラフで表されるモデルを用いる場合においては、下位ビット長の値に従ってモデル間の順序関係(隣接関係)を与えればよい。
一方、上位ビットの可変長符号方式が異なる場合には、このような自明な順序関係を与えることができない。そこでモデルの符号長分布が想定している確率分布間で公知のカルバック・ライブラー情報量(Kullback−Leibler・Divergence)を下記の式(12)、式(13)により求め、これを符号モデルmからmへの距離とする。なお式(12)においてxの総和は、4バイト浮動小数点の仮数部(23ビット)間の差分であれば−223〜+223の間で求めればよい。このようにしてモデル間の距離を定義し、予め計算しておくことができる。符号化パラメータ予測部130による実際のモデル選択時には、時刻tにおいて最適なモデルmを決定したら、時刻t+1においては、予め設定した閾値θを用いて、DKL((m||m)<θとなるようなモデルだけを探索すればよい(図12の「探索範囲」の円内)。このようにして、多様なモデル候補を扱う場合であってもモデル選択に必要な計算量を抑えることが可能である。
なお、本実施の形態において、データ圧縮装置100に対応するデータ伸張装置100aは、データ圧縮装置100と同様に、パラメータ間距離格納部160を備えることになる。データ伸張装置100aの符号化対象値予測部110の動作については、データ圧縮装置100の符号化対象値予測部110と同様である。
以上説明したように、本実施の形態に係るデータ圧縮装置100は、探索範囲を隣接するモデルに限定することができる。データ圧縮装置100において、符号化パラメータ予測部130は、決定した最良の符号化パラメータを記憶し、次の残差に対する符号化パラメータ候補を評価する際には、記憶した符号化パラメータから所定の範囲の候補のみを評価する。
また、本実施の形態に係るデータ圧縮装置100は、隣接の定義をカルバック・ライブラー情報量で行うことができる。データ圧縮装置100において、パラメータ間距離格納部160は、符号化パラメータ候補により特定される可変長符号モデルについて、当該モデルの符号長の分布から推定される、当該モデルに最適な確率分布を用い、他のモデルとの距離を当該確率分布の間の距離により定義し、当該距離を予め算出して格納する。符号化パラメータ予測部130は、当該距離を、評価を行う際の所定の範囲の基準として用いる。
以上、本発明の実施の形態について説明したが、これらのうち、2つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、2つ以上の実施の形態を部分的に組み合わせて実施しても構わない。
100 データ圧縮装置、100a データ伸張装置、101 入力データ、102 残差符号列データ、110 符号化対象値予測部、120 整数可変長符号化部、130 符号化パラメータ予測部、140 残差符号化部、140a 残差復号化部、150 事前確率格納部、160 パラメータ間距離格納部、190 符号化パラメータ選択部、901 LCD、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 HDD、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

Claims (11)

  1. 時系列の入力値で構成された入力データから入力値を時刻ごとに取得し、取得した入力値より過去の入力値に基づき所定の予測方法を用いて予測値を時刻ごとに計算し、取得した入力値と計算した予測値との残差を処理装置により時刻ごとに算出する残差算出部と、
    前記残差算出部により算出された残差に対して、それぞれ異なる符号化方法を示す複数の符号化パラメータのうち、当該残差より過去の残差を符号化した場合に当該過去の残差の符号長が他の符号化方法より短くなる符号化方法を示す符号化パラメータを処理装置により時刻ごとに選択する符号化パラメータ選択部と、
    前記残差算出部により算出された残差を時刻ごとに取得し、取得した残差を、前記符号化パラメータ選択部により当該残差に対して選択された符号化パラメータが示す符号化方法を用いて処理装置により符号化して当該残差の符号語を時刻ごとに算出し、算出した符号語を前記入力データの圧縮データとして出力する残差符号化部と
    を備えることを特徴とするデータ圧縮装置。
  2. 前記複数の符号化パラメータの各々は、符号化方法として、符号化対象となる残差のうち、固定長符号を用いる部分と可変長符号を用いる部分とを示すパラメータであることを特徴とする請求項1のデータ圧縮装置。
  3. 前記複数の符号化パラメータの各々は、符号化方法として、さらに、前記可変長符号の種別を示すパラメータであることを特徴とする請求項2のデータ圧縮装置。
  4. 前記複数の符号化パラメータの各々は、前記可変長符号の種別として、アルファ符号とガンマ符号とデルタ符号とフィボナッチ符号との少なくともいずれかを示すパラメータであることを特徴とする請求項3のデータ圧縮装置。
  5. 前記複数の符号化パラメータの各々は、前記固定長符号を用いる部分として、前記符号化対象となる残差の下位ビット長を示すパラメータであることを特徴とする請求項2から4のいずれかのデータ圧縮装置。
  6. 前記符号化パラメータ選択部は、前記残差算出部により算出された残差に対して、前記複数の符号化パラメータのうち、当該残差より過去の残差を符号化した場合に当該過去の残差の符号長が最も短くなる符号化方法を示す符号化パラメータを最適な符号化パラメータとして時刻ごとに推定し、推定した最適な符号化パラメータを選択することを特徴とする請求項1から5のいずれかのデータ圧縮装置。
  7. 前記データ圧縮装置は、さらに、
    前記複数の符号化パラメータの各々が示す符号化方法の事前確率を定義する事前確率情報を記憶装置により予め格納する事前確率格納部
    を備え、
    前記符号化パラメータ選択部は、前記残差算出部により算出された残差より過去の残差を、前記複数の符号化パラメータの各々が示す符号化方法を用いて符号化した場合の当該過去の残差の符号長と、前記事前確率格納部に格納された事前確率情報で定義されている当該符号化方法の事前確率とに基づき、前記最適な符号化パラメータを時刻ごとに推定することを特徴とする請求項6のデータ圧縮装置。
  8. 前記データ圧縮装置は、さらに、
    前記複数の符号化パラメータの各々が示す符号化方法同士の近似度を定義する近似度情報を記憶装置により予め格納する近似度格納部
    を備え、
    前記符号化パラメータ選択部は、前記複数の符号化パラメータのうち、前記残差算出部により算出された残差に対して選択対象とする符号化パラメータを、当該残差の直前の残差に対して選択した符号化パラメータが示す符号化方法との近似度として前記近似度格納部に格納された近似度情報で定義されている近似度が所定の範囲内である符号化方法を示す符号化パラメータのみに限定することを特徴とする請求項1から7のいずれかのデータ圧縮装置。
  9. 前記近似度情報は、前記複数の符号化パラメータの各々が示す符号化方法同士の近似度として、前記複数の符号化パラメータの各々が示す符号化方法同士のカルバック・ライブラー情報量を定義する情報であることを特徴とする請求項8のデータ圧縮装置。
  10. 処理装置が、時系列の入力値で構成された入力データから入力値を時刻ごとに取得し、取得した入力値より過去の入力値に基づき所定の予測方法を用いて予測値を時刻ごとに計算し、取得した入力値と計算した予測値との残差を時刻ごとに算出し、
    処理装置が、算出した残差に対して、それぞれ異なる符号化方法を示す複数の符号化パラメータのうち、当該残差より過去の残差を符号化した場合に当該過去の残差の符号長が他の符号化方法より短くなる符号化方法を示す符号化パラメータを時刻ごとに選択し、
    処理装置が、算出した残差を、当該残差に対して選択した符号化パラメータが示す符号化方法を用いて符号化して当該残差の符号語を時刻ごとに算出し、算出した符号語を前記入力データの圧縮データとして出力することを特徴とするデータ圧縮方法。
  11. 時系列の入力値で構成された入力データから入力値を時刻ごとに取得し、取得した入力値より過去の入力値に基づき所定の予測方法を用いて予測値を時刻ごとに計算し、取得した入力値と計算した予測値との残差を処理装置により時刻ごとに算出する残差算出処理と、
    前記残差算出処理により算出された残差に対して、それぞれ異なる符号化方法を示す複数の符号化パラメータのうち、当該残差より過去の残差を符号化した場合に当該過去の残差の符号長が他の符号化方法より短くなる符号化方法を示す符号化パラメータを処理装置により時刻ごとに選択する符号化パラメータ選択処理と、
    前記残差算出処理により算出された残差を時刻ごとに取得し、取得した残差を、前記符号化パラメータ選択処理により当該残差に対して選択された符号化パラメータが示す符号化方法を用いて処理装置により符号化して当該残差の符号語を時刻ごとに算出し、算出した符号語を前記入力データの圧縮データとして出力する残差符号化処理と
    をコンピュータに実行させることを特徴とするデータ圧縮プログラム。
JP2010286438A 2010-12-22 2010-12-22 データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム Active JP5570409B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010286438A JP5570409B2 (ja) 2010-12-22 2010-12-22 データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010286438A JP5570409B2 (ja) 2010-12-22 2010-12-22 データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム

Publications (2)

Publication Number Publication Date
JP2012134858A true JP2012134858A (ja) 2012-07-12
JP5570409B2 JP5570409B2 (ja) 2014-08-13

Family

ID=46649896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010286438A Active JP5570409B2 (ja) 2010-12-22 2010-12-22 データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム

Country Status (1)

Country Link
JP (1) JP5570409B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015088911A (ja) * 2013-10-30 2015-05-07 国立大学法人大阪大学 生体情報の圧縮方法およびデータ圧縮装置
WO2016132430A1 (ja) * 2015-02-16 2016-08-25 三菱電機株式会社 データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム
US9680499B2 (en) 2015-07-24 2017-06-13 Fujitsu Limited Data compression device and method
US10809977B2 (en) 2015-05-28 2020-10-20 Mitsubishi Electric Corporation Analysis device, analysis method, and computer readable medium
CN114817831A (zh) * 2022-06-30 2022-07-29 四川公路工程咨询监理有限公司 建筑工程经济用的计算辅助方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767043B (zh) * 2019-01-17 2020-11-24 中南大学 一种电力负荷时间序列大数据智能建模与预测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01158825A (ja) * 1987-12-16 1989-06-21 Fujitsu Ltd 適応型符号化制御方式
JPH04291826A (ja) * 1991-03-20 1992-10-15 Toshiba Corp 符号化伝送装置
JPH08307880A (ja) * 1995-03-03 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像符号化装置
JP2003101417A (ja) * 2001-09-25 2003-04-04 Ricoh Co Ltd 符号化装置、符号化方法、復号化装置
JP2008160535A (ja) * 2006-12-25 2008-07-10 Nippon Telegr & Teleph Corp <Ntt> 符号化伝送方法、その装置、そのプログラム、およびその記録媒体
WO2010104011A1 (ja) * 2009-03-10 2010-09-16 日本電信電話株式会社 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01158825A (ja) * 1987-12-16 1989-06-21 Fujitsu Ltd 適応型符号化制御方式
JPH04291826A (ja) * 1991-03-20 1992-10-15 Toshiba Corp 符号化伝送装置
JPH08307880A (ja) * 1995-03-03 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像符号化装置
JP2003101417A (ja) * 2001-09-25 2003-04-04 Ricoh Co Ltd 符号化装置、符号化方法、復号化装置
JP2008160535A (ja) * 2006-12-25 2008-07-10 Nippon Telegr & Teleph Corp <Ntt> 符号化伝送方法、その装置、そのプログラム、およびその記録媒体
WO2010104011A1 (ja) * 2009-03-10 2010-09-16 日本電信電話株式会社 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015088911A (ja) * 2013-10-30 2015-05-07 国立大学法人大阪大学 生体情報の圧縮方法およびデータ圧縮装置
WO2016132430A1 (ja) * 2015-02-16 2016-08-25 三菱電機株式会社 データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム
JPWO2016132430A1 (ja) * 2015-02-16 2017-06-01 三菱電機株式会社 データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム
CN107251438A (zh) * 2015-02-16 2017-10-13 三菱电机株式会社 数据压缩装置、数据解压缩装置、数据压缩方法、数据解压缩方法和程序
US9979415B2 (en) 2015-02-16 2018-05-22 Mitsubishi Electric Corporation Data compression apparatus, data decompression apparatus, data compression method, data compression method, and computer readable medium
CN107251438B (zh) * 2015-02-16 2020-10-30 三菱电机株式会社 数据压缩装置及方法、数据解压缩装置及方法和记录介质
US10809977B2 (en) 2015-05-28 2020-10-20 Mitsubishi Electric Corporation Analysis device, analysis method, and computer readable medium
US9680499B2 (en) 2015-07-24 2017-06-13 Fujitsu Limited Data compression device and method
CN114817831A (zh) * 2022-06-30 2022-07-29 四川公路工程咨询监理有限公司 建筑工程经济用的计算辅助方法

Also Published As

Publication number Publication date
JP5570409B2 (ja) 2014-08-13

Similar Documents

Publication Publication Date Title
JP5570409B2 (ja) データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム
JP5221047B2 (ja) 圧縮率の向上のために改善されたコンテキストモデル選択を使用するcabac符号化方法及び装置、並びにcabac復号化方法及び装置
US8704685B2 (en) Encoding method, encoding apparatus, decoding method, decoding apparatus, and system
US6411231B1 (en) Encoding, decoding, and probability estimation method
US10133551B1 (en) Content-aware compression of data using multiple parallel prediction functions
US10153779B1 (en) Content-aware compression of floating-point time-series data using multiple prediction functions and estimated bit-saving thresholds
US9954550B1 (en) Content-aware compression of data using window-based selection from multiple prediction functions
WO2006070925A1 (en) Device and data method for selective compression and decompression and data format for compressed data
JP5591080B2 (ja) データ圧縮装置及びデータ処理システム及びコンピュータプログラム及びデータ圧縮方法
CN110021369B (zh) 基因测序数据压缩解压方法、系统及计算机可读介质
WO2013140530A1 (ja) プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体
JP5619326B2 (ja) 符号化装置、復号装置、符号化方法、符号化プログラム、復号方法および復号プログラム
CN110021368B (zh) 比对型基因测序数据压缩方法、系统及计算机可读介质
CN101009837B (zh) 将位置内插器编码到比特流中的方法
JP5095033B2 (ja) データ圧縮装置及びデータ圧縮方法及びプログラム
US10515656B2 (en) Pitch extraction device and pitch extraction method by encoding a bitstream organized into equal sections according to bit values
JPWO2019021552A1 (ja) 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム
Imai et al. A Floating Point Data Compression Using Inter-Extrapolative Predictor
US7747093B2 (en) Method and apparatus for predicting the size of a compressed signal
JP2606583B2 (ja) ベクトル画像符号化装置
CN109698704B (zh) 比对型基因测序数据解压方法、系统及计算机可读介质
JP4497029B2 (ja) データ符号化装置,およびデータ符号化方法
JP4936574B2 (ja) 符号化装置及びその制御方法
JP2614318B2 (ja) 網点画像データ圧縮方式
BOUZID et al. Joint channel-source coding for robust vector quantization: Application to speech coding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140509

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: 20140527

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140624

R150 Certificate of patent or registration of utility model

Ref document number: 5570409

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250