JP2006146500A - 画像処理装置及びその制御方法、画像処理システム、並びにプログラム - Google Patents
画像処理装置及びその制御方法、画像処理システム、並びにプログラム Download PDFInfo
- Publication number
- JP2006146500A JP2006146500A JP2004334757A JP2004334757A JP2006146500A JP 2006146500 A JP2006146500 A JP 2006146500A JP 2004334757 A JP2004334757 A JP 2004334757A JP 2004334757 A JP2004334757 A JP 2004334757A JP 2006146500 A JP2006146500 A JP 2006146500A
- Authority
- JP
- Japan
- Prior art keywords
- image
- electronic file
- information
- character
- file
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】 本発明は、原稿から読み取った画像情報を再利用可能な電子ファイルとして扱うことが可能であって、該画像情報における文字のベクトルデータの質を向上させて画質をよくすることができ、画像情報からベクトル化する処理を少なくして処理を高速化することができる画像処理装置を提供する。
【解決手段】 本画像処理装置は、画像読み取り装置110により原稿を走査してイメージ情報を読み取り、得られたイメージ情報に基づいて複数の電子ファイルが格納されている記憶装置111から原稿の元の電子ファイルを特定し、電子ファイルが特定できないときは、イメージ情報をベクトルデータに変換する。
【選択図】 図3
【解決手段】 本画像処理装置は、画像読み取り装置110により原稿を走査してイメージ情報を読み取り、得られたイメージ情報に基づいて複数の電子ファイルが格納されている記憶装置111から原稿の元の電子ファイルを特定し、電子ファイルが特定できないときは、イメージ情報をベクトルデータに変換する。
【選択図】 図3
Description
本発明は、複写機などの画像処理装置で読み取った画像データを、文書作成用アプリケーションソフトウェアで再利用可能なベクトルデータに変換する画像処理装置及びその制御方法、画像処理システム、並びにプログラムに関する。
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。そこで、バインダ等に蓄積された紙文書をスキャナで読み取ってPDF(Portable Document Format)ファイルに変換し、記憶装置にデータベースとして蓄積する文書管理システムが構築されている。
一方、複写機,スキャナなどの機能が拡張された複合機では、紙文書の画像を読み取って画像ファイルとして蓄積する場合、当該画像ファイルを蓄積する記憶装置に、紙文書の表紙或いは記載情報中に付加情報としてポインタ情報を記録しておき、紙文書を複写等により再利用する際に、記録されたポインタ情報に基づいて記憶装置内の画像ファイルの格納場所を検出し、当該画像ファイルを読み出すことで紙文書の保存を削減するシステムが提案されている。
このようなシステムでは、検索の結果、文書ファイルが登録されていない場合、スキャンされた画像がベクトル化されて再利用しやすい形態でサーバに登録されているが、画像内の文字がベクトル化される際に、画像データとOCR(Optical Character Recognition)された結果の文字コードからベクトル化が行われ、フォントデータが作成されていた。
特開平11−296548号公報
しかしながら、上述した従来の文書管理システムでは、紙文書をコンパクトな情報量のファイルとして保存することが一般的に行われているが、この場合、可逆性が失われてしまうため文書の一部のオブジェクトを再利用することはできない。そのため、当該オブジェクトを再利用する場合は、図や表等をアプリケーションソフトウェアを用いて再度作成しなければならないという問題がある。
一方、従来の複合機では、プリントアウトされた紙文書を再スキャンして得られた画像からサーバに登録されている文書ファイルを検索する場合、サーバに登録されている元の文書ファイルに対して直接アクセスできるので、当該文書ファイルを容易に再利用できるが、装置の外部から入力されたファイルやオリジナルファイルの所在が不明な古い紙文書には対応できないという問題がある。
また、画像からフォントデータを作成する場合において、文字の大きさが小さい場合はOCRが正しく行われるが、ベクトル化すると誤差が大きくなり、正しくフォントデータが作成できないおそれがある。
本発明は、上記問題に鑑みて成されたものであり、原稿から読み取った画像情報を再利用可能な電子ファイルとして扱うことが可能であって、該画像情報における文字のベクトルデータの質を向上させて画質をよくすることができ、画像情報からベクトル化する処理を少なくして処理を高速化することができる画像処理装置及びその制御方法、画像処理システム、並びにプログラムを提供することを目的とする。
上記目的を達成するために、請求項1記載の画像処理装置は、原稿を走査してイメージ情報を読み取る画像読取装置により得られたイメージ情報に基づいて前記原稿の電子ファイルを特定する特定手段と、前記特定手段により電子ファイルが特定できないときは、前記イメージ情報をベクトルデータに変換するベクトル化手段とを備えることを特徴とする。
上記目的を達成するために、請求項7記載の画像処理装置の制御方法は、画像読取装置において原稿を走査して読み取られたイメージ情報に基づいて前記原稿の電子ファイルを特定する特定工程と、前記特定工程により電子ファイルが特定できないときは、前記イメージ情報をベクトルデータに変換するベクトル化工程とを備えることを特徴とする。
本発明によれば、原稿を走査して読み取られたイメージ情報に基づいて当該原稿の電子ファイルを特定し、該電子ファイルが特定できないときは、イメージ情報をベクトルデータに変換するので、電子ファイルが存在しない紙文書の原稿であっても、該原稿から読み取ったイメージ情報を再利用可能な電子ファイルとして扱うことが可能となる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本発明の実施の形態に係る画像処理システムの全体構成を示すブロック図である。
図1において、本画像処理システムは、例えば、オフィス10とオフィス20とがインターネット104を介して接続されたネットワーク環境で実現される。オフィス10内に構築されたLAN(Local Area Network)107には、画像処理装置である複合機100(MFP)と、複合機100を制御するマネージメントPC101と、記憶装置を有するクライアントPC102と、文書管理サーバ106と、文書管理サーバ106内に設けられたデータベース105と、プロキシサーバ103とが接続されている。LAN107は、プロキシサーバ103を介してインターネット104に接続されている。
複合機100は、紙文書の画像読み取りを行い、読み取った画像の画像信号に対して画像処理を行う。画像信号は、複合機100とマネージメントPC101との間を接続するLAN109を介してマネージメントPC101に入力される。マネージメントPC101は、不図示のCPUやRAM、ROM、ハードディスク、キーボードやマウス等を備えるパーソナルコンピュータであり、ROMから読み出された本実施の形態の処理を実行するためのプログラムをRAMに展開し、その展開されたプログラムに基づいてCPUが実行する。
オフィス20内に構築されたLAN108には、文書管理サーバ206と、文書管理サーバ206内に設けられたデータベース205と、プロキシサーバ203とが接続されている。
図2は、図1の複合機100の内部構成を示すブロック図である。
図2において、複合機100は、オートドキュメントフィーダ(ADF)を含む画像読み取り装置110と、ハードディスク等で構成され、本実施の形態の処理を実行するためのプログラムを格納した記憶装置111と、用紙に対して画像を形成(記録)する記録装置(印刷装置)112と、キー操作部(不図示)とマネージメントPC101が有するキーボード及びマウスとから成る入力装置113と、ネットワークI/F114と、上記プログラムに基づいて複合機100の処理を実行するデータ処理装置115と、表示装置116と、ネットワークI/F117とを備える。
画像読み取り装置110は、1枚又は束状の原稿を図示しない光源で照射し、原稿反射像をレンズで固体撮像素子上に結像し、固体撮像素子からラスター状の画像読み取り信号を600DPIの密度の画像のデータとして得る。通常の複写機能は、この画像信号をデータ処理部115で記録信号へ画像処理し、複数毎複写の場合は記憶装置111に1ページ分の画像データ(イメージ情報)を一時記憶保持した後、記録装置112に順次出力して用紙上に画像を形成する。
クライアントPC102から出力されるプリントデータは、LAN107からネットワークI/F114を経てデータ処理装置115に入力され、そこで記録可能なラスターデータに変換された後、記録装置112で用紙上に画像として形成される。
複合機100の操作者(ユーザ)は入力装置113から指示を行う。これら一連の動作は、データ処理装置115内の図示しない制御部で制御される。
表示装置116は、操作入力の状態表示及び処理中の画像データの表示を行う。記憶装置111は、マネージメントPC101からも制御される。複合機100とマネージメントPC101とのデータの授受及び制御は、ネットワークI/F117及び直結されたLAN109を介して行われる。
次に、図1の画像処理システムにおける画像処理の概要を図3を参照して説明する。
図3は、図1の画像処理システムにおける画像処理のフローチャートである。
図3において、複合機100では、まず画像読み取り装置110を動作させ、1枚の原稿をラスター状に走査して600DPI−8ビットの原稿画像を入力し、その原稿画像の画像信号にデータ処理部115で前処理を施して原稿1ページ分の画像データとして記憶装置111に保存するイメージ情報入力処理を行う(ステップS120)。
次に、ステップS121では、マネージメントPC101内のCPU(不図示)が、記憶装置111に保存された画像データから、まず文字/線画領域とハーフトーンで表現された画像領域とを分離し、文字/線画領域を更に文字が段落としてまとまっているブロック毎に、線で構成された表及び図形のブロック毎に分離して各々独立したオブジェクトにセグメント化する処理を実行する(ブロックセレクション(BS)処理)。一方、画像領域を矩形に分離して図画や写真等の独立したオブジェクトに分割する(ステップS121)。
次に、複合機100では、入力された原稿画像中に付加情報として記録された2次元バーコード(QRコードシンボル:JIS X0510)或いはURL(Uniform Resource Locator)に該当するオブジェクトを検出し、URLに該当するオブジェクトが検出されたときはOCR(Optical Character Recognition)で文字認識する一方、2次元バーコードが検出されたときは、その2次元バーコードシンボルを解読して(ステップS122)、それらの結果からポインタ情報を検出する(ステップS123)。ポインタ情報には、入力された原稿画像の元の電子ファイルが格納された場所(例えば、アドレス情報等)が含まれる。原稿中にポインタ情報を付加する方法としては、上述した2次元バーコード等の他に、文字と文字との間に情報を埋め込む方法やハーフトーンの画像に埋め込む方法等の直接可視化されない、所謂電子透かしによる方法がある。
次に、2次元バーコードシンボルを解読した結果からポインタ情報が検出されたか否かを判別し(ステップS124)、ポインタ情報が検出されなかった場合は、ステップS126へ進む一方、ポインタ情報が検出された場合は、ポインタ情報に含まれるアドレス情報に基づいて、複数の電子ファイルが格納されている記憶装置111から原稿画像の元の電子ファイルを検索し、該電子ファイルが見つかったか否かを判別する(ステップS125)。電子ファイルは、複合機100内の記憶装置111に格納されているが、クライアントPC102内のハードディスク(記憶装置)、文書管理サーバ106内のデータベース105および文書管理サーバ206内のデータベース205のいずれかに格納されていてもよい。
次に、ステップS125の判別の結果、オリジナルの電子ファイルが見つかった場合は、ステップS133へ進む一方、見つからなかった場合、又は見つかったがPDF(Portable Document Format)やTIFF(Tagged Image File Format)等、オリジナルのデータに対して可逆性がないイメージファイルであった場合は、ステップS126へ進む。
ステップS126では、ファイル検索処理を行う。ここでは、まずステップS122で各文字ブロックに対して行ったOCRの結果から単語を抽出して全文検索を行うか、或いは各オブジェクトの配列と各オブジェクトの属性からレイアウト検索を行って、原稿画像と類似度の高い電子ファイルを検索する。この検索の結果、原稿画像と類似度の高い電子ファイルが複数見つかった場合は、それら複数の電子ファイルをサムネイル表示(候補表示)し、ユーザに所望の電子ファイルを選択させる(ステップS127)。なお、見つかった電子ファイルが1つである場合は、自動的に次のステップS128を飛び越えてステップS133に進む。
次に、ステップS126のファイル検索処理の結果、入力された原稿画像に類似する電子ファイルが見つからなかった場合は(ステップS128でNO)、入力された原稿画像中の各ブロックに対してベクトル化処理を行い、画像データをベクトルデータに変換する(ステップS129)。ここで、原稿画像は、元の電子ファイルに近似するものであって、編集が容易で容量の小さな電子ファイルに変換される。
次に、ベクトル化処理が行われた電子ファイルに対して、更に文書のレイアウト情報を活用し、例えば、RTF(Rich Text Format)等の文書作成用アプリケーションソフトウェア用データ(アプリデータ)へ変換し(ステップS130)、変換された電子ファイルを記憶装置111に格納する(ステップS131)。次に、記憶装置111に格納された電子ファイルを検索できるように、当該電子ファイルの検索用インデックス情報を生成し、検索用インデックスファイルとして記憶装置111に追加格納する(ステップS132)。このように、登録された電子ファイルが記憶装置111に存在しない場合は自動的に入力された画像が登録される。これによってユーザは改めて電子ファイルを登録する手間を省くことができる。
次に、ステップS133では、ステップS131で記憶装置111に格納された電子ファイルのアドレス情報をユーザに通知する。なお、ステップS125でポインタ情報から電子ファイルを特定できた場合やステップS126のファイル検索処理で電子ファイルを特定できた場合、ベクトル化により電子ファイルに変換した場合であっても、ステップS133において、該電子ファイルの格納場所を示すアドレス情報をユーザに通知する。
次に、電子ファイルを用紙に記録するか否かを判別し(ステップS134)、ユーザにより該電子ファイルの用紙への記録指示があったときは、ポインタ情報を画像データとして電子ファイルに付加するポインタ情報付加処理を行う(ステップS135)。上記処理で得られた電子ファイルを用いて、他のオリジナルファイルと同様に検索対象として登録することができる。
上記処理により、画像データを用いる場合に比べて情報量が削減され、蓄積効率が高まり、伝送時間が短縮され、又記録表示する際には高品位なデータとなる。
[ブロックセレクション処理]
次に、図3のステップS121で実行されるブロックセレクション処理の詳細について説明する。本ブロックセレクション処理は、ステップS120で読み取られた原稿1ページ分の画像データ(図4(a)参照)を、図4(b)に示すように、オブジェクト毎の塊(ブロック)として認識し、各ブロックを文字(TEXT)、図画(PICTURE)、写真(PHOTO)、線(LINE)、表(TABLE)等のいずれかの属性に分類し、異なる属性を持つ領域に分割するものである。
次に、図3のステップS121で実行されるブロックセレクション処理の詳細について説明する。本ブロックセレクション処理は、ステップS120で読み取られた原稿1ページ分の画像データ(図4(a)参照)を、図4(b)に示すように、オブジェクト毎の塊(ブロック)として認識し、各ブロックを文字(TEXT)、図画(PICTURE)、写真(PHOTO)、線(LINE)、表(TABLE)等のいずれかの属性に分類し、異なる属性を持つ領域に分割するものである。
まず、入力された画像を白と黒に二値化し、輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出する。面積の大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡を行って白画素の塊を抽出し、更に一定面積以上の白画素の塊の内部から再帰的に黒画素の塊を抽出する。
このようにして得られた黒画素の塊を大きさ及び形状で分類し、更に異なる属性を持つ領域へ分割する。例えば、縦横比が1に近く、大きさが一定の範囲のものを文字相当の画素塊とする。更に、近接する文字が整列よくグループ化可能な塊を文字領域、扁平な画素塊を線領域、一定の大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域、不定形の画素塊が散在している領域を写真領域、それ以外の任意形状の画素塊を図画領域などとする。
上記ブロックセレクション処理で得られた各ブロックに対するブロック情報501の一例を図5に示す。ブロック情報501は、ベクトル化或いは検索のための情報として用いられる。
[ポインタ情報の検出]
次に、図3のステップS122で実行されるOCR/OMR処理の詳細について説明する。本処理は、原稿画像中に付加された2次元バーコードを復号してデータ文字列を出力するものである。
次に、図3のステップS122で実行されるOCR/OMR処理の詳細について説明する。本処理は、原稿画像中に付加された2次元バーコードを復号してデータ文字列を出力するものである。
図6は、図3のステップS122のOCR/OMR処理の詳細を示すフローチャートである。図7は、2次元バーコードが付加された原稿310の一例を示す図である。
図6において、まず、データ処理装置115の処理により、一時格納された原稿の画像データを、上述したブロックセレクション処理の結果から、画像データ中に付加された2次元バーコードシンボルの位置を検出する(ステップS300)。例えば、画像データが図7に示す原稿310である場合は、2次元バーコードシンボル311の位置が検出される。2次元バーコードの位置検出パターンは、シンボルの4隅のうちの3隅に配置される同一の位置検出要素パターンから構成される。
次に、位置検出パターンに隣接する形式情報を復元し、シンボルに適用されている誤り訂正レベル及びマスクパターンを得る(ステップS301)。次に、シンボルの型番を決定した(ステップS302)後、得られたマスクパターンを使って符号化領域ビットパターンをXOR演算することによってマスク処理を解除する(ステップS303)。つづいて、モデルに対応する配置規則に従い、シンボルキャラクタを読み取り、メッセージのデータ及び誤り訂正コード語を復元する(ステップS304)。
次に、復元されたコード語に誤りがあるか否かの検出を行い(ステップS305)、誤りが検出されなかった場合は、ステップS307へ進む一方、誤りが検出された場合は、ステップS306に進み、誤りを訂正する。
ステップS307では、誤り訂正されたデータから、モード指示子及び文字数指示子に基づいてデータコード語をセグメントに分割してデータコード語の復元を行う。つづいて、仕様モードに基づいてデータ文字列に復号し、結果を出力する(ステップS308)。2次元バーコード内に組み込まれるデータは、対応する電子ファイルの格納場所を示すアドレス情報を表している。アドレス情報は、例えば、ファイルサーバ名及びファイル名からなるパス情報で構成されるか、対応する電子ファイルへのURLで構成される。
本実施の形態では、ポインタ情報が2次元バーコードとして付加された原稿について説明したが、直接文字列で付加された場合は所定のルールに従った文字列のブロックを先のブロックセレクション処理で検出し、該ポインタ情報を示す文字列の各文字を文字認識することで、元の電子ファイルのアドレス情報を直接得ることが可能である。
また、図7の原稿310における文字ブロック312,313の文字列に対して隣接する文字と文字との間隔等に視認し難い程度の変調を加え、該文字間隔に情報を埋め込むことでもポインタ情報を付加することができる。また、後述する『文字認識処理』を行う際に各文字の間隔を検出することで、透かし情報からポインタ情報が得られる。また、図7の自然画314の中に電子透かしとしてポインタ情報を付加することも可能である。
[ポインタ情報によるファイル検索]
次に、図3のステップS125,S128におけるポインタ情報による電子ファイルの検索の詳細について説明する。
次に、図3のステップS125,S128におけるポインタ情報による電子ファイルの検索の詳細について説明する。
図8は、図3のステップS125,S128における電子ファイルの検索の詳細を示すフローチャートである。
図8において、まず、ポインタ情報に含まれるアドレス情報に基づいて、電子ファイルが格納されているファイルサーバを特定する(ステップS400)。ここでファイルサーバとは、クライアントPC102、データベース105を内蔵する文書管理サーバ106、及び記憶装置111を内蔵する複合機100自身を指す。アドレス情報は、URLや、サーバ名とファイル名とから成るパス情報である。
次に、ファイルサーバが特定できたときは、当該ファイルサーバに対してアドレス情報を転送する(ステップS401)。ファイルサーバは、複合機100からアドレス情報を受信すると、該当する電子ファイルを検索する(ステップS402)。次に、該当する電子ファイルが見つかったか否かを判別し(ステップS403)、該当する電子ファイルが見つからなかった場合は、複合機100に対してその旨を通知する。
一方、ステップS403の判別の結果、該当する電子ファイルが見つかった場合は、当該電子ファイルのアドレス情報をユーザに通知(図3のステップS133)すると共に、ユーザが希望する処理が電子ファイルの取得であれば、複合機100に対して当該電子ファイルを転送して(ステップS408)、本処理を終了する。
[ファイル検索処理]
次に、図3のステップS126におけるファイル検索処理の詳細について図5、図9、及び図10を参照して説明する。
次に、図3のステップS126におけるファイル検索処理の詳細について図5、図9、及び図10を参照して説明する。
図9及び図10は、図3のステップS126におけるファイル検索処理の詳細を示すフローチャートである。
本ファイル検索処理は、上述したように、入力された原稿の画像データ(入力ファイル)からポインタ情報が検出されなかった場合、ポインタ情報が検出されたが元の電子ファイルが見つからなかった場合、或いは見つかったがTIFF等のイメージファイルであった場合に実行される。
図3のステップS121にて各種オブジェクト毎に分割された入力ファイルには、図5に示すブロック情報500及び入力ファイル情報501が付加される。ブロック情報500には、入力ファイル中の各ブロック(ここではブロック1〜6)の属性、座標(X,Y)、幅(W)、高さ(H)、及びOCR情報に関する内容が含まれる。入力ファイル中の各ブロックには、座標Xの値の小さい順にブロック1〜ブロックN(N:自然数)として名前が付与される。例えば、図5では、X1<X2<X3<X4<X5<X6となっており、ブロック1、ブロック2、ブロック3、ブロック4、ブロック5,ブロック6となる。ブロックの属性は、1:文字(TEXT)、2:線(LINE)、3:写真(PHOTO)、4:図画(PICTURE)、5:表(TABLE)に分類される。入力ファイル情報501のブロック総数は、入力ファイル中の全ブロック数であり、ここでは例えば6となる。
次に、ブロック情報500及び入力ファイル情報501を利用してデータベース105等から入力ファイルに類似する電子ファイルを検索するファイル検索処理について説明する。
データベース105等に格納されている電子ファイルには、上述した入力ファイルと同様に、図5に示すブロック情報及び入力ファイル情報が付加されており、本ファイル検索処理では、これらブロック情報等を利用して入力ファイルとデータベースに格納されている電子ファイルとを順次比較する。
図中のNは入力ファイルのブロック総数、Wは入力ファイルのブロック幅、Hは入力ファイルのブロック高さとし、ΔN,ΔW,ΔHは入力ファイルのブロック総数、ブロック幅、ブロック高さを基準とした誤差である。n,w,hは、データベースに格納されているファイルのブロック総数、ブロック幅、ブロック高さである。
まず、ステップS510にて、後述する各種類似率などの初期値設定を行う。次に、ステップS511にて入力ファイルとデータベース内の電子ファイルとのブロック総数を比較し、N−ΔN<n<N+ΔNに該当するときは(ステップS511でYES)、ステップS512へ進み、更にブロック情報を比較する。
ブロックの情報比較では、ステップS513,S515,S518にて属性類似率、サイズ(幅、高さ)類似率、OCR類似率をそれぞれ算出し、ステップS522にてそれらに基づく総合類似率を算出する。各類似率の算出方法については、公知の技術が用いるので説明を省略する。
ステップS523にて、総合類似率が、予め設定された閾値Thより高いときは、ステップS524にて該当する電子ファイルを類似候補として保存する。候補として保存された電子ファイルは、図3のステップS127にてサムネイル表示される。なお、上記処理では、ステップS514のサイズ比較時に、ブロック情報における幅及び高さを比較したが座標X,Yを比較するようにしてもよい。
[ベクトル化処理]
次に、図3のステップS129におけるベクトル化処理の詳細について詳説する。
次に、図3のステップS129におけるベクトル化処理の詳細について詳説する。
『ベクトル化処理設定のユーザインターフェース』
図11(a)、図11(b)、図11(c)、図12(d)、及び図12(d)は、図3のステップS129のベクトル化処理におけるユーザインターフェースの概略を示す図である。
図11(a)、図11(b)、図11(c)、図12(d)、及び図12(d)は、図3のステップS129のベクトル化処理におけるユーザインターフェースの概略を示す図である。
本ベクトル化処理では、ユーザインターフェース(UI)を用いて各種オブジェクト毎に所定のベクトル化方法を設定することが可能であり、設定された内容に応じてベクトル化が行われる。例えば、文字属性のブロックには、図11(a)に示すように、「ベクトルデータ」、「二値画像」、「多値画像」を排他的に設定することができ、OCR情報を付加するか否かの設定を行うことができる。また、「ベクトルデータ」が選択された場合は、実ベクトルフォントを使用するか否かの設定を行うことができる。
文字属性以外のブロック、例えば、線画属性のブロックや線属性のブロックでは、図11(b)、図11(c)に示すように、「ベクトルデータ」、「画像」、「背景オブジェクトに含める」を排他的に設定することができる。
また、表属性のブロックでは、図12(d)に示すように、「ベクトルデータ」、「二値画像」、「多値画像」、「背景オブジェクトに含める」を排他的に設定することができ、OCR情報を付加するか否かの設定を行うことができる。但し、「背景オブジェクトに含める」が設定された場合は、OCR情報を付加しない設定となる。
写真などの画像属性のブロックでは、図12(e)に示すように、「ベクトルデータ」、「画像」、「背景オブジェクトに含める」を排他的に設定することができる。
上記設定は、システムの電源がOFFされるとハードディスク等の所定の領域に書き込まれ、システムの起動時には当該ハードディスクなどから読み出されて自動的に設定される。
文字属性のブロックをベクトル化する場合、文字領域をどのようにベクトル化処理するかの設定を読み出し、その設定に基づいて処理を行う。例えば、「二値画像」又は「多値画像」が設定され、かつ「OCR情報を付加する」が設定されていない場合、『文字認識処理』を行わず、画像データをベクトル化処理の結果とする。一方、「二値画像」又は「多値画像」が設定され、かつ「OCR情報を付加する」が設定されている場合、『文字認識処理』を行い、認識結果の文字コード、文字の大きさ、位置と画像データをベクトル化処理の結果とする。
また、「ベクトルデータ」及び「OCR情報を付加する」が設定され、「実ベクトルフォントを使用する」が設定されていない場合、後述する『文字認識を行い、実ベクトルフォントへの置き換えを行わない場合のベクトル化処理』を行う。一方、「ベクトルデータ」及び「OCR情報を付加する」が設定され、「実ベクトルフォントを使用する」が設定されている場合、『文字認識を行い、実ベクトルフォントへの置き換えを行う場合のベクトル化処理』を行う。
また、「ベクトルデータ」が設定され、かつ「OCR情報を付加する」が設定されていない場合は、後述する『文字認識を行わない場合の文字のベクトル化処理』により文字をベクトルデータへ変換してベクトル化処理の結果とする。
『文字認識を行い、実ベクトルフォントへの置き換えを行わない場合のベクトル化処理』
図13は、図3のステップS129におけるベクトル化処理の一例を示すフローチャートである。
図13は、図3のステップS129におけるベクトル化処理の一例を示すフローチャートである。
図13において、図3のステップS121で分割されたブロックのうち、先頭(原稿画像上の左上原点)に位置するブロックを取得し(ステップS1300)、当該ブロックが文字(テキスト)ブロックか否かを判別する(ステップS1301)。この判別の結果、当該ブロックが文字ブロックではない場合は、文字以外のブロックのベクトル化処理を行い(ステップS1302)、次のブロックへ処理を移行する(ステップS1310)。
一方、文字ブロックである場合は、ステップS122で既にOCR/OMR処理された当該ブロックのOCR済みデータ(文字認識結果)を全て読み出し(ステップS1303)、当該ブロック上の先頭(左上原点)と後尾の位置情報を有する文字矩形(ブロック)領域情報を取得する(ステップS1304)。
次に、該当する文字矩形領域が存在するか否かを判別し(ステップS1305)、文字矩形が存在する場合は、当該文字矩形領域に対応する文字コードを読み出し(ステップS1306)、該当する文字矩形内の文字コードが既にフォント変換済か否かを判別する(ステップS1307)。この判別の結果、変換済であれば、次の文字矩形領域へ処理を移行する(ステップS1308)一方、そうでない場合、すなわち過去に現われていない文字コードだった場合は、フォント認識/変換処理を行い、フォントデータの登録を行って(ステップS1309)、次の文字矩形領域へ処理を移行する(ステップS1308)。
ステップS1305の判別の結果、文字矩形領域がもはや存在しない場合、すなわち当該文字ブロック内の文字矩形領域全てに対して上記処理が終了した場合は、次のブロックへ処理を移行する(ステップS1310)。
ステップS1311では、移行すべき次のブロックが存在するか否かを判別し、存在する場合は、ステップS1301へ戻り、再び該当するブロックが文字ブロックか否かを判定する。一方、存在しない場合は、全てのブロックの処理が終了したと判断して本処理を終了する。
上記処理により、文字矩形領域毎に必要であった処理の重いフォント認識/変換を最小限に抑え、効率よくベクトル化することができる。
『文字認識を行い、実ベクトルフォントへの置き換えを行う場合の他のベクトル化処理』
次に、実ベクトルフォントから生成されたフォントデータを用いて行うベクトル化処理を図14及び図15を参照して説明する。
次に、実ベクトルフォントから生成されたフォントデータを用いて行うベクトル化処理を図14及び図15を参照して説明する。
図14は、図3のステップS129におけるベクトル化処理の他の例を示すフローチャートである。図15は、登録フォント辞書の一文字分のデータ形式を示す図である。登録フォント辞書は、処理中の文書内における登録でのみ有効な辞書である。
図14において、ステップS1401では、図3のステップS121で分割されたブロックから一つのブロックを取得する処理を行う。ステップS1402では、ブロックが取り出せたか否かを判断し、取り出せた場合はステップS1403へ進む一方、取り出せなかった場合は全てのブロックの処理が終了したことになり、本処理を終了する。
ステップS1403では、取り出されたブロックが文字(テキスト)ブロックであるか否かを判断し、文字ブロックであるときはステップS1403へ進む一方、文字以外のブロックであるときはステップS1416へ進み、図13のステップS1302と同様にして、文字以外のブロックのベクトル化処理を行う。
ステップS1404では、図3のステップS122で既に処理された当該ブロックのOCR済みデータを全て読み出す。ステップS1405では、ステップS1404で読み出されたOCR済みデータから一つの文字矩形を取り出す処理を行う。
ステップS1406では、文字矩形が取り出されたか否かの判断を行い、取り出された場合はステップS1407へ進む一方、取り出されていない場合は、処理中のブロック内の文字が全て処理されたことになり、次のブロックへ処理を進めるためステップS1401へ戻る。
ステップS1407では、取り出された文字矩形に対応する文字コードを取り出す。ステップS1408では、ステップS1407で取り出された文字コードを用い、各実フォント辞書の同一文字コードのマッチング用特徴データを取り出して類似度を計算する。各文字種の類似度で一番良い値の類似度を、その文字のスコアとする。ここではスコアが大きいほどマッチング結果が良いことにする。
実フォント辞書は、ユーザの所有する実際のベクトルフォントを利用し、各文字コードのベクトルデータを一定のサイズにレンダリングして画像データを作成し、その画像データからフォントマッチング用の文字の縦横比や重心位置、輪郭データのヒストグラムデータなどのフォント識別用の特徴を抽出してマッチング用特徴データとすることと、画像データから後述する『文字認識を行わない場合の文字のベクトル化処理』を行うことで予め作成される。実フォント辞書の形式は、図15に示す登録フォント辞書データ1600と同様であるが、同一コードのデータが複数含まれることはない。
ステップS1409では、ステップS1408で計算された文字のスコアと予め決められた定数Xとを比較し、文字のスコアが定数Xより大きいときは、その文字が一番良い類似度を出した文字種であるとしてステップS1410へ進み、実フォント辞書からその文字コードのフォントデータを取り出してフォント変換結果(ベクトルデータ)とし、ステップS1405へ戻って次の文字へ処理を進める。
一方、ステップS1409の判別の結果、文字のスコアがX以下であるときはステップS1411へ進み、登録フォント辞書とのマッチングを行う。この辞書内には、同じ文字コードのデータが複数現れるため、同一文字コードのマッチング用特徴データを取り出して類似度を計算し、一番良い値をその文字のスコアとする。
ステップS1412では、ステップS1411で計算された文字のスコアと予め決められた定数Yとを比較し、文字のスコアが定数Yより大きいときは、その文字が登録フォント辞書内の一番良い類似度の文字と同一であるとしてステップS1413へ進み、登録フォント辞書から該当文字のフォントデータを取り出してフォント変換結果(ベクトルデータ)とし、ステップS1405へ戻って次の文字へ処理を進める。
一方、ステップS1412の判別の結果、文字のスコアがY以下であるときは、ステップS1414へ進み、処理中の文字が新しく現れたフォントの文字であるということになるため、フォント変換処理を行う。次に、ステップS1415では、ステップS1407で取得された文字コードと、ステップS1414で変換されたフォント変換結果と、ステップS1408で取得されたフォントマッチング用の特徴データとを使い、登録フォント辞書への文字の追加又は更新を行って、次の文字へ処理を進める。
上記処理を繰り返すことで画像内の全てのブロックがベクトル化できる。 『文字認識を行わない場合の文字領域のベクトル化処理』
次に、文字認識を行わない場合の文字領域のベクトル化処理について説明する。
次に、文字認識を行わない場合の文字領域のベクトル化処理について説明する。
まず、1枚の原稿の画像読み取り処理の開始時に空の辞書を作成する。任意の文字領域のブロック(文字ブロック)のベクトル化を行う場合、該文字ブロックから一文字取り出して文字の特徴抽出を行う。抽出された文字の特徴と登録フォント辞書とのマッチングを行い、マッチする文字が存在するときは、当該文字を参照するための中間データを作成する。一方、マッチする文字が存在しなかったときは、抽出された文字を辞書に登録し、登録した文字を参照するための中間データを作成する。
作成される中間データは、文字の画像内での位置、大きさ、辞書内の何番目の文字とマッチしているか等を表すもので構成される。中間データの構成を表す一例を図16に示す。
図16において、中間データ1600は、文字矩形の左上のx座標値と、文字矩形の左上のy座標値、文字矩形の幅のピクセル値wと、文字矩形の色の値c、文字矩形の高さのピクセル値hと、辞書内のn番目の文字番号とで構成されている。
一つの文字領域のブロックのベクトル化処理が終了すると、新たに登録された文字のベクトルデータへの変換処理を行い、中間データと文字のベクトルデータとを合成することでその文字ブロックのベクトル化結果とする。原稿画像内の文字の処理が全て終了したときは、辞書を削除する。一つの文字領域のブロックのベクトル化処理を図17に示す。
図17において、ステップS1201では、入力された文字ブロックの画像データから一文字の領域を切り出して一文字抽出を行う。ここで、処理開始時の辞書の登録文字数をNv、処理中の辞書の登録文字数をNで表すことにすると、開始時はNv=Nである。
ステップS1202では、文字が抽出できたか否かを判断し、抽出できていないときはステップS1208へ進む一方、抽出できているときは、ステップS1203へ進み、文字の特徴抽出を行う。文字の特徴とは、縦横比、重心位置、OCRで使われる輪郭データのヒストグラムベクトルなどである。
次に、ステップS1204では、ステップS1203で抽出された文字の特徴と辞書に登録された文字の特徴とのマッチングを行う。ここでは、まず辞書の先頭の文字から縦横比と重心位置とを比較し、大きく異なっている文字は明らかに異なる文字であるため他の情報を使って比較することなく、次の辞書中の文字へ比較対象を変更する。縦横比がほぼ等しい場合は、輪郭データのヒストグラムベクトルの比較を行う。ここでは通常のベクトル間の距離を計算し近ければ近いほどマッチングしていることになる。ここで距離が予め決められた一定の値以下のものを候補文字としてピックアップしておく。このように辞書内の全ての文字とのマッチングを行う。
ステップS1205では、マッチした文字があるか否か判定し、マッチする文字がないときはステップS1207へ進む一方、マッチする文字があるときはステップS1206へ進み、処理中の文字の特徴データを辞書へ登録する。辞書には、図18に示す形式で特徴データが登録され、新たなものは辞書の最後に追加される。ここでは、N=N+1として辞書の文字数を増やす。
ステップS1207では、図16に示した形式のベクトル化の中間データを生成し、ステップS1201へ戻る。
一方、ステップS1208では、文字ブロック内の全ての文字が辞書とのマッチング処理が終了すると、文字のベクトル化を行う。処理の開始時にはNv文字が辞書内にあり、終了時がNとなっているため、(N−Nv)文字分の文字のベクトル化処理が行われる。中間データIDが10となっている場合、その文字は、中間データの10番目の文字から特徴を抽出されたことを意味する。画像からベクトル化を行うときは中間データの10番目の情報から画像中の文字の位置や大きさを取り出すことで、一文字分の文字画像を得る。
ステップS1209では、中間データと辞書に登録されている各文字のベクトルデータとを合成する処理を行い、その結果を文字ブロックのベクトル化結果として出力する。
『文字認識処理』
文字認識処理では、文字単位で切り出された画像に対し、パターンマッチの一手法を用いて認識を行い、対応する文字コードを得る。この認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと予め字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い(類似している)字種を認識結果とするものである。辞書特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法がある。
文字認識処理では、文字単位で切り出された画像に対し、パターンマッチの一手法を用いて認識を行い、対応する文字コードを得る。この認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと予め字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い(類似している)字種を認識結果とするものである。辞書特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法がある。
図3のステップS121のブロックセレクション処理で分割された文字領域に対して文字認識を行う場合は、まず該当領域に対し横書き、縦書きの判定を行い、各々対応する方向に行を切り出し、その後文字を切り出して文字画像を得る。横書き、縦書きの判定は、該当領域内で画素値に対する水平/垂直の射影を取り、水平射影の分散が大きい場合は横書き領域とし、垂直射影の分散が大きい場合は縦書き領域と判断すればよい。
文字列及び文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、更に切り出された行に対する垂直方向の射影から、文字を切り出すことで行う。縦書きの文字領域に対しては、水平と垂直を逆にすればよい。なお、このとき文字のサイズを検出することができる。
『文字領域のベクトル化』
上述した文字認識によって得られた文字コードと予め用意されたアウトラインデータとを用いて、文字部分の情報をベクトルデータに変換する。なお、元の原稿がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータと共に文字の色を記録する。
上述した文字認識によって得られた文字コードと予め用意されたアウトラインデータとを用いて、文字部分の情報をベクトルデータに変換する。なお、元の原稿がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータと共に文字の色を記録する。
以上の処理により、文字ブロックに属するイメージ情報を形状、大きさ、色が略忠実なベクトルデータに変換することができる。
『文字以外の領域のベクトル化』
線画領域、線領域をベクトル化する場合、文字領域と同様に、上述したUIによる設定を読み出し、その設定に基づいて処理を行う。例えば、「ベクトルデータ」が設定された場合、そのブロックを後述する『文字以外の領域のベクトル化』処理を行い、再利用可能なベクトルデータへ変換する。また、「画像」が設定された場合、その領域を一つの画像データとして取り出し、ベクトル化処理の結果とする。「背景オブジェクトに含める」が設定された場合、ベクトル化処理を行わずに背景オブジェクトの一部として扱う。
線画領域、線領域をベクトル化する場合、文字領域と同様に、上述したUIによる設定を読み出し、その設定に基づいて処理を行う。例えば、「ベクトルデータ」が設定された場合、そのブロックを後述する『文字以外の領域のベクトル化』処理を行い、再利用可能なベクトルデータへ変換する。また、「画像」が設定された場合、その領域を一つの画像データとして取り出し、ベクトル化処理の結果とする。「背景オブジェクトに含める」が設定された場合、ベクトル化処理を行わずに背景オブジェクトの一部として扱う。
表領域も同様に設定を読み出し、その設定に基づいて処理を行う。例えば、「ベクトルデータ」が設定された場合、枠線などの文字以外の部分は『文字以外の領域のベクトル化』処理を行い、文字部分に対しては文字のベクトル化と同様の処理を行う。また、「背景オブジェクトに含める」が設定された場合は、ベクトル化処理を行わずに背景オブジェクトの一部として扱う。また、「二値画像」又は「多値画像」が設定され、かつ「OCR情報を付加する」が設定されている場合、『文字認識処理』を行い、認識結果の文字コード、文字の大きさ、位置と画像データをベクトル化結果とする。
図3のステップS121のブロックセレクション処理では、図画或いは線、表とされた領域を対象に、中で抽出された画素塊の輪郭をベクトルデータに変換する。具体的には、輪郭をなす画素の点列を角と看倣される点で区切って、各区間を部分的な直線或いは曲線で近似する。角とは曲率が極大となる点であり、曲率が極大となる点は、図19に示すように、任意点Piに対し左右k個の離れた点Pi−k,Pi+kの間に弦を引いたとき、この弦とPiの距離が極大となる点として求められる。
更に、Pi−k,Pi+k間の弦の長さ/弧の長さをLとし、Lの値が閾値以下である点を角とみなすことができる。角によって分割された後の各区間は、直線は点列に対する最小二乗法など、曲線は3次スプライン関数などを用いてベクトル化することができる。また、対象が内輪郭を持つ場合、ブロックセレクションで抽出した白画素輪郭の点列を用いて、同様に部分的直線或いは曲線で近似する。
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータと共に記録する。
更に、図20に示すように、ある区間で外輪郭と、内輪郭或いは別の外輪郭が近接している場合、2つの輪郭線をひとまとめにし、太さを持った線として表現することができる。具体的には、ある輪郭の各点Piから別輪郭上で最短距離となる点Qiまで線を引き、各距離PQiが平均的に一定長以下の場合、注目区間はPQi中点を点列として直線或いは曲線で近似し、その太さはPQiの平均値とする。線や線の集合体である表罫線は、前記のような太さを持つ線の集合として効率よくベクトル表現することができる。
なお、先に文字ブロックに対する『文字認識処理』を用いたベクトル化を説明したが、該『文字認識処理』の結果、辞書からの距離が最も近い文字を認識結果として用いるが、この距離が所定値以上の場合は、必ずしも本来の文字に一致せず、形状が類似する文字に誤認識している場合が多い。
本発明では、このような文字に対しては、上記したように、一般的な線画と同じに扱い、該文字をアウトライン化する。即ち、従来、『文字認識処理』で誤認識を起こす文字に対しても誤った文字にベクトル化されず、可視的に画像データに忠実なアウトライン化によるベクトル化を行うことができる。また、写真と判定されたブロックに対しては本発明では、ベクトル化できないため、画像データのままとする。
[図形認識]
任意の形状の図形のアウトラインをベクトル化した後、これらベクトル化された区分線を図形オブジェクト毎にグループ化する処理について説明する。
任意の形状の図形のアウトラインをベクトル化した後、これらベクトル化された区分線を図形オブジェクト毎にグループ化する処理について説明する。
図21は、ベクトルデータを図形オブジェクト毎にグループ化する処理を示すフローチャートである。
図21において、まず、各ベクトルデータの始点及び終点を算出する(ステップS700)。次に、算出された各ベクトルデータの始点情報及び終点情報を用いて図形要素を検出する(ステップS701)。図形要素の検出とは、区分線で構成されている閉図形を検出することである。検出時には、閉図形を構成する各ベクトルが、その両端にそれぞれ連結するベクトルを有しているという原理を応用して検出を行う。
次に、検出された図形要素内に存在する他の図形要素もしくは区分線をグループ化し、一つの図形オブジェクトとする(ステップS702)。ここで、図形要素内に他の図形要素や区分線が存在しない場合は図形要素を図形オブジェクトとする。
図22は、図21のステップS701の図形要素検出処理の詳細を示すフローチャートである。
図22において、まず、算出された各ベクトルデータから両端が連結されていない不要なベクトルを除去し、閉図形構成ベクトルを抽出する(ステップS710)。次に、抽出された閉図形構成ベクトルの中から該ベクトルデータの始点を開始点として、時計回りに順にベクトルを追っていき、開始点に戻るまでに通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する(ステップS711)。ここで、閉図形内部にある閉図形構成ベクトルも全てグループ化する。更に、まだグループ化されていないベクトルデータの始点を開始点とし、同様の処理を繰り返す。
最後に、ステップS710で除去された不要なベクトルのうち、ステップS711で閉図形としてグループ化されたベクトルに接合しているものを検出し、一つの図形要素としてグループ化する(ステップS712)。
上記処理によって図形ブロックを再利用可能な個別の図形オブジェクトとして扱うことが可能になる。
[アプリデータへの変換処理]
原稿1ページ分の画像データは、ブロックセレクション処理(図3のステップS121)された後、ベクトル化処理(図3のステップS129)されると、中間データ形式のファイルに変換される。このような中間データ形式のファイルは、図23に示すように、ドキュメント・アナリシス・アウトプット・フォーマット(DAOF)と呼ばれる。
原稿1ページ分の画像データは、ブロックセレクション処理(図3のステップS121)された後、ベクトル化処理(図3のステップS129)されると、中間データ形式のファイルに変換される。このような中間データ形式のファイルは、図23に示すように、ドキュメント・アナリシス・アウトプット・フォーマット(DAOF)と呼ばれる。
図23において、DAOF2300は、Header791と、レイアウト記述データ部792と、文字認識記述データ部793と、表記述データ部794と、画像記述データ部795とで構成されている。
Header791には、処理対象となる原稿の画像データに関する情報が保持される。レイアウト記述データ部792には、画像データ中のTEXT(文字)、TITLE(タイトル)、CAPTION(キャプション)、LINE(線画)、PICTURE(自然画)、FRAME(枠)、TABLE(表)等の属性毎に認識された各ブロックの属性情報とその文字矩形(ブロック)領域情報とが保持される。
文字認識記述データ部793には、TEXT、TITLE、CAPTION等のTEXTブロックを文字認識して得られる文字認識結果が保持される。表記述データ部794には、TABLEブロックの構造の詳細が保持される。画像記述データ部795には、PICTUREやLINEART等の属性を有するブロックの画像データが原稿の画像データから切り出されて保持される。
このようなDAOF2300は、中間データとしてのみならず、それ自体がファイル化されて保存される場合もあるが、このファイルの状態では、一般の文書作成用アプリケーションソフトウェアで個々のオブジェクトを再利用することはできない。そこで、このDAOFからアプリデータに変換する処理を図24に示す。
図24は、図3のステップS130におけるアプリデータへの変換処理を示すフローチャートである。
図24において、ステップS8000では、DAOFデータの入力を行う。次に、ステップS8001では、アプリデータの元となる文書構造ツリー生成処理を行う。ステップS8002では、生成された文書構造ツリーに基づいてDAOF内の実データを流し込み、実際のアプリデータを生成する。
図25は、図24のステップS8001の文書構造ツリー生成処理の詳細を示すフローチャートである。図26(a)は、生成された文書構造ツリーの実際のページ構成を示す図であり、図26(b)は、その文書構造ツリーを示す図である。
本文書構造ツリー生成処理では、全体制御の基本ルールとして、処理の流れがミクロブロック(単一ブロック)単位からマクロブロック(ブロックの集合体)単位へ移行する。以後、ブロックとは、ミクロブロック及びマクロブロック全体を指すものとする。
図25において、ステップS8100では、DAOFデータ中でブロック単位の縦方向の関連性に基づいて再グループ化(グルーピング)する。スタート直後はミクロブロック単位でのグルーピングが行われる。関連性とは、距離が近い、ブロック幅(横方向の場合は高さ)がほぼ同一であることなどで定義することができる。また、距離、幅、及び高さなどの情報は、DAOFを参照して抽出される。
ステップS8100の結果、図26(a)に示すように、ブロックT3,T4,T5が一つのグループV1として、ブロックT6,T7が一つのグループV2として、同じ階層のグループとして生成される。
次に、ステップS8101では、縦方向のセパレータの有無をチェックする。セパレータは、例えば物理的にはDAOF中でライン属性を持つオブジェクトである。また、論理的な意味としては、DAOF中で明示的にブロックを分割する要素である。ここでセパレータが検出された場合は同じ階層で再分割される。
ステップS8102では、縦方向のグルーピング長がページ高さか否かを判別する。即ち、分割がこれ以上存在し得ないか否かをグループ長を利用して判定する。ステップS8102の判別の結果、縦方向のグルーピング長がページ高さとなっている場合は、本処理を終了する一方、縦方向のグルーピング長がページ高さとなっていない場合は、ステップS8103に進む。図26(a)及び図26(b)に示す一例では、セパレータもなく、グループ高さもページ高さではないので、ステップS8103に進む。
ステップS8103では、DAOFデータ中でブロック単位の横方向の関連性に基づいて再グループ化(グルーピング)する。ここでもステップS8100と同様に、スタート直後はミクロブロック単位でのグルーピングが行われる。関連性及びその判定情報の定義は、縦方向の場合と同じである。ステップS8103の結果、図26(a)に示すように、ブロックT1,T2が1つのグループH1となり、ブロックV1,V2が1つのグループH2となって、V1,V2の1つ上の同じ階層のグループとして生成される。
次に、ステップS8104では、横方向のセパレータの有無をチェックする。図26(a)及び図26(b)では、セパレータS1が存在するので、これをツリーに登録し、H1,S1,H2という階層が生成される。
ステップS8105では、分割がこれ以上存在し得ないか否かをグループ長を利用して判定する。ここで、横方向のグルーピング長がページ幅となっている場合は、本処理を終了する。一方、そうでない場合は、ステップS8100に戻り、再びもう一段上の階層で、縦方向の関連性チェックから繰り返す。図26(a)及び図26(b)の場合は、分割幅がページ幅になっているので、ここで終了し、最後にページ全体を表す最上位階層のV0が文書構造ツリーに付加される。文書構造ツリーが完成した後、その情報を元に8006においてアプリデータの生成を行う。
図26(a)及び図26(b)の場合は、具体的には、H1が横方向に2つのブロックT1とT2があるので2カラムとし、T1の内部情報(DAOFを参照、文字認識結果の文章、画像など)を出力した後カラムを変え、T2の内部情報を出力し、その後S1を出力する。
一方、H2は横方向に2つのブロックV1とV2があるので2カラムとして出力し、V1はT3,T4,T5の順にその内部情報を出力し、その後カラムを変え、V2のT6,T7の内部情報を出力する。
以上によりアプリデータへの変換処理を行うことができる。
[ポインタ情報の付加]
次に、図3のステップS133のポインタ情報付加処理について説明する。
次に、図3のステップS133のポインタ情報付加処理について説明する。
図27は、図3のステップS133のポインタ情報付加処理を示すフローチャートである。本処理は、ポインタ情報としてのデータ文字列を2次元バーコードに符号化して画像中に付加するものである。
読み取った原稿から元の電子ファイルが検索処理で特定された場合或いはベクトル化によって電子ファイルが生成された場合において、該電子ファイルの画像を用紙に記録する際にポインタ情報として2次元バーコードを用紙に付加することにより、当該用紙を原稿として再度各種処理を行うときに容易に元の電子ファイルを取得することができる。
2次元バーコード内に組み込まれるデータは、上述したように、対応する電子ファイルのアドレス情報を表している。アドレス情報は、例えば、ファイルサーバ名及びファイル名からなるパス情報で構成されるか、対応する電子ファイルへのURL、又は対応する電子ファイルの格納されているデータベース105内或いは複合機100自体が有する記憶装置111内で管理されるファイルID等で構成される。
図27において、まず、符号化する種々の異なる文字を識別するために入力データ列を分析する(ステップS900)。ここでは、誤り検出及び誤り訂正レベルを検出し、入力データが収容できる最小型番を選択する。
次に、分析した入力データ列を所定のビット列に変換し、必要に応じてデータのモード(数字、英数字、8ビットバイト、漢字等)を表すモード指示子や終端パターンを付加し、更に所定のビットコード語に変換する(ステップS901)(データの符号化)。次に、誤り訂正を行うため、コード語列を型番および誤り訂正レベルに応じて所定のブロック数に分割し、各ブロック毎に誤り訂正コード語を生成し、データコード語列の後に付加する(ステップS902)(誤り訂正符号化)。
つづいて、ステップS902で得られた各ブロックのデータコード語を接続し、各ブロックの誤り訂正コード語、必要に応じて剰余コード語を後続する(ステップS903)(メッセージの構築)。
次に、マトリクスに位置検出パターン、分離パターン、タイミングパターン、及び位置合わせパターン等と共に、マトリクスにおけるコード語モジュールを配置する(ステップS904)。更に、シンボルの符号化領域に対して最適なマスクパターンを選択して、このマスクパターンをステップS904で得られたモジュールにXOR演算により変換する(ステップS905)(マスク処理)。
次に、ステップS905で得られたモジュールに形式情報及び型番情報を付加して、2次元バーコードシンボルを生成して(ステップS906)、本処理を終了する。
アドレス情報が組み込まれた2次元バーコードは、例えば、電子ファイルがクライアントPC102からプリントデータとして記録装置112に送信されて用紙上に記録画像として形成される場合、当該電子ファイルがデータ処理装置115内で記録可能なラスターデータに変換された後に当該ラスターデータ上の所定の個所に付加されて画像形成される。ここで画像形成された用紙を受け取ったユーザは、当該用紙を画像読取り装置110により読み取らせることで、図3のステップS123にてポインタ情報から元電子ファイルの格納場所を検出することができる。
ポインタ情報を付加する方法としては、本実施の形態で説明した2次元バーコードの他に、例えば、ポインタ情報を直接文字列で文書に付加する方法、文書内の文字列、特に文字と文字の間隔を変調して情報を埋め込む方法、文書中の中間調画像中に埋め込む方法等、一般に電子透かしと呼ばれる方法が挙げられる。
[ファイルアクセス権に関する他の実施の形態]
上記実施の形態では、ユーザがファイルサーバに蓄積された電子ファイルに対して自由にアクセスでき、電子ファイル全体或いはその一部のオブジェクトが全て再利用が可能なことを前提に説明したが、他の実施の形態として、ポインタ情報に基づくファイル検索により特定された電子ファイルにアクセス権の制限がある場合のファイルの検索処理を図28を参照して説明する。なお、図28におけるステップS400〜S403は、図6の処理と同様のため、その説明は省略する。
上記実施の形態では、ユーザがファイルサーバに蓄積された電子ファイルに対して自由にアクセスでき、電子ファイル全体或いはその一部のオブジェクトが全て再利用が可能なことを前提に説明したが、他の実施の形態として、ポインタ情報に基づくファイル検索により特定された電子ファイルにアクセス権の制限がある場合のファイルの検索処理を図28を参照して説明する。なお、図28におけるステップS400〜S403は、図6の処理と同様のため、その説明は省略する。
図28は、図3のステップS125,S128における電子ファイルの検索処理の他の例を示すフローチャートである。
図28において、ステップS403の判別の結果、該当する電子ファイルが存在した場合は、ファイルサーバがその電子ファイルのアクセス権情報を調べ(ステップS404)、アクセス制限があるときは(ステップS404でYES)、複合機100に対してパスワードの送信を要求する(ステップS405)。
次に、複合機100は、ユーザに対してパスワードの入力を促し、入力されたパスワードをファイルサーバに転送する(ステップS406)。
ファイルサーバは、転送されたパスワードを照合し、一致した場合には(ステップS407でYES)、図3で説明したように、当該電子ファイルのアドレス情報をユーザに通知(図3のステップS133)すると共に、ユーザが希望する処理が画像ファイルデータの取得であれば、複合機100に対して当該電子ファイルを転送して(ステップS408)、本処理を終了する。
なお、アクセス権の制御を行うための認証の方法としては、ステップS405,S406におけるパスワード認証に限定されず、例えば、指紋認証等の一般に広く用いられている生体認証、カードによる認証等が挙げられる。
また、紙文書に付加されたポインタ情報によりファイルを特定する実施の形態について説明したが、図3のステップS126〜ステップS128に示すように、ファイル検索処理によりファイルを特定した場合においても同様の制御が可能である。
また、紙文書を走査して得られたイメージ情報から該文書に対するアクセス権の制限の存在を検出した場合には、認証確認が取れたときにのみベクトル化処理を行うことで、機密性の高い文書の使用に制限をかけることができる。
[ファイル特定に関する他の実施の形態]
上記実施の形態では、原稿を走査して得られたイメージ情報から該原稿の元の電子ファイルを特定する方法として、図3に示すように、原稿中に付加されたポインタ情報か或いは原稿内の文書中に記載された各オブジェクト情報のいずれかに依り行われているが、より正確に元の電子ファイルを特定するには、それらの両方を併用することが好ましい。
上記実施の形態では、原稿を走査して得られたイメージ情報から該原稿の元の電子ファイルを特定する方法として、図3に示すように、原稿中に付加されたポインタ情報か或いは原稿内の文書中に記載された各オブジェクト情報のいずれかに依り行われているが、より正確に元の電子ファイルを特定するには、それらの両方を併用することが好ましい。
具体的には、原稿中に付加されたポインタ情報に基づいて元の電子ファイルを検出し、該検出された電子ファイルに対して、原稿内の文書中のオブジェクト情報を使って、例えば、レイアウト情報によるレイアウト検索や文字認識されたキーワードによる全文検索を行い、それらの結果が高い確率での一致したときに、該検出したファイルを正式に元の電子ファイルであると特定するようにしてもよい。これは、例えば、ポインタ情報の下位の部分が曖昧であったり、誤り訂正でも訂正できなかった場合に対して、検索の範囲を絞り込んでファイルを特定できるので、より高速で、確立の高いファイル特定を行うことができる。
[ベクトル化の他の実施の形態]
上記実施の形態では、ファイル検索により元の電子ファイルが特定できない場合、原稿画像全体に対してベクトル化処理を行うが、例えば、原稿が一般の文書である場合、文書中のオブジェクト全てが新規に作成されたものでなく、一部のオブジェクトが他のファイルから流用して作成されている場合がある。例えば、背景オブジェクト(壁紙)は、文書作成用アプリケーションソフトウェア上で幾つかのパターンが予め用意されており、その中から選択して用いられるのが通常である。このようなオブジェクトは、文書ファイルが蓄積されたデータベースの中の他の文書ファイル中に存在している可能性が高く、また、再利用可能なベクトルデータとして存在する可能性が高い。
上記実施の形態では、ファイル検索により元の電子ファイルが特定できない場合、原稿画像全体に対してベクトル化処理を行うが、例えば、原稿が一般の文書である場合、文書中のオブジェクト全てが新規に作成されたものでなく、一部のオブジェクトが他のファイルから流用して作成されている場合がある。例えば、背景オブジェクト(壁紙)は、文書作成用アプリケーションソフトウェア上で幾つかのパターンが予め用意されており、その中から選択して用いられるのが通常である。このようなオブジェクトは、文書ファイルが蓄積されたデータベースの中の他の文書ファイル中に存在している可能性が高く、また、再利用可能なベクトルデータとして存在する可能性が高い。
そこで、図3のステップS129のベクトル化処理の他の実施の形態として、ブロックセレクション処理で分割されたオブジェクトに基づいて、データベース中から一致するオブジェクトを一部に含むファイルを検索し、見つかったファイルからオブジェクト単位でベクトルデータを取得するようにしてもよい。これにより、文書全体をベクトル化する必要がなくなり、原稿画像をより高速にベクトル化でき、更に、ベクトル化による画質劣化を防止することができる。
また、図3のステップS126〜S128の検索処理により元の電子ファイルがPDFファイルとして特定できた場合、該PDFファイルがその文書の文字オブジェクトに対して既に文字認識された文字コードを付加ファイルとして有しているものがある。このようなPDFファイルをベクトル化する際には、該文字コードファイルを用いれば、図3のステップS129以降のベクトル化処理の中の『文字認識処理』を省くことができる。これにより、ベクトル化処理をより高速に実行させることが可能になる。
[ベクトル化の更に他の実施の形態]
ファイルサーバに元ファイルが存在しない場合は、ベクトル化の処理が必要になる。このとき、現在のベクトル化処理の設定をユーザに確認させるために図29(a)又は図29(b)に示す画面を表示する。これは、図11(a)〜図12(e)で設定されたもので、ハードディスクなどの記憶装置に保存してある設定である。
ファイルサーバに元ファイルが存在しない場合は、ベクトル化の処理が必要になる。このとき、現在のベクトル化処理の設定をユーザに確認させるために図29(a)又は図29(b)に示す画面を表示する。これは、図11(a)〜図12(e)で設定されたもので、ハードディスクなどの記憶装置に保存してある設定である。
図29(a)に示す画面上で「変換」ボタンが押下されると、ベクトル化の処理が起動する。一方、「設定」ボタンが押下されると、図11(a)〜図12(e)に示す設定画面を表示し、現在の設定を変更することが可能となる。但し、この場合の設定の変更は、その一回のベクトル化において有効であり、設定の情報はハードディスクには書き込まれない。このように、ユーザの目的や処理する文書によってベクトル化の処理内容を変更することが可能になる。
また、図29(b)に示すように、画面上に「デフォルト」ボタンを表示し、変更された設定の内容をハードディスクなどの記憶装置に書き出すことで次回からのベクトル化時に最初に表示される設定を変更できるようになる。このように、更にユーザの目的に応じたベクトル化処理が可能となる。
上記実施の形態によれば、複合機100などでスキャンされた画像データやアプリケーションソフトウェアで作成された文書ファイルを区別なく登録するサーバを備え、プリントアウトされた文書をスキャンした画像情報からサーバに登録されている文書を検索する画像処理システムにおいて、文書検索の結果、サーバに文書が登録されていないときは、スキャンした画像情報をベクトル化して再利用しやすい形態でサーバに登録する。このとき、画像情報から文字をベクトル化してフォント変換を行うのではなく、予め実際のベクトルフォントからフォント識別用の辞書と文字のベクトルデータを生成しておき、フォント識別できた文字に対してベクトルフォントから作成されたベクトルデータを使用する。これにより、文字のベクトルデータの質を向上させて画質を良くすることができる。また、画像情報からベクトル化する処理が減少するため処理を高速化することができる。
本発明の目的は、上記実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
100 複合機(MFP)
101 マネージメントPC
102 クライアントPC
105 データベース
106 文書管理サーバ
110 画像読み取り装置
111 記憶装置
112 記録装置
113 入力装置
115 データ処理装置
101 マネージメントPC
102 クライアントPC
105 データベース
106 文書管理サーバ
110 画像読み取り装置
111 記憶装置
112 記録装置
113 入力装置
115 データ処理装置
Claims (13)
- 原稿を走査してイメージ情報を読み取る画像読取装置により得られたイメージ情報に基づいて前記原稿の電子ファイルを特定する特定手段と、
前記特定手段により電子ファイルが特定できないときは、前記イメージ情報をベクトルデータに変換するベクトル化手段とを備えることを特徴とする画像処理装置。 - 前記特定手段は、前記イメージ情報から前記原稿の電子ファイルの格納場所を示す付加情報を認識する認識手段と、前記認識された付加情報に基づいて前記原稿の電子ファイルを検索するファイル検索手段とを備えることを特徴とする請求項1記載の画像処理装置。
- 前記ファイル検索手段は、前記イメージ情報における特定の情報に基づいて前記原稿の電子ファイルを検索することを特徴とする請求項1又は2記載の画像処理装置。
- 前記ベクトルデータを文書作成用アプリケーションソフトウェアで扱える電子ファイルに変換するデータ変換手段と、前記データ変換手段により変換された電子ファイルに当該電子ファイルを格納する格納場所を付加情報として付加する情報付加手段とを更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
- 前記ベクトル化手段は、前記特定手段により特定された電子ファイルがオブジェクト単位で文書作成用アプリケーションソフトウェアにより扱えないときは、前記イメージ情報をベクトルデータに変換することを特徴とする請求項1記載の画像処理装置。
- 前記ベクトル化手段は、前記イメージ情報をオブジェクト毎に分割する分割手段と、前記分割されたオブジェクトの少なくとも1つに基づいて、前記原稿の電子ファイルに一致するオブジェクトを検索するオブジェクト検索手段とを有し、前記検索された結果を利用してベクトル化することを特徴とする請求項5記載の画像処理装置。
- 画像読取装置において原稿を走査して読み取られたイメージ情報に基づいて前記原稿の電子ファイルを特定する特定工程と、
前記特定工程により電子ファイルが特定できないときは、前記イメージ情報をベクトルデータに変換するベクトル化工程とを備えることを特徴とする画像処理装置の制御方法。 - 前記特定工程は、前記イメージ情報から前記原稿の電子ファイルの格納場所を示す付加情報を認識する認識工程と、前記認識された付加情報に基づいて前記原稿の電子ファイルを検索するファイル検索工程とを備えることを特徴とする請求項7記載の画像処理装置の制御方法。
- 前記ファイル検索工程は、前記イメージ情報における特定の情報に基づいて前記原稿の電子ファイルを検索することを特徴とする請求項8記載の画像処理装置の制御方法。
- 前記ベクトルデータを文書作成用アプリケーションソフトウェアで扱える電子ファイルに変換するデータ変換工程と、前記データ変換工程により変換された電子ファイルに当該電子ファイルを格納する格納場所を付加情報として付加する情報付加工程とを更に備えることを特徴とする請求項7乃至9のいずれか1項に記載の画像処理装置の制御方法。
- 前記ベクトル化工程は、前記特定工程により特定された電子ファイルがオブジェクト単位で文書作成用アプリケーションソフトウェアにより扱えないときは、前記イメージ情報をベクトルデータに変換することを特徴とする請求項7記載の画像処理装置の制御方法。
- 請求項1乃至6のいずれか1項に記載の画像処理装置と、該画像処理装置にネットワークを介して接続され、前記画像処理装置にて読み取られた画像データ及び文書作成用アプリケーションソフトウェアで作成された電子ファイルを格納する情報処理装置とを備えることを特徴とする画像処理システム。
- 請求項7乃至11のいずれか1項に記載の制御方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004334757A JP2006146500A (ja) | 2004-11-18 | 2004-11-18 | 画像処理装置及びその制御方法、画像処理システム、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004334757A JP2006146500A (ja) | 2004-11-18 | 2004-11-18 | 画像処理装置及びその制御方法、画像処理システム、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006146500A true JP2006146500A (ja) | 2006-06-08 |
Family
ID=36626116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004334757A Pending JP2006146500A (ja) | 2004-11-18 | 2004-11-18 | 画像処理装置及びその制御方法、画像処理システム、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006146500A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007336009A (ja) * | 2006-06-12 | 2007-12-27 | Canon Inc | データ処理装置及びその処理方法 |
-
2004
- 2004-11-18 JP JP2004334757A patent/JP2006146500A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007336009A (ja) * | 2006-06-12 | 2007-12-27 | Canon Inc | データ処理装置及びその処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4266784B2 (ja) | 画像処理システム及び画像処理方法 | |
US7391917B2 (en) | Image processing method | |
JP4251629B2 (ja) | 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 | |
US7681121B2 (en) | Image processing apparatus, control method therefor, and program | |
US7542605B2 (en) | Image processing apparatus, control method therefor, and program | |
JP4393161B2 (ja) | 画像処理装置及び画像処理方法 | |
EP1455284A2 (en) | Image processing method and image processing system | |
US20040213458A1 (en) | Image processing method and system | |
JP3862694B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4502385B2 (ja) | 画像処理装置およびその制御方法 | |
JP4208780B2 (ja) | 画像処理システム及び画像処理装置の制御方法並びにプログラム | |
JP2008109394A (ja) | 画像処理装置及びその方法、プログラム | |
JP4338189B2 (ja) | 画像処理システム及び画像処理方法 | |
JP2005149097A (ja) | 画像処理システム及び画像処理方法 | |
JP4185858B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP4310176B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2006134042A (ja) | 画像処理システム | |
JP2005208872A (ja) | 画像処理システム | |
JP2006146500A (ja) | 画像処理装置及びその制御方法、画像処理システム、並びにプログラム | |
JP2005136729A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 | |
JP2006146486A (ja) | 画像処理装置 | |
JP2005149098A (ja) | 画像処理システム及び画像処理装置並びに画像処理方法 | |
JP2006195886A (ja) | 画像処理システム | |
JP2005157447A (ja) | 画像処理システム及び画像処理方法 | |
JP2008084127A (ja) | 画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060419 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070626 |