JP2004253889A - Image processing apparatus and method - Google Patents
Image processing apparatus and method Download PDFInfo
- Publication number
- JP2004253889A JP2004253889A JP2003039713A JP2003039713A JP2004253889A JP 2004253889 A JP2004253889 A JP 2004253889A JP 2003039713 A JP2003039713 A JP 2003039713A JP 2003039713 A JP2003039713 A JP 2003039713A JP 2004253889 A JP2004253889 A JP 2004253889A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- compression
- compressed
- data
- image processing
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、画像の可逆圧縮を行う画像処理装置及び方法に関するものである。
【0002】
【従来の技術】
従来、デジタル画像データに対して、そのサイズを圧縮処理することが広く行われている。静止画や動画に対する画像圧縮技術の多くは「非可逆圧縮」を採用している。非可逆圧縮は、圧縮処理によって画質の劣化が生じるデメリットはあるが、圧縮率の選択、調整が可能であり、大幅な情報量の削減も可能となる。
【0003】
一方、元画像を完全に復元できる画像圧縮技術として、「可逆圧縮」が知られている。可逆圧縮は、非可逆圧縮のように任意の圧縮率で圧縮できない反面、圧縮伸張を繰り返しても元画像と同等の画質を維持することができる。可逆圧縮可能な画像圧縮方式として、例えばJPEGのロスレス方式(ISO10918−1)、JPBG(2値画像、ISO11544)、或いはJPEG−LS(ISO14495)などが知られている。
【0004】
また、前記した非可逆圧縮と可逆圧縮とを選択的に用いて画像データを圧縮する先行技術が知られている(例えば、特許文献1参照。)。特許文献1に記された画像圧縮手段は、画像の領域ごとに可逆圧縮(ロスレス)、非可逆圧縮(ロッシー)を切り換えて画像圧縮を行うものである。
【0005】
ところで、新たな画像圧縮技術としてJPEG2000(ISO15444−1)が提案された。JPEG2000にも画像の可逆圧縮が規格化されている。
【0006】
以下、図11を用いてJPEG2000の圧縮方式の概略を説明する。
【0007】
図11はJPEG2000圧縮器のブロック図である。入力された画像に対して、DCレベルシフト回路1101で直流成分を除去したのち、コンポーネント変換回路1102で色成分をYCbCrに変換する。そして、それぞれのコンポーネントについてウェーブレット変換回路1103でウェーブレット変換して、量子化回路1104で量子化して、算術符号化回路1105で算術符号により圧縮する。さらに、圧縮されたデータについて符号列形成回路1106で、順序を決定し階層化したひとつのコードストリームを形成して出力する。以上が図11のJPEG2000圧縮器の動作説明である。
【0008】
ここで、図11の各ブロックの処理について詳細に説明する。
【0009】
JPEG2000の可逆圧縮方式では、DCレベルシフト回路1101は符号無し整数から符号付整数への変換を行う。
【0010】
コンポーネント変換回路1102は整数演算である可逆コンポーネント変換を行う。この順変換は式(数1)、(数2)、(数3)で表され、逆変換は式(数4)、(数5)、(数6)で与えられる。
【0011】
【外1】
【0012】
【外2】
【0013】
【外3】
【0014】
【外4】
【0015】
【外5】
【0016】
【外6】
【0017】
ウェーブレット変換回路1103は、整数演算である5x3フィルターを用いたリフティング演算により実行される。リフティング演算の手順は、次の(数7)及び(数8)で与えられる。
【0018】
【外7】
【0019】
【外8】
【0020】
可逆変換の場合、量子化回路1104における量子化ステップは「1」として、実質的には、量子化を行わない。したがって、ここまでの変換で丸めなどの打ち切りは生じず、可逆性を保っている。
【0021】
算術符号化回路1105における算術符号化はもともと可逆性のある符号化である。また、最後にコードストリームを形成する符号列形成回路1106では、符号の並びが変わるだけで圧縮には関係しない。従って、図11の如きJPEG2000圧縮器は、各ブロックを可逆可能な構成とすることで、画像の可逆圧縮を実現している。
【0022】
なお、一般に可逆圧縮での圧縮率は、どの圧縮方式を用いるか、すなわち符号化にどのような方式を用いるかによって左右される。例えば、上記したJPEG2000を用いた場合、圧縮は主に算術符号化によって行われるので、圧縮率は算術符号化の効率に依存する。
【0023】
また、可逆圧縮での圧縮率は入力する元画像によっても異なってくる。逆に、入力画像が同じ場合、圧縮方式さえ決まれば圧縮率は一定となる。
【0024】
【特許文献1】
特開2002−262102号公報
【0025】
【発明が解決しようとする課題】
しかしながら、従来の技術を用いて画像圧縮において高圧縮処理する為には、非可逆圧縮を実行するか、或いは可逆圧縮と非可逆圧縮を領域ごとに選択的に実行してデータ量を削減する手法をとるので、結果として圧縮後の画像に非可逆圧縮による画質劣化が生じていた。
【0026】
また、可逆圧縮については、入力画像とそれを圧縮する圧縮方式に基づく圧縮結果は一つであり、非可逆圧縮の如く、圧縮率を選択することはできなかった。
仮に、画像の全てを可逆圧縮によって圧縮処理する例を考えた場合、高圧縮率を得る為には、複数の圧縮方式を備え、入力画像に対して最も圧縮率が高くなる圧縮方式を選択して圧縮する以外考えられなかった。このような場合、圧縮方式の異なるエンコーダを複数用意する必要があり、また復号側にも各圧縮方式に対応する複数のデコーダを用意する必要があるため、処理は複雑化し、ハード量の増大を招く要因となるものであった。
【0027】
本発明は上記の如き問題点を解決して、画像の可逆圧縮を実行しかつ簡単な構成で高圧縮処理を行う画像処理装置及び方法を提供することを目的とする。
【0028】
【課題を解決するための手段】
斯かる目的を達成する為の手段として、本発明は以下の構成からなる手段を有する。
【0029】
本発明の画像処理装置は、画像データを圧縮して出力する画像処理装置であって、可逆圧縮が可能な圧縮手段と、前記圧縮手段で圧縮処理された圧縮画像データを記憶する記憶手段と、入力した画像データを前記圧縮手段で圧縮処理して複数の前記圧縮画像データを生成したうち最もデータサイズが小さい圧縮画像データを前記記憶手段から読み出して出力する出力手段とを備えたことを特徴とする。
【0030】
また、本発明の画像処理方法は、画像データを圧縮して出力する画像処理方法であって、入力画像データの可逆圧縮を行う圧縮ステップと、前記圧縮ステップで圧縮処理された圧縮画像データを記憶手段に記憶する記憶ステップと、前記入力画像データを前記圧縮ステップで圧縮処理して複数の前記圧縮画像データを生成したうち最もデータサイズが小さい圧縮画像データを前記記憶手段から読み出して出力する出力ステップとを有することを特徴とする。
【0031】
【発明の実施の形態】
以下、図面を参照しながら本発明の好適な実施の形態を説明する。
【0032】
<実施の形態1>
図1に本発明の実施の形態1における画像処理装置100の構成を示す。
【0033】
図1において、100は画像処理装置である。101は画像データに与えるリファレンスグリッドのオフセットの値を保持している保持部であり、複数のオフセット値を記憶している。102は画像データに対してリファレンスグリッドのオフセットを設定する設定部である。103はJPEG2000圧縮を行うコーデックであり、本発明では特に可逆圧縮を行う。104はメモリであり、コーデック103でJPEG2000圧縮された画像データを一時的に保管する。105はデータサイズ比較器であり、コーデック103で圧縮された画像データのデータ量(サイズ)を比較し、その中から最も小さいサイズの画像データを選択する。
【0034】
更に、図1について画像データの流れに沿って説明する。
【0035】
106は画像処理装置100に入力される圧縮対象の画像データである。この画像データ106を、オフセット設定部102に入力してリファレンスグリッドを設定し、さらに保持部101からの値に従って、そのオフセット値を設定する。次いで、リファレンスグリッドのオフセット値が設定された画像データを、JPEG2000コーデック103で、JPEG2000方式で可逆圧縮処理する。そして、圧縮された画像データをメモリ104に一時的に保存する。
【0036】
さらに、保持部101に保持された別のオフセット値に従って、同じ入力画像データに新たなオフセット値を設定し、圧縮して保存する。すなわち、102から104へ至る画像データの圧縮処理を、保持部101に保持するリファレンスグリッドのオフセット値の数だけ、オフセット値を変えながら複数回繰り返す。
【0037】
この結果、メモリ104中には、同一の画像データについて、リファレンスグリッドのオフセット値だけが異なる圧縮画像データが、複数個保管される。この様子が、図1におけるメモリ104中の圧縮画像データ群(j2k1、j2k2、j2k3、j2k4)107として表される。
【0038】
105のデータサイズ比較器は、メモリ104中の全ての圧縮画像データのサイズを比較し、そのうち最も小さいサイズの圧縮画像データを、出力画像データ108として選択し、出力する。
【0039】
以上の操作で、本発明では、画像データに対して適切なリファレンスグリッドのオフセット値を設定して、最も小さなデータ量の可逆圧縮画像データを得ることができる。
【0040】
ここで、本発明の原理となる、JPEG2000圧縮方式に適用するリファレンスグリッドのオフセットの設定と、それによる効果について説明する。
【0041】
図2に、画像データと、リファレンスグリッドと、そのオフセット値の関係を示す。リファレンスグリッドとは、画像データのデータ内のアドレスとは別に、外側に設定した座標系である。これを用いて、JPEG2000では画像データの色データをサブサンプリングした場合など、さまざまな条件を統一して扱えるようにしている。
【0042】
図2で、斜線部分の矩形エリアは画像データである。これに対し、その外部に原点(0,0)を持ち、サイズ(Xsiz,Ysiz)のリファレンスグリッドを設ける。このとき、リファレンスグリッドの原点から、画像データの開始点(左上の点)までの座標を、リファレンスグリッドのオフセット値として、(XOsiz,YOsiz)と表記して与える。すなわち、リファレンスグリッド上で、画像データの開始点(左上の点)は、(XOsiz,YOsiz)で表させる。
【0043】
このリファレンスグリッドのオフセットの値は、画像データの値に直接変更を加えるものでは無いので、任意に設定しても画像データに変化は生じない。しかしながら、画像データを指し示すアドレス値は変化を生じる。この様子を図3及び図4を用いて説明する。
【0044】
図3は、リファレンスグリッドのオフセット値を(XOsiz,YOsiz)=(1,1)とした例である。この場合、画像データ(斜線部)のアドレスは、左上から、(1,1)で始まり、水平方向に(2,1),(3,1),・・・と変化する。垂直方向のアドレスも同様に、(1,1),(1,2),(1,3),・・・と変化する。
【0045】
これに対して、図4は、リファレンスグリッドのオフセット値を変更して(XOsiz,YOsiz)=(2,1)とした例である。この場合、画像データ(斜線部)のアドレスは、左上から、(2,1)で始まり、水平方向には、(3,1),(4,1),・・・と変化する。垂直方向には、(2,1),(2,2),(2,3),・・・と変化する。
【0046】
二つの間で画像データの値自体は変化していない。すなわち、図3でアドレス(1,1)で表される点の画像データの値と、図4でアドレス(2,1)で表される点の画像データの値は、画像データ上では同じ点であり、その値は完全に一致する。
【0047】
ところで、JPEG2000圧縮では、リファレンスグリッドのオフセット値の変化により、画像データのアドレスが変化した場合、その後の処理のうち、主に下記2点で差が生じる。
(1)ウェーブレット変換を行う際の、フィルター処理の効果
(2)コードブロックの設定位置
まず、ウェーブレット変換での違いを、図5及び図6を用いて説明する。図では、6画素からなる画像データを処理する様子を示している。
【0048】
図5は、画像データがアドレス0から始まる場合である。画像は(数7)及び(数8)で表されるリフティング演算を施されるが、その端部について先にデータの拡張が行われる。アドレス0(偶数アドレス)の外側には2画素分拡張される。すなわち、アドレス1のデータとアドレス2のデータが外挿される。アドレス5(奇数アドレス)の外側には1画素分拡張される。すなわち、アドレス6のデータが外挿される。これに最初(数1)の演算を行う。すなわち、偶数アドレスを中心としたフィルター演算を行う。次に(数2)の演算を、奇数アドレスを中心としてフィルター演算を行う。結果、ウェーブレット変換の係数X(0)からX(5)が得られる。
【0049】
これに対して、図6は、同じ値を持つ画像データがアドレス1から始まる場合である。端部のデータ拡張は、アドレスに応じて異なり、アドレス1(奇数アドレス)の外側には1画素分(アドレス2のデータ)が拡張され、アドレス6(偶数アドレス)の外側には2画素分(アドレス5とアドレス4のデータ)が拡張される。これに(数7)及び(数8)の演算を施し、ウェーブレット変換係数X’(1)からX’(6)が得られる。
【0050】
図5と図6を比較するとわかるように、画像データが同じであっても、そのアドレスが異なることで、ウェーブレット変換される過程が異なる。そのため、変換後の係数も異なるものが現れる。係数が異なることは、算術符号化されるデータが異なることになるため、算術符号化後の圧縮率に違いが生じる場合がある。
【0051】
次にコードブロックの設定位置について、図7及び図8を用いて説明する。図ではどちらも同じ画像データであるが、リファレンスグリッドの与え方のみが異なっている。コードブロックはリファレンスグリッドの原点から、指定されたサイズに従って分割されるため、リファレンスグリッドのオフセットの違いから、コードブロックの分割の様子が異なってくる。ウェーブレット変換された係数は、コードブロック単位でビットプレーン分割され、算術符号化される。したがって、ウェーブレット変換結果が同じであっても、コードブロック分割の様子が異なると、算術符号化される符号の並びは変化する。そのため、算術符号化の圧縮率に違いが生じる場合がある。
【0052】
このように、画像データが同じであっても、リファレンスグリッドのオフセットの与え方によって、変換過程に差が生じ、算術符号化結果の圧縮率に違いが生じる場合がある。
【0053】
そこで、本実施の形態では、画像データに複数のオフセット値を与えて圧縮処理を行うことで、オフセットに応じた圧縮率の違いを生じさせ、その上で最も圧縮後のデータ量が小さい圧縮画像データを選択できるように構成した。
【0054】
以上が、実施の形態1の説明である。このような操作で、入力画像データに対して適切なリファレンスグリッドのオフセット値を設定して、最もデータサイズの小さい可逆圧縮画像データを得ることができる。
【0055】
以上のように、本実施の形態では、非可逆圧縮でかつ最も圧縮率の高いデータを得ることが可能になる。
【0056】
<実施の形態2>
図9に本発明の実施の形態2における画像処理装置200の構成を示す。
【0057】
図において、200は画像処理装置である。201は画像データに与えるリファレンスグリッドのオフセットの値を保持している保持部であり、複数のオフセット値を記憶している。202は画像データに対してリファレンスグリッドのオフセットを設定する設定部である。203はJPEG2000圧縮を行うコーデックであり、本発明では特に可逆圧縮を行う。204はメモリであり、コーデック203でJPEG2000圧縮された画像データを一時的に保存する。205はデータサイズ比較器であり、コーデック203でJPEG2000圧縮された画像データのサイズと、既にメモリ204に保存されている圧縮画像データのサイズとを比較し、コーデック203からのデータがメモリ204に保存されたデータよりもサイズが小さい場合は、メモリ204内の保存済みの圧縮画像データを消去し、コーデック203からの圧縮画像データを新たにメモリ204で保存する。すなわち、メモリ204に保存する圧縮画像データを入れ替え可能な構成となっている。
【0058】
更に、図9について画像データの流れに沿って説明する。
【0059】
206は画像処理装置200に入力される圧縮対象の画像データである。この画像データ206を、オフセット設定部202に入力してリファレンスグリッドを設定し、さらに保持部201からの値に従って、そのオフセット値を設定する。次いで、リファレンスグリッドのオフセット値が設定された画像データを、JPEG2000コーデック203で、JPEG2000方式で可逆圧縮処理する。
【0060】
そして、圧縮された画像データをデータサイズ比較器205に入力する。このとき、入力画像206に対して、最初のオフセット値で圧縮した画像データについては、データサイズ比較器205は該画像データをメモリ204に保存する。
【0061】
さらに、保持部201に保持された別のオフセット値に従って、同じ入力画像データに新たなオフセット値を設定し、コーデック203で非可逆圧縮する。そして、圧縮された画像データをデータサイズ比較器205に入力する。
【0062】
データサイズ比較器205は、後から圧縮された画像データのサイズと、先に圧縮してメモリ204に保存済みの画像データのサイズとを比較し、後から圧縮された画像データの方が、メモリ204に保存済みの画像データよりサイズが小さい場合、メモリ204に保存済みの画像データを消去して、後から圧縮された画像データを替わりに保存する。
【0063】
そして、この一連の処理、すなわち、202から205へ至る画像データの圧縮、保存処理を、保持部201に保持するリファレンスグリッドのオフセット値の数だけ、オフセット値を変えながら複数回繰り返す。最終的に、メモリ204には、最もサイズの小さい圧縮画像データが保存されることになる。そこで、最終的に保存された圧縮画像データをメモリ204から読み出して、出力画像データ207として、外部に出力する。
【0064】
以上が、実施の形態2の説明である。このような操作で、入力画像データに対して適切なリファレンスグリッドのオフセット値を設定して、最もデータサイズの小さい可逆圧縮画像データを得ることができる。
【0065】
以上のように、実施の形態2では、圧縮画像データを作成しながら、圧縮後のデータサイズが最も小さい圧縮画像データを唯一保存するように構成したので、データ保管に使用するメモリ量が実施の形態1よりも少なく構成できる。
【0066】
<実施の形態3>
図10に本発明の実施の形態3における画像処理装置300の構成を示す。
【0067】
図において、300は画像処理装置である。301、302、303、304はそれぞれ画像データに対してリファレンスグリッドのオフセットを設定する設定部であり、それぞれ異なるオフセット値を有している。305、306、307、308はそれぞれJPEG2000圧縮を行うコーデックであり、本発明では特に可逆圧縮を行う。309、310、311、312はメモリであり、それぞれコーデック305、306、307、308でJPEG2000圧縮された画像データを一時的に保存する。313はデータサイズ比較器であり、コーデック305、306、307、308で圧縮された画像データのサイズを比較し、最小のデータサイズである圧縮画像データを決定する。314は選択器であり、313の比較結果を受けて、最小のデータサイズである圧縮画像データを記憶するメモリから、圧縮画像データを読み出し、出力する。
【0068】
更に、図10について画像データの流れに沿って説明する。
【0069】
315は画像処理装置300に入力される圧縮対象の画像データである。この入力画像データ315を、オフセット設定部301、302、303、304にそれぞれ入力してリファレンスグリッドを設定し、更にそれぞれ異なるオフセット値を設定する。ここで、実施の形態3におけるオフセット値は、各オフセット設定部が具備する固有のオフセット値を用い、各オフセット設定部が具備する固有のオフセット値は全て異なるものとなるようあらかじめ設定してある。
【0070】
オフセット設定部301、302、303、304にてリファレンスグリッドのオフセット値が設定された画像データを、それぞれJPEG2000コーデック305、306、307、308で、JPEG2000方式で可逆圧縮処理し、更に各コーデックで圧縮された画像データを、それぞれメモリ309、310、311、312に一旦保存する。
【0071】
一方、データサイズ比較器313は、各コーデックから圧縮された画像データのサイズに関する情報を入手し、各圧縮画像データのサイズの比較を行い、最もサイズが小さい画像データを決定する。
【0072】
続いて、選択器314は、データサイズ比較器313の決定に従って、最小サイズの圧縮画像データが記憶されているメモリを選択し、そこから圧縮画像データ316を読み出して、出力する。
【0073】
以上が、実施の形態3の説明である。このような操作で、入力画像データに対して適切なリファレンスグリッドのオフセット値を設定して、最もデータサイズの小さい可逆圧縮画像データを得ることができる。
【0074】
以上のように、実施の形態3では、圧縮画像データの作成を並行して行うよう構成したので、圧縮画像データを得るまでの時間が、実施の形態1または2よりも短くすることができる。
【0075】
<他の実施形態>
その他の実施形態として、前述した発明の実施形態の機能をソフトウェアで実現しても良い。ソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【0076】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【0077】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0078】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−R、DVD−RW等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【0079】
有線/無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムデータファイル)を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【0080】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【0081】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0082】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0083】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0084】
【発明の効果】
以上説明したように、本発明によれば可能な限りデータサイズの小さい可逆圧縮画像データを得ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1における画像処理装置のブロック図である。
【図2】リファレンスグリッドの説明図である。
【図3】リファレンスグリッドの説明図である。
【図4】リファレンスグリッドの説明図である。
【図5】5x3ウェーブレット変換の説明図である。
【図6】5x3ウェーブレット変換の説明図である。
【図7】コードブロック分割の説明図である。
【図8】コードブロック分割の説明図である。
【図9】本発明の実施の形態2における画像処理装置のブロック図である。
【図10】本発明の実施の形態3における画像処理装置のブロック図である。
【図11】従来技術であるJPEG2000圧縮器のブロック図である。
【符号の説明】
100 画像処理装置
101 オフセット値の保持部
102 オフセット設定部
103 JPEG2000コーデック
104 メモリ
105 データサイズ比較器
200 画像処理装置
300 画像処理装置[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus and method for performing lossless compression of an image.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, compression processing of digital image data has been widely performed. Many image compression techniques for still images and moving images employ "lossy compression". Irreversible compression has the disadvantage of deteriorating image quality due to compression processing, but it allows selection and adjustment of the compression ratio, and also enables a significant reduction in the amount of information.
[0003]
On the other hand, “lossless compression” is known as an image compression technique that can completely restore an original image. Lossless compression cannot be compressed at an arbitrary compression ratio unlike irreversible compression, but can maintain the same image quality as the original image even after repeated compression and decompression. As image compression methods capable of reversible compression, for example, JPEG lossless method (ISO10918-1), JPBG (binary image, ISO11544), JPEG-LS (ISO14495), and the like are known.
[0004]
Further, there is known a prior art in which image data is compressed by selectively using the above-described irreversible compression and lossless compression (for example, see Patent Document 1). The image compression means described in
[0005]
By the way, JPEG2000 (ISO15444-1) has been proposed as a new image compression technique. JPEG2000 standardizes lossless compression of images.
[0006]
The outline of the JPEG2000 compression method will be described below with reference to FIG.
[0007]
FIG. 11 is a block diagram of the JPEG2000 compressor. After removing the DC component from the input image by the DC
[0008]
Here, the processing of each block in FIG. 11 will be described in detail.
[0009]
In the JPEG2000 lossless compression method, the DC
[0010]
The
[0011]
[Outside 1]
[0012]
[Outside 2]
[0013]
[Outside 3]
[0014]
[Outside 4]
[0015]
[Outside 5]
[0016]
[Outside 6]
[0017]
The wavelet transform circuit 1103 is executed by a lifting operation using a 5 × 3 filter, which is an integer operation. The procedure of the lifting operation is given by the following (Equation 7) and (Equation 8).
[0018]
[Outside 7]
[0019]
[Outside 8]
[0020]
In the case of the reversible transform, the quantization step in the quantization circuit 1104 is set to “1”, and substantially no quantization is performed. Therefore, the conversion up to this point does not cause truncation such as rounding, and maintains reversibility.
[0021]
Arithmetic coding in the
[0022]
In general, the compression ratio in the lossless compression depends on which compression method is used, that is, what method is used for encoding. For example, when JPEG2000 described above is used, compression is mainly performed by arithmetic coding, and thus the compression ratio depends on the efficiency of arithmetic coding.
[0023]
Further, the compression ratio in the lossless compression differs depending on the input original image. Conversely, when the input images are the same, the compression ratio becomes constant as long as the compression method is determined.
[0024]
[Patent Document 1]
JP-A-2002-262102
[Problems to be solved by the invention]
However, in order to perform high compression processing in image compression using the conventional technique, a method of executing lossy compression or selectively executing lossless compression and lossy compression for each area to reduce the data amount. As a result, the image quality after compression has been degraded due to irreversible compression.
[0026]
Further, in the case of lossless compression, there is only one compression result based on an input image and a compression method for compressing the input image, and it was not possible to select a compression ratio as in the case of irreversible compression.
Considering an example in which all of the images are compressed by lossless compression, in order to obtain a high compression ratio, a plurality of compression methods are provided, and a compression method with the highest compression ratio for the input image is selected. I couldn't imagine anything other than compress. In such a case, it is necessary to prepare a plurality of encoders having different compression schemes, and it is necessary to prepare a plurality of decoders corresponding to each compression scheme on the decoding side, which complicates the processing and increases the amount of hardware. It was a factor to invite.
[0027]
SUMMARY OF THE INVENTION It is an object of the present invention to provide an image processing apparatus and method which solves the above-mentioned problems and performs lossless compression of an image and performs high compression processing with a simple configuration.
[0028]
[Means for Solving the Problems]
As means for achieving such an object, the present invention has means having the following configuration.
[0029]
The image processing device of the present invention is an image processing device that compresses and outputs image data, a compression unit capable of performing reversible compression, and a storage unit that stores the compressed image data that has been compressed by the compression unit. Output means for reading out the compressed image data having the smallest data size from the storage means and outputting the compressed image data among the plurality of compressed image data generated by performing a compression process on the input image data by the compression means, I do.
[0030]
An image processing method according to the present invention is an image processing method for compressing and outputting image data. The image processing method includes a compression step of performing reversible compression of input image data, and storing the compressed image data compressed in the compression step. A storage step of storing the input image data in the compression step in the compression step, and an output step of reading out the compressed image data having the smallest data size among the plurality of compressed image data from the storage means and outputting the compressed image data. And characterized in that:
[0031]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0032]
<
FIG. 1 shows a configuration of an
[0033]
In FIG. 1,
[0034]
Further, FIG. 1 will be described along the flow of image data.
[0035]
[0036]
Further, a new offset value is set for the same input image data according to another offset value held in the holding
[0037]
As a result, the
[0038]
The data size comparator 105 compares the sizes of all the compressed image data in the
[0039]
With the above operation, in the present invention, an appropriate reference grid offset value is set for image data, and lossless compressed image data with the smallest data amount can be obtained.
[0040]
Here, the setting of the offset of the reference grid applied to the JPEG2000 compression method, which is the principle of the present invention, and the effect thereof will be described.
[0041]
FIG. 2 shows the relationship between the image data, the reference grid, and its offset value. The reference grid is a coordinate system set outside, apart from the address in the image data. By using this, JPEG2000 can handle various conditions in a unified manner, such as when subsampling the color data of image data.
[0042]
In FIG. 2, a rectangular area indicated by oblique lines is image data. On the other hand, a reference grid having an origin (0, 0) and a size (Xsiz, Ysiz) is provided outside the reference grid. At this time, the coordinates from the origin of the reference grid to the start point (upper left point) of the image data are given as (XOsiz, YOsiz) as the offset value of the reference grid. That is, on the reference grid, the start point (the upper left point) of the image data is represented by (XOsiz, YOsiz).
[0043]
Since the value of the offset of the reference grid does not directly change the value of the image data, the image data does not change even if it is set arbitrarily. However, the address value indicating the image data changes. This will be described with reference to FIGS.
[0044]
FIG. 3 is an example in which the offset value of the reference grid is (XOsiz, YOsiz) = (1, 1). In this case, the address of the image data (hatched portion) starts from (1, 1) from the upper left and changes in the horizontal direction to (2, 1), (3, 1),. Similarly, the vertical address changes to (1, 1), (1, 2), (1, 3),.
[0045]
On the other hand, FIG. 4 shows an example in which the offset value of the reference grid is changed and (XOsiz, YOsiz) = (2, 1). In this case, the address of the image data (hatched portion) starts from (2, 1) from the upper left, and changes to (3, 1), (4, 1),... In the horizontal direction. In the vertical direction, they change as (2, 1), (2, 2), (2, 3),.
[0046]
The value of the image data itself does not change between the two. That is, the value of the image data at the point represented by the address (1, 1) in FIG. 3 is the same as the value of the image data at the point represented by the address (2, 1) in FIG. And their values match exactly.
[0047]
By the way, in JPEG2000 compression, when the address of the image data changes due to the change of the offset value of the reference grid, a difference mainly occurs in the following two points in the subsequent processing.
(1) Effect of filter processing when performing wavelet transform (2) Setting position of code block First, differences in wavelet transform will be described with reference to FIGS. The figure shows a state where image data composed of six pixels is processed.
[0048]
FIG. 5 shows a case where the image data starts from
[0049]
On the other hand, FIG. 6 shows a case where image data having the same value starts from
[0050]
As can be seen from a comparison between FIG. 5 and FIG. 6, even if the image data is the same, the process of performing the wavelet transform is different because the address is different. Therefore, a different coefficient appears after the conversion. Different coefficients result in different data to be arithmetically coded, which may cause a difference in the compression ratio after arithmetic coding.
[0051]
Next, the setting position of the code block will be described with reference to FIGS. In the figure, both are the same image data, but only the way of giving the reference grid is different. Since the code block is divided according to the designated size from the origin of the reference grid, the manner of division of the code block differs depending on the offset of the reference grid. The wavelet-transformed coefficients are divided into bit planes in code block units, and arithmetically coded. Therefore, even if the result of the wavelet transform is the same, if the state of code block division is different, the arrangement of codes to be arithmetically coded changes. For this reason, the compression ratio of arithmetic coding may be different.
[0052]
As described above, even if the image data is the same, there is a case where a difference occurs in the conversion process depending on the way of giving the offset of the reference grid, and a difference occurs in the compression ratio of the arithmetic coding result.
[0053]
Therefore, in the present embodiment, a compression process is performed by giving a plurality of offset values to image data, thereby causing a difference in compression ratio according to the offset, and further, a compressed image having the smallest data amount after compression. The data can be selected.
[0054]
The above is the description of the first embodiment. By such an operation, an appropriate reference grid offset value is set for input image data, and lossless compressed image data with the smallest data size can be obtained.
[0055]
As described above, in the present embodiment, it is possible to obtain data that is irreversibly compressed and has the highest compression ratio.
[0056]
<
FIG. 9 shows a configuration of an
[0057]
In the figure,
[0058]
Further, FIG. 9 will be described along the flow of image data.
[0059]
[0060]
Then, the compressed image data is input to the
[0061]
Further, a new offset value is set for the same input image data according to another offset value held in the holding
[0062]
The
[0063]
Then, this series of processes, that is, the process of compressing and storing the image data from 202 to 205, is repeated a plurality of times by changing the offset values by the number of offset values of the reference grid held in the holding
[0064]
The above is the description of the second embodiment. By such an operation, an appropriate reference grid offset value is set for input image data, and lossless compressed image data with the smallest data size can be obtained.
[0065]
As described above, the second embodiment is configured to store only the compressed image data having the smallest data size after compression while creating the compressed image data. Therefore, the amount of memory used for data storage is reduced. It can be configured to be less than in the first embodiment.
[0066]
<
FIG. 10 shows a configuration of an
[0067]
In the figure,
[0068]
Further, FIG. 10 will be described along the flow of image data.
[0069]
[0070]
[0071]
On the other hand, the
[0072]
Subsequently, the
[0073]
The above is the description of the third embodiment. By such an operation, an appropriate reference grid offset value is set for input image data, and lossless compressed image data with the smallest data size can be obtained.
[0074]
As described above, in the third embodiment, since the creation of the compressed image data is performed in parallel, the time until the compressed image data is obtained can be shorter than in the first or second embodiment.
[0075]
<Other embodiments>
As another embodiment, the functions of the above-described embodiments of the present invention may be realized by software. Supplying a software program to a system or apparatus having a computer capable of executing the program directly from a recording medium or using wired / wireless communication, and the computer of the system or apparatus executing the supplied program. The present invention includes a case where the same function is achieved by the above.
[0076]
Therefore, the program code itself supplied and installed in the computer to implement the functional processing of the present invention by the computer also implements the present invention. That is, the present invention includes the computer program itself for implementing the functional processing of the present invention.
[0077]
In this case, any form of the program, such as an object code, a program executed by an interpreter, and script data to be supplied to the OS, may be used as long as the program has a function.
[0078]
As a recording medium for supplying the program, for example, a magnetic recording medium such as a flexible disk, a hard disk, a magnetic tape, an MO, a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD-R, a DVD- There are optical / magneto-optical storage media such as RW, and nonvolatile semiconductor memories.
[0079]
As a method for supplying a program using wired / wireless communication, a computer program itself that forms the present invention on a server on a computer network, or a computer that forms the present invention on a client computer, such as a compressed file having an automatic installation function, etc. A method of storing a data file (program data file) that can be a program and downloading the program data file to a connected client computer may be used. In this case, the program data file can be divided into a plurality of segment files, and the segment files can be arranged on different servers.
[0080]
That is, the present invention also includes a server device that allows a plurality of users to download a program data file for implementing the functional processing of the present invention on a computer.
[0081]
Further, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM and distributed to users, and key information for decrypting the encryption for a user who satisfies predetermined conditions is transmitted to, for example, a homepage via the Internet. It is also possible to realize the program by supplying it by downloading it from, and using the key information to execute an encrypted program and install it on a computer.
[0082]
The functions of the above-described embodiments are implemented when the computer executes the read program, and the OS or the like running on the computer executes a part of the actual processing based on the instructions of the program. Alternatively, the functions of the above-described embodiments can be realized by performing the entire process.
[0083]
Further, after the program read from the recording medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or the A CPU or the like provided in the function expansion unit performs part or all of actual processing, and the functions of the above-described embodiments can also be realized by the processing.
[0084]
【The invention's effect】
As described above, according to the present invention, lossless compressed image data having a data size as small as possible can be obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram of an image processing apparatus according to
FIG. 2 is an explanatory diagram of a reference grid.
FIG. 3 is an explanatory diagram of a reference grid.
FIG. 4 is an explanatory diagram of a reference grid.
FIG. 5 is an explanatory diagram of a 5 × 3 wavelet transform.
FIG. 6 is an explanatory diagram of a 5 × 3 wavelet transform.
FIG. 7 is an explanatory diagram of code block division.
FIG. 8 is an explanatory diagram of code block division.
FIG. 9 is a block diagram of an image processing apparatus according to
FIG. 10 is a block diagram of an image processing device according to a third embodiment of the present invention.
FIG. 11 is a block diagram of a conventional JPEG2000 compressor.
[Explanation of symbols]
REFERENCE SIGNS
Claims (15)
可逆圧縮が可能な圧縮手段と、
前記圧縮手段で圧縮処理された圧縮画像データを記憶する記憶手段と、
入力した画像データを前記圧縮手段で圧縮処理して複数の前記圧縮画像データを生成したうち最もデータサイズが小さい圧縮画像データを前記記憶手段から読み出して出力する出力手段とを備えたことを特徴とする画像処理装置。An image processing apparatus for compressing and outputting image data,
Compression means capable of reversible compression;
Storage means for storing the compressed image data compressed by the compression means,
Output means for reading out the compressed image data having the smallest data size from the storage means and outputting the compressed image data having a smallest data size among the plurality of compressed image data generated by performing a compression process on the input image data by the compression means, Image processing device.
入力画像データの可逆圧縮を行う圧縮ステップと、
前記圧縮ステップで圧縮処理された圧縮画像データを記憶手段に記憶する記憶ステップと、
前記入力画像データを前記圧縮ステップで圧縮処理して複数の前記圧縮画像データを生成したうち最もデータサイズが小さい圧縮画像データを前記記憶手段から読み出して出力する出力ステップとを有することを特徴とする画像処理方法。An image processing method for compressing and outputting image data,
A compression step of performing lossless compression of the input image data;
A storage step of storing the compressed image data compressed in the compression step in a storage unit;
An output step of reading out the compressed image data having the smallest data size from the storage means and outputting the compressed image data among a plurality of the compressed image data generated by performing a compression process on the input image data in the compression step. Image processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003039713A JP2004253889A (en) | 2003-02-18 | 2003-02-18 | Image processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003039713A JP2004253889A (en) | 2003-02-18 | 2003-02-18 | Image processing apparatus and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004253889A true JP2004253889A (en) | 2004-09-09 |
Family
ID=33023814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003039713A Withdrawn JP2004253889A (en) | 2003-02-18 | 2003-02-18 | Image processing apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004253889A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007282006A (en) * | 2006-04-10 | 2007-10-25 | Megachips Lsi Solutions Inc | Image signal processing unit |
JP2009130467A (en) * | 2007-11-20 | 2009-06-11 | Canon Inc | Image encoding apparatus and method of controlling the same |
US8238437B2 (en) | 2007-09-20 | 2012-08-07 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, and control method therefor |
KR101826039B1 (en) * | 2016-09-01 | 2018-02-06 | 주식회사 에벤에셀케이 | Method, Device, and Computer-Readable Medium for Optimizing Document Image |
JP2018056935A (en) * | 2016-09-30 | 2018-04-05 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus |
-
2003
- 2003-02-18 JP JP2003039713A patent/JP2004253889A/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007282006A (en) * | 2006-04-10 | 2007-10-25 | Megachips Lsi Solutions Inc | Image signal processing unit |
US7940991B2 (en) | 2006-04-10 | 2011-05-10 | Megachips Corporation | Image signal processing apparatus |
JP4736916B2 (en) * | 2006-04-10 | 2011-07-27 | 株式会社メガチップス | Image signal processing device |
US8238437B2 (en) | 2007-09-20 | 2012-08-07 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, and control method therefor |
JP2009130467A (en) * | 2007-11-20 | 2009-06-11 | Canon Inc | Image encoding apparatus and method of controlling the same |
KR101826039B1 (en) * | 2016-09-01 | 2018-02-06 | 주식회사 에벤에셀케이 | Method, Device, and Computer-Readable Medium for Optimizing Document Image |
JP2018056935A (en) * | 2016-09-30 | 2018-04-05 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4697967B2 (en) | Image coding apparatus and control method thereof | |
US6031940A (en) | System and method for efficiently encoding video frame sequences | |
KR101266577B1 (en) | The method and apparatus of processing an image | |
US6879727B2 (en) | Decoding bit-plane-encoded data using different image quality for display | |
US8254700B1 (en) | Optimized method and system for entropy coding | |
JPH11168633A (en) | Reconstruction execution method, reconstruction execution device, record medium, inverse conversion execution method, inverse conversion execution device, suitable reconstruction generating method, suitable reconstruction generator, coding data processing method, coding data processing unit and data processing system | |
JP2008072624A (en) | Image encoding device and its control method | |
KR100809409B1 (en) | Decoding apparatus, inverse quantization method, and computer readable medium recorded with the program | |
JP4785706B2 (en) | Decoding device and decoding method | |
JP2006502604A (en) | Image compression method for arbitrarily shaped objects | |
CN113170140A (en) | Bit plane encoding of data arrays | |
JP2006093958A (en) | Progressive jpeg decoding system | |
JP5088607B2 (en) | Method for reducing defects introduced in digital video data to be printed | |
US7123656B1 (en) | Systems and methods for video compression | |
JP2004253889A (en) | Image processing apparatus and method | |
WO2011143585A1 (en) | Parallel processing of sequentially dependent digital data | |
JP2003189109A (en) | Image processor and image processing method, and computer program | |
JP3952116B2 (en) | Image compression apparatus and method | |
JP7147075B2 (en) | Compression across multiple images | |
JP2006033161A (en) | Encoder | |
JP3559419B2 (en) | Method and apparatus for decompressing compressed image data | |
Nandi et al. | Fractal image compression by using loss-less encoding on the parameters of affine transforms | |
US8260070B1 (en) | Method and system to generate a compressed image utilizing custom probability tables | |
JPH0621828A (en) | Vector quantizing decoder | |
JP2005277758A (en) | Image decoding apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060509 |