JP2011239064A - データ圧縮装置およびデータ復元装置 - Google Patents

データ圧縮装置およびデータ復元装置 Download PDF

Info

Publication number
JP2011239064A
JP2011239064A JP2010107128A JP2010107128A JP2011239064A JP 2011239064 A JP2011239064 A JP 2011239064A JP 2010107128 A JP2010107128 A JP 2010107128A JP 2010107128 A JP2010107128 A JP 2010107128A JP 2011239064 A JP2011239064 A JP 2011239064A
Authority
JP
Japan
Prior art keywords
pixel
data
array
difference
pixel value
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.)
Pending
Application number
JP2010107128A
Other languages
English (en)
Inventor
Kenichi Yoshida
研一 吉田
Yukihiro Ina
幸広 伊奈
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2010107128A priority Critical patent/JP2011239064A/ja
Publication of JP2011239064A publication Critical patent/JP2011239064A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】高速に圧縮を行うことができるデータ圧縮装置およびこの圧縮データを高速に復元できるデータ復元装置を実現すること。
【解決手段】 予め定められたN(Nは自然数)ビット数で表される数値である1画素分の画素値の連続からなる画像データに可逆圧縮処理を施すデータ圧縮装置において、前記画像データを構成する画素値のうち予め定められた位置の画素における1画素分の画素値を記憶する記憶手段と、前記画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、前記画素値の差分を前記記憶手段に記憶する差分管理手段と、前記記憶手段に記憶される予め定められた位置の画素における1画素分の画素値および前記画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことを特徴とするデータ圧縮装置。
【選択図】図1

Description

本発明は、予め定められたN(Nは自然数)ビット数で表される数値である1画素分の画素値の連続からなる画像データに可逆圧縮処理を施すデータ圧縮装置およびこのデータ圧縮装置により生成される圧縮データを復元するデータ復元装置に関し、特に、高速圧縮、高速復元に関するものである。
従来、記憶容量の低減化や通信量の低減化等のために、画像データ等のデータを圧縮する技術が広く採用されており、これらの技術を用いたデータ圧縮装置が実現されている。
ここで、画像データを圧縮する目的は、主に次の(1)、(2)がある。なお、以下の回線とは、ネットワークやストレージからの入出力全般を意味する。
(1)データを圧縮して、限られたストレージ(ハードディスク等)に多量のデータを保存する目的
(2)データを圧縮して、限られた回線速度において、より高速に転送する目的
ここで(1)、(2)の目的について検討する。
(1)の目的の場合、特に長期保管のためのデータバックアップであれば、多少演算時間がかかっても圧縮率が優れたアルゴリズムを採用することが利にかなっている。
(2)の目的の場合、WWW(World Wide Web)ページの閲覧や画像データの解析等、転送直後にデータを利用するような場合には、多少圧縮率が優れていなくても伸張時間が短いほうが有利な場合がある。
つまり、データ圧縮の技術には、圧縮率、圧縮時間、伸張時間という3つの性能指標が存在し、目的に応じた使い分けがあり得ることがいえる。
従来のデータ圧縮装置が用いる画像圧縮の技術には、静止画の非可逆圧縮方式であるJPEG(Joint Photographic Experts Group)や、動画の非可逆圧縮方式であるMPEG(Moving Picture Experts Group)がある。
また、従来のデータ圧縮装置は、汎用データ可逆圧縮アルゴリズムであるLZW、ZIP、Deflate、Bzip2等のアルゴリズムを画像データに適用することも広く行われている。
このようなデータ圧縮装置およびデータ復元装置に関連する先行技術文献として下記の特許文献1(特開2006−279207号公報)がある。
特許文献1に開示されている従来のデータ圧縮装置は、画像データを構成する画素の隣接画素との2次元的差分の算出を行い、それらをビットシフトして上位ビットと下位ビットへ分解し、各々に対してハフマン符号化を含む最適なアルゴリズムで可逆圧縮するものである。具体的には以下の(1)〜(6)の動作を行なう(特に図示はしない)。
(1)従来のデータ圧縮装置の演算制御手段(図示せず)は、画像データを構成する数値(画素値)の連続について、画像上で見てその画素値に複数方向それぞれに隣接する複数の数値に基づいた2次元的な差分を求め、その差分を表わす8ビットの数値の連続からなる画像データを生成する。
(2)演算制御手段は、差分を表わす数値の連続からなる画像データを、所定値だけオフセットする。
(3)演算制御手段は、その後、画像データ中の8ビットの各数値を下位4ビットと上位4ビットとに分割する。つまり画像データは、下位4ビットの数値の連続からなる下位データと上位4ビットの数値の連続からなる上位データに分割される。
(4)上位データに対しては、ランレングス・ハフマン符号化処理を以下のように行う。
(4−1)演算制御手段は、上位データの中から1つもしくは複数の符号化処理を行なう数値(圧縮対象数値)の存在及び同一の圧縮対象数値の連続数を検出する。
(4−2)その検出結果を受けて、演算制御手段は、上位データ中、圧縮対象数値を除く数値についてはそのままにし、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化するという符号化処理を行う。この符号化処理にあたっては、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化を行う。
具体的には、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を1単位ビット数で表現し、その連続数が所定数を越えるときは2単位ビット数で表現する符号化を行う。
(4−3)演算制御手段は、符号化された後のデータの全てをスキャニングして、そのデータ中に出現する全ての数値の出現頻度(ヒストグラム)を求める。この出現頻度を求める処理は、各上位データにおける符号化された後のデータ中の数値の出現頻度が求められる。
(4−4)演算制御手段は、求められたヒストグラム(数値の出現頻度)に基づき、ハフマンテーブルに、出現頻度の高い数値ほど符号長の短い符号をハフマンテーブルに割り当てる。ハフマンテーブルは、数値と符号とを対応づける固定的なテーブルであり、符号化に用いられる。
(4−5)演算制御手段は、数値に符号が割り当てられてなるハフマンテーブルに従って、そのハフマンテーブルに従う符号、すなわち、出現頻度の高い数値ほど短いビット長で表わされる符号に置き換える(符号化する)。
(5)演算制御手段は、ハフマン符号化された後のデータを、割り当てられた数値と符号との割当テーブルを含む圧縮情報が添付され、上位データが圧縮された上位圧縮データとして出力する。
(6)一方、下位データを構成する数値に対しては、演算制御手段は、ハフマンテーブルに基づき、そのハフマンテーブルに従う符号に置き換えるハフマン符号化(エントロピー符号化)処理を行う。
この結果、従来のデータ圧縮装置は、画像データが分割された下位データおよび上位データに、ハフマン符号化およびランレングス・ハフマン符号化をして2次元差分符号化処理を行うことにより、それぞれ下位圧縮データと上位圧縮データの組からなる可逆圧縮データを生成できる。
特開2006−279207号公報
しかしながら、従来のデータ圧縮装置では、画像の各画素値の走査を、「隣接画素の差分の算出時((1)の動作)」、「出現頻度ヒストグラム生成時((4−3)の動作)」、「ハフマン符号化圧縮時((4−5)の動作等)」の少なくとも3回行う必要があるので、演算時間が長くなるという問題点があった。
また従来のデータ圧縮装置では、そもそもハフマン符号化は演算時間が長く圧縮時間が比較的長いという問題点があった。
また従来のデータ圧縮装置では、圧縮されたデータを伸張、復元する際にも、ハフマン符号化の伸張と2次元差分の合成が必要で演算時間が長くなるという問題点があった。
また従来のデータ圧縮装置では、圧縮されたデータを伸張、復元する場合、狭い帯域の電気通信回線を介してデータ送受信を行うときには、圧縮の効果により短時間で転送できたとしても、ハフマン符号化されたデータの伸張(復元)に加えさらに2次元差分の合成が必要なので伸張(復元)時間が長くなってしまい、伸張(復元)時間が圧縮の効果により転送時に稼いだ時間を上回ることがあるという問題があった。
本発明は、このような問題点を解決するものであり、その目的は、高速に圧縮を行うことができるデータ圧縮装置およびこの圧縮データを高速に復元できるデータ復元装置を実現することにある。
上記目的を達成するために、本発明のうち請求項1に記載の発明は、
予め定められたN(Nは自然数)ビット数で表される数値である1画素分の画素値の連続からなる画像データに可逆圧縮処理を施すデータ圧縮装置において、
前記画像データを構成する画素値のうち予め定められた位置の画素における1画素分の画素値を記憶する記憶手段と、
前記画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、
前記画素値の差分を前記記憶手段に記憶する差分管理手段と、
前記記憶手段に記憶される予め定められた位置の画素における1画素分の画素値および前記画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことを特徴とするデータ圧縮装置。
請求項2記載の発明は、請求項1に記載のデータ圧縮装置において、
前記差分管理手段は、
前記差分が予め定められた前記Nビット未満であるM(Mは自然数)ビットにより表現可能であるときは、当該差分をMビット配列である第1の配列に格納し前記記憶手段に記憶することを特徴とする。
請求項3記載の発明は、請求項2に記載のデータ圧縮装置において、
前記差分管理手段は、
前記差分が前記Mビットにより表現可能ではないときは、前記第1の配列に0を格納するとともに当該差分が算出されたいずれかの画素値をNビット配列である第2の配列に格納し前記記憶手段に記憶し、当該画素値の前記画像データにおける位置を示す位置情報を当該差分と関連付けて第3の配列に前記記憶手段に記憶することを特徴とする。
請求項4記載の発明は、請求項1〜3のいずれかに記載のデータ圧縮装置において、
前記画像データは、励起光が照射された測定対象からの蛍光信号に基づいて画像処理して創薬スクリーニングを行うための前記測定対象を撮影した画像データであり、
前記差分算出手段は、前記画像データを複数の画素のまとまりからなるブロックであって前記測定対象の一単位が占める範囲よりも小さいブロックごとに分割し、これらのブロックごとに、前記ブロック内の画素値について、隣接する画素値との差分を算出し、
前記記憶手段は、予め定められた位置の画素における1画素分の画素値、前記第1の配列および前記第2の配列をブロックごとに記憶することを特徴とする。
請求項5記載の発明は、請求項3または4に記載のデータ圧縮装置において、
前記圧縮手段は、
前記圧縮データを、前記記憶手段に記憶される、予め定められた位置の画素における1画素分の画素値、前記第1の配列、前記第2の配列および前記第3の配列のそれぞれを関連付けて生成することを特徴とする。
請求項6記載の発明は、
予め定められたN(Nは自然数)ビット数で表される数値である1画素分の画素値の連続からなる画像データに可逆圧縮処理を施す請求項1〜5のいずれかに記載のデータ圧縮装置により圧縮された圧縮データを復元するデータ復元装置において、
前記第1の配列に基づいて、前記予め定められた位置の画素における1画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、順次加算の結果得られた画素値にこの画素に隣接する画素の画素値との差分を加算してNビット配列である第4の配列を生成する加算手段と、
前記第2の配列に格納された画素値を、この画素値と関連付けられている前記位置情報に示された画像データの位置に相当する第4の配列の位置に挿入するオーバーヘッド復元手段を、備えることを特徴とするデータ復元装置。
本発明のデータ圧縮装置によれば、画像データを構成する画素値のうち予め定められた位置の画素における1画素分の画素値を記憶する記憶手段と、画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、画素値の差分を記憶手段に記憶する差分管理手段と、記憶手段に記憶される予め定められた位置の画素における1画素分の画素値および画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことにより、高圧縮率で高速に圧縮できる点で有効である。
また、本発明によれば、上述の構成とすることにより、圧縮においても伸張においても、画像全体を走査する回数が1回だけで良く、用いる演算が加算と減算、大小比較のみであるため、極めて高速な処理できる点で有効である。
また、本発明によれば、上述の構成とすることにより、画像の走査回数や演算の単純さに起因する高速性により、公知のアルゴリズムと比較して少なくとも6倍以上高速な伸張速度を実現できる。すなわち、高速に圧縮できる点で有効である。
また、本発明のデータ圧縮装置によれば、差分算出手段11が画像データを複数の画素のまとまりからなるブロックであって測定対象の一単位が占める範囲よりも小さい「ブロック」ごとに複数分割し、これらのブロックごとに、前記ブロック内の画素値について、隣接する画素値との差分を算出し、差分管理手段13が、ブロックごとにオーバーフローが生じたか否かを判定して第1の配列または第2、第3の配列に差分または画素値、位置情報を記憶することにより、画素値の規則性が高まり、高圧縮率で高速に圧縮できる点で有効である。
また、本発明のデータ復元装置によれば、第1の配列100に基づいて、予め定められた位置の画素における1画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、順次加算の結果得られた画素値にこの画素に隣接する画素の画素値との差分を加算してNビット配列である第3の配列を生成する加算手段と、第2の配列に格納された画素値を、この画素値と関連付けられて第3の配列に格納されている位置情報に示された画像データの位置に相当する第4の配列の位置に挿入するオーバーヘッド復元手段を、備えることにより、高速に高圧縮率で圧縮されたデータを高速に復元することができる点で有効である。また画像全体を走査する回数が1回だけで良く、用いる演算が加算と減算、大小比較のみであるため、極めて高速な処理できる点で有効である。
本発明のデータ圧縮装置の一実施例を示す構成説明図である。 図1のデータ圧縮装置のデータ圧縮の動作フロー図である。 本発明のアルゴリズムと公知のアルゴリズムとの圧縮結果の説明図である。 本発明のデータ復元装置の一実施例の構成説明図である。 図4のデータ復元装置のデータ復元の動作フロー図である。 図1のデータ圧縮装置1を用いた画像解析システムの一実施例を示す構成説明図である。
<第1の実施例>
(構成の概要)
以下、図面を参照して、本発明を詳細に説明する。図1は本発明のデータ圧縮装置の一実施例を示す構成説明図である。
図1において、本発明のデータ圧縮装置1は、予め定められたN(Nは自然数)ビット数で表される数値である1画素分の画素値の連続からなる画像データに可逆圧縮処理を施すものである。
以下、説明を簡単にするために、1画素分の画素値は16ビット(N=16)で表されるものとし、1色でグレースケールの画像であるものとして説明する。
なお、本発明のデータ圧縮装置は、1画素が16ビット以外のビット数で表される画素値である場合(32ビット等)や、カラー画像である場合であっても適用可能である。
本発明のデータ圧縮装置1は、主に、画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段11と、画像データを構成する画素値のうち予め定められた位置の画素における1画素分の画素値、隣接する画素値との差分が格納される第1の配列100、第1の配列100に格納できない差分が算出された画素値が格納される第2の配列200および(座標)位置情報が格納される第3の配列300を記憶する記憶手段12と、画素値の差分を第1の配列100に、オーバーヘッド(後述)が生じた画素値を第2の配列200に、オーバーヘッドが生じた画素の位置を示す位置情報を第3の配列300に格納し記憶手段12に記憶する差分管理手段13と、記憶手段12に記憶される、予め定められた位置の画素における1画素分の画素値、第1の配列100、第2の配列200および第3の配列300のそれぞれを関連付けた圧縮データを生成する圧縮手段14、を備える。
また、データ圧縮装置1は、第1の配列100に基づき、予め定められた位置の画素における1画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、加算の結果得られた画素値に順次この画素に隣接する画素の画素値との差分を加算してNビット配列である第4の配列400を生成する加算手段15と、第2の配列200に格納された画素値を、この画素値と関連付けられて第3の配列300に格納されている位置情報に示された、画像データの位置に相当する第4の配列400の位置に挿入するオーバーヘッド復元手段16を備えるものでもよい。
さらに、データ圧縮装置1は、各手段の動作を制御するCPU(Central Processing Unit)等の演算制御部17を備え、主に差分算出手段11、差分管理手段13、圧縮手段14、加算手段15、オーバーヘッド復元手段16の機能を実行する。
ここで、演算制御部17は、記憶手段12に格納されているOSなどを起動して、このOS上で格納されたプログラムを読み出し実行することにより各手段または装置全体を制御し、データ圧縮装置固有の動作を行う。
このとき記憶手段12は、演算制御部17によって実行されるプログラムやアプリケーションをプログラム格納エリアに展開し、入力されたデータや、プログラムやアプリケーションの実行時に生じる処理結果などのデータをワークエリアに一時的に記憶するものであってもよい。
また、データ圧縮装置1は、記憶手段12は、差分算出手段11、差分管理手段13、圧縮手段14、加算手段15、オーバーヘッド復元手段16と相互接続される。
なお、本発明のデータ圧縮装置1は、外部の機器と接続線、ネットワークなどを介して電気的に接続される通信手段18を有するものでもよい。
データ圧縮装置1は、圧縮手段14により生成された圧縮データを通信手段18を介して外部の機器に送信するものでもよい。
(主な構成要素の説明)
差分算出手段11は、画像データを構成する画素値について、隣接する画素値との差分を算出する。
たとえば差分算出手段11は、2次元画像データを行や列の数を別途記憶してi(iは0を含む自然数)番目の画素値をy(i)と表記できるような1次元配列に変換して、i(iは自然数)画素目の画素値とi+1画素目の画素値との差y(i)−y(i―1)を計算する。この場合、差分算出手段11がy(i)を走査すると、2次元画像データ上の(0、0)、(0、1)、(0、2)、・・・、等の位置座標で1行(または1列)を走査してから次の行(または列)へ移動するように画素を走査することになる。
差分管理手段13は、差分算出手段11で得られた差分が16ビット(Nビット)未満であるM(Mは自然数)ビット(たとえば8ビット)により表現可能であるときは、当該差分をビット配列である第1の配列100に格納し記憶手段12に記憶する。
なお以降、説明を簡単にするために、画像データの1画素が16ビットで表すことができるものとし(いいかえればNを16(N=16)とし)、MビットをN/2ビット(8ビット)として説明する。
Mビットを8ビットとする場合、8ビット(1バイト)単位で演算するため、プログラミング上、ビットシフト演算等を活用して、高速化しやすい点で有効である。
また差分管理手段13は、差分算出手段11で得られた差分が8ビット(Mビット)により表現可能ではないときは、第1の配列100に「0」を格納するとともに当該画素値を16ビット配列(Nビット配列)である第2の配列200に格納し記憶手段12に記憶し、当該差分が算出された画素の位置情報を当該画素値と関連付けて第3の配列300に格納して記憶手段12に記憶する。
記憶手段12は、外部機器から取得した画像データおよびこの画像データを構成する画素値のうち予め定められた位置の画素における1画素分の画素値を記憶する。たとえば画像データの1次元配列における先頭要素である0番目の画素値y(0)を記憶する。
また、記憶手段12は、差分算出手段11で算出された差分が格納される8ビット配列である第1の配列100を記憶するとともに、差分算出手段11で得られた差分であって8ビット(Mビット)により表現可能ではない画素値が格納される16ビット配列である第2の配列200および当該差分が算出された画素の位置情報を第3の配列300に格納して記憶する。
さらに記憶手段12は、予め定められた位置の画素における1画素分の画素値、第1の配列100、第2の配列200および第3の配列300のそれぞれを関連付けた圧縮データを記憶する
なお記憶手段12は、たとえばRAM(Random Access Memory)やROM(Read Only Memory)、ハードディスク装置などであり、主にOSやデータ圧縮装置1として動作させるためのプログラムやアプリケーション、これらプログラムなどの実行時に使用されるデータなどの各種情報を記憶する。
圧縮手段14は、記憶手段12に記憶される、予め定められた位置の画素における1画素分の画素値、第1の配列100、第2の配列200および第3の配列300のそれぞれを関連付けた圧縮データを生成し、記憶手段12に記憶する。
(本発明の主な特徴)
本発明の主な特徴は、画像データにおいて隣接する画素値同士の差分は多くの場合が小さいものである点に着目し、画像データを構成する画素値を表す単位であるNビットよりも小さいビット数であるMビット配列に当該差分を格納する点である。
より詳細には、本発明の基本的なアイディアは、隣接する画素の画素値は比較的近い値を持つため、隣接画素の差はデジタル画像を生成したADC(アナログ-デジタル変換回路)のビット数のレンジよりも少ないビット数で表現できるであろうという考え方に基づき、Mビット配列(M>N)に当該差分を格納する点である。
具体的には、本発明は、差分算出手段11が画像データ全体を走査して隣接している画素の差分を算出し、この差分が−128から+127(10進数表示)の間にある場合には差分管理手段13が8ビット(Mビット)の配列である第1の配列100に保存する点が主な特徴点である。
このため、すべての画素の差分が8ビットで表現できるもの仮定すると、圧縮データ量は元の画像データ量の約半分になる。また画像全体を走査する回数が1回だけでよいため、高圧縮率で高速に圧縮できる点で有効である。
なお差分の範囲は−128から+127に限らず、−127から+128等、8ビットの範囲を10進数で表現可能な範囲であればどのようなものでもよい。
一方、16ビットの画像データにおいて隣接する画素値同士の差分は、−65535から+65535(10進数表示)の範囲になる可能性があり、17ビット以上を用いないと表現できない場合もある。
これに対して、本発明のデータ圧縮装置では、差分y(i)−y(i―1)が8ビット(Mビット)により表せない範囲になった場合(このような場合を以下、オーバーフローという)は、差分管理手段13が第1の配列100に0を格納するとともに画素値y(i)を16ビット配列(Nビット配列)である第2の配列200に格納し、オーバーフローが生じた画素の(座標の)位置iを示す位置情報を画素値y(i)と関連付けて第3の配列300に格納して記憶手段12に記憶する点も主な特徴点である。
このため、画素の差分が8ビットで表現できるときは第1の配列100に格納し、8ビットで表現できないときは第2の配列200に画素値y(i)を格納するとともに位置情報iを第3の配列300に記憶することにより、高圧縮率で圧縮できる点で有効である。また画像全体を走査する回数が1回だけでよいため、高圧縮率で高速に圧縮できる点で有効である。
なお、差分管理手段13は、オーバーフローが頻発して第2の配列200の画素値、第3の配列300の位置情報の各データ量が増えてしまうというペナルティが増え、圧縮処理によるデータ量が元のデータ量を上回る場合には、圧縮を行わずに元のデータを利用(転送)する。
すなわち、本発明のデータ圧縮装置は、16ビットの画像(配列)データを、(1)隣接画素との差を表す8ビットの第1の配列100、(2)オーバーフローの座標位置を表す第2の配列200、(3)オーバーフローが生じた位置の画素値を表す第3の配列300の3種類のデータに変換し、これらを関連付けて保存して圧縮データを生成する点で特徴的である。このため、本発明のデータ圧縮装置は、高圧縮率で高速に圧縮できる。
(主な構成要素の配置・接続関係の説明)
差分算出手段11は、記憶手段12と接続され、記憶手段12から画像データを読み出し、画像データ全体を走査して隣接している画素の差分を算出する(差分を記憶手段12に記憶するものでもよい)。
また、差分管理手段13は、差分算出手段11および記憶手段12と接続され差分算出手段11により得られた差分を記憶手段12の8ビット(Mビット)の第1の配列100に格納し、オーバーフローが生じたときは第1の配列100に0を格納するとともに、オーバーフロー発生時における画素の画素値を16ビット(Nビット)の第2の配列200に格納し(座標)位置情報を第3の配列300に格納して記憶手段12に記憶する。
加算手段15は、記憶手段12と接続され、記憶手段12から圧縮データを読み出して予め定められた位置の画素における1画素分の画素値に、第1の配列100に格納されている隣接する画素の画素値との差分を加算し、16ビット(Nビット)配列である第3の配列300を生成して圧縮データを復元して復元データを記憶手段12に記憶される。
オーバーヘッド復元手段16は、記憶手段12と接続され、記憶手段12から第2の配列200に格納された画素値と第3の配列300から当該画素値の位置情報を読み出してこの画素値と関連付けられている位置情報に示された画像データの位置に相当する第4の配列400の位置に挿入する。
(本発明の動作)
このような構成で本発明は、次の動作を行なう。図2は、図1のデータ圧縮装置が1枚の画像に係るデータ圧縮の動作フロー図である。
図2のステップSP101において、差分算出手段11は、記憶手段12から画像データを読み出して、予め定められたi番目の画素値であるy(i)を16ビット(Nビット)で記録する。たとえば差分算出手段11は、読み出した最初(0番目)の画素の値、y(0)を16ビットで記録する(第2、第3の配列に格納する)。
以下ステップSP102〜105は画像データの全画素の値についての差分(y(i+1)―y(i))を算出し記憶するまで繰り返し行う(iが0〜nまでの値とすればn+1回繰り返し行う)。
ステップSP102において、差分算出手段11は、直前のステップ(SP101、SP103、SP104)の動作で読み込んだ画素値(y(i))と隣接する画素の値(y(i+1))との差(y(i+1)―y(i))を算出する。
たとえばステップSP101の後の動作にあっては、差分算出手段11は、0番目の画素値(y(0))、と隣接する1番目の画素の値(y(1))との差(y(1)―y(0))を算出する。
ステップSP103において、差分管理手段13は、差分算出手段11で得られた差分が予め定められた16ビット(Nビット)未満である8ビット(Mビット)により表現可能であるか否か(オーバーフローが生じたか否か)を判定する。
本発明のデータ圧縮装置は、8ビットにより表現可能であるときは、ステップSP105に移行する。また8ビットにより表現可能ではないときは、ステップSP106に移行する。
ステップSP104において、差分管理手段13は、当該差分を8ビット配列(Mビット配列)である第1の配列100に格納し記憶手段12に記憶する。
なお差分算出手段11は画像データにおいて、次の画素があるときは記憶手段12から当該画素値を読み込む。
ステップSP105において、差分管理手段13は、第1の配列100に0を格納するとともに当該画素値を16ビット配列(Nビット配列)である第2の配列200に格納して記憶手段12に記憶し、さらに当該画素値が算出された画素の位置(i)を示す位置情報を当該差分と関連付けて第3の配列300に格納して記憶手段12に記憶する。
なお差分算出手段11は画像データにおいて、次の画素があるときは記憶手段12から当該画素値を読み込む。
本発明のデータ圧縮装置は、iをインクリメントしてステップSP102に移行し、画像データの全画素の値についての差分を算出し記憶するまで引き続き、ステップSP102〜SP105の動作について実行する。全画素の値についての差分を算出した後はステップSP106に移行する。
なお、ステップSP102〜SP105の動作において、圧縮手段14は、圧縮の試みによって、記憶手段12に記憶されている予め定められた位置の画素における1画素分の画素値、第1の配列100、第2の配列200および第3の配列300のデータ量が元の容量を上回る場合、圧縮を中止する。
ステップSP106において、圧縮手段14は、記憶手段12に記憶される予め定められた位置の画素における1画素分の画素値、第1の配列100、第2の配列200および第3の配列300をそれぞれ関連付けた圧縮データを生成し、記憶手段15に記憶する。
ステップSP107において、演算制御部17は、通信手段を制御して、記憶手段12に記憶されている圧縮データを転送する。
なお、演算制御部17は、圧縮手段14がステップSP102〜105の間に圧縮を中止した場合には、通信手段を制御して画像データをそのまま転送する。
この結果、本発明のデータ圧縮装置は、画像データを構成する画素値のうち予め定められた位置の画素における1画素分の画素値を記憶する記憶手段と、画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、画素値の差分を記憶手段に記憶する差分管理手段と、記憶手段に記憶される予め定められた位置の画素における1画素分の画素値および画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことにより、高圧縮率で高速に圧縮できる点で有効である。
また、本発明のデータ圧縮装置は、上述の構成とすることにより圧縮においても伸張においても、画像全体を走査する回数が1回だけで良く、用いる演算が加算と減算、大小比較のみであるため、極めて高速な処理できる点で有効である。
なお、本発明のデータ圧縮装置は、差分管理手段13がオーバーフローが生じたときに当該画素の位置を記憶手段14に記憶すると説明したが、例えば、上記オーバーフローの座標位置を表す配列を保持する方法として、(A)可変長の配列(リスト)を利用する方法、(B)画像全体と同じ長さのブール型(1ビットの真偽値)の固定長配列を利用する方法(以下、この方法をDiffCompress2という)を用いるものでもよい。
具体的には、差分管理手段13が(A)の方法を用いる場合、100万画素以上の座標位置を記録するにはiは8ビットや16ビットでは表現できないので、可変長の配列を利用して、例えば32ビット配列に位置情報を格納するものでもよい(以下この方法を、DiffCompress1という)。
また、差分管理手段13が(B)の方法を用いる場合、オーバーフローが生じたか否かを1ビットのtrue / falseで表現することにより、位置情報のデータ量が小さくなりペナルティは小さくなる。
さらに、差分管理手段13は、(A)の方法の変形として、オーバーフローが生じた座標位置を32ビット等で表した後、第3の配列300について、隣接する座標の差を評価し、画素値の列に対して差分演算を行ったものと同一のアルゴリズムを適用して16ビットへ圧縮する(以下この方法を、DiffCompress4という)ものでもよく、または8ビットへ圧縮する(以下この方法を、DiffCompress5という)ものでもよい。
これにより、DiffCompress1では32ビットであった配列(座標位置配列)の大部分を16ビットや8ビットで表現可能になり、圧縮率を向上することができる。
また、本発明のデータ圧縮装置は、上述までの説明では、隣接画素との差分を表す8ビットの配列は固定長で、その長さは被圧縮画像の画素数と同一であるものとして説明しているが、これに限定するものではなく、差分を表す配列を可変長とするものでもよい。
たとえばオーバーフローが生じたときには、可変長の配列の2バイト分(8ビット×2)を利用して、オーバーフローが生じた位置の画素値を保存しても良い(以下この方法を、DiffCompress3という)。
また、本発明のデータ圧縮装置は、上述までの説明ではDiffCompress4、5を除き、(1)差分を取ったデータ、(2)オーバーフローの座標位置データ、(3)オーバーフローの位置の画素値データ、まで演算した段階で圧縮を打ち切っているが、これらの3種類の配列を個別に異なる方法で圧縮するものでもよい。
また、本発明のデータ圧縮装置の圧縮装置は、上述までの説明では、圧縮データ量が元の容量を上回る場合、圧縮を中止して元のデータをそのまま転送するものと説明したが、単に圧縮を中断するのでなく、他の圧縮方法に切替えるものでもよいし、短縮係数(や同様の係数)計算し、これらの性能指標の観点で圧縮方法を切替えるものであってもよい。
(効果の具体的な説明)
本発明の効果を明らかにするための以下の性能指標を用いて説明する。
ここで、圧縮前のデータ容量がD[MByte]の画像を圧縮した結果、容量がα・D[MByte] になったとし、αを圧縮率と呼ぶ。
また、画像が保存されている領域から演算領域まで0、1、…、nの構成要素を経由して伸張領域(例えばCPU)まで転送が行われるものとし、個々の構成要素の転送率(転送速度)を、r[MByte/s]とする。
また、転送後の伸張に要する時間を伸張時間と呼び、t[s]とする。
一般に、αが小さいほど転送に必要なデータ量が少なくなるため、転送に要する時間は削減される。しかし、伸張に要する時間tが長いと、圧縮を行わずに元のデータを転送するほうが有利な場合もあり得る。
既に圧縮されて保存されたデータを読出して利用する場合、伸張時間がどの程度であれば圧縮を行っていた方が有利かを示す不等式は式(1)のように表される。
特に、転送の要素としてハードディスク等のストレージからの読出しの転送率rと、ネットワークの転送率rの2成分を考慮する場合、以下の式(2)を満たせば、圧縮していた方が短時間で画像データを利用できることになる。
そこで、ある圧縮伸張のアルゴリズムに対して、圧縮率と伸張時間を測定し、S=t/tを短縮係数と呼ぶことにする。短縮係数が1を下回るアルゴリズムであれば、圧縮を行う意味があり、1を上回るアルゴリズムであれば、圧縮は行わずに元のデータをそのまま転送するほうが高速であることを意味する。
図3は本発明のアルゴリズムの実装例と公知のアルゴリズムの実装例との圧縮結果の説明図であり、(A)は圧縮対象である画像の一例、(B)は圧縮効果を説明する表である。
図3(B)において、本発明のデータ圧縮装置が用いるアルゴリズムと、公知のアルゴリズムを利用した場合の、(A)の画像に対する圧縮率、伸張時間、短縮係数を示す。
本アルゴリズムは、データ保持法等で異なる5種類の変形版の実装の結果をDiffCompress1〜DiffCompress5として示す。
なお、(B)ではr=40MB/s、r=125MB/s、D=2MBの場合の結果を示している。
(B)に示すように、本発明では、DiffCompress1の方法で圧縮する場合は、圧縮率αが0.700、伸張時間11ms、短縮係数0.555である。
DiffCompress2の方法で圧縮する場合は、圧縮率αが0.629、伸張時間17ms、短縮係数0.694である。
DiffCompress3の方法で圧縮する場合は、圧縮率αが0.595、伸張時間14ms、短縮係数0.523である。
DiffCompress4の方法で圧縮する場合は、圧縮率αが0.633、伸張時間10ms、短縮係数0.412である。
DiffCompress5の方法で圧縮する場合は、圧縮率αが0.605、伸張時間10ms、短縮係数0.383である。
なお、計測には、WINDOWS(登録商標)XPのOS上で、C#言語で実装したソースコードを利用して行っている。並列化や、MMXレジスタの利用等は行っていない。
一方、比較に用いたアルゴリズムは、GZip、Defllate(以上2件は、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)の方法で圧縮する場合は、圧縮率αが0.560、伸張時間78ms、短縮係数2.08である。
Defllate(.Net)の方法で圧縮する場合は、圧縮率αが0.560、伸張時間68ms、短縮係数1.81である。
Bzip2(#Zib)の方法で圧縮する場合は、圧縮率αが0.434、伸張時間436ms、短縮係数14.9である。
GZip(#Zib)の方法で圧縮する場合は、圧縮率αが0.481、伸張時間134ms、短縮係数4.21である。
Defllate(#Zib)の方法で圧縮する場合は、圧縮率αが0.481、伸張時間111ms、短縮係数3.49である。
これらのように、本発明のデータ圧縮装置が用いるアルゴリズムは、一般にαが大きく、圧縮率の観点では必ずしも優れている訳では無いともいえる。
しかしながら、圧縮や伸張に要する時間が著しく短いため、上述のように定義した短縮係数の指標の観点では、公知のアルゴリズムを大幅に上回る結果が得られている。
つまり、本発明のデータ圧縮装置は、16ビットを8ビットへ圧縮する場合、理論的に容量はせいぜい半分までしか圧縮されないが、一方で、図3(B)に示したように、画像の走査回数や演算の単純さに起因する高速性により、公知のアルゴリズムと比較して少なくとも6倍以上高速な伸張速度が実現できることがわかる。すなわち、本発明であれば従来のアルゴリズムよりも画像データを高速に圧縮できる点で有効である。
また、公知のアルゴリズムをそのまま適用しても、短縮係数が1を超えている(伸張が低速であるために圧縮して転送することの実効的な利点が無い)のに対して、本発明のデータ圧縮装置のアルゴリズムを適用すれば、短縮係数が1を大きく下回り、圧縮しない場合の画像データと比較して少ない実効時間で画像データを利用可能である。
<第2の実施例>
なお、本発明のデータ圧縮装置は、差分管理手段13が、差分算出手段11で得られた差分が予め定められた16ビット(Nビット)未満である8ビット(Mビット)により表現可能であるか否か(いいかえれば−128から+127(10進数表示)の範囲にあるか否か)を判定すると説明したが、特にこれに限定するものではなく、16ビットや8ビット等の数は異なる数値であってもよい。
また、負側(−128)と正側(+127)をほぼ固定的に均等に割振ったが、8ビットで表せる範囲であれば、例えば−64から+191等、可変にしてもよい。
この場合には、差分管理手段13が、既に読込んだ画素値y(i)から該当位置の近傍での画素値の変化率Δy(i)/Δi等を計算して今後の変化率を予測し、それに応じて正側と負側のどちら側により多くの情報を割当てるかを変えるものであってもよい。
<第3の実施例>
第1〜第2の実施例のデータ圧縮装置では、2次元画像を(行と列の数を別途記録して)1列の配列として取扱うものとしている。つまり、画素を走査する順番は、例えば(0、0)、(0、1)、(0、2)、・・・、等の位置座標で1行(または1列)を走査してから次の行(または列)へ移動することが仮定されているが、走査の方法を変えて、より高い圧縮率を実現するものでもよい。
ここで、画像データは、測定のために撮影された画像などがある。たとえば、画像データは、「顕微鏡の細胞画像」や「望遠鏡による天体画像」がある。
具体的には(薬剤を投与した)細胞の試料に励起光を照射し、細胞からの蛍光信号に基づき画像処理して創薬スクリーニングを行うための細胞を複数の種類の波長帯域で撮影して得られた画像データが例(図3の画像例)としてあげられる。
このような画像データでは、画像の視野のうち何らかの測定対象が写っている領域では、グレースケールの濃淡が淡く表されるため画素値が高く、下位8ビットと上位8ビットをともに用いないと表せない。一方、画像の視野のうちグレースケールの濃淡が濃く表される背景の領域では下位8ビットで表現できる。
また、下位8ビットデータでは、背景のノイズ(撮像素子に起因する読出しノイズやダークカレント等)や信号のノイズのランダムな性質を表現するので、規則性に乏しく圧縮が困難であることが多い。一方、上位8ビットデータは、明るい信号の(グレースケールの濃淡が淡い)領域であって、特にそれが画面中に占める比率が比較的小さい場合にはデータの規則性が高い。
このことから、例えば、細胞のような対象が写った画像では、対象の信号は塊になっているため、行ごとに走査するよりも、塊より一回り小さいブロック(例えば、16×16、32×32、・・・画素の正方形など)を単位として走査すると、信号が存在する領域が連続して現れやすくなることがわかる。つまり上位ビット側の規則性が高まり、圧縮率を向上できる可能性がある。
これらのことに鑑み、本発明のデータ圧縮装置では、第1〜第2の実施例の差分算出手段11、差分管理手段13の機能に加えて、差分算出手段11が、画像データを複数の画素のまとまりからなるブロックであって測定対象の一単位が占める範囲よりも小さいブロックごとに複数分割し、これらのブロックごとに、ブロック内の画素値について、隣接する画素値との差分を算出するものでもよい。
具体的には、本実施例のデータ圧縮装置の差分算出手段11は、画像データを複数の画素のまとまりからなるブロックであって測定対象の一単位が占める範囲よりも小さいブロックごとに複数分割し、これらのブロックごとに、2次元画像を(行と列の数を別途記録して)1列の配列として取扱って、隣接する画素値との差分を算出する。
また、本実施例のデータ圧縮装置の差分管理手段13は、予め定められた複数のブロックごとに、差分算出手段11で得られた差分が予め定められた16ビット(Nビット)未満である8ビット(Mビット)により表現可能であるか否か(オーバーフローが生じたか否か)を判定するものでもよい。
具体的には、差分管理手段13は、差分が8ビットにより表現可能であるときは、当該差分を当該ブロックごとに8ビット配列(Mビット配列)である第1の配列100に格納し記憶手段12に記憶する。
また、差分管理手段13は、差分が8ビットにより表現可能ではないときは、当該ブロックごとに、第1の配列100に0を格納するとともに当該画素値を16ビット配列(Nビット配列)である第2の配列200に格納して記憶手段12に記憶し、さらに当該差分が算出された画素の位置(i)を示す位置情報を当該画素値と関連付けて第3の配列300に格納して記憶手段12に記憶する。
この結果、差分算出手段11が画像データを複数の画素のまとまりからなるブロックであって測定対象の一単位が占める範囲よりも小さい「ブロック」ごとに複数分割し、これらのブロックごとに、前記ブロック内の画素値について、隣接する画素値との差分を算出し、差分管理手段13が、ブロックごとにオーバーフローが生じたか否かを判定して第1の配列または第2、第3の配列に差分または画素値、位置情報を記憶することにより、高圧縮率で高速に圧縮できる点で有効である。
また、本実施例のデータ圧縮装置は、細胞の画像であれば、ブロックのサイズが撮影倍率等に応じて最適な値になるよう可変としても良い。
<第4の実施例>
なお、上述の実施例では本発明のデータ圧縮装置1が加算手段15、オーバーヘッド復元手段16を有するものとして説明しているが、特にこれに限定するものではなく、復元化の機能を備えたデータ復元装置が、データ圧縮装置1により圧縮されたデータを復元するものでもよい。
図4は、本発明のデータ復元装置の一実施例の構成説明図である。
図4において、データ復元装置2は、主に、記憶手段21と加算手段22、オーバーヘッド復元手段23と、各手段の動作を制御するCPU等の演算制御部24、外部の機器(たとえばデータ圧縮装置1)と接続線、ネットワークなどを介して電気的に接続される通信手段25を備える。
記憶手段21は、ネットワーク等を介してデータ圧縮装置1から受信した、圧縮データを記憶する。
加算手段22は、記憶手段21に記憶される圧縮データのうち第1の配列100に基づいて、予め定められた位置(たとえば、0番目)の画素における1画素分の画素値(たとえば、y(0))に、この画素に隣接する画素(たとえば、1番目の画素)の画素値との差分(たとえば、y(1)―y(0))を加算して当該画素の画素値(たとえば、y(1))を算出する。
さらに加算手段22は、加算の結果得られた画素値に、この画素に隣接する画素の画素値との差分を加算して16ビット配列(Nビット配列)である第4の配列400を生成する。加算手段22は、この加算処理を全画素の画素値を復元するまで順次実行する。いいかえれば、加算手段22は、第1の配列100に基づき圧縮データを復元(伸張)する。
オーバーヘッド復元手段23は、第2の配列200および第2の配列200に格納された画素値と関連付けて第3の配列300に格納されている位置情報に基づき、第2の配列200に格納された画素値を、第3の配列300に格納されている位置情報に示された画像データの位置に相当する第4の配列400の位置に挿入する。
すなわち、オーバーヘッド復元手段23は、圧縮時にオーバーヘッドが発生した位置での画素の画素値を第2の配列200から取り出し位置情報に基づき第4の配列に挿入し、復元(伸張)画像を復元する。
なお、オーバーヘッド復元手段23は、データ圧縮装置1が上述第1の実施例で示した(B)の方法を用いて圧縮した場合では、オーバーフローの位置が記憶手段21に記録されている場合には、走査を行いながらその画素がオーバーフロー位置に該当するか確認し、オーバーフロー位置であれば、オーバーフローした位置での画素値を記憶手段21から取出して復元(伸張、解凍)画像が記憶される第4の配列400へ記録するものでもよい。
図5は、本発明のデータ復元装置が圧縮データを復元(伸張、解凍)する際の動作フロー図である。
図5のステップSP201において、加算手段22は、記憶手段21から圧縮データおよび予め定められた位置(たとえば、0番目)の画素における1画素分の画素値(たとえば、y(0))を読み込む。
ステップSP202において、加算手段22は、予め定められた位置の画素における1画素分の画素値(たとえば、y(i))を第4の配列400に格納して記憶手段21に記憶する。
たとえば予め定められた位置の画素が0番目の画素であるときはy(0)の画素値を記憶手段21に記憶することになる。
ステップSP203において、加算手段22は、直前のステップ(SP202、SP203、SP204)の動作で第4の配列400に格納された画素(y(i))と隣接する画素(たとえば、y(i+1))との差分を保存してある第1の配列100から値を取出し加算する。
たとえばステップSP202からの移行後のときは、加算手段22は0番目の画素y(0)に第1の配列400に記憶されているy(0)とy(1)との差分を加算する。
ステップSP204において、オーバーヘッド復元手段23は、第4の配列400に格納した画素(たとえばy(i))と隣接する画素(たとえば、y(i+1))との差分が8ビットで表現可能なものであったか否か(オーバーヘッドが生じていたか否か)を判定する。
オーバーヘッドが生じていた場合は、ステップSP205に移行する。
オーバーヘッドが生じていなかった場合は、ステップSP206に移行する。
ステップSP205において、オーバーヘッド復元手段23は、記憶手段21の第2の配列200および第3の配列300に基づき、第2の配列200に格納された画素値(たとえばy(i+1))と関連付けて第3の配列300に格納されている位置(たとえば、i+1番目)に相当する第4の配列400の位置に当該第2の配列200の画素値を挿入し格納する。
本発明のデータ復元装置は、これらのステップSP203〜SP205の動作について、加算処理を全画素の画素値を復元するまで引き続き、iをインクリメントしてステップSP203に移行する(iが0〜nまでの値とすればn+1回繰り返し行う)。全画素の画素値を復元できるとステップSP206に移行する。
ステップSP206において、データ復元装置2の演算制御部24は、第4の配列400に基づき、たとえば1次元配列から2次元の画像データを復元して記憶手段21に記憶する。
この結果、本発明のデータ復元装置は、第1の配列100に基づいて、予め定められた位置の画素における1画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、順次加算の結果得られた画素値にこの画素に隣接する画素の画素値との差分を加算してNビット配列である第3の配列を生成する加算手段と、第2の配列に格納された画素値を、この画素値と関連付けられて第3の配列に格納されている位置情報に示された画像データの位置に相当する第4の配列の位置に挿入するオーバーヘッド復元手段を、備えることにより、高速に高圧縮率で圧縮されたデータを高速に復元することができる点で有効である。また画像全体を走査する回数が1回だけで良く、用いる演算が加算と減算、大小比較のみであるため、極めて高速な処理できる点で有効である。
<第5の実施例>
なお、本発明のデータ圧縮装置1は、画像解析を行う画像解析システムに用いられるものでもよい。図6は図1のデータ圧縮装置1を用いた画像解析システムの一実施例を示す構成説明図であり、図1と共通する部分には同一の符号を付けて適宜説明を省略する。
図6において、画像解析システム50は、たとえば薬剤を投与した細胞の試料に励起光を照射し、この細胞からの蛍光信号に基づき画像処理して創薬スクリーニングを行うために、細胞を複数の種類の波長帯域で撮影し、撮影により得られた画像データを送信するカメラシステム51と、汎用コンピュータなどから構成されカメラシステム51から画像データを取得し、取得したデータを圧縮し、圧縮データを送信する画像取得システム52と、画像取得システム52からの圧縮データを転送するスイッチ等のネットワーク機器53と、ネットワーク機器53を介して取得した圧縮データを記憶するストレージシステム54と、圧縮データをストレージシステム54から取得し復元化して画像解析を行う画像解析システム55などから構成される。
この場合、画像取得システム52は上述の差分算出手段11、記憶手段12、差分管理手段13、圧縮手段14、演算制御部17、通信手段18等を備え、圧縮データをストレージシステム54に送信する。
または、カメラシステムが本発明のデータ圧縮装置1が上述の構成で提供するデータ圧縮方法を実行するものでもよい。この場合、カメラシステムは上述の差分算出手段11、記憶手段12、差分管理手段13、圧縮手段14、演算制御部17、通信手段18等を備え、圧縮データを画像取得システム52に送信するものでもよい。
<その他の実施例>
本発明のデータ圧縮装置は、上述の各実施例では16ビットとして保存した画像に対する演算として説明したが、画像を取得するカメラに近い領域(カメラ内のDSPやFPGA、CPU)、カメラ取込みボード上のハードウェア(DSP、FPGA、CPU)上に圧縮機能を実装し、カメラから出力される段階で圧縮された形式で出力しても良い。
付記項7
前記Mビットは、N/2ビットであること、または、Mビットは0ビットよりもおおきくNビットよりも小さいビット(0<M<N)であることを特徴とする請求項2〜4のいずれかに記載のデータ圧縮装置。
1 データ圧縮装置
11 差分算出手段
12 記憶手段
13 差分管理手段
14 圧縮手段
15 加算手段
16 オーバーヘッド復元手段
17 演算制御部
100 第1の配列
200 第2の配列
300 第3の配列
400 第4の配列

Claims (6)

  1. 予め定められたN(Nは自然数)ビット数で表される数値である1画素分の画素値の連続からなる画像データに可逆圧縮処理を施すデータ圧縮装置において、
    前記画像データを構成する画素値のうち予め定められた位置の画素における1画素分の画素値を記憶する記憶手段と、
    前記画像データを構成する画素値について、隣接する画素値との差分を算出する差分算出手段と、
    前記画素値の差分を前記記憶手段に記憶する差分管理手段と、
    前記記憶手段に記憶される予め定められた位置の画素における1画素分の画素値および前記画素値の差分に基づき圧縮データを生成する圧縮手段を、備えたことを特徴とするデータ圧縮装置。
  2. 前記差分管理手段は、
    前記差分が予め定められた前記Nビット未満であるM(Mは自然数)ビットにより表現可能であるときは、当該差分をMビット配列である第1の配列に格納し前記記憶手段に記憶することを特徴とする請求項1記載のデータ圧縮装置。
  3. 前記差分管理手段は、
    前記差分が前記Mビットにより表現可能ではないときは、前記第1の配列に0を格納するとともに当該差分が算出されたいずれかの画素値をNビット配列である第2の配列に格納し前記記憶手段に記憶し、当該画素値の前記画像データにおける位置を示す位置情報を当該差分と関連付けて第3の配列に前記記憶手段に記憶することを特徴とする請求項2記載のデータ圧縮装置。
  4. 前記画像データは、励起光が照射された測定対象からの蛍光信号に基づいて画像処理した前記測定対象の画像データであり、
    前記差分算出手段は、前記画像データを複数の画素のまとまりからなるブロックであって前記測定対象の一単位が占める範囲よりも小さいブロックごとに分割し、これらのブロックごとに、前記ブロック内の画素値について、隣接する画素値との差分を算出し、
    前記記憶手段は、予め定められた位置の画素における1画素分の画素値、前記第1の配列および前記第2の配列をブロックごとに記憶することを特徴とする請求項1〜3のいずれかに記載のデータ圧縮装置。
  5. 前記圧縮手段は、
    前記圧縮データを、前記記憶手段に記憶される、予め定められた位置の画素における1画素分の画素値、前記第1の配列、前記第2の配列および前記第3の配列のそれぞれを関連付けて生成することを特徴とする請求項3または4に記載のデータ圧縮装置。
  6. 予め定められたN(Nは自然数)ビット数で表される数値である1画素分の画素値の連続からなる画像データに可逆圧縮処理を施す請求項1〜5のいずれかに記載のデータ圧縮装置により圧縮された圧縮データを復元するデータ復元装置において、
    前記第1の配列に基づいて、前記予め定められた位置の画素における1画素分の画素値に、この画素に隣接する画素の画素値との差分を加算し、順次加算の結果得られた画素値にこの画素に隣接する画素の画素値との差分を加算してNビット配列である第4の配列を生成する加算手段と、
    前記第2の配列に格納された画素値を、この画素値と関連付けられている前記位置情報に示された画像データの位置に相当する第4の配列の位置に挿入するオーバーヘッド復元手段を、備えることを特徴とするデータ復元装置。
JP2010107128A 2010-05-07 2010-05-07 データ圧縮装置およびデータ復元装置 Pending JP2011239064A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010107128A JP2011239064A (ja) 2010-05-07 2010-05-07 データ圧縮装置およびデータ復元装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010107128A JP2011239064A (ja) 2010-05-07 2010-05-07 データ圧縮装置およびデータ復元装置

Publications (1)

Publication Number Publication Date
JP2011239064A true JP2011239064A (ja) 2011-11-24

Family

ID=45326591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010107128A Pending JP2011239064A (ja) 2010-05-07 2010-05-07 データ圧縮装置およびデータ復元装置

Country Status (1)

Country Link
JP (1) JP2011239064A (ja)

Similar Documents

Publication Publication Date Title
JP6728385B2 (ja) デジタルイメージ再圧縮
US20190364230A1 (en) Method of processing data for dynamic vision sensor, dynamic vision sensor performing the same and electronic device including the same
US20040233991A1 (en) Video encoding apparatus, video encoding method, video encoding program, video decoding apparatus, video decoding method and video decoding program
Narayanaperumal et al. VLSI Implementations of Compressive Image Acquisition using Block Based Compression Algorithm.
CN109600618A (zh) 视频压缩方法、解压缩方法、装置、终端和介质
CN103918186B (zh) 上下文自适应数据编码
US10798420B2 (en) Lossless compression techniques for single-channel images
CN110913218A (zh) 一种视频帧预测方法、装置及终端设备
JP4801778B2 (ja) 映像圧縮符号化装置、映像復元装置、映像圧縮プログラム、及び、映像復元プログラム
JP2017005456A (ja) 画像圧縮方法、画像圧縮装置及び撮像装置
EP3343445A1 (en) Method and apparatus for encoding and decoding lists of pixels
JP6070568B2 (ja) 特徴量符号化装置、特徴量符号化方法、及びプログラム
JP4561649B2 (ja) 画像圧縮装置、画像圧縮プログラム及び画像圧縮方法、hdr画像生成装置、hdr画像生成プログラム及びhdr画像生成方法、並びに画像処理システム、画像処理プログラム及び画像処理方法
JP2012004636A (ja) データ圧縮装置およびデータ復元装置
KR101172983B1 (ko) 화상 압축 장치, 화상 복원 장치, 화상 압축 방법, 화상 복원 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN112887713B (zh) 图片压缩、解压缩方法和装置
WO2011064073A1 (en) Method, device and system for image compression and decompression using support vector regression
US20230091103A1 (en) Electronic device and method for compressing video data
JP2011239064A (ja) データ圧縮装置およびデータ復元装置
JP2011223244A (ja) データ圧縮装置およびデータ復元装置
US11317103B2 (en) Electronic device and method for compressing video data
JP5413007B2 (ja) 画像圧縮装置、撮像装置、プログラムおよび画像伸張装置
JP2000244744A (ja) 画像データ圧縮方法及び画像データ管理方法
Halder et al. A low space bit-plane slicing based image storage method using extended jpeg format
GB2539486B (en) Encoder, decoder and method employing palette compression