(第1実施形態)
以下、本発明の第1の実施形態について、図面を参照して説明する。図中、互いに同一又は同等の部分には同一の符号を付す。本実施形態では、本発明に係る入力装置の例として、印刷装置(ラベルプリンタ)を用いて説明する。
図1(a)及び(b)に示す印刷装置100は、ラベルプリンタであり、画像や文字等の構成要素(パターン)からなる印刷データをテープ部材に印刷する。テープ部材は、表面が印刷面であって裏面が粘着面である印刷テープと、粘着面に貼付される剥離テープと、が積層されて形成される記録媒体である。
印刷装置100は、コンパクトなラベルプリンタであり、ユーザが片手で把持して自由に動かすことができる程度の大きさを有する。ユーザが印刷装置100を把持して三次元空間内を移動させると、印刷装置100は、この動きに基づいて入力データの入力を受け付ける。入力データは、ユーザが入力することを所望するデータであり、印刷データや制御コマンドを含む。以下、印刷装置100の動きを説明するため、図1(a)及び(b)に示す座標系を設定する。図1(a)及び(b)に示すように、この座標系のx軸は印刷装置100の短手方向である幅方向に、y軸は印刷装置100の長手方向である高さ方向に、z軸は印刷装置100の厚み方向に、それぞれ平行に設定されている。なお、図中、Gは重力加速度の方向ベクトル(鉛直方向)を表す。
以下、印刷装置100の機械的構成について説明する。
印刷装置100は、図1(a)及び(b)に示すように、筐体110を備える。筐体110は、後述するサーマルヘッドやプリント基板等を内部に収容している。筐体110の側面には、印刷データが印刷された後のテープ部材(記録媒体)を切断するためのカッタ操作レバー108が設けられている。
筐体110の上面には、操作部120及び表示部130が設けられている。操作部120は、操作キーとして機能するラバー製の複数の押圧キー122,123,124を備える。表示部130は、印刷装置100におけるメインパネルとしての、液晶表示パネル等の表示画面を備える。表示部130は、例えば入力されたデータに関する画像、各種の設定のための選択メニュー、各種の処理に関するメッセージ等を表示する。また、操作部120は、操作手段として機能する。
筐体110の内側には、図2(b)に示すように、テープ部材及びインクリボンを収容したテープカセットを収納(装填)するためのテープ収納部10が形成されている。テープ収納部10内には、印刷部としてのテープ印刷機構45と、テープカセット21を所定の位置に支持するためのカセット受部15と、が形成されている。
テープ印刷機構45は、印刷ヘッド(サーマルヘッド)11と、印刷ヘッド11との間でテープ部材及びインクリボンを挟み込んでこれを搬送するプラテンローラ12と、テープカセットに係合して位置決めする位置合わせ軸20と、印刷に使用したインクリボンをテープカセット内に巻取るリボン巻取軸13と、を備える。
テープ収納部10の一端部には、筐体110の側面に連通し、印刷後のテープ部材が繰り出されるテープ繰出部106が形成されている。テープ繰出部106には、テープ部材の印刷テープ及び剥離テープを幅方向に切断するフルカット機構17と、テープ部材の印刷テープのみを切断し、剥離テープを切断しないハーフカット機構18と、が組み込まれている。
テープカセット21は、図2(a)に示すように、カセットケース22を備える。カセットケース22の内部には、テープ部材31が巻装されたテープコアの軸23、未使用のインクリボン35が巻装されたリボン供給コアの軸24、使用済みのインクリボン35を巻取るリボン巻取コアの軸25が夫々収納されている。また、テープカセット21のカセットケース22には、テープ収納部10内にテープカセット21を装填した場合に印刷ヘッド11が位置するヘッド配置部27が形成されている。
カセットケース22の隅部には、テープ収納部10のカセット受部15と係合し、このカセット受部15によって支持される被係合部29が形成されている。カセットケース22の被係合部29には、テープカセット21が内蔵するテープ部材31の幅に応じた所定の凹凸(図示せず)が形成されている。テープ収納部10のカセット受部15には、テープ幅検出スイッチ16が形成されている。
カセットケース22がテープ収納部10に装填されると、カセットケース22の被係合部29とテープ収納部10のカセット受部15とが係合し、テープ幅検出スイッチ16のうちの少なくとも一部が、被係合部29の凹凸によって押下され、オン状態になる。印刷装置100は、テープ幅検出スイッチ16のオン状態とオフ状態との組み合わせによって、テープカセット21が内蔵するテープ部材31の幅を取得する。印刷装置100は、取得したテープ部材31の幅に適合した印刷データを作成する。
印刷が指示されると、テープ部材31がテープカセット21から繰り出され、インクリボン35が巻き取られる。テープ部材31及びインクリボン35は、重ね合わされた状態で、プラテンローラ12と印刷ヘッド11との間に挟み込まれて搬送される。
そして、印刷ヘッド11が印刷データに基づいて発熱駆動され、インクリボン35のインクがテープ部材31の印刷テープに熱転写されて印刷が行われる。印刷が終了すると、ユーザがカッタ操作レバー108を操作することにより、フルカット機構17又はハーフカット機構18が作動してテープ部材31が幅方向に切断され、1枚のテープ状のラベルが作成される。
上記の機械的構成を有する印刷装置100は、電気的には、図3に示すように、制御部40と、操作部120と、表示部130と、ROM(Read Only Memory)41と、RAM(Random Access Memory)42と、加速度センサ6と、角速度センサ7と、印刷部50と、テープ幅検出スイッチ16と、を備える。
制御部40は、CPU(Central Processing Unit)を備え、ユーザの操作に従って入力を受け付けるための入力プログラムや印刷装置100全体を制御するための制御プログラム等のROM41に予め記憶されている各種プログラムを実行することにより、印刷装置100の各部を制御する。制御部40が実行する制御の詳細については、後述する。
ROM41は、プログラムやデータを固定的に記憶する。具体的に、ROM41は、入力プログラムや制御プログラムを含む各種プログラムを予め記憶している。また、ROM41は、複数の印刷データを含むデータを記憶している。ROM41が記憶する複数の印刷データは、それぞれ画像や文字等の構成要素を含み、互いに順序付けて記憶されている。
RAM42は、データやプログラムを一時的に記憶する。RAM42は、制御部40がプログラムを実行する際のワークメモリとして機能する。
加速度センサ6は、印刷装置100の加速度を検出する。
角速度センサ7は、印刷装置100の角速度を検出する。
印刷部50は、印刷部駆動回路51と、搬送部駆動回路52と、切断部駆動回路53と、を含む。印刷部駆動回路51は、印刷部である印刷ヘッド11を印刷データに基づいて制御し、テープ部材31に対する印刷を実行する。搬送部駆動回路52は、搬送部を駆動させる回路であって、プラテンローラ12やリボン巻取軸13を回転させるステップモータ等の搬送モータを制御し、所定の速度で長手方向にテープ部材31を搬送する。切断部駆動回路53は、切断部を制御する駆動回路であり、制御部40からの制御に基づいて、フルカット機構17で使用されるステッピングモータやハーフカット機構18で使用されるDCモータ等を制御する。
また、制御部40は、テープ幅検出スイッチ16に接続され、テープ幅検出スイッチ16のオン・オフ状態の組み合わせに基づいて、テープ部材31の幅を取得する。
上記の機械的・電気的構成を有する印刷装置100は、機能的には、図4に示すように、動作検出部100aと、記憶部100bと、提示部100cと、取得部100dと、印刷部100eと、を備える。
動作検出部100aは、三次元空間における印刷装置100の動きを検出する。例えば、動作検出部100aは、図5(a)〜図5(d)に示す印刷装置100の動きを検出する。図5(a)は、印刷装置100が+x方向と−x方向とへ交互に移動する動き(±x方向の動き)を示す。図5(b)は、印刷装置100が+y方向と−y方向とへ交互に移動する動き(±y方向の動き)を示す。図5(c)は、印刷装置100が+z方向と−z方向とへ交互に移動する動き(±z方向の動き)を示す。図5(d)は、印刷装置100本体がx軸方向に左回りに回転する動きを示す。動作検出部100aは、加速度センサ6、角速度センサ7及び制御部40の協働によって実現される。また、動作検出部100aは、動作検出手段として機能する。
記憶部100bは、ROM41によって実現され、複数の入力データの候補を記憶する。具体的に、記憶部100bは、複数の印刷データを、互いに順序付けて、入力データの候補として記憶する。また、記憶部100bは、複数の制御コマンドを、動作検出部100aが検出可能な印刷装置100の動きに対応付けて、入力データの候補として記憶する。また、記憶部100bは、記憶手段として機能する。
より具体的に、記憶部100bは、図5(a)に示す±x方向の動きに対応付けて、「印刷」コマンドを記憶する。「印刷」コマンドは、印刷部50に印刷データをテープ部材31へ印刷させるための制御コマンドである。
また、記憶部100bは、図5(b)に示す±y方向の動き(第1の動き)に対応付けて、「次候補」コマンドを記憶する。「次候補」コマンドは、提示部100cに次の順序の印刷データを提示させるための制御コマンドである。
また、記憶部100bは、図5(c)に示す±z方向の動き(第2の動き)に対応付けて、「取得」コマンドを記憶する。「取得」コマンドは、後述する取得部100dに提示部100cが提示している印刷データを入力データとして取得させるための制御コマンドである。
また、記憶部100bは、図5(d)に示す、x軸方向の左回り回転に対応付けて、「テープカット」コマンドを記憶する。「テープカット」コマンドは、フルカット機構17又はハーフカット機構18にテープ部材31を切断させるための制御コマンドである。
提示部100cは、記憶部100bが記憶する複数の印刷データのうちの何れか一つをユーザに提示する。本実施形態において、提示部100cは、表示部130と制御部40との協働によって実現され、印刷データを表す画像を表示する。また、提示部100cは、提示手段として機能する。
取得部100dは、制御部40によって実現され、動作検出部100aが検出した印刷装置100の動きに基づいて、印刷データや制御コマンドを含む入力データを取得する。具体的に、取得部100dは、動作検出部100aが検出した印刷装置100の動きに対応付けて記憶部100bが記憶している制御コマンドを、入力データとして取得する。また、取得部100dは、取得手段として機能する。
より具体的に、±x方向の動きを動作検出部100aが検出すると、取得部100dは、「印刷」コマンドを入力データとして取得する。
また、±y方向の動きを動作検出部100aが検出すると、取得部100dは、「次候補」コマンドを入力データとして取得する。
また、±z方向の動きを動作検出部100aが検出すると、取得部100dは、「取得」コマンドを入力データとして取得する。さらに、取得部100dは、「取得」コマンドを取得したことに応答して、提示部100cが提示している印刷データを入力データとして取得する。
また、x軸方向の左回り回転を動作検出部100aが検出すると、取得部100dは、「テープカット」コマンドを入力データとして取得する。
印刷部100eは、取得部100dが入力データとして取得した印刷データを、テープ部材31に印刷する。印刷部100eは、印刷部50によって実現される。また、印刷部100eは、印刷手段として機能する。
以下、上記の物理的・機能的構成を有する印刷装置100が実行する印刷処理の詳細について、図6のフローチャートを参照して説明する。
印刷装置100の記憶部100bは、入力データの候補である制御コマンド及び印刷データを、外部から取得して予め記憶している。
テープ部材31に印刷データを印刷することを所望するユーザが電源を投入すると、印刷装置100は、図6のフローチャートに示す印刷処理を開始する。
印刷処理を開始すると、まず、提示部100cが、記憶部100bが記憶している複数の印刷データのうちの何れか一つを提示する(ステップS101)。次に、動作検出部100aは、印刷装置100の何らかの動きを検出したか否かを判別する(ステップS102)。動きを検出していないと判別すると(ステップS102;NO)、動きを検出するまでステップS102の処理を繰り返す。
何らかの動きを検出したと判別すると(ステップS102;YES)、動作検出部100aは、図5(c)に示す±z方向の動きを検出したか否かを判別する(ステップS103)。ユーザは、提示部100cが所望の印刷データを提示している場合、印刷装置100を±z方向に動かすことにより、この印刷データの取得を印刷装置100に促す。これに応答して、動作検出部100aは、±z方向の動きを検出したと判別し(ステップS103;YES)、取得部100dが、「取得」コマンドを取得する。取得部100dは、「取得」コマンドを取得したことに応答して、その時点で提示部100cが提示している印刷データを入力データとして取得し(ステップS111)、処理はステップS107へ移る。
±z方向の動きを検出していないと判別すると(ステップS103;NO)、動作検出部100aは、図5(b)に示す±y方向の動きを検出したか否かを判別する(ステップS104)。ユーザは、提示部100cが所望の印刷データを提示していない場合、印刷装置100を±y方向に動かすことにより、次の印刷データの提示を印刷装置100に促す。これに応答して、動作検出部100aは、±y方向の動きを検出したと判別し(ステップS104;YES)、取得部100dが、「次候補」コマンドを入力データとして取得し、提示部100cへ供給する。これに応答して、提示部100cが次の順序の印刷データを提示し(ステップS110)、処理はステップS107へ移る。
±y方向の動きを検出していないと判別すると(ステップS104;NO)、動作検出部100aは、図5(a)に示す±x方向の動きを検出したか否かを判別する(ステップS105)。ユーザは、所望の印刷データが印刷装置100によって取得済みの場合、印刷装置100を±x方向に動かすことにより、印刷データの印刷を印刷装置100に促す。これに応答して、動作検出部100aは、±x方向の動きを検出したと判別し(ステップS105;YES)、取得部100dが、「印刷」コマンドを入力データとして取得し、印刷部100eへ供給する。これに応答して、印刷部100eが印刷データをテープ部材31へ印刷し(ステップS109)、処理はステップS107へ移る。
±x方向の動きを検出していないと判別すると(ステップS105;NO)、動作検出部100aは、図5(d)に示すx軸方向の左回り回転を検出したか否かを判別する(ステップS106)。ユーザは、所望の印刷データがテープ部材31に印刷済みの場合、印刷装置100をx軸方向に左回りに回転させることにより、テープ部材31の切断を印刷装置100に促す。これに応答して、動作検出部100aは、x軸方向の左回り回転を検出したと判別し(ステップS106;YES)、取得部100dが、「テープカット」コマンドを入力データとして取得し、切断部駆動回路53へ供給する。これに応答して、切断部駆動回路53が、フルカット機構17で使用されるステッピングモータやハーフカット機構18で使用されるDCモータ等を制御してテープ部材31を切断させ(ステップS108)、処理はステップS107へ移る。
x軸方向の左回り回転を検出していないと判別すると(ステップS106;NO)、動作検出部100aは、印刷装置100の電源がオフ状態か否かを判別する(ステップ107)。電源がオフ状態ではないと判別すると(ステップS107;NO)、処理はステップS102へ戻る。ユーザは、所望の動作を印刷装置100に実行させ終えた場合、電源をオフにすることにより、印刷処理の終了を印刷装置100に促す。これに応答して、印刷装置100は、電源がオフ状態であると判別し(ステップS107;YES)、図6のフローチャートの印刷処理を終了する。
以上説明したように、ユーザが本実施形態に係る印刷装置100を三次元空間内で動かすと、印刷装置100は、この動きに基づいて、印刷データや制御コマンドの入力を受け付ける。すなわち、印刷装置100は、簡易な操作により入力を受け付けることができる。
なお、本実施形態で説明した印刷装置100の動きと入力データの候補との間の対応付けは一例に過ぎず、両者は他の任意の方法で対応付けることができる。例えば、共に本実施形態では説明していない印刷装置100の動き(例えば、所定の軌跡を描く動き)と入力データの候補(例えば、印刷を中止するための制御コマンド)とを対応付けてもよい。
また、本実施形態では、印刷装置100が座標軸上の+方向へまず移動してから−方向に移動する動きと、−方向へまず移動してから+方向に移動する動きと、を区別していなかったが、両者を区別し、互いに異なる入力データの候補に対応付けてもよい。例えば、印刷装置100がまず−y方向へ動いてから+y方向へ移動する動きを、次の順序の印刷データを提示させるための制御コマンドに対応付ける一方、印刷装置100がまず+y方向へ動いてから−y方向へ移動する動きを、前の順序の印刷データを提示させるための制御コマンドに対応付けることができる。
あるいは、手袋をはめた状態でも指先で操作しやすい大きさの操作ボタンを操作部120に設け、この操作ボタンが押圧されているか否かに応じて、異なる入力データの候補を、同一の印刷装置100の動きに対応付けてもよい。例えば、操作ボタンが押圧された状態における±y方向の動きには、次の順序の印刷データを提示させるための制御コマンドを対応付ける一方、この操作ボタンが押圧されていない状態における±y方向の動きには、前の順序の印刷データを提示させるための制御コマンドを対応付けることができる。
(第2実施形態)
上記の第1実施形態では、複数の印刷データを予め記憶しておき、これらの印刷データの何れかを入力データとして取得した。しかし、これは一例に過ぎず、印刷データを他の方法により取得することもできる。以下、自装置の軌跡を印刷データとして取得する印刷装置100’の機能及び動作を説明する。
印刷装置100’の物理的・機能的構成は、第1実施形態に係る印刷装置100の物理的・機能的構成とほぼ同一であるが、一部が異なる。以下、第1実施形態と同様に、印刷装置100’の動きを説明するため、図7(a)及び(b)に示す座標系を設定する。図7(a)及び(b)に示すように、この座標系のx軸は印刷装置100’の短手方向である幅方向に、y軸は印刷装置100’の長手方向である高さ方向に、z軸は印刷装置100’の厚み方向に、それぞれ平行に設定されている。なお、図中、Gは重力加速度の方向ベクトル(鉛直方向)を表す。
印刷装置100’は、図7(a)及び(b)に示すように、摺動部140を機械的構成として備える。摺動部140は、筐体110の長手側一端に設けられた半球状の部材である。摺動部140の表面は、外部の物体(例えば、壁面や机の天板、ユーザの手のひら)の上を摺動しやすいように滑らかに加工されている。摺動部140は、圧力を検出する感圧センサを備えている。また、摺動部140は、摺動手段として機能する。
印刷装置100’は、機能的に、図8に示すように、判別部100fを備える。判別部100fは、入力条件が満たされているか否かを判別する。本実施形態において、入力条件は、摺動部140が外部の物体の上を摺動していることである。判別部100fは、摺動部140が備える感圧センサが検出した圧力の値を取得し、取得した圧力の値が所定の閾値以上であるか否かを判別することにより、入力条件が満たされているか否か(摺動部140が外部の物体の上を摺動しているか否か)を判別する。判別部100fは、制御部40によって実現される。また、判別部100fは、判別手段として機能する。
取得部100dは、入力条件が満たされていると判別部100fが判別した状態において動作検出部100aが検出した印刷装置100’の動きに基づいて、入力条件が満たされていると判別部100fが判別した状態における印刷装置100’の軌跡を取得する。具体的に、取得部100dは、動作検出部100aが備える加速度センサ6が検出した印刷装置100の加速度を積分することにより、印刷装置100’の三次元空間内の位置を取得する。そして、これらの位置を近似曲線(または近似直線)でフィッティングすることにより、印刷装置100’の軌跡を取得する。取得部100dは、このようにして取得した印刷装置100’の軌跡を、印刷データ(入力データ)として取得する。
例えば、ユーザが、印刷装置100’を、図9に示す軌跡を描くように動かしたとする。この際、図9中、実線で示す軌跡を描く際には、摺動部140を壁面(外部の物体)の上で摺動させる一方、破線で示す軌跡を描く際には、摺動部140が壁面に当接しないように印刷装置100’を動かす。すなわち、図9中、実線は入力条件(摺動部140が外部の物体の上を摺動していること)が満たされている状態における印刷装置100’の軌跡であり、破線は入力条件が満たされていない状態における印刷装置100’の軌跡である。この場合、取得部100dは、図9中の実線で示す軌跡を、動作検出部100aが検出した印刷装置100’の動きに基づいて取得し、この軌跡を印刷データとして取得する。
以上説明したように、本実施形態に係る印刷装置100’は、自装置の動きに基づき、印刷データ(入力データ)の入力を受け付ける。すなわち、指先を用いた細かなキーの押圧操作等の複雑な操作を行うことなく、簡易な操作により印刷データの入力を受け付けることができる。
本実施形態に係る印刷装置100’は、自装置の任意の軌跡を印刷データとして取得するため、予め記憶しておいた印刷データのうち何れかを入力データとして取得する第1実施形態に係る印刷装置100に比べて、多様な印刷データの入力を受け付けることができる。また、第1の実施形態に係る印刷装置100とは異なり、複数の印刷データを予め記憶しておく必要がないため、記憶容量を節約することができる。
なお、本実施形態では、摺動部140が外部の物体の上を摺動していることを入力条件として説明したが、これは一例に過ぎず、入力条件は任意に設定することができる。
例えば、手袋をはめた状態でも指先で操作しやすい大きさの操作ボタンを操作部120に設け、この操作ボタンが押圧されていることを入力条件として設定してもよい。この場合、ユーザは、この操作ボタンを押圧した状態で所望の印刷データを軌跡として描くように印刷装置100’を動かし、取得部100dは、この軌跡を印刷データとして取得する。
あるいは、印刷装置100’と外部の物体との間の距離を取得する測距センサを設け、この測距センサが取得した距離が所定値以下であることを入力条件として設定してもよい。この場合、ユーザは、印刷装置100’を、外部の物体の近傍において、所望の印刷データを軌跡として描くように動かし、取得部100dは、この軌跡を印刷データとして取得する。
あるいは、動作検出部100aが所定の動き(例えば、±z方向に2度連続して移動する動きや、+z方向に移動した後にx軸周りに回転する動き)を検出することを入力条件として設定してもよい。さらに、動作検出部100aが所定の動きを再度検出したことに応答して、印刷データの取得を終了することとしてもよい。この場合、ユーザは、印刷装置100’に所定の動きをさせた後、所望の印刷データを軌跡として描くように動かし、その後、再び所定の動きをさせる。取得部100dは、動作検出部100aが所定の動きを一度検出してから再度検出するまでの間の印刷装置100’の軌跡を、印刷データとして取得する。
なお、本実施形態では、印刷装置100’の軌跡を印刷データとして入力したが、これは一例に過ぎない。印刷データは、印刷装置100’の動きに基づき、他の方法で入力することもできる。以下、印刷データの構成要素である文字(ひらがな)を、印刷装置100’の動きに基づいて入力することにより、印刷データを入力する方法を説明する。
図10(a−1)に示すように、印刷装置100’が左向きに傾いていることを動作検出部100aが検出すると、提示部100cは、所定の時間ごとに(例えば、5秒おきに)五十音の各行(あ行〜わ行)を昇順に順次提示する。なお、動作検出部100aは、加速度センサ6を用いて重力加速度を検出することにより、印刷装置100’の傾きを検出する。図10(a−2)に示すように、印刷装置100’が右向きに傾いていることを動作検出部100aが検出すると、提示部100cは、所定の時間ごとに(例えば、5秒おきに)五十音の各行(あ行〜わ行)を降順に順次提示する。図10(a−3)に示すように、印刷装置100’の傾きが無くなったことを動作検出部100aが検出すると、その時点で提示されていた五十音の行が選択される。行が選択された状態において、図10(a−4)に示す各動作を動作検出部100aが検出すると、取得部100dは、選択された行の、検出された動作に対応する段の文字を入力データとして取得する。具体的には、図10(a−4)に示すように、動作検出部100aが+z方向の動きを検出すると、選択された行の「あ段」の文字を、+x方向の動きを検出すると「え段」の文字を、−x方向の動きを検出すると「い段」の文字を、+y方向の動きを検出すると「う段」の文字を、−y方向の動きを検出すると「お段」の文字を、それぞれ入力データとして取得部100dが取得する。このようにして、印刷装置100’の動きに基づいて印刷データの構成要素である文字を順次入力することにより、印刷データを入力することができる。なお、上記の説明では印刷データの構成要素の例として文字を用いたが、印刷データの構成要素は、画像であってもよい。
なお、上記の文字(印刷データの構成要素)の入力方法は一例に過ぎず、他の方法により文字を入力することもできる。以下、文字を入力する他の方法について説明する。図10(b−1)に示すように、印刷装置100’が+x方向にまず移動した後、−x方向に移動する動きを動作検出部100aが検出する度に、提示部100cが、五十音の各行を昇順に順次提示する。一方、図10(b−2)に示すように、印刷装置100’がまず−x方向に移動した後、+x方向に移動する動きを動作検出部100aが検出する度に、提示部100cが、五十音の各行を降順に順次提示する。図10(b−3)に示すように、印刷装置100’がx軸方向の左回り回転を動作検出部100aが検出すると、その時点で提示されていた五十音の行が選択される。行が選択された状態において、図10(b−4)に示す各動作を動作検出部100aが検出すると、選択された行の、検出された動作に対応する段の文字を取得部100dが入力データとして取得する。具体的には、図10(b−4)に示すように、+z方向の動きを動作検出部100aが検出すると、選択された行の「あ段」の文字を、y軸方向の右回り回転を動作検出部100aが検出すると「え段」の文字を、y軸方向の左回り回転を動作検出部100aが検出すると「い段」の文字を、x軸方向の左回り回転を動作検出部100aが検出すると「う段」の文字を、x軸方向の右回り回転を動作検出部100aが検出すると「お段」の文字を、それぞれ入力データとして取得部100dが取得する。
(第3実施形態)
上記第1及び第2実施形態の印刷装置100、100’は、入力データとして、印刷データや制御コマンドの入力を受け付けた。しかし、これは一例に過ぎず、本発明に係る入力装置(印刷装置)は、印刷データや制御コマンド以外の入力データの入力を受け付けることもできる。以下、入力データとしてレイアウトの入力を受け付ける印刷装置100”の機能及び動作を説明する。
印刷装置100”の物理的・機能的構成は、第1実施形態に係る印刷装置100の物理的・機能的構成とほぼ同一であるが、一部が異なる。以下、第1実施形態と同様に、印刷装置100”の動きを説明するため、図1(a)及び(b)に示す座標系を設定する。図1(a)及び(b)に示すように、この座標系のx軸は印刷装置100”の短手方向である幅方向に、y軸は印刷装置100”の長手方向である高さ方向に、z軸は印刷装置100”の厚み方向に、それぞれ平行に設定されている。なお、図中、Gは重力加速度の方向ベクトル(鉛直方向)を表す。
印刷装置100”の記憶部100bは、図11−A(a−1)〜(g−1)及び図11−B(h−1)〜(n−1)に示す印刷装置100”の動きにそれぞれ対応付けて、図11−A(a−2)〜(g−2)及び図11−B(h−2)〜(n−2)に示すレイアウトa〜nを、取得部100dが取得する入力データの候補として記憶している。図11−A(a−1)〜(g−1)及び図11−B(h−1)〜(n−1)に示す印刷装置100”の動きを動作検出部100aが検出すると、取得部100dは、検出された動きに対応付けて記憶部100bが記憶しているレイアウトを入力データとして取得する。また、印刷データの各構成要素は、図11−A(a−2)〜(g−2)及び図11−B(h−2)〜(n−2)では10個の文字(「あ」「い」「う」「え」「お」「か」「き」「く」「け」「こ」)であり、印刷データは、この10個の各構成要素をこの順番で並べてテープ部材31の印刷範囲に収まるように配列したものである。
具体的に、図11−A(a−1)に示すように、印刷装置100”の+y方向が鉛直方向Gとは反対の方向である鉛直上方向と同じ向きを保ったまま、印刷装置100”のxy平面内において鉛直方向Gと直交する方向である水平方向に対して、斜め上方向(水平方向と鉛直上方向とを合成した方向)へ直線Mを描くように移動する動きを動作検出部100aが検出すると(水平方向と直線Mに沿った動き方向とのなす角度が+θ1)、取得部100dは、図11−A(a−2)に示すレイアウトaを入力データとして取得する(テープ部材31の長手方向とテープ部材31への文字の配列方向とのなす角度が+θ2)。また、図11−A(b−1)に示すように、印刷装置100”が、一定の傾きを保ったまま(印刷装置100”の+y方向と鉛直上方向とのなす角度が+W)、水平方向に対して、斜め上方向へ直線Mを描くように移動する動きを動作検出部100aが検出すると(水平方向と直線Mに沿った動き方向とのなす角度が+θ1)、取得部100dは、図11−A(b−2)に示すレイアウトbを入力データとして取得する(テープ部材31の長手方向とテープ部材31への文字の配列方向とのなす角度が+θ2)。レイアウトa及びbは、何れも、印刷データの各構成要素の中心を結ぶ線が右上がりの直線Lをなすように、印刷装置100”が印刷データの各構成要素を印刷するレイアウトである。レイアウトaでは、印刷データの各構成要素の縦方向の中心線P(印刷データの構成要素である10個の文字(「あ」「い」「う」「え」「お」「か」「き」「く」「け」「こ」)のうちの、文字「あ」のみに表示、以下同様。)がそれぞれテープ部材31の幅方向に対して平行となるように、印刷装置100”が印刷データの各構成要素を印刷する。レイアウトbでは、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して同一の角度(+W)で傾くように、印刷装置100”が印刷データの各構成要素を印刷する。なお、この直線Lのテープ部材31の長手方向に対する傾きである+θ2は、+θ2=+θ1としても文字の配列がテープ部材31の印刷範囲に収まる場合には+θ2=+θ1と決定され、+θ2=+θ1とすると文字の配列がテープ部材31の印刷範囲に収まらない場合にはテープ部材31の印刷範囲に基づいて、両端の構成要素(「あ」、「こ」)がテープ部材31の印刷範囲に収まるように+θ1よりも絶対値が小さい正の角度に決定される。また、印刷装置100”の動きはフリーハンドの動きであるため、印刷装置100”の動きが水平方向に対して、斜め上方向へ正確な直線を描くように移動する動きからずれる場合には、例えば、印刷装置100”の動きにおける始点と終点との2点を検出して、この2点を結ぶ直線を求めて、この直線を直線Mとして採用し、この直線における始点から始まり終点で終わる方向を動き方向として採用すればよい。
図11−A(c−1)に示すように、印刷装置100”の+y方向が鉛直上方向と同じ向きを保ったまま、水平方向に対して、斜め下方向(水平方向と鉛直方向Gとを合成した方向)へ直線Mを描くように移動する動きを動作検出部100aが検出すると(水平方向と直線Mに沿った動き方向とのなす角度が−θ1)、取得部100dは、図11−A(c−2)に示すレイアウトcを入力データとして取得する(テープ部材31の長手方向とテープ部材31への文字の配列方向とのなす角度が−θ2)。図11−A(d−1)に示すように、印刷装置100”が、一定の傾きを保ったまま(印刷装置100”の+y方向と鉛直上方向とのなす角度が−W)、水平方向に対して、斜め下方向へ直線Mを描くように移動する動きを動作検出部100aが検出すると(水平方向と直線Mに沿った動き方向とのなす角度が−θ1)、取得部100dは、図11−A(d−2)に示すレイアウトdを入力データとして取得する(テープ部材31の長手方向とテープ部材31への文字の配列方向とのなす角度が−θ2)。レイアウトc及びdは、何れも、印刷データの各構成要素の中心を結ぶ線が右下がりの直線Lをなすように、印刷装置100”が印刷データの各構成要素を印刷するレイアウトである。レイアウトcでは、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して平行となるように、印刷装置100”が印刷データの各構成要素を印刷する。レイアウトdでは、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して同一の角度(−W)で傾くように、印刷装置100”が印刷データの各構成要素を印刷する。なお、この直線Lのテープ部材31の長手方向に対する傾きである−θ2は、−θ2=−θ1としても文字の配列がテープ部材31の印刷範囲に収まる場合には−θ2=−θ1と決定され、−θ2=−θ1とすると文字の配列がテープ部材31の印刷範囲に収まらない場合にはテープ部材31の印刷範囲に基づいて、両端の構成要素(「あ」、「こ」)がテープ部材31の印刷範囲に収まるように−θ1よりも絶対値が小さい負の角度に決定される。また、印刷装置100”の動きはフリーハンドの動きであるため、印刷装置100”の動きが水平方向に対して、斜め下方向へ正確な直線を描くように移動する動きからずれる場合には、例えば、印刷装置100”の動きにおける始点と終点との2点を検出して、この2点を結ぶ直線を求めて、この直線を直線Mとして採用し、この直線における始点から始まり終点で終わる方向を動き方向として採用すればよい。
図11−A(e−1)に示すように、印刷装置100”の+y方向が鉛直上方向と同じ向きを保ったまま、鉛直上方向に凸な弧Qを描くように移動する動きを動作検出部100aが検出すると、取得部100dは、図11−A(e−2)に示すレイアウトeを入力データとして取得する(鉛直上方向に凸な弧Qと相似であり、テープ部材31の長手方向に対して、文字の配列がテープ部材31の上方向に凸な弧Rを描く)。図11−A(f−1)に示すように、印刷装置100”が、z軸方向に左回りに回転しながら、鉛直上方向に凸な弧Qを描くように移動する動きを動作検出部100aが検出すると、取得部100dは、図11−A(f−2)に示すレイアウトfを入力データとして取得する(鉛直上方向に凸な弧Qと相似であり、テープ部材31の長手方向に対して、文字の配列がテープ部材31の上方向に凸な弧Rを描く)。図11−A(g−1)に示すように、印刷装置100”が、一定の傾きを保ったまま(印刷装置100”の+y方向と鉛直上方向とのなす角度が+W)、鉛直上方向に凸な弧Qを描くように移動する動きを動作検出部100aが検出すると、取得部100dは、図11−A(g−2)に示すレイアウトgを入力データとして取得する(鉛直上方向に凸な弧Qと相似であり、テープ部材31の長手方向に対して、文字の配列がテープ部材31の上方向に凸な弧Rを描く)。レイアウトe〜gは、何れも、印刷データの各構成要素の中心を結ぶ線が鉛直上方向に凸な弧Qと相似であり、テープ部材31の長手方向に対して、テープ部材31の上方向に凸な弧Rをなすように、印刷装置100”が印刷データの各構成要素を印刷するレイアウトである。レイアウトeでは、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して平行となるように、印刷装置100”が印刷データの各構成要素を印刷する。レイアウトfでは、印刷データの各構成要素の縦方向の中心線Pが弧Rの中心を通るように、且つ、それぞれテープ部材31の幅方向に対して異なる角度で傾くように、印刷装置100”が印刷データの各構成要素を印刷する。レイアウトgでは、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して同一の角度(+W)で傾くように、印刷装置100”が印刷データの各構成要素を印刷する。なお、この弧Rのテープ部材31の長手方向に対する高さHは、テープ部材31の印刷範囲に基づいて、両端の構成要素(「あ」、「こ」)と中央の構成要素(「お」、「か」)とがテープ部材31の印刷範囲に収まるように決定される。また、印刷装置100”の動きはフリーハンドの動きであるため、印刷装置100”の動きが鉛直上方向に凸な正確な弧を描くように移動する動きからずれる場合には、例えば、印刷装置100”の動きにおける始点と鉛直上方向の最大地点と終点との3点を検出して、この3点を通る外接円を求めて、この外接円のうちの始点から始まり鉛直上方向の最大地点を通り終点で終わる弧を弧Qとして採用すればよい。
図11−B(h−1)に示すように、印刷装置100”の+y方向が鉛直上方向と同じ向きを保ったまま、鉛直方向Gに凸な弧Qを描くように移動する動きを動作検出部100aが検出すると、取得部100dは、図11−B(h−2)に示すレイアウトhを入力データとして取得する(鉛直方向Gに凸な弧Qと相似であり、テープ部材31の長手方向に対して、文字の配列がテープ部材31の下方向に凸な弧Rを描く)。図11−B(i−1)に示すように、印刷装置100”が、z軸方向に右回りに回転しながら、鉛直方向Gに凸な弧Qを描くように移動する動きを動作検出部100aが検出すると、取得部100dは、図11−B(i−2)に示すレイアウトiを入力データとして取得する(鉛直方向Gに凸な弧Qと相似であり、テープ部材31の長手方向に対して、文字の配列がテープ部材31の下方向に凸な弧Rを描く)。図11−B(j−1)に示すように、印刷装置100”が、一定の傾きを保ったまま(印刷装置100”の+y方向と鉛直上方向とのなす角度が−W)、鉛直方向Gに凸な弧Qを描くように移動する動きを動作検出部100aが検出すると、取得部100dは、図11−B(j−2)に示すレイアウトjを入力データとして取得する(鉛直方向Gに凸な弧Qと相似であり、テープ部材31の長手方向に対して、文字の配列がテープ部材31の下方向に凸な弧Rを描く)。レイアウトh〜jは、何れも、印刷データの各構成要素の中心を結ぶ線が鉛直方向Gに凸な弧Qと相似であり、テープ部材31の長手方向に対して、テープ部材31の下方向に凸な弧Rをなすように、印刷装置100”が印刷データの各構成要素を印刷するレイアウトである。レイアウトhでは、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して平行となるように、印刷装置100”が印刷データの各構成要素を印刷する。レイアウトiでは、印刷データの各構成要素の縦方向の中心線が弧Rの中心を通るように、且つ、それぞれテープ部材31の幅方向に対して異なる角度で傾くように、印刷装置100”が印刷データの各構成要素を印刷する。レイアウトjでは、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して同一の角度(−W)で傾くように、印刷装置100”が印刷データの各構成要素を印刷する。なお、この弧Rのテープ部材31の長手方向に対する高さHは、テープ部材31の印刷範囲に基づいて、両端の構成要素(「あ」、「こ」)と中央の構成要素(「お」、「か」)とがテープ部材31の印刷範囲に収まるように決定される。また、印刷装置100”の動きはフリーハンドの動きであるため、印刷装置100”の動きが鉛直方向Gに凸な正確な弧を描くように移動する動きからずれる場合には、例えば、印刷装置100”の動きにおける始点と鉛直方向Gの最大地点と終点との3点を検出して、この3点を通る外接円を求めて、この外接円のうちの始点から始まり鉛直方向Gの最大地点を通り終点で終わる弧を弧Qとして採用すればよい。
図11−B(k−1)に示すように、印刷装置100”の+y方向が鉛直上方向と同じ向きを保ったまま、+z方向に移動する動きを動作検出部100aが検出すると、取得部100dは、図11−B(k−2)に示すレイアウトkを入力データとして取得する。図11−B(l−1)に示すように、印刷装置100”の+y方向が鉛直上方向と同じ向きを保ったまま、−z方向に移動する動きを動作検出部100aが検出すると、取得部100dは、図11−B(l−2)に示すレイアウトlを入力データとして取得する。レイアウトk及びlは、何れも、各構成要素の中心を結ぶ線がテープ部材31の長手方向に対して平行な直線Lをなすように、且つ、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して平行となるように、印刷装置100”が印刷データの各構成要素を印刷するレイアウトである。レイアウトkでは、印刷装置100”が印刷データの各構成要素を、印刷データの始端(「あ」)から印刷データの終端(「こ」)に向けて徐々に大きなサイズで印刷する。また、印刷装置100”は、+z方向に移動する動きの速度が速い程、印刷データの始端(「あ」)をより小さなサイズで印刷するとともに印刷データの終端(「こ」)をより大きなサイズで印刷してもよい。レイアウトlでは、印刷装置100”が印刷データの各構成要素を、印刷データの始端(「あ」)から印刷データの終端(「こ」)に向けて徐々に小さなサイズで印刷する。また、印刷装置100”は、−z方向に移動する動きの速度が速い程、印刷データの始端(「あ」)をより大きなサイズで印刷するとともに印刷データの終端(「こ」)をより小さなサイズで印刷してもよい。なお、テープ部材31の印刷範囲に基づいて、最大サイズの構成要素(レイアウトkでは「こ」、レイアウトlでは「あ」)の高さSは、テープ部材31の印刷範囲に収まるように決定される。
図11−B(m−1)に示すように、印刷装置100”の+y方向が鉛直上方向と同じ向きを保ったまま、+z方向にまず移動した後、−z方向へ移動する動きを動作検出部100aが検出すると、取得部100dは、図11−B(m−2)に示すレイアウトmを入力データとして取得する。図11−B(n−1)に示すように、印刷装置100”の+y方向が鉛直上方向と同じ向きを保ったまま、−z方向にまず移動した後、+z方向へ移動する動きを動作検出部100aが検出すると、取得部100dは、図11−B(n−2)に示すレイアウトnを入力データとして取得する。レイアウトm及びnは、何れも、各構成要素の中心を結ぶ線がテープ部材31の長手方向に対して平行な直線Lをなすように、且つ、印刷データの各構成要素の縦方向の中心線Pがそれぞれテープ部材31の幅方向に対して平行となるように、印刷装置100”が印刷データの各構成要素を印刷するレイアウトである。レイアウトmでは、印刷装置100”が印刷データの各構成要素を、印刷データの始端(「あ」)から印刷データの中央(「お」、「か」)に向けて徐々に大きなサイズで印刷し、印刷データの中央(「お」、「か」)から印刷データの終端(「こ」)に向けて徐々に小さなサイズで印刷する。また、印刷装置100”は、+z方向に移動する動きの速度及び−z方向に移動する動きの速度が速い程、印刷データの始端(「あ」)をより小さなサイズで印刷し、印刷データの中央(「お」、「か」)をより大きなサイズで印刷し、印刷データの終端(「こ」)をより小さなサイズで印刷してもよい。レイアウトnでは、印刷装置100”が印刷データの各構成要素を、印刷データの始端(「あ」)から印刷データの中央(「お」、「か」)に向けて徐々に小さなサイズで印刷し、印刷データの中央(「お」、「か」)から印刷データの終端(「こ」)に向けて徐々に大きなサイズで印刷する。また、印刷装置100”は、−z方向に移動する動きの速度及び+z方向に移動する動きの速度が速い程、印刷データの始端(「あ」)をより大きなサイズで印刷し、印刷データの中央(「お」、「か」)をより小さなサイズで印刷し、印刷データの終端(「こ」)をより大きなサイズで印刷してもよい。なお、テープ部材31の印刷範囲に基づいて、最大サイズの構成要素(レイアウトmでは「お」、「か」、レイアウトnでは「あ」、「こ」)の高さSは、テープ部材31の印刷範囲に収まるように決定される。
以下、上記の物理的構成・機能的構成を有する印刷装置100”が実行する入力処理の詳細について、図12のフローチャートを参照して説明する。
印刷装置100”の記憶部100bは、入力データの候補であるレイアウト及び印刷パターンを予め外部から取得し、記憶している。
印刷装置100”にレイアウトを入力することを所望するユーザが電源を投入すると、印刷装置100”は、図12のフローチャートに示す印刷処理を開始する。
入力処理を開始すると、まず、動作検出部100aが、所定の開始動作を検出したか否かを判別する(S201)。本実施形態では、印刷装置100”が±z方向に2回移動する動きを開始動作として設定する。開始動作を検出していないと判別すると(ステップS201;NO)、動作検出部100aは、開始動作を検出するまでステップS201の処理を繰り返す。開始動作を検出したと判別すると(ステップS201;YES)、動作検出部100aは、印刷装置100”の動きを検出する(ステップS202)。
次に、動作検出部100aは、所定の終了動作を検出したか否かを判別する(ステップS203)。本実施形態では、開始動作と同様の動き(印刷装置100”本体が±z方向に2回移動する動き)を終了動作として設定する。終了動作を検出していないと判別すると(ステップS203;NO)、処理はステップS202へ戻る。動作検出部100aは、終了動作を検出するまでステップS202〜S203の処理を繰り返す。終了動作を検出したと判別すると(ステップS203;YES)、動作検出部100aは、z方向の動きを検出したか否かを判別する(ステップS204)。
z方向の動きを検出していないと判別すると(ステップS204;NO)、動作検出部100aは、印刷装置100”の動きを示す特徴量として、始点の鉛直上方向の高さUs、終点の鉛直上方向の高さUe、鉛直上方向の高さの最大値Umax、鉛直上方向の高さの最小値Umin、傾きの絶対値の最大値Wmax及び傾きの絶対値の最小値Wminを取得する(ステップS205)。
始点の鉛直上方向の高さUsは、ステップS201で開始動作を検出した時点における印刷装置100”の鉛直上方向の高さである。終点の鉛直上方向の高さUeは、ステップS203で終了動作を検出した時点における印刷装置100”の鉛直上方向の高さである。鉛直上方向の高さの最大値Umax及び最小値Uminは、それぞれ、ステップS201で開始動作を検出してからステップS203で終了動作を検出するまでの間に動作検出部100aが検出した印刷装置100”の鉛直上方向の高さの最大値及び最小値である。傾きの絶対値の最大値Wmax及び傾きの絶対値の最小値Wminは、それぞれ、ステップS201で開始動作を検出してからステップS203で終了動作を検出するまでの間に動作検出部100aが検出した印刷装置100”の傾きWの絶対値の最大値及び最小値である。ここで、印刷装置100”の傾きWとは、印刷装置100”の+y方向と鉛直上方向とのなす角度のことである。
動作検出部100aは、加速度センサ6により重力加速度を検出することにより、印刷装置100”の傾きWを取得する。また、動作検出部100aは、加速度センサ6が検出した重力加速度の鉛直方向G成分を積分することにより、印刷装置100”の鉛直上方向の高さを取得する。
動作検出部100aは、始点の鉛直上方向の高さUsと鉛直上方向の高さの最小値Uminとがほぼ一致するか否かを判別する(ステップS206)。以下、2つの値が「ほぼ一致する」とは、2つの値の間の差が所定の閾値以下であることを指すものとする。
始点の鉛直上方向の高さUsと鉛直上方向の高さの最小値Uminとがほぼ一致すると判別すると(ステップS206;YES)、動作検出部100aは、終点の鉛直上方向の高さUeと鉛直上方向の高さの最大値Umaxとがほぼ一致するか否かを判別する(ステップS207)。
終点の鉛直上方向の高さUeと鉛直上方向の高さの最大値Umaxとがほぼ一致すると判別した場合(ステップS207;YES)、動作検出部100aが検出した印刷装置100”の動きは、図11−A(a−1)に示す動きと、図11−A(b−1)に示す動きと、のうちの何れかであると考えられる。動作検出部100aは、印刷装置100の傾きWに基づいて、何れの動きを検出したかを判別する。
具体的に、動作検出部100aは、傾きの絶対値の最大値Wmaxが所定の閾値α1よりも小さいか否かを判別する(ステップS208)。傾きの絶対値の最大値Wmaxが閾値α1よりも小さいと判別した場合(ステップS208;YES)、ユーザは印刷装置100”を垂直に保った状態で動かそうと意図していた可能性が高い。このため、検出された動きは図11−A(a−1)に示す動きであると動作検出部100aが判別し、記憶部100bがこの動きに対応付けて記憶しているレイアウトaを取得部100dが入力データとして取得して(ステップS209)、入力処理を終了する。一方、傾きの絶対値の最大値Wmaxが閾値α1以上であると判別した場合(ステップS208;NO)、ユーザは印刷装置100”を一定の傾きを保った状態で動かそうと意図していた可能性が高い。このため、検出された動きは図11−A(b−1)に示す動きであると動作検出部100aが判別し、記憶部100bがこの動きに対応付けて記憶しているレイアウトbを取得部100dが入力データとして取得して(ステップS210)、入力処理を終了する。
ステップS207において、終点の鉛直上方向の高さUeと鉛直上方向の高さの最大値Umaxとが一致しないと判別すると(ステップS207;NO)、動作検出部100aは、終点の鉛直上方向の高さUeと鉛直上方向の高さの最小値Uminとがほぼ一致するか否かを判別する(ステップS213)。一致しないと判別すると(ステップS213;NO)、動作検出部100aが検出した動きは記憶部100bが記憶している印刷装置100”の動きの何れとも一致しないので、取得部100dは、記憶部100bが予め記憶している標準レイアウトを入力データとして取得し(ステップS218)、入力処理を終了する。標準レイアウトでは、印刷データの各構成要素を、テープ部材31の長手方向に平行に、同じサイズで印刷する。
終点の鉛直上方向の高さUeと鉛直上方向の高さの最小値Uminとがほぼ一致すると判別すると(ステップS213;YES)、動作検出部100aは、鉛直上方向の高さの最大値Umaxと鉛直上方向の高さの最小値Uminとの間の差が所定の閾値α2よりも大きいか否かを判別する(ステップS214)。差が閾値α2以下であると判別すると(ステップS214;NO)、ユーザは印刷装置100”を水平に動かすことを意図していた可能性が高いので、取得部100dは、標準レイアウトを入力データとして取得し(ステップS218)、入力処理を終了する。
差が閾値α2よりも大きいと判別すると(ステップS214;YES)、動作検出部100aは、傾きの絶対値の最大値Wmaxが閾値α1よりも小さいか否かを判別する(ステップS215)。傾きの絶対値の最大値Wmaxが閾値α1よりも小さいと判別した場合(ステップS215;YES)、ユーザは印刷装置100を垂直に保った状態で動かすことを意図していた可能性が高いので、動作検出部100aは、検出した動きが図11−A(e−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトeを入力データとして取得し(ステップS211)、入力処理を終了する。
傾きの絶対値の最大値Wmaxが閾値α1以上であると判別すると(ステップS215;NO)、動作検出部100aは、傾きの絶対値の最大値Wmaxと傾きの絶対値の最小値Wminとの間の差が所定の閾値α3よりも大きいか否かを判別する(ステップS216)。差が閾値α3以下であると判別した場合(ステップS216;NO)、ユーザは印刷装置100”の傾きを一定に保ったまま動かすことを意図していた可能性が高いため、動作検出部100aは、検出した動きが図11−A(g−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトgを入力データとして取得し(ステップS212)、入力処理を終了する。一方、差が閾値α3よりも大きいと判別すると(ステップS216;YES)、ユーザは印刷装置100”を回転させつつ動かすことを意図していた可能性が高いため、動作検出部100aは、検出した動きが図11−A(f−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトfを取得し(ステップS217)、入力処理を終了する。
ステップS206において、始点の鉛直上方向の高さUsと鉛直上方向の高さの最小値Uminとが一致しないと判別すると(ステップS206;NO)、動作検出部100aは、始点の鉛直上方向の高さUsと鉛直上方向の高さの最大値Umaxとがほぼ一致するか否かを判別する(ステップS219)。一致しないと判別した場合(ステップS219;NO)、取得部100dは標準レイアウトを入力データとして取得し(ステップS218)、入力処理を終了する。
始点の鉛直上方向の高さUsと鉛直上方向の高さの最大値Umaxとがほぼ一致すると判別すると(S219;YES)、動作検出部100aは、終点の鉛直上方向の高さUeと鉛直上方向の高さの最小値Uminとがほぼ一致するか否かを判別する(ステップS220)。一致すると判別すると(ステップS220;YES)、動作検出部100aは、傾きの絶対値の最大値Wmaxが閾値α1よりも小さいか否かを判別する(ステップS227)。
傾きの絶対値の最大値Wmaxが閾値α1よりも小さいと判別すると(ステップS227;YES)、動作検出部100aは、検出した動きが図11−A(c−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトcを入力データとして取得し(ステップS230)、入力処理を終了する。傾きの絶対値の最大値Wmaxが閾値α1以上であると判別すると(ステップS227;NO)、動作検出部100aは、検出した動きが図11−A(d−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトdを入力データとして取得し(ステップS228)、入力処理を終了する。
ステップS220において、終点の鉛直上方向の高さUeと鉛直上方向の高さの最小値Uminとが一致しないと判別すると(ステップS220;NO)、動作検出部100aは、終点の鉛直上方向の高さUeと鉛直上方向の高さの最大値Umaxとがほぼ一致するか否かを判別する(ステップS221)。一致しないと判別すると(ステップS221;NO)、取得部100dは、標準レイアウトを入力データとして取得し(ステップS218)、入力処理を終了する。
終点の鉛直上方向の高さUeと鉛直上方向の高さの最大値Umaxとがほぼ一致すると判別すると(ステップS221;YES)、動作検出部100aは、鉛直上方向の高さの最大値Umaxと鉛直上方向の高さの最小値Uminとの間の差が閾値α2よりも大きいか否かを判別する(ステップS222)。差が閾値α2以下であると判別すると(ステップS222;NO)、取得部100dは、標準レイアウトを入力データとして取得し(ステップS218)、入力処理を終了する。
鉛直上方向の高さの最大値Umaxと鉛直上方向の高さの最小値Uminとの間の差が閾値α2よりも大きいと判別すると(ステップS222;YES)、傾きの絶対値の最大値Wmaxが閾値α1よりも小さいか否かを判別する(ステップS223)。傾きの絶対値の最大値Wmaxが閾値α1よりも小さいと判別した場合(ステップS223;YES)、動作検出部100aは、検出した動きが図11−B(h−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトhを入力データとして取得し(ステップS229)、入力処理を終了する。
傾きの絶対値の最大値Wmaxが閾値α1以上であると判別すると(ステップS223;NO)、動作検出部100aは、傾きの絶対値の最大値Wmaxと傾きの絶対値の最小値Wminとの間の差が閾値α3よりも大きいか否かを判別する(ステップS224)。差が閾値α3以下であると判別すると(ステップS224;NO)、動作検出部100aは、検出した動きが図11−B(j−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトjを入力データとして取得し(ステップS226)、入力処理を終了する。一方、傾きの絶対値の最大値Wmaxと傾きの絶対値の最小値Wminとの間の差が閾値α3よりも大きいと判別すると(ステップS224;YES)、動作検出部100aは、検出した動きが図11−B(i−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトiを入力データとして取得し(ステップS225)、入力処理を終了する。
ステップS204において、z方向の動きを検出したと判別すると(ステップS204;YES)、動作検出部100aは、印刷装置100”の動きを示す特徴量として、始点のz座標Zs、終点のz座標Ze、z座標の最大値Zmax、z座標の最小値Zminを取得する(ステップS231)。
始点のz座標Zsは、ステップS201で開始動作を検出した時点における印刷装置100”のz座標である。終点のz座標Zeは、ステップS203で終了動作を検出した時点における印刷装置100”のz座標である。z座標の最大値Zmax及びz座標の最小値Zminは、それぞれ、ステップS201で開始動作を検出してからステップS203で終了動作を検出するまでの間に動作検出部100aが検出した印刷装置100”のz座標の最大値及び最小値である。動作検出部100aは、加速度センサ6が検出した加速度を積分することにより、印刷装置100”のz座標を取得する。
動作検出部100aは、始点のz座標Zsとz座標の最小値Zminとがほぼ一致するか否かを判別する(ステップS232)。ほぼ一致すると判別すると(ステップS232;YES)、動作検出部100aは、終点のz座標Zeとz座標の最大値Zmaxとがほぼ一致するか否かを判別する(ステップS233)。ほぼ一致すると判別すると(ステップS233;YES)、動作検出部100aは、検出した動きが図11−B(k−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトkを入力データとして取得し(ステップS234)、入力処理を終了する。
終点の座標Zeとz座標の最大値Zmaxとが一致していないと判別すると(ステップS233;NO)、動作検出部100aは、終点の座標Zeとz座標の最小値Zminとがほぼ一致するか否かを判別する(ステップS235)。一致しないと判別すると(ステップS235;NO)、検出された動きは記憶部100bが記憶する動きの何れとも一致しないので、取得部100dが標準レイアウトを入力データとして取得し(ステップS238)、入力処理を終了する。
終点の座標Zeとz座標の最小値Zminとがほぼ一致すると判別すると(ステップS235;YES)、動作検出部100aは、z座標の最大値Zmaxとz座標の最小値Zminとの間の差が所定の閾値α4よりも大きいか否かを判別する(ステップS236)。差が閾値α4以下であると判別すると(ステップS236;NO)、ユーザはz方向に印刷装置100”を移動させることを意図していなかった可能性が高いので、取得部100dが標準レイアウトを入力データとして取得し(ステップS238)、入力処理を終了する。
z座標の最大値Zmaxとz座標の最小値Zminとの間の差が閾値α4よりも大きいと判別すると(ステップS236;YES)、動作検出部100aは、検出した動きが図11−B(m−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトmを入力データとして取得し(ステップS237)、入力処理を終了する。
ステップS232において、始点のz座標Zsとz座標の最小値Zminとが一致しないと判別すると(ステップS232;NO)、動作検出部100aは、始点のz座標Zsとz座標の最大値Zmaxとがほぼ一致するか否かを判別する(ステップS239)。一致していないと判別すると(ステップS239;NO)、取得部100dが標準レイアウトを入力データとして取得し(ステップS238)、入力処理を終了する。
始点の座標Zsとz座標の最大値Zmaxとがほぼ一致すると判別すると(ステップS239;YES)、動作検出部100aは、終点の座標Zeとz座標の最小値Zminとがほぼ一致するか否かを判別する(ステップS240)。ほぼ一致すると判別すると(ステップS240;YES)、動作検出部100aは、検出した動きが図11−B(l−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトlを入力データとして取得し(ステップS244)、入力処理を終了する。
終点の座標Zeとz座標の最小値Zminとが一致しないと判別すると(ステップS240;NO)、動作検出部100aは、終点のz座標Zeとz座標の最大値Zmaxとがほぼ一致するか否かを判別する(ステップS241)。一致しないと判別すると(ステップS241;NO)、取得部100dが標準レイアウトを入力データとして取得し(ステップS238)、入力処理を終了する。
終点のz座標Zeとz座標の最大値Zmaxとがほぼ一致すると判別すると(ステップS241;YES)、動作検出部100aは、z座標の最大値Zmaxとz座標の最小値Zminとの間の差が閾値α4よりも大きいか否かを判別する(ステップS242)。差が閾値α4以下であると判別すると(ステップS242;NO)、取得部100dが標準レイアウトを入力データとして取得し(ステップS238)、入力処理を終了する。
z座標の最大値Zmaxとz座標の最小値Zminとの間の差が閾値α4よりも大きいと判別すると(ステップS242;YES)、動作検出部100aは、検出した動きが図11−B(n−1)に示す動きであると判別し、これに応答して取得部100dがレイアウトnを入力データとして取得し(ステップS243)、入力処理を終了する。
入力処理終了後、印刷装置100”は、図6のフローチャートに示す印刷処理を実行する。印刷処理において印刷開始の指示を受け付けると、入力処理で入力されたレイアウトにて印刷データを印刷する。なお、入力処理終了後ただちに(改めて印刷開始の指示を受けることなく)、入力されたレイアウトにて印刷データを印刷することとしてもよい。前者の態様によれば印刷データの選択が可能になり、同一のレイアウトで複数の印刷データを印刷できる。後者の態様によれば、改めて印刷を指示する手間を省ける。
以上説明したように、本実施形態に係る印刷装置100”は、本体の動きに基づいて、印刷データのレイアウトを取得する。すなわち、印刷装置100”は、簡易な操作により、レイアウト(入力データ)の入力を受け付けることができる。
なお、本実施形態では、複数のレイアウトを予め記憶しておき、これらの複数のレイアウトのうちの何れかを入力データとして取得した。しかし、これは一例に過ぎず、印刷装置100”は、レイアウトを予め記憶しておくことなく、レイアウトの入力を受け付けることもできる。
例えば、印刷装置100”は、本体の軌跡をレイアウトとして取得することができる。この場合、印刷装置100”は、図13のフローチャートに示す入力処理を実行する。印刷装置100”は、レイアウトの入力を所望するユーザが電源を投入すると、図13のフローチャートに示す入力処理を開始する。
入力処理を開始すると、まず、動作検出部100aが、所定の開始動作(例えば、印刷装置100”が+z方向に移動した後、x軸方向に左回りに回転する動き)を検出したか否かを判別する(ステップS301)。検出しなかったと判別すると(ステップS301;NO)、検出したと判別するまでステップS301の処理を繰り返す。開始動作を検出すると(ステップS301;YES)、動作検出部100aは、印刷装置100”の動きを検出する(ステップS302)。
次に、動作検出部100aは、所定の終了動作(例えば、印刷装置100”が+z方向に移動した後、x軸方向に左回りに回転する動き)を検出したか否かを判別する(ステップS303)。検出しなかったと判別すると(ステップS303;NO)、処理はステップS302へ戻る。
終了動作を検出したと判別すると(ステップS303;YES)、ステップS301で開始動作を検出したと判別してからステップS303で終了動作を検出したと判別するまでの間に検出した印刷装置100”の動きに基づいて、制御部40が、y座標の近似式fy(x)、z座標の近似式fz(x)、傾きの近似式fw(x)を取得する(ステップS304)。具体的には、制御部40は、加速度センサ6が検出した加速度を積分することにより印刷装置100”の座標(x、y、z)及び傾きWを取得し、これらの座標及び傾きに基づき、任意の公知技術(例えば、最小二乗法)を用いて、近似関数を取得する。ここで、印刷装置100”の傾きWとは、印刷装置100”の+y方向と鉛直上方向とのなす角度のことである。
次に、制御部40は、印刷データの各構成要素が、印刷された際にテープ部材31上で占める横幅Sを取得する(ステップS305)。具体的に、制御部40は、印刷データ全体がテープ部材31上で占める横幅(Xe−Xs)を構成要素の数で除算することにより、横幅Sを取得する。ここで、(Xe−Xs)は、ステップS303で終了動作を検出した時点における印刷装置100”のx座標Xeと、ステップS301で開始動作を検出した時点における印刷装置100”のx座標Xsと、の間の差である。
以下、制御部40は、ステップS306〜S311の処理を実行して印刷データの各構成要素のレイアウトを取得することにより、印刷データのレイアウトを取得する。まず、制御部40は、カウンタNを0に設定する(ステップS306)。
次に、ステップS301で開始動作を検出した時点における印刷装置100”のx座標Xsに、各構成要素が占める横幅SとカウンタNとの積を加算することにより、現在処理している構成要素のx座標XNを取得する(ステップS307)。
制御部40は、ステップS304で取得した近似式fy(x)、fz(x)及びfw(x)に、ステップS307で取得したx座標XNを代入することにより、現在処理している構成要素のy座標YN、z座標ZN及び傾きWNを取得する(ステップS308)。
制御部40は、構成要素のx座標XN、y座標YN、z座標ZN及び傾きWNに基づき、現在処理している構成要素のレイアウトを取得する(ステップS309)。具体的に、制御部40は、y座標の値が大きい構成要素ほどテープ部材31の上側に、y座標の値が小さい構成要素ほどテープ部材31の下側に、配置されるように構成要素をレイアウトする。また、制御部40は、z座標の値が大きい構成要素ほど大きなサイズで、z座標の値が小さい構成要素ほど小さなサイズで、レイアウトする。また、制御部40は、各構成要素が、傾きWを有するようにレイアウトする。
次に、印刷装置100”は、カウンタNを1加算し(ステップS310)、加算後のカウンタNが構成要素の数よりも小さいか否かを判別する(ステップS311)。カウンタNが構成要素の数よりも小さいと判別すると(ステップS311;YES)、処理はステップS307へ戻る。カウンタNが構成要素の数以上であると判別すると(ステップS311;NO)、入力処理を終了する。
この態様によれば、自装置の軌跡に基づいてレイアウトを取得することができる。このため、予め記憶しているレイアウトの何れかを入力データとして取得する本実施形態に係る以前の印刷装置100”に比べて、多様なレイアウトを取得できる。また、予めレイアウトを記憶しておく必要がないため、本実施形態に係る以前の印刷装置100”に比べて記憶容量を節減できる。
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
例えば、上記実施形態では、本発明に係る入力装置の例として、ラベルプリンタである印刷装置100を用いて説明した。しかし、これは一例に過ぎず、本発明に係る入力装置は、ラベルプリンタ等の印刷装置に限らず、スマートフォン、コンピュータ、PDA(Personal Digital Assistance)等の任意の電子機器によって実現できる。
具体的に、スマートフォン、コンピュータ、PDA等を本発明に係る入力装置として動作させるためのプログラムを、これらの電子機器が読み取り可能な記録媒体(例えば、メモリカードやCD−ROM(Compact Disc Read−Only Memory)、DVD−ROM(Digital Versatile Disc Read−Only Memory)等)に格納して配布し、インストールすることにより本発明に係る入力装置を実現することができる。
あるいは、上記プログラムを、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置(例えば、ディスク装置等)に格納しておき、スマートフォン、コンピュータ、PDA等がこのプログラムをダウンロードすることによって本発明に係る入力装置を実現してもよい。
また、本発明に係る入力装置の機能を、オペレーティングシステム(OS)とアプリケーションプログラムとの協働又は分担により実現する場合には、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
また、アプリケーションプログラムを搬送波に重畳し、通信ネットワークを介して配信してもよい。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にアプリケーションプログラムを掲示し、ネットワークを介してアプリケーションプログラムを配信してもよい。そして、このアプリケーションプログラムをコンピュータにインストールして起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、本発明に係る入力装置を実現してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
入力データの入力を受け付ける入力装置であって、
前記入力装置の動きを検出する動作検出手段と、
入力条件が満たされているか否かを判別する判別手段と、
前記入力条件が満たされていると前記判別手段が判別した場合に、前記動作検出手段が検出した前記入力装置の動きに基づいて、前記入力装置の軌跡を入手して、前記軌跡に応じたパターンの配置を前記入力データとして取得する取得手段と、
を備える、
ことを特徴とする入力装置。
(付記2)
前記取得手段が取得した前記入力データを記録媒体に印刷する印刷手段を更に備える、
ことを特徴とする付記1に記載の入力装置。
(付記3)
複数の入力データの候補を記憶する記憶手段を更に備え、
前記記憶手段は、複数の前記入力データの候補を、それぞれ、前記動作検出手段が検出可能な前記入力装置の動きに対応付けて記憶し、
前記取得手段は、前記動作検出手段が検出した前記入力装置の動きに対応付けて前記記憶手段が記憶している前記入力データの候補を、前記入力データとして取得する、
ことを特徴とする付記1又は2に記載の入力装置。
(付記4)
前記記憶手段が記憶する複数の前記入力データの候補のうちの何れか一つをユーザに提示する提示手段を更に備え、
前記提示手段は、前記動作検出手段が第1の動きを検出する度に、複数の前記入力データの候補のうちの何れか一つを順次前記ユーザに提示し、
前記取得手段は、複数の前記入力データの候補のうちの、前記動作検出手段が前記第1の動きとは異なる第2の動きを検出したときに前記提示手段が提示している前記入力データの候補を、前記入力データとして取得する、
ことを特徴とする付記3に記載の入力装置。
(付記5)
操作ボタンを有する操作手段を更に備え、
前記入力条件は、前記操作ボタンが押圧されているときに満たされる、
ことを特徴とする付記1乃至4のうちの何れか一つに記載の入力装置。
(付記6)
外部の物体の上を摺動する摺動手段を更に備え、
前記入力条件は、前記摺動手段が前記外部の物体の上を摺動しているときに満たされる、
ことを特徴とする付記1乃至4のうちの何れか一つに記載の入力装置。
(付記7)
前記入力条件は、前記動作検出手段が所定の動きを検出してから前記所定の動きを再度検出するまでの間に満たされる、
ことを特徴とする付記1乃至4のうちの何れか一つに記載の入力装置。
(付記8)
入力データの入力を受け付ける入力装置が実行する入力方法であって、
前記入力装置の動きを検出し、
入力条件が満たされているか否かを判別し、
前記入力条件が満たされていると判別した場合に、検出した前記入力装置の動きに基づいて、前記入力装置の軌跡を入手して、前記軌跡に応じたパターンの配置を前記入力データとして取得する、
ことを特徴とする入力方法。
(付記9)
コンピュータを、
入力データの入力を受け付ける入力装置として機能させ、
前記入力装置の動きを検出させ、
入力条件が満たされているか否かを判別させ、
前記入力条件が満たされていると判別した場合に、検出した前記入力装置の動きに基づいて、前記入力装置の軌跡を入手して、前記軌跡に応じたパターンの配置を前記入力データとして取得させる、
ことを特徴とするプログラム。