JP2005165674A - 画像処理装置、画像処理方法、及びコンピュータプログラム - Google Patents

画像処理装置、画像処理方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP2005165674A
JP2005165674A JP2003403658A JP2003403658A JP2005165674A JP 2005165674 A JP2005165674 A JP 2005165674A JP 2003403658 A JP2003403658 A JP 2003403658A JP 2003403658 A JP2003403658 A JP 2003403658A JP 2005165674 A JP2005165674 A JP 2005165674A
Authority
JP
Japan
Prior art keywords
image
background image
page
outer periphery
background
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
JP2003403658A
Other languages
English (en)
Inventor
Hiroyuki Yaguchi
博之 矢口
Takeshi Matsukubo
勇志 松久保
Hidekazu Nishikawa
英一 西川
Hiroyuki Tsuji
博之 辻
Shinichi Kato
進一 加藤
Masakazu Kiko
正和 木虎
Kenzo Sekiguchi
賢三 関口
Hiroyoshi Yoshida
廣義 吉田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2003403658A priority Critical patent/JP2005165674A/ja
Publication of JP2005165674A publication Critical patent/JP2005165674A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 イメージ画像を複数のオブジェクトに分離した際に、背景オブジェクトが白く抜けた状態になることを防止する。
【解決手段】 1枚目の原稿画像の背景オブジェクトの文字が抜けたところ2101と、円グラフが抜けたところ2102とを、他の原稿画像の画素を用いて補間することにより、1枚目の原稿画像の背景オブジェクトで白く抜けてしまっているところを消すことができるようにして、背景オブジェクトを再利用することができるようにする。
【選択図】 図27

Description

本発明は、画像処理装置、画像処理方法、及びコンピュータプログラムに関し、特に、イメージ画像を複数のオブジェクトに分離して再利用できるようにするために用いて好適なものである。
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。このような背景の下、機能が拡張されたデジタル複合機(以降、MFP(Multi Function Printer)と記す)では、画像ファイルを記録する際に、該画像ファイルが存在する画像記憶装置内のポインター情報を、文書の表紙或いは記載情報中に付加情報として記録しておき、文書を複写等して再利用する際に、このポインター情報からオリジナルの画像ファイル(電子ファイル)の格納場所を検出し、検出した格納場所に格納されている画像ファイルの元情報を直接用いることができるようにして、紙文書全体の保存を削減することができるようにする技術があった。
また、ポインター情報から検索した画像ファイルが見当たらない場合、あるいはポインター情報が検出できない場合でも、イメージ画像を文字、写真、図形、表、及び背景画像のようなオブジェクトに分離して、イメージ画像をコンピュータ(PC)上で再利用できるような形式に変換するイメージ画像のベクトル化の技術が提案されている(例えば、特許文献1を参照。)。
特開2002−24799号公報
しかしながら、前述した従来の技術で行われているイメージ画像のベクトル化では、文字、写真、図形、及び表を抽出した後に残る背景画像は、元のオブジェクトの形状が白く抜けた状態で保存されており、前記背景画像を再利用できないという問題がある。
また、もともとは共通の背景画像であるにも関わらず、ページ毎にオブジェクトの抜け方が異なるため、背景画像をベージ毎に別の画像として管理しなくてはならない。このため、ハードディスク(HDD)などのデータ保存領域を無駄に使ってしまうという問題もあった。
本発明は、前述の問題点に鑑みてなされたものであり、イメージ画像を複数のオブジェクトに分離した際に、背景画像が白く抜けた状態になることを可及的に防止することを第1の目的とする。
また、イメージ画像を再利用する際に使用するデータ量を可及的に低減させることを第2の目的とする。
本発明の画像処理装置は、複数ページのイメージ画像のそれぞれを、背景画像を含む複数の画像に分離する分離手段と、前記分離手段により分離された、所定ページの背景画像の画素を、他のページの背景画像の画素を用いて補間する補間手段とを有することを特徴とする。
本発明の画像処理方法は、複数ページのイメージ画像のそれぞれを、背景画像を含む複数の画像に分離する分離ステップと、前記分離ステップにより分離された、所定ページの背景画像の画素を、他のページの背景画像の画素を用いて補間する補間ステップとを有することを特徴とする。
本発明のコンピュータプログラムは、前記記載の画像処理方法におけるステップをコンピュータに実行させることを特徴とする。
本発明によれば、イメージ画像から分離された、所定ページの背景画像の画素を、他のページの背景画像の画素を用いて補間するようにしたので、前記所定ページの背景画像で白く抜けてしまっているところを、前記他のページの背景画像を用いて消すことができる。これにより、背景画像が白く抜けた状態になることを可及的に防止することができ、背景画像を再利用することが可能になる。
また、本発明の他の特徴によれば、補間された所定ページの背景画像を記憶し、記憶した背景画像を使用して、複数ページの背景画像を形成するようにしたので、複数ページのイメージ画像に対して、同一の背景画像を1枚だけ持つようにすることができる。これにより、背景画像をイメージ画像毎に記憶する必要がなくなり、記憶容量を小さくすることができ、イメージ画像を効率良く管理することが可能になる。
(第1の実施の形態)
次に、図面を参照しながら、本発明の第1の実施の形態について説明する。
図1は、本実施の形態における画像処理システムの構成の一例を示すブロック図である。
この画像処理システムは、オフィス10とオフィス20とがインターネット104を介して相互に接続された環境で実現される。オフィス10内に構築されたLAN107には、MFP100と、MFP100を制御するマネージメントPC101と、クライアントPC(外部記憶手段)102と、文書管理サーバ106aと、そのデータベース105aと、プロキシサーバ103aとが接続されている。
オフィス内のLAN107及びオフィス20内のLAN108は、プロキシサーバ103a、103bを介してインターネット104に接続される。本実施の形態のMFP100は、紙文書を読み取る画像読み取り部と、前記画像読み取り部で読み取った画像信号に対して画像処理を行う画像処理部の一部とを担当する。そして、MFP100で生成された画像信号は、LAN109を用いてマネージメントPC101に入力される。マネージメントPC101は、通常のパーソナルコンピュータ(PC)であり、内部に画像記憶手段、画像処理手段、表示手段、及び入力手段を有するが、その一部がMFP100に一体化して構成されている。
図2は、MFP100の構成の一例を示すブロック図である。
図2において、オートドキュメントフィーダー(以降ADFと記す)を含む画像読み取り部110は、束状の原稿画像、或いは1枚の原稿画像を図示しない光源で照射し、原稿からの反射像を、レンズを用いて固体撮像素子上に結像する。そして、固体撮像素子からラスター状の画像読み取り信号を、600DPIの密度のイメージ情報として得る。通常の複写機能は、この画像信号をデータ処理部115で画像処理して記録信号を生成する。そして、生成した記録信号を記録装置112に出力し、紙上に画像を形成する。なお、複数ページ毎に複写する場合には、記録装置111に1ページ分の記録データを一旦記憶保持した後、複数ページの記録データを記録装置112に順次出力して紙上に画像を形成する。
一方、クライアントPC102から出力されるプリントデータは、LAN107からネットワークIF114を経てデータ処理装置115に入力される。入力されたプリントデータは、データ処理装置115で記録可能なラスターデータに変換された後、記録装置112で紙上に記録画像として形成される。
MFP100に対する操作者の指示は、MFP100に装備されたキー操作部と、マネージメントPC101に装備されたキーボード及びマウス等からなる入力装置113とから行われる。これら一連の動作は、データ処理装置115内の図示しない制御部で制御される。
一方、操作入力の状態表示及び処理中の画像データの表示は、表示装置116で行われる。なお、記憶装置111は、マネージメントPC101からも制御され、これらMFP100とマネージメントPC101とのデータの授受及び制御は、ネットワークIF117および直結したLAN109を用いて行われる。
[処理概要]
次に、図3のフローチャートを参照しながら、本実施の形態よる画像処理全体の概要を説明する。
図3において、まず、MFP100の画像読み取り部110を動作させて1枚の原稿をラスター状に走査し、イメージ画像の入力処理を行って600DPI−8ビットの画像信号を得る(ステップS120のイメージ情報入力処理)。そして、前記画像信号をデータ処理部115で前処理し、前処理した画像信号を、記憶装置111に1ページ分の画像データとして保存する。
マネージメントPC101に配設されているCPUは、前記保存された画像信号に基づいて、文字部分及び線画部分と、ハーフトーンの画像部分とに領域を分離する。そして、文字部分については、更に段落で塊として纏まっているブロック毎に、或いは、線で構成された表及び図形に分離し、各々セグメント化する。
一方、ハーフトーンで表現される画像部分は、矩形に分離されたブロックの画像部分や、背景部分等、所謂ブロック毎に独立したオブジェクトに分割する(ステップS121のブロックセレクション処理)。
このとき、原稿画像中に付加情報として記録された2次元バーコード、或いはURLに該当するオブジェクトを検出する。そして、URLについてはOCR(Optical Character Reader)で文字認識し、2次元バーコードについてはそのマークを解読して(ステップS122のOCR/OMR処理)、原稿のオリジナル電子ファイルが格納されている記憶装置内のポインター情報を検出する(ステップS123のポインター情報検出処理)。
なお、ポインター情報を付加する手段としては、文字と文字の間隔に情報を埋め込む方法や、ハーフトーンの画像に埋め込む方法等、直接可視化されない所謂電子透かしによる方法も有る。また、ポインター情報とは、オリジナル電子ファイルや、その格納場所を指し示すものであり、本発明の目的を達成可能なものであればいかなる構成を採用してもよい。
そして、ポインター情報が検出された場合(ステップS124でYESと判定された場合)には、ステップS125に進み、ポインター情報で示されたアドレスからオリジナル電子ファイルを検索する。
オリジナル電子ファイルは、図1においてクライアントPC102に配設されているハードディスク内、或いはオフィス10、20のLAN107、108に接続された文書管理サーバ105a、105bに配設されたデータベース内、或いはMFP100自体に配設されている記憶装置111のいずれかに格納されている。したがって、ステップS123で得られたポインター情報(アドレス情報)に従って、これらの記憶装置内を検索する。
そして、ステップS125でオリジナル電子ファイルが見つからなかった場合、又は見つかったがPDFあるいはtiffに代表される所謂イメージファイルであった場合、又はポインター情報自体が存在しなかった場合(ステップS124、S125でNOと判定された場合)には、ステップS126に進む。一方、ステップS125でオリジナル電子ファイルが見つかった場合(ステップS125でYESと判定された場合)には、ステップS133に進み、オリジナル電子ファイルが格納されているアドレスをユーザに通知する。
ステップS126は、ファイル検索処理(所謂文書検索処理ルーチン)である。
まず、ステップS122で各文字ブロックに対して行ったOCR処理の結果から、単語を抽出して全文検索を行ったり、各オブジェクトの配列と各オブジェクトの属性とから所謂レイアウト検索を行ったりする。
以上のような検索の結果、類似度の高い電子ファイルが見つかった場合、サムネイル画像等を表示し、複数のサムネイル画像の中から、操作者の選択が必要なら操作者の入力操作よってファイルの特定を行う(ステップS127の候補表示/選択処理)。なお、候補が1つのファイルの場合には、自動的にステップS128からステップS133に分岐し、オリジナル電子ファイルが格納されているアドレスをユーザに通知する。
ステップS126のファイル検索処理で電子ファイルが見つからなかった場合、或いは、見つかったがPDFあるいはtiffに代表される所謂イメージファイルであった場合には、ステップS128からステップS129に進む。
ステップS129において、イメージデータをベクトルデータへ変換する処理を行い、オリジナル電子ファイルに近い電子ファイルにイメージデータを変換する(ステップS129のベクトル化処理)。
具体的に説明すると、先ず、ステップS122でOCR処理された文字ブロックに対しては、更に文字のサイズ、スタイル、及び字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。一方、線で構成される表や、図形ブロックに対してはアウトライン化する。また、画像ブロックに対しては、イメージデータとして個別のJPEGファイルとして処理する。
これらのベクトル化処理は、オブジェクト毎に行い、更に各オブジェクトのレイアウト情報を保存して、例えば、アプリデータ(rtf:Rich Text Format)に変換して(ステップS130のアプリデータへの変換処理)、電子ファイルとして記憶装置111に格納する(ステップS131の電子ファイル格納処理)。
ベクトル化した原稿画像は、以降同様の処理を行う際に電子ファイルとして直接検索出来るように、先ず、ステップS132において、検索の為のインデックス情報を生成して検索用インデックスファイルに追加する。更に、ステップS134において、操作者が行いたい処理が、記録であると判断すれば、ステップS135に進み、ポインター情報をイメージデータとしてファイルに付加する。
ファイル検索処理で電子ファイルが特定できた場合も同様に、以降からは電子ファイルを直接特定出来るようにする為に、ステップS128からステップS133に進み、オリジナル電子ファイルが格納されているアドレスをユーザに通知し、紙に記録する場合は、ステップS136において同様にポインター情報を電子ファイルに付加する。
なお、ステップS125でポインター情報から電子ファイルが特定できた場合、又はステップS126のファイル検索処理で電子ファイルが特定できた場合、及びステップS129のベクトル化処理により電子ファイルに変換した場合には、ステップS133において、オリジナル電子ファイルが格納されているアドレスをユーザに通知する。
以上の手順によって得られた電子ファイルは、オリジナルの電子情報もしくはそれに非常に近いベクトル情報として編集可能であるので、電子ファイル自体を用いて、例えば文書の加工、蓄積、伝送、及び記録をステップS136で行うことが可能になる。また、これらの処理を行うことにより、イメージデータを直接用いる場合に比べて情報量を削減することができる。したがって、記憶装置111などにおける蓄積効率を高め、伝送時間を短縮し、さらに、高品位なデータとして記録表示することができる。
以下、各処理ブロックに対して詳細に説明する。
[ブロックセレクション処理]
先ずステップS121で示すブロックセレクション処理について説明する。
ブロックセレクション処理とは、図4の左に示すステップS120で読み取った一頁のイメージデータを、同じく図4の右に示すように、オブジェクト毎の塊(ブロック)として認識し、これら認識したブロックの各々が文字、図画、写真、線、及び表等のうち、どの属性に属するかを判定し、判定した結果に基づいて、前記イメージデータを異なる属性を持つ領域に分割する処理である。
このようなブロックセレクション処理の具体例を以下に説明する。
先ず、入力されたイメージデータ(画像)を白黒に二値化し、輪郭線追跡を行って、黒画素輪郭で囲まれる画素の塊を抽出する。面積の大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡を行い白画素の塊を抽出する。さらに、一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出する。
このようにして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つ領域へ分類していく。たとえば、縦横比が1に近く、大きさが一定の範囲のものを文字相当の画素塊とし、さらに近接する文字が整列良くグループ化可能な部分を文字領域とする。また、扁平な画素塊を線領域とする。また、一定の大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域とする。また、不定形の画素塊が散在している領域を写真領域とする。さらに、それ以外の任意形状の画素塊を図画領域とする。なお、分類方法は、前述したものに限定されないということは勿論である。
以上のようなブロックセレクション処理で得られた各ブロックに対するブロック情報の一例を図5に示す。
これらのブロック毎の情報は、以降に説明するベクトル化、或いは検索の為の情報として用いる。
[ポインター情報の検出]
次に、ステップS122で示す、ファイルの格納位置をイメージ画像から抽出する為のOCR/OMR処理について説明する。
図6は、原稿画像中に付加された2次元バーコード(QRコードシンボル)を復号して、データ文字列を出力する手順を示すフローチャートである。また、図7は、2次元バーコードが付加された原稿310の一例を示す図である。
まず、データ処理装置115内のページメモリに格納された原稿310を表すイメージ画像をCPU(不図示)で走査して、先に説明したブロックセレクション処理の結果から所定の2次元バーコードシンボル311の位置を検出する。QRコードの位置検出パターンは、2次元バーコードシンボル311の4隅のうちの3隅に配置される同一の位置検出要素パターンから構成される(ステップS300)。
次に、前記位置検出パターンに隣接する形式情報を復元し、2次元バーコードシンボル311に適用されている誤り訂正レベル及びマスクパターンを得る(ステップS301)。
そして、2次元バードコードシンボル311の型番を決定した後(ステップS302)、前記形式情報で得られたマスクパターンを使って、符号化領域ビットパターンをXOR(排他的論理和)演算することによってマスク処理を解除する(ステップS303)。
次に、モデルに対応する2次元バード−ドの配置規則に従い、シンボルキャラクタを読み取り、メッセージのデータ及び誤り訂正コード語を復元する(ステップS304)。ここで、モデルとは、2次元バーコードや1次元バーコードの標準フォーマットのことを指す。本実施の形態では、QRコードシンボルの標準フォーマットモデルのことを指し、この標準フォーマットのデータ配置規則にのっとって、2次元バーコードを解析する。
次に、復元されたコード上に、誤りがあるかどうかの検出を行い(ステップS305)、誤りが検出された場合、ステップS306に進み、これを訂正する。
次に、誤り訂正されたデータコード語を復元する。そして、モード指示子および文字数指示子に基づいて、前記復元したデータコード語をセグメントに分割する(ステップ307)。
最後に、仕様モードに基づいてデータ文字を復号し、結果を出力する(ステップS308)。
なお、2次元バーコード内に組み込まれたデータは、対応するファイルのアドレス情報を表しており、このアドレス情報は、例えばファイルサーバ名及びファイル名からなるパス情報で構成される。或いは、前記アドレス情報は、対応するファイルへのURLで構成される。
また、本実施の形態では、ポインター情報が2次元バーコードを用いて付与された原稿310について説明したが、ポインター情報が文字列で直接記録される場合には、所定のルールに従った文字列のブロックを、先のブロックセレクション処理で検出し、ポインター情報を示す文字列の各文字を文字認識することで、オリジナル電子ファイルのアドレス情報を直接得ることが可能である。
また、図7に示した原稿(文書)310の第1の文字ブロック312、或いは第2の文字ブロック313の文字列に対して、隣接する文字と文字との間等に、視認し難い程度の変調を加え、その文字と文字との間隔に情報を埋め込むことでもポインター情報を付与できる。このようなポインター情報は、所謂透かし情報であり、後述する文字認識処理を行う際に各文字の間隔を検出することにより得られる。また、自然画314の中に電子透かしとしてポインター情報を付加することも可能である。
[ポインター情報によるファイル検索]
次に、図3で先に説明したステップS125及びステップS128で示す、ポインター情報から電子ファイルを検索する手順の一例について図8のフローチャートを使用して説明する。
まず、ポインター情報に含まれるアドレスに基づいて、ファイルサーバを特定する。(ステップS400)
ここで、ファイルサーバとは、クライアントPC102や、データベース105を内蔵する文書管理サーバ106や、記憶装置111を内蔵するMFP100自身を指す。
また、アドレスとは、URLや、サーバ名とファイル名とからなるパス情報である。
ファイルサーバが特定できたら、ファイルサーバに対してアドレスを転送する(ステップS401)。
ファイルサーバは,アドレスを受信すると、該当するファイルを検索する(ステップS402)。
検索の結果、ファイルが存在しない場合(ステップS403でNoの場合)には、本フローチャートによる処理を終了する。
一方、該当するファイルが存在した場合(ステップS403でYesの場合)には、図3で説明したように、ファイルのアドレスを通知すると共に(ステップS133)、ユーザの希望する処理が画像ファイルデータの取得であれば、MFP100に対してファイルを転送する(ステップS408)。
[ファイル検索処理]
次に、図3のステップS126で示すファイル検索処理の詳細について図5及び図10を使用して説明を行う。
ステップS126の処理は、前述したように、ステップS124で入力原稿(入力ファイル)にポインター情報が存在しなかった場合、または、ポインター情報は在るが電子ファイルが見つからなかった場合、或いは電子ファイルがイメージファイルであった場合に行われる。
ここでは、ステップS122の結果、抽出された各ブロック及び入力ファイルが、図5に示す情報(ブロック情報51、入力ファイル情報52)を備えるものとする。情報内容として、属性、座標位置、幅と高さのサイズ、及びOCR情報の有無を例としてあげる。属性は、文字(1)、線(4)、写真(5)、絵(2)、表(3)、及びその他に分類する。また簡単に説明を行うため、ブロックは座標Xの小さい順、(即ち、例えば、X1<X2<X3<X4<X5<X6)にブロック1、ブロック2、ブロック3、ブロック4、ブロック5、ブロック6と名前をつけている。ブロックの総数は、入力ファイル中の全ブロック数であり、図5の場合、ブロック総数Nは6である。
以下、これらの情報を使用して、データベース105内から、入力ファイルに類似したファイルのレイアウト検索を行うフローチャートを図10に示す。ここで、データベースファイルは、図5と同様の情報を備えることを前提とする。
図10のフローチャートの流れは、入力ファイルとデータベース105中のファイルとを順次比較するものである。
まず、ステップS510にて、後述する類似率などの初期化を行う。
次に、ステップS511にて、入力ファイルにおけるブロックの総数と、データベース105中のファイルにおけるブロックの総数との比較を行う。ここで、この比較の結果、ブロックの総数の差が所定の範囲内の場合、さらにファイル内のブロックの情報を順次比較する(ステップS512、S514、S516)。
ブロックの情報の比較は、ステップS513、S515、S518にて、属性類似率、サイズ類似率、OCR類似率をそれぞれ算出して行われ、入力ファイルの全ブロックに対する処理が終了したら(ステップS519のYes)、ステップS522にてそれらをもとに総合類似率を算出する。各類似率の算出方法については、公知の技術が用いられるので説明を省略する。
なお、ステップS512、S514、S516にて、入力ファイルにおけるブロックの情報と、データベース105中のファイル(以下、データベースファイルと記す)におけるブロックの情報とが一致または所定の範囲内にない場合には、ステップS521に進む。そして、ステップS521にて、次のブロックへ処理を移行する。具体的に説明すると、入力ファイルにおけるブロックの総数nが、データベースファイルにおけるブロックの総数N以上である場合には、入力ファイルの次のブロックへ処理を移行する。一方、入力ファイルのブロックの総数nが、データベースファイルにおけるブロックの総数Nよりも少ない場合には、データベースファイルにおける次のブロックへ処理を移行する。
そして、入力ファイルにおけるブロックの情報と、データベースファイルにおけるブロックの情報とが一致または所定の範囲内になるまで、ステップS512〜S516の処理を繰り返し行う。
また、ステップS519にて、入力ファイルの全ブロックに対する処理が終了していないと判定した場合には、前記ステップS521に進む。
ステップS523にて、総合類似率が、予め設定された閾値Thより高いと判定すれば、ステップS524にてそのファイルを類似候補としてあげる。但し、図中のN、W、Hは、入力ファイルのブロック総数、各ブロック幅、各ブロック高さとし、ΔN、ΔW、ΔHは、入力ファイルのブロック情報を基準として誤差を考慮したものである。n、w、hは、データベースファイルのブロック総数、各ブロック幅、各ブロック高さとする。また、不図示ではあるが、ステップS514にて、サイズの比較とともに、位置情報XYの比較などを行ってもよい。
以上のような検索の結果、類似度が閾値Thより高い場合(ステップS523でYesの場合)には、ステップS524において候補として保存されたデータベースファイルをサムネイル等で表示する(図3のステップS127)。複数の中から操作者の選択が必要なら操作者の入力操作よってファイルの特定を行う。最後に、ステップS525にて、データベース105内の全てのファイルに対する処理が終了したか否かを判定し、終了したら、図10に示すフローチャートの処理を終了する。
なお、ステップS525にて、データベース105内の全てのファイルに対する処理が終了していないと判定された場合と、ステップS523にて、総合類似度が閾値Thより高くないと判定された場合と、ステップS511にて、入力ファイルにおけるブロックの総数Nと、データベースファイルにおけるブロックの総数nとの差が所定の範囲内にない場合には、ステップS526に進む。そして、ステップS526にて、データベース105の次のファイルへ移行し、ステップS510に進む。
[ベクトル化処理]
次に、図3のステップS129で示されるベクトル化処理について詳説する。
ファイルサーバにオリジナル電子ファイルが存在しない場合は、図4に示すようなイメージデータを、ブロック毎にベクトル化する。
まず、文字ブロックに対しては各文字に対して文字認識処理を行う。
『文字認識』
文字認識処理では、文字単位で切り出された画像に対し、パターンマッチの一手法を用いて文字認識を行い、対応する文字コードを得る。この文字認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする処理である。特徴ベクトルの抽出には、種々の公知手法があり、たとえば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを用いる方法がある。
ブロックセレクション(ステップS121)で抽出された文字領域に対して文字認識を行う場合には、まず該当領域に対して、横書き及び縦書きの判定を行い、各々対応する方向に行を切り出し、その後、文字を切り出して文字画像を得る。横書き及び縦書きの判定は、該当する領域内で、画素値に対する水平及び垂直の射影を取り、水平射影の分散が大きい場合は横書き領域、垂直射影の分散が大きい場合は縦書き領域と判断すればよい。文字列および文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、さらに切り出された行に対する垂直方向の射影から、文字を切り出すことで行う。縦書きの文字領域に対しては、水平と垂直を逆にすればよい。なお、このとき、文字のサイズを検出することが出来る。
『フォント認識』
文字認識の際に用いる、字種数ぶんの辞書特徴ベクトルを、文字形状種すなわちフォント種に対して複数用意し、マッチングの際に文字コードとともにフォント種を出力することで、文字のフォントを認識することが出来る。
『文字のベクトル化』
前記文字認識及びフォント認識よって得られた、文字コード及びフォント情報と、各々あらかじめ用意されたアウトラインデータとを用いて、文字部分の情報をベクトルデータに変換する。なお、元原稿がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記録する。
以上の処理により、文字ブロックに属するイメージ情報を、形状、大きさ、及び色がほぼ忠実なベクトルデータに変換することが出来る。
『文字以外の部分のベクトル化』
ブロックセレクション処理(ステップS121)で、図画、線、及び表に属するとされた領域を対象に、抽出された画素塊の輪郭をベクトルデータに変換する。具体的には、輪郭をなす画素の点列を角と看倣される点で区切って、各区間を部分的な直線あるいは曲線で近似する。角とは曲率が極大となる点である。この曲率が極大となる点は、図11に図示するように、任意点Piに対し左右にk個の離れた2つの点Pi-k、Pi+kの間に弦を引いたときに、この弦と点Piとの距離が極大となる点として求められる。さらに、点Pi-k、Pi+kの間の弦の長さを弧の長さで除した値(弦の長さ/弧の長さ)をRとし、この値Rが閾値以下である点を角とみなすことができる。角によって分割された後の各区間において、直線については、点列に対する最小二乗法などを用いてベクトル化することができる。また、曲線については、3次スプライン関数などを用いてベクトル化することができる。
また、対象が内輪郭を持つ場合、ブロックセレクション処理(ステップS121)で抽出した白画素輪郭の点列を用いて、同様に部分的直線あるいは曲線で前記内輪郭を近似する。
以上のように、輪郭の区分線近似を用いれば、任意の形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記録する。
さらに、図12に示すように、ある区間で外輪郭と、内輪郭あるいは別の外輪郭とが近接している場合、2つの輪郭線をひとまとめにし、太さを持った線として表現することができる。具体的には、ある輪郭の点Piから最短距離となる別の輪郭上の点Qiまで線を引く。そして、これら2点Pi、Qi間の距離PQiが平均的に一定長以下の場合、2点Pi、Qi間の距離PQiの中点を点列として直線あるいは曲線で近似し、その太さを2点Pi、Qi間の距離PQiの平均値とする。線や、線の集合体である表罫線は、前記のような太さを持つ線の集合として効率よくベクトル表現することができる。
なお、先に説明した文字ブロックに対する文字認識処理を用いたベクトル化では、文字認識処理の結果、辞書からの距離が最も近い文字を認識結果として用いるようにした。しかしながら、この距離が所定値以上の場合は、文字認識処理により得られた文字が必ずしも本来の文字に一致せず、形状が類似する文字に誤認識している場合が多い。従って、本実施の形態では、この様な文字に対しては、前記のように、一般的な線画と同じに扱い、その文字をアウトライン化する。このようにすれば、従来の文字認識処理では誤認識を起こす文字に対しても、誤った文字にベクトル化されず、可視的にイメージデータに忠実なアウトライン化によるベクトル化を行える。
また、本実施の形態では、写真と判定されたブロックに対しては、ベクトル化することが出来ない為、イメージデータのままとする。
[図形認識]
前述したように、任意の形状の図形のアウトラインをベクトル化した後、これらベクトル化された区分線(以降、ベクトルデータと記す)を図形オブジェクト毎にグループ化する処理について説明する。
図13は、ベクトルデータを図形オブジェクト毎にグループ化するまでの手順の一例を説明するフローチャートを示している。
まず、各ベクトルデータの始点と終点とを算出する(ステップS700)。
次に、各ベクトルの始点の情報と、終点の情報とを用いて、図形要素を検出する(ステップS701)。ここで、図形要素の検出とは、区分線が構成している閉図形を検出することである。検出に際しては、閉形状を構成する各ベクトルが、その両端にそれぞれ連結するベクトルを有しているという原理を応用する。
次に、図形要素内に存在する他の図形要素、もしくは区分線をグループ化し、一つの図形オブジェクトとする(ステップS702)。また、図形要素内に他の図形要素、及び区分線が存在しない場合には、その図形要素を図形オブジェクトとする。
図14は、図形要素を検出する手順の一例を説明するフローチャートを示している。
先ず、ベクトルデータの両端に連結していない不要なベクトルを除去し、閉図形構成ベクトルを抽出する(ステップS710)。
次に、閉図形構成ベクトルの中から、その閉図形構成ベクトルの始点を開始点とし、時計回りに順にベクトルを追っていく。そして、開始点に戻るまでベクトルを追っていき、通過したベクトルを、全て一つの図形要素を構成する閉図形としてグループ化する(ステップS711)。また、閉図形の内部にある閉図形構成ベクトルも全てグループ化する。さらに、まだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。
最後に、ステップS710で除去された不要なベクトルのうち、ステップS711で閉図形としてグループ化されたベクトルに接合しているもの(閉図形連結ベクトル)を検出し、これらを一つの図形要素としてグループ化する(ステップS712)。
以上によって図形ブロックを個別に再利用可能な図形オブジェクトとして扱うことが可能になる。
[アプリデータへの変換処理]
ところで、一頁分のイメージデータをブロックセレクション処理(ステップS121)し、ベクトル化処理(ステップS129)した結果は、図15に示す様な中間データ形式のファイルとなるが、このようなデータ形式はドキュメント・アナリシス・アウトプット・フォーマット(DAOF)と呼ばれる。
図15は前記DAOFのデータ構造の一例を示す図である。
図15において、791はヘッダ(Header)であり、処理対象の文書画像データに関する情報が保持される。レイアウト記述データ部792では、文書画像データ中のTEXT(文字)、TITLE(タイトル)、CAPTION(キャプション)、LINEART(線画)、PICTURE(自然画)、FRAME(枠)、及びTABLE(表)等の属性毎に認識された各ブロックの属性情報と、その矩形アドレス情報とを保持する。
文字認識記述データ部793では、TEXT(文字)、TITLE(タイトル)、及びCAPTION(キャプション)等のTEXTブロックを文字認識して得られる文字認識結果を保持する。
表記述データ部794では、TABLE(表)ブロックの構造の詳細を格納する。画像記述データ部795は、PICTURE(自然画)やLINEART(線画)等のブロックのイメージデータを文書画像データから切り出して保持する。
このようなDAOFは、中間データとしてのみならず、それ自体がファイル化されて保存される場合もあるが、このファイルの状態では、所謂一般の文書作成アプリケーションで個々のオブジェクトを再利用することは出来ない。そこで、次に、このDAOFからアプリデータに変換する処理(図3のステップS130)について詳説する。
図16は、この処理における全体の手順の概略を説明するフローチャートである。
まず、ステップS8000では、DAOFデータの入力を行う。
次に、ステップS8002では、アプリデータの元となる文書構造ツリーの生成を行う。
次に、ステップS8004では、ステップS8002で生成された文書構造ツリーを元に、DAOF内の実データを流し込み、実際のアプリデータを生成する。
図17は、ステップS8002において文書構造ツリーを生成する手順の一例を説明するフローチャートである。図18は、文書構造ツリーの具体的な内容の一例を説明する図である。
全体制御の基本ルールとして、処理の流れはミクロブロック(単一ブロック)からマクロブロック(ブロックの集合体)へ移行する。以後の説明において、ブロックとは、ミクロブロック、及びマクロブロックの全体を指すこととする。
まず、ステップS8100では、縦方向の関連性を元に、ブロック単位で再グループ化する。スタート直後はミクロブロック単位での判定となる。
ここで、関連性とは、距離が近いことや、ブロック幅(横方向の場合は高さ)がほぼ同一であることなどで定義することができる。
また、距離、幅、及び高さなどの情報は、前記DAOFを参照し、抽出する。
図18(a)は、実際のページ構成、図18(b)は、その文書構造ツリーを示した図である。
ステップS8100の結果、ブロックT3、T4、T5が同じ階層の1つのグループV1として再グループ化される。また、ブロックT6、T7が、同じ階層の1つのグループV2として再グループ化される。
次に、ステップS8102では、縦方向のセパレータの有無をチェックする。セパレータは、例えば物理的にはDAOF中でライン属性を持つオブジェクトである。また論理的な意味としては、アプリ中で明示的にブロックを分割する要素である。ここでセパレータを検出した場合は、同じ階層で再分割する。
次に、ステップS8104では、分割がこれ以上存在し得ないか否かをグループ長を利用して判定する。
ここで、縦方向のグループ長がページ高さとなっている場合には、分割がこれ以上存在し得ないと判定し、文書構造ツリー生成処理を終了する。
図18の場合は、セパレータもなく、グループの高さはページ高さではないので、ステップS8106に進む。
次に、ステップS8106では、横方向の関連性を元に、ブロック単位で再グループ化する。ここもスタート直後の第1回目はミクロブロック単位で判定を行うことになる。
前記関連性、及びその判定情報の定義は、縦方向の場合と同じである。
図18の場合は、ブロックT1、T2が1つのグループH1として再グループ化される。また、ブロックV1、V2が1つのグループH2として再グループ化される。なお、これらのグループH1、H2は、前述したグループV1、V2の1つ上の同じ階層のグループとして生成される。
次に、ステップS8108では、横方向セパレータの有無をチェックする。
図18では、セパレータS1があるので、これをツリーに登録する。このようにして、グループH1、H2及びセパレータS1という階層が生成される。
次に、ステップS8110では、分割がこれ以上存在し得ないか否かをグループ長を利用して判定する。
ここで、横方向のグループ長がページ幅となっている場合には、分割がこれ以上存在し得ないと判定し、文書構造ツリー生成処理を終了する。
一方、そうでない場合は、ステップS8100に戻り、もう一段上の階層で、縦方向の関連性を元にブロックを再グループ化し、ステップS8100〜S8110までの処理を繰り返す。
図18の場合は、分割幅がページ幅になっているので、ここで処理を終了し、最後にページ全体を表す最上位階層のブロックV0が文書構造ツリーに付加される。
以上のようにして文書構造ツリーが完成した後、その文書構造ツリー内の情報を元にステップS8004においてアプリデータの生成を行う。
図18の場合は、具体的には、以下のようになる。
すなわち、グループH1には、横方向に2つのブロックT1、T2があるので、2カラムとし、ブロックT1の内部情報(DAOFを参照、文字認識結果の文章、画像など)を出力した後、カラムを変え、ブロックT2の内部情報を出力し、その後セパレータS1の内部情報を出力する。
グループH2は、横方向に2つのブロックV1、V2があるので、2カラムとし、ブロックV1では、ブロックT3、T4、T5の順にその内部情報を出力し、その後カラムを変え、ブロックV2のブロックT6、T7の内部情報を出力する。
以上によりアプリデータへの変換処理が行える。
[ポインター情報付加処理]
次に、図3のステップS135で示すポインター情報付加処理について説明する。
今、処理すべき文書がファイル検索処理で特定された場合、あるいはベクトル化によってオリジナル電子ファイルが再生できた場合において、その文書を記録処理する場合には、紙への記録の際にポインター情報を付与するようにする。このようにすることで、その文書を用いて再度各種処理を行う場合に、オリジナル電子ファイルのデータを簡単に取得できる。
図19はポインター情報としてのデータ文字列を2次元バーコード(QRコードシンボル:JIS X0510 311)にて符号化して画像中に付加する手順の一例を示すフローチャートである。
2次元バーコード内に組み込むデータは、対応するファイルのアドレス情報を表しており、例えばファイルサーバ名及びファイル名からなるパス情報で構成される。この他、対応するファイルへアクセスするためのURLや、対応するファイルが格納されているデータベース105内で管理されるファイルIDや、MFP100自体に配設されている記憶装置内で管理されるファイルID等で、2次元バーコード内に組み込むデータが構成されるようにしてもよい。
図19において、まず、符号化する種種の異なる文字を識別するために、入力データ列を分析する。また、誤り検出及び誤り訂正レベルを選択し、入力データを収容できる最小型番を選択する(ステップS900)。
次に、入力データ列を所定のビット列に変換し、必要に応じてデータのモード(数字、英数字、8ビットバイト、漢字等)を表す指示子や、終端パターンを付加する。さらに、所定のビット列に変換され、指示子や終端パターンが付加された入力データ列を所定のビットコード語に変換する(ステップS901)。
このとき、誤り訂正を行うため、データコード語列を型番及び誤り訂正レベルに応じて所定のブロック数に分割し、ブロック毎に誤り訂正コード語を生成し、データコード語列の後に付加する(ステップS902)。
このステップS902で得られた各ブロックのデータコード語を接続し、各ブロックの誤り訂正コード語、並びに必要に応じて剰余コード語を後続する(ステップS903)。
次に、位置検出パターン、分離パターン、タイミングパターン及び位置合わせパターン等とともに、コード語モジュールをマトリクスに配置する(ステップS904)。
更に、シンボルの符号化領域に対して最適なマスクパターンを選択して、マスク処理パターンをステップS904で得られたモジュールに変換する(ステップS905)。この変換は、XOR(排他的論理和)演算などにより行う。
最後に、形式情報及び型番情報を生成して、ステップS905で得られたモジュールに付加し、2次元コードシンボルを完成する(ステップS906)。
前記のようにしてアドレス情報が組み込まれた2次元バーコードは、例えば、クライアントPC102からの指示に基づいて、電子ファイルをプリントデータとして記録装置112を用いて、紙上に記録画像として形成する場合に、データ処理装置115内で記録可能なラスターデータに変換された後に、ラスターデータ上の所定の箇所に付加されて画像形成される。ここで、画像形成された紙上のポインター情報が、画像読み取り部110で読み取られることにより、前述したステップS123の処理にてオリジナル電子ファイルの格納場所を検出することができる。したがって、ユーザは、オリジナル電子ファイルの格納場所を容易に知ることができる。
なお、同様の目的で付加情報を付与する手段は、本実施の形態で説明した2次元バーコードの他に、例えば、ポインター情報を直接文字列で文書に付加する方法や、文書内の文字列、特に文字と文字との間隔を変調して情報を埋め込む方法や、文書中の中間調画像中に埋め込む方法等、一般に電子透かしと呼ばれる方法を適用することが出来る。
[ファイルアクセス権に関する変形例]
我々が扱う文書ファイルの中には、第3者による再利用を制限すべき物がある。しかしながら、前述した図8のフローチャートに示す手法ではファイルサーバに蓄積されたファイルは全て自由にアクセスでき、ファイル全体、或いはその一部のオブジェクトを全て再利用することが可能なことを前提に説明した。
これに対し、ここでは、アクセス権の制限が有る電子ファイルをポインター情報から検索する手順の一例を図9のフローチャートを使用して説明する。
ステップS400からステップS403までは、図8と同様の為、説明を省略する。ファイルが特定された場合(ステップS403でYesの場合)、ファイルサーバはそのファイルのアクセス権情報を調べ、アクセス制限がある場合(ステップS404でYes)には、MFP100に対してパスワードの送信を要求する(ステップS405)。
次に、MFP100は、操作者に対してパスワードの入力を促し、入力されたパスワードをファイルサーバに送信する(ステップS406)。
次に、ファイルサーバは、送信されたパスワードを照合し、一致した場合には(ステップS407のYes)、図3で説明した様に、ファイルのアドレスを通知する(ステップS134)。このとき、ユーザの希望する処理が画像ファイルデータの取得であれば、MFP100に対してファイルを転送する(ステップS408)。
なお、アクセス権の制御を行う為の認証の方法は、ステップS405、S406に示したパスワードによる方法に限定されず、例えば、指紋認証等の一般に広く用いられている生体認証や、カードによる認証等、全ての認証手段を用いることが出来る。
また、本変形例では、紙文書に付加的に付与されたポインター情報によりファイルを特定した場合についての例を示したが、図3のステップS126〜S128で示す、所謂ファイル検索処理でファイルを特定した場合においても同様の制御が可能である。
一方、ファイルサーバ内からファイルを特定出来なかった場合(ステップS403でNoの場合)には、図3のステップS129〜S132で説明したベクトル化処理に対しても、制限を加えることが出来る。即ち紙文書を走査して得られたイメージ情報(画像)から文書に対するアクセス権の制限の存在を検出した場合には、認証確認が取れた場合にのみベクトル化処理を行うことで、機密性の高い文書の使用に制限をかけることが出来る。
[ファイル特定に関する変形例]
前述した図3のフローチャートに示す手法で、原稿を走査して得られるイメージ情報(画像)からオリジナル電子データを特定するには、文書中に付与されたポインター情報に従うか、或いは文書中に記載された各オブジェクト情報に従うかのいずれかに依る。しかしながら、元のファイルをより正確に特定するには、前記ポインター情報と前記各オブジェクト情報との両方に従うようにすれば良い。
即ち、原稿中から得られるポインター情報から元のファイルの存在を検出することが出来たとしても、文書中のオブジェクト情報を更に使って、例えば、レイアウト情報に従うレイアウト検索や、文字認識されたキーワードに従う全文検索を、検出されたファイルに対して行う。そして、高い一致が得られた場合に、検出したファイルを、正式にオリジナル電子ファイルであると特定する。これは、例えば、ポインター情報の下位の部分が曖昧であったり、誤り訂正でも訂正できなかったりした場合に、検索の範囲を絞り込んでファイルを特定することが出来る為、確度の高いファイルの特定をより高速に行える。
[ベクトル化に関する変形例]
前述した図3のフローチャートに示す手法では、ファイル検索処理で、オリジナル電子ファイルの特定が出来ない場合に、イメージ画像全体に対してベクトル化処理を行うようにした。しかしながら、例えば、一般の文書の場合、文書中のオブジェクトの全てが新規に作成された物ではなく、一部のオブジェクトは他のファイルから流用して作成される場合がある。
例えば、背景オブジェクト(壁紙)については、文書作成アプリケーションで予め容易されている幾つかのパターンの中から選択して用いるのが通常である。
従って、このようなオブジェクトは、文書ファイルデータベースの中の他の文書ファイル中に存在している可能性が高く、又、再利用可能なベクトルデータとして存在する可能性が高い。
このような背景から、図3のステップS129におけるベクトル化処理の変形例として、以下のような手法が挙げられる。
まず、ブロックセレクション処理で個別のオブジェクトに分割された各オブジェクトに対して、オブジェクト単位でデータベースの中から一致するオブジェクトを一部に含むファイルを検索する。そして、一致したオブジェクトに対して、ファイルからオブジェクト単位で個別にベクトルデータを取得する。
これにより、文書全体をベクトル化する必要が無くなり、より高速にベクトル化することが出来、且つベクトル化による画質劣化を防止することが出来る。
一方、図3のステップS126〜S128におけるファイル検索処理で、オリジナル電子ファイルがPDFとして特定できた場合、PDFファイルが、その文書の文字オブジェクトに対して既に文字認識された文字コードを、付加ファイルとして有している場合がある。
このようなPDFファイルをベクトル化する際には、文字コードファイルを用いることにより、ステップS129以降のベクトル化処理の中の文字認識処理を省くことが出来る。即ち、ベクトル化処理をより高速に処理することが可能になる。
以下、本実施の形態の中心となる背景部分の補間、および共用について説明する。
まず、図20及び図22に示した原稿を読み込んだときの背景を補間する方法について説明である。図20は、1枚目の原稿画像を示す図である。
前述したベクトル化処理により、領域2001は文字と認識される。また、領域2002は円グラフなので図と認識される。
図21は、図20に示した原稿画像から背景オブジェクト以外のオブジェクトを抽出した後に残る背景画像を示す図である。図21において、領域2101は文字が抜けたところ、領域2102は円グラフが抜けたところを示している。オブジェクトが抜けたところは、画素のレベルは白、輝度であればR=255,G=255,B=255になる。
図22は、2枚目の原稿画像を示す図である。図20に示した原稿画像と同様に、ベクトル化処理により、領域2201は写真として認識される。また、領域2202は、文字として認識される。
図23は、図22に示した原稿画像から背景オブジェクト以外のオブジェクトを抽出した後に残る背景画像(背景オブジェクト)を示す図である。図23において、領域2301は写真が抜けたところ、領域2302は文字が抜けたところを示している。
図24に、図21に示した背景画像と、図22に示した背景画像とを重ねた画像を示す。図24では、分かり易くするために、図23の背景で白く抜けた部分(AGE)を黒で示す。
図24において、領域2401は、図21と図23に示した背景画像の白く抜けた部分が重なるところを示す。
そして、本実施の形態では、2枚の画像を用いることにより背景を補間し、図25のように、図21に示した背景画像の白く抜けた部分を、図23に示した背景画像で補間した画像を生成する。背景画像の枚数を多くすることで、図26のように、白い部分がない完全な背景画像を生成することも可能である。
ここで、図27のフローチャートを参照しながら、背景画像を補間する際の手順の一例を、図3に示したベクトル化処理、アプリケーションデータへの変換処理、及び電子ファイル格納処理に適用した場合の動作について説明する。
まず、ステップS2701において、原稿画像を文字、図形、表、写真、及び背景に分離する。
次に、ステップS2702において、原稿画像が複数枚あるかどうかを判断する。この判断の結果、原稿画像が複数枚ないときは、背景画像(背景オブジェクト)を補間できないため、後述するステップS2703〜S2708を省略してステップS2709に進む。
一方、原稿が複数枚のときは、1枚目の背景画像を他の背景画像で補間する。すなわち、ステップS2703において、Nの値をインクリメントする。使用枚数Nの初期値は1である。したがって、最初にこの処理を通ると、Nは2になる。なお、Nの最大値は、補間に使用する背景画像の枚数である。
次に、ステップS2704において、1枚目の背景画像で画素値が白の部分の座標(X,Y)を検出する。この座標の検出は、オブジェクトを抜いた部分の座標を管理しておいて、その管理している座標(X,Y)を使ってもよいし、主走査方向(X方向)の画素と、副走査方向(Y方向)の画素をカウントするカウンタを使って、全画素をサーチして、画素値が白のところを検索してもよい。
次に、ステップS2705において、補間に使おうとしているN枚目の画像の座標(X,Y)の画素が白でないことを確認し、白なら後述するステップS2706を省略してステップS2707に進む。一方、白でなければ背景領域と判断し、ステップS2706に進み、1枚目の背景画像の座標(X,Y)の画素値を、N枚目の背景画像の座標(X,Y)の画素値で置き換える。
次に、ステップS2707において、N枚目の背景画像を用いて画素値の置き換えが終了かどうかを判断し、終了でなければ、ステップS2704に戻り、N枚目の背景画像を用いた画素値の置き換えが終了するまで、ステップS2704〜S2707を繰り返す。一方、N枚目の画像を用いて画素値の置き換えが終了するとステップS2708に進む。
次に、ステップS2708において、全てのページを用いて画素値の置き換えが終了したかどうかを判断し、終了でなければ、ステップS2703に戻り、全てのページを用いて画素値の置き換えが終了するまで、ステップS2703〜S2708を繰り返す。一方、全てのページを用いて画素値の置き換えが終了すると、ステップS2709に進み、画素値が置き換えられた背景画像をアプリデータに変換する。
最後に、ステップS2710において、アプリデータに変換された背景画像を電子ファイルとして格納する。
図28に従来のページ管理の概念と本実施の形態のページ管理の概念との差を示す。従来のページ管理では、文字、写真、図形、表、及び背景というようなデータをページ毎に持っていた。これに対し、本実施の形態のページ管理では、背景部分が共通なので、背景オブジェクト(背景画像)を共通のオブジェクト(背景画像)として管理し、各ページのオブジェクト(画像)を読み出すときに、前記共通のオブジェクト(背景画像)として管理している背景データも併せて読み出すようにした。これにより、管理するデータ量を可及的に低減させながら、各ページのオブジェクト(画像)を確実に読み出すことができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。本実施の形態と、前述した第1の実施の形態では、背景画像(背景オブジェクト)を補間する際の処理が異なるだけであり、他の部分は、同一である。したがって、以下の説明において、第1の実施の形態と同一の部分についての詳細な説明を省略する。
複写機やスキャナにより原稿のスキャンを行う場合には、オートドキュメントフィーダー(以下、ADFと記す)が使用されることが多い。ADFでは、原稿を1枚ずつスキャナのプラテンガラス上に給送し、スキャンを行って画像を取り込む。この際、原稿の給送位置が僅かでもずれると、同じ背景画像を持つ原稿を使ったとしても、図29に示す原稿2904、2905のように入力された画素の位置がずれる可能性が大きくなる。
そこで、本実施の形態では、図30に示すように全ページに存在する背景以外のオブジェクト2902a〜2902cの外周2901を求める。具体的に説明すると、文字オブジェクト2902aの上側の輪郭線と、写真オブジェクト2902bの左側及び下側の輪郭線と、図形オブジェクト2902cの右側の輪郭線とにより形成される長方形の外周2901を求める。外周の求め方は本発明の本質に関係するところではないため、ここでは具体的な説明を行わない。図30に示した例においては、背景以外のオブジェクト2902a〜2902cの外周2901とは、背景以外のオブジェクト2902a〜2902cの全てを囲む最小の四角形の外周である。
そして、ADFにおける原稿給送のための機械の精度により保証されているズレの最大値分だけ外周2901を広げる。そして、その広げた外周2093の分だけ、各ページの原稿画像をソフトウェア処理で消去する。
その後、1枚目の画像と、それ以外の画像とのズレ量(移動量)2906を検出する。ズレの方向と量は、動画の動きベクトルを検出する技術、すなわち公知の全探索法や勾配法を使用する。
ここで、図31のフローチャートを参照しながら、ADFでの原稿のズレを考慮して背景画像を補間する際の手順の一例を、図3に示したベクトル化処理、アプリケーションデータへの変換処理、及び電子ファイル格納処理に適用した場合の動作について説明する。
先ず、ステップS3001において、図27のステップS2701と同様に、原稿画像を複数のオブジェクトに分離する。
次に、ステップS3002において、共通の背景を使用することが指定されているかどうかを、入力装置113を用いたユーザの操作内容に基づいて判断する。この判断の結果、共通の背景を使用することが指定されていない場合には、後述するステップS3003〜S3010を省略してステップS3011に進む。一方、共通の背景を使用することが指定されている場合には、ステップS3003に進み、図30に示すようなオブジェクトの外周2901を検出する。
次に、ステップS3004において、図27のステップS2703と同様に、Nの値をインクリメントする。
次に、ステップS3005において、ステップS3003で検出されたオブジェクトの外周2901を画像から引いて、1枚目とN枚目の背景のズレ(移動量)2906を求める。
次に、ステップS3006において、図27のステップS2704と同様に、1枚目の背景画像で画素値が白の部分の座標(X,Y)を検出する。
次に、ステップS3007において、ステップS3006で検出した座標(X,Y)に、ステップS3005で求められたズレ(移動量)2906を加え、N枚目の画像における座標(X,Y)の画素が白でないことを確認し、白なら後述するステップS3008を省略してステップS3009に進む。一方、白でなければその座標(X,Y)が背景領域と判断し、ステップS3008に進む。そして、1枚目の背景画像におけるズレ(移動量)2906が加えられた座標の画素値を、N枚目の背景画像における座標(X,Y)の画素値に置き換える。
そして、ステップS3009において、図27のステップS2707と同様に、N枚目の画像を用いた画素値の置き換えが終了したと判断され、さらに、ステップS3011において、図27のステップS2708と同様に、全てのページを用いて画素値の置き換えが終了したと判断されると、ステップS3011に進む。このステップS3011では、複数枚の原稿(全てのページ)を使っても補間仕切れなかった1枚目の背景画像の補間処理を行う。
例えば、図32のように、1枚目の背景画像で補間仕切れなかった部分を注目画素3201として、その周囲の画素を参照する。そして、周囲の画素の平均を注目画素3201の画素値とする。この他、背景画素の平均を注目画素3201の画素値としてもよい。このような処理によって、背景画像は全て埋まり、白く抜き出されたままになることを防止することができる。
なお、本実施の形態では、求めた外周2901を、原稿給送のための機械の精度により保証されているズレの最大値分だけ広げ、その広げた外周2093の分だけ各ページの原稿画像を消去してズレ(移動量)2906を求めるようにしたが、原稿の複数ページ(好ましくは全ページ)について外周2901を求め、求めた外周2901の中から最も長い外周により囲まれる領域を求め、求めた領域を各ページの原稿画像から消去してズレ(移動量)2906を求めるようにしてもよい。
また、本実施の形態では、1枚目の背景画像の位置をずらして(座標を変更して)、1枚目の背景画像と、N枚目の背景画像との位置を合わせるようにしたが、N枚目の背景画像の位置を調整して、位置合わせを行うようにしてもよい。また、1枚目の背景画像と、N枚目の背景画像との双方の位置をずらして、位置合わせを行うようにしてもよい。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。本実施の形態と、前述した第1及び第2の実施の形態では、背景画像(背景オブジェクト)を補間する際の処理が異なるだけであり、他の部分は、同一である。したがって、以下の説明において、第1及び第2の実施の形態と同一の部分についての詳細な説明を省略する。
前述した第1及び第2の実施の形態では、背景画像からオブジェクトが抜けたところを、白画像として検索した。これに対し、本実施の形態では、オブジェクトが抜けた位置をビットプレーンで管理するようにする。例えば、画像と同じサイズの1ビットのビットプレーンの属性データを持ち、その属性データを0で初期化しておいてオブジェクトが抜けたところに1を立てることで、オブジェクトが抜けた位置を検出できるようにする。このような状態で、ビットプレーンを参照し、1が立てられている位置において、画素値の置き換えを行う。
例えば、第1の実施の形態で説明した図27のステップS2704〜S2706又は図31のステップS3006〜S3008を、以上のような処理とすることにより、前述した第1及び第2の実施の形態と同様に、背景画像(オブジェクト)を補間することができる。
(本発明の他の実施の形態)
上述した実施の形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施の形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施の形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施の形態の機能が実現される場合にもかかるプログラムコードは本発明の実施の形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
本発明の第1の実施の形態を示し、画像処理システムの構成の一例を示すブロック図である。 本発明の第1の実施の形態を示し、MFPの構成の一例を示すブロック図である。 本発明の第1の実施の形態を示し、画像処理全体の概要を説明するフローチャートである。 本発明の第1の実施の形態を示し、イメージ情報と、前記イメージ情報をブロックセレクション処理して得られるブロックの一例を示す図である。 本発明の第1の実施の形態を示し、ブロックセレクション処理で得られた各ブロックに対するブロック情報の一例を表形式で示す図である。 本発明の第1の実施の形態を示し、原稿画像中に付加された2次元バーコードを復号して、データ文字列を出力する手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、2次元バーコードが付加された原稿の一例を示す図である。 本発明の第1の実施の形態を示し、ポインター情報から電子ファイルを検索する手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、アクセス権の制限が有る電子ファイルをポインター情報から検索する手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、ポインター情報を用いずに電子ファイルを検索する手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、曲率が極大となる点を示す図である。 本発明の第1の実施の形態を示し、2つの輪郭線をひとまとめにし、太さを持った線として表現する様子を示す図である。 本発明の第1の実施の形態を示し、ベクトルデータを図形オブジェクト毎にグループ化するまでの手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、図形要素を検出する手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、ドキュメント・アナリシス・アウトプット・フォーマット(DAOF)データ構造の一例を示す図である。 本発明の第1の実施の形態を示し、DAOFからアプリデータに変換する手順の概略の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、文書構造ツリーを生成する手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、文書構造ツリーの具体的な内容の一例を説明する図である。 本発明の第1の実施の形態を示し、ポインター情報としてのデータ文字列を2次元バーコードにて符号化して画像中に付加する手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、1枚目の原稿画像を示す図である。 本発明の第1の実施の形態を示し、図20に示した原稿画像から背景オブジェクト以外のオブジェクトを抽出した後に残る背景画像を示す図である。 本発明の第1の実施の形態を示し、2枚目の原稿画像を示す図である。 本発明の第1の実施の形態を示し、図22に示した原稿画像から背景オブジェクト以外のオブジェクトを抽出した後に残る背景画像を示す図である。 本発明の第1の実施の形態を示し、図21に示した背景画像と、図22に示した背景画像とを重ねた画像を示す図である。 本発明の第1の実施の形態を示し、図21に示した背景画像の白く抜けた部分を、図23に示した背景画像で補間した画像を示す図である。 本発明の第1の実施の形態を示し、図21に示した背景画像の白く抜けた部分を、複数枚の背景画像で完全に補間した画像を示す図である。 本発明の第1の実施の形態を示し、背景画像を補間する際の手順の一例を説明するフローチャートである。 本発明の第1の実施の形態を示し、従来のページ管理の概念と、本実施の形態のページ管理とを示す図である。 本発明の第2の実施の形態を示し、位置がずれて入力された2枚の原稿画像を示す図である。 本発明の第2の実施の形態を示し、背景以外のオブジェクトの外周が求められた原稿を示す図である。 本発明の第2の実施の形態を示し、原稿のズレを考慮して背景画像を補間する際の手順の一例を説明するフローチャートである。 本発明の第2の実施の形態を示し、背景画像で補間仕切れなかった注目画素と、その周囲の画素を示す図である。
符号の説明
10、20 オフィス
100 MFP
101 マネージメントPC
102 クライアントPC
103 プロキシサーバ
104 インターネット
105 データベース
106 文書管理サーバ
107〜109 LAN
110 画像読み取り部
111 記憶装置
112 記録装置
113 入力装置
114、117 ネットワークI/F
115 データ処理装置
116 表示装置

Claims (18)

  1. 複数ページのイメージ画像のそれぞれを、背景画像を含む複数の画像に分離する分離手段と、
    前記分離手段により分離された、所定ページの背景画像の画素を、他のページの背景画像の画素を用いて補間する補間手段とを有することを特徴とする画像処理装置。
  2. 前記分離手段により分離された背景画像の非背景領域を検索する検索手段を有し、
    前記補間手段は、前記検索手段により検索された、所定ページの非背景領域の画素を、他のページの背景画像の画素に置き換えることを特徴とする請求項1に記載の画像処理装置。
  3. 前記補間手段により補間された背景画像を記憶する記憶手段と、
    前記記憶手段により記憶された背景画像を用いて、複数ページのイメージ画像を形成する画像形成手段とを有することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記分離手段により分離された、所定ページの背景画像の位置と、他のページの背景画像の位置との差分情報を求める差分演算手段を有し、
    前記補間手段は、前記差分演算手段により求められた差分情報に基づいて、前記所定ページの背景画像と、前記他のページの背景画像との位置合わせを行い、位置合わせを行った、所定ページの背景画像の画素を、他のページの背景画像の画素を用いて補間することを特徴とする請求項1〜3の何れか1項に記載の画像処理装置。
  5. 前記分離手段により分離された背景画像以外のオブジェクトの外周を求める外周演算手段と、
    前記外周演算手段により求められた外周の最も大きい領域を求める領域演算手段と、
    前記領域演算手段により求められた領域を、前記分離手段により分離された背景画像からマスクするマスク手段とを有し、
    前記差分演算手段は、前記マスク手段により一部の領域がマスクされた、所定ページの背景画像と、他のページの背景画像とを用いて、前記差分情報を求めることを特徴とする請求項4に記載の画像処理装置。
  6. 前記分離手段により分離された背景画像以外のオブジェクトの外周を求める外周演算手段と、
    前記外周演算手段により求められた外周を、所定の許容値だけ拡大する外周拡大手段と、
    前記外周拡大手段により拡大された外周によって囲まれる領域を、前記分離手段により分離された背景画像からマスクするマスク手段とを有し、
    前記差分演算手段は、前記マスク手段により一部の領域がマスクされた、所定ページの背景画像と、他のページの背景画像とを用いて、前記差分情報を求めることを特徴とする請求項4に記載の画像処理装置。
  7. 前記補間手段により所定の画素値に補間されなかった領域を、その周囲の領域の画素を用いて補間する第2の補間手段を有することを特徴とする請求項1〜6の何れか1項に記載の画像処理装置。
  8. イメージ画像を読み取る読み取り手段を有し、
    前記分離手段は、前記読み取り手段により読み取られた複数ページのイメージ画像のそれぞれを、背景画像を含む複数の画像に分離することを特徴とする請求項1〜7の何れか1項に記載の画像処理装置。
  9. 前記補間手段により補間された背景画像が、複数ページに亘り共通であることを指示するためのユーザインタフェースを有することを特徴とする請求項1〜8の何れか1項に記載の画像処理装置。
  10. 複数ページのイメージ画像のそれぞれを、背景画像を含む複数の画像に分離する分離ステップと、
    前記分離ステップにより分離された、所定ページの背景画像の画素を、他のページの背景画像の画素を用いて補間する補間ステップとを有することを特徴とする画像処理方法。
  11. 前記分離ステップにより分離された背景画像の非背景領域を検索する検索ステップを有し、
    前記補間ステップは、前記検索ステップにより検索された、所定ページの非背景領域の画素を、他のページの背景画像の画素に置き換えることを特徴とする請求項10に記載の画像処理方法。
  12. 前記補間ステップにより補間された背景画像を記憶する記憶ステップと、
    前記記憶ステップにより記憶された背景画像を用いて、複数ページのイメージ画像を形成する画像形成ステップとを有することを特徴とする請求項10又は11に記載の画像処理方法。
  13. 前記分離ステップにより分離された、所定ページの背景画像の位置と、他のページの背景画像の位置との差分情報を求める差分演算ステップを有し、
    前記補間ステップは、前記差分演算ステップにより求められた差分情報に基づいて、前記所定ページの背景画像と、前記他のページの背景画像との位置合わせを行い、位置合わせを行った、所定ページの背景画像の画素を、他のページの背景画像の画素を用いて補間することを特徴とする請求項10〜12の何れか1項に記載の画像処理方法。
  14. 前記分離ステップにより分離された背景画像以外のオブジェクトの外周を求める外周演算ステップと、
    前記外周演算ステップにより求められた外周の最も大きい領域を求める領域演算ステップと、
    前記領域演算ステップにより求められた領域を、前記分離ステップにより分離された背景画像からマスクするマスクステップとを有し、
    前記差分演算ステップは、前記マスクステップにより一部の領域がマスクされた、所定ページの背景画像と、他のページの背景画像とを用いて、前記差分情報を求めることを特徴とする請求項13に記載の画像処理方法。
  15. 前記分離ステップにより分離された背景画像以外のオブジェクトの外周を求める外周演算ステップと、
    前記外周演算ステップにより求められた外周を、所定の許容値だけ拡大する外周拡大ステップと、
    前記外周拡大ステップにより拡大された外周によって囲まれる領域を、前記分離ステップにより分離された背景画像からマスクするマスクステップとを有し、
    前記差分演算ステップは、前記マスクステップにより一部の領域がマスクされた、所定ページの背景画像と、他のページの背景画像とを用いて、前記差分情報を求めることを特徴とする請求項13に記載の画像処理方法。
  16. 前記補間ステップにより所定の画素値に補間されなかった領域を、その周囲の領域の画素を用いて補間する第2の補間ステップを有することを特徴とする請求項10〜15の何れか1項に記載の画像処理方法。
  17. イメージ画像を読み取る読み取りステップを有し、
    前記分離ステップは、前記読み取りステップにより読み取られた複数ページのイメージ画像のそれぞれを、背景画像を含む複数の画像に分離することを特徴とする請求項10〜16の何れか1項に記載の画像処理方法。
  18. 前記請求項10〜17の何れか1項に記載の画像処理方法におけるステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2003403658A 2003-12-02 2003-12-02 画像処理装置、画像処理方法、及びコンピュータプログラム Pending JP2005165674A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003403658A JP2005165674A (ja) 2003-12-02 2003-12-02 画像処理装置、画像処理方法、及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003403658A JP2005165674A (ja) 2003-12-02 2003-12-02 画像処理装置、画像処理方法、及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2005165674A true JP2005165674A (ja) 2005-06-23

Family

ID=34726904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003403658A Pending JP2005165674A (ja) 2003-12-02 2003-12-02 画像処理装置、画像処理方法、及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2005165674A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008311930A (ja) * 2007-06-14 2008-12-25 Canon Inc 画像処理装置及び画像処理方法、コンピュータプログラム及び記憶媒体
JP2017091021A (ja) * 2015-11-04 2017-05-25 コニカミノルタ株式会社 コピーペースト方法、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008311930A (ja) * 2007-06-14 2008-12-25 Canon Inc 画像処理装置及び画像処理方法、コンピュータプログラム及び記憶媒体
JP2017091021A (ja) * 2015-11-04 2017-05-25 コニカミノルタ株式会社 コピーペースト方法、プログラム

Similar Documents

Publication Publication Date Title
JP4266784B2 (ja) 画像処理システム及び画像処理方法
US7681121B2 (en) Image processing apparatus, control method therefor, and program
US7542605B2 (en) Image processing apparatus, control method therefor, and program
JP4251629B2 (ja) 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体
US7640269B2 (en) Image processing system and image processing method
JP4393161B2 (ja) 画像処理装置及び画像処理方法
US7596271B2 (en) Image processing system and image processing method
JP3862694B2 (ja) 画像処理装置及びその制御方法、プログラム
JP4227432B2 (ja) 画像処理方法
JP4338189B2 (ja) 画像処理システム及び画像処理方法
JP2007129557A (ja) 画像処理システム
JP2005149097A (ja) 画像処理システム及び画像処理方法
JP4185858B2 (ja) 画像処理装置及びその制御方法、プログラム
JP2006134042A (ja) 画像処理システム
JP4310176B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2005165674A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP2006146486A (ja) 画像処理装置
JP2005136729A (ja) 画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP2006195886A (ja) 画像処理システム
JP2005157447A (ja) 画像処理システム及び画像処理方法
JP2008084127A (ja) 画像形成装置
JP2005149098A (ja) 画像処理システム及び画像処理装置並びに画像処理方法
JP2006148663A (ja) 画像処理システム
JP2006134231A (ja) 画像処理システム
JP2005174079A (ja) 画像処理装置