(57)【要約】【課題】短い処理時間で目標となるデータサイズに画像を圧縮することが可能な画像処理装置、印刷システム、画像処理方法及びプログラムを提供する。【解決手段】画像処理装置２において、予測部２１０は、指定された圧縮パラメータで対象画像が圧縮された場合における対象画像の圧縮後のデータサイズを、予測モデルを用いて予測する。圧縮部２３０は、予測部２１０によって予測されたデータサイズが閾値以下である場合、指定された圧縮パラメータで対象画像を圧縮する。更新部２４０は、圧縮部２３０が対象画像を圧縮することで得られた圧縮画像のデータサイズと、指定された圧縮パラメータと、によって予測モデルを更新する。予測部２１０は、予測したデータサイズが閾値よりも大きい場合、予測したデータサイズが閾値以下になるまで、圧縮パラメータの指定を変えて、データサイズを予測する処理を繰り返す。【選択図】図４
2019062292.tif 000002
【特許請求の範囲】
【請求項１】
指定された圧縮パラメータで対象画像が圧縮された場合における前記対象画像の圧縮後のデータサイズを、予測モデルを用いて予測する予測手段と、
前記予測手段によって予測された前記データサイズが閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮する圧縮手段と、
前記圧縮手段が前記対象画像を圧縮することで得られた圧縮画像のデータサイズと、前記指定された圧縮パラメータと、によって前記予測モデルを更新する更新手段と、
前記予測手段によって予測された前記データサイズが前記閾値よりも大きい場合、前記予測手段によって予測される前記データサイズが前記閾値以下になるまで、前記圧縮パラメータの指定を変えて、前記予測手段に前記データサイズを予測させる処理を繰り返す繰り返し手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
複数の画像のそれぞれが圧縮された際における圧縮の度合いを、当該圧縮に用いられた圧縮パラメータ毎の平均値として記憶する記憶手段、
を更に備え、
前記更新手段は、前記圧縮手段が前記対象画像を圧縮することで得られた前記圧縮画像のデータサイズによって、前記記憶手段に記憶されている、前記指定された圧縮パラメータに対応する前記圧縮の度合いの平均値を更新し、当該更新した平均値に基づいて前記予測モデルを更新する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記予測手段は、前記圧縮手段が前記対象画像を圧縮することで得られた前記圧縮画像のデータサイズと、前記予測モデルを用いて予測した前記データサイズと、の差が許容値よりも大きい場合、前記予測モデルとは異なる第２のモデルを用いて、前記対象画像の圧縮後のデータサイズを予測し、
前記圧縮手段は、前記予測手段によって前記第２のモデルを用いて予測された前記データサイズが閾値以下となる圧縮パラメータで、前記対象画像を圧縮する、
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記予測手段は、
前記圧縮手段が前記対象画像を圧縮することで得られた前記圧縮画像のデータサイズが、前記予測モデルを用いて予測した前記データサイズよりも前記許容値を超えて小さい場合、前記予測モデルよりも圧縮の度合いが大きいことを予測する前記第２のモデルを用いて、前記対象画像の圧縮後のデータサイズを予測し、
前記圧縮手段が前記対象画像を圧縮することで得られた前記圧縮画像のデータサイズが、前記予測モデルを用いて予測した前記データサイズよりも前記許容値を超えて大きい場合、前記予測モデルよりも圧縮の度合いが小さいことを予測する第３のモデルを用いて、前記対象画像の圧縮後のデータサイズを予測する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記対象画像は、印刷媒体に印刷される画像であり、
前記印刷媒体上における前記対象画像が印刷される印刷サイズに応じて、前記閾値を変更する変更手段と、
前記圧縮手段は、前記予測手段によって予測された前記データサイズが、前記変更手段によって変更された前記閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮する、
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記圧縮手段が前記対象画像を圧縮することで得られた圧縮画像を、前記圧縮画像を印刷する印刷装置に送信する送信手段、
を更に備えることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
請求項６に記載の画像処理装置と、前記印刷装置と、を備える印刷システムであって、
前記印刷装置は、
前記画像処理装置から送信された前記圧縮画像を受信する受信手段と、
前記受信手段によって受信された前記圧縮画像を印刷媒体に印刷する印刷手段と、
を備えることを特徴とする印刷システム。
【請求項８】
指定された圧縮パラメータで対象画像が圧縮された場合における前記対象画像の圧縮後のデータサイズを、予測モデルを用いて予測し、
予測した前記データサイズが閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮し、
前記対象画像を圧縮することで得られた圧縮画像のデータサイズと、前記指定された圧縮パラメータと、によって前記予測モデルを更新し、
予測した前記データサイズが前記閾値よりも大きい場合、予測した前記データサイズが前記閾値以下になるまで、前記圧縮パラメータの指定を変えて、前記データサイズを予測する処理を繰り返す、
ことを特徴とする画像処理方法。
【請求項９】
コンピュータを、
指定された圧縮パラメータで対象画像が圧縮された場合における前記対象画像の圧縮後のデータサイズを、予測モデルを用いて予測する予測手段、
前記予測手段によって予測された前記データサイズが閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮する圧縮手段、
前記圧縮手段が前記対象画像を圧縮することで得られた圧縮画像のデータサイズと、前記指定された圧縮パラメータと、によって前記予測モデルを更新する更新手段、
前記予測手段によって予測された前記データサイズが前記閾値よりも大きい場合、前記予測手段によって予測される前記データサイズが前記閾値以下になるまで、前記圧縮パラメータの指定を変えて、前記予測手段に前記データサイズを予測させる処理を繰り返す繰り返し手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、印刷システム、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
画像を圧縮する技術が知られている。例えば特許文献１は、小容量のページメモリを搭載したページプリンタにおける画像圧縮方法を開示している。具体的に説明すると、特許文献１に開示された画像圧縮方法では、予測式を用いて圧縮後の画像データによる画像メモリの使用量を予測し、予測した値が閾値を超えたか否かによって再圧縮の必要性を判定する。このように画像メモリの使用量を予測することにより、圧縮後の画像データが画像メモリに格納できるか否かが前もって判明するため、無駄に圧縮動作を行う必要が無く、また不要に解像度を下げる必要が無い。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２７４３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のように、圧縮後の画像のデータサイズを予測し、予測結果を用いて画像を目標となるデータサイズに圧縮する技術において、圧縮後の画像のデータサイズをより高い精度で予測することで、より短い処理時間で目標となるデータサイズに画像を圧縮したい、との要望がある。
【０００５】
本発明は、以上のような課題を解決するためのものであり、短い処理時間で目標となるデータサイズに画像を圧縮することが可能な画像処理装置、印刷システム、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る画像処理装置は、
指定された圧縮パラメータで対象画像が圧縮された場合における前記対象画像の圧縮後のデータサイズを、予測モデルを用いて予測する予測手段と、
前記予測手段によって予測された前記データサイズが閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮する圧縮手段と、
前記圧縮手段が前記対象画像を圧縮することで得られた圧縮画像のデータサイズと、前記指定された圧縮パラメータと、によって前記予測モデルを更新する更新手段と、
前記予測手段によって予測された前記データサイズが前記閾値よりも大きい場合、前記予測手段によって予測される前記データサイズが前記閾値以下になるまで、前記圧縮パラメータの指定を変えて、前記予測手段に前記データサイズを予測させる処理を繰り返す繰り返し手段と、
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、短い処理時間で目標となるデータサイズに画像を圧縮することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る印刷システムの全体構成を示す図である。
【図２】本発明の実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係る印刷装置のハードウェア構成を示すブロック図である。
【図４】本発明の実施形態に係る印刷システムの機能的な構成を示すブロック図である。
【図５】本発明の実施形態における学習データの例を示す図である。
【図６】本発明の実施形態における予測モデルの例を示す図である。
【図７】本発明の実施形態における標準偏差を考慮した予測モデルの例を示す図である。
【図８】本発明の実施形態に係る印刷システムで実行される処理の流れを示すシーケンス図である。
【図９】本発明の実施形態に係る画像処理装置によって実行される画像圧縮処理の流れを示すフローチャートである。
【図１０】本発明の実施形態に係る画像処理装置によって実行される予測モデル更新処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【００１０】
図１に、本発明の実施の形態に係る印刷システム１の全体構成を示す。図１に示すように、印刷システム１は、画像処理装置２と、印刷装置３と、を備える。画像処理装置２と印刷装置３とは、無線又は有線による通信を介して通信可能に接続されている。
【００１１】
画像処理装置２は、スマートフォン、タブレット端末、パーソナルコンピュータ等であって、ユーザによって操作される端末機器である。図２に示すように、画像処理装置２は、制御部２１と、記憶部２２と、入力部２３と、表示部２４と、通信部２５と、を備える。
【００１２】
制御部２１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を備える。ＣＰＵは、例えばマイクロプロセッサ等であって、様々な処理や演算を実行する中央演算処理部である。制御部２１において、ＣＰＵは、システムバスを介して印刷装置３の各部に接続されており、ＲＯＭに記憶されている制御プログラムを読み出して、ＲＡＭをワークメモリとして用いながら、画像処理装置２全体の動作を制御する。
【００１３】
記憶部２２は、フラッシュメモリ、ハードディスク等の不揮発性メモリである。記憶部２２は、ＯＳ（Operating System）及びアプリケーションプログラムを含む、制御部２１が各種処理を行うために使用するプログラム及びデータを記憶する。また、記憶部２２は、制御部２１が各種処理を行うことにより生成又は取得するデータを記憶する。
【００１４】
入力部２３は、入力キー、ボタン、スイッチ、タッチパッド、タッチパネル等の入力デバイスを備える。入力部２３は、ユーザから入力された操作指示を受け付け、受け付けた操作指示を制御部２１に送信する。
【００１５】
表示部２４は、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の表示デバイスを備える。表示部２４は、図示しない表示駆動回路によって駆動されて、状況に応じた様々な画像を表示する。なお、表示部２４は、入力部２３と重ねて配置され、表示部２４と入力部２３とでいわゆるタッチパネル（タッチスクリーン）を構成してもよい。
【００１６】
通信部２５は、制御部２１の制御のもと、図示しないアンテナを介して外部の機器と通信するためのインタフェースを備える。通信部２５は、例えば、ＵＳＢ（Universal Serial Bus）、Ｗｉ−Ｆｉ（Wireless Fidelity）等の無線ＬＡＮ（Local Area Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等を介して印刷装置３と通信する。また、通信部２５は、有線又は無線による通信を介してインターネット等の広域ネットワークに接続することができる。
【００１７】
図１に戻って、印刷装置３は、一例として、ユーザが手で持って印刷媒体上を滑らすように移動させることで、印刷媒体に印刷対象の画像を印刷することが可能な印刷装置である。このような方式の印刷装置は、手動走査型の印刷装置、ハンディプリンタ又はダイレクトプリンタ等と呼ばれている。
【００１８】
ここで、印刷媒体とは、例えば印刷用紙、ラベル、段ボール等である。印刷媒体の材質は、紙であることに限らず、例えばフィルム状、繊維状等、インクを付着させることができるものであればどのようなものであってもよい。印刷対象の画像は、印刷時に印刷媒体に描画される画像であって、例えば文字、図形、記号、模様、絵又はこれらの組み合わせ等である。印刷対象の画像は、印刷画像、印刷パターン等ともいう。
【００１９】
図３に示すように、印刷装置３は、制御部３１と、記憶部３２と、ユーザインタフェース３３と、電源部３４と、通信部３５と、移動検出部３６と、印刷制御部３７と、印刷ヘッド（印刷部）３８と、を備える。
【００２０】
制御部３１は、ＣＰＵ、ＲＯＭ及びＲＡＭを備える。ＣＰＵは、例えばマイクロプロセッサ等であって、様々な処理や演算を実行する中央演算処理部である。制御部３１において、ＣＰＵは、システムバスを介して印刷装置３の各部に接続されており、ＲＯＭに記憶されている制御プログラムを読み出して、ＲＡＭをワークメモリとして用いながら、印刷装置３全体の動作を制御する。
【００２１】
記憶部３２は、フラッシュメモリ、ハードディスク等の不揮発性メモリである。記憶部３２は、制御部３１が各種処理を行うために使用するプログラム及びデータを記憶する。例えば、記憶部３２は、文字、記号及び絵文字等のような表示用及び印刷用のデータ、及び、印刷における各種の設定を定めたテーブルを格納している。また、記憶部３２は、制御部３１が各種処理を行うことにより生成又は取得するデータを記憶する。
【００２２】
ユーザインタフェース３３は、例えば入力キー、ボタン、スイッチ、タッチパッド、タッチパネル等のような入力受付部と、液晶パネル、ＬＥＤ（Light Emitting Diode）等の表示部と、を備える。ユーザインタフェース３３は、入力受付部を介してユーザから各種の操作指示を受け付け、受け付けた操作指示を制御部３１に送信する。また、ユーザインタフェース３３は、各種の情報を制御部３１から取得して、取得した情報を示す画像を表示部に表示する。
【００２３】
電源部３４は、バッテリ及び電圧検出器を備え、印刷装置３の動作に必要な電源を作り出して各部に供給する。
【００２４】
通信部３５は、印刷装置３が画像処理装置２と通信するためのインタフェースを備える。通信部３５は、例えば、ＵＳＢ、Ｗｉ−Ｆｉ等の無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等を介して画像処理装置２と通信する。通信部３５は、制御部３１の制御の下、このような有線又は無線による通信を介して、画像処理装置２から印刷データを含む各種データを取得する。
【００２５】
移動検出部３６は、印刷装置３の下部に設けられており、印刷装置３が印刷媒体上を移動した際の印刷装置３の移動を検出する光学センサを備える。具体的に説明すると、移動検出部３６は、ＬＥＤから発せられた光を光学センサによって読み取り、読み取った光の変化に基づいて印刷装置３の移動量と移動の向きとを検出する。
【００２６】
印刷制御部３７は、印刷時における印刷ヘッド３８からのインクの吐出を制御する。具体的に説明すると、印刷制御部３７は、移動検出部３６によって印刷装置３の移動が検出されると、検出された移動に合わせて、ＲＡＭに格納されている印刷データの内容を印刷ヘッド３８に出力する。そして、印刷制御部３７は、内部に設けられたドライバＩＣ（Integrated Circuit）によって印刷ヘッド３８の通電ドットを制御し、印刷ヘッド３８からインクを吐出させる。これにより、印刷が実行される。
【００２７】
印刷ヘッド（印刷部）３８は、印刷媒体に印刷を実行する印刷機構である。印刷ヘッド３８は、インクタンクに充填されたインクを微滴化し、印刷媒体に対して直接に吹き付けるインクジェット方式で、印刷対象の画像を印刷媒体に印刷する。具体的に説明すると、印刷ヘッド３８には、複数のノズルが主走査方向及び副走査方向に沿って配列されている。複数のノズル内のインクは、ヒータによって加熱されることで気泡を生じ、生じた気泡によって、複数のノズルのそれぞれから印刷媒体へ向けて（鉛直下向きに）インクが吐出される。このような原理によって、印刷ヘッド３８は、印刷媒体に印刷対象の画像を印刷する。印刷ヘッド３８は、印刷制御部３７による制御のもと、印刷媒体上における印刷装置３の移動に合わせて、印刷媒体に印刷対象の画像を印刷する印刷手段として機能する。
【００２８】
次に、図４を参照して、印刷システム１の機能的な構成について説明する。図４に示すように、画像処理装置２は、機能的に、予測部２１０と、判定部２２０と、圧縮部２３０と、更新部２４０と、送信部２５０と、学習データ記憶部２９０と、を備える。制御部２１において、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに読み出して実行することにより、予測部２１０、判定部２２０、圧縮部２３０、更新部２４０及び送信部２５０の各部として機能する。また、学習データ記憶部２９０は、記憶部２２の適宜の記憶領域に構築されている。
【００２９】
予測部２１０は、指定された圧縮パラメータで対象画像が圧縮された場合における対象画像の圧縮後のデータサイズを予測する。対象画像とは、具体的には、印刷装置３での印刷対象となる画像である。印刷対象となる画像データのサイズは大きくなり易いため、画像処理装置２から印刷装置３に印刷対象となる画像データをそのまま転送すると、転送速度が低下すると共に、印刷装置３でメモリが不足するという問題が生じ易い。特に、印刷装置３がハンディプリンタである場合のように、印刷装置３に搭載されているメモリの容量が比較的小さい場合には、印刷装置３におけるメモリ不足の問題は顕著になる。このような問題を回避するため、画像処理装置２は、対象画像を印刷装置３に送信する前に、対象画像を圧縮してデータサイズを落とす。
【００３０】
但し、対象画像を必要以上に圧縮すると、圧縮後の画像の品質（画質）が低下する。そこで、予測部２１０は、対象画像の圧縮後のデータサイズが必要最低限のデータサイズであるか否かを、実際に対象画像を圧縮する前に知ることができるように、対象画像の圧縮後のデータサイズを予測する。これにより、実際に対象画像を圧縮する回数をなるべく少なく抑えた上で、すなわち短い処理時間で、対象画像を必要最低限の圧縮率で圧縮することができるようにする。予測部２１０は、制御部２１が記憶部２２と協働することによって実現される。予測部２１０は、予測手段として機能する。
【００３１】
ここで、圧縮パラメータは、画像を圧縮する際の圧縮の条件を示すパラメータである。具体的には、圧縮パラメータとして、圧縮後の画像の品質（画質）を示す指標である画質値Ｑが用いられる。画質値Ｑは、その値が大きいほど圧縮後の画質が高い、すなわち圧縮後の画像のデータサイズが大きいことを示しており、その値が小さいほど圧縮後の画質が低い、すなわち圧縮後の画像のデータサイズが小さいことを示している。このように、画質値Ｑは、圧縮の度合い（圧縮レベル）を示すパラメータである。
【００３２】
画質値Ｑと、その画質値Ｑで実際に画像が圧縮された場合におけるデータサイズと、の関係は、例えばその画像に文字が多く含まれるか、或いは写真が多く含まれるか、等の画像の特徴によって異なる。言い換えると、同じデータサイズの２つの画像を同じ画質値Ｑで圧縮した場合であっても、その２つの画像の特徴が異なる場合であれば、その２つの画像の圧縮後のデータサイズは、必ずしも同じにはならない。そのため、予測部２１０は、指定された画質値Ｑで対象画像が圧縮された場合におけるデータサイズを予測するために、予め用意された予測モデルを用いる。
【００３３】
予測モデルは、圧縮後の画像のデータサイズを予測するためのモデルであって、画質値Ｑと、その画質値Ｑで画像が圧縮された場合における圧縮の度合いと、の関係を定めている。予測モデルは、学習データ記憶部２９０に記憶される学習データ２９１に基づいて生成される。学習データ２９１は、過去に複数の画像を様々な画質値Ｑで圧縮した際に得られたデータであって、複数の画像のそれぞれが圧縮された際における圧縮の度合いを、その圧縮に用いられた画質値Ｑに対応付けて記憶している。学習データ記憶部２９０は、学習データ２９１を記憶する記憶手段として機能する。
【００３４】
図５に、学習データ記憶部２９０に記憶される学習データ２９１の一例を示す。図５に示すように、学習データ２９１は、画質値Ｑと、圧縮度Ｓの平均値と、圧縮度Ｓの標準偏差と、サンプル数と、を対応付けて格納している。ここで、圧縮度Ｓは、圧縮の度合い（圧縮レベル）を示す指標である。具体的に説明すると、圧縮度Ｓは、下記（１）式に示すように、ある画質値Ｑで圧縮した場合における画像のデータサイズの、最高品質で圧縮した場合における画像のデータサイズに対する比率として定義される。
圧縮度Ｓ＝（ある画質値Ｑで圧縮した場合における画像のデータサイズ）／（最高品質で圧縮した場合における画像のデータサイズ）…（１）
【００３５】
なお、上記（１）式において、最高品質で圧縮した場合における画像のデータサイズとは、印刷対象の画像を印刷装置３で印刷するために、必要最低限度で圧縮された画像のデータサイズである。具体的に説明すると、印刷対象の画像を画像処理装置２から印刷装置３に送信して印刷する際、印刷対象の画像は、画像処理装置２に記憶されている状態から印刷装置３で印刷可能な形式に変換される。その際、印刷対象の画像を最高の画質で印刷する場合であっても、そのままのデータサイズの画像として印刷することはできず、最低限度の圧縮が必要になる。学習データ２９１は、圧縮後の画像のデータサイズを、このような最低限度で圧縮された場合における画像のデータサイズに対する比率として格納している。
【００３６】
また、図５に示す学習データ２９１において、サンプル数は、過去に同じ画質値Ｑで圧縮された画像の個数を示している。例えば、図５において画質値Ｑ＝５０のサンプル数は４であるので、学習データ２９１は、サンプルとして４つの画像が画質値Ｑ＝５０で圧縮された際の圧縮度Ｓの平均値及び標準偏差を格納している。このように、学習データ記憶部２９０は、学習データ２９１として、過去に様々な画像が圧縮された際における圧縮度Ｓの平均値及び標準偏差を、画質値Ｑ毎に対応付けて記憶している。
【００３７】
図６に、学習データ２９１に格納された画質値Ｑと圧縮度Ｓとの関係をプロットした例を示す。予測モデルは、このような画質値Ｑと圧縮度Ｓとの関係を、予め定められた予測式で近似することによって得られる。具体的に説明すると、予測部２１０は、予測式として、下記（２）式で定義される３次の多項式Ｆ（ｚ）を用いる。下記（２）式において、ａ，ｂ，ｃ，ｄは係数である。係数ａ，ｂ，ｃ，ｄは、予測式Ｆ（ｚ）が学習データ２９１に格納されている画質値Ｑと圧縮度Ｓの平均値との関係を最も良く近似するように、最小二乗法等の周知の手法によって求められる。
Ｆ（ｚ）＝ａ×ｚ＾３＋ｂ×ｚ＾２＋ｃ×ｚ＋ｄ…（２）
【００３８】
なお、圧縮度Ｓは、学習データ２９１では対応する画質値Ｑ毎の平均値として記憶されているため、予測モデルは、圧縮度Ｓの平均値を用いて生成される。そして、より詳細には、圧縮度Ｓの平均値はそのサンプル数が多いほど信頼性が高くなるため、予測モデルは、画質値Ｑと圧縮度Ｓの平均値との関係を、各画質値Ｑにおけるサンプル数によって重みを付けて予測式Ｆ（ｚ）で近似することにより生成される。予測部２１０は、このような予測式Ｆ（ｚ）を用いて、指定された画質値Ｑに対応する圧縮度Ｓ＝Ｆ（Ｑ）を計算する。これにより、予測部２１０は、指定された画質値Ｑで対象画像が圧縮された場合におけるデータサイズの予測値を得る。
【００３９】
図４に戻って、判定部２２０は、予測部２１０によって予測されたデータサイズが閾値以下であるか否かを判定する。閾値は、圧縮後の画像のデータサイズが、印刷装置３で許容されるデータサイズであるか否かを判定するための境界となる値である。圧縮後の画像のデータサイズが閾値より大きい場合、印刷装置３でメモリ不足が発生し、正常に印刷できない可能性が高くなる。そのため、判定部２２０は、予測部２１０によって予測されたデータサイズを閾値と比較することで、印刷装置３で印刷可能なデータサイズであるか否かを判定する。
【００４０】
閾値は、印刷装置３に搭載された印刷用の画像メモリの容量によって定められる。例えば、閾値は、３００キロバイト等の値であって、予め設定されて記憶部２２に記憶されている。判定部２２０は、制御部２１が記憶部２２と協働することによって実現される。判定部２２０は、判定手段として機能する。
【００４１】
判定部２２０は、予測部２１０によって予測されたデータサイズが閾値より大きいと判定した場合、画質値Ｑの指定を変えて、予測部２１０に再度データサイズを予測させる。具体的に説明すると、予測部２１０によって予測されたデータサイズが閾値より大きい場合には、対象画像の圧縮後のデータサイズを小さくする必要がある。そのため、判定部２２０は、画質値Ｑを既定値下げて、対象画像を圧縮する度合いを高める。そして、予測部２１０は、変更後の画質値Ｑで対象画像を圧縮した場合における対象画像の圧縮後のデータサイズを、予測モデルを用いて再度予測する。判定部２２０は、予測部２１０によって再度予測されたデータサイズが閾値以下であるか否かを判定する。
【００４２】
このように、判定部２２０は、予測部２１０によって予測されるデータサイズが閾値以下になるまで、画質値Ｑの指定を変えて、すなわち画質値Ｑを徐々に低下させて、予測部２１０にデータサイズを予測させる処理を繰り返す繰り返し手段として機能する。これにより、判定部２２０は、対象画像の圧縮後のデータサイズが閾値以下であって、且つ、最大となる画質値Ｑを探索する。
【００４３】
圧縮部２３０は、予測部２１０によって予測されたデータサイズが閾値以下であると判定部２２０によって判定された場合に、その画質値Ｑで対象画像を圧縮する。具体的に説明すると、圧縮部２３０は、対象画像の圧縮後のデータサイズが閾値以下になると予測された画質値Ｑを圧縮パラメータとして、対象画像を圧縮する。これにより、圧縮部２３０は、対象画像よりもデータサイズが小さい圧縮画像を生成する。
【００４４】
圧縮部２３０は、対象画像を圧縮する手法として、ＪＰＥＧ（Joint Photographic Experts Group）、ＧＩＦ（Graphics Interchange Format）等の周知の手法を用いることができる。圧縮部２３０は、制御部２１が記憶部２２と協働することによって実現される。圧縮部２３０は、圧縮手段として機能する。
【００４５】
更新部２４０は、圧縮部２３０が対象画像を圧縮することで得られた圧縮画像のデータサイズと、指定された画質値Ｑと、によって予測モデルを更新する。第１に、更新部２４０は、学習データ記憶部２９０に記憶されている学習データ２９１を更新する。具体的に説明すると、更新部２４０は、圧縮部２３０が対象画像を圧縮することで得られた圧縮画像のデータサイズと、対象画像を最高画質で圧縮した場合におけるデータサイズと、の比率を計算することで、上記（１）式によって定められる圧縮度Ｓを計算する。
【００４６】
圧縮度Ｓを計算すると、更新部２４０は、計算した圧縮度Ｓによって、学習データ２９１のうちの、圧縮に用いられた画質値Ｑに対応するデータを更新する。具体的に説明すると、更新部２４０は、例えば圧縮部２３０が画質値Ｑ＝５０で対象画像を圧縮した場合、学習データ２９１において画質値Ｑ＝５０に対応付けて記憶されている圧縮度Ｓの平均値及び標準偏差を、計算した新たな圧縮度Ｓによって更新し、更に対応するサンプル数に１を加える。このようにして、更新部２４０は、圧縮部２３０による圧縮処理によって得られたデータを、学習データ２９１にサンプル（標本）として追加する。
【００４７】
このように、更新部２４０は、新たに得られたデータをそのまま学習データ２９１に追加するのでは無く、圧縮度Ｓの平均値、圧縮度Ｓの標準偏差及びサンプル数の各値を書き換えることにより、学習データ２９１を更新する。これにより、学習データ２９１のデータ量を増やさずにサンプルを増加させることができるため、画像処理装置２におけるメモリ使用量を節約することができる。
【００４８】
第２に、更新部２４０は、更新した学習データ２９１によって、予測モデルを更新する。予測モデルは、上述したように（２）式によって定められる予測式Ｆ（ｚ）によって表される。更新部２４０は、新たにデータが追加された学習データ２９１によって予測式Ｆ（ｚ）における係数ａ，ｂ，ｃ，ｄを更新することで、予測モデルを更新する。
【００４９】
具体的に説明すると、更新部２４０は、例えば図６に示したようにプロットされる画質値Ｑと圧縮度Ｓの平均値との関係を予測式Ｆ（ｚ）によって多項式近似する。言い換えると、更新部２４０は、重み付き最小二乗法等の手法を用いて、予測式Ｆ（ｚ）が画質値Ｑと圧縮度Ｓの平均値との関係を最も良く近似するような係数ａ，ｂ，ｃ，ｄを探索する。更新部２４０は、学習データ２９１にサンプルが追加される毎にこのように予測モデルを更新することにより、予測モデルの精度を高める。これにより、今後の印刷時に、より高い精度で対象画像の圧縮後のデータサイズを予測することができるため、より短い処理時間で目標となる閾値以下のデータサイズに対象画像を圧縮することができる。更新部２４０は、制御部２１が記憶部２２と協働することによって実現される。更新部２４０は、更新手段として機能する。
【００５０】
更に、更新部２４０は、画像による圧縮のばらつきを考慮するため、このような画質値Ｑと圧縮度Ｓの平均値との関係に基づく予測モデル（以下、「第１のモデル」と称する。）だけでなく、学習データ２９１に記憶された圧縮度Ｓの標準偏差σを用いて、第２及び第３の予測モデル（以下、それぞれ「第２のモデル」及び「第３のモデル」と称する。）を作成又は更新する。具体的に説明すると、更新部２４０は、第１のモデルにおける「圧縮度Ｓの平均値」を、「圧縮度Ｓの平均値＋標準偏差σ」及び「圧縮度Ｓの平均値−標準偏差σ」に置き換えて、同様の処理を実行する。
【００５１】
より詳細には、更新部２４０は、更新された学習データ２９１に記憶されたデータを参照して、画質値Ｑ毎に、圧縮度Ｓの平均値と標準偏差との和及び差、すなわち「圧縮度Ｓの平均値＋標準偏差σ」及び「圧縮度Ｓの平均値−標準偏差σ」を計算する。そして、更新部２４０は、第２のモデルとして、「画質値Ｑ」と「圧縮度Ｓの平均値＋標準偏差σ」との関係を、上記（２）式で定められる予測式Ｆ（ｚ）によって多項式近似する。これにより、第２のモデルとして、例えば図７に示す第２の予測式Ｆ２（ｚ）が得られる。更に、更新部２４０は、第３のモデルとして、「画質値Ｑ」と「圧縮度Ｓの平均値−標準偏差σ」との関係を、同じく予測式Ｆ（ｚ）によって多項式近似する。これにより、第３のモデルとして、例えば図７に示す第３の予測式Ｆ３（ｚ）が得られる。ここで、第２のモデルは、第１のモデルよりも圧縮の度合いがより大きいことを予測するモデルと言うことができ、第３のモデルは、第１のモデルよりも圧縮の度合いがより小さいことを予測するモデルと言うことができる。
【００５２】
予測部２１０は、特定の条件が満たされた場合、第２又は第３のモデルを用いて、対象画像の圧縮後のデータサイズを予測する。具体的に説明すると、判定部２２０は、圧縮部２３０が対象画像を圧縮すると、圧縮部２３０が対象画像を圧縮することで得られた圧縮画像のデータサイズと、第１のモデルを用いて予測したデータサイズと、の差が許容値よりも大きいか否かを判定する。これにより、判定部２２０は、圧縮部２３０によって実際に圧縮された後の画像データサイズが、予測部２１０によって予測された画像データサイズと大きく離れているか否かを判定する。
【００５３】
具体的に説明すると、圧縮後の画像データサイズが予測された画像データサイズよりも許容値を超えて大きい場合、印刷装置３で印刷可能なデータサイズを超えているおそれが生じる。これに対して、圧縮後の画像データサイズが予測された画像データサイズよりも許容値を超えて小さい場合、対象画像を必要以上に圧縮している可能性が高い。このような状況を抑制するため、判定部２２０は、圧縮後の画像データサイズと予測された画像データサイズとを比較して、予測の精度が許容範囲内であるか否かを判定する。許容値は、予め記憶部２２に記憶されている。
【００５４】
判定部２２０による判定の結果、圧縮部２３０が対象画像を圧縮することで得られた圧縮画像のデータサイズと、第１のモデルを用いて予測した画像データサイズと、の差が許容値よりも大きい場合、予測部２１０は、第１のモデルとは異なる第２又は第３のモデルを用いて、対象画像の圧縮後の画像データサイズを予測する。具体的に説明すると、圧縮後の画像データサイズが予測された画像データサイズよりも許容値を超えて小さい場合、対象画像が予測よりも大きく圧縮されている。そのため、この場合、予測部２１０は、第１のモデルよりも標準偏差σ分だけ圧縮の度合いが大きいことを予測する第２のモデルを用いて、対象画像の圧縮後の画像データサイズを予測する。これに対して、圧縮後の画像データサイズが予測された画像データサイズよりも許容値を超えて大きい場合、対象画像が予測よりもあまり圧縮されていない。そのため、この場合、予測部２１０は、第１のモデルよりも標準偏差σ分だけ圧縮の度合いが小さいことを予測する第３のモデルを用いて、対象画像の圧縮後の画像データサイズを予測する。
【００５５】
判定部２２０は、予測部２１０によって第２又は第３のモデルを用いて予測されたデータサイズが閾値以下であるか否かを判定する。予測部２１０によって予測された画像データサイズが閾値より大きいと判定した場合、判定部２２０は、上記と同様に繰り返し手段として機能する。すなわち、判定部２２０は、予測部２１０によって予測される画像データサイズが閾値以下になるまで、画質値Ｑの指定を変えて、すなわち画質値Ｑを最高画質から既定値ずつ徐々に低下させて、予測部２１０に第２又は第３のモデルを用いて画像データサイズを予測させる処理を繰り返す。これにより、判定部２２０は、対象画像の圧縮後の画像データサイズが閾値以下であって、且つ、最大となる画質値Ｑを探索する。
【００５６】
圧縮部２３０は、予測部２１０によって第２又は第３のモデルを用いて予測された画像データサイズが閾値以下となる画質値Ｑで、対象画像を圧縮する。このときの画質値Ｑは、上記のような判定部２２０による処理によって得られた、対象画像の圧縮後の画像データサイズが閾値以下であって、且つ、最大となる画質値Ｑである。このように、複数の異なる予測モデルを用いることで、より多くの種類の画像をより高い精度で目標となる画像データサイズに圧縮することが可能になる。
【００５７】
図４に戻って、送信部２５０は、圧縮部２３０が対象画像を圧縮することで得られた圧縮画像を、印刷装置３に送信する。具体的に説明すると、送信部２５０は、通信部２５を介して印刷装置３と通信する。そして、送信部２５０は、印刷装置３で印刷可能なデータサイズに圧縮された印刷対象の画像を、印刷指令と共に送信し、印刷装置３に圧縮画像を印刷させる。送信部２５０は、制御部２１が通信部２５と協働することによって実現される。送信部２５０は、送信手段として機能する。
【００５８】
印刷装置３は、図４に示すように、機能的に、受信部３１０と、印刷実行部３２０と、を備える。制御部３１において、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに読み出して実行することにより、これら各部として機能する。
【００５９】
受信部３１０は、画像処理装置２から送信された圧縮画像を受信する。具体的に説明すると、受信部３１０は、通信部３５を介して画像処理装置２と通信する。そして、受信部３１０は、画像処理装置２から圧縮画像及び印刷指令が送信されると、送信された圧縮画像及び印刷指令を受信する。受信部３１０は、制御部３１が通信部３５と協働することによって実現される。受信部３１０は、受信手段として機能する。
【００６０】
印刷実行部３２０は、受信部３１０によって受信された圧縮画像を印刷媒体に印刷する。具体的に説明すると、印刷実行部３２０は、ユーザが印刷装置３を印刷媒体上で移動させることによって移動検出部３６が移動を検出すると、検出された印刷装置３の移動に合わせて印刷ヘッド３８からインクを吐出させ、受信された圧縮画像を印刷媒体に印刷する。このようにして、ユーザは、画像処理装置２において印刷指示した画像を、印刷媒体に印刷することができる。印刷実行部３２０は、制御部３１が印刷制御部３７及び印刷ヘッド（印刷部）３８と協働することによって実現される。印刷実行部３２０は、印刷実行手段として機能する。
【００６１】
以上のように構成される印刷システム１において実行される処理の流れについて、図８、図９及び図１０を参照して、説明する。
【００６２】
図８は、画像処理装置２と印刷装置３との間で実行される処理の流れを示している。図８に示す処理は、ユーザが画像処理装置２の入力部２３を操作して、印刷対象として所望の画像を印刷する指示を入力すると、開始する。
【００６３】
図８に示す処理を開始すると、画像処理装置２において、制御部２１は、ユーザによって入力部２３に入力された印刷指示を受け付ける（ステップＳ１）。そして、制御部２１は、印刷指示された画像を圧縮する（ステップＳ２）。ステップＳ２における画像圧縮処理の詳細については、図９に示すフローチャートを参照して説明する。
【００６４】
図９に示す画像圧縮処理を開始すると、制御部２１は、圧縮部２３０として機能し、印刷指示された画像を最高画質で圧縮する（ステップＳ２１）。具体的に説明すると、制御部２１は、印刷指示された画像を、印刷装置３で印刷可能な最大の画質値Ｑで、すなわち圧縮の度合いを最小にして圧縮する。
【００６５】
印刷指示された画像を最高画質で圧縮すると、制御部２１は、判定部２２０として機能し、圧縮後の画像データサイズが閾値以下であるか否かを判定する（ステップＳ２２）。具体的に説明すると、制御部２１は、圧縮後の画像データサイズが印刷装置３で許容されるデータサイズであるか否かを判定する。これにより、制御部２１は、印刷指示された画像を、印刷装置３において、最高画質の状態で印刷可能であるか否かを判定する。
【００６６】
圧縮後の画像データサイズが閾値以下である場合（ステップＳ２２；ＹＥＳ）、制御部２１は、圧縮した画像を印刷画像として決定する（ステップＳ２３）。言い換えると、制御部２１は、印刷指示された画像を最高画質の状態で印刷可能であると判定した場合、最高画質で圧縮した画像を、印刷装置３に送信して印刷させる画像として決定する。印刷画像を決定すると、制御部２１は、図９に示した画像圧縮処理を終了する。
【００６７】
これに対して、圧縮後の画像データサイズが閾値より大きい場合（ステップＳ２２；ＮＯ）、制御部２１は、画質を１段階下げる（ステップＳ２４）。具体的に説明すると、制御部２１は、印刷指示された画像を最高画質の状態で印刷可能ではないと判定した場合、画質値Ｑを最大値から既定値下げる。
【００６８】
画質を下げると、制御部２１は、予測部２１０として機能し、印刷指示された画像を変更後の画質で圧縮した場合の画像データサイズを、予測モデルを用いて予測する（ステップＳ２５）。そして、制御部２１は、判定部２２０として機能し、予測した画像データサイズが閾値以下であるか否かを判定する（ステップＳ２６）。
【００６９】
具体的に説明すると、制御部２１は、予測モデルとして、上記（２）式で定義される予測式Ｆ（ｚ）を用いて、変更後の画質で印刷指示された画像を圧縮した場合におけるデータサイズを予測する。そして、制御部２１は、予測したデータサイズを閾値と比較することで、変更後の画質で印刷指示された画像を圧縮した場合に得られる圧縮画像が印刷装置３で印刷可能であるか否かを、実際に圧縮する前に予測する。
【００７０】
判定の結果、予測した画像データサイズが閾値より大きい場合（ステップＳ２６；ＮＯ）、制御部２１は、処理をステップＳ２４に戻し、ステップＳ２４からステップＳ２６の処理を再び実行する。具体的に説明すると、制御部２１は、画質を更に１段階下げ、印刷指示された画像を変更後の画質で圧縮した場合の画像データサイズを、予測モデルを用いて予測する。そして、制御部２１は、予測した画像データサイズが閾値以下であるか否かを判定する。このように、制御部２１は、予測した画像データサイズが閾値以下になるまで、ステップＳ２４からステップＳ２６の処理を繰り返す。
【００７１】
最終的に、予測した画像データサイズが閾値以下になると（ステップＳ２６；ＹＥＳ）、制御部２１は、圧縮部２３０として機能し、印刷指示された画像を、最後に設定された画質で圧縮する（ステップＳ２７）。具体的に説明すると、制御部２１は、画像データサイズが閾値以下となる画質を特定すると、特定した画質で印刷指示された画像を実際に圧縮する。
【００７２】
印刷指示された画像を圧縮すると、制御部２１は、判定部２２０として機能し、圧縮後の画像データサイズと予測した画像データサイズとの差が許容値以下であるか否かを判定する（ステップＳ２８）。これにより、制御部２１は、実際に圧縮した画像データサイズが、ステップＳ２５で予測した画像データサイズと大きく離れているか否か、すなわち予測の精度が許容範囲内であるか否かを判定する。
【００７３】
圧縮後の画像データサイズと予測した画像データサイズとの差が許容値以下である場合（ステップＳ２８；ＹＥＳ）、制御部２１は、処理をステップＳ２３に移行し、最終的に圧縮した画像を印刷画像として決定する。言い換えると、制御部２１は、ステップＳ２７で圧縮した画像を、印刷装置３に送信して印刷させる画像として決定する。
【００７４】
これに対して、圧縮後の画像データサイズと予測した画像データサイズとの差が許容値より大きい場合（ステップＳ２８；ＮＯ）、制御部２１は、予測モデルを変更し、画質を初期化して、ステップＳ２４からステップＳ２７の処理を実行する（ステップＳ２９）。
【００７５】
具体的に説明すると、制御部２１は、圧縮後の画像データサイズが予測された画像データサイズよりも許容値を超えて小さいか又は大きいかに応じて、第２のモデルと第３のモデルとのうちのいずれか一方を選択する。そして、制御部２１は、ステップＳ２４からステップＳ２６において、最高画質から画質を１段階ずつ下げながら、選択した予測モデルで対象画像の圧縮後の画像データサイズを予測し、予測した画像データサイズが閾値以下であるか否かを判定する処理を繰り返す。予測した画像データサイズが閾値以下になると、制御部２１は、ステップＳ２７において、そのときの画質で、印刷指示された画像を圧縮する。
【００７６】
このようにステップＳ２９において印刷指示された画像を圧縮すると、制御部２１は、処理をステップＳ２３に移行し、最終的に圧縮した画像を、印刷画像、すなわち印刷装置３に送信して印刷させる画像として決定する。印刷画像を決定すると、制御部２１は、図９に示した画像圧縮処理を終了する。
【００７７】
図８に戻って、印刷データを生成すると、制御部２１は、送信部２５０として機能し、ステップＳ２３において印刷画像として決定された圧縮画像を印刷装置３に送信する（ステップＳ３）。画像処理装置２から圧縮画像が送信されると、印刷装置３において、制御部３１は、受信部３１０として機能し、送信された圧縮画像を受信する。
【００７８】
印刷装置３において、印刷画像を受信すると、制御部３１は、印刷実行部３２０として機能し、印刷を実行する（ステップＳ４）。具体的に説明すると、制御部３１は、移動検出部３６によって検出された印刷装置３の移動に合わせて印刷ヘッド３８からインクを吐出させることで、受信した圧縮画像を印刷媒体に印刷する。これにより、印刷指示された画像は、印刷装置３で印刷可能なデータサイズに圧縮された状態で印刷される。
【００７９】
一方で、画像処理装置２において、制御部２１は、ステップＳ３において印刷データを送信した後、更新部２４０として機能し、予測モデルを更新する（ステップＳ５）。ステップＳ５における予測モデルを更新する処理の詳細については、図１０に示すフローチャートを参照して説明する。
【００８０】
図１０に示す予測モデル更新処理を開始すると、制御部２１は、圧縮後の画像データサイズと対応する画質とにより、学習データ２９１におけるサンプル数、平均値及び標準偏差を更新する（ステップＳ５１）。具体的に説明すると、制御部２１は、圧縮部２３０が対象画像を圧縮することで得られた圧縮画像のデータサイズによって圧縮度Ｓを計算する。そして、制御部２１は、計算した圧縮度Ｓによって、学習データ２９１のうちの、圧縮に用いられた画質値Ｑに対応付けて記憶されている平均値、標準偏差及びサンプル数を更新する。
【００８１】
このようにして学習データ２９１を更新すると、制御部２１は、サンプル数に応じて重みを計算する（ステップＳ５２）。そして、制御部２１は、予測モデルを更新する（ステップＳ５３）。具体的に説明すると、制御部２１は、学習データ２９１に記憶された画質値Ｑと圧縮度Ｓの平均値との関係を、予測式Ｆ（ｚ）によって多項式近似する。そして、制御部２１は、予測式Ｆ（ｚ）が画質値Ｑと圧縮度Ｓの平均値との関係を最も良く近似するように、係数ａ，ｂ，ｃ，ｄの値を更新する。その際、圧縮度Ｓの平均値は、平均値を計算した際のサンプル数が多いほど信頼性が高くなる。そのため、制御部２１は、サンプル数がより多い画質値Ｑほど、多項式近似の重みを大きくする。このようにして、制御部２１は、新たにデータが追加された学習データ２９１によって予測モデルを更新する。
【００８２】
更に、ステップＳ５３において、制御部２１は、更新された圧縮度Ｓの標準偏差に基づいて、第２及び第３のモデルを更新する。具体的に説明すると、制御部２１は、学習データ２９１に記憶された「画質値Ｑ」と「圧縮度Ｓの平均値±標準偏差」との関係を、予測式Ｆ（ｚ）によって多項式近似する。これにより、制御部２１は、第２及び第３の予測式Ｆ２（ｚ）及びＦ３（ｚ）における係数ａ，ｂ，ｃ，ｄの値を更新する。
【００８３】
このように予測モデルを更新すると、制御部２１は、図１０に示した予測モデルを更新する処理を終了する。更新された予測モデルは、次に印刷指示された画像を圧縮する際に利用される。画像処理装置２において予測モデルを更新すると、図８に示す印刷システム１における処理は終了する。
【００８４】
以上説明したように、本実施形態に係る画像処理装置２は、予測モデルを用いて対象画像の圧縮後のデータサイズを予測し、予測したデータサイズが閾値以下である場合に対象画像を圧縮する。そして、本実施形態に係る画像処理装置２は、対象画像を圧縮することで得られた圧縮画像のデータサイズと、圧縮パラメータと、によって予測モデルを更新する。このように、対象画像の圧縮後のデータサイズを予測することで、対象画像を閾値以下のデータサイズに圧縮する必要がある場合において、対象画像を不要に圧縮し過ぎること無く、短い処理時間で対象画像を閾値以下のデータサイズに圧縮することができる。その上で、対象画像を実際に圧縮した際のデータサイズを用いて予測モデルを更新することで、予測の精度を高めることができる。
【００８５】
言い換えると、精度の高い予測モデルを生成するためには大量のデータセットが必要になるが、本実施形態に係る画像処理装置２は、実際に画像を圧縮する毎にデータセットを蓄積して予測モデルの更新を繰り返すため、大量のデータセットを予め用意する必要が無く、予測モデルの精度を高めることができる。また、実際に画像を圧縮した際のデータセットを用いることで、例えばユーザが印刷する画像の特徴に偏りがある場合（文字が多い、写真が多い等）には、そのような画像の圧縮後のデータサイズを高い精度で予測することができるように、予測モデルが特化される。そのため、ユーザの傾向に柔軟に対応しつつ、多様な画像に対応した予測が可能となる。
【００８６】
（変形例）
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【００８７】
例えば、上記実施形態では、判定部２２０において、対象画像の圧縮後のデータサイズが印刷装置３で印刷可能なデータサイズであるか否かを判定するための閾値は、予め設定された固定値であった。しかしながら、本発明において、判定部２２０は、印刷媒体上における対象画像が印刷される印刷サイズに応じて、閾値を変更しても良い。この場合、判定部２２０は、変更手段として機能する。
【００８８】
具体的に説明すると、判定部２２０は、図８に示した処理でのステップＳ１において印刷指示を受け付けた後、ステップＳ２における画像圧縮処理を開始する前に、印刷指示された画像が印刷装置３によって印刷された場合における印刷領域の大きさを特定する。そして、判定部２２０は、特定した印刷領域の大きさに応じて、閾値を変更する。例えば、１５ｃｍの長さの画像を印刷する場合と比べて、同じ画質で５ｃｍの長さの画像を印刷する場合には、印刷装置３に送信される画像のデータサイズは１／３で良いことになる。そのため、判定部２２０は、印刷媒体上における対象画像が印刷される領域がより小さい場合には、閾値をより小さい値に変更する。このように対象画像が印刷される印刷サイズに応じて閾値を変更することにより、どの程度の大きさの対象画像を印刷する場合であっても、おおよそ同じ程度の画質で印刷することが可能になる。
【００８９】
上記実施形態では、印刷装置３は、印刷媒体上での自装置の移動に合わせて印刷対象の画像を印刷する手動走査型の印刷装置であった。しかしながら、本発明において、印刷装置３は、このような手動走査型に限らず、据え置き型のプリンタを含め、どのような方式の印刷装置であっても良い。また、上記実施形態では、印刷装置３は、インクジェット方式の印刷装置であった。しかしながら、本発明において、印刷装置３は、インクジェット方式に限らず、例えば感熱方式又は熱転写方式の印刷装置であってもよい。また、本発明において、画像処理装置２が圧縮する対象となる画像は、印刷対象の画像に限らず、印刷以外の目的で外部の装置に送信する画像であっても良い。
【００９０】
上記実施形態では、学習データ２９１は、画像処理装置２に記憶されていた。しかしながら、本発明において、学習データ２９１は、例えばクラウドサーバ等のような画像処理装置２の外部の装置に備えられており、画像処理装置２が例えば広域ネットワークを介して学習データ２９１にアクセスしても良い。また、対象画像の圧縮後のデータサイズを予測するための予測式は、上記（２）式のように３次多項式であることに限らず、どのような式を用いても良い。
【００９１】
上記実施形態では、制御部２１，３１において、ＣＰＵがＲＯＭに記憶されたプログラムを実行することによって、図４に示した各部として機能した。しかしながら、本発明において、制御部２１，３１は、ＣＰＵの代わりに、例えばＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、各種制御回路等の専用のハードウェアを備え、専用のハードウェアが、図４に示した各部として機能しても良い。この場合、各部の機能それぞれを個別のハードウェアで実現しても良いし、各部の機能をまとめて単一のハードウェアで実現しても良い。また、各部の機能のうち、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現しても良い。
【００９２】
なお、本発明に係る機能を実現するための構成を予め備えた画像処理装置として提供できることはもとより、プログラムの適用により、既存の情報処理装置等を、本発明に係る画像処理装置として機能させることもできる。すなわち、上記実施形態で例示した画像処理装置２による各機能構成を実現させるためのプログラムを、既存の情報処理装置等を制御するＣＰＵ等が実行できるように適用することで、本発明に係る画像処理装置として機能させることができる。また、本発明に係る画像処理方法は、画像処理装置を用いて実施できる。
【００９３】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ、メモリカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板（ＢＢＳ：Bulletin Board System）にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、ＯＳ（Operating System）の制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【００９４】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００９５】
（付記１）
指定された圧縮パラメータで対象画像が圧縮された場合における前記対象画像の圧縮後のデータサイズを、予測モデルを用いて予測する予測手段と、
前記予測手段によって予測された前記データサイズが閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮する圧縮手段と、
前記圧縮手段が前記対象画像を圧縮することで得られた圧縮画像のデータサイズと、前記指定された圧縮パラメータと、によって前記予測モデルを更新する更新手段と、
前記予測手段によって予測された前記データサイズが前記閾値よりも大きい場合、前記予測手段によって予測される前記データサイズが前記閾値以下になるまで、前記圧縮パラメータの指定を変えて、前記予測手段に前記データサイズを予測させる処理を繰り返す繰り返し手段と、
を備えることを特徴とする画像処理装置。
（付記２）
複数の画像のそれぞれが圧縮された際における圧縮の度合いを、当該圧縮に用いられた圧縮パラメータ毎の平均値として記憶する記憶手段、
を更に備え、
前記更新手段は、前記圧縮手段が前記対象画像を圧縮することで得られた前記圧縮画像のデータサイズによって、前記記憶手段に記憶されている、前記指定された圧縮パラメータに対応する前記圧縮の度合いの平均値を更新し、当該更新した平均値に基づいて前記予測モデルを更新する、
ことを特徴とする付記１に記載の画像処理装置。
（付記３）
前記予測手段は、前記圧縮手段が前記対象画像を圧縮することで得られた前記圧縮画像のデータサイズと、前記予測モデルを用いて予測した前記データサイズと、の差が許容値よりも大きい場合、前記予測モデルとは異なる第２のモデルを用いて、前記対象画像の圧縮後のデータサイズを予測し、
前記圧縮手段は、前記予測手段によって前記第２のモデルを用いて予測された前記データサイズが閾値以下となる圧縮パラメータで、前記対象画像を圧縮する、
ことを特徴とする付記１または２に記載の画像処理装置。
（付記４）
前記予測手段は、
前記圧縮手段が前記対象画像を圧縮することで得られた前記圧縮画像のデータサイズが、前記予測モデルを用いて予測した前記データサイズよりも前記許容値を超えて小さい場合、前記予測モデルよりも圧縮の度合いが大きいことを予測する前記第２のモデルを用いて、前記対象画像の圧縮後のデータサイズを予測し、
前記圧縮手段が前記対象画像を圧縮することで得られた前記圧縮画像のデータサイズが、前記予測モデルを用いて予測した前記データサイズよりも前記許容値を超えて大きい場合、前記予測モデルよりも圧縮の度合いが小さいことを予測する第３のモデルを用いて、前記対象画像の圧縮後のデータサイズを予測する、
ことを特徴とする付記３に記載の画像処理装置。
（付記５）
前記対象画像は、印刷媒体に印刷される画像であり、
前記印刷媒体上における前記対象画像が印刷される印刷サイズに応じて、前記閾値を変更する変更手段と、
前記圧縮手段は、前記予測手段によって予測された前記データサイズが、前記変更手段によって変更された前記閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮する、
ことを特徴とする付記１から４のいずれか１つに記載の画像処理装置。
（付記６）
前記圧縮手段が前記対象画像を圧縮することで得られた圧縮画像を、前記圧縮画像を印刷する印刷装置に送信する送信手段、
を更に備えることを特徴とする付記１から５のいずれか１つに記載の画像処理装置。
（付記７）
付記６に記載の画像処理装置と、前記印刷装置と、を備える印刷システムであって、
前記印刷装置は、
前記画像処理装置から送信された前記圧縮画像を受信する受信手段と、
前記受信手段によって受信された前記圧縮画像を印刷媒体に印刷する印刷手段と、
を備えることを特徴とする印刷システム。
（付記８）
指定された圧縮パラメータで対象画像が圧縮された場合における前記対象画像の圧縮後のデータサイズを、予測モデルを用いて予測し、
予測した前記データサイズが閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮し、
前記対象画像を圧縮することで得られた圧縮画像のデータサイズと、前記指定された圧縮パラメータと、によって前記予測モデルを更新し、
予測した前記データサイズが前記閾値よりも大きい場合、予測した前記データサイズが前記閾値以下になるまで、前記圧縮パラメータの指定を変えて、前記データサイズを予測する処理を繰り返す、
ことを特徴とする画像処理方法。
（付記９）
コンピュータを、
指定された圧縮パラメータで対象画像が圧縮された場合における前記対象画像の圧縮後のデータサイズを、予測モデルを用いて予測する予測手段、
前記予測手段によって予測された前記データサイズが閾値以下である場合、前記指定された圧縮パラメータで前記対象画像を圧縮する圧縮手段、
前記圧縮手段が前記対象画像を圧縮することで得られた圧縮画像のデータサイズと、前記指定された圧縮パラメータと、によって前記予測モデルを更新する更新手段、
前記予測手段によって予測された前記データサイズが前記閾値よりも大きい場合、前記予測手段によって予測される前記データサイズが前記閾値以下になるまで、前記圧縮パラメータの指定を変えて、前記予測手段に前記データサイズを予測させる処理を繰り返す繰り返し手段、
として機能させるためのプログラム。
【符号の説明】
【００９６】
１…印刷システム、２…画像処理装置、３…印刷装置、２１，３１…制御部、２２，３２…記憶部、２３…入力部、２４…表示部、２５，３５…通信部、３３…ユーザインタフェース、３４…電源部、３６…移動検出部、３７…印刷制御部、３８…印刷ヘッド（印刷部）、２１０…予測部、２２０…判定部、２３０…圧縮部、２４０…更新部、２５０…送信部、２９０…学習データ記憶部、２９１…学習データ、３１０…受信部、３２０…印刷実行部
【図１】
2019062292.tif 000003
【図２】
2019062292.tif 000004
【図３】
2019062292.tif 000005
【図４】
2019062292.tif 000006
【図５】
2019062292.tif 000007
【図６】
2019062292.tif 000008
【図７】
2019062292.tif 000009
【図８】
2019062292.tif 000010
【図９】
2019062292.tif 000011
【図１０】
2019062292.tif 000012