(57)【要約】【課題】高速に圧縮を行うことができるデータ圧縮装置およびこの圧縮データを高速に復元できるデータ復元装置を実現すること。【解決手段】  予め定められたＮ（Ｎは自然数）ビット数で表される数値である１画素分の画素値の連続からなる画像データに可逆圧縮処理を施すデータ圧縮装置において、前記画像データを構成する画素値のうち予め定められた位置の画素における１画素分の画素値を記憶する記憶手段と、前記画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、前記画素値の差分を前記記憶手段に記憶する差分管理手段と、前記記憶手段に記憶される予め定められた位置の画素における１画素分の画素値および前記画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことを特徴とするデータ圧縮装置。【選択図】図１
2011239064.tif 000002
【特許請求の範囲】
【請求項１】
予め定められたＮ（Ｎは自然数）ビット数で表される数値である１画素分の画素値の連続からなる画像データに可逆圧縮処理を施すデータ圧縮装置において、
前記画像データを構成する画素値のうち予め定められた位置の画素における１画素分の画素値を記憶する記憶手段と、
前記画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、
前記画素値の差分を前記記憶手段に記憶する差分管理手段と、
前記記憶手段に記憶される予め定められた位置の画素における１画素分の画素値および前記画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことを特徴とするデータ圧縮装置。
【請求項２】
前記差分管理手段は、
前記差分が予め定められた前記Ｎビット未満であるＭ（Ｍは自然数）ビットにより表現可能であるときは、当該差分をＭビット配列である第１の配列に格納し前記記憶手段に記憶することを特徴とする請求項１記載のデータ圧縮装置。
【請求項３】
前記差分管理手段は、
前記差分が前記Ｍビットにより表現可能ではないときは、前記第１の配列に０を格納するとともに当該差分が算出されたいずれかの画素値をＮビット配列である第２の配列に格納し前記記憶手段に記憶し、当該画素値の前記画像データにおける位置を示す位置情報を当該差分と関連付けて第３の配列に前記記憶手段に記憶することを特徴とする請求項２記載のデータ圧縮装置。
【請求項４】
前記画像データは、励起光が照射された測定対象からの蛍光信号に基づいて画像処理した前記測定対象の画像データであり、
前記差分算出手段は、前記画像データを複数の画素のまとまりからなるブロックであって前記測定対象の一単位が占める範囲よりも小さいブロックごとに分割し、これらのブロックごとに、前記ブロック内の画素値について、隣接する画素値との差分を算出し、
前記記憶手段は、予め定められた位置の画素における１画素分の画素値、前記第１の配列および前記第２の配列をブロックごとに記憶することを特徴とする請求項１〜３のいずれかに記載のデータ圧縮装置。
【請求項５】
前記圧縮手段は、
前記圧縮データを、前記記憶手段に記憶される、予め定められた位置の画素における１画素分の画素値、前記第１の配列、前記第２の配列および前記第３の配列のそれぞれを関連付けて生成することを特徴とする請求項３または４に記載のデータ圧縮装置。
【請求項６】
予め定められたＮ（Ｎは自然数）ビット数で表される数値である１画素分の画素値の連続からなる画像データに可逆圧縮処理を施す請求項１〜５のいずれかに記載のデータ圧縮装置により圧縮された圧縮データを復元するデータ復元装置において、
前記第１の配列に基づいて、前記予め定められた位置の画素における１画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、順次加算の結果得られた画素値にこの画素に隣接する画素の画素値との差分を加算してＮビット配列である第４の配列を生成する加算手段と、
前記第２の配列に格納された画素値を、この画素値と関連付けられている前記位置情報に示された画像データの位置に相当する第４の配列の位置に挿入するオーバーヘッド復元手段を、備えることを特徴とするデータ復元装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定められたＮ（Ｎは自然数）ビット数で表される数値である１画素分の画素値の連続からなる画像データに可逆圧縮処理を施すデータ圧縮装置およびこのデータ圧縮装置により生成される圧縮データを復元するデータ復元装置に関し、特に、高速圧縮、高速復元に関するものである。
【０００２】
従来、記憶容量の低減化や通信量の低減化等のために、画像データ等のデータを圧縮する技術が広く採用されており、これらの技術を用いたデータ圧縮装置が実現されている。
【０００３】
ここで、画像データを圧縮する目的は、主に次の（１）、（２）がある。なお、以下の回線とは、ネットワークやストレージからの入出力全般を意味する。
（１）データを圧縮して、限られたストレージ（ハードディスク等）に多量のデータを保存する目的
（２）データを圧縮して、限られた回線速度において、より高速に転送する目的
【０００４】
ここで（１）、（２）の目的について検討する。
（１）の目的の場合、特に長期保管のためのデータバックアップであれば、多少演算時間がかかっても圧縮率が優れたアルゴリズムを採用することが利にかなっている。
（２）の目的の場合、ＷＷＷ（World Wide Web）ページの閲覧や画像データの解析等、転送直後にデータを利用するような場合には、多少圧縮率が優れていなくても伸張時間が短いほうが有利な場合がある。
つまり、データ圧縮の技術には、圧縮率、圧縮時間、伸張時間という３つの性能指標が存在し、目的に応じた使い分けがあり得ることがいえる。
【０００５】
従来のデータ圧縮装置が用いる画像圧縮の技術には、静止画の非可逆圧縮方式であるＪＰＥＧ（Joint Photographic Experts Group）や、動画の非可逆圧縮方式であるＭＰＥＧ（Moving Picture Experts Group）がある。
また、従来のデータ圧縮装置は、汎用データ可逆圧縮アルゴリズムであるＬＺＷ、ＺＩＰ、Ｄｅｆｌａｔｅ、Ｂｚｉｐ２等のアルゴリズムを画像データに適用することも広く行われている。
【０００６】
このようなデータ圧縮装置およびデータ復元装置に関連する先行技術文献として下記の特許文献１（特開２００６−２７９２０７号公報）がある。
【０００７】
特許文献１に開示されている従来のデータ圧縮装置は、画像データを構成する画素の隣接画素との２次元的差分の算出を行い、それらをビットシフトして上位ビットと下位ビットへ分解し、各々に対してハフマン符号化を含む最適なアルゴリズムで可逆圧縮するものである。具体的には以下の（１）〜（６）の動作を行なう（特に図示はしない）。
【０００８】
（１）従来のデータ圧縮装置の演算制御手段（図示せず）は、画像データを構成する数値（画素値）の連続について、画像上で見てその画素値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求め、その差分を表わす８ビットの数値の連続からなる画像データを生成する。
【０００９】
（２）演算制御手段は、差分を表わす数値の連続からなる画像データを、所定値だけオフセットする。
（３）演算制御手段は、その後、画像データ中の８ビットの各数値を下位４ビットと上位４ビットとに分割する。つまり画像データは、下位４ビットの数値の連続からなる下位データと上位４ビットの数値の連続からなる上位データに分割される。
【００１０】
（４）上位データに対しては、ランレングス・ハフマン符号化処理を以下のように行う。
（４−１）演算制御手段は、上位データの中から１つもしくは複数の符号化処理を行なう数値（圧縮対象数値）の存在及び同一の圧縮対象数値の連続数を検出する。
【００１１】
（４−２）その検出結果を受けて、演算制御手段は、上位データ中、圧縮対象数値を除く数値についてはそのままにし、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化するという符号化処理を行う。この符号化処理にあたっては、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化を行う。
具体的には、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を１単位ビット数で表現し、その連続数が所定数を越えるときは２単位ビット数で表現する符号化を行う。
【００１２】
（４−３）演算制御手段は、符号化された後のデータの全てをスキャニングして、そのデータ中に出現する全ての数値の出現頻度（ヒストグラム）を求める。この出現頻度を求める処理は、各上位データにおける符号化された後のデータ中の数値の出現頻度が求められる。
（４−４）演算制御手段は、求められたヒストグラム（数値の出現頻度）に基づき、ハフマンテーブルに、出現頻度の高い数値ほど符号長の短い符号をハフマンテーブルに割り当てる。ハフマンテーブルは、数値と符号とを対応づける固定的なテーブルであり、符号化に用いられる。
（４−５）演算制御手段は、数値に符号が割り当てられてなるハフマンテーブルに従って、そのハフマンテーブルに従う符号、すなわち、出現頻度の高い数値ほど短いビット長で表わされる符号に置き換える（符号化する）。
【００１３】
（５）演算制御手段は、ハフマン符号化された後のデータを、割り当てられた数値と符号との割当テーブルを含む圧縮情報が添付され、上位データが圧縮された上位圧縮データとして出力する。
【００１４】
（６）一方、下位データを構成する数値に対しては、演算制御手段は、ハフマンテーブルに基づき、そのハフマンテーブルに従う符号に置き換えるハフマン符号化（エントロピー符号化）処理を行う。
【００１５】
この結果、従来のデータ圧縮装置は、画像データが分割された下位データおよび上位データに、ハフマン符号化およびランレングス・ハフマン符号化をして２次元差分符号化処理を行うことにより、それぞれ下位圧縮データと上位圧縮データの組からなる可逆圧縮データを生成できる。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００６−２７９２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、従来のデータ圧縮装置では、画像の各画素値の走査を、「隣接画素の差分の算出時（（１）の動作）」、「出現頻度ヒストグラム生成時（（４−３）の動作）」、「ハフマン符号化圧縮時（（４−５）の動作等）」の少なくとも３回行う必要があるので、演算時間が長くなるという問題点があった。
【００１８】
また従来のデータ圧縮装置では、そもそもハフマン符号化は演算時間が長く圧縮時間が比較的長いという問題点があった。
【００１９】
また従来のデータ圧縮装置では、圧縮されたデータを伸張、復元する際にも、ハフマン符号化の伸張と２次元差分の合成が必要で演算時間が長くなるという問題点があった。
【００２０】
また従来のデータ圧縮装置では、圧縮されたデータを伸張、復元する場合、狭い帯域の電気通信回線を介してデータ送受信を行うときには、圧縮の効果により短時間で転送できたとしても、ハフマン符号化されたデータの伸張（復元）に加えさらに２次元差分の合成が必要なので伸張（復元）時間が長くなってしまい、伸張（復元）時間が圧縮の効果により転送時に稼いだ時間を上回ることがあるという問題があった。
【００２１】
本発明は、このような問題点を解決するものであり、その目的は、高速に圧縮を行うことができるデータ圧縮装置およびこの圧縮データを高速に復元できるデータ復元装置を実現することにある。
【課題を解決するための手段】
【００２２】
上記目的を達成するために、本発明のうち請求項１に記載の発明は、
予め定められたＮ（Ｎは自然数）ビット数で表される数値である１画素分の画素値の連続からなる画像データに可逆圧縮処理を施すデータ圧縮装置において、
前記画像データを構成する画素値のうち予め定められた位置の画素における１画素分の画素値を記憶する記憶手段と、
前記画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、
前記画素値の差分を前記記憶手段に記憶する差分管理手段と、
前記記憶手段に記憶される予め定められた位置の画素における１画素分の画素値および前記画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことを特徴とするデータ圧縮装置。
【００２３】
請求項２記載の発明は、請求項１に記載のデータ圧縮装置において、
前記差分管理手段は、
前記差分が予め定められた前記Ｎビット未満であるＭ（Ｍは自然数）ビットにより表現可能であるときは、当該差分をＭビット配列である第１の配列に格納し前記記憶手段に記憶することを特徴とする。
【００２４】
請求項３記載の発明は、請求項２に記載のデータ圧縮装置において、
前記差分管理手段は、
前記差分が前記Ｍビットにより表現可能ではないときは、前記第１の配列に０を格納するとともに当該差分が算出されたいずれかの画素値をＮビット配列である第２の配列に格納し前記記憶手段に記憶し、当該画素値の前記画像データにおける位置を示す位置情報を当該差分と関連付けて第３の配列に前記記憶手段に記憶することを特徴とする。
【００２５】
請求項４記載の発明は、請求項１〜３のいずれかに記載のデータ圧縮装置において、
前記画像データは、励起光が照射された測定対象からの蛍光信号に基づいて画像処理して創薬スクリーニングを行うための前記測定対象を撮影した画像データであり、
前記差分算出手段は、前記画像データを複数の画素のまとまりからなるブロックであって前記測定対象の一単位が占める範囲よりも小さいブロックごとに分割し、これらのブロックごとに、前記ブロック内の画素値について、隣接する画素値との差分を算出し、
前記記憶手段は、予め定められた位置の画素における１画素分の画素値、前記第１の配列および前記第２の配列をブロックごとに記憶することを特徴とする。
【００２６】
請求項５記載の発明は、請求項３または４に記載のデータ圧縮装置において、
前記圧縮手段は、
前記圧縮データを、前記記憶手段に記憶される、予め定められた位置の画素における１画素分の画素値、前記第１の配列、前記第２の配列および前記第３の配列のそれぞれを関連付けて生成することを特徴とする。
【００２７】
請求項６記載の発明は、
予め定められたＮ（Ｎは自然数）ビット数で表される数値である１画素分の画素値の連続からなる画像データに可逆圧縮処理を施す請求項１〜５のいずれかに記載のデータ圧縮装置により圧縮された圧縮データを復元するデータ復元装置において、
前記第１の配列に基づいて、前記予め定められた位置の画素における１画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、順次加算の結果得られた画素値にこの画素に隣接する画素の画素値との差分を加算してＮビット配列である第４の配列を生成する加算手段と、
前記第２の配列に格納された画素値を、この画素値と関連付けられている前記位置情報に示された画像データの位置に相当する第４の配列の位置に挿入するオーバーヘッド復元手段を、備えることを特徴とするデータ復元装置。
【発明の効果】
【００２８】
本発明のデータ圧縮装置によれば、画像データを構成する画素値のうち予め定められた位置の画素における１画素分の画素値を記憶する記憶手段と、画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、画素値の差分を記憶手段に記憶する差分管理手段と、記憶手段に記憶される予め定められた位置の画素における１画素分の画素値および画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことにより、高圧縮率で高速に圧縮できる点で有効である。
また、本発明によれば、上述の構成とすることにより、圧縮においても伸張においても、画像全体を走査する回数が１回だけで良く、用いる演算が加算と減算、大小比較のみであるため、極めて高速な処理できる点で有効である。
また、本発明によれば、上述の構成とすることにより、画像の走査回数や演算の単純さに起因する高速性により、公知のアルゴリズムと比較して少なくとも６倍以上高速な伸張速度を実現できる。すなわち、高速に圧縮できる点で有効である。
【００２９】
また、本発明のデータ圧縮装置によれば、差分算出手段１１が画像データを複数の画素のまとまりからなるブロックであって測定対象の一単位が占める範囲よりも小さい「ブロック」ごとに複数分割し、これらのブロックごとに、前記ブロック内の画素値について、隣接する画素値との差分を算出し、差分管理手段１３が、ブロックごとにオーバーフローが生じたか否かを判定して第１の配列または第２、第３の配列に差分または画素値、位置情報を記憶することにより、画素値の規則性が高まり、高圧縮率で高速に圧縮できる点で有効である。
【００３０】
また、本発明のデータ復元装置によれば、第１の配列１００に基づいて、予め定められた位置の画素における１画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、順次加算の結果得られた画素値にこの画素に隣接する画素の画素値との差分を加算してＮビット配列である第３の配列を生成する加算手段と、第２の配列に格納された画素値を、この画素値と関連付けられて第３の配列に格納されている位置情報に示された画像データの位置に相当する第４の配列の位置に挿入するオーバーヘッド復元手段を、備えることにより、高速に高圧縮率で圧縮されたデータを高速に復元することができる点で有効である。また画像全体を走査する回数が１回だけで良く、用いる演算が加算と減算、大小比較のみであるため、極めて高速な処理できる点で有効である。
【図面の簡単な説明】
【００３１】
【図１】本発明のデータ圧縮装置の一実施例を示す構成説明図である。
【図２】図１のデータ圧縮装置のデータ圧縮の動作フロー図である。
【図３】本発明のアルゴリズムと公知のアルゴリズムとの圧縮結果の説明図である。
【図４】本発明のデータ復元装置の一実施例の構成説明図である。
【図５】図４のデータ復元装置のデータ復元の動作フロー図である。
【図６】図１のデータ圧縮装置１を用いた画像解析システムの一実施例を示す構成説明図である。
【発明を実施するための形態】
【００３２】
＜第１の実施例＞
（構成の概要）
以下、図面を参照して、本発明を詳細に説明する。図１は本発明のデータ圧縮装置の一実施例を示す構成説明図である。
【００３３】
図１において、本発明のデータ圧縮装置１は、予め定められたＮ（Ｎは自然数）ビット数で表される数値である１画素分の画素値の連続からなる画像データに可逆圧縮処理を施すものである。
【００３４】
以下、説明を簡単にするために、１画素分の画素値は１６ビット（Ｎ＝１６）で表されるものとし、１色でグレースケールの画像であるものとして説明する。
なお、本発明のデータ圧縮装置は、１画素が１６ビット以外のビット数で表される画素値である場合（３２ビット等）や、カラー画像である場合であっても適用可能である。
【００３５】
本発明のデータ圧縮装置１は、主に、画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段１１と、画像データを構成する画素値のうち予め定められた位置の画素における１画素分の画素値、隣接する画素値との差分が格納される第１の配列１００、第１の配列１００に格納できない差分が算出された画素値が格納される第２の配列２００および（座標）位置情報が格納される第３の配列３００を記憶する記憶手段１２と、画素値の差分を第１の配列１００に、オーバーヘッド（後述）が生じた画素値を第２の配列２００に、オーバーヘッドが生じた画素の位置を示す位置情報を第３の配列３００に格納し記憶手段１２に記憶する差分管理手段１３と、記憶手段１２に記憶される、予め定められた位置の画素における１画素分の画素値、第１の配列１００、第２の配列２００および第３の配列３００のそれぞれを関連付けた圧縮データを生成する圧縮手段１４、を備える。
【００３６】
また、データ圧縮装置１は、第１の配列１００に基づき、予め定められた位置の画素における１画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、加算の結果得られた画素値に順次この画素に隣接する画素の画素値との差分を加算してＮビット配列である第４の配列４００を生成する加算手段１５と、第２の配列２００に格納された画素値を、この画素値と関連付けられて第３の配列３００に格納されている位置情報に示された、画像データの位置に相当する第４の配列４００の位置に挿入するオーバーヘッド復元手段１６を備えるものでもよい。
【００３７】
さらに、データ圧縮装置１は、各手段の動作を制御するＣＰＵ（Central Processing Unit）等の演算制御部１７を備え、主に差分算出手段１１、差分管理手段１３、圧縮手段１４、加算手段１５、オーバーヘッド復元手段１６の機能を実行する。
ここで、演算制御部１７は、記憶手段１２に格納されているＯＳなどを起動して、このＯＳ上で格納されたプログラムを読み出し実行することにより各手段または装置全体を制御し、データ圧縮装置固有の動作を行う。
このとき記憶手段１２は、演算制御部１７によって実行されるプログラムやアプリケーションをプログラム格納エリアに展開し、入力されたデータや、プログラムやアプリケーションの実行時に生じる処理結果などのデータをワークエリアに一時的に記憶するものであってもよい。
【００３８】
また、データ圧縮装置１は、記憶手段１２は、差分算出手段１１、差分管理手段１３、圧縮手段１４、加算手段１５、オーバーヘッド復元手段１６と相互接続される。
【００３９】
なお、本発明のデータ圧縮装置１は、外部の機器と接続線、ネットワークなどを介して電気的に接続される通信手段１８を有するものでもよい。
データ圧縮装置１は、圧縮手段１４により生成された圧縮データを通信手段１８を介して外部の機器に送信するものでもよい。
【００４０】
（主な構成要素の説明）
差分算出手段１１は、画像データを構成する画素値について、隣接する画素値との差分を算出する。
たとえば差分算出手段１１は、２次元画像データを行や列の数を別途記憶してｉ（ｉは０を含む自然数）番目の画素値をｙ（ｉ）と表記できるような１次元配列に変換して、ｉ（ｉは自然数）画素目の画素値とｉ＋１画素目の画素値との差ｙ（ｉ）−ｙ（ｉ―１）を計算する。この場合、差分算出手段１１がｙ（ｉ）を走査すると、２次元画像データ上の（０、０）、（０、１）、（０、２）、・・・、等の位置座標で１行（または１列）を走査してから次の行（または列）へ移動するように画素を走査することになる。
【００４１】
差分管理手段１３は、差分算出手段１１で得られた差分が１６ビット（Ｎビット）未満であるＭ（Ｍは自然数）ビット（たとえば８ビット）により表現可能であるときは、当該差分をビット配列である第１の配列１００に格納し記憶手段１２に記憶する。
【００４２】
なお以降、説明を簡単にするために、画像データの１画素が１６ビットで表すことができるものとし（いいかえればＮを１６（Ｎ＝１６）とし）、ＭビットをＮ／２ビット（８ビット）として説明する。
Ｍビットを８ビットとする場合、８ビット（１バイト）単位で演算するため、プログラミング上、ビットシフト演算等を活用して、高速化しやすい点で有効である。
【００４３】
また差分管理手段１３は、差分算出手段１１で得られた差分が８ビット（Ｍビット）により表現可能ではないときは、第１の配列１００に「０」を格納するとともに当該画素値を１６ビット配列（Ｎビット配列）である第２の配列２００に格納し記憶手段１２に記憶し、当該差分が算出された画素の位置情報を当該画素値と関連付けて第３の配列３００に格納して記憶手段１２に記憶する。
【００４４】
記憶手段１２は、外部機器から取得した画像データおよびこの画像データを構成する画素値のうち予め定められた位置の画素における１画素分の画素値を記憶する。たとえば画像データの１次元配列における先頭要素である０番目の画素値ｙ（０）を記憶する。
【００４５】
また、記憶手段１２は、差分算出手段１１で算出された差分が格納される８ビット配列である第１の配列１００を記憶するとともに、差分算出手段１１で得られた差分であって８ビット（Ｍビット）により表現可能ではない画素値が格納される１６ビット配列である第２の配列２００および当該差分が算出された画素の位置情報を第３の配列３００に格納して記憶する。
【００４６】
さらに記憶手段１２は、予め定められた位置の画素における１画素分の画素値、第１の配列１００、第２の配列２００および第３の配列３００のそれぞれを関連付けた圧縮データを記憶する
【００４７】
なお記憶手段１２は、たとえばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）、ハードディスク装置などであり、主にＯＳやデータ圧縮装置１として動作させるためのプログラムやアプリケーション、これらプログラムなどの実行時に使用されるデータなどの各種情報を記憶する。
【００４８】
圧縮手段１４は、記憶手段１２に記憶される、予め定められた位置の画素における１画素分の画素値、第１の配列１００、第２の配列２００および第３の配列３００のそれぞれを関連付けた圧縮データを生成し、記憶手段１２に記憶する。
【００４９】
（本発明の主な特徴）
本発明の主な特徴は、画像データにおいて隣接する画素値同士の差分は多くの場合が小さいものである点に着目し、画像データを構成する画素値を表す単位であるＮビットよりも小さいビット数であるＭビット配列に当該差分を格納する点である。
【００５０】
より詳細には、本発明の基本的なアイディアは、隣接する画素の画素値は比較的近い値を持つため、隣接画素の差はデジタル画像を生成したＡＤＣ（アナログ-デジタル変換回路）のビット数のレンジよりも少ないビット数で表現できるであろうという考え方に基づき、Ｍビット配列（Ｍ＞Ｎ）に当該差分を格納する点である。
【００５１】
具体的には、本発明は、差分算出手段１１が画像データ全体を走査して隣接している画素の差分を算出し、この差分が−１２８から＋１２７（１０進数表示）の間にある場合には差分管理手段１３が８ビット（Ｍビット）の配列である第１の配列１００に保存する点が主な特徴点である。
このため、すべての画素の差分が８ビットで表現できるもの仮定すると、圧縮データ量は元の画像データ量の約半分になる。また画像全体を走査する回数が１回だけでよいため、高圧縮率で高速に圧縮できる点で有効である。
なお差分の範囲は−１２８から＋１２７に限らず、−１２７から＋１２８等、８ビットの範囲を１０進数で表現可能な範囲であればどのようなものでもよい。
【００５２】
一方、１６ビットの画像データにおいて隣接する画素値同士の差分は、−６５５３５から＋６５５３５（１０進数表示）の範囲になる可能性があり、１７ビット以上を用いないと表現できない場合もある。
これに対して、本発明のデータ圧縮装置では、差分ｙ（ｉ）−ｙ（ｉ―１）が８ビット（Ｍビット）により表せない範囲になった場合（このような場合を以下、オーバーフローという）は、差分管理手段１３が第１の配列１００に０を格納するとともに画素値ｙ（ｉ）を１６ビット配列（Ｎビット配列）である第２の配列２００に格納し、オーバーフローが生じた画素の（座標の）位置ｉを示す位置情報を画素値ｙ（ｉ）と関連付けて第３の配列３００に格納して記憶手段１２に記憶する点も主な特徴点である。
【００５３】
このため、画素の差分が８ビットで表現できるときは第１の配列１００に格納し、８ビットで表現できないときは第２の配列２００に画素値ｙ（ｉ）を格納するとともに位置情報ｉを第３の配列３００に記憶することにより、高圧縮率で圧縮できる点で有効である。また画像全体を走査する回数が１回だけでよいため、高圧縮率で高速に圧縮できる点で有効である。
【００５４】
なお、差分管理手段１３は、オーバーフローが頻発して第２の配列２００の画素値、第３の配列３００の位置情報の各データ量が増えてしまうというペナルティが増え、圧縮処理によるデータ量が元のデータ量を上回る場合には、圧縮を行わずに元のデータを利用（転送）する。
【００５５】
すなわち、本発明のデータ圧縮装置は、１６ビットの画像（配列）データを、（１）隣接画素との差を表す８ビットの第１の配列１００、（２）オーバーフローの座標位置を表す第２の配列２００、（３）オーバーフローが生じた位置の画素値を表す第３の配列３００の３種類のデータに変換し、これらを関連付けて保存して圧縮データを生成する点で特徴的である。このため、本発明のデータ圧縮装置は、高圧縮率で高速に圧縮できる。
【００５６】
（主な構成要素の配置・接続関係の説明）
差分算出手段１１は、記憶手段１２と接続され、記憶手段１２から画像データを読み出し、画像データ全体を走査して隣接している画素の差分を算出する（差分を記憶手段１２に記憶するものでもよい）。
また、差分管理手段１３は、差分算出手段１１および記憶手段１２と接続され差分算出手段１１により得られた差分を記憶手段１２の８ビット（Ｍビット）の第１の配列１００に格納し、オーバーフローが生じたときは第１の配列１００に０を格納するとともに、オーバーフロー発生時における画素の画素値を１６ビット（Ｎビット）の第２の配列２００に格納し（座標）位置情報を第３の配列３００に格納して記憶手段１２に記憶する。
【００５７】
加算手段１５は、記憶手段１２と接続され、記憶手段１２から圧縮データを読み出して予め定められた位置の画素における１画素分の画素値に、第１の配列１００に格納されている隣接する画素の画素値との差分を加算し、１６ビット（Ｎビット）配列である第３の配列３００を生成して圧縮データを復元して復元データを記憶手段１２に記憶される。
【００５８】
オーバーヘッド復元手段１６は、記憶手段１２と接続され、記憶手段１２から第２の配列２００に格納された画素値と第３の配列３００から当該画素値の位置情報を読み出してこの画素値と関連付けられている位置情報に示された画像データの位置に相当する第４の配列４００の位置に挿入する。
【００５９】
（本発明の動作）
このような構成で本発明は、次の動作を行なう。図２は、図１のデータ圧縮装置が１枚の画像に係るデータ圧縮の動作フロー図である。
図２のステップＳＰ１０１において、差分算出手段１１は、記憶手段１２から画像データを読み出して、予め定められたｉ番目の画素値であるｙ（ｉ）を１６ビット（Ｎビット）で記録する。たとえば差分算出手段１１は、読み出した最初（０番目）の画素の値、ｙ（０）を１６ビットで記録する（第２、第３の配列に格納する）。
【００６０】
以下ステップＳＰ１０２〜１０５は画像データの全画素の値についての差分（ｙ（ｉ＋１）―ｙ（ｉ））を算出し記憶するまで繰り返し行う（ｉが０〜ｎまでの値とすればｎ＋１回繰り返し行う）。
【００６１】
ステップＳＰ１０２において、差分算出手段１１は、直前のステップ（ＳＰ１０１、ＳＰ１０３、ＳＰ１０４）の動作で読み込んだ画素値（ｙ（ｉ））と隣接する画素の値（ｙ（ｉ＋１））との差（ｙ（ｉ＋１）―ｙ（ｉ））を算出する。
たとえばステップＳＰ１０１の後の動作にあっては、差分算出手段１１は、０番目の画素値（ｙ（０））、と隣接する１番目の画素の値（ｙ（１））との差（ｙ（１）―ｙ（０））を算出する。
【００６２】
ステップＳＰ１０３において、差分管理手段１３は、差分算出手段１１で得られた差分が予め定められた１６ビット（Ｎビット）未満である８ビット（Ｍビット）により表現可能であるか否か（オーバーフローが生じたか否か）を判定する。
本発明のデータ圧縮装置は、８ビットにより表現可能であるときは、ステップＳＰ１０５に移行する。また８ビットにより表現可能ではないときは、ステップＳＰ１０６に移行する。
【００６３】
ステップＳＰ１０４において、差分管理手段１３は、当該差分を８ビット配列（Ｍビット配列）である第１の配列１００に格納し記憶手段１２に記憶する。
なお差分算出手段１１は画像データにおいて、次の画素があるときは記憶手段１２から当該画素値を読み込む。
【００６４】
ステップＳＰ１０５において、差分管理手段１３は、第１の配列１００に０を格納するとともに当該画素値を１６ビット配列（Ｎビット配列）である第２の配列２００に格納して記憶手段１２に記憶し、さらに当該画素値が算出された画素の位置（ｉ）を示す位置情報を当該差分と関連付けて第３の配列３００に格納して記憶手段１２に記憶する。
なお差分算出手段１１は画像データにおいて、次の画素があるときは記憶手段１２から当該画素値を読み込む。
【００６５】
本発明のデータ圧縮装置は、ｉをインクリメントしてステップＳＰ１０２に移行し、画像データの全画素の値についての差分を算出し記憶するまで引き続き、ステップＳＰ１０２〜ＳＰ１０５の動作について実行する。全画素の値についての差分を算出した後はステップＳＰ１０６に移行する。
【００６６】
なお、ステップＳＰ１０２〜ＳＰ１０５の動作において、圧縮手段１４は、圧縮の試みによって、記憶手段１２に記憶されている予め定められた位置の画素における１画素分の画素値、第１の配列１００、第２の配列２００および第３の配列３００のデータ量が元の容量を上回る場合、圧縮を中止する。
【００６７】
ステップＳＰ１０６において、圧縮手段１４は、記憶手段１２に記憶される予め定められた位置の画素における１画素分の画素値、第１の配列１００、第２の配列２００および第３の配列３００をそれぞれ関連付けた圧縮データを生成し、記憶手段１５に記憶する。
【００６８】
ステップＳＰ１０７において、演算制御部１７は、通信手段を制御して、記憶手段１２に記憶されている圧縮データを転送する。
なお、演算制御部１７は、圧縮手段１４がステップＳＰ１０２〜１０５の間に圧縮を中止した場合には、通信手段を制御して画像データをそのまま転送する。
【００６９】
この結果、本発明のデータ圧縮装置は、画像データを構成する画素値のうち予め定められた位置の画素における１画素分の画素値を記憶する記憶手段と、画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、画素値の差分を記憶手段に記憶する差分管理手段と、記憶手段に記憶される予め定められた位置の画素における１画素分の画素値および画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことにより、高圧縮率で高速に圧縮できる点で有効である。
また、本発明のデータ圧縮装置は、上述の構成とすることにより圧縮においても伸張においても、画像全体を走査する回数が１回だけで良く、用いる演算が加算と減算、大小比較のみであるため、極めて高速な処理できる点で有効である。
【００７０】
なお、本発明のデータ圧縮装置は、差分管理手段１３がオーバーフローが生じたときに当該画素の位置を記憶手段１４に記憶すると説明したが、例えば、上記オーバーフローの座標位置を表す配列を保持する方法として、（Ａ）可変長の配列（リスト）を利用する方法、（Ｂ）画像全体と同じ長さのブール型（１ビットの真偽値）の固定長配列を利用する方法（以下、この方法をDiffCompress2という）を用いるものでもよい。
【００７１】
具体的には、差分管理手段１３が（Ａ）の方法を用いる場合、１００万画素以上の座標位置を記録するにはｉは８ビットや１６ビットでは表現できないので、可変長の配列を利用して、例えば３２ビット配列に位置情報を格納するものでもよい（以下この方法を、DiffCompress1という）。
また、差分管理手段１３が（Ｂ）の方法を用いる場合、オーバーフローが生じたか否かを１ビットのtrue / falseで表現することにより、位置情報のデータ量が小さくなりペナルティは小さくなる。
【００７２】
さらに、差分管理手段１３は、（Ａ）の方法の変形として、オーバーフローが生じた座標位置を３２ビット等で表した後、第３の配列３００について、隣接する座標の差を評価し、画素値の列に対して差分演算を行ったものと同一のアルゴリズムを適用して１６ビットへ圧縮する（以下この方法を、DiffCompress4という）ものでもよく、または８ビットへ圧縮する（以下この方法を、DiffCompress5という）ものでもよい。
これにより、DiffCompress1では３２ビットであった配列（座標位置配列）の大部分を１６ビットや８ビットで表現可能になり、圧縮率を向上することができる。
【００７３】
また、本発明のデータ圧縮装置は、上述までの説明では、隣接画素との差分を表す８ビットの配列は固定長で、その長さは被圧縮画像の画素数と同一であるものとして説明しているが、これに限定するものではなく、差分を表す配列を可変長とするものでもよい。
たとえばオーバーフローが生じたときには、可変長の配列の２バイト分（８ビット×２）を利用して、オーバーフローが生じた位置の画素値を保存しても良い（以下この方法を、DiffCompress3という）。
【００７４】
また、本発明のデータ圧縮装置は、上述までの説明ではDiffCompress4、5を除き、（１）差分を取ったデータ、（２）オーバーフローの座標位置データ、（３）オーバーフローの位置の画素値データ、まで演算した段階で圧縮を打ち切っているが、これらの３種類の配列を個別に異なる方法で圧縮するものでもよい。
【００７５】
また、本発明のデータ圧縮装置の圧縮装置は、上述までの説明では、圧縮データ量が元の容量を上回る場合、圧縮を中止して元のデータをそのまま転送するものと説明したが、単に圧縮を中断するのでなく、他の圧縮方法に切替えるものでもよいし、短縮係数（や同様の係数）計算し、これらの性能指標の観点で圧縮方法を切替えるものであってもよい。
【００７６】
（効果の具体的な説明）
本発明の効果を明らかにするための以下の性能指標を用いて説明する。
ここで、圧縮前のデータ容量がＤ[ＭＢｙｔｅ]の画像を圧縮した結果、容量がα・Ｄ[ＭＢｙｔｅ] になったとし、αを圧縮率と呼ぶ。
また、画像が保存されている領域から演算領域まで０、１、…、ｎの構成要素を経由して伸張領域（例えばＣＰＵ）まで転送が行われるものとし、個々の構成要素の転送率（転送速度）を、ｒｉ[ＭＢｙｔｅ／ｓ]とする。
また、転送後の伸張に要する時間を伸張時間と呼び、ｔＩ[ｓ]とする。
【００７７】
一般に、αが小さいほど転送に必要なデータ量が少なくなるため、転送に要する時間は削減される。しかし、伸張に要する時間ｔＩが長いと、圧縮を行わずに元のデータを転送するほうが有利な場合もあり得る。
【００７８】
既に圧縮されて保存されたデータを読出して利用する場合、伸張時間がどの程度であれば圧縮を行っていた方が有利かを示す不等式は式（１）のように表される。
【００７９】
2011239064.tif 000003
【００８０】
特に、転送の要素としてハードディスク等のストレージからの読出しの転送率ｒＤと、ネットワークの転送率ｒＮの２成分を考慮する場合、以下の式（２）を満たせば、圧縮していた方が短時間で画像データを利用できることになる。
【００８１】
2011239064.tif 000004
【００８２】
そこで、ある圧縮伸張のアルゴリズムに対して、圧縮率と伸張時間を測定し、Ｓ=ｔＩ／ｔＣを短縮係数と呼ぶことにする。短縮係数が１を下回るアルゴリズムであれば、圧縮を行う意味があり、１を上回るアルゴリズムであれば、圧縮は行わずに元のデータをそのまま転送するほうが高速であることを意味する。
【００８３】
図３は本発明のアルゴリズムの実装例と公知のアルゴリズムの実装例との圧縮結果の説明図であり、（Ａ）は圧縮対象である画像の一例、（Ｂ）は圧縮効果を説明する表である。
【００８４】
図３（Ｂ）において、本発明のデータ圧縮装置が用いるアルゴリズムと、公知のアルゴリズムを利用した場合の、（Ａ）の画像に対する圧縮率、伸張時間、短縮係数を示す。
本アルゴリズムは、データ保持法等で異なる５種類の変形版の実装の結果をDiffCompress1〜DiffCompress5として示す。
なお、（Ｂ）ではｒＤ＝４０ＭＢ／ｓ、ｒＮ＝１２５ＭＢ／ｓ、Ｄ＝２ＭＢの場合の結果を示している。
【００８５】
（Ｂ）に示すように、本発明では、DiffCompress1の方法で圧縮する場合は、圧縮率αが０．７００、伸張時間１１ｍｓ、短縮係数０．５５５である。
DiffCompress2の方法で圧縮する場合は、圧縮率αが０．６２９、伸張時間１７ｍｓ、短縮係数０．６９４である。
DiffCompress3の方法で圧縮する場合は、圧縮率αが０．５９５、伸張時間１４ｍｓ、短縮係数０．５２３である。
DiffCompress4の方法で圧縮する場合は、圧縮率αが０．６３３、伸張時間１０ｍｓ、短縮係数０．４１２である。
DiffCompress5の方法で圧縮する場合は、圧縮率αが０．６０５、伸張時間１０ｍｓ、短縮係数０．３８３である。
【００８６】
なお、計測には、WINDOWS（登録商標）XPのＯＳ上で、Ｃ＃言語で実装したソースコードを利用して行っている。並列化や、ＭＭＸレジスタの利用等は行っていない。
【００８７】
一方、比較に用いたアルゴリズムは、GZip、Defllate（以上２件は、Microsoft .NetFramework（登録商標）に実装されたものである。以下、GZip（.Net）、Defllate（.Net）という）、Bzip2、Gzip、Zip（以上3件は#Ziplib http://www.icsharpcode.net/OpenSource/SharpZipLib/ で実装されたものである。以下、Bzip2（#Zib）、GZip（#Zib）、Defllate（#Zib）という）であり、以下のような結果であった。
【００８８】
GZip（.Net）の方法で圧縮する場合は、圧縮率αが０．５６０、伸張時間７８ｍｓ、短縮係数２．０８である。
Defllate（.Net）の方法で圧縮する場合は、圧縮率αが０．５６０、伸張時間６８ｍｓ、短縮係数１．８１である。
Bzip2（#Zib）の方法で圧縮する場合は、圧縮率αが０．４３４、伸張時間４３６ｍｓ、短縮係数１４．９である。
GZip（#Zib）の方法で圧縮する場合は、圧縮率αが０．４８１、伸張時間１３４ｍｓ、短縮係数４．２１である。
Defllate（#Zib）の方法で圧縮する場合は、圧縮率αが０．４８１、伸張時間１１１ｍｓ、短縮係数３．４９である。
【００８９】
これらのように、本発明のデータ圧縮装置が用いるアルゴリズムは、一般にαが大きく、圧縮率の観点では必ずしも優れている訳では無いともいえる。
しかしながら、圧縮や伸張に要する時間が著しく短いため、上述のように定義した短縮係数の指標の観点では、公知のアルゴリズムを大幅に上回る結果が得られている。
【００９０】
つまり、本発明のデータ圧縮装置は、１６ビットを８ビットへ圧縮する場合、理論的に容量はせいぜい半分までしか圧縮されないが、一方で、図３（Ｂ）に示したように、画像の走査回数や演算の単純さに起因する高速性により、公知のアルゴリズムと比較して少なくとも６倍以上高速な伸張速度が実現できることがわかる。すなわち、本発明であれば従来のアルゴリズムよりも画像データを高速に圧縮できる点で有効である。
【００９１】
また、公知のアルゴリズムをそのまま適用しても、短縮係数が１を超えている（伸張が低速であるために圧縮して転送することの実効的な利点が無い）のに対して、本発明のデータ圧縮装置のアルゴリズムを適用すれば、短縮係数が１を大きく下回り、圧縮しない場合の画像データと比較して少ない実効時間で画像データを利用可能である。
【００９２】
＜第２の実施例＞
なお、本発明のデータ圧縮装置は、差分管理手段１３が、差分算出手段１１で得られた差分が予め定められた１６ビット（Ｎビット）未満である８ビット（Ｍビット）により表現可能であるか否か（いいかえれば−１２８から＋１２７（１０進数表示）の範囲にあるか否か）を判定すると説明したが、特にこれに限定するものではなく、１６ビットや８ビット等の数は異なる数値であってもよい。
また、負側（−１２８）と正側（＋１２７）をほぼ固定的に均等に割振ったが、８ビットで表せる範囲であれば、例えば−６４から＋１９１等、可変にしてもよい。
この場合には、差分管理手段１３が、既に読込んだ画素値ｙ（ｉ）から該当位置の近傍での画素値の変化率Δｙ（ｉ）／Δｉ等を計算して今後の変化率を予測し、それに応じて正側と負側のどちら側により多くの情報を割当てるかを変えるものであってもよい。
【００９３】
＜第３の実施例＞
第１〜第２の実施例のデータ圧縮装置では、２次元画像を（行と列の数を別途記録して）１列の配列として取扱うものとしている。つまり、画素を走査する順番は、例えば（０、０）、（０、１）、（０、２）、・・・、等の位置座標で１行（または１列）を走査してから次の行（または列）へ移動することが仮定されているが、走査の方法を変えて、より高い圧縮率を実現するものでもよい。
【００９４】
ここで、画像データは、測定のために撮影された画像などがある。たとえば、画像データは、「顕微鏡の細胞画像」や「望遠鏡による天体画像」がある。
具体的には（薬剤を投与した）細胞の試料に励起光を照射し、細胞からの蛍光信号に基づき画像処理して創薬スクリーニングを行うための細胞を複数の種類の波長帯域で撮影して得られた画像データが例（図３の画像例）としてあげられる。
【００９５】
このような画像データでは、画像の視野のうち何らかの測定対象が写っている領域では、グレースケールの濃淡が淡く表されるため画素値が高く、下位８ビットと上位８ビットをともに用いないと表せない。一方、画像の視野のうちグレースケールの濃淡が濃く表される背景の領域では下位８ビットで表現できる。
【００９６】
また、下位８ビットデータでは、背景のノイズ（撮像素子に起因する読出しノイズやダークカレント等）や信号のノイズのランダムな性質を表現するので、規則性に乏しく圧縮が困難であることが多い。一方、上位８ビットデータは、明るい信号の（グレースケールの濃淡が淡い）領域であって、特にそれが画面中に占める比率が比較的小さい場合にはデータの規則性が高い。
【００９７】
このことから、例えば、細胞のような対象が写った画像では、対象の信号は塊になっているため、行ごとに走査するよりも、塊より一回り小さいブロック（例えば、１６×１６、３２×３２、・・・画素の正方形など）を単位として走査すると、信号が存在する領域が連続して現れやすくなることがわかる。つまり上位ビット側の規則性が高まり、圧縮率を向上できる可能性がある。
【００９８】
これらのことに鑑み、本発明のデータ圧縮装置では、第１〜第２の実施例の差分算出手段１１、差分管理手段１３の機能に加えて、差分算出手段１１が、画像データを複数の画素のまとまりからなるブロックであって測定対象の一単位が占める範囲よりも小さいブロックごとに複数分割し、これらのブロックごとに、ブロック内の画素値について、隣接する画素値との差分を算出するものでもよい。
【００９９】
具体的には、本実施例のデータ圧縮装置の差分算出手段１１は、画像データを複数の画素のまとまりからなるブロックであって測定対象の一単位が占める範囲よりも小さいブロックごとに複数分割し、これらのブロックごとに、２次元画像を（行と列の数を別途記録して）１列の配列として取扱って、隣接する画素値との差分を算出する。
【０１００】
また、本実施例のデータ圧縮装置の差分管理手段１３は、予め定められた複数のブロックごとに、差分算出手段１１で得られた差分が予め定められた１６ビット（Ｎビット）未満である８ビット（Ｍビット）により表現可能であるか否か（オーバーフローが生じたか否か）を判定するものでもよい。
【０１０１】
具体的には、差分管理手段１３は、差分が８ビットにより表現可能であるときは、当該差分を当該ブロックごとに８ビット配列（Ｍビット配列）である第１の配列１００に格納し記憶手段１２に記憶する。
また、差分管理手段１３は、差分が８ビットにより表現可能ではないときは、当該ブロックごとに、第１の配列１００に０を格納するとともに当該画素値を１６ビット配列（Ｎビット配列）である第２の配列２００に格納して記憶手段１２に記憶し、さらに当該差分が算出された画素の位置（ｉ）を示す位置情報を当該画素値と関連付けて第３の配列３００に格納して記憶手段１２に記憶する。
【０１０２】
この結果、差分算出手段１１が画像データを複数の画素のまとまりからなるブロックであって測定対象の一単位が占める範囲よりも小さい「ブロック」ごとに複数分割し、これらのブロックごとに、前記ブロック内の画素値について、隣接する画素値との差分を算出し、差分管理手段１３が、ブロックごとにオーバーフローが生じたか否かを判定して第１の配列または第２、第３の配列に差分または画素値、位置情報を記憶することにより、高圧縮率で高速に圧縮できる点で有効である。
【０１０３】
また、本実施例のデータ圧縮装置は、細胞の画像であれば、ブロックのサイズが撮影倍率等に応じて最適な値になるよう可変としても良い。
【０１０４】
＜第４の実施例＞
なお、上述の実施例では本発明のデータ圧縮装置１が加算手段１５、オーバーヘッド復元手段１６を有するものとして説明しているが、特にこれに限定するものではなく、復元化の機能を備えたデータ復元装置が、データ圧縮装置１により圧縮されたデータを復元するものでもよい。
【０１０５】
図４は、本発明のデータ復元装置の一実施例の構成説明図である。
図４において、データ復元装置２は、主に、記憶手段２１と加算手段２２、オーバーヘッド復元手段２３と、各手段の動作を制御するＣＰＵ等の演算制御部２４、外部の機器（たとえばデータ圧縮装置１）と接続線、ネットワークなどを介して電気的に接続される通信手段２５を備える。
【０１０６】
記憶手段２１は、ネットワーク等を介してデータ圧縮装置１から受信した、圧縮データを記憶する。
【０１０７】
加算手段２２は、記憶手段２１に記憶される圧縮データのうち第１の配列１００に基づいて、予め定められた位置（たとえば、０番目）の画素における１画素分の画素値（たとえば、ｙ（０））に、この画素に隣接する画素（たとえば、１番目の画素）の画素値との差分（たとえば、ｙ（１）―ｙ（０））を加算して当該画素の画素値（たとえば、ｙ（１））を算出する。
さらに加算手段２２は、加算の結果得られた画素値に、この画素に隣接する画素の画素値との差分を加算して１６ビット配列（Ｎビット配列）である第４の配列４００を生成する。加算手段２２は、この加算処理を全画素の画素値を復元するまで順次実行する。いいかえれば、加算手段２２は、第１の配列１００に基づき圧縮データを復元（伸張）する。
【０１０８】
オーバーヘッド復元手段２３は、第２の配列２００および第２の配列２００に格納された画素値と関連付けて第３の配列３００に格納されている位置情報に基づき、第２の配列２００に格納された画素値を、第３の配列３００に格納されている位置情報に示された画像データの位置に相当する第４の配列４００の位置に挿入する。
すなわち、オーバーヘッド復元手段２３は、圧縮時にオーバーヘッドが発生した位置での画素の画素値を第２の配列２００から取り出し位置情報に基づき第４の配列に挿入し、復元（伸張）画像を復元する。
【０１０９】
なお、オーバーヘッド復元手段２３は、データ圧縮装置１が上述第１の実施例で示した（Ｂ）の方法を用いて圧縮した場合では、オーバーフローの位置が記憶手段２１に記録されている場合には、走査を行いながらその画素がオーバーフロー位置に該当するか確認し、オーバーフロー位置であれば、オーバーフローした位置での画素値を記憶手段２１から取出して復元（伸張、解凍）画像が記憶される第４の配列４００へ記録するものでもよい。
【０１１０】
図５は、本発明のデータ復元装置が圧縮データを復元（伸張、解凍）する際の動作フロー図である。
図５のステップＳＰ２０１において、加算手段２２は、記憶手段２１から圧縮データおよび予め定められた位置（たとえば、０番目）の画素における１画素分の画素値（たとえば、ｙ（０））を読み込む。
【０１１１】
ステップＳＰ２０２において、加算手段２２は、予め定められた位置の画素における１画素分の画素値（たとえば、ｙ（ｉ））を第４の配列４００に格納して記憶手段２１に記憶する。
たとえば予め定められた位置の画素が０番目の画素であるときはｙ（０）の画素値を記憶手段２１に記憶することになる。
【０１１２】
ステップＳＰ２０３において、加算手段２２は、直前のステップ（ＳＰ２０２、ＳＰ２０３、ＳＰ２０４）の動作で第４の配列４００に格納された画素（ｙ（ｉ））と隣接する画素（たとえば、ｙ（ｉ＋１））との差分を保存してある第１の配列１００から値を取出し加算する。
たとえばステップＳＰ２０２からの移行後のときは、加算手段２２は０番目の画素ｙ（０）に第１の配列４００に記憶されているｙ（０）とｙ（１）との差分を加算する。
【０１１３】
ステップＳＰ２０４において、オーバーヘッド復元手段２３は、第４の配列４００に格納した画素（たとえばｙ（ｉ））と隣接する画素（たとえば、ｙ（ｉ＋１））との差分が８ビットで表現可能なものであったか否か（オーバーヘッドが生じていたか否か）を判定する。
オーバーヘッドが生じていた場合は、ステップＳＰ２０５に移行する。
オーバーヘッドが生じていなかった場合は、ステップＳＰ２０６に移行する。
【０１１４】
ステップＳＰ２０５において、オーバーヘッド復元手段２３は、記憶手段２１の第２の配列２００および第３の配列３００に基づき、第２の配列２００に格納された画素値（たとえばｙ（ｉ＋１））と関連付けて第３の配列３００に格納されている位置（たとえば、ｉ＋１番目）に相当する第４の配列４００の位置に当該第２の配列２００の画素値を挿入し格納する。
【０１１５】
本発明のデータ復元装置は、これらのステップＳＰ２０３〜ＳＰ２０５の動作について、加算処理を全画素の画素値を復元するまで引き続き、ｉをインクリメントしてステップＳＰ２０３に移行する（ｉが０〜ｎまでの値とすればｎ＋１回繰り返し行う）。全画素の画素値を復元できるとステップＳＰ２０６に移行する。
【０１１６】
ステップＳＰ２０６において、データ復元装置２の演算制御部２４は、第４の配列４００に基づき、たとえば１次元配列から２次元の画像データを復元して記憶手段２１に記憶する。
【０１１７】
この結果、本発明のデータ復元装置は、第１の配列１００に基づいて、予め定められた位置の画素における１画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、順次加算の結果得られた画素値にこの画素に隣接する画素の画素値との差分を加算してＮビット配列である第３の配列を生成する加算手段と、第２の配列に格納された画素値を、この画素値と関連付けられて第３の配列に格納されている位置情報に示された画像データの位置に相当する第４の配列の位置に挿入するオーバーヘッド復元手段を、備えることにより、高速に高圧縮率で圧縮されたデータを高速に復元することができる点で有効である。また画像全体を走査する回数が１回だけで良く、用いる演算が加算と減算、大小比較のみであるため、極めて高速な処理できる点で有効である。
【０１１８】
＜第５の実施例＞
なお、本発明のデータ圧縮装置１は、画像解析を行う画像解析システムに用いられるものでもよい。図６は図１のデータ圧縮装置１を用いた画像解析システムの一実施例を示す構成説明図であり、図１と共通する部分には同一の符号を付けて適宜説明を省略する。
【０１１９】
図６において、画像解析システム５０は、たとえば薬剤を投与した細胞の試料に励起光を照射し、この細胞からの蛍光信号に基づき画像処理して創薬スクリーニングを行うために、細胞を複数の種類の波長帯域で撮影し、撮影により得られた画像データを送信するカメラシステム５１と、汎用コンピュータなどから構成されカメラシステム５１から画像データを取得し、取得したデータを圧縮し、圧縮データを送信する画像取得システム５２と、画像取得システム５２からの圧縮データを転送するスイッチ等のネットワーク機器５３と、ネットワーク機器５３を介して取得した圧縮データを記憶するストレージシステム５４と、圧縮データをストレージシステム５４から取得し復元化して画像解析を行う画像解析システム５５などから構成される。
【０１２０】
この場合、画像取得システム５２は上述の差分算出手段１１、記憶手段１２、差分管理手段１３、圧縮手段１４、演算制御部１７、通信手段１８等を備え、圧縮データをストレージシステム５４に送信する。
【０１２１】
または、カメラシステムが本発明のデータ圧縮装置１が上述の構成で提供するデータ圧縮方法を実行するものでもよい。この場合、カメラシステムは上述の差分算出手段１１、記憶手段１２、差分管理手段１３、圧縮手段１４、演算制御部１７、通信手段１８等を備え、圧縮データを画像取得システム５２に送信するものでもよい。
【０１２２】
＜その他の実施例＞
本発明のデータ圧縮装置は、上述の各実施例では１６ビットとして保存した画像に対する演算として説明したが、画像を取得するカメラに近い領域（カメラ内のＤＳＰやＦＰＧＡ、ＣＰＵ）、カメラ取込みボード上のハードウェア（ＤＳＰ、ＦＰＧＡ、ＣＰＵ）上に圧縮機能を実装し、カメラから出力される段階で圧縮された形式で出力しても良い。
【付記項７】
【０１２３】
前記Ｍビットは、Ｎ／２ビットであること、または、Ｍビットは０ビットよりもおおきくＮビットよりも小さいビット（０＜Ｍ＜Ｎ）であることを特徴とする請求項２〜４のいずれかに記載のデータ圧縮装置。
【符号の説明】
【０１２４】
１  データ圧縮装置
１１  差分算出手段
１２  記憶手段
１３  差分管理手段
１４  圧縮手段
１５  加算手段
１６  オーバーヘッド復元手段
１７  演算制御部
１００  第１の配列
２００  第２の配列
３００  第３の配列
４００  第４の配列
【図１】
2011239064.tif 000005
【図２】
2011239064.tif 000006
【図４】
2011239064.tif 000007
【図５】
2011239064.tif 000008
【図３】
2011239064.tif 000009
【図６】
2011239064.tif 000010