(57)【特許請求の範囲】
【請求項１】
視聴者により視聴される番組の内容データを少なくとも含む番組データをセンタから放送し、放送された前記番組データを前記視聴者により使用される受信端末で受信し、受信された前記番組データを所定の記録媒体に記録し、前記記録媒体に記録した前記番組データを任意のタイミングで読み出し、前記番組を前記視聴者に視聴させる放送システムにおいて、
前記センタは、所定の伝送路を介して、前記番組データおよび前記番組データを処理するプログラムを含むように構成される番組オブジェクトであって、他の前記番組オブジェクトとの再生の順位を表すプライオリティデータを含む前記番組オブジェクトを前記受信端末に配信し、
前記受信端末は、前記センタから配信された前記番組オブジェクトに含まれる前記プライオリティデータまたは前記視聴者により設定される前記番組オブジェクトの再生条件に基づいて、前記番組データを表示して再生する
ことを特徴とする放送システム。
【請求項２】
前記センタは、前記プログラムのうち、様々な前記番組データに対して、共通に利用されるクラスが集められている基本的なプログラムを、基本的プログラムオブジェクトとして前記受信端末に予め配信しておき、前記番組オブジェクトのプログラムは、その番組データに特有のプログラムであって、前記基本的プログラムオブジェクトを利用するプログラムオブジェクトとする
ことを特徴とする請求項１に記載の放送システム。
【請求項３】
前記受信端末は、前記センタから配信された番組オブジェクトに含まれるプライオリティデータに基づいて、前記再生の順位が低い前記番組データの表示のための処理に割当られる時間を、前記再生の順位が高い前記番組データの表示のための処理に割当られる時間に較べ、短くすることで、コマ落し再生により前記再生の順位が低い前記番組データを表示し、
前記プログラムに従って前記番組データを選択させる場合、前記再生の順位が高い前記番組データを優先的に表示して再生し、前記視聴者の設定により前記番組データを選択させる場合、前記視聴者により設定された前記番組オブジェクトを優先的に表示して再生する
ことを特徴とする請求項１に記載の放送システム。
【請求項４】
前記センタは、複数の前記番組オブジェクトを１つにまとめて、パッケージオブジェクトとして配信する
ことを特徴とする請求項１に記載の放送システム。
【請求項５】
前記センタは、前記プログラムを、ハードウェアに依存しない中間コードとして配信する
ことを特徴とする請求項１に記載の放送システム。
【請求項６】
前記番組データは、動画像データ、静止画像データ、音声データ、または文字データの少なくとも１つを含む
ことを特徴とする請求項１のいずれかに記載の放送システム。
【請求項７】
前記受信端末は、前記センタから配信された前記番組データに特有の前記プログラムオブジェクトを実行することで、前記視聴者の操作により前記番組データの再生が停止させられた場合、前記番組オブジェクトに含まれる拡張されたクラスにより定義されるメソッドが使用する変数を定義している変数定義のうち、前記視聴者の視聴の履歴を記録する視聴履歴オブジェクトに対して、前記番組データの再生が停止されたことを示す視聴履歴情報を前記番組オブジェクトに関連付けて一時的に保持し、さらに、前記視聴者の操作により、前記番組データの再生が再開された場合、保持されている前記視聴履歴情報を基に、前記番組データの前回再生したシーンを表示させないようにして再生させる
ことを特徴とする請求項２に記載の放送システム。
【請求項８】
視聴者により視聴される番組の内容データを少なくとも含む番組データおよび前記番組データを処理するプログラムを含むように構成される番組オブジェクトであって、他の前記番組オブジェクトとの再生の順位を表すプライオリティデータを含む前記番組オブジェクトをセンタから配信し、配信された前記番組オブジェクトを前記視聴者により使用される受信端末で受信し、受信された前記番組オブジェクトに含まれる前記番組データを所定の記録媒体に記録し、前記記録媒体に記録した前記番組データを任意のタイミングで読み出し、前記番組を前記視聴者に視聴させる放送システムに用いる前記受信端末であって、
前記センタから、所定の伝送路を介して、配信されてくる前記番組オブジェクトを前記記録媒体に記録する記録手段を
備えることを特徴とする受信端末。
【請求項９】
前記放送システムは、前記受信端末に、前記プログラムのうち、様々な前記番組データに対して、共通に利用されるクラスが集められている基本的なプログラムを基本的プログラムオブジェクトとして予め配信しておき、前記番組オブジェクトのプログラムは、その番組データに特有のプログラムであって、前記基本的プログラムオブジェクトを利用するプログラムオブジェクトとする放送システムであり、
前記基本的プログラムオブジェクトを記憶する記憶手段と、
前記番組データに特有の前記プログラムオブジェクトを、前記記憶手段に記憶されている前記基本的プログラムオブジェクトを参照して実行する実行手段と
をさらに備えることを特徴とする請求項８に記載の受信端末。
【請求項１０】
前記センタから受信した前記番組オブジェクトに含まれる前記プライオリティデータを検出する検出手段と、
前記検出手段の検出結果に対応して、前記再生の順位が低い前記番組データの表示に割当られる時間を、前記再生の順位が高い前記番組データの表示のための処理に割当られる時間に較べ、短くすることで、コマ落し再生により前記再生の順位が低い前記番組データを表示して再生させる表示制御手段と
をさらに備え、
前記表示制御手段は、前記プログラムに従って前記番組データを選択させる場合、検出手段の検出結果に対応して、前記前記再生の順位が高い前記番組データを優先的に表示して再生させ、前記視聴者の設定により前記番組データを選択させる場合、前記視聴者により設定された前記番組オブジェクトを優先的に表示して再生させる
ことを特徴とする請求項８に記載の受信端末。
【請求項１１】
前記記録手段は、前記視聴者の操作により前記番組データの再生が停止させられた場合、前記番組オブジェクトに含まれる拡張されたクラスにより定義されるメソッドが使用する変数を定義している変数定義のうち、前記視聴者の視聴の履歴を記録する視聴履歴オブジェクトに対して、前記番組データの再生が停止されたことを示す視聴履歴情報を前記番組オブジェクトに関連付けて一時的に保持し、
前記表示制御手段は、前記視聴者の操作により、前記番組データの再生が再開された場合、保持されている前記視聴履歴情報を基に、前記番組データの前回再生したシーンを表示させないようにして再生させる
ことを特徴とする請求項１０に記載の受信端末。
【請求項１２】
前記放送システムは、前記プログラムを、ハードウェアに依存しない中間コードとして配信する放送システムであり、
前記中間コードを解釈し、実行する解釈手段
をさらに備えることを特徴とする請求項８に記載の受信端末。
【請求項１３】
視聴者により視聴される番組の内容データを少なくとも含む番組データと、前記番組データを処理するプログラムとを含むように構成される番組オブジェクトであって、他の前記番組オブジェクトとの再生の順位を表すプライオリティデータを含む前記番組オブジェクトをセンタから配信し、配信された前記番組オブジェクトを前記視聴者により使用される受信端末で受信し、受信された前記番組オブジェクトに含まれる番組データを所定の記録媒体に記録し、前記記録媒体に記録した前記番組データを任意のタイミングで読み出し、前記番組を前記視聴者に視聴させる放送システムに用いる前記受信端末の受信方法であって、
前記センタから、所定の伝送路を介して、配信されてくる前記番組オブジェクトを前記記録媒体に記録する
ことを特徴とする受信方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、例えば、動画像データを、衛星を介して、各家庭に配置された受信端末に放送し、受信端末において一旦これを記録し、記録した画像データを任意のタイミングにおいて視聴することができるようにする場合に用いて好適な放送システム、および受信端末に関する。
【０００２】
【従来の技術】
本出願人は、例えば特願平５−１１６４８０号として、番組情報を衛星を介して各家庭に配信することを先に提案した。この提案によれば、番組情報が符号化され、通信衛星あるいは放送衛星を介して各家庭の受信端末に放送される。各家庭の受信端末においては、受信した番組情報を記録媒体に一旦記録する。この番組情報は圧縮されているため、実時間で再生すると、例えば１日の放送分のデータが、比較的短い時間の間に受信される。
【０００３】
そして、各家庭の視聴者は、任意のタイミングにおいて、記録媒体から任意の番組を選択、再生し、視聴することができる。
【０００４】
この場合、各受信端末には、所定のプログラムを予め用意しておき、受信した番組情報を、そのプログラムに従って処理することにより、使用者の好みに応じた、変化に富んだ番組を視聴することが可能になる。
【０００５】
【発明が解決しようとする課題】
しかしながら、このような方法においては、図３０に示すように、予め受信端末側に用意されているプログラムが必要とする変数を、放送センタ側から受信端末側に放送することで、番組の表示内容を変更することが可能であるが、そのバリエーションは極めて限られたものとなる。即ち、表示内容を変化させることが可能であるが、バリエーションは予め受信端末側に用意されているプログラムに規定されている範囲に限定される。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、より変化に富んだ番組を提供することができるようにするものである。
【０００７】
【課題を解決するための手段】
本発明の放送システムは、視聴者により視聴される番組の内容データを少なくとも含む番組データをセンタから放送し、放送された番組データを視聴者により使用される受信端末で受信し、受信された番組データを所定の記録媒体に記録し、記録媒体に記録した番組データを任意のタイミングで読み出し、番組を視聴者に視聴させる放送システムにおいて、センタは、所定の伝送路を介して、番組データおよび番組データを処理するプログラムを含むように構成される番組オブジェクトであって、他の番組オブジェクトとの再生の順位を表すプライオリティデータを含む番組オブジェクトを受信端末に配信し、受信端末は、センタから配信された番組オブジェクトに含まれるプライオリティデータまたは視聴者により設定される番組オブジェクトの再生条件に基づいて、番組データを表示して再生することを特徴とする。
【０００９】
また、センタは、プログラムのうち、様々な番組データに対して、共通に利用されるクラスが集められている基本的なプログラムを、基本的プログラムオブジェクトとして受信端末に予め配信しておき、番組オブジェクトのプログラムは、その番組データに特有のプログラムであって、基本的プログラムオブジェクトを利用するプログラムオブジェクトとすることができる。
【００１０】
受信端末は、センタから配信された番組オブジェクトに含まれるプライオリティデータに基づいて、再生の順位が低い番組データの表示のための処理に割当られる時間を、再生の順位が高い番組データの表示のための処理に割当られる時間に較べ、短くすることで、コマ落し再生により再生の順位が低い番組データを表示し、プログラムに従って番組データを選択させる場合、再生の順位が高い番組データを優先的に表示して再生し、視聴者の設定により番組データを選択させる場合、視聴者により設定された番組オブジェクトを優先的に表示して再生することができる。
【００１２】
また、センタは、複数の番組オブジェクトを１つにまとめて、パッケージオブジェクトとして配信するようにすることができる。
受信端末は、センタから配信された番組データに特有のプログラムオブジェクトを実行することで、視聴者の操作により番組データの再生が停止させられた場合、番組オブジェクトに含まれる拡張されたクラスにより定義されるメソッドが使用する変数を定義している変数定義のうち、視聴者の視聴の履歴を記録する視聴履歴オブジェクトに対して、番組データの再生が停止されたことを示す視聴履歴情報を番組オブジェクトに関連付けて一時的に保持し、さらに、視聴者の操作により、番組データの再生が再開された場合、保持されている視聴履歴情報を基に、番組データの前回再生したシーンを表示させないようにして再生させることができる。
【００１３】
また、プログラムは、ハードウェアに依存しない中間コードとして配信するようにすることができる。さらに、番組データは、動画像データ、静止画像データ、音声データ、または文字データの少なくとも１つを含むようにすることができる。
【００１４】
本発明の受信端末は、視聴者により視聴される番組の内容データを少なくとも含む番組データおよび番組データを処理するプログラムを含むように構成される番組オブジェクトであって、他の番組オブジェクトとの再生の順位を表すプライオリティデータを含む番組オブジェクトをセンタから配信し、配信された番組オブジェクトを視聴者により使用される受信端末で受信し、受信された番組オブジェクトに含まれる番組データを所定の記録媒体に記録し、記録媒体に記録した番組データを任意のタイミングで読み出し、番組を視聴者に視聴させる放送システムに用いる受信端末であって、センタから、所定の伝送路を介して、配信されてくる番組オブジェクトを記録媒体に記録する記録手段（例えば図９のデータ蓄積管理部１０１）を備えることを特徴とする。
【００１５】
放送システムが、受信端末に、プログラムのうち、様々な番組データに対して、共通に利用されるクラスが集められている基本的なプログラムを基本的プログラムオブジェクトとして予め配信しておき、番組オブジェクトのプログラムを、その番組データに特有のプログラムであって、基本的プログラムオブジェクトを利用するプログラムオブジェクトとする放送システムとする場合、基本的プログラムオブジェクトを記憶する記憶手段（例えば図９の基本クラスライブラリ１２１）と、番組データに特有のプログラムオブジェクトを、記憶手段に記憶されている基本的プログラムオブジェクトを参照して実行する実行手段（例えば図９の中間コードインタープリタ１２５）とをさらに設けるようにすることができる。
【００１６】
また、本発明の受信端末は、センタから受信した番組オブジェクトに含まれるプライオリティデータを検出する検出手段（例えば図１１のプログラム上のステップＳ２４）と、検出手段の検出結果に対応して、再生の順位が低い番組データの表示に割当られる時間を、再生の順位が高い番組データの表示のための処理に割当られる時間に較べ、短くすることで、コマ落し再生により再生の順位が低い番組データを表示して再生させる表示制御手段（例えば図１７のプログラム上のステップＳ１３３乃至Ｓ１３５）とをさらに備え、表示制御手段は、プログラムに従って番組データを選択させる場合、検出手段の検出結果に対応して、再生の順位が高い番組データを優先的に表示して再生させ、視聴者の設定により番組データを選択させる場合、視聴者により設定された番組オブジェクトを優先的に表示して再生させるようにすることができる。
【００１７】
記録手段は、視聴者の操作により番組データの再生が停止させられた場合、番組オブジェクトに含まれる拡張されたクラスにより定義されるメソッドが使用する変数を定義している変数定義のうち、視聴者の視聴の履歴を記録する視聴履歴オブジェクトに対して、番組データの再生が停止されたことを示す視聴履歴情報を番組オブジェクトに関連付けて一時的に保持し、表示制御手段は、視聴者の操作により、番組データの再生が再開された場合、保持されている視聴履歴情報を基に、番組データの前回再生したシーンを表示させないようにして再生させることができる。
放送システムが、プログラムを、ハードウェアに依存しない中間コードとして配信する放送システムである場合、中間コードを解釈し、実行する解釈手段（例えば図９の中間コードインタプリタ１２５）をさらに設けるようにすることができる。
本発明の受信端末の受信方法は、視聴者により視聴される番組の内容データを少なくとも含む番組データと、番組データを処理するプログラムとを含むように構成される番組オブジェクトであって、他の番組オブジェクトとの再生の順位を表すプライオリティデータを含む番組オブジェクトをセンタから配信し、配信された番組オブジェクトを視聴者により使用される受信端末で受信し、受信された番組オブジェクトに含まれる番組データを所定の記録媒体に記録し、記録媒体に記録した番組データを任意のタイミングで読み出し、番組を視聴者に視聴させる放送システムに用いる受信端末の受信方法であって、センタから、所定の伝送路を介して、配信されてくる番組オブジェクトを記録媒体に記録することを特徴とする。
【００２１】
【作用】
上記構成の放送システムにおいては、番組データを処理するプログラムが、番組データの他に配信される。従って、変化に富んだ番組を提供することが可能となる。
【００２２】
また、本発明の受信端末においては、番組データとプログラムが記録媒体に記録される。従って、任意のタイミングにおいて、変化に富んだ番組を楽しむことが可能となる。
【００２４】
【実施例】
図１は、本発明の放送システムの基本的構成を表している。オーサリングシステム１1乃至１Nは、例えば、１つ１つが所定の番組製作者により所持されている。そして、各オーサリングシステム１iは、テキストデータ、イメージデータ、音声データ、動画像データ等の各種の素材データから任意のものを選択、合成し、必要に応じて所定のデータを付加して番組データを生成し、さらに、必要に応じて、所定のプログラムとともに、１つ、あるいは、それ以上の番組を、番組オブジェクトとしてまとめる。そして、このように生成された番組オブジェクトが放送センタ５に提供される。
【００２５】
放送センタ５は、オーサリングシステム１i（各番組提供者）から提供された番組オブジェクトを、番組編成システム２において、１つのパッケージオブジェクトとしてまとめる。このパッケージオブジェクトは、視聴者が視聴する１日分の番組を含むものである。そして、このパッケージオブジェクトが、課金情報の付与、データスクランブル、変調等の送出処理が施された後、放送送信装置３を介して、送信アンテナ４から電波で、通信／放送衛星６に伝送される。
【００２６】
尚、放送センタ５において、番組編成システム２を用いて、自ら番組オブジェクトを製作し、その番組オブジェクトをパッケージオブジェクトにまとめて放送するようにすることも可能である。
【００２７】
通信／放送衛星６は、放送センタ５の送信アンテナ４から伝送されてきた電波を受信すると、これを増幅し、所定の周波数の信号に変換し、各家庭に配置されている受信アンテナ１１に向けて送信する。
【００２８】
受信アンテナ１１で受信された信号は、各家庭に配置されている受信端末１０の受信装置１２において受信され、復調される。そして、復調された信号（パッケージオブジェクト）は、光磁気ディスク、磁気ディスク等の記録媒体１４に一旦記録される。
【００２９】
そして、使用者は、必要に応じて、キーボード、マウス、ペン、タブレット等により構成される入力デバイス１５から所定の指令を入力し、記録媒体１４に記録された所定の番組を読み出させ、表示装置１３に表示させる。
【００３０】
パッケージオブジェクトは、視聴者が実時間で視聴すると、１日分のデータを含んでいるが、圧縮されて伝送されるため、伝送に必要な時間は、例えば１０数分等、極めて短い時間となる。
【００３１】
この実施例においては、番組データおよびプログラムはオブジェクト化され、任意の数のオブジェクトにより構成される。
【００３２】
図２は、番組オブジェクトの構成を概念的に表している。即ち、いま、例えば番組オブジェクトＰがインタラクティブドラマの番組であるとすると、この番組オブジェクトＰは、ストーリオブジェクトＳと、ＣＭオブジェクトｘとにより構成されている。
【００３３】
このストーリオブジェクトＳは、シーンオブジェクトＡ乃至ＥおよびＣＭオブジェクトｙにより構成されている。
【００３４】
そして、例えばシーンオブジェクトＡは、ビデオオブジェクトＡとメッセージオブジェクトＡから構成されており、メッセージオブジェクトＡは、ナレーションオブジェクトＡとテキストオブジェクトＡにより構成されている。
【００３５】
また、ＣＭオブジェクトｘは、ビデオオブジェクトｘと商品選択オブジェクトにより構成されており、商品選択オブジェクトは、関係番組検索オブジェクトｌ，ｍ，ｎを有している。
【００３６】
図３は、このような番組オブジェクトを再生するプログラムオブジェクトの概念図を表している。同図に示すように、基本的プログラムオブジェクトとして、プレーヤオブジェクトが受信端末１０側に予め用意されている（正確には、後述するように、必要に応じて生成される）。このプレーヤオブジェクトは、各種の番組オブジェクトのうち、例えば、番組オブジェクト１あるいは番組オブジェクト２の再生が指令されると、記憶管理部２１、プロセス管理部２２、データ蓄積管理部２３、通信サブシステム２４などのうち、必要な部分を制御し、再生処理を実行する。その詳細については、図１１のフローチャートを参照して後述する。
【００３７】
図４は、このようにして再生される番組オブジェクトのフォーマットを表している。同図に示すように、番組オブジェクトは、ヘッダ部、クラス定義部、およびオブジェクトデータ部により構成される。
【００３８】
ヘッダ部は、オブジェクトヘッダ、番組ＩＤ、番組名、バージョン、オブジェクト辞書により構成される。
【００３９】
オブジェクトヘッダは、番組オブジェクトのオブジェクトＩＤ、オブジェクト名、クラスＩＤ、プライオリティ、容量により構成される。
【００４０】
番組ＩＤは、この番組オブジェクトを特定するＩＤであり、番組名は、その名称である。バージョンは、この番組オブジェクトを変更したような場合、いつの時点のものであるのかを表す。また、オブジェクト辞書は、オブジェクトデータ部に配置されている所定のオブジェクトにアクセスするためのデータが配されている。
【００４１】
各オブジェクトは、１つのクラスに属し、クラス定義は、オブジェクトの枠組を与えている。具体的には、そのクラスに属する全てのオブジェクトが共通に有する変数とメソッド（プログラム）がクラス定義部に配される。即ち、クラス定義部は、任意の数のクラス定義から構成される。クラス定義は、クラスＩＤ、クラス名、スーパクラスＩＤ、変数定義、メソッド辞書、およびメソッドより構成される。
【００４２】
クラスＩＤとクラス名は、そのクラスを特定するＩＤと名称を表している。また、スーパクラスＩＤは、このクラスの上位のクラスを表している。スーパクラス（上位のクラス）から見た下のクラスは、サブクラスと称される。
【００４３】
変数定義は、このクラス定義中のメソッド（プログラム）において用いられる変数を定義するものである。
【００４４】
また、メソッドには、プログラムが中間コード（文字列データからなるソースプログラムから生成した中間コード）として記録されている。このように、中間コードにすることで、実行時の処理効率の向上と、データ量の圧縮が可能となる。メソッド辞書は、メソッドに配置されている各メソッド（プログラム）にアクセスするためのデータが配置される。
【００４５】
このクラス定義部には、その番組オブジェクトに含まれる拡張されたクラスの定義がまとめて記述される。後述する基本クラスライブラリ１２１に存在するクラス定義は、ここに記述する必要がない。従って、その番組オブジェクトに含まれるオブジェクトが、全て基本クラスのインスタンスであれば、クラス定義部は不要となる。
【００４６】
オブジェクトデータ部は、任意の数のオブジェクトにより構成される。各オブジェクトは、オブジェクトヘッダと変数値とにより構成される。オブジェクトヘッダは、オブジェクトＩＤ、オブジェクト名、クラスＩＤ、プライオリティ、容量により構成される。オブジェクトＩＤとオブジェクト名は、このオブジェクトを特定するＩＤと名称を表す。クラスＩＤは、このオブジェクトが属するクラスを表している。また、プライオリティは、再生の順位を表しており、この実施例の場合、０乃至３のいずれかの数値が与えられる。数値が大きいほど、優先度が高いことを表している。
【００４７】
また、容量は、そのオブジェクトが有するデータの容量を表している。
【００４８】
変数値は、素材データ自体である。また、この変数値には、制御データも含まれる。
【００４９】
さらに、任意の数の番組オブジェクトによりパッケージオブジェクトが構成される。図４の実施例の場合、３つの番組オブジェクトにより、１つのパッケージオブジェクトが構成されている。
【００５０】
パッケージオブジェクトは、ヘッダ部、クラス定義部、および番組オブジェクトデータ部により構成される。
【００５１】
ヘッダ部の先頭には、オブジェクトヘッダが配置される。このオブジェクトヘッダにも、オブジェクトＩＤ、オブジェクト名、クラスＩＤ、プライオリティ、容量がそれぞれ配置される。
【００５２】
また、オブジェクトヘッダの次には、パッケージＩＤとパッケージ名が配置される。これらは、このパッケージオブジェクトのＩＤと名称を表すものである。
【００５３】
また、その次には、このパッケージオブジェクトが生成された日付とバージョンが配置される。さらにその次には、番組インデックスが配置される。この番組インデックスは、番組オブジェクトデータ部に配置されている（この実施例の場合、３つの）番組オブジェクトのオブジェクトデータ部にアクセスするためのデータが配置されている。
【００５４】
クラス定義部には、このパッケージオブジェクトにまとめられた３つの番組オブジェクトのクラス定義部に記述されているクラス定義が記録される。各番組オブジェクトのクラス定義部において、重複する部分は適宜省略される。そして、このクラス定義部は、上述したように、中間コードで記述される。
【００５５】
さらに、番組オブジェクトデータ部は、このパッケージオブジェクトにまとめられる番組オブジェクトのヘッダ部とオブジェクトデータ部が配置される（即ち、クラス定義部以外の部分が配置される）。
【００５６】
図５は、図１におけるオーサリングシステム１iの構成例を示している。テキストデータ、イメージデータ、音声データ、動画像データ等により構成される素材データは、外部入出力管理部３１を介して、データ変換部３２に入力される。データ変換部３２は、入力された素材データを、各メディア毎に、システムの内部処理用のデータフォーマットに変換する。例えばイメージデータの場合、ＧＩＦ、ＴＩＦＦ、ＸＷＤ等のフォーマットに変換される。また、動画像データの場合、例えば、ＭＰＥＧフォーマット等に変換される。変換されたデータは、データ蓄積管理部３３を介して、磁気ディスク（ＨＤ）、光磁気ディスクなどよりなる二次記憶装置３４に記憶される。
【００５７】
編集処理部３５は、このように二次記憶装置３４に記憶されたデータを適宜読み出し、上述した番組オブジェクトを編集する（オーサリング処理を行う）。
【００５８】
主なオーサリング過程としては、画面構成のデザイン、レイアウト、時間経過やユーザの操作に従った表示や音声の変化の定義（同期設定）、これらに伴う処理プログラムのプログラミング（アクション定義）等がある。これらの過程は、素材データを編集処理部３５から表示／再生管理部４２に供給し、画像データは表示装置４３に出力、表示させ、音声データはスピーカ４４に出力して、適宜モニタして行われる。上述したように、番組オブジェクトは、基本的に番組データとプログラムとから構成される。プログラムや一部の素材データなどは、入力デバイス３８を操作して入力される。このプログラムは、操作管理部３７より編集処理部３５に入力される。編集処理部３５でプログラムされた文字列からなるソースプログラムは、中間コードコンパイラ３６により中間コードに変換される。
【００５９】
編集処理部３５は、素材データから生成した番組データとプログラムとを番組オブジェクトとしてまとめる処理を行う。そして、製作途中段階の番組オブジェクトは、表示装置４３とスピーカ４４より適宜出力される。即ち、編集処理部３５は、操作管理部３７を介して、再生サブシステム３９に、製作途中段階の番組オブジェクトの番組データを供給する。また、プログラムは、中間コードコンパイラ３６により中間コードに変換されて、再生サブシステム３９に供給される。
【００６０】
再生サブシステム３９は、供給された番組データとプログラムを、記憶管理部４０を介して主記憶４１に適宜記憶させる。そして、記憶されたプログラムに従って番組データを処理し、表示／再生管理部４２に、表示／再生コマンドとともに番組データを出力し、画像を表示装置４３に、音声をスピーカ４４に出力させる。このようにして、製作途中段階の番組オブジェクトを適宜モニタすることができる。
【００６１】
尚、動画像データとそれに対応する音声データのように、時間軸を持ち、同期をとって連続的に出力されるべきデータは、受信端末１０上での記録媒体からの読み出しが同期処理に遅れることのないように、インタリーブ処理される。
【００６２】
以上のようにして作成された番組オブジェクトは、データ蓄積管理部３３を介して二次記憶装置３４に記憶される。
【００６３】
以上のオーサリング処理をフローチャートにまとめると、図６に示すようになる。即ち、最初にステップＳ１において、外部入出力管理部３１によりデータの取り込み処理が行われる。そして次にステップＳ２に進み、データ変換部３２においてフォーマット変換が行われ、データ蓄積管理部３３を介して二次記憶装置３４に記憶される。
【００６４】
次にステップＳ３に進み、二次記憶装置３４に記憶したデータの読み出しが行われる。さらにステップＳ４に進み、編集処理部３５においてオーサリング処理が実行される。そして、オーサリング処理が完了したとき、ステップＳ５に進み、作成した番組オブジェクトが二次記憶装置３４に記憶される。
【００６５】
尚、再生サブシステム３９の処理は、基本的に受信端末１０において行われる処理であるため、その詳細は、図９の再生サブシステム１０４の動作に関連して、後に詳述する。
【００６６】
このように、編集処理は、製作者からの指示を入力デバイス３８から操作管理部３７を介して入力し、この指示に従って各種のオブジェクト（番組オブジェクトやこれを構成するメディアデータ、プログラム等）を生成、改変する処理である。
【００６７】
図７は、図１の番組編成システム２の構成例を示している。この番組編成システム２は、図５に示したオーサリングシステム１iと基本的に同様の構成とされている。即ち、オーサリングシステム１iの外部入出力管理部３１乃至スピーカ４４に対応して、外部入出力管理部６１乃至スピーカ７４を有している。そして、この他に、番組編成システム２は、番組編成処理部８１を有している。
【００６８】
即ち、この番組編成システム２は、図５に示したオーサリングシステム１iと全く同様にオーサリング処理を実行する他、任意の数の番組オブジェクトを、１つのパッケージオブジェクトにまとめる編集処理を実行することができるようになされている。この処理が、番組編成処理部８１において、例えば図８のフローチャートに示すように行われる。
【００６９】
最初にステップＳ１１において、任意の数の番組オブジェクトの取り込み、記憶処理が行われる。即ち、番組編成処理部８１は、１つのパッケージオブジェクトにまとめるべき番組オブジェクトを、外部入出力管理部６１から取り込み、二次記憶装置６４に記憶させる。次にステップＳ１２に進み、パッケージオブジェクトのヘッダ生成処理を実行する（図４）。
【００７０】
さらにステップＳ１３に進み、１つのパッケージオブジェクトとして生成するとき、そのパッケージオブジェクトを構成する各番組オブジェクトが矛盾したり、無駄が発生しないように、整合処理を実行する。例えば、複数の番組オブジェクトに共通するクラス定義が存在するような場合においては、重複するクラス定義を削除する。また、オブジェクトＩＤ、クラスＩＤ、名称等の重複を回避する処理を行う。そしてステップＳ１４に進み、完成したパッケージオブジェクトを二次記憶装置６４に記憶させる。
【００７１】
図９は、図１の受信端末１０の構成例を表している。受信アンテナ１１で受信した信号（パッケージオブジェクト）が放送受信サブシステム１００に入力され、復調された後、データ蓄積管理部１０１を介して、磁気ディスク（ハードディスク）１４Ａ、光磁気ディスク１４Ｂなどよりなる記録媒体１４を有する二次記憶装置１０２に記憶される。また、この二次記憶装置１０２には、外部入出力管理部１０３を介して、適宜データやプログラムが記憶され、また、読み出されるようになされている。
【００７２】
再生サブシステム１０４は、仮想機械と称される共通化可能な処理系であり、通常ソフトウエアにより構成される部分であり、便宜上、ローダ１２２、基本クラスライブラリ１２１、資源・安全性管理部１２３、プロセス（スレッド）管理部１２４、中間コードインタープリタ１２５、および同期管理部１２６の機能ブロックにより表されている。
【００７３】
基本クラスライブラリ１２１には、当該再生サブシステム１０４の基本機能、様々な番組オブジェクトやその他のオブジェクトに共通に利用されるクラスが集められ、中間コードで記述されている。この基本クラスライブラリ１２１に記述されているクラスに属するオブジェクトを使う場合、そのクラス定義を送信する必要はなく、そのクラスＩＤを指定するだけでよい。番組オブジェクトやパッケージオブジェクト自体のクラス定義も、ここに記述されている。
【００７４】
即ち、この基本クラスライブラリ１２１は、プログラムのうち、基本的プログラムオブジェクトが予め記憶されている部分である。この基本的プログラムオブジェクトは、例えばフロッピィディスク等の記録媒体に記録し、各家庭に予め配送し、記憶させたり、あるいは、放送センタとの契約が成立した直後において、放送センタから受信端末１０に対して配信しておくようにすることが可能である。
【００７５】
ローダ１２２は、二次記憶装置１０２に記憶されたパッケージオブジェクトのプログラム（中間コード）を、資源・安全性管理部１２３と記憶管理部１０６を介して主記憶１０７にロードするためのものであり、このとき、主記憶１０７に、既にローディングされているコード（例えば、基本クラスライブラリ１２１に記憶されている基本クラスのコードや、ユーザが作成したユーザオブジェクトのコード）が存在する場合、そのコードと中間コードとの間の対応関係を表すテーブルを作成する。
【００７６】
資源・安全性管理部１２３は、二次記憶装置１０２に記憶されているデータが破壊されたり、あるいは、許可を得ていない者が二次記憶装置１０２、主記憶１０７などに記憶されているデータにアクセスすることや、プロセス管理部１２４にリクエストを出すことを禁止する処理などを実行する部分である。また、所定のオブジェクトによるデータ破壊、改変、ＣＰＵタイムの占有を防ぐ。
【００７７】
また、プロセス管理部１２４は、主記憶１０７に記憶されたプログラムに従って、メインプロセス、タイマプロセス、再生プロセス等の各種のプロセスを実行、管理せしめる部分である。中間コードインタープリタ１２５は、基本クラスライブラリ１２１に記憶されているプログラム、あるいはローダ１２２よりロードされたプログラムの中間コードを、逐次的に、解釈、実行する部分である。また、同期管理部１２６は、音声データと動画像データなどのように、時間的に同期して出力することが必要なデータを管理する部分であり、中間コードインタープリタ１２５からの要求に応じて、時間経過に従った複数メディアオブジェクトの同期スケジューリングを事前に行い、システムクロックを基に、各メディアオブジェクトへ再生開始、停止、スロー、倍速などのメッセージを送り、同期制御を行う。
【００７８】
尚、図中ハッチングを施して示した資源・安全性管理部１２３、プロセス管理部１２４、および同期管理部１２６が、ハードウエア毎に異なる構成となる部分であり、ハッチングを施していない基本クラスライブラリ１２１、ローダ１２２、および中間コードインタープリタ１２５は、ハードウエアの種類にかかわりなく、共通に構成することができる部分である。
【００７９】
即ち、ハッチングを施した各部と、中間コードインタープリタ１２５の下位の部分が、ハードウエアやＯＳに依存する部分なので、この部分を適当なものに選択すれば、プログラムは中間コードで記述されるため、各種の端末装置上にソフトウエアによって、図９に示す再生サブシステム１０４を実現することができる。
【００８０】
通信サブシステム１０５は、資源・安全性管理部１２３の管理下にあり、所定の伝送路を介して、他の受信端末あるいは放送センタと各種のデータを授受するとき用いられる。システムクロック発生回路１０９は、システムクロックを発生し、プロセス管理部１２４と同期管理部１２６に供給している。
【００８１】
また、表示／再生管理部１１０は、同期管理部１２６あるいは中間コードインタープリタ１２５より供給されるデータのうち、画像データを表示装置１３に出力し、音声データをスピーカ１１１に出力するようになされている。
【００８２】
このように、データとプログラムのフォーマット化（図４）を行うとともに、プログラムを中間コードとして、その処理系を仮想機械とすることで、専用の受信装置に限らず、パソコン、その他の情報端末を、本実施例における受信端末１０として用いることが可能となる。
【００８３】
次に、その動作について説明するが、その前に、図１０を参照して、この受信端末１０が実行する３つのプロセスの関係について説明する。受信端末１０は、メインプロセス（図１１および図１２）の処理と、タイマプロセス（図２１）の処理を、例えば電源をオンしたとき、常に実行するようになされている。このメインプロセスには、再生すべきオブジェクトを管理するためのデータを記録する再生キューが内蔵されている。
【００８４】
そして、再生プロセスは、メインプロセスにより必要に応じて生成され、所定のタイミングで、起動、中断、停止、終了の処理が指令される。また、再生プロセスは、処理を終了したとき、その終了メッセージをメインプロセスに出力するようになされている。この再生プロセスは、再生プロセス１、再生プロセス２、あるいは優先再生プロセス１など、適宜所定のものが、必要に応じて生成されるようになされている。
【００８５】
次に、図１１および図１２を参照して、メインプロセスの処理について説明する。最初にステップＳ２１において、中間コードインタープリタ１２５は、ローダ１２２を制御し、受信アンテナ１１で受信し、二次記憶装置１０２に記憶したパッケージオブジェクトのヘッダ部とクラス定義部（図４）をローダ１２２により読み出させ、資源・安全性管理部１２３、記憶管理部１０６を介して主記憶１０７にロードさせる。
【００８６】
次にステップＳ２２に進み、パッケージオブジェクトの番組オブジェクトデータ部内の１つの番組オブジェクトのヘッダ部（図４）を読み込む。パッケージオブジェクトには、プライオリティの値が大きい順に番組オブジェクトが格納されており、各番組オブジェクトのヘッダ部は、格納順に読み出される。そしてステップＳ２３に進み、ステップＳ２２において読み込んだヘッダ部から、プライオリティを読み込む。上述したように、このプライオリティには、０，１，２または３のいずれかの値が配されている。プライオリティが３のデータは、緊急時における番組、あるいは放送センタが各視聴者に対して確実に視聴してもらいたい番組に対して付与されているものである。
【００８７】
ステップＳ２４において、ステップＳ２３で読み込んだプライオリティが３であるか否かが判定され、３ではないと判定されたとき、ステップＳ２５に進み、そのパッケージオブジェクトを構成する他の番組オブジェクトのヘッダ部の読み込みが終了したか否かが判定され、まだ読み込んでいない番組オブジェクトが存在する場合は、ステップＳ２２に戻り、それ以降の処理が同様に繰り返される。
【００８８】
ステップＳ２４において、読み込んだプライオリティが３であると判定された場合、ステップＳ２６に進み、優先プレーヤオブジェクトを生成する。即ち、これにより、図１０に示すように、メインプロセスから優先再生プロセスの基礎となる優先プレーヤオブジェクト（そのクラスは、基本クラスライブラリ１２１に含まれている）が生成される。
【００８９】
即ち、優先プレーヤオブジェクトのクラス定義に従って、主記憶１０７上の必要な領域が確保され、その中に、各変数領域を配置し、それぞれの変数値に当たる実データを二次記憶装置１０２より読み出し、主記憶１０７にロードして、インスタンシェートを行う。また、同時に、初期化メソッドなど、必要な処理が行われる。尚、大量で、表示／再生時においてのみ必要な各メディアの内容データは、インスタンシェート時ではなく、その後の表示／再生メソッドの起動時に、二次記憶装置１０２から読み出される。
【００９０】
次にステップＳ２７に進み、タイマプロセスにセットメッセージを出力する。プライオリティ３の番組は、後述するように、所定時間毎に自動的に表示させるようにする。タイマプロセスの詳細な処理は、図２１を参照して後述するが、タイマプロセスは、メインプロセスからこのセットメッセージを受信したとき、プライオリティ３の番組を自動的に表示する時間間隔の設定処理を、そのステップＳ１８３で行うことになる。
【００９１】
次にステップＳ２８に進み、再生プロセス生成処理を実行する。この再生プロセス生成処理の詳細は、図１３に示されている。
【００９２】
即ち、最初にステップＳ６１において、当該プレーヤオブジェクト（いまの場合、優先プレーヤオブジェクト）を基に、新規の再生プロセスを、ＲＥＡＤＹ状態で生成する。即ち、いまの場合、優先プレーヤオブジェクトからＲＥＡＤＹ状態の優先再生プロセスを生成する。これにより、図１０に示すように、メインプロセスからの生成指令に対応して、優先再生プロセスが生成されたことになる。
【００９３】
また、このとき、時間割当を管理するカウンタＷＣ（図１７のステップＳ１３４乃至Ｓ１３６で用いられる）と、経過時間を管理するカウンタＣＣ（図１９のステップＳ１６４，Ｓ１６５，Ｓ１６７，Ｓ１６８において用いられる）が、０に初期設定される。
【００９４】
次にステップＳ６２に進み、再生キューセット処理を実行する。この再生キューセット処理の詳細は、図１４に示されている。
【００９５】
即ち、ステップＳ８１において、当該番組オブジェクトのプライオリティを評価する。いまの場合、プライオリティは３であり、最も優先度が高い値となっている。
【００９６】
次にステップＳ８２に進み、再生プロセスのＩＤを適切なキュー位置にセットする。
【００９７】
即ち、メインプロセスは、図１５に示すような再生キューを生成、保持しており、プライオリティが高い順に、いま生成されている再生プロセスのリストを生成する。いまの場合、プライオリティ３の優先再生プロセスが生成されたので、最も読み出し順位が早い位置に、この優先再生プロセスのＩＤ（０８２４７）がセットされる。
【００９８】
このような再生キューセット処理が終了した後、図１１のステップＳ２８に戻り、ステップＳ２８からステップＳ２５に進む。
【００９９】
そしてステップＳ２５において、パッケージオブジェクトの番組オブジェクトデータ部に、まだヘッダ部を読み取っていない番組オブジェクトがあるか否かを判定し、読み取っていない番組オブジェクトがまだ存在する場合においては、ステップＳ２２に戻り、同様の処理を実行して、その番組オブジェクトのヘッダ部を読み込む。
【０１００】
以上のようにして、パッケージオブジェクトに含まれる全ての番組オブジェクトのヘッダ部の読み込みが完了したとステップＳ２５において判定された場合、ステップＳ２９に進み、番組選択メニュー表示処理を実行する。即ち、中間コードインタープリタ１２５は、表示／再生管理部１１０を制御し、表示装置１３に番組選択メニューを表示させる。
【０１０１】
この番組選択メニューは、デフォルトのプログラムに従って番組を選択するか、あるいは、ユーザが定義した番組選択方法（ユーザオブジェクト）に従って番組を選択するかの選択のための表示である。使用者は、インタラクティブ機能を果たす入力デバイス１５を操作して、そのいずれかを選択して、デフォルトまたはユーザ定義のいずれか一方の番組選択方法に応じて、番組を選択することができるようになされている。
【０１０２】
デフォルトを選択すると、後述するように、プライオリティに従って各番組オブジェクトが順次再生されることになる。これに対して、ユーザ定義を選択すると、そのユーザが、例えばドラマを指定していれば、受信した番組オブジェクトのうち、ドラマの番組だけが選択され、表示されることになる。
【０１０３】
次にステップＳ３０に進み、再生キューが空であるか否かが判定される。再生キューが空でない場合、例えば、上述したように、プライオリティ３の番組オブジェクトが存在する場合、ステップＳ２８の再生プロセス生成処理において実行したステップＳ６２の再生キューセット処理により、再生キューに所定の再生プロセスＩＤがセットされているため、再生キューは空ではないことになる。このような場合、ステップＳ３７において、再生キュー評価処理が実行されることになる。この再生キュー評価処理の詳細は、図１６に示されている。
【０１０４】
即ち、最初にステップＳ１０１において、再生中の再生プロセスが存在するか否かが判定される。現在再生中の再生プロセスが存在する場合においては、ステップＳ１０２に進み、再生キューの先頭の再生プロセス（次に再生予定の再生プロセス）のプライオリティが、いま再生中の再生プロセスのプライオリティより高いか否かが判定される。
【０１０５】
上述したように、プライオリティ３の番組が存在する場合においては、再生キューの先頭にはプライオリティ３の再生プロセスのＩＤがセットされている。従って、現在再生中の再生プロセスが、２以下のプライオリティを有するものである場合、ステップＳ１０３に進み、再生中の再生プロセスに中断メッセージが出力される。即ち、図１０に示すように、メインプロセスから再生プロセスに、中断のメッセージが出力される。図１７を参照して後述するように、再生プロセスは、メインプロセスからこの中断メッセージを受信したとき、ステップＳ１２５において、状態変数をＲＵＮからＷＡＩＴに変更する。即ち、表示のための処理時間の割当を、ここでは１／２０にすることになる。
【０１０６】
次にステップＳ１０３からステップＳ１０４に進み、再生キューセット処理を実行する。上述したように、この再生キューセット処理は、図１４に示されている。
【０１０７】
即ち、ステップＳ８１において、当該番組オブジェクト、即ち、現在再生中の再生プロセスのプライオリティを評価し、ステップＳ８２において、その評価に対応する適切なキューに、現在再生中の再生プロセスのＩＤをセットする。
【０１０８】
後述するように、再生プロセスの処理を実行（再生）するには、この再生キューに、再生プロセスのＩＤをセットする必要があるのであるが、再生処理が開始されると、その再生プロセスのＩＤは、再生キューから除去される（ステップＳ１０６）。このため、中断した（表示処理時間の割当を減少させた）再生プロセスを再度実行できるようにする（通常の表示処理時間の割当に戻す）ために、現在再生中（遅い表示速度で表示中）の再生プロセスのＩＤを、再び再生キューにセットするようにするのである。
【０１０９】
このように、再生キューセット処理が終了した後、あるいはまた、ステップＳ１０１において、現在再生中の再生プロセスが存在しないと判定された場合、次にステップＳ１０５に進み、再生キューの先頭の再生プロセスに起動メッセーシを出力する。即ち、図１０に示すように、メインプロセスから再生プロセスに起動メッセージが出力される。図１７を参照して後述するように、再生プロセスは、この起動メッセージを受信したとき、ステップＳ１２２において、変数ＲＥＡＤＹまたはＷＡＩＴをＲＵＮに変更する。即ち、未表示（ＲＥＡＤＹ）または遅い速度で表示中（ＷＡＩＴ）の再生プロセスを、通常の速度（ＲＵＮ）の表示にする。
【０１１０】
ステップＳ１０５の次に、ステップＳ１０６に進み、ステップＳ１０５で起動メッセージを出力した再生プロセスのＩＤを、再生キューから除去する。
【０１１１】
ステップＳ１０２において、再生キューの先頭の再生プロセスのプライオリティが、再生中の再生プロセスのプライオリティと等しいか、それより小さいと判定された場合においては、ステップＳ１０３乃至Ｓ１０６の処理は、スキップされる。即ち、再生中の再生プロセスが存在し、そのプライオリティの方が、再生キューの先頭の再生プロセスのプライオリティと等しいか、それより高い場合においては、再生中の再生プロセスを優先すべきであるので、特別の処理を実行しないのである。
【０１１２】
図１２のステップＳ３０において、再生キューが空であると判定された場合、あるいはまた、ステップＳ３７において、再生キュー評価処理が完了した後、ステップＳ３１に進み、タイマからアラームが発生されたか否かが判定される。即ち、上述したように、ステップＳ２７において、メインプロセスからタイマプロセスにセットメッセージを出力すると、タイマプロセスは、図２１のステップＳ１８５において、所定の時間を計時したとき、メインプロセスへアラームメッセージを出力する。これにより、図１０に示すように、タイマプロセスからメインプロセスへアラームメッセージが出力される。
【０１１３】
このことは、プライオリティ３の番組を、周期的（定期的）に表示すべき時間になったことを表している。従って、この場合においては、ステップＳ３１からステップＳ３８に進み、アラームのあった再生プロセスＩＤについて、再生キューセット処理が行われる。
【０１１４】
即ち、図１４のステップＳ８１において、アラームのあった再生プロセスＩＤ（プライオリティが３の再生プロセスＩＤ）を評価し、ステップＳ８２において、適切なキュー位置に、その再生プロセスのＩＤをセットする。プライオリティが３なので、通常、より順位の早い位置にセットされる。
【０１１５】
ステップＳ３１において、タイマからのアラームが受信していないと判定された場合、あるいは、ステップＳ３８における再生キューセット処理が終了した後、ステップＳ３２に進み、ステップＳ２９において表示した番組選択メニューから、ユーザが番組の選択をしたか否かが判定される。
【０１１６】
ユーザが再生を行いたい番組を選択したと判定された場合、ステップＳ３９に進み、プレーヤオブジェクトが生成される。そして、ステップＳ４０に進み、図１３に示す再生プロセス生成処理が実行される。即ち、ステップＳ３９で生成したプレーヤオブジェクトを基に、ステップＳ６１で新規の再生プロセスをＲＥＡＤＹ状態で生成し、ステップＳ６２において、図１４に示した再生キューセット処理を実行する。
【０１１７】
図１４のステップＳ８１で、いま生成した再生プロセスのプライオリティを評価し、ステップＳ８２において、そのプライオリティに対応するキュー位置に、その再生プロセスのＩＤをセットする。これにより、ユーザが選択したプレーヤオブジェクトに対応する再生プロセスのＩＤが、再生キューにセットされたことになる。
【０１１８】
図１２のステップＳ３２において、ユーザの番組選択指定がなされていないと判定された場合、あるいは、ステップＳ４０の再生プロセス生成処理が終了したとき、次にステップＳ３３に進み、ユーザが停止指令を発生したか否かが判定される。ユーザが停止指令を発生したとき、ステップＳ４１に進み、該当する再生プロセスに停止メッセージを出力する。即ち、図１０において、メインプロセスから再生プロセスに停止メッセージが出力されることになる。
【０１１９】
再生プロセスにおいては、図１７に示すように、この停止メッセージを受信したとき、ステップＳ１２８において、変数ＲＵＮをＲＥＡＤＹに変更する。即ち、通常速度で表示している再生処理を停止させる。番組が終了する以前に、ユーザが途中で番組を停止した場合であるから、後で再びこの番組を途中から再生することができるようにするため、次にステップＳ４２に進み、図１４に示す再生キューセット処理を実行する。即ち、いま、再生中の再生プロセスを再び再生できるように、再生キューにセットするのである。
【０１２０】
ステップＳ３３において、ユーザが停止指令を発生していないと判定されたとき、または、ステップＳ４２において、再生キューセット処理が完了したとき、次にステップＳ３４に進み、ユーザが番組終了指令を発生したか否かが判定される。ユーザが番組終了指令を発生したとき、ステップＳ４３に進み、該当する再生プロセスに終了メッセージを出力する。即ち、図１０において、メインプロセスから再生プロセスに終了メッセージが出力されたことになる。再生プロセスは、図１７に示すように、この終了メッセージを受信したとき、プライオリティが３であれば、ステップＳ１３１において、変数ＲＵＮをＲＥＡＤＹに変更し、再生処理を終了させる。
【０１２１】
ステップＳ４３の次にステップＳ４４に進み、再生プロセスを起動したメモリを開放するなどの必要な後処理Ａを行った後（例えば、再生プロセスがプライオリティ３の場合、メモリ開放はまだ行わない）、ステップＳ３６に進む。
【０１２２】
尚、ユーザが番組終了を指令した場合、番組を途中で停止するのではなく、再生処理そのものを終了させるのであるから、この場合においては、現在再生中の再生プロセスを再生キューに再度セットする処理は実行されないことになる。
【０１２３】
ステップＳ３４において、ユーザが番組終了指令を発生していないと判定された場合、ステップＳ３５に進み、再生プロセスから終了メッセージが受信されたか否かが判定される。後述するように、プライオリティ３の再生プロセスは、番組再生が終了したとき、図１８のステップＳ１４０において、終了メッセージを出力する。即ち、図１０において、再生プロセスからメインプロセスに終了メッセージが出力されたことになる。メインプロセスは、ステップＳ３５において、この終了メッセージを受信したとき、ステップＳ４５に進み、必要な後処理Ｂを行った後（ここでは、プライオリティ３の再生プロセスのメモリも開放される）、ステップＳ３６に進む。
【０１２４】
ステップＳ３５において、再生プロセスから終了メッセージが受信されていないと判定された場合、あるいは、ステップＳ４４の後処理Ａ、ステップＳ４５の後処理Ｂが終了したとき、ステップＳ３６に進み、視聴の終了が指令されているか否かが判定され、終了されていなければ、ステップＳ３０に戻り、それ以降の処理を繰り返し実行する。そして、視聴の終了が指令されたと判定された場合、ステップＳ４６に進み、終了処理を実行して、処理を終了する。
【０１２５】
次に、図１７と図１８を参照して、再生プロセスの処理について説明する。最初にステップＳ１２１において、メインプロセスから起動メッセージを受信したか否かが判定される。上述したように、この起動メッセージは、図１２のステップＳ３７の再生キュー評価処理（図１６のステップＳ１０５）において発生される。起動メッセージが受信されていると判定された場合、ステップＳ１２２に進み、変数がＲＥＡＤＹであれば、これをＲＵＮに、あるいはＷＡＩＴであれば、これをＲＵＮに、それぞれ変更する。ＲＥＡＤＹは、再生がされていない状態を表し、ＷＡＩＴは、時間割当が少ない状態で再生処理が行われている状態であることを表している。再生プロセスは、変数をＲＵＮに変更すると、通常の速度での再生処理が開始されることになる。
【０１２６】
即ち、変数がＲＵＮになると、ステップＳ１３３とステップＳ１３７の状態判定において、ＮＯと判定され、ステップＳ１３８の再生処理が行われ（その詳細は、図１９を参照して後述する）、ステップＳ１３９からステップＳ１２１に戻り、以下同様の処理が繰り返されて、通常の速度の表示が行われる。
【０１２７】
ステップＳ１２１において、起動メッセージを受信していないと判定された場合、またはステップＳ１２２の変数変更処理が実行されたとき、次にステップＳ１２３に進み、中断メッセージが受信されているか否かを判定する。上述したように、この中断メッセージは、図１２のステップＳ３７（図１６のステップＳ１０３）において発生される。
【０１２８】
中断メッセージが受信されたと判定された場合、ステップＳ１２４に進み、現在の再生位置を保持し、さらにステップＳ１２５に進み、変数ＲＵＮをＷＡＩＴに変更するとともに、カウンタＷＣを０にリセットする。即ち、現在の再生位置より、通常の再生速度（時間割当が１）である再生状態から、時間割当が１／２０である再生状態に変更される。そして、時間割当を１／２０に設定するためのカウンタＷＣが０に初期設定される。
【０１２９】
ステップＳ１２３において、中断メッセージが受信されていないと判定された場合、およびステップＳ１２５における変数変更処理が実行された後、次にステップＳ１２６に進み、停止メッセージが受信されているか否かが判定される。この停止メッセージは、図１２のメインプロセスのステップＳ４１において発生される。停止メッセージが受信されたと判定された場合、ステップＳ１２７に進み、現在の再生位置が保持される。これにより、以後、所定のタイミングにおいて、再生を一旦停止した位置から、再度再生が可能なようになされる。そして、ステップＳ１２８に進み、変数ＲＵＮをＲＥＡＤＹに変更する。即ち、通常の速度の再生動作が停止される。
【０１３０】
ステップＳ１２６において、停止メッセージが受信されていないと判定された場合、あるいはステップＳ１２８において、変数の変更が完了したとき、ステップＳ１２９に進み、終了メッセージが受信されているか否かが判定される。この終了メッセージは、図１２のメインプロセスのステップＳ４３において発生される。
【０１３１】
終了メッセージが受信されたと判定された場合、ステップＳ１３０に進み、自分（再生プロセス）は、優先再生プロセスであるか否かが判定される。即ち、プライオリティが３の再生プロセスであるか否かが判定される。
【０１３２】
ステップＳ１３０において、自分は、優先再生プロセスではないと判定されたとき、ステップＳ１４１に進み、自分の再生プロセスの終結処理を行って、メモリを開放する処理を実行する。そして、再生プロセス処理を終了させる。
【０１３３】
プライオリティが３の再生プロセスである場合においては、ステップＳ１３０からステップＳ１３１に進み、変数ＲＵＮをＲＥＡＤＹに変更し、再生動作を停止する。そしてステップＳ１３２に進み、画面表示を消去し、ステップＳ１３３に進む。即ち、ユーザが終了を指令したので、優先再生プロセスであったとしても、再生を終了させるのである。
【０１３４】
しかしながら、自分が優先再生プロセスであるので、終了メッセージを受信したとしても、再生は終了させるが、処理は終了させずに、ステップＳ１３３以降の処理を実行することになる。
【０１３５】
ステップＳ１２９において、終了メッセージを受信していないと判定されたとき、あるいはステップＳ１３２において、画面表示消去指令を実行した後、次にステップＳ１３３に進み、現在の再生モードがＷＡＩＴであるか否かが判定される。即ち、１／２０の時間割当の表示状態であるか否かが判定される。
【０１３６】
ステップＳ１３０において、自分が優先再生プロセスであると判定された場合、ステップＳ１３１に進み、モードがＲＵＮからＲＥＡＤＹに変更されている。この場合においては、ステップＳ１３３において、ＮＯと判定され、ステップＳ１３７に進み、ステップＳ１３７において、ＹＥＳと判定され、ステップＳ１２１に戻る。そして、それ以降の処理が繰り返し実行される。
【０１３７】
そして、上述したように、タイマプロセスが所定の時間を計時したとき、アラームメッセージをメインプロセスに出力する（図２１のステップＳ１８５）。メインプロセスは、このアラームメッセージを受信したとき、図１２のステップＳ３８において、そのアラームのあった再生プロセスのＩＤを再生キューにセットする。これにより、ステップＳ３０において、再生キューが空でないと判定されるため、ステップＳ３７に進み、再生キュー評価処理が実行され、図１６のステップＳ１０５において、その再生キューの先頭の再生プロセスに起動メッセージが出力される。
【０１３８】
この起動メッセージが、図１７の再生プロセス（画面は消去しているが、処理は終了していない）のステップＳ１２１において受信され、ステップＳ１２２において、ＲＥＡＤＹがＲＵＮに変更される。即ち、終了メッセージを受信し、再生が終了された優先再生プロセスが、一定時間経過後、再生すべき時間に達したとき、再び再生されることになる。
【０１３９】
一方、ステップＳ１２５において、変数がＷＡＩＴに変更され、通常の表示時間割当の１／２０の状態で表示が行われている場合においては、ステップＳ１３３からステップＳ１３４に進み、ステップＳ１２５、または図１３のステップＳ６１において、０に初期設定したカウンタＷＣが２０以上であるか否かを判定する。
【０１４０】
カウンタＷＣが２０未満であると判定された場合においては、ステップＳ１３５に進み、カウンタＷＣを１だけインクリメントし、ステップＳ１２１に戻る。そして、ステップＳ１２１，Ｓ１２３，Ｓ１２６，Ｓ１２９を介して、再びステップＳ１３３に進み、再生モードがＷＡＩＴであるか否かが判定される。そして再生モードがＷＡＩＴであれば、ステップＳ１３４に進み、カウンタＷＣが２０未満であれば、ステップＳ１３５に進み、カウンタＷＣが１だけインクリメントされる。
【０１４１】
以上のような処理が繰り返され、ステップＳ１３４において、カウンタＷＣが２０以上に達したと判定されたとき（通常の表示速度の２０倍の時間が経過したとき）、ステップＳ１３６に進み、カウンタＷＣが再び０に初期設定される。
【０１４２】
次にステップＳ１３７に進み、モードがＲＥＡＤＹ（非再生状態）であるか否かが判定され、ＲＥＡＤＹでなければ（ＷＡＩＴ（１／２０の速度の表示状態）であれば）、ステップＳ１３８に進み、再生処理が実行される。この再生処理の詳細は、図１９に示されている。尚、この図１９の処理は、上述したように、ステップＳ１３３，Ｓ１３７でＮＯと判定されるため、変数がＲＵＮの場合においても実行される。
【０１４３】
最初にステップＳ１６１において、ユーザから何らかの入力がなされたか否かが判定され、入力がなされている場合においては、ステップＳ１６２に進み、その入力に対応する処理が実行される。処理内容は、番組オブジェクト毎に記述されている。
【０１４４】
ステップＳ１６１において、ユーザから特に入力がなされていないと判定された場合、またはステップＳ１６２の処理が完了したとき、ステップＳ１６３に進み、いま再生している番組が連続メディアであるか否かが判定される。即ち、動画像データや音声データなど、時系列をなすデータであるか否かが判定される。連続メディアであると判定された場合、ステップＳ１６４に進み、カウンタＣＣが０であるか否かが判定される。カウンタＣＣは、図１３に示す再生プロセス生成処理のステップＳ６１において、０に初期設定されている。この場合、ステップＳ１６４からステップＳ１６６に進み、システムクロック発生回路１０９が出力するシステムクロック値を読み込み、カウンタＩＣにセットする。
【０１４５】
次にステップＳ１６７に進み、カウンタＣＣを１にセットする。そしてステップＳ１６８に進み、カウンタＣＣ（いまの場合、ＣＣ＝１）に最も近いタイムスタンプを有するメディアオブジェクトの１単位を読み出して処理する。即ち、表示／再生する。例えば、動画像データであれば、１フレーム分のデータを表示装置１３に表示する。
【０１４６】
一方、ステップＳ１６４において、カウンタＣＣが０ではないと判定された場合、即ち、ステップＳ１６７において、カウンタＣＣが１に初期設定された後、再度この処理が行われる場合においては、ステップＳ１６４からステップＳ１６５に進み、現在のシステムクロック値から、ステップＳ１６６でカウンタＩＣに設定したシステムクロック値を減算し、その値をカウンタＣＣにセットする。即ち、再生処理をスタートしたときからのシステムクロックの値が、カウンタＣＣにセットされることになる。
【０１４７】
そして、ステップＳ１６８に進み、ステップＳ１６５でカウンタＣＣにセットした値に最も近いタイムスタンプを有するメディアオブジェクトの１単位（例えば、動画像データの場合、１フレーム分）を読み出して表示する処理を行う。即ち、動画像データや音声データなどが表示／再生されることになる。
【０１４８】
一方、ステップＳ１６３において、現在再生している番組のデータが、連続メディアのデータではない、即ち、時系列を有するデータではないと判定された場合、ステップＳ１６９に進み、カウンタＣＣが０か否かが判定される。カウンタＣＣが０のとき、即ち、ステップＳ６１にて生成された直後のときには、当該メディアオブジェクトの読み出し／表示を、ステップＳ１７０にて行う。この場合、連続メディアではないので、表示処理はこの１度だけでよい。続いてステップＳ１７１に進み、カウンタＣＣを１にセットして、再生処理を終える。ステップＳ１６９において、カウンタＣＣが０でないと判定された場合、ステップＳ１７０，１７１の処理はスキップされる。
【０１４９】
以上のように、図１８のステップＳ１３８において、１単位（例えば１フレーム分）の再生処理が完了した後、ステップＳ１３９に進み、ステップＳ１３８において当該メディアオブジェクトの全データの再生が終了したか否かが判定される。再生処理すべきデータが残っていれば、ステップＳ１２１に戻り、それ以降の処理を繰り返し実行する。
【０１５０】
即ち、再生モードがＷＡＩＴである場合においては、ステップＳ１３４，Ｓ１３５，Ｓ１２１，Ｓ１２３，Ｓ１２６，Ｓ１２９，Ｓ１３３の処理が、カウンタＷＣが２０に達するまで繰り返される。そして、カウンタＷＣが２０に達したとき、ステップＳ１３６において、カウンタＷＣが０にリセットされた後、ステップＳ１３８において、動画像データの場合、１フレーム分の画像が表示される。
【０１５１】
そして、再びカウンタＷＣのインクリメントが行われ、カウンタＷＣが２０に達するまで待機し、カウンタＷＣが２０に達したとき、次の１フレーム分の画像が表示される。このようにして、ＷＡＩＴモードにおいては、通常の１／２０の時間しか表示のための処理時間が割り当てられないことになる。換言すれば、動画像データが通常の１／２０の割当でコマ落し再生されることになる。
【０１５２】
このようにして、例えば図２０に示すように、表示装置１３において、画像Ａが通常通り秒３０コマのリアルタイム再生がなされるとともに、画像Ｂは秒１．５コマにコマ落しされて、それぞれ異なるウインドウで表示される。
【０１５３】
また、より優先順位の高い再生プロセスの再生が終了したときは、そのとき再生キューの先頭に配置されている再生プロセスに、起動メッセージが出力されるため、ステップＳ１２２において、モードがＷＡＩＴからＲＵＮに変更され、通常の実時間での表示状態に変更されることになる。
【０１５４】
このようにして、災害時の緊急情報や、放送システムの運用に関する情報のプライオリティを高く設定しておくことで、これらの情報を、確実に、各ユーザに視聴させることができる。しかもこの情報は、二次記憶装置１０２に記憶されるので、１回だけ放送すればよいことになる。
【０１５５】
次に図２１を参照して、タイマプロセスの処理について説明する。最初にステップＳ１８１において、計時動作を行い、次にステップＳ１８２に進み、図１１のメインプロセスのステップＳ２７において発生されたセットメッセージを受信したか否かを判定する。ステップＳ１８２において、セットメッセージを受信したと判定した場合、ステップＳ１８３に進み、所定のインターバルの時間（プライオリティが３の番組を周期的に表示する場合の周期）をセットする。
【０１５６】
ステップＳ１８２において、セットメッセージを受信していないと判定した場合、またはステップＳ１８３における時間セットの処理が完了したとき、次にステップＳ１８４に進み、ステップＳ１８３でセットした所定の時間を計時したか否かを判定する。所定の時間が計時していないと判定した場合、ステップＳ１８１に戻り、それ以降の処理を繰り返し実行する。
【０１５７】
ステップＳ１８４において、所定の時間を計時したと判定した場合、ステップＳ１８５に進み、メインプロセスに対して、アラームメッセージを出力する。このアラームメッセージは、図１２のメインプロセスのステップＳ３１において受信される。
【０１５８】
尚、セットメッセージ、アラームメッセージとも再生プロセスＩＤを伴っている。従って、タイマプロセス側のステップＳ１８４の計時判定も、再生プロセスＩＤ毎に行われる。アラームメッセージを受けたメインプロセスは、その再生プロセスＩＤを元に、ステップＳ３８の再生キューセット処理を行うことになる。
【０１５９】
以上の実施例においては、プライオリティが３の番組を周期的に繰り返し再生するようにしたが、後述するように、視聴履歴を管理し、一度見た場合は、そのプライオリティを２以下に、自動的あるいはユーザの意図により手動的に変更するようにしてもよい。プライオリティを２以下に下げれば、繰り返し再生されることがなくなる。
【０１６０】
また、優先順位の高い番組を表示するとき、既に再生中の優先順位の低い番組を、コマ落しなどで表示させるようにしたが、表示を中止させるようにすることもできる。
【０１６１】
次に、番組データに加え、プログラムも送信する場合の具体的実施例について説明する。いま、例えば図２２に破線で囲んで示すように、基本クラスライブラリ１２１には、種々の基本的なクラスが予め記憶されている。この実施例の場合、ＩＤが００００１０のオブジェクトというクラスを中心として、視聴履歴、プレーヤ、パッケージオブジェクト、番組オブジェクト、メディア、ストーリ等のサブクラスが予め用意されている。メディアクラスにはさらに、テキスト、イメージ、連続メディア等のサブクラスが用意され、連続メディアのクラスには、さらに音声、動画等のサブクラスが用意されている。また、番組オブジェクトには、ＣＭのサブクラスが用意されている。
【０１６２】
いま、番組オブジェクトというクラスのインスタンスとして、図２に示すように、番組オブジェクトＰが存在するものとする。そして、この番組オブジェクトＰには、ＩＤが００３７９６であるストーリクラスのインスタンスとしてのストーリオブジェクトＳが含まれている。このストーリオブジェクトＳは、シーンＡ乃至シーンＥを有している。
【０１６３】
基本クラスライブラリ１２１に予め用意されているストーリクラスは、これらのシーンＡ乃至シーンＥの複数の再生順を登録することができる機能（ストーリ選択機能）を有している。これにより、例えば、図２３に示すように、任意のシーンを任意の順番で出力し、表示することができるようになされている。例えばストーリ１においては、Ａ，Ｂ，Ｃ，Ｄ，Ｅの順で各シーンが表示され、ストーリ２においては、Ａ，Ｃ，Ｂ，Ｅ，Ｄの順で各シーンが表示され、ストーリ３においては、Ａ，Ｃ，Ｄ，Ｅの順で各シーンが表示される。
【０１６４】
このうちのシーンＡは、例えば、前回までの粗筋を表すシーンであるとする。ユーザは、このようなストーリ１乃至ストーリ３のうち、任意のものを選択することができるようになされている。
【０１６５】
基本クラスライブラリ１２１に含まれるストーリクラスは、例えば図２４に示すように規定されている。即ち、クラスＩＤは００３７９６とされ、クラス名はストーリとされている。そして、メッドに規定されているクラスを表す変数定義は、順序付シーン集合（そのタイプは、順序付集合オブジェクト）の集合（そのタイプは、集合オブジェクト）とされる。
【０１６６】
また、この変数定義で表されるメソッド（プログラム）としては、初期設定、再生開始、ストーリ選択等が規定されている。詳細は省略するが、このうちのストーリ選択のメソッドにより、図２３に示したストーリ１乃至ストーリ３のいずれかのストーリを選択することができるようになされている。
【０１６７】
ここで、例えば、この標準のストーリクラスの有するストーリ選択機能に、視聴者の視聴履歴に対応して、シーンＡ（前回までの粗筋）の再生の適否を自動的に選択する機能（粗筋シーン選択機能）を追加する場合においては、基本クラスライブラリには、この粗筋シーン選択機能は含まれていないため、この粗筋シーン選択機能を有するプログラムが、番組オブジェクトＰの番組データとともに、クラス定義として伝送されることになる。この番組が、連続もののインタラクティブドラマである場合、前の回の番組オブジェクトＯ、次の回の番組オブジェクトＱなどにおいても同様となる。
【０１６８】
この粗筋選択付ストーリのクラス定義は、例えば図２５に示すように規定される。即ち、クラスＩＤが３２５９３１として規定され、クラス名が粗筋選択付ストーリとして規定される。そして、そのスーパクラスＩＤ（上位のクラスのＩＤ）は００３７９６、即ち、図２２において点線内に示す基本クラスライブラリの中のストーリクラスとされる。
【０１６９】
変数定義は、視聴履歴〈視聴履歴オブジェクト〉とされる。即ち、以下に規定するメソッドで使用される変数の名称は、視聴履歴であり、そのタイプは、視聴履歴オブジェクトである（視聴履歴クラスのインスタンスである）とされる。そして、この粗筋選択付ストーリのメソッド（プログラム）としては、初期設定および粗筋選択の２つのメソッドが規定されている。
【０１７０】
粗筋選択付ストーリクラスのメッドの初期設定は、例えば図２６に示すような処理として規定されている。
【０１７１】
即ち、最初にステップＳ２０１において、粗筋選択メッドを呼び出し、次にステップＳ２０２において、スーパクラス（ＩＤが００３７９６のストーリクラス）の初期設定メソッド（図２４）を呼び出す処理が行われる。
【０１７２】
即ち、この粗筋選択付ストーリクラスは、基本クラスライブラリ１２１内のストーリクラスのサブクラスであるため、図２７に示す粗筋選択メッドを読み出した後、図２４に示すストーリクラスの処理を行うようになされている。
【０１７３】
一方、図２７に示す粗筋選択処理においては、最初にステップＳ２１１において、視聴履歴オブジェクト（その詳細は、図２９を参照して後述する）に、前回の番組オブジェクトＯが含まれるか否か判定される。即ち、各受信端末１０の基本クラスライブラリ１２１には、視聴履歴クラスが含まれており、この視聴履歴クラスに対応するインスタンスとしての視聴履歴オブジェクトは、ユーザが見た番組オブジェクトをその都度登録するようになされている。このステップＳ２１１においては、その登録リスト中に、この連続ドラマの前回の放送分が登録されているか否かが判定されるのである。即ち、このユーザが前回の番組を見ているか否かを判定するのである。
【０１７４】
そして、ユーザが前回の番組を見ていると判定された場合（視聴履歴オブジェクト中のリストに前回の番組オブジェクトＯが含まれていると判定された場合）、ステップＳ２１２に進み、順序付シーン集合オブジェクトから、シーンＡを取り除く処理が実行される。これに対して、ステップＳ２１１において、ユーザが前回の番組を見ていないと判定された場合、このステップＳ２１２の処理はスキップされる。
【０１７５】
粗筋選択付ストーリクラスの処理により、このように、前回までの粗筋を表すシーンＡが視聴履歴に対応して取り除かれたり、あるいは、取り除かれないようになされるため、粗筋選択付ストーリクラスのスーパクラスであるストーリの選択処理は、最終的に図２８に示すようになる。
【０１７６】
即ち、ユーザが前回の番組を見ていない場合においては、図２３に示した場合と同様に、ストーリ１、ストーリ２またはストーリ３のいずれかの表示が行われるのであるが、ユーザが前回の番組を見ている場合においては、シーンＡ（前回までの粗筋）は表示されないようになされる。例えば、ユーザがストーリ１を選択した場合においては、Ｂ，Ｃ，Ｄ，Ｅの順に各シーンが表示され（ストーリ１’）、ストーリ２を選択した場合においては、Ｃ，Ｂ，Ｅ，Ｄの順に各シーンが表示され（ストーリ２’）、ストーリ３を選択した場合においては、Ｃ，Ｄ，Ｅの順に各シーンが表示される（ストーリ３’）。
【０１７７】
一方、各ユーザの視聴履歴を記憶する視聴履歴クラスは、例えば図２９に示すように規定されている。即ち、クラスＩＤとしては、例えば４０５２１が、クラス名としては視聴履歴が、それぞれ規定されている。また、そのスーパクラスＩＤとしては、００００１０（即ち、オブジェクトクラス）が規定されている。
【０１７８】
そして、その変数定義としては、視聴者名、見た番組オブジェクトの集合、番組オブジェクトを見た日付等が規定され、メソッドとして、これらの変数定義に対応して、視聴者名登録及び読出し、見た番組オブジェクトの登録及び読出し、番組オブジェクトを見た日付登録及び読出し等のメソッド（プログラム）が規定されている。
【０１７９】
その詳細な処理は省略するが、このメソッドのうちの見た番組オブジェクトの登録の処理により、ユーザが視聴した番組のＩＤが全て登録されるようになされている。例えばユーザが連続ドラマを毎回見ていれば、番組オブジェクトＯ，Ｐ，Ｑ・・・のＩＤが順次登録されることになる。図２７のステップＳ２１１においては、番組オブジェクトＰを再生するに当たって、この登録リスト中に前回の番組オブジェクトＯのＩＤが含まれているか否かを判定するのである。
【０１８０】
以上のようにして、図２３に示すようなストーリ選択機能を有する標準のストーリクラスのサブクラスとして（標準のストーリクラスとの差分として）、粗筋選択付ストーリクラスを伝送することで、図２８に示すようなシーン展開のバリエーションが可能となる。
【０１８１】
勿論、差分ではなく、新しいプログラムを全て伝送することも可能であるが、そのようにすると、伝送量が多くなり、伝送効率が低下するだけでなく、プログラムの設計に時間がかかり、コスト高となる。そこで、このように、基本的なクラスを予め受信端末１０側に配信しておき、その差分のみを必要に応じて随時配信するようにすることが好ましい。
【０１８２】
以上のように、番組をオブジェクトとして扱うことにより、番組データと、それを処理するプログラムを１組のものとして管理することが可能となり、番組を再生するに当たり、データと対応するプログラムを探す必要がなくなり、迅速な再生が可能となる。また、番組の独立性を保持することができると同時に、他の番組で使ったデータとプログラムを若干変更することで、それを利用するといったプログラムの再利用性も確保することができる。
【０１８３】
また、番組オブジェクトなど、外部より受信したオブジェクトやプログラムが利用できる資源（メモリやＣＰＵタイム）を制限する機能を付加することで、故意に、あるいは偶発的に、ユーザの資源やデータが破壊されたり、その利用が妨害されることが抑制される。
【０１８４】
さらに、この発明は、例えば次のような応用が可能である。
【０１８５】
（１）視聴者属性（年齢、性別・・・）、視聴時刻、地域など多様なファクターによって、番組内容や呈示形態を変化させることができる。例えば、１つの番組データも、高齢者には大きな字で、女性にはカラフルに、夜は静かに、それぞれ変化させて、表示、再生させることができる。
【０１８６】
（２）視聴者との対話によって、表示や再生の制御を行うことができる（インタラクティブな番組再生）。対話形式についても、従来のデータ放送方式では制定されたものの中から選択するだけであったが、本発明によると、番組毎に新しい対話形式を自由に設計、実現することができる。
【０１８７】
（３）プログラムコード化によるデータの圧縮ができる。グラフィクスやアニメーションなどの表示、再生をプログラムで記述することにより、高効率のデータ圧縮が可能になる。従来のデータ放送方式によると、このようなアニメーションなども再生した後の動画データとして送信する必要があったため、プログラムの送信に比べ、大量なデータを送らなくてはならなかったが、本発明によれば、例えば、数秒で送信できるデータ量からなるアニメーションを、１日かけて再生することもできる。
【０１８８】
（４）ゲームやアプリケーションソフトなど、受信端末で実行できるソフトウエアを配信することができる。従って、現在ゲームやコンピュータソフト、出版物などとして別々にカテゴライズされている様々なものの内容を合わせ持った新しいタイプの番組を創出し得る。例えば、不動産広告の中にローン設計ソフトを組み込むこともできる。
【０１８９】
（５）受信端末１０が公衆網や無線などを使った通信機能を有することにより、番組単位の課金情報をセンタへ通知したり、番組で広告された商品のオンライン発注、クイズ番組等のオンライン応募など、放送と通信の相乗効果のあるサービスが提供できる。また、場合によっては、自動的に視聴率調査などもできる。これら受信端末の通信機能の利用方法に関しても、番組オブジェクト内にプログラミングして放送することができるため、番組製作者側として様々な使い方が提案、提供できる。勿論、受信端末側で、受信したプログラムによる通信機能の利用を制限、棄却することができる（前記資源・安全性管理機能による）。
【０１９０】
【発明の効果】
以上の如く本発明の放送システムによれば、番組の内容データと、この番組を制御する制御データを含む番組データだけでなく、これを処理するプログラムを配信するようにしたので、より変化に富んだ番組を楽しむことが可能となる。
【０１９１】
また、本発明の受信端末によれば、番組データとプログラムを記録媒体に記録するようにしたので、必要に応じて、任意のタイミングにおいて、変化に富んだ番組を楽しむことが可能となる。
【図面の簡単な説明】
【図１】本発明の放送システムの基本的構成を示すブロック図である。
【図２】番組オブジェクトの概念を示す図である。
【図３】プログラムオブジェクトの概念を示す図である。
【図４】本発明のデータフォーマットを示す図である。
【図５】図１のオーサリングシステム１iの構成例を示すブロック図である。
【図６】図５の実施例の動作を説明するフローチャートである。
【図７】図１の番組編成システム２の構成例を示すブロック図である。
【図８】図７の実施例の動作を説明するフローチャートである。
【図９】図１の受信端末１０の構成例を示すブロック図である。
【図１０】図９の実施例の再生サブシステム１０４が行う３つのプロセスの関係を説明する図である。
【図１１】図１０のメインプロセスの処理を説明するフローチャートである。
【図１２】図１１に続くフローチャートである。
【図１３】図１１のステップＳ２８の再生プロセス生成の詳細な処理を説明するフローチャートである。
【図１４】図１３のステップＳ６２の再生キューセットの詳細な処理を説明するフローチャートである。
【図１５】図１４の再生キューセット処理によりセットされる再生キューを説明する図である。
【図１６】図１２のステップＳ３７の再生キュー評価処理のより詳細な処理を説明するフローチャートである。
【図１７】図１０の再生プロセスのより詳細な処理を説明するフローチャートである。
【図１８】図１７に続くフローチャートである。
【図１９】図１８のステップＳ１３８の再生処理のより詳細な処理を説明するフローチャートである。
【図２０】表示処理の時間割当を説明する図である。
【図２１】図１０のタイマプロセスの処理を説明するフローチャートである。
【図２２】図９の基本クラスライブラリ１２１を説明する概念図である。
【図２３】標準ストーリクラスによるバリエーションを説明する図である。
【図２４】ストーリクラスのクラス定義を説明する図である。
【図２５】粗筋選択付ストーリクラスのクラス定義を説明する図である。
【図２６】図２５の粗筋選択付ストーリクラスのメソッドとしての初期設定処理を説明するフローチャートである。
【図２７】図２５の粗筋選択付ストーリクラスのメソッドとしての粗筋選択処理を説明するフローチャートである。
【図２８】粗筋選択付ストーリクラスによるバリエーションを説明する図である。
【図２９】視聴履歴のクラス定義を説明する図である。
【図３０】従来の放送システムを説明する図である。
【符号の説明】
１i  オーサリングシステム
２  番組編成システム
３  放送送信装置
４  送信アンテナ
５  放送センタ
６  通信／放送衛星
１０  受信端末
１１  受信アンテナ
１２  受信装置
１３  表示装置
１４  記録媒体
１５  入力デバイス
３１  外部入出力管理部
３２  データ変換部
３３  データ蓄積管理部
３４  二次記憶装置
３５  編集処理部
３６  中間コードコンパイラ
３７  操作管理部
３８  入力デバイス
３９  再生サブシステム
４０  記憶管理部
４１  主記憶
４２  表示／再生管理部
４３  表示装置
４４  スピーカ
６１  外部入出力管理部
６２  データ変換部
６３  データ蓄積管理部
６４  二次記憶装置
６５  編集処理部
６６  中間コードコンパイラ
６７  操作管理部
６８  入力デバイス
６９  再生サブシステム
７０  記憶管理部
７１  主記憶
７２  表示／再生管理部
７３  表示装置
７４  スピーカ
８１  番組編成処理部
１００  放送受信サブシステム
１０１  データ蓄積管理部
１０２  二次記憶装置
１０３  外部入出力管理部
１０４  再生サブシステム
１０５  通信サブシステム
１０６  記憶管理部
１０７  主記憶
１０８  操作管理部
１０９  システムクロック発生回路
１１０  表示／再生管理部
１１１  スピーカ
１２１  基本クラスライブラリ
１２２  ローダ
１２３  資源・安全性管理部
１２４  プロセス管理部
１２５  中間コードインタープリタ
１２６  同期管理部
【図１】
0004279905.tif 000002
【図２】
0004279905.tif 000003
【図３】
0004279905.tif 000004
【図４】
0004279905.tif 000005
【図５】
0004279905.tif 000006
【図６】
0004279905.tif 000007
【図７】
0004279905.tif 000008
【図８】
0004279905.tif 000009
【図９】
0004279905.tif 000010
【図１０】
0004279905.tif 000011
【図１１】
0004279905.tif 000012
【図１２】
0004279905.tif 000013
【図１３】
0004279905.tif 000014
【図１４】
0004279905.tif 000015
【図１５】
0004279905.tif 000016
【図１６】
0004279905.tif 000017
【図１７】
0004279905.tif 000018
【図１８】
0004279905.tif 000019
【図１９】
0004279905.tif 000020
【図２０】
0004279905.tif 000021
【図２１】
0004279905.tif 000022
【図２２】
0004279905.tif 000023
【図２３】
0004279905.tif 000024
【図２４】
0004279905.tif 000025
【図２５】
0004279905.tif 000026
【図２６】
0004279905.tif 000027
【図２７】
0004279905.tif 000028
【図２８】
0004279905.tif 000029
【図２９】
0004279905.tif 000030
【図３０】
0004279905.tif 000031