JP2004247891A - Image compressor, image processor, image decompressor, image compressing method, image processing method, image decompressing method, program and recording medium - Google Patents

Image compressor, image processor, image decompressor, image compressing method, image processing method, image decompressing method, program and recording medium Download PDF

Info

Publication number
JP2004247891A
JP2004247891A JP2003034548A JP2003034548A JP2004247891A JP 2004247891 A JP2004247891 A JP 2004247891A JP 2003034548 A JP2003034548 A JP 2003034548A JP 2003034548 A JP2003034548 A JP 2003034548A JP 2004247891 A JP2004247891 A JP 2004247891A
Authority
JP
Japan
Prior art keywords
image
information
thumbnail
image compression
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003034548A
Other languages
Japanese (ja)
Inventor
Taku Kodama
児玉  卓
Keiichi Suzuki
啓一 鈴木
Takashi Maki
牧  隆史
Ikuko Kusatsu
郁子 草津
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 JP2003034548A priority Critical patent/JP2004247891A/en
Priority to US10/717,090 priority patent/US7454069B2/en
Publication of JP2004247891A publication Critical patent/JP2004247891A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image compressor for generating compressed image data which outputs thumbnails of the image data at a high speed, without increasing a data capacity for the compressed image data. <P>SOLUTION: In the image compressor 20, an image reader 21 reads image data, a thumbnail setting unit 22 sets thumbnail information, then an image quality compressor 23 compresses images, a thumbnail information adder 24 adds thumbnail information according to the setting, and a code generator 25 generate code data. The thumbnail information use one or a plurality of image resolution information, image position information, image component information, image quality information, and image sub-band information. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、画像圧縮装置、画像処理装置、画像伸張装置、画像圧縮方法、画像処理方法、画像伸張方法、プログラム、及び記録媒体に関する。
【0002】
【従来の技術】
近年、高精細画像の普及が著しい。これは、デジタルスチルカメラやスキャナ等の入力デバイス、インクジェットプリンタやディスプレイ等の出力デバイスにおける高精細化に拠るところが大きい。そして、こうした高精細静止画像を扱う画像圧縮伸張アルゴリズムとして、現在のところ、JPEG(Joint Photographic Experts Group)が最も広く使われている。JPEGでは、空間領域の冗長度を除去するために、二次元離散コサイン変換を用いている。
【0003】
この方式の基本機能は「静止画像を圧縮し伸張する」ことだけである。圧縮ファイルの状態で画像を操作したり、伸張する時に特定領域だけを見たりすることはできない。また、階層を持たない「フラットな構造」として画像を扱っている。従って、画像に新たな処理を加えるためには、符号データは必ず完全に復号化される必要がある。
【0004】
JPEGアルゴリズムにおいては、画像の高精細化や大規模化に伴い、すなわち原画像の画素数が増えるに従い、符号化された画像データを伸張し画像値を表示デバイス上に画像として表示させるのに必要な時間も、並行して増えていく。最近は、入力デバイスの高性能化によって原画像の高精細化や大面積化が進み、無視できないレベルになりつつある。また、衛星・航空写真や医療・科学分野の画像、そして文化財を記録した画像を扱う分野においては、既に解決すべき不具合として認識されている。なお、JPEG圧縮画像を伸張するの際には、それに要する時間が、縮小率とは無関係に一定の値をとるという特徴があるが、この理由は、上述したように、JPEG方式で符号化されたデータは縮小率に関わり無く必ず完全に復号化されるからである。
【0005】
通常、こうした大きい画像の全画素をディスプレイに表示することは、表示デバイスの表示可能画素数に制約があるので難しい。実際には、画面上に縮小して表示することにより対処している。しかし、従来のJPEGアルゴリズムでは、縮小画像を表示させる場合においても、原画像全てを伸張し全画素値を求め、そこから間引き処理を行ってディスプレイ上に表示していた。原画像の全画素値を求めるために要する伸張処理時間は、画像のピクセル数に比例して増大する。MPUの性能やメモリの容量にも依るが、例えば、画像が表示されるまでに、数分から数十分の時間を要している。
【0006】
また、JPEGアルゴリズムにおいては、完全な復号処理を行わなくても使い手にとって十分な情報を得られる場合でも、従来のJPEG方式では復号処理を全て行わなければならず、伸張時に伸張する画像領域や色成分或いは伸張動作順序を指定できない。例えば、カラー画像をグレイスケールの画像で表示したい、或る特定領域の画像だけを見たい、サムネイルの大きさで見たい、画像コンテンツを高速に閲覧したい、Motion静止画像の早送り表示を見たい、等々の要求に応えることは、従来のJPEGアルゴリズムでは困難である。従来のJPEGアルゴリズムでは、まず原画像を圧縮した符号データに対し、完全な伸張を行った画像データを生成する。その後、その画像データをグレイスケール表示用の画像データ、特定領域表示用の画像データ、サムネイル表示用の画像データなどに変換することにより、所望の表示画像を得る。
【0007】
上述のごとき問題を解決するために、本出願人は、符号データの表示に費やされる伸張時間の短縮が可能な、すなわち、静止画像として或いは静止画像の連続としての動画像として符号化された高精細画像データを、高速に縮小表示することが可能な、静止画像の符号列を作成する符号列作成装置、該装置を用いた画像伸張システム、画像伸張装置、及び画像提供システム、符号列作成方法、画像伸張方法、コンピュータ読み取り可能なプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提案している。これらの発明における符号列作成機能は、伸張する画像領域や色成分或いは伸張動作順序の指定により画像伸張を効率的にする、すなわち伸張動作を限定することを可能とするものでもある。
【0008】
一方、画像表示装置においては、画像のサムネイルを表示することがよくある。従来技術によるサムネイルの表示においては、画像全体を伸張し、必要解像度に落とし、表示する方法や、サムネイル画像を別に保持しておく方法などがある。いずれの場合も、JPEGの規格に基づいて、その基本機能や場合によっては拡張機能を用いた画像の圧縮・伸張が行われる。拡張機能としては、例えば本出願人が提案した上述の発明のごとき技術が適用される。
【0009】
【発明が解決しようとする課題】
しかしながら、サムネイル表示に限らず、サムネイルの印刷,伝送等、サムネイルの出力を、画像全体を伸張し必要解像度に落としてから行う方法を採用すると、サムネイル画像が出力されるまでにかなりの時間を要する。
【0010】
また、サムネイル画像を別に保存しておき、出力する際にその保存した画像を読み出して行う方法では、Exif(Exchangeable image file format)などで標準化されているように、保存するサムネイル画像(小画像)のデータそのものを主画像の圧縮データのヘッダ部分に格納しておくことが一般的であり、出力速度は速くなるが、圧縮データの容量が大きくなってしまう。
【0011】
本発明は、上述のごとき実情に鑑みてなされたものであり、圧縮された画像データのデータ容量を大きくすることなく、画像データのサムネイルを高速に出力する可能な圧縮画像データを生成する、画像圧縮装置、画像圧縮方法、コンピュータ読み取り可能なプログラム、並びに、そのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することをその目的とする。
【0012】
また、本発明は、入力する圧縮画像データのデータ容量を大きくすることなく、画像データのサムネイルを高速に出力することが可能な、画像処理装置及び画像伸張装置、画像処理方法及び画像伸張方法、コンピュータ読み取り可能なプログラム、並びに、そのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを他の目的とする。
【0013】
【課題を解決するための手段】
本発明においては、JPEGの次世代の画像符号化方式として提案されているJPEG2000方式(ISO/IEC FCD 15444−1)が、画像を高精細な状態で保存しておき、その画像符号データから特定の解像度の画像や特定の画質を持つ画像を取り出すことなどが可能であることを利用して、サムネイル画像の出力(表示,印刷,伝送)を高速にしている。
【0014】
本発明は、JPEG2000符号のように、解像度,位置,画質,色コンポーネントなどで、画像を容易に切り出すことが可能である符号データにおいて、低解像度データ以外のデータをサムネイルとして用いる場合に有益である。本発明に係る圧縮画像データには、画像の概要を高速に確認可能とするために、画像に関する好適なサムネイル情報を保持しておく。
【0015】
本発明は、以下の各技術手段により構成される。
第1の技術手段は、画像の圧縮符号データを生成する画像圧縮装置において、画像のサムネイル情報を、1又は複数形態設定する手段と、該設定された形態のサムネイル情報を、符号データ形成時にヘッダ部分に付加する手段と、を有することを特徴とし、画質のサムネイル情報が容易に取り出せるようにしている。また、画像の圧縮符号データを生成する画像圧縮方法として、画像のサムネイル情報を、1又は複数形態設定するステップと、該設定された形態のサムネイル情報を、符号データ形成時にヘッダ部分に付加するステップと、を有するようにしてもよい。また、この技術手段は、コンピュータ読み取り可能なプログラムとしての形態や、そのプログラムを記録したコンピュータ読み取り可能な記録媒体としての形態も実現できる。
【0016】
第2の技術手段は、第1の技術手段において、前記サムネイル情報として、画像の解像度情報を用いることを特徴としたものである。
【0017】
第3の技術手段は、第2の技術手段において、前記解像度情報として、画像のデコンポジションレベル情報を用いることを特徴としたものである。
【0018】
第4の技術手段は、第1乃至第3のいずれか1の技術手段において、前記サムネイル情報として、画像の位置情報を用いることを特徴としたものである。
【0019】
第5の技術手段は、第4の技術手段において、前記位置情報として、タイル情報,プレシンクト情報,コードブロック情報,画素位置情報のうち、いずれか1又は複数を用いることを特徴としたものである。
【0020】
第6の技術手段は、第1乃至第5のいずれか1の技術手段において、前記サムネイル情報として、画像のコンポーネント情報を用いることを特徴としたものである。
【0021】
第7の技術手段は、第1乃至第6のいずれか1の技術手段において、前記サムネイル情報として、画像の画質情報を用いることを特徴としたものである。
【0022】
第8の技術手段は、第7の技術手段において、前記画質情報として、レイヤ情報及び/又はビットプレーン情報を用いることを特徴としたものである。
【0023】
第9の技術手段は、第1乃至第8のいずれか1の技術手段において、前記サムネイル情報として、画像のサブバンド情報を用いることを特徴としたものである。
【0024】
第10の技術手段は、画像のサムネイルを取り出す画像処理装置であって、第1乃至第9のいずれか1の技術手段で生成した圧縮符号データから、該圧縮符号データのサムネイル情報を元に、符号データの一部を切り出す手段を有することを特徴としたものである。また、画像のサムネイルを取り出す画像処理方法として、第1乃至第9のいずれか1の技術手段で生成した圧縮符号データから、該圧縮符号データのサムネイル情報を元に、符号データの一部を切り出すステップを有するようにしてもよい。また、この技術手段は、コンピュータ読み取り可能なプログラムとしての形態や、そのプログラムを記録したコンピュータ読み取り可能な記録媒体としての形態も実現できる。
【0025】
第11の技術手段は、画像のサムネイルを出力する画像伸張装置であって、第1乃至第9のいずれか1の技術手段で生成した圧縮符号データから、該圧縮符号データのサムネイル情報を元に、符号データからサムネイル部分のみを伸張し出力する手段を有することを特徴としたものである。また、画像のサムネイルを出力する画像伸張方法として、第1乃至第9のいずれか1の技術手段で生成した圧縮符号データから、該圧縮符号データのサムネイル情報を元に、符号データからサムネイル部分のみを伸張し出力するステップを有するようにしてもよい。また、この技術手段は、コンピュータ読み取り可能なプログラムとしての形態や、そのプログラムを記録したコンピュータ読み取り可能な記録媒体としての形態も実現できる。
【0026】
【発明の実施の形態】
以下、本発明の各実施形態において処理される符号化データ(以下、圧縮符号データとも呼ぶ)が、JPEG2000(ISO/IEC FCD 15444−1)の静止画像の符号化データと、Motion−JPEG2000(ISO/IEC FCD 15444−3)の動画像の符号化データであるとして説明を行う。Motion−JPEG2000は、連続した複数の静止画像のそれぞれをフレームとして動画像を扱い、各フレームの符号化データはJPEG2000に準拠しており、ファイルフォーマットがJPEG2000と一部異なるのみである。
【0027】
JPEG2000は、2001年に国際標準になったJPEG後継の画像圧縮伸張方式であり、そのアルゴリズムについては、例えば書籍「次世代画像符号化方式 JPEG2000」(野水泰之著、株式会社トリケップス)などに詳しいが、以下の実施の形態の説明に必要な範囲でJPEG2000のアルゴリズムについて説明する。
【0028】
図1は、JPEG2000の基本となる階層符号化・復号化アルゴリズムを説明するためのブロック図で、本発明の一実施形態に係る画像処理装置を説明するためのブロック図でもある。
JPEG2000の基本となる階層符号化・復号化アルゴリズムは、2次元ウエーブレット変換・逆変換部2、量子化・逆量子化部3、エントロピー符号化・復号化部4、タグ処理部5で構成されている。このうち本発明の特徴部分は、タグ処理部5(本明細書中では主にサムネイル情報設定手段及びサムネイル情報付加手段を含むものとして説明)である。色空間変換・逆変換部(色変換・逆変換部)1からの入力又は色空間変換・逆変換部1への出力として、さらにはタグ処理部5からの入力又はタグ処理部5への出力として、2次元ウェーブレット変換・逆変換部2,量子化・逆量子化部3,エントロピー符号化・復号化部4のそれぞれが備えられている。各部は正逆方向で別構成としても良いことは言及するまでもないが、各部における処理はコンポーネント毎に実行するような構成としてもよい。
【0029】
図2は、JPEG2000のアルゴリズムを説明するための簡略化されたフロー図である。
図1に示すJPEG2000での圧縮・伸張の処理の概要としては、圧縮時には、ステップS1,S2において色空間変換がなされた各コンポーネントをウェーブレット変換してウェーブレット係数を求め(ステップS3)、プログレッシブサブビットプレーン符号化(ステップS4)、エントロピー符号化(ステップS5)が施される。一方、伸張時には、ステップS5,S6においてエントロピー復号、逆量子化を経て得られたコンポーネント毎のウェーブレット係数に対して、逆ウェーブレット変換が施され(ステップS3)、その後逆色変換がなされて(ステップS2)、原画像のRGB画素値に戻る(ステップS1)といった流れになる。
【0030】
以下、JPEG2000アルゴリズムの特徴について、詳細に説明する。
JPEG2000アルゴリズムが、JPEGアルゴリズムと比較して最も大きく異なる点の一つは、変換方法である。JPEGでは離散コサイン変換(DCT:Discrete Cosine Transform)を、JPEG2000の階層符号化圧縮伸張アルゴリズムでは離散ウエーブレット変換(DWT:Discrete Wavelet Transform)を、各々用いている。DWTはDCTに比べて、高圧縮領域における画質が良いという長所が、JPEGの後継アルゴリズムであるJPEG2000で採用された大きな理由の一つとなっている。また、他の大きな相違点は、後者では、最終段に符号形成をおこなうために、タグ処理部5と呼ばれる機能ブロックが追加されていることである。この部分で、圧縮動作時には圧縮データがコードストリームとして生成され、伸張動作時には伸張に必要なコードストリームの解釈が行われる。そして、コードストリームによって、JPEG2000は様々な便利な機能を実現できるようになった。JPEG2000のアルゴリズムは高圧縮率(低ビットレート)での画質が良好であるほか、多くの特徴を有する。
【0031】
その1つが、符号化データの符号の削除(トランケーション)によるポスト量子化によって、再圧縮を行うことなく全体の符号量を調整できることである。この符号削除は、タイルやプレシンクトなどの領域、コンポーネント、デコンポジションレベル(もしくは解像度レベル)、ビットプレーン、サブビットプレーン、パケット、マルチレイヤ構成の場合にはレイヤなど、多様な単位で行うことができる。
【0032】
例えば、図3はデコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示す図であるが、図3に示したブロックベースでのDWTにおけるオクターブ分割の階層に対応した任意の階層で、静止画像の圧縮伸張処理を停止させることができる。なお、デコンポジションレベルと解像度レベルとの関係であるが、各サブバンドに対し、3LLの解像度レベルが0、3HL,3LH,3HHの解像度レベルが1、2HL,2LH,2HHの解像度レベルが2、1HL,1LH,1HHの解像度レベルが3となっている。また、ここでの「デコンポジション」に関し、JPEG2000 PartI FDIS(Final Draft international Standard)には、以下のように定義されている。
【0033】
decomposition level:
A collection of wavelet subbands where each coefficient has the same spatial impact or span with respect to the source component samples. These include the HL,LH,and HH subbands of the same two dimensional subband decomposition. For the last decomposition level the LL subband is also included.
【0034】
もう1つは、符号化データのレイヤの再構成を符号状態のままで行うことができることである。もう1つは、あるプログレッション順序の符号化コードを、符号状態のままで別のプログレッション順序の符号化データに再構成することが可能であることである。もう1つは、マルチレイヤの符号化データを、符号状態のまま、レイヤ単位で2以上の符号化コードに分割可能であることである。
【0035】
以下、JPEG2000アルゴリズムについて、順を追って詳細に説明する。原画像の入出力部分には、図1のように色空間変換部1が接続されることが多い。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUV或いはYCbCr表色系への変換又は逆の変換を行う部分がこれに相当する。
【0036】
図4は、タイル分割されたカラー画像の各コンポーネントの例を示す図である。
カラー画像は、一般に図4に示すように、原画像の各コンポーネント7,7,7(ここではRGB原色系)が、矩形をした領域(タイル)7Rt,7Gt,7Btによって分割される。そして、個々のタイル、例えば、R00,R01,...,R15/G00,G01,...,G15/B00,B01,...,B15が、圧縮伸張プロセスを実行する際の基本単位となる。このように、圧縮処理の対象となる画像データ(動画を扱う場合には各フレームの画像データ)は、コンポーネント毎にタイルと呼ばれる重複しない矩形領域に分割され、コンポーネント毎にタイルを単位として処理される。すなわち、圧縮伸張動作は、コンポーネント毎、そしてタイル毎に、独立に行なわれる。ただし、タイルサイズを画像サイズと同一にすること、つまりタイル分割を行わないことも可能である。
【0037】
このように、符号化時には、各コンポーネントの各タイルのデータが、圧縮率の向上を目的として図1の色空間変換部1に入力され、RGBデータやCMYデータからYCrCbデータへの色空間変換を施されたのち、色空間変換後の各コンポーネントの各タイル画像に対し2次元ウエーブレット変換部2で2次元ウエーブレット変換(順変換)が適用されて周波数帯に空間分割される。なお、この色空間変換が省かれる場合もある。
【0038】
図3を参照して、デコンポジションレベル数が3の場合の、2次元ウェーブレット変換部2での処理を説明する。2次元ウェーブレット変換部2では、まず、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジションレベル0(6))に対して2次元ウェーブレット変換を施し、デコンポジションレベル1(6)に示すサブバンド1LL,1HL,1LH,1HHを分離する。すなわち、タイル原画像(6)がデコンポジションレベル1(6)に示すサブバンドに分割される。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジションレベル2(6)に示すサブバンド2LL,2HL,2LH,2HHを分離する。順次同様に、低周波成分2LLに対しても、2次元可逆ウェーブレット変換を施し、デコンポジションレベル3(6)に示すサブバンド3LL,3HL,3LH,3HHを分離する。ここで、各デコンポジションレベルにおいて符号化の対象となるサブバンドは、例えば、デコンポジションレベル数を3とした時、サブバンド3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HHが符号化対象となり、3LLサブバンドは符号化されない。
【0039】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1の量子化部3で対象ビット周辺のビットからコンテキストが生成される。つまり、上述したような低周波成分(LLサブバンド係数)の再帰的分割(オクターブ分割)により得られたウェーブレット係数は、サブバンド毎に量子化・逆量子化部3にて量子化されることとなる。JPEG2000ではロスレス(可逆)圧縮とロッシー(非可逆)圧縮のいずれも可能であり、ロスレス圧縮の場合には量子化ステップ幅は常に1であり、この段階では量子化されない。量子化の処理が終わったウエーブレット係数は、例えば8bitの原画像に対し12bitに増える。
【0040】
続いて、エントロピー符号化部4では、コンテキストと対象ビットから確率推定によって、各コンポーネントのタイルに対する符号化を行う。こうして、原画像の全てのコンポーネントについて、タイル単位で符号化処理が行われる。量子化後の各サブバンド係数に対するこのエントロピー符号化には、ブロック分割、係数モデリング及び2値算術符号化からなるEBCOT(Embedded Block Coding with Optimized Truncation)と呼ばれる符号化方式が用いられ、量子化後の各サブバンド係数のビットプレーンが上位プレーンから下位プレーンへ向かって、コードブロックと呼ばれるブロック毎に符号化される。
【0041】
最後にタグ処理部5は、符号形成プロセスを行う。タグ処理部5で行う符号形成プロセスにおいては、エントロピー符号化部4からの全符号化データを1本のコードストリームに結合するとともに、それにタグを付加する処理を行う。タブ処理部5では、まず、エントロピー符号化部4で生成されたコードブロックの符号をまとめてパケットが生成され、ここで生成されたパケットがプログレッション順序に従って並べられるとともに必要なタグ情報が付加されることにより、所定のフォーマットの符号化データが作成される。なお、JPEG2000では、符号順序制御に関して、解像度レベル、プレシンクト(position)、レイヤ、コンポーネント(色成分)の組み合わせによる5種類のプログレッション順序が定義されている。
【0042】
ここで、エントロピー符号化部4におけるエントロピー符号化、及びタグ処理部5における符号形成プロセスの詳細を例を挙げて説明する。
量子化の処理が終わったウエーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。更に、個々のプレシンクトは、重複しない矩形の「コードブロック」に分けられる。
【0043】
ここで、プレシンクト、コードブロック、パケット、レイヤについて簡単に説明する。画像≧タイル≧サブバンド≧プレシンクト≧コードブロックの大きさ関係がある。
プレシンクトとは、サブバンドの矩形領域で、同じデコンポジションレベルのHL,LH,HHサブバンドの空間的に同じ位置にある3つの領域の組が1つのプレシンクトとして扱われる。ただし、LLサブバンドでは、1つの領域が1つのプレシンクトとして扱われる。プレシンクトのサイズをサブバンドと同じサイズにすることも可能である。また、プレシンクトを分割した矩形領域がコードブロックである。プレシンクトに含まれる全てのコードブロックの符号の一部(例えば最上位から3ビット目までの3枚のビットプレーンの符号)を取り出して集めたものがパケットである。符号が空(から)のパケットも許される。コードブロックの符号をまとめてパケットを生成し、所望のプログレッション順序に従ってパケットを並べることにより符号データを形成する。なお、後述するが、図9の各タイルに関するSOD以下の部分がパケットの集合である。全てのプレシンクト(つまり、全てのコードブロック、全てのサブバンド)のパケットを集めると、画像全域の符号の一部(例えば、画像全域のウェーブレット係数の最上位のビットプレーンから3枚目までのビットプレーンの符号)ができるが、これがレイヤである(ただし、次に示す例のように、必ずしも全てのプレシンクトのパケットをレイヤに含めなくともよい)。したがって、伸張時に復号されるレイヤ数が多いほど再生画像の画質は向上する。つまり、レイヤは画質の単位とも言える。全てのレイヤを集めると、画像全域の全てのビットプレーンの符号になる。
【0044】
図5は、プレシンクトとコードブロックの関係を説明するための図である。また、図6乃至図8は、デコンポジションレベル数が2(解像度レベル数=3)の場合のパケットとレイヤの一例を示す図で、図6は一般的なレイヤ構成例を、図7は複数の機器のそれぞれに応じたサムネイル出力が可能なレイヤ構成例を、図8は伝送路容量に応じたサムネイル出力が可能なレイヤ構成例を、それぞれ示している。
【0045】
量子化の処理が終わったウエーブレット係数は、個々のサブバンド毎にプレシンクトに分割されるが、図5に示したように、一つのプレシンクト(例えばプレシンクト8p4)は、空間的に一致した3つの矩形領域からなっている。プレシンクト8p6も同様である。すなわち、図5中のプレシンクトと記された空間的に同じ位置にある3つの領域の組が1つのプレシンクトとして扱われる。なお、ここで原画像14はデコンポジションレベル1でタイル8t0,8t1,8t2,8t3の4つのタイルに分割されている。更に、個々のプレシンクトは、重複しない矩形の「コードブロック」(プレシンクト8p4に対してはコードブロック84b0,84b1,...)に分けられる。これは、エントロピー符号化部4にてエントロピーコーディングを行う際の基本単位となる。
【0046】
符号化効率を上げるために、図6乃至図8で後に例示するように、係数値をビットプレーン単位に分解し、画素或いはコードブロック毎にビットプレーンに順序付けを行い、1又は複数のビットプレーンからなる層(レイヤ)を構成することもある。すなわち係数値のビットプレーンから、その有意性に基づいた層(レイヤ)を構成し、そのレイヤごとに符号化を行う。最も有意なレイヤである最上位レイヤ(MSB)とその下位レイヤを数レイヤだけ符号化し、最も有意でないレイヤ(MLB)を含んだそれ以外のレイヤをトランケートすることもある。
【0047】
図6を参照して、デコンポジションレベル数=2(解像度レベル数=3)の場合のパケットとレイヤの構成例(レイヤ数=10)を示す。図中の縦長の小さな矩形がパケットであり、その内部に示した数字はパケット番号である。レイヤを濃淡を付けた横長矩形領域として図示してある。すなわち、この例では、パケット番号0〜51のパケットの符号からなるレイヤ0、パケット番号52〜72のパケットの符号からなるレイヤ1、パケット番号73〜93のパケットの符号からなるレイヤ2、パケット番号94〜114のパケットの符号からなるレイヤ3、パケット番号115〜135のパケットの符号からなるレイヤ4、パケット番号136〜156のパケットの符号からなるレイヤ5、パケット番号157〜177のパケットの符号からなるレイヤ6、パケット番号178〜198のパケットの符号からなるレイヤ7、パケット番号199〜215のパケットの符号からなるレイヤ8、及び、残りのパケット番号216〜228のパケットの符号からなるレイヤ9の10レイヤに分割されている。なお、パケットとプレシンクトとの対応関係などは、プログレッション順序の違いやレイヤ分割数等により様々に変化するものであり、上に示したレイヤ構成はあくまで一例である。
【0048】
図7を参照して、複数の機器のそれぞれに応じたサムネイル出力が可能なレイヤ構成例を説明する。この例では、図6の構成例と同様のレイヤ構成をとるが、本発明の特徴部分であるヘッダ部分に、同一の濃淡で示したパケット番号2,10,18,26,54,75のパケットの符号からなるサムネイル情報(パケット番号2,10,18,26,54,75)を、例えばデジタルカメラのサムネイル出力用に記録しておく。同様に、画像ビューワソフトのサムネイル表示用のサムネイル情報として、情報「パケット番号96,117」をヘッダ部分に記録しておく。また、同様に、携帯電話における表示用のサムネイル情報として、情報「2LL」をヘッダ部分に記録しておく。
【0049】
図8を参照して、デコンポジションレベル数=2(解像度レベル数=3)の場合のパケットとレイヤの構成例として、伝送路容量に応じたサムネイル出力が可能なレイヤ構成例(レイヤ数=13)を説明する。この例では、同一の濃淡で示したパケット番号0〜3のパケットの符号からなるレイヤ0、同一の濃淡で示したパケット番号4〜11のパケットの符号からなるレイヤ1、同一の濃淡で示したパケット番号4〜7,12〜19のパケットの符号からなるレイヤ2、同一の濃淡で示したパケット番号12〜15,20〜51のパケットの符号からなるレイヤ3、同一の濃淡で示したパケット番号52〜72のパケットの符号からなるレイヤ4、同一の濃淡で示したパケット番号73〜93のパケットの符号からなるレイヤ5、同一の濃淡で示したパケット番号94〜114のパケットの符号からなるレイヤ6、同一の濃淡で示したパケット番号115〜135のパケットの符号からなるレイヤ7、同一の濃淡で示したパケット番号136〜156のパケットの符号からなるレイヤ8、同一の濃淡で示したパケット番号157〜177のパケットの符号からなるレイヤ9、同一の濃淡で示したパケット番号178〜198のパケットの符号からなるレイヤ10、同一の濃淡で示したパケット番号199〜215のパケットの符号からなるレイヤ11、及び、同一の濃淡で示した残りのパケット番号216〜228のパケットの符号からなるレイヤ12の13レイヤに分割されている。なお、パケットとプレシンクトとの対応関係などは、プログレッション順序の違いやレイヤ分割数等により様々に変化するものであり、上に示したレイヤ構成はあくまで一例である。
【0050】
図6乃至図8のいずれのレイヤ構成例も、パケットとして、符号データを分割しておき、パケット番号の小さいものから順番に所定サイズになるまでパケットを追加していき、所定サイズになったところまでを1レイヤとしている。また、ここで示したレイヤ構成例では、サブビットプレーンとして1bitをRefinement,Significant,Cleanupの3つに分割した例を示しているが、サブビットプレーンでさらに細かく分割しておけば、より細かい制御が可能である。さらに、パケットの優先度の順番を入れ替えることにより、解像度を重視した順番、画質を重視した順番、位置を重視した順番などに変更可能となる。なお、図6乃至図8で示したレイヤ構成例は、図2のステップS5と共に図示したものに対応している。
【0051】
図9には、符号形成プロセスにて生成されるJPEG2000の符号化データのフォーマット(コードストリームの構造)を簡単に示している。この符号化データは、各種のタグ情報が付加されている。すなわち、図9に見られるように、符号化データは、コードストリームの始まりを示すSOCマーカ9で始まり、その後に符号化パラメータや量子化パラメータ等を記述したメインヘッダ(Main Header)9が続き、その後に各タイル毎の符号データが続く。各タイル毎の符号データは、SOTマーカ9stで始まり、タイルヘッダ(Tile Header)9th、SODマーカ9sd、タイルデータ(Tile Data;符号化データ(ビットストリーム9))で構成される。そして、コードストリームの終端(最後のタイルデータの後)には、再び、終了を示すタグ(EOCタグ9)が置かれる。
【0052】
図10は、図9のメインヘッダの構成を示す図である。
図10に示すように、図9のメインヘッダ9は、画像とタイルのサイズ(SIZ)に続いて、デフォルト符号スタイル(COD;必須)、符号スタイル成分(COC)、デフォルト量子化(QCD;必須)、量子化成分(QCC)、ROI(RGN)、デフォルトプログレッシブ順序(POC)、集約パケット(PPM)、タイル長(TLM)、パケット長(PLM)、色定義(CRG)、コメント(COM)から構成される。SIZ及び必須と示したマーカセグメント(COD,QCD)以外は、オプションとなる。
【0053】
図11は、JPEG2000の基本方式のファイルフォーマットの構成を示す図である。
JPEG2000の基本方式のファイルフォーマットはJP2ファイルフォーマットと称し、図9で説明したJPEG2000符号フォーマットを包含するものであり、画像データやメタデータ、階調数や色空間等の画像の性質を表す情報、知的所有権情報等の情報を含むことを目的としたフォーマットである。JP2ファイルフォーマットで構成されたJP2ファイルの情報構造は、boxと称する情報の区切りから構成され、metadataと称するアプリケーションに特化した情報を含む。JP2ファイルの情報構造は、図11に実線(必須)と破線(オプション)で示すように、JPEG2000 Signature box,File Type box,JP2 Header box,Contiguous Codestream boxからなる。詳細は図示の通りである。
【0054】
一方、復号化時には、符号化時とは逆に、各コンポーネントの各タイルのコードストリームから画像データを生成する。図1を用いて簡単に説明する。この場合、タグ処理部5は、外部より入力したコードストリームに付加されたタグ情報を解釈し、コードストリームを各コンポーネントの各タイルのコードストリームに分解し、その各コンポーネントの各タイルのコードストリーム毎に復号化処理が行われる。コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、逆量子化部3で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー復号化部4で、このコンテキストとコードストリームから確率推定によって復号化を行い対象ビットを生成し、それを対象ビットの位置に書き込む。
【0055】
このようにして復号化されたデータは各周波数帯域毎に空間分割されているため、これを2次元ウェーブレット逆変換部2で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間逆変換部1によって元の表色系のデータに変換される。
【0056】
以下、本発明の実施の形態について詳細に説明する。
図12は、本発明の一実施形態に係る画像圧縮装置の構成例を説明するための機能ブロック図で、図13は、図12における画像圧縮方法を説明するためのフロー図である。なお、図13は、本発明の一実施形態に係る画像圧縮方法の手順例を説明するためのフロー図でもある。
【0057】
本発明に係る画像圧縮装置は、画像の圧縮符号データを生成する装置であり、サムネイル情報設定手段及びサムネイル情報付加手段を含むものとする。また、画像圧縮装置として説明するが、非圧縮データに限らず圧縮された画像データを、本発明に係るサムネイル出力が容易なように変換することが可能であるため、画像変換装置ともいえる。図12では、画像圧縮装置(画像変換装置)20が、画像読込部21、サムネイル情報設定手段をもつサムネイル設定部22、画質圧縮部23、サムネイル情報付加手段をもつサムネイル情報付加部24、符号生成部25より構成されているものとして説明する。
【0058】
サムネイル情報設定手段では、画像のサムネイル情報を、1又は複数形態設定する。また、サムネイル情報付加手段では、設定された形態(設定された形態のうち1又は複数形態としてもよい)のサムネイル情報を、符号データ形成時にヘッダ部分に付加する。ここで付加するサムネイル情報は、例えば、図7で例示したような情報である。
【0059】
画像圧縮装置20は、画像データを画像読込部21で読み込み(ステップS11)、サムネイル設定部22でサムネイル情報を設定する(ステップS12)。勿論、サムネイル設定部22にて予め設定するサムネイル情報を設定しておいてもよい。続いて、画質圧縮部23にて画像を圧縮する(ステップS13)。次に、サムネイル情報付加部24にて設定に応じたサムネイル情報を付加し、符号生成部25にて符号データを生成する(ステップS14)。なお、ここでは、サムネイル情報付加手段がサムネイル情報付加部24にあり、サムネイル情報を付加した後に、符号生成部25にて符号を生成するような構成例を説明するが、符号生成中にサムネイル情報を付加してもよい。
【0060】
また、サムネイル情報の記録場所の候補例としては、図10におけるCOMマーカ、図11におけるファイルフォーマットXMLboxes、同じくファイルフォーマットUUIDboxesなどが挙げられるが、他の記録場所を採用してもよい。XMLの記述例を以下に示す。
【0061】

Figure 2004247891
【0062】
図14は、図12の画像圧縮装置において設定するサムネイル情報の一例を示す図である。
画像圧縮装置20では、サムネイル情報として、画像の解像度情報、画像の位置情報、画像のコンポーネント情報、画像の画質情報、画像のサブバンド情報のうちいずれかを用いるようにするとよい。また、いずれか1ではなく、複数の情報を組み合わせて用いてもよい。
【0063】
解像度情報としては、例えば、画像のデコンポジションレベル情報を用いればよい。また、位置情報としては、例えば、タイル情報,プレシンクト情報,コードブロック情報,画素位置情報のうち、いずれか1又は複数を用いるようにすればよい。さらに、画質情報としては、例えば、レイヤ情報及び/又はビットプレーン情報を用いるようにすればよい。図14では、表示装置(処理速度bps)31に対応するサムネイル32の対応表30を例示しているが、例えば、デジタルカメラに対しては、中心部タイル及び/又はレイヤ3を設定しておけばよい。同様に、画像ビューワソフトに対してはデコンポジションレベル3及び/又はレイヤ5を設定し、携帯電話に対してはデコンポジションレベル5を設定し、デジタルビデオカメラに対してはフレーム番号2N+1及び/又はデコンポジションレベル3を設定し、TV放送に対しては全フレーム、タイル6,7,10,11、デコンポジションレベル3のうちいずれか1又は複数を設定し、ハイビジョン放送に対しては全フレーム及び/又はデコンポジションレベル3を設定しておけばよい。ここで示した例の組み合わせは、単なる一例でありその他の組み合わせも適宜行われるべきである。例えば、表示装置(或いは印刷装置や伝送装置)の処理速度の進化により適宜変更されるべきものである。
【0064】
また、図12で例示した画像圧縮装置20において生成した圧縮符号データは、画像のサムネイルを取り出す画像処理装置でサムネイルを取り出すようにすればよい。この本発明の一実施形態に係る画像処理装置は、この圧縮符号データから、そのヘッダ部分に記録されたサムネイル情報を元に、符号データの一部を切り出す手段を有するようにしておくとよい。この手段は、サムネイル情報に基づいたサムネイルを伸張して出力するだけでなく、原画像又はサムネイル以外の縮小画像や拡大画像なども伸張して出力することを可能とした手段であり、上述のヘッダ部分を解釈可能なよう構成すればよい。なお、サムネイル情報が複数の形態で記録されている圧縮符号データを出力する際にはユーザ側で選択可能にしておけばよい。また、この画像処理装置は画像圧縮装置20の画像圧縮機能を備えてもよい。
【0065】
さらに、図12で例示した画像圧縮装置20において生成した圧縮符号データは、画像のサムネイルを出力する画像伸張装置でサムネイルを出力するようにしてもよい。この本発明の一実施形態に係る画像伸張装置は、この圧縮符号データから、そのヘッダ部分に記録されたサムネイル情報を元に、符号データからサムネイル部分のみを伸張し出力する手段を有するようにしておくとよい。この手段は、上述のヘッダ部分を解釈可能なよう構成すればよい。なお、サムネイル情報が複数の形態で記録されている圧縮符号データを出力する際にはユーザ側で選択可能にしておけばよい。
【0066】
図15及び図16は、本発明の一実施形態に係る画像処理装置又は画像伸張装置における処理結果を示すための図である。図15は、原画像の一例を示し、図16は図15の原画像を本発明に係る画像圧縮装置で圧縮し、画像処理装置又は画像伸張装置で出力した結果の画像を示している。
【0067】
図15の原画像40に対し、サムネイルとして低解像度画像を指定した場合、図16(A)の画像41のように出力される。同様に、例えば、サムネイルとして1コンポーネントを指定した場合には図16(B)の画像42が出力され、サムネイルとしてレイヤ0のみを指定した場合には図16(C)の画像43が出力され、サムネイルとして中心部タイルを指定した場合には図16(D)の画像44が出力される。
【0068】
本実施形態に係る画像圧縮装置によれば、圧縮された画像データのデータ容量を大きくすることなく、画像データのサムネイルを高速に出力する可能な圧縮画像データを生成することが可能となる。さらに、ヘッダ情報に複数の形態のサムネイル情報を記録しておくことで、複数の形態のサムネイルを出力可能な圧縮符号データを生成することが可能となる。また、本発明に係る画像処理装置又は画像伸張装置によれば、入力する圧縮画像データのデータ容量を大きくすることなく、画像データのサムネイルを高速に出力することが可能となる。これらの装置はネットワークを介して画像を配信する画像配信システムなどに適用できる。
【0069】
以上、本発明の画像圧縮装置、画像処理装置、及び画像伸張装置を中心に各実施形態を説明してきたが、本発明は、一部フロー図としても説明したように、それらの装置における処理手順を含んでなる画像圧縮方法、画像処理方法、画像伸張方法としても、或いは、コンピュータをそれら装置として又はそれらの装置の各手段として機能させるための、又はコンピュータにそれら方法を実行させるためのプログラム(それらの処理内容が実装されているコンピュータプログラム)としても、或いは、そのプログラムを記録したコンピュータ読み取り可能な記録媒体(それらの処理内容が記録されているコンピュータ読み取り可能な情報記録媒体)としての形態も可能である。また、このプログラムや記録媒体により、上述の各実施形態に対応した処理によって、画像データ全体の容量を多くすることなく、サムネイル画像を生成することなどが可能なシステムなど、上述した装置と同様の効果を持ったシステムを提供することができる。これらのプログラムや記録媒体は、上述した実施形態に加え、後述する実施例を元に容易に実施できることは明らかである。
【0070】
本発明による画像圧縮又は画像処理又は画像伸張の機能を実現するためのプログラムやデータを記憶した記録媒体の実施形態を説明する。記録媒体としては、具体的には、CD−ROM、光磁気ディスク、DVD−ROM、FD、フラッシュメモリ、及びその他各種ROMやRAM等が想定でき、これら記録媒体に上述した本発明の各実施形態に係る機能をコンピュータに実行させ、画像の圧縮,処理,伸張のいずれか1又は複数の機能を実現するためのプログラムを記録して流通させることにより、当該機能の実現を容易にする。そしてコンピュータ(汎用コンピュータやその他の機器)等の情報処理装置に上記のごとくの記録媒体を装着して情報処理装置によりプログラムを読み出し、そのまま起動させるか機器に伝送するか、若しくは情報処理装置が備えている記憶媒体に当該プログラムを記憶させておき、必要に応じて読み出すことにより、本発明に関わる機能を実行することができる。
【0071】
ここで上述した各実施形態に適用可能な装置の構成例を説明する。
図17は、本発明に係る画像圧縮装置の一構成例を示す図である。
ここで例示する本発明に係る画像圧縮装置は、データバス53を介して、RAM51,CPU52,HDD54が接続された構成となっており、以下の流れで、原画像の画像データから、サムネイル情報が付加された圧縮画像データが生成され、HDD54に保存されることとなる。
【0072】
HDD54上に記録された原画像の画像データ(又は圧縮された画像データ)が、CPU52からの命令によってRAM51上に読み込まれる(i)。次に、CPU52はRAM41上の画像データを読み込み、ウェーブレット係数を求め、本発明に係るサムネイル情報付加処理を適用して圧縮画像データを生成する(ii)。CPU52は、生成された圧縮画像データをRAM51上の別の領域に書き込む(iii)。CPU52からの命令によって、圧縮画像データがHDD54上に記録される(iv)。画像処理装置又は画像伸張装置側では、この圧縮画像データを表示,印刷,伝送など出力する際にヘッダ部分に記載されたサムネイル情報からサムネイル出力が可能となる。図17で例示した画像圧縮装置は画像処理装置又は画像伸張装置を兼ねてもよいし、また、画像処理装置又は画像伸張装置は図17で例示した画像圧縮装置と同様の構成を持つものでもよい。
【0073】
【発明の効果】
本発明によれば、圧縮された画像データのデータ容量を大きくすることなく、画像データのサムネイルを高速に出力する可能な圧縮画像データを生成することが可能となる。
【0074】
また、本発明によれば、入力する圧縮画像データのデータ容量を大きくすることなく、画像データのサムネイルを高速に出力することが可能となる。
【図面の簡単な説明】
【図1】JPEG2000の基本となる階層符号化・復号化アルゴリズムを説明するためのブロック図である。
【図2】JPEG2000のアルゴリズムを説明するための簡略化されたフロー図である。
【図3】デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示す図である。
【図4】タイル分割されたカラー画像の各コンポーネントの例を示す図である。
【図5】プレシンクトとコードブロックの関係を説明するための図である。
【図6】デコンポジションレベル数が2(解像度レベル数=3)の場合のパケットとレイヤの一例を示す図で、一般的なレイヤ構成例を示す図である。
【図7】デコンポジションレベル数が2(解像度レベル数=3)の場合のパケットとレイヤの一例を示す図で、複数の機器のそれぞれに応じたサムネイル出力が可能なレイヤ構成例を示す図である。
【図8】デコンポジションレベル数が2(解像度レベル数=3)の場合のパケットとレイヤの一例を示す図で、伝送路容量に応じたサムネイル出力が可能なレイヤ構成例を示す図である。
【図9】符号形成プロセスにて生成されるJPEG2000の符号化データのフォーマット(コードストリームの構造)を簡単に示す図である。
【図10】図9のメインヘッダの構成を示す図である。
【図11】JPEG2000の基本方式のファイルフォーマットの構成を示す図である。
【図12】本発明の一実施形態に係る画像圧縮装置の構成例を説明するための機能ブロック図である。
【図13】図12における画像圧縮方法を説明するためのフロー図で、本発明の一実施形態に係る画像圧縮方法の手順例を説明するためのフロー図でもある。
【図14】図12の画像圧縮装置において設定するサムネイル情報の一例を示す図である。
【図15】本発明の一実施形態に係る画像処理装置又は画像伸張装置における処理結果を示すための図で、原画像の一例を示す図である。
【図16】図15の原画像を本発明に係る画像圧縮装置で圧縮し、画像処理装置又は画像伸張装置で出力した結果の画像を示す図である。
【図17】本発明に係る画像圧縮装置の一構成例を示す図である。
【符号の説明】
1…色空間変換・逆変換部、2…2次元ウエーブレット変換・逆変換部、3…量子化・逆量子化部、4…エントロピー符号化・復号化部、5…タグ処理部、20…画像圧縮装置(画像変換装置)、21…画像読込部、22…サムネイル設定部、23…画質圧縮部、24…サムネイル情報付加部、25…符号生成部。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image compression device, an image processing device, an image decompression device, an image compression method, an image processing method, an image decompression method, a program, and a recording medium.
[0002]
[Prior art]
In recent years, the spread of high-definition images has been remarkable. This largely depends on higher definition in input devices such as digital still cameras and scanners, and output devices such as ink jet printers and displays. At present, JPEG (Joint Photographic Experts Group) is most widely used as an image compression / decompression algorithm for handling such high-definition still images. JPEG uses a two-dimensional discrete cosine transform to remove the redundancy in the spatial domain.
[0003]
The basic function of this method is only to "compress and expand a still image". It is not possible to manipulate the image in the state of a compressed file or to see only a specific area when decompressing. In addition, images are treated as a “flat structure” having no hierarchy. Therefore, in order to add new processing to an image, the encoded data must be completely decoded.
[0004]
In the JPEG algorithm, it is necessary to expand the encoded image data and display the image value as an image on a display device as the image becomes higher definition and larger scale, that is, as the number of pixels of the original image increases. Time also increases in parallel. In recent years, with the advancement of the performance of the input device, the definition and the area of the original image have been increased, and the level has become a level that cannot be ignored. In the field of handling images in satellite and aerial photography, medical and scientific fields, and images recording cultural properties, it has already been recognized as a problem to be solved. When a JPEG compressed image is decompressed, the time required for decompression has a characteristic that it takes a constant value irrespective of the reduction ratio. This is because, as described above, encoding is performed by the JPEG method. This is because the decoded data is always completely decoded regardless of the reduction ratio.
[0005]
Usually, it is difficult to display all the pixels of such a large image on a display because the number of displayable pixels of the display device is limited. In practice, this is dealt with by reducing and displaying it on the screen. However, in the conventional JPEG algorithm, even when a reduced image is displayed, the entire original image is decompressed to obtain all pixel values, and a thinning process is performed based on the result to display the image on a display. The decompression processing time required to obtain all pixel values of the original image increases in proportion to the number of pixels of the image. Although it depends on the performance of the MPU and the capacity of the memory, for example, several minutes to several tens of minutes are required until an image is displayed.
[0006]
Also, in the JPEG algorithm, even if the user can obtain sufficient information without performing the complete decoding process, the conventional JPEG method must perform all decoding processes, and expands the image area and color to be expanded at the time of expansion. The component or expansion operation order cannot be specified. For example, if you want to display a color image as a grayscale image, you want to see only an image in a certain specific area, you want to see it in the size of a thumbnail, you want to browse image content at high speed, you want to see a fast-forward display of a Motion still image, It is difficult for conventional JPEG algorithms to meet such requirements. In the conventional JPEG algorithm, first, image data obtained by completely expanding code data obtained by compressing an original image is generated. Thereafter, the desired display image is obtained by converting the image data into image data for gray scale display, image data for displaying a specific area, image data for displaying thumbnails, and the like.
[0007]
In order to solve the above-mentioned problems, the present applicant has made it possible to reduce the decompression time used for displaying the code data, that is, to encode a high-speed image encoded as a still image or a moving image as a series of still images. Code string creation device for creating a code string of a still image capable of reducing and displaying fine image data at high speed, image decompression system using the device, image decompression device, image providing system, code string creation method , An image decompression method, a computer-readable program, and a computer-readable recording medium recording the program. The code string creation function according to these inventions makes it possible to efficiently expand an image by specifying an image area to be expanded, a color component, or an expansion operation order, that is, to limit the expansion operation.
[0008]
On the other hand, image display devices often display thumbnails of images. In displaying thumbnails according to the related art, there are a method of expanding the entire image, reducing the resolution to a required resolution and displaying the image, and a method of separately storing a thumbnail image. In either case, the image is compressed / decompressed using the basic function and, in some cases, the extended function based on the JPEG standard. As the extended function, for example, a technique such as the above-mentioned invention proposed by the present applicant is applied.
[0009]
[Problems to be solved by the invention]
However, if a method of performing thumbnail output such as printing and transmission of thumbnails after expanding the entire image and lowering the resolution to a required resolution is adopted, not only the thumbnail display but also a considerable time is required until the thumbnail image is output. .
[0010]
In a method in which thumbnail images are separately stored and the stored images are read out when output, the thumbnail images (small images) to be stored are standardized as in Exif (Exchangeable image file format) or the like. Is generally stored in the header portion of the compressed data of the main image, which increases the output speed but increases the capacity of the compressed data.
[0011]
SUMMARY OF THE INVENTION The present invention has been made in view of the above-described circumstances, and generates compressed image data capable of outputting thumbnails of image data at high speed without increasing the data capacity of compressed image data. It is an object of the present invention to provide a compression device, an image compression method, a computer-readable program, and a computer-readable recording medium on which the program is recorded.
[0012]
Further, the present invention provides an image processing device and an image decompression device, an image processing method and an image decompression method, which can output thumbnails of image data at high speed without increasing the data capacity of input compressed image data. Another object is to provide a computer-readable program and a computer-readable recording medium on which the program is recorded.
[0013]
[Means for Solving the Problems]
In the present invention, the JPEG2000 system (ISO / IEC FCD 15444-1), which is proposed as the next-generation image coding system of JPEG, stores an image in a high-definition state and specifies the image from the image code data. The output (display, printing, transmission) of a thumbnail image is accelerated by utilizing the fact that it is possible to retrieve an image with a resolution of or a specific image quality.
[0014]
INDUSTRIAL APPLICABILITY The present invention is useful in a case where data other than low-resolution data is used as a thumbnail in code data, such as a JPEG2000 code, in which an image can be easily cut out with resolution, position, image quality, color components, and the like. . In the compressed image data according to the present invention, suitable thumbnail information on an image is stored in order to enable a quick overview of the image.
[0015]
The present invention is constituted by the following technical means.
According to a first technical means, in an image compression apparatus for generating compressed code data of an image, a means for setting one or a plurality of forms of thumbnail information of an image, And means for adding to a portion, so that thumbnail information of image quality can be easily taken out. As an image compression method for generating compressed code data of an image, a step of setting one or more forms of thumbnail information of an image and a step of adding the set form of thumbnail information to a header portion when forming code data May be provided. Further, the technical means can be realized in the form of a computer-readable program or a computer-readable recording medium on which the program is recorded.
[0016]
According to a second technical means, in the first technical means, resolution information of an image is used as the thumbnail information.
[0017]
According to a third technical means, in the second technical means, decomposition level information of an image is used as the resolution information.
[0018]
A fourth technical means is the image processing apparatus according to any one of the first to third technical means, wherein position information of an image is used as the thumbnail information.
[0019]
According to a fifth technical means, in the fourth technical means, one or more of tile information, precinct information, code block information, and pixel position information are used as the position information. .
[0020]
A sixth technical means is the image processing apparatus according to any one of the first to fifth technical means, wherein component information of an image is used as the thumbnail information.
[0021]
A seventh technical means is the image processing apparatus according to any one of the first to sixth technical means, wherein image quality information of an image is used as the thumbnail information.
[0022]
According to an eighth technical means, in the seventh technical means, layer information and / or bit plane information is used as the image quality information.
[0023]
According to a ninth technical means, in any one of the first to the eighth technical means, subband information of an image is used as the thumbnail information.
[0024]
A tenth technical means is an image processing apparatus for extracting a thumbnail of an image, and from the compressed code data generated by any one of the first to ninth technical means, based on the thumbnail information of the compressed code data. It is characterized by having means for cutting out a part of the code data. As an image processing method for extracting a thumbnail of an image, a part of the code data is cut out from the compressed code data generated by any one of the first to ninth technical means based on the thumbnail information of the compressed code data. It may have a step. Further, the technical means can be realized in the form of a computer-readable program or a computer-readable recording medium on which the program is recorded.
[0025]
An eleventh technical means is an image decompression device for outputting a thumbnail of an image, and is based on the compressed code data generated by any one of the first to ninth technical means based on the thumbnail information of the compressed code data. And means for expanding and outputting only the thumbnail portion from the code data. In addition, as an image decompression method for outputting a thumbnail of an image, only the thumbnail portion from the code data based on the thumbnail information of the compressed code data based on the compressed code data generated by any one of the first to ninth technical means. May be expanded and output. Further, the technical means can be realized in the form of a computer-readable program or a computer-readable recording medium on which the program is recorded.
[0026]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, encoded data (hereinafter, also referred to as compressed encoded data) processed in each embodiment of the present invention includes encoded data of a still image of JPEG2000 (ISO / IEC FCD15444-1) and Motion-JPEG2000 (ISO / IEC FCD 15444-3) will be described as coded data of a moving image. Motion-JPEG2000 treats a moving image as each of a plurality of continuous still images as frames, and the encoded data of each frame conforms to JPEG2000, and the file format is only partially different from JPEG2000.
[0027]
JPEG2000 is an image compression / decompression method succeeding JPEG, which became an international standard in 2001, and its algorithm is described in detail in, for example, a book “Next Generation Image Coding Method JPEG2000” (Yasuyuki Nomizu, Trikeps Co., Ltd.). The algorithm of JPEG2000 will be described to the extent necessary for the description of the following embodiments.
[0028]
FIG. 1 is a block diagram for describing a hierarchical encoding / decoding algorithm which is a basic of JPEG2000, and is also a block diagram for describing an image processing apparatus according to an embodiment of the present invention.
The basic encoding / decoding algorithm of JPEG2000 is composed of a two-dimensional wavelet transform / inverse transform unit 2, a quantization / inverse quantization unit 3, an entropy encoding / decoding unit 4, and a tag processing unit 5. ing. Among them, the characteristic part of the present invention is the tag processing unit 5 (in the present specification, mainly described as including a thumbnail information setting unit and a thumbnail information adding unit). As an input from the color space conversion / inverse conversion unit (color conversion / inverse conversion unit) 1 or an output to the color space conversion / inverse conversion unit 1, furthermore, an input from the tag processing unit 5 or an output to the tag processing unit 5 , A two-dimensional wavelet transform / inverse transform unit 2, a quantization / inverse quantization unit 3, and an entropy encoding / decoding unit 4 are provided. It goes without saying that each unit may be configured separately in the forward and reverse directions, but the processing in each unit may be performed for each component.
[0029]
FIG. 2 is a simplified flowchart illustrating the algorithm of JPEG2000.
As an outline of the compression / expansion processing in JPEG2000 shown in FIG. 1, at the time of compression, each component subjected to color space conversion in steps S1 and S2 is subjected to wavelet conversion to obtain a wavelet coefficient (step S3), and progressive sub-bits are obtained. The plane coding (step S4) and the entropy coding (step S5) are performed. On the other hand, at the time of decompression, wavelet coefficients for each component obtained through entropy decoding and inverse quantization in steps S5 and S6 are subjected to inverse wavelet transform (step S3), and then inverse color transform is performed (step S3). S2), the flow returns to the RGB pixel values of the original image (step S1).
[0030]
Hereinafter, features of the JPEG2000 algorithm will be described in detail.
One of the biggest differences between the JPEG2000 algorithm and the JPEG algorithm is the conversion method. In JPEG, Discrete Cosine Transform (DCT) is used, and in JPEG2000 hierarchical coding compression / decompression algorithm, Discrete Wavelet Transform (DWT: Discrete Wavelet Transform) is used. The advantage that DWT has better image quality in a high compression area than DCT is one of the major reasons that it was adopted in JPEG2000 which is a successor algorithm of JPEG. Another major difference is that, in the latter, a functional block called a tag processing unit 5 is added in order to perform code formation in the final stage. In this part, compressed data is generated as a code stream during the compression operation, and a code stream necessary for decompression is interpreted during the decompression operation. The code stream has enabled JPEG2000 to realize various convenient functions. The JPEG2000 algorithm has good image quality at a high compression rate (low bit rate) and has many features.
[0031]
One is that the entire code amount can be adjusted without performing recompression by post-quantization by deleting (truncating) the code of the coded data. This code removal can be performed in various units such as areas such as tiles and precincts, components, decomposition levels (or resolution levels), bit planes, sub-bit planes, packets, and layers in the case of a multi-layer configuration. .
[0032]
For example, FIG. 3 is a diagram showing subbands at each decomposition level when the number of decomposition levels is 3, and an arbitrary hierarchy corresponding to the octave division hierarchy in the block-based DWT shown in FIG. Thus, the compression / decompression processing of the still image can be stopped. The relationship between the decomposition level and the resolution level is as follows. For each subband, the resolution level of 3LL is 0, the resolution level of 3HL, 3LH, 3HH is 1, 2HL, 2LH, 2HH, and the resolution level is 2. The resolution level of 1HL, 1LH, 1HH is 3. The “decomposition” here is defined as follows in JPEG2000 Part I FDIS (Final Draft International Standard).
[0033]
decomposition level:
A collection of wavelet subbands where each coachesent has the same spatial impact or span with respect to the source components. The include the HL, LH, and HH subbands of the same two dimensional subband decomposition. For the last decomposition level the LL subband is also included.
[0034]
Another is that the layer of encoded data can be reconstructed in the encoded state. The other is that it is possible to reconstruct an encoded code in one progression order into encoded data in another progression order in the encoded state. The other is that the multi-layer encoded data can be divided into two or more encoded codes in a layer unit in the encoded state.
[0035]
Hereinafter, the JPEG2000 algorithm will be described in detail step by step. A color space conversion unit 1 is often connected to the input / output part of the original image as shown in FIG. For example, an RGB color system composed of R (red) / G (green) / B (blue) components of a primary color system, and Y (yellow) / M (magenta) / C (cyan) components of a complementary color system The conversion from the YMC color system composed of to the YUV or YCbCr color system or the reverse conversion corresponds to this.
[0036]
FIG. 4 is a diagram illustrating an example of each component of the tiled color image.
As shown in FIG. 4, a color image generally includes each component 7 of the original image. R , 7 G , 7 B (Here, RGB primary color system) is a rectangular area (tile) 7 Rt , 7 Gt , 7 Bt Divided by Then, individual tiles, for example, R00, R01,. . . , R15 / G00, G01,. . . , G15 / B00, B01,. . . , B15 are basic units when executing the compression / decompression process. As described above, the image data to be subjected to the compression processing (the image data of each frame when a moving image is handled) is divided into non-overlapping rectangular areas called tiles for each component, and is processed in units of tiles for each component. You. That is, the compression / expansion operation is performed independently for each component and for each tile. However, it is also possible to make the tile size the same as the image size, that is, not to perform tile division.
[0037]
As described above, at the time of encoding, the data of each tile of each component is input to the color space conversion unit 1 of FIG. 1 for the purpose of improving the compression ratio, and the color space conversion from RGB data or CMY data to YCrCb data is performed. After that, the two-dimensional wavelet transform unit 2 applies a two-dimensional wavelet transform (forward transform) to each tile image of each component after the color space transform, and spatially divides the frequency image into frequency bands. In some cases, the color space conversion is omitted.
[0038]
The processing in the two-dimensional wavelet transform unit 2 when the number of decomposition levels is 3 will be described with reference to FIG. In the two-dimensional wavelet transform unit 2, first, the tile original image (0LL) obtained by dividing the original image into tiles (decomposition level 0 (6 0 )) Is subjected to a two-dimensional wavelet transform to obtain a decomposition level 1 (6 1 ), The sub-bands 1LL, 1HL, 1LH, and 1HH are separated. That is, the original tile image (6 0 ) Is decomposition level 1 (6 1 ) Are divided into sub-bands. Subsequently, a two-dimensional wavelet transform is performed on the low-frequency component 1LL in this layer to obtain a decomposition level 2 (6 2 ) Are separated from the subbands 2LL, 2HL, 2LH, and 2HH. Similarly, the two-dimensional reversible wavelet transform is applied to the low-frequency component 2LL in the same manner as described above, and the decomposition level 3 3 ), The sub-bands 3LL, 3HL, 3LH and 3HH are separated. Here, the subbands to be coded at each decomposition level are, for example, subbands 3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH when the number of decomposition levels is 3. It becomes an encoding target, and the 3LL subband is not encoded.
[0039]
Next, bits to be encoded are determined in the designated order of encoding, and the quantization unit 3 in FIG. 1 generates a context from bits around the target bits. That is, the wavelet coefficients obtained by the recursive division (octave division) of the low frequency components (LL subband coefficients) as described above are quantized by the quantization / dequantization unit 3 for each subband. It becomes. In JPEG2000, both lossless (reversible) compression and lossy (irreversible) compression are possible. In the case of lossless compression, the quantization step width is always 1, and quantization is not performed at this stage. The wavelet coefficient after the quantization process is increased to 12 bits for an 8-bit original image, for example.
[0040]
Subsequently, the entropy encoding unit 4 encodes each component tile by probability estimation from the context and the target bit. In this way, the encoding process is performed for all the components of the original image in tile units. The entropy coding for each of the quantized subband coefficients uses a coding method called EBCOT (Embedded Block Coding with Optimized Truncation) including block division, coefficient modeling, and binary arithmetic coding. The bit plane of each subband coefficient is encoded for each block called a code block from the upper plane to the lower plane.
[0041]
Finally, the tag processing unit 5 performs a code forming process. In the code forming process performed by the tag processing unit 5, all encoded data from the entropy encoding unit 4 are combined into one code stream and a tag is added thereto. In the tab processing unit 5, first, a packet is generated by grouping the codes of the code blocks generated by the entropy coding unit 4, and the generated packets are arranged according to the progression order, and necessary tag information is added. Thereby, encoded data of a predetermined format is created. In JPEG2000, five types of progression order based on a combination of a resolution level, a precinct (position), a layer, and a component (color component) are defined for code order control.
[0042]
Here, the details of the entropy coding in the entropy coding unit 4 and the code forming process in the tag processing unit 5 will be described using examples.
The wavelet coefficients after the quantization process are divided into non-overlapping rectangles called "precincts" for each subband. This was introduced to make efficient use of memory in the implementation. Furthermore, each precinct is divided into non-overlapping rectangular "code blocks".
[0043]
Here, precincts, code blocks, packets, and layers will be briefly described. There is a relation of image ≧ tile ≧ subband ≧ precinct ≧ code block.
A precinct is a rectangular region of a subband, and a set of three regions at the same spatial position in the HL, LH, and HH subbands of the same decomposition level is treated as one precinct. However, in the LL subband, one region is treated as one precinct. The size of the precinct can be the same size as the subband. A rectangular area obtained by dividing the precinct is a code block. A packet is obtained by extracting and collecting a part of the codes of all the code blocks included in the precinct (for example, the codes of three bit planes from the highest bit to the third bit). Packets with an empty code are also allowed. A code is formed by combining the codes of the code blocks to generate a packet and arranging the packets in a desired progression order. As will be described later, the portion below the SOD for each tile in FIG. 9 is a set of packets. When packets of all precincts (that is, all code blocks and all subbands) are collected, a part of the code of the entire image (for example, the bits from the most significant bit plane to the third bit of the wavelet coefficient of the entire image) This is a layer (however, it is not always necessary to include all precinct packets in the layer, as in the following example). Therefore, the image quality of the reproduced image improves as the number of layers decoded at the time of decompression increases. That is, a layer can be said to be a unit of image quality. When all the layers are collected, the codes of all the bit planes in the entire image are obtained.
[0044]
FIG. 5 is a diagram for explaining the relationship between precincts and code blocks. 6 to 8 are diagrams showing an example of packets and layers when the number of decomposition levels is 2 (the number of resolution levels = 3). FIG. 6 shows an example of a general layer configuration, and FIG. 8 shows an example of a layer configuration capable of outputting a thumbnail according to each of the devices, and FIG. 8 shows an example of a layer configuration capable of outputting a thumbnail according to the transmission path capacity.
[0045]
The wavelet coefficient after the quantization process is divided into precincts for each subband, but as shown in FIG. 5, one precinct (for example, precinct 8) is used. p4 ) Consists of three spatially matched rectangular regions. Precinct 8 p6 The same is true for That is, a set of three regions at the same spatial position, which is described as a precinct in FIG. 5, is treated as one precinct. Here, the original image 14 is tile 8 at decomposition level 1 t0 , 8 t1 , 8 t2 , 8 t3 Are divided into four tiles. Furthermore, each precinct is a rectangular “code block” (precinct 8 p4 For code block 8 4b0 , 8 4b1 ,. . . ). This is a basic unit when entropy coding is performed by the entropy coding unit 4.
[0046]
In order to increase the coding efficiency, the coefficient values are decomposed in units of bit planes, and ordered in bit planes for each pixel or code block, as illustrated later in FIGS. In some cases, different layers may be formed. That is, a layer (layer) based on the significance is formed from the bit planes of the coefficient values, and encoding is performed for each layer. In some cases, the most significant layer, the most significant layer (MSB) and its lower layers are coded by several layers, and other layers including the least significant layer (MLB) are truncated.
[0047]
Referring to FIG. 6, an example of the configuration of packets and layers (number of layers = 10) when the number of decomposition levels = 2 (the number of resolution levels = 3) is shown. A small vertically long rectangle in the figure is a packet, and a number shown inside the packet is a packet number. The layer is shown as a horizontally elongated rectangular area with shading. That is, in this example, layer 0 consisting of the codes of the packets of packet numbers 0 to 51, layer 1 consisting of the codes of the packets of packet numbers 52 to 72, layer 2 consisting of the codes of the packets of packet numbers 73 to 93, and the packet number From the layer 3 consisting of the codes of the packets 94 to 114, the layer 4 consisting of the codes of the packets having the packet numbers 115 to 135, the layer 5 consisting of the codes of the packets having the packet numbers 136 to 156, and the code of the packets having the packet numbers 157 to 177 Layer 6 consisting of the codes of the packets having the packet numbers 178 to 198, layer 8 consisting of the codes of the packets having the packet numbers 199 to 215, and layer 9 consisting of the codes of the packets having the remaining packet numbers 216 to 228. It is divided into 10 layers. Note that the correspondence between the packet and the precinct changes variously depending on the difference in the progression order, the number of layer divisions, and the like, and the above-described layer configuration is merely an example.
[0048]
With reference to FIG. 7, an example of a layer configuration capable of outputting a thumbnail according to each of a plurality of devices will be described. In this example, the same layer configuration as that of the configuration example of FIG. 6 is adopted, but the packet portions of the packet numbers 2, 10, 18, 26, 54, and 75 indicated by the same shading are added to the header portion which is a characteristic portion of the present invention. The thumbnail information (packet number 2, 10, 18, 26, 54, 75) consisting of the code of is recorded, for example, for thumbnail output of a digital camera. Similarly, information "packet number 96, 117" is recorded in the header as thumbnail information for displaying thumbnails of the image viewer software. Similarly, information "2LL" is recorded in the header as thumbnail information for display on the mobile phone.
[0049]
Referring to FIG. 8, as a configuration example of a packet and a layer when the number of decomposition levels = 2 (the number of resolution levels = 3), a layer configuration example where the thumbnail output corresponding to the transmission path capacity is possible (the number of layers = 13) ) Will be described. In this example, the layer 0 is formed of the code of the packet number 0 to 3 indicated by the same shading, the layer 1 is formed of the code of the packet number 4 to 11 indicated by the same shading, and indicated by the same shading. Layer 2 consisting of the codes of the packets of packet numbers 4 to 7, 12 to 19, packet numbers 12 to 15, indicated by the same shading, Layer 3 consisting of the codes of the packets of the same shading, and packet numbers indicated by the same shading Layer 4 consisting of the signs of the packets 52 to 72, layer 5 consisting of the signs of the packet numbers 73 to 93 indicated by the same shade, and layer consisting of the signs of the packets 94 to 114 represented by the same shade. 6, layer 7 consisting of the codes of the packets of the packet numbers 115 to 135 indicated by the same shading, packet numbers 136 to 15 indicated by the same shading Layer 8 consisting of the code of the packet number 157 to 177 indicated by the same shading, layer 10 consisting of the code of the packet number 178 to 198 indicated by the same shading, the same Are divided into 13 layers, that is, a layer 11 composed of the codes of the packet numbers 199 to 215 indicated by the light and shade and a layer 12 composed of the codes of the remaining packet numbers 216 to 228 indicated by the same light and shade. . Note that the correspondence between the packet and the precinct changes variously depending on the difference in the progression order, the number of layer divisions, and the like, and the above-described layer configuration is merely an example.
[0050]
In any of the layer configuration examples shown in FIGS. 6 to 8, code data is divided as packets, and packets are added in ascending order of a packet number until a predetermined size is reached. Up to one layer. Also, in the example of the layer configuration shown here, 1 bit is divided into three of Refinement, Significant, and Cleanup as sub-bit planes. However, if the sub-bit plane is further divided, control can be performed more finely. Is possible. Further, by changing the order of the priority of the packets, it is possible to change the order to emphasize the resolution, the order emphasizing the image quality, the order emphasizing the position, and the like. Note that the layer configuration examples shown in FIGS. 6 to 8 correspond to those shown together with step S5 in FIG.
[0051]
FIG. 9 schematically shows the format (code stream structure) of JPEG2000 encoded data generated in the code forming process. This coded data is added with various tag information. That is, as shown in FIG. 9, the encoded data includes an SOC marker 9 indicating the beginning of the code stream. s , Followed by a main header 9 describing coding parameters, quantization parameters, and the like. h Followed by code data for each tile. The code data for each tile is the SOT marker 9 st Starts with Tile Header 9 th , SOD marker 9 sd , Tile data (Tile Data; encoded data (bit stream 9 b )). Then, at the end of the code stream (after the last tile data), a tag (EOC tag 9) indicating the end is again provided. e ) Is placed.
[0052]
FIG. 10 is a diagram showing the configuration of the main header of FIG.
As shown in FIG. 10, the main header 9 shown in FIG. h Is the default code style (COD; required), code style component (COC), default quantization (QCD; required), quantization component (QCC), ROI (RGN) following the image and tile size (SIZ) , Default progressive order (POC), aggregated packet (PPM), tile length (TLM), packet length (PLM), color definition (CRG), and comment (COM). Except for the SIZ and the marker segments (COD, QCD) indicated as essential, they are optional.
[0053]
FIG. 11 is a diagram showing a configuration of a file format of the basic system of JPEG2000.
The file format of the basic format of JPEG2000 is called the JP2 file format, and includes the JPEG2000 code format described with reference to FIG. 9, and includes information representing the characteristics of the image such as image data, metadata, the number of gradations, and color space. This format is intended to include information such as intellectual property information. The information structure of the JP2 file configured in the JP2 file format is composed of information breaks called boxes, and includes information specialized for an application called metadata. The information structure of the JP2 file is composed of a JPEG2000 Signature box, a File Type box, a JP2 Header box, and a Contiguous Codestream box as shown by a solid line (essential) and a broken line (optional) in FIG. Details are as shown in the figure.
[0054]
On the other hand, at the time of decoding, image data is generated from the code stream of each tile of each component, contrary to the encoding. This will be briefly described with reference to FIG. In this case, the tag processing unit 5 interprets the tag information added to the code stream input from the outside, decomposes the code stream into a code stream of each tile of each component, and decodes each code stream of each tile of each component. Is subjected to a decoding process. The position of the bit to be decoded is determined in the order based on the tag information in the code stream, and the inverse quantization unit 3 calculates the position of the bit around the target bit position (already decoded). A context is created. The entropy decoding unit 4 performs decoding by probability estimation from the context and the code stream to generate a target bit, and writes the target bit at the position of the target bit.
[0055]
Since the data decoded in this way is spatially divided for each frequency band, the two-dimensional wavelet inverse transform unit 2 performs the two-dimensional inverse wavelet transform to obtain each tile of each component of the image data. Is restored. The restored data is converted by the color space inverse converter 1 into the original data of the color system.
[0056]
Hereinafter, embodiments of the present invention will be described in detail.
FIG. 12 is a functional block diagram illustrating a configuration example of an image compression apparatus according to an embodiment of the present invention, and FIG. 13 is a flowchart illustrating an image compression method in FIG. FIG. 13 is also a flowchart for explaining a procedure example of the image compression method according to an embodiment of the present invention.
[0057]
An image compression device according to the present invention is a device that generates compression code data of an image, and includes a thumbnail information setting unit and a thumbnail information addition unit. In addition, although described as an image compression device, it is possible to convert not only uncompressed data but also compressed image data so that thumbnail output according to the present invention can be easily performed, and thus it can be said that the device is also an image conversion device. In FIG. 12, an image compression device (image conversion device) 20 includes an image reading unit 21, a thumbnail setting unit 22 having thumbnail information setting means, an image quality compression unit 23, a thumbnail information addition unit 24 having thumbnail information addition means, a code generation unit. The description will be made assuming that the unit 25 is configured.
[0058]
The thumbnail information setting means sets one or more forms of the thumbnail information of the image. Further, the thumbnail information adding means adds thumbnail information in a set form (or one or more of the set forms) to the header portion when forming the code data. The thumbnail information added here is, for example, information as illustrated in FIG.
[0059]
The image compression device 20 reads the image data by the image reading unit 21 (Step S11), and sets the thumbnail information by the thumbnail setting unit 22 (Step S12). Of course, thumbnail information set in advance by the thumbnail setting unit 22 may be set. Subsequently, the image is compressed by the image quality compression unit 23 (step S13). Next, the thumbnail information adding unit 24 adds thumbnail information according to the setting, and the code generation unit 25 generates code data (step S14). Here, a configuration example in which the thumbnail information adding unit is provided in the thumbnail information adding unit 24 and the code is generated by the code generation unit 25 after adding the thumbnail information will be described. May be added.
[0060]
In addition, examples of candidates for the recording location of the thumbnail information include the COM marker in FIG. 10, the file format XMLboxes in FIG. 11, and the file format UUIDboxes, but other recording locations may be adopted. A description example of XML is shown below.
[0061]
Figure 2004247891
[0062]
FIG. 14 is a diagram showing an example of thumbnail information set in the image compression device of FIG.
The image compression device 20 may use any one of image resolution information, image position information, image component information, image quality information, and image subband information as thumbnail information. Further, instead of any one, a plurality of pieces of information may be used in combination.
[0063]
As the resolution information, for example, the decomposition level information of the image may be used. As the position information, for example, any one or more of tile information, precinct information, code block information, and pixel position information may be used. Furthermore, as the image quality information, for example, layer information and / or bit plane information may be used. FIG. 14 illustrates the correspondence table 30 of the thumbnails 32 corresponding to the display device (processing speed bps) 31. For example, the center tile and / or the layer 3 may be set for a digital camera. Just fine. Similarly, a decomposition level 3 and / or a layer 5 is set for the image viewer software, a decomposition level 5 is set for a mobile phone, and a frame number 2N + 1 and / or a frame number is set for a digital video camera. Decomposition level 3 is set, one or more of all frames, tiles 6, 7, 10, 11 and decomposition level 3 are set for TV broadcasting, and all frames and tiles are set for HDTV broadcasting. And / or Decomposition level 3 may be set. The combination of the examples shown here is merely an example, and other combinations should be appropriately performed. For example, it should be appropriately changed according to the evolution of the processing speed of the display device (or printing device or transmission device).
[0064]
The compressed code data generated by the image compression device 20 illustrated in FIG. 12 may be obtained by extracting the thumbnail by an image processing device that extracts the thumbnail of the image. The image processing apparatus according to one embodiment of the present invention may have a means for cutting out a part of the code data from the compressed code data based on the thumbnail information recorded in the header portion. This means is capable of not only expanding and outputting a thumbnail based on thumbnail information but also expanding and outputting a reduced image or an enlarged image other than the original image or the thumbnail. What is necessary is just to comprise so that a part can be interpreted. When outputting the compressed code data in which the thumbnail information is recorded in a plurality of forms, it is sufficient that the user can select it. Further, the image processing device may include the image compression function of the image compression device 20.
[0065]
Furthermore, the compressed code data generated in the image compression device 20 illustrated in FIG. 12 may output a thumbnail by an image decompression device that outputs a thumbnail of the image. The image decompression device according to one embodiment of the present invention has a means for decompressing only the thumbnail part from the code data based on the thumbnail information recorded in the header part and outputting the compressed code data. Good to put. This means may be configured to interpret the above-mentioned header portion. When outputting the compressed code data in which the thumbnail information is recorded in a plurality of forms, it is sufficient that the user can select it.
[0066]
FIGS. 15 and 16 are diagrams illustrating processing results in the image processing device or the image decompression device according to the embodiment of the present invention. FIG. 15 shows an example of the original image, and FIG. 16 shows an image obtained as a result of compressing the original image of FIG. 15 by the image compression device according to the present invention and outputting the image by the image processing device or the image decompression device.
[0067]
When a low-resolution image is designated as a thumbnail for the original image 40 in FIG. 15, the image is output as an image 41 in FIG. Similarly, for example, when one component is designated as the thumbnail, the image 42 in FIG. 16B is output, and when only layer 0 is designated as the thumbnail, the image 43 in FIG. 16C is output. When the center tile is designated as the thumbnail, the image 44 in FIG. 16D is output.
[0068]
According to the image compression apparatus according to the present embodiment, it is possible to generate compressed image data capable of outputting thumbnails of image data at high speed without increasing the data capacity of the compressed image data. Further, by recording a plurality of types of thumbnail information in the header information, it is possible to generate compressed code data capable of outputting a plurality of types of thumbnails. Further, according to the image processing apparatus or the image decompression apparatus according to the present invention, it is possible to output thumbnails of image data at high speed without increasing the data capacity of input compressed image data. These devices can be applied to an image distribution system that distributes images via a network.
[0069]
As described above, each embodiment has been described centering on the image compression apparatus, the image processing apparatus, and the image decompression apparatus of the present invention. As an image compression method, an image processing method, and an image decompression method, or a program for causing a computer to function as such a device or as each unit of those devices, or for causing a computer to execute the methods ( The form may be a computer program on which those processing contents are mounted, or a computer-readable recording medium on which the program is recorded (a computer-readable information recording medium on which the processing contents are recorded). It is possible. In addition, a system that can generate a thumbnail image without increasing the capacity of the entire image data by a process corresponding to each of the above-described embodiments using the program and the recording medium has the same configuration as the above-described device. An effective system can be provided. It is clear that these programs and recording media can be easily implemented based on the examples described later in addition to the above-described embodiments.
[0070]
An embodiment of a recording medium storing a program and data for realizing a function of image compression, image processing, or image expansion according to the present invention will be described. Specific examples of the recording medium include a CD-ROM, a magneto-optical disk, a DVD-ROM, an FD, a flash memory, and various other ROMs and RAMs. Is executed by a computer, and a program for realizing one or more functions of image compression, processing, and decompression is recorded and distributed, thereby facilitating the realization of the function. Then, the recording medium as described above is mounted on an information processing device such as a computer (a general-purpose computer or other device), and the program is read out by the information processing device, and the program is started as it is, transmitted to the device, or provided with the information processing device. The program according to the present invention can be executed by storing the program in a storage medium and reading the program as necessary.
[0071]
Here, a configuration example of an apparatus applicable to each of the above-described embodiments will be described.
FIG. 17 is a diagram showing a configuration example of the image compression device according to the present invention.
The image compression apparatus according to the present invention exemplified here has a configuration in which a RAM 51, a CPU 52, and an HDD 54 are connected via a data bus 53. In the following flow, thumbnail information is converted from image data of an original image. The added compressed image data is generated and stored in the HDD 54.
[0072]
The image data (or compressed image data) of the original image recorded on the HDD 54 is read into the RAM 51 by a command from the CPU 52 (i). Next, the CPU 52 reads the image data on the RAM 41, obtains a wavelet coefficient, and generates compressed image data by applying the thumbnail information addition processing according to the present invention (ii). The CPU 52 writes the generated compressed image data to another area on the RAM 51 (iii). In accordance with a command from the CPU 52, the compressed image data is recorded on the HDD 54 (iv). On the side of the image processing apparatus or the image decompression apparatus, when this compressed image data is displayed, printed, transmitted, or the like, the thumbnail information can be output from the thumbnail information described in the header portion. The image compression device illustrated in FIG. 17 may also serve as an image processing device or an image decompression device, and the image processing device or the image decompression device may have a configuration similar to that of the image compression device illustrated in FIG. .
[0073]
【The invention's effect】
According to the present invention, it is possible to generate compressed image data capable of outputting thumbnails of image data at high speed without increasing the data capacity of the compressed image data.
[0074]
Further, according to the present invention, it is possible to output thumbnails of image data at high speed without increasing the data capacity of input compressed image data.
[Brief description of the drawings]
FIG. 1 is a block diagram for explaining a hierarchical encoding / decoding algorithm which is a basis of JPEG2000.
FIG. 2 is a simplified flowchart illustrating the algorithm of JPEG2000.
FIG. 3 is a diagram showing subbands at each decomposition level when the number of decomposition levels is three.
FIG. 4 is a diagram illustrating an example of each component of a tiled color image.
FIG. 5 is a diagram for explaining a relationship between a precinct and a code block;
FIG. 6 is a diagram illustrating an example of a packet and a layer when the number of decomposition levels is 2 (the number of resolution levels = 3), and is a diagram illustrating a general layer configuration example.
FIG. 7 is a diagram illustrating an example of a packet and a layer when the number of decomposition levels is 2 (the number of resolution levels = 3), and is a diagram illustrating an example of a layer configuration capable of outputting a thumbnail according to each of a plurality of devices; is there.
FIG. 8 is a diagram illustrating an example of a packet and a layer when the number of decomposition levels is 2 (the number of resolution levels = 3), and is a diagram illustrating an example of a layer configuration capable of outputting a thumbnail according to a transmission path capacity.
FIG. 9 is a diagram simply showing a format (code stream structure) of JPEG2000 encoded data generated in a code forming process.
FIG. 10 is a diagram showing a configuration of a main header of FIG. 9;
FIG. 11 is a diagram showing a configuration of a file format of a basic system of JPEG2000.
FIG. 12 is a functional block diagram illustrating a configuration example of an image compression apparatus according to an embodiment of the present invention.
FIG. 13 is a flowchart for explaining an image compression method in FIG. 12, and is also a flowchart for explaining a procedure example of the image compression method according to an embodiment of the present invention;
14 is a diagram illustrating an example of thumbnail information set in the image compression device of FIG.
FIG. 15 is a diagram illustrating a processing result in the image processing device or the image decompression device according to the embodiment of the present invention, and is a diagram illustrating an example of an original image.
FIG. 16 is a diagram showing an image obtained as a result of compressing the original image of FIG. 15 by the image compression device according to the present invention and outputting the image by the image processing device or the image decompression device.
FIG. 17 is a diagram illustrating a configuration example of an image compression device according to the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Color space conversion / inversion part, 2 ... Two-dimensional wavelet conversion / inversion part, 3 ... Quantization / inverse quantization part, 4 ... Entropy coding / decoding part, 5 ... Tag processing part, 20 ... Image compression device (image conversion device), 21: image reading unit, 22: thumbnail setting unit, 23: image quality compression unit, 24: thumbnail information adding unit, 25: code generation unit.

Claims (25)

画像の圧縮符号データを生成する画像圧縮装置において、画像のサムネイル情報を、1又は複数形態設定する手段と、該設定された形態のサムネイル情報を、符号データ形成時にヘッダ部分に付加する手段と、を有することを特徴とする画像圧縮装置。Means for setting one or more forms of thumbnail information of an image, means for adding the set form of thumbnail information to a header portion when forming code data, An image compression device comprising: 前記サムネイル情報として、画像の解像度情報を用いることを特徴とする請求項1記載の画像圧縮装置。The image compression apparatus according to claim 1, wherein resolution information of an image is used as the thumbnail information. 前記解像度情報として、画像のデコンポジションレベル情報を用いることを特徴とする請求項2記載の画像圧縮装置。3. The image compression apparatus according to claim 2, wherein decomposition level information of an image is used as said resolution information. 前記サムネイル情報として、画像の位置情報を用いることを特徴とする請求項1乃至3のいずれか1記載の画像圧縮装置。4. The image compression apparatus according to claim 1, wherein position information of an image is used as the thumbnail information. 前記位置情報として、タイル情報,プレシンクト情報,コードブロック情報,画素位置情報のうち、いずれか1又は複数を用いることを特徴とする請求項4記載の画像圧縮装置。The image compression apparatus according to claim 4, wherein any one or more of tile information, precinct information, code block information, and pixel position information is used as the position information. 前記サムネイル情報として、画像のコンポーネント情報を用いることを特徴とする請求項1乃至5のいずれか1記載の画像圧縮装置。6. The image compression apparatus according to claim 1, wherein component information of an image is used as the thumbnail information. 前記サムネイル情報として、画像の画質情報を用いることを特徴とする請求項1乃至6のいずれか1記載の画像圧縮装置。7. The image compression apparatus according to claim 1, wherein image quality information of an image is used as the thumbnail information. 前記画質情報として、レイヤ情報及び/又はビットプレーン情報を用いることを特徴とする請求項7記載の画像圧縮装置。The image compression apparatus according to claim 7, wherein layer information and / or bit plane information is used as the image quality information. 前記サムネイル情報として、画像のサブバンド情報を用いることを特徴とする請求項1乃至8のいずれか1記載の画像圧縮装置。9. The image compression device according to claim 1, wherein sub-band information of an image is used as the thumbnail information. 画像のサムネイルを取り出す画像処理装置であって、請求項1乃至9のいずれか1記載の画像圧縮装置で生成した圧縮符号データから、該圧縮符号データのサムネイル情報を元に、符号データの一部を切り出す手段を有することを特徴とする画像処理装置。An image processing device for extracting a thumbnail of an image, wherein a part of the code data is generated from the compressed code data generated by the image compression device according to claim 1 based on the thumbnail information of the compressed code data. An image processing apparatus comprising: means for cutting out an image. 画像のサムネイルを出力する画像伸張装置であって、請求項1乃至9のいずれか1記載の画像圧縮装置で生成した圧縮符号データから、該圧縮符号データのサムネイル情報を元に、符号データからサムネイル部分のみを伸張し出力する手段を有することを特徴とする画像伸張装置。10. An image decompression device for outputting a thumbnail of an image, comprising: from compressed code data generated by the image compression device according to any one of claims 1 to 9, from the code data to a thumbnail based on the thumbnail information of the compressed code data. An image decompression device comprising means for decompressing and outputting only a part. 画像の圧縮符号データを生成する画像圧縮方法において、画像のサムネイル情報を、1又は複数形態設定するステップと、該設定された形態のサムネイル情報を、符号データ形成時にヘッダ部分に付加するステップと、を有することを特徴とする画像圧縮方法。In an image compression method for generating compressed code data of an image, a step of setting one or a plurality of forms of thumbnail information of the image, and a step of adding the set form of the thumbnail information to a header portion when forming the code data; An image compression method comprising: 前記サムネイル情報として、画像の解像度情報を用いることを特徴とする請求項12記載の画像圧縮方法。13. The image compression method according to claim 12, wherein resolution information of an image is used as the thumbnail information. 前記解像度情報として、画像のデコンポジションレベル情報を用いることを特徴とする請求項13記載の画像圧縮方法。14. The image compression method according to claim 13, wherein decomposition level information of an image is used as the resolution information. 前記サムネイル情報として、画像の位置情報を用いることを特徴とする請求項12乃至14のいずれか1記載の画像圧縮方法。15. The image compression method according to claim 12, wherein position information of an image is used as the thumbnail information. 前記位置情報として、タイル情報,プレシンクト情報,コードブロック情報,画素位置情報のうち、いずれか1又は複数を用いることを特徴とする請求項15記載の画像圧縮方法。16. The image compression method according to claim 15, wherein one or more of tile information, precinct information, code block information, and pixel position information are used as the position information. 前記サムネイル情報として、画像のコンポーネント情報を用いることを特徴とする請求項12乃至16のいずれか1記載の画像圧縮方法。17. The image compression method according to claim 12, wherein component information of an image is used as the thumbnail information. 前記サムネイル情報として、画像の画質情報を用いることを特徴とする請求項12乃至17のいずれか1記載の画像圧縮方法。18. The image compression method according to claim 12, wherein image quality information of an image is used as the thumbnail information. 前記画質情報として、レイヤ情報及び/又はビットプレーン情報を用いることを特徴とする請求項18記載の画像圧縮方法。19. The image compression method according to claim 18, wherein layer information and / or bit plane information is used as the image quality information. 前記サムネイル情報として、画像のサブバンド情報を用いることを特徴とする請求項12乃至19のいずれか1記載の画像圧縮方法。20. The image compression method according to claim 12, wherein sub-band information of an image is used as the thumbnail information. 画像のサムネイルを取り出す画像処理方法であって、請求項12乃至20のいずれか1記載の画像圧縮方法で生成した圧縮符号データから、該圧縮符号データのサムネイル情報を元に、符号データの一部を切り出すステップを有することを特徴とする画像処理方法。21. An image processing method for extracting a thumbnail of an image, wherein a part of the code data based on the thumbnail information of the compressed code data from the compressed code data generated by the image compression method according to claim 12. An image processing method, comprising a step of cutting out the image. 画像のサムネイルを出力する画像伸張方法であって、請求項12乃至20のいずれか1記載の画像圧縮方法で生成した圧縮符号データから、該圧縮符号データのサムネイル情報を元に、符号データからサムネイル部分のみを伸張し出力するステップを有することを特徴とする画像伸張方法。21. An image decompression method for outputting a thumbnail of an image, comprising: extracting compressed thumbnail image data from the compressed encoded data generated by the image compression method according to claim 12 based on the thumbnail information of the compressed encoded data. An image decompression method comprising the step of decompressing and outputting only a part. 請求項1乃至9のいずれか1記載の画像圧縮装置として、或いは、請求項10記載の画像処理装置として、或いは請求項11記載の画像伸張装置として、コンピュータを機能させるためのプログラム。A program for causing a computer to function as the image compression device according to any one of claims 1 to 9, as the image processing device according to claim 10, or as the image expansion device according to claim 11. 請求項12乃至20のいずれか1記載の画像圧縮方法、或いは、請求項21記載の画像処理方法、或いは請求項22記載の画像伸張方法を、コンピュータに実行させるためのプログラム。A program for causing a computer to execute the image compression method according to any one of claims 12 to 20, the image processing method according to claim 21, or the image expansion method according to claim 22. 請求項23又は24記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to claim 23 or 24 is recorded.
JP2003034548A 2002-11-20 2003-02-13 Image compressor, image processor, image decompressor, image compressing method, image processing method, image decompressing method, program and recording medium Pending JP2004247891A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003034548A JP2004247891A (en) 2003-02-13 2003-02-13 Image compressor, image processor, image decompressor, image compressing method, image processing method, image decompressing method, program and recording medium
US10/717,090 US7454069B2 (en) 2002-11-20 2003-11-20 Image processing apparatus, image compressing apparatus, image decompressing apparatus, image processing method, image compressing method, image decompressing method, information processing apparatus, information processing method, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003034548A JP2004247891A (en) 2003-02-13 2003-02-13 Image compressor, image processor, image decompressor, image compressing method, image processing method, image decompressing method, program and recording medium

Publications (1)

Publication Number Publication Date
JP2004247891A true JP2004247891A (en) 2004-09-02

Family

ID=33020188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003034548A Pending JP2004247891A (en) 2002-11-20 2003-02-13 Image compressor, image processor, image decompressor, image compressing method, image processing method, image decompressing method, program and recording medium

Country Status (1)

Country Link
JP (1) JP2004247891A (en)

Similar Documents

Publication Publication Date Title
US7440624B2 (en) Image compression apparatus, image decompression apparatus, image compression method, image decompression method, program, and recording medium
JP4349816B2 (en) Image processing apparatus, image compression apparatus, image processing method, image compression method, program, and recording medium
Askelöf et al. Region of interest coding in JPEG 2000
US7526144B2 (en) Image processing method, image expansion method, image output method, image conversion method, image processing apparatus, image expansion apparatus, image output apparatus, image conversion apparatus, and computer-readable storage medium
JP3922919B2 (en) Still image expansion apparatus and still image expansion method
US20080089413A1 (en) Moving Image Encoding Apparatus And Moving Image Encoding Method
JP2002359850A (en) Memory usage scheme for performing wavelet processing
US20040126029A1 (en) Code conversion apparatus, code conversion method and storage medium
JP4898513B2 (en) Client / server system
US20030068089A1 (en) Image processing system processing code data
JP2004254298A (en) Image processing device, program, and storage medium
JP5950157B2 (en) Image processing apparatus and method, and program
JP2004166254A (en) Image encoder and method, program and recording medium
JP4073333B2 (en) Image compression apparatus and image compression method
JP2005092007A (en) Image processing system, image processing method, program and information recording medium
JP3704515B2 (en) Image expansion apparatus and method
JP3914197B2 (en) Information processing apparatus, information processing method, program, and computer-readable recording medium
JP4208122B2 (en) Data processing apparatus and data processing method
JP2004289374A (en) Image processor, image processing method, program, and recording medium
JP2004247891A (en) Image compressor, image processor, image decompressor, image compressing method, image processing method, image decompressing method, program and recording medium
JP4489474B2 (en) Image processing apparatus, program, and recording medium
JP2004254101A (en) Image processing apparatus, image processing method, program, and recording medium
JP2004254035A (en) Device and method for recording photographic list information, device and method for inputting image, program and recording medium
JP3961966B2 (en) Unnecessary part removing apparatus, image processing apparatus, program, storage medium, and unnecessary part removing method
Jagannath et al. Lossless compression of a desktop image for transmission

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071002