(57)【特許請求の範囲】
【請求項１】
複数の異なる方法で多重化されたストリームを受信する受信手段と、
前記受信手段により受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出する検出プログラムと、前記複数の異なる方法の多重化に対応した複数の処理プログラムとを記憶する第１の記憶手段と、
第２の記憶手段を含んで構成され、前記第２の記憶手段にロードされているプログラムに基づいて、前記受信手段により受信されたストリームを処理する処理手段と、
前記第１の記憶手段に記憶されている前記検出プログラムを前記第２の記憶手段にロードすることにより、前記処理手段に、前記検出プログラムに基づいて前記受信手段により受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出させ、前記処理手段での検出結果に基づいて、前記第１の記憶手段に記憶されている、前記受信手段により受信されたストリームに対応した前記処理プログラムを前記第２の記憶手段にロードする制御手段と
を備える情報処理装置。
【請求項２】
前記制御手段は、前記処理手段が前記第２の記憶手段にロードされている処理プログラムに基づいて、前記受信手段により受信されたストリームを正常に処理できていないことを検出すると、前記第１の記憶手段に記憶されている前記検出プログラムを前記第２の記憶手段にロードする
請求項１に記載の情報処理装置。
【請求項３】
複数の異なる方法で多重化されたストリームを受信手段によって受信する受信ステップと、
前記受信ステップにより受信されたストリームが前記複数の異なる方法の何れの方法で多重化された情報であるかを検出する検出プログラムと、前記複数の異なる方法の多重化に対応した複数の処理プログラムとを第１の記憶手段に記憶する第１の記憶ステップと、
第２の記憶手段を含んで構成され、前記第２の記憶手段にロードされているプログラムに基づいて、前記受信手段により受信されたストリームを処理手段によって処理する処理ステップと、
前記第１の記憶手段に記憶されている前記検出プログラムを前記第２の記憶手段にロードすることにより、前記処理手段に、前記検出プログラムに基づいて前記受信手段により受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出させ、前記処理手段での検出結果に基づいて、前記第１の記憶手段に記憶されている、前記受信手段により受信されたストリームに対応した前記処理プログラムを前記第２の記憶手段にロードする制御ステップと
を含む情報処理方法。
【請求項４】
複数の異なる方法で多重化されたストリームを受信手段によって受信する受信ステップと、
前記受信ステップにより受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出する検出プログラムと、前記複数の異なる方法の多重化に対応した複数の処理プログラムとを第１の記憶手段に記憶する第１の記憶ステップと、
第２の記憶手段を含んで構成され、前記第２の記憶手段にロードされているプログラムに基づいて、前記受信手段により受信されたストリームを処理手段によって処理する処理ステップと、
前記第１の記憶手段に記憶されている前記検出プログラムを前記第２の記憶手段にロードすることにより、前記処理手段に、前記検出プログラムに基づいて前記受信手段により受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出させ、前記処理手段での検出結果に基づいて、前記第１の記憶手段に記憶されている、前記受信手段により受信されたストリームに対応した前記処理プログラムを前記第２の記憶手段にロードする制御ステップと
を含む処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びに記録媒体に関し、特に、複数の方法で処理された情報を受信し、受信した情報に対応する処理を高速で実行できるようにした情報処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
ディジタル放送などの映像、音声およびデータなどが多重化された信号から必要な信号を分離して所望の情報を取り出す技術が普及しつつある。この技術は、例えば、ディジタル放送を受信するセットトップボックスに代表されるものであり、トランスポートストリームと呼ばれるディジタル放送の多重化信号を受信し、その各パケットのヘッダ部に記録されたデータの仕様を判断することにより、各パケットの出力先を振り分けることで、多重化信号を分離するものである。
【０００３】
多重化信号を分離する方法としては、高速のマイクロコンピュータを用いてソフトウェア的に処理する方法、専用の論理回路を用いてハードウェア的に処理する方法、および、論理回路の動作を決めるマイクロコードと呼ばれるプログラムにより論理回路を制御して処理する方法がある。
【０００４】
【発明が解決しようとする課題】
しかしながら、例えば米国では、MPEG(Moving Picture Expert Group)２の規格に沿った方式で、地上波のテレビジョン放送を行うことが検討されている。一方、MPEG方式とは異なる独自の方式で、衛星を利用したテレビジョン放送が既に実用化されている1台のセットトップボックスで、これら異なる方式の放送を受信できるようにするには、そのセットトップボックスに、それぞれの方式の放送信号を受信するための機能を付加する必要がある。
【０００５】
複数の多重化の方法により多重化された多重化信号を、高速に分離処理できるようにするには、対応可能な多重化の方法の数を制限するか、または、対応可能な多重化の方法の数を制限しない場合、ソフトウェアやハードウェアの規模を大きくしなければならないという課題があった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、複数の多重化の方法に対応し、高速で、多重化信号を分離することを可能にさせるものである。
【０００７】
【課題を解決するための手段】
本発明の情報処理装置は、複数の異なる方法で多重化されたストリームを受信する受信手段と、前記受信手段により受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出する検出プログラムと、前記複数の異なる方法の多重化に対応した複数の処理プログラムとを記憶する第１の記憶手段と、第２の記憶手段を含んで構成され、前記第２の記憶手段にロードされているプログラムに基づいて、前記受信手段により受信されたストリームを処理する処理手段と、前記第１の記憶手段に記憶されている前記検出プログラムを前記第２の記憶手段にロードすることにより、前記処理手段に、前記検出プログラムに基づいて前記受信手段により受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出させ、前記処理手段での検出結果に基づいて、前記第１の記憶手段に記憶されている、前記受信手段により受信されたストリームに対応した前記処理プログラムを前記第２の記憶手段にロードする制御手段とを備える。
【０００８】
前記制御手段には、前記処理手段が前記第２の記憶手段にロードされている処理プログラムに基づいて、前記受信手段により受信されたストリームを正常に処理できていないことを検出すると、前記第１の記憶手段に記憶されている前記検出プログラムを前記第２の記憶手段にロードさせることができる。
【０００９】
本発明の情報処理方法は、複数の異なる方法で多重化されたストリームを受信手段によって受信する受信ステップと、前記受信ステップにより受信されたストリームが前記複数の異なる方法の何れの方法で多重化された情報であるかを検出する検出プログラムと、前記複数の異なる方法の多重化に対応した複数の処理プログラムとを第１の記憶手段に記憶する第１の記憶ステップと、第２の記憶手段を含んで構成され、前記第２の記憶手段にロードされているプログラムに基づいて、前記受信手段により受信されたストリームを処理手段によって処理する処理ステップと、前記第１の記憶手段に記憶されている前記検出プログラムを前記第２の記憶手段にロードすることにより、前記処理手段に、前記検出プログラムに基づいて前記受信手段により受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出させ、前記処理手段での検出結果に基づいて、前記第１の記憶手段に記憶されている、前記受信手段により受信されたストリームに対応した前記処理プログラムを前記第２の記憶手段にロードする制御ステップとを含む。
【００１０】
本発明の記録媒体は、複数の異なる方法で多重化されたストリームを受信手段によって受信する受信ステップと、前記受信ステップにより受信されたストリームが前記複数の異なる方法の何れの方法で多重化された情報であるかを検出する検出プログラムと、前記複数の異なる方法の多重化に対応した複数の処理プログラムとを第１の記憶手段に記憶する第１の記憶ステップと、第２の記憶手段を含んで構成され、前記第２の記憶手段にロードされているプログラムに基づいて、前記受信手段により受信されたストリームを処理手段によって処理する処理ステップと、前記第１の記憶手段に記憶されている前記検出プログラムを前記第２の記憶手段にロードすることにより、前記処理手段に、前記検出プログラムに基づいて前記受信手段により受信されたストリームが前記複数の異なる方法の何れの方法で多重化されたストリームであるかを検出させ、前記処理手段での検出結果に基づいて、前記第１の記憶手段に記憶されている、前記受信手段により受信されたストリームに対応した前記処理プログラムを前記第２の記憶手段にロードする制御ステップとを含む処理をコンピュータに実行させるプログラムが記録されている。
【００１１】
本発明の情報処理装置、情報処理方法、または記録媒体に記録されているプログラムにおいては、第１の記憶手段に記憶されている検出プログラムを第２の記憶手段にロードすることにより、処理手段に、前記検出プログラムに基づいて受信手段により受信されたストリームが複数の異なる方法の何れの方法で多重化されたストリームであるかを検出させ、前記処理手段での検出結果に基づいて、前記第１の記憶手段に記憶されている、前記受信手段により受信されたストリームに対応した前記処理プログラムを前記第２の記憶手段にロードすることが行われる。
【００１２】
【発明の実施の形態】
図１は、本発明を適用したセットトップボックス１の一実施の形態の構成を示すブロック図である。セットトップボックス１には、衛星放送信号を受信するアンテナ２ａ、地上波の放送信号を受信するアンテナ２ｂ、CATV(Community Antenna Television)の放送信号を受信するCATVケーブル３、構内放送信号を送受信するLAN(Local Area Network)ケーブル４、図示せぬ外部装置とのデータの授受を行うIEEE(Institute of Electrical and Electronic Engineers)1394ケーブル５ａ，５ｂ、ビデオモニタ６、および、スピーカ７が接続されている。
【００１３】
アンテナ２ａは、セットトップボックス１のRF(Radio Frequency)デモジュレータ２１ａに接続され、図示せぬ衛星からの衛星放送信号を受信し、セットトップボックス１のRFデモジュレータ２１ａに出力する。アンテナ２ｂは、RFデモジュレータ２１ｂに接続され、図示せぬ地上放送局からの地上波の放送信号を受信し、RFデモジュレータ２１ｂに出力する。
【００１４】
CATVケーブル３は、セットトップボックス１のRFデモジュレータ２１ｃおよびRFモジュレータ３２に接続され、CATV放送信号をRFデモジュレータ２１ｃに出力すると共に、RFモジュレータ３２から出力されるCATV放送信号を伝送する。
【００１５】
LANケーブル４は、ネットワークI/F(Interface)２２，３３に接続され、構内放送信号をネットワークI/F２２に出力すると共に、ネットワークI/F３３から出力される構内放送信号を伝送する。
【００１６】
IEEE1394ケーブル５ａ，５ｂは、その一端がIEEE1394I/F(Interface)に接続され、他端に接続される外部装置（図示せず）との間で、映像、音声、およびデータの授受が可能になされている。
【００１７】
ビデオモニタ６は、ビデオデコーダ２９から入力される映像信号に基づいて、映像を表示する。また、スピーカ７は、オーディオデコーダ３０から入力される音声信号に基づいて音声を出力する。
【００１８】
リモートコントローラ８は、複数のボタンを有し、ユーザの操作に対応する赤外線の信号を出力して、図示せぬ赤外線のインターフェースを介してCPU２７に出力する。
【００１９】
RFデモジュレータ２１ａ乃至２１ｃは、それぞれアンテナ２ａ，２ｂ、およびCATVケーブル３からのRF信号を復調し、それぞれスイッチ２４の端子２４ａ乃至２４ｃに出力する。
【００２０】
ネットワークI/F２２は、入力された構内放送信号をスイッチ２４の端子２４ｄに出力する。
【００２１】
スイッチ２４は、CPU２７により制御され、端子２４ａ乃至２４ｄに切り替えられ、各端子２４ａ乃至２４ｄから入力される信号をトランスポートストリーム処理部２５に出力する。
【００２２】
IEEE1394I/F２３は、IEEE1394ケーブル５ａ，５ｂに接続される外部装置（図示せず）とトランスポートストリーム処理部２５とのインターフェースとして機能する。
【００２３】
トランスポートストリーム処理部２５は、IEEE1394I/F２３またはスイッチ２４から入力されるトランスポートストリームを、CPUバス２６を介してCPU２７から送られてくるマイクロコードと呼ばれるプログラムに基づいて処理し、後段のビデオデコーダ２９、もしくはオーディオデコーダ３０に出力するか、または、スイッチ３１を介してRFモジュレータ３２もしくはネットワークI/F３３、またはIEEE1394I/F２３に出力する。尚、トランスポートストリーム処理部２５については、図２を参照して詳細を後述する。
【００２４】
CPU２７は、セットトップボックス１全体の動作を制御すると共に、必要に応じてメモリ２８を使用し、CPUバス２６を介して、トランスポートストリーム処理部２５にマイクロコードや設定情報を転送し、トランスポートストリームを処理させ、必要な番組情報を出力させる。また、CPU２７は、トランスポートストリーム処理部２５からの処理情報を、解析処理し、番組情報としてトランスポートストリーム処理部２５およびビデオデコーダ２９を介して出力し、ビデオモニタ６に表示させる。
【００２５】
ビデオデコーダ２９は、トランスポートストリーム処理部２５またはCPU２７から入力される信号をデコード処理し、映像信号としてビデオモニタ６に出力する。
【００２６】
オーディオデコーダ３０は、トランスポートストリーム処理部２５から入力される信号をデコード処理し、音声信号としてスピーカ７に出力する。
【００２７】
スイッチ３１は、CPU２７により制御され、端子３１ａ，３１ｂに切り替えられ、トランスポートストリーム処理部２５からの信号を、端子３１ａを介してRFモジュレータ３２に、端子３１ｂを介してネットワークI/F３３に、それぞれ出力する。
【００２８】
RFモジュレータ３２は、スイッチ３１を介して入力されるトランスポートストリーム処理部２５からの信号を変調してRF信号を生成し、CATVケーブル３に出力する。
【００２９】
ネットワークI/F３３は、スイッチ３１を介して入力されるトランスポートストリーム処理部２５からの信号をインターフェース処理してLANケーブル４に出力する。
【００３０】
次に、図２を参照して、トランスポートストリーム処理部２５の詳細な構成について説明する。トランスポートストリーム処理部２５のインストラクションメモリ４１は、CPU２７からのマイクロコードと呼ばれるトランスポートストリーム処理部２５の動作を制御するプログラムを記憶する。このマイクロコードは、トランスポートストリームの種類やストリームの検出など、その処理により異なり、それぞれの種類に対応するマイクロコードがCPU２７から送られる。
【００３１】
インストラクションデコーダ４２は、インストラクションメモリ４１に記憶されているマイクロコードを読み込み、処理を実行する。また、インストラクションデコーダ４２は、その処理に際して、必要に応じて割り込み信号をCPU２７に出力したり、スイッチ４５，４９，５０，または５２を制御し、それぞれ所定の端子を選択させる。データを端子４５ｃ，４９ｂ，５０ａに出力する。
【００３２】
プログラムカウンタ４３は、インストラクションデコーダ４２の処理に伴って、カウント動作を実行し、インストラクションメモリ４１に所定の順番のプログラムを選択させ、インストラクションデコーダ４２に供給させる。
【００３３】
FIFO(First-in First-out memory)４４は、スイッチ２４から入力されるトランスポートストリームを一時的に記憶し、スイッチ４５の端子４４ｂに出力する。
【００３４】
スイッチ４５は、インストラクションデコーダ４２により制御され、端子４５ａ乃至４５ｃに切り替えられる。スイッチ４５は、端子４５ａに接続されるとレジスタ５１から出力されるデータを、端子４５ｂに接続されるとFIFO４４からのデータを、また、端子４５ｃに接続されるとインストラクションデコーダ４２からのデータを、それぞれ選択し、ALU４６に出力する。
【００３５】
ALU４６は、スイッチ４５から入力されるデータと遅延装置４７から入力される１クロック分だけ遅延された自らの出力データに対して、インストラクションデコーダ４２からのコマンドに基づいて加減乗除、比較、スルー、または置き換え等の演算を施し、演算結果を遅延装置４７，４８、端子５０ｂ、およびスイッチ５２に出力する。
【００３６】
遅延装置４７，４８は、ALU４６から入力されるデータを一時的に記憶し、１クロック分だけ遅延させて、後段に出力する。
【００３７】
スイッチ４９は、インストラクションデコーダ４２により制御され、端子４９ａ，４９ｂのいずれかに切り替えられる。スイッチ４９が、端子４９ａに接続されると遅延装置４８からのデータが、また、端子４９ｂに接続されるとインストラクションデコーダ４２からのデータが、それぞれ、レジスタ５１のアドレス入力に供給される。
【００３８】
スイッチ５０は、インストラクションデコーダ４２により制御され、端子５０ａ，５０ｂのいずれかに切り替えられる。スイッチ５０が、端子５０ａに接続されるとインストラクションデコーダ４２からのデータが、また、端子５０ｂに接続されるとALU４６からのデータが、それぞれレジスタ５１のデータ入力に供給される。
【００３９】
レジスタ５１は、スイッチ４９，５０から入力されるアドレスやデータ、あるいはCPU２７から供給される各種の設定データを記憶し、必要に応じて、端子４５ａに接続されたスイッチ４５を介してALU４６に出力する。
【００４０】
スイッチ５２は、インストラクションデコーダ４２により制御され、端子５２ａ乃至５２ｄのいずれかに切り替えられ、ALU４６から入力されるデータを端子５２ａ乃至５２ｄのいずれかに出力する。
【００４１】
FIFO５３は、スイッチ５２が端子５２ａに接続された時、ALU４６からの供給されるデータを一時的に記憶した後、DMA(Direct Memory Access)コントローラ５４に出力する。
【００４２】
DMAコントローラ５４は、FIFO５３から入力されたデータをCPU２７を経由させずに、CPUバス２６を介してメモリ２８に直接転送する（DMA転送する）。
【００４３】
FIFO５５は、スイッチ５２が端子５２ｂに接続された時、ALU４６からの映像データを一時的に記憶した後、ビデオデコーダ２９に出力する。
【００４４】
FIFO５６は、スイッチ５２が端子５２ｃに接続された時、ALU４６からの音声データを一時的に記憶した後、オーディオデコーダ３０に出力する。
【００４５】
FIFO５７は、スイッチ５２が端子５２ｄに接続された時、ALU４６からの信号を一時的に記憶した後、スイッチ３１を介してRFモジュレータ３２またはネットワークI/F３３に出力する。
【００４６】
また、IEEE1394I/F２３は、図２に図示されていないが、IEEE1394ケーブル５ａまたは５ｂとの間で授受されるデータが上記と同様に処理されることになる。
【００４７】
次に、衛星放送信号を受信し、ビデオモニタ６およびスピーカ７から映像および音声を出力する場合のセットトップボックス１の動作について説明する。
【００４８】
アンテナ２ａは、図示せぬ衛星からの衛星放送信号を受信し、そのRF信号をRFモジュレータ２１ａに出力する。RFモジュレータ２１ａは、入力されたRF信号を復調し、得られたデータ（トランスポートストリーム）を端子２４ａに出力する。
【００４９】
この時、スイッチ２４は、CPU２７に制御され、端子２４ａに接続される。これにより、トランスポートストリーム処理部２５には、スイッチ２４を介してトランスポートストリームが入力される。
【００５０】
トランスポートストリーム処理部２５は、CPU２７から送られるマイクロコードに基づいてトランスポートストリームを処理し、そのうち番組情報をCPU２７に出力する。
【００５１】
CPU２７は、入力された番組情報を解析処理し、その結果に対応してトランスポートストリーム処理部２５を制御し、映像データをビデオデコーダ２９に出力させる。ビデオデコーダ２９は、入力された映像データをデコード処理し、映像信号としてビデオモニタ６に出力する。ビデオモニタ６は、この映像信号に基づいて、番組の画像を表示する。
【００５２】
この表示された画像が、電子番組ガイド情報である場合、ユーザはそれに基づいて、リモートコントローラ８を操作し、所定のチャンネルを選択する。リモートコントローラ８は、そのチャンネルに対応する信号をCPU２７に出力する。
【００５３】
CPU２７は、このチャンネル選択信号に基づいて、トランスポートストリーム処理部２５に設定データを出力する。トランスポートストリーム処理部２５は、この設定データに基づいて、ユーザによって選択されたチャンネルの映像データを抽出し、ビデオデコーダ２９に出力し、音声データを抽出して、オーディオデコーダ３０に出力する。尚、トランスポートストリーム処理部２５の動作については、詳細を後述する。
【００５４】
ビデオデコーダ２９およびオーディオデコーダ３０は、入力された映像データおよび音声データをそれぞれデコードし、ビデオモニタ６およびスピーカ７に映像信号および音声信号として出力する。ビデオモニタ６は、入力された映像信号に基づいて映像を表示し、スピーカ７は、入力された音声信号に基づいて音声を出力する。
【００５５】
地上波の放送信号を受信する場合、アンテナ２ｂが、地上波の放送信号を受信しそのRF信号をRFモジュレータ２１ｂに出力する。この時、スイッチ２４は、CPU２７により制御され、端子２４ｂに接続されている。RFモジュレータ２１ｂは、入力されたRF信号を復調し、端子２４ｂに接続されたスイッチ２４を介してトランスポートストリーム処理部２５に出力する。これ以降の処理は衛星放送信号を受信する場合と同様であるので、その説明は省略する。
【００５６】
CATVの放送信号を受信する場合、CATVケーブル３を伝送されてくるRF信号が、RFデモジュレータ２１ｃに入力される。この時、スイッチ２４は、CPU２７に制御され、端子２４ｃに接続される。RFデモジュレータ２１ｃは、入力されたRF信号を復調し、得られたトランスポートストリームを、トランスポートストリーム処理部２５に出力する。これ以降の処理は、衛星放送信号を受信する場合と同様であるので、その説明は省略する。
【００５７】
構内放送を受信する場合、LANケーブル４を伝送されてくる信号が、ネットワークI/F２２に入力され、スイッチ２４を介してトランスポートストリームとしてトランスポートストリーム処理部２５に出力される。それ以降の処理は、衛星放送信号を受信する場合と同様であるので、その説明は省略する。
【００５８】
IEEE1394ケーブル５ａまたは５ｂの外部装置から入力信号を受信する場合、図示せぬ外部装置からの信号がIEEE1394ケーブル５ａまたは５ｂから、IEEE1394I/F２３に入力される。それ以降の処理は、衛星放送信号を受信する場合と同様であるので、その説明は省略する。
【００５９】
また、ケーブルテレビのCATVケーブル３に映像信号および音声信号を出力する場合、トランスポートストリーム処理部２５からの信号は、スイッチ３１に出力される。この時、スイッチ３１は、CPU２７により制御され、端子３１ａに接続される。トランスポートストリーム処理部２５からの信号は、スイッチ３１を介してRFモジュレータ３２に入力される。RFモジュレータ３２は、入力された信号を変調し、そのRF信号をCATVケーブル３に出力する。
【００６０】
一方、信号がLANケーブル４に出力される場合、スイッチ３１は、CPU２７により制御され、端子３１ｂに接続される。その結果、トランスポートストリーム処理部２５からの信号は、スイッチ３１を介してLANケーブル４に出力される。
【００６１】
IEEE1394ケーブル５ａまたは５ｂを介して図示せぬ外部装置に信号を出力する場合、トランスポートストリーム処理部２５からの信号は、IEEE1394I/F２３に出力され、インターフェース処理された後、IEEE1394ケーブル５ａまたは５ｂから図示せぬ外部装置に出力される。
【００６２】
次に、トランスポートストリーム処理部２５の動作について説明する。
【００６３】
トランスポートストリーム処理部２５のインストラクションメモリ４１は、CPU２７から送られてくるマイクロコードを記憶する。インストラクションデコーダ４２は、インストラクションメモリ４１に記憶されているマイクロコードの中から、プログラムカウンタ４３のカウント値で指定されるマイクロコードを順次読み込んで処理を実行する。
【００６４】
インストラクションデコーダ４２は、マイクロコードに基づいて、スイッチ４５、４９，５０，または５２を制御し、スイッチ４５を端子４５ａ乃至４５ｃのいずれか、スイッチ４９を端子４９ａまたは４９ｂのどちらか、スイッチ５０を端子５０ａまたは５０ｂのどちらか、スイッチ５２を端子５２ａ乃至５２ｄのいずれかにそれぞれ接続させる。また、インストラクションデコーダ４２は、マイクロコードに基づいて、端子４５ｃ，４９ｂ，および５０ａにデータを出力する。さらに、インストラクションデコーダ４２は、エラー発生、ストリームの検出、または、DMA転送の完了などを示す割り込み信号をCPU２７に出力する。CPU２７（CPU２７上で実行するソフトウェア）は、この割り込み信号に基づいて、各種のマイクロコードをインストラクションメモリ４１にロードさせたり、各種の設定データをレジスタ５１に出力し、記憶させる。尚、このCPU２７上のソフトウェアについては、図３を参照して後述する。
【００６５】
スイッチ４５が、端子４５ａに接続された場合、レジスタ５１に記憶されているデータがスイッチ４５を介してALU４６に出力される。
【００６６】
スイッチ４５が、端子４５ｂに接続された場合、FIFO４４に、一時的に記憶されたトランスポートストリームがスイッチ４５を介して、ALU４６に出力される。
【００６７】
スイッチ４５が、端子４５ｃに接続された場合、インストラクションデコーダ４２から出力されたデータが、ALU４６に出力される。
【００６８】
ALU４６は、スイッチ４５から入力されたデータと、遅延装置４７で遅延された自らの演算結果に対して、インストラクションデコーダ４２からの命令信号に基づく演算を施し（加減乗除、比較、スルー、または置き換え等の処理）、遅延装置４７，（遅延装置４８を介して）端子４９ａ、端子５０ｂ、およびスイッチ５２に出力する。
【００６９】
スイッチ４９が、端子４９ａに接続された場合、遅延装置４８で遅延されたALU４６からのデータが、スイッチ４９を介してレジスタ５１のアドレス入力に供給される。
【００７０】
スイッチ４９が、端子４９ｂに接続された場合、インストラクションデコーダ４２から出力されたデータが、スイッチ４９を介してレジスタ５１のアドレス入力に供給される。
【００７１】
スイッチ５０が、端子５０ａに接続された場合、インストラクションデコーダ４２から出力されたデータが、レジスタ５１のデータ入力に供給される。
【００７２】
スイッチ５０が、端子５０ｂに接続された場合、ALU４６からのデータが、スイッチ５０を介してレジスタ５１のデータ入力に供給される。
【００７３】
スイッチ５２が、端子５２ａに接続された場合、ALU４６からのデータは、FIFO５３を介して、DMAコントローラ５４に出力される。DMAコントローラ５４は、入力されたデータをCPUバス２６を介して、CPU２７を介さず、メモリ２８に直接転送する。
【００７４】
スイッチ５２が、端子５２ｂに接続された場合、ALU４６からのデータは、FIFO５５を介して、ビデオデコーダ２９に出力される。
【００７５】
スイッチ５２が、端子５２ｃに接続された場合、ALU４６からのデータは、FIFO５６を介して、オーディオデコーダ３０に出力される。
【００７６】
スイッチ５２が、端子５２ｄに接続された場合、ALU４６からのデータは、FIFO５７を介してスイッチ３１に出力される。
【００７７】
次に、図３を参照して、CPU２７上のソフトウェアとトランスポートストリーム処理部２５について説明する。尚、図３のCPU２７上に示されているソフトウェアドライブ７１（API(Application Program Interface)８１、ステータス更新タスク８２、および割り込みハンドラ８３より構成されている）、および選局タスク７２は、は、いずれもCPU２７上で実行されるソフトウェアである。また、図３においては、CPUバス２６は、省略されているが、トランスポートストリーム処理部２５、CPU２７、およびメモリ２８のそれぞれの間において、データは、CPUバス２６を介して授受される。
【００７８】
ソフトウェアドライバ７１のAPI（本体）８１は、選局タスク７２からのAPI８１の呼び出し指令と設定データの入力に基づいて、所定のタイミングで、ステータス更新タスク８２へのステータス変更通知処理、およびステータスの選局タスク７２への送信命令、割り込みハンドラ８３への割り込み設定処理、トランスポートストリームのタイプを検出するマイクロコードまたは検出されたタイプのトランスポートストリームに適した視聴用のマイクロコードのトランスポートストリーム処理部２５への転送処理、トランスポートストリーム処理部２５への動作許可信号の出力、並びにトランスポートストリーム処理部２５への設定データ転送処理を実行する。また、API８１は、トランスポートストリーム処理部２５からメモリ２８を介して送信されてきたデータを選局タスク７２に転送する。
【００７９】
ステータス更新タスク８２は、API８１からのステータス変更通知、割り込みハンドラ８３からのエラー発生のシグナルまたはストリームタイプ検出のシグナルに基づいて、トランスポートストリーム処理部２５のステータス（動作状態）を記録更新する。また、ステータス更新タスク８２は、API８１からのステータス送信命令に基づいてトランスポートリーム処理部２５のステータスを選局タスク７２に出力する。さらに、ステータス更新タスク８２は、割り込みハンドラ８３に、割り込み設定を出力する。
【００８０】
割り込みハンドラ８３は、トランスポートストリーム処理部２５から、DMA転送完了、エラー発生、またはストリーム検出に基づく割り込み信号を受け取る。受け取った割り込み信号が、DMA転送完了に基づくものである場合、割り込みハンドラ８３は、API８１に対応するシグナルを出力する。また、受け取った割り込み信号が、エラー発生またはストリームの検出に基づくものである場合、割り込みハンドラ８３は、ステータス更新タスク８２に、対応するシグナルを出力する。さらに、割り込みハンドラ８３は、トランスポートストリーム処理部２５から割り込み信号を受信すると、セマフォ信号を選局タスク７２に出力する。
【００８１】
選局タスク７２は、ソフトウェアドライバ７１からのセマフォ信号とトランスポートストリーム処理部２５のステータスに基づいて、各種の処理をAPI８１を呼び出して実行させる。また、選局タスク７２は、トランスポートストリーム処理部２５からメモリ２８およびAPI８１を介して転送されるデータを解析する。
【００８２】
次に、図４のタイミングチャートを参照して、スイッチ２４から送られてくる２種類のタイプのトランスポートストリームＡ，Ｂ（例えば、RFデモジュレータ２１ａの出力またはRFデモジュレータ２１ｂの出力）（以下、トランスポートストリームＡ，ＢをストリームＡ，Ｂと略称する）のうち、ストリームＡを検出し、ビデオモニタ６およびスピーカ７に出力させる時のトランスポートストリーム処理部２５、ソフトウェアドライバ７１、および選局タスク７２の動作について説明する。
【００８３】
図示せぬ電源をオンするとCPU２７が、ソフトウェアドライバ７１および選局タスク７２を実行させ、処理が開始される。
【００８４】
ステップＳ１において、選局タスク７２は、API８１を呼び出してストリーム検出用のマイクロコードをトランスポートストリーム処理部２５のインストラクションメモリ４１にロードさせる指令を出す。
【００８５】
ステップＳ２において、API８１は、選局タスク７２からの指令に基づいて、マイクロコードをトランスポートストリーム処理部２５のインストラクションメモリ４１にロードさせる。
【００８６】
ステップＳ３において、トランスポートストリーム処理部２５のインストラクションデコーダ４２は、API８１から転送されたマイクロコードをインストラクションメモリ４１から読み込み、これに基づいて、プログラムカウンタ４３を適宜利用して、ストリームのタイプの検出を開始する。
【００８７】
ステップＳ４において、トランスポートストリーム処理部２５のインストラクションデコーダ４２は、ストリームＡまたはBを検出した場合、ストリームＡまたはＢ検出の割り込み信号を、ストリームＡまたはＢを検出できなかった場合、エラーの割り込み信号をソフトウェアドライバ７１の割り込みハンドラ８３に出力する。この例においては、ストリームＡを検出した場合について説明するので、インストラクションデコーダ４２は、ストリームＡ検出の割り込み信号を割り込みハンドラ８３に出力する。
【００８８】
ステップＳ５において、ソフトウェアドライバ７１の割り込みハンドラ８３は、受信したストリームＡ検出の割り込み信号に基づいて、ストリームＡ検出のシグナルをステータス更新タスク８２に出力する。ステータス更新タスク８２は、このストリームＡ検出のシグナルに基づいて、ステータスを「ストリームＡの検出完了」に更新する。また、割り込みハンドラ８３は、ストリームＡ検出のセマフォ信号を選局タスク７２に出力する。尚、ステータス更新タスク８２の動作の詳細については、図５のフローチャートを参照して後述する。
【００８９】
ステップＳ６において、選局タスク７２は、ソフトウェアドライバ７１の割り込みハンドラ８３からのセマフォ信号に基づいて、API８１を呼び出し、ステータスを送信する指示を出す。
【００９０】
ステップＳ７において、ソフトウェアドライバ７１のAPI８１は、選局タスク７２からの指令に基づいて、ステータス更新タスク８２にステータス送信指令を出す。ステータス更新タスク８２は、現状のトランスポートストリーム処理部２５のステータス「ストリームＡの検出完了」を選局タスク７２に出力する。
【００９１】
ステップＳ８において、選局タスク７２は、ソフトウェアドライバ７１からトランスポートストリーム処理部２５のステータス「ストリームＡの検出完了」を取得すると、視聴用マイクロコードをトランスポートストリーム処理部２５のインストラクションメモリ４１に転送し、番組仕様取得設定をレジスタ５１に転送する指令をAPI８１に出す。
【００９２】
ステップＳ９において、ソフトウェアドライバ７１のAPI８１は、選局タスク７２からの指令に基づいて、トランスポートストリーム処理部２５のインストラクションメモリ４１に視聴用のマイクロコードをロードさせ、レジスタ５１に番組仕様取得設定データを転送する。また、API８１は、このとき、ステータス変更通知をステータス更新タスク８２に出力する。ステータス更新タスク８２は、ステータスを「ストリームＡを処理中」に更新する。
【００９３】
ステップＳ１０において、トランスポートストリーム処理部２５のインストラクションデコーダ４２は、インストラクションメモリ４１に記憶されているマイクロコードに基づいて、番組仕様情報を取得し、スイッチ５２を制御して端子５２ａに接続させ、DMAコントローラ５４から番組仕様情報をメモリ２８に転送させる。インストラクションデコーダ４２は、この転送が、完了するとDMA転送完了の割り込み信号を割り込みハンドラ８３に出力する。この番組仕様情報の取得またはDMA転送などが失敗した場合、インストラクションデコーダ４２は、エラーの割り込み信号を出力する。この例では、番組仕様情報が、取得でき、DMA転送が完了した場合について説明するので、インストラクションデコーダ４２は、DMA転送の完了を示す割り込み信号をソフトウェアドライバ７１の割り込みハンドラ８３に出力する。
【００９４】
ステップＳ１１において、ソフトウェアドライバ７１の割り込みハンドラ８３は、入力されたDMA転送完了の割り込み信号に基づいて、API８１にDMA転送完了のシグナルを出力すると共に、選局タスク７２にDMA転送の完了を示すセマフォ信号を出力する。
【００９５】
ステップＳ１２において、選局タスク７２は、割り込みハンドラ８３からのセマフォ信号に基づいて、API８１を呼び出し、メモリ２８に記憶されている番組仕様情報を選局タスク７２に転送するよう指令する。
【００９６】
ステップＳ１３において、ソフトウェアドライバ７１のAPI８１は、メモリ２８に記憶されている番組仕様情報を選局タスク７２に転送する。
【００９７】
ステップＳ１４において、選局タスク７２は、API８１から転送された番組仕様情報を解析処理する。そして、選局タスク７２は、API８１を呼び出し、解析結果に基づいてストリームＡに含まれる番組一覧表のデータをトランスポートストリーム処理部２５およびビデオデコーダ２９を介してビデオモニタ６に出力させ、表示させた後、イベントの待機状態になる。
【００９８】
ステップＳ１５において、何らかの障害により番組一覧表を表示させる処理にエラーが発生した場合、インストラクションデコーダ４２は、エラー割り込み信号を割り込みハンドラ８３に出力する。
【００９９】
ステップＳ１６において、割り込みハンドラ８３は、ステータス更新タスク８２にエラーのシグナルを出力すると共に選局タスク７２にエラーのセマフォ信号を出力する。
【０１００】
ステップＳ１７において、選局タスク７２は、イベントの待機状態になっているので、ソフトウェアドライバ７１からエラーのセマフォ信号が入力された場合、ステップＳ１の処理に戻り、それ以降の処理が繰り返される。また、番組一覧表が、表示されたまま、ユーザによりリモートコントローラ８が操作されず、チャンネル選択信号待ちのタイムアウトとなった場合、ステップＳ８の処理に戻りそれ以降の処理が繰り返される。
【０１０１】
さらに、選局タスク７２に入力されるイベントが、ユーザが、リモートコントローラ８を操作することにより入力されたチャンネル選択信号であった場合、選局タスク７２は、API８１を呼び出し、選局された番組の番組視聴設定データをトランスポートストリーム処理部２５のレジスタ５１に転送する指令を出す。
【０１０２】
ステップＳ１８において、API８１は、選局タスク７２からの指令に基づいて、番組視聴設定データをトランスポートストリーム処理部２５のレジスタ５１に転送する。
【０１０３】
ステップＳ１９において、インストラクションデコーダ４２は、レジスタ５１に記憶されている番組視聴設定データを利用し、インストラクションメモリ４１から読み込んだマイクロコードに基づいて、スイッチ４５，４９，５０，５２を適宜制御し、ユーザにより選局された番組のデータを処理したビデオ／オーディオPES(Packetized Elementally Stream)をFIFO５５，５６を介してビデオデコーダ２９およびオーディオデコーダ３０に出力し、番組の映像をビデオモニタ６に表示させ、音声をスピーカ７から出力させる。
【０１０４】
ステップＳ４において、トランスポートストリーム処理部２５が、ストリームＢを検出した場合については、ストリームＡ用の処理をストリームＢ用に代えて、上記と同様の処理を実行する。
【０１０５】
ステップＳ４において、ストリームを検出できない場合、トランスポートストリーム処理部２５のインストラクションデコーダ４２は、エラーの割り込み信号を割り込みハンドラ８３に出力する。これに基づいて、割り込みハンドラ８３は、ステータス更新タスク８２にエラーのシグナルを出力すると共に、選局タスク７２にエラーのセマフォ信号を出力する。ステータス更新タスク８２は、このシグナルに基づいて、ステータスを「無効ストリームを検出」に更新する。選局タスク７２は、セマフォ信号に基づいて、ステップＳ１の処理に戻り、それ以降の処理が繰り返される。
【０１０６】
ステップＳ１０において、インストラクションデコーダ４２が、受信信号の障害により番組仕様情報の取得に失敗したか、または、DMA転送に失敗した場合、トランスポートストリーム処理部２５のインストラクションデコーダ４２は、エラーの割り込み信号を割り込みハンドラ８３に出力する。これに基づいて、割り込みハンドラ８３は、ステータス更新タスク８２にエラーのシグナルを出力すると共に、選局タスク７２にエラーのセマフォ信号を出力する。ステータス更新タスク８２は、このシグナルに基づいて、ステータスを「無効ストリームを検出」に更新する。選局タスク７２は、セマフォ信号に基づいて、ステップＳ１の処理に戻り、それ以降の処理が繰り返される。
【０１０７】
次に、図５のフローチャートと図６のトランスポートストリーム処理部２５の状態遷移図（ステータス更新タスク８２が管理する）を参照して、図４のタイムチャートの処理に対応する「ストリーム待ち」、「ストリームＡの検出完了」、および「ストリームＡを処理中」までステータスが更新される時のステータス更新タスク８２の動作について説明する。
【０１０８】
図６の状態遷移図においては、トランスポートストリームがＡ，Ｂの２種類である場合について示されており、トランスポートストリーム処理部２５の状態（ステータス）は、状態１「ストリーム待ち」、状態２「無効ストリームを検出」、状態３「ストリームＡの検出完了」、状態４「ストリームＡを処理中」、状態５「ストリームＡでエラー発生」、状態６「ストリームＢの検出完了」、状態７「ストリームＢを処理中」、および状態８「ストリームＢでエラー発生」の８つの状態に遷移することを示している。以下の説明においては、トランスポートストリーム処理部２５のステータスを状態１乃至８として説明する。
【０１０９】
図示せぬ電源がオンされ、CPU２７のソフトウェアドライバ７１が起動されると、ステータス更新タスク８２は、処理を開始する。
【０１１０】
ステップＳ３１において、ステータス更新タスク８２は、初期ステータスとしてステータスを状態１とする。
【０１１１】
ステップＳ３２において、ステータス更新タスク８２は、現状のステータスが、状態２，５，または８であるか否かを判定する。この例においては、現状のステータスは状態１であるので、ステップＳ３３に進む。すなわち、図４のタイムチャートのステップＳ３，Ｓ４におけるトランスポートストリーム処理部２５のステータスは、この図６の状態１に対応する。
【０１１２】
ステップＳ３３において、割り込みハンドラ８３からのストリーム検出あるいはエラーのシグナル、または、API８１からのステータス変更通知のいずれかの信号を待つ。
【０１１３】
ステップＳ３４において、ステータス更新タスク８２は、図４のタイムチャートのステップＳ５の処理に対応する割り込みハンドラ８３からのストリームＡを検出したシグナルを受信する。
【０１１４】
ステップＳ３５において、ステータス更新タスク８２は、受信したシグナルが、ストリームＡを検出したシグナルであるのか否かを判定する。この例においては、このシグナルは、ストリームＡを検出したシグナルであるので、ステップＳ３６に進む。
【０１１５】
ステップＳ３６において、ステータス更新タスク８２は、ステータスを図６の状態１から状態３に更新し、ステップＳ３２の処理に戻る。すなわち、図４のタイムチャートでは、ステップＳ５以降の処理において、トランスポートストリーム処理部２５のステータスは、状態３となっている。
【０１１６】
ステップＳ３２において、ステータス更新タスク８２は、現状のステータスが、状態２，５，または８であるか否かを判定する。このとき、ステータスは、状態３であるので、ステータス更新タスク８２は、現状のステータスが、状態２，５，または８ではないと判定し、ステップＳ３３に進む。
【０１１７】
ステップＳ３３において、割り込みハンドラ８３からのストリーム検出あるいはエラーのシグナル、または、API８１からのステータス変更通知のいずれかの信号を待つ。
【０１１８】
ステップＳ３４において、ステータス更新タスク８２は、図４のタイムチャートのステップＳ９の処理に対応するAPI８１からのステータス変更通知の信号を受信する。
【０１１９】
ステップＳ３５において、ステータス更新タスク８２は、判定したシグナルが、ストリームＡを検出したシグナルか否かを判定する。この例においては、受信したのはステータス変更通知であるので、ステータス更新タスク８２は、ストリームＡを検出したシグナルではないと判定し、ステップＳ３７に進む。
【０１２０】
ステップＳ３７において、ステータス更新タスク８２は、受信した信号が、ストリームＢの検出であるか否かを判定する。この例においては、受信したのはステータス変更通知であるので、ステップＳ３９に進む。
【０１２１】
ステップＳ３９において、ステータス更新タスク８２は、受信した信号が、APIからのステータス変更通知であるか否かを判定する。この例においては、受信したのは、ステータス変更通知であるので、ステップＳ４０に進む。
【０１２２】
ステップＳ４０において、ステータス更新タスク８２は、現状のステータスが、状態３であるか否かを判定する。この例において、現状のステータスは、状態３なので、ステータス更新タスク８２は、ステータスが状態３であると判定し、ステップＳ４１に進む。
【０１２３】
ステップＳ４１において、ステータス更新タスク８２は、ステータスを状態３から状態４に更新させ、ステップＳ３２の処理に戻り、それ以降の処理を繰り返す。すなわち、図４のタイムチャートにおいて、ステップＳ９以降の処理において、トランスポートストリーム処理部２５のステータスは、状態４となる。
【０１２４】
ステップＳ３７において、ステータス更新タスク８２は、割り込みハンドラ８３からのストリームＢを検出したというシグナルを受信していた場合、ステップＳ３８の処理に進み、ステータス更新タスク８２は、ステータスを状態６に更新する。
【０１２５】
ステップＳ４０において、現状のステータスが、状態３ではない時、ステップＳ４２の処理に進み、現状のステータスが、状態６であるか否かが判定される。ステップＳ４２において、現状のステータスが、状態６であると判定された場合、ステップＳ４３に進み、ステータス更新タスク８２は、ステータスを状態７に更新し、ステップＳ３２に戻り、それ以降の処理を繰り返す。
【０１２６】
ステップＳ４２において、現状のステータスが、状態６ではないと判定された場合、ステップＳ４４に進み、ステータス更新タスク８２は、ステータスを状態１に更新し、ステップＳ３２の処理に戻り、それ以降の処理を繰り返す。
【０１２７】
ステップＳ３９において、受信した信号が、API８１からのステータス変更通知ではないと判定された場合、すなわち、受信した信号がエラーであると判定された場合、ステップＳ４５の処理に進む。
【０１２８】
ステップＳ４５において、ステータス更新タスク８２は、現状のステータスが、状態１，２，３，または６であるか否かを判定する。このとき、現状のステータスが、状態１，２，３，または６であると判定された場合、ステップＳ４６に進み、ステータス更新タスク８２は、ステータスを状態２に更新し、ステップＳ３２の処理に戻り、それ以降の処理を繰り返す。
【０１２９】
ステップＳ４５において、現状のステータスが、状態１，２，３，または６ではないと判定された場合、ステップＳ４７に進む。
【０１３０】
ステップＳ４７において、ステータス更新タスク８２は、現状のステータスが、状態４または５であるか否かを判定する。このとき、現状のステータスが、状態４または５であると判定された場合、ステップＳ４８に進み、ステータスは、状態５に更新され、処理はステップＳ３２の処理に戻り、それ以降の処理が繰り返される。
【０１３１】
ステップＳ４７において、現状のステータスが、状態４または５ではないと判定された場合、ステップＳ４９に進み、ステータスは、状態８に更新され、ス処理はステップＳ３２の処理に戻り、それ以降の処理が繰り返される。
【０１３２】
ステップＳ３２において、現状のステータスが、状態２，５，または８であると判定された場合、すなわち、タイムアウトの制限が設けられているステータスである場合、ステップＳ５０に進む。
【０１３３】
ステップＳ５０において、ステータス更新タスク８２は、タイムアウトまでに割り込みによるシグナルか、または、ステータス変更通知を受信したか否かを判定する。
【０１３４】
ステップＳ５０において、ステータス更新タスク８２が、タイムアウトまでに割り込みによるシグナル、または、ステータス変更通知を受信したと判定した場合、ステップＳ３３に進み、それ以降の処理が繰り返される。
【０１３５】
ステップＳ５０において、ステータス更新タスク８２が、タイムアウトまでに割り込み信号、または、ステータス変更通知を受信していないと判定した場合、ステップＳ５１に進む。
【０１３６】
ステップＳ５１において、現状のステータスが、状態２であるか否かが判定される。現状のステータスが、状態２であると判定された場合、ステップＳ５２に進み、ステータスは、状態１に更新され、ステップＳ３３の処理に戻り、それ以降の処理が繰り返される。
【０１３７】
ステップＳ５１において、現状のステータスが、状態２ではないと判定された場合、ステップＳ５３に進み、現状のステータスが、状態５か否かが判定される。
【０１３８】
ステップＳ５３において、現状のステータスが、状態５であると判定された場合、ステップＳ５４に進み、ステータスが、状態４に更新され、ステップＳ３３の処理に戻り、それ以降の処理が繰り返される。
【０１３９】
ステップＳ５３において、現状のステータスが、状態５ではないと判定された場合、ステップＳ５５に進み、ステータスは、状態７に更新され、ステップＳ３３の処理に戻り、それ以降の処理が繰り返される。
【０１４０】
以上の説明においては、放送信号を受信する場合について説明してきたが、例えば、API８１に、ストリームの形式を変更したり、あるいは、特定のプログラムを抽出させるマイクロコードを設けることにより、異なるストリーム形式に変換させたり、抽出させたりすることもできる。例えば、地上波で放送されているストリームを変換し、IEEE1394ケーブル５ａ，５ｂに出力させることもできる。
【０１４１】
以上の様に、複数の多重化の方法により多重化された情報を高速で、分離することが可能となる。
【０１４２】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１４３】
図７は、パーソナルコンピュータの一実施の構成を示している。パーソナルコンピュータのCPU１０１は、パーソナルコンピュータの動作の全体を制御する。また、CPU１０１は、バス１０４および入出力インターフェース１０５を介してユーザからキーボードやマウスなどからなる入力部１０６から指令が入力されると、それに対応してROM(Read Only Memory)１０２に格納されているプログラムを実行する。あるいはまた、CPU１０１は、ドライブ１１０に接続された磁気ディスク１３１、光ディスク１３２、光磁気ディスク１３３、または半導体メモリ１３４から読み出され、記憶部１０８にインストールされたプログラムを、RAM(Random Access Memory)１０３にロードして実行する。さらに、CPU１０１は、通信部１０９を制御して、外部と通信し、データの授受を実行する。
【０１４４】
この記録媒体は、図７に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１３１（フロッピーディスクを含む）、光ディスク１３２（CD-ROM(Compact Disk-Read Only Memory)，DVD（Digital Versatile Disk）を含む）、光磁気ディスク１３３（MD（Mini-Disk）を含む）、もしくは半導体メモリ１３４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１０２や、記憶部１０８に含まれるハードディスクなどで構成される。
【０１４５】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０１４６】
【発明の効果】
本発明によれば、処理可能な多重化の方法の数を多くし、かつ、高速で処理することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したセットトップボックスの構成を示すブロック図である。
【図２】図１のトランスポートストリーム処理部の構成を示すブロック図である。
【図３】図１のCPU上のソフトウェアを示すブロック図である。
【図４】図３のトランスポートストリーム処理部、ソフトウェアドライバ、および選局タスクの動作を説明するタイムチャートである。
【図５】図３のステータス更新タスクの動作を説明するフローチャートである。
【図６】図３のトランスポートストリーム処理部の状態遷移図である。
【図７】媒体を説明する図である。
【符号の説明】
１  セットトップボックス，２ａ，２ｂ  アンテナ，３  CATVケーブル，４  LANケーブル，５ａ，５ｂ  IEEE1394ケーブル，６  ビデオモニタ，７  スピーカ，８  リモートコントローラ，２１ａ，２１ｂ，２１ｃ  RFデモジュレータ，２２  ネットワークI/F，２３  IEEE1394I/F，２５  トランスポートストリーム処理部，２６  CPUバス，２７  CPU，２８  メモリ，２９  ビデオデコーダ，３０  オーディオデコーダ，３２  RFモジュレータ，３３  ネットワークI/F，４１  インストラクションメモリ，４２  インストラクションデコーダ，４３  プログラムカウンタ，４６  ALU，５１  レジスタ，５４  DMAコントローラ，７１ソフトウェアドライバ，７２  選局タスク，８１  API，８２  ステータス更新タスク，８３  割り込みハンドラ
【図１】
0004362906.tif 000002
【図２】
0004362906.tif 000003
【図３】
0004362906.tif 000004
【図４】
0004362906.tif 000005
【図５】
0004362906.tif 000006
【図６】
0004362906.tif 000007
【図７】
0004362906.tif 000008