説明

画像処理装置、画像処理方法、プログラム、および記憶媒体

【課題】本発明の課題は、印刷データを検索可能なようにして保存する機能を有する画像処理装置を提供することである。
【解決手段】上記課題を解決するために、本発明では、ビットマップ画像と前記ビットマップ画像の各ピクセルの属性データとを含む印刷データを受信すると、前記属性データの中の文字属性を有するピクセルに基づいて文字認識処理を実行し、当該文字認識結果の文字コードをメタデータとして生成する。更に、前記属性データの中の文字属性を有するピクセルに基づいて、文字輪郭を示すベクタデータを生成する。そして、前記生成したメタデータとベクタデータとを含むドキュメントを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続され、印刷データを送受信する機能を有する画像処理装置、画像処理方法、プログラム、および記憶媒体に関する。
【背景技術】
【0002】
画像入力機器から入力した画像データを、画像出力機器内の二次記憶装置にファイルとして保存しておけば、ユーザが好きな時間に取り出して繰り返し出力することができる。このように再利用を目的として画像出力装置の二次記憶装置に入力データをファイル形式で保存する機能をボックス機能と呼ぶ。また、再利用を目的として画像出力装置の二次記憶装置に入力データをファイル形式で保存するファイルシステムをボックスと呼ぶ。
【0003】
ボックス内のファイルは、ドキュメントスキャナで読み取られたビットマップデータや、ネットワークを介して接続されたホストコンピュータから受信したPDLデータである。ボックス内に保存されているファイルが増えるとファイル名やサムネイルなどの一覧情報から目的のファイルを探し出すことが難しくなってくる。
【0004】
そこで、ユーザが目的のファイルに含まれるキーワードをUI(ユーザインタフェース)から入力し、検索を使ってキーワードにマッチするファイルだけを一覧表示すればユーザの利便性が格段に向上する。
【0005】
検索対象ファイルがPDL(ページ記述言語)データの場合、文字として印刷される描画オブジェクトは、通常、文字コードを伴ったフォント情報としてPDLデータ内に記述されている。そのため、PDLデータ内を直接文字列検索することが可能である。また、ボックス内に保存される際にデータ形式が変換されて文字コード情報を失う場合でも、ボックス保存時に文字コード情報のみを別途保存してメタデータとして添付保存しておくことで、ボックス内に保存されているデータの検索が可能となる。
【発明の開示】
【発明が解決しようとする課題】
【0006】
一方、PDL印刷に用いるデータであっても、文字として印刷される描画オブジェクトデータが文字コード情報を伴っていない場合がある。
【0007】
ひとつは、ホストコンピュータ上で印刷データをビットマップ展開する場合である。通常のPDLデータを用いて出力を行うと、画像出力機器固有の描画パラメータを用いて画像展開を行う。そのため、予期せぬ画像不良が生じる場合がある。たとえば元画像のドットパターン描画と、画像出力機器固有のハーフトーンとの干渉が発生してしまうケースが挙げられる。また、PDLデータの内容によっては、ホストコンピュータ上でPDLデータを展開したほうが、処理が高速な場合もある。そのような場面で、ユーザは、ホストコンピュータ上で画像展開するモードを選択できる。
【0008】
また、画像出力機器として、画像展開を行う装置(ラスタイメージプロセッサ、以下、RIPと言う。) と、展開された画像を用いて出力を行う機器とが、別の装置になっている場合がある。しかし、このような場合でも、ボックス機能が画像出力装置側に装備されている場合には、ボックス内のデータに文字コード情報を付加することができない。
【0009】
このような状況においては、画像出力機器が受信するデータ内に検索に用いるための文字コード情報が残っていないため、受信した文字コードを用いて検索用のメタデータを付加することが不可能である。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明に係る画像処理装置は、ビットマップ画像と前記ビットマップ画像の各ピクセルの属性データとを含む印刷データを受信する受信手段と、前記属性データの中の文字属性を有するピクセルに基づいて文字認識処理を実行し、当該文字認識結果の文字コードをメタデータとして生成するメタデータ生成手段と、前記属性データの中の文字属性を有するピクセルに基づいて、文字輪郭を示すベクタデータを生成するベクタデータの生成手段と、前記メタデータ生成手段で生成したメタデータと、前記ベクタデータの生成手段で生成したベクタデータとを含むドキュメントを生成するドキュメント生成手段と、を備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、画像出力装置が受信したデータ中に文字コード情報が含まれていない場合でも、ボックス保存データに対して検索用メタデータを付加することが可能となる。
【0012】
また、本発明によれば、印刷データがホストコンピュータ上でビットマップ展開される場合や外部RIP装置によって画像展開される場合でも、受信した文字コード情報を含まない印刷データに対して、検索用メタデータを付加しつつボックス保存できる。
【発明を実施するための最良の形態】
【0013】
(実施形態1)
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
【0014】
本発明を実施するに好適な画像処理装置を、図1を参照しながら説明する。図1には、画像処理装置1000の概要が示されている。
【0015】
図1において、リーダー装置(リーダー部(スキャナ))200は、原稿画像を光学的に読み取り、画像データに変換する。リーダー装置200は、原稿を読取るための機能を持つスキャナユニット210と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット250とを有する。
【0016】
プリンタ装置(プリンタ部)300は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。
【0017】
プリンタ装置300は、給紙ユニット310、マーキングユニット320、排紙ユニット330、及びフィニッシャユニット500を有する。
【0018】
ここで、給紙ユニット310は、複数種類の記録紙カセットを持つ。また、マーキングユニット320は、画像データを記録紙に転写、定着させる機能を持つ。また、排紙ユニット330は、印字された記録紙を機外へ出力する機能を持つ。また、フィニッシャユニット500は、ステイプル処理、ソート処理を行う。
【0019】
制御装置(コントローラ部)100は、リーダー装置200、プリンタ装置300と電気的に接続され、さらに、LAN(ローカルエリアネットワーク)400を介して、PC(ホストコンピュータ)401、402や、インターネット上の各種サーバと接続される。
【0020】
制御装置100は、リーダー装置200を制御して、原稿の画像データを読込み、プリンタ装置300を制御して画像データを記録用紙に出力してコピー機能を提供する。
【0021】
また、制御装置100は、スキャナ機能、プリンタ機能、およびボックス機能も提供する。
【0022】
ここで、スキャナ機能は、リーダー装置200から読取った画像データを、コードデータに変換し、LAN400を介してホストコンピュータへ送信する機能である。また、プリンタ機能は、ホストコンピュータからLAN400を介して受信したコードデータを画像データに変換し、プリンタ装置300に出力する機能である。また、ボックス機能、リーダー装置200から読み取った画像データおよびホストコンピュータから受信したコードデータを変換した画像データを、制御装置100内の2次記憶装置に保存する機能である。
【0023】
操作部150は、制御装置100に接続され、液晶タッチパネルを有し、画像入出力システムを操作するためのユーザI/F(インタフェース)を提供する。
【0024】
図2は、リーダー装置200及びプリンタ装置300を含むMFP(Multifunction Peripheral(複合機))の断面図である。リーダー部の原稿給紙ユニット250は、原稿を先頭順に1枚ずつプラテンガラス211上へ給送し、原稿の読み取り動作終了後、プラテンガラス211上の原稿を排出トレイ219に排出するものである。原稿がプラテンガラス211上に搬送されると、ランプ212が点灯する。そして、光学ユニット213の移動が開始し、原稿が露光走査される。このときの原稿からの反射光は、ミラー214、215、216、及びレンズ217によってCCDイメージセンサ(以下CCDという)218へ導かれる。このように、走査された原稿の画像はCCD218によって読み取られる。CCD218から出力される画像データは、所定の処理が施された後、制御装置100へ転送される。
【0025】
プリンタ装置300のレーザドライバ321は、レーザ発光部322を駆動するものであり、制御装置100から出力された画像データに応じたレーザ光をレーザ発光部322に発光させる。このレーザ光は感光ドラム323に照射され、感光ドラム323にはレーザ光に応じた潜像が形成される。この感光ドラム323の潜像の部分には現像器324によって現像剤が付着される。
【0026】
そして、レーザ光の照射開始と同期したタイミングで、カセット311、カセット312、カセット313、カセット314、手差し給紙段315のいずれかから記録紙を給紙する。そして、転写部325へ搬送路331によって、感光ドラム323に付着された現像剤を記録紙に転写する。
【0027】
現像剤の乗った記録紙は搬送ベルト326によって、定着部327に搬送され、定着部327の熱と圧力により、現像剤は、記像紙に定着される。その後、定着部327を通過した記録紙は搬送路335、搬送路334を通り、排出される。あるいは、印字面を反転して排出する場合には、搬送路336、搬送路338まで導かれ、そこから記録紙を逆方向に搬送し、搬送路337、搬送路334を通る。
【0028】
また、両面記録が設定されている場合は、定着部327を通過したあと、搬送路336からフラッパ329によって、搬送路333に記録紙は導かれる。その後、記録紙は、逆方向に搬送され、フラッパ329によって、搬送路338、再給紙搬送路332へ導かれる。再給紙搬送路332へ導かれた記録紙は上述したタイミングで搬送路331を通り、転写部325へ給紙される。
【0029】
搬送路334より排出された記録紙は、フィニッシャユニット500へ搬送される。
【0030】
搬送された記録紙はまずバッファユニット501へ送られる。ここでは場合に応じて搬送されてきた記録紙をバッファローラに巻きつけてバッファリングする。例えばこの下流で行われるステイプル等処理に時間がかかる場合は、このバッファユニットを利用することによって本体から搬送されてくる記録紙の搬送速度を一定に保つことができ、スループットの向上に役立たせることが可能である。
【0031】
記録紙は、この後、上流排出ローラ対502、下流排出ローラ対503でスタックトレイ507aに排出される。
【0032】
<コントローラユニット>
図3は、本実施形態におけるMFPのコントロールユニット(コントローラ部(制御装置))の一例を示すブロック図である。図2において、制御装置100は、画像入力デバイスであるリーダー装置200や画像出力デバイスであるプリンタ装置300と接続し、画像データの読み取りやプリント出力のための制御を行う。また、制御装置100は、LAN400と接続することで、画像情報やデバイス情報をLAN400経由で入出力するための制御を行う。
【0033】
図3において、CPU101は、MFP全体を制御するための中央処理装置である。RAM102は、CPU101が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ROM103はブートROMであり、システムのブートプログラムが格納されている。HDD104は、ハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データを等格納する。操作部I/F(インタフェース)105は、画像データ等を表示可能な表示画面を有する操作部150に対するインタフェース部であり、操作部150に対して操作画面データを出力する。また、操作部I/F(インタフェース)105は、操作部150から操作者が入力した情報をCPU101に伝える役割をする。ネットワークI/F(インタフェース)107は、例えばLANカード等で実現され、LAN400に接続して外部装置との間で情報の入出力を行う。以上のユニットがシステムバス106上に配置されている。
【0034】
イメージバスI/F(インタフェース)109は、システムバス106と画像データを高速で転送する画像バス110とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス110には、RIP(ラスタイメージプロセッサ)111、デバイスI/F(インタフェース)112、スキャナ画像処理部113、プリンタ画像処理部114、画像編集用画像処理部115が接続される。また、画像バス110には、CMM(カラーマネージメントモジュール)116も接続される。
【0035】
RIP(ラスタイメージプロセッサ)111は、PDL(ページ記述言語)コードや後述するベクトルデータをイメージに展開する。デバイスI/F(インタフェース)112は、リーダー装置200やプリンタ装置300と制御装置100とを接続し、画像データの同期系/非同期系の変換を行う。
【0036】
また、スキャナ画像処理部113は、リーダー装置200から入力された画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部114は、プリント出力する画像データに対して、プリンタエンジンに応じた補正、解像度変換等の処理を行う。画像編集用画像処理部115は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。CMM116は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理(色空間変換処理ともいう)を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間(例えばLabなど)に変換するための関数のような情報である。キャリブレーションデータとは、複合機におけるリーダー装置200やプリンタ装置300の色再現特性を修正するためのデータである。
【0037】
<コントローラソフトウェア>
図4は、MFPの動作を制御するコントローラソフトウェアを示すブロック図である。
【0038】
プリンタI/F(インタフェ−ス)1200は、外部との入出力のための手段である。プロトコル制御部1101は、ネットワークプロトコルを解析および送信することによって外部との通信を行う手段である。
【0039】
デジタル文字認識部1102は、ビットマップイメージからデジタル文字認識(OCR)を用いて、認識結果として文字コードを生成する。また、デジタル文字認識の過程で抽出される文字輪郭から、ベクタデータを生成(ベクタライズ)する。
【0040】
メタデータ生成部1103では、デジタル文字認識部1102にて、デジタル文字認識の結果として得られる文字コードと、デジタル文字認識の過程で生成されたベクタデータと結びつけて、メタデータが生成される。メタデータとは描画処理には必要のない検索用の付加的なデータである。
【0041】
PDL解析部1104は、PDLデータを解析し、より処理しやすい形式の中間コードであるDL(Display List)に変換する手段である。PDL解析部1104において生成された中間コードはデータ描画部1105に渡されて処理される。データ描画部1105は上記中間コードをビットマップデータに展開するものであり、展開されたビットマップデータはページメモリ1106に逐次描画されて行く。
【0042】
ページメモリ1106はデータ描画部1105が展開するビットマップデータを一次的に保持する揮発性のメモリである。
【0043】
パネル入出力制御部1020は、操作部150からの入出力を制御するものである。
【0044】
Document(ドキュメント)記憶部1030は、入力文書の一塊(ジョブ)単位にベクタデータ、Display List(ディスプレイリスト)、メタデータを包含するデータファイルを記憶する手段である。Document記憶部1030は、ハードディスク等の二次記憶装置によって実現される。なお、このデータファイルを本実施形態では「ドキュメント(またはDocument)」と呼ぶ。
【0045】
スキャン制御部1500は、リーダー装置200から入力した画像データに対して、補正、加工、編集などの各種処理を行う。
【0046】
印刷制御部1300は、ページメモリ1106の内容をビデオ信号に変換処理し、プリンタ装置300へ画像転送を行なう。プリンタ装置300は受け取ったビデオ信号を記録紙に可視画像形成するための印刷機構部である。
【0047】
<コントローラユニットのデータ処理>
次に、ドキュメントのベクタデータ、DL(Display List(ディスプレイリスト))、メタデータがどのように生成されるのかを説明する。
【0048】
図7、図8、図9は、本実施形態におけるコントロールユニットのデータフローの一例を示している。
【0049】
図7は、PDL(Page Description Language(ページ記述言語))プリント時のデータフローの一例を示している。PDLプリントとはPC(Personal Computer)上のアプリケーションソフトから印刷を指示した場合にPC上のプリンタドライバによって生成されたPDL(ページ記述言語)を受け取って出力する、プリンタ動作のことである。
【0050】
まず、PC401では、ワードプロセッサや表計算ソフトやWebブラウザなどのアプリケーションソフトが動作している。このアプリケーションソフトが扱うデータをアプリケーションデータと呼ぶ。図7に示されているように、ホストPC上で動作するプリンタドライバは、アプリケーションデータをPDLデータに変換する処理d1を行い、PDLデータを生成する。ここで生成されるPDLデータは、文字コードとフォントデータによって定義される文字オブジェクトデータ、線画や領域の塗りを定義するグラフィクスオブジェクトデータ、ビットマップを有するイメージオブジェクトデータを含む。さらに、PDLデータは、上記のオブジェクトデータ以外にも、プログラミング言語としての変数や手続き、デジタル複合機の動作を指示する機器制御コマンドを含むこともある。生成されたPDLデータは、ネットワークを通じて制御装置100に送信される。
【0051】
図7に示されているように、制御装置100にて受信されたPDLデータはPDLデータ解析処理d2によって解析され、後述のDL生成に適したベクタデータが生成される。
【0052】
図7に示されているように、次に、DL生成処理d3によりベクタデータからDLが生成され、生成されたDLはドキュメントの中に格納されると共にレンダリング処理d4に送られてビットマップに展開される。そして、展開されたビットマップは印刷処理d5によって紙媒体に記録されて印刷物となる。
【0053】
この過程で生成されるベクタデータ、DLは、図7に示されているように、ドキュメント生成処理d6によってドキュメントに格納される。このようにして生成されたドキュメントは、BOX等の記憶装置に記憶され、再利用(再印刷など)する際に使用される。
【0054】
また、PDLにはLIPS(LBP Image Processing System)(登録商標)やPS(ポストスクリプト(登録商標))など様々な種類が存在するが、PDLによっては文字列情報(文字コード)を持っているものもある。この場合はPDL解析時に文字列(文字コード)からメタデータ(検索キーワードなど)が生成され、ドキュメントに格納される。
【0055】
図8は、PDLプリントにおけるイメージモードの処理形態でのデータフローの一例を示す例である。ここでは、アプリケーションデータからビットマップイメージ(ビットマップ画像)に変換され、そのイメージデータから作成されたPDLを処理対象にする場合について説明する。
【0056】
まず、図8に示されているように、PC401上で動作するプリンタドライバは、アプリケーションデータをPDLデータに変換する処理d1を行う。このとき、PDLデータは、出力されるページ全面のビットマップイメージデータを含む。このPDLは詳細には、RGBやCMYKなど人間が視覚的に認知可能な表色系で表現される色値を持つ画素(ピクセル)を有する画像プレーンと、テキスト、グラフィクス、イメージのいずれかの属性をもつ画素を有する像域属性プレーンを含む。すなわち、ビットマップ化されたイメージデータと、そのイメージの各画素の属性(テキスト・グラフィクス・イメージ)を示すビットマップ状の属性データとを含むPDLが生成される。なお、各画素の属性は、アプリケーションデータからビットマップイメージを作成する際に決定することができる。例えば、アプリケーションデータ中の文字描画命令によって生成された画素値が描画された領域か、アプリケーションデータ中のイメージデータ描画命令によって生成された画素が描画された領域か、などに基づいて決定することが可能である。
【0057】
上記の画像プレーンは、1ページ分もしくは複数ページ分のビットマップ化された画像を含んでいても良い。
【0058】
また、本発明において、プレーンは複数ある場合がある。プレーンが複数ある場合には、複数のプレーンを第1のプレーン、第2のプレーンと呼んでも良い。
【0059】
さらに、PDLデータは上記のオブジェクトデータ以外にも、プログラミング言語としての変数や手続き、デジタル複合機の動作を指示する機器制御コマンドを含むこともある。生成されたPDLデータはネットワークを通じて制御装置100に送信される。
【0060】
図8に示されているように、制御装置100にて受信されたPDLデータは、PDLデータ解析処理d2によって解析され、ベクタデータが生成されると同時に、像域属性プレーンデータのコピーが生成される。ただし、本例で生成されるベクタデータとは、全面イメージを描画するために必要なビットマップデータと座標変換情報を有する。
【0061】
次に、図8に示されているように、DL生成処理d3によりベクタデータからDLが生成される。生成されたDLは、ドキュメントの中に格納されると共にレンダリング処理d4に送られてビットマップに展開される。展開されたビットマップは、印刷処理d5によって紙媒体に記録されて印刷物となる。
【0062】
この過程で生成されるベクタデータ、DLは、図8に示されているように、ドキュメント生成処理d7によってドキュメントに格納される。
【0063】
また、図8の処理d2で生成された像域属性プレーンデータのコピーからは、メタデータ生成処理d6によってメタデータと文字輪郭ベクタデータが生成され、これもドキュメント生成処理d7によってドキュメントに格納される。処理d6については、図9を用いて後述する。
【0064】
図9は、図8で示したメタデータ生成処理d6の具体的なデータフローの一例を示している。
【0065】
まず、図9に示されているように、像域属性分離処理d1にて、文字属性領域が分離される。すなわち、像域属性プレーン(属性を示すビットマップ)からテキスト属性を有する画素で構成される文字属性領域が抽出される。そして、図9に示されているように、抽出されたテキスト画素を有する文字属性領域の画像は、文字認識(OCR)処理d2により文字認識処理とベクトル化処理とが実行され、文字輪郭ベクタデータと文字コードデータに変換される。
【0066】
また、図9に示されているように、文字認識処理により生成された文字コードデータを有する文字列は、フォーマット変換処理d4によって後述するデータフォーマットに整えられてメタデータが生成される。
【0067】
また、処理d1では、文字属性以外の属性の領域とPDLに含まれているビットマップイメージに基づいて、イメージ領域などのビットマップが得られる。この得られたビットマップと、前述したベクトル化処理により生成された文字輪郭ベクタデータとを、処理d3において、Documentに格納すべきベクタデータとして生成する。
【0068】
図15は、PDLからのDocument(ドキュメント)の生成および印刷の処理の一例を示している。この処理はイメージモードではない通常のPDLデータを受けてドキュメントを生成、印刷出力する処理である。すなわち、イメージモードのPDLを扱わない画像処理装置においては図15のような処理を行えばよい。イメージモードのPDLを扱う画像処理装置については図16を用いて後述する。図15に示されているフローチャートの処理は、CPU101により実行される。
【0069】
まず、ステップS1501で、PDLデータが解析される。次に、ステップS1502で、PDLデータ中に文字オブジェクトが含まれているか否かが判断される。ステップS1502で、PDLデータ中に文字オブジェクトが含まれていると判断された場合は、ステップS1509に進んで文字オブジェクト中の文字コードをもとに、メタデータ生成が行われる。その後、ステップS1503に処理が進む。
【0070】
ステップS1502で、PDLデータ中に文字オブジェクトが含まれていないと判断された場合には、ステップS1503に進む。ステップS1503では、PDLデータのオブジェクト(文字オブジェクトや線画などの図形オブジェクト等)が、ベクタデータに変換された後、ステップS1504に進んでドキュメントが生成される。ステップS1504で生成されるドキュメントには、ステップS1503で生成されたベクタデータと、ステップS1509にて生成されたメタデータとが格納され、そのドキュメントはBOX等の記憶媒体に記憶される。
【0071】
次に、ステップS1505においてDL(Display List(ディスプレイリスト))が生成される。ここで生成されるDLは、この画像処理装置の機種でレンダリング処理するのに適した中間コードである。ステップS1506では、当該生成されたDLがDocument(ドキュメント)に追加される。
【0072】
ここまでのフローでドキュメントが生成される。さらに、ステップS1505で生成されたDLは、ステップS1507のレンダリング処理でレンダリングされ、ステップS1508の紙媒体への印刷処理で印刷が実行される。
【0073】
図16は、イメージモードで生成されたPDLデータを処理可能な画像処理装置において実行される、ドキュメントの生成および印刷の処理の一例を示している。この処理は通常のPDLデータおよびイメージモードのPDLデータのいずれかを受けてドキュメントを生成、印刷出力する処理である。図16に示されているフローチャートの処理は、CPU101により実行される。
【0074】
まず、ステップS1601で、PDLデータの解析が行われ、PDLデータに含まれるデータの種類が判別される。次に、ステップS1602において、PDLデータがイメージモードであるか否かが判断される。
【0075】
ステップS1602において、PDLデータがイメージモードであると判断された場合には、ステップS1611に進む。ステップS1611では、PDLデータに含まれている像域属性データ(各画素の属性(文字属性領域など)を示すビットマップデータ)のコピーが生成される。更に、このビットマップの像域属性データから、文字像域属性画像(文字属性を有する領域のデータ)を抽出する。ステップS1611で生成された文字像域属性画像は、ステップS1612にてデジタル的に文字認識処理とベクトル化処理がなされ、文字コード情報を含むメタデータと文字輪郭ベクタデータが生成される。なお、ステップS1612で、PDL内のイメージから線画などの図形領域を検出できた場合、当該線画部分についてもベクタデータを生成するようにしてもよい。
【0076】
ステップS1612で生成された文字輪郭ベクタデータは、その総数がステップS1613にてチェックされる。描画される文字が複雑な漢字であったり文字数が多かったりする場合には、後述するドキュメントのデータサイズが膨大になってしまうことが懸念される。そこで、ステップS1613で、文字輪郭ベクタデータの要素数が所定の数より多いと判断された場合には、ステップS1614にて、文字輪郭ベクタデータが単純な矩形ベクタデータに変換される。ステップS1614で変換された矩形ベクタデータは、変換される前の1文字分の文字輪郭ベクタデータから、描画位置座標と、文字の大きさに対応する描画範囲の幅と高さの情報を引き継ぐ。これは、BOXに格納されたDocumentをメタデータに格納されている文字列を用いて検索する際に、検索結果に該当する文字画像の部分を識別するためには、矩形ベクタでも可能であるからである。なお、デバイスなどに予め格納されている外部フォントを参照し、前記文字認識結果の文字コードを用いて、該矩形ベクタのサイズに合うように文字を描画する命令(ベクタデータ記述)にしておいてもよい。
【0077】
また、このように構成する理由としては、元のイメージの画質や文字の複雑さ、文字数の多さなどに応じて、文字輪郭を構成するベクタの総数が増加しすぎてしまうことがあるからである。したがってデータ量が多くなりすぎる場合、元画像の文字の輪郭を正確にトレースする文字ベクタデータを記録するのではなく、文字を含む領域に該当する矩形ベクタを替わりに用いることで、大幅にベクタデータ量を削減できるようになる。ステップS1614の処理が終わった後、もしくはステップS1613でNoの場合、ステップS1606へ進む。
【0078】
一方、ステップS1602で、イメージモードでない通常のPDLデータであると判断された場合、ステップS1603へ進む。ステップS1603〜1605では、図15のS1502、S1503、S1509で説明した処理と同様の処理が実行され、ベクタデータが生成される。
【0079】
ステップS1606では、ベクタデータを含むDocument(ドキュメント)フォーマットに変換されて、DocumentがBOX等の記憶媒体に保管される。このとき、ステップS1612にて生成されたメタデータと文字輪郭ベクタデータおよびステップS1614にて生成された矩形ベクタデータや、ステップS1605で生成されたベクタデータが、ドキュメントに追加される。
【0080】
次に、ステップS1607においてDL(Display List(ディスプレイリスト))が生成される。そして、ステップS1608に進んで生成したDLがDocument(ドキュメント)に追加される。
【0081】
ここまでのフローでドキュメントが生成される。さらに、ステップS1607で生成されたDLは、ステップS1609のレンダリング処理でレンダリングされ、ステップS1610の印刷処理で記録媒体への印刷が実行される。
【0082】
図14は、BOX等に保存されているDocument(ドキュメント)を再印刷する場合の処理の一例を示している。この処理は生成・保存されたドキュメントを再印刷出力する処理である。図14に示されているフローチャートの処理は、CPU101により実行される。
【0083】
まず、ステップS1401で、印刷対象のDocument(ドキュメント)データを取得する。ステップS1402において、ドキュメント中に含まれているDL(Display List(ディスプレイリスト))を抽出する。ステップS1403では、ステップS1402で抽出したDLをビットマップにレンダリングする。最後に、ステップS1404において、紙媒体への印刷処理を実行する。
【0084】
このように、同じデバイスにおいて、再度印刷を行う際は、ドキュメントに格納されているDLデータを用いて印刷処理を実行するので、高速に印刷することができる。
【0085】
なお、Documentに含まれているDLデータは、そのDocumentを生成したデバイスの種類に適したデータである。したがって、Documentを他のデバイスで印刷する場合は、その他のデバイスに適したDLデータを作り直す方がよい。すなわち、Documentに含まれているベクタデータを用いて、他のデバイスに適したDLデータを生成しなおして、レンダリング・印刷処理を行うものとする。
【0086】
<ドキュメントデータ構造>
次に、ドキュメントの構造を説明する。
【0087】
図11、図12、図13は、ドキュメントの構造の一例を示している。
【0088】
図11は、ドキュメントのデータ構造の一例を示している。
【0089】
ドキュメントは、複数ページを有するデータであり、大きく分けるとベクタデータ(a)、メタデータ(b)、DL(c)、を含み、ドキュメントヘッダ(x1)を先頭とする階層構造である。ベクタデータ(a)は、さらに、ページヘッダ(x2)、サマリ情報(x3)、オブジェクト(x4)を含み、メタデータ(b)は、さらに、ページ情報(x5)と詳細情報(x6)を含む。DL(c)は、さらに、ページヘッダ(x7)と描画展開用のインストラクション(x8)を含む。
【0090】
ドキュメントヘッダ(x1)にはベクタデータの格納場所とDLの格納場所が記述されているためベクタデータとDLはドキュメントヘッダ(x1)によって関連付けられている。
【0091】
ページヘッダ(x2)はページの大きさや向きなどのレイアウト情報が記述される。オブジェクト(x4)にはライン、多角形、ベジェ曲線、などの描画データが一つずつリンクされており、関連する複数のオブジェクトのグループ単位でサマリ情報(x3)に関連付けられている。また、描画オブジェクト(x4)としてイメージオブジェクトがリンクされる場合もある。サマリ情報(x3)は複数のオブジェクトの特徴をまとめて表現するものであり、像域属性に関連する情報などが記述される。
【0092】
メタデータ(b)は描画処理には関係しない検索用の付加情報である。
【0093】
ページ情報(x5)領域には、例えばメタデータがイメージモードデータから生成されたものなのか、文字オブジェクトを含むPDLデータから生成されたものなのか、などのページ情報が記述される。詳細情報(x6)にはOCR情報や画像情報として生成された文字列(文字コード列)が記述される。
【0094】
また、ベクタデータ(a)の各サマリ情報(x3)からはメタデータが参照されており、サマリ情報(x3)から、メタデータの各サマリに関する詳細情報(x6)を見つけることができる。
【0095】
DL(c)はレンダラがビットマップ展開するための中間コードである。ページヘッダ(x7)にはページ内の描画情報(インストラクション)の管理テーブルなどが記述され、インストラクション(x8)は、解像度依存な描画情報を含む。
【0096】
図17は、イメージモードで生成されたPDLデータを処理する場合のドキュメント構造の一例を示している。
【0097】
ホストコンピュータのイメージモードで生成されたPDLデータを処理すると、まず、1ページ中にひとつのサマリ情報(y3)に関連付けられたひとつのイメージオブジェクト(y4)を含むドキュメントが生成される。このイメージオブジェクト(y4)は、色値を持つ画像プレーンと像域属性値をもつ像域属性プレーンを含むことがサマリ情報(y3)に記載される。その後、文字認識処理およびベクトル化処理で生成された文字輪郭ベクタデータのサマリ情報(y5)が新たに追加され、それに関連付けられて複数の文字輪郭ベクタデータが、色値をもたない描画オブジェクト(y6、y7)として追加される。さらに、文字輪郭ベクタデータのサマリ情報(y5)から参照可能なように、メタデータの詳細情報(y9)として文字認識結果の文字列が記載される。
【0098】
図13は、ドキュメントデータの一例を示している。
【0099】
1ページ目のサマリ情報に「TEXT」と「IMAGE」を持っている。「TEXT」のサマリ情報にはH,e,l,l,o(オブジェクトt1)とW,o,r,l,d(オブジェクトt2)の文字輪郭がベクタデータとしてリンクされている。
【0100】
さらに、サマリ情報からは「Hello」「World」という文字コード列(メタデータmt)が参照されている。
【0101】
また、「IMAGE」のサマリ情報には蝶の写真画像(JPEG)がリンクされている。
【0102】
さらに、サマリ情報からは「butterfly」という画像情報(メタデータmi)が参照されている。
【0103】
したがって、例えば「World」というキーワードでページ中のテキストを検索する場合は以下の手順で検出すればよい。まずドキュメントヘッダからベクタページデータを順次取得し、ページヘッダにリンクされているサマリ情報から「TEXT」にリンクされているメタデータを検索する。
【0104】
イメージモードで生成されたPDLデータでは、ドキュメントとして最初に記述されるのは「IMAGE」のサマリである。このIMAGEは、ページ全面のビットマップがリンクされている。S1611の処理において文字像域属性画像からデジタル文字認識を経て生成されるメタデータは、「TEXT」サマリ情報として付加される。このサマリ情報からは、デジタル文字認識で生成された文字コード列が参照される。
【0105】
図12は,図11で説明したデータ構造がメモリ上、ファイル上にどう配置されるのかを示している。
【0106】
図12の12−1で示されているように、本実施形態において、ドキュメントは、ベクタデータ領域、メタデータ領域、DL領域がメモリ上の任意のアドレスに配置されている。
【0107】
図12の12−2で示されているように、本実施形態において、ドキュメントは、ベクタデータ領域、メタデータ領域、DL領域が、一つのファイルにシリアライズされている。
【0108】
(実施形態2)
実施形態1では、ホストコンピュータでイメージモードのPDLデータが生成される場合について説明したが、実施形態2では、画像出力機器とは別の画像展開装置からイメージデータを受信する場合について説明する。
【0109】
図5は、実施形態2の全体概要を示している。画像展開を行う装置として、外部RIP600が追加されている点が実施形態1と異なる。
【0110】
外部RIP600は、LAN400に対してネットワークデータの送受信を行い、制御装置100に対してネットワークデータの送受信、および画像データの送信を行う。
【0111】
図6は、実施形態2のブロック図を示している。外部RIP600は、制御装置内のネットワークI/F(インタフェース)107およびビデオI/F(インタフェース)117と接続される。ビデオI/F(インタフェース)117は、画像バス110に接続されており、画像データを画像処理部やデバイスI/F(インタフェース)に送信する。
【0112】
図10は、実施形態2における外部RIP接続の処理形態でのデータフローの例を示している。
【0113】
図10に示されているように、まず、PC401上で動作するプリンタドライバは、アプリケーションデータをPDLデータに変換する処理d1を行う。PDLデータの内部データ形式は、外部RIP600にて画像展開処理可能な形式であればよく、ここでは規定はしない。さらに、PDLデータは上記のオブジェクトデータ以外にも、プログラミング言語としての変数や手続き、デジタル複合機の動作を指示する機器制御コマンドを含むこともある。生成されたPDLデータはネットワークを通じて外部RIP600に送信される。
【0114】
外部RIP600にて受信されたPDLデータはPDLデータ解析処理およびレンダリング処理d2によってビットマップに展開され制御装置100に送信される。このビットマップは、画像プレーンデータと像域属性プレーンデータを含む。
【0115】
図10に示されている処理d3では、外部RIP600から受信したビットマップデータをもとに、像域属性プレーンデータのテキスト属性部のコピーが生成される。その後、ビットマップは印刷処理d4によって紙媒体に記録されて印刷物となる。
【0116】
また、図10に示されている処理d3で生成された像域属性プレーンデータのコピーからは、メタデータ生成処理d5によってデジタル的に文字認識され、メタデータと文字輪郭ベクタデータが生成される。これも、図10に示されているDocument生成処理d6によってドキュメントに格納される。図10に示されている処理d5は、前述の実施形態1における図8に示されている処理d6と同様の処理である。
【0117】
また、図10に示されている処理で用いられているドキュメントの構造は、前述の実施形態1の説明で用いた図17に示されているドキュメントの構造と同様である。
【0118】
(他の実施形態)
以上、様々な実施形態を詳述したが、本発明は、複数の機器を含むシステムに適用してもよいし、また、1つの機器を有する装置に適用してもよい。例えば、スキャナ、プリンタ、PC、複写機、複合機及びファクシミリ装置の如くである。
【0119】
本発明は、前述した実施形態の各機能を実現するソフトウェアプログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【0120】
従って、本発明の機能および処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能および処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【0121】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0122】
プログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、記憶媒体としては、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。
【0123】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット/イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードしてもよいのである。また、本発明のプログラムを含むプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれる場合がある。
【0124】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネット/イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【0125】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【0126】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【0127】
【図1】実施形態におけるシステムの一例を示す図である。
【図2】本発明の一実施形態のMFPの構造の一例を示す側断面図である。
【図3】実施形態における各機器のコントロールユニットの一例を示すブロック図である。
【図4】実施形態におけるコントローラソフトウェアの一例を示すブロック図である。
【図5】実施形態に係るシステムの一例を示す図である。
【図6】実施形態における、各機器のコントロールユニットの一例を示すブロック図である。
【図7】一般的なPDLプリントにおけるデータフローの一例を示す図である。
【図8】実施形1におけるデータフローの一例を示す図である。
【図9】実施形態におけるメタデータ生成のデータフローの一例を示す図である。
【図10】実施形2におけるデータフローの一例を示す図である。
【図11】実施形態におけるドキュメントのデータ構造の一例を示す図である。
【図12】実施形態におけるドキュメントの格納構造の一例を示す図である。
【図13】実施形態におけるドキュメントデータの一例を示す図である。
【図14】実施形態におけるドキュメント印刷のデータフローの一例を示す図である。
【図15】実施形態におけるPDLからのドキュメントの生成および印刷のデータフローの一例を示す図である。
【図16】実施形態におけるPDLイメージモードからのドキュメントの生成および印刷のデータフローの一例を示す図である。
【図17】実施形態におけるPDLイメージモード処理時のドキュメントのデータ構造の一例を示す図である。
【符号の説明】
【0128】
100 制御装置
150 操作部
200 リーダー装置
300 プリンタ装置
500 フィニッシャユニット
600 外部RIP
1000 画像処理装置
1101 プロトコル制御部
1102 デジタル文字認識部
1103 メタデータ生成部
1104 PDL解析部
1105 データ描画部
1106 ページメモリ
1020 パネル入出力制御部
1030 Document記憶部
1300 印刷制御部
1500 スキャン制御部

【特許請求の範囲】
【請求項1】
ビットマップ画像と前記ビットマップ画像の各ピクセルの属性データとを含む印刷データを受信する受信手段と、
前記属性データの中の文字属性を有するピクセルに基づいて文字認識処理を実行し、当該文字認識処理の結果の文字コードをメタデータとして生成するメタデータ生成手段と、
前記属性データの中の文字属性を有するピクセルに基づいて、文字輪郭を示すベクタデータを生成するベクタデータの生成手段と、
前記メタデータ生成手段で生成したメタデータと、前記ベクタデータの生成手段で生成したベクタデータとを含むドキュメントを生成するドキュメント生成手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記印刷データが、前記ビットマップ画像と前記ビットマップ画像の各ピクセルの属性データとを含む印刷データであるか、オブジェクトで記述されている印刷データであるかを判別する判別手段を、更に備え、
前記判別手段で前記オブジェクトで記述されている印刷データであると判別した場合、前記メタデータ生成手段は、当該印刷データに含まれている文字オブジェクトから文字コードを抽出して、当該抽出した文字コードを前記メタデータとして生成し、一方、前記ベクタデータの生成手段は、当該印刷データを解析してベクタデータを生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記ビットマップ画像の各ピクセルの属性データは、ビットマップ状の属性データであることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記画像処理装置で印刷処理するのに適したディスプレイリストを生成するディスプレイリストの生成手段を、更に備え、
前記ドキュメント生成手段は、前記メタデータ生成手段で生成したメタデータと、前記ベクタデータの生成手段で生成したベクタデータと、前記ディスプレイリストの生成手段で生成したディスプレイリストとを含むドキュメントを生成することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記画像処理装置において再印刷を行う場合、前記ドキュメントに含まれるディスプレイリストを用いて再印刷を行うことを特徴とする請求項4に記載の画像処理装置。
【請求項6】
他の画像処理装置において再印刷を行う場合、前記ドキュメントに含まれるベクタデータを用いて再印刷を行うことを特徴とする請求項4に記載の画像処理装置。
【請求項7】
前記メタデータを用いて、前記ドキュメントの検索を行う検索手段を、更に備えることを特徴とする請求項1に記載の画像処理装置。
【請求項8】
受信手段が、ビットマップ画像と前記ビットマップ画像の各ピクセルの属性データとを含む印刷データを受信する受信ステップと、
メタデータ生成手段が、前記属性データの中の文字属性を有するピクセルに基づいて文字認識処理を実行し、当該文字認識処理の結果の文字コードをメタデータとして生成するメタデータ生成ステップと、
ベクタデータの生成手段が、前記属性データの中の文字属性を有するピクセルに基づいて、文字輪郭を示すベクタデータを生成するベクタデータの生成ステップと、
ドキュメント生成手段が、前記メタデータ生成ステップで生成したメタデータと、前記ベクタデータの生成ステップで生成したベクタデータとを含むドキュメントを生成するドキュメント生成ステップと、
を備えることを特徴とする画像処理方法。
【請求項9】
コンピュータを、
ビットマップ画像と前記ビットマップ画像の各ピクセルの属性データとを含む印刷データに対して、前記属性データの中の文字属性を有するピクセルに基づいて文字認識処理を実行し、当該文字認識処理の結果の文字コードをメタデータとして生成するメタデータ生成手段、
前記属性データの中の文字属性を有するピクセルに基づいて、文字輪郭を示すベクタデータを生成するベクタデータの生成手段、
前記メタデータ生成手段で生成したメタデータと、前記ベクタデータの生成手段で生成したベクタデータとを含むドキュメントを生成するドキュメント生成手段、
として機能させるためのプログラム。
【請求項10】
請求項9に記載のプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2009−118340(P2009−118340A)
【公開日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願番号】特願2007−291140(P2007−291140)
【出願日】平成19年11月8日(2007.11.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】