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