JP2005136729A - 画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 - Google Patents

画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP2005136729A
JP2005136729A JP2003371038A JP2003371038A JP2005136729A JP 2005136729 A JP2005136729 A JP 2005136729A JP 2003371038 A JP2003371038 A JP 2003371038A JP 2003371038 A JP2003371038 A JP 2003371038A JP 2005136729 A JP2005136729 A JP 2005136729A
Authority
JP
Japan
Prior art keywords
image
electronic data
information
vectorization
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
Application number
JP2003371038A
Other languages
English (en)
Inventor
Shinichi Kato
進一 加藤
Masakazu Kiko
正和 木虎
Hiroyuki Tsuji
博之 辻
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 JP2003371038A priority Critical patent/JP2005136729A/ja
Publication of JP2005136729A publication Critical patent/JP2005136729A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 イメージ画像として記録された原稿の検出及び再利用を容易に且つ確実に行うことができるようにする。
【解決手段】 ベクトル化されたイメージ画像において、背景画像がある場合には、背景画像の電子ファイルを検索し、候補となる背景画像をサムネイル画像として表示し、操作者に選択を促す。候補の中から該当する背景画像が選択された場合には、その背景画像の電子ファイルとベクトル化を行って得た背景画像とを差し換える。これによって、くり抜かれた背景画像ではなく、適切な背景画像を得ることができ、背景画像の二次使用も可能になる。
【選択図】 図24

Description

本発明は、画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体に関し、特に、イメージ画像を記録するために用いるのに好適なものである。
近年、環境問題が叫ばれる中、オフィスでのペーパーレス化が急速に進んでいる。
このような背景の下、バインダー等で蓄積された紙文書をスキャナーで読み取り、ポータブルドキュメントフォーマット(以降、PDFと記す)に変換して、画像記憶装置にデータベースとして蓄積し、文書管理システムを構築することができるようにする第1の技術があった。
また、機能が拡張されたデジタル複合機(以降、MFP(Multi Function Printer)と記す)では、画像記憶装置内の格納場所を示すポインター情報を、紙文書の表紙或いは記載情報中に付加情報として記録しておき、前記ポインター情報が記録された紙文書(オリジナルの電子ファイル)を、前記画像記憶装置内の格納場所に格納し、格納した紙文書を複写等して再利用する際に、このポインター情報から前記オリジナルの電子ファイルの格納場所を検出し、検出した格納場所に格納されているオリジナルの電子ファイルの元情報を、編集や再印刷に直接用いることができるようにして、紙文書全体の保存を削減することができるようにする第2の技術があった(例えば、特許文献1、2を参照)。
特開平10−143414号公報 特開平11−88659号公報
しかしながら、前記第1の技術では、コンパクトな情報量のPDFファイルとして紙文書の保存が可能であるが、ファイル自体がイメージ情報であるので、紙文書の一部のオブジェクトを再利用することはできない。従って、紙文書を再利用する場合、前記紙文書に記載されている図や表等を、新たにアプリケーションソフトを用いて再度作成しなければならないという問題点があった。
また、前記第2の技術では、出力された紙文書に対応するオリジナルの電子ファイルに直接アクセスすることができるため、紙文書を再利用することができる。しかしながら、何らかの理由でオリジナルの電子ファイルの格納場所を検出できなかった場合、前記オリジナルの電子ファイルを入手することができなくなってしまうという問題点があった。また、紙文書の背景画像の上に文字や細線、或いは図形などが重なって描かれている場合には、前記背景画像のみを抽出することができず、前記背景画像を有効に再利用することができないという問題点もあった。
本発明は、前述の問題点に鑑みてなされたものであり、記録した原稿の検出及び再利用を容易に且つ確実に行うことができるようにすることを目的とする。
本発明の画像処理装置は、イメージ画像を構成するオブジェクトをベクトル化するベクトル化手段と、前記ベクトル化手段によってベクトル化されたオブジェクトに含まれる背景オブジェクトと類似する電子データを検索する検索手段と、前記検索手段によって検索された前記電子データを、前記背景オブジェクトと差し換える差し換え手段とを有することを特徴とする。
また、本発明の他の特徴とするところは、イメージ画像を構成するオブジェクトをベクトル化するベクトル化手段と、前記ベクトル化手段によってベクトル化されたオブジェクトに含まれる背景オブジェクトに対応するオリジナルの電子データの所在を示すポインター情報を、前記イメージ画像から抽出する抽出手段と、前記抽出手段によって抽出されたポインター情報に基づいて得られる前記オリジナルの電子データを、前記背景オブジェクトと差し換える差し換え手段とを有することである。
また、本発明のその他の特徴とするところは、イメージ画像から、前記イメージ画像に対応する電子データの所在を示すポインター情報を抽出するポインター抽出手段と、前記ポインター抽出手段により抽出されたポインター情報に基づいて、前記イメージ画像に対応する電子データを検索する検索手段と、前記検索手段により検索された電子データと、前記イメージ画像との差分情報を抽出する差分情報抽出手段と、前記差分情報抽出手段により抽出された差分情報をベクトル化するベクトル化手段と、前記ベクトル化手段によりベクトル化された差分情報を、前記検索手段により検索された電子データに合成する合成手段とを有することである。
本発明の画像処理方法は、イメージ画像を構成するオブジェクトをベクトル化するベクトル化ステップと、前記ベクトル化ステップによってベクトル化されたオブジェクトに含まれる背景オブジェクトと類似する電子データを検索する検索ステップと、前記検索ステップによって検索された前記電子データを、前記背景オブジェクトと差し換える差し換えステップとを有することを特徴とする。
また、本発明の他の特徴とするところは、イメージ画像を構成するオブジェクトをベクトル化するベクトル化ステップと、前記ベクトル化ステップによってベクトル化されたオブジェクトに含まれる背景オブジェクトに対応するオリジナルの電子データの所在を示すポインター情報を、前記イメージ画像から抽出する抽出ステップと、前記抽出ステップによって抽出されたポインター情報に基づいて得られる前記オリジナルの電子データを、前記背景オブジェクトと差し換える差し換えステップとを有することである。
また、本発明のその他の特徴とするところは、イメージ画像から、前記イメージ画像に対応する電子データの所在を示すポインター情報を抽出するポインター抽出ステップと、前記ポインター抽出ステップにより抽出されたポインター情報に基づいて、前記イメージ画像に対応する電子データを検索する検索ステップと、前記検索ステップにより検索された電子データと、前記イメージ画像との差分情報を抽出する差分情報抽出ステップと、前記差分情報抽出ステップにより抽出された差分情報をベクトル化するベクトル化ステップと、前記ベクトル化ステップによりベクトル化された差分情報を、前記検索ステップにより検索された電子データに合成する合成ステップとを有することである。
本発明のコンピュータプログラムは、イメージ画像を構成するオブジェクトをベクトル化するベクトル化ステップと、前記ベクトル化ステップによってベクトル化されたオブジェクトに含まれる背景オブジェクトと類似する電子データを検索する検索ステップと、前記検索ステップによって検索された前記電子データを、前記背景オブジェクトと差し換える差し換えステップとをコンピュータに実行させることを特徴とする。
また、本発明の他の特徴とするところは、イメージ画像を構成するオブジェクトをベクトル化するベクトル化ステップと、前記ベクトル化ステップによってベクトル化されたオブジェクトに含まれる背景オブジェクトに対応するオリジナルの電子データの所在を示すポインター情報を、前記イメージ画像から抽出する抽出ステップと、前記抽出ステップによって抽出されたポインター情報に基づいて得られる前記オリジナルの電子データを、前記背景オブジェクトと差し換える差し換えステップとをコンピュータに実行させることである。
また、本発明のその他の特徴とするところは、イメージ画像から、前記イメージ画像に対応する電子データの所在を示すポインター情報を抽出するポインター抽出ステップと、前記ポインター抽出ステップにより抽出されたポインター情報に基づいて、前記イメージ画像に対応する電子データを検索する検索ステップと、前記検索ステップにより検索された電子データと、前記イメージ画像との差分情報を抽出する差分情報抽出ステップと、前記差分情報抽出ステップにより抽出された差分情報をベクトル化するベクトル化ステップと、前記ベクトル化ステップによりベクトル化された差分情報を、前記検索ステップにより検索された電子データに合成する合成ステップとをコンピュータに実行させることである。
本発明によれば、イメージ画像中の背景オブジェクトをベクトル化し、ベクトル化した背景オブジェクトに類似又は対応する電子データを検索し、検索した電子データを前記ベクトル化した背景オブジェクトと差し替えるようにしたので、背景画像の上に文字や細線、或いは図形などが重なって描かれている原稿をベクトル化しても、前記背景オブジェクトと、その他のオブジェクトとを確実に分離することが可能になる。これにより、背景画像の再利用が可能になり、記録したイメージ画像の検出及び再利用を容易に且つ確実に行うことができる。
(第1の実施の形態)
次に、図面を参照しながら、本発明の第1の実施の形態について説明する。
図1は、本実施の形態における画像処理システムの構成の一例を示すブロック図である。
この画像処理システムは、オフィス10とオフィス20とがインターネット104を介して相互に接続された環境で実現される。オフィス10内に構築されたLAN107には、MFP100と、MFP100を制御するマネージメントPC101と、クライアントPC(外部記憶手段)102と、文書管理サーバ106aと、そのデータベース105aと、プロキシサーバ(proxy server)103aとが接続されている。また、オフィス20内に構築されたLAN108には、文書管理サーバ106bと、そのデータベース105bと、プロキシサーバ103bとが接続されている。
オフィス10内の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ページ分の画像データとして保存する。なお、本実施の形態では、イメージ画像(画像読み取り部110によって原稿を読み取ることで得られた画像データ)の生成をMFPに備えた機能を利用して行っているが、本発明はこの構成に限られたものではなく、他の何らかの読み取り装置で読み取られたイメージ画像データを本発明の画像処理機能を有する装置に受け渡す構成であっても、本発明の効果を得ることができる。
マネージメントPC101に配設されているCPUは、前記保存された画像信号に基づいて、文字部分及び線画部分と、ハーフトーンの画像部分とに領域を分離する。そして、文字部分については、更に段落で塊として纏まっているブロック毎に、或いは、線で構成された表、図形に分離し、各々セグメント化する。
一方、ハーフトーンで表現される画像部分は、矩形に分離されたブロックの画像部分や、背景部分等、所謂ブロック毎に独立したオブジェクトに分割する(ステップS121のブロックセレクション処理)。
このとき、原稿画像中に付加情報として記録されたURLに該当するオブジェクトを検出し、OCR(Optical Character Reader)でURLを文字認識し(ステップS122のOCR/OMR処理)、原稿のオリジナル電子ファイルが格納されている記憶装置内のポインター情報を検出する(ステップS123のポインター情報検出処理)。
一方、原稿画像中に付加情報として2次元バーコードが記録されているのなら、OCRやOMR(Optical Mark Reader)などでマークを解読して(ステップS122のOCR/OMR処理)、原稿のオリジナル電子ファイルが格納されている記憶装置内のポインター情報を検出する(ステップS123のポインター情報検出処理)。
なお、ポインター情報を付加する手段としては、文字と文字の間隔に情報を埋め込む方法や、ハーフトーンの画像に埋め込む方法等、直接可視化されない所謂電子透かしによる方法が有る。また、ポインター情報とは、オリジナルの電子ファイルや、その格納場所を指し示すものであり、本発明の目的を達成可能なものであればいかなる構成を採用してもよい。
そして、ポインター情報が検出された場合(ステップS124でYESと判定された場合)には、ステップS125に進み、ポインターで示されたアドレスからオリジナル電子ファイルを検索する。
オリジナル電子ファイルは、図1においてクライアントPC102に配設されているハードディスク内、或いはオフィス10、20のLAN107、108に接続された文書管理サーバ105a、105bに配設されたデータベース105a、105b内、或いはMFP100自体に配設されている記憶装置111のいずれかに格納されている。したがって、ステップS123で得られたポインター情報(アドレス情報)に従って、これらの記憶装置内を検索する。
そして、ステップS125でオリジナル電子ファイルが見つからなかった場合、或いは見つかったがPDFあるいはtiffに代表される所謂イメージファイルであった場合、或いはポインター情報自体が存在しなかった場合(ステップS125でNOと判定された場合)には、ステップS126に進む。一方、ステップS125でオリジナル電子ファイルが見つかった場合(ステップS125でYESと判定された場合)には、ステップS129に進み、オリジナル電子ファイルが格納されているアドレスをユーザに通知する。
ステップS126は、ファイル検索処理(所謂文書検索処理ルーチン)である。
まず、ステップS122で各文字ブロックに対して行ったOCRの結果から、単語を抽出して全文検索を行う。或いは各オブジェクトの配列と各オブジェクトの属性から所謂レイアウト検索を行う。
以上のような検索の結果、類似度の高い電子ファイルが見つかった場合、サムネイル等を表示し、複数の中から操作者の選択が必要なら操作者の入力操作によってファイルの特定を行う(ステップS127の候補表示/選択処理)。なお、候補が1ファイルの場合には、このステップS127をバイパスして自動的にステップS128、ステップS129に進み、候補となる電子ファイルが格納されているアドレスをユーザに通知する(ステップS129の格納アドレス抽出処理)。
ステップS126のファイル検索処理で電子ファイルが見つからなかった場合、或いは見つかったがPDFあるいはtiffに代表される所謂イメージファイルであった場合には、ステップS132に進む。
ここで、ステップS120で入力されるイメージ情報は、以上の処理で検索され、特定された電子ファイルをそのままプリント出力したものである場合だけを想定していない。すなわち、プリント出力された資料を入手したユーザが、前記資料上に手書きで書き込みをした場合や、特定されたオリジナル電子ファイルには存在しない新規の情報が、前記オリジナル電子ファイルに付加されている場合なども想定している。
そこで、ステップS125またはステップS128で電子ファイルが特定されたら、入力されたイメージ情報と、特定された電子ファイルとの差分情報を抽出して、後から追記された新規情報を抽出するようにする。すなわち、ステップS129において、特定された電子ファイルの存在場所を示すアドレスの通知し、ステップS130において、特定されたオリジナルの電子ファイルを入手し、ステップS131において、入力されたイメージ情報と、特定されたオリジナルの電子ファイルとの差分情報を抽出する(ステップS130の電子ファイル入手処理、ステップS131の差分情報抽出処理)。
このようにして抽出された差分情報は、イメージデータからベクトルデータに変換される(ステップS132のベクトル化処理)。これは、差分情報が手書きで追記された文字情報等である場合には、OCRによりコード化したり、輪郭を追跡してアウトライン化したりしてベクトル情報に変換する。
このようにしてベクトル情報に変換された(ベクトル化された)差分情報は、差分情報のみの新たな電子ファイルとして生成し、保存しても良いし、元々の電子ファイルに差分情報を追記した形の新たな電子ファイルとして生成し、保存しても良い。いずれにしても、これらのベクトル化処理は、オブジェクト毎に行う。更に、各オブジェクトのレイアウト情報を保存することも行う。そして、一般のアプリケーションで編集可能なアプリデータに変換し(ステップS135のアプリデータ変換処理)、電子ファイルとして記憶装置111に格納する(ステップS137の電子ファイル格納処理)。また、汎用のファイル形式として、例えばRTF(Rich Text Format)形式に前記電子ファイルを変換するようにしてもよい。
このとき、電子ファイルの格納場所をポインター情報として、保存する電子ファイルに付加するようにする(ステップS136のポインター情報付加処理)。こうすることにより、保存された文書が次回以降の検索対象となる。また、電子ファイルの印刷時にポインター情報を2次元バーコードなどで印字するようにすれば、印刷文書から、ここで保存された文書に容易にアクセスすることができるようになる。
一方、ステップS128において、電子ファイルの特定ができなかった場合には、前記差分情報だけでなく、入力されたイメージ情報全体に対してベクトル化処理を行い、イメージ情報をオリジナル電子ファイルに近い電子ファイルに変換する(ステップS132のベクトル化処理)。
具体的に説明すると、まず、ステップS122でOCR処理された文字ブロックに対しては、更に文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字を可視的に忠実なフォントデータに変換する。一方、線で構成される表、図形ブロックに対しては、アウトライン化する。さらに、画像ブロックに対しては、イメージデータとして個別のJPEGファイルとして処理する。
ところが、背景画像中に文字や細線、図形などが重なっている電子ファイルの場合、図23に示すような問題が起ってしまう。すなわち、文字や細線、図形などをフォント化或いはアウトライン化した際に、その部分の背景画像がくり抜かれる形になってしまう。このため、背景画像のみの二次使用がしずらくなってしまう。
そこで、ステップS133で、背景画像の電子ファイル検索処理を行い、この電子ファイル検索処理の結果、該当する背景画像の電子ファイルが見つかった場合には、ステップS127と同様に、候補となる背景画像をサムネイル画像として表示し、操作者に選択を促す。候補の中から該当する背景画像の電子ファイルが選択された場合には、その背景画像の電子ファイルとベクトル化を行って得た背景画像とを差し換える(ステップS134の背景ファイル差し替え処理)。これによって、図23で示したようなくり抜かれた背景画像ではなく、図24で示すような背景画像の電子ファイルを得ることができ、ベクトル化後に背景画像の二次使用も可能になる。
一方、ステップS133において、該当する背景画像の電子ファイルが見つからなかった場合には、ステップ132でベクトル化した背景画像をそのまま使用する。この場合、後述する図26の左図で示すように、背景画像のくりぬかれた個所をその近傍の色味で色塗りしても良い。
以上のようにして、オブジェクト毎にベクトル化処理及び背景画像の差し換えを行った後、前述したように各オブジェクトのレイアウト情報を保存して、ステップS135において、一般のアプリケーションで編集可能なアプリデータに変換し、ステップS137において、電子ファイルとして記憶装置111に格納する。また汎用のファイル形式として、例えばRTF(Rich Text Format)形式に変換するようにしてもよい。
このとき、電子ファイルの格納場所をポインター情報として、保存する電子ファイルに付加するようにする(ステップS136のポインター情報付加処理)。こうすることにより、保存された文書が次回以降の検索対象となる。また、電子ファイルの印刷時にポインター情報を2次元バーコードなどで印字するようにすれば、印刷文書から、ここで保存された文書に容易にアクセスすることができるようになる。
以上の手順によって得られた電子ファイルは、オリジナルの電子情報もしくはそれに非常に近いベクトル情報として編集可能な形式で保存されるので、それらの加工及び再利用を直接行ったり、蓄積、伝送、及び再印刷を行ったりすることが可能になる。
これらの処理を行うことにより、単純にイメージ画像データを直接扱う場合に比べて情報量を削減することができる。したがって、記憶装置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に進み、これを訂正する。
次に、誤りが訂正されたデータコード語を復元する。そして、モード指示子及び文字数指示子に基づいて、前記復元したデータコード語をセグメントに分割する(ステップS307)。
最後に、仕様モードに基づいてデータ文字を復号し、結果を出力する(ステップ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の場合)には、MFP100に対してその旨通知する(ステップS409)。
一方、該当するファイルが存在した場合(ステップS403でYESの場合)には、図3で説明したように、ファイルのアドレスを通知すると共に(ステップS129)、後段の差分情報抽出のために、そのファイル(データファイル)をユーザ(MFP100)に対して転送する(ステップS408)。
[ファイルアクセス権を含むポインター情報による電子ファイルの検索処理]
我々が扱う文書ファイルの中には、第3者による再利用を制限すべき物がある。しかしながら、図8では、ファイルサーバに蓄積されたファイルは全て自由にアクセスでき、ファイル全体、或いはその一部のオブジェクトを全て再利用することが可能なことを前提に説明した。
これに対し、ここでは、アクセス権の制限が有る電子ファイルをポインター情報から検索する過程の一例を図9のフローチャートを使用して説明する。
ステップS400から、ステップS403までは、図8と同様の為、説明を省略する。ファイルが特定された場合(ステップS403でYESの場合)、ファイルサーバはそのファイルのアクセス権情報を調べ、アクセス制限がある場合(ステップS404でYESの場合)には、MFP100に対してパスワードの送信を要求する(ステップS405)。
次に、MFP100は、操作者に対してパスワードの入力を促し、入力されたパスワードをファイルサーバに送信する(ステップS406)。
次に、ファイルサーバは、送信されたパスワードを照合し、一致した場合には(ステップS407のYES)、図3で説明した様に、ファイルのアドレスを通知する。このとき、ユーザの希望する処理が画像ファイルデータの取得であれば、MFP100に対してファイルを転送する(ステップS408)
なお、アクセス権の制御を行う為の認証の方法は、ステップS405、S406に示したパスワードによる方法に限定されず、例えば、指紋認証等の一般に広く用いられている生体認証や、カードによる認証等、全ての認証手段を用いることができる。
一方、ファイルサーバ内からファイルを特定できなかった場合(ステップS403のNO)には、図3のステップS132で説明したベクトル化処理に対しても、制限を加えることができる。即ち、紙文書を走査して得られたイメージ情報から、紙文書に対するアクセス権の制限の存在を検出した場合には、認証確認が取れた場合にのみベクトル化処理を行うことで、機密性の高い文書の使用に制限をかけることができる。
[ファイル検索処理]
次に、図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と名前をつけている。ブロックの総数は、入力ファイル中の全ブロック数であり、本実施の形態では、ブロックの総数Nを6にしている。
以下、これらの情報を使用して、データベース105内から、入力ファイルに類似したファイルのレイアウト検索を行うフローチャートを図10に示す。ここで、データベース105内のファイルは、図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において、候補として保存されたデータベースファイルをサムネイル等で表示する(ステップS127)。複数の中から操作者の選択が必要なら操作者の入力操作よってファイルの特定を行う。最後に、ステップS525にて、データベース105内の全てのファイルに対する処理が終了したか否かを判定し、終了したら、図10に示すフローチャートの処理を終了する。
なお、ステップS525にて、データベース105内の全てのファイルに対する処理が終了していないと判定された場合と、ステップS523にて、総合類似度が閾値Thより高くないと判定された場合と、ステップS511にて、ステップS511にて、入力ファイルにおけるブロックの総数Nと、データベースファイルにおけるブロックの総数nとの差が所定の範囲内にない場合には、ステップS526に進む。そして、ステップS526にて、データベース105の次のファイルへ移行し、ステップS510に進む。
[差分抽出処理]
次に、図3のステップS131で示す差分情報抽出処理について説明する。
図20は、差分情報を抽出する過程の一例を説明するフローチャートである。
図20において、入力画像とは図3のステップS120でイメージ情報として入力された入力画像を示し、電子ファイルとは図3のステップS125またはステップS128で得られたオリジナルの電子ファイルを示す。ここで入力画像は、図3のステップS121、S122、S123においてブロックセレクション処理、OCR/OMR処理、ポインター情報の検出が終わっているので、図4で示したブロックセレクション後のブロックレイアウト情報、図5で示したブロック情報、及び図7で示したポインター情報がすでに得られている。この様子を図21に示す。
図21は、図20で示す差分情報抽出処理を説明するための、電子ファイルと入力画像のイメージデータの内容、及びこれらのイメージデータに対してブロックセレクション処理を行った結果の一例を示す図である。
図21において、2110は電子ファイルの内容を示し、2111は電子ファイル2110に対してブロックセレクション処理を行った後のブロックレイアウト情報である。ここでは図示しないが、電子ファイルは、図5で示したブロック情報を別途持っている。また、2114は図7で示したポインター情報を示す2次元バーコードであり、2115はブロックセレクション処理後の2次元バーコードのブロックである。
2112は入力画像の内容を示し、2113は入力画像2112に対してブロックセレクション処理を行った後のブロックレイアウト情報である。ここでは図示しないが、入力画像は、図5で示したブロック情報を別途持っている。また、2116は図7で示したポインター情報を示す2次元バーコードであり、2117はブロックセレクション処理後の2次元バーコードのブロックである。電子ファイル2110とは異なり、入力画像2112には、手書き文字2118が記入されており、それをブロックセレクション処理することで、手書き文字ブロック2119がブロックレイアウト情報2113に生成されている。
以下に、図20と図21を用いて、差分情報抽出処理に関して記述する。
本実施の形態では、図3のステップS136で説明したように、ポインター情報は印刷時にイメージデータとして電子ファイルに付加される。このため、ステップS125で電子データを入手した段階では、まだ電子ファイルにポインター情報は付加されていない。そこで、まずステップS2001では、電子ファイル2110に対してポインター情報である2次元バーコード2114を付加する。
ステップS2002では、イメージデータとして付加されたポインター情報である2次元バーコード2114を含む電子ファイル2110に対してブロックセレクション処理を行う。ブロックセレクション処理に関しては、図4で説明を行った内容と同様である。図4では入力画像に対して、入力画像中のオブジェクト毎を塊(ブロック)として認識し、これら認識したブロックの各々が、文字、図画、写真、線、及び表等のうち、どの属性に属するかを判定し、判定した結果に基づいて、前記入力画像を異なる属性を持つ領域に分割する処理について説明したが、ステップS2002では、これと同様の処理を電子ファイル2110に対して行うことになる。
ステップS2003は、図3のステップS122と同様の処理である。すなわち、このステップS2003では、電子ファイル2110に対してブロックセレクション処理を行った後、各々のオブジェクトに対して、既知のOCR/OMR処理を行う。
ステップS2004は、図3のステップS123と同様の処理である。すなわち、このステップS2004では、電子ファイル2110から、ステップS2001で付加したポインター情報である2次元バーコード2114を検出する。
ステップS2005では、図3のステップS123において検出済みの入力画像2112のブロックレイアウト情報2113から、ポインター情報である2次元バーコード2117の座標を求めると共に、ステップS2004で検出した電子ファイル2110のブロックレイアウト情報2111から、ポインター情報である2次元バーコード2115の座標を求める。そして、これら2次元バーコード2117の座標と、2次元バーコード2115の座標とから、入力画像2112と電子ファイル2110の向きや大きさなどを比較する。
ステップS2006では、ステップS2005での比較結果から、入力画像2112に対して回転、拡大縮小、及び傾き補正などを、必要に応じて行う。これらの処理は、入力画像2112に対してだけ行うのではなく、ブロックセレクション後のブロックレイアウト情報2111、2113と、図21では図示しないブロック情報と、ポインター情報である2次元バーコード2115、2117にも施す。
また、ブロックレイアウト情報2111、2113、ブロック情報、及びポインター情報に関しては、回転、拡大縮小、及び傾き補正の少なくとも何れか1つを行った入力画像2112に対して、一連のブロックセレクション処理、OCR/OMR処理、及びポインター情報検出処理を再度行って更新しても構わない。
いずれにしても、ステップS2006によって、入力画像2112は電子ファイル2110と向きや大きさが揃うことになる。なお、図21の例では、入力画像2112と電子ファイル2110は、同じ向きを向いており、等倍で表示されているため、これらの処理を行う必要がない。
ステップS2007では、入力画像2112と電子ファイル2110の各々に対するブロックセレクション処理の結果得られるブロックレイアウト情報2113、2111において、分割されたブロックごとに同一の内容であるか否かを判断する。この判断は、各々のブロックレイアウト情報、ブロック情報、及びOCR/MCR情報から行う。図21では、手書き文字2118の部分のブロック2119が、入力画像2112と電子ファイル2110とで異なるブロックであると判断される。そして、その他のブロックは、同じであると判断される。
ステップS2008では、ステップS2007で同一と判断されたブロックを入力画像2112から消去する。図21では、手書き文字ブロック2119以外のブロックが消去される。
ステップS2009では、ステップS2008で消去されずに残ったブロックを、入力画像2112と電子ファイル2110との間の差分イメージデータとして抽出する。図21では手書き文字ブロック2119が差分イメージデータとして差分抽出される。
[ベクトル化処理]
次に、図3のステップS132で示されるベクトル化処理について詳説する。
これは、前記のようにして抽出された差分情報(差分イメージデータ)のみをベクトル化する場合と、ステップS128で電子ファイルが特定できなかった場合にイメージ全体をベクトル化する場合の2通りが想定されるが、ここではまず後者のイメージ全体をベクトル化する場合について説明する。
まず、文字ブロックに対しては、各文字に対して文字認識処理を行う。
『文字認識』
文字認識処理では、文字単位で切り出された画像に対し、パターンマッチの一手法を用いて認識を行い、対応する文字コードを得る。この文字認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする処理である。特徴ベクトルの抽出には、種々の公知手法があり、たとえば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法がある。
ブロックセレクション処理(ステップ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)。
以上によって図形ブロックを個別に再利用可能な個別の図形オブジェクトとして扱うことが可能になる。
[差分情報のベクトル化処理]
次に、ステップS132のベクトル化処理のうち、図20で抽出された差分情報(差分イメージデータ)のベクトル化処理について説明する。
ベクトル化に関しては、先に説明を行った[ベクトル化処理]と同等な処理を行う。これにより、手書きされた文字や、図21で示した手書き文字2118は、文字認識された後、文字のベクトルもしくはフォント化される。
ところが、手書き文字の場合、ブロックセレクション処理の結果、場合によってはテキストブロックと認識されずに細線と認識され、ラインブロックと判断される可能性がある。この場合には、先に説明を行った[ベクトル化処理]の項目で述べた『文字以外の部分のベクトル化』のように、輪郭を検出してアウトライン化することで、可視的にイメージデータに忠実なアウトラインによるベクトル化を行える。
なお、図21では、手書き文字2118での例を示しているが、手書きの細線、図面などに関しても同様であり、細線などに関しては、アウトラインによるベクトル化を、図面や図形などに関しては、先に説明した『図形認識』と同様な処理を行うことでベクトル化を行うことができる。
[背景画像の電子ファイル検索]
次に、ステップS133の背景画像の電子ファイルの検索処理に関して説明する。
図25は、図23及び図24で示した背景オブジェクトを(M×N)の格子で区切ったものである。ステップS132においてベクトル化処理された背景画像は、(M×N)の格子に区切られる。そして、区切られた各格子のブロック内の平均濃度Dを算出する。この計算を順次、ブロック毎に行っていき、その平均濃度Dの二次元マップを作成する。
そして、ファイルサーバのデータベース中にある背景画像の電子ファイルに対しても同様に二次元マップを作成し、二次元マップの各ブロックにおける平均濃度Dを順次比較する。各ブロックの平均濃度Dの値の差が、所定の閾値よりも小さい場合には、そのブロックは真とし、全ブロック中の真ブロックの数が所定の閾値よりも大きい場合、つまり、同じような濃度値のブロックが多い場合には、その背景画像の電子ファイルを候補として抽出する。平均濃度Dは、カラー信号としてR、G、Bで独立した数値として扱っても良い。また、図25の場合のように、くり抜かれたままのベクトル化後の背景画像に対して、図26に示すように、くり抜かれた箇所を近傍の濃度値で色塗りした後に、前述した平均濃度Dの値の比較を行っても良い。
[電子ファイルとの合成]
図22は、ベクトル化した差分部分を合成したオリジナルの電子ファイルの一例を示す図である。具体的に説明すると、図21の入力画像データ2112の手書き文字2118をベクトル化した様子を示した図である。
図22において、2200は、図21の電子ファイル2110に、手書き文字2118をベクトル化したベクトル文字2201を付加した合成後の新たな電子ファイルデータである。
図22に示したように、ベクトル化された手書き文字は、手書き文字2118に最も似たフォント及びサイズでベクトル文字2201として元の電子ファイル2110に合成される。なお、このベクトル化された手書き文字が合成される位置は、ブロックレイアウト情報2113の座標に対応する位置である。
以上のように、入力画像2112中に、手書き文字2118や、オリジナルの電子ファイルと異なる差分情報が含まれていた場合でも、入力画像2112と電子ファイル2100との差分部分の抽出を行い、その差分部分のベクトル化を行い、元の電子ファイル2100と差分部分との合成と保存を行い、さらに保存先(格納アドレス)の通知を行うことで、入力されたイメージデータの電子ファイル化を、容易に且つ確実に行うことができる。
[アプリデータへの変換処理]
ところで、一頁分のイメージデータをブロックセレクション処理(ステップS121)し、ベクトル化処理(ステップS132)した結果は、図15に示す様な中間データ形式のファイルとして変換されているが、このようなデータ形式は、ドキュメント・アナリシス・アウトプット・フォーマット(DAOF)と呼ばれる。
図15は、前記DAOFのデータ構造の一例を示す図である。
図15において、ヘッダ(Header)791では、処理対象の文書画像データに関する情報が保持される。レイアウト記述データ部792では、文書画像データ中のTEXT(文字)、TITLE(タイトル)、CAPTION(キャプション)、LINEART(線画)、PICTURE(自然画)、FRAME(枠)、及びTABLE(表)等の属性毎に認識された各ブロックの属性情報と、その矩形アドレス情報を保持する。
文字認識記述データ部793では、TEXT(文字)、TITLE(タイトル)、CAPTION(キャプション)等のTEXTブロックを文字認識して得られる文字認識結果を保持する。
表記述データ部794では、TABLEブロックの構造の詳細を格納する。画像記述データ部795では、PICTURE(自然画)やLINEART(線画)等のブロックのイメージデータを文書画像データから切り出して保持する。
このようなDAOFは、中間データとしてのみならず、それ自体がファイル化されて保存される場合もあるが、このファイルの状態では、所謂一般の文書作成アプリケーションで個々のオブジェクトを再利用することはできない。そこで、次に、このDAOFからアプリデータに変換する処理(ステップS135)について詳説する。
図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つのグループとしてい再グループ化される。なお、これらのグループ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の内部情報を出力する。
以上によりアプリデータへの変換処理が行える。
[ポインター情報付加処理]
次に、ステップS136で示すポインター情報付加処理について説明する。
今、処理すべき文書が検索処理で特定された場合、あるいはベクトル化によって元ファイルが再生できた場合において、その文書を記録処理する場合には、紙への記録の際にポインター情報を付与するようにする。このようにすることにより、その文書を用いて再度各種処理を行う場合に、元ファイルのデータを簡単に取得できる。
図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次元バーコードの他に、例えば、ポインター情報を直接文字列で文書に付加する方法や、文書内の文字列、特に文字と文字の間隔を変調して情報を埋め込む方法や、文書中の中間調画像中に埋め込む方法等、一般に電子透かしと呼ばれる方法を適用することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態を説明する。なお、本実施の形態では、前述した図3のステップS133における処理が異なるので、前述した第1の実施の形態と同一の部分についての詳細な説明を省略する。
前述した第1の実施の形態においては、図3のステップS133に示したように、ベクトル化後の背景画像と、ファイルサーバ中のデータベースに格納されている背景画像の電子ファイルとをパターンマッチングして、背景画像の電子ファイルを検索する方法を記載した。
これに対し、本実施の形態においては、背景画像中に、あらかじめ電子透かしを埋め込んでおき、この電子透かしに、背景画像の電子ファイルが格納されているファイルサーバ上の位置を示すポインター情報を持たせておくことで、背景画像の電子ファイルを入手する構成とする。このようにすれば、背景画像の電子ファイル検索処理をより高速に行うことができる。
(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
本発明の実施の形態を示し、画像処理システムの構成の一例を示すブロック図である。 本発明の実施の形態を示し、MFPの構成の一例を示すブロック図である。 本発明の実施の形態を示し、画像処理全体の概要を説明するフローチャートである。 本発明の実施の形態を示し、イメージ情報と、前記イメージ情報をブロックセレクション処理して得られるブロックの一例を示す図である。 本発明の実施の形態を示し、ブロックセレクション処理で得られた各ブロックに対するブロック情報の一例を表形式で示す図である。 本発明の実施の形態を示し、原稿画像中に付加された2次元バーコードを復号して、データ文字列を出力する過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、2次元バーコードが付加された原稿の一例を示す図である。 本発明の実施の形態を示し、ポインター情報から電子ファイルを検索する過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、アクセス権の制限が有る電子ファイルをポインター情報から検索する過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、ポインター情報を用いずに電子ファイルを検索する過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、曲率が極大となる点を示す図である。 本発明の実施の形態を示し、2つの輪郭線をひとまとめにし、太さを持った線として表現する様子を示す図である。 本発明の実施の形態を示し、ベクトルデータを図形オブジェクト毎にグループ化するまでの過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、図形要素を検出する過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、ドキュメント・アナリシス・アウトプット・フォーマット(DAOF)データ構造の一例を示す図である。 本発明の実施の形態を示し、DAOFからアプリデータに変換する過程の概略の一例を説明するフローチャートである。 本発明の実施の形態を示し、文書構造ツリーを生成する過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、文書構造ツリーの具体的な内容の一例を説明する図である。 本発明の実施の形態を示し、ポインター情報としてのデータ文字列を2次元バーコードにて符号化して画像中に付加する過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、差分情報を抽出する過程の一例を説明するフローチャートである。 本発明の実施の形態を示し、電子ファイルと入力画像のイメージデータの内容、及びこれらのイメージデータに対してブロックセレクション処理を行った結果の一例を示す図である。 本発明の実施の形態を示し、ベクトル化した差分部分を合成したオリジナルの電子ファイルの一例を示す図である。 本発明の実施の形態を示し、ベクトル化された背景オブジェクトの一部がくり抜かれてしまう様子を示す図である。 本発明の実施の形態を示し、背景オブジェクトが適切になる様子を示した図である。 本発明の実施の形態を示し、一部がくり抜かれた背景オブジェクトを(M×N)の格子で区切って示した図である。 本発明の実施の形態を示し、適切な背景オブジェクトを(M×N)の格子で区切って示した図である。
符号の説明
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 (10)

  1. イメージ画像を構成するオブジェクトをベクトル化するベクトル化手段と、
    前記ベクトル化手段によってベクトル化されたオブジェクトに含まれる背景オブジェクトと類似する電子データを検索する検索手段と、
    前記検索手段によって検索された前記電子データを、前記背景オブジェクトと差し換える差し換え手段とを有することを特徴とする画像処理装置。
  2. イメージ画像を構成するオブジェクトをベクトル化するベクトル化手段と、
    前記ベクトル化手段によってベクトル化されたオブジェクトに含まれる背景オブジェクトに対応するオリジナルの電子データの所在を示すポインター情報を、前記イメージ画像から抽出する抽出手段と、
    前記抽出手段によって抽出されたポインター情報に基づいて得られる前記オリジナルの電子データを、前記背景オブジェクトと差し換える差し換え手段とを有することを特徴とする画像処理装置。
  3. イメージ画像から、前記イメージ画像に対応する電子データの所在を示すポインター情報を抽出するポインター抽出手段と、
    前記ポインター抽出手段により抽出されたポインター情報に基づいて、前記イメージ画像に対応する電子データを検索する検索手段と、
    前記検索手段により検索された電子データと、前記イメージ画像との差分情報を抽出する差分情報抽出手段と、
    前記差分情報抽出手段により抽出された差分情報をベクトル化するベクトル化手段と、
    前記ベクトル化手段によりベクトル化された差分情報を、前記検索手段により検索された電子データに合成する合成手段とを有することを特徴とする画像処理装置。
  4. イメージ画像を構成するオブジェクトをベクトル化するベクトル化ステップと、
    前記ベクトル化ステップによってベクトル化されたオブジェクトに含まれる背景オブジェクトと類似する電子データを検索する検索ステップと、
    前記検索ステップによって検索された前記電子データを、前記背景オブジェクトと差し換える差し換えステップとを有することを特徴とする画像処理方法。
  5. イメージ画像を構成するオブジェクトをベクトル化するベクトル化ステップと、
    前記ベクトル化ステップによってベクトル化されたオブジェクトに含まれる背景オブジェクトに対応するオリジナルの電子データの所在を示すポインター情報を、前記イメージ画像から抽出する抽出ステップと、
    前記抽出ステップによって抽出されたポインター情報に基づいて得られる前記オリジナルの電子データを、前記背景オブジェクトと差し換える差し換えステップとを有することを特徴とする画像処理方法。
  6. イメージ画像から、前記イメージ画像に対応する電子データの所在を示すポインター情報を抽出するポインター抽出ステップと、
    前記ポインター抽出ステップにより抽出されたポインター情報に基づいて、前記イメージ画像に対応する電子データを検索する検索ステップと、
    前記検索ステップにより検索された電子データと、前記イメージ画像との差分情報を抽出する差分情報抽出ステップと、
    前記差分情報抽出ステップにより抽出された差分情報をベクトル化するベクトル化ステップと、
    前記ベクトル化ステップによりベクトル化された差分情報を、前記検索ステップにより検索された電子データに合成する合成ステップとを有することを特徴とする画像処理方法。
  7. イメージ画像を構成するオブジェクトをベクトル化するベクトル化ステップと、
    前記ベクトル化ステップによってベクトル化されたオブジェクトに含まれる背景オブジェクトと類似する電子データを検索する検索ステップと、
    前記検索ステップによって検索された前記電子データを、前記背景オブジェクトと差し換える差し換えステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
  8. イメージ画像を構成するオブジェクトをベクトル化するベクトル化ステップと、
    前記ベクトル化ステップによってベクトル化されたオブジェクトに含まれる背景オブジェクトに対応するオリジナルの電子データの所在を示すポインター情報を、前記イメージ画像から抽出する抽出ステップと、
    前記抽出ステップによって抽出されたポインター情報に基づいて得られる前記オリジナルの電子データを、前記背景オブジェクトと差し換える差し換えステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
  9. イメージ画像から、前記イメージ画像に対応する電子データの所在を示すポインター情報を抽出するポインター抽出ステップと、
    前記ポインター抽出ステップにより抽出されたポインター情報に基づいて、前記イメージ画像に対応する電子データを検索する検索ステップと、
    前記検索ステップにより検索された電子データと、前記イメージ画像との差分情報を抽出する差分情報抽出ステップと、
    前記差分情報抽出ステップにより抽出された差分情報をベクトル化するベクトル化ステップと、
    前記ベクトル化ステップによりベクトル化された差分情報を、前記検索ステップにより検索された電子データに合成する合成ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
  10. 前記請求項7〜9の何れか1項に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2003371038A 2003-10-30 2003-10-30 画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 Pending JP2005136729A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003371038A JP2005136729A (ja) 2003-10-30 2003-10-30 画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003371038A JP2005136729A (ja) 2003-10-30 2003-10-30 画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JP2005136729A true JP2005136729A (ja) 2005-05-26

Family

ID=34647857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003371038A Pending JP2005136729A (ja) 2003-10-30 2003-10-30 画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP2005136729A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243442A (ja) * 2006-03-07 2007-09-20 Konica Minolta Business Technologies Inc 画像処理装置、画像処理方法および画像処理プログラム
JP2008080621A (ja) * 2006-09-27 2008-04-10 Oki Data Corp 印刷システム及び複合端末装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243442A (ja) * 2006-03-07 2007-09-20 Konica Minolta Business Technologies Inc 画像処理装置、画像処理方法および画像処理プログラム
JP4650303B2 (ja) * 2006-03-07 2011-03-16 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP2008080621A (ja) * 2006-09-27 2008-04-10 Oki Data Corp 印刷システム及び複合端末装置

Similar Documents

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