(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-14
(45)【発行日】2023-11-22
(54)【発明の名称】システムおよびその制御方法、並びにプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20231115BHJP
H04N 1/00 20060101ALI20231115BHJP
B41J 29/38 20060101ALI20231115BHJP
【FI】
G06F3/12 354
H04N1/00 127A
H04N1/00 127B
B41J29/38 202
G06F3/12 305
G06F3/12 387
G06F3/12 373
G06F3/12 356
(21)【出願番号】P 2019220513
(22)【出願日】2019-12-05
【審査請求日】2022-12-02
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】松下 和正
(72)【発明者】
【氏名】吉田 将敬
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2018-069684(JP,A)
【文献】特開2015-176293(JP,A)
【文献】特開2006-315247(JP,A)
【文献】特開2014-149624(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09- 3/12
B41J 29/00-29/70
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
複数の設定項目に対する設定値を含む印刷設定情報を取得する取得手段と、
前記取得手段にて取得した印刷設定情報のうちの着目する設定項目のデータを教師データとし、当該印刷設定情報のうちの着目する設定項目以外のデータを入力データとした学習用データを生成する生成手段と、
前記学習用データを用いて、前記着目する設定項目の推奨値を出力データとして出力する学習済モデルを生成するための学習を行う学習手段と
を有
し、
前記印刷設定情報は、対応する印刷処理がユーザ指示により中断されたか否かのステータス情報を含み、
前記生成手段は、前記ステータス情報に基づいて、学習用データを生成するシステム。
【請求項2】
前記印刷設定情報は、ユーザを識別するための識別情報を含み、
前記生成手段は、前記識別情報を前記学習用データの入力データに含める請求項
1に記載のシステム。
【請求項3】
複数の設定項目に対する設定値を含む印刷設定情報を取得する取得工程と、
前記取得工程にて取得した印刷設定情報のうちの着目する設定項目のデータを教師データとし、当該印刷設定情報のうちの着目する設定項目以外のデータを入力データとした学習用データを生成する生成工程と、
前記学習用データを用いて、前記着目する設定項目の推奨値を出力データとして出力する学習済モデルを生成するための学習を行う学習工程と
を有
し、
前記印刷設定情報は、対応する印刷処理がユーザ指示により中断されたか否かのステータス情報を含み、
前記生成工程では、前記ステータス情報に基づいて、学習用データを生成することを特徴とするシステムの制御方法。
【請求項4】
コンピュータを、
複数の設定項目に対する設定値を含む印刷設定情報を取得する取得手段、
前記取得手段にて取得した印刷設定情報のうちの着目する設定項目のデータを教師データとし、当該印刷設定情報のうちの着目する設定項目以外のデータを入力データとした学習用データを生成する生成手段、
前記学習用データを用いて、前記着目する設定項目の推奨値を出力データとして出力する学習済モデルを生成するための学習を行う学習手段
として機能させるためのプログラム
であって、
前記印刷設定情報は、対応する印刷処理がユーザ指示により中断されたか否かのステータス情報を含み、
前記生成手段は、前記ステータス情報に基づいて、学習用データを生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムおよびその制御方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、プリンタへの印刷指示は、プリンタが備えるタッチパネルや、スマートフォンなどの携帯端末或いはPCといった装置(以下、指示装置と称する)から行われる。指示装置は、例えば特許文献1に記載されているように、指示に関する設定画面を表示する。プリンタは、設定画面に入力された印刷設定に基づき印刷動作を行う。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
指示装置を用いた印刷指示を行う場合に、ユーザの所望の記録が行われない場合がある。例えば、ユーザが2in1での印刷を所望していた場合でも、入力された指示が1in1であれば、当然ながら1in1での印刷が行われる。このような状況は、ユーザが2in1と入力すべきところを1in1と誤入力した場合にも発生するし、デフォルトの設定画面で1in1の指示となっており、ユーザがその指示を変更し忘れた場合にも発生する。ユーザが所望していない記録が行われると、再度の記録を行う必要が生じる。その結果、記録材(例えばインクやトナー)や記録媒体(例えば紙)の無駄な消費につながる。また、記録時間も無駄に費やすことになってしまう。
【0005】
本発明は、上記課題を鑑み、ユーザが所望していない記録が行われてしまうことを抑制することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明は以下の構成を有する。すなわち、複数の設定項目に対する設定値を含む印刷設定情報を取得する取得手段と、
前記取得手段にて取得した印刷設定情報のうちの着目する設定項目のデータを教師データとし、当該印刷設定情報のうちの着目する設定項目以外のデータを入力データとした学習用データを生成する生成手段と、
前記学習用データを用いて、前記着目する設定項目の推奨値を出力データとして出力する学習済モデルを生成するための学習を行う学習手段と
を有し、
前記印刷設定情報は、対応する印刷処理がユーザ指示により中断されたか否かのステータス情報を含み、
前記生成手段は、前記ステータス情報に基づいて、学習用データを生成するシステム。
【発明の効果】
【0007】
本発明により、ユーザが所望していない記録が行われてしまうことを抑制することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】本発明に係る処理システムの構成例を示す図。
【
図2】本発明の一実施形態に係る各サーバーのハードウェア構成の例を示す図。
【
図3】本発明の一実施形態に係るスマートフォンのハードウェア構成の例を示す図。
【
図4】本発明の一実施形態に係るプリンタのハードウェア構成の例を示す図。
【
図5】本発明の一実施形態に係る各装置のソフトウェア構成の例を示す図。
【
図6】本発明の一実施形態に係る学習モデルおよび学習済モデルの入出力の構造を示す概念図。
【
図7】本発明の一実施形態に係る処理の流れを説明するための図。
【
図8】本発明の一実施形態に係る画面の構成例を示す図。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
<第1の実施形態>
以下、本発明の第1の実施形態について詳細に説明する。
【0011】
[システム構成]
図1は、本実施形態に係る処理システム100の構成例を示す図である。処理システム100は、ローカルエリアネットワーク(LAN)102およびインターネット104で接続された、クラウドサーバー200、エッジサーバー300、プリンタ400、およびスマートフォン500を含んで構成される。エッジサーバー300、プリンタ400、およびスマートフォン500は、ローカルエリアネットワーク(LAN)102で相互に接続され、LAN102に設置されているルータ103を介してインターネット104と接続することが可能である。
【0012】
ルータ103は、LAN102とインターネット104を接続する機器として図示されているが、LAN102を構成する無線LANアクセスポイント機能を持たせることも可能である。この場合、各デバイスは有線LANでルータ103と接続する以外に、無線LANでアクセスと接続してLAN102に参加するように構成することができる。例えば、プリンタ400は有線LANで接続し、スマートフォン500は無線LANで接続するように構成することも可能である。各デバイスおよびエッジサーバー300は、ルータ103を介して接続されたインターネット104を経由してクラウドサーバー200と相互に通信することが可能である。
【0013】
エッジサーバー300と各デバイスは、LAN102を経由して相互に通信することが可能である。また、スマートフォン500とプリンタ400は近距離無線通信101によって通信可能である。近距離無線通信101としては、Bluetooth(登録商標)規格やNFC(Near Field Communication)規格に則った無線通信を利用されてよい。また、スマートフォン500は、携帯電話回線網105とも接続されており、携帯電話回線網105を介してクラウドサーバー200と通信することもできる。
【0014】
なお、上記の構成は一例を示すものであり、これに限定するものではない。例えば、ルータ103がアクセスポイント機能を備えている例を示したが、アクセスポイントはルータ103と異なる装置で構成してもよい。また、エッジサーバー300と各デバイスの間の接続はLAN102以外の接続手段を用いるものであってもよい。例えば、無線LAN以外のLPWA(Low Power Wide Area)、ZigBee、Bluetooth(登録商標)、近距離無線通信などの無線通信や、USBなどの有線接続や赤外線通信などを用いるものであってもよい。
【0015】
また、
図1においては、デバイスであるプリンタ400やスマートフォン500がそれぞれ1台のみ示されているが、複数台のプリンタ400やスマートフォン500が設けられてよい。この場合、複数のプリンタ400に対してエッジサーバー300が管理を行うような構成であってもよい。また、複数のスマートフォン500それぞれが、プリンタ400に対する指示装置として動作してよい。
【0016】
[ハードウェア構成]
(サーバー装置)
図2は、本実施形態に係るクラウドサーバー200、およびエッジサーバー300として動作可能な情報処理装置のハードウェア構成の例を示すブロック図である。ここでは、クラウドサーバー200、エッジサーバー300のハードウェア構成は共通であるものとして説明する。サーバーは、装置全体の制御を行うメインボード210、ネットワーク接続ユニット201、およびハードディスクユニット202を含んで構成される。メインボード210において、CPU211は、内部バス212を介して接続されているプログラムメモリ213に格納されている制御プログラムと、データメモリ214の内容とに従って動作する。CPU211は、ネットワーク制御回路215を介してネットワーク接続ユニット201を制御することで、インターネット104やLAN102などのネットワークと接続し、他の装置との通信を行う。CPU211は、ハードディスク制御回路216を経由して接続されたハードディスクユニット202に対して、データの読み書きを実行することができる。
【0017】
ハードディスクユニット202には、プログラムメモリ213にロードして使用されるオペレーティングシステム(OS)や各種制御ソフトウェアが格納されるほか、各種のデータも格納される。メインボード210にはGPU217が接続されており、各種演算処理をCPU211の代わりに実行させることが可能である。GPU217はデータをより多く並列処理することで効率的な演算を行うことができる。そのため、ディープラーニングのような機械学習による、学習モデルを用いた複数回に渡る学習を行う場合には、GPU217で処理を行うことが有効である。
【0018】
本実施形態では、後述の学習部251による処理にはCPU211に加えてGPU217を用いるものとする。具体的には、学習モデルを含む学習プログラムを実行する場合に、CPU211とGPU217が協働して演算を行うことで学習を行う。なお、学習部251の処理はCPU211またはGPU217のみにより演算が行われても良い。また、推定部351も学習部251と同様にCPU211またはGPU217を用いても良い。また、本実施形態では、クラウドサーバー200がエッジサーバー300と共通の構成を使用するものとして説明したが、この構成に限られるものではない。例えば、クラウドサーバー200にはGPU217を搭載するがエッジサーバー300では搭載しない構成を取ってもよいし、異なる性能のGPU217を用いるものとして構成してもよい。
【0019】
(スマートフォン)
図3は、本実施形態に係るスマートフォン500のハードウェア構成の例を示すブロック図である。スマートフォン500は、装置全体の制御を行うメインボード510、無線LANユニット502、近距離無線通信ユニット501、回線接続ユニット503、およびタッチパネルディスプレイ504を含んで構成される。メインボード510において、CPU511は、内部バス512を介して接続されているROM形態のプログラムメモリ513に格納されている制御プログラムと、RAM形態のデータメモリ514の内容とに従って動作する。CPU511は、無線LAN制御回路515を介して無線LANユニット502を制御することで、他の通信端末装置と無線LAN通信を行う。
【0020】
CPU511は、近距離無線通信制御回路516を介して近距離無線通信ユニット501を制御することによって、他の近距離無線通信端末との接続を検知したり、他の近距離無線通信端末との間でデータの送受信を行ったりすることができる。また、CPU511は、回線制御回路517を介して回線接続ユニット503を制御することで、携帯電話回線網105に接続し、通話やデータ送受信を行うことができる。CPU511は、操作部制御回路518を制御することによってタッチパネルディスプレイ504に所望の表示を行ったり、ユーザからの操作を受け付けたりすることが可能である。CPU511はカメラ部519を制御して画像を撮影することができ、撮影した画像をデータメモリ514中の画像メモリ520に格納する。また、撮影した画像以外にも、携帯電話回線やLAN102や近距離無線通信101を通じて外部から取得した画像を画像メモリ520に格納したり、逆に外部に送信したりすることも可能である。
【0021】
不揮発性メモリ521はフラッシュメモリ等で構成され、電源をオフされた後でも保存しておきたいデータを格納する。例えば、電話帳データや、各種通信接続情報や過去に接続したデバイス情報などの他、保存しておきたい画像データ、あるいはスマートフォン500に各種機能を実現するアプリケーションソフトウェアなどが不揮発性メモリ521に格納される。
【0022】
(プリンタ)
図4は、本実施形態に係る画像処理装置であるプリンタ400のハードウェア構成の例を示すブロック図である。プリンタ400は、装置全体の制御を行うメインボード410、無線LANユニット420、近距離無線通信ユニット421、および操作パネル422を含んで構成される。メインボード410において、CPU411は、内部バス419を介して接続されているROM形態のプログラムメモリ412に格納されている制御プログラムと、RAM形態のデータメモリ413の内容とに従って動作する。CPU411はスキャナ部414を制御して紙等の原稿を読み取り、データメモリ413中の画像メモリ423に格納する。また、CPU411は、印刷部415を制御してデータメモリ413中の画像メモリ423の画像を記録媒体に印刷することで印刷処理を行う。
【0023】
CPU411は、無線LAN通信制御回路416を通じて無線LANユニット420を制御することで、他の通信端末装置と無線LAN通信を行う。また、CPU411は、近距離無線通信制御回路417を介して近距離無線通信ユニット421を制御することによって、他の近距離無線通信端末との接続を検知したり、他の近距離無線通信端末との間でデータの送受信を行ったりすることができる。CPU411は、操作部制御回路418を制御することによって、操作パネル422にプリンタ400の状態の表示や機能選択メニューの表示を行ったり、ユーザからの操作を受け付けたりすることが可能である。
【0024】
[ソフトウェア構成]
図5は、本実施形態に係る処理システム100を構成する各装置のソフトウェア構成の例を示す図である。ここでは、ソフトウェア構成のうち、本実施形態に係る学習および推定の処理に関わるものについてのみ記載しており、その他のソフトウェアモジュールについては不図示としている。例えば、各デバイスやサーバー上で動作するOSや各種ミドルウェア、メンテナンスのためのアプリケーション等については図示を省略している。
【0025】
クラウドサーバー200は、学習用データ生成部250、学習部251、および学習モデル252を備える。学習用データ生成部250は、外部から受信したデータから、学習部251が処理可能な学習用データを生成するモジュールである。学習用データは、学習部251の入力データXと、学習の結果の正解を示す教師データTの組である。学習部251は、学習用データ生成部250から受け取った学習用データを学習モデル252に対する学習を実行するプログラムモジュールである。学習モデル252は、学習部251で行った学習の結果を蓄積する。ここでは学習モデル252をニューラルネットワークとして実現する例を説明する。ニューラルネットワークの各ノード間の重み付けパラメータを最適化することにより、入力データを分類したり、評価値を決定したりすることができる。学習の結果として蓄積された学習モデル252は、エッジサーバー300に学習済モデルとして配信され、エッジサーバー300における推定処理に用いられる。
【0026】
エッジサーバー300は、データ収集・提供部350、推定部351、および学習済モデル352を備える。データ収集・提供部350は、外部装置(例えば、プリンタ400)から受信したデータや、エッジサーバー300が自ら収集したデータを、クラウドサーバー200に学習に用いるためのデータ群として送信するモジュールである。推定部351は、プリンタ400から送られるデータを基に、学習済モデル352を用いて推定を実行し、その結果をプリンタ400に返送するプログラムモジュールである。プリンタ400から送られるデータは、推定部351の入力データXとして利用可能なデータである。学習済モデル352は、エッジサーバー300で行う推定に用いられる。学習済モデル352も学習モデル252と同様にニューラルネットワークとして実現されるものとする。学習済モデル352は、クラウドサーバー200で蓄積して配信された学習モデル252を格納する。学習済モデル352は、学習モデル252の全部を配信するものであってもよいし、学習モデル252のうち、エッジサーバー300での推定に必要な一部分だけを抜き出して配信するものであってもよい。
【0027】
プリンタ400は、アプリケーション部450、およびデータ送受信部451を備える。アプリケーション部450は、プリンタ400で実行する各種の機能を実現するモジュールであり、機械学習による学習・推定の仕組みを利用するモジュールである。データ送受信部451は、エッジサーバー300に学習または推定を依頼するモジュールである。学習時には、アプリケーション部450からの依頼により学習に用いるデータをエッジサーバー300のデータ収集・提供部350に送信する。また、推定時には、アプリケーション部450からの依頼により、推定に用いるデータをエッジサーバー300に送信し、その結果を受信してアプリケーション部450に返す。
【0028】
スマートフォン500は、アプリケーション部530を備える。アプリケーション部530は、プリンタ400が提供する各機能を利用するためのアプリケーションである。例えば、アプリケーション部530は、プリンタ400を用いて印刷を行う際の印刷設定画面を提供したり、プリンタ400への印刷指示(印刷ジョブ)の送信を行ったりする。
【0029】
なお、本実施形態では、クラウドサーバー200による学習処理の結果をエッジサーバー300に学習済モデル352として配信し、推定に利用する形態を示したが、この形態に限定されるものではない。学習、推定をそれぞれ、クラウドサーバー200、エッジサーバー300、もしくはプリンタ400のどこで実行するかは、ハードウェア資源の配分や計算量、データ通信量の大小に応じて構成を決定すればよい。あるいはこれら資源の配分や計算量、データ通信量の増減に応じて動的に変えるように構成してもよい。学習と推定を行う主体が異なる場合、推定側は推定のみで使用するロジックや学習済モデル352の容量を削減したり、より高速で実行できるように構成したりすることが可能である。
【0030】
[学習モデル]
図6は、学習モデル252、および学習済モデル352を利用する際の入出力の構造を説明するための概念図である。本実施形態に係る学習モデル252および学習済モデル352は、ニューラルネットワークにて構成され、入力層、隠れ層、出力層を含んで構成される。
【0031】
図6(a)は、学習時における、学習モデル252とその入出力データの関係を示す。入力データX601は、学習モデル252の入力層に入力されるデータである。本実施形態に係る入力データXの詳細は後述する。学習時には、入力データX601に対する推定結果の正解データとして教師データT603が与えられるため、出力データY602と教師データT603を損失関数604に与えることにより、認識結果の正解からのずれ量L605が得られる。多数の学習用データに対してずれ量L605が小さくなるように、学習モデル252中のニューラルネットワークのノード間の結合重み付け係数等を更新する。誤差逆伝播法は、上記の誤差が小さくなるように、各ニューラルネットワークのノード間の結合重み付け係数等を調整する手法である。学習モデルである学習モデル252を用いて認識した結果として、出力データY602が出力される。本実施形態では、印刷設定の設定項目に対するパラメータ推定を扱う。したがって、入力データX601として入力された各種情報に基づき、印刷設定の設定値の確率を推定する。機械学習の具体的なアルゴリズムとしては、最近傍法、ナイーブベイズ法、決定木、サポートベクターマシン、最尤推定法やベイズ推定法などが挙げられる。また、ニューラルネットワークを利用して、学習するための特徴量、結合重み付け係数を自ら生成する深層学習(ディープラーニング)も挙げられる。学習方法やアルゴリズムは特に限定するものではなく、適宜、機械学習アルゴリズムのうち利用できるものを用いて本実施形態に適用してよい。
【0032】
図6(b)は、推定時における、学習済モデル352とその入出力データの関係を示す。入力データX611は、学習済モデル352の入力層のデータである。本実施形態に係る入力データXの詳細は後述する。入力データX611を機械学習モデルである学習済モデル352を用いて認識した結果として出力データY612が出力される。推定時には、この出力データY612が、推定結果として利用される。なお、推定時の学習済モデル352は、学習時の学習モデル252と同等のニューラルネットワークを備えるものとして説明したが、推定で必要な部分のみを抽出したものを学習済モデル352として用意することもできる。これによって学習済モデル352のデータ量を削減したり、推定時のニューラルネットワーク処理時間を短縮したりすることが可能である。
【0033】
[データ構成]
本実施形態にて用いるデータについて説明する。本実施形態に係る処理システム100において、エッジサーバー300は、接続されたプリンタ400から印刷に用いられた印刷設定を収集する。ここで収集される印刷設定の各項目やその設定値は、プリンタ400の機能に応じて様々なものが含まれてよい。また、印刷が行われた際の時刻情報や印刷対象となった画像データの情報が併せて収集されてよい。また、プリンタ400の操作パネル422を介して印刷指示を行ったか、外部の指示装置(例えば、スマートフォン500)を介して印刷指示を行ったかの情報を含めてもよい。クラウドサーバー200の学習用データ生成部250は、エッジサーバー300が収集したデータの中から学習処理に用いられる学習用データを生成する。
【0034】
本実施形態に係る学習モデル252は、学習用データとして、印刷設定項目およびその設定値、画像データの種類(データ形式)などを用いる。また、出力データY602として、着目する設定項目の設定値を出力する。具体的には、例えば、プリンタ400から提供される情報のうち設定項目「カラーモード」に着目する。この場合に、設定項目「カラーモード」に設定された設定値を教師データT603とし、その着目した設定項目以外のデータを入力データX601とした対のデータを学習用データとして生成する。そして、この学習用データを用いて学習を繰り返す。従って、プリンタ400から提供された1の印刷設定情報から、複数の設定項目それぞれに着目した複数の学習用データが生成されてよい。
【0035】
一方、推定時には、学習結果として得られた学習済モデル352に、入力データX611として印刷設定項目およびその設定値、画像データの種類(データ形式)などを入力することで、着目する設定項目の設定値が推定されることとなる。このとき、着目する設定項目ごとに別個の学習済モデルが用いられてもよい。
【0036】
[全体動作]
図7は、本実施形態に係る処理システム100全体の動きを説明するための図である。ここでは、スマートフォン500から印刷指示を行う場合を例に挙げて説明するが、プリンタ400の操作パネル422に表示される操作画面(不図示)や、他の指示装置を介して印刷指示を行う場合も同様の処理が行われるものとする。また、以下の説明では、学習フェーズと推定フェーズを分けて説明するが、これらの処理は、それぞれ別個に実行されてもよいし、並行して実行されてもよい。
【0037】
(学習フェーズ)
図7(a)は、学習時の処理システム100全体の動きを示す。各装置の処理は、各装置のCPUやGPUが記憶部に記憶されたプログラムを読み出して実行することにより実現される。
【0038】
S701にて、スマートフォン500は、アプリケーション部530を介して印刷設定を受け付け、印刷指示をプリンタ400に送信する。ここでの印刷指示には印刷設定や印刷対象となる画像データなどの情報が含まれる。
【0039】
S702にて、プリンタ400は、スマートフォン500から受け付けた印刷指示に含まれる各種情報をエッジサーバー300に送信する。ここでの送信タイミングは、プリンタ400の印刷が完了した時点でもよいし、印刷が完了する前に送信してもよい。印刷が完了した場合には、その印刷結果もエッジサーバー300に送信してよい。
【0040】
S703にて、エッジサーバー300は、学習依頼と共に、プリンタ400から受信した各種情報をクラウドサーバー200に送信する。ここでの送信タイミングは、一定量のデータが蓄積されたタイミングでもよいし、定期的に送信してもよい。
【0041】
S704にて、クラウドサーバー200は、エッジサーバー300から受信した各種データを用いて学習用データを生成する。上述したように、本実施形態では、入力データX601と教師データT603との対からなる学習用データが生成される。また、学習用データは、着目する設定項目ごとに生成されてよい。そして、クラウドサーバー200は、生成した学習用データを用いて学習処理を行うことで、学習モデル252を更新する。
【0042】
S705にて、クラウドサーバー200は、学習処理の結果として得られた学習済モデル352をエッジサーバー300に配信する。上述したように、ここで配信される学習済モデル352は、学習モデル252の全部であってもよいし、学習モデル252の一部から生成されてもよい。また、複数の学習済モデル352が生成されてもよい。エッジサーバー300は、配信された学習済モデル352を用いて以降の推定処理を行う。
【0043】
なお、ここでは学習依頼を行う場合、プリンタ400からエッジサーバー300を経由してクラウドサーバー200に学習依頼が送信される場合を説明したが、これに限るものではない。例えば、プリンタ400からクラウドサーバー200へ直接送信するように構成してもよい。また、クラウドサーバー200で学習が行われる毎にエッジサーバー300への学習済モデル352の配信が行われるように説明したが、大量の学習がクラウドサーバー200で行われる場合には都度配信しなくてもよい。例えば、定期的に学習済モデル352の配信を行ってもよいし、エッジサーバー300から必要に応じて配信要求を出し、その応答として学習済モデル352の配信を行うように構成してもよい。
【0044】
学習フェーズについて、具体例を用いて説明する。
図8(a)は、スマートフォン500のタッチパネルディスプレイ504上に表示される印刷設定画面800の構成例を示す。印刷設定画面800には、印刷対象として選択された画像データのプレビュー画像801が表示される。また、ボタン802が押下されることで、印刷対象を変更する画面(不図示)に遷移可能である。領域803には、印刷を行うプリンタの情報が表示され、領域803を選択することで、他のプリンタを選択可能に構成される。また、領域804を選択することで、印刷設定を変更する画面(不図示)に遷移可能である。領域805には、現時点で選択されている印刷設定の情報が表示されている。ボタン806が押下された際には、印刷指示がプリンタ400に送信される。ここでは、印刷設定画面800において、画像ファイルを印刷対象とし、以下の印刷設定が行われている。
【0045】
プリンタ:XXX YT8000 series
部数設定:1部
用紙サイズ:A4
両面印刷:なし
用紙の種類:普通紙
フチ設定:なし
カラーモード:カラー
【0046】
このような印刷指示がプリンタ400に対して行われた場合、この情報が、プリンタ400からエッジサーバー300を介してクラウドサーバー200に提供される。ここでの印刷設定情報としては、学習処理で用いられる上記の各種情報を含むものとし、ここでは、ユーザ情報、印刷対象の情報、印刷設定項目およびその設定値などが含まれる。
【0047】
(推定フェーズ)
図7(b)は、推定時の処理システム100全体の動きを示す。各装置の処理は、各装置のCPUやGPUが記憶部に記憶されたプログラムを読み出して実行することにより実現される。
【0048】
S711にて、スマートフォン500は、アプリケーション部530を介して印刷設定を受け付ける。スマートフォン500は、プリンタ400に受け付けた印刷設定を送信する。この時点では、印刷指示は行われていないものとする。ここでの印刷設定には、推定フェーズのS701にて送信した印刷指示と同等の情報が含まれているものとする。
【0049】
S712にて、プリンタ400は、スマートフォン500から受信した印刷設定と共に推定依頼をエッジサーバー300に送信する。
【0050】
S713にて、エッジサーバー300は、プリンタ400から受信した推定依頼に基づき、学習済モデル352の入力データX611を生成する。そして、エッジサーバー300は、生成した入力データX611を学習済モデル352に入力することで、推定結果となる出力データY612を得る。ここでは、着目する設定項目ごとに推定処理が行われてよい。
【0051】
S714にて、エッジサーバー300は、推定結果をプリンタ400に送信する。このとき、現在設定されている設定値と、推定された設定値との間に差異がある設定項目に対しては、推定された値(推奨値)を併せて送信してよい。
【0052】
S715にて、プリンタ400は、エッジサーバー300から受信した推定結果に基づき、スマートフォン500に対し通知を行う。本実施形態では、現在の設定値と推定された設定値との差異がある場合には、その設定値で良いかの確認画面をスマートフォン500に表示させるように制御を行う。
【0053】
S716にて、スマートフォン500は、プリンタ400から受信した通知に基づき、推定結果の表示を行う。本実施形態では、本実施形態では、現在の設定値と推定された設定値との差異がある場合には、その設定値で良いかの確認画面を表示し、無い場合には確認画面の表示を行わないものとする。
【0054】
推定フェーズについて、具体例を用いて説明する。
図8(a)に示したように、スマートフォン500のタッチパネルディスプレイ504において、以下の設定が入力されたものとする。
プリンタ:XXX YT8000 series
部数設定:1部
用紙サイズ:A4
両面印刷:なし
用紙の種類:普通紙
フチ設定:なし
カラーモード:カラー
【0055】
このような設定が選択された場合、この設定情報と併せて推定依頼が、プリンタ400からエッジサーバー300に送信される。そして、エッジサーバー300による推定処理の結果、設定項目「カラーモード」の設定値「モノクロ」が推奨値として推定されたとする。この場合に、
図8(b)に示す確認画面810がスマートフォン500により表示される。
【0056】
確認画面810において、上述したような推奨値とは異なる設定値の情報と併せて、確認メッセージ811が表示される。上記の例では、確認メッセージ811として、「カラーでの印刷設定になっていますが、この印刷設定のまま印刷をしてよろしいですか?」と表示されている。ボタン812が押下された場合には、設定されている印刷設定に基づき、印刷指示がプリンタ400に送信される。ボタン813が押下された場合には、印刷設定を変更するための画面(不図示)に遷移し、設定変更を受け付ける。
【0057】
以上、本実施形態により、ユーザが所望していない記録が行われてしまうことを抑制することが可能となる。
【0058】
なお、
図7(b)の例では、S711の印刷送信のタイミングは、印刷設定を受け付けたタイミングとしたが、これに限定するものではない。例えば、ユーザが印刷設定を指定し、ボタン806を押下したタイミングであってもよい。この場合、プリンタ400は、印刷動作を行う前に推定処理を行い、その結果に基づいて、印刷を実行するか、スマートフォン500に確認画面810を表示させるかを切り替えてもよい。
【0059】
また、
図8(b)の例では、1つの設定項目についてのみ確認メッセージを表示する例を示したが、複数の設定項目について確認メッセージを表示するような構成であってもよい。
【0060】
また、
図8(b)の例では、確認画面810を印刷設定画面800に重畳して表示したが、これに限定するものではない。例えば、画面遷移により確認画面を表示してもよい。もしくは、対象となる印刷設定項目や設定値に対し、点滅したり色が変わったりするなどして、確認の必要性がある箇所を強調させてもよい。
【0061】
また、上記の例では、設定項目の確認を促すメッセージのみを表示したが、これに限定するものではない、例えば、推奨値を併せて推定するような構成であってもよい。この場合、確認画面810において、推奨する設定値を併せて通知してもよい。例えば、上記の例だと、「カラーでの印刷設定になっておりますが、他の印刷設定を考慮し、インク消費量が多くなりそうです。この点からモノクロ印刷をおすすめしますが、このままカラー印刷をしてよろしいでしょうか。」など、理由と併せて推奨内容を表示してもよい。
【0062】
また、上記の例では、推定結果に基づき、確認画面810を表示する例を示した。しかしこの構成に限定するものではなく、他の方法であってもよい。例えば、推定結果に基づき、設定項目の値をその推定した推奨値に自動で切り替えるような構成であってもよい。具体的には、設定項目「カラーモード」に対して設定値「カラー」が設定されている場合に、推定結果として設定値「モノクロ」が推奨値として得られたとする。この場合、設定項目「カラーモード」に対して設定値「モノクロ」を自動で設定する。この場合、変更した旨を画面上で表示してもよいし、変更した設定項目を強調表示するなどしてもよい。これにより、学習により得られた内容を印刷設定に自動で反映でき、ユーザの利便性を向上させることができる。なお、推定結果に基づいて確認画面810を表示するか、自動で設定値を変更するかは、ユーザが予め設定可能であってよい。
【0063】
また、上記の実施形態では、学習フェーズにおいて、プリンタ400が印刷設定をエッジサーバー300に送信している(
図7(a)のS702)。この時、プリンタ400は、対応する印刷ジョブの実行のステータス情報を併せて送信してもよい。ここでのステータス情報としては、正常終了、中断、異常終了などが挙げられる。特に、ユーザからの指示に基づいて印刷を中断した場合には、印刷設定が間違っていた可能性がある。更に、その後、設定を変更した上で再度の印刷が行われた場合には、変更後の印刷設定がより適していたものと想定される。そのため、ユーザ指示により中断が行われた後に印刷設定を変更した上で、再度印刷指示を行った場合には、その情報を学習に用いるデータとして含めてよい。例えば、中断されて設定値が変更された場合、変更前の設定値に基づく印刷設定情報は、学習用データから除去するような構成であってもよい。このような情報を考慮して学習を行うことで、更に推定結果の精度を向上させることが可能となる。
【0064】
上記の実施形態では、クラウドサーバー200がネットワークに接続されたエッジサーバー300やプリンタ400からデータを収集した上で、学習を行っていた。この場合、多くのユーザによるプリンタ400の利用の傾向に基づいて学習が行われ、その結果、多くのユーザに対応可能な汎用的な学習済モデルが生成されることとなる。これに対し、特定のユーザに適応した学習済モデルを生成するような構成であってもよい。この場合、例えば、学習用データとして、ユーザを一意に識別するための識別情報を含めてもよい。これにより、ユーザに応じた推定結果を得ることが可能となる。なお、ここでの識別情報は、ユーザが入力するような構成であってもよいし、スマートフォン500などの指示装置に対応付けられた情報を用いてもよい。この構成では、クラウドサーバー200を利用する必要はない。そのため、例えば、LAN102に閉じた構成において、エッジサーバー300は、収集したデータを用いて学習を行い、その限られたネットワークを利用するユーザに適した学習済モデルを生成するような構成であってもよい。
【0065】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータがプログラムを読出し実行する処理でも実現可能である。コンピュータは、1または複数のプロセッサーまたは回路を有し、コンピュータ実行可能命令を読み出し実行するために、分離した複数のコンピュータまたは分離した複数のプロセッサーまたは回路のネットワークを含みうる。
【0066】
プロセッサーまたは回路は、中央演算処理装置(CPU)、マイクロプロセッシングユニット(MPU)、グラフィクスプロセッシングユニット(GPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートウェイ(FPGA)を含みうる。また、プロセッサーまたは回路は、デジタルシグナルプロセッサ(DSP)、データフロープロセッサ(DFP)、またはニューラルプロセッシングユニット(NPU)を含みうる。
【0067】
記憶媒体は、非一時的なコンピュータ可読媒体とも称することができる。また、記憶媒体は、1または複数のハードディスク(HD)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、分散コンピューティングシステムの記憶装置を含みうる。また、記憶媒体は、光ディスク(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、またはブルーレイディスク(BD、登録商標))、フラッシュメモリデバイス、及びメモリカードを含みうる。
【符号の説明】
【0068】
100…処理システム、200…クラウドサーバー、300…エッジサーバー、400…プリンタ、500…スマートフォン