JP2007216434A - 印刷装置および印刷制御方法 - Google Patents
印刷装置および印刷制御方法 Download PDFInfo
- Publication number
- JP2007216434A JP2007216434A JP2006037250A JP2006037250A JP2007216434A JP 2007216434 A JP2007216434 A JP 2007216434A JP 2006037250 A JP2006037250 A JP 2006037250A JP 2006037250 A JP2006037250 A JP 2006037250A JP 2007216434 A JP2007216434 A JP 2007216434A
- Authority
- JP
- Japan
- Prior art keywords
- character
- information
- image data
- control method
- image
- 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.)
- Withdrawn
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【課題】 アウトライン化された文字情報を印刷する際に、印刷可能な文字画像データへの変換処理を最小限に抑えることによって高速化を図る。
【解決手段】
アウトライン文字データと文字コードとを対応付けた文字情報を含むPDFファイルの印刷処理において、入力された文字情報にかかる文字コードに対応する文字画像データがキャッシュメモリに格納されているか否かを判定する(S1705)。格納されていなければ、当該文字コードに対応する文字画像データを生成してキャッシュメモリに格納し(S1706)、該文字画像データに基づく描画処理を行う(S1708)。格納されていれば、該格納された文字画像データに基づく描画処理を行う(S1707)。
【選択図】 図17
【解決手段】
アウトライン文字データと文字コードとを対応付けた文字情報を含むPDFファイルの印刷処理において、入力された文字情報にかかる文字コードに対応する文字画像データがキャッシュメモリに格納されているか否かを判定する(S1705)。格納されていなければ、当該文字コードに対応する文字画像データを生成してキャッシュメモリに格納し(S1706)、該文字画像データに基づく描画処理を行う(S1708)。格納されていれば、該格納された文字画像データに基づく描画処理を行う(S1707)。
【選択図】 図17
Description
本発明は印刷装置および印刷制御方法に関し、特に、アウトライン化された文字データの印刷を行う印刷装置および印刷制御方法に関する。
近年、環境問題がクローズアップされている中で、オフィス等におけるペーパーレス化が急速に進んでいる。そこで、従来からバインダ等で蓄積、保存された紙文書をスキャナで読み取ってPDF(ポータブルドキュメントフォーマット)に変換し、画像記憶装置(データベース)に蓄積、保存する文書管理システムが構築されている。
PDFとしては、文字情報をベクトルデータを用いてアウトライン化したものが知られている。このようなPDFによれば、文字情報がアウトライン化されているため、修飾等の文字編集を容易に行うことができる(例えば、特許文献1参照)。
特開2005−157448号公報
しかしながら、上記従来のPDFにおいて、ベクトルデータを用いてアウトライン化された文字は、グラフィックとしてパスにより記載されている。したがって、該PDFファイルを印刷する際に、文字情報を印刷可能なビットマップに変換するための処理を一文字づつ行う必要があり、印刷処理に非常に時間がかかってしまうという問題があった。
本発明は上述した問題を解決するためになされたものであり、アウトライン化された文字情報について、文字描画処理に要する時間を短縮することによって印刷処理の高速化を実現する印刷装置および印刷制御方法を提供することを目的とする。
上記目的を達成するための一手法として、本発明の印刷制御方法は以下の構成を備える。
すなわち、アウトライン化されたアウトライン文字データと文字コードとを対応付けた文字情報を含む画像ファイルについて、該文字情報に対応する文字画像データを格納したキャッシュメモリを使用した印刷を行う印刷制御方法であって、前記画像ファイルにおける文字情報を入力する入力ステップと、該入力された文字情報が特定情報を含むか否かを判定する特定情報判定ステップと、前記特定情報判定ステップにて前記文字情報が特定情報を含むと判定された場合に、該入力された文字情報にかかる文字コードに対応する文字画像データが、前記キャッシュメモリに格納されているか否かを判定するキャッシュ判定ステップと、前記キャッシュ判定ステップにおいて前記文字画像データが前記キャッシュメモリに格納されていないと判定された場合に、前記文字情報にかかる文字コードに対応する文字画像データを生成する文字画像生成ステップと、該生成された文字画像データを前記文字コードに対応付けて前記キャッシュメモリに格納するキャッシュ格納ステップと、前記文字画像生成ステップで生成された文字画像データに基づく文字描画処理を行う第1の文字描画ステップと、前記キャッシュ判定ステップにおいて前記文字画像データが前記キャッシュメモリに格納されていると判定された場合に、前記キャッシュメモリに格納された前記文字画像データに基づく文字描画処理を行う第2の文字描画ステップと、を有することを特徴とする。
さらに、前記画像ファイルのファイルサイズが変更されているか否かを判定するサイズ判定ステップを有し、該サイズ判定ステップにおいて前記ファイルサイズの変更がなかったと判定された場合に、前記第1または第2の文字描画ステップを実行することを特徴とする。
さらに、前記入力ステップで入力された文字情報にかかるアウトライン文字データに基づくベクトル文字描画処理を行うベクトル描画ステップを有し、前記サイズ判定ステップにおいて前記ファイルサイズの変更があったと判定された場合に、前記ベクトル描画ステップを実行することを特徴とする。また、前記特定情報判定ステップにて前記文字情報が特定情報を含まないと判定された場合に、前記ベクトル描画ステップを実行することを特徴とする。
上記構成からなる本発明によれば、アウトライン化された文字情報についての文字描画処理に要する時間を短縮することによって、印刷処理の高速化が実現される。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の各実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<第1実施形態>
●全体構成
図1Aは、本実施形態の画像形成装置を構成として含んだ画像処理システムの構成例を示す図である。同図において、101が本実施形態の画像形成装置、102はクライアントPCであり、これらは互いにネットワークケーブル103を介して接続されている。
●全体構成
図1Aは、本実施形態の画像形成装置を構成として含んだ画像処理システムの構成例を示す図である。同図において、101が本実施形態の画像形成装置、102はクライアントPCであり、これらは互いにネットワークケーブル103を介して接続されている。
画像形成装置101は、本実施形態において紙文書を光学的に読み取って画像信号に変換する画像読み取り処理と、読み取った画像信号に対する画像処理の一部を担当する。処理後の画像信号はネットワークケーブル103を用いてクライアントPC102に入力される。尚、クライアントPC102としては一般的なパーソナルコンピュータでも実現可能であり、その内部に画像記憶部、画像処理部、表示部及び入力部を備える。また印刷処理時には、クライアントPC102から印刷データが画像形成装置101に送信される。 図1Bは、画像形成装置101の概略構成を示すブロック図である。同図において、110はオートドキュメントフィーダ(ADF)を含む画像読み取り部であり、束状或いは1枚の原稿画像を読み取ってイメージ情報を得る。具体的には、内部に備えた光源で原稿画像を照射し、その反射像をレンズで固体撮像素子上に結像することによって、ラスタ状の原稿読み取り信号を例えば600dpiの密度のイメージ情報として得る。そして、通常の複写機能を用いる場合には、データ処理部115において、画像読み取り部110で読み取った画像信号に対して画像処理を施して記録信号へ変換し、形成部112に出力して記録用紙上に可視画像を形成する。なお、複数毎複写を行う場合には、記憶部111に一旦1ページ分の記憶データを保持した後、形成部112に順次出力する。なお、113は操作者による指示入力を受ける入力部、114はネットワークケーブル103を介したデータ通信を制御するネットワークインタフェースである。また、116はLCD等の表示部であり、現在の機能や装置状態等を表示する。入力部113と表示部116はタッチパネル等として一体化することも可能である。
●画像形成装置の詳細構成
以下、画像形成装置101の詳細構成について、図2および図3を用いて説明する。図2は画像形成装置101の断面図、図3は画像形成装置101における光学ユニット215の詳細構成を示すブロック図である。
以下、画像形成装置101の詳細構成について、図2および図3を用いて説明する。図2は画像形成装置101の断面図、図3は画像形成装置101における光学ユニット215の詳細構成を示すブロック図である。
図2において、227は画像形成装置101の本体であり、画像形成用の多値画像データを生成するプリンタコントローラ201と、該多値画像データに応じて記録媒体上に可視像を形成するプリンタエンジン203に大別される。以下、プリンタコントローラ201を単にコントローラ201、プリンタエンジン203を単にエンジン203と称する。すなわち、コントローラ201が図1Bに示す記憶部111およびデータ処理部115に相当し、エンジン203が画像読み取り部215および形成部112に相当する。なお、226はユーザによる操作のためのスイッチおよびLCD表示器等が配されている操作パネルであり、図1Bに示す入力部113および表示部116に相当する。
コントローラ201は、外部のクライアントPC102から送られてくる、プリンタ言語で記述されたコードデータやイメージデータを受け、これらのデータに基づいて1ページ分のマゼンタ、シアン、イエロー、ブラックの多値画像データを生成する。エンジン203は、入力多値画像データに応じて変調したレーザビームを感光ドラム上に走査することによって潜像を形成し、これを記録紙に転写した後定着させるという、一連の電子写真プロセスによる記録を行う。
コントローラ201とエンジン203は、不図示のインタフェース信号線によって接続されている。インタフェース信号線を介して通信される主なインタフェース信号としては、/RDY,/PRNT,/TOP,/LSYNC、VDO7〜VDO0、VCLKがある。以下、これらのインタフェース信号について簡単に説明する。
/RDY信号は、コントローラ201に対してエンジン203から送出される信号であって、エンジン203が後述する/PRNT信号を受ければいつでもプリント動作を開始または継続できる状態にあることを示す信号である。
/PRNT信号は、エンジン203に対してコントローラ201から送出される信号であって、プリント動作の開始または継続を指示する信号である。
/TOP信号は、副走査(垂直走査)方向の同期信号であって、コントローラ201に対してエンジン203から送出される。
/LSYNC信号は、主走査(水平走査)方向の同期信号であって、コントローラ201に対してエンジン203から送出される。
VDO7〜VDO0信号は、エンジン203に対してコントローラ201から送出される画像信号であって、VDO7を最上位、VDO0を最下位とする8ビットによって、エンジン203が印字すべき画像濃度情報を示す。エンジン203では、VDO7〜VDO0信号の示す値がFFHであれば現像中のトナー色の最大濃度による印刷を行い、00Hであれば印刷しない。これらは、転送同期信号VCLKに同期して送出される。
以下、エンジン203における動作を説明する。エンジン203は、コントローラ201から/PRNT信号を受け取ると、不図示の駆動手段により、感光ドラム204及び転写ドラム205を図中矢印方向に回転させる。続いて、ローラ帯電器206の帯電を開始し、感光ドラム204上の電位を所定の値に均一に帯電する。次に、給紙ローラ208によって、給紙カセット207から記録用紙225を転写ドラム205に給紙する。転写ドラム205は、中空の支持体上に誘電体シートを張ったものであり、感光ドラム204と同速で矢印方向に回転する。この転写ドラム205に記録用紙225が供給されると、転写ドラム205の支持体上に設けられたグリッパ209によって記録用紙225が保持され、吸着ローラ210及び吸着用帯電器211により記録用紙225を転写ドラム205に吸着させる。同時に、現像装置の支持体212を回転させて、支持体212に支持された4つの現像装置213M、213C、213Y、213Bkのうち、第1のトナーであるマゼンタのトナーが入った現像装置213Mを感光ドラム204に対向させる。なお、213Cはシアンのトナーが入った現像装置、213Yはイエローのトナーが入った現像装置、213Bkはブラックのトナーが入った現像装置である。
一方、エンジン203は、転写ドラム204に吸着された記録用紙225の先端を検出器214によって検出し、所定のタイミングで垂直同期信号/TOPを発生してコントローラ201に送出する。するとコントローラ201は、印刷ページに対する最初の/TOP信号を受け取ると、プリンタRAM内のページメモリに格納されている画像データのうち、第1の印刷色であるマゼンタのデータを所定のタイミングで読み出す。読み出された8ビットの画像データD7〜D0は、画像信号VDO7〜VDO0としてVCLK信号に同期してエンジン203に送出される。
コントローラ201より出力されたVDO7〜VDO0信号は、図3に示すようパルス幅変調回路301に入力され、レベルに応じたパルス幅(256段階)のレーザ駆動信号VDOとしてレーザドライバ302に送出される。後述する現像時において、レーザ駆動信号VDOのパルス幅に応じてトナーの付着量が調節でき、それにより、各色256階調の濃淡が再現される。
図3において、レーザ駆動信号VDOに応じて駆動されるレーザダイオード303からのレーザビーム224は、不図示のモータにより図中矢印方向に回転駆動される回転多面鏡304で偏向される。偏向されたレーザビーム224は光路上に配置された結像レンズ305を経て、感光ドラム204上を主走査方向に走査し、感光ドラム204上に潜像を形成する。このとき、ビームディテクタ306はレーザビーム224の走査開始点を検出し、この検出信号から主走査の画像書き出しタイミングを決定するための水平同期信号である/LSYNC信号が生成される。以上説明した主走査の動作が繰り返されることにより、1ページ分のマゼンタの潜像が感光ドラム204上に形成されていく。
図2に戻り、感光ドラム204上に形成された潜像は上記マゼンタのトナーが入った現像装置213Mによって現像され、マゼンタのトナー像となる。このマゼンタのトナー像は、転写用帯電器216により、回転する転写ローラ205に吸着されている記録用紙225に転写される。この際、転写されずに感光ドラム204上に残ったトナーはクリーニング装置222によって除去される。以上の動作により、記録用紙225上に1ページ分のマゼンタのトナー像が形成される。
次に、現像装置の支持体212を回転させて、第2のトナーであるシアンのトナーが入った現像装置213Cを感光ドラム204に対向させる。続いて、マゼンタのときと同様に、転写ローラ205に吸着されたまま回転する記録用紙225の先端を検出器214で検出し、垂直同期信号/TOPを発生してコントローラ201に送出する。これを受けてコントローラ201はページメモリからシアンのデータを読み出す。以下、同様の動作により、記録用紙225上にはマゼンタのトナー像に重ねてシアンのトナー像が転写される。更に、同様にして第3のトナーであるイエロー、第4のトナーであるブラックのトナー像が記録用紙225上に重ねて転写され、フルカラーのトナー像となる。
上記4色のトナー像が全て転写された記録用紙225は、分離帯電器217を経て、分離爪218によって転写ドラム205から剥がされ、搬送手段219により定着装置220に供給される。また、このとき、転写ドラムクリーナ223によって転写ドラム205表面の清掃が行なわれる。記録用紙上のトナー像は定着装置220で加熱、加圧されることによって熔融固着され、最終的なカラー出力画像となる。そして記録の終了した記録用紙は排紙トレイ221に排紙される。
以下、コントローラ201の構成について詳細に説明する。図4は、画像形成装置101におけるコントローラ201の機能構成を示すブロック図である。
同図において、402は、画像形成装置101内の受信バッファであり、クライアントPC102より受信したコマンド及びデータ等を一時的に蓄える。
403はROMであり、後述する図5のフローチャートに示す一連の制御を実現するためのプログラムや内蔵フォント等が格納されている。例えば、404はコマンド制御部である。405は中間データオブジェクト作成部であり、描画処理を行い、RAM416上にあるPDLデータメモリ417に格納されているPDLデータに基づいて中間データオブジェクトを作成し、中間データオブジェクトメモリ418に格納する。406はレンダリングデータ作成部であり、RAM416上にある中間データオブジェクトメモリ418に格納されている中間データオブジェクトをバンド単位でレンダリングデータ(ビットマップデータ)に変換し、レンダリングバンドメモリ420に格納する。407はスキャナ画像処理部であり、スキャナ部430から入力された画像データの処理を行う。408はPDF解析部であり、スキャナ画像データが変換されたPDFを解析し、文字情報のビットマップ情報を生成する。また、409はPDF作成部であり、スキャナ画像データをPDFに変換する。なお、これらPDF変換および解析処理の詳細については後述する。
またROM403において、410は画像回転圧伸部であり、スキャナ画像、プリント画像を回転、圧縮、伸張し、RAM416上の画像回転メモリ422または画像圧縮メモリ423に格納する。411はPDFファイルサイズ判定部であり、PDFファイルをクライアントPC102で開く前後においてファイルサイズに変化があるか否かを判定する。これは、後述する文字キャッシュが利用可能であるか否かを判定するためである。また、412はネットワーク制御部、413はパネルインタフェース制御部、414はデバイスインタフェース制御部である。
415は、コントローラ201の全体を統括的に制御するCPUである。
416はRAMであり、以下のデータを一時的に格納するデータメモリとして動作する。例えば、417はPDLデータメモリであり、コマンド解析部404での解析対象となるPDLデータを格納する。418は中間データオブジェクトメモリであり、PDLデータメモリ417に格納されているPDLデータから中間データオブジェクト作成部405により作成された中間データオブジェクトを格納する。419はレンダリングバンドメモリであり、中間データオブジェクトメモリ418に格納されている中間オブジェクトからレンダリングデータ作成部406により作成されたレンダリングオブジェクトを格納する。420はレンダリングデータメモリであり、1ページ分のレンダリングデータを格納する。
421は文字キャッシュメモリであり、PDF作成部409での文字認識処理によって認識された文字情報の文字種をもとに、PDF解析部408で作成されたビットマップ情報を格納する。422は画像回転メモリであり、画像回転圧伸部410により回転された画像オブジェクトを格納する。423は画像圧縮メモリであり、画像回転圧伸部410により圧縮された画像オブジェクトを格納する。424はPDFファイルサイズ一部格納メモリであり、PDFファイルをクライアントPC102で開く前後におけるファイルサイズの変化を判定する際に使用される一時的なメモリである。
425は、レンダリングデータメモリ420にあるレンダリングデータをエンジン203に転送するエンジン転送部である。426は、操作パネル226とのインタフェースを行うパネルインタフェース部である。427は、スキャナ部110とのインタフェースを行うデバイスインタフェース部である。また431は、画像形成装置101内の記憶部111として使用されるHDDであり、例えばPDF作成部409で作成されたPDFファイルはここに記憶される。
●PDF作成処理
以下、PDF作成部409におけるPDFデータの作成処理について説明する。
以下、PDF作成部409におけるPDFデータの作成処理について説明する。
本実施形態では、画像読み取り部110で読み取った画像データにおいて、含まれる文字情報をベクトルデータに変換し、PDFデータとして出力する。
図5は、画像形成装置101のPDF作成部409におけるPDFデータ作成処理を示すフローチャートである。まず、画像形成装置101の画像読み取り部110を動作させて1枚の原稿をラスタ走査し、例えば、600dpi、8ビットの画像信号を得る(ステップS501)。尚、当該画像信号は、データ処理部115で前処理が施された後、記憶部111に1ページ分の画像データとして保存される。
次に、記憶装置111に格納された画像信号から、まず文字/線画部分とハーフトーンの画像部分とに領域を分離し、それぞれオブジェクト毎に分割するブロックセレクション(BS)処理を行う。すなわち、文字部分についてはさらに段落で塊として纏まっているブロック毎に、或いは、線で構成された表、図形に分離し、各々セグメント化する。一方、ハーフトーンで表現される画像部分については、矩形に分離されたブロックの画像部分、背景部等のいわゆるブロック毎に独立したオブジェクトに分割する(ステップS502)。なお、このBS処理の詳細については、図7を用いて後述する。
続いて、分割したオブジェクトをベクトル化する(ステップS503)。ここでラスタイメージデータからベクトルデータへの変換処理を行うことにより、文字としての編集が容易なアウトラインデータが生成される。このベクトル化処理の詳細については、図6を用いて後述する。
そして、各文字ブロックに対してベクトル化処理を行った後、さらに文書のレイアウト情報を活用して、文字以外のオブジェクトと合成することによりPDFファイルへの変換処理を行う(ステップS504)。
●ブロックセレクション(BS)処理(S502)
以下、ステップS502におけるBS処理について詳細に説明する。図7は、BS処理によって、1枚のイメージデータの属性を判定して複数のブロックに分割した様子を示す図であり、71が分割前のイメージデータ、72がそのブロック分割後の様子である。すなわちBS処理とは、ステップS501で読み取った一頁のイメージデータ71を、72に示すようにオブジェクト毎の塊として認識し、それぞれを属性毎のブロックに分割する処理である。ここでブロックの属性としては、文字(Text)、写真(Photo)、線(Line)、表(Table)等に判定される。
以下、ステップS502におけるBS処理について詳細に説明する。図7は、BS処理によって、1枚のイメージデータの属性を判定して複数のブロックに分割した様子を示す図であり、71が分割前のイメージデータ、72がそのブロック分割後の様子である。すなわちBS処理とは、ステップS501で読み取った一頁のイメージデータ71を、72に示すようにオブジェクト毎の塊として認識し、それぞれを属性毎のブロックに分割する処理である。ここでブロックの属性としては、文字(Text)、写真(Photo)、線(Line)、表(Table)等に判定される。
ここで、BS処理をより具体的に説明する。まず、入力画像を白黒に2値化し、輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出する。そして、面積の大きい黒画素の塊については、内部にある白画素に対して同様に輪郭線追跡を行って白画素の塊を抽出する。さらに、一定面積以上の白画素の塊の内部からも再帰的に黒画素の塊を抽出する。このようにして得られた黒画素の塊を、大きさ及び形状等で分類し、異なる属性を持つ領域へ分類する。例えば、縦横比が1に近く、大きさが一定の範囲のものを文字相当の画素塊とし、さらに近接する文字が整列良くグループ化可能な部分を文字領域とする。また、扁平な画素塊を線領域、一定の大きさ以上でかつ四角系の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域、不定形の画素塊が散在している領域を写真領域、それ以外の任意形状の画素塊を図画領域等とする。尚、以上説明した具体例は、白地に黒字等で記載されている原稿の場合の処理であって、それ以外の場合も背景色とオブジェクト色を調整することによって、同様に処理できる。例えば、黒字に白色で記載されている原稿であれば、背景に相当する色を「白」、オブジェクトに相当する色を「黒」とすれば良い。
●ベクトル化処理(S503)
以下、ステップS503におけるベクトル化処理について詳細に説明する。図6は、本実施形態におけるベクトル化処理の詳細を示すフローチャートである。まず、ステップS502で分割されたブロックのうち、先頭(画像の左上原点)に位置するブロックを入力する(S601)。次いで、入力されたブロックがテキストブロックであるか否かを判定する(S602)。当該ブロックがテキストブロックであれば、OCR処理すなわち文字認識処理を行って(S604)、当該ブロックの先頭(左上原点)に位置する文字矩形に制御を移す(S605)。なお、この文字認識処理の詳細については後述する。次に、該当する文字矩形が存在するか否かを確認し(S606)、文字矩形が存在する場合には、当該文字矩形に対応する文字コードを読み出す(S607)。続いて、フォント認識/ベクトル化処理を行って、フォントデータの登録を行う(S608)。この文字フォントのベクトル化処理の詳細については後述する。そして、次の文字矩形に制御を移行し(S609)、ステップS606以降の処理を次の文字矩形に対して行う。
以下、ステップS503におけるベクトル化処理について詳細に説明する。図6は、本実施形態におけるベクトル化処理の詳細を示すフローチャートである。まず、ステップS502で分割されたブロックのうち、先頭(画像の左上原点)に位置するブロックを入力する(S601)。次いで、入力されたブロックがテキストブロックであるか否かを判定する(S602)。当該ブロックがテキストブロックであれば、OCR処理すなわち文字認識処理を行って(S604)、当該ブロックの先頭(左上原点)に位置する文字矩形に制御を移す(S605)。なお、この文字認識処理の詳細については後述する。次に、該当する文字矩形が存在するか否かを確認し(S606)、文字矩形が存在する場合には、当該文字矩形に対応する文字コードを読み出す(S607)。続いて、フォント認識/ベクトル化処理を行って、フォントデータの登録を行う(S608)。この文字フォントのベクトル化処理の詳細については後述する。そして、次の文字矩形に制御を移行し(S609)、ステップS606以降の処理を次の文字矩形に対して行う。
ステップS606において、文字矩形が存在しないと判定された場合、すなわち当該テキストブロック内の文字矩形全てに対して上記処理が終了した場合は、次のブロックに制御を移行する(S610)。そして、移行した次のブロックが存在するか否かを判断し(S611)、まだ存在する場合には、再び当該ブロックがテキストブロックであるか否かを判定する(S602)。
ステップS602において、テキストブロックではないと判断された場合は、所定のベクトル化処理を行って(S603)、次のブロックに制御を移行する(S610)。
そして、ステップS611でブロックが存在しない場合には、すべてのブロックの処理を終了したと判断し、本ベクトル化処理を終了する。ベクトル化処理によって得たベクトルデータは、文字コード、文字の色、文字サイズ等の情報と関連付けられて、記憶部111に記憶される。
●文字認識処理(S604)
以下、ステップS604における文字認識処理について説明する。本実施形態では、文字単位で切り出された画像に対し、パターンマッチングの一手法を用いて文字認識を行い、対応する文字コードを得る。この文字認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、予め字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする処理である。尚、特徴ベクトルの抽出には種々の周知の手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法を用いることができる。
以下、ステップS604における文字認識処理について説明する。本実施形態では、文字単位で切り出された画像に対し、パターンマッチングの一手法を用いて文字認識を行い、対応する文字コードを得る。この文字認識処理は、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルと、予め字種毎に求められている辞書特徴ベクトルとを比較し、最も距離の近い字種を認識結果とする処理である。尚、特徴ベクトルの抽出には種々の周知の手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴とする方法を用いることができる。
ステップS502のBS処理で抽出された文字領域に対して文字認識を行う場合、まず該当領域に対して横書き、縦書きの判定を行い、各々対応する方向に行を切り出し、その後文字を切り出して文字画像を得る。横書き、縦書きの判定は、該当領域内で画素値に対する水平/垂直の射影を取り、水平射影の分散が大きい場合は横書き領域、垂直射影の分散が大きい場合は縦書き領域と判断すればよい。また、文字列及び文字への分解は、横書きの場合は水平方向の射影を利用して行を切り出し、さらに切り出された行に対する垂直方向の射影から、文字を切り出す。一方、縦書きの文字領域に対しては、水平と垂直を逆にすればよい。尚、文字のサイズは切り出した大きさに基づいて検出することができる。
●文字フォントのベクトル化処理(S608)
以下、ステップS608における文字フォントのベクトル化処理について詳細に説明する。
以下、ステップS608における文字フォントのベクトル化処理について詳細に説明する。
本実施形態においては、文字認識の際に用いられる字種数分の辞書特徴ベクトルを、文字形状種、すなわちフォント種に対して複数用意しておく。そして、マッチングの際に文字コードとともにフォント種を出力することによって、文字のフォントを認識することができる。
そして、上述した文字認識処理によって得られた文字コード及びフォント情報に基づき、各々あらかじめ用意されたアウトラインデータを用いて、文字部分の情報をベクトルデータに変換する。尚、入力された原稿画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記録する。これにより、文字ブロックに属するイメージ情報をほぼ形状、大きさ、色が忠実なベクトルデータに変換することができる。
●文字以外のベクトル化処理(S603)
以下、ステップS603における文字以外のベクトル化処理について、詳細に説明する。
以下、ステップS603における文字以外のベクトル化処理について、詳細に説明する。
ステップS603では、ステップS502のBS処理において文字以外の領域、すなわち図画或いは線、表領域とされた領域を対象として、それぞれ抽出された画素塊の輪郭をベクトルデータに変換する。具体的には、輪郭を成す画素の点列を角とみなされる点で区切って、各区間を部分的な直線或いは曲線で近似する。ここで「角」とは、曲率が極大となる点である。
図8を用いて、輪郭における「角」の抽出について説明する。同図に示すように、任意点Piに対して左右k個の離れた点Pi-k〜Pi+kの間に弦を引く。この弦とPiの距離が極大となる点が「角」として求められる。さらに、Pi-k〜Pi+k間の「弦の長さ」/「弧の長さ」をRとし、Rの値が閾値以下である点を角とみなすことができる。
角によって分割された後の各区間は、直線は点列に対する最小二乗法等を用いて、曲線は3次スプライン関数等を用いてベクトル化することができる。また、対象が内輪郭を持つ場合、BS処理で抽出した白画素輪郭の点列を用いて、同様に部分的直線或いは曲線で近似する。
以上のように本実施形態では、輪郭の区分線近似を用いることによって、任意形状の図形のアウトラインをベクトル化することができる。
ここで図9を用いて、外輪郭が内輪郭又は別の外輪郭と近接している場合に、太さを持った線として表現する例について説明する。図9に示すように、ある区間で外輪郭が、内輪郭又は別の外輪郭と近接している場合、2つの輪郭線をひとまとめにして、太さを持った線として表現することができる。具体的には、ある輪郭の各点Piから別輪郭上で最短距離となる点Qiまで線を引く。各距離PQiが平均的に一定長以下の場合、注目区間はPQiの中点を点列として直線又は曲線で近似し、その太さをPQiの平均値とする。線や線の集合体である表罫線は、このような太さを持つ線の集合として、効率よくベクトル表現することができる。
尚、上述したステップS608における、文字ブロックに対する文字認識処理を用いたベクトル化については上述したように、文字認識処理の結果、辞書からの距離が最も近い文字を認識結果として用いている。ここで、この距離が所定値以上である場合には、必ずしも本来の文字に一致するとは限らず、形状が類似する文字の誤認識である場合が多い。従って本実施形態ではこのような文字に対しては、ステップS603で説明した一般的な線画と同様に扱って、当該文字をアウトライン化する。これにより、従来であれば文字認識処理によって誤認識を発生させていたような文字も、誤った文字にベクトル化されることなく、可視的なイメージデータとして忠実にアウトライン化され、ベクトル化することができる。
なお、写真領域と判定されたブロックに対しては、本実施形態ではベクトル化を行わず、イメージデータのままとする。
●PDFファイルへの変換処理(S504)
以下、ステップS504におけるPDFファイル変換処理について、詳細に説明する。
以下、ステップS504におけるPDFファイル変換処理について、詳細に説明する。
まず図10に、1ページ分のイメージデータについて、ステップS502のBS処理およびステップS503のベクトル化処理を施した結果として得られる中間データ形式のファイルのデータ構造を示す。同図に示すようなデータ形式は、ドキュメント・アナリシス・アウトプット・フォーマット(DAOF)と呼ばれる。すなわち図10は、DAOFのデータ構造を示す図である。
図10において、1001はHeader(ヘッダ)であり、処理対象の文書画像データに関する情報が保持される。1002はレイアウト記述データ部であり、文書画像データ中の各ブロックの属性情報とその矩形アドレス情報を保持する。ここで属性情報としては、TEXT(文字)、TITLE(タイトル)、CAPTION(キャプション)、LINEART(線画)、PICTURE(自然画)、FRAME(枠)、TABLE(表)等がある。1003は文字認識記述データ部であり、TEXT、TITLE、CAPTION等のTEXTブロックを文字認識して得られる文字認識結果を文字コードとして保持する。1004は表記述データ部であり、TABLEブロックの構造の詳細を格納する。1005は画像記述データ部であり、PICTUREやLINEART等のブロックのイメージデータを文書画像データから切り出して保持する。
ステップS504においてはすなわち、図10に示すDAOFのイメージデータを、PDFに変換する。以下、このPDF変換処理の詳細について、図11のフローチャートを用いて説明する。
まず、変換対象となるDAOFデータを入力する(S1101)。そして、PFDデータの元となる文書構造ツリーを生成し(S1102)、該文書構造ツリーに基づいてDAOF内の実データを流し込み、実際のPDFファイルを生成する(S1103)。
ここで、ステップS1102における文書構造ツリーの生成処理について、図12および図13A,図13Bを用いて詳細に説明する。図12は文書構造ツリー生成処理を示すフローチャートであり、図13Aおよび図13Bは文書構造ツリーの概要を示す図である。尚、全体制御の基本ルールとして、処理の流れはミクロブロック(単一ブロック)からマクロブロック(ブロックの集合体)へ移行するものとする。また、以後の説明においてブロックとは、ミクロブロック及びマクロブロックの総称とする。
まず、ブロック単位で縦方向の関連性に基づいて再グループ化する(S1201)。尚、スタート直後はミクロブロック単位での判定となる。ここで関連性とは、距離が近く、ブロック幅(横方向の場合は高さ)がほぼ同一であること、等として定義することができる。また、距離、幅、高さ等の情報は、DAOFを参照して抽出する。
図13Aは実際のページ構成を示し、図13Bは図13Aのページ構成における文書構造ツリーを示している。ステップS1201におけるグループ化の結果、T3,T4,T5が一つのグループV1として、T6,T7が一つのグループV2として、それぞれ同じ階層のグループとして生成される。
次に、縦方向のセパレータの有無をチェックし、セパレータを検出した場合は、同じ階層での再分割を行う(S1202)。ここでセパレータとは例えば、物理的にはDAOF中でライン属性を持つオブジェクトである。また、論理的な意味としては、データ中で明示的にブロックを分割する要素である。
次いで、さらなる分割が存在するか否か、すなわち分割終了であるか否かを、グループ長を利用して判定する(S1203)。この判定は例えば、縦方向のグルーピング長がページ高さに等しいか否かを判定すれば良い。すなわち、縦方向のグループ長がページ高さとなっている場合は、縦方向の分割はこれ以上存在しないとみなし、文書構造ツリー生成を終了する。図13Aに示すページ構成の場合は、セパレータもなく、グループ高さはページ高さに等しくないので、ステップS1204に進む。
ステップS1204では、ブロック単位で横方向の関連性に基づいて再グループ化する。但し、この再グループ化においてもスタート直後の第一回目は、ミクロブロック単位での判定を行うことになる。また、関連性及びその判定情報の定義は、縦方向の場合と同様じである。例えば、図13Aに示すページ構成の場合は、図13Bに示すようにT1とT2でH1、V1とV2でH2が生成され、H1はT1,T2の一つ上、H2はV1,V2の1つ上の同階層のグループとして生成される。
次いで、横方向のセパレータの有無をチェックする(S1205)。図13A,Bに示す例では、横方向のセパレータとしてS1が検出されるので、これをツリーに登録し、H1、S1、H2という階層が生成される。
そして、さらなる分割が存在するか否か、すなわち分割終了であるか否かを、グループ長を利用して判定する(S1206)。この判定は例えば、横方向のグルーピング長がページ幅に等しいか否かを判定すれば良い。すなわち、横方向のグループ長がページ幅となっている場合は、横方向の分割はこれ以上存在しないとみなし、文書構造ツリー生成を終了する。
一方、ステップS1206において横方向のグループ長がページ幅となっていない場合、すなわち横方向のさらなる分割が存在する場合には、ステップS1202に戻り、もう一段上の階層で、縦方向の関連性チェックから処理を繰り返す。
図13A、Bに示す例においては、横方向の分割幅がページ幅になっているので、ここで処理を終了し、最後にページ全体を表す最上位階層のV0が、文書構造ツリーに付加される。
以下、文書構造ツリーに基づいてステップS1103で行われるPDFファイルの生成について、その具体例を示す。例えば図14Aに示すページ構成の場合は、その文書構造ツリーが図14Bに示すように生成される。この場合に生成されるPDFファイルをテキスト表示すると、図15に示すようになる。なお図15に示すPFD例において、stream部分については記述を省略している。また、PDFのファイルフォーマットについては周知であるため、ここでは詳細な説明を省略する。
図15に示す例では、図14AにおけるImage1402についてはベクトル化せずに、1501に示すXobjectのObj1として出力している。また、図14AにおけるText1401についてはベクトル化を行い、1502に示すContentsに記述している。なお、1503は当該ファイルについての管理情報を記述したメタデータ部である。
図16に、ベクトル化したText1401の出力例、すなわち、図15において1502で示されるContentsの記述例を示す。同図において、1601、1602、1603がそれぞれ、Text1401の文字「F」1403、「E」1404、「F」1405に相当する。
図16から分かるように本実施形態のPDF記述においては、文字毎に一意のコメント文(例えば1604)が、該文字を示す各行に付加されており、このコメント文中に、文字認識の際に取得した情報を含むことを特徴とする。
例えばコメント文1604において、1605は印刷時に参照される任意の文字列であり、以下、これをキー文字列と称する。そして、キー文字列1605に続いてキー情報(1606〜1609)が記載される。キー情報において、1606は、文字「F」1403の文字コード「031B」である。1607は、文字「F」1403の色のRGB表記であり、(R、G、B)=(00h、00h、00h)つまり黒色を示している。1608は文字「F」1403のポイント数であり、「60」ポイントを示す。1609は文字「F」1403のベクトル情報から一意に計算されるパリティ符号である。
なお、文字「F」1403と文字「F」1405については、色、ポイント数等が全て同じであるため、図16に示すベクトル化した情報1601と1603では、その内容が全く同様となる。
以上説明したように本実施形態のPDF作成部409においては、上述した処理によってPDFファイルを作成し、例えばHDD431(記憶部111)に格納する。
●印刷処理
本実施形態においては、以上説明した処理によって作成されたPDFファイルを、形成部112において高速印刷することを特徴とする。以下、本実施形態において作成されたPDFファイルの印刷処理について、図17のフローチャートを用いて詳細に説明する。本実施形態の印刷処理においては、PDFファイル内にコメントとして記載されたキー情報に基づいて文字キャッシュを作成し、これを用いた文字描画処理を行うことを特徴とする。
本実施形態においては、以上説明した処理によって作成されたPDFファイルを、形成部112において高速印刷することを特徴とする。以下、本実施形態において作成されたPDFファイルの印刷処理について、図17のフローチャートを用いて詳細に説明する。本実施形態の印刷処理においては、PDFファイル内にコメントとして記載されたキー情報に基づいて文字キャッシュを作成し、これを用いた文字描画処理を行うことを特徴とする。
本実施形態のPDFファイルは、上述したようにキー情報を伴って作成され、HDD431に格納されている。このPDFファイルの印刷処理としては、クライアントPC102が該ファイルを読み出し、任意の画像処理を施した後に、画像形成装置101に対する印刷指示を行う場合が考えられる。このとき、PDFファイルのサイズが変更されていると、それに伴ってファイル内の文字サイズも変更されていると考えられるため、本実施形態における効率的な印刷処理が不可能となってしまう。すなわち、ファイルサイズ変更に伴い、キー文字列以下にキー情報として記載されたサイズ情報(ポイント数1608)が不適当となるため、新たな文字キャッシュの作成が不可能となる。また、既に文字キャッシュメモリ421に格納されている文字キャッシュについても、そのサイズが異なるため使用不可能となる。
そこで本実施形態ではまず、クライアントPC102から印刷指示されたPDFファイルについての描画コマンドを解析し(S1701)、当該PDFファイルのサイズがその作成時と比較して変更されているか否かを調べる(S1702)。このサイズ変更の確認は、PDFファイルサイズ判定部411において、PDFファイルサイズ一部格納メモリ424を参照することによって行われる。すなわち、PDFファイルサイズ判定部411が、PDFファイルがクライアントPC102に読み出された際にPDFファイルサイズ一部格納メモリ424に格納されたファイルサイズを、現在のファイルサイズと比較することによって、変更の有無を判定する。なお、ここでの判定結果をROM等に保持しておくことによって、次以降のコマンド処理の際には同様の判定処理を繰り替えし行うことなく、保持された判定結果を参照することができる。
なお、ここでPDFファイルサイズ判定部411においてファイルサイズの変更が無いと判定された場合においても、さらに文字単位に、パリティ符号1609に基づくパリティチェックを行うことが有効である。これはすなわち、たとえ全体としてのファイルサイズに変化がなくても、各文字のパリティチェック結果がパリティ符号1609に一致しなければ、当該文字に対して何らかの変更が加えられたと判断されるためである。なお、パリティチェックにより変更が検出された場合には、ファイルサイズが変更された場合と同様の処理を行うべきである。
ステップS1702においてPDFファイルのサイズが変更されていないと判断されれば、PDF解析部408において、コメントにキー文字列(この場合「%%Ganon PDF」)が含まれているか否かを調べる(S1703)。これにより、当該PDFファイルが本実施形態で作成されたものであるか、すなわち、キー文字列以下に記載されるキー情報が存在するか否かを確認することができる。
コメントにキー文字列が含まれている場合、PDF解析部408はさらに該キー文字列以下に記載されたキー情報を解析し(S1704)、該キー情報が初めて出現したキー情報であるか否かを調べる(S1705)。具体的には、該キー情報を既に出現したキー情報群内で検索すれば良い。なお、このキー情報の検索は、キー情報内の文字コード(例えば1403)に限定して行っても良い。すなわちステップS1705においては、該文字コードに対応する文字キャッシュが、文字キャッシュメモリ421内に既に存在しているか否かを判定できれば良い。したがって、文字コードをキーとして文字キャッシュメモリ421を検索しても良い。この場合、文字キャッシュメモリ421内に対応する文字コードが存在しなければ、該文字コードは初めて出現したものであると判断される。
初めて出現したキー情報であれば、PDF解析部408は該キー情報に基づいて該当する文字種に対応したビットマップを作成し、これを文字キャッシュとして、文字コードと対応付けて文字キャッシュメモリ421に格納する(S1706)。すなわち、キー情報内に記載された文字コード1606、文字色1607、文字ポイント数1608に基づいて文字種を決定し、該文字種のビットマップが文字キャッシュとして作成される。このとき、文字認識処理において使用された各種辞書が参照される。そして、作成された文字キャッシュを使用して文字描画処理を行う(S1708)。
一方、ステップS1705で初めて出現したキー情報でないと判断された場合には、そのままステップS1707に進む。そこで、既に文字キャッシュメモリ421に格納されている、当該文字の文字キャッシュを読み出し、該文字キャッシュを使用した文字描画処理を行う。すなわちこの場合、文字キャッシュの作成は行わない。ここでの文字キャッシュの読み出しは上述したように、文字コードをキーとして行えば良い。
なお、ステップS1702でPDFのファイルサイズに変更があった場合、または、ステップS1703でコメントにキー文字列が含まれていない場合には、ステップS1709で一般的なベクトル文字描画処理を行う。すなわちこの場合、キー情報の解析および文字キャッシュの作成/利用を行わない。これにより本実施形態においては、なんらかの原因により文字キャッシュの利用が不可能となった場合にも、通常のベクトル変換処理を可能とするため、印刷不可能となることはない。
ステップS1707、S1708の文字キャッシュを使用した文字描画処理、またはステップS1709のベクトル文字描画処理が終了すると、全てのコマンド解析が終了したか否かを調べる(S1710)。終了していなければステップS1701に戻ってコマンド解析を続ける。なお、図17のフローチャートに示す一連の処理はページ単位に実行され、すなわち文字キャッシュメモリ421には、ページ内に出現する複数文字についての文字キャッシュが格納される。
以上説明したように本実施形態によれば、PDFファイル内に文字情報をコメントとして付加しておくことにより、印刷時に当該文字のキャッシュを作成することができる。したがって、PDFファイルを印刷する際に、新出の文字については文字キャッシュを作成してこれに基づく文字描画処理を行い、既出の文字については該文字キャッシュを利用した文字描画処理を行うことにより、印刷処理を高速化することができる。
<第2実施形態>
以下、本発明に係る第2実施形態について説明する。なお、第2実施形態における画像形成装置の構成は上述した第1実施形態に示す画像形成装置101とほぼ同様であるため、以下では特に第1実施形態と異なる部分について説明する。
以下、本発明に係る第2実施形態について説明する。なお、第2実施形態における画像形成装置の構成は上述した第1実施形態に示す画像形成装置101とほぼ同様であるため、以下では特に第1実施形態と異なる部分について説明する。
●PDFファイルへの変換処理
ここでは、第2実施形態において生成されるPDFファイルについて、上述した図14Aおよび図14Bに示すページ構成および文書構造ツリーを例として説明する。第2実施形態においてに生成されるPDFファイルの構成も図15に示すようになるが、その内容が第1実施形態とは異なる。すなわち、第2実施形態で生成されるPDFファイルにおいては、上述した第1実施形態では図16に示すようにコメント欄に記載していたキー文字列およびキー情報を、図15に示すPDFファイルのメタデータ部1503に記載することを特徴とする。
ここでは、第2実施形態において生成されるPDFファイルについて、上述した図14Aおよび図14Bに示すページ構成および文書構造ツリーを例として説明する。第2実施形態においてに生成されるPDFファイルの構成も図15に示すようになるが、その内容が第1実施形態とは異なる。すなわち、第2実施形態で生成されるPDFファイルにおいては、上述した第1実施形態では図16に示すようにコメント欄に記載していたキー文字列およびキー情報を、図15に示すPDFファイルのメタデータ部1503に記載することを特徴とする。
図18に、第2実施形態における、ベクトル化されたText1401の出力(図15のContents1502)例を示す。同図において、1801、1802、1803がそれぞれ、Text1401の文字「F」1403、「E」1404、「F」1405に相当し、これらは一般的なPDFファイルとしての出力と同様である。
第2実施形態では、図15に示すPDFファイルにおけるメタデータ部1503に、Text1401に関する情報を記述する。このメタデータ例を図19に示す。同図において、1901、1902、1903が順次、Text1401の文字「F」1403、「E」1404、「F」1405に対応し、上述した第1実施形態におけるコメントと同様に、各文字の情報を示す。
例えばメタデータ1901において、1904は印刷時に参照される任意のキー文字列である。メタデータ部1503における文字毎の記述は、このキー文字列によって区切られ、検出される。また、1905は文字「F」1403の文字コード「031B」である。1906は文字「F」1403の色のRGB表記であり、(R、G、B)=(00h、00h、00h)つまり黒色を示している。1907は文字「F」1403のポイント数であり、「60」ポイントを示す。1908は文字「F」1403のベクトル情報から一意に計算されるパリティ符号である。
メタデータ1901において、以上説明した1904〜1908は第1実施形態においてコメントに記載された情報と同様であるが、第2実施形態ではさらに、オフセット情報1909を備える。オフセット情報1909は、文字「F」1403がファイルの先頭から何バイト目に記述されているかを表すオフセット値であり、この場合、16進で「15A」つまり346バイト目に記述されていることを表している。
●印刷処理
第2実施形態において以上のように作成されたPDFファイルについての印刷処理について、図20のフローチャートを用いて詳細に説明する。ただし、特に上述した第1実施形態の図17に示すフローチャートと同様の処理については、簡単な説明に留める。
第2実施形態において以上のように作成されたPDFファイルについての印刷処理について、図20のフローチャートを用いて詳細に説明する。ただし、特に上述した第1実施形態の図17に示すフローチャートと同様の処理については、簡単な説明に留める。
まず、コマンドを解析し(S2001)、PDFファイルのサイズが作成時と比較して変更されているか否かを調べる(S2002)。PDFファイルのサイズが変更されていなければ、メタデータ(図19)にキー文字列(この場合「%%Ganon PDF」)が含まれているか否かを調べる(S2003)。
メタデータにキー文字列が含まれている場合、該キー文字列以下に記載されたキー情報を解析し(S2004)、該キー情報が初めて出現したキー情報であるか否かを調べる(S2005)。初めて出現したキー情報であれば、該キー情報に基づいて該当する文字種に対応したビットマップを作成し、これを文字キャッシュとして文字キャッシュメモリ421に格納する(S2006)。そして、作成された文字キャッシュを使用して文字描画処理を行う(S2008)。
一方、ステップS2005において初めて出現したキー情報でないと判断された場合には、そのままステップS2007に進む。そして、既に文字キャッシュメモリ421に格納されている、当該文字の文字キャッシュを読み出し、該文字キャッシュを使用した文字描画処理を行う(S2007)。ここでの文字キャッシュの読み出しは上述したように、文字コードをキーとして行えば良い。
なお、ステップS2002でPDFのファイルサイズに変更があった場合、または、ステップS2003でメタデータにキー文字列が含まれていない場合には、ステップS2009で一般的なベクトル文字描画処理を行う。
ステップS2007、S2008の文字キャッシュを使用した文字描画処理、またはステップS2009のベクトル文字描画処理が終了すると、全てのコマンド解析が終了したか否かを調べる(S2010)。終了していなければステップS2001に戻ってコマンド解析を続ける。
以上説明したように第2実施形態によれば、PDFファイル内に文字情報をメタデータとして付加しておき、該ファイルを印刷する際に、新出の文字については文字キャッシュを作成し、既出の文字については該文字キャッシュを利用した文字処理を行う。これにより、上述した第1実施形態と同様にベクトル変換処理を最小限にとどめ、印刷処理を高速化することができる。
<第3実施形態>
以下、本発明に係る第3実施形態について説明する。なお、第3実施形態における画像形成装置の構成は上述した第1および第2実施形態に示す画像形成装置101とほぼ同様であるため、以下では特に第1および第2実施形態と異なる部分について説明する。
以下、本発明に係る第3実施形態について説明する。なお、第3実施形態における画像形成装置の構成は上述した第1および第2実施形態に示す画像形成装置101とほぼ同様であるため、以下では特に第1および第2実施形態と異なる部分について説明する。
●PDFファイルへの変換処理
ここでは、第3実施形態において生成されるPDFファイルについて、上述した図14Aおよび図14Bに示すページ構成および文書構造ツリーを例として説明する。第3実施形態において生成されるPDFファイルの構成は図15に示すようになり、第2実施形態と同様に、キー文字列およびキー情報がメタデータ部1503に記載される。第3実施形態においては、メタデータ1503としてさらに文字のビットマップ情報そのものを保持することが第2実施形態とは異なる。すなわち、PDFファイルを作成する際に、文字のビットマップも同時に作成し、ファイル内に埋め込んでおく。
ここでは、第3実施形態において生成されるPDFファイルについて、上述した図14Aおよび図14Bに示すページ構成および文書構造ツリーを例として説明する。第3実施形態において生成されるPDFファイルの構成は図15に示すようになり、第2実施形態と同様に、キー文字列およびキー情報がメタデータ部1503に記載される。第3実施形態においては、メタデータ1503としてさらに文字のビットマップ情報そのものを保持することが第2実施形態とは異なる。すなわち、PDFファイルを作成する際に、文字のビットマップも同時に作成し、ファイル内に埋め込んでおく。
図21に、第3実施形態におけるText1401に関するメタデータ部1503の記載例を示す。同図において、2101、2102、2103がそれぞれ、Text1401の文字「F」1403、「E」1404、「F」1405に対応し、上述した第2実施形態におけるメタデータ(図19)と同様に、各文字の情報を示す。
例えばデータ2101において、2104は印刷時に参照される任意のキー文字列であり、2105は文字「F」1403の文字コード「031B」である。また2106は文字「F」1403の色のRGB表記であり、(R、G、B)=(00h、00h、00h)つまり黒色を示している。2107は文字「F」1403のポイント数であり、「60」ポイントを示す。2108は文字「F」1403のベクトル情報から一意に計算されるパリティ符号である。1909は文字「F」1403がファイルの先頭から何バイト目に記述されているかを表すオフセット値であり、16進で「15A」つまり346バイト目に記述されていることを表している。
以上は第2実施形態においてメタデータに記載された情報と同様である。第3実施形態のデータ2101はさらに、ビットマップ情報を備えることを特徴とする。すなわち、2110は文字「F」1403をビットマップ表現した場合のビットマップの幅であり、16進で「18」つまり24である。2111は同ビットマップの高さであり、16進で「1E」つまり30である。また、2112は文字「F」1403をビットマップ表現した場合のビットマップそのものであり、同図では詳細な記述を省略している。
●印刷処理
第3実施形態において以上のように作成されたPDFファイルについての印刷処理について、図22のフローチャートを用いて詳細に説明する。ただし、特に上述した第1実施形態の図17に示すフローチャートと同様の処理については、簡単な説明に留める。
第3実施形態において以上のように作成されたPDFファイルについての印刷処理について、図22のフローチャートを用いて詳細に説明する。ただし、特に上述した第1実施形態の図17に示すフローチャートと同様の処理については、簡単な説明に留める。
まず、コマンドを解析し(S2201)、PDFファイルのサイズが作成時と比較して変更されているか否かを調べる(S2202)。PDFファイルのサイズが変更されていなければ、メタデータ(図21)にキー文字列(この場合「%%Ganon PDF」)が含まれているか否かを調べる(S2203)。
メタデータにキー文字列が含まれている場合、該キー文字列以下に記載されたキー情報を解析し(S2204)、メタデータとして埋め込まれた文字キャッシュ、すなわちビットマップを使用して文字処理を行う(S2205)。
なお、ステップS2202でPDFのファイルサイズに変更があった場合、または、ステップS2203でメタデータにキー文字列が含まれていない場合には、ステップS2207で一般的なベクトル文字描画処理を行う。
ステップS2205の文字キャッシュを使用した文字描画処理、またはステップS2207のベクトル文字描画処理が終了すると、全てのコマンド解析が終了したか否かを調べる(S2206)。終了していなければステップS2201に戻ってコマンド解析を続ける。
以上説明したように第3実施形態によれば、PDFファイル内に文字に関するビットマップ情報を予めメタデータとして付加しておき、該ファイルを印刷する際に、このビットマップを利用した文字処理を行う。これにより、印刷処理を高速化することができる。
なお、第3実施形態においてPDFファイルに埋め込む文字ビットマップを初出の文字コードのみに制限し、その描画の際に、該文字ビットマップを文字キャッシュメモリ421に文字コードと対応付けて格納することも有効である。これにより、2回目以降に出現した文字コードについては、文字キャッシュメモリ421に格納された文字キャッシュを利用した描画を行うことが可能となる。
<変形例>
上述した各実施形態においては、画像形成装置101としてレーザビームを使用するプリンティングデバイスを例として説明した。しかしながら本発明の画像形成装置101としてはレーザビームプリンタに限らず、インクジェットプリンタ、ドットマトリクスプリンタ、熱転写プリンタ(昇華型を含む)、LEDプリンタ、液晶シャッタープリンタ等であっても構わない。
上述した各実施形態においては、画像形成装置101としてレーザビームを使用するプリンティングデバイスを例として説明した。しかしながら本発明の画像形成装置101としてはレーザビームプリンタに限らず、インクジェットプリンタ、ドットマトリクスプリンタ、熱転写プリンタ(昇華型を含む)、LEDプリンタ、液晶シャッタープリンタ等であっても構わない。
また、文字キャッシュを利用するための描画データメモリをRAM416上に設ける例を説明したが、それ以外の記憶デバイスを利用しても構わない。
また、ROM403上で各種プログラムを実行する例を示したが、該プログラムをRAM416にダウンロードして実行しても構わない。
また、レンダリング処理を描画処理と同じCPU415で実行する例を示したが、レンダリング処理専用のCPUを設けて実行させても構わない。
また、画像読み取り部110から読み取った画像をPDFとして出力する例を示したが、出力形式はPDFに限定するものではなく、他のファイルフォーマットであっても構わない。
また、ファイルサイズの変更をPDFファイルサイズ判定部411およびパリティチェックにより検出する例を示したが、メタデータ部1503にファイルの更新履歴情報を埋め込み、該情報を参照してファイルサイズの変更を検出しても構わない。
<他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などである。
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントPCのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
Claims (18)
- アウトライン化されたアウトライン文字データと文字コードとを対応付けた文字情報を含む画像ファイルについて、該文字情報に対応する文字画像データを格納したキャッシュメモリを使用した印刷を行う印刷制御方法であって、
前記画像ファイルにおける文字情報を入力する入力ステップと、
該入力された文字情報が特定情報を含むか否かを判定する特定情報判定ステップと、
前記特定情報判定ステップにて前記文字情報が特定情報を含むと判定された場合に、該入力された文字情報にかかる文字コードに対応する文字画像データが、前記キャッシュメモリに格納されているか否かを判定するキャッシュ判定ステップと、
前記キャッシュ判定ステップにおいて前記文字画像データが前記キャッシュメモリに格納されていないと判定された場合に、前記文字情報にかかる文字コードに対応する文字画像データを生成する文字画像生成ステップと、
該生成された文字画像データを前記文字コードに対応付けて前記キャッシュメモリに格納するキャッシュ格納ステップと、
前記文字画像生成ステップで生成された文字画像データに基づく文字描画処理を行う第1の文字描画ステップと、
前記キャッシュ判定ステップにおいて前記文字画像データが前記キャッシュメモリに格納されていると判定された場合に、前記キャッシュメモリに格納された前記文字画像データに基づく文字描画処理を行う第2の文字描画ステップと、
を有することを特徴とする印刷制御方法。 - さらに、前記画像ファイルのファイルサイズが変更されているか否かを判定するサイズ判定ステップを有し、
該サイズ判定ステップにおいて前記ファイルサイズの変更がなかったと判定された場合に、前記第1または第2の文字描画ステップを実行することを特徴とする請求項1記載の印刷制御方法。 - さらに、前記入力ステップで入力された文字情報にかかるアウトライン文字データに基づくベクトル文字描画処理を行うベクトル描画ステップを有し、
前記サイズ判定ステップにおいて前記ファイルサイズの変更があったと判定された場合に、前記ベクトル描画ステップを実行することを特徴とする請求項2記載の印刷制御方法。 - さらに、前記入力ステップで入力された文字情報にかかるアウトライン文字データに基づくベクトル文字描画処理を行うベクトル描画ステップを有し、
前記特定情報判定ステップにて前記文字情報が特定情報を含まないと判定された場合に、前記ベクトル描画ステップを実行することを特徴とする請求項1記載の印刷制御方法。 - 前記文字情報は、前記文字コードおよび文字色、文字サイズの情報からなる文字種情報を含み、
前記文字画像生成ステップにおいては、前記文字種情報に基づいて文字画像データを生成することを特徴とする請求項1乃至4のいずれかに記載の印刷制御方法。 - 前記文字種情報は、前記文字情報に対応するコメント文として記載されることを特徴とする請求項5記載の印刷制御方法。
- 前記文字種情報は、前記画像ファイルのメタデータとして記載されることを特徴とする請求項5または6記載の印刷制御方法。
- 前記文字種情報はさらに、前記文字種情報の先頭を特定するためのキー文字列を含むことを特徴とする請求項5乃至7のいずれかに記載の印刷制御方法。
- 前記入力ステップにおいては、ページ単位に含まれる複数の文字情報を入力し、
前記キャッシュ格納ステップにおいては、前記複数の文字情報に対応する文字画像データを前記キャッシュメモリに格納する
ことを特徴とする請求項1乃至8のいずれかに記載の印刷制御方法。 - アウトライン化されたアウトライン文字データに対し、文字コードと文字画像データを対応付けた文字情報を含む画像ファイルの印刷を行う印刷制御方法であって、
前記画像ファイルにおける文字情報を入力する入力ステップと、
該入力された文字情報に対応する前記文字画像データが前記画像ファイル内に存在するか否かを判定する判定ステップと、
前記判定ステップにおいて前記文字画像データが前記画像ファイル内に存在すると判定された場合に、該文字画像データに基づく文字描画処理を行う第1の文字描画ステップと、
前記判定ステップにおいて前記文字画像データが前記画像ファイル内に存在しないと判定された場合に、前記入力ステップで入力された文字情報にかかるアウトライン文字データに基づくベクトル文字描画処理を行う第2の文字描画ステップと、
を有することを特徴とする印刷制御方法。 - 前記文字画像データは、前記画像ファイルのメタデータとして記載されることを特徴とする請求項10記載の印刷制御方法。
- 前記文字画像データはビットマップデータであることを特徴とする請求項1乃至11のいずれかに記載の印刷制御方法。
- 前記画像ファイルはPDF形式のファイルであることを特徴とする請求項1乃至12のいずれかに記載の印刷制御方法。
- アウトライン化されたアウトライン文字データと文字コードとを対応付けた文字情報を含む画像ファイルについて、該文字情報に対応する文字画像データを格納したキャッシュメモリを使用した印刷を行う印刷装置であって、
前記画像ファイルにおける文字情報を入力する入力手段と、
該入力された文字情報が特定情報を含む文字情報か否かを判定する特定情報判定手段と、
前記特定情報判定手段が前記文字情報が特定情報を含むと判定した場合に、該入力された文字情報にかかる文字コードに対応する文字画像データが、前記キャッシュメモリに格納されているか否かを判定するキャッシュ判定手段と、
前記キャッシュ判定手段において前記文字画像データが前記キャッシュメモリに格納されていないと判定された場合に、前記文字情報にかかる文字コードに対応する文字画像データを生成する文字画像生成手段と、
該生成された文字画像データを前記文字コードに対応付けて前記キャッシュメモリに格納するキャッシュ格納手段と、
前記文字画像生成手段で生成された文字画像データに基づく文字描画処理を行う文字描画手段と、を有し、
前記文字描画手段は、前記キャッシュ判定手段において前記文字画像データが前記キャッシュメモリに格納されていると判定された場合に、前記キャッシュメモリに格納された前記文字画像データに基づく文字描画処理を行うことを特徴とする印刷制御装置。 - さらに、前記画像ファイルのファイルサイズが変更されているか否かを判定するサイズ判定手段を有し、
前記文字描画手段は、前記サイズ判定手段において前記ファイルサイズの変更があったと判定された場合に、前記アウトライン文字データに基づくベクトル文字描画処理を行うことを特徴とする請求項14記載の印刷装置。 - 前記文字描画手段は、前記特定情報判定手段が前記文字情報が特定情報を含まないと判定した場合に、前記アウトライン文字データに基づくベクトル文字描画処理を行うことを特徴とする請求項14または15記載の印刷装置。
- 情報処理装置上で実行されることによって、該情報処理装置を請求項1乃至13の何れかに記載された印刷制御方法を実行するように制御することを特徴とするプログラム。
- 請求項17に記載されたプログラムが記録されたことを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006037250A JP2007216434A (ja) | 2006-02-14 | 2006-02-14 | 印刷装置および印刷制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006037250A JP2007216434A (ja) | 2006-02-14 | 2006-02-14 | 印刷装置および印刷制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007216434A true JP2007216434A (ja) | 2007-08-30 |
Family
ID=38494216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006037250A Withdrawn JP2007216434A (ja) | 2006-02-14 | 2006-02-14 | 印刷装置および印刷制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007216434A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009225264A (ja) * | 2008-03-18 | 2009-10-01 | Oki Data Corp | 画像処理装置、画像形成装置、及び印刷システム |
JP2010113661A (ja) * | 2008-11-10 | 2010-05-20 | Seiko Epson Corp | 電子ファイル生成装置、電子ファイル生成システム、電子ファイル生成方法、及びコンピュータプログラム |
-
2006
- 2006-02-14 JP JP2006037250A patent/JP2007216434A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009225264A (ja) * | 2008-03-18 | 2009-10-01 | Oki Data Corp | 画像処理装置、画像形成装置、及び印刷システム |
JP4577907B2 (ja) * | 2008-03-18 | 2010-11-10 | 株式会社沖データ | 画像処理装置、画像形成装置、及び印刷システム |
US8619284B2 (en) | 2008-03-18 | 2013-12-31 | Oki Data Corporation | Method and apparatus for including converted drawing commands in a print data file |
JP2010113661A (ja) * | 2008-11-10 | 2010-05-20 | Seiko Epson Corp | 電子ファイル生成装置、電子ファイル生成システム、電子ファイル生成方法、及びコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4227569B2 (ja) | 画像処理システム、画像処理装置の制御方法、プログラム及び記録媒体 | |
US7853866B2 (en) | Apparatus, method and system for document conversion, apparatuses for document processing and information processing, and storage media that store programs for realizing the apparatuses | |
JP2007174270A (ja) | 画像処理装置、画像処理方法、記憶媒体、プログラム | |
JP4574235B2 (ja) | 画像処理装置、及びその制御方法、プログラム | |
JP5111268B2 (ja) | 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体 | |
JP4766661B2 (ja) | 画像処理方法及び画像処理装置 | |
US7532757B2 (en) | Image processing apparatus, control method therefor, and program | |
US20070133031A1 (en) | Image processing apparatus and image processing method | |
JP2006023945A (ja) | 画像処理システム及び画像処理方法 | |
US8270717B2 (en) | Metadata determination method and image forming apparatus | |
JP4928373B2 (ja) | 画像処理装置、画像処理方法、及び、画像処理プログラム | |
US8717584B2 (en) | Image processing apparatus and control method thereof | |
US8179558B2 (en) | Image processing apparatus, image processing method, program and storage medium constructed to generate print data including a bitmap image and attribute data of each pixel of the bitmap image | |
JP2006025129A (ja) | 画像処理システム及び画像処理方法 | |
JP2006023944A (ja) | 画像処理システム及び画像処理方法 | |
US8259313B2 (en) | Image processing apparatus, method, and computer-readable medium storing the program thereof | |
JP4541770B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2007216434A (ja) | 印刷装置および印刷制御方法 | |
US20090279780A1 (en) | Image processing apparatus, method of controlling the same, and program | |
US8179560B2 (en) | Image processing apparatus and image processing method | |
JP2008148263A (ja) | 画像形成装置及びその制御方法 | |
JP2005111852A (ja) | 画像形成装置、印刷制御方法、及びプログラム | |
JP2006268767A (ja) | 画像処理装置及び定型文書記入データ処理システム | |
JP2006163470A (ja) | 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
JP5247394B2 (ja) | メタデータ決定方法及び画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090512 |