IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許-情報処理装置、方法およびプログラム 図1
  • 特許-情報処理装置、方法およびプログラム 図2
  • 特許-情報処理装置、方法およびプログラム 図3
  • 特許-情報処理装置、方法およびプログラム 図4
  • 特許-情報処理装置、方法およびプログラム 図5
  • 特許-情報処理装置、方法およびプログラム 図6
  • 特許-情報処理装置、方法およびプログラム 図7
  • 特許-情報処理装置、方法およびプログラム 図8
  • 特許-情報処理装置、方法およびプログラム 図9
  • 特許-情報処理装置、方法およびプログラム 図10
  • 特許-情報処理装置、方法およびプログラム 図11
  • 特許-情報処理装置、方法およびプログラム 図12
  • 特許-情報処理装置、方法およびプログラム 図13
  • 特許-情報処理装置、方法およびプログラム 図14
  • 特許-情報処理装置、方法およびプログラム 図15
  • 特許-情報処理装置、方法およびプログラム 図16
  • 特許-情報処理装置、方法およびプログラム 図17
  • 特許-情報処理装置、方法およびプログラム 図18
  • 特許-情報処理装置、方法およびプログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】情報処理装置、方法およびプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240111BHJP
【FI】
G06F3/12 344
G06F3/12 308
G06F3/12 317
G06F3/12 329
G06F3/12 373
G06F3/12 385
【請求項の数】 21
(21)【出願番号】P 2021193564
(22)【出願日】2021-11-29
(65)【公開番号】P2023079880
(43)【公開日】2023-06-08
【審査請求日】2022-09-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】溝口 慶範
(72)【発明者】
【氏名】國枝 寛康
【審査官】白石 圭吾
(56)【参考文献】
【文献】特開2015-130071(JP,A)
【文献】特開2011-123592(JP,A)
【文献】特開2008-276531(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09 - 3/12
H04N 1/00
B41J 29/00 - 29/70
(57)【特許請求の範囲】
【請求項1】
記録装置と通信可能な情報処理装置であって、
前記記録装置での記録対象の画像データに、該画像データのコンテンツに対応する画像処理を実行する画像処理手段と、
前記画像処理の実行後の画像データを前記記録装置に送信する送信手段と、
前記画像処理手段による画像処理の実行の前に、前記記録装置との間の第1転送レートと、前記記録装置の記録手段の記録動作に要求される要求転送レートとを取得する第1取得手段と、
前記画像データへの画像処理を試行し、該試行後の画像データの情報と前記第1転送レートとに基づいて、該試行後の画像データの前記記録装置への送信および前記記録手段の記録動作に要求される第2転送レートを取得する第2取得手段と、を備え、
前記画像処理手段は、前記第2転送レートが前記要求転送レートの条件を満たす場合、該試行された画像処理を前記画像データに実行し、
前記送信手段は、該画像処理の実行後の画像データを前記記録装置に送信する、
ことを特徴とする情報処理装置。
【請求項2】
前記条件は、前記第2転送レートが前記要求転送レートと同じかもしくは大きいことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第2取得手段は、複数の画像処理の優先度に従って順に、前記画像データへの画像処理を試行して前記第2転送レートを取得し
前記画像処理手段は、前記第2取得手段が取得した前記第2転送レートが前記要求転送レートの条件を満たす場合、該試行された画像処理を前記画像データに実行し、
前記送信手段は、該試行された画像処理の実行後の画像データを前記記録装置に送信する、
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記複数の画像処理の優先度を示す情報を記憶する第1記憶手段、をさらに備え、
前記情報では、画像処理の実行後の画像の劣化度合いが小さいほど、該画像処理の優先度が高く設けられていることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記第1記憶手段は、前記画像データのコンテンツの種類に対応づけて、前記複数の画像処理の優先度を示す情報を記憶することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記画像データのコンテンツの種類を判断する判断手段、をさらに備え、
前記第2取得手段は、前記判断手段により判断されたコンテンツの種類に対応づけられた前記複数の画像処理の優先度に従って順に、前記画像データへの画像処理を試行する、
ことを特徴とする請求項3乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記コンテンツの種類は、文書、写真の少なくともいずれかを含むことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記複数の画像処理それぞれは複数の処理の設定内容のセットとして定められ、前記設定内容のセットに応じて優先度が設けられていることを特徴とする請求項4乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
前記複数の処理は、圧縮、解像度の設定、階調数の設定、の少なくともいずれかの処理を含むことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記複数の処理は、前記記録手段に関する処理を含むことを特徴とする請求項8又は9に記載の情報処理装置。
【請求項11】
前記記録手段に関する処理は、ドットデータへの変換、前記記録装置が記録可能な色数の設定、の少なくともいずれかの処理を含むことを特徴とする請求項10に記載の情報処理装置。
【請求項12】
前記記録装置が所定の機能を有するか否かに基づいて、前記複数の処理を決定する決定手段、をさらに備えることを特徴とする請求項8乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
前記画像データは、ページに対応したデータであることを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
【請求項14】
前記第2取得手段による画像処理の試行および前記画像処理手段による該試行された画像処理の実行は前記ページよりも小さい領域ごとに行われる、
ことを特徴とする請求項13に記載の情報処理装置。
【請求項15】
前記第1取得手段は、前記記録装置にリクエストコマンドを送信し、前記記録装置からレスポンスコマンドを受信することにより、前記第1転送レートを取得することを特徴とする請求項1乃至14のいずれか1項に記載の情報処理装置。
【請求項16】
前記記録装置との通信履歴を記憶する第2記憶手段、をさらに備え、
前記第1取得手段は、前記通信履歴に含まれる転送レートに基づいて、前記第1転送レートを取得する、
ことを特徴とする請求項1乃至14のいずれか1項に記載の情報処理装置。
【請求項17】
前記通信履歴は、前記記録装置での記録ごとの通信履歴であり、該記録における転送レートを含むことを特徴とする請求項16に記載の情報処理装置。
【請求項18】
前記記録手段の情報を取得する第3取得手段、をさらに備え、
前記第1取得手段は、前記第3取得手段により取得された前記記録手段の情報に基づいて、前記要求転送レートを取得する、
ことを特徴とする請求項1乃至15のいずれか1項に記載の情報処理装置。
【請求項19】
前記記録手段の情報は、データ処理解像度、走査速度、走査回数、の少なくともいずれかを含むことを特徴とする請求項18に記載の情報処理装置。
【請求項20】
記録装置と通信可能な情報処理装置において実行される方法であって、
前記記録装置での記録対象の画像データに、該画像データのコンテンツに対応する画像処理を実行する画像処理工程と、
前記画像処理の実行後の画像データを前記記録装置に送信する送信工程と、
前記画像処理工程における画像処理の実行の前に、前記記録装置との間の第1転送レートと、前記記録装置の記録手段の記録動作に要求される要求転送レートとを取得する第1取得工程と、
前記画像データへの画像処理を試行し、該試行後の画像データの情報と前記第1転送レートとに基づいて、該試行後の画像データの前記記録装置への送信および前記記録手段の記録動作に要求される第2転送レートを取得する第2取得工程と、を有し、
前記画像処理工程では、前記第2転送レートが前記要求転送レートの条件を満たす場合、該試行された画像処理を前記画像データに実行し、
前記送信工程では、該画像処理の実行後の画像データを前記記録装置に送信する、
ことを特徴とする方法。
【請求項21】
請求項1乃至19のいずれか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録装置と通信可能な情報処理装置、方法およびプログラムに関する。
【背景技術】
【0002】
ホストデバイスとしてのクラウドサーバに蓄積された印刷用ジョブデータを逐次プリンタに送信して、プリンタ側で印刷するサービスが知られている。そのような構成では、公衆回線を含んだ通信経路になる。そのため、PC、スマートフォンからの印刷と比べて、通信時間の予測がし難く、また、公衆回線を含むことに依る通信速度の揺れや、クラウドサーバが置かれている拠点とプリンタの間の物理的な距離による影響は大きい。
【0003】
このような通信環境で印刷フローを実施すると、プリンタの記録ヘッドの走査に対してホストデバイスからのデータ転送が間に合わない場合には、印刷の停止を招いてしまうことになる。プリンタのメモリに十分なデータが蓄積されると印刷は再開されるものの、記録媒体上へのインク着弾時間差などの影響でムラが発生し、画像劣化を招いてしまう。
【0004】
特許文献1には、データ転送が間に合わないことに依る印刷の停止を回避するための構成が記載されている。特許文献1には、画像データの送信側のホストデバイスと受信側のプリンタの間のデータ転送速度と、プリンタが印刷すべき印刷幅に対応したデータ量に基づく要求データ転送速度とから、解像度を切り替える構成が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開平9-330186号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、解像度の切替えを実施する場合、文字サイズが小さいなど画像データの種類によっては画質の劣化が顕著になってしまう懸念がある。そのため、データ転送が間に合わないことによる印刷の停止をより適切に防ぐ構成が求められる。
【0007】
本発明は、記録装置との間のデータ転送を適切に行うとともに画質の劣化を抑える情報処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る情報処理装置は、記録装置と通信可能な情報処理装置であって、前記記録装置での記録対象の画像データに、該画像データのコンテンツに対応する画像処理を実行する画像処理手段と、前記画像処理の実行後の画像データを前記記録装置に送信する送信手段と、前記画像処理手段による画像処理の実行の前に、前記記録装置との間の第1転送レートと、前記記録装置の記録手段の記録動作に要求される要求転送レートとを取得する第1取得手段と、前記画像データへの画像処理を試行し、該試行後の画像データの情報と前記第1転送レートとに基づいて、該試行後の画像データの前記記録装置への送信および前記記録手段の記録動作に要求される第2転送レートを取得する第2取得手段と、を備え、前記画像処理手段は、前記第2転送レートが前記要求転送レートの条件を満たす場合、該試行された画像処理を前記画像データに実行し、前記送信手段は、該画像処理の実行後の画像データを前記記録装置に送信することを特徴とする。
【発明の効果】
【0009】
本発明によれば、記録装置との間のデータ転送を適切に行うとともに画質の劣化を抑えることができる。
【図面の簡単な説明】
【0010】
図1】ネットワークの構成を示す図である。
図2】プリンタの構成を示すブロック図である。
図3】記録ヘッド周辺の構成を示す図である。
図4】クラウドサーバとプリンタとの間のシーケンスを示す図である。
図5】写真/文書のコンテンツ判断処理を示すフローチャートである。
図6図5の処理により取得されたヒストグラムを示す図である。
図7】画像処理の設定内容を定めるテーブルを示す図である。
図8】優先度テーブルを示す図である。
図9】画像処理を選択する処理を示すフローチャートである。
図10】写真/文書のコンテンツ判断処理を示すフローチャートである。
図11】画像処理の設定内容を定めるテーブルを示す図である。
図12】優先度テーブルを示す図である。
図13】クラウドサーバとプリンタとの間のシーケンスを示す図である。
図14】文書と写真が混在した画像を示す図である。
図15】バンド部分の画像を示す図である。
図16】ブロック単位での処理を説明するための図である。
図17】通信履歴テーブルを示す図である。
図18】画像処理を選択するための処理を示すフローチャートである。
図19】情報処理装置の構成を示す図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
[第1の実施形態]
図1は、本実施形態に適用可能なネットワークの構成の一例を示す図である。画像処理装置として機能するプリンタ101は、ルータ102と有線ケーブルまたは無線を介して接続されている。ルータ102は更にPC103と接続されており、ローカルエリアネットワーク(LAN)を構成している。LANに接続された機器にはそれぞれIPアドレスが割り当てられ、PC103は、プリンタ101と相互に通信可能である。ユーザがインターネットサービスプロバイダ(ISP)と契約することにより、プリンタ101やPC103は、ルータ102を介してインターネットに接続することが可能となる。
【0013】
インターネット104には他のルータが接続されており、プリンタ101やPC103は、インターネット104を介して他のLAN環境に接続された機器と通信することが可能である。例えばルータ105に無線接続されたスマートフォン等の携帯端末106や、他のルータ107に接続されたサーバ108と通信することが可能である。なお、サーバ108は、クラウドサービスを提供するクラウドサーバであっても良く、以下、サーバ108をクラウドサーバ108として説明する。
【0014】
本実施形態では、クラウドサーバ108は、プリンタ101に対して、ルータ107及びインターネット104を介して記録対象の画像データを送信する。しかしながら、その構成に限られず、ルータ105と無線接続された携帯端末106や、同一LAN内のPC103からプリンタ101に対して画像データを送信する場合もある。
【0015】
図2は、プリンタ101の構成の一例を示すブロック図である。プリンタ101は、記録装置201および画像処理装置202を含んで構成されている。ホストデバイスより供給された画像データは、画像処理装置202にて所定の画像処理が施された後、記録装置201に送られ、記録媒体への記録が行われる。ここでホストデバイスとは、例えばクラウドサーバ108を指すが、有線あるいは無線で接続されたPC103、携帯端末106であっても良い。
【0016】
記録装置201において、主制御部203は、記録装置201全体を制御するためのものであり、CPU、ROM、RAMなどによって構成されている。記録バッファ204は、記録ヘッド205に転送する前の画像データを、ラスタデータとして記憶する。記録ヘッド205は、インク滴を吐出可能な複数の記録素子を有するインクジェット記録方式の記録ヘッドであり、記録バッファ204に記憶された画像データに基づいて、各記録素子からインク滴を記録媒体上に吐出する。例えば、シアン、マゼンタ、イエローおよびブラックの4色分の記録素子列が、記録ヘッド205上に構成されているが、色数はその限りでない。例えば上記4色以外にライトシアン、ライトマゼンタ、グレーに対応する記録素子列が構成されても良い。また、特色系インクとしてレッド、グリーン、ブルーインク、蛍光色系インクに対応する記録素子列が構成されても良い。また、色以外の機能を有した銀インク、エンボスインク、クリアインクに対応する記録素子列が構成されても良い。また、記録ヘッド205は、上記4色より少ない色数に対応する記録素子列で構成されても良く、例えばブラック1色に対応する記録素子で構成されても良い。
【0017】
本実施形態では、記録バッファ204に蓄積されるデータ量が、記録ヘッド205の処理するデータ量に対して不足する場合に、記録ヘッド205の動作が停止し、その結果ムラが発生することを防ぐことができる。データ量が不足する理由として、記録バッファ204へデータが蓄積される動作と、記録ヘッド205を走査する動作とが並行して行われる中(並行動作)、前者の動作が後者より遅くなることが挙げられる。記録バッファ204のページスプール用の容量が1ページ分の画像データに満たない場合、1ページ分のデータを蓄積してから記録動作を行うことができないため、上記の並行動作が行われる。つまり、並行動作を行うことで記録バッファ204のページスプール用の容量を少なくすることができ、コストを低減させることができる。また、記録バッファ204のページスプール用の容量が1ページ分以上ある場合でも、複数ユーザからのジョブを受け付ける場合には、同様に容量不足が発生し得るため、並行動作が行われる。また、スループット低下を起こさないという理由で並行動作が行われることがある。このように、並行動作が行われる構成においては、上記のようなデータ量の不足が発生することがある。
【0018】
給排紙モータ制御部206は、記録媒体の搬送や給排紙制御を行い、記録ヘッド205から吐出されるインク滴を記録媒体上の正確な位置に着弾させるよう記録媒体の位置を制御する。給排紙モータ制御部206は、マルチパスなど記録ヘッド205のノズル駆動構成に応じて、モータのスタート・ストップ動作を実施する。
【0019】
記録装置インタフェース(I/F)207は、画像処理装置202との間でデータ信号の送受信を行う。I/F信号線217は、記録装置201と画像処理装置202の間を接続する。I/F信号線217の種類としては、例えばセントロニクス社の仕様のものを適用可能である。データバッファ208は、画像処理装置202から受信した画像データを一時的に記憶する。操作部209は、管理者によるコマンド操作を受け付けるための構成を有する。システムバス210は、記録装置201の各機能ブロックを相互に通信可能に接続する。
【0020】
一方、画像処理装置202において、主制御部211は、クラウドサーバ108から送信された画像データに対し様々な画像処理を行って記録装置201が記録可能な画像データを生成するよう各部を制御する。主制御部211は、CPU、ROM、RAM等を含んで構成されている。画像処理で使用するルックアップテーブルやマトリクスは、記録媒体の種類や印刷モード(高精細モードなど)ごとに主制御部211内のROMに予め記憶されている。画像処理装置インタフェース(I/F)212は、記録装置201との間でデータ信号の送受信を行う。外部接続インタフェース(I/F)216は、I/F信号線218を介して外部に接続されたクラウドサーバ108等のホストデバイスとの間で、画像データなどの送受信を行う。表示部213は、ユーザに対して様々な情報を表示可能であり、例えばLCD(Liquid Crystal Display)により構成される。操作部214は、ユーザからのコマンド操作を受付可能であり、例えばキーボードやマウスにより構成される。システムバス215は、画像処理装置202の各機能ブロックを相互に通信可能に接続する。
【0021】
図3は、記録ヘッド205周辺の構成を説明するためのプリンタ101の側断面図である。色数分のノズルを備えた記録ヘッド205と光学センサ306を搭載したキャリッジ301は、ベルト305を介して伝達されるキャリッジモータの駆動力によって、図中のX方向に往復移動可能に構成されている。キャリッジ301が記録媒体に対し相対的にX方向に移動する中、記録ヘッド205が記録データに基づいて、図中の紙面に対して垂直方向のZ方向にインクを吐出することにより、プラテン304上に配置された記録媒体に1走査分の画像が記録される。1回分の記録走査が終了すると、記録媒体は1走査分の記録幅に対応した距離だけ図のX方向と交差するY方向(搬送方向)に搬送される。このような複数回の記録走査と搬送動作を交互に繰り返すことにより、記録媒体上に徐々に画像が形成される。
【0022】
光学センサ306は、キャリッジ301とともに移動しながら、記録媒体の検出動作を行う。それにより、プラテン304上に記録媒体が存在するか否かの判定が行われる。キャリッジ301の走査領域であってプラテン304から外れた位置には、記録ヘッド205のメンテナンス処理を行うための回復機構が構成されている。
【0023】
記録ヘッド205のインク吐出動作の最中に、キャリッジ301の動作が予期せず停止した場合は、記録媒体上に吐出したインクの着弾時間差によってムラが発生する。ムラは、画像不良の原因となる。キャリッジ301の動作が停止してしまう原因として、記録ヘッド205がX方向に走査してインク吐出する分のデータが、記録バッファ204に格納されていないことが挙げられる。記録バッファ204のデータ量の不足の要因として、画像処理装置202から受信するデータバッファ208におけるデータ量の不足が考えられる。そして、データバッファ208におけるデータ量の不足の要因として、クラウドサーバ108からI/F信号線218を介して送信されるデータの転送速度が、記録ヘッド205の記録動作から要求される速度に対して遅いことが考えられる。本実施形態によれば、クラウドサーバ108からのデータ転送速度の低下を防ぐことで、上記の画像不良の発生を防ぐことができる。
【0024】
図19は、PC103、サーバ108、携帯端末106の構成の一例を示すブロック図である。以下、PC103、サーバ108、携帯端末106を総称して情報処理装置1900として説明する。
【0025】
情報処理装置1900は、入力インタフェース1906、CPU1901、ROM1902、RAM1903、外部記憶装置1904、出力インタフェース1907、表示部1909、操作部1908、通信部1905を有する。CPU1901、ROM1902、RAM1903等によって、プログラムを実行する情報処理装置1900のコンピュータが形成される。
【0026】
入力インタフェース1906は、キーボード等の操作部1908が操作されることにより、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。なお、操作部1908は、物理キーボードや物理ボタン等であっても良いし、表示部1909に表示されるソフトキーボードやソフトボタン等であっても良い。すなわち、入力インタフェース1906は、表示部1909を介してユーザからの入力を受け付けても良い。
【0027】
CPU1901は、システム制御部であり、情報処理装置1900の全体を制御する。ROM1902は、CPU1901が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(以下、OSという)プログラム等の固定データを記憶する。本実施形態では、ROM1902に記憶されている各制御プログラムは、ROM1902に記憶されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
【0028】
RAM1903は、バックアップ電源を必要とするSRAM(Static Random Access Memory)等で構成される。なお、RAM1903は、不図示のデータバックアップ用の1次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに記憶することができる。また、情報処理装置1900の設定情報や情報処理装置1900の管理データ等を格納するメモリエリアもRAM1903に設けられている。また、RAM1903は、CPU1901の主メモリとワークメモリとしても用いられる。
【0029】
外部記憶装置1904は、各種プログラムやアプリケーション、データ等を記憶している。例えば、情報処理装置1900がPC103や携帯端末106である場合、プリンタ101のセットアップのためのプログラムやアプリケーションが記憶されている。また、例えば、情報処理装置1900がサーバ108である場合、PC103や携帯端末106にダウンロード可能なプログラムやアプリケーションが記憶されている。また、外部記憶装置1904は、通信部1905を介して接続している外部の装置との間で送受信する情報送受信制御プログラム等の各種プログラムや、これらのプログラムが使用する各種情報を記憶している。
【0030】
出力インタフェース1907は、表示部1909がデータの表示や情報処理装置1900の状態の通知を行うための制御を行うインタフェースである。表示部1909は、LED(発光ダイオード)やLCDなどから構成され、データの表示や情報処理装置1900の状態の通知を行う。
【0031】
通信部1905は、ルータ等の外部の装置と接続して、データ通信を実行するための構成である。また、通信部1905は、有線通信や無線通信等の複数の通信媒体に対応した構成を有していても良いし、WifiやBluetooth(登録商標)といった複数の通信速度に対応した構成を有していても良い。
【0032】
情報処理装置1900の構成は一例であり、PC103、サーバ108、携帯端末106は、それぞれが実行可能な機能に応じた構成を適宜有する。例えば、外部を撮像するカメラ等を有していても良い。
【0033】
図4は、クラウドサーバ108とプリンタ101との間のシーケンスを示す図である。図4は、ホストデバイスであるクラウドサーバ108とプリンタ101との間がI/F信号線218を介して通信される情報や、その情報に基づくデバイス内部の制御を示している。
【0034】
シーケンス401において、クラウドサーバ108は、プリンタ101にセッションリクエストを送信する。クラウドサーバ108は、記録対象の画像データを送信する際に、どのプリンタに対して画像データを送信するかセッションによって確定する。クラウドサーバ108に対する印刷指示は、ユーザがPC103や携帯端末106から実行可能である。そのため、印刷指示においてユーザが印刷を行うプリンタが指定される。また、ユーザは、プリンタ101の操作部214を操作し、プリンタ101側からクラウドサーバ108へ印刷指示を実行しても良い。シーケンス401においてクラウドサーバ108がプリンタ101にセッションリクエストを送信する時点では、クラウドサーバ108は、送信先のプリンタを認識している。
【0035】
シーケンス402において、プリンタ101は、セッションリクエストを受信し、セッション内容の解釈を行う。シーケンス403において、プリンタ101は、クラウドサーバ108にセッションレスポンスを送信する。クラウドサーバ108は、プリンタ101からのセッションレスポンスによって、記録対象の画像データの送信先を確定する。
【0036】
シーケンス404において、クラウドサーバ108は、通信転送レートを算出する。クラウドサーバ108とプリンタ101の間の通信環境に基づいて、プリンタ101へのデータ転送が行われる通信転送レートが算出される。本実施形態では、クラウドサーバ108がプリンタ101に対してテストコマンドを送信することで、通信転送レータの算出が行われる。ユーザは、携帯端末106、PC103またはプリンタ101を用いて、クラウドサービスの実施においてプリンタ固有情報を指定する。プリンタ固有情報には印刷モードが含まれる他、ユーザ自身による特色指定も可能である。プリンタ101の入力がRGBやCMYK以外に特色用プレーンを受付可能な場合にユーザは明示的に特色濃度を設定することができる。
【0037】
テストコマンドは、クラウドサーバ108とプリンタ101との接続のために送信されるセッションコマンドによって代替されても良い。本実施形態では、シーケンス401~403でのセッションコマンドの送受信の測定結果に基づいて、通信転送レートを類推する。
【0038】
通信転送レートは、リクエストコマンドを送信して、レスポンスコマンドとして返されるまでの時間を用いて、式(1)で算出される。
【0039】
通信転送レート[bit/sec] = (X+Y)×α/T ・・・(1)
ここで、Xは、セッションコマンドの送信データ量であり、Yは、ACKとして返答されるACKコマンドのデータ量である。Tは、セッションコマンドを送信してから、ACKコマンドを受信するまでの経過時間である。αは尤度を表す。尤度αは、通信転送レートの算出結果に対して実際の画像データ転送時の転送レートが変動する可能性のある場合に設定される。例えば通信転送レート算出時には公衆回線に余裕があったが、実際の画像データ転送時には公衆回線が他ユーザの使用状況によって混雑してしまう場合がある。そのような場合には、混雑することを加味した通信転送レートを設定するために尤度αが設定される。また、経過時間Tは、クラウドサーバ108とプリンタ101の双方向通信にかかる時間に対応しているが、アップロードとダウンロードとで通信転送レートが変わる場合がある。そのような場合にも、尤度αによってその変動量を吸収することができる。
【0040】
通信転送レートの算出方法は、上記に限られない。例えば、尤度αはデータ量に乗算しているが加算方式でも良いし、経過時間Tに対する加減乗除を用いても良い。また、経過時間Tにかかる時間から、シーケンス402のコマンド解釈、シーケンス403のレスポンスコマンドの生成・送信時間を減算しても良い。また、セッションコマンドの送信時間をプリンタ101側でタイムスタンプとして取得し、タイムスタンプ情報をクラウドサーバ108にレスポンスするようにしても良い。クラウドサーバ108側ではレスポンスコマンドに含まれるタイムスタンプと、リクエストコマンドの送信時間との差分に基づいて、クラウドサーバ108とプリンタ101の間の通信時間を類推しても良い。
【0041】
シーケンス405において、クラウドサーバ108は、記録ヘッド205の動作を停止させないための要求画素転送レート(要求転送レートともいう)を算出する。なお、本実施形態では、要求画素転送レートをクラウドサーバ108で算出するとして説明するが、そのような構成に限られない。要求画素転送レートの算出処理をプリンタ101側で実施して、その算出結果をクラウドサーバ108に送信するようにしても良い。
【0042】
記録ヘッド205の動作条件は、ユーザが選択した印刷モードによって決定される。要求画素転送レートは、記録ヘッド205のノズル長をプリンタ101のデータ処理解像度に変換した値N、記録ヘッド205の走査速度CR、記録媒体の同一領域に対する記録ヘッド205の走査回数Pの各条件値に基づいて式(2)により算出される。ユーザが選択した印刷モードと対応する上記条件値はクラウドサーバ108が保持しても良いし、プリンタ101が保持していてシーケンス403でクラウドサーバ108に送信しても良い。
【0043】
要求画素転送レート[pixel/sec] = N×CR÷P ・・・(2)
即ち、ノズル長が長い程、また、1走査分の領域の記録完了までの動作速度が早い程、要求画素転送レートは高くなる。また、記録媒体の同一領域に複数回の記録ヘッド走査が発生するようであれば、1回の走査の時と比べて要求画素転送レートは低くなる。なお、要求画素転送レートの算出は、上記に限られない。例えば記録ヘッド205の走査速度が記録媒体の端にいくにつれて速度が遅くなることや、端を超えて回復機構まで移動することなどを加味してより正確な要求画素転送レートを算出するようにしても良い。
【0044】
シーケンス406において、クラウドサーバ108は、記録対象の画像データのコンテンツ解析を実施する。画像データは、プリンタ101で記録が行われるデータであり、本実施形態では、一例として、RGB8bitの1ページ分のビットマップ情報のデータとする。本実施形態では、1ページの画像データに対してヒストグラムを用いて、写真をコンテンツとする写真データであるか、文書をコンテンツとする文書データであるかを判断する。
【0045】
図5は、写真/文書のコンテンツ判断処理を示すフローチャートである。図5の処理は、例えば、クラウドサーバ108のCPU1901がROM1902に記憶されているプログラムを読み出して実行することにより実現される。
【0046】
S501において、クラウドサーバ108のCPU1901は、ループ処理を開始する。変数iは、ループカウンタとして機能し、本ループ処理を実施する際に0で初期化される。IMG_SIZEは画像1ページ分の画素数に相当する。例えば、A4サイズで600dpiのデータであれば、4960画素×7016画素=34799360画素をIMG_SIZEとしてループ処理が行われる。
【0047】
S502において、CPU1901は、カラー画像に対して1ch化を行うことにより、カラー画像のグレー変換を行う。例えば、RGBを入力として輝度情報Yを出力することにより1ch化が行われる。
【0048】
S503において、CPU1901は、i番目のグレー画素についてヒストグラムへのカウントを行う。HIST配列で対応付けられる要素数についてカウントアップすることにより、ヒストグラムへのカウントが行われる。
【0049】
S504において、CPU1901は、ループカウンタiをカウントアップする。そして、IMG_SIZEの数だけ、S502~S504の処理を繰り返す。
【0050】
S501で、画像1ページ分の画素数について処理が終了したと判定された場合、S505において、CPU1901は、グレー画素についてカウントされたヒストグラムの度数情報に基づいて、ページのコンテンツが写真であるか、文書であるかを判断する。写真/文書のコンテンツ判断では、閾値TH_LOW、TH_HIGHが用いられる。例えば、「ヒストグラム上で0~GRAD_LOWに相当する分布の合計度数がTH_LOW未満」且つ「ヒストグラム上でGRAD_HIGH~255に相当する分布の合計度数がTH_HIGH未満」であれば、コンテンツは写真と判断する。そうでない場合は文書と判断する。
【0051】
図6(a)(b)は、図5の処理により取得されたヒストグラムの一例を示す図である。図6(a)は、記録対象の画像データのコンテンツが写真と判断された場合のヒストグラムを示している。一方、図6(b)は、記録対象の画像データのコンテンツが文書と判断された場合のヒストグラムを示している。写真は、画素値が徐々に変化するものであり、ヒストグラムの分布は白側、黒側に張り付かないことが考えられる。そのため、図6(a)のヒストグラムの特徴に基づいて、コンテンツは写真であるとの判断が行われる。一方、文書は、画素値が紙白と純黒(255)に分布することが考えられる。そのため、図6(b)のヒストグラムの特徴に基づいて、コンテンツは文書であるとの判断が行われる。
【0052】
本実施形態では、ページ単位での写真/文書のコンテンツ判断を上記のアルゴリズムで実施すると説明したが、そのような構成に限られない。例えばPDL系のデータであれば画素に対してアプリケーションもしくはOSが設定するオブジェクト情報が付与されている場合があり、そのオブジェクト情報を用いるようにしても良い。オブジェクト情報とは、例えばWindows標準のEMF(Enhanced Мeta File)データに対して付与されている文字情報、線情報、画像情報、グラフィック情報などである。OSやアプリケーションによって異なるファイル構造や仕様を持ち、付与されるオブジェクト情報も多岐である。また、ヒストグラム以外にも隣接画素間のエッジ量を抽出することで、写真/文書のコンテンツ判断を実施しても良い。エッジ量を抽出する場合、例えば、エッジが少ない程、コンテンツは写真であると判断し、エッジが多い程、コンテンツは文書であると判断する。
【0053】
また、写真/文書のコンテンツ判断に限られない。コンテンツ解析の結果、新聞・雑誌・グラフィック・表グラフなどを判断するようにしても良い。また、写真であるという結果に対して、顔検出を実行して人物写真か風景写真かをさらに判断するようにしても良い。また、人物だけでなく、ペットや電車、建物などを判断するようにしても良い。上記のような処理は、例えば、Deep Learningを用いた推論処理により実現されても良い。また、文書であるという結果に対して、縦線が多く含まれる、横線が多く含まれる、最も細い線幅がいくつか、といった情報を判断するようにしても良い。また、文字に対する最小のポイント数を判断するようにしても良い。
【0054】
また、画像データに付与されたオブジェクト情報と、コンテンツ解析の結果とのどちらかを優先的に使用するようにしても良い。画像データに付与されたオブジェクト情報は、画像撮影時の情報やドキュメント作成時の情報が反映されているため、コンテンツ解析の精度よりも高い精度を得られる場合がある。コンテンツ解析の結果で「そのコンテンツであるという確からしさ」を評価し、その評価値に対して閾値を設けることで、コンテンツ解析の結果を用いるか、画像データに付与されたオブジェクト情報を用いるかを動的に決定するようにしても良い。
【0055】
一方で、画像データに付与されたオブジェクト情報は、アプリケーションやOSの都合で仕様変更され得るため、システム内で安定的な精度を求める場合にはコンテンツ解析を優先するようにしても良い。また、画像データに付与されたオブジェクト情報と、コンテンツ解析の結果の両方を用いるようにしても良い。それにより、より細かいコンテンツの判断を行うことができる。例えば、画像データに付与されたオブジェクト情報が「撮影日時:夜」の情報、コンテンツ解析の結果が「風景写真」であった場合に、それらを組み合わせることで「夜景」という判断を行うことができる。
【0056】
シーケンス407において、クラウドサーバ108は、画像データに対して実行される画像処理の選択を行う。
【0057】
図7は、画像処理の設定内容を定めるテーブルの一例を示す図である。図7には、画像データをプリンタ101に送信する際に実施可能な画像処理とその設定内容とが示されている。本実施形態では、「JPEG圧縮設定」、「主走査解像度設定」、「副走査解像度設定」、「階調数設定」の4種類の画像処理について、それぞれ3種類の内容が設定可能である。設定内容の種類は1種類でも2種類でも良いし、3種類以上であっても良い。
【0058】
JPEG圧縮設定1、JPEG圧縮設定2は、圧縮Q値の設定やサンプリング比を設定しており、設定Noによって設定内容が異なる。例えばJPEG圧縮設定1では、Q値=95が設定され、JPEG圧縮設定2では、Q値=90が設定される。Q値は圧縮時の損失程度を決定するものであり、圧縮時に離散コサイン変換をする際の直流・交流成分の係数設定に対してインデックス化しているものである。Q値は値が低いほど圧縮後のファイルサイズが小さくなり、圧縮損失が大きい。なお、Q値というインデックス表現でなく、離散コサイン変換の変換係数を直接指定するものでも良い。
【0059】
JPEG圧縮設定に従って画像データは圧縮され、圧縮された画像データがクラウドサーバ108からプリンタ101へ送信される。圧縮効果が高い程、クラウドサーバ108からプリンタ101への画素転送レートは高くなる。プリンタ101へ送信されたデータは、画像処理装置202に送られる。画像処理主制御部211によって、JPEG圧縮された画像データの復号化が行われる。
【0060】
主走査解像度設定1、主走査解像度設定2は、画像データの主走査方向の解像度を設定しており、設定Noによって設定内容が異なる。例えば、主走査解像度設定1では、解像度=300dpiが設定され、主走査解像度設定2では、解像度=150dpiが設定される。主走査解像度設定に従って画像データは解像度変換され、変換された画像データがクラウドサーバ108からプリンタ101へ送信される。解像度の変換率(縮小変倍率)が高い程、クラウドサーバ108からプリンタ101への画素転送レートは高くなる。プリンタ101へ送信されたデータは、画像処理装置202に送られる。画像処理主制御部211によって、縮小変倍された画像データをプリンタ101のデータ処理解像度へ拡大する処理が行われる。
【0061】
副走査解像度設定1、副走査解像度設定2は、画像データの副走査方向の解像度を設定しており、設定Noによって設定内容が異なる。例えば、副走査解像度設定1では、解像度=300dpiが設定され、副走査解像度設定2では、解像度=150dpiが設定される。設定Noが大きくなるにつれ、画像データは縮小変倍され、変倍された画像データがクラウドサーバ108からプリンタ101へ送信される。解像度の変倍率が高い程、クラウドサーバ108からプリンタ101への画素転送レートは高くなる。プリンタ101へ送信されたデータは、画像処理装置202に送られる。画像処理主制御部211によって、縮小変倍された画像データをプリンタ101のデータ処理解像度へ拡大する処理が行われる。
【0062】
階調数設定1、階調数設定2は、画像データの階調数を設定しており、設定Noによって設定内容が異なる。例えば、階調数設定1では、階調数「128」が設定され、階調数設定2では、階調数「64」が設定される。つまり、設定Noが大きくなるにつれ、画像データの階調数が小さくなる。階調数を256(0~255まで表現可能)から128(0~127まで表現可能)にするのであれば、画素値を1bit左シフトする。同様に、階調数を256から64に落とすのであれば、画素値を2bit左シフトする。階調数設定に従って画像データの階調数が変更される。階調数が変更された画像データがクラウドサーバ108からプリンタ101へ送信される。階調数を小さくする程、クラウドサーバ108からプリンタ101への画素転送レートは高くなる。プリンタ101へ送信されたデータは、画像処理装置202に送られる。画像処理主制御部211は、クラウドサーバ108側で階調数を128に設定していたのであれば、画素値を1bit右シフトする。また、画像処理主制御部211は、クラウドサーバ108側で階調数を64に設定していたのであれば、画素値を2bit右シフトする。
【0063】
また、図7の「デフォルト」には、JPEG圧縮率や、解像度、階調数それぞれのデフォルトの設定内容が設定される。例えばJPEGのQ値=100、解像度=600dpi、階調数=256が設定される。プリンタ101へ送られたデータは画像処理装置202に送られる。画像処理主制御部211によって、JPEG圧縮された画像データの復号化が行われる。
【0064】
図8(a)(b)は、ページ単位の写真/文書のコンテンツ判断結果に対して、画像処理の設定内容のセットが優先順に定められた優先度テーブルの一例を示す図である。画像データのコンテンツが文書と判断された場合、図8(b)のテーブルによれば、デフォルトの次に高い優先度の設定内容のセットにおいて、階調数設定1が適用されている。そして、優先度が下がるにつれて、階調数設定2、階調数設定1と適用する画像処理の設定内容が変更されていく。不図示であるが、さらに主走査解像度設定1と、適用される画像処理の設定内容が変更されていく。最も優先度が低い設定内容のセットにおいて、JPEG圧縮設定2、主走査解像度設定2、副走査解像度設定2、階調数設定2が適用されている。どの優先度の設定内容のセットを用いるかの選択については、図9にて説明する。
【0065】
図8(a)(b)に示されるように、複数の画像処理(JPEG圧縮~階調数設定)それぞれの設定内容のセットに対して優先度が設定されている。言い換えれば、JPEG圧縮~階調数設定の複数の処理それぞれの設定内容を組み合わせたものを1つの画像処理とすれば、複数の画像処理それぞれに対して優先度が設定されているともいえる。
【0066】
図8(a)(b)の画像処理の優先度は、実施した場合の画像品質の劣化度合いが低い設定内容のセットについて高く設定されている。最も優先度が低い設定内容のセットでは、複数の画像処理についてデータサイズ縮小のための設定内容が適用されているため、画像品質の劣化度合いが大きい。
【0067】
本実施形態では、図8(a)(b)に示すように、コンテンツの判断結果である文書と写真のそれぞれについて、画像処理の優先度設定が設定されている。例えば、画像データのコンテンツが写真と判断された場合、図8(a)のテーブルによれば、デフォルトの次に高い優先度の設定内容のセットにおいて、JPEG圧縮設定1が適用されている。
【0068】
なお、写真/文書のコンテンツ判断結果に応じた優先度テーブル設定は、写真と文書に限られない。新聞・雑誌・グラフィック・表グラフなど、他のコンテンツ判断結果に対して優先度テーブルが設定されても良い。例えば、画像データのコンテンツが文書であるという判断結果に対して、縦線が多い、横線が多い、最も細い線幅、といった判断結果に対して優先度テーブルが設定されても良い。その場合、例えば、線に関する情報を使って主走査、副走査の解像度の設定内容の優先度を決定するようにしても良い。
【0069】
図9は、図8の優先度テーブル設定に従って、画像処理を選択する処理を示すフローチャートである。図9の処理は、例えば、クラウドサーバ108のCPU1901がROM1902に記憶されているプログラムを読み出して実行することにより実現される。
【0070】
S901において、クラウドサーバ108のCPU1901は、ループ処理を開始する。変数jはループカウンタとして機能し、本ループ処理を実施する際に0で初期化される。IP_SELECTは図8に示した画像処理の選択できるパターン数に相当する。
【0071】
S902において、CPU1901は、設定レジスタCに、ループカウンタjの値を代入する。設定レジスタCは、予め本ループ処理を実施する際に0で初期化される。
【0072】
S903において、CPU1901は、判断されたコンテンツ情報と対応づけられたテーブルのj番目の優先度の画像処理を試行的に実行する。なお、ここでの画像処理とは、優先度テーブルにおける優先度に対応付けられた複数の処理(JPEG圧縮~階調数設定)の設定内容のセットを意味する。例えばコンテンツの判断結果が文書、優先度j=1であれば、図8(b)の優先度テーブルに従って、主走査解像度=600dpi、副走査解像度=600dpi、階調数=256、JPEGのQ値=100でJPEG圧縮を実行する。
【0073】
S904において、CPUは、式(1)によって算出された通信転送レートおよびS903で画像処理の試行後の画像サイズに基づいて、画素転送レートを算出する。まず、画像処理の試行後の画像サイズをIMG_DATA、通信転送レートをDATA_RATEとした場合、画像を転送するのにかかる時間IMG_TIMEは、式(3)により算出される。
【0074】
IMG_TIME = IMG_DATA/DATA_RATE ・・・(3)
なお、転送時間の算出方法は、これに限られない。例えば、送信パケットには、画像データ以外にヘッダデータや誤り訂正用のパリティデータが含まれる場合がある。その場合、IMG_DATAに、通信に関わるデータ量を付加するようにしても良い。それにより、類推の精度を高めることができる。
【0075】
画素転送レートを算出するにあたって、次に、転送時間IMG_TIMEと、記録ヘッド205におけるデータ処理解像度から算出される画像サイズを算出する。記録ヘッド205におけるデータ処理解像度を用いる目的は、要求画素転送レートと比較するためである。S903で画像処理の実行を試行する前の画像の縦ピクセルをH、横ピクセルをW、解像度をD1、記録ヘッド205におけるデータ処理解像度をD2とする。記録ヘッド205におけるデータ処理解像度から算出される画像サイズは、式(4)により算出される。
【0076】
IMG_PRINT_DATA = H×W×(D2/D1)^2 ・・・(4)
なお、式(4)では、画像の縦方向、横方向を同一解像度で扱っている。
【0077】
画素転送レートは、画像サイズIMG_PRINT_DATAおよび転送時間IMG_TIMEを用いて、式(5)により算出される。
【0078】
画素転送レート[pixel/sec] = IMG_PRINT_DATA/IMG_TIME ・・・(5)
なお、画像サイズIMG_PRINT_DATAは画像1枚分から算出しても良いし、記録ヘッド205のノズル長分の高さに基づいて算出しても良い。また、指定したバンド領域や矩形領域に基づいて算出しても良い。ただし、転送時間IMG_TIMEは、画像サイズIMG_PRINT_DATAが指定する画像領域に対してかかる時間となる必要がある。
【0079】
S905において、CPU1901は、S904で算出された画素転送レートとシーケンス405で算出された要求画素転送レートとを比較する。ここで、画素転送レートが要求画素転送レート以上の場合、S907に進み、要求画素転送レートが画素転送レートより大きい場合、S906に進む。なお、S905の比較を実施するにあたって、記録バッファ204やデータバッファ208へ格納するデータ量を用いるようにしても良い。プリンタ101本体のバッファにデータが蓄積されている限り、記録ヘッド205の吐出時にキャリッジ301が停止することはないので、上記のデータ量を用いることで、キャリッジ301の停止を回避する可能性を高めることができる。
【0080】
S906において、CPU1901は、ループカウンタiをカウントアップする。そして、IP_SELECTの数だけ、S902~S906の処理を繰り返す。
【0081】
一方、S907において、CPU1901は、設定レジスタCの値を参照して、現在着目している画像処理、即ち、設定内容のセットを、実際に画像データに実行する画像処理として選択する。
【0082】
再び、図4を参照する。図4のシーケンス408において、クラウドサーバ108は、図9の処理で選択された画像処理により、バンド毎に画像処理を実施する。シーケンス409において、クラウドサーバ108は、画像処理が実施された後の画像データをプリンタ101へ転送する。シーケンス410において、プリンタ101は、クラウドサーバ108から画像データを受信する。プリンタ101は、外部接続I/F218を介して画像データを受信する。主制御部211は、データが圧縮されていれば解凍処理を行う。主制御部211は、解凍したデータをプリンタ101が搭載するインクに対応したカラープレーンに変換する。そして、主制御部211は、カラープレーンを、記録ヘッド205が吐出するためのドットデータに変換する。ドットデータは記録バッファ204に格納され、記録ヘッド205の走査動作に合わせて、記録バッファ204の内容が読み出され、記録媒体への記録が実行される。
【0083】
以上のように、本実施形態によれば、プリンタ101側の要求画素転送レート以上の画素転送レートとなるように、クラウドサーバ108側で画像処理を選択して実行することができる。また、サイズ圧縮のための画像処理を実施することによる画質の劣化に関しては、コンテンツの判断結果に対応した画像処理の優先度情報を予め保持することによって、サイズ圧縮のための画像処理を実施することによる画像の劣化度合いを抑えることができる。
【0084】
[第2実施形態]
以下、第2実施形態について、第1実施形態と異なる点について説明する。第1実施形態では、図9の処理により選択された画像処理を実行し、その実行後の画像データをクラウドサーバ108からプリンタ101へ送信することを説明した。そして、プリンタ101側では、主制御部211でデータの解凍、カラープレーン変換、ドットデータ変換が実施される。
【0085】
ここで、クラウドサーバ108でドットデータを生成してからプリンタ101へ送信することも可能である。ドットデータはドットを「吐出する」「吐出しない」の2値情報から、「何発吐出する」という多値情報までを扱うことができる。一方、ドットデータは、プリンタ非依存のRGB多値データ情報より少ないデータ量となることが多いため、通信効率が向上する。一方で、ドットデータに可逆圧縮を実施した場合に吐出量や吐出位置が崩れて画像不良の要因となってしまう可能性がある。本実施形態では、クラウドサーバ108上でドットデータへの変換を実施することも含めて、画像処理を適切に選択することができる。
【0086】
図10は、本実施形態における写真/文書のコンテンツ判断処理を示すフローチャートである。図5の処理は、例えば、クラウドサーバ108のCPU1901がROM1902に記憶されているプログラムを読み出して実行することにより実現される。
【0087】
S1001~S1005は、図5のS501~S505における説明と同じであるのでそれらの説明を省略する。S1006において、CPU1901は、S1005でのコンテンツ判断処理の結果、コンテンツは写真であるか否かを判定する。ここで、コンテンツは「写真」であると判断された場合、S1007に進む。一方、コンテンツは写真でない、例えば文書であると判断された場合、図10の処理を終了する。
【0088】
S1007において、CPU1901は、コンテンツはさらに、人物写真であるか、もしくは風景写真であるかを判断する。S1007での判断は、顔検出を用いられる。即ち、画像上で顔が検出された場合は人物写真と判断し、そうでない場合は風景写真と判断する。その際、判断の精度に応じて、種種の手法が用いられて良い。例えば、検出された顔のサイズがいくつ以上であれば人物写真と判断し、そうでなければ風景写真と判断しても良い。また、顔のサイズに基づいて、検出された顔が主被写体であるか否かを判断するようにしても良い。また、顔のサイズだけでなく、顔の向き、顔の数、顔検出の信頼度に基づいて、人物写真と判断するようにしても良い。また、特定の顔辞書を用いた個人認識を用いるようにしても良い。顔辞書に登録済みの顔が撮影されていれば写真の主被写体はその人物であると判断するようにしても良い。また、個人認識の認識信頼度、顔辞書に登録される頻度を用いるようにしても良い。例えば、顔辞書に頻繁に登録される被写体については、顔検出時の顔サイズに関わらず人物と判定するようにしても良い。
【0089】
図11は、本実施形態における画像処理の設定内容を定めるテーブルの一例を示す図である。図11には、画像データをプリンタ101に送信する際に実施可能な画像処理とその設定内容とが示されている。本実施形態では、「JPEG圧縮設定」、「主走査解像度設定」、「副走査解像度設定」、「階調数設定」、「ドットデータ変換設定」、「色数設定」の6種類の画像処理について、それぞれ4種類の内容が設定可能である。なお、設定内容の種類は4種類に限られず、4種類より少なくとも良いし、多くても良い。
【0090】
ドットデータ変換設定1、ドットデータ変換設定2は、入力RGBデータをドットデータへ変換する際の階調数を設定しており、設定Noによって設定内容が異なる。デフォルトは、出力解像度に対して1画素当たり0~15の4bitデータへ変換する設定内容である。ドットデータ変換設定1は、出力解像度に対して1画素あたり0~7の3bitデータへ変換する設定内容である。ドットデータ変換設定2は、出力解像度に対して1画素あたり0~3の2bitデータへ変換する設定内容である。
【0091】
色数設定1、色数設定2は、入力RGBデータをドットデータへ変換する際の色数を設定しており、設定Noによって設定内容が異なる。デフォルトは、シアン、マゼンタ、イエロー、ブラック、ライトシアン、ライトマゼンタの6色に変換する設定内容である。色数設定1は、シアン、マゼンタ、イエロー、ブラック、ライトシアンの5色に変換する設定内容である。色数設定2は、シアン、マゼンタ、イエロー、ブラックの4色に変換する設定内容である。
【0092】
言い換えれば、図11のテーブルでは、「ドットデータへ変換する前のRGB情報に対する画像処理」と「ドットデータへ変換する際の画像処理」とが併記されている。また、図11では、複数の画像処理間で同時に実施できない組み合わせがある場合に、「非実施」が設定可能である。例えば、ドットデータ変換を実施した後でJPEG圧縮をかけてしまうと、ドットの数、位置が変わり、結果、画像不良が発生し得る。従って、ドットデータ変換を実施するのであれば、JPEG圧縮は「非実施」と設定される。ドットデータ変換や色数設定についても「非実施」を設定可能である。その場合は、ドットデータへの変換処理はプリンタ101本体の主制御部211で実施される。プリンタ101本体でドットデータに変換するときの設定内容は、「デフォルト」の設定内容と同様である。なお、主走査解像度、副走査解像度は、他の全ての画像処理と組み合わせ可能な画像処理であるので、図11では、それらの画像処理については「非実施」の設定は想定されていない。
【0093】
他の画像処理と組み合わせ可能なものと不可能なものに関して、例えば2段階の選択処理を実行するようにしても良い。クラウドサーバ108でRGBデータに対する処理を実施するか、もしくは、ドットデータに変換してからそのドットデータに対する処理を実施するかを選択する一段階目の選択処理を設ける。そして、二段階目として、さらに画像処理を選択するといった構成としても良い。クラウドサーバ108での処理対象をドットデータとするかもしくはRGBデータとするかを選択し、その後、詳細に画像処理を選択する処理の一例を図18で説明する。
【0094】
図18は、クラウドサーバ108での処理対象をドットデータとするかもしくはRGBデータとするかを選択し、その後、詳細に画像処理を選択する処理を示すフローチャートである。図18の処理は、例えば、クラウドサーバ108のCPU1901がROM1902に記憶されているプログラムを読み出して実行することにより実現される。また、図18の処理は、図4のシーケンス407において実行される。
【0095】
S1801において、クラウドサーバ108のCPU1901は、通信先のプリンタ101がドットデータ変換機能を有しているか否かを判定する。プリンタ101のハードウェア機能情報はクラウドサーバ108が保持していても良いし、図4のセッション開始時にセッションレスポンスコマンドでプリンタ101がハードウェア機能情報をクラウドサーバ108に送信するようにしても良い。プリンタ101がドットデータ変換機能を有していると判定された場合はS1802に進み、有していないと判定された場合はS1803に進む。
【0096】
S1802において、CPU1901は、ドットデータに対する画像処理を選択する。本実施形態では、CPU1901は、「ドットデータ変換」、「色数」、「主走査解像度」、「副走査解像度」の中から画像処理を選択する。一方、S1803において、CPU1901は、RGBデータに対する画像処理を選択する。本実施形態では、CPU1901は、「JPEG圧縮」、「主走査解像度設定」、「副走査解像度設定」、「階調数設定」の中から画像処理を選択する。
【0097】
図18では、処理対象をドットデータとしてから画像処理を選択するか、処理対象をRGBデータとしてから画像処理を選択するかをプリンタ101のハードウェア情報に基づいて判定している。しかしながら、そのような構成に限られず、他の判定条件を用いるようにしても良い。例えば、クラウドサーバ108の負荷状態や、クラウドサーバ108およびプリンタ101の画像処理速度などを判定条件としても良い。
【0098】
図12(a)~(c)は、ページ単位のコンテンツ判断結果に対して、画像処理の設定内容のセットが優先順に定められた優先度テーブルの一例を示す図である。図12(a)は、人物写真であるとのコンテンツ判断結果に対応する優先度テーブルを示している。図12(b)は、風景写真であるとのコンテンツ判断結果に対応する優先度テーブルを示している。図12(c)は、文書であるとのコンテンツ判断結果に対応する優先度テーブルを示している。図12(a)~(c)それぞれにおいて、ドットデータへの変換をデフォルト、色数設定をデフォルトで実施する設定内容のセットが最も優先度が高い。それらのセットでは、主走査解像度設定および副走査解像度設定の設定内容はデフォルトであり、言い換えれば、解像度縮小が実施されないということを意味している。即ち、それらのセットでは、JPEG圧縮、解像度の縮小、階調数変更が非実施であるため、画像劣化が発生しない。
【0099】
図12(a)の優先度テーブルにおいて、優先度3や優先度4の設定内容のセットではJPEG圧縮設定1やJPEG圧縮設定2が適用されている。一方で、図12(b)の優先度テーブルにおいて、優先度2の設定内容のセットでは色数設定1が適用され、優先度4の設定内容のセットではJPEG圧縮1が適用されている。これは、人物を主被写体とした写真は、人物の肌色をきれいに見せることが重要である。従って、JPEG圧縮率を維持するよりも淡色のライトマゼンタを残す、言い換えれば、色数を低下させないことの方が重要である(即ち、優先度を高くする)と判断されるためである。一方で、風景写真は人物写真ほど淡色を重視しないと判断し、色数を低下させて画素転送レートを高くすることの方が重要である(即ち、優先度を高くする)と判断されるためである。
【0100】
上記の判断基準は一例であり、コンテンツに応じて適宜定められて良い。即ち、コンテンツの一種として、主要な色成分を抽出し、その情報を用いるようにしても良い。例えば、風景でも夕焼けの写真である場合、赤い空の部分に対してより細かい階調性が望まれる場合がある。また、海の写真である場合、赤成分が少ないことからライトマゼンタは不要と考えられる。このように、人物写真や風景写真だけでなく、画像のシーン情報を判定し、判定されたシーン情報に応じた判断基準により、優先度テーブルを設定するようにしても良い。
【0101】
図12(c)の優先度テーブルにおいて、ドットデータへ変換するbit数を下げる他、色数を減らすことでデータ量を小さくする設定内容のセットが比較的高い優先度として適用されている。これは、上述したように文書は階調性を多少下げても視認性には影響せず、また、文書でグラデーションを形成する用途も少ないことから、淡色系インクを減らしても画像品質への影響は低いと判断されるためである。
【0102】
図12(a)~(c)の優先度テーブルにおいて、画質だけでなくクラウドサーバ108の処理負荷を考慮するようにしても良い。例えば、ドットデータ変換のような負荷の高い処理を含む設定内容のセットの優先度を下げるようにしても良い。また、クラウドサーバ108でのリアルタイムでの処理負荷に合わせて優先度を動的に変更するようにしても良い。例えば、クラウドサーバ108が複数のジョブを処理している場合はRGBデータを処理対象として画像処理を選択することを優先し、そうでない場合はドットデータを処理対象として画像処理を選択することを優先するようにしても良い。そのような構成により、クラウドサーバ108の処理負荷の増大に伴い、シーケンス409のバンド毎送信間隔が遅くなってしまうことにより、プリンタ101の記録ヘッド205の動作が停止する可能性を低減させることができる。また、プリンタ101が主制御部211で、ドットデータ変換機能をハードウェア回路として持っているか否かに応じて、クラウドサーバ108側での上記の優先度を変更するようにしても良い。
【0103】
以上のように本実施形態によれば、画像処理にドットデータ変換、色数設定を含めることでプリンタ101でドットデータ変換機能がない場合であっても、クラウドサーバ108で当該機能に対応する画像処理を行い、画素転送レートを向上させることができる。また、クラウドサーバ108でドットデータへの変換を行う場合でも、コンテンツの判断結果に基づいて、画像品質の低下を抑えるような画像処理を実行することができる。
【0104】
[第3実施形態]
以下、第1および第2の実施形態と異なる点について第3の実施形態を説明する。第1および第2実施形態ではコンテンツ判断の解析をページ単位で実施するとして説明した。しかしながら、ドキュメントの中には、ページ内に文書と写真が混在しているケースがある。文書と写真が混在しているにも関わらず、ページ内のコンテンツを文書もしくは写真のどちらかであると判断すると、ページ内の文書に対してJPEG圧縮率が高まる、写真に対して階調数が減ってしまうといったことが生じる。本実施形態では、上記のような、ページ内で複数種類のコンテンツが混在しているケースを想定する。
【0105】
また、クラウドサーバ108でページ単位のコンテンツ判断の解析を実施すると、処理時間が大きくなり、プリンタ101で最初の印刷を開始するまでの時間が遅くなってしまうことが想定される。そこで、本実施形態では、画像をバンド毎に分割し、バンド内のブロック単位でコンテンツ判断の解析を実施する。即ち、ブロック毎にコンテンツ判断の解析を実施することで、画像処理を実施しながら処理済みのデータをプリンタ101へ送信することができ、結果、プリンタ101で最初の印刷を開始するまでの時間が遅くなってしまうことを防ぐことができる。
【0106】
図13は、本実施形態における、クラウドサーバ108とプリンタ101との間のシーケンスを示す図である。図13は、ホストデバイスであるクラウドサーバ108とプリンタ101との間がI/F信号線218を介して通信される情報や、その情報に基づくデバイス内部の制御を示している。
【0107】
シーケンス1301~1305は、図4のシーケンス401~405における説明と同じであるので、それらの説明を省略する。
【0108】
シーケンス1306において、クラウドサーバ108は、画像データの画像をバンド毎に区切り、バンド内のブロック毎にコンテンツ判断の解析を実施する。
【0109】
本実施形態では、画像データの画像をバンド単位に分割する。バンド単位に分割することにより、文書と写真が混在したページの状態から、写真の箇所と文書の箇所とを特定可能とする。
【0110】
図14(a)は、文書と写真が混在した画像の一例を示す図である。即ち、画像1401には写真1402が貼り付けられている他、写真のキャプションとして、文書1403が示されている。
【0111】
本実施形態では、コンテンツ判断の解析をバンド毎に実施するために、プリンタ101の記録ヘッド205の走査方向と同一方向にバンドを区切る。図14(b)は、画像1401に対して、縦方向バンド1404で画像を区切った状態を示している。図14(b)の点線が各バンドの境界を示している。図15(a)は、先頭バンド1404を切り出した情報を示している。コンテンツ判断の解析においては、図15(b)のように、先頭バンドを所定のブロックサイズで区切る。図15(b)の太枠が各ブロックの境界を示している。ブロック1405が先頭ブロックとなる。ブロック1407はバンドの終端ブロックを示している。画像領域を超えた超過領域については画素値0で埋めることでブロックサイズを満たすようにし、各ブロックで共通の処理を実施可能とする。なお、超過領域に対して行われる処理は画素値0を埋める処理に限られない。指定画素値で埋めても良いし、領域内画素をミラーリングして画素値を埋めるようにしても良い。
【0112】
ブロック1405は、図5の処理によりコンテンツ判断の解析が行われる。即ち、ブロック単位でコンテンツが写真であるか文書であるかの判断が実施される。従って、本実施形態では、ヒストグラムに対して設定する閾値TH_LOW、TH_HIGHは、ブロック単位の閾値が設定される。ヒストグラム算出のための画素数に対して割合で算出される閾値を用いることで、IMG_SIZEの大きさに関わらず同じ値を用いることができる。図15(b)の場合、コンテンツ判断の解析の結果、ブロック1405は文書と判断され、ブロック1406は写真と判断される。
【0113】
シーケンス1307において、クラウドサーバ108は、バンド内のブロック毎に画像処理を選択する。シーケンス1306の解析結果に基づいて、ブロック1405は、文書に対応する優先テーブルで規定される優先順に従って画像処理が選択される。また、ブロック1406は、写真に対応する優先テーブルで規定される優先順に従って画像処理が選択される。
【0114】
画素転送レートがプリンタ101本体の要求画素転送レート以上であるかの判定はバンド単位で行われる。例えばバンド1404については、ブロック1405、ブロック1406・・・ブロック1407の全てのブロックに対してそれぞれ画像処理が選択される。各ブロックで選択された画像処理を実施し、画像処理結果に対してバンド単位のデータ量合計を算出する。式(3)のIMG_DATAにはバンド単位のデータ量合計を代入し、DATA_RATEにはバンド単位の通信転送レートを設定する。
【0115】
シーケンス1308において、クラウドサーバ108は、バンド内のブロック毎に画像処理を実施する。シーケンス1309において、クラウドサーバ108は、バンドごとに、画像処理が実施された後の画像データをプリンタ101へ転送する。シーケンス1310において、プリンタ101は、クラウドサーバ108から画像データを受信する。プリンタ101は、外部接続I/F218を介して画像データを受信する。
【0116】
プリンタ101は、主制御部211において、各ブロックに応じた処理を行う。例えば、主制御部211は、ブロックについてクラウドサーバ108でJPEG圧縮が行われていれば、その解凍処理を行う。また、例えば、主制御部211は、ブロックについてクラウドサーバ108で解像度縮小処理が行われていれば、解像度拡大処理を行う。
【0117】
本実施形態により、文書と写真が混在するようなページに対してもブロック領域ごとに画像処理を選択するため、画像の劣化度合いを抑えることができる。また、バンド単位で画像処理の選択を実行していくことで、プリンタ101側の印刷処理と並行してクラウドサーバ108側で画像処理を実行することができる。
【0118】
また、プリンタ101の印刷動作開始よりも前に、所定のバンド数が画像処理済みとなるようにしても良い。そのような構成により、何らかの要因によりクラウドサーバ108側の画像処理の負荷によってデータ送信が滞り、記録ヘッド205の動作が停止してしまうことを防ぐことができる。
【0119】
ブロック1406のように、ブロックの中に僅かに文書が含まれている場合、ブロック1406の写真判定に対して僅かに誤検出が生じることが考えられる。例えば、ブロック1405とブロック1406に跨る「あいう」という文字について、一部が文書、一部が写真と判断された場合、文字情報の中で異なる画像処理が選択されて実行され、画像劣化が顕著になってしまう可能性がある。そのようなことを防ぐために、ブロック走査を重畳させるようにしても良い。
【0120】
具体的には、例えば、図16(a)に示すように、ブロック1405に重畳するようにブロック1408のコンテンツ判断の解析を行う。そして、ブロック1408に重畳するようにブロック1409のコンテンツ判断の解析を行う。つまり、シーケンス1307、シーケンス1308の処理を、前段ブロックとの重畳領域を除いた部分に対して実行する。例えば、図16(a)のようにブロックを重畳させた場合は、ブロック1405の解析結果を反映した画像処理領域は図16(b)のブロック1410となる。同様に、ブロック1408の解析結果を反映した画像処理領域はブロック1411となり、ブロック1409の解析結果を反映した画像処理領域はブロック1412となる。
【0121】
上記のようなブロックを重畳させる処理の実行可否は、コンテンツの判定精度と画像処理効率とに基づいて、選択可能とされても良い。例えば、印刷モードやジョブ毎に動的に設定するようにしても良い。
【0122】
[第4実施形態]
以下、第1~第3の実施形態と異なる点について第4の実施形態を説明する。第1~第3の実施形態では、図4のシーケンス401~403のセッションコマンドを基に、シーケンス404において通信転送レートを算出するとして説明した。ここで、セッションリクエストとセッションレスポンスを用いた構成は、通信転送レートを類推するための構成の一例である。
【0123】
セッションを実施するタイミングと、画像データをプリンタ101へ送るタイミングとの間のタイムラグによっては、類推した通信時間が変動する可能性がある。例えば、公衆回線がビジーに使用される時間帯は、類推した通信時間よりも画像データ送信にかかる時間が長くなる可能性がある。また、通信帯域がビジーであるか否かの他に、天候の影響を受けることが考えられる。無線基地局との間の通信では雨や湿度変化に対して影響を受けることが考えられる。また、有線環境であっても、通信ケーブルに雨が当たり、ケーブルが揺れる事で伝達ロスが発生することが考えられる。伝達ロスの場合は、再送要求の発生により、通信時間は通常より長くなる可能性がある。また、自宅や職場内のLAN環境で同一LAN内の他機器がビジーに使われていれば、無線環境で干渉が多くなることが考えられる。その場合、尤度αだけで変動量を吸収できない可能性がある。そこで、本実施形態では、通信転送レートの類推において、クラウドサーバ108で蓄積された、印刷時の通信履歴情報を用いる。
【0124】
図17は、クラウドサーバ108で蓄積された印刷時の通信履歴テーブルの一例を示す図である。シーケンス404において、クラウドサーバ108は、通信履歴テーブルを用いて通信転送レートを類推する。
【0125】
図17の印刷時の通信履歴テーブルは、印刷実行時の通信時間帯の状況を示している。履歴No1を例に説明する。履歴No1は、クラウドサーバ108が地域Aに設置されたプリンタと、12:00から14:00の時間帯において通信を実行した旨の履歴を示している。図17に示すように、その時の天候が雨であった情報や、湿度が高いとの情報も記録されている。そして、実測値となる通信転送レート[bit/sec]が記録されている。通信履歴は、図17の通信履歴テーブルに連続して記録される。
【0126】
図17では、通信時時間帯を2時間単位として通信履歴が取得されているが、このような例に限られず、より細かい時間間隔で取得されても良い。地域範囲も、より広く設定しても良いし、より狭く設定しても良い。また天候、湿度以外に、プリンタ周囲の電気機器使用状況が記録されても良い。
【0127】
また、通信時のルーティング・ホップ数を取得しても良い。例えば、履歴No1において、クラウドサーバ108から地域Aのプリンタまでのルーティングを取得する。それにより、クラウドサーバ108が該サーバと接続されたルータまでに使用される回線、該ルータからプリンタ101が接続されたルータ102までに使用される回線とホップ数、ルータ102からプリンタ101までに使用される回線を記録することができる。こうした取得情報により、通信転送レートを類推する上で、レート算出確度を高めることができる。また、通信履歴として、印刷時に記録ヘッドの動作が止まらなかったかどうか、という実績結果を記録しても良い。記録ヘッドの動作の実績結果は、プリンタ101がその情報を取得してクラウドサーバ108へ送信することで、通信履歴として記録される。
【0128】
クラウドサーバ108のCPU1901は、通信転送レートを算出する際には、図17の通信履歴テーブルを参照し、これから実施する印刷と類似した状況の通信履歴を取得する。例えば印刷を実施する際に、プリンタ101が地域「C」に設置されており、天候が「曇」、湿度が「中」、通信時時間が「11:00」であった場合、図17の通信履歴テーブルでは、履歴No3が類似している。そのため、クラウドサーバ108のCPU1901は、通信履歴テーブルを参照して、通信転送レート[bit/sec]が200[bit/sec]であると類推する。その際に、第1実施形態と同様に、尤度αを用いて、類推結果からの変動量を吸収するようにしても良い。
【0129】
通信履歴テーブルを参照しても、印刷状況と完全に合致する通信履歴が無い場合がある。この場合、最も近い内容を有する通信履歴を参照することになる。例えば、通信履歴テーブルの各列の項目の優先度を設定しておくようにしても良い。例えば印刷を実施する際に、プリンタが地域「B」に設置されており、天候が「晴」、湿度が「高」、通信時時間が「14:00」であったとする。その場合、環境は履歴No2、履歴No4と類似している。一方、テーブルの各列の項目に対する優先度を「地域」、「通信時時間」、「天候」、「湿度」の順に高く設定しておく。すると、湿度より天候を優先して履歴No2に類似していると判断される。
【0130】
また、印刷状況と完全に合致する通信履歴が複数ある場合がある。この場合、複数の通信履歴に基づき通信転送レートを平均値で求めても良いし、下限値で求めても良い。例えば印刷を実施する際に、プリンタが地域「D」に設置されており、天候が「雨」、湿度が「高」、通信時時間が「12:00」であったとする。環境は履歴No8、履歴No10と類似している。その場合、通信転送レートを、両履歴の通信転送レートの平均値である55[bit/sec]としても良いし、下限値である50[bit/sec]としても良い。また、下限値を採用しても良く、その場合、記録ヘッド205の動作が停止しないためのより安全な通信転送レートを取得することができる。
【0131】
類似した通信履歴を特定するために、通信履歴テーブルの内容をクラスタリングしても良い。クラスタリングには様々な手法が用いられて良く、例えばk-means法を用いれば、膨大な履歴情報を、設定したクラスタ数に分類することができる。印刷を実施する際の環境がどのクラスタに分類されるかを特定した後、同一クラスタに分類された各履歴の通信転送レートから平均値や下限値等の統計値によって通信転送レートを類推する。
【0132】
以上のように、本実施形態によれば、セッションコマンドを用いた構成の代わりに、通信履歴テーブルから、類似した環境下の通信転送レートの実測値を取得することができる。また、セッションコマンドを用いた構成と併用するようにしても良い。例えば、本実施形態により求められた通信転送レートと、セッションコマンドを用いて算出された通信転送レートの平均値や下限値等の統計値を算出するようにしても良い。そのような構成により、通信転送レートの算出確度を向上させることができる。
【0133】
なお、本実施形態では、クラウドサーバ108が通信履歴テーブルを保持するとして説明したが、そのような構成に限られない。例えば、PC103や携帯端末106が通信履歴テーブルを保持するようにしても良い。また、クラウドサーバ108が通信履歴テーブルを保持していなくても、プリンタ101自身が通信履歴テーブルを保持し、通信履歴情報をクラウドサーバ108へ送信するようにしても良い。クラウドサーバ108は、複数のPC103、携帯端末106からの印刷命令を受け付けることができ、また、複数のプリンタ101に対して画像データの送信を実施することができる。そのため、クラウドサーバ108において、固有のPC101、携帯端末106、プリンタ101に限られることなく、多様で膨大な通信履歴情報を収集することができる。
【0134】
以上の各実施形態では、図3のシリアル型記録ヘッドのインクジェット記録装置を想定しているが、そのような構成に限られない。例えば、記録面幅をカバーするライン型記録ヘッドの構成であっても、インク滴の吐出動作に対してホストデバイスからの通信転送レートが遅い場合には、ライン型記録ヘッドの吐出が完了しないため、印刷の停止や印刷の空白が生じてしまう。そのため、各実施形態の動作を適用することにより、適切な通信転送レートとなるので、印刷の停止や印刷の空白が生じてしまうといったことを防ぐことができる。また、インクジェット記録装置以外の記録装置にも適用でき、例えばレーザープリンタにも適用可能である。レーザープリンタの露光動作に対してホストデバイスからの通信転送レートが遅い場合には、帯電ドラムへの照射が完了しないため、記録媒体に対して印刷の空白が生じてしまう。そのため、各実施形態の動作を適用することにより、適切な通信転送レートとなるので、印刷の空白が生じてしまうといったことを防ぐことができる。
【0135】
各実施形態では、図9のフローチャートを用いて画像処理を決定している。即ち、図9の処理では、優先度の高い順番にループ処理を実行して、実行結果のデータサイズが要求画素転送レートに間に合うかを判断している。しかしながら、画像処理の決定は、そのような処理に限られない。例えば、画像コンテンツの情報から、画像処理を実施しなくとも、画像処理実施後の画素転送レートを類推することが可能である。例えば、類似した画像コンテンツの圧縮結果を参照する。JPEG圧縮1のときに画像サイズが0.5倍、JPEG圧縮2のときに画像サイズが0.3倍になったという情報を履歴として保持しておく。元画像の画像サイズに圧縮後のサイズ比率を乗算すれば、画像処理を実施しなくても画像処理実施後の画素転送レートを類推可能である。こうした画像処理を実行することなくデータサイズを推測することにより、ループ処理の一部もしくは全部をスキップすることができ、クラウドサーバ108側での処理時間を短縮することができる。
【0136】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0137】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0138】
101 プリンタ: 103 PC: 106 携帯端末: 108 サーバ: 1901 CPU: 1902 ROM: 1903 RAM
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19