(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-13
(45)【発行日】2024-12-23
(54)【発明の名称】情報処理装置と情報処理装置の制御方法、ならびにプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20241216BHJP
H04N 1/00 20060101ALI20241216BHJP
B41J 29/38 20060101ALI20241216BHJP
【FI】
G06F3/12 344
G06F3/12 308
G06F3/12 332
G06F3/12 347
G06F3/12 385
H04N1/00 127B
H04N1/00 C
B41J29/38
(21)【出願番号】P 2021020062
(22)【出願日】2021-02-10
【審査請求日】2024-01-23
(31)【優先権主張番号】P 2020111848
(32)【優先日】2020-06-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】竹中 秀一
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2019-209611(JP,A)
【文献】特開2008-287417(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
H04N 1/00
B41J 29/38
(57)【特許請求の範囲】
【請求項1】
画像形成装置に印刷データを送信する情報処理装置であって、
前記画像形成装置が実行することのできる処理を示す情報を前記画像形成装置から受信する受信手段と、
前記印刷データが前記画像形成装置が実行することのできる処理のうち所定の処理が必要なコマンドを含む場合に、前記印刷データを所定のフォーマットの印刷データに変換する
と決定する決定手段と、
前記決定手段による決定に基づき、前記
コマンドを含まない所定のフォーマットの印刷データに変換する変換手段と、
前記所定のフォーマットに変換された前記印刷データを前記画像形成装置に送信する送信手段と、
を有
し、
前記所定の処理は、少なくとも前記印刷データ中に所定のオブジェクトが含まれる場合に前記所定のオブジェクトに対して実行される代替処理を含む
ことを特徴とする情報処理装置。
【請求項2】
前記
所定の処理は
、前記画像形成装置における処理負荷が高いオブジェクトの描画処理
を含むことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記決定手段は
さらに、
前記印刷データに対するプリフライト内部構造解析結果から処理負荷が高いページであると判定された場合に、前記印刷データを所定のフォーマットの印刷データに変換すると決定することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記
処理負荷が高いページは、前記コマンドの数
が所定の数以上であるページであることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記
処理負荷が高いページは、
1ページ内のオブジェクトの重なっている数が所定の数以上であるページであることを特徴とする請求項
3に記載の情報処理装置。
【請求項6】
前記所定のフォーマットはラスター形式であり、
前記変換手段は、PDF形式の印刷データをラスター形式の印刷データに変換することを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
前記受信される情報は、前記画像形成装置が前記印刷データの解釈に用いるインタプリト方式に基づき決定される情報であることを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
【請求項8】
前記受信される情報は、前記画像形成装置が前記印刷データのレンダラアルゴリズムに基づ
き決定される情報であることを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
【請求項9】
画像形成装置を探索する探索手段をさらに有し、
前記受信手段は、前記探索により検出された画像形成装置から前記情報を受信することを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
【請求項10】
前記
代替処理は、前記情報処理装置から受信した印刷データに含まれる文字を当該印刷データで指定される所定のフォントと異なるフォントで展開する処理であることを特徴とする請求項1に記載の情報処理装置。
【請求項11】
前記
代替処理は、前記情報処理装置から受信する印刷データに含まれる透過オブジェクトをパターン画像の描画に置き換えて印刷する処理であることを特徴とする請求項1に記載の情報処理装置。
【請求項12】
前記
代替処理は、前記情報処理装置から受信する印刷データに含まれる所定の形式で指定される色に対して前記所定の形式と異なる形式で指定される色に対する色変換処理を実行する処理であることを特徴とする請求項1に記載の情報処理装置。
【請求項13】
情報処理装置と通信することのできる画像形成装置であって、
前記情報処理装置から前記画像形成装置の能力情報の要求を受信する受信手段と、
受信された前記要求に応じて、前記画像形成装置が実行することのできる処理のうち所定の処理を示す情報
を含む情報を前記情報処理装置に送信する送信手段と、
前記所定の処理が実行されるコマンドを含まない印刷データを前記情報処理装置から受信する受信手段と、
を有
し、
前記所定の処理は、少なくとも前記印刷データ中に所定のオブジェクトが含まれる場合に前記所定のオブジェクトに対して実行される代替処理を含む
ことを特徴とする画像形成装置。
【請求項14】
前記
代替処理は、前記印刷データに含まれる文字を前記印刷データで指定される所定のフォントと異なるフォントで展開する処理
を含むことを特徴とする請求項13に記載の画像形成装置。
【請求項15】
前記送信手段は、前記所定のフォントを示す情報を前記情報処理装置に送信することを特徴とする請求項14に記載の画像形成装置。
【請求項16】
前記
代替処理は、前記印刷データに含まれる透過オブジェクトをパターン画像の描画に置き換えて印刷する処理
を含むことを特徴とする請求項13に記載の画像形成装置。
【請求項17】
前記
代替処理を示す情報は、前記印刷データに含まれる所定の形式で指定される色に対する色変換処理の代わりに、前記所定の形式で指定される色に対して前記所定の形式と異なる形式で指定される色に対する色変換処理を実行することを示す情報
を含むことを特徴とする請求項13に記載の画像形成装置。
【請求項18】
前記所定の処理が実行されるコマンドを含まない印刷データは、ラスター
形式の印刷データであることを特徴とする請求項13乃至17のいずれか一項に記載の画像形成装置。
【請求項19】
前記
コマンドを含まない印刷データは、前記所定の処理が実行されるコマンドを含む印刷データを前記
情報処理装置が変換することで生成された印刷データであることを特徴とする請求項13乃至18のいずれか一項に記載の画像形成装置。
【請求項20】
画像形成装置に印刷データを送信する情報処理装置の制御方法であって、
前記画像形成装置が実行することのできる処理を示す情報を前記画像形成装置から受信する受信工程と、
前記印刷データが前記画像形成装置が実行することのできる処理のうち所定の処理が必要なコマンドを含む場合に、前記印刷データを所定のフォーマットの印刷データに変換する
と決定する決定工程と、
前記決定工程における決定に基づき、前記
コマンドを含まない所定のフォーマットの印刷データに変換する変換工程と、
前記所定の
フォーマットに変換された前記印刷データを前記画像形成装置に送信する送信手段と、
を有
し、
前記所定の処理は、少なくとも前記印刷データ中に所定のオブジェクトが含まれる場合に前記所定のオブジェクトに対して実行される代替処理を含む
ことを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置と情報処理装置の制御方法、ならびにプログラムに関するものである。
【背景技術】
【0002】
モバイル端末等のクライアント端末から画像形成装置に印刷データを送信し、画像形成装置にて当該印刷データを解釈して印刷する場合、クライアント端末が画像形成装置の解釈できる形式の印刷データを送信することが必要である。そこで、クライアント端末画像形成装置がいずれの形式の画像データを解釈することができるかを示す能力情報を取得し、取得した能力情報に基づく形式のデータを生成し、画像形成装置に送信する。たとえば、画像形成装置がPDF形式のデータを解釈することができない場合には、クライアント端末でレンダリング処理を行い、ラスタデータ形式のデータを生成し、画像形成装置へと送信する。一方で、画像形成装置がPDF形式のデータを解釈することができる場合には、PDF形式のデータを生成し、画像形成装置に送信し、画像形成装置においてレンダリング処理を行う(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像形成装置が実行できるレンダリング方式やデータの解釈の方式によっては、クライアントから送信された特定の描画処理を含む画像形成装置でデータの解釈、レンダリング処理に時間がかかってしまう場合がある。また、処理によっては、画像形成装置が代替処理をしてしまい、意図した画像と異なる出力がなされてしまう場合がある。
【0005】
そこで、本願発明は上記の課題を鑑み、画像形成装置で処理することのできるデータであっても、当該データの内容に応じて、画像形成装置での処理に適切な形式に変換されたデータを画像形成装置が受信することを目的とする。
【課題を解決するための手段】
【0006】
本明細書に記載の情報処理装置は、画像形成装置に印刷データを送信する情報処理装置であって、前記画像形成装置が実行することのできる処理を示す情報を前記画像形成装置から受信する受信手段と、前記印刷データが前記画像形成装置が実行することのできる処理のうち所定の処理が必要なコマンドを含む場合に、前記印刷データを所定のフォーマットの印刷データに変換すると決定する決定手段と、前記決定手段による決定に基づき、前記コマンドを含まない所定のフォーマットの印刷データに変換する変換手段と、前記所定のフォーマットに変換された前記印刷データを前記画像形成装置に送信する送信手段と、を有し、前記所定の処理は、少なくとも前記印刷データ中に所定のオブジェクトが含まれる場合に前記所定のオブジェクトに対して実行される代替処理を含むことを特徴とする。
【発明の効果】
【0007】
上記の構成によれば、画像形成装置で処理することのできるデータであっても、当該データの内容に応じて、画像形成装置での処理に適切な形式に変換されたデータを画像形成装置が受信することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態における、システムの構成の一例を示す図である。
【
図2】本実施形態における、画像形成装置のハードウェアブロックの一例を示す図である。
【
図3】本実施形態における、クライアント端末のハードウェアブロックの一例を示す図である。
【
図4】本実施形態における、画像形成装置のソフトウェアモジュールの一例を示す図である。
【
図5】本実施形態における、クライアント端末のソフトウェアモジュールの一例を示す図である。
【
図6】本実施形態において、画像形成装置の探索から印刷までの一連の処理を示すシーケンス図である。
【
図7】本実施形態において、クライアント端末が実行するデバイス探索処理を示すフローチャートである。
【
図8】本実施形態において、クライアント端末が実行する印刷データ最適化処理のフローチャートである。
【
図9】実施例1において、クライアント端末が実行するPDF負荷解析処理のフローチャートである。
【
図10】実施例1および実施例2において、クライアント端末が実行する印刷設定影響解析処理のフローチャートである。
【
図11】実施例1において、画像形成装置がデバイスCapabilityを設定する処理を示すフローチャートである。
【
図12】実施例1において、クライアント端末が管理するデバイスCapability情報テーブルの一例を示す図である。
【
図13】実施例2において、クライアント端末が実行するPDF負荷解析処理のフローチャートである。
【
図14】実施例2において、画像形成装置が実行するデバイスCapability算出処理のフローチャートである。
【
図15】実施例2において、クライアント端末が管理するデバイスCapability情報テーブルである。
【
図16】実施例3において、クライアント端末102が実行する処理を示すフローチャートである。
【
図17】実施例4において、画像形成装置が実施する代替処理の例を示す図である。
【
図18】実施例4において、画像形成装置が実行するデバイスCapability算出処理のフローチャートである。
【
図19】実施例4において、クライアント端末が管理するデバイスCapability情報テーブルである。
【
図20】実施例4において、クライアント端末が実行する処理を示すフローチャートである。
【
図21】実施例4において、クライアント端末が実行する、フォーマット変換を行うか否かを判定する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
<実施例1>
以下、本発明を実施するための形態について図面を用いて説明する。
【0010】
本発明の実施例における印刷システムは、印刷ジョブの投入先となる画像形成装置の処理性能を画像形成装置のコントローラー内部で処理許容属性として定義し、内部保持しておく。印刷ジョブ送信のためにクライアント端末から画像形成装置が参照される際、クライアント端末はこの処理許容属性を画像形成装置から取得し、印刷ジョブ送信時にこれを参照する。
【0011】
クライアント端末は、印刷データをPDF形式で印刷ジョブとして投入したときの画像形成装置の描画処理コストを、画像形成装置から取得した処理許容属性を参照して見積もる。処理許容属性には描画処理コストを見積もるために必要とされる情報が格納されている。本実施例では、レンダリング処理の処理負荷を大きくするオブジェクト配置情報と、インタプリト処理の処理負荷を大きくするオブジェクト種類情報とが処理許容情報に格納される。描画処理コスト見積もり方法の詳細は、
図9を使用して後ほど詳しく説明する。描画処理コストを見積もった結果、PDF形式で印刷ジョブを実行すると、描画に係る処理がプリント速度に間に合わなくなるような場合に、クライアント端末はラスター形式で印刷ジョブを生成するようにデータ形式を切り替え制御する。
【0012】
さらに、ラスター形式で実行した場合の方が処理負荷の少ないと見積もられた場合であっても、当該印刷ジョブへ適用される印刷設定によっては、クライアント端末がPDF形式を採用して印刷ジョブを生成する。例えば、白紙節約やオブジェクト種別画像処理、エッジ強調といった印刷設定をラスター形式のデータに対して適用させる場合、ラスター形式での画像処理がPDF形式の画像処理に比べて処理負荷が高くなる。そのような場合、クライアント端末は、ラスター形式ではなく、PDF形式の印刷ジョブを生成し、画像形成装置に送信する。
【0013】
以下、図面を用いて本発明の詳細を説明する。
【0014】
<システム構成図>
図1を用いて本発明におけるシステムの構成の一例を説明する。本実施例に係るシステムは、画像形成装置101、クライアント端末102を有する。画像形成装置101は、複数のクライアント端末102とネットワーク103で接続されている。
【0015】
画像形成装置101は、スキャン、FAX、プリント、コピーなどの様々な機能を有する複合機、またはプリント機能のみを有するプリンタである。
【0016】
クライアント端末102はユーザが保有しているPCや携帯電話、PDA、または、多機能携帯電話(以下スマートフォン)やタブレットなどの情報処理装置である。クライアント端末102は、画像形成装置101に対して印刷データをネットワーク103経由で送信する。
【0017】
ネットワーク103はWANやLANで構成される無線または有線のネットワークである。
【0018】
<画像形成装置のハードウェアブロック図>
図2は、本実施例の画像形成装置101の構成を説明するハードウェアブロック図である。
図2において、200はコントローラユニットで、画像信号やデバイス情報の入出力を制御する。
【0019】
中央演算装置(CPU)201は補助記憶装置203に記憶されたプログラムを主記憶装置202に読み出し、実行する。なお、中央演算装置201は1または複数のプロセッサで構成される。中央演算装置201はシステムバス212に接続される各デバイスを統括的に制御する。
【0020】
主記憶装置202は、中央演算装置201の主メモリ、ワークメモリとして機能する。
【0021】
補助記憶装置203は、大容量データを一時的あるいは長期的に保持する目的でも使用される。
【0022】
RIP204は、中間プリントデータをラスタイメージに展開するソフトウェアモジュール、または専用ハードウェアである。RIP204は中央演算装置201により主記憶装置202上に生成された中間プリントデータを高速に処理することができる。
【0023】
Network I/F205は、ネットワーク103に接続し、画像形成装置外部とのプリントデータやデバイス情報の入出力を担う。
【0024】
操作部I/F206は、操作部208とのインターフェース部で、操作部208に表示する画像データを操作部208に対して出力する。また、操作部I/F206は、操作部208から本装置のユーザが入力した情報を、中央演算装置201に伝える。
【0025】
デバイスI/F207は、中央演算装置201の指示に基づき、画像信号の送出、デバイス動作指示、デバイス情報の受信を行う。コントローラユニット200は、デバイスI/F207を介して、プリンタエンジン209に接続される。
【0026】
操作部208は、出力器として液晶パネルと音源を備え、入力器としてタッチパネルとハードキー、マイクを備えるものである。
【0027】
プリンタエンジン209はコントローラユニット200からの画像信号を媒体上に出力するモジュールである。本明細書において、プリンタエンジン209が画像を形成する方式電子写真方式、インクジェット方式の何れでも構わない。
【0028】
<クライアント端末のハードウェアブロック図>
図3は、本実施例のクライアント端末102の構成を説明するハードウェアブロック図である。
【0029】
中央演算装置(CPU)301は、補助記憶装置303に記憶されたプログラムを主記憶装置302に読み出し、実行する。中央演算装置301は、1または複数のプロセッサで構成される。さらに、システムバス307に接続される各デバイスを中央演算装置301が統括的に制御する。
【0030】
主記憶装置302は、中央演算装置301の主メモリ、ワークメモリとして機能する。
【0031】
補助記憶装置303は、オペレーティングシステム(OS)と各種制御プログラム本体を格納する。補助記憶装置303は、大容量データを一時的あるいは長期的に保持する目的でも使用されるため、画像形成装置101へ送信される印刷ドキュメントは、この領域に保持される。
【0032】
Network I/F304は、ネットワーク103に接続し、クライアント端末102を外部の情報端末と有線または無線ネットワークで接続する。
【0033】
操作部I/F305は、操作部306とのインターフェース部で、操作部306に表示する画像データを操作部306に対して出力する。また、操作部I/F305は、操作部306から本装置のユーザが入力した情報を、中央演算装置301に伝える。
【0034】
操作部306は、出力器として液晶パネルと音源を備え、入力器としてタッチパネルとハードキー、マイクを備えるものである。
【0035】
システムバス307に対しては、上記のモジュールに加えてCDやDVDなどの可搬型ディスク記録媒体に対するディスクドライブ、フラッシュメモリ、microSDなどの可搬型の不揮発性記録媒体に対するメモリリーダライタなどが接続されてもよい。
【0036】
<画像形成装置のソフトウェアモジュール図>
図4は、本実施例における画像形成装置101のソフトウェアモジュールの構成の一例を示す図である。
図4に記載した各ソフトウェアモジュールは、プログラムとして補助記憶装置203に格納され、主記憶装置202にロードされ中央演算装置201により実行されるものである。
【0037】
送受信部401は、Network I/F205より印刷データを受信する。
【0038】
データ解釈部402は、制御部403を介して送受信部401より受信される印刷データを読み込み、印刷データの描画情報を解釈する。このデータ解釈処理の結果として抽出した描画情報は、制御部403を介してレンダラ404に送られ、レンダリング処理に使用される。
【0039】
制御部403は、本実施例における印刷データの受信、データ解釈、画像のレンダリング、後述の端末情報および印刷設定情報の管理、遠隔設定画面制御までの各種処理の制御の全般を司る。
【0040】
レンダラ404は、データ解釈部402から送られてきた描画情報からRIP204を使用してビットマップイメージを生成する。生成されたビットマップイメージはデバイスI/F207を介してプリンタエンジンに送られ、印刷用紙に対する画像形成処理が実行される。
【0041】
Capability情報管理部405は、後述する画像形成装置の性能指標となる処理許容属性の情報をCapability情報として保持、管理する。Capability情報管理部405は、クライアント端末からの能力応答通信の要求に応じて、Capability情報をクライアント端末に送信する。なお、このCapability情報には、画像形成装置101が実行することのできる処理の内容や、画像形成装置101の設定情報等が含まれている。
【0042】
<クライアント端末のソフトウェアモジュール図>
図5は、本実施例におけるクライアント端末102のソフトウェアモジュールの構成の一例を示す図である。
図5に記載した各ソフトウェアモジュールは、プログラムとして補助記憶装置303に格納され、主記憶装置302にロードされ中央演算装置301により実行されるものである。
【0043】
送受信部501は、Network I/F205より印刷データを送信する。
【0044】
印刷データ生成部507は、印刷開始のユーザ操作に基づき、PDF形式の印刷データを生成する。
【0045】
データ変換部502は、処理負荷演算部504の演算結果に基づき、印刷データ生成部507が生成したPDF形式の印刷データをラスター形式の印刷データに変換する。データ変換後は制御部503を介して送受信部501より印刷データが画像形成装置101へ送信される。
【0046】
制御部503は、本実施例におけるデバイスCapability情報の受信、Capability情報の保持・管理、処理負荷演算とその結果に応じたデータ変換制御までの各処理の制御の全般を司る。
【0047】
処理負荷演算部504は、Capability情報管理部505から対象とする画像形成装置のCapability情報を参照し、印刷データをPDF形式またはラスター形式で実行した場合の処理負荷を見積もる。
【0048】
Capability情報管理部505は、クライアント端末102に登録された画像形成装置101の処理許容属性を、後述するCapability情報として保持し、管理する。なお、このCapability情報には、画像形成装置101の設定の情報も含まれ、ここで管理される。
【0049】
デバイス探索部506は、クライアント端末102と通信可能なデバイスを探索する。たとえば、クライアント端末102のOSやクライアント端末にインストールされたソフトウェアを制御し、クライアント端末102と同一のネットワークに接続された画像形成装置を検出する。本実施例では同一ネットワークに接続された画像形成装置を検出するとして記載するが、デバイス探索部506は、クライアント端末102と通信することができるデバイスであれば、異なるネットワークに接続されたデバイスを検出してもよい。
【0050】
<本実施例のシーケンス図>
次に、
図6を用いて、クライアント端末102と画像形成装置101による本実施例におけるデバイスCapability情報の送受信、処理負荷算出、印刷データ最適化、印刷データの送受信、印刷処理の実行までの全体シーケンスを説明する。
【0051】
まず、S101において、クライアント端末102は、同一ネットワーク内に接続されている画像形成装置101を探索する。クライアント端末102はOSの探索機能または、クライアント端末にインストールされているソフトウェアの探索機能を使って、画像形成装置101を探索する。
【0052】
次に、S102において、画像形成装置101は、クライアント端末102に対して、同一ネットワーク内に接続されていることを示す応答を返す。
【0053】
次に、S103において、クライアント端末102は、接続応答を返した画像形成装置101に対して、画像形成装置101の処理性能を示す処理許容属性であるデバイスCapability情報を要求する。
【0054】
次に、S104において、画像形成装置101は、デバイスCapabilityを設定する。デバイスCapabilityには、レンダリング処理負荷が大きくなるオブジェクト配置情報とインタプリタ処理の負荷が高いオブジェクト種類情報が含まれている。レンダリング処理負荷が大きくなるオブジェクト配置情報は、画像形成装置101が採用するレンダリングの方式に基づいて設定される。また、インタプリタの処理の負荷が高いオブジェクト種類情報は、画像形成装置101が採用するインタプリタの方式に基づき設定される。なお、本実施例ではクライアント端末102からのデバイスCapability情報要求に紐付いて、本処理を実施するが、このタイミングに限定されるものではない。例えば画像形成装置101を初めて電源Onした際の初回起動シーケンス中に内部的に算出して以後保持する形態をとっても良い。
【0055】
次に、S105において、画像形成装置101はクライアント端末102に対して、設定したCapability情報を送信する。
【0056】
次に、S106において、クライアント端末102は、自身が管理する画像形成装置の登録リストに、該画像形成装置101の情報を受信したCapability情報を含んだ形で登録する。ここまでが、クライアント端末102に画像形成装置101を登録するための処理である。
【0057】
ユーザがクライアント端末102を操作し、クライアント端末102にインストールされたアプリケーションから印刷を指示するとS107以降の処理が実行される。
【0058】
次に、S107において、クライアント端末102は印刷ジョブを実行するために印刷対象となる印刷データをPDF化する。なお、画像形成装置の登録シーケンス(S101~S106)と、印刷ジョブ投入シーケンス(S107~S111)を分ける形で、本シーケンス図は表現されている。しかしながら、これを一連のシーケンスとして実施してもよい。画像形成装置の登録と、印刷ジョブの投入をつなげて行う場合、S106とS107の間に所定期間は発生しない。
【0059】
次に、S108において、クライアント端末102は生成したPDF形式の印刷データの内容を解析しつつ、投入対象とする画像形成装置101のCapability情報を参照して、処理負荷・描画処理コストを見積もる。
【0060】
次に、S109において、クライアント端末102はS108での処理負荷の見積もり結果から、印刷データとしてPDF形式とラスター形式のどちらのデータ形式を採用するか判定して、データ形式の最適化を実施する。
【0061】
次に、S110において、クライアント端末102は、生成した印刷データを含む印刷ジョブを画像形成装置101へ送信する。
【0062】
次に、S111において、画像形成装置101は、受信した印刷データに基づく印刷ジョブを実行する。
【0063】
以上のシーケンスにより、クライアント端末102と画像形成装置101による本実施例のデバイスCapability情報の送受信、処理負荷算出、印刷データ最適化、印刷ジョブの送受信、印刷処理までが実施される。
【0064】
<処理負荷・描画処理コスト見積もりの詳細>
前述の通り、画像形成装置101の処理性能を示すCapability情報に格納される処理許容属性には、クライアント端末102が描画処理コストを見積もるために必要とされる情報が格納される。本発明では、処理許容属性にレンダリング処理の処理負荷を大きくするオブジェクト配置情報、インタプリト処理の処理負荷を大きくするオブジェクト種類情報が格納される例を記載している。
【0065】
レンダリング処理の処理負荷を大きくするオブジェクト配置情報とは、1ページ中に許容されるオブジェクトの数、または1ページ中で許容されるオブジェクト同士の重なりの数の最大値である。
【0066】
本実施例においてレンダリング処理は、スキャンライン方式とペインターズ方式の2種類を例として説明する。スキャンライン方式は、描画対象領域をスキャンライン領域に分割して、その領域に含まれるオブジェクトの重なりを演算して表示領域のみをレンダリング処理する方式である。スキャンライン方式は、表示領域のみがレンダリング対象であるため、1ページ中に含まれるオブジェクト数により処理負荷が大きくなることは想定されていない。一方で、オブジェクトが重なっている数が多いほど、演算処理に時間がかかる。そこで、画像形成装置101でスキャンライン方式が選択されている場合、クライアント端末102はオブジェクトの重なりの数に基づき、画像形成装置でのレンダリング処理負荷が高いか否かを判定する。
【0067】
一方で、ペインターズ方式は、1ページ中に含まれるオブジェクト全てを重なりレベルの低いものから順に、オブジェクト単位でレンダリング処理する方式である。ペインターズ方式は、アルゴリズムとしては単純で、1ページ中に含まれるオブジェクト同士の重なり数の影響は少ない。一方で、ペインターズ方式では1ページ中に含まれるオブジェクトの数が画像形成装置101での処理速度に関連する。そこで、画像形成装置101でペインターズ方式が選択されている場合、クライアント端末102は、1ページに含まれるオブジェクトの数に基づいて画像形成装置でのレンダリング処理負荷が高いか否かを判定する。
【0068】
インタプリト処理の処理負荷を大きくするオブジェクト種類情報については、画像形成装置101に設定されているインタプリト処理の方式に対応するオブジェクトの種類が設定される。
【0069】
本実施例において、PDFデータのインタプリト処理は、PDFtoPS方式とDirectPDF方式の2種類を例として説明する。PDFtoPS方式は、PDFデータを一旦PS(PostScript)形式に変換してPSインタプリタへ処理を実行させる方式である。PDFデータをPS形式に変換する際、PS形式でサポートされていない種類のオブジェクトの変換に時間がかかる。たとえば、PS形式でサポートされていない透過描画のオブジェクトをPS形式に変換するためには、疑似的に透過描画を再現するための描画処理が必要となり処理に時間がかかる。また、PS形式ではサポートしていない、PDF形式のICCBased色空間オブジェクトをPS形式のCIEBased色空間オブジェクトへ色空間変換する処理にも時間がかかる。PDFtoPS方式をインタプリト処理として採用する場合、クライアント端末102は、透過オブジェクト、ICCBased色空間オブジェクトの数に基づき、画像形成装置でのインタプリント処理負荷が高いか否かを判定する。
【0070】
一方で、PDF形式のデータをそのままインタプリト処理するDirectPDF方式では、透過属性を有するICCBased色空間オブジェクトを処理するのに時間がかかってしまう。そこで、DirectPDF方式をインタプリタ処理の方式として採用する場合、クライアント端末102は透過属性を持つICCBased色空間オブジェクトの数に基づき画像形成装置でのインタプリト処理負荷が高いか否かを判定する。
【0071】
なお、本発明のクライアント端末の一実施形態として想定しているスマートフォンなどの高機能携帯端末で採用されるOSでは、標準プリント機能において、IPP属性を使用した印刷ジョブシーケンスの制御が実施される。この形態において、本発明で述べている処理許容属性、Capability情報を扱うIPP属性の一例としては、“pdf-features-supported”や“print-content-optimize”を拡張したものを想定としている。これらのIPP属性の仕様を拡張し、前記レンダリング処理の処理負荷を大きくするオブジェクト配置情報、インタプリト処理の処理負荷を大きくするオブジェクト種類情報、などを格納して印刷ジョブシーケンスを制御する。
【0072】
<デバイス探索処理のフローチャート>
次に、
図7を用いて、クライアント端末102のデバイス探索処理のフローを説明する。
【0073】
クライアント端末102は、画像データを印刷する際にジョブを投入する先となる画像形成装置101の各種情報を事前に登録することで、印刷ジョブ投入時に印刷に使用する画像形成装置を選択することができるようになる。そこで、クライアント端末102は、同一ネットワーク内に存在する画像形成装置を探索し、検出した画像形成装置に関わるデバイスCapability情報を受信して、内部リストに登録する。デバイス探索から登録までの処理は、ジョブ実行前に一度実施済みであれば、以降は実施しない。
【0074】
クライアント端末102が、同一ネットワーク内の画像形成装置の探索を開始すると、本フローが開始される。
図7に示すフローチャートを実行するためのプログラムは、クライアント端末102の主記憶装置302または補助記憶装置303に記憶されたプログラムを中央演算装置301が実行することで実現される。
【0075】
まず、S1001においてデバイス探索部506は、同一ネットワーク内の画像形成装置の探索を開始する。デバイス探索部506は、クライアント端末102のOS、または、クライアント端末102にインストールされたアプリケーションを動作させ、クライアント端末102が印刷に使用することのできる画像形成装置を探索する。なお、S1001におけるデバイスの探索は、クライアント端末102が印刷に利用することのできる画像形成装置を検出することができればよく、クライアント端末102と異なるネットワーク上の画像形成装置が検出されてもよい。
【0076】
次に、S1002においてデバイス探索部506は、画像形成装置が検出されたか否かを判定する。画像形成装置が検出された場合、デバイス探索部506はS1003へ処理を進める。画像形成装置が検出されていない場合、デバイス探索部506はS1001へ処理を戻し、処理を繰り返す。
【0077】
S1003においてCapability情報管理部505は、探索により検出された画像形成装置へデバイスCapability情報の要求を送信し、当該画像形成装置からデバイスcapabilityを受信する。ここで受信されるデバイスCapabilityには、画像形成装置が実行できる画像処理や後処理の種類が記載されている。さらに、デバイスCapabilityには画像形成装置でのインタプリト方式に応じた処理負荷を判定するパラメータや閾値、レンダリング方式に応じた負荷の高いオブジェクト種類や閾値が記載されている。本実施形態では、上記処理負荷を判定するパラメータや処理負荷の高いオブジェクトの種類を取得することで、クライアント端末102が画像形成装置101に送信する画像データのフォーマットを決定することができるようになる。
【0078】
S1004においてCapability情報管理部505は、画像形成装置から受信したデバイスCapability情報を内部リストに登録する。クライアント端末102が受信したデバイスCapabilityは、たとえば、
図12で後述するテーブルで管理される。
【0079】
画像形成装置の登録処理が完了したら、本フローを終了する。
【0080】
以上の処理により、クライアント端末102のデバイス探索処理が実行される。
【0081】
なお、本実施例では、クライアント端末102に画像形成装置101を登録タイミングでデバイス探索を行うとした。クライアント端末102のアプリケーションから印刷が指示される度に、デバイス探索を行い、クライアント端末102が接続することのできる画像形成装置の情報を取得するとしてもよい。
【0082】
<デバイスCapability生成処理のフローチャート>
ここで、
図11を用いて、
図7のS1003で取得されるデバイスCapabilityを画像形成装置が生成する処理を説明する。
図11に示すフローチャートは、画像形成装置101がクライアント端末102から、デバイスCapabilityの取得要求を受信したことに基づき開始される。また、
図11に記載の処理を実行するためのプログラムは主記憶装置202、補助記憶装置203に記憶されており、中央演算装置201が当該プログラムを実行することで実現される。
【0083】
S5001においてCapability情報管理部405は、画像形成装置101が実行することのできるレンダリング方式がスキャンライン方式であるか、ペインターズ方式であるか、判定する。なお、画像形成装置101の実行することのできるレンダリング方式は、工場出荷時に設定されているものであり、ユーザが変更することのできない方式である。レンダリング方式がスキャンライン方式である場合、Capability情報管理部405はS5002へ処理を進める。レンダリング方式がペインターズ方式である場合、Capability情報管理部405はS5003へ処理を進める。
【0084】
S5002においてCapability情報管理部405は、レンダリング処理負荷を判定するパラメータをオブジェクトの重なりの数とすることと閾値となるオブジェクトの数をデバイスCapabilityへ設定する。なお、ここで設定される閾値は予め決められた値である。
【0085】
S5003においてCapability情報管理部405は、レンダリング処理負荷を判定するパラメータを1ページに含まれるオブジェクトの数とすることとその閾値をデバイスCapabilityへ設定する。なお、ここで設定される閾値は予め決められた値である。
【0086】
S5004においてCapability情報管理部405は、クライアント端末102から受信する画像データのインタプリト方式がPDFtoPS方式であるか、DirectPDF方式であるかを判定する。インタプリト方式は、画像形成装置101の操作部を操作することでユーザが設定することのできる方式である。本実施例では、ユーザがインタプリト方式を設定するとするが、インタプリト方式が工場出荷時に決められており、ユーザが変更することができないとしてもよい。インタプリト方式がDirectPDF方式である場合、Capability情報管理部405はS5005へ処理を進める。インタプリト方式がPDFtoPS方式である場合、Capability情報管理部405はS5006へ処理を進める。
【0087】
S5005においてCapability情報管理部405は、インタプリト処理の処理負荷が高いオブジェクトとして、透過属性をもち、かつ、ICCBased色空間オブジェクトをデバイスCapabilityに設定する。さらに、Capability情報管理部405は、上記の種類のオブジェクトがある際に、処理負の負荷が高いか否かを判定するための閾値をデバイスCapabilityに設定する。閾値は予め決められた値である。
【0088】
S5006においてCapability情報管理部405は、インタプリト処理の処理負荷が高いオブジェクトとして、透過属性をもつオブジェクトとICCBased色空間オブジェクトをデバイスCapabilityに設定する。さらに、Capability情報管理部405は、上記の種類のオブジェクトがある際に、処理の負荷が高いか否かを判定するための閾値をデバイスCapabilityに設定する。閾値は予め決められた値である。
【0089】
S5007において、Capability情報管理部405は、白紙節約機能が有効に設定されているか否かを判定する。白紙節約機能は、画像データ中の白紙ページが出力されないようにする機能であり、ユーザが有効、無効の設定をすることができる機能である。白紙節約機能が有効に設定されている場合、Capability情報管理部405は、S5008において、デバイスCapabilityに白紙節約が有効に設定されていることを追加する。白紙節約機能が無効に設定されている場合、Capability情報管理部405は、S5009において、デバイスCapabilitに白紙節約が無効に設定されていることを追加する。
【0090】
S5010において、Capability情報管理部405は、オブジェクト別画像処理が有効に設定されているか否かを判定する。オブジェクト別画像処理とは、写真、文字、グラフィックが混在する文書でそれぞれの属性に応じて使用する画像処理を変える機能である。オブジェクト別画像処理が有効に設定されている場合、S5011においてCapability情報管理部405は、デバイスCapabilityにオブジェクト別画像処理が有効であることを追加する。オブジェクト別画像処理が無効に設定されている場合、S5012においてCapability情報管理部405は、デバイスCapabilityにオブジェクト別画像処理が無効であることを追加する。
【0091】
S5013において、Capability情報管理部405は、エッジ強調が有効に設定されているか否かを判定する。エッジ強調処理は、文字やオブジェクトのエッジを強調する処理である。エッジ強調処理が有効に設定されている場合、S5014においてCapability情報管理部405は、デバイスCapabilityにエッジ強調が有効に設定されていることを追加する。エッジ強調処理が無効に設定されている場合、S5015においてCapability情報管理部405は、デバイスCapabilityにエッジ強調が無効に設定されていることを追加する。
【0092】
S5007~S5015に記載の処理を行うことで、画像処理装置にラスター形式の画像データを送信したときの処理に時間がかかるか否かの判定に必要な能力情報をデバイスCapabilityに追加することができる。
【0093】
S5016においてCapability情報管理部405は、デバイスCapability情報を印刷設定情報に決定する。
【0094】
S5017においてCapability情報管理部405は、確定したデバイスCapability情報を要求元のクライアント端末102へ送信する。デバイスCapability情報の送信処理が完了すると本フローを終了する。
【0095】
以上の処理により本実施例における、画像形成装置101によるデバイスCapability算出処理が実行される。
【0096】
なお、本実施例では、クライアント端末102からデバイスCapabilityの取得要求を受信したことに基づき
図11に記載の処理を開始した。
図11に記載のした処理を定期的に実行したり、画像形成装置の電源オン、スリープ復帰のタイミングなど所定のタイミングで実行するとしてもよい。
【0097】
<デバイスCapability情報テーブル>
次に
図12を用いて本実施例における、デバイスCapability情報テーブルのデータ構造について説明する。
図12に記載のテーブルは、クライアント端末102が画像形成装置101から受信したデバイスCapabilityを管理するためのテーブルである。
【0098】
図12(A)のデバイスCapability情報テーブルは、画像形成装置のプリンタ名毎でリスト管理され、レンダリング処理負荷を算出するか否かを判定するために参照する情報が格納されたテーブルである。
【0099】
“Printer Name”はデバイスCapabilityを送信した画像形成装置の名称である。Printer Nameは各画像形成装置固有の識別番号等であってもよい。“処理負荷を判定するパラメータ(閾値)”は、各画像形成装置のレンダリング方式に基づき決められた処理負荷が大きいか否かを判定するためのパラメータであり、括弧書きの中は、閾値を示している。本実施例では、画像形成装置のレンダリング処理の方式に応じて、1ページのオブジェクトの重なり数、または、1ページに含まれるオブジェクト数がパラメータとして用いられる。例えばPrinter Aであれば、1ページ内のオブジェクトの重なりの最大が10を超えた場合に、当該印刷データはレンダリングによる処理負荷が高いデータであると判定する。“負荷の高いオブジェクト(閾値)”は、プリンタのインタプリト方式に基づき決められた処理負荷の高いオブジェクトの種類であり、括弧書きの中は閾値を示している。例えば、Printer Aであれば1ページに含まれる透過属性付きのICCBasedオブジェクトが5個を超えた場合に、当該印刷データはインタプリト処理の負荷が高いデータであると判定する。なお、Printer Bのように、複数の種類のオブジェクトが付加の高いオブジェクトの種類として設定される場合、複数の種類のオブジェクトの合計の個数に対する閾値が括弧書きで記載されているものとする。
【0100】
図12(B)のデバイスCapability情報テーブルは、画像形成装置のプリンタ名毎でリスト管理され、印刷データをラスター形式に変更した場合に処理負荷が大きくなる可能性があるかを判定するために用いられる。
図12(B)も、画像形成装置101から取得されるデバイスCapabilityに基づき設定される。“Printer Name”は
図12(A)と同様に各画像形成装置の名称であり、各画像形成装置の識別番号等であってもよい。“白紙節約”は、画像形成装置において白紙節約機能が有効に設定されているか否かを示している。“オブジェクト別画像処理”は画像形成装置でオブジェクト別画像処理が有効に設定されているか否かを示している。“エッジ強調”は画像形成装置でエッジ強調処理が有効に設定されているか否かを示している。このように、
図12(B)には、画像形成装置の設定項目について、それぞれの設定値を記憶している。
【0101】
<印刷データ最適化処理のフローチャート>
次に、
図8を用いて、クライアント端末102が印刷指示を受け付けたときに実行される印刷データの最適化処理を説明する。クライアント端末はユーザからの印刷要求を受けると、PDF形式の印刷データを生成する。変換したPDFデータの描画オブジェクト構造とデバイスCapability情報からPDF形式の描画処理負荷の見積もりを実施し、PDF処理負荷が画像形成装置のプリント速度に間に合うか判断する。PDF処理負荷が画像形成装置のプリント速度に間に合わない場合に、クライアント端末はラスター形式の画像データの処理負荷が高い設定が画像形成装置になされているか否かを判定する。処理負荷高い設定がなされていない場合、クライアント端末はPDFデータをラスター形式に変換して画像形成装置へ送信する。
【0102】
本フローチャートに記載の処理を実行するためのプログラムは、主記憶装置302または補助記憶装置303に記憶されており、中央演算装置301が当該プログラムを実行することで処理が実現される。
【0103】
クライアント端末102が、ユーザから印刷要求を受信すると、本フローが開始される。
【0104】
S2001において印刷データ生成部507は、印刷対象とされている文書データと印刷設定に基づき、PDF形式の印刷データを生成する。
【0105】
S2002において処理負荷演算部504は、S2001で生成したPDFデータを処理した場合の処理負荷を見積もる。この処理の詳細については後ほど
図9を用いて詳しく説明する。S2002において、処理負荷演算部504は、
図9に記載の処理を実行し、各ページの処理予測時間を算出する。
【0106】
S2003において、処理負荷演算部504は、S2002で算出した処理予測時間の最大値が予め定められた閾値以上であるか否かを判定する。PDFデータの処理負荷が所定の閾値以上である場合、処理負荷演算部504はS2004へ処理を進める。PDFデータの処理負荷が所定の閾値未満である場合、処理負荷演算部504はS2007へ処理を進める。
【0107】
S2004において処理負荷演算部504は、デバイスCapabilityに基づき、画像形成装置がラスター形式の画像データの解析に時間のかかる設定であるか否かを判定する画像形成装置の設定解析処理を行う。S2004において、処理負荷演算部504が実行する処理は
図10を用いて後述する。
【0108】
S2005において処理負荷演算部504は、S2004の判定結果に基づきラスター形式への変換を行うか否かを判定する。画像形成装置101の設定がラスター形式のデータの処理に時間のかかる設定であると判定された場合、処理負荷演算部504はラスター形式への変換処理を行わないと判定し、S2007に処理を進める。画像形成装置101の設定がラスター形式のデータの解析に時間のかかる設定でないと判定された場合、処理負荷演算部504は、ラスター形式への変換を行うと判定し、S2006に処理を進める。
【0109】
S2006においてデータ変換部502は、S2001で生成したPDF形式の画像データをラスター形式へ印刷データのフォーマットを変換する。ここではPDF形式になったものをラスタライズしてラスター形式へ再変換しているが、元々の画像データが参照できる形態であれば、PDF形式を経由せずにラスター形式の画像データを生成するとしてもよい。S2006においてラスター形式の印刷データを生成することで、画像形成装置に送信される印刷データに画像形成装置での描画処理の負荷が高い描画コマンドが含まれないようにすることができる。
【0110】
S2007において送受信部501は、生成された印刷データを含む印刷ジョブを画像形成装置101へ送信する。印刷ジョブの送信処理が完了すると、本フローを終了する。
【0111】
以上の処理により本実施例における、クライアント端末102の印刷データ最適化処理が実行される。このようにすることで、画像形成装置がPDF形式のデータに対応している場合であっても、画像形成装置でのインタプリト処理、ラスタライズ処理に時間がかかる場合に、クライアント端末でラスタライズ処理を行うことができる。
【0112】
<PDF負荷解析処理のフローチャート>
次に
図9を用いて本実施例における、クライアント端末102によるPDF負荷解析処理のフローを説明する。クライアント端末102は印刷ジョブを画像形成装置に投入する前に、PDF形式で作成した印刷データをプリフライトにより内部構文解析してどのような属性のオブジェクトがどのような配置で何個含まれているかを解析する。クライアント端末102は、PDFデータから抽出した情報と、画像形成装置から取得したデバイスCapabilityに基づき、当該PDFデータが画像形成装置での処理に時間のかかるPDFデータであるかを判定する。クライアント端末102が、
図8のS2002の処理を開始すると本フローが開始される。なお、
図9に記載の処理は、クライアント端末102の中央演算装置301が主記憶装置302または補助記憶装置303の少なくともいずれかに記憶されたプログラムを実行することで実現される。
【0113】
S3001において処理負荷演算部504は、S2001において生成したPDFデータをプリフライトにより内部構文解析する。処理負荷演算部504は、1ページ分のPDFデータに含まれている描画コマンドから、当該PDFデータに含まれているオブジェクトの種類や数を特定する。
【0114】
S3002において処理負荷演算部504は、
図7のデバイス探索処理時に取得した印刷ジョブ投入先の画像形成装置のデバイスCapability情報を参照する。
【0115】
S3003において処理負荷演算部504は、S3001でのPDFデータに対するプリフライト内部構造解析結果から、レンダリング処理に対する処理負荷が高いページであるか否かを判定する。処理負荷演算部504は
図12(A)に示されるテーブル示される処理負荷を判定するパラメータと閾値に基づき、当該ページが処理負荷の高いページであるか否かを判定する。例えば、
図12(A)に記載のPrinter Aであれば、1ページ内のオブジェクトの重なっている数が10個を超えているか否かを判定する。オブジェクトの重なっている数が10個を超える場合、処理負荷演算部504は処理負荷が高いページであると判定する。一方で、オブジェクトの重なっている数が10個以下の場合、処理負荷演算部504は処理負荷の高いページではないと判定する。また、Printer Cの場合、1ページ内のオブジェクト数が15個を超えている場合、処理負荷演算部504は処理負荷の高いページであると判定する。一方で、1ページに含まれるオブジェクトが15個以下の場合、処理負荷演算部504は処理負荷の高いページではないと判定する。処理負荷が高いページである場合は、処理負荷演算部504はS3004へ処理を進める。処理負荷が高いページではない場合、処理負荷演算部504はS3005へ処理を進める。
【0116】
S3004において処理負荷演算部504は、処理負荷の高いと判定されたページについて当該ページの処理予測時間を算出する。処理負荷演算部504は、デバイスCapability情報に含まれるオブジェクト1個あたりの処理時間にS3001において抽出した当該オブジェクト数を掛けて算出する。例えば、Printer Aにおいて、重なっているオブジェクトの数が20個あるとする。デバイスCapabilityにて、1個あたり3秒かかると指定されていた場合、処理負荷演算部504は、3*20 = 60秒の処理時間がかかると算出をする。なお、1個のオブジェクトの処理に必要と見積もられる時間はシュミレーション等に基づき予め決められた値である。なお、処理負荷が高いと判定されたページの処理予測時間の算出は上記の方法に限らず、他の公知の方法を用いて行ってもよい。
【0117】
S3005において処理負荷演算部504は、S3001でのPDFデータに対するプリフライト内部構造解析結果から、インタプリト処理に対して処理負荷の高いオブジェクトの数が閾値
を超えるか否かを判定する。そして処理負荷演算部504は、デバイスCapabilityで指定された種類のオブジェクトが、デバイスCapabilityで指定された閾値よりも多くページ内にあるか否かを判定する。S3005において、処理負荷演算部504は、PDFデータにデバイスCapabilityで通知された種類のオブジェクトに対応するコマンドが含まれているか否を判定する。さらに、処理負荷演算部504は、PDFデータに含まれる当該描画コマンドの数とデバイスCapabilityで通知された閾値を比較する。対象とする画像形成装置が採用するインタプリト方式がPDFtoPS方式である場合、処理負荷演算部504は透過属性を持つオブジェクト、ICCBased色空間のオブジェクトの数と閾値を比較する。対象とする画像形成装置が採用するインタプリト方式がDirectPDF方式である場合、処理負荷演算部504は、透過属性を持ち、かつ、ICCBased色空間であるオブジェクトと閾値を比較する。処理負荷の高い種類のオブジェクトの合計数が閾値を超えている場合、処理負荷演算部504はS3006へ処理を進める。処理負荷の高いオブジェクトの合計数が閾値以下の場合、処理負荷演算部504はS3007へ処理を進める。たとえば、
図12(A)のPrinter Aでは、透過属性付きのICCBasedオブジェクトの数が5個を超える場合、処理負荷演算部504はS3006に処理を進める。一方で、透過属性付きのICCBasedオブジェクトの数が5個以下の場合、処理負荷演算部504は処理をS
3007に進める。
【0118】
S3006において処理負荷演算部504、レンダリング処理による処理予測時間を算出する。処理負荷演算部504は、デバイスCapability情報に含まれる処理負荷が高い種類のオブジェクトの1個あたりの処理時間にS3001において抽出した当該オブジェクト数を掛けてレンダリング処理予測算出する。例えば、Printer Aにおいて、1個当たりのレンダリング処理の対する処理時間が4秒で、処理負荷の高い種類のオブジェクトが20個あったとする。処理負荷演算部504は、4*20=80秒を処理予測時間として算出する。なお、1個のオブジェクトの処理に必要と見積もられる時間はシュミレーション等に基づき予め決められた値である。なお、処理予測時間の算出方法は上記の方法に限らず、公知の方法を用いてもよい。
【0119】
S3007において処理負荷演算部504は、S3004、S3006において算出された処理時間から、1ページあたりの処理時間を算出する。処理負荷演算部504は、S3004で求められた処理予測時間と、S3006で求められた処理予測時間とを足し合わせることで1ページ分の処理予測時間を算出する。なお、本実施例ではS3004、S3006で算出された予測時間の合計を1ページ分の処理予測時間とするが、1ページ分の処理予測時間の算出方法は上記に限定されない。たとえば、S3004、S3006では標準的なハードウェア構成の画像形成装置での処理時間をシュミレーションした結果を用いて処理予測時間を求める。S3007において、処理負荷演算部504が画像形成装置のハードウェア構成を加味して処理時間を見積もるとしてもよい。たとえば、画像形成装置のハードウェア構成上、標準的なハードウェア構成の1.2倍の速度で処理を行うことがデバイスCapabilityに記載されている場合、処理負荷演算部504は以下の方法で処理時間を予測する。処理負荷演算部504は、S3004とS3006の合計値を1.2で割り、1ページあたりの処理時間を予測する。
【0120】
S3008において、処理負荷演算部504は、未処理のページがあるか否かを判定する。未処理のページがある場合、処理負荷演算部504はS3001に処理を戻し、次のページについてS3001~S3007の処理を実行する。未処理のページがない場合、処理負荷演算部504は
図9に記載の処理を終了する。
図9に記載の処理を実行することで、各ページの処理予測時間を求めることができる。なお、
図8のS2003では
図9で求められた処理予測時間の最大値が閾値と比較される。
【0121】
以上の処理により本実施例における、クライアント端末102のPDF負荷解析処理が実行される。なお、S3004、S3006で用いられるオブジェクト1個あたりの処理時間は、予め情報処理装置に記憶されていてもよいし、画像形成装置からデバイスCapabilityで通知されてもよい。
【0122】
<印刷設定影響解析処理のフローチャート>
次に
図10を用いて本実施例における、クライアント端末102による印刷設定影響解析処理のフローを説明する。本発明では、印刷ジョブ向けに生成したPDFデータのデータ構造が、画像形成装置の処理負荷が高くなる構造を取る場合、クライアント端末側でレンダリングしてラスター画像の印刷ジョブを画像形成装置に投入する。しかし、白紙節約やオブジェクト種別画像処理、エッジ強調機能など、ラスター形式で投入されると描画オブジェクト判別処理のためのピクセル演算処理が必要となり、かえって処理負荷が高くなってしまう画像形成装置の設定が存在する。クライアント端末は、画像形成装置の設定を参照し、ラスター形式への変換を行うか否かを決定する。
【0123】
クライアント端末102が、S2004の処理を開始すると本フローが開始される。本フローチャートに記載の処理は、クライアント端末102の中央演算装置301が主記憶装置302または補助記憶装置303の少なくともいずれかに記憶されたプログラムを実行することで実現される。
【0124】
S4001において処理負荷演算部504は、デバイスCapability情報に含まれている画像形成装置の設定情報を参照する。
【0125】
S4002において処理負荷演算部504は、設定情報において白紙節約が無効となっているか判断する。無効となっている場合は、S4003へ処理を進める。有効となっている場合は、S4005へ処理を進める。
【0126】
S4003において処理負荷演算部504は、オブジェクト種別画像処理が無効となっているか、判断する。無効となっている場合はS4004へ処理を進める。有効となっている場合は、S4005へ処理を進める。
【0127】
S4004において処理負荷演算部504は、エッジ強調機能が無効となっているか判断する。無効となっている場合は処理を終了する。有効となっている場合は、S4005へ処理を進める。
【0128】
S4005において処理負荷演算部504は、画像形成装置がラスター画像の処理に時間のかかる設定であることを記憶する。このようにすることで、画像形成装置がラスター画像の処理に時間のかかる設定がなされている場合に、クライアント端末でPDF形式のデータをラスター形式に変換してしまうことを防ぐことができる。処理負荷演算部504はS4005ののち、画像形成装置の設定解析処理を終了する。なお、
図10では、白紙節約機能、オブジェクト別画像処理、エッジ強調のいずれか一つが有効に設定されている場合、ラスター画像への処理に時間のかかる設定がなされていると処理負荷演算部504が判定した。上記機能のうち、複数の機能が有効の場合のみ、ラスター画像への処理に時間のかかる設定がなされていると処理負荷演算部504が判定してもよい。
【0129】
以上の処理を実行することで、PDF形式のデータを解析し、画像形成装置でのインタプリタ処理やレンダリング処理に時間がかかることが推定される場合に、クライアント端末でレンダリング処理を行うことができる。このように、クライアント端末にて印刷データのフォーマットを変換することで、画像形成装置におけるインタプリト処理、レンダリング処理を行わず、印刷までの時間を抑えることができるようになる。
【0130】
<実施例2>
実施例1では、画像形成装置101が、デバイスCapability情報として自身が採用するレンダリング、インタプリト方式において、処理負荷が高くなる描画オブジェクト配置、種別情報を格納し、クライアント端末102へ提供する構成としていた。しかし、画像形成装置101がデバイスCapability情報として処理負荷が高くなる描画オブジェクト配置、種別情報を選定して設定するのではなく、単に採用するレンダリング、インタプリト方式をクライアント端末102に通知する構成も考えられる。その場合、クライアント端末102側でデバイスCapability情報に含まれるレンダリング、インタプリト方式の情報から、処理負荷が高くなる描画オブジェクト配置、種別を判別して処理負荷を見積もることで、実施例1と同じ効果を得ることができる。
【0131】
よって、実施例2ではデバイスCapability情報には、レンダリング、インタプリト方式情報が格納され、その情報から処理負荷が高くなる描画オブジェクト配置、種別情報を判別して処理負荷を見積もる構成における実現手段を説明する。
【0132】
<デバイスCapability算出処理のフローチャート>
はじめに、実施例1の
図11に換えて実行される
図14に記載の処理を説明する。
【0133】
図14は、画像形成装置101がクライアント端末102に通知するデバイスCapabilityを設定する処理である。画像形成装置101が、クライアント端末102からデバイスCapability送信要求を受信すると本フローが開始される。
図14は、中央演算装置201が主記憶装置202または補助記憶装置203の少なくとも一方に記憶されたプログラムを実行することで実現される。なお、
図11と同様の処理については
図11と同じ符号を付与している。
【0134】
S5001において、Capability情報管理部405は自身が採用するレンダリング方式がスキャンライン方式であるか、ペインターズ方式であるか、判定する。スキャンライン方式である場合、Capability情報管理部405はS5102へ処理を進める。ペインターズ方式である場合、Capability情報管理部405はS5103へ処理を進める。
【0135】
S5102において、Capability情報管理部405は、レンダリング方式をスキャンライン方式であるとして、レンダリング方式情報をデバイスCapabilityへ設定する。
【0136】
S5103においてCapability情報管理部405は、レンダリング方式をペインターズ方式であるとして、レンダリング方式情報をデバイスCapabilityへ設定する。
【0137】
S5004においてCapability情報管理部405は、自身が採用するインタプリト方式がPDFtoPS方式であるか、DirectPDF方式であるか、判定する。DirectPDF方式である場合、Capability情報管理部405はS5105へ処理を進める。PDFtoPS方式である場合、Capability情報管理部405はS5106へ処理を進める。
【0138】
S5105においてCapability情報管理部405は、デバイスCapabilityに含まれるインタプリタアルゴリズムをDirectPDFに設定する。
【0139】
S5106においてCapability情報管理部405は、デバイスCapabilityに含まれるインタプリタアルゴリズムをPDFtoPSに設定する。
【0140】
S5007~S501
7は、
図11と同様の処理であるため、説明を省略する。
【0141】
以上の処理により本実施例における、画像形成装置101によるデバイスCapability算出処理が実行される。
【0142】
クライアント端末102は、
図7に示すデバイス探索処理のS1003で、
図14にて生成されたデバイスCapabilityを受信し、
図15(A)に示すテーブルに記憶する。
【0143】
図15(A)は、画像形成装置101が採用するレンダリング、インタプリト方式がそれぞれレンダラアルゴリズム、PDFインタプリタアルゴリズムの項目でプリンタ名毎に保持されるテーブルである。
【0144】
<PDF負荷解析処理のフローチャート>
図13を用いて本実施例における、クライアント端末102によるPDF負荷解析処理のフローを説明する。実施例2では、画像形成装置101から得られるデバイスCapability情報は、レンダリング、インタプリト方式が何であるかを含み、処理負荷が高くなる描画オブジェクト配置、種別情報は含んでいない。そのため、クライアント端末102は通知されたデバイスCapabilityから処理負荷が高くなる描画オブジェクト配置、種別情報を設定する。ここでは、
図9と同様の処理に同じ符号を付与し、
図9と共通する処理の説明は省略する。
【0145】
なお、
図13に記載の処理を実行するためのプログラムは、主記憶装置302または補助記憶装置303に記憶され、中央演算装置301が当該プログラムを実行することで実現される。
【0146】
クライアント端末102が、ユーザから印刷指示を受信すると本フローが開始される。
【0147】
S3002において、処理負荷演算部504は、
図7のデバイス探索処理時に取得した印刷ジョブ投入先の画像形成装置のデバイスCapability情報を参照する。処理負荷演算部504は、
図15(A)に示すテーブルを参照し、レンダラアルゴリズムを特定する。
【0148】
S3103において、処理負荷演算部504は、投入先の画像形成装置101が採用するレンダリング方式がスキャンライン方式であるか、ペインターズ方式であるかを判定する。スキャンライン方式である場合、処理負荷演算部504はS3104へ処理を進める。ペインターズ方式である場合、処理負荷演算部504はS3105へ処理を進める。
【0149】
S3104において処理負荷演算部504は、レンダリング処理で処理負荷を判定する際のパラメータとして1ページ中に含まれるオブジェクト同士の重なり数を使用することと、その閾値を設定する。S3105において処理負荷演算部504は、レンダリング処理で処理負荷を判定する際のパラメータとして1ページ中のオブジェクトの数を用いることと、閾値を設定する。S3104、S3105において、処理負荷演算部504は、予め記憶されている
図15(B)に示すテーブルを参照し、処理負荷を判定するときに使用するパラメータとその閾値を決定する。
図15(B)は、レンダリング方式毎に処理負荷が高いか否かを判定するときに用いられるパラメータと閾値が記憶されている。
【0150】
S3106において処理負荷演算部504は、投入先の画像形成装置101が採用するインタプリト方式がPDFtoPS方式であるか、DirectPDF方式であるか、判定する。DirectPDF方式である場合、処理負荷演算部504はS3107へ処理を進める。PDFtoPS方式である場合、処理負荷演算部504はS3108へ処理を進める。
【0151】
S3107において処理負荷演算部504は、インタプリト処理として処理負荷が高いオブジェクト種類を、透過属性をもち、かつ、ICCBased色空間オブジェクトであるとして設定する。さらに、S3107において、処理負荷演算部504は、処理負荷が高いか否かの判定に用いられる閾値を設定する。なお、
図13では、透過属性をもち、かつ、ICCBased色空間オブジェクトのことをTYPE Aとして記載する。S3108において処理負荷演算部504は、インタプリト処理として処理負荷が高いオブジェクト種類を、透過属性をもつオブジェクト、またはICCBased色空間オブジェクトである、として設定する。さらに、S3108において、処理負荷演算部504は、処理負荷が高いか否かの判定に用いられる閾値を設定する。なお、
図13では、透過属性をもつオブジェクト、またはICCBased色空間オブジェクトのことをTYPE Bとして記載する。S3107、S3108は、画像形成装置に予め記憶された
図15(C)に示すテーブルに基づき実行される。
【0152】
S3003~S3008に記載の処理は、実施例1と同様の処理であるため、説明を省略する。
【0153】
以上の処理により本実施例における、クライアント端末102のPDF負荷解析処理が実行される。
【0154】
以上、これまで説明した本発明の実施例1、実施例2によれば、画像形成装置で処理負荷の高い処理を行わなくても印刷ができるよう、印刷データの形式に制御することができる。
【0155】
<実施例3>
上記の実施例1、実施例2では、クライアント端末102で生成されたPDF形式の画像データを画像形成装置101がする場合の負荷係数を算出、画像形成装置101での処理負荷が高いとされる場合に、ラスター画像への変換を行うとした。実施例3ではラスター画像への変換を行うか否かをより容易に判定する方法を説明する。実施例3では、画像形成装置101からデバイスCapabilityとして処理負荷の高いオブジェクトの配置情報とオブジェクト種類の情報を取得する。クライアント端末102は、生成したPDF形式の画像データが処理負荷の高いオブジェクト配置を満たす、または、処理負荷の高い種類のオブジェクトを含む場合に、PDF形式の画像データをラスター形式の画像データに変換するとする。なお、
図1から
図7、
図11、
図12に示す内容は実施例1と同様であるため、説明を省略する。
【0156】
図16は実施例3におけるクライアント端末102が実施する処理を示したフローチャートである。
図16に記載の各処理を実行するためのプログラムは、クライアント端末102の主記憶装置302、補助記憶装置303の少なくともいずれかに記憶されており、中央演算装置301が当該プログラムを実行することで処理が実現される。なお、
図8、
図9と同様の処理については
図8、
図9と同様の符号を付与し、説明を省略する。なお、S3001のプリフライトで処理負荷演算部504は、生成されたPDFのそれぞれのページについて、含まれるオブジェクトの種類、数、オブジェクトの重なっている数を取得する。
【0157】
S6003において、処理負荷演算部504は、PDFデータの1ページあたりに含まれるオブジェクトの数がデバイスCapabilityで指定される閾値を超えているか否かを判定する。S6003において、処理負荷を判定するパラメータが1ページのオブジェクト数であり、1ページのオブジェクト数が閾値を超えるページがある場合、処理負荷演算部504はS2006に処理を進める。S6003において、処理負荷の基準が1ページのオブジェクト数であり、1ページのオブジェクトの数が閾値以下である場合、処理負荷演算部504はS6004に処理を進める。なお、デバイスCapabilityで処理負荷を判定するパラメータとしてオブジェクトの重なり数が指定されている場合、処理負荷演算部504は1ページ内のオブジェクトの数を閾値と比較する処理を行わずにS6004に処理を進める。また、S6003で用いられる閾値は1であってもよい。
【0158】
S6004において、処理負荷演算部504は、PDFデータの1ページあたりのオブジェクトの重なり数の最大値が閾値を超えているか否かを判定する。処理負荷を判定するパラメータとして1ページのオブジェクトの重なり数が指定されており、1ページのオブジェクトの重なり数が閾値を超えるページがある場合、処理負荷演算部504はS2006に処理を進める。S6004において、処理負荷を判定するパラメータとして1ページのオブジェクトの重なり数が指定されており、1ページのオブジェクトの重なり数が閾値以下である場合、処理負荷演算部504はS6005に処理を進める。なお、画像形成装置101から取得されたデバイスCapabilityで処理負荷を判定するパラメータとしてオブジェクトの数が指定されている場合、処理負荷演算部504はS6004に記載の判定を行わず、S6005に処理を進める。
【0159】
次に、処理負荷演算部504は、PDFデータにデバイスCapabilityで処理負荷の高いオブジェクトとして指定された種類のオブジェクトが含まれるか否かを判定する。PDFデータに処理負荷の高いオブジェクトに対応する描画コマンドが含まれている場合、処理負荷演算部504はS6006に処理を進める。処理負荷の高い種類のオブジェクトが含まれていない場合、処理負荷演算部504はS2007に処理を進める。
【0160】
S6006において、処理負荷演算部504は、1ページに含まれる負荷が高い種類のオブジェクトの数が閾値を超えるか否かを判定する。1ページに含まれる負荷が高い種類のオブジェクトの数が閾値を超える場合、処理負荷演算部504はS2006へ処理を進める。1ページに含まれる負荷の高い種類のオブジェクトの数が閾値以下である場合、処理負荷演算部504はS2007へ処理を進める。なお、ここでの閾値は1であってもよい。本実施例では、S6005においてPDFデータに画像形成装置での処理負荷の高いオブジェクトが含まれているか否かを判定した後、当該オブジェクトの数が閾値を超えているか否かを判定した。S6006の判定を行わず、負荷の高いオブジェクトが含まれている場合、その数に関係なくS2006へと処理を進めるとしてもよい。
【0161】
このようにすることで、画像形成装置101におけるインタプリタ処理、レンダリング処理に時間がかかってしまう可能性がある場合に、クライアント端末でラスタライズ処理までを行い、ラスター画像を画像形成装置に送信することができる。
【0162】
なお、実施例3では、実施例1、2と異なり、ラスター画像への変換処理を行う前の画像形成装置の設定解析処理を行わなかった。S2006でのラスター形式への変換前に
図8のS2004に記載の処理を実行し、その結果に応じてラスター形式への変換を行うか否かを決定するとしてもよい。また、実施例3では、S6004、S6005に記載の処理を行わず、S6005、S6006のみを行うとしてもよい。このようにする場合、クライアント端末は画像形成装置でのインタプリト処理に時間がかかるか否かに関わらず、画像形成装置でのレンダリング処理に時間がかかる場合に、クライアント端末でレンダリング処理を行うこととなる。また、実施例3では、S6005において処理負荷の高い種類のオブジェクトがPDFデータに含まれているか否かを判定した。そして、PDFデータに処理負荷の高い種類のオブジェクトが含まれていると判定された場合に、処理負荷の高い種類のオブジェクトの数が閾値を超えるか否かを判定した。S6005において、処理負荷の高い種類のオブジェクトがPDFデータに含まれると判定されたことに従って、その数に関わらず、S2006に処理が進められるとしてもよい。なお、上記の場合には、デバイスCapabilityに画像形成装置での処理負荷の高いオブジェクト種類が含まれていれば、閾値が含まれていなくてもよい。
【0163】
このように、実施例3では、負荷係数や1ページあたりの処理時間の算出を行うことなく、PDFデータに含まれるオブジェクトの配置や数からクライアント端末でラスタライズ処理を行うか否かを切り替えることができる。
【0164】
<実施例4>
上記の実施例では、画像処理で実行すると処理に時間がかかってしまう描画のときに、クライアントが当該画像処理を行うことを例に説明をした。クライアント端末から送られてくる処理の中には、画像形成装置が実行することが出来ず、当該処理を他の処理に変換して実行してしまう処理がある。画像処理装置が処理を代替してしまうと、クライアント装置で想定された描画と異なる描画処理が実行されてしまう。そこで、実施例4では、クライアント装置から送られる印刷データに、画像形成装置が代替処理をしてしまう描画指示が含まれることを抑制することを目的とする。
【0165】
本実施例では、描画処理負荷ではなく、画像品質に注目した例を挙げる。
【0166】
画像形成装置は、その搭載ハードウェアの制限などから、特定の画像処理機能を異なる処理に置き換えて処理する。
図17は、上記のように画像形成装置が代替する処理の一例を示す図である。
【0167】
図17(A)は、受信した印刷データであるPDFデータに、画像形成装置が搭載していないフォントの文字を描画する指示が含まれている場合の代替処理を示す図である。ここでは、画像形成装置に含まれていないフォントの描画を、画像形成装置に搭載される他のフォントで置き換える代替処理を行っている。
【0168】
図17(A)の601はPDFデータを指定されたフォントで表示した際の描画結果を示している。一方で、602は画像形成装置の内蔵フォントで代替処理した場合の描画結果を示している。代替処理後の602では、「年度(平成)」という文字の括弧を示す文字が、602では「平成」の文字に被っている。これは、PDFデータに含まれる文字毎に文字幅が異なるプロポーショナルフォントを、画像形成装置が文字
の幅が同じフォントで展開した場合に起こる。PDFデータにおいて、各文字の描画開始位置が指定される場合がある。このとき、PDFデータに含まれる各文字の描画開始位置が、PDFデータを生成したときのフォント幅に基づいて設定される。しかし、画像形成装置がフォント展開に使うフォントが変わってしまうと括弧等の記号を描画するときの幅がPDFデータの生成時と変わってしまうため、
図17(A)に示すように、文字と記号が重なってしまうことが起こる。クライアント端末が送信するPDFデータに、画像形成装置がフォントの置き換え処理をしてしまうフォントが含まれる場合は、クライアント端末でPDFデータをラスタデータに変換し、画像形成装置に送信する。
【0169】
図17(B)は透過オブジェクトを描画するときに、画像形成装置が実行する代替処理の一例を示す図である。本来であれば、透過処理は
前面に配置されるオブジェクトの色値と背面に配置されるオブジェクトの色値に対して、指定されるカラープロファイルを適用させて色変換をさせた後に透過度を鑑みて透過合成処理が実行される。
【0170】
しかしながら、PDFがサポートする色空間はDevice色空間やICCBased色空間、Special色空間と様々であるため、受信した印刷データの色空間に対応した透過処理を画像形成装置が備えていない場合がある。そこで、画像形成装置は、透過処理の代わりに、604のようなパターンを描画する処理を行うことがある。
【0171】
図17(B)は、白色の矩形と黒色の矩形が重なる領域603に50%の透過属性が指定された場合を示している。画像形成装置は、透過表現を擬似的に実現するため、604のように白矩形と黒矩形を市松模様のように配置する。605は604を一部拡大した図である。この配置割合が互いに50:50となるように配置することで、50%の透過表現を擬似的に再現させる。白矩形と黒矩形の割合を変えたパターン画像を用いることで、透過の割合を疑似的に変えることができる。このような擬似透過処理を採用する画像形成装置で印刷処理を実施する場合、クライアント端末側でこれを適切に透過合成処理してラスター形式で画像形成装置へ印刷データを投入した方が画質として望ましい。
【0172】
図17(C)は、スポットカラーの指定があるオブジェクトに対して代替色空間で色変換した場合の一例を表している。スポットカラーはプロセスカラーであるCMYKカラー以外の特別なカラー指定で指定される色である。たとえば、金、銀等の光沢のある色などである。
【0173】
スポットカラーを画像形成装置で出力できる色で再現する処理を有していない画像形成装置では、スポットカラーを再現する処理が特定のデフォルト色空間の色変換で代替処理される。上記の画像形成装置では、スポットカラーとともに指定されるCMYKの信号値に対して、画像形成装置が有する特定の色変換処理を行い、出力時のCMYK値を決定する。
【0174】
図17(C)は、スポットカラーが指定されたオブジェクトと、代替処理の結果である。606、607はスポットカラーが指定されたオブジェクトである。608,609は、606、607が代替処理された後のオブジェクトである。608、609からわかるように、代替処理によって隣接する他のオブジェクトとの色差がなくなってしまうことがある。そこで、スポットカラーを含むPDFデータを印刷する場合、クライアント端末側で適切にスポットカラーマッチング処理してラスター形式で画像形成装置に投入した方が画質として望ましい。
【0175】
本実施例ではこのような画像品質に関わるオブジェクトの有無に応じて、印刷データのデータ形式としてPDF形式を採用するか、ラスター形式を採用するか、を切り替える。
【0176】
<デバイスCapability生成処理のフローチャート>
実施例4においても、クライアント端末が画像形成装置を探索してから印刷するまでのシーケンスは、概ね
図6と同様である。実施例4では、
図6のS104におけるデバイスCapabilityの設定が
図18の処理となり、S108における処理負荷算出が以下の
図21の処理となる。
【0177】
まず、
図18を用いて、実施例4における、デバイスCapabilityを画像形成装置が生成する処理を説明する。本フローチャートは、画像形成装置101がクライアント端末102から、デバイスCapabilityの取得要求を受信したことに基づき開始される。また、
図18に記載の処理を実行するためのプログラムは主記憶装置202、補助記憶装置203に記憶されており、中央演算装置201が当該プログラムを実行することで実現される。なお、
図14と同様の処理については図
14と同様の符号を付与し、説明を省略する。
【0178】
S9001において、Capability情報管理部405は、画像形成装置101がスポットカラー指定のオブジェクトをデフォルト色空間で代替処理する、代替スポットカラー処理を実施する装置であるか否かを判定する。代替スポットカラー処理を実施する装置である場合、Capability情報管理部405はS9002へ処理を進める。代替スポットカラー処理を実施しない装置である場合、Capability情報管理部405はS9003へ処理を進める。なお、画像形成装置がスポットカラーをデフォルト色空間で変換する処理を行うか否かは、予め機種ごとに設定されていてもよいし、ユーザがデバイスの設定として設定することができるとしてもよい。
【0179】
S9002において、Capability情報管理部405は、自身が代替処理として実施する項目として代替スポットカラーをデバイスCapabilityへ追加設定する。
【0180】
S9003において、Capability情報管理部405は、画像形成装置101が透過指定のオブジェクトを疑似透過処理として代替処理する装置であるか否かを判定する。疑似透過処理を実施する装置である場合、Capability情報管理部405はS9004へ処理を進める。疑似透過処理を実施しない装置である場合、Capability情報管理部405はS9005へ処理を進める。なお、各装置が透過オブジェクトをパターン画像に置き換える代替処理を行うか否かは機種ごとに設定されるとしてもよいし、出荷後ユーザによって設定可能であるとしてもよい。
【0181】
S9004において、Capability情報管理部405は、自身が代替処理として実施する項目として疑似透過処理をデバイスCapabilityへ追加設定する。
【0182】
S9005において、Capability情報管理部405は、画像形成装置101が非埋め込みフォントのオブジェクトをプリンタ内蔵フォントで代替置換処理する装置であるか否かを判定する。プリンタ内蔵フォントで代替置換処理を実施する装置である場合、Capability情報管理部405はS9006へ処理を進める。プリンタ内蔵フォントで代替置換処理しない装置である場合、Capability情報管理部405はS5015へ処理を進める。なお、PDFデータに含まれる所定のフォントを画像形成装置が記憶するフォントで置く替える代替処理を行うか否かは機種ごとに設定されていてもよいし、ユーザによって設定できるとしてもよい。
【0183】
S9006において、Capability情報管理部405は、自身が代替処理として実施する項目としてプリンタ内蔵フォントによるフォント代替置換処理をデバイスCapabilityへ追加設定する。なお、S9006にて、Capability情報管理部405は、当該代替処理の対象となるフォントを示す情報をデバイスCapabilityに追加する。
【0184】
S501
6、S501
7における処理は
図14と同様である。
【0185】
以上の処理により本実施例における、画像形成装置101によるデバイスCapability算出処理が実行される。
【0186】
なお、本実施例では、クライアント端末102からデバイスCapabilityの取得要求を受信したことに基づき
図18に記載の処理を開始した。
図18に記載した処理を定期的に実行したり、画像形成装置の電源オン、スリープ復帰のタイミングなど所定のタイミングで実行するとしてもよい。
【0187】
<デバイスCapability情報テーブル>
次に
図19を用いて本実施例における、デバイスCapability情報テーブルのデータ構造について説明する。
図19に記載のテーブルは、クライアント端末102が画像形成装置101から受信したデバイスCapabilityを管理するためのテーブルである。
【0188】
図19のデバイスCapability情報テーブルは、画像形成装置のプリンタ名毎でリスト管理され、どのような代替処理を実施するデバイスであるか判定するために参照する情報が格納されたテーブルである。
【0189】
“Printer Name”はデバイスCapabilityを送信した画像形成装置の名称である。Printer Nameは各画像形成装置固有の識別番号等であってもよい。“代替処理”は、各画像形成装置が実施する代替処理を機能ごとで保持している。
【0190】
図19の例ではPrinter Aは代替処理として、フォント代替、疑似透過処理、代替スポットカラーを実施する。さらに、Printer Aは、PDFデータに文字コードをFont Aで展開することが記載されている場合に、当該文字コードを他のフォントで展開することが記憶されている。
【0191】
同様にPrinter Bはフォント代替、代替スポットカラーを、Printer Cは疑似透過処理、代替スポットカラーを代替処理として実施することがテーブルで示されている。
【0192】
クライアント端末102は、このデバイスCapabilityに含まれる代替処理の情報を参照し、印刷データ形式としてPDF形式とするか、ラスター形式とするかを判断する。フォント代替であれば非埋め込むフォントオブジェクトが、疑似透過処理であれば透過属性指定オブジェクトが、代替スポットカラーであればスポットカラー指定オブジェクトが存在するか、でこれを判断する。
【0193】
<印刷データ最適化処理のフローチャート>
次に、
図20を用いて、実施例4における、クライアント端末102が印刷指示を受け付けたときに実行される印刷データの最適化処理を説明する。クライアント端末はユーザからの印刷要求を受けると、PDF形式の印刷データを生成する。変換したPDFデータの描画オブジェクト構造とデバイスCapability情報から代替処理が適用されるオブジェクトが存在しないか判断する。代替処理が適用されるオブジェクトが存在する場合に、クライアント端末はPDFデータをラスター形式に変換して画像形成装置へ送信する。
【0194】
本フローチャートに記載の処理を実行するためのプログラムは、主記憶装置302または補助記憶装置303に記憶されており、中央演算装置301が当該プログラムを実行することで処理が実現される。
【0195】
クライアント端末102が、ユーザから印刷要求を受信すると、本フローが開始される。なお、
図8、
図9と同様の処理については
図8、
図9と同様の符号を付与し、説明を省略する。
【0196】
S2001、S2006における処理は
図8と同様である。
【0197】
S3001、S3002における処理は図9と同様である。
【0198】
S7001において、処理負荷演算部504は、生成したPDFデータに画像形成装置によって代替処理がなされるオブジェクトが含まれているか否かを判定する判定処理を実行する。当該判定処理の詳細は
図21にて後述する。
【0199】
S7002において、処理負荷演算部504は、S7001の判定結果を参照し、PDFデータに代替処理が適用されるオブジェクトが存在するか否かを判断する。代替処理が適用されるオブジェクトが存在する場合、処理負荷演算部504はS2006へ処理を進める。S2006では、生成したPDFデータをラスタデータに変換する処理が実行される。代替処理が適用されるオブジェクトが存在しない場合、処理負荷演算部504はS2007へ処理を進める。この場合、クライアント端末102は生成したPDFデータをそのまま画像形成装置へ送信する。
【0200】
【0201】
図21は、
図20のS7001で処理負荷演算部504が実行する処理である。
【0202】
本フローチャートに記載の処理を実行するためのプログラムは、主記憶装置302または補助記憶装置303に記憶されており、中央演算装置301が当該プログラムを実行することで処理が実現される。
【0203】
S2101において、処理負荷演算部504は、画像データの送り先となる画像形成装置のデバイスCapabilityを参照し、スポットカラーの変換処理を他の色変換処理で代替処理するCapabilityが含まれているか否かを判定する。たとえば、印刷に使用するプリンタが“Printer A”である場合、処理負荷演算部504は
図19に示すテーブルを参照し、Printer Aの代替処理に“代替スポットカラー”が含まれるか否かを判定する。デバイスCapabilityにスポットカラーの色変換処理を他の処理で代替することが示されている場合、処理負荷演算部504は、S2102に処理を進める。デバイスCapabilityにスポットカラーの色変換処理を他の処理で代替することが示されていない場合、処理負荷演算部504は、S210
3へ処理を進める。
【0204】
S2102において、処理負荷演算部504は、S2001で生成したPDFデータにスポットカラーを指定したオブジェクトが含まれているか否かを判定する。処理負荷演算部504は、PDFデータを参照し、スポットカラーを指定する、文字、図形が含まれているか否かを判定する。PDFデータにスポットカラーを指定したオブジェクトが含まれていると判定した場合、処理負荷演算部504は、S2107へ処理を進める。PDFデータにスポットカラーを指定したオブジェクトが含まれていない場合、処理負荷演算部504は、S2103へ処理を進める。
【0205】
S2103において、処理負荷演算部504は、画像データの送り先となる画像形成装置のデバイスCapabilityを参照し、透過処理をパターン画像で置換する代替処理を行うことを示すCapabilityが含まれているか否かを判定する。たとえば、印刷に使用するプリンタが“Printer A”である場合、処理負荷演算部504は
図19に示すテーブルを参照し、Printer Aの代替処理に“疑似透過処理”が含まれるか否かを判定する。デバイスCapabilityに透過処理をパターン画像の描画で代替することが示されている場合、処理負荷演算部504は、S2104に処理を進める。デバイスCapabilityに透過処理をパターン画像の描画で代替することが示されていない場合、処理負荷演算部504は、S2105へ処理を進める。
【0206】
S2104において、処理負荷演算部504は、S2001で生成したPDFデータにス透過処理を指定したオブジェクトが含まれているか否かを判定する。透過処理を指定したオブジェクトが含まれている場合、処理負荷演算部504はS2107へ処理を進める。透過処理を指定したオブジェクトが含まれていない場合、処理負荷演算部504はS2105へ処理を進める。
【0207】
S2105において、処理負荷演算部504は、画像データの送り先となる画像形成装置のデバイスCapabilityを参照する。処理負荷演算部504は参照したデバイスCapabilityに特定のフォントを画像形成装置が展開できる他のフォントで展開する代替処理を行うCapabilityが含まれているか否かを判定する。たとえば、印刷に使用するプリンタが“Printer A”である場合、処理負荷演算部504は
図19に示すテーブルを参照し、Printer Aの代替処理に“フォント代替”が含まれるか否かを判定する。特定のフォントを画像形成装置が展開できる他のフォントで展開する代替処理を行うことを示すCapabilityが含まれている場合、処理負荷演算部504は、S2106へ処理を進める。特定のフォントを画像形成装置が展開できる他のフォントで展開する代替処理を行うことを示すCapabilityが含まれていない場合、処理負荷演算部504は
図21に示すフローを終了する。
【0208】
S2106において、処理負荷演算部504は、S2001で生成したPDFデータに特定のフォントを指定するコマンドが含まれているか否かを判定する。特定のフォントとは、デバイスCapabilityで指定されるフォントである。例えば、印刷に使用する画像形成装置が”Printer A”である場合、
図19のPrinter Aに対応する代替処理のうち、フォント代替で指定される“Font A”が特定のフォントである。なお、特定のフォントは1種類でも複数種類であってもよい。PDFデータに特定のフォントを指定するコマンドが含まれている場合、処理負荷演算部504はS2107へ処理を進める。PDFデータに特定のフォントを指定するコマンドが含まれていない場合、処理負荷演算部504は
図21に記載のフローを終了する。
【0209】
S2107において、処理負荷演算部504は、PDFデータに画像形成装置が代替処理するオブジェクトが含まれていることを示すフラグを補助記憶装置303に記憶する。
図20のS7002で処理負荷演算部504は、S2107において記憶されるフラグに基づき判定を行う。
【0210】
以上の処理により本実施例における、クライアント端末102の印刷データ最適化処理が実行される。このようにすることで、PDFデータに画像形成装置で代替処理が適用されてしまうオブジェクトが存在する場合に、クライアント端末でラスタライズ処理を行うことができる。
【0211】
<その他の実施形態>
なお、上記の実施例では、処理負荷が高いと判定された場合に、画像形成装置の設定としてラスター形式の処理に時間のかかる設定がなされているか否かを判定するとした。当該判定を行わず、PDF形式での処理の負荷が高いと判定された場合に、ラスター形式への変換を行うとしてもよい。
【0212】
上記の実施形態では、デバイス探索のタイミングで画像形成装置からデバイスCapabilityを取得した。デバイスCapabilityの取得のタイミングは上記のタイミングに限らない。たとえば、クライアント端末102において、印刷に使用する画像形成装置が選択されたタイミングで、選択された画像形成装置からデバイスCapabilityを取得するとしてもよい。また、クライアント端末102において、ユーザから印刷を実行する指示がなされたことに基づき、画像形成装置からデバイスCapabilityを取得するとしてもよい。
【0213】
なお、上記の実施例1~3では、クライアント端末が生成したPDFデータが画像形成装置での処理負荷が高いオブジェクトを含むPDFデータの場合に、フォーマット変換を実行した。そして、実施例4では、クライアント端末が生成したPDFデータに対して、画像形成装置がPDFデータに対して所定の代替処理を実行する可能性がある場合に、フォーマット変換を実行した。クライアント端末が生成したPDFデータが画像形成装置での処理負荷が高いオブジェクトを含むPDFデータである場合、または、画像形成装置にて所定の代替処理が実行される可能性のあるPDFデータの場合に、フォーマット変換を実行するとしてもよい。
【0214】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。