以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し、一例)を付加して、本発明の特徴を記述すると、次のようになる。
請求項1に記載の受信装置は、第1のテレビジョン信号における画面を識別する識別する識別コードおよび同時に送信される第1のテレビジョン信号より後に送信される第2のテレビジョン信号の画面識別情報が付加されたアプリケーションプログラムが多重化された第1のテレビジョン信号を受信する受信手段(例えば、図5に示す受信処理回路21など)と、テレビジョン信号に多重化されているアプリケーションプログラムおよび識別コードを分離する分離手段(例えば、図5に示すデマルチプレクサ(DMUX)27など)と、分離手段が出力するアプリケーションプログラムを記憶する記憶手段(例えば、図5に示すハードディスク(HD)29など)と、第2のテレビジョン信号から分離され分離手段から出力された識別コードと、第1のテレビジョン信号に多重化して送信され、記憶手段に記憶されたアプリケーションプログラムに付加されていた画面識別情報とを照合し、記憶手段に記憶されたアプリケーションプログラムを起動して実行する実行手段(例えば、図5に示すプログラム実行システム30など)とを備え、アプリケーションプログラムには、そのアプリケーションプログラムを、記憶手段から削除するタイミングを表すための削除タイミング情報も付加されており、分離手段が出力する識別コードと、記憶手段に記憶されたアプリケーションプログラムに付加された削除タイミング情報とを比較し、その比較結果に対応して、記憶手段に記憶されたアプリケーションプログラムを削除する削除手段(例えば、図5に示す登録部28など)をさらに備えることを特徴とする。
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
図1は、本発明を適用した放送システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない)の一実施の形態の構成例を示している。
放送局では、送信装置1において、テレビジョン放送信号(テレビジョン放送番組を構成する画像および音声)における各フレームを識別する識別コード(以下、適宜、フレーム識別コードという)が発生されるとともに、所定のアプリケーションプログラムに、その実行を開始するタイミングを表すための開始タイミング情報が付加される。さらに、送信装置1では、テレビジョン放送信号に、対応するフレーム識別コードが多重化されるとともに、開始タイミング情報が付加されたアプリケーションプログラムを多重化される。即ち、テレビジョン放送信号の各フレームの、例えば垂直ブランキング期間に、そのフレームに対応するフレーム識別コードが重畳され、さらにアプリケーションプログラムも重畳される。そして、その結果得られるテレビジョン放送信号が、送信装置1のアンテナ2から電波として送信される。
アンテナ2からの電波(地上波)は、ユーザ側のアンテナ3で受信され、その結果得られる受信信号は、TV受像機4に供給される。TV受像機4では、アンテナ3からの受信信号、即ち、テレビジョン放送信号に多重化されているアプリケーションプログラムおよび識別コードが分離され、そのうちのアプリケーションプログラムは、後述する図5のハードディスク29に記憶される。また、TV受像機4では、テレビジョン放送信号から分離した識別コードと、ハードディスク29に記憶されたアプリケーションプログラムに付加された開始タイミング情報とが比較され、その比較結果に対応して、アプリケーションプログラムが起動、実行される。
図2は、図1の送信装置1の構成例を示している。
送信装置1には、送信すべきテレビジョン放送信号とアプリケーションプログラムとが入力されるようになされており、テレビジョン放送信号は、フレーム識別コード発生回路11およびマルチプレクサ13に、アプリケーションプログラムは、時刻情報付加回路12に供給されるようになされている。
フレーム識別コード発生回路11は、そこに供給されるテレビジョン放送信号を監視し、各フレームの先頭のタイミングで、そのフレームに対応するフレーム識別コードを発生し、マルチプレクサ13に供給するようになされている。
ここで、本実施の形態では、フレーム識別コードとして、例えば、各フレームが送信される絶対時刻に1対1対応しているものが使用されるようになされている。具体的には、例えば、図3に示すように、1997年6月12日に放送される第1フレーム(最初に放送されるフレーム)、第2フレーム、第3フレーム、・・・のフレーム識別コードは、それぞれ、1997061200000001,1997061200000002,1997061200000003,・・・とされるようになされている。この16桁のフレーム識別コードにおいては、最初の4桁が、送信される年を、次の2桁が、送信される月を、さらに次の2桁が、送信される日を、最後の8桁が、送信される日における何フレーム目かを、それぞれ表す。従って、例えば、テレビジョン放送信号の送信が午前0時から開始され、また、テレビジョン放送信号のフレーム周期が約30msであれば、例えば、フレーム識別コードが1997061200000002の送信時刻は、1997年6月12日午前0時0分30ミリ秒ということになる。なお、テレビジョン放送信号のフレーム周期が約30msである場合、送信された日における何フレーム目かは、仮に、24時間放送が行われたとしても、8桁で、各フレームにユニークな番号を付すことができる。
図2に戻り、時刻情報付加回路12は、そこに供給されるアプリケーションプログラムに、その実行を開始するタイミングを表すための開始タイミング情報を付加するようになされている。また、このアプリケーションプログラムは、後述するようにTV受像機4のハードディスク29(図5)に記憶(記録)されるが、時刻情報付加回路12は、そのハードディスク29から、アプリケーションプログラムを削除するタイミングを表すための削除タイミング情報も、そこに供給されるアプリケーションプログラムに付加するようになされている。開始タイミング情報および削除タイミング情報が付加されたアプリケーションプログラムは、時刻情報付加回路12からマルチプレクサ13に供給されるようになされている。
なお、本実施の形態では、開始タイミング情報または削除タイミング情報として、例えば、アプリケーションプログラムを実行すべき時刻または削除すべき時刻に対応するフレーム識別コードが付加されるようになされている。
また、ここでいうアプリケーションプログラムには、いわゆるメインルーチンを含む完成したプログラムの他、オブジェクトや、ライブラリ、モジュールなども含まれる。
ここで、本実施の形態では、送信装置1に供給されるアプリケーションプログラムには、そこに記述された(含まれる)手続を呼び出すタイミングを表すための呼び出しタイミング情報を含ませることができるようになされている。即ち、アプリケーションプログラムが、例えば、C++やJava(登録商標),smalltalkなどのオブジェクト指向言語で記述されている場合、各オブジェクトが有するメソッドは、そのメソッドを呼び出すタイミングを表すための呼び出しタイミング情報と対応付けることができるようになされている。また、アプリケーションプログラムが、例えば、Cなどの関数型の言語で記述されている場合、関数は、その関数を呼び出すタイミングを表すための呼び出しタイミング情報と対応付けることができるようになされている。この場合、メソッドや関数は、対応する呼び出しタイミング情報が表すタイミングで呼び出される。なお、本実施の形態では、呼び出しタイミング情報として、例えば、メソッドや関数をコールする(呼び出す)時刻に対応するフレーム識別コードが用いられるようになされている。
さらに、本実施の形態では、送信装置1に供給されるアプリケーションプログラムに、そこに記述された(含まれる)手続を、テレビジョン放送信号におけるフレームの周期に同期して、周期的に呼び出すかどうかを表すためのフラグを含ませることもできるようになされている。即ち、アプリケーションプログラムを構成するメソッドや関数は、フレームの周期に同期して、周期的に呼び出すことができるようになされており、周期的に呼び出す場合には、その旨を表すフラグ(以下、適宜、周期フラグという)が記述される。なお、周期フラグを記述する場合には、それに付随して、メソッドや関数の周期的な呼び出しを開始、終了するタイミング(それぞれを、以下、適宜、周期呼び出し開始タイミング情報、周期呼び出し終了タイミング情報という)、何周期ごとに呼び出すかを表す情報(以下、適宜、周期情報という)なども、必要に応じて記述される。周期呼び出し開始タイミング情報、周期呼び出し終了タイミング情報は、本実施の形態では、例えば、メソッドや関数の周期呼び出しを開始、終了する時刻に対応するフレーム識別コードが用いられるようになされている。
マルチプレクサ13は、フレーム識別コード発生回路11からのフレーム識別コードを、テレビジョン放送信号の対応するフレームの垂直ブランキング期間に多重化するようになされている。さらに、マルチプレクサ13は、時刻情報付加回路12からのアプリケーションプログラムも、テレビジョン放送信号に多重化し、送信回路14に出力するようになされている。送信回路14は、マルチプレクサ13からのテレビジョン放送信号に対して、変調その他の送信に必要な処理を施し、アンテナ2に供給するようになされている。
次に、図4のフローチャートを参照して、図2の送信装置1における処理について説明する。
送信装置1では、まず最初に、ステップS1において、そこに供給されたテレビジョン放送信号が、フレームの先頭に対応するものかどうかが、フレーム識別コード発生回路11によって判定される。ステップS1において、テレビジョン放送信号が、フレームの先頭に対応するものであると判定された場合、ステップS2に進み、フレーム識別コード発生回路11は、そのフレームに対応するフレーム識別コードを発生し、マルチプレクサ13に供給して、ステップS3に進む。
一方、ステップS1において、そこに供給されたテレビジョン放送信号が、フレームの先頭に対応するものでないと判定された場合、ステップS2をスキップして、ステップS3に進み、マルチプレクサ13において多重化が行われる。即ち、マルチプレクサ13は、フレーム識別コード発生回路11からフレーム識別コードを受信した場合には、そのフレーム識別コードを、対応するフレームの垂直ブランキング期間に多重化する。
さらに、マルチプレクサ13は、時刻情報付加回路12からアプリケーションプログラムを受信した場合には、そのアプリケーションプログラムも、テレビジョン放送信号の垂直ブランキング期間に多重化する。即ち、時刻情報付加回路12は、そこにアプリケーションプログラムが供給されると、そのアプリケーションプログラムの、例えば先頭部分に、開始タイミング情報および削除タイミング情報を付加し、マルチプレクサ13に出力する。マルチプレクサ13は、このようにして時刻情報付加回路12からアプリケーションプログラムが供給されると、そのアプリケーションプログラムも、垂直ブランキング期間に多重化する。
なお、マルチプレクサ13は、フレーム識別コードおよびアプリケーションプログラムのいずれも供給されない状態においては、そこに供給されるテレビジョン放送信号を、そのまま出力する。
マルチプレクサ13において多重化が行われたテレビジョン放送信号は、送信回路14に供給される。送信回路14では、ステップS4において、マルチプレクサ13からのテレビジョン放送信号に対して、送信に必要な処理が施され、アンテナ2から電波(ここでは、地上波)として送信される。そして、ステップS1に戻り、以下、同様の処理が繰り返される。
なお、時刻情報付加回路12がアプリケーションプログラムに対して付加する開始タイミング情報および削除タイミング情報は、そのアプリケーションプログラムが多重化される垂直ブランキング期間のフレームに重畳されるフレーム識別コードよりも後の時刻を表すものである必要がある。言い換えれば、アプリケーションプログラムは、そこに付加される開始タイミング情報および削除タイミング情報よりも、時間的に前に送信されるフレームの垂直ブランキング期間に多重化する必要がある。
次に、図5は、図1のTV受像機4の構成例を示している。
アンテナ3で受信された電波に対応する受信信号は、受信処理回路21に供給されるようになされている。受信処理回路21は、アンテナ3からの受信信号を受信し、その受信信号に対して、復調その他の必要な処理を施して、その結果得られる所定のチャンネルのテレビジョン放送信号を信号処理回路22およびデマルチプレクサ27に供給するようになされている。
信号処理回路22は、受信処理回路21からのテレビジョン放送信号に対して、所定の信号処理を施し、さらに、画像信号と音声信号とに分離して、画像信号は重畳回路23に、音声信号はアンプ25にそれぞれ出力するようになされている。また、信号処理回路22は、画像信号から垂直同期信号(Vsync)を検出し、プログラム実行システム30に供給するようにもなされている。
重畳回路23は、信号処理回路22からの画像信号に、プログラム実行システム30から供給される画像を重畳(スーパインポーズ)し、CRT(Cathod Ray Tube)24に供給するようになされている。CRT24は、重畳回路23を介して供給される画像信号に対応する画像を表示するようになされている。アンプ25は、信号処理回路22から供給される音声信号を、必要に応じて増幅し、スピーカ26に供給するようになされている。スピーカ26は、アンプ25から音声信号に対応する音声を出力するようになされている。
デマルチプレクサ27は、受信処理回路21からのテレビジョン放送信号の垂直ブランキング期間に多重化されているアプリケーションプログラムとフレーム識別コードとを分離し、登録部28に供給するようになされている。なお、フレーム識別コードは、登録部28に供給される他、プログラム実行システム30にも供給されるようになされている。登録部28は、デマルチプレクサ27からのアプリケーションプログラムを、ハードディスク29に記録(登録)する登録処理、およびハードディスク29に記録されたアプリケーションプログラムを、デマルチプレクサ27からのフレーム識別コードに対応して削除する削除処理を行うようになされている。ハードディスク29は、登録部28から供給されるアプリケーションプログラムその他の必要な情報を記憶するようになされている。
プログラム実行システム30は、ハードディスク29に記録(記憶)されたアプリケーションプログラムに付加された開始タイミング情報と、デマルチプレクサ27から供給されるフレーム識別コードとを比較し、その比較結果に基づいて、ハードディスク29に記録されたアプリケーションプログラムを起動して実行するようになされている。さらに、プログラム実行システム30は、アプリケーションプログラムの実行の結果、表示すべき画像が得られた場合には、その画像を、重畳回路23に供給するようにもなされている。
操作部31は、例えば、TV受像機4に設けられた操作パネルや、遠隔操作を行うためのリモートコマンダで、ユーザによって操作され、その操作に対応した信号を、必要なブロックに供給するようになされている。
次に、図6は、図5のプログラム実行システム30の構成例を示している。
ROM(Read Only memory)41は、例えば、IPL(Initial Program Loading)のプログラムなどを記憶している。CPU(Central Processing Unit)42は、補助記憶装置44に記憶されているOS(Operating System)の制御の下、ハードディスク29に記憶されたアプリケーションプログラムを起動、実行することで、テレビジョン放送信号の各フレームに同期して各種の処理を行うようになされている。RAM(Random Access memory)43は、CPU42が実行するプログラムや、その動作上必要なデータなどを一時記憶するようになされている。補助記憶装置44は、例えば、ハードディスクなどで構成され、OSや、プログラム実行システム30がハードディスク29からアプリケーションプログラムを読み出して実行するのに必要なプログラムを記憶している。また、補助記憶装置44は、CPU42が処理を行うのに必要なデータや、処理を行った結果得られるデータなどを一時記憶するようになされている。外部I/F(Interface)45は、信号処理回路22、重畳回路23、デマルチプレクサ27、ハードディスク29との間のデータその他の入出力を管理するようになされている。
プログラム実行システム30は、以上の各ブロックが、相互に、バスを介して接続されて構成されている。
次に、図5のテレビジョン受像機4の処理について説明する。
アンテナ3で受信された電波に対応する受信信号は、受信処理回路21に供給される。受信処理回路21では、アンテナ3からの受信信号が受信され、そこから、操作部31の操作に対応したチャンネルのテレビジョン放送信号が取り出される。このテレビジョン放送信号は、信号処理回路22に供給される。信号処理回路22では、受信処理回路21からのテレビジョン放送信号が、画像信号と音声信号とに分離される。画像信号は、重畳回路23を介してCRT24に供給されて表示され、音声信号は、アンプ25を介してスピーカ26に供給されて出力される。
以上のようにして、操作部31の操作に対応したチャンネルのテレビジョン放送番組に対応する画像または音声が、表示または出力される。
一方、受信処理回路21では、テレビジョン放送信号が、信号処理回路22に供給される他、デマルチプレクサ27にも供給される。デマルチプレクサ27は、受信処理回路21からのテレビジョン放送信号の垂直ブランキング期間に多重化されているアプリケーションプログラムとフレーム識別コードとを分離し、アプリケーションプログラムを登録部28に、フレーム識別コードを登録部28およびプログラム実行システム30に供給する。
登録部28は、デマルチプレクサ27からフレーム識別コードを受信すると、登録処理および削除処理を行う。
即ち、図7は、登録部28が行う登録処理を説明するためのフローチャートである。
登録処理においては、まず最初に、ステップS11において、デマルチプレクサ27から、フレーム識別コードとともに、アプリケーションプログラムが供給されたかどうかが判定される。即ち、本実施の形態では、フレーム識別コードは、対応するフレームの垂直ブランキング期間に、必ず多重化されるが、アプリケーションプログラムは、必要がなければ(送信すべきアプリケーションプログラムがなければ)、テレビジョン放送信号に多重化されない。このため、ステップS11では、テレビジョン放送信号に、アプリケーションプログラムが多重化されているかどうか、即ち、デマルチプレクサ27からアプリケーションプログラムが供給されたかどうかが判定される。
ステップS11において、アプリケーションプログラムが、フレーム識別コードとともに供給されていないと判定された場合、ステップS12乃至S14をスキップして、登録処理を終了する。
また、ステップS11において、アプリケーションプログラムが、フレーム識別コードとともに供給されたと判定された場合、ステップS12に進み、そのアプリケーションプログラムを、ファイルにしてハードディスク29に記録するためのファイル名が生成される。即ち、本実施の形態では、例えば、アプリケーションプログラムとともに供給されたフレーム識別コードが、そのままファイル名とされる。上述したように、フレーム識別コードは、絶対時刻に対応しているから、フレーム識別コードを、そのまま、アプリケーションプログラムのファイル名とすることで、そのファイル名から、アプリケーションプログラムの取得時刻(受信時刻)を容易に認識することが可能となる。
ここで、アプリケーションプログラムは、複数のフレームに亘って多重化されて放送される場合があるが、この場合には、例えば、アプリケーションプログラムの先頭部分が多重化されているフレームのフレーム識別コードが、そのアプリケーションプログラムのファイル名とされる。また、逆に、複数のアプリケーションプログラムが、1のフレームに多重化されて放送される場合もあるが、この場合には、例えば、複数のアプリケーションプログラムが多重化されているフレームのフレーム識別コードの末尾に、シーケンシャルな数字を順次付したコードが、複数のアプリケーションプログラムそれぞれのファイル名とされる。
ファイル名が生成されると、ステップS13に進み、ハードディスク29に、そのファイル名でファイルがオープンされ、そこに、アプリケーションプログラムが記録される。そして、アプリケーションプログラムの記録が終了すると、そのファイルがクローズされ、ステップS14に進み、記録したアプリケーションプログラムが実行リストに登録される。
ここで、ハードディスク29には、例えば、図8に示すような実行リストが記録されており、ステップS13で記録されたアプリケーションプログラムは、この実行リストに登録されるようになされている。
即ち、実行リストの最も左の欄(「ファイル名」の欄)には、ハードディスク29に記録されたアプリケーションプログラムのファイル名が配置される。実行リストの左から2番目の欄(「実行開始時刻」の欄)には、ハードディスク29に記録されたアプリケーションプログラムに付加されている開始タイミング情報が配置される。実行リストの最も右の欄(「有効期限」の欄)には、ハードディスク29に記録されたアプリケーションプログラムに付加されている削除タイミング情報が配置される。
ここで、図8の実施の形態では、実行リストの先頭行には、ファイル名が「1997061200000001」のアプリケーションプログラム(従って、1997年6月12日の第1フレームの垂直ブランキング期間に多重化されて放送されたアプリケーションプログラム)であって、実行すべき時刻または削除すべき時刻が、それぞれ1997年6月12日の第12フレームまたは1997年6月12日の第13フレームを受信したタイミングとなっているものが登録されている。また、その2行目には、ファイル名が「1997061200000002」のアプリケーションプログラムであって、実行すべき時刻または削除すべき時刻が、それぞれ1997年6月12日の第13フレームまたは1997年6月12日の第14フレームを受信したタイミングとなっているものが登録されている。さらに、その3行目には、ファイル名が「1997061200000003」のアプリケーションプログラムであって、実行すべき時刻または削除すべき時刻が、それぞれ1997年6月12日の第13フレームまたは1997年6月12日の第25フレームを受信したタイミングとなっているものが登録されている。
以上のような実行リストへの登録が終了すると、登録処理を終了する。
以上のようにして、テレビジョン放送信号の垂直ブランキング期間に多重化されたアプリケーションプログラムは、ハードディスク29に記録されていく。
次に、図9のフローチャートを参照して、登録部28が行う削除処理について説明する。
削除処理では、まず最初に、ステップS21において、デマルチプレクサ27から供給されたフレーム識別コードから、現在時刻(年月日も含む)が認識され、ステップS22に進む。ステップS22では、ハードディスク29に記録された実行リストを参照することで、有効期限を経過したアプリケーションプログラムがあるかどうかが判定される。即ち、ステップS22では、図8の実行リストの有効期限の欄(最も右の欄)に記述された削除タイミング情報が時刻に変換され、その時刻を、現在時刻が経過しているかどうかが判定される。
ステップS22において、有効期限を経過したアプリケーションプログラムがないと判定された場合、ステップS23をスキップして、削除処理を終了する。また、ステップS22において、有効期限を経過したアプリケーションプログラムがあると判定された場合、ステップS22に進み、そのアプリケーションプログラムが、ハードディスク29から削除される。さらに、ステップS22では、有効期限を経過したアプリケーションプログラムについての情報が、実行リストからも削除され、削除処理を終了する。
以上のように、有効期限を経過したアプリケーションプログラムを削除するようにしたので、ハードディスク29が、既に必要のなくなったアプリケーションプログラムが記録されたままの状態になり、これにより、新たなアプリケーションプログラムの記録を行うことができなくなるようなことを防止することができる。
次に、図5のプログラム実行システム30が行う処理について説明する。
プログラム実行システム30では、デマルチプレクサ27からフレーム識別コードが供給されるごとに、例えば、図10のフローチャートにしたがった起動処理が行われる。
即ち、プログラム実行システム30では、まず最初に、ステップS31において、ハードディスク29に記録された実行リスト(図8)を参照し、その中の開始タイミング情報(「実行開始時刻」の欄)が、デマルチプレクサ27からのフレーム識別コードと一致するアプリケーションプログラムがあるかどうかが判定される。ステップS31において、開始タイミング情報が、デマルチプレクサ27からのフレーム識別コードと一致するアプリケーションプログラムがないと判定された場合、ステップS32をスキップして、起動処理を終了する。
一方、ステップS32において、開始タイミング情報が、デマルチプレクサ27からのフレーム識別コードと一致するアプリケーションプログラムがあると判定された場合、ステップS33に進み、そのアプリケーションプログラムが、ハードディスク29からロードされ、起動、実行されて、起動処理を終了する。
以上のような起動処理によれば、所望するフレームに正確に同期して、アプリケーションプログラムを起動することができる。
なお、プログラム実行システム30において、アプリケーションプログラムが実行され、その結果、例えば、EPG(Electric Program Guide)などの表示すべき画像が得られた場合には、その画像は、重畳回路23に供給される。この場合、重畳回路23では、プログラム実行システム30からの画像が、信号処理回路23からの画像に重畳され、CRT24に供給されて表示される。即ち、例えば、アプリケーションプログラムの実行の結果得られる画像が、例えば、EPGである場合には、そのEPGは、テレビジョン放送番組としての画像にスーパインポーズされて表示される。
次に、上述したように、本実施の形態では、アプリケーションプログラムには、そこに記述された手続を呼び出すタイミングを表すための呼び出しタイミング情報を含ませることができるようになされており、そのようなタイミング情報が記述されている手続については、プログラム実行システム30において、そのタイミング情報に対応するタイミングで呼び出し(コール)が行われるようになされている。
即ち、例えば、いま、図11に示すように、アプリケーションプログラムを構成する手続func1(),func2(),func3(),・・・に対し、そのタイミング情報(コール時刻)が記述されている場合、プログラム実行システムにおいて、各手続func1(),func2(),func3(),・・・は、そのタイミング情報に対応するフレーム識別コードが、デマルチプレクサ27から供給されたときにコールされる。従って、この場合、所望するフレームに正確に同期して、各種の手続に対応する処理を実行することができる。
また、本実施の形態では、上述したように、アプリケーションプログラムには、そこに記述された手続を、テレビジョン放送信号におけるフレームの周期に同期して、周期的に呼び出すかどうかを表すための周期フラグ、さらには、周期呼び出し開始タイミング情報、周期呼び出し終了タイミング情報、周期情報も含ませることができ、周期フラグが記述されている手続については、プログラム実行システム30において、信号処理回路22から供給される垂直同期信号に対応するタイミングで、周期的に呼び出し(コール)が行われるようになされている。
即ち、例えば、いま、図12に示すように、アプリケーションプログラムを構成する、周期フラグが付加された手続func1(),func2(),func3(),・・・に対し、周期呼び出し開始タイミング情報(開始時刻)、周期情報(周期)、周期呼び出し終了タイミング情報(終了時刻)が記述されている場合、プログラム実行システムにおいて、各手続func1(),func2(),func3(),・・・は、周期呼び出しタイミング情報に対応するフレーム識別コードが、デマルチプレクサ27から供給されたときにコールされ、その後は、信号処理回路22から垂直同期信号が供給されるごとに、周期情報に対応してコールされる。即ち、例えば、図12の実施の形態では、手続func1(),func2(),func3()の周期情報が、それぞれ、1,2,3とされているが、この場合、手続func1(),func2(),func3()は、信号処理回路22から垂直同期信号を、それぞれ1,2,3回受信するたびにコールされる。従って、この場合、所定の処理を、フレームに正確に同期して周期的に実行することができる。
以上のように、アプリケーションプログラムが、フレームに同期して起動され、さらに、各種の処理(手続)がフレーム周期に同期して実行されるので、テレビジョン放送番組に、より密接に関連した形で、各種の処理を行うことが可能となる。
また、フレームに正確に同期して処理が行われるため、例えば、アプリケーションプログラムが、EPG(Electric Program Guide)を表示するものである場合において、スポンサから、自身のコマーシャルの放送中は、EPGの表示を行わないようにする旨の要求があったときなどには、コマーシャルが開始されるフレームの直前のフレームのタイミングまでは、EPGを表示しておき、コマーシャルが開始されるフレームのタイミングでは、そのEPGを消去するようなことが可能となる。
さらに、アプリケーションプログラムが、例えば、EPGを表示するものである場合においては、フレームに同期して、そのEPGを構成するコンテンツに、様々なアクションをさせることができ、この場合、ユーザの注意をひくことができる。
また、アプリケーションプログラムが、例えば、テレビジョン放送番組を利用して、情報の表示を行うものである場合には、その画面と正確に連動した表示が可能となる。
即ち、図13は、テレビジョン放送番組を利用して、レジャーに関する情報(レジャー情報)の表示を行うアプリケーションプログラムによる画面の表示例を示している。
この画面は、レジャー情報を表示するレジャーの種類を選択する選択画面で、例えば、図14に示すようにして構成されている。
即ち、図13の選択画面は、図14(A)に示すような、4つのチャンネルのテレビジョン放送番組の画面に、同図(B)に示すような、オブジェクト指向言語で実現されるオブジェクトで構成されるウインドウが重畳(オーバレイ)されて構成されている。
ここで、図14(A)に示すテレビジョン放送番組の画面は、第1乃至第4のチャンネルの番組の画面が、それぞれ左上、右上、左下、右下に配置されて構成されている。また、図14(B)に示すウインドウは、第1乃至第4のチャンネルの番組に関連するレジャーをそれぞれ選択するための、ビットマップで構成されるボタン101乃至104、選択画面の表題を構成するビットマップ105およびテキスト106、並びにレジャーの選択を促すメッセージ「興味ある番号をクリックして下さい」としてのテキスト107で構成されている。
いま、図13に示す選択画面が表示された状態で、ボタン101乃至104のうちの、例えば、第4のチャンネルの番組に関連するレジャーを選択するためのボタン104が操作(例えば、マウスでクリック)されたとする。いま、第4のチャンネルでは、ウインドサーフィンを行っている場面が表示されており、このため、ボタン104が操作されると、ウインドサーフィンに関するレジャー情報の画面として、例えば、図15に示すようなレジャー情報画面が表示される。
ここで、このレジャー情報画面は、例えば、図14(A)に示す画面と同様の図16(A)に示す画面から、第4のチャンネルの画面を切り出し、図16(B)に示すウインドウ(このウインドウも、例えばオブジェクトで実現される)に貼り付けることで構成されている。なお、図16(B)のウインドウは、図13の選択画面において操作されたボタン104と同様のビットマップ201、レジャー情報の表題「ウインドサーフィン」としてのテキスト202、レジャー情報の内容「パーク内のプライベートビーチではウインドサーフィンを楽しめます」、「ボードレンタル 1000円/1時間」、「インストラクターによる個人レッスンあります」それぞれとしてのテキスト203乃至205、並びに図13の選択画面への戻り方の説明を構成するビットマップ206およびテキスト207で構成されている。そして、図16(A)に示す画面から切り出された第4のチャンネルの画面が、図16(B)に示すウインドウの余白部分208に貼り付けられ、図15のレジャー情報画面が構成される。
いま、あるチャンネルの番組を視聴していて、それを、図13に示した選択画面に切り換える場合においては、図14(A)に示したテレビジョン放送番組の画面の表示と、図14(B)に示したウインドウの表示とを同時に行う必要がある。上述したように、プログラム実行システム30では、各種の処理(手続)がフレーム周期に同期して実行されるので、図14(A)に示したテレビジョン放送番組の画面の表示と、図14(B)に示したウインドウの表示とを同時に行うことができる。即ち、図14(A)に示したテレビジョン放送番組の画面が表示される前や、あるいは、表示された後に、図14(B)に示したウインドウの表示が行われ、視聴者に違和感を感じさせることを防止することができる。
なお、図13に示す選択画面が表示された状態で、ボタン101乃至104の操作に対応して、その表示画面を、図15に示したようなレジャー情報画面に切り換えることで、ユーザには、インタラクティブなユーザインターフェイスの提供が可能となる。
次に、プログラム実行システム30が、アプリケーションプログラムを実行するときのスケジューリングについて、例えば、EPGを表示するアプリケーションプログラムを例に説明する。
本実施の形態では、アプリケーションプログラムは、例えば、Java(登録商標)言語などのオブジェクト指向言語で記述されており、ここでは、EPGは、動画や、静止画、テキスト、ボタンなどのEPGの部品に対応するオブジェクト、各部品に対応するオブジェクトを操作するオブジェクト、タイムスケジューリングを行うオブジェクトを含んで構成される。
即ち、本実施の形態では、EPGは、シーンと呼ばれるオブジェクトが1以上集まって構成される。そして、シーンは、少なくとも、アクタおよびビヘイビアスケジューラと呼ばれるオブジェクトを有している。
アクタは、動画や、静止画、テキスト、ボタンなどの部品に対応する動作可能なオブジェクトで、その振舞(例えば、画面上における自身の表示位置や、表示する大きさ、色、画面上において移動するかしないか、移動するなら、その移動方向や移動速度、移動量、自身が有する動画や静止画、音声などのコンテンツを再生するとか、一時停止するとかなど)を決めるデータを有している。また、アクタは、基本的には、ユニークなものであるため、クラスの継承関係は持っていない(但し、Java(登録商標)では、いずれのオブジェクトも、最終的には、オブジェクトクラス(Object型)を継承している)。但し、アクタは、後述するビヘイビアに、自身が有するデータを操作させるためのインターフェイス(以下、適宜、操作インターフェイスという)(Java(登録商標)言語やC++で規定されているインターフェイス)を実装しており、これにより、クラスの継承関係がなくても、ビヘイビアは、その操作インターフェイスを利用して、アクタが有するデータに対してアクセスすることができるようになされている。
なお、オブジェクト指向プログラミングによって、シミュレーションを行う場合に、並列処理が可能な計算モデルとして、自立的に振る舞うオブジェクトから構成されるものを考えることがある。この場合に、その自立的に振る舞うオブジェクトは、一般に、アクタと呼ばれるが、シーンを構成するアクタは、計算モデルを構成するアクタとは異なる。即ち、いずれのアクタも、自身の振舞を決めるデータを有する点では共通するが、シーンを構成するアクタは、基本的に、そのデータを操作するメソッドを有しない点で、そのデータを有する、計算モデルを構成するアクタとは異なる。但し、シーンを構成するアクタに、それが有するデータを操作するメソッドを持たせることも可能である(シーンを構成するアクタを、計算モデルを構成するアクタと同様に構成することも可能である)。
ビヘイビアスケジューラは、アクタが有するデータを操作するビヘイビア(behavior)と呼ばれるオブジェクトを有し、そのビヘイビアをタイムスケジューリングする。即ち、ビヘイビアスケジューラは、タイムスケジューリングの対象であるビヘイビアと、そのビヘイビアにアクタのデータを操作させるための時間的な制約条件とが対応付けられて登録されるテーブルを管理しており、そのテーブルの登録情報に基づいて、ビヘイビアに処理を行わせる(アクタが有するデータを操作させる)。
ここで、ビヘイビアは、上述の操作インターフェイスを用いて、その操作インターフェイスを実装するアクタのデータを読み出して処理し、その処理後のデータを、再び、アクタに設定する。アクタは、その設定されたデータにしたがって振る舞う(動作する)。また、ビヘイビアは、基本的には、アクタと同様に、ユニークなものであり、クラスの継承関係は持っていない。さらに、ビヘイビアは、それを有するビヘイビアスケジューラを、親ビヘイビアスケジューラとして、その親ビヘイビアスケジューラに従属するビヘイビアスケジューラである子ビヘイビアスケジューラを有することが可能となされている。この場合、親ビヘイビアスケジューラが有するビヘイビア(以下、適宜、親ビヘイビアという)と、その子ビヘイビアスケジューラが有するビヘイビア(以下、適宜、子ビヘイビアという)の両方によって、アクタのデータが操作され、そのアクタの振舞が制御される。即ち、これにより、アクタは、親ビヘイビアによるデータの操作と、子ビヘイビアによるデータの操作との両方の操作を組合せた(合成した)ような振舞をする。
なお、ビヘイビアは、ビヘイビアスケジューラが有し、ビヘイビアスケジューラは、シーンを構成するから、シーンは、アクタおよびビヘイビアスケジューラに、ビヘイビアを加えた3種類のオブジェクトを含んで構成されているということもできる。
また、ビヘイビア(ビヘイビアスケジューラ)は、3階層以上の階層構造を持つことも可能である。
以上のように構成されるシーンでは、ビヘイビアにおいて、ビヘイビアスケジューラによるタイムスケジューリングにしたがい、アクタのデータが操作され、これにより、そのアクタの振舞が制御される。即ち、アクタの振舞が、いわば高次制御される。従って、アクタのデータの操作が、アクタとは別のビヘイビアによって行われるので(アクタが有するデータを操作するメソッドが、アクタとは別のビヘイビアに実装されているので)、ビヘイビアだけを作り直し、あるいは、ビヘイビアを交換、追加などするだけで、アクタを作成し直すことなく、その振舞を拡張(変更)することが可能となる。
さらに、ビヘイビア(ビヘイビアスケジューラ)は、それに従属する子ビヘイビア(子ビヘイビアスケジューラ)を有することが可能であるから、即ち、ビヘイビア(ビヘイビアスケジューラ)は、いわば階層構造にすることができるから、単純な振舞に対応するビヘイビアを複数組み合わせることで、容易に、複雑な振舞を実現することが可能となる。
なお、ビヘイビアをタイムスケジューリングするオブジェクトであるビヘイビアスケジューラが、別個に用意されているので、そのビヘイビアスケジューラによって、ビヘイビアをタイムスケジューリングするだけで、容易に、複数のビヘイビアを組み合わせることができる。
以上のように、ビヘイビアスケジューラが、自身の有するビヘイビアをタイムスケジューリングし、そのようにタイムスケジューリングされたビヘイビアによってアクタの振舞が制御され、これにより、一場面(シーン)が形成されることから、アクタとビヘイビアスケジューラとの組み合わせを有するオブジェクトを、シーンと呼んでいる。
ところで、本実施の形態では、シーンは、そのシーンを親シーンとして、それに従属するシーンである子シーン(サブシーン)を持つことができるようになされており、即ち、シーンも、ビヘイビア(ビヘイビアスケジューラ)と同様に階層構造をとることができるようになされており、この場合、親シーンは、その子シーンをタイムスケジューリングする、ビヘイビアスケジューラと同様に構成されるオブジェクトであるシーンスケジューラ(子シーンスケジューリングオブジェクト)をさらに含んで構成される。
シーンが子シーンを有する場合、その子シーンは、対応するシーンスケジューラによってタイムスケジューリングされたタイミングに実行される。即ち、子シーンは、親シーンと同様に、アクタ、ビヘイビア、およびビヘイビアスケジューラを有し(さらに、その孫シーンを有することもあり、この場合、その孫シーンをタイムスケジューリングするシーンスケジューラも有する)、子シーンのシーンスケジューラは、その子シーンが有するビヘイビアスケジューラに処理を行わせる(子シーンが、孫シーンと、そのシーンスケジューラを有する場合には、さらに、その孫シーンのシーンスケジューラにも処理を行わせる)。これにより、子シーンでは、その子シーンが有するビヘイビアにおいて、その子シーンが有するビヘイビアスケジューラによるタイムスケジューリングにしたがい、その子シーンが有するアクタのデータが操作され、そのアクタの振舞が制御される。
ここで、ビヘイビアスケジューラとシーンスケジューラとは、上述のように同様に構成されるので、以下、適宜、両方あわせて、単に、スケジューラという。
スケジューラは、時間に関してスケジューリング(タイムスケジューリング)を行うためのメソッドを実装しており、タイムスケジューリングされるためのインターフェイス(以下、適宜、スケジュールドインターフェイスという)(Java(登録商標)言語やC++で規定されているインターフェイス)を実装する他のスケジューラおよびビヘイビアを、タイムスケジューリングの対象とするようになされている。従って、本実施の形態では、タイムスケジューリングされるスケジューラおよびビヘイビアは、スケジュールドインターフェイスを実装しており、また、スケジューラは、スケジュールドインターフェイスを使用して、スケジューラおよびビヘイビアのタイムスケジューリングを行う。
なお、スケジューラは、上述のように、他のスケジューラをタイムスケジューリングすることができるので、他のスケジューラにおいて、あるスケジューラによるタイムスケジューリングのタイミングを基準として、タイムスケジューリングを行うような、いわばタイムスケジューリングの組合せ(合成)が可能となる。
ここで、本実施の形態では、スケジューラとして、2つの異なる機能を有するものが用意されている。1つはパラレルスケジューラと呼ばれるスケジューラで、これは、自身のテーブルに、実行可能なオブジェクトが複数登録されている場合に、その複数のオブジェクトすべてを並列に実行することが可能なものである。また、他の1つはシーケンシャルスケジューラと呼ばれるスケジューラで、これは、自身のテーブルに、実行可能なオブジェクトが複数登録されている場合に、そのうちの1つだけを優先的に実行可能なものである。
シーケンシャルスケジューラにおいて、自身のテーブルに、実行可能なオブジェクトが複数登録されている場合に、そのうちのいずれを優先して実行するかは、種々の方法が考えられるが、例えば、その複数のオブジェクトが、テーブルに登録された順番を優先させることができる。また、オブジェクトの実行開始時刻が規定されている場合には、例えば、その実行開始時刻の最も早いものを優先させることができる。さらに、オブジェクトの実行時間(実行開始時刻から実行終了時刻までの時間)が規定されている場合には、例えば、その実行時間が最も長いものを優先させることなども可能である。
なお、オブジェクトを実行するとは、そのオブジェクトが有するメソッドをコールすることを意味する。
また、シーンは、いわばコンテナに相当し、そのシーンを構成するアクタやビヘイビアスケジューラ、子シーンは、そのコンテナのコンポーネントに相当する。
次に、図17は、以上のようなシーンで構成されるEPGを模式的に表している。
図17の実施の形態では、まず同図(A)に示すようなEPGが構成され、その後、そのEPGが、所定のタイミングにおいて、同図(B)に示すようなものに変化するようになされている。なお、図17(A)に示すEPGは、アクタとして、背景31、イメージ32、背景33、ボタン34乃至37を有し、同図(B)に示すEPGは、そのうちの背景33およびボタン34乃至37に代えて、背景41、ボタン42、および43を、アクタとして有している。
図17に示すようなEPGの振舞(同図(A)から同図(B)に示すようなEPGの変化)は、シーンが、例えば図18に示すように再生(実行)されることで実現される。
即ち、図17のEPGは、シーンScene0で構成され、シーンScene0は、EPGの背景31をアクタとして有し、かつ、その子シーンとして、シーンScene01,Scene02,Scene03を有している。さらに、シーンScene0は、その子シーンScene01乃至Scene03を、時刻t0乃至t0’,t0乃至t1,t1乃至t0’においてそれぞれ再生するようにタイムスケジューリングするスケジューラ(シーンスケジューラ)も有している。なお、図18の実施の形態では、シーンScene0は、時刻t0乃至t0’において再生されるようにタイムスケジューリングされているが、シーンScene0は、最も上位の階層のシーンであるため、そのタイムスケジューリングは、例えば、スレッドクラスのインスタンス(図17のEPGを再生するために割り当てられたスレッド)において行われるようになされている。
シーンScene01は、イメージ32をアクタとして有している。
シーンScene02は、ボタン34乃至37が配置される部分の背景33をアクタ
として有し、かつ、その子シーンとして、シーンScene021,Scene022,Scene023,Scene024を有している。さらに、シーンScene02は、その子シーンScene021乃至Scene024のいずれをも、時刻t0乃至t1において再生するようにタイムスケジューリングするスケジューラを有している。そして、シーンScene021乃至Scene024は、ボタン34乃至37をアクタとしてそれぞれ有している。
シーンScene03は、ボタン42および43が配置される部分の背景41をアクタとして有し、かつ、その子シーンとして、シーンScene031,Scene032を有している。さらに、シーンScene03は、その子シーンScene031,Scene032のいずれをも、時刻t1乃至t0’において再生するようにタイムスケジューリングするスケジューラを有している。そして、シーンScene031,Scene032は、ボタン42,43をアクタとしてそれぞれ有している。
従って、時刻t0において、シーンScene0の再生が開始されると、シーンScene0が有するアクタとしての背景31が表示される。さらに、シーンScene0が有するスケジューラにおいて、シーンScene01およびScene02の再生が開始され、これにより、シーンScene01またはScene02がそれぞれ有するアクタとしてのイメージ32または背景33が表示される。また、シーンScene02が有するスケジューラにおいて、シーンScene021乃至Scene024の再生が開始され、これにより、シーンScene021乃至Scene024がそれぞれ有するアクタとしてのボタン34乃至37が表示される。
その結果、図17(A)に示すEPGが表示される。なお、シーンScene0,Scene01,Scene02,Scene021乃至Scene024は、それぞれが有するアクタとしての背景31、イメージ32、背景33、ボタン34乃至37が有するデータを操作するビヘイビアを有しており、その表示の仕方(大きさ、色、表示位置など)(振舞)は、このビヘイビアが、各アクタの有するデータを操作することで制御される。
その後、現在時刻が時刻t1となると(但し、t0<t1<t0’)、シーンScene0が有するスケジューラにおいて、シーンScene02の再生が終了され、さらに、シーンScene02が有するスケジューラにおいて、シーンScene021乃至Scene024の再生が終了される。これにより、シーンScene02が有するアクタとしてのイメージ32、およびシーンScene021乃至Scene024がそれぞれ有するアクタとしてのボタン34乃至37の表示が消去される。
また、時刻t1では、シーンScene0が有するスケジューラにおいて、シーンScene03の再生が開始され、これにより、シーンScene03が有するアクタとしての背景41が表示される。また、シーンScene03が有するスケジューラにおいて、シーンScene031およびScene032の再生が開始され、これにより、シーンScene031またはScene032がそれぞれ有するアクタとしてのボタン42または43が表示される。
その結果、図17(A)に示すEPGに代えて、図17(B)に示すEPGが表示される。なお、シーンScene03,Scene031,Scene032は、それぞれが有するアクタとしての背景41、ボタン42,43が有するデータを操作するビヘイビアを有しており、その表示の仕方は、このビヘイビアが、各アクタの有するデータを操作することで制御される。
その後、現在時刻が時刻t0’となると、シーンScene0の再生が終了され、さらに、シーンScene0が有するスケジューラにおいて、シーンScene01およびScene03の再生が終了されるとともに、シーンScene03が有するスケジューラにおいて、シーンScene031およびScene032の再生が終了される。これにより、シーンScene0が有するアクタとしての背景31、シーンScene01が有するアクタとしてのイメージ32、シーンScene03が有するアクタとしての背景41、シーンScene031,Scene032がそれぞれ有するアクタとしてのボタン42,43の表示が消去される。
即ち、図17(B)に示すEPGは消去される。
EPGを構成するシーンは、階層構造にされているので、EPGを構成するアクタや、その振舞を容易に変更することができる。
即ち、例えば、図17に示したようなEPGの変更は、アクタである背景33、ボタン34乃至37を、1つずつ消去するとともに、アクタとしての背景41、ボタン42,43を1つずつ表示するような制御を行うのではなく、シーンScene02を、シーンScene03に切り替えるだけで行うことができる。
次に、ビヘイビアも、上述したように、シーンと同様に階層構造にすることができ、これにより、アクタの複雑な振舞を、容易に実現することができる。
即ち、例えば、いま、図19に示すように、あるビヘイビアBehavior0に、ビヘイビアBehavior01およびBehavior02が従属しており、さらに、ビヘイビアBehavior01に、ビヘイビアBehavior011およびBehavior012が従属しているとする。また、ビヘイビアBehavior0,Behavior01,Behavior02,Behavior011,Behavior012は、時刻t0乃至t0’,t0乃至t5,t5乃至t0’,t0乃至t3,t2乃至t4それぞれにおいて、アクタの振舞を制御するようにタイムスケジューリングされているものとする(但し、t0<t2<t3<t4<t5<t0’)。さらに、例えば、ビヘイビアBehavior0は、アクタの表示色を赤から緑に変更する操作を、ビヘイビアBehavior01は、アクタを、傾き2の直線上を移動させる操作を、ビヘイビアBehavior02は、アクタを、傾き−2の直線上を移動させる操作を、ビヘイビアBehavior011は、アクタの大きさを、1ずつ拡大する操作を、ビヘイビアBehavior012は、アクタを、半径5の円の円周上を移動させる操作を、それぞれ行うものとする。また、ビヘイビアBehavior0は、図20に示すようなボタンとしてのアクタの振舞を制御するものとする。なお、ビヘイビアBehavior0,Behavior01,Behavior02,Behavior011,Behavior012は、階層構造を構成しているから、ビヘイビアBehavior0の子ビヘイビアであるビヘイビアBehavior01,Behavior02、さらには、ビヘイビアBehavior01の子ビヘイビアであるビヘイビアBehavior011,Behavior012も、ビヘイビアBehavior0と同一のアクタの振舞を制御する。
この場合、現在時刻が、時刻t0になると、ビヘイビアBehavior0は、アクタの表示色を、赤から緑に変更する(従って、アクタの元の表示色は、ここでは、赤になっている)。さらに、ビヘイビアBehavior01は、傾き2の直線に沿ってのアクタの移動を開始させ、ビヘイビアBehavior011は、アクタの大きさを1ずつ拡大させる。そして、現在時刻がt2になると、ビヘイビアBehavior012は、半径5の円の円周に沿ってのアクタの移動を開始させ、その後、現在時刻が、時刻t3になると、ビヘイビアBehavior011は、アクタの拡大を停止させ、さらに、現在時刻が、時刻t4となると、ビヘイビアBehavior012は、半径5の円の円周に沿ってのアクタの移動を停止させる。
そして、現在時刻が、時刻t5になると、ビヘイビアBehavior01は、傾き2の直線に沿ってのアクタの移動を停止させ、ビヘイビアBehavior02は、傾−2の直線に沿ってのアクタの移動を開始させる。その後、現在時刻が、時刻t0’になると、ビヘイビアBehavior02は、傾き−2の直線に沿ってのアクタの移動を停止させ、さらに、ビヘイビアBehavior0によるアクタの表示色の制御が終了する。
その結果、アクタとしてのボタンは、図20に示すように、時刻t0において、その表示色を赤から緑に変更し(同図においては、赤色を無模様で、緑色を斜線で、それぞれ表してある)、傾き2の直線上を移動しながら(同図においてAで示す部分)、そのサイズを1ずつ拡大していく(同図においてCで示す部分)。さらに、アクタは、時刻t2において、傾き2の直線上を移動することに加えて、半径5の円周上を移動することを開始し(同図においてBで示す部分)、時刻t3において、傾き2の直線上を移動することを停止する。その後、アクタは、時刻t4において、半径5の円周上を移動することを停止し、時刻t5において、傾き−2の直線上を移動することを開始する(同図においてDで示す部分)。そして、時刻t0’になると、アクタは、あらゆる動作を停止する。
以上のように、ビヘイビアを階層構造にすることができるので、各ビヘイビアによる振舞を組み合わせた複雑な振舞を、容易に実現することが可能となる。
また、振舞の変更も容易に行うことが可能となる。即ち、例えば、図19および図20の実施の形態において、アクタに、傾き2の直線上の移動、サイズの拡大、および半径5の円周上の移動を行わせないようにするには、ビヘイビアBehavior01,Behavior011,Behavior012を1つずつ取り除く必要はなく、そのうちの最も上位階層のビヘイビアであるビヘイビアBehavior01を取り除くだけで済む。
次に、図21は、本発明を適用した放送システムの他の実施の形態の構成例を示している。
図1の実施の形態においては、地上波による放送が行われるようになされていたが、図21の実施の形態においては、衛星回線を利用して、放送が行われるようになされている。
即ち、放送局の送信装置51では、図1の送信装置1と同様の処理が行われる。但し、衛星回線は、地上波に比較して伝送帯域が広いので、アプリケーションプログラムは、テレビジョン放送信号の垂直ブランキング期間に重畳した形ではなく、周波数多重化または時分割多重化した形で出力されるようになされている。
送信装置51が出力する出力信号は、アンテナ52から出射され、衛星53を介して、ユーザ側のアンテナ54で受信される。アンテナ54で受信された受信信号は、STB(Set Top Box)55に供給される。STB55では、図1のTV受像機4における場合と基本的に同様の処理が行われ、その結果得られる画像は、CRT56に供給されて表示される。
以上のように衛星回線を利用する場合においては、伝送帯域が広いため、地上波を利用する場合に比較して、多くのアプリケーションプログラムを、高速に伝送することが可能となる。
以上、本発明を、地上波および衛星回線を利用したテレビジョン放送信号の放送に適用した場合について説明したが、本発明は、地上波や衛星回線を利用したものに限定されるものではなく、その他、CATV網その他の伝送媒体を利用した放送にも適用可能である。即ち、本発明は、ディジタル放送が可能な伝送媒体であれば適用可能である。また、フレーム識別コードやアプリケーションプログラムの多重化方法も、特に限定されるものではない。
なお、本実施の形態では、各フレームに、それを識別するためのコード(フレーム識別コード)を付加するようにしたが、このようなコードは、フレーム単位ではなく、フィールド単位で付加したり、あるいは、数フレーム単位で付加することも可能である。
また、本実施の形態では、アプリケーションプログラムが、オブジェクト指向言語や関数型言語で記述されているものとしたが、アプリケーションプログラムは、その他、例えば、機械語やBasicなどで記述することも可能である。
さらに、本実施の形態では、テレビジョン放送番組としての画像や音声を、特に符号化することなく伝送するようにしたが、テレビジョン放送番組としての画像や音声は符号化して伝送することも可能である。例えば、符号化方式として、MPEG(Moving Picture Experts Group)を用いる場合には、アプリケーションプログラムは、MPEG符号化を行って得られるMPEGストリームのユーザデータと呼ばれる領域などに配置することなどが可能である。
また、本実施の形態では、アプリケーションプログラムに、ハードディスク29から削除する時刻に対応するフレーム識別コードを、削除タイミング情報として付加するようにしたが、削除タイミング情報としては、例えば、アプリケーションプログラムを、ハードディスク29に記録しておく時間(以下、適宜、削除時間という)を用いることも可能である。アプリケーションプログラムを、ハードディスク29に記録した時刻は、そのファイル名から求めることができ、さらに、現在時刻は、フレーム識別コードから求めることができるから、アプリケーションプログラムを、ハードディスク29に記録してからの経過時間も求めることができる。従って、削除タイミング情報として、削除時間を用いる場合には、経過時間が、削除タイミング情報としての削除時間を越えているかどうかに基づいて、アプリケーションプログラムを削除するようにすれば良い。
さらに、フレーム識別コードは、本実施の形態で説明したものに限定されるものではなく、各フレームの識別が可能な、あらゆるコードを用いることが可能である。
1 送信装置, 2,3 アンテナ, 4 TV受像機, 11 フレーム識別コード発生回路, 12 時刻情報付加回路, 13 マルチプレクサ, 14 送信回路, 21 受信処理回路, 22 信号処理回路, 23 重畳回路, 24 CRT, 25 アンプ, 26 スピーカ, 27 デマルチプレクサ, 28 登録部, 29 ハードディスク, 30 プログラム実行システム, 31 操作部, 41 ROM, 42 CPU, 43 RAM, 44 補助記憶装置, 45 外部I/F, 51 送信装置, 52 アンテナ, 53 衛星, 54 アンテナ, 55 STB, 56 CRT