(57)【要約】【課題】放送信号を受信する装置をシームレスに切り替えることができるようにする。【解決手段】  情報処理装置１０３により、ＢＳデジタル放送のデータが受信され、ネットワーク１０４を介して情報処理装置１０１に送信されている場合において、情報処理装置１０３において他のイベントが発生すると、情報処理装置１０１の要求に応じて、情報処理装置１０２によりＢＳデジタル放送のデータが受信され、情報処理装置１０１に送信される。そして、情報処理装置１０３のデータと、情報処理装置１０２からのデータが受信されると、情報処理装置１０１のデマルチプレクサ４０１−２は、ＰＣＲパケットに基づいて、処理するデータを、情報処理装置１０３からのデータから、情報処理装置１０２のデータに切り替える。本発明は、リアルタイムにストリーミングデータを伝送する通信システムに適用できる。【選択図】図２０
2005340905.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置、並びに、前記第１の情報処理装置とネットワークを介して接続され、放送信号を受信する信号受信手段を有する第２および第３の情報処理装置からなる情報処理システムにおいて、
前記第１の情報処理装置は、
前記第２および第３の情報処理装置からのデータを受信するデータ受信手段と、
前記データ受信手段により受信されたデータを処理するデータ処理手段と、
前記データ受信手段による前記第２の情報処理装置からのデータの受信中に、前記第２の情報処理装置によりデータ送信の停止要求が行われた場合、前記第３の情報処理装置に、前記データ送信の要求信号を送信する要求信号送信手段と、
前記データ処理手段により処理される対象データを、前記第２および第３の情報処理装置のデータから検出される同一パケットに基づいて、前記第２の情報処理装置からのデータから、前記要求信号送信手段により送信された前記要求信号に応じて受信される前記第３の情報処理装置からのデータに切り替える切り替え手段とを備え、
前記第２および第３の情報処理装置は、
前記第１の情報処理装置からの前記データ送信の要求信号に応じて、前記信号受信手段により受信された放送信号を信号処理する信号処理手段と、
前記信号処理手段により信号処理された前記放送信号のデータを、前記第１の情報処理装置に送信するデータ送信手段と、
自己の信号処理量が高くなった場合、前記第１の情報処理装置に、前記データ送信手段による前記データの送信の停止要求を行う停止要求手段とを備える
ことを特徴とする情報処理システム。
【請求項２】
前記ネットワークは、セルネットワークである
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記同一パケットは、ＰＣＲ(Program Clock Reference)パケットである
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記切り替え手段は、
前記第２の情報処理装置からのデータを一定時間蓄積する第１のリングバッファと、
前記第３の情報処理装置からのデータを一定時間蓄積する第２のリングバッファと、
前記第１のリングバッファに蓄積された前記第２の情報処理装置からのデータのＰＣＲパケットのＰＣＲ値と一致する、前記第２のリングバッファに蓄積された前記第３の情報処理装置からのデータのＰＣＲパケットを検出するパケット検出手段と、
前記第１のリングバッファから前記第２の情報処理装置からのデータの前記ＰＣＲパケットが読み出される際に、前記第２のリングバッファから、前記パケット検出手段により検出された前記第３の情報処理装置からのデータのＰＣＲパケットが読み出されるように切り替えを制御する切り替え制御手段と
を備えることを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記第１の情報処理装置は、
前記切り替え手段により前記対象データが、前記第２の情報処理装置からのデータから、前記第３の情報処理装置からのデータに切り替えられた場合、前記第２の情報処理装置に前記データ送信を停止させる制御を行う停止制御手段を
さらに備えることを特徴とする請求項１に記載の情報処理システム。
【請求項６】
前記第２および第３の情報処理装置は、
前記データ送信手段による前記データの送信前に、前記信号処理手段により信号処理された前記放送信号のデータに、前記放送信号を受信した前記信号受信手段を識別するためのコードを付加するコード付加手段を
さらに備え、
前記データ受信手段は、前記コード付加手段により付加されたコードに基づいて、前記信号受信手段により受信された前記放送信号のデータを見分けて、前記データを受信する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項７】
放送信号を受信する信号受信手段を有する第１および第２の装置からのデータを、ネットワークを介して受信する情報処理装置において、
前記第１および第２の装置からのデータを受信するデータ受信手段と、
前記データ受信手段により受信されたデータを処理するデータ処理手段と、
前記データ受信手段による前記第１の装置からのデータの受信中に、前記第１の装置によりデータ送信の停止要求が行われた場合、前記第２の装置に前記データ送信の要求信号を送信する要求信号送信手段と、
前記データ処理手段により処理される対象データを、前記第１および第２の装置のデータから検出される同一パケットに基づいて、前記第１の装置からのデータから、前記要求信号送信手段により送信された前記要求信号に応じて受信される前記第２の装置からのデータに切り替える切り替え手段と
を備えることを特徴とする情報処理装置。
【請求項８】
前記ネットワークは、セルネットワークである
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記同一パケットは、ＰＣＲ(Program Clock Reference)パケットである
ことを特徴とする請求項７に記載の情報処理システム。
【請求項１０】
前記切り替え手段は、
前記第１の装置からのデータを一定時間蓄積する第１のリングバッファと、
前記第２の装置からのデータを一定時間蓄積する第２のリングバッファと、
前記第１のリングバッファに蓄積された前記第１の装置からのデータのＰＣＲパケットのＰＣＲ値と一致する、前記第２のリングバッファに蓄積された前記第２の装置からのデータのＰＣＲパケットを検出するパケット検出手段と、
前記第１のリングバッファから前記第１の装置からのデータの前記ＰＣＲパケットが読み出される際に、前記第２のリングバッファから、前記パケット検出手段により検出された前記第２の装置からのデータのＰＣＲパケットが読み出されるように切り替えを制御する切り替え制御手段と
を備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記切り替え手段により前記対象データが、前記第１の装置からのデータから、前記第２の装置からのデータに切り替えられた場合、前記第１の装置に前記データ送信を停止させる制御を行う停止制御手段を
さらに備えることを特徴とする請求項７に記載の情報処理装置。
【請求項１２】
前記データ受信手段は、前記放送信号を受信した前記信号受信手段を識別するために前記第１または第２の装置により付加されたコードに基づいて、前記信号受信手段により受信された前記放送信号のデータを見分けて、前記データを受信する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項１３】
放送信号を受信する信号受信手段を有する第１および第２の装置からのデータを、ネットワークを介して受信する情報処理装置の情報処理方法において、
前記第１および第２の装置からのデータを受信するデータ受信ステップと、
前記データ受信ステップの処理により受信されたデータを処理するデータ処理ステップと、
前記データ受信ステップの処理による前記第１の装置からのデータの受信中に、前記第１の装置によりデータ送信の停止要求が行われた場合、前記第２の装置に前記データ送信の要求信号を送信する要求信号送信ステップと、
前記データ処理ステップの処理により処理される対象データを、前記第１および第２の装置のデータから検出される同一パケットに基づいて、前記第１の装置からのデータから、前記要求信号送信ステップの処理により送信された前記要求信号に応じて受信される前記第２の装置からのデータに切り替える切り替えステップと
を含むことを特徴とする情報処理方法。
【請求項１４】
放送信号を受信する信号受信手段を有する第１および第２の装置からのデータを、ネットワークを介して受信する処理をコンピュータに行わせるプログラムが記録されている記録媒体であって、
前記第１および第２の装置からのデータを受信するデータ受信ステップと、
前記データ受信ステップの処理により受信されたデータを処理するデータ処理ステップと、
前記データ受信ステップの処理による前記第１の装置からのデータの受信中に、前記第１の装置によりデータ送信の停止要求が行われた場合、前記第２の装置に前記データ送信の要求信号を送信する要求信号送信ステップと、
前記データ処理ステップの処理により処理される対象データを、前記第１および第２の装置のデータから検出される同一パケットに基づいて、前記第１の装置からのデータから、前記要求信号送信ステップの処理により送信された前記要求信号に応じて受信される前記第２の装置からのデータに切り替える切り替えステップと
を含むことを特徴とするプログラムが記録されている記録媒体。
【請求項１５】
放送信号を受信する信号受信手段を有する第１および第２の装置からのデータを、ネットワークを介して受信する処理をコンピュータに行わせるプログラムであって、
前記第１および第２の装置からのデータを受信するデータ受信ステップと、
前記データ受信ステップの処理により受信されたデータを処理するデータ処理ステップと、
前記データ受信ステップの処理による前記第１の装置からのデータの受信中に、前記第１の装置によりデータ送信の停止要求が行われた場合、前記第２の装置に前記データ送信の要求信号を送信する要求信号送信ステップと、
前記データ処理ステップの処理により処理される対象データを、前記第１および第２の装置のデータから検出される同一パケットに基づいて、前記第１の装置からのデータから、前記要求信号送信ステップの処理により送信された前記要求信号に応じて受信される前記第２の装置からのデータに切り替える切り替えステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、装置の信号処理量の負荷に応じて、対象のデータを送信する装置をシームレスに切り替えることができるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
最近、複数のプロセッサまたはコンピュータを用いて、処理を分散して実行させる、情報処理システムが注目されている（特許文献１乃至５参照）。分散処理を実行させる方法としては、ネットワークを介して接続される複数のコンピュータに処理を実行させる方法、１つのコンピュータに設けられた、複数のプロセッサに処理を実行させる方法、および上述した２つの方法を組み合わせて処理を実行させる方法がある。
【０００３】
このような情報処理システムにおいては、デジタル放送を受信するチューナがない装置であっても、他の装置が有するチューナをネットワークを介して共有することにより、デジタル放送を視聴することが可能である。
【０００４】
図１は、従来の情報処理システムの例を示している。ＬＡＮ(Local Area Network)などで構成されるネットワーク３には、情報処理装置１−１，１−２，および２が相互に接続されている。
【０００５】
情報処理装置１−１および１−２は、プロセッサ１１−１および１１−２、並びに、ＣＳ(Communication Satellite)デジタル放送信号を受信するＣＳチューナ１２−１および１２−２をそれぞれ有している。プロセッサ１１−１および１１−２は、所定のプログラムを実行することでデマルチプレクサ２１−１および２１−２をそれぞれ実現する。デマルチプレクサ２１−１および２１−２は、ＣＳチューナ１２−１および１２−２によりそれぞれ受信されたＣＳデジタル放送信号のMPEG(Moving Picture Experts Group)トランスポートストリームパケットから、選択されたチャンネルだけのMPEGトランスポートストリームパケット（MPEGデータ）に変換する。
【０００６】
情報処理装置２は、プロセッサ３１、スイッチ（ＳＷ）３２、ＢＳ (Broadcasting Satellite)デジタル放送信号を受信するＢＳチューナ３３、およびモニタ３４を有している。プロセッサ３１は、所定のプログラムを実行することでデコード部４１を実現する。デコード部４１は、スイッチ３２を介して入力されるMPEGデータをデコードし、モニタ３４に表示させる。スイッチ３２は、端子３２ａおよび端子３２ｂを有しており、端子３２ａを選択することにより、ネットワーク３を介して情報処理装置１−１または１−２から送信されてくるMPEGデータをデコード部４１に供給し、端子３２ｂを選択することにより、ＢＳチューナ３３により受信され、図示せぬデマルチプレクサにより変換されたMPEGデータをデコード部４１に供給する。
【０００７】
ここで、図１の情報処理システムにおいて、ＣＳチューナを有していない情報処理装置２でＣＳデジタル放送の視聴が要求された場合、情報処理装置２は、ネットワーク３を介して、情報処理装置１−１が有するＣＳチューナ１２−１を共有する。
【０００８】
すなわち、情報処理装置２からの指示に応じて、情報処理装置１−１のデマルチプレクサ２１−１は、ＣＳチューナ１２−１により受信されたＣＳデジタル放送信号のMPEGトランスポートストリームパケットから、選択されたチャンネルだけのMPEGトランスポートストリームパケットに変換し、MPEGデータとしてネットワーク３を介して情報処理装置２に送信する。情報処理装置２において受信されたMPEGデータがスイッチ３２の端子３２ａを介してデコード部４１に入力されると、デコード部４１は、MPEGデータをデコードし、モニタ３４に表示させる。
【０００９】
以上のように、情報処理装置２において、ＣＳデジタル放送を受信するＣＳチューナがなくてもＣＳデジタル放送を視聴することができる。
【００１０】
しかしながら、図１の通信システムにおいて、ユーザにより情報処理装置１−１でゲームなどが開始された場合など、情報処理装置１−１内で突発的にプロセッサ１１−１での信号処理量が増えてしまう。このような場合、プロセッサ１１−１は、デマルチプレクサ２１−１としての処理を充分に行うことができず、結果的に、情報処理装置２におけるＣＳデジタル放送受信に、映像の途切れなどの障害を及ぼす恐れがある。ゲームなどのイベントによる情報処理装置１−１におけるプロセッサ１１−１の信号処理量の変化は、デジタル放送受信とは無関係な信号処理であるため、一般的には、情報処理装置２からは予測不可能であると言える。
【００１１】
一方、情報処理装置１−２は、情報処理装置１−１と基本的に同様の構成である。したがって、情報処理装置２において、一旦、情報処理装置１−１からのMPEGデータの送信を止めて、情報処理装置１−２からのMPEGデータの送信に切り替えるようにする。これにより、情報処理装置１−１におけるプロセッサ１１−１の信号処理の負荷を軽減でき、情報処理装置１−１をゲーム優先の信号処理に用いることができる。
【００１２】
しかしながら、上述した切り替え処理は、情報処理装置２から見ると、受信されるMPEGデータが、一旦途切れてしまうため、MPEGデータをシームレスに受信することができず、ＣＳデジタル放送の視聴に映像の途切れなどの障害を及ぼすことは否めない。
【００１３】
以上のことを、図２のフローチャートを参照して詳しく説明する。
【００１４】
情報処理装置２は、図示せぬ操作入力部を介して入力されるユーザからのＣＳデジタル放送受信の指示信号に基づいて、ステップＳ１において、情報処理装置１−１にＣＳチューナ１２−１とプロセッサ１１−１のリソースを要求する。これに対応して、情報処理装置１−１は、情報処理装置２からの要求を受信すると、ステップＳ１１において、情報処理装置２からの要求を受け入れる要求受け入れ信号を、情報処理装置２に送信する。
【００１５】
情報処理装置２は、情報処理装置１−１から要求受け入れ信号を受信すると、ステップＳ２において、プロセッサ１１−１でデマルチプレクサ２１−１を実現するため、ＣＳチューナ１２−１を用いるためなどのプログラムを情報処理装置１−１に転送し、転送したプログラムを、情報処理装置１−１において実行させる。このとき、同時に、情報処理装置２は、MPEGデータをデコードするためのプログラムを実行する。
【００１６】
これにより、情報処理装置１−１および情報処理装置２においては、それぞれデマルチプレクサ２１−１およびデコード部４１が実現され、ステップＳ３において、情報処理装置１−１によりプロセッサ１１−１が停止されるまで、ＣＳデジタル放送受信処理が実行される。
【００１７】
具体的には、情報処理装置１−１において、デマルチプレクサ２１−１は、ＣＳチューナ１２−１により受信されたＣＳデジタル放送信号のMPEGトランスポートストリームパケットから、選択されたチャンネルだけのMPEGトランスポートストリームパケットに変換し、MPEGデータとしてネットワーク３を介して情報処理装置２に送信する。情報処理装置２において受信されたMPEGデータがスイッチ３２の端子３２ａを介してデコード部４１に入力されると、デコード部４１は、MPEGデータをデコードし、モニタ３４に表示させる。
【００１８】
このＣＳデジタル放送受信処理の実行中に、情報処理装置１−１において、図示せぬ操作入力部を介して、ユーザからのゲーム開始の指示信号が入力されると、情報処理装置１−１は、ステップＳ１２において、ゲームのイベント発生を検出し、ステップＳ１３に進み、プロセッサ１１−１のリソースの開放を、情報処理装置２に要求する。これに対応して、情報処理装置２は、ステップＳ３において、情報処理装置１−１で実行されているプログラムを停止させ、プロセッサ１１−１のリソースを開放させ、ステップＳ４に進む。
【００１９】
これにより、情報処理装置１−１においては、プロセッサ１１−１によりゲームのイベントが実行される。なお、図示は省略するが、このゲームの処理は、例えば、ユーザによりゲームの停止が指示されると、情報処理装置１−１により、情報処理装置１−１で実行されているプログラムが停止され、プロセッサ１１−１のリソースが開放された後、終了される。
【００２０】
情報処理装置２は、ステップＳ４において、ＣＳチューナ１２−２を有する情報処理装置１−２に、ＣＳチューナ１２−２とプロセッサ１１−２のリソースを要求する。これに対応して、情報処理装置１−２は、情報処理装置２からの要求を受信すると、ステップＳ２１において、情報処理装置２からの要求を受け入れる要求受け入れ信号を、情報処理装置２に送信する。
【００２１】
情報処理装置２は、情報処理装置１−１から要求受け入れ信号を受信すると、ステップＳ５において、プロセッサ１１−２でデマルチプレクサ２１−２を実現するため、ＣＳチューナ１２−２を用いるためなどのプログラムを情報処理装置１−２に転送し、転送したプログラムを、情報処理装置１−２において実行させる。
【００２２】
これにより、情報処理装置１−２においては、デマルチプレクサ２１−２が実現され、ステップＳ２により情報処理装置２で実現されたデコード部４１とともに、ＣＳデジタル放送受信処理が実行される。
【００２３】
具体的には、情報処理装置１−２において、デマルチプレクサ２１−２は、ＣＳチューナ１２−２により受信されたＣＳデジタル放送信号のMPEGトランスポートストリームパケットから、選択されたチャンネルだけのMPEGトランスポートストリームパケットに変換し、MPEGデータとしてネットワーク３を介して情報処理装置２に送信する。情報処理装置２において受信されたMPEGデータがスイッチ３２の端子３２ａを介してデコード部４１に入力されると、デコード部４１は、MPEGデータをデコードし、モニタ３４に表示させる。
【００２４】
なお、図示は省略するが、このＣＳデジタル放送受信処理は、例えば、ユーザによりＣＳデジタル放送受信の停止が指示されると、情報処理装置２により、情報処理装置１−１および情報処理装置２で実行されているプログラムが停止され、プロセッサ１１−１およびプロセッサ３１のリソースが開放された後、終了される。
【００２５】
図３を参照して、図２の処理におけるネットワーク３上のMPEGデータの流れを説明する。
【００２６】
図３の例において、横軸は時間の経過を示しており、Ｔ１は、ステップＳ２において、情報処理装置２により情報処理装置１−１でプログラムが実行された時刻に遅延を足したタイミング（時刻）を表し、Ｔ２は、ステップＳ３において、情報処理装置２により情報処理装置１−１でプログラムが停止された時刻に遅延を足したタイミングを表し、Ｔ３は、ステップＳ５において、情報処理装置２により情報処理装置１−２でプログラムが実行された時刻に遅延を足したタイミングを表し、Ｔ４は、図２の処理が終了される時刻に遅延を足したタイミングを示している。また、上から順に、情報処理装置１−１から情報処理装置２へ転送されるMPEGデータ、情報処理装置１−２から情報処理装置２へ転送されるMPEGデータ、および情報処理装置２内で処理されるMPEGデータを表している。
【００２７】
すなわち、タイミングＴ１乃至Ｔ２に、情報処理装置１−１から情報処理装置２へ転送されるMPEGデータがネットワーク３上を流れるので、情報処理装置２内においては、情報処理装置１−１から情報処理装置２へ転送されるMPEGデータが処理される。同様に、タイミングＴ３乃至Ｔ４に、情報処理装置１−２から情報処理装置２へ転送されるMPEGデータがネットワーク３上を流れるので、情報処理装置２内においては、情報処理装置１−２から情報処理装置２へ転送されるMPEGデータが処理される。
【００２８】
しかしながら、タイミングＴ２乃至Ｔ３は、ステップＳ３において情報処理装置２により情報処理装置１−１でプログラムが停止されてから、ステップＳ５において情報処理装置２により情報処理装置１−２でプログラムが実行されるまでの時間であり、その間、情報処理装置２においては、処理されるMPEGデータが途切れてしまう。
【００２９】
【特許文献１】特開２００２−３４２１６５号公報
【特許文献２】特開２００２−３５１８５０号公報
【特許文献３】特開２００２−３５８２８９号公報
【特許文献４】特開２００２−３６６５３３号公報
【特許文献５】特開２００２−３６６５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
以上のように、従来の情報処理システムにおいては、ＣＳチューナを有しない情報処理装置２で、ネットワーク３を介して、ＣＳデジタル放送を視聴する場合、ＣＳデジタル放送受信処理を行う情報処理装置１−１を、途中で、情報処理装置１−２に切り替えると、情報処理装置２において処理されるMPEGデータが途切れてしまい、視聴に障害が生じる課題があった。
【００３１】
すなわち、従来の情報処理システムにおいては、ＣＳデジタル放送受信処理を行う情報処理装置を、シームレスに切り替えることが困難である課題があった。
【００３２】
本発明は、このような状況に鑑みてなされたものであり、装置の信号処理量の負荷に応じて、放送信号を受信する装置をシームレスに切り替えることができるようにするものである。
【課題を解決するための手段】
【００３３】
本発明の情報処理システムは、第１の情報処理装置は、第２および第３の情報処理装置からのデータを受信するデータ受信手段と、データ受信手段により受信されたデータを処理するデータ処理手段と、データ受信手段による第２の情報処理装置からのデータの受信中に、第２の情報処理装置によりデータ送信の停止要求が行われた場合、第３の情報処理装置に、データ送信の要求信号を送信する要求信号送信手段と、データ処理手段により処理される対象データを、第２および第３の情報処理装置のデータから検出される同一パケットに基づいて、第２の情報処理装置からのデータから、要求信号送信手段により送信された要求信号に応じて受信される第３の情報処理装置からのデータに切り替える切り替え手段とを備え、第２および第３の情報処理装置は、第１の情報処理装置からのデータ送信の要求信号に応じて、信号受信手段により受信された放送信号を信号処理する信号処理手段と、信号処理手段により信号処理された放送信号のデータを、第１の情報処理装置に送信するデータ送信手段と、自己の信号処理量が高くなった場合、第１の情報処理装置に、データ送信手段によるデータの送信の停止要求を行う停止要求手段とを備えることを特徴とする。
【００３４】
ネットワークは、セルネットワークであるようにすることができる。
【００３５】
同一パケットは、ＰＣＲ(Program Clock Reference)パケットであるようにすることができる。
【００３６】
切り替え手段は、第２の情報処理装置からのデータを一定時間蓄積する第１のリングバッファと、第３の情報処理装置からのデータを一定時間蓄積する第２のリングバッファと、第１のリングバッファに蓄積された第２の情報処理装置からのデータのＰＣＲパケットのＰＣＲ値と一致する、第２のリングバッファに蓄積された第３の情報処理装置からのデータのＰＣＲパケットを検出するパケット検出手段と、第１のリングバッファから第２の情報処理装置からのデータのＰＣＲパケットが読み出される際に、第２のリングバッファから、パケット検出手段により検出された第３の情報処理装置からのデータのＰＣＲパケットが読み出されるように切り替えを制御する切り替え制御手段とを備えるようにすることができる。
【００３７】
第１の情報処理装置は、切り替え手段により対象データが、第２の情報処理装置からのデータから、第３の情報処理装置からのデータに切り替えられた場合、第２の情報処理装置にデータ送信を停止させる制御を行う停止制御手段をさらに備えるようにすることができる。
【００３８】
第２および第３の情報処理装置は、データ送信手段によるデータの送信前に、信号処理手段により信号処理された放送信号のデータに、放送信号を受信した信号受信手段を識別するためのコードを付加するコード付加手段をさらに備え、データ受信手段は、コード付加手段により付加されたコードに基づいて、信号受信手段により受信された放送信号のデータを見分けて、データを受信するようにすることができる。
【００３９】
本発明の情報処理装置は、第１および第２の装置からのデータを受信するデータ受信手段と、データ受信手段により受信されたデータを処理するデータ処理手段と、データ受信手段による第１の装置からのデータの受信中に、第１の装置によりデータ送信の停止要求が行われた場合、第２の装置にデータ送信の要求信号を送信する要求信号送信手段と、データ処理手段により処理される対象データを、第１および第２の装置のデータから検出される同一パケットに基づいて、第１の装置からのデータから、要求信号送信手段により送信された要求信号に応じて受信される第２の装置からのデータに切り替える切り替え手段とを備えることを特徴とする。
【００４０】
ネットワークは、セルネットワークであるようにすることができる。
【００４１】
同一パケットは、ＰＣＲ(Program Clock Reference)パケットであるようにすることができる。
【００４２】
切り替え手段は、第１の装置からのデータを一定時間蓄積する第１のリングバッファと、第２の装置からのデータを一定時間蓄積する第２のリングバッファと、第１のリングバッファに蓄積された第１の装置からのデータのＰＣＲパケットのＰＣＲ値と一致する、第２のリングバッファに蓄積された第２の装置からのデータのＰＣＲパケットを検出するパケット検出手段と、第１のリングバッファから第１の装置からのデータのＰＣＲパケットが読み出される際に、第２のリングバッファから、パケット検出手段により検出された第２の装置からのデータのＰＣＲパケットが読み出されるように切り替えを制御する切り替え制御手段とを備えるようにすることができる。
【００４３】
切り替え手段により対象データが、第１の装置からのデータから、第２の装置からのデータに切り替えられた場合、第１の装置にデータ送信を停止させる制御を行う停止制御手段をさらに備えるようにすることができる。
【００４４】
データ受信手段は、放送信号を受信した信号受信手段を識別するために第１または第２の装置により付加されたコードに基づいて、信号受信手段により受信された放送信号のデータを見分けて、データを受信するようにすることができる。
【００４５】
本発明の情報処理方法は、第１および第２の装置からのデータを受信するデータ受信ステップと、データ受信ステップの処理により受信されたデータを処理するデータ処理ステップと、データ受信ステップの処理による第１の装置からのデータの受信中に、第１の装置によりデータ送信の停止要求が行われた場合、第２の装置にデータ送信の要求信号を送信する要求信号送信ステップと、データ処理ステップの処理により処理される対象データを、第１および第２の装置のデータから検出される同一パケットに基づいて、第１の装置からのデータから、要求信号送信ステップの処理により送信された要求信号に応じて受信される第２の装置からのデータに切り替える切り替えステップとを含むことを特徴とする。
【００４６】
本発明の記録媒体に記録されているプログラムは、第１および第２の装置からのデータを受信するデータ受信ステップと、データ受信ステップの処理により受信されたデータを処理するデータ処理ステップと、データ受信ステップの処理による第１の装置からのデータの受信中に、第１の装置によりデータ送信の停止要求が行われた場合、第２の装置にデータ送信の要求信号を送信する要求信号送信ステップと、データ処理ステップの処理により処理される対象データを、第１および第２の装置のデータから検出される同一パケットに基づいて、第１の装置からのデータから、要求信号送信ステップの処理により送信された要求信号に応じて受信される第２の装置からのデータに切り替える切り替えステップとを含むことを特徴とする。
【００４７】
本発明のプログラムは、第１および第２の装置からのデータを受信するデータ受信ステップと、データ受信ステップの処理により受信されたデータを処理するデータ処理ステップと、データ受信ステップの処理による第１の装置からのデータの受信中に、第１の装置によりデータ送信の停止要求が行われた場合、第２の装置にデータ送信の要求信号を送信する要求信号送信ステップと、データ処理ステップの処理により処理される対象データを、第１および第２の装置のデータから検出される同一パケットに基づいて、第１の装置からのデータから、要求信号送信ステップの処理により送信された要求信号に応じて受信される第２の装置からのデータに切り替える切り替えステップとを含むことを特徴とする。
【００４８】
第１の本発明においては、第１の情報処理装置により、第２の情報処理装置からのデータの受信中に、第２の情報処理装置によりデータ送信の停止要求が行われた場合、第３の情報処理装置にデータ送信の要求信号が送信され、処理される対象データが、第２および第３の情報処理装置のデータから検出される同一パケットに基づいて、第２の情報処理装置からのデータから、送信された要求信号に応じて受信される記第３の情報処理装置からのデータに切り替えられる。そして、第２または第３の情報処理装置により、第１の情報処理装置からのデータ送信の要求信号に応じて、受信手段により受信された放送信号が信号処理され、信号処理された放送信号のデータが、第１の情報処理装置に送信され、自己の信号処理量が高くなった場合、第１の情報処理装置に、データの送信の停止要求が行われる。
【００４９】
第２の本発明においては、第１および第２の装置からのデータが受信され、受信されたデータが処理される。そして、第１の装置からのデータの受信中に、第１の装置によりデータ送信の停止要求が行われた場合、第２の装置にデータ送信の要求信号が送信され、処理される対象データが、第１および第２の装置のデータから検出される同一パケットに基づいて、第１の装置からのデータから、送信された要求信号に応じて受信される第２の装置からのデータに切り替えられる。
【発明の効果】
【００５０】
本発明によれば、対象のデータを送信する装置をシームレスに切り替えることができる。また、本発明によれば、対象のデータを送信する装置を切り替えることによる映像や音声の途切れを抑制することができる。
【発明を実施するための最良の形態】
【００５１】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００５２】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００５３】
請求項１に記載の情報処理システム（例えば、図１４のネットワーク１０４）は、第１の情報処理装置（例えば、図１４の情報処理装置１０１）は、第２および第３の情報処理装置（例えば、図１４の情報処理装置１０２および１０３）からのデータを受信するデータ受信手段（例えば、図２３の送信元選別部５１１）と、データ受信手段により受信されたデータを処理するデータ処理手段（例えば、図２３の記録制御部５０１）と、データ受信手段による第２の情報処理装置からのデータの受信中に、第２の情報処理装置によりデータ送信の停止要求が行われた場合、第３の情報処理装置に、データ送信の要求信号を送信する要求信号送信手段（例えば、図１８のリソース取得部３５１）と、データ処理手段により処理される対象データを、第２および第３の情報処理装置のデータから検出される同一パケット（例えば、図２７のＰＣＲパケット）に基づいて、第２の情報処理装置からのデータから、要求信号送信手段により送信された要求信号に応じて受信される第３の情報処理装置からのデータに切り替える切り替え手段（例えば、図２０のマルチプレクサ４０１−２）とを備え、第２および第３の情報処理装置は、第１の情報処理装置からのデータ送信の要求信号に応じて、信号受信手段（例えば、図２０のＢＳチューナ２２３）により受信された放送信号を信号処理する信号処理手段（例えば、図２０のデマルチプレクサ４１２−２）と、信号処理手段により信号処理された放送信号のデータを、第１の情報処理装置に送信するデータ送信手段（例えば、図２０のマルチプレクサ４１１）と、自己の信号処理量が高くなった場合、第１の情報処理装置に、データ送信手段によるデータの送信の停止要求を行う停止要求手段（例えば、図１９の動作状態管理部３８１）とを備えることを特徴とする。
【００５４】
請求項４に記載の情報処理システムは、切り替え手段は、第２の情報処理装置からのデータを一定時間蓄積する第１のリングバッファ（例えば、図２３のリングバッファ５１５−１）と、第３の情報処理装置からのデータを一定時間蓄積する第２のリングバッファ（例えば、図２３のリングバッファ５１５−２）と、第１のリングバッファに蓄積された第２の情報処理装置からのデータのＰＣＲパケットのＰＣＲ値と一致する、第２のリングバッファに蓄積された第３の情報処理装置からのデータのＰＣＲパケットを検出するパケット検出手段（例えば、図３８のステップＳ３８１の処理を実行する図２３の読み出し制御部５１７）と、第１のリングバッファから第２の情報処理装置からのデータのＰＣＲパケットが読み出される際に、第２のリングバッファから、パケット検出手段により検出された第３の情報処理装置からのデータのＰＣＲパケットが読み出されるように切り替えを制御する切り替え制御手段（例えば、図３８のステップＳ３８４およびＳ３８５の処理を実行する図２３の読み出し制御部５１７）とを備えることを特徴とする。
【００５５】
請求項５に記載の情報処理システムは、第１の情報処理装置は、切り替え手段により対象データが、第２の情報処理装置からのデータから、第３の情報処理装置からのデータに切り替えられた場合、第２の情報処理装置にデータ送信を停止させる制御を行う停止制御手段（例えば、図１８の動作制御部３５２）をさらに備えることを特徴とする。
【００５６】
請求項６に記載の情報処理システムは、第２および第３の情報処理装置は、データ送信手段によるデータの送信前に、信号処理手段により信号処理された放送信号のデータに、放送信号を受信した信号受信手段を識別するためのコード（例えば、図２２の判別コード）を付加するコード付加手段（例えば、図３５のステップＳ３０３の処理を実行する図２０のマルチプレクサ４１１）をさらに備え、データ受信手段は、コード付加手段により付加されたコードに基づいて、信号受信手段により受信された放送信号のデータを見分けて、データを受信することを特徴とする。
【００５７】
請求項７に記載の情報処理装置（例えば、図１４の情報処理装置１０１）は、第１および第２の装置（例えば、図１４の情報処理装置１０２および１０３）からのデータを受信するデータ受信手段（例えば、図２３の送信元選別部５１１）と、データ受信手段により受信されたデータを処理するデータ処理手段（例えば、図２３の記録制御部５０１）と、データ受信手段による第１の装置からのデータの受信中に、第１の装置によりデータ送信の停止要求が行われた場合、第２の装置にデータ送信の要求信号を送信する要求信号送信手段（例えば、図１８のリソース取得部３５１）と、データ処理手段により処理される対象データを、第１および第２の装置のデータから検出される同一パケット（例えば、図２７のＰＣＲパケット）に基づいて、第１の装置からのデータから、要求信号送信手段により送信された要求信号に応じて受信される第２の装置からのデータに切り替える切り替え手段（例えば、図２０のマルチプレクサ４０１−２）とを備えることを特徴とする。
【００５８】
請求項１０に記載の情報処理装置は、切り替え手段は、第１の装置からのデータを一定時間蓄積する第１のリングバッファ（例えば、図２３のリングバッファ５１５−１）と、第２の装置からのデータを一定時間蓄積する第２のリングバッファ（例えば、図２３のリングバッファ５１５−２）と、第１のリングバッファに蓄積された第１の装置からのデータのＰＣＲパケットのＰＣＲ値と一致する、第２のリングバッファに蓄積された第２の装置からのデータのＰＣＲパケットを検出するパケット検出手段（例えば、図３８のステップＳ３８１の処理を実行する図２３の読み出し制御部５１７）と、第１のリングバッファから第１の装置からのデータのＰＣＲパケットが読み出される際に、第２のリングバッファから、パケット検出手段により検出された第２の装置からのデータのＰＣＲパケットが読み出されるように切り替えを制御する切り替え制御手段（例えば、図３８のステップＳ３８４およびＳ３８５の処理を実行する図２３の読み出し制御部５１７）とを備えることを特徴とする。
【００５９】
請求項１１に記載の情報処理装置は、切り替え手段により対象データが、第１の装置からのデータから、第２の装置からのデータに切り替えられた場合、第１の装置にデータ送信を停止させる制御を行う停止制御手段（例えば、図１８の動作制御部３５２）をさらに備えることを特徴とする。
【００６０】
請求項１２に記載の情報処理装置は、データ受信手段は、放送信号を受信した信号受信手段を識別するために第１または第２の装置（例えば、図３５のステップＳ３０３の処理を実行する図２０のマルチプレクサ４１１）により付加されたコード（例えば、図２２の判別コード）に基づいて、信号受信手段により受信された放送信号のデータを見分けて、データを受信することを特徴とする。
【００６１】
請求項１３に記載の情報処理方法は、第１および第２の装置からのデータを受信するデータ受信ステップ（例えば、図３７のステップＳ３５１）と、データ受信ステップの処理により受信されたデータを処理するデータ処理ステップ（例えば、図３７のステップＳ３５８）と、データ受信ステップの処理による第１の装置からのデータの受信中に、第１の装置によりデータ送信の停止要求が行われた場合、第２の装置にデータ送信の要求信号を送信する要求信号送信ステップ（例えば、図３１のステップＳ２０８）と、データ処理ステップの処理により処理される対象データを、第１および第２の装置のデータから検出される同一パケットに基づいて、第１の装置からのデータから、要求信号送信ステップの処理により送信された要求信号に応じて受信される第２の装置からのデータに切り替える切り替えステップ（例えば、図３７のステップＳ３５６）とを含むことを特徴とする。
【００６２】
なお、請求項１４に記載の記録媒体、および請求項１５に記載のプログラムは、上述した請求項１３に記載の情報処理方法と基本的に同様の構成であるため、繰り返しになるのでその説明は省略する。
【００６３】
以下、図を参照して本発明の実施の形態について説明する。
【００６４】
本発明は、例えば、ライブ映像ストリーミング配信システム、またはテレビなどのリアルタイムにストリーミングデータを伝送する通信システムに適用できる。
【００６５】
まず、図４乃至図１３を参照して、本発明の通信システムに用いられるセルネットワークの概要について説明し、図１４以降に、本発明の通信システムについて具体的に説明する。
【００６６】
図４は、本発明を適用した通信システムの一実施の形態を示す図である。この通信システムにおいては、セルネットワークなどのネットワーク１０４を介して、情報処理装置１０１、情報処理装置１０２、および情報処理装置１０３が相互に接続されている。そして、１つのネットワーク１０４においては、１つの情報処理装置（例えば、情報処理装置１０１）がマスタ装置として動作し、他の情報処理装置（例えば、情報処理装置１０２および情報処理装置１０３）がスレーブ装置として動作する。
【００６７】
情報処理装置１０１乃至１０３は、例えば、ポータブルＣＤ（Compact Disk）プレーヤ、ハードディスクレコーダ、またはカムコーダなどのＡＶ（Audio Visual）機器、パーソナルコンピュータ、もしくはＰＤＡ（Personal Digital Assistant）などにより構成される。
【００６８】
情報処理装置１０１は、分散処理の実行を指示されると、要求された処理を実行するために必要なデータおよびプログラムを含むソフトウェアセルを生成し、生成したソフトウェアセルを、ネットワーク１０４を介して、情報処理装置１０２、および情報処理装置１０３宛てに送信する。
【００６９】
情報処理装置１０２および１０３は、それぞれ、情報処理装置１０１から送信されてきたソフトウェアセルを受信し、受信したソフトウェアセルを基に、要求された処理を実行する。情報処理装置１０２および１０３は、それぞれ、要求された処理を実行してから、要求された処理の結果得られたデータを、ネットワーク１０４を介して情報処理装置１０１宛てに送信する。
【００７０】
情報処理装置１０１は、情報処理装置１０２または１０３から送信されてきたデータを受信し、受信したデータを基に、所定の処理を実行するか、受信したデータを記録する。
【００７１】
情報処理装置１０１は、情報処理コントローラ１１１、メインメモリ１１２、記録部１１３−１、記録部１１３−２、バス１１４、操作入力部１１５、入力部１１６、出力部１１７、通信部１１８、およびドライブ１１９により構成される。
【００７２】
情報処理コントローラ１１１は、メインメモリ１１２に記録されている各種のプログラムを実行し、情報処理装置１０１全体を制御する。情報処理コントローラ１１１は、ソフトウェアセルを生成し、生成したソフトウェアセルを、バス１１４を介して、通信部１１８に供給する。情報処理コントローラ１１１は、通信部１１８から供給されたデータを記録部１１３−１または１１３−２に供給する。情報処理コントローラ１１１は、操作入力部１１５からの指示信号に基づいて、指定されたデータを、メインメモリ１１２、記録部１１３−１または１１３−２から取得し、取得したデータをバス１１４を介して出力部１１７に供給する。
【００７３】
また、情報処理コントローラ１１１には、情報処理装置１０１を、ネットワーク１０４全体を通して一意的に特定できる装置ＩＤが割り当てられている。
【００７４】
情報処理コントローラ１１１は、メインプロセッサ１３１、サブプロセッサ１３２−１乃至１３２−３、DMAC（Direct Memory Access Controller）１３３、ＤＣ（Disk Controller）１３４、キー管理テーブル記憶部１３５、およびバス１３６により密結合に構成される。
【００７５】
メインプロセッサ１３１、サブプロセッサ１３２−１乃至１３２−３、DMAC１３３、ＤＣ１３４、およびキー管理テーブル記憶部１３５は、バス１３６を介して、相互に接続されている。また、メインプロセッサ１３１には、メインプロセッサ１３１を特定するためのメインプロセッサＩＤが識別子として割り当てられる。同様に、サブプロセッサ１３２−１乃至１３２−３のそれぞれには、サブプロセッサ１３２−１乃至１３２−３のそれぞれを特定するためのサブプロセッサＩＤのそれぞれが識別子として割り当てられる。
【００７６】
メインプロセッサ１３１は、サブプロセッサ１３２−１乃至１３２−３によるプログラムの実行のスケジュール管理および情報処理コントローラ１１１（情報処理装置１０１）の全体の管理を行う。メインプロセッサ１３１は、ＲＡＭ（Random Access Memory）などで構成されるローカルストレージ１４１を備える。
【００７７】
メインプロセッサ１３１は、ＤＣ１３４を制御し、記録部１１３−１または１１３−２に記録されているデータおよびプログラムを読み出させ、DMAC１３３を制御し、メインメモリ１１２にロードさせて、一時的に記憶させる。メインプロセッサ１３１は、メインメモリ１１２からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムをもとに、情報処理装置１０１の各種の処理を実行する。なお、情報処理装置１０１がスレーブ装置であった場合のメインプロセッサ１３１は、記録部１１３−１または１１３−２に記録されているデータおよびプログラムだけでなく、マスタ装置である情報処理装置から受信されたセルに含まれるプログラムやデータもメインメモリ１１２にロードする。
【００７８】
メインプロセッサ１３１は、ネットワーク１０４を介して接続されている、情報処理装置１０２または１０３に分散処理を実行させる場合、操作入力部１１５を介して要求された処理を実行するために必要なデータおよびプログラムを含むソフトウェアセルを生成し、生成したソフトウェアセルをバス１３６およびバス１１４を介して、通信部１１８に供給する。
【００７９】
サブプロセッサ１３２−１乃至１３２−３は、メインプロセッサ１３１の制御の下、並列的かつ独立に、プログラムを実行し、データを処理する。さらに、必要に応じて、メインプロセッサ１３１が実行するプログラムが、サブプロセッサ１３２−１乃至１３２−３のそれぞれが実行するプログラムのそれぞれと連携して動作するように構成することも可能である。
【００８０】
サブプロセッサ１３２−１乃至１３２−３のそれぞれは、ローカルストレージ１４２−１乃至１４２−３のそれぞれを備える。サブプロセッサ１３２−１乃至１３２−３のそれぞれは、ローカルストレージ１４２−１乃至１４２−３のそれぞれに、必要に応じて、データおよびプログラムを一時的に記憶させる。サブプロセッサ１３２−１乃至１３２−３のそれぞれは、ローカルストレージ１４２−１乃至１４２−３のそれぞれからデータおよびプログラムを読み込み、読み込んだデータおよびプログラムをもとに、各種の処理を実行する。
【００８１】
以下、サブプロセッサ１３２−１乃至１３２−３のそれぞれを個々に区別する必要のないとき、単にサブプロセッサ１３２と称する。同様に、以下、ローカルストレージ１４２−１乃至１４２−３のそれぞれを個々に区別する必要のないとき、単にローカルストレージ１４２と称する。なお、情報処理装置１０１においては、３つのサブプロセッサ１３２により構成されているが、接続される数は任意である。
【００８２】
DMAC１３３は、キー管理テーブル記憶部１３５に記録されている、メインプロセッサキー、サブプロセッサキー、およびアクセスキーをもとに、メインプロセッサ１３１およびサブプロセッサ１３２からのメインメモリ１１２に記憶されているプログラムおよびデータへのアクセスを管理する。ＤＣ１３４は、メインプロセッサ１３１およびサブプロセッサ１３２からの記録部１１３−１および１１３−２などへのアクセスを行う。
【００８３】
キー管理テーブル記憶部１３５は、メインプロセッサキー、サブプロセッサキー、およびアクセスキーを記録している。なお、メインプロセッサキー、サブプロセッサキー、およびアクセスキーの詳細は後述する。
【００８４】
メインメモリ１１２は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）などにより構成される。メインメモリ１１２は、メインプロセッサ１３１およびサブプロセッサ１３２が実行する各種のプログラムおよびデータを一時的に記憶する。
【００８５】
記録部１１３−１および１１３−２は、それぞれ、例えば、ハードディスクなどにより構成される。記録部１１３−１および１１３−２は、メインプロセッサ１３１およびサブプロセッサ１３２が実行する各種のプログラムおよびデータを記録している。また、記録部１１３−１および１１３−２は、情報処理コントローラ１１１から供給されたデータを記録する。以下、記録部１１３−１および１１３−２を個々に区別する必要のないとき、単に記録部１１３と称する。
【００８６】
なお、記録部１１３は、固定ディスクやリムーバブルディスクなどのハードディスクだけでなく、例えば、Blu-ray Disc、ＣＤ−ＲＷ（Compact Disk ReWritable）、ＤＶＤ±ＲＷ(Digital Versatile Disk ReWritable)などの光ディスク、磁気ディスク（フレキシブルディスクを含む）、を含む）、光磁気ディスク（MD(Mini-Disk)（商標）を含む）、もしくは半導体メモリなどにより構成されるようにしてもよい。
【００８７】
また、情報処理コントローラ１１１には、バス１１４を介して、操作入力部１１５、入力部１１６、出力部１１７、通信部１１８、ドライブ１１９が接続されている。操作入力部１１５は、キーボード、マウスなどからなり、ユーザの操作に応じた指示信号を、情報処理コントローラ１１１に供給する。入力部１１６は、音声を集音し、音声データとして、情報処理コントローラ１１１に供給するマイクロフォンや、被写体を撮像し、撮像により得られた映像に対応する映像データを情報処理コントローラ１１１に供給する撮像部などにより構成される。出力部１１７は、例えば、ディスプレイ、スピーカ、およびランプなどよりなり、情報処理コントローラ１１１から供給されたデータを出力する。
【００８８】
通信部１１８は、情報処理コントローラ１１１から供給されたソフトウェアセルを、ネットワーク１０４を介して情報処理装置１０２または１０３宛てに送信する。また、通信部１１８は、情報処理装置１０２または１０３から送信されてきたデータを、バス１１４を介して、情報処理コントローラ１１１に供給する。
【００８９】
ドライブ１１９は、磁気ディスク１５１、光ディスク１５２、光磁気ディスク１５３、あるいは半導体メモリ１５４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて、バス１１４を介して、情報処理コントローラ１１１に転送され、情報処理コントローラ１１１によって、記録部１１３に記録される。
【００９０】
なお、情報処理装置１０２または１０３は、情報処理装置１０１と同様に構成される。したがって、以下の説明においては、図４の情報処理装置１０１の構成は、情報処理装置１０２および１０３の構成としても引用するが、情報処理装置１０２または１０３は上述した構成に限らず、必要に応じて、機能を追加したり削除したりすることは可能であり、その機能に対応した構成をもつことが可能である。
【００９１】
また、図４の例においては、情報処理装置１０１乃至１０３の３台の情報処理装置が、ネットワーク１０４に接続される場合を説明したが、接続される台数は任意である。
【００９２】
次に、図５乃至図７を参照して、サブプロセッサ１３２がメインメモリ１１２にアクセスする場合の処理について説明する。
【００９３】
図５に示されるように、メインメモリ１１２には、複数のアドレスを指定できるメモリロケーションが配置される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤおよびＬＳアドレス（ローカルストレージアドレス）を含む。また、各メモリロケーションには、後述するアクセスキーが割り振られる。
【００９４】
“０”であるＦ／Ｅビットは、サブプロセッサ１３２によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、そのメモリロケーションから読み出し不可であることを示す。また、“０”であるＦ／Ｅビットは、そのメモリロケーションにデータ書き込み可能であることを示し、データが書き込まれると、Ｆ／Ｅビットは“１”に設定される。
【００９５】
“１”であるＦ／Ｅビットは、そのメモリロケーションのデータがサブプロセッサ１３２によって読み出されておらず、未処理の最新データであることを示す。Ｆ／Ｅビットが“１”であるメモリロケーションのデータは読み出し可能であり、サブプロセッサ１３２によって読み出されてから、Ｆ／Ｅビットは“０”に設定される。また、“１”であるＦ／Ｅビットは、メモリロケーションがデータ書き込み不可であることを示す。
【００９６】
さらに、Ｆ／Ｅビットが“０”（読み出し不可／書き込み可）である状態において、メモリロケーションについて読み出し予約を設定することが可能である。Ｆ／Ｅビットが“０”であるメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ１３２は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報としてサブプロセッサ１３２のサブプロセッサＩＤおよびＬＳアドレスを書き込む。そして、データを書き込むサブプロセッサ１３２によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビットが“１”（読み出し可／書き込み不可）に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれているサブプロセッサＩＤおよびＬＳアドレスによって特定されるローカルストレージ１４２に読み出される。
【００９７】
複数のサブプロセッサ１３２によってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出しおよび書き込みを制御することによって、前段階の処理を行うサブプロセッサ１３２が、処理済みのデータをメインメモリ１１２における所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ１３２が前処理後のデータを読み出すことが可能となる。
【００９８】
また、図６で示されるように、サブプロセッサ１３２のローカルストレージ１４２は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含む。
【００９９】
サブプロセッサ１３２がメインメモリ１１２に記憶されているデータをサブプロセッサ１３２のローカルストレージ１４２のメモリロケーションに読み出すときには、対応するビジービットを“１”に設定して予約する。ビジービットが“１”であるメモリロケーションには、他のデータを格納することができない。ローカルストレージ１４２のメモリロケーションにデータが読み出されると、ビジービットは“０”に設定され、他のデータを格納することができるようになる。
【０１００】
さらに、図５で示すように情報処理コントローラ１１１に接続されているメインメモリ１１２には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ１１２内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ１３２に割り当てられ、割り当てられたサブプロセッサ１３２が排他的に使用することができる。すなわち、サブプロセッサ１３２は、割り当てられたサンドボックスを使用できるが、この領域を超えてデータにアクセスすることはできない。
【０１０１】
メインメモリ１１２は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【０１０２】
さらに、メインメモリ１１２の排他的な制御を実現するために、図７で示されるキー管理テーブルが用いられる。キー管理テーブルは、キー管理テーブル記憶部１３５に記録され、DMAC１３３と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキーおよびキーマスクが含まれる。
【０１０３】
サブプロセッサ１３２がメインメモリ１１２にアクセスする場合、サブプロセッサ１３２はDMAC１３３に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、サブプロセッサ１３２を特定するサブプロセッサＩＤおよびアクセス要求先であるメインメモリ１１２のアドレスが含まれる。
【０１０４】
DMAC１３３は、サブプロセッサ１３２から供給されたコマンドを実行する場合、キー管理テーブルを参照して、アクセス要求元のサブプロセッサ１３２のサブプロセッサキーを調べる。そして、DMAC１３３は、調べたアクセス要求元のサブプロセッサキーと、アクセス要求先であるメインメモリ１１２のメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、サブプロセッサ１３２から供給されたコマンドを実行する。
【０１０５】
図７は、キー管理テーブルを説明する図である。キー管理テーブルに記録されているキーマスクは、その任意のビットが“１”になることによって、そのキーマスクと関連付けられたサブプロセッサキーの対応するビットを“０”または“１”にすることができる。
【０１０６】
例えば、サブプロセッサキーが“１０１０”であるとする。通常、このサブプロセッサキーによって“１０１０”のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが“０００１”に設定されている場合には、キーマスクのビットが“１”に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ（キーマスクのビットが“１”に設定された桁について、判定されず）、このサブプロセッサキー“１０１０”によってアクセスキーが“１０１０”または“１０１１”のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【０１０７】
以上のようにして、メインメモリ１１２のサンドボックスの排他性が実現される。すなわち、複数のサブプロセッサ１３２によってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサ１３２と、後段階の処理を行うサブプロセッサ１３２のみが、メインメモリ１１２の所定のアドレスにアクセスできるようになり、データを保護することができる。
【０１０８】
例えば、キーマスクの値は、以下のように変更されることが考えられる。まず、情報処理装置１０１の起動直後においては、キーマスクの値は全て“０”である。メインプロセッサ１３１にロードされたプログラムが実行され、サブプロセッサ１３２にロードされたプログラムと連携動作するものとする。サブプロセッサ１３２−１により出力された処理結果データを、メインメモリ１１２に記憶させ、メインメモリ１１２に記憶させた処理結果データを、サブプロセッサ１３２−２に入力したいときには、サブプロセッサ１３２−１により出力された処理結果データを記憶しているメインメモリ１１２の領域は、サブプロセッサ１３２−１およびサブプロセッサ１３２−２からアクセス可能である必要がある。そのような場合に、メインプロセッサ１３１は、キーマスクの値を適切に変更し、複数のサブプロセッサ１３２からアクセスできるメインメモリの領域を設けることにより、サブプロセッサ１３２による多段階的の処理を可能にする。
【０１０９】
より具体的には、例えば、情報処理装置１０２または１０３から送信されてきた、データを基に、サブプロセッサ１３２−１が所定の処理を実行し、処理が施されたデータをメインメモリ１１２の第１の領域に記憶させる。そして、サブプロセッサ１３２−２は、メインメモリ１１２の第１の領域から、記憶されているデータを読み出し、読み出したデータを基に、所定の処理を実行し、処理が施されたデータをメインメモリ１１２の第１の領域とは、異なる第２の領域に記憶させる。
【０１１０】
ここで、サブプロセッサ１３２−１のサブプロセッサキーが“０１００”であり、メインメモリ１１２の第１の領域のアクセスキーが“０１００”であり、サブプロセッサ１３２−２のサブプロセッサキーが“０１０１”であり、メインメモリ１１２の第２の領域のアクセスキーが“０１０１”である場合、サブプロセッサ１３２−２は、メインメモリ１１２の第１の領域にアクセスすることができない。そこで、サブプロセッサ１３２−２のキーマスクを“０００１”にすることによって、サブプロセッサ１３２−２は、メインメモリ１１２の第１の領域にアクセスすることができるようになる。
【０１１１】
なお、図５乃至図７においては、サブプロセッサ１３２がメインメモリ１１２にアクセスする場合について説明したが、メインプロセッサ１３１は、上述したサブプロセッサＩＤおよびサブプロセッサキーに対応する、メインプロセッサＩＤおよびメインプロセッサキーを有しており、メインプロセッサ１３１が、例えば、ローカルストレージ１４１で処理を行うために、メインメモリ１１２にアクセスする場合も同様な処理が実行される。
【０１１２】
次に、図８および図９を参照して、情報処理装置１０１がソフトウェアセルを生成し、生成したソフトウェアセルを基に、情報処理装置１０２および１０３のいずれかに分散処理を実行させる場合の処理について説明する。
【０１１３】
図４の通信システムにおいては、情報処理装置１０１乃至１０３間での分散処理のために、情報処理装置１０１乃至１０３間でソフトウェアセルが伝送される。
【０１１４】
すなわち、情報処理装置１０１のメインプロセッサ１３１は、処理を実行するために必要なコマンド、プログラム、およびデータを含むソフトウェアセルを生成し、ネットワーク１０４を介して情報処理装置１０２および１０３のいずれか宛てに送信する。また、情報処理装置１０２または１０３は、情報処理装置１０１からのソフトウェアセルを受信すると、対応する処理を実行し、実行により得られた結果などを含むソフトウェアセルを生成し、ネットワーク１０２を介して情報処理装置１０１に送信する。
【０１１５】
図８は、ソフトウェアセルの構成の例を示す図である。
【０１１６】
ソフトウェアセルは、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム、およびデータを含むように構成される。
【０１１７】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置１０１のネットワークアドレスおよび情報処理装置１０１の情報処理コントローラ１１１の装置ＩＤ、さらに、情報処理装置１０１の情報処理コントローラ１１１が備えるメインプロセッサ１３１およびサブプロセッサ１３２の識別子（メインプロセッサＩＤおよびサブプロセッサＩＤ）が含まれる。
【０１１８】
送信先ＩＤには、ソフトウェアセルの送信先である情報処理装置１０２または１０３のネットワークアドレス、情報処理装置１０２または１０３の情報処理コントローラの装置ＩＤ、並びに情報処理装置１０２または１０３の情報処理コントローラが備えるメインプロセッサおよびサブプロセッサの識別子が含まれる。
【０１１９】
また、応答先ＩＤには、ソフトウェアセルの実行結果の応答先である情報処理装置１０１のネットワークアドレス、情報処理装置１０１の情報処理コントローラ１１１の装置ＩＤ、および情報処理コントローラ１１１が備えるメインプロセッサ１３１およびサブプロセッサ１３２の識別子が含まれる。
【０１２０】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルＩＤから構成される。
【０１２１】
グローバルＩＤは、ネットワーク１０４全体を通してソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ、およびソフトウェアセルの生成または送信の日時（日付および時刻）を基に、生成される。
【０１２２】
必要なサブプロセッサの情報は、ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、ソフトウェアセルの実行に必要なメインメモリおよびサブプロセッサのローカルストレージのメモリ量が設定される。
【０１２３】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１つのグループを構成するソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【０１２４】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラムおよびデータから構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【０１２５】
さらに、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
【０１２６】
ロードコマンドは、メインメモリが記憶している情報をサブプロセッサのローカルストレージにロードさせるコマンドであり、ロードコマンドのほかに、メインメモリアドレス、サブプロセッサＩＤおよびＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリの所定の領域のアドレスを示す。サブプロセッサＩＤおよびＬＳアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージのアドレスを示す。
【０１２７】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンドのほかに、サブプロセッサＩＤおよびプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサを識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【０１２８】
機能プログラム実行コマンドは、ある装置（例えば、情報処理装置１０１）が他の装置（例えば、情報処理装置１０２または１０３）に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した装置（例えば、情報処理装置１０２または１０３）の情報処理コントローラは、機能プログラムＩＤによって、起動すべき機能プログラムを識別する。
【０１２９】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置１０２または１０３の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置１０２または１０３宛てに送信要求するコマンドである。
【０１３０】
ステータス返信コマンドは、ステータス要求コマンドを受信した情報処理装置１０２または１０３が、装置情報をステータス要求コマンドに含まれる応答先ＩＤで示される管理装置１１に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【０１３１】
図９は、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す図である。
【０１３２】
装置ＩＤは、情報処理コントローラを備える情報処理装置１０２または１０３を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置１０２または１０３のＩＤを示す。装置ＩＤは、例えば、装置の電源をオンしたとき、情報処理装置１０２または１０３の情報処理コントローラに含まれるメインプロセッサによって、装置の電源をオンしたときの日時、情報処理装置１０２または１０３のネットワークアドレスおよび情報処理装置１０２または１０３の情報処理コントローラに含まれるサブプロセッサの数などに基づいて生成される。
【０１３３】
装置種別ＩＤには、情報処理装置１０２または１０３の特徴を表す値が含まれる。情報処理装置１０２または１０３の特徴とは、情報処理装置１０２または１０３がどのような装置であるかを示す情報であり、例えば、情報処理装置１０２または１０３が、ハードディスクレコーダ、ＰＤＡ、ポータブルＣＤプレーヤなどであることを示す情報である。また、装置種別ＩＤは、映像音声記録、映像音声再生など、情報処理装置１０２または１０３の機能を表すものであってもよい。情報処理装置１０２または１０３の特徴や機能を表す値は予め決定されているものとし、装置種別ＩＤを読み出すことにより、情報処理装置１０２または１０３の特徴や機能を把握することが可能である。
【０１３４】
メインプロセッサ動作周波数は、情報処理コントローラのメインプロセッサの動作周波数を表す。メインプロセッサ使用率は、メインプロセッサで現在動作している全てのプログラムについての、メインプロセッサでの使用率を表す。メインプロセッサ使用率は、メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えば、プロセッサ処理能力評価のための単位であるMIPSを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。
【０１３５】
サブプロセッサ数は、情報処理コントローラが備えるサブプロセッサの数を表す。サブプロセッサＩＤは、情報処理コントローラのサブプロセッサを識別するための識別子である。
【０１３６】
サブプロセッサステータスは、サブプロセッサの状態を表すものであり、“unused”、“reserved”、および“busy”などの状態がある。“unused”は、サブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。“reserved”は、現在は使用されていないが、予約されている状態を示す。“busy”は、現在使用中であることを示す。
【０１３７】
サブプロセッサ使用率は、サブプロセッサで現在実行している、またはサブプロセッサに実行が予約されているプログラムについての、サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスが“busy”である場合には、現在の使用率を示し、サブプロセッサステータスが“reserved”である場合には、後に使用される予定の推定使用率を示す。
【０１３８】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、１つのサブプロセッサに対して一組設定され、１つの情報処理コントローラのサブプロセッサに対応する組数が設定される。
【０１３９】
メインメモリ総容量およびメインメモリ使用量は、それぞれ、情報処理コントローラに接続されているメインメモリの総容量および現在使用中の容量を表す。
【０１４０】
記録部数は、情報処理コントローラに接続されている記録部の数を表す。記録部ＩＤは、情報処理コントローラに接続されている記録部を一意的に識別する情報である。記録部種別ＩＤは、記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、DVD±ＲＷ、メモリディスク、SRAM、ROMなど）を表す。
【０１４１】
記録部総容量および記録部使用量は、それぞれ、記録部ＩＤによって識別される記録部の総容量および現在使用中の容量を表す。
【０１４２】
記録部ＩＤ、記録部種別ＩＤ、記録部総容量および記録部使用量は、１つの記録部に対して一組設定されるものであり、情報処理コントローラに接続されている記録部の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の記録部が接続されている場合、各記録部には異なる記録部ＩＤが割り当てられ、記録部種別ＩＤ、記録部総容量および記録部使用量も別々に管理される。
【０１４３】
以上のように構成されるソフトウェアセルを用いて、情報処理装置１０１は、情報処理装置１０２または１０３に分散処理が実行させる。
【０１４４】
すなわち、情報処理装置１０１のメインプロセッサ１３１は、情報処理装置１０２または１０３に分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルを、ネットワーク１０４を介して情報処理装置１０２または１０３宛てに送信する。ない、以下、情報処理装置１０２の場合を例に説明するが、情報処理装置１０３の場合も同様であるので、その説明は繰り返しになるので省略する。
【０１４５】
送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置は、それぞれ図８の送信元ＩＤ，送信先ＩＤ、および応答先ＩＤにより識別される。ソフトウェアセルを受信した情報処理装置１０２のメインプロセッサ１３１は、ソフトウェアセルをメインメモリ１１２に格納する。そして、情報処理装置１０２のメインプロセッサ１３１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。
【０１４６】
具体的には、送信先である情報処理装置１０２のメインプロセッサ１３１は、まず、ロードコマンドを実行する。これにより、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤおよびＬＳアドレスで特定されるサブプロセッサ１３２内のローカルストレージ１４２の所定領域に、情報がロードされる。このロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラム、データ、またはその他の指示されるデータである。
【０１４７】
次に、メインプロセッサ１３１は、キックコマンドを、このコマンドに含まれるサブプロセッサＩＤで指示されるサブプロセッサ１３２に、このコマンドに含まれるプログラムカウンタと共に出力する。指示されたサブプロセッサ１３２は、キックコマンドおよびプログラムカウンタに従って、サブプロセッサプログラムを実行し、その実行結果をメインメモリ１１２に格納する。その後、サブプロセッサ１３２は、実行を完了したことをメインプロセッサ１３１に通知する。
【０１４８】
なお、送信先の情報処理装置１０２において、ソフトウェアセルを実行するプロセッサは、サブプロセッサ１３２に限定されるものではなく、メインプロセッサ１３１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するようにすることも可能である。
【０１４９】
この場合には、送信元の情報処理装置１０１は、送信先の情報処理装置１０２宛てに、サブプロセッサプログラムの代わりに、メインメモリ用プログラムおよびそのメインメモリ用プログラムによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、送信先の情報処理装置１０２のメインメモリ１１２に、メインメモリ用プログラムおよびそれによって処理されるデータを記憶させる。その後、送信元の情報処理装置１０１は、送信先の情報処理装置１０２宛てに、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムＩＤなどの識別し、およびプログラムカウンタを含み、ＤＭＡコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、送信先の情報処理装置１０２のメインプロセッサ１３１にメインメモリ１１２に記憶させたメインメモリ用プログラムを実行させる。
【０１５０】
このようにして、送信元の情報処理装置１０１は、送信先の情報処理装置１０２に分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルを、ネットワーク１０４を介して情報処理装置１０２宛てに送信する。これにより、送信先の情報処理装置１０２においては、受信したソフトウェアセルに応じた処理が実行される。そして、情報処理装置１０２は、その実行結果や、ステータス返信コマンドなどを、ソフトウェアセルに格納し、ソフトウェアセルの応答先である情報処理装置１０１に送信する。
【０１５１】
以上のように、構成されるソフトウェアセルを用いることにより、ネットワーク１０４に接続される複数の情報処理装置１０１乃至１０３は、図１０に示されるように、仮想的な１台の情報処理装置１６１として動作することができる。
【０１５２】
次に、図１１を参照して、複数の情報処理装置１０１乃至１０３が、図１０の仮想的な１台の情報処理装置１６１として動作するための各複数の情報処理装置１０１乃至１０３の処理について説明する。
【０１５３】
図１１は、メインメモリ１１２に記憶されるプログラムの構成を示している。なお、以下、情報処理装置１０１を例に説明する。
【０１５４】
各プログラムは、機能または特徴によって、制御プログラム１７１、機能プログラム１７２、およびデバイスドライバ１７３により分けて構成される。
【０１５５】
制御プログラム１７１は、メインプロセッサ１３１により実行されるものであり、情報処理装置１０１の主電源が投入されている間、常時動作する常駐プログラムである、例えば、ＭＳ（マスター／スレーブ）マネージャ、および能力交換プログラムなどにより構成される。ＭＳマネージャは、ネットワーク１０４に電気的かつ機能的に接続される情報処理装置１０１乃至１０３の中からマスタ装置とスレーブ装置を設定するプログラムである。能力交換プログラムは、ネットワーク１０４に電気的かつ機能的に接続される情報処理装置１０１乃至１０３の装置情報を取得し、装置情報テーブルに登録するプログラムである。
【０１５６】
なお、これらの制御プログラム１７１は、メインプロセッサ１３１で実行されることに限らず、いずれかのサブプロセッサ１３２で実行されてもよい。また、これらの制御プログラム１７１は、情報処理装置１０１の主電源が投入されている間、常時動作する常駐プログラムであるほうが望ましい。
【０１５７】
機能プログラム１７２は、メインプロセッサ１３１により実行されるものであり、例えば、記録用、再生用、および素材検索用など、各情報処理装置に応じたもので構成される。すなわち、例えば、情報処理装置１０１がハードディスクレコーダで構成される場合には、機能プログラム１７２は、映像音声記録用、映像音声再生用、素材検索用、および番組予約用などで構成される。また、例えば、情報処理装置１がＰＤＡで構成される場合には、機能プログラム１７２は、映像音声記録用、映像音声再生用、電話帳用、ワープロ用、表計算用、およびＷｅｂブラウザ用などで構成される。
【０１５８】
デバイスドライバ１０３は、各情報処理装置の入出力（送受信）の制御を実行するプログラムであり、放送受信、モニタ出力、ビットストリーム入出力、およびネットワーク入出力など、各情報処理装置に応じたもので構成される。
【０１５９】
次に、情報処理装置１０１の電源投入後の処理について説明する。
【０１６０】
図１１のプログラムは、情報処理装置１０１に電源が投入される前には、記録部１１３などに記憶されており、情報処理装置１０１の電源投入後に、記録部１１３から読み出され、メインメモリ１１２にロードされる。
【０１６１】
すなわち、ケーブルの差込などによって情報処理装置１０１が物理的にネットワーク１０４に接続された状態で、情報処理装置１０１に主電源が投入され、情報処理装置１０１が電気的・機能的にもネットワーク１０４に接続されると、メインプロセッサ１３１は、制御プログラム１７１に属する各プログラム、および、デバイスドライバ１７３に属する各プログラムをメインメモリ１１２にロードする。
【０１６２】
具体的には、メインプロセッサ１３１は、ＤＣ１３４に読み出し命令を実行させることによって、記録部１１３からプログラムを読み出し、DMAC１３３に書き込み命令を実行させることによって、そのプログラムをメインメモリ１１２に書き込む。
【０１６３】
なお、機能プログラム１７２に属する各プログラムは、必要なときに必要なプログラムだけをロードされるが、制御プログラム１７１やデバイスドライバ１７３に属する各プログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１６４】
また、情報処理装置１０１において、機能プログラム１７２に属する各プログラムは、記録部１１３に記録されていなくても、ネットワーク１０４を介して接続される他の情報処理装置１０２または１０３の記録部１１３に記録されていれば、ソフトウェアセルに含めて送信することにより、メインメモリ１１２にロードさせるようにすることもできる。これにより、結果的に、ネットワーク１０４に接続される複数の情報処理装置１０１乃至１０３は、図１０の仮想的な１台の情報処理装置１６１として、機能プログラムを実行することができる。
【０１６５】
メインメモリ１１２に各プログラムをロードした後、メインプロセッサ１３１は、自身が動作する情報処理装置（以下、適宜、自装置とも称する）の装置情報（動作状態に関する情報）を格納するための領域をメインメモリ１１２に確保し、装置情報を、自身の装置情報テーブルとして記憶する。この装置情報は、図９を参照して上述した情報処理装置の装置ＩＤ以下の各情報である。
【０１６６】
さらに、メインプロセッサ１３１は、メインメモリ１１２にロードしたＭＳマネージャを実行する。ＭＳマネージャは、処理が終了すると、メインプロセッサ１３１に終了を通知する。メインプロセッサ１３１は、ＭＳマネージャから終了通知を受け取ると、次に、メインメモリ１１２にロードした能力交換プログラムを実行する。
【０１６７】
ＭＳマネージャは、自装置がネットワーク１０４に接続されていることを検知すると、同じネットワーク１０４に接続されている他の情報処理装置（以下、適宜、他装置とも証する）の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク１０４に接続されているだけでなく、電気的・機能的にもネットワーク１０４に接続されていることを示す。
【０１６８】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤおよび応答先ＩＤが自装置で、送信先ＩＤを特定しないソフトウェアセルを生成して、自装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分とされる。
【０１６９】
ネットワーク上に他装置が接続されている場合、他装置は、ステータス要求コマンドのソフトウェアセルを受信し、応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして自身（他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくともこの装置（他装置）を特定する情報（装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）および他装置のＭＳステータスが含まれる。
【０１７０】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、ネットワーク接続確認用のタイマーがタイムアウトするまで、ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスタ装置）を示すステータス返信コマンドが受信された場合には、自身の装置情報テーブルにおけるＭＳステータスを１に設定する。これにより、この情報処理装置は、スレーブ装置となる。
【０１７１】
一方、ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはＭＳステータス＝０（マスタ装置）を示すステータス返信コマンドが受信されなかった場合、ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、自身の装置情報テーブルにおけるＭＳステータスを０に設定する。これにより、この情報処理装置は、マスタ装置となる。
【０１７２】
すなわち、いずれの情報処理装置もネットワーク１０４に接続されていない状態、またはネットワーク１０４上にマスタ装置が存在しない状態において、新たな情報処理装置がネットワーク１０４に接続されると、その情報処理装置は自動的にマスタ装置として設定される。一方、ネットワーク１０４上に既にマスタ装置が存在する状態において、新たな情報処理装置がネットワーク１０４に接続されると、その情報処理装置は自動的にスレーブ装置として設定される。
【０１７３】
マスタ装置およびスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク１０４上の他の情報処理装置に送信してステータス情報を照会することにより、他の情報処理装置の状況を監視する。その結果、ネットワーク１０４に接続されている情報処理装置の主電源が遮断され、またはネットワーク１０４から情報処理装置が切り離されることにより、あらかじめ判定用に設定された所定期間内に特定の他の情報処理装置からステータス返信コマンドが返信されなかった場合や、ネットワーク１０４に新たな情報処理装置が接続された場合など、ネットワーク１０４の接続状態に変化があった場合には、その情報を能力交換プログラムに通知する。
【０１７４】
能力交換プログラムは、自身の情報処理装置がマスタ装置である場合には、ネットワーク１０４に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。
【０１７５】
他装置の装置情報の取得は、上述したＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他の情報処理装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することにより行われる。
【０１７６】
能力交換プログラムは、マスタ装置である自身の装置情報テーブルと同様に、ネットワーク１０４に接続されている全ての他装置（各スレーブ装置）の装置情報を格納するための領域を自装置のメインメモリ１１２に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。すなわち、マスタ装置のメインメモリ１１２には、自装置を含むネットワーク１０４に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。
【０１７７】
一方、能力交換プログラムは、自身の情報処理装置がスレーブ装置である場合には、ネットワーク１０４に接続されている全ての他装置の装置情報、すなわちマスタ装置および自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤおよびＭＳステータスを、自装置のメインメモリ１１２に記録する。
【０１７８】
すなわち、スレーブ装置のメインメモリ１１２には、自身の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク１０４に接続されているマスタ装置および各スレーブ装置についての情報処理装置ＩＤおよびＭＳステータスが、別の装置情報テーブルとして記録される。
【０１７９】
また、マスタ装置およびスレーブ装置のいずれについても、能力交換プログラムは、ＭＳマネージャから、新たにネットワーク１０４に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、メインメモリ１１２に記録する。同様に、能力交換プログラムは、ＭＳマネージャから、ネットワーク１０４に接続されている情報処理装置の主電源が遮断され、またはネットワーク１０４から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ１１２から削除する。
【０１８０】
なお、このようにネットワーク１０４から切断された情報処理装置がマスタ装置である場合には、新たにマスタ装置が決定される。
【０１８１】
具体的には、例えば、ネットワーク１０４から切断されていない情報処理装置は、それぞれ、自装置および他装置の情報処理装置ＩＤを数値に置き換えて、自装置の情報処理装置ＩＤを、他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク１０４から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスタ装置に移行して、ＭＳステータスを０に設定し、マスタ装置として、上述したように、ネットワーク１０４に接続されている全ての他装置（各スレーブ装置）の装置情報を取得して、メインメモリ１１２に記録する。
【０１８２】
次に、ネットワーク１０４に接続される複数の情報処理装置１０１乃至１０３を、図１０の仮想的な１台の情報処理装置１６１として動作させるために、マスタ装置がユーザの操作およびスレーブ装置の動作状態を把握する処理について説明する。
【０１８３】
図１２は、仮想的な１台の情報処理装置１６１の構成例を示す図である。図１２の例においては、３台の情報処理装置が仮想的な１台の情報処理装置１６１として動作し、情報処理装置１０１がマスタ装置として、情報処理装置１０２および１０３がスレーブ装置として動作している。以下、情報処理装置１０１を、マスタ装置１０１、情報処理装置１０２および１０３を、スレーブ装置１０２および１０３とも、適宜称する。
【０１８４】
ユーザがネットワーク１０４に接続されている情報処理装置を操作した場合、操作対象がマスタ装置１０１であれば、その操作情報は、マスタ装置１０１において直接把握され、操作対象がスレーブ装置１０２または１０３であれば、その操作情報は、操作されたスレーブ装置１０２または１０３からマスタ装置１０１に送信される。すなわち、ユーザの操作対象がマスタ装置１０１とスレーブ装置１０２および１０３のいずれであるかにかかわらず、その操作情報は常にマスタ装置１０１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
【０１８５】
そして、マスタ装置１０１内の情報処理コントローラ１１１に含まれるメインプロセッサ１３１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスタ装置１０１内の情報処理コントローラ１１１に含まれるメインプロセッサ１３１は、記録部１１３からメインメモリ１１２に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）１０２または１０３がマスタ装置１０１に機能プログラムを送信してもよい。
【０１８６】
機能プログラムには、また、その実行単位ごとに必要となる、図９に示した各情報として表される情報処理装置の装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、記録部に関する条件などの、装置に関する要求スペックが規定されている。
【０１８７】
マスタ装置１０１内の情報処理コントローラ１１１に含まれるメインプロセッサ１３１は、各機能プログラムについて必要となる、装置に関する要求スペックを読み出す。また、能力交換プログラムによりメインメモリ１１２に予め記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図９に示した装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリおよび記録部に関する情報である。
【０１８８】
マスタ装置１０１内の情報処理コントローラ１１１に含まれるメインプロセッサ１３１は、ネットワーク１０４上に接続された各情報処理装置の装置情報と、機能プログラム実行に必要となる要求スペックとを順次比較する。
【０１８９】
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置の装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、記録部に関する条件を確保できるスレーブ装置（例えば、スレーブ装置１０２）を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、候補装置から１つの実行要求候補装置を特定して選択する。
【０１９０】
実行要求するスレーブ装置１０２が特定されたら、マスタ装置１０１内の情報処理コントローラ１１１に含まれるメインプロセッサ１３１は、その特定されたスレーブ装置１０２について、自装置内の情報処理コントローラ１１１に含まれるメインメモリ１１２に記録されているそのスレーブ装置１０２の装置情報テーブルを更新する。
【０１９１】
さらに、マスタ装置１０１内の情報処理コントローラ１１１に含まれるメインプロセッサ１３１は、ＤＭＡコマンドがロードコマンドおよびキックコマンドであるソフトウェアセルを生成し、ソフトウェアセルのセルインターフェースに、機能プログラムに関する必要なサブプロセッサの情報およびサンドボックスサイズ（図８参照）を設定して、実行要求されるスレーブ装置１０２に対して送信する。
【０１９２】
機能プログラムの実行を要求されたスレーブ装置１０２は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置１０２内の情報処理コントローラに含まれるメインプロセッサ１３１は、自装置の記録部１１３からメインメモリ１１２に機能プログラムをロードする。
【０１９３】
なお、機能プログラムの実行を要求されたスレーブ装置１０２の記録部１１３に、必要な機能プログラムが記録されていない場合には、他の情報処理装置がメインメモリ用プログラムとして、対応する機能プログラムを、その機能プログラム実行要求先スレーブ装置１０２に送信するように、システムが構成される。
【０１９４】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置１０２のメインプロセッサ１３１は、終了通知をマスタ装置１０１のメインプロセッサ１３１に送信するとともに、自装置の装置情報テーブルを更新する。マスタ装置１０１のメインプロセッサ１３１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置１０２の装置情報テーブルを更新する。
【０１９５】
マスタ装置１０１のメインプロセッサ１３１は、自装置および他装置の装置情報テーブルの参照結果から、機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスタ装置１０１が機能プログラムを実行する。
【０１９６】
次に、図１３のフローチャートを参照して、図１２の仮想的な１台の情報処理装置１６１（すなわち、図４の通信システム）の分散処理を説明する。なお、図１３の例においては、ユーザがスレーブ装置１０２を操作し、その操作に応じた機能プログラムを別のスレーブ装置１０３が実行する場合を説明する。
【０１９７】
例えば、ユーザは、スレーブ装置１０２の操作入力部１１５を操作することにより、スレーブ装置１０２に所望の処理を指示する。スレーブ装置１０２のメインプロセッサ１３１は、ステップＳ１１１において、操作入力部１１５を介して、ユーザからの操作情報を入力するまで待機している。スレーブ装置１０２のメインプロセッサ１３１は、操作入力部１１５を介して入力すると、ステップＳ１１１において、ユーザからの操作情報を入力したと判定し、ステップＳ１１２に進み、入力した操作情報を、マスタ装置１０１に送信する。
【０１９８】
スレーブ装置１０２より操作情報が送信されてくると、マスタ装置１０１は、ステップＳ１０１で、その操作情報を受信し、ステップＳ１０２に進み、自身の情報処理装置のメインメモリ１１２に記録されている自身および他の情報処理装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置（図１３の場合、スレーブ装置１０３）を選択し、ステップＳ１０３に進む。
【０１９９】
マスタ装置１０１は、ステップＳ１０３において、選択したスレーブ装置１０３に対して機能プログラムの実行を要求する。
【０２００】
マスタ装置１０１より機能プログラムの実行要求が送信されると、スレーブ装置１０３は、ステップＳ１２１において、マスタ装置１０１からの実行要求を受信し、ステップＳ１２２に進み、実行要求された機能プログラムを実行する。
【０２０１】
なお、この処理は、実際には、実行後、実行結果がマスタ装置１０１に送信されることにより、または、スレーブ装置１０２からの処理停止の操作情報により、情報処理装置１０１の制御の下、終了される。
【０２０２】
以上のように、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置を仮想的な１台の情報処理装置１６として動作させることができる。
【０２０３】
次に、上述したセルネットワークを用いて実現される図４の通信システムの具体例について説明する
【０２０４】
なお、以下、通信システム間で送受信される各種データは、敢えて記さなくても、ソフトウェアセルに格納されて送信されるものとする。また、図１４以降において、図４における場合と対応する部分については、個々の情報処理装置に対応させて枝番を付加しているが、親番号が同一である部分は、枝番号が付加されていても、特に断りのない限りは同じ働きをするものとする。また、以下の説明において、枝番号が省略されている場合には、枝番号の違いには差異を生じないものとする。
【０２０５】
図１４は、本発明を適用した通信システムの一実施の形態を示す図である。
【０２０６】
この通信システムにおいては、図４を参照して上述したように、セルネットワークで構成されるネットワーク１０４を介して、情報処理装置１０１、情報処理装置１０２、および情報処理装置１０３が相互に接続されている。そして、１つのネットワーク１０４においては、１つの情報処理装置（例えば、情報処理装置１０１）がマスタ装置として動作し、他の情報処理装置（例えば、情報処理装置１０２および情報処理装置１０３）がスレーブ装置として動作する。
【０２０７】
図１４の通信システムにおいては、ＣＳ(Communication Satellite)デジタル放送、ＢＳ(Broadcasting Satellite)デジタル放送、または地上波デジタル放送などの複数のデジタル放送が受信され、受信されたデジタル放送のデータが、ネットワーク１０４を介して送受信され、他の情報処理装置において、リアルタイムで記録されたり、視聴される。すなわち、図１４の例の情報処理装置１０１乃至１０３は、ＣＳデジタル放送、ＢＳデジタル放送、および地上波デジタル放送のうちの少なくとも１のデジタル放送などを受信するチューナを備える信号受信装置やハードディスクレコーダなどで構成される。
【０２０８】
情報処理装置１０１は、メインメモリ１１２−１に記録されている各種のプログラムを実行し、情報処理装置１０１全体を制御する情報処理コントローラ１１１−１、各種のプログラムおよびデータを一時的に記憶するメインメモリ１１２−１、記録部１１３と同様に構成される記録部２０１、およびＣＳデジタル放送信号を受信するＣＳチューナ２０２により構成される。
【０２０９】
情報処理装置１０２は、メインメモリ１１２−２に記録されている各種のプログラムを実行し、情報処理装置１０２全体を制御する情報処理コントローラ１１１−２、各種のプログラムおよびデータを一時的に記憶するメインメモリ１１２−２、記録部１１３と同様に構成される記録部２１１、ＣＳデジタル放送信号を受信するＣＳチューナ２１２、およびＢＳデジタル放送信号を受信するＢＳチューナ２１３により構成される。
【０２１０】
情報処理装置１０３は、メインメモリ１１２−３に記録されている各種のプログラムを実行し、情報処理装置１０３全体を制御する情報処理コントローラ１１１−３、各種のプログラムおよびデータを一時的に記憶するメインメモリ１１２−３、記録部１１３と同様に構成される記録部２２１、ＣＳデジタル放送信号を受信するＣＳチューナ２２２、ＢＳデジタル放送信号を受信するＢＳチューナ２２３、および地上波デジタル放送信号を受信する地上波チューナ２２４により構成される。
【０２１１】
すなわち、情報処理装置１０１乃至１０３は、それぞれ有するチューナの種類や数が異なるだけであり、その他は、基本的には同様に構成されている。なお、図１４の情報処理装置１０１乃至１０３においては、繰り返しになるので、その説明を省略するが、図１４の情報処理装置１０１乃至１０３においても、図４の情報処理装置１０１と同様に、情報処理コントローラ１１１に接続されるバス１１４、操作入力部１１５、入力部１１６、出力部１１７、通信部１１８、およびドライブ１１９が、後述する図１５乃至図１７のバス１３６−１乃至１３６−３に接続されている。
【０２１２】
これらの情報処理装置１０１乃至１０３は、上述したセルネットワークで構成されるネットワーク１０４により相互に接続されている。したがって、情報処理装置１０１は、ネットワーク１０４に接続される情報処理装置１０２が有するＣＳチューナ２１２およびＢＳチューナ２１３、並びに情報処理装置１０３が有するＣＳチューナ２２２、ＢＳチューナ２２３、および地上波チューナ２２４のうち、所望のチューナを共有することが可能である。
【０２１３】
具体的には、情報処理装置１０１は、ネットワーク１０４を介して、例えば、情報処理装置１０２に、情報処理コントローラ１１１−２に内蔵されるサブプロセッサおよび所望のチューナのリソースを要求し、情報処理装置１０２により要求が受け入れられた場合、放送信号受信用の機能プログラムを、情報処理装置１０２に転送し、転送した放送信号受信用の機能プログラムを実行させる。なお、情報処理装置１０２により要求が受け入れられた場合、情報処理装置１０１は、ネットワーク１０４に接続される他の情報処理装置１０３に、サブプロセッサおよび所望のチューナのリソースを要求する。
【０２１４】
情報処理装置１０２は、情報処理装置１０１からの要求があった場合、情報処理コントローラ１１１−２に内蔵されるサブプロセッサおよび要求されたチューナのリソースを用いて、情報処理装置１０１より受信された放送信号受信用の機能プログラムを実行する。これにより、情報処理装置１０１に、情報処理装置１０２で受信された放送信号のデータが供給される。
【０２１５】
同様に、情報処理装置１０３は、情報処理装置１０１からの要求があった場合、情報処理コントローラ１１１−３に内蔵されるサブプロセッサおよび要求されたチューナのリソースを用いて、情報処理装置１０１より受信された放送信号受信用の機能プログラムを実行する。これにより、情報処理装置１０１に、情報処理装置１０３で受信された放送信号のデータが供給される。
【０２１６】
以上のように、情報処理装置１０１は、自身が有するＣＳチューナ２０２を用いて、ＣＳデジタル放送信号のコンテンツを受信しながら、他の情報処理装置からネットワーク１０４を介して、ＣＳデジタル放送信号、ＢＳデジタル放送信号、および地上波デジタル放送信号のうち所望のコンテンツをさらに受信し、それらを同時に視聴、または記録部２０１に記録することができる。
【０２１７】
なお、情報処理装置１０２および１０３においても同様に、他の情報処理装置のチューナが共有される。
【０２１８】
図１５は、図１４の情報処理コントローラ１１１−１のハードウェア構成を示すブロック図である。
【０２１９】
なお、図１５の情報処理コントローラ１１１−１は、サブプロセッサの個数が３個から５個になった点、およびＤＣ２５２が追加された点以外は、基本的に、図４の情報処理コントローラ１１１と同様のハードウェア構成を有するものであり、その説明は繰り返しになるので、適宜省略する。
【０２２０】
すなわち、情報処理コントローラ１１１−１は、メインプロセッサ１３１−１、DMAC１３３−１、ＤＣ１３４−１、キー管理テーブル記憶部１３５−１、バス１３６−１、サブプロセッサ２５１−１乃至２５１−５、およびＤＣ２５２により密結合に構成される。
【０２２１】
サブプロセッサ２５１−１乃至２５１−５のそれぞれは、ローカルストレージ２６１−１乃至２６１−５のそれぞれを備える。サブプロセッサ２５１−１乃至２５１−５のそれぞれは、図４のサブプロセッサ１３２と同様に、ローカルストレージ２６１−１乃至２６１−５のそれぞれに、必要に応じて、データおよびプログラムを一時的に記憶させる。サブプロセッサ２５１−１乃至２５１−５のそれぞれは、ローカルストレージ２６１−１乃至２６１−５のそれぞれからデータおよびプログラムを読み込み、読み込んだデータおよびプログラムをもとに、各種の処理を実行する。
【０２２２】
ＤＣ２５２は、ＣＳチューナ２０２へのアクセスを制御する。すなわち、ＤＣ２５２は、メインプロセッサ１３１−１からの放送信号受信の指示信号を、ＣＳチューナ２０２に供給したり、ＣＳチューナ２０２により受信された放送信号のデータを、DMAC１３３−１、およびサブプロセッサ２５１−１乃至２５１−５のいずれかに供給する。
【０２２３】
図１６は、図１４の情報処理コントローラ１１１−２のハードウェア構成を示すブロック図である。
【０２２４】
なお、図１６の情報処理コントローラ１１１−２は、サブプロセッサの個数が３個から５個になった点、並びに、ＤＣ２７２およびＤＣ２７３が追加された点以外は、基本的に、図４の情報処理コントローラ１１１と同様のハードウェア構成を有するものであり、その説明は繰り返しになるので、適宜省略する。
【０２２５】
すなわち、情報処理コントローラ１１１−２は、メインプロセッサ１３１−２、DMAC１３３−２、ＤＣ１３４−２、キー管理テーブル記憶部１３５−２、バス１３６−２、サブプロセッサ２７１−１乃至２７１−５、ＤＣ２７２、およびＤＣ２７３により密結合に構成される。
【０２２６】
サブプロセッサ２７１−１乃至２７１−５のそれぞれは、ローカルストレージ２８１−１乃至２８１−５のそれぞれを備える。サブプロセッサ２７１−１乃至２７１−５のそれぞれは、図４のサブプロセッサ１３２と同様に、ローカルストレージ２８１−１乃至２８１−５のそれぞれに、必要に応じて、データおよびプログラムを一時的に記憶させる。サブプロセッサ２７１−１乃至２７１−５のそれぞれは、ローカルストレージ２８１−１乃至２８１−５のそれぞれからデータおよびプログラムを読み込み、読み込んだデータおよびプログラムをもとに、各種の処理を実行する。
【０２２７】
ＤＣ２７２は、ＣＳチューナ２１２へのアクセスを制御する。すなわち、ＤＣ２７２は、メインプロセッサ１３１−２からの放送信号受信の指示信号を、ＣＳチューナ２１２に供給したり、ＣＳチューナ２１２により受信された放送信号のデータを、DMAC１３３−２、およびサブプロセッサ２７１−１乃至２７１−５のいずれかに供給する。
【０２２８】
ＤＣ２７３は、ＢＳチューナ２１３へのアクセスを制御する。すなわち、ＤＣ２７３は、メインプロセッサ１３１−２からの放送信号受信の指示信号を、ＢＳチューナ２１３に供給したり、ＢＳチューナ２１３により受信された放送信号のデータを、DMAC１３３−２、およびサブプロセッサ２７１−１乃至２７１−５のいずれかに供給する。
【０２２９】
図１７は、図１４の情報処理コントローラ１１１−３のハードウェア構成を示すブロック図である。
【０２３０】
なお、図１７の情報処理コントローラ１１１−３は、サブプロセッサの個数が３個から５個になった点、並びに、ＤＣ３０２、ＤＣ３０３、およびＤＣ３０４が追加された点以外は、基本的に、図４の情報処理コントローラ１１１と同様のハードウェア構成を有するものであり、その説明は繰り返しになるので、適宜省略する。
【０２３１】
すなわち、情報処理コントローラ１１１−３は、メインプロセッサ１３１−３、DMAC１３３−３、ＤＣ１３４−３、キー管理テーブル記憶部１３５−３、バス１３６−３、サブプロセッサ３０１−１乃至３０１−５、ＤＣ３０２、ＤＣ３０３、およびＤＣ３０４により密結合に構成される。
【０２３２】
サブプロセッサ３０１−１乃至３０１−５のそれぞれは、ローカルストレージ３１１−１乃至３１１−５のそれぞれを備える。サブプロセッサ３０１−１乃至３０１−５のそれぞれは、図４のサブプロセッサ１３２と同様に、ローカルストレージ３１１−１乃至３１１−５のそれぞれに、必要に応じて、データおよびプログラムを一時的に記憶させる。サブプロセッサ３０１−１乃至３０１−５のそれぞれは、ローカルストレージ３１１−１乃至３１１−５のそれぞれからデータおよびプログラムを読み込み、読み込んだデータおよびプログラムをもとに、各種の処理を実行する。
【０２３３】
ＤＣ３０２は、ＣＳチューナ２２２へのアクセスを制御する。すなわち、ＤＣ３０２は、メインプロセッサ１３１−３からの放送信号受信の指示信号を、ＣＳチューナ２２２に供給したり、ＣＳチューナ２２２により受信された放送信号のデータを、DMAC１３３−３、およびサブプロセッサ３０１−１乃至３０１−５のいずれかに供給する。
【０２３４】
ＤＣ３０３は、ＢＳチューナ２２３へのアクセスを制御する。すなわち、ＤＣ３０３は、メインプロセッサ１３１−３からの放送信号受信の指示信号を、ＢＳチューナ２２３に供給したり、ＢＳチューナ２２３により受信された放送信号のデータを、DMAC１３３−３、およびサブプロセッサ３０１−１乃至３０１−５のいずれかに供給する。
【０２３５】
ＤＣ３０４は、地上波チューナ２２４へのアクセスを制御する。すなわち、ＤＣ３０４は、メインプロセッサ１３１−３からの放送信号受信の指示信号を、地上波チューナ２２４に供給したり、地上波チューナ２２４により受信された放送信号のデータを、DMAC１３３−３、およびサブプロセッサ３０１−１乃至３０１−５のいずれかに供給する。
【０２３６】
図１８は、図１４の通信システムにおいてマスタ装置となる情報処理装置１０１が実現可能な機能を説明するための機能ブロック図である。図１８に示される機能ブロックは、情報処理装置１０１のメインプロセッサ１３１−１により、所定のプログラムが実行されることで実現される。
【０２３７】
リソース取得部３５１は、動作状態管理部３６１から供給される情報処理装置１０１内の動作状態に関する情報に基づいて、動作制御部３５２から供給される機能プログラムに必要な要求スペックのうち、情報処理装置１０１において求めることのできないリソースや機能を、ネットワーク１０４を介して、情報処理装置１０２または１０３に要求し、それらのリソースや機能を取得する。リソース取得部３５１は、リソースや機能を取得したことを動作制御部３５２に通知する。
【０２３８】
動作制御部３５２は、ユーザにより、操作入力部１１５またはネットワーク１０４を介して入力される操作情報に応じて、実行する機能プログラムを選択する。機能プログラムには、図１２を参照して上述したように、その実行単位ごとに必要となる、情報処理装置の装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、記録部に関する条件などの、装置に関する要求スペックが規定されている。動作制御部３５２は、選択した機能プログラムに含まれる、各機能プログラムについて必要となる装置に関する要求スペックを読み出し、読み出した要求スペックをリソース取得部３５１に供給する。
【０２３９】
また、動作制御部３５２は、リソース取得部３５１からの通知に応じて、選択した機能プログラムを、対応する情報処理装置１０２または１０３に送信する。動作制御部３５２は、送信した機能プログラムを、情報処理装置１０２または１０３に実行させたり、もしくは、情報処理装置１０２または１０３で実行されている機能プログラムを停止させる。
【０２４０】
内部制御部３５３は、動作状態管理部３６１および機能プログラム実行部３６２により構成され、情報処理装置１０１内の各部の制御を行う。動作状態管理部３６１は、情報処理装置１０１内の各部（リソース）の動作状態を監視しており、メインメモリ１１２−１に記憶されている動作状態に関する情報である操作情報テーブルを更新したり、リソース取得部３５１からの要求に応じて、その動作状態に関する情報をリソース取得部３５１に供給する。
【０２４１】
機能プログラム実行部３６２は、情報処理装置１０１内の各部（リソース）の動作を制御する。すなわち、機能プログラム実行部３６２は、動作制御部３５２から指示される機能プログラムを、対応するサブプロセッサ２５１−１乃至２５１−５のいずれかに供給し、供給された機能プログラムを、サブプロセッサ２５１−１乃至２５１−５のいずれかに実行させる。また、機能プログラム実行部３６２は、動作制御部３５２から指示される機能プログラムの停止要求に応じて、サブプロセッサ２５１−１乃至２５１−５のいずれかにおいて実行されている機能プログラムを停止させる。
【０２４２】
図１９は、図１４の通信システムにおいてスレーブ装置となる情報処理装置１０２が実現可能な機能を説明するための機能ブロック図である。図１９に示される機能ブロックは、情報処理装置１０２のメインプロセッサ１３１−２により、所定のプログラムが実行されることで実現される。
【０２４３】
動作状態管理部３８１は、情報処理装置１０２内の各部（リソース）の動作状態を監視しており、メインメモリ１１２−２に記憶されている動作状態に関する情報である操作情報テーブルを更新したり、ネットワーク１０４を介して受信される情報処理装置１０１からの要求に応じて、その動作状態に関する情報を情報処理装置１０１に供給する。
【０２４４】
機能プログラム実行部３８２は、情報処理装置１０２内の各部（リソース）の動作を制御する。すなわち、機能プログラム実行部３８２は、情報処理装置１０１から送信される機能プログラムを、対応するサブプロセッサ２７１−１乃至２７１−５のいずれかに供給し、供給された機能プログラムを、サブプロセッサ２７１−１乃至２７１−５のいずれかに実行させる。また、機能プログラム実行部３８２は、情報処理装置１０１から送信される機能プログラムの停止要求に応じて、サブプロセッサ２７１−１乃至２７１−５のいずれかにおいて実行されている機能プログラムを停止させる。
【０２４５】
なお、情報処理装置１０３の機能ブロックも、情報処理装置１０２の機能ブロックと基本的に同様に構成されている。したがって、以下の説明においては、図１９の情報処理装置１０２の構成は、情報処理装置１０３の構成としても引用する。
【０２４６】
次に、図２０を参照して、図１４の通信システムにより実現される機能について説明する。
【０２４７】
図２０の例においては、情報処理装置１０１において、ＣＳデジタル放送の第１および第２のチャンネルのコンテンツ、ＢＳデジタル放送のコンテンツ（例えば、第３のチャンネルのコンテンツ）、並びに地上波デジタル放送のコンテンツ（例えば、第４のチャンネルのコンテンツ）の受信および記録が要求されたことに応じて、情報処理装置１０１内またはネットワーク１０４を介して実行される、各デジタル放送のコンテンツの受信および記録の処理中に、ＢＳデジタル放送のコンテンツを受信する情報処理装置を切り替える場合が示されている。
【０２４８】
具体的には、まず、各デジタル放送のコンテンツの受信および記録の要求に応じて、情報処理装置１０３において、ＣＳデジタル放送の第２のチャンネルのコンテンツ、ＢＳデジタル放送の第３のチャンネルのコンテンツ、および地上波デジタル放送の第４のチャンネルのコンテンツが受信され、受信されたコンテンツが、ネットワーク１０４を介して、情報処理装置１０１に送信されており、情報処理装置１０１において、ＣＳデジタル放送の第１のチャンネルのコンテンツが受信されるとともに、ネットワーク１０４を介して、ＣＳデジタル放送の第２のチャンネルのコンテンツ、ＢＳデジタル放送の第３のチャンネルのコンテンツ、および地上波デジタル放送の第４のチャンネルのコンテンツが受信され、それらのコンテンツ（４つ分のチャンネルのコンテンツ）が同時に、記録部２０１に記録される処理が実行されている。
【０２４９】
この処理の実行中に、情報処理装置１０３においてゲームなどのイベントの発生により、サブプロセッサのリソースの開放が必要となる。これにより、図２０の通信システムにおいては、ＢＳデジタル放送の第３チャンネルコンテンツの受信を、情報処理装置１０３から、情報処理装置１０２に切り替える処理が実行される。
【０２５０】
情報処理装置１０１の情報処理コントローラ１１１−１は、デマルチプレクサ４０１−１乃至４０１−３、デマルチプレクサ４０２、復号部４０３、ＤＣ１３３−１、およびＤＣ２５２で構成される。デマルチプレクサ４０１−１乃至４０１−３、デマルチプレクサ４０２、復号部４０３は、それぞれ、情報処理装置１０１のサブプロセッサ２５１−１乃至２５１−５により、所定の機能プログラムが実行されることで実現される。
【０２５１】
デマルチプレクサ４０１−１は、ネットワーク１０４を介して、受信され、復号部４０３により暗号が解除されたMPEG(Moving Picture Experts Group)トランスストリームパケット（以降、単にパケットとも称する）から、情報処理装置１０２および１０３の少なくとも一方からのＣＳデジタル放送の第２のチャンネルのコンテンツのみのパケットを選別し、選別したパケットのMPEGトランスストリームを、ＤＣ１３３−１に供給する。なお、デマルチプレクサ４０１−１は、情報処理装置１０２および１０３からのパケットを選別した場合、元々ＤＣ１３３−１に供給していた方のパケットから、もう一方のパケットに切り替えて、選別したパケットのMPEGトランスストリームを、ＤＣ１３３−１に供給する。
【０２５２】
デマルチプレクサ４０１−２は、ネットワーク１０４を介して、受信され、復号部４０３により暗号が解除されたMPEGトランスストリームパケットから、情報処理装置１０２および１０３の少なくとも一方からのＢＳデジタル放送の第３のチャンネルのコンテンツのみのパケットを選別し、選別したパケットのMPEGトランスストリームを、ＤＣ１３３−１に供給する。なお、デマルチプレクサ４０１−２は、情報処理装置１０２および１０３からのパケットを選別した場合、元々ＤＣ１３３−１に供給していた方のパケットから、もう一方のパケットに切り替えて、選別したパケットのMPEGトランスストリームを、ＤＣ１３３−１に供給する。
【０２５３】
デマルチプレクサ４０１−３は、ネットワーク１０４を介して、受信され、復号部４０３により暗号が解除されたMPEGトランスストリームパケットから、情報処理装置１０３および図示せぬ他の情報処理装置の少なくとも一方からの地上波デジタル放送の第４のチャンネルのコンテンツのみのパケットを選別し、選別したパケットのMPEGトランスストリームを、ＤＣ１３３−１に供給する。なお、デマルチプレクサ４０１−３は、情報処理装置１０２および他の情報処理装置からのパケットを選別した場合、元々ＤＣ１３３−１に供給していた方のパケットから、もう一方のパケットに切り替えて、選別したパケットのMPEGトランスストリームを、ＤＣ１３３−１に供給する。
【０２５４】
なお、以下、デマルチプレクサ４０１−１乃至４０１−３を個々に区別する必要がない場合、単に、デマルチプレクサ４０１と称する。
【０２５５】
デマルチプレクサ４０２は、ＣＳチューナ２０２により受信されたＣＳデジタル放送信号のMPEGトランスストリームパケットをＤＣ２５２を介して入力し、入力したMPEGトランスストリームパケットから、選択されたチャンネル（例えば、第１のチャンネル）だけのMPEGトランスストリーム（Partial TS）パケットに変換し、ＤＣ１３３−１に供給する。
【０２５６】
復号部４０３は、情報処理装置１０２または１０３から送信されてくる１以上のPartial TSが多重化され、暗号化されているMPEGトランスストリームパケットを、ネットワーク１０４を介して受信し、受信したMPEGトランスストリームパケットの暗号を解除し、デマルチプレクサ４０１−１乃至４０１−３に供給する。
【０２５７】
情報処理装置１０３の情報処理コントローラ１１１−３は、マルチプレクサ４１１、デマルチプレクサ４１２−１乃至４１２−３、ＤＣ３０２、ＤＣ３０３、およびＤＣ３０４で構成される。マルチプレクサ４１１、デマルチプレクサ４１２−１乃至４１２−３は、それぞれ、情報処理装置１０１のサブプロセッサ３０１−１乃至３０１−４により、所定の機能プログラムが実行されることで実現される。
【０２５８】
マルチプレクサ４１１は、デマルチプレクサ４１２−１乃至４１２−３からの選択されたチャンネルだけのMPEGトランスストリームパケットを多重化する。このとき、マルチプレクサ４１１は、各MPEGトランスストリームパケットに、放送信号を受信したチューナを判別するための判別コードを付加した後、MPEGトランスストリームパケットを多重化する。そして、マルチプレクサ４１１は、多重化されたMPEGトランスストリームパケットを暗号化し、暗号化されたMPEGトランスストリームパケットを、ネットワーク１０４を介して情報処理装置１０１に送信する。
【０２５９】
デマルチプレクサ４１２−１は、ＣＳチューナ２２２からのＣＳデジタル放送信号のMPEGトランスストリームパケットを、ＤＣ３０２を介して入力し、入力したMPEGトランスストリームパケットから、選択されたチャンネル（例えば、第２のチャンネル）だけのMPEGトランスストリーム（Partial TS）パケットに変換し、マルチプレクサ４１１に供給する。
【０２６０】
デマルチプレクサ４１２−２は、ＢＳチューナ２２３からのＢＳデジタル放送信号のMPEGトランスストリームパケットを、ＤＣ３０３を介して入力し、入力したMPEGトランスストリームパケットから、選択されたチャンネル（例えば、第３のチャンネル）だけのMPEGトランスストリーム（Partial TS）パケットに変換し、マルチプレクサ４１１に供給する。
【０２６１】
デマルチプレクサ４１２−３は、地上波チューナ２２４からの地上波デジタル放送信号のMPEGトランスストリームパケットを、ＤＣ３０４を介して入力し、入力したMPEGトランスストリームパケットから、選択されたチャンネル（例えば、第４のチャンネル）だけのMPEGトランスストリーム（Partial TS）パケットに変換し、マルチプレクサ４１１に供給する。
【０２６２】
なお、以下、デマルチプレクサ４１２−１乃至４１２−３を個々に区別する必要がない場合、単に、デマルチプレクサ４１２と称する。
【０２６３】
情報処理装置１０２の情報処理コントローラ１１１−２は、デマルチプレクサ４２１、およびＤＣ２７３により構成される。デマルチプレクサ４２１は、情報処理装置１０２のサブプロセッサ２７１−１により、所定の機能プログラムが実行されることで実現される。
【０２６４】
デマルチプレクサ４２１は、ＢＳチューナ２１３からのＢＳデジタル放送信号のMPEGトランスストリームパケットを、ＤＣ２７３を介して入力し、入力したMPEGトランスストリームパケットから、選択されたチャンネル（例えば、第３のチャンネル）だけのMPEGトランスストリーム（Partial TS）パケットに変換し、変換されたMPEGトランスストリームパケットを暗号化し、暗号化されたMPEGトランスストリームパケットを、ネットワーク１０４を介して情報処理装置１０１に送信する。
【０２６５】
次に、図２１を参照して、図２０のデマルチプレクサ４１２の信号処理を詳しく説明する。なお、図２１の例においては、デマルチプレクサ４１２を用いて説明するが、デマルチプレクサ４０２および４２２においても、デマルチプレクサ４１２と基本的に同じ処理が行われる。
【０２６６】
デジタル放送は、MPEGトランスポートストリームパケット４３１に示されるように、通常１つの帯域(トレスポンダ)で４または５チャンネルの番組が多重化されて送信される。
【０２６７】
図２１の例の場合、MPEGトランスポートストリームパケット４３１は、４チャンネルの番組が多重化されたMPEGトランスポートストリームパケットを表している。
【０２６８】
すなわち、MPEGトランスポートストリームパケット４３１は、全チャンネル共通のＳＤＴ(Service Description Table)パケット、ＰＡＴ(Program Association Table) パケット、およびＥＩＴ(Event Information Table) パケット、並びに、１チャンネル乃至４チャンネルの各チャンネルに属するＰＭＴ(Program Map Table) パケット、ＰＣＲ(Program Clock Reference) パケット、ＥＣＭ(Entitlement Control Message) パケット、Video（映像）パケット、およびAudio（音声）パケットにより構成される。
【０２６９】
各パケットは、１８８バイトで構成され、各パケットのヘッダに含まれるＰＩＤ(Packet Identifier)の値によりパケットの種類（フォーマット）が求められる。ＰＩＤは、MPEGトランスポートストリームにおけるパケットの識別子である。
【０２７０】
ＳＤＴパケットは、チャンネル毎の番組内容の情報を含むパケットである。ＰＡＴパケットは、多重の中の各チャンネルに対応するプログラムマップテーブル（ＰＭＴ）のある場所（すなわち、ＰＩＤ）を表すテーブルを含むパケットである。なお、ＰＡＴパケットのＰＩＤは、０番に設定されている。ＥＩＴパケットは、各チャンネルの番組のスケジュール情報を含むパケットである。
【０２７１】
ＰＭＴパケットは、対象チャンネルに対応するすべてのパケット（すなわち、ＰＣＲパケット、ＥＣＭパケット、Videoパケット、およびAudioパケット）のある場所（ＰＩＤ）を表すプログラムマップテーブルを含むパケットである。ＰＣＲパケットは、対象チャンネルの同期情報を含むパケットである。ＥＣＭパケットは、対象チャンネルの番組に関する情報やデスクランブルを行なうための鍵情報（スクランブル鍵）を含むパケットである。Videoパケットは、対象チャンネルの番組の映像データを有するパケットである。Audioパケットは、対象チャンネルの番組の音声データを有するパケットである。なお、図２１の例の場合、１つのVideoパケットしか示されていないが、実際には、各チャンネルのVideoパケットは、複数のVideoパケットで構成される。
【０２７２】
対応するチューナ（例えば、デマルチプレクサ４１２−１の場合、ＣＳチューナ２２２）より、以上のように構成されるMPEGトランスポートストリームパケット４３１が供給されると、デマルチプレクサ４１２は、選択されていないチャンネルに属するパケットを破棄し、全チャンネル共通のパケットのうち、ＰＡＴパケットおよびＥＩＴパケットの内容を必要に応じて変更して、選択されたチャンネルに必要なパケットのみで構成されるPartial TSのMPEGトランスポートストリームパケット４３２に変換する。
【０２７３】
図２１の例において、MPEGトランスポートストリームパケット４３２は、デマルチプレクサ４１２より、選択されたチャンネル（例えば、２チャンネル）に必要なパケットのみで構成されるPartial TS にされたMPEGトランスポートストリームパケットを表している。
【０２７４】
なお、MPEGトランスポートストリームパケット４３２において、点線で示されるパケットは、デマルチプレクサ４１２よりPartial TS にされたときに破棄されたパケットを表しており、ハッチングされているパケットは、デマルチプレクサ４１２よりPartial TS に変換されたときに内容が変更されたパケットを表している。
【０２７５】
したがって、MPEGトランスポートストリームパケット４３２は、全チャンネル共通のＳＤＴパケット、ＰＡＴパケット、およびＥＩＴパケット、並びに、２チャンネルに属するＰＭＴパケット、ＰＣＲパケット、ＥＣＭパケット、Video（映像）パケット、およびAudio（音声）パケットにより構成される。
【０２７６】
すなわち、MPEGトランスポートストリームパケット４３２においては、MPEGトランスポートストリームパケット４３１で多重化されていた１，３，および４チャンネルに属するＰＭＴパケット、ＰＣＲパケット、ＥＣＭパケット、Videoパケット、およびAudioパケットは破棄されており、さらに、全チャンネル共通のパケットのうち、ＰＡＴパケットおよびＥＩＴパケットは、選択される２チャンネルのみに対応するように変更されている。
【０２７７】
具体的には、ＰＡＴパケットにおいて、ＰＡＴパケットに含まれるテーブルが、２チャンネルに対応するプログラムマップテーブル（ＰＭＴ）のある場所（ＰＩＤ）のみのテーブルに変更され、ＥＩＴパケットにおいて、ＥＩＴパケットのスケジュール情報が、２チャンネルの番組のみのスケジュール情報に変更される。
【０２７８】
なお、図２１の例のPartial TS化処理は、一例であり、Partial TS への信号処理は、この処理のみに限定されない。
【０２７９】
次に、図２２を参照して、図２０のマルチプレクサ４１１の信号処理を詳しく説明する。
【０２８０】
図２２の例の場合、デマルチプレクサ４１２からマルチプレクサ４１１に供給され、あるいは、デマルチプレクサ４０１からＤＣ１３３−１に供給されるMPEGトランスポートストリームパケット４４１、および、マルチプレクサ４１１により判別コードが付加されたMPEGトランスポートストリームパケット４４２が示されている。
【０２８１】
MPEGトランスポートストリームパケット４４１は、同期データ(Sync Byte)、ＰＩＤ、およびペイロードからなる１８８バイトのパケットで構成される。
【０２８２】
MPEGトランスポートストリームパケット４４２は、同期データ(Sync Byte)、ＰＩＤ、およびペイロードからなる１８８バイトのMPEGトランスポートストリームパケット４４１の先頭に、１バイトの判別コードが付加されて構成される。この判別コードは、受信側の情報処理装置１０１のデマルチプレクサ４０１において、MPEGトランスポートストリームパケットを受信したチューナを判別し、マルチプレクサ４１１により多重化されたMPEGトランスポートストリームパケットの中から、対象となるチューナが受信したMPEGトランスポートストリームパケットを選別するために用いられるコードである。
【０２８３】
すなわち、例えば、図２０の情報処理装置１０２のように、１つのチャンネルのデジタル放送信号しか受信されず、１つのチャンネルのMPEGトランスポートストリームパケットしか、ネットワーク１０４に送出されない場合には、受信側の情報処理装置１０１のデマルチプレクサ４０１は、ＰＩＤが０番のＰＡＴパケットを検出することにより、ＰＭＴパケットのＰＩを求めることができるので、選択されているチャンネルのパケットを選別することができる。
【０２８４】
しかしながら、図２０の情報処理装置１０３のように、３種類の放送デジタル信号が受信され、ネットワーク１０４の送出時に、そのパケットが多重化された場合には、多重化されたMPEGトランスポートストリームパケットの中から、ＰＡＴパケットを検出したとしても、検出されたＰＡＴパケットがどの放送デジタル信号のものであるかがわからない。
【０２８５】
したがって、マルチプレクサ４１１は、デマルチプレクサ４１２からMPEGトランスポートストリームパケット４４１が供給されると、MPEGトランスポートストリームパケット４４１に、受信されたチューナに応じた判別コードを付加してから、判別コードが付加されたMPEGトランスポートストリーム４４２を多重化し、暗号化して、ネットワーク１０４を介して、情報処理装置１０１に送信する。このとき、マルチプレクサ４１１は、例えば、ＣＳチューナ２２２において受信されたMPEGトランスポートストリームパケットに対して、判別コードの値「0x01」を付加し、ＢＳチューナ２２３において受信されたMPEGトランスポートストリームパケットに対して、判別コードの値「0x02」を付加し、地上波チューナ２２４において受信されたMPEGトランスポートストリームパケットに対して、判別コードの値「0x03」を付加する。
【０２８６】
これにより、情報処理装置１０１のデマルチプレクサ４０１は、復号部４０３から供給されるMPEGトランスポートストリームパケットの判別コードを確認することにより、そのMPEGトランスポートストリームパケットが、情報処理装置１０３において、どのチューナで受信されたパケットであるかを判別し、選別することができる。
【０２８７】
図２３は、サブプロセッサ２５１−２において、実現可能な機能を説明するための機能ブロック図である。図２３に示される機能ブロックは、図２０のサブプロセッサ２５１−２により所定の機能プログラムが実行されることにより実現される。なお、図２３の例においては、サブプロセッサ２５１−２を例に説明するが、サブプロセッサ２５１−１および２５１−３でも同様の機能ブロックが実現される。
【０２８８】
デマルチプレクサ４０１は、送信元選別部５１１、ＴＳ(Time Stamp)付加部５１２−１および５１２−２、自走カウンタ５１３、書き込み部５１４−１および５１４−２、リングバッファ５１５−１および５１５−２、メモリ５１６−１および５１６−２、読み出し制御部５１７、スイッチ（ＳＷ）５１８により構成され、復号部４０３から供給されるMPEGトランスストリームパケットから情報処理装置１０２および１０３（ＢＳチューナ２１３およびＢＳチューナ２２３）の少なくとも一方で受信されたＢＳデジタル放送の第３のチャンネルのコンテンツのMPEGトランスストリーム（Partial TS）を選別し、複数のMPEGトランスストリームパケットを選別した場合、そのうちの一方を選択し、選択されたMPEGトランスストリームパケットを、記録制御部５０１に供給する処理を行う。
【０２８９】
なお、図２３の例の場合、ＴＳ付加部５１２−１、書き込み部５１４−１、リングバッファ５１５−１、およびメモリ５１６−１は、初めに記録制御部５０１に供給していた情報処理装置１０３から送信されたパケットを処理し、ＴＳ付加部５１２−２、書き込み部５１４−２、リングバッファ５１５−２、およびメモリ５１６−２は、途中から情報処理装置１０２から送信されたパケットを処理するものとして説明する。ただし、これらを個々に区別をする必要がない場合は、単に、ＴＳ付加部５１２、書き込み部５１４、リングバッファ５１５、およびメモリ５１６と称する。
【０２９０】
記録制御部５０１は、デマルチプレクサ４０１から供給されたパケットのMPEGトランスストリームを、ＤＣ１３３−１を制御し、記録部２０１に記録させる。
【０２９１】
デマルチプレクサ４０１−２の送信元選別部５１１は、図２４を参照して後述するＩＰヘッダ、および復号部４０３から供給されるMPEGトランスストリームパケットに含まれる判別コードに基づいて、MPEGトランスストリームパケットの送信元の情報処理装置およびMPEGトランスストリームパケットが放送信号として受信されたチューナを判別し、その判別結果に基づいて、情報処理装置１０２のＢＳチューナ２１３または情報処理装置１０３のＢＳチューナ２１４で受信された第３のチャンネルのコンテンツのパケットのみを選択して、ＴＳ付加部５１２に供給する。
【０２９２】
具体的には、送信元選別部５１１は、その判別結果に基づいて、情報処理装置１０３のＢＳチューナ２２３で受信された第３のチャンネルのコンテンツのパケットのみを選択して、ＴＳ付加部５１２−１に供給し、情報処理装置１０２のＢＳチューナ２１３で受信された第３のチャンネルのコンテンツのパケットのみを選択して、ＴＳ付加部５１２−２に供給する。すなわち、送信元選別部５１１において、他のデジタル放送のコンテンツなどのパケットは、破棄される。
【０２９３】
ＴＳ付加部５１２は、送信元選別部５１１からのパケットに、自走カウンタ５１３から供給されるカウンタ値を、タイムスタンプとして付加し、書き込み部５１４に供給する。
【０２９４】
自走カウンタ５１３は、サブプロセッサ２５１に内蔵される図示せぬメインクロックに基づいて、カウンタ値を自走（カウント）し、カウンタ値を、ＴＳ付加部５１２および読み出し制御部５１７に供給する。
【０２９５】
書き込み部５１４は、ＴＳ付加部５１２によりタイムスタンプが付加されたパケットを、リングバッファ５１５に順番に書き込む。このとき、書き込み部５１４は、リングバッファ５１５に書き込むパケットから、ＰＣＲパケットを検出する。すなわち、書き込み部５１４は、リングバッファ５１５に書き込んだパケットがＰＣＲパケットであった場合、そのＰＣＲパケットのＰＣＲ値と、そのＰＣＲパケットが書き込まれたリングバッファ５１５のアドレスを、メモリ５１６に書き込む。ＰＣＲパケットの検出方法については、図２７を参照して後述する。
【０２９６】
リングバッファ５１５は、タイムスタンプが付加されたパケットを順番に蓄積する。リングバッファ５１５においては、一定時間分のパケット量が蓄積され、一定時間が経過すると、１パケットずつ、読み出し制御部５１７により読み出される。リングバッファ５１５の構成は、図２６を参照して詳しく後述する。なお、リングバッファ５１５に蓄積されるパケットは消去されず、リングバッファ５１５が一杯になると新しいパケットが書き込み時間順に順番に上書きされていく。
【０２９７】
メモリ５１６は、リングバッファにより構成され、書き込み部５１４により検出されたＰＣＲパケットのＰＣＲ値と、ＰＣＲパケットが書き込まれたリングバッファ５１５のアドレスを順番に蓄積する。メモリ５１６は、リングバッファ５１５に蓄積されているすべてのＰＣＲパケットの情報が蓄積されるように構成される。メモリ５１６の構成は、図２８を参照して詳しく後述する。
【０２９８】
読み出し制御部５１７は、自走カウンタ５１３から供給されるカウンタ値に基づいて、一定時間蓄積されていたパケットを、リングバッファ５１５から読み出す。また、読み出し制御部５１７は、メモリ５１６−１および５１６−２を監視しており、メモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されると、両方のメモリ５１６−１および５１６−２において一致するＰＣＲ値を検出する。これにより、検出されたＰＣＲ値に対応するアドレスに基づいて、リングバッファ５１５−１および５１５−２に蓄積されているＰＣＲパケットが求められる。そして、読み出し制御部５１７は、リングバッファ５１５−１からＰＣＲ値が一致するＰＣＲパケットが読み出される際に、スイッチ５１８に端子の選択を切り替えさせるとともに、リングバッファ５１５−２から検出された（ＰＣＲ値の一致する）ＰＣＲパケットを読み出すように制御する。
【０２９９】
スイッチ５１８は、リングバッファ５１５−１からのパケットが供給される端子５１８ａ、および、リングバッファ５１５−２からのパケットが供給される端子５１８ｂを有しており、読み出し制御部５１７の制御に応じて、選択する端子５１８ａまたは端子５１８ｂを切り替え、選択した端子からのパケットを、記録制御部５０１に供給する
【０３００】
図２４は、通信システムで伝送されるＩＰパケットの構成例を示す図である。図２０のネットワーク１０４上のプロトコルは、リアルタイム伝送に適したＵＤＰ（User Datagram Protocol）／ＩＰ（Internet Protocol）が用いられている。ＵＤＰ（User Datagram Protocol）／ＩＰの下のレイヤは、ＲＴＰ（Real-time Transport Protocol）レイヤであり、その下にMPEGトランスポートストリームが位置される。
【０３０１】
ＩＰパケット５５１は、２０バイトのＩＰヘッダ、および、ＵＤＰパケット５５２が含まれるペイロードにより構成される。ＵＤＰパケット５５２は、８バイトのＵＤＰヘッダ、および、ＲＴＰパケット５５３が含まれるペイロードにより構成される。ＲＴＰパケット５５３は、１６バイトのＲＴＰヘッダ、および、図２２を参照して上述した１バイトの判別コード（コード）が付加されたMPEGトランスポートストリームパケット４４２により構成される。MPEGトランスポートストリームパケット４４２は、１バイトの判別コード、４バイトのＴＳヘッダ（１倍との同期データ（Ｓ）を含む）、および、１８４バイトのMPEGトランスポートストリームペイロードにより構成される。
【０３０２】
したがって、送信側の情報処理装置１０３は、判別コードが付加されたMPEGトランスポートストリームパケット４４２に、ＲＴＰヘッダを付加して、ＲＴＰパケット５５３を生成し、ＲＴＰパケット５５３に、ＵＤＰヘッダを付加して、ＵＤＰパケット５５２を生成し、ＵＤＰパケット５５２に、ＩＰヘッダを付加して、ＩＰパケット５５１を生成し、ＩＰパケット５５１を、ネットワーク１０４を介して、情報処理装置１０１に送信する。
【０３０３】
一方、受信側の情報処理装置１０１は、ネットワーク１０４を介して受信されるＩＰパケット５５１から、ＵＤＰパケット５５２を抽出し、ＵＤＰパケット５５２からＲＴＰパケット５５３を抽出し、ＲＴＰパケット５５３から、判別コードが付加されたMPEGトランスポートストリームパケット４４２を抽出する。
【０３０４】
図２５は、図２４のＩＰパケットのＩＰヘッダの構成例を示す図である。
【０３０５】
図２５のＩＰヘッダは、図２３の送信元選別部５１１において、どの情報処理装置からのパケットであるかを判別する際に用いられる。具体的には、送信元選別部５１１は、ＩＰヘッダの送信元ＩＰアドレスの情報に基づいて、どの情報処理装置からのパケットであるかを判別する。
【０３０６】
図２５の例において、左端の番号（最上段から、０，４，８，１２，１６）は、Ｎの値を表しており、最上段には、各段におけるバイトの並びが、左から順に、Ｎ＋１番目のバイト（０乃至７ビット）、Ｎ＋２番目のバイト（８乃至１５ビット）、Ｎ＋３番目のバイト（１６乃至２３ビット）、Ｎ＋４番目のバイト（２４乃至３１ビット）であることが示されている。したがって、上から２段目から順に各段は、１番目乃至４番目のバイトに格納される情報、５番目乃至８番目のバイトに格納される情報、９番目乃至１２番目のバイトに格納される情報、１３番目乃至１６番目のバイトに格納される情報、並びに、１７番目乃至２０番目のバイトに格納される情報を表している。
【０３０７】
すなわち、上から２段目には、１番目のバイトから順に、４ビットのバージョン、４ビットのヘッダ長、８ビットのＴｏＳ(Type of Service)、および１６ビットのＩＰデータグラム長の情報が格納されることが示されている。バージョンは、ＩＰパケットのバージョンの情報であり、ヘッダ長は、バージョン情報から宛先ＩＰアドレスまでを含む、ＩＰヘッダの長さの情報である。ＴｏＳは、データの優先度の定義やどのようなタイプの転送を行うかなどを指定する情報であり、ＩＰデータグラム長は、ＩＰパケットの全長、つまり、バージョン情報からペイロードまでを含んだ長さの情報である。
【０３０８】
上から３段目には、４番目のバイトから順に、１６ビットのデータグラム識別子、３ビットのフラグ、および１３ビットのフラグメント・オフセットの情報が格納されることが示されている。データグラム識別子は、パケットを識別するための情報であり、フラグは、フラグメント禁止か否か、または、分割されたデータグラムの最後であるか否かである情報である。フラグメント・オフセットは、分割されたデータグラムが再構成される際の順番を示す情報である。
【０３０９】
上から４段目には、９番目のバイトから順に、８ビットのＴＴＬ（Time To Live）、８ビットのプロトコル、１６ビットのヘッダ・チェックサムの情報が格納されることが示されている。ＴＴＬは、パケットの生存時間、すなわち、パケットが通過できるルータの数の情報であり、プロトコルは、上位のプロトコル（いまの場合、ＵＤＰ）を示す情報である。ヘッダ・チェックサムは、ＩＰヘッダのエラー判定に使用される情報である。
【０３１０】
上から５段目には、１３番目のバイトから、３２ビットの送信元ＩＰアドレスの情報が格納され、上から６段目には、１７番目のバイトから、３２ビットの宛先ＩＰアドレスの情報が格納される。送信元ＩＰアドレスは、このＩＰパケットをネットワーク１０４に送信した送信元の情報処理装置のＩＰアドレスであり、宛先ＩＰアドレスは、このＩＰパケットを送信する送信先（宛先）の情報処理装置のＩＰアドレスである。
【０３１１】
次に、図２６乃至図２８を参照して、パケットの切り替え方法について説明する。
【０３１２】
図２６は、図２３のリングバッファ５１５−１および５１５−２の構成例を示している。
【０３１３】
図２６の例においては、情報処理装置１０３からのパケットを一定時間分蓄積するリングバッファ５１５−１と、情報処理装置１０２からのパケットをリングバッファ５１５−１の一定時間と同じ一定時間分蓄積するリングバッファ５１５−２が示されている。なお、リングバッファ５１５−1および５１５−２内に蓄積されるパケットの左側に付加されるTSは、図２３のＴＳ付加部５１２により各パケットに付加されるタイムスタンプを表しており、枝番が同じタイムスタンプは、同一のタイムスタンプを表すものとする。また、リングバッファ５１５−１および５１５−２においてパケットに続く番号（パケット番号）は、説明の便宜上付加したものであり、このパケット番号が一致するものは、同一のパケットを表すものとする。さらに、リングバッファ５１５−１および５１５−２においてＰＣＲパケットにはハッチングが施されている。
【０３１４】
リングバッファ５１５−１には、下から順に、タイムスタンプTS1-1が付加されたVideoパケット１、タイムスタンプTS1-2が付加されたＰＣＲパケット１、タイムスタンプTS1-3が付加されたAudioパケット１、タイムスタンプTS1-4が付加されたＰＭＴパケット１、…、タイムスタンプTS1-5が付加されたＰＡＴパケット１、タイムスタンプTS1-6が付加されたAudioパケット２、タイムスタンプTS1-7が付加されたVideoパケット２、タイムスタンプTS1-8が付加されたＰＣＲパケット２、タイムスタンプTS1-9が付加されたVideoパケット３、…、タイムスタンプTS1-10が付加されたAudioパケット３、タイムスタンプTS1-11が付加されたVideoパケット４、タイムスタンプTS1-12が付加されたVideoパケット５、タイムスタンプTS1-8が付加されたＰＣＲパケット３、タイムスタンプTS1-13が付加されたVideoパケット６、…が蓄積されている。
【０３１５】
また、リングバッファ５１５−１には、読み出すパケットを指し示すリードポインタＲＰ１、および、書き込まれたパケットを指し示すライトポインタＷＰ１が備えられており、図２６の例の場合、リードポインタＲＰ１は、Audioパケット２を指し示し、ライトポインタＷＰ１は、Videoパケット６を指し示している。
【０３１６】
リングバッファ５１５−１においては、書き込み部５１４−１によりライトポインタＲＰ１からパケットが書き込まれ、一定時間が経過すると、１パケットずつ、読み出し制御部５１７によりリードポインタＲＰ１から読み出される。すなわち、読み出し制御部５１７は、自走カウンタ５１３から供給されるタイムスタンプとリードポインタＲＰ１が指し示すパケットに付加されているタイムスタンプとを比較して、一定時間を計測し、一定時間が経過すると、リードポインタＲＰ１が指し示すパケットを読み出す。
【０３１７】
リングバッファ５１５−２には、下から順に、タイムスタンプTS2-1が付加されたAudioパケット２、タイムスタンプTS2-2が付加されたVideoパケット２、タイムスタンプTS2-3が付加されたＰＣＲパケット２、タイムスタンプTS2-4が付加されたVideoパケット３、…、タイムスタンプTS2-5が付加されたAudioパケット３、タイムスタンプTS2-6が付加されたVideoパケット４、タイムスタンプTS2-7が付加されたVideoパケット５、タイムスタンプTS2-8が付加されたＰＣＲパケット３、タイムスタンプTS2-9が付加されたVideoパケット６、…、タイムスタンプTS2-10が付加されたVideoパケット７、タイムスタンプTS2-11が付加されたＰＣＲパケット４、タイムスタンプTS2-12が付加されたAudioパケット４、タイムスタンプTS2-13が付加されたＰＭＴパケット１、…が蓄積されている。
【０３１８】
また、リングバッファ５１５−２には、読み出すパケットを指し示すリードポインタＲＰ２、および、書き込まれたパケットを指し示すライトポインタＷＰ２が備えられており、図２６の例の場合、リードポインタＲＰ２は、Audioパケット２を指し示し、ライトポインタＷＰ２は、ＰＭＴパケット１を指し示している。
【０３１９】
リングバッファ５１５−２においては、書き込み部５１４−２によりライトポインタＲＰ２からパケットが書き込まれ、一定時間が経過すると、１パケットずつ、読み出し制御部５１７によりリードポインタＲＰ２から読み出される。すなわち、読み出し制御部５１７は、自走カウンタ５１３から供給されるタイムスタンプとリードポインタＲＰ２が指し示すパケットに付加されているタイムスタンプとを比較して、一定時間を計測し、一定時間が経過すると、リードポインタＲＰ２が指し示すパケットを読み出す。
【０３２０】
図２０に示される通信システムにおいては、情報処理装置１０３から情報処理装置１０１までの伝送時間と、情報処理装置１０２から情報処理装置１０１までの伝送時間は、ネットワーク１０４の状態により異なる。したがって、図２６の例に示されるように、リングバッファ５１５−１および５１５−２に蓄積されているパケット数はほぼ同じであっても、パケットの内容は時間方向にずれている。
【０３２１】
そこで、情報処理装置１０３からのパケットから情報処理装置１０２のパケットに切り替える際に、読み出し制御部５１７は、リードポインタＲＰ１およびＲＰ２が同じパケットを指し示すときに、読み出す（後段で処理する）パケットを、情報処理装置１０３からのパケットから、情報処理装置１０２のパケットに切り替えるようにすれば、パケットをシームレスに切り替えることができる。すなわち、読み出し制御部５１７は、次に説明する、パケット内のデータが必ずユニークになるパケットと対象として、同じパケットを検出し、検出した同じパケットに基づいて、パケットを読み出すリングバッファ５１５を切り替える。
【０３２２】
図２７は、ＰＣＲパケットを説明する図である。
【０３２３】
MPEGトランスポートストリームパケットは、図２７に示されるように、ヘッダ、アダプテーションフィールド、および、データが含まれるペイロードなどからなる、１８８バイトの固定パケットである。ヘッダには、８ビットの同期バイト(sync_byte)、１ビットの誤り表示(transport_error_indicator)、１ビットのユニット開始表示(payload_unit_start_indicator)、１ビットのトランスポートパケットプライオリティ(transport_priority)、１３ビットのＰＩＤ、２ビットのスクランブル制御(transport_scrambling_control)、２ビットのアダプテーションフィール制御(adaptation_field_control)、４ビットの巡回カウンタ(countinuty_counter)が含まれる。なお、データの先頭のMPEGトランスポートストリームパケットの同期バイトは、４７ｈ(0x47)とされる。
【０３２４】
アダプテーションフィールドには、８ビットのアダプテーションフィールド長さ(adaptation_field_length)、１ビットの不連続表示(discontinuity_indicator)、１ビットのランダムアクセス表示(random_access_indicator)、１ビットのストリーム優先表示(elementary_stream_priority_indicator)、５ビットのフラグ、３３ビットのプログラムクロックリファレンスベース(program_clock_reference_base)、６ビットのリザーブ(reserved)、および９ビットのプログラムクロックリファレンス拡張(program_clock_reference_extension)が含まれる。なお、フラグには、ＰＣＲフラグ（１ビット）をはじめ５種類のフラグが存在する。
【０３２５】
MPEGトランスポートストリームパケットは、以上のようなデータ構造を有するが、図２７に示すように、ヘッダのアダプテーションフィールド制御が”１０”または”１１”とされ、かつ、アダプテーションフィールドのアダプテーションフィールド長さが００ｈ以外の値で、さらにＰＣＲフラグに”１”が立っている場合（以下、このようなデータ設定をＰＣＲパケット条件と記述する）、そのMPEGトランスポートストリームパケットは、ＰＣＲパケットとされ、そのアダプテーションフィールドのプログラムクロックリファレンスベースの値およびプログラムクロックリファレンス拡張の値の組み合わせが、ＰＣＲ値を表す。
【０３２６】
プログラムクロックリファレンスベースには、０乃至２９９の値が順に設定され（カウントされ）、プログラムクロックリファレンスベースの値が２９９から０の値に戻る（リセット）されるタイミングで、プログラムクロックリファレンス拡張の値が１だけインクリメントされる。すなわち、プログラムクロックリファレンスベースおよびプログラムクロックリファレンス拡張の合計４２ビットにより、MPEG-2方式における２７ＭＨZのシステムクロックを単位として、２４時間分の時間がカウントされる。
【０３２７】
すなわち、リングバッファ５１５にパケットを蓄積する一定時間が、２４時間分以下であれば、ＰＣＲパケットは、ユニークなパケットであるといえる。
【０３２８】
したがって、読み出し制御部５１７は、リングバッファ５１５−１のリードポインタＲＰ１がＰＣＲパケット（例えば、図２６のＰＣＲパケット２）を指し示したときに、リングバッファ５１５−２のリードポインタＲＰ２が同じＰＣＲパケット２を指し示すように制御する。
【０３２９】
これは、書き込み部５１４により、リングバッファ５１５にＰＣＲパケットを書き込むときに、ＰＣＲパケットのＰＣＲ値と、ＰＣＲパケットが書き込まれたリングバッファ５１５のアドレスを、図２８に示されるようにメモリ５１６に書き込むことで実現される。すなわち、読み出し制御部５１７は、メモリ５１６に蓄積されているＰＣＲ値に基づいて、両方のリングバッファ５１５に存在する同じＰＣＲパケットを検出できるので、検出されたＰＣＲパケットのアドレスに、簡単に、もう一方のリードポインタを移動させることができる。
【０３３０】
なお、ＰＣＲパケットのインターバル（周期）は、規格においては、０．１秒に１パケット以上であり、単位時間あたりのパケット数も他のパケットに較べて比較的少ない。したがって、パケットの切り替えに、ＰＣＲパケットを用いることにより、図２３のデマルチプレクサ４０１を実行するサブプロセッサ２５１に大きな負担をかけることなく、処理を実行させることができる。
【０３３１】
また、MPEGトランスポートストリームパケットにおいて、同一のパケットが検出可能なパケットであれば、ＰＣＲパケットに限定しなくてもよい。
【０３３２】
図２８は、図２３のメモリの構成例を示している。
【０３３３】
図２８の例の場合、メモリ５１６−１には、図２６のリングバッファ５１５−１に蓄積されているＰＣＲパケットのＰＣＲ値およびアドレスが蓄積され、メモリ５１６−２には、リングバッファ５１５−２に蓄積されているＰＣＲパケットのＰＣＲ値およびアドレスが蓄積されている。
【０３３４】
すなわち、メモリ５１６−１には、上から順に、ＰＣＲパケット１の「ＰＣＲ値１」と「リングバッファ５１５−１のアドレス１」が蓄積され、ＰＣＲパケット２の「ＰＣＲ値２」と「リングバッファ５１５−１のアドレス２」が蓄積され、ＰＣＲパケット３の「ＰＣＲ値３」と「リングバッファ５１５−１のアドレス３」が蓄積されている。
【０３３５】
同様に、メモリ５１６−２には、上から順に、ＰＣＲパケット２の「ＰＣＲ値２」と「リングバッファ５１５−２のアドレス１」が蓄積され、ＰＣＲパケット３の「ＰＣＲ値３」と「リングバッファ５１５−２のアドレス２」が蓄積され、ＰＣＲパケット４の「ＰＣＲ値４」と「リングバッファ５１５−２のアドレス３」が蓄積されている。
【０３３６】
したがって、図２８の例においては、メモリ５１６−１の「リングバッファ５１５−１のアドレス２」と、メモリ５１６−２の「リングバッファ５１５−２のアドレス１」は、同じ「ＰＣＲ値２」となっているので、各リングバッファ５１５の各アドレスに蓄積されているＰＣＲパケット同士は、同じＰＣＲパケットであるとされる。また、メモリ５１６−１の「リングバッファ５１５−１のアドレス３」と、メモリ５１６−２の「リングバッファ５１５−２のアドレス２」は、同じ「ＰＣＲ値３」となっているので、各リングバッファ５１５の各アドレスに蓄積されているＰＣＲパケット同士は、同じＰＣＲパケットであるとされる。
【０３３７】
以上のようび、同じＰＣＲパケットが検出されるので、リングバッファ５１５−１および５１５−２から、パケットを読み出す毎に、図２６のリードポインタＲＰ１とリードポインタＲＰ２を１パケットずつ進めることにより、いつでも同じパケットを指すことが可能となり、任意のタイミングでパケットをシームレスに切り替えることができる。
【０３３８】
例えば、図２３の例の読み出し制御部５１７は、具体的には、図２６の例のＰＣＲパケット２が同じパケットであることがわかった場合には、リードポインタＲＰ１が指し示すＰＣＲパケット２がリングバッファ５１５−１内に蓄積している時間が、一定時間が経過したと判定したときに、リードポインタＲＰ２を、ＰＣＲ値が同じＰＣＲパケットを指し示すように制御するとともに、リードポインタＲＰ２が指し示すパケットを読み出すようにスイッチ５１８が選択する端子を切り替える。これにより、情報処理装置１０３からのパケットから、情報処理装置１０２のパケットに、シームレスに切り替えることができる。
【０３３９】
図２９を参照して、リングバッファ５１５にパケットを蓄積する一定時間について説明する。
【０３４０】
図２９の例においては、横軸は時間を表し、上から順に、情報処理装置１０３から情報処理装置１０１までの平均遅延時間（ave_Delay3_1）、情報処理装置１０３から情報処理装置１０１までの遅延時間におけるジッタの最大値（maxJitter3_1）、ＰＣＲパケットの周期の最大値（０．１秒）、情報処理装置１０２から情報処理装置１０１までの平均遅延時間（ave_Delay2_1）、および情報処理装置１０２から情報処理装置１０１までの遅延時間におけるジッタの最大値（maxJitter2_1）を表している。
【０３４１】
ここで、リングバッファ５１５にパケットを蓄積する時間Ｔは、maxJitter2_1、ave_Delay3_1から、ave_Delay2_1を引いた時間ｔ１、maxJitter3_1、および０．１秒を加えた時間からなり、次の式（１）で表される。
【０３４２】
Ｔ  ≧ ｜ ave_Delay3_1 − ave_Delay2_1 ｜
＋ ｜maxJitter3_1｜ ＋ ｜maxJitter2_1｜ ＋  ０．１    ・・・（１）
【０３４３】
すなわち、時間Ｔは、リングバッファ５１５−１および５１５−２内で同じＰＣＲパケットが存在するための最小時間を表す。
【０３４４】
次に、図３０乃至図３２のフローチャートを参照して、図２０の信号処理を実行する図１４の通信システムの処理の例を説明する。
【０３４５】
情報処理装置１０１において、ユーザが操作入力部１１５を操作することにより、通信システムにおいて、ＣＳデジタル放送の第１および第２のチャンネル、ＢＳデジタル放送の第３のチャンネル、地上波デジタル放送の第４のチャンネルのコンテンツを受信し、情報処理装置１０１の記録部２０１に記録する処理を要求する。操作入力部１１５は、対応する操作情報を、動作制御部３５２に供給する。
【０３４６】
動作制御部３５２は、操作情報に応じて実行する機能プログラムを選択し、機能プログラムについて必要となる要求スペックを読み出し、読み出した要求スペックをリソース取得部３５１に供給する。
【０３４７】
リソース取得部３５１は、ＣＳデジタル放送の第１のチャンネルを受信するために必要な各部（リソース）を情報処理装置１０１内部で取得し、図３０のステップＳ２０１において、情報処理装置１０１において求められないリソース、すなわち、ＣＳデジタル放送の第２のチャンネル、ＢＳデジタル放送の第３のチャンネル、地上波デジタル放送の第４のチャンネルのコンテンツを受信するための各チューナとサブプロセッサ３つ分のリソースを、ネットワーク１０４を介して、情報処理装置１０２に要求する。
【０３４８】
情報処理装置１０２の動作状態管理部３８１は、情報処理装置１０１からの各チューナとサブプロセッサ３つ分のリソースの要求を受信する。動作状態管理部３８１は、メインメモリ１１２−２に記憶されている操作情報テーブルに基づいて、地上波デジタル放送を受信するチューナを有していないので、情報処理装置１０１からの要求を受け入れられないと判定し、ステップＳ２３１において、情報処理装置１０１に、要求拒否信号を送信する。
【０３４９】
情報処理装置１０１のリソース取得部３５１は、ステップＳ２０２において、情報処理装置１０２からの要求拒否信号を受信すると、ステップＳ２０３に進み、ＣＳデジタル放送の第２のチャンネル、ＢＳデジタル放送の第３のチャンネル、地上波デジタル放送の第４のチャンネルのコンテンツを受信するための各チューナとサブプロセッサ３つ分のリソースを、ネットワーク１０４を介して、情報処理装置１０３に要求する。
【０３５０】
情報処理装置１０３の動作状態管理部３８１は、情報処理装置１０１からの各チューナとサブプロセッサ３つ分のリソースの要求を受信する。動作状態管理部３８１は、メインメモリ１１２−３に記憶されている操作情報テーブルに基づいて、情報処理装置１０１からの要求を受け入れられると判定し、ステップＳ２５１において、情報処理装置１０１に、要求受け入れ信号を送信する。
【０３５１】
情報処理装置１０１のリソース取得部３５１は、ステップＳ２０４において、情報処理装置１０３からの要求受け入れ信号を受信すると、情報処理装置１０３において、各チューナとサブプロセッサ３つ分のリソースが取得できたことを、動作制御部３５２に通知する。動作制御部３５２は、リソース取得部３５１からのリソース取得が通知されると、ステップＳ２０５に進み、取得されたリソースに応じて、所定の機能プログラムを、情報処理装置１０３に転送し、転送した機能プログラムの実行を要求し、ステップＳ２０６に進む。
【０３５２】
具体的には、動作制御部３５２は、ＣＳデジタル放送受信用の機能プログラム、ＢＳデジタル放送受信用の機能プログラム、地上波デジタル放送受信用の機能プログラム、および受信した放送信号のデータをネットワーク１０４を介して、情報処理装置１０１に送信するための機能プログラムを転送し、転送した機能プログラムの実行を要求する。
【０３５３】
これに対応して、情報処理装置１０３の機能プログラム実行部３８２は、ステップＳ２５２において、情報処理装置１０１からの機能プログラムおよび機能プログラムの実行要求を受信し、ステップＳ２５３に進み、サブプロセッサ３０１−１乃至３０１−４に、機能プログラムを実行させる。
【０３５４】
これにより、サブプロセッサ３０１−１乃至３０１−４で、図３３に示されるような機能ブロックが実現される。
【０３５５】
また、ステップＳ２０６において、情報処理装置１０１の動作制御部３５２は、機能プログラム実行部３６２を制御し、情報処理装置１０１内のサブプロセッサ２５１−１乃至２５１−５に、所定の機能プログラムを実行させる。
【０３５６】
具体的には、機能プログラム実行部３６２は、ステップＳ２０６において、ＣＳデジタル放送受信用の機能プログラム、並びに、３種類の放送信号のデータをネットワーク１０４を介して受信し、情報処理装置１０１内部で受信される１種類を加えた４種類の放送信号のデータを記録するための機能プログラムなどを、サブプロセッサ２５１−１乃至２５１−５で実行させる。
【０３５７】
これにより、サブプロセッサ２５１−１乃至２５１−５で、図３３に示されるような機能ブロックが実現される。
【０３５８】
図３３は、図１４の通信システムにより実現される機能を説明する機能ブロック図である。なお、図３３の例においては、情報処理装置１０２のＢＳチューナ２１３およびサブプロセッサ２７１−１が動作していない状態である点のみが、図２０の通信システムと異なるだけであり、その他は、図２０の通信システムと同様の構成であるので、その説明を省略する。
【０３５９】
すなわち、ステップＳ２０６およびＳ２５３において、情報処理装置１０１および１０３で、それぞれ所定の機能プログラムが実行されることにより、情報処理装置１０１で、ＣＳデジタル放送の第１のチャンネルのコンテンツが受信されるとともに、情報処理装置１０３において受信されたＣＳデジタル放送の第２のチャンネルのコンテンツ、ＢＳデジタル放送の第３のチャンネルのコンテンツ、および地上波デジタル放送の第４のチャンネルのコンテンツが、ネットワーク１０４を介して受信され、記録部２０１に同時に記録される信号処理が実行される。
【０３６０】
なお、情報処理装置１０１において実行される信号受信記録処理は、図３７を参照して詳しく後述し、情報処理装置１０３において実行される信号受信処理は、図３５を参照して詳しく後述する。
【０３６１】
ここで、通信システムにおいて、図３３の信号処理が実行されているときに、情報処理装置１０３において、ユーザが操作入力部１１５を操作することにより、ゲーム開始の要求が行われる。操作入力部１１５は、図３１のステップＳ２５４において、ユーザのゲーム開始の要求を受けると、対応する操作情報を、動作状態管理部３８１に供給し、ステップＳ２５５に進む。
【０３６２】
動作状態管理部３８１は、操作入力部１１５を介して操作情報を入力すると、ステップＳ２５５において、入力されたユーザの操作情報を、情報処理装置１０１に送信する。
【０３６３】
これに対応して、情報処理装置１０１の動作制御部３５２は、ステップＳ２０７において、情報処理装置１０３からの操作情報を受信し、受信した操作情報に応じて実行する機能プログラムを選択し、機能プログラムについて必要となる要求スペックを読み出し、読み出した要求スペックを、リソース取得部３５１に供給する。リソース取得部３５１は、ゲームの機能プログラムを実行させるために、情報処理装置１０３において１のサブプロセッサのリソース（たとえば、サブプロセッサ３０１−３）の解放が必要であるとし、ステップＳ２０８に進み、情報処理装置１０２に、ＢＳチューナ２１３およびサブプロセッサ（サブプロセッサ２７１−１）のリソースを要求する。
【０３６４】
情報処理装置１０１からのＢＳチューナとサブプロセッサ１つ分のリソースの要求が送信されてくる。情報処理装置１０２の動作状態管理部３８１は、情報処理装置１０１からの要求を受信し、メインメモリ１１２−３に記憶されている操作情報テーブルに基づいて、情報処理装置１０１からの要求を受け入れられると判定し、ステップＳ２３２において、情報処理装置１０１に、要求受け入れ信号を送信する。
【０３６５】
情報処理装置１０１のリソース取得部３５１は、ステップＳ２０９において、情報処理装置１０２からの要求受け入れ信号を受信すると、情報処理装置１０２において、ＢＳチューナとサブプロセッサ１つ分のリソースが取得できたことを、動作制御部３５２に通知する。動作制御部３５２は、リソース取得部３５１からのリソース取得が通知されると、ステップＳ２１０に進み、取得されたリソースに応じて、所定の機能プログラムを、情報処理装置１０２に転送し、転送した機能プログラムの実行を要求する。
【０３６６】
具体的には、動作制御部３５２は、ＢＳデジタル放送受信用の機能プログラムを転送し、転送した機能プログラムの実行を要求する。
【０３６７】
これに対応して、情報処理装置１０３の機能プログラム実行部３８２は、ステップＳ２３３において、情報処理装置１０１からの機能プログラムおよび機能プログラムの実行要求を受信し、ステップＳ２３４に進み、サブプロセッサ２７１−１に、機能プログラムを実行させる。
【０３６８】
これにより、情報処理装置１０２のサブプロセッサ２７１−１で、図２０を参照して上述した機能ブロックが実現される。なお、情報処理装置１０１においては、図３０のステップＳ２０６の処理により図２０の機能ブロックが実現されている。
【０３６９】
したがって、ステップＳ２３４において、情報処理装置１０２で、所定の機能プログラムが実行されることにより、図２０に示されるように、情報処理装置１０１で、ＣＳデジタル放送の第１のチャンネルのコンテンツが受信されるとともに、情報処理装置１０３において受信されたＣＳデジタル放送の第２のチャンネルのコンテンツ、ＢＳデジタル放送の第３のチャンネルのコンテンツ、および地上波デジタル放送の第４のチャンネルのコンテンツ、並びに、情報処理装置１０２において受信されたＢＳデジタル放送の第３のチャンネルのコンテンツが、ネットワーク１０４を介して受信され、記録部２０１に同時に記録される処理が実行される。
【０３７０】
すなわち、図３３の通信システムにおいて、情報処理装置１０３から送信されてきていたＢＳデジタル放送の第３のチャンネルのコンテンツが、図２０の通信システムにおいては、情報処理装置１０２および１０３の両方から、情報処理装置１０１に送信されてくる。これに対応して、情報処理装置１０２および情報処理装置１０３からのＢＳデジタル放送の第３のチャンネルのコンテンツを受信するデマルチプレクサ４０１−２は、パケット切り替え処理を実行する。このパケット切り替え処理は、図３８を参照して詳しく後述する。
【０３７１】
デマルチプレクサ４０１−２は、パケット切り替え処理を実行することより、情報処理装置１０１内で処理する対象パケットを、情報処理装置１０３からのパケットから、情報処理装置１０２のパケットへ切り替え、動作状態管理部３６１を介して、リソース取得部３５１に、パケット切り替え完了を通知する。
【０３７２】
これに対応して、リソース取得部３５１は、図３２のステップＳ２１１において、デマルチプレクサ４０１−２からパケットの切り替え完了通知を受け取り、ステップＳ２１２に進み、情報処理装置１０３に、１つの機能プログラムを停止させ、サブプロセッサ１つ分のリソースを開放させる要求を行う。
【０３７３】
具体的には、動作制御部３５２は、ステップＳ２１２において、情報処理装置１０３のサブプロセッサ３０１−３で実行されているＢＳデジタル放送受信用の機能プログラムを停止させ、リソース取得部３５１を制御し、サブプロセッサ３０１−３のリソースを開放させる要求を行わせる。
【０３７４】
情報処理装置１０３の動作状態管理部３８１は、ステップＳ２５６において、情報処理装置１０１からの機能プログラムの停止要求、およびリソースの開放要求を受信し、ステップＳ２５７に進み、機能プログラム実行部３８２を制御し、サブプロセッサ３０１−３で実行されているＢＳデジタル放送受信用の機能プログラムを停止させ、サブプロセッサ３０１−３のリソースを開放する。
【０３７５】
これにより、情報処理装置１０３においては、サブプロセッサ３０１−２における機能プログラムが停止され、サブプロセッサ３０１−２のリソースが開放される。したがって、情報処理装置１０１のリソース取得部３５１は、例えば、情報処理装置１０３のサブプロセッサ３０１−２および３０１−５のリソースを取得することができる。したがって、動作制御部３５２は、情報処理装置１０３に、例えば、ゲームの機能プログラムの実行を要求して、サブプロセッサ３０１−２および３０１−５において、ゲームの機能プログラムを実行させることができる。
【０３７６】
一方、情報処理装置１０３においては、サブプロセッサ３０１−１、３０１−３、および３０１−４で、図３４に示されるような機能ブロックは、継続して実現されている。
【０３７７】
図３４は、図１４の通信システムにより実現される機能を説明する機能ブロック図である。なお、図３４の例においては、情報処理装置１０３のＢＳチューナ２２３およびサブプロセッサ３０１−３が動作していない状態である点のみが、図２０の通信システムと異なるだけであり、その他は、図２０の通信システムと同様の構成であるので、その説明を省略する。
【０３７８】
すなわち、ステップＳ２５７において、情報処理装置１０３において、サブプロセッサ３０１−３で実行されているＢＳデジタル放送受信用の機能プログラムが停止され、サブプロセッサ３０１−３のリソースが開放されることにより、図３４に示されるように、情報処理装置１０１において、ＣＳデジタル放送の第１のチャンネルのコンテンツが受信されるとともに、情報処理装置１０３において受信されたＣＳデジタル放送の第２のチャンネルのコンテンツ、および地上波デジタル放送の第４のチャンネルのコンテンツ、並びに、情報処理装置１０２において受信されたＢＳデジタル放送の第３のチャンネルのコンテンツが、ネットワーク１０４を介して受信され、記録部２０１に同時に記録される処理が実行される。
【０３７９】
上述した処理が、図３４の通信システムにおいて実行されているときに、例えば、情報処理装置１０３において、ユーザが操作入力部１１５を操作することにより信号受信記録処理の停止が要求される。操作入力部１１５は、図３２のステップＳ２１３において、ユーザの処理停止の要求を受け取ると、それに対応する操作情報を、動作制御部３５２に供給し、ステップＳ２１４に進む。
【０３８０】
動作制御部３５２は、ステップＳ２１４において、情報処理装置１０２および１０３に、実行中の機能プログラムを停止させ、リソース取得部３５１を制御し、情報処理装置１０２および１０３に、サブプロセッサのリソースを開放させる要求を行わせ、ステップＳ２１５に進む。
【０３８１】
動作制御部３５２は、ステップＳ２１５において、機能プログラム実行部３６２を制御し、サブプロセッサ２５１−１乃至２５１−５で実行されている機能プログラムを停止させ、リソース取得部３５１を介して、動作状態管理部３６１を制御し、サブプロセッサ２５１−１乃至２５１−５のリソースを開放させる。これにより、情報処理装置１０１において処理が終了される。
【０３８２】
一方、情報処理装置１０２の動作状態管理部３８１は、ステップＳ２３５において、情報処理装置１０１からの機能プログラムの停止要求、およびリソースの開放要求を受信し、ステップＳ２３６に進み、機能プログラム実行部３８２を制御し、サブプロセッサ２７１−１で実行されている機能プログラムを停止させ、サブプロセッサ２７１−１のリソースを開放する。これにより、情報処理装置１０２において処理が終了される。
【０３８３】
同様に、情報処理装置１０３の動作状態管理部３８１は、ステップＳ２５８において、情報処理装置１０１からの機能プログラムの停止要求、およびリソースの開放要求を受信し、ステップＳ２５９に進み、機能プログラム実行部３８２を制御し、サブプロセッサ３０１−１、３０１−３、および３０１−４で実行されている機能プログラムを停止させ、サブプロセッサ３０１−１、３０１−３、および３０１−４のリソースを開放する。これにより、情報処理装置１０３において処理が終了される。
【０３８４】
以上のように、情報処理装置１０１は、ネットワーク１０４に接続された他の情報処理装置１０２または１０３が有するチューナを供給し、他の情報処理装置１０２または１０３が有するチューナで受信されたデータを、ネットワーク１０４を介して、記録部２０１に記録したりすることができる。
【０３８５】
さらに、情報処理装置１０３で受信されていた放送信号を、情報処理装置１０３の信号処理量が増えたときに、同じリソースや機能を有する情報処理装置１０２で受信させるようにすることができる。したがって、情報処理装置１０３における信号処理の負荷を軽減させ、通信システムにおいて、パフォーマンス的に破綻することを抑制することができる。
【０３８６】
次に、図３５のフローチャートを参照して、図２０の情報処理装置１０３の信号受信処理を説明する。この信号受信処理は、図３０のステップＳ２５３において、サブプロセッサ３０１−１乃至３０１−４が所定の機能プログラムを実行することにより情報処理装置１０３において実行される処理である。
【０３８７】
情報処理装置１０３の各チューナは、ステップＳ３０１において、各デジタル放送信号を受信し、受信したデジタル放送信号のMPEGトランスポートストリームパケットを、ＤＣ３０２乃至３０４のいずれかを介して、デマルチプレクサ４１２に供給し、ステップＳ３０２に進む。
【０３８８】
具体的には、ステップＳ３０１において、ＣＳチューナ２２２は、ＣＳデジタル放送信号を受信し、受信したＣＳデジタル放送信号のMPEGトランスポートストリームパケットを、ＤＣ３０２を介して、デマルチプレクサ４１２−１に供給する。ＢＳチューナ２２３は、ＢＳデジタル放送信号を受信し、受信したＢＳデジタル放送信号のMPEGトランスポートストリームパケットを、ＤＣ３０３を介して、デマルチプレクサ４１２−２に供給する。地上波チューナ２２４は、地上波デジタル放送信号を受信し、受信した地上波デジタル放送信号のMPEGトランスポートストリームパケットを、ＤＣ３０４を介して、デマルチプレクサ４１２−３に供給する。
【０３８９】
ステップＳ３０２において、デマルチプレクサ４１２は、各チューナにより受信された各デジタル放送信号のMPEGトランスストリームパケットを入力し、入力したMPEGトランスストリームから、選択されたチャンネルだけのMPEGトランスストリーム（Partial TS）パケットに変換し、マルチプレクサ４１１に供給し、ステップＳ３０３に進む。
【０３９０】
具体的には、ステップＳ３０２において、デマルチプレクサ４１２−１は、ＣＳチューナ２２２により受信されたＣＳデジタル放送信号のMPEGトランスストリームパケットを、ＤＣ３０２を介して入力し、入力したMPEGトランスストリームパケットから、選択された第２のチャンネルだけのMPEGトランスストリーム（Partial TS）パケットに変換し、マルチプレクサ４１１に供給する。デマルチプレクサ４１２−２は、ＢＳチューナ２２３からのＢＳデジタル放送信号のMPEGトランスストリームパケットを、ＤＣ３０３を介して入力し、入力したMPEGトランスストリームパケットから、選択された第３のチャンネルだけのMPEGトランスストリーム（Partial TS）パケットに変換し、マルチプレクサ４１１に供給する。デマルチプレクサ４１２−３は、地上波チューナ２２４からの地上波デジタル放送信号のMPEGトランスストリームパケットを、ＤＣ３０４を介して入力し、入力したMPEGトランスストリームパケットから、選択された第４のチャンネルだけのMPEGトランスストリーム（Partial TS）パケットに変換し、マルチプレクサ４１１に供給する。
【０３９１】
デマルチプレクサ４１２−１乃至４１２−３からのMPEGトランスストリームパケットを入力すると、マルチプレクサ４１１は、ステップＳ３０３において、デマルチプレクサ４１２−１乃至４１２−３から入力したMPEGトランスストリームパケットを多重化し、多重化されたMPEGトランスストリームパケットを暗号化し、ステップＳ３０４に進む。なお、このとき、マルチプレクサ４１１は、図２２を参照して上述したように、受信されたチューナに応じた判別コードを付加してから、MPEGトランスポートストリームパケットを多重化する。
【０３９２】
ステップＳ３０４において、マルチプレクサ４１１は、暗号化されたMPEGトランスストリームパケットを、図２４を参照して上述したようにＩＰパケット化し、ネットワーク１０４を介して、情報処理装置１０１に送信し、ステップＳ３０５に進む。
【０３９３】
ステップＳ３０５において、各サブプロセッサ３０１−１乃至３０１−４で機能するマルチプレクサ４１１、およびデマルチプレクサ４１２−１乃至４１２−３は、停止が指示されたか否かを判定し、停止が指示されていないと判定した場合、ステップＳ３０１に戻り、それ以降の処理を繰り返す。
【０３９４】
一方、上述した図３１のステップＳ２５９において、機能プログラム実行部３８２により、サブプロセッサ３０１−１乃至３０１−４で実行されている機能プログラムの停止が指示されると、マルチプレクサ４１１、およびデマルチプレクサ４１２−１乃至４１２−３は、ステップＳ３０５において、停止が指示されたと判定し、信号受信処理を終了する。
【０３９５】
なお、図３１のステップＳ２５７において、機能プログラム実行部３８２により、サブプロセッサ３０１−３で実行されているＢＳデジタル放送受信用の機能プログラムの停止が指示された場合には、図３５のステップＳ３０１におけるＢＳチューナ２２３の処理、ステップＳ３０２におけるデマルチプレクサ４１２−２の処理は停止されるので、マルチプレクサ４１１は、ステップＳ３０３において、デマルチプレクサ４１２−１および４１２−３から入力したMPEGトランスストリームパケットのみを多重化する。
【０３９６】
以上のように、１つの情報処理装置内において、複数のチューナで受信された複数のチャンネルのデータを多重化する際に、そのチャンネルを受信するチューナを識別する判別コードを付加するようにしたので、受信側の情報処理装置１０１においては、複数のチャンネルを判別することができる。これにより、１つの情報処理装置内において複数のチューナで受信して多重化したデータを、ネットワークを介して送信しても、他の情報処理装置内で信号処理が可能となる。
【０３９７】
次に、図３６のフローチャートを参照して、図２０の情報処理装置１０２の信号受信処理を説明する。この信号受信処理は、図３１のステップＳ２３４において、サブプロセッサ２７１−１が所定の機能プログラムを実行することにより情報処理装置１０２において実行される処理である。
【０３９８】
情報処理装置１０２のＢＳチューナ２１３は、ステップＳ３２１において、ＢＳデジタル放送信号を受信し、受信したデジタル放送信号のMPEGトランスポートストリームパケットを、ＤＣ２７３を介して、デマルチプレクサ４２１に供給し、ステップＳ３２２に進む。
【０３９９】
ステップＳ３０２において、デマルチプレクサ４２１は、ＢＳチューナ２１３により受信されたＢＳデジタル放送信号のMPEGトランスストリームパケットを入力し、入力したMPEGトランスストリームパケットから、選択された第３のチャンネルだけのMPEGトランスストリーム（Partial TS）パケットに変換し、ステップＳ３２３に進む。
【０４００】
デマルチプレクサ４２１は、ステップＳ３２３において、MPEGトランスストリームパケットを暗号化し、図２４を参照して上述したようにＩＰパケット化し、ネットワーク１０４を介して情報処理装置１０１に送信し、ステップＳ３２４に進む。
【０４０１】
ステップＳ３２４において、サブプロセッサ２７１−１で機能するデマルチプレクサ４２１は、停止が指示されたか否かを判定し、停止が指示されていないと判定した場合、ステップＳ３２１に戻り、それ以降の処理を繰り返す。
【０４０２】
一方、上述した図３１のステップＳ２３６において、機能プログラム実行部３８２により、サブプロセッサ２７１−１で実行されている機能プログラムの停止が指示されると、デマルチプレクサ４２１は、ステップＳ３２４において、停止が指示されたと判定し、信号受信処理を終了する。
【０４０３】
次に、図３７のフローチャートを参照して、情報処理装置１０１の信号受信記録処理を説明する。この信号受信記録処理は、図３０のステップＳ２０６において、サブプロセッサ２５１−１乃至２５１−５が所定の機能プログラムを実行することにより情報処理装置１０１において実行される処理である。
【０４０４】
まず、図３０のステップＳ２５３において、情報処理装置１０３のサブプロセッサ３０１−１乃至３０１−４が所定の機能プログラムを実行することにより、図３３の通信システムが実現され、図３５のステップＳ３０４において、情報処理装置１０３により、暗号化されたMPEGトランスストリームパケットが送信されてくる。
【０４０５】
情報処理装置１０１の復号部４０３は、ステップＳ３５１において、情報処理装置１０３から送信されてくるMPEGトランスストリームパケットを、ネットワーク１０４を介して受信し、暗号を解除し、デマルチプレクサ４０１−１乃至４０１−３に供給する。
【０４０６】
デマルチプレクサ４０１の送信元選別部５１１は、MPEGトランスストリームパケットに含まれる判別コードに基づいて、復号部４０３から供給されるMPEGトランスストリームパケットのチャンネル（すなわち、そのパケットが受信されたチューナ）を判別し、その判別結果に基づいて、所定のチャンネルのパケットのみを選別する。具体的には、デマルチプレクサ４０１−１の送信元選別部５１１は、ＣＳチューナ２２２で受信されたＣＳデジタル放送の第２のチャンネルのパケットを選別する。デマルチプレクサ４０１−２の送信元選別部５１１は、ＢＳチューナ２２３で受信されたＢＳデジタル放送の第３のチャンネルのパケットを選別する。デマルチプレクサ４０１−３の送信元選別部５１１は、地上波チューナ２２４で受信された地上波デジタル放送の第４のチャンネルのパケットを選別する。
【０４０７】
そして、送信元選別部５１１は、選別したパケットを、ＴＳ付加部５１２−１に供給し、ステップＳ３５３に進む。なお、いまの場合、情報処理装置１０２からのパケットが受信されていないので、ＴＳ付加部５１２−２には、パケットは供給されない。
【０４０８】
ステップＳ３５３において、ＴＳ付加部５１２は、送信元選別部５１１からのパケットに、自走カウンタ５１３から供給されるカウンタ値を、タイムスタンプとして付加し、書き込み部５１４に供給し、書き込み部５１４は、ＴＳ付加部５１２によりタイムスタンプが付加されたパケットを、リングバッファ５１５に順番に書き込み、ステップＳ３５４に進む。
【０４０９】
ステップＳ３５４において、書き込み部５１４は、リングバッファ５１５に書き込むパケットから、図２７を参照して上述したＰＣＲパケットを検出する。すなわち、書き込み部５１４は、リングバッファ５１５に書き込んだパケットがＰＣＲパケットであった場合、そのＰＣＲパケットのＰＣＲ値と、ＰＣＲパケットが書き込まれたリングバッファ５１５のアドレスを、メモリ５１６に書き込み、ステップＳ３５５に進む。
【０４１０】
読み出し制御部５１７は、ステップＳ３５５において、両方のメモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されているか否かを判定する。いまの場合、情報処理装置１０２からのパケットが受信されていないので、メモリ５１６−２には、ＰＣＲパケットの情報が蓄積されていない。したがって、読み出し制御部５１７は、ステップＳ３５５において、両方のメモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されていないと判定し、ステップＳ３５７に進む。
【０４１１】
読み出し制御部５１７は、ステップＳ３５７において、通常の処理を行う。すなわち、読み出し制御部５１７は、ステップＳ３５７において、自走カウンタ５１３から供給されるカウンタ値に基づいて、リードポインタＲＰ１が指し示す、一定時間蓄積されていたパケットを、リングバッファ５１５−１から読み出し、端子５１８ａを選択しているスイッチ５１８を介して、記録制御部５０１に供給し、ステップＳ３５８に進む。
【０４１２】
記録制御部５０１は、ステップＳ３５８において、デマルチプレクサ４０１から供給されたパケットを、ＤＣ１３３−１を制御し、記録部２０１に記録させ、ステップＳ３５９に進む。
【０４１３】
なお、図３７の例においては、説明の便宜上、図示されていないが、情報処理装置１０１においては、ステップＳ３５１乃至Ｓ３５７と並行して、ＣＳチューナ２０２は、ＣＳデジタル放送信号を受信し、受信したデジタル放送信号のMPEGトランスポートストリームパケットを、ＤＣ２５２を介して、デマルチプレクサ４０２に供給し、デマルチプレクサ４０２は、ＣＳチューナ２０２から入力したMPEGトランスストリームパケットから、選択されたチャンネル（第１のチャンネル）だけのMPEGトランスストリーム（Partial TS）パケットに変換し、ＤＣ１３３−１に供給している。
【０４１４】
したがって、実際には、ＤＣ１３３−１は、ステップＳ３５８において、記録制御部５０１およびデマルチプレクサ４０２からのMPEGトランスストリームを、記録部２０１に記録する。
【０４１５】
ステップＳ３５９において、送信元選別部５１１は、停止が指示されたか否かを判定する。上述した図３２のステップＳ２１５において、機能プログラム実行部３６２により、サブプロセッサ２５１−１乃至２５１−５で実行されている機能プログラムの停止が指示されると、送信元選別部５１１は、ステップＳ３５９において、停止が指示されたと判定し、信号受信記録処理を終了する。
【０４１６】
一方、ステップＳ３５９において、停止が指示されていないと判定した場合、送信元選別部５１１は、ステップＳ３５１に戻り、それ以降の処理を繰り返す。
【０４１７】
そして、上述した処理が繰り返されている場合に、図３１のステップＳ２３４において、情報処理装置１０２のサブプロセッサ２７１−１が所定の機能プログラムを実行することにより、図２０の通信システムが実現され、図３５のステップＳ３０４において情報処理装置１０３により送信されてくるMPEGトランスストリームパケットとともに、図３６のステップＳ３２３において情報処理装置１０２によりMPEGトランスストリームパケットが送信されてくる。
【０４１８】
情報処理装置１０１の復号部４０３は、ステップＳ３５１において、情報処理装置１０２および１０３から送信されてくるMPEGトランスストリームパケットを、ネットワーク１０４を介して受信し、暗号を解除し、デマルチプレクサ４０１−１乃至４０１−３に供給する。
【０４１９】
なお、以降のデマルチプレクサ４０１−１および４０１−３の処理は、上述した処理と同様であるため、以下、デマルチプレクサ４０１−２について説明する。
【０４２０】
デマルチプレクサ４０１−２の送信元選別部５１１は、MPEGトランスストリームパケットに含まれる判別コードに基づいて、復号部４０３から供給されるMPEGトランスストリームパケットのチャンネル（すなわち、そのパケットが受信されたチューナ）を判別し、その判別結果に基づいて、ＢＳチューナ２１３およびＢＳチューナ２２３で受信されたＢＳデジタル放送の第３のチャンネルのパケットを選別する。
【０４２１】
また、このとき、送信元選別部５１１は、図２５を参照して上述したＩＰヘッダに基づいて、パケットを送信してきた情報処理装置を判別し、情報処理装置１０３からのパケットを、ＴＳ付加部５１２−１に供給し、情報処理装置１０２からのパケットを、ＴＳ付加部５１２−２に供給し、ステップＳ３５３に進む。
【０４２２】
ステップＳ３５３において、ＴＳ付加部５１２は、送信元選別部５１１からのパケットに、自走カウンタ５１３から供給されるカウンタ値を、タイムスタンプとして付加し、書き込み部５１４に供給し、書き込み部５１４は、ＴＳ付加部５１２によりタイムスタンプが付加されたパケットを、リングバッファ５１５に順番に書き込み、ステップＳ３５４に進む。
【０４２３】
ステップＳ３５４において、書き込み部５１４は、リングバッファ５１５に書き込むパケットから、ＰＣＲパケットを検出する。すなわち、書き込み部５１４は、リングバッファ５１５に書き込んだパケットがＰＣＲパケットであった場合、そのＰＣＲパケットのＰＣＲ値と、ＰＣＲパケットが書き込まれたリングバッファ５１５のアドレスを、メモリ５１６に書き込み、ステップＳ３５５に進む。
【０４２４】
読み出し制御部５１７は、ステップＳ３５５において、両方のメモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されているか否かを判定する。いまの場合、情報処理装置１０２および１０３からのパケットが受信されているので、メモリ５１６−１および５１６−２には、ＰＣＲパケットの情報が蓄積されている。したがって、読み出し制御部５１７は、ステップＳ３５５において、両方のメモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されていると判定し、ステップＳ３５６に進み、パケット切り替え処理を実行する。
【０４２５】
ステップＳ３５６のパケット切り替え処理を、図３８のフローチャートを参照して説明する。
【０４２６】
両方のメモリ５１６−１および５１６−２には、図２８を参照して上述したように、それぞれリングバッファ５１５−１および５１５−２に蓄積されているＰＣＲパケットのＰＣＲ値と、ＰＣＲパケットが書き込まれたリングバッファ５１５−１および５１５−２のアドレスが蓄積されている。
【０４２７】
読み出し制御部５１７は、図３８のステップＳ３８１において、メモリ５１６−１および５１６−２内で互いに同じＰＣＲ値のＰＣＲパケットを求め、ステップＳ３８２に進む。すなわち、ステップＳ３８１においては、同じＰＣＲ値が求められ、そのＰＣＲ値に対応するＰＣＲパケットが書き込まれたリングバッファ５１５−１および５１５−２のアドレスが求められることにより、リングバッファ５１５−１および５１５−２において同じＰＣＲ値を有するＰＣＲパケットが求められる。
【０４２８】
読み出し制御部５１７は、自走カウンタ５１３から供給されるカウンタ値に基づいて、求められたＰＣＲパケットを読み出すときである（すなわち、リードポインタＲＰ１がＰＣＲパケット指し示す）か否かを判定し、求められたＰＣＲパケットを読み出すときになるまで、ステップＳ３８３に進み、リードポインタＲＰ１が指し示す、一定時間蓄積されていたパケットを、図３７のステップＳ３５７において元々パケットを読み出していたリングバッファ５１５−１から読み出し、端子５１８ａを選択しているスイッチ５１８を介して、記録制御部５０１に供給し、ステップＳ３８２に戻り、以降の処理を繰り返す。
【０４２９】
読み出し制御部５１７は、ステップＳ３８２において、自走カウンタ５１３から供給されるカウンタ値に基づいて、リードポインタＲＰ１が指し示す、求められたＰＣＲパケットを読み出すときになったと判定した場合、ステップＳ３８４に進み、リングバッファ５１５−２において求められた同じＰＣＲ値のＰＣＲパケットに、リードポインタＲＰ２を合わせ、ステップＳ３８５に進む。
【０４３０】
読み出し制御部５１７は、ステップＳ３８５において、スイッチ５１８に端子５１８ｂを選択するように切り替えさせ、リングバッファ５１５−２から、リードポインタＲＰ２が指し示すＰＣＲパケットを読み出し、スイッチ５１８を介して、記録制御部５０１に供給し、ステップＳ３８６に進む。
【０４３１】
読み出し制御部５１７は、ステップＳ３８６において、パケットの切り替え完了を、動作状態管理部３６１に通知し、パケット切り替え処理を終了し、図３７のステップＳ３５６に戻り、ステップＳ３５８に進む。
【０４３２】
なお、図３７のステップＳ３５８以降の処理は、上述した処理と同様の処理であるため、その説明は繰り返しになるので省略するが、図３８のステップＳ３８６により、パケットの切り替え完了が通知されることに対応して、図３２のステップＳ２１１において、そのパケットの切り替え完了がリソース取得部３５１により受け取られ、情報処理装置１０３のサブプロセッサ３０１−３の機能プログラムが停止されるので、通信システムにおいては、図３４に示される信号処理が実行されるようになる。
【０４３３】
この場合、図３７のステップＳ３５１において、情報処理装置１０３からのＢＳデジタル放送の第３チャンネルのパケットが受信されないので、メモリ５１６−１には、ＰＣＲパケットの情報が蓄積されない。したがって、読み出し制御部５１７は、ステップＳ３５５において、両方のメモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されていないと判定し、ステップＳ３５７に進み、自走カウンタ５１３から供給されるカウンタ値に基づいて、一定時間蓄積されていたパケットを、リングバッファ５１５−２から読み出し、端子５１８ｂを選択しているスイッチ５１８を介して、記録制御部５０１に供給するようになる。
【０４３４】
以上のように、情報処理装置１０２および１０３から同じチャンネルのコンテンツを受信し、同じＰＣＲ値を有するＰＣＲパケットが存在し得る一定時間リングバッファにパケットを蓄積させ、同じＰＣＲ値を有するＰＣＲパケットに基づいて、情報処理装置１０３のパケットから、情報処理装置１０２のパケットを選択するようにしたので、パケット切り替え処理を、シームレスに切り替えることができる。
【０４３５】
次に、図３９を参照して、図３０乃至図３２の処理におけるネットワーク１０４上のMPEGトランスストリームパケットの流れを説明する。
【０４３６】
図３９の例において、横軸は時間の経過を示しており、ｔ１は、図３０のステップＳ２５３において、情報処理装置１０３により機能プログラムが実行された時刻に遅延を足したタイミング（時刻）を表し、ｔ２は、図３１のステップＳ２３４において、情報処理装置１０２により機能プログラムが実行された時刻に遅延を足したタイミング（時刻）を表し、ｔ３は、図３２のステップＳ２１１（すなわち、図３８のステップＳ３８５）において、情報処理装置１０１によりパケットが切り替えられた時刻に遅延を足したタイミング（時刻）を表し、ｔ４は、図３２のステップＳ２５７において、情報処理装置１０３によりＢＳデジタル放送受信用の機能プログラムが停止された時刻に遅延を足したタイミングを表し、ｔ５は、図３２の処理が終了される時刻に遅延を足したタイミングを示している。
【０４３７】
また、上から順に、情報処理装置１０３から情報処理装置１０１へ転送されるＢＳデジタル放送のMPEGトランスストリームパケット（ＢＳデジタルデータ）、情報処理装置１０３から情報処理装置１０１へ転送されるＣＳデジタル放送のMPEGトランスストリームパケット（ＣＳデジタルデータ）、情報処理装置１０３から情報処理装置１０１へ転送される地上波デジタル放送のMPEGトランスストリームパケット（地上波デジタルデータ）、情報処理装置１０２から情報処理装置１０１へ転送されるＢＳデジタル放送のMPEGトランスストリームパケット（ＢＳデジタルデータ）、および情報処理装置１０１内で処理されるMPEGトランスストリームパケット（MPEGデータ）を表している。
【０４３８】
すなわち、タイミングｔ１において、情報処理装置１０３から情報処理装置１０１へ転送されるＣＳデジタルデータおよび地上波デジタルデータは、ネットワーク１０４上を流れ始め、図３２の処理が終了されるタイミングｔ５に停止される。これにより、タイミングｔ１乃至ｔ５において、情報処理装置１０１内においては、情報処理装置１０３から情報処理装置１０１へ転送されるＣＳデジタルデータおよび地上波デジタルデータが処理される。
【０４３９】
また、タイミングｔ１において、情報処理装置１０３から情報処理装置１０１へ転送されるＢＳデジタルデータは、ネットワーク１０４上を流れ始め、情報処理装置１０３においてＢＳデジタル放送受信用の機能プログラムが停止されるタイミングｔ４に停止される。一方、タイミングｔ２において、情報処理装置１０３から情報処理装置１０１へ転送されるＢＳデジタルデータは、ネットワーク１０４上を流れ始め、図３２の処理が終了されるタイミングｔ５に停止される。
【０４４０】
したがって、情報処理装置１０１内においては、パケットが切り替えられるタイミングｔ３においては、情報処理装置１０１には、情報処理装置１０３および１０２からの両方のＢＳデジタルデータが重複して到着されるので、タイミングｔ３で、図３８を参照して上述したパケット切り替え処理が実行されることにより、情報処理装置１０１において処理されるＢＳデジタルデータは、図３を参照して上述した従来の例のように途切れることなく、情報処理装置１０３から情報処理装置１０１へ転送されるＢＳデジタルデータから、情報処理装置１０２から情報処理装置１０１へ転送されるＢＳデジタルデータにシームレスに切り替えることが可能である。
【０４４１】
これにより、情報処理装置１０１においては、映像や音声を途切れることなく、記録部２０１に記録するなどの処理を行うことが可能である。
【０４４２】
なお、上記説明においては、情報処理装置１０１に受信した放送信号のデータを記録する場合を説明したが、次に、応用例として、情報処理装置１０１に受信した放送信号のデータを記録と同時にモニタなどに表示する場合を説明する。なお、図４０の情報処理装置１０１においても、図１７の情報処理装置１０１と、基本的に同様な処理が実行されるため、その詳細な説明は適宜省略する。
【０４４３】
図４０は、情報処理装置１０１のハードウェア構成を示すブロック図である。なお、図４０の例においては、モニタ６０１−１および６０１−２が追加された点、および、情報処理コントローラ１１１−１に、ビジュアライザ６１１−１および６１１−２が追加された点以外は、基本的に、図１５の情報処理装置１０１と同様のハードウェア構成を有するものであり、その説明は繰り返しになるので、適宜省略する。
【０４４４】
すなわち、図４０の情報処理コントローラ１１１−１は、メインプロセッサ１３１−１、DMAC１３３−１、ＤＣ１３４−１、キー管理テーブル記憶部１３５−１、バス１３６−１、サブプロセッサ２５１−１乃至２５１−５、ＤＣ２５２、並びにビジュアライザ６１１−１および６１１−２により密結合に構成される。
【０４４５】
ビジュアライザ６１１−１および６１１−２は、その詳細な図示は省略するが、図１５の情報処理コントローラ１１１−１を構成するメインプロセッサ１３１−１、DMAC１３３−１、ＤＣ１３４−１、キー管理テーブル記憶部１３５−１、バス１３６−１、サブプロセッサ２５１−１乃至２５１−５、およびＤＣ２５２の他に、ピクセル・エンジン、画像用キャッシュ、およびブラウン管コントローラ(CRTC（Cathode Ray Tube Controller）)を有して構成され、それぞれ接続される、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などからなるモニタ６０１−１および６０１−２に、映像を表示するためのフォーマット変換処理や、サラウンド処理などを実行する。
【０４４６】
なお、以下、ビジュアライザ６１１−１および６１１−２、並びに、モニタ６０１−１および６０１−２を個々に区別する必要がない場合、単に、ビジュアライザ６１１、およびモニタ６０１と称する。
【０４４７】
図４１は、図４０の情報処理装置１０１により実現される機能について説明する図である。すなわち、図４１は、図２０の通信システムにおける情報処理装置１０１の他の例であり、情報処理装置１０２および情報処理装置１０３の詳細な構成は、図２０の通信システムと同様であるため省略する。
【０４４８】
図４１の例においては、情報処理装置１０１において、ＣＳデジタル放送の第２のチャンネルのコンテンツ、およびＢＳデジタル放送のコンテンツの受信、記録および表示が要求され、並びに、ＣＳデジタル放送の第１のチャンネルのコンテンツ、および地上波デジタル放送のコンテンツの受信および記録が要求され、情報処理装置１０１内またはネットワークを介しての、各デジタル放送のコンテンツの受信、記録および表示の要求に応じた処理の実行中に、ＢＳデジタル放送のコンテンツを受信する情報処理装置を切り替える場合が示されている。
【０４４９】
具体的には、まず、各デジタル放送のコンテンツの受信、記録および表示の要求に応じて、情報処理装置１０３において、ＣＳデジタル放送の第２のチャンネルのコンテンツ、ＢＳデジタル放送の第３のチャンネルのコンテンツ、および地上波デジタル放送の第４のチャンネルのコンテンツが受信され、受信されたコンテンツが、ネットワーク１０４を介して、情報処理装置１０１に送信されており、情報処理装置１０１において、ＣＳデジタル放送の第１のチャンネルのコンテンツが受信されるとともに、ネットワーク１０４を介して、ＣＳデジタル放送の第２のチャンネルのコンテンツ、ＢＳデジタル放送の第３のチャンネルのコンテンツ、および地上波デジタル放送の第４のチャンネルのコンテンツが受信され、それらのコンテンツ（４つ分のチャンネルのコンテンツ）が同時に、記録部２０１に記録されたり、もしくは、モニタ６０１に表示する処理が実行されている。
【０４５０】
この処理の実行中に、情報処理装置１０３においてゲームなどのイベントの発生により、サブプロセッサのリソースの開放が必要となる。これにより、図４０の通信システムにおいては、ＢＳデジタル放送の第３チャンネルコンテンツの受信を、情報処理装置１０３から、情報処理装置１０２に切り替える処理が実行される。
【０４５１】
情報処理装置１０１の情報処理コントローラ１１１−１は、デマルチプレクサ４０１−１乃至４０１−３、デマルチプレクサ４０２、復号部４０３、ＤＣ１３３−１、ＤＣ２５２、デコード部６２１−１および６２１−２、並びに、フォーマット変換部６２２−１および６２２−２で構成される。デマルチプレクサ４０１−１乃至４０１−３、デマルチプレクサ４０２、復号部４０３、並びに、デコード部６２１−１および６２１−２は、それぞれ、情報処理装置１０１のサブプロセッサ２５１−１乃至２５１−５により、所定の機能プログラムが実行されることで実現される。また、フォーマット変換部６２２−１および６２２−２は、情報処理装置１０１のビジュアライザ６１１−１および６１１−２により、所定の機能プログラムが実行されることで実現される。
【０４５２】
デマルチプレクサ４０１−１は、ネットワーク１０４を介して、受信され、復号部４０３により暗号が解除されたMPEG(Moving Picture Experts Group)トランスストリームパケット（以降、単にパケットとも称する）から、情報処理装置１０２および１０３の少なくとも一方からのＣＳデジタル放送の第２のチャンネルのコンテンツのみのパケットを選別し、選別したパケットのMPEGトランスストリームを、デコード部６２１−１に供給する。なお、デマルチプレクサ４０１−１は、情報処理装置１０２および１０３からのパケットを選別した場合、元々デコード部６２１−１に供給していた方のパケットから、もう一方のパケットに切り替えて、選別したパケットのMPEGトランスストリームを、デコード部６２１−１に供給する。
【０４５３】
デマルチプレクサ４０１−２は、ネットワーク１０４を介して、受信され、復号部４０３により暗号が解除されたMPEGトランスストリームパケット（以降、単にパケットとも称する）から、情報処理装置１０２および１０３の少なくとも一方からのＢＳデジタル放送の第３のチャンネルのコンテンツのみのパケットを選別し、選別したパケットのMPEGトランスストリームを、デコード部６２１−１に供給する。なお、デマルチプレクサ４０１−２は、情報処理装置１０２および１０３からのパケットを選別した場合、元々デコード部６２１−１に供給していた方のパケットから、もう一方のパケットに切り替えて、選別したパケットのMPEGトランスストリームを、デコード部６２１−２に供給する。
【０４５４】
デコード部６２１−１は、デマルチプレクサ４０１−１からのパケットをデコードし、デコードされたデータを、フォーマット変換部６２２−１に供給する。デコード部６２１−２は、デマルチプレクサ４０１−２からのパケットをデコードし、デコードされたデータを、フォーマット変換部６２２−２に供給する。
【０４５５】
フォーマット変換部６２２−１は、デコード部６２１−１からのデータに、例えば、接続されるモニタ６０１−１に応じたフォーマット変換（例えば、ＩＰ変換や、ＳＤからＨＤ（またはその逆）変換）処理を行い、フォーマット変換されたデータに対応する映像を、モニタ６０１−１に表示させる。
【０４５６】
フォーマット変換部６２２−２は、フォーマット変換部６２２−１と同様に、デコード部６２１−２からのデータに、例えば、接続されるモニタ６０１−２に応じたフォーマット変換処理を行い、フォーマット変換されたデータに対応する映像を、モニタ６０１−２に表示させる。
【０４５７】
以下、デコード部６２１−１および６２１−２、並びに、フォーマット変換部６２２−１および６２２−２を個々に区別する必要がない場合、単に、デコード部６２１、およびフォーマット変換部６２２と称する。
【０４５８】
なお、図４１のビジュアライザ６１１においては、フォーマット変換部６２２のほかに、音声データのサラウンド処理を実行する機能ブロックを実行させるようにすることも可能である。
【０４５９】
図４２は、図４１のサブプロセッサ２５１−２において、実現可能な機能を説明するための機能ブロック図である。すなわち、図４２に示される機能ブロックは、図４１のサブプロセッサ２５１−２により所定の機能プログラムが実行されることにより実現される。なお、図４２の機能ブロックは、記録制御部５０１がデコード部６２１−２に代わった点が異なるだけであり、その詳細な説明は繰り返しになるので省略する。また、図４１のサブプロセッサ２５１−１も同様の機能ブロックを実行する。
【０４６０】
すなわち、デマルチプレクサ４０１−２は、送信元選別部５１１、ＴＳ付加部５１２−１および５１２−２、自走カウンタ５１３、書き込み部５１４−１および５１４−２、リングバッファ５１５−１および５１５−２、メモリ５１６−１および５１６−２、読み出し制御部５１７、スイッチ５１８により構成され、復号部４０３から供給されるMPEGトランスストリームパケットから情報処理装置１０２および１０３（ＢＳチューナ２１３およびＢＳチューナ２２３）の少なくとも一方で受信されたＢＳデジタル放送の第３のチャンネルのコンテンツのMPEGトランスストリーム（Partial TS）を選別し、複数のMPEGトランスストリームパケットを選別した場合、そのうちの一方を選択し、選択されたMPEGトランスストリームパケットを、デコード部６２１−２に供給する処理を行う。
【０４６１】
次に、図４３のフローチャートを参照して、図４１の情報処理装置１０１の信号受信表示処理を説明する。すなわち、この信号受信表示処理は、図３０のステップＳ２０６において、サブプロセッサ２５１−１乃至２５１−５、並びにビジュアライザ６１１−１および６１１−２が所定の機能プログラムを実行することにより情報処理装置１０１において実行される処理である。
【０４６２】
なお、図４３のステップＳ４０１乃至ステップＳ４０７、およびステップＳ４１１は、図３７のステップＳ３５１乃至Ｓ３５７と同様の処理を行うため、その詳細な説明は繰り返しになるので適宜省略する。
【０４６３】
また、図４１の信号処理を実行する通信システムの処理は、図３０乃至図３２を参照して上述した処理と同様の処理を行うため、その説明を省略し、以下、図３０乃至図３２、図３５および図３６を参照して上述した処理は、図４１の信号処理を実行する通信システムの処理としても引用する。
【０４６４】
情報処理装置１０１の復号部４０３は、ステップＳ４０１において、情報処理装置１０２および１０３の少なくとも一方から送信されてくるMPEGトランスストリームパケットを、ネットワーク１０４を介して受信し、暗号を解除し、デマルチプレクサ４０１−１乃至４０１−３に供給し、ステップＳ４０２に進む。
【０４６５】
デマルチプレクサ４０１の送信元選別部５１１は、ステップＳ４０２において、MPEGトランスストリームパケットに含まれる判別コードに基づいて、復号部４０３から供給されるMPEGトランスストリームパケットのチャンネル（すなわち、そのパケットが受信されたチューナ）を判別し、その判別結果に基づいて、所定のチャンネルのパケットのみを選択し、選択したパケットを、ＴＳ付加部５１２に供給し、ステップＳ４０３に進む。
【０４６６】
ステップＳ４０３において、ＴＳ付加部５１２は、送信元選別部５１１からのパケットに、自走カウンタ５１３から供給されるカウンタ値を、タイムスタンプとして付加し、書き込み部５１４に供給し、書き込み部５１４は、ＴＳ付加部５１２によりタイムスタンプが付加されたパケットを、リングバッファ５１５に順番に書き込み、ステップＳ４０４に進む。
【０４６７】
ステップＳ４０４において、書き込み部５１４は、リングバッファ５１５に書き込むパケットから、図２７を参照して上述したＰＣＲパケットを検出する。すなわち、書き込み部５１４は、リングバッファ５１５に書き込んだパケットがＰＣＲパケットであった場合、そのＰＣＲパケットのＰＣＲ値と、ＰＣＲパケットが書き込まれたリングバッファ５１５のアドレスを、メモリ５１６に書き込み、ステップＳ４０５に進む。
【０４６８】
読み出し制御部５１７は、ステップＳ３５５において、両方のメモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されているか否かを判定し、両方のメモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されていると判定した場合、ステップＳ４０６に進み、パケット切り替え処理を実行する。
【０４６９】
なお、このパケット切り替え処理は、図３８を参照して上述したパケット切り替え処理と同様の処理を行うため、その説明は繰り返しになるので省略するが、このパケット切り替え処理により、読み出し制御部５１７は、両方のメモリ５１６−１および５１６−２に蓄積されるＰＣＲ値に基づいて、ＰＣＲ値が同じＰＣＲパケットを検出し、ＰＣＲパケットに基づいて、スイッチ５１８を制御し、パケットを読み出すリングバッファを、リングバッファ５１５−１から、リングバッファ５１５−２に切り替える。
【０４７０】
すなわち、読み出し制御部５１７は、リングバッファ５１５−２から、リードポインタＲＰ２が指し示すＰＣＲパケットを読み出し、スイッチ５１８を介して、デコード部６２１に供給し、ステップＳ４０８に進む。
【０４７１】
一方、読み出し制御部５１７は、ステップＳ４０５において、両方のメモリ５１６−１および５１６−２にＰＣＲパケットの情報が蓄積されていないと判定した場合、ステップＳ４０７に進む。
【０４７２】
読み出し制御部５１７は、ステップＳ４０７において、自走カウンタ５１３から供給されるカウンタ値に基づいて、一定時間蓄積されていたパケットを、リングバッファ５１５−１から読み出し、端子５１８ａを選択しているスイッチ５１８を介して、デコード部６２１に供給し、ステップＳ４０８に進む。
【０４７３】
デコード部６２１は、ステップＳ４０８において、スイッチ５１８からのパケットをデコードし、デコードされたデータを、フォーマット変換部６２２に供給し、ステップＳ４０９に進む。フォーマット変換部６２２は、ステップＳ４０９において、デコード部６２１からのデータに、例えば、接続されるモニタ６０１に応じたフォーマット変換（例えば、ＩＰ変換や、ＳＤからＨＤ（またはその逆）変換）処理を行い、ステップＳ４１０に進み、フォーマット変換されたデータに対応する映像を、モニタ６０１に表示させ、ステップＳ４１１に進む。
【０４７４】
ステップＳ４１１において、送信元選別部５１１は、停止が指示されたか否かを判定する。上述した図３２のステップＳ２１５において、機能プログラム実行部３６２により、サブプロセッサ２５１−１乃至２５１−５、並びに、ビジュアライザ６１１−１および６１１−２で実行されている機能プログラムの停止が指示されると、送信元選別部５１１は、ステップＳ４１１において、停止が指示されたと判定し、信号受信表示処理を終了する。
【０４７５】
一方、ステップＳ４１１において、停止が指示されていないと判定した場合、送信元選別部５１１は、ステップＳ４０１に戻り、それ以降の処理を繰り返す。
【０４７６】
以上のように、ネットワークを介して情報処理装置で放送信号を受信し、ネットワークを介して他の情報処理装置へリアルタイム伝送する場合、放送信号を受信する情報処理装置の信号処理量に応じて、放送信号を受信する情報処理装置を、同じ機能を有する情報処理装置にシームレスに切り替えることができる。
【０４７７】
また、ネットワークを介してデータを受信する情報処理装置側においては、受信パケットをシームレスに切り替えることにより、映像や音声を途切れることなく、外部の記録媒体に記録したり、または、視聴することができる。
【０４７８】
さらに、送信元の情報処理装置内でプロセッサの負荷率が高くなった場合に、送信元の情報処理装置ごと切り替えることができるので、送信元のプロセッサの負荷率を低減させることができる。これにより、送信元の情報処理装置内で、他の信号処理をさせることができる。すなわち、移管が可能な処理は、他の情報処理装置に移すことができるので、プロセッサの処理量をオーバーすることなく、通信システムにおいて、パフォーマンス的に破綻することを抑制することができる。
【０４７９】
また、情報処理装置内にチューナがなくても、ネットワーク経由でチューナを共有することが可能であり、一度に複数のチャンネルを視聴または記録することができる。
【０４８０】
なお、上記説明においては、ネットワーク１０４をセルネットワークで構成するように説明したが、用いられるネットワーク１０４は、セルネットワークに限定されない。
【０４８１】
また、上記説明においては、デジタル放送信号を受信する場合について説明したが、切り替え処理の方法は、デジタル放送信号に限らず、他のストリーミングデータを伝送する通信システムにも適用される。
【０４８２】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０４８３】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図４に示されるように、磁気ディスク１５１（フレキシブルディスクを含む）、光ディスク１５２（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク１５３（MD(Mini-Disc)（商標）を含む）、もしくは半導体メモリ１５４などのリムーバブル記録媒体、または、プログラムが一時的もしくは永続的に格納される記録部１１３−１または１１３−２などにより構成される。すなわち、このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０４８４】
また、プログラムは、上述したようなリムーバブル記録媒体から情報処理装置１０１にインストールされる他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、情報処理装置１０１に無線で転送したり、 ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、情報処理装置１０１に有線で転送し、情報処理装置１０１においては、そのようにして転送されてくるプログラムを、通信部１１８で受信し、内蔵する記録部１１３−１または１１３−２にインストールすることができる。
【０４８５】
なお、本明細書において、フローチャートに示されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０４８６】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０４８７】
【図１】従来の通信システムの構成例を示す図である。
【図２】従来の通信システムの処理を説明するフローチャートである。
【図３】従来の通信システムのデータの流れを説明する図である。
【図４】本発明の通信システムの構成例を示す図である。
【図５】メインメモリを説明する図である。
【図６】サブプロセッサのローカルストレージを説明する図である。
【図７】キー管理テーブルを説明する図である。
【図８】ソフトウェアセルの構成例を示す図である。
【図９】図８のソフトウェアセルのデータ領域の構成例を示す図である。
【図１０】図１の情報処理装置のソフトウェアの構成例を示す図である。
【図１１】仮想的な１台の情報処理装置を説明する図である。
【図１２】仮想的な１台の情報処理装置の構成例を示す図である。
【図１３】図１２の仮想的な１台の情報処理装置の処理を説明するフローチャートである。
【図１４】本発明の通信システムの構成例を示す図である。
【図１５】図１４の情報処理コントローラの構成例を示すブロック図である。
【図１６】図１４の情報処理コントローラの構成例を示すブロック図である。
【図１７】図１４の情報処理コントローラのさらに他の構成例を示すブロック図である。
【図１８】図１５のメインプロセッサの機能構成例を示すブロック図である。
【図１９】図１６のメインプロセッサの機能構成例を示すブロック図である。
【図２０】図１４の通信システムで実現される機能を説明する図である。
【図２１】図２０のデマルチプレクサ４１２の信号処理の例を説明する図である。
【図２２】図２０のマルチプレクサ４１１の信号処理の例を説明する図である。
【図２３】図２０のサブプロセッサの機能構成例を示すブロック図である。
【図２４】ＩＰパケットの構成例を示す図である。
【図２５】ＩＰヘッダの構成例を示す図である。
【図２６】図２３のリングバッファの構成例を示す図である。
【図２７】ＰＣＲパケットを説明する図である。
【図２８】図２３のメモリの構成例を示す図である。
【図２９】図２６のリングバッファのパケット蓄積時間を説明する図である。
【図３０】図２０の通信システムの信号処理を説明するフローチャートである。
【図３１】図２０の通信システムの信号処理を説明するフローチャートである。
【図３２】図２０の通信システムの信号処理を説明するフローチャートである。
【図３３】図３０乃至図３２の通信システムの信号処理を説明する図である。
【図３４】図３０乃至図３２の通信システムの信号処理を説明する図である。
【図３５】図２０の情報処理装置の信号受信処理の例を説明するフローチャートである。
【図３６】図２０の情報処理装置の信号受信処理の例を説明するフローチャートである。
【図３７】図２０の情報処理装置の信号受信記録処理の例を説明するフローチャートである。
【図３８】図２７のステップＳ３５６のパケット切り替え処理を説明するフローチャートである。
【図３９】図２０の通信システムのデータの流れを説明する図である。
【図４０】図１４の情報処理装置の他の構成例を示すブロック図である。
【図４１】図１４の情報処理装置で実現される機能を説明する図である。
【図４２】図４１のサブプロセッサの機能構成例を示すブロック図である。
【図４３】図４１の情報処理装置の信号受信表示処理の例を説明するフローチャートである。
【符号の説明】
【０４８８】
１０１乃至１０３  情報処理装置，１０４  ネットワーク，１１１−１乃至１１１−３  情報処理コントローラ，２５１−１乃至２５１−５，２７１−１乃至２７１−５，３０１−１乃至３０１−５  サブプロセッサ，３５１  リソース取得部，３５２  動作制御部，３６１  動作状態管理部，３６２  機能プログラム実行部，３８１  動作状態管理部，３８２  機能プログラム実行部，４０１−１乃至４０１−３，４０２  デマルチプレクサ，４０３  復号部，４１１  マルチプレクサ，４１２−１乃至４１２−３，４２１  デマルチプレクサ，５１１  送信元選別部，５１２−１および５１２−２  ＴＳ付加部，５１３  自走カウンタ，５１４−１および５１４−２  書き込み部，５１５−１および５１５−２  リングバッファ，５１６−１および５１６−２  メモリ，５１７  読み出し制御部，５１８  スイッチ
【図１】
2005340905.tif 000003
【図２】
2005340905.tif 000004
【図３】
2005340905.tif 000005
【図４】
2005340905.tif 000006
【図５】
2005340905.tif 000007
【図６】
2005340905.tif 000008
【図７】
2005340905.tif 000009
【図８】
2005340905.tif 000010
【図９】
2005340905.tif 000011
【図１０】
2005340905.tif 000012
【図１１】
2005340905.tif 000013
【図１２】
2005340905.tif 000014
【図１３】
2005340905.tif 000015
【図１４】
2005340905.tif 000016
【図１５】
2005340905.tif 000017
【図１６】
2005340905.tif 000018
【図１７】
2005340905.tif 000019
【図１８】
2005340905.tif 000020
【図１９】
2005340905.tif 000021
【図２０】
2005340905.tif 000022
【図２１】
2005340905.tif 000023
【図２２】
2005340905.tif 000024
【図２３】
2005340905.tif 000025
【図２４】
2005340905.tif 000026
【図２５】
2005340905.tif 000027
【図２６】
2005340905.tif 000028
【図２７】
2005340905.tif 000029
【図２８】
2005340905.tif 000030
【図２９】
2005340905.tif 000031
【図３０】
2005340905.tif 000032
【図３１】
2005340905.tif 000033
【図３２】
2005340905.tif 000034
【図３３】
2005340905.tif 000035
【図３４】
2005340905.tif 000036
【図３５】
2005340905.tif 000037
【図３６】
2005340905.tif 000038
【図３７】
2005340905.tif 000039
【図３８】
2005340905.tif 000040
【図３９】
2005340905.tif 000041
【図４０】
2005340905.tif 000042
【図４１】
2005340905.tif 000043
【図４２】
2005340905.tif 000044
【図４３】
2005340905.tif 000045