(57)【要約】  リソースマネージャ１７０４ｇの下で、リソース確保を要求したプログラムによって優先度を付与するとともに、ＥＡＳモジュールのような緊急を要するプログラムの場合は無条件にリソース確保を許可する特殊な優先度を付与することで、リソース競合を解消するためのハンドラを呼び出さずに、想定外のブロックの発生を未然に防ぐ。
2008543118.tif 000002
【特許請求の範囲】
【請求項１】
予め優先度が設定されたプログラムの実行を制御するプログラム実行手段と、
前記プログラム実行手段によるプログラムの実行に従ってリソースの確保が要求された場合、前記プログラム実行手段にて実行される他のプログラムにより既に前記リソースが確保されているために競合が生じるどうかを検出し、かつ前記プログラム実行手段により実行されるプログラムのうち特定のプログラムにより前記リソースの確保が要求された場合、前記特定のプログラムの優先度を最高と設定するリソース競合検出手段と、
前記競合が生じている場合、最も優先度の高いプログラムに、競合するリソースの確保を許可すると判定するリソース確保プログラム判定手段と、
前記リソース確保プログラム判定手段による判定にもとづいて、リソースの確保が許可されたプログラムへリソースの確保を通知するリソース確保プログラム通知手段とを備えることを特徴とする放送受信端末。
【請求項２】
前記リソースの競合が発生した場合に前記プログラムに設定された優先度に従って前記競合を解決するリソース競合ハンドラが登録されている場合、リソース確保プログラム判定手段は、前記競合が生じているときには、前記リソースの確保を要求するプログラムの優先度が最高でなければ前記リソース競合ハンドラを呼び出し、前記リソースの確保を要求したプログラムが最高の優先度が設定されたプログラムであるときには、前記リソース競合ハンドラを呼び出すことなく、前記リソースの確保を要求したプログラムに前記競合するリソースの確保を許可すると判定することを特徴とする請求項１に記載の放送受信端末。
【請求項３】
前記リソースに対応して前記特定のプログラムが既定されていることを特徴とする請求項１に記載の放送受信端末。
【請求項４】
前記特定のプログラムは受信した放送波に含まれる警報情報をユーザへ通知するためのプログラムであることを特徴とする請求項１に記載の放送受信端末。
【請求項５】
前記リソースはチューナに相当するリソースであることを特徴とする請求項１に記載の放送受信端末。
【請求項６】
予め優先度が設定されたプログラムの実行を制御するプログラム実行手段と、
前記プログラム実行手段によるプログラムの実行に従ってリソースの確保が要求された場合、前記プログラム実行手段にて実行される他のプログラムにより既に前記リソースが確保されているために競合が生じるどうかを検出するリソース競合検出手段と、
前記競合が生じている場合、前記リソースの確保を要求するプログラムが特定のプログラムでなければ最も優先度の高いプログラムに前記競合するリソースの確保を許可すると判定し、前記リソースの確保を要求するプログラムが特定のプログラムであれば、前記特定のプログラムに前記競合するリソースの確保を許可すると判定するリソース確保プログラム判定手段と、
前記リソース確保プログラム判定手段による判定にもとづいて、リソースの確保が許可されたプログラムへリソースの確保を通知するリソース確保プログラム通知手段とを備えることを特徴とする放送受信端末。
【請求項７】
前記リソースの競合が発生した場合に前記プログラムに設定された優先度に従って前記競合を解決するリソース競合ハンドラが登録されている場合、リソース確保プログラム判定手段は、前記競合が生じているときには、前記リソースの確保を要求するプログラムが前記特定のプログラムでなければ前記リソース競合ハンドラを呼び出し、前記リソースの確保を要求したプログラムが前記特定のプログラムであるときには、前記リソース競合ハンドラを呼び出すことなく、前記特定のプログラムに前記競合するリソースの確保を許可すると判定することを特徴とする請求項６に記載の放送受信端末。
【請求項８】
前記リソースに対応して前記特定のプログラムが既定されていることを特徴とする請求項６に記載の放送受信端末。
【請求項９】
前記特定のプログラムは受信した放送波に含まれる警報情報をユーザへ通知するためのプログラムであることを特徴とする請求項６に記載の放送受信端末。
【請求項１０】
前記リソースはチューナに相当するリソースであることを特徴とする請求項６に記載の放送受信端末。
【請求項１１】
前記リソース競合ハンドラの登録は、前記登録する権限を有するプログラムによってなされていることを特徴とする請求項６に記載の放送受信端末。
【請求項１２】
放送受信端末におけるプログラムの実行方法であって、
予め優先度が設定されたプログラムの実行を制御するプログラム実行ステップと、
前記プログラム実行ステップによるプログラムの実行に従ってリソースの確保が要求された場合、前記プログラム実行ステップにて実行される他のプログラムにより既に前記リソースが確保されているために競合が生じるどうかを検出し、かつ前記プログラム実行ステップにより実行されるプログラムのうち特定のプログラムにより前記リソースの確保が要求された場合、前記特定のプログラムの優先度を最高と設定するリソース競合検出ステップと、
前記競合が生じている場合、最も優先度の高いプログラムに、競合するリソースの確保を許可すると判定するリソース確保プログラム判定ステップと、
前記リソース確保プログラム判定ステップによる判定にもとづいて、リソースの確保が許可されたプログラムへリソースの確保を通知するリソース確保プログラム通知ステップとを含むことを特徴とするプログラム実行方法。
【請求項１３】
放送受信端末のためのプログラムであって、
請求項１２記載のプログラム実行方法に含まれるステップをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送受信端末に関する。殊に、映像、音声およびプログラム等のデータから構成されるコンテンツが相互に同期をとって放送波に多重されて送信され、その放送波を受信して映像、音声、データを視聴するための仕組み、コンテンツ間でチューナ等のリソースの競合が発生した場合にそれを解消するための仕組みに関する。
【背景技術】
【０００２】
放送局から送信される放送波は、多種多様なコンテンツを含んでいる。コンテンツは、通常の番組で用いられる映像、音声の他に、データを含む場合がある。データの送信方法にはいくつかの方式があり、大別して時系列に送信する方式と、一定の間隔ごとに繰り返し送信する方式がある。前者の時系列に送信する方式では、例えば、時間経過に合わせて連続するデータを順次送信していく。大量のデータを長時間かけて送信する場合に適しているが、送信タイミングで受信しなかった場合は二度と受信できないという欠点がある。一方、後者の一定の間隔ごとに繰り返し送信する方式では、同じデータを一定の期間何度も繰り返し送信する。同一データを送信している期間内に、繰り返し送信されているデータのいずれかひとつを受信すればよいので、受信タイミングが限定されないというメリットがある。例えば、ＢＭＬに代表されるデータ放送や、ＤＳＭ−ＣＣデータカルーセルによるファイル送信がこの方式である。特に放送においては、受信者がいつ選局して受信を開始するかわからない。時系列に送信する方式では、受信開始が送信タイミングよりも遅れてしまって、データ取得に失敗した場合、二度と再取得できない。よって、放送波で映像、音声とともにアプリケーションプログラム等のデータを送信したい場合には、一定の間隔ごとに繰り返し送信される方式が好適である。
【０００３】
現在、上記のような方式で、映像、音声とアプリケーションプログラムとを含む放送波を受信し、アプリケーションプログラムを映像、音声と同期して実行するための仕様が策定され、運用されている。通常の映像、音声を見るだけでなく、送信されたアプリケーションプログラムを受信して放送受信端末(以下、放送受信端末を単に「端末」または「端末装置」ともいう。)に取り込み、それを実行して様々な付加機能を実現することができる。このようにアプリケーションプログラムを送信して端末に取り込む方法はダウンロードとも呼ばれている。例えば、ＤＶＢ−ＭＨＰ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇ−Ｍｕｌｔｉｍｅｄｉａ  Ｈｏｍｅ  Ｐｌａｔｆｏｒｍ）  ＥＴＳＩ  ＥＳ  ２０１  ８１２  Ｖ１．１．１（２００３−１２）仕様が欧州で策定され、既に仕様に準拠した運用が開始されている。また米国ではケーブル放送環境で同様の仕組みを提供するＯＣＡＰ（ＯｐｅｎＣａｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ）  ＯＣ−ＳＰ−ＯＣＡＰ１．０−Ｉ１４−０５０１１９仕様が策定されており、実際に運用開始予定である。これらの仕様では、アプリケーションプログラムがＪａｖａ（登録商標）言語で記述されている。端末上にはチューニングやグラフィックス表示のための様々なＡＰＩ（アプリケーションプログラミングインタフェース）が用意されており、ＪａｖａアプリケーションプログラムはＡＰＩを呼び出すことでそれらの機能を制御できる。
【０００４】
さらに、北米では、ＯＣＡＰ仕様にコンテンツの録画再生機能を追加するためのＯＣＡＰ−ＤＶＲ  ＯＣ−ＳＰ−ＯＣＡＰ−ＤＶＲ−Ｉ０１−０４０５２４仕様を策定中である。これはケーブルテレビ放送として送出される映像、音声およびそれらと同期して実行されるＪａｖａアプリケーションプログラムをコンテンツとして録画し、さらに録画したコンテンツを放送波から直接再生する場合と同じように再生するものである。アプリケーションプログラムは、放送波からの直接再生と同様に映像、音声と同期をとって再生される。
【０００５】
またＯＣＡＰ−ＤＶＲでは、ハードディスクや半導体メモリといった高速ランダムアクセス可能な記録媒体に放送されたコンテンツを録画することで、コンテンツの特殊再生を実現している。ここで、特殊再生とは、早送り、巻戻し、スロー、一時停止、スキップ等の、コンテンツを任意の速度で再生したり、任意の位置から再生したりする機能である。ＯＣＡＰ−ＤＶＲでは、放送波から端末に取り込んだアプリケーションプログラムがコンテンツの録画や特殊再生を制御できる。すなわち、端末上に録画や特殊再生のためのＡＰＩが用意されており、ＪａｖａアプリケーションプログラムがそのＡＰＩを呼び出すことで各機能を制御できる。
【０００６】
通常、放送波には、アプリケーションプログラムを映像、音声と同期して実行するために、同期のための制御情報があらかじめ多重化されている。アプリケーションプログラムは、その同期制御情報に従って逐次実行および終了されていく。これによって、映像、音声の特定のシーンに合わせて適切なアプリケーションプログラムを切り替えて実行可能になる。
【０００７】
また、ＯＣＡＰ規格およびＯＣＡＰ−ＤＶＲ規格においては、複数のアプリケーションプログラム間で、チューナやＡＶエンコーダ等のリソースの競合が発生した場合に備えて、それを解消するために、あらかじめ特権アプリケーションプログラムが登録したハンドラを呼び出す、あるいは、それらアプリケーションプログラムが有する優先度にもとづく枠組みが規定されている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように、ＯＣＡＰ規格およびＯＣＡＰ−ＤＶＲ規格においては、複数のアプリケーションプログラム間で、チューナやＡＶエンコーダ等のリソースの競合が発生した場合に備えて、それを解消するために、あらかじめ特権アプリケーションプログラムが登録したハンドラを呼び出す、あるいは、それらアプリケーションプログラムが有する優先度にもとづく枠組みが規定されている。リソースの競合が発生した場合であっても、その枠組みに則って適切なアプリケーションプログラムへリソースが割り当てられるはずである。
【０００９】
しかしながら、リソースの競合を解消するために、あらかじめ特権アプリケーションプログラムによって登録されたハンドラを呼び出す場合は、ユーザからの入力を待ち受ける等によって、ブロックされる可能性がある。ブロックされたとしても、通常は問題ないが、ＥＡＳ（Ｅｍｅｒｇｅｎｃｙ  Ａｌａｒｔ  Ｓｙｓｔｅｍ）による警報をユーザへ通知するために強制チューニングを実行しなければならない場合等は、ハンドラによってブロックされてしまうと、ユーザへの通知に遅延が発生する。
【００１０】
上述の課題を解決するためには、ＥＡＳによる警報をユーザへ通知するために強制チューニングを実行しなければならない等の緊急を要する場合は、たとえあらかじめ特権アプリケーションプログラムによって登録されていたとしてもブロックする可能性のあるハンドラは呼び出すべきではない。
【００１１】
そこで、本発明は、このような状況に鑑みてなされたものであり、ＥＡＳによって強制チューニングが発生した場合であっても、従来のリソースの競合を解消するための枠組みを崩すことなく、かつ、特権Ｊａｖａプログラムによって事前に登録されたリソース競合ハンドラを呼び出して予期せずにブロックされることなく、迅速に強制チューニングを実行してユーザへ警報を呈示することができる放送受信端末等を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明は、予め優先度が設定されたプログラムの実行を制御するプログラム実行手段と、前記プログラム実行手段によるプログラムの実行に従ってリソースの確保が要求された場合、前記プログラム実行手段にて実行される他のプログラムにより既に前記リソースが確保されているために競合が生じるどうかを検出し、かつ前記プログラム実行手段により実行されるプログラムのうち特定のプログラムにより前記リソースの確保が要求された場合、前記特定のプログラムの優先度を最高と設定するリソース競合検出手段と、前記競合が生じている場合、最も優先度の高いプログラムに、競合するリソースの確保を許可すると判定するリソース確保プログラム判定手段と、前記リソース確保プログラム判定手段による判定にもとづいて、リソースの確保が許可されたプログラムへリソースの確保を通知するリソース確保プログラム通知手段とを備えることを特徴とする。
【００１３】
第２の発明は、予め優先度が設定されたプログラムの実行を制御するプログラム実行手段と、前記プログラム実行手段によるプログラムの実行に従ってリソースの確保が要求された場合、前記プログラム実行手段にて実行される他のプログラムにより既に前記リソースが確保されているために競合が生じるどうかを検出するリソース競合検出手段と、前記競合が生じている場合、前記リソースの確保を要求するプログラムが特定のプログラムでなければ最も優先度の高いプログラムに前記競合するリソースの確保を許可すると判定し、前記リソースの確保を要求するプログラムが特定のプログラムであれば、前記特定のプログラムに前記競合するリソースの確保を許可すると判定するリソース確保プログラム判定手段と、前記リソース確保プログラム判定手段による判定にもとづいて、リソースの確保が許可されたプログラムへリソースの確保を通知するリソース確保プログラム通知手段とを備えることを特徴とする。
【００１４】
なお、本発明は、このような放送受信端末として実現できるだけでなく、放送受信端末におけるプログラムの実行方法として実現したり、放送受信端末のためのプログラムとして実現したり、そのプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体として実現することもできる。
【発明の効果】
【００１５】
本発明における放送受信端末、および、プログラム実行方法によれば、ＥＡＳによって強制チューニングが発生した場合であっても、従来のリソースの競合を解消するための枠組みを崩すことなく、かつ、特権Ｊａｖａプログラムによって事前に登録されたリソース競合ハンドラを呼び出して予期せずにブロックされることなく、迅速に強制チューニングを実行してユーザへ警報を呈示することが可能となる。
【発明を実施するための最良の形態】
【００１６】
（実施の形態１）
以下に、本発明の第１の実施形態に係る放送受信端末およびプログラム実行方法を、図面を参照しながら説明する。本実施例ではケーブルテレビ放送システムでの実施の形態を例にとって説明する。ケーブルテレビ放送システムでは、本発明の受信端末装置は、例えば、放送録画再生装置であり、一般的に端末装置と呼ばれる。
【００１７】
図１は、放送システムを構成する装置の関係を表したブロック図であり、放送局側システム１０１および三個の端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３で構成される。放送局側システムと各端末装置間の結合１２１は、ケーブルシステムでは同軸ケーブルや光ファイバでの有線結合である。図１では、１つの放送局側システムに対して三つの端末装置が結合されているが、端末装置の数は任意である。
【００１８】
放送局側システム１０１は、複数の端末装置に対して映像・音声・データ放送用データ等の情報を放送信号に含めて送信する。放送信号は放送システムの運用既定や、放送システムが運用される国・地域の法律により定められた周波数帯域内の周波数を利用して伝送される。
【００１９】
本実施例のケーブルシステムでは、放送信号伝送に利用する周波数帯域は、そのデータの内容と伝送方向（上り、下り）ごとに分割して割り当てる。図２は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主に放送局側システム１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間の上下双方向データのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む下りのみの放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４またはＱＡＭ２５６変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図３は、ＯＯＢ周波数帯域のさらに詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚは放送局側システム１０１からの下りデータ送信に使用され、すべての端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３が、放送局側システム１０１から等しいデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１から放送局側システム１０１への上りデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２から放送局側システム１０１への上りデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３から放送局側システム１０１への上りデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３から放送局側システム１０１に独立して送信することができる。図４は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもディジタル放送として使用してもよい。ディジタル放送の場合は、ＭＰＥＧ−２仕様にもとづいたＴＳパケット形式で伝送され、音声や映像に加え、各種データ放送用データやＥＰＧを構成するための番組編成情報も送信することができる。
【００２０】
放送局側システム１０１は、以上に説明した周波数帯域を利用して端末装置に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等をもつ。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器をもつ。また、放送局側システム１０１は、これら変調部および復調部に関連する様々な機器をもつと考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【００２１】
一方、端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３は、放送局側システム１０１からの放送信号を受信し再生するために、ＱＡＭ復調部やＱＰＳＫ復調部を持つ。また、放送局側システム１０１に対して、各端末装置固有のデータを送信するためにＱＰＳＫ変調部を持つ。本発明では、端末装置は放送録画再生装置であり、その詳細な構成は後述する。
【００２２】
放送局側システム１０１は、ＭＰＥＧ−２トランスポートストリームを変調して放送信号に含めて伝送する。端末装置は放送信号を受信し、復調してＭＰＥＧ−２トランスポートストリームを再現し、その中から必要な情報を抽出して用いる。端末装置に存在するデバイスの機能と接続の構成を説明するため、まずＭＰＥＧ−２トランスポートストリームの構成を簡単に述べる。
【００２３】
図５はＴＳパケットの構成を表す図である。ＴＳパケット５００は１８８バイトの長さを持ち、ヘッダ５０１、アダプテーションフィールド５０２、ペイロード５０３からなる。ヘッダ５０１はＴＳパケットの制御情報を保持する。４バイトの長さを持ち、５０４で表される構成をとる。この中に“Ｐａｃｋｅｔ  ＩＤ（以下ＰＩＤ）”と記述されるフィールドを持ち、このＰＩＤの値によって、ＴＳパケットの識別を行う。アダプテーションフィールド５０２は時刻情報等の付加的な情報を保持する。アダプテーションフィールド５０２の存在は必須ではなく、存在しない場合もある。ペイロード５０３は映像・音声やデータ放送用データ等、ＴＳパケットが伝送する情報を保持する。
【００２４】
図６はＭＰＥＧ−２トランスポートストリームの模式図である。ＴＳパケットはそのペイロードに映像や音声、データ放送用のデータ、警報等様々な情報を保持する。ＴＳパケット６０１およびＴＳパケット６０３はヘッダにＰＩＤ１００を保持し、ペイロードに映像１に関する情報を保持する。ＴＳパケット６０２およびＴＳパケット６０５はヘッダにＰＩＤ２００を保持し、ペイロードにデータ１に関する情報を保持する。ＴＳパケット６０４はヘッダにＰＩＤ３００を保持し、ペイロードに音声１に関する情報を保持する。ＴＳパケット６０６はヘッダにＰＩＤ４００を保持し、ペイロードに警報１に関する情報を保持する。このように様々な種類のデータをペイロードに保持したＴＳパケットを混合して一連のシーケンスとして送出することを多重と呼ぶ。ＭＰＥＧ−２トランスポートストリーム６００はＴＳパケット６０１〜６０５を多重した構成の一例である。
【００２５】
同一ＰＩＤをもつＴＳパケットは同一種類の情報を保持する。そのため、端末装置は多重されたＴＳパケットを受信して、各ＴＳパケットが保持する情報をＰＩＤごとに抽出することで、映像・音声を再現したり、番組編成情報等のデータを再現したりできる。図６においては、ＴＳパケット６０１およびＴＳパケット６０３は共に映像１に関する情報を伝送し、またＴＳパケット６０２およびＴＳパケット６０５は共にデータ１に関する情報を伝送する。
【００２６】
ここで、ペイロードに内包される各種データの形式について説明する。
映像および音声は、ＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットと呼ばれる形式で表現される。ＰＥＳパケットはある時間帯の映像情報または音声情報を含み、放送録画再生装置は、ＰＥＳパケットを受信することで、そのＰＥＳパケットが内包する映像・音声情報を画面・スピーカに出力することができる。放送局がＰＥＳパケットを途切れなく伝送することで、放送録画再生装置は、映像・音声を途切れなく再生し続けることが可能となる。ＰＥＳパケットは、実際に伝送される際、一つのＴＳパケットのペイロードよりも大きいサイズをもつ場合は分割されて複数のＴＳパケットのペイロードに格納される。図７はＰＥＳパケットを伝送する際の分割例を表す。ＰＥＳパケット７０１は一つのＴＳパケット内のペイロードに格納して伝送するには大きいため、ＰＥＳパケット分割Ａ７０２ａ、ＰＥＳパケット分割Ｂ７０２ｂ、ＰＥＳパケット分割Ｃ７０２ｃに分割され、同一ＰＩＤをもつ三つのＴＳパケット７０３〜７０５によって伝送される。実際には、映像や音声は、複数のＰＥＳパケットのペイロードに含まれるデータを結合して得られるエレメンタリストリーム（ＥＳ）として得られる。このエレメンタリストリームは、ＭＰＥＧ−２ Ｖｉｄｅｏ規格やＭＰＥＧ１、２ Ａｕｄｉｏ規格で定義されるディジタル化映像、音声の形式になっている。
【００２７】
一方、番組編成情報やデータ放送用のデータ等の情報はＭＰＥＧ−２セクションと呼ばれる形式を用いて表現される。ＭＰＥＧ−２セクションは実際に伝送される際、一つのＴＳパケットのペイロードよりも大きいサイズをもつ場合は分割されて複数のＴＳパケットのペイロードに格納される。図８はＭＰＥＧ−２セクションを伝送する際の分割例を表す。ＭＰＥＧ−２セクション８０１は一つのＴＳパケット内のペイロードに格納して伝送するには大きいため、セクション分割Ａ８０２ａ、セクション分割Ｂ８０２ｂ、セクション分割Ｃ８０２ｃに分割され、同一ＰＩＤをもつ三つのＴＳパケット８０３〜８０５によって伝送される。
【００２８】
図９はＭＰＥＧ−２セクションの構造を表現する。ＭＰＥＧ−２セクション９００はヘッダ９０１およびペイロード９０２から構成される。ヘッダ９０１はＭＰＥＧ−２セクションの制御情報を保持する。その構成はヘッダ構成９０３によって表現される。ペイロード９０２はＭＰＥＧ−２セクション９００が伝送するデータを保持する。ヘッダ構成９０３に存在するｔａｂｌｅ＿ｉｄはＭＰＥＧ−２セクションの種類を表現し、さらにｔａｂｌｅ＿ｉｄ＿ｅｘｔｅｎｓｉｏｎはｔａｂｌｅ＿ｉｄが等しいＭＰＥＧ−２セクション同士を区別する際に用いられる拡張識別子である。ＭＰＥＧ−２セクションの使用例として、図１０に番組編成情報を伝送する場合を挙げる。この例では、行１００４に記載されるように、放送信号の復調に必要な情報はヘッダ構成９０３内のｔａｂｌｅ＿ｉｄが６４であるＭＰＥＧ−２セクションに記載され、さらにそのＭＰＥＧ−２セクションはＰＩＤに１６が付与されたＴＳパケットによって伝送される。
【００２９】
ＭＰＥＧ−２セクションの場合、ＰＥＳ形式は存在しない。そのため、ＭＰＥＧ−２トランスポートストリームの中の同一ＰＩＤによって識別されるＴＳパケットのペイロードを結合したものをエレメンタリストリーム（ＥＳ）とする。例えば、図８において、ＭＰＥＧ−２セクション８０１を分割して伝送しているＴＳパケット８０３〜８０５はすべてＰＩＤが２００で識別される。これはＭＰＥＧ−２セクション８０１を伝送するＥＳである、と言うことができる。
【００３０】
ＭＰＥＧ−２トランスポートストリーム内にはさらにプログラムという概念が存在する。プログラムはＥＳの集合として表現され、複数のＥＳをまとめて扱いたい場合に利用される。プログラムを利用すると、映像・音声や、それに付随するデータ放送用データ等を一まとめに扱うことが可能となる。例えば、同時に再生したい映像・音声をまとめて扱う場合、映像ＥＳと、音声ＥＳをプログラムとしてまとめることで、放送録画再生装置はこれら二つのＥＳを１つの番組として同時に再生すべきであることがわかる。
【００３１】
プログラムを表現するために、ＭＰＥＧ−２ではＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）およびＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）と呼ばれる二つのテーブルが利用される。詳細な説明はＩＳＯ／ＩＥＣ１３８１８−１、“ＭＰＥＧ−２  Ｓｙｓｔｅｍｓ”仕様を参照されたい。以下ではＰＭＴおよびＰＡＴに関して簡単に説明する。
【００３２】
ＰＭＴはＭＰＥＧ−２トランスポートストリーム中に、プログラムの数だけ含まれるテーブルである。ＰＭＴはＭＰＥＧ−２セクションとして構成され、ｔａｂｌｅ＿ｉｄは２である。ＰＭＴにはプログラムの識別に用いられるプログラムナンバーとプログラムの付加情報、さらにプログラムに属するＥＳに関する情報を保持する。ＰＭＴの例を図１１に挙げる。１１００はプログラムナンバーである。プログラムナンバーは同一トランスポートストリーム内でプログラムに一意に割り当てられ、ＰＭＴの識別に用いられる。行１１１１〜１１１５は個々のＥＳに関する情報を表現する。列１１０１はＥＳのタイプであり、“映像”、“音声”、“データ”等が指定される。列１１０２はＥＳを構成するＴＳパケットのＰＩＤである。列１１０３はＥＳに関する付加情報である。例えば、行１１１１に表されるＥＳは、音声ＥＳであり、ＰＩＤが５０１１であるＴＳパケットによって伝送される。
【００３３】
ＰＡＴはＭＰＥＧ−２トランスポートストリームに一つだけ存在するテーブルである。ＰＡＴはＭＰＥＧ−２セクションとして構成され、ｔａｂｌｅ＿ｉｄは０であり、ＰＩＤが０であるＴＳパケットによって伝送される。ＰＡＴには、ＭＰＥＧ−２トランスポートストリームの識別に用いられるｔｒａｎｓｐｏｒｔ＿ｓｔｒｅａｍ＿ｉｄと、ＭＰＥＧ−２トランスポートストリーム内に存在するプログラムを表現するすべてのＰＭＴに関する情報を保持する。ＰＡＴの例を図１２に挙げる。１２００はｔｒａｎｓｐｏｒｔ＿ｓｔｒｅａｍ＿ｉｄである。ｔｒａｎｓｐｏｒｔ＿ｓｔｒｅａｍ＿ｉｄはＭＰＥＧ−２トランスポートストリームの識別に用いられる。行１２１１〜１２１３はプログラムに関する情報を表現する。列１２０１はプログラムナンバーである。列１２０２はプログラムに対応するＰＭＴを伝送するＴＳパケットのＰＩＤである。例えば、行１２１１に表されるプログラムのＰＭＴは、プログラムナンバーが１０１であり、対応するＰＭＴはＰＩＤが５０１であるＴＳパケットによって伝送される。
【００３４】
端末装置があるプログラムを再生する場合は、ＰＡＴおよびＰＭＴを用いてプログラムを構成する映像・音声を特定し、それらを再生する。例えば、図１２のＰＡＴおよび図１１のＰＭＴを伝送するＭＰＥＧ−２トランスポートストリームに関して、プログラムナンバーが１０１であるプログラムに属する映像・音声の再生を行う場合は以下のような手順をとる。まずＰＩＤが“０”であるＴＳパケットより、ｔａｂｌｅ＿ｉｄが“０”のＭＰＥＧ−２セクションとして伝送されるＰＡＴを取得する。ＰＡＴよりプログラムナンバーが“１０１”であるプログラムを探索し、行１２１１を得る。行１２１１より、プログラムナンバーが“１０１”であるプログラムのＰＭＴを伝送するＴＳパケットのＰＩＤ“５０１”を得る。次いでＰＩＤが“５０１”であるＴＳパケットより、ｔａｂｌｅ＿ｉｄが“２”のＭＰＥＧ−２セクションとして伝送されるＰＭＴを取得する。ＰＭＴより、音声のＥＳ情報である行１１１１および映像のＥＳ情報である行１１１２を得る。行１１１１より、音声ＥＳを伝送するＴＳパケットのＰＩＤ“５０１１”を得る。また行１１１２より、映像ＥＳを伝送するＴＳパケットのＰＩＤ“５０１２”を得る。次いでＰＩＤ“５０１１”のＴＳパケットより音声用ＰＥＳパケットを、ＰＩＤ“５０１２”のＴＳパケットより映像用ＰＥＳパケットを取得する。これにより、再生対象となる映像・音声のＥＳパケットを取得することが可能となり、プログラムナンバー１０１を構成する映像と音声を再生することができる。
【００３５】
なお、ＭＰＥＧ−２トランスポートストリームは暗号化されている場合がある。これは限定視聴とも呼ばれる仕組みである。例えば、ある映像・音声情報を伝送するＰＥＳパケットに対して暗号化処理を行うことで、その暗号を解読できる特定視聴者のみが視聴できるようになる。暗号を解読して映像や音声を視聴するために、視聴者はデスクランブラと呼ばれるデバイスを用いて暗号解除を行う。例えば、ＯＣＡＰ対応の端末装置は、デスクランブラを内蔵したカード型のアダプタを利用する。ケーブルテレビのオペレータは、視聴者ごとに特定のプログラムを解読できるように設定したアダプタを配布し、視聴者はそのアダプタを端末装置に挿入する。すると、アダプタは、暗号解除鍵等の暗号解除情報や各契約者の契約情報を元に、特定のプログラムに関して暗号を解除する。暗号解除の方式や、暗号解除鍵の入手方法はアダプタ依存であり、本発明の実現には影響しない。
【００３６】
ここまでＭＰＥＧ−２仕様に関する簡単な説明を行ったが、ここで、単語の詳細な定義を行う。本発明に関して、「プログラム」という単語が二種類存在する。一つはＭＰＥＧ−２仕様に登場する「プログラム」であり、もう一つはＣＰＵが実行するコードの集合という意味での「プログラム」である。前者に関しては、運用規定で用いられる「サービス」という単語と同義であるため、混乱を避けるため、以降、前者を「サービス」と呼び、後者を単に「プログラム」とよぶ。さらに後者に関して、特にＪａｖａ言語で記述された「プログラム」を「Ｊａｖａプログラム」とよぶ。
【００３７】
以上、本発明に関わる、ＭＰＥＧ−２仕様にて決定されるいくつかの一般的な情報に関して説明を行った。以降、本実施の形態で用いる放送録画再生端末に関して詳細に説明する。
【００３８】
図１３は、本実施例の放送録画再生装置の一般的なハードウェア構成を表すブロック図であり、すなわち図１における端末装置１１１、１１２、１１３の具体的な内部構成である。１３００は放送録画再生装置であり、チューナ１３０１、ＴＳデコーダ（ＴＳ  Ｄｅｍｕｌｔｉｐｌｅｘｅｒ）１３０２、ＡＶデコーダ１３０３、スピーカ１３０４、ディスプレイ１３０５、ＣＰＵ１３０６、２次記憶部１３０７、１次記憶部１３０８、ＲＯＭ１３０９、入力部１３１０、アダプタ１３１１、ＡＶエンコーダ１３１２、多重器（ＭＰＥＧ−２  Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ  Ｍｕｌｔｉｐｌｅｘｅｒ等）１３１３で構成される。なお本実施例は、ＯＣＡＰ−ＤＶＲ仕様で実現される放送録画再生端末を拡張して得られるものであり、基本的なハードウェア構成はＯＣＡＰ−ＤＶＲ仕様で要求されるものとほぼ同じである。
【００３９】
チューナ１３０１は、ＣＰＵ１３０６が指定する周波数などのチューニング情報に従って、放送局側システム１０１から伝送される変調された放送信号を復調するデバイスである。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。チューナ１３０１が復調した結果得られるＭＰＥＧ−２トランスポートストリームは、暗号解除機能をもつアダプタ１３１１を経て、ＴＳデコーダ１３０２に送信される。
【００４０】
ＴＳデコーダ１３０２は、ＣＰＵ１３０６が指定するＰＩＤ、セクションフィルタ条件等の指定にもとづいてＭＰＥＧ−２トランスポートストリームから指定条件に合致するＰＥＳパケットやＭＰＥＧ−２セクションを選別する機能をもつデバイスである。放送を受信してサービスを録画せずに再生する場合は、アダプタ１３１１が出力するＭＰＥＧ−２トランスポートストリームがＴＳデコーダ１３０２に入力される。一方、２次記憶部１３０７に録画されているサービスを再生する場合は、２次記憶部１３０７が出力するＭＰＥＧ−２トランスポートストリームがＴＳデコーダ１３０２に入力される。いずれの入力を受けるかは、ＣＰＵ１３０６によって制御される。
【００４１】
ＴＳデコーダ１３０２が選別した映像および音声のＰＥＳパケットは、ＡＶデコーダ１３０３に出力される。また、ＴＳデコーダ１３０２が選別したＭＰＥＧ−２セクションは、１次記憶部１３０８にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送され、ＣＰＵ１３０６が実行するプログラムによって利用される。
【００４２】
ＡＶデコーダ１３０３はエンコードされた映像ＥＳおよび音声ＥＳをデコードする機能をもつデバイスである。ＡＶデコーダはＴＳデコーダから転送される音声および映像情報を伝送するＰＥＳパケットからＥＳを取り出してデコードする。ＡＶデコーダ１３０３がデコードして得られたａｕｄｉｏ信号およびｖｉｄｅｏ信号は、サービスの再生時にはスピーカ１３０４、ディスプレイ１３０５に出力されるが、一方、サービスの録画時にはＡＶエンコーダ１３１２へ出力される。いずれの出力経路を取るかは、ユーザの指示に従ってＣＰＵ１３０６によって制御される。
【００４３】
スピーカ１３０４は、ＡＶデコーダ１３０３から出力された音声を再生する。
ディスプレイ１３０５は、ＡＶデコーダ１３０３から出力された映像を再生する。
【００４４】
ＣＰＵ１３０６は放送録画再生装置上で動作するプログラムを実行する。ＣＰＵ１３０６は、ＲＯＭ１３０９に内蔵されるプログラムを実行する。あるいは、放送信号やネットワークよりダウンロードされ１次記憶部１３０８に保持されているプログラムも実行する。あるいは、放送信号やネットワークよりダウンロードされ２次記憶部１３０７に保存されているプログラムも実行する。そして実行するプログラムの指示に従い、チューナ１３０１、ＴＳデコーダ１３０２、ＡＶデコーダ１３０３、スピーカ１３０４、ディスプレイ１３０５、２次記憶部１３０７、１次記憶部１３０８、ＲＯＭ１３０９、入力部１３１０、アダプタ１３１１、ＡＶエンコーダ１３１２、多重器１３１３を制御する。また、ＣＰＵ１３０６は端末装置１３００内に存在するデバイスだけでなく、アダプタ１３１１内のデバイスと通信し、アダプタ１３１１を制御することが可能である。
【００４５】
２次記憶部１３０７は機器の電源が遮断されても記憶が消去されない記憶装置である。例えばＦＬＡＳＨ−ＲＯＭ等の不揮発性メモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ−ＲやＤＶＤ−Ｒ等の書き換え可能のメディア等、端末装置１３００の電源断の際にも情報が消去されない機器によって構成され、ＣＰＵ１３０６の指示により情報の保存を行う。
【００４６】
１次記憶部１３０８は、ＣＰＵ１３０６やＤＭＡ転送可能なデバイスの指示に従って情報を一時的に保存する機能をもつデバイスであり、ＲＡＭ等によって構成される。
【００４７】
ＲＯＭ１３０９は、書き換え不可能なメモリデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤ等で構成される。ＲＯＭ１３０９には、ＣＰＵ１３０６が実行するプログラムが格納されている。
【００４８】
入力部１３１０は、具体的には、フロントパネルやリモコン受信機で構成され、ユーザからの入力を受け付ける。図１４は、フロントパネルで入力部１３１０を構成した場合の一例である。フロントパネル１４００は七つのボタン、上カーソルボタン１４０１、下カーソルボタン１４０２、左カーソルボタン１４０３、右カーソルボタン１４０４、ＯＫボタン１４０５、取消ボタン１４０６、ＥＰＧボタン１４０７、モード切換ボタン１４０８を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ１３０６に通知される。
【００４９】
アダプタ１３１１は、Ｉｎ−ｂａｎｄ周波数帯で伝送されるＭＰＥＧ−２トランスポートストリームにかけられた暗号を解除する装置で、１つ以上のデスクランブラを搭載する。アダプタ１３１１にはチューナ１３０１ａが出力するＭＰＥＧ−２トランスポートストリームが入力され、ＣＰＵ１３０６が指定したＰＩＤをもつＴＳパケットに対して暗号解除を行う。アダプタ１３１１は、暗号を解除したＭＰＥＧ−２トランスポートストリームをＴＳデコーダ１３０２に出力する。
【００５０】
さらに、アダプタ１３１１は、ＯＯＢ周波数帯で伝送されるデータの形式変換も行う。ＯＯＢで伝送される情報は、緊急に表示する必要のある警報情報等であって、ＱＰＳＫ変調方式で変調される。下り方向の伝送に関しては、ＱＰＳＫ復調器１３０１ｂは放送局側システム１０１から送信されてくる下りの信号を復調し、生成されたビットストリームをアダプタ１３１１に入力する。アダプタ１３１１はビットストリームが含む様々な情報の中から、ＣＰＵ１３０６が指定する情報を抽出して、ＣＰＵ１３０６上で動作するプログラムが解釈可能な形式に変換して、ＣＰＵ１３０６に提供する。一方、上り方向の伝送に関しては、ＣＰＵ１３０６が、放送局側システム１０１に対して送信したい情報を、アダプタ１３１１に入力する。アダプタ１３１１は、ＣＰＵ１３０６から入力された情報を放送局側システム１０１が解釈可能な形式に変換し、ＱＰＳＫ変調器１３０１ｃに入力する。ＱＰＳＫ変調器１３０１ｃはアダプタ１３１１から入力された情報をＱＰＳＫ変調し、放送局側システム１０１に送信する。
【００５１】
アダプタ１３１１の具体例としては、米国ケーブルシステムで利用されるＣａｂｌｅＣＡＲＤ、旧名ＰＯＤ（Ｐｏｉｎｔ  Ｏｆ  Ｄｅｐｌｏｙｍｅｎｔ）が挙げられる。
【００５２】
ＡＶエンコーダ１３１２は、ＡＶデコーダ１３０３によってデコードされたａｕｄｉｏ信号をＭＰＥＧ  ａｕｄｉｏ形式の音声にエンコードし、ｖｉｄｅｏ信号をＭＰＥＧ  ｖｉｄｅｏ形式の映像にエンコードする。ＡＶエンコーダ１３１２がエンコードした映像および音声は、多重器１３１３へ出力される。
【００５３】
多重器１３１３は、ＡＶエンコーダ１３１２から入力された映像および音声を、ＭＰＥＧ−２トランスポートストリームへ多重化する機能をもつデバイスである。
【００５４】
以上説明した放送録画再生装置が、放送波に含まれるサービスを２次記憶部１３０７に記録する動作と、２次記憶部１３０７から逐次読み出してサービスを再生する動作について、以下に詳細に説明する。
【００５５】
まず、放送波に含まれるサービスを２次記憶部１３０７に記録する動作について述べる。
【００５６】
図１５に、サービスの記録時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。１５００は端末装置であり、チューナ１３０１、アダプタ１３１１、デスクランブラ１５０１、ＴＳデコーダ１３０２、ＰＩＤフィルタ１５０２、セクションフィルタ１５０３、ＡＶデコーダ１３０３、１次記憶部１３０８、ＡＶエンコーダ１３１２、多重器１３１３、および、記録領域１５０４をもつ。図１５の構成要素のうち、図１３の構成要素と同一符号を持つものは、それらと同等の機能をもつため、説明を省略する。
【００５７】
まずＣＰＵ１３０６が指定したチューニング情報に従って、チューナ１３０１が放送波をチューニングする。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。チューナ１３０１は、放送波を復調し、アダプタ１３１１にＭＰＥＧ−２トランスポートストリームを入力する。
【００５８】
アダプタ１３１１内にあるデスクランブラ１５０１は、視聴者ごとの限定解除情報に基づいて、ＭＰＥＧ−２トランスポートストリームの暗号解除を行う。暗号解除されたＭＰＥＧ−２トランスポートストリームは、ＴＳデコーダに入力される。
【００５９】
ＴＳデコーダ１３０２内にはＭＰＥＧ−２トランスポートストリームに対して処理を行う２種類のデバイス、ＰＩＤフィルタ１５０２、セクションフィルタ１５０３が存在する。
【００６０】
ＰＩＤフィルタ１５０２は、入力されたＭＰＥＧ−２トランスポートストリームから、ＣＰＵ１３０６が指定したＰＩＤをもつＴＳパケットを抽出し、さらにそのペイロードに存在するＰＥＳパケットやＭＰＥＧ−２セクションを抽出する。例えば、ＣＰＵ１３０６がＰＩＤ＝１００のＴＳパケットを抽出するＰＩＤフィルタリングを指示した場合に図６のＭＰＥＧ−２トランスポートストリームが入力されたとすると、パケット６０１および６０３が抽出されて更に連結され、映像１のＰＥＳパケットが再構成される。あるいは、ＣＰＵ１３０６がＰＩＤ＝２００のＴＳパケットを抽出するＰＩＤフィルタリングを指示した場合に図６のＭＰＥＧ−２トランスポートストリームが入力されたとすると、パケット６０２および６０５が抽出されて更に連結され、データ１のＭＰＥＧ−２セクションが再構成される。
【００６１】
セクションフィルタ１５０３は、入力されたＭＰＥＧ−２セクションの中から、ＣＰＵ１３０６が指定するセクションフィルタ条件に合致するＭＰＥＧ−２セクションを抽出し、１次記憶部１３０８にＤＭＡ転送する。例えば、ＣＰＵ１３０６はＰＩＤ＝２００のＴＳパケットを抽出するＰＩＤフィルタリングとｔａｂｌｅ＿ｉｄが６４であるセクションを抽出するセクションフィルタリングをセクションフィルタ１５０３に対して指定したとする。先に述べたように、データ１のＭＰＥＧ−２セクションが再構成された後、セクションフィルタ１５０３はそのＭＰＥＧ−２セクションの中からｔａｂｌｅ＿ｉｄが６４であるセクションのみを抽出し、１次記憶部１３０８にＤＭＡ転送する。
【００６２】
１次記憶部１３０８に入力されたＭＰＥＧ−２セクションは、多重器１３１３に入力される。
【００６３】
ＴＳデコーダ１３０２によって抽出された映像ＰＥＳパケットと音声ＰＥＳパケットは、ＡＶデコーダ１３０３に入力される。
【００６４】
ＡＶデコーダは、映像ＰＥＳパケットをデコードして映像に変換し、ＡＶエンコーダ１３１２に入力する。また音声ＰＥＳパケットをデコードして音声に変換し、ＡＶエンコーダ１３１２に入力する。
【００６５】
ＡＶエンコーダ１３１２は、映像をＭＰＥＧ  ｖｉｄｅｏに変換し、多重器１３１３に入力する。また音声をＭＰＥＧ  ａｕｄｉｏに変換し、多重器１３１３に入力する。
【００６６】
多重器１３１３は、ＡＶエンコーダから入力されたＭＰＥＧ  ｖｉｄｅｏとＭＰＥＧ  ａｕｄｉｏと、１次記憶１３０８から入力されたＭＰＥＧ−２セクションを多重してＭＰＥＧ−２トランスポートストリームを生成する。生成されたＭＰＥＧ−２トランスポートストリームは、記録領域１５０４に記録される。
【００６７】
記録領域１５０４は２次記憶部１３０７の全体または一部、あるいは、その他の記録領域で構成され、サービスを構成するＭＰＥＧ−２トランスポートストリームを記憶する。
【００６８】
次いで、２次記憶部１３０７から逐次読み出してサービスを再生する動作について述べる。
【００６９】
図１６に、サービスの再生時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。１６００は端末装置であり、記録領域１５０４、ＴＳデコーダ１３０２、ＰＩＤフィルタ１５０２、セクションフィルタ１５０３、ＡＶデコーダ１３０３、スピーカ１３０４、ディスプレイ１３０５、および、１次記憶部１３０８をもつ。図１６の構成要素のうち、図１３の構成要素と同一符号を持つものは、それらと同等の機能をもつため、説明を省略する。
【００７０】
図１５で説明した手順で記録領域１５０４に記録されたＭＰＥＧ−２トランスポートストリームが、ＴＳデコーダ１３０２に入力される。
【００７１】
次いで、ＴＳデコーダ１３０２内のＰＩＤフィルタ１５０２によって、ＣＰＵ１３０６が指定したＰＩＤを持つ映像ＰＥＳおよび音声ＰＥＳが抽出される。抽出されたＰＥＳパケットはＡＶデコーダ１３０３に入力される。あるいは、ＴＳデコーダ１３０２内のＰＩＤフィルタ１５０２とセクションフィルタ１５０３によって、ＣＰＵ１３０６が指定したＰＩＤとｔａｂｌｅ＿ｉｄ持つＭＰＥＧ−２セクションが抽出される。抽出されたＭＰＥＧ−２セクションは１次記憶部１３０８にＤＭＡ転送される。
【００７２】
ＡＶデコーダ１３０３に入力された映像ＰＥＳと音声ＰＥＳは、デコードされてａｕｄｉｏ信号およびｖｉｄｅｏ信号が出力される。その後、ａｕｄｉｏ信号およびｖｉｄｅｏ信号はディスプレイ１３０５およびスピーカ１３０４に入力され、映像および音声が再生される。
【００７３】
１次記憶部１３０８に入力されたＭＰＥＧ−２セクションは、適宜ＣＰＵ１３０６に入力される。
【００７４】
ここまでは、本発明に関するハードウェアの構成例に関して述べたが、以降、本発明の主要機能である、Ｊａｖａプログラムによるサービスの記録制御と特殊再生制御に関して説明する。
【００７５】
本発明におけるサービスの記録とは、サービスに含まれる映像、音声、Ｊａｖａプログラム、Ｊａｖａプログラムの同期情報等をハードディスク、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードといった記録媒体に記録することである。サービスの再生とは、記録媒体に記録された映像、音声、Ｊａｖａプログラムを同期情報に基づいて再生および実行することである。記録済みサービスの再生結果は、放送波を受信して直接サービスを再生した結果とほぼ等価であることが要求される。
【００７６】
図１７は、サービスの記録と再生に必要とされるプログラムの構成図であり、ＲＯＭ１３０９に記憶されているソフトウェアである。
【００７７】
プログラム１７００は、サブプログラムであるＯＳ１７０１、ＥＰＧ１７０２、ＪａｖａＶＭ１７０３、Ｊａｖａライブラリ１７０４で構成される。
【００７８】
ＯＳ１７０１は、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）であり、Ｌｉｎｕｘ、Ｗｉｎｄｏｗｓ（登録商標）等が一例である。ＯＳ１７０１は、他のサブプログラム、例えばＥＰＧ１７０２とＪａｖａＶＭ１７０３を実行するためのカーネル１７０１ａ、サブプログラムが端末装置１３００の構成要素を制御するために利用するライブラリ１７０１ｂ、および、ＥＡＳモジュール１７０１ｃで構成される。カーネル１７０１ａは公知技術であり、詳細な説明は省略する。
【００７９】
ライブラリ１７０１ｂは、例えばチューナを制御するチューニング機能を提供する。ライブラリ１７０１ｂは、他のサブプログラムから周波数や変調方式などが特定可能なチューニング情報を受け取り、それをチューナ１３０１に引き渡す。チューナ１３０１は与えられたチューニング情報にもとづき復調処理を行い、復調したＭＰＥＧ−２トランスポートストリームをＴＳデコーダ１３０２に引き渡すことができる。この結果、他のサブプログラムはライブラリ１７０１ｂを通してチューナ１３０１を制御することができる。
【００８０】
また、ライブラリ１７０１ｂは、チャンネルを一意に識別するためのチャンネル情報を提供する。チャンネル情報の一例を図２０に示す。チャンネル情報はＯＯＢあるいはＩｎ−ｂａｎｄ周波数帯を利用して送信され、アダプタ１３１１で表形式に変換され、ライブラリがアクセス可能な一時記憶部に格納される。列２００１は、チャンネル識別子で、例えば、ＳＣＴＥ  ６５  Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｄｅｌｉｖｅｒｅｄ  Ｏｕｔ−Ｏｆ−Ｂａｎｄ  Ｆｏｒ Ｄｉｇｉｔａｌ Ｃａｂｌｅ Ｔｅｌｅｖｉｓｉｏｎで定義されるｓｏｕｒｃｅ＿ＩＤが相当する。列２００２は、チャンネル名であり、同ＳＣＴＥ  ６５規格ではｓｏｕｒｃｅ＿ｎａｍeなどに相当する。列２００３はチューニング情報であり、周波数や転送レート、変調方式が特定可能な情報であって、チューナ１３０１に与える情報である。列２００４はＰＭＴを指定するためのプログラムナンバーである。例えば、行２０１１はチャンネル識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ，．．．．」、プログラムナンバーが「１０１」であるサービス情報の組となっている。
【００８１】
図２７はライブラリ１７０１ｂの詳細な構成を示す図である。図２７を参照して、ライブラリ１７０１ｂは、チューニングライブラリ２７０１、録画ライブラリ２７０２、再生ライブラリ２７０３、セクションライブラリ２７０４で構成される。
【００８２】
チューナライブラリ２７０１は、指定された周波数でチューナにチューニングをさせる機能をもつ。チューナライブラリ２７０１へは、Ｊａｖａライブラリ１７０４のＴｕｎｅｒ１７０４ｅから周波数を含むチューニング情報とチューナ識別子が入力される。チューナライブラリ２７０１は、入力されたチューナ識別子に対応するチューナを特定する。チューナライブラリ２７０１は、入力されたチューニング情報を、特定したチューナへ出力する。チューナライブラリ２７０１は、２次記憶部１３０７に格納されているチューナ情報を参照して、チューナ識別子と対応するチューナを特定する。
【００８３】
録画ライブラリ２７０２は、チューナから出力されたＭＰＥＧ−２トランスポートストリームを２次記憶部１３０７へ格納する機能をもつ。録画ライブラリ２７０２へは、レコーディングマネージャ１７０６からチューナ識別子と２次記憶部１３０７上の記録領域を特定する情報が入力される。録画ライブラリ２７０２は、２次記憶部１３０７に記録されているチューナ情報を参照して、入力されたチューナ識別子が示すチューナを特定する。録画ライブラリ２７０２は、特定したチューナが出力したＭＰＥＧ−２トランスポートストリームを、入力された２次記憶部１３０７上の記録領域へ格納する。
【００８４】
再生ライブラリ２７０３は、２次記憶部１３０７上の記録領域に録画されたＭＰＥＧ−２トランスポートストリームを再生する。再生ライブラリ２７０３へは、サービスマネージャ１７０４からＪＭＦ１７０４ａを経由して２次記憶部１３０７上の記録領域を特定する情報が入力される。再生ライブラリ２７０３は、入力された２次記憶部１３０７上の記録領域に保存されているＭＰＥＧ−２ストリームデータを、ＴＳデコーダ１３０２へ出力する。また再生ライブラリ２７０３は、ＡＶデコーダ１３０３へＡＶを再生するように命令を送る。
【００８５】
なお、録画ライブラリ２７０２と再生ライブラリ２７０３は、同じ記録領域に対して同時に動作することが可能である。この同時動作により、ある番組を録画ライブラリ２７０２によって録画している最中に、再生ライブラリ２７０３によって録画データの先頭から再生を行う「追いかけ再生」を実現する。追いかけ再生によって、ユーザは録画の完了を待たずに、録画番組を視聴できる。
【００８６】
セクションライブラリ２７０４は、ＴＳデコーダ１３０２が行うフィルタ処理に取り出されたデータを、他のサブプログラムに出力する。セクションライブラリ２７０４へは、ＥＡＳモジュール１７０１ｃから警報情報に対応するパケットＩＤが入力される。例えば、ＭＰＥＧ−２トランスポートストリームでのパケットＩＤが図６に示す状態で対応付けられている場合、セクションライブラリ２７０４へ、ＥＡＳモジュール１７０１ｃからパケットＩＤ「４００」が入力される。セクションライブラリ２７０４は、入力されたパケットＩＤをＴＳデコーダ１３０２へ出力する。セクションライブラリ２７０４は、ＴＳデコーダ１３０２が出力した警報情報を、ＥＡＳモジュール１７０１ｃへ出力する。
【００８７】
ＥＡＳモジュール１７０１ｃは、ヘッドエンド１０１が送信する警報情報の内容を解釈する機能をもつ。ＥＡＳモジュール１７０１ｃは、セクションライブラリ２７０４へ、警報情報に対応するパケットＩＤを出力する。ＥＡＳモジュール１７０１ｃへは、セクションライブラリ２７０４から警報情報が入力される。警報情報は、例えば“ＳＣＴＥ  １８  ２００２  （Ｆｏｒｍｅｒｌｙ  ＤＶＳ  ２０８），  Ｅｍｅｒｇｅｎｃｙ  Ａｌｅｒｔ  Ｍｅｓｓａｇｅ  ｆｏｒ  Ｃａｂｌｅ，  ａｐｐｒｏｖｅｄ  ａｓ  ａ  ｊｏｉｎｔ  ｓｔａｎｄａｒｄ  ｗｉｔｈ  ＣＥＡ  ａｓ  ＡＮＳＩ−０４２−２００２”規格で規定されているｃａｂｌｅ＿ｅｍｅｒｇｅｎｃｙ＿ａｌｅｒｔであってもよい。図２８は、警報情報のデータ形式の一例を示した図である。警報情報２８００は、ヘッダ部２８０１とデータ部２８０２から構成される。データ部は、警報の優先度を示すＡｌｅｒｔ＿ｐｒｉｏｒｉｔｙ、強制チューニング先のチャンネル識別子を示すＡｕｄｉｏ＿ＯＯＢ＿ｓｏｕｒｃｅ＿ＩＤ、強制チューニングの有効時間を示すＡｌｅｒｔ＿ｍｅｓｓｓａｇｅ＿ｔｉｍｅ＿ｒｅｍａｉｎｉｎなどの値を含む。
【００８８】
ＥＡＳモジュール１７０１ｃは、入力された警報情報の内容を解釈し、強制チューニングが必要かどうかを判定する。判定の結果、強制チューニングが必要な場合、ＥＡＳモジュール１７０１ｃは、サービスマネージャ１７０４ｆへ強制チューニング先のチャンネル識別子と強制チューニングの有効時間を出力する。
【００８９】
ＪａｖａＶＭ１７０３は、Ｊａｖａ（登録商標）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。ＪａｖａＶＭ１７０３は、Ｊａｖａ言語で記述されたＪａｖａライブラリ１７０４を実行する。Ｊａｖａ言語やＪａｖａＶＭの詳細は、書籍「Ｊａｖａ  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」や「Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等を参照のこと。また、ＪＮＩ（Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しては、書籍「Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等を参照のこと。
【００９０】
Ｊａｖａライブラリ１７０４は、Ｊａｖａプログラムが放送録画再生装置の機能を制御するために呼び出すＪａｖａ言語で記述されたライブラリである。ただし、必要に応じて、ＯＳ１７０１のライブラリ１７０１ｂなど非Ｊａｖａ言語で記述されたサブプログラムを利用することもある。Ｊａｖａプログラムは、Ｊａｖａライブラリ１７０４が持つＪａｖａ  ＡＰＩ（アプリケーションプログラミングインタフェース）を呼び出すことで、Ｊａｖａライブラリ１７０４が提供する機能を利用できる。
【００９１】
Ｔｕｎｅｒ１７０４ｃは、放送録画再生端末のＩｎ−ｂａｎｄ受信用チューナ１３０１ａを制御するためのＪａｖａライブラリである。図２９にＴｕｎｅｒ１７０４ｃの内部構成を示す。
【００９２】
Ｔｕｎｅｒ１７０４ｃはチューニング制御部２９１１とリソース競合検出部２９２１から構成される。チューニング制御部２９１１は、Ｉｎ−ｂａｎｄ受信用チューナ１３０１ａを制御する。ＪａｖａプログラムがＴｕｎｅｒ１７０４ｃにチューニング情報を渡すと、チューニング制御部２９１１はそれを用いてライブラリ１７０１ｂのチューナ機能を呼び出し、結果、放送録画再生端末のＩｎ−ｂａｎｄ受信用チューナ１３０１ａの動作を制御できる。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。
【００９３】
リソース競合検出部２９２１は、サービスマネージャ１７０４ｆ等からチューナハードウェアリソースの確保を要求された場合に、他のプログラムとのチューナリソースの競合を検出し、競合の解消をリソースマネージャ１７０４ｇ内のリソース競合プログラム判別部２９０１へ依頼する。
【００９４】
リソース競合検出部２９２１は、チューナの確保を要求するためのｒｅｓｅｒｖｅ（チューナ識別子）メソッドをＪａｖａＡＰＩとしてもつ。プログラムはこのメソッドを呼び出して、チューナ識別子で特定されるチューナリソースの確保を要求する。
【００９５】
ｒｅｓｅｒｖｅメソッドが呼び出されると、リソース競合検出部２９２１はリソース管理情報保持部２９０３がもつリソース管理情報を参照し、指定されたチューナがすでに確保されているかどうか調べる。すでにいずれかのプログラムによって確保されているならば、リソースマネージャ１７０４ｇ内のリソース競合プログラム判別部２９０１へ、そのチューナを特定するリソース識別子、そのチューナの要求元に依存する優先度、および、そのチューナ確保の要求元を特定するプログラム識別子を与えて、そのチューナの競合を解消するように要求する。ここで、チューナ等のリソースの確保要求は、ダウンロードされたＪａｖａプログラム、あるいは、端末にあらかじめ組み込まれたプログラムから要求される。Ｊａｖａプログラムと端末組込のプログラムを含めて「プログラム」とよぶこととする。Ｊａｖａプログラムの場合はＪａｖａプログラム識別子を、端末組込のプログラムの場合はプログラム名を、プログラム識別子として用いることとする。また、そのチューナの要求元がＥＡＳモジュール１７０１ｃからの強制チューニングである場合は最高の優先度が付与される。最高の優先度が付与された場合は、無条件にそのプログラムが要求するリソースを確保することを許可する。例えば、プログラム識別子“ＥＡＳモジュール”をもつプログラムがチューナの確保を要求する場合は、チューナを確保するためにＴｕｎｅｒ１７０４ｃに用意されているＪａｖａメソッド“ｒｅｓｅｒｖｅ”によって、確保しようとするリソース識別子“チューナ”を引数として、“ｒｅｓｅｒｖｅ（チューナ）”と呼び出す。その場合に、他にチューナを確保しているプログラムがすでにあるならば、リソースの競合を検出するとともに、リソース識別子“チューナ”、優先度“１００”、および、プログラム識別子“ＥＡＳモジュール”を付与して、リソースマネージャ１７０４ｇへリソースの競合を解消するように要求する。
【００９６】
ＳＦ１７０４ｅは、放送録画再生端末のＰＩＤフィルタ１５０２およびセクションフィルタ１５０３機能を制御するためのＪａｖａライブラリである。ＪａｖａプログラムがＳＦ１７０４ｅにＰＩＤやｔａｂｌｅ＿ｉｄなどのフィルタ条件を渡すと、ＳＦ１７０４ｅはその条件を元にライブラリ１７０１ｂの機能などを用いてＰＩＤフィルタ１５０２およびセクションフィルタ１５０３を制御し、所望のフィルタ条件に叶うＭＰＥＧ−２セクションを取得して、フィルタ条件を設定したＪａｖａプログラムに渡す。
【００９７】
ＤＳＭ−ＣＣ１７０４ｄは、ＤＳＭ−ＣＣオブジェクトカルーセルのファイルシステムにアクセスするためのＪａｖａライブラリである。ＤＳＭ−ＣＣオブジェクトカルーセルは、ＳＦ１７０４ｅによって取得されるＭＰＥＧ−２セクションが内包している。ＤＳＭ−ＣＣは、ＩＳＯ／ＩＥＣ１３８１８−６規格で定義されており、ＭＰＥＧ−２セクションを利用して任意のファイルを伝送するための仕組みである。これを利用することで、放送局から端末にファイルを伝送することができる。ＤＳＭ−ＣＣの詳細な実現方法は本発明とは関係ないため、説明を省略する。
【００９８】
ＡＭ１７０４ｂは、サービスに含まれるＪａｖａアプリケーションの実行や終了を管理する機能を提供するアプリケーションマネージャである。ＡＭ１７０４ｂは指定されたＭＰＥＧ−２トランスポートストリームの指定されたチャンネルに多重されたＪａｖａプログラムを抽出し、その抽出したＪａｖａプログラムを別途多重された同期情報に従って実行したり、あるいは終了させたりする。ＪａｖａプログラムのＪａｖａクラスファイルは、前述のＤＳＭ−ＣＣ方式でＭＰＥＧ−２トランスポートストリームに多重されている。また、Ｊａｖａプログラムの同期情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ−２トランスポートストリームに多重されている。ＡＩＴは、ＤＶＢ−ＭＨＰ規格（ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．２）の１０章に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略であり、ｔａｂｌｅ＿ｉｄが「０ｘ７４」であるＭＰＥＧ−２セクションである。
【００９９】
図２２は、ＡＩＴの情報の一例を模式的に表した表である。ＡＩＴバージョン２２００は、そのＡＩＴのバージョンを表現する。ＡＩＴバージョンが大きいほど、そのＡＩＴはより新しいＡＩＴである。等しいＡＩＴバージョンをもつＡＩＴは繰り返し受信されるが、ＡＭ１７０４ｂはすでに解析したＡＩＴと等しいＡＩＴバージョンをもつＡＩＴは解析せず、すでに解析したＡＩＴよりも新しいＡＩＴのみを解析して、それに対応した処理をする。列２２０１はＪａｖａプログラムの識別子である。列２２０２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」等があり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置１３００がこのＪａｖａプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はＪａｖａプログラムを停止することを意味する。列２２０３は、ＤＳＭ−ＣＣ方式でＪａｖａプログラムを含んでいるＰＩＤを抽出するためのＤＳＭ−ＣＣ識別子である。列２２０４はＪａｖａプログラムのプログラム名である。行２２１１、行２２１２、行２２１３、行２２１４は、Ｊａｖａプログラムの情報の組である。行２２１１で定義されるＪａｖａプログラムは、Ｊａｖａプログラムの識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭ−ＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。同様に、行２２１２で定義されるＪａｖａプログラムは、Ｊａｖａプログラムの識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭ−ＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで、行２２１１、行２２１２、行２２１４で定義される３つのＪａｖａプログラムは同一のＤＳＭ−ＣＣ識別子をもつが、これは１つのＤＳＭ−ＣＣ方式でエンコードされたファイルシステム内に３つのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【０１００】
ＡＭ１７０４ｂは、ＳＦ１７０４ｅに、ＤＳＭ−ＣＣ方式でデータが埋めこまれたＭＰＥＧ−２セクションを伝送するＴＳパケットのＰＩＤおよびセクションフィルタ条件を指定する。ここでは、ＰＩＤ「５０１４」を与える。この結果、ＡＭ１７０４ｂは、必要なＤＳＭ−ＣＣ用ＭＰＥＧ−２セクションを収集することができる。ＡＭ１７０４ｂは、収集したＭＰＥＧ−２セクションから、ＤＳＭ−ＣＣ方式に従ってファイルシステムを復元し、１次記憶部１３０８に保存する。ＭＰＥＧ−２トランスポートストリーム中のＴＳパケットからファイルシステム等のデータを取り出し１次記憶部１３０８、２次記憶部１３０７等の記憶手段に保存することを以降、ダウンロードとよぶ。
【０１０１】
図２３は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、２３０１はルートディレクトリ、２３０２はディレクトリ「ａ」、２３０３はディレクトリ「ｂ」、２３０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、２３０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」、２３０６はディレクトリ「ｚ」、２３０７はファイル「ＭｕｓｉｃＸｌｅｔ．ｃｌａｓｓ」、２３０８はファイル「ＳｔｕｄｙＸｌｅｔ．ｃｌａｓｓ」である。
【０１０２】
次いでＡＭ１７０４ｂは、１次記憶部１３０８にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＪａｖａＶＭ１７０３に引き渡す。ここで、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図２３を参照して、ファイル２３０４が実行すべきＪａｖａプログラムである。次いでＡＭ１７０４ｂは、ファイル２３０４をＪａｖａＶＭ１７０３に引き渡すと、そのファイルはＪａｖａプログラムとしてＪａｖａ ＶＭ上で実行される。
【０１０３】
ＡＭ１７０４ｂは、新しいＡＩＴバージョンを持つＡＩＴが来る度にそのＡＩＴを解析してＪａｖａプログラムの実行状態を変更させる。ここで、制御情報に「ｋｉｌｌ」が指定されていた場合は、Ｊａｖａプログラムを終了させる。
【０１０４】
ＪＭＦ１７０４ａは、サービスに含まれる映像と音声の再生制御を担う。具体的には、指定されたＭＰＥＧ−２トランスポートストリームの指定されたチャンネルに多重された映像ＥＳと音声ＥＳをＡＶデコーダに入力して再生させる。受信した放送波から直接サービスを再生する場合は、アダプタ１３１１から出力されるＭＰＥＧ−２トランスポートストリームを再生するように指定される。一方、２次記憶部１３０７に一旦記録されたサービスを再生する場合は、２次記憶部１３０７内の記録領域１５０４から出力されるＭＰＥＧ−２トランスポートストリームを再生するように指定される。
【０１０５】
まず、ＪＭＦ１７０４ａは、指定されたチャンネル識別子をキーとしてライブラリ１７０１ｂのチャンネル情報を検索し、プログラムナンバーを得る。次にＳＦ１７０４ｅなどを利用して、ＭＰＥＧ−２トランスポートストリームからＰＡＴを取得する。さらにＰＭＴの情報から、先ほど得られたプログラムナンバーに対応するＰＭＴのＰＩＤが得られる。再度ＳＦ１７０４ｅを利用して、実際のＰＭＴを取得する。取得されたＰＭＴは図１１の形式をしており、ストリーム種別が「映像」および「音声」であるエレメンタリストリームのＰＩＤが書かれている。ＪＭＦ１７０４ａが、それらのＰＩＤをＴＳデコーダ１３０２のＰＩＤフィルタ１５０２に設定すると、図１５あるいは図１６に示されたごとく、該当ＰＩＤで多重されている映像ＥＳと音声ＥＳがＡＶデコーダ１３０３経由で再生される。
【０１０６】
ここで、特にＪＭＦ１７０４ａが２次記憶部に記録済みのＭＰＥＧ−２トランスポートストリームを入力とする場合は、ＪＭＦ１７０４ａは２次記憶部１３０７の記憶領域１６０７からのＭＰＥＧ−２トランスポートストリームの読み出し速度や読み出し位置を変化させることで、映像や音声の再生速度を変化させることができる。これにより早送りやスキップといった特殊再生が可能となる。例えば、通常速度の２倍の速度でＭＰＥＧ−２トランスポートストリームを読み出すようにすれば、映像や音声も２倍の速度で再生される。また、ＭＰＥＧ−２トランスポートストリームの読み出し位置を特定間隔だけ飛ばして読み出せば、映像や音声はスキップ再生される。ＪＭＦ１７０４ａは、ライブラリ１７０１ｂの機能を利用することで、２次記憶部１３０７を制御し、ＭＰＥＧ−２トランスポートストリームの読み出し速度や読み出し位置を変化させる。これらの特殊再生を高水準で滑らかに行う方法については本発明の範囲外であるため、説明を省略する。Ｊａｖａプログラムが特殊再生を指示するために、ＪＭＦ１７０４ａは、例えばｓｅｔＲａｔｅ（ｆｌｏａｔ  ｆａｃｔｏｒ）というＡＰＩをＪａｖａプログラムに提供している。パラメータｆａｃｔｏｒに１．０を指定すると通常速度の再生になり、２．０を指定すると２倍の速度での特殊再生となる。
【０１０７】
レコーディングマネージャ１７０４ｈは、チャンネル識別子と開始時刻、終了時刻を入力として、当該サービスを指定された開始時刻と終了時刻の間だけ２次記憶部１３０７に記録する。例えば、ＥＰＧ１７０２からチャンネル識別子と開始時刻、終了時刻を指定されると、開始時間になるまで待機する。その後、開始時間に至ると、指定サービスの記録を開始し、終了時間に至ると記録を終了する。以下にその詳細を記述する。
【０１０８】
記録開始時間に至ると、最初に、レコーディングマネージャ１７０４ｈは、２次記憶部１３０７に指定された開始時刻から終了時刻までのＭＰＥＧ−２トランスポートストリームを記録するための記録領域１５０４を２次記憶部１３０７内に確保する。確保した記録領域には、メディア識別子を与える。次にチャンネル識別子をキーとして、ライブラリ１７０１ｂが保有するチャンネル情報から当該チャンネル識別子に相当するチューニング情報を得る。その後、Ｔｕｎｅｒ１７０４ｃにチューニング情報を与えると、Ｔｕｎｅｒ１７０４ｃはチューニングを開始する。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。すると図１５に示されるように、アダプタ１３１１経由でＭＰＥＧ−２トランスポートストリームがＴＳデコーダに入力される。
【０１０９】
一方、レコーディングマネージャ１７０４ｈは、ＳＦ１７０４ｅを利用して、チューニングで得られたＭＰＥＧ−２トランスポートストリームからＰＡＴを取得する。さらに、指定されたチャンネル識別子に対応するプログラムナンバーをライブラリ１７０１ｂから検索し、得られたプログラムナンバーに対応するＰＭＴのＰＩＤをＰＡＴから検索する。その後、ＳＦ１７０４ｅを利用して、実際のＰＭＴを取得し、指定されたチャンネルを構成するＥＳの全ＰＩＤを得る。レコーディングマネージャ１７０４ｈは、得られたＰＩＤをＴＳデコーダのＰＩＤフィルタ１５０２に設定する。さらに、放送波に含まれるサービスを２次記憶部１３０７に記録する動作に従うように、ライブラリ１７０１ｂを通じて各ハードウェア構成要素の出力先を設定する。すると、図１５で説明した流れに沿って、所望のチャンネルを構成する全ＥＳが、先ほど領域確保した記録領域１５０４に記録される。
【０１１０】
その後、指定された終了時刻に至ると、レコーディングマネージャ１７０４ｈはＴｕｎｅｒ１７０４ｃのチューニング動作を停止させ、記録領域１５０４へのＭＰＥＧ−２トランスポートストリームの書き込みを終了させる。また、先ほど記録したＭＰＥＧ−２トランスポートストリームの管理情報として、図２１に示すレコード情報管理テーブルを作成する。
【０１１１】
図２１は２次記憶部１３０７等の記録領域１５０４に記録されているレコード情報を管理するためのレコード情報管理テーブルの一例である。レコード情報は表形式で記録されている。列２１０１は、レコード識別子である。列２１０２は、チャンネル識別子である。列２１０３はプログラムナンバーである。列２１０４はサービスの録画開始時間、列２１０５はサービスの録画終了時間である。そして、列２１０６はサービスとして記録されたＭＰＥＧ−２トランスポートストリームを識別するメディア識別子である。行２１１１〜２１１２の各行は、各レコード識別子、チャンネル識別子、プログラムナンバー、開始時間、終了時間、および、メディア識別子の組となる。例えば、行２１１１はレコード識別子が「０００」、チャンネル識別子が「２」、プログラムナンバーが「１０２」、開始時間が「２００５／０３／３０  １１：００」、終了時間が「２００５／０３／３０  １２：００」、および、メディア識別子が「ＴＳ＿００１」であることを示す。
【０１１２】
サービスマネージャ１７０４ｆは、２次記憶部１３０７に記録済みのＭＰＥＧ−２トランスポートストリーム中のサービス、あるいはアダプタ１３１１から入力されるＭＰＥＧ−２トランスポートストリーム中のサービスの再生を管理する。
【０１１３】
以下に、２次記憶部１３０７に記録済みのＭＰＥＧ−２トランスポートストリーム中のサービスの再生を管理する場合の動作について述べる。これは録画済みサービスの再生に相当する。この場合、サービスマネージャ１７０４ｆは、レコード識別子を入力とする。そのレコード識別子で特定される、２次記憶部１３０７に記録済みのサービスが、再生対象である。
【０１１４】
サービスマネージャ１７０４ｆは、まず、レコーディングマネージャ１７０４ｈが作成したレコード情報管理テーブルを参照して、指定されたレコード識別子で再生されるべきチャンネル識別子と、メディア識別子を得る。そして、２次記憶部１３０７に対して、今得られたメディア識別子で特定されるＭＰＥＧ−２トランスポートストリームをＴＳデコーダ１３０２に出力するように、ライブラリ１７０１ｂを通して指示する。また、ライブラリ１７０１ｂを通して各ハードウェア構成要素の出力先を図１６に示す経路で流れるように設定する。その後、ＪＭＦ１７０４ａにＭＰＥＧ−２トランスポートストリームの所在として２次記憶部１３０７を与え、また再生すべきチャンネル識別子を与える。すると、ＪＭＦ１７０４ａは、既に述べた動作によって、２次記憶部１３０７から出力されるＭＰＥＧ−２トランスポートストリームに多重された映像と音声の再生を開始する。更に、ＡＭ１７０４ｂにもＭＰＥＧ−２トランスポートストリームの所在として２次記憶部１３０７を与え、また再生すべきチャンネル識別子を与える。すると、ＡＭ１７０４ｂは２次記憶部１３０７から出力されるＭＰＥＧ−２トランスポートストリームに多重されたＡＩＴに従って、２次記憶部１３０７から出力されるＭＰＥＧ−２トランスポートストリームに多重されたＪａｖａプログラムの実行および終了を開始する。その後、２次記憶部１３０７から出力されるＭＰＥＧ−２トランスポートストリームの終端まで、上述のサービスの再生を継続する。
【０１１５】
一方、以下に、アダプタ１３１１から入力されるＭＰＥＧ−２トランスポートストリーム中のサービスの再生を管理する場合を説明する。これは、放送波から直接サービスを再生することに相当する。この場合、サービスマネージャ１７０４ｆは、再生対象サービスのチャンネル識別子を入力とする。
【０１１６】
サービスマネージャ１７０４ｆは、図１５のアダプタ１３１１から出力されるＭＰＥＧ−２トランスポートストリームをＴＳデコーダ１３０２に出力するように、ライブラリ１７０１ｂを通して指示する。また、ライブラリ１７０１ｂを通して各ハードウェア構成要素の出力先を図１６に示す経路で流れるように設定する。その後、ＪＭＦ１７０４ａにＭＰＥＧ−２トランスポートストリームの所在としてアダプタ１３１１を与え、また再生すべきチャンネル識別子を与える。すると、ＪＭＦ１７０４ａは、既に述べた動作によって、アダプタ１３１１から出力されるＭＰＥＧ−２トランスポートストリームに多重された映像と音声の再生を開始する。更に、ＡＭ１７０４ｂにもＭＰＥＧ−２トランスポートストリームの所在としてアダプタ１３１１を与え、また再生すべきチャンネル識別子を与える。すると、ＡＭ１７０４ｂはアダプタ１３１１から出力されるＭＰＥＧ−２トランスポートストリームに多重されたＡＩＴに従って、２次記憶部１３０７から出力されるＭＰＥＧ−２トランスポートストリームに多重されたＪａｖａプログラムの実行および終了を開始する。その後、２次記憶部１３０７から出力されるＭＰＥＧ−２トランスポートストリームの終端まで、上述のサービスの再生を継続する。
【０１１７】
図２９は、Ｊａｖａライブラリ１７０４におけるサービスマネージャ１７０４ｆ、Ｔｕｎｅｒ１７０４ｃ、および、リソースマネージャ１７０４ｇの詳細な構成を示す図である。
【０１１８】
リソースマネージャ１７０４ｇは、Ｔｕｎｅｒ１７０４ｃ等から、チューナ等のリソースを確保するように要求された場合に、特権Ｊａｖａプログラムによって登録されたリソース競合ハンドラを呼び出して、あるいは、リソース管理情報を参照してプログラムの優先度にもとづいて、リソースの競合を解消して、適切なプログラムへ確保するように要求されたリソースを付与する。
【０１１９】
リソースマネージャ１７０４ｇは、リソース競合プログラム判別部２９０１、リソース競合プログラム処理部２９０２、リソース管理情報保持部２９０３、終了プログラム情報保持部２９０４、リソース競合ハンドラ登録部２９０５、および、リソース競合ハンドラ登録特権判定部２９０６からなる。
【０１２０】
リソース競合プログラム判別部２９０１は、Ｔｕｎｅｒ１７０４ｃ等から、チューナ等のリソースを確保するように要求された場合に、特権Ｊａｖａプログラムによってリソース競合ハンドラ登録部２９０５に登録されたリソース競合ハンドラを呼び出して、あるいは、リソース管理情報保持部２９０３に保持されているリソース管理情報を参照してプログラムの優先度にもとづいて、リソースの競合を解消して、要求されたリソースの確保を許可するプログラムを、リソース競合プログラム処理部２９０２へ通知する。
【０１２１】
リソース競合プログラム処理部２９０２は、リソース競合プログラム判別部２９０１からリソースの確保を許可されたプログラムにリソースの確保を通知する。プログラムへチューナの確保を通知するには、例えば、リソースの確保を通知するためのＪａｖａメソッド“ｎｏｔｉｆｙＲｅｓｅｒｖｅ”によって、確保を許可されたリソース識別子“チューナ”を引数として、“ｎｏｔｉｆｙＲｅｓｅｒｖｅ（チューナ）”と呼び出す。
【０１２２】
また、リソース競合プログラム処理部２９０２は、リソースを奪取するように判別されたプログラムにリソースの奪取を通知する。プログラムへチューナの奪取を通知するには、例えば、リソースの奪取を通知するためのＪａｖａメソッド“ｎｏｔｉｆｙＲｅｌｅａｓｅ”によって、奪取するように判別されたリソース識別子“チューナ”を引数として、“ｎｏｔｉｆｙＲｅｌｅａｓｅ（チューナ）”と呼び出す。なお、ｎｏｔｉｆｙＲｅｓｅｒｖｅメソッド、および、ｎｏｔｉｆｙＲｅｌｅａｓｅメソッドは、リソースの確保を要求したプログラムへのコールバック関数である。
【０１２３】
さらに、リソース競合プログラム処理部２９０２は、その結果にもとづいてリソース管理情報保持部２９０３に保持されているリソース管理情報、および、処理プログラム情報保持部２９０４に保持されている処理プログラム情報を更新する。
【０１２４】
リソース競合プログラム処理部２９０２は、リソースを奪取したプログラムに有効時間がある場合、タイマによって、そのプログラムの実行時間を計測するとともに、その有効時間を経過した後に、そのリソースが奪取される前のプログラムにそのリソースを再び割り当てる機能をもつ。図３４はリソースを奪取したプログラムの有効時間が経過した後に、それ以前にリソースを確保していたプログラムにそのリソースを再び割り当てる場合のフローチャートである。リソースを奪取したプログラムに有効時間がある場合、リソース競合プログラム処理部２９０２はその有効時間を保持している。リソース競合プログラム処理部２９０２においては、一定時間ごとにタイマ割込が発生して（Ｓ３４０１）、タイマ時刻が更新される（Ｓ３４０２）。例えば、ある有効時間をもつプログラムが起動されると、タイマ時刻がリセットされるとともに、０．１秒ごとにタイマ割込が発生する。タイマ割込が発生すると、その時点におけるタイマ時刻が更新されて０．１秒進められる。そのタイマ時刻がリソースを奪取したプログラムの有効時間と一致する（Ｓ３４０３）場合、リソース競合プログラム処理部２９０２はそのプログラムに割り当てられているリソースを奪取して、そのリソースの奪取をそのプログラムへｎｏｔｉｆｙＲｅｌｅａｓｅメソッドを呼び出して通知する（Ｓ３４０４）とともに、処理プログラム情報保持部２９０４に保持されている処理プログラム情報を参照して、そのプログラムが奪取する前にそのリソースを確保していたプログラムへ、そのリソースをｒｅｓｅｒｖｅメソッドで再び割り当てる（Ｓ３４０５）。さらに、その結果にもとづいて、リソース競合プログラム判別部２９０１はリソース管理情報保持部２９０３に保持されているリソース管理情報、および、処理プログラム情報保持部２９０４に保持されている処理プログラム情報を更新する（Ｓ３４０６）。
【０１２５】
リソース管理情報保持部２９０３は、チューナやＡＶエンコーダ等のリソース、そのリソースを確保しているプログラム、および、そのプログラムの優先度を併せて対応付けるリソース管理情報を保持する。
【０１２６】
処理プログラム情報保持部２９０４は、チューナやＡＶエンコーダ等のリソースをリソース競合プログラム処理部２９０２によって奪取されたプログラムを、その奪取されたリソースと対応付ける処理プログラム情報を保持する。
【０１２７】
リソース競合ハンドラ登録部２９０５は、チューナやＡＶエンコーダ等のリソースを確保するように要求された場合に呼び出される、特権Ｊａｖａプログラムによって事前に登録された、リソースの競合を解消するためのリソース競合ハンドラを保持する。
【０１２８】
リソース競合ハンドラ登録特権判定部２９０６は、あるＪａｖａプログラムがリソース競合ハンドラを登録しようとした場合に、そのＪａｖａプログラムがリソース競合ハンドラを登録するために必要な特権を有するかどうかを判定する。Ｊａｖａプログラムがその特権を有するＪａｖａプログラムである場合は、リソース競合ハンドラをリソース競合ハンドラ登録部２９０５に保持する。例えば、あるＪａｖａプログラムがリソース競合ハンドラ“ｒｃＨａｎｄｌｅｒ”をリソース競合ハンドラ登録部２９０５に登録するためには、リソース競合ハンドラを登録するためのＪａｖａメソッド“ｓｅｔＲｅｓｏｕｒｃｅＣｏｎｔｅｎｔｉｏｎＨａｎｄｌｅｒ”によって、“ｓｅｔＲｅｓｏｕｒｃｅＣｏｎｔｅｎｔｉｏｎＨａｎｄｌｅｒ（ｒｃＨａｎｄｌｅｒ）”と呼び出す。ここで、リソース競合ハンドラ“ｒｃＨａｎｌｄｅｒ”の引数としては、プログラムを特定するプログラム識別子の配列“ａｐｐＩＤ［］”等が挙げられる。“ｒｃＨａｎｄｌｅｒ（ａｐｐＩＤ［］）”と呼び出すと、その戻り値としては、優先度順にソートされたプログラム識別子の配列“ｐｒｉｏｒｉｔｉｚｅｄＡｐｐＩＤ［］”等が挙げられる。
【０１２９】
図３０は、リソース管理情報保持部２９０３が保持するリソース管理情報の一例を示す図である。確保リソース３０１１はプログラム等によって確保されているリソースを特定するリソース識別子、プログラム３０１２はそのリソースを確保しているプログラム、優先度３０１３はそのリソースの確保がどれだけ優先されるかをそれぞれ示す。ここで、プログラムとしては、ＯＳ１７０１上で実行されるプログラム、あるいは、ＪａｖａＶＭ１０３上で実行されるＪａｖａプログラム等がある。例えば、行３００１は“モジュールＡ”というプログラムによって“チューナ”というリソースが“２０”という優先度で確保されていることを示す。本実施の形態においては、優先度の最高値は“１００”とする。ＥＡＳモジュール１７０１ｃから強制チューニングによってリソースが確保された場合は、優先度は最高、すなわち、“１００”と強制設定する。
【０１３０】
図３１は、処理プログラム情報保持部２９０４が保持する処理プログラム情報の一例を示す図である。奪取リソース３１１１はリソースの競合を解消したことで奪取されたリソースを特定するリソース識別子、プログラム３１１２はそのリソースを奪取されたプログラムを特定するプログラム識別子を示す。ここで、プログラムとしては、ＯＳ１７０１上で実行されるプログラム、あるいは、ＪａｖａＶＭ１０３上で実行されるＪａｖａプログラム等がある。例えば、行３１０１は“チューナ”というリソースが“プログラムＣ”というプログラムから奪取されたことを示す。
【０１３１】
ＥＰＧ１７０２は、電子番組表（Ｅｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略）であり、録画や再生の対象とする番組をユーザに選択させる機能である。放送波を受信しての通常の再生は本発明の趣旨から外れるため、説明を割愛する。
【０１３２】
番組を記録する場合は、ＥＰＧ１７０２は、放送番組一覧を表示してユーザに希望の番組を選択させる。図１９は、録画対象とする番組を選択させるための画面表示の一例である。時刻１９０１とチャンネル１９０２と１９０３が格子状に表示され、各時刻で記録可能な各チャンネルの番組を一覧できる。ユーザは端末装置１３００の入力部１３１０に備わっている上下左右カーソルボタン１４０１〜１４０４を用いて画面上のフォーカス１９１１を移動させることができる。更にＯＫボタン１４０５を押下すると、現在フォーカスが当たっている番組が記録対象として選択される。ＥＰＧ１７０２は当該番組のチャンネル識別子をライブラリから取得して知っており、ユーザによって記録対象番組が選択されると、当該番組のチャンネル識別子、開始時間、終了時間をレコーディングマネージャ１７０４ｈに通知する。 レコーディングマネージャ１７０４ｈは、その情報に基づいて、当該番組を２次記憶部１３０７に記録する。
【０１３３】
一方、記録済みの番組を再生する場合は、ＥＰＧ１７０２は、記録済み番組一覧を表示してユーザに希望の番組を選択させる。図１８は、録画済み番組を選択させるための画面表示の一例である。その時点で２次記憶部１３０７に記憶されている番組がすべて一覧表示される。ユーザは端末装置１３００の入力部１３１０に備わっている上下カーソルボタン１４０１、１４０２を用いて画面上のフォーカス１８０１を移動させることができる。更にＯＫボタン１４０５を押下すると、現在フォーカスが当たっている番組が再生対象として選択される。ＥＰＧ１７０２は当該番組のレコード識別子をレコーディングマネージャ１７０４ｈから取得して知っており、ユーザによって再生対象番組が選択されると、当該番組のレコード識別子をサービスマネージャ１７０４ｆに通知する。 サービスマネージャ１７０４ｆは、その情報に基づいて、当該番組を２次記憶部１３０７から読み出して再生する。
【０１３４】
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
【０１３５】
図３２はあるＪａｖａプログラムがリソースマネージャ１７０４ｇにおけるリソース競合ハンドラ登録部２９０５にリソース競合ハンドラを登録する場合のフローチャートである。
【０１３６】
リソース競合ハンドラを登録しようとするＪａｖａプログラムはまずリソースマネージャ１７０４ｇへリソース競合ハンドラを登録するよう要求する（Ｓ３２０１）。リソース競合ハンドラの登録要求を受けたリソースマネージャ１７０４ｇはリソース競合ハンドラ登録特権判定部２９０６において、そのＪａｖａプログラムがリソース競合ハンドラを登録するために必要な特権を有するか判別する（Ｓ３２０２）。そのＪａｖａプログラムがリソース競合ハンドラを登録するために必要な特権を有すると判別された場合はそのＪａｖａプログラムが要求するリソース競合ハンドラをリソース競合ハンドラ登録部２９０５へ登録する（Ｓ３２０３）。
【０１３７】
また、図３３はＥＡＳモジュール１７０１ｃによって強制チューニングが発生した場合にどのようにしてチューナ等のリソースの競合が解消されるかを示すフローチャートである。
【０１３８】
ＥＡＳモジュール１７０１ｃによって強制チューニングが発生すると、ＥＡＳモジュール１７０１ｃはサービスマネージャ１７０４ｆへチャンネル識別子およびと強制チューニングの有効時間を出力する。サービスマネージャ１７０４ｆは、チャンネル識別子をキーとして、ライブラリ１７０１ｂが保有するチャンネル情報から当該チャンネル識別子に相当するチューニング情報を得る。その後、Ｔｕｎｅｒ１７０４ｃにチューニング情報を与えると、Ｔｕｎｅｒ１７０４ｃはチューニングを開始する。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。Ｔｕｎｅｒ１７０４ｃにおけるリソース競合検出部２９２１が、その強制チューニングとすでに実行されているサービス等との間でチューナのリソースの競合を検出した（Ｓ３３０１）場合は、実行されようとしているサービスが強制チューニングに起因するか判別する（Ｓ３３０２）。ここで、そのサービスが強制チューニングに起因すると判別された場合は、その優先度は最高の“１００”に強制設定される（Ｓ３３０３）。そうでない場合は、その優先度はそのサービスの要求元に依存して適当な値が設定される（Ｓ３３０４）。いずれかの優先度が設定されて、リソース競合検出部２９２１は、設定された優先度、競合しているチューナを特定するリソース識別子、さらにそのチューナの要求元を特定するプログラム識別子を、リソースマネージャ１７０４ｇへ引き渡して、リソースの競合を解消するよう要求する（Ｓ３３０５）。リソースマネージャ１７０４ｇにおいて、引き渡された優先度が最高（Ｓ３３０６）である場合は、リソース競合プログラム判別部２９０１がリソース管理情報保持部２９０３に保持されているリソース管理情報を参照して、そのリソースを確保している競合プログラムを判別する（Ｓ３３０７）。そして、その判別した競合プログラムを特定するプログラム識別子をリソース競合プログラム処理部２９０２へ引き渡して、その競合プログラムから競合しているリソースを奪取して、そのリソースの奪取をその競合プログラムへ通知するとともに、その奪取したリソースの確保をその要求元のプログラムへ通知する（Ｓ３３１０）。さらに、その結果にもとづいて、リソース競合プログラム判別部２９０１はリソース管理情報保持部２９０３に保持されているリソース管理情報、および、処理プログラム情報保持部２９０４に保持されている処理プログラム情報を更新する（Ｓ３３１１）。Ｓ３３０６において引き渡された優先度が最高でない場合は、リソース競合ハンドラ登録部２９０５に特権Ｊａｖａプログラムによって事前に登録されたリソース競合ハンドラがあるか判別する（Ｓ３３０８）。リソース競合ハンドラが登録されている場合は、そのリソース競合ハンドラを呼び出して、そのリソースの競合の解消を委ねる（Ｓ３３０９）。リソース競合ハンドラが登録されていない場合は、リソース競合プログラム判別部２９０１がリソース管理情報保持部２９０３に保持されているリソース管理情報を参照して、そのリソースを確保している競合プログラムを判別する（Ｓ３３０７）。そして、その判別した競合プログラムに対応する優先度と自優先度とを比較して、自優先度がより高い場合は、その競合プログラムを特定するプログラム識別子をリソース競合プログラム処理部２９０２へ引き渡して、その競合プログラムから競合しているリソースを奪取して、そのリソースの奪取をその競合プログラムへ通知するとともに、その奪取したリソースの確保をその要求元のプログラムへ通知する（Ｓ３３１０）。さらに、その結果にもとづいて、リソース競合プログラム判別部２９０１はリソース管理情報保持部２９０３に保持されているリソース管理情報、および、処理プログラム情報保持部２９０４に保持されている処理プログラム情報を更新する（Ｓ３３１１）。Ｓ３３１１においては、競合しているプログラムによってリソースを奪取されたプログラムを特定するプログラム識別子を、そのリソースを特定するリソース識別子と併せて対応付けて、処理プログラム情報保持部２９０４に処理プログラム情報として保持する。
【０１３９】
以上のようにして、ＥＡＳモジュール１７０１ｃによって強制チューニングが発生した場合であっても、サービスマネージャ１７０４ｆがリソースの要求元によって優先度を設定するとともに、リソース競合プログラム判別部２９０１が、最高の優先度をもつプログラムには、リソース競合ハンドラを呼び出さずに、他のプログラムよりも優先してそのリソースを強制的に確保することを許可することで、従来のリソースの競合を解消するための枠組みを崩すことなく、かつ、特権Ｊａｖａプログラムによって事前に登録されたリソース競合ハンドラを呼び出して想定外にブロックされることなく、迅速に強制チューニングを実行してユーザへ警報を呈示することが可能となる。
【０１４０】
（実施の形態２）
以下に、本発明の実施の形態２に係る放送受信端末およびプログラム実行方法を、図面を参照しながら説明する。
【０１４１】
実施の形態２は、以上述べてきた実施の形態１を実現するための異なるハードウェア構成の形態を提供するものである。実施の形態２で用いるハードウェア構成等は、図２４および図２５で示す。
【０１４２】
図２４は、サービスの記録時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。図中の構成要素のうち、図１５と同一番号を付した構成要素は、実施の形態１で既に説明済であるため、再度の説明を省略する。図２４のハードウェア構成では、図１５と異なり、ＴＳデコーダ１３０２でフィルタリングされたセクションが、１次記憶部１３０８を通った後、多重器を経由せずに、記録領域１５０４に記録される。ここで、セクションの記録領域１５０４への記録に関しては、セクションの形式に応じて記録方式が異なる。
【０１４３】
ＤＳＭ−ＣＣファイルシステムにてＭＰＥＧ−２トランスポートストリーム中に記録されたファイルシステムに関しては、端末固有の記録領域１５０４独自のファイルシステムフォーマットに変換して記録領域１５０４に記録する。
【０１４４】
また、ＡＩＴに関しては、図２６に拡張したレコード情報管理テーブルの形式に変換して記録領域１５０４に記録する。図２６に示したレコード情報管理テーブルは、図２１に示したレコード情報管理テーブルを拡張したものであり、両図において同一の符号で識別される項目は、図２１に示したレコード情報管理テーブルと同等の意味をもつため、説明を省略する。
【０１４５】
各行２６１１、２６１２はそれぞれ１つのサービスのレコード情報を示す。各行２６１１、２６１２はそれぞれレコード識別子２１０１、チャンネル識別子２１０２、プログラムナンバー２１０３、サービスの記録を開始した時間２１０４、サービスの記録を終了した時間２１０５、メディア識別子２１０６、および、ＡＩＴ情報管理テーブルへの参照をもつ。ＡＩＴ情報管理テーブルはメディア時刻２６２１とそれに対応するＡＩＴバージョン２６２２をもつ。メディア時刻２６２１は対応するＭＰＥＧ−２トランスポートストリームの再生時の時刻であって、対応するＭＰＥＧ−２トランスポートストリーム上の位置を示す。ＡＩＴバージョン２６２２は図２２におけるＡＩＴバージョン２２００に対応する。例えば、レコード識別子２１０１として「００１」をもつサービスのレコード情報は、メディア識別子２１０６として「ＴＳ＿００２」をもち、参照されているＡＩＴ情報管理テーブルにおいてメディア時刻２６２１が「００：００：００」時には対応するＡＩＴバージョン２６２２は「１」となって、同様に、メディア時刻２６２１が「００：０５：００」時には対応するＡＩＴバージョン２６２２は「２」、メディア時刻２６２１が「００：２０：００」時には対応するＡＩＴバージョン２６２２は「３」となる。チャンネル識別子２６０１として「００１」をもつサービスの再生時には、レコード情報管理テーブルを参照して、メディア識別子２６０２である「ＴＳ＿００２」によって特定される映像および音声が多重化されたＭＰＥＧ−２トランスポートストリームが再生されるとともに、ＡＩＴ情報管理テーブルを参照して、メディア時刻２６２１が「００：００：００」に達すれば、ＡＩＴバージョン２６２２が「１」であるＡＩＴに応じて、Ｊａｖａプログラムが起動あるいは終了等の制御が実行される。同様に、メディア時刻２６２１が「００：０５：００」に達すれば、ＡＩＴバージョン２６２２が「２」であるＡＩＴに応じて、メディア時刻２６２１が「００：２０：００」に達すれば、ＡＩＴバージョン２６２２が「３」であるＡＩＴに応じて、Ｊａｖａプログラムが起動あるいは終了等の制御が実行される。実際のＡＩＴは、プライベートセクション形式のバイナリファイルとして、端末固有の記録領域１５０４独自のファイルシステムフォーマットに変換して記録領域１５０４に記録するものとする。記録されたファイルは、一意に特定可能なユニークなファイル名がつけられ、それがレコード情報管理テーブル中にＡＩＴファイル名２６２３として記録される。
【０１４６】
実際の放送波においては、同一のＡＩＴバージョンをもつＡＩＴが何度も繰り返し送信されるが、本実施の形態においては、受信されるＡＩＴバージョンの変化を検出することで、その時点における更新された最初のＡＩＴのみを記録領域１５０４に記録することとする。
【０１４７】
図２５に、サービスの再生時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。図中の構成要素のうち、図１６と同一番号を付した構成要素は、実施の形態１で既に説明済であるため、再度の説明を省略する。
【０１４８】
図２５のハードウェア構成では、図１６と異なり、記録領域１５０４に記録されたセクションが、ＴＳデコーダを経由せずに、一次記憶に読み込まれる。記録領域から読み出したＭＰＥＧ−２トランスポートストリームの現在再生時間に対応するメディア時間をレコード情報管理テーブルから検索し、そのメディア時間に相当するＡＩＴやＤＳＭ−ＣＣファイルシステムをファイルから読み出す。
【０１４９】
ここで、図２２に示すＡＩＴと、図２６に示すレコード情報管理テーブルとによって、チャンネル識別子が「００１」に対応するサービスを記録領域１５０４から再生する場合を一例として挙げる。
【０１５０】
再生するサービスとして、チャンネル識別子が「００１」に対応するサービスが指定されると、サービスの再生において前述したように、サービスに属する音声・映像、および、サービスに属するＪａｖａプログラムがそれぞれ再生および起動される。
【０１５１】
再生を開始するメディア時刻が指定されない場合は、メディア時刻２６２１が「００：００：００」から再生を開始する。すなわち、音声・映像としては、レコード識別子２１０１「００１」に対応するメディア識別子２１０２「ＴＳ＿００２」をもつＭＰＥＧ−２トランスポートストリームがメディア時刻２６２１「００：００：００」から再生される。ＡＩＴ情報管理テーブルを参照して、メディア時刻２６２１「００：００：００」に対応するＡＩＴバージョン２６２２が「１」であるので、ＡＩＴバージョン２２００が「１」であるＡＩＴをファイルから読み出す。ＡＩＴの内容に基づいて、制御情報２２０２が「ａｕｔｏｓｔａｒｔ」であるプログラム名２２０４に対応するＪａｖａプログラムが起動される。
【０１５２】
次いで、サービスの再生が継続されて、メディア識別子「ＴＳ＿００２」に対応するＭＰＥＧ−２トランスポートストリームが再生されている位置がメディア時刻２６２１「００：０５：００」となれば、ＡＩＴ情報管理テーブルを参照して、メディア時刻２６２１「００：０５：００」に対応するＡＩＴバージョン２６２２が「２」であるので、ＡＩＴバージョン２２００が「２」であるＡＩＴにもとづいて、制御情報２２０２が「ａｕｔｏｓｔａｒｔ」であるプログラム名２２０４に対応するＪａｖａプログラムが起動されるとともに、制御情報２２０２が「ｄｅｓｔｒｏｙ」、あるいは、「ｋｉｌｌ」であるプログラム名２２０４に対応するＪａｖａプログラムが終了される。ここで、図２２を参照して、制御情報２２０２が「ｄｅｓｔｒｏｙ」であるプログラム名は「／ｂ／ＭｕｓｉｃＸｌｅｔ」、制御情報２２０２が「ｋｉｌｌ」であるプログラム名は 「／ｚ／ＳｔｕｄｙＸｌｅｔ」であるので、メディア時刻２６２１「００：０５：００」において、それらのプログラム名に対応するＪａｖａプログラムが実行されていれば、それらのＪａｖａプログラムは終了される。
【０１５３】
次いで、サービスの再生が継続されて、メディア識別子２１０６「ＴＳ＿００２」に対応するＭＰＥＧ−２トランスポートストリームが再生されている位置がメディア時刻２６２１「００：２０：００」となれば、ＡＩＴ情報管理テーブルを参照して、メディア時刻２６２１「００：２０：００」に対応するＡＩＴバージョン２６２２が「３」であるので、ＡＩＴバージョン２２００が「３」であるＡＩＴにもとづいて、制御情報２２０２が「ａｕｔｏｓｔａｒｔ」であるプログラム名２２０４に対応するＪａｖａプログラムが起動されるとともに、制御情報２２０２が「ｄｅｓｔｒｏｙ」、あるいは、「ｋｉｌｌ」であるプログラム名２２０４に対応するＪａｖａプログラムが終了される。
【０１５４】
以上述べた実施の形態２によると、実施の形態１に関して、多重器によって多重化された映像および音声と、別途異なる形式で記録されたＤＳＭ−ＣＣファイルシステムおよびＡＩＴファイルを組み合わせてサービス再生することが可能となる。これにより、放送では繰り返し送信されていたＤＳＭ−ＣＣファイルシステムやＡＩＴを更新時の一度分だけ記録すればよいことになり、記録領域の記憶容量の消費を抑えることができる。
【０１５５】
（実施の形態３）
以下に、本発明の実施の形態３に係る放送受信端末およびプログラム実行方法を、図面を参照しながら説明する。
【０１５６】
実施の形態３に用いるハードウェア構成等は、本発明の実施の形態１と同様であるので、図１から図１６までを援用することとする。図中の構成要素は、実施の形態１と同様の機能をもつため、再度の説明は省略する。
【０１５７】
実施の形態３のソフトウェア構成は、図１７に示すものと同様である。サービスマネージャ１７０４ｆおよびリソースマネージャ１７０４ｇ以外の構成要素は、実施の形態１のソフトウェア構成と同様の機能をもつため、再度の説明は省略する。また、実施の形態３で用いる各種データ形式は、図２０から図２２までの図面、図３０、および、図３１に示すものと同様であるため、再度の説明は省略する。
【０１５８】
図２９は、Ｊａｖａライブラリ１７０４におけるサービスマネージャ１７０４ｆ、Ｔｕｎｅｒ１７０４ｃ、および、リソースマネージャ１７０４ｇの詳細な構成を示す図である。
【０１５９】
Ｔｕｎｅｒ１７０４ｃは、実施の形態１と同様に、チューニング制御部２９１１とリソース競合検出部２９２１から構成される。
【０１６０】
チューニング制御部２９１１は、実施の形態１と同様の機能をもつため、再度の説明は省略する。
【０１６１】
リソース競合検出部２９２１は、サービスマネージャ１７０４ｆ等からチューナハードウェアリソースの確保を要求された場合に、他のプログラムとのチューナリソースの競合を検出し、競合の解消をリソースマネージャ１７０４ｇ内のリソース競合プログラム判別部２９０１へ依頼する。
【０１６２】
リソース競合検出部２９２１は、チューナの確保を要求するためのｒｅｓｅｒｖｅ（チューナ識別子）メソッドをＪａｖａＡＰＩとしてもつ。プログラムはこのメソッドを呼び出して、チューナ識別子で特定されるチューナリソースの確保を要求する。
【０１６３】
ｒｅｓｅｒｖｅメソッドが呼び出されると、リソース競合検出部２９２１はリソース管理情報保持部２９０３がもつリソース管理情報を参照し、指定されたチューナがすでに確保されているかどうか調べる。すでにいずれかのプログラムによって確保されているならば、リソースマネージャ１７０４ｇ内のリソース競合プログラム判別部２９０１へ、そのチューナを特定するリソース識別子、および、そのチューナ確保の要求元を特定するプログラム識別子を与えて、そのチューナの競合を解消するように要求する。ここで、チューナ等のリソースの確保要求は、ダウンロードされたＪａｖａプログラム、あるいは、端末にあらかじめ組み込まれたプログラムから要求される。Ｊａｖａプログラムと端末組込のプログラムを含めて「プログラム」とよぶこととする。Ｊａｖａプログラムの場合はＪａｖａプログラム識別子を、端末組込のプログラムの場合はプログラム名を、プログラム識別子として用いることとする。例えば、プログラム識別子“ＥＡＳモジュール”をもつプログラムがチューナの確保を要求する場合は、チューナを確保するためにＴｕｎｅｒ１７０４ｃに用意されているＪａｖａメソッド“ｒｅｓｅｒｖｅ”によって、確保しようとするリソース識別子“チューナ”を引数として、“ｒｅｓｅｒｖｅ（チューナ）”と呼び出す。その場合に、他にチューナを確保しているプログラムがすでにあるならば、リソースの競合を検出するとともに、リソース識別子“チューナ”、および、プログラム識別子“ＥＡＳモジュール”を付与して、リソースマネージャ１７０４ｇへリソースの競合を解消するように要求する。
【０１６４】
リソースマネージャ１７０４ｇは、実施の形態１と同様に、リソース競合プログラム判別部２９０１、リソース競合プログラム処理部２９０２、リソース管理情報保持部２９０３、終了プログラム情報保持部２９０４、リソース競合ハンドラ登録部２９０５、および、リソース競合ハンドラ登録特権判定部２９０６からなる。
【０１６５】
リソース競合プログラム判別部２９０１以外の構成要素は実施の形態１と同様の機能をもつため、再度の説明は省略する。
【０１６６】
リソース競合プログラム判別部２９０１は、Ｔｕｎｅｒ１７０４ｃ等から、チューナ等のリソースを確保するように要求された場合に、特権Ｊａｖａプログラムによってリソース競合ハンドラ登録部２９０５に登録されたリソース競合ハンドラを呼び出して、あるいは、リソース管理情報保持部２９０３に保持されているリソース管理情報を参照してプログラムの優先度にもとづいて、リソースの競合を解消して、要求されたリソースの確保を許可するプログラムを、リソース競合プログラム処理部２９０２へ通知する。また、図３５に示すリソース優先確保プログラム情報を保持するとともに、Ｔｕｎｅｒ１７０４ｃ等からチューナ等のリソースを確保するように要求された場合に、そのリソース優先確保プログラム情報を参照して、そのリソースの確保の要求元が優先的にそのリソースの確保が許可されるプログラムか判別するとともに、その結果にもとづいて、リソース競合プログラム処理部２９０２へ適切なプログラムへリソースを割り当てる等の処理を要求する。
【０１６７】
図３５は、リソース競合プログラム判別部２９０１が保持するリソース優先確保プログラム情報の一例を示す図である。強制確保リソース３５１１は、対応する優先プログラム３５１２によって強制的に確保することが許可されているリソースを特定するリソース識別子、優先プログラム３５１２は対応する強制確保リソース３５１１を他のプログラムよりも優先して強制的に確保することが許可されているプログラムを特定するプログラム識別子である。ここで、プログラムとしては、ＯＳ１７０１上で実行されるプログラム、あるいは、ＪａｖａＶＭ１０３上で実行されるＪａｖａプログラム等がある。例えば、行３５０１は“モジュールＢ”というプログラムが“チューナ”というリソースを他のプログラムよりも優先して強制的に確保することが許可されていることを示す。
【０１６８】
以上で説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
【０１６９】
Ｊａｖａプログラムがリソースマネージャ１７０４ｇにおけるリソース競合ハンドラ登録部２９０５にリソース競合ハンドラを登録する場合の処理の流れは、実施の形態１と同様であるため、図３２を援用することとする。
【０１７０】
また、図３６はＥＡＳモジュール１７０１ｃによって強制チューニングが発生した場合にどのようにしてチューナ等のリソースの競合が解消されるかを示すフローチャートである。
【０１７１】
ＥＡＳモジュール１７０１ｃによって強制チューニングが発生すると、ＥＡＳモジュール１７０１ｃはサービスマネージャ１７０４ｆへチャンネル識別子およびと強制チューニングの有効時間を出力する。サービスマネージャ１７０４ｆは、チャンネル識別子をキーとして、ライブラリ１７０１ｂが保有するチャンネル情報から当該チャンネル識別子に相当するチューニング情報を得る。その後、Ｔｕｎｅｒ１７０４ｃにチューニング情報を与えると、Ｔｕｎｅｒ１７０４ｃはチューニングを開始する。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。Ｔｕｎｅｒ１７０４ｃにおけるリソース競合検出部２９２１が、その強制チューニングとすでに実行されているサービス等との間でチューナのリソースの競合を検出した（Ｓ３６０１）場合は、リソース競合検出部２９２１は、競合しているチューナを特定するリソース識別子、および、そのチューナの要求元を特定するプログラム識別子を、リソースマネージャ１７０４ｇへ引き渡して、リソースの競合を解消するよう要求する（Ｓ３６０２）。次いで、リソースマネージャ１７０４ｇにおけるリソース競合プログラム判別部２９０１が、保持しているリソース優先確保プログラム情報を参照して、そのリソースの要求元が他のプログラムよりも優先してそのリソースを強制的に確保することが許可されているか判別する（Ｓ３６０３）。要求元のプログラムによるそのリソースの強制確保が許可されている場合は、そのプログラムの優先度を最高と設定する（Ｓ３６０４）。そうでない場合は、その優先度はそのサービスの要求元のプログラムに依存して適当な値が設定される（Ｓ３６０５）。優先度が最高（Ｓ３６０６）である場合は、リソース競合プログラム判別部２９０１がリソース管理情報保持部２９０３に保持されているリソース管理情報を参照して、そのリソースを確保している競合プログラムを判別する（Ｓ３６０７）。そして、その判別した競合プログラムを特定するプログラム識別子をリソース競合プログラム処理部２９０２へ引き渡して、その競合プログラムから競合しているリソースを奪取して、そのリソースの奪取をその競合プログラムへ通知するとともに、その奪取したリソースの確保をその要求元のプログラムへ通知する（Ｓ３６１０）。さらに、その結果にもとづいて、リソース競合プログラム判別部２９０１はリソース管理情報保持部２９０３に保持されているリソース管理情報、および、処理プログラム情報保持部２９０４に保持されている処理プログラム情報を更新する（Ｓ３６１１）。Ｓ３６０６において引き渡された優先度が最高でない場合は、リソース競合ハンドラ登録部２９０５に特権Ｊａｖａプログラムによって事前に登録されたリソース競合ハンドラがあるか判別する（Ｓ３６０８）。リソース競合ハンドラが登録されている場合は、そのリソース競合ハンドラを呼び出して、そのリソースの競合の解消を委ねる（Ｓ３６０９）。リソース競合ハンドラが登録されていない場合は、リソース競合プログラム判別部２９０１がリソース管理情報保持部２９０３に保持されているリソース管理情報を参照して、そのリソースを確保している競合プログラムを判別する（Ｓ３６０７）。そして、その判別した競合プログラムに対応する優先度と自優先度とを比較して、自優先度がより高い場合は、その競合プログラムを特定するプログラム識別子をリソース競合プログラム処理部２９０２へ引き渡して、その競合プログラムから競合しているリソースを奪取して、そのリソースの奪取をその競合プログラムへ通知するとともに、その奪取したリソースの確保をその要求元のプログラムへ通知する（Ｓ３６１０）。さらに、その結果にもとづいて、リソース競合プログラム判別部２９０１はリソース管理情報保持部２９０３に保持されているリソース管理情報、および、処理プログラム情報保持部２９０４に保持されている処理プログラム情報を更新する（Ｓ３６１１）。Ｓ３６１１においては、競合しているプログラムによってリソースを奪取されたプログラムを特定するプログラム識別子を、そのリソースを特定するリソース識別子と併せて対応付けて、処理プログラム情報保持部２９０４に処理プログラム情報として保持する。
【０１７２】
ＥＡＳモジュール１７０１ｃによる強制チューニングの有効時間が経過した後に、ＥＡＳモジュール１７０１ｃによる強制チューニング前にチューナ等のリソースを確保していたプログラムにそのリソースを再び割り当てる場合の処理の流れは、実施の形態１と同様であるため、図３４を援用することとする。
【０１７３】
以上のようにして、ＥＡＳモジュール１７０１ｃによって強制チューニングが発生した場合であっても、リソース競合プログラム判別部２９０１がリソース優先確保プログラム情報を保持して参照するとともに、他のプログラムよりも優先してそのリソースを強制的に確保することが許可されるプログラムを判別することで、従来のリソースの競合を解消するための枠組みを崩すことなく、かつ、特権Ｊａｖａプログラムによって事前に登録されたリソース競合ハンドラを呼び出して想定外にブロックされることなく、迅速に強制チューニングを実行してユーザへ警報を呈示することが可能となる。
【０１７４】
以上説明したいくつかの実施例は、本発明の実現例を示したものであり、本発明の趣旨が実現される限り他の実現例でも実施可能である。
【０１７５】
実施例ではケーブルシステムを対象とした構成を示したが、本発明は放送システムの種類に依存しない。例えば、衛星システム、地上波システム、あるいはＩＰネットワークを用いた番組配信システムなどにも容易に適応可能である。さらに本発明は各放送システムの違いと直接的な関係を持たないため、放送システムに係らず任意の伝送媒体で適用可能である。有線、無線の違いにも依存しない。
【０１７６】
ＡＶデコーダは、必ずしも映像および音声を同時にデコードする必要はない。映像デコーダ、音声デコーダを分離した構成としても、本発明は実現可能である。またＡＶデコーダがクローズドキャプションなどのデータに対するデコード機能を持っていても差し支えない。ＡＶデコーダによってデコードされたａｕｄｉｏ信号およびｖｉｄｅｏ信号が、記録領域１５０４に蓄積されるまでの任意の段階において暗号化されてもよい。
【０１７７】
実施例では、限定視聴を制御するアダプタを導入した例を示したが、アダプタは本発明を実現するために必ずしも必要ではない。アダプタの形式がいかなるものであってもよいし、またアダプタのない構成とすることも可能である。その場合、図１５において、チューナからのＭＰＥＧ−２トランスポートストリームが直接ＴＳデコーダに入力される。この場合も本発明は適用可能である。また、アダプタによる限定視聴解除をＴＳデコーダ以前に行う必要はない。任意の位置でアダプタを利用して限定視聴を解除する構成とすることは容易であり、その場合も本発明は適用可能である。
【０１７８】
ＡＶエンコーダによるａｕｄｉｏ信号およびｖｉｄｅｏ信号のエンコード形式は、任意の形式であってもよい。本発明はいかなるエンコード形式であっても適用可能である。
【０１７９】
多重器の多重形式は任意の形式であってもよい。本発明はいかなる多重形式であっても適用可能である。
【０１８０】
ディスプレイおよびスピーカは、放送録画再生装置内部に包含していてもよく、放送録画再生装置に外部ディスプレイおよびスピーカを接続してもよい。ディスプレイおよびスピーカの存在場所や数によらず、本発明は適用可能である。
【０１８１】
ＣＰＵ自身が、ＴＳデコード、ＡＶデコード、ＡＶエンコードおよび多重化のすべてあるいはいくつかの処理を兼用で行うシステムであっても本発明は実施可能である。
【０１８２】
サービスを記録する形式としては、他にもＴＳデコーダを介さずにチューナからのＭＰＥＧ−２トランスポートストリーム出力を直接、記録領域記録してもよいし、ＭＰＥＧ−２トランスポートストリームの形式を変換するトランスレータを設けてチューナからのＭＰＥＧ−２トランスポートストリームを形式変換して記録領域に記録してもよい。いかなるサービス記録方式を用いても、本発明は実施可能である。
【０１８３】
一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵが理解可能な実行形式に翻訳してから、ＣＰＵに引渡して実行するが、この場合でも本発明は適用可能である。
【０１８４】
以上の実施例では、トランスポートストリームがＩｎ−ｂａｎｄから得られるとしてＡＩＴに関して実現方法を説明したが、ＡＭが実行すべきＪａｖａプログラムを参照する手法はＡＩＴによるものだけではない。米国ケーブルシステムで利用されることが想定されるＯＣＡＰでは図３に記載されるＯＯＢにてアプリケーションプログラムの参照情報を記載するＸＡＩＴが利用されている。その他、ＲＯＭに予め記録されているものを起動する、２次記憶にダウンロードして記憶したものを起動する、等の方法も考えられる。
【産業上の利用可能性】
【０１８５】
本発明に係る放送受信端末およびプログラム実行方法は、強制チューニングが発生した場合であっても、従来のリソースの競合を解消するための枠組みを崩すことなく、かつ、特権Ｊａｖａプログラムによって事前に登録されたリソース競合ハンドラを呼び出して想定外にブロックされることなく、迅速に強制チューニングを実行してユーザへ警報を呈示することが可能とするため、殊に放送録画再生装置に係る民生機器産業において利用される可能性が高い。例えば、ケーブルＳＴＢ、および、ディジタルＴＶ等として利用可能である。さらに、例えば、携帯電話等の機器においても放送受信機能をもつ機器であれば利用可能である。
【図面の簡単な説明】
【０１８６】
【図１】本発明に係る放送システムの構成図
【図２】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例
【図３】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例
【図４】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例
【図５】ＭＰＥＧ−２仕様で既定されるＴＳパケットの構成図
【図６】ＭＰＥＧ−２トランスポートストリームの模式図
【図７】ＭＰＥＧ−２仕様で既定されるＰＥＳパケットがＴＳパケットを用いて伝送される際の分割例
【図８】ＭＰＥＧ−２仕様で既定されるＭＰＥＧ−２セクションがＴＳパケットを用いて伝送される際の分割例
【図９】ＭＰＥＧ−２仕様で既定されるＭＰＥＧ−２セクションの構成図
【図１０】ＭＰＥＧ−２仕様で既定されるＭＰＥＧ−２セクションの利用例
【図１１】ＭＰＥＧ−２仕様で規定されるＰＭＴの利用例
【図１２】ＭＰＥＧ−２仕様で規定されるＰＡＴの利用例
【図１３】本発明に係る放送録画再生装置のハードウェア構成の構成例
【図１４】本発明に係る端末装置１２００のハードウェア構成における入力部１３１０のフロントパネル例
【図１５】本発明に係る放送録画再生装置の録画時におけるデバイス接続例
【図１６】本発明に係る放送録画再生装置の再生時におけるデバイス接続例
【図１７】本発明に係る端末装置が保存するプログラム構成の構成図
【図１８】本発明に係る端末装置が実行するＥＰＧの一例
【図１９】本発明に係る端末装置が実行するＥＰＧの一例
【図２０】本発明に係る２次記憶部が保存する情報の一例
【図２１】本発明に係るレコード情報管理テーブルの一例
【図２２】本発明に係るＤＶＢ−ＭＨＰ規格が規定するＡＩＴの内容を表す模式図
【図２３】本発明に係るＤＳＭ−ＣＣ方式で送信されるファイルシステムを表す模式図
【図２４】本発明に係る放送録画再生装置の録画時におけるデバイス接続例
【図２５】本発明に係る放送録画再生装置の再生時におけるデバイス接続例
【図２６】本発明に係るレコード情報管理テーブルの一例
【図２７】本発明に係るライブラリの構成の一例
【図２８】本発明に係る警報情報のデータ形式の一例
【図２９】本発明に係るリソースマネージャの構成の一例
【図３０】本発明に係るリソース管理情報の一例
【図３１】本発明に係る処理プログラム情報の一例
【図３２】本発明に係るリソース競合ハンドラ登録時におけるフローチャート
【図３３】本発明に係る強制チューニング発生時においてリソース競合を解消するフローチャート
【図３４】本発明に係る強制チューニング終了時においてリソースを再び割り当てるフローチャート
【図３５】本発明に係るリソース優先確保プログラム情報の一例
【図３６】本発明に係る強制チューニング発生時においてリソース競合を解消するフローチャート
【図１】
2008543118.tif 000003
【図２】
2008543118.tif 000004
【図３】
2008543118.tif 000005
【図４】
2008543118.tif 000006
【図５】
2008543118.tif 000007
【図６】
2008543118.tif 000008
【図７】
2008543118.tif 000009
【図８】
2008543118.tif 000010
【図９】
2008543118.tif 000011
【図１０】
2008543118.tif 000012
【図１１】
2008543118.tif 000013
【図１２】
2008543118.tif 000014
【図１３】
2008543118.tif 000015
【図１４】
2008543118.tif 000016
【図１５】
2008543118.tif 000017
【図１６】
2008543118.tif 000018
【図１７】
2008543118.tif 000019
【図１８】
2008543118.tif 000020
【図１９】
2008543118.tif 000021
【図２０】
2008543118.tif 000022
【図２１】
2008543118.tif 000023
【図２２】
2008543118.tif 000024
【図２３】
2008543118.tif 000025
【図２４】
2008543118.tif 000026
【図２５】
2008543118.tif 000027
【図２６】
2008543118.tif 000028
【図２７】
2008543118.tif 000029
【図２８】
2008543118.tif 000030
【図２９】
2008543118.tif 000031
【図３０】
2008543118.tif 000032
【図３１】
2008543118.tif 000033
【図３２】
2008543118.tif 000034
【図３３】
2008543118.tif 000035
【図３４】
2008543118.tif 000036
【図３５】
2008543118.tif 000037
【図３６】
2008543118.tif 000038
【国際調査報告】
2008543118.tif 000039
2008543118.tif 000040
2008543118.tif 000041