(57)【要約】【課題】  画像データを自由に編集、加工して印刷された文書画像をコピーする場合、編集、加工後の画像をコピーしたい場合と、編集、加工前のオリジナル画像をコピーしたい場合がある。【解決手段】  原稿画像を入力し(S301)、入力画像から、オリジナル画像の記憶場所を特定するポインタ情報および入力画像がオリジナル画像を編集、加工したものか否かを示す画像処理情報を抽出し(S304、S306)、入力画像とオリジナル画像の何れを用いるかを示す優先データ情報を取得する(S308)。ポインタ情報が抽出されない場合、画像処理情報が未編集、未加工を示す場合、または、優先データ情報が入力画像の使用を示す場合は、入力画像データをベクトルデータに変換し(S310)、ポインタ情報が抽出され、画像処理情報が編集、加工済みを示し、優先データ情報がオリジナル画像の使用を示す場合は、ポインタ情報に基づきオリジナル画像を入力し(S311)、ベクトルデータまたはオリジナル画像に基づき、画像を形成する(S313)。【選択図】  図3
2006155381.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する第一の入力手段と、
前記画像データから、前記画像データのオリジナルデータの記憶場所を特定するポインタ情報、並びに、前記画像データが前記オリジナルデータを画像処理したものか否かを示す画像処理情報を抽出する抽出手段と、
前記画像データと前記オリジナルデータの何れを用いるかを示す選択情報を取得する取得手段と、
前記ポインタ情報が抽出されない場合、前記画像処理情報が未画像処理を示す場合、または、前記選択情報が前記画像データの使用を示す場合は、前記画像情報をベクトルデータに変換する変換手段と、
前記ポインタ情報が抽出され、前記画像処理情報が画像処理済みを示し、および、前記選択情報が前記オリジナルデータの使用を示す場合は、前記ポインタ情報に基づき前記オリジナルデータを入力する第二の入力手段と、
前記ベクトルデータまたは前記オリジナルデータに基づき、画像を形成する画像処理手段とを有することを特徴とする画像処理装置。
【請求項２】
前記ポインタ情報および前記画像処理情報は、二次元バーコードまたは電子透かしとして前記画像データに付加されていることを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記第一の入力手段は、原稿画像を読み取る画像読取装置、または、画像取得装置から画像データを入力するインタフェイスであることを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項４】
さらに、画像データを記憶するメモリ、および、ネットワークインタフェイスを有し、前記第二の入力手段は、前記メモリまたは前記ネットワークインタフェイスを介して外部装置から前記オリジナルデータを入力することを特徴とする請求項1から請求項3の何れかに記載された画像処理装置。
【請求項５】
さらに、前記選択情報を設定するための設定手段を有することを特徴とする請求項1から請求項4の何れかに記載された画像処理装置。
【請求項６】
さらに、前記ポインタ情報が抽出され、前記画像処理情報が画像処理済みを示す場合、ユーザに前記選択情報の設定を促し、前記ユーザの指示に従って前記選択情報を設定する設定手段を有することを特徴とする請求項1から請求項4の何れかに記載された画像処理装置。
【請求項７】
さらに、前記第一の入力手段が入力した画像データから像域を分離する分離手段を有し、前記抽出手段、変換手段および前記第二の入力手段は、前記像域ごとに、前記処理を実行することを特徴とする請求項1から請求項6の何れかに記載された画像処理装置。
【請求項８】
前記画像処理は、前記像域ごとに拡大もしくは縮小処理、および/または、移動処理を施して画像のレイアウトを変更する処理であることを特徴とする請求項7に記載された画像処理装置。
【請求項９】
前記画像処理は、文字属性の前記像域の文字サイズおよび/またはフォント種を変更する処理であることを特徴とする請求項7に記載された画像処理装置。
【請求項１０】
前記画像処理は、カラー画像を白黒画像に変換する処理であることを特徴とする請求項1から請求項7の何れかに記載された画像処理装置。
【請求項１１】
画像データを入力し、
前記画像データから、前記画像データのオリジナルデータの記憶場所を特定するポインタ情報を抽出し、
前記画像データから、前記画像データが前記オリジナルデータを画像処理したものか否かを示す画像処理情報を抽出し、
前記画像データと前記オリジナルデータの何れを用いるかを示す選択情報を取得し、
前記ポインタ情報が抽出されない場合、前記画像処理情報が未画像処理を示す場合、または、前記選択情報が前記画像データの使用を示す場合は、前記画像データをベクトルデータに変換し、
前記ポインタ情報が抽出され、前記画像処理情報が画像処理済みを示し、および、前記選択情報が前記オリジナルデータの使用を示す場合は、前記ポインタ情報に基づき前記オリジナルデータを入力し、
前記ベクトルデータまたは前記オリジナルデータに基づき、画像を形成することを特徴とする画像処理方法。
【請求項１２】
入力された画像データから、前記画像データのオリジナルデータの記憶場所を特定するポインタ情報を抽出し、前記画像データが前記オリジナルデータを画像処理したものか否かを示す画像処理情報を取得し、
前記ポインタ情報が抽出され、前記画像処理情報が画像処理済みを示す場合、前記画像データと前記オリジナルデータの何れかを選択させることを特徴とする画像処理方法。
【請求項１３】
画像処理装置を制御して、請求項11または請求項12に記載された画像処理を実現することを特徴とするプログラム。
【請求項１４】
請求項13に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその方法に関し、例えば、入力画像データとそのオリジナルデータを選択的に使用する画像処理に関する。
【背景技術】
【０００２】
近年、環境問題が叫ばれる中、オフィスでのペーパレス化が急速に進んでいる。
【０００３】
ペーパレス化の第一の方法は、例えば、バインダなどで蓄積された文書をスキャナなどで読み取り、文書画像のラスタデータまたはその符号データ（以下、これらを総称して「画像データ」という）として、ポータブルドキュメントフォーマット(PDF)などのコンパクトなファイルに変換し、記憶装置に格納する（例えば、特開2001-358863公報参照）。
【０００４】
第二の方法は、機能が拡張された記録装置、マルチファンクション複合機(MFP)を用いて記憶装置に文書や画像のオリジナルデータファイルを格納しておき、オリジナルデータファイルを印刷する際に、オリジナルデータファイルが存在する記憶装置の記憶領域へのポインタ情報を、印刷文書の表紙や印刷情報中に付加情報として記録する（例えば、特開平10-285378号公報参照）。ポインタ情報により、直ちにオリジナルデータファイルにアクセスすることができ、そのオリジナルデータファイルを入力画像データとして扱うことにより、画像データの不要な増加を防止することができる。
【０００５】
第一の方法は、スキャナで読み取った文書画像をコンパクトなPDFファイルとして保存可能であるが、PDFファイルをプリントアウトした印刷文書から保存ファイルを検索することはできず、保存ファイルの再利用が難しい。
【０００６】
第二の方法は、ポインタ情報からオリジナルデータファイルを検索し、印刷することはできるが、オリジナルデータファイルの情報の編集や再加工にまでは対応しない。
【０００７】
印刷文書や、画像データの形態で保存された情報の再利用を容易にするには、入力画像データをベクトルデータに変換して、再利用性を高めることが考えられる。ベクトル変換は、文書画像の画像データまたは画像データの形態で保存されている電子データに対して、各頁の画像を像域分離し、テキスト、表、写真、線画といった領域に分割する。
【０００８】
そして、各領域について、例えばテキスト領域であれば文字認識し、さらにテキストを表現する画素を全体の画像から切り出してアウトラインベクトル化することでベクトル変換する。アウトラインベクトル化することで、文字は拡大縮小しても画質の変わらない解像度非依存の電子データになる。また、表については、罫線を表現する画素を全体の画像から切り出してアウトラインベクトル化しすることで解像度非依存の電子データへ変換し、さらに、図形認識を行って表構造を認識する。写真、線画なども同様に、全体の画像から切り出しそれぞれ個別に変換する。
【０００９】
このように、全体の画像から切り出され、個別に最適な処理が施されたデータは、それぞれレイアウトを変更するなどの編集が可能になり、編集後のデータを印刷することができる。勿論、切り出したデータを任意に選択し、別のデータとして保存または送信することも可能である。
【００１０】
さらに、入力画像データがベクトル化されているだけでなく、オリジナルデータファイルへのポインタ情報が含まれるようなメタデータが付加された形式の画像データの場合、オリジナルデータファイルにアクセスし、オリジナルデータファイルを印刷または転送することもできる。オリジナルデータがベクトルデータの場合は、受信したオリジナルデータを、直接、編集、加工することができるが、オリジナルデータにベクトル化処理が施されていない画像データの場合は、受信したオリジナルデータにベクトル変換を施し、その後、編集、加工を行えばよい。
【００１１】
このようなベクトル変換による、画像データの加工、編集が実現されると、例えば、視力が低い人へ資料を配布する際に、オリジナルデータ中の文字サイズを任意の大きさに拡大して印刷することで、視力が低い人にも見易い印刷文書を配布するなど、配布先を考慮した印刷を行うことができる。
【００１２】
さらに、加工編集の一例としてMFPで原稿画像をスキャンした後、プレビュー表示を行い、タッチパネル上で像域分離で得られた各オブジェクトごとに任意に拡大して印刷する方法がある。これらの操作を、例えば視力の低い人が行う場合を考慮して、テキストは自動的に任意の大きさに拡大し、レイアウトする一連の作業も自動化すれば、視力の低い人にはより親切な機能を提供することができる。勿論、コンピュータなどを介さずに、MFP上で簡易な操作によりユーザが所望する印刷結果を提供する手法は、コンピュータの操作に不慣れな人にとって非常に優しい手法である。
【００１３】
しかし、上記のような入力画像データを自由に編集、加工して印刷された文書画像や、画像データとして新たに記憶された文書画像を、再度、MFPに入力して再利用することを想定すると、編集、加工前のオリジナルデータを使いたい場合と、編集、加工後の画像データを使いたい場合が存在すると考えられる。例えば、前述した視力の低い人向けにレイアウトが変更された形態で印刷された文書をコピーして配布する場合を考えると、再コピーの文書の配布先が視力の低い人であればレイアウトが変更された形態のままの印刷するのが望ましいし、他方、配布先が通常の視力を有する人の場合はオリジナルデータのレイアウトで印刷する方が望ましい。このようなことを考慮すると、MFPはオリジナルデータおよび編集、加工後の画像データのどちらの出力にも対応しなければならない。
【００１４】
【特許文献１】特開2001−358863公報
【特許文献２】特開平10-285378号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明は、入力画像データとそのオリジナルデータを選択的に使用して画像を形成することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１７】
本発明は、画像データを入力し、前記画像データから、前記画像データのオリジナルデータの記憶場所を特定するポインタ情報を抽出し、前記画像データから、前記画像データが前記オリジナルデータを画像処理したものか否かを示す画像処理情報を抽出し、前記画像データと前記オリジナルデータの何れを用いるかを示す選択情報を取得し、前記ポインタ情報が抽出されない場合、前記画像処理情報が未画像処理を示す場合、または、前記選択情報が前記画像データの使用を示す場合は、前記画像データをベクトルデータに変換し、前記ポインタ情報が抽出され、前記画像処理情報が画像処理済みを示し、および、前記選択情報が前記オリジナルデータの使用を示す場合は、前記ポインタ情報に基づき前記オリジナルデータを入力し、前記ベクトルデータまたは前記オリジナルデータに基づき、画像を形成することを特徴とする。
【００１８】
また、入力された画像データから、前記画像データのオリジナルデータの記憶場所を特定するポインタ情報を抽出し、前記画像データが前記オリジナルデータを画像処理したものか否かを示す画像処理情報を取得し、前記ポインタ情報が抽出され、前記画像処理情報が画像処理済みを示す場合、前記画像データと前記オリジナルデータの何れかを選択させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、入力画像データとそのオリジナルデータを選択的に使用して画像を形成することができる。従って、例えば、ベクトル変換やメタ情報により、入力画像を自由に編集、加工して印刷された画像を入力して再利用する際に、加工前のオリジナルデータと加工後の入力画像データのうち、所望の画像を自由に選択することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００２１】
［画像処理システム］
図1は実施例1の画像処理システムの構成例を示すブロック図である。
【００２２】
この画像処理システムは、オフィス（のような複数の区分）10と20がインターネットのようなWAN 104で接続された環境で実現される。
【００２３】
オフィス10内に構築されたLAN 107には、複合機(MFP: Multi-Function Processor) 100、MFP 100を制御するマネージメントPC 101、クライアントPC 102、文書管理サーバ106、文書管理サーバによって管理されるデータベースサーバ105などが接続されている。オフィス20はオフイス10とほぼ同様の構成を有するが、オフィス20内に構築されたLAN 108には、少なくとも文書管理サーバ106、文書管理サーバによって管理されるデータベースサーバ105などが接続されている。オフィス10のLAN 107とオフィス20のLAN 108は、LAN 107に接続されたプロキシサーバ103、WAN 104、および、LAN 108に接続されたプロキシサーバ103を介して、相互に接続されている。
【００２４】
MFP 100は、文書画像を読み取り、読み取った画像を処理する画像処理の一部を担当する。MFP 100から出力される画像信号は、通信線109を介してマネージメントPC 101に入力される。マネージメントPC 101は、通常のパーソナルコンピュータ(PC)で、画像記憶するハードディスクなどのメモリ、ハードウェアまたはソフトウェアで構成される画像処理部、CRTやLCDなどのモニタ、マウスやキーボードなどの入力部を有するが、その一部はMFP 100に一体化して構成されている。なお、以下では、マネージメントPC 101において、下記の検索処理などを実行する例を説明するが、マネージメントPC 101が行う処理をMFP 100で実行するようにしても構わない。
【００２５】
［MFP］
図2はMFP 100の構成例を示すブロック図である。
【００２６】
オートドキュメントフィーダ(ADF)を含む画像読取部110は、一枚または重ねられた複数の原稿それぞれの画像を、光源で照射し、原稿からの反射像をレンズで固体撮像素子上に結像し、固体撮像素子からラスタ順の画像読取信号（例えば600dpi、8ビット）を得る。原稿を複写する場合は、この画像読取信号をデータ処理部115で記録信号へ変換し、複数枚の記録紙に複写する場合は、一旦、記憶部111に一頁分の記録信号を記憶した後、記録信号を繰り返し記録部112に出力することで、複数の記録紙に画像を形成する。
【００２７】
一方、クライアントPC 102から出力されるプリントデータは、LAN 107を介してネットワークインタフェイス(I/F)114へ入力され、データ処理部装置115によって記録可能なラスタデータに変換された後、記録部112によって記録紙上に画像として形成される。
【００２８】
MFP 100に対する操作者の指示は、MFP 100に装備されたキー操作部とマネージメントPC 101のキーボードやマウスからなる入力部113によって行われる。操作入力の表示および画像処理状態の表示などは表示部116によって行われる。
【００２９】
上記のMFP 100の動作は、データ処理部115内の、例えばワンチップマイクロコントローラで構成される制御部115aで制御される。
【００３０】
なお、記憶部111は、マネージメントPC 101からも制御可能である。MFP 100とマネージメントPC 101と間のデータの授受および制御は、ネットワークI/F 117および両者を直結する信号線109を介して行われる。
【００３１】
なお、MFP 100は、ディジタルカメラやディジタルビデオなどの撮像装置、ポータブルデータアシスタント(PDA)などの形態端末装置、ファクシミリなどから画像データを入手するインタフェイスを入力部113の一部として備えていてもよい。
【００３２】
［処理の概要］
図3は上記の画像処理システムによる処理の概要を説明するフローチャートである。
【００３３】
まず、MFP 100は、画像読取部110を動作させて、一枚の原稿の画像をラスタ走査して、画像読取信号を取得する。画像読取信号は、データ処理部115によって前処理され、入力画像の一頁分の画像データとして、記憶部111に保存される(S301)。
【００３４】
次に、マネージメントPC 101によってブロックセレクション(BS)処理を行い、記憶部111に格納された画像データを、文字または線画を含む文字・線画領域、ハーフトーンの写真領域、不定形の画像領域、その他の領域に分割する。さらに、文字・線画領域については、主に文字を含む文字領域、主に表、図形などを含む線画領域を分離し、線画領域は表領域および図形領域に分離する(S302)。なお、実施例1では連結画素を検知し、連結画素の外接矩形領域の形状、サイズ、画素密度などを用いて、属性ごとの領域に分割するが、その他の領域分割手法を用いても構わない。
【００３５】
文字領域は、段落などの塊をブロックとして矩形ブロック（文字領域矩形ブロック）にセグメント化する。線画領域は、表、図形などの個々のオブジェクト（表領域矩形ブロック、線画領域矩形ブロック）ごとに、矩形ブロックにセグメント化する。また、ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロックなどの矩形ブロックにセグメント化する。なお、これら矩形ブロックの情報を「領域分割情報」という。
【００３６】
次に、各セグメントに埋め込まれたオリジナルデータファイルのポインタ情報を抽出するため、OCR、OMR処理を行う(S303)。具体的には、入力画像中に付加情報として記録された二次元バーコード、あるいは、URLに該当するオブジェクトを検出し、OCRによってURLを文字認識し、OMRによって二次元バーコードを解読して、各セグメントのオリジナルデータファイルのポインタ情報を検出する。なお、ポインタ情報を付加する手段は、二次元バーコードに限定されるものではなく、隣接する文字列の間隔の変化として情報を埋め込む方法、ハーフトーンの画像に埋め込む方法など、直接視認されない、いわゆる電子透かしによる方法などがある。
【００３７】
次に、OCR、OMR処理の結果もしくは電子透かし情報からポインタ情報を抽出し(S304)、ステップS305に判定により、ポインタ情報を抽出した場合は処理をステップS306に進め、抽出しなかった場合は処理をステップS310へ進める。
【００３８】
ポインタ情報を抽出した場合は、OCR、OMR処理の結果もしくは電子透かし情報に含まれる画像処理情報を抽出し(S306)、当該セグメントの画像がオリジナルデータから編集、加工されたものか否かを判定する(S307)。
【００３９】
オリジナルデータの編集、加工とは、レイアウトの変更や色みの補正、フォントの種類変更などに相当する。例えば、図4Aに示すオリジナルデータを、図4Bに示す画像データに変更することである。図4Bに示す画像データは、MFP 100を用いて印刷する際に、ベクトル化処理などを用いて、文字領域を拡大し、文字を読み易くレイアウト変更したものである。
【００４０】
図4Bに示す画像は、MFP 100を用いて印刷する際に、文字が読み易くなるように、オリジナルデータにレイアウト変更を加えてある。具体的には、ベクトルデータとして送られてきたオリジナルデータに対して、文字領域を拡大し、フォントサイズを大きくし、一方、写真領域は画像データの解像度を変換して縮小したものである。なお、変更したフォントサイズ情報や縮小率などの情報も画像処理情報の一部として記録されている。
【００４１】
図4A、4Bに示す例の他、MFP 100で印刷する際にフォントを変換したり、白黒機のMFP 100でカラーのオリジナルデータを印刷した場合なども、オリジナルデータから編集、加工された画像データとみなしても構わない。
【００４２】
画像処理情報に基づき当該セグメントがオリジナルデータを編集、加工したものと判定した場合は、当該セグメントをオリジナルデータにするか、入力画像データにするかを示す優先データ情報をMFP 100の制御部115aから取得する(S308)。
【００４３】
当該セグメントの画像データとオリジナルデータが同一、つまり編集、加工が施されていない場合、あるいは、優先データ情報がオリジナルデータの優先を示す場合は、ポインタ情報に従い記憶部111などを検索してオリジナルデータを取得する(S311)。なお、オリジナルデータファイルは、記憶部111だけでなく、クライアントPC 102のハードディスク内、オフィス10または20のデータベースサーバ105内などに格納されている場合もある。そのような場合もポインタ情報によってオリジナルデータファイルを検索することができる。
【００４４】
また、ポインタ情報を抽出しなかった場合、あるいは、優先データ情報が入力画像データの優先を示す場合は、当該セグメントのベクトル化処理を行い、ベクトル化処理により各セグメントの画像データをベクトルデータに変換する(S310)。
【００４５】
次に、総てのセグメントを処理したか否かを判定し(S312)、未処理のセグメントがあれば処理をステップS303に戻し、総てのセグメントの処理が終了した場合、MFP 100はベクトル処理されたデータおよび/または取得したオリジナルデータに基づき文書を印刷する(S313)。なお、文書を印刷するだけでなく、クライアントPC 102に文書を送信したり、オフィス10または20の文書管理サーバ106に文書を送信して、データベースサーバ105に格納することもできる。
【００４６】
以下では、図3に示した主要なステップの処理について詳細に説明する。
【００４７】
［ブロックセレクション(S302)］
ブロックセレクションは、図5に示す一頁の画像をオブジェクトの集合体と認識して、各オブジェクトの属性を文字(TEXT)、図画(PICTURE)、写真(PHOTO)、線画(LINE)、表(TABLE)に判別し、異なる属性を持つセグメント（ブロック）に分割する処理である。次に、ブロックセレクションの具体例を説明する。
【００４８】
先ず、処理すべき画像を白黒画像に二値化して、輪郭線追跡によって黒画素で囲まれる画素の塊を抽出する。所定面積以上の黒画素の塊については、その内部の白画素について輪郭線追跡を行い白画素の塊を抽出する。さらに、所定面積以上の白画素の塊の内部の黒画素の塊を抽出するというように、黒画素および白画素の塊の抽出を再帰的に繰り返す。
【００４９】
このようにして得られた画素塊に外接する矩形ブロックを生成し、矩形ブロックの大きさおよび形状に基づき属性を判定する。例えば、縦横比が1に近く、大きさが所定範囲の画素塊を文字属性の画素塊とし、さらに、近接する文字属性の画素塊が整列していてグループ化が可能な場合はそれらを文字領域とする。また、縦横比が小さい扁平な画素塊を線画領域に、所定以上の大きさで、かつ、矩形に近い形状を有し、整列した白画素塊を内包する黒画素塊が占める範囲を表領域に、不定形の画素塊が散在する領域を写真領域、その他の任意形状の画素塊を図画領域に、のようにそれぞれ分類する。
【００５０】
図6はブロックセレクションの結果の一例を示す図で、図6(a)は抽出された各矩形ブロックのブロック情報を示す。ブロック情報には、各ブロックの属性、位置の座標X、Y、幅W、高さH、OCR情報などが含まれる。属性は1〜5の数値で与えられ、「1」は文字属性、「2」は図面属性、「3」は表属性、「4」は線画属性、「5」は写真属性を表す。また、座標X、Yは入力画像における各矩形ブロックの始点のXY座標（左上角の座標）を、幅W、高さHは矩形ブロックのX座標方向の幅、Y座標方向の高さを、OCR情報はポインタ情報の有無をそれぞれ表す。
【００５１】
また、図6(b)は入力ファイル情報で、ブロックセレクションによって抽出された矩形ブロックの総数を示す。
【００５２】
これら矩形ブロックごとのブロック情報はセグメントのベクトル化に利用される。また、ブロック情報によって、ベクトル化されたセグメントとラスタデータの相対位置関係を特定することができ、入力画像のレイアウトを損わずにベクトル化領域とラスタデータ領域を合成することが可能になる。
【００５３】
［ポインタ情報および画像処理情報の抽出(S304、S306)］
図7はセグメントの画像データからポインタ情報および画像処理情報を抽出する処理を示すフローチャートで、抽出対象の画像データがデータ処理部115のページメモリ（不図示）に格納された後、データ処理部115（またはマネージメントPC 101）によって実行される処理である。なお、抽出対象の画像には、図4Bに一例を示すように、文字領域、図面領域、および、二次元バーコード（例えばQRコード）のシンボルがあるとする。
【００５４】
まず、ブロックセレクションの処理結果であるブロック情報から、二次元バーコードシンボルの位置を検出する(S701)。QRコードシンボルは、四隅のうちの三隅に、特定の位置検出要素パターンが設けられ、位置検出要素パターンを検出することで、QRコードシンボルを検出することができる。
【００５５】
次に、位置検出要素パターンに隣接する形式情報を復元し、シンボルに適用されている誤り訂正レベルおよびマスクパターンを取得し(S702)、シンボルの型番（モデル）を決定し(S703)、取得したマスクパターンを使って、QRコードのシンボルの符号化領域ビットパターンを排他的論理和(XOR)演算し、QRコードシンボルのマスク処理を解除する(S704)。
【００５６】
続いて、決定したモデルに基づき配置規則を取得し、この配置規則に基づきシンボルキャラクタを読み取り、メッセージおよび誤り訂正コード語を復元する(S705)。そして、復元されたメッセージについて、誤り訂正コード語に基づき、誤りを検出し(S706)、誤りを検出した場合は復元したメッセージを訂正する(S707)。
【００５７】
次に、復元されたメッセージより、モード指示子および文字数指示子に基づき、データコード語をセグメントに分割し、データコード語を復元し(S708)、検出した仕様モードに基づきデータコード文字を復号して、ポインタ情報および画像処理情報として出力する(S709)。
【００５８】
二次元バーコードに組み込まれたデータは、オリジナルデータファイルのポインタ情報および画像処理情報を表す。ポインタ情報は、例えばファイルサーバ名およびファイル名からなるパス名、あるいは、対応するファイルを示すURLなどで構成される。画像処理情報は、例えば画像処理が施された場合は‘1’を、施されていない場合は‘0’をとる。
【００５９】
実施例1では、ポインタ情報および画像処理情報が二次元バーコードの形で付加された画像データの例を説明したが、ポインタ情報および画像処理情報の記録形態として様々な方法を採用し得る。例えば、所定のルール（例えば暗号化）に従う文字列によってポインタ情報および画像処理情報を直接文字列として記録し、ブロックセレクションによって文字列の矩形ブロックを検出してもよい。検出された文字列を認識（例えば復号）することによりポインタ情報および画像処理情報を取得し得る。あるいは、文字領域において、隣接する文字列の間隔に視認し難い程度の変調を加え、当該文字列の間隔の変調情報によってポインタ情報および画像処理情報を表現し得る。このような電子透かし情報は、後述する文字認識処理を行う際に、各文字の間隔を検出することによって検出することができ、ポインタ情報および画像処理情報を取得し得る。勿論、写真領域や図面領域に電子透かしとしてポインタ情報および画像処理情報を付加することも可能である。
【００６０】
［電子ファイルの取得(S311)］
マネージメントPC 101は、ポインタ情報に含まれるパス名またはURLに基づき、ファイルサーバを特定し、ファイルサーバ（MPF 100のデータ処理部115、クライアントPC 102または文書管理サーバ106に相当する）にアクセスしてオリジナルデータファイルの転送を要求する。この要求を受信したファイルサーバは、要求に添付されたパス名またはURLに基づきオリジナルデータファイルを検索する。
【００６１】
ファイルサーバは、オリジナルデータファイルを検出した場合はオリジナルデータファイルをMFP 100のデータ処理部115に転送するが、オリジナルデータファイルを検出できなかった場合は、その旨をマネージメントPC 101（またはデータ制御部115）に通知する。
【００６２】
［ベクトル化処理(S310)］
まず、ベクトル化方法には、次の手法が存在する。
【００６３】
（a）文字属性のセグメントの場合は、OCR処理により文字画像を文字コードに変換する、または、文字のサイズ、スタイル、字体を認識して視覚的に忠実なフォントデータに変換する。
【００６４】
（b）線画または文字属性のセグメントで、OCR処理による文字認識が不可能な場合は、線画または文字の輪郭を追跡し、輪郭情報（アウトライン）を線分のつながりとして表現する形式に変換する。
【００６５】
（c）図面属性のセグメントの場合は、図面オブジェクトの輪郭を追跡し、輪郭情報を線分のつながりとして表現する形式に変換する。
【００６６】
（d）上記(b)または(c)の手法で得られた線分形式のアウトライン情報をベジェ関数などでフィッティングして関数情報に変換する。
【００６７】
（e）上記(c)の手法で得られた図面オブジェクトの輪郭情報から、図形の形状を認識し、円、矩形、多角形などの図形定義情報に変換する。
【００６８】
（f）表属性のセグメントの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。
【００６９】
以上の手法のほかにも、画像データをコード情報、図形情報、関数情報などのコマンド定義形の情報に置き替える種々のベクトル化処理が考えられる。
【００７０】
［文字領域のベクトル化］
図8はベクトル化処理(S310)の詳細を示すフローチャートで、データ処理部115（またはマネージメントPC 101）によって実行される処理である。
【００７１】
まず、ブロック情報を参照して文字属性のセグメントか否か判断し(S901)、文字属性のセグメントであればステップS902に進んでパターンマッチングの一手法を用いて文字認識を行い、対応する文字コードを得る。
【００７２】
また、文字属性のセグメント以外の場合は、詳細は後述するが、画像の輪郭に基づくベクトル化を実行する(S912)。
【００７３】
文字属性のセグメントの場合は、横書き、縦書きの判定（組み方向の判定）を行うために、画素値に対する水平、垂直の射影をとり(S902)、射影の分散を評価し(S903)、水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判定して、その判定結果に基づき、行の切り出した後、文字を切り出して文字画像を得る(S904)。
【００７４】
文字列および文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、切り出した行に対する垂直方向の射影から文字を切り出す。縦書きの文字領域に対しては、水平と垂直について逆の処理を行えばよい。なお、行、文字の切り出しに際して、文字のサイズも検出し得る。
【００７５】
次に、切り出した各文字について、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルを生成する(S905)。特徴ベクトルの抽出には種々の公知手法があるが、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。
【００７６】
次に、観測特徴ベクトルと、予め字種ごとに求めてある辞書特徴ベクトルとを比較して、観測特徴ベクトルと辞書特徴ベクトルの距離を算出し(S906)、算出した距離を評価して、最も距離の近い字種を認識結果とする(S907)。さらに、距離の評価結果から最短距離と閾値を比較して、最短距離が閾値未満であれば類似度が高いと判定し、最短距離が閾値以上であれば類似度が低いと判定する(S908)。最短距離が閾値以上の場合（類似度が低い場合）は、形状が類似する他の文字と誤認識している可能性が高いので、ステップS907の認識結果を採用せず、文字画像を線画と同様に扱い、文字画像のアウトラインをベクトル化する(S911)。言い換えれば、誤認識の可能性が高い文字画像は、視覚的に忠実なアウトラインのベクトルデータを生成する。
【００７７】
一方、類似度が高い場合は、ステップS907の認識結果を採用するとともに、文字認識に用いる字種数分の辞書特徴ベクトルを、文字形状種すなわちフォント種に対して複数用意しておき、パターンマッチングの際に、文字コードとともにフォント種を出力することで文字フォントを認識する(S909)。続いて、文字認識およびフォント認識よって得られた文字コードおよびフォント情報を参照し、文字コードおよびフォント情報それぞれに対応して予め用意されたアウトラインデータを用いて、各文字をベクトルデータに変換する(S910)。なお、カラー画像データの場合は、文字の色を抽出してベクトルデータとともに記録する。
【００７８】
以上の処理により、文字属性のセグメントに含まれる文字画像をほぼ形状、大きさ、色が忠実なベクトルデータに変換することができる。
【００７９】
［文字領域以外のベクトル化(S912)］
文字属性のセグメント以外、すなわち図面属性、線画属性、表属性と判定されるセグメントは、黒画素塊を抽出し、その輪郭をベクトルデータに変換する。なお、写真属性のセグメントは、ベクトル化せず画像データのままにする。
【００８０】
文字領域以外のベクトル化は、まず、線画などを直線および/または曲線の組み合わせとして表現するために、曲線を複数の区間（画素列）に区切る「角」を検出する。図9はベクトル化における角抽出処理を説明する図で、角は曲率が極大になる点で、図9の曲線上の画素Piが角か否かは以下のように判定する。
【００８１】
画素Piを起点とし、線画曲線に沿って画素Piから両方向に所定画素数kずつ離れた画素Pi-k、Pi+kを線分Lで結ぶ。画素Pi-k、Pi+k間の距離をd1、画素Piから線分Lに直交するように下した線分の長さ（画素piと線分Lの距離）をd2が極大になる場合、あるいは、画素Pi-k、Pi+k間の弧の長さをAと距離d1の比d1/Aが所定の閾値以下になる場合、画素Piを角と判定する。
【００８２】
角を検出後、角によって分割された線画曲線の画素列を直線あるいは曲線で近似する。直線への近似は最小二乗法などにより実行し、曲線への近似は三次スプライン関数などを用いる。画素列を分割する角の画素は近似直線あるいは近似曲線における始端または終端になる。
【００８３】
さらに、ベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判定し、内輪郭が存在する場合はその輪郭をベクトル化し、内輪郭の内輪郭というように、再帰的に黒画素塊および白画素塊の内輪郭をベクトル化する。
【００８４】
以上のように、輪郭の区分線を直線または曲線で近似する方法を用いれば、任意形状の図形のアウトラインをベクトル化することができる。また、入力画像がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記録する。
【００８５】
図10はベクトル化において輪郭線をまとめる処理を説明する図である。
【００８６】
輪郭線の注目区間で外輪郭PRjと、内輪郭PRj+1または他の外輪郭が近接している場合、二つまたは三つ以上の輪郭線をひとまとめにして、太さをもつ線として表現することができる。例えば、輪郭PRj+1上の画素Pと、画素Piと最短距離の輪郭PRj上の画素Q間の距離PQを算出し、複数の画素間の距離PQiのばらつきが僅かである場合は、輪郭PRjおよびPRj+1を注目区間を線分PQの中点Mの点列に沿う直線または曲線で近似する。そして、中点Mの点列に沿う近似直線または近似曲線の太さは、例えば、距離PQiの平均値とすればよい。
【００８７】
線や線の集合体である表罫線は、太さをもつ線の集合として表すことにより、効率よくベクトル表現することができる。
【００８８】
［図形の認識］
以上で線図形などのアウトラインをベクトル化した後、ベクトル化された区分線を図形オブジェクトごとにグループ化する。
【００８９】
図11はベクトル化で生成したベクトルデータのグループ化処理を示すフローチャートで、ベクトルデータを図形オブジェクトごとにグループ化する処理を示している。
【００９０】
まず、各ベクトルデータの始点および終点を算出し(S1401)、始点および終点の情報を用いて、図形要素を検出する(S1402)。図形要素とは、区分線によって構成される閉図形であり、検出に際しては、始点、終点になっている共通の角の画素においてベクトルを連結する。すなわち、閉形状を構成するベクトル群はそれぞれ、その両端に連結するベクトルを有するという原理を応用する。
【００９１】
次に、図形要素内に他の図形要素もしくは区分線が存在するか否かを判定し(S1403)、存在すれば、ステップS1401およびS1402を再帰的に繰り返して、それらをグループ化して一つの図形オブジェクトとし(S1404)、存在しなければ、その図形要素を図形オブジェクトとする(S1405)。
【００９２】
なお、図11には一つの図形オブジェクト分の処理しか示さないが、他の図形オブジェクトが存在すれば、その分、図11の処理を繰り返す。
【００９３】
●図形要素の検出(S1402)
図12は図形要素の検出処理を示すフローチャートである。
【００９４】
まず、ベクトルデータより、両端に連結するベクトルを有しないベクトルを除去して、閉図形を構成するベクトルを抽出する(S1501)。
【００９５】
次に、閉図形を構成するベクトルについて、ベクトルの何れかの端点（始点または終点）を開始点として、一定方向（例えば時計回り）に順にベクトルを探索する。すなわち、他端点において他のベクトルの端点を探索し、所定距離内の最近接端点を連結ベクトルの端点とする。閉図形を構成するベクトルを一回りして開始点に戻ると、通過したベクトルすべてを一つの図形要素を構成する閉図形としてグループ化する(S1502)。また、閉図形内部にある閉図形を構成するベクトルもすべて再帰的にグループ化する。さらに、グループ化されていないベクトルの始点を開始点とし、上記と同様の処理を繰り返す。
【００９６】
そして、除去したベクトルのうち、閉図形としてグループ化したベクトルに端点が近接しているベクトル（閉図形に連結するベクトル）を検出し、検出したベクトルをそのグループにグループ化する(S1503)。
【００９７】
●データ形式
図3に示したブロックセレクション(S302)の後、ベクトル化(S310)した結果のデータを用いて、ステップS313においてアプリケーションデータへ変換する処理を実行する。図13はベクトル化処理の結果を示す中間データの形式を示す図で、中間データはいわゆるドキュメントアナリシスアウトプットフォーマット(DAOF)と呼ばれる形式で保存される。
【００９８】
DAOFは、ヘッダ1601、レイアウト記述データ部1602、文字認識記述データ部1603、表記述データ部1604および画像記述データ部1605からなり、ヘッダ1601は処理対象の入力画像に関する情報を保持する。
【００９９】
レイアウト記述データ部1602は、入力画像中の矩形セグメントの属性を示すTEXT（文字）、TITLE（タイトル）、CAPTION（キャプション）、LINE（線画）、PICTURE（図面） 、FRAME（枠）、TABLE（表）、PHOTO（写真）などの情報と、それら矩形セグメントの位置情報を保持する。
【０１００】
文字認識記述データ部1603は、TEXT、TITLE、CAPTIONなどの文字属性の矩形セグメントのうち、ユーザにより指定された領域について、文字認識して得た文字認識結果を保持する。
【０１０１】
表記述データ部1604は表属性の矩形セグメントの表構造の詳細を保持し、画像記述データ部1605は、図面属性や線画属性の矩形セグメントにおける、入力画像データから切り出した画像データを保持する。
【０１０２】
ベクトル化処理を指示された指定領域に対しては、画像記述データ部1605に、ベクトル化処理により得られたセグメントの内部構造や、画像の形状や文字コード等を表すデータの集合が保持される。一方、ベクトル化の対象ではない、指定領域以外の矩形セグメントに対しては、入力画像データそのものが保持される。
【０１０３】
以上の処理によって図形ブロックを、再利用可能な個別の図形オブジェクトとして扱うことが可能になる。
【０１０４】
［優先データ情報の抽出(S309)］
図3に示すステップS309では、出力画像を入力画像データに基づき処理するのか、オリジナルデータに基づき処理するかを決定する優先データ情報を取得するが、次に、この優先データ情報の抽出について説明する。
【０１０５】
ユーザは、MFP 100の入力部113を操作して、出力画像として得たい画像が入力画像データそのものか、文書管理サーバ106などが管理するオリジナルデータかを指示する。MFP 100の制御部115aは、この指示を優先データ情報に設定する。設定された優先データ情報は制御部115aに記憶されていて、ステップS308の優先データ情報の取得において、制御部115aにより読み出される。
【０１０６】
図4Aに示すオリジナルデータの文字部を読み易くするために、MFP 100によって文字部を拡大したレイアウトで印刷されたプリント（図4B）は、文書管理サーバ106などが管理するオリジナルデータとは見た目に大きく異なる。どちらのレイアウトで印刷するかを容易に選択することができれば、ユーザは、好ましい出力結果を容易に得ることができる。
【０１０７】
上記では、入力画像データを印刷またはネットワークI/F 117（または114）を介して出力する際に、入力画像データそのものを用いるか、オリジナルデータを用いるかを選択する例を説明したが、表示部116を使用してプレビューが可能なMFP 100の場合で、ステップS305でポインタ情報が存在し、ステップS307で編集加工が行われている場合、入力画像データとオリジナル画像データを比較可能にプレビュー表示させ、ステップS308の優先データをユーザがMFP 100の入力部113から入力するようにするとよい。こうすれば、ユーザは、プレビューにより入力画像データかオリジナルデータを確認した上、どちらかのデータを選択することができ、ユーザにとって使い易い構成を提供することができる。
【０１０８】
本実施例によれば、視力の弱い人向けにレイアウトが変更されて印刷された文書をもう一度コピーする際、相手が同じく視力が弱い人であれば当該文書のレイアウトのままコピーして渡し、通常の視力の人であればオリジナルデータのレイアウトでコピーして渡すことが可能になり、利便性の高いシステムになる。
【０１０９】
また、一度白黒印刷されたカラー文書を高精細なカラー文書としてコピーしたり、大量配布のために白黒コピーするなども自由に行うことができる。
【実施例２】
【０１１０】
以下、本発明にかかる実施例2の画像処理システムを説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１１１】
実施例1では、優先データ情報に基づき、入力画像データそのものを用いるか、オリジナルデータを用いるかを選択する例を説明したが、実施例2では、入力画像データを用いる場合も、入力画像データそのものを用いるのではなく、オリジナルデータを入手して、入力画像データと同じ出力結果が得られるようオリジナルデータを加工する例を説明する。
【０１１２】
図14は実施例2の画像処理システムによる処理の概要を説明するフローチャートである。なお、図3に示す処理と同一の処理を行うステップには、同一符号を付して、その詳細説明を省略する。
【０１１３】
ステップS305に判定により、ポインタ情報を抽出しなかった場合は処理をステップS310へ進め、抽出した場合は、ポインタ情報に従い記憶部111などを検索してオリジナルデータを取得する(S1506)。
【０１１４】
次に、OCR、OMR処理の結果もしくは電子透かし情報に含まれる画像処理情報を抽出し(S1507)、当該セグメントの画像がオリジナルデータから編集、加工されたものか否かを判定し(S1508)、当該セグメントがオリジナルデータのまま（未編集、未加工）の場合は、当該セグメントをオリジナルデータのまま印刷するために処理をステップS312に進める。
【０１１５】
一方、当該セグメントがオリジナルデータを編集、加工したものと判定した場合は、当該セグメントをオリジナルデータのままにするか、オリジナルデータを編集、加工したものにするかを示す優先データ情報をMFP 100の制御部115aから取得する(S1509)。そして、優先データ情報がオリジナルデータ優先を示す場合は、当該セグメントをオリジナルデータのまま印刷するために処理をステップS312に進める。
【０１１６】
また、優先データ情報が入力画像優先を示す場合は、画像処理情報から得た画像処理内容に基づき、入力画像と同じレイアウトになるように、データ処理部115によりオリジナルデータに画像処理を施す(S1510)。
【０１１７】
このように、入力画像優先の出力形態でも、オリジナルデータを入手して編集、加工するので、実施例1よりも元画像に忠実な出力を得ることができる。勿論、MFP 100にプレビュー機能があれば、プレビュー表示にも入力画像とオリジナル画像の優先を設定することができる。
【０１１８】
［変形例］
優先データ情報の設定タイミングは、図3または図14に示す処理の開始前に限らず、図3または図14に示す処理の開始後、入力画像に画像処理が施されていると判定した時点で、表示部116にどちらの画像を優先するかの判断をユーザに促すメッセージを表示し、ユーザに選択させるようにしても構わない。
【０１１９】
また、画像処理を実施する手段は図1および図2に記載した画像処理システムの構成に限定されるわけではなく、専用の画像処理装置、汎用コンピュータ等、種々の手段を採用し得る。汎用コンピュータで画像処理を実行する際は、画像処理の各ステップを汎用コンピュータに実行させるためのプログラムコードを含むコンピュータが実行可能なプログラムを、汎用コンピュータに供給する。つまり、当該プログラムは、汎用コンピュータに内蔵されたROMや、汎用コンピュータが読み取り可能な記憶媒体から読み込まれ、あるいは、ネットワークを介してサーバ等から読み込まれる。
【０１２０】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１２１】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１２２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１２３】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１２４】
【図１】実施例1の画像処理システムの構成例を示すブロック図、
【図２】MFPの構成例を示すブロック図、
【図３】画像処理システムによる処理の概要を説明するフローチャート、
【図４Ａ】オリジナルデータの一例を説明する図、
【図４Ｂ】編集、加工後の画像データの一例を説明する図、
【図５】ブロックセレクションを説明する図、
【図６】ブロックセレクションの結果の一例を示す図、
【図７】セグメントの画像データからポインタ情報および画像処理情報を抽出する処理を示すフローチャート、
【図８】ベクトル化処理の詳細を示すフローチャート、
【図９】ベクトル化における角抽出処理を説明する図、
【図１０】ベクトル化において輪郭線をまとめる処理を説明する図、
【図１１】ベクトル化で生成したベクトルデータのグループ化処理を示すフローチャート、
【図１２】図形要素の検出処理を示すフローチャート、
【図１３】ベクトル化処理の結果を示す中間データの形式を示す図、
【図１４】実施例2の画像処理システムによる処理の概要を説明するフローチャートである。
【図１】
2006155381.tif 000003
【図２】
2006155381.tif 000004
【図３】
2006155381.tif 000005
【図４Ａ】
2006155381.tif 000006
【図４Ｂ】
2006155381.tif 000007
【図５】
2006155381.tif 000008
【図６】
2006155381.tif 000009
【図７】
2006155381.tif 000010
【図８】
2006155381.tif 000011
【図９】
2006155381.tif 000012
【図１０】
2006155381.tif 000013
【図１１】
2006155381.tif 000014
【図１２】
2006155381.tif 000015
【図１３】
2006155381.tif 000016
【図１４】
2006155381.tif 000017