JP3987425B2 - Image decompression apparatus, program, storage medium, and image decompression method - Google Patents

Image decompression apparatus, program, storage medium, and image decompression method Download PDF

Info

Publication number
JP3987425B2
JP3987425B2 JP2002360576A JP2002360576A JP3987425B2 JP 3987425 B2 JP3987425 B2 JP 3987425B2 JP 2002360576 A JP2002360576 A JP 2002360576A JP 2002360576 A JP2002360576 A JP 2002360576A JP 3987425 B2 JP3987425 B2 JP 3987425B2
Authority
JP
Japan
Prior art keywords
data
code data
code
acquired
cached
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.)
Expired - Fee Related
Application number
JP2002360576A
Other languages
Japanese (ja)
Other versions
JP2004194047A (en
JP2004194047A5 (en
Inventor
庄作 徳田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002360576A priority Critical patent/JP3987425B2/en
Publication of JP2004194047A publication Critical patent/JP2004194047A/en
Publication of JP2004194047A5 publication Critical patent/JP2004194047A5/ja
Application granted granted Critical
Publication of JP3987425B2 publication Critical patent/JP3987425B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像伸長装置、プログラム、記憶媒体及び画像伸長方法に関する。
【0002】
【従来の技術】
今日、画像圧縮方式として画像データをブロック(タイルとも呼ぶ)に分割し、各ブロック毎に独立な符号化を施し画像データを圧縮符号化する方式は、JPEG、JPEG2000、FlashPixなどで広く用いられている。
【0003】
ところで、上述したような圧縮符号化する方式においては、伸長時間を短縮することを目的として、様々な圧縮方法が提案されている。例えば、JPEGにおいては、ブロック比較法(BCT:Block Comparator Technique)という圧縮方法が提案されている。このJPEGにおけるBCTは、圧縮時に、全画素値が同一であるブロックを代表ブロック(最初の圧縮の対象となったブロック)と同一ブロック(代表ブロックと同じ画素値を持つブロック)とし、代表ブロックと同一ブロックの同一関係を表(BCT表)に記録して圧縮ファイルに組み込み、代表ブロックのみを符号化することで圧縮率の向上を図ることを目的とするものである。また、伸長時には、代表ブロックのみに対して伸長処理を行い同一ブロックに対する伸長処理を省略することによって、伸長時間を短縮することを目的とするものである。
【0004】
【発明が解決しようとする課題】
しかしながら、JPEGにおけるBCTは、圧縮フォーマットの変更が発生するために、圧縮処理側及び伸長処理側でその方式専用の機能の実装を必要とするという問題がある。
【0005】
本発明の目的は、圧縮フォーマットを変更することなく伸長処理の高速化を図ることができる画像伸長装置、プログラム、記憶媒体及び画像伸長方法を提供することである。
【0006】
【課題を解決するための手段】
請求項1記載の発明は、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長装置において、前記符号データ及びこの符号データを伸長した伸長データをキャッシュするキャッシュ手段と、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断手段と、取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較手段と、このデータ比較手段により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ手段と、前記データ比較手段により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替手段と、を備える。
【0007】
したがって、矩形領域毎に取得した符号データのサイズが閾値以下である場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データがキャッシュされ、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データが当該符号データの伸長データとして転送される。これにより、空白部分の画像データのようにサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、圧縮フォーマットを変更することなく伸長処理の高速化を図ることが可能になる。
【0008】
請求項2記載の発明は、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長装置において、前記符号データ及びこの符号データを伸長した伸長データをキャッシュするキャッシュ手段と、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断手段と、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較手段と、このデータ比較手段により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ手段と、前記データ比較手段により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替手段と、を備える。
【0009】
したがって、矩形領域毎に取得した符号データのサイズが閾値以下であり、かつ、取得した符号データの出現率が閾値以上であると判断された場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データがキャッシュされ、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データが当該符号データの伸長データとして転送される。これにより、空白部分の画像データのように一定比率以上出現してサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、オーバーヘッドを伴うことなく、圧縮フォーマットを変更することなく伸長処理の高速化を図ることが可能になる。
【0010】
請求項3記載の発明は、請求項1または2記載の画像伸長装置において、前記データ比較手段は、ハッシュ関数を用いて行う。
【0011】
したがって、データの同一性の検証の高速化を図ることが可能になる。
【0012】
請求項4記載の発明は、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する処理をコンピュータに実行させるコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに、前記符号データ及びこの符号データを伸長した伸長データをキャッシュするキャッシュ機能と、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断機能と、取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較機能と、このデータ比較機能により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ機能と、前記データ比較機能により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替機能と、を実行させる。
【0013】
したがって、矩形領域毎に取得した符号データのサイズが閾値以下である場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データがキャッシュされ、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データが当該符号データの伸長データとして転送される。これにより、空白部分の画像データのようにサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、圧縮フォーマットを変更することなく伸長処理の高速化を図ることが可能になる。
【0014】
請求項5記載の発明は、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する処理をコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに、前記符号データ及びこの符号データを伸長した伸長データをキャッシュするキャッシュ機能と、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断機能と、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較機能と、このデータ比較機能により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ機能と、前記データ比較機能により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替機能と、を実行させる。
【0015】
したがって、矩形領域毎に取得した符号データのサイズが閾値以下であり、かつ、取得した符号データの出現率が閾値以上であると判断された場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データがキャッシュされ、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データが当該符号データの伸長データとして転送される。これにより、空白部分の画像データのように一定比率以上出現してサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、オーバーヘッドを伴うことなく、圧縮フォーマットを変更することなく伸長処理の高速化を図ることが可能になる。
【0016】
請求項6記載の発明は、請求項4または5記載のプログラムにおいて、前記データ比較機能は、ハッシュ関数を用いて行う。
【0017】
したがって、データの同一性の検証の高速化を図ることが可能になる。
【0018】
請求項7記載の発明の記憶媒体は、請求項4ないし6のいずれか一記載のプログラムを記憶している。
【0019】
したがって、この記憶媒体に記憶されたプログラムをコンピュータにインストールするか、あるいは解釈させることにより、請求項4ないし6のいずれか一記載の発明と同様の作用を得ることが可能になる。
【0020】
請求項8記載の発明は、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長方法において、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断工程と、取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較工程と、このデータ比較工程により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ工程と、前記データ比較工程により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替工程と、を含む。
【0021】
したがって、矩形領域毎に取得した符号データのサイズが閾値以下である場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データがキャッシュされ、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データが当該符号データの伸長データとして転送される。これにより、空白部分の画像データのようにサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、圧縮フォーマットを変更することなく伸長処理の高速化を図ることが可能になる。
【0022】
請求項9記載の発明は、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長方法において、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断工程と、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較工程と、このデータ比較工程により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ工程と、前記データ比較工程により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替工程と、を含む。
【0023】
したがって、矩形領域毎に取得した符号データのサイズが閾値以下であり、かつ、取得した符号データの出現率が閾値以上であると判断された場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データがキャッシュされ、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データが当該符号データの伸長データとして転送される。これにより、空白部分の画像データのように一定比率以上出現してサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、オーバーヘッドを伴うことなく、圧縮フォーマットを変更することなく伸長処理の高速化を図ることが可能になる。
【0024】
請求項10記載の発明は、請求項8または9記載の画像伸長方法において、前記データ比較工程は、ハッシュ関数を用いて行う。
【0025】
したがって、データの同一性の検証の高速化を図ることが可能になる。
【0026】
【発明の実施の形態】
最初に、本実施の形態の前提となる「階層符号化アルゴリズム」及び「JPEG2000アルゴリズム」の概要について説明する。
【0027】
図1は、JPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。このシステムは、色空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105の各機能ブロックにより構成されている。
【0028】
このシステムが従来のJPEGアルゴリズムと比較して最も大きく異なる点の一つは変換方式である。JPEGでは離散コサイン変換(DCT:Discrete Cosine Transform)を用いているのに対し、この階層符号化アルゴリズムでは、2次元ウェーブレット変換・逆変換部102において、離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている。DWTはDCTに比べて、高圧縮領域における画質が良いという長所を有し、この点が、JPEGの後継アルゴリズムであるJPEG2000でDWTが採用された大きな理由の一つとなっている。
【0029】
また、他の大きな相違点は、この階層符号化アルゴリズムでは、システムの最終段に符号形成を行うために、タグ処理部105の機能ブロックが追加されていることである。このタグ処理部105で、画像の圧縮動作時には圧縮データが符号列データとして生成され、伸長動作時には伸長に必要な符号列データの解釈が行われる。そして、符号列データによって、JPEG2000は様々な便利な機能を実現できるようになった。例えば、ブロック・ベースでのDWTにおけるオクターブ分割に対応した任意の階層(デコンポジション・レベル)で、静止画像の圧縮伸長動作を自由に停止させることができるようになる(後述する図3参照)。
【0030】
原画像の入出力部分には、色空間変換・逆変換101が接続される場合が多い。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUVあるいはYCbCr表色系への変換又は逆変換を行う部分がこれに相当する。
【0031】
次に、JPEG2000アルゴリズムについて説明する。
【0032】
カラー画像は、一般に、図2に示すように、原画像の各コンポーネント111(ここではRGB原色系)が、矩形をした領域によって分割される。この分割された矩形領域は、一般にブロックあるいはタイルと呼ばれているものであるが、JPEG2000では、タイルと呼ぶことが一般的であるため、以下、このような分割された矩形領域をタイルと記述することにする(図2の例では、各コンポーネント111が縦横4×4、合計16個の矩形のタイル112に分割されている)。このような個々のタイル112(図2の例で、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15)が、画像データの圧縮伸長プロセスを実行する際の基本単位となる。従って、画像データの圧縮伸長動作は、コンポーネントごと、また、タイル112ごとに、独立に行われる。
【0033】
画像データの符号化時には、各コンポーネント111の各タイル112のデータが、図1の色空間変換・逆変換部101に入力され、色空間変換を施された後、2次元ウェーブレット変換部102で2次元ウェーブレット変換(順変換)が施されて、周波数帯に空間分割される。
【0034】
図3には、デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示している。すなわち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジション・レベル0)に対して、2次元ウェーブレット変換を施し、デコンポジション・レベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジション・レベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジション・レベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。図3では、各デコンポジション・レベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジション・レベル数を3としたとき、網掛けで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0035】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1に示す量子化・逆量子化部103で対象ビット周辺のビットからコンテキストが生成される。
【0036】
この量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図4に示したように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
【0037】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行うことができる。
【0038】
ここで、図5はビットプレーンに順位付けする手順の一例を示す説明図である。図5に示すように、この例は、原画像(32×32画素)を16×16画素のタイル4つで分割した場合で、デコンポジション・レベル1のプレシンクトとコード・ブロックの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられており、この例では、プレンシクトが番号0から3まで、コード・ブロックが番号0から3まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジション・レベル1のウェーブレット係数値を求めている。
【0039】
また、タイル0/プレシンクト3/コード・ブロック3について、代表的な「レイヤ」構成の概念の一例を示す説明図も図5に併せて示す。変換後のコード・ブロックは、サブバンド(1LL,1HL,1LH,1HH)に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【0040】
レイヤの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ0,1,2,3は、各々、1,3,1,3のビットプレーンから成っている。そして、LSB(Least Significant Bit:最下位ビット)に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、MSB(Most Significant Bit:最上位ビット)に近いレイヤは最後まで量子化されずに残ることになる。LSBに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0041】
図1に示すエントロピー符号化・復号化部104では、コンテキストと対象ビットから確率推定によって、各コンポーネント111のタイル112に対する符号化を行う。こうして、原画像の全てのコンポーネント111について、タイル112単位で符号化処理が行われる。最後にタグ処理部105は、エントロピー符号化・復号化部104からの全符号化データを1本の符号列データ(コードストリーム)に結合するとともに、それにタグを付加する処理を行う。
【0042】
図6は、JPEG2000の符号フォーマットの概略構成を示すものである。符号フォーマットは、符号データの始まりを示すSOC(Start of Codestream)マーカで始まる。SOCマーカの後には符号化のパラメータや量子化のパラメータ等を記述したタグ情報であるメインヘッダ(Main Header)が続き、その後に実際の符号データが続く。実際の符号データは、SOT(Start of Tile-part)マーカで始まり、タグ情報であるタイルヘッダ(Tile Header)、SOD(Start of data)マーカ、タイルデータ(符号:bit stream)で構成される。これら画像全体に相当する符号データの後に、符号の終了を示すタグ情報であるEOC(End of Codestream)マーカが付加される。
【0043】
一方、復号化時には、画像データの符号化時とは逆に、各コンポーネント111の各タイル112の符号列データから画像データを生成する。この場合、タグ処理部105は、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネント111の各タイル112の符号列データに分解し、その各コンポーネント111の各タイル112の符号列データ毎に復号化処理(伸長処理)を行う。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部103で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー符号化・復号化部104で、このコンテキストと符号列データから確率推定によって復号化を行い、対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは周波数帯域毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間変換・逆変換部101によって元の表色系の画像データに変換される。
【0044】
以上が、「JPEG2000アルゴリズム」の概要である。
【0045】
以下、本発明の実施の一形態について説明する。なお、ここでは、JPEG2000を代表とする画像圧縮伸長技術に関する例について説明するが、言うまでもなく、本発明は以下の説明の内容に限定されるものではない。
【0046】
ここで、図7は本発明が適用される画像処理装置1を含むシステムを示すシステム構成図、図8は画像処理装置1を概略的に示す機能ブロック図である。図7に示すように、本発明が適用される画像処理装置1は、例えばパーソナルコンピュータであり、インターネットであるネットワーク5を介して各種画像データを記憶保持するサーバコンピュータSに接続可能とされている。本実施の形態においては、サーバコンピュータSに記憶保持されている画像データは、「JPEG2000アルゴリズム」に従って圧縮生成された符号列データである。画像処理装置1は、図8に示すように、サーバコンピュータSから受信した符号列データを伸長(復号)して画像データとする画像伸長装置2と、この伸長後の画像データによる画像を表示する画像表示装置3と、サーバコンピュータSから受信した符号列データを記憶する符号列記憶部4とを備えている。符号列記憶部4は、一般的なバッファとしての機能、あるいは、長期間に渡る画像の符号列データの貯蔵庫として機能し、用途により使い分けられる。
【0047】
次に、画像処理装置1のハードウェア構成について図9を参照しつつ説明する。図9に示すように、画像処理装置1は、各部を集中的に制御して情報処理を行うCPU(Central Processing Unit)6、情報を格納するROM(Read Only Memory)やRAM(Random Access Memory)からなるメモリ7、ネットワーク5を介してサーバコンピュータSからダウンロードした符号列データ(図6参照)を記憶する符号列記憶部4を構成するHDD(Hard Disk Drive)10、情報を保管したり外部に情報を配布したり外部から情報を入手するためのCD−ROMドライブ12、ネットワーク5を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置13、処理経過や結果等を操作者に表示する画像表示装置3を構成するCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示装置15、操作者がCPU6に命令や情報等を入力するためのキーボードやマウス等の入力装置14、論理回路8等から構成されており、これらの各部間で送受信されるデータをバスコントローラ9が調停して動作する。
【0048】
なお、本実施の形態においては、メモリ7やHDD10は、一部のデータをキャッシュするキャッシュ手段としても機能する。
【0049】
このような画像処理装置1では、ユーザが電源を投入するとCPU6がメモリ7内のローダーというプログラムを起動させ、HDD10よりオペレーティングシステムというコンピュータのハードウェアとソフトウェアとを管理するプログラムをメモリ7に読み込み、このオペレーティングシステムを起動させる。このようなオペレーティングシステムは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。オペレーティングシステムのうち代表的なものとしては、Windows(登録商標)、UNIX(登録商標)等が知られている。これらのオペレーティングシステム上で走る動作プログラムをアプリケーションプログラムと呼んでいる。
【0050】
ここで、画像処理装置1は、アプリケーションプログラムとして、画像処理プログラムをHDD10に記憶している。この意味で、HDD10は、画像処理プログラムを記憶する記憶媒体として機能する。
【0051】
また、一般的には、画像処理装置1のHDD10にインストールされる動作プログラムは、CD−ROM11やDVD−ROM等の光情報記録メディアやFD等の磁気メディア等に記録され、この記録された動作プログラムがHDD10にインストールされる。このため、CD−ROM11等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体も、画像処理プログラムを記憶する記憶媒体となり得る。さらには、画像処理プログラムは、例えば通信制御装置13を介して外部から取り込まれ、HDD10にインストールされても良い。
【0052】
画像処理装置1は、オペレーティングシステム上で動作する画像処理プログラムが起動すると、この画像処理プログラムに従い、CPU6が各種の演算処理を実行して各部を集中的に制御する。ここで、CPU6が実行する画像処理装置1の各部の動作について簡単に説明する。ネットワーク5を介してサーバコンピュータSから画像処理装置1に出力された符号列データ(JPEG2000データ)は、符号列記憶部4に出力されてHDD10に格納され、また、画像伸長装置2で伸長処理される。そして、画像伸長装置2で伸長処理されて生成された画像データは、画像表示装置3に出力され、この伸長後の画像データによる画像が表示装置15に表示される。これらの各部における各種機能は、前述の画像処理プログラムにしたがってCPU6が行う処理により実現している。なお、リアルタイム性が重要視される場合には、処理を高速化する必要がある。そのためには、論理回路8の動作により、各部における各種機能を実現するようにするのが望ましい。
【0053】
次に、画像処理装置1のCPU6が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。ここでは、本発明の主要部分である画像伸長装置2における画像伸長処理について説明する。
【0054】
ここで、図10は画像伸長処理の流れを概略的に示すフローチャートである。図10に示すように、本実施の形態の画像伸長処理は、従来の画像伸長処理に、一部のデータをメモリ7やHDD10にキャッシュとして置くキャッシュ制御処理を加えたものである。
【0055】
まず、画像伸長装置2に入力された符号列データ(JPEG2000データ)の最初のタイルについて(ステップS1のN)、当該タイルの符号データ(図6に示すタイルデータ)がキャッシュ可能であるか否かを判断する(ステップS2:データ判断手段)。
【0056】
ここで、キャッシュ可能であるか否かの判断は、キャッシュする条件(サイズや出現率)に適合しているか否かによって行う。ここで、符号データをキャッシュする条件について説明する。例えば、符号データのサイズが数100バイト程度の場合には、空白部分の画像データである可能性が高く同じ様なタイルが他にも存在すると考えられる。そこで、符号データのサイズが閾値(数100バイト程度)以下であることをキャッシュする条件とすることで、同じ様なタイルについてのデータを容易に抽出することができるようになる。なお、符号データのサイズが数100バイト程度であっても、同様のサイズのタイルが全体に対して一定比率(5%程度)以上出現する場合にのみ、符号データをキャッシュするようにしても良い。符号データをキャッシュに収容しても、同じ様なタイルが少ない場合には、多少のオーバーヘッドが伴うので、キャッシュ処理が効率的に働かないためである。
【0057】
符号データがキャッシュ可能であると判断した場合には(ステップS2のY)、ステップS3に進む。また、符号データがキャッシュ可能であると判断しない場合には(ステップS2のN)、ステップS4に進み、当該タイルの符号データを「JPEG2000アルゴリズム」に従って伸長処理する。符号データの「JPEG2000アルゴリズム」に従った伸長処理(復号化処理)については、図1で示した空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105の説明において前述したので、ここでの説明は省略する。
【0058】
ステップS3においては、当該タイルの符号データと同一の符号データがキャッシュされているか否かを判断する。ここでの判断は、符号を全て比較するのではなく、ハッシュ関数を用いる。このようにハッシュ関数を用いることにより、データの同一性の検証の高速化を図ることが可能になる。ここに、データ比較手段の機能が実行される。
【0059】
当該タイルの符号データと同一の符号データがキャッシュされていないと判断した場合には(ステップS3のN)、当該タイルの符号データを伸長処理した後(ステップS5)、符号データ及びこの符号データを伸長したタイルデータをキャッシュに収容し(ステップS6:データキャッシュ手段)、ステップS1に戻って次のタイルの処理を行う。
【0060】
また、当該タイルの符号データと同一の符号データがキャッシュされていると判断した場合には(ステップS3のY)、符号データが一致する以前に伸長したタイルデータをキャッシュから転送する(ステップS7:伸長データ代替手段)。
【0061】
ここに、矩形領域毎に取得した符号データのサイズが閾値以下である場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データがキャッシュされ、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データが当該符号データの伸長データとして転送される。これにより、空白部分の画像データのようにサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、圧縮フォーマットを変更することなく伸長処理の高速化を図ることが可能になる。
【0062】
なお、本実施の形態においては、符号データ及びこの符号データを伸長したタイルデータを、メモリ7やHDD10にキャッシュするようにしたが、これに限るものではない。例えば、CPU6や論理回路8に予めキャッシュメモリを備えるようにして、符号データ及びこの符号データを伸長したタイルデータをこのキャッシュメモリに収容するようにしても良い。
【0063】
なお、本実施の形態においては、原画像にタイル分割処理を施した場合について説明したが、これに限るものではない。原画像に対してタイル分割を行わない場合でも、JPEG2000アルゴリズムにおけるプレシンクトやコード・ブロックを矩形領域(ブロック)として利用することが可能である。
【0064】
【発明の効果】
請求項1記載の発明によれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長装置において、前記符号データ及びこの符号データを伸長した伸長データをキャッシュするキャッシュ手段と、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断手段と、取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較手段と、このデータ比較手段により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ手段と、前記データ比較手段により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替手段と、を備え、矩形領域毎に取得した符号データのサイズが閾値以下である場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データをキャッシュし、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データを当該符号データの伸長データとして転送することにより、空白部分の画像データのようにサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、圧縮フォーマットを変更することなく伸長処理の高速化を図ることができる。
【0065】
請求項2記載の発明によれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長装置において、前記符号データ及びこの符号データを伸長した伸長データをキャッシュするキャッシュ手段と、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断手段と、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較手段と、このデータ比較手段により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ手段と、前記データ比較手段により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替手段と、を備え、矩形領域毎に取得した符号データのサイズが閾値以下であり、かつ、取得した符号データの出現率が閾値以上であると判断された場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データをキャッシュし、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データを当該符号データの伸長データとして転送することにより、空白部分の画像データのように一定比率以上出現してサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、オーバーヘッドを伴うことなく、圧縮フォーマットを変更することなく伸長処理の高速化を図ることができる。
【0066】
請求項3記載の発明によれば、請求項1または2記載の画像伸長装置において、前記データ比較手段は、ハッシュ関数を用いて行うことにより、データの同一性の検証の高速化を図ることができる。
【0067】
請求項4記載の発明によれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する処理をコンピュータに実行させるコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに、前記符号データ及びこの符号データを伸長した伸長データをキャッシュするキャッシュ機能と、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断機能と、取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較機能と、このデータ比較機能により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ機能と、前記データ比較機能により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替機能と、を実行させ、矩形領域毎に取得した符号データのサイズが閾値以下である場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データをキャッシュし、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データを当該符号データの伸長データとして転送することにより、空白部分の画像データのようにサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、圧縮フォーマットを変更することなく伸長処理の高速化を図ることができる。
【0068】
請求項5記載の発明によれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する処理をコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに、前記符号データ及びこの符号データを伸長した伸長データをキャッシュするキャッシュ機能と、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断機能と、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較機能と、このデータ比較機能により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ機能と、前記データ比較機能により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替機能と、を実行させ、矩形領域毎に取得した符号データのサイズが閾値以下であり、かつ、取得した符号データの出現率が閾値以上であると判断された場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データをキャッシュし、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データを当該符号データの伸長データとして転送することにより、空白部分の画像データのように一定比率以上出現してサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、オーバーヘッドを伴うことなく、圧縮フォーマットを変更することなく伸長処理の高速化を図ることができる。
【0069】
請求項6記載の発明によれば、請求項4または5記載のプログラムにおいて、前記データ比較機能は、ハッシュ関数を用いて行うことにより、データの同一性の検証の高速化を図ることができる。
【0070】
請求項7記載の発明の記憶媒体によれば、請求項4ないし6のいずれか一記載のプログラムを記憶していることにより、この記憶媒体に記憶されたプログラムをコンピュータにインストールするか、あるいは解釈させることにより、請求項4ないし6のいずれか一記載の発明と同様の作用効果を得ることができる。
【0071】
請求項8記載の発明によれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長方法において、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断工程と、取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較工程と、このデータ比較工程により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ工程と、前記データ比較工程により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替工程と、を含み、矩形領域毎に取得した符号データのサイズが閾値以下である場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データをキャッシュし、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データを当該符号データの伸長データとして転送することにより、空白部分の画像データのようにサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、圧縮フォーマットを変更することなく伸長処理の高速化を図ることができる。
【0072】
請求項9記載の発明によれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長方法において、前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断工程と、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較工程と、このデータ比較工程により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及びこの符号データを伸長した伸長データをキャッシュするデータキャッシュ工程と、前記データ比較工程により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替工程と、を含み、矩形領域毎に取得した符号データのサイズが閾値以下であり、かつ、取得した符号データの出現率が閾値以上であると判断された場合であって、当該符号データと一致する他の符号データがキャッシュされていない場合には、符号データ及びこの符号データを伸長した伸長データをキャッシュし、当該符号データと一致する他の符号データがキャッシュされている場合には、一致する他の符号データの伸長データを当該符号データの伸長データとして転送することにより、空白部分の画像データのように一定比率以上出現してサイズが小さい符号データについて同一の符号データが出現した場合には、伸長処理を行わずに先に伸長処理を行った同一の符号データの伸長データを用いることで、オーバーヘッドを伴うことなく、圧縮フォーマットを変更することなく伸長処理の高速化を図ることができる。
【0073】
請求項10記載の発明によれば、請求項8または9記載の画像伸長方法において、前記データ比較工程は、ハッシュ関数を用いて行うことにより、データの同一性の検証の高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の前提となるJPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。
【図2】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図3】デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示す説明図である。
【図4】プレシンクトを示す説明図である。
【図5】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図6】 JPEG2000の符号フォーマットの概略構成を示す説明図である。
【図7】本発明の実施の一形態の画像処理装置を含むシステムを示すシステム構成図である。
【図8】画像処理装置を概略的に示す機能ブロック図である。
【図9】画像処理装置のハードウェア構成を概略的に示すブロック図でである。
【図10】画像伸長処理の流れを概略的に示すフローチャートである。
【符号の説明】
2 画像伸長装置
10,11 記憶媒体
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image expansion device, a program, a storage medium, and an image expansion method.
[0002]
[Prior art]
Today, image compression methods that divide image data into blocks (also called tiles), perform independent encoding for each block, and compress and encode image data are widely used in JPEG, JPEG2000, FlashPix, etc. Yes.
[0003]
By the way, in the compression encoding method as described above, various compression methods have been proposed for the purpose of shortening the decompression time. For example, in JPEG, a compression method called a block comparison technique (BCT: Block Comparator Technique) has been proposed. The BCT in JPEG is a block having the same pixel value at the time of compression as a representative block (a block subjected to the first compression) and the same block (a block having the same pixel value as the representative block). The object is to record the same relationship of the same block in a table (BCT table), incorporate it into a compressed file, and encode only the representative block to improve the compression rate. Also, at the time of decompression, the purpose is to shorten the decompression time by performing decompression processing only on the representative block and omitting decompression processing on the same block.
[0004]
[Problems to be solved by the invention]
However, the BCT in JPEG has a problem that since the compression format changes, it is necessary to implement functions dedicated to the method on the compression processing side and the decompression processing side.
[0005]
An object of the present invention is to provide an image decompression apparatus, a program, a storage medium, and an image decompression method capable of increasing the speed of decompression processing without changing the compression format.
[0006]
[Means for Solving the Problems]
The invention according to claim 1 is an image decompression apparatus for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression coding for each rectangular area obtained by dividing an image into one or a plurality of areas. A cache unit that caches decompressed data obtained by decompressing data, a data determination unit that acquires the code data for each rectangular area, and determines whether the size of the acquired code data is equal to or less than a threshold value; When it is determined that the size of the code data is equal to or less than a threshold value, the data comparison means for determining whether other code data that matches the acquired code data is cached, and the data comparison means When it is determined that other matching code data is not cached, the acquired code data and this code data are expanded. Data cache means for caching the decompressed data and the decompressed data of the code data obtained by obtaining the decompressed data of the other matched code data when it is determined that the matched code data is cached by the data comparing means Decompression data alternative means for transferring as
[0007]
Therefore, when the size of the code data acquired for each rectangular area is equal to or smaller than the threshold value and other code data matching the code data is not cached, the code data and the code data are expanded. When the decompressed data is cached and other code data that matches the code data is cached, the decompressed data of the other code data that matches is transferred as the decompressed data of the code data. As a result, when the same code data appears for code data having a small size, such as blank image data, the decompressed data of the same code data that has been decompressed first is used without performing the decompression process. This makes it possible to increase the speed of the decompression process without changing the compression format.
[0008]
According to a second aspect of the present invention, there is provided an image decompressing apparatus for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression coding for each rectangular area obtained by dividing an image into one or a plurality of areas. A cache unit that caches decompressed data obtained by decompressing data; obtains the code data for each rectangular area; and the size of the obtained code data is equal to or less than a threshold value, and the appearance rate of the obtained code data is When it is determined that the size of the acquired code data is equal to or less than the threshold and the appearance rate of the acquired code data is equal to or greater than the threshold, the data determination unit that determines whether or not the threshold is equal to or greater than A data comparison means for determining whether or not other code data matching the acquired code data is cached, and the data comparison means When it is determined that other code data to be cached is not cached, the data cache means for caching the acquired code data and the decompressed data obtained by decompressing the code data, and the code data matched by the data comparison means are cached. And decompressed data substitution means for transferring decompressed data of other matching code data as decompressed data of the acquired code data when it is determined that the data is matched.
[0009]
Therefore, when it is determined that the size of the code data acquired for each rectangular area is equal to or smaller than the threshold and the appearance rate of the acquired code data is equal to or higher than the threshold, other codes that match the code data If the data is not cached, the code data and the decompressed data obtained by decompressing the code data are cached. If other code data that matches the code data is cached, the other code data that matches the code data The decompressed data is transferred as decompressed data of the code data. As a result, when the same code data appears for code data that appears at a certain ratio or more and has a small size, such as image data of a blank part, the same code that has been previously decompressed without performing the decompression process By using the decompressed data, it is possible to increase the speed of the decompression process without an overhead and without changing the compression format.
[0010]
According to a third aspect of the present invention, in the image expansion device according to the first or second aspect, the data comparison means is performed using a hash function.
[0011]
Therefore, it is possible to speed up verification of data identity.
[0012]
The invention according to claim 4 is installed in a computer that causes a computer to execute a process of decompressing code data obtained by performing discrete wavelet transform on pixel values and hierarchically compression-coding each rectangular area obtained by dividing an image into one or a plurality of rectangular areas. Or a program that is interpreted and executed, the cache function for caching the code data and decompressed data obtained by decompressing the code data in the computer, and obtaining the code data for each rectangular area, A data determination function for determining whether or not the size of the acquired code data is equal to or smaller than a threshold value, and when it is determined that the size of the acquired code data is equal to or smaller than the threshold value, it matches the acquired code data A data comparison function that determines whether other code data is cached, and this data comparison function When it is determined that the other code data that matches is not cached, the data cache function that caches the acquired code data and the decompressed data obtained by decompressing the code data, and the code data that matches by the data comparison function are When it is determined that the data is cached, a decompressed data substitution function for transferring the decompressed data of the matching other code data as the decompressed data of the acquired code data is executed.
[0013]
Therefore, when the size of the code data acquired for each rectangular area is equal to or smaller than the threshold value and other code data matching the code data is not cached, the code data and the code data are expanded. When the decompressed data is cached and other code data that matches the code data is cached, the decompressed data of the other code data that matches is transferred as the decompressed data of the code data. As a result, when the same code data appears for code data having a small size, such as blank image data, the decompressed data of the same code data that has been decompressed first is used without performing the decompression process. This makes it possible to increase the speed of the decompression process without changing the compression format.
[0014]
According to the fifth aspect of the present invention, a process for expanding code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression encoding for each rectangular area obtained by dividing an image into one or a plurality of areas is installed in a computer or interpreted. A cache function that caches the code data and decompressed data obtained by decompressing the code data in the computer, and obtains the code data for each rectangular area, and obtains the code A data determination function for determining whether the size of the data is equal to or less than a threshold and the appearance rate of the acquired code data is equal to or greater than the threshold; and the size of the acquired code data is equal to or less than the threshold; and When it is determined that the appearance rate of the acquired code data is equal to or higher than a threshold, another code that matches the acquired code data The data comparison function for determining whether or not the data is cached, and the code comparison data and the code data acquired when it is determined by the data comparison function that the other matched code data is not cached. Data cache function that caches decompressed decompressed data and decompression of the code data obtained by obtaining decompressed data of other matched code data when it is determined by the data comparison function that the matched code data is cached And a decompression data substitution function to transfer as data.
[0015]
Therefore, when it is determined that the size of the code data acquired for each rectangular area is equal to or smaller than the threshold and the appearance rate of the acquired code data is equal to or higher than the threshold, other codes that match the code data If the data is not cached, the code data and the decompressed data obtained by decompressing the code data are cached. If other code data that matches the code data is cached, the other code data that matches the code data The decompressed data is transferred as decompressed data of the code data. As a result, when the same code data appears for code data that appears at a certain ratio or more and has a small size, such as image data of a blank part, the same code that has been previously decompressed without performing the decompression process By using the decompressed data, it is possible to increase the speed of the decompression process without an overhead and without changing the compression format.
[0016]
According to a sixth aspect of the present invention, in the program according to the fourth or fifth aspect, the data comparison function is performed using a hash function.
[0017]
Therefore, it is possible to speed up verification of data identity.
[0018]
A storage medium according to a seventh aspect stores the program according to any one of the fourth to sixth aspects.
[0019]
Therefore, by installing or interpreting the program stored in the storage medium in the computer, it is possible to obtain the same operation as that of the invention according to any one of claims 4 to 6.
[0020]
The invention according to claim 8 is an image decompression method for decompressing code data obtained by subjecting a pixel value to discrete wavelet transform and hierarchical compression coding for each rectangular area obtained by dividing an image into one or a plurality of rectangular areas. A data determination step of acquiring code data and determining whether or not the size of the acquired code data is equal to or less than a threshold value, and acquiring when it is determined that the size of the acquired code data is equal to or less than a threshold value The data comparison step for determining whether or not other code data that matches the code data is cached, and when the data comparison step determines that the other code data that matches is not cached. The data cache process that caches the encoded data and the decompressed data obtained by decompressing the encoded data matches the data comparing process. If the code data is judged to be cached, including the decompressed data alternative process of transferring the decompressed data of the other code data that matches the decompressed data of the encoded data acquired, the.
[0021]
Therefore, when the size of the code data acquired for each rectangular area is equal to or smaller than the threshold value and other code data matching the code data is not cached, the code data and the code data are expanded. When the decompressed data is cached and other code data that matches the code data is cached, the decompressed data of the other code data that matches is transferred as the decompressed data of the code data. As a result, when the same code data appears for code data having a small size, such as blank image data, the decompressed data of the same code data that has been decompressed first is used without performing the decompression process. This makes it possible to increase the speed of the decompression process without changing the compression format.
[0022]
The invention according to claim 9 is an image decompression method for decompressing code data obtained by subjecting a pixel value to discrete wavelet transform and hierarchical compression coding for each rectangular area obtained by dividing an image into one or a plurality of rectangular areas. A data determination step of acquiring code data, determining whether the size of the acquired code data is equal to or less than a threshold value, and whether the appearance rate of the acquired code data is equal to or greater than a threshold value, and the acquired code Whether or not other code data that matches the acquired code data is cached when the size of the data is equal to or smaller than the threshold and the appearance rate of the acquired code data is determined to be equal to or higher than the threshold The data comparison process for determining the code data obtained when the data comparison process determines that the other code data that matches is not cached. In addition, when it is determined by the data cache step that caches the decompressed data obtained by decompressing the code data and the code data that is matched by the data comparison step, the decompressed data of the other code data that matches is acquired. A decompression data substitution step of transferring the data as decompressed data of the code data.
[0023]
Therefore, when it is determined that the size of the code data acquired for each rectangular area is equal to or smaller than the threshold and the appearance rate of the acquired code data is equal to or higher than the threshold, other codes that match the code data If the data is not cached, the code data and the decompressed data obtained by decompressing the code data are cached. If other code data that matches the code data is cached, the other code data that matches the code data The decompressed data is transferred as decompressed data of the code data. As a result, when the same code data appears for code data that appears at a certain ratio or more and has a small size, such as image data of a blank part, the same code that has been previously decompressed without performing the decompression process By using the decompressed data, it is possible to increase the speed of the decompression process without an overhead and without changing the compression format.
[0024]
According to a tenth aspect of the present invention, in the image expansion method according to the eighth or ninth aspect, the data comparison step is performed using a hash function.
[0025]
Therefore, it is possible to speed up verification of data identity.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
First, an outline of the “hierarchical encoding algorithm” and the “JPEG2000 algorithm” that are the premise of the present embodiment will be described.
[0027]
FIG. 1 is a functional block diagram of a system that implements a hierarchical encoding algorithm that is the basis of the JPEG2000 system. This system includes color space transform / inverse transform unit 101, two-dimensional wavelet transform / inverse transform unit 102, quantization / inverse quantization unit 103, entropy encoding / decoding unit 104, and tag processing unit 105. It is configured.
[0028]
One of the biggest differences between this system and the conventional JPEG algorithm is the conversion method. In JPEG, discrete cosine transform (DCT) is used. In this hierarchical coding algorithm, the two-dimensional wavelet transform / inverse transform unit 102 uses discrete wavelet transform (DWT). ing. DWT has the advantage of better image quality in the high compression region than DCT, and this is one of the main reasons why DWT is adopted in JPEG2000, which is a successor algorithm of JPEG.
[0029]
Another major difference is that in this hierarchical encoding algorithm, a functional block of the tag processing unit 105 is added in order to perform code formation at the final stage of the system. The tag processing unit 105 generates compressed data as code string data during an image compression operation, and interprets code string data necessary for decompression during the decompression operation. And JPEG2000 can realize various convenient functions by code string data. For example, the compression / decompression operation of a still image can be freely stopped at an arbitrary layer (decomposition level) corresponding to octave division in block-based DWT (see FIG. 3 described later).
[0030]
In many cases, color space conversion / inverse conversion 101 is connected to the input / output portion of the original image. For example, the RGB color system composed of R (red) / G (green) / B (blue) components of the primary color system and the Y (yellow) / M (magenta) / C (cyan) components of the complementary color system This corresponds to the part that performs conversion or reverse conversion from the YMC color system consisting of the above to the YUV or YCbCr color system.
[0031]
Next, the JPEG2000 algorithm will be described.
[0032]
As shown in FIG. 2, in a color image, each component 111 (RGB primary color system here) of an original image is generally divided by a rectangular area. This divided rectangular area is generally called a block or a tile. In JPEG2000, it is generally called a tile. Therefore, such a divided rectangular area is hereinafter referred to as a tile. (In the example of FIG. 2, each component 111 is divided into a total of 16 rectangular tiles 112, 4 × 4 in length and breadth). When such individual tiles 112 (R00, R01,..., R15 / G00, G01,..., G15 / B00, B01,..., B15 in the example of FIG. 2) execute the image data compression / decompression process. It becomes the basic unit. Therefore, the compression / decompression operation of the image data is performed independently for each component and for each tile 112.
[0033]
At the time of encoding image data, the data of each tile 112 of each component 111 is input to the color space conversion / inverse conversion unit 101 in FIG. A dimensional wavelet transform (forward transform) is applied to divide the space into frequency bands.
[0034]
FIG. 3 shows subbands at each decomposition level when the number of decomposition levels is three. In other words, the tile original image (0LL) (decomposition level 0) obtained by tile division of the original image is subjected to two-dimensional wavelet transform, and the subbands (1LL, 1HL, 1LH shown in the decomposition level 1) , 1HH). Subsequently, the low-frequency component 1LL in this hierarchy is subjected to two-dimensional wavelet transformation to separate the subbands (2LL, 2HL, 2LH, 2HH) indicated by the decomposition level 2. Similarly, the low-frequency component 2LL is also subjected to two-dimensional wavelet transform to separate subbands (3LL, 3HL, 3LH, 3HH) shown in the decomposition level 3. In FIG. 3, the subbands to be encoded at each decomposition level are indicated by shading. For example, when the number of decomposition levels is 3, the subbands (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) indicated by shading are the encoding targets, and the 3LL subband is encoded. It is not converted.
[0035]
Next, the bits to be encoded are determined in the specified encoding order, and the context is generated from the bits around the target bits by the quantization / inverse quantization unit 103 shown in FIG.
[0036]
The wavelet coefficients that have undergone the quantization process are divided into non-overlapping rectangles called “precincts” for each subband. This was introduced to use memory efficiently in implementation. As shown in FIG. 4, one precinct consists of three rectangular regions that are spatially coincident. Further, each precinct is divided into non-overlapping rectangular “code blocks”. This is the basic unit for entropy coding.
[0037]
The coefficient value after wavelet transform can be quantized and encoded as it is, but in JPEG2000, in order to increase the encoding efficiency, the coefficient value is decomposed into “bit plane” units, and each pixel or code block is divided. Ranking can be performed on “bitplanes”.
[0038]
Here, FIG. 5 is an explanatory diagram showing an example of a procedure for ranking the bit planes. As shown in FIG. 5, this example is a case where the original image (32 × 32 pixels) is divided into four 16 × 16 pixel tiles, and the size of the precinct and code block at the composition level 1 is Each is 8 × 8 pixels and 4 × 4 pixels. The numbers of the precinct and the code block are assigned in raster order. In this example, the number of assigns is assigned from numbers 0 to 3, and the code block is assigned from numbers 0 to 3. A mirroring method is used for pixel expansion outside the tile boundary, wavelet transform is performed with a reversible (5, 3) filter, and a wavelet coefficient value of decomposition level 1 is obtained.
[0039]
An explanatory diagram showing an example of the concept of a typical “layer” configuration for tile 0 / precinct 3 / code block 3 is also shown in FIG. The converted code block is divided into subbands (1LL, 1HL, 1LH, 1HH), and wavelet coefficient values are assigned to the subbands.
[0040]
The layer structure is easy to understand when the wavelet coefficient values are viewed from the horizontal direction (bit plane direction). One layer is composed of an arbitrary number of bit planes. In this example, layers 0, 1, 2, and 3 are made up of bit planes of 1, 3, 1, and 3, respectively. A layer including a bit plane closer to LSB (Least Significant Bit) is subject to quantization first. Conversely, a layer closer to MSB (Most Significant Bit) is quantized to the end. It will remain without being. A method of discarding from a layer close to the LSB is called truncation, and the quantization rate can be finely controlled.
[0041]
The entropy encoding / decoding unit 104 illustrated in FIG. 1 performs encoding on the tile 112 of each component 111 by probability estimation from the context and the target bit. In this way, encoding processing is performed in units of tiles 112 for all components 111 of the original image. Finally, the tag processing unit 105 performs a process of combining all the encoded data from the entropy encoding / decoding unit 104 into one code string data (code stream) and adding a tag thereto.
[0042]
FIG. 6 shows a schematic configuration of a JPEG2000 code format. The code format starts with an SOC (Start of Codestream) marker indicating the start of code data. The SOC marker is followed by a main header which is tag information describing coding parameters, quantization parameters, and the like, followed by actual code data. The actual code data starts with an SOT (Start of Tile-part) marker, and is composed of a tile header (Tile Header), an SOD (Start of data) marker, and tile data (code: bit stream) as tag information. After the code data corresponding to the entire image, an EOC (End of Codestream) marker which is tag information indicating the end of the code is added.
[0043]
On the other hand, at the time of decoding, the image data is generated from the code string data of each tile 112 of each component 111, contrary to the case of encoding the image data. In this case, the tag processing unit 105 interprets tag information added to the code string data input from the outside, decomposes the code string data into code string data of each tile 112 of each component 111, and Decoding processing (decompression processing) is performed for each code string data of each tile 112. At this time, the positions of the bits to be decoded are determined in the order based on the tag information in the code string data, and the quantization / inverse quantization unit 103 determines the peripheral bits of the target bit position (already decoded). Context is generated from the sequence of The entropy encoding / decoding unit 104 performs decoding by probability estimation from the context and code string data, generates a target bit, and writes it in the position of the target bit. Since the data decoded in this way is spatially divided for each frequency band, the two-dimensional wavelet transform / inverse transform unit 102 performs two-dimensional wavelet inverse transform on each of the components of the image data. The tile is restored. The restored data is converted to original color system image data by the color space conversion / inverse conversion unit 101.
[0044]
The above is the outline of the “JPEG2000 algorithm”.
[0045]
Hereinafter, an embodiment of the present invention will be described. Although an example relating to an image compression / decompression technique represented by JPEG2000 will be described here, it goes without saying that the present invention is not limited to the contents of the following description.
[0046]
7 is a system configuration diagram showing a system including the image processing apparatus 1 to which the present invention is applied, and FIG. 8 is a functional block diagram schematically showing the image processing apparatus 1. As shown in FIG. 7, an image processing apparatus 1 to which the present invention is applied is, for example, a personal computer, and can be connected to a server computer S that stores various image data via a network 5 that is the Internet. . In the present embodiment, the image data stored and held in the server computer S is code string data compressed and generated according to the “JPEG2000 algorithm”. As shown in FIG. 8, the image processing apparatus 1 displays an image based on the image decompression apparatus 2 that decompresses (decodes) the code string data received from the server computer S into image data and the decompressed image data. An image display device 3 and a code string storage unit 4 that stores code string data received from the server computer S are provided. The code string storage unit 4 functions as a general buffer, or functions as a storage for code string data of an image over a long period of time, and is used depending on the application.
[0047]
Next, the hardware configuration of the image processing apparatus 1 will be described with reference to FIG. As shown in FIG. 9, an image processing apparatus 1 includes a central processing unit (CPU) 6 that performs information processing by centrally controlling each unit, a read only memory (ROM) that stores information, and a random access memory (RAM). A memory 7 comprising: a HDD (Hard Disk Drive) 10 constituting a code string storage unit 4 for storing code string data (see FIG. 6) downloaded from the server computer S via the network 5; CD-ROM drive 12 for distributing information and obtaining information from the outside, communication control device 13 for communicating information with other external computers via the network 5, operating the process and results A display device 15 such as a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display) constituting the image display device 3 to be displayed to the user, and an operator gives commands and information to the CPU 6. It comprises an input device 14 such as a keyboard and mouse for input, a logic circuit 8 and the like. The bus controller 9 operates by arbitrating data transmitted and received between these units.
[0048]
In the present embodiment, the memory 7 and the HDD 10 also function as a cache unit that caches some data.
[0049]
In such an image processing apparatus 1, when the user turns on the power, the CPU 6 activates a program called a loader in the memory 7, loads a program for managing computer hardware and software called an operating system from the HDD 10 into the memory 7, Start this operating system. Such an operating system starts a program, reads information, and performs storage according to a user operation. As typical operating systems, Windows (registered trademark), UNIX (registered trademark), and the like are known. An operation program running on these operating systems is called an application program.
[0050]
Here, the image processing apparatus 1 stores an image processing program in the HDD 10 as an application program. In this sense, the HDD 10 functions as a storage medium that stores an image processing program.
[0051]
In general, an operation program installed in the HDD 10 of the image processing apparatus 1 is recorded on an optical information recording medium such as a CD-ROM 11 or DVD-ROM, a magnetic medium such as an FD, and the like. A program is installed in the HDD 10. For this reason, portable storage media such as optical information recording media such as the CD-ROM 11 and magnetic media such as the FD can also be storage media for storing the image processing program. Furthermore, the image processing program may be imported from the outside via, for example, the communication control device 13 and installed in the HDD 10.
[0052]
In the image processing apparatus 1, when an image processing program that operates on an operating system is started, the CPU 6 executes various arithmetic processes according to the image processing program and controls each unit intensively. Here, the operation of each part of the image processing apparatus 1 executed by the CPU 6 will be briefly described. The code string data (JPEG2000 data) output from the server computer S to the image processing apparatus 1 via the network 5 is output to the code string storage unit 4 and stored in the HDD 10, and is decompressed by the image decompressing apparatus 2. The Then, the image data generated by the decompression process by the image decompression device 2 is output to the image display device 3, and an image based on the decompressed image data is displayed on the display device 15. Various functions in these units are realized by processing performed by the CPU 6 in accordance with the above-described image processing program. In addition, when real-time property is regarded as important, it is necessary to speed up the processing. For this purpose, it is desirable to realize various functions in each unit by the operation of the logic circuit 8.
[0053]
Next, characteristic processing of the present embodiment among various types of arithmetic processing executed by the CPU 6 of the image processing apparatus 1 will be described below. Here, the image expansion process in the image expansion apparatus 2 which is a main part of the present invention will be described.
[0054]
Here, FIG. 10 is a flowchart schematically showing the flow of the image expansion processing. As shown in FIG. 10, the image decompression process according to the present embodiment is obtained by adding a cache control process in which some data is cached in the memory 7 or the HDD 10 to the conventional image decompression process.
[0055]
First, for the first tile of the code string data (JPEG2000 data) input to the image decompression device 2 (N in step S1), whether the code data of the tile (tile data shown in FIG. 6) can be cached or not. (Step S2: data determination means).
[0056]
Here, the determination as to whether or not the cache is possible is made based on whether or not the cache conditions (size and appearance rate) are met. Here, the condition for caching the code data will be described. For example, when the size of the code data is about several hundred bytes, it is highly possible that the code data is blank image data, and it is considered that there are other similar tiles. Therefore, by setting the condition that the size of the code data is equal to or smaller than the threshold (about several hundred bytes) as a cache condition, it is possible to easily extract data for similar tiles. Even if the size of the code data is about several hundred bytes, the code data may be cached only when tiles having the same size appear in a certain ratio (about 5%) or more. . This is because even if the code data is accommodated in the cache, if the number of similar tiles is small, there is some overhead, and the cache processing does not work efficiently.
[0057]
If it is determined that the code data can be cached (Y in step S2), the process proceeds to step S3. If it is not determined that the code data is cacheable (N in step S2), the process proceeds to step S4, and the code data of the tile is decompressed according to the “JPEG2000 algorithm”. For decompression processing (decoding processing) in accordance with the “JPEG2000 algorithm” of code data, the spatial transform / inverse transform unit 101, the two-dimensional wavelet transform / inverse transform unit 102, and the quantization / inverse quantization unit shown in FIG. 103, the description of the entropy encoding / decoding unit 104 and the tag processing unit 105 has been described above, and a description thereof will be omitted here.
[0058]
In step S3, it is determined whether or not the same code data as the code data of the tile is cached. In this determination, a hash function is used instead of comparing all codes. By using the hash function in this way, it is possible to speed up verification of data identity. Here, the function of the data comparison means is executed.
[0059]
When it is determined that the same code data as the code data of the tile is not cached (N in step S3), after the code data of the tile is expanded (step S5), the code data and the code data are The expanded tile data is stored in the cache (step S6: data cache unit), and the process returns to step S1 to process the next tile.
[0060]
If it is determined that the same code data as the code data of the tile is cached (Y in step S3), tile data expanded before the code data match is transferred from the cache (step S7: Decompressed data alternative means).
[0061]
Here, when the size of the code data acquired for each rectangular area is equal to or smaller than the threshold value, and other code data matching the code data is not cached, the code data and the code data are decompressed. When the decompressed data is cached and other code data that matches the code data is cached, the decompressed data of the other code data that matches is transferred as the decompressed data of the code data. As a result, when the same code data appears for code data having a small size, such as blank image data, the decompressed data of the same code data that has been decompressed first is used without performing the decompression process. This makes it possible to increase the speed of the decompression process without changing the compression format.
[0062]
In the present embodiment, the code data and the tile data obtained by decompressing the code data are cached in the memory 7 or the HDD 10, but the present invention is not limited to this. For example, the CPU 6 or the logic circuit 8 may be provided with a cache memory in advance, and the code data and tile data obtained by decompressing the code data may be accommodated in the cache memory.
[0063]
In the present embodiment, the case where the tile division process is performed on the original image has been described. However, the present invention is not limited to this. Even when tile division is not performed on the original image, a precinct or a code block in the JPEG2000 algorithm can be used as a rectangular area (block).
[0064]
【The invention's effect】
According to the first aspect of the present invention, in the image decompression device for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression coding for each rectangular region obtained by dividing an image into one or a plurality of regions, the code data and A cache unit that caches decompressed data obtained by decompressing the code data; a data determination unit that acquires the code data for each rectangular area and determines whether the size of the acquired code data is equal to or less than a threshold; A data comparison unit that determines whether or not other code data that matches the acquired code data is cached when it is determined that the size of the acquired code data is equal to or less than a threshold; When it is determined by the means that other code data that matches is not cached, the acquired code data and the code data Data cache means for caching the decompressed data obtained by decompressing the data, and when the code comparison data is judged to be cached by the data comparison means, A decompressed data alternative means for transferring as decompressed data, and the size of the code data acquired for each rectangular area is equal to or smaller than a threshold value, and other code data matching the code data is not cached The code data and the decompressed data obtained by decompressing the code data are cached, and when other code data that matches the code data is cached, the decompressed data of the other code data that matches the code data By transferring the data as decompressed data, it is possible to reduce If the same code data appears for the data, the decompression process can be accelerated without changing the compression format by using the decompressed data of the same code data that has been decompressed before the decompression process. Can be achieved.
[0065]
According to the second aspect of the present invention, in the image decompression apparatus for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression coding for each rectangular region obtained by dividing an image into one or a plurality of regions, the code data and A cache unit that caches decompressed data obtained by decompressing the code data, obtains the code data for each rectangular area, and the size of the obtained code data is equal to or smaller than a threshold, and the appearance of the obtained code data Data determination means for determining whether the rate is equal to or greater than a threshold value, when the size of the acquired code data is equal to or less than the threshold value, and the appearance rate of the acquired code data is determined to be equal to or greater than the threshold value A data comparison means for determining whether or not other code data that matches the acquired code data is cached, and the data comparison means Data cache means for caching the acquired code data and the decompressed data obtained by decompressing the code data when it is determined that other code data that matches the data is not cached, and the code data matched by the data comparison means Code data acquired for each rectangular area, and decompressed data alternative means for transferring the decompressed data of the other code data that coincides as the decompressed data of the code data when it is determined that the data is cached Is smaller than the threshold, and it is determined that the appearance rate of the acquired code data is greater than or equal to the threshold, and other code data that matches the code data is not cached, The code data and the decompressed data obtained by decompressing the code data are cached, and other codes that match the code data If the data is cached, the decompressed data of the other code data that matches is transferred as the decompressed data of the code data, so that it appears at a certain ratio or more like the image data of the blank portion and the size is small. When the same code data appears for the code data, the compression format is changed without any overhead by using the decompressed data of the same code data that has been decompressed before the decompression process. It is possible to speed up the decompression process without any problem.
[0066]
According to a third aspect of the present invention, in the image decompression apparatus according to the first or second aspect, the data comparison unit can perform a high-speed verification of data identity by using a hash function. it can.
[0067]
According to the fourth aspect of the present invention, the image processing apparatus is installed in a computer that causes the computer to execute a process of decompressing code data obtained by performing discrete wavelet transform on pixel values and hierarchically compression-coding each rectangular area obtained by dividing an image into one or more. Or a program that is executed after being interpreted, the computer having the cache function for caching the code data and decompressed data obtained by decompressing the code data, and obtaining the code data for each rectangular area A data determination function for determining whether or not the size of the acquired code data is equal to or smaller than a threshold value, and when the size of the acquired code data is determined to be equal to or smaller than the threshold value, A data comparison function for determining whether or not other matching code data is cached, and the data comparator The data cache function that caches the acquired code data and the decompressed data obtained by decompressing the code data when it is determined that other code data that matches is not cached, and the code data that matches by the data comparison function Code is obtained for each rectangular area by executing the decompressed data substitution function for transferring the decompressed data of the other code data that matches with the decompressed data of the code data obtained when the data is cached. If the data size is equal to or smaller than the threshold value and other code data matching the code data is not cached, the code data and the decompressed data obtained by decompressing the code data are cached, and the code data If other code data that matches is cached, the other code that matches By transferring the decompressed data of the data as decompressed data of the code data, when the same code data appears for the code data having a small size such as the image data of the blank portion, the decompression process is not performed. By using decompressed data of the same code data that has undergone decompression processing, it is possible to speed up the decompression processing without changing the compression format.
[0068]
According to the invention described in claim 5, is a computer installed with a process of decompressing code data obtained by performing discrete wavelet transform on pixel values and hierarchically compression-coding each rectangular area obtained by dividing an image into one or a plurality of areas, Alternatively, the program is interpreted and executed, and the computer acquires the code data and the cache function for caching the decompressed data obtained by decompressing the code data, and obtains the code data for each rectangular area. A data determination function for determining whether the size of the code data is equal to or smaller than a threshold and the appearance rate of the acquired code data is equal to or larger than the threshold; and the size of the acquired code data is equal to or smaller than the threshold. In addition, when it is determined that the appearance rate of the acquired code data is equal to or greater than a threshold value, The data comparison function for determining whether or not the code data is cached, and when it is determined by the data comparison function that other code data that matches is not cached, the acquired code data and the code data are Data cache function that caches decompressed decompressed data and decompression of the code data obtained by obtaining decompressed data of other matched code data when it is determined by the data comparison function that the matched code data is cached When the decompressed data substitution function to transfer as data is executed, the size of the code data acquired for each rectangular area is determined to be less than or equal to the threshold value, and the appearance rate of the acquired code data is determined to be equal to or greater than the threshold value. If other code data that matches the code data is not cached, the code Data and the decompressed data obtained by decompressing the code data are cached, and when other code data that matches the code data is cached, the decompressed data of the other code data that matches the decompressed data of the code data When the same code data appears for code data with a small size that appears at a certain ratio or more like the image data of the blank part, the decompression process was performed first without performing the decompression process. By using decompressed data of the same code data, it is possible to increase the speed of decompression processing without overhead and without changing the compression format.
[0069]
According to a sixth aspect of the invention, in the program according to the fourth or fifth aspect, the data comparison function is performed using a hash function, so that verification of data identity can be speeded up.
[0070]
According to the storage medium of the invention described in claim 7, by storing the program according to any one of claims 4 to 6, the program stored in the storage medium is installed in the computer or interpreted. By doing so, it is possible to obtain the same effects as the invention according to any one of claims 4 to 6.
[0071]
According to an eighth aspect of the present invention, in the image decompression method for decompressing code data obtained by subjecting a pixel value to discrete wavelet transform and hierarchical compression coding for each rectangular area obtained by dividing an image into one or a plurality of rectangular areas, A data determination step of acquiring the code data and determining whether or not the size of the acquired code data is equal to or smaller than a threshold; and when it is determined that the size of the acquired code data is equal to or smaller than the threshold A data comparison step for determining whether or not other code data that matches the acquired code data is cached, and when it is determined by the data comparison step that other code data that matches is not cached A data cache step for caching the acquired code data and decompressed data obtained by decompressing the code data, and the data comparison step A decompression data substitution step that transfers the decompressed data of the other code data that matches with the decompressed data of the code data acquired when it is determined that matching code data is cached. When the size of the acquired code data is equal to or smaller than the threshold value and other code data matching the code data is not cached, the code data and the decompressed data obtained by decompressing the code data are cached, If other code data that matches the code data is cached, the decompressed data of the other code data that matches is transferred as decompressed data of the code data, so that the size of the image data in the blank portion If the same code data appears for code data with a small size, the decompression process is performed first without performing the decompression process. Was by using the extension data of the same coded data, it is possible to increase the speed of expansion processing without changing the compression format.
[0072]
According to the ninth aspect of the present invention, in the image decompression method for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression coding for each rectangular region obtained by dividing an image into one or a plurality of regions, each rectangular region A data determination step of acquiring the code data, determining whether the size of the acquired code data is equal to or less than a threshold value, and whether the appearance rate of the acquired code data is equal to or greater than the threshold value; Whether other code data matching the acquired code data is cached when the size of the code data is less than or equal to the threshold and the appearance rate of the acquired code data is determined to be greater than or equal to the threshold The data comparison step for determining whether or not the code code obtained when it is determined that the other code data that matches the data comparison step is not cached. Data and a data cache step for caching the decompressed data obtained by decompressing the code data, and when the matching data is determined to be cached by the data comparison step, A decompression data substitution step for transferring as decompressed data of the acquired code data, the size of the code data acquired for each rectangular area is equal to or less than a threshold value, and the appearance rate of the acquired code data is equal to or greater than the threshold value If other code data that matches the code data is not cached, the code data and the decompressed data obtained by decompressing the code data are cached, and other data that matches the code data is stored. If the code data of the other code data is cached, the decompressed data of the other code data that matches is sent to the code data. If the same code data appears for code data with a small size that appears at a certain ratio or more, such as blank image data, the decompression process is performed first without performing the decompression process. By using the decompressed data of the same code data that has been subjected to the above, it is possible to increase the speed of the decompression process without an overhead and without changing the compression format.
[0073]
According to a tenth aspect of the present invention, in the image decompression method according to the eighth or ninth aspect, the data comparison step is performed using a hash function, thereby speeding up verification of data identity. it can.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a system that realizes a hierarchical encoding algorithm that is the basis of the JPEG2000 system that is a premise of the present invention.
FIG. 2 is an explanatory diagram showing a divided rectangular area of each component of the original image.
FIG. 3 is an explanatory diagram showing subbands at each decomposition level when the number of decomposition levels is 3. FIG.
FIG. 4 is an explanatory diagram showing a precinct.
FIG. 5 is an explanatory diagram showing an example of a procedure for ranking bit planes;
FIG. 6 is an explanatory diagram showing a schematic configuration of a JPEG2000 code format.
FIG. 7 is a system configuration diagram showing a system including an image processing apparatus according to an embodiment of the present invention.
FIG. 8 is a functional block diagram schematically showing an image processing apparatus.
FIG. 9 is a block diagram schematically illustrating a hardware configuration of the image processing apparatus.
FIG. 10 is a flowchart schematically showing a flow of image expansion processing.
[Explanation of symbols]
2 Image expansion device
10,11 Storage media

Claims (10)

画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長装置において、
前記符号データ及び前記符号データを伸長した伸長データをキャッシュするキャッシュ手段と、
前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断手段と、
取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較手段と、
前記データ比較手段により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及び前記符号データを伸長した伸長データをキャッシュするデータキャッシュ手段と、
前記データ比較手段により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替手段と、
を備えることを特徴とする画像伸長装置。
In an image decompression device for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression coding for each rectangular region obtained by dividing an image into one or more,
A cache unit for caching the code data and the extension data extended the code data,
Data determination means for acquiring the code data for each rectangular area and determining whether the size of the acquired code data is equal to or less than a threshold;
A data comparison means for determining whether or not other code data that matches the acquired code data is cached when it is determined that the size of the acquired code data is equal to or less than a threshold;
And data cache means other code data matching by said data comparing means for caching the extension data extended if it is determined not to be cached, the code data and the code data acquired,
Decompressed data substitution means for transferring, as the decompressed data of the code data, the decompressed data of the other matched code data, when the data comparing means determines that the matched code data is cached;
An image expansion apparatus comprising:
画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長装置において、
前記符号データ及び前記符号データを伸長した伸長データをキャッシュするキャッシュ手段と、
前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断手段と、
取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較手段と、
前記データ比較手段により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及び前記符号データを伸長した伸長データをキャッシュするデータキャッシュ手段と、
前記データ比較手段により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替手段と、
を備えることを特徴とする画像伸長装置。
In an image decompression device for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression coding for each rectangular region obtained by dividing an image into one or more,
A cache unit for caching the code data and the extension data extended the code data,
Data determination means for acquiring the code data for each rectangular area, and determining whether the size of the acquired code data is equal to or less than a threshold and whether the appearance rate of the acquired code data is equal to or greater than the threshold When,
When it is determined that the size of the acquired code data is equal to or smaller than the threshold and the appearance rate of the acquired code data is equal to or higher than the threshold, other code data that matches the acquired code data is cached. Data comparison means for determining whether or not
And data cache means other code data matching by said data comparing means for caching the extension data extended if it is determined not to be cached, the code data and the code data acquired,
Decompressed data substitution means for transferring, as the decompressed data of the code data, the decompressed data of the other matched code data, when the data comparing means determines that the matched code data is cached;
An image expansion apparatus comprising:
前記データ比較手段は、ハッシュ関数を用いて行うことを特徴とする請求項1または2記載の画像伸長装置。The image expansion apparatus according to claim 1 or 2, wherein the data comparison means is performed using a hash function. 画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する処理をコンピュータに実行させるコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに、
前記符号データ及び前記符号データを伸長した伸長データをキャッシュするキャッシュ機能と、
前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断機能と、
取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較機能と、
前記データ比較機能により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及び前記符号データを伸長した伸長データをキャッシュするデータキャッシュ機能と、
前記データ比較機能により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替機能と、
を実行させることを特徴とするプログラム。
Installed in or interpreted by a computer that causes the computer to execute processing for decompressing code data obtained by performing discrete wavelet transform on pixel values for each rectangular area obtained by dividing an image into one or a plurality of images and hierarchically compression-coding the image data A program for the computer,
A cache function for caching the code data and the extension data extended the code data,
A data determination function for acquiring the code data for each rectangular area and determining whether the size of the acquired code data is equal to or less than a threshold;
A data comparison function for determining whether other code data that matches the acquired code data is cached when it is determined that the size of the acquired code data is equal to or less than a threshold;
When the other code data matching by said data comparing function is judged not to be cached, the data cache function for caching the extension data extended the code data and the code data acquired,
A decompressed data substitution function for transferring, as the decompressed data of the encoded data, the decompressed data of the matched other code data, when the matched code data is determined to be cached by the data comparison function;
A program characterized by having executed.
画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する処理をコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに、
前記符号データ及び前記符号データを伸長した伸長データをキャッシュするキャッシュ機能と、
前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断機能と、
取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較機能と、
前記データ比較機能により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及び前記符号データを伸長した伸長データをキャッシュするデータキャッシュ機能と、
前記データ比較機能により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替機能と、
を実行させることを特徴とするプログラム。
This is a program that is installed in a computer, or is interpreted and executed by a computer to perform processing for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchical compression encoding for each rectangular area obtained by dividing an image into one or more. And the computer
A cache function for caching the code data and the extension data extended the code data,
A data determination function that acquires the code data for each rectangular area, determines whether the size of the acquired code data is equal to or less than a threshold value, and whether the appearance rate of the acquired code data is equal to or greater than a threshold value When,
When it is determined that the size of the acquired code data is equal to or smaller than the threshold and the appearance rate of the acquired code data is equal to or higher than the threshold, other code data that matches the acquired code data is cached. Data comparison function to determine whether or not
When the other code data matching by said data comparing function is judged not to be cached, the data cache function for caching the extension data extended the code data and the code data acquired,
A decompressed data substitution function for transferring, as the decompressed data of the encoded data, the decompressed data of the matched other code data, when the matched code data is determined to be cached by the data comparison function;
A program characterized by having executed.
前記データ比較機能は、ハッシュ関数を用いて行うことを特徴とする請求項4または5記載のプログラム。6. The program according to claim 4, wherein the data comparison function is performed using a hash function. 請求項4ないし6のいずれか一記載のプログラムを記憶していることを特徴とする記憶媒体。A storage medium storing the program according to any one of claims 4 to 6. 画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長方法において、
前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であるか否かを判断するデータ判断工程と、
取得した前記符号データのサイズが閾値以下であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較工程と、
前記データ比較工程により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及び前記符号データを伸長した伸長データをキャッシュするデータキャッシュ工程と、
前記データ比較工程により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替工程と、
を含むことを特徴とする画像伸長方法。
In an image decompression method for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchically compression-encoding for each rectangular region obtained by dividing an image into one or a plurality of regions,
A data determination step of acquiring the code data for each rectangular area and determining whether the size of the acquired code data is equal to or less than a threshold;
A data comparison step of determining whether other code data that matches the acquired code data is cached when it is determined that the size of the acquired code data is equal to or less than a threshold;
A data cache process other code data matching by said data comparing step to cache the decompressed data extended if it is determined not to be cached, the code data and the code data acquired,
When it is determined that the matching code data is cached by the data comparison step, a decompression data substitution step of transferring the decompression data of the other matching code data as the decompressed data of the obtained code data;
An image decompression method comprising:
画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に圧縮符号化した符号データを伸長する画像伸長方法において、
前記矩形領域毎に前記符号データを取得して、取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であるか否かを判断するデータ判断工程と、
取得した前記符号データのサイズが閾値以下であり、かつ、取得した前記符号データの出現率が閾値以上であると判断された場合に、取得した前記符号データと一致する他の符号データがキャッシュされているか否かを判断するデータ比較工程と、
前記データ比較工程により一致する他の符号データがキャッシュされていないと判断された場合に、取得した前記符号データ及び前記符号データを伸長した伸長データをキャッシュするデータキャッシュ工程と、
前記データ比較工程により一致する符号データがキャッシュされていると判断された場合に、一致する他の符号データの伸長データを取得した前記符号データの伸長データとして転送する伸長データ代替工程と、
を含むことを特徴とする画像伸長方法。
In an image decompression method for decompressing code data obtained by subjecting pixel values to discrete wavelet transform and hierarchically compression-encoding for each rectangular region obtained by dividing an image into one or a plurality of regions,
A data determination step of acquiring the code data for each rectangular area, and determining whether the size of the acquired code data is equal to or less than a threshold and whether the appearance rate of the acquired code data is equal to or greater than the threshold. When,
When it is determined that the size of the acquired code data is equal to or smaller than the threshold and the appearance rate of the acquired code data is equal to or higher than the threshold, other code data that matches the acquired code data is cached. A data comparison process to determine whether or not
A data cache process other code data matching by said data comparing step to cache the decompressed data extended if it is determined not to be cached, the code data and the code data acquired,
When it is determined that the matching code data is cached by the data comparison step, a decompression data substitution step of transferring the decompression data of the other matching code data as the decompressed data of the obtained code data;
An image decompression method comprising:
前記データ比較工程は、ハッシュ関数を用いて行うことを特徴とする請求項8または9記載の画像伸長方法。10. The image expansion method according to claim 8, wherein the data comparison step is performed using a hash function.
JP2002360576A 2002-12-12 2002-12-12 Image decompression apparatus, program, storage medium, and image decompression method Expired - Fee Related JP3987425B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002360576A JP3987425B2 (en) 2002-12-12 2002-12-12 Image decompression apparatus, program, storage medium, and image decompression method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002360576A JP3987425B2 (en) 2002-12-12 2002-12-12 Image decompression apparatus, program, storage medium, and image decompression method

Publications (3)

Publication Number Publication Date
JP2004194047A JP2004194047A (en) 2004-07-08
JP2004194047A5 JP2004194047A5 (en) 2005-10-27
JP3987425B2 true JP3987425B2 (en) 2007-10-10

Family

ID=32759619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002360576A Expired - Fee Related JP3987425B2 (en) 2002-12-12 2002-12-12 Image decompression apparatus, program, storage medium, and image decompression method

Country Status (1)

Country Link
JP (1) JP3987425B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5141886B2 (en) * 2008-02-28 2013-02-13 株式会社リコー Image processing apparatus, image processing method, program, and recording medium

Also Published As

Publication number Publication date
JP2004194047A (en) 2004-07-08

Similar Documents

Publication Publication Date Title
JP4064196B2 (en) Client computer, server computer, program, storage medium, image data processing system, and image data processing method
JP4093405B2 (en) Image processing apparatus, program, and storage medium
JP4128438B2 (en) Image processing apparatus, program, storage medium, and image editing method
JP3922919B2 (en) Still image expansion apparatus and still image expansion method
JP2004221836A (en) Image processor, program, storage medium, and code expanding method
JP2004088425A (en) Code converting apparatus, code converting method, program, and storage medium
JP3952459B2 (en) Image processing apparatus, program, storage medium, and image processing method
EP1296287A2 (en) Image information code processing system
JP2004254298A (en) Image processing device, program, and storage medium
JP4179498B2 (en) Image processing apparatus and image processing method
JP2004221633A (en) Image processing apparatus, image processing program, and storage medium
JP2004214828A (en) Image processing apparatus, image processing method, computer program for image processing, and storage medium for storing the image processing computer program
JP3987425B2 (en) Image decompression apparatus, program, storage medium, and image decompression method
US20050207659A1 (en) Image-processing apparatus, program, and recording medium
JP4124436B2 (en) Motion estimation device, program, storage medium, and motion estimation method
JP2004096695A (en) Image processing apparatus, image display device, program, storage medium, and image processing method
JP2004133443A (en) Image processing device, image display, program, storage medium, method of processing image and image display system
JP4093870B2 (en) Image processing apparatus, program, and storage medium
JP3961966B2 (en) Unnecessary part removing apparatus, image processing apparatus, program, storage medium, and unnecessary part removing method
JP4040404B2 (en) Code string conversion apparatus and method, image processing apparatus, and image recording apparatus
JP4052952B2 (en) Image processing apparatus, image processing method, program, and storage medium
JP2004236226A (en) Method and apparatus for image decompressing, program, and storage medium
JP4629424B2 (en) Image distribution system, server device, client device, cache control method, program, and information recording medium
JP2004201048A (en) Image information processing method
JP4010957B2 (en) Image processing apparatus, program, storage medium, and image forming apparatus

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041007

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050829

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070712

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110720

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130720

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees