(57)【要約】      （修正有）【課題】画像処理装置を用いる特定動作の完結を早めるための予備動作を、画像処理装置が効率的に行うプログラム及び電子デバイスを提供する。【解決手段】電子デバイス１は、ミリ波レーダ１５とユーザＩＦ１３とを備える。特定動作の実行指示の入力を受け付ける特定オブジェクトをユーザＩＦ１３に表示させ、その特定オブジェクトへの操作を受け付けた場合にプリンタ３に特定動作を実行させる。さらに電子デバイス１は、ユーザＩＦ１３に表示されている特定オブジェクトの画面内の位置を取得し、ミリ波レーダ１５から出力される波形信号に基づいて、指先の位置を取得し、取得された指先の位置が特定オブジェクトの位置に基づく所定範囲内にあるか否かを判断し、所定範囲内にあると判断した場合、特定動作の完結を早める予備動作の実行を指示する予備動作コマンドをプリンタ３に送信する。【選択図】図１
2022000731.tif 000002
【特許請求の範囲】
【請求項１】
電磁波センサと表示器とを備える電子デバイスのコンピュータによって実行可能なプログラムであって、前記電磁波センサは、波長がミリメートル単位あるいはミリメートルよりも小さい単位の電磁波を受信し、受信した電磁波に基づく波形信号を出力するセンサであり、
前記コンピュータに、
特定動作の実行指示の入力を受け付けるオブジェクトを前記表示器の画面に表示させ、前記オブジェクトへの操作を受け付けた場合に、前記特定動作を行う処理を実行させ、前記特定動作には、画像処理装置を制御する動作が含まれ、
さらに前記コンピュータに、
前記表示器の画面に表示されている前記オブジェクトの前記画面内の位置を取得する第１取得処理と、
少なくとも前記オブジェクトが前記表示器に表示されている期間中、前記電磁波センサから出力される前記波形信号に基づいて、指示子の位置を取得する第２取得処理と、
前記第２取得処理によって取得された前記指示子の位置が、前記第１取得処理によって取得された前記オブジェクトの位置に基づく所定範囲内にあるか否かを判断する判断処理と、
前記判断処理にて前記指示子の位置が前記所定範囲内にあると判断された場合、前記特定動作の完結を早める予備動作の実行を指示する予備動作コマンドを、前記画像処理装置に送信する予備処理と、
を実行させる、
ことを特徴とするプログラム。
【請求項２】
請求項１に記載するプログラムにおいて、
前記特定動作は、画像処理の実行を指示する画像処理コマンドを前記画像処理装置に送信する動作であり、
前記予備処理では、
前記画像処理の実行開始前に実行される前記予備動作の実行を指示する前記予備動作コマンドを、前記画像処理装置に送信する、
ことを特徴とするプログラム。
【請求項３】
請求項２に記載するプログラムにおいて、
前記予備動作は、前記画像処理装置をスリープ状態から非スリープ状態に切り替える復帰動作であり、前記画像処理装置は、前記スリープ状態の場合、前記非スリープ状態と比較して消費電力が小さく、前記画像処理が不可能であり、
前記予備処理では、
前記復帰動作の実行を指示する前記予備動作コマンドを、前記画像処理装置に送信し、前記画像処理装置は、前記予備動作コマンドを受信した場合、前記スリープ状態であれば前記非スリープ状態に切り替える、
ことを特徴とするプログラム。
【請求項４】
請求項２に記載するプログラムにおいて、
前記特定動作は、前記画像処理の１つである印刷の実行を指示する印刷コマンドを前記画像処理装置に送信する動作であり、
前記予備動作は、印刷を開始する前に印刷を可能にするために実行する先行動作であり、前記画像処理装置は、前記印刷コマンドを受信した場合に、前記先行動作が完了した後、印刷を開始し、
前記予備処理では、
前記先行動作の実行を指示する前記予備動作コマンドを、前記画像処理装置に送信し、前記画像処理装置は、前記予備動作コマンドを受信した場合、前記先行動作の実行を開始する、
ことを特徴とするプログラム。
【請求項５】
請求項１に記載するプログラムにおいて、
前記特定動作は、前記電子デバイスと接続するデバイスを検索する検索コマンドを送信し、前記検索コマンドに応答コマンドを応答したデバイスの一覧を前記表示器に表示させ、一覧表示されたデバイスの中から制御対象を決定する、動作であり、前記画像処理装置は、前記検索コマンドを受信した場合に、前記検索コマンドの送信元に前記応答コマンドを応答し、
前記予備処理では、
前記予備動作コマンドとして、前記検索コマンドを前記画像処理装置に送信する、
ことを特徴とするプログラム。
【請求項６】
請求項１に記載するプログラムにおいて、
前記特定動作は、前記画像処理装置にステータスの送信を要求するステータスコマンドを送信し、前記ステータスコマンドに応じて前記画像処理装置から受信したステータス情報を前記表示器に表示させる、動作であり、前記画像処理装置は、前記ステータスコマンドを受信した場合に、前記ステータスコマンドの送信元に前記画像処理装置のステータスを示す前記ステータス情報を応答し、
前記予備処理では、
前記予備動作コマンドとして、前記ステータスコマンドを前記画像処理装置に送信する、
ことを特徴とするプログラム。
【請求項７】
請求項１から請求項６のいずれか１つに記載するプログラムにおいて、
前記コンピュータに、
前記第１取得処理にて取得した前記オブジェクトの位置から前記表示器の前記画面と直交する方向に、前記第２取得処理によって取得された前記指示子の位置がある場合に、前記判断処理および前記予備処理を実行させる、
ことを特徴とするプログラム。
【請求項８】
請求項１から請求項７のいずれか１つに記載するプログラムにおいて、
前記予備処理では、
前記第２取得処理によって取得された前記指示子の位置が前記所定範囲外から前記所定範囲内になった場合に、前記予備動作コマンドを前記画像処理装置に送信する、
ことを特徴とするプログラム。
【請求項９】
請求項１から請求項７のいずれか１つに記載するプログラムにおいて、
前記予備処理では、
前記第２取得処理によって取得された前記指示子の位置が前記所定範囲外から前記所定範囲内になったタイミングから一定期間にわたって前記指示子の位置が前記所定範囲内にある場合に、前記予備動作コマンドを前記画像処理装置に送信する、
ことを特徴とするプログラム。
【請求項１０】
電磁波センサと、
表示器と、
コンピュータと、
を備え、
前記電磁波センサは、波長がミリメートル単位あるいはミリメートルよりも小さい単位の電磁波を受信し、受信した電磁波に基づく波形信号を出力するセンサであり、
前記コンピュータは、
特定動作の実行指示の入力を受け付けるオブジェクトを前記表示器の画面に表示させ、前記オブジェクトへの操作を受け付けた場合に、前記特定動作を行う処理を実行し、前記特定動作には、画像処理装置を制御する動作が含まれ、
さらに前記コンピュータは、
前記表示器の画面に表示されている前記オブジェクトの前記画面内の位置を取得する第１取得処理と、
少なくとも前記オブジェクトが前記表示器に表示されている期間中、前記電磁波センサから出力される前記波形信号に基づいて、指示子の位置を検出する第２取得処理と、
前記第２取得処理によって取得された前記指示子の位置が、前記第１取得処理によって取得された前記オブジェクトの位置に基づく所定範囲内にあるか否かを判断する判断処理と、
前記判断処理にて前記指示子の位置が前記所定範囲内にあると判断された場合、前記特定動作の完結を早める予備動作の実行を指示する予備動作コマンドを、前記画像処理装置に送信する予備処理と、
を実行する、
ことを特徴とする電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、画像処理装置の制御を行うプログラムおよび電子デバイスに関する。
【背景技術】
【０００２】
画像処理装置の技術として、画像処理装置を用いる特定動作の実行指示が入力される前に、画像処理装置がその特定動作の完結を早めるための予備動作を行う技術が知られている。例えば特許文献１には、省電力モードを有する画像処理装置であって、省電力モード中、画像処理装置が有する人感センサが物体を検知した場合に、画像処理の完了を早めるための予備動作として、省電力モードを解除して通常電力モードに復帰させる構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１９−０５７９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のように、画像処理装置に人が近づいたことに応じて省電力モードを解除してしまうと、画像処理装置の利用以外の用事でたまたま画像処理装置の近くを通り過ぎたといったような、省電力モードの解除が不要な場合であっても、省電力モードを解除してしまう。そのため、予備動作の無駄が大きい。
【０００５】
本明細書は、画像処理装置を用いる特定動作の完結を早めるための予備動作を、画像処理装置が効率的に行うことができる技術を開示する。
【課題を解決するための手段】
【０００６】
この課題の解決を目的としてなされたプログラムは、電磁波センサと表示器とを備える電子デバイスのコンピュータによって実行可能なプログラムであって、前記電磁波センサは、波長がミリメートル単位あるいはミリメートルよりも小さい単位の電磁波を受信し、受信した電磁波に基づく波形信号を出力するセンサであり、前記コンピュータに、特定動作の実行指示の入力を受け付けるオブジェクトを前記表示器の画面に表示させ、前記オブジェクトへの操作を受け付けた場合に、前記特定動作を行う処理を実行させ、前記特定動作には、画像処理装置を制御する動作が含まれ、さらに前記コンピュータに、前記表示器の画面に表示されている前記オブジェクトの前記画面内の位置を取得する第１取得処理と、少なくとも前記オブジェクトが前記表示器に表示されている期間中、前記電磁波センサから出力される前記波形信号に基づいて、指示子の位置を取得する第２取得処理と、前記第２取得処理によって取得された前記指示子の位置が、前記第１取得処理によって取得された前記オブジェクトの位置に基づく所定範囲内にあるか否かを判断する判断処理と、前記判断処理にて前記指示子の位置が前記所定範囲内にあると判断された場合、前記特定動作の完結を早める予備動作の実行を指示する予備動作コマンドを、前記画像処理装置に送信する予備処理と、を実行させる、ことを特徴としている。
【０００７】
本明細書に開示されるプログラムを実行することで、電子デバイスは、特定動作の実行指示の入力を受け付けるオブジェクトの位置と指示子の位置とを取得し、所定範囲内に指示子の位置がある場合に、予備動作コマンドを画像処理装置に送信する。指示子がオブジェクトに近い範囲にある場合には、オブジェクトへの操作が行われる可能性があることから、画像処理装置に予備動作の実行を指示して、オブジェクトが操作される前に予備動作を開始させることで、特定動作の完結を早めることが期待できる。そして、オブジェクトが電子デバイスに表示され、指示子がそのオブジェクトに近い範囲にある状況では、特定動作の実行命令が入力される可能性が高いことから、予備動作が無駄になる可能性は低い。
【０００８】
上記プログラムの機能を実現する電子デバイス、プログラムの機能を実現するための制御方法、プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【０００９】
本明細書に開示される技術によれば、画像処理装置を用いる特定動作の完結を早めるための予備動作を、画像処理装置が効率的に行うことができる技術が実現される。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる電子デバイスの概略構成図である。
【図２】印刷実行時の動作手順の例を示すシーケンス図である。
【図３】編集画面の例を示す説明図である。
【図４】印刷実行画面の例を示す説明図である。
【図５】印刷処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、電子デバイスに組み込まれたプログラムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、スマートフォンなどの表示画面を備える電子デバイスに組み込まれたアプリケーションプログラム（以下、「アプリ」とする）を開示するものである。
【００１２】
本形態の電子デバイス１は、図１に示すように、ＣＰＵ１１と、メモリ１２と、を含むコントローラ１０を備える。さらに、電子デバイス１は、ユーザインタフェース（以下、「ユーザＩＦ」とする）１３と、通信インタフェース（以下、「通信ＩＦ」とする）１４と、ミリ波レーダ１５と、を備え、これらがコントローラ１０に電気的に接続されている。電子デバイス１は、例えば、プリンタ３に印刷させるための各種のアプリを実行可能な装置である。なお、図１中のコントローラ１０は、電子デバイス１の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際に電子デバイス１に存在する単一のハードウェアを表すとは限らない。
【００１３】
ＣＰＵ１１は、メモリ１２から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。ＣＰＵ１１は、コンピュータの一例である。メモリ１２は、ＲＯＭ、ＲＡＭを含み、さらにＨＤＤ、フラッシュメモリ等の不揮発性メモリを含み、各種のプログラムやデータを記憶する。
【００１４】
ユーザＩＦ１３は、表示機能を備えるハードウェアである表示画面１３１を含む。ユーザＩＦ１３は、表示器の一例である。本形態の電子デバイス１のユーザＩＦ１３は、表示機能と操作受付機能との両方を備えたタッチパネルである。本形態の電子デバイス１は、ユーザの操作を受け付けるためのオブジェクトを表示画面１３１に表示可能であり、表示中のオブジェクトへの指先などの指示子による接触や押圧によって操作を受け付ける。
【００１５】
通信ＩＦ１４は、プリンタ３等の外部装置との通信を行うためのハードウェアを含む。通信ＩＦ１４の通信方式は、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢ等であり、無線でも有線でも良いし、複数の方式を含んでも良い。なお、本形態の電子デバイス１は、通信ＩＦ１４を介して、インターネットに接続する機能を有していても良い。
【００１６】
ミリ波レーダ１５は、電磁波を送出してその反射波を受信し、受信した反射波に基づいて波形信号を出力するハードウェアを含む。ミリ波レーダ１５は、電磁波センサの一例である。ミリ波レーダ１５は、例えば、波長がミリメートル単位あるいはミリメートルより小さい単位であって、周波数が６０ＧＨｚ前後の周波数変調信号を送出し、反射波の重ね合わせを受信する。ミリ波レーダ１５が、受信した反射波に基づく波形信号を出力することで、本形態の電子デバイス１は、その波形信号に基づいて、例えば、電子デバイス１の近辺の物体の位置や動きをミリメートル単位で検出できる。
【００１７】
本形態の電子デバイス１のメモリ１２には、図１に示すように、オペレーティングシステム（以下、「ＯＳ」とする）２１と、印刷アプリ２２と、が組み込まれている。ＯＳ２１は、複数のタスクを管理して切り換えることにより複数のタスクを並行して処理できるマルチタスクＯＳであり、例えば、ｉＯＳ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、ｍａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）のいずれかである。
【００１８】
印刷アプリ２２は、プリンタ３を使用して印刷物を作成するためのアプリである。印刷アプリ２２は、プログラムの一例である。本形態の印刷アプリ２２は、例えば、ユーザによる印刷の実行指示を受け付けた場合、印刷コマンドを生成して、生成した印刷コマンドをプリンタ３に送信するための処理を実行する。なお、本形態の印刷アプリ２２は、ユーザの実行指示に基づいて独立して実行可能なプログラムでも良いし、他のプログラムの実行中にそのプログラムから呼び出されて実行されるプログラムでも良い。
【００１９】
本形態のプリンタ３は、少なくとも印刷機能と通信機能とを有し、電子デバイス１等から受信したコマンドに対応する動作を行う。例えば、プリンタ３は、印刷コマンドを受信した場合、受信した印刷コマンドに基づく印刷動作を実行して印刷物を生成する。プリンタ３は、画像処理装置の一例である。プリンタ３による印刷動作は、画像処理の一例であり、印刷コマンドは、画像処理コマンドの一例である。
【００２０】
本形態のプリンタ３は、図１に示すように、ＣＰＵやメモリを含むコントローラ３０と、ユーザＩＦ３３と、通信ＩＦ３４と、画像形成部３５と、電力制御部３６と、を備える。本形態のプリンタ３は、例えば、いわゆるラベルプリンタである。画像形成部３５は、例えば、熱転写方式の印刷ヘッドを備え、ロール状に巻き取られて収容されているラベル紙への画像の印刷と、ラベル紙の搬送とを行ってラベルを作成する。
【００２１】
電力制御部３６は、画像形成部３５への電力の供給を制御する。具体的には、プリンタ３は、所定時間を超えてコマンドを受け付けていない状態が継続すると、スリープ状態となる。スリープ状態では、電力制御部３６は、画像形成部３５への電力の供給を停止することで消費電力を削減する。スリープ状態では、プリンタ３は、ユーザＩＦ３３に対する操作の受け付けや通信ＩＦ３４を介したコマンドの受信は行うが、印刷物の形成は不可能である。プリンタ３は、スリープ状態で印刷コマンドを受信した場合、印刷動作の実行開始前にスリープ状態から非スリープ状態に切り替える復帰動作を行い、復帰動作の完了後に印刷動作を開始する。プリンタ３は、復帰動作として、電力制御部３６による画像形成部３５への電力の供給を開始し、必要に応じて画像形成部３５の予熱等を行うことで、印刷動作が可能な状態となる。
【００２２】
プリンタ３は、電子デバイス１等の外部装置から印刷コマンド以外のコマンドも受け付け、受け付けたコマンドに対応する動作を行う。例えば、プリンタ３は、検索コマンドを受信すると、その送信元に対して所定の応答コマンドを送信する。検索コマンドは、周辺のデバイスを検索するために外部装置から送信されるコマンドである。また、プリンタ３は、ステータス情報を要求するステータスコマンドを受信すると、その送信元に対してステータス情報を示す信号を送信する。ステータス情報は、プリンタ３の状態、例えば、待機中、印刷中、エラー中、を示す情報と、消耗品の残量を示す情報と、の少なくとも一方を含む情報である。
【００２３】
続いて、本形態の印刷アプリ２２を利用してプリンタ３に印刷を実行させる場合の手順の概要について、図２のシーケンス図を参照して説明する。図２では、この手順の開始時点で、プリンタ３がスリープ状態である場合に付いて説明する。印刷アプリ２２は、電子デバイス１のＣＰＵ１１にて実行される。
【００２４】
ユーザは、電子デバイス１にて印刷アプリ２２を起動し、印刷対象の画像の編集を受け付ける編集画面をユーザＩＦ１３に表示させて、編集指示を入力する（Ａ０１）。本形態の印刷アプリ２２は、例えば、印刷アプリ２２の起動直後に表示されるトップ画面にて、印刷対象の画像の編集を受け付ける編集画面への遷移の指示を受け付ける。
【００２５】
編集画面が表示されている状態の電子デバイス１の外観の例を図３に示す。図３は、ラベルを作成するための編集画面を表示している例であり、電子デバイス１のうち、ユーザＩＦ１３の表示画面１３１を含む面を示す図である。図３に示すように、表示画面１３１は、電子デバイス１の筐体の一面の中央に配置され、この面のほぼ全てを占めている。本形態のミリ波レーダ１５は、表示画面１３１と同じ面であって、表示画面１３１の外部の筐体表面に設けられ、表示画面１３１の近くの物体を検出できる。
【００２６】
編集画面には、ユーザの操作を受け付けるための複数のオブジェクトが表示される。例えば、図３の編集画面には、編集オブジェクト５１、プリンタ選択オブジェクト５２、印刷設定オブジェクト５３、印刷オブジェクト５４、ステータスオブジェクト５５、が含まれる。編集オブジェクト５１は、印刷対象の画像の編集を受け付けるオブジェクトである。プリンタ選択オブジェクト５２は、印刷を実行させるプリンタの選択を受け付けるオブジェクトである。印刷設定オブジェクト５３は、テープの色や長さ等の印刷設定の編集を開始する指示を受け付けるオブジェクトである。印刷オブジェクト５４は、印刷実行の指示を受け付ける画面である印刷実行画面へ移行する指示を受け付けるオブジェクトである。ステータスオブジェクト５５は、選択されたプリンタのステータス情報を表示する指示を受け付けるオブジェクトである。
【００２７】
電子デバイス１は、表示中の各オブジェクトに対応して設定されている範囲内へ、指先などの接触や押圧を検知した場合、そのオブジェクトへの操作を受け付けたと判断する。印刷アプリ２２は、例えば、編集オブジェクト５１への操作を受け付けた場合、編集指示を受け付ける状態となり、受け付けた編集指示に基づいて画像を編集して（Ａ０２）、編集後の画像を編集画面に表示させる。ユーザは、編集が完了したら、編集画面中の印刷オブジェクト５４への操作によって、印刷指示を入力する（Ａ０３）。
【００２８】
印刷アプリ２２は、図３の編集画面にて印刷オブジェクト５４への操作を受け付けると、図４に示すように、表示画面１３１に印刷実行画面をユーザＩＦ１３に表示させる（Ａ０４）。図４に示す印刷実行画面には、印刷実行オブジェクト６１が含まれる。印刷実行オブジェクト６１は、印刷コマンドの送信の指示を受け付けるオブジェクトである。すなわち、この印刷実行オブジェクト６１への操作を受け付けた場合、印刷アプリ２２は、印刷コマンドを生成して、プリンタ３へ送信するための処理を実行する。
【００２９】
印刷アプリ２２は、表示させた印刷実行画面中の印刷実行オブジェクト６１の位置を取得する（Ａ０５）。オブジェクトの位置は、表示画面１３１内でそのオブジェクトが占める領域を特定する情報であり、例えば、オブジェクトの４隅の座標、オブジェクトに含まれる各ピクセルの座標，によって示される。オブジェクトの位置は、電子デバイス１のユーザＩＦ１３の形状やサイズ、電子デバイス１の姿勢、に対応して、予め決まっている。
【００３０】
そして、電子デバイス１は、ミリ波レーダ１５を駆動して、ミリ波レーダ１５から出力される波形信号を取得する。さらに、電子デバイス１は、取得した波形信号に基づいて、ユーザの指先の位置を取得する（Ａ１１）。指先は、指示子の一例である。指先の位置は、最も表示画面１３１に近い先端の位置であっても良いし、指先と見なされる範囲全体を含む位置であっても良い。ユーザが指先を移動させると（Ａ１２）、電子デバイス１は、移動後の指先の位置を取得する。電子デバイス１は、例えば、何らかの操作を受け付けるまで、所定のタイミングで繰り返し指先の位置を取得する（ｌｏｏｐ）。
【００３１】
印刷アプリ２２は、取得した指先の位置が、印刷実行オブジェクト６１の近くであるか否かを判断する（ａｌｔ）。印刷アプリ２２は、例えば、指先の位置と印刷実行オブジェクト６１との距離が５ｃｍ以内である場合に、指先が印刷実行オブジェクト６１に近いと判断する。あるいは、印刷アプリ２２は、指先の位置が印刷実行オブジェクト６１の直上の位置にある場合に、指先が印刷実行オブジェクト６１に近いと判断する。そして、印刷アプリ２２は、指先が印刷実行オブジェクト６１の近くであると判断した場合、通信ＩＦ１４を介して、プリンタ３に復帰コマンドを送信する（Ａ１３）。
【００３２】
プリンタ３は、復帰コマンドを受信すると、スリープ状態から非スリープ状態へと復帰する復帰動作を開始する（Ａ１４）。なお、プリンタ３は、復帰動作の開始から完了までに、例えば、数秒〜十数秒の時間を要する（Ａ１５）。
【００３３】
印刷アプリ２２は、表示中の印刷実行画面にて、印刷実行オブジェクト６１への操作を受け付けた場合（Ａ２１）、指先の位置の取得を中止する（ｂｒｅａｋ）。そして、印刷アプリ２２は、印刷コマンドを生成し、生成した印刷コマンドをプリンタ３に送信するための処理を実行する。これにより、電子デバイス１は、プリンタ３に印刷コマンドを送信する（Ａ２２）。プリンタ３は、印刷コマンドを受信した後、復帰動作の完了を待って、印刷を実行する（Ａ２３）。
【００３４】
印刷実行オブジェクト６１への操作を受け付ける前に、指先の位置は、印刷実行オブジェクト６１の近くになる。つまり、Ａ２２による印刷コマンドの送信より前に、Ａ１３にて復帰コマンドが送信される。プリンタ３は、Ａ１３にて送信される復帰コマンドを受信することで、印刷コマンドを受信する前に復帰動作を開始する。プリンタ３は、印刷コマンドを受信した場合、復帰動作が完了していれば、直ちに印刷を実行できる。このようにすれば、復帰コマンドを先に送信しない場合に比較して、印刷完了までの時間を短縮できる可能性が高い。なお、プリンタ３は、非スリープ状態で復帰動作コマンドを受信した場合、何もしない。
【００３５】
次に、本形態の印刷アプリ２２による印刷処理の手順について、図５のフローチャートを参照して説明する。印刷処理は、印刷アプリ２２の実行指示を受け付けたことを契機に、電子デバイス１のＣＰＵ１１にて実行される。なお、以下の処理およびフローチャートの各処理ステップは、基本的に、各プログラムに記述された命令に従ったＣＰＵ１１の処理を示す。ＣＰＵ１１による処理は、電子デバイス１のＯＳ２１のＡＰＩを用いたハードウェア制御も含む。本明細書では、ＯＳ２１の記載を省略してプログラムの動作を説明する。
【００３６】
印刷処理では、ＣＰＵ１１は、ユーザＩＦ１３の表示画面１３１に、ユーザによる操作を受け付けるための画面である操作受付画面を表示させる（Ｓ１０１）。操作受付画面は、例えば、印刷アプリ２２の起動直後に表示されるトップ画面、図３に示した編集画面、図４に示した印刷実行画面、である。トップ画面には、例えば、アプリの使用方法を表示させる指示を受け付けるオブジェクト、ラベルの作成を開始する指示を受け付けるオブジェクト、を含む複数のオブジェクトが表示される。ＣＰＵ１１は、各画面において、表示中のオブジェクトへのユーザの操作を受け付ける。
【００３７】
そして、ＣＰＵ１１は、表示中の表示画面１３１に、特定オブジェクトが含まれているか否かを判断する（Ｓ１０２）。特定オブジェクトは、特定動作の指示を受け付けるオブジェクトである。特定動作は、そのオブジェクトへの指示を受け付ける前に、何らかのコマンドを先行してプリンタ３に送信し、プリンタ３にそのコマンドの動作を開始させておくことで、そのオブジェクトの動作の完結を早める可能性のある動作である。印刷アプリ２２は、各特定オブジェクトに関連付けて、先行してプリンタ３に送信することで完結を早めるためのコマンドである予備動作コマンドを記憶している。
【００３８】
例えば、図４に示した印刷実行画面に含まれる印刷実行オブジェクト６１は、オブジェクトへの操作を受け付ける前に、プリンタ３に復帰コマンドを送信して復帰動作を開始させることで、オブジェクトへの操作を受け付けた後、印刷物の生成完了までの時間を短縮できる可能性があることから、特定オブジェクトの１つである。印刷実行オブジェクト６１への操作によって実行される特定動作は、印刷コマンドの生成、印刷コマンドの送信、を含む一連の動作であり、印刷実行オブジェクト６１に対応する予備動作コマンドは、復帰コマンドである。そして、復帰コマンドの送信によって、プリンタ３にて実行される動作である復帰動作は、予備動作の一例である。印刷実行オブジェクト６１が含まれる印刷実行画面は、特定オブジェクトが含まれる画面の１つである。
【００３９】
また、例えば、図３に示した編集画面中の、プリンタ選択オブジェクト５２とステータスオブジェクト５５とは、それぞれ特定オブジェクトであり、編集画面も、特定オブジェクトが含まれる画面の１つである。
【００４０】
プリンタ選択オブジェクト５２は、印刷を実行させるプリンタの選択を受け付けるオブジェクトであり、このオブジェクトへの操作を受け付けた際に実行される特定動作は、検索コマンドの送出、応答コマンドの受信、応答したデバイスの一覧表示、デバイス選択の受付、を含む一連の動作である。そこで、プリンタ選択オブジェクト５２への操作を受け付ける前に、電子デバイス１から周辺の装置へ検索コマンドを送信すれば、前もってプリンタ３から応答コマンドを受信できる可能性がある。オブジェクトへの操作を受け付けた際に、応答コマンドを受信済みであれば、即座にデバイスの一覧を表示させることで、プリンタ選択完了までの時間を短縮できる可能性がある。プリンタ選択オブジェクト５２に対応する予備動作コマンドは、検索コマンドである。そして、検索コマンドの送信によって、プリンタ３にて実行される動作である応答コマンドの送信動作は、予備動作の一例である。
【００４１】
ステータスオブジェクト５５は、プリンタ３のステータス情報の表示指示を受け付けるオブジェクトであり、このオブジェクトへの操作を受け付けた際に実行される特定動作は、ステータス情報を要求するステータスコマンドの送信、ステータス情報の受信、受信したステータス情報の表示、を含む一連の動作である。そこで、ステータスオブジェクト５５への操作を受け付ける前に、プリンタ３にステータスコマンドを送信すれば、前もってプリンタ３からステータス情報を取得できる可能性がある。オブジェクトへの操作を受け付けた際に、ステータス情報を取得済みであれば、即座にステータス情報を表示できることから、ステータス情報の表示までの時間を短縮できる可能性がある。ステータスオブジェクト５５に対応する予備動作コマンドは、ステータスコマンドである。そして、ステータスコマンドの送信によって、プリンタ３にて実行される動作であるステータス情報の応答動作は、予備動作の一例である。
【００４２】
なお、予備動作は、特定動作に伴う動作の一部であってもよいし、特定動作とは別の動作であってもよい。例えば、プリンタ選択オブジェクト５２の予備動作である応答コマンドの送信動作は、特定動作の一部である検索コマンドの送信に伴って、プリンタ３にて実行される動作の一部である。また、ステータスオブジェクト５５の予備動作であるステータス情報の応答動作は、特定動作の一部であるステータスコマンドの送信に伴って、プリンタ３にて実行される動作の一部である。一方、印刷実行オブジェクト６１の予備動作である復帰動作は、プリンタ３が非スリープ状態である場合には実行されない動作であり、特定動作である印刷コマンドの送信に伴って、プリンタ３にて実行される動作の一部とは言えない。
【００４３】
また、トップ画面に含まれる、アプリの使用方法を表示させる指示を受け付けるオブジェクトは、対応する予備動作コマンドが無いオブジェクトであり、特定オブジェクトではない。つまり、このオブジェクトへの操作を受け付ける前に何らかのコマンドをプリンタ３に送信することで、コマンドの動作の完結を早める可能性はほとんど無い。
【００４４】
表示中の表示画面１３１に特定オブジェクトが含まれていないと判断した場合（Ｓ１０２：ＮＯ）、ＣＰＵ１１は、表示中のオブジェクトへの操作を受け付けたか否かを判断する（Ｓ１０３）。操作を受け付けていないと判断した場合（Ｓ１０３：ＮＯ）、ＣＰＵ１１は、受け付けるまで待機する。操作を受け付けたと判断した場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、受け付けた操作が印刷アプリ２２の終了指示であるか否かを判断する（Ｓ１０４）。終了指示ではないと判断した場合（Ｓ１０４：ＮＯ）、ＣＰＵ１１は、受け付けた指示に基づく動作を実行し（Ｓ１０５）、Ｓ１０１に戻って操作受付画面を表示させる。例えば、アプリの使用方法を表示させる指示を受け付けた場合には、ＣＰＵ１１は、該当する画面をユーザＩＦ１３に表示させ、次の操作を待つ。
【００４５】
表示中の表示画面１３１に特定オブジェクトが含まれると判断した場合（Ｓ１０２：ＹＥＳ）、ＣＰＵ１１は、表示画面１３１内の特定オブジェクトの位置を取得する（Ｓ１１０）。Ｓ１１０は、第１取得処理の一例である。Ｓ１０１にて表示させた操作受付画面が、図３に示した編集画面や図４に示した印刷実行画面であれば、ＣＰＵ１１は、Ｓ１０２にて特定オブジェクトが含まれると判断する。そして、編集画面を表示させた場合、Ｓ１１０では、ＣＰＵ１１は、プリンタ選択オブジェクト５２の位置とステータスオブジェクト５５の位置とを取得する。印刷実行画面を表示させた場合、Ｓ１１０では、ＣＰＵ１１は、印刷実行オブジェクト６１の位置を取得する。
【００４６】
さらに、ＣＰＵ１１は、ミリ波レーダ１５から出力される波形信号を取得し、波形信号に基づいて、電子デバイス１の近傍に存在する物体の位置や動きの情報を取得することで、指先と判断される物体の位置情報を取得する（Ｓ１１１）。Ｓ１１１は、第２取得処理の一例である。印刷アプリ２２は、ミリ波レーダ１５から出力される波形信号を、例えばＯＳ２１から取得できる。
【００４７】
ＣＰＵ１１は、Ｓ１１０とＳ１１１の結果に基づいて、指先が特定オブジェクトから所定範囲内にあるか否かを判断する。具体的には、ＣＰＵ１１は、まず、指先の位置が、特定オブジェクトの上方にあるか否かを判断する（Ｓ１１２）。特定オブジェクトの上方とは、特定オブジェクトの領域から表示画面１３１に対して直交する方向へ延びる柱状の範囲である。特定オブジェクトの位置から画面の直交方向に指先の位置がない場合、特定オブジェクトへの操作以外の操作が行われる可能性があり、特定オブジェクトへの操作の可能性が低下する。なお、Ｓ１１２では、ＣＰＵ１１は、指先の位置が表示画面１３１から離れすぎている場合には、ＮＯと判断しても良い。また、上方は、柱状の範囲に限らず、例えば、画面から離れるにつれて広がる形状であっても良い。
【００４８】
指先が特定オブジェクトの上方にあると判断した場合（Ｓ１１２：ＹＥＳ）、ＣＰＵ１１は、指先の位置と特定オブジェクトとの距離が所定距離以内であるか否かを判断する（Ｓ１１３）。Ｓ１１３は、判断処理の一例である。所定距離は、予め印刷アプリ２２に記憶されている距離であって、例えば、５ｃｍである。特定オブジェクトの上方であって所定距離以内である範囲は、所定範囲の一例である。なお、所定距離は、固定であっても可変であってもよい。可変の場合、所定距離は、ユーザの設定操作によって手動で変更されてもよいし、予備動作の種類等に基づいて自動で変更されてもよい。
【００４９】
指先の位置と特定オブジェクトとの距離が所定距離以内であると判断した場合（Ｓ１１３：ＹＥＳ）、ＣＰＵ１１は、プリンタ３に予備動作コマンドを送信する（Ｓ１１４）。Ｓ１１４は、予備処理の一例である。これにより、プリンタ３は、予備動作を開始する。Ｓ１１４にて送信される予備動作コマンドは、指先の位置が近いと判断された特定オブジェクトに対応して、それぞれ定められているコマンドである。特定オブジェクトの位置から画面に対して直交方向に指先の位置があり、さらに、特定オブジェクトから所定距離以内に指先の位置がある場合に、予備動作を開始させることで、無駄な予備動作を回避できる可能性が高まる。
【００５０】
なお、ＣＰＵ１１は、指先の位置が所定距離以内に入ったと判断した場合に予備動作コマンドを送信する代わりに、指先の位置が所定距離以内に入っている状態が一定期間継続した場合に予備動作コマンドを送信するとしてもよい。一定期間は、予め決められた時間であり、例えば、０．１秒〜１秒である。指先の位置が所定距離以内に入っても直ぐには予備動作コマンドを送信せず、一定期間にわたって所定距離以内にある場合に送信することで、たまたま特定オブジェクトの近くを指が通った場合の無駄な予備動作を回避することができる。
【００５１】
さらに、ＣＰＵ１１は、特定オブジェクトへの操作を受け付けたか否かを判断する（Ｓ１１５）。指先がさらに特定オブジェクトに近づき、特定オブジェクトへの操作を受け付けたと判断した場合（Ｓ１１５：ＹＥＳ）、ＣＰＵ１１は、特定オブジェクトに対応する特定動作を実行する（Ｓ１１６）。
【００５２】
例えば、編集画面にてプリンタ選択オブジェクト５２への操作を受け付けた場合、ＣＰＵ１１は、特定動作として、応答コマンドを応答したデバイスの一覧を、ユーザＩＦ１３の表示画面１３１に表示させ、ユーザの選択に基づいて制御対象のデバイスを決定する。予備動作によって、予め応答コマンドを受信していれば、予備動作を行わない場合に比較して、デバイスの一覧を表示させるまでの時間を短くできることから、制御対象のデバイスの決定を早めることが期待できる。
【００５３】
また、例えば、編集画面にてステータスオブジェクト５５への操作を受け付けた場合、ＣＰＵ１１は、特定動作として、ステータス情報をユーザＩＦ１３の表示画面１３１に表示させる。予備動作によって、予めステータス情報を取得していれば、予備動作を行わない場合に比較して、ステータス情報の表示を早めることが期待できる。
【００５４】
また、例えば、印刷実行画面にて印刷実行オブジェクト６１への操作を受け付けた場合、ＣＰＵ１１は、特定動作として、印刷コマンドをプリンタ３に送信する。予備動作によって、あらかじめプリンタ３が復帰動作を開始していれば、予備動作を行わない場合に比較して、印刷完了までの時間を短縮することが期待できる。
【００５５】
予備動作コマンドの送信後、特定オブジェクトへの操作を受け付けていないと判断した場合（Ｓ１１５：ＮＯ）、ＣＰＵ１１は、Ｓ１１１に戻って、指先の位置を再度取得する。なお、予備動作コマンドの送信後、指先の位置が同じ特定オブジェクトの近くにある場合には、予備動作コマンドの再送信は不要である。予備動作コマンドを何回も送信すると通信負荷が高いことから、指先が特定オブジェクトから近い所定範囲内に移動した場合に予備動作コマンドを送信することで、通信負荷を軽減できる。
【００５６】
一方、指先の位置が特定オブジェクトの上方ではないと判断した場合（Ｓ１１２：ＮＯ）、または、指先の位置と特定オブジェクトとの距離が所定距離以内ではないと判断した場合（Ｓ１１３：ＮＯ）、ＣＰＵ１１は、特定オブジェクト以外の他のオブジェクトへの操作を受け付けたか否かを判断する（Ｓ１２０）。他のオブジェクトへの操作を受け付けていないと判断した場合（Ｓ１２０：ＮＯ）、ＣＰＵ１１は、Ｓ１１１に戻って、指先の位置を再度取得する。つまり、ＣＰＵ１１は、特定オブジェクトが含まれる画面を表示している期間中、指先の位置を繰り返し取得する。なお、ＣＰＵ１１は、この印刷処理と並行して指先の位置を常時取得して、Ｓ１１１ではその情報を利用しても良い。
【００５７】
他のオブジェクトへの操作を受け付けたと判断した場合（Ｓ１２０：ＹＥＳ）、ＣＰＵ１１は、Ｓ１０４に進んで、受け付けた操作が印刷アプリ２２の終了指示であるか否かを判断する。終了指示であると判断した場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ１１は、表示中の画面を消去し、印刷処理を終了する。
【００５８】
終了指示以外の指示を受け付けた場合、ＣＰＵ１１は、受け付けた指示に基づく動作を実行する（Ｓ１０５）。Ｓ１０５またはＳ１１６の後、ＣＰＵ１１は、Ｓ１０１に戻り、ユーザの指示に基づいて、操作受付画面をユーザＩＦ１３に表示させる。
【００５９】
例えば、図３に示した編集画面にて、印刷オブジェクト５４への操作を受け付けた場合、印刷オブジェクト５４への操作は、特定オブジェクトへの操作ではなく終了の指示でもないことから、ＣＰＵ１１は、Ｓ１０１にて、ユーザＩＦ１３に、図４に示した印刷実行画面を表示させる。そして、ＣＰＵ１１は、Ｓ１０２にて、表示させた印刷実行画面中に特定オブジェクトがあるか否かを判断する。なお、印刷実行画面には、印刷実行オブジェクト６１以外にも特定オブジェクトがあっても良く、ある場合には、ＣＰＵ１１は、Ｓ１１０にて、そのオブジェクトの位置も取得する。
【００６０】
なお、プリンタ３が印刷の開始前に印刷ヘッドの予熱が必要なものであれば、印刷実行オブジェクト６１の予備動作として、プリンタ３に、予熱を開始させてもよい。つまり、ＣＰＵ１１は、印刷実行オブジェクト６１に指先が近いと判断した場合、予備動作コマンドとして、予熱動作の実行を指示する予熱コマンドを送信しても良い。プリンタ３は、予熱コマンドを受信した場合、スリープ状態であれば復帰動作を行い、さらに予熱動作を行う。予熱動作は、先行動作の一例である。予備動作によってプリンタ３が予熱を開始していれば、予熱しない状態で印刷コマンドを受信した場合に比較して、印刷の完結を早めることが期待できる。また、プリンタ３が予め印刷媒体の給紙を開始することで、印刷開始を早めることができる場合、電子デバイス１は、予備動作コマンドとして、印刷媒体の給紙コマンドを送信してもよい。
【００６１】
以上、詳細に説明したように、本明細書に記載の印刷アプリ２２によれば、ユーザの指先の位置を取得し、ユーザの指先が特定オブジェクトから所定範囲内にある場合に、プリンタ３に予備動作の実行を指示する。ユーザの指先は、特定オブジェクトへの操作を行う前に、特定オブジェクトから所定範囲内にある状態となる。特定動作の実行指示が入力される前から特定動作に関する予備動作を開始させることで、特定動作の完結を早めることが期待できる。また、ユーザが特定オブジェクトから所定範囲内に指先を持って行った後に、特定オブジェクトへの操作を行わない可能性は低いことから、予備動作が無駄になる可能性は低い。
【００６２】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、電子デバイス１は、携帯可能な装置に限らず、パーソナルコンピュータなど据え置き型の装置でも良い。
【００６３】
また、例えば、電子デバイス１に接続されるプリンタは、ラベルプリンタに限らず、インクジェットプリンタやレーザプリンタであっても良い。つまり、プリンタ３の印刷方式は、熱転写方式に限らず、例えば、感熱方式、インクジェット方式、電子写真方式でもよい。また、プリンタ３にて使用される印刷媒体は、ラベル紙に限らず、例えば、単なるロール紙、カット紙でもよい。また、プリンタ３は、ユーザＩＦ３３を備えないものでも良い。
【００６４】
本形態では、ミリ波レーダ１５から出力される波形信号に基づいて、印刷アプリ２２が指先の位置を取得するとしたが、これに限らない。例えば、ミリ波レーダ１５から出力される波形信号に基づいて指先の位置を取得する、別のプログラムが有っても良い。例えば、ＯＳ２１が指先の位置を取得し、印刷アプリ２２は、位置の情報をＯＳ２１から取得しても良い。また、指先の位置の情報を取得するための構成は、ミリ波レーダ１５に限らず、カメラ、赤外線センサ、光センサ等を用いても良いし、複数の構成の組み合わせによって取得してもよい。
【００６５】
また、例えば、印刷アプリ２２には、予備動作コマンドの出力を行うか否かのオプションがあってもよい。さらに、印刷アプリ２２は、そのオプションに対して、ユーザの操作による手動変更を受け付けてもよいし、プリンタ３の状態や前回の特定動作からの経過時間によって自動変更してもよい。
【００６６】
また、本形態では、表示中の画面に特定オブジェクトが含まれる場合に指先の位置を取得するとしたが、電子デバイス１は、特定オブジェクトの有無に関わらず指先の位置を取得してもよい。例えば、印刷アプリ２２の実行中、電子デバイス１は、定期的に指先の位置を取得してもよい。
【００６７】
また、本形態ではタッチパネルを備える電子デバイス１について説明したが、ユーザＩＦ１３は、タッチパネルではなくても良い。ユーザＩＦ１３は、例えば、ディスプレイとキーボード、マウス等の入力装置との組み合わせであっても良い。その場合、ディスプレイに表示される各ボタンがオブジェクトの一例であり、ミリ波レーダ１５は、ディスプレイの周囲に設けられるとよい。このようにしても、ユーザは、入力装置によってカーソルを移動させてオブジェクトへの操作を行う前に、指先をオブジェクトに近づけることで、予備動作の実行を指示できる。
【００６８】
また、本形態では、ユーザの指先の位置を検出するとしたが、検出対象は指先に限らない。つまり、指先か否かの判断は、しなくても良い。例えば、タッチペンのペン先が特定オブジェクトに近い位置にある場合にも、予備動作コマンドを送信するとしてもよい。この場合、タッチペンのペン先は、指示子の一例である。
【００６９】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【００７０】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組合せで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【００７１】
１  電子デバイス
３  プリンタ
１１  ＣＰＵ
１３  ユーザＩＦ
１５  ミリ波レーダ
【図１】
2022000731.tif 000003
【図２】
2022000731.tif 000004
【図３】
2022000731.tif 000005
【図４】
2022000731.tif 000006
【図５】
2022000731.tif 000007