JP4323856B2 - 画像処理方法 - Google Patents
画像処理方法 Download PDFInfo
- Publication number
- JP4323856B2 JP4323856B2 JP2003121075A JP2003121075A JP4323856B2 JP 4323856 B2 JP4323856 B2 JP 4323856B2 JP 2003121075 A JP2003121075 A JP 2003121075A JP 2003121075 A JP2003121075 A JP 2003121075A JP 4323856 B2 JP4323856 B2 JP 4323856B2
- Authority
- JP
- Japan
- Prior art keywords
- data file
- specific area
- image
- output
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明が属する技術分野】
本発明は画像処理方法に関する。
【0002】
【従来の技術】
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。
【0003】
[第1従来例]
ペーパーレス化の方法には、例えば、バインダ等で蓄積された紙文書をスキャナ等で読み取り、画像のラスターデータまたはその符号化データ(以下これらを総称してイメージデータという。)として、ポータブルドキュメントフォーマット(PDFフォーマット)等のコンパクトなファイルに変換して、画像記憶手段に格納するものがある(例えば特許文献1)。
【0004】
[第2従来例]
ペーパーレス化の方法の第2は、機能が拡張された記録装置、MFP(マルチファンクション複合機)を用い、画像記憶装置に文字や画像のオリジナルデータファイルを格納しておき、オリジナルデータファイルを印刷して紙文書に記録する際に、オリジナルデータファイルが存在する画像記憶装置内のポインタ情報を、紙文書の表紙や印刷情報中に付加情報として記録するものがある(例えば特許文献2)。これによって、ポインタ情報から直ちにオリジナルデータファイルにアクセスし、オリジナルデータファイルの編集、印刷等の再利用が可能であり、紙文書保有量を削減し得る。
【0005】
【特許文献1】
特開2001−358863号公報
【特許文献2】
特開平10−285378号公報
【0006】
【発明が解決しようとする課題】
第1従来例は、スキャナで読み取った画像をコンパクトな情報量のPDFファイルとして保存可能であるが、プリントされた文書から保存されているファイルを検索することができず、保存されている文書を再利用することは難しかった。
【0007】
第2従来例は、オリジナルデータファイルへのポインタ情報を持たない文書ファイルの場合は、オリジナルデータファイルを検索することができない。
【0008】
本発明はこのような従来の問題点を解消すべく創案されたもので、紙文書やイメージデータの形態で保存された情報の再利用を容易にするために、入力された画像をベクトルデータに変換することを目的とする。また、更に、ベクトルデータの変換を効率的に行うことを目的とする。
【0009】
【課題を解決するための手段】
本発明に係る画像処理方法は、画像処理装置の特定領域指定手段が、ユーザからの指示に基づいて、入力画像の特定領域を指定する特定領域指定ステップと、前記画像処理装置のベクトル化手段が、前記特定領域指定ステップで指定された特定領域のイメージをベクトルデータに変換するベクトル化ステップと、前記画像処理装置の検索手段が、前記ベクトル化ステップで変換された前記特定領域のベクトルデータに基づいて、データベースから前記特定領域の情報を含むオリジナルデータファイルを検索する検索ステップと、前記画像処理装置の判定手段が、前記検索ステップで検索されたオリジナルデータファイルが、ラスターデータのファイルであるか、ベクトルデータのファイルであるかを判定する判定ステップと、前記画像処理装置の出力手段が、前記判定ステップで前記オリジナルデータファイルがラスターデータのファイルであると判定した場合は、前記ベクトル化ステップで変換された前記特定領域のベクトルデータを用いて出力用データファイルを出力し、前記判定ステップで前記オリジナルデータファイルがベクトルデータのファイルであると判定した場合は、前記オリジナルデータファイルを用いて出力用データファイルを出力する出力ステップとを備える。
【0010】
【発明の実施の形態】
[第1実施形態]
次に本発明に係る画像処理方法の第1実施形態を図面に基づいて説明する。
【0011】
図1は、本発明に係る画像処理方法の第1実施形態を実施する画像処理システムを示すブロック図、図2は、図1におけるMFPを示すブロック図、図3は、本発明に係る画像処理方法の第1実施形態を示すフローチャ−ト、図4は、図3の画像処理方法により処理される原稿と処理結果の画像を示す図、図5は、ブロックセレクション処理で得られるブロック情報および入力ファイル情報を示す表、図6は、原稿の画像からポインタ情報を抽出する処理を示すフローチャート、図7は、ポインタ情報を含む原稿の画像を示す図、図8は、図3の文字領域のベクトル化の処理を示すフローチャート、図9は、図3のファイル検索の処理を示すフローチャート、図10は、ベクトル化の処理における角抽出の処理を示す図、図11は、ベクトル化の処理における輪郭線まとめの処理を示す図、図12は、図3のベクトル化で生成されたベクトルデータのグループ化の処理を示すフローチャート、図13は、図12の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャート、図14は、ベクトル化処理結果のデータを示すマップ、図15は、図3のアプリデータ変換の処理を示すフローチャート、図16は、図15の文書構造ツリー生成の処理を示すフローチャート、図17は、文書構造ツリー生成処理の対象となる文書を示す図、図18は、図16の処理によって生成される文書構造ツリーを示す図、図19は、本発明に係る画像処理方法の第2実施形態における特定領域指定の処理を示す図、図20は、本発明に係る画像処理方法の第3実施形態における特定領域指定の処理を示す図である。
【0012】
[画像処理システム]
図1において、本発明に係る画像処理方法の第1実施形態を実施する画像処理システムは、オフィス10とオフィス20とをインターネット104で接続した環境において使用される。
【0013】
オフィス10内に構築されたLAN107には、記録装置としてのMFP(マルチファンクション複合機)100、MFP100を制御するマネージメントPC101、クライアントPC(外部記憶手段)102、文書管理サーバ106、文書管理サーバ106のためのデータベース105が接続されている。
【0014】
オフィス20内にはLAN108が構築され、LAN108には文書管理サーバ106、および文書管理サーバ106のためのデータベース105が接続されている。
【0015】
LAN107、108にはプロキシサーバ103が接続され、LAN107、108はプロキシサーバ103を介してインターネットに接続される。
【0016】
MFP100は原稿から読み取った入力画像に対する画像処理の一部を担当し、処理結果としての画像データはLAN109を通じてマネージメントPC101に入力される。マネージメントPC101は、画像記憶手段、画像処理手段、表示手段、入力手段等を含む通常のコンピュータであり、機能的にはこれら構成要素の一部がMFP100と一体化して、画像処理システムの構成要素となっている。なお、本実施形態では、マネージメントPCにおいて、下記に記載の検索処理などが実行されるものとするが、マネージメントPCで行われる処理をMFPで実行するようにしても構わない。
【0017】
さらにMFP100は、LAN109によってマネージメントPC101に直接接続されている。
【0018】
[MFP]
図2において、MFP100は、図示しないオートドキュメントフィーダ(ADF)を有する画像読み取り部110を備え、画像読み取り部110は束状の或いは1枚の原稿の画像を光源で照射し、反射画像をレンズで固体撮像素子上に結像する。固体撮像素子は所定解像度(例えば600dpi)および所定濃度レベル(例えば8ビット)の画像読み取り信号を生成し、画像読み取り信号からラスターデータよりなる画像データが構成される。
【0019】
MFP100は、記憶装置111および記録装置112を有し、通常の複写機能を実行する際には、イメージデータをデータ処理装置115によって画像処理して記録信号に変換する。複数枚複写の場合には、1頁分の記録信号を一旦記憶装置111に記憶保持した後、記録装置112に順次出力して、記録紙上に記録画像を形成する。
【0020】
MFP100は、LAN107との接続のためのネットワークIF114を有し、クライアントPC102が出力したイメージデータを、記録装置112によって記録し得る。クライアントPC102から出力されたイメージデータはLAN107からネットワークIF114を経てデータ処理装置115で記録可能な記録信号に変換された後、MFP100において、記録紙上に記録画像として記録される。
【0021】
MFP100は、MFP100に設けられたキー操作部(入力装置113)、あるいはマネージメントPC101の入力装置(キーボード、ポインティングデバイス等)を通じて操作される。これらの操作のために、データ処理装置115は内部の制御部(図示せず。)によって所定の制御を実行する。
【0022】
MFP100は表示装置116を有し、操作入力の状態と、処理すべきイメージデータとを、表示装置116によって表示し得る。
【0023】
記憶装置111はネットワークIF117を介して、マネージメントPC101から直接制御し得る。LAN109は、MFP100とマネージメントPC101との間のデータの授受、制御信号授受に用いられる。
【0024】
[画像処理方法の全体の流れ]
本発明に係る画像処理方法の第1実施形態は図3の各ステップにより実行される。
【0025】
ステップS301:MFP100の画像読み取り部110を動作させて、1枚の原稿をラスター状に走査し、所定解像度および所定濃度レベルの、画像読み取り信号を取得する。画像読み取り信号はデータ処理部115によって前処理され、入力画像の1頁分のイメージデータとして、記憶装置111に保存される。次にステップS302に進む。
【0026】
ステップS302(ブロックセレクション(領域分割)ステップ):マネージメントPC101によって、記憶装置111に格納されたイメージデータの領域を、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の画像領域その他に分ける。さらに文字・線画領域について、主に文字を含む文字領域と、主に表、図形等を含む線画領域とを分離し、線画領域は表領域と図形領域に分離する。なお、本実施形態では連結画素を検知し、該連結画素の外接矩形領域の形状・サイズ・画素密度等を用いて、属性毎の領域に分割するものとするが、その他の領域分割手法を用いても構わない。
【0027】
文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック(文字領域矩形ブロック)にセグメント化し、線画領域では、表、図形等の個々のオブジェクト(表領域矩形ブロック、線画領域矩形ブロック)ごとに矩形ブロックにセグメント化する。
【0028】
ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化する。
【0029】
これらの矩形ブロックの情報を「領域分割情報」という。
【0030】
ステップS303:ブロックセレクションステップで得られた領域分割情報と入力画像とを合成して、MFP100の表示装置116における操作画面上に表示する。
【0031】
表示装置116に表示される操作画面の一例を図4に示す。
【0032】
操作画面には、左半部に入力画像そのものが画像41として表示され、右半部に矩形ブロックにより領域分割情報を示す画像42が表示される。
【0033】
画像42では、入力画像を簡略表示するとともに、各矩形ブロックを矩形で示す。
【0034】
矩形ブロックの概念の理解を容易にするため、各矩形ブロックには、その属性を示す、TEXT、PICTURE、LINE、TABLEの表示が付されているが、実際には属性情報は表示されず、分割された矩形領域が枠線として表示される。
【0035】
TEXT、PICTURE、LINE、TABLEは文字領域矩形ブロック、図面領域矩形ブロック、線図形領域矩形ブロック、表領域矩形ブロックの属性表示であり、写真領域矩形ブロックを示すPHOTO、その他の属性表示が用いられる。
【0036】
なお、図4では入力画像と領域分割情報を左右に並べて表示しているが、これらを重ねて入力画像上に分割された矩形ブロックを表示する等、多様な表示形態が可能である。
【0037】
ステップS304(特定領域指定ステップ):ステップS303で表示された領域分割情報について、ベクトル化の対象とすべき矩形ブロックを特定領域として指定する。
【0038】
特定領域の指定方法としては、例えば、ユーザがポインティングデバイス(図示せず。)を用いて、画像42中の1個または複数の矩形ブロックを指示することによって行う。なお操作画面116をタッチパネルとし、ユーザが所望の矩形ブロックを指で指示する方法等、種々の方法を採用し得る。
【0039】
ステップS305:ステップS304で指定された特定領域をイメージデータとして切り出し、切り出されたイメージデータに対して以下の処理を行う。
【0040】
ステップS306:特定領域にオリジナルデータファイルのポインタ情報が埋め込まれているか否かの判定を行うため、OCR、OMR処理を行う。
【0041】
原稿画像中に付加情報として記録された2次元バーコード、あるいはURLに該当するオブジェクトを検出し、OCRによってURLを文字認識し、OMRによって2次元バーコードを解読して入力画像のオリジナルデータファイルが格納されている記憶装置内のポインタ情報を検出する。
【0042】
ポインタ情報を付加する手段は2次元バーコードに限定されるものではなく、隣接文字列間隔の変化として情報を埋め込む方法、ハーフトーンの画像に埋め込む方法等、直接視認されない、いわゆる電子透かしによる方法等がある。
【0043】
ステップS307(ポインタ情報抽出ステップ):ステップS306におけるOCR、OMR、もしくは電子透かしの情報から、ポインタ情報を抽出する。
【0044】
ステップS308:ポインタ情報が取得されたか否か判断する。ポインタ情報が取得されたときは、オリジナルデータファイルに直接アクセスすべく、ステップS314に分岐する。
【0045】
オリジナルデータファイルは、電子ファイルの形態で、図1のクライアントPC102のハードディスク内、文書管理サーバ106内のデータベース105内、MFP100に設けられた記憶装置111等に格納されており、ステップS308で得られたアドレス情報(ポインタ情報)に従ってこれらの記憶装置内を検索する。
【0046】
ステップS309(ベクトル化ステップ):ポインタ情報が抽出されなかった場合、ベクトル化処理に移り、ベクトル化処理により各特定領域のイメージデータをベクトルデータに変換する。
【0047】
ベクトル化の方法は、以下(a)〜(f)等が存在する。
(a)特定領域が文字領域のとき、さらにOCRによる文字画像のコード変換を行ったり、あるいは文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。
(b)特定領域が文字領域であり、かつOCRによる認識が不可能であったとき、文字の輪郭を追跡し、輪郭情報(アウトライン)を線分のつながりとして表現する形式に変換する。
(c)特定領域が図形領域のとき、図形オブジェクトの輪郭を追跡し、輪郭情報を線分のつながりとして表現する形式に変換する。
(d)b、cの線分形式のアウトライン情報をベジエ関数などでフィッティングして、関数情報に変換する。
(e)cの図形オブジェクトの輪郭情報から、図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。
(f)特定領域が図形領域であって、特定領域の表形式のオブジェクトの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。
【0048】
以上の方法以外に、イメージデータをコード情報、図形情報、関数情報等のコマンド定義形の情報に置きかえる種々のベクトル化処理が考えられる。
【0049】
ステップS310(ファイル検索ステップ):ポインタ情報が抽出されなかったとき、ステップS304(特定領域指定ステップ)で指定した特定領域の情報を含むデータファイルあるいはそのオリジナルデータファイルを、マネージメントPC101やクライアントPC102上のローカルハードディスクおよび文書管理サーバ106上のデータベース105において検索する。
【0050】
ファイル検索においては、ステップ309(ベクトル化ステップ)で生成されたベクトルデータのうち、文字領域矩形ブロックに対して行ったOCRの結果から重要単語を抽出し、重要単語を含む文書を全文検索により抽出する。
【0051】
あるいは各ベクトルデータから、矩形や特殊図形の有無、表形式データの有無、それぞれの位置関係や配列、といった情報からレイアウト情報を取得し、いわゆるレイアウト検索を行う。
【0052】
ステップS311:検索の結果類似度の高いデータファイルが抽出された場合、抽出結果としての候補データファイルを操作画面116においてサムネイル等で表示する。候補データファイルが複数抽出されたとき等、操作者による選択が必要な場合、操作者は入力操作によって候補データファイルの中からオリジナルデータファイルの特定を行う。なお、候補データファイルが1個で類似度が高い場合、ステップS312をバイパスして自動的にステップS312にジャンプするようにしてもよい。
【0053】
ステップS312:ステップS311で抽出されたオリジナルデータファイルがラスターデータファイルあるいは、BMP、tiffに代表される、ラスターデータを符号化したイメージデータファイルであるかどうかを判定する。抽出されたデータファイルがイメージデータファイルのときは、このデータファイルは、ステップS301で入力されたイメージデータと同様のデータ形態であるので、ステップS313において、ステップS309で得たベクトルデータをそのまま使用してアプリケーションデータ形式に変換する。
【0054】
抽出されたデータファイルが、文字コードやベクトルデータ等、再利用が容易なデータファイルであったときはステップS314において、データファイルを取得する。
【0055】
また、ステップS311でオリジナルデータファイルが選択されなかった場合、ステップS313に進んで、ステップS309で得たベクトルデータを使用してアプリケーションデータ形式に変換する。
【0056】
ステップS313:ステップS309で得たベクトルデータを使用して、アプリケーションデータ形式に変換し、出力する。通常、データ形式は使用するアプリケーションに依存し、目的に応じたファイル形式に変換する必要がある。
【0057】
編集等再利用可能なアプリケーションデータ形式とは、ワードプロセッサ、表計算ソフトウエア等のアプリケーションソフトウエアであり、例えば、マイクロソフト・コーポレーションのワードプロセッサWORD(登録商標)や表計算アプリケーションソフトウエアEXCEL(登録商標)などがある。これらのアプリケーションはそれぞれ使用する目的が異なっており、目的に応じたファイル形式が定義され、その形式でファイル(データ)を保存する。
【0058】
より汎用的なファイル形式としては、マイクロソフト・コーポレーションのRTF(リッチ・テキスト・ファイル)形式、近年使用されるようになったSVG(Scalable Vector Graphics)形式、あるいは単純にテキストデータのみを扱うプレーンテキスト形式、などが知られており、これらは対応するアプリケーションにおいて共通に使用可能である。
【0059】
ステップS314:ステップS307でポインタ情報が取得されたときは、そのポインタ情報に基づいてオリジナルデータファイルを取得する。
【0060】
なお、本実施形態では、ユーザにより指定された特定領域をベクトルデータに変換し、それ以外の領域については入力画像のイメージデータとし、両者を合成して上記のようなアプリケーションデータ形式に変換する。このとき、特定領域の入力画像における位置情報を保存して入力画像全体を再現できるようにする。
【0061】
以上の構成により、ユーザが希望する領域のみがベクトルデータに変換され、編集等再利用が容易になる。また画像領域等、ベクトル化すべきでない領域を誤ってベクトル化する事故を防止できる。
【0062】
次に図3の主要なステップについて詳細に説明する。
【0063】
[ブロックセレクションステップ]
ステップS302(ブロックセレクションステップ)においては、図4右半部の画像42に示すように、入力画像を属性ごとに矩形ブロックに分割する。前述のように、矩形ブロックの属性としては、文字(TEXT)/図面(PICTURE)/線画(Line)/表(Table)/写真(PHOTO)等がある。
【0064】
ブロックセレクションステップにおいては、まず入力画像を白黒に2値化し、黒画素輪郭で囲まれる画素塊を抽出する。
【0065】
さらに、このように抽出された黒画素塊の大きさを評価し、大きさが所定値以上の黒画素塊の内部にある白画素塊に対する輪郭追跡を行う。白画素塊に対する大きさ評価、内部黒画素塊の追跡というように、内部の画素塊が所定値以上である限り、再帰的に内部画素塊の抽出、輪郭追跡を行う。
【0066】
画素塊の大きさは、例えば画素塊の面積によって評価される。
【0067】
このようにして得られた画素塊に外接する矩形ブロックを生成し、矩形ブロックの大きさ、形状に基づき属性を判定する。
【0068】
例えば、縦横比が1に近く、大きさが一定の範囲の矩形ブロックは文字領域矩形ブロックの可能性がある文字相当ブロックとし、近接する文字相当ブロックが規則正しく整列しているときに、これら文字相当ブロックを纏めた新たな矩形ブロックを生成し、新たな矩形ブロックを文字領域矩形ブロックとする。
【0069】
また扁平な画素塊を線画領域矩形ブロック、一定大きさ以上でかつ四角形の白画素塊を整列よく内包する黒画素塊を表領域矩形ブロック、不定形の画素塊が散在している領域を写真領域矩形ブロック、それ以外の不定形の画素塊を写真領域矩形ブロックとする。
【0070】
ブロックセレクションステップでは、このようにして生成された矩形ブロックのそれぞれについて、図5に示す、属性等のブロック情報および入力ファイル情報を生成する。
【0071】
図5において、ブロック情報には各ブロックの属性、位置の座標X、座標Y、幅W、高さH、OCR情報が含まれる。属性は1〜5の数値で与えられ、1は文字領域矩形ブロック、2は図面領域矩形ブロック、3は表領域矩形ブロック、4は線画領域矩形ブロック、5は写真領域矩形ブロックを示す。座標X、座標Yは入力画像における各矩形ブロックの始点のX、Y座標(左上角の座標)である。幅W、高さHは矩形ブロックのX座標方向の幅、Y座標方向の高さである。OCR情報は入力画像におけるポインタ情報の有無を示す。
【0072】
さらに入力ファイル情報として矩形ブロックの個数を示すブロック総数Nが含まれる。
【0073】
これらの矩形ブロックごとのブロック情報は、特定領域でのベクトル化に利用される。またブロック情報によって、特定領域とその他の領域を合成する際の相対位置関係を特定でき、入力画像のレイアウトを損なわずにベクトル化領域とラスターデータ領域を合成することが可能となる。
【0074】
[ポインタ情報抽出ステップ]
ステップS307(ポインタ情報抽出ステップ)は図6の各ステップによって実行される。図7は、ポインタ情報抽出ステップの処理対象となる原稿310を示し、原稿310はデータ処理装置115内のページメモリ(図示せず。)に格納される。原稿310には、文字領域矩形ブロック312、313、図面領域矩形ブロック314、2次元バーコード(QRコード)のシンボル311が記録されている。
【0075】
ステップS701:まず、記憶装置111のページメモリに格納された原稿310の入力画像をCPU(図示せず。)で走査して、ブロックセレクションステップの処理結果から、2次元バーコードシンボル311の位置を検出する。
【0076】
QRコードシンボルは、4隅のうちの3隅に、特定の位置検出要素パターンが設けられ、位置検出要素パターンを検出することにより、QRコードシンボルを検出し得る。
【0077】
ステップS702:次に、位置検出パターンに隣接する形式情報を復元し、シンボルに適用されている誤り訂正レベルおよびマスクパターンを得る。
【0078】
ステップS703:次にシンボルの型番(モデル)を決定する。
【0079】
ステップS704:ステップS702の形式情報から得られたマスクパターンを使って、QRコードのシンボルの符号化領域ビットパターンをXOR演算し、QRコードのシンボルのマスク処理を解除する。
【0080】
ステップS705:ステップS703で得られたモデルに基づいて配置規則を取得し、この配置規則に基づいて、シンボルキャラクタを読取り、メッセージのデータ及び誤り訂正コード語を復元する。
【0081】
ステップS706:復元されたメッセージについて、誤り訂正コード語に基づいて、誤りがあるかどうかの検出を行う。誤りが検出されたときは、訂正のためにステップS707に分岐する。
【0082】
ステップS707:復元されたメッセージを訂正する。
【0083】
ステップS708:誤り訂正されたデータより、モード指示子および文字数指示子に基づいて、データコード語をセグメントに分割し、データコード語を復元する。
【0084】
ステップS709:検出された仕様モードに基づいてデータコード文字を復号し、結果を出力する。
【0085】
2次元バーコードに組み込まれたデータは、オリジナルデータファイルのポインタ情報を表しており、例えばファイルサーバー名およびファイル名からなるパス情報で構成される。あるいは、対応するファイルへのURL等で構成される。
【0086】
本実施形態ではポインタ情報を2次元バーコードの形で付与した原稿310について説明したが、種々のポインタ情報の記録形態を採用し得る。
【0087】
例えば、所定のルールに従った文字列によってポインタ情報を直接文字列で記録し、ブロックセレクションステップによって文字列の矩形ブロックを検出してもよい。検出された文字列を認識することによりポインタ情報を取得し得る。
【0088】
あるいは文字領域矩形ブロック312や文字領域矩形ブロック313において、隣接文字列の間隔に視認し難い程度の変調を加え、該文字列間隔変調の情報によってポインタ情報を表現し得る。このような透かし情報は、後述する文字認識処理を行う際に各文字の間隔を検出することによって検出でき、ポインタ情報を取得し得る。また図面領域矩形ブロック314の中に電子透かしとしてポインタ情報を付加する事も可能である。
【0089】
以上のようなポインタ情報抽出に関しても、本実施形態のようにベクトル化すべき特定領域を指定することにより、迅速かつ確実にポインタ情報を取得し得る。すなわち、バーコード、電子透かし等が埋め込まれている矩形ブロックをユーザが指定することで、効率のよいポインタ情報抽出を行うことが可能である。
【0090】
逆に特定領域の指定を行わない場合は、入力画像全体からバーコード、電子透かし等の位置を探索して抽出する処理を行わなければならず、全体のパフォーマンスを著しく損なう。
【0091】
[ポインタ情報による電子ファイル検索]
図3のステップS314における、ポインタ情報による電子ファイル検索は以下のように実行される。
【0092】
まずポインタ情報に含まれるアドレスに基づいて、ファイルサーバを特定し、ファイルサーバに対して、アドレスを転送する。ファイルサーバには、クライアントPC102、データベース105を内蔵する文書管理サーバ106、記憶装置111を内蔵するMFP100の全てが含まれる。アドレスは、URLや、サーバ名およびファイル名よりなるパス情報である。
【0093】
アドレスを受信したファイルサーバは、このアドレスに基づいてオリジナルデータファイルを検索する。このファイル検索によってオリジナルデータファイルを抽出できたときは、ファイルのアドレスをMFP100に通知し、ユーザがオリジナルデータファイルの取得を希望するときはオリジナルデータファイルをMFP100に転送する。一方、ファイルサーバにおいてファイルを抽出できなかったときはその旨をMFP100に通知する。
【0094】
[ベクトル化ステップ]
ステップS310(ベクトル化ステップ)は図8の各ステップによって実行される。ベクトル化ステップは、ステップS309において特定領域中にポインタ情報が抽出されなかった場合に、当該特定領域内のイメージデータをベクトル化する処理である。
【0095】
ステップS901:特定領域が文字領域矩形ブロックであるか否か判断し、文字領域矩形ブロックであればステップS902以下のステップに進み、パターンマッチングの一手法を用いて認識を行い、対応する文字コードを得る。特定領域が文字領域矩形ブロックでないときは、ステップS912に移行する。
【0096】
ステップS902:特定領域に対し横書き、縦書きの判定(組み方向判定)をおこなうために、特定領域内で画素値に対する水平・垂直の射影を取る。
【0097】
ステップS903:ステップS902の射影の分散を評価する。水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判断する。
【0098】
ステップS904:ステップS903の評価結果に基づき、組み方向を判定し、行の切り出しを行い、その後文字を切り出して文字画像を得る。
【0099】
文字列および文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、切り出された行に対する垂直方向の射影から、文字を切り出す。縦書きの文字領域に対しては、水平と垂直について逆の処理を行う。行、文字切り出しに際して、文字のサイズも検出し得る。
【0100】
ステップS905:ステップS904で切り出された各文字について、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルを生成する。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。
【0101】
ステップS906:ステップS905で得られた観測特徴ベクトルと、あらかじめ字種ごとに求められている辞書特徴ベクトルとを比較し、観測特徴ベクトルと辞書特徴ベクトルとの距離を算出する。
【0102】
ステップS907:ステップS906で算出された距離を評価し、最も距離の近い字種を認識結果とする。
【0103】
ステップS908:ステップS907における距離評価において、最短距離が所定値よりも大きいか否か判断する。距離が所定値以上の場合は、辞書特徴ベクトルにおいて、形状が類似する他の文字に誤認識している可能性が高い。そこで距離が所定値以上の場合は、ステップS907の認識結果を採用せず、ステップS911の処置に進む。距離が所定値より小のときは、ステップS907の認識結果を採用し、ステップ909に進む。
【0104】
ステップS909(フォント認識ステップ):文字認識の際に用いる、字種数ぶんの辞書特徴ベクトルを、文字形状種すなわちフォント種に対して複数用意しておき、パターンマッチングの際に、文字コードとともにフォント種を出力することで、文字フォントを認識し得る。
【0105】
ステップS910:文字認識およびフォント認識よって得られた文字コードおよびフォント情報を用いて、各々あらかじめ用意されたアウトラインデータを用いて、各文字をベクトルデータに変換する。なお、入力画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記録する。
【0106】
ステップS911:文字を一般的な線画と同様に扱い、該文字をアウトライン化する。すなわち誤認識を起こす可能性の高い文字については、可視的にイメージデータに忠実なアウトラインのベクトルデータを生成する。
【0107】
ステップS912:特定領域が文字領域矩形ブロックでないときは、画像の輪郭に基づいてベクトル化の処理を実行する。
【0108】
以上の処理により、文字領域矩形ブロックに属するイメージ情報をほぼ形状、大きさ、色が忠実なベクトルデータに変換出来る。
【0109】
[文字領域以外の領域のベクトル化]
ステップS912の文字領域矩形ブロック以外の領域、すなわち図面領域矩形ブロック、線画領域矩形ブロック、表領域矩形ブロック等と判断されたときは、特定領域内で抽出された黒画素塊の輪郭をベクトルデータに変換する。
【0110】
文字領域以外の領域のベクトル化においては、まず線画等を直線および/または曲線の組み合わせとして表現するために、曲線を複数の区間(画素列)に区切る「角」を検出する。角とは曲率が極大となる点であり、図10の曲線上の画素Piが角か否かの判断は以下のように行う。
【0111】
すなわち、Piを起点とし、曲線に沿ってPiから両方向に所定画素(k個とする。)ずつ離れた画素Pi−k、Pi+kを線分Lで結ぶ。画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、曲線の画素Pi−k、Pi+k間の弧の長さをAとするとき、d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piを角と判断する。
【0112】
角によって分割された画素列を、直線あるいは曲線で近似する。直線への近似は最小二乗法等により実行し、曲線への近似は3次スプライン関数などを用いる。画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。
【0113】
さらにベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判断し、内輪郭が存在するときはその輪郭をベクトル化し、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化する。
【0114】
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記録する。
【0115】
図11に示すように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が近接している場合、2個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。例えば、輪郭Pj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PiQiを算出し、PQiのばらつきがわずかである場合には、注目区間を画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し得る。近似直線、近似曲線の太さは、例えば距離PiQiの平均値とする。
【0116】
線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル表現することができる。
【0117】
輪郭まとめの処理の後、全体の処理を終了する。
【0118】
なお写真領域矩形ブロックについては、ベクトル化せず、イメージデータのままとする。
【0119】
[図形認識]
以上の線図形等のアウトラインをベクトル化した後、ベクトル化された区分線を図形オブジェクトごとにグループ化する。
【0120】
図12の各ステップは、ベクトルデータを図形オブジェクトごとにグループ化する処理を示す。
【0121】
ステップS1401:まず各ベクトルデータの始点、終点を算出する。
【0122】
ステップS1402(図形要素検出):ステップS1401で求められた始点、終点情報を用いて、図形要素を検出する。図形要素とは、区分線が構成している閉図形であり、検出に際しては、始点、終端となっている共通の角の画素においてベクトルを連結する。すなわち、閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用する。
【0123】
ステップS1403:次に図形要素内に存在する他の図形要素、もしくは区分線をグループ化し、一つの図形オブジェクトとする。また、図形要素内に他の図形要素、区分線が存在しない場合は図形要素を図形オブジェクトとする。
【0124】
[図形要素の検出]
ステップS1402(図形要素検出)の処理は、図13の各ステップによって実行される。
【0125】
ステップS1501:まず、ベクトルデータより両端に連結していない不要なベクトルを除去し、閉図形を構成するベクトルを抽出する。
【0126】
ステップS1502:次に閉図形を構成するベクトルについて、いずれかのベクトルの端点(始点または終点)を開始点とし、一定方向、例えば時計回りに、順にベクトルを探索する。すなわち、他端点において他のベクトルの端点を探索し、所定距離内の最近接端点を連結ベクトルの端点とする。閉図形を構成するベクトルを1まわりして開始点に戻ったとき、通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する。また、閉図形内部にある閉図形構成ベクトルも全てグループ化する。さらにまだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。
【0127】
ステップS1503:最後に、ステップS1501で除去された不要ベクトルのうち、ステップS1502で閉図形としてグループ化されたベクトルに端点が近接しているベクトルを検出し、一つの図形要素としてグループ化する。
【0128】
以上の処理によって図形ブロックを、再利用可能な個別の図形オブジェクトとして扱う事が可能になる。
【0129】
以上のベクトル化処理は、通常、入力画像全体に対して行う必要性は低く、ユーザが指定した特定領域のみをベクトル化だけに対して行えば充分な場合が多い。
【0130】
ユーザが指定する特定領域のみに対してベクトル化処理を行うことにより、処理のパフォーマンスを向上し、かつユーザが所望する部分のみを効率よくベクトル化して、次のステップの検索処理に利用したり、もしくはイメージ情報のうちの必要な部分だけの再編集や再利用をする効果を提供することが可能になる。
【0131】
[ファイル検索処理]
次に、図3のステップS311で示すファイル検索処理の詳細について図5、図9を参照しつつ説明する。
【0132】
ここでは、ステップS302の結果、抽出された各矩形ブロック及び入力画像データが、図5に示すブロック情報および入力ファイル情報を備えるものとし、かつ特定領域内のベクトル化情報を保持しているものとする。
【0133】
図5では、ブロック1〜ブロック6の6個の矩形ブロックについて、属性、座標、幅、高さ、OCR情報有無がブロック情報として記録され、属性は、文字、画像、表、線画、写真その他に分類されている。また入力ファイル情報のブロック総数は、入力画像中の全ブロック数であり、図6では、ブロック総数Nは6である。
【0134】
ブロック情報では、例えば、矩形ブロックは座標Xの小さい順に配列され、座標Xが同一の矩形ブロックは座標Yの小さい順に配列される。これらの情報を使用して、データベース内から、入力画像に類似したファイルのレイアウト検索の処理は、図9の各ステップによって実行される。ここで、データベースファイルは、図6と同様の情報を備えることを前提とする。フローチャートの流れは、ブロック情報および入力ファイル情報と、データベース中のファイルとを順次比較するものである。
【0135】
ステップS1101:後述する類似率などの初期化を行う。
【0136】
ステップS1102:次に、入力画像におけるブロック総数Nとの差が所定値以内、すなわちデータベース内のデータファイルにおいて、N−ΔN<n<N+ΔNなるn個のブロック総数を持つデータファイルであるか判断する。条件に合致するデータファイルが検索抽出されたときにはステップS1103に移行して当該検索抽出されたデータファイル内の矩形ブロックの情報と入力画像内のブロックとを順次比較していく。一方、ブロック総数の差が大きいときはステップS1116にジャンプする。矩形ブロックの情報比較においては、ステップS1103〜S1109によって、属性類似率、サイズ類似率、OCR類似率をそれぞれ算出し、これら類似率に基づいてステップS1111において、該比較対象のデータファイルの総合類似率を算出する。
【0137】
ステップS1103:入力画像のブロック属性と、ステップS1102で抽出されたデータベースファイルのブロック属性を比較する。ブロック属性が一致したときはステップS1104に進み、ブロック属性が一致しなかったときは、ステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0138】
ステップS1104:ステップS1103で比較された、ブロック情報の属性について属性類似率を更新する。属性類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、{(属性一致ブロック数)/(総ブロック数)}に基づいて算出するものとする。
【0139】
ステップS1105:入力画像のブロック情報のサイズ(幅W、高さH)と、ステップS1102で抽出されたデータベースファイルのサイズ(幅w、高さh)を比較する。サイズの差が所定範囲、すなわちW−ΔW<w<W+ΔWでありかつH−ΔH<h<H+ΔHであるか否か判断する。所定範囲内のときはステップS1106に進み、所定範囲内でなかったときはステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0140】
ステップS1106:ステップS1105で比較されたブロック情報のサイズについてサイズ類似率を更新する。サイズ類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、{1−(サイズ差)/(入力イメージデータの該ブロックサイズ)}で各ブロックのサイズ類似率を求めて、更に、該データファイルについてサイズ類似度の平均値を求めることにより算出するものとする。
【0141】
ステップS1107:入力画像のブロック情報、およびステップS1102で抽出されたデータファイルのブロック情報にOCR情報が「有」か否かを判断する。両者がOCR情報「有」であったときはステップS1108に進み、OCR情報「無」のときはステップS1110に進み、入力画像の全ブロックについての比較が終了したか判断する。
【0142】
ステップS1108:入力画像のブロック情報のOCR情報と、ステップS1102で抽出されたデータファイルのOCR情報を比較する。
【0143】
ステップS1109:ステップS1108で比較されたOCR情報についてOCR情報類似率を算出する。OCR情報類似率の算出方法は、任意の方法を用いることが可能であるが、例えば、各ブロックの認識結果文字同士を比較し、認識結果の一致率を求めるなどして求めることとする。
【0144】
ステップS1110:入力画像に含まれる全てのブロックについて、当該データファイルの各ブロックとの比較処理が終了したか否かを判断する。全ての矩形ブロックの処理が終了したときはステップS1111に進み、未処理の矩形ブロックが残っているときはステップS1115を経て、次のブロックの比較処理を行うためにステップS1103に戻る。
【0145】
ステップS1111:属性類似率、サイズ類似率、OCR類似率に基づいて総合類似率を算出する。総合類似率の算出方法は、例えば、各類似率に所定の重み付けを行って、和をとることにより算出される。
【0146】
ステップS1112:総合類似率が予め設定された閾値Thより高いか否か判断する。総合類似率が閾値Thより高ければステップS1113に進み、総合類似率が閾値Thより高くないときはステップS1114に進む。
【0147】
ステップS1113:ステップS1112で総合類似率が閾値より高いと判断されたデータベースのデータファイルを類似候補として保存する。
【0148】
ステップS1114:データベースの全てのデータファイルについて処理が終了したか否か判断する。全てのデータベースファイルの処理が終了したときはそのまま処理を終了し、未処理のデータベースファイルが残っているときはステップS1116を経てステップS1101に戻る。
【0149】
ステップS1115:データファイルの個々のブロック情報と、入力画像のブロック情報の全てを比較するように、比較対象のブロックを次のブロックに進める。
【0150】
ステップS1116:データベースの各データファイルが順次比較されるように、次のデータファイルを比較対象にする。
【0151】
図9の各ステップにおいて、N、W、Hは、入力画像のブロック総数、各ブロック幅、各ブロック高さであり、ΔN、ΔW、ΔHは、入力画像のブロック情報を基準とした許容範囲示す。n、w、hは、データベースファイルのブロック総数、各ブロック幅、各ブロック高さである。
【0152】
なお、不図示ではあるが、ステップS1105にてサイズ比較時に、座標X、座標Yの位置情報の比較などを行ってもよい。
【0153】
以上、検索の結果、総合類似度が閾値Thより高く、候補として保存されたデータベースファイル(ステップS1113)をサムネイル等で表示(ステップ312)する。複数候補の中から操作者が候補を選択すべきときには、操作者の入力操作よってファイルの特定を行う。
【0154】
以上の処理において、ユーザが指定した特定領域に対してステップS310で生成されたベクトル化情報が保有され、ファイル検索処理(図3のステップS311、図9)に利用可能なベクトル化情報としてはOCRによる文字コード情報や縦書き/横書きといったレイアウト情報、図形認識(図13)による図形の個数や配置、フォント認識(図8)による文書中の文字に使われているフォント情報等がある。
【0155】
本発明ではブロックセレクションステップによって得られたレイアウト情報に加えて、ユーザが着目する特定領域の詳細なベクトル化情報を、データベースファイル検索における類似度算出に利用し得るので、検索の精度を向上し得る。またデータベースファイル検索において、特定領域のベクトル化情報の重みを高め、ユーザが着目した部分を重視した類似度が求められるので、ユーザの希望に沿った検索結果が得られることになる。
【0156】
[アプリデータへの変換処理]
図3のブロックセレクションステップ(ステップS302)の後、ベクトル化(ステップS310)した結果のデータを用いて、ステップS314のアプリデータへの変換処理を実行する。ステップS310のベクトル化処理結果は図14に示す中間データの形式、いわゆるドキュメント・アナリシス・アウトプット・フォーマット(DAOF)と呼ばれる形式で保存されている。
【0157】
図14において、DAOFは、ヘッダ1601、レイアウト記述データ部1602、文字認識記述データ部1603、表記述データ部1604、画像記述データ部1605よりなる。
【0158】
ヘッダ1601には、処理対象の入力画像に関する情報が保持される。
【0159】
レイアウト記述データ部1602には、入力画像中の矩形ブロックの属性TEX(文字)、TITLE(タイトル)、
CAPTION(キャプション)、LINE(線画)、PICTURE(図面)、FRAME(枠)、TABLE(表)、PHOTO(写真)等の情報と、これら属性が認識された各矩形ブロックの位置情報が保持される。
【0160】
文字認識記述データ部1603には、TEXT、TITLE、CAPTION等の文字領域矩形ブロックのうち、ユーザにより指定された領域について、文字認識して得られる文字認識結果が保持される。
【0161】
表記述データ部1604には、表領域矩形ブロックTABLEの表構造の詳細が格納される。
【0162】
画像記述データ部1605には、図面領域矩形ブロックPICTUREや線画領域矩形ブロックLINE等のブロックにおけるイメージデータが、入力画像データから切り出して保持される。
【0163】
ベクトル化処理を指示された特定領域においては、ブロックに対しては、画像記述データ部1605には、ベクトル化処理により得られたブロックの内部構造や、画像の形状や文字コード等あらわすデータの集合が保持される。
【0164】
一方、ベクトル化処理の対象ではない、特定領域以外の矩形ブロックでは、入力画像データそのものが保持される。
【0165】
アプリデータへの変換処理は図15の各ステップにより実行される。
【0166】
ステップS1701:DAOF形式のデータを入力する。
【0167】
ステップS1702:アプリデータの元となる文書構造ツリー生成を行う。
【0168】
ステップS1703:文書構造ツリーを元に、DAOF内の実データを取得し、実際のアプリデータを生成する。
【0169】
ステップS1703の文書構造ツリー生成処理は図16の各ステップにより実行される。図16の処理における全体制御の基本ルールとして、処理の流れはミクロブロック(単一矩形ブロック)からマクロブロック(矩形ブロックの集合体)へ移行する。以後「矩形ブロック」は、ミクロブロックおよびマクロブロック両者を意味するものとする。
【0170】
ステップS1801:矩形ブロック単位で、縦方向の関連性に基づいて、矩形ブロックを再グループ化する。図16の処理は繰り返し実行されることがあるが、処理開始直後はミクロブロック単位での判定となる。
【0171】
ここで、関連性とは、距離が近い、ブロック幅(横方向の場合は高さ)がほぼ同一であることなどの特徴によって定義される。また、距離、幅、高さなどの情報はDAOFを参照し、抽出する。
【0172】
図17の入力画像では、最上部で、矩形ブロックT1、T2が横方向に並列されている。矩形ブロックT1、T2の下には横方向セパレータS1が存在し、横方向セパレータS1の下に矩形ブロックT3、T4、T5、T6、T7が存在する。
【0173】
矩形ブロックT3、T4、T5は、横方向セパレータS1下側の領域における左半部において上から下に、縦方向に配列され、矩形ブロックT6、T7は、横方向セパレータS1下側の領域における右半部において上下に配列されている。
【0174】
ステップS1801の縦方向の関連性に基づくグルーピングの処理を実行する。これによって、矩形ブロックT3、T4、T5が1個のグループ(矩形ブロック)V1にまとめられ、矩形ブロックT6、T7が1個のグループ(矩形ブロック)V2にまとめられる。グループV1、V2は同一階層となる。
【0175】
ステップS1802:縦方向のセパレータの有無をチェックする。セパレータは、DAOF中でライン属性を持つオブジェクトであり、アプリケーションソフトウエア中で明示的にブロックを分割する機能をもつ。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として左右に分割する。図17では縦方向のセパレータは存在しない。
【0176】
ステップS1803:縦方向のグループ高さの合計が入力画像の高さに等しくなったか否か判断する。すなわち縦方向(例えば上から下へ。)に処理対象の領域を移動しながら、横方向のグルーピングを行うとき、入力画像全体の処理が終了したときには、グループ高さ合計が入力画像高さになることを利用し、処理の終了判断を行う。グルーピングが終了したときはそのまま処理終了し、グルーピングが終了していなかったときはステップS1804に進む。
【0177】
ステップS1804:横方向の関連位に基づくグルーピングの処理を実行する。これによって、矩形ブロックT1、T2が1個のグループ(矩形ブロック)H1にまとめられ、矩形ブロックV1、V2が1個のグループ(矩形ブロック)H2にまとめられる。グループH1、H2は同一階層となる。ここでも、処理開始直後はミクロブロック単位での判定となる。
【0178】
ステップS1805:横方向のセパレータの有無をチェックする。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として上下に分割する。図17では横方向のセパレータS1が存在する。
【0179】
以上の処理結果は図18のツリーとして登録される。
【0180】
図18において、入力画像V0は、最上位階層にグループH1、H2、セパレータS1を有し、グループH1には第2階層の矩形ブロックT1、T2が属する。
【0181】
グループH2には、第2階層のグループV1、V2が属し、グループV1には、第3階層の矩形ブロックT3、T4、T5が属し、グループV2には、第3階層の矩形ブロックT6、T7が属する。
【0182】
ステップS1806:横方向のグループ長合計が入力画像の幅に等しくなったか否か判断する。これによって横方向のグルーピングに関する終了判断を行う。横方向のグループ長がページ幅となっている場合は、文書構造ツリー生成の処理を終了する。横方向のグループ長がページ幅となっていないときは、ステップS1801に戻り、再びもう一段上の階層で、縦方向の関連性チェックから繰り返す。
【0183】
図17、図18のツリー構造の段階で、横方向の分割幅がページ幅になっているので、そのまま処理を終了し、最後にページ全体を表す最上位階層のV0を文書構造ツリーに付加する。
【0184】
文書構造ツリーが完成した後、その情報を元にステップS1703においてアプリデータの生成を行う。
【0185】
図17、図18に基づくアプリデータによる、アプリケーションソフトウエアの処理の例は以下のとおりである。
【0186】
まず、グループH1が横方向に2個の矩形ブロックT1、T2を有するので、2カラムとし、T1のDAOFを参照し、その内部情報(文字認識結果の文章、画像等)を出力する。その後、カラムを変え、T2の内部情報を出力し、続いてセパレータS1を出力する。
【0187】
次グループH2の処理に移る。グループH2は横方向に2個の矩形ブロックV1、V2を有するので、2カラムとして出力する。グループV1については、矩形ブロックT3、T4、T5の順にその内部情報を出力し、その後カラムを変え、グループV2の矩形ブロックT6、T7の内部情報を出力する。
【0188】
以上によりアプリデータへの変換処理が実行される。
【0189】
[第2実施形態]
第1実施形態では、ユーザがベクトル化対象とする特定領域を指定する際に、BS(ブロックセレクション処理)によって自動的に生成された矩形ブロックのうちの1個もしくは複数を、入力手段等により指定したが、本発明がこれに限定されないことはいうまでもない。
【0190】
図19に示すように、BS(ブロックセレクション処理)による矩形ブロックを生成せず、入力画像そのものをMFP100の操作部画面に表示し、ユーザが希望する領域を開始座標、終了座標によって指定してもよい。例えば開始座標S1、終了座標E1により特定領域B1を指定し、開始座標S2、終了座標E2により特定領域B2を指定する。開始座標、終了座標の指定方法としては、操作画面をタッチパネルとして、このタッチパネルで行う方法、数値キー等により座標を入力する方法等がある。
【0191】
[第3実施形態]
特定領域の指定方法を、MFP100において実行せず、原稿上にラインマーカ等により直接記載することも可能である。
【0192】
図20に示すように、所定色のラインマーカにより、原稿に特定領域に対応した矩形RC1、RC2を書き込む。MFPは矩形RC1、RC2をスキャンして検出し、検出された画素の配置から特定領域を生成する。矩形RC1、RC2の検出は、周知の手法により実行可能である。
【0193】
なお以上の実施形態においては、画像読み取り装置110等から入力された入力画像の処理について説明したが、記憶媒体に格納されたラスターデータあるいはその符号化データよりなるイメージデータ、通信手段によって供給されたイメージデータ等、入力画像以外のイメージデータについても、本発明は有効である。
【0194】
本発明に係る画像処理方法を実施する手段は図1、図2に記載した画像処理システムに限定されるものではなく、専用の画像処理装置、汎用コンピュータ等種々の手段を採用し得る。
【0195】
汎用コンピュータにおいて実行する際には、画像処理方法の各ステップを汎用コンピュータに実行させるためプログラムコードを含むコンピュータ実行可能なプログラムを、汎用コンピュータに読み込ませる。
【0196】
汎用コンピュータが画像処理を実行するためのプログラムは、汎用コンピュータに内蔵されたROMや、汎用コンピュータが読み取り得る記憶媒体から読み込まれ、あるいはネットワークを通じてサーバ等から読み込まれる。
【0197】
また本発明の趣旨と範囲は、本発明の特定の説明と図に限定されるものではなく、本願特許請求の範囲に述べられた内容の様々な修正および変更に及ぶことは当業者にとって理解されるであろう。
【0198】
本発明の実施態様の例を以下に示す。
【0199】
[実施態様1] 入力画像の特定領域を指定する特定領域指定ステップと、前記指定された特定領域のイメージをベクトルデータに変換するベクトル化ステップとを備えた画像処理方法。
【0200】
[実施態様2] 前記入力画像を、属性毎の領域に分割する領域分割ステップを更に備え、
前記特定領域指定手段は、前記領域分割ステップで分割された領域のうち、ユーザにより指定された領域を前記特定領域として指定することを特徴とする実施態様1に記載の画像処理方法。
【0201】
[実施態様3] 前記特定領域指定手段は、前記領域分割ステップで分割された領域を示す情報と前記入力画像とを表示し、前記表示された領域のうち、ユーザにより指定された領域を前記特定領域として指定することを特徴とする実施態様2に記載の画像処理方法。
【0202】
[実施態様4] 前記特定領域のイメージデータをベクトル化したデータに基づいて、データベースに登録されているオリジナルデータファイルから同一もしくは近似した内容のオリジナルデータファイルを抽出することを特徴とする実施態様1記載の画像処理方法。
【0203】
[実施態様5] 前記特定領域のイメージデータをベクトル化したベクトルデータと、前記入力画像における前記特定領域以外の領域のイメージデータを合成して画像データファイルを生成することを特徴とする実施態様1に記載の画像処理方法。
【0204】
[実施態様6] ベクトル化された特定領域のベクトルデータと前記特定領域以外の領域のイメージデータとに基づいて、アプリケーションソフトウエアで扱えるデータ形式に変換するアプリデータ変換ステップをさらに含むことを特徴とする実施態様1に記載の画像処理方法。
【0205】
[実施態様7] 原稿をスキャンすることによって得られた前記入力画像を入力する画像入力ステップを更に有することを特徴とする実施態様1に記載の画像処理方法。
【0206】
[実施態様8] 前記ベクトル化ステップは、入力画像のイメージデータをコード情報、図形情報、関数情報等のコマンド定義形のデータに変換するステップを含むことを特徴とする実施態様1に記載の画像処理方法。
【0207】
[実施態様9] 入力画像の特定領域を指定する特定領域指定手段と、前記指定された特定領域のイメージデータをベクトルデータに変換するベクトル化手段とを備えた画像処理システム。
【0208】
[実施態様10] 実施態様1乃至8のいずれかに記載の画像処理方法の各ステップを汎用コンピュータに実行させるためのプログラムコードを含むコンピュータ実行可能なプログラム。
【0209】
[実施態様11] 実施態様13記載のコンピュータ実行可能なプログラムが格納されたコンピュータ読み取り可能な記憶媒体。
【0210】
【発明の効果】
本発明によれば、紙文書やイメージデータの形態で保存された情報の再利用を容易にするために、入力された画像をベクトルデータに変換することができ、また、ベクトルデータの変換を効率的に行うことができる。
【図面の簡単な説明】
【図1】 本発明に係る画像処理方法の第1実施形態を実施する画像処理システムを示すブロック図である。
【図2】 図1におけるMFPを示すブロック図である。
【図3】 本発明に係る画像処理方法の第1実施形態を示すフローチャ−トである。
【図4】 図3の画像処理方法により処理される原稿と処理結果の画像を示す図である。
【図5】 ブロックセレクション処理で得られるブロック情報および入力ファイル情報を示す表である。
【図6】 原稿の画像からポインタ情報を抽出する処理を示すフローチャートである。
【図7】 ポインタ情報を含む原稿の画像を示す図である。
【図8】 図3の文字領域のベクトル化の処理を示すフローチャートである。
【図9】 図3のファイル検索の処理を示すフローチャートである。
【図10】 ベクトル化の処理における角抽出の処理を示す図である。
【図11】 ベクトル化の処理における輪郭線まとめの処理を示す図である。
【図12】 図3のベクトル化で生成されたベクトルデータのグループ化の処理を示すフローチャートである。
【図13】 図12の処理でグループ化されたベクトルデータに対する図形要素検出の処理を示すフローチャートである。
【図14】 ベクトル化処理結果のデータを示すマップである。
【図15】 図3のアプリデータ変換の処理を示すフローチャートである。
【図16】 図15の文書構造ツリー生成の処理を示すフローチャートである。
【図17】 文書構造ツリー生成処理の対象となる文書を示す図である。
【図18】 図16の処理によって生成される文書構造ツリーを示す図である。
【図19】 本発明に係る画像処理方法の第2実施形態における特定領域指定の処理を示す図である。
【図20】 本発明に係る画像処理方法の第3実施形態における特定領域指定の処理を示す図である。
【符号の説明】
100 MFP
105 データベース
106 文書管理サーバ
110 画像読み取り装置
111 記憶装置
112 記憶装置
115 データ処理装置
Claims (8)
- 画像処理装置の特定領域指定手段が、ユーザからの指示に基づいて、入力画像の特定領域を指定する特定領域指定ステップと、
前記画像処理装置のベクトル化手段が、前記特定領域指定ステップで指定された特定領域のイメージをベクトルデータに変換するベクトル化ステップと、
前記画像処理装置の検索手段が、前記ベクトル化ステップで変換された前記特定領域のベクトルデータに基づいて、データベースから前記特定領域の情報を含むオリジナルデータファイルを検索する検索ステップと、
前記画像処理装置の判定手段が、前記検索ステップで検索されたオリジナルデータファイルが、ラスターデータのファイルであるか、ベクトルデータのファイルであるかを判定する判定ステップと、
前記画像処理装置の出力手段が、前記判定ステップで前記オリジナルデータファイルがラスターデータのファイルであると判定した場合は、前記ベクトル化ステップで変換された前記特定領域のベクトルデータを用いて出力用データファイルを出力し、前記判定ステップで前記オリジナルデータファイルがベクトルデータのファイルであると判定した場合は、前記オリジナルデータファイルを用いて出力用データファイルを出力する出力ステップと
を備えることを特徴とする画像処理方法。 - 前記出力ステップでは、前記判定ステップで前記オリジナルデータファイルがラスターデータのファイルであると判定した場合は、前記ベクトル化ステップで変換された前記特定領域のベクトルデータと、前記入力画像における前記特定領域以外の領域のイメージデータとを合成して出力用データファイルを生成し、当該生成した出力用データファイルを出力することを特徴とする請求項1に記載の画像処理方法。
- 前記出力ステップでは、前記判定ステップで前記オリジナルデータファイルがラスターデータのファイルであると判定した場合は、前記ベクトル化ステップで変換された前記特定領域のベクトルデータと、前記入力画像における前記特定領域以外の領域のイメージデータとを合成し、更に、アプリケーションソフトウエアで扱えるデータ形式に変換することで前記出力用データファイルを生成し、当該生成した出力用データファイルを出力することを特徴とする請求項1に記載の画像処理方法。
- 前記判定ステップでは、前記検索ステップで検索されたオリジナルデータファイルが、ラスターデータのファイルであるか、ベクトルデータまたは文字コードで構成されるファイルであるかを判定し、
前記出力ステップでは、前記判定ステップで前記オリジナルデータファイルがラスターデータのファイルであると判定した場合は、前記ベクトル化ステップで変換された前記特定領域のベクトルデータを用いて出力用データファイルを出力し、前記判定ステップで前記オリジナルデータファイルがベクトルデータまたは文字コードで構成されるファイルであると判定した場合は、前記オリジナルデータファイルを用いて出力用データファイルを出力することを特徴とする請求項1に記載の画像処理方法。 - 前記画像処理装置の領域分割手段が、前記入力画像を、属性毎の領域に分割する領域分割ステップを更に備え、
前記特定領域指定ステップでは、前記領域分割ステップで分割された領域のうち、ユーザにより指定された領域を前記特定領域として指定することを特徴とする請求項1乃至4のいずれかに記載の画像処理方法。 - 前記画像処理装置の画像入力手段が、原稿をスキャンすることによって得られた前記入力画像を入力する画像入力ステップを更に備え、
前記特定領域指定ステップでは、前記画像入力ステップでスキャンした原稿に所定色のマーカーで記載されていた領域を検出し、当該検出した領域を前記特定領域として指定することを特徴とする請求項1乃至4のいずれかに記載の画像処理方法。 - ユーザからの指示に基づいて、入力画像の特定領域を指定する特定領域指定手段と、
前記特定領域指定手段で指定された特定領域のイメージをベクトルデータに変換するベクトル化手段と、
前記ベクトル化手段で変換された前記特定領域のベクトルデータに基づいて、データベースから前記特定領域の情報を含むオリジナルデータファイルを検索する検索手段と、
前記検索手段で検索されたオリジナルデータファイルが、ラスターデータのファイルであるか、ベクトルデータのファイルであるかを判定する判定手段と、
前記判定手段で前記オリジナルデータファイルがラスターデータのファイルであると判定した場合は、前記ベクトル化手段で変換された前記特定領域のベクトルデータを用いて出力用データファイルを出力し、前記判定手段で前記オリジナルデータファイルがベクトルデータのファイルであると判定した場合は、前記オリジナルデータファイルを用いて出力用データファイルを出力する出力手段と
を備えることを特徴とする画像処理装置。 - コンピュータを、
ユーザからの指示に基づいて、入力画像の特定領域を指定する特定領域指定手段、
前記特定領域指定手段で指定された特定領域のイメージをベクトルデータに変換するベクトル化手段、
前記ベクトル化手段で変換された前記特定領域のベクトルデータに基づいて、データベースから前記特定領域の情報を含むオリジナルデータファイルを検索する検索手段、
前記検索手段で検索されたオリジナルデータファイルが、ラスターデータのファイルであるか、ベクトルデータのファイルであるかを判定する判定手段、
前記判定手段で前記オリジナルデータファイルがラスターデータのファイルであると判定した場合は、前記ベクトル化手段で変換された前記特定領域のベクトルデータを用いて出力用データファイルを出力し、前記判定手段で前記オリジナルデータファイルがベクトルデータのファイルであると判定した場合は、前記オリジナルデータファイルを用いて出力用データファイルを出力する出力手段、
として機能させるためのコンピュータ実行可能なコンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003121075A JP4323856B2 (ja) | 2003-04-25 | 2003-04-25 | 画像処理方法 |
US10/775,177 US7391917B2 (en) | 2003-02-13 | 2004-02-11 | Image processing method |
EP04250777A EP1447767A3 (en) | 2003-02-13 | 2004-02-13 | Image document administration method |
CNB2004100959058A CN100419782C (zh) | 2003-02-13 | 2004-02-13 | 图象处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003121075A JP4323856B2 (ja) | 2003-04-25 | 2003-04-25 | 画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326490A JP2004326490A (ja) | 2004-11-18 |
JP4323856B2 true JP4323856B2 (ja) | 2009-09-02 |
Family
ID=33499743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003121075A Expired - Fee Related JP4323856B2 (ja) | 2003-02-13 | 2003-04-25 | 画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4323856B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5132416B2 (ja) | 2008-05-08 | 2013-01-30 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
JP5089482B2 (ja) | 2008-05-12 | 2012-12-05 | キヤノン株式会社 | 情報処理装置、データ処理方法およびプログラム |
JP2010057017A (ja) | 2008-08-29 | 2010-03-11 | Konica Minolta Business Technologies Inc | 画像処理装置および画像処理方法 |
CN109584335B (zh) * | 2018-11-16 | 2023-07-07 | 金蝶软件(中国)有限公司 | 图形填充方法、装置、计算机设备和存储介质 |
-
2003
- 2003-04-25 JP JP2003121075A patent/JP4323856B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004326490A (ja) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4546291B2 (ja) | 画像処理装置およびその制御方法 | |
JP4181892B2 (ja) | 画像処理方法 | |
US7681121B2 (en) | Image processing apparatus, control method therefor, and program | |
JP4251629B2 (ja) | 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP4681863B2 (ja) | 画像処理装置、および、その制御方法 | |
US7551753B2 (en) | Image processing apparatus and method therefor | |
JP4557765B2 (ja) | 画像処理装置およびその方法 | |
JP2004326491A (ja) | 画像処理方法 | |
US8520006B2 (en) | Image processing apparatus and method, and program | |
JP4854491B2 (ja) | 画像処理装置及びその制御方法 | |
JP4510535B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2009193356A (ja) | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 | |
JP2006268352A (ja) | 画像処理装置およびその方法 | |
JP4227432B2 (ja) | 画像処理方法 | |
JP2008028716A (ja) | 画像処理方法及び装置 | |
JP4323856B2 (ja) | 画像処理方法 | |
JP2007129557A (ja) | 画像処理システム | |
JP2005149097A (ja) | 画像処理システム及び画像処理方法 | |
JP2004334340A (ja) | 画像処理方法及び装置 | |
JP2007074140A (ja) | 画像処理装置及びその制御方法、画像処理システム | |
JP2006134042A (ja) | 画像処理システム | |
JP4310176B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2004355315A (ja) | 画像処理方法 | |
JP2006146486A (ja) | 画像処理装置 | |
JP2008084127A (ja) | 画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060330 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090123 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090416 |
|
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: 20090519 |
|
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: 20090605 |
|
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: 20120612 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120612 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130612 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |