(57)【要約】【課題】データを可逆的且つ効率よく圧縮することができるデータ圧縮方法、データ圧縮装置を提供する。【解決手段】実施形態のデータ圧縮方法は、文字および数字の少なくとも一方を含むデータを圧縮するものであって、データを０と１の文字列データ１０に変換する工程（Ｓ２、Ｓ３、Ｓ４、Ｓ５）と、文字列データ１０に含まれている０と１をそれぞれ１ビットのデータとみなして、二次元配列のデータ領域１１に配置する工程（Ｓ６）と、データ領域１１に配置されたデータを、画像処理手法を用いて可逆圧縮する工程（Ｓ７）と、を含む。【選択図】図４
2020155834.tif 000002
【特許請求の範囲】
【請求項１】
文字および数字の少なくとも一方を含むデータを圧縮するデータ圧縮方法であって、
前記データを、０と１の文字列データに変換する工程（Ｓ２、Ｓ３、Ｓ４、Ｓ５）と、
前記文字列データに含まれている０と１をそれぞれ１ビットのデータとみなして、二次元配列のデータ領域に配置する工程（Ｓ６）と、
前記データ領域に配置されたデータを、画像処理手法を用いて可逆圧縮する工程（Ｓ７）と、
を含むデータ圧縮方法。
【請求項２】
前記可逆圧縮する工程は、ＰＮＧ形式の画像処理手法を用いてで可逆圧縮する工程（Ｓ７）を含む請求項１記載のデータ圧縮方法。
【請求項３】
前記データには、区切りを表すカンマの文字が含まれており、
前記文字列データに変換する工程は、カンマの文字を削除する工程（Ｓ５）を含む請求項１または２記載のデータ圧縮方法。
【請求項４】
前記データには、数値データが含まれており、
前記文字列データに変換する工程は、数値データを、固定ビット幅の２進数に変換する工程（Ｓ３）を含む請求項１から３のいずれか一項記載のデータ圧縮方法。
【請求項５】
前記データは、プログラマブルロジックコントローラから送信されるものであって、リレーの状態を表すＯＮまたはＯＦＦの文字が含まれており、
前記文字列データに変換する工程は、ＯＮとＯＦＦの文字を１と０とに割り当てる工程（Ｓ２）を含む請求項１から４のいずれか一項記載のデータ圧縮方法。
【請求項６】
前記データは、プログラマブルロジックコントローラから送信されるものであって、制御周期のタイムスタンプが含まれており、
前記文字列データに変換する工程は、タイムスタンプを削除する工程（Ｓ４）を含む請求項１から５のいずれか一項記載のデータ圧縮方法。
【請求項７】
前記データは、プログラマブルロジックコントローラから送信されるものであって、リレーの状態を表すデータが含まれており、
前記リレーの状態が切り替えられたタイミングを記憶する請求項１から６のいずれか一項記載のデータ圧縮方法。
【請求項８】
前記データは、プログラマブルロジックコントローラから送信されるものであって、制御周期のタイムスタンプが含まれており、
可逆圧縮したデータを保存する際、最初のタイムスタンプをファイル名に用いる請求項１から７のいずれか一項記載のデータ圧縮方法。
【請求項９】
文字および数字の少なくとも一方を含むデータを圧縮するデータ圧縮装置（１）であって、
前記データを、０と１の文字列データに変換する変換部（１ｃ）と、
前記変換部で変換した文字列データに含まれる０と１をそれぞれ１ビットのデータとみなして、二次元配列のデータ領域に配置する配置部（１ｄ）と、
前記データ領域に配置されたデータを、画像処理手法を用いて可逆圧縮する圧縮部（１ｅ）と、
を備えるデータ圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを圧縮するデータ圧縮方法、データ圧縮装置に関する。
【背景技術】
【０００２】
近年、産業分野でもいわゆるモノのインターネットの導入が進んでいる。以下、モノのインターネットを、ＩｏＴと称する。このようなＩｏＴでは、装置の制御データの収集などが行われている。このように収集されたデータは、例えば装置の故障に対する保全に利用することができるため、長期間に渡って記憶しておくことが求められる。そして、例えば特許文献１には、収集したデータを圧縮することで少ない記憶容量で保持可能にすることが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３４４３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、産業用の装置は、例えば十数ミリ秒レベルの制御周期ごとに制御データを収集する必要があることが想定される。また、産業用の装置は、長時間の動作を毎日行うことも想定される。その結果、保存すべきデータ量が膨大になってしまう。そのため、産業用の装置を想定したＩｏＴでは、さらに効率のよい圧縮方法が求められている。
【０００５】
また、産業用の装置の場合には、上記したように保全を目的としてデータ収集が行われることもあり、圧縮したデータを欠落なく元のデータに戻せることも必要とされる。
本開示の目的は、上記した事情に鑑みてなされたものであり、データを可逆的且つ効率よく圧縮することができるデータ圧縮方法、データ圧縮装置を提供することにある。
【課題を解決するための手段】
【０００６】
本開示のデータ圧縮方法は、文字および数字の少なくとも一方を含むデータを圧縮するものであって、データを０と１の文字列データに変換する工程と、文字列データに含まれている０と１をそれぞれ１ビットのデータとみなして、二次元配列のデータ領域に配置する工程と、データ領域に配置されたデータを、画像処理手法を用いて可逆圧縮する工程と、を含む。
【図面の簡単な説明】
【０００７】
【図１】実施形態のデータ圧縮装置を含むＩｏＴシステムの構成を模式的に示す図
【図２】ＰＬＣの出力態様の一例を時系列と個別の時刻とで示す図
【図３】ＰＬＣから送信されるＣＳＶデータの一例を模式的に示す図
【図４】ＣＳＶデータを圧縮する圧縮処理の流れを示す図
【図５】ＣＳＶデータを文字列化データに変換する態様を模式的に示す図
【図６】文字列データの一例を模式的に示す図
【図７】データ領域の一例を模式的に示す図
【図８】疑似画像データの生成態様を模式的に示す図
【図９】可逆圧縮データの一例をＰＧＮ形式で視覚的に示す図
【図１０】可逆圧縮データからＣＳＶデータを再生する再生処理の流れを示す図
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照しながら説明する。
図１に示すように、本実施形態のデータ圧縮装置１は、産業用の装置である例えばプログラマブルロジックコントローラ２（以下、ＰＬＣ２）が接続されたＩｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓシステム３（以下、ＩｏＴシステム３）を構成しており、ＰＬＣ２の制御データを収集する。このＰＬＣ２は、詳細は後述するが、自身に設けられているリレーの開閉状態やセンサ４の検出値などの制御データを、カンマ区切りのテキストファイル形式（以下、ＣＳＶ形式）で出力する。なお、ＰＬＣ２にセンサ４が接続されない構成の場合もある。
【０００９】
そして、データ圧縮装置１は、ＰＬＣ２から送信されたＣＳＶ形式のデータを圧縮するとともに、通信回線５を介して外部の記憶装置６に圧縮したデータを保存する。つまり、本実施形態の場合、ＣＳＶ形式のデータが圧縮対象になっている。この通信回線５には他の国内拠点７や海外拠点８などが接続されており、必要応じて、記憶装置６からそれらの拠点に圧縮したデータが送信される。なお、記憶装置６を設けずにデータ圧縮装置１に圧縮されたデータを記憶する構成や、記憶装置６とデータ圧縮装置１の双方に記憶する構成とすることもできる。
【００１０】
このデータ圧縮装置１は、制御部１ａ、通信部１ｂ、変換部１ｃ、配置部１ｄ、圧縮部１ｅおよび再生部１ｆなどを備えている。制御部１ａは、図示しない記憶媒体に記憶されているコンピュータプログラムを実行することにより、データ圧縮装置１の全体を制御する。
【００１１】
通信部１ｂは、ＰＬＣ２との間の通信を行うとともに、通信回線５を介して外部の記憶装置６や国内拠点７あるいは海外拠点８との間の通信を行う。この通信回線５は、いわゆるインターネットを想定している。
【００１２】
詳細は後述するが、変換部１ｃは、通信部１ｂで受信したＣＳＶ形式のデータを、０と１の文字列データに変換する。配置部１ｄは、変換部１ｃで変換した文字列データを、例えばメモリ上に設けた二次元配列のデータ領域に配置する。圧縮部１ｅは、データ領域に配置された文字列データを、画像処理手法を用いて可逆圧縮する。再生部１ｆは、可逆圧縮されたデータを元の形式ここではＣＳＶ形式のデータに再生する。
【００１３】
次に、上記した構成の作用について説明する。
まず、ＰＬＣ２から送信される制御データについて、センサ４が接続されている状態を例にして簡単に説明する。このＰＬＣ２は、図２に時系列として示すように、例えば４つのリレーＡ〜リレーＤを有しており、センサ４で対象物の位置を検出しているものとする。
【００１４】
図２の場合、ＰＬＣ２は、時刻Ｔ０から制御データの記録を開始しており、その後、制御周期ごとに制御データを記録している。このとき、ＰＬＣ２は、リレーＡ〜リレーＤの開閉状態とセンサ４の検出値とを時系列で記録している。なお、図２に示す制御データは一例である。
【００１５】
このため、制御データを解析すれば、図２に個別の時刻として示すように、例えば時刻Ｔ０であればリレーＡは開状態、リレーＢは閉状態、リレーＣは開状態、リレーＤは閉状態となっており、そのときの対象物の位置が８００であったことなどを把握できる。
【００１６】
そして、ＰＬＣ２は、図３に示すように、例えば動作サイクルごと、あるいは、所定の期間ごとに制御データをＣＳＶ形式でデータ圧縮装置１に送信する。以下、データ圧縮装置１に送信されるＣＳＶ形式のデータを、ＣＳＶデータ９と称する。
【００１７】
このＣＳＶデータ９には、リレーの開閉状態が、開状態であればＯＦＦ、閉状態であればＯＮのように、目視で把握可能な文字として記録されている。つまり、ＣＳＶデータ９には、文字および数字の少なくとも一方、ここでは双方が含まれている。また、ＣＳＶデータ９には、データを記憶した時刻を示すＴ０等のタイムスタンプが含まれている。なお、図３に示すＣＳＶデータ９は、あくまでも一例である。
【００１８】
このようなＣＳＶデータ９を受信することにより、データ圧縮装置１や他の装置は、例えば表計算ソフトを使って図２に示した時系列のデータの確認や、トラブルが発生した際の制御データとの突き合わせ、あるいは、他の製造ラインの立ち上げの基準にするなど、ＣＳＶデータ９を活用することができる。
【００１９】
ただし、前述のように、ＰＬＣ２のような産業用の装置では、例えば十数ミリ秒レベルの制御周期ごとに制御データが更新されることがある。また、ＰＬＣ２は、長時間の動作を毎日行うことも想定される。そのため、例えば１０ミリ秒ごとに制御データが更新されるとすると、１秒間で１００回分の制御データが更新され、その際、収集すべきデータの種類が１０００種類であったとすると、１秒間で１０万個のデータを蓄積する必要がある。そのため、例えば２４時間連続稼動している場合には、１日で８６億個といった膨大なデータを蓄積する必要がある。
【００２０】
そして、そのような膨大なデータを蓄積するためには、大容量の記憶装置６を様子縷々必要がある等、投資コストも膨大になる。また、蓄積するデータ量が膨大になると、他の記憶装置６に蓄積したり他の拠点に送信したりする場合に多大な時間が掛かり、即応性が悪化してしまう。さらに、蓄積したデータを故障に対する保全や製造ラインの立ち上げなどに利用するためには、圧縮しても欠落なく元のデータに戻せることも必要とされる。
【００２１】
そこで、データ圧縮装置１は、まず、ＰＬＣ２から送信されてくるＣＳＶデータ９から幾つかの無駄を省くことにより、まずデータ量を削減し、その状態で圧縮することにより最終的なデータ量を削減している。なお、ここで言う無駄とは、仮に削除した場合であっても元のデータを復元することができることを意味している。
【００２２】
ここで、上記した図３に示すＣＳＶデータ９を例にして、ＣＳＶデータ９に含まれる無駄について説明する。ＣＳＶデータ９には、例えばＴ０というタイムスタンプ、データの区切りを示す「，」で示すカンマの文字、リレーの状態を示す「ＯＮ」や「ＯＦＦ」の文字、「８００」として示すセンサ４の検出値といった数値データなどが含まれている。
【００２３】
まず、１つ目の無駄として、カンマの文字が考えられる。カンマの文字は、データの区切りとして挿入されているため、データの数とほぼ同数が含まれている。そのため、カンマの文字を削減することができれば、圧縮すべきデータの数を単純計算で１／２程度に削減することができる。
【００２４】
また、本実施形態のようにＰＬＣ２から送信されるＣＳＶデータ９を対象とする場合、そのＣＳＶデータ９は、制御データが所定のフォーマットで記憶されている。より具体的に言えば、ＰＬＣ２から送信されるＣＳＶデータ９は、リレーの開閉状態や数値などのデータが、予め定められた位置に、予め定められた順序で、予め定められた数が記憶されているそのため、仮にカンマを削除しても、元のデータの並びや区切りを把握することができる。
【００２５】
次に、２つ目の無駄として、文字コードが考えられる。ＣＳＶデータ９には、上記した文字や数値データなどが、文字コードとして含まれている。例えば「８００」という数値データは、「８」と「０」と「０」の数字の組み合わせで構成されている。そして、例えば「８」の数字は、文字コードでは１６進数の「３８」で表され、コンピュータで扱える２進数としては「００１１１０００」の８ビット分のデータ量となる。そのため、ＣＳＶ上で「８００」と記録されている場合、そのデータ量は２４ビット分になる。そのため、後述するように数値を２進数に変換し、「０」と「１」を１ビットのデータとして扱うことにより、１つの文字に相当するデータ量を、１／８にまで削減することができる。
【００２６】
また、３つ目の無駄として、リレーの状態を示す「ＯＮ」や「ＯＦＦ」の文字が考えられる。リレーは、開状態または閉状態の２状態を取り得るため、端的に言えば、０か１の１文字でその開閉状態を表すことができる。つまり、ＣＳＶデータ９に含まれる「ＯＮ」や「ＯＦＦ」の文字そのものが無駄であると考えられる。そのため、後述するように例えば「ＯＮ」を「１」、「ＯＦＦ」を１に割り当てることで、データ量を１／２または１１／３にまで削減することができる。
【００２７】
そして、データ圧縮装置１は、以下のようにして、これらの無駄を省いている。なお、以下に説明する処理は変換部１ｃ等によって行われるものの、ここでは説明の簡略化のために、データ圧縮装置１を主体にして説明する。
【００２８】
データ圧縮装置１は、図４に示す圧縮処理を実行し、ステップＳ１において、ＣＳＶデータ９を取得する。なお、ＣＳＶデータ９を受信すると自動的に圧縮処理を開始する構成とすることもできるし、ＣＳＶデータ９を一時的に記憶しておき、ユーザにより圧縮するための操作が入力されたら圧縮処理を開始する構成とすることもできる。また、以下に示すステップＳ２〜Ｓ５の処理は順不同であり、その順序を入れ替えることができる。
【００２９】
取得したＣＳＶデータ９には、例えば図５に元データとして示すように、時刻Ｔ０、データの区切りを示す「，」で示すカンマの文字、リレーの状態を示す「ＯＮ」や「ＯＦＦ」の文字、「８００」として示すセンサ４の検出値などの数値データが含まれている。
【００３０】
データ圧縮装置１は、圧縮処理のステップＳ２において、ＣＳＶデータ９に含まれている文字、ここではリレーの状態を示す「ＯＮ」または「ＯＦＦ」の文字を、０と１の何れかに割り当てる。本実施形態では、開状態を示す「ＯＦＦ」の文字を０に割り当て、閉状態を示す「ＯＮ」の文字を１に割り当てている。これにより、図５に割り当て後データとして示すように、「ＯＮ」および「ＯＦＦ」の文字が、対応する０または１のビットで表される。また、割り当て後データから元データを再生することもできる。
【００３１】
続いて、データ圧縮装置１は、圧縮処理のステップＳ３において、数値データを２進数に変換する。例えば数値データが「８００」であった場合、データ圧縮装置１は、「８００」を固定ビット幅ここでは１６ビット幅の２進数である「００００００１１００１０００００」に変換する。これにより、図５に２進化後後データとして示すように、数値データが対応する０と１の文字列で表される。
【００３２】
なお、変換する際のビット幅は、数値データが取り得る範囲をカバーできる固定値であればよく、８ビット幅や３２ビット幅とすることもできる。また、２進化後データから元の割り当て後データを再生することもできる。
【００３３】
続いて、データ圧縮装置１は、圧縮処理のステップＳ４において、タイムスタンプを削除する。これにより、図５に時刻削除後データとして示すように、制御データを０と１の文字列で表すことができる。
【００３４】
なお、タイムスタンプを削除した場合には、時刻削除後データ単体でみると、データと時刻との対応付けがなくなっている。ただし、ＣＳＶデータ９には上記したように例えば制御周期ごとに制御データが記憶されている。そのため、ある制御データとその次に記憶されている制御データとの時間間隔は、制御周期に一致することになる。
【００３５】
そして、後述するように、最初に記憶されているタイムスタンプは圧縮後のデータを保存する際のファイル名に用いられる。このため、ステップＳ４の時点でタイムスタンプを削除したとしても、圧縮後にタイムスタンプを復帰させて時系列の変化を把握したりすることは可能である。つまり、時刻削除後データから元の２進化後データを再生することができる。
【００３６】
続いて、データ圧縮装置１は、圧縮処理のステップＳ５において、カンマの文字を削除する。これにより、図５に文字列化データとして示すように、０と１の文字だけを含む状態になる。この場合、上記したように、ＰＬＣ２であれば所定のフォーマットでデータが記憶されているため、カンマの文字を削除したとしても、文字列化データの最初の４文字はリレーの開閉状態を示し、その次の１６文字は位置を２進数で示していることを把握することができる。つまり、文字列化データから元の時刻削除後データを再生することができる。
【００３７】
そして、データ圧縮装置１は、ＣＳＶデータ９の全体を文字列化データに変換することにより、図６に示す文字列データ１０を生成する。この文字列データ１０は、「０」と「１」の文字だけが含まれたデータである。そのため、端的に言えば、各文字を２進数の１ビットと見なすことにより、例えば文字列データ１０の例えば最初の８文字を８ビットデータのようにして扱うことができる。
【００３８】
続いて、データ圧縮装置１は、圧縮処理のステップＳ６において、文字列データ１０を、メモリ上に用意したデータ領域１１に二次元配列で配置する。このデータ領域１１は、図７に示すように、一般的なビットマップ画像と同様に、Ｘ×Ｙの画素数を有するドットマトリックス型の２次元領域であって、各画素にそれぞれ階調が設定されている。本実施形態では、各画素にいわゆるフルカラーと同等の２４ビットの階調が設定されている。なお、画素数は圧縮対象となるデータ量に応じて適宜設定すればよく、また、階調も圧縮対象となるデータ量に応じて８ビットや１６ビットに適宜設定することができる。
【００３９】
具体的には、データ圧縮装置１は、図８に示すように、例えばある時刻の文字列データ１０であるＤｎを直列に配置し、その全体を、階調に対応する個別データであるＢｎに分割する。なお、Ｄｅｎｄは最後の時刻の文字列データ１０を示し、Ｂｅｎｄは最後の個別データを意味している。
【００４０】
本実施形態の場合、文字列データ１０の文字数が２０個の場合を例にしている。そのため、複数の文字列データ１０から１つの個別データに文字が割り当てられることになる。なお、文字列データ１０の文字数が階調よりも多い場合には、１つの文字列データ１０に複数の個別データが割り当てられることになる。また、最後の個別データは、階調分の文字列データ１０がない場合には、ダミーの文字列が挿入される。また、個別データに分割してもデータの並びおよび数は変化しないため、個別データから文字列データ１０を再生することができる。
【００４１】
そして、データ圧縮装置１は、個別データの「０」、「１」の文字を、各画素の階調の１ビットに割り当てながら、全ての個別データをデータ領域１１に配置する。以下、個別データが配置されたデータ領域１１を、擬似的なビットマップ画像データとみなして、便宜的に疑似画像データ１２と称する。
【００４２】
続いて、データ圧縮装置１は、圧縮処理のステップＳ７において、疑似画像データ１２をＰｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ（以下、ＰＮＧ）形式の画像処理手法を用いて可逆圧縮する。ＰＮＧ形式は、周知のように、辞書方式と呼ばれる圧縮方法であり、予め定められたパターンを読み取って数値化する手法である。また、ＰＮＧ形式の圧縮手法は、コンピュータの分野で広く採用されており、実績も参考になるコードも充実している。以下、可逆圧縮されたデータを、可逆圧縮データ１３と称する。
【００４３】
そして、データ圧縮装置１は、ＰＮＧ形式で圧縮した可逆圧縮データ１３をＰＮＧファイルとして保存する。このとき、データ圧縮装置１は、最初のデータの時刻であるＴ０またはＴ０を特定可能なファイル名でＰＮＧファイルを保存する。これにより、可逆圧縮データ１３単独で、最初にデータが記録された時刻を特定でき、その後のデータは、制御周期を累積することにより、各データが記録された時刻を再生することができる。
【００４４】
このようにして生成された可逆圧縮データ１３は、一例ではあるが、例えばＣＳＶデータ９のファイルサイズが６００ＫＢであった場合、カンマの削除や「ＯＮ」や「ＯＦＦ」の文字を「０」と「１」に割り当てることで文字数を削減し、「０」や「１」の文字をそれぞれ１ビットのデータとして扱い、それをＰＮＧ形式で圧縮することにより、ファイルサイズが３．６ＫＢ程度にまで圧縮されることが確認できた。また、各種のＣＳＶデータ９で試したところ、概ね１／１０００から１／１５００程度まで圧縮されるも確認できた。
【００４５】
このように、本実施形態のデータ圧縮装置１および圧縮方法によれば、記憶装置６の容量を大きく削減することができ、また、記憶装置６の容量が同じであればより長期間に渡ってデータを蓄積することができ、さらには、通信回線５の負荷の低減並びにデータの通信に要する時間を大きく削減することができた。
【００４６】
ところで、ＰＮＧ形式で可逆圧縮した可逆圧縮データ１３は、そのデータ構造がＰＮＧ形式の画像ファイルと一致する。そのため、図９に示すように、可逆圧縮データ１３は、例えば画像ソフトによって表示することができる。この画像を見ても元のデータを類推することは困難であるものの、例えば正常動作時の可逆圧縮データ１３とトラブルが発生したときの可逆圧縮データ１３とを対比させることで、制御の食い違いの有無や発生時刻等をある程度視覚的に推測することはできる。
【００４７】
ただし、保全のためには、元のＣＳＶデータ９が必要になると考えられる。そのため、データ圧縮装置１あるいは他の拠点等に設置されているコンピュータは、以下のようにして可逆圧縮データ１３から元のデータを再生する。以下、データ圧縮装置１を例にして説明する。
【００４８】
データ圧縮装置１は、図１０に示す再生処理を実行し、ステップＳ１０において可逆圧縮データ１３を取得すると、ステップＳ１１において再生パラメータを読み出す。この再生パラメータは、対象となるＰＬＣ２の形式やデータフォーマットを含んでおり、上記した手順で圧縮された可逆圧縮データ１３から元のＣＳＶデータ９を再生するための情報として予め記憶されている。
【００４９】
なお、可逆圧縮データ１３は、ＰＮＧ形式の画像ファイルと同等に扱えるため、そのヘッダにＰＬＣ２の型式やデータフォーマットを特定可能なテキスト文字列を再生パラメータとして記録しておく構成とすることもできる。これにより、可逆圧縮データ１３単体で元のＣＳＶデータ９を再生することができる。あるいは、可逆圧縮データ１３に添付してパラメータファイルを保存する構成等にすることもできる。
【００５０】
続いて、データ圧縮装置１は、ステップＳ１２において、取得した再生パラメータを用いて、上記した可逆圧縮の逆の手順を踏むことにより、可逆圧縮データ１３を元のＣＳＶデータ９に再生する。これにより、元のＣＳＶデータ９のままの利用が可能になる。
このように、データ圧縮装置１並びに圧縮方法は、データを可逆的且つ効率よく圧縮するとともに、圧縮したデータからの元のデータの再生を行う。
【００５１】
以上説明した実施形態によれば、次のような効果を得ることができる。
実施形態のデータ圧縮方法は、文字および数字の少なくとも一方を含むデータを圧縮するものであって、データを０と１の文字列データ１０に変換する工程と、文字列データ１０に含まれている０と１をそれぞれ１ビットのデータとみなして二次元配列のデータ領域１１に配置する工程と、データ領域１１に配置されたデータを、画像処理手法を用いて可逆圧縮する工程と、含んでいる。
【００５２】
このように、元のデータに含まれている文字を０と１に変換して１ビットのデータとして扱うことで、８ビットのデータ量を必要とする文字コードに比べて、圧縮すべきデータ量を単純計算で１／８に削減することが可能となる。また、データ領域１１に配置された各ビットを「０」と「１」の文字に対応付けし直すことにより、データ領域１１のデータを元のデータに再生することも可能となる。したがって、データを可逆的且つ効率よく圧縮することができる。
【００５３】
また、必要となる記憶装置６の容量を大きく削減することができるとともに、記憶装置６の容量が同じであればより長期間に渡ってデータを蓄積することができるため、設備コストやランニングコストを大きく低減することができる。また、通信回線５の負荷の低減並びにデータの通信に要する時間を大きく削減することができるため、システムに掛かるコストだけでなく、周辺設備に掛かるコストも低減することができる。
【００５４】
画像処理手法を用いて可逆圧縮する工程では、ＰＮＧ形式の画像処理手法を用いる。ＰＮＧ形式の画像処理手法は、周知の技術であるため、新たに圧縮アルゴリズムを作る必要がなく、投資コストを抑制することができる。勿論、圧縮率も高いため、データ領域１１に配置したデータを効率よく可逆圧縮することができる。また、コンピュータの分野で広く採用されており、信頼性も十分である。
【００５５】
圧縮対象となるデータには、区切りを表すカンマの文字が含まれており、文字列データ１０に変換する工程では、カンマの文字を削除する。カンマの文字は、データの区切りとして挿入されているため、データの数とほぼ同数が含まれている。そのため、カンマの文字を削減することができれば、圧縮すべきデータの数を単純計算で１／２程度に削減することができ、より効率的にデータを圧縮することができる。
【００５６】
圧縮対象となるデータには、数値データが含まれており、文字列データ１０に変換する工程では、数値データを、固定ビット幅の２進数に変換する。ＰＬＣ２の場合、センサ４の検出値のような数値データが含まれていることがある。そして、数値データは、いわゆるアナログデータであり、ＣＳＶデータ９上で異なる文字数となることがある。
【００５７】
そのため、数値データが取り得る範囲をカバーできる固定ビット幅とすることにより、文字列化データの文字数を統一でき、配置や再生が容易になる。また、圧縮処理の途中で一時的に文字数つまりはデータ量が元のデータより増加したとしても、変換した「０」と「１」を１ビットに割り付けて圧縮することで、最終的なデータ量を大きく削減することができる。
【００５８】
圧縮対象となるデータは、ＰＬＣ２から送信されるものであって、リレーの状態を表すＯＮまたはＯＦＦの文字列が含まれており、文字列データ１０に変換する工程では、ＯＮとＯＦＦの文字列を１と０とに割り当てる。これにより、圧縮すべきデータ量を予め１／２あるいは１／３に削減することができる。
【００５９】
圧縮対象となるデータは、ＰＬＣ２から送信されるものであって、制御周期のタイムスタンプに対応付けられており、対応付けられている最初のタイムスタンプを、可逆圧縮したデータを保存する際のファイル名とする。これにより、圧縮すべきデータからタイムスタンプ分のデータ量を削減でき、より圧縮率を高めることができる。
【００６０】
また、実施形態のように可逆圧縮データを元のＣＳＶデータ９に再生する再生処理を行うことにより、故障に対する保全等に利用することができる。このとき、データ量が小さいことから、例えば他の拠点にデータを送信する際の通信時間を短縮できる。したがって、故障からの迅速な復帰を期待できる。
【００６１】
また、実施形態のように可逆圧縮したデータと可逆圧縮したデータを元のデータに再生するためのパラメータとを、１つのファイルとして保存する構成とすることができる。これにより、可逆圧縮データ単体で元のＣＳＶデータ９を再生でき、利便性が向上するともにまた、蓄積しておくファイル数を削減でき、管理を容易にすることができる。
【００６２】
また、データ圧縮装置１は、上記したデータ圧縮方法を実施するために、データを０と１の文字列データ１０に変換する変換部１ｃと、変換部１ｃで変換した文字列データ１０を、二次元配列のデータ領域１１に配置する配置部１ｄと、データ領域１１に配置されたデータを画像処理手法を用いて可逆圧縮する圧縮部１ｅとを備えている。このような構成のデータ圧縮装置１によっても、データを可逆的且つ効率よく圧縮することができるなど、上記したデータ圧縮方法と同様の効果を得ることができる。
【００６３】
また、データ圧縮装置１の制御部１ａに上記したデータ圧縮方法を実行するコンピュータプログラムによっても、データを可逆的且つ効率よく圧縮することができるなど、上記したデータ圧縮方法と同様の効果を得ることができる。
【００６４】
実施形態ではリレーの状態も含めてデータを記憶する構成を例示したが、なお、リレーは、１回の動作サイクル中において頻繁に開閉されることは少なく、また、一旦開状態または閉状態になると、その状態がしばらくの間継続することになる。そして、開閉状態が変化していないにも関わらずデータとして蓄積することは、無駄であると考えることができる。つまり、「ＯＮ」や「ＯＦＦ」の文字列の回数が考えられる。
【００６５】
そのため、圧縮対象となるデータがＰＬＣ２から送信されるものであって、リレーの状態を表すデータが含まれている場合には、リレーの状態が切り替えられたタイミングを記憶することで、より効率よく圧縮することができる。この場合、リレーの開閉状態が変化した場合に例えば専用のデータ列を所定の規則に従って挿入することにより、例えば実施形態の図５に例示した各時刻の２０ビットのデータを、４ビット分を省略した１６ビットのデータとすることができ、圧縮率を大きく向上させることができる。
【００６６】
実施形態では個別データを順番にデータ領域１１に配置する例を示したが、１つの文字列化データが１画素の階調に納まる場合には、１画素に１つの文字列化データを配置する構成とすることもできる。
実施形態では図８のようにデータ領域１１の行方向に向けて順番に配置する例を示したが、列方向に向けて順番に配置する構成とすることもできる。
【００６７】
実施形態では予めデータ領域１１を用意する例を示したが、例えば行数つまりは横方向の画素数を予め設定しておき、個別データを順番に配置していくことで、列数つまりは縦方向の画素数を決めることもできる。勿論、列数の画素数を予め設定しておき、個別データを順番に配置していくことで、行数を決めることもできる。
【００６８】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に含まれるものである。
【００６９】
本開示に記載の制御部１ａ及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部１ａ及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【符号の説明】
【００７０】
図面中、１はデータ圧縮装置、１ｃは変換部、１ｄは配置部、１ｅは圧縮部、２はＰＬＣ（プログラマブルロジックコントローラ）、４はセンサ、９はＣＳＶデータ、１０は文字列データ、１１はデータ領域、１３は可逆圧縮データを示す。
【図１】
2020155834.tif 000003
【図２】
2020155834.tif 000004
【図３】
2020155834.tif 000005
【図４】
2020155834.tif 000006
【図５】
2020155834.tif 000007
【図６】
2020155834.tif 000008
【図７】
2020155834.tif 000009
【図８】
2020155834.tif 000010
【図９】
2020155834.tif 000011
【図１０】
2020155834.tif 000012