(57)【特許請求の範囲】
【請求項１】
１つ又は２つ以上のオーディオソース装置、１つ又は２つ以上のビデオソース装置、１つ又は２つ以上のオーディオ宛先装置、及び１つ又は２つ以上の表示装置を含む複数の異なる種類の電子装置に接続され及び該電子装置を制御するよう構成されたプログラマブルマルチメディアコントローラであって、前記表示装置の少なくとも１つにおいてオンスクリーンディスプレイメニューシステムを表示するよう構成されており、該オンスクリーンディスプレイメニューシステムが、該オンスクリーンディスプレイメニューシステム内で回転することが可能であり及び制御コマンドに応じて該オンスクリーンディスプレイメニューシステムから選択することが可能である複数の選択可能オプションを含む、プログラマブルマルチメディアコントローラと、
該プログラマブルマルチメディアコントローラ及び前記少なくとも１つの表示装置とは別個のモバイル装置であって、前記オンスクリーンディスプレイメニューシステムと対話するための制御コマンドを入力することが可能な前記プログラマブルマルチメディアコントローラのためのリモート制御手段として動作するよう構成されており、該モバイル装置が、該プログラマブルマルチメディアコントローラとの無線通信を可能にする無線インタフェイスと、タッチスクリーンディスプレイと、プロセッサと、少なくともリモート制御インタフェイス用クライアントアプリケーションを格納するよう構成されたメモリとを含み、該リモート制御インタフェイス用クライアントアプリケーションが、前記プロセッサによる実行時に、
ジェスチャフィールドを有する入力インタフェイスを前記タッチスクリーンディスプレイ上に表示し、
該モバイル装置の該ジェスチャフィールド内のユーザからのタッチ入力を検出し、
複数の種類及び複数の方向のタッチ入力から前記タッチ入力の種類及び方向を判定し、
該タッチ入力に応じて、１つ又は２つ以上の制御コマンドを前記プログラマブルマルチメディアコントローラへ送信して、前記少なくとも１つの表示装置上に表示されている前記オンスクリーンディスプレイメニューシステムにおける前記複数の選択可能オプションの回転を該プログラマブルマルチメディアコントローラに行わせ、
該タッチ入力に応じて、前記ジェスチャフィールド内に１つ又は２つ以上の指示を表示して、該タッチ入力の種類及び方向に固有の視覚的なフィードバックを該モバイル装置上でユーザに提供し、該視覚的なフィードバックが前記複数の種類及び前記複数の方向のタッチ入力の異なる種類及び異なる方向毎に異なる、
という各ステップを行うものである、モバイル装置と
からなるシステム。
【請求項２】
前記入力インタフェイスが、前記ジェスチャフィールドとは別個の複数の仮想的なボタンを更に含み、前記リモート制御インタフェイス用クライアントアプリケーションがその実行時に、
前記仮想的なボタンの位置と一致する位置を有するユーザからの更なるタッチ入力を検出し、
該更なるタッチ入力に応じて、１つ又は２つ以上の制御コマンドを前記プログラマブルマルチメディアコントローラへ送信して、該仮想的なボタンに対応するアクションを該プログラマブルマルチメディアコントローラに実行させ、
該更なるタッチ入力に応じて、前記モバイル装置の前記タッチスクリーンディスプレイ上に視覚的な指示を表示して、前記仮想的なボタンが押下されたことの視覚的なフィードバックをユーザに提供する、
という各ステップを更に行うものである、請求項１に記載のシステム。
【請求項３】
前記タッチ入力の種類が潜在的なパンであり、前記指示が該潜在的なパンの方向を示す１つ又は２つ以上の方向の指示である、請求項１又は請求項２に記載のシステム。
【請求項４】
前記１つ又は２つ以上の方向の指示の個数が、前記入力インタフェイス内で移動した距離に基づくものであり、該移動の距離が大きいほど前記ジェスチャフィールド内に表示すべき方向の指示の数が一層多くなる、請求項３に記載のシステム。
【請求項５】
前記タッチ入力の種類が進行中のパンであり、前記指示が、該進行中のパンの方向を示し及び該進行中のパンの期間にわたって見え続ける複数の方向の指示である、請求項１又は請求項２に記載のシステム。
【請求項６】
前記タッチ入力の種類がスワイプであり、前記指示が該スワイプの方向を示す複数の方向の指示である、請求項１又は請求項２に記載のシステム。
【請求項７】
前記モバイル装置がスマートフォンであり、前記表示装置がテレビである、請求項１ないし請求項６の何れか一項に記載のシステム。
【請求項８】
前記モバイル装置がタブレットコンピュータであり、前記表示装置がテレビである、請求項１ないし請求項６の何れか一項に記載のシステム。
【請求項９】
前記プログラマブルマルチメディアコントローラが、閉回路テレビ（CCTV）制御システム、冷暖房空調（HVAC）制御システム、エネルギー管理システム、セキュリティシステム、電子照明コントローラ、及びモータ作動式装置コントローラからなるグループから選択された少なくとも１つの電子装置に接続されて該電子装置を制御するよう更に構成されている、請求項１ないし請求項８の何れか一項に記載のシステム。
【請求項１０】
オンスクリーンディスプレイメニューシステムをテレビ上に表示させ、該オンスクリーンディスプレイメニューシステムが、該オンスクリーンディスプレイメニューシステム上で操作することが可能であり及び制御コマンドに応じて該オンスクリーンディスプレイメニューシステムから選択することが可能である複数の選択可能オプションを含み、
前記テレビとは別個のモバイル装置のタッチスクリーンディスプレイ上に入力インタフェイスを表示し、該入力インタフェイスがジェスチャフィールドを有しており、
前記モバイル装置の前記ジェスチャフィールドにおけるユーザからのタッチ入力を検出し、
複数の種類及び複数の方向のタッチ入力から前記タッチ入力の種類及び方向を判定し、
該タッチ入力に応じて、１つ又は２つ以上の制御コマンドを送信して、前記テレビ上に表示されている前記オンスクリーンディスプレイメニューシステム内の前記複数の選択可能オプションを操作し、
前記タッチ入力に応じて、前記ジェスチャフィールド内に１つ又は２つ以上の指示を表示して、該タッチ入力の種類及び方向に固有の視覚的なフィードバックを該モバイル装置上でユーザに提供し、該視覚的なフィードバックが、同じ種類であっても異なる方向のタッチ入力を差別化する、
という各ステップからなる方法。
【請求項１１】
前記入力インタフェイスが前記ジェスチャフィールドとは別個の複数の仮想的なボタンを更に含み、
該仮想的なボタンの位置と一致する位置を有するユーザからの更なるタッチ入力を検出し、
該更なるタッチ入力に応じて、該仮想的なボタンに対応するアクションを実行するための１つ又は２つ以上の制御コマンドを送信し、
該更なるタッチ入力に応じて、前記モバイル装置の前記タッチスクリーンディスプレイ上に視覚的な指示を表示して、前記仮想的なボタンが押下されたことの視覚的なフィードバックをユーザに提供する、
という各ステップを更に含む、請求項１０に記載の方法。
【請求項１２】
前記タッチ入力の種類が潜在的なパンである、請求項１０又は請求項１１に記載の方法。
【請求項１３】
前記タッチ入力の種類が進行中のパンである、請求項１０又は請求項１１に記載の方法。
【請求項１４】
前記タッチ入力の種類がスワイプである、請求項１０又は請求項１１に記載の方法。
【請求項１５】
前記モバイル装置がスマートフォンである、請求項１０ないし請求項１４の何れか一項に記載の方法。
【請求項１６】
前記モバイル装置がタブレットコンピュータである、請求項１０ないし請求項１４の何れか一項に記載の方法。
【請求項１７】
前記テレビ上への前記オンスクリーンディスプレイメニューシステムの表示が該テレビに接続されたプログラマブルマルチメディアコントローラにより実行され、該プログラマブルマルチメディアコントローラが、１つ又は２つ以上のオーディオソース装置、１つ又は２つ以上のビデオソース装置、１つ又は２つ以上のオーディオ宛先装置、及び前記テレビ以外の１つ又は２つ以上の表示装置を含む複数の異なる種類の電子装置を制御するよう構成されており、前記モバイル装置が該プログラマブルマルチメディアコントローラと無線通信可能なものである、請求項１０ないし請求項１６の何れか一項に記載の方法。
【請求項１８】
実行可能命令を格納している持続性コンピュータ読み取り可能媒体であって、該実行可能命令が、プロセッサによるその実行時に、
オンスクリーンディスプレイメニューシステムを表示装置上に表示させ、該オンスクリーンディスプレイメニューシステムが、該オンスクリーンディスプレイメニューシステムから選択することが可能な複数のオプションを含み、
モバイル装置のタッチスクリーンディスプレイ上に入力インタフェイスを表示し、該入力インタフェイスが１つ又は２つ以上の仮想的なボタンと１つのジェスチャフィールドとを有しており、
ユーザによる前記入力インタフェイス内のタッチ入力であって前記仮想的なボタンの位置と一致する位置を有するタッチ入力を検出し、
該タッチ入力に応じて、前記表示装置に接続されているプログラマブルマルチメディアコントローラに前記仮想的なボタンに対応するアクションを実行させ、
該タッチ入力に応じて、前記モバイル装置の前記タッチスクリーンディスプレイ上に視覚的な指示を表示して、該仮想的なボタンが押下されたことの視覚的なフィードバックをユーザに提供し、
前記モバイル装置の前記ジェスチャフィールドにおけるユーザからの更なるタッチ入力を検出し、
複数の異なる種類及び複数の異なる方向のタッチ入力から該更なるタッチ入力の種類及び方向を判定し、
該更なるタッチ入力に応じて、前記表示装置上に表示されている前記オンスクリーンディスプレイメニューシステム内の前記複数のオプションのうちの１つを操作して、該１つのオプションを選択することが可能な前記オンスクリーンディスプレイメニューシステム内の所定位置に該１つのオプションを位置させ、
該更なるタッチ入力に応じて、前記ジェスチャフィールド内に１つ又は２つ以上の指示を表示して、該更なるタッチ入力の種類及び方向に固有の視覚的なフィードバックを前記モバイル装置上でユーザに提供し、該視覚的なフィードバックが、前記複数の異なる種類及び複数の異なる方向のタッチ入力の異なる種類及び異なる方向毎に異なる、
という各ステップを行うものである、持続性コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2011年1月18日出願の「Remote Control Interface Providing Head-Up Operation and Visual Feedback When Interacting with an On Screen Display」と題する米国仮特許出願第61/433,941号の優先権を主張するものである。
【０００２】
本開示は、一般に装置制御に関し、特に、オーディオ装置、ビデオ装置、電話装置、データ装置、セキュリティ装置、モータ作動式装置、リレー作動式装置、及び／又はその他の種類の装置といった様々な電子装置を制御するプログラマブルマルチメディアコントローラと共に使用するためのリモート制御インタフェイスに関するものである。
【背景技術】
【０００３】
電子装置の増大し続ける複雑化に伴い、単純でありながら効果的な装置制御が次第に重要になってきている。かつて電子機器は少数のアナログノブ及びスイッチで十分に制御することができたが、最近の電子装置は、極めて多数の設定オプション及びパラメータをユーザに提供することが多く、それらの操作及び選択のための複雑な制御が必要となる。「便利さ」に関するユーザの要求に応じて、かかる制御は、装置固有の又は「汎用的な」ハンドヘルドリモート制御ユニットで実施されることが多く、かかるリモート制御ユニットは、赤外線（IR）、電波（RF）、又はその他の種類の信号を使用して、制御対象となる電子装置とインタフェイスする。しかしながら、従来のリモート制御ユニットでは、実際の便利さは殆ど達成されない。
【０００４】
多くの装置固有のリモート制御ユニット及び「汎用的な」リモート制御ユニットは、ボタンを中心とした理論的枠組みで設計されており、非常に多数の機能固有のボタンがリモート制御ユニットの表面上の比較的小さなスペースに詰め込まれている。場合によっては、機能固有のボタンは、物理的なボタンであり、該ボタンの押下を検出するセンサ又はスイッチに結合されたものとなる。別の場合には、機能固有のボタンは仮想的なボタンとすることが可能であり、該仮想的なボタンは、タッチスクリーンディスプレイ（すなわち、視覚的な出力を表示することができ及びタッチデータを受信するよう構成されたディスプレイ）上に表示される。しかし、かかるボタンを中心としたリモート制御ユニットは、様々な欠点を有するものである。
【０００５】
ボタンを中心としたリモート制御ユニットの込み入ったボタンレイアウトは、該リモート制御ユニットから所望のボタンを選び出すためにユーザが該リモート制御ユニットに頻繁に目を落とすことを必要とするものである。このため、ユーザは、リモート制御ユニットを見るために、例えば、表示装置（例えばテレビ）上に示されているオンスクリーンディスプレイから該ユーザ自身の注意をそらさなければならない。このため、ユーザは、「うつむいた」状態でリモート制御ユニットを操作することを強いられることが多い。
【０００６】
リモート制御ユニットに目を落としている場合であっても、ボタンを中心としたリモート制御ユニットの込み入ったボタンレイアウトは、多数の利用可能なボタンから所望のボタンを選択することを（特に低照度条件で）困難にすることが多い。ユーザは、各ボタンに付与されている小さくて端的な表現のラベルを単に見ることができない場合があり、又はそれらの意味を理解することができない場合がある。ユーザが不意に「間違った」ボタンを押下した場合、装置は不要な動作を行い又は望んでいないモード若しくは状態に入ってしまう可能性がある。これは、ユーザを困惑させ又は苛立たせるものとなり得る。
【０００７】
より最近では、ボタンを中心とした理論的枠組みから脱却する取り組みが行われており、この場合には、リモート制御ユニットのタッチスクリーンディスプレイ上に単に仮想的なボタンを表示させるのではなく、該タッチスクリーンディスプレイ上でのジェスチャその他の一層複雑な入力を受信する。ボタン中心の理論的枠組みから脱却することにより一定の利益が達成されたものの、かかるリモート制御ユニットは一般に、それ自体の一連の欠点を有するものとなる。かかる欠点のうち最たるものは、かかるユニットが一般に、ユーザによる制御入力が受信されて正しく登録されたことのフィードバック又は確認を該ユーザに提供しないということである。押下された際にそれに応じた動きでユーザに安心感を与えることができる物理的なボタンとは異なり、タッチスクリーンディスプレイは一般に即時のフィードバックを全く提供しない。ユーザは、該ユーザ自身の選択が受信されて正しく登録されたか否か不安になる可能性がある。
【０００８】
最近では、装置固有の又は「汎用の」ハンドヘルドリモート制御ユニットとして動作することが可能なスマートフォン、タブレットコンピュータ、及びその他の「モバイル装置」のために様々なインタフェイスが開発されている。しかし、専用のリモート制御ユニットの上述の根本的な欠点は、スマートフォン、タブレットコンピュータ、及びその他の「モバイル装置」で使用されるインタフェイスへと移行している。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
必要とされているのは、上述の欠点の一部又は全部に対処することができる改善されたリモート制御インタフェイスである。
【課題を解決するための手段】
【００１０】
本開示の一実施形態によれば、ユーザがタッチスクリーンディスプレイを有するモバイル装置から主にとして「ヘッドアップ（head-up：前を向いた・顔を上げた）」状態でプログラマブルマルチメディアコントローラと対話し又はその制御を行うことを可能にすると共に、タッチ入力を確認するために該モバイル装置上に視覚的なフィードバックを提供する、リモート制御インタフェイスが提供される。
【００１１】
モバイル装置上で実行されるリモート制御インタフェイス用クライアントアプリケーションは、タッチスクリーンディスプレイ上に入力インタフェイスを表示することが可能である。ユーザは、タッチスクリーンディスプレイ上のタップ、ホールド、スワイプ、又はパンを含むタッチ入力を行うことが可能である。かかるタッチ入力は、プログラマブルマルチメディアコントローラに接続されたテレビ等の表示装置上にオンスクリーンディスプレイメニューシステムを表示する該プログラマブルマルチメディアコントローラに対して処理し又は通信することが可能である。ユーザは、該ユーザ自身の注意の大半を、モバイル装置上のタッチスクリーンディスプレイではなく、表示装置上のオンスクリーンディスプレイメニューシステムに向けることが可能である。タッチ入力に応じて、制御インタフェイス用クライアントアプリケーションは、適当なコマンドをプログラマブルマルチメディアコントローラへ通信して、該プログラマブルマルチメディアコントローラに、表示装置上のオンスクリーンディスプレイメニューシステムの表示及び操作、並びに該メニューシステム内の選択を行わせることが可能である。更に、該制御インタフェイス用クライアントアプリケーションは、モバイル装置のタッチスクリーンディスプレイ上で受信したタッチ入力の種類に固有の視覚的なフィードバックを、該タッチスクリーンディスプレイ上に表示させることが可能である。この視覚的なフィードバックは、様々な種類のタッチ入力（例えば、タップ、ホールド、スワイプ、及びパン）間で、及び異なる方向（例えば、左、右、上、及び下）のタッチ入力間で、異ならせることが可能である。かかる視覚的なフィードバックは、入力の最中に、及び／又は入力が完了した直後に、提供することが可能である。
【図面の簡単な説明】
【００１２】
【図１】多数の装置と相互接続されたプログラマブルマルチメディアコントローラの一例のブロック図である。
【図２】前記プログラマブルマルチメディアコントローラの一例のハードウェアアーキテクチャの一例の概略的なブロック図である。
【図３】図１のプログラマブルマルチメディアコントローラと共に動作することが可能なモバイル装置の一例のハードウェアアーキテクチャの一例のブロック図である。
【図４】前記プログラマブルマルチメディアコントローラに接続された表示装置上に表示することが可能なリモート制御インタフェイスのオンスクリーンディスプレイメニューシステムの一例の図である。
【図５Ａ】モバイル装置のタッチスクリーンディスプレイ上に表示することが可能な入力インタフェイスの一例のスクリーンショットである。
【図５Ｂ】モバイル装置のタッチスクリーンディスプレイ上に表示することが可能な、仮想的なボタンのタップ又はホールドに応じて提供される視覚的なフィードバックを示す入力インタフェイスの一例のスクリーンショットである。
【図５Ｃ】モバイル装置のタッチスクリーンディスプレイ上に表示することが可能な、ジェスチャフィールド内のタップ又はホールドに応じて提供される視覚的なフィードバックを示す入力インタフェイスの一例のスクリーンショットである。
【図５Ｄ】モバイル装置のタッチスクリーンディスプレイ上に表示することが可能な、潜在的なパンに応じて提供される視覚的なフィードバックを示す入力インタフェイスの一例のスクリーンショットである。
【図５Ｅ】モバイル装置のタッチスクリーンディスプレイ上に表示することが可能な、ジェスチャフィールド内の進行中のパン又はスワイプに応じて提供される視覚的なフィードバックを示す入力インタフェイスの一例のスクリーンショットである。
【図６Ａ】プログラマブルマルチメディアコントローラと協働してリモート制御インタフェイスを提供するためにリモート制御インタフェイス用クライアントアプリケーションにより実施することが可能な一連のステップの一例のフローチャートである。
【図６Ｂ】仮想的なボタンがタップされたか否か又はタップが受信されたか否かを判定するため及び適当な対応を行うためにリモート制御インタフェイス用クライアントアプリケーションにより実施することが可能な一連のステップの一例のフローチャートである。
【図６Ｃ】潜在的なパンが完了して実際の進行中のパンとなったか否かを判定するため及び適当な対応を行うためにリモート制御インタフェイス用クライアントアプリケーションにより実施することが可能な一連のステップの一例のフローチャートである。
【図６Ｄ】スワイプを登録して適当な対応を行うためにリモート制御インタフェイス用クライアントアプリケーションにより実施することが可能な一連のステップの一例のフローチャートである。
【図６Ｅ】仮想的なボタンがホールドされたか否か又はジェスチャフィールド内でホールドが受信されたか否かを判定するため及び適当な対応を行うためにリモート制御インタフェイス用クライアントアプリケーションにより実施することが可能な一連のステップの一例のフローチャートである。
【図６Ｆ】ハートビートインジケータを実施するためにリモート制御インタフェイス用クライアントアプリケーションにより実施することが可能な一連のステップの一例のフローチャートである。
【発明を実施するための形態】
【００１３】
図１は、多数の装置と相互接続されたプログラマブルマルチメディアコントローラ100の一例のブロック図である。用語「プログラマブルマルチメディアコントローラ」は、様々な電気的及び電子的装置（例えば、オーディオ、ビデオ、電話、データ、セキュリティ、モータ作動式、リレー作動式、冷暖房空調（HVAC）、エネルギー管理及び／又はその他の種類の装置）を制御し、それら装置間でデータを交換し、及び／又は他の態様でそれら装置と協働する装置として広範に解釈されるべきである。
【００１４】
該プログラマブルマルチメディアコントローラ100は、コンパクトディスク（CD）プレーヤ、ディジタルビデオディスク（DVD）プレーヤ、マイク、ディジタルビデオレコーダ（DVR）、ケーブルボックス、オーディオ／ビデオレシーバ、パーソナルメディアプレーヤ、及びオーディオ信号のソースとなる他の装置といったオーディオソース装置110を含む様々なA/V装置に接続することが可能であり、ディジタルビデオディスク（DVD）プレーヤ、ディジタルビデオレコーダ（DVR）、ケーブルボックス、オーディオ／ビデオレシーバ、パーソナルメディアプレーヤ、及びビデオ信号のソースとなる他の装置といった様々なビデオソース装置120に接続することが可能であり、スピーカ、スピーカを含む装置、及びオーディオを出力する他の装置といった様々なオーディオ出力装置130に接続することが可能であり、及び、テレビ、モニタ、及びビデオを出力する他の装置といった様々な表示装置140に接続することが可能である。
【００１５】
更に、プログラマブルマルチメディアコントローラ100は、直接的に又は１つ又は２つ以上の中間に介在するコントローラを介して、様々な他の種類の装置に接続し、該装置を制御し、及び該装置と他の態様で協働することが可能である。例えば、プログラマブルマルチメディアコントローラ100は、家庭その他の構造物の周囲に配置された複数のカメラからなるシステムを管理するCCTV（閉回路テレビ）制御システム170、家庭その他の構造物内の複数の環境機能及び／又はエネルギー管理装置を調整するよう複数のHVAC装置を管理するHVAC制御及び／又はエネルギー管理システム175、及び／又は家庭その他の構造物内の複数のセキュリティセンサのそれぞれを管理するセキュリティシステム180に接続することが可能である。該プログラマブルマルチメディアコントローラ100から受信した制御コマンドに応じて、CCTV制御システム170、HVAC制御及び／又はエネルギー管理システム175、及びセキュリティシステム180は、それぞれの直接的な制御下にある装置を管理することが可能である。
【００１６】
更に、プログラマブルマルチメディアコントローラ100は、１つ又は２つ以上の電子的な照明コントローラ190と接続し、該コントローラ190を制御し、及びその他の態様で該コントローラ190と協働することが可能である。該１つ又は２つ以上の電子的な照明コントローラ190は、例えば、複数のリレー192及び／又はディマー装置193に有線又は無線リンクを介して接続することが可能である。同様に、プログラマブルマルチメディアコントローラ100は、１つ又は２つ以上のモータ作動式装置コントローラ195（例えば、１つ又は２つ以上の自動ブラインドコントローラ又はその他の種類のコントローラ）に接続し、該コントローラ195を制御し、及びその他の態様で該コントローラ195と協働することが可能である。照明コントローラ190の場合のように、プログラマブルマルチメディアコントローラ100から受信した制御コマンドに応じて、前記モータ作動式装置コントローラ195は、所望の効果を達成すべく家庭その他の構造物の様々な部屋内のモータ作動式装置（図示せず）を選択的に駆動することが可能である。
【００１７】
プログラマブルマルチメディアコントローラ100は、例えば、壁取付型制御装置、卓上型制御装置、及びハンドヘルド型の携帯式制御装置といった、１つ又は２つ以上のリモート制御ユニットを介してユーザ入力を受信することが可能である。ある場合には、リモート制御ユニットは、中間的な装置153を介してプログラマブルマルチメディアコントローラ100に接続することが可能である。別の場合には、リモート制御ユニットは、プログラマブルマルチメディアコントローラ100と直接通信することが可能である。リモート制御ユニットの通信方式に応じて、該中間的な装置153の必要性及びその形態は異なり得る。例えば、リモート制御ユニットが無線ローカルエリアネットワーク（LAN）接続（Wi-Fi 又は IEEE 802.11など）を使用する場合には、中間的な装置153は無線アクセスポイントその他のゲートウェイとすることが可能である。代替的に、リモート制御ユニットが有線LAN接続（Ethernet接続など）を使用する場合には、中間的な装置153はスイッチ又はルータとすることが可能である。更に代替的には、リモート制御ユニットがワイドエリアネットワーク（WAN）（インターネットなど）を介してプログラマブルマルチメディアコントローラ100と接続する場合には、中間的な装置153はWANへのインタフェイス（ケーブルモデム又はディジタル加入者回線（DSL）モデムなど）とすることが可能である。
【００１８】
特定の種類のリモート制御ユニットを本書では「モバイル装置」150と称す。本書で用いるように、用語「モバイル装置」は、身に着けて搬送すべく構成された電子装置を指し、かかる電子装置には、Apple Inc.が販売するiPhone（登録商標）マルチメディアフォン及びResearch In Motion Limitedが販売するBlackberry（登録商標）装置といったマルチメディアスマートフォン、Apple Inc.が販売するiPad（登録商標）タブレット等の多目的タブレットコンピューティング装置、Apple Inc.が販売するiPod（登録商標）touch 等のポータブルメディアプレーヤ、携帯情報端末（PDA）、及び電子ブックリーダその他が含まれる。かかるモバイル装置150は、プログラマブルマルチメディアコントローラ100と直接通信することが可能であり、又は、様々な無線ネットワーキング技術、セルラーネットワーキング技術、及び／又は有線ネットワークを使用し及び中間的な装置153を介してプログラマブルマルチメディアコントローラ100と間接的に通信することが可能である。
【００１９】
モバイル装置150からのユーザ入力に応じて、プログラマブルマルチメディアコントローラ100は、オーディオソース装置110、ビデオソース装置120、オーディオ出力装置130、及び／又はビデオ出力装置140の間でデータを交換し、それら装置へ制御コマンドを発行し、及び／又はその他の態様でそれら装置と協働することが可能である。更に、該ユーザ入力に応じて、プログラマブルマルチメディアコントローラ100は、CCTV制御システム170、HVAC制御及び／又はエネルギー管理システム175、セキュリティシステム180、電子的な照明コントローラ190、並びにモータ作動式装置コントローラ195へ制御コマンドを発行し、及びその他の態様でそれらシステム及びコントローラと協働することが可能である。
【００２０】
図２は、プログラマブルマルチメディアコントローラ100の一例のハードウェアアーキテクチャ200の一例の概略的なブロック図である。図示の様々な構成要素は、プログラマブルマルチメディアコントローラ100の「マザーボード」上に配設することが可能であり、又はバックプレーン（図示せず）により相互接続された複数の回路カード上に配設することが可能である。マイクロコントローラ210は、プログラマブルマルチメディアコントローラ100の全般的な動作を管理する。マイクロコントローラ210は、バス218を介してオーディオスイッチ215及びビデオスイッチ220に接続される。オーディオスイッチ215及びビデオスイッチ220は好適には、多数の接続を同時に切り換えることができるクロスポイントスイッチである。しかし、複数のディジタル信号を切り換えることができる多くの他の種類のスイッチ、例えば、時分割多重（TDM）スイッチ又はその他の装置を採用することが可能である。更に、２つの別個のスイッチ215,220を示したが、オーディオ及びビデオの切り換えを、その両方の種類のデータの切り換えをサポートする単一のスイッチへと統合させることが可能である。
【００２１】
ミッドプレーン235は、オーディオスイッチ215及びビデオスイッチ220を様々な入力及び出力モジュール（例えば、１つ又は２つ以上のビデオ入出力モジュール287、１つ又は２つ以上のオーディオ入出力モジュール290、及び／又は１つ又は２つ以上の他のモジュール295）に相互接続する。かかるモジュールは、複数のA/V装置に接続することができる複数の接続ポートを含むことが可能である。該ミッドプレーン235は更に、Ethernetポート232及び処理サブシステム240をマイクロコントローラ210に相互接続するEthernetスイッチ230に接続される。一実施形態では、該処理サブシステム240は１つ又は２つ以上の「汎用コンピュータ」245を含む。汎用コンピュータ245は、本書では、一組の命令を実行するよう構成された装置であって、実行した特定の命令に応じて様々な異なる機能又はタスクを実行することができる装置を指す。典型的には、汎用コンピュータ245は、汎用的なオペレーティングシステム（Microsoft Corporation が販売するWindows（登録商標）オペレーティングシステム、様々なベンダから入手可能なLinux（登録商標）オペレーティングシステム、Apple Inc.が販売するOSX（登録商標）オペレーティングシステム、又はその他のオペレーティングシステムなど）を実行する（但しこれらには限定されない）。汎用コンピュータ245は、コンピュータ読み取り可能媒体（例えば、ハードディスクドライブ、コンパクトディスクリードオンリーメモリ（CD-ROM）ドライブ、フラッシュメモリ、又はその他の種類のストレージデバイス）を含むことが可能であり、及び／又は該処理サブシステム240内に配設されたストレージデバイスに相互接続することが可能である。
【００２２】
処理サブシステム240は好適には、１つ又は２つ以上のグラフィクス出力241,242（アナログビデオグラフィクスアレイ（VGA）コネクタ、ディジタルビジュアルインタフェイス（DVI）コネクタ、アップルディスプレイコネクタ（ADC）コネクタ、又はグラフィクスを供給するためのその他の種類のコネクタなど）を有する。かかるグラフィクス出力241,242は、例えば、処理サブシステム240の１つ又は２つ以上の汎用コンピュータ245から直接供給することが可能である。
【００２３】
プログラマブルマルチメディアコントローラ100の一例はまた、１つのメモリカードインタフェイス、及びユニバーサルシリアルバス（USB）ハブ243に相互接続された複数のUSBポート242を含むことが可能である。かかるUSBポート242は外部装置に接続することが可能である。該USBハブで受信したUSB信号を処理サブシステム240と交換するためにUSBスイッチ244が使用される。同様に、複数のIEEE1394（FireWire（商標））ポート246を外部装置に接続し、IEEE1394ハブ247及びIEEE1394スイッチ248へデータを送って、処理サブシステム240とのデータ交換を行うことが可能である。
【００２４】
マイクロコントローラ210は更に、シリアル周辺機器インタフェイス（SPI）及び集積回路間（I2C）分配回路250に接続され、該分配回路250が、比較的低いデータ転送速度の装置に対するシリアル通信インタフェイスを抵抗する。該SPI/I2Cコントローラ250は、ミッドプレーン235に接続され、これにより、マイクロコントローラ210からの制御コマンドをプログラマブルマルチメディアコントローラ100のモジュール287,290,295へ提供する。更に、SPI/I2Cコントローラ250からの接続は、プログラマブルマルチメディアコントローラ100の熱特性を包括的に管理するファンコントローラ251、温度センサ252、及び電力管理回路253等の構成要素に提供される。
【００２５】
マイクロコントローラ210はまた、CCTV制御システム170、HVAC制御及び／又はエネルギー管理システム175、セキュリティシステム180、１つ又は２つ以上の電子的な照明コントローラ190、並びに１つ又は２つ以上のモータ作動式装置コントローラ195と通信することが可能な装置制御インタフェイス275に接続される。更に、電話回線網及び／又は電話機に接続するための電話インタフェイス270を配設することが可能である。更に、拡張されたシステムを形成すべく複数のプログラマブルマルチメディアコントローラ100を共に結合させるための拡張ポート280を配設すると共に、状態、設定、及び／又はその他の情報をユーザに対して表示するためのフロントパネルディスプレイ265を配設することが可能である。
【００２６】
図３は、図１のプログラマブルマルチメディアコントローラ100と共に動作することが可能なモバイル装置150の一例のハードウェアアーキテクチャの一例のブロック図である。該モバイル装置150は、メモリ320に接続されたプロセッサ310を含む。該メモリ320は、永続的記憶部分及び揮発性記憶部分の両方を含むことが可能であり、プロセッサ310上で実行する１つ又は２つ以上のソフトウェアアプリケーションのためのプロセッサにより実行することが可能な命令を格納する。リモート制御インタフェイス用クライアントアプリケーション325は、メモリ320内に格納することが可能であり、以下で説明する技術の少なくとも一部を実施するためにプロセッサ310上で実行するための命令を含む。プロセッサ310は更に、タッチスクリーンディスプレイ上に表示するグラフィクスを視覚的に描画するためのディスプレイインタフェイス330に接続することが可能である。該タッチスクリーンディスプレイは、液晶ディスプレイ（LCD）345等のディスプレイスクリーンと、該ディスプレイスクリーン上に重畳されてユーザからのタッチを受容し登録するタッチスクリーンパネル347との両方を含むことが可能である。かかるタッチ情報は、本書で説明する技術で使用するために、タッチスクリーンパネルコントローラ350により解釈してプロセッサ310へ供給することが可能である。更に、インタフェイス358は、無線ネットワーク送受信器（Wi-FiまたはIEEE 802.11送受信器など）、セルラーネットワークインタフェイス（CDMA又はGSM送受信器など）、及び／又はその他の種類の１つ又は２つ以上の無線又は有線送受信器を含むことが可能であり、プロセッサ310に接続してプログラマブルマルチメディアコントローラ100との直接的又は間接的な通信を容易にすることが可能なものである。
【００２７】
本開示の一実施形態によれば、ユーザが、タッチスクリーンディスプレイを有するモバイル装置150から、主にとして「ヘッドアップ」状態で、プログラマブルマルチメディアコントローラ100と対話し及び他の態様でその制御を行うことを可能にすると共に、タッチ入力を確認するために該モバイル装置150上に視覚的なフィードバックを提供する、リモート制御インタフェイスが提供される。モバイル装置150上で実行されるリモート制御インタフェイス用クライアントアプリケーション325は、タッチスクリーンディスプレイ上に入力インタフェイスを表示することが可能である。ユーザは、タッチスクリーンディスプレイ上のタップ、ホールド、及びジェスチャ（スワイプ又はパンなど）を含むタッチ入力を行うことが可能である。かかるタッチ入力は、プログラマブルマルチメディアコントローラ100に接続されたテレビ等の表示装置上にオンスクリーンディスプレイメニューシステムを表示する該プログラマブルマルチメディアコントローラ100に対して処理し及び通信することが可能である。ユーザは、該ユーザの注意の大半を、モバイル装置150上のタッチスクリーンディスプレイではなく、表示装置140上のオンスクリーンディスプレイメニューシステムに向けることが可能である。タップ、ホールド、及びジェスチャ（スワイプ又はパンなど）を含むタッチ入力に応じて、制御インタフェイス用クライアントアプリケーション325は、適当なコマンドをプログラマブルマルチメディアコントローラ100へ通信して、該プログラマブルマルチメディアコントローラ100に、表示装置140上のオンスクリーンディスプレイメニューシステムの表示及び操作、並びに該メニューシステム内の選択の登録を行わせることが可能である。更に、該制御インタフェイス用クライアントアプリケーション325は、モバイル装置150のタッチスクリーンディスプレイ上で受信したタッチ入力の種類に固有の視覚的なフィードバックを、該タッチスクリーンディスプレイ上に表示させることが可能である。この視覚的なフィードバックは、例えば、タップ、ホールド、及びジェスチャ（スワイプ又はパンなど）間で、及び異なる方向（例えば、左、右、上、及び下）のジェスチャ間で、異ならせることが可能であり、並びに各種のタッチ入力に応じて異なる視覚的な指示を提供することが可能である。かかる視覚的なフィードバックは、入力の最中に及び／又は入力が完了した直後に提供することが可能である。
【００２８】
本書で用いる場合、用語「タップ」は、所定時間内の接触と解放を生じさせるような、静止位置での瞬間的なタッチを示す。本書で用いる場合、用語「ホールド」は、接触が生じ、時間が経過し、及び解放が生じ、その経過時間が前記所定時間よりも長くなるような、静止位置での一層長い時間のタッチを示す。本書で用いる場合、用語「スワイプ」は、静止位置から終了位置までの所与の方向（例えば、右、左、上、下）へのタッチの急速な運動を示し、この場合、該運動は所定速度よりも大きな速度で行われる。本書で用いる場合、用語「パン」は、開始位置から終了位置までの所与の距離にわたる所与の方向（例えば、右、左、上、下）への低速の運動を示し、この場合、該運動は、所定距離よりも長い距離にわたって行われる。
【００２９】
図４は、プログラマブルマルチメディアコントローラ100に接続された表示装置140上に表示することが可能なリモート制御インタフェイスのオンスクリーンディスプレイメニューシステム400の一例の図である。該オンスクリーンディスプレイメニューシステム400は、プログラマブルマルチメディアコントローラ100の処理サブシステム240その他の装置上で実行しているソフトウェアアプリケーションにより描画することが可能である。該オンスクリーンディスプレイメニューシステム400は、環状の構成で表示される複数の選択可能オプション410,420,430,440からなる。図４には４つの選択可能オプションしか示していないが、任意数の選択可能オプションを提供することが可能である。オンスクリーンディスプレイメニューシステム400は、２次元として、選択可能オプション410,420,430,440を表示画面と平行な一平面内に配置することが可能であり、又は、３次元として、選択可能オプション410,420,430,440を３次元空間内に環状パターンで配置し、該３次元空間のイメージをユーザに対して表示することが可能である。同様に、選択可能オプション410,420,430,440自体を２次元又は３次元表現とすることが可能である。一実施形態では、選択可能オプション410,420,430,440は図形アイコンであり、その外観は、それぞれの機能に関係し又はその他の態様で該機能に関連づけされたものとなる。例えば、選択可能オプション410,420,430,440は、プログラマブルマルチメディアコントローラ100により制御される装置を表す図形アイコンとすることが可能であり、その選択を用いて該装置のうちの１つを更なる制御のために示すことが可能である。該装置のうちの１つが、適当な選択可能オプションの選択によって更なる制御のために選択された場合、該選択された装置と対話するための更なる選択可能オプション（図示せず）を表示することが可能である。例えば、選択された装置がケーブルボックス等のケーブルテレビソースである場合、更なる選択可能オプションは、ケーブルテレビソースに関して入手可能な番組表内のリストに対応するものとすることが可能である。同様に、選択された装置がHVAC装置である場合には、更なる選択可能オプションは、冷暖房の場所及び制御に対応するものとすることが可能である。選択可能オプションの選択は、後続レベルの選択可能オプションの表示をトリガすることが可能であり、及びそれらの選択可能オプションはまた、広範な入れ子状の構成で後続レベルの表示をトリガすることが可能である、ということが理解されよう。
【００３０】
様々な選択可能オプション410,420,430,440を選択するため及びその他の制御を選択するために、ユーザはモバイル装置150及びそのタッチスクリーンディスプレイと対話する。図５Ａは、モバイル装置150のタッチスクリーンディスプレイ上に表示することが可能な入力インタフェイス500の一例のスクリーンショットである。該入力インタフェイス500は、モバイル装置150のプロセッサ310上で実行しているリモート制御インタフェイス用クライアントアプリケーション325により描画することが可能である。タイトルバー510は、リモート制御インタフェイス用クライアントアプリケーション325を終了させるための仮想的なボタン515、並びにプログラマブルマルチメディアコントローラ100との接続が存在するときを例えば所定の色を表示することにより指示することが可能な接続インジケータ520を含むことが可能である。音量増大ボタン525、音量低下ボタン530、ミュートボタン535、チャネル増分ボタン545、チャネル減分ボタン550、メニュー／電源ボタン555（図４に示すオンスクリーンディスプレイメニューシステムの表示をトリガすることが可能なもの）、及びExitボタン560（図４に示すオンスクリーンディスプレイメニューシステムを隠すこと又はそのサブメニューから出ることを可能にするもの）を含む、所定の機能及び／又は操作状況に合わせて変化する機能が割り当てられた複数の更なる仮想的なボタンを、入力インタフェイス内に配設することが可能である。更に、ウィジェットボタン565は、１つ又は２つ以上のウィジェット又はその他の小さなアプリケーションを、プログラマブルマルチメディアコントローラ100に接続された表示装置140上に表示させることが可能である。入力インタフェイス500の残りの部分にジェスチャフィールド565を割り当てることが可能であり、該ジェスチャフィールド565において、ユーザは、タップ、ホールド、及びジェスチャ（スワイプ及びパンなど）を含むタッチ入力を行うことが可能である。実施形態によっては、これらジェスチャは、ジェスチャフィールド565に厳格に限定する必要はなく、仮想的なボタン525-565のうちの１つ又は２つ以上にわたって延びることが可能である。仮想的なボタン525-565は、ジェスチャが検出されなかった場合にのみ入力を受容するように構成することが可能である。
【００３１】
本書で開示するリモート制御インタフェイス技術の一実施形態によれば、ユーザは、該ユーザの指を垂直又は水平方向にスライドさせることにより、スワイプ又はパン等のジェスチャを入力することが可能である。これに応じて、プログラマブルマルチメディアコントローラ100に接続された表示装置140上に表示されているオンスクリーンディスプレイメニューシステム400内の選択可能オプション410,420,430,440を操作する（例えば回転させる）ことが可能である。例えば、図４を参照すると、選択可能オプション420は、ユーザによる右方へのスワイプ又はパンに応じて、選択可能オプション410が現在占有している位置へと回転させることが可能である。ユーザは、選択可能オプション410,420,430,440を、オンスクリーンディスプレイメニューシステム400内の所定位置（例えば、３次元の環状メニューシステムの最前面、又は２次元の環状メニューシステムの最下位置）へ移動させることにより、その選択を行うことが可能である。ユーザは、かかる所定位置に位置した選択可能オプションを、ジェスチャフィールド565内の任意の場所のタップ又はホールドにより選択することが可能である。
【００３２】
上述のように、リモート制御インタフェイスは、モバイル装置150のタッチスクリーンディスプレイ上に、該タッチスクリーンディスプレイ上の入力インタフェイスで受容している又は受容したタッチ入力の種類（例えば、タップ、ホールド、スワイプ、又はパン）に固有の視覚的なフィードバックを提供することが可能である。この視覚的なフィードバックは、例えば、タップ、ホールド、スワイプ、及びパンの間で、並びにスワイプ及びパンの異なる方向の間で、異ならせることが可能である。視覚的なフィードバックはまた、仮想的なボタンがタップされ又はホールドされた際に提供することが可能である。
【００３３】
図５Ｂは、モバイル装置150のタッチスクリーンディスプレイ上に表示することが可能な、仮想的なボタンのタップ又はホールドに応じて提供される視覚的なフィードバックを示す入力インタフェイス502の一例のスクリーンショットである。一例では、メニュー／電源ボタン555がタップされた後に所定の短時間にわたりて所定の色パターンで該メニュー／電源ボタン555がハイライト表示される。代替的に、メニュー／電源ボタン555がホールドされた場合には、それがホールドされている期間にわたり該ボタンをハイライト表示したままにすることが可能である。
【００３４】
図５Ｃは、モバイル装置150のタッチスクリーンディスプレイ上に表示することが可能な、ジェスチャフィールド565内のタップ又はホールドに応じて提供される視覚的なフィードバックを示す入力インタフェイス504の一例のスクリーンショットである。一例では、ユーザはジェスチャフィールド565の中心近傍をタップする。該タップ後に所定の短時間にわたり該タップの場所の周囲にインジケータ570を表示することが可能である。特定の構成では、該インジケータは、タップした場所から放射状に広がって表示される所定の色の円形のアニメーションである。しかし、インジケータ570は様々な視覚的な外観を有し得ることが理解されよう。ユーザがタッチスクリーンディスプレイをホールドした場合には、タップで指を急速に解放する場合とは対照的に、インジケータ570は、タッチスクリーンディスプレイが最初に押された直後に表示すると共に該タッチスクリーンディスプレイがホールドされている期間にわたって見え続けるようにすることが可能である。このタッチスクリーンディスプレイ上のタップ又は代替的にはホールドは、オンスクリーンディスプレイメニューシステム400内の所定の場所に位置している特定の選択可能オプション410,420,430,440の選択を生じさせることが可能であり、又はその他のアクションを実行させることが可能である。
【００３５】
図５Ｄは、モバイル装置150のタッチスクリーンディスプレイ上に表示することが可能な、潜在的なパンに応じて提供される視覚的なフィードバックを示す入力インタフェイス506の一例のスクリーンショットである。この例では、ユーザは、ジェスチャフィールド565の中心近傍の開始位置から右方へゆっくりとしたタッチ運動を開始するが、かかる運動は、タイトルバー510以外のタッチスクリーンディスプレイ上のあらゆる位置（仮想的なボタン525-565上を含む）から開始することが可能である。ユーザがこのジェスチャを開始するや否や、１つ又は２つ以上の方向インジケータ575（例えば矢印）を表示することが可能である。この方向インジケータは、所定の色からなることが可能であり、又は所定のパターンで陰影を付けることが可能である。一実施形態では、その運動の距離が大きいほど、表示される方向インジケータ575の個数が多くなる。例えば、ユーザが右方へ移動し続けた場合に、第２の方向インジケータ（図示せず）を表示し、次いで第３の方向インジケータ（図示せず）を表示する、といったことが可能である。ユーザが所定の距離を超えて横断した場合には、潜在的なパンを実際の進行中のパンとして登録することが可能であり、及びオンスクリーンディスプレイメニューシステム400を更新させることが可能であり、例えば、オンスクリーンディスプレイメニューシステム400内の選択可能オプション410,420,430,440を回転させることが可能であり、又はその他のアクションを実行することが可能である。
【００３６】
図５Ｅは、モバイル装置150のタッチスクリーンディスプレイ上に表示することが可能な、ジェスチャフィールド565内で進行中のパン又はスワイプに応じて提供される視覚的なフィードバックを示す入力インタフェイス508の一例のスクリーンショットである。この例では、ユーザは、少なくとも所定距離だけ右方へゆっくりと移動してその移動の最後にホールドすることによって進行中のパンを登録し、又は始点から終点へと右方へ急速に移動することによりスワイプを入力している。上述のように、この例では、ジェスチャフィールド565の中心近傍の始点から始まる運動が示されているが、かかる運動は、タイトルバー510以外のタッチスクリーンディスプレイ上のあらゆる位置（仮想的なボタン525-565上を含む）から開始することが可能である。複数580の方向インジケータ575（例えば複数の矢印）を表示することが可能である。かかる複数580の方向インジケータ575は、パンが進行している間に表示することが可能であり、またスワイプの場合には、該スワイプの後に所定の短時間にわたり表示することが可能である。上述のように、所与のパンに応じてオンスクリーンディスプレイメニューシステム400を更新させることが可能であり、例えば、オンスクリーンディスプレイメニューシステム400内の選択可能オプション410,420,430,440を回転させることが可能であり、又はその他のアクションを実行することが可能である。同様に、所与のスワイプに応じてオンスクリーンディスプレイメニューシステム400を更新させることが可能であり、例えば、選択可能オプション410,420,430,440を該スワイプの方向に１単位だけ前進させることが可能である。
【００３７】
図６Ａは、プログラマブルマルチメディアコントローラ100と協働し及びリモート制御インタフェイスを提供するためにリモート制御インタフェイス用クライアントアプリケーション325により実施することが可能な一連のステップ600の一例のフローチャートである。該一連のステップはステップ601で開始し、モバイル装置150のプロセッサ310によりリモート制御インタフェイス用クライアントアプリケーション325が実行されて、入力インタフェイスが、例えば図５Ａに示すように、モバイル装置150のタッチスクリーンディスプレイ上に表示される。ステップ602で、タッチスクリーンディスプレイにおけるタッチ入力が検出される。ステップ604でボタン遅延タイマが開始され、ステップ606に進んで、アプリケーション325が幾つかの考え得るイベントの発生を待機する。第１の可能性は、他にイベントが発生しないことであり、ステップ608でタッチ入力の終了が検出される。かかる場合、処理は、図６Ｂのコネクタ610を介して進行して、仮想的なボタンがタップされたか否か又はジェスチャフィールド565内でタップが受容されたか否かの判定が行われ、適当な応答が行われる。ステップ612でチェックされる第２の可能性は、タッチが一定の距離にわたってゆっくりと移動することであり、ここで、該移動は、所定の最小ジェスチャ距離よりも大きいものである。かかる場合、処理は図６Ｃのコネクタ614を介して進行し、潜在的なパンが完了して実際の進行中のパンになったか否かの判定が行われ、適当な応答が行われる。ステップ616でチェックされる第３の可能性は、タッチが一定の距離にわたって急速に移動することであり、ここで、該移動は、所定の最小コマンド速度ジェスチャ距離よりも大きいものである。かかる場合、処理は図６Ｄのコネクタ618を介して進行し、スワイプが登録されて、適当な応答が行われる。ステップ620でチェックされる第４の可能性は、ボタン遅延タイマが満了して他のイベントが発生しないことである。かかる場合、処理は図６Ｅのコネクタ622を介して進行し、仮想的なボタンがホールドされたか否か又はジェスチャフィールド565でホールドが受信されたか否かの判定が行われて、適当な応答が行われる。それ以外の場合には、処理はステップ606に戻る。
【００３８】
図６Ｂは、仮想的なボタンがタップされたか否か又はジェスチャフィールド565でタップが受信されたか否かを判定して適当な応答を行うためにリモート制御インタフェイス用クライアントアプリケーション325により実施することが可能な一連のステップの一例のフローチャートである。ステップ624で、タッチスクリーンディスプレイ上のタップの位置が仮想的なボタンの位置と一致するか否かが判定される。それらが一致する場合には、処理はステップ626に進み、ボタンタップの視覚的な指示が表示され、例えば、図５Ｂに示すように、ボタンが所定の色又はパターンでハイライト表示される。ステップ628で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ選択ボタン押下コマンドをプログラマブルマルチメディアコントローラ100へ送信して、該仮想的なボタンに対応するアクションを実行させる。ステップ630で、制御インタフェイス用クライアントアプリケーション325は、所定の短い遅延時間にわたり待機する。その後、ステップ632で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ選択ボタン解放コマンドをプログラマブルマルチメディアコントローラ100に送信し、ステップ634で、視覚的な指示が隠され、例えば、ハイライト表示が除去される。次いでステップ646で処理が終了する。
【００３９】
代替的に、ステップ624で、タップの位置が仮想的なボタンの位置と一致しないと判定された場合、例えば、タップの位置がジェスチャフィールド565内であると判定された場合には、処理はステップ626へと進んで、タップの視覚的な指示が表示され、例えば、図５Ｃに示すように、タップの位置の周辺にインジケータ570を表示することが可能である。ステップ638で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ選択ボタン押下コマンドをプログラマブルマルチメディアコントローラ100へ送信して選択を行わせ、例えば、オンスクリーンディスプレイメニューシステム400内の所定位置に位置する特定の選択可能オプション410,420,430,440を選択させる。ステップ640で、制御インタフェイス用クライアントアプリケーション325は、所定の短い遅延にわたり待機する。その後、ステップ642で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ選択ボタン解放コマンドをプログラマブルマルチメディアコントローラ100へ送信し、ステップ644で、タップの視覚的な指示を隠し、例えば、インジケータ570を除去する。次いでステップ646で処理が終了する。
【００４０】
図６Ｃは、潜在的なパンが完了して実際の進行中のパンになったか否かを判定して適当な応答を行うためにリモート制御インタフェイス用クライアントアプリケーション325により実施することが可能な一連のステップの一例のフローチャートである。ステップ648で、潜在的なパンの視覚的な指示、例えば、１つ又は２つ以上の方向インジケータ575（例えば矢印）が、モバイル装置150のタッチスクリーンディスプレイ上に表示されて、図５Ｄに示すように、該潜在的なパンの方向が指し示される。ステップ650で、そのタッチが所定のコマンド送信距離を横断することにより実際のパンが進行しているか否かの判定が行われる。該タッチが所定のコマンド送信距離を横断していない場合には、処理は、他のイベント（図示せず）が検出されない限り、ステップ648に戻る。該タッチが所定のコマンド送信距離を横断している場合には、処理はステップ652へと進んで、制御インタフェイス用クライアントアプリケーション325が、適当なオンスクリーンディスプレイ方向押下コマンドをプログラマブルマルチメディアコントローラ100へ送信して、例えば、オンスクリーンディスプレイメニューシステム400内の選択可能オプション410,420,430,440を該パンの期間にわたって回転させることが可能であり、又はその他のアクションを実行させることが可能である。ステップ654で、進行中のパンの視覚的な指示、例えば、図５Ｅに示すような複数580の方向インジケータ575（例えば矢印）が表示される。ステップ656で、以下で一層詳細に説明するように、ハートビートインジケータが生成されて送信される。ステップ658で、タッチ入力の終了が検出される。次いで処理はステップ660へと進んで、制御インタフェイス用クライアントアプリケーション325が、適当なオンスクリーンディスプレイ方向解放コマンドをプログラマブルマルチメディアコントローラ100へ送信し、ステップ662に進んでパンの視覚的な指示が隠される。処理はステップ664で終了する。
【００４１】
図６Ｄは、スワイプを登録して適当な応答を行うためにリモート制御インタフェイス用クライアントアプリケーション325により実施することが可能な一連のステップの一例のフローチャートである。ステップ666で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ方向押下コマンドをプログラマブルマルチメディアコントローラ100へ送信して、例えば、オンスクリーンディスプレイメニューシステム400内の選択可能オプション410,420,430,440を１つの増分だけ回転させることが可能であり、又はその他のアクションを実行させることが可能である。ステップ668で、モバイル装置150のタッチスクリーンディスプレイ上にスワイプの視覚的な指示を該スワイプの方向に表示する。スワイプの視覚的な指示は、パンの視覚的な指示と同じにすることが可能であり、例えば、図５Ｅに示すような複数580の方向インジケータ575（例えば矢印）とすることが可能であり、又は異なる視覚的な外観を有することが可能である。ステップ670で、リモート制御インタフェイス用クライアントアプリケーション325は、所定の短時間だけ待機し、次いでステップ672で、適当なオンスクリーンディスプレイ方向解放コマンドをプログラマブルマルチメディアコントローラ100へ送信する。その後、ステップ674で、スワイプの視覚的な指示が隠され、ステップ676で処理が終了する。
【００４２】
図６Ｅは、仮想的なボタンがホールドされたか否か又はジェスチャフィールド565でホールドが受信されたか否かを判定するため及び適当な応答を行うためにリモート制御インタフェイス用クライアントアプリケーション325により実施することが可能な一連のステップの一例のフローチャートである。ステップ678で、タッチスクリーンディスプレイ上のホールドの位置が仮想的なボタンの位置と一致するか否かが判定される。それら位置が一致する場合には、処理はステップ680へと進んで、ボタンホールドの視覚的な指示が表示され、例えば、図５Ｂに示すようにボタンが所定の色又はパターンでハイライト表示される。ステップ682で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ選択ボタン押下コマンドをプログラマブルマルチメディアコントローラ100へ送信して仮想的なボタンに対応するアクションを実行させる。ステップ686で、制御インタフェイス用クライアントアプリケーション325は、タッチスクリーンディスプレイ上のタッチが終了したことを検出する。その後、ステップ688で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ選択ボタン解放コマンドをプログラマブルマルチメディアコントローラ100へ送信し、ステップ690で、ホタンホールドの視覚的な指示が隠され、例えば、前記ハイライト表示が除去される。次いでステップ704で処理が終了する。
【００４３】
代替的に、ステップ678で、ホールドの位置が仮想的なボタンの位置と一致しない（例えばジェスチャフィールド565内にある）と判定された場合には、処理はステップ692に進んで、ホールドの視覚的な指示を表示し、例えば、図５Ｃに示すようにホールドの位置の周囲にインジケータ570を表示することが可能である。ステップ692で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ選択ボタン押下コマンドをプログラマブルマルチメディアコントローラ100へ送信してホールドに対応するアクションを実行させる。例えば、オンスクリーンディスプレイメニューシステム400内の所定位置に位置する特定の選択可能オプション410,420,430,440の選択を行わせることが可能である。以下で一層詳細に説明するように、ステップ696で、ハートビートインジケータが生成されて送信される。ステップ698で、制御インタフェイス用クライアントアプリケーション325は、タッチスクリーンディスプレイ上のタッチが終了したことを検出する。その後、ステップ700で、制御インタフェイス用クライアントアプリケーション325は、適当なオンスクリーンディスプレイ選択ボタン解放コマンドをプログラマブルマルチメディアコントローラ100へ送信し、ステップ702で、ホールドの視覚的な指示が隠され、例えば、インジケータ570が除去される。次いでステップ704で処理が終了する。
【００４４】
図６Ｆは、ハートビートインジケータを実施するためにリモート制御インタフェイス用クライアントアプリケーション325により実施することが可能な一連のステップの一例のフローチャートである。一定期間の経過後にプログラマブルマルチメディアコントローラ100で受信されているハートビートインジケータがなくなった場合には、該プログラマブルマルチメディアコントローラ100にボタンの解放をエミュレートさせる。ハートビートインジケータは、例えばモバイル装置150とプログラマブルマルチメディアコントローラ100との間の接続の失敗に起因して、プログラマブルマルチメディアコントローラ100において解放イベントが失われて該プログラマブルマルチメディアコントローラ100がボタンが押下されていると認識し続けるという状況を防止するよう機能するものである。ステップ706で、例えば、タッチに応じて、ハートビートインジケータの生成がモバイル装置150上で開始する。ステップ708で、遅延期間だけ待機し、ハートビートインジケータを生成してプログラマブルマルチメディアコントローラ100へ送信する。ステップ710で、ハートビートインジケータの生成を終了することができるか否か、例えば、タッチが解放されたか否かを判定すべくチェックが行われる。ハートビートインジケータの生成を終了することができない場合には処理はステップ708に戻る。ハートビートインジケータの生成を終了することができる場合には、処理はステップ712に進んでハートビートインジケータの生成を終了する。
【００４５】
上記説明は、本開示の特定の実施形態について行ったものであるが、本開示の意図する思想及び範囲から逸脱することなく更なる修正及び／又は追加を行うことが可能であることは明らかである。様々なオンスクリーンディスプレイメニューシステム400においてタッチ入力（例えば、タップ、ホールド、スワイプ、及びパン）を使用して選択可能オプションを操作し選択することが可能であることについて上述したが、かかるタッチ入力を、代替的に、オンスクリーンメニューの一致する表示が存在しない場合にプログラマブルマルチメディアコントローラ100又はそれに接続された装置を直接制御するために使用することが可能である。例えば、プログラマブルマルチメディアコントローラ100又はそれに接続された装置が特定のモードにある場合に、特定の種類のタッチ入力（例えば、タップ、ホールド、スワイプ、又はパン）が、その検出時に実施することが可能な所定の意味を有することが可能である。例えば、一実施形態では、テレビを制御する場合に、上方へのパンが、音量を上げるという所定の意味を有することが可能であり、かかる上方へのパンの検出時にかかるアクションを実行することが可能である。したがって、制御は、必ずしもオンスクリーンディスプレイメニューシステム400の表示に関連している必要はない。
【００４６】
更に、上記説明では、様々な機能を実行するための様々な特定のハードウェアユニットについて言及したが、本書で解説した技術の多くは、様々な異なるハードウェア構成（例えば様々な異なるプログラマブル論理回路、専用ハードウェアチップ、アナログ又は部分的にアナログな装置、及びその他の種類の装置）により代替的に実施することが可能であり、ソフトウェアで（例えばプロセッサその他のハードウェア装置で実行するための持続性コンピュータ読み取り可能記憶媒体に格納されたコンピュータ実行可能命令として）実施することが可能であり、又はハードウェア及びソフトウェアの組み合わせで実施することが可能であることに留意されたい。したがって、上記説明は単なる例示として解釈されるべきものであることに留意されたい。
【図１】
0006033792.tif 000002
【図２】
0006033792.tif 000003
【図３】
0006033792.tif 000004
【図４】
0006033792.tif 000005
【図５Ａ】
0006033792.tif 000006
【図５Ｂ】
0006033792.tif 000007
【図５Ｃ】
0006033792.tif 000008
【図５Ｄ】
0006033792.tif 000009
【図５Ｅ】
0006033792.tif 000010
【図６Ａ】
0006033792.tif 000011
【図６Ｂ】
0006033792.tif 000012
【図６Ｃ】
0006033792.tif 000013
【図６Ｄ】
0006033792.tif 000014
【図６Ｅ】
0006033792.tif 000015
【図６Ｆ】
0006033792.tif 000016