JP4194373B2 - Image processing apparatus, program, and storage medium - Google Patents
Image processing apparatus, program, and storage medium Download PDFInfo
- Publication number
- JP4194373B2 JP4194373B2 JP2003003546A JP2003003546A JP4194373B2 JP 4194373 B2 JP4194373 B2 JP 4194373B2 JP 2003003546 A JP2003003546 A JP 2003003546A JP 2003003546 A JP2003003546 A JP 2003003546A JP 4194373 B2 JP4194373 B2 JP 4194373B2
- Authority
- JP
- Japan
- Prior art keywords
- additional information
- image
- area
- image processing
- rectangular area
- 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
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理装置、プログラム及び記憶媒体に関する。
【0002】
【従来の技術】
近年、スキャナ、デジタルカメラ、パーソナルコンピュータ、プリンタ、複写機、複合機(MFP)等の画像処理装置の普及に伴い、デジタル画像データをメモリやハードディスク等の記憶装置に保存したり、CD−ROM等の光ディスクに保存したり、さらには、インターネット等を介して伝送したりすることが身近なものになっている。このような画像データは、通常、圧縮されて記憶装置や光ディスク等に保存されることが多い。
【0003】
最近では、様々な技術により簡単に高精細画像を得ることができるが、高精細画像の画像データサイズは大きくなる傾向にあり、高精細画像の取扱いは困難になってきている。こうした高精細画像の取扱いを容易にする画像圧縮伸長アルゴリズムとしては、現在、JPEG(Joint Photographic Experts Group)が最も広く用いられている。また、このJPEGで採用されているDCT(離散コサイン変換)に代わる周波数変換として、近年、DWT(離散ウェーブレット変換)の採用が増加している。その代表例は、2001年に国際標準となったJPEG後継の画像圧縮伸長方式JPEG2000である。
【0004】
このような圧縮された画像データはデジタルデータであるため、インターネット等を介する伝送や記憶装置への保存等を容易にするが、一方で、作成者に無断で改変される可能性が高いものである。これを防ぐため、作成者を特定するための署名情報を付加情報として原画像に埋め込む方法が提案されている(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開2001−42768公報
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1の技術では、原画像に付加情報として署名情報を埋め込むことはできるが、署名情報は原画像に関する付加情報ではないため、作成者を特定するため以外、例えば画像データ検索等の二次的な利用に署名情報を用いることは難しい。また、原画像に関する付加情報を原画像に埋め込んだ場合でも、その埋め込み位置によっては、付加情報を利用する際の処理時間が長くなる場合がある。
【0007】
また、ユーザは、記憶装置に格納された複数の画像データから文字領域又は写真領域を有する画像データや類似した画像を有する画像データを容易に検索できることを要望している。例えば、従来の技術においては、ユーザが、画像データに基づいて表示装置等に表示された画像や用紙等に印字された画像等を確認することで、文字領域又は写真領域を有する画像データや類似した画像を有する画像データ等を検索する場合が多い。
【0008】
本発明の目的は、画像データの検索や管理、画像データに対する処理等に好適な符号化を実現する画像処理装置、プログラム及び記憶媒体を提供することである。
【0009】
【課題を解決するための手段】
本発明の画像処理装置は、原画像を矩形領域に分割し、該矩形領域毎に2次元ウェーブレット変換、量子化及び符号化という手順で圧縮して、前記矩形領域毎の符号化データを有するコードストリームを生成する画像処理装置において、前記原画像を複数の矩形領域に分割する領域分割手段と、前記領域分割手段により分割された矩形領域毎に該矩形領域の画像に関連する検索のための付加情報を生成する付加情報生成手段と、前記付加情報生成手段により生成された付加情報を前記コードストリームにおける該付加情報が対応する矩形領域の符号化データに埋め込む付加情報埋込手段と、を備えることを特徴とする。
【0010】
したがって、原画像に関連する付加情報を生成し、生成した付加情報をコードストリームに埋め込むことによって、原画像の画像データが付加情報を有し、例えば、複数の画像データから必要とする画像データを検索する場合等、付加情報を利用して簡単に検索することが可能となるコードストリームを生成する。すなわち、必要に応じた付加情報を埋め込むことで、画像データの検索や管理、画像データに対する処理等を容易に行うことが可能なコードストリームを生成する。
【0045】
【発明の実施の形態】
本発明の第一の実施の形態を図1ないし図11に基づいて説明する。
【0046】
本実施の形態は、「JPEG2000アルゴリズム」を利用するものであるが、JPEG2000アルゴリズム自体は各種文献や公報等により周知であるので、詳細は省略し、その概要について説明する。
【0047】
図1はJPEG2000アルゴリズムの概要を説明するための機能ブロック図である。JPEG2000のアルゴリズムは、色空間変換・逆変換部100、2次元ウェーブレット変換・逆変換部101、量子化・逆量子化部102、エントロピー符号化・復号化部103、タグ処理部104で構成されている。
【0048】
JPEG2000の特徴の一つは、高圧縮領域における画質が良いという長所を持つ2次元離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている点である。また、もう一つの大きな特徴は、最終段に符号形成を行うためのタグ処理部104と呼ばれる機能ブロックが追加されており、符号列データであるコードストリームの生成や解釈が行われる点である。そして、コードストリームによって、JPEG2000は様々な便利な機能を実現できるようになっている。
【0049】
なお、画像の入出力部分には、色空間変換・逆変換部100が用意されることが多い。この色空間変換・逆変換部100は、例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YCrCbあるいはYUV表色系への変換又は逆の変換を行う部分である。
【0050】
以下、JPEG2000アルゴリズム、特にウェーブレット変換について説明する。
【0051】
図2はカラー画像である原画像の分割された各コンポーネントの一例を概略的に示す模式図である。カラー画像は、一般に、図2に示すように、原画像の各コンポーネント110が、例えばRGB原色系によって分離される。さらに、画像の各コンポーネント110は、矩形をした領域であるタイル111によって分割される(図2の例では、各コンポーネント110が縦横4×4、合計16個の矩形のタイル111に分割されている)。このような個々のタイル111、例えば、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15は、画像データの圧縮伸長プロセスを実行する際の基本単位となる。従って、画像データの圧縮伸長動作は、コンポーネント110毎に、また、タイル111毎に、独立して行われる。
【0052】
画像データの符号化時には(図1参照)、各コンポーネント110の各タイル111のデータが色空間変換・逆変換部100に入力され、色空間変換を施された後、2次元ウェーブレット変換・逆変換部101で2次元ウェーブレット変換(順変換)が適用されて周波数帯に空間分割される。
【0053】
図3はデコンポジションレベル数が3である場合の各デコンポジションレベルにおけるサブバンドを概略的に示す模式図である。2次元ウェーブレット変換・逆変換部101は、画像のタイル分割によって得られたタイル画像(デコンポジションレベル0(120):0LL)に対して、2次元ウェーブレット変換を施し、デコンポジションレベル1(121)に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。引き続き、2次元ウェーブレット変換・逆変換部101は、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジションレベル2(122)に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。そして、2次元ウェーブレット変換・逆変換部101は、順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジションレベル3(123)に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。なお、図3中では、各デコンポジションレベルにおいて符号化の対象となるサブバンドはグレーで示されている。例えば、デコンポジションレベル数を3とした場合、グレーで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0054】
次いで、量子化・逆量子化部102では(図1参照)、指定した符号化の順番で符号化の対象となるビットが定められた後、対象ビット周辺のビットからコンテキストが生成される。この量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。ここで、図4はプレシンクトを示す説明図である。図4に示すように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。さらに、個々のプリシンクトは、重複しない矩形の「コードブロック」に分けられる。これは、エントロピーコーディングを行う際の基本単位となる。
【0055】
なお、ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコードブロック毎にビットプレーンに順位付けを行うことができる。
【0056】
ここで、図5はビットプレーンに順位付けする手順の一例を示す説明図である。図5に示すように、この例は、原画像(32×32画素)を16×16画素のタイル4つで分割した場合で、デコンポジションレベル1のプレシンクトとコードブロックの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコードブロックの番号は、ラスター順に付けられており、この例では、プレンシクトが番号0から3まで、コードブロックが番号0から3まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジションレベル1のウェーブレット係数値を求めている。
【0057】
また、タイル0/プレシンクト3/コードブロック3について、代表的な「レイヤ」構成の概念の一例を示す説明図も図5に併せて示す。変換後のコードブロックは、サブバンド(1LL,1HL,1LH,1HH)に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【0058】
レイヤの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ0,1,2,3は、各々、1,3,1,3のビットプレーンから成っている。そして、LSB(Least Significant Bit:最下位ビット)に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、MSB(Most Significant Bit:最上位ビット)に近いレイヤは最後まで量子化されずに残ることになる。LSBに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0059】
エントロピー符号化・復号化部103では(図1参照)、コンテキストと対象ビットとから、確率推定によって各コンポーネント110の各タイル111に対する符号化を行う。こうして、画像の全てのコンポーネント110について、タイル111単位で符号化処理が行われる。
【0060】
最後に、タグ処理部104では(図1参照)、エントロピー符号化・復号化部103からの全符号化データを1本のコードストリーム(符号列データ)に結合するとともに、それにタグを付加する処理を行う。ここで、図6はコードストリームの構造の一例を概略的に示す模式図である。コードストリームの先頭と各タイル111を構成する部分タイルの先頭には、ヘッダ(メインヘッダ(Main header)、タイルパートヘッダ(tile part header))と呼ばれるタグ情報が付加され、その後に、各タイル111の符号化データ(bit stream)が続く。そして、コードストリームの終端には、再びタグ情報(end of codestream)が付加される。
【0061】
一方、復号化時には、符号化時とは逆に、各コンポーネント110の各タイル111のコードストリームから画像データを生成する。この場合、図1に示すように、タグ処理部104は、外部より入力されたコードストリーム(符号列データ)に付加されたタグ情報を解釈し、コードストリームを各コンポーネント110の各タイル111のコードストリームに分解し、その各コンポーネント110の各タイル111のコードストリーム毎に復号化処理(伸長処理)を行う。このとき、コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部102において、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストを生成する。そして、エントロピー符号化・復号化部103では、そのコンテキストとコードストリームとから確率推定によって復号化を行って対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは、周波数帯域毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部101で2次元ウェーブレット逆変換を行うことにより、画像データ中の各コンポーネント110における各タイル111が復元される。復元されたデータは、色空間変換・逆変換部100によって元の表色系のデータに変換される。ここに、伸長手段が実行される。
【0062】
次に、本実施の形態の画像処理装置である複合機1の構成例について説明する。本実施の形態の複合機1は、複写機能、プリンタ機能、スキャナ機能、ファクシミリ機能、画像サーバ機能等の複合機能を有している。
【0063】
図7は本実施の形態の複合機1を概略的に示す縦断面図である。複合機1は、原稿から原稿画像を読み取る画像読取部であるスキャナ2と、スキャナ2で読み取られた画像を用紙等の記録材に形成する画像形成部であるプリンタ3とを備えている。
【0064】
スキャナ2の本体ケース4の上面には、原稿(図示せず)が載置されるコンタクトガラス5が設けられている。原稿は、原稿面をコンタクトガラス5に対向させて載置される。コンタクトガラス5の上側には、コンタクトガラス5上に載置された原稿を押える原稿圧板6(いわゆるADFであってもよい)が設けられている。
【0065】
コンタクトガラス5の下方には、原稿画像を光学的に読み取るための読取光学系7が設けられている。この読取光学系7は、光を発光する光源8及びミラー9を搭載する第1走行体10、2枚のミラー11,12を搭載する第2走行体13、結像レンズ14を介してミラー9,11,12によって導かれる光を受光するCCD(Charge Coupled Device)イメージセンサ15等によって構成されている。CCDイメージセンサ15は、CCDイメージセンサ15上に結像される原稿からの反射光を光電変換することで光電変換データを生成する光電変換素子として機能する。光電変換データは、原稿からの反射光の強弱に応じた大きさを有する電圧値である。第1、第2走行体10,13は、コンタクトガラス5に沿って往復動自在に設けられており、後述する原稿画像の読取動作に際しては、図示しないモータ等の移動装置によって2:1の速度比で副走査方向にスキャニング走行する。これにより、読取光学系7による原稿読取領域の露光走査が行われる。なお、本実施の形態では、読取光学系7側がスキャニング走査を行う原稿固定型で示しているが、読取光学系7側が位置固定で原稿側が移動する原稿移動型であってもよい。
【0066】
プリンタ3は、シート状の用紙等の記録材を保持する記録材保持部16から電子写真方式のプリンタエンジン17及び定着器18を経由して排出部19へ至る記録材経路20を備えている。
【0067】
プリンタエンジン17は、感光体21、帯電器22、露光器23、現像器24、転写器25及びクリーナー26等を用いて、電子写真方式で感光体21の周囲に形成したトナー像を記録材に転写し、転写したトナー像を、定着器18によって記録材上に定着させる。なお、本実施の形態では、プリンタエンジン17が電子写真方式で画像形成を行うが、これに限るものではなく、例えば、インクジェット方式、昇華型熱転写方式、直接感熱記録方式等の様々な画像形成方式で画像形成を行うようにしても良い。
【0068】
このような複合機1は、複数のマイクロコンピュータで構成される制御系により制御される。図8はこれらの制御系のうち、画像処理に関わる制御系の電気的な接続を概略的に示すブロック図である。この制御系は、CPU30、ROM31、RAM32、操作パネル33、IPU(Image Processing Unit)34、I/Oポート35、通信制御部36等がバス37で接続され構成されている。CPU30は、各種演算を行い、画像処理等の処理を集中的に制御する。ROM31には、CPU30が実行する処理に関わる各種プログラムや固定データが格納されている。また、RAM32は、CPU30のワークエリアとして機能し、加えて、画像データ(例えば、画像ファイル)を一時的に記憶するメモリとして機能する。操作パネル33には、LCD(Liquid Crystal Display)等の表示器、ハードキー及びタッチパネル等によって構成される複数の操作キー(いずれも図示せず)が設けられており、操作パネル33が表示部及び操作部として機能する。IPU34は各種画像処理に関わるハードウエアを備えており、ROM31はEEPROMやフラッシュメモリ等の不揮発性メモリを備えている。ここで、ROM31内に格納されているプログラムは、CPU30の制御によりI/Oポート35を介して外部装置(図示せず)からダウンロードされるプログラムに書換え可能である。なお、本実施の形態では、ROM31がプログラムを記憶する記憶媒体として機能している。通信制御部36は、複合機1と外部装置(図示せず)との間でネットワーク等を介してデータを送受信する機能を有しており、ファクシミリのモデム機能、公衆電話回線網に接続するための網制御機能、LAN(Local Area Network)制御機能等を備えている。
【0069】
次に、本実施の形態の複合機1における画像処理の概要について図9を参照して説明する。図9は複合機1における画像処理の概要を説明するための機能ブロック図である。複合機1の画像処理は、スキャナ2で読み取った原画像を複数の領域に分割する領域分割部40、分割した複数領域を領域属性に基づいて識別する領域識別処理を実行し、さらに、複数領域に対して画像から文字を認識する文字認識処理を実行する付加情報生成部41と、図1を参照して説明した各機能ブロックを有する圧縮部42と、領域識別処理により生成された領域識別情報や文字認識処理により生成された文字認識情報等を付加情報として圧縮データであるコードストリームの所定の埋め込み位置に埋め込む付加情報埋込部43とを備える。
【0070】
なお、画像から文字を認識する文字認識処理としては、例えばOCR(Optical Character Recognition)処理が用いられる。また、付加情報生成部41では、スキャナ2で読み取った原画像の傾き角度を検出する傾き検出処理を実行しても良い。これにより、傾き検出結果である傾き角度補正情報等の傾き検出情報が得られる。したがって、付加情報埋込部43では、その傾き検出情報を付加情報として埋め込むようにしても良い。
【0071】
また、複合機1の画像処理は、基本的に、スキャナ2で読み取られた原画像の画像データから分割した領域に対応する画像データに対してOCR処理を行い、さらに、画像データをJPEG2000アルゴリズムにより圧縮符号化して、コードストリームを生成する。すなわち、画像を1又は複数の矩形領域(タイル111)に分割し、この矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する。このとき、領域識別情報、文字認識情報、傾き検出情報等は、コードストリームの所定の埋め込み位置に埋め込まれる。このような領域分割部40、付加情報生成部41、圧縮部42、付加情報埋込部43等の機能は、ROM31に記憶されているプログラムに基づいてCPU30が行う画像処理で実行されるようにしているが、これに限るものではなく、例えば、IPU34等によりハードウエアが行う画像処理で実行されるようにしても良い。
【0072】
ここで、領域属性としては、例えば、文字領域、写真領域、図領域、表領域、黒ベタ領域、背景領域等の様々な領域属性がある。なお、背景領域とは、原稿の余白にあたる余白領域であるが、これに限るものではなく、例えば、余白領域に行間にあたる行間領域を加えた領域であっても良い。
【0073】
一方、付加情報としては、例えば、OCR処理により生成された文字認識情報(文字認識結果情報)、領域識別処理により生成された座標情報や領域属性情報等の領域識別情報領域(領域識別結果情報)、傾き検出処理により生成された傾き角度補正情報等の傾き検出情報(傾き検出結果情報)等がある。文字認識情報としては、文字コード、文字色、フォントサイズ、フォント情報、文字の座標位置情報、確信度情報(確からしさ情報)、タイトル(文字コード)等がある。なお、タイトルは領域識別処理によりタイトル領域を抽出し、そのタイトル領域をOCR処理して得られた文字コードである。例えば、「2002年度会議議事録.j2k」等のタイトルが文字コードで所定の埋め込み位置に埋め込まれる。
【0074】
また、所定の埋め込み位置としては、例えば、メインヘッダやタイルパートヘッダ等のヘッダ(図6参照)、画像の最下位ビット(画像サイズを増加させることなく埋め込みが可能)、さらに、画像の文字領域に対応する最下位ビット等がある。加えて、画像サイズがタイルの整数倍でない場合には、情報を付加してタイルの整数倍の画像を形成するが、その付加する情報部分に埋め込むことも可能である。
【0075】
次に、複合機1のCPU30がプログラムに基づいて実行する画像処理について説明する。ここでは、例えば、複合機1を画像サーバとして用いるために画像データを蓄積する画像処理について図10及び図11を参照して説明する。図10は本実施の形態の画像処理の流れを概略的に示すフローチャート、図11はその画像処理による付加情報の埋め込み位置を概略的に示す説明図である。
【0076】
図10に示すように、まず、スキャナ2による原稿画像の読取に待機する(ステップS1のN)。操作者がスキャナ2の原稿圧板6を開放してコンタクトガラス5上に原稿をセットし、原稿圧板6を閉じて操作パネル33のコピースタートキーを押下すると、スキャナ2は読取光学系7のスキャニング動作でコンタクトガラス5上にセットされた原稿から原画像を読み取る。
【0077】
スキャナ2により原稿から原画像が読み取られると(S1のY)、読み取られた原画像を複数の領域に分割し、文字領域、写真領域、図領域、表領域、背景領域等の領域属性に基づいて、原画像中に混在する複数領域の属性を識別する(S2)。ここに、領域分割手段又は領域分割機能が実行され、付加情報生成手段又は付加情報生成機能が実行される。なお、領域識別の方法は、従来の方法、例えば、黒ランの密度を用いて領域識別する方法等で十分であり、その方法は公知であるため、その説明は省略する。ここで、複数領域を領域識別することによって、座標情報や領域属性情報等の領域識別情報が複数領域毎に得られる。なお、スキャナ2により読み取った原稿画像に対して本実施の形態の画像処理を実行しているが、これに限るものではなく、例えばネットワークを介して受信した原画像に対して本実施の形態の画像処理を実行しても良い。
【0078】
次に、分割識別された複数領域に対してOCR処理を実行する(S3)。すなわち、複数領域毎の画像から文字を認識する。ここに、付加情報生成手段又は付加情報生成機能が実行される。なお、OCR処理としては、パターン・マッチング法や構造解析法等があり、これらの方法は公知であるため、その説明は省略する。ここで、複数領域毎にOCR処理を実行することによって、文字コード、文字色、フォントサイズ、フォント情報、文字の座標位置情報、確信度情報(確からしさ情報)等の文字認識情報が複数領域毎に得られる。
【0079】
次いで、原画像をJPEG2000アルゴリズムに基づいて圧縮する(S4)。これにより、原画像からJPEG2000アルゴリズムに基づいてコードストリームが生成される。そして、コードストリームの所定の埋め込み位置に領域識別情報及び文字認識情報を付加情報として埋め込む(S5)。ここに、付加情報埋込手段又は付加情報埋込機能が実行される。例えば、図11に示すように、付加情報は、コードストリームにおけるレイヤの最下位ビットに埋め込まれる。これにより、画像サイズを増加させることなく埋め込むことができる。なお、付加情報が埋め込まれた領域Rは、原画像の文字領域に対応する領域である。
【0080】
なお、ここでは、画像の文字領域に対応する領域Rの最下位ビットに埋め込んでいるが、これに限るものではなく、例えば単純に最下位ビットに埋め込むようにしても良い。また、領域識別情報及び文字認識情報を付加情報として所定の埋め込み位置に埋め込んでいるが、これに限るものではなく、例えば、領域識別情報及び文字認識情報のどちらか一方だけを所定の埋め込み位置に埋め込んでも良く、あるいは、傾き検出処理を実行した場合には、傾き検出結果の傾き角度補正情報等の傾き検出情報を所定の埋め込み位置に埋め込んでも良い。また、ステップS4及びステップS5を同時に実行するようにして、付加情報を埋め込みながら原画像を圧縮するようにしても良い。ここで、原画像はJPEG2000アルゴリズムに基づいて複数の解像度で圧縮されているので、解像度毎にOCR処理を実行して文字認識情報を所定の埋め込み位置に埋め込むようにしても良い。
【0081】
最後に、付加情報が埋め込まれた画像データ(圧縮データ)をRAM32に画像ファイルとして格納する(S6)。ここで、原稿が複数枚ある場合には、原稿毎にステップS1からS6までの処理が繰り返され、RAM32には原稿毎に複数の画像ファイルが保存される。
【0082】
その後、RAM32に画像ファイルとして格納されている画像データは、例えば、所定のタイミングで通信制御部36によりネットワークを介して外部装置に送信される場合がある。このとき、例えば、文字領域を有する画像の画像データだけを送信するために、RAM32に画像ファイルとして格納された複数の画像データから文字領域を有する画像の画像データを検索する場合には、CPU30は画像データ内の文字コードを検出すれば良く、簡単に検索することができる。また、類似した画像を有する画像データだけを送信するために、RAM32に画像ファイルとして格納された複数の画像データから類似した画像を有する画像データを検索する場合には、CPU30は画像データ内の領域識別情報を検出し、他の画像データと領域毎に領域属性が一致するか否かを判断して、簡単に検索することができる。
【0083】
なお、画像データの画像は、変倍(拡大,縮小)、回転、白黒反転等の画像処理が行われる場合もある。このような画像処理では、文字領域Mのフォントサイズを変更することで文字領域Mの文字画像を変倍し、また、画像がJPEG2000アルゴリズムの圧縮手段により様々な解像度の画像として保持されているので、画像を高画質から低画質に自由に変化させることができる。さらに、原画像を表示装置等に表示する場合には、表示装置の解像度等に合わせて画像を伸長することができる。
【0084】
このように本実施の形態では、原画像を複数領域に分割し、複数領域の属性を識別して領域識別情報を生成し(S2)、分割した複数領域に対してOCR処理を実行して文字認識情報を生成し(S3)、生成した領域識別情報及び文字認識情報をコードストリームの所定の埋め込み位置に埋め込むことによって(S5)、例えば、複数の画像データ(圧縮データ)から必要とする画像データを検索する場合等、付加情報を利用して簡単に検索することが可能となる。すなわち、必要に応じた付加情報を埋め込むことで、画像データの検索や管理、画像データに対する処理等を容易に行うことができる。また、原画像の複数領域毎に対応する付加情報、例えば領域識別情報や文字認識情報等が得られるので、画像の中から必要とする領域、例えば文字領域や写真領域等を簡単に検索して抽出することができる。さらに、JPEG2000アルゴリズムの圧縮手段及び伸長手段を用いることで、JPEG2000の特性を活かした様々な画像処理を実行することができる。
【0085】
本発明の第二の実施の形態を図12に基づいて説明する。図12は本実施の形態の画像処理の流れを概略的に示すフローチャートである。なお、前述して説明した部分と同一部分は同一符号で示す。
【0086】
本実施の形態の基本的構成は、第一の実施の形態と同様であるが、第一の実施の形態との相違点は、複合機1のCPU30がプログラムに基づいて実行する画像処理が異なる点である。
【0087】
本実施の形態の複合機1のCPU30がプログラムに基づいて実行する画像処理について説明する。ここでは、例えば、複合機1を画像サーバとして用いるために画像データを蓄積する画像処理について説明する。
【0088】
図12に示すように、まず、スキャナ2による原稿画像の読取に待機する(ステップS11のN)。操作者がスキャナ2の原稿圧板6を開放してコンタクトガラス5上に原稿をセットし、原稿圧板6を閉じて操作パネル33のコピースタートキーを押下すると、スキャナ2は読取光学系7のスキャニング動作でコンタクトガラス5上にセットされた原稿から原画像を読み取る。
【0089】
スキャナ2により原稿から原画像が読み取られると(S11のY)、読み取られた原画像をタイリング処理して複数のタイル111(複数の領域:図1参照)に分割する(S12)。ここに、領域分割手段又は領域分割機能が実行される。これにより、原画像は複数のタイル111(複数の領域)に分割される。なお、このタイリング処理は、JPEG2000アルゴリズムに基づいて実行される。
【0090】
次に、分割された複数のタイル111に対してOCR処理を実行する(S13)。すなわち、複数のタイル111毎の画像から文字を認識する。ここに、付加情報生成手段又は付加情報生成機能が実行される。なお、OCR処理としては、パターン・マッチング法や構造解析法等があり、これらの方法は公知であるため、その説明は省略する。ここで、OCR処理を実行することによって、文字コード、文字色、フォントサイズ、フォント情報、文字の座標位置情報、確信度情報(確からしさ情報)等の文字認識情報がタイル111毎に得られる。
【0091】
次いで、原画像をJPEG2000アルゴリズムに基づいて圧縮する(S14)。これにより、原画像からJPEG2000アルゴリズムに基づいてコードストリームが生成される。そして、コードストリームの所定の埋め込み位置に付加情報として文字認識情報を埋め込む(S15)。ここに、付加情報埋込手段又は付加情報埋込機能が実行される。例えば、タイル111毎の付加情報は、対応するタイルパートヘッダに埋め込まれる。なお、ステップS12でタイリング処理を実行しているので、ステップS14でタイリング処理を実行する必要はない。
【0092】
ここでは、文字認識情報を付加情報として所定の埋め込み位置に埋め込んでいるが、これに限るものではなく、例えば、傾き検出処理を実行した場合には、傾き検出結果の傾き角度補正情報等の傾き検出情報を所定の埋め込み位置に埋め込んでも良い。また、ステップS14及びステップS15を同時に実行するようにして、付加情報を埋め込みながら画像を圧縮するようにしても良い。
【0093】
最後に、付加情報が埋め込まれた画像データ(圧縮データ)をRAM32に画像ファイルとして格納する(S16)。ここで、原稿が複数枚ある場合には、原稿毎にステップS11からS16までの処理が繰り返され、RAM32には原稿毎に複数の画像ファイルが保存される。
【0094】
その後、RAM32に画像ファイルとして格納されている画像データは、例えば、所定のタイミングで通信制御部36によりネットワークを介して外部装置に送信される場合がある。このとき、例えば、文字領域を有する画像の画像データだけを送信するために、RAM32に画像ファイルとして格納された複数の画像データから文字領域を有する画像の画像データを検索する場合には、CPU30は画像データ内の文字コードを検出すれば良く、簡単に検索することができる。
【0095】
このように本実施の形態では、原画像をタイリング処理して複数のタイル111(複数の領域)に分割し(S12)、分割した複数のタイル111に対してOCR処理を実行して文字認識情報を生成し(S13)、生成した文字認識情報をコードストリームの所定の埋め込み位置に埋め込むことによって(S15)、例えば、複数の画像データ(圧縮データ)から必要とする画像データを検索する場合等、付加情報を利用して簡単に検索することが可能となる。すなわち、必要に応じた付加情報を埋め込むことで、画像データの検索や管理、画像データに対する処理等を容易に行うことができる。また、原画像のタイル11毎に対応する付加情報、例えば文字認識情報等が得られるので、画像の中から必要とする領域、例えば文字領域を簡単に検索して抽出することができる。さらに、JPEG2000アルゴリズムの圧縮手段及び伸長手段を用いることで、JPEG2000の特性を活かした様々な画像処理を実行することができる。
【0096】
なお、各実施の形態においては、画像処理装置として複合機1を用いているが、これに限るものではなく、例えば、パーソナルコンピュータ等を用いても良い。この場合、パーソナルコンピュータは、CPU、ROM、RAM、各種のプログラムを記憶するHDD(Hard Disk Drive)、CD−ROMドライブ、スキャナ、ネットワークを介して外部装置と通信により情報を伝達するための通信制御装置、処理経過や結果等を操作者に表示する表示装置、キーボードやマウス等の入力装置等を備えている。ここで、HDDは、前述したような画像処理に関するプログラムを記憶する記憶媒体として機能する。
【0097】
なお、一般的には、パーソナルコンピュータのHDDにインストールされるプログラムは、CD−ROMやDVD−ROM等の光情報記録メディアやFD等の磁気メディア等に記録され、この記録されたプログラムがHDDにインストールされる。このため、CD−ROM等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体も、前述したような画像処理に関するプログラムを記憶する記憶媒体となり得る。さらには、このようなプログラムは、例えば通信制御装置を介して外部から取込まれ、HDDにインストールされても良い。
本実施の形態によれば、原画像を2次元ウェーブレット変換、量子化及び符号化という手順で圧縮してコードストリームを生成する画像処理装置において、前記原画像を複数領域に分割する領域分割手段と、前記領域分割手段により分割された前記複数領域の画像から前記原画像に関連する付加情報を生成する付加情報生成手段と、前記付加情報生成手段により生成された付加情報を前記コードストリームに埋め込む付加情報埋込手段と、を備えることを特徴とすることから、原画像の画像データが付加情報を有し、例えば、複数の画像データから必要とする画像データを検索する場合等、付加情報を利用して簡単に検索することが可能となる。すなわち、必要に応じた付加情報を埋め込むことで、画像データの検索や管理、画像データに対する処理等を容易に行うことができる。
本実施の形態の画像処理装置において、前記付加情報生成手段は、前記複数領域の画像から文字を認識することで前記付加情報として文字認識情報を生成することを特徴とすることから、この文字認識情報がコードストリームに埋め込まれ、例えば、複数の画像データから文字領域を有する画像データを検索する場合等、文字認識情報により簡単に検索することが可能となる。すなわち、文字認識情報を利用することで、画像データの検索や管理等を容易に行うことができる。
本実施の形態の画像処理装置において、前記付加情報生成手段は、前記複数領域の領域属性を識別することで前記付加情報として領域識別情報を生成することを特徴とすることから、この領域識別情報がコードストリームに埋め込まれ、例えば、複数の画像データから写真領域を有する画像データを検索する場合等、領域識別情報により簡単に検索することが可能となる。すなわち、領域識別情報を利用することで、画像データの検索や管理等を容易に行うことが可能になる。
本実施の形態の画像処理装置において、前記付加情報生成手段は、前記複数領域の画像の傾きを検出することで前記付加情報として傾き検出情報を生成することを特徴とすることから、この傾き検出情報がコードストリームに埋め込まれ、例えば、画像を表示装置に表示させたり、用紙に印字させたりする場合等、傾き検出情報により簡単に画像の傾きを補正することが可能となる。すなわち、傾き検出情報を利用することで、画像データに対する処理等を容易に行うことができる。
本実施の形態の画像処理装置において、前記付加情報埋込手段は、前記コードストリームのメインヘッダに前記付加情報を埋め込むことを特徴とすることから、例えば、複数の画像データから必要とする画像データを検索する場合等、メインヘッダを読み取る早い段階でメインヘッダの付加情報を利用して検索することが可能となり、その結果として、処理時間を短縮することができる。
本実施の形態の画像処理装置において、前記付加情報埋込手段は、前記コードストリームのタイルパートヘッダに前記付加情報を埋め込むことを特徴とすることから、例えば、タイル毎(領域毎)の付加情報が対応するタイルパートヘッダに埋め込まれ、複数の画像データから必要とする画像データを検索する場合等、タイルパートヘッダの付加情報を利用して簡単に検索することができる。
本実施の形態の画像処理装置において、前記付加情報埋込手段は、前記コードストリームにおけるレイヤの最下位ビットに前記付加情報を埋め込むことを特徴とすることから、画像サイズを増加させることなく付加情報を埋め込むことができる。
本実施の形態の画像処理装置において、原稿から前記原画像を光学的に読み取る読取光学系を備えることを特徴とすることから、原稿から原画像を読み取ることが可能になり、その結果として、読み取った原画像に対し画像処理等の様々な処理を実行することができる。
本実施の形態の画像処理装置において、圧縮された前記原画像を復号化、逆量子化及び2次元ウェーブレット逆変換という手順で伸長する伸長手段を備えることを特徴とすることから、JPEG2000アルゴリズムの伸長手段を用いることで、JPEG2000アルゴリズムで圧縮された画像をJPEG2000の特性を活かして伸長することが可能となり、その結果として、伸長された画像の表示装置等への表示や用紙等への印字等を実行することができる。
本実施の形態の画像処理装置において、前記伸長手段により伸長された画像を記録材に画像形成するプリンタエンジンを備えることを特徴とすることから、伸長された画像を用紙等の記録材に形成することができる。
本実施の形態のプログラムは、原画像を2次元ウェーブレット変換、量子化及び符号化という手順で圧縮してコードストリームを生成する画像処理装置が備えるコンピュータに解釈され、前記コンピュータに、原画像を複数領域に分割する領域分割機能と、前記領域分割手段により分割された前記複数領域の画像から前記原画像に関連する付加情報を生成する付加情報生成機能と、前記付加情報生成手段により生成された付加情報を前記コードストリームに埋め込む付加情報埋込機能と、を実行させることから、原画像の画像データが付加情報を有し、例えば、複数の画像データから必要とする画像データを検索する場合等、付加情報を利用して簡単に検索することができる。すなわち、必要に応じた付加情報を埋め込むことで、画像データの検索や管理、画像データに対する処理等を容易に行うことができる。
本実施の形態のプログラムにおいて、前記付加情報生成機能は、前記複数領域の画像から文字を認識することで前記付加情報として文字認識情報を生成することから、この文字認識情報がコードストリームに埋め込まれ、例えば、複数の画像データから文字領域を有する画像データを検索する場合等、文字認識情報により簡単に検索することが可能となる。すなわち、文字認識情報を利用することで、画像データの検索や管理等を容易に行うことができる。
本実施の形態のプログラムにおいて、前記付加情報生成機能は、前記複数領域の領域属性を識別することで前記付加情報として領域識別情報を生成することから、この領域識別情報がコードストリームに埋め込まれ、例えば、複数の画像データから写真領域を有する画像データを検索する場合等、領域識別情報により簡単に検索することが可能となる。すなわち、領域識別情報を利用することで、画像データの検索や管理等を容易に行うことができる。
本実施の形態のプログラムにおいて、前記付加情報生成機能は、前記複数領域の画像の傾きを検出することで前記付加情報として傾き検出情報を生成することから、この傾き検出情報がコードストリームに埋め込まれ、例えば、画像を表示装置に表示させたり、用紙に印字させたりする場合等、傾き検出情報により簡単に画像の傾きを補正することが可能となる。すなわち、傾き検出情報を利用することで、画像データに対する処理等を容易に行うことができる。
本実施の形態のプログラムにおいて、前記付加情報埋込機能は、前記コードストリームのメインヘッダに前記付加情報を埋め込むことから、例えば、複数の画像データから必要とする画像データを検索する場合等、メインヘッダを読み取る早い段階でメインヘッダの付加情報を利用して検索することが可能となり、その結果として、処理時間を短縮することができる。
本実施の形態のプログラムにおいて、前記付加情報埋込機能は、前記コードストリームのタイルパートヘッダに前記付加情報を埋め込むことから、例えば、タイル毎(領域毎)の付加情報が対応するタイルパートヘッダに埋め込まれ、複数の画像データから必要とする画像データを検索する場合等、タイルパートヘッダの付加情報を利用して簡単に検索することができる。
本実施の形態のプログラムにおいて、前記付加情報埋込機能は、前記コードストリームにおけるレイヤの最下位ビットに前記付加情報を埋め込むことから、画像サイズを増加させることなく付加情報を埋め込むことができる。
本実施の形態の記憶媒体によれば、本実施の形態のプログラムを記憶していることから、本実施の形態プログラムと同様な効果を奏する。
【0098】
【発明の効果】
本発明によれば、原画像に関連する付加情報を生成し、生成した付加情報をコードストリームに埋め込むことによって、原画像の画像データが付加情報を有し、例えば、複数の画像データから必要とする画像データを検索する場合等、付加情報を利用して簡単に検索することが可能となるコードストリームを生成する。すなわち、必要に応じた付加情報を埋め込むことで、画像データの検索や管理、画像データに対する処理等を容易に行うことが可能なコードストリームを生成する。
【図面の簡単な説明】
【図1】 JPEG2000アルゴリズムの概要を説明するための機能ブロック図である。
【図2】カラー画像である原画像の分割された各コンポーネントの一例を概略的に示す模式図である。
【図3】デコンポジションレベル数が3である場合の各デコンポジションレベルにおけるサブバンドを概略的に示す模式図である。
【図4】プレシンクトを示す説明図である。
【図5】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図6】コードストリームの構造の一例を概略的に示す模式図である。
【図7】本発明の第一の実施の形態の複合機を概略的に示す縦断面図である。
【図8】複合機の制御系のうち、画像処理に関わる制御系の電気的な接続を概略的に示すブロック図である。
【図9】複合機における画像処理の概要を説明するための機能ブロック図である。
【図10】本発明の第一の実施の形態の画像処理の流れを概略的に示すフローチャートである。
【図11】本発明の第一の実施の形態の画像処理による付加情報の埋め込み位置を概略的に示す説明図である。
【図12】本発明の第二の実施の形態の画像処理の流れを概略的に示すフローチャートである。
【符号の説明】
1 画像処理装置(複号機)
7 読取光学系
17 プリンタエンジン
30 コンピュータ(CPU)
31 記憶媒体(ROM)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus, a program, and a storage medium.
[0002]
[Prior art]
In recent years, with the spread of image processing apparatuses such as scanners, digital cameras, personal computers, printers, copiers, and multifunction peripherals (MFPs), digital image data is stored in a storage device such as a memory or a hard disk, or a CD-ROM or the like. It is familiar to store on an optical disc of this type, or to transmit via the Internet or the like. Such image data is usually compressed and stored in a storage device, an optical disk or the like in many cases.
[0003]
Recently, high-definition images can be easily obtained by various techniques, but the image data size of high-definition images tends to increase, and handling of high-definition images has become difficult. Currently, JPEG (Joint Photographic Experts Group) is most widely used as an image compression / decompression algorithm that facilitates handling of such high-definition images. In recent years, the use of DWT (Discrete Wavelet Transform) is increasing as a frequency transform in place of DCT (Discrete Cosine Transform) adopted in JPEG. A representative example is JPEG2000, an image compression / decompression method succeeding JPEG, which became an international standard in 2001.
[0004]
Since such compressed image data is digital data, it facilitates transmission over the Internet or the like, storage in a storage device, etc. On the other hand, it is highly likely to be altered without permission from the creator. is there. In order to prevent this, a method has been proposed in which signature information for identifying a creator is embedded as additional information in an original image (see, for example, Patent Document 1).
[0005]
[Patent Document 1]
JP 2001-42768 A
[0006]
[Problems to be solved by the invention]
However, in the technique of
[0007]
Further, the user desires that image data having a character area or a photographic area or image data having a similar image can be easily searched from a plurality of image data stored in the storage device. For example, in the conventional technology, a user confirms an image displayed on a display device or the like based on image data, an image printed on a sheet, etc. In many cases, image data or the like having the processed image is searched.
[0008]
An object of the present invention is to provide an image processing apparatus, a program, and a storage medium that realize encoding suitable for image data search and management, processing on image data, and the like.
[0009]
[Means for Solving the Problems]
The image processing apparatus of the present invention The original image Divided into rectangular areas, and for each rectangular area Compress by the procedure of 2D wavelet transform, quantization and encoding , Having encoded data for each rectangular area In an image processing apparatus for generating a code stream, a plurality of the original images are Rectangle An area dividing unit that divides into areas and the area dividing unit For each rectangular area, the image of the rectangular area Related For search Additional information generating means for generating additional information, and additional information generated by the additional information generating means as the code stream In the encoded data of the rectangular area corresponding to the additional information in And additional information embedding means for embedding.
[0010]
Therefore, by generating additional information related to the original image and embedding the generated additional information in the code stream, the image data of the original image has additional information. For example, necessary image data is obtained from a plurality of image data. It becomes possible to easily search using additional information when searching. Generate codestream . In other words, by embedding additional information as necessary, it is possible to easily search and manage image data, process image data, and so on. A simple codestream .
[0045]
DETAILED DESCRIPTION OF THE INVENTION
A first embodiment of the present invention will be described with reference to FIGS.
[0046]
Although the present embodiment uses the “JPEG2000 algorithm”, the JPEG2000 algorithm itself is well known from various documents, publications, and the like, so the details will be omitted and the outline will be described.
[0047]
FIG. 1 is a functional block diagram for explaining the outline of the JPEG2000 algorithm. The JPEG2000 algorithm includes a color space conversion /
[0048]
One of the features of JPEG2000 is that it uses two-dimensional discrete wavelet transform (DWT), which has the advantage of good image quality in the high-compression region. Another major feature is that a function block called a
[0049]
Note that a color space conversion /
[0050]
Hereinafter, the JPEG2000 algorithm, particularly the wavelet transform will be described.
[0051]
FIG. 2 is a schematic diagram schematically showing an example of each component obtained by dividing an original image which is a color image. In the color image, generally, as shown in FIG. 2, each
[0052]
When encoding image data (see FIG. 1), the data of each tile 111 of each
[0053]
FIG. 3 is a schematic diagram schematically showing subbands at each decomposition level when the number of decomposition levels is three. The two-dimensional wavelet transform /
[0054]
Next, in the quantization / inverse quantization unit 102 (see FIG. 1), after the bits to be encoded are determined in the designated encoding order, a context is generated from the bits around the target bits. 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. Here, FIG. 4 is an explanatory view showing a precinct. As shown in FIG. 4, one precinct consists of three rectangular regions that are spatially matched. Furthermore, each precinct is divided into rectangular “code blocks” that do not overlap. This is a basic unit for entropy coding.
[0055]
The coefficient values after wavelet transform can be quantized and encoded as they are. However, in JPEG2000, in order to increase the encoding efficiency, the coefficient values are decomposed into “bit plane” units, and each pixel or code block is divided. The bit planes can be prioritized.
[0056]
Here, FIG. 5 is an explanatory diagram showing an example of a procedure for ranking the bit planes. As shown in FIG. 5, in this example, the original image (32 × 32 pixels) is divided into four 16 × 16 pixel tiles, and the size of the precinct and the code block at the
[0057]
An explanatory diagram showing an example of the concept of a typical “layer” configuration for
[0058]
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.
[0059]
The entropy encoding / decoding unit 103 (see FIG. 1) performs encoding on each tile 111 of each
[0060]
Finally, in the tag processing unit 104 (see FIG. 1), all encoded data from the entropy encoding /
[0061]
On the other hand, at the time of decoding, contrary to the time of encoding, image data is generated from the code stream of each tile 111 of each
[0062]
Next, a configuration example of the
[0063]
FIG. 7 is a longitudinal sectional view schematically showing the
[0064]
A
[0065]
Below the
[0066]
The
[0067]
The
[0068]
Such a
[0069]
Next, an overview of image processing in the
[0070]
As character recognition processing for recognizing characters from an image, for example, OCR (Optical Character Recognition) processing is used. Further, the additional
[0071]
The image processing of the
[0072]
Here, the area attributes include various area attributes such as a character area, a photograph area, a figure area, a table area, a black solid area, a background area, and the like. The background area is a margin area corresponding to the margin of the document. However, the background area is not limited to this. For example, the background area may be an area obtained by adding an inter-line area corresponding to a line.
[0073]
On the other hand, as additional information, for example, character recognition information (character recognition result information) generated by OCR processing, region identification information regions (region identification result information) such as coordinate information and region attribute information generated by region identification processing, etc. And tilt detection information (tilt detection result information) such as tilt angle correction information generated by the tilt detection process. Character recognition information includes character code, character color, font size, font information, character coordinate position information, certainty information (probability information), title (character code), and the like. The title is a character code obtained by extracting a title area by area identification processing and performing OCR processing on the title area. For example, a title such as “2002 meeting minutes. J2k” is embedded at a predetermined embedding position with a character code.
[0074]
The predetermined embedding position includes, for example, a header such as a main header and tile part header (see FIG. 6), the least significant bit of the image (embedding is possible without increasing the image size), and a character area of the image. And the least significant bit corresponding to. In addition, if the image size is not an integral multiple of the tile, information is added to form an image that is an integral multiple of the tile, but it is also possible to embed in the information portion to be added.
[0075]
Next, image processing executed by the
[0076]
As shown in FIG. 10, first, the
[0077]
When the original image is read from the document by the scanner 2 (Y in S1), the read original image is divided into a plurality of areas, and based on area attributes such as a character area, a photo area, a figure area, a table area, and a background area. Then, attributes of a plurality of areas mixed in the original image are identified (S2). Here, the area dividing means or the area dividing function is executed, and the additional information generating means or the additional information generating function is executed. As a method for region identification, a conventional method, for example, a region identification method using the density of black runs is sufficient, and since the method is known, the description thereof is omitted. Here, by identifying a plurality of regions, region identification information such as coordinate information and region attribute information is obtained for each of the plurality of regions. Note that the image processing of the present embodiment is performed on the document image read by the
[0078]
Next, OCR processing is executed for the plurality of areas identified and divided (S3). That is, a character is recognized from an image for each of a plurality of areas. Here, the additional information generating means or the additional information generating function is executed. The OCR process includes a pattern matching method, a structure analysis method, and the like. Since these methods are publicly known, description thereof is omitted. Here, the character recognition information such as the character code, the character color, the font size, the font information, the character coordinate position information, the certainty degree information (the certainty information), etc. Is obtained.
[0079]
Next, the original image is compressed based on the JPEG2000 algorithm (S4). As a result, a code stream is generated from the original image based on the JPEG2000 algorithm. Then, the area identification information and the character recognition information are embedded as additional information at a predetermined embedding position of the code stream (S5). Here, the additional information embedding means or the additional information embedding function is executed. For example, as shown in FIG. 11, the additional information is embedded in the least significant bit of the layer in the code stream. Thereby, it is possible to embed without increasing the image size. The region R in which the additional information is embedded is a region corresponding to the character region of the original image.
[0080]
Here, although embedded in the least significant bit of the region R corresponding to the character region of the image, the present invention is not limited to this. For example, it may be simply embedded in the least significant bit. In addition, the area identification information and the character recognition information are embedded in the predetermined embedding position as additional information, but the present invention is not limited to this. For example, only one of the area identification information and the character recognition information is included in the predetermined embedding position. Alternatively, when tilt detection processing is executed, tilt detection information such as tilt angle correction information as a tilt detection result may be embedded at a predetermined embedding position. Further, the original image may be compressed while embedding additional information by simultaneously executing steps S4 and S5. Here, since the original image is compressed at a plurality of resolutions based on the JPEG2000 algorithm, the character recognition information may be embedded at a predetermined embedding position by executing OCR processing for each resolution.
[0081]
Finally, the image data (compressed data) in which the additional information is embedded is stored in the
[0082]
Thereafter, the image data stored as an image file in the
[0083]
Note that the image of the image data may be subjected to image processing such as scaling (enlargement / reduction), rotation, and black / white reversal. In such image processing, the character image in the character area M is scaled by changing the font size in the character area M, and the image is held as an image of various resolutions by the compression means of the JPEG2000 algorithm. The image can be freely changed from high image quality to low image quality. Furthermore, when an original image is displayed on a display device or the like, the image can be expanded in accordance with the resolution or the like of the display device.
[0084]
As described above, in this embodiment, the original image is divided into a plurality of regions, the attributes of the plurality of regions are identified to generate region identification information (S2), and the character is obtained by executing the OCR process on the divided regions By generating recognition information (S3) and embedding the generated area identification information and character recognition information in a predetermined embedding position of the code stream (S5), for example, required image data from a plurality of image data (compressed data) For example, it is possible to easily search using additional information. That is, by embedding additional information as required, image data search and management, processing for image data, and the like can be easily performed. Further, since additional information corresponding to each of a plurality of areas of the original image, such as area identification information and character recognition information, can be obtained, a necessary area such as a character area or a photo area can be easily searched from the image. Can be extracted. Furthermore, by using the compression means and decompression means of the JPEG2000 algorithm, various image processing utilizing the characteristics of JPEG2000 can be executed.
[0085]
A second embodiment of the present invention will be described with reference to FIG. FIG. 12 is a flowchart schematically showing a flow of image processing according to the present embodiment. In addition, the same part as the part demonstrated above is shown with the same code | symbol.
[0086]
The basic configuration of the present embodiment is the same as that of the first embodiment, but the difference from the first embodiment is the image processing that the
[0087]
Image processing executed by the
[0088]
As shown in FIG. 12, first, the
[0089]
When the original image is read from the document by the scanner 2 (Y in S11), the read original image is tiling processed and divided into a plurality of tiles 111 (a plurality of areas: see FIG. 1) (S12). Here, the area dividing means or the area dividing function is executed. Thereby, the original image is divided into a plurality of tiles 111 (a plurality of regions). This tiling process is executed based on the JPEG2000 algorithm.
[0090]
Next, OCR processing is executed for the plurality of divided tiles 111 (S13). That is, a character is recognized from the image for each of the plurality of tiles 111. Here, the additional information generating means or the additional information generating function is executed. The OCR process includes a pattern matching method, a structure analysis method, and the like. Since these methods are publicly known, description thereof is omitted. Here, by executing the OCR process, character recognition information such as a character code, a character color, a font size, font information, character coordinate position information, and certainty information (certainty information) is obtained for each tile 111.
[0091]
Next, the original image is compressed based on the JPEG2000 algorithm (S14). As a result, a code stream is generated from the original image based on the JPEG2000 algorithm. Then, character recognition information is embedded as additional information at a predetermined embedding position of the code stream (S15). Here, the additional information embedding means or the additional information embedding function is executed. For example, the additional information for each tile 111 is embedded in the corresponding tile part header. Since the tiling process is executed in step S12, it is not necessary to execute the tiling process in step S14.
[0092]
Here, the character recognition information is embedded as the additional information at a predetermined embedding position, but the present invention is not limited to this. For example, when the inclination detection process is executed, the inclination of the inclination detection result such as the inclination angle correction information, etc. The detection information may be embedded at a predetermined embedding position. Further, step S14 and step S15 may be executed simultaneously, and the image may be compressed while embedding additional information.
[0093]
Finally, the image data (compressed data) in which the additional information is embedded is stored in the
[0094]
Thereafter, the image data stored as an image file in the
[0095]
As described above, in the present embodiment, the original image is tiled and divided into a plurality of tiles 111 (a plurality of areas) (S12), and the character recognition is performed by executing the OCR process on the divided tiles 111. Information is generated (S13), and the generated character recognition information is embedded in a predetermined embedding position of the code stream (S15), for example, when searching for necessary image data from a plurality of image data (compressed data), etc. This makes it possible to easily search using additional information. That is, by embedding additional information as required, image data search and management, processing for image data, and the like can be easily performed. Further, since additional information corresponding to each tile 11 of the original image, such as character recognition information, can be obtained, a necessary region, for example, a character region can be easily searched and extracted from the image. Furthermore, by using the compression means and decompression means of the JPEG2000 algorithm, various image processing utilizing the characteristics of JPEG2000 can be executed.
[0096]
In each embodiment, the
[0097]
Generally, a program installed in the HDD of a personal computer is recorded on an optical information recording medium such as a CD-ROM or DVD-ROM, a magnetic medium such as an FD, and the recorded program is stored in the HDD. Installed. Therefore, a portable storage medium such as an optical information recording medium such as a CD-ROM or a magnetic medium such as an FD can also be a storage medium that stores a program related to image processing as described above. Furthermore, such a program may be taken in from outside via a communication control device, for example, and installed in the HDD.
This embodiment In the image processing apparatus for generating a code stream by compressing an original image by a procedure of two-dimensional wavelet transform, quantization, and encoding, an area dividing unit that divides the original image into a plurality of areas, and the area division Additional information generating means for generating additional information related to the original image from the images of the plurality of regions divided by the means, and additional information embedding means for embedding the additional information generated by the additional information generating means in the code stream Therefore, the image data of the original image has additional information. For example, when searching for required image data from a plurality of image data, it is easy to use the additional information. It becomes possible to search. That is, by embedding additional information as required, image data search and management, processing for image data, and the like can be easily performed.
This embodiment In the image processing apparatus, the additional information generation unit generates character recognition information as the additional information by recognizing characters from the images of the plurality of regions. For example, when searching for image data having a character area from a plurality of image data, it is possible to easily search using character recognition information. That is, by using the character recognition information, it is possible to easily search and manage image data.
This embodiment In the image processing apparatus, the additional information generation unit generates region identification information as the additional information by identifying region attributes of the plurality of regions. For example, when searching for image data having a photo area from a plurality of image data, it is possible to easily search by area identification information. That is, by using the area identification information, it is possible to easily search and manage image data.
This embodiment In the image processing apparatus, the additional information generation unit generates inclination detection information as the additional information by detecting inclinations of the images of the plurality of regions. For example, when the image is displayed on a display device or printed on paper, the inclination of the image can be easily corrected by the inclination detection information. That is, by using the tilt detection information, it is possible to easily process the image data.
This embodiment In the image processing apparatus, since the additional information embedding unit embeds the additional information in the main header of the code stream, for example, when searching for necessary image data from a plurality of image data Thus, it becomes possible to search using the additional information of the main header at an early stage of reading the main header, and as a result, the processing time can be shortened.
This embodiment In the image processing apparatus, the additional information embedding unit embeds the additional information in the tile part header of the code stream. For example, the tile corresponding to the additional information for each tile (for each region) corresponds to When searching for necessary image data from a plurality of image data embedded in the part header, it can be easily searched using additional information of the tile part header.
This embodiment In the image processing apparatus, the additional information embedding unit embeds the additional information in the least significant bit of the layer in the code stream, so that the additional information can be embedded without increasing the image size. it can.
This embodiment The image processing apparatus of the present invention is provided with a reading optical system that optically reads the original image from the original, so that the original image can be read from the original. Various processes such as image processing can be executed.
This embodiment In the image processing apparatus according to the present invention, it is provided with decompression means for decompressing the compressed original image by the procedures of decoding, inverse quantization, and two-dimensional wavelet inverse transform, and therefore using the decompression means of the JPEG2000 algorithm Thus, an image compressed by the JPEG2000 algorithm can be expanded utilizing the characteristics of JPEG2000, and as a result, display of the expanded image on a display device or the like, printing on paper, or the like can be executed. it can.
This embodiment The image processing apparatus includes a printer engine that forms an image expanded by the expansion unit on a recording material. Therefore, the expanded image can be formed on a recording material such as paper.
This embodiment This program is interpreted by a computer included in an image processing apparatus that generates a code stream by compressing an original image by a procedure of two-dimensional wavelet transform, quantization, and encoding, and divides the original image into a plurality of regions. An area dividing function; an additional information generating function for generating additional information related to the original image from the images of the plurality of areas divided by the area dividing means; and the additional information generated by the additional information generating means as the code. Since the additional information embedding function embedded in the stream is executed, the image data of the original image has additional information, and the additional information is used, for example, when searching required image data from a plurality of image data. And can be easily searched. That is, by embedding additional information as required, image data search and management, processing for image data, and the like can be easily performed.
This embodiment In the above program, the additional information generation function generates character recognition information as the additional information by recognizing characters from the images of the plurality of regions. For example, when searching for image data having a character area from the image data, it is possible to easily search using the character recognition information. That is, by using the character recognition information, it is possible to easily search and manage image data.
This embodiment In this program, the additional information generation function generates region identification information as the additional information by identifying region attributes of the plurality of regions. Therefore, the region identification information is embedded in a code stream, for example, a plurality of regions For example, when searching for image data having a photo area from image data, it is possible to easily search based on area identification information. That is, by using the area identification information, it is possible to easily search and manage image data.
This embodiment In the above program, the additional information generation function generates inclination detection information as the additional information by detecting the inclination of the image of the plurality of areas. Therefore, the inclination detection information is embedded in a code stream, for example, an image When the image is displayed on a display device or printed on paper, the tilt of the image can be easily corrected by the tilt detection information. That is, by using the tilt detection information, it is possible to easily process the image data.
This embodiment In this program, since the additional information embedding function embeds the additional information in the main header of the code stream, the main header is quickly read, for example, when searching required image data from a plurality of image data. It is possible to search using the additional information of the main header at a stage, and as a result, the processing time can be shortened.
This embodiment In this program, since the additional information embedding function embeds the additional information in the tile part header of the code stream, for example, additional information for each tile (for each area) is embedded in the corresponding tile part header, When searching for necessary image data from the image data, it is possible to easily search using additional information of the tile part header.
This embodiment In this program, since the additional information embedding function embeds the additional information in the least significant bit of the layer in the code stream, the additional information can be embedded without increasing the image size.
Of this embodiment According to the storage medium This embodiment Because I remember the program of Program of this embodiment Has the same effect as
[0098]
【The invention's effect】
According to the present invention, by generating additional information related to the original image and embedding the generated additional information in the code stream, The image data of the original image has additional information. For example, when searching for required image data from a plurality of image data, it is possible to easily search using the additional information. Generate codestream . In other words, by embedding additional information as necessary, it is possible to easily search and manage image data, process image data, and so on. A simple codestream .
[Brief description of the drawings]
FIG. 1 is a functional block diagram for explaining an outline of a JPEG2000 algorithm.
FIG. 2 is a schematic diagram schematically showing an example of each component obtained by dividing an original image that is a color image;
FIG. 3 is a schematic diagram schematically 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 a schematic diagram schematically showing an example of the structure of a code stream.
FIG. 7 is a longitudinal sectional view schematically showing the multifunction machine according to the first embodiment of the present invention.
FIG. 8 is a block diagram schematically showing an electrical connection of a control system related to image processing in the control system of the multifunction peripheral.
FIG. 9 is a functional block diagram for explaining an overview of image processing in a multifunction peripheral.
FIG. 10 is a flowchart schematically showing a flow of image processing according to the first embodiment of the present invention.
FIG. 11 is an explanatory diagram schematically showing a position where additional information is embedded by image processing according to the first embodiment of this invention;
FIG. 12 is a flowchart schematically showing a flow of image processing according to the second embodiment of the present invention.
[Explanation of symbols]
1 Image processing device (compound machine)
7 Reading optical system
17 Printer Engine
30 Computer (CPU)
31 Storage media (ROM)
Claims (12)
前記原画像を複数の矩形領域に分割する領域分割手段と、
前記領域分割手段により分割された矩形領域毎に該矩形領域の画像に関連する検索のための付加情報を生成する付加情報生成手段と、
前記付加情報生成手段により生成された付加情報を前記コードストリームにおける該付加情報が対応する矩形領域の符号化データに埋め込む付加情報埋込手段と、を備えることを特徴とする画像処理装置。In an image processing apparatus that divides an original image into rectangular areas and compresses each rectangular area by a procedure of two-dimensional wavelet transform, quantization, and encoding to generate a code stream having encoded data for each rectangular area ,
Area dividing means for dividing the original image into a plurality of rectangular areas;
Additional information generating means for generating additional information for searching related to the image of the rectangular area for each rectangular area divided by the area dividing means;
An image processing apparatus comprising: additional information embedding means for embedding additional information generated by the additional information generating means in encoded data of a rectangular area corresponding to the additional information in the code stream.
原画像を複数の矩形領域に分割する領域分割機能と、
前記領域分割手段により分割された矩形領域毎に該矩形領域の画像に関連する検索のための付加情報を生成する付加情報生成機能と、
前記付加情報生成手段により生成された付加情報を前記コードストリームにおける該付加情報が対応する矩形領域の符号化データに埋め込む付加情報埋込機能と、を実行させるプログラム。An image processing apparatus that divides an original image into rectangular areas and compresses each rectangular area by a procedure of two-dimensional wavelet transform, quantization, and encoding to generate a code stream having encoded data for each rectangular area. Comprising a computer, said computer having
An area dividing function for dividing an original image into a plurality of rectangular areas;
An additional information generating function for generating additional information for searching related to the image of the rectangular area for each rectangular area divided by the area dividing means;
A program for executing an additional information embedding function for embedding additional information generated by the additional information generating means in encoded data of a rectangular area corresponding to the additional information in the code stream.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003003546A JP4194373B2 (en) | 2003-01-09 | 2003-01-09 | Image processing apparatus, program, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003003546A JP4194373B2 (en) | 2003-01-09 | 2003-01-09 | Image processing apparatus, program, and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004221679A JP2004221679A (en) | 2004-08-05 |
JP4194373B2 true JP4194373B2 (en) | 2008-12-10 |
Family
ID=32894778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003003546A Expired - Fee Related JP4194373B2 (en) | 2003-01-09 | 2003-01-09 | Image processing apparatus, program, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4194373B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007089136A (en) | 2005-08-23 | 2007-04-05 | Ricoh Co Ltd | Image processing method, image processing program, recording medium, and composite device |
-
2003
- 2003-01-09 JP JP2003003546A patent/JP4194373B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004221679A (en) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8150179B2 (en) | Image processing apparatus | |
US7508988B2 (en) | Method, program and apparatus for image processing capable of effectively performing image transmission, and a medium storing the program | |
AU2005271735A1 (en) | Methods and apparatus for communicating and displaying compressed image data | |
JP2004104650A (en) | Image processor, image reader, image forming device, program for image processing and storage medium | |
JP4136951B2 (en) | Image processing apparatus, program, and storage medium | |
US7245775B2 (en) | Image processing apparatus for compositing images | |
JP2004227406A (en) | Image processor, program and storage medium | |
US20060056714A1 (en) | Image process device, image processing program, and recording medium | |
US20040218817A1 (en) | Image processing apparatus that decomposites composite images | |
JP4194373B2 (en) | Image processing apparatus, program, and storage medium | |
US7373000B2 (en) | Image processing apparatus | |
JP2004236230A (en) | Image processing apparatus, program, and storage medium | |
JP3912752B2 (en) | Image processing apparatus, program, and storage medium | |
JP4169190B2 (en) | Image reading apparatus, image forming apparatus, image reading processing method, program, and storage medium | |
JP4766586B2 (en) | Image processing apparatus, image processing method, program, and information recording medium | |
JP4097146B2 (en) | Image processing apparatus, image processing method, program, and information recording medium | |
JP2004229097A (en) | Image processor, program and storage medium | |
JP2004229096A (en) | Image processor, program and storage medium | |
JP4175613B2 (en) | Image reading apparatus, image forming apparatus, image reading processing method, program, and storage medium | |
JP4014087B2 (en) | Image processing apparatus, image processing method, program, and storage medium | |
JP4052952B2 (en) | Image processing apparatus, image processing method, program, and storage medium | |
JP2004236295A (en) | Image processing apparatus, program for image processing and storage medium | |
JP4280508B2 (en) | Misalignment correction apparatus, image processing apparatus, program, storage medium, and misalignment correction method | |
JP2006246378A (en) | Device and method for processing image, and computer-readable recording medium having recorded program for executing image processing method by computer | |
JP3784755B2 (en) | Image processing apparatus, image forming apparatus, program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041008 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051116 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20051021 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080620 |
|
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: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080922 |
|
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: 20111003 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131003 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |