(57)【要約】  リモート制御コード中継システムでの使用に適したリモート制御コード・フィルタリング技術が開示される。受信されたリモート制御コードの一部が、格納されたリモート制御コードの対応する部分と比較される。受信リモート制御コードは、比較に基づいてフィルタリングされ得る。フィルタリングは、受信リモート制御コードまたはその一部を出力し、受信リモート制御コードを廃棄し、または新しいリモート制御コードを格納リモート制御コードに追加することを備え得る。リモート制御コードは、ネットワーク、または（たとえば電磁気リモート制御信号をリモート制御コードに変換する）ハードウェア・インターフェースから受信され得る。受信リモート制御コードは、その後に続く電磁気リモート制御信号の送信のために、ネットワークまたはハードウェア・インターフェースに出力され得る。フィルタリングは、ネットワークの前に行われることも、後に行われることもある。
2008503982.tif 000002
【特許請求の範囲】
【請求項１】
リモート制御コード中継システム内でリモート制御コードをフィルタリングするための方法であって、
リモート制御コードを受信する工程と、
前記受信されたリモート制御コードの一部を格納された１つまたは複数のリモート制御コードのうちの所与の１つの対応する一部と比較する工程と、
前記比較に基づいて前記受信されたリモート制御コードをフィルタリングする工程とを備える方法。
【請求項２】
比較および決定工程が、前記格納された１つまたは複数のリモート制御コードのそれぞれについて、または前記受信されたリモート制御コードの前記一部と格納されたリモート制御コードの対応する一部との間に一致があるまで実施される請求項１に記載の方法。
【請求項３】
前記受信された前記リモート制御コードが、電磁気（ＥＭ）リモート制御信号の少なくとも一部に対応する請求項１に記載の方法。
【請求項４】
前記ＥＭリモート制御信号が、赤外線（ＩＲ）リモート制御信号または無線周波数（ＲＦ）リモート制御信号を備える請求項３に記載の方法。
【請求項５】
電磁気（ＥＭ）リモート制御信号を受信する工程と、
前記受信されたＥＭリモート制御信号の少なくとも一部を前記受信されたリモート制御コードに変換する工程とをさらに備える請求項１に記載の方法。
【請求項６】
前記受信されたリモート制御コードの一部を比較する工程が、前記受信されたリモート制御コードの前記一部を前記格納された所与のリモート制御コードの対応する一部に一致させる工程を備え、
フィルタリング工程が、前記受信されたリモート制御コードの前記一部が前記格納された所与のリモート制御コードの前記対応する一部に一致する場合は、前記受信されたリモート制御コードを出力する工程をさらに備える請求項１に記載の方法。
【請求項７】
比較工程がさらに、
前記受信されたリモート制御コードの前記一部を前記格納された１つまたは複数のリモート制御コードのそれぞれの対応する一部と比較する工程と、
前記受信されたリモート制御コードの前記一部と前記格納された１つまたは複数のリモート制御コードのそれぞれの対応する一部との間の一致が存在しないと決定する工程とを備え、
フィルタリング工程が、一致が存在しないとの前記決定に基づいて前記受信されたリモート制御コードを廃棄する工程をさらに備える請求項１に記載の方法。
【請求項８】
前記受信されたリモート制御コードの前記一部を比較する工程が、前記受信されたリモート制御コードの前記一部を前記格納された所与のリモート制御コードの対応する一部に一致させる工程を備え、
フィルタリング工程が、前記受信されたリモート制御コードの前記一部が前記格納された所与のリモート制御コードの対応する前記一部に一致する場合、前記受信されたリモート制御コードを廃棄する工程をさらに備える請求項１に記載の方法。
【請求項９】
比較工程がさらに、
前記受信されたリモート制御コードの前記一部を前記格納された１つまたは複数のリモート制御コードのそれぞれの対応する一部と比較する工程と、
前記受信されたリモート制御コードの前記一部と前記格納された１つまたは複数のリモート制御コードのそれぞれの対応する一部との間に一致が存在しないと決定する工程とを備え、
フィルタリング工程が、一致が存在しないとの前記決定に基づいて前記受信されたリモート制御コードを出力する工程をさらに備える請求項１に記載の方法。
【請求項１０】
前記受信されたリモート制御コードがデバイス・コードを備える請求項１に記載の方法。
【請求項１１】
前記デバイス・コードがアドレス・コードをさらに備える請求項１０に記載の方法。
【請求項１２】
前記受信されたリモート制御コードが機能コードをさらに備える請求項１０に記載の方法。
【請求項１３】
前記リモート制御コードおよび前記格納された所与のリモート制御コードがそれぞれデバイス・コードを備え、
比較工程が、前記受信されたリモート制御コードの前記デバイス・コードと前記格納された所与のリモート制御コードの前記デバイス・コードとを比較する工程をさらに備え、
フィルタリング工程が、前記受信されたリモート制御コードの前記デバイス・コードと前記格納された所与のリモート制御コードの前記デバイス・コードとの比較に基づいて前記受信されたリモート制御コードをフィルタリングする工程をさらに備える請求項１に記載の方法。
【請求項１４】
前記リモート制御コードおよび前記格納された所与のリモート制御コードがそれぞれ、デバイス・コードと機能コードとを備え、
比較工程がさらに、
前記受信されたリモート制御コードの前記デバイス・コードと前記格納された所与のリモート制御コードの前記デバイス・コードとを比較する工程と、
前記受信されたリモート制御コードの前記デバイス・コードと前記格納された所与のリモート制御コードの前記デバイス・コードとの間に一致がある場合、前記受信されたリモート制御コードの前記機能コードと前記格納された所与のリモート制御コードの機能コードとを比較する工程する工程とを備え、
フィルタリング工程が、前記受信されたリモート制御コードの前記デバイスおよび機能コードと前記格納された所与のリモート制御コードの前記デバイスおよび機能コードとの比較に基づいて前記受信されたリモート制御コードをフィルタリングする工程をさらに備える請求項１に記載の方法。
【請求項１５】
新しいリモート制御コードを受信する工程と、
前記新しいリモート制御コードを前記格納された１つまたは複数のリモート・コードと共に格納することをさらに備える請求項１に記載の方法。
【請求項１６】
前記受信された新しいリモート制御コードが、１つまたは複数の電磁気（ＥＭ）リモート制御信号から学習され、またはリモート制御コード・データベースから入力される請求項１５に記載の方法。
【請求項１７】
前記受信されたリモート制御コードの少なくとも一部に対応する電磁気（ＥＭ）信号を生成する工程をさらに備える請求項１に記載の方法。
【請求項１８】
前記フィルタリング工程が、前記受信されたリモート制御コードの少なくとも一部をネットワークに出力する工程をさらに備える請求項１に記載の方法。
【請求項１９】
周波数情報を受信する工程をさらに備え、比較工程がさらに、
前記受信された周波数情報を前記格納された所与のリモート制御コード内の周波数情報と比較する工程と、
前記受信された周波数情報と前記格納された所与のリモート制御コード内の前記周波数情報との間に一致が生じる場合、前記受信されたリモート制御コードの前記一部を前記格納された所与のリモート制御コードの前記対応する一部と比較する工程とを備える請求項１に記載の方法。
【請求項２０】
比較工程が、前記受信されたリモート制御コードの前記一部を前記格納された１つまたは複数のリモート制御コードのそれぞれの対応する一部と比較し、前記受信されたリモート制御コードの前記一部と前記格納された１つまたは複数のリモート制御コードのそれぞれの対応する一部との間に一致がないと決定する工程をさらに備え、
前記比較に基づいて前記受信されたリモート制御コードをフィルタリングする工程がさらに、
前記リモート制御コードが出力されるべきか、それとも廃棄されるべきか決定する工程と、
前記リモート制御コードが出力されるべきか、それとも廃棄されるべきかの決定に基づいて前記新しいリモート制御コードを前記格納された１つまたは複数のリモート制御コードに追加する工程とを備える請求項１に記載の方法。
【請求項２１】
リモート制御コード中継システム内でリモート制御コードをフィルタリングするための集積回路であって、
リモート制御コードを受信し、
前記受信されたリモート制御コードの一部を格納された１つまたは複数のリモート制御コードのうちの所与の１つの対応する一部と比較し、
前記比較に基づいて前記受信されたリモート制御コードをフィルタリングするように適応されたフィルタリング・モジュールを備える集積回路。
【請求項２２】
リモート制御コード中継システム内でリモート制御コードをフィルタリングするための装置であって、
１つまたは複数のメモリと、
前記１つまたは複数のメモリに結合された１つまたは複数のプロセッサであって、
リモート制御コードを受信し、
前記受信されたリモート制御コードの一部を格納された１つまたは複数のリモート制御コードのうちの所与の１つの対応する一部と比較し、
前記比較に基づいて前記受信されたリモート制御コードをフィルタリングするように構成されたプロセッサとを備える装置。
【請求項２３】
前記プロセッサに結合されたネットワーク・インターフェースをさらに備え、前記プロセッサが前記ネットワーク・インターフェースから前記リモート制御コードを受信する請求項２２に記載の装置。
【請求項２４】
前記プロセッサに結合されたハードウェア・インターフェースをさらに備え、前記プロセッサが前記ハードウェア・インターフェースから前記リモート制御コードを受信する請求項２２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、リモコン装置に関し、より詳細には、ある場所から別の場所にリモート制御コードを中継することに関する。
【背景技術】
【０００２】
リモコンは、装置を制御するための大変貴重なツールとなってきた。リモコンは、リモコンからある装置へのリモート制御コードを表現し通信するために、無線周波数（ＲＦ：Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）や赤外線（ＩＲ：ｉｎｆｒａｒｅｄ）信号などの電磁気（ＥＭ：ＥｌｅｃｔｒｏＭａｇｎｅｔｉｃ）信号を使用する。典型的なリモコン装置では、ボタンに機能コードが割り当てられる。ボタンが押下されると、たとえば赤外線（ＩＲ）リモコン装置は、対応するリモート制御コードを決定するときに機能コードを使用し、リモート制御コードに対応するＩＲ信号を生成する。
【０００３】
ＩＲ信号は、特定の搬送波周波数で生成され、一般にヘッダと、デバイス・コードと、ボタンに対応する機能コードと、トレイラとを備える。ヘッダは、リモート制御信号が送信されていることを装置に警告するために使用される。デバイス・コードは、同じ搬送波周波数を使用している装置間で区別するために使用される。たとえば、製造元は、２つの装置用のリモコン装置を製造し得る。２つの装置用の各リモコン装置は、ＩＲ信号については同じ搬送波周波数を使用し得るが、それぞれの装置に異なるデバイス・コードが割り当てられる。装置は、ＩＲ信号を受信するときに、デバイス・コードが該装置に割り当てられたデバイス・コードかどうか決定する。そうである場合は、装置は、機能コードを解釈し、機能コードに対応する機能を実施する。そうでない場合は、装置は、機能コードを無視する。トレイラは、ＩＲ信号が終了することを装置に警告するために使用される。
【０００４】
それぞれの製造元は、リモート制御コードおよびそれに対応するＥＭ信号をそれ自体の要件を満たすように具体的に設計する能力を有する。たとえば、ＥＭ信号は時々、たとえばデバイス・コードと機能コード、または単純に機能コードを含み得る「繰返し部分」を含む。繰返し部分は、特定の回数またはボタンが押下されている間繰り返される。繰返し部分は、機能コードが装置によって受信されることを確実にするのに役立ち、また機能コードを複数回実施させるために使用されることもできる。
【０００５】
典型的なＩＲまたはＲＦリモコン装置、およびそれに対応する装置を使用したシステムは、非常に堅牢である傾向にある。たとえば、ＩＲ信号に１０％以上もの相当な誤りが発生し得るが、しかしＩＲ信号に対応する正確な機能は依然として実施される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
リモコン装置、およびそれを使用したシステムは堅牢であり、有益であるが、複数の重要な問題が残っている。たとえば、第１の装置を操作するように選択された、あるリモコンからの信号が意図されていない第２の装置を不注意に操作するときがあり得る。これは、リモコンと装置がＲＦを使用して互いに通信する場合に特に当てはまるが、通信用にＩＲを使用したシステムもまた、こうした不注意な操作を受け得る。したがって、これらの問題を解決するための技術が求められている。
【課題を解決するための手段】
【０００７】
一般には、リモート制御コードをフィルタリングするための技術が提供され、これらの技術は、たとえばリモート制御コードによって引き起こされる不注意の操作を減らしまたは取り除きながら、ある位置から別の位置にリモート制御コードを中継するために使用され得る。
【０００８】
本発明の例示的な一態様では、リモート制御コード中継システム内でリモート制御コードが受信される。受信されたリモート制御コードの一部が、格納された１つまたは複数のリモート制御コードの対応する部分と比較される。受信リモート制御コードは、比較に基づいてフィルタリングされる。フィルタリングは、例示的には、受信リモート制御コード（たとえば、またはその一部など）を出力し、または受信リモート制御コードを廃棄することを備え得る。さらに、フィルタリングは、格納リモート制御コードに、受信リモート制御コードに対応する新しいリモート制御コードを追加することを備え得る。この追加は、リモート制御コードが出力されるべきか、それと廃棄されるべきかによって決まる。
【０００９】
リモート制御コードはネットワークまたはハードウェア・インターフェースから受信されることができ、このハードウェア・インターフェースは、ＥＭリモート制御信号をリモート制御コードに変換する受信機から、リモート制御コードを受信する。受信リモート制御コードの出力は、無線ネットワークなどのネットワークに対して行われることも、その後に続くＥＭリモート制御信号の送信のためにハードウェア・インターフェースに対して行われることもある。フィルタリングは、ネットワークの前に行われることも、ネットワークの後に行われることもある。フィルタリングは、たとえば集積回路によって、ネットワークに結合され、またメモリに結合されたプロセッサを備えたコンピュータ・システムによって、あるいはその何らかの組合せによって実施され得る。
【発明を実施するための最良の形態】
【００１０】
図１および２は、例示的なリモート制御コード中継システム１００、リモコン、装置およびそのインターフェースを示している。典型的なリモート制御コード中継について説明するために、まず図１について述べる。次いで、図２を使用して、従来のリモート制御コード中継に関する問題について述べる。しかし、リモート制御中継システム１００は、本発明の例示的な実施形態を実施し、したがって、図２についての以下の説明に関連する問題を解決することができる。
【００１１】
次に図１を参照すると、リモート制御中継システム１００が示されており、ＩＲリモコン１１０によってＩＲチャネル１１５−１を介してリモート制御中継システム１００に送信された電磁気（ＥＭ）リモート制御信号１８０を受け付けている。リモート制御中継システム１００が、ＩＲチャネル１４５−１を介してリモート装置１５０−１にＥＭリモート制御信号１７０を送信しているのも示されている。図１の実施例では、ＥＭリモート制御信号１８０とＥＭリモート制御信号１７０はＩＲリモート制御信号であるが、しかし、これは例示するためのものにすぎない。たとえば、ＥＭリモート制御信号のうちの１つまたは両方が、ＲＦリモート制御信号、または他のいずれかのタイプの適切なリモート制御信号であり得る。リモート制御中継システム１００は、ローカルＩＲユニット１２０とネットワーク１３０とリモートＩＲユニット１４０とを備える。ローカルＩＲユニット１２０とネットワーク１３０はネットワーク・チャネル１２５を介して通信し、ネットワーク１３０はネットワーク・チャネル１３５を介してリモートＩＲユニット１４０と通信する。ＩＲリモコン１１０およびローカルＩＲユニット１２０は、あるユーザに関連するローカル位置１０１に置かれており、リモート装置１５０およびリモートＩＲユニット１４０はリモート位置１０２に置かれている。
【００１２】
ユーザは時々、リモート位置１０２に置かれたリモート装置１５０−１などの装置を有し得る。たとえば、ユーザは、（たとえばローカル位置１０１のような）寝室にいることがあり、リモート装置１５０−１は、中央のメディア位置、または居間などの別の部屋に置かれた音楽プレーヤーであり得る。音楽プレーヤーは、ローカル位置１０１に音楽を提供する。ユーザは、ローカル位置１０１のＩＲリモコン１１０を使用してリモート装置１５０−１を制御することができる。
【００１３】
ユーザは、たとえば、「一時停止」ボタン（図示せず）を押し得る。次いで、ＩＲリモコン１１０は、そのボタンに適した元のリモート制御コード（ｏｒｉｇｉｎａｌ  ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ  ｃｏｄｅ）１１１を決定し、対応するＥＭリモート制御信号１８０をＩＲチャネル１１５−１を介して送信する。元のリモート制御コード１１１は、ヘッダ１０６とデバイス・コード１０７と機能コード１０８とトレイラ１０９とを備える。
【００１４】
上述したように、ヘッダ１０６は、リモート制御コード（ＥＭリモート制御信号１８０など）が送信されていることを装置に警告するために使用される。デバイス・コード１０７は、同じ搬送波周波数を使用している装置を区別するために使用される。機能コード１０８は、装置（この実施例ではリモート装置１５０−１）によってどの機能が実施されるか決定する。トレイラは、リモート制御信号が終了することを装置に警告するために使用される。
【００１５】
元のリモート制御コード１１１は例示的なものにすぎず、他のリモート制御コードが使用され得る。たとえば、製造元によっては、リモート制御コードに誤り訂正符号を追加しまたは、リモート制御コードの繰返し部分を追加しまたは作成する。さらに、リモコン装置の製造元は、元のリモート制御コード１１１を公開している。したがって、元のリモート制御コード１１１は、製造元に問い合わせることによって決定されることができ、また多くの従来型リモート制御システムは、適切なＥＭリモート制御信号１８０または１７０を送信するために、元のリモート制御コード１１１のデータベースを使用する。
【００１６】
元のリモート制御コード１１１は、例示的な説明において以下で述べるように、ＥＭリモート制御信号１８０に変換される。元のリモート制御コード１１１は、バイナリ・データ、１６進数データ、レジスタ値または他の任意のデータであり得る。さらに、ＩＲリモコン１１０は、キー押下に対応する行と列のデータを機能コード１０８に相関させることができる。
【００１７】
ＩＲリモコン１１０は、元のリモート制御コード１１１からＥＭリモート制御信号１８０を生成する。ＥＭリモート制御信号１８０は、元のリモート制御コード１１１のＥＭ信号表現である。たとえば、ＩＲリモコン１１０は、特定の時間の間、ＩＲ送信機（図１に図示せず）をオンにし、元のリモート制御コード１１１の各２進数字について特定の時間の間、ＩＲ送信機をオフにすることによってＥＭリモート制御信号１８０を生成し得る。ＥＭリモート制御信号１８０はこのプロセスを通して生成され、ＥＭリモート制御信号１８０は、ヘッダ１８１とデバイス・コード１８２と機能コード１８３とトレイラ１８４とを備える。ヘッダ１８１は、ヘッダ１０６をＥＭ信号で表現したものである。同様に、デバイス・コード１８２、機能コード１８３およびトレイラ１８４はそれぞれ、デバイス・コード１０７、機能コード１０８およびトレイラ１０９を個々にＥＭ信号で表現したものである。
【００１８】
ＥＭ信号部分１９５は、デバイス・コード１０７の最初の２つの２進数字がデバイス・コード１８２でどのように表現されるかを示しており、またＩＲリモート制御信号についての典型的な規則をも示している。デバイス・コード１０７中のバイナリ「１」１９１は、ＩＲ送信機をオンにする期間１８６およびＩＲ送信機をオフにする期間１８７に変換される。デバイス・コード１０７中のバイナリ「０」１９２は、ＩＲ送信機をオンにする期間１８８およびＩＲ送信機をオフにする期間１８９に変換され、ただし、期間１８６は一般に期間１８８より長い。
【００１９】
ローカルＩＲユニット１２０は、ＥＭリモート制御信号１８０を受信し、それをリモート制御コード１２１に変換する。リモート制御コード１２１は一般に、バイナリ・データであり、ＥＭリモート制御信号１８０を表現したものである。リモート制御コード１２１の格納形式とＩＲリモコン１１０内のリモート制御コード１１１の格納形式は、同じでないことがあることに留意されたい。ローカルＩＲユニット１２０は、（たとえば期間１８６および１８８の）ＩＲ送信機が動作する搬送波周波数を決定する。ローカルＩＲユニット１２０がそれぞれ異なる搬送波周波数範囲を受信し得るように、ローカルＩＲユニット１２０の複数の部分が存在し得ることに留意されたい。搬送波周波数情報はパケット内に置かれ、このパケットの一部は、周波数情報１９６とデバイス・コード１９７と機能コード１９８とを備えるパケット部分１９５として示されている。デバイス・コード１９７および機能コード１９８はリモート制御コード１２１の部分であるが、所望であればこの部分は、リモート制御コード１２１全体とすることもできる。
【００２０】
例示的な実施形態では、周波数情報１９６は、（たとえば期間１８６および１８８の）ＥＭリモート制御信号１８０の搬送波周波数のバイナリ表現であり、デバイス・コード１９７はデバイス・コード１８２のバイナリ表現であり、機能コード１９８は機能コード１８３のバイナリ表現である。図１の実施例では、デバイス・コード１９７および機能コード１９８はリモート制御コード１２１の一部を定義し得るが、周波数情報１９６がリモート制御コード１２１間の区別のために使用され得る。別の実施形態では、リモート制御コード１２１を定義するために、周波数情報１９６も使用される。図１の実施例では、ヘッダ１８１およびトレイラ１８４に対応するリモート制御コード１２１内の情報は、パケット部分１９５内で使用されない。しかし、所望であれば、ヘッダ１８１およびトレイラ１８４に対応するリモート制御コード１２１内の情報は、パケット部分１９５内で使用されることができる。
【００２１】
ＥＭリモート制御信号１８０をリモート制御コード１２１に変換する際にはいくらかの量の誤りが一般に存在するので、デバイス・コード１９７および機能コード１９８は一般に、デバイス・コード１０７および機能コード１０８の厳密な表現ではない。しかし、いくらかの誤りは、ほとんどのＩＲシステムにおいて問題とならない。
【００２２】
パケット部分１９５は、ネットワーク１３０を介してリモートＩＲユニット１４０に送信される。ネットワーク１３０は、一般には無線ネットワークであるが、有線ネットワーク、または有線と無線ネットワークの組合せとすることもできる。リモートＩＲユニット１４０は、パケット部分１９５を使用し、リモート制御コード１４１を作成し、またリモート制御コード１４１から、ヘッダ１７１とデバイス・コード１７２と機能コード１７３とトレイラ１７４とを備えるＥＭリモート制御信号１７０を作成する。デバイス・コード１７２はデバイス・コード１９７のＥＭ信号表現であり、機能コード１７３は機能コード１９８のＥＭ信号表現である、この例示的な実施形態では、リモートＩＲユニット１４０はリモート制御コード１４１内の適切なヘッダおよびトレイラ情報（図示せず）を決定するために周波数情報１９６、デバイス・コード１９７および機能コード１９８を使用し、ヘッダおよびトレイラ情報は、ＥＭリモート制御信号１７０のヘッダ１７１およびトレイラ１７４部分に変換される。一般に、リモートＩＲユニット１４０のＩＲ送信機などのある部分が、すべての搬送波周波数を生成するために使用される。リモート装置１５０−１は、ＥＭリモート制御信号１７０を受信し、機能コード１８３に対応する機能を実施する。
【００２３】
したがって、ローカル位置１０１内のユーザは、ＩＲリモコン１１０を使用して、リモート位置１０２内のリモート装置１５０−１を制御することができる。これによって、ユーザが、たとえば音楽を開始、一時停止および停止し、または異なる音楽またはタイトルを選択することが可能となる。
【００２４】
しかし、図２に示すようにユーザが別のリモコン装置１６０を使用してローカル装置１６５を制御する場合、問題が生じる。リモート制御コード１６１は、ＩＲリモコン１６０によってＥＭリモート制御信号１８０−１に変換され、ＩＲチャネル１１５−２を介してローカルＩＲユニット１２０に通信される。ローカルＩＲユニット１２０は、リモート制御信号１８０−１に対応するパケット部分１９５−１を作成し、ネットワーク１３０を介してリモートＩＲユニット１４０にパケット部分１９５−１を通信する。次いで、リモートＩＲユニット１４０はＥＭリモート制御信号１７０−１を作成し、このＥＭリモート制御信号はＩＲチャネル１４５−１と１４５−２の両方を介して通信される。１つのＥＭリモート制御信号１７０−１が、リモート装置１５０−１と１５０−２の両方によって受信される。リモート装置１５０−１はリモート制御信号１７０−１を無視するが、ローカル装置１６５に類似のまたはそれと同じリモート装置１５０−２はリモート制御信号１７０−１を解釈し、意図されておらず、望まれていない対応する機能を実施する。
【００２５】
したがって、ローカル位置１０１のユーザは、機能を実施するリモート装置１５０−２の意図されていない動作を引き起こしている。同様に、リモート位置１０２のユーザがＩＲリモコン１５５を使用する場合、ＩＲリモコン１５５からのＥＭリモート制御信号（図示せず）は、（たとえば、ネットワーク１３０を介して送信されるパケット部分に変換されることにより、およびパケットを別のＥＭリモート制御信号に変換させることにより）ローカル装置１６５に送信され得る。したがって、リモート制御コードの中継によって引き起こされる意図されていない機能が最小限に抑えられまたは取り除かれるように、リモート制御コードをフィルタリングすることが求められている。
【００２６】
本発明は、特定のリモート制御コードがリモート装置１５０−２（またはローカル装置１６５など）に届かないようにリモート制御コードをフィルタリングするための技術を提供する。例示的な一実施形態では、ローカルＩＲユニット１２０は、ＥＭリモート制御信号１８０を、受信されたリモート制御コード１２１に変換し、リモート制御コード１２１の一部またはすべてを格納されたリモート制御コード（図１には示されていないが、図４に示されている）と比較し得る。受信リモート制御コード１２１を格納リモート制御コードと比較することによって、受信リモート制御コード１２１がどのようにフィルタリングされるべきか決定される。
【００２７】
例示的な一実施形態では、フィルタリングは、「通過」フィルタリングの働きをし、受信されたリモート制御コード１２１と格納されたリモート制御コードの部分間に一致がある場合は、受信リモート制御コード１２１は、受信リモート制御コード１２１に対応するパケット部分１９５をネットワーク・チャネル１２５およびネットワーク１３０に出力することによってフィルタリングされる。したがって、格納されたリモート制御コードは、どのリモート制御コードがネットワーク１３０に出力されるかを定義している。受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がない場合は、受信リモート制御コードは、受信リモート制御コードを廃棄することによってフィルタリングされる。受信リモート制御コードは、たとえば削除されまたは格納される。
【００２８】
別の例示的な実施形態では、フィルタリングは、「拒否」フィルタリングの働きをする。受信されたリモート制御コード１２１と格納されたリモート制御コードの部分間に一致がある場合は、受信リモート制御コード１２１は廃棄される。したがって、格納されたリモート制御コードは、どれが拒否され廃棄されるかを定義している。受信リモート制御コードは、たとえば削除されまたは格納される。その逆に、受信されたリモート制御コード１２１と格納されたリモート制御コードの部分間に一致がない場合は、受信リモート制御コード１２１は、受信リモート制御コードに対応するパケット部分１９５をネットワーク・チャネル１２５およびネットワーク１３０に出力することによってフィルタリングされる。
【００２９】
所望であれば、２組の格納されたリモート制御コードが使用されることができ、ただし、１組はネットワーク１３０に出力されるべきリモート制御コードを定義し、もう１つの組は廃棄されるべきリモート制御コードを定義する。いずれの組にも存在しないリモート制御コードは、ネットワーク１３０に出力され、または廃棄され得る。さらに、システム１００は、学習モードに入り、いずれの組にも存在しないリモート制御コードが出力されるべきか、それとも廃棄されるべきかをユーザに決定させる。
【００３０】
リモートＩＲユニット１４０は、パケット部分１９５−１を使用してリモート制御コードを受信し、リモート制御コードのフィルタリングを実施し得ることに留意されたい。この例示的な実施形態では、ローカルＩＲユニット１２０はすべてのリモート制御コードをネットワーク１３０に渡し、リモートＩＲユニット１４０はそのリモート制御コードのフィルタリングを実施する。さらに、フィルタリングは、装置上で機能を実施しないリモート制御コードを出力することを含み得る。たとえば、６４個の使用可能な機能コード１０８があるが、４８個の機能だけが、装置によって実施される実際の機能に関連し得る。したがって、１６個の機能「無効」の機能コードのうちの１つが、有効な機能コード１０８に取って代わるために使用され得る。しかし、これらのリモート制御コードは時々、リモコン装置上のボタンに割り当てられていないが、依然として機能を実施する。
【００３１】
さらに、リモート制御コード１１１（または１２１または１４１など）の全体が、フィルタリング時に使用され得る。あるいは、リモート制御コード１１１の一部がフィルタリング時に使用され得る。具体的には、デバイス・コード１０７が、ある装置に対応するすべてのリモート制御コードをフィルタリングするために使用され得る。別の例示的な実施形態では、デバイス・コード１０７および機能コード１０８が、特定のリモート制御コードに対応する特定の機能だけをフィルタリングするために使用され得る。さらに、周波数情報１９６も、（たとえばリモート制御コードと共に、またはその一部として）フィルタリング時に使用され得る。さらに、１つのデバイス・コード１０７が同じ装置の複数のバージョンに対して働くことがあり、また「デバイス・コード」は、ある装置用のリモート制御コードを別の装置用のリモート制御コードと区別し得る任意の情報である。ＩＲリモート制御コードは、デバイス・コードとして使用される「アドレス」コードを有することに留意されたい。一方、他のＩＲリモート制御コードは、デバイス・コードとアドレス・コードの両方を有する。たとえば、衛星受信機は一般に、同じデバイス・コードを使用するが、複数の衛星受信機が同じ部屋で使用され得るように、それぞれ異なるアドレス・コードを許容する。デバイス・コードとアドレス・コードの両方の実施例において、アドレス・コードは、リモート制御コードのフィルタリングに使用されるリモート制御コードの別の部分とすることができ、あるいはアドレス・コードとデバイス・コードは１つの大きいデバイス・コードとして組み合わされ得る。
【００３２】
本明細書では、「リモート制御コード」は、リモート制御コード１１１（または１２１または１４１など）の全体であることも、リモート制御コード１１１の一部であることもある。たとえば、「リモート制御コード」は、リモート制御コードのフィルタリングに使用されるリモート制御コード１１１と同じだけを備える。したがって、上述したように、デバイス・コード１０７は、例示的な一実装では、「リモート制御コード」であり得る。
【００３３】
次に図３に移ると、第２のリモート制御コード中継システム３００が示されており、リモート制御信号３０１を受信し、リモート制御信号３７６を送信している。リモート制御信号３０１および３７６は、元のリモート制御コード（たとえば図１の元のリモート制御コード１１１など）に対応する。リモート制御信号３０１および３７６は一般に、ＩＲリモート制御信号である。しかし、ＥＭ波を使用した任意のＲＦまたは他のリモート制御信号が使用され得る。説明のため、本明細書ではＩＲリモート制御信号について述べる。
【００３４】
リモート制御中継システム３００は、ローカルＩＲユニット１２０と無線ネットワーク３４５とリモートＩＲユニット１４０とを備える。無線ネットワーク３４５が示されているが、有線、または有線と無線ネットワークの組合せが使用され得る。ローカルＩＲユニット１２０は、ＩＲ受信機３０５と、ハードウェア・インターフェース／先入れ先出し（ＦＩＦＯ：Ｆｉｓｔ−Ｉｎ，Ｆｉｒｓｔ  Ｏｕｔ）３１０と、装置ドライバ３２０と、アプリケーション３３０と、ネットワーク・インターフェース３３５とを備える。リモートＩＲユニット１４０は、ＩＲ送信機３７５と、ハードウェア・インターフェース３７０と、装置ドライバ３６５と、アプリケーション３６０と、ネットワーク・インターフェース３３５とを備える。ＩＲ受信機３０５およびＩＲ送信機３７５は一般に、回路基板の外部にある。しかし、それらは、所望であれば回路基板に組み込まれ得る。
【００３５】
受信機ハードウェア・インターフェース／先入れ先出し（ＦＩＦＯ）３１０およびネットワーク・インターフェース３３５は一般に回路基板上のコンポーネントであるが、装置ドライバ３２０およびアプリケーション３３０は回路基板上のメモリ（図４参照）内に常駐する。同様に、ハードウェア・インターフェース３７０およびネットワーク・インターフェース３５５は一般に回路基板上に常駐するが、装置ドライバ３６５およびアプリケーション３６０は回路基板上のメモリ（図４参照）内に常駐する。受信機ハードウェア・インターフェース／先入れ先出し（ＦＩＦＯ）３１０およびハードウェア・インターフェース３７０は、たとえばフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）ビット・ファイルによって実装され得る。さらに、ハードウェア・インターフェース３７０は、集積回路の一部として実装され得る。装置ドライバ３２０、３６５およびネットワーク・インターフェース３３５、３５５は一般に、低レベルのシステム・インターフェースである。ネットワーク・インターフェース３３５、３５５は、低レベルおよびシステムレベルのコンポーネントを有し得ることに留意されたい。アプリケーション３３０、３６０は一般に、システム・レベル・インターフェースである。
【００３６】
元のリモート制御コード（たとえば図１の元のリモート制御コード１１１など）に対応するリモート制御信号３０１はＩＲ受信機３０５によって間隔数３０７として変換され、次いでこの間隔数３０７は、２進数字３１５を生成する受信機ハードウェア・インターフェース／ＦＩＦＯ３１０によってカウントされる。例示的なＩＲ受信機および受信機ハードウェア・インターフェース／ＦＩＦＯ３１０は、図７を参照してより詳細に示されている。さらに、間隔３０７は、図８を参照してより詳細に示されている。装置ドライバ３２０は、アプリケーション３３０と受信機ハードウェア・インターフェース／ＦＩＦＯ３１０の間のソフトウェア・インターフェースである。装置ドライバ３２０は、２進数字３１５を、受信されたリモート制御コード・データ３２５へとパッケージ化する。
【００３７】
アプリケーション３３０は図４に示された部分を含み、この部分は、受信リモート制御コード・データ３２５（またはその一部など）を検査し、また受信リモート制御コード３２５を格納されたリモート制御コード（図４参照）と比較することによってリモート制御コード・データ３２５をフィルタリングする。受信されたリモート制御コード３２５がフィルタリングの一部として出力されるべきである場合は、リモート制御コード３２５またはその一部は接続３３１を介してネットワーク・インターフェース３３５に出力され、ネットワーク・インターフェース３３５は、この実施例では無線パケット３３６を作成する。無線パケット３３６は、無線チャネル３４０、無線ネットワーク３４５、および無線チャネル３５０を介して送信される。受信されたリモート制御コード３２５は、フィルタリングの一部として出力されるべきでない場合は、たとえば削除されまたは格納され得る。
【００３８】
リモートＩＲユニット１４０で受信される無線パケット３３６は、リモート制御コード３５６（またはその一部など）を作成するネットワーク・インターフェース３５５によって受信される。アプリケーション３６０は一般に、リモート制御コード３５６のすべてまたは一部からリモート制御コード・データ３６１を作成する。リモート制御コード・データ３６１は、上記で示したように、ヘッダとデバイス・コードと機能コードとトレイラとを備え得る。次いで、装置ドライバ３６５は、リモート制御コード・データ３６１を２進数字３６６として出力する。ハードウェア・インターフェース３７０の実装に応じて、装置ドライバ３６５は、リモート制御コード・データ３６１全体を一度に、またはリモート制御コード・データ３６１の一部を複数サイクルに渡って出力し得る。次いで、ＩＲ送信機３７５は、ＥＭリモート制御信号３７６を作成する。
【００３９】
アプリケーション３６０もまた、リモート制御コードのフィルタリングを実施することができる。この例示的な実施形態では、アプリケーション３３０はすべてのリモート制御コード３２５を送信し、アプリケーション３６０はリモート制御コード３５６（またはその一部など）を受信し、受信されたリモート制御コード（またはその一部など）をフィルタリングする。
【００４０】
次に図４に移ると、本発明の例示的な実施形態の実施に使用するのに適した例示的なコンピュータ・システム４００が示されている。コンピュータ・システム４００は、プロセッサ４１０とネットワーク・インターフェース４１５とハードウェア・インターフェース４２０とメモリ４３０とを備える。プロセッサ４１０、ネットワーク・インターフェース４１５およびメモリ４３０は、バス４２５によって結合される。プロセッサ４１０、ネットワーク・インターフェース４１５、メモリ４３０およびバス４２５はそれぞれ１つしか示されていないが、複数のプロセッサ４１０、ネットワーク・インターフェース４１５、メモリ４３０およびバス４２５が存在し得る。メモリ４３０は、アプリケーション４３５と装置ドライバ４４５とフィルタリング・データベース４５０と製造元リモート制御コード・データベース４９０とを備える。アプリケーション４３５は、リモート制御コード・フィルタリング・モジュール４４０を備える。フィルタリング・データベースは、３つのリモート制御コード・エントリ４５５−１、４５５−２および４５５−３を備える。リモート制御コード・エントリ４５５−１は、ＩＲ周波数情報４６１とデバイス・コード４６２とを備える。リモート制御コード・エントリ４５５−２は、ＩＲ周波数情報４６６とデバイス・コード４６７と機能コード４６８とを備える。リモート制御コード・エントリ４５５−３は、ＩＲ周波数情報４７１とデバイス・コード４７２と機能コード４７３とを備える。
【００４１】
アプリケーション４３５は、図３のアプリケーション３３０またはアプリケーション３６０であり得る。以下の実施例では、リモート制御コード・フィルタリング・モジュール４４０は、リモート制御コード・フィルタリング・モジュール４４０がネットワーク・インターフェース４１５からまたはＩＲハードウェア・インターフェース４２０から受信されたリモート制御コードをフィルタリングする、「デュプレックス」モードで動作する。たとえば、リモート制御コードは、リモート制御コード・フィルタリング・モジュール４４０によってネットワーク・インターフェース４１５から受信され得る。リモート制御コード・フィルタリング・モジュール４４０は、リモート制御コードをフィルタリングし、リモート制御コードの廃棄、またはＩＲ送信機（図４に示されていない）に結合されたＩＲハードウェア・インターフェース４２０へのリモート制御コードの出力を行う。別の実施例として、リモート制御コードは、リモート制御コード・フィルタリング・モジュール４４０によってＩＲハードウェア・インターフェース４２０から受信され得る。この実施例では、リモート制御コード・フィルタリング・モジュール４４０は、リモート制御コードをフィルタリングし、リモート制御コードの廃棄またはネットワーク・インターフェース４１５へのリモート制御コードの出力を行う。
【００４２】
フィルタリング・データベース４５０は、格納されたリモート制御コードを備えるリモート制御コード・エントリ４５５を備える。図４の実施例では、格納リモート制御コードはリモート制御コードの複数の部分であり、それぞれの部分がデバイス・コード、またはデバイス・コードと機能コードを備える。さらに、ＩＲ周波数情報は、リモート制御コードを定義するために使用され、また所望であればリモート制御コードをフィルタリングするために使用され得る。以下の説明では、ＩＲ周波数情報は、リモート制御コードのフィルタリングのために使用される。リモート制御コード・フィルタリング・モジュール４４０は、ＩＲ周波数情報４６１に対応しており、またデバイス・コード４６２に一致しているリモート制御コードをフィルタリングする。したがって、特定の装置からのすべてのリモート制御コードがフィルタリングを受ける。リモート制御コード・フィルタリング・モジュール４４０は、ＩＲ周波数情報４６６に対応しており、またデバイス・コード４６７および機能コード４６８に一致しているリモート制御コードをフィルタリングする。同様に、リモート制御コード・フィルタリング・モジュール４４０は、ＩＲ周波数情報４７１に対応しており、またデバイス・コード４７２および機能コード４７３に一致しているリモート制御コードをフィルタリングする。
【００４３】
図４には示されていないが、フィルタリング・データベース４５０は、追加の情報を備え得る。たとえば、図１および２を参照して上記で述べたヘッダおよびトレイラ情報は、フィルタリング・データベース４５０内に格納され得る。さらに、一部の装置は、装置および機能コードに加えてアドレス・コードを使用し、したがってアドレス・コードがフィルタリング・データベース４５０内に格納され得る。あるいは、アドレス・コードは、デバイス・コードと統合され得る。また一部のリモコン装置は誤り訂正符号を送信し、したがって誤り訂正符号がフィルタリング・データベース４５０内に格納され、またはリモート制御コード・フィルタリング・モジュール４４０によって決定され得る。繰返しシーケンスが使用される場合、繰返しシーケンスが使用されるという事実が、フィルタリング・データベース４５０内に格納され得る。
【００４４】
図５を参照して上記で述べたように、リモート制御コード・エントリ４５５が学習されることができ、または製造元リモート制御コード・データベース４９０から選択されることができる。ユーザは、フィルタリングのため、特定の機能（リモート制御コード・エントリ４５５−２および４５５−３に対応する機能など）に対応する特定のリモート制御コード、あるいは装置全体（リモート制御コード・エントリ４５５−１に関連して示したものなど）に対応するリモート制御コードを選択することができる。ユーザは一般に、ボタンに対応するリモート制御コード、または特定の装置に対応するリモート制御コードをフィルタリングするために、製造元リモート制御コード・データベース４９０から、装置の特定のボタン、または特定の装置を選択する。
【００４５】
フィルタリング・データベース４５０は、複数のセクションに分割され得ることに留意されたい。たとえば、あるセクションは、「通過」フィルタリング用のリモート制御コードを収容することができ、別のフィルタリング・データベースは「拒否」フィルタリング用のリモート制御コードを収容することができる。
【００４６】
当技術分野において知られているように、リモート制御コード・フィルタリング・モジュール４４０の一部は、プロセッサ４１０に転送され、本明細書で述べる諸実施形態のうちの１つまたは複数の一部を実施するために実行される。さらに、リモート制御コード・フィルタリング・モジュール４４０の一部またはすべては、実行されたときに本明細書で述べる諸実施形態のうちの１つまたは複数を実施する、メモリ４３０内での使用に適した１つまたは複数のプログラムを備えたプログラム製品として実装され得る。さらに、コンピュータ・システム４００の一部またはすべては、集積回路として実装され得る。具体的には、リモート制御コード・フィルタリング・モジュール４４０およびフィルタリング・データベース４５０は、集積回路として実装され得る。
【００４７】
次に図５を参照すると、フィルタリング対象のリモート制御コードを学習し格納するための例示的な方法５００が示されている。方法５００は一般に、リモート制御コード・フィルタリング・モジュール４４０（図４参照）によって実施される。方法５００は、ユーザにリモコン装置上のボタンを押下させ、学習されたリモート制御コードの一部またはすべてを決定し格納することによって、フィルタリング対象のリモート制御コードを学習するために使用される。
【００４８】
方法５００は、学習モードに入るときに開始する。学習モードは、受信されるリモート制御コードが学習プロセス中にフィルタリングされずに、学習されるべきであることを示す。工程５１５で、ユーザは、リモコン装置上のボタンを押下する。工程５２０で、リモコン装置が使用するＩＲ搬送波周波数に対応する周波数情報が決定される。たとえば、ＩＲ搬送波周波数は７８キロヘルツ（ｋＨｚ）であることがあり、周波数情報は、７８ｋＨｚの周波数を表す２進数字であり得る。ＲＦ周波数情報が同様に決定され得る。
【００４９】
工程５２５で、デバイス・コードが決定される。装置に対応するすべてのリモート制御コードがフィルタリングされる場合は（工程５３０＝いいえ）、工程５４０で、そのデバイス・コードがリモート制御コードの一部として格納される。機能コードがフィルタリングに使用される場合は（工程５３０＝はい）、工程５３５で機能コードが決定され、その機能コードがリモート制御コードの一部としてデバイス・コードと共に格納される。これは、工程５４０で行われる。方法５００は、工程５４５で終了する。
【００５０】
工程５１５から５４０は、リモコン装置のそれぞれ異なる機能に対応する新しいリモート制御コードを学習するために実施され得ることに留意されたい。さらに、工程５１５から５２５は、デバイス・コードが正確に決定されることを確実にするために、（リモコン装置上の同じまたはそれぞれ異なるボタンがユーザによって押下された状態で）複数回実施され得る。したがって、その後に続くボタンは、ボタンによって引き起こされる後続のデータ・ストリームの同一のある部分または複数の部分を識別することによって装置（またはアドレス・コードなど）を決定するために押下され得る。
【００５１】
さらに、図５は、製造元リモート制御コード・データベースで使用するように修正されることができる。工程５１５で、ユーザは、リモコン装置上のボタンを押下するのではなく装置を、また任意選択で（たとえば機能コードに対応する）リモート制御ボタンを選択することができる。工程５２０、５２５および５３５によって、製造元リモート制御コード・データベースからの情報が決定される。
【００５２】
次に図６を参照すると、リモート制御コードをフィルタリングするための例示的な方法６００が示されている。方法６００は一般に、リモート制御コード・フィルタリング・モジュール４４０（図４参照）によって実施され、望まれないリモート制御コードがリモート装置によって受信されないようフィルタリングするために使用される。
【００５３】
方法６００は工程６１０で開始し、リモート制御コードまたはその一部が、たとえばネットワーク・インターフェースまたはＩＲインターフェースを介して受信される。工程６２０で、リモート制御コードを移送するために使用されるＥＭリモート制御信号の搬送波周波数に対応する周波数情報が決定される。ＩＲインターフェースに関しては、搬送波周波数が決定され、リモート制御コード・フィルタリング・モジュール４４０（図４参照）に通信され得る。ネットワーク・インターフェースからのリモート制御コードの受信に関しては、周波数情報は一般に、受信リモート制御コードに加えて、またはその一部として受信される。工程６３０で、受信リモート制御コードのデバイス・コードが決定される。工程６４０で、受信リモート制御コードの機能コードが決定される。
【００５４】
工程６５０で、リモート制御コードがフィルタリングされる。フィルタリングに適した様々な技術がある。上述したように、フィルタリングは、通過フィルタリングの働きをし得る。受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がある場合は、受信リモート制御コードは、受信リモート制御コードに対応するパケット部分をネットワーク・インターフェースあるいはハードウェア・インターフェースなどに出力することによって（工程６５２）フィルタリングされる。したがって、格納されたリモート制御コードは、どのリモート制御コードが出力されるかを定義している。受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がない場合は、受信リモート制御コードは、受信されたリモート制御コードを廃棄することによって（工程６５１）フィルタリングされる。受信リモート制御コードは、たとえば削除されまたは格納される。
【００５５】
別の例示的な実施形態では、フィルタリングは、拒否フィルタリングの働きをし得る。受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がある場合は、受信リモート制御コードは、受信リモート制御コードを廃棄することによって（工程６５１）フィルタリングされる。したがって、格納されたリモート制御コードは、どれが拒否され廃棄されるかを定義している。受信リモート制御コードは、たとえば削除されまたは格納される。その逆に、受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がない場合は、受信リモート制御コードは、受信リモート制御コードを出力することによって（工程６５２）フィルタリングされる。
【００５６】
これらの技術は組み合わされ得る。たとえば、２組の格納されたリモート制御コードが使用されることができ、ただし、１組は出力されるべきリモート制御コードを定義し、もう１つの組は出力されるべきでないリモート制御コードを定義する。いずれの組にも存在しないリモート制御コードは、システムがどのように実装されるかに応じて出力されまたは廃棄され得る。あるいは、いずれの組にも存在しないリモート制御コードによりシステムは、新しいリモート制御コードが学習されることができ、また新しいリモート制御コードについてフィルタリング・オプション（出力または廃棄など）が入力され得るように、図５の学習方法５００に入ることになり得る（工程６５３）。
【００５７】
工程６５０は、２つの異なる周波数についてリモート制御コードが同じである場合のため、周波数情報をも使用し得ることに留意されたい。さらに、ヘッダ、トレイラ、アドレスなどの追加のリモート制御コード情報が使用され得る。工程６６０で、方法６００は終了する。さらに、（たとえば）デバイス・コードだけがリモート制御コードのフィルタリングのために使用されている場合、工程６２０および６５０は実施され得ない。
【００５８】
次に図７を参照すると、本発明の例示的な一実施形態によるＩＲ受信機７１０およびハードウェア・インターフェース７３０が示されている。ハードウェア・インターフェース７３０は、ＦＩＦＯ７２０に結合された間隔カウンタ７１５を備える。ＦＩＦＯはあるタイプのバッファであり、他のバッファも使用され得る。図７の回路は、通常ＡＲＭと称される拡張縮小命令セットコンピュータ（ＲＩＳＣ：Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ）マイクロプロセッサで使用され得る。ハードウェア・インターフェース７３０は、それぞれがＡＲＭ（図７に図示せず）に結合されているＡＲＭバス７３１および割込み線７３２に結合される。他のタイプのプロセッサも使用され得る。
【００５９】
本発明の例示的な一実施形態では、ＩＲ受信機７１０用に標準のＩＲ検出装置を使用することが可能である。こうした標準のＩＲ検出装置は、ＩＲ検出ダイオード増幅器、自動利得制御（ＡＧＣ：Ａｕｔｏｍａｔｉｃ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）および制御パルス・フィルタリングを含む。標準のＩＲ検出装置は、特定の帯域幅のＩＲリモート制御信号が受信され得るようにＩＲ搬送波周波数を変調することに依存した中心周波数を有する。より大きい範囲のＩＲ制御装置を受信することができるように、複数のＩＲ検出器が、制御側プロセッサ（たとえばＡＲＭなど）のそれぞれ異なる入力ピンに接続されて並列に置かれ得る。
【００６０】
ＩＲ検出受信機７１０は、ＩＲパルス・シーケンス（図７に図示せず）を検出する。複数のＩＲ受信機７１０が並列に使用される場合、ＡＲＭは、どのピンにＩＲ信号が到達するか認識し、搬送波周波数の再変調がどうであるべきかをこのようにして決定する。次いで、搬送波周波数が決定され、周波数情報として格納され得る。
【００６１】
より具体的な例として、Ｍａｌｖｅｒｎ、ＰＡ  １９３５５−２１２０のＶｉｓｈａｙ  Ｉｎｔｅｒｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．社からのＴＳＯＰ１２３８が、ＩＲ受信機７１０として使用され得る。ＩＲ受信機７１０は、３８ｋＨｚに同調され、（その周波数制限内で）以下のコードを復号することができる：Ｓｏｎｙ  ＳＩＲＣ、ＳｈａｒｐおよびＮＥＣコード、Ｔｏｓｈｉｂａ  Ｍｉｃｏｍ形式、ＲＣ５およびＲＣ６コード、ＲＣＭＭコード、Ｒ−２０００コード、ＲＥＣＳ−８０コード他。ＩＲ受信機７１０は一般に、検出された各ＩＲイベントについて割込み７１１を生成する。それぞれのＩＲイベントのためにＡＲＭプロセッサを混乱させないために、ハードウェア・インターフェース７３０によって提供されるような適切なバッファリングが使用され得る。例示的な一実施形態では、割込み線７１１上の各割込みによって、２つのことが発生することになる。
（１）現在のカウント値がＦＩＦＯ７２０にロードされる。
（２）間隔カウンタ７１５がクリアされ、新しいカウントが開始される。
【００６２】
波形を完全を再現するために、図７のＩＲ受信機７１０の例示的な出力のグラフである図８に示すように、ＩＲ送信に関連するすべての間隔が累積される。この実施例では、間隔２および間隔２は「１」が送信されたことを示しており、間隔４および間隔５は「０」が送信されたことを示している。
【００６３】
完全なＩＲ送信（「パケット」と呼ばれる）が受信されると、ＡＲＭが割り込まれ得る。完全なパケットは、以下が存在する場合には受信されていると見なされ得る。
（１）パケット開始前のオーバーフロー・カウント値
（２）ＦＩＦＯ内に少なくともＮ個の文字（カウント値など）が受信した、または
（３）最後の文字の後にカウンタ・オーバーフロー値が発生する
【００６４】
ＡＲＭが割り込まれると、専用の装置ドライバ（図３参照）が、ＦＩＦＯからＩＲパケットを取得し、それを処理し、ノイズ関連の間隔などの不要な部分を除去し、有効なＩＲパケットがフィルタリングされる準備が整っていることをアプリケーションに知らせる。
【００６５】
次に図９に移ると、本発明の例示的な一実施形態による、互いに結合されたハードウェア・インターフェース９８０とＩＲ送信機９９０が示されている。ハードウェア・インターフェース９８０は、送信バッファ９１０と間隔生成器９２０と搬送波生成器９３０と乗算器９４０とを備える。送信バッファ９１０は、ＡＲＭバス９０１を備える。ＩＲ送信機９９０は、レジスタ９５０とトランジスタ９７０とＩＲ発光ダイオード（ＬＥＤ：Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）９６０とを備える。
【００６６】
リモート制御コード・データを含むパケットの送信準備が整うときにアプリケーションは、ＩＲ装置ドライバ（図３の装置ドライバ３６５など）を呼び出し、ＩＲ装置ドライバにリモート制御コード・データを送信するよう指示すべきである。次いで、ＩＲ装置ドライバは、リモート制御コード・データを送信バッファ９１０にロードし、以下の段落で述べるように例示的な自動ＩＲ送信プロセスをトリガする。
【００６７】
送信バッファ９１０は、ロードされ設定されると、間隔生成器９２０に間隔をロードし始める。間隔生成器９２０の出力は、リモート制御コードに対応するＩＲリモート制御信号の包絡線に一致する矩形の波形である。次いで、包絡線に、乗算器９４０によって、（搬送波生器９３０からの）搬送波を掛ける。これによって矩形の波形９４１がもたらされ、この波形は、バイポーラ接合トランジスタ９７０およびＩＲ  ＬＥＤ９６０を使用して送信される。
【００６８】
上述の諸実施形態は例示的なものにすぎず、他の実施形態も可能である。たとえば、リモート制御コード・フィルタリングは、複数のリモート位置を含むように拡張され得る。一部のリモート制御コードは、特定のリモート位置にだけ送信され得る。したがって、２つのリモート位置が存在することがあり、特定のリモート制御コードが２つのリモート位置のうちの１つには送信されるが、２つのリモート位置のうちのもう一方には送信され得ない。たとえばインターネット・プロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスが、リモート位置を定義するために使用され得る。
【００６９】
本明細書で示し述べた諸実施形態および変形形態は本発明の原理を例示するものにすぎず、本発明の範囲および精神から逸脱せずに、当業者によって様々な修正が実施され得ることを理解されたい。
【図面の簡単な説明】
【００７０】
【図１】例示的なリモート制御コード中継システム１００、リモコン、装置およびそのインターフェースのブロック図である。
【図２】例示的なリモート制御コード中継システム１００、リモコン、装置およびそのインターフェースのブロック図である。
【図３】リモート制御信号を送受信する第２のリモート制御コード中継システムのブロック図である。
【図４】本発明の例示的な一実施形態の実施に使用するのに適した例示的なコンピュータ・システムの一例を示す図である。
【図５】フィルタリングされるリモート制御コードを学習し格納するための例示的な方法のフローチャートである。
【図６】リモート制御コードをフィルタリングするための例示的な方法のフローチャートである。
【図７】本発明の例示的な一実施形態による、ＩＲ受信機およびハードウェア・インターフェースのブロック図である。
【図８】図７のＩＲ受信機の例示的な出力のグラフである。
【図９】本発明の例示的な一実施形態による、例示的なハードウェア・インターフェースおよびＩＲ送信機のブロック図である。
【図１】
2008503982.tif 000003
【図２】
2008503982.tif 000004
【図３】
2008503982.tif 000005
【図４】
2008503982.tif 000006
【図５】
2008503982.tif 000007
【図６】
2008503982.tif 000008
【図７】
2008503982.tif 000009
【図８】
2008503982.tif 000010
【図９】
2008503982.tif 000011
【手続補正書】
【提出日】平成19年7月23日(2007.7.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リモート制御コード中継システム（３００）内でリモート制御コード（１１１、１７０）をフィルタリングするための方法であって、
リモート制御コード（１０６−１０９、１７１−１７４）を受信する工程と、
前記受信されたリモート制御コードの一部を格納された１つまたは複数のリモート制御コード（４５５−１、４５５−２、４５５−３）のうちの所与の１つの対応する一部と比較する工程と、
前記比較及び周波数情報に基づいて前記受信されたリモート制御コードをフィルタリングする工程とを特徴とする方法。
【請求項２】
前記比較する工程および前記フィルタリングする工程が、前記格納された１つまたは複数のリモート制御コードのそれぞれについて、または前記受信されたリモート制御コードの前記一部と格納されたリモート制御コードの対応する一部との間に一致があるまで実施される請求項１に記載の方法。
【請求項３】
前記受信された前記リモート制御コードが、電磁気（ＥＭ）リモート制御信号（１１５−１、１４５−１）の少なくとも一部に対応する請求項１に記載の方法。
【請求項４】
電磁気（ＥＭ）リモート制御信号を受信する工程と、
前記受信されたＥＭリモート制御信号の少なくとも一部を前記受信されたリモート制御コードに変換する工程（３０５、３１０）とをさらに備える請求項１に記載の方法。
【請求項５】
前記受信されたリモート制御コードの一部を比較する工程が、前記受信されたリモート制御コードの前記一部を前記格納された所与のリモート制御コードの対応する一部に一致させる工程を備え、
前記フィルタリングする工程が、前記受信されたリモート制御コードの前記一部が前記格納された所与のリモート制御コードの前記対応する一部に一致する場合は、前記受信されたリモート制御コードを出力する工程をさらに備える請求項１に記載の方法。
【請求項６】
前記受信されたリモート制御コードがデバイス・コード（１０７、１８２）を備える請求項１に記載の方法。
【請求項７】
新しいリモート制御コードを受信する工程と、
前記新しいリモート制御コードを前記格納された１つまたは複数のリモート制御コードと共に格納する工程とをさらに備える請求項１に記載の方法。
【請求項８】
リモート制御コード中継システム内でリモート制御コードをフィルタリングするための集積回路であって、
リモート制御コードを受信し、
前記受信されたリモート制御コードの一部を格納された１つまたは複数のリモート制御コードのうちの所与の１つの対応する一部と比較し、
前記比較及び周波数情報に基づいて前記受信されたリモート制御コードをフィルタリングするように構成されたフィルタリング・モジュールを備えることを特徴とする集積回路。
【請求項９】
リモート制御コード中継システム内でリモート制御コードをフィルタリングするための装置であって、
１つまたは複数のメモリと、
前記１つまたは複数のメモリに結合された１つまたは複数のプロセッサであって、
リモート制御コードを受信し、
前記受信されたリモート制御コードの一部を格納された１つまたは複数のリモート制御コードのうちの所与の１つの対応する一部と比較し、
前記比較及び周波数情報に基づいて前記受信されたリモート制御コードをフィルタリングするように構成されたプロセッサとを備えることを特徴とする装置。
【請求項１０】
リモート制御コード中継システム内でリモート制御コードをフィルタリングするための方法であって、
リモート制御コードを受信する工程と、
前記受信されたリモート制御コードの一部を、フィルタリングに使用される格納された１つまたは複数のリモート制御コードのうちの所与の１つの対応する一部と比較する工程であって、前記格納された１つまたは複数のリモート制御コードはユーザから習得される工程と、
前記比較に基づいて前記受信されたリモート制御コードをフィルタリングする工程とを特徴とする方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、リモコン装置に関し、より詳細には、ある場所から別の場所にリモート制御コードを中継することに関する。
【背景技術】
【０００２】
リモコンは、装置を制御するための大変貴重なツールとなってきた。リモコンは、リモコンからある装置へのリモート制御コードを表現し通信するために、無線周波数（ＲＦ：Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）や赤外線（ＩＲ：ｉｎｆｒａｒｅｄ）信号などの電磁気（ＥＭ：ＥｌｅｃｔｒｏＭａｇｎｅｔｉｃ）信号を使用する。典型的なリモコン装置では、ボタンに機能コードが割り当てられる。ボタンが押下されると、たとえば赤外線（ＩＲ）リモコン装置は、対応するリモート制御コードを決定するときに機能コードを使用し、リモート制御コードに対応するＩＲ信号を生成する。
【０００３】
ＩＲ信号は、特定の搬送波周波数で生成され、一般にヘッダと、デバイス・コードと、ボタンに対応する機能コードと、トレイラとを備える。ヘッダは、リモート制御信号が送信されていることを装置に警告するために使用される。デバイス・コードは、同じ搬送波周波数を使用している装置間で区別するために使用される。たとえば、製造元は、２つの装置用のリモコン装置を製造し得る。２つの装置用の各リモコン装置は、ＩＲ信号については同じ搬送波周波数を使用し得るが、それぞれの装置に異なるデバイス・コードが割り当てられる。装置は、ＩＲ信号を受信するときに、デバイス・コードが該装置に割り当てられたデバイス・コードかどうか決定する。そうである場合は、装置は、機能コードを解釈し、機能コードに対応する機能を実施する。そうでない場合は、装置は、機能コードを無視する。トレイラは、ＩＲ信号が終了することを装置に警告するために使用される。
【０００４】
それぞれの製造元は、リモート制御コードおよびそれに対応するＥＭ信号をそれ自体の要件を満たすように具体的に設計する能力を有する。たとえば、ＥＭ信号は時々、たとえばデバイス・コードと機能コード、または単純に機能コードを含み得る「繰返し部分」を含む。繰返し部分は、特定の回数またはボタンが押下されている間繰り返される。繰返し部分は、機能コードが装置によって受信されることを確実にするのに役立ち、また機能コードを複数回実施させるために使用されることもできる。
【０００５】
典型的なＩＲまたはＲＦリモコン装置、およびそれに対応する装置を使用したシステムは、非常に堅牢である傾向にある。たとえば、ＩＲ信号に１０％以上もの相当な誤りが発生し得るが、しかしＩＲ信号に対応する正確な機能は依然として実施される。
【０００６】
米国特許出願公開第２００２／０１５４０２４Ａ１号明細書（特許文献１）は、ＩＲ制御されるデバイスの制御のため、ＲＦ制御信号を宛先の受信機にアドレス可能に送信するシステム及び方法を開示している。Ｄｏｃｋｅｒｙシステムと同様に送信機装置と信号の近接したすべての受信機によって解釈可能な制限のない信号を単に送信するのではなく、本発明は、送信機装置内でアドレスをＲＦ信号に組み込む。その信号内に組み込まれたアドレスを認識する受信機装置のみが応答する。
【０００７】
米国特許出願公開第２００２／０１６８９３４Ａ１号明細書（特許文献２）は、建物（１）内の異なる部屋に位置する２つの音声及び／または動画デバイスの間で双方向の無線通信を確立するための２つの中継器を具備する相互接続アセンブリを開示している。当該２つの音声及び／または動画デバイスのうち第１のデバイスは、リモート制御信号により制御可能な音声及び／または動画電気信号の生成源（ＳＡＶ）を含み、当該２つの音声及び／または動画デバイスのうち第２のデバイスは、受信機と、建物の壁を通り抜けることのできないリモート制御信号を生成するリモコンとを具備する。一方の中継器は、無線リンクによりリモート制御情報を他方の中継器に送信し、他方の中継器は上記生成源から当該中継器まで無線リンクにより音声及び／または動画信号を戻すことができる。当該リモート制御情報にコードを挿入するために符号器が用意され、中継器により受信される符号化されたリモート制御情報を復号化し、当該符号化されたリモート制御情報に含まれるコードを参照コードと比較し、これら２つのコードが一致しない場合に復号化されたリモート制御情報を拒否するために復号器が用意される。
【０００８】
【特許文献１】米国特許出願公開第２００２／０１５４０２４Ａ１号明細書
【特許文献２】米国特許出願公開第２００２／０１６８９３４Ａ１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
リモコン装置、およびそれを使用したシステムは堅牢であり、有益であるが、複数の重要な問題が残っている。たとえば、第１の装置を操作するように選択された、あるリモコンからの信号が意図されていない第２の装置を不注意に操作するときがあり得る。これは、リモコンと装置がＲＦを使用して互いに通信する場合に特に当てはまるが、通信用にＩＲを使用したシステムもまた、こうした不注意な操作を受け得る。したがって、これらの問題を解決するための技術が求められている。
【課題を解決するための手段】
【００１０】
一般には、リモート制御コードをフィルタリングするための技術が提供され、これらの技術は、たとえばリモート制御コードによって引き起こされる不注意の操作を減らしまたは取り除きながら、ある位置から別の位置にリモート制御コードを中継するために使用され得る。
【００１１】
本発明の例示的な一態様では、リモート制御コード中継システム内でリモート制御コードが受信される。受信されたリモート制御コードの一部が、格納された１つまたは複数のリモート制御コードの対応する部分と比較される。受信リモート制御コードは、比較に基づいてフィルタリングされる。フィルタリングは、例示的には、受信リモート制御コード（たとえば、またはその一部など）を出力し、または受信リモート制御コードを廃棄することを備え得る。さらに、フィルタリングは、格納リモート制御コードに、受信リモート制御コードに対応する新しいリモート制御コードを追加することを備え得る。この追加は、リモート制御コードが出力されるべきか、それと廃棄されるべきかによって決まる。
【００１２】
リモート制御コードはネットワークまたはハードウェア・インターフェースから受信されることができ、このハードウェア・インターフェースは、ＥＭリモート制御信号をリモート制御コードに変換する受信機から、リモート制御コードを受信する。受信リモート制御コードの出力は、無線ネットワークなどのネットワークに対して行われることも、その後に続くＥＭリモート制御信号の送信のためにハードウェア・インターフェースに対して行われることもある。フィルタリングは、ネットワークの前に行われることも、ネットワークの後に行われることもある。フィルタリングは、たとえば集積回路によって、ネットワークに結合され、またメモリに結合されたプロセッサを備えたコンピュータ・システムによって、あるいはその何らかの組合せによって実施され得る。
【発明を実施するための最良の形態】
【００１３】
図１および２は、例示的なリモート制御コード中継システム１００、リモコン、装置およびそのインターフェースを示している。典型的なリモート制御コード中継について説明するために、まず図１について述べる。次いで、図２を使用して、従来のリモート制御コード中継に関する問題について述べる。しかし、リモート制御中継システム１００は、本発明の例示的な実施形態を実施し、したがって、図２についての以下の説明に関連する問題を解決することができる。
【００１４】
次に図１を参照すると、リモート制御中継システム１００が示されており、ＩＲリモコン１１０によってＩＲチャネル１１５−１を介してリモート制御中継システム１００に送信された電磁気（ＥＭ）リモート制御信号１８０を受け付けている。リモート制御中継システム１００が、ＩＲチャネル１４５−１を介してリモート装置１５０−１にＥＭリモート制御信号１７０を送信しているのも示されている。図１の実施例では、ＥＭリモート制御信号１８０とＥＭリモート制御信号１７０はＩＲリモート制御信号であるが、しかし、これは例示するためのものにすぎない。たとえば、ＥＭリモート制御信号のうちの１つまたは両方が、ＲＦリモート制御信号、または他のいずれかのタイプの適切なリモート制御信号であり得る。リモート制御中継システム１００は、ローカルＩＲユニット１２０とネットワーク１３０とリモートＩＲユニット１４０とを備える。ローカルＩＲユニット１２０とネットワーク１３０はネットワーク・チャネル１２５を介して通信し、ネットワーク１３０はネットワーク・チャネル１３５を介してリモートＩＲユニット１４０と通信する。ＩＲリモコン１１０およびローカルＩＲユニット１２０は、あるユーザに関連するローカル位置１０１に置かれており、リモート装置１５０−１およびリモートＩＲユニット１４０はリモート位置１０２に置かれている。
【００１５】
ユーザは時々、リモート位置１０２に置かれたリモート装置１５０−１などの装置を有し得る。たとえば、ユーザは、（たとえばローカル位置１０１のような）寝室にいることがあり、リモート装置１５０−１は、中央のメディア位置、または居間などの別の部屋に置かれた音楽プレーヤーであり得る。音楽プレーヤーは、ローカル位置１０１に音楽を提供する。ユーザは、ローカル位置１０１のＩＲリモコン１１０を使用してリモート装置１５０−１を制御することができる。
【００１６】
ユーザは、たとえば、「一時停止」ボタン（図示せず）を押し得る。次いで、ＩＲリモコン１１０は、そのボタンに適した元のリモート制御コード（ｏｒｉｇｉｎａｌ  ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ  ｃｏｄｅ）１１１を決定し、対応するＥＭリモート制御信号１８０をＩＲチャネル１１５−１を介して送信する。元のリモート制御コード１１１は、ヘッダ１０６とデバイス・コード１０７と機能コード１０８とトレイラ１０９とを備える。
【００１７】
上述したように、ヘッダ１０６は、リモート制御コード（ＥＭリモート制御信号１８０など）が送信されていることを装置に警告するために使用される。デバイス・コード１０７は、同じ搬送波周波数を使用している装置を区別するために使用される。機能コード１０８は、装置（この実施例ではリモート装置１５０−１）によってどの機能が実施されるか決定する。トレイラは、リモート制御信号が終了することを装置に警告するために使用される。
【００１８】
元のリモート制御コード１１１は例示的なものにすぎず、他のリモート制御コードが使用され得る。たとえば、製造元によっては、リモート制御コードに誤り訂正符号を追加しまたは、リモート制御コードの繰返し部分を追加しまたは作成する。さらに、リモコン装置の製造元は、元のリモート制御コード１１１を公開している。したがって、元のリモート制御コード１１１は、製造元に問い合わせることによって決定されることができ、また多くの従来型リモート制御システムは、適切なＥＭリモート制御信号１８０または１７０を送信するために、元のリモート制御コード１１１のデータベースを使用する。
【００１９】
元のリモート制御コード１１１は、例示的な説明において以下で述べるように、ＥＭリモート制御信号１８０に変換される。元のリモート制御コード１１１は、バイナリ・データ、１６進数データ、レジスタ値または他の任意のデータであり得る。さらに、ＩＲリモコン１１０は、キー押下に対応する行と列のデータを機能コード１０８に相関させることができる。
【００２０】
ＩＲリモコン１１０は、元のリモート制御コード１１１からＥＭリモート制御信号１８０を生成する。ＥＭリモート制御信号１８０は、元のリモート制御コード１１１のＥＭ信号表現である。たとえば、ＩＲリモコン１１０は、特定の時間の間、ＩＲ送信機（図１に図示せず）をオンにし、元のリモート制御コード１１１の各２進数字について特定の時間の間、ＩＲ送信機をオフにすることによってＥＭリモート制御信号１８０を生成し得る。ＥＭリモート制御信号１８０はこのプロセスを通して生成され、ＥＭリモート制御信号１８０は、ヘッダ１８１とデバイス・コード１８２と機能コード１８３とトレイラ１８４とを備える。ヘッダ１８１は、ヘッダ１０６をＥＭ信号で表現したものである。同様に、デバイス・コード１８２、機能コード１８３およびトレイラ１８４はそれぞれ、デバイス・コード１０７、機能コード１０８およびトレイラ１０９を個々にＥＭ信号で表現したものである。
【００２１】
ＥＭ信号部分１９５は、デバイス・コード１０７の最初の２つの２進数字がデバイス・コード１８２でどのように表現されるかを示しており、またＩＲリモート制御信号についての典型的な規則をも示している。デバイス・コード１０７中のバイナリ「１」１９１は、ＩＲ送信機をオンにする期間１８６およびＩＲ送信機をオフにする期間１８７に変換される。デバイス・コード１０７中のバイナリ「０」１９２は、ＩＲ送信機をオンにする期間１８８およびＩＲ送信機をオフにする期間１８９に変換され、ただし、期間１８６は一般に期間１８８より長い。
【００２２】
ローカルＩＲユニット１２０は、ＥＭリモート制御信号１８０を受信し、それをリモート制御コード１２１に変換する。リモート制御コード１２１は一般に、バイナリ・データであり、ＥＭリモート制御信号１８０を表現したものである。リモート制御コード１２１の格納形式とＩＲリモコン１１０内のリモート制御コード１１１の格納形式は、同じでないことがあることに留意されたい。ローカルＩＲユニット１２０は、（たとえば期間１８６および１８８の）ＩＲ送信機が動作する搬送波周波数を決定する。ローカルＩＲユニット１２０がそれぞれ異なる搬送波周波数範囲を受信し得るように、ローカルＩＲユニット１２０の複数の部分が存在し得ることに留意されたい。搬送波周波数情報はパケット内に置かれ、このパケットの一部は、周波数情報１９６とデバイス・コード１９７と機能コード１９８とを備えるパケット部分１９５として示されている。デバイス・コード１９７および機能コード１９８はリモート制御コード１２１の部分であるが、所望であればこの部分は、リモート制御コード１２１全体とすることもできる。
【００２３】
例示的な実施形態では、周波数情報１９６は、（たとえば期間１８６および１８８の）ＥＭリモート制御信号１８０の搬送波周波数のバイナリ表現であり、デバイス・コード１９７はデバイス・コード１８２のバイナリ表現であり、機能コード１９８は機能コード１８３のバイナリ表現である。図１の実施例では、デバイス・コード１９７および機能コード１９８はリモート制御コード１２１の一部を定義し得るが、周波数情報１９６がリモート制御コード１２１間の区別のために使用され得る。別の実施形態では、リモート制御コード１２１を定義するために、周波数情報１９６も使用される。図１の実施例では、ヘッダ１８１およびトレイラ１８４に対応するリモート制御コード１２１内の情報は、パケット部分１９５内で使用されない。しかし、所望であれば、ヘッダ１８１およびトレイラ１８４に対応するリモート制御コード１２１内の情報は、パケット部分１９５内で使用されることができる。
【００２４】
ＥＭリモート制御信号１８０をリモート制御コード１２１に変換する際にはいくらかの量の誤りが一般に存在するので、デバイス・コード１９７および機能コード１９８は一般に、デバイス・コード１０７および機能コード１０８の厳密な表現ではない。しかし、いくらかの誤りは、ほとんどのＩＲシステムにおいて問題とならない。
【００２５】
パケット部分１９５は、ネットワーク１３０を介してリモートＩＲユニット１４０に送信される。ネットワーク１３０は、一般には無線ネットワークであるが、有線ネットワーク、または有線と無線ネットワークの組合せとすることもできる。リモートＩＲユニット１４０は、パケット部分１９５を使用し、リモート制御コード１４１を作成し、またリモート制御コード１４１から、ヘッダ１７１とデバイス・コード１７２と機能コード１７３とトレイラ１７４とを備えるＥＭリモート制御信号１７０を作成する。デバイス・コード１７２はデバイス・コード１９７のＥＭ信号表現であり、機能コード１７３は機能コード１９８のＥＭ信号表現である、この例示的な実施形態では、リモートＩＲユニット１４０はリモート制御コード１４１内の適切なヘッダおよびトレイラ情報（図示せず）を決定するために周波数情報１９６、デバイス・コード１９７および機能コード１９８を使用し、ヘッダおよびトレイラ情報は、ＥＭリモート制御信号１７０のヘッダ１７１およびトレイラ１７４部分に変換される。一般に、リモートＩＲユニット１４０のＩＲ送信機などのある部分が、すべての搬送波周波数を生成するために使用される。リモート装置１５０−１は、ＥＭリモート制御信号１７０を受信し、機能コード１８３に対応する機能を実施する。
【００２６】
したがって、ローカル位置１０１内のユーザは、ＩＲリモコン１１０を使用して、リモート位置１０２内のリモート装置１５０−１を制御することができる。これによって、ユーザが、たとえば音楽を開始、一時停止および停止し、または異なる音楽またはタイトルを選択することが可能となる。
【００２７】
しかし、図２に示すようにユーザが別のリモコン装置１６０を使用してローカル装置１６５を制御する場合、問題が生じる。リモート制御コード１６１は、ＩＲリモコン１６０によってＥＭリモート制御信号１８０−１に変換され、ＩＲチャネル１１５−２を介してローカルＩＲユニット１２０に通信される。ローカルＩＲユニット１２０は、リモート制御信号１８０−１に対応するパケット部分１９５−１を作成し、ネットワーク１３０を介してリモートＩＲユニット１４０にパケット部分１９５−１を通信する。次いで、リモートＩＲユニット１４０はＥＭリモート制御信号１７０−１を作成し、このＥＭリモート制御信号はＩＲチャネル１４５−１と１４５−２の両方を介して通信される。１つのＥＭリモート制御信号１７０−１が、リモート装置１５０−１と１５０−２の両方によって受信される。リモート装置１５０−１はリモート制御信号１７０−１を無視するが、ローカル装置１６５に類似のまたはそれと同じリモート装置１５０−２はリモート制御信号１７０−１を解釈し、意図されておらず、望まれていない対応する機能を実施する。
【００２８】
したがって、ローカル位置１０１のユーザは、機能を実施するリモート装置１５０−２の意図されていない動作を引き起こしている。同様に、リモート位置１０２のユーザがＩＲリモコン１５５を使用する場合、ＩＲリモコン１５５からのＥＭリモート制御信号（図示せず）は、（たとえば、ネットワーク１３０を介して送信されるパケット部分に変換されることにより、およびパケットを別のＥＭリモート制御信号に変換させることにより）ローカル装置１６５に送信され得る。したがって、リモート制御コードの中継によって引き起こされる意図されていない機能が最小限に抑えられまたは取り除かれるように、リモート制御コードをフィルタリングすることが求められている。
【００２９】
本発明は、特定のリモート制御コードがリモート装置１５０−２（またはローカル装置１６５）に届かないようにリモート制御コードをフィルタリングするための技術を提供する。例示的な一実施形態では、ローカルＩＲユニット１２０は、ＥＭリモート制御信号１８０を、受信されたリモート制御コード１２１に変換し、リモート制御コード１２１の一部またはすべてを格納されたリモート制御コード（図１には示されていないが、図４に示されている）と比較し得る。受信リモート制御コード１２１を格納リモート制御コードと比較することによって、受信リモート制御コード１２１がどのようにフィルタリングされるべきか決定される。
【００３０】
例示的な一実施形態では、フィルタリングは、「通過」フィルタリングの働きをし、受信されたリモート制御コード１２１と格納されたリモート制御コードの部分間に一致がある場合は、受信リモート制御コード１２１は、受信リモート制御コード１２１に対応するパケット部分１９５をネットワーク・チャネル１２５およびネットワーク１３０に出力することによってフィルタリングされる。したがって、格納されたリモート制御コードは、どのリモート制御コードがネットワーク１３０に出力されるかを定義している。受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がない場合は、受信リモート制御コードは、受信リモート制御コードを廃棄することによってフィルタリングされる。受信リモート制御コードは、たとえば削除されまたは格納される。
【００３１】
別の例示的な実施形態では、フィルタリングは、「拒否」フィルタリングの働きをする。受信されたリモート制御コード１２１と格納されたリモート制御コードの部分間に一致がある場合は、受信リモート制御コード１２１は廃棄される。したがって、格納されたリモート制御コードは、どれが拒否され廃棄されるかを定義している。受信リモート制御コードは、たとえば削除されまたは格納される。その逆に、受信されたリモート制御コード１２１と格納されたリモート制御コードの部分間に一致がない場合は、受信リモート制御コード１２１は、受信リモート制御コードに対応するパケット部分１９５をネットワーク・チャネル１２５およびネットワーク１３０に出力することによってフィルタリングされる。
【００３２】
所望であれば、２組の格納されたリモート制御コードが使用されることができ、ただし、１組はネットワーク１３０に出力されるべきリモート制御コードを定義し、もう１つの組は廃棄されるべきリモート制御コードを定義する。いずれの組にも存在しないリモート制御コードは、ネットワーク１３０に出力され、または廃棄され得る。さらに、システム１００は、学習モードに入り、いずれの組にも存在しないリモート制御コードが出力されるべきか、それとも廃棄されるべきかをユーザに決定させる。
【００３３】
リモートＩＲユニット１４０は、パケット部分１９５−１を使用してリモート制御コードを受信し、リモート制御コードのフィルタリングを実施し得ることに留意されたい。この例示的な実施形態では、ローカルＩＲユニット１２０はすべてのリモート制御コードをネットワーク１３０に渡し、リモートＩＲユニット１４０はそのリモート制御コードのフィルタリングを実施する。さらに、フィルタリングは、装置上で機能を実施しないリモート制御コードを出力することを含み得る。たとえば、６４個の使用可能な機能コード１０８があるが、４８個の機能だけが、装置によって実施される実際の機能に関連し得る。したがって、１６個の機能「無効」の機能コードのうちの１つが、有効な機能コード１０８に取って代わるために使用され得る。しかし、これらのリモート制御コードは時々、リモコン装置上のボタンに割り当てられていないが、依然として機能を実施する。
【００３４】
さらに、リモート制御コード１１１（または１２１または１４１など）の全体が、フィルタリング時に使用され得る。あるいは、リモート制御コード１１１の一部がフィルタリング時に使用され得る。具体的には、デバイス・コード１０７が、ある装置に対応するすべてのリモート制御コードをフィルタリングするために使用され得る。別の例示的な実施形態では、デバイス・コード１０７および機能コード１０８が、特定のリモート制御コードに対応する特定の機能だけをフィルタリングするために使用され得る。さらに、周波数情報１９６も、（たとえばリモート制御コードと共に、またはその一部として）フィルタリング時に使用され得る。さらに、１つのデバイス・コード１０７が同じ装置の複数のバージョンに対して働くことがあり、また「デバイス・コード」は、ある装置用のリモート制御コードを別の装置用のリモート制御コードと区別し得る任意の情報である。ＩＲリモート制御コードは、デバイス・コードとして使用される「アドレス」コードを有することに留意されたい。一方、他のＩＲリモート制御コードは、デバイス・コードとアドレス・コードの両方を有する。たとえば、衛星受信機は一般に、同じデバイス・コードを使用するが、複数の衛星受信機が同じ部屋で使用され得るように、それぞれ異なるアドレス・コードを許容する。デバイス・コードとアドレス・コードの両方の実施例において、アドレス・コードは、リモート制御コードのフィルタリングに使用されるリモート制御コードの別の部分とすることができ、あるいはアドレス・コードとデバイス・コードは１つの大きいデバイス・コードとして組み合わされ得る。
【００３５】
本明細書では、「リモート制御コード」は、リモート制御コード１１１（または１２１または１４１）の全体であることも、リモート制御コード１１１の一部であることもある。たとえば、「リモート制御コード」は、リモート制御コードのフィルタリングに使用されるリモート制御コード１１１と同じだけを備える。したがって、上述したように、デバイス・コード１０７は、例示的な一実装では、「リモート制御コード」であり得る。
【００３６】
次に図３に移ると、第２のリモート制御コード中継システム３００が示されており、リモート制御信号３０１を受信し、リモート制御信号３７６を送信している。リモート制御信号３０１および３７６は、元のリモート制御コード（たとえば図１の元のリモート制御コード１１１など）に対応する。リモート制御信号３０１および３７６は一般に、ＩＲリモート制御信号である。しかし、ＥＭ波を使用した任意のＲＦまたは他のリモート制御信号が使用され得る。説明のため、本明細書ではＩＲリモート制御信号について述べる。
【００３７】
リモート制御中継システム３００は、ローカルＩＲユニット１２０と無線ネットワーク３４５とリモートＩＲユニット１４０とを備える。無線ネットワーク３４５が示されているが、有線、または有線と無線ネットワークの組合せが使用され得る。ローカルＩＲユニット１２０は、ＩＲ受信機３０５と、ハードウェア・インターフェース／先入れ先出し（ＦＩＦＯ：Ｆｉｓｔ−Ｉｎ，Ｆｉｒｓｔ  Ｏｕｔ）３１０と、装置ドライバ３２０と、アプリケーション３３０と、ネットワーク・インターフェース３３５とを備える。リモートＩＲユニット１４０は、ＩＲ送信機３７５と、ハードウェア・インターフェース３７０と、装置ドライバ３６５と、アプリケーション３６０と、ネットワーク・インターフェース３３５とを備える。ＩＲ受信機３０５およびＩＲ送信機３７５は一般に、回路基板の外部にある。しかし、それらは、所望であれば回路基板に組み込まれ得る。
【００３８】
受信機ハードウェア・インターフェース／先入れ先出し（ＦＩＦＯ）３１０およびネットワーク・インターフェース３３５は一般に回路基板上のコンポーネントであるが、装置ドライバ３２０およびアプリケーション３３０は回路基板上のメモリ（図４参照）内に常駐する。同様に、ハードウェア・インターフェース３７０およびネットワーク・インターフェース３５５は一般に回路基板上に常駐するが、装置ドライバ３６５およびアプリケーション３６０は回路基板上のメモリ（図４参照）内に常駐する。受信機ハードウェア・インターフェース／先入れ先出し（ＦＩＦＯ）３１０およびハードウェア・インターフェース３７０は、たとえばフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）ビット・ファイルによって実装され得る。さらに、ハードウェア・インターフェース３７０は、集積回路の一部として実装され得る。装置ドライバ３２０、３６５およびネットワーク・インターフェース３３５、３５５は一般に、低レベルのシステム・インターフェースである。ネットワーク・インターフェース３３５、３５５は、低レベルおよびシステムレベルのコンポーネントを有し得ることに留意されたい。アプリケーション３３０、３６０は一般に、システム・レベル・インターフェースである。
【００３９】
元のリモート制御コード（たとえば図１の元のリモート制御コード１１１など）に対応するリモート制御信号３０１はＩＲ受信機３０５によって間隔数３０７として変換され、次いでこの間隔数３０７は、２進数字３１５を生成する受信機ハードウェア・インターフェース／ＦＩＦＯ３１０によってカウントされる。例示的なＩＲ受信機および受信機ハードウェア・インターフェース／ＦＩＦＯ３１０は、図７を参照してより詳細に示されている。さらに、間隔３０７は、図８を参照してより詳細に示されている。装置ドライバ３２０は、アプリケーション３３０と受信機ハードウェア・インターフェース／ＦＩＦＯ３１０の間のソフトウェア・インターフェースである。装置ドライバ３２０は、２進数字３１５を、受信されたリモート制御コード・データ３２５へとパッケージ化する。
【００４０】
アプリケーション３３０は図４に示された部分を含み、この部分は、受信リモート制御コード・データ３２５（またはその一部など）を検査し、また受信リモート制御コード３２５を格納されたリモート制御コード（図４参照）と比較することによってリモート制御コード・データ３２５をフィルタリングする。受信されたリモート制御コード３２５がフィルタリングの一部として出力されるべきである場合は、リモート制御コード３２５またはその一部は接続３３１を介してネットワーク・インターフェース３３５に出力され、ネットワーク・インターフェース３３５は、この実施例では無線パケット３３６を作成する。無線パケット３３６は、無線チャネル３４０、無線ネットワーク３４５、および無線チャネル３５０を介して送信される。受信されたリモート制御コード３２５は、フィルタリングの一部として出力されるべきでない場合は、たとえば削除されまたは格納され得る。
【００４１】
リモートＩＲユニット１４０で受信される無線パケット３３６は、リモート制御コード３５６（またはその一部など）を作成するネットワーク・インターフェース３５５によって受信される。アプリケーション３６０は一般に、リモート制御コード３５６のすべてまたは一部からリモート制御コード・データ３６１を作成する。リモート制御コード・データ３６１は、上記で示したように、ヘッダとデバイス・コードと機能コードとトレイラとを備え得る。次いで、装置ドライバ３６５は、リモート制御コード・データ３６１を２進数字３６６として出力する。ハードウェア・インターフェース３７０の実装に応じて、装置ドライバ３６５は、リモート制御コード・データ３６１全体を一度に、またはリモート制御コード・データ３６１の一部を複数サイクルに渡って出力し得る。次いで、ＩＲ送信機３７５は、ＥＭリモート制御信号３７６を作成する。
【００４２】
アプリケーション３６０もまた、リモート制御コードのフィルタリングを実施することができる。この例示的な実施形態では、アプリケーション３３０はすべてのリモート制御コード３２５を送信し、アプリケーション３６０はリモート制御コード３５６（またはその一部など）を受信し、受信されたリモート制御コード（またはその一部など）をフィルタリングする。
【００４３】
次に図４に移ると、本発明の例示的な実施形態の実施に使用するのに適した例示的なコンピュータ・システム４００が示されている。コンピュータ・システム４００は、プロセッサ４１０とネットワーク・インターフェース４１５とハードウェア・インターフェース４２０とメモリ４３０とを備える。プロセッサ４１０、ネットワーク・インターフェース４１５およびメモリ４３０は、バス４２５によって結合される。プロセッサ４１０、ネットワーク・インターフェース４１５、メモリ４３０およびバス４２５はそれぞれ１つしか示されていないが、複数のプロセッサ４１０、ネットワーク・インターフェース４１５、メモリ４３０およびバス４２５が存在し得る。メモリ４３０は、アプリケーション４３５と装置ドライバ４４５とフィルタリング・データベース４５０と製造元リモート制御コード・データベース４９０とを備える。アプリケーション４３５は、リモート制御コード・フィルタリング・モジュール４４０を備える。フィルタリング・データベースは、３つのリモート制御コード・エントリ４５５−１、４５５−２および４５５−３を備える。リモート制御コード・エントリ４５５−１は、ＩＲ周波数情報４６１とデバイス・コード４６２とを備える。リモート制御コード・エントリ４５５−２は、ＩＲ周波数情報４６６とデバイス・コード４６７と機能コード４６８とを備える。リモート制御コード・エントリ４５５−３は、ＩＲ周波数情報４７１とデバイス・コード４７２と機能コード４７３とを備える。
【００４４】
アプリケーション４３５は、図３のアプリケーション３３０またはアプリケーション３６０であり得る。以下の実施例では、リモート制御コード・フィルタリング・モジュール４４０は、リモート制御コード・フィルタリング・モジュール４４０がネットワーク・インターフェース４１５からまたはＩＲハードウェア・インターフェース４２０から受信されたリモート制御コードをフィルタリングする、「デュプレックス」モードで動作する。たとえば、リモート制御コードは、リモート制御コード・フィルタリング・モジュール４４０によってネットワーク・インターフェース４１５から受信され得る。リモート制御コード・フィルタリング・モジュール４４０は、リモート制御コードをフィルタリングし、リモート制御コードの廃棄、またはＩＲ送信機（図４に示されていない）に結合されたＩＲハードウェア・インターフェース４２０へのリモート制御コードの出力を行う。別の実施例として、リモート制御コードは、リモート制御コード・フィルタリング・モジュール４４０によってＩＲハードウェア・インターフェース４２０から受信され得る。この実施例では、リモート制御コード・フィルタリング・モジュール４４０は、リモート制御コードをフィルタリングし、リモート制御コードの廃棄またはネットワーク・インターフェース４１５へのリモート制御コードの出力を行う。
【００４５】
フィルタリング・データベース４５０は、格納されたリモート制御コードを備えるリモート制御コード・エントリ４５５を備える。図４の実施例では、格納リモート制御コードはリモート制御コードの複数の部分であり、それぞれの部分がデバイス・コード、またはデバイス・コードと機能コードを備える。さらに、ＩＲ周波数情報は、リモート制御コードを定義するために使用され、また所望であればリモート制御コードをフィルタリングするために使用され得る。以下の説明では、ＩＲ周波数情報は、リモート制御コードのフィルタリングのために使用される。リモート制御コード・フィルタリング・モジュール４４０は、ＩＲ周波数情報４６１に対応しており、またデバイス・コード４６２に一致しているリモート制御コードをフィルタリングする。したがって、特定の装置からのすべてのリモート制御コードがフィルタリングを受ける。リモート制御コード・フィルタリング・モジュール４４０は、ＩＲ周波数情報４６６に対応しており、またデバイス・コード４６７および機能コード４６８に一致しているリモート制御コードをフィルタリングする。同様に、リモート制御コード・フィルタリング・モジュール４４０は、ＩＲ周波数情報４７１に対応しており、またデバイス・コード４７２および機能コード４７３に一致しているリモート制御コードをフィルタリングする。
【００４６】
図４には示されていないが、フィルタリング・データベース４５０は、追加の情報を備え得る。たとえば、図１および２を参照して上記で述べたヘッダおよびトレイラ情報は、フィルタリング・データベース４５０内に格納され得る。さらに、一部の装置は、装置および機能コードに加えてアドレス・コードを使用し、したがってアドレス・コードがフィルタリング・データベース４５０内に格納され得る。あるいは、アドレス・コードは、デバイス・コードと統合され得る。また一部のリモコン装置は誤り訂正符号を送信し、したがって誤り訂正符号がフィルタリング・データベース４５０内に格納され、またはリモート制御コード・フィルタリング・モジュール４４０によって決定され得る。繰返しシーケンスが使用される場合、繰返しシーケンスが使用されるという事実が、フィルタリング・データベース４５０内に格納され得る。
【００４７】
図５を参照して上記で述べたように、リモート制御コード・エントリ４５５が学習されることができ、または製造元リモート制御コード・データベース４９０から選択されることができる。ユーザは、フィルタリングのため、特定の機能（リモート制御コード・エントリ４５５−２および４５５−３に対応する機能など）に対応する特定のリモート制御コード、あるいは装置全体（リモート制御コード・エントリ４５５−１に関連して示したもの）に対応するリモート制御コードを選択することができる。ユーザは一般に、ボタンに対応するリモート制御コード、または特定の装置に対応するリモート制御コードをフィルタリングするために、製造元リモート制御コード・データベース４９０から、装置の特定のボタン、または特定の装置を選択する。
【００４８】
フィルタリング・データベース４５０は、複数のセクションに分割され得ることに留意されたい。たとえば、あるセクションは、「通過」フィルタリング用のリモート制御コードを収容することができ、別のフィルタリング・データベースは「拒否」フィルタリング用のリモート制御コードを収容することができる。
【００４９】
当技術分野において知られているように、リモート制御コード・フィルタリング・モジュール４４０の一部は、プロセッサ４１０に転送され、本明細書で述べる諸実施形態のうちの１つまたは複数の一部を実施するために実行される。さらに、リモート制御コード・フィルタリング・モジュール４４０の一部またはすべては、実行されたときに本明細書で述べる諸実施形態のうちの１つまたは複数を実施する、メモリ４３０内での使用に適した１つまたは複数のプログラムを備えたプログラム製品として実装され得る。さらに、コンピュータ・システム４００の一部またはすべては、集積回路として実装され得る。具体的には、リモート制御コード・フィルタリング・モジュール４４０およびフィルタリング・データベース４５０は、集積回路として実装され得る。
【００５０】
次に図５を参照すると、フィルタリング対象のリモート制御コードを学習し格納するための例示的な方法５００が示されている。方法５００は一般に、リモート制御コード・フィルタリング・モジュール４４０（図４参照）によって実施される。方法５００は、ユーザにリモコン装置上のボタンを押下させ、学習されたリモート制御コードの一部またはすべてを決定し格納することによって、フィルタリング対象のリモート制御コードを学習するために使用される。
【００５１】
方法５００は、学習モードに入るときに開始する。学習モードは、受信されるリモート制御コードが学習プロセス中にフィルタリングされずに、学習されるべきであることを示す。工程５１５で、ユーザは、リモコン装置上のボタンを押下する。工程５２０で、リモコン装置が使用するＩＲ搬送波周波数に対応する周波数情報が決定される。たとえば、ＩＲ搬送波周波数は７８キロヘルツ（ｋＨｚ）であることがあり、周波数情報は、７８ｋＨｚの周波数を表す２進数字であり得る。ＲＦ周波数情報が同様に決定され得る。
【００５２】
工程５２５で、デバイス・コードが決定される。装置に対応するすべてのリモート制御コードがフィルタリングされる場合は（工程５３０＝いいえ）、工程５４０で、そのデバイス・コードがリモート制御コードの一部として格納される。機能コードがフィルタリングに使用される場合は（工程５３０＝はい）、工程５３５で機能コードが決定され、その機能コードがリモート制御コードの一部としてデバイス・コードと共に格納される。これは、工程５４０で行われる。方法５００は、工程５４５で終了する。
【００５３】
工程５１５から５４０は、リモコン装置のそれぞれ異なる機能に対応する新しいリモート制御コードを学習するために実施され得ることに留意されたい。さらに、工程５１５から５２５は、デバイス・コードが正確に決定されることを確実にするために、（リモコン装置上の同じまたはそれぞれ異なるボタンがユーザによって押下された状態で）複数回実施され得る。したがって、その後に続くボタンは、ボタンによって引き起こされる後続のデータ・ストリームの同一のある部分または複数の部分を識別することによって装置（またはアドレス・コード）を決定するために押下され得る。
【００５４】
さらに、図５は、製造元リモート制御コード・データベースで使用するように修正されることができる。工程５１５で、ユーザは、リモコン装置上のボタンを押下するのではなく装置を、また任意選択で（たとえば機能コードに対応する）リモート制御ボタンを選択することができる。工程５２０、５２５および５３５によって、製造元リモート制御コード・データベースからの情報が決定される。
【００５５】
次に図６を参照すると、リモート制御コードをフィルタリングするための例示的な方法６００が示されている。方法６００は一般に、リモート制御コード・フィルタリング・モジュール４４０（図４参照）によって実施され、望まれないリモート制御コードがリモート装置によって受信されないようフィルタリングするために使用される。
【００５６】
方法６００は工程６１０で開始し、リモート制御コードまたはその一部が、たとえばネットワーク・インターフェースまたはＩＲインターフェースを介して受信される。工程６２０で、リモート制御コードを移送するために使用されるＥＭリモート制御信号の搬送波周波数に対応する周波数情報が決定される。ＩＲインターフェースに関しては、搬送波周波数が決定され、リモート制御コード・フィルタリング・モジュール４４０（図４参照）に通信され得る。ネットワーク・インターフェースからのリモート制御コードの受信に関しては、周波数情報は一般に、受信リモート制御コードに加えて、またはその一部として受信される。工程６３０で、受信リモート制御コードのデバイス・コードが決定される。工程６４０で、受信リモート制御コードの機能コードが決定される。
【００５７】
工程６５０で、リモート制御コードがフィルタリングされる。フィルタリングに適した様々な技術がある。上述したように、フィルタリングは、通過フィルタリングの働きをし得る。受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がある場合は、受信リモート制御コードは、受信リモート制御コードに対応するパケット部分をネットワーク・インターフェースあるいはハードウェア・インターフェースなどに出力することによって（工程６５２）フィルタリングされる。したがって、格納されたリモート制御コードは、どのリモート制御コードが出力されるかを定義している。受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がない場合は、受信リモート制御コードは、受信されたリモート制御コードを廃棄することによって（工程６５１）フィルタリングされる。受信リモート制御コードは、たとえば削除されまたは格納される。
【００５８】
別の例示的な実施形態では、フィルタリングは、拒否フィルタリングの働きをし得る。受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がある場合は、受信リモート制御コードは、受信リモート制御コードを廃棄することによって（工程６５１）フィルタリングされる。したがって、格納されたリモート制御コードは、どれが拒否され廃棄されるかを定義している。受信リモート制御コードは、たとえば削除されまたは格納される。その逆に、受信されたリモート制御コードと格納されたリモート制御コードの部分間に一致がない場合は、受信リモート制御コードは、受信リモート制御コードを出力することによって（工程６５２）フィルタリングされる。
【００５９】
これらの技術は組み合わされ得る。たとえば、２組の格納されたリモート制御コードが使用されることができ、ただし、１組は出力されるべきリモート制御コードを定義し、もう１つの組は出力されるべきでないリモート制御コードを定義する。いずれの組にも存在しないリモート制御コードは、システムがどのように実装されるかに応じて出力されまたは廃棄され得る。あるいは、いずれの組にも存在しないリモート制御コードによりシステムは、新しいリモート制御コードが学習されることができ、また新しいリモート制御コードについてフィルタリング・オプション（出力または廃棄など）が入力され得るように、図５の学習方法５００に入ることになり得る（工程６５３）。
【００６０】
工程６５０は、２つの異なる周波数についてリモート制御コードが同じである場合のため、周波数情報をも使用し得ることに留意されたい。さらに、ヘッダ、トレイラ、アドレスなどの追加のリモート制御コード情報が使用され得る。工程６６０で、方法６００は終了する。さらに、（たとえば）デバイス・コードだけがリモート制御コードのフィルタリングのために使用されている場合、工程６２０および６５０は実施され得ない。
【００６１】
次に図７を参照すると、本発明の例示的な一実施形態によるＩＲ受信機７１０およびハードウェア・インターフェース７３０が示されている。ハードウェア・インターフェース７３０は、ＦＩＦＯ７２０に結合された間隔カウンタ７１５を備える。ＦＩＦＯはあるタイプのバッファであり、他のバッファも使用され得る。図７の回路は、通常ＡＲＭと称される拡張縮小命令セットコンピュータ（ＲＩＳＣ：Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ）マイクロプロセッサで使用され得る。ハードウェア・インターフェース７３０は、それぞれがＡＲＭ（図７に図示せず）に結合されているＡＲＭバス７３１および割込み線７３２に結合される。他のタイプのプロセッサも使用され得る。
【００６２】
本発明の例示的な一実施形態では、ＩＲ受信機７１０用に標準のＩＲ検出装置を使用することが可能である。こうした標準のＩＲ検出装置は、ＩＲ検出ダイオード増幅器、自動利得制御（ＡＧＣ：Ａｕｔｏｍａｔｉｃ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）および制御パルス・フィルタリングを含む。標準のＩＲ検出装置は、特定の帯域幅のＩＲリモート制御信号が受信され得るようにＩＲ搬送波周波数を変調することに依存した中心周波数を有する。より大きい範囲のＩＲ制御装置を受信することができるように、複数のＩＲ検出器が、制御側プロセッサ（たとえばＡＲＭなど）のそれぞれ異なる入力ピンに接続されて並列に置かれ得る。
【００６３】
ＩＲ検出受信機７１０は、ＩＲパルス・シーケンス（図７に図示せず）を検出する。複数のＩＲ受信機７１０が並列に使用される場合、ＡＲＭは、どのピンにＩＲ信号が到達するか認識し、搬送波周波数の再変調がどうであるべきかをこのようにして決定する。次いで、搬送波周波数が決定され、周波数情報として格納され得る。
【００６４】
より具体的な例として、Ｍａｌｖｅｒｎ、ＰＡ  １９３５５−２１２０のＶｉｓｈａｙ  Ｉｎｔｅｒｔｅｃｈｎｏｌｏｇｙ，Ｉｎｃ．社からのＴＳＯＰ１２３８が、ＩＲ受信機７１０として使用され得る。ＩＲ受信機７１０は、３８ｋＨｚに同調され、（その周波数制限内で）以下のコードを復号することができる：Ｓｏｎｙ  ＳＩＲＣ、ＳｈａｒｐおよびＮＥＣコード、Ｔｏｓｈｉｂａ  Ｍｉｃｏｍ形式、ＲＣ５およびＲＣ６コード、ＲＣＭＭコード、Ｒ−２０００コード、ＲＥＣＳ−８０コード他。ＩＲ受信機７１０は一般に、検出された各ＩＲイベントについて割込み７１１を生成する。それぞれのＩＲイベントのためにＡＲＭプロセッサを混乱させないために、ハードウェア・インターフェース７３０によって提供されるような適切なバッファリングが使用され得る。例示的な一実施形態では、割込み線７１１上の各割込みによって、２つのことが発生することになる。
（１）現在のカウント値がＦＩＦＯ７２０にロードされる。
（２）間隔カウンタ７１５がクリアされ、新しいカウントが開始される。
【００６５】
波形を完全を再現するために、図７のＩＲ受信機７１０の例示的な出力のグラフである図８に示すように、ＩＲ送信に関連するすべての間隔が累積される。この実施例では、間隔２および間隔２は「１」が送信されたことを示しており、間隔４および間隔５は「０」が送信されたことを示している。
【００６６】
完全なＩＲ送信（「パケット」と呼ばれる）が受信されると、ＡＲＭが割り込まれ得る。完全なパケットは、以下が存在する場合には受信されていると見なされ得る。
（１）パケット開始前のオーバーフロー・カウント値
（２）ＦＩＦＯ内に少なくともＮ個の文字（カウント値など）が受信した、または
（３）最後の文字の後にカウンタ・オーバーフロー値が発生する
【００６７】
ＡＲＭが割り込まれると、専用の装置ドライバ（図３参照）が、ＦＩＦＯからＩＲパケットを取得し、それを処理し、ノイズ関連の間隔などの不要な部分を除去し、有効なＩＲパケットがフィルタリングされる準備が整っていることをアプリケーションに知らせる。
【００６８】
次に図９に移ると、本発明の例示的な一実施形態による、互いに結合されたハードウェア・インターフェース９８０とＩＲ送信機９９０が示されている。ハードウェア・インターフェース９８０は、送信バッファ９１０と間隔生成器９２０と搬送波生成器９３０と乗算器９４０とを備える。送信バッファ９１０は、ＡＲＭバス９０１を備える。ＩＲ送信機９９０は、レジスタ９５０とトランジスタ９７０とＩＲ発光ダイオード（ＬＥＤ：Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）９６０とを備える。
【００６９】
リモート制御コード・データを含むパケットの送信準備が整うときにアプリケーションは、ＩＲ装置ドライバ（図３の装置ドライバ３６５など）を呼び出し、ＩＲ装置ドライバにリモート制御コード・データを送信するよう指示すべきである。次いで、ＩＲ装置ドライバは、リモート制御コード・データを送信バッファ９１０にロードし、以下の段落で述べるように例示的な自動ＩＲ送信プロセスをトリガする。
【００７０】
送信バッファ９１０は、ロードされ設定されると、間隔生成器９２０に間隔をロードし始める。間隔生成器９２０の出力は、リモート制御コードに対応するＩＲリモート制御信号の包絡線に一致する矩形の波形である。次いで、包絡線に、乗算器９４０によって、（搬送波生器９３０からの）搬送波を掛ける。これによって矩形の波形９４１がもたらされ、この波形は、バイポーラ接合トランジスタ９７０およびＩＲ  ＬＥＤ９６０を使用して送信される。
【００７１】
上述の諸実施形態は例示的なものにすぎず、他の実施形態も可能である。たとえば、リモート制御コード・フィルタリングは、複数のリモート位置を含むように拡張され得る。一部のリモート制御コードは、特定のリモート位置にだけ送信され得る。したがって、２つのリモート位置が存在することがあり、特定のリモート制御コードが２つのリモート位置のうちの１つには送信されるが、２つのリモート位置のうちのもう一方には送信され得ない。たとえばインターネット・プロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスが、リモート位置を定義するために使用され得る。
【００７２】
本明細書で示し述べた諸実施形態および変形形態は本発明の原理を例示するものにすぎず、本発明の範囲および精神から逸脱せずに、当業者によって様々な修正が実施され得ることを理解されたい。
【図面の簡単な説明】
【００７３】
【図１】例示的なリモート制御コード中継システム１００、リモコン、装置およびそのインターフェースのブロック図である。
【図２】例示的なリモート制御コード中継システム１００、リモコン、装置およびそのインターフェースのブロック図である。
【図３】リモート制御信号を送受信する第２のリモート制御コード中継システムのブロック図である。
【図４】本発明の例示的な一実施形態の実施に使用するのに適した例示的なコンピュータ・システムの一例を示す図である。
【図５】フィルタリングされるリモート制御コードを学習し格納するための例示的な方法のフローチャートである。
【図６】リモート制御コードをフィルタリングするための例示的な方法のフローチャートである。
【図７】本発明の例示的な一実施形態による、ＩＲ受信機およびハードウェア・インターフェースのブロック図である。
【図８】図７のＩＲ受信機の例示的な出力のグラフである。
【図９】本発明の例示的な一実施形態による、例示的なハードウェア・インターフェースおよびＩＲ送信機のブロック図である。
【国際調査報告】
2008503982.tif 000012
2008503982.tif 000013