(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
近年、センサーデータやログデータなどのデータが、短時間に大量に生成されるようになっている。大量のデータが通信されると、通信帯域が圧迫され、大量のデータを処理すると、情報処理装置の負荷が増大する。
【0003】
特許文献1には、大量のデータを圧縮するデータ圧縮装置が記載されている。
図12は、特許文献1に係るデータ圧縮装置に用いる、POS(Point Of Sales)システムにおいてイベントごとに生成されるようなイベントデータの集合(イベントデータ群901)である。イベントデータ群901の各行が、個々のイベントデータ902を表す。イベントデータ902は、予め設定された複数の項目である、「年、月、日、時、分、秒、顧客ID、レジ番号、レジ担当、商品ID、色、サイズ」の各項目についての情報を含んでいる。
【0004】
イベントデータ902の各項目に対しては、「一致の重み」と「保持レベル」が設定される。「一致の重み」は、複数のイベントデータ902間で項目の情報が一致する場合に、一致しているイベントデータ902の該当項目に付与される値である。一致の重みは、例えば0.1単位で0から1までの値をとることができ、値が1に近いほど、項目の情報の一致を重要視することを表すことができる。一致の重みは、イベントデータ902同士の一致度を判断する場合に、項目の情報が一致していることをどの程度重視するかを示す値である。また、「保持レベル」は、イベントデータ902の項目の情報をどの程度の精度で保持するかの設定を示す値である。
【0005】
図13は、特許文献1に係るデータ圧縮装置において書き換え処理が行われたイベントデータ群902を表す図である。「一致の重み」によりイベントデータ902がイベント集合(G1、G2、G3)に分けられている。イベント集合G1、G2、G3では、項目の情報が、対応する「保持レベル」に応じて書き換えられて、同一の情報となっていることが示されている。
【0006】
図14は、
図13に示すイベントデータ群902を辞書式圧縮方法により圧縮した場合のイベントデータ群902を示す図である。
図14に示すように、イベント集合ごとに各項目の情報が同一の表記に書き換えられているため、より高い圧縮率でデータ圧縮される。
【発明を実施するための形態】
【0014】
[第1の実施形態]
以下に、
図1乃至6を参照し、本発明の第1の実施形態に係る情報処理装置について、説明する。
図1は、第1の実施形態に係る情報処理装置10のブロック図である。第1の実施形態に係る情報処理装置10は、入力手段11と、出力手段12と、制御手段13を備える。
【0015】
入力手段11は、入力先から情報を入力する。出力手段12は、出力先に情報を出力する。制御手段13は、種々のマイコンを用いることができ、以下の処理を行う。
【0016】
図2は、第1の実施形態に係る情報処理装置10の制御手段13が行う第1の処理のフローチャートである。まず、制御手段13は、入力手段11を介して、入力先の識別子と入力先が取得したデータが対応している、入力データ110を入力する(S11)。入力先としては、光センサーや温度センサー等、各種センサー等が想定されるが、情報を生成あるいは取得して出力するものであれば、いずれでも採用できる。それぞれの入力先には識別子が設けられている。制御手段13は、入力先が生成あるいは取得した情報と、当該入力先の識別子が対応付けられた、入力データ110を、入力手段11を介して入力先から入力する。入力データ110の入力は、制御手段13が入力手段11を介して積極的に取得してもよいし、入力先からの入力を待っても良い。
【0017】
図3は、第1の実施形態に係る情報処理装置10の制御手段13が作成する入力データテーブル111、グループテーブル112及び識別子送信順情報113を表す図である。例えば、制御手段13は、入力手段11を介して入力先から入力データ110を入力し、
図3に示すような入力データテーブル111を作成することができる。入力データテーブル111には、入力手段11を介して入力先から入力した順番に、入力データ110を記録するようにすることができる。
【0018】
再び
図2に基づいて説明する。次に制御手段13は、データが同一又は所定の範囲内の入力データ110が連続するように、入力データ110を並び替える(S12)。例えば、制御手段13は、
図3に示す入力データテーブル111に基づき、入力データ110を並び替え、グループテーブル112を作成することができる。具体的には、入力データテーブル111の中から、データの値が「A」で同一である識別子20a、20c、20eが連続するように、グループ1としてまとめ、入力データ110を並び替える。また、データの値がBで同一の20b、20fが連続するように、グループ2としてまとめ、グループ1に続いて入力データ110を並び替える。データの値がCである20dについては、同一の値を有する入力データ110がないので、最後にグループ3としてまとめ、グループ2に続いて入力データ110を並び替える。
【0019】
なお、
図3の例では、データが同一の入力データ110が連続するように入力データ110を並び替えているが、データが数値である場合は、同一の場合に限る必要は無い。すなわち同一の場合だけでなく、データが所定の範囲にある入力データ110が連続するように、入力データ110を並び替えることもできる。
【0020】
再び
図2に基づいて説明する。最後に、制御手段13は、S12で並び替えた入力データ110の識別子の順番を、識別子送信順情報113として生成し、出力手段12を介して、出力手段12の出力先に、出力する(S13)。例えば、制御手段13は、
図3に示すグループテーブル112に基づき、並び替えられた入力データ110の識別子を、識別子送信順情報113として生成する。具体的には、グループテーブル112の上から順に、20a,20c,20e,20b,20f,20dの順番からなる識別子送信順情報113を生成し、出力手段12を介して、出力先に出力する。
【0021】
制御手段13は、別の処理も行う。
図4は、第1の実施形態に係る情報処理装置10の制御手段13が行う第2の処理のフローチャートである。まず、制御手段13は、時刻Tにおいて、入力手段11を介して、入力先の識別子と入力先が取得したデータが対応している、入力データ110を入力する(S21)。この入力データ110は、
図2で示した第1の処理を行う際に入力した(S11)入力データ110を用いても良いし、別途入力した入力データ110を用いても良い。
【0022】
図5は、第1の実施形態に係る情報処理装置10の制御手段13が作成する入力データテーブル111a、111b及び出力データ114を表す図である。例えば、制御手段13は、入力データ110を入力手段11を介して入力先から入力し、
図5に示すような入力データテーブル111aを作成することができる。入力データテーブル111aには、入力手段11を介して入力先から入力した順番に、入力データ110を記録するようにすることができる。
【0023】
再び
図4に基づいて説明する。制御手段13は、識別子送信順情報113の識別子の順番にしたがって、識別子に対応する入力データ110を並べ替える(S22)。
図5の入力データテーブル111bは、識別子送信順情報113(20a,20c,20e,20b,20f,20dの順番)にしたがって、識別子に対応するデータを並び替えたものである。
【0024】
再び
図4に基づいて説明する。最後に、制御手段13は、時刻Tにおいて入力手段11を介して入力した入力データ110のデータの値を、識別子送信順情報113の識別子の順番に従って出力することになる。ここで、並び替えたデータのうち、同一又は所定の範囲内のデータの値が連続している部分を圧縮した出力データ114を生成し、出力する(S23)。具体的には、同一又は所定の範囲内の前記データの値が連続している部分については、同一又は所定の範囲内を示す前記データの値と連続する回数を対応させた値に変換した、出力データ114を生成し、出力する。
【0025】
例えば、
図5の入力データテーブル111bのデータの値を上から順に出力すると、「AAABBC」となる。ここで、制御手段13は、同一のデータの値が連続している「AAA」の部分及び「BB」の部分について、同一又は所定の範囲内を示す前記データの値と連続する回数を対応させた値に変換した、出力データ114を生成する。AAAの部分については、同一であるデータの値であるAと、連続する回数3を組み合わせ、A*3という出力データ114を生成する。同様に、BBの部分については、同一であるデータの値であるBと、連続する回数2を組み合わせ、B*2という出力データ114を生成する。同一のデータの値が連続していないCについては、そのままCとしても良いし、上記処理にあわせて、C*1としてもよい。以上のようにして、制御手段13は、データテーブル111bに基づき、出力データ(A*3,B*2,C*1)を生成する。
【0026】
入力手段11の入力先としては、大量のセンサーが想定されるが、個々のセンサーの持つデータのとり得る値は限られていることが多い。同じデータの値を持つ入力先をグループ化し、グループ化した入力先のもつデータを上記の手法により圧縮することで、大量のデータを効率よく出力することができる。また出力先においても、出力データ114を入力するに当たって行う処理を、グループごとに1回ずつ行えば済む。例えば、出力データ114が「AAABBC」の場合、入力処理を6回行う必要があるが、出力データ114が「A*3,B*2,C*1」であれば、ABC各1回ずつ行えばよい。
【0027】
第1の実施形態に係る情報処理装置10の制御手段13は、
図2に示した識別子送信順情報113の生成、出力と、
図4に示した出力データ114の生成、出力を行う。出力先において識別子送信順情報113と出力データ114を入手することで、どの識別子を有する入力手段11の入力先が、どのようなデータを出力したのか、把握できるようになる。すなわち、識別子送信順情報113の識別子の順番と、出力データ114を復元して得られるデータの順番を対応付けることにより、どの識別子を有する入力手段11の入力先が、どのようなデータを出力したのか、把握できる。
【0028】
第1の実施形態に係る情報処理装置10によれば、入力先が生成あるいは取得した情報と、当該入力先の識別子を、対応付けて送信するのではなく、データ圧縮に最も適した送信順を決定し、識別子送信順情報113と出力データ114を分けて送信する。
図4に示した制御手段13による出力データ114の生成、出力の処理は、任意のタイミング又は所定のタイミングで複数回行うことが想定される。したがって、出力データ114の生成、出力にあわせて、識別子送信順情報113の生成、出力を行う必要が無い。すなわち、一回でも識別子送信順情報113が出力されれば、情報処理装置10の出力先において、出力データ114が出力されるごとに、どの識別子を有する入力手段11の入力先が、どのようなデータの値を出力したのか、把握できるからである。出力データ114を出力先に出力するたびに識別子を合わせて送信せずに済み、出力データを圧縮することができる。
【0029】
なお、制御手段13による識別子送信順情報113の出力と出力データ114の出力は、いずれを先に行っても良い。出力先において、識別子送信順情報113及び出力データ114の両方が得られれば、どの識別子を有する入力手段11の入力先が、どのようなデータを出力したのか、把握できるからである。
【0030】
また、入力先の数はいくつでも良く、多ければ多いほど、また、入力データ110のデータが取りうる値が限られているほど、上記の効果を高めることができる。また、
図2に示した第1の処理と、
図4に示した第2の処理は、同期して行っても良いし、非同期で行っても良いが、同期して行うことで上記の効果を高めることができる。
【0031】
ここで、
図6を用いて、第1の実施形態に係る情報処理装置10を含む情報処理システム1000について、説明する。
図6は、第1の実施形態に係る情報処理装置10を含む通信システム1000の構成を示すブロック図である。情報処理装置10の、入力手段11、出力手段12及び制御手段13は、
図1の情報処理装置10と同じ構成である。また、制御手段13の動作についても、
図2乃至5で示された動作と同じである。
図6の情報処理システム1000は、さらに、センサー20(20a〜20d)及び受信装置30を備える。センサー20(20a〜20d)は、複数設けられることが想定される。
【0032】
センサー20(20a〜20d)は、それぞれ、データ出力手段21と、データ取得手段23を備える。データ出力手段21は、データを出力することができ、入力手段11に、センサー20ごとの識別子と、後述するデータ取得手段23が取得したデータを対応付けた入力データ110を出力する。
【0033】
データ取得手段23は、光や温度等、種々のデータを取得する構成が想定されるが、情報を生成あるいは取得して出力するものであれば、いずれでも採用できる。
【0034】
受信装置30は、情報処理装置10の出力手段12の出力先であるデータ入力手段32を備える。データ入力手段32は、出力手段12から出力される情報を入力することができ、識別子送信順情報113及び出力データ114を入力する。また、受信装置30は、識別子送信順情報113及び出力データ114に基づいて演算処理を行う、演算処理手段33を備える。
【0035】
演算処理手段33は、演算処理を行うマイクロプロセッサーであれば、いずれでも採用できる。演算処理手段33は、識別子送信順情報113及び出力データ114に基づき、入力データ110を復元する。すなわち、
図5で示した例を用いると、出力データ114(A*3,B*2,C*1)を展開し、AAABBCという元のデータの並びを抽出する。このデータの並びに、識別子送信順情報113に含まれる識別子の並びを当てはめることにより、元の入力データ110を復元することができる。
【0036】
このように、情報処理システム1000によれば、受信装置30において、同一又は所定の範囲内のデータの値が連続している部分について、識別子送信順情報113及び出力データ114の受信内容に基づき、入力データ110を復元し取得することが可能となる。
[第2の実施形態]
以下に、
図7乃至11を参照し、第2の実施形態に係る情報処理装置10について、説明する。第2の実施形態に係る情報処理装置10は、
図1に示した第1の実施形態に係る情報処理装置10と構成は変わらない。第2の実施形態に係る情報処理装置10は、制御手段13の処理において相違点を有する。
【0037】
図7は、第2の実施形態に係る情報処理装置10の制御手段13が行う第1の処理の一例のフローチャートである。
図7の処理のS31〜S33までは、
図2に示される第1の実施形態に係る情報処理装置10の制御手段13が行う第1の処理のS11〜S13と同じである。第2の実施形態に係る情報処理装置10の制御手段13が行う第1の処理の一例では、制御手段13は、再び入力データ110を入力する(S34)。S34の取得は、任意のタイミング又は所定のタイミングで行うことが出来る。
【0038】
次に、S31で入力した入力データ110のデータの値から、データの値が変化している、S34で再び入力した入力データ110の数が、所定の範囲を超えたかを判断する(S35)。データの値が変化した入力データ110の数が所定の範囲を超えた場合は(S35,YES)、再び入力データ110を並び替え(S32)、識別子送信順情報113を生成し、出力する(S33)。データの値が変化した入力データ110の数が所定の範囲を超えていない場合は(S35,NO)、S34の処理を行う。
【0039】
例えば、所定の範囲を2と定めた場合に、
図3で例示した入力データ110のうち、20a及び20cのデータがAからBに変わった場合は、所定の範囲である2つ以上の入力データ110のデータが変化したといえるので、S35の処理を行うことになる。
【0040】
図8は、第2の実施形態に係る情報処理装置10の制御手段13が行う第1の処理の他の例のフローチャートである。
図8の処理も、S41〜S43までは、
図2に示される第1の実施形態に係る情報処理装置10の制御手段13が行う第1の処理のS11〜S13と同じである。第2の実施形態に係る情報処理装置10の制御手段13が行う第1の処理の他の例では、制御手段13は、S43の出力から所定時間経過していた場合に、再びS41〜S43の処理を行う(S44)。すなわち、所定の期間で、最新の識別子送信順情報13を生成、出力する。
【0041】
以上のように、第2の実施形態に係る情報処理装置10では、
図7及び8で示したように、一度識別子送信順情報113を出力した後に、再び識別子送信順情報113を出力する。上記の構成を採用することにより得られる効果について、
図9〜
図11を用いて説明する。
【0042】
図9は、第2の実施形態に係る情報処理装置10の制御手段13が作成する入力データテーブル111a、111b及び出力データ114を表す図である。
図3に示される識別子送信順情報113を出力した後に、入力データ110のデータの値が変化した場合を説明する。入力データテーブル111を見ると、
図3の入力データテーブル111と比較して、識別子20cに対応するデータが、AからCに変わっている。
【0043】
この場合、
図3に示される識別子送信順情報113の識別子の順番(20a,20c,20e,20b,20f,20d)に従って、データが順次出力されるため、データは、「ACABBC」の順となる。これについて、同一のデータの値が連続している部分を圧縮した出力データ114を生成する処理を行ったとしても、同一のデータの値Aの連続性がなくなってしまったため、「A*3」は、「A*1,C*1,A*1」となる。従って、出力データ114の情報量が増大してしまう。
【0044】
そこで、第2の実施形態に係る情報処理装置10の制御手段13は、以下の処理を行う。すなわち、
図7に示されるように、S31で入力した入力データ110のデータの値から、データの値が変化している、S34で再び入力した入力データ110の数が、所定の範囲を超えた場合は、再び入力データ110を並び替える。そして、再び識別子送信順情報113を生成し、出力する。あるいは、
図8に示されるように、S43の出力から所定時間経過していた場合に、再び識別子送信順情報113を生成し出力する。
【0045】
図10は、第2の実施形態に係る情報処理装置10の制御手段13が作成する入力データテーブル111、グループテーブル112及び識別子送信順情報113を表す図である。
図10に示されるように、第2の実施形態に係る情報処理装置10の制御手段13は、再び識別子送信順情報113を生成し出力する。
図9に示されるように、前回の識別子送信順情報113の生成時から、識別子20cに対応するデータが、AからCに変わっている。制御手段13は、データが同一の入力データ110が連続するように、再び入力データ110を並び替え、識別子送信順情報113(20a,20e,20b,20f,20c,20d)を生成し、出力する。
【0046】
図11は、再び識別子送信順情報113を生成した後の、第2の実施形態に係る情報処理装置10の制御手段13が作成する入力データテーブル111a、111b及び出力データ114を表す図である。識別子送信順情報113では、識別子に対応する同一のデータが連続するように、識別子が並び替えられている。識別子20cに対応するデータがAからCに変わっているが、制御手段13は、
図9に示される出力データ114(A*1,C*1,A*1,B*2,C*1)よりも圧縮率の高い出力データ114(A*2,B*2,C*2)を出力することができる。
【0047】
以上のように、第2の実施形態に係る情報処理装置10によれば、入力データ110のデータの値が変化して出力データ114の圧縮率が下がってしまった場合でも、再び識別子送信順情報113を生成するため、出力データ114の圧縮率低下を防ぐことができる。さらに、
図7に示されるように、前回入力した入力データ110のデータの値から、データの値が変化している、再び入力した入力データ110の数が、所定の範囲を超えた場合に、再び識別子送信情報113を生成、出力することもできる。このような構成により、データの値が変化していないような場合にまで不要な識別子送信情報113を生成、出力することを防ぐことができる。
【0048】
本発明の情報処理装置及び情報処理システム及び情報処理方法は、上記実施形態に基づいて説明されているが、上記実施形態に限定されることはない。本発明の範囲内において、かつ本発明の基本的技術思想に基づいて、上記実施形態に対し種々の変形、変更及び改良を含むことができることはいうまでもない。また、本発明の請求の範囲の枠内において、種々の開示要素の多様な組み合わせ・置換ないし選択が可能である。本発明のさらなる課題、目的及び展開形態は、請求の範囲を含む本発明の全開示事項からも明らかにされる。