【発明が解決しようとする課題】
【0005】
図13は、背景技術に係るリモートコントローラにおいて、同一キーが連打された場合のコマンドの送信状況を示す図である。
図13の(B)に示すように、この例ではコマンド送信間隔が200msecに設定されている。このようなリモートコントローラにおいて、
図13の(A)に示すようにユーザがキー操作X1〜X4によって同一キーを4回連打した状況を想定する。リモートコントローラは、キー操作X1に対応するコマンドC1を生成して送信する。しかし、キー操作X2,X3は、コマンドC1の送信を開始してからコマンド送信間隔(200msec)が経過する前に行われているため、リモートコントローラは、キー操作X2,X3を無効として扱い、キー操作X2,X3に対応するコマンドを送信しない。キー操作X4は、コマンド送信間隔が経過した後に行われているため、リモートコントローラは、キー操作X4に対応するコマンドC4を生成して送信する。
【0006】
このように背景技術に係るリモートコントローラでは、コマンド送信間隔が、100msec〜数100msecという比較的長い時間に設定されている。従って、例えば同一キーの連打のように、コマンド送信間隔よりも短い間隔でユーザがキー操作を行った場合には、全てのキー操作を反映した正しいコマンドを送信できない状況が生じ得る。
【0007】
本発明はかかる事情に鑑みて成されたものであり、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、許容遅延時間内の全てのキー操作を反映した正しいコマンドを送信することが可能な、リモートコントローラ、信号処理装置、及びプログラムを得ることを目的とするものである。
【課題を解決するための手段】
【0008】
本発明の第1の態様に係るリモートコントローラは、操作キーと、前記操作キーがオン操作されたことを第1イベントとして検出することにより第1イベント信号を出力し、前記操作キーがオフ操作されたことを第2イベントとして検出することにより第2イベント信号を出力する、イベント検出部と、前記イベント検出部が出力した第1イベント信号及び第2イベント信号を一時的に保持するイベント保持部と、前記イベント保持部が保持している第1イベント信号に基づいて、第1イベントに対応する第1コードを生成し、前記イベント保持部が保持している第2イベント信号に基づいて、第2イベントに対応する第2コードを生成する、コード生成部と、前記コード生成部によって生成された第1コード及び第2コードを含むコマンドを送信する、コマンド送信部と、を備え、前記イベント保持部は、前記イベント検出部が順に出力した複数の第1イベント信号を保持する第1のキューと、前記イベント検出部が順に出力した複数の第2イベント信号を保持する第2のキューと、を有することを特徴とするものである。
【0009】
第1の態様に係るリモートコントローラによれば、イベント保持部は、イベント検出部が順に出力した複数の第1イベント信号を保持する第1のキューと、イベント検出部が順に出力した複数の第2イベント信号を保持する第2のキューと、を有する。そして、コード生成部は、イベント保持部が保持している第1イベント信号に基づいて、第1イベントに対応する第1コードを生成し、イベント保持部が保持している第2イベント信号に基づいて、第2イベントに対応する第2コードを生成する。従って、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、オン操作に伴う第1イベント信号は第1のキューに保持され、オフ操作に伴う第2イベント信号は第2のキューに保持されているため、コード生成部は、第1のキュー及び第2のキューから入力された第1イベント信号及び第2イベント信号に基づいて、第1コード及び第2コードを生成することができる。その結果、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、当該キー操作に対応する第1コード及び第2コードを含むコマンドを、コマンド送信部から受信機に向けて送信することが可能となる。
【0010】
しかも、イベント保持部は、第1イベント信号を保持する第1のキューと、第2イベント信号を保持する第2のキューとを個別に有する。従って、第1のキュー及び第2のキューへのイベント信号の入力制御を簡易に行うことが可能となる。例えばユーザによって同一キーが連打された場合において、オーバーフローによって第1のキューに第1イベント信号を入力できなかった場合には、当該第1イベント信号に対応する第2イベント信号を第2のキューに入力しないというキュー制御を、簡易に行うことができる。
【0011】
本発明の第2の態様に係るリモートコントローラは、第1の態様に係るリモートコントローラにおいて特に、前記第1のキューは、最大でN個の第1イベント信号を保持可能であり、前記第2のキューは、最大でN+1個の第2イベント信号を保持可能であることを特徴とするものである。
【0012】
第2の態様に係るリモートコントローラによれば、第1のキューは、最大でN個の第1イベント信号を保持可能であり、第2のキューは、最大でN+1個の第2イベント信号を保持可能である。例えばユーザによって同一キーが連打された場合には、1回目のオン操作に対応する第1イベント信号は、第1のキューに保持されずにコード生成部に入力され、1回目のオフ操作に対応する第2イベント信号は、第2のキューに保持される。また、2回目以降のオン操作及びオフ操作に対応する第1イベント信号及び第2イベント信号は、それぞれ第1のキュー及び第2のキューに保持される。このように、第1のキューは2回目以降のオン操作に対応する第1イベント信号を保持し、第2のキューは1回目以降のオフ操作に対応する第2イベント信号を保持する。第2の態様に係るリモートコントローラによれば、第2のキューには、第1のキューが保持可能な第1イベント信号の個数よりも1個多い個数の第2イベント信号を保持可能であるため、上記のようにユーザによって同一キーが連打された場合であっても、2回目以降のキー操作に対応する第1イベント信号及び第2イベント信号を、一対一に対応付けて第1のキュー及び第2のキューによって保持することが可能となる。
【0013】
本発明の第3の態様に係るリモートコントローラは、第2の態様に係るリモートコントローラにおいて特に、前記操作キーが連打された場合に生じる遅延時間が許容遅延時間内に納まる最大の連打回数をZとして、前記第1のキューの段数はZ−1段に設定され、前記第2のキューの段数はZ段に設定されることを特徴とするものである。
【0014】
第3の態様に係るリモートコントローラによれば、操作キーが連打された場合に生じる遅延時間が許容遅延時間内に納まる最大の連打回数をZとして、第1のキューの段数はZ−1段に設定され、第2のキューの段数はZ段に設定される。これにより、操作キーが連打された場合、キー連打の2回目のオン操作から最終回のオン操作までの全ての第1イベント信号を第1のキューに保持することができ、キー連打の初回のオフ操作から最終回のオフ操作までの全ての第2イベント信号を第2のキューに保持することができる。その結果、許容連打回数Z内の全てのキー操作を反映した正しいコマンドを送信することが可能となる。
【0015】
本発明の第4の態様に係るリモートコントローラは、第1〜第3のいずれか一つの態様に係るリモートコントローラにおいて特に、前記第1のキューへの第1イベント信号の入力と、前記第2のキューへの第2イベント信号の入力とを制御する、キュー制御部をさらに備え、前記キュー制御部は、前記第1のキューのオーバーフローに起因して第1イベント信号を前記第1のキューに入力できない場合には、当該第1イベント信号に対応する第2イベント信号を、前記第2のキューに入力しないことを特徴とするものである。
【0016】
第4の態様に係るリモートコントローラによれば、キュー制御部は、第1のキューのオーバーフローに起因して第1イベント信号を第1のキューに入力できない場合には、当該第1イベント信号に対応する第2イベント信号を第2のキューに入力しない。その結果、第1のキューが保持する第1イベント信号と第2のキューが保持する第2イベント信号とが一対一に対応しないという事態を回避することが可能となる。つまり、オーバーフローによって第1イベント信号を第1のキューに入力できないにも拘わらず、当該第1イベント信号に対応する第2イベント信号が第2のキューに入力されるという事態を回避することができる。
【0017】
本発明の第5の態様に係るリモートコントローラは、第4の態様に係るリモートコントローラにおいて特に、前記キュー制御部は、前記第1のキューのオーバーフローに起因して第1イベント信号を前記第1のキューに入力できない場合には、所定のフラグの設定を有効とし、当該フラグの設定が有効である時に前記イベント検出部から第2イベント信号を受領した場合には、当該第2イベント信号を前記第2のキューに入力しないとともに、当該フラグの設定を無効とすることを特徴とするものである。
【0018】
第5の態様に係るリモートコントローラによれば、キュー制御部は、第1のキューのオーバーフローに起因して第1イベント信号を第1のキューに入力できない場合には、所定のフラグの設定を有効とし、当該フラグの設定が有効である時にイベント検出部から第2イベント信号を受領した場合には、当該第2イベント信号を第2のキューに入力しない。このように、所定のフラグの設定によって第2のキューへの第2イベント信号の入力の可否を管理することにより、第2のキューへの第2イベント信号の入力制御を簡易に行うことが可能となる。また、キュー制御部は、当該フラグの設定が有効である時にイベント検出部から第2イベント信号を受領した場合には、当該フラグの設定を無効とする。フラグの設定を無効にすることにより、オーバーフローの解消によって次の第1イベント信号を第1のキューに入力できた場合には、当該第1イベント信号に対応する第2イベント信号を第2のキューに入力することが可能となる。
【0019】
本発明の第6の態様に係るリモートコントローラは、操作キーと、前記操作キーがオン操作されたことを第1イベントとして検出することにより第1イベント信号を出力し、前記操作キーがオフ操作されたことを第2イベントとして検出することにより第2イベント信号を出力する、イベント検出部と、前記イベント検出部が出力した第1イベント信号及び第2イベント信号を一時的に保持するイベント保持部と、前記イベント保持部が保持している第1イベント信号に基づいて、第1イベントに対応する第1コードを生成し、前記イベント保持部が保持している第2イベント信号に基づいて、第2イベントに対応する第2コードを生成する、コード生成部と、前記コード生成部によって生成された第1コード及び第2コードを含むコマンドを送信する、コマンド送信部と、を備え、前記イベント保持部は、前記イベント検出部が順に出力した複数の第1イベント信号と、前記イベント検出部が順に出力した複数の第2イベント信号とを保持するキューを有し、前記操作キーが連打された場合に生じる遅延時間が許容遅延時間内に納まる最大の連打回数をZとして、前記キューの段数は2×Z−1段に設定されることを特徴とするものである。
【0020】
第6の態様に係るリモートコントローラによれば、イベント保持部は、イベント検出部が順に出力した複数の第1イベント信号と、イベント検出部が順に出力した複数の第2イベント信号とを保持するキューを有する。そして、コード生成部は、イベント保持部が保持している第1イベント信号に基づいて、第1イベントに対応する第1コードを生成し、イベント保持部が保持している第2イベント信号に基づいて、第2イベントに対応する第2コードを生成する。従って、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、オン操作に伴う第1イベント信号及びオフ操作に伴う第2イベント信号はキューに保持されているため、コード生成部は、キューから入力された第1イベント信号及び第2イベント信号に基づいて、第1コード及び第2コードを生成することができる。その結果、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、当該キー操作に対応する第1コード及び第2コードを含むコマンドを、コマンド送信部から受信機に向けて送信することが可能となる。
【0021】
しかも、操作キーが連打された場合に生じる遅延時間が許容遅延時間内に納まる最大の連打回数をZとして、キューの段数は2×Z−1段に設定される。これにより、操作キーが連打された場合、キー連打の初回のオフ操作から最終回のオフ操作までの全ての第1イベント信号及び第2イベント信号を、キューに保持することができる。その結果、許容連打回数Z内の全てのキー操作を反映した正しいコマンドを送信することが可能となる。
【0022】
本発明の第7の態様に係る信号処理装置は、リモートコントローラに搭載される信号処理装置であって、操作キーがオン操作されたことを第1イベントとして検出することにより第1イベント信号を出力し、前記操作キーがオフ操作されたことを第2イベントとして検出することにより第2イベント信号を出力する、イベント検出部と、前記イベント検出部が出力した第1イベント信号及び第2イベント信号を一時的に保持するイベント保持部と、前記イベント保持部が保持している第1イベント信号に基づいて、第1イベントに対応する第1コードを生成し、前記イベント保持部が保持している第2イベント信号に基づいて、第2イベントに対応する第2コードを生成する、コード生成部と、を備え、前記イベント保持部は、前記イベント検出部が順に出力した複数の第1イベント信号を保持する第1のキューと、前記イベント検出部が順に出力した複数の第2イベント信号を保持する第2のキューと、を有することを特徴とするものである。
【0023】
第7の態様に係る信号処理装置によれば、イベント保持部は、イベント検出部が順に出力した複数の第1イベント信号を保持する第1のキューと、イベント検出部が順に出力した複数の第2イベント信号を保持する第2のキューと、を有する。そして、コード生成部は、イベント保持部が保持している第1イベント信号に基づいて、第1イベントに対応する第1コードを生成し、イベント保持部が保持している第2イベント信号に基づいて、第2イベントに対応する第2コードを生成する。従って、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、オン操作に伴う第1イベント信号は第1のキューに保持され、オフ操作に伴う第2イベント信号は第2のキューに保持されているため、コード生成部は、第1のキュー及び第2のキューから入力された第1イベント信号及び第2イベント信号に基づいて、第1コード及び第2コードを生成することができる。その結果、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、当該キー操作に対応する第1コード及び第2コードを含むコマンドを、コマンド送信部から受信機に向けて送信することが可能となる。
【0024】
しかも、イベント保持部は、第1イベント信号を保持する第1のキューと、第2イベント信号を保持する第2のキューとを個別に有する。従って、第1のキュー及び第2のキューへのイベント信号の入力制御を簡易に行うことが可能となる。例えばユーザによって同一キーが連打された場合において、オーバーフローによって第1のキューに第1イベント信号を入力できなかった場合には、当該第1イベント信号に対応する第2イベント信号を第2のキューに入力しないというキュー制御を、簡易に行うことができる。
【0025】
本発明の第8の態様に係るプログラムは、リモートコントローラに搭載される信号処理装置を、操作キーがオン操作されたことを第1イベントとして検出することにより第1イベント信号を出力し、前記操作キーがオフ操作されたことを第2イベントとして検出することにより第2イベント信号を出力する、イベント検出部と、前記イベント検出部が出力した第1イベント信号及び第2イベント信号を一時的に保持し、前記イベント検出部が順に出力した複数の第1イベント信号を保持する第1のキューと、前記イベント検出部が順に出力した複数の第2イベント信号を保持する第2のキューとを有するイベント保持部と、前記イベント保持部が保持している第1イベント信号に基づいて、第1イベントに対応する第1コードを生成し、前記イベント保持部が保持している第2イベント信号に基づいて、第2イベントに対応する第2コードを生成する、コード生成部と、として機能させるためのプログラムである。
【0026】
第8の態様に係るプログラムによれば、イベント保持部は、イベント検出部が順に出力した複数の第1イベント信号を保持する第1のキューと、イベント検出部が順に出力した複数の第2イベント信号を保持する第2のキューと、を有する。そして、コード生成部は、イベント保持部が保持している第1イベント信号に基づいて、第1イベントに対応する第1コードを生成し、イベント保持部が保持している第2イベント信号に基づいて、第2イベントに対応する第2コードを生成する。従って、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、オン操作に伴う第1イベント信号は第1のキューに保持され、オフ操作に伴う第2イベント信号は第2のキューに保持されているため、コード生成部は、第1のキュー及び第2のキューから入力された第1イベント信号及び第2イベント信号に基づいて、第1コード及び第2コードを生成することができる。その結果、コマンド送信間隔よりも短い間隔でキー操作が行われた場合であっても、当該キー操作に対応する第1コード及び第2コードを含むコマンドを、コマンド送信部から受信機に向けて送信することが可能となる。
【0027】
しかも、イベント保持部は、第1イベント信号を保持する第1のキューと、第2イベント信号を保持する第2のキューとを個別に有する。従って、第1のキュー及び第2のキューへのイベント信号の入力制御を簡易に行うことが可能となる。例えばユーザによって同一キーが連打された場合において、オーバーフローによって第1のキューに第1イベント信号を入力できなかった場合には、当該第1イベント信号に対応する第2イベント信号を第2のキューに入力しないというキュー制御を、簡易に行うことができる。