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

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

▶ セイコーエプソン株式会社の特許一覧

特許7502718情報処理装置、予測方法、プログラム、学習装置
<>
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図1
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図2
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図3
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図4
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図5
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図6
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図7
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図8
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図9
  • 特許-情報処理装置、予測方法、プログラム、学習装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-11
(45)【発行日】2024-06-19
(54)【発明の名称】情報処理装置、予測方法、プログラム、学習装置
(51)【国際特許分類】
   G06T 1/40 20060101AFI20240612BHJP
   G06N 3/02 20060101ALI20240612BHJP
   G06N 20/00 20190101ALI20240612BHJP
【FI】
G06T1/40
G06N3/02
G06N20/00 130
【請求項の数】 18
(21)【出願番号】P 2020137849
(22)【出願日】2020-08-18
(65)【公開番号】P2022034180
(43)【公開日】2022-03-03
【審査請求日】2023-06-08
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000660
【氏名又は名称】Knowledge Partners弁理士法人
(72)【発明者】
【氏名】長谷川 仁
【審査官】渡部 幸和
(56)【参考文献】
【文献】特開2012-236344(JP,A)
【文献】特開2018-157250(JP,A)
【文献】特開2004-185048(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06N 3/00
G06N 20/00
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
画像処理の対象である画像データの属性情報を取得する情報取得部と、
前記属性情報の入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、前記情報取得部により取得された情報から前記画像データに対する前記画像処理に要する期間を予測する予測部と、
を備え
前記属性情報は、前記画像データに含まれるオブジェクトであって特色が設定されている前記オブジェクトの個数、特色が設定されている前記オブジェクトの有無、のうちの少なくとも1つを示す、
情報処理装置。
【請求項2】
前記属性情報は、前記画像データのデータサイズ、前記画像データに含まれる前記オブジェクトの個数、前記オブジェクトの種類、透明効果が設定されている前記オブジェクトの個数、透明効果が設定されている前記オブジェクトの有無、オーバープリントが設定されている前記オブジェクトの個数、オーバープリントが設定されている前記オブジェクトの有無、のうちの少なくとも1つをさらに示す請求項1に記載の情報処理装置。
【請求項3】
前記モデルは、前記属性情報と、前記画像処理に要する期間と、を対応づけた教師データに基づいて機械学習された請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記予測部により前記画像処理に要する期間が予測された前記画像データの前記属性情報と、前記画像データに対する前記画像処理に実際に要した期間と、を対応づけたデータを、前記モデルに対する再度の機械学習に用いられる前記教師データとして記憶部に記憶する記憶制御部を更に備える請求項に記載の情報処理装置。
【請求項5】
画像データに対する画像処理に関する設定情報を取得する情報取得部と、
前記設定情報の入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、前記情報取得部により取得された情報から前記画像データに対する前記画像処理に要する期間を予測する予測部と、
を備え、
前記設定情報は、少なくとも、特色が設定されているオブジェクトについて色の置換を行うか否かの設定を示す、
情報処理装置。
【請求項6】
前記設定情報は、前記画像処理に用いられる画像処理エンジンの種類、前記画像データの拡大・縮小率の設定、カラー設定のうちの少なくとも1つをさらに示す請求項5記載の情報処理装置。
【請求項7】
前記モデルは、前記設定情報と、前記画像処理に要する期間と、を対応づけた教師データに基づいて機械学習された請求項5または請求項6に記載の情報処理装置。
【請求項8】
前記予測部により前記画像処理に要する期間が予測された前記画像データに対して行われた前記画像処理の前記設定情報と、前記画像データに対する前記画像処理に実際に要した期間と、を対応づけたデータを、前記モデルに対する再度の機械学習に用いられる前記教師データとして記憶部に記憶する記憶制御部を更に備える請求項に記載の情報処理装置。
【請求項9】
前記モデルは、前記画像処理を実行する画像処理装置の性能情報の入力をさらに受け付けて前記画像処理に要する期間を出力する請求項1ないし請求項8のいずれか一項に記載の情報処理装置。
【請求項10】
前記性能情報は、メモリーの使用率、利用可能なメモリーの容量、CPU使用率、CPUの性能、記録媒体の性能のうちの少なくとも1つを示す請求項9に記載の情報処理装置。
【請求項11】
前記予測部により複数の前記画像データそれぞれについて予測された期間に基づいて、前記複数の前記画像データそれぞれに前記画像処理を行う複数のジョブそれぞれを、複数の画像処理装置に分配する分配部を更に備える請求項1ないし請求項10のいずれか一項に記載の情報処理装置。
【請求項12】
前記予測部により予測された前記画像データに対する前記画像処理にかかる期間に基づいて、前記画像データに対する前記画像処理における設定の変更であって、前記画像データに対する前記画像処理の高速化に寄与する前記変更を特定し、特定した前記変更の提案の通知、又は、前記変更の適用を行う処理部を更に備える請求項1ないし請求項11のいずれか一項に記載の情報処理装置。
【請求項13】
画像処理の対象である画像データの属性情報を取得し、
前記属性情報の入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、取得した情報から前記画像データに対する前記画像処理に要する期間を予測する予測方法であって、
前記属性情報は、前記画像データに含まれるオブジェクトであって特色が設定されている前記オブジェクトの個数、特色が設定されている前記オブジェクトの有無、のうちの少なくとも1つを示す、
予測方法。
【請求項14】
画像データに対する画像処理に関する設定情報を取得し、
前記設定情報の入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、取得した情報から前記画像データに対する前記画像処理に要する期間を予測する予測方法であって、
前記設定情報は、少なくとも、特色が設定されているオブジェクトについて色の置換を行うか否かの設定を示す、
予測方法。
【請求項15】
コンピューターを、
画像処理の対象である画像データの属性情報を取得する情報取得部、
前記属性情報の入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、前記情報取得部により取得された情報から前記画像データに対する前記画像処理に要する期間を予測する予測部、
として機能させるプログラムであって
前記属性情報は、前記画像データに含まれるオブジェクトであって特色が設定されている前記オブジェクトの個数、特色が設定されている前記オブジェクトの有無、のうちの少なくとも1つを示す、
プログラム。
【請求項16】
コンピューターを、
画像データに対する画像処理に関する設定情報を取得する情報取得部と、
前記設定情報の入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、前記情報取得部により取得された情報から前記画像データに対する前記画像処理に要する期間を予測する予測部と、
として機能させるプログラムであって
前記設定情報は、少なくとも、特色が設定されているオブジェクトについて色の置換を行うか否かの設定を示す、
プログラム。
【請求項17】
画像データの属性情報と、画像処理に要する期間と、を対応づけた教師データを取得する教師データ取得部と、
前記教師データ取得部により取得された前記教師データに基づいて、前記属性情報入力を受け付け、前記画像処理に要する期間を出力するモデルを機械学習する学習部と、
を備え、
前記属性情報は、前記画像データに含まれるオブジェクトであって特色が設定されている前記オブジェクトの個数、特色が設定されている前記オブジェクトの有無、のうちの少なくとも1つを示す、
る学習装置。
【請求項18】
画像データに対する画像処理に関する設定情報と、前記画像処理に要する期間と、を対応づけた教師データを取得する教師データ取得部と、
前記教師データ取得部により取得された前記教師データに基づいて、前記設定情報入力を受け付け、前記画像処理に要する期間を出力するモデルを機械学習する学習部と、
を備え、
前記設定情報は、少なくとも、特色が設定されているオブジェクトについて色の置換を行うか否かの設定を示す、
学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、予測方法、プログラム、学習装置に関する。
【背景技術】
【0002】
画像データから印刷データを生成する処理(例えば、RIP(Raster Image Proceessor)処理等)等の画像処理に要する期間を予測する技術がある。
特許文献1には、印刷データの一部に対して行われたRIP処理の処理時間から全体の処理時間を推定するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-46719号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像データ全体に対して画像処理が行われる場合、画像データの一部に対して行われる画像処理と、画像データのその他の部分に対して行われる画像処理と、は同様の条件下での処理になるとは限らない。そのため、特許文献1のように、画像データの一部に対する画像処理に要した実際の期間から、画像データ全体に対する画像処理に要する期間を推定する技術では、必ずしも精度よく画像処理に要する期間を予測できないという課題があった。
【課題を解決するための手段】
【0005】
上記課題を解決するための情報処理装置は、画像処理の対象である画像データの属性情報と、前記画像データに対する前記画像処理に関する設定情報と、のうちの少なくとも1つを取得する情報取得部と、前記属性情報と前記設定情報とのうちの少なくとも1つの入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、前記情報取得部により取得された情報から前記画像データに対する前記画像処理に要する期間を予測する予測部と、を備える。
上記課題を解決するための予測方法は、画像処理の対象である画像データの属性情報と、前記画像データに対する前記画像処理に関する設定情報と、のうちの少なくとも1つを取得し、前記属性情報と前記設定情報とのうちの少なくとも1つの入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、取得した情報から前記画像データに対する前記画像処理に要する期間を予測する。
上記課題を解決するためのプログラムは、コンピューターを、画像処理の対象である画像データの属性情報と、前記画像データに対する前記画像処理に関する設定情報と、のうちの少なくとも1つを取得する情報取得部と、前記属性情報と前記設定情報とのうちの少なくとも1つの入力を受け付け、前記画像処理に要する期間を出力するモデルに基づいて、前記情報取得部により取得された情報から前記画像データに対する前記画像処理に要する期間を予測する予測部と、として機能させる。
上記課題を解決するための学習装置は、画像データの属性情報と画像処理に関する設定情報とのうちの少なくとも1つと、前記画像処理に要する期間と、を対応づけた教師データを取得する教師データ取得部と、前記教師データ取得部により取得された前記教師データに基づいて、前記属性情報と前記設定情報とのうちの少なくとも1つの入力を受け付け、前記画像処理に要する期間を出力するモデルを機械学習する学習部と、を備える。
【図面の簡単な説明】
【0006】
図1】画像処理システムの構成の一例を示すブロック図である。
図2】RIP処理の一例を示すフローチャートである。
図3】画像データに含まれるオブジェクトを説明する図である。
図4】オブジェクトが重複している状況を説明する図である。
図5】モデルの学習処理の一例を示すフローチャートである。
図6】ニューラルネットワークの構造の一例を説明する図である。
図7】期間予測処理の一例を示すフローチャートである。
図8】期間予測処理の一例を示すフローチャートである。
図9】コンピューターの構成の一例を示す図である。
図10】期間予測処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0007】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)画像処理システムの構成:
(2)機械学習処理:
(3)期間予測処理:
(4)他の実施形態:
【0008】
(1)画像処理システムの構成:
図1は、本実施形態にかかる画像処理システムの構成の一例を示すブロック図である。本実施形態の画像処理システムは、情報処理装置および学習装置を実現するコンピューター1、クライアントPC(パーソナルコンピューター)2、画像処理装置3、プリンター4を備える。本実施形態の画像処理システムは、クライアントPC2からの印刷ジョブを実行するシステムであって、印刷対象の画像データに対して行われる画像処理に要する期間を予測する。本実施形態では、印刷対象の画像データに対して行われる画像処理は、画像データを印刷に用いられるラスターイメージに変換するRIP処理である。また、本実施形態では、印刷対象の画像データは、PDF(Portable Document Format)データである。
【0009】
コンピューター1は、プロセッサー10と、HDD(ハードディスクドライブ)20と、通信インターフェース30とを備える。
通信インターフェース30は、コンピューター1に有線または無線で接続されたクライアントPC2、画像処理装置3等の機器との通信に用いられるインターフェースである。
【0010】
HDD20は、各種プログラム、モデルの機械学習に用いられる教師データ20a、学習対象の訓練モデル20b、訓練モデル20bが機械学習された学習済モデル20c、学習済モデル20cのテストに用いられるテストデータ20d等を記憶する。ここで、訓練とは、学習対象であることを示す。また、モデルとは、予測対象のデータと予測結果のデータとの対応関係を示す式等の情報である。本実施形態では、画像処理の対象である画像データの属性情報と、この画像データに対する画像処理に関する設定情報と、画像処理を実行する画像処理装置の性能情報と、を画像処理に要する期間に対応づけるモデルを例にして説明する。以下では、モデルが入力として受け付ける情報を、モデル入力情報とする。
プロセッサー10は、CPU(Central Processing Unit)、RAM(Random Access Memory)等を備え、HDD20に記録された種々のプログラムを実行することができる。本実施形態においては、これらのプログラムに機械学習プログラム11と期間予測プログラム12とが含まれる。
【0011】
機械学習プログラム11は、画像データに対する画像処理に要する期間の予測に用いられるモデルを学習する機能をプロセッサー10に実行させるプログラムである。
プロセッサー10は、機械学習プログラム11を実行することで、モデルの機械学習に用いられる教師データを取得する教師データ取得部11a、モデルの機械学習を行う学習部11bとして機能する。
【0012】
期間予測プログラム12は、学習部11cの機能により機械学習されたモデルに基づいて、画像データに対する画像処理に要する期間を予測する機能をプロセッサー10に実行させるプログラムである。
プロセッサー10は、期間予測プログラム12が実行することで、モデル入力情報を取得する情報取得部12a、画像処理に要する期間を予測する予測部12bとして機能する。また、プロセッサー10は、更に、モデルの再学習のために教師データの更新を行う記憶制御部12d、予測部12bによる予測結果に応じた処理を行う処理部12cとして機能する。
【0013】
クライアントPC2は、印刷ジョブを指示するユーザーにより用いられ、クライアントPC2の入力装置を介したユーザーの操作に基づいて、画像データの印刷ジョブをコンピューター1に送信する。
【0014】
画像処理装置3は、コンピューター1からの印刷ジョブの実行の指示に応じて、印刷ジョブに含まれる画像データに対してRIP処理を実行しラスターイメージを生成し、生成したラスターイメージをプリンター4に送信する。
画像処理装置3は、プロセッサー40と、HDD50と、通信インターフェース60と、デバイスインターフェース70と、を備える。
通信インターフェース60は、画像処理装置3に有線または無線で接続されたコンピューター1等の機器との通信に用いられるインターフェースである。
【0015】
デバイスインターフェース70は、既定の通信プロトコル(例えばUSB(Universal Serial Bus)規格)に従って通信を行う機器を接続可能なインターフェースである。本実施形態において、デバイスインターフェース70には、プリンター4が接続されている。
HDD50は、各種プログラム等を記憶する。
プロセッサー40は、CPU、RAM等を備え、HDD50に記録された種々のプログラムを実行することができる。プロセッサー40は、HDD50に記録されたプログラムを実行することで、画像処理アプリケーション41として機能する。
【0016】
ここで、図2を用いて画像処理装置3が実行する画像処理であるRIP処理について説明する。
画像処理装置3は、印刷ジョブの実行の指示を受け付けると、図2に示すRIP処理を開始する。
S100において、プロセッサー40は、画像処理アプリケーション41の機能により、コンピューター1から受信した印刷ジョブに含まれる印刷対象の画像データの構文を解析する。本実施形態では、画像処理アプリケーション41は、予め定められた設定に応じた画像処理を行う。画像処理に関する設定は、画像データに基づいて実施される画像処理(RIP処理)の内容を変化させるためのパラメーターであり、複数の設定項目がある。複数の設定項目としては、例えば、画像処理に用いられる画像処理エンジンの種類、画像データの拡大・縮小率の設定、色置換の有無、カラー設定等がある。
ここで、画像処理エンジンとは、画像処理を行うハードウェア、又は、ソフトウェアの機構である。画像処理エンジンには、例えば、CPSI(Configurable PostScript Interpreter)、APPE(Adobe(登録商標) PDF Print Engine)等がある。色置換の有無とは、特色が設定されているオブジェクト等について色の置換を行うか否かの設定である。カラー設定とは、画像処理の仕上がり(ラスターイメージ)における色についての設定(例えば、どの程度の階調で表される色であるか)である。
【0017】
予測部12bによって予測される画像処理に要する期間は、画像処理に関する設定と相関がある。画像処理に関する設定は、画像処理全体を通して影響があるためである。
ただし、例えば、利用可能な画像処理エンジンの中身がブラックボックスである場合がある。このような場合、画像処理エンジンの違いにより画像処理の中身にどのような変動が生じるかを正確に把握することが困難である。また、画像処理エンジンの中身がブラックボックスである場合、画像処理における設定項目の値を変動しても、対応する条件の変更によって画像処理の中身にどのような変動が生じたかを正確に把握することが困難である。
そのため、画像処理に要する期間は、画像処理に関する設定と相関があるが、どのような相関であるかを正確に把握することは困難である。
【0018】
S105において、プロセッサー40は、画像処理アプリケーション41の機能により、S100での解析結果に基づいて、印刷対象の画像データの属性を特定する。画像データの属性には、画像データのデータサイズ、画像データに含まれるオブジェクトの個数、画像データに含まれるオブジェクトの種類がある。また、画像データの属性には、特色が設定されているオブジェクトの個数、特色が設定されているオブジェクトの有無、透明効果が設定されているオブジェクトの個数、透明効果が設定されているオブジェクトの有無がある。また、画像データの属性には、オーバープリントが設定されているオブジェクトの個数、オーバープリントが設定されているオブジェクトの有無等がある。
【0019】
ここで、オブジェクトとは、画像内に配置される各要素である。オブジェクトには、文字を示す文字オブジェクト、数字を示す数字オブジェクト、任意のストリームデータ(例えば、図形、画像等)を示すストリームオブジェクト、NULL値を示すNULLオブジェクトがある。また、オブジェクトには、Boolean値を示すBooleanオブジェクト、複数のオブジェクトの配列を示す配列オブジェクト、NULL以外のASCII文字が連続して並べられたASCII文字列を示す名前オブジェクト等がある。
また、特色とは、RIP処理において、ラスターイメージにおけるオブジェクトの色を、ラスターイメージの色空間における予め定められた色に変換することを示す効果である。すなわち、特色が設定されているオブジェクトについては、画像データの色を示す階調値からラスターイメージの色を示す階調値への色変換(例えば、RGB色空間からCMYK色空間への色変換)は行われない。
【0020】
また、透明効果とは、オブジェクトがラスターイメージ内の同一ピクセルで重複した場合、ラスターイメージにおける重複した部分についての色を、重複したオブジェクトの色を合成した色にすることを示す効果である。
また、オーバープリントとは、オブジェクトがラスターイメージ内の同一ピクセルで重複した場合、ラスターイメージにおける重複した部分についての色を、背景のオブジェクトの色の上に前景のオブジェクトの色を重ねた色にすることを示す効果である。
【0021】
ここで、図3を用いて、透明効果と、オーバープリントについて説明する。
図3に2つのオブジェクトが重複している状況を示す。本実施形態においてはレイヤーが仮想的に定義され、各オブジェクトには各オブジェクトが属するレイヤーが対応づけられる。透明効果、オーバープリント無しで各レイヤーに各オブジェクトを配置した場合に、上位レイヤーにあるオブジェクトは下位レイヤーにあるオブジェクトの前景となる。前景のオブジェクトに透明効果もオーバープリントも設定されていない場合、2つのオブジェクトが重複している部分の色は、前景のオブジェクトの色となる。
また、前景のオブジェクトに透明効果が設定されている場合、2つのオブジェクトが重複している部分の色は、前景のオブジェクトの色と背景のオブジェクトの色とを透過率に応じた比率で合成した色となる。例えば、YMCK色空間においては、YMCKそれぞれの階調値が、前景のオブジェクトにおけるYMCKの階調値と背景のオブジェクトにおけるYMCKの階調値との合成値となる。
また、前景のオブジェクトにオーバープリントが設定されている場合、2つのオブジェクトが重複している部分の色は、背景のオブジェクトの色の上に前景のオブジェクトの色を重ねた色となる。例えば、YMCK色空間においては、前景のオブジェクトのYMCKの階調値のうち階調値が0の色については背景のオブジェクトの色となり、残りの色については前景のオブジェクトの色となる。
【0022】
画像処理に要する期間は、画像処理の対象である画像データの属性と相関を有する。画像データの性質や特徴が異なると、画像処理全体に変動が生じるためである。
例えば、画像データに含まれるオブジェクトの個数は、画像処理に要する期間との相関を有する。RIP処理において、画像データ内の各オブジェクトを、ラスターイメージ内の画像に変換する処理が行われることとなる。そのため、画像データに含まれるオブジェクトの個数が多いほど、画像処理における工程が増加し、画像処理に要する期間が増加する傾向がある。ただし、オブジェクトは、種類によって画像処理における処理負担が異なる。例えば、文字オブジェクトには、フォント情報が含まれるため、フォント情報の解析の処理負担により、図形を示すストリームオブジェクト等のようにフォント情報を含まないオブジェクトよりも処理により多くの期間を要する場合がある。
【0023】
例えば、図4に示す2つの画像データのように、含まれるオブジェクトが少ない方が、RIP処理に要する期間が長くなる場合がある。図4の画像データAは、1つの文字オブジェクト(「Hello World」)と、3つのストリームオブジェクト(円形、矩形、三角形)を含む画像データである。図4の画像データBは、3つの文字オブジェクト(「Hello World」、「Good Morning」、「Thank you」)を含む画像データである。画像データAの方が画像データBよりも、含まれるオブジェクトの総数が多い。ただし、画像データBの方が画像データAよりも、含まれる文字オブジェクトの個数が多い。そのため、フォント情報の解析処理の負担により、画像データBの方が画像データAよりも画像処理により長い期間を要する場合がある。すなわち、画像データに含まれるオブジェクトの個数と画像データに対する画像処理に要する期間とは、単純な線形の相関を有するという訳ではない。
【0024】
また、各オブジェクトに設定された効果によって、各オブジェクトに対する画像処理の内容が異なることとなり、画像処理に要する期間が変動する。画像処理において、効果が設定されたオブジェクトの個数が多いほど、処理の負担が増加する傾向がある。ただし、例えば、特色については、オブジェクトの色を、予め定められた値にするため、色変換の処理負担が軽減する場合がある。また、画像処理に用いられる画像処理エンジンによっては、特定の効果を反映しないように画像処理を行う場合がある。このような場合、その効果が設定されていても処理負担が増加しない場合がある。そのため、必ずしも、効果が設定されたオブジェクトの個数が多いほど、処理負担が増加し、画像処理により長い期間を要するというわけではない。
このように、画像処理に要する期間は、画像処理の対象である画像データの属性と相関を有するが、どのような相関であるかを正確に把握することが困難である。
【0025】
S110において、プロセッサー40は、画像処理アプリケーション41の機能により、印刷対象の画像データが変換されるラスターイメージのサイズと、画像データが示す画像のサイズとを比較することで、印刷対象の画像データの拡大・縮小率を導出する。また、プロセッサー40は、印刷対象の画像データ内の各オブジェクトのサイズと位置とを、導出した拡大・縮小率に基づいて調整する。また、プロセッサー40は、画像のサイズについての印刷設定(例えば、拡大・縮小率の指定、複数ページの一面印刷等)がある場合、印刷対象の画像データ内の各オブジェクトのサイズと位置とについて、この印刷設定に応じた調整を行う。
S115において、プロセッサー40は、画像処理アプリケーション41の機能により、印刷対象の画像データからラスターイメージを生成する。より具体的には、プロセッサー40は、まず、画像データにおける各オブジェクトがS115で調整された位置とサイズとで配置されたビットマップ画像を生成する。そして、プロセッサー40は、生成したビットマップ画像における各オブジェクトの色を、画像データにおける色空間から、ラスターイメージにおける色空間に変換する。この際、プロセッサー40は、特色、透明効果、オーバープリント等の効果が設定されているオブジェクトについては、設定された効果に応じた色を調整する。
そして、プロセッサー40は、各オブジェクトの色を調整したビットマップ画像に対して、プリンター4での印刷に利用可能なように、ハーフトーン処理を施し、最終的なラスターイメージを生成する。プロセッサー40は、生成したラスターイメージをプリンター4に送信し、印刷を指示する。
【0026】
なお、画像処理に要する期間は、画像処理を実行する画像処理装置の性能とも相関がある。画像処理装置におけるCPU、メモリー、記録媒体は、画像処理において主要に用いられるため、CPU、メモリー、記録媒体についての性能は、他の性能に比べて、画像処理に要する期間に対する影響が大きい。
プリンター4は、画像処理装置3から送信されるラスターイメージに基づいて、紙、フィルム等の印刷媒体に対する印刷を行う。
【0027】
本実施形態では、コンピューター1は、画像処理装置3によるRIP処理の開始前にRIP処理に要する期間を予測する。そこで、コンピューター1は、RIP処理に要する期間の予測がRIP処理の開始前の段階で可能なモデルを、予め機械学習する。
本実施形態では、教師データ20a、テストデータ20dは、それぞれ以下のようなデータである。すなわち、画像データの属性情報、この画像データに対して行われた画像処理に関する設定情報、この画像データに対する画像処理を実行した画像処理装置の性能情報と、画像処理に実際に要した期間と、を対応づけたデータである。
【0028】
また、本実施形態では、モデル入力情報、教師データ20a、テストデータ20dに含まれる画像データの属性情報、及び、情報取得部12aが取得する画像データの属性情報は、以下のような情報である。すなわち、画像データのデータサイズ、画像データに含まれるオブジェクトの個数、含まれるオブジェクトの種類、特色が設定されている含まれるオブジェクトの個数、特色が設定されている含まれるオブジェクトの有無、透明効果が設定されている含まれるオブジェクトの個数、透明効果が設定されている含まれるオブジェクトの有無、オーバープリントが設定されている含まれるオブジェクトの個数、オーバープリントが設定されている含まれるオブジェクトの有無、のうちの少なくとも1つを示す情報である。
【0029】
また、本実施形態では、モデル入力情報、教師データ20a、テストデータ20dに含まれる画像処理に関する設定情報、及び、情報取得部12aが取得する画像処理に関する設定情報は、以下のような情報である。すなわち、画像処理に用いられる画像処理エンジンの種類、画像データの拡大・縮小率の設定、色置換の有無、カラー設定のうちの少なくとも1つを示す情報である。
【0030】
また、本実施形態では、モデル入力情報、教師データ20a、テストデータ20dに含まれる画像処理装置の性能情報、及び、情報取得部12aが取得する画像処理装置の性能情報は、以下のような情報である。すなわち、メモリーの使用率、利用可能なメモリーの容量、CPU使用率、CPUの性能(例えば、クロック数、コア数等)、記録媒体の性能(例えば、種類、書き込み速度、読み込み速度等)のうちの少なくとも1つを示す情報である。
【0031】
(2)機械学習処理:
次に、プロセッサー10が実行する機械学習処理を説明する。図5は機械学習処理を示すフローチャートである。機械学習処理は、画像処理に要する期間を予測する期間予測処理の実行の前に予め実行される。
S200において、プロセッサー10は、学習部11cの機能により、HDD20から訓練モデル20bを取得する。
入力データを出力データに変換する限りにおいて、モデルは、種々の定義が可能である。本実施形態においては、訓練モデル20bの少なくとも一部にニューラルネットワークが含まれている。
図6は、本実施形態において利用されるモデルに含まれるニューラルネットワークの構造の一例を模式的に示した図である。図6においては、ニューロンを模したノードを丸で示し、ノード間の結合を実線の直線で示している(ただし、図を簡易化するためノードおよび結合は一部のみが示されている)。また、図6においては、同一層に属するノードを縦に並べて示しており、左端の層が入力層Li、右端の層が出力層Loである。
【0032】
ここでは、入力層Li、出力層Lo以外の層のうち、入力層Liに近い層を上位層、出力層Loに近い層を下位層と呼ぶ。また、入力層Li側を上位方向として、出力層Lo側を下位方向とする。すなわち、ある層においては、1層上位の層の出力を入力とし、重みの乗算とバイアスの和算を行い、活性化関数を介して出力を行う構造となっている。
例えば、図6に示す層Lのノードの個数がP個であり、層Lの各ノードに対する入力データがx1、・・・、であり、バイアスがb、・・・、bであり、層Lのk番目のノードに対する重みがwk1、・・・、kM、活性化関数がh(u)であるとする。この場合、層Lの各ノードにおける中間出力u1、・・・、は以下の式1で表現される。
【数1】
従って、式1を活性化関数h(u)に代入すると層Lの各ノードにおける出力y1、・・・、が得られる。
【0033】
モデルは、複数層にわたって設けられた、このようなノードを備える。従って、本実施形態において、モデルは、少なくとも各層における重みとバイアスと活性化関数を示すデータを含む。なお、活性化関数は、種々の関数、例えば、シグモイド関数や、双曲線関数(tanh)、ReLU(Rectified Linear Unit)や他の関数を使用可能であり、非線形関数であることが好ましい。むろん、モデルには、機械学習における他の条件、例えば、最適化アルゴリズムの種類や学習率等のパラメーターが含まれていてもよい。また、モデルにおける層の個数やノードの個数、相関の結合関係は、種々の態様であってもよい。
【0034】
本実施形態においては、画像データの属性情報、画像処理に関する設定情報、画像処理装置の性能情報を入力層Liへの入力データとし、出力層Loから画像処理に要する期間を示す出力データを出力するモデルが構築される。
例えば、図6に示す例において、入力層Liの各ノードへの入力データは、画像データの属性情報、画像処理に関する設定情報、画像処理装置の性能情報を示す値(を規格化した値)とすることが想定される。
【0035】
例えば、画像データの属性情報が、画像データに含まれるオブジェクトの種類を示す情報であり、画像処理に関する設定情報が、画像処理エンジンの種類を示す情報であり、画像処理装置の性能情報が記録媒体の種類を示す情報であるとする。
この場合、画像データに含まれるオブジェクトの種類を示す情報としては、例えば、各要素がオブジェクトの種類に対応する配列であって、各要素値が対応する種類のオブジェクトの個数を示す配列の情報がある。この場合、この配列の要素値それぞれは、入力層Liのノードに入力されることとなる。
【0036】
また、画像処理エンジンの種類を示す情報としては、例えば、各要素が画像処理エンジンの種類に対応する配列であって、各要素値が対応する種類の画像処理エンジンの使用の有無に応じた値(例えば、0、1等)を示す配列の情報がある。
また、記録媒体の種類を示す情報としては、例えば、各要素が記録媒体の種類に対応する配列であって、各要素値が対応する種類の記録媒体の有無に応じた値(例えば、0、1等)を示す配列の情報がある。
【0037】
また、出力層Loからの出力データは、画像処理に要する期間の範囲を示す例を想定可能である。画像処理に要する期間を出力する構成としては、例えば、各ノードに0分以上10分未満、10分以上20分未満、20分以上30分未満などの時期範囲が割り当てられており、最大値を出力したノードに割り当てられた範囲が示す期間が画像処理に要する期間であると見なされる構成等が挙げられる。
【0038】
また、図6に示すモデルの一部を既知の関数で表現し、残りを未知の関数として表現し、未知の関数の部分を学習対象としてもよい。いずれにしても、モデル入力情報を入力すると画像処理に要する期間が出力されるモデルが構築されていればよい。本実施形態においては、このような着想の元にモデルが構築されているが、この着想は、画像処理に要する期間は、対象の画像データの属性、画像処理に関する設定、画像処理を実行する画像処理装置の性能と相関を有するという事実に基づいている。
なお、図6に示す例では、例えば、出力層Loの出力値(Ti1~TiO)のうち最も高い値に対応するノードが対応づけられた期間が画像処理に要する期間として予測される。例えば、10分以上20分未満の範囲の期間が対応づけられたノードの出力値が、他のノードの出力値よりも高い値である場合に、画像処理に要する期間が10分以上20分未満であると予測される。ただし、出力層Loの出力値のうち最も低い値に対応するノードが対応づけられた期間が画像処理に要する期間として予測されるようにモデルが構築されてもよい。
また、出力層Loに含まれるノードの個数は、1つであってもよい。その場合、モデルは、出力層Loに画像処理に要する期間(を規格化した値)を出力するように構築される。
【0039】
S200で取得された訓練モデル20bにおいては、層の個数や各層におけるノードの個数は、予め定められているが、入出力の関係を規定するパラメーター(上述の重みやバイアス等)は最適化されていない。これらのパラメーターは、機械学習の過程で最適化される(すなわち、訓練される)。
訓練モデル20bは、予め定められていることとするが、コンピューター1の利用者によるマウスやキーボード等の入力装置の操作に基づいて入力されることとしてもよいし、他の装置から受信されることとしてもよい。
【0040】
図5の説明に戻る。
S205において、プロセッサー10は、教師データ取得部11aの機能により、HDD20から教師データ20aを取得する。本実施形態では、教師データ20aは、予めHDD20に記憶されている。
【0041】
S210において、プロセッサー10は、教師データ取得部11aの機能により、HDD20からテストデータ20dを取得する。テストデータ20dは、学習されたモデルの実効性の確認に用いられるデータであり、教師データ20aに含まれないデータを少なくとも含む。本実施形態では、テストデータ20dは、予めHDD20に記憶されている。
テストデータ20dの情報量と教師データ20aの情報量は、種々の量であってよいが、本実施形態では、教師データ20aの方がテストデータ20dより多いこととする。
【0042】
S215において、プロセッサー10は、学習部11cの機能により、S200で取得した訓練モデル20bにおける更新対象の各パラメーターの初期値を決定する。初期値は、種々の手法で決定されてよい。例えば、プロセッサー10は、ランダム値や0等を初期値として決定してもよいし、重みとバイアスとで異なる方法で初期値を決定してもよい。また、プロセッサー10は、学習の過程でパラメーターが最適化されるように初期値を調整してもよい。
【0043】
S220において、プロセッサー10は、学習部11cの機能により、S215で更新対象の各パラメーターの初期値が決定された訓練モデル20bの機械学習を行う。すなわち、プロセッサー10は、S200で取得した訓練モデル20bにS205で取得した教師データ20aを入力し、画像処理に要する期間を示す出力を導出する。また、導出された期間と教師データ20aが示す期間との誤差に関する目的関数に対して、訓練モデル20bから出力された期間と教師データ20aに対応する期間とを代入する。これにより、目的関数は、更新対象の各パラメーターについての関数と見なすことができる。そして、プロセッサー10は、目的関数についての更新対象の各パラメーターによる微分に基づいて、更新対象の各パラメーターを更新する処理を既定回数繰り返す。
【0044】
訓練モデルの出力値をTと表記し、教師データ20aが示す期間をtと表記すると、目的関数は、T、tを引数とする関するL(Tt)と表記可能である。むろん、目的関数としては、種々の関数を採用可能である。目的関数は、例えば、交差エントロピー誤差等である。また、目的関数は、例えば、訓練モデル20bからの出力の期間と教師データが示す期間との誤差に加えて、他の指標に関する関数であってもよい。例えば、目的関数は、過学習の防止のため、訓練モデル20bからの出力の期間と教師データが示す期間との誤差に対するノイズとなる項等を含むこととしてもよい。
以上のような目的関数Lを導出する処理は、教師データ20aに含まれるデータ全てについて実施され、その平均や総和によって1回の学習における目的関数が表現される。例えば、総和によって目的関数が表現される場合、プロセッサー10は、全体の目的関数Eを、次の式2を用いて求める。
【数2】
プロセッサー10は、目的関数Eを得たら、既定の最適化アルゴリズム、例えば、確率的勾配降下法等によって、訓練モデル20bにおける更新対象の各パラメーターを更新する。
【0045】
S225において、プロセッサー10は、学習部11cの機能により、訓練モデル20bの汎化が完了したか否かを判定する。より具体的には、プロセッサー10は、S210で取得したテストデータ20dを、S220で機械学習された訓練モデル20bに入力して出力の期間を取得する。そして、プロセッサー10は、出力された期間と、テストデータ20dに対応づけられた画像処理に要する期間と、が一致しているデータの個数を取得し、テストデータ20dに含まれるデータ数で除することで推定精度を取得する。本実施形態において、プロセッサー10は、取得した推定精度が閾値以上である場合に汎化が完了したと判定する。
プロセッサー10は、汎化が完了したと判定した場合、処理をS230に進め、汎化が完了していないと判定した場合、処理をS220に進め、再び機械学習を行う。
【0046】
なお、プロセッサー10は、汎化性能の評価に加え、ハイパーパラメーターの妥当性の検証を行ってもよい。すなわち、重みとバイアス以外の可変量であるハイパーパラメーター、例えば、ノードの個数等がチューニングされる構成において、プロセッサー10は、検証データに基づいてハイパーパラメーターの妥当性を検証してもよい。検証データは、ステップS210と同様の処理により、取得すればよい。
S230において、プロセッサー10は、機械学習された訓練モデル20bを、学習済モデル20cとしてHDD20に記憶する。
【0047】
以上の構成によれば、コンピューター1は、任意のモデル入力情報から画像処理に要する期間を予測するモデルを機械学習することができる。
画像データの属性情報、この画像データに対する画像処理に関する設定情報は、それぞれ、この画像データに対する画像処理全体における条件を示す情報である。そのため、コンピューター1は、このような情報から画像処理に要する期間を予測するモデルを機械学習することで、画像処理全体における条件を加味し、より精度よく画像処理に要する期間を予測するモデルを機械学習できる。
また、画像データの属性情報、画像処理に関する設定情報は、それぞれ画像処理に要する期間と、の間にどのような相関があるかを把握することは困難である。そこで、学習部11bにより学習されたモデルを用いることで、どのような相関があるかの把握を要せずに、より精度のよい画像処理に要する期間の予測が可能となる。すなわち、コンピューター1は、モデルを機械学習することで、より精度のよい期間の予測に寄与できる。
また、コンピューター1は、画像処理を実行する画像処理装置の性能情報を入力として受け付けるモデルを学習した。これにより、コンピューター1は、さらに精度よく画像処理に要する期間を予測するモデルを機械学習できる。
また、画像データの属性情報、画像処理の設定情報、画像処理装置の性能情報は、それぞれ画像処理の実行前に取得可能な情報である。そのため、コンピューター1は、画像処理の実行前に画像処理に要する期間を予測可能なモデルを学習できる。
【0048】
また、本実施形態では、モデル入力情報における画像データの属性情報は、画像データのデータサイズ、画像データに含まれるオブジェクトの個数、含まれるオブジェクトの種類、特色が設定されている含まれるオブジェクトの個数、特色が設定されている含まれるオブジェクトの有無、透明効果が設定されている含まれるオブジェクトの個数、透明効果が設定されている含まれるオブジェクトの有無、オーバープリントが設定されている含まれるオブジェクトの個数、オーバープリントが設定されている含まれるオブジェクトの有無、のうちの少なくとも1つを示す情報であるとした。
画像データのデータサイズは、画像処理の対象となるデータの量を端的に示す指標である。また、画像データにおけるオブジェクトは、実際に印刷対象として出力される対象であり、画像処理における主な処理対象となる部分である。そのため、これらの属性は、他の属性よりも、画像処理に要する期間との相関が大きい。コンピューター1は、このような属性の情報を含む教師データを用いることで、画像処理に要する期間をより精度よく予測できるモデルを機械学習できる。
【0049】
また、本実施形態では、モデル入力情報に含まれる画像処理に関する設定情報は、画像処理に用いられる画像処理エンジンの種類、画像データの拡大・縮小率の設定、色置換の有無、カラー設定のうちの少なくとも1つを示す情報であるとした。画像処理が実際にどのように実行されるかは、主に画像処理エンジンに依存する。また、画像データのサイズや色についての設定項目の変更は、画像処理の内容自体に変動を起こす。すなわち、これらの設定は、画像処理における主要な設定と見なすことができる。そのため、コンピューター1は、このような主要な設定についての情報を含む教師データを用いることで、画像処理に要する期間をより精度よく予測できるモデルを機械学習できる。
【0050】
また、本実施形態では、モデル入力情報に含まれる画像処理装置の性能情報は、メモリーの使用率、利用可能なメモリーの容量、CPU使用率、CPUの性能、記録媒体の性能のうちの少なくとも1つを示す情報であるとした。CPU、メモリー、記録媒体は、画像処理装置において画像処理に関わる主要な要素である。そのため、コンピューター1は、このような主要な要素についての情報を含む教師データを用いることで、画像処理に要する期間をより精度よく予測できるモデルを機械学習できる。
【0051】
(3)期間予測処理:
次に、プロセッサー10が実行する期間予測処理を説明する。図7は、期間予想処理の一例を示すフローチャートである。期間予測処理は、クライアントPC2から印刷ジョブを受信した場合に、コンピューター1により実行される。
S300において、プロセッサー10は、情報取得部12aの機能により、クライアントPC2から受信した印刷ジョブに含まれる画像データの属性情報を取得する。本実施形態では、プロセッサー10は、画像データに対する構文解析を行うことで、画像データの属性情報を取得する。
S305において、プロセッサー10は、情報取得部12aの機能により、クライアントPC2から受信した印刷ジョブに示される、印刷対象画像データに対する画像処理に関する設定情報を取得する。本実施形態では、クライアントPC2は、実装されたプリンタドライバーのUIを介してユーザーから入力された画像処理に関する設定を示す設定情報を印刷ジョブ内に含ませる。そのため、プロセッサー10は、受信した印刷ジョブから画像処理に関する設定情報を取得できる。
S310において、プロセッサー10は、情報取得部12aの機能により、印刷対象画像データに対する画像処理を実行する画像処理装置3の性能情報を取得する。本実施形態は、プロセッサー10は、画像処理装置3に対して、性能情報の問い合わせを行うことで、画像処理装置3から画像処理装置3の性能情報を取得する。ただし、プロセッサー10は、画像処理装置3の性能情報が予めHDD20に記憶されている場合、HDD20から画像処理装置3の性能情報を取得してもよい。
【0052】
S315において、プロセッサー10は、予測部12bの機能により、S300、S305、S310で取得したモデル入力情報を、モデル入力情報として、HDD20から取得した学習済モデル20cに入力する。そして、プロセッサー10は、学習済モデル20cからされる期間を、印刷対象の画像データに対する画像処理に要する期間の予測値とする。
【0053】
S320において、プロセッサー10は、処理部12cの機能により、印刷対象画像データに対する画像処理の高速化に寄与する、画像処理の設定の変更を特定する。より具体的には、プロセッサー10は、HDD20から、画像データの属性情報、画像処理に関する設定情報、画像処理装置の性能情報、画像処理に実際に要した期間が対応づけられたデータを特定する。例えば、プロセッサー10は、教師データ20aやテストデータ20d等を特定する。そして、プロセッサー10は、特定したデータから、対応する画像データの属性情報がS300で取得した情報と同様のデータを特定する。プロセッサー10は、特定したデータから、対応する画像処理に要する期間が、S315で予測された期間よりも短いデータを特定する。
プロセッサー10は、特定したデータに対応する画像処理に関する設定情報を取得する。そして、プロセッサー10は、画像処理に関する設定についての取得した設定情報の内容への変更を、画像処理の高速化に寄与する変更として特定する。
【0054】
S325において、プロセッサー10は、処理部12cの機能により、S320で画像処理の高速化に寄与する変更を特定できたか否かを判定する。プロセッサー10は、S320で画像処理の高速化に寄与する変更が特定できたと判定した場合、処理をS330に進め、特定できなかったと判定した場合、図7の処理を終了する。
S330において、プロセッサー10は、処理部12cの機能により、クライアントPC2から受信した印刷ジョブに対応する画像処理に関する設定に対して、S320で特定した変更を適用する。
【0055】
S320~S330で説明したように、プロセッサー10は、高速化に寄与する画像処理に関する設定の変更を特定し、特定できた場合に特定した変更を適用することとした。これにより、コンピューター1は、画像処理の高速化を図ることができる。ただし、プロセッサー10は、高速化に寄与する画像処理に関する設定の変更を特定できても、特定した変更が予め定められた状況においては、特定した変更を適用しないようにしてもよい。例えば、透明効果の反映処理を行わない画像処理エンジンへの変更が高速化に寄与するとして特定されたとする。この場合、印刷対象の画像データ内に透明効果が設定されているオブジェクトが含まれると、透明効果が反映されないこととなる。この状況において、プロセッサー10は、特定した変更を適用しないこととしてもよい。このようにプロセッサー10は、印刷対象の画像データの属性と、矛盾が生じるような変更が特定された場合、特定した変更を適用しないこととしてもよい。
【0056】
S335において、プロセッサー10は、クライアントPC2から受信した印刷ジョブの実行を画像処理装置3に対して指示する。この際、プロセッサー10は、S330の処理を実行した場合、S330で変更された設定での画像処理の実行を指示し、S330の処理を実行していない場合、S305で取得された設定情報が示す設定での画像処理の実行を指示する。
そして、画像処理装置3のプロセッサー40は、画像処理アプリケーション41の機能により、コンピューター1から実行を指示された印刷ジョブに対応する画像処理を実行し、ラスターイメージを生成する。プロセッサー40は、生成したラスターイメージをプリンター4に送信し、印刷を指示する。そして、プリンター4は、受信したラスターイメージに基づいて印刷を行う。
本実施形態では、プロセッサー40は、画像処理を実行する際に、画像処理に実際に要した期間を計測し、画像処理の完了後にコンピューター1に計測した期間を送信する。
【0057】
S340において、プロセッサー10は、記憶制御部12dの機能により、S300~S310で取得した情報と、画像処理装置3から受信した画像処理に実際に要した期間と、を対応づける。そして、プロセッサー10は、対応づけたデータを学習済モデル20cの再度の機械学習に用いられる教師データとして、HDD20に記憶することで、教師データ20aを更新する。また、プロセッサー10は、新たな教師データを記憶する際に、教師データ20aの中の最も古いデータを削除することとしてもよい。
プロセッサー10は、記憶制御部12dの機能により新たな教師データを記憶した場合に、学習部11bの機能により、学習済モデル20cを訓練モデル20bとして再度、機械学習を行うこととしてもよい。この場合、プロセッサー10は、新たに記憶された教師データに加えて、更新前の教師データ20aに含まれるデータを用いて、機械学習を行ってもよいし、新たに記憶された教師データのみを用いて、機械学習を行ってもよい。これにより、モデルの改善が図られることとなる。
このように、プロセッサー10は、記憶制御部12dの機能により新たな教師データを記憶することで、学習済モデル20cの改善に寄与できる。
【0058】
以上の構成によれば、コンピューター1は、任意のモデル入力情報から画像処理に要する期間を予測できる。
画像データの属性情報、この画像データに対する画像処理に関する設定情報は、それぞれ、この画像データに対する画像処理全体における条件を示す情報である。そのため、コンピューター1は、このような情報から画像処理に要する期間を予測することで画像処理全体における条件を加味し、より精度よく画像処理に要する期間を予測するモデルを機械学習できる。
また、画像データの属性情報、画像処理に関する設定情報は、それぞれ画像処理に要する期間と、の間にどのような相関があるかを把握することは困難である。そこで、コンピューター1は、学習済モデル20cを用いることで、どのような相関があるかの把握を要せずに、より精度よく、画像処理に要する期間を予測できる。
また、コンピューター1は、画像データの属性情報、画像処理に関する設定情報更に加え、画像処理を実行する画像処理装置の性能情報に基づいて、画像処理に要する期間を予測した。これにより、コンピューター1は、さらに精度よく画像処理に要する期間を予測できる。
また、画像データの属性情報、画像処理の設定情報、画像処理装置の性能情報は、それぞれ画像処理の実行前に取得可能な情報である。そのため、コンピューター1は、画像処理の実行前に画像処理に要する期間を予測できる。
【0059】
また、本実施形態では、モデル入力情報における画像データの属性情報は、画像データのデータサイズ、画像データに含まれるオブジェクトの個数、含まれるオブジェクトの種類、特色が設定されている含まれるオブジェクトの個数、特色が設定されている含まれるオブジェクトの有無、透明効果が設定されている含まれるオブジェクトの個数、透明効果が設定されている含まれるオブジェクトの有無、オーバープリントが設定されている含まれるオブジェクトの個数、オーバープリントが設定されている含まれるオブジェクトの有無、のうちの少なくとも1つを示す情報であるとした。
画像データのデータサイズは、画像処理の対象となるデータの量を端的に示す指標である。また、画像データにおけるオブジェクトは、実際に印刷対象として出力される対象であり、画像処理における主な処理対象となる部分である。そのため、これらの属性は、他の属性よりも、画像処理に要する期間との相関が大きい。コンピューター1は、このような属性の情報を用いることで、画像処理に要する期間をより精度よく予測できる。
【0060】
また、本実施形態では、モデル入力情報に含まれる画像処理に関する設定情報は、画像処理に用いられる画像処理エンジンの種類、画像データの拡大・縮小率の設定、色置換の有無、カラー設定のうちの少なくとも1つを示す情報であるとした。画像処理が実際にどのように実行されるかは、主に画像処理エンジンによる。また、画像データのサイズや色についての設定項目の変更は、画像処理の内容自体に変動を起こす。すなわち、これらの設定は、画像処理における主要な設定と見なすことができる。そのため、コンピューター1は、このような主要な設定についての情報に基づいて、画像処理に要する期間をより精度よく予測できる。
【0061】
また、本実施形態では、モデル入力情報に含まれる画像処理装置の性能情報は、メモリーの使用率、利用可能なメモリーの容量、CPU使用率、CPUの性能、記録媒体の性能のうちの少なくとも1つを示す情報であるとした。CPU、メモリー、記録媒体は、画像処理装置において画像処理に関わる主要な要素である。そのため、コンピューター1は、このような主要な要素についての情報に基づいて、画像処理に要する期間をより精度よく予測できる。
【0062】
(4)他の実施形態:
以上の実施形態は、本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。以上の実施形態のようにモデル入力情報に基づいて、画像処理に要する期間を予測する手法や、予測のためのモデルの機械学習を行う手法は、プログラムの発明、方法の発明としても実現可能である。
【0063】
さらに、コンピューター1の機能が複数の装置によって実現される構成が採用されてもよい。例えば、サーバーとクライアントとが接続可能に構成され、サーバーとクライアントの一方で機械学習プログラムが実行され、他方で期間予測プログラムが実行されるように構成されていてもよい。機械学習と、期間予測処理と、が離れた位置に存在する装置で実行される場合、学習済モデルは各装置で共有されてもよいし、一方の装置に存在してもよい。学習済モデルが機械学習を行う装置に存在し、期間予測処理を行う装置に存在しない場合、期間予測処理を行う装置は機械学習を行う装置に対して、学習済モデルによる予測結果の問合せを行う構成となる。むろん、機械学習装置が複数の装置に分散して存在する構成や、情報処理装置が複数の装置に分散して存在する構成等であってもよい。さらに、上述の実施形態は一例であり、一部の構成が省略されたり、他の構成が追加されたりする実施形態が採用され得る。
【0064】
また、上述の実施形態では、画像処理を行う機能である画像処理アプリケーション41は、コンピューター1と異なる装置である画像処理装置3に実装されることとした。ただし、画像処理を行う機能は、コンピューター1に実装されることとしてもよい。その場合、コンピューター1に対してプリンター4が接続されることとしてもよい。
【0065】
また、上述の実施形態では、モデル入力情報は、画像データの属性情報と、画像処理に関する設定情報と、画像処理装置の性能情報とであるとした。ただし、モデル入力情報は、画像データの属性情報と、画像処理に関する設定情報と、のうちの少なくとも1つ含んでいれば他の情報であってもよい。例えば、モデル入力情報は、画像データの属性情報であってもよいし、画像処理に関する設定情報であってもよい。また、モデル入力情報は、画像処理装置の性能情報を含まないこととしてもよい。また、モデル入力情報は、画像処理の実行が開始されてから取得可能な情報(例えば、画像データの一部に対する画像処理に要した期間等)を含むこととしてもよい。
その場合、学習部11bは、モデル入力情報と同様の情報と、画像処理に要する期間と、の対応データを教師データ20aとして学習を行うこととなる。また、情報取得部は、モデルに入力する情報としてモデル入力情報と同様の情報を取得することとなる。
画像データの属性情報と画像処理に関する設定情報とは、それぞれ、画像処理全体における条件を示す情報である。そのため、画像データの属性情報と画像処理に関する設定情報とのうちの少なくとも1つを用いることで、画像処理全体における条件を加味し、より精度よく画像処理に要する期間を予測することが可能となる。
【0066】
また、上述の実施形態では、プロセッサー10は、処理部12cの機能により、図7のS320~S330で、画像処理の高速化に寄与する画像処理に関する設定の変更を特定し、特定した変更を適用することとした。プロセッサー10は、画像処理の高速化に寄与する変更を特定した場合、ユーザーに特定した変更の提案を通知してもよい。例えば、プロセッサー10は、図8のフローチャートの処理を実行してもよい。
図8の処理のうち図7と異なる点を説明する。図8の処理は、S326~S328の処理がある点で、図7と異なる。図8のフローチャートにおけるステップのうち、図7と同じ番号のステップの処理は、図7と同様のである。
プロセッサー10は、S325で画像処理の高速化に寄与する変更が特定されたと判定した場合、処理をS326に進める。
【0067】
S326において、プロセッサー10は、処理部12cの機能により、S320で特定した変更の提案を示す情報を、予め定められた通知先に通知する。ここでは、この予め定められた通知先がクライアントPC2である場合を例に説明する。クライアントPC2は、通知された変更を示す情報をモニター等の表示部に表示することで、ユーザーに提示する。これにより、ユーザーは、印刷ジョブをより高速化可能な画像処理に関する設定を把握できる。また、クライアントPC2は、通知された変更の適用を行うか否かをユーザーに問い合わせる。例えば、クライアントPC2は、通知された変更の適用を行うか否かの選択に用いられるダイアログを表示部に表示する。クライアントPC2は、入力装置を介したユーザーの操作に基づいて、問い合わせの結果を取得すると、取得した結果を、S326での通知に対する応答としてコンピューター1に送信する。
【0068】
S327において、プロセッサー10は、処理部12cの機能により、S326での通知に対する応答を取得する。
S328において、プロセッサー10は、処理部12cの機能により、S327で取得した応答が画像処理の設定の変更の指示であるか否かを判定する。プロセッサー10は、S327で取得した応答が画像処理の設定の変更の指示であると判定した場合、処理をS330に進め、画像処理の設定の変更の指示でないと判定した場合、図8の処理を終了する。これにより、よりユーザーの意図を反映した印刷ジョブが可能となる。
【0069】
また、上述の実施形態では、画像処理を行う主体は、1つの画像処理装置3であるとした。ただし、画像処理を行う主体として、複数の画像処理装置が存在することとしてもよい。この場合、コンピューター1は、印刷ジョブを受信した場合、受信した印刷ジョブを複数の画像処理装置のいずれかに割り振ることとなる。
その場合におけるコンピューター1の構成の一例を図9に示す。図9の例では、図1と異なり、コンピューター1は、期間予測プログラム12を実行することで、更に、分配部12eとして機能する。また、コンピューター1は、複数の画像処理装置が接続されている。
【0070】
この場合にコンピューター1が行う期間予想処理の一例について図10を用いて説明する。
コンピューター1は、複数の印刷ジョブを受信した際に図10の処理を開始する。
S400において、プロセッサー10は、情報取得部12aの機能により、複数の印刷ジョブに対応する印刷対象の複数の画像データから、選択したことのない1つを選択する。以下では、S400で選択された画像データを選択画像データとする。
S405において、プロセッサー10は、情報取得部12aの機能により、選択画像データの属性情報を取得する。
S410において、プロセッサー10は、情報取得部12aの機能により、選択画像データに対する画像処理に関する設定情報を取得する。
S415において、プロセッサー10は、情報取得部12aの機能により、複数の画像処理装置それぞれの性能情報を取得する。
【0071】
S420において、プロセッサー10は、予測部12bの機能により、選択画像データについて、S400、S405で取得した情報と、S410で取得した複数の性能情報それぞれと、を組み合わせて、複数のモデル入力情報を取得する。そして、プロセッサー10は、取得した複数のモデル入力情報それぞれを、学習済モデル20cに入力することで、画像処理に要する期間を複数、予測する。ここで、予測された複数の期間は、予測の際にモデルに入力された性能情報に対応する画像処理装置のそれぞれにおいて、対応する画像データに対する画像処理が行われる場合についての画像処理に要する期間の予測値となる。
【0072】
S420において、プロセッサー10は、分配部12eの機能により、S415での予測結果に基づいて、選択画像データに対する画像処理を最も早く完了できる画像処理装置を特定し、特定した画像処理装置に対して選択画像データに対応する印刷ジョブを分配する。
より具体的には、プロセッサー10は、S420での予測の結果から、複数の画像処理装置それぞれにおいて選択画像データに対する画像処理に要する期間を特定する。また、プロセッサー10は、印刷ジョブが既に分配された画像処理装置がある場合、その画像処理装置において、分配された印刷ジョブについての画像データの画像処理に要する期間として処理時点よりも過去のS415で予測された値を特定する。
そして、プロセッサー10は、複数の画像処理装置それぞれについて、選択画像データに対する画像処理に要する期間と、既に分配された印刷ジョブについての画像処理に要する期間と、を足し合わせ、選択画像データに対する画像処理の完了までの期間とする。プロセッサー10は、複数の画像処理装置それぞれについて求めた画像処理の完了までの期間のうち、最も短い期間を特定し、特定した期間に対応する画像処理装置に対して、選択画像データについての印刷ジョブを分配する。
【0073】
例えば、コンピューター1に3つの画像処理装置A~Cが接続されているとして、コンピューター1が3つの印刷ジョブα~γを受信したとする。印刷ジョブα~γそれぞれについての印刷対象の画像データを、画像データα~γとする。この場合において、S400で最初に画像データαが選択されたとする。
S420で画像処理装置A~Cそれぞれにおいて画像データαに対する画像処理に要する期間として、画像処理装置Aにおいては10分、画像処理装置Bにおいては20分、画像処理装置Cにおいては30分と予測されたとする。この場合、いずれの画像処理装置に対しても印刷ジョブが分配されていない。そのため、S425において求められる選択画像データである画像データαの処理が完了するまでの期間は、S420で予測された期間と同様に、画像処理装置Aにおいては10分、画像処理装置Bにおいては20分、画像処理装置Cにおいては30分となる。この場合、画像処理装置Aに対応する期間が最も短いため、S425で画像処理装置Aに対して印刷ジョブαが分配され、処理は再度S400に進む。
【0074】
次にS400で、印刷ジョブβについての画像データβが選択画像データとして選択されたとする。
そして、S420で画像処理装置A~Cそれぞれにおいて画像データβに対する画像処理に要する期間として、画像処理装置Aにおいては5分、画像処理装置Bにおいては10分、画像処理装置Cにおいては10分と予測されたとする。この場合、画像処理装置Aに対して既に印刷ジョブαが分配されているため、画像処理装置Aにおいては、画像データαに対する画像処理が完了するまで画像処理が実行されない。そのため、S425では求められる画像処理が完了するまでの期間は、画像処理装置AについてはS420で予測された期間(5分)と過去のS420で画像処理装置Aにおいて画像データαの画像処理に要する期間として予測された値(10分)とを足し合わせた値(15分)となる。選択画像データである画像データβの処理が完了するまでの期間は、画像処理装置B、CについてはS420で予測された期間と同様である。
結果として、S425で求まる選択画像データである画像データβの処理が完了するまでの期間は、画像処理装置Aにおいては15分、画像処理装置Bにおいては10分、画像処理装置Cにおいては10分となる。この場合、画像処理装置B、Cに対応する期間が最も短いため、S425で画像処理装置B、Cのいずれかに対して印刷ジョブβが分配され、処理は再度S400に進む。この例では、画像処理装置Bに印刷ジョブβが分配されたとする。
【0075】
次にS400で、印刷ジョブγについての画像データγが選択画像データとして選択される。
そして、S420で画像処理装置A~Cそれぞれにおいて画像データγに対する画像処理に要する期間として、画像処理装置Aにおいては5分、画像処理装置Bにおいては30分、画像処理装置Cにおいては10分と予測されたとする。この場合、画像処理装置Aに対して既に印刷ジョブαが分配されているため、画像処理装置Aにおいては、画像データαに対する画像処理が完了するまで画像処理が実行されない。そのため、S425で求められる画像処理が完了するまでの期間は、画像処理装置AについてはS420で予測された期間(5分)と過去のS420で画像処理装置Aにおいて画像データαの画像処理に要する期間として予測された値(10分)とを足し合わせた値(15分)となる。また、画像処理装置Bに対して既に印刷ジョブβが分配されているため、画像処理装置Bにおいては、画像データβに対する画像処理が完了するまで画像処理が実行されない。そのため、S425で求められる画像処理が完了するまでの期間は、画像処理装置BについてはS420で予測された期間(30分)と過去のS420で画像処理装置Bにおいて画像データβの画像処理に要する期間として予測された値(10分)とを足し合わせた値(40分)となる。選択画像データである画像データγの処理が完了するまでの期間は、画像処理装置CについてはS420で予測された期間と同様である。
結果として、S425で求まる選択画像データである画像データγの処理が完了するまでの期間は、画像処理装置Aにおいては15分、画像処理装置Bにおいては40分、画像処理装置Cにおいては10分となる。この場合、画像処理装置Cに対応する期間が最も短いため、S425で画像処理装置Cに対して印刷ジョブγが分配され、図10の処理が完了する。
【0076】
このように、コンピューター1は、複数のジョブそれぞれを、複数のジョブについての複数の画像データそれぞれについて予測された画像処理に要する期間に基づいて、分配することとした。これにより、コンピューター1は、複数の印刷対象の画像データに対する画像処理に要する期間を加味し、ジョブ終了までの期間を短くするように複数のジョブそれぞれを分配できる。
【0077】
画像データは、画像を示すデータであればよい。例えば、画像データは、ページ記述言語で表された画像データのように、プリンターへの印刷の指示に用いられる形式の画像データであってもよい。例えば、画像データは、xps(XML Paper Specification)データ、PostScriptデータ等であってもよい。また、画像データは、jpg等の形式の画像データであってもよい。また、画像データは、印刷ジョブに含まれる画像データに限られず、印刷対象でないこととしてもよい。
画像処理は、画像データに対して何らかの作業を行う処理であればよい。画像処理は、例えば、RIP処理のように印刷に用いられる形式への変換処理であってもよい。また、画像処理は、画像データをラスターイメージと異なる形式の画像データへの変換する処理であってもよい。
画像処理に要する期間は、画像処理の開始から終了までの期間として予測される期間であればよい。画像処理に要する期間は、例えば、分単位、秒単位、時間単位、定められた区切り単位(例えば、0分以上10分未満、10分以上20分未満、20分以上30分未満、・・・のように10分区切り単位等)として表されてもよい。
【0078】
画像データの属性情報は、画像処理内容を変動させる画像データにおける属性を示す情報であればよい。そのため、画像データの属性情報は、画像データのデータサイズ、前記画像データに含まれるオブジェクトの個数、前記オブジェクトの種類、特色が設定されている前記オブジェクトの個数、特色が設定されている前記オブジェクトの有無、透明効果が設定されている前記オブジェクトの個数、透明効果が設定されている前記オブジェクトの有無、オーバープリントが設定されている前記オブジェクトの個数、オーバープリントが設定されている前記オブジェクトの有無、のうちの少なくとも1つを示す情報と異なる情報であってもよいし、これらの属性のうちの少なくとも1つに加えて他の属性を示す情報であってもよい。例えば、画像データの属性情報は、画像データ内におけるオブジェクトが重複している箇所の個数を示す情報等であってもよい。
【0079】
画像処理に関する設定情報は、画像処理内容を変動させる設定を示す情報であればよい。そのため、画像処理に関する設定情報は、前記画像処理に用いられる画像処理エンジンの種類、画像データの拡大・縮小率の設定、色置換の有無、カラー設定のうちの少なくとも1つを示す情報と異なる情報であってもよいし、これらの設定のうちの少なくとも1つに加えて他の設定を示す情報であってもよい。例えば、画像処理に関する設定情報は、画像処理エンジン内で用いられているアルゴリズムの種類を示す情報、画像データ内のオブジェクトに設定された効果を反映させるか否かの設定等であってもよい。
【0080】
画像処理装置の性能情報は、画像処理内容を変動させる画像処理装置の性能を示す情報であればよい。そのため、画像処理装置の性能情報は、メモリーの使用率、利用可能なメモリーの容量、CPU使用率、CPUの性能、記録媒体の性能のうちの少なくとも1つを示す情報と異なる情報であってもよいし、これらの性能のうちの少なくとも1つに加えて他の性能を示す情報であってもよい。例えば、画像処理装置の性能情報は、画像処理用のプロセッサーの有無を示す情報等であってもよい。
【0081】
モデルは、モデル入力情報を受け付けて、画像処理に要する期間を出力すればよい。そのため、モデルは、ニューラルネットワークを用いて構築されたモデルと異なるモデルであってもよく、例えば、サポートベクターマシンやクラスタリング、強化学習、ランダムフォレスト等を用いて構築されることとしてもよい。
また、モデルは、機械学習されないモデルであってもよい。例えば、モデルは、ユーザーの解析により特定された、モデル入力情報と、画像処理に要する期間と、の間の相関に基づいて構築されたモデルであってもよい。
【0082】
教師データ取得部は、モデルの機械学習に用いられる教師データを取得することができればよい。教師データ取得部は、例えば、ユーザーからの入力に基づいて、教師データを取得してもよいし、外部の記録媒体から教師データを取得してもよい。
学習部は、画像データの属性情報と画像処理に関する設定情報とのうちの少なくとも1つの入力から、画像処理に要する期間を予測するモデルを機械学習できればよい。機械学習の手法は、種々の手法であってよい。すなわち、入力された情報から画像処理に要する期間を出力するモデルを構築し、定められた目的関数の値を最適化する学習を行うことができればよい。
【0083】
従って、例えばニューラルネットワークによる機械学習が行われる場合、モデルを構成する層の個数やノードの個数、活性化関数の種類、目的関数の種類、勾配降下法の種類、勾配降下法の最適化アルゴリズムの種類、ミニバッチ学習の有無やバッチの個数、学習率、初期値、過学習抑制手法の種類や有無、畳み込み層の有無、畳み込み演算におけるフィルターのサイズ、フィルターの種類、パディングやストライドの種類、プーリング層の種類や有無、全結合層の有無、再帰的な構造の有無など、種々の要素を適宜選択して機械学習が行われればよい。むろん、他の種類のモデル、例えば、サポートベクターマシンやクラスタリング、強化学習、ランダムフォレスト等の機械学習が行われてもよい。
【0084】
さらに、モデルの構造(例えば、層の個数や層毎のノードの個数等)が最適化される機械学習が行われてもよい。さらに、機械学習は複数段階に分割されて実行されてもよい。さらに、サーバーにおいて機械学習が行われる構成において、複数のクライアントから教師データが収集され、この教師データに基づいて機械学習が行われる構成であってもよい。
【0085】
情報取得部は、モデルに入力される情報を取得できればよい。例えば、情報取得部は、ユーザーからの入力に基づいてモデルに入力される情報を取得してもよいし、外部の装置からモデルに入力される情報を取得してもよいし、画像データを解析することにより取得してもよい。
予測部は、画像データの属性情報と画像処理に関する設定情報とのうちの少なくとも1つから画像処理に要する期間を予測できればよい。予測部は、機械学習されたモデルを用いて画像処理に要する期間を予測してもよいし、機械学習されていないモデル(例えば、既定の関数等)を用いて画像処理に要する期間を予測してもよい。
【0086】
記憶制御部は、情報取得部によりモデルに入力される情報として取得された情報と、画像処理に実際に要した期間と、を対応づけたデータを、モデルの再度の機械学習のための教師データとしていずれかの記憶部に記憶できればよい。記憶制御部は、自装置の記録媒体に限らず、例えば、外部の記録媒体等に、このデータを記憶してもよい。
分配部は、予測部により複数の画像データそれぞれについて予測された期間に基づいて、前記複数の画像データそれぞれに前記画像処理を行う複数のジョブそれぞれを、複数の画像処理装置に分配することができればよい。
例えば、分配部は、印刷対象の画像データについての画像処理に要する期間の予測の完了順に、最も早く画像処理を完了できる画像処理装置に対して分配することとしてもよい。複数の印刷ジョブそれぞれをランダムに複数の画像処理装置のいずれかに分配する場合、特定の画像処理装置に印刷ジョブが集中して、全ての印刷ジョブについての画像処理が完了するまで過大な期間を要する場合がある。分配部は、以上の構成により、複数の画像データ全てについての画像処理が完了するまでの期間が過大となることを防止できる。
また、分配部は、複数のジョブとして画像処理の実行を含むジョブならば任意のジョブを分配できる。例えば、分配部は、印刷までを指示しない画像処理のジョブを分配することとしてもよい。
【0087】
さらに本発明は、コンピューターが実行するプログラムや、方法としても適用可能である。また、以上のようなプログラム、方法は、単独の装置として実現される場合もあれば、複数の装置が備える部品を利用して実現される場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、プログラムの記録媒体としても発明は成立する。むろん、そのプログラムの記録媒体は、磁気記録媒体であってもよいし半導体メモリー等であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【0088】
1…コンピューター、2…クライアントPC、3…画像処理装置、4…プリンター、10…プロセッサー、11…機械学習プログラム、11a…教師データ取得部、11b…学習部、12…期間予測プログラム、12a…情報取得部、12b…予測部、12c…処理部、12d…記憶制御部、12e…分配部、20…HDD、20a…教師データ、20b…訓練モデル、20c…学習済モデル、20d…テストデータ、30…通信インターフェース、40…プロセッサー、41…画像処理アプリケーション、50…HDD、60…通信インターフェース、70…デバイスインターフェース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10