JPWO2014118954A1 - データ圧縮装置、データ圧縮方法およびプログラム - Google Patents
データ圧縮装置、データ圧縮方法およびプログラム Download PDFInfo
- Publication number
- JPWO2014118954A1 JPWO2014118954A1 JP2014504111A JP2014504111A JPWO2014118954A1 JP WO2014118954 A1 JPWO2014118954 A1 JP WO2014118954A1 JP 2014504111 A JP2014504111 A JP 2014504111A JP 2014504111 A JP2014504111 A JP 2014504111A JP WO2014118954 A1 JPWO2014118954 A1 JP WO2014118954A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- starting point
- time
- input
- candidate
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
データ圧縮装置は、受付部と生成部と選択部と圧縮部とを備える。受付部は、時系列に入力される複数の入力データを受付ける。生成部は、第1時刻に入力された入力データである起点データに対する誤差が閾値以内のデータである複数の起点候補を生成する。選択部は、起点候補と、第2時刻に入力された入力データである終点データと、第1時刻と前記第2時刻との間の時刻に入力された入力データである中間データと、を用いて、起点候補のうち、起点候補と終点データとによって誤差が閾値以内となるように近似される中間データの個数が、他の起点候補より大きい起点候補を選択する。圧縮部は、選択された起点候補と終点データとを、起点データと中間データと終点データとを圧縮した出力データとして出力する。
Description
本発明の実施形態は、データ圧縮装置、データ圧縮方法およびプログラムに関する。
入力された時系列データから、時系列データを構成するポイントデータを間引くことでデータを圧縮する方法が知られている。そのような圧縮方法としては、Box Carアルゴリズム、Backward Slopeアルゴリズム、Swinging Doorアルゴリズムなどが存在する。
Swinging Doorアルゴリズムは、誤差が予め設定された閾値以下となるように線形近似することでデータを間引くアルゴリズムの代表例である。Swinging Doorアルゴリズムでは、起点を1点定めて、この起点から、誤差が予め設定された閾値以下となるように、線形近似を行う。
Matthew J. Watson, et al, "A Practical Assessment of Process Data Compression Techniques", Ind. Eng. Chem. Res., Vol. 37, No. 1, 1998, 267−274.
E. H. Bristol, "Swinging Door Trending: Adaptive Trend Recording?", ISA National Conf. Proc., 1990, pp. 749−754.
Peter A. James, "DATA COMPRESSION FOR PROCESS HISTORIANS", http://www.castdiv.org/archive/data_compression.pdf, 1995.
時系列データベースに記憶する時系列データの種類およびサイズは増大する傾向にあり、より効率的に時系列データを圧縮する手法が求められている。
実施形態のデータ圧縮装置は、受付部と生成部と選択部と圧縮部とを備える。受付部は、時系列に入力される複数の入力データを受付ける。生成部は、第1時刻に入力された入力データである起点データに対する誤差が閾値以内のデータである複数の起点候補を生成する。選択部は、起点候補と、第2時刻に入力された入力データである終点データと、第1時刻と前記第2時刻との間の時刻に入力された入力データである中間データと、を用いて、起点候補のうち、起点候補と終点データとによって誤差が閾値以内となるように近似可能な中間データの個数が、他の起点候補より大きい起点候補を選択する。圧縮部は、選択された起点候補と終点データとを、起点データと中間データと終点データとを圧縮した出力データとして出力する。
以下に添付図面を参照して、この発明にかかるデータ圧縮装置の好適な実施形態を詳細に説明する。
(第1の実施形態)
上述のように、Swinging Doorアルゴリズム等では、1つの起点を定めて、線形近似により時系列データを圧縮していた。第1の実施形態にかかるデータ圧縮装置は、複数の起点(起点候補)を定めて、より効率的に圧縮できる起点候補を採用して時系列データを圧縮する。
上述のように、Swinging Doorアルゴリズム等では、1つの起点を定めて、線形近似により時系列データを圧縮していた。第1の実施形態にかかるデータ圧縮装置は、複数の起点(起点候補)を定めて、より効率的に圧縮できる起点候補を採用して時系列データを圧縮する。
ここで、本実施形態で用いる用語等について説明する。
時系列データとは、ある現象の時間的な変化を観測または計測して得られた値の系列(ポイントデータ列)である。時系列データは、通常、所定の時間間隔で計測される。株価、および、プラント設備のセンサー値などが時系列データの例として挙げられる。例えば、プラント設備を構成する多数の機器の温度、振動、および、制御用設定値などの値の系列それぞれは、1つの時系列データと言える。
時系列データベースは、時系列データをデータベース化したものである。時系列データベースは、大量の時系列データを、コンピュータ上のメモリおよび外部記憶装置(ハードディスク)などに時系列順に保存する。
データ格納の最小単位であるデータ項目はタグとも呼ばれる。タグは、データ値、タイムスタンプ、および、データステイタスなどから構成される。収集対象となるデータの種類は、制御システムから入力される運転データ、オンライン計算機能により求められる計算データ、運転員などによりマニュアル入力されるデータ、他システムから入力されるインターフェースデータなどがある。
時系列データベースは、一般に、数千個から数万個のタグが存在し、各タグのデータ保存期間は1年から数年である。データの収集周期は、対象となるシステム(プラント設備等)のリアルタイム性に依存するが、数秒から1分が目安となる。
収集したデータをそのまま格納すると仮定すると、時系列データベースは、10GB(ギガバイト)から10TB(テラバイト)程度の容量が必要となる。また、この程度まで大容量化すると、検索性能の劣化も必至である。
そこで、例えばプラント設備などでは、安定運転時に運転データの変化が小さいという特性を利用してデータを圧縮する技術が用いられている。あるプラント設備では、圧縮比率が1:20の圧縮データからオリジナルデータの挙動を把握できると言われている。
このように、時系列データベースは大容量の記憶領域を必要とするため、より効率的に時系列データを圧縮する手法が求められている。
次に、第1の実施形態にかかるデータ圧縮装置について説明する。図1は、第1の実施形態にかかるデータ圧縮装置100の構成の一例を示すブロック図である。図1に示すように、データ圧縮装置100は、受付部101と、登録部110と、検索部114と、記憶部121と、を備えている。
受付部101、登録部110、および、検索部114は、例えば、CPU(Central Processing Unit)などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
記憶部121は、各種データを記憶する。例えば、記憶部121は、圧縮部113により圧縮された後の時系列データを記憶する。記憶部121は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
受付部101は、クライアント装置などの外部装置からの処理要求、および、データの入力などを受付ける。例えば、時系列データの登録要求、および、時系列データの検索要求などが処理要求に該当する。登録要求の場合、受付部101は、時系列に入力される複数の入力データ(時系列データのポイントデータ)を受付ける。受付部101は、リアルタイムに入力されるポイントデータを受け付けてもよい。受付部101は、リアルタイムに入力されたポイントデータを例えば記憶部121などに記憶する。また、受付部101は、記憶部121等に記憶された時系列データから、時系列順にポイントデータを受け付けてもよい。記憶部121等から時系列データの入力を受付ける場合は、受付部101が、ある時刻を起点として時間を遡るように、すなわち、前の時刻のポイントデータを順次受付けるように構成してもよい。
登録部110は、許容誤差に基づいて、入力されたポイントデータの系列からポイントデータを間引く処理(圧縮処理)を行い、間引き後のポイントデータを記憶部121に時系列データとして登録する。起点候補と他のポイントデータとによってポイントデータを間引く処理のアルゴリズムとしては、Swinging Doorアルゴリズムなどの従来から用いられているあらゆるアルゴリズムを適用できる。登録部110は、生成部111と、選択部112と、圧縮部113と、を備えている。
生成部111は、ある時刻(第1時刻)のポイントデータである起点データに対する誤差が予め定められた閾値以内のデータである複数の起点候補を生成する。
選択部112は、起点候補のうち、より効率的に時系列データを圧縮できる起点候補を選択する。例えば、選択部112は、起点候補のうち、起点候補と、起点データと異なる時刻(第2時刻)に入力された終点データとによって誤差が閾値以内となるように近似されるポイントデータ(中間データ)の個数が、より大きい起点候補を選択する。
圧縮部113は、選択された起点候補と終点データとを、圧縮後の時系列データ(出力データ)として出力する。圧縮部113は、例えば圧縮後の時系列データを逐次、記憶部121に記憶する。圧縮部113は、圧縮後の複数の時系列データを一括で記憶部121に記憶してもよい。
検索部114は、記憶部121に記憶された時系列データを検索する。検索部114は、例えば開始時刻と終了時刻とサンプリング間隔が指定されると、開始時刻から終了時刻までの区間のポイントデータ系列を、指定されたサンプリング間隔で、時系列データベースから検索する。登録部110によってポイントデータが間引かれる場合等があるため、指定されたサンプリング間隔でポイントデータが検索できない場合がありうる。このような場合、検索部114は、例えば線形補間式によってポイントデータを補間する。線形補間式は2点間を補間する方法の一例である。始点を(xs,ys)とし、終点を(xe,ye)とするとき、始点と終点とを結ぶ直線上の任意のxに対応するyの値は以下の(1)式により求められる。ただし、xe≠xsとする。
y=ys+(x−xs)(ye−ys)/(xe−xs)・・・(1)
y=ys+(x−xs)(ye−ys)/(xe−xs)・・・(1)
次に、本実施形態によるデータ圧縮処理の具体例について説明する。図2は、時系列データの一例を示す図である。図2では、P1,P2,P3,P4,P5という5つのポイントデータを含む時系列データが示されている。以下のように、ポイントデータは、例えば時刻(Time)と値(Value)との組合せである。時刻の間隔は必ずしも一定である必要はない。
P1<t1,v1>、P2<t2,v2>、P3<t3,v3>、P4<t4,v4>、P5<t5,v5>。ただし、t1<t2<t3<t4<t5である。
P1<t1,v1>、P2<t2,v2>、P3<t3,v3>、P4<t4,v4>、P5<t5,v5>。ただし、t1<t2<t3<t4<t5である。
図3〜図5は、時系列データの圧縮方法の1番目の方法を説明する図である。図3に示すように、予め指定された許容誤差をαとする。また起点データとしてP1を設定する。新しいポイントデータとしてP2が入力されると、登録部110は、P2に対する上限勾配US2と下限勾配LS2とを求める。
まず、登録部110は、P2の値<t2,v2>に対して、時刻t2での最大許容誤差となる2つのポイントデータP2'<t2,v2+α>とP2''<t2,v2−α>とを求める。上限勾配US2は、P1からP2'までの線分の傾きであり、US2=(v2+α−v1)÷(t2−t1)で求められる。下限勾配LS2は、P1からP2''までの線分の傾きであり、LS2=(v2−α−v1)÷(t2−t1)で求められる。
図4に示すように、新しいポイントデータとしてP3が入力されると、登録部110は、P3に対する上限勾配US3と下限勾配LS3とを求める。上限勾配US3は、P1からP3'までの線分の傾きであり、US3=(v3+α−v1)÷(t3−t1)で求められる。下限勾配LS3は、P1からP3''までの線分の傾きであり、LS3=(v3−α−v1)÷(t3−t1)で求められる。
P2までの上限勾配US2よりもP3までの上限勾配US3の方が小さく、かつ、P2までの下限勾配LS2よりもP3までの下限勾配LS3の方が大きければ、古いポイントデータP2は間引きされる。
図5に示すように、新しいポイントデータとしてP4が入力されると、登録部110は、P4に対する上限勾配US4と下限勾配LS4とを求める。P3までの上限勾配US3よりもP4までの上限勾配US4の方が小さく、かつ、P3までの下限勾配LS3よりもP4までの下限勾配LS4の方が大きければ、古いポイントデータP3は間引きされる。
しかし図5の例では、P3までの下限勾配LS3よりもP4までの下限勾配LS4の方が小さい。結果として、P4は間引きできずに、P3が終点データとして残る。時系列データベース(記憶部121)には、P1、P3という2つのポイントデータがアーカイブ化されることになる。
図6〜図9は、時系列データの圧縮方法の2番目の方法を説明する図である。図6に示すように、予め指定された許容誤差をαとする。また起点としてP1を設定する。新しいポイントデータとしてP2が入力されると、登録部110は、P2に対する上限勾配US2と下限勾配LS2とを求める。登録部110は、図3と同様の方法により上限勾配US2と下限勾配LS2とを求めることができる。図3の1番目の方法と異なるのは、許容誤差範囲を求めることである。図6では、P2に対する許容誤差範囲は、斜線部分で表されている。P2に対する許容誤差範囲は、上限勾配US2と下限勾配LS2という2つのパラメータで特定する。
図7に示すように、新しいポイントデータとしてP3が入力されると、登録部110は、P3に対する仮の上限勾配US3と仮の下限勾配LS3を求める。P3に対する許容誤差範囲は、上限勾配US3と下限勾配LS3という2つのパラメータで特定する。登録部110は、P2に対する許容誤差範囲と、P3に対する仮の許容誤差範囲と、の重なり部分を、P3に対する許容誤差範囲とする。
登録部110は、例えば「LS2>US3 ∨ LS3>US2」を計算する。この値が真であれば、登録部110は、P2に対する許容誤差範囲と、P3に対する仮の許容誤差範囲とは重ならないと判定する。この値が偽であれば、登録部110は、P2に対する許容誤差範囲と、P3に対する仮の許容誤差範囲とは重なると判定する。
図7の例では両範囲が重なるので、登録部110は、P3に対する許容誤差範囲を以下のように求める。Min(A,B)は、AおよびBのうち小さい値を返す関数である。Max(A,B)は、AおよびBのうち大きい値を返す関数である。なお、ここでP2は間引きされることになる。
US3'=Min(US3,US2)
LS3'=Max(LS3,LS2)
US3'=Min(US3,US2)
LS3'=Max(LS3,LS2)
図8に示すように、新しいポイントデータとしてP4が入力されると、登録部110は、P4に対する仮の上限勾配US4と仮の下限勾配LS4を求める。登録部110は、図7と同様にして、P3に対する許容誤差範囲と、P4に対する仮の許容誤差範囲と、が重なるか否かを判定する。図8の例では両範囲が重なるので、登録部110は、P3に対する許容誤差範囲を以下のように求める。なお、ここでP3は間引きされることになる。
US4'=Min(US4,US3)
LS4'=Max(LS4,LS3)
US4=US4'
LS4=LS4'
US4'=Min(US4,US3)
LS4'=Max(LS4,LS3)
US4=US4'
LS4=LS4'
図9に示すように、新しいポイントデータとしてP5が入力されると、登録部110は、P5に対する仮の上限勾配US5と仮の下限勾配LS5を求める。登録部110は、「LS4>US5 ∨ LS5>US4」を計算する。図9の場合、この値が真になるので、登録部110は、P4に対する許容誤差範囲と、P5に対する仮の許容誤差範囲と、が重ならないと判定する。結果として、P5は間引きできずに、P4が終点データとして残る。時系列データベース(記憶部121)には、P1、P4という2つのポイントデータがアーカイブ化されることになる。
登録部110は、圧縮方法のアルゴリズムとして1番目および2番目のいずれを適用してもよい。また、これ以外のアルゴリズムを適用してもよい。従来は、1つの起点を定めてこれらのアルゴリズムを適用していた。本実施形態の登録部110は、複数の起点(起点候補)を定め、複数の起点候補に対して上記のようなアルゴリズムを適用する。
図10〜図13は、本実施形態の時系列データの圧縮方法の一例を説明する図である。1番目および2番目の圧縮方法ではいずれもt1での起点は1点であった。本実施形態では複数の起点候補を設定し、各起点候補を起点とみなして並行して間引き計算を行う。
生成する起点の個数を3とする場合、生成部111は、例えばP1<t1,v1>、P1'<t1,v1+α>、P1''<t1,v1−α>を起点候補として生成する。生成する起点の個数をNとする場合、生成部111は、例えば<t1,v1+α>、<t1,v1+α×(1−2÷(N−1))×1>、<t1,v1+α×(1−2÷(N−1))×2>、・・・、P1<t1,v1>、・・・、<t1,v1−α>を起点候補として生成する。なお、起点候補の生成方法はこれに限られるものではなく、起点データを中心とする許容誤差αの範囲内に含まれる値であれば、どのようなポイントデータを起点候補としてもよい。
以下、図11〜図13では、2番目の圧縮方法による間引き計算を適用した場合の例を説明する。図11に示すように、起点候補はP1<t1,v1>、P1'<t1,v1+α>、P1''<t1,v1−α>である。図11は、これらの起点候補のうちP1''<t1,v1−α>を起点として間引きを行った例を示している。図11に示すように、P1''<t1,v1−α>を起点とする場合、P2,P3,P4までは間引きできるが、P5では間引きできない。
図12は、P1<t1,v1>を起点として間引きを行った例を示している。図12に示すように、P1<t1,v1>を起点とする場合、P2,P3,P4までは間引きできるが、P5では間引きできない。
図13は、P1'<t1,v1+α>を起点として間引きを行った例を示している。図13に示すように、P1'<t1,v1+α>を起点とする場合は、P2,P3,P4,P5まで間引きできる。
このように1番目および2番目の圧縮方法のいずれもt1での起点は1点であったが、本実施形態では複数の起点候補を設定し各起点候補を起点とみなして並行して間引き計算を行う。このため、上記の例では、起点が1点の場合は最大でもP4までの間引きが可能であったのに対し、本実施形態の方法ではP5までの間引きが可能になる。このように、本実施形態の方法によれば、同じ許容誤差であっても圧縮率が高くなる。
次に、このように構成された第1の実施形態にかかるデータ圧縮装置100によるデータ圧縮処理について図14を用いて説明する。図14は、第1の実施形態におけるデータ圧縮処理の全体の流れを示すフローチャートである。なお、図14は、上述の2番目の圧縮方法を適用した場合の例を表す。
まず、選択部112は、起点データを選択する(ステップS101)。例えばリアルタイムで時系列データが入力される場合は、選択部112は、最初に入力されたポイントデータ、または、入力済みのポイントデータに対する間引き処理が完了した後に入力されたポイントデータを起点データとしてもよい。記憶済みの時系列データから逐次ポイントデータを入力する場合は、選択部112は、最初に入力されたポイントデータ、または、入力済みのポイントデータに対する間引き処理が完了した後に入力されたポイントデータを起点データとしてもよい。
生成部111は、選択された起点データに対する誤差が許容誤差以内である複数の起点候補を生成する(ステップS102)。
選択部112は、次点データを選択する(ステップS103)。次点データとは、起点データが入力された時刻(第1時刻)を基準として、連続する時刻(第2時刻)に順次入力されるポイントデータである。次点データは、間引きができなくなるまで順次時刻をずらしながら選択される。以下では前の時刻に選択された次点データを旧次点データという。間引きできなくなったときの旧次点データが終点データに相当する。旧次点データよりさらに前に選択されたポイントデータが、起点データと、最終的に残る終点データ(旧次点データ)との間に入力される中間データに相当する。
上述のように、次点データが入力される時刻は、起点データが入力される時刻の前後のいずれであってもよい。また、例えば、記憶済みの時系列データから逐次ポイントデータを入力する場合は、ステップS101で選択した起点データが最後のポイントデータとなり、次点データが選択(取得)できない場合もありうる。図14では記載を省略しているが、このような場合、登録部110はデータ圧縮処理を終了してもよい。また、リアルタイムにポイントデータを入力する場合は、選択部112は、次のポイントデータ(次点データ)が取得できるまでステップS103の処理を待機してもよい。
次に、選択部112は、生成された起点候補のうち1の起点候補を選択する(ステップS104)。選択部112は、選択した起点候補が無効化されているか否かを判定する(ステップS105)。無効化とは、選択された次点データを用いて間引くことができなくなった起点候補を、以降の処理の対象外とすることを表す。例えば、旧次点データでの処理で間引くことができなかった起点候補は、旧次点データに対する処理のときに無効化される(後述のステップS109)。ステップS105では、このように、前回までの処理で起点候補が無効化されていないかが判定される。
無効化されている場合(ステップS105:Yes)、ステップS104に戻り、選択部112が次の起点候補を選択して処理を繰り返す。無効化されていない場合(ステップS105:No)、選択部112は、選択した起点候補から次点データまでの上限勾配および下限勾配を算出する(ステップS106)。選択部112は、算出した上限勾配および下限勾配と、旧次点データに対して算出された上限勾配および下限勾配とを比較する(ステップS107)。選択部112は、例えば、旧次点データの上限勾配および下限勾配で特定される許容誤差範囲と、次点データの上限勾配および下限勾配で特定される許容誤差範囲とが重なるか否かを判定する。
選択部112は、両者の許容誤差範囲が重なるか否かを判定する(ステップS108)。重なっていない場合(ステップS108:No)、選択部112は、現在選択している起点候補を無効化し(ステップS109)、ステップS104に戻る。重なっている場合(ステップS108:Yes)、選択部112は、起点候補からの上限勾配および下限勾配を、現在の次点データに対して算出した上限勾配および下限勾配に更新する(ステップS110)。
選択部112は、すべての起点候補を処理したか否かを判定する(ステップS111)。処理していない場合(ステップS111:No)、ステップS104に戻り処理を繰り返す。すべての起点候補を処理した場合(ステップS111:Yes)、選択部112は、すべての起点候補が無効化されたか否かを判定する(ステップS112)。すべての起点候補が無効化されていない場合(ステップS112:No)、選択部112は、次の連続する時刻のポイントデータを、新たな次点データとして選択して処理を繰り返す(ステップS103)。
すべての起点候補が無効化された場合(ステップS112:Yes)、選択部112は、最後に無効化された起点候補を選択する(ステップS113)。このような処理によって、選択部112は、誤差が許容誤差以内となるように近似されるポイントデータ(中間データ)の個数が、より大きい起点候補を選択することができる。
なお、最後に無効化された起点候補が複数存在する場合、選択部112は、いずれか1つの起点候補を選択する。選択部112が、最後に無効化された複数の起点候補のうち、より起点データに近い値の起点候補を選択してもよい。
圧縮部113は、選択した起点候補に応じて、終点データ(旧次点データ)の値を補正するための後処理を実行する(ステップS114)。なお、後処理を実行せずに終点データを出力するように構成してもよい。
図15は、後処理の一例を説明するための図である。図15は、P5を次点データとしたときに間引きができず、P4が旧次点データ(終点データ)として残った例を示す。また、P1''が起点候補として選択されたと仮定する。圧縮部113は、旧次点データの上限勾配と下限勾配との平均勾配を求める。圧縮部113は、この平均勾配を傾きとする直線を近似化されたデータ列と見なして、t4のときのデータ列の値を求める。圧縮部113は、この値を補正した終点データの値(P4’)とする。圧縮部113は、選択された起点候補と、補正した終点データとを記憶部121に記憶する。
図14に戻り、選択部112は、すべての入力データを処理したか否かを判定する(ステップS115)。処理していない場合(ステップS115:No)、選択部112は、次のポイントデータを新たな起点データとして選択し(ステップS101)、処理を繰り返す。例えば、すべての起点候補が無効化されたときの次点データが、新たな起点データとして選択される。
このように、第1の実施形態にかかるデータ圧縮装置では、複数の起点候補を設定し、各起点候補を起点とみなしてそれぞれ間引き計算を行う。そして、より多くのデータを間引くことができる起点候補を選択し、選択した起点候補によって間引かれたデータを圧縮結果のデータとして出力する。これにより、時系列データの圧縮率を増加させることができる。
(第2の実施形態)
第1の実施形態の手法により圧縮率は向上するが、複数の起点候補で並行して間引き計算を行うため計算量が増加する。そこで、第2の実施形態にかかるデータ圧縮装置は、間引き計算を省略する処理(フィルタ処理)をさらに実行する。
第1の実施形態の手法により圧縮率は向上するが、複数の起点候補で並行して間引き計算を行うため計算量が増加する。そこで、第2の実施形態にかかるデータ圧縮装置は、間引き計算を省略する処理(フィルタ処理)をさらに実行する。
図16は、第2の実施形態にかかるデータ圧縮装置100−2の構成の一例を示すブロック図である。図16に示すように、データ圧縮装置100−2は、受付部101と、登録部110−2と、検索部114と、記憶部121と、を備えている。
第2の実施形態では、登録部110−2の選択部112−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかるデータ圧縮装置100の構成を表すブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
選択部112−2は、上述の選択部112の機能に、フィルタ処理のための機能が追加される。選択部112−2は、各起点候補に対する処理を実行する前に、旧次点データで許容誤差以内となるように近似される範囲と、次点データで許容誤差以内となるように近似される範囲と、が予め定められた条件を満たすか判定する。条件を満たす場合、選択部112−2は、次点データでは許容誤差以内となるように近似できないと判定し、各起点候補に対する判定処理は実行しない。
例えば、選択部112−2は、旧次点データの最小下限勾配および最大上限勾配、並びに、(現在の)次点データの最小下限勾配および最大上限勾配を比較し、所定の条件を満たすか判定する。そして、選択部112−2は、条件を満たすか否かを表す判定値(例えば真または偽)を求め、判定値に応じて各起点候補に対する処理を省略する。
最小下限勾配は、各起点候補と、ポイントデータから許容誤差を減算した値との間の勾配(勾配)のうち、最小値を表す。最大上限勾配は、各起点候補と、ポイントデータに許容誤差を加算した値との間の勾配(勾配)のうち、最大値を表す。図17は、最小下限勾配MinLSおよび最大上限勾配MaxUSの一例を説明するための図である。
P5については、P1、P1’、P1’’をそれぞれ起点とする3つの上限勾配(それぞれUS5、US5’、US5’’とする)が存在する。3つの上限勾配の最大値が最大上限勾配MaxUSである。
MaxUS=Max(US5,US5’,US5’')
MaxUS=Max(US5,US5’,US5’')
同様に、P5については、P1、P1’、P1’’をそれぞれ起点とする3つの下限勾配(それぞれLS5、LS5’、LS5’’とする)が存在する。3つの下限勾配の最小値が最小下限勾配である。
MinLS=Min(LS5,LS5’,LS5’')
MinLS=Min(LS5,LS5’,LS5’')
図18〜図20は、P4についての上限勾配および下限勾配の一例を示す図である。図18は、P1’’を起点とする場合のP4の上限勾配US4’’および下限勾配LS4’’を表す。図19は、P1を起点とする場合のP4の上限勾配US4および下限勾配LS4を表す。図20は、P1’を起点とする場合のP4の上限勾配US4’および下限勾配LS4’を表す。
P4についても、以下のように最大上限勾配および最小下限勾配が求められる。
MaxUS=Max(US4,US4’,US4’')
MinLS=Min(LS4,LS4’,LS4’')
MaxUS=Max(US4,US4’,US4’')
MinLS=Min(LS4,LS4’,LS4’')
ここで、P4(旧次点データ)の最小下限勾配および最大上限勾配を、それぞれMinLS4およびMaxUS4とする。P5(旧次点データ)の最小下限勾配および最大上限勾配を、それぞれMinLS5およびMaxUS5とする。選択部112−2は、MinLS4、MaxUS4、MinLS5およびMaxUS5を以下の条件に従い比較し、条件を満たすか否かを表す判定値を算出する。
「MaxUS4<MinLS5」 ∨ 「MinLS4>MaxUS5」
「MaxUS4<MinLS5」 ∨ 「MinLS4>MaxUS5」
この条件は、「P4での最大上限勾配がP5での最小下限勾配より小さい、または、P4での最小下限勾配がP5での最大上限勾配より大きい」ことを表している。このような場合は、P4に対する許容誤差範囲とP5に対する許容誤差範囲とが重ならないことが明らかである。このため、起点候補それぞれについて勾配を算出する処理等をスキップし、すべての起点候補が無効化されたものとして処理を進めることができる。すなわち、不要な計算を回避することによる計算量の削減が実現できる。
次に、このように構成された第2の実施形態にかかるデータ圧縮装置100−2によるデータ圧縮処理について図21を用いて説明する。図21は、第2の実施形態におけるデータ圧縮処理の全体の流れを示すフローチャートである。
ステップS201からステップS203までは、第1の実施形態にかかるデータ圧縮装置100におけるステップS101からステップS103までと同様の処理なので、その説明を省略する。
本実施形態では、選択部112−2が、上述のような判定値を算出する(ステップS204)。選択部112−2は、判定値が真であるか否かを判断する(ステップS205)。偽の場合(ステップS205:No)、各起点候補に対する処理を行う(ステップS206〜ステップS214)。ステップS206〜ステップS214は、第1の実施形態のステップS104〜ステップS112までと同様の処理なので、その説明を省略する。
判定値が真の場合(ステップS205:Yes)、選択部112−2は、ステップS206〜ステップS214を実行せず、ステップS215に遷移する。ステップS215からステップS217は、第1の実施形態のステップS113〜ステップS115までと同様の処理なので、その説明を省略する。
このように、第2の実施形態にかかるデータ圧縮装置では、間引き計算を省略するフィルタ処理をさらに実行する。このため、複数の起点を用いることによる計算量の増加を抑制することができる。
次に、第1または第2の実施形態にかかるデータ圧縮装置のハードウェア構成について図22を用いて説明する。図22は、第1または第2の実施形態にかかるデータ圧縮装置のハードウェア構成を示す説明図である。
第1または第2の実施形態にかかるデータ圧縮装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1または第2の実施形態にかかるデータ圧縮装置で実行されるデータ圧縮プログラムは、ROM52等に予め組み込まれて提供される。
第1または第2の実施形態にかかるデータ圧縮装置で実行されるデータ圧縮プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供されるように構成してもよい。
さらに、第1または第2の実施形態にかかるデータ圧縮装置で実行されるデータ圧縮プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1または第2の実施形態にかかるデータ圧縮装置で実行されるデータ圧縮プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1または第2の実施形態にかかるデータ圧縮装置で実行されるデータ圧縮プログラムは、コンピュータを上述したデータ圧縮装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からデータ圧縮プログラムを主記憶装置上に読み出して実行することができる。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
100 データ圧縮装置
101 受付部
110 登録部
111 生成部
112 選択部
113 圧縮部
114 検索部
121 記憶部
101 受付部
110 登録部
111 生成部
112 選択部
113 圧縮部
114 検索部
121 記憶部
Claims (10)
- 時系列に入力される複数の入力データを受付ける受付部と、
第1時刻に入力された前記入力データである起点データに対する誤差が閾値以内のデータである複数の起点候補を生成する生成部と、
前記起点候補と、第2時刻に入力された前記入力データである終点データと、前記第1時刻と前記第2時刻との間の時刻に入力された前記入力データである中間データと、を用いて、前記起点候補のうち、前記起点候補と前記終点データとによって誤差が前記閾値以内となるように近似される前記中間データの個数が、他の前記起点候補より大きい前記起点候補を選択する選択部と、
選択された前記起点候補と前記終点データとを、前記起点データと前記中間データと前記終点データとを圧縮した出力データとして出力する圧縮部と
を備えるデータ圧縮装置。 - 前記選択部は、前記起点候補ごとに、前記起点候補と前記終点データとによって誤差が前記閾値以内となるように近似される範囲に前記中間データが含まれるか否かを判定する判定処理を、前記第2時刻を変更しながら繰り返し実行し、近似される範囲に含まれると最後に判定されたときの前記中間データの個数が、他の前記起点候補より大きい前記起点候補を選択する、
請求項1に記載のデータ圧縮装置。 - 前記選択部は、前記第2時刻を変更したときに、変更前の時刻で誤差が前記閾値以内となるように近似される範囲と、変更後の時刻で誤差が前記閾値以内となるように近似される範囲と、が予め定められた条件を満たすか否かを判定し、満たす場合に、変更後の時刻では、前記閾値以内となるように近似される範囲に前記中間データが含まれないと判定する、
請求項2に記載のデータ圧縮装置。 - 前記選択部は、変更前の時刻および変更後の時刻のそれぞれで、前記起点候補から、前記終点データに対して誤差が前記閾値以内となるデータまでの線分の傾きの最小値である最小下限勾配、および、前記線分の傾きの最大値である最大上限勾配を算出し、変更前の時刻の前記最小下限勾配および前記最大上限勾配と、変更後の時刻の前記最小下限勾配および前記最大上限勾配と、が前記条件を満たすか否かを判定する、
請求項3に記載のデータ圧縮装置。 - 前記選択部は、前記中間データの個数が同じ前記起点候補が複数存在する場合、前記中間データの個数が同じ複数の前記起点候補のうち、前記起点データとの差分が小さい前記起点候補を選択する、
請求項1に記載のデータ圧縮装置。 - 前記圧縮部は、選択された前記起点候補と、選択された前記起点候補に応じて補正した前記終点データとを、前記出力データとして出力する、
請求項1に記載のデータ圧縮装置。 - 前記選択部は、前記起点候補のうち、前記起点候補と、前記終点データに対して誤差が前記閾値以内となるデータとによって定まる許容誤差範囲に含まれる前記中間データの個数が、他の前記起点候補より大きい前記起点候補を選択する、
請求項1に記載のデータ圧縮装置。 - 時系列に入力される複数の入力データを受付ける受付ステップと、
第1時刻に入力された前記入力データである起点データに対する誤差が閾値以内のデータである複数の起点候補を生成する生成ステップと、
前記起点候補と、第2時刻に入力された前記入力データである終点データと、前記第1時刻と前記第2時刻との間の時刻に入力された前記入力データである中間データと、を用いて、前記起点候補のうち、前記起点候補と前記終点データとによって誤差が前記閾値以内となるように近似される前記中間データの個数が、他の前記起点候補より大きい前記起点候補を選択する選択ステップと、
選択された前記起点候補と前記終点データとを、前記起点データと前記中間データと前記終点データとを圧縮した出力データとして出力する圧縮ステップと
を含むデータ圧縮方法。 - 現象の時間的な変化を計測して得られた時刻と値とを含むポイントデータの系列である時系列データを圧縮するデータ圧縮方法であって、
第1時刻のポイントデータを起点とするステップと、
前記起点に対する誤差が閾値以内となる複数の起点候補を生成するステップと、
前記第1時刻の後の時刻に得られたポイントデータを注目点とするステップと、
前記起点候補ごとに、前記注目点に対する誤差の範囲に基づいて、上限勾配と下限勾配とを計算するステップと、
計算した前記上限勾配と前記下限勾配とで指定される許容誤差範囲が、前の時刻の注目点に対して計算された上限勾配と下限勾配とで指定される許容誤差範囲と重なれば、前記上限勾配と下限勾配を更新し、前記前の時刻の注目点を間引くステップと、
計算した前記上限勾配と前記下限勾配とで指定される許容誤差範囲が、前の時刻の注目点に対して計算された上限勾配と下限勾配とで指定される許容誤差範囲と重ならなければ、前記起点候補を無効とするステップと、
無効化されていない前記起点候補が残っていれば、残っている前記起点候補に対して、次の時刻に得られたポイントデータを注目点とする間引き処理を継続するステップと、
を含むデータ圧縮方法。 - コンピュータを、
時系列に入力される複数の入力データを受付ける受付部と、
第1時刻に入力された前記入力データである起点データに対する誤差が閾値以内のデータである複数の起点候補を生成する生成部と、
前記起点候補と、第2時刻に入力された前記入力データである終点データと、前記第1時刻と前記第2時刻との間の時刻に入力された前記入力データである中間データと、を用いて、前記起点候補のうち、前記起点候補と前記終点データとによって誤差が前記閾値以内となるように近似される前記中間データの個数が、他の前記起点候補より大きい前記起点候補を選択する選択部と、
選択された前記起点候補と前記終点データとを、前記起点データと前記中間データと前記終点データとを圧縮した出力データとして記憶部に出力する圧縮部
として機能させるためのプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/052245 WO2014118954A1 (ja) | 2013-01-31 | 2013-01-31 | データ圧縮装置、データ圧縮方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5622967B1 JP5622967B1 (ja) | 2014-11-12 |
JPWO2014118954A1 true JPWO2014118954A1 (ja) | 2017-01-26 |
Family
ID=51224109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014504111A Active JP5622967B1 (ja) | 2013-01-31 | 2013-01-31 | データ圧縮装置、データ圧縮方法およびプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9838032B2 (ja) |
EP (1) | EP2953266B1 (ja) |
JP (1) | JP5622967B1 (ja) |
CN (1) | CN104160629B (ja) |
AU (1) | AU2013376200B2 (ja) |
WO (1) | WO2014118954A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107807271B (zh) * | 2017-09-29 | 2021-04-16 | 中国电力科学研究院 | 一种用于对过电压监测数据自动进行压缩的方法及系统 |
CN108667463B (zh) * | 2018-03-27 | 2021-11-02 | 江苏中科羿链通信技术有限公司 | 监测数据压缩方法 |
CN114142865A (zh) * | 2021-10-28 | 2022-03-04 | 上海麦杰科技股份有限公司 | 一种工业物联网实时数据库单点有损压缩方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4669097A (en) * | 1985-10-21 | 1987-05-26 | The Foxboro Company | Data compression for display and storage |
KR930009639B1 (ko) * | 1989-07-09 | 1993-10-08 | 가부시끼가이샤 히다찌세이사꾸쇼 | 화상데이타를 이용하는 문서데이타 처리방법 및 장치 |
KR20020064758A (ko) * | 2000-06-06 | 2002-08-09 | 사카이 야스에 | 압축 방법 및 장치, 신장 방법 및 장치, 압축 신장시스템, 기록 매체, 프로그램 |
JP2003015734A (ja) * | 2001-07-02 | 2003-01-17 | Toshiba Corp | 時系列データ圧縮方法および時系列データ格納装置およびプログラム |
US7076402B2 (en) | 2004-09-28 | 2006-07-11 | General Electric Company | Critical aperture convergence filtering and systems and methods thereof |
JP4719667B2 (ja) | 2006-12-28 | 2011-07-06 | 日立オートモティブシステムズ株式会社 | 時系列データ圧縮方法 |
JP5369041B2 (ja) * | 2010-03-30 | 2013-12-18 | 富士フイルム株式会社 | ページ記述データ処理装置、方法及びプログラム |
JP5458056B2 (ja) * | 2010-05-28 | 2014-04-02 | 株式会社日立製作所 | 時系列データの圧縮方法および圧縮装置 |
EP2410589B1 (de) | 2010-07-23 | 2013-10-09 | Grützediek, Ursula | Verfahren zur Herstellung eines TMR-Bauelements |
CA2749661C (en) * | 2010-08-20 | 2022-03-15 | Pratt & Whitney Canada Corp. | Method and system for generating a data set |
CN102393855B (zh) * | 2011-10-18 | 2013-07-31 | 国电南瑞科技股份有限公司 | 一种过程数据有损压缩比动态控制方法 |
CN102510287B (zh) * | 2011-11-03 | 2014-06-11 | 电子科技大学 | 一种工业实时数据的快速压缩方法 |
CN102664635B (zh) * | 2012-03-06 | 2015-07-29 | 华中科技大学 | 一种精度可控的自适应数据压缩方法 |
-
2013
- 2013-01-31 JP JP2014504111A patent/JP5622967B1/ja active Active
- 2013-01-31 AU AU2013376200A patent/AU2013376200B2/en active Active
- 2013-01-31 CN CN201380003042.4A patent/CN104160629B/zh active Active
- 2013-01-31 EP EP13836184.5A patent/EP2953266B1/en active Active
- 2013-01-31 WO PCT/JP2013/052245 patent/WO2014118954A1/ja active Application Filing
-
2014
- 2014-03-13 US US14/208,061 patent/US9838032B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP5622967B1 (ja) | 2014-11-12 |
EP2953266B1 (en) | 2019-09-25 |
WO2014118954A1 (ja) | 2014-08-07 |
CN104160629B (zh) | 2017-09-01 |
AU2013376200A1 (en) | 2015-02-19 |
AU2013376200B2 (en) | 2016-06-23 |
US9838032B2 (en) | 2017-12-05 |
EP2953266A4 (en) | 2016-08-31 |
CN104160629A (zh) | 2014-11-19 |
US20140214781A1 (en) | 2014-07-31 |
EP2953266A1 (en) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190122078A1 (en) | Search method and apparatus | |
US20150278706A1 (en) | Method, Predictive Analytics System, and Computer Program Product for Performing Online and Offline Learning | |
CN108228428B (zh) | 用于输出信息的方法和装置 | |
JP5622967B1 (ja) | データ圧縮装置、データ圧縮方法およびプログラム | |
JP2020144493A (ja) | 学習モデル生成支援装置、及び学習モデル生成支援方法 | |
EP4339843A1 (en) | Neural network optimization method and apparatus | |
CN114429641B (zh) | 一种时序动作检测方法、装置、存储介质及终端 | |
JP2014160456A (ja) | 疎変数最適化装置、疎変数最適化方法および疎変数最適化プログラム | |
JP4735729B2 (ja) | 近似計算処理装置、近似ウェーブレット係数計算処理装置、及び近似ウェーブレット係数計算処理方法 | |
JP5791555B2 (ja) | 状態追跡装置、方法、及びプログラム | |
CN106375849B (zh) | 一种生成模板的方法、装置、视频的更新方法及装置 | |
CN110852076A (zh) | 一种自动化疾病编码转换的方法及装置 | |
JPWO2018154662A1 (ja) | 価格最適化システム、価格最適化方法および価格最適化プログラム | |
JP2008108204A (ja) | 環境負荷評価システム、方法及びプログラム | |
KR20140146437A (ko) | 특허정보를 이용한 기업성과 예측 장치 및 방법 | |
KR101181326B1 (ko) | 채프에코 식별 시스템 및 그 방법 | |
JP6047476B2 (ja) | 標本データ処理装置、方法及びプログラム | |
JP4550398B2 (ja) | 一連の画像に現れる物体の動きを表現する方法、一連の画像中の画像における物体の選択を識別する方法、画像に対応する信号を処理することによって一連の画像を探索する方法、及び装置 | |
CN103003880B (zh) | 为视频确定代表图像 | |
JPH09146915A (ja) | カオス時系列短期予測装置 | |
JP2020149282A (ja) | データ予測装置、データ予測方法、及びデータ予測プログラム | |
JP4575751B2 (ja) | ヒストグラム近似復元装置及びヒストグラム近似復元方法、並びに画像検索装置及び画像検索方法 | |
WO2022244625A1 (ja) | 修理内容予測方法、修理内容予測装置、プログラム、及び、修理内容予測モデルの作成方法 | |
JP7444248B2 (ja) | 分析装置、分析方法および分析プログラム | |
JP2012196250A (ja) | 波形解析装置、波形解析方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20140826 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140922 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5622967 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |