JP5644214B2 - 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム - Google Patents

印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム Download PDF

Info

Publication number
JP5644214B2
JP5644214B2 JP2010152275A JP2010152275A JP5644214B2 JP 5644214 B2 JP5644214 B2 JP 5644214B2 JP 2010152275 A JP2010152275 A JP 2010152275A JP 2010152275 A JP2010152275 A JP 2010152275A JP 5644214 B2 JP5644214 B2 JP 5644214B2
Authority
JP
Japan
Prior art keywords
data
print
print target
target data
image data
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.)
Expired - Fee Related
Application number
JP2010152275A
Other languages
English (en)
Other versions
JP2012014586A (ja
Inventor
宏樹 松浦
宏樹 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010152275A priority Critical patent/JP5644214B2/ja
Publication of JP2012014586A publication Critical patent/JP2012014586A/ja
Application granted granted Critical
Publication of JP5644214B2 publication Critical patent/JP5644214B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、アプリケーションプログラムが生成するデータをPDLデータに変換する印刷制御プログラム、情報処理装置、記憶媒体、印刷装置及び印刷システムに関する。
PC(Personal Computer)等からプリンタに文書データの印刷を要求する場合、PCは文書データを中間ファイルに変換し、中間ファイルをラスタデータに変換すると共にプリンタが解釈できるPDLデータを生成する等の手順を実行している。
PDLデータを生成するプログラムは一般にプリンタドライバと呼ばれ、プリンタドライバが文書データをラスタライズする際に、オブジェクトの種類毎に画像処理方法を変更することによって印字品質を高める技術が知られている。これにより、オブジェクトの種類(テキスト、グラフィック、イメージ等)に応じて適切な画像処理を施すことができる。
プリンタドライバは、例えば明確なエッジが必要とされるテキスト、グラフィクスのオブジェクトに対して600dpiのラスタ処理を、階調表現の必要なイメージのオブジェクトには300dpiのラスタ処理を施すことができる。
しかしながら、文書データでは異なるオブジェクトが重なることが少なくなく、このような場合に重なったオブジェクトに対し、どのようにラスタ処理を施すかという課題が残る。
例えば、互いに重複するオブジェクトが存在する場合に、ラスタライザを切り替える技術が提案されている(例えば、特許文献1参照。)。特許文献1には、重複するオブジェクトの属性に基づいて、重複するオブジェクトを処理するラスタライザを選択する技術が開示されている。
しかしながら、特許文献1に開示された技術は、オブジェクト同士が重複した領域毎に1つのラスタライザでラスタライズするため、印字品質が低下する画素が存在するという問題がある。例えば、イメージオブジェクト上にテキストが記述されている場合、文字と文字の間にイメージオブジェクトの画素が存在しても、プリンタドライバが文字と文字の間の背景の画素に、文字用の画像処理を施してしまう。
本発明は、オブジェクト毎に適切なラスタライズ処理を行う際、異なるオブジェクト同士が重複した領域の印字品質を向上させることができる印刷制御プログラム、情報処理装置、記憶媒体、印刷装置及び印刷システムを提供することを目的とする。
本発明は、情報処理装置に、アプリケーションが生成した所定の書式のデータ(例えば、XPSファイル)を読み出し、前記データの印字対象データ(例えば、オブジェクト)を解析する印字対象データ解析ステップと、互いに印字領域が重なる印字対象データを前記データから検出する重複印字対象データ検出ステップと、互いに重複する印字対象データの種類が同じかどうかを判定する重複印字対象データ判定ステップと、前記重複印字対象データ判定ステップで種類が異なると判定され、互いに重なる印字対象データを、別々の印字対象データに分離する印字対象データ分離ステップと、分離された前記印字対象データを画像データ(例えば、ビットマップデータ)に変換する画像データ変換ステップと、 前記重複印字対象データ判定ステップで種類が同じであると判定され、互いに重なる同じ種類の印字対象データの外接矩形を1つの画像データに変換するステップと、画像データの種類に応じた画像処理を、分離された印字対象データから変換された前記画像データ、及び、前記1つの画像データに施す画像処理ステップと、前記画像処理ステップで画像データの種類に応じた画像処理が施された前記画像データ、及び、前記1つの画像データを合成する合成ステップと、前記画像データを印刷データ(例えば、PDLデータ)に変換する印刷データ生成ステップと、を実行させることを特徴とする印刷制御プログラムを提供する。
オブジェクト毎に適切なラスタライズ処理を行う際、異なるオブジェクト同士が重複した領域の印字品質を向上させることができる印刷制御プログラムを提供できる。
印刷システムの一例を示す図である。 PCのハードウェア構成図の一例である。 MFPのハードウェア構成図の一例である。 PCの機能ブロック図の一例である。 プリンタドライバの機能ブロック図の一例である。 プリンタドライバが1ページ分のPDLデータを生成するまでの手順を示すフローチャート図の一例である。 XPSファイルのページ情報の一例を示す図である。 オブジェクトの重複の判定を説明する図の一例である。 ページ情報の処理の手順を模式的に示す図の一例である。 互いに重なる同じ種類のオブジェクトの一例を示す図である。 プリンタドライバの機能ブロック図の一例である(実施例2)。 プリンタドライバとMFPが1ページ分のPDLデータを生成するまでの手順を示すフローチャート図の一例である。 プリンタドライバの機能ブロック図の一例である(実施例3)。
以下、本発明を実施するための形態について図面を参照しながら実施例を挙げて説明する。
図1は、印刷システム400の一例を示す図である。PC(Personal Computer)100とMFP(Multi Function Peripheral)200がネットワーク300を介して接続されている。
PC100がユーザの操作を受け付け、例えば何らかのアプリケーションプログラムがプリンタドライバに文書データの印刷を要求する。本実施例では、「XPS Print Path」と呼ばれる印刷時のデータ変換手順を利用して中間ファイルを生成する。「XPS Print Path」で生成された中間ファイルを、以下、「XPS(XML Paper Specification)ファイル」という。
アプリケーションプログラムが、図1(a)のような文書データを生成した場合を例に本実施形態のプリンタドライバの処理手順の概略を説明する。図1(a)は、一様な画素値の背景に、一様な画素値の文字が記述された文書データである。したがって、テキストオブジェクト(文字)とグラフィックオブジェクト(背景)とが重複している。
このような文書データに対しプリンタドライバは、ページ毎に含まれるオブジェクトの種類とオブジェクト毎の重複関係をあらかじめ解析する。図1(a)ではグラフィックオブジェクトの上にテキストオブジェクトが重複していることが解析される。
次にプリンタドライバは、画像処理が異なるオブジェクトを互いに分離して、別々のページ情報を生成し、それぞれを別々にラスタライズする。これにより、図1(b)に示すように、テキストのみのラスタデータが生成され、グラフィックのみのラスタデータが生成される。
そして、プリンタドライバは、各々のラスタデータに対して元のオブジェクトの種類に基づき印字品質が高まるような画像処理を行う。したがって、オブジェクト毎に印字品質を最適化することができる。
次に、プリンタドライバは、解析した重複関係にしたがい、テキストオブジェクトのラスタデータとグラフィックオブジェクトのラスタデータを合成する。合成するため、プリンタドライバは、図1(c)に示すように、グラフィックオブジェクトのラスタデータを文字の形状に白抜きする。
プリンタドライバは、グラフィックオブジェクトのラスデータとテキストのラスタデータを合成し、図1(d)のようなPDL(Page Description Language)データを生成する。PDLデータはMFP200に送信される。
このように、本実施例のプリンタドライバは、異なるオブジェクトが重複している領域において、画素毎にオブジェクトに適した画像処理を施すことで、オブジェクトが重複している領域の印字品質を向上させることができる。
なお、本実施例ではXPSファイルを中間ファイルとして説明するが、XPSファイルのようにオブジェクトの種類や位置を解析可能な所定の書式の中間ファイルであれば、本実施例のPDLデータの生成方法を適用できる。
〔ハードウェア構成〕
図2は、PC100のハードウェア構成図の一例である。PC100は、それぞれバスで相互に接続されているCPU11、ROM12、RAM13、外部I/F14、通信装置15、入力装置16、表示制御部17及び記憶装置18を有する。CPU11は、OS(Operating System)10、アプリケーションプログラム31、及び、プリンタドライバ30を記憶装置18から読み出して、RAM13を作業メモリにして実行する。
アプリケーションプログラム31は、MFP200に印刷要求するものであればよく、PC100上で実行可能なほぼ全てのアプリケーションプログラムが相当する。典型的には、例えば、ワープロソフトウェア、画像作成・編集・加工ソフトウエア、表計算ソフトウェア、Webブラウザ等である。また、OS10は、Microsoft社のWindows(登録商標)であるとするが、「XPS Print Path」の印刷環境を提供可能なOSであればUNIX(登録商標)、LINUX(登録商標)等でもよい。
RAM13は必要なデータを一時保管する作業メモリ(主記憶メモリ)になり、ROM12にはBIOSや初期設定されたデータ、プログラムが記憶されている。
外部I/F14はUSBケーブル等のケーブルや、可搬型の記憶媒体20を装着するインタフェースである。記憶媒体20は、USBメモリ等のフラッシュメモリ、CD−ROM等の光記憶媒体等である。
通信装置15は、LANカードやイーサネット(登録商標)カードと呼ばれ、CPU11からの指示によりMPF200にパケットデータ(本実施形態では主にPDLデータ)を送信する。
入力装置16は、キーボード、マウスなど、ユーザの様々な操作指示を受け付けるユーザインターフェイスである。タッチパネルや音声入力装置を入力装置とすることもできる。表示制御部17は、アプリケーションプログラム31が指示する画面情報に基づき所定の解像度や色数等でディスプレイ19の描画を制御する。ディスプレイ19は、液晶や有機ELなどのFPD(Flat Panel Display)である。
記憶装置18は、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発メモリを実体とし、OS10、アプリケーションプログラム31、及び、プリンタドライバ30を記憶している。アプリケーションプログラム31やプリンタドライバ30は、記憶媒体20に記録された状態又は不図示のサーバからダウンロードされる態様で配布される。
図3は、MFP200のハードウェア構成図の一例を示す。MFP200は画像形成機能を備えていればよく、プリンタ、複写機又はFAX装置のいずれでもよい。MFP200は、内部バスにて接続されたCPU51、ROM52、RAM53、外部I/F54、通信カード55、パネル制御部56、スキャナエンジン制御部57、プロッタエンジン制御部58、FAXエンジン制御部59及び記憶装置61を有する。
CPU51は、記憶装置61又はROM52に記憶されたプログラムを、RAM53を作業メモリとして実行することでMFP200の全体を制御する。外部I/F54はUSB等のケーブルや記憶媒体20を装着するインタフェースである。記憶媒体20は、USBメモリ等のフラッシュメモリ、CD−ROM等の光記憶媒体等である。
通信カード55は、LANカードやイーサネット(登録商標)カードと呼ばれ、CPU51からの指示によりPC100にパケットデータを送信し、また、PC100からパケットデータ(本実施形態では主にPDLデータ)を受信する。
パネル制御部56は、操作パネル62にUIを表示し、UIのソフトキーやハード的なキーの操作を受け付ける。スキャナエンジン制御部58は、ユーザが操作パネル62から設定した解像度などの読み取り条件を受け付け、読み取り条件に基づきスキャナエンジン63を制御する。スキャナエンジン63は、コンタクトガラスに載置された原稿を光学的に走査して、その反射光をA/D変換して画像処理を施し、所定の解像度のデジタルデータ(以下、画像データという)を生成する。
プロッタエンジン制御部58は、ユーザが操作パネル62から設定した印刷枚数などの印刷条件を受け付け、印刷条件に基づきプロッタエンジン64を制御する。プロッタエンジン64は、例えばタンデム型の感光ドラムを有し、上記の画像データやPC100から受信したPDLデータに基づきレーザビームを変調し感光ドラムを走査して潜像を形成する。潜像にトナーを付着して現像した1ページ毎の画像を用紙に熱と圧力で転写する。
FAXエンジン制御部59は、ユーザが設定した宛先(FAX番号、電子メールアドレス等)などの送信条件を受け付け、送信条件に基づきFAXエンジン65を制御する。FAXエンジン65は、通信カードを介してネットワーク300に接続し例えばT.37,T.38の規格に対応した通信手順、又は、NCU(Network Control Unit)を介して公衆通信網に接続し例えばG3、G4規格に対応した通信手順、に従い画像データの送受信を行う。また、MFP200の電源がOFFのときに画像データを受信しても、プロッタエンジン64を起動して画像データを用紙に印刷することができる。
記憶装置61は、例えばHDDやフラッシュメモリなど、書き換え可能な不揮発メモリである。記憶装置61には、CPUが実行するプログラム、フォントデータ、画像データ及びPDLデータが記憶されている。
また、記憶装置61には、プリンタドライバ30が記憶されている。このプリンタドライバ30は、PC100が記憶するものと同じものである。すなわち、PC100側でXPSファイルを生成した段階で、XPSファイルをMFP200に送信しても、MFP200のプリンタドライバ30がPC100と同様にPDLデータを生成することができる。プリンタドライバ30は、MFP200の出荷時に記憶装置61に記憶されていてもよいし、MFP200の出荷後に、記憶媒体20に記憶された状態又はネットワーク300上の不図示のサーバから配布されてもよい。
〔機能構成〕
図4は、本実施例のPC100の機能ブロック図の一例を示す。図4において図2と同一部には同一の符号を付しその説明は省略する。PC100は、スプーラ32及びハードウェアインタフェース33等を有する。
PC100は、OS10上でアプリケーションプログラム31を実行し、OS10が提供するXPSドライバがXPSファイルを生成する。
スプーラ32は、OSの印刷機能を管理するソフトウエアモジュールであり、プリンタドライバ30は、このスプーラ32の一部として動作する。図では複数のプリンタドライバ30が表示されているが、これは、オブジェクトに適切な画像処理を施すプリンタドライバ30を意味したもので、プリンタドライバ30が必ずしも複数個存在している必要はない。すなわち、1つのプリンタドライバ30が各オブジェクトの種類毎に適切な画像処理を行うことができればよい。
ハードウェアインタフェース33は、パラレルI/F21、USBI/F22、及び、ネットワークI/F23、を有する。パラレルI/F21は、IEEE1284仕様に基づく入出力インタフェースである。USBI/F22はUSB1.0〜3.00仕様に基づく入出力インタフェースである。ネットワークI/F23は、図2の通信装置15に相当しイーサネット(登録商標)などの入出力インタフェースである。
図5は、プリンタドライバ30の機能ブロック図の一例を示す。ユーザが入力装置16を操作して印刷操作をPC100に入力すると、OS10等の機能の一部が、文書データ及び印刷条件に基づきXPSファイルを生成する。具体的には、OS10等の機能の一部とは「XPS Print Path」において「XPSドキュメントライタ」と呼ばれるプログラムが相当する。「XPSドキュメントライタ」は、所定のOS(例えば、Windows(登録商標)7、VISTA等)に付属されるか、又は、無償若しくは有償で市販されている。この機能は、OSと一体とみなすことも、OSとは別のアプリケーションとみなすこともできる。
生成されたXPSファイルは、例えば記憶装置18やRAM13を実体とするXPSファイル記憶部41に記憶される。
プリンタドライバ30の各機能はXPSファイル記憶部41に記憶されたXPSファイルを読み出し以下の処理を行う。なお、プリンタドライバ30は、「XPS Print Path」においてXPSドライバと呼ばれるが、本実施例ではプリンタドライバ30と称する。
描画オブジェクト重なり箇所判定部42はXPSファイルに含まれるページ情報を解析して、オブジェクト間に重なりが含まれているかどうか判定する。また、オブジェクトが重なっている場合、描画オブジェクト重なり箇所判定部42は、重なっている領域、及び、オブジェクトの上下関係を特定する。描画オブジェクト重なり箇所判定部42は、例えば、ページ内で一意のオブジェクトIDを各オブジェクトに付して、互いに重複するオブジェクトIDの組みとそれらの上下関係をRAM13等に記憶する。
なお、本実施例のオブジェクトとは、XPSファイルに描画命令が記述される、テキスト、イメージ、又は、グラフィックをいうものとする。オブジェクトの具体例については後述する。
描画オブジェクト解析部43は、XPSファイルのXML形式の各ページ情報を解析し、ページ内の各オブジェクトに対して、
・描画範囲(矩形範囲)
・オブジェクトの種類(テキスト/グラフィック/イメージ)
を判定する。
描画オブジェクト分解部44は、描画オブジェクトに重なりがある場合、そのオブジェクトを別々に描画するために、それぞれのオブジェクトを分離して、別々のページ情報を生成する。
矩形範囲ラスタライズ部45は、オブジェクトの例えば外接矩形の矩形範囲にオブジェクトをラスタライズする。なお、「XPS Print Path」のラスタライザは、XPSドライバの「XPS Rasterize Service」と呼ばれる。
ラスタライズデータ画像処理部46は、矩形範囲ラスタライズ部45がラスタライズしたラスタデータのオブジェクトの種類に応じて、画像処理を施す。すなわち、ラスタデータが、テキストオブジェクトから生成したものならテキストオブジェクト用のカラーマッチング/ディザデータを適用し、イメージオブジェクトから生成されたものなら階調性が優先されるようなカラーマッチング/ディザーデータを適用してラスタデータを加工する。
ラスタライズデータ合成部47は、重ね合わせの順序を考慮してマスクデータの生成やラスタデータに白抜き等を施し、ラスタライズデータ画像処理部46が画像処理を施したラスタデータを合成する。これにより、互いに重複したオブジェクトから1つのラスタデータが生成される。
コマンド変換部48は、ラスタライズデータ合成部47が合成したラスタデータをPDLコマンドに変換してMFP200に送信する。
〔動作手順〕
図6を用いて、プリンタドライバ30が1ページ分のPDLデータを生成するまでの手順について説明する。文書データに複数のページが含まれる場合、プリンタドライバ30はこの手順を各ページに対し繰り返す。
・S10
まず、プリンタドライバ30は、XPSファイル記憶部41からXPSファイルを読み出し、1ページごとにページの構成情報を解析する。XPSファイルは一般にZIP圧縮されているので、プリンタドライバ30はこれを展開して、XPSファイルの階層構造を復元する。XPSファイルの階層構造は仕様で決まっており、例えば、ルートディレクトリの「_rels」というファイルに、一つの文書データの構成情報(階層構造のどこにページ情報やイメージデータが格納されているか等)が格納されている。
また、ルートディレクトリの「Documents」というファイルに、一つの文書データの各ページの構成情報と各ページのページ情報(テキストオブジェクトとグラフィックオブジェクト)が格納されている。ページ情報には、各ページの構成を再現するために必要な情報が格納されている。
また、例えば、ルートディレクトリの「Resurces」というファイルに、各ページに含まれるイメージオブジェクトが格納されている。
プリンタドライバ30は、XPSファイルの各種の構成情報を参照して1ページ目から順番に、ページ情報にオブジェクトが含まれているか否かを判定する。
図7は、XPSファイルのページ情報の一例を示す図である。l1〜l2の「FixedPage Width="1122.56" Height="793.76" 」という記述は、あるページのサイズを示す記述である。「Width=1122.56、Height=793.76」がページの幅と高さを示している。また、「xmlns=http://schemas.microsoft.com/xps/2005/06」は名前空間を、「 xml:lang="und">」はそのページの言語を指定する記述で"und"は"Undetermined"を意味する。
l3の「"Path Data<"F1 M 186.08,261.92 L 268.64,261.92 268.64,434.4 186.08, 434.4 z" Fill="#ff8eb4e3" />」は、座標 (186.08, 261.92)から(268.64,261.92)まで線を引き(M)、続いて(268.64,434.4)、さらに(186.08, 434.4)まで線を引くという命令である。すなわち、4つの点を結ぶ線を意味する。4つの点があることから四角形が描画されることが分かる。「Fill="#ff8eb4e3"」はラインの内側の塗りつぶしの色を指定する記述であり、水色〜紫系の色が指定されている。
l4〜l8の「<Glyphs Fill="#ffff0000" 〜 UnicodeString="あいうえ" />」は、文字(グリフ)の描画命令である。「<Glyphs Fill="#ffff0000"」は文字の色を赤色に指定する記述である。「FontUri="/Documents/1/Resources/Fonts/5A67CD7B-71C3-44BD-8FE4-12190CD35A84.odttf"」はフォントデータを指定し、XPSファイルに含まれるResourcesファイルのフォントを指定する記述である。「FontRenderingEmSize="42.7183"」は文字サイズ(ポイント数)を、「StyleSimulations="None" 」は太字指定などがないことを、「OriginX="195.84" OriginY="370.72"」は文字列「あいうえ」の最初の文字の位置を、それぞれ指定する命令である。「Indices="16901;16903,94;16905;16907」はindices属性(レンダリング)を意味し、文字毎に幅、上下方向のオフセット、左右方向のオフセット等を指定することができる。16901〜7は「あいうえ」のいずれかの文字を特定するインデックスで、2番目の文字「い」だけ幅が指定されている。「UnicodeString="あいうえ"」はテキストオブジェクトの具体的な文字列である。
したがって、「Path」タグは、ページにラインや矩形、円形などのグラフィックオブジェクトが含まれていることを、「Glyphs」のタグはテキストオブジェクトがページに含まれていることを意味する。この他、イメージオブジェクト(png、gif、jpeg等の所定のフォーマットの画像データ)も決まったタグにより指定される。
なお、オブジェクトが互いに重複した場合のオブジェクトの上下関係は、XPSファイルの記述順として決まっている。すなわち、先に記述されたオブジェクトは、後に記述されたオブジェクトよりも下になる。
このように各オブジェクトの位置と大きさがページ情報に記述されているので、プリンタドライバ30はページ情報により各オブジェクトの重複を検出することができる。
図8は、重複の判定を説明する図の一例である。描画オブジェクト重なり箇所判定部42は、例えば、各オブジェクトの外接矩形rect1の左上頂点の位置P1と右下頂点の位置P2を特定し、rect2の左上頂点の位置Q1と右下頂点の位置Q2を特定する。図7の四角形と文字列のオブジェクトを例にすれば、P1は座標 (186.08, 434.4) 、P2は座標(268.64,261.92)であり、Q1は座標(195.84,370.72)、Q2は座標(195.84+57,195.84+57×4)である(解像度を96dpiとして、ポイント数である42.7183を1文字のドット数"57"に変換した)。
2つの外接矩形rect1, rect2のうちどちらか一方の左上頂点(ここではQ1とする)のx座標がP1とP2のx座標内に含まれ、かつ、Q1のy座標がP1とP2のy座標内に含まれる場合、重複していると判定される。
図6に戻り、ページ情報にオブジェクトが含まれていない場合(S10のNo)、オブジェクトの重複を判定する必要がないので図6の手順は終了する。
・S20
ページ情報にオブジェクトが含まれている場合(S10のYes)、描画オブジェクト重なり箇所判定部42は、現在、着目しているオブジェクトと重なるオブジェクトがあるか否かを判定する。全てのオブジェクトに対して以下の処理が繰り返される。
描画オブジェクト重なり箇所判定部42は、例えばXPSファイルの上から順に出現するオブジェクトを1つ特定し、その着目しているオブジェクトと重なるオブジェクトがページ情報に記述されているか否かを判定する。図8にて説明したように、図7のXPSファイルでは、四角形のグラフィックオブジェクトとテキストオブジェクトが重複していると判定される。
・S30
着目しているオブジェクトと重なるオブジェクトがあると判定された場合(S30のYes)、描画オブジェクト解析部43は2つのオブジェクトの種類が同じか否かを判定する。XPSファイルのタグ情報ではタグによりオブジェクトの種類を判定できる。なおこの判定は、重複するオブジェクトの種類が同じか否かで画像処理の内容が変わるためである。
・S40
重複する2つのオブジェクトの種類が異なる場合(S30のYes)、描画オブジェクト分解部44は、重なり合うオブジェクトを各々取り出し、別ページのページ情報を作成する。
すなわち、描画オブジェクト分解部44は、グラフィックオブジェクトのみが含まれているページ情報とテキストオブジェクトのみが含まれているページ情報(例えば、XPSファイルの記述を抜き出す)をそれぞれ生成する。こうすることで、重複した2つのオブジェクトを分離できる。例えば、
ページ情報A= 「FixedPage Width="1122.56" Height="793.76" xmlns=http://schemas.microsoft.com/xps/2005/06 xml:lang="und">
<"Path Data="F1 M 186.08,261.92 L 268.64,261.92 268.64,434.4 186.08, 434.4 z" Fill="#ff8eb4e3" /> </FixedPag> 」と
ページ情報B=「FixedPage Width="1122.56" Height="793.76" xmlns=http://schemas.microsoft.com/xps/2005/06 xml:lang="und"> <Glyphs Fill="#ffff0000" FontUri="/Documents/1/Resources/Fonts/2926AEC1-C0AC-4156-BF68-4E1385A001E3.odttf" FontRenderingEmSize="42.7183" StyleSimulations="None" OriginX="195.84" OriginY="370.72" Indices="16901;16903,94;16905;16907" UnicodeString="あいうえ" /> </FixedPage>」という2つのページ情報が生成される。
図9は、ページ情報の処理の手順を模式的に示す図の一例である。図9(a)は図7のXPSファイルの文書データを模式的に示す。これまで説明したように、4角形のグラフィックオブジェクトとテキストオブジェクト(あいうえ)が重複している。
図9(b1)は、ページ情報Aを可視化した例を、図9(b2)はページ情報Bを可視化した例を模式的に示す。図9(b1)に示すように、グラフィックオブジェクトは、本来、一様な画素値を持っているのでテキストオブジェクトと分離されることで、元の一様な画素値を示すようになっている。
・S50
図6に戻り、矩形範囲ラスタライズ部45は、ステップS40で生成した2つのページ情報に含まれているオブジェクトを解析し、オブジェクトを含む矩形領域をラスタライズすることでラスタデータを生成する。
図9(c1)はページAのグラフィックオブジェクトのラスタデータの一例を示す図である。矩形範囲ラスタライズ部45は、ページAのページ情報に記述された位置と大きさからグラフィックオブジェクトの例えば外接矩形を求め、外接矩形の領域のみをラスタライズする。
図9(c2)はページBのテキストオブジェクトのラスタデータの一例を示す図である。矩形範囲ラスタライズ部45は、ページBのページ情報に記述された位置と大きさからテキストオブジェクトの例えば外接矩形を求め、外接矩形の領域のみをラスタライズする。なお、ラスタライズにより、矩形領域内の文字(文字は赤)以外の領域に白という画素値が与えられる。
このように、オブジェクトを分離してラスタライズすることで、それぞれに適した画像処理を施すことができる。
・S60
図6に戻り、ラスタライズデータ画像処理部46は、元のオブジェクトの種類に応じて各ラスタデータに画像処理を施す。例えば、イメージオブジェクトやグラフィックオブジェクトには、諧調優先されるようなカラーマッチングや低線数のスクリーンを適用したディザリング処理を行い、テキストオブジェクトには文字のエッジが強調されるようにカラーマッチングや高線数のスクリーンを適用したディザリング処理を行う。
図9(d1)は、グラフィックオブジェクトに適した画像処理が施されたラスタデータの一例を、図9(d2)は、テキストオブジェクトに適した画像処理が施されたラスタデータの一例を、それぞれ示す。こうすることで、画素単位で、オブジェクトの種類に最適な画像処理を各オブジェクトのラスタデータに施すことができる。
・S70
ラスタライズデータ合成部47は、事前に記憶しておいたオブジェクトの重ね合わせの順序を考慮し、2つのラスタデータを元のページ情報と同じになるように合成する。
下側のラスタデータの画素値を、上側のラスタデータの画素値で置き換えればよい。しかし、上側の文字のラスタデータは矩形領域にラスタライズされているので、単にグラフィックオブジェクトのラスタデータをテキストオブジェクトのラスタデータで置き換えると、グラフィックオブジェクトのラスタデータにおいて、文字の周りの画素が矩形状に白くなってしまう。
これを防ぐため、ラスタライズデータ合成部47は、重ね合わせられた際に下側になるオブジェクトのラスタデータの、テキストオブジェクトに対応する画素の画素値を白(256段階の255)にする処理を行う。
まず、ラスタライズデータ合成部47は、図9(e)に示すように、上側のオブジェクトのラスタデータのマスクデータを生成する。すでに求められているテキストオブジェクトのラスタデータを複製し、文字部を白に、その他を黒に置き換える。こうすることで、図9(e)の白黒2値のマスクデータが生成される。
ラスタライズデータ合成部47は、マスクデータとグラフィックオブジェクトのラスタデータを画素毎に比較し、見た目がより薄い画素(輝度値では値が大きい方)の画素値を優先的にその画素の画素値に採用する。例えば、グラフィックオブジェクトの色が水色であるとする。水色と黒の画素なら、水色が優先的に採用される。水色と白の画素なら、白が優先的に採用される。したがって、グラフィックオブジェクトのラスタデータのうち、文字に対応する画素の画素値だけが白になる。こうすることで、図9(f)のように、下側になるグラフィックオブジェクトのラスタデータの画素のうち、テキストオブジェクトに対応する画素の画素値を白にすることができる。
ラスタライズデータ合成部47は、図9(f)のラスタデータのうち、白抜きされた画素の画素値を、図9(d2)のラスタデータの文字に対応する画素の画素値に置き換える。こうすることで2つのラスタデータを合成することができる。
以上により図9(g)に示す、元の文書データ又はページ情報と等しいラスタデータが得られる。
・S80
図6に戻りコマンド変換部48は、ラスタデータをMFP200が解釈可能なPDLデータに変換してMFP200に送信する。本実施例では、PDLデータが、MFP200が解釈する印刷データの一例となる。オブジェクト毎にラスタデータを送信してもよいし、1ページ分のラスタデータをまとめて送信してもよい。
・S35
ステップS30において着目しているオブジェクトと重なるオブジェクトの種類が同じであると判定された場合(S30のNo)、2つのオブジェクトに同じ画像処理を施すことが可能になる。そこで、矩形範囲ラスタライズ部45は、2つのオブジェクトを囲む矩形(例えば、外接矩形)を生成する。
図10は、互いに重なる同じ種類のオブジェクトの一例を示す図である。図10では2つのグラフィックオブジェクトが重なっている。矩形範囲ラスタライズ部45は、各オブジェクトの位置とサイズから2つの外接矩形rect1,rect2を生成し、頂点P1,P2,頂点Q1,Q2を特定する。特定の仕方は図8と同様である。そして、頂点P1と頂点Q2を新たな四角形の左上頂点と右下頂点として、2つのオブジェクトを囲む外接矩形を生成する。
・S90
矩形範囲ラスタライズ部45は、図10の新たな矩形内に2つのオブジェクトのラスタデータを生成する。こうすることによって、2つのオブジェクトを1つのラスタデータに集約することができ、PC100の処理負荷を低減できる。
また、ステップS20において、着目しているオブジェクトと重なるオブジェクトがあると判定されない場合(S20のNo)、描画オブジェクト分解部44がオブジェクトを分離する必要はない。
よって、ラスタライズデータ画像処理部46は、着目しているオブジェクトを解析し、オブジェクトを含む矩形領域をラスタライズすることでラスタデータを生成する。
・S100
そして、ラスタライズデータ画像処理部46は、着目しているオブジェクトの種類に応じてラスタデータに画像処理を施す。例えば、イメージオブジェクトやグラフィックオブジェクト用又はテキストオブジェクト用の画像処理が施される。
また、ステップS100の後、処理はステップS80に進み、コマンド変換部48は、ラスタデータをMFP200が解釈可能なPDLデータに変換してMFP200に送信する。
プリンタドライバ30は、XPSファイルを解析して、ラスタライズしていないオブジェクトを特定し、1ページに含まれる各オブジェクトに図6の手順を実行する。1ページの全てのオブジェクトがラスライズされ、XPSファイルの全てのページのラスタライズが終了すると、図6の手順が終了する。
以上説明したように、本実施例のプリンタドライバ30は、異なるオブジェクトが重複している領域において、オブジェクトを分離してそれぞれに適切な画像処理を施し合成するので、画素単位で画像処理を最適化でき、オブジェクトが重複している領域の印字品質を向上させることができる。
実施例1では、オブジェクトの重なり状態の解析からPDLデータの生成までを全てプリンタドライバ30が実行する印刷システム400について説明した。本実施例では、オブジェクトの重なり箇所の判定からPDLデータの生成までの一部を、MFP200が行う印刷システム400について説明する。
図11は、本実施例のプリンタドライバ30の機能ブロック図の一例を示す。図11において図5と同一部には同一の符号を付しその説明は省略する。図11では、MFP200がラスタライズデータ画像処理部46とラスタライズデータ合成部47を有する。すなわち、PC100のプリンタドライバ30では、
・描画オブジェクト分解部44が重なり合うオブジェクトを分離し、
・矩形範囲ラスタライズ部45が各オブジェクトを矩形範囲にラスタライズし、
・コマンド変換部48がラスタデータをPDLデータに変換して、MFP200に送信する。
MFP200では、
・ラスタライズデータ画像処理部46が、ラスタデータに画像処理を施し、
・ラスタライズデータ合成部47が、ラスタデータを合成し、
・印刷する。
処理の順番は変わっても、実施例1と同様にオブジェクトが重複している領域の印字品質を向上させることができる。
図12は、プリンタドライバ30とMFP200が1ページ分のPDLデータを生成するまでの手順を示すフローチャート図の一例を示す。図12の手順のうち、ステップS10〜S50,S90の処理は実施例1と同様である。
・S80
コマンド変換部48は、ラスタデータをMFP200が解釈可能なPDLデータに変換する。本実施例では、このラスタデータは、図9(c1)(c2)の状態のラスタデータである。したがって、互いに重複した領域があるラスタデータは重複した領域を含め送信される。
また、同じ種類のオブジェクトでは、図10のように2つのオブジェクトが1つの矩形領域にラスタライズされている。
プリンタドライバ30は、ページ情報を解析して、ラスタライズしていないオブジェクトを特定し、1ページに含まれる各オブジェクトに図12の手順を実行する。そして、1ページの全てのオブジェクトにラスライズを施すと、コマンド変換部48がラスタデータ毎又は1ページ分のラスタデータをMFP200に送信する。
この送信の際、プリンタドライバ30は、RAM13等に記憶されていた、互いに重複しているオブジェクトのオブジェクトID及び上下関係を示す上下関係情報をMFP200に送信する。
・S60
MFP200のラスタライズデータ画像処理部46は、まず、オブジェクトの種類に応じて全てのラスタデータに画像処理を施す。処理の内容は実施例1と同様である。これにより、図9(d1)と(d2)のラスタデータが得られる。重複していないオブジェクトのラスタデータも種類に応じて画像処理が施される。
・S70
次に、ラスタライズデータ合成部47は、オブジェクトIDに基づき重複しているオブジェクトを特定し、両者の上下関係情報に基づき、互いに重複しているオブジェクトのラスタデータを特定する。そして、2つのラスタデータを元のページ情報と同じになるように合成する。合成の方法は実施例1と同様である。すなわち、ラスタライズデータ合成部47は、図9(e)のマスクデータを生成し、グラフィックオブジェクトのラスタデータを白抜きする。こうすることで、図9(f)のように、下側になるグラフィックオブジェクトのラスタデータの画素のうち、テキストオブジェクトに対応する画素の画素値を白にすることができる。
そして、ラスタライズデータ合成部47は、図9(d2)のテキストオブジェクトに適した画像処理が施されたラスタデータと、図9(f)のグラフィックオブジェクトのラスタデータを合成する。
・S110
MFP200は、合成したラスタデータをPDLデータに含まれるラスタデータと置き換えて、印刷を実行する。
以上のように、本実施例の印刷システム400は、オブジェクトの重なり箇所の判定からPDLデータの生成までの一部を、MFP200が行うことができる。また、実施例1と同様に、オブジェクトを分離してそれぞれに適切な画像処理を施し合成するので、画素単位で画像処理を最適化でき、オブジェクトが重複している領域の印字品質を向上させることができる。
実施例2のように、実施例1のプリンタドライバ30の一部の機能をMFP200が備えるのでなく、MFP200がプリンタドライバ30の全ての機能を備えていてもよい。
図13は、本実施例のプリンタドライバ30の機能ブロック図の一例を示す。図13において図5と同一部には同一の符号を付しその説明は省略する。図13では、PC100はXPSファイル記憶部41を有するのみである。これに対し、MFP200がプリンタドライバ30の全ての機能を有している。
PC100は、例えばXPSドキュメントライタが生成したXPSファイルを、通信装置15を介してMFP200に送信する。MFP200は通信カード55によりXPSファイルを受信して、記憶装置61に記憶する。以降、MFP200のプリンタドライバ30が実施例1と同様に、分離、ラスタライズ、画像処理、合成を行い印刷する。
したがって、本実施例のMFP200は、PC100がプリンタドライバ30を有していなくても、オブジェクトを分離してそれぞれに適切な画像処理を施し合成するので、画素単位で画像処理を最適化でき、オブジェクトが重複している領域の印字品質を向上させることができる。
30 プリンタドライバ
31 アプリケーションプログラム
41 XPSファイル記憶部
42 描画オブジェクト重なり箇所判定部
43 描画オブジェクト解析部
44 描画オブジェクト分解部
45 矩形範囲ラスタライズ部
46 ラスタライズデータ画像処理部
47 ラスタライズデータ合成部
48 コマンド変換部
100 PC(Personal Computer)
200 MFP
300 ネットワーク
400 印刷システム
特開平10‐243210号公報

Claims (9)

  1. 情報処理装置に、
    アプリケーションが生成した所定の書式のデータを読み出し、前記データの印字対象データを解析する印字対象データ解析ステップと、
    互いに印字領域が重なる印字対象データを前記データから検出する重複印字対象データ検出ステップと、
    互いに重複する印字対象データの種類が同じかどうかを判定する重複印字対象データ判定ステップと、
    前記重複印字対象データ判定ステップで種類が異なると判定され、互いに重なる印字対象データを、別々の印字対象データに分離する印字対象データ分離ステップと、
    分離された前記印字対象データを画像データに変換する画像データ変換ステップと、
    前記重複印字対象データ判定ステップで種類が同じであると判定され、互いに重なる同じ種類の印字対象データの外接矩形を1つの画像データに変換するステップと、
    画像データの種類に応じた画像処理を、分離された印字対象データから変換された前記画像データ、及び、前記1つの画像データに施す画像処理ステップと、
    前記画像処理ステップで画像データの種類に応じた画像処理が施された前記画像データ、及び、前記1つの画像データを合成する合成ステップと、
    前記画像データを印刷データに変換する印刷データ生成ステップと、
    を実行させることを特徴とする印刷制御プログラム。
  2. 前記画像データ変換ステップでは、
    印字対象データを囲む領域を生成し、印字対象データを前記領域内の画像データに変換する、ことを特徴とする請求項1記載の印刷制御プログラム。
  3. 前記重複印字対象データ検出ステップでは、互いに印字領域が重なる印字対象データの上下関係を特定し、
    前記合成ステップでは、下側の印字対象データが変換された画像データの画素のうち、上側の印字対象データに対応する位置の画素値を一様な画素値に置き換え、
    画素値が置き換えられた下側の画像データと、上側の画像データを合成する、
    ことを特徴とする請求項1又は2記載の印刷制御プログラム。
  4. 前記合成ステップでは、
    上側の印字対象データに対応する位置の画素値が一様な画素値に置き換えられた下側の画像データと、上側の画像データを画素毎に比較して、画素値が大きい方の画素の画素値を優先して下側の画像データの画素の画素値に採用する、
    ことを特徴とする請求項3記載の印刷制御プログラム。
  5. 前記所定の書式のデータはXPS形式のデータであり、
    前記印字対象データは前記データに記述されたテキスト、グラフィック又はイメージのオブジェクトであり、
    画像データはビットマップデータである、
    ことを特徴とする請求項1〜4いずれか1項記載の印刷制御プログラム。
  6. 請求項1〜5いずれか1項記載の印刷制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
  7. 請求項1〜5いずれか1項記載の印刷制御プログラムを記憶したコンピュータ読み取り可能な記憶装置、を有することを特徴とする印刷装置。
  8. 請求項1〜5いずれか1項記載の印刷制御プログラムを記憶した情報処理装置と、
    印刷装置と、を有することを特徴とする印刷システム。
  9. アプリケーションが生成した所定の書式のデータを読み出し、前記データの印字対象データを解析する印字対象データ解析手段と、
    互いに印字領域が重なる印字対象データを前記データから検出する重複印字対象データ検出手段と、
    互いに重複する印字対象データの種類が同じかどうかを判定する重複印字対象データ判定手段と
    前記重複印字対象データ検出手段が種類が異なると判定し、互いに重なる印字対象データを、別々の前記印字対象データに分離し、前記重複印字対象データ検出手段が種類が同じであると判定し、互いに重なる同じ種類の印字対象データの外接矩形を1つの画像データに変換する印字対象データ分離手段と、
    分離された前記印字対象データを画像データに変換する画像データ変換手段と、
    画像データの種類に応じた画像処理を分離された印字対象データから変換された前記画像データ、及び、前記1つの画像データに施す画像処理手段と、
    前記画像処理手段が画像データの種類に応じた画像処理を施した前記画像データ、及び、前記1つの画像データを合成する合成手段と、
    画像データを印刷データに変換する印刷データ生成手段と、
    を有する情報処理装置。
JP2010152275A 2010-07-02 2010-07-02 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム Expired - Fee Related JP5644214B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010152275A JP5644214B2 (ja) 2010-07-02 2010-07-02 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010152275A JP5644214B2 (ja) 2010-07-02 2010-07-02 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム

Publications (2)

Publication Number Publication Date
JP2012014586A JP2012014586A (ja) 2012-01-19
JP5644214B2 true JP5644214B2 (ja) 2014-12-24

Family

ID=45600906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010152275A Expired - Fee Related JP5644214B2 (ja) 2010-07-02 2010-07-02 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム

Country Status (1)

Country Link
JP (1) JP5644214B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5920135B2 (ja) 2012-09-18 2016-05-18 富士ゼロックス株式会社 画像処理装置及びプログラム
KR20140039892A (ko) * 2012-09-25 2014-04-02 삼성전자주식회사 인쇄 제어 단말장치, 화상형성장치, 인쇄 제어 방법, 화상형성방법, 컴퓨터 판독가능 기록매체
JP2014078188A (ja) * 2012-10-12 2014-05-01 Seiko Epson Corp 描画装置、および描画方法
JP6164036B2 (ja) * 2013-10-11 2017-07-19 富士ゼロックス株式会社 画像処理装置及びプログラム
WO2022085076A1 (ja) * 2020-10-20 2022-04-28 株式会社ラディウス・ファイブ 方法、情報処理装置及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10264454A (ja) * 1997-03-24 1998-10-06 Canon Inc 出力装置及び方法
JP2002254709A (ja) * 2001-02-28 2002-09-11 Canon Inc プリンタ装置及び画像処理装置
JP4540946B2 (ja) * 2003-07-16 2010-09-08 理想科学工業株式会社 画像処理方法および装置並びにプログラム
JP2006093898A (ja) * 2004-09-21 2006-04-06 Fuji Xerox Co Ltd 画像形成方法及び画像形成装置
JP4991456B2 (ja) * 2007-09-04 2012-08-01 キヤノン株式会社 印刷装置、印刷方法、及びプログラム
JP2009239399A (ja) * 2008-03-26 2009-10-15 Brother Ind Ltd 画像処理装置および画像処理プログラム
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements

Also Published As

Publication number Publication date
JP2012014586A (ja) 2012-01-19

Similar Documents

Publication Publication Date Title
JP4995057B2 (ja) 描画装置、印刷装置、描画方法、及びプログラム
JP5531531B2 (ja) 画像処理システム及び画像処理プログラム
US20100214614A1 (en) Context-aware printing method and system
JP5137759B2 (ja) 画像処理装置
US8384936B2 (en) System which performs resolution-dependent vectorization of print data
US20070279705A1 (en) Image processing apparatus and control method thereof, and program
JP5171733B2 (ja) 画像処理装置及び画像処理方法
JP5644214B2 (ja) 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム
KR101869302B1 (ko) 래스터 이미지 변환 장치, 화상독취장치, 래스터 이미지 변환 방법 및 컴퓨터 판독가능 기록매체
US20170364317A1 (en) Information processing apparatus, information processing method, and storage medium
US20050105118A1 (en) Document processing apparatus and document processing method
JP4973803B1 (ja) 画像処理装置及びプログラム
JP5732935B2 (ja) 情報処理装置と印刷制御プログラムとコンピュータ読み取り可能な記録媒体
JP6330790B2 (ja) 印刷制御システム、印刷制御装置およびプログラム
JP2016115963A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2019012952A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2001293936A (ja) 描画情報処理装置および描画情報処理方法
US8908227B2 (en) Image forming apparatus, image forming system, image data processing method, program, and storage medium
JP2011248398A (ja) 印刷制御プログラム、情報処理装置、記憶媒体、印刷装置、印刷システム
US9978005B2 (en) Printer for drawing bold character, method for controlling the same, and storage medium
JP5424546B2 (ja) 画像処理装置及び画像形成システム
JP2010214746A (ja) 印刷処理システム、印刷処理方法およびプログラム
JP2002133429A (ja) 描画情報処理装置および描画情報処理方法、記憶媒体
JP3826091B2 (ja) 情報処理装置、及び情報処理方法、プリント装置、及びプリント方法
US9036203B2 (en) Print controlling apparatus, image forming apparatus, and method for forming image

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140501

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R151 Written notification of patent or utility model registration

Ref document number: 5644214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees