(57)【特許請求の範囲】
【請求項１】
リモートコントロールから受け取られたワイヤレス信号の特性を、複数のプロトコルに関連した特性と比較するステップと、
前記特性の比較に基づき、前記複数のプロトコルに含まれた各プロトコルにパルスに基づいてスコアを指定するステップと、
前記指定されたスコアに基づいて前記複数のプロトコルからあるプロトコルを識別するステップであって、その識別されたプロトコルは、前記ワイヤレス信号に関連したプロトコルと実質的に同様のものであるステップと、
を備えた方法。
【請求項２】
前記ワイヤレス信号の識別されたプロトコル及びコンテンツを表すデータパケットを発生するステップを更に備えた、請求項１に記載の方法。
【請求項３】
前記特性の比較は、前記パルスのパルスカウントを比較することを含む、請求項１に記載の方法。
【請求項４】
前記指定されたスコアは、前記パルスカウントの比較を表す、請求項３に記載の方法。
【請求項５】
前記特性の比較は、前記パルスのパルス幅を比較することを含む、請求項１に記載の方法。
【請求項６】
前記指定されたスコアは、前記パルスのパルス幅の比較を表す、請求項５に記載の方法。
【請求項７】
前記特性の比較は、データを表す前記パルスの量を比較することを含む、請求項１に記載の方法。
【請求項８】
前記指定されたスコアは、データパルス量の比較を表す、請求項７に記載の方法。
【請求項９】
前記指定されたスコアは、データパルスの変換に基づいて調整される、請求項８に記載の方法。
【請求項１０】
前記スコアの指定は、サブスコアを総計することを含む、請求項１に記載の方法。
【請求項１１】
前記プロトコルの識別は、スレッシュホールドに到達したかどうか決定することを含む、請求項１に記載の方法。
【請求項１２】
リモートコントロールからワイヤレス信号を受信するための受信器と、
ワイヤレス信号の特性を、複数のプロトコルに関連した特性と比較するためのリモートコントロールドライバと、
を備え、前記リモートコントロールドライバは、前記特性の比較に基づき、前記複数のプロトコルに含まれた各プロトコルにパルスに基づいてスコアを指定するように構成され、更に、前記リモートコントロールドライバは、前記指定されたスコアに基づいて前記複数のプロトコルからあるプロトコルを識別するように構成され、その識別されたプロトコルは、前記ワイヤレス信号に関連したプロトコルと実質的に同様である、メディア処理装置。
【請求項１３】
前記リモートコントロールドライバは、更に、前記ワイヤレス信号の識別されたプロトコル及びコンテンツを表すデータパケットを発生するように構成される、請求項１２に記載のメディア処理装置。
【請求項１４】
前記特性の比較は、前記パルスのパルスカウントを比較することを含む、請求項１２に記載のメディア処理装置。
【請求項１５】
前記指定されたスコアは、前記パルスカウントの比較を表す、請求項１４に記載のメディア処理装置。
【請求項１６】
前記特性の比較は、前記パルスのパルス幅を比較することを含む、請求項１２に記載のメディア処理装置。
【請求項１７】
前記指定されたスコアは、前記パルス幅の比較を表す、請求項１６に記載のメディア処理装置。
【請求項１８】
前記特性の比較は、データを表す前記パルスの量を比較することを含む、請求項１２に記載のメディア処理装置。
【請求項１９】
前記指定されたスコアは、データパルス量の比較を表す、請求項１８に記載のメディア処理装置。
【請求項２０】
前記指定されたスコアは、前記パルスのデータパルスの変換に基づいて調整される、請求項１９に記載のメディア処理装置。
【請求項２１】
前記スコアの指定は、サブスコアを総計することを含む、請求項１２に記載のメディア処理装置。
【請求項２２】
前記プロトコルの識別は、スレッシュホールドに到達したかどうか決定することを含む請求項１２に記載のメディア処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディア処理装置に係り、より詳細には、複数のリモートコントロール装置からナビゲーション及び再生コマンドのようなリモートコントロール装置のコマンド信号をメディア処理装置により捕獲するためのシステム及び方法に係る。
【０００２】
関連出願の相互参照：本出願は、２００９年３月１０日に出願された“System and Method for Capturing Remote Control Device Command Signals”と題する米国特許出願第１２／４０１，３５０号、及び２００８年１１月１４日に出願された“System and Method for Capturing Remote Control Device Command Signals”と題する米国プロビジョナル特許出願第６１／１１４，９９１号の優先権の利益を主張するもので、その開示全体を参考としてここに援用する。
【背景技術】
【０００３】
メディア処理装置は、音声、映像及び／又はビデオコンテンツを含むメディアコンテンツを処理し再生するように構成することができる。メディアコンテンツの再生は、休止、巻き戻し及び停止のようなコマンドを入力することでコントロールすることができる。更に、１つ以上の入力コマンドに応答して、ユーザインターフェイスにおいて、メディアコンテンツに関連した１つ以上のメニュー、例えば、チャプター又はフューチャーメニューを横断することができる。
【０００４】
メディア処理装置は、１つ以上のコントロール、例えば、ボタン、スイッチ及びダイヤルを含むユーザインターフェイスを合体することができる。これらコントロールは、再生及びナビゲーションを指令するコマンドを入力するように操作することができる。更に、あるメディア処理装置は、リモートコントロール装置を使用して入力されるコマンドを表す赤外線（ＩＲ）又は高周波信号のようなコマンド信号を送信するように構成される。例えば、リモートコントロール装置は、ボタン及びスイッチのような複数のコントロールを含むことができる。簡単なコマンドは、ボタン押しのような単一のコントロールによって指示することができる。更に、複雑なコマンドは、複数のボタンの同時操作又は順次操作のようなコントロールの組み合わせによって指示することができる。又、ボタン押しのような短時間操作は、ボタン保持のような連続的操作とは区別することができ、それに対応するコマンド信号を異なるものとして解釈することができる。例えば、あるコントロールは、所定の時間窓内にコマンド信号事象が受け取られる限り操作されるとみなすことができ、そしてそのコントロールは、所定の時間中連続操作状態である場合に保持されるとみなすことができる。リモートコントロール装置により送信される各コマンド信号は、メディア処理装置が遂行すべきアクションに対応する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
メディア処理装置は、コマンド信号の所定セットを確認するように構成されると共に、関連するリモートコントロール装置により送信されたコマンド信号に対応するアクションを遂行することができる。又、複数の異なるコマンドフォーマット又はプロトコルに関連したコマンド信号を送信することのできるユニバーサルなリモートコントロール装置も開発されている。従って、ユニバーサルなリモートコントロール装置は、複数のリモートコントロール装置に対応するコマンドを送信するようにプログラムすることができ、ひいては、複数のメディア処理装置をコントロールすることができる。しかしながら、各メディア処理装置は、それが確認するよう構成されたコマンド信号のセットにしか応答しない。
【課題を解決するための手段】
【０００６】
カリフォルニア州クパチーノのアップル社により供給されるＡｐｐｌｅＴＶのようなメディア処理装置は、このメディア処理装置に対応する一次リモートコントロール装置及び複数の二次リモートコントロール装置によって送信されるコマンド信号を確認するように構成することができる。二次リモートコントロール装置は、同じ製造者からの他の装置に関連したリモートコントロール装置及び第三者のリモートコントロール装置である。更に、コマンド信号は、複数の異なるプロトコル及び／又はフォーマットを使用して送信することができる。更に、メディア処理装置は、複数の二次リモートコントロール装置が同時にアクティブになるように構成することができる。二次リモートコントロール装置をメディア処理装置と共に使用できるようにするため、本発明者は、メディア処理装置が、二次リモートコントロール装置により送信されたコマンド信号を、メディア処理装置によって遂行できる機能へとマップできれば有益であると認識した。
【０００７】
又、本発明者は、メディア処理装置が、二次リモートコントロール装置に関連したコマンド信号を、少なくとも、一次リモートコントロール装置を使用して遂行できる各基本的コントロール機能へとマップする必要性も認識した。更に、メディア処理装置の機能を、二次リモートコントロール装置に含まれるコントロールへとマップする必要性も認識された。加えて、本発明者は、メディア処理装置がリモートコントロール装置によって送信されたコマンド信号を認識したときに、発光ダイオード（ＬＥＤ）をターンオフするような指示を与える必要性も認識した。従って、ここに述べる技術及び装置は、二次リモートコントロール装置により送信された１つ以上のコマンド信号を、メディア処理装置によって認識して、メディア処理装置により遂行できる機能へとマップするためのアルゴリズムを具現化する。
【０００８】
ある具現化において、方法は、リモートコントロールから受け取られたワイヤレス信号の特性を、プロトコルのセットに関連した特性と比較することを含む。又、この方法は、その比較に基づき、複数のプロトコルに含まれた各プロトコルにスコアを指定することも含む。又、この方法は、その指定されたスコアに基づいてプロトコルのセットからあるプロトコルを識別することも含む。その識別されたプロトコルは、ワイヤレス信号に関連したプロトコルと実質的に同様である。
【０００９】
他の具現化において、メディア処理装置は、リモートコントロールからワイヤレス信号を受信するための受信器を備えている。又、メディア処理装置は、ワイヤレス信号の特性を、プロトコルのセットに関連した特性と比較するためのリモートコントロールドライバも備えている。このリモートコントロールドライバは、比較に基づき、プロトコルのセットに含まれた各プロトコルにスコアを指定するように構成される。リモートコントロールドライバは、更に、その指定されたスコアに基づいてプロトコルのセットからあるプロトコルを識別するように構成される。その識別されたプロトコルは、ワイヤレス信号に関連したプロトコルと実質的に同様である。
【００１０】
更に別の具現化において、１つ以上のコンピュータ読み取り可能なメディアは、処理装置によって実行可能なインストラクションであって、そのような実行時に、処理装置が、リモートコントロールから受け取られたワイヤレス信号の特性を、プロトコルのセットに関連した特性と比較することを含むオペレーションを遂行するようにさせるインストラクションを記憶する。又、そのオペレーションは、比較に基づき、プロトコルのセットに含まれた各プロトコルにスコアを指定することも含む。又、そのオペレーションは、その指定されたスコアに基づきプロトコルのセットからあるプロトコルを識別することも含む。その識別されたプロトコルは、ワイヤレス信号に関連したプロトコルと実質的に同様である。
【００１１】
本書に述べる技術は、次の効果の１つ以上を実現するように具現化することができる。例えば、この技術は、二次リモートコントロール装置を含む複数のリモートコントロール装置からコマンドを受け取って認識するようにメディア処理装置をプログラムできるよう具現化することができる。又、この技術は、二次リモートコントロール装置のコントロールに関連したコントロール信号を、メディア処理装置の特定機能へとマッピングできるように具現化することもできる。更に、二次リモートコントロール装置に対応するマッピングは、装置プロフィールにおいて記憶することができる。更に、この技術は、メディア処理装置に記憶されたリモートコントロール装置プロフィールを再命名し、リモートコントロール装置プロフィールを削除し、又はリモートコントロール装置プロフィールの少なくとも一部分を再マッピングすることを許すように具現化することもできる。又、この技術は、１つ以上のリモートコントロール装置プロフィールが、例えば、広く使用される二次リモートコントロール装置に対して、メディア処理装置に予めロードされるように具現化することもできる。更に、この技術は、リモートコントロール装置構成を生成することを通してユーザをガイドするためのインターフェイスを提示できるように具現化することもできる。
【００１２】
１つ以上の具現化の詳細を添付図面に示して以下に述べる。他の特徴及び効果は、以下の説明、添付図面及び特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【００１３】
【図１】メディア処理装置を含む規範的メディアシステムを示す。
【図２】メディア処理装置により提示される規範的インターフェイスを示す。
【図３】メディア処理装置により提示される規範的インターフェイスを示す。
【図４】メディア処理装置により提示される規範的インターフェイスを示す。
【図５】メディア処理装置により提示される規範的インターフェイスを示す。
【図６】コマンド信号を検出して学習するための規範的プロセスを説明するフローチャートである。
【図７】メディア処理装置により実行できる規範的なリモートコントロールドライバを示す。
【図８】各パルス／スペース対が単一データビットを表すパルス距離エンコーディングプロトコルを表す規範的パルスシリーズを示す。
【図９】パルスシリーズで具現化される位相エンコーディングの一例を示す。
【図１０】種々の異なるプロトコルを示すテーブルである。
【図１１】ＩＲシグネチャとの比較に使用できるヘッドパルス幅範囲及びヘッダスペース幅範囲を示すテーブルである。
【図１２】位相エンコーディングプロトコルのための予想されるパルス及びスペースを示すテーブルである。
【図１３】規範的な位相エンコーディングプロトコルのプロパティを示す。
【図１４】最初の４つのデータビットに続く期間がトグル情報を与えるようなパルスのシリーズを表す時間シリーズを示す。
【図１５】パルス距離エンコーディング及び位相エンコーディングの両方が存在しない規範的プロトコルを示す。
【図１６】リモートコントロールドライバによって遂行される規範的オペレーションを説明するフローチャートである。
【図１７】リモートコントロールドライバによって遂行される規範的オペレーションを説明するフローチャートである。
【図１８】リモートコントロールドライバによって遂行される規範的オペレーションを説明するフローチャートである。
【図１９】ワイヤレス信号に関連したプロトコルを識別する規範的プロセスを説明するフローチャートである。
【発明を実施するための形態】
【００１４】
明細書及び添付図面全体にわたって同様の要素が同じ参照記号で示されている。
【００１５】
図１は、メディア処理装置１０５を含む規範的メディアシステム１００を示す。メディア処理装置１０５は、メディアコンテンツを処理し、そしてメディアコンテンツに基づき映像、オーディオ及び／又はビデオ出力を発生するように構成できる。例えば、メディア処理装置１０５は、ワイヤード又はワイヤレスであるメディア接続１１０を通してディスプレイ１２０に結合することができる。更に、メディアコンテンツは、メディア処理装置１０５に対してローカルに記憶することができ、例えば、内部記憶装置、取り付けられた記憶装置、又は取り外し可能なメディア（デジタル多様性ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）又はメモリスティックを含む）に記憶することができる。或いは又、メディアコンテンツは、リモートソースからネットワーク接続（図示せず）を経てダウンロード又はストリーミングすることができる。
【００１６】
又、メディア処理装置１０５は、ディスプレイ１２０に提示できるユーザインターフェイス１２５を発生するように構成することもできる。ユーザインターフェイス１２５は、ユーザから入力を受け取るように構成された１つ以上のスクリーンを含むことができる。例えば、ユーザインターフェイス１２５は、メインメニュースクリーン及び１つ以上のサブメニュースクリーンを含むメニュー構造で編成することができる。更に、サブメニュースクリーンは、付加的なサブメニュースクリーンへのリンクを含むように、複数レベルを使用して編成することもできる。ある具現化では、ユーザインターフェイス１２５に関連して又はそれに代わって、オーディオ出力を使用することができる。
【００１７】
ユーザインターフェイス１２５のメインメニュー１３０は、メディア処理装置１０５に関連した複数のオプションを含むことができ、これらオプションは、メディアコンテンツカテゴリ、装置設定、及びメディアコンテンツソースに対応するオプションを含む。メインメニュー１３０の他の具現化は、付加的な、より少数の又は異なるオプションを含むことができる。又、ユーザインターフェイス１２５は、メニューオプションをハイライトするのに使用できる可動カーソル１３５を含むこともできる。例えば、メインメニュー１３０におけるオプション“Movies(映画)”は、カーソル１３５によってハイライトされ、次いで、メディア処理装置１０５により受け取られる入力、例えば、選択コマンドに応答して、アクセスされる。更に、カーソル１３５は、メディア処理装置１０５により受け取られるナビゲーション入力、例えば、方向性コマンドに応答して、ユーザインターフェイス１２５内に再配置することができる。
【００１８】
ある具現化において、入力は、１つ以上の合体されたコントロール（図示せず）を通してメディア処理装置１０５に与えることができる。更に、メディア処理装置１０５は、リモートコントロール装置により送信される信号を検出するように構成された１つ以上のセンサ及び／又はアンテナ（赤外線センサを含む）を備えることができる。一次コントローラ１４０は、メディア処理装置１０５に関連付けることができる。一次コントローラ１４０は、ユーザから簡単なコマンド及び複雑なコマンドを受け取るためのボタン及びスイッチのような複数のコントロール１４２を含むことができる。更に、一次コントローラ１４０は、受け取ったコマンドに対応するコマンド信号を、例えば、赤外線又は高周波送信を経て、メディア処理装置１０５へ送信するよう構成することもできる。メディア処理装置１０５は、送信されたコマンド信号を検出し、そして使用される送信プロトコルを解釈することができる。更に、メディア処理装置１０５は、一次コントローラ１４０から受け取られたコマンド信号を、遂行されるべき１つ以上の機能を識別するメッセージへと変換することができる。
【００１９】
更に、メディア処理装置１０５は、二次コントローラ１４５のような複数の二次コントローラにより送信されたコマンド信号を検出するように構成することもできる。二次コントローラは、同じ製造者によって提供される別の装置に関連したコントローラ又は第三者コントローラである。メディア処理装置１０５は、コマンド信号を送信するために二次コントローラ１４５により使用されるプロトコルを識別するように構成することができる。例えば、メディア処理装置１０５は、受信したコマンド信号を表すシグネチャを発生するように構成することができる。シグネチャフォーマットは、複数の異なる送信プロトコルを受け入れるように構成することができる。更に、シグネチャは、マッチング発見法を使用して分析され、コマンド信号の送信に使用されるプロトコルを識別することができる。送信プロトコルが識別されると、コマンド信号は、その識別されたプロトコルに基づいて解釈されて、通信されるメッセージを抽出することができる。抽出されたメッセージは、デジタル形態でエンコードされ、メディア処理装置１０５により処理される。
【００２０】
更に、メディア処理装置１０５の目に見える部分、例えば、前面に、発光ダイオード（ＬＥＤ）１１５を含ませることができる。ＬＥＤ１１５のデフォールト状態は、メディア処理装置１０５がパワーオンであるときに点灯である。コントローラからコマンド信号が受信されると、メディア処理装置１０５は、コマンド信号を分析して、それを認識できるかどうか決定することができる。コマンド信号が、メディア処理装置１０５が応答するようにプログラムされたコマンドとして認識される場合には、ＬＥＤ１１５をターンオフすることができる。ある具現化において、ＬＥＤ１１５は、コマンド信号の期間中、オフに留まる。従って、ＬＥＤ１１５は、認識されたコマンドが受け取られるという視覚指示を与えることができる。或いは又、コマンド信号が、学習されていないソースからの赤外線送信のような未認識のものである場合には、ＬＥＤ１１５は、未点灯のままである。
【００２１】
メディア処理装置１０５は、コマンド解釈モードで動作することができ、このモードでは、メディア処理装置１０５により受信されたコマンド信号を評価して、それらが認識されるかどうか決定することができる。例えば、メディア処理装置１０５のセンサで検出された赤外線信号を、１つ以上の既知の（又は学習された）コマンド信号に対して評価して、充分なアイデンティティがあるかどうか決定することができる。受信したコマンド信号が認識された場合には、それをメディア処理装置１０５によって実行することができる。或いは又、受信したコマンド信号は、それが認識されない場合には、無視することができる。
【００２２】
又、メディア処理装置１０５は、学習モードで動作することもでき、このモードでは、リモートコントロール装置によって送信されたコマンド信号を捕獲して、それに対応する機能へマップすることができる。例えば、学習モードでは、メディア処理装置１０５は、学習されているリモートコントロール装置のコントロールであって特定の機能に対応するコントロールを操作するようにユーザに命令することができる。メディア処理装置１０５は、センサにより受信されたコマンド信号を捕獲して、２秒のような所定の期間中バッファすることができる。バッファされたコマンド信号は、次いで、分析されて、１つ以上の特性を識別することができる。例えば、メディア処理装置１０５は、バッファされたコマンド信号が全期間中一貫したものであったかどうか、又、その信号が初期メッセージ及び１つ以上の繰り返しメッセージを含むかどうか決定することができる。更に、バッファされたコマンド信号の１つ以上のタイミング特性、例えば、事象と事象との間の最長時間も分析することができる。次いで、メディア処理装置１０５は、その識別された特性を、コマンド解釈モードにある間にコマンド信号を識別するのに使用するために記憶することができる。
【００２３】
図２は、メディア処理装置１０５により提示される規範的なリモートコントロールインターフェイス２００を示す。このリモートコントロールインターフェイス２００は、一次コントローラ１４０に関連した１つ以上のオプション、例えば、一次コントローラ１４０をメディア処理装置１０５とペアリングするための「ペアリモート(Pair Remote)」オプション２０５を含むことができる。ペアリングされると、メディア処理装置１０５は、ペアリングされたコントローラから受信したコマンド信号にしか応答しない。ある具現化において、リモートコントロールインターフェイス２００は、一次コントローラ１４０を、それがペアリングされた後に、ペア解除するオプションを含むことができる。
【００２４】
又、リモートコントロールインターフェイス２００は、１つ以上の二次リモートコントローラに関連したオプションを含むこともできる。カーソル１３５を使用して、リモートコントロールインターフェイス２００に含まれた任意のオプションにアクセスすることができる。例えば、リモートコントロールインターフェイス２００は、メディア処理装置１０５が二次コントローラ１４５のような付加的なコントローラに関連したコマンド信号を学習できるようにするためにアクセスされる学習リモート(Learn Remote)オプション２１０を含むことができる。更に、リモートコントロールインターフェイス２００は、ＴＶリモート２１５及びカスタム(Custom)リモート２２０のような二次リモートコントローラに対応する記憶されたプロフィールにアクセスするためのオプションを含むことができる。記憶されたプロフィールは、そのプロフィールに関して１つ以上のマネージメントタスクを遂行するためにアクセスされる。例えば、記憶されたプロフィールは、プロフィールを再命名し、プロフィールを削除し、又は１つ以上のコマンドの再マッピングによりプロフィールを変更する、等の機能を遂行するためにアクセスされる。
【００２５】
図３Ａは、メディア処理装置１０５により提示される規範的な学習リモート(Learn Remote)インターフェイス３００を示す。この学習リモートインターフェイス３００は、リモートコントロールインターフェイス２００において学習リモートオプション２１０を選択するのに応答して提示される。この学習リモートインターフェイス３００は、カーソル１３５を使用してハイライトにすることのできるオプション、例えば、スタート(Start)オプション３０５及びキャンセル(Cancel)オプション３１０、のリストを含む。この学習リモートインターフェイス３００は、他の具現化において、付加的な、より少数の又は異なるオプションを含むことができる。スタートオプション３０５にアクセスすると、メディア処理装置１０５をコマンド解釈モードから学習モードへスイッチさせることができる。或いは又、キャンセルオプション３１０にアクセスすると、メディア処理装置１０５を、学習リモートインターフェイス３００から退出させることができる。
【００２６】
図３Ｂは、メディア処理装置１０５により提示される規範的な記憶プロフィールインターフェイス３１５を示す。この記憶プロフィールインターフェイス３１５は、リモートコントロールインターフェイス２００の場合のように、記憶されたプロフィールにアクセスするオプションの選択に応答して提示することができる。又、この記憶プロフィールインターフェイス３１５は、ＴＶリモート(TV Remote)という名前のプロフィールに対応し、メディア処理装置１０５と共に動作するように構成された二次コントローラを表す。記憶プロフィールインターフェイス３１５を通してＴＶリモートプロフィールのための複数のマネージメントオプションにアクセスすることができる。例えば、ＴＶリモートプロフィールの名前を変更するために、再命名(Rename Remote)オプション３２０にアクセスすることができる。又、記憶されたＴＶリモートプロフィールを削除するために、削除リモート(Delete Remote)オプション３２５にアクセスすることもできる。更に、例えば、セットアップ基本ボタン(Set Up Basic Button)オプション３３０及びセットアップ再生ボタン(Set Up Playback Button)オプション３３５を通して、ＴＶリモートとして識別された二次コントローラの１つ以上のコントロールと、メディア処理装置１０５の１つ以上の機能との間のマッピングを構成又は変更することができる。例えば、非マップ機能をコントロールへマップすることもできるし、以前にマップされた機能を異なるコントロールへ再マップすることもできる。
【００２７】
図４は、メディア処理装置１０５により提示される基本ボタンインターフェイス４００を示す。この基本ボタンインターフェイス４００は、学習リモートインターフェイス３００のスタートオプション３０５へのアクセスを入力するのに応答して提示することができる。又、この基本ボタンインターフェイス４００は、二次コントローラ１４５のような学習されている二次コントローラにおいてどのコントロールを操作すべきか指示するインストラクション４０５を含む。例えば、アップナビゲーションボタンがそれに対応するコマンド信号へマップされる場合には、メッセージ「他のリモートにおけるアップボタンを長押しする。進行バーがいっぱいになるまでアップボタンを押し続ける。」が表示される。しかしながら、いずれのコントロールをアップボタンと呼称してもよい。例えば、二次コントローラ１４５がアップボタンを含まない場合は、メディア処理装置１０５の他の機能へマップされない異なるコントロールを呼称することもできる。ある具現化においては、オンスクリーンのインストラクション４０５に関連して又はそれに代わって、オーディオインストラクションを提示することができる。
【００２８】
又、基本ボタンインターフェイス４００は、複数のコントロールボタン記号４１０を表示することもできる。ある具現化においては、コントロールボタン記号４１０は、操作されるべきコントロールのグラフィック表現である。コントロールボタン記号４１０の各々は、学習されている二次コントローラのコントロールへマップされるべきメディア処理装置１０５により遂行される機能を表す。例えば、コントロールボタン記号４１０は、アップ、ダウン、左、右のナビゲーション矢印を含む。更に、コントロールボタン記号４１０は、選択(SELECT)及びメニュー(MENU)機能に対応する識別子を含む。他の具現化では、付加的な、より少数の、又は異なるコントロールボタン記号４１０を含むことができる。
【００２９】
コントロールボタン記号４１０のどれが二次コントローラのコントロールへ現在マップされるか指示するために基本ボタンインターフェイス４００にカーソル４１５を提示することができる。このカーソル４１５は、マッピングプロセスが実行されるときに、次のコントロールボタン記号４１０へと自動的に再配置される。或いは又、カーソル４１５は、マップされるべきコントロールに対応するコントロールボタン記号４１０を選択するように手動で配置されてもよい。ある具現化においては、コントロールボタン記号４１０は、マップされたコントロールボタンをマップされないものと区別するように、目で見て区別できるようにされる。例えば、マップされたコントロールボタン記号４１０各々は、陰影付けされるか、グレー化されるか、透明にされるか、その他、目で見て区別できるようにされる。
【００３０】
更に、基本ボタンインターフェイス４００は、マップされるコントロールボタンを二次コントローラにおいて押圧しなければならない期間を示すための進行バー４２０を表示することができる。進行インジケータ４２５は、完全さの程度を示すと共に、コントロールボタンを放せるときにそれを知らせるために、進行バー４２０をいっぱいにすることができる。例えば、進行インジケータ４２５は、２秒のような所定の期間にわたって進行バー４２０をいっぱいにすることができる。或いは又、進行インジケータ４２５が進行バー４２０をいっぱいにする期間は、メディア処理装置１０５により受信されたコマンド信号に基づいて変化してもよい。例えば、進行バー４２の任意の部分をいっぱいにすることは、メディア処理装置１０５によりコマンド信号が検出された後まで遅らせることができる。進行インジケータ４２５が進行バー４２０を完全にいっぱいにすると、カーソル４１５は、次のコントロールボタン記号４１０へ進むことができ、進行バー４２０をリセットすることができる。二次コントローラ１４５の基本的ボタンがマップされると、二次コントローラ１４５を使用して、メディア処理装置１０５をコントロールすることができる。
【００３１】
ある具現化においては、二次コントローラのコマンド信号を含む１つ以上の事前に学習されたプロフィールをメディア処理装置に記憶することができる。例えば、ＡＣＭＥ  ＤＶＤプレーヤリモートコントロールのコマンド信号を表すデータを、製造時に又はソフトウェア更新の一部分としてメディア処理装置に記憶することができる。メディア処理装置が学習モードにあるときには、１つ以上の受信したコマンド信号、例えば、第１及び第２のコマンド信号を、事前に学習したプロフィールと比較して、充分なアイデンティティがあるかどうか決定することができる。１つ以上の受信したコマンド信号が、事前に学習したプロフィールに記憶されたデータに充分一致する場合には、メディア処理装置は、二次コントローラの自動構成を申し出るメッセージを与えることができる。例えば、メディア処理装置は、「あなたは、ＡＣＭＥ  ＤＶＤリモートを使用すると思われます。あなたのボタンを自動的にセットアップしましょうか？」というメッセージを出力することができる。ユーザが選択をすると、事前に学習したプロフィールを使用して、二次コントローラに対応するリモートプロフィールを自動的に発生することができる。
【００３２】
図５は、メディア処理装置１０５により提示される再生ボタンインターフェイス５００を示す。ある具現化においては、この再生ボタンインターフェイス５００は、基本ボタンインターフェイス４００の構成が完了した後に自動的に提示される。又、この再生ボタンインターフェイス５００は、二次コントローラ１４５のような学習される二次コントローラにおいてどの再生コントロールを操作すべきか指示するインストラクション５０５を含む。例えば、ストップ(STOP)再生機能がそれに対応するコントロール及びコマンド信号へマップされている場合には、「他のリモートにおいてストップボタンを長押しする。進行バーがいっぱいになるまでストップボタンを押し続ける。」というメッセージが表示される。しかしながら、いずれのコントロールをストップボタンと呼称してもよい。例えば、二次コントローラ１４５がストップボタンを含まない場合は、メディア処理装置１０５の他の機能へマップされない異なるコントロールを呼称することもできる。ある具現化においては、オンスクリーンのインストラクション４０５に関連して又はそれに代わって、オーディオインストラクションを提示することができる。
【００３３】
又、再生ボタンインターフェイス５００は、複数の再生ボタン記号５１０を表示することもできる。この再生ボタン記号５１０の各々は、学習される二次コントローラのコントロールへマップされるべきメディア処理装置１０５によって遂行される機能を表す。例えば、再生ボタン記号５１０は、プレイ(PLAY)、休止(PAUSE)、ストップ(STOP)、巻き戻し(REWIND)、早送り(FAST FORWARD)、チャプター後方スキップ(CHAPTER SKIP BACKWARD)、チャプター前方スキップ(CHAPTER SKIP FORWARD)、リプレイ(REPLAY)及び前方スキップ(SKIP FORWARD)を含むことができる。リプレイ及び前方スキップ機能は、１０秒のような所定の時間だけ巻き戻して前進再生するように構成することができる。他の具現化では、付加的な、より少数の、又は異なる再生ボタン記号５１０を含むことができる。
【００３４】
又、再生ボタン記号５１０のどれが二次コントローラのコントロールへ現在マップされるか指示するために再生ボタンインターフェイス５００にカーソル５１５を提示することもできる。このカーソル５１５は、マッピングプロセスが実行されるときに、次の再生ボタン記号５１０へと自動的に再配置される。或いは又、カーソル５１５は、マップされるべき再生記号に対応する再生ボタン記号５１０を選択するように手動で配置されてもよい。ある具現化においては、再生ボタン記号５１０は、マップされたコントロールボタンをマップされないものと区別するように、目で見て区別できるようにされる。例えば、マップされた再生ボタン記号５１０各々は、陰影付けされるか、グレー化されるか、透明にされるか、その他、目で見て区別できるようにされる。
【００３５】
更に、再生ボタンインターフェイス５００は、マップされるコントロールボタンを二次コントローラにおいて押圧しなければならない期間を示すための進行バー５２０を表示することができる。進行インジケータ５２５は、完全さの程度を示すと共に、コントロールボタンを放せるときにそれを知らせるために、進行バー５２０をいっぱいにすることができる。例えば、進行インジケータ５２５は、２秒のような所定の期間にわたって進行バー５２０をいっぱいにすることができる。或いは又、進行インジケータ５２５が進行バー５２０をいっぱいにする期間は、メディア処理装置１０５により受信されたコマンド信号に基づいて変化してもよい。例えば、進行バー５２の任意の部分をいっぱいにすることは、メディア処理装置１０５によりコマンド信号が検出された後まで遅らせることができる。進行インジケータ５２５が進行バー５２０を完全にいっぱいにすると、カーソル５１５は、次の再生ボタン記号５１０へ進むことができ、そして進行バー５２０をリセットすることができる。
【００３６】
図６は、コマンド信号を検出し学習するための規範的なプロセスを示すフローチャートである。メディア処理装置は、ワイヤレス送信されるコマンド信号、例えば、赤外線又は高周波信号を検出するよう構成することができる。コマンド信号は、簡単なコマンド又は複雑なコマンドを指示することができる。又、コマンド信号は、単一のコントロールアクション対連続的コントロールアクション、例えば、保持されるコントロールを指示することができる。更に、メディア処理装置は、複数の異なる送信プロトコルを使用して送信されるコマンド信号を解釈するように構成することもできる。メディア処理装置は、コマンド信号をコマンド解釈モードで受信して処理することができる（６００）。例えば、メディア処理装置に関連したセンサは、コマンド信号を受信し、その受信したコマンド信号の表現をコマンド認識モジュールへ通し、これは、ソフトウェア、ハードウェア又はその組み合わせで具現化することができる。このコマンド認識モジュールは、コマンド信号を送信するためにどんなプロトコルが使用されたか及びそのプロトコルがメディア処理装置によってサポートされるかどうか決定することができる。プロトコルがサポートされる場合には、コマンド信号を解釈し実行することができる。さもなければ、コマンド信号は、無視される。
【００３７】
更に、メディア処理装置は、リモートコントロール学習モードが選択されたかどうか決定することができる（６０５）。例えば、リモートコントロール学習モードを呼び出すためにユーザインターフェイスにおいて１つ以上のオプションを選択することができる。基本的ボタン構成が完成した二次コントローラを含むサポートされる入力装置からリモートコントロール学習モードを呼び出すことができる。リモートコントロール学習モードは、二次コントローラの特定コントロールに関連したコマンド信号を学習するのに使用することができる。コマンド信号がメディア処理装置に学習モードに入るように命令しない場合には、メディア処理装置は、コマンド信号をコマンド解釈モードで受け取って処理し続ける（６００）。コマンド信号がメディア処理装置に学習モードに入るように命令する場合には、メディア処理装置は、学習すべき基本ボタン及び１つ以上のインストラクションを提示することができる（６１０）。例えば、メディア処理装置は、図４に示す基本ボタンインターフェイスを提示し、マップされるべき二次コントローラの基本ボタンを指示すると共に、ある時間中特定のコントロールを操作する等の１つ以上のアクションを遂行するようユーザに命令することができる。
【００３８】
メディア処理装置は、二次コントローラにより送信されたコマンド信号を捕獲し、その捕獲されたコマンド信号を、メディア処理装置により行われる基本的機能へとマップすることができる（６１５）。例えば、メディア処理装置は、ユーザが二次コントローラに関連した特定のコントロールを操作するよう命令された後に受信したコマンド信号をバッファすることができる。コマンド信号は、２秒のような所定の期間中バッファすることができる。或いは又、コマンド信号は、受信したコマンド信号の１つ以上の特性に基づいて、可変時間中、バッファすることもできる。更に、二次コントローラのコントロールを操作すべきとき及び放すべきときをユーザに知らせるために、進行バーのような視覚インジケータを提示することもできる。
【００３９】
コマンド信号がバッファされると、メディア処理装置は、そのバッファされた信号を分析する。例えば、メディア処理装置は、バッファされたコマンド信号が時間と共に一貫したものであるかどうか決定することができる。又、メディア処理装置は、バッファされたコマンド信号が初期メッセージ及び１つ以上の繰り返しメッセージを含むかどうか決定することができる。更に、バッファされたコマンド信号に関連したタイミング情報を分析することもできる。例えば、バッファされたコマンド信号における事象と事象との間の最大時間を決定して、例えば、異なるコマンド間の最小期間を識別するのに使用することができる。ある具現化においては、所定の捕獲期間が経過する前に信号が遮断した場合には、受信したコマンド信号データが破棄される。二次コントローラにより送信されたコマンド信号が分析された後に、多数のパラメータを使用して、コマンド信号の表現を記憶することができる。例えば、パラメータは、コマンド信号に関連した初期メッセージ又はパターン、コマンド信号に関連した繰り返しパケット、及びコマンド信号を形成している事象と事象との間の時間間隔を指示することができる。ある具現化において、バッファされたコマンド信号が処理できないか又は欠陥である場合には、メディア処理装置は、関連するコントロールに対して捕獲オペレーションを繰り返すことができる。
【００４０】
ある具現化においては、メディア処理装置は、二次コントローラのコマンド信号を含む１つ以上の事前に学習されたプロフィールを記憶するように構成することができる。メディア処理装置は、受信したコマンド信号が、事前に学習されたプロフィールに含まれるデータに充分に一致する場合に、二次コントローラのためのリモートプロフィールを自動的に発生することができる。リモートプロフィールの自動的な発生が選択された場合には、学習モードをキャンセルすることができ、メディア処理装置は、コマンド解釈モードへ復帰することができる。
【００４１】
基本ボタンに関連したコマンド信号が捕獲された後、メディア処理装置は、全ての基本ボタンが処理されたかどうか決定することができる（６２０）。１つ以上の基本ボタンに対応するコマンド信号が捕獲されなかった場合には、メディア処理装置は、学習されるべき次の基本ボタン及び１つ以上の関連インストラクションを提示することができる（６１０）。さもなければ、メディア処理装置は、１つ以上のナビゲーションコントロールを学習すべきかどうか決定することができる（６２２）。例えば、メディア処理装置は、二次コントローラの構成から退出するか又は１つ以上のナビゲーションコントロールを学習するためにユーザから入力を要求するインターフェイスを提示することができる。二次コントローラは、基本ボタンが構成された後にメディア処理装置をコントロールするのに使用できる。従って、１つ以上のナビゲーションコントロールの構成は、任意でよい。１つ以上のナビゲーションコントロールを構成すべき場合には、メディア処理装置は、学習されるべきナビゲーションボタン及び１つ以上の関連インストラクションを提示することができる（６２５）。例えば、メディア処理装置は、図５に示すナビゲーションボタンインターフェイスを提示して、マップされるべき二次コントローラのナビゲーションボタンを指示すると共に、１つ以上のアクションを遂行するようにユーザに命令することができる。さもなければ、メディア処理装置は、二次コントローラに対するリモートプロフィールを発生することができる（６４０）。例えば、リモートプロフィールは、構成された基本的コントロールに対応する、二次コントローラにより送信された１つ以上のコマンド信号を認識し及び解釈するためのデータを含むことができる。
【００４２】
１つ以上のナビゲーションコントロールを構成すべき場合には、メディア処理装置は、二次コントローラにより送信されたコマンド信号を捕獲し、そしてその捕獲されたコマンド信号を、メディア処理装置により遂行されるナビゲーション機能へとマップすることができる（６３０）。メディア処理装置は、基本ボタンに対するコマンド信号と同様に、ナビゲーションボタンに対応するコマンド信号を捕獲して処理することができる。ナビゲーションボタンに関連したコマンド信号が捕獲された後に、メディア処理装置は、全てのナビゲーションボタンが処理されたかどうか決定することができる（６３５）。１つ以上のナビゲーションボタンに対応するコマンド信号が捕獲されなかった場合には、メディア処理装置は、学習されるべき次のナビゲーションボタン及び１つ以上の関連インストラクションを提示することができる（６２５）。さもなければ、メディア処理装置は、二次コントローラに対するリモートプロフィールを発生することができる（６４０）。リモートプロフィールは、関連二次コントローラを識別できるように命名することができる。更に、リモートプロフィールは、二次コントローラにより送信される１つ以上のコマンド信号を認識し及び解釈するためのデータを含むことができる。ある具現化において、データは、同じ二次コントローラの同じコントロールによって少なくとも９９％繰り返し可能となるように構成することができる。
【００４３】
図７は、メディア処理装置１０５により実行できる規範的なリモートコントロールドライバ７００を示す。一般的に、メディア処理装置１０５により受け取られたＩＲしシグネチャ７０２は、ソース識別（例えば、リモートコントロール形式）のためにドライバ７００へ送られる。ソースが識別不能である場合には、リモートコントロールドライバ７００は、シグネチャソースを分類するためにシグネチャの特性を抽出するように試みる。従って、学習された特性を記憶し、同様のＩＲシグネチャの再発生を認識するために後で使用することができる。
【００４４】
認識可能なプロトコルがＩＲシグネチャ７０２により行われるシナリオの場合に、この構成では、リモートコントロールドライバ７００は、ＩＲシグネチャ７０２からのデコードされた情報を含む１つ以上のデータパケット（例えば、規範的なデータパケット７０４で示された）を発生する。データパケット７０４には、例えば、タイミング情報を表すデータ、識別されたプロトコル、及びＩＲシグネチャ内に埋め込まれたデータ（例えば、コマンド）が含まれる。
【００４５】
ＩＲシグネチャ７０２からの情報を、既知のプロトコルの情報と比較することで、ＩＲシグネチャ７０２により使用できる種々の考えられるプロトコルを決定するための発見的技術が提供される。１つ以上のＩＲ送信規格に関連したプロトコルと共に、特定の会社及び製品に関連した規格を識別することができる。例えば、ＮＥＣ、シャープ、ソニー（例えば、ソニーＳＩＲＣ）、フィリップス（例えば、フィリップスＲＣ−５、フィリップスＲＣ−６）、ＪＶＣ、サムスン、日立、三菱、ＤｉｒｅｃＴＶ、及び他の同様の会社に関連したプロトコルを検出することができる。特定の国（例えば、日本、米国）及び又はグローバルな領域（例えば、ヨーロッパ）に関連したプロトコルを識別することもできる。
【００４６】
ある場合には、特定のプロトコル（例えば、ＮＥＣ、ＤｉｒｅｃＴＶ、ＪＶＣプロトコル）を具現化するＩＲシグネチャが動的に変化してもよい。例えば、リモートコントロールのボタンのその後の押圧に基づいてシグネチャプロパティが変化してもよい。従って、リモートボタンの最初の押圧に関連したＩＲシグネチャは、別のリモートボタンがその後に押される（押圧される）のと共に変化するプロパティを有する。ある構成では、リモートコントロールドライバ７００は、受け取った各シグネチャを独立して処理し、それに対応するプロトコルを識別するよう試みることができる。
【００４７】
ＩＲシグネチャ７０２を受け取ると、リモートコントロールドライバ７００は、各既知のプロトコルにスコアを指定する。既知のプロトコルの記憶されたデータ（例えば、メディア処理装置１０５に記憶されたデータ）を、受け取ったＩＲシグネチャから得た情報と比較することで、各プロトコルスコアは、そのプロトコルのプロパティが、受け取ったシグネチャのプロパティにどれほど厳密に似ているかの尺度を与える。リモートコントロールドライバ７００により種々のスコア技術及び方法を具現化することができる。例えば、プロトコルのプロパティに各々関連したサブスコアのセット（例えば、３つのサブスコア）を各プロトコルに指定することができる。サブスコアに基づいて、受け取ったＩＲシグネチャのプロトコルを識別する（又はまだ知られていないプロトコルの学習をトリガーする）ことができる。
【００４８】
１つの構成では、３つのサブスコアは、シグネチャにおけるパルスの数（パルスカウントスコアと称される）、ヘッダ情報（ヘッダスコアと称される）、及びシグネチャに埋め込まれたデータに関連した情報（データスコアと称される）に関連付けることができる。各スコアを得ると、付加的な処理を実行して（例えば、３つのサブスコアの加算）、プロトコルに対する全体的な比較メトリックを計算することができる。ある構成では、比較のためにサブスコアにプライオリティが与えられ、例えば、パルスカウントスコア及びヘッダスコアには、ＩＲシグネチャ７０２のプロトコルを識別するための大きな重みが与えられる。プロトコルの一致を指示するには（例えば、正確な変換を保証するには）、受け取ったシグネチャ７０２のパルスカウント及び既知のプロトコルが等しくなければならない。更に、プロトコルヘッダは、（例えば、長さ及びコンテンツが）著しく異なることがあり、一方、データスコアは、（識別を確認するのではなく）プロトコルを識別する信頼性が低いことがある。従って、パルスコンテンツスコア及びヘッダスコアは、データスコアに比して、より大きく重み付けされる。ある構成では、サブスコアは、負又はゼロの値を有してもよい。従って、合計スコアが負の値になることもある。従って、ＩＲシグネチャに幾つかの特徴が存在することは、幾つかのプロトコルを、一緒の実行から脱落させることがある。例えば、ＮＥＣフォーマットは、特定サイズのヘッダを要求する。その特定のヘッダサイズが見つからない場合には、ＮＥＣフォーマットは、全く考えられない。
【００４９】
又、プロトコル識別のためにリモートコントロールドライバにより規定のスレッシュホールドを使用することもできる。例えば、最小許容サブスコアを表すスレッシュホールドを具現化することができる。１つの構成において、最小パルスカウント及びヘッダスコアが標準と考えられる。従って、これらスコアの各々に対して一定の最小スレッシュホールドを得ることが必要となる。又、処理されたスコア（例えば、パルスカウントスコア、ヘッダスコア及びデータスコアの和）を特定の最小スレッシュホールドに対して保持することもできる。
【００５０】
受け取ったＩＲシグネチャ７０２の比較を行うためにスコアが計算されると、最高スコアのプロトコル（最小スレッシュホールドも満足する）がシグネチャに一致すると考えられる。一致が検出されるのに基づいて、データパケット７０４（又は複数のデータパケット）が発生されて、エンコードされたデータ（例えば、１つ以上のコマンド）をメディア処理装置１０５に与える。
【００５１】
パルスカウントスコアに関しては、受け取ったＩＲシグネチャ７０２は、シグネチャのパルスをカウントできるようにするために、時間間隔へとセグメント化される（例えば、バイトを時間間隔へと変換する）。一般的に、第１の時間間隔がパルスと考えられ、パルスとしてカウントされる。パルスカウントに基づいて、各プロトコルにスコアが指定される。
【００５２】
あるプロトコルは、パルス及びパルス間スペースが可変長さをもつことができるパルス距離エンコーディング（ＰＤＥ）を使用する。図８を参照すれば、パルスシリーズ８００は、各パルス／スペース対が単一データビット（即ち、論理０又は１）を表すＰＤＦプロトコルを表す。この形式のプロトコルを使用すると、パルスの数は、エンコードされたコマンドにおけるデータビットの数に直接対応する。従って、一致するパルスカウントスコアを受け取るには、ＰＤＥプロトコルに対する予想パルス数が、受け取られるＩＲシグネチャに含まれるパルスの数に一致する必要がある。
【００５３】
他の形式のエンコーディングもプロトコルにより具現化することができる。図９を参照すれば、例えば、パルスシリーズ９００において位相エンコーディング（ＰＥ）を具現化できるが、このようなエンコーディングスキームは、正確なパルスカウントを与えない（例えば、ＰＤＥプロトコルに比して）。ＰＥでは、パルスがデータビットの第１の半分又は第２の半分のいずれかにシフトされて、論理１又は０を表す。この特定のエンコーディングスキームでは、ＩＲシグネチャは、典型的に、最大パルス数を有するが、エンコードされたコマンドを表すのに必要とされるのは、典型的に、最大パルス数未満である。例えば、やや極端なケースでは、コマンドを表すのに必要とされるのは、最大パルス数のほぼ半分である。従って、ＰＥプロトコルに対する一致スコアを受け取るために、ＩＲシグネチャのパルス数がパルスカウントの範囲内に入る必要がある。
【００５４】
図１０を参照すれば、テーブル１０００は、種々の異なるプロトコルに対する一連のエントリを含む。各プロトコルに対して、パルスカウントが１つの列に示され、位相エンコーディングが具現化される場合の指示も（第２の列に）示されている。テーブル１０００に示されたように、幾つかのプロトコルは、異なる長さのコマンドを指示するために、受け容れられる複数のパルスカウントを有する。ＰＤＥプロトコルにスコアを与えるときには、ＩＲシグネチャのパルスカウントが、受け容れられる複数パルスカウントのいずれかに一致する場合には、そのプロトコルに一致スコアが与えられる。
【００５５】
ヘッダスコアについては、リモートコントロールドライバ７００は、受け取ったＩＲシグネチャの最初の時間間隔（例えば、最初の２つの間隔）を再調査する。多くのプロトコルで通常そうであるように、ヘッダは、この最初の間隔内で識別することができる。例えば、ヘッダは、最初の間隔内において１つ以上のパルス（例えば、第１のパルス／スペース対）というパルス幅から識別される。ヘッダを表すパルス幅は、ＩＲシグネチャの他の部分に含まれるパルスより著しく長い。一般的に、パルス及びスペースの幅は、公差（例えば、３０％）に関連している。従って、ＩＲシグネチャの間隔が、幅の範囲と比較される。ＩＲシグネチャの第１パルスが、プロトコルヘッドパルス幅範囲内に入る場合には、プロトコルが一致ヘッドスコアを受け取る。対応的に、ＩＲシグネチャの第１スペースがプロトコルヘッダスペース幅範囲内に入る場合には、プロトコルが一致ヘッダスペーススコアを受け取る。図１１を参照すれば、テーブル１１００は、ＩＲシグネチャと比較しそしてそれに対応するリストされたプロトコルにスコアを与えるためにリモートコントロールドライバ７００により使用することのできるヘッドパルス幅範囲及びヘッダスペース幅範囲を与える。ある状態においては、定義されたヘッダが存在しないプロトコルに遭遇することがある。このようなプロトコルでは、例えば、ＩＲシグネチャの第１パルス及び第１スペースの長さに基づいてヘッダスコアを決定することができる。しかしながら、長さを予想ヘッダ幅と比較するのではなく、第１パルス及び第１スペースの長さが、プロトコルに関連した予想データパルス及びスペースの長さと比較される。
【００５６】
各プロトコルに対してデータスコアを与えるために、リモートコントロールドライバ７００は、受け取ったＩＲシグネチャのデータ部分を、各プロトコルに対する対応データパラメータと比較する。このようなスコア付けについては、一度に１つのパルス／スペース対で、時間間隔データにスコアが与えられる。ＩＲシグネチャに対する最小許容データスコアは、シグネチャに含まれるパルスの数に基づく。シグネチャに含まれる各パルスは、データビットではない（例えば、ヘッダパルス、ストップパルス、等）ので、このような潜在的な非データパルスは、最小許容スコアを決定する前に差し引かれる。例えば、最小許容スコアは、次のように計算され、
スコア＝１０＊(ＩＲシグネチャパルスカウント−考えられる非データパルス)
そしてデータビットの数に基づき一致スコアが指定される（例えば、データビット当たり１０の値）。
【００５７】
又、他のパラメータをデータスコアに合体することもできる。例えば、パルス／スペース対を論理１又は０に変換するための能力は、増分的な正のサブスコアを特定のプロトコルに追加する。それ故、ドライバ７００が、ＮＥＣフォーマットへ変換できるパルス／スペース対の繰り返しシーケンスを検出した場合には、そのフォーマットに対するスコアが増加される。典型的に、データスコア付け（データ変換を含む）は、シグネチャの第２パルスで始まる（ヘッダが識別されている場合に）。このような状況では、第１パルスは、時間的に著しく延長される（例えば、１６００μｓより長い）。ヘッダが存在しない場合には、データスコア付け（変換を含む）は、第１パルスで開始する。
【００５８】
上述したように、ＰＤＥは、大半のプロトコルによって頻繁に使用される。このようなプロトコルの場合に、パルス／スペース対ごとに、パルス幅及びスペース幅を、論理０データビット及び論理１データビットに対する予想幅と比較することにより、データ変換を測定することができる。ヘッダパルス及びスペース幅と同様に、このようなプロトコルに対するデータパルス及びスペース幅は、推定公差（例えば、３０％）を有する。従って、ＩＲシグネチャの時間間隔が各プロトコルに対する既定の範囲と比較される。図１２を参照すれば、テーブル１２００は、種々のＰＤＥプロトコルに対するエントリと、それに対応する、論理０及び論理１の値に対するパルス及びスペース幅推定値とを示す。
【００５９】
あるプロトコル（例えば、ＮＥＣリピートプロトコル及び日立リピートプロトコル）は、データ部分が存在せず、ヘッダ及び単一パルス（ストップパルスと称される）しか含まない。このようなプロトコルの場合に、ストップパルスは、既定の長さ（例えば、５６０μｓ）を有する。従って、ＩＲシグネチャの第２及び最後のパルスが、既定の長さ（例えば、５６０μｓ）の公差範囲内に入る場合には、これらプロトコルに対してデータスコアも増加される。更に、このような「リピート」プロトコルに一致されるべきＩＲシグネチャの場合に、以前に受け取られたＩＲシグネチャが、同様の形式のプロトコルとして識別される必要がある。例えば、ＮＥＣリピートプロトコルは、以前のパケットがＮＥＣプロトコルに一致した場合にのみ一致されるとみなされる。このような状況が生じた場合は、第２の受け取られたＩＲ入力シグネチャがリピートパケットとして識別され、そして以前のパケットにより与えられた数値コマンドが、実行のためにメディア処理装置１０５に与えられる。
【００６０】
ＰＥを具現化するプロトコル（例えば、フィリップスＲＣ−５及びＲＣ−６）にデータスコアを指定するために、依然、パルス／スペース対ごとにＩＲシグネチャが検査されるが、以前のパルス／スペース対に関連したデータビットが考えられる。ＰＤＥプロトコルと同様に、論理０又は１が識別されたときにＰＥプロトコルに対するデータスコアが増加される。しかしながら、パルス／スペース対を横切ってデータビット変換が生じることがある。
【００６１】
図１２のテーブル１２０２を参照すれば、ＰＤＥプロトコルと同様に、ＰＥプロトコルも、予想パルス及びスペース幅が定義されている。又、同様に、幅に公差（例えば、３０％）が適用され、ＩＲシグネチャの時間間隔と比較するための範囲が与えられる。
【００６２】
図１３を参照すれば、１つの特定のＰＥプロトコル（即ち、フィリップスＲＣ−５プロトコル）のプロパティが示されている。例えば、このプロトコルに合致するパルスは、ある長さ（例えば、８８９μｓ）を有し、そして論理０データビットの先端（時間シリーズ１３００）又は論理１データビットの後端（時間シリーズ１３０２）を指示することができる。このパルスは、より長い長さを有してもよく、例えば、（時間シリーズ１３０４で表された）パルスが２倍の長さ（例えば、８８９μｓの２倍）である場合には、このパルスは、論理１データビットの後端及び論理０データビットの先端を表す。スペースに関しては、特定長さ（８８９μｓ）のスペースは、（時間シリーズ１３０６で表された）論理１データビットの先端又は（時間シリーズ１３０８で表された）論理０データビットの後端を指示する。スペースの長さが延長された（例えば、８８９μｓの２倍）場合には、スペースは、（時間シリーズ１３１０で表された）論理０データビットの後端及び論理１データビットの先端の両方を指示することができる。更に、フィリップスＲＣ−５プロトコルに関しては、スタートパルスは、論理１データビットの第２の半分であり、典型的なヘッダパルスの位置をとる。
【００６３】
他のＰＥプロトコルは、ＩＲシグネチャを検査するために考慮すべきアーティファクトも有する。例えば、フィリップスＲＣ−６プロトコルのようなあるプロトコルは、トグル情報を含む。図１４を参照すれば、時間シリーズ１４００は、最初の４つのデータビットに続いて、既定の期間（例えば、３５５６μｓ）がトグル情報を与えるような一連のパルスを表す。一般的に、トグル情報は、押圧されるリモートコントロールボタンの各インスタンスと共に変化する。しかしながら、トグル情報は、リモートコントロールのボタンが押される（押下保持される）期間中、一定のままである。従って、この期間のほぼ半分の間、論理１（高レベル）が与えられる。リモートコントロールのボタンを押す別のインスタンスは、時間シリーズ１４０２で表されたように、論理１レベルを第１の半分と第２の半分との間にトグルさせる。
【００６４】
図１５を参照すれば、あるプロトコルは、ＰＤＥ及びＰＥの両方が存在しないと思われる。例えば、このようなプロトコルは、（時間シリーズ１５００で表されたように）パルス及びスペースの幅に基づいて、各個々のパルス及びスペースがデータビットに対応するＤｉｒｅｃＴＶプロトコルである。更に、このプロトコルには公差（例えば、３０％）が適用される（テーブル１５０２で示される）。ＤｉｒｅｃＴＶプロトコルと同様に、ＤｉｒｅｃＴＶリピートプロトコルは、リモートコントロールドライバ７００によって認識される。データスコア付け及びデータ変換は、２つのプロトコル間で同様であり、１つの相違は、ヘッダパルス及びスペースの幅である。
【００６５】
図１６を参照すれば、フローチャート１６００は、リモートコントロールドライバ７００のオペレーションの特定の構成を表す。典型的に、これらオペレーションは、例えば、リモートコントロールドライバが常駐するメディア処理装置１０５内に存在するプロセッサにより実行される。しかしながら、これらのオペレーションは、装置に存在する複数のプロセッサにより実行されてもよい。典型的に、単一のメディア処理装置により実行されるが、ある構成では、オペレーションの実行は、２つ以上の同様のメディア処理装置間に分散されてもよい。
【００６６】
これらのオペレーションは、ＩＲシグネチャを受け取る（１６０２）ことを含む。例えば、シグネチャ（例えば、ＩＲシグネチャ７０２）は、メディア処理装置１０５から受け取られる。又、これらのオペレーションは、受け取ったＩＲシグネチャのプロトコルが、リモートコントロールドライバ７００に知られているかどうか決定する（１６０４）ことも含む。シグネチャが認識されない場合には、これらオペレーションは、受け取ったシグネチャのプロトコルを学習し（１６０６）、そしてそのシグネチャのプロトコルに関連した情報を記憶する（１６０８）ことを含む。例えば、特定のプロトコルパラメータ（例えば、パルスカウント、ヘッダフォーマット、データコンテンツ）に関連した情報は、後で検索及び処理（例えば、プロトコル認識、転送、等）を行うためにメディア処理装置に記憶される。任意であるが、ある構成では、ＩＲシグネチャは、それが認識されない場合に無視されてもよい。受け取ったＩＲシグネチャのプロトコルが認識された場合には、リモートコントロールドライバ７００のオペレーションは、認識されたプロトコルに関連した情報を検索する（１６１０）ことを含む。プロトコル情報が検索されるか又は新たに学習されると、リモートコントロールドライバ７００のオペレーションは、受け取ったＩＲシグネチャに関連した情報を含む１つ以上のデータパケットを発生すること（１６１２）を含む。例えば、ＩＲシグネチャに含まれたコマンドと共にプロトコルを識別する情報がパケットに収容される。
【００６７】
図１７を参照すれば、フローチャート１７００は、リモートコントロールドライバ７００のオペレーションの別のセットを表す。フローチャート１６００のオペレーションと同様に、これらのオペレーションは、典型的に、メディア処理装置１０５に存在するプロセッサにより実行されるが、他の構成では、分散型処理技術が具現化されてもよい。フローチャート１７００は、受け取ったＩＲシグネチャからのプロトコルを学習すること（フローチャート１６００のステップ１６０６に示す）に関連したオペレーションを含む。
【００６８】
これらのオペレーションは、受け取ったＩＲシグネチャのパルスカウントを決定すること（１７０２）を含む。パルスカウントを決定するための１つ以上の技術及び方法を具現化することができる。例えば、一連のＩＲシグネチャに含まれるパルスを総計し平均化して、平均パルスカウントを識別することができる。又、これらのオペレーションは、ＩＲシグネチャに関連したヘッダ情報を識別すること（１７０４）も含む。例えば、ヘッダパルス幅及びスペース幅を、他のパラメータと共に決定することができる。又、これらのオペレーションは、ＩＲシグネチャに関連したデータ情報を決定すること（１７０６）も含む。例えば、データビットに関連したパルスは、非データパルス（例えば、ヘッダパルス、ストップパルス、等）に関連したパルスと共に識別される。ＩＲシグネチャに関連した付加的なパラメータも識別される。又、これらのオペレーションは、収集したシグネチャ情報を、後で他のオペレーション（例えば、同様のＩＲシグネチャを認識する）に対して検索するために、プロトコルプロフィール（又は他の同様の表現）に記憶すること（１７０８）も含む。
【００６９】
図１８を参照すれば、フローチャート１８００は、リモートコントロールドライバ７００のオペレーションの別のセットを表す。フローチャート１６００及び１７００のオペレーションと同様に、これらのオペレーションは、典型的に、メディア処理装置１０５に存在するプロセッサにより実行されるが、他の構成では、分散型処理技術が具現化されてもよい。フローチャート１８００は、受け取ったＩＲシグネチャからのプロトコルが認識されたかどうか決定すること（フローチャート１６００のステップ１６０４に示す）に関連したオペレーションを含む。
【００７０】
これらのオペレーションは、ＰＤＥ、ＰＥ又は他の同様のプロトコル（例えば、ＤｉｒｅｃＴＶプロトコル）のような特定のプロトコルに関連した情報を受け取ること（１８０２）を含む。情報を受け取ると、これらのオペレーションは、プロトコルのパルスカウントを、受け取ったＩＲシグネチャ（図１６のステップ１６０２に示す）のパルスカウントと比較することにより、プロトコルに対するパルスカウントスコアを決定すること（１８０４）を含む。パルスカウントスコアと共に、これらのオペレーションは、ヘッダスコアを決定すること（１８０６）を含む。例えば、プロトコルのヘッダパルス幅及びスペース幅が、受け取ったＩＲシグネチャの対応するパルス及びスペース幅と比較される。更に、これらのオペレーションは、データスコアを決定することも含み、これは、データ変換を考慮に入れてデータパルスを識別することを含む。
【００７１】
プロトコルに対するスコアを識別すると、他のオペレーションを実行して全体的なスコアメトリックを決定することができる。例えば、これらのオペレーションは、識別されたスコアを総計すること（１８１０）を含むが、他の数学的及び処理演算（例えば、平均化、等）が含まれてもよい。又、これらのオペレーションは、スコアの１つ以上が最小スレッシュホールドに到達するかどうか決定すること（１８１２）も含む。例えば、個々のスコア（例えば、パルスカウントスコア、ヘッダスコア、データスコア）の１つ以上が、その対応最小スレッシュホールド（例えば、最小パルスカウントスコア）への到達についてチェックされる。又、処理されたスコアも、最小スコアへの到達についてチェックされ、例えば、スコアの総計が最小総計スコアスレッシュホールドと比較される。
【００７２】
最小スレッシュホールドが満足されない場合には、これらのオペレーションは、受け取ったＩＲシグネチャとの比較からこの特定のプロトコルを無視すること（１８１４）を含む。最小スレッシュホールド（１つ又は複数）が満足される場合には、これらのオペレーションは、受け取ったＩＲシグネチャに対して比較するための既に知られた別のプロトコルが存在するかどうか決定することを含む。比較すべき別のプロトコルがまだある場合には、これらオペレーションは、その次のプロトコルに関連した情報を受け取ること（１８０２）へ戻り、そしてその後続オペレーションを繰り返してプロトコルにスコアを与えることを含む。チェックすべきプロトコルがない場合には、これらオペレーションは、スコアが与えられたプロトコルから最大のスコアをもつプロトコルを決定すること（１８１８）を含む。この特定の構成では、最大スコアは、どのプロトコルが、受け取ったＩＲシグネチャにより使用されるプロトコルに最も類似しているかを指示する。しかしながら、他の構成では、他のスコア付け技術が具現化されてもよい。例えば、最小のスコアをもつプロトコルが、受け取ったＩＲシグネチャにより使用されるプロトコルに最も類似したプロトコルを表してもよい。
【００７３】
図１９は、ワイヤレス信号に関連したプロトコルを識別する規範的プロセスを説明するフローチャートである。最初に、リモートコントロールから受信されたワイヤレス信号の特性を、複数のプロトコルに関連した特性と比較することができる（１９０５）。その比較に基づいて、複数のプロトコルに含まれた各プロトコルにスコアを指定することができる（１９１０）。その指定されたスコアに基づき複数のプロトコルからあるプロトコルを識別することができ、その識別されたプロトコルは、ワイヤレス信号に関連したプロトコルと実質的に同様である（１９１５）。
【００７４】
以上、幾つかの具現化について開示した。しかし、特許請求の範囲及び精神から逸脱せずに種々の変更がなされ得ることを理解されたい。従って、特許請求の範囲内で他の具現化も考えられる。
【符号の説明】
【００７５】
１００：メディアシステム
１０５：メディア処理装置
１１０：メディア接続
１１５：発光ダイオード（ＬＥＤ）
１２０：ディスプレイ
１２５：ユーザインターフェイス
１３０：メインメニュー
１３５：カーソル
１４０：一次コントローラ
１４２：コントロール
１４５：二次コントローラ
２００：リモートコントロールインターフェイス
２１０：学習リモートオプション
３００：学習リモートインターフェイス
３０５：スタートオプション
３１０：キャンセルオプション
３１５：記憶プロフィールインターフェイス
３２５：削除リモートオプション
３３０：セットアップ基本ボタンオプション
３３５：セットアップ再生ボタン
４００：基本ボタンインターフェイス
４０５：インストラクション
４１０：コントロールボタン記号
４１５：カーソル
４２０：進行バー
４２５：進行インジケータ
５００：再生ボタンインターフェイス
５１０：再生ボタン記号
５１５：カーソル
【図１】
0005524230.tif 000002
【図２】
0005524230.tif 000003
【図３Ａ】
0005524230.tif 000004
【図３Ｂ】
0005524230.tif 000005
【図４】
0005524230.tif 000006
【図５】
0005524230.tif 000007
【図６】
0005524230.tif 000008
【図７】
0005524230.tif 000009
【図８】
0005524230.tif 000010
【図９】
0005524230.tif 000011
【図１０】
0005524230.tif 000012
【図１１】
0005524230.tif 000013
【図１２】
0005524230.tif 000014
【図１３】
0005524230.tif 000015
【図１４】
0005524230.tif 000016
【図１５】
0005524230.tif 000017
【図１６】
0005524230.tif 000018
【図１７】
0005524230.tif 000019
【図１８】
0005524230.tif 000020
【図１９】
0005524230.tif 000021