(57)【要約】【課題】  プログラム（アプリケーションプログラム）からデバイス間の情報受け渡し経路の設定を制御することができる情報処理装置を提供する。【解決手段】  放送受信装置のデバイスマネージャ２２０５ｆは、デバイスマネージャ２２０５ｆが扱うデバイスの種類とその数、そしてデバイス単体に関する情報を保持するデバイス基本情報管理部３２０１、デバイスとデバイスを表現するオブジェクトの１対１対応を管理するデバイスオブジェクト管理部３２０２、ハードウェア構成上のデバイスの物理接続情報を管理するデバイス物理接続管理部３２０３、デバイスの論理接続状態を管理するデバイス論理接続管理部３２０４、デバイスを論理的に接続するデバイス論理接続部３２０５、およびデバイスの論理的な接続の解除を行うデバイス論理接続解除部３２０６を備える。【選択図】        図３２
2005071330.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能を有するハードウェアであるデバイスを複数備える情報処理装置であって、
プログラムを実行するプログラム実行手段と、
前記デバイスを管理するデバイス管理手段とを備え、
前記デバイス管理手段は、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイス間に情報受け渡し経路を設定する情報経路設定部を備える
ことを特徴とする情報処理装置。
【請求項２】
前記デバイス管理手段は、さらに、
前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイスを識別するためのデバイス識別子を前記プログラムへ通知するデバイス識別子通知部を備え、
前記情報経路設定部は、前記プログラムによって前記デバイス識別子を複数用いて指定されたデバイス間に、指定された順序で情報受け渡し経路を設定する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記情報経路設定部は、前記プログラムによって前記デバイス識別子を二つ用いて二つのデバイスが指定された場合、指定されたデバイス間に情報受け渡し経路を設定する
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記情報経路設定部は、前記プログラムによって前記デバイス識別子を二つ以上用いて二つ以上のデバイスが指定された場合、指定された順序で、指定されたデバイス間に情報受け渡し経路を設定する
ことを特徴とする請求項２記載の情報処理装置。
【請求項５】
前記デバイス識別子通知部は、前記プログラムによって指定された種類のデバイスに対応するデバイス識別子を前記プログラムへ通知する
ことを特徴とする請求項２記載の情報処理装置。
【請求項６】
前記デバイス識別子通知部は、前記プログラムによって指定されたデバイス識別子で特定されるデバイスとの間に、情報受け渡し経路を設定可能な全てのデバイスに対応するデバイス識別子を前記プログラムへ通知する
ことを特徴とする請求項２記載の情報処理装置。
【請求項７】
前記デバイス識別子通知部は、前記プログラムによって指定されたデバイス識別子で特定されるデバイスとの間に、情報受け渡し経路が設定されている全てのデバイスに対応するデバイス識別子を前記プログラムへ通知する
ことを特徴とする請求項２記載の情報処理装置。
【請求項８】
前記デバイス識別子通知部は、前記プログラムによって指定されたデバイス識別子で特定されるデバイスとの間に、情報受け渡し経路を設定可能、かつまだ情報受け渡し経路の一部となっていないデバイスに対応するデバイス識別子を前記プログラムへ通知する
ことを特徴とする請求項２記載の情報処理装置。
【請求項９】
前記デバイス管理手段は、さらに、
前記プログラムによって指定されたデバイス識別子で特定されるデバイスが、複数の情報受け渡し経路に含まれることの可否を前記プログラムへ通知するデバイス共有可否通知部を備える
ことを特徴とする請求項２記載の情報処理装置。
【請求項１０】
前記デバイス共有可否通知部は、前記デバイスが含まれることができる情報受け渡し経路の最大数を通知することにより、前記可否を前記プログラムへ通知する
ことを特徴とする請求項９記載の情報処理装置。
【請求項１１】
前記デバイス管理手段は、さらに、
前記プログラムによって指定された、複数の前記デバイスにより実現される大機能を示す機能識別子に基づいて、前記大機能を実現するために必要なデバイスを特定する機能解釈部を備え、
前記情報経路設定部は、前記機能解釈部によって特定された前記デバイス間に情報受け渡し経路を設定する
ことを特徴とする請求項１記載の情報処理装置。
【請求項１２】
前記プログラムは、前記デバイス管理手段に対して要求を行った際には、前記デバイス管理手段からの応答を受けて、同期して処理を再開する
ことを特徴とする請求項１記載の情報処理装置。
【請求項１３】
前記プログラムは、前記デバイス管理手段に対して要求を行った際には、前記デバイス管理手段からの応答に関係なく、非同期的に処理を実行する
ことを特徴とする請求項１記載の情報処理装置。
【請求項１４】
前記情報経路設定部は、前記プログラムによって指定された複数のデバイスのいずれかが、すでに別の情報受け渡し経路の一部として設定されていた場合、新たな情報受け渡し経路を設定しない
ことを特徴とする請求項１記載の情報処理装置。
【請求項１５】
前記情報経路設定部は、前記プログラムによって指定された複数のデバイス間に情報受け渡し経路を設定することに成功したか失敗したかを表す処理結果を前記プログラムへ通知する
ことを特徴とする請求項１記載の情報処理装置。
【請求項１６】
前記情報経路設定部は、前記プログラムによって指定された複数のデバイス間に情報受け渡し経路を設定することに失敗した場合、失敗の理由を前記プログラムへ通知する
ことを特徴とする請求項１５記載の情報処理装置。
【請求項１７】
前記デバイス管理手段は、さらに、
前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイス間に設定された情報受け渡し経路を設定解除する情報経路解除部を備える
ことを特徴とする請求項１記載の情報処理装置。
【請求項１８】
前記デバイス管理手段は、さらに、
前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイスを識別するためのデバイス識別子を前記プログラムへ通知するデバイス識別子通知部を備え、
前記情報経路解除部は、前記プログラムによって前記デバイス識別子を複数用いて指定されたデバイス間に、指定された順序で設定された情報受け渡し経路を設定解除する
ことを特徴とする請求項１７記載の情報処理装置。
【請求項１９】
前記情報経路解除部は、前記プログラムによって前記デバイス識別子を二つ用いて二つのデバイスが指定された場合、指定されたデバイス間に設定された情報受け渡し経路を設定解除する
ことを特徴とする請求項１８記載の情報処理装置。
【請求項２０】
前記情報経路解除部は、前記プログラムによって前記デバイス識別子を二つ以上用いて二つ以上のデバイスが指定された場合、二つ以上の前記デバイス間に指定された順序で設定された情報受け渡し経路を設定解除する
ことを特徴とする請求項１８記載の情報処理装置。
【請求項２１】
前記デバイス管理手段は、さらに、
前記プログラムによって指定された、複数の前記デバイスにより実現される大機能を示す機能識別子に基づいて、前記大機能を実現するために必要なデバイスを特定する機能解釈部を備え、
前記情報経路解除部は、前記機能解釈部によって特定された前記デバイス間に設定された情報受け渡し経路を設定解除する
ことを特徴とする請求項１７記載の情報処理装置。
【請求項２２】
前記情報経路解除部は、前記プログラムによって指定された複数のデバイス間に設定された情報受け渡し経路を設定解除することに成功したか失敗したかを表す処理結果を前記プログラムへ通知する
ことを特徴とする請求項１７記載の情報処理装置。
【請求項２３】
前記情報経路解除部は、前記プログラムによって指定された複数のデバイス間に設定された情報受け渡し経路を設定解除することに失敗した場合、失敗の理由を前記プログラムへ通知する
ことを特徴とする請求項２２記載の情報処理装置。
【請求項２４】
前記デバイス管理手段は、さらに、
前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記情報処理装置上に存在する前記デバイスの数を前記プログラムへ通知するデバイス数通知部を備える
ことを特徴とする請求項１記載の情報処理装置。
【請求項２５】
前記デバイス数通知部は、前記プログラムによって指定された前記デバイスの種類に対応するデバイスの数を前記プログラムへ通知する
ことを特徴とする請求項２４記載の情報処理装置。
【請求項２６】
前記デバイス管理手段は、さらに、
前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイス間に情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知する経路設定可否通知部を備える
ことを特徴とする請求項１記載の情報処理装置。
【請求項２７】
前記デバイス管理手段は、さらに、
前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイスを識別するためのデバイス識別子を前記プログラムへ通知するデバイス識別子通知部を備え、
前記経路設定可否通知部は、前記プログラムによって前記デバイス識別子を複数用いて指定されたデバイス間に、指定された順序で情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知する
ことを特徴とする請求項２６記載の情報処理装置。
【請求項２８】
前記経路設定可否通知部は、前記プログラムによって前記デバイス識別子を二つ用いて二つのデバイスが指定された場合、指定されたデバイス間に情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知する
ことを特徴とする請求項２７記載の情報処理装置。
【請求項２９】
前記経路設定可否通知部は、前記プログラムによって前記デバイス識別子を二つ以上用いて二つ以上のデバイスが指定された場合、指定された順序で、指定されたデバイス間に情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知する
ことを特徴とする請求項２７記載の情報処理装置。
【請求項３０】
前記デバイス管理手段は、さらに、
前記プログラムによって指定された、複数の前記デバイスにより実現される大機能を示す機能識別子に基づいて、前記大機能を実現するために必要なデバイスを特定する機能解釈部を備え、
前記経路設定可否通知部は、前記機能解釈部によって特定された前記デバイス間に情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知する
ことを特徴とする請求項２６記載の情報処理装置。
【請求項３１】
前記デバイス管理手段は、さらに、
前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイス間に情報受け渡し経路が設定されているか否かを前記プログラムへ通知する経路状態通知部を備える
ことを特徴とする請求項１記載の情報処理装置。
【請求項３２】
前記デバイス管理手段は、さらに、
前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイスを識別するためのデバイス識別子を前記プログラムへ通知するデバイス識別子通知部を備え、
前記経路状態通知部は、前記プログラムによって前記デバイス識別子を複数用いて指定されたデバイス間に、指定された順序で情報受け渡し経路が設定されているか否かを前記プログラムへ通知する
ことを特徴とする請求項３１記載の情報処理装置。
【請求項３３】
前記経路状態通知部は、前記プログラムによって前記デバイス識別子を二つ用いて二つのデバイスが指定された場合、指定されたデバイス間に情報受け渡し経路が設定されているか否かを前記プログラムへ通知する
ことを特徴とする請求項３２記載の情報処理装置。
【請求項３４】
前記経路状態通知部は、前記プログラムによって前記デバイス識別子を二つ以上用いて二つ以上のデバイスが指定された場合、指定された順序で、指定されたデバイス間に情報受け渡し経路が設定されているか否かを前記プログラムへ通知する
ことを特徴とする請求項３２記載の情報処理装置。
【請求項３５】
前記デバイス管理手段は、さらに、
前記プログラムによって指定された、複数の前記デバイスにより実現される大機能を示す機能識別子に基づいて、前記大機能を実現するために必要なデバイスを特定する機能解釈部を備え、
前記経路設定可否通知部は、前記機能解釈部によって特定された前記デバイス間に情報受け渡し経路が設定されているか否かを前記プログラムへ通知する
ことを特徴とする請求項３１記載の情報処理装置。
【請求項３６】
前記情報経路設定部は、前記プログラム実行手段により実行される複数のプログラムによって、同一のデバイスを含む情報受け渡し経路の設定が要求された場合、常に先に要求された情報受け渡し経路を優先して設定する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３７】
前記プログラム実行手段は、複数のプログラム間で優先度を管理し、前記優先度を用いてプログラムの優先度比較を行う
ことを特徴とする請求項１記載の情報処理装置。
【請求項３８】
前記情報経路設定部は、前記プログラム実行手段により実行される複数のプログラムによって、同一のデバイスを含む情報受け渡し経路の設定が要求された場合、常に高優先度のプログラムの情報受け渡し経路を優先して設定する
ことを特徴とする請求項３７記載の情報処理装置。
【請求項３９】
前記情報経路設定部は、前記情報受け渡し経路の設定後、より高い優先度を有する他のプログラムによって、前記情報受け渡し経路に設定したデバイスを含む情報受け渡し経路の設定が要求された場合、前記他のプログラムによって要求された情報受け渡し経路を設定するとともに、最初の情報受け渡し経路を要求したプログラムへその旨を通知する
ことを特徴とする請求項３７記載の情報処理装置。
【請求項４０】
前記情報経路設定部は、前記最初の情報受け渡し経路に含まれ、かつ前記他のプログラムによって要求された情報受け渡し経路を構成していたデバイスが、再度利用可能になった場合、前記デバイスが再利用可能である旨を最初の情報受け渡し経路を要求したプログラムへ通知する
ことを特徴とする請求項３９記載の情報処理装置。
【請求項４１】
前記情報経路設定部は、前記最初の情報受け渡し経路に含まれ、かつ前記他のプログラムによって要求された情報受け渡し経路を構成していたデバイスが、再度利用可能になった場合、前記最初の情報受け渡し経路を再設定し、前記最初の情報受け渡し経路を要求したプログラムへ再設定を通知する
ことを特徴とする請求項３９記載の情報処理装置。
【請求項４２】
前記デバイス管理手段は、前記プログラムからの要求により前記デバイスを制御するとともに、前記プログラムからの要求により前記デバイスに関する情報を前記プログラムへ通知する
ことを特徴とする請求項１記載の情報処理装置。
【請求項４３】
所定の機能を有するハードウェアであるデバイスを複数備える情報処理装置における情報処理方法であって、
プログラムを実行するプログラム実行ステップと、
前記デバイスを管理するデバイス管理ステップとを含み、
前記デバイス管理ステップは、前記プログラム実行ステップにより実行されるプログラムからの要求に基づいて、前記デバイス間に情報受け渡し経路を設定する情報経路設定ステップを含む
ことを特徴とする情報処理方法。
【請求項４４】
所定の機能を有するハードウェアであるデバイスを複数備える情報処理装置における情報処理を行うためのプログラムであって、
プログラムを実行するプログラム実行ステップと、
前記プログラム実行ステップにより実行されるプログラムからの要求に基づいて、前記デバイス間に情報受け渡し経路を設定する情報経路設定ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを実行する情報処理装置に関する。特に、放送受信装置において、放送受信装置固有のデバイスを複数利用するプログラムを実行する機構に関する。
【背景技術】
【０００２】
テレビやＳＴＢ（Ｓｅｔ  Ｔｏｐ  Ｂｏｘ）に代表される放送受信装置のハードウェア上では、異なる機能を持つ複数のデバイスが、他方の出力がもう一方の入力となるように互いに接続され、一連の"情報受け渡し経路"を形成することで大機能を実現する構成を採る。例えば、デジタル放送受信装置で映像・音声を画面に出力する場合を例にとると、ハードウェア上では、放送信号を入力とし、周波数等のチューニング情報をキーとしてフィルタリングしてＭＰＥＧ２（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ−２）トランスポートストリームを出力する「チューナデバイス」、ＭＰＥＧ２トランスポートストリームを入力とし、その中から所望の映像・音声を伝送するＭＰＥＧ２トランスポートストリームパケット（以下ＴＳパケット）を選別し、合致したＴＳパケットが伝送する、映像・音声データを内包するＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットを出力する「ＴＳデコーダデバイス」、ＰＥＳパケットを入力とし、ＰＥＳパケットが伝送する映像・音声データをデコードし、画面表示可能な状態で出力する「ＡＶデコーダデバイス」が述べた順で接続されて一連の"情報受け渡し経路"を形成し、各々のデバイスがそれぞれの機能を果たすことで映像・音声を画面に表示することを可能としている。
【０００３】
このような放送受信装置において、処理を並列化するために、同一種類のデバイスが複数個存在する場合がある。例えばチューナデバイス、ＡＶデコーダデバイスが二個ずつ存在し、それらがＴＳデコーダデバイスに接続され、なおかつＴＳデコーダデバイスは複数のチューナデバイス、ＡＶデコーダデバイスについて、自由な組み合せで"情報受け渡し経路"を確立可能な能力を持つ場合、チューナデバイスＡとＡＶデコーダデバイスＡの間に、ＴＳデコーダデバイスをはさんで"情報受け渡し経路１"を確立し、チューナデバイスＢとＡＶデコーダデバイスＢの間に、ＴＳデコーダデバイスをはさんで"情報受け渡し経路２"を確立することが可能である。このような場合、"情報受け渡し経路１"と"情報受け渡し経路２"は、完全に互いに独立して放送信号からＭＰＥＧ２トランスポートストリームを復調して、同時に複数の映像・音声データをデコードすることが可能となり、「Ｐｉｃｔｕｒｅ  Ｉｎ  Ｐｉｃｔｕｒｅ（以下ＰＩＰ）」と呼ばれる、２種類の映像・音声を同時に１画面に表示する機能を実現することが可能となる。このような機器においては、常にＰＩＰを実現する必要があるわけではなく、通常、ユーザのリモコン入力などにより、単一映像の画面表示とＰＩＰ表示を切り替えられるようになっている。そのような場合における各デバイスの利用手法の代表例として例えば、特許文献１を挙げる。この発明は二つのチューナデバイス、１つのＡＶデコーダ、１つのＰＩＰデータ処理デバイスを持つ放送受信装置におけるＰＩＰの実現方法を考案している。この発明では、二つのチューナを「主チューナ」、「挿入画面用チューナ」と位置付け、ＰＩＰ表示の際は「挿入画面用チューナ」を利用することで既に選択済みの映像・音声を画面全域に表示したまま、選択候補の映像・音声を画面上の指定領域に出力することを可能としている。
【特許文献１】特開平８−２８９２２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
現在、ＤＶＢ−ＭＨＰ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇ−Ｍｕｌｔｉｍｅｄｉａ  Ｈｏｍｅ  Ｐｌａｔｆｏｒｍ）と呼ばれる、放送受信装置上でアプリケーションを動作させるための仕様が欧州で定義され、既に運用が開始されている。一方、米国ではＤＶＢ−ＭＨＰ仕様をベースとしてＯＣＡＰ（ＯｐｅｎＣａｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ）仕様を策定中であり、２００５年度中に運用が開始される予定である。また、その他各国でも同様の仕様の策定、運用が進められている。このようなアプリケーション実行仕様に準拠する放送受信装置は、放送信号からダウンロードする等の手法を用いて入手したプログラムを実行する機能を備えている。このようなプログラムの代表例としてゲームやＥＰＧ（Ｅｌｅｃｔｒｉｃａｌ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）アプリケーションを挙げることができる。
【０００５】
プログラムを実行可能な放送受信装置上で実行されるプログラムとして、前述したＰＩＰや高機能ＥＰＧ等、複数の映像・音声を同時に一画面に表示するようなアプリケーションは当然想定される。一画面に複数の映像・音声を同時に出力するためには、前述の特許に記載される例に代表されるように、複数デバイスの制御、特に各デバイスの"情報受け渡し経路"の設定を適切に行う必要がある。ＯＣＡＰ／ＤＶＢ−ＭＨＰ  ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）には、チューナデバイス、ＴＳデコーダデバイス、ＡＶデコーダデバイス等を個々に操作するための機能が既に具備され、このようなアプリケーションを実装することは現状でも不可能ではない。しかしながら、現状の仕様には各デバイス同士の"情報受け渡し経路"を設定するための機能は存在しない。例えば複数存在するチューナデバイスのうちのチューナデバイスＡと、複数存在するＴＳデコーダデバイスのうちのあるＴＳデコーダデバイスＢの間に"情報受け渡し経路"を確立する、という指定を行うことは不可能である。ＯＣＡＰ／ＤＶＢ−ＭＨＰでは、例えば映像・音声を出力する際、まずチューナデバイスに周波数等のチューニング情報を与えて、出力したい映像・音声を伝送するＭＰＥＧ２トランスポートストリームを復調するように設定する。次にＡＶデコーダに出力したい映像・音声の識別子を設定する。すると、放送受信装置のＯＳに搭載される機能を利用してＯＣＡＰ／ＤＶＢ−ＭＨＰ仕様に既定される機能を実現する"ミドルウェア"と呼ばれるプログラム（以降ＯＣＡＰ／ＤＶＢ−ＭＨＰミドルウェア）は、ＡＶデコーダに指定された識別子が指す映像・音声を含むＭＰＥＧ２トランスポートストリームを出力するチューナデバイスを、放送受信装置内で探索する。もしも存在すればその二つのデバイスについて、ＴＳデコーダをはさんで"情報受け渡し経路"を暗黙的に確立する。
【０００６】
このような仕様は、プログラムをデバイス管理に関する煩雑な処理から解放しており、一見するとプログラムにとって有益であると思える。しかしながら、逆の観点では、ミドルウェアが"情報受け渡し経路"の確立を暗黙的に行っているために、プログラムが"情報受け渡し経路"管理を行うことができないことを意味する。例えば図５２にて表されるハードウェア構成を考える。図５２にて表されるのはチューナが二つ（チューナ１０１ａ及びチューナ１０１ｂ）、ＡＶデコーダが二つ（ＡＶデコーダ１０３ａ及びＡＶデコーダ１０３ｂ）存在し、それらがＴＳデコーダ１０２によって接続される、という構造を持つデジタル放送受信装置である。本ハードウェア上でＰＩＰプログラムを動作させることを考える。図５２では、ハードウェア上にはチューナ二つ、ＡＶデコーダ二つが存在するので、その全てを占有してチューナ１０１ａとＡＶデコーダ１０３ａ間及び、チューナ１０１ｂとＡＶデコーダ１０３ｂ間に、ＴＳデコーダ１０２を介して二つの"情報受け渡し経路"を確立してしまえば、二つの映像を完全に独立して変更可能なＰＩＰプログラムが実現可能である。しかしながら、現在のＯＣＡＰ／ＤＶＢ−ＭＨＰミドルウェアにはデバイス間の"情報受け渡し経路"を確立する機能は存在せず、ＡＶデコーダは、ＰＩＰプログラムが映像と音声を指定してデコード要求を発行した時点で、その映像と音声を含むＭＰＥＧ２トランスポートストリームを復調しているチューナとの間に、ＴＳデコーダを介して"情報受け渡し経路"が暗黙的に確立される。そのため、例えば、同一のＭＰＥＧ２トランスポートストリーム内の映像音声に対するデコード要求を二つのＡＶデコーダに対して発行した場合、二つのＡＶデコーダと同一チューナとの間に"情報受け渡し経路"が確立されてしまうことがありうる。図５２の例で言えば、チューナ１０１ａとＡＶデコーダ１０３ａ間及び、チューナ１０１ａとＡＶデコーダ１０３ｂ間にＴＳデコーダ１０２を介して"情報受け渡し経路"が設定される。そのような場合で、なおかつＯＣＡＰ／ＤＶＢ−ＭＨＰミドルウェアの実装が、一度確立したＡＶデコーダとチューナ間の"情報受け渡し経路"を保ちつづけ、それ以降発行されるＡＶデコーダに対するデコード要求に対しては、最初に確立した"情報受け渡し経路"を利用するようなものであった場合、ＰＩＰプログラムはそれ以降１つのチューナしか利用できなくなってしまい、二つのＡＶデコーダは同一ＭＰＥＧ２トランスポートストリーム内の映像しか同時にデコードできなくなる。
【０００７】
このように暗黙的なデバイス間の"情報受け渡し経路"の確立をミドルウェアに促す手法は、プログラムのデバイス制御に関する負担を軽減すると同時に、デバイス管理に関する柔軟性を減少させる。さらに、上記図５２を用いた例に表されるように、プログラム動作のミドルウェア実装に対する依存性を高めてしまうため、動作が環境毎に異なるという不安定性の原因となる可能性がある。
【０００８】
そこで、本発明は上記の事情に鑑みてなされたものであり、プログラム（アプリケーションプログラム）からデバイス間の情報受け渡し経路の設定を制御することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係る情報処理装置は、所定の機能を実行するデバイスを複数備える情報処理装置であって、プログラムを実行するプログラム実行手段と、前記デバイスに関する情報を管理するとともに、前記デバイス間に情報受け渡し経路を設定するデバイス管理手段とを備え、前記デバイス管理手段は、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイス間に情報受け渡し経路を設定する情報経路設定部を備えることを特徴とする。
【００１０】
これによって、プログラム実行手段により実行されるプログラムは、ハードウェア上の情報受け渡し経路を設定することが可能である。
【００１１】
ここで、前記デバイス管理手段は、さらに、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイスを識別するためのデバイス識別子を前記プログラムへ通知するデバイス識別子通知部を備え、前記情報経路設定部は、前記プログラムによって前記デバイス識別子を複数用いて指定されたデバイス間に、指定された順序で情報受け渡し経路を設定してもよい。
【００１２】
また、前記情報経路設定部は、前記プログラムによって前記デバイス識別子を二つ用いて二つのデバイスが指定された場合、指定されたデバイス間に情報受け渡し経路を設定してもよい。
【００１３】
また、前記情報経路設定部は、前記プログラムによって前記デバイス識別子を二つ以上用いて二つ以上のデバイスが指定された場合、指定された順序で、指定されたデバイス間に情報受け渡し経路を設定してもよい。
【００１４】
これによって、プログラムは、デバイスを指定して、ハードウェア上の情報受け渡し経路を詳細に設定することが可能である。
【００１５】
また、前記デバイス識別子通知部は、前記プログラムによって指定された種類のデバイスに対応するデバイス識別子を前記プログラムへ通知してもよい。
【００１６】
これによって、プログラムは自身が利用したいデバイスの種類に合致するデバイスのデバイス識別子のみを取得することが可能となる。
【００１７】
また、前記デバイス識別子通知部は、前記プログラムによって指定されたデバイス識別子で特定されるデバイスとの間に、情報受け渡し経路を設定可能な全てのデバイスに対応するデバイス識別子を前記プログラムへ通知してもよい。
【００１８】
これによって、プログラムは指定したデバイスとの間に情報受け渡し経路を設定可能なデバイスを表すデバイス識別子を取得することが可能となる。
【００１９】
また、前記デバイス識別子通知部は、前記プログラムによって指定されたデバイス識別子で特定されるデバイスとの間に、情報受け渡し経路が設定されている全てのデバイスに対応するデバイス識別子を前記プログラムへ通知してもよい。
【００２０】
これによって、プログラムは指定したデバイスとの間に既に情報受け渡し経路が設定されているデバイスを表すデバイス識別子を取得することが可能となる。
【００２１】
また、前記デバイス識別子通知部は、前記プログラムによって指定されたデバイス識別子で特定されるデバイスとの間に、情報受け渡し経路を設定可能、かつまだ情報受け渡し経路の一部となっていないデバイスに対応するデバイス識別子を前記プログラムへ通知してもよい。
【００２２】
これによって、プログラムは指定したデバイスと即座に情報受け渡し経路を設定可能なデバイスを表すデバイス識別子を取得することが可能となる。
【００２３】
また、前記デバイス管理手段は、さらに、前記プログラムによって指定されたデバイス識別子で特定されるデバイスが、複数の情報受け渡し経路に含まれることの可否を前記プログラムへ通知するデバイス共有可否通知部を備えてもよい。
【００２４】
これによって、プログラムは指定したデバイスが複数の情報受け渡し経路に含まれ得るかどうかの判定結果を取得することが可能となる。
【００２５】
ここで、前記デバイス共有可否通知部は、前記デバイスが含まれることができる情報受け渡し経路の最大数を通知することにより、前記可否を前記プログラムへ通知してもよい。
【００２６】
これによって、プログラムは指定したデバイスが含まれ得る情報受け渡し経路の数を取得することが可能となり、さらに、デバイスが複数の情報受け渡し経路に含まれ得るかどうかの判定を行うことが可能となる。
【００２７】
また、前記デバイス管理手段は、さらに、前記プログラムによって指定された、複数の前記デバイスにより実現される大機能を示す機能識別子に基づいて、前記大機能を実現するために必要なデバイスを特定する機能解釈部を備え、前記情報経路設定部は、前記機能解釈部によって特定された前記デバイス間に情報受け渡し経路を設定してもよい。
【００２８】
これによって、個別のデバイスを指定することなく情報受け渡し経路を設定することが可能である。
【００２９】
また、前記プログラムは、前記デバイス管理手段に対して要求を行った際には、前記デバイス管理手段からの応答を受けて、同期して処理を再開してもよい。
【００３０】
これによって、プログラム実行手段により実行されるプログラムは、情報経路設定処理の終了タイミングを容易に知ることが可能となる。
【００３１】
また、前記プログラムは、前記デバイス管理手段に対して要求を行った際には、前記デバイス管理手段からの応答に関係なく、非同期的に処理を実行してもよい。
【００３２】
これによって、プログラム実行手段により実行されるプログラムは、情報処理装置が情報経路設定処理を行う間も、自身の別処理を進めることが可能である。
【００３３】
また、前記情報経路設定部は、前記プログラムによって指定された複数のデバイスのいずれかが、すでに別の情報受け渡し経路の一部として設定されていた場合、新たな情報受け渡し経路を設定しなくてもよい。
これによって、既に設定した情報受け渡し経路を意図しない変更から保護することが可能となる。
【００３４】
また、前記情報経路設定部は、前記プログラムによって指定された複数のデバイス間に情報受け渡し経路を設定することに成功したか失敗したかを表す処理結果を前記プログラムへ通知してもよい。
【００３５】
これによって、プログラム実行手段により実行されるプログラムは、情報受け渡し経路の処理結果を得ることが可能となる。
【００３６】
また、前記情報経路設定部は、前記プログラムによって指定された複数のデバイス間に情報受け渡し経路を設定することに失敗した場合、失敗の理由を前記プログラムへ通知してもよい。
【００３７】
これによって、プログラム実行手段により実行されるプログラムは、情報受け渡し経路の設定処理が失敗した理由を取得することが可能となる。
【００３８】
また、前記デバイス管理手段は、さらに、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイス間に設定された情報受け渡し経路を設定解除する情報経路解除部を備えてもよい。
これによって、プログラムは、設定した情報受け渡し経路を解除することが可能である。
【００３９】
ここで、前記デバイス管理手段は、さらに、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイスを識別するためのデバイス識別子を前記プログラムへ通知するデバイス識別子通知部を備え、前記情報経路解除部は、前記プログラムによって前記デバイス識別子を複数用いて指定されたデバイス間に、指定された順序で設定された情報受け渡し経路を設定解除してもよい。
【００４０】
また、前記情報経路解除部は、前記プログラムによって前記デバイス識別子を二つ用いて二つのデバイスが指定された場合、指定されたデバイス間に設定された情報受け渡し経路を設定解除してもよい。
【００４１】
また、前記情報経路解除部は、前記プログラムによって前記デバイス識別子を二つ以上用いて二つ以上のデバイスが指定された場合、二つ以上の前記デバイス間に指定された順序で設定された情報受け渡し経路を設定解除してもよい。
これによって、プログラムは、デバイスを指定して、設定した情報受け渡し経路を解除することが可能である。
【００４２】
また、前記デバイス管理手段は、さらに、前記プログラムによって指定された、複数の前記デバイスにより実現される大機能を示す機能識別子に基づいて、前記大機能を実現するために必要なデバイスを特定する機能解釈部を備え、前記情報経路解除部は、前記機能解釈部によって特定された前記デバイス間に設定された情報受け渡し経路を設定解除してもよい。
【００４３】
これによって、個別のデバイスを指定することなく、設定された情報受け渡し経路を解除することが可能である。
【００４４】
また、前記情報経路解除部は、前記プログラムによって指定された複数のデバイス間に設定された情報受け渡し経路を設定解除することに成功したか失敗したかを表す処理結果を前記プログラムへ通知してもよい。
これによって、プログラムは、情報受け渡し経路の解除処理結果を得ることが可能となる。
【００４５】
また、前記情報経路解除部は、前記プログラムによって指定された複数のデバイス間に設定された情報受け渡し経路を設定解除することに失敗した場合、失敗の理由を前記プログラムへ通知してもよい。
【００４６】
これによって、プログラムは、情報受け渡し経路の解除処理が失敗した理由を取得することが可能となる。
【００４７】
また、前記デバイス管理手段は、さらに、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記情報処理装置上に存在する前記デバイスの数を前記プログラムへ通知するデバイス数通知部を備えてもよい。
【００４８】
これによって、プログラムは、情報処理装置上に存在するデバイスの数を取得することが可能となる。
【００４９】
また、前記デバイス数通知部は、前記プログラムによって指定された前記デバイスの種類に対応するデバイスの数を前記プログラムへ通知してもよい。
【００５０】
これによって、プログラムは、自身が利用したいデバイスの種類に合致するデバイスの数を取得することが可能となる。
【００５１】
また、前記デバイス管理手段は、さらに、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイス間に情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知する経路設定可否通知部を備えてもよい。
これによって、プログラムは、情報受け渡し経路を設定することが可能であるか否かの判断を事前に得ることが可能となる。
【００５２】
ここで、前記デバイス管理手段は、さらに、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイスを識別するためのデバイス識別子を前記プログラムへ通知するデバイス識別子通知部を備え、前記経路設定可否通知部は、前記プログラムによって前記デバイス識別子を複数用いて指定されたデバイス間に、指定された順序で情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知してもよい。
【００５３】
これによって、プログラムは、デバイスを指定して、情報受け渡し経路を設定することが可能であるか否かの判断を事前に取得することが可能となる。
【００５４】
また、前記経路設定可否通知部は、前記プログラムによって前記デバイス識別子を二つ用いて二つのデバイスが指定された場合、指定されたデバイス間に情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知してもよい。
【００５５】
これによって、プログラムは、二つのデバイス間に情報受け渡し経路を設定することが可能であるか否かの判断を取得することが可能となる。
【００５６】
また、前記経路設定可否通知部は、前記プログラムによって前記デバイス識別子を二つ以上用いて二つ以上のデバイスが指定された場合、指定された順序で、指定されたデバイス間に情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知してもよい。
【００５７】
これによって、プログラムは、二つ以上のデバイス間に情報受け渡し経路を設定することが可能であるか否かの判断を取得することが可能となる。
【００５８】
また、前記デバイス管理手段は、さらに、前記プログラムによって指定された、複数の前記デバイスにより実現される大機能を示す機能識別子に基づいて、前記大機能を実現するために必要なデバイスを特定する機能解釈部を備え、前記経路設定可否通知部は、前記機能解釈部によって特定された前記デバイス間に情報受け渡し経路を設定することが可能であるか否かを前記プログラムへ通知してもよい。
【００５９】
これによって、個別のデバイスを指定することなく、必要な情報受け渡し経路を設定することが可能であるか否かの判断を取得することが可能である。
【００６０】
また、前記デバイス管理手段は、さらに、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイス間に情報受け渡し経路が設定されているか否かを前記プログラムへ通知する経路状態通知部を備えてもよい。
【００６１】
これによって、プログラムは、デバイス間に既に情報受け渡し経路が設定されているか否かの判断を取得することが可能となる。
【００６２】
ここで、前記デバイス管理手段は、さらに、前記プログラム実行手段により実行されるプログラムからの要求に基づいて、前記デバイスを識別するためのデバイス識別子を前記プログラムへ通知するデバイス識別子通知部を備え、前記経路状態通知部は、前記プログラムによって前記デバイス識別子を複数用いて指定されたデバイス間に、指定された順序で情報受け渡し経路が設定されているか否かを前記プログラムへ通知してもよい。
【００６３】
これによって、プログラムは、デバイスを指定して、デバイス間に既に情報受け渡し経路が設定されているか否かの判断を取得することが可能となる。
【００６４】
また、前記経路状態通知部は、前記プログラムによって前記デバイス識別子を二つ用いて二つのデバイスが指定された場合、指定されたデバイス間に情報受け渡し経路が設定されているか否かを前記プログラムへ通知してもよい。
【００６５】
これによって、プログラムは、二つのデバイス間に既に情報受け渡し経路が設定されているか否かの判断を取得することが可能となる。
【００６６】
また、前記経路状態通知部は、前記プログラムによって前記デバイス識別子を二つ以上用いて二つ以上のデバイスが指定された場合、指定された順序で、指定されたデバイス間に情報受け渡し経路が設定されているか否かを前記プログラムへ通知してもよい。
【００６７】
これによって、プログラムは、二つ以上のデバイス間に既に情報受け渡し経路が設定されているか否かの判断を取得することが可能となる。
【００６８】
また、前記デバイス管理手段は、さらに、前記プログラムによって指定された、複数の前記デバイスにより実現される大機能を示す機能識別子に基づいて、前記大機能を実現するために必要なデバイスを特定する機能解釈部を備え、前記経路設定可否通知部は、前記機能解釈部によって特定された前記デバイス間に情報受け渡し経路が設定されているか否かを前記プログラムへ通知してもよい。
【００６９】
これによって、個別のデバイスを指定することなく、必要なデバイス間に既に情報受け渡し経路が設定されているか否かの判断を取得することが可能となる。
【００７０】
また、前記情報経路設定部は、前記プログラム実行手段により実行される複数のプログラムによって、同一のデバイスを含む情報受け渡し経路の設定が要求された場合、常に先に要求された情報受け渡し経路を優先して設定してもよい。
これによって、複数プログラム間のデバイスの競合を解決することが可能となる。
【００７１】
また、前記プログラム実行手段は、複数のプログラム間で優先度を管理し、前記優先度を用いてプログラムの優先度比較を行ってもよい。
【００７２】
これによって、複数プログラム間でデバイスの競合が発生した際に、より高い優先度を持つプログラムにデバイスの使用権を持たせるという整合性のとれたデバイス管理をおこなうことが可能となる。
【００７３】
また、前記情報経路設定部は、前記プログラム実行手段により実行される複数のプログラムによって、同一のデバイスを含む情報受け渡し経路の設定が要求された場合、常に高優先度のプログラムの情報受け渡し経路を優先して設定してもよい。
【００７４】
これによって、複数プログラム間でデバイスの競合が発生した際に、より高い優先度を持つプログラムが優先的に情報受け渡し経路を設定することが可能となる。
【００７５】
また、前記情報経路設定部は、前記情報受け渡し経路の設定後、より高い優先度を有する他のプログラムによって、前記情報受け渡し経路に設定したデバイスを含む情報受け渡し経路の設定が要求された場合、前記他のプログラムによって要求された情報受け渡し経路を設定するとともに、最初の情報受け渡し経路を要求したプログラムへその旨を通知してもよい。
【００７６】
これによって、最初の情報受け渡し経路を要求した優先度の低いプログラムは、情報受け渡し経路内のデバイスが奪われたことを知ることが可能となる。
【００７７】
また、前記情報経路設定部は、前記最初の情報受け渡し経路に含まれ、かつ前記他のプログラムによって要求された情報受け渡し経路を構成していたデバイスが、再度利用可能になった場合、前記デバイスが再利用可能である旨を最初の情報受け渡し経路を要求したプログラムへ通知してもよい。
【００７８】
これによって、最初の情報受け渡し経路を要求した優先度の低いプログラムは、奪われたデバイスが再利用可能になったことを知ることが可能となる。
【００７９】
また、前記情報経路設定部は、前記最初の情報受け渡し経路に含まれ、かつ前記他のプログラムによって要求された情報受け渡し経路を構成していたデバイスが、再度利用可能になった場合、前記最初の情報受け渡し経路を再設定し、前記最初の情報受け渡し経路を要求したプログラムへ再設定を通知してもよい。
【００８０】
これによって、最初の情報受け渡し経路を要求した優先度の低いプログラムは、奪われたデバイスが再利用可能になり、情報受け渡し経路が再設定されたことを知ることが可能となる。
【００８１】
また、前記デバイス管理手段は、前記プログラムからの要求により前記デバイスを制御するとともに、前記プログラムからの要求により前記デバイスに関する情報を前記プログラムへ通知することが好ましい。
【００８２】
すなわち、前記デバイス管理手段は、ミドルウェアであって、プログラム実行手段により実行されるプログラムからデバイス間の情報受け渡し経路の設定を制御することができる。
【００８３】
さらに、本発明は、このような情報処理装置として実現することができるだけでなく、このような情報処理装置が含む特徴的な手段をステップとして含む情報処理方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００８４】
以上の説明から明らかなように、本発明に係る情報処理装置によれば、プログラム（アプリケーションプログラム）からデバイス間の情報受け渡し経路の設定を制御することができる。
【発明を実施するための最良の形態】
【００８５】
（実施の形態１）
本発明は、対象となる放送システムとして、衛星システム、地上波システム、ケーブルシステムの三種類の運用形態を想定する。衛星システムは衛星を用いて放送信号を放送受信装置に伝送する形態、地上波システムは地上波信号送出装置を用いて放送信号を放送受信装置に伝送する形態、ケーブルシステムはケーブルヘッドエンドを用いて放送信号を放送受信装置に伝送する形態である。本発明は各放送システムの違いと直接的な関係を持たないため、放送システムに係らず適用可能である。
【００８６】
本発明に係る放送システムの実施の形態を、図面を参照しながら説明する。図１は、放送システムを構成する装置の関係を表したブロック図であり、放送局側システム２０１及び三個の端末装置Ａ２１１、端末装置Ｂ２１２、端末装置Ｃ２１３で構成される。放送局側システム〜各端末装置間の結合２２１については有線／無線の両場合が存在する。例えばケーブルシステムでは、放送局側システム〜各端末装置間は有線にて結合される。一方、衛星／地上波システムにおける放送局側システム〜各端末装置間には、下り（放送局側システムから各端末装置へ）方向には有線結合は存在せず、放送信号は電波を利用して伝送される。上り（各端末装置から放送局側システムへ）方向については電話回線、有線インターネット等を利用した有線結合、無線通信を利用した無線結合の両場合があり、各端末装置はユーザ入力等の情報を放送局側システムへ送信する。本実施の形態では、１つの放送局側システムに対して三つの端末装置が結合されているが、任意の数の端末装置を放送局側システムに結合しても、本発明は適用可能である。
【００８７】
放送局側システム２０１は、複数の端末装置に対して映像・音声・データ放送用データ等の情報を放送信号に含めて送信する。放送信号は放送システムの運用既定や、放送システムが運用される国・地域の法律により定められた周波数帯域内の周波数を利用して伝送される。
【００８８】
例として、ケーブルシステムに関する放送信号伝送既定の例を示す。本例に示すケーブルシステムでは、放送信号伝送に利用される周波数帯域は、そのデータの内容と伝送方向（上り、下り）について、分割して用いられる。図２は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主に放送局側システム２０１と端末装置Ａ２１１、端末装置Ｂ２１２、端末装置Ｃ２１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４またはＱＡＭ２５６変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図３は、ＯＯＢ周波数帯域の更に詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚは放送局側システム２０１からのデータ送信に使用され、全ての端末装置Ａ２１１、端末装置Ｂ２１２、端末装置Ｃ２１３が、放送局側システム２０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ２１１から放送局側システム２０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ２１２から放送局側システム２０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ２１３から放送局側システム２０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ２１１、端末装置Ｂ２１２、端末装置Ｃ２１３から放送局側システム２０１に送信することができる。図４は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたＴＳパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
【００８９】
放送局側システム２０１は、これらの周波数帯域を利用して端末装置に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器を有する。また、放送局側システム２０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【００９０】
端末装置Ａ２１１、端末装置Ｂ２１２、端末装置Ｃ２１３は、放送局側システム２０１からの放送信号を受信し再生する。また、放送局側システム２０１に対して、各端末装置固有のデータを送信する。三つの端末装置は、本実施の形態では同じ構成を取る。
【００９１】
なお、本例ではケーブルシステム運用に関する一例の詳細を紹介しているが、本発明は衛星、地上波システム及びケーブルシステムの他形態においても適用可能である。衛星及び地上波システムにおける放送局側システムと各端末装置の結合は、前記のように有線／無線の両場合が存在し、さらに周波数帯域や周波数間隔、変調方式、放送局側システムの構成等は放送システムの種別や運用に依存して異なるが、それらは本発明との関連性はなく、本発明はそれらがどのように既定されようと適用可能である。
【００９２】
放送局側システム２０１は、ＭＰＥＧ２トランスポートストリームを変調して放送信号に含めて伝送する。放送受信装置は放送信号を受信し、復調してＭＰＥＧ２トランスポートストリームを再現し、その中から必要な情報を抽出して用いる。デジタル放送受信装置に存在するデバイスの機能と接続の構成を説明するため、まずＭＰＥＧ２トランスポートストリームの構成を簡単に述べる。
【００９３】
図５はＴＳパケットの構成を表す図である。ＴＳパケット６００は１８８バイトの長さを持ち、ヘッダ６０１、アダプテーションフィールド６０２、ペイロード６０３からなる。ヘッダ６０１はＴＳパケットの制御情報を保持する。４バイトの長さを持ち、６０４で表される構成をとる。この中に"Ｐａｃｋｅｔ  ＩＤ（以下ＰＩＤ）"と記述されるフィールドを持ち、このＰＩＤの値によって、ＴＳパケットの識別を行う。アダプテーションフィールド６０２は時刻情報などの付加的な情報を保持する。アダプテーションフィールド６０２の存在は必須ではなく、存在しない場合もある。ペイロード６０３は映像・音声やデータ放送用データ等、ＴＳパケットが伝送する情報を保持する。
【００９４】
図６はＭＰＥＧ２トランスポートストリームの模式図である。ＴＳパケット７０１及びＴＳパケット７０３はヘッダにＰＩＤ１００を保持し、ペイロードに映像１に関する情報を保持する。ＴＳパケット７０２及びＴＳパケット７０５はヘッダにＰＩＤ２００を保持し、ペイロードにデータ１に関する情報を保持する。ＴＳパケット７０４はヘッダにＰＩＤ３００を保持し、ペイロードに音声１に関する情報を保持する。
【００９５】
ＭＰＥＧ２トランスポートストリーム７００はＴＳパケット７０１〜７０５のような連続したＴＳパケットによって構成される。ＴＳパケットはそのペイロードに映像や音声、データ放送用のデータなど様々な情報を保持する。放送受信装置はＴＳパケットを受信して、各ＴＳパケットが保持する情報を抽出することで、映像・音声を再生し、番組編成情報等のデータを利用する。この時、同一ＰＩＤを持つＴＳパケットは同一種類の情報を保持する。図６においても、ＴＳパケット７０１及びＴＳパケット７０３は共に映像１に関する情報を伝送し、またＴＳパケット７０２及びＴＳパケット７０５は共にデータ１に関する情報を伝送する。
【００９６】
映像及び音声は、ＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットと呼ばれる形式で表現される。ＰＥＳパケットは実際に伝送される際、分割してＴＳパケットに格納される。図７はＰＥＳパケットを伝送する際の分割例を表す。ＰＥＳパケット８０１は一つのＴＳパケット内のペイロードに格納して伝送するには大きいため、ＰＥＳパケット分割Ａ８０２ａ、ＰＥＳパケット分割Ｂ８０２ｂ、ＰＥＳパケット分割Ｃ８０２ｃに分割され、同一ＰＩＤを持つ三つのＴＳパケット８０３〜８０５によって伝送される。なお、ＰＥＳパケットは運用によっては映像・音声だけでなく、サブタイトルと呼ばれる字幕用データを伝送することもある。
【００９７】
番組編成情報やデータ放送用のデータ等の情報はＭＰＥＧ２セクションと呼ばれる形式を用いて表現される。ＭＰＥＧ２セクションは実際に伝送される際、分割してＴＳパケットに格納される。図８はＭＰＥＧ２セクションを伝送する際の分割例を表す。ＭＰＥＧ２セクション９０１は一つのＴＳパケット内のペイロードに格納して伝送するには大きいため、セクション分割Ａ９０２ａ、セクション分割Ｂ９０２ｂ、セクション分割Ｃ９０２ｃに分割され、同一ＰＩＤを持つ三つのＴＳパケット９０３〜９０５によって伝送される。
【００９８】
図９はＭＰＥＧ２セクションの構造を表現する。ＭＰＥＧ２セクション１０００はヘッダ１００１及びペイロード１００２から構成される。ヘッダ１００１はＭＰＥＧ２セクションの制御情報を保持する。その構成はヘッダ構成１００３によって表現される。ペイロード１００２はＭＰＥＧ２セクション１０００が伝送するデータを保持する。ヘッダ構成１００３に存在するｔａｂｌｅ＿ｉｄはＭＰＥＧ２セクションの種類を表現し、さらにｔａｂｌｅ＿ｉｄ＿ｅｘｔｅｎｓｉｏｎはｔａｂｌｅ＿ｉｄが等しいＭＰＥＧ２セクション同士を区別する際に用いられる拡張識別子である。ＭＰＥＧ２セクションの使用例として、図１０に番組編成情報を伝送する場合を挙げる。この例では、行１１０４に記載されるように、放送信号の復調に必要な情報はヘッダ構成１００３内のｔａｂｌｅ＿ｉｄが６４であるＭＰＥＧ２セクションに記載され、さらにそのＭＰＥＧ２セクションはＰＩＤに１６が付与されたＴＳパケットによって伝送される。
【００９９】
このようにＭＰＥＧ２トランスポートストリームは様々な情報を伝送するために階層構成をとる。放送受信装置は、放送信号内に存在するＭＰＥＧ２トランスポートストリームが内包する情報を、ＭＰＥＧ２トランスポートストリームの階層構成を辿りながら抽出する必要があり、そのためのデバイスを搭載している。それらデバイスは一方の出力が他方の入力となるように互いに物理的に接続される。さらに、同一種類のデバイスが複数存在するときには単に物理的に接続されるだけでなく、同一種類のデバイスのうち、どのデバイスに入力するか、あるいは同一種類のデバイスのうち、どのデバイスからの出力を受け取るか、という"情報の受け渡し経路"を確立する必要がある。例えば、チューナが複数、ＴＳデコーダが一つ、ＡＶデコーダが複数存在し、ＴＳデコーダは全てのチューナ及び全てのＡＶデコーダに"物理的に"接続されている環境であっても、実際に単一映像音声をデコードする際には、単一のチューナと、単一のＡＶデコーダを、ＴＳデコーダを介して"論理的に"接続して "情報の受け渡し経路"を確立する必要がある。以下、全ての実施の形態において利用する「物理的な接続」「論理的な接続」「デバイス論理接続パス」という語句を定義する。
【０１００】
「物理的な接続」及び「物理接続」はデバイスがハードウェア上で接続されていることを表す。デバイスＡとデバイスＢが「物理的に接続」されているとは、デバイスＡとデバイスＢはハードウェア上で接続されていることを表す。
【０１０１】
「論理的な接続」及び「論理接続」はデバイスが単に「物理的に接続」されるだけでなく、"情報の受け渡し経路"を構成していることを表す。デバイスＡとデバイスＢが「論理的に接続」されているとは、デバイスＡの出力情報がデバイスＢの入力情報となるように、あるいはデバイスＢの出力情報がデバイスＡの入力情報となるように、"データの受け渡し経路"が確立されていることを表す。
【０１０２】
「デバイス論理接続パス」は"データの受け渡し経路"そのものを指す。
デバイスＡとデバイスＢが「物理的に接続」されていることは、デバイスＡとデバイスＢが「論理的に接続」される最低条件である。デバイスＡとデバイスＢが「物理的に接続」されていない場合、デバイスＡとデバイスＢを「論理的に接続」することは不可能である。デバイスＡとデバイスＢが「論理的に接続」されている場合、当然デバイスＡとデバイスＢは「物理的に接続」されている。
【０１０３】
以降、本実施の形態の前提となる状況に関して説明する。
デジタル放送受信装置の一般的なハードウェア構成を表すブロック図を図１１に示す。端末装置１２００は、チューナ１２０１、ＴＳデコーダ１２０２、ＡＶデコーダ１２０３、スピーカ１２０４、ディスプレイ１２０５、ＣＰＵ１２０６、２次記憶部１２０７、１次記憶部１２０８、ＲＯＭ１２０９、入力部１２１０で構成される。
【０１０４】
チューナ１２０１はＣＰＵ１２０６が指定する周波数を含むチューニング情報に従って、放送局側システム２０１内で変調され伝送されてきた放送信号を復調するデバイスである。チューナ１２０１が復調して得られるＭＰＥＧ２トランスポートストリームはＴＳデコーダ１２０２に送信される。
【０１０５】
ＴＳデコーダ１２０２は、ＣＰＵ１２０６が指定するＰＩＤ，セクション選別条件等の指定に基づいてＭＰＥＧ２トランスポートストリームから指定条件に合致するＰＥＳパケットやＭＰＥＧ２セクションを選別する機能を有するデバイスである。ＴＳデコーダ１２０２が選別したＰＥＳパケットはＡＶデコーダ１２０３に転送される。また、ＴＳデコーダ１２０２が選別したＭＰＥＧ２セクションは、１次記憶部１２０８にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送され、ＣＰＵ１２０６が実行するプログラムによって利用される。なお、ＴＳデコーダ１２０２は、上記ＰＥＳパケット及びＭＰＥＧ２セクションの選別機能の他に、暗号化（スクランブル）されたＰＥＳパケット及びＭＰＥＧ２セクションの暗号解除（デスクランブル）機能や、入力されたＭＰＥＧ２トランスポートストリームを、ＴＳデコーダ１２０２に物理的に接続された別のデバイスに転送する機能等を持つ。
【０１０６】
ＡＶデコーダ１２０３はデジタルエンコードされた映像及び音声をデコードする機能を有するデバイスである。ＡＶデコーダ１２０３がデコードして得られたＡＶ信号は、スピーカ１２０４、ディスプレイ１２０５に送信される。なお、ＡＶデコーダ１２０３は必ずしも映像及び音声を同時にデコードできない場合もある。映像デコーダ、音声デコーダ単体として存在することもある。なお、ＡＶデコーダ１２０３は場合によってはサブタイトルデータに対するデコード機能を有する場合もある。
【０１０７】
スピーカ１２０４、ディスプレイ１２０５はそれぞれＡＶデコーダ１２０３から送信された音声、映像を出力する機能を有するデバイスである。
ＣＰＵ１２０６は放送受信装置上で動作するプログラムを実行する。ＣＰＵ１２０６が実行するプログラムは、ＲＯＭ１２０９に含まれる場合、放送信号やネットワークよりダウンロードされ１次記憶部１２０８に保持されている場合、放送信号やネットワークよりダウンロードされ２次記憶部１２０７に保存されている場合などが存在する。実行するプログラムの指示に従い、チューナ１２０１、ＴＳデコーダ１２０２、ＡＶデコーダ１２０３、スピーカ１２０４、ディスプレイ１２０５、２次記憶部１２０７、１次記憶部１２０８、ＲＯＭ１２０９、入力部１２１０を制御する。
【０１０８】
２次記憶部１２０７はＦＬＡＳＨ−ＲＯＭなどの不揮発性メモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ−ＲやＤＶＤ−Ｒなどの書き換え可能のメディアなど、端末装置１２００の電源断の際にも情報が消去されない機器によって構成され、ＣＰＵ１２０６の指示により情報の保存を行う。端末装置１２００の電源断によって消えては困るデータの保存に利用される。
【０１０９】
１次記憶部１２０８はＲＡＭ等によって構成され、ＣＰＵ１２０６やＤＭＡ可能なデバイスの指示に従って情報を一時的に保存する機能を有するデバイスである。１次記憶部１２０８に保持された情報は、端末装置１２００の電源断によって消去される。
【０１１０】
ＲＯＭ１２０９は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ１２０９には、ＣＰＵ１２０６が実行するプログラムが格納されている。
【０１１１】
入力部１２１０は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図１２は、フロントパネルで入力部１２１０を構成した場合の一例である。フロントパネル１３００は七つのボタン、上カーソルボタン１３０１、下カーソルボタン１３０２、左カーソルボタン１３０３、右カーソルボタン１３０４、ＯＫボタン１３０５、取消ボタン１３０６、ＥＰＧボタン１３０７を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ１２０６に通知される。
【０１１２】
なお、図１１ではディスプレイ１２０５、スピーカ１２０４を放送受信装置内部に包含する形で表現するが、放送受信装置にはディスプレイ１２０５、スピーカ１２０４を内包せず、外部にＡＶ信号のみ出力するタイプのものも存在する。ディスプレイ１２０５及びスピーカ１２０４の存在場所は本発明と関連性がなく、どちらのタイプに対しても本発明は適用可能である。
【０１１３】
次に、デバイスが端末装置上に複数存在する場合のハードウェア構成例として図１３を示す。端末装置１４００は、チューナ１４０１、ＴＳデコーダ１４０２、ＡＶデコーダ１４０３、スピーカ１４０４、ディスプレイ１４０５、ＣＰＵ１４０６、２次記憶部１２０７、１次記憶部１２０８、ＲＯＭ１２０９、入力部１２１０で構成される。図１１と図１３の違いはチューナ１４０１で表現される部分に二つのチューナ（チューナ１４０１ａとチューナ１４０１ｂ）が存在すること及びＡＶデコーダ１４０３で表現される部分に二つのＡＶデコーダ（ＡＶデコーダ１４０３ａとＡＶデコーダ１４０３ｂ）が存在することである。端末装置１４００に存在する、図１１と同一の番号で識別されるデバイスは、図１１の場合と同じ動作を行うものであり説明を省略する。以下、図１１におけるハードウェア構成と図１３におけるハードウェア構成の相違点について説明する。
【０１１４】
チューナ１４０１ａ及びチューナ１４０１ｂはＣＰＵ１４０６が指定する周波数を含むチューニング情報に従って、放送局側システム２０１で変調され伝送されてきた放送信号を復調するデバイスであり、互いに独立して動作することが可能である。チューナ１４０１ａ及びチューナ１４０１ｂが復調して得られるＭＰＥＧ２トランスポートストリームは、それぞれＴＳデコーダ１４０２に送信される。
【０１１５】
なお、図１３に表されるハードウェア構成例ではチューナを二つとしているが、チューナの数に依存せずに本発明は適用可能である。
ＴＳデコーダ１４０２は、ＴＳデコーダ１２０２と同様、ＰＩＤ，セクションフィルタ条件等の指定に基づいて、入力されたＭＰＥＧ２トランスポートストリームから指定条件に合致するＰＥＳパケットやＭＰＥＧ２セクションを選別する機能を有するデバイスである。図１３のハードウェア構成では、ＴＳデコーダ１４０２はチューナ１４０１ａとチューナ１４０１ｂの二つのチューナからＭＰＥＧ２トランスポートストリームが入力されるが、その各々に対してＰＥＳパケットやＭＰＥＧ２セクションを選別することが可能である。さらに図１３のハードウェア構成において、ＴＳデコーダ１４０２はＡＶデコーダ１４０３ａとＡＶデコーダ１４０３ｂの二つのＡＶデコーダに対して選別したＰＥＳパケットを送付可能である。
【０１１６】
なお、図１３のハードウェア構成例ではＴＳデコーダ１４０２のＭＰＥＧ２トランスポートストリーム入力の数は２だが、本発明はこの数には依存せずに適用可能である。また本ハードウェア構成ではＴＳデコーダ１４０２のＡＶデコーダに対するＰＥＳパケットの出力数は２だが、本発明はこの数には依存せずに適用可能である。また、ＴＳデコーダ１４０２自身が複数あったとしても、本発明は適用可能である。
【０１１７】
ＡＶデコーダ１４０３ａ及びＡＶデコーダ１４０３ｂは入力されたＰＥＳパケットが内包する、エンコードされた映像データ及びエンコードされた音声データをデコードする機能を有するデバイスである。ＡＶデコーダ１４０３ａ及びＡＶデコーダ１４０３ｂがデコードして得られた映像、音声のＡＶ信号は、それぞれディスプレイ１４０５、スピーカ１４０４に送信される。図１３のハードウェア構成例では放送受信装置１４００内にはＡＶデコーダ１４０３ａとＡＶデコーダ１４０３ｂの二つが存在し、それぞれＴＳデコーダ１４０２から出力されたＰＥＳパケットを独立してデコードすることが可能である。
【０１１８】
なお、図１３のハードウェア構成例ではＡＶデコーダの数は２だが、本発明はこの数には依存せずに適用可能である。
スピーカ１４０４、ディスプレイ１４０５はそれぞれ音声、映像を出力する機能を有するデバイスである。本実施の形態では二つのＡＶデコーダよりＡＶ信号が入力されており、その出力形態はＣＰＵ１４０６の指示により決定される。例えばＡＶデコーダ１４０３ａが出力したＡＶ信号のみ出力する、ＡＶデコーダ１４０３ｂが出力した映像を全画面表示し、ＡＶデコーダ１４０３ａが出力した映像をＡＶデコーダ１４０３ｂが出力した映像の手前に右下４分の１表示する、などという指定が可能である。
【０１１９】
ＣＰＵ１４０６は放送受信装置１４００上で動作するプログラムを実行する。ＣＰＵ１４０６が実行するプログラムはＲＯＭ１２０９に含まれる場合、放送信号やネットワークよりダウンロードされ１次記憶部１２０８に保持されている場合、放送信号やネットワークよりダウンロードされ２次記憶部１２０７に保存されている場合などが存在する。実行するプログラムの指示に従い、チューナ１４０１、ＴＳデコーダ１４０２、ＡＶデコーダ１４０３、スピーカ１４０４、ディスプレイ１４０５、２次記憶部１２０７、１次記憶部１２０８、ＲＯＭ１２０９、入力部１２１０を制御する。図１３のハードウェア構成におけるチューナ１４０１やＡＶデコーダ１４０３のように、同一種類のデバイスが複数存在する場合には、ＣＰＵ１４０６は、その各々を個別に指定して制御することが可能である。
【０１２０】
図１１や図１３に表されるハードウェア構成において、各デバイスは端末装置に出荷時にデフォルトで内包されている。しかし、端末装置上に搭載されていないデバイスを追加するため、及び端末装置上に搭載されているデバイスの機能を向上させるため、追加したいデバイスを搭載したアダプタをさらに端末装置に付与することがある。このようなハードウェア構成例として図１４を表す。端末装置１５００は、チューナ１５０１、ＴＳデコーダ１５０２、ＡＶデコーダ１２０３、スピーカ１２０４、ディスプレイ１２０５、ＣＰＵ１５０６、２次記憶部１２０７、１次記憶部１２０８、ＲＯＭ１２０９、入力部１２１０で構成される。端末装置１５００に搭載される、図１１と同じ番号で識別されるデバイスは図１１の場合と同じ機能を有するため、説明を省略する。端末装置１５００にはアダプタ１５１１が付与される。アダプタ１５１１には端末装置１５００に追加したい機能を持つデバイスを搭載する。図１４のハードウェア構成例に登場するアダプタ１５１１にはＭＰＥＧ２トランスポートストリームを入力とし、入力されたＭＰＥＧ２トランスポートストリームに含まれるＴＳパケットに関して、ＣＰＵ１５０６が指定したＰＩＤを持つＴＳパケットに対してデスクランブル（暗号解除）を行うデバイス（デスクランブラ）を保持する。アダプタ１５１１が保持するデバイスを動作させるためにはアダプタ１５１１に対してチューナ１５０１が復調したＭＰＥＧ２トランスポートストリームを入力する必要がある。そのため、チューナ１５０１は復調したＭＰＥＧ２トランスポートストリームをアダプタ１５１１に入力する。アダプタ１５１１は、入力されたＭＰＥＧ２トランスポートストリーム内の、ＣＰＵ１５０６が指定したＴＳパケットに対する暗号解除を終えた後、ＭＰＥＧ２トランスポートストリームをＴＳデコーダ１５０２に送信する。ＴＳデコーダ１５０２は、図１１におけるＴＳデコーダ１２０２がチューナ１２０１から入力されるＭＰＥＧ２トランスポートストリームに対して処理を行うことができるのと同様、アダプタ１５１１から入力されたＭＰＥＧ２トランスポートストリームに対して処理を行うことが可能である。ＣＰＵ１５０６は端末装置１５００内に存在するデバイスだけでなく、アダプタ１５１１内のデバイスと通信あるいは制御することが可能である。
【０１２１】
なお、図１４に表されるハードウェア構成では、アダプタ１５１１はデスクランブラを搭載するが、本発明はアダプタ１５１１が保持するデバイスの種類や数に依存せずに適用可能である。さらに、図１４に表されるハードウェア構成では、アダプタ１５１１は、チューナ１５０１からＭＰＥＧ２トランスポートストリームを入力され、ＴＳデコーダ１５０２にＭＰＥＧ２トランスポートストリームを送信する構成をとるが、放送信号を加工する過程のどの部分にアダプタ１５１１が搭載するデバイスが挿入されても適用可能である。例えば、アダプタ１５１１がＡＶデコーダを搭載し、アダプタ１５１１がＴＳデコーダ１５０２からＰＥＳパケットを入力され、ディスプレイ１２０５及びスピーカ１２０４にＡＶ信号を出力するような構成であっても本発明は適用可能である。また、端末装置１５００とアダプタ１５１１間のインタフェースはＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）が一般的だが、本発明はそのインタフェースの形式とは関連性がないため、どのようなインタフェースであっても適用可能である。また、端末装置１５００が同時に物理的に接続することが可能なアダプタの数にも依存しないため、複数のアダプタと物理的に接続可能であっても適用可能である。
【０１２２】
次に、複数のデバイスが存在する端末装置にさらにアダプタを付与する場合のハードウェア構成例を図１５に表す。端末装置１６００は、チューナ１６０１、ＴＳデコーダ１６０２、ＡＶデコーダ１４０３、スピーカ１４０４、ディスプレイ１４０５、ＣＰＵ１６０６、２次記憶部１２０７、１次記憶部１２０８、ＲＯＭ１２０９、入力部１２１０で構成される。端末装置１６００に搭載されるデバイスで図１１あるいは図１３と同じ番号で識別されるデバイスについては図１１あるいは図１３の場合と同様の機能を持つため、説明を省略する。端末装置１６００にはアダプタ１６１１が付与される。アダプタ１６１１には端末装置１６００に追加したい機能を持つデバイスを搭載する。図１５のハードウェア構成例に登場するアダプタ１６１１はアダプタ１５１１同様、デスクランブラを搭載する。１６１１に搭載されるデスクランブラは、複数のＭＰＥＧ２トランスポートストリーム入力を受け付け、複数のＭＰＥＧ２トランスポートストリームを出力する。図１５が表すハードウェア構成にはチューナが二つ存在するので、アダプタ１６１１に対して、チューナ１６０１ａと１６０１ｂから出力されるＭＰＥＧ２トランスポートストリームを入力する。アダプタ１６１１に搭載されるデスクランブラは、入力された２本のＭＰＥＧ２トランスポートストリームに対してデスクランブル処理を行い、ＴＳデコーダ１６０２に対して処理済の２本のＭＰＥＧ２トランスポートストリームを送信する。ＴＳデコーダ１６０２は、図１３におけるＴＳデコーダ１４０２がチューナ１４０１ａとチューナ１４０１ｂが出力するＭＰＥＧ２トランスポートストリームを処理可能であるのと同様、入力された２本のＭＰＥＧ２トランスポートストリームを処理可能である。ＣＰＵ１６０６は端末装置１６００内のデバイスだけでなく、アダプタ１６１１内のデバイスと通信または制御を行うことが可能である。
【０１２３】
なお、図１５が表すハードウェア構成では、ＭＰＥＧ２トランスポートストリームの入力を必要とするアダプタ１６１１に対し、チューナ１６０１の数と同数のＭＰＥＧ２トランスポートストリームを送信しているが、必ずしも全てのＭＰＥＧ２トランスポートストリームをアダプタ１６１１に入力する必要はなく、例えばチューナ１６０１ａのもののみアダプタ１６１１に入力するような構成でも、本発明は適用可能である。また、本発明は、端末装置１６００とアダプタ１６１１間の情報の形式にも依存しない。例えば、アダプタ１６１１に入力する前に、端末装置１６００側でチューナ１６０１ａとチューナ１６０１ｂの出力であるＭＰＥＧ２トランスポートストリームを合成して作成した「アダプタ１６１１が解釈可能なビットストリーム」をアダプタ１６１１に入力し、アダプタ１６１１が出力する処理済のビットストリームをＴＳデコーダ１６０２に入力する前に２本のＭＰＥＧ２トランスポートストリームに分離してもよい。
【０１２４】
アダプタの例として、米国ケーブルシステムで利用されるＰＯＤについて説明する。図１６はＰＯＤ１７１１が付与された端末装置のハードウェア構成を表す。端末装置１７００内に存在するデバイスで、図１１あるいは図１４と同じ番号で識別されるデバイスは、図１１あるいは図１４の場合と同様の機能を持つ。ＰＯＤ１７１１はデスクランブラを搭載しており、図１４におけるアダプタ１５１１と同様に、チューナ１７０１からＭＰＥＧ２トランスポートストリームを入力され、ＴＳデコーダ１７０２に対して、デスクランブル処理済みのＭＰＥＧ２トランスポートストリームを出力する。また、米国ケーブルシステムでは、図２、図３で表されるように、ＯＯＢと言われる周波数帯域を用いて、様々な情報が上り及び下り方向に伝送されている。このとき、放送局側システム２０１が端末装置に対して送出する情報の形式と、端末装置１７００が解釈可能な情報の形式は異なるため、そのままでは情報のやりとりが不可能となる。ＰＯＤ１７１１はこれらＯＯＢで伝送される上り、下りの情報の形式変換を行うデバイスを備えている。ＯＯＢで伝送される情報はＱＰＳＫ変調方式で変調される。本変調方式は公知の技術であり、詳細な説明は省略する。端末装置はＱＰＳＫ復調器１７１２とＱＰＳＫ変調器１７１３を備える。ＣＰＵ１７０６は端末装置１７００内のデバイスだけでなく、ＰＯＤ１７１１内のデバイスを制御可能である。
【０１２５】
下り方向の端末装置１７００の情報受信に関し、まずＱＰＳＫ復調器１７１２はＯＯＢで放送局側システム２０１から送信されてくる下りの信号を復調し、生成されたビットストリームをＰＯＤ１７１１に入力する。ＰＯＤ１７１１はビットストリームが含む様々な情報の中から、ＣＰＵ１７０６が指定する情報を抽出して、ＣＰＵ１７０６上で動作するプログラムが解釈可能な形式に変換して、ＣＰＵ１７０６に提供する。
【０１２６】
上り方向の端末装置１７００の情報送信に関し、まずＣＰＵ１７０６が放送局側システム２０１に対して送信したい情報を、ＰＯＤ１７１１に送信する。ＰＯＤ１７１１はＣＰＵ１７０６から入力された情報を放送局側システム２０１が解釈可能な形式に変換し、ＱＰＳＫ変調器１７１３に送信する。ＱＰＳＫ変調器１７１３はＰＯＤ１７１１から入力された情報をＱＰＳＫ変調し、放送局側システム２０１に送信する。
【０１２７】
図１１〜図１６に登場する各デバイスを利用して、放送受信装置は、放送信号に含まれて伝送される映像・音声を画面に出力する機能や、放送信号が含む番組編成情報などのデータを抽出し、ユーザに提示する機能を実現する。これらの機能は、放送受信装置に存在する各種デバイスを適切な形、適切な順序で物理的及び論理的に接続し、それらデバイスの機能を適切に利用することによって実現される。図１７に、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。端末装置１８００は、チューナ１８０１、ＰＩＤフィルタ１８０２、セクションフィルタ１８０３、デスクランブラ１８０４、ＡＶデコーダ１８０５、ディスプレイ／スピーカ１８０６、１次記憶部１８０７を有する。図１７に登場するデバイスは図１１に登場するデバイスと１対１または１対多で対応する。
【０１２８】
チューナ１８０１はチューナ１２０１と対応し、放送信号を入力とし、ＭＰＥＧ２トランスポートストリームを出力する。
ＴＳデコーダ１２０２内にはＭＰＥＧ２トランスポートストリームに対して処理を行う３種類のデバイス、ＰＩＤフィルタ１８０２、セクションフィルタ１８０３、デスクランブラ１８０４が存在する。これらの機能についてここで詳述する。
【０１２９】
ＰＩＤフィルタ１８０２は、入力されたＭＰＥＧ２トランスポートストリームから、ＣＰＵ１２０６が指定したＰＩＤを持つＴＳパケットを抽出し、さらにそのペイロードに存在するＰＥＳパケットやＭＰＥＧ２セクションを抽出する。例えば図７に表される状況でＰＥＳパケット８０１を抽出する場合を例にとる。まずＣＰＵ１２０６はＰＩＤフィルタ１８０２にＰＩＤ１００を設定し、ＰＥＳパケットを抽出するように要求を出す。するとＰＩＤフィルタは、ＭＰＥＧ２トランスポートストリーム中を流れるＴＳパケットの中からＰＩＤが１００であるＴＳパケット８０３〜８０５を抽出し、さらに抽出されたＴＳパケット８０３〜８０５のペイロードに含まれるＰＥＳパケット分割Ａ８０２ａ、ＰＥＳパケット分割Ｂ８０２ｂ、ＰＥＳパケット分割Ｃ８０２ｃを取り出して連結し、ＰＥＳパケット８０１を構成する。ＰＩＤフィルタ１８０２は、ＴＳデコーダ１２０２内に一つ以上存在する。
【０１３０】
デスクランブラ１８０４はＰＩＤフィルタ１８０２が出力するＰＥＳパケット、ＭＰＥＧ２セクションに対してデスクランブルを行う。ＰＥＳパケット及びＭＰＥＧ２セクションは暗号化された場合も図７及び図８同様に分割されて伝送される。デスクランブラ１８０４は、ＣＰＵ１２０６のＰＩＤ指定により、暗号化されたＰＥＳパケット及びＭＰＥＧ２セクションを伝送するＴＳパケットを特定することができ、その上でＣＰＵ１２０６が指定するデスクランブル鍵を用いてデスクランブル処理を行う。デスクランブル鍵の入手方法については、本発明と関連性がないため、説明を省略する。デスクランブラ１８０４は、デスクランブル処理済みのＰＥＳパケットをＡＶデコーダ１８０５へ、デスクランブル処理済みのＭＰＥＧ２セクションをセクションフィルタ１８０３へそれぞれ出力する。デスクランブルは暗号化されたＰＥＳパケット及びＭＰＥＧ２セクションにのみ適用される処理であり、デスクランブラ１８０４はＣＰＵ１２０６の指示により、必要な場合のみＰＩＤフィルタからＰＥＳパケット及びＭＰＥＧ２セクションを入力され、デスクランブル処理を行う。スクランブルされていないＰＥＳパケット及びＭＰＥＧ２セクションについては、ＰＩＤフィルタ１８０２から直接ＡＶデコーダ１８０５及びセクションフィルタ１８０３にそれぞれ出力される。デスクランブラ１８０４はＴＳデコーダ１２０２内に一つ以上存在する。
【０１３１】
セクションフィルタ１８０３は、入力されたＭＰＥＧ２セクションの中から、ＣＰＵ１２０６が指定するセクションフィルタ条件に合致するＭＰＥＧ２セクションを抽出し、１次記憶部１８０７にＤＭＡ転送する。１次記憶部１８０７に保持されたＭＰＥＧ２セクションはＣＰＵ１２０６によって読み出され、利用される。例えば、図１０においてチューニング情報を保持するＭＰＥＧ２セクションを取得する場合を例にとる。ＣＰＵ１２０６はまずＰＩＤフィルタ１８０２にＰＩＤ１６を設定し、セクションを取得するように要求を出す。ＰＩＤフィルタ１８０２はＰＩＤが１６であるＴＳパケットからセクションを抽出し、セクションフィルタ１８０３に提供する。次にＣＰＵ１２０６はｔａｂｌｅ＿ｉｄが６４であるセクションを抽出するようにセクションフィルタ１８０３に対して要求する。セクションフィルタ１８０３はＰＩＤフィルタ１８０２によって入力されるＭＰＥＧ２セクションの中からｔａｂｌｅ＿ｉｄが６４であるセクションを抽出し、１次記憶部１８０７にＤＭＡ転送する。セクションフィルタ１８０３はＴＳデコーダ１２０２内に一つ以上存在する。
【０１３２】
ＡＶデコーダ１８０５は、ＡＶデコーダ１２０３と対応し、ＰＥＳパケットを入力、ＡＶ信号をディスプレイ／スピーカ１８０６に出力する。ディスプレイ／スピーカ１８０６はディスプレイ１２０５及びスピーカ１２０４に対応し、ＡＶ信号を入力とし、ディスプレイ１２０５に映像を、スピーカ１２０４に音声を出力する。
【０１３３】
１次記憶部１８０７は１次記憶部１２０８と対応し、ＭＰＥＧ２セクションを入力とし、ＣＰＵ１２０６が実行するプログラムに対してその内容の参照を可能とする。
図１７の表現を用いて、映像及び音声をそれぞれディスプレイ及びスピーカに出力する手続きを例示する。放送受信装置に入力された放送信号は、まず、チューナ１８０１によってＭＰＥＧ２トランスポートストリームに復調される。次にＰＩＤフィルタ１８０２によって、ＣＰＵ１２０６が指定したＰＩＤを持つＴＳパケットが伝送する、映像及び音声情報を内包するＰＥＳパケットが抽出される。必要であればＰＥＳパケットはデスクランブラ１８０４に送信され、デスクランブル処理が施される。その後、ＰＥＳパケットはＡＶデコーダ１８０５に入力され、デコードされてＡＶ信号が出力される。その後、ＡＶ信号はディスプレイ及びスピーカ１８０６に入力され、映像及び音声の再生を行うことができる。
【０１３４】
図１７の表現を用いて、番組編成情報等のデータを放送信号から抽出するための手続きを例示する。放送受信装置に入力された放送信号は、まず、チューナ１８０１によってＭＰＥＧ２トランスポートストリームに復調される。次にＰＩＤフィルタ１８０２によって、ＣＰＵ１２０６が指定したＰＩＤを持つＴＳパケットが伝送する、データを内包するＭＰＥＧ２セクションが抽出される。必要であればＭＰＥＧ２セクションはデスクランブラ１８０４に送信されデスクランブル処理が施される。さらに、ＭＰＥＧ２セクションはセクションフィルタ１８０３に入力され、ＣＰＵ１２０６が指定したセクションフィルタ条件に合致するＭＰＥＧ２セクションのみが出力される。その後、ＭＰＥＧ２セクションは、１次記憶部１８０７に入力され、ＣＰＵ１２０６に提供される。
【０１３５】
なお図１７も図１１同様、自身がディスプレイ／スピーカ１８０６を有する放送受信装置として概念図化されているが、ディスプレイ／スピーカ１８０６は放送受信装置が内包せず、外部に存在するタイプもある。どちらのタイプに対しても本発明は適用可能である。また、図１７が表す概念図では、デスクランブラ１８０４はＴＳデコーダ１２０２内に存在するが、ハードウェア構成によっては、ＴＳデコーダ外部に存在することもある。その場合でも本発明は適用可能である。
【０１３６】
次に図１３に表されるチューナ、ＡＶデコーダが複数存在するハードウェア構成に対応する概念図を図１８に示す。端末装置１９００は、チューナ１９０１ａ及びチューナ１９０１ｂ、ＰＩＤフィルタ１９０２、セクションフィルタ１８０３、デスクランブラ１９０４、ＡＶデコーダ１９０５ａ及びＡＶデコーダ１９０５ｂ、ディスプレイ／スピーカ１９０６、１次記憶部１８０７を有する。図１８中のデバイスで、図１７と同一の番号で識別されるデバイスは図１７と同等の機能を有するため、説明は省略する。図１８に登場するデバイスは図１３に登場するデバイスと１対１または１対多で対応する。図１８では、チューナがチューナ１９０１ａ、チューナ１９０１ｂの二つ存在し、ＡＶデコーダがＡＶデコーダ１９０５ａ、ＡＶデコーダ１９０５ｂの二つ存在している。図１３においては、ＴＳデコーダ１４０２は複数ＭＰＥＧ２トランスポートストリーム入力及び複数ＰＥＳパケット出力が可能となっており、図１８においても複数のチューナ及び、複数のＡＶデコーダとの間で自由な組み合せで"情報受け渡し経路"の確立が可能となっている。ＴＳデコーダ１４０２中のＰＩＤフィルタ１９０２はチューナ１９０１ａ及びチューナ１９０１ｂのどちらから入力されるＭＰＥＧ２トランスポートストリームに対してもＰＥＳパケット及びＭＰＥＧ２セクションの抽出が可能であり、また、ＡＶデコーダ１９０５ａ及びＡＶデコーダ１９０５ｂのどちらかにＰＥＳパケットを出力可能である。デスクランブラ１９０４に関してもＡＶデコーダ１９０５ａ及びＡＶデコーダ１９０５ｂのどちらに対してもＰＥＳパケットを出力可能である。
【０１３７】
次に図１４に表される、アダプタが物理的に接続されるハードウェア構成に対応する、概念図を図１９に示す。端末装置２０００は、チューナ２００１、ＰＩＤフィルタ２００２，セクションフィルタ１８０３、ＡＶデコーダ１８０５、ディスプレイ／スピーカ１８０６、１次記憶部１８０７を有する。さらに、端末装置２０００には、アダプタ１５１１が物理的に接続され、アダプタ１５１１はデスクランブラ２００４を有する。図１７の場合と同一の番号で識別されるデバイスは、図１７の場合と同等の機能を有するため、説明を省略する。図１７における端末と異なるのはデスクランブラの物理的及び論理的な接続箇所と機能である。図１７においては、デスクランブラ１８０４はＴＳデコーダ１２０２内に存在し、ＣＰＵ１２０６が指定するデスクランブル鍵を用いて、ＰＩＤフィルタ１８０２が出力するＰＥＳパケット及びＭＰＥＧ２セクションのデスクランブルを行う。それに対し、図１９においては、デスクランブラ２００４はチューナ２００１と直接物理的及び論理的に接続され、チューナ２００１が復調したＭＰＥＧ２トランスポートストリームが入力される。デスクランブラ２００４はＣＰＵ１５０６が指定するＰＩＤをもつＴＳパケットを抽出し、自身でＭＰＥＧ２トランスポートストリーム中よりデスクランブルに必要な鍵を抽出し、デスクランブルを行う。デスクランブラ２００４がデスクランブル処理を行ったＭＰＥＧ２トランスポートストリームはＴＳデコーダに入力され、それ以降は図１７と同様に処理が流れる。ＰＩＤフィルタ２００２は、デスクランブラ２００４から入力されたＭＰＥＧ２トランスポートストリームに対して、ＴＳパケットの抽出及びＰＥＳパケット、ＭＰＥＧ２セクションの構成が可能である。
【０１３８】
次に図１５に表される、チューナ、ＡＶデコーダが複数存在する装置にアダプタが物理的に接続された場合の概念図を図２０に示す。端末装置２１００は、チューナ２１０１ａ及びチューナ２１０１ｂ、ＰＩＤフィルタ２１０２、セクションフィルタ１８０３、ＡＶデコーダ１９０５ａ及び１９０５ｂ、ディスプレイ／スピーカ１９０６、１次記憶部１８０７を有する。さらに、端末装置２１００には、アダプタ１６１１が物理的に接続され、アダプタ１６１１はデスクランブラ２１０４を有する。図１７あるいは図１８と同一の番号で識別されるデバイスは、図１７あるいは図１８の場合と同等の機能を有するため、説明は省略する。図１８と異なる点は、デスクランブラ２１０４の物理的及び論理的な接続箇所と機能である。デスクランブラ２１０４の機能についてはＭＰＥＧ２トランスポートストリームを複数入出力可能な点を除いてはデスクランブラ２００４と同様である。チューナ２１０１ａ及びチューナ２１０１ｂはデスクランブラ２１０４に対してＭＰＥＧ２トランスポートストリームを入力する。デスクランブラ２１０４はＴＳデコーダ１６０２に対してデスクランブル処理済みのＭＰＥＧ２トランスポートストリームを入力する。ＰＩＤフィルタ２１０２は、デスクランブラ２１０４から入力されたどちらのＭＰＥＧ２トランスポートストリームに対してもＴＳパケットの抽出及びＰＥＳパケット、ＭＰＥＧ２セクションの構成が可能である。
【０１３９】
図１６に表すＰＯＤが存在するハードウェア構成に関してはＩｎ−Ｂａｎｄにて伝送される信号の処理に関しては図１９に表されるのと同様であるため、説明は省略する。
次に、上記に説明したハードウェアとソフトウェアとの概念的な関係について説明する。図２１は、ハードウェアとソフトウェアとの関係を示す概念図である。
【０１４０】
端末装置は、図２１に示すように下位層としてハードウェア２２１１、中位層としてＡＰＩであるＯＣＡＰ命令群２２１４を実行し、ハードウェア２２１１を制御するＯＣＡＰソフトウェア（ミドルウェア）２２１２、および上位層としてＯＣＡＰ命令群２２１４等を用いて所定の動作を提供するＯＣＡＰアプリケーションプログラム２２１３を備えている。
【０１４１】
次に端末装置上でのプログラム動作手続きについて述べる。図２２は、ＲＯＭ１２０９に記憶され、ＣＰＵ１２０６に実行されるプログラムの構成図の一例である。
プログラム２２００は、複数のサブプログラムで構成され、具体的にはＯＳ２２０１、ＥＰＧ２２０２、Ｊａｖａ（登録商標）ＶＭ２２０３、サービスマネージャ２２０４、Ｊａｖａライブラリ２２０５で構成される。
【０１４２】
ここで、ＯＳ２２０１、ＪａｖａＶＭ２２０３、およびＪａｖａライブラリ２２０５は、図２１においてはＯＣＡＰソフトウェア２２１２に分類される。また、ＥＰＧ２２０２およびサービスマネージャ２２０４は、図２１においてはＯＣＡＰアプリケーションプログラム２２１３に分類される。なお、本実施の形態ではＯＳ２２０１等についてもＯＣＡＰソフトウェア２２１２に分類しているが、別の層として扱ってもかまわない。
【０１４３】
ＯＳ２２０１は、端末装置１２００の電源が投入されると、ＣＰＵ１２０６が起動するサブプログラムである。ＯＳ２２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ、Ｗｉｎｄｏｗｓ（登録商標）等が一例である。ＯＳ２２０１は、他のサブプログラムを平行して実行するカーネル２２０１ａ及びライブラリ２２０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ２２０１のカーネル２２０１ａは、ＥＰＧ２２０２とＪａｖａＶＭ２２０３をサブプログラムとして実行する。また、ライブラリ２２０１ｂは、これらサブプログラムに対して、端末装置１２００が保持する構成要素を制御するための複数の機能を提供する。
【０１４４】
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをチューナ１２０１に引き渡す。チューナ１２０１は与えられたチューニング情報に基づき復調処理を行い、復調したＭＰＥＧ２トランスポートストリームをＴＳデコーダ１２０２に引き渡すことができる。この結果、他のサブプログラムはライブラリ２２０１ｂを通してチューナ１２０１を制御することができる。
【０１４５】
ＥＰＧ２２０２は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部２２０２ａと、チャンネル選局を行う再生部２２０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ２２０２は、端末装置１２００の電源が投入されると、カーネル２２０１ａによって起動される、起動されたＥＰＧ２２０２の内部では、番組表示部２２０２ａが端末装置１２００の入力部１２１０を通して、ユーザからの入力を待つ。ここで、入力部１２１０が図１２で示されるフロントパネルで構成されている場合、ユーザが、入力部１２１０のＥＰＧボタン１３０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ１２０６に通知される。ＣＰＵ１２０６上で動作するサブプログラムであるＥＰＧ２２０２の番組表示部２２０２ａは、この識別子を受け取り、番組情報をディスプレイ１２０５に表示する。図２３（ａ）及び（ｂ）は、ディスプレイ１２０５に表示された番組表の一例である。図２３（ａ）を参照して、ディスプレイ１２０５には、格子状に番組情報が表示されている。列２３０１には、時刻情報が表示されている。列２３０２には、チャンネル名「チャンネル１」と、列２３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列２３０３も列２３０２同様、チャンネル名「チャンネル２」と、列２３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。２３３０は、カーソルである。カーソル２３３０は、フロントパネル１３００の左カーソル１３０３と右カーソル１３０４を押下すると移動する。図２３（ａ）の状態で、右カーソル１３０４を押下すると、カーソル２３３０は右に移動し、図２３（ｂ）のようになる。また、図２３（ｂ）の状態で、左カーソル１３０３を押下すると、カーソル２３３０は左に移動し、図２３（ａ）のようになる。
【０１４６】
図２３（ａ）の状態で、フロントパネル１３００のＯＫボタン１３０５が押下されると、番組表示部２２０２ａは、「チャンネル１」の識別子を再生部２２０２ｂに通知する。図２３（ｂ）の状態で、フロントパネル１３００のＯＫボタン１３０５が押下されると、番組表示部２２０２ａは、「チャンネル２」の識別子を再生部２２０２ｂに通知する。
【０１４７】
また、番組表示部２２０２ａは、表示する番組情報を、放送局側システム２０１から定期的に、１次記憶部１２０８または２次記憶部１２０７に記憶しておく。一般的に、放送局側システムからの番組情報の取得は時間が掛かる。入力部１２１０のＥＰＧボタン１３０７が押下された時、１次記憶部１２０８または２次記憶部１２０７に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【０１４８】
再生部２２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部１２０７に予め格納されている。図２４は２次記憶部１２０７に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列２４０１は、チャンネルの識別子である。列２４０２は、チャンネル名である。列２４０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、チューナ１２０１に与える値である。列２４０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行２４１１〜２４１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報、プログラムナンバーの組となる。行２４１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部２２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
【０１４９】
また、再生部２２０２ｂは、再生中に、ユーザがフロントパネル１３００の上カーソル１３０１と下カーソル１３０２を押下すると、入力部１２１０からＣＰＵ１２０６を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部２２０２ｂは、１次記憶部１２０８に現在再生中のチャンネルの識別子を記憶する。図２５（ａ）（ｂ）及び（ｃ）は、１次記憶部１２０８に保存しているチャンネルの識別子の例である。図２５（ａ）では識別子「３」が記憶されており、図２４を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図２５（ａ）の状態で、ユーザが上カーソル１３０１を押下すると再生部２２０２ｂは、図２４のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、１次記憶部１２０８に記憶されているチャンネル識別子「２」に書き換える。図２５（ｂ）は、チャンネル識別子が書き換えられた状態を表す。また、図２５（ａ）の状態で、ユーザが下カーソル１３０２を押下すると再生部２２０２ｂは、図２４のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、１次記憶部１２０８に記憶されているチャンネル識別子「４」に書き換える。図２５（ｃ）は、チャンネル識別子が書き換えられた状態を表す。
【０１５０】
ＪａｖａＶＭ２２０３は、Ｊａｖａ（ＴＭ）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵ１２０６が理解可能な実行形式に翻訳してから、ＣＰＵ１２０６に引渡し、実行することも行う。ＪａｖａＶＭ２２０３は、カーネル２２０１ａに実行するＪａｖａプログラムを指定され起動される。本実施の形態では、カーネル２２０１ａは、実行するＪａｖａプログラムとしてサービスマネージャ２２０４を指定する。Ｊａｖａ言語の詳細は、書籍「Ｊａｖａ  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、ＪａｖａＶＭ自体の詳細な動作などは、「Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１５１】
サービスマネージャ２２０４は、Ｊａｖａ言語で書かれたＪａｖａプログラムであり、ＪａｖａＶＭ１２０３によって逐次実行される。サービスマネージャ２２０４は、ＪＮＩ（Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１５２】
サービスマネージャ２２０４は、ＪＮＩを通して、再生部２２０２ｂよりチャンネルの識別子を受け取る。
サービスマネージャ２２０４は、最初にＪａｖａライブラリ２２０５の中にあるＴｕｎｅｒ２２０５ｃに、チャンネルの識別子を引き渡し、チューニングを依頼する。Ｔｕｎｅｒ２２０５ｃは、２次記憶部１２０７が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ２２０４がチャンネルの識別子「２」をＴｕｎｅｒ２２０５ｃに引き渡すと、Ｔｕｎｅｒ２２０５ｃは、図２４の行２４１２を参照して、対応するチューニング情報「１５６ＭＨｚ」を獲得する。Ｔｕｎｅｒ２２０５ｃは、ＯＳ２２０１のライブラリ２２０１ｂを通してチューナ１２０１にチューニング情報を引き渡す。チューナ１２０１は与えられたチューニング情報に従って放送局側システム２０１から送信されてきた信号を復調し、ＴＳデコーダ１２０２に引き渡す。
【０１５３】
次にサービスマネージャ２２０４は、Ｊａｖａライブラリ２２０５の中にあるＣＡ２２０５ｄにデスクランブルを依頼する。ＣＡ２２０５ｄは、ＯＳ２２０１のライブラリ２２０１ｂを通して復号に必要な情報をＴＳデコーダ１２０２内のデスクランブラ１８０４に与える。
【０１５４】
次にサービスマネージャ２２０４は、Ｊａｖａライブラリ２２０５の中にあるＪＭＦ２２０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にＪＭＦ２２０５ａは、再生すべき映像と音声を特定するためのＰＩＤをＰＡＴ、ＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるＴＳパケットのペイロードにＭＰＥＧ２セクションとして埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、ＰＩＤ「０」のＴＳパケットに格納されて送信される、ｔａｂｌｅ＿ｉｄが「０」のＭＰＥＧ２セクションである。ＪＭＦ２２０５ａは、ＰＡＴを取得するため、ＯＳ２２０１のライブラリ２２０１ｂを通して、ＴＳデコーダ１２０２にＰＩＤ「０」とＣＰＵ１２０６を指定する。ＴＳデコーダ１２０２がＰＩＤ「０」及びｔａｂｌｅ＿ｉｄ「０」でフィルタリングを行い、１次記憶部１２０８を通してＣＰＵ１２０６に引き渡すことで、ＪＭＦ２２０５ａは、ＰＡＴを収集する。図２６は、収集したＰＡＴの情報の一例を模式的に表した表である。列２６０１は、プログラムナンバーである。列２６０２は、ＰＩＤである。列２６０２のＰＩＤはＰＭＴを取得するために用いられる。行２６１１〜２６１３は、チャンネルのプログラムナンバーと対応するＰＩＤの組である。ここでは、三つのチャンネルが定義されている。行２６１１はプログラムナンバー「１０１」とＰＩＤ「５０１」の組が定義されている。今、ＪＭＦ２２０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ２２０５ａは、図２４の行２４１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図２６のＰＡＴの行２６１２を参照し、プログラムナンバー「１０２」に対応するＰＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたＰＩＤのＴＳパケットに格納され送信される、ｔａｂｌｅ＿ｉｄが「２」であるＭＰＥＧ２セクションである。ＪＭＦ２２０５ａは、ＰＭＴを取得するため、ＯＳ２２０１のライブラリ２２０１ｂを通して、ＴＳデコーダ１２０２にＰＡＴより取得したＰＩＤとｔａｂｌｅ＿ｉｄ「２」を指定する。ここで、指定するＰＩＤは「５０２」とする。ＴＳデコーダ１２０２がＰＩＤ「５０２」及びｔａｂｌｅ＿ｉｄ「２」でフィルタリングを行い、１次記憶部１２０８を通してＣＰＵ１２０６に引き渡すことで、ＪＭＦ２２０５ａはＰＭＴを収集する。図２７は、収集したＰＭＴの情報の一例を模式的に表した表である。列２７０１は、ストリーム種別であり。列２７０２は、ＰＩＤである。列２７０２で指定されるＰＩＤのＴＳパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列２７０３は補足情報である。行２７１１〜２７１４はエレメンタリ−ストリームと呼ばれる、ＰＩＤと送信している情報の種別の組である。行２７１１は、ストリーム種別「音声」とＰＩＤ「５０１１」の組であり、ＰＩＤ「５０１１」のＴＳパケットのペイロードには音声が格納されていることを表す。ＪＭＦ２２０５ａは、ＰＭＴから再生する映像と音声のＰＩＤを獲得���る。図２７を参照して、ＪＭＦ２２０５ａは、行２７１１から音声のＰＩＤ「５０１１」を、行１７１２から映像のＰＩＤ「５０１２」を獲得する。
【０１５５】
次に、ＪＭＦ２２０５ａは、ＯＳ２２０１のライブラリ２２０１ｂを通して、獲得した映像／音声のＰＩＤと出力先としてＡＶデコーダ１２０３を、ＴＳデコーダ１２０２に与える。ＴＳデコーダ１２０２は与えられたＰＩＤと出力先に基づいて、フィルタリングを行う。ここではＰＩＤ「５０１１」「５０１２」ＴＳパケットをＡＶデコーダ１２０３に引き渡す。ＡＶデコーダ１２０３は、与えられたＰＥＳパケットのデコードを行いディスプレイ１２０５、スピーカ１２０４を通して映像／音声を再生する。
【０１５６】
最後にサービスマネージャ２２０４は、Ｊａｖａライブラリ２２０５の中にあるＡＭ２２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａプログラムを抽出し、ＪａｖａＶＭ２２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａプログラムを埋め込む方法は、ＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのＴＳパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをＭＰＥＧ２セクションを用いてエンコードする方法を規定している。また、実行するＪａｖａプログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのＴＳパケットの中に埋め込まれ、ｔａｂｌｅ＿ｉｄが「０ｘ７４」であるＭＰＥＧ２セクションとして送信されている。ＡＩＴは、ＤＶＢ−ＭＨＰ規格（正式には、ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．２）の１０章に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【０１５７】
ＡＭ２２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ２２０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているＴＳパケットのＰＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図２６のＰＡＴ、図２７のＰＭＴが送信されていると、ＪＭＦ２２０５ａと同様の手順で、図２７のＰＭＴを獲得する。ＡＭ２２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからＰＩＤを抽出する。図２７を参照して、行２７１３のエレメンタリ−ストリームが該当し、ＰＩＤ「５０１３」を獲得する。
【０１５８】
ＡＭ２２０５ｂは、ＯＳ２２０１のライブラリ２２０１ｂを通してＴＳデコーダ１２０２にＡＩＴのＰＩＤとｔａｂｌｅ＿ｉｄ「０ｘ７４」を与える。ＴＳデコーダ１２０２は、与えられたＰＩＤ及びｔａｂｌｅ＿ｉｄでフィルタリングを行い、１次記憶部１２０８を通してＣＰＵ１２０６に引き渡す。この結果、ＡＭ２２０５ｂは、ＡＩＴの収集することができる。図２８は、収集したＡＩＴの情報の一例を模式的に表した表である。列２８０１はＪａｖａプログラムの識別子である。列２８０２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置１２００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列２８０３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるＰＩＤを抽出するためのＤＳＭＣＣ識別子である。列２８０４はＪａｖａプログラムのプログラム名である。行２８１１と２８１２は、Ｊａｖａプログラムの情報の組である。行２８１１で定義されるＪａｖａプログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行２８１２で定義されるＪａｖａプログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで二つのＪａｖａプログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に二つのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して四つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【０１５９】
ＡＭ２２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａプログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａプログラム名を抽出する。図２８を参照して、ＡＭ２２０５ｂは行２８１１のＪａｖａプログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａプログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。
【０１６０】
次にＡＭ２２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、ファイルシステムをＤＳＭＣＣ方式で格納しているＴＳパケットのＰＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのＰＩＤを取得する。
【０１６１】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図２７とすると、行２７１４のエレメンタリ−ストリームが合致し、ＰＩＤ「５０１４」を取り出す。
ＡＭ２２０５ｂは、ＯＳ２２０１のライブラリ２２０１ｂを通してＴＳデコーダ１２０２にＤＳＭＣＣ方式でデータが埋めこまれたＭＰＥＧ２セクションを伝送するＴＳパケットのＰＩＤ及びセクションフィルタ条件を指定する。ここでは、ＰＩＤ「５０１４」を与える。ＴＳデコーダ１２０２は与えられたＰＩＤを用いてＤＳＭＣＣ用ＭＰＥＧ２セクションのフィルタリングを行い、１次記憶部１２０８を通してＣＰＵ１２０６に引き渡す。この結果、ＡＭ２２０５ｂは、必要なＤＳＭＣＣ用ＭＰＥＧ２セクションを収集することができる。ＡＭ２２０５ｂは、収集したＭＰＥＧ２セクションから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部１２０８に保存する。ＭＰＥＧ２トランスポートストリーム中のＴＳパケットからファイルシステム等のデータを取り出し１次記憶部１２０８、２次記憶部１２０７等の記憶手段に保存することを以降、ダウンロードと呼ぶ。
【０１６２】
図２９は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、２９０１はルートディレクトリ、２９０２はディレクトリ「ａ」，２９０３はディレクトリ「ｂ」，２９０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、２９０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。
【０１６３】
次にＡＭ２２０５ｂは、１次記憶部１２０８にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＪａｖａＶＭ２２０３に引き渡す。今、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図２９を参照して、ファイル２９０４が実行すべきＪａｖａプログラムである。次にＡＭ２２０５ｂは、ファイル２９０４をＪａｖａＶＭ２２０３に引き渡す。
【０１６４】
なお、ＡＭ２２０５ｂが実行すべきＪａｖａプログラムを参照する手法はＡＩＴによるものだけではない。米国ケーブルシステムで利用されることが想定されるＯＣＡＰでは図２に記載されるＯＯＢにてアプリケーションの参照情報を記載するＸＡＩＴが利用されている。その他、ＲＯＭ１２０９に予め記録されているものを起動する、２次記憶部１２０７にダウンロードして記憶したものを起動する、などの方法も考えられる。
【０１６５】
ＪａｖａＶＭ２２０３は、引き渡されたＪａｖａプログラムを実行する。
サービスマネージャ２２０４は、他のチャンネルの識別子を受け取ると、Ｊａｖａライブラリ２２０５に含まれる各ライブラリを通して再生している映像・音声及びＪａｖａプログラムの実行を、同じくＪａｖａライブラリ２２０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びＪａｖａプログラムの実行を行う。
【０１６６】
Ｊａｖａライブラリ２２０５は、ＲＯＭ１２０９に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、ここでは、Ｊａｖａライブラリ２２０５は、ＪＭＦ２２０５ａ，ＡＭ２２０５ｂ，Ｔｕｎｅｒ２２０５ｃ，ＣＡ２２０５ｄ、Ｓｅｃｔｉｏｎ  Ｆｉｌｔｅｒ２２０５ｅ、デバイス管理手段であるデバイスマネージャ２２０５ｆ等を含んでいる。
【０１６７】
次に本発明の根幹であるデバイスマネージャ２２０５ｆに関して説明する。
上記のように起動されるＪａｖａ言語で記述されたプログラムは、様々な機能を実現することが可能である。ＪａｖａプログラムはＪａｖａライブラリ２２０５を利用してその機能を実現する。Ｊａｖａライブラリ２２０５内部にはデジタル放送受信装置の内部に存在するデバイスに関する管理を行うデバイスマネージャ２２０５ｆが含まれる。デバイスマネージャ２２０５ｆは、複数のデバイスを論理的に接続する機能及びそれに関する情報を提供する機能を持つ。
【０１６８】
図１１〜１６に表されるハードウェア構成例や、そのそれぞれに対応するデバイス構成と各デバイスの入出力を表す図１７〜２０に表されるように、どのようなハードウェア構成になっても、デジタル放送信号から必要な情報を抽出する過程で利用されるハードウェアは種類がある程度限られる。本実施の形態では「チューナ」「ＰＩＤフィルタ」「セクションフィルタ」「デスクランブラ」「ＡＶデコーダ」を放送信号処理に用いるデバイスと捉え、Ｊａｖａプログラムにその制御機能を提供する。図１１をそのハードウェア構成図とし、本実施の形態における各デバイスの数は図１１に準拠する。ＡＶデコーダ１２０３は映像及び音声を同時にデコードする機能を持ち、映像を伝送するＰＥＳパケットと音声を伝送するＰＥＳパケットを同時に受け入れ可能である。ＴＳデコーダ１２０２内に存在するＰＩＤフィルタの数はＸ個、セクションフィルタの数はＹ個、デスクランブラの数をＺ個であるとする。同一種類のデバイスが複数存在する場合、その全ては図１７に表現される順序に従って物理的に接続されている限りどのデバイスにも論理的に接続可能であるとする。つまり全てのＰＩＤフィルタはチューナと論理的に接続可能であり、全てのデスクランブラは全てのＰＩＤフィルタと論理的に接続可能であり、全てのセクションフィルタは全てのＰＩＤフィルタ及び全てのデスクランブラと論理的に接続可能であり、ＡＶデコーダは全てのＰＩＤフィルタ及び全てのデスクランブラと論理的に接続可能である。この状況下で可能となるデバイス論理接続パスを図３０に表す。図３０（ａ）は映像及び音声を再生する際に利用されるデバイス論理接続パスであり、スクランブルのかかっていないＰＥＳパケットによって伝送される映像及び音声を再生する際に利用される。図３０（ｂ）は映像及び音声を再生する際に利用されるデバイス論理接続パスであり、スクランブルのかかっているＰＥＳパケットによって伝送される映像及び音声を再生する際に利用される。図３０（ｃ）はＭＰＥＧ２セクションによって伝送されるデータにアクセスする際に利用されるデバイス論理接続パスであり、スクランブルのかかっていないＭＰＥＧ２セクションによって伝送されるデータにアクセスする場合に利用される。図３０（ｄ）はＭＰＥＧ２セクションによって伝送されるデータにアクセスする際に利用されるデバイス論理接続パスであり、スクランブルのかかっているＭＰＥＧ２セクションによって伝送されるデータにアクセスする場合に利用される。図３０に表される四つのパスの何れかを用いて、Ｊａｖａプログラムは放送信号にアクセスすることが可能である。本実施の形態における論理接続の全体概念図を図３１に表す。本実施の形態では、そのハードウェア構成は図１１に準ずるため、チューナ１８０１及びＡＶデコーダ１８０５は各々１つずつ存在し、ＰＩＤフィルタ１８０２、セクションフィルタ１８０３、デスクランブラ１８０４は複数存在し、順序を遵守した上で互いに論理的に接続される。
【０１６９】
Ｊａｖａプログラムはデバイスマネージャ２２０５ｆにアクセスすることでデバイス論理接続パスを形成することが可能となる。本実施の形態では、デバイスマネージャ２２０５ｆは図３２に表現するような構成をとる。デバイスマネージャ２２０５ｆはデバイス基本情報管理部３２０１、デバイスオブジェクト管理部３２０２、デバイス物理接続管理部３２０３、デバイス論理接続管理部３２０４，デバイス論理接続部３２０５、デバイス論理接続解除部３２０６の六つのモジュールからなる。
【０１７０】
デバイス基本情報管理部３２０１はデバイスマネージャ２２０５ｆが扱うデバイスの種類とその数、そしてデバイス単体に関する情報を保持する。デバイス基本情報管理部３２０１は１次記憶部１２０８あるいは２次記憶部１２０７あるいはＲＯＭ１２０９内に情報を保持し、デバイスマネージャ２２０５ｆによって管理される。また、レジスタ等、専用のハードウェア上に管理されてもよい。
【０１７１】
デバイスオブジェクト管理部３２０２はデバイスとデバイスを表現するオブジェクトの１対１対応を管理する。デバイスオブジェクト管理部３２０２は、１次記憶部１２０８内に情報を保持し、デバイスマネージャ２２０５ｆによって管理される。また、レジスタ等、専用のハードウェア上に管理されてもよい。
【０１７２】
デバイス物理接続管理部３２０３はハードウェア構成上のデバイスの物理接続情報を管理する。例えば図１７ではチューナ１８０１はＰＩＤフィルタ１８０２と物理的に接続されており、ＰＩＤフィルタ１８０２はチューナ１８０１及びセクションフィルタ１８０３及びデスクランブラ１８０４及びＡＶデコーダ１８０５と物理的に接続されている、といった情報を管理する。デバイス物理接続管理部３２０３は基本的に１次記憶部１２０８あるいは２次記憶部１２０７あるいはＲＯＭ１２０９内に情報を保持し、デバイスマネージャ２２０５ｆによって管理される。また、その代替実装として、デバイス自身の状態をデバイス物理接続管理部として利用し、物理接続状態の取得が必要なときはデバイスのハードウェア上の物理接続構成そのものをチェックする実装をとってもよい。また、レジスタ等、専用のハードウェア上に管理されてもよい。
【０１７３】
デバイス論理接続管理部３２０４はデバイスの論理接続状態を管理する。デバイス論理接続管理部３２０４は基本的に１次記憶部１２０８内に情報を保持し、デバイスマネージャ２２０５ｆによって管理されるが、その代替実装として、デバイス自身の状態をそれとして利用し、接続状態の取得が必要なときはデバイスそのものをチェックする実装をとってもよい。また、レジスタ等、専用のハードウェア上に管理されてもよい。
【０１７４】
デバイス論理接続部３２０５はデバイスを論理的に接続する機能を持つ。デバイス論理接続部３２０５はデバイスの接続を行うライブラリとして実現され、ＲＯＭ１２０９に格納され、ＣＰＵ１２０６によって実行される。
【０１７５】
デバイス論理接続解除部３２０６はデバイスの論理的な接続の解除を行う機能を持つ。デバイス論理接続解除部３２０６はデバイスの接続解除を行うライブラリとして実現され、ＲＯＭ１２０９に格納され、ＣＰＵ１２０６によって実行される。
【０１７６】
次に、デバイスマネージャ２２０５ｆに必要とされる機能を列挙し、各々の機能について図３２の各部３２０１〜３２０６との関連性を示しながら、その実装手続きを表す。
デバイスマネージャ２２０５ｆの第一の機能として、デバイスマネージャ２２０５ｆが管理するデバイスの種類（以降デバイスタイプと呼ぶ）を取得する機能をＪａｖａプログラムに提供する。本実施の形態においては、前述した通り、「チューナ」「ＰＩＤフィルタ」「セクションフィルタ」「デスクランブラ」「ＡＶデコーダ」を扱うため、このデバイスの種類を取得する機能をＪａｖａプログラムに提供する。本機能を利用することでＪａｖａプログラムは自身が論理接続を行うことの可能なデバイスのデバイスタイプを取得することができる。本機能を実現するための手続きは図３３のフローチャートに表す。まずＪａｖａプログラムからデバイスタイプ取得要求を受け取ったら（Ｓ３３０１）、デバイスマネージャ２２０５ｆはデバイス基本情報管理部３２０１に問い合わせを行ってデバイス基本情報管理部３２０１が管理する全てのデバイスタイプを取得し（Ｓ３３０２）、Ｊａｖａプログラムに返す（Ｓ３３０３）。
【０１７７】
デバイスマネージャ２２０５ｆの第二の機能として、デバイスマネージャ２２０５ｆが管理するデバイスの数を返す機能をＪａｖａプログラムに提供する。本実施の形態については、チューナについてはチューナ１８０１の１つしかハードウェア上に存在しないので１を、ＰＩＤフィルタならＸ個存在するためＸを返す。本機能を用いて、Ｊａｖａプログラムはデバイスタイプ毎にハードウェア構成上に存在するデバイスの数を得ることが可能となる。本機能を実現するための手続きは図３４のフローチャートに表す。Ｊａｖａプログラムからデバイスタイプを指定してデバイス数取得要求を受け取る（Ｓ３４０１）と、デバイスマネージャ２２０５ｆはデバイス基本情報管理部３２０１に問い合わせて、指定されたデバイスタイプに合致するデバイスの数を取得し（Ｓ３４０２）、取得したデバイス数を返す（Ｓ３４０３）。なお、手続きＳ３４０１にて、デバイスタイプの指定をうけとらず、放送受信装置に存在する全てのデバイスの数を返す実装もありうる。
【０１７８】
デバイスマネージャ２２０５ｆの第三の機能として、デバイスマネージャ２２０５ｆが管理するデバイスと１対１で対応するＪａｖａオブジェクト（以降デバイスオブジェクト（デバイス識別子）と呼ぶ）を返す機能を提供する。本実施の形態におけるチューナは図１７におけるチューナ１８０１の１つのみなので、デバイスタイプが"チューナ"である「デバイスオブジェクト取得要求」に対してはチューナ１８０１と１対１で対応するオブジェクトを返す。また、本実施の形態におけるセクションフィルタは前述したようにＹ個存在するため、デバイスタイプが"セクションフィルタ"である「デバイスオブジェクト取得要求」に対してはそれぞれのセクションフィルタと１対１で対応するＹ個のオブジェクトを返す。本機能にて返されるオブジェクトはそのデバイスと対応しているため、Ｊａｖａプログラムの実行時にそのオブジェクトをデバイスの識別子として用いることが可能である。例えば、チューナとＰＩＤフィルタの論理的な接続を行う場合、チューナ１８０１を表現するデバイスオブジェクトとＰＩＤフィルタ１８０２のＸ個のうち一つを１対１で表現するデバイスオブジェクトに対する論理接続操作は、そのままチューナ１８０１と"ＰＩＤフィルタ１８０２のＸ個のうち、デバイスオブジェクトと１対１で対応するＰＩＤフィルタ"を論理的に接続することに解釈される。本機能を用いて、Ｊａｖａプログラムはハードウェア構成上に存在するデバイスに対する識別子を得ることが可能となる。本機能を実現するための手続き例を図３５のフローチャートに表す。まず、Ｊａｖａプログラムからデバイスタイプを指定して、「全デバイスオブジェクト取得要求」を受け取る（Ｓ３５０１）。するとデバイスマネージャ２２０５ｆはデバイスオブジェクト管理部３２０２に問い合わせて、指定されたデバイスタイプを持つデバイスに対応する全てのデバイスオブジェクトを取得する（Ｓ３５０２）。その後、取得した全てのデバイスオブジェクトをＪａｖａプログラムに返す（Ｓ３５０３）。
【０１７９】
デバイスマネージャ２２０５ｆの第四の機能として、デバイスマネージャ２２０５ｆは、デバイスマネージャ２２０５ｆが管理するデバイス間における論理接続が可能かどうかという判定結果（論理接続可能性）を取得するデバイス論理接続可能性取得機能をＪａｖａプログラムに提供する。例えば本実施の形態において、図１７からわかるように、セクションフィルタとＡＶデコーダは直接物理的に接続されていないため、論理的に接続することは不可能である。そのようにデバイス指定により、その接続自体が可能かどうかを取得する機能を実現する。本機能を用いて、Ｊａｖａプログラムはデバイス間の論理接続可能性を知ることが可能となる。本機能を実現するための手続きを図３６に表す。まずデバイスマネージャ２２０５ｆはＪａｖａプログラムから、論理接続可能性を調べたい二つのデバイスに対応するデバイスオブジェクトを指定して「デバイスの論理接続可能性取得要求」を受け取る（Ｓ３６０１）と、デバイスオブジェクト管理部３２０２に問い合わせて、指定された二つのデバイスオブジェクトに対応するデバイスを得る（Ｓ３６０２）。次に、デバイス物理接続管理部３２０３に問い合わせて二つのデバイスに関する物理接続状態を取得する（Ｓ３６０３）。取得した物理接続状態を判断し（Ｓ３６０４）、もし直接物理的に接続されていれば"可"を（Ｓ３６０５）、直接物理的に接続されていなければ"不可"を返す（Ｓ３６０６）。物理的に接続されていなければ何もしない。
【０１８０】
デバイスマネージャ２２０５ｆの第五の機能として、デバイスマネージャ２２０５ｆが管理するデバイスの論理接続状態を取得する機能をＪａｖａプログラムに提供する。例えば、あるセクションフィルタがＰＩＤフィルタに論理的に接続されている場合、そのセクションフィルタを別のＰＩＤフィルタに論理接続すると、デバイス論理接続パス内のデバイス構成が変わってしまい、デバイスの動作結果に影響を与えるため、望ましくない。本機能を用いて、Ｊａｖａプログラムはデバイスが論理接続されているかどうか、デバイスの状態を取得することが可能となる。本機能を実装するための手続きとして、図３７を表す。デバイスマネージャ２２０５ｆは、Ｊａｖａプログラムより、論理的な接続の状態を調べたい二つのデバイスに対応するデバイスオブジェクトを指定して「デバイス論理接続状態取得要求」を受け取る（Ｓ３７０１）と、デバイスオブジェクト管理部３２０２に問い合わせて、二つのデバイスオブジェクトに対応するデバイスを得る（Ｓ３７０２）。次に、デバイス論理接続管理部３２０４に問い合わせて、二つのデバイスの論理的な接続の状態を得て（Ｓ３７０３）、その結果をＪａｖａプログラムに返す（Ｓ３７０４）。
【０１８１】
デバイスマネージャ２２０５ｆの第六の機能として、デバイスマネージャ２２０５ｆが管理するデバイス間の論理的な接続を行う機能をＪａｖａプログラムに提供する。論理的に接続可能なデバイスが指定された場合は、デバイスを論理的に接続する。本機能を用いて、Ｊａｖａプログラムはデバイスの論理的な接続を行う。本機能を実装するための手続きを図３８に示す。デバイスマネージャ２２０５ｆはＪａｖａプログラムから、論理的に接続したい二つのデバイスに対応するデバイスオブジェクトを指定して「デバイス論理接続要求」を受け取る（Ｓ３８０１）と、デバイスオブジェクト管理部３２０２に問い合わせて、指定された二つのデバイスオブジェクトに対応するデバイスを得る（Ｓ３８０２）。次に、デバイス物理接続管理部３２０３に問い合わせて、二つのデバイスの物理接続状態を取得し（Ｓ３８０３）、論理接続可能性を判定する（Ｓ３８０４）。もし論理接続可能であれば、デバイス論理接続管理部３２０４に問い合わせて（Ｓ３８０５）、二つのデバイスの論理接続状態を取得し、判定を行う（Ｓ３８０６）。もしも二つのデバイス間が論理的に接続されておらず、かつ一方のデバイスがもう一方と同じデバイスタイプの別デバイスと論理的に接続されていないのであれば、デバイス論理接続部３２０５を利用して二つのデバイスを論理的に接続し（Ｓ３８０７）、デバイス論理接続管理部３２０４に二つのデバイスを接続した旨を記録する（Ｓ３８０８）。Ｓ３８０６における判定についてより詳細に述べると、まず"二つのデバイス間に既に論理接続が存在する"場合は再度接続を行うことは無駄なので、何もしない。さらに、もし"二つのデバイスの一方がもう一方と同じデバイスタイプの別デバイスと論理的に接続されている"のであれば、無理やり論理的に接続すると、既に存在するデバイス論理接続パスを破壊してしまう。例えば、ＰＩＤフィルタＡとセクションフィルタＡが指定された時に、論理接続状態の調査を行い、もしもＰＩＤフィルタＡが既にセクションフィルタＢと接続されていた場合は、何もしない。ただＰＩＤフィルタＡがチューナＡと論理接続状態にあるが、他セクションフィルタとは論理的に接続されていないのであれば、"同一デバイスタイプ"ではないので、デバイス論理接続パスを破壊することはなく、接続を行う。
【０１８２】
デバイスマネージャ２２０５ｆの第七の機能として、デバイスマネージャ２２０５ｆが管理するデバイス間の論理的な接続を解除する機能をＪａｖａプログラムに提供する。本機能を用いて、Ｊａｖａプログラムはデバイスの論理的な接続の解除を行う。本機能を実装するための手続きを図３９に表す。デバイスマネージャ２２０５ｆはＪａｖａプログラムから、論理的な接続を解除したい二つのデバイスに対応するデバイスオブジェクトを指定して「デバイス論理接続解除要求」を受け取る（Ｓ３９０１）と、デバイスオブジェクト管理部３２０２に問い合わせて、指定された二つのデバイスオブジェクトに対応するデバイスを得る（Ｓ３９０２）。次に、デバイス論理接続管理部３２０４に問い合わせて、二つのデバイスの論理接続状態を取得し（Ｓ３９０３）、判定する（Ｓ３９０４）。もし論理的に接続されていれば、デバイス論理接続解除部３２０６を利用して二つのデバイスを接続解除し（Ｓ３９０５）、デバイス論理接続管理部３２０４に二つのデバイスを接続解除した旨を記録する（Ｓ３９０６）。もし論理的に接続されていなければ何もしない。
【０１８３】
図４０にＪａｖａプログラムがデバイスの論理的な接続を行う手続き例を表す。図４０に表されるフローチャートは三つのセクションフィルタを用いて放送信号からデータを抽出する際に利用される手続きを例示する。本実施の形態では、Ｊａｖａプログラムはセクションフィルタを用いる際に必要なデバイス及び、そのデバイスの接続順序に関する知識を予め有する。まず、デバイスの種類を取得する（Ｓ４００１）。次に得られたデバイスの種類にチューナ、ＰＩＤフィルタ、セクションフィルタが扱われているかどうか確かめる（Ｓ４００２）。もし必要なデバイスタイプが全てデバイスマネージャ２２０５ｆに扱われているなら、デバイスのデバイスタイプ毎にデバイスの数を取得する（Ｓ４００３）。実際に存在するデバイスの数が、利用したいデバイス数を上回るかどうか（この例においては、チューナが１以上、ＰＩＤフィルタが３以上、セクションフィルタが３以上あるかどうか）判定し（Ｓ４００４）、上回る場合は各デバイスタイプに関してデバイスオブジェクトを取得する（Ｓ４００５）。次にデバイスオブジェクト同士の論理接続可能性を取得し（Ｓ４００６）、互いに論理接続可能であるかどうか調査する（Ｓ４００７）。具体的にはチューナと各ＰＩＤフィルタの論理接続可能性、及び各ＰＩＤフィルタと各セクションフィルタの論理接続可能性を調査する。全て論理接続可能であれば、次に各デバイスの論理接続状態を取得する（Ｓ４００８）。未接続状態のデバイスが見つかれば（Ｓ４００９）、各デバイスを論理的に接続する（Ｓ４０１０）。この手続きを踏むことにより、Ｊａｖａプログラムはデバイスを互いに論理的に接続でき、以降、Ｊａｖａライブラリ２２０５に存在するチューナ２２０５ａ等の「個々の各デバイスに対する操作ライブラリ」を利用することで、所望の機能の実現が可能となる。判定手続きＳ４００２、判定手続きＳ４００４、判定手続きＳ４００７、判定手続きＳ４００９にて、条件を満たさない場合はそのままではデバイスの論理的な接続は不可能である。判定手続きＳ４００７及び判定手続きＳ４００９で条件を満たさなかった場合は、Ｓ４００５で取得したデバイスオブジェクトに余裕があるのであればそれらについて試すことが可能である。また判定手続きＳ４００９で条件を満たさなかった場合は、デバイスマネージャ２２０５ｆの第七の機能であるデバイス論理接続解除機能を用いて、既存のデバイス間の論理接続を解除してから、再度試すことが可能である。
【０１８４】
なお、本実施の形態では、ＲＯＭ１２０９が保存する内容を２次記憶部１２０７が保存することで、ＲＯＭ１２０９を削除することも実施可能である。また、２次記憶部１２０７は、複数のサブ２次記憶部で構成し、個々のサブ２次記憶部が異なる情報を保存しても実施可能である。例えば、１つのサブ２次記憶部はチューニング情報のみを保存し、別のサブ２次記憶部は、ＯＳ２２０１のライブラリ２２０１ｂを保存し、更に別のサブ２次記憶部は、ダウンロードしたＪａｖａプログラムを保存するなど、詳細に分割することが可能である。
【０１８５】
また、本実施の形態においては、ダウンロードしたＪａｖａプログラムを２次記憶部１２０７に保存していたが、１次記憶部１２０８に保存することも実施可能である。１次記憶部１２０８に保存する場合、電源ＯＦＦ時に、保存された情報は全て消える。
【０１８６】
また、本発明は、情報処理装置として放送受信装置を例に説明をしたが、これ以外にもパーソナルコンピュータや携帯電話などの情報処理装置であっても適応可能である。また、放送受信ができなくてもＣＤ、ＤＶＤ、ＢＤ（Ｂｌｕｅ−ｒａｙ  Ｄｉｓｃ）、ＤＶＨＳ、メモリなどの情報を記録するための記録媒体内のデータ処理(例えば記録処理、再生処理など)を行う情報処理装置であっても当然適用可能である。
【０１８７】
（実施の形態２）
実施の形態１のハードウェア構成は図１１に準拠しており、デスクランブラ１８０４はＴＳデコーダ１２０２の中に存在する前提である。しかしながら、デバイスマネージャ２２０５ｆが扱うデバイスの物理接続順序は常に一定であるわけではない。本実施の形態のハードウェア構成は図１４に準拠する。図１４に表されるハードウェア構成では、対応する図１９に表されるように、ＴＳデコーダ１５０２の中にデスクランブラは存在せず、アダプタ１５１１内部にデスクランブラ２００４が存在する。本構成においては物理接続の順序が実施の形態１と異なる。このような場合においても、デバイス物理接続管理部３２０３は、デバイスの物理接続順序に関する情報を管理する。デバイスマネージャ２２０５ｆはデバイスの接続可能性を取得する際、図３６と同様、デバイス物理接続管理部３２０３に問い合わせることでデバイスの接続順序を取得し、それを考慮した判定が可能である。このような実装を行うことで、本発明は、デバイスの物理接続順序に依存せずに、いかなるハードウェア構成上にても適用可能である。
【０１８８】
（実施の形態３）
実施の形態１のハードウェア構成は図１１に準拠しており、デバイスマネージャ２２０５ｆは「チューナ」「ＰＩＤフィルタ」「セクションフィルタ」「デスクランブラ」「ＡＶデコーダ」をデバイスとして扱っていた。しかしながら、図１１には、「ディスプレイ」「スピーカ」などの別デバイスが存在する。また、図１１及び図１７に存在する以外のデバイスが存在することもある。例えば図１１に存在するＴＳデコーダ１２０２には、図１７に存在するデバイス以外にも、入力されたＭＰＥＧ２トランスポートストリームを、ＴＳデコーダ１２０２に物理接続された他デバイスに出力する「スイッチ」デバイスが存在する場合がある。また、入力されたＭＰＥＧ２トランスポートストリームからＣＰＵ１２０６の指定に従って不必要な情報を削除し、"パーシャルＴＳ"と呼ばれる部分的なＴＳをＴＳデコーダ１２０２に物理接続された他デバイスに流すデバイスが存在することもある。ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を有するようなＨＤＤレコーダにおいては"ＨＤＤ"が入力をＭＰＥＧ２トランスポートストリームとするデバイスとして存在するし、ＤＶＤレコーダに関しては"ＤＶＤメディア制御装置"がＭＰＥＧ２プログラムストリームを入力とするデバイスとして存在する。このように、放送受信装置内部には実施の形態１で扱うデバイス以外にも、様々なデバイスが存在する。
【０１８９】
例えば、図４１に示すようなハードウェア構成も可能である。このハードウェア構成では、図１１の構成に加えてＭＰＥＧ２トランスポートストリームが入力されるＨＤＤ１２２１、およびネットワーク等にＭＰＥＧ２トランスポートストリームを出力する外部出力部１２２２を備えている。
【０１９０】
本実施の形態のデバイスマネージャ２２０５ｆはこれらの情報に関しても扱うことが可能である。このためには、デバイスマネージャ２２０５ｆの各部がそれらをデバイスとして扱う旨の情報を管理すれば充分である。具体的には、デバイス基本情報管理部３２０１にて管理するデバイス単体の情報を増やし、デバイスオブジェクト管理部３２０２にて管理するデバイスとデバイスオブジェクトの組を増やし、デバイス物理接続管理部３２０３が管理する物理接続情報を増やし、デバイス論理接続管理部３２０４は追加されたデバイスに関する論理接続情報を管理し、デバイス論理接続部３２０５及びデバイス論理接続解除部３２０６は、追加されたデバイスを扱うように変更される。他の実施の形態にて、デバイスマネージャ内にさらにモジュールが追加される場合は、それについても追加したデバイスの情報を管理できるようにすることで本発明を適用可能である。
【０１９１】
このように、本発明においては、デバイスマネージャ２２０５ｆ内の各部の基本的な構成関係やデバイスマネージャ２２０５ｆの各機能の実現シーケンスを変更することなく、容易に他デバイスを扱うようにすることが可能である。
【０１９２】
（実施の形態４）
実施の形態１では、デバイスマネージャ２２０５ｆが管理するデバイスとして「チューナ」「ＰＩＤフィルタ」「セクションフィルタ」「デスクランブラ」「ＡＶデコーダ」を挙げた。しかしながらこれらの中で特に接続する必要のないものや、管理を暗黙的に行いたいものが存在する場合がある。図３０では、ＰＩＤフィルタは必ずセクションフィルタ、ＡＶデコーダのどちらかと接続されて用いられるため、多少柔軟性は損なわれるが、"ＰＩＤフィルタは予めセクションフィルタ、ＡＶデコーダのどちらかと接続されている"と前提し、「ＰＩＤフィルタとセクションフィルタ」「ＰＩＤフィルタとＡＶデコーダ」という２種類のデバイスである、と抽象化して認識することも可能である。例えば、セクションフィルタを用いる場合、実施の形態１では、「チューナ」と「ＰＩＤフィルタ」と「セクションフィルタ」という３種類のデバイスを接続する必要があるが、本実施の形態では、「チューナ」と「ＰＩＤフィルタとセクションフィルタ」という２種類のデバイスの接続を行えばよく、Ｊａｖａプログラムの利便性を高めることが可能となる。実際に、ＯＣＡＰ／ＤＶＢ−ＭＨＰ仕様内では、例えばセクションフィルタに関しては"セクションフィルタは予めＰＩＤフィルタと接続されている"と前提し、「ＰＩＤフィルタとセクションフィルタ」のペアが一種類のデバイスとして抽象化されている。このように、本発明は、予め論理接続されたデバイスを一つのデバイスとして抽象化して扱ったとしても適用可能である。
【０１９３】
本実施の形態では、デバイスマネージャ２２０５ｆに存在する全てのモジュール３２０１〜３２０６が実際のデバイスのペアを一つのデバイスであると認識して記録を行うことで、上記機能を実現する。このような実装を行うことで、本発明におけるデバイスマネージャの概念と既存の他ライブラリとの親和性を向上させることが可能となる。
【０１９４】
（実施の形態５）
実施の形態１では、デバイスマネージャ２２０５ｆは第二の機能としてデバイス数取得機能を備えている。本機能はデバイスタイプごとにそのデバイスタイプに合致するデバイスの数を知ることが可能である。ただデバイスの数はデバイスマネージャ２２０５ｆの第三の機能であるデバイスオブジェクト取得機能を用いて求めたデバイスオブジェクトの数を数えることでも取得可能である。つまりデバイス数取得機能は必須機能ではない。
【０１９５】
本実施の形態では、デバイスマネージャ２２０５ｆは第二の機能であるデバイス数取得機能を備えない。Ｊａｖａプログラムは第三の機能であるデバイスオブジェクト取得機能を用いて取得されたデバイスオブジェクトの数を数えることでデバイスの数を取得可能である。
【０１９６】
（実施の形態６）
実施の形態１では、デバイスマネージャ２２０５ｆは第一の機能であるデバイスタイプ取得機能をＪａｖａプログラムに対し提供している。しかしながら、特にＤＶＢ−ＭＨＰ／ＯＣＡＰにおけるミドルウェア仕様などにおいては、ミドルウェアが扱うデバイスの種類は仕様にて既定されていることがある。このような場合、デバイスマネージャ２２０５ｆに指定するデバイスタイプとして、そのような仕様にて決定されているデバイスタイプを使用すれば充分である。
【０１９７】
本実施の形態では、デバイスマネージャ２２０５ｆは第一の機能であるデバイスタイプ取得機能は搭載しない。本実施の形態では、デバイスマネージャ２２０５ｆは第一の機能であるデバイスタイプ取得機能を持たず、Ｊａｖａプログラムは予め既定されているデバイスタイプを利用することでデバイスマネージャ２２０５ｆに対して指示を行う。
【０１９８】
（実施の形態７）
実施の形態６では、デバイスマネージャ２２０５ｆは第一の機能であるデバイスタイプ取得機能を提供せず、Ｊａｖａプログラムが利用可能なミドルウェアが既定するデバイスタイプを、デバイスマネージャに指定するデバイスタイプとして利用している。さらに、ＤＶＢ−ＭＨＰ／ＯＣＡＰ仕様には、デバイスを１対１で表現するデバイスオブジェクトを返すことが可能なライブラリが存在する。例えば、ＤＶＢ−ＭＨＰ／ＯＣＡＰミドルウェアに存在するチューナ制御ライブラリは、放送受信装置上に存在するチューナと対応するデバイスオブジェクトを提供する機能を保持しており、Ｊａｖａプログラムはこの機能を利用することで、デバイスオブジェクトを取得することが可能である。本機能は本来、チューナ制御ライブラリの機能を利用する際にチューナを特定するために指定されることが想定されているが、デバイスを特定できるという点では、実施の形態１で説明されるデバイスオブジェクトと同様の機能を持つ。
【０１９９】
本実施の形態におけるデバイスマネージャ２２０５ｆは第一の機能であるデバイスタイプ取得機能及び第三の機能であるデバイスオブジェクト取得機能を保持しない。本実施の形態では、放送受信装置上で動作するＪａｖａプログラムは、ミドルウェアから取得したデバイスオブジェクトをデバイスの識別子として、デバイスマネージャ２２０５ｆの各機能を利用する際に指定することを可能とする。デバイスマネージャ２２０５ｆはその内部実装において、ミドルウェアの他ライブラリと協調し、デバイスオブジェクト管理部３２０２を他ライブラリと共用することで、他ライブラリが返すデバイスオブジェクトを、デバイスマネージャ２２０５ｆに指定できるように実装可能である。
【０２００】
（実施の形態８）
実施の形態１では、デバイスマネージャ２２０５ｆは第四の機能として、デバイス論理接続可能性取得機能を備えている。この機能は、図４０の手続きＳ４００６で使用されるように、放送受信装置上で動作するＪａｖａプログラムが、デバイスの論理接続を行う前に、デバイスの論理接続が可能かどうかを判断するために用いる。デバイスの論理接続が可能かどうかは図３６の手続きＳ３６０３に示されるように、デバイス物理接続管理部３２０３に問い合わせることで取得する。しかしながら、図３８の手続きＳ３８０３及び手続きＳ３８０４示されるように、デバイスマネージャ２２０５ｆの第六の機能であるデバイス論理接続機能の実装においてもデバイス論理接続可能性の判断が行われており、もしもデバイス論理接続可能でないデバイスが指定された場合はデバイスの論理接続を行わない。つまりデバイス論理接続可能性の判断は省略可能な手続きである。またデバイス論理接続解除機能の場合は、図３９の手続きＳ３９０３においてデバイス論理接続管理部３２０４に問い合わせてデバイス論理接続状態を確認し、デバイス論理接続が確立されている場合のみ論理接続解除を行うため、特にデバイス論理接続可能性の判断は必要ない。
【０２０１】
本実施の形態におけるデバイスマネージャ２２０５ｆは第四の機能であるデバイス論理接続可能性取得機能は備えない。そのような場合においても、放送受信装置上で動作するＪａｖａプログラムは、デバイス論理接続機能の利用時には自動的にデバイスの論理接続可能性が判断される。もしも第六の機能であるデバイス論理接続機能が結果を返すように実装されていれば、デバイス論理接続が不可能である場合は、デバイス論理接続機能利用時に示される結果通知によって、Ｊａｖａプログラムはそれを知ることが可能である。
【０２０２】
（実施の形態９）
これまで述べた実施の形態では、デバイスマネージャ２２０５ｆは第五の機能として、デバイス論理接続状態取得機能を備えている。この機能は、図４０の手続きＳ４００８で使用されるように、放送受信装置上で動作するＪａｖａプログラムがデバイスの論理接続または論理接続解除を行う前に、デバイス間論理接続が既に確立されているかどうかを知るために用いる。デバイスの論理接続状態は、図３７の手続きＳ３７０３に示されるように、デバイス論理接続管理部３２０４に問い合わせることで取得する。しかしながら、デバイス論理接続状態のチェックは、デバイス論理接続機能及びデバイス論理接続解除機能の利用前に必須であるというわけではない。デバイス論理接続機能が図３８で示されるシーケンスで実装されていた場合には、デバイスを論理接続する際、暗黙的に論理接続状態のチェックが行われる。またデバイス論理接続解除機能の利用時には、図３９の手続きＳ３９０３にてデバイス論理接続状態の判断は論理接続解除前に暗黙的に行われる。つまりデバイス論理接続状態の取得はデバイス論理接続機能及びデバイス論理接続解除機能の利用に必須な機能ではなく、存在しない場合もデバイスマネージャ２２０５ｆを用いたデバイスの論理接続及び論理接続解除は可能である。
【０２０３】
本実施の形態におけるデバイスマネージャ２２０５ｆは第五の機能であるデバイス論理接続状態取得機能を備えない。放送受信装置上で動作するＪａｖａプログラムは、デバイス論理接続機能及びデバイス論理接続解除機能を利用する際、デバイス論理接続状態のチェックなしにそれぞれの機能を利用可能である。ただしこの場合、デバイスの論理接続状態を取得する機能はデバイスマネージャ２２０５ｆには存在しないため、デバイスマネージャ２２０５ｆの第六の機能及び第七の機能であるデバイスの論理接続機能及びデバイスの論理接続解除機能を利用して確立したデバイス論理接続パスの情報をＪａｖａプログラム自身が管理する必要がある。
【０２０４】
（実施の形態１０）
実施の形態１では、全てのデバイスは、物理的に接続されている限り論理的に接続可能、という前提が存在した。しかしながら、現実のハードウェア構成においては、ハードウェア仕様から、しばしば物理的に接続されているデバイスであっても、放送受信装置上に存在する他デバイスの論理接続状態によっては論理接続不可能なものが存在する場合がある。実施の形態１０の参照ハードウェア構成として、図１３を利用する。図１３のハードウェア構成においては、チューナはチューナ１４０１ａ及びチューナ１４０１ｂ、ＡＶデコーダはＡＶデコーダ１４０３ａ及びＡＶデコーダ１４０３ｂとそれぞれ二つ存在する。この場合においてもデバイス論理接続パスは図３０（ａ）〜（ｄ）で示されたものになり、チューナとＡＶデコーダはＰＩＤフィルタやデスクランブラを間にはさんで接続される。
【０２０５】
このような環境下において、本実施の形態では、ＴＳデコーダ１４０２のハードウェア仕様として、"同一チューナから入力されるＭＰＥＧ２トランスポートストリームから得られるＰＥＳパケットを同時に複数のＡＶデコーダに出力できない"旨の既定が存在するとする。具体的には、例えばチューナ１４０１ａからＴＳデコーダ１４０２に入力されるＭＰＥＧ２トランスポートストリームからＰＩＤフィルタを用いて選別されるＰＥＳパケットをＡＶデコーダ１４０３ａに出力している間は、同一ＭＰＥＧ２トランスポートストリームより別のＰＩＤフィルタを用いて選別されるＰＥＳパケットをＡＶデコーダ１４０３ｂに出力することができない。このような環境下では、チューナ〜ＰＩＤフィルタ間の論理接続状態によってＰＩＤフィルタ〜ＡＶデコーダ間の接続可能性が動的に変更される。なぜなら、チューナ〜ＰＩＤフィルタ間の接続の有無によってＰＩＤフィルタ〜ＡＶデコーダ間の接続可能性も変更されるからである。
【０２０６】
このような場合、デバイスマネージャが新たに管理しなければならない情報は、「ＰＩＤフィルタ間〜ＡＶデコーダ間における接続条件」である。例えば、今回の環境下では、ＰＩＤフィルタとＡＶデコーダを論理接続する際に、その論理接続が可能となる条件は、"指定ＰＩＤフィルタがチューナのいずれとも論理接続されていない"、あるいは"指定ＰＩＤフィルタはチューナと論理接続されているがそのチューナは別のＰＩＤフィルタと論理接続されていない"、あるいは"指定ＰＩＤフィルタはチューナと論理接続されておりそのチューナは別ＰＩＤフィルタと論理接続されているが、その別ＰＩＤフィルタは別ＡＶデコーダと論理接続されていない"ことである。
【０２０７】
本実施の形態では、デバイスマネージャ２２０５ｆに新たな構成要素として、デバイス論理接続条件管理部を導入する。デバイス論理接続条件管理部は上記のようなデバイスの論理接続条件を管理し、デバイスマネージャ２２０５ｆが必要なときにデバイス論理接続条件管理部にアクセスすることでデバイス論理接続条件を取得可能とする。デバイス論理接続条件管理部は、１次記憶部１２０８、２次記憶部１２０７，ＲＯＭ１２０９内に情報を保持し、デバイスマネージャ２２０５ｆによって管理される。
【０２０８】
デバイスマネージャ２２０５ｆがＪａｖａプログラムから「デバイス論理接続可能性取得要求」を受け取った場合のシーケンスを図４２に表す。Ｊａｖａプログラムが発行した「デバイス論理接続可能性取得要求」をデバイスマネージャ２２０５ｆが受け取る（Ｓ４１０１）と、デバイスオブジェクト管理部３２０２にアクセスして、指定された二つのデバイスオブジェクトに対応したデバイスを得る（Ｓ４１０２）。次にデバイス物理接続管理部３２０３に問い合わせて、対応する二つのデバイスの物理接続状態を取得し（Ｓ４１０３）、もし物理接続されていれば（Ｓ４１０４）、本実施の形態で導入したデバイス論理接続条件管理部に問い合わせて二つのデバイスの論理接続に関するデバイス論理接続条件を取得する（Ｓ４１０５）。次に取得したデバイス論理接続条件に従って、それに対応するデバイス論理接続状態をデバイス論理接続管理部３２０４より取得する（Ｓ４１０６）。デバイス論理接続状態が、デバイス論理接続条件に合致するかどうか判定し（Ｓ４１０７）、もし合致すれば、"可"を返す（Ｓ４１０８）。判定手続きＳ４１０４及び判定手続きＳ４１０７にて条件を満たさなかった場合は、"不可"を返す（Ｓ４１０９）。ＰＩＤフィルタとＡＶデコーダの例では、手続きＳ４１０５にて"指定ＰＩＤフィルタはどのチューナとも論理接続されていない"、あるいは"指定ＰＩＤフィルタとチューナは論理接続されているが、そのチューナは別ＰＩＤフィルタと接続されていない"、あるいは"指定ＰＩＤフィルタとチューナは論理接続されており、そのチューナは別ＰＩＤフィルタと論理接続されているが、そのＰＩＤフィルタは指定したのとは別のＡＶデコーダと論理接続されていない"という論理接続条件を得る。それに従って、手続きＳ４１０６にて論理接続条件に登場する組み合せのデバイス間の論理接続状態を調べて、判定手続きＳ４１０７にて論理接続条件を満たすかどうか判定する、という手続きをとる。
【０２０９】
また、デバイスマネージャ２２０５ｆがＪａｖａプログラムから「デバイス接続要求」を受け取った場合には、図４２における論理接続可能性取得のシーケンス同様、図３８におけるデバイス物理接続管理部３２０３を用いた条件取得（Ｓ３８０３）に加え、デバイス接続条件管理部から取得したデバイス接続条件に従って、他デバイス間の接続を、デバイス論理接続管理部３２０４を利用して調査し、その結果を合わせた上で接続可能性を判断する。この場合、接続条件による判定により接続不可能であった場合、接続条件により接続不可能である旨を表現するエラーをＪａｖａプログラムに返してもよい。
【０２１０】
このような実装を行うことで、デバイスの接続状態によって動的に接続可能性が変更されるようなハードウェア構成上においても、本発明は適用可能である。
（実施の形態１１）
実施の形態１では、ＴＳデコーダ１２０２内の各デバイス（ＰＩＤフィルタ、セクションフィルタ、デスクランブラ）は互いに１対１の論理接続しか許さない旨の制限が存在した。しかしながら、実際には各デバイスについて１対多の論理接続を許すＴＳデコーダが存在する。また、デバイス間の接続の最大数が既定されているようなハードウェア構成も存在する。本実施の形態では、一つのＰＩＤフィルタにつき複数のセクションフィルタを論理接続可能、但し最大５個まで、というような既定が存在するとする。
【０２１１】
このような環境において、デバイスマネージャ２２０５ｆが管理しなければならないのは「各デバイス間論理接続の最大数」である。今回の環境では"ＰＩＤフィルタは、同時に５個のセクションフィルタと論理接続可能である"という条件である。
【０２１２】
本実施の形態では、デバイスマネージャ２２０５ｆに、新規構成要素として、デバイス論理接続最大数管理部を導入する。デバイス論理接続最大数管理部は上記のようにデバイスが、どのようなデバイスタイプのデバイスといくつの論理接続を構築可能か、というデバイス間論理接続の最大数を管理し、デバイスマネージャ２２０５ｆが必要なときにアクセスし、デバイス論理接続最大数を取得可能である。デバイス論理接続最大数管理部は、１次記憶部１２０８、２次記憶部１２０７、ＲＯＭ１２０９内に情報を保持し、デバイスマネージャ２２０５ｆによって管理される。また、レジスタ等、専用のハードウェアを用いて管理されても良い。
【０２１３】
デバイスマネージャ２２０５ｆがＪａｖａプログラムから「デバイス論理接続可能性取得要求」を受け取った場合のシーケンスを図４３に表す。Ｊａｖａプログラムが発行した「デバイス論理接続可能性取得要求」をデバイスマネージャ２２０５ｆが受け取る（Ｓ４２０１）と、デバイスオブジェクト管理部３２０２にアクセスして、指定された二つのデバイスオブジェクトに対応したデバイスを得る（Ｓ４２０２）。次にデバイス物理接続管理部３２０３に問い合わせて、対応する二つのデバイスの物理接続状態を取得し（Ｓ４２０３）、もし物理接続されていれば（Ｓ４２０４）、本実施の形態で導入したデバイス論理接続最大数管理部に問い合わせて二つのデバイスの論理接続に関する論理接続最大数を取得する（Ｓ４２０５）。次に既に存在する論理接続数を求めるためにデバイス論理接続状態をデバイス論理接続管理部３２０４より取得する（Ｓ４２０６）。論理接続が、論理接続最大数未満であるかどうか判定し（Ｓ４２０７）、もし条件を満たせば、"可"を返す（Ｓ４２０８）。判定手続きＳ４２０４及び判定手続きＳ４２０７にて条件を満たさなかった場合は、"不可"を返す（Ｓ４２０９）。ＰＩＤフィルタとセクションフィルタの例では、手続きＳ４２０５にて論理接続最大数"５"を得る。次に指定ＰＩＤフィルタと他セクションフィルタの論理接続状態をデバイス論理接続管理部３２０４より取得し、存在する論理接続数を得る（Ｓ４２０６）。それらを用いて判定手続きＳ４２０７にて論理接続最大数と既存の論理接続数を比較し、既存の論理接続数のほうが少ないのであれば、"可"を返す（Ｓ４２０８）。
【０２１４】
また、デバイスマネージャ２２０５ｆがＪａｖａプログラムから「デバイス接続要求」を受け取った場合には、図４３に表される論理接続可能性取得シーケンス同様、図３８におけるデバイス物理接続管理部３２０３を用いた条件取得（Ｓ３８０３）に加え、デバイス論理接続最大数管理部から取得した最大数に達していないかどうかを、デバイス論理接続管理部３２０４を利用して調査し、その結果を合わせた上で接続可能性を判断、"可"であればデバイス間の論理接続を行う。デバイス論理接続が最大数に達していることにより論理接続不可能と判断された場合は、その旨表現するエラーをＪａｖａプログラムに返す実装であってもよい。
【０２１５】
また、本実施の形態に表される状態では、接続最大数が２以上であるデバイスは、複数のデバイス論理接続パスに含まれることが可能であり、「共有可能」であるということができる。Ｊａｖａプログラムはあるデバイスが「共有可能」であるかどうかを知ることができれば、必要以上のデバイスを論理接続する必要がなく、デバイス管理の観点から効率な論理接続が可能である。本実施の形態では、デバイスマネージャ２２０５ｆ第八の機能として、デバイス接続共有可能性取得機能をＪａｖａプログラムに提供する。Ｊａｖａプログラムは本機能を利用して、デバイスオブジェクトが表すデバイスが共有可能かどうかを知ることが可能である。本機能の最も簡単な実装のシーケンス図を図４４に表す。１つのデバイスタイプ、１つのデバイスオブジェクト指定と共に「デバイス接続共有可能性取得要求」をＪａｖａプログラムから受け取ったデバイスマネージャ２２０５ｆは（Ｓ４３０１）、まずデバイスオブジェクト管理部３２０２に問い合わせて、対応するデバイスを得る（Ｓ４３０２）。次に対象デバイスに関して、デバイス論理接続最大数管理部に問い合わせて、指定デバイスタイプに関する論理接続最大数を取得する（Ｓ４３０３）。これが２以上であれば（Ｓ４３０４）、指定デバイスの、指定デバイスタイプと合致するデバイス間の論理接続は二つ以上同時に存在可能であり、共有可能と判断できる（Ｓ４３０５）。なお、「共有可能」の表現方法として、上記のように「可」「不可」をＪａｖａプログラムに返すのでなく、論理接続最大数そのものを返す方法もある。そのような実装がなされてもＪａｖａプログラムはデバイスが「共有可能」であるかどうか判断可能である。
【０２１６】
このように実装することで、同時接続に最大数が既定されているようなハードウェア構成上においても、本発明は適用可能である。
なお、実施の形態１０で述べたデバイス論理接続管理部及び本実施の形態で述べたデバイス論理接続最大数管理部は同時に存在することも当然想定される。その場合、デバイス論理接続可能性取得時及びデバイス論理接続時には、図４２における論理接続条件の判定（Ｓ４１０５〜Ｓ４１０７）及び図４３における論理接続最大数の判定（Ｓ４２０５〜Ｓ４２０７）は両方とも必要である。
【０２１７】
（実施の形態１２）
実施の形態１では、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆの第五の機能である論理接続状態取得機能を用いて論理接続状態を問い合わせる時に、二つのデバイス間の論理接続が行われているか否かという情報のみ取得可能である。しかしながら、Ｊａｖａプログラムは、あるデバイスに他のどんなデバイスが論理接続されているか知りたい状況がありうる。
【０２１８】
本実施の形態におけるデバイスマネージャ２２０５ｆは第三の機能であるデバイスオブジェクト取得機能を拡張し、あるデバイスがその時点でどのデバイスに論理接続されているかという情報を取得する機能をＪａｖａプログラムに提供する。本機能はＪａｖａプログラムが１つのデバイスオブジェクトを指定して「デバイスオブジェクト取得要求」を発行した際、それを受信したデバイスマネージャ２２０５ｆは、デバイス論理接続管理部３２０４が管理する論理接続状態に関する情報の中から指定されたデバイスオブジェクトと対応するデバイスとその時点で論理接続されているデバイスを探索し、見つかったデバイスと対応するデバイスオブジェクトを全て返す。さらに、Ｊａｖａプログラムによりデバイスタイプの指定まで行われた場合は、指定されたデバイスがその時点で論理接続されているデバイスの中から指定されたデバイスタイプを持つもののみをさらに選別し、選別されたデバイスに対応するデバイスオブジェクトを全て返す。
【０２１９】
本実施の形態では、Ｊａｖａプログラムはあるデバイスに論理接続されているデバイスを１回の操作で取得可能である。
【０２２０】
（実施の形態１３）
実施の形態１では、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆの第四の機能である論理接続可能性取得機能を用いて論理接続可能性を問い合わせる時に、Ｊａｖａプログラムが指定した二つのデバイス間の論理接続可能性のみ取得可能である。しかしながら、Ｊａｖａプログラムは、あるデバイスに他のどんなデバイスが論理接続可能であるか知りたい状況がありうる。
【０２２１】
本実施の形態におけるデバイスマネージャ２２０５ｆは第三の機能であるデバイスオブジェクト取得機能を拡張し、あるデバイスがその時点でどのデバイスと論理接続可能かという情報を取得する機能をＪａｖａプログラムに提供する。本機能は、Ｊａｖａプログラムが１つのデバイスオブジェクトを指定して「デバイスオブジェクト取得要求」を発行した際、それを受信したデバイスマネージャ２２０５ｆは、デバイス物理接続管理部３２０３が管理する物理接続に関する情報の中から、指定されたデバイスオブジェクトと対応するデバイスと論理接続可能なデバイスを探索し、見つかったデバイスと対応するデバイスオブジェクトを全て返す。さらに、Ｊａｖａプログラムによりデバイスタイプの指定まで行われた場合は、指定されたデバイスタイプを持つもののみをさらに選別し、選別されたデバイスに対応するデバイスオブジェクトを全て返す。
【０２２２】
本実施の形態では、Ｊａｖａプログラムはあるデバイスに論理接続可能なデバイスを１回の操作で取得可能である。
【０２２３】
（実施の形態１４）
実施の形態１では、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆの第四の機能である論理接続可能性取得機能及び、第五の機能である論理接続状態取得機能を用いる時に、Ｊａｖａプログラムが指定した二つのデバイス間の論理接続可能性及び論理接続状態のみ取得可能である。しかしながら、Ｊａｖａプログラムは、あるデバイスにどんなデバイスが接続可能で、そのうちどのデバイスが未接続であるか知りたいことがある。そのような場合、実施の形態１では、デバイスタイプを指定して取得したデバイスオブジェクトのそれぞれについて論理接続可能性及び論理接続状態を調査する必要があった。
【０２２４】
本実施の形態では、デバイスマネージャ２２０５ｆの第三の機能であるデバイスオブジェクト取得機能を拡張し、あるデバイスが、その時点でどのデバイスに論理接続可能で、かつ論理的に未接続であるか、という情報を取得する機能をＪａｖａプログラムに提供する。本機能は、Ｊａｖａプログラムが１つのデバイスオブジェクトを指定して「デバイスオブジェクト取得要求」を発行した際、それを受信したデバイスマネージャ２２０５ｆは、まずデバイス物理接続管理部３２０３が管理する物理接続に関する情報の中から指定されたデバイスオブジェクトと対応するデバイスと、論理接続可能なデバイスを探索する。次に見つかったデバイスの中で、論理的に未接続なものを探索し、得られたデバイスに対応するデバイスオブジェクトを全て返す。さらに、Ｊａｖａプログラムによりデバイスタイプの指定まで行われた場合は、指定されたデバイスタイプを持つもののみをさらに選別し、選別されたデバイスに対応するデバイスオブジェクトを全て返す。
【０２２５】
本実施の形態では、Ｊａｖａプログラムはあるデバイスに論理接続可能かつ論理的に未接続なデバイスを１回の操作で取得可能である。
【０２２６】
（実施の形態１５）
実施の形態１では、デバイスマネージャ２２０５ｆの第六の機能であるデバイス論理接続機能の実装内で、デバイス論理接続状態の判断を行う。この場合、図３８の手続きＳ３８０６にてデバイスの論理接続状態の判定が行われる。実施の形態１では、この時、"指定された二つのデバイス間が既に論理的に接続されているか"及び"指定された二つのデバイスの一方がもう一方のデバイスと同一デバイスタイプである別デバイスと論理的に接続されているか"の２種類の判定が行われていた。前者は接続状態の無駄を省くため、後者はデバイス論理接続パスを変更しないためであった。
【０２２７】
本実施の形態では、デバイスマネージャ２２０５ｆの第六の機能であるデバイス論理接続機能の実装内で、図３８の手続きＳ３８０６にて行われるデバイスの論理接続状態の判定において、"指定された二つのデバイス間が既に論理的に接続されているか"の判定のみ行い、もし既に行われているのであれば何もしない。もし二つのデバイスの一方が、もう一方と同一デバイスタイプである別デバイスと接続されていたとしても、もとのデバイス論理接続パスを自動的に解除して、新たに指定された二つのデバイスを論理的に接続し、新しいデバイス論理接続パスについてデバイス論理接続管理部３２０４に記録する。
【０２２８】
この実装を採った場合、デバイスマネージャ２２０５ｆの第七の機能であるデバイス論理接続解除機能は必要でなくなる。デバイスの論理接続を行う際に、既存の論理接続がもし存在したとしても、自動的に解除されるからである。
【０２２９】
本実施の形態により、Ｊａｖａプログラムは、既存のデバイス論理接続パスを意識せずに新たなデバイス論理接続パスを構築できる。ただ、Ｊａｖａプログラムが意図的に残したいデバイス論理接続パスであっても、デバイスの論理接続時に自動的に解除されてしまう可能性があるため、Ｊａｖａプログラムは自分でそれらデバイス論理接続パスとその構成要素となるデバイスオブジェクトを管理する必要がある。
【０２３０】
（実施の形態１６）
実施の形態１及び実施の形態１５では、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆの第六及び第七の機能を使って論理接続及び論理接続解除を行う時に、デバイスマネージャ２２０５ｆはその結果を返さない。
【０２３１】
例えば、図３８に表される場合、デバイス物理接続管理部３２０３によって返された結果を用いて論理接続可能性を判定する時（Ｓ３８０４）及び、論理接続状態を判定する時（Ｓ３８０６）に、実際に論理接続処理（Ｓ３８０７）が行われるかどうか決定されるが、実施の形態１及び実施の形態１５では、論理接続処理が行われたか行われなかったか、Ｊａｖａプログラムはその結果を知ることができない。
【０２３２】
例えば、図３９に表される場合、デバイス論理接続管理部３２０４によって返された結果を用いて論理接続状態を判定するとき（Ｓ３９０４）に実際に論理接続解除処理（Ｓ３９０５）が行われるかどうか決定されるが、実施の形態１では、論理接続解除処理が行われたか行われなかったか、Ｊａｖａプログラムはその結果を知ることができない。
【０２３３】
本実施の形態では、デバイスマネージャ２２０５ｆの第六及び第七の機能である論理接続機能及び論理接続解除機能を利用した際、実際に論理接続及び論理接続解除が行われたか否かをＪａｖａプログラムの実行に同期して返す。論理接続機能については、図３８のシーケンスにおいて、返る結果は"デバイス接続成功"、"デバイス接続失敗"の二種類である。論理接続解除機能については図３９のシーケンスにおいて、"デバイス接続解除成功"、"デバイス接続解除失敗"の二種類である。
【０２３４】
（実施の形態１７）
実施の形態１６では、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆの第六及び第七の機能を使って論理接続及び論理接続解除を行う時に、デバイスマネージャ２２０５ｆは論理接続及び論理接続解除が行われたか否かを返す。しかしながら、例えば図３８のシーケンスでは、デバイスの接続が行われない理由は手続きＳ３８０４で判断される"接続不可能である"こと、あるいは手続きＳ３８０６で判断される"既に接続中である"こと及び"別デバイス論理接続パスが存在すること"の三種類存在するが、デバイスの接続が行われたか否かの結果では、デバイス接続が行われなかった理由をＪａｖａプログラムが知ることができない。
【０２３５】
本実施の形態ではデバイスマネージャ２２０５ｆの第六及び第七の機能であるデバイス論理接続機能及びデバイス論理接続解除機能の利用時、実際に論理接続が行われたかどうか、さらに行われなかった場合はなぜ行われなかったのかを表す理由を同期で返す。例えば、図３８のシーケンスである場合は返る結果は"デバイス論理接続成功"、"デバイスは論理接続不可能"、"デバイスは既に論理接続中"、"別デバイス論理接続パスが存在"の四種類である。例えば、図３９のシーケンスである場合は返る結果は"デバイス論理接続解除成功"、"デバイスは論理接続状態でない"の二種類である。
【０２３６】
（実施の形態１８）
実施の形態１７では、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆの第六の機能を使って論理接続を行う時に、デバイスマネージャ２２０５ｆは四種類の結果を返す。しかし、このうち、"デバイスは既に論理接続中"という結果は、処理後の状態としては、デバイス間の論理接続は行われているのであるから、"デバイス論理接続成功"であるのと同等である。
【０２３７】
本実施の形態では、デバイスマネージャ２２０５ｆの第六の機能であるデバイス論理接続機能の利用時、実際に論理接続が行われたかどうか、さらに行われなかった場合はなぜ行われなかったのかを表す理由を同期で返す。ただし、"デバイスが既に論理接続中"である場合は、"デバイス論理接続成功"を表す結果を返す。つまり、返す結果は、例えば図３８のシーケンスである場合は"デバイス論理接続成功"、"デバイスは論理接続不可能"、"別デバイス論理接続パスが存在"の三種類である。
【０２３８】
（実施の形態１９）
実施の形態１６〜１８では、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆの機能を利用する際、各機能は同期処理により実現され、デバイスマネージャ２２０５ｆが各機能の処理をしている間、Ｊａｖａプログラムは実行を進めることが不可能である。例えば、Ｊａｖａプログラムが「デバイス論理接続要求」を発行すると、デバイスマネージャ２２０５ｆはデバイスの論理接続処理を行うが、その間Ｊａｖａプログラムは、デバイスマネージャ２２０５ｆによる論理接続処理が終了するまで待たなければならない。しかしながら、デバイスマネージャ２２０５ｆが扱うデバイスによってはデバイスの論理接続に時間がかかるものが存在する。そのようなデバイスの接続処理は非同期処理として実現されると、Ｊａｖａプログラムはデバイスマネージャ２２０５ｆがデバイスの論理接続処理を行う間も、他の処理を進めることができるため、Ｊａｖａプログラムにとって都合がよい。
【０２３９】
本実施の形態では、デバイスマネージャ２２０５ｆが実現する機能について、非同期での結果通知を行う。そのために、デバイスマネージャ２２０５ｆは第九の機能として、デバイス処理結果通知リスナ登録機能を保持する。デバイス処理結果通知リスナは、デバイスマネージャ２２０５ｆの第一から第八の機能を利用する際に、その処理結果を非同期で受け取るために、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆに対して登録する。Ｊａｖａプログラムは非同期の通知を受けるために、デバイスマネージャ２２０５ｆの機能を利用するのに先立ちあるいは同時に、非同期通知を受けるためのデバイス処理結果通知リスナをデバイスマネージャ２２０５ｆに登録する。その後、Ｊａｖａプログラムはデバイスマネージャ２２０５ｆの機能を利用する。デバイスマネージャ２２０５ｆは処理結果を、デバイス処理結果通知リスナを通してＪａｖａプログラムに通知する。
【０２４０】
本実施の形態で、デバイスマネージャ２２０５ｆはデバイス処理結果通知リスナを登録するため、新規にデバイスリスナ管理部を有する。デバイスリスナ管理部は、デバイスマネージャ２２０５ｆによってアクセスされ、登録済みのデバイス処理結果通知リスナを提供する。デバイスリスナ管理部は１次記憶部１２０８または２次記憶部１２０７またはＲＯＭ１２０９内に情報を保持し、デバイスマネージャ２２０５ｆによって管理される。
【０２４１】
本実施の形態で用いるＪａｖａプログラムによる非同期的な操作の例として、第六の機能であるデバイス論理接続のシーケンスを図４５に表す。まずＪａｖａプログラム１は「デバイス処理結果通知リスナ登録要求」をデバイスマネージャ２２０５ｆに対して発行し（Ｓ４４０１）、それを受けてデバイスマネージャ２２０５ｆはＪａｖａプログラム１のデバイス処理結果通知リスナをＪａｖａプログラム１と組にしてデバイスリスナ管理部に登録する（Ｓ４４０２）。次にＪａｖａプログラム１はＰＩＤフィルタＡとＡＶデコーダＢに関する「デバイス論理接続要求」をデバイスマネージャ２２０５ｆに向けて発行し（Ｓ４４０３）、デバイスマネージャ２２０５ｆはＰＩＤフィルタＡとＡＶデコーダＢを論理接続する（Ｓ４４０４）。Ｊａｖａプログラム１は手続きＳ４４０３の終了以降、デバイスマネージャ２２０５ｆがＰＩＤフィルタＡとＡＶデコーダＢの論理接続処理を行っている間、自身の実行を進めることができる。デバイスマネージャ２２０５ｆは、論理接続処理が終わったら、Ｊａｖａプログラム１のデバイス処理結果通知リスナをデバイスリスナ管理部より取得し（Ｓ４４０５）、論理接続結果を通知する（Ｓ４４０６）。
【０２４２】
なお、本実施の形態において、デバイスマネージャ２２０５ｆが提供する全ての機能を非同期にする必要はない。例えば、デバイスマネージャ２２０５ｆの第六の機能であるデバイス論理接続機能及び第七の機能であるデバイス論理接続解除機能のみ非同期通知を行い、他の機能は同期通知を行う、といった実装が適用されてもよい。
【０２４３】
本実施の形態を用いることで、Ｊａｖａプログラムは時間のかかるデバイスマネージャ２２０５ｆの機能利用中もＪａｖａプログラム自身の実行を進めることができ、効率的な動作を実現することが可能となる。
【０２４４】
（実施の形態２０）
実施の形態１９において、Ｊａｖａプログラムが登録したデバイス処理結果通知リスナは、デバイスオブジェクトの指定なくデバイスマネージャ２２０５ｆに登録されたため、全てのデバイスに対する処理の結果が同一のデバイス処理結果通知リスナに通知される。しかしＪａｖａプログラムによっては、デバイス毎に異なるデバイス処理結果通知リスナを登録したい場合がある。
【０２４５】
本実施の形態においては、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆは第九の機能であるデバイス処理結果通知リスナ登録機能を利用する際、デバイス処理結果通知リスナと共に、デバイスオブジェクトを一つ指定する。デバイスマネージャ２２０５ｆは、Ｊａｖａプログラムとデバイス処理結果通知リスナとデバイスオブジェクトが表すデバイスを組にしてデバイスリスナ管理部に記録する。デバイスマネージャ２２０５ｆは、通知を行う際、先立って行われた処理に関係するデバイスに関するデバイス処理結果通知リスナをデバイスリスナ管理部より取得して、取得されたデバイス処理結果通知リスナに対してのみ通知を行う。
【０２４６】
（実施の形態２１）
実施の形態１において、デバイスマネージャ２２０５ｆの第三の機能であるデバイスオブジェクト取得機能を用いて取得されたデバイスオブジェクトは、放送受信装置に存在するデバイスに対する識別子として用いられるのみであり、デバイス自身に関する情報を保持しない。そのため、Ｊａｖａプログラムがデバイスマネージャ２２０５ｆに対して「デバイスオブジェクト取得要求」を発行して取得したデバイスオブジェクト群を、Ｊａｖａプログラム自身が管理しなければならない。例えば、実施の形態１において、デバイスタイプに"セクションフィルタ"を指定してデバイスオブジェクトを取得すると、Ｙ個のデバイスオブジェクトを取得できる。Ｊａｖａプログラムは、これらを管理する際、"デバイスタイプ"及び"何番目のデバイスオブジェクトかを表すインデックス"を用いなければならない。これはデバイスオブジェクト管理の観点から非常に不便である。
【０２４７】
本実施の形態では、デバイスオブジェクト自身がデバイスオブジェクトと対応するデバイスに関する情報を格納する。少なくとも、全てのデバイスオブジェクトは"自身のデバイスのデバイスタイプ"と"同一デバイスタイプであるデバイス内で一意に割り当てられたＩＤ"を保持する。これにより、Ｊａｖａプログラムはデバイスオブジェクト自身が情報を保持するため、管理を容易にすることが可能である。さらに、デバイスオブジェクトはさらにデバイス管理を容易にするために、デバイスオブジェクト自身に関する補助情報を管理することが可能である。例えば、デバイスオブジェクトは"デバイスの名称"を管理することが考えられる。Ｊａｖａプログラムはその名称を扱うことで、よりデバイスの管理をさらに多様に扱うことが可能となる。例えば、図１３におけるチューナ１４０１ａとチューナ１４０１ｂにそれぞれ"チューナＡ"、"チューナＢ"という名称を付与し、Ｊａｖａプログラムはこれら名称を、デバイスを管理する際に利用することが可能となる。
【０２４８】
これら機能はデバイス基本情報管理部３２０１が各デバイスの種類、ＩＤ、名称を管理することにより実現される。Ｊａｖａプログラムがデバイスオブジェクトを取得する際に、デバイスマネージャ２２０５ｆはデバイス基本情報管理部３２０１にアクセスし、デバイスの名称を取得してデバイスオブジェクトにセットしたものを返すことにより実装される。
【０２４９】
（実施の形態２２）
実施の形態１において、デバイスマネージャ２２０５ｆの第三の機能であるデバイスオブジェクト取得機能を用いて取得されたデバイスオブジェクトは、放送受信装置に存在するデバイスに対する識別子としてデバイスマネージャ２２０５ｆの機能を利用する際に指定される。また実施の形態２１では、デバイスオブジェクトは自身と対応するデバイスを特定するための情報を保持し、Ｊａｖａプログラムはデバイスオブジェクトから、そのような情報を取得することが可能である。本実施の形態では、デバイスオブジェクトの機能をさらに拡張して、デバイスオブジェクトを通してデバイスマネージャ２２０５ｆの機能を利用する機能を付与する。具体的には、デバイスオブジェクトは２２０５ｆが有する機能のうち、第三の機能であるデバイスオブジェクト取得機能、第四の機能であるデバイス論理接続可能性取得機能、第五の機能であるデバイス論理接続状態取得機能、第六の機能であるデバイス論理接続機能、第七の機能であるデバイス論理接続解除機能に関する要求を受け付け、デバイスマネージャ２２０５ｆに中継する。その際に、自分自身が１対１で対応するデバイスを指定デバイスとしてデバイスマネージャ２２０５ｆに通知する。
【０２５０】
第三の機能であるデバイスオブジェクト取得機能を利用する際、Ｊａｖａプログラムはデバイスオブジェクト取得機能に関しては、実施の形態１２及び実施の形態１３及び実施の形態１４で定義される機能を実現可能である。実施の形態１２では、デバイスマネージャ２２０５ｆに対して一つのデバイスオブジェクトを指定して「デバイスオブジェクト取得要求」を発行することで、指定されたデバイスと論理接続状態にあるデバイスオブジェクトを取得可能である。この場合、本実施の形態では、デバイスオブジェクトに対して「デバイスオブジェクト取得要求」を発行することが可能である。その場合のシーケンスを図４６に示す。Ｊａｖａプログラムがデバイスオブジェクトに対して「デバイスオブジェクト取得要求」を発行すると（Ｓ４５０１）、それを受信したデバイスオブジェクトは、デバイスマネージャ２２０５ｆに対して、自分自身を指定して「デバイスオブジェクト取得要求」を中継する（Ｓ４５０２）。デバイスマネージャ２２０５ｆはそのデバイスオブジェクトが表すデバイスと論理接続状態にあるデバイスのデバイスオブジェクトを取得して（Ｓ４５０３）、もとのデバイスオブジェクトに返し（Ｓ４５０４）、デバイスオブジェクトはそれをＪａｖａプログラムに返す（Ｓ４５０５）。Ｊａｖａプログラムがデバイスタイプを指定した場合も同様に、デバイスマネージャ２２０５ｆに対して、自分自身と、そのデバイスタイプを指定して「デバイスオブジェクト取得要求」を中継し、デバイスマネージャ２２０５ｆから返されたデバイスオブジェクトをＪａｖａプログラムに返す。実施の形態１３では、デバイスマネージャ２２０５ｆに対して一つのデバイスオブジェクトを指定して「デバイスオブジェクト取得要求」を発行することで、指定されたデバイスと論理接続可能なデバイスを表すデバイスオブジェクトを取得可能である。また、実施の形態１４では、デバイスマネージャ２２０５ｆに対して一つのデバイスオブジェクトを指定して「デバイスオブジェクト取得要求」を発行することで、指定されたデバイスと論理接続可能かつ論理的に未接続状態であるデバイスを表すデバイスオブジェクトを取得可能である。これらに関してもデバイスオブジェクトが要求を受信可能であり、Ｊａｖａプログラムは図４６のシーケンスで求めるデバイスオブジェクトを取得することが可能である。
【０２５１】
第四の機能であるデバイス論理接続可能性取得機能を利用する際、実施の形態１では、Ｊａｖａプログラムは二つのデバイスオブジェクトを指定し、それらが表すデバイス間の論理接続可能性を取得していた。これをデバイスオブジェクトが中継する場合、Ｊａｖａプログラムは、デバイスオブジェクトに対して、一つのデバイスオブジェクトを指定して、「デバイス論理接続可能性取得要求」を発行する。デバイスオブジェクトはそれを受信すると、自分自身及びＪａｖａプログラムが指定したデバイスオブジェクトを指定して、デバイスマネージャ２２０５ｆに「デバイス論理接続可能性取得要求」を中継する。デバイスマネージャ２２０５ｆは実施の形態１の図３６と同じシーケンスで論理接続可能性を取得し、もとのデバイスオブジェクトに返す。もとのデバイスオブジェクトはデバイスマネージャ２２０５ｆより受け取った論理接続可能性をＪａｖａプログラムに返す。なお、デバイスマネージャ２２０５ｆが論理接続可能性を取得する際のシーケンスは、図４２及び図４３に従い、デバイス論理接続条件管理部及びデバイス論理接続最大数管理部が保持する情報もその判断に用いても良い。
【０２５２】
第五の機能であるデバイス論理接続状態取得機能を利用する際、実施の形態１ではＪａｖａプログラムは二つのデバイスオブジェクトを指定し、それらが表すデバイス間の論理接続状態を取得していた。これをデバイスオブジェクトが中継する場合、Ｊａｖａプログラムは、デバイスオブジェクトに対して、一つのデバイスオブジェクトを指定して、「デバイス論理接続状態取得要求」を発行する。デバイスオブジェクトはそれを受信すると、自分自身及びＪａｖａプログラムが指定したデバイスオブジェクトを指定して、デバイスマネージャ２２０５ｆに「デバイス論理接続状態取得要求」を中継する。デバイスマネージャ２２０５ｆは実施の形態１の図３７と同じシーケンスで論理接続状態を取得し、もとのデバイスオブジェクトに返す。もとのデバイスオブジェクトはデバイスマネージャ２２０５ｆより受け取った論理接続状態をＪａｖａプログラムに返す。
【０２５３】
第六の機能であるデバイス論理接続機能を利用する際、実施の形態１ではＪａｖａプログラムは二つのデバイスオブジェクトを指定し、それらが表すデバイス間を論理的に接続していた。これをデバイスオブジェクトが中継する場合、Ｊａｖａプログラムは、デバイスオブジェクトに対して、一つのデバイスオブジェクトを指定して、「デバイス論理接続要求」を発行する。デバイスオブジェクトはそれを受信すると、自分自身及びＪａｖａプログラムが指定したデバイスオブジェクトを指定して、デバイスマネージャ２２０５ｆに「デバイス論理接続要求」を中継する。デバイスマネージャ２２０５ｆは実施の形態１の図３８と同じシーケンスで論理的に接続する。なお、デバイスマネージャ２２０５ｆが論理接続結果を返す実装であれば、デバイスオブジェクトは、デバイスマネージャ２２０５ｆから得た接続結果を、Ｊａｖａプログラムに返す。また、デバイスマネージャ２２０５ｆがデバイス論理接続条件管理部、デバイス論理接続最大数管理部を有する場合は、論理接続前の論理接続可能性の判断時、それらが保持する情報も判断に用いる。
【０２５４】
第七の機能であるデバイス論理接続解除機能を利用する際、実施の形態１ではＪａｖａプログラムは二つのデバイスオブジェクトを指定し、それらが表すデバイス間の論理接続を解除していた。これをデバイスオブジェクトが中継する場合、Ｊａｖａプログラムは、デバイスオブジェクトに対して、一つのデバイスオブジェクトを指定して、「デバイス論理接続解除要求」を発行する。デバイスオブジェクトはそれを受信すると、自分自身及びＪａｖａプログラムが指定したデバイスオブジェクトを指定して、デバイスマネージャ２２０５ｆに「デバイス論理接続解除要求」を中継する。デバイスマネージャ２２０５ｆは実施の形態１の図３９と同じシーケンスで論理接続を解除する。なお、デバイスマネージャ２２０５ｆが論理接続解除結果を返す実装であれば、デバイスオブジェクトは、デバイスマネージャ２２０５ｆから得た接続解除結果を、Ｊａｖａプログラムに返す。
【０２５５】
第八の機能であるデバイス接続共有可能性取得機能を利用する際、実施の形態１１では、Ｊａｖａプログラムは一つのデバイスオブジェクト及び一つのデバイスタイプを指定し、指定デバイスオブジェクトが表すデバイスが指定デバイスタイプのデバイスとの間に複数のデバイス論理接続パスを設定可能かどうかという判定結果を取得していた。これをデバイスオブジェクトが中継する場合、Ｊａｖａプログラムは一つのデバイスタイプを指定して、デバイスオブジェクトに対して「デバイス接続共有可能性取得要求」を発行する。デバイスオブジェクトは、Ｊａｖａプログラムが指定したデバイスタイプとデバイスオブジェクトとして自分自身を指定して「デバイス接続共有可能性取得要求」を中継する。デバイスマネージャ２２０５ｆは、実施の形態１１と同様に、デバイス接続共有可能性を取得してデバイスオブジェクトに返す。デバイスオブジェクトは、デバイスマネージャ２２０５ｆから得られた結果をＪａｖａプログラムに返す。
【０２５６】
第九の機能であるデバイス処理結果通知リスナ登録機能を利用する際、実施の形態２０では、Ｊａｖａプログラムはデバイス処理結果通知リスナ及び一つのデバイスオブジェクトを指定していた。これをデバイスオブジェクトが中継する場合、Ｊａｖａプログラムはデバイス処理結果通知リスナを指定して、デバイスオブジェクトに対して「デバイス処理結果通知リスナ登録要求」を発行する。デバイスオブジェクトは、Ｊａｖａプログラムが指定したデバイス処理結果通知リスナと、デバイスオブジェクトとして自分自身を指定して「デバイス処理結果通知リスナ登録要求」を中継する。デバイスマネージャ２２０５ｆは、実施の形態２０と同様に、デバイス処理結果通知リスナを、デバイスとＪａｖａプログラムと組にしてデバイスリスナ管理部に記録する。以降、そのデバイスに対してＪａｖａプログラムが処理を行った場合、デバイス処理結果通知リスナに結果通知が行われる。
【０２５７】
上記、各機能について、すべてをデバイスオブジェクトが保持する必要はない。各機能に対するＪａｖａプログラムからの要求をデバイスオブジェクトが中継する、という構成上、実施の形態によって、デバイスマネージャ２２０５ｆに存在しない機能をデバイスオブジェクトが有することは不可能である。さらに、デバイスマネージャ２２０５ｆに存在する機能であっても、そのうちのどの機能をデバイスオブジェクトが中継するかに関しては実装に依存して決定されてよい。
【０２５８】
（実施の形態２３）
実施の形態１では、図３４におけるデバイス数取得時（Ｓ３４０２）において指定デバイスタイプを持つデバイスの数を返している。本実施の形態では、デバイスタイプ指定なしで放送受信装置に存在する全てのデバイスの数を取得することを可能とする。これは手続きＳ３４０１にてデバイスタイプの指定をなくし、手続きＳ３４０２において全てのデバイスの数を取得してＪａｖａプログラムに提供することで、実施可能となる。
【０２５９】
（実施の形態２４）
実施の形態１では、図３５におけるデバイスオブジェクト取得時（Ｓ３５０２）において指定デバイスタイプを持つデバイス全てに対応するデバイスオブジェクトを返している。本実施の形態では、デバイス指定なしで放送受信装置に存在する全てのデバイスに対応するデバイスオブジェクトを取得することを可能とする。これは、手続きＳ３５０１にてデバイスタイプの指定をなくし、手続きＳ３５０２において全てのデバイスタイプに対応するデバイスオブジェクトを取得してＪａｖａプログラムに提供することで、実施可能となる。さらに、この場合、取得したデバイスオブジェクトが何を表すかという情報をＪａｖａプログラムに提供するため、実施の形態２１のように、各デバイスオブジェクトは自分自身に関する情報を保持している必要がある。最低でもデバイスタイプを保持することとする。
【０２６０】
（実施の形態２５）
本発明で想定する放送受信装置は複数のＪａｖａプログラムを同時に実行可能である。そのため、デバイスの論理接続状態を変更するＪａｖａプログラムは複数存在することがある。その場合、Ｊａｖａプログラムが、あるデバイスの論理接続状態の変化を知りたいことがある。例えば、Ｊａｖａプログラム１が利用したいデバイスが既にＪａｖａプログラム２によって論理接続されている場合、Ｊａｖａプログラム１が、Ｊａｖａプログラム２がそのデバイスに関する論理接続を解除したタイミングを知ることができれば、Ｊａｖａプログラム１が定期的にそのデバイスの論理接続状態を調べる必要がなく、便利である。
【０２６１】
本実施の形態では、デバイスマネージャ２２０５ｆの第十の機能として、デバイス状態変化通知リスナ登録機能を導入する。本機能の利用例を図４７に表す。まずＪａｖａプログラム２がＰＩＤフィルタＡとＡＶデコーダＢの「デバイス論理接続要求」をデバイスマネージャ２２０５ｆに対して発行し（Ｓ４６０１）、論理接続が行われる（Ｓ４６０２）。Ｊａｖａプログラム１はその後、ＰＩＤフィルタＡとＡＶデコーダＣの「デバイス論理接続要求」を発行するが、既にＪａｖａプログラム２がＰＩＤフィルタに関する論理接続を行っているため、論理接続に失敗する（Ｓ４６０３）。そこで、Ｊａｖａプログラム１はデバイス状態変化通知リスナとＰＩＤフィルタＡを指定して「デバイス状態変化通知リスナ登録要求」を発行する（Ｓ４６０４）。デバイスマネージャ２２０５ｆは「デバイス状態変化通知リスナ登録要求」受信時、指定デバイス状態変化通知リスナと指定デバイスオブジェクトが表すデバイスを組にしてデバイスリスナ管理部に記憶する。この例の場合、ＰＩＤフィルタＡとデバイス状態変化通知リスナを組にしてデバイスリスナ管理部に記憶する（Ｓ４６０５）。Ｊａｖａプログラム２がＰＩＤフィルタＡとＡＶデコーダＢのデバイス論理接続解除要求を発行して（Ｓ４６０６）、デバイスマネージャ２２０５ｆが接続解除を行う（Ｓ４６０７）、デバイスリスナ管理部よりＰＩＤフィルタＡに関するデバイス状態変化通知リスナを取得して通知を行う（Ｓ４６０８）。その状態では、ＰＩＤフィルタＡは誰も論理接続を行っていないはずなので、Ｊａｖａプログラム１はＰＩＤフィルタＡとＡＶデコーダＣの「デバイス論理接続要求」を発行し（Ｓ４６０９）、デバイスマネージャ２２０５ｆは論理接続を行う（Ｓ４６１０）。
【０２６２】
（実施の形態２６）
本発明で想定する放送受信装置は複数のＪａｖａプログラムを同時に実行可能である。さらに個々のＪａｖａプログラムは優先度を保持しているとする。このような場合、優先度の低いＪａｖａプログラムが構築したデバイス論理接続パスは優先度の高いＪａｖａプログラムによって再構成可能であるとするとデバイス管理の観点から自然である。デバイスマネージャ２２０５ｆに対し「デバイス論理接続要求」が発行された場合、それが論理的に未接続状態のデバイスだった場合、論理接続に際してデバイス論理接続管理部３２０４は、デバイスを論理接続したＪａｖａプログラムの優先度を記録する。既に論理接続状態のデバイスだった場合、デバイスマネージャ２２０５ｆはデバイス論理接続管理部３２０４が保持する現在論理接続しているＪａｖａプログラムの優先度を調べ、もし今回の「デバイス論理接続要求」を発行したＪａｖａプログラムの方が優先度が高い場合、今回の命令に従って論理接続を変更し、デバイス論理接続管理部３２０４に新たなＪａｖａプログラムの優先度を記録する。
【０２６３】
具体的なシーケンスを図４８に表す。Ｊａｖａプログラム１とＪａｖａプログラム２は放送受信装置上で同時に動作するＪａｖａプログラムであり、Ｊａｖａプログラム２はＪａｖａプログラム１よりも優先度が高いとする。まずＪａｖａプログラム１がＰＩＤフィルタＡとＡＶデコーダＢの「デバイス論理接続要求」を発行する（Ｓ４７０１）。それを受信したデバイスマネージャ２２０５ｆは要求に従ってＰＩＤフィルタＡとＡＶデコーダＢを論理接続する（Ｓ４７０２）。その後、Ｊａｖａプログラム１よりも優先度の高いＪａｖａプログラム２がＰＩＤフィルタＡとＡＶデコーダＣの「デバイス論理接続要求」を発行する（Ｓ４７０３）。それを受信したデバイスマネージャ２２０５ｆは、ＰＩＤフィルタＡは既にＡＶデコーダＢと接続されていることに気づき、既に確立されている論理接続を行ったＪａｖａプログラム１と新たな論理接続要求を発行したＪａｖａプログラム２の優先度を比較、Ｊａｖａプログラム２の方が高優先度なので、デバイスマネージャ２２０５ｆはＰＩＤフィルタＡとＡＶデコーダＣを論理接続する（Ｓ４７０４）。
【０２６４】
（実施の形態２７）
実施の形態２６では、暗黙的にデバイス論理接続を変更しているが、Ｊａｖａプログラムが「デバイス論理接続要求」発行時あるいは「デバイス論理接続要求」発行以前にデバイスに対してデバイス状態変化通知リスナを登録しておくことで、デバイス論理接続パスが自分以外のＪａｖａプログラムによって変更されたことに関する通知を受けることを可能とする。
【０２６５】
本実施の形態では、Ｊａｖａプログラムが登録したデバイス状態変化通知リスナをデバイスリスナ管理部が保持する。デバイスマネージャ２２０５ｆが、Ｊａｖａプログラムからの「デバイス論理接続要求」を受け取った時、指定デバイスが既に論理接続されており、実施の形態２６同様の優先度調査に基づいてデバイス論理接続パスの変更を行ったとき、デバイス論理接続パスを奪われたＪａｖａプログラムに関して、もしもデバイス状態変化通知リスナがデバイスリスナ管理部に登録されていればイベントを励起する。
【０２６６】
具体的なシーケンスを図４９に表す。Ｊａｖａプログラム１とＪａｖａプログラム２は放送受信装置上で同時に動作するＪａｖａプログラムであり、Ｊａｖａプログラム２はＪａｖａプログラム１よりも優先度が高いとする。まずＪａｖａプログラム１はデバイス状態変化通知リスナを登録するための「デバイス状態変化通知リスナ登録要求」をデバイスマネージャ２２０５ｆに対して発行し（Ｓ４８０１）、それを受信したデバイスマネージャ２２０５ｆはＪａｖａプログラム１のデバイス状態変化通知リスナを登録する（Ｓ４８０２）。次に、Ｊａｖａプログラム１がＰＩＤフィルタＡとＡＶデコーダＢの「デバイス論理接続要求」を発行する（Ｓ４８０３）。それを受信したデバイスマネージャ２２０５ｆは要求に従ってＰＩＤフィルタＡとＡＶデコーダＢを論理接続する（Ｓ４８０４）。その後、Ｊａｖａプログラム１よりも優先度の高いＪａｖａプログラム２がＰＩＤフィルタＡとＡＶデコーダＣの「デバイス論理接続要求」を発行する（Ｓ４８０５）。それを受信したデバイスマネージャ２２０５ｆは、ＰＩＤフィルタＡは既にＡＶデコーダＢと論理接続されていることに気づき、既に確立されている論理接続を行ったＪａｖａプログラム１と新たな論理接続要求を発行したＪａｖａプログラム２の優先度を比較、Ｊａｖａプログラム２の方が高優先度なので、デバイスマネージャ２２０５ｆはＰＩＤフィルタＡとＡＶデコーダＣを接続する（Ｓ４８０６）。さらに手続きＳ４８０１においてＪａｖａプログラム１はデバイス状態変化通知リスナを登録しているので、デバイスマネージャ２２０５ｆはＪａｖａプログラム１が接続したＰＩＤフィルタＡとＡＶデコーダＢが論理接続解除されたことを通知する（Ｓ４８０７）。
【０２６７】
（実施の形態２８）
実施の形態２７により、デバイス論理接続がより優先度の高いほかのＪａｖａプログラムに奪われたＪａｖａプログラムは、そのままその論理接続を継続することで、奪ったＪａｖａプログラムが終了または論理接続を解除した際に、デバイス状態変化通知リスナを用いて使用可能通知を受け取ることを可能とする。デバイス論理接続管理部３２０４は、デバイスマネージャ２２０５ｆがデバイス論理接続パスの再構成を行って論理接続を奪われたＪａｖａプログラムに対して通知を行った後も、論理接続を奪われたＪａｖａプログラムのデバイス状態変化通知リスナを保持しておき、奪ったＪａｖａプログラムが論理接続を解除したあるいは実行終了した際には、奪われていたＪａｖａプログラムに対して、デバイスマネージャ２２０５ｆが新たに通知を行う。
【０２６８】
具体的なシーケンスを図５０に表す。Ｊａｖａプログラム１とＪａｖａプログラム２は放送受信装置上で同時に動作するＪａｖａプログラムであり、Ｊａｖａプログラム２はＪａｖａプログラム１よりも優先度が高いとする。まずＪａｖａプログラム１はデバイスの状態変化通知を受け取るためのデバイス状態変化通知リスナを登録するための「デバイス状態変化通知リスナ登録要求」をデバイスマネージャ２２０５ｆに対して発行し（Ｓ４９０１）、それを受信したデバイスマネージャ２２０５ｆはＪａｖａプログラム１のデバイス状態変化通知リスナを登録する（Ｓ４９０２）。次に、Ｊａｖａプログラム１がＰＩＤフィルタＡとＡＶデコーダＢの「デバイス論理接続要求」を発行する（Ｓ４９０３）。それを受信したデバイスマネージャ２２０５ｆは要求に従ってＰＩＤフィルタＡとＡＶデコーダＢを論理接続する（Ｓ４９０４）。その後、Ｊａｖａプログラム１よりも優先度の高いＪａｖａプログラム２がＰＩＤフィルタＡとＡＶデコーダＣの「デバイス論理接続要求」を発行する（Ｓ４９０５）。それを受信したデバイスマネージャは、ＰＩＤフィルタＡは既にＡＶデコーダＢと論理接続されていることに気づき、既に確立されている論理接続を行ったＪａｖａプログラム１と新たな論理接続要求を発行したＪａｖａプログラム２の優先度を比較、Ｊａｖａプログラム２の方が高優先度なので、デバイスマネージャ２２０５ｆはＰＩＤフィルタＡとＡＶデコーダＣを論理接続する（Ｓ４９０６）。さらに手続きＳ４９０１においてＪａｖａプログラム１はデバイス状態変化通知リスナを登録しているので、デバイスマネージャ２２０５ｆはＪａｖａプログラム１が論理接続したＰＩＤフィルタＡとＡＶデコーダＢが論理接続解除されたことを通知する（Ｓ４９０７）。その後、Ｊａｖａプログラム２がＰＩＤフィルタＡとＡＶデコーダＣの「デバイス論理接続解除要求」を発行すると（Ｓ４９０８）、デバイスマネージャ２２０５ｆはＰＩＤフィルタＡとＡＶデコーダＣの論理接続を解除し（Ｓ４９０９）、Ｊａｖａプログラム１に対して、ＰＩＤフィルタＡに関する論理接続が可能になった旨の通知を行う（Ｓ４９１０）。
【０２６９】
なお図５０において、Ｊａｖａプログラム２の要求に従って、ＰＩＤフィルタＡとＡＶデコーダＣが論理接続された後、論理接続を解除する前に、Ｊａｖａプログラム２が何らかの原因で実行を終了することがある。その場合、アプリケーション管理を行うＡＭ５００５ｂより、デバイスマネージャ２２０５ｆはＪａｖａプログラム２が終了したことを通知してもらうことが可能なので、その場合はＪａｖａプログラム２が確立した論理接続を論理接続解除する。その際、Ｊａｖａプログラム１との間に競合が起こっていた場合は、Ｊａｖａプログラム１のデバイス状態変化通知リスナに状態変化通知を行う。
【０２７０】
（実施の形態２９）
実施の形態２８では、デバイスの論理接続を奪ったＪａｖａプログラムを論理接続解除または実行終了した場合、奪われたＪａｖａプログラムに対して通知を行うのみだったが、この際に前の論理接続を復活する。さらにこの際、以前の論理接続先が既に別Ｊａｖａプログラムによって論理接続されていた場合は、この段階でも優先度の判断が行われる。もしも論理接続を復活できた場合には、奪われていたＪａｖａプログラムに対してその旨通知が行われる。
【０２７１】
具体的なシーケンスを図５１に表す。Ｊａｖａプログラム１とＪａｖａプログラム２は放送受信装置上で同時に動作するＪａｖａプログラムであり、Ｊａｖａプログラム２はＪａｖａプログラム１よりも優先度が高いとする。まずＪａｖａプログラム１はデバイス状態変化通知を受け取るためのデバイス状態変化通知リスナを登録するための「デバイス状態変化通知リスナ登録要求」をデバイスマネージャ２２０５ｆに対して発行し（Ｓ５００１）、それを受信したデバイスマネージャ２２０５ｆはＪａｖａプログラム１の状態変化通知リスナを登録する（Ｓ５００２）。次に、Ｊａｖａプログラム１がＰＩＤフィルタＡとＡＶデコーダＢの「デバイス論理接続要求」を発行する（Ｓ５００３）。それを受信したデバイスマネージャ２２０５ｆは要求に従ってＰＩＤフィルタＡとＡＶデコーダＢを論理接続する（Ｓ５００４）。その後、Ｊａｖａプログラム１よりも優先度の高いＪａｖａプログラム２がＰＩＤフィルタＡとＡＶデコーダＣの「デバイス論理接続要求」を発行する（Ｓ５００５）。それを受信したデバイスマネージャ２２０５ｆは、ＰＩＤフィルタＡは既にＡＶデコーダＢと論理接続されていることに気づき、既に確立されている論理接続を行ったＪａｖａプログラム１と新たな論理接続要求を発行したＪａｖａプログラム２の優先度を比較、Ｊａｖａプログラム２の方が高優先度なので、デバイスマネージャ２２０５ｆはＰＩＤフィルタＡとＡＶデコーダＣを論理接続する（Ｓ５００６）。さらに手続きＳ５００１においてＪａｖａプログラム１はデバイス状態変化通知リスナを登録しているので、デバイスマネージャ２２０５ｆはＪａｖａプログラム１が接続したＰＩＤフィルタＡとＡＶデコーダＢが論理接続解除されたことを通知する（Ｓ５００７）。その後、Ｊａｖａプログラム２がＰＩＤフィルタＡとＡＶデコーダＣの「デバイス論理接続解除要求」を発行すると（Ｓ５００８）、デバイスマネージャ２２０５ｆはＰＩＤフィルタＡとＡＶデコーダＣの論理接続を解除して（Ｓ５００９）、ＰＩＤフィルタＡとＡＶデコーダＢの再接続を行い、Ｊａｖａプログラム１に対して、ＰＩＤフィルタＡとＡＶデコーダＢの再接続を行った旨の通知を行う（Ｓ５０１０）。
【０２７２】
なお、図５１において、Ｊａｖａプログラム２の要求に従って、ＰＩＤフィルタＡとＡＶデコーダＣが論理接続された後、論理接続を解除する前に、Ｊａｖａプログラム２が何らかの原因で実行を終了することがある。その場合、アプリケーション管理を行うＡＭ５００５ｂより、デバイスマネージャ２２０５ｆはＪａｖａプログラム２が終了したことを通知してもらうことが可能なので、その場合はＪａｖａプログラム２が確立した論理接続を論理接続解除する。Ｊａｖａプログラム１との間に競合が起こっていた場合は、再度そのＪａｖａプログラムが要求した論理接続を確立し、Ｊａｖａプログラム１のデバイス状態変化通知リスナに状態変化通知を行う。
【０２７３】
（実施の形態３０）
実施の形態１では、デバイス論理接続管理部３２０４は、デバイスの論理接続状態を管理しているのみであった。しかし、Ｊａｖａプログラムが接続を行い、デバイス論理接続パスが構築されたデバイスに関しても、使用されていなければ何の効果も表さない。本実施の形態では、デバイス使用状態管理部を導入し、デバイスの使用状態を管理する。デバイスマネージャ２２０５ｆはＪａｖａプログラムが「デバイス論理接続要求」を発行した時に、優先度の低いＪａｖａプログラムが既に接続を構築していたとしても、デバイス使用状態管理部に問い合わせて、使用中であれば接続の再構築を行わない。
【０２７４】
（実施の形態３１）
実施の形態３では、放送受信装置内に存在するデバイスであればデバイスマネージャ２２０５ｆ内の各部がそれらデバイスに関する情報を扱うことにより、デバイスマネージャ２２０５ｆが論理接続を管理することが可能であることを示した。しかしながら、図１４におけるアダプタ１５１１内のデバイスのように、放送受信装置に予め存在せず、後から追加するデバイスも存在する。これに関しては、放送受信装置内のデバイスマネージャ２２０５ｆが予めこれらデバイスの情報を管理することは不可能である。
【０２７５】
本実施の形態では、それらデバイスに関してもデバイスマネージャ２２０５ｆが管理を行う。そのために、デバイスマネージャ２２０５ｆ内にデバイス記述取得部及びデバイス記述解釈部及びデバイス物理接続変更取得部を導入する。
【０２７６】
デバイス記述取得部は新たに追加されたデバイスが保持するデバイス記述をデバイスより取得する機能を持つ。デバイス記述取得部は、デバイスからデバイス記述を読み込むためのライブラリとして実現され、ＲＯＭ１２０９が保持し、ＣＰＵ１５０６が利用する。
【０２７７】
デバイス記述解釈部は、デバイスより取得したデバイス記述を解釈し、デバイスマネージャ２２０５ｆが理解可能な形に直す。デバイス記述解釈部は、デバイス記述を解釈するライブラリとして実現され、ＲＯＭ１５０９が保持し、ＣＰＵ１５０６が利用する。
【０２７８】
デバイス物理接続変更取得部は、デバイスが追加されたことによる放送受信装置内に存在するデバイスの物理接続関係の変更を取得するために用いる。デバイスマネージャ２２０５ｆはデバイス物理接続変更取得部を用いて、二つの機能を実現する。一つは放送受信装置内に存在するデバイス構成の変化の検知である。デバイスマネージャ２２０５ｆはデバイス構成の変化（デバイスの追加または削除）が起こった際、デバイス物理接続変更取得部より通知を受けることでそれを知ることが可能となる。もう一つはデバイスの物理接続構成の変化取得である。デバイスマネージャ２２０５ｆはデバイスの物理接続の変化を取得することが可能となる。デバイス物理接続変更取得部は、デバイスの物理接続変更を取得するためのライブラリとして実現され、ＲＯＭ１５０９が保持し、ＣＰＵ１５０６が利用する。
【０２７９】
デバイス記述は追加されるデバイスが保持する。デバイスマネージャ２２０５ｆは、放送受信装置の起動時に、接続されたデバイスのデバイス記述を、デバイス記述取得部を用いて読み込み、デバイス記述解釈部を用いて、解釈を行う。その後、解釈された情報をデバイスマネージャ２２０５ｆ内の他モジュールの情報を設定する。デバイス記述は特に"デバイスタイプ文字列"を含み、さらに必要であれば、"デバイス論理接続条件"や"デバイス論理接続最大数"を含む。"デバイスタイプ"はデバイス基本情報管理部３２０１が管理する。"デバイス論理接続条件"や"デバイス論理接続最大数"は、追加されるデバイスのハードウェア仕様に既定される要件を表現し、デバイス論理接続最大数管理部やデバイス接続条件管理部が管理する。さらにデバイスマネージャ２２０５ｆはデバイスの追加により変更された物理接続をデバイス物理接続変更取得部より取得し、デバイス物理接続管理部３２０３に設定する。以降、実施の形態１で定義したデバイスマネージャ２２０５ｆの機能実現シーケンスを変更することなく、デバイスマネージャ２２０５ｆは動作可能である。
【０２８０】
（実施の形態３２）
実施の形態３１ではデバイス記述を読み込む形態について述べたが、さらに、本実施の形態では、デバイス記述を放送受信装置の起動中に読み込むことができる。この場合、例えば図１４におけるアダプタ１５１１が動的に追加され、さらに動的に追加可能なデバイスを搭載していた場合、デバイスマネージャ２２０５ｆはデバイス物理接続変更取得部より通知を受けることでそれを検知し、実施の形態３１同様、デバイスの追加を行う。その追加時シーケンス内で、デバイスマネージャ２２０５ｆはデバイス記述の取得、解釈を行い、情報を各部に設定する。さらに物理接続の変更を取得してデバイス物理接続管理部３２０３に設定する。  このように実装することで、デバイスマネージャ２２０５ｆは動的な接続の追加に対応可能である。
【０２８１】
（実施の形態３３）
実施の形態３２ではデバイスの動的な追加に関して述べたが、そのように動的に追加可能なデバイスは動的に削除されることも多い。そのような場合、デバイスマネージャ２２０５ｆは、それをデバイス物理接続変更取得部から通知されることでそれを検知し、デバイス物理接続変更取得部を用いてデバイスの物理構成の変更をデバイス物理接続管理部３２０３に設定する。さらに、その時点で確立されている論理接続のうち、削除された物理接続を利用していたものに関しては、論理接続を自動的に解除する。その際、デバイス状態変化通知リスナが登録されていれば、Ｊａｖａプログラムに対して、デバイス状態変化通知リスナを通して、自動的に論理接続を解除した旨の通知を行う。
これにより、デバイスマネージャ２２０５ｆはデバイスの動的な削除に対応可能である。
【０２８２】
（実施の形態３４）
実施の形態１〜３２では、デバイスマネージャ２２０５ｆが管理するデバイスは、デバイスオブジェクトを基準として、デバイス単体として扱っていた。そのため、論理接続する段になったときに個々のデバイスを指定しなければならないため、Ｊａｖａプログラムにとって論理接続は面倒な操作となってしまっている。
【０２８３】
本実施の形態では、デバイスの組をまとめて扱うことのできる「デバイスセット」の概念を導入し、デバイスマネージャ２２０５ｆはデバイスセットを表すオブジェクトの入力を受け付けることを可能とする。デバイスセットはデバイスオブジェクトの集合であると定義され、さらに、デバイスセットはデバイスオブジェクトがデバイスセットに登録された順序を保持する。つまり、デバイスセットが表現するのは"デバイス論理接続パスを構成するデバイス列"である。ここまでの実施の形態では、デバイスマネージャ２２０５ｆの各機能を利用する際、デバイスオブジェクト二つを用いて二つのデバイス間の論理接続を表現することしかできなかった。本実施の形態では、デバイスマネージャ２２０５ｆの機能を利用する際、複数のデバイスから構成される"デバイス論理接続パス"を表現するデバイスセットを指定することで、指定されたデバイス論理接続パスを対象とすることが可能である。例えば、セクションフィルタを用いてＭＰＥＧ２セクションが伝送するデータを取得したい場合、チューナ、ＰＩＤフィルタ、セクションフィルタの各デバイスに対応するデバイスオブジェクトをデバイスマネージャ２２０５ｆより取得し、論理接続したいデバイスオブジェクトを論理接続したい順序にデバイスセットに設定し、そのデバイスセットを用いて論理接続可能性の判断や論理接続を行うことが可能となる。この時、デバイスマネージャ２２０５ｆはデバイスマネージャ２２０５ｆ内の各部を用いて、デバイスセット内に含まれるデバイスがセットされた順序でデバイス論理接続パスを確立可能であった時のみ論理接続を行う。これによりＪａｖａプログラムは論理接続自体を簡単に行うことが可能となる。
【０２８４】
（実施の形態３５）
実施の形態３４では、Ｊａｖａプログラムがデバイスセットを指定して「デバイス論理接続要求」を発行した場合、デバイスマネージャ２２０５ｆは指定デバイスセット内のデバイスがセットされた順序で論理接続可能だった場合のみ接続を行う。本実施の形態では、そのような場合、指定デバイスセット内の全てのデバイス同士が論理接続可能でなくても、論理接続可能な部分のみ論理接続を行う。
【０２８５】
（実施の形態３６）
実施の形態３４〜３５ではデバイスセットの概念を導入し、複数種類のデバイスを一度に扱うことができるような実装をしたが、実施の形態３６ではさらに高度な機能として、機能を表現するオブジェクトの指定によりデバイスの論理接続を行う機能をデバイスマネージャ２２０５ｆが提供する。例えばセクションフィルタを利用する場合、実施の形態３４では個々のデバイスに対応するデバイスオブジェクトをデバイスセットに設定して、それを用いて論理接続操作を行う必要があったが、実施の形態３６では、"機能"をデバイスマネージャ２２０５ｆに対して指定することを可能とする。例えば、「Ｗ個のＭＰＥＧ２セクションの選別を行いたい」という"機能"を指定してデバイスマネージャ２２０５ｆの第六の機能であるデバイス論理接続機能を利用することで、自動的に、指定された"機能"に対して必要なデバイスを論理接続し、実際に確立したデバイス論理接続パス内のデバイスに対応するデバイスオブジェクトを保持するデバイスセットを返す。これにより、Ｊａｖａプログラムは"どのデバイスをどう論理接続すれば所望の機能を実現できるのか"を知る必要なく、所望の"機能"自体を指定することによりそれに必要なデバイス論理接続パスが得られる。
【０２８６】
本実施の形態では、"機能"を表現するための機能オブジェクトを定義する。Ｊａｖａプログラムは自身が利用したい"機能"を機能オブジェクトに設定する。その機能オブジェクトをデバイスマネージャ２２０５ｆに指定して、デバイスマネージャ２２０５ｆの機能を利用する。
【０２８７】
デバイスマネージャ２２０５ｆは機能オブジェクトが保持する"機能"から、それに必要なデバイス論理接続パスを導く必要がある。本実施の形態では、デバイスマネージャ２２０５ｆに機能解釈部を導入する。機能解釈部は、デバイスマネージャ２２０５ｆが機能オブジェクトを受け取った時に、その機能を実現するのに必要なデバイス論理接続パスに含まれるデバイスを導く機能を持つライブラリとして実現され、ＲＯＭ１２０９内に存在し、ＣＰＵ１２０６によって使用される。
【０２８８】
デバイスマネージャ２２０５ｆは、各機能の利用時に機能オブジェクトを指定されると、機能解釈部を利用して必要なデバイスを導く。得られたデバイスに関して、デバイスマネージャ２２０５ｆは各機能を適用する。例えば、第六の機能であるデバイス論理接続機能を利用する場合、例えば「Ｗ個のＭＰＥＧ２セクションを選別」と指定された場合、まずデバイスマネージャ２２０５ｆは機能解釈部を利用して「Ｗ個のＭＰＥＧ２セクションを選別」するために必要なデバイス論理接続パスを確立するのに必要な全てのデバイスを取得し、デバイス論理接続パスを確立する。
【０２８９】
本機能を利用して、Ｊａｖａプログラムは自身の利用したい"機能"を指定してデバイス論理接続パスを確立することが可能となる。
【０２９０】
（実施の形態３７）
実施の形態１〜３６においては、放送受信装置の起動中に確立されたデバイス論理接続パスは、放送受信装置の電源断によって、解除され、再起動時には改めて放送受信装置上のＪａｖａプログラムがデバイスの論理接続を行う必要がある。本実施の形態では、デバイスマネージャ２２０５ｆは、放送受信装置の電源投入時に放送受信装置の前回終了時に確立されていたデバイス論理接続パスを自動的に再確立する。このため、デバイス論理接続管理部３２０４を２次記憶部１２０７に置き、電源断が行われてもデバイス論理接続管理部３２０４が管理する情報が消去されないようにする。デバイスマネージャ２２０５ｆは放送受信装置の電源投入時に２次記憶部１２０７上に存在するデバイス論理接続管理部３２０４を調査し、論理接続されたまま電源が切られたデバイス論理接続パスに関して、自動的に再論理接続を行う。
【０２９１】
（実施の形態３８）
実施の形態３７では放送受信装置の電源投入時、前回の電源切断時のデバイス論理接続パスを自動的に復活する。しかし、放送受信装置上で動作していたＪａｖａプログラムはどのデバイス論理接続パスが復活されたのか知る手段がない。本実施の形態では、放送受信装置の電源投入時、前回の電源切断時のデバイス論理接続パスを自動的に復活すると同時に、自動的に復活したデバイス論理接続パスを確立する「デバイス論理接続要求」を発行していたＪａｖａプログラムが起動した際、自動的に復活したデバイス論理接続パスを通知する。これは２次記憶部１２０７上のデバイス論理接続管理部３２０４がデバイス論理接続パス情報を格納する際に、その要求を発行したＪａｖａプログラムの識別子を同時に保持しておくことにより、放送受信装置の電源投入時、デバイス論理接続パスを復活する際にＪａｖａプログラムの識別子を取得して、合致するＪａｖａプログラムが動作していれば通知を行う、という手続きを踏むことで実現可能である。
【０２９２】
以上の各実施の形態では、全て放送受信装置はＪａｖａ言語により記述されたプログラムを実行することを前提としているが、本発明は言語には依存しないため、他の言語によって記述されたプログラムが実行される環境であっても以上の各実施の形態同様、本発明は適用可能である。
【産業上の利用可能性】
【０２９３】
本発明に係る放送受信装置は、放送受信装置上にあるデバイスの接続・接続解除手段を放送受信装置上で動作するプログラムに提供することで、より詳細なデバイス管理を実現するものであり、デジタルテレビなどの放送受信装置、パーソナルコンピュータ、携帯電話、記録媒体内のデータ処理を行う装置といった情報処理装置上でより高機能なプログラムの動作を可能とする。
【図面の簡単な説明】
【０２９４】
【図１】本発明に係る放送システムの構成図である。
【図２】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図３】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図４】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図５】ＭＰＥＧ２仕様で既定されるＴＳパケットの構成図である。
【図６】ＭＰＥＧ２トランスポートストリームの模式図である。
【図７】ＭＰＥＧ２仕様で既定されるＰＥＳパケットがＴＳパケットを用いて伝送される際の分割例である。
【図８】ＭＰＥＧ２仕様で既定されるＭＰＥＧ２セクションがＴＳパケットを用いて伝送される際の分割例である。
【図９】ＭＰＥＧ２仕様で既定されるＭＰＥＧ２セクションの構成図である。
【図１０】ＭＰＥＧ２仕様で既定されるＭＰＥＧ２セクションの利用例である。
【図１１】本発明に係る放送受信装置のハードウェア構成の構成例である。
【図１２】本発明に係る端末装置のハードウェア構成における入力部のフロントパネル例である。
【図１３】本発明に係る放送受信装置のハードウェア構成の構成例である。
【図１４】本発明に係る放送受信装置のハードウェア構成の構成例である。
【図１５】本発明に係る放送受信装置のハードウェア構成の構成例である。
【図１６】本発明に係る放送受信装置のハードウェア構成例に存在するフロントパネルの例である。
【図１７】本発明に係る放送受信装置のデバイス接続例である。
【図１８】本発明に係る放送受信装置のデバイス接続例である。
【図１９】本発明に係る放送受信装置のデバイス接続例である。
【図２０】本発明に係る放送受信装置のデバイス接続例である。
【図２１】本発明に係る放送受信装置のハードウェアとソフトウェアとの関係を示す概念図である。
【図２２】本発明に係る端末装置が保存するプログラム構成の構成図である。
【図２３】（ａ）、（ｂ）は、本発明に係る端末装置が実行するＥＰＧの例である。
【図２４】本発明に係る２次記憶部が保存する情報の一例である。
【図２５】（ａ）、（ｂ）、（ｃ）は、本発明に係る１次記憶部が保存する情報の一例である。
【図２６】本発明に係るＭＰＥＧ２規格が規定するＰＡＴの内容を表す模式図である。
【図２７】本発明に係るＭＰＥＧ２規格が規定するＰＭＴの内容を表す模式図である。
【図２８】本発明に係るＤＶＢ−ＭＨＰ規格が規定するＡＩＴの内容を表す模式図である。
【図２９】本発明に係るＤＳＭＣＣ方式で送信されるファイルシステムを表す模式図である。
【図３０】（ａ）、（ｂ）、（ｃ）、（ｄ）は、本発明に係るデバイス接続パスの構成例である。
【図３１】本発明に係るデバイス接続パスの全体構成例である。
【図３２】本発明の実施の形態１に係るデバイスマネージャ内の構成である。
【図３３】本発明に係るデバイスマネージャのデバイスタイプ取得シーケンスである。
【図３４】本発明に係るデバイスマネージャのデバイス数取得シーケンスである。
【図３５】本発明に係るデバイスマネージャのデバイスオブジェクト取得時のシーケンスである。
【図３６】本発明に係るデバイスマネージャのデバイス接続可能性取得シーケンスである。
【図３７】本発明に係るデバイスマネージャのデバイス接続状態取得シーケンスである。
【図３８】本発明に係るデバイスマネージャのデバイス接続シーケンスである。
【図３９】本発明に係るデバイスマネージャのデバイス接続解除シーケンスである。
【図４０】本発明に係るデバイスマネージャを利用するプログラムのデバイス接続シーケンスである。
【図４１】本発明に係る放送受信装置のハードウェア構成の構成例である。
【図４２】本発明の実施の形態１０におけるデバイス接続可能性取得シーケンスである。
【図４３】本発明の実施の形態１１におけるデバイス接続可能性取得シーケンスである。
【図４４】本発明の実施の形態１１における最も簡単な実装のデバイス接続可能性取得シーケンスである。
【図４５】本発明の実施の形態１９に係るプログラムのデバイス接続シーケンス例である。
【図４６】本発明の実施の形態２２におけるデバイスオブジェクト取得時のシーケンスである。
【図４７】本発明の実施の形態２５に係る複数プログラム動作時のシーケンスである。
【図４８】本発明の実施の形態２６に係るプログラム間のデバイス接続競合が起こった際の動作シーケンスである。
【図４９】本発明の実施の形態２７に係るプログラム間のデバイス接続競合が起こった際の動作シーケンスである。
【図５０】本発明の実施の形態２８に係るプログラム間のデバイス接続競合が起こった際の動作シーケンスである。
【図５１】本発明の実施の形態２９に係るプログラム間のデバイス接続競合が起こった際の動作シーケンスである。
【図５２】本発明に係る課題を説明するためのハードウェア構成図である。
【符号の説明】
【０２９５】
１８００    端末装置
１２０２    ＴＳデコーダ
１８０１    チューナ
１８０２    ＰＩＤフィルタ
１８０３    セクションフィルタ
１８０４    デスクランブラ
１８０５    ＡＶデコーダ
１８０６    ディスプレイ／スピーカ
１８０７    １次記憶部
２２０５ｆ  デバイスマネージャ
３２０１    デバイス基本情報管理部
３２０２    デバイスオブジェクト管理部
３２０３    デバイス物理接続管理部
３２０４    デバイス論理接続管理部
３２０５    デバイス論理接続部
３２０６    デバイス論理接続解除部
【図１】
2005071330.tif 000003
【図２】
2005071330.tif 000004
【図３】
2005071330.tif 000005
【図４】
2005071330.tif 000006
【図５】
2005071330.tif 000007
【図６】
2005071330.tif 000008
【図７】
2005071330.tif 000009
【図８】
2005071330.tif 000010
【図９】
2005071330.tif 000011
【図１０】
2005071330.tif 000012
【図１１】
2005071330.tif 000013
【図１２】
2005071330.tif 000014
【図１３】
2005071330.tif 000015
【図１４】
2005071330.tif 000016
【図１５】
2005071330.tif 000017
【図１６】
2005071330.tif 000018
【図１７】
2005071330.tif 000019
【図１８】
2005071330.tif 000020
【図１９】
2005071330.tif 000021
【図２０】
2005071330.tif 000022
【図２１】
2005071330.tif 000023
【図２２】
2005071330.tif 000024
【図２３】
2005071330.tif 000025
【図２４】
2005071330.tif 000026
【図２５】
2005071330.tif 000027
【図２６】
2005071330.tif 000028
【図２７】
2005071330.tif 000029
【図２８】
2005071330.tif 000030
【図２９】
2005071330.tif 000031
【図３０】
2005071330.tif 000032
【図３１】
2005071330.tif 000033
【図３２】
2005071330.tif 000034
【図３３】
2005071330.tif 000035
【図３４】
2005071330.tif 000036
【図３５】
2005071330.tif 000037
【図３６】
2005071330.tif 000038
【図３７】
2005071330.tif 000039
【図３８】
2005071330.tif 000040
【図３９】
2005071330.tif 000041
【図４０】
2005071330.tif 000042
【図４１】
2005071330.tif 000043
【図４２】
2005071330.tif 000044
【図４３】
2005071330.tif 000045
【図４４】
2005071330.tif 000046
【図４５】
2005071330.tif 000047
【図４６】
2005071330.tif 000048
【図４７】
2005071330.tif 000049
【図４８】
2005071330.tif 000050
【図４９】
2005071330.tif 000051
【図５０】
2005071330.tif 000052
【図５１】
2005071330.tif 000053
【図５２】
2005071330.tif 000054