(57)【要約】【課題】一度プリントした際に保存したプリントデータの有効な再利用に関する技術を提供することを目的とする。【解決手段】格納手段に格納されている、画像処理システムで処理された処理済データの中から、再利用の対象データを特定する特定手段と、特定手段で特定した対象データを、編集可能な編集可能データに変換する変換手段と、変換手段で変換した編集可能データを、編集し、編集データを生成する編集手段と、編集手段で生成した編集データを、印刷する印刷手段と、印刷手段で印刷した印刷データを、処理済みデータとして、格納手段に格納するデータ格納手段と、を有することによって上記課題を解決する。【選択図】図３
2007182064.tif 000002
【特許請求の範囲】
【請求項１】
印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信手段と、
前記受信手段が受信したプリントデータに基づいてラスタイメージデータを生成する展開手段と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開手段が生成するラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成手段と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化手段と、を備え、
前記ベクトル化手段は前記前記属性データ生成手段が生成した属性データに基づいて前記ラスタイメージデータの画像属性を識別し、当該識別した画像属性に基づいてベクトル化処理を行うことを特徴とする画像処理装置。
【請求項２】
更に、前記展開手段が生成したラスタイメージデータと、前記属性データ生成手段が生成した属性データとを関連付けて記憶する記憶手段を備え、
前記ベクトル化手段は、前記記憶手段に記憶されたラスタイメージデータを、当該ラスタイメージに関連付けられて前記記憶手段に記憶された属性データに基づいてベクトル化処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
更に、前記ラスタイメージデータに基づき画像形成を行う画像形成手段と、を備え、
前記記憶手段は前記画像形成手段が前記ラスタイメージデータに基づく画像形成を行った後も前記ラスタイメージデータと前記属性データとを関連付けて記憶することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
更に、前記展開手段が生成したラスタイメージデータと、前記属性データ生成手段が生成した属性データとを関連付けて外部の記憶装置に記憶させるための記憶制御手段と、
前記ラスタイメージデータに基づき画像形成する画像形成手段と、を備え、
前記記憶制御手段は前記画像形成手段が前記ラスタイメージデータに基づく画像形成を行った後に前記ラスタイメージデータと前記属性データとを関連付けて前記外部の記憶装置に記憶させることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記ベクトル化手段は、前記外部の記憶装置に記憶されたラスタイメージデータを、当該ラスタイメージに関連付けられて前記外部の記憶装置に記憶された属性データに基づいてベクトル化処理を行うことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
更に、前記ベクトル化手段が前記ラスタイメージデータをベクトル化することによって得られたベクトルデータに対して編集処理を行う編集手段を備えることを特徴とする請求項１乃至請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
更に、前記ベクトル化手段が前記ラスタイメージデータをベクトル化することによって得られたベクトル化データの画像の属性に基づいて前記ラスタイメージデータに関連付けられて記憶された属性データを更新する更新手段を備えることを特徴とする請求項２に記載の画像処理装置。
【請求項８】
前記属性データが示す画像の属性の種類は文字、写真、グラフィクスの少なくとも１つを含むことを特徴とする請求項１乃至請求項７のいずれか１項に記載の画像処理装置。
【請求項９】
印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信手段と、
前記受信手段が受信したプリントデータに基づいてラスタイメージデータを生成する展開手段と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開手段が生成するラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成手段と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化手段と、
前記ラスタイメージデータにおいて、ユーザーからの指定に基づき前記ベクトル化手段にベクトル化させる領域を決定する領域決定手段と、を備え、
前記ベクトル化手段は前記前記属性データ生成手段が生成した属性データに基づいて前記ラスタイメージデータにおける前記領域決定手段が決定した領域の画像属性を識別し、当該識別した画像属性に基づいて前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことを特徴とする画像処理装置。
【請求項１０】
更に、前記ベクトル化手段が前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことによって得られたベクトル化データを、前記ラスタイメージデータと合成する合成手段を備えることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信工程と、
前記受信工程で受信したプリントデータに基づいてラスタイメージデータを生成する展開工程と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開工程で生成されるラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成工程と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化工程と、を備え、
前記ベクトル化工程は前記前記属性データ生成工程で生成した属性データに基づいて前記ラスタイメージデータの画像属性を識別し、当該識別した画像属性に基づいてベクトル化処理を行うことを特徴とする画像処理方法。
【請求項１２】
印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信工程と、
前記受信工程で受信したプリントデータに基づいてラスタイメージデータを生成する展開工程と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開工程で生成されるラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成工程と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化工程と、
前記ラスタイメージデータにおいて、ユーザーからの指定に基づき前記ベクトル化工程でベクトル化させる領域を決定する領域決定工程と、を備え、
前記ベクトル化工程は前記前記属性データ生成工程で生成した属性データに基づいて前記ラスタイメージデータにおける前記領域決定工程で決定した領域の画像属性を識別し、当該識別した画像属性に基づいて前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことを特徴とする画像処理方法。
【請求項１３】
画像処理装置が画像処理方法を実行するための制御プログラムであって、前記制御プログラムは、
印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信工程と、
前記受信工程で受信したプリントデータに基づいてラスタイメージデータを生成する展開工程と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開工程で生成されるラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成工程と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化工程と、を備え、
前記ベクトル化工程は前記前記属性データ生成工程で生成した属性データに基づいて前記ラスタイメージデータの画像属性を識別し、当該識別した画像属性に基づいてベクトル化処理を行うことを特徴とする制御プログラム。
【請求項１４】
画像処理装置が画像処理方法を実行するための制御プログラムであって、前記制御プログラムは、
印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信工程と、
前記受信工程で受信したプリントデータに基づいてラスタイメージデータを生成する展開工程と、
前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開工程で生成されるラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成工程と、
前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化工程と、
前記ラスタイメージデータにおいて、ユーザーからの指定に基づき前記ベクトル化工程でベクトル化させる領域を決定する領域決定工程と、を備え、
前記ベクトル化工程は前記前記属性データ生成工程で生成した属性データに基づいて前記ラスタイメージデータにおける前記領域決定工程で決定した領域の画像属性を識別し、当該識別した画像属性に基づいて前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、及び画像処理方法に関する。
【背景技術】
【０００２】
プリンタやデジタル複合機等の画像処理装置がパーソナルコンピュータから受信した印刷データ（プリントデータ）をハードディスク等の記憶装置に記録して、保存しておくことが行われている。これにより、パーソナルコンピュータから印刷データを再度受信することなく、記憶装置に記憶された印刷データに基づいた再印刷が可能になる。そして多くの場合、速やかに再印刷することを可能にするために、記憶装置にはプリントデータを展開したラスタイメージデータが記憶される。
【０００３】
一方、特許文献１のように、スキャナで読み取ったラスタイメージデータをアウトライン処理にてベクトル化することが行われている。これにより、アプリケーションソフトウエアでの編集処理を行う等の用途でのイメージデータの再利用が可能になる。
【０００４】
【特許文献１】特開２００５−１０７６９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ベクトル化処理を行うためにはラスタイメージデータを文字、写真、グラフィック等の像域に分離する処理が必要である。特許文献１での像域分離処理は原稿によっては像域の誤判定を行ってしまう可能性もあり、精度の高いベクトル化処理を行えないことがあった。
【０００６】
本発明は上記の点に鑑みなされたもので、画像処理装置が受信したプリントデータに基づいて保存したイメージデータに対してより精度の高いベクトル化処理を行うことを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像処理装置は、印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信手段と、前記受信手段が受信したプリントデータに基づいてラスタイメージデータを生成する展開手段と、前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開手段が生成するラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成手段と、前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化手段と、を備え、前記ベクトル化手段は前記前記属性データ生成手段が生成した属性データに基づいて前記ラスタイメージデータの画像属性を識別し、当該識別した画像属性に基づいてベクトル化処理を行うことを特徴とする。
【０００８】
また、本発明の画像処理装置は、印刷対象の画像の属性を示す情報を含むプリントデータを外部から受信する受信手段と、前記受信手段が受信したプリントデータに基づいてラスタイメージデータを生成する展開手段と、前記プリントデータに含まれる印刷対象の画像の属性を示す情報に基づいて、前記展開手段が生成するラスタイメージデータに含まれる画像の属性を示す属性データを生成する属性データ生成手段と、前記ラスタイメージデータの少なくとも一部の領域をベクトル化するベクトル化手段と、前記ラスタイメージデータにおいて、ユーザーからの指定に基づき前記ベクトル化手段にベクトル化させる領域を決定する領域決定手段と、を備え、前記ベクトル化手段は前記前記属性データ生成手段が生成した属性データに基づいて前記ラスタイメージデータにおける前記領域決定手段が決定した領域の画像属性を識別し、当該識別した画像属性に基づいて前記ラスタイメージにおける前記領域に対するベクトル化処理を行うことを特徴とする。
また、上記問題を解決するため、本発明は、画像処理方法としても良い。
【発明の効果】
【０００９】
本発明によれば、画像処理装置が受信したプリントデータに基づいて保存したイメージデータに対してより精度の高いベクトル化処理が可能になる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
＜システム全体構成＞
図１は、本実施形態における画像処理システムの一例を示すシステム構成図である。図１に示すように、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で構成されるネットワーク１０６には、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００、クライアントＰＣ１０２、文書管理サーバ１０４が接続されている。
【００１２】
画像処理装置の一例としてのＭＦＰ１００は、コピー機能、スキャナ機能、ファクシミリ送信機能、プリンタ機能等の複合機能を有する。ＭＦＰ１００は、クライアントＰＣ１０２から送信されるプリントデータを受信してプリントデータをラスタイメージデータに展開し、ラスタイメージデータに基づく画像形成処理を実行する。この処理はＭＦＰ１００が有するプリンタ機能によるものである。
【００１３】
ＭＦＰ１００はまた、クライアントＰＣから受信したプリントデータをラスタイメージデータに展開し、ラスタイメージデータを後述する記憶装置１１１に記憶したり、文書管理サーバ１０４に転送したりすることも可能である。これにより、一旦クライアントＰＣから受信したプリントデータは、再び同じプリントデータをクライアントＰＣから送信させること無く記憶装置１１１や文書管理サーバ１０４からラスタイメージデータを読み出すことによって再印刷等の処理が可能になる。
【００１４】
情報処理装置の一例としてのクライアントＰＣ１０２はＭＦＰ１００にプリントデータを送信する。プリントデータとしてはページ記述言語（ＰＤＬ）によるものでも良いし、ラスタイメージデータであっても良い。
【００１５】
文書管理サーバ１０４はＭＦＰ１００が実行した画像入出力処理において扱われた画像データ（上述のラスタイメージデータも含む）を、内部に備える記憶装置（不図示）に蓄積する。また、ＭＦＰ１００からの要求に応じて不図示の記憶装置に蓄積された画像データを読み出してＭＦＰ１００へ送信する。
【００１６】
図１において、ＭＦＰ１００が複合機能を有するものとして説明したが、少なくともクライアントＰＣ１０２からのプリントデータを処理できる機能を有していれば良い。
【００１７】
＜ＭＦＰ１００の構成＞
図２は、本実施形態におけるＭＦＰ１００に構成の一例を示す図である。不図示のＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ：自動原稿送り装置）を含む画像読み取り部１１０は、束状の或いは１枚の原稿を読み取る。そして、画像読み取り部１１０は、ラスタ形式の画像データを、例えば６００ｄｐｉ（ｄｏｔ  ｐｅｒ  ｉｎｃｈ）等の画素密度のイメージ情報として生成する。
【００１８】
記憶装置１１１は、例えば、ハードディスク等の不揮発性の大容量の記憶素子等で構成され、画像読み取り部１１０が生成する画像データや後述するラスタイメージデータを記憶する。また、記憶装置１１１は、データ処理装置に含まれる不図示のＣＰＵが実行する、ＭＦＰ１００全体、或いは各部を制御するためのプログラムも格納する。
【００１９】
記録装置１１２は、画像読み取り部１１０が生成した画像データ、或いはクライアントＰＣ１０２から受信したプリントデータに基づき用紙上への画像形成を行う。記録装置１１２は電子写真方式による画像形成を行うものでも良いし、インクジェット方式や熱転写方式等の他の方式による画像形成を行うものでも良い。
【００２０】
ネットワークインターフェース１１４はネットワーク１０６を介してのデータの入出力を可能にするためのインターフェースである。
【００２１】
データ処理装置１１５は、ＭＦＰ１００の制御全体を統括し、データ処理装置１１５に接続された各装置に対する制御を司る。データ処理装置１１５は不図示のＣＰＵ、ＲＡＭＲＯＭを備えている。
【００２２】
ユーザーインターフェース部１１６はＭＦＰ１００における操作情報や画像データ、ラスタイメージデータ等の表示を行う。ユーザーインターフェース部１１６はまた、ユーザーからの操作入力を受け付ける。ユーザーインターフェース部１１６はタッチパネルを備えた液晶表示部や、テンキー等のハードウエアキーや、マウス等のポインティングデバイス等を含む。
【００２３】
ＭＦＰ１００がコピー機能を実行する場合、画像読み取り部１１０が生成した画像データをデータ処理装置１１５で画像処理を施し、記録装置１１２に順次出力して紙上に画像を形成する。
【００２４】
ＭＦＰ１００がプリント機能を実行する場合、ライアントＰＣ１０２から出力されるプリントデータを、ネットワーク１０６からネットワークインターフェース１１４を介して受信する。受信したプリントデータはデータ処理装置１１５でラスタイメージデータに展開した後、記録装置１１２で紙上に記録画像として形成される。
【００２５】
ＭＦＰ１００がプリント機能を実行した場合、受信したプリントデータを展開して得られたラスタイメージデータを記憶装置１１１に保持しておく。また、クライアントＰＣ１０２からの指示、或いはＭＦＰ１００に対する設定によっては、ＭＦＰ１００は、以下の様な動作を行うことも可能である。つまり、ＭＦＰ１００は、クライアントＰＣ１０２から受信したプリントデータをラスタイメージデータに展開した後、これを記録装置１１２で印刷することなくラスタイメージデータを記憶装置１１１に記憶するという動作を行う。この、印刷を伴わずにラスタイメージデータを記憶装置１１１に記憶する処理を本実施形態において「ボックスジョブ」という。
【００２６】
なお上述のプリント機能やボックスジョブを実行することによって得られるラスタイメージデータは、ＭＦＰ１００内の記憶装置１１１に記憶せずに、文書管理サーバ１０４へ送信して、文書管理サーバ１０４内の不図示の記憶装置に格納させるようにしても良い。
【００２７】
＜ＭＦＰ１００の処理概要＞
図３は、ＭＦＰ１００が備えるデータ処理装置１１５の内部ＣＰＵの動作を説明する一例のフローチャートである。但し、以下では説明の簡略化のため、データ処理装置１１５が処理を行うものとして説明を行うが、ステップによってはＭＦＰ１００が備えるデータ処理装置１１５以外の構成による動作／処理を伴うものもある。
図３のフローチャートは、ＭＦＰ１００が上述のプリント機能やボックスジョブを実行し、記憶装置１１１に記憶したラスタイメージデータを再プリント、或いは編集する処理の概要を示す。
【００２８】
ステップＳ１２０において、ユーザーインターフェース部１１６を介してＭＦＰ１００のユーザーによる操作指示を受け付ける。この場合、ユーザーインターフェース部１１６に表示される操作画面を図４に示す。そして、データ処理装置１１５は、再プリント／編集の対象となるラスタイメージデータを記憶装置１１１内から特定する。なお、再プリント／編集の対象となるラスタイメージデータは、図４に示されるように、ＭＦＰ１００内部に備える記憶装置１１１等から指定しても良いし、ＭＦＰ１００外部の格納サーバである、文書管理サーバ１０４から指定しても良い。
【００２９】
ステップＳ１２１において、データ処理装置１１５は、ステップＳ１２０において特定したラスタイメージデータを読み込む。
【００３０】
ステップＳ１２２において、データ処理装置１１５は、ステップＳ１２１において読み込んだラスタイメージデータに対して、ブロックセレクション処理（ＢＳ処理）を実行する。なお、ブロックセレクション処理については以下に示す、（ブロックセレクション処理）の項にて詳述する。
【００３１】
次に、ステップＳ１２３において、データ処理装置１１５は、ステップＳ１２２においてＢＳ処理を施したラスタイメージデータに対して、ベクトル化処理を実行する。なお、ベクトル化処理については以下に示す、（ベクトル化処理）の項にて詳述する。
【００３２】
ステップＳ１２４において、データ処理装置１１５は、ユーザーインターフェース部１１６にベクトル化データを表示する。そして、図６に示すように、ユーザーインターフェース部１１６に表示したベクトル化データに対する編集指示を受け付ける。そして、ユーザーによる編集指示に基づいて、ベクトル化データに対する編集処理を実行する。データ処理装置１１５は、ベクトル化データとして、後述する図１８で示されるドキュメント・アナリシス・アウトプット・フォーマット（ＤＡＯＦ）のデータ（ＤＡＯＦデータ）を変更することによって、編集処理を実行する。
【００３３】
ステップＳ１２５において、データ処理装置１１５による制御の下、記録装置１１２は、ステップＳ１２４において編集したＤＡＯＦデータからプリントデータ（ラスタイメージデータ）を再生成し、プリントを実行する。
【００３４】
ステップＳ１２６において、データ処理装置１１５は、ユーザーインターフェース部１１６に図５で示される操作画面を表示する。そして当該操作画面に対するユーザーによる操作指示に基づいた格納先に、ステップＳ１２４で編集が施されたＤＡＯＦデータを格納する。
【００３５】
ステップＳ１２７において、データ処理装置１１５は、図７で示される再プリント履歴表のデータを更新する。なお、再プリント履歴表のデータは、データ処理装置１１５の内部メモリ等に格納されている。
【００３６】
図７の再プリントの条件において、「０」は、変更無し、を表し、「１」は、プリント条件のみ変更（例えば、片面→両面）、を表し、「２」は、プリント内容変更（例えば、文面変更）、を表している。この、再プリントの条件は、ユーザーがユーザーインターフェース部１１６を介して指定する。
【００３７】
＜ブロックセレクション処理＞
図３のフローチャートにおけるステップＳ１２２のブロックセレクション処理の詳細について説明する。例えば、図８（Ａ）に示されるようなイメージデータを、図８（Ｂ）に示されるように複数のオブジェクトの塊として認識する。そして、各塊を文字／図画／写真／線／表等の属性に基づいて判定し、分類し、異なる属性の塊を、ブロックに分割する。なお、図８（Ｂ）において、ＴＥＸＴとは、文字領域である。また、ＰＩＣＴＵＲＥとは、図画（グラフィック）領域である。また、ＴＡＢＬＥとは、表形式の領域（表領域）である。また、ＬＩＮＥとは、線画領域である。また、ＰＨＯＴＯとは、写真領域である。領域の種別はこれに限るものではなく他の領域種別を用いても良い。
【００３８】
以下、ブロックセレクション処理の一例を説明する。まず、データ処理装置１１５は、入力画像（図３のステップＳ１２１において読み込んだデータ）を白黒に二値化し、輪郭線追跡処理を行って黒画素輪郭で囲まれる画素の塊を抽出する。データ処理装置１１５は、面積の大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡処理を行い、白画素の塊を抽出し、更に一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出する。
【００３９】
データ処理装置１１５は、このようにして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つ領域へ分類していく。データ処理装置１１５は、例えば、縦横比が１に近く、大きさが一定の範囲のものを文字相当の画素塊とし、更に近接する文字が整列良くグループ化可能な部分を文字領域、扁平な画素塊を線領域等とする。また、データ処理装置１１５は、例えば、一定大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域、不定形の画素塊が散在している領域を写真領域、それ以外の任意形状の画素塊を図画領域、等とする。
【００４０】
ブロックセレクション処理で得られた各ブロックに対するブロック情報を図９に示す。図９に示されるブロック毎の情報は以下に説明するベクトル化、或いは検索の処理において利用される。
【００４１】
図９のブロック情報の属性において、「１」は、文字を表し、「２」は、図画を表し、「３」は、表を表し、「４」は、線を表し、「５」は、写真を表している。なお、図９に示される各情報は、例えば、データ処理装置１１５の内部メモリ等に格納される。
【００４２】
＜ベクトル化処理＞
図３のフローチャートにおけるステップＳ１２３のベクトル化処理、即ちＤＡＯＦデータの生成処理の詳細について説明する。データ処理装置１１５は、まず、文字ブロックに対しては、文字認識処理を行う。ベクトル化処理は、文字認識処理、アウトライン化処理、図形認識処理、ＤＡＯＦへの変換処理といった複数の処理の少なくともいずれかを実行することによって実現する。ベクトル化されたデータとは、直線や曲線を構成する複数の画素を補完する数式として定義する画像である。本実施形態では、それ以外にも文字認識処理やマーク認識を行って得られるコードデータもベクトルデータとする。以下、これら複数の処理のそれぞれについて説明する。
【００４３】
・文字認識処理
データ処理装置１１５は、文字単位で切り出された画像に対し、パターンマッチング処理の一手法を用いて文字認識を行い、対応する文字コードを得る。この認識処理は、文字画像から得られる特徴ベクトルを数十次元の数値列に変換した観測特徴ベクトルと、予め字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする処理である。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法等がある。
【００４４】
データ処理装置１１５は、ブロックセレクション処理で抽出した文字領域（文字ブロック）に対して文字認識を行う場合は、まず該当領域に対し横書きか、縦書きかの判定を行い、各々対応する方向に行を切り出し、その後文字を切り出して文字画像を得る。
【００４５】
なお、データ処理装置１１５は、該当領域内で画素値に対する水平／垂直の射影を取り、水平射影の分散が大きい場合は、横書き領域、垂直射影の分散が大きい場合は、縦書き領域と判断（判定）する。また、データ処理装置１１５は、横書き領域に対しては、水平方向の射影を利用して行を切り出し、更に切り出された行に対する垂直方向の射影から、文字を切り出し、文字画像を得る。また、データ処理装置１１５は、垂直方向の射影を利用して行を切り出し、更に切り出された行に対する水平方向の射影から、文字を切り出し、文字画像を得る。
【００４６】
・アウトライン化処理
次に、データ処理装置１１５は、ブロックセレクション処理において、例えば、文字或いは線、表領域とされた領域等を対象に、領域中で抽出した画素塊の輪郭をベクトルデータに変換する。
【００４７】
より具体的に説明すると、データ処理装置１１５は、輪郭をなす画素の点列を角と看倣される点で区切って、各区間を部分的な直線或いは曲線で近似する。ここで、角とは曲率が極大となる点である。データ処理装置１１５は、曲率が極大となる点を、図１０に示されるように、任意点Ｐｉに対し左右ｋ個の離れた点Ｐｉ−ｋと、Ｐｉ＋ｋと、の間に弦を引いたとき、この弦と、Ｐｉと、の距離が極大となる点として求める。
【００４８】
更に、データ処理装置１１５は、Ｐｉ−ｋと、Ｐｉ＋ｋと、の間の弦の長さ／弧の長さをＲとし、Ｒの値が閾値以下である点を角と見なす。データ処理装置１１５は、角によって分割した後の各区間を、直線は点列に対する最小二乗法等、曲線は３次スプライン関数等を用いてベクトル化する。ベクトル化されたデータ（ベクトルデータ）は、例えば、データ処理装置１１５の内部メモリ等に格納される。
【００４９】
また、対象が内輪郭を持つ場合、データ処理装置１１５は、ブロックセレクション処理において抽出した白画素の輪郭線の点列を用いて、同様に部分的直線或いは曲線で近似する。以上のように、輪郭の区分線近似を用いれば、データ処理装置１１５は、任意形状の文字や線画、表、図形のアウトラインをベクトル化することができる。なお、元原稿がカラーの場合は、データ処理装置１１５は、カラー画像から図形の色を抽出して、ベクトルデータと共に記録する。
【００５０】
また、図１１に示す様に、ある区間で、外輪郭と、内輪郭或いは別の外輪郭と、が近接している場合、データ処理装置１１５は、２つの輪郭線を一まとめにし、太さを持った線とすることができる。つまり、データ処理装置１１５は、ある輪郭の各点Ｐｉから別輪郭上で最短距離となる点Ｑｉまで線を引き、各距離ＰＱｉが平均的に一定長以下の場合、注目区間を、ＰＱｉの中点を点列として直線或いは曲線で近似し、太さをＰＱｉの平均値とする。線や線の集合体である表罫線は、上述したような太さを持つ線の集合として効率よくベクトル表現することができる。
【００５１】
以下、上述したアウトライン化処理を文字、線画、表、図形等に対して適応的に実施する一例を、図１２を用いて説明する。図１２は、アウトライン化する際に削除する輪郭上の点を説明する図である。
【００５２】
ある所定のルールに従って削減点を多くとれば、得られるアウトラインのデータ量は小さくなり、表現されるアウトラインはその輪郭線からの誤差が大きくなる。本実施形態ではこの削減処理を属性に応じて適応的に適用することで、各属性の画像ブロックのベクトル化後のデータ量の削減と、画質の維持と、を両立させることができる。
【００５３】
まず、輪郭点の削減ルールについて説明する。なお、ここで述べるベクトルデータは、文字等の画像の輪郭上で削除して残った点を結んで得られるアウトライン文字のベクトルデータである。図１２（Ａ）における補正前の輪郭点データＰｉから連続する４点Ｐｉ、Ｐｉ＋１、Ｐｉ＋２、Ｐｉ＋３に着目する。
【００５４】
そして、「１点目Ｐｉと、２点目Ｐｉ＋１との距離Ｌ１、及び２点目Ｐｉ＋１と、３点目Ｐｉ＋２との距離Ｌ２が、共に指定した距離Ｌｃよりも小さいとき」を、削減条件１とする。
【００５５】
また、「２点目Ｐｉ＋１と、３点目Ｐｉ＋２とを結ぶ直線Ａを基に、１点目Ｐｉと、４点目Ｐｉ＋３とが、反対の領域にあるとき、及び１点目Ｐｉが直線上にあるときに２点目Ｐｉ＋１を補正対象とする」を、削減条件２とする。
【００５６】
但し、「補正対象の２点目Ｐｉ＋１について、１点目Ｐｉと、２点目Ｐｉ＋１と、３点目Ｐｉ＋２とを、結んだ交差角度θが指定角度θｃの範囲内のときにキーポイントと設定してこれを削除対象から外す」を、削減条件３とする。
【００５７】
ここで点Ｐｉ＋１を削除する条件に係る定数Ｌｃを大きくすれば、削除の可能性は高くなり、より対象画像を長い直線群でアウトライン化でき、情報量は小さくなるが、細かく変化する輪郭部はアウトライン化後に消滅し易くなる。
【００５８】
同様に、指定交差角度θｃを小さくすると、削除の可能性が高くなり、より滑らかにアウトライン化でき、情報量は小さくなるが、小さいサイズの文字等では文字の特徴が欠落することになる。
【００５９】
また、データ処理装置１１５は、これら削除条件を評価し、順次輪郭点を削除した結果に対し、再度、残された輪郭点に対して上述の削除処理を繰り返し行うことで、より輪郭点を削除できる。図１３は、削除条件２のみを用いて繰り返し輪郭点を削除する様子を示した物で、図１３（Ａ）で示す１７個の輪郭点Ｐ０〜Ｐ１６の内、Ｐ１、Ｐ３、Ｐ５、Ｐ７、Ｐ９、Ｐ１１、Ｐ１３、Ｐ１５で示される８点は１回の削除処理で削除される（図１３（Ｂ））。
【００６０】
図１３（Ｂ）に示される、残った輪郭点に対し再度Ｐ０から順次、削除処理を行えば、輪郭点Ｐ２、Ｐ６、Ｐ１０、Ｐ１４が削除され、図１３（Ｃ）となる。同様に再度図１３（Ｃ）に示される、残った輪郭点に対して再度Ｐ０から順次、削除処理を行えば輪郭点Ｐ４が削除され、図１３（Ｄ）となる。つまり、上述の削除処理を繰り返せば繰り返す程、輪郭点を削除でき、より滑らかなアウトライン処理ができ、情報量は小さくなる。
【００６１】
本実施形態では、これら輪郭点の削除処理を、属性に応じて、実行する。つまり、データ処理装置１１５は、ブロック毎に分割した画像ブロックの画像をアウトライン化する際に、ブロックの属性に応じて、適応的に設定されたパラメータを用いて、輪郭点を削除する。
【００６２】
上述したように、データ処理装置１１５が実行する削除処理において、そのパラメータは隣接２点を結ぶ直線の長さＬ１及びＬ２を規定する定数Ｌｃと、その２辺が作る頂角を規定する角度θｃ、及び削除処理回数Ｎである。
【００６３】
図１４は、文字領域、図画領域、表領域に対して行う輪郭点の削除処理のパラメータを示す図である。一般的に、これら３領域の空間周波数は、文字領域が最も高く、表領域が最も低い。即ち、文字領域に含まれる文字の輪郭をアウトライン化する際はより小さな変化も削除することなく忠実にアウトライン化する必要がある。一方、表領域はそれに対して殆どが長い直線で構成されているため、よりその輪郭点を削除して直線化することで原画に忠実で且つ、データ量を削減できる。なお図画領域は、文字領域と、表領域との中間として扱う。つまり、領域毎に設定したパラメータは文字領域が最も輪郭点の削除数が少なく、逆に表領域が最も削除数が多くなるように設定されている。
【００６４】
なお、図１４において、Ｌｃ１＜Ｌｃ２＜Ｌｃ３、θｃ１＞θｃ２＞θｃ３、Ｎ１＜Ｎ２＜Ｎ３である。
【００６５】
図１５は、適応的輪郭点削除処理の一例のフローチャートである。まず、ステップＳ５６０において、データ処理装置１１５は、処理対象のブロックの属性を図９に示したブロック情報より取得する。
【００６６】
次に、ステップＳ５６１において、データ処理装置１１５は、ステップＳ５６０において取得したブロックの属性に応じて、パラメータ、Ｌｃ、θｃ、Ｎの値を取得し、各パラメータに設定する。また、データ処理装置１１５は、パラメータｉ及びパラメータｍに０（ゼロ）を設定する。ステップＳ５６２において、データ処理装置１１５は、ブロック内の輪郭点の先頭点Ｐｉから連続する３点（Ｐｉ＋１、Ｐｉ＋２、Ｐｉ＋３）を読み込む。
【００６７】
ステップＳ５６３において、データ処理装置１１５は、ステップＳ５６１において設定したパラメータを用いて、上述した３つの削除条件を評価する。データ処理装置１１５は、Ｐｉ＋１を削除点であると判断すると、ステップＳ５６５に進み、削除点でないと判断すると、ステップＳ５６４に進む。
【００６８】
ステップＳ５６４において、データ処理装置１１５は、Ｐｉ＋１を削除する。ステップＳ５６５において、データ処理装置１１５は、評価する輪郭点を次の位置に移動させる、つまり、パラメータｉの値を一つインクリメントする。
【００６９】
ステップＳ５６６において、データ処理装置１１５は、処理対処のブロック内の輪郭点全てに対して削除処理が終わったか否かを判定する。データ処理装置１１５は、ブロック内の輪郭点全てに対して削除処理が終わったと判定すると、ステップＳ５６７に進み、ブロック内の輪郭点全てに対して削除処理が終わっていないと判定すると、ステップＳ５６２の処理に戻る。
【００７０】
つまり、データ処理装置１１５は、処理対処のブロック内の輪郭点全てに対して、ステップＳ５６２からステップＳ５６６までの処理を行う。
【００７１】
ステップＳ５６７において、データ処理装置１１５は、処理対処のブロック内の輪郭点全てに対して、ステップＳ５６２からステップＳ５６６までの処理を行うことを１回とカウントし、パラメータｍの値を１つインクリメントする。
【００７２】
ステップＳ５６７において、データ処理装置１１５は、パラメータｍの値と、パラメータＮの値とを比較し、パラメータｍの値と、パラメータＮの値とが同一か否かを判定する。データ処理装置１１５は、パラメータｍの値と、パラメータＮの値とが同一であると判定すると、Ｎ回の削除処理が行われたと判定し、図１５に示す処理を終了する。一方、データ処理装置１１５は、「パラメータｍの値＜パラメータＮの値」であると判定すると、設定されたＮ回の削除処理が行われていないと判定し、ステップＳ５６９に進む。
【００７３】
ステップＳ５６９において、データ処理装置１１５は、パラメータｉに０（ゼロ）を設定し、ステップＳ５６２の処理に戻る。
【００７４】
なお、削除されて残った輪郭点に対するアウトライン処理は、直線を用いて近似しても良いし、ベジェ関数等を用いて描画したベジェ曲線を用いて近似しても良い。
【００７５】
・図形認識処理
以下、ベクトルデータを、図形オブジェクトや、文字オブジェクト毎にグループ化する処理について説明する。
図１６は、ベクトルデータを、オブジェクト毎にグループ化する、オブジェクト認識処理の一例を示すフローチャートである。
【００７６】
ステップＳ７００において、データ処理装置１１５は、各ベクトルデータの始点、終点を算出する。次に、ステップＳ７０１において、データ処理装置１１５は、各ベクトルの始点、終点情報を用いて、図形や文字要素を検出する。ここで、各要素の検出とは、区分線が構成している閉図形を検出することである。なお、データ処理装置１１５は、検出に際し閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用し、検出を行う。なお、要素検出処理の詳細は、後述する図１７に示す。
【００７７】
次に、ステップＳ７０２において、データ処理装置１１５は、各要素内に存在する他の要素、若しくは区分線をグループ化し、一つの図形や文字オブジェクトとする。また、データ処理装置１１５は、各要素内に他の要素、区分線が存在しない場合は、各要素を図形や文字オブジェクトとする。
【００７８】
図１７は、要素検出処理の一例を示すフローチャートである。まず、ステップＳ７１０において、データ処理装置１１５は、ベクトルデータから、両端にそれぞれ連結するベクトルを有していない不要なベクトルを除去し、閉構成ベクトルを抽出する。
【００７９】
次に、ステップＳ７１１において、データ処理装置１１５は、閉構成ベクトルの中から、閉構成ベクトルの始点を開始点とし、時計回りに順にベクトルを追っていく。データ処理装置１１５は、開始点に戻るまで、時計回りに順にベクトルを追っていく処理を行い、通過したベクトルを全て、一つの要素を構成する閉要素としてグループ化する。また、データ処理装置１１５は、閉要素内部にある構成ベクトル（閉要素構成ベクトル）も全てグループ化する。更に、データ処理装置１１５は、閉構成ベクトルの内、まだグループ化されていないベクトルの始点を開始点とし、時計回りに順にベクトルを追っていく処理を行い、通過したベクトルを全て閉要素としてグループ化する処理を繰り返す。
【００８０】
最後に、ステップＳ７１２において、データ処理装置１１５は、ステップＳ７１０において除去した不要ベクトルの内、ステップＳ７１１において閉要素としてグループ化したベクトルに接合しているベクトルを検出し、一つの要素としてグループ化する。
【００８１】
以上の処理によって、図形や文字ブロックを、個別に再利用可能な、図形や文字オブジェクトとして扱うことが可能になる。なお、文字ブロックの各文字に対してアウトライン化し１文字要素として結合されたベクトルデータは、先に説明した文字認識で得られた文字コードに対応する所謂アウトラインフォントデータとして扱うことができる。即ち、アウトラインフォントデータは、文字認識処理で得られる文字コードに加えてその文字の字体情報を含んでいるため、原画に可視的に忠実で編集可能な文字ベクトルデータといえる。
【００８２】
・ＤＡＯＦへの変換処理
ところで、一頁分のイメージデータをブロックセレクション処理（図３のステップＳ１２２）し、ベクトル化処理（図３のステップＳ１２３）した結果は、後述する図１８に示す様な中間データ形式のファイルとして変換、保持されている。このようなデータ形式はＤＡＯＦデータと呼ばれる。
【００８３】
図１８は、ＤＡＯＦデータのデータ構造の一例を示す図である。図１８において、７９１はｈｅａｄｅｒであり、処理対象の文書画像データに関する情報が保持される。レイアウト記述データ部７９２は、文書画像データ中のＴＥＸＴ、ＴＩＴＬＥ、ＣＡＰＴＩＯＮ、ＬＩＮＥＡＲＴ、ＥＰＩＣＴＵＲＥ、ＦＲＡＭＥ、ＴＡＢＬＥ等の属性毎に認識された各ブロックの属性情報と、その矩形アドレス情報と、を保持する。なお、ここで、ＴＥＸＴとは、文字を表し、ＴＩＴＬＥとは、タイトルを表し、ＣＡＰＴＩＯＮとは、キャプションを表し、ＬＩＮＥＡＲＴとは、線画を表し、ＥＰＩＣＴＵＲＥとは、自然画を表し、ＦＲＡＭＥとは、枠を表し、ＴＡＢＬＥとは、表を表している。
【００８４】
文字認識記述データ部７９３は、ＴＥＸＴ、ＴＩＴＬＥ、ＣＡＰＴＩＯＮ等のＴＥＸＴブロックを文字認識して得られる文字認識結果を保持する。表記述データ部７９４では、ＴＡＢＬＥブロックの構造の詳細情報を格納する。画像記述データ部７９５は、ＰＩＣＴＵＲＥやＬＩＮＥＡＲＴ等のブロックのイメージデータを文書画像データから切り出して保持する。
【００８５】
図１８に示されるようなＤＡＯＦは、中間データとしてのみならず、それ自体がファイル化されて、データ処理装置１１５の内部メモリ等に保存される場合もある。更に以下では、このＤＡＯＦから、所謂一般の文書作成アプリケーションで個々のオブジェクトを再利用する場合に必要となるアプリデータに変換するアプリデータ変換処理について説明する。
【００８６】
図１９は、アプリデータ変換処理の一例を示すフローチャートである。ステップＳ８０００において、データ処理装置１１５は、ＤＡＯＦデータの入力（取得）を行う。データ処理装置１１５は、例えば内部メモリ等から、ファイル化し、保存してあるＤＡＯＦデータを取得する。
【００８７】
ステップＳ８００２において、データ処理装置１１５は、ＤＡＯＦデータ等を用いて、アプリデータの基となる文書構造ツリーの生成を行う。なお、文書構造ツリーの生成処理の詳細は、後述する図２０に示す。ステップＳ８００４において、データ処理装置１１５は、文書構造ツリーを基に、ＤＡＯＦデータをはめ込んでいき（流し込み）、アプリデータを生成する。
【００８８】
図２０は、文書構造ツリー生成処理の一例を示すフローチャートである。また、図２１は、文書構造ツリーの一例を示す図である。なお、図２０の処理において、基本ルールとして、処理の流れはミクロブロック（単一ブロック）からマクロブロック（ブロックの集合体）へと移行する。但し、以下では特に言及しない限り、説明の簡略化のため、ミクロブロック、及びマクロブロック共に、ブロックとして説明する。
【００８９】
ステップＳ８１００において、データ処理装置１１５は、ブロック単位で縦方向の関連性を元に再グループ化する。ここで、関連性とは、「距離が近い」、「ブロック幅（横方向の場合は高さ）がほぼ同一である」等である。データ処理装置１１５は、距離、幅、高さ等の情報を、ＤＡＯＦデータより抽出し、利用する。なお、ステップＳ８１００の処理の開始直後は、ミクロブロック単位で判定（再グループ化の処理）を行う。
【００９０】
図２１（Ａ）は、実際のページ構成を示す図、図２１（Ｂ）は、図２１（Ａ）の文書構造ツリーを示す図である。ステップＳ８１００の処理の結果、Ｔ３、Ｔ４、Ｔ５を含む一つのグループＶ１と、Ｔ６、Ｔ７を含む一つのグループＶ２と、が同じ階層のグループとして生成される。
【００９１】
ステップＳ８１０２において、データ処理装置１１５は、縦方向のセパレータの有無をチェックする。ここで、セパレータとは、例えば物理的には、ＤＡＯＦデータ中でライン属性を持つオブジェクトのことである。また論理的な意味としては、アプリ中で明示的にブロックを分割する要素である。データ処理装置１１５は、セパレータを検出した場合は、同じ階層で再分割する。
【００９２】
ステップＳ８１０４において、データ処理装置１１５は、分割がこれ以上存在し得ないか否かを縦方向のグルーピング長を利用して判定する。データ処理装置１１５は、縦方向のグルーピング長がページ高さとなっている場合は、文書構造ツリーの生成処理を終了する。一方、データ処理装置１１５は、縦方向のグルーピング長がページ高さとなっていない場合は、ステップＳ８１０６に進む。
【００９３】
ステップＳ８１０６において、データ処理装置１１５は、ブロック単位で横方向の関連性を元に再グループ化する。ここで、関連性とは、上述したのと同様、「距離が近い」、「ブロック幅（横方向の場合は高さ）がほぼ同一である」等である。データ処理装置１１５は、距離、幅、高さ等の情報を、ＤＡＯＦデータより抽出し、利用する。なお、ステップＳ８１０６の処理の開始直後は、ミクロブロック単位で判定（再グループ化の処理）を行う。
【００９４】
ステップＳ８１００の処理の結果、Ｔ３、Ｔ４、Ｔ５を含む一つのグループＶ１と、Ｔ６、Ｔ７を含む一つのグループＶ２と、が同じ階層のグループとして生成される。ステップＳ８１０６の処理の結果、Ｔ１、Ｔ２を含む一つのグループＨ１と、Ｖ１、Ｖ２を含む一つのグループＨ２と、がグループＶ１、Ｖ２の１つ上の同じ階層のグループとして生成される。
【００９５】
ステップＳ８１０８において、データ処理装置１１５は、横方向のセパレータの有無をチェックする。データ処理装置１１５は、セパレータを検出した場合は、同じ階層で再分割する。図２１に示す例の場合、セパレータＳ１があるため、データ処理装置１１５は、Ｓ１を文書構造ツリーに登録（追加）する。
【００９６】
ステップＳ８１０６及びステップＳ８１０８の処理の結果、Ｈ１、Ｓ１、Ｈ２という階層が生成される。ステップＳ８１１０において、データ処理装置１１５は、分割がこれ以上存在し得ないか否かを横方向のグルーピング長を利用して判定する。データ処理装置１１５は、横方向のグルーピング長がページ幅となっている場合は、文書構造ツリーの生成処理を終了する。一方、データ処理装置１１５は、横方向のグルーピング長がページ幅となっていない場合は、ステップＳ８１００に戻り、再びもう一段上の階層で、縦方向の関連性チェックの処理を開始し、ステップＳ８１００からのステップＳ８１１０までの処理を繰り返す。
【００９７】
図２１に示す例の場合、分割幅（横方向のグルーピング長）がページ幅になっているので、データ処理装置１１５は、ここで処理を終了し、最後にページ全体を示す最上位階層のＶ０を文書構造ツリーに付加し、図２０に示す文書構造ツリーの生成処理を終了する。
【００９８】
図１９のステップＳ８００４の処理を、図２１を用いて、より具体的に説明する。データ処理装置１１５は、Ｈ１は横方向に２つのブロックＴ１と、Ｔ２とを有しているため、２カラムとし、ＤＡＯＦデータを参照し、Ｔ１の内部情報（文字認識結果の文章、画像等）を出力する。
【００９９】
その後、データ処理装置１１５は、カラムを変え、同様にしてＴ２の内部情報出力し、その後Ｓ１を出力する。Ｈ２は横方向に２つのブロックＶ１と、Ｖ２とがあるので、データ処理装置１１５は、２カラムとして出力する。データ処理装置１１５は、Ｖ１を、Ｔ３、Ｔ４、Ｔ５の順にその内部情報を出力し、その後カラムを変え、Ｖ２を、Ｔ６、Ｔ７の順に内部情報を出力する。
【０１００】
以上、上述したように、本実施形態によれば、プリント時に保存されたプリントデータの有効な再利用を可能とすることができる。また、図７に示したように再プリント履歴表をＭＶＰ１００の内部メモリ等に保存しておくことによって、セキュリティに関する情報の質を高めることができる。
【０１０１】
＜プリントデータの印刷オブジェクト毎属性を用いた像域識別＞
図３のステップＳ１２２におけるブロックセレクション処理は、対象となるラスタイメージデータによっては誤った属性判定を行ってしまうことがある。誤った属性判定を行ってしまうと、その後のベクトル化処理も適切な処理ではなくなってしまうことがある。以下、ステップＳ１２２のブロックセレクション処理の代わりにラスタイメージの属性を正確に識別する方法について述べる。
【０１０２】
図２７は後述する属性マップを用いてラスタイメージデータをベクトル化する処理の概要を示す図である。
クライアントＰＣ１０２からＭＦＰ１００に送信されるプリントデータ２７０１がページ記述言語で表されている場合を想定する。ＰＤＬでは印刷対象となる画像や文字や図形等（これらを総称して印刷オブジェクトという）をページ上のどの位置に印刷するかを規定する情報が記述されている。そして、これら印刷オブジェクト２７０１各々に対してそのオブジェクト毎の画像属性を示す情報（オブジェクト毎属性２７０４）が付与されている。
【０１０３】
データ処理装置１１５は、プリントデータをラスタイメージデータ２７１４に変換する際に、オブジェクト毎属性２７０４に基づいて属性マップ２７０６を生成する。
属性マップはラスタイメージデータ２７１４に対応した、一種のビットマップデータであり、その各画素は画像の属性を示すフラグを示している。そしてフラグが示す画像の属性は、プリントデータ２７０１に含まれるオブジェクト毎属性２７０４に基づいている。
【０１０４】
図２７の例では、ラスタイメージデータ２７１４を構成する印刷オブジェクトのうち、印刷オブジェクト２７１６は「文字」、印刷オブジェクト２７１８は「写真」、印刷オブジェクト２７１９、２７２０はそれぞれ「グラフィクス」という属性がオブジェクト毎属性２７０４にて規定されている。したがって、属性マップ２７０６は、像域２７１０（円形の図形と三角形の図形の両方）がグラフィクスを示し、像域２７１２は文字を示し、像域２７０８は写真を示すようなフラグで構成されたビットマップであることを示している。
【０１０５】
属性マップは本来、プリントデータをラスタイメージデータに変換する際にオブジェクトの種類毎に適切な画像処理を施すことを目的に生成するものである。従って従来の画像処理装置では、ラスタイメージデータを生成した後に属性マップを用いることは無いので削除していた。本実施形態では、属性マップ２７０６をラスタイメージデータ２７１４と対にして記憶装置１１１に記憶しておき、後に行われるベクトル化処理、特に画像の像域を識別する処理を行う際にも利用する。
【０１０６】
このように像域マップ２７０６をベクトル化の際にも利用することで、ステップＳ１２２におけるブロックセレクション処理を行わずに済むのでベクトル化を行う場合におけるブロックセレクションの処理に係る時間を短縮することができる。また、像域マップ２７０６を利用すればブロックセレクション処理における属性の誤判定の発生が無いので、より正確な属性識別が可能になる。
なお、上述の例では、プリントデータ２７０１がページ記述言語で表されている場合について述べたがプリントデータ２７０１としては他の形態であっても良い。例えば、クライアントＰＣ側で予めラスタイメージデータに展開したデータに、属性マップ２７０６に相当するようなデータを付加したものをプリントデータとしても良い。この場合、データ処理装置１１５は属性マップ相当のデータが付加されたプリントデータを記憶装置１１１に記憶すれば良い。
【０１０７】
以下、図２２、図２７を参照してプリントデータ２７０１の印刷オブジェクト毎属性２７０４に基づいて作成した属性マップ２７０６を用いたベクトル化処理について説明する。
【０１０８】
図２２は、ＭＦＰ１００における、ベクトルデータの抽出、変更、反映処理の一例を示すフローチャートである。本フローチャートは、ＭＦＰ１００のデータ処理装置１１５の制御の下に実行される。
【０１０９】
ステップＳ３０１において、データ処理装置１１５は、ネットワークインターフェース１１４を介してクライアントＰＣ１０２から送信されたプリントデータ２７０１を受信する。
【０１１０】
ステップＳ３０２において、データ処理装置１１５は、プリントデータより、個々の属性（写真／グラフィクス／テキスト等）に対する画像処理を適切に行うために用いられる属性マップを作成する。ここで、グラフィクスとは、例えば、図画（ＰＩＣＴＵＲＥ）等である。また、イメージとは、例えば、写真（ＰＨＯＴＯ）等である。
【０１１１】
ステップＳ３０３において、データ処理装置１１５は、ステップＳ３０１において受信したプリントデータを展開し、ステップＳ３０２で作成した属性マップを用いて、印刷オブジェクト毎に適切な画像処理を施しつつラスタイメージデータを生成する。
なお、ステップＳ３０２と、ステップＳ３０３との処理は、少なくとも一部の処理が並行して行われても良い。
【０１１２】
ステップＳ３０４において、データ処理装置１１５は、ステップＳ３０２で作成したラスタイメージデータ２７１４と、ステップＳ３０３で作成した属性マップ２７０６とを、対にして、即ち両者を関連付けて記憶装置１１１に保存する。ラスタイメージデータ２７１４と属性マップ２７０６の保存先は、文書管理サーバ１０４としても良い。
【０１１３】
ステップＳ３０５において、データ処理装置１１５は、ユーザーインターフェース部１１６等を介して、ユーザーからラスタイメージデータ２７１４中、再編集を行いたい部分の指定を受ける。指定の方法としては、ユーザーインターフェース部１１６にラスタイメージデータ２７１４を表示し、タッチパネルによるユーザーの指定個所に対応する属性を持つ領域をベクトル化の対象領域とする。或いは、ユーザーインターフェース部１１６のタッチパネルに「写真」、「グラフィクス」、「文字」というボタンを表示して、ユーザーが押下したボタンに対応する属性を持つ領域をベクトル化の対象領域としても良い。本フローチャートでは、一例としてプリントデータのグラフィクス部分の画像に対する再編集後、再出力する旨の依頼を受け取るものとする。もちろん、他の属性をベクトル化対象領域としても良い。また、ベクトル化対象領域を複数指定するようにしても良いし、特に指定の無い場合にはラスタイメージデータ２７１４全体をベクトル化の対象としても良い。
【０１１４】
ステップＳ３０６において、データ処理装置１１５は、ユーザーが再出力を要求したラスタイメージデータ２７１４と対になって保存されている属性マップ２７０６から、グラフィクス属性の領域２７１０を抜き出す。そして、データ処理装置１１５は、属性マップより抜き出したグラフィクス属性の図形を基にベクトルデータを生成する。そして、データ処理装置１１５は、生成したベクトルデータを、表示装置１１６に表示し、ユーザーに提示する。ステップＳ３０６の処理の詳細は図２３で詳述する。
なお、ステップＳ３０６における表示では、既にベクトルデータの部品化が済まされており、ユーザーはユーザーインターフェース部１１６上でベクトルデータの編集を行うことが可能である。
【０１１５】
ステップＳ３０９において、データ処理装置１１５は、ユーザーインターフェース部１１６を用いてユーザーが行った編集操作に応じて、ベクトルデータを編集する。
ステップＳ３１０において、データ処理装置１１５は、編集したベクトルデータを用いてラスタイメージデータ２７１４を更新する。なお、ステップＳ３１０の処理の詳細は、後述する図２５に示す。
【０１１６】
ステップＳ３１１において、データ処理装置１１５は、ステップＳ３１０において反映を行った反映済みのプリントデータを、記録装置１１２等を用いて、記録紙等に記録し、出力する。
【０１１７】
図２３は、属性マップ２７０６からベクトルデータを生成するベクトルデータ生成処理の一例を示すフローチャートである。以下、図２７も参照しつつ本フローチャートについて説明する。
【０１１８】
ステップＳ４０１において、データ処理装置１１５は、ユーザーが指定したラスタイメージデータ２７１４と対になって保存されている属性マップ２７０６を記憶装置１１１より読み込む。
【０１１９】
ステップＳ４０２において、データ処理装置１１５は、読み込んだ属性マップ２７０６から、グラフィクス属性２７１０以外の属性を除外する。
【０１２０】
ステップＳ４０３において、データ処理装置１１５は、属性マップの属性部分（つまり、グラフィクス属性部分）を、ユーザーが予め設定した任意の色で着色する。なお、ステップＳ４０３の処理は必ずしもこの段階で行う必要は無く、ステップＳ３０９の編集処理で行っても良い。
【０１２１】
ステップＳ４０４において、データ処理装置１１５は、属性マップのグラフィクス属性部分を、ベクトルデータに変換する。例えば、データ処理装置１１５は、上述した実施形態の図１０から図１３までに示した方法等によって、グラフィクス属性部分からベクトルデータに変換する。
【０１２２】
ステップＳ３０５において、特にユーザーから特定の領域が指定されること無くベクトル化の指示が合った場合、ステップＳ４０４ではラスタイメージデータ２７１４全体をベクトル化対象領域とする。この場合、上述のブロックセレクション処理を行って画像属性の識別を行わずに、属性マップ２７０６を用いて属性識別を行い、識別した画像の属性に従ったベクトル化処理を行う。
【０１２３】
ステップＳ４０５において、データ処理装置１１５は、属性マップ内のベクトルデータを、図２６のユーザー指定テーブルに示すルールに基づいて直線／曲線をベースとして区分けし、部品化する。部品化処理の詳細については後述する。
ステップＳ４０６において、データ処理装置１１５は、ステップＳ４０４において生成したベクトルデータを、ユーザーインターフェース部１１６に表示する。
【０１２４】
以下、図２３のステップＳ４０３からステップＳ４０５までの処理の詳細は、図２４に示す。図２４は、ベクトルデータ化及び部品化の一例を示すフローチャートである。
【０１２５】
ステップＳ５０１において、データ処理装置１１５は、グラフィクス属性部分に着色する色の指定がユーザーによってなされていたか否かを判定する。例えば、データ処理装置１１５は、内部メモリ等に、ユーザーが指定した色に係る色情報等が格納されているか否かに基づいて、色の指定がなされていたか否かを判定する。
【０１２６】
データ処理装置１１５は、グラフィクス属性部分に着色する色の指定がユーザーによってなされていたと判定すると、ステップＳ５０３に進む。また、データ処理装置１１５は、グラフィクス属性部分に着色する色の指定がユーザーによってなされていなかったと判定すると、ステップＳ５０２に進む。
【０１２７】
ステップＳ５０２において、データ処理装置１１５は、デフォルトで設定されている色（例えば、黒等）により、グラフィクス属性部分を着色する。一方、ステップＳ５０３において、データ処理装置１１５は、例えばユーザーが指定した色情報等に基づいて、グラフィクス属性部分を着色する。
【０１２８】
ステップＳ４０４の処理は、図２３のステップＳ４０４で述べた処理と同じである。
ステップＳ５０４において、データ処理装置１１５は、ベクトルデータの部品化に関して、ユーザーによる指定がなされているか否かを判定する。例えば、データ処理装置１１５は、内部メモリ等に、部品化に係るユーザー指定情報が登録されているユーザー指定テーブル等（図２６）が存在するか否かに基づいて、ユーザーによる指定がなされているか否かを判定する。
【０１２９】
データ処理装置１１５は、ユーザーによるベクトルデータの部品化に係る指定がなされていると判定すると、ステップＳ５０６に進み、ユーザーによるベクトルデータの部品化に係る指定がなされていないと判定すると、ステップＳ５０５に進む。
【０１３０】
ステップＳ５０５において、データ処理装置１１５は、デフォルトの部品化の処理、例えば直線を全て部品化する等の処理、を行う。一方、ステップＳ５０６において、データ処理装置１１５は、例えば内部メモリ等に保存されているユーザー指定テーブルを参照し、部品化に係るユーザー指定情報等に基づいて、ベクトルデータの部品化を行う。なお、ユーザー指定テーブルの一例は、後述する図２６に示す。
【０１３１】
ステップＳ５０７において、データ処理装置１１５は、ベクトルデータの中での閉領域に対しての特別処理の指示が、ユーザーによりなされているか否かを判定する。例えば、データ処理装置１１５は、内部メモリ等に、ベクトルデータの中での閉領域に対しての特別処理の指示情報等が存在するか否かに基づいて、ベクトルデータの中での閉領域に対しての特別処理の指示がユーザーによりなされているか否かを判定する。閉領域に対しての特別処理の指示情報とは、例えば、閉領域内を特定の色で着色する、等の指示を示す情報である。
【０１３２】
データ処理装置１１５は、ベクトルデータの中での閉領域に対しての特別処理の指示が、ユーザーによりなされていると判定すると、ステップＳ５０８に進む。一方、データ処理装置１１５は、ベクトルデータの中での閉領域に対しての特別処理の指示が、ユーザーによりなされていないと判定すると、特別処理は実行せず、ステップＳ５０９に進む。
【０１３３】
ステップＳ５０８において、データ処理装置１１５は、例えば内部メモリ等に保存されているベクトルデータの中での閉領域に対しての特別処理の指示情報等に基づいて、閉領域を構成する直線は、個別に部品化する等の特別処理を実行する。
【０１３４】
ステップＳ５０９ではステップＳ５０５、５０６で部品化されたグラフィクスや、ステップＳ５０８で閉領域に対して特別処理の指示された部品をグラフィクス毎に階層化する処理を行い、ステップＳ４０６へ遷移する。
【０１３５】
図２５は、編集後のベクトルデータの置き換え処理（図２２のステップＳ３１０）の一例を示すフローチャートである。ステップＳ６０１において、データ処理装置１１５は、編集したベクトルデータの部品を統合し、一枚の画像を生成する。図２７のベクトルデータ２７３０は各部品が統合されたベクトルデータを示す。ステップＳ６０２において、データ処理装置１１５は、ステップＳ６０１において生成した画像から、グラフィクス属性情報を生成する。本実施形態では、属性マップ２７０６に基づいてグラフィック属性の領域をベクトル化したので、ステップＳ６０２で生成した属性も同じくグラフィクス属性になる。しかし、グラフィクス属性の領域中の画像が文字等を含んでいる場合で、この文字をベクトル化処理の過程で文字認識処理を行い文字として認識することができたら、その領域は文字領域として扱うのが合理的である。つまり、このような場合はグラフィクス領域中に文字領域が存在するような像域情報を生成する。また、ステップＳ３０５でユーザーがグラフィクス属性の領域以外の領域を指定した場合には、ステップＳ６０２で生成する属性情報は指定した領域の属性に応じた属性情報を生成することになる。
【０１３６】
ステップＳ６０３において、データ処理装置１１５は、ステップＳ６０２において生成した属性情報に基づいて、編集要望のあったラスタイメージデータ２７１４と対になって保存されている編集前の属性マップ２７０６から、グラフィクス属性部分を除外する。そしてグラフィクス属性部分を除外した属性マップを生成する。ステップＳ３０５でユーザーがグラフィクス属性の領域以外の領域を指定した場合には、当該指定した属性の領域を除外することになる。
【０１３７】
ステップＳ６０５において、データ処理装置１１５は、ステップＳ６０１で統合されたベクトルデータ２７３０と、元のラスタイメージデータ２７１４との合成方法を決定する。本実施形態では、ラスタイメージデータ２７１４と統合後のベクトルデータ２７３０とをそれぞれ別のレイヤー（層）として扱う。そして合成方法として、ステップＳ６０５ではどちらを上位の層にするかを決定する。
【０１３８】
データ処理装置１１５は、ステップＳ６０５でベクトルデータ２７３０を上位層に合成すると判断した場合にはステップＳ６０７に進み、ベクトルデータ２７３０を下位層に合成すると判断した場合には、ステップＳ６０６に進む。
【０１３９】
ステップＳ６０６において、データ処理装置１１５は、ベクトルデータ２７３０を、ラスタイメージデータ２７１４の下位層となるように合成する。また、ステップＳ６０２において生成した属性情報と、ステップＳ６０３で生成したグラフィクス領域が除外された属性情報と結合し、新たな属性マップを生成する。この場合、ベクトルデータ２７３０がラスタイメージデータ２７１４の下位層になるように属性マップを結合する。
【０１４０】
一方、ステップＳ６０６において、データ処理装置１１５は、ベクトルデータ２７３０を、ラスタイメージデータ２７１４の上位層となるように合成する。また、ステップＳ６０２において生成した属性情報と、ステップＳ６０３で生成したグラフィクス領域が除外された属性情報と結合し、新たな属性マップを生成する。この場合、ベクトルデータ２７３０がラスタイメージデータ２７１４の上位層になるように属性マップを結合する。
図２７の画像２７４０はベクトルデータ２７３０と、ラスタイメージデータ２７１４とが合成された結果を示す。この画像２７４０は、グラフィクス領域が上位層になるような合成を行った場合の例を示している。
【０１４１】
＜ベクトルデータの部品化＞
図２６は、図２３のステップＳ４０５におけるベクトルデータの部品化に関するユーザー指定テーブルの一例を示す図である。図２６に示されるように、ユーザー指定テーブルは、項目として、形状と、分割数と、閉領域処理と、を含む。つまり、ユーザーは、ベクトルデータの形状毎に、幾つの直線に分割するか、閉領域処理を行うか否か等を設定することができる。
【０１４２】
なお、「形状」の項目において、「角度Ａ以下」とは、直線と、直線の接合部に発生する角度に対して言及している。この場合、内角と、外角とが存在するが、その角度の判定については、ユーザーが任意に設定できる。図２６の示される例では、内角か、外角かに係らず、直線を示す２つのベクタの接点が形成する角度がＡ以下の場合、「分割数」を２とする。つまり、角度Ａ以下を成す２つの直線は、それぞれ別のベクトルデータとする。逆に、角度Ａ以上をなす２つの直線は、１つのベクトルデータとして部品化される。つまり２つの直線ではなく、１つの折れ線として扱う。また、「形状」の項目において「９０度＊４」とあるのは、正方形又は長方形となった閉領域に対する指定である。
【０１４３】
上述したように、本実施形態によれば、プリントデータと共に保存されているオブジェクトの属性マップ（属性情報）より、正確なベクトルデータを抽出することができる。また、本実施形態によれば、抽出したベクトルデータを、編集又は再利用することができる。なお、本実施形態では、グラフィクスを用いて説明を行ったが、イメージ又はテキスト等に対しても本実施形態と同様の処理を行うことができる。
以上、本実施形態によれば、一度プリント、或いは保存したプリントデータの有効な再利用に関する技術を提供することができる。
【０１４４】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用しても良い。
【０１４５】
また、本発明の目的は、上記実施形態の機能を実現するソフトウェアを記録した記憶媒体（記録媒体）をシステム又は装置に供給し、そのシステム又は装置のコンピュータ（ＣＰＵやＭＰＵ）が前記ソフトウェアを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施形態の機能を実現することになり、そのソフトウェアを記憶した記憶媒体は本発明を構成する。
【０１４６】
また、前記ソフトウェアの実行により上記機能が実現されるだけでなく、そのソフトウェアの指示により、コンピュータ上で稼働するオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行い、それによって上記機能が実現される場合も含む。
【０１４７】
また、前記ソフトウェアがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれ、そのソフトウェアの指示により、前記カードやユニットのＣＰＵ等が実際の処理の一部又は全部を行い、それによって上記機能が実現される場合も含む。
【０１４８】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するソフトウェアが格納される。
【０１４９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１５０】
【図１】画像処理システムの一例のシステム構成図である。
【図２】ＭＦＰの構成の一例を示す図である。
【図３】データ処理装置１１５の内部ＣＰＵの動作を説明する一例のフローチャートである。
【図４】ユーザーインターフェース部１１６の画面表示例を示す図（その１）である。
【図５】ユーザーインターフェース部１１６の画面表示例を示す図（その２）である。
【図６】ユーザーインターフェース部１１６の画面表示例を示す図（その３）である。
【図７】再プリント履歴表の一例を示す図である。
【図８】ブロックセレクション処理の一例を説明する図である。
【図９】ブロック情報の一例を示す図である。
【図１０】アウトライン化処理を説明する図（その１）である。
【図１１】アウトライン化処理を説明する図（その２）である。
【図１２】アウトライン化する際に削除する輪郭上の点を説明する図である。
【図１３】削除条件２のみを用いて繰り返し輪郭点を削除する様子を示した図である。
【図１４】文字領域、図画領域、表領域に対して行う輪郭点の削除処理のパラメータを示す図である。
【図１５】適応的輪郭点削除処理の一例のフローチャートである。
【図１６】ベクトルデータを、オブジェクト毎にグループ化する、オブジェクト認識処理の一例を示すフローチャートである。
【図１７】要素検出処理の一例を示すフローチャートである。
【図１８】ＤＡＯＦデータのデータ構造の一例を示す図である。
【図１９】アプリデータ変換処理の一例を示すフローチャートである。
【図２０】文書構造ツリー生成処理の一例を示すフローチャートである。
【図２１】文書構造ツリーの一例を示す図である。
【図２２】ベクトルデータの抽出、変更、反映処理の一例を示すフローチャートである。
【図２３】属性マップからベクトルデータを生成するベクトルデータ生成処理の一例を示すフローチャートである。
【図２４】ベクトルデータ化及び部品化の一例を示すフローチャートである。
【図２５】編集後のベクトルデータの置き換え処理の一例を示すフローチャートである。
【図２６】ユーザー指定テーブルの一例を示す図である。
【図２７】ラスタイメージデータをベクトル化する処理の概要を示す図である。
【符号の説明】
【０１５１】
１００  ＭＦＰ
１０２  クライアントＰＣ
１０４  文書管理サーバ
１１５  データ処理装置
１１６  ユーザーインターフェース部
【図１】
2007182064.tif 000003
【図２】
2007182064.tif 000004
【図３】
2007182064.tif 000005
【図４】
2007182064.tif 000006
【図５】
2007182064.tif 000007
【図６】
2007182064.tif 000008
【図７】
2007182064.tif 000009
【図８】
2007182064.tif 000010
【図９】
2007182064.tif 000011
【図１０】
2007182064.tif 000012
【図１１】
2007182064.tif 000013
【図１２】
2007182064.tif 000014
【図１３】
2007182064.tif 000015
【図１４】
2007182064.tif 000016
【図１５】
2007182064.tif 000017
【図１６】
2007182064.tif 000018
【図１７】
2007182064.tif 000019
【図１８】
2007182064.tif 000020
【図１９】
2007182064.tif 000021
【図２０】
2007182064.tif 000022
【図２１】
2007182064.tif 000023
【図２２】
2007182064.tif 000024
【図２３】
2007182064.tif 000025
【図２４】
2007182064.tif 000026
【図２５】
2007182064.tif 000027
【図２６】
2007182064.tif 000028
【図２７】
2007182064.tif 000029