JP2008546220A - コンテンツ再生装置 - Google Patents
コンテンツ再生装置 Download PDFInfo
- Publication number
- JP2008546220A JP2008546220A JP2007552421A JP2007552421A JP2008546220A JP 2008546220 A JP2008546220 A JP 2008546220A JP 2007552421 A JP2007552421 A JP 2007552421A JP 2007552421 A JP2007552421 A JP 2007552421A JP 2008546220 A JP2008546220 A JP 2008546220A
- Authority
- JP
- Japan
- Prior art keywords
- program
- ait
- java
- playback
- java program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/782—Television signal recording using magnetic recording on tape
- H04N5/783—Adaptations for reproducing at a rate different from the recording rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/93—Regeneration of the television signal or of selected parts thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
従来の技術においては、映像および音声の再生と同期するプログラムが、映像および音声へ早送り、巻戻し等の特殊再生を指示した場合、そのプログラムが終了したとしても、映像および音声の特殊再生は継続されてしまって、プログラムが予期しない区間における冗長な特殊再生を解除することは不可能である。本発明は、映像および音声へ特殊再生を指示したプログラムを保持するとともに、プログラムが終了した場合にそのプログラムが特殊再生を指示したプログラムか判別して、特殊再生を指示したプログラムならば、映像および音声の特殊再生を解除することで、プログラムが予期しない区間における冗長な特殊再生を解除することを可能とする。
Description
本発明は、コンテンツを蓄積するとともに、蓄積されたコンテンツを再生するコンテンツ再生装置たる録画再生装置に関する。殊に、映像、音声およびプログラム等のデータから構成されるコンテンツが相互に同期をとって放送波に多重されて送信され、その放送波を受信して映像、音声、データを蓄積するための仕組み、および、映像、音声とプログラム等のデータの同期を保持しつつコンテンツの早送り、巻戻し等の特殊再生を実行する仕組みに関する。
放送局から送信される放送波は、多種多様なコンテンツを含んでいる。コンテンツは、通常の番組で用いられる映像、音声の他に、データを含む場合がある。データの送信方法にはいくつかの方式があり、大別して時系列に送信する方式と、一定の間隔ごとに繰り返し送信する方式がある。前者の時系列に送信する方式では、例えば、時間経過に合わせて連続するデータを順次送信していく。大量のデータを長時間かけて送信する場合に適しているが、送信タイミングで受信しなかった場合は二度と受信できないという欠点がある。一方、後者の一定の間隔ごとに繰り返し送信する方式では、同じデータを一定の期間何度も繰り返し送信する。同一データを送信している期間内に、繰り返し送信されているデータのいずれかひとつを受信すればよいので、受信タイミングが限定されないというメリットがある。例えば、BMLに代表されるデータ放送や、DSMCCデータカルーセルによるファイル送信がこの方式である。特に放送においては、受信者がいつ選局して受信を開始するかわからない。時系列に送信する方式では、受信開始が送信タイミングよりも遅れてしまって、データ取得に失敗した場合、二度と再取得できない。よって、放送波で映像、音声とともにアプリケーションプログラム等のデータを送信したい場合には、一定の間隔ごとに繰り返し送信される方式が好適である。
現在、上記のような方式で、映像、音声とアプリケーションプログラムとを含む放送波を受信し、アプリケーションプログラムを映像、音声と同期して実行するための仕様が策定され、運用されている。通常の映像、音声を見るだけでなく、送信されたアプリケーションプログラムを受信して端末に取り込み、それを実行して様々な付加機能を実現することができる。このようにアプリケーションプログラムを送信して端末に取り込む方法はダウンロードとも呼ばれている。例えば、DVB−MHP(Digital Video Broadcasting−Multimedia Home Platform) ETSI ES 201 812 V1.1.1(2003−12)仕様が欧州で策定され、既に仕様に準拠した運用が開始されている。また米国ではケーブル放送環境で同様の仕組みを提供するOCAP(OpenCable Application Platform) OC−SP−OCAP1.0−I14−050119仕様が策定されており、実際に運用開始予定である。これらの仕様では、アプリケーションプログラムがJava(登録商標)言語で記述されている。端末上にはチューニングやグラフィックス表示のための様々なAPI(アプリケーションプログラミングインタフェース)が用意されており、JavaアプリケーションプログラムはAPIを呼び出すことでそれらの機能を制御できる。
さらに、北米では、OCAP仕様にコンテンツの録画再生機能を追加するためのOCAP−DVR OC−SP−OCAP−DVR−I01−040524仕様を策定中である。これはケーブルテレビ放送として送出される映像、音声およびそれらと同期して実行されるJavaアプリケーションプログラムをコンテンツとして録画し、さらに録画したコンテンツを放送波から直接再生する場合と同じように再生するものである。アプリケーションプログラムは、放送波からの直接再生と同様に映像、音声と同期をとって再生される。
またOCAP−DVRでは、ハードディスクや半導体メモリといった高速ランダムアクセス可能な記録媒体に放送されたコンテンツを録画することで、コンテンツの特殊再生を実現している。ここで、特殊再生とは、早送り、巻戻し、スロー、一時停止、スキップ等の、コンテンツを任意の速度で再生したり、任意の位置から再生したりする機能である。OCAP−DVRでは、放送波から端末に取り込んだアプリケーションプログラムがコンテンツの録画や特殊再生を制御できる。すなわち、端末上に録画や特殊再生のためのAPIが用意されており、JavaアプリケーションプログラムがそのAPIを呼び出すことで各機能を制御できる。
通常、放送波には、アプリケーションプログラムを映像、音声と同期して実行するために、同期のための制御情報があらかじめ多重化されている。アプリケーションプログラムは、その同期制御情報に従って逐次実行および終了されていく。これによって、映像、音声の特定のシーンに合わせて適切なアプリケーションプログラムを切り替えて実行可能になる。ところで、OCAP−DVR等で端末が録画したコンテンツを特殊再生した場合、特殊再生の状況にあわせてアプリケーションプログラムも適切に切り替える必要がある。例えば、早送りして映像が切り替わった場合、映像に同期して対応付けられているアプリケーションプログラムも映像の再生速度に合わせて切り替わる。また、スキップ再生した場合、例えば、そのスキップ後の映像の再生開始位置に同期されたアプリケーションプログラムを実行する。
ところで、早送りした場合、端末がその早送り再生速度に合わせてアプリケーションプログラムを切り替え実行することができない場合がある。例えば、アプリケーションプログラムの起動に時間がかかり、起動中に次のアプリケーションプログラムの起動タイミングが来てしまう場合等である。また、スキップ再生した場合、そのスキップ後の再生開始位置までの時間に同期されたアプリケーションプログラムは再生されず、再生開始位置に同期されたアプリケーションプログラムのみが実行されることになる。ここで、その実行されたアプリケーションプログラムが、以前に実行されるアプリケーションプログラムの結果を利用するような場合が問題である。
特表2003−513555号公報は、この問題を解決するために、スキップ等の特殊再生時に、特殊再生を実行したことで検出されなかったアプリケーションプログラムの制御情報を、アプリケーションプログラムへ通知する仕組みを提供する。このような通知があれば、本来の順序と異なる順序でアプリケーションプログラムが実行されても、所望の対応策を打つことができる。
特表2003−513555号公報に示される発明によって、特定のアプリケーションプログラムが検出されなかったことを感知して、所望の対応策を打つことができる。
しかしながら、特表2003−513555号公報では、特殊再生時に検出されなかったアプリケーションプログラムの制御情報を通知するだけであり、次のような場合に課題が残る。例えば、あるアプリケーションプログラムが、そのアプリケーションプログラム自身を含むコンテンツの早送り特殊再生を実行したとする。早送りによってコンテンツが通常速度よりも高速に再生され、同期制御情報で設定されたそのアプリケーションプログラムの実行期間が過ぎた場合、そのアプリケーションプログラムは強制終了される。ここで、強制終了されたアプリケーションプログラムが実際に終了しても、現在行われている早送り特殊再生は引き続き継続されてしまうことになる。しかしながら、アプリケーションプログラムが強制終了された場合に必ず早送り特殊再生を終了させるという方式をとるわけにはいかない。なぜならば、現在の早送り特殊再生は、その強制終了されたアプリケーションプログラムが実行した特殊再生ではない可能性もあるためである。すなわち、この課題を解決するためには、アプリケーションプログラムの終了時に、そのアプリケーションプログラムが特殊再生の実行を指示したアプリケーションプログラムであるか判別するとともに、特殊再生の実行を指示したアプリケーションプログラムの終了時には、状況に応じて特殊再生の継続や終了といった処理を実行する必要がある。
本発明に係るコンテンツ再生装置は、記録されたコンテンツを再生するコンテンツ再生手段と、プログラムを起動および終了させるプログラム実行手段と、記録されたコンテンツの再生速度を前記プログラムからの指示に基づいて変化させるコンテンツ再生速度変更手段と、コンテンツ再生速度変更手段にコンテンツの再生速度の変更を指示したプログラムを特定する特殊再生指示プログラム特定手段と、前記プログラム実行手段で実行されるプログラムのうち終了したプログラムを特定する終了プログラム特定手段と、前記特殊再生指示プログラム特定手段が特定した、コンテンツの再生速度の変更を指示したプログラムと、前記終了プログラム特定手段が特定した終了したプログラムが同一であるか判定する特殊再生指示プログラム判定手段と、前記特殊再生指示プログラム判定手段が当該プログラムが同一のプログラムであると判断した場合にコンテンツの再生速度を通常再生速度に変更する特殊再生指示プログラム終了時処理手段とを備えることを特徴とする。
これにより、任意のプログラムが記録された放送波の再生速度を変化させたプログラムか判別するとともに、その終了時に記録された放送波の再生速度を変化させることが可能となるために、すでに終了したプログラムが指示した再生速度のまま、記録された放送波が継続して再生されることがなくなる。
また、前記コンテンツは映像、音声、プログラム、およびそれらを同期するための同期情報で構成され、コンテンツを構成するプログラムが前記同期情報に基づいて前記プログラム実行手段で実行されることを特徴としてもよい。
また、前記コンテンツ再生装置は、さらに、前記プログラムを受信するためのプログラム受信装置を備え、前記プログラム受信装置で受信されたプログラムが前記プログラム実行手段で実行されることを特徴としてもよい。
また、前記プログラム実行手段は、コンテンツに含まれる同期情報を参照してプログラムの起動と終了を実施することを特徴としてもよい。
また、前記同期情報は、特殊再生中にプログラムを強制終了させるかどうかを記した特殊再生対応フラグを含み、前記プログラム実行手段は、コンテンツに含まれる同期情報が含む特殊再生対応フラグに基づいてプログラムの起動と終了を実施することを特徴としてもよい。
また、前記プログラム実行手段は、さらに、プログラム実行中に異常が発生した場合にプログラムを強制終了することを特徴としてもよい。
これにより、なんらかの異常が発生した場合に、プログラムを終了させることが可能となるため、再生速度の変化時において、ソフトウェアおよびハードウェアへの損傷を低減することが可能となる。
また、前記プログラム実行手段は、コンテンツの再生速度が低速である場合にのみコンテンツに含まれる同期情報を参照することを特徴としてもよい。例えば、前記プログラム実行手段は、コンテンツの再生速度が通常再生速度以下である場合にのみコンテンツに含まれる同期情報を参照する。
なお、本発明は、上記コンテンツ再生装置だけでなく、コンテンツ再生方法や、そのプログラム、及びそのプログラムを格納する記憶媒体としても実現することができる。
2005年5月18日に出願された、明細書と図面と請求項とを含む米国仮出願番号60/681974を本願に引用して援用する。
第1の発明は、放送波を記録するとともに、記録された放送波を再生する録画再生装置であって、記録された放送波の再生速度を変化させるプログラムを特定する情報を保持するプログラム情報保持手段と、任意のプログラムと前記プログラムとが等しいか判別するプログラム判別手段と、前記プログラムが終了した場合に前記放送波の再生速度を変化させるプログラム終了時処理手段と、を備えることを特徴とする。
上記第1の発明によれば、任意のプログラムが記録された放送波の再生速度を変化させたプログラムか判別するとともに、その終了時に記録された放送波の再生速度を変化させることが可能となるために、すでに終了したプログラムが指示した再生速度のまま、記録された放送波が継続して再生されることがなくなる。
第2の発明は、第1の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、その再生速度の変化に対応していない場合に終了させられることを特徴とする。
上記第2の発明によれば、記録された放送波の再生速度の変化に対応していないプログラムを終了させることが可能となるため、再生速度の変化時において、プログラムによる予期しない挙動を未然に防止することが可能となる。
第3の発明は、第1の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、その特定の位置を再生した場合に終了させられることを特徴とする。
上記第3の発明によれば、記録された放送波の特定の位置において、プログラムを終了させることが可能となるため、再生速度の変化時において、一定の区間でのみプログラムを実行することが可能となる。
第4の発明は、第1の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、前記プログラムの異常、前記プログラムを動作させるシステムの異常、あるいは、前記プログラムを動作させる資源の不足が発生した場合に終了させられることを特徴とする。
上記第4の発明によれば、なんらかの異常が発生した場合に、プログラムを終了させることが可能となるため、再生速度の変化時において、ソフトウェアおよびハードウェアへの損傷を低減することが可能となる。
第5の発明は、第2、第3、第4のいずれかの発明に従属する発明であって、前記プログラム終了時処理手段は、前記プログラムが終了した場合に前記放送波を等倍速で再生させることを特徴とする。
上記第5の発明によれば、記録された放送波の再生速度を変化させたプログラムの終了時に、その再生を等倍速とすることが可能となるために、プログラムの実行が予期されていない区間においては、ユーザの介在なしに、再生を等倍速に設定することが可能となる。
第6の発明は、第2、第3、第4のいずれかの発明に従属する発明であって、前記プログラム終了時処理手段は、前記プログラムが終了した場合に前記放送波を一時的に停止させることを特徴とする。
上記第6の発明によれば、記録された放送波の再生速度を変化させたプログラムの終了時に、その再生を一時的に停止することが可能となるために、プログラムの実行が予期されていない区間においては、ユーザの介在なしに、再生を一時的に停止することが可能となる。
第7の発明は、第3の発明に従属する発明であって、前記プログラムは、前記放送波の等倍速での再生において、その特定の位置を再生した場合に終了させられることを特徴とする。
上記第7の発明によれば、等倍速での再生時において、記録された放送波の特定の位置において、プログラムを終了させることが可能となるため、等倍速での再生時において、一定の区間でのみプログラムを実行することが可能となる。
第8の発明は、第7の発明に従属する発明であって、前記プログラムは、前記放送波の一時的な停止において、その特定の範囲で停止した場合に終了させられることを特徴とする。
上記第8の発明によれば、一時的な停止時において、記録された放送波の特定の範囲において、プログラムを終了させることが可能となるため、一時的な停止時において、一定の区間でのみプログラムを実行することが可能となる。
第9の発明は、第8の発明に従属する発明であって、前記プログラムは、前記放送波の0倍速から1倍速までによる再生において、その特定の位置を再生した場合に終了させられることを特徴とする。
上記第9の発明によれば、0倍速から1倍速までによる再生時において、記録された放送波の特定の位置において、プログラムを終了させることが可能となるため、0倍速から1倍速までによる再生時において、一定の区間でのみプログラムを実行することが可能となる。
第10の発明は、放送波を記録するとともに、記録された放送波を再生する録画再生装置であって、記録された放送波の再生速度を変化させるプログラムを特定する情報を保持するプログラム情報保持手段と、任意のプログラムと前記プログラムとが等しいか判別するプログラム判別手段と、前記プログラムが終了した場合に既定の処理を実行するプログラム終了時処理手段と、を備えることを特徴とする。
上記第10の発明によれば、任意のプログラムが記録された放送波の再生速度を変化させたプログラムか判別するとともに、その終了時に既定の処理を実行することが可能となるために、再生速度を変化させたプログラムの終了時において、一貫性のある処理を実行することが可能となる。
第11の発明は、第10の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、その再生速度の変化に対応していない場合に終了させられることを特徴とする。
上記第11の発明によれば、記録された放送波の再生速度の変化に対応していないプログラムを終了させることが可能となるため、再生速度の変化時において、プログラムによる予期しない挙動を未然に防止することが可能となる。
第12の発明は、第10の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、その特定の位置を再生した場合に終了させられることを特徴とする。
上記第12の発明によれば、記録された放送波の特定の位置において、プログラムを終了させることが可能となるため、再生速度の変化時において、一定の区間でのみプログラムを実行することが可能となる。
第13の発明は、第10の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、前記プログラムの異常、前記プログラムを動作させるシステムの異常、あるいは、前記プログラムを動作させる資源の不足が発生した場合に終了させられることを特徴とする。
上記第13の発明によれば、なんらかの異常が発生した場合に、プログラムを終了させることが可能となるため、再生速度の変化時において、ソフトウェアおよびハードウェアへの損傷を低減することが可能となる。
第14の発明は、第11、第12、第13のいずれかの発明に従属する発明であって、前記プログラム終了時処理手段は、前記プログラムが終了した場合にその他のプログラムによって登録された処理を実行することを特徴とする。
上記第14の発明によれば、再生速度を変化させたプログラムの終了時において、他のプログラムによって登録された処理を実行することが可能となるために、再生速度を変化させたプログラムの終了時における処理を、他のプログラムによって置換することが可能となる。
第15の発明は、第11、第12、第13のいずれかの発明に従属する発明であって、前記プログラム終了時処理手段は、前記プログラムが終了した場合に前記プログラムが終了する前後における状態を引き渡して前記既定の処理を実行することを特徴とする。
上記第15の発明によれば、再生速度を変化させたプログラムの終了時において、プログラムが終了する前後における状態を引き渡して既定の処理を実行することが可能となるために、プログラムが終了する前後における状態に応じた処理を実行することが可能となる。
第16の発明は、第15の発明に従属する発明であって、前記プログラムが終了した場合に前記プログラム終了時処理手段が実行する前記規定の処理へ引き渡す、前記プログラムが終了する前後における状態は、終了した前記プログラムを特定する情報を含むことを特徴とする。
上記第16の発明によれば、再生速度を変化させたプログラムの終了時において、終了したプログラムを特定する情報を引き渡して既定の処理を実行することが可能となるために、終了したプログラムを特定する情報に応じた処理を実行することが可能となる。
第17の発明は、第15の発明に従属する発明であって、前記プログラムが終了した場合に前記プログラム終了時処理手段が実行する前記規定の処理へ引き渡す、前記プログラムが終了する前後における状態は、終了直前における前記放送波の再生速度を含むことを特徴とする。
上記第17の発明によれば、再生速度を変化させたプログラムの終了時において、終了直前における放送波の再生速度を引き渡して既定の処理を実行することが可能となるために、終了直前における放送波の再生速度に応じた処理を実行することが可能となる。
第18の発明は、第15の発明に従属する発明であって、前記プログラムが終了した場合に前記プログラム終了時処理手段が実行する前記規定の処理へ引き渡す、前記プログラムが終了する前後における状態は、終了時における前記放送波の再生位置を含むことを特徴とする。
上記第18の発明によれば、再生速度を変化させたプログラムの終了時において、終了時における放送波の再生位置を引き渡して既定の処理を実行することが可能となるために、終了時における放送波の再生位置に応じた処理を実行することが可能となる。
第19の発明は、放送波を記録するとともに、記録された放送波を再生する録画再生装置であって、記録された放送波の再生速度を変化させるプログラムを特定する情報を保持するプログラム情報保持手段と、任意のプログラムと前記プログラムとが等しいか判別するプログラム判別手段と、前記プログラムが終了した場合に再生する前記放送波を切り換えるプログラム終了時処理手段と、を備えることを特徴とする。
上記第19の発明によれば、任意のプログラムが記録された放送波の再生速度を変化させたプログラムか判別するとともに、その終了時に再生する放送波を切り換えることが可能となるために、すでに終了したプログラムが指示した再生速度による記録された放送波の継続再生を停止するとともに、その代替の放送波の再生を開始することが可能となる。
第20の発明は、第19の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、その再生速度の変化に対応していない場合に終了させられることを特徴とする。
上記第20の発明によれば、記録された放送波の再生速度の変化に対応していないプログラムを終了させることが可能となるため、再生速度の変化時において、プログラムによる予期しない挙動を未然に防止することが可能となる。
第21の発明は、第19の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、その特定の位置を再生した場合に終了させられることを特徴とする。
上記第21の発明によれば、記録された放送波の特定の位置において、プログラムを終了させることが可能となるため、再生速度の変化時において、一定の区間でのみプログラムを実行することが可能となる。
第22の発明は、第19の発明に従属する発明であって、前記プログラムは、前記放送波の再生において、前記プログラムの異常、前記プログラムを動作させるシステムの異常、あるいは、前記プログラムを動作させる資源の不足が発生した場合に終了させられることを特徴とする。
上記第22の発明によれば、なんらかの異常が発生した場合に、プログラムを終了させることが可能となるため、再生速度の変化時において、ソフトウェアおよびハードウェアへの損傷を低減することが可能となる。
第23の発明は、第20、第21、第22のいずれかの発明に従属する発明であって、前記プログラム終了時処理手段は、前記プログラムが終了した場合に再生する前記放送波を現在放送されている放送波へ切り換えることを特徴とする。
上記第23の発明によれば、再生速度を変化させたプログラムの終了時において、再生する放送波を現在放送されている放送波へ切り換えることが可能となるために、ユーザの介在なしに、プログラムの実行が予期されていない区間においては、記録された放送波の再生を停止するとともに、現在放送されている放送波の再生を継続することが可能となる。
本発明における録画再生装置、および、録画再生方法によれば、任意のアプリケーションプログラムの終了時に、そのアプリケーションプログラムが現在再生中のコンテンツの再生速度を変化させたかどうか判別し、その結果に基づいてコンテンツの再生速度を再設定する等、規定の処理を実行する、あるいは、その代替のコンテンツを再生開始する。これにより、コンテンツ再生速度を変化させたプログラムが終了したにもかかわらず、通常速度ではない意図せぬ速度で再生され続けることがなくなる。また、それによって、不適切に再生速度が変化させられたまま、記録されたコンテンツが再生されることがなくなるために、ハードディスク、BD(Blu−ray Disc)、DVD(Digital Versatile Disc)、SD(Secure Digital)メモリカード等に代表される半導体メモリ等に対する高負荷なアクセスを低減し、記録媒体の劣化を低減することが可能となる。
(実施の形態1)
以下に、本発明の第1の実施形態に係る装置および方法を、図面を参照しながら説明する。本発明は、任意の媒体で送受信されるコンテンツの録画および再生を対象としたものであるが、本実施例ではケーブルテレビ放送システムでの実施の形態を例にとって説明する。ケーブルテレビ放送システムでは、本発明の放送録画再生装置(コンテンツ再生装置)は一般的に端末装置と呼ばれる。
以下に、本発明の第1の実施形態に係る装置および方法を、図面を参照しながら説明する。本発明は、任意の媒体で送受信されるコンテンツの録画および再生を対象としたものであるが、本実施例ではケーブルテレビ放送システムでの実施の形態を例にとって説明する。ケーブルテレビ放送システムでは、本発明の放送録画再生装置(コンテンツ再生装置)は一般的に端末装置と呼ばれる。
図1は、放送システムを構成する装置の関係を表したブロック図であり、放送局側システム(ヘッドエンド)101および三個の端末装置A111、端末装置B112、端末装置C113で構成される。放送局側システムと各端末装置間の結合121は、ケーブルシステムでは同軸ケーブルや光ファイバでの有線結合である。図1では、1つの放送局側システムに対して三つの端末装置が結合されているが、端末装置の数は任意である。
放送局側システム101は、複数の端末装置に対して映像・音声・データ放送用データ等の情報を放送信号に含めて送信する。放送信号は放送システムの運用既定や、放送システムが運用される国・地域の法律により定められた周波数帯域内の周波数を利用して伝送される。
本実施例のケーブルシステムでは、放送信号伝送に利用する周波数帯域は、そのデータの内容と伝送方向(上り、下り)ごとに分割して割り当てる。図2は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(略称OOB)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主に放送局側システム101と端末装置A111、端末装置B112、端末装置C113間の上下双方向データのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む下りのみの放送チャンネルに使用される。OOBではQPSK変調方式が、In−BandはQAM64またはQAM256変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。
図3は、OOB周波数帯域のさらに詳細な使用の一例である。70MHz〜74MHzは放送局側システム101からの下りデータ送信に使用され、すべての端末装置A111、端末装置B112、端末装置C113が、放送局側システム101から等しいデータを受け取ることになる。一方、10.0MHz〜10.1MHzは端末装置A111から放送局側システム101への上りデータ送信に使用され、10.1MHz〜10.2MHzは端末装置B112から放送局側システム101への上りデータ送信に使用され、10.2MHz〜10.3MHzは端末装置C113から放送局側システム101への上りデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置A111、端末装置B112、端末装置C113から放送局側システム101に独立して送信することができる。
図4は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもディジタル放送として使用してもよい。ディジタル放送の場合は、MPEG2仕様にもとづいたTSパケット形式で伝送され、音声や映像に加え、各種データ放送用データやEPGを構成するための番組編成情報も送信することができる。
放送局側システム101は、以上に説明した周波数帯域を利用して端末装置に適切な放送信号を送信するため、QPSK変調部やQAM変調部等をもつ。また、端末装置からのデータを受信するため、QPSK復調器をもつ。また、放送局側システム101は、これら変調部および復調部に関連する様々な機器をもつと考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
一方、端末装置A111、端末装置B112、端末装置C113は、放送局側システム101からの放送信号を受信し再生するために、QAM復調部やQPSK復調部を持つ。また、放送局側システム101に対して、各端末装置固有のデータを送信するためにQPSK変調部を持つ。本発明では、端末装置は放送録画再生装置であり、その詳細な構成は後述する。
放送局側システム101は、MPEG2トランスポートストリームを変調して放送信号に含めて伝送する。端末装置は放送信号を受信し、復調してMPEG2トランスポートストリームを再現し、その中から必要な情報を抽出して用いる。端末装置に存在するデバイスの機能と接続の構成を説明するため、まずMPEG2トランスポートストリームの構成を簡単に述べる。
図5はTSパケットの構成を表す図である。TSパケット500は188バイトの長さを持ち、ヘッダ501、アダプテーションフィールド502、ペイロード503からなる。ヘッダ501はTSパケットの制御情報を保持する。4バイトの長さを持ち、504で表される構成をとる。この中に“Packet ID(以下PID)”と記述されるフィールドを持ち、このPIDの値によって、TSパケットの識別を行う。アダプテーションフィールド502は時刻情報等の付加的な情報を保持する。アダプテーションフィールド502の存在は必須ではなく、存在しない場合もある。ペイロード503は映像・音声やデータ放送用データ等、TSパケットが伝送する情報を保持する。
図6はMPEG2トランスポートストリームの模式図である。TSパケットはそのペイロードに映像や音声、データ放送用のデータ等様々な情報を保持する。TSパケット601およびTSパケット603はヘッダにPID100を保持し、ペイロードに映像1に関する情報を保持する。TSパケット602およびTSパケット605はヘッダにPID200を保持し、ペイロードにデータ1に関する情報を保持する。TSパケット604はヘッダにPID300を保持し、ペイロードに音声1に関する情報を保持する。このように様々な種類のデータをペイロードに保持したTSパケットを混合して一連のシーケンスとして送出することを多重と呼ぶ。MPEG2トランスポートストリーム600はTSパケット601〜605を多重した構成の一例である。
同一PIDをもつTSパケットは同一種類の情報を保持する。そのため、端末装置は多重されたTSパケットを受信して、各TSパケットが保持する情報をPIDごとに抽出することで、映像・音声を再現したり、番組編成情報等のデータを再現したりできる。図6においては、TSパケット601およびTSパケット603は共に映像1に関する情報を伝送し、またTSパケット602およびTSパケット605は共にデータ1に関する情報を伝送する。
ここで、ペイロードに内包される各種データの形式について説明する。
映像および音声は、PES(Packetized Elementary Stream)パケットと呼ばれる形式で表現される。PESパケットはある時間帯の映像情報または音声情報を含み、放送録画再生装置は、PESパケットを受信することで、そのPESパケットが内包する映像・音声情報を画面・スピーカに出力することができる。放送局がPESパケットを途切れなく伝送することで、放送録画再生装置は、映像・音声を途切れなく再生し続けることが可能となる。PESパケットは、実際に伝送される際、一つのTSパケットのペイロードよりも大きいサイズをもつ場合は分割されて複数のTSパケットのペイロードに格納される。
映像および音声は、PES(Packetized Elementary Stream)パケットと呼ばれる形式で表現される。PESパケットはある時間帯の映像情報または音声情報を含み、放送録画再生装置は、PESパケットを受信することで、そのPESパケットが内包する映像・音声情報を画面・スピーカに出力することができる。放送局がPESパケットを途切れなく伝送することで、放送録画再生装置は、映像・音声を途切れなく再生し続けることが可能となる。PESパケットは、実際に伝送される際、一つのTSパケットのペイロードよりも大きいサイズをもつ場合は分割されて複数のTSパケットのペイロードに格納される。
図7はPESパケットを伝送する際の分割例を表す。PESパケット701は一つのTSパケット内のペイロードに格納して伝送するには大きいため、PESパケット分割A702a、PESパケット分割B702b、PESパケット分割C702cに分割され、同一PIDをもつ三つのTSパケット703〜705によって伝送される。実際には、映像や音声は、複数のPESパケットのペイロードに含まれるデータを結合して得られるエレメンタリストリーム(ES)として得られる。このエレメンタリストリームは、MPEG2 Video規格やMPEG1、2 Audio規格で定義されるディジタル化映像、音声の形式になっている。
一方、番組編成情報やデータ放送用のデータ等の情報はMPEG2セクションと呼ばれる形式を用いて表現される。MPEG2セクションは実際に伝送される際、一つのTSパケットのペイロードよりも大きいサイズをもつ場合は分割されて複数のTSパケットのペイロードに格納される。図8はMPEG2セクションを伝送する際の分割例を表す。MPEG2セクション801は一つのTSパケット内のペイロードに格納して伝送するには大きいため、セクション分割A802a、セクション分割B802b、セクション分割C802cに分割され、同一PIDをもつ三つのTSパケット803〜805によって伝送される。
図9はMPEG2セクションの構造を表現する。MPEG2セクション900はヘッダ901およびペイロード902から構成される。ヘッダ901はMPEG2セクションの制御情報を保持する。その構成はヘッダ構成903によって表現される。ペイロード902はMPEG2セクション900が伝送するデータを保持する。ヘッダ構成903に存在するtable_idはMPEG2セクションの種類を表現し、さらにtable_id_extensionはtable_idが等しいMPEG2セクション同士を区別する際に用いられる拡張識別子である。MPEG2セクションの使用例として、図10に番組編成情報を伝送する場合を挙げる。この例では、行1004に記載されるように、放送信号の復調に必要な情報はヘッダ構成903内のtable_idが64であるMPEG2セクションに記載され、さらにそのMPEG2セクションはPIDに16が付与されたTSパケットによって伝送される。
MPEG2セクションの場合、PES形式は存在しない。そのため、MPEG2トランスポートストリームの中の同一PIDによって識別されるTSパケットのペイロードを結合したものをエレメンタリーストリーム(ES)とする。例えば、図8において、MPEG2セクション801を分割して伝送しているTSパケット803〜805はすべてPIDが200で識別される。これはMPEG2セクション801を伝送するESである、と言うことができる。
MPEG2トランスポートストリーム内にはさらにプログラムという概念が存在する。プログラムはESの集合として表現され、複数のESをまとめて扱いたい場合に利用される。プログラムを利用すると、映像・音声や、それに付随するデータ放送用データ等を一まとめに扱うことが可能となる。例えば、同時に再生したい映像・音声をまとめて扱う場合、映像ESと、音声ESをプログラムとしてまとめることで、放送録画再生装置はこれら二つのESを1つの番組として同時に再生すべきであることがわかる。
プログラムを表現するために、MPEG2ではPMT(Program Map Table)およびPAT(Program Association Table)と呼ばれる二つのテーブルが利用される。詳細な説明はISO/IEC13818−1、“MPEG2 Systems”仕様を参照されたい。以下ではPMTおよびPATに関して簡単に説明する。
PMTはMPEG2トランスポートストリーム中に、プログラムの数だけ含まれるテーブルである。PMTはMPEG2セクションとして構成され、table_idは2である。PMTにはプログラムの識別に用いられるプログラムナンバーとプログラムの付加情報、さらにプログラムに属するESに関する情報を保持する。PMTの例を図11に挙げる。1100はプログラムナンバーである。プログラムナンバーは同一トランスポートストリーム内でプログラムに一意に割り当てられ、PMTの識別に用いられる。行1111〜1115は個々のESに関する情報を表現する。列1101はESのタイプであり、“映像”、“音声”、“データ”等が指定される。列1102はESを構成するTSパケットのPIDである。列1103はESに関する付加情報である。例えば、行1111に表されるESは、音声ESであり、PIDが5011であるTSパケットによって伝送される。
PATはMPEG2トランスポートストリームに一つだけ存在するテーブルである。PATはMPEG2セクションとして構成され、table_idは0であり、PIDが0であるTSパケットによって伝送される。PATには、MPEG2トランスポートストリームの識別に用いられるtransport_stream_idと、MPEG2トランスポートストリーム内に存在するプログラムを表現するすべてのPMTに関する情報を保持する。PATの例を図12に挙げる。1200はtransport_stream_idである。transport_stream_idはMPEG2トランスポートストリームの識別に用いられる。行1211〜1213はプログラムに関する情報を表現する。列1201はプログラムナンバーである。列1202はプログラムに対応するPMTを伝送するTSパケットのPIDである。例えば、行1211に表されるプログラムのPMTは、プログラムナンバーが101であり、対応するPMTはPIDが501であるTSパケットによって伝送される。
端末装置があるプログラムを再生する場合は、PATおよびPMTを用いてプログラムを構成する映像・音声を特定し、それらを再生する。例えば、図12のPATおよび図11のPMTを伝送するMPEG2トランスポートストリームに関して、プログラムナンバーが101であるプログラムに属する映像・音声の再生を行う場合は以下のような手順をとる。まずPIDが“0”であるTSパケットより、table_idが“0”のMPEG2セクションとして伝送されるPATを取得する。PATよりプログラムナンバーが“101”であるプログラムを探索し、行1211を得る。行1211より、プログラムナンバーが“101”であるプログラムのPMTを伝送するTSパケットのPID“501”を得る。次いでPIDが“501”であるTSパケットより、table_idが“2”のMPEG2セクションとして伝送されるPMTを取得する。PMTより、音声のES情報である行1111および映像のES情報である行1112を得る。行1111より、音声ESを伝送するTSパケットのPID“5011”を得る。また行1112より、映像ESを伝送するTSパケットのPID“5012”を得る。次いでPID“5011”のTSパケットより音声用PESパケットを、PID“5012”のTSパケットより映像用PESパケットを取得する。これにより、再生対象となる映像・音声のESパケットを取得することが可能となり、プログラムナンバー101を構成する映像と音声を再生することができる。
なお、MPEG2トランスポートストリームは暗号化されている場合がある。これは限定視聴とも呼ばれる仕組みである。例えば、ある映像・音声情報を伝送するPESパケットに対して暗号化処理を行うことで、その暗号を解読できる特定視聴者のみが視聴できるようになる。暗号を解読して映像や音声を視聴するために、視聴者はデスクランブラと呼ばれるデバイスを用いて暗号解除を行う。例えば、OCAP対応の端末装置は、デスクランブラを内蔵したカード型のアダプタを利用する。ケーブルテレビのオペレータは、視聴者ごとに特定のプログラムを解読できるように設定したアダプタを配布し、視聴者はそのアダプタを端末装置に挿入する。すると、アダプタは、暗号解除鍵等の暗号解除情報や各契約者の契約情報を元に、特定のプログラムに関して暗号を解除する。暗号解除の方式や、暗号解除鍵の入手方法はアダプタ依存であり、本発明の実現には影響しない。
ここまでMPEG2仕様に関する簡単な説明を行ったが、ここで、単語の詳細な定義を行う。本発明に関して、「プログラム」という単語が二種類存在する。一つはMPEG2仕様に登場する「プログラム」であり、もう一つはCPUが実行するコードの集合という意味での「プログラム」である。前者に関しては、運用規定で用いられる「サービス」という単語と同義であるため、混乱を避けるため、以降、前者を「サービス」と呼び、後者を単に「プログラム」とよぶ。さらに後者に関して、特にJava言語で記述された「プログラム」を「Javaプログラム」とよぶ。
以上、本発明に関わる、MPEG2仕様にて決定されるいくつかの一般的な情報に関して説明を行った。以降、本実施の形態で用いる放送録画再生端末に関して詳細に説明する。
図13は、本実施例の放送録画再生装置の一般的なハードウェア構成を表すブロック図であり、すなわち図1における端末装置111、112、113の具体的な内部構成である。1300は放送録画再生装置であり、チューナ1301、TSデコーダ(TS Demultiplexer)1302、AVデコーダ1303、スピーカ1304、ディスプレイ1305、CPU1306、2次記憶部1307、1次記憶部1308、ROM1309、入力部1310、アダプタ1311、AVエンコーダ1312、多重器(MPEG2 Transport Stream Multiplexer等)1313で構成される。なお本実施例は、OCAP−DVR仕様で実現される放送録画再生端末を拡張して得られるものであり、基本的なハードウェア構成はOCAP−DVR仕様で要求されるものとほぼ同じである。
チューナ1301は、CPU1306が指定する周波数などのチューニング情報に従って、放送局側システム101から伝送される変調された放送信号を復調するデバイスである。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。チューナ1301が復調した結果得られるMPEG2トランスポートストリームは、暗号解除機能をもつアダプタ1311を経て、TSデコーダ1302に送信される。
TSデコーダ1302は、CPU1306が指定するPID、セクションフィルタ条件等の指定にもとづいてMPEG2トランスポートストリームから指定条件に合致するPESパケットやMPEG2セクションを選別する機能をもつデバイスである。放送を受信してサービスを録画せずに再生する場合は、アダプタ1311が出力するMPEG2トランスポートストリームがTSデコーダ1302に入力される。一方、2次記憶部1307に録画されているサービスを再生する場合は、2次記憶部1307が出力するMPEG2トランスポートストリームがTSデコーダ1302に入力される。いずれの入力を受けるかは、CPU1306によって制御される。
TSデコーダ1302が選別した映像および音声のPESパケットは、AVデコーダ1303に出力される。また、TSデコーダ1302が選別したMPEG2セクションは、1次記憶部1308にDMA(Direct Memory Access)転送され、CPU1306が実行するプログラムによって利用される。
AVデコーダ1303はエンコードされた映像ESおよび音声ESをデコードする機能をもつデバイスである。AVデコーダはTSデコーダから転送される音声および映像情報を伝送するPESパケットからESを取り出してデコードする。AVデコーダ1303がデコードして得られたaudio信号およびvideo信号は、サービスの再生時にはスピーカ1304、ディスプレイ1305に出力されるが、一方、サービスの録画時にはAVエンコーダ1312へ出力される。いずれの出力経路を取るかは、ユーザの指示に従ってCPU1306によって制御される。
スピーカ1304は、AVデコーダ1303から出力された音声を再生する。
ディスプレイ1305は、AVデコーダ1303から出力された映像を再生する。
ディスプレイ1305は、AVデコーダ1303から出力された映像を再生する。
CPU1306は放送録画再生装置上で動作するプログラムを実行する。CPU1306は、ROM1309に内蔵されるプログラムを実行する。あるいは、放送信号やネットワークよりダウンロードされ1次記憶部1308に保持されているプログラムも実行する。あるいは、放送信号やネットワークよりダウンロードされ2次記憶部1307に保存されているプログラムも実行する。そして実行するプログラムの指示に従い、チューナ1301、TSデコーダ1302、AVデコーダ1303、スピーカ1304、ディスプレイ1305、2次記憶部1307、1次記憶部1308、ROM1309、入力部1310、アダプタ1311、AVエンコーダ1312、多重器1313を制御する。また、CPU1306は端末装置1300内に存在するデバイスだけでなく、アダプタ1311内のデバイスと通信し、アダプタ1311を制御することが可能である。
2次記憶部1307は機器の電源が遮断されても記憶が消去されない記憶装置である。例えばFLASH−ROM等の不揮発性メモリ、HDD(Hard Disk Drive)、CD−RやDVD−R等の書き換え可能のメディア等、端末装置1300の電源断の際にも情報が消去されない機器によって構成され、CPU1306の指示により情報の保存を行う。
1次記憶部1308は、CPU1306やDMA転送可能なデバイスの指示に従って情報を一時的に保存する機能をもつデバイスであり、RAM等によって構成される。
ROM1309は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVD等で構成される。ROM1309には、CPU1306が実行するプログラムが格納されている。
入力部1310は、具体的には、フロントパネルやリモコン受信機で構成され、ユーザからの入力を受け付ける。図14は、フロントパネルで入力部1310を構成した場合の一例である。フロントパネル1400は七つのボタン、上カーソルボタン1401、下カーソルボタン1402、左カーソルボタン1403、右カーソルボタン1404、OKボタン1405、取消ボタン1406、EPGボタン1407、モード切換ボタン1408を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、CPU1306に通知される。
アダプタ1311は、In−band周波数帯で伝送されるMPEG2トランスポートストリームにかけられた暗号を解除する装置で、1つ以上のデスクランブラを搭載する。アダプタ1311にはチューナ1301aが出力するMPEG2トランスポートストリームが入力され、CPU1306が指定したPIDをもつTSパケットに対して暗号解除を行う。アダプタ1311は、暗号を解除したMPEG2トランスポートストリームをTSデコーダ1302に出力する。
さらに、アダプタ1311は、OOB周波数帯で伝送されるデータの形式変換も行う。OOBで伝送される情報はQPSK変調方式で変調される。下り方向の伝送に関しては、QPSK復調器1301bは放送局側システム101から送信されてくる下りの信号を復調し、生成されたビットストリームをアダプタ1311に入力する。アダプタ1311はビットストリームが含む様々な情報の中から、CPU1306が指定する情報を抽出して、CPU1306上で動作するプログラムが解釈可能な形式に変換して、CPU1306に提供する。一方、上り方向の伝送に関しては、CPU1306が、放送局側システム101に対して送信したい情報を、アダプタ1311に入力する。アダプタ1311は、CPU1306から入力された情報を放送局側システム101が解釈可能な形式に変換し、QPSK変調器1301cに入力する。QPSK変調器1301cはアダプタ1311から入力された情報をQPSK変調し、放送局側システム101に送信する。
アダプタ1311の具体例としては、米国ケーブルシステムで利用されるCableCARD、旧名POD(Point Of Deployment)が挙げられる。
AVエンコーダ1312は、AVデコーダ1303によってデコードされたaudio信号をMPEG audio形式の音声にエンコードし、video信号をMPEG video形式の映像にエンコードする。AVエンコーダ1312がエンコードした映像および音声は、多重器1313へ出力される。
多重器1313は、AVエンコーダ1312から入力された映像および音声を、MPEG2トランスポートストリームへ多重化する機能をもつデバイスである。
以上説明した放送録画再生装置が、放送波に含まれるサービスを2次記憶部1307に記録する動作と、2次記憶部1307から逐次読み出してサービスを再生する動作について、以下に詳細に説明する。
まず、放送波に含まれるサービスを2次記憶部1307に記録する動作について述べる。
図15に、サービスの記録時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。1500は端末装置であり、チューナ1301、アダプタ1311、デスクランブラ1501、TSデコーダ1302、PIDフィルタ1502、セクションフィルタ1503、AVデコーダ1303、1次記憶部1308、AVエンコーダ1312、多重器1313、および、記録領域1504をもつ。図15の構成要素のうち、図13の構成要素と同一符号を持つものは、それらと同等の機能をもつため、説明を省略する。
まずCPU1306が指定したチューニング情報に従って、チューナ1301が放送波をチューニングする。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。チューナ1301は、放送波を復調し、アダプタ1311にMPEG2トランスポートストリームを入力する。
アダプタ1311内にあるデスクランブラ1501は、視聴者ごとの限定解除情報に基づいて、MPEG2トランスポートストリームの暗号解除を行う。暗号解除されたMPEG2トランスポートストリームは、TSデコーダに入力される。
TSデコーダ1302内にはMPEG2トランスポートストリームに対して処理を行う2種類のデバイス、PIDフィルタ1502、セクションフィルタ1503が存在する。
PIDフィルタ1502は、入力されたMPEG2トランスポートストリームから、CPU1306が指定したPIDをもつTSパケットを抽出し、さらにそのペイロードに存在するPESパケットやMPEG2セクションを抽出する。例えば、CPU1306がPID=100のTSパケットを抽出するPIDフィルタリングを指示した場合に図6のMPEG2トランスポートストリームが入力されたとすると、パケット601および603が抽出されて更に連結され、映像1のPESパケットが再構成される。あるいは、CPU1306がPID=200のTSパケットを抽出するPIDフィルタリングを指示した場合に図6のMPEG2トランスポートストリームが入力されたとすると、パケット602および605が抽出されて更に連結され、データ1のMPEG2セクションが再構成される。
セクションフィルタ1503は、入力されたMPEG2セクションの中から、CPU1306が指定するセクションフィルタ条件に合致するMPEG2セクションを抽出し、1次記憶部1308にDMA転送する。例えば、CPU1306はPID=200のTSパケットを抽出するPIDフィルタリングとtable_idが64であるセクションを抽出するセクションフィルタリングをセクションフィルタ1503に対して指定したとする。先に述べたように、データ1のMPEG2セクションが再構成された後、セクションフィルタ1503はそのMPEG2セクションの中からtable_idが64であるセクションのみを抽出し、1次記憶部1308にDMA転送する。
1次記憶部1308に入力されたMPEG2セクションは、多重器1313に入力される。
TSデコーダ1302によって抽出された映像PESパケットと音声PESパケットは、AVデコーダ1303に入力される。
AVデコーダは、映像PESパケットをデコードして映像に変換し、AVエンコーダ1312に入力する。また音声PESパケットをデコードして音声に変換し、AVエンコーダ1312に入力する。
AVエンコーダ1312は、映像をMPEG videoに変換し、多重器1313に入力する。また音声をMPEG audioに変換し、多重器1313に入力する。
多重器1313は、AVエンコーダから入力されたMPEG videoとMPEG audioと、1次記憶1308から入力されたMPEG2セクションを多重してMPEG2トランスポートストリームを生成する。生成されたMPEG2トランスポートストリームは、記録領域1504に記録される。
記録領域1504は2次記憶部1307の全体または一部、あるいは、その他の記録領域で構成され、サービスを構成するMPEG2トランスポートストリームを記憶する。
次いで、2次記憶部1307から逐次読み出してサービスを再生する動作について述べる。
図16に、サービスの再生時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。1600は端末装置であり、記録領域1504、TSデコーダ1302、PIDフィルタ1502、セクションフィルタ1503、AVデコーダ1303、スピーカ1304、ディスプレイ1305、および、1次記憶部1308をもつ。図16の構成要素のうち、図13の構成要素と同一符号を持つものは、それらと同等の機能をもつため、説明を省略する。
図15で説明した手順で記録領域1504に記録されたMPEG2トランスポートストリームが、TSデコーダ1302に入力される。
次いで、TSデコーダ1302内のPIDフィルタ1502によって、CPU1306が指定したPIDを持つ映像PESおよび音声PESが抽出される。抽出されたPESパケットはAVデコーダ1303に入力される。あるいは、TSデコーダ1302内のPIDフィルタ1502とセクションフィルタ1503によって、CPU1306が指定したPIDとtable_idを持つMPEG2セクションが抽出される。抽出されたMPEG2セクションは1次記憶部1308にDMA転送される。
AVデコーダ1303に入力された映像PESと音声PESは、デコードされてaudio信号およびvideo信号が出力される。その後、audio信号およびvideo信号はディスプレイ1305およびスピーカ1304に入力され、映像および音声が再生される。
1次記憶部1308に入力されたMPEG2セクションは、適宜CPU1306に入力される。
ここまでは、本発明に関するハードウェアの構成例に関して述べたが、以降、本発明の主要機能である、Javaプログラムによるサービスの記録制御と特殊再生制御に関して説明する。
本発明におけるサービスの記録とは、サービスに含まれる映像、音声、Javaプログラム、Javaプログラムの同期情報等をハードディスク、BD(Blu−ray Disc)、DVD(Digital Versatile Disc)、SD(Secure Digital)メモリカードといった記録媒体に記録することである。サービスの再生とは、記録媒体に記録された映像、音声、Javaプログラムを同期情報に基づいて再生および実行することである。記録済みサービスの再生結果は、放送波を受信して直接サービスを再生した結果とほぼ等価であることが要求される。
図17は、サービスの記録と再生に必要とされるプログラムの構成図であり、ROM1309に記憶されているソフトウェアである。
プログラム1700は、サブプログラムであるOS1701、EPG1702、JavaVM1703、Javaライブラリ1704で構成される。
OS1701は、オペレーティングシステム(Operating System)であり、Linux、Windows(登録商標)等が一例である。OS1701は、他のサブプログラム、例えばEPG1702とJavaVM1703を実行するためのカーネル1701aと、サブプログラムが端末装置1300の構成要素を制御するために利用するライブラリ1701bで構成される。カーネル1701aは公知技術であり、詳細な説明は省略する。
ライブラリ1701bは、例えばチューナを制御するチューニング機能を提供する。ライブラリ1701bは、他のサブプログラムから周波数や変調方式などが特定可能なチューニング情報を受け取り、それをチューナ1301に引き渡す。チューナ1301は与えられたチューニング情報にもとづき復調処理を行い、復調したMPEG2トランスポートストリームをTSデコーダ1302に引き渡すことができる。この結果、他のサブプログラムはライブラリ1701bを通してチューナ1301を制御することができる。
また、ライブラリ1701bは、チャンネルを一意に識別するためのチャンネル情報を提供する。チャンネル情報の一例を図20に示す。チャンネル情報はOOBあるいはIn−band周波数帯を利用して送信され、アダプタ1311で表形式に変換され、ライブラリがアクセス可能な一時記憶部に格納される。列2001は、チャンネル識別子で、例えば、SCTE 65 Service Information Delivered Out−Of−Band For Digital Cable Televisionで定義されるsource_IDが相当する。列2002は、チャンネル名であり、同SCTE 65規格ではsource_nameなどに相当する。列2003はチューニング情報であり、周波数や転送レート、変調方式が特定可能な情報であって、チューナ1301に与える情報である。列2004はPMTを指定するためのプログラムナンバーである。例えば、行2011はチャンネル識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「150MHz,....」、プログラムナンバーが「101」であるサービス情報の組となっている。
JavaVM1703は、Java(TM)言語で記述されたプログラムを逐次解析し実行するJavaバーチャルマシンである。Java言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Javaバーチャルマシンは、このバイトコードを実行するインタープリタである。JavaVM1703は、Java言語で記述されたJavaライブラリ1704を実行する。Java言語やJavaVMの詳細は、書籍「Java Language Specification(ISBN 0−201−63451−1)」や「Java Virtual Machine Specification(ISBN 0−201−63451―X)」等を参照のこと。また、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しては、書籍「Java Native Interface」等を参照のこと。
Javaライブラリ1704は、Javaプログラムが放送録画再生装置の機能を制御するために呼び出すJava言語で記述されたライブラリである。ただし、必要に応じて、OS1701のライブラリ1701bなど非Java言語で記述されたサブプログラムを利用することもある。Javaプログラムは、Javaライブラリ1704が持つJava API(アプリケーションプログラミングインタフェース)を呼び出すことで、Javaライブラリ1704が提供する機能を利用できる。
Tuner1704cは、放送録画再生端末のIn−band受信用チューナ1301aを制御するためのJavaライブラリである。JavaプログラムがTuner1704cにチューニング情報を渡すと、Tuner1704cはそれを用いてライブラリ1701bのチューナ機能を呼び出し、結果、放送録画再生端末のIn−band受信用チューナ1301aの動作を制御できる。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。
SF1704eは、放送録画再生端末のPIDフィルタ1502およびセクションフィルタ1503機能を制御するためのJavaライブラリである。JavaプログラムがSF1704eにPIDやtable_idなどのフィルタ条件を渡すと、SF1704eはその条件を元にライブラリ1701bの機能などを用いてPIDフィルタ1502およびセクションフィルタ1503を制御し、所望のフィルタ条件に叶うMPEG2セクションを取得して、フィルタ条件を設定したJavaプログラムに渡す。
DSM−CC1704dは、DSM−CCオブジェクトカルーセルのファイルシステムにアクセスするためのJavaライブラリである。DSM−CCオブジェクトカルーセルは、SF1704eによって取得されるMPEG2セクションを内包している。DSM−CCは、ISO/IEC13818−6規格で定義されており、MPEG2セクションを利用して任意のファイルを伝送するための仕組みである。これを利用することで、放送局から端末にファイルを伝送することができる。DSM−CCの詳細な実現方法は本発明とは関係ないため、説明を省略する。
AM1704bは、サービスに含まれるJavaアプリケーションの実行や終了を管理する機能を提供するアプリケーションマネージャである。AM1704bは指定されたMPEG2トランスポートストリームの指定されたチャンネルに多重されたJavaプログラムを抽出し、その抽出したJavaプログラムを別途多重された同期情報に従って実行したり、あるいは終了させたりする。JavaプログラムのJavaクラスファイルは、前述のDSM―CC方式でMPEG2トランスポートストリームに多重されている。また、Javaプログラムの同期情報はAITと呼ばれる形式で、MPEG2トランスポートストリームに多重されている。AITは、DVB−MHP規格(ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている、Application Information Tableの略であり、table_idが「0x74」であるMPEG2セクションである。
AM1704bの内部構成を図46に示す。AM1704bは、AIT監視部3502と、アプリケーション状態管理部3503で構成される。
AIT監視部3502は、MPEG2トランスポートストリームとチャンネル識別子を入力として、AITの更新状況を監視する。まず、AM1704bは、指定されたチャンネル識別子をキーとしてライブラリ1701bのチャンネル情報を検索し、プログラムナンバーを得る。次にSF1704eなどを利用して、MPEG2トランスポートストリームからPATを取得する。さらにPMTの情報から、先ほど得られたプログラムナンバーに対応するPMTのPIDが得られる。再度SF1704eを利用して、実際のPMTを取得する。取得されたPMTは図11の形式をしており、ストリーム種別が「データ」で補足情報として「AIT」をもつエレメンタリーストリームのPIDが書かれている。更にSF1704eに、フィルタリング条件として今得られたAITのPIDとtable_id「0x74」を与えると、AITの実体が得られる。
図22は、AITの情報の一例を模式的に表した表である。AITバージョン2200は、そのAITのバージョンを表現する。AITバージョンが大きいほど、そのAITはより新しいAITである。等しいAITバージョンをもつAITは繰り返し受信されるが、AM1704bはすでに解析したAITと等しいAITバージョンをもつAITは解析せず、すでに解析したAITよりも新しいAITのみを解析して、それに対応した処理をする。列2201はJavaプログラムの識別子である。列2202はJavaプログラムの制御情報である。制御情報には「autostart」「present」「kill」等があり、「autostart」は即時に端末装置1300がこのJavaプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はJavaプログラムを停止することを意味する。列2203は、DSM−CC方式でJavaプログラムを含んでいるPIDを抽出するためのDSM−CC識別子である。列2204はJavaプログラムのプログラム名である。
行2211、行2212、行2213、行2214は、Javaプログラムの情報の組である。行2211で定義されるJavaプログラムは、Javaプログラムの識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。同様に、行2212で定義されるJavaプログラムは、Javaプログラムの識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで、行2211、行2212、行2214で定義される3つのJavaプログラムは同一のDSMCC識別子をもつが、これは1つのDSMCC方式でエンコードされたファイルシステム内に3つのJavaプログラムが含まれていることを表す。ここでは、Javaプログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
アプリケーション状態管理部3503は更新されたAITの内容を解析し、Javaプログラムの実行状態を管理する。アプリケーション状態管理部3503は、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子およびJavaプログラム名を抽出する。図22を参照して、AM1704bは行2211のJavaプログラムを抽出し、DSMCC識別子「1」およびJavaプログラム名「a/TopXlet」を取得する。次いでAM1704bは、AITから取得したDSMCC識別子を用いて、JavaプログラムをDSMCC方式で格納しているTSパケットのPIDをPMTから取得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリストリームのPIDを取得する。ここで、DSMCC識別子が「1」であり、PMTが図11とすると、行1114のエレメンタリストリームが合致し、PID「5014」を取り出す。
AM1704bは、SF1704eに、DSMCC方式でデータが埋めこまれたMPEG2セクションを伝送するTSパケットのPIDおよびセクションフィルタ条件を指定する。ここでは、PID「5014」を与える。この結果、AM1704bは、必要なDSMCC用MPEG2セクションを収集することができる。AM1704bは、収集したMPEG2セクションから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部1308に保存する。MPEG2トランスポートストリーム中のTSパケットからファイルシステム等のデータを取り出し1次記憶部1308、2次記憶部1307等の記憶手段に保存することを以降、ダウンロードとよぶ。
図23は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、2301はルートディレクトリ、2302はディレクトリ「a」、2303はディレクトリ「b」、2304はファイル「TopXlet.class」、2305はファイル「GameXlet.class」、2306はディレクトリ「z」、2307はファイル「MusicXlet.class」、2308はファイル「StudyXlet.class」である。
次いでAM1704bは、1次記憶部1308にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1703に引き渡す。ここで、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図23を参照して、ファイル2304が実行すべきJavaプログラムである。次いでAM1704bは、ファイル2304をJavaVM1703に引き渡すと、そのファイルはJavaプログラムとしてJava VM上で実行される。
AM1704bは、新しいAITバージョンを持つAITが来る度にそのAITを解析してJavaプログラムの実行状態を変更させる。ここで、制御情報に「kill」が指定されていた場合は、Javaプログラムを終了させると共に、特殊再生指示プログラム判別部2702に終了したJavaプログラムのJavaプログラム識別子を通知する。
JMF1704aは、サービスに含まれる映像と音声の再生制御を担う。具体的には、指定されたMPEG2トランスポートストリームの指定されたチャンネルに多重された映像ESと音声ESをAVデコーダに入力して再生させる。受信した放送波から直接サービスを再生する場合は、アダプタ1311から出力されるMPEG2トランスポートストリームを再生するように指定される。一方、2次記憶部1307に一旦記録されたサービスを再生する場合は、2次記憶部1307内の記録領域1504から出力されるMPEG2トランスポートストリームを再生するように指定される。
まず、JMF1704aは、指定されたチャンネル識別子をキーとしてライブラリ1701bのチャンネル情報を検索し、プログラムナンバーを得る。次にSF1704eなどを利用して、MPEG2トランスポートストリームからPATを取得する。さらにPMTの情報から、先ほど得られたプログラムナンバーに対応するPMTのPIDが得られる。再度SF1704eを利用して、実際のPMTを取得する。取得されたPMTは図11の形式をしており、ストリーム種別が「映像」および「音声」であるエレメンタリストリームのPIDが書かれている。JMF1704aが、それらのPIDをTSデコーダ1302のPIDフィルタ1502に設定すると、図15あるいは図16に示されたごとく、該当PIDで多重されている映像ESと音声ESがAVデコーダ1303経由で再生される。
ここで、特にJMF1704aが2次記憶部に記録済みのMPEG2トランスポートストリームを入力とする場合は、JMF1704aは2次記憶部1307の記憶領域1607からのMPEG2トランスポートストリームの読み出し速度や読み出し位置を変化させることで、映像や音声の再生速度を変化させることができる。これにより早送りやスキップといった特殊再生が可能となる。例えば、通常速度の2倍の速度でMPEG2トランスポートストリームを読み出すようにすれば、映像や音声も2倍の速度で再生される。また、MPEG2トランスポートストリームの読み出し位置を特定間隔だけ飛ばして読み出せば、映像や音声はスキップ再生される。JMF1704aは、ライブラリ1701bの機能を利用することで、2次記憶部1307を制御し、MPEG2トランスポートストリームの読み出し速度や読み出し位置を変化させる。これらの特殊再生を高水準で滑らかに行う方法については本発明の範囲外であるため、説明を省略する。
Javaプログラムが特殊再生を指示するために、JMF1704aは、例えばsetRate(float factor)というAPIをJavaプログラムに提供している。パラメータfactorに1.0を指定すると通常速度の再生になり、2.0を指定すると2倍の速度での特殊再生となる。またJMF1704aは、JavaプログラムがAPIを通じて特殊再生を指示した場合、そのJavaプログラムを特定するJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知する。
レコーディングマネージャ1704hは、チャンネル識別子と開始時刻、終了時刻を入力として、当該サービスを指定された開始時刻と終了時刻の間だけ2次記憶部1307に記録する。例えば、EPG1702からチャンネル識別子と開始時刻、終了時刻を指定されると、開始時間になるまで待機する。その後、開始時間に至ると、指定サービスの記録を開始し、終了時間に至ると記録を終了する。以下にその詳細を記述する。
記録開始時間に至ると、最初に、レコーディングマネージャ1704hは、2次記憶部1307に指定された開始時刻から終了時刻までのMPEG2トランスポートストリームを記録するための記録領域1504を2次記憶部1307内に確保する。確保した記録領域には、メディア識別子を与える。次にチャンネル識別子をキーとして、ライブラリ1701bが保有するチャンネル情報から当該チャンネル識別子に相当するチューニング情報を得る。その後、Tuner1704cにチューニング情報を与えると、Tuner1704cはチューニングを開始する。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。すると図15に示されるように、アダプタ1311経由でMPEG2トランスポートストリームがTSデコーダに入力される。
一方、レコーディングマネージャ1704hは、SF1704eを利用して、チューニングで得られたMPEG2トランスポートストリームからPATを取得する。さらに、指定されたチャンネル識別子に対応するプログラムナンバーをライブラリ1701bから検索し、得られたプログラムナンバーに対応するPMTのPIDをPATから検索する。その後、SF1704eを利用して、実際のPMTを取得し、指定されたチャンネルを構成するESの全PIDを得る。レコーディングマネージャ1704hは、得られたPIDをTSデコーダのPIDフィルタ1502に設定する。さらに、放送波に含まれるサービスを2次記憶部1307に記録する動作に従うように、ライブラリ1701bを通じて各ハードウェア構成要素の出力先を設定する。すると、図15で説明した流れに沿って、所望のチャンネルを構成する全ESが、先ほど領域確保した記録領域1504に記録される。
その後、指定された終了時刻に至ると、レコーディングマネージャ1704hはTuner1704cのチューニング動作を停止させ、記録領域1504へのMPEG2トランスポートストリームの書き込みを終了させる。また、先ほど記録したMPEG2トランスポートストリームの管理情報として、図21に示すレコード情報管理テーブルを作成する。
図21は2次記憶部1307等の記録領域1504に記録されているレコード情報を管理するためのレコード情報管理テーブルの一例である。レコード情報は表形式で記録されている。列2101は、レコード識別子である。列2102は、チャンネル識別子である。列2103はプログラムナンバーである。列2104はサービスの録画開始時間、列2105はサービスの録画終了時間である。そして、列2106はサービスとして記録されたMPEG2トランスポートストリームを識別するメディア識別子である。行2111〜2112の各行は、各レコード識別子、チャンネル識別子、プログラムナンバー、開始時間、終了時間、および、メディア識別子の組となる。例えば、行2111はレコード識別子が「000」、チャンネル識別子が「2」、プログラムナンバーが「102」、開始時間が「2005/03/30 11:00」、終了時間が「2005/03/30 12:00」、および、メディア識別子が「TS_001」であることを示す。
サービスマネージャ1704fは、2次記憶部1307に記録済みのMPEG2トランスポートストリーム中のサービス、あるいはアダプタ1311から入力されるMPEG2トランスポートストリーム中のサービスの再生を管理する。
以下に、2次記憶部1307に記録済みのMPEG2トランスポートストリーム中のサービスの再生を管理する場合の動作について述べる。これは録画済みサービスの再生に相当する。この場合、サービスマネージャ1704fは、レコード識別子を入力とする。そのレコード識別子で特定される、2次記憶部1307に記録済みのサービスが、再生対象である。
サービスマネージャ1704fは、まず、レコーディングマネージャ1704hが作成したレコード情報管理テーブルを参照して、指定されたレコード識別子で再生されるべきチャンネル識別子と、メディア識別子を得る。そして、2次記憶部1307に対して、今得られたメディア識別子で特定されるMPEG2トランスポートストリームをTSデコーダ1302に出力するように、ライブラリ1701bを通して指示する。また、ライブラリ1701bを通して各ハードウェア構成要素の出力先を図16に示す経路で流れるように設定する。その後、JMF1704aにMPEG2トランスポートストリームの所在として2次記憶部1307を与え、また再生すべきチャンネル識別子を与える。すると、JMF1704aは、既に述べた動作によって、2次記憶部1307から出力されるMPEG2トランスポートストリームに多重された映像と音声の再生を開始する。更に、AM1704bにもMPEG2トランスポートストリームの所在として2次記憶部1307を与え、また再生すべきチャンネル識別子を与える。すると、AM1704bは2次記憶部1307から出力されるMPEG2トランスポートストリームに多重されたAITに従って、2次記憶部1307から出力されるMPEG2トランスポートストリームに多重されたJavaプログラムの実行および終了を開始する。その後、2次記憶部1307から出力されるMPEG2トランスポートストリームの終端まで、上述のサービスの再生を継続する。
一方、以下に、アダプタ1311から入力されるMPEG2トランスポートストリーム中のサービスの再生を管理する場合を説明する。これは、放送波から直接サービスを再生することに相当する。この場合、サービスマネージャ1704fは、再生対象サービスのチャンネル識別子を入力とする。
サービスマネージャ1704fは、図15のアダプタ1311から出力されるMPEG2トランスポートストリームをTSデコーダ1302に出力するように、ライブラリ1701bを通して指示する。また、ライブラリ1701bを通して各ハードウェア構成要素の出力先を図16に示す経路で流れるように設定する。その後、JMF1704aにMPEG2トランスポートストリームの所在としてアダプタ1311を与え、また再生すべきチャンネル識別子を与える。すると、JMF1704aは、既に述べた動作によって、アダプタ1311から出力されるMPEG2トランスポートストリームに多重された映像と音声の再生を開始する。更に、AM1704bにもMPEG2トランスポートストリームの所在としてアダプタ1311を与え、また再生すべきチャンネル識別子を与える。すると、AM1704bはアダプタ1311から出力されるMPEG2トランスポートストリームに多重されたAITに従って、2次記憶部1307から出力されるMPEG2トランスポートストリームに多重されたJavaプログラムの実行および終了を開始する。その後、2次記憶部1307から出力されるMPEG2トランスポートストリームの終端まで、上述のサービスの再生を継続する。
特殊再生マネージャ1704gは、現在再生中のサービスに関してアプリケーションの実行状況を監視し、また特殊再生の状態を監視および制御する。
図27は、特殊再生マネージャ1704gの詳細な構成を示した図である。
特殊再生指示プログラム情報保持部2703は、JMF1704aから通知される「特殊再生を指示したJavaプログラムのJavaプログラム識別子」を記憶する。
特殊再生指示プログラム情報保持部2703は、JMF1704aから通知される「特殊再生を指示したJavaプログラムのJavaプログラム識別子」を記憶する。
特殊再生指示プログラム判別部2702は、AM1704bから「終了したJavaプログラムのJavaプログラム識別子」が通知された場合に、そのJavaプログラム識別子と特殊再生指示プログラム情報保持部2703が記憶する「特殊再生を指示したJavaプログラムのJavaプログラム識別子」と等しいかどうか判断する。もしそれらのJavaプログラム識別子が等しい場合は、現在サービスに効いている特殊再生をJMF1704a経由で指示したプログラムが終了したことに相当するため、特殊再生指示プログラム終了時処理部2701に規定の処理を行うよう指示を出す。
特殊再生指示プログラム終了時処理部2701は、現在特殊再生されているサービスの特殊再生を解除する。すなわち、パラメータfactorに1.0を設定してJMF1704aのsetRate(float factor) APIを呼び出し、通常速度でサービスを再生させる。
EPG1702は、電子番組表(Electric Program Guideの略)であり、録画や再生の対象とする番組をユーザに選択させる機能である。放送波を受信しての通常の再生は本発明の趣旨から外れるため、説明を割愛する。
番組を記録する場合は、EPG1702は、放送番組一覧を表示してユーザに希望の番組を選択させる。図19は、録画対象とする番組を選択させるための画面表示の一例である。時刻1901とチャンネル1902と1903が格子状に表示され、各時刻で記録可能な各チャンネルの番組を一覧できる。ユーザは端末装置1300の入力部1310に備わっている上下左右カーソルボタン1401〜1404を用いて画面上のフォーカス1911を移動させることができる。更にOKボタン1405を押下すると、現在フォーカスが当たっている番組が記録対象として選択される。EPG1702は当該番組のチャンネル識別子をライブラリから取得して知っており、ユーザによって記録対象番組が選択されると、当該番組のチャンネル識別子、開始時間、終了時間をレコーディングマネージャ1704hに通知する。 レコーディングマネージャ1704hは、その情報に基づいて、当該番組を2次記憶部1307に記録する。
一方、記録済みの番組を再生する場合は、EPG1702は、記録済み番組一覧を表示してユーザに希望の番組を選択させる。図18は、録画済み番組を選択させるための画面表示の一例である。その時点で2次記憶部1307に記憶されている番組がすべて一覧表示される。ユーザは端末装置1300の入力部1310に備わっている上下カーソルボタン1401、1402を用いて画面上のフォーカス1801を移動させることができる。更にOKボタン1405を押下すると、現在フォーカスが当たっている番組が再生対象として選択される。EPG1702は当該番組のレコード識別子をレコーディングマネージャ1704hから取得して知っており、ユーザによって再生対象番組が選択されると、当該番組のレコード識別子をサービスマネージャ1704fに通知する。サービスマネージャ1704fは、その情報に基づいて、当該番組を2次記憶部1307から読み出して再生する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図30は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bはAIT検出を開始する。
ここで、今、新しいバージョンの更新されたAITが検出されたとすると、Yesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報が指定されたJavaプログラムが見つかったとする。その場合はS3005に進み、当該Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で更新されたAITが検出されなかった場合は、S3006に進む。S3006ではJavaプログラムが特殊再生を指示したかどうかを判断する。今、S3006でJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で再び更新されたAITが検出されたとして、S3004に進む。今回更新されたAITには、先ほどS3005で実行されたJavaプログラムに対して「kill」という制御情報が指定されていたとする。すると、S3008に進んで、AM1704bが当該Javaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。もし、等しい場合は、S3010に進み、特殊再生指示プログラム終了時処理部2701がfactor=1.0を指定してsetRate()を呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。
ここで、S3003で再び更新されたAITが検出されたとして、S3004に進む。今回更新されたAITには、先ほどS3005で実行されたJavaプログラムに対して「kill」という制御情報が指定されていたとする。すると、S3008に進んで、AM1704bが当該Javaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。もし、等しい場合は、S3010に進み、特殊再生指示プログラム終了時処理部2701がfactor=1.0を指定してsetRate()を呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。
以上説明したように、実施の形態1によれば、Javaプログラムがサービスの特殊再生を指示した後に、当該Javaプログラムが終了した時には、サービスの特殊再生が自動的に解除されて通常速度の再生に復帰する。
なお、本実施例において、特殊再生指示プログラム終了時処理部2701が、パラメータfactorに1.0を設定する代わりに0.0を設定する構成に変更すれば、JMF1704aのsetRate(float factor) APIを呼び出した際にサービスを一時停止させることも可能となる。
(実施の形態2)
以下に、本発明の実施の形態2に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態2に係る装置および方法を、図面を参照しながら説明する。
実施の形態2に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1と同じ機能を持つため、再度の説明は省略する。
実施の形態2のソフトウェア構成は、図17および図46に示すものと同じである。特殊再生マネージャ1704g以外の構成要素は、実施の形態1のソフトウェア構成と同じであるため、再度の説明は省略する。また、実施の形態2で用いる各種データ形式は、実施の形態1と同じ図20から図23で示されるものであり、再度の説明は省略する。
図31に、実施の形態2で用いる特殊再生マネージャ1704gの構成を示す。特殊再生マネージャ1704gは、特殊再生指示プログラム情報保持部2703、特殊再生指示プログラム判別部2702、特殊再生指示プログラム終了時処理部3101、終了処理ハンドラ登録部3102、終了処理ハンドラ登録特権判定部3103から構成される。
特殊再生指示プログラム情報保持部2703および特殊再生指示プログラム判別部2702は、実施の形態1と同じものであるため、再度の説明は省略する。
終了処理ハンドラ登録特権判定部3103は、指定されたJavaプログラムが終了処理ハンドラを登録する特権を持つかどうか判断する。Javaプログラム識別子を入力されると、当該Javaプログラムが終了処理ハンドラを登録するためのパーミッションを持っているかどうか確認して結果を出力する。
ここで、終了処理ハンドラを登録する特権は、例えば、OCAP仕様書におけるMonitorAppPermissionなどで設定できる。これは、Javaプログラムが格納されているディレクトリ中にパーミッション記述ファイルをあわせて格納しておき、そのパーミッション記述ファイルに許可された特権の一覧を持つ方式である。例えば、ocap.application名.permという名前のファイルに、<ocap:monitorapplication name=“registerTrickHandler” value=true></ocap:monitorapplication>のような形式で記述すると、application名で指定されたJavaプログラムは終了処理ハンドラを登録する特権を持つことができる。
終了処理ハンドラ登録部3102は、終了処理ハンドラ登録特権を持つJavaプログラムが任意のJavaプログラムコードを終了処理ハンドラとして登録するための機能を提供する。Javaプログラムコードは、任意に定義したJavaクラスのインスタンスであり、所望の処理をJava言語で記述することができる。終了処理ハンドラ登録部3102は、registerHandler(Handler h)というJava APIを提供する。任意のJavaクラスのインスタンスをパラメータhとしてこのAPIを呼び出すと、終了処理ハンドラ登録部3102は当該Javaプログラムが終了処理ハンドラ登録特権を持っているかどうか終了処理ハンドラ登録特権判定部3103に当該JavaプログラムのJavaプログラム識別子を入力して問い合わせる。もし当該Javaプログラムが終了処理ハンドラ登録特権を持っていれば、その終了処理ハンドラhインスタンスを終了処理ハンドラとして内部に記憶する。
特殊再生指示プログラム終了時処理部3101は、終了処理ハンドラ登録部3102が記憶するJavaクラスのインスタンスを実行する。インスタンスの実行は、Javaプログラムの実行と同様に、インスタンスに記述されたJava言語コードを実行する。コードの内容に制限はなく、任意のプログラムコードが書ける。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図32は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bはAIT検出を開始する。
実施の形態2では、図33に示すバージョン1のAITと、図34に示すバージョン2のAITがMPEG2トランスポートストリームに多重されていると仮定する。図中の各要素は、実施の形態1で説明したものと同一の意味合いを持つ。
今バージョン1のAITが新規に検出されたとすると、Yesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報が指定されたJavaプログラムとして、Javaプログラム識別子301および302が見つかる。よって、それら両Javaプログラムに関してS3005に進み、両Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で更新されたAITが検出されなかった場合は、S3211に進む。今、Javaプログラム識別子302のJavaプログラムが、独自の終了処理ハンドラhを持っているとする。その終了処理ハンドラには特殊再生を標準速度に戻すためのJava言語コードとして、setRate(1.0)と記述されているとする。そこでJavaプログラム識別子302のJavaプログラムは、registerHandler(h)を呼び出して、当該ハンドラhを終了処理ハンドラ登録部に登録する。なお、Javaプログラム識別子302のJavaプログラムは、終了処理ハンドラを登録する特権を持っているものとする。その後S3006に進む。一方、Javaプログラム識別子301のJavaプログラムは終了処理ハンドラを持っておらず、終了処理ハンドラは登録せずに、そのままS3006に進む。
S3006では、Javaプログラム識別子302のJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。その後S3007に進む。一方、Javaプログラム識別子301のJavaプログラムは特殊再生の指示をせず、そのままS3007に進む。S3007では、JMF1704aが、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子302を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で更新された図34に示すバージョン2のAITが検出されたとして、S3004に進む。今回更新されたバージョン2のAITには、先ほどS3005で実行されたJavaプログラム識別子301のJavaプログラムには「autostart」が指定されている。既に実行されているため、Javaプログラム識別子301のJavaプログラムについては、S3005に進んでそのまま継続実行される。一方、Javaプログラム識別子302のJavaプログラムには「kill」という制御情報が指定されていたとする。こちらに関してはS3008に進んで、AM1704bがJavaプログラム識別子302のJavaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子302を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今の場合、どちらも302であり、等しいため、S3010に進み、特殊再生指示プログラム終了時処理部2701が終了処理ハンドラ登録部3102に登録されているJavaプログラム識別子302の終了処理ハンドラhを実行する。すなわち終了処理ハンドラhに記述されているsetRate(1.0)というJava言語コードを呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。
ここで、S3003で更新された図34に示すバージョン2のAITが検出されたとして、S3004に進む。今回更新されたバージョン2のAITには、先ほどS3005で実行されたJavaプログラム識別子301のJavaプログラムには「autostart」が指定されている。既に実行されているため、Javaプログラム識別子301のJavaプログラムについては、S3005に進んでそのまま継続実行される。一方、Javaプログラム識別子302のJavaプログラムには「kill」という制御情報が指定されていたとする。こちらに関してはS3008に進んで、AM1704bがJavaプログラム識別子302のJavaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子302を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今の場合、どちらも302であり、等しいため、S3010に進み、特殊再生指示プログラム終了時処理部2701が終了処理ハンドラ登録部3102に登録されているJavaプログラム識別子302の終了処理ハンドラhを実行する。すなわち終了処理ハンドラhに記述されているsetRate(1.0)というJava言語コードを呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。
以上説明したように、実施の形態2によれば、Javaプログラムがサービスの特殊再生を指示した後に、当該Javaプログラムが終了した時には、別途登録された終了処理ハンドラが実行されて任意のJava言語コードを実行できる。
(実施の形態3)
以下に、本発明の実施の形態3に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態3に係る装置および方法を、図面を参照しながら説明する。
実施の形態3に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1と同じ機能を持つため、再度の説明は省略する。
実施の形態3のソフトウェア構成は、図17に示すものと同じである。AM1704b以外の構成要素は、実施の形態1のソフトウェア構成と同じであるため、再度の説明は省略する。また、実施の形態3で用いる各種データ形式は、実施の形態1と同じ図20から図23で示されるものであり、再度の説明は省略する。
AM1704bは、実施の形態1の機能に加えて、現在の再生速度に応じてAITの更新を無視する機能を有する。図35に実施の形態3のAM1704bの構成図を示す。AIT監視部3502およびアプリケーション状態管理部3503は、実施の形態1のAIT監視部3502およびアプリケーション状態管理部3503と同じであるため、再度の説明を省略する。ただし、バージョンアップによるAITの更新は、AIT更新許可部3501が許可した場合のみ実施される点が、実施の形態1と異なる。すなわち、AIT監視部3502は、AITのバージョンアップを検出すると、AIT更新許可部3501にバージョンアップされたAITを解析してよいかどうか判定を依頼する。
AIT更新許可部3501は、サービスに今現在効いている特殊再生の速度が0.0<=再生速度<=1.0の範囲である場合のみ、更新された新規AITの解析を許可する。AIT更新許可部3501は、AIT解析許可の判定を依頼されると、JMF1704aに現在の再生速度を問い合わせる。JMF1704aはsetRate()で設定された特殊再生の速度を返す。その再生速度が0.0<=再生速度<=1.0であれば、AIT更新の判定依頼に対して許可すると回答する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図36は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bのAIT監視部3502はAIT検出を開始する。
ここで、今、新しいバージョンの更新されたAITが検出されたとすると、Yesに進んで、S3601に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。よって再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報が指定されたJavaプログラムが見つかったとする。その場合はS3005に進み、当該Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で更新されたAITが検出されなかった場合は、S3006に進む。S3006ではJavaプログラムが特殊再生を指示したかどうかを判断する。今、S3006でJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
S3003でさらに更新されたAITが検出されるまでは、S3006に進む。今回は、S3006でJavaプログラムがfactor=0.5を指定してsetRate()を呼び出した、すなわち通常の半分の速度での特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の半分の速度に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
ここで、S3003で更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は0.5であるため、AIT更新の許可はされる。これを受けて、AIT監視部3502は今回検出されたAITの解析に移る。すなわちYesに進んでS3004に至る。
S3004では、今回更新されたAITには、最初にS3005で実行されたJavaプログラムに対して「kill」という制御情報が指定されていたとする。すると、S3008に進んで、AM1704bが当該Javaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今回は等しいため、S3010に進み、特殊再生指示プログラム終了時処理部2701がfactor=1.0を指定してsetRate()を呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。
以上説明したように、実施の形態3によれば、AITの解析は0.0<=再生速度<=1.0の範囲である場合のみ実施される。かつ、Javaプログラムがサービスの特殊再生を指示した後に、当該JavaプログラムがAITの制御情報に従って終了した時には、サービスの特殊再生が自動的に解除されて通常速度の再生に復帰する。
なお、本実施例において、特殊再生指示プログラム終了時処理部2701が、パラメータfactorに1.0を設定する代わりに0.0を設定する構成に変更すれば、JMF1704aのsetRate(float factor) APIを呼び出した際にサービスを一時停止させることも可能となる。
(実施の形態4)
以下に、本発明の実施の形態4に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態4に係る装置および方法を、図面を参照しながら説明する。
実施の形態4に用いるハードウェア構成等は、本発明の実施の形態3と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態3と同じ機能を持つため、再度の説明は省略する。
実施の形態4のソフトウェア構成は、図17および図35に示すものと同じである。特殊再生マネージャ1704g以外の構成要素は、実施の形態3のソフトウェア構成と同じであり、特殊再生マネージャ1704gは実施の形態2と同じであるため、再度の説明は省略する。また、実施の形態4で用いる各種データ形式は、実施の形態1と同じ図20から図23で示されるものであり、再度の説明は省略する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図37は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bのAIT監視部3502はAIT検出を開始する。
実施の形態4では、図33に示すバージョン1のAITと、図34に示すバージョン2のAITと、図38に示すバージョン3のAITがMPEG2トランスポートストリームに多重されていると仮定する。図中の各要素は、実施の形態1で説明したものと同一の意味合いを持つ。
ここで、今、バージョン1のAITが検出されたとすると、Yesに進んで、S3701に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。よって再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。
S3004で、AITに「autostart」の制御情報が指定されたJavaプログラムとして、Javaプログラム識別子301および302が見つかる。よって、それら両Javaプログラムに関してS3005に進み、両Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で新たに更新されたAITが検出されなかった場合は、S3211に進む。今、Javaプログラム識別子302のJavaプログラムが、独自の終了処理ハンドラhを持っているとする。その終了処理ハンドラには特殊再生を標準速度に戻すためのJava言語コードとして、setRate(1.0)と記述されているとする。そこでJavaプログラム識別子302のJavaプログラムは、registerHandler(h)を呼び出して、当該ハンドラhを終了処理ハンドラ登録部に登録する。なお、Javaプログラム識別子302のJavaプログラムは、終了処理ハンドラを登録する特権を持っているものとする。その後S3006に進む。一方、Javaプログラム識別子301のJavaプログラムは終了処理ハンドラを持っておらず、終了処理ハンドラは登録せずに、そのままS3006に進む。
S3006では、Javaプログラム識別子302のJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。その後S3007に進む。一方、Javaプログラム識別子301のJavaプログラムは特殊再生の指示をせず、そのままS3007に進む。S3007では、JMF1704aが、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子302を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で更新されたバージョン2のAITが検出されたとして、S3701に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
ここで、S3003で更新されたバージョン2のAITが検出されたとして、S3701に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
S3003でさらに更新されたAITが検出されるまでは、S3006に進む。今回は、S3006でJavaプログラム識別子302のJavaプログラムがfactor=0.5を指定してsetRate()を呼び出した、すなわち通常の半分の速度での特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の半分の速度に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の0.5倍で特殊再生されている状態にある。
ここで、S3003で更新されたバージョン3のAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は0.5であるため、AIT更新の許可はされる。これを受けて、AIT監視部3502は今回検出されたAITの解析に移る。すなわちYesに進んでS3004に至る。
ここで、S3003で更新されたバージョン3のAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は0.5であるため、AIT更新の許可はされる。これを受けて、AIT監視部3502は今回検出されたAITの解析に移る。すなわちYesに進んでS3004に至る。
今回更新されたバージョン3のAITには、先ほどS3005で実行されたJavaプログラム識別子301のJavaプログラムには「autostart」が指定されている。既に実行されているため、Javaプログラム識別子301のJavaプログラムについては、S3005に進んでそのまま継続実行される。一方、Javaプログラム識別子302のJavaプログラムには「kill」という制御情報が指定されていたとする。こちらに関してはS3008に進んで、AM1704bがJavaプログラム識別子302のJavaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子302を通知して、S3009に進む。
S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今の場合、どちらも302であり、等しいため、S3010に進み、特殊再生指示プログラム終了時処理部2701が終了処理ハンドラ登録部3102に登録されているJavaプログラム識別子302の終了処理ハンドラhを実行する。すなわち終了処理ハンドラhに記述されているsetRate(1.0)というJava言語コードを呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。
以上説明したように、実施の形態4によれば、AITの解析は0.0<=再生速度<=1.0の範囲である場合のみ実施される。かつ、Javaプログラムがサービスの特殊再生を指示した後に、当該Javaプログラムが終了した時には、別途登録された終了処理ハンドラが実行されて任意のJava言語コードを実行できる。
(実施の形態5)
以下に、本発明の実施の形態5に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態5に係る装置および方法を、図面を参照しながら説明する。
実施の形態5に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1と同じ機能を持つため、再度の説明は省略する。
実施の形態5のソフトウェア構成は、図17に示すものと同じである。AM1704b以外の構成要素は、実施の形態1のソフトウェア構成とまったく同じであるため、再度の説明は省略する。また、実施の形態5で用いる各種データ形式は、実施の形態1と同じ図20から図23で示されるものであり、再度の説明は省略する。
AM1704bは図40の構成を持つ。AIT更新許可部3501とAIT監視部3502以外の構成要素は、実施の形態3と同じであるため、再度の説明を省略する。
AIT更新許可部3501は、実施の形態3と同等の機能を持つが、再生速度=1.0の場合のみAIT更新を許可することにする。
AIT監視部3502は、AITのバージョンアップを常時検出するだけでなく、後述の特殊再生指示プログラム終了時処理部2701が指示した時にセクションフィルタリングを開始してその時点で得ることができる最新のAITを検出する。
アプリケーション状態変更指示部4001は、Javaプログラムが自己および他のJavaプログラムの状態を変更するための機能を提供する。例えば、Javaプログラムが他のJavaプログラムの実行を強制的に終了させることが可能となる。アプリケーション状態変更指示部4001は、Javaプログラムに対して、任意のJavaプログラムを終了させるためのAPIを提供する。例えば、Javaプログラム識別子を指定すると、そのJavaプログラム識別子に対応するJavaプログラムの状態を制御するためのプロキシクラスAppProxyのインスタンスをJavaプログラムに提供する。AppProxyは、当該Javaプログラムの実行を開始するstart()や実行を強制的に終了させるstop()といったメソッドを持つ。
Javaプログラムがこれらのメソッドを呼び出すことで、AppProxyに対応するJavaプログラムの実行を開始したり、終了させたりすることができる。例えば、stop()が呼び出されると、アプリケーション状態変更指示部4001はAITにて制御情報“kill”が指定された時と同じ処理を、AppProxyに対応するJavaプログラムに対して実施する。すなわち、当該Javaプログラムを終了させた後、特殊再生指示プログラム判別部2702に終了させたJavaプログラムのJavaプログラム識別子を通知する。
特殊再生マネージャ1704gの詳細な構成を、図27に示す。
特殊再生指示プログラム終了時処理部2701は、現在特殊再生されているサービスの特殊再生を解除した後、AITを強制的に検出させる。すなわち、パラメータfactorに1.0を設定してJMF1704aのsetRate(float factor) APIを呼び出し、通常速度でサービスを再生させる。その後、AIT監視部3502にその時点で得ることができる最新のAITを検出するよう指示を出す。
特殊再生指示プログラム終了時処理部2701は、現在特殊再生されているサービスの特殊再生を解除した後、AITを強制的に検出させる。すなわち、パラメータfactorに1.0を設定してJMF1704aのsetRate(float factor) APIを呼び出し、通常速度でサービスを再生させる。その後、AIT監視部3502にその時点で得ることができる最新のAITを検出するよう指示を出す。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図39は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bのAIT監視部3502はAIT検出を開始する。
ここで、今、新しいバージョンの更新されたAITが検出されたとすると、Yesに進んで、S3601に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。よって再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報が指定されたJavaプログラムが見つかったとする。その場合はS3005に進み、当該Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で更新されたAITが検出されなかった場合は、S3901に進む。今、S3901でAppProxy.stop()は呼ばれなかったとし、S3006に進む。S3006ではJavaプログラムが特殊再生を指示したかどうかを判断する。今、S3006でJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
S3003でさらに更新されたAITが検出されるまでは、S3901に進む。ここで、S3901において、Javaプログラムが自身のJavaプログラム識別子を指定してAppProxyインスタンスを取得し、そのstop()メソッドを呼び出したとする。すると、S3008に進んで、アプリケーション状態変更指示部4001が動作して、AM1704bに当該Javaプログラムを終了させる。さらにAM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今回は等しいため、S3910に進み、特殊再生指示プログラム終了時処理部2701がfactor=1.0を指定してsetRate()を呼び出す。
これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。更に、AIT監視部3502にAITの検出開始を指示する。よって再びS3003に戻って、検出されたAITに基づいて、Javaプログラムの実行や終了を行う。現時点では、再生速度が1.0になっているため、S3601ではこれ以降に検出されたAITの解析が許可されることになる。
以上説明したように、実施の形態5によれば、AITの解析は再生速度=1.0である場合のみ実施される。かつ、Javaプログラムがサービスの特殊再生を指示した後に、当該JavaプログラムがAITの制御情報に従って終了した時には、サービスの特殊再生が自動的に解除されて通常速度の再生に復帰し、その時点での最新のAITの解析が実行される。
(実施の形態6)
以下に、本発明の実施の形態6に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態6に係る装置および方法を、図面を参照しながら説明する。
実施の形態6に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1と同じ機能を持つため、再度の説明は省略する。
実施の形態6のソフトウェア構成は、図17および図40に示すものと同じである。AM1704bと特殊再生マネージャ1704g以外の構成要素は、実施の形態5のソフトウェア構成と同じであるため、再度の説明は省略する。また、実施の形態6で用いる各種データ形式は、実施の形態1と同じ図20から図23で示されるものであり、再度の説明は省略する。
AM1704bは図40の構成を持つ。アプリケーション状態管理部3503以外の構成要素は、実施の形態5と同じであるため、再度の説明を省略する。
アプリケーション状態管理部3503は、実施の形態5と同等の機能に加えて、Javaプログラムがメモリ等のリソース不足によって機能しなくなった場合、またはそのJavaプログラムを動作させるために必要なシステム機能が異常を起こしてこれ以上当該Javaプログラムの実行を継続できなくなった場合、あるいはそのJavaプログラム自体が発生するエラーや異常によって異常終了してしまった場合等に、AITにて制御情報“kill”が指定された場合に準じて当該Javaプログラムを強制終了させる。いずれの場合も、Javaプログラムが終了したことを、特殊再生指示プログラム判別部2702に終了したJavaプログラムのJavaプログラム識別子を通知する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図41は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bのAIT監視部3502はAIT検出を開始する。
ここで、今、新しいバージョンの更新されたAITが検出されたとすると、Yesに進んで、S3601に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。よって再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報が指定されたJavaプログラムが見つかったとする。その場合はS3005に進み、当該Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で更新されたAITが検出されなかった場合は、S3901に進む。今、S4101では、Javaプログラムを終了させるに至る異常は発生しなかったとして、S3006に進む。S3006ではJavaプログラムが特殊再生を指示したかどうかを判断する。今、S3006でJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
S3003でさらに更新されたAITが検出されるまでは、S3901に進む。ここで、S3901において、Javaプログラムが自身のエラーで終了せざるをえない異常状態になったとする。すると、S3008に進んで、アプリケーション状態管理部3503が当該Javaプログラムを終了させる。さらにアプリケーション状態管理部3503は特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今回は等しいため、S3910に進み、特殊再生指示プログラム終了時処理部2701がfactor=1.0を指定してsetRate()を呼び出す。
これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。更に、AIT監視部3502にAITの検出開始を指示する。よって再びS3003に戻って、検出されたAITに基づいて、Javaプログラムの実行や終了を行う。現時点では、再生速度が1.0になっているため、S3601ではこれ以降に検出されたAITの解析が許可されることになる。
以上説明したように、実施の形態6によれば、AITの解析は再生速度=1.0である場合のみ実施される。かつ、Javaプログラムがサービスの特殊再生を指示した後に、当該Javaプログラムが異常終了した時には、サービスの特殊再生が自動的に解除されて通常速度の再生に復帰し、その時点での最新のAITの解析が実行される。
なお、特殊再生指示プログラム終了時処理部2701の機能を、現在特殊再生されているサービスの特殊再生を解除した後、AITを強制的に検出させる代わりに、現在特殊再生されているサービスの特殊再生を速度0.0に指定した後、AITを強制的に検出させることで、Javaプログラムが終了した際にサービスの再生を一時停止させる構成とすることもできる。すなわち、パラメータfactorに0.0を設定してJMF1704aのsetRate(float factor) APIを呼び出し、サービスの再生を一時停止状態にする。その後、AIT監視部3502にその時点で得ることができる最新のAITを検出するよう指示を出す。
(実施の形態7)
以下に、本発明の実施の形態7に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態7に係る装置および方法を、図面を参照しながら説明する。
実施の形態7に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1と同じ機能を持つため、再度の説明は省略する。
実施の形態7のソフトウェア構成は、図17および図40に示すものと同じである。特殊再生マネージャ1704g以外の構成要素は、実施の形態6のソフトウェア構成と同じであるため、再度の説明は省略する。また、実施の形態7で用いる各種データ形式は、実施の形態1と同じ図20から図23で示されるものであり、再度の説明は省略する。
特殊再生マネージャ1704gは、図42の構成をとる。特殊再生指示プログラム判別部2702と特殊再生指示プログラム情報保持部2703は、実施の形態6と同じであるため、再度の説明を省略する。
特殊再生指示プログラム終了時処理部2701は、サービスマネージャ1704fにレコード識別子を指定して、新たにサービスの再生を開始させる。指定するレコード識別子は、後述の代替レコード識別子登録部4201から得る。同時にJMF1704aを利用してsetRate(1.0)を呼び出し、サービスの再生速度を通常速度にする。
代替レコード識別子登録部4201は、Javaプログラムにレコード識別子を入力させる。Javaプログラムが終了した際に現在再生中のサービスは再生終了され、このレコード識別子で特定されるサービスが新たに再生開始されることになる。代替レコード識別子登録部4201は、Javaプログラムに対して、APIとしてregisterRecordID(int recordID)メソッドを提供する。JavaプログラムがrecordIDにレコード識別子を設定して本メソッドを呼び出すと、代替レコード識別子登録部4201はそのレコード識別子を記憶する。特殊再生指示プログラム終了時処理部2701に対しては、このレコード識別子を与える。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図43は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bのAIT監視部3502はAIT検出を開始する。
ここで、今、新しいバージョンの更新されたAITが検出されたとすると、Yesに進んで、S3601に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。よって再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報が指定されたJavaプログラムが見つかったとする。その場合はS3005に進み、当該Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で更新されたAITが検出されなかった場合は、S3901に進む。今、S4101では、Javaプログラムを終了させるに至る異常は発生しなかったとして、S4311に進む。S4311ではJavaプログラムが代替レコード識別子登録部4201を用いて代替レコード識別子を設定するメソッドregisterRecordID(recordID)を呼び出したとする。するとS4312に進んで、代替レコード識別子登録部4201はそのレコード識別子を記憶する。
次に、S3006でJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
S3003でさらに更新されたAITが検出されるまでは、S3901に進む。ここで、S3901において、Javaプログラムが自身のエラーで終了せざるをえない異常状態になったとする。すると、S3008に進んで、アプリケーション状態管理部3503が当該Javaプログラムを終了させる。さらにアプリケーション状態管理部3503は特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今回は等しいため、S4313に進み、特殊再生指示プログラム終了時処理部2701は、代替レコード識別子登録部4201から得た代替レコード識別子をサービスマネージャ1704fに指定して、新たにサービスの再生を開始させる。同時に、特殊再生指示プログラム終了時処理部2701はfactor=1.0を指定してsetRate()を呼び出す。
これにより、先ほどまで特殊再生状態であったサービスの再生が、通常の再生速度に戻る。つまり、代替サービスレコード識別子で指定されたサービスを通常速度で再生開始することになる。更に、AIT監視部3502にAITの検出開始を指示する。よって再びS3003に戻って、検出されたAITに基づいて、Javaプログラムの実行や終了を行う。現時点では、再生速度が1.0になっているため、S3601ではこれ以降に検出されたAITの解析が許可されることになる。
以上説明したように、実施の形態7によれば、AITの解析は再生速度=1.0である場合のみ実施される。かつ、Javaプログラムがサービスの特殊再生を指示した後に、当該JavaプログラムがAITの制御情報に従って終了した時には、別途指定された代替サービスの再生が開始され、かつサービスの特殊再生が自動的に解除されて通常速度の再生に復帰し、その時点での最新のAITの解析が実行される。
なお、特殊再生指示プログラム終了時処理部2701の機能を、現在特殊再生されているサービスの特殊再生を解除した後、AITを強制的に検出させる代わりに、現在特殊再生されているサービスの特殊再生を速度0.0に指定した後、AITを強制的に検出させることで、Javaプログラムが終了した際にサービスの再生を一時停止させる構成とすることもできる。すなわち、パラメータfactorに0.0を設定してJMF1704aのsetRate(float factor) APIを呼び出し、サービスの再生を一時停止状態にする。その後、AIT監視部3502にその時点で得ることができる最新のAITを検出するよう指示を出す。
(実施の形態8)
以下に、本発明の実施の形態8に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態8に係る装置および方法を、図面を参照しながら説明する。
実施の形態8に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1と同じ機能を持つため、再度の説明は省略する。
実施の形態8で用いる各種データ形式は、実施の形態1と同じ図20から図21および図23と、実施の形態8で新たに用いる図28および図29で示されるものである。図20から図21および図23については、実施の形態1と同じものであるため、再度の説明は省略する。図28および図29は、図22で示されたAITに特殊再生対応フラグ2805を追加したAITである。特殊再生対応フラグは、当該Javaプログラムがサービスの特殊再生中に実行されるかどうかを指定するフラグである。すなわち、特殊再生対応フラグ2805が“true”であるJavaプログラムは、例えサービスが特殊再生中であっても実行される。一方、特殊再生対応フラグ2805が“false”であるJavaプログラムは、サービスが特殊再生されると直ちに強制終了される。
実施の形態8のソフトウェア構成は、図17および図27および図46に示すものと同じである。図17において、JMF1704aおよびAM1704bおよび特殊再生マネージャ1704g以外の構成要素は、実施の形態1のソフトウェア構成と同じであるため、再度の説明は省略する。
JMF1704aは、実施の形態1で説明した動作に加えて、factor=1.0以外の値でsetRate(float factor)が呼び出された際に、AM1704bのアプリケーション状態管理部に特殊再生が開始されたことを通知する。
AM1704bは、実施の形態1で説明した動作に加えて、アプリケーション状態管理部が以下の動作を行う。JMF1704aが特殊再生が開始されたことをアプリケーション状態管理部に通知すると、アプリケーション状態管理部は現在実行中のJavaプログラムに関して、AITに記述された特殊再生対応フラグを調べる。もし実行中のJavaプログラムの特殊再生対応フラグの値がtrueであれば、そのまま当該Javaプログラムの実行を継続する。もし、実行中のJavaプログラムの特殊再生対応フラグの値がfalseであれば、即座に当該Javaプログラムを終了させ、更に特殊再生指示プログラム判別部2702に終了したJavaプログラムのJavaプログラム識別子を通知する。すなわち、当該Javaプログラムに対して制御情報=killを指定した場合と同じ動作を行う。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図44は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS4401で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S4402で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S4403においてAM1704bのAIT監視部3502はAIT検出を開始する。
ここで、今、図28に示すAITが検出されたとすると、Yesに進んで、S4404に至る。S4404で、AITに「autostart」の制御情報が指定されたJavaプログラム識別子=301のJavaプログラムが見つかったとする。その場合はS4408に進み、Javaプログラム識別子=301のJavaプログラムを実行する。その後、処理はS4409に進む。ここで、現在実行中のJavaプログラムは、Javaプログラム識別子=301のJavaプログラムのみであるため、その特殊再生対応フラグを読み取る。今の場合trueであるため、処理はS4403に戻る。
S4403では、図28のAITが継続して受信されているとして、更新されたAITが検出できずにS4406に移る。
次に、S4406でJavaプログラム識別子=301のJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS4407に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子=301を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS4403に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S4404で図29に示した更新されたAITが検出されたとして、S4404に進む。図29のAITでは、Javaプログラム識別子=301のJavaプログラムの制御情報がautostartに指定されているため、S4408に進む。しかし、Javaプログラム識別子=301のJavaプログラムは既に実行中であるため、何もせずにS4409に進む。
ここで、S4404で図29に示した更新されたAITが検出されたとして、S4404に進む。図29のAITでは、Javaプログラム識別子=301のJavaプログラムの制御情報がautostartに指定されているため、S4408に進む。しかし、Javaプログラム識別子=301のJavaプログラムは既に実行中であるため、何もせずにS4409に進む。
S4409では、図29のAITを参照して、現在実行中のJavaプログラム識別子=301であるJavaプログラムに指定された特殊再生対応フラグの値がfalseであることを確認する。するとS4410に進んで、当該Javaプログラムを終了させ、Javaプログラム識別子=301を特殊再生指示プログラム判別部に通知する。すると、特殊再生指示プログラム判別部は、特殊再生指示プログラム情報保持部が記憶しているJavaプログラム識別子の値と、今通知された終了されたJavaプログラム識別子の値を比較する。いずれも301であるため値は一致し、S4412に進む。S4412では、2次記憶部からのMPEG2トランスポートストリーム読み出し速度を1.0に変更する。つまり、サービスが通常速度で再生されることになる。
以上説明したように、実施の形態8によれば、Javaプログラムがサービスの特殊再生を指示した後に、当該JavaプログラムがAITの特殊再生対応フラグの変化に従って終了した時には、サービスの特殊再生が自動的に解除されて通常速度の再生に復帰する。
なお、特殊再生指示プログラム終了時処理部2701の機能を、現在特殊再生されているサービスの特殊再生を解除する代わりに、現在特殊再生されているサービスの特殊再生を速度0.0に指定させる、すなわちパラメータfactorに0.0を設定してJMF1704aのsetRate(float factor) APIを呼び出し、サービスの再生を一時停止状態にする構成とすることもできる。
(実施の形態9)
以下に、本発明の実施の形態9に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態9に係る装置および方法を、図面を参照しながら説明する。
実施の形態9に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1と同じ機能を持つため、再度の説明は省略する。
実施の形態9で用いる各種データ形式は、実施の形態8と同じ図20から図21および図23および図28で示されるものである。これらは実施の形態8と同じものであるため、再度の説明は省略する。
実施の形態9のソフトウェア構成は、図17および図31および図46に示すものと同じである。図17の構成要素は、実施の形態8のソフトウェア構成と同じであるため、再度の説明は省略する。図31の構成要素は、実施の形態2のソフトウェア構成と同じであるため、再度の説明は省略する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図45は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS4501で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S4502で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S4503においてAM1704bのAIT監視部3502はAIT検出を開始する。
ここで、今、図28に示すAITが検出されたとすると、Yesに進んで、S4504に至る。S4504で、AITに「autostart」の制御情報が指定されたJavaプログラム識別子=301のJavaプログラムが見つかったとする。その場合はS4509に進み、Javaプログラム識別子=301のJavaプログラムを実行する。その後、処理はS4510に進む。ここで、現在実行中のJavaプログラムは、Javaプログラム識別子=301のJavaプログラムのみであるため、その特殊再生対応フラグを読み取る。今の場合trueであるため、処理はS4503に戻る。
S4503では、図28のAITが継続して受信されているとして、更新されたAITが検出できずにS4505に移る。
S4505では、今、Javaプログラム識別子301のJavaプログラムが、独自の終了処理ハンドラhを持っているとする。その終了処理ハンドラには特殊再生を標準速度に戻すためのJava言語コードとして、setRate(1.0)と記述されているとする。そこでJavaプログラム識別子301のJavaプログラムは、registerHandler(h)を呼び出して、S4506に進み、当該ハンドラhを終了処理ハンドラ登録部に登録する。なお、Javaプログラム識別子301のJavaプログラムは、終了処理ハンドラを登録する特権を持っているものとする。その後S4507に進む。
次に、S4507でJavaプログラム識別子=301のJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS4508に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子=301を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS4503に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S4503で図29に示した更新されたAITが検出されたとして、S4504に進む。図29のAITでは、Javaプログラム識別子=301のJavaプログラムの制御情報がautostartに指定されているため、S4509に進む。しかし、Javaプログラム識別子=301のJavaプログラムは既に実行中であるため、何もせずにS4510に進む。
ここで、S4503で図29に示した更新されたAITが検出されたとして、S4504に進む。図29のAITでは、Javaプログラム識別子=301のJavaプログラムの制御情報がautostartに指定されているため、S4509に進む。しかし、Javaプログラム識別子=301のJavaプログラムは既に実行中であるため、何もせずにS4510に進む。
S4510では、図29のAITを参照して、現在実行中のJavaプログラム識別子=301であるJavaプログラムに指定された特殊再生対応フラグの値がfalseであることを確認する。するとS4410に進んで、当該Javaプログラムを終了させ、Javaプログラム識別子=301を特殊再生指示プログラム判別部に通知する。すると、特殊再生指示プログラム判別部は、特殊再生指示プログラム情報保持部が記憶しているJavaプログラム識別子の値と、今通知された終了されたJavaプログラム識別子の値を比較する。いずれも301であるため値は一致し、S4513に進む。
S4513では、特殊再生指示プログラム終了時処理部2701が終了処理ハンドラ登録部3102に登録されているJavaプログラム識別子301の終了処理ハンドラhを実行する。すなわち終了処理ハンドラhに記述されているsetRate(1.0)というJava言語コードを呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。
以上説明したように、実施の形態9によれば、Javaプログラムがサービスの特殊再生を指示した後に、当該JavaプログラムがAITの特殊再生対応フラグの変化に従って終了した時には、別途登録された終了処理ハンドラが実行されて任意のJava言語コードを実行できる。
(実施の形態10)
以下に、本発明の実施の形態10に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態10に係る装置および方法を、図面を参照しながら説明する。
実施の形態10に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1と同じ機能を持つため、再度の説明は省略する。
図20から図21および図23については、実施の形態1と同じものであるため、再度の説明は省略する。図47は、図22で示されたAITに特殊再生時制御フラグ4705を追加したAITである。特殊再生時制御フラグは、当該Javaプログラムがサービスの特殊再生中にAITの制御情報2202に従って起動されたり終了されたりするかどうかを指定するフラグである。すなわち、特殊再生時制御フラグ4705が“true”であるJavaプログラムは、例えサービスが特殊再生中であっても制御情報2202の変化に従って起動されたり終了されたりする。一方、特殊再生対応フラグ4705が“false”であるJavaプログラムは、サービスが特殊再生されると、実施の形態5と同様に制御情報2202の変化を無視する。
また、実施の形態10のソフトウェア構成は、図17に示すものと同じである。図17において、AM1704b以外の構成要素は、実施の形態1のソフトウェア構成と同じであるため、再度の説明は省略する。
AM1704bは、実施の形態1の機能に加えて、現在の再生速度および特殊再生時制御フラグ4705に応じてAITの更新を無視する機能を有する。図35に実施の形態10のAM1704bの構成図を示す。AIT監視部3502およびアプリケーション状態管理部3503は、実施の形態3のAIT監視部3502およびアプリケーション状態管理部3503と同じであるため、再度の説明を省略する。また、バージョンアップによるAITの更新が、AIT更新許可部3501が許可した場合のみ実施される点も実施の形態3と同様であるが、AIT更新許可部3501がAITのバージョンアップによる更新を許可する条件が実施の形態3とは異なる。
AIT更新許可部3501は、サービスに今現在効いている特殊再生の速度が1.0である場合、あるいは、特殊再生の速度が1.0以外であって、かつ、特殊再生時制御フラグの値が“true”である場合、更新された新規AITの解析を許可する。AIT更新許可部3501は、AIT解析許可の判定を依頼されると、JMF1704aに現在の再生速度を問い合わせる。JMF1704aはsetRate()で設定された特殊再生の速度を返す。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図36は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bのAIT監視部3502はAIT検出を開始する。
ここで、今、新しいバージョンの更新されたAITが検出されたとすると、Yesに進んで、S3601に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。よって再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報および「false」の特殊再生時制御フラグが指定されたJavaプログラムが見つかったとする。その場合はS3005に進み、当該Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で更新されたAITが検出されなかった場合は、S3006に進む。S3006ではJavaプログラムが特殊再生を指示したかどうかを判断する。今、S3006でJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であって、かつ、AITに記述されている特殊再生時制御フラグの値は「false」であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であって、かつ、AITに記述されている特殊再生時制御フラグの値は「false」であるため、AIT更新の許可はされない。よって、仮に更新されたAITの中に、現在実行中のJavaプログラムに対して「kill」制御情報が書かれていたとしても、当該Javaプログラムは終了されることなく実行されつづける。制御は再びS3003に戻る。
S3003でさらに更新されたAITが検出されるまでは、S3006に進む。
また、MPEG2トランスポートストリーム読み出し速度が通常速度時において、S3003で新しいバージョンの更新されたAITが検出されたとすると、Yesに進んで、S3601に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報および「true」の特殊再生時制御フラグが指定されたJavaプログラムが見つかったとする。その場合はS3005に進み、当該Javaプログラムを実行する。その後、処理はS3003に戻る。
また、MPEG2トランスポートストリーム読み出し速度が通常速度時において、S3003で新しいバージョンの更新されたAITが検出されたとすると、Yesに進んで、S3601に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。S3004で、AITに「autostart」の制御情報および「true」の特殊再生時制御フラグが指定されたJavaプログラムが見つかったとする。その場合はS3005に進み、当該Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で更新されたAITが検出されなかった場合は、S3006に進む。S3006ではJavaプログラムが特殊再生を指示したかどうかを判断する。今、S3006でJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。するとS3007に進み、JMF1704aは、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であって、かつ、特殊再生時制御フラグの値が「true」であるため、AIT更新の許可はされる。これを受けて、AIT監視部3502は今回検出されたAITの解析に移る。すなわちYesに進んでS3004に至る。
ここで、S3003で再び更新されたAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であって、かつ、特殊再生時制御フラグの値が「true」であるため、AIT更新の許可はされる。これを受けて、AIT監視部3502は今回検出されたAITの解析に移る。すなわちYesに進んでS3004に至る。
S3004では、今回更新されたAITには、最初にS3005で実行されたJavaプログラムに対して「kill」という制御情報が指定されていたとする。すると、S3008に進んで、AM1704bが当該Javaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子を通知して、S3009に進む。S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今回は等しいため、S3010に進み、特殊再生指示プログラム終了時処理部2701がfactor=1.0を指定してsetRate()を呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。
以上説明したように、実施の形態10によれば、AITの解析は再生速度が1.0である場合、あるいは、再生速度が1.0以外であって、かつ、特殊再生時制御フラグの値が“true”である場合にのみ実施される。かつ、Javaプログラムがサービスの特殊再生を指示した後に、当該JavaプログラムがAITの制御情報に従って終了した時には、サービスの特殊再生が自動的に解除されて通常速度の再生に復帰する。
なお、本実施例において、特殊再生指示プログラム終了時処理部2701が、パラメータfactorに1.0を設定する代わりに0.0を設定する構成に変更すれば、JMF1704aのsetRate(float factor) APIを呼び出した際にサービスを一時停止させることも可能となる。
(実施の形態11)
以下に、本発明の実施の形態11に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態11に係る装置および方法を、図面を参照しながら説明する。
実施の形態11に用いるハードウェア構成等は、本発明の実施の形態10と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態10と同じ機能を持つため、再度の説明は省略する。
実施の形態11のソフトウェア構成は、図17および図35に示すものと同じである。特殊再生マネージャ1704g以外の構成要素は、実施の形態10のソフトウェア構成と同じであり、特殊再生マネージャ1704gは実施の形態2と同じであるため、再度の説明は省略する。また、実施の形態11で用いる各種データ形式は、実施の形態1と同じ図20から図21および図23と、実施の形態10と同じ図47で示されるものであるため、再度の説明は省略する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図37は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示したとする。するとS3001で、サービスマネージャ1704fに、2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生指示と、サービスを特定するレコード識別子が与えられる。
サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示するため、S3002で映像と音声が再生される。
またサービスマネージャ1704fはAM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定するため、S3003においてAM1704bのAIT監視部3502はAIT検出を開始する。
実施の形態11では、図47に示すバージョン1のAITと、図48に示すバージョン2のAITと、図49に示すバージョン3のAITがMPEG2トランスポートストリームに多重されていると仮定する。図中の各要素は、実施の形態10で説明したものと同一の意味合いを持つ。
ここで、今、バージョン1のAITが検出されたとすると、Yesに進んで、S3701に至る。現在、Javaプログラムは何も実行されておらず、特殊再生は指定されていない。よって再生速度は1.0であり、AIT許可部3501はAITの更新を許可する。これを受けて、AIT監視部3502はAITの解析に移る。すなわちYesに進んでS3004に至る。
S3004で、AITに「autostart」の制御情報が指定されたJavaプログラムとして、Javaプログラム識別子301および302が見つかる。よって、それら両Javaプログラムに関してS3005に進み、両Javaプログラムを実行する。その後、処理はS3003に戻る。
ここで、S3003で新たに更新されたAITが検出されなかった場合は、S3211に進む。今、Javaプログラム識別子302のJavaプログラムが、独自の終了処理ハンドラhを持っているとする。その終了処理ハンドラには特殊再生を標準速度に戻すためのJava言語コードとして、setRate(1.0)と記述されているとする。そこでJavaプログラム識別子302のJavaプログラムは、registerHandler(h)を呼び出して、当該ハンドラhを終了処理ハンドラ登録部に登録する。なお、Javaプログラム識別子302のJavaプログラムは、終了処理ハンドラを登録する特権を持っているものとする。その後S3006に進む。一方、Javaプログラム識別子301のJavaプログラムは終了処理ハンドラを持っておらず、終了処理ハンドラは登録せずに、そのままS3006に進む。
S3006では、Javaプログラム識別子302のJavaプログラムがfactor=2.0を指定してsetRate()を呼び出した、すなわち特殊再生が指示されたとする。その後S3007に進む。一方、Javaプログラム識別子301のJavaプログラムは特殊再生の指示をせず、そのままS3007に進む。S3007では、JMF1704aが、2次記憶部1307を制御し、MPEG2トランスポートストリーム読み出し速度を通常の2倍に設定する。同時に、今setRate()を呼び出したJavaプログラムのJavaプログラム識別子302を特殊再生指示プログラム情報保持部2703に通知して記憶させる。その後、再びS3003に戻る。
この時点では、サービスは通常速度の2倍で特殊再生されている状態にある。
ここで、S3003で更新されたバージョン2のAITが検出されたとして、S3701に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であって、かつ、Javaプログラム識別子301、302のJavaプログラムに対応する特殊再生時制御フラグはそれぞれ“false”、“true”であるため、Javaプログラム識別子302のJavaプログラムのみにAITの更新が許可される。更新されたAITの中には、Javaプログラム識別子302のJavaプログラムに対して「kill」制御情報が書かれているので、こちらに関してはS3008に進んで、AM1704bがJavaプログラム識別子302のJavaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子302を通知して、S3009に進む。
ここで、S3003で更新されたバージョン2のAITが検出されたとして、S3701に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は2.0であって、かつ、Javaプログラム識別子301、302のJavaプログラムに対応する特殊再生時制御フラグはそれぞれ“false”、“true”であるため、Javaプログラム識別子302のJavaプログラムのみにAITの更新が許可される。更新されたAITの中には、Javaプログラム識別子302のJavaプログラムに対して「kill」制御情報が書かれているので、こちらに関してはS3008に進んで、AM1704bがJavaプログラム識別子302のJavaプログラムを終了させる。AM1704bは特殊再生指示プログラム判別部2702に今終了させたJavaプログラムのJavaプログラム識別子302を通知して、S3009に進む。
S3009では、特殊再生指示プログラム判別部2702が、今AM1704bが終了させたJavaプログラムが特殊再生指示プログラム情報保持部2703に記憶されているJavaプログラム識別子と等しいかどうか判定する。今の場合、どちらも302であり、等しいため、S3010に進み、特殊再生指示プログラム終了時処理部2701が終了処理ハンドラ登録部3102に登録されているJavaプログラム識別子302の終了処理ハンドラhを実行する。すなわち終了処理ハンドラhに記述されているsetRate(1.0)というJava言語コードを呼び出す。これにより、先ほど特殊再生状態であったサービスの再生が、通常の再生速度に戻る。その後、制御は再びS3003に戻る。
ここで、S3003で更新されたバージョン3のAITが検出されたとして、S3601に進む。AIT監視部3502はAIT許可部3501にAIT更新の可否を問い合わせるが、現在の再生速度は1.0であるため、AIT更新の許可はされる。 これを受けて、AIT監視部3502は今回検出されたAITの解析に移る。すなわちYesに進んでS3004に至る。
今回更新されたバージョン3のAITには、先ほどS3005で実行されたJavaプログラム識別子301のJavaプログラムには「kill」が指定されているので、AM1704bがJavaプログラム識別子302のJavaプログラムを終了させる。
以上説明したように、実施の形態11によれば、AITの解析は再生速度が1.0である場合、あるいは、再生速度が1.0以外であって、かつ、特殊再生時制御フラグの値が“true”である場合にのみ実施される。かつ、Javaプログラムがサービスの特殊再生を指示した後に、当該Javaプログラムが終了した時には、別途登録された終了処理ハンドラが実行されて任意のJava言語コードを実行できる。
(実施の形態12)
以下に、本発明の実施の形態12に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態12に係る装置および方法を、図面を参照しながら説明する。
実施の形態12は、以上述べてきた実施の形態1から11を実現するための異なるハードウェア構成の形態を提供するものである。実施の形態12で用いるハードウェア構成等は、図24および図25で示す。
図24は、サービスの記録時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。図中の構成要素のうち、図15と同一番号を付した構成要素は、実施の形態1で既に説明済であるため、再度の説明を省略する。図24のハードウェア構成では、図15と異なり、TSデコーダ1302でフィルタリングされたセクションが、1次記憶部1308を通った後、多重器を経由せずに、セクション変換部2801を通って記録領域1504に記録される。ここで、セクションの記録領域1504への記録に関しては、セクションの形式に応じて記録方式が異なる。
DSMCCファイルシステムにてMPEG2トランスポートストリーム中に記録されたファイルシステムに関しては、セクション変換部2801が、端末固有の記録領域1504独自のファイルシステムフォーマットに変換して記録領域1504に記録する。
また、AITに関しては、セクション変換部2801が、図26に拡張したレコード情報管理テーブルの形式に変換して記録領域1504に記録する。図26に示したレコード情報管理テーブルは、図21に示したレコード情報管理テーブルを拡張したものであり、両図において同一の符号で識別される項目は、図21に示したレコード情報管理テーブルと同等の意味をもつため、説明を省略する。
各行2611、2612はそれぞれ1つのサービスのレコード情報を示す。各行2611、2612はそれぞれレコード識別子2101、チャンネル識別子2102、プログラムナンバー2103、サービスの記録を開始した時間2104、サービスの記録を終了した時間2105、メディア識別子2106、および、AIT情報管理テーブルへの参照をもつ。AIT情報管理テーブルはメディア時刻2621とそれに対応するAITバージョン2622をもつ。メディア時刻2621は対応するMPEG2トランスポートストリームの再生時の時刻であって、対応するMPEG2トランスポートストリーム上の位置を示す。
AITバージョン2622は図22におけるAITバージョン2200に対応する。例えば、レコード識別子2101として「001」をもつサービスのレコード情報は、メディア識別子2106として「TS_002」をもち、参照されているAIT情報管理テーブルにおいてメディア時刻2621が「00:00:00」時には対応するAITバージョン2622は「1」となって、同様に、メディア時刻2621が「00:05:00」時には対応するAITバージョン2622は「2」、メディア時刻2621が「00:20:00」時には対応するAITバージョン2622は「3」となる。チャンネル識別子2601として「001」をもつサービスの再生時には、レコード情報管理テーブルを参照して、メディア識別子2602である「TS_002」によって特定される映像および音声が多重化されたMPEG2トランスポートストリームが再生されるとともに、AIT情報管理テーブルを参照して、メディア時刻2621が「00:00:00」に達すれば、AITバージョン2622が「1」であるAITに応じて、Javaプログラムが起動あるいは終了等の制御が実行される。
同様に、メディア時刻2621が「00:05:00」に達すれば、AITバージョン2622が「2」であるAITに応じて、メディア時刻2621が「00:20:00」に達すれば、AITバージョン2622が「3」であるAITに応じて、Javaプログラムが起動あるいは終了等の制御が実行される。実際のAITは、プライベートセクション形式のバイナリファイルとして、端末固有の記録領域1504独自のファイルシステムフォーマットに変換して記録領域1504に記録するものとする。記録されたファイルは、一意に特定可能なユニークなファイル名がつけられ、それがレコード情報管理テーブル中にAITファイル名2623として記録される。
実際の放送波においては、同一のAITバージョンをもつAITが何度も繰り返し送信されるが、本実施の形態においては、受信されるAITバージョンの変化を検出することで、その時点における更新された最初のAITのみを記録領域1504に記録することとする。
図25に、サービスの再生時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。図中の構成要素のうち、図16と同一番号を付した構成要素は、実施の形態1で既に説明済であるため、再度の説明を省略する。
図25のハードウェア構成では、図16と異なり、記録領域1504に記録されたセクションが、TSデコーダを経由せずに、セクション読み出し部2901を通して一次記憶に読み込まれる。セクション読み出し部2901は、記録領域から読み出したMPEG2トランスポートストリームの現在再生時間に対応するメディア時間をレコード情報管理テーブルから検索し、そのメディア時間に相当するAITやDSMCCファイルシステムをファイルから読み出してAIT監視部3502に渡す。すなわち、図46等に示されるAIT監視部3502は、TSデコーダのフィルタリング結果を参照するのではなく、セクション読み出し部2901からAITバイナリファイルやDSMCCファイルシステムを得る。
ここで、図22に示すAITと、図26に示すレコード情報管理テーブルとによって、チャンネル識別子が「001」に対応するサービスを記録領域1504から再生する場合を一例として挙げる。
再生するサービスとして、チャンネル識別子が「001」に対応するサービスが指定されると、サービスの再生において前述したように、サービスに属する音声・映像、および、サービスに属するJavaプログラムがそれぞれ再生および起動される。
再生を開始するメディア時刻が指定されない場合は、メディア時刻2621が「00:00:00」から再生を開始する。すなわち、音声・映像としては、レコード識別子2101「001」に対応するメディア識別子2102「TS_002」をもつMPEG2トランスポートストリームがメディア時刻2621「00:00:00」から再生される。AIT情報管理テーブルを参照して、メディア時刻2621「00:00:00」に対応するAITバージョン2622が「1」であるので、AITバージョン2200が「1」であるAITをファイルから読み出す。AITの内容に基づいて、制御情報2202が「autostart」であるプログラム名2204に対応するJavaプログラムが起動される。
次いで、サービスの再生が継続されて、メディア識別子3502「TS_002」に対応するMPEG2トランスポートストリームが再生されている位置がメディア時刻2621「00:05:00」となれば、AIT情報管理テーブルを参照して、メディア時刻2621「00:05:00」に対応するAITバージョン2622が「2」であるので、AITバージョン2200が「2」であるAITにもとづいて、制御情報2202が「autostart」であるプログラム名2204に対応するJavaプログラムが起動されるとともに、制御情報2202が「destroy」、あるいは、「kill」であるプログラム名2204に対応するJavaプログラムが終了される。ここで、図22を参照して、制御情報2202が「destroy」であるプログラム名は「/b/MusicXlet」、制御情報2202が「kill」であるプログラム名は 「/z/StudyXlet」であるので、メディア時刻2621「00:05:00」において、それらのプログラム名に対応するJavaプログラムが実行されていれば、それらのJavaプログラムは終了される。
次いで、サービスの再生が継続されて、メディア識別子2106「TS_002」に対応するMPEG2トランスポートストリームが再生されている位置がメディア時刻2621「00:20:00」となれば、AIT情報管理テーブルを参照して、メディア時刻2621「00:20:00」に対応するAITバージョン2622が「3」であるので、AITバージョン2200が「3」であるAITにもとづいて、制御情報2202が「autostart」であるプログラム名2204に対応するJavaプログラムが起動されるとともに、制御情報2202が「destroy」、あるいは、「kill」であるプログラム名2204に対応するJavaプログラムが終了される。
以上述べた実施の形態12によると、実施の形態1から実施の形態11に関して、多重器によって多重化された映像および音声と、別途異なる形式で記録されたDSMCCファイルシステムおよびAITファイルを組み合わせてサービス再生することが可能となる。これにより、放送では繰り返し送信されていたDSMCCファイルシステムやAITを更新時の一度分だけ記録すればよいことになり、記録領域の記憶容量の消費を抑えることができる。
以上説明したいくつかの実施例は、本発明の実現例を示したものであり、本発明の趣旨が実現される限り他の実現例でも実施可能である。
実施例ではケーブルシステムを対象とした構成を示したが、本発明は放送システムの種類に依存しない。例えば、衛星システム、地上波システム、あるいはIPネットワークを用いた番組配信システムなどにも容易に適応可能である。さらに本発明は各放送システムの違いと直接的な関係を持たないため、放送システムに係らず任意の伝送媒体で適用可能である。有線、無線の違いにも依存しない。
AVデコーダは、必ずしも映像および音声を同時にデコードする必要はない。映像デコーダ、音声デコーダを分離した構成としても、本発明は実現可能である。またAVデコーダがクローズドキャプションなどのデータに対するデコード機能を持っていても差し支えない。AVデコーダによってデコードされたaudio信号およびvideo信号が、記録領域1504に蓄積されるまでの任意の段階において暗号化されてもよい。
実施例では、限定視聴を制御するアダプタを導入した例を示したが、アダプタは本発明を実現するために必ずしも必要ではない。アダプタの形式がいかなるものであってもよいし、またアダプタのない構成とすることも可能である。その場合、図15において、チューナからのMPEG2トランスポートストリームが直接TSデコーダに入力される。この場合も本発明は適用可能である。また、アダプタによる限定視聴解除をTSデコーダ以前に行う必要はない。任意の位置でアダプタを利用して限定視聴を解除する構成とすることは容易であり、その場合も本発明は適用可能である。
AVエンコーダによるaudio信号およびvideo信号のエンコード形式は、任意の形式であってもよい。本発明はいかなるエンコード形式であっても適用可能である。
多重器の多重形式は任意の形式であってもよい。本発明はいかなる多重形式であっても適用可能である。
ディスプレイおよびスピーカは、放送録画再生装置内部に包含していてもよく、放送録画再生装置に外部ディスプレイおよびスピーカを接続してもよい。ディスプレイおよびスピーカの存在場所や数によらず、本発明は適用可能である。
CPU自身が、TSデコード、AVデコード、AVエンコードおよび多重化のすべてあるいはいくつかの処理を兼用で行うシステムであっても本発明は実施可能である。
サービスを記録する形式としては、他にもTSデコーダを介さずにチューナからのMPEG2トランスポートストリーム出力を直接、記録領域記録してもよいし、MPEG2トランスポートストリームの形式を変換するトランスレータを設けてチューナからのMPEG2トランスポートストリームを形式変換して記録領域に記録してもよい。いかなるサービス記録方式を用いても、本発明は実施可能である。
一部のJavaバーチャルマシンは、バイトコードをCPUが理解可能な実行形式に翻訳してから、CPUに引渡して実行するが、この場合でも本発明は適用可能である。
以上の実施例では、トランスポートストリームがIn−bandから得られるとしてAITに関して実現方法を説明したが、AMが実行すべきJavaプログラムを参照する手法はAITによるものだけではない。米国ケーブルシステムで利用されることが想定されるOCAPでは図3に記載されるOOBにてアプリケーションプログラムの参照情報を記載するXAITが利用されている。その他、ROMに予め記録されているものを起動する、2次記憶にダウンロードして記憶したものを起動する、等の方法も考えられる。
上記に詳細に説明した本発明の実施の形態は単なる例示にすぎず、本発明の新規な教示および効果から実質的に逸脱することなく例示として挙げた実施の形態において様々な変更が可能であることは、当業者であれば容易に理解するところである。したがって、かかる変更はすべて本発明の範囲内に含まれるものである。
本発明に係る録画再生装置および録画再生方法は、映像および音声へ特殊再生を指示したプログラムを保持するとともに、プログラムが終了した場合にそのプログラムが特殊再生を指示したプログラムか判別して、特殊再生を指示したプログラムならば、映像および音声の特殊再生を解除することで、プログラムが予期しない区間における冗長な特殊再生を解除することを可能とするため、殊に放送録画再生装置に係る民生機器産業において利用される可能性が高い。例えば、ケーブルSTB、および、ディジタルTV等として利用可能である。さらに、例えば、携帯電話等の機器においても放送受信機能をもつ機器であれば利用可能である。
本願におけるこれらの目的および他の目的や、効果、特徴は、実施の形態を示す付属図面に関する以下の説明から明確になる。当該図面において、
図1は、本発明に係る放送システムの構成図である。
図2は、本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
図3は、本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
図4は、本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
図5は、MPEG2仕様で既定されるTSパケットの構成図である。
図6は、MPEG2トランスポートストリームの模式図である。
図7は、MPEG2仕様で既定されるPESパケットがTSパケットを用いて伝送される際の分割例である。
図8は、MPEG2仕様で既定されるMPEG2セクションがTSパケットを用いて伝送される際の分割例である。
図9は、MPEG2仕様で既定されるMPEG2セクションの構成図である。
図10は、MPEG2仕様で既定されるMPEG2セクションの利用例である。
図11は、MPEG2仕様で規定されるPMTの利用例である。
図12は、MPEG2仕様で規定されるPATの利用例である。
図13は、本発明に係る放送録画再生装置のハードウェア構成の構成例である。
図14は、本発明に係る端末装置1200のハードウェア構成における入力部1310のフロントパネル例である。
図15は、本発明に係る録画再生装置の録画時におけるデバイス接続例である。
図16は、本発明に係る録画再生装置の再生時におけるデバイス接続例である。
図17は、本発明に係る端末装置が保存するプログラム構成の構成図である。
図18は、本発明に係る端末装置が実行するEPGの一例である。
図19は、本発明に係る端末装置が実行するEPGの一例である。
図20は、本発明に係る2次記憶部が保存する情報の一例である。
図21は、本発明に係るレコード情報管理テーブルの一例である。
図22は、本発明に係るDVB−MHP規格が規定するAITの内容を表す模式図である。
図23は、本発明に係るDSMCC方式で送信されるファイルシステムを表す模式図である。
図24は、本発明に係る録画再生装置の録画時におけるデバイス接続例である。
図25は、本発明に係る録画再生装置の再生時におけるデバイス接続例である。
図26は、本発明に係るレコード情報管理テーブルの一例である。
図27は、本発明に係る特殊再生マネージャの構成の一例である。
図28は、本発明に係るDVB−MHP規格を拡張するAITの内容を表す模式図である。
図29は、本発明に係るDVB−MHP規格を拡張するAITの内容を表す模式図である。
図30は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図31は、本発明に係る特殊再生マネージャの構成の一例である。
図32は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図33は、本発明に係るDVB−MHP規格が規定するAITの内容を表す模式図である。
図34は、本発明に係るDVB−MHP規格が規定するAITの内容を表す模式図である。
図35は、本発明に係るアプリケーションマネージャAMの構成の一例である。
図36は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図37は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図38は、本発明に係るDVB−MHP規格が規定するAITの内容を表す模式図である。
図39は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図40は、本発明に係るアプリケーションマネージャAMの構成の一例である。
図41は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図42は、本発明に係る特殊再生マネージャの構成の一例である。
図43は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図44は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図45は、本発明に係る特殊再生指示プログラム終了時におけるフローチャートである。
図46は、本発明に係るアプリケーションマネージャAMの構成の一例である。
図47は、本発明に係る特殊再生時制御フラグを追加したAITの内容を表す模式図である。
図48は、本発明に係る特殊再生時制御フラグを追加した他のAITの内容を表す模式図である。
図49は、本発明に係る特殊再生時制御フラグを追加したさらに他のAITの内容を表す模式図である。
Claims (8)
- 記録されたコンテンツを再生するコンテンツ再生手段と、
プログラムを起動および終了させるプログラム実行手段と、
記録されたコンテンツの再生速度を前記プログラムからの指示に基づいて変化させるコンテンツ再生速度変更手段と、
コンテンツ再生速度変更手段にコンテンツの再生速度の変更を指示したプログラムを特定する特殊再生指示プログラム特定手段と、
前記プログラム実行手段で実行されるプログラムのうち終了したプログラムを特定する終了プログラム特定手段と、
前記特殊再生指示プログラム特定手段が特定した、コンテンツの再生速度の変更を指示したプログラムと、前記終了プログラム特定手段が特定した終了したプログラムが同一であるか判定する特殊再生指示プログラム判定手段と、
前記特殊再生指示プログラム判定手段が当該プログラムが同一のプログラムであると判断した場合にコンテンツの再生速度を通常再生速度に変更する特殊再生指示プログラム終了時処理手段と
を備えることを特徴とするコンテンツ再生装置。 - 前記コンテンツは映像、音声、プログラム、およびそれらを同期するための同期情報で構成され、
コンテンツを構成するプログラムが前記同期情報に基づいて前記プログラム実行手段で実行される
ことを特徴とする請求項1記載のコンテンツ再生装置。 - 前記コンテンツ再生装置は、さらに、
前記プログラムを受信するためのプログラム受信装置を備え、
前記プログラム受信装置で受信されたプログラムが前記プログラム実行手段で実行される
ことを特徴とする請求項1記載のコンテンツ再生装置。 - 前記プログラム実行手段は、コンテンツに含まれる同期情報を参照してプログラムの起動と終了を実施する
ことを特徴とする請求項2記載のコンテンツ再生装置。 - 前記同期情報は、特殊再生中にプログラムを強制終了させるかどうかを記した特殊再生対応フラグを含み、
前記プログラム実行手段は、コンテンツに含まれる同期情報が含む特殊再生対応フラグに基づいてプログラムの起動と終了を実施する
ことを特徴とする請求項2記載のコンテンツ再生装置。 - 前記プログラム実行手段は、さらに、プログラム実行中に異常が発生した場合にプログラムを強制終了する
ことを特徴とする請求項2記載のコンテンツ再生装置。 - 前記プログラム実行手段は、コンテンツの再生速度が低速である場合にのみコンテンツに含まれる同期情報を参照する
ことを特徴とする請求項4記載のコンテンツ再生装置。 - 前記プログラム実行手段は、コンテンツの再生速度が通常再生速度以下である場合にのみコンテンツに含まれる同期情報を参照する
ことを特徴とする請求項7記載のコンテンツ再生装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68197405P | 2005-05-18 | 2005-05-18 | |
PCT/JP2006/310078 WO2006123799A1 (en) | 2005-05-18 | 2006-05-15 | Content reproduction apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008546220A true JP2008546220A (ja) | 2008-12-18 |
Family
ID=36608561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007552421A Withdrawn JP2008546220A (ja) | 2005-05-18 | 2006-05-15 | コンテンツ再生装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7962001B2 (ja) |
EP (2) | EP1900206B1 (ja) |
JP (1) | JP2008546220A (ja) |
KR (1) | KR20080012293A (ja) |
CN (2) | CN101176341B (ja) |
CA (1) | CA2607650A1 (ja) |
DE (1) | DE602006017076D1 (ja) |
WO (1) | WO2006123799A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019517219A (ja) * | 2016-05-24 | 2019-06-20 | ディビックス, エルエルシー | トリックプレイ再生の間にオーディオコンテンツを提供するためのシステムおよび方法 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2609967A1 (en) * | 2005-05-31 | 2006-12-07 | Matsushita Electric Industrial Co. Ltd. | Recording and reproduction apparatus and recording and reproduction method |
CA2609906A1 (en) | 2005-05-31 | 2006-12-07 | Matsushita Electric Industrial Co., Ltd. | Broadcast receiving terminal and program execution method |
US20070006062A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US8799757B2 (en) * | 2005-07-01 | 2014-08-05 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US8020084B2 (en) * | 2005-07-01 | 2011-09-13 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US20070006065A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Conditional event timing for interactive multimedia presentations |
US8656268B2 (en) * | 2005-07-01 | 2014-02-18 | Microsoft Corporation | Queueing events in an interactive media environment |
US7941522B2 (en) * | 2005-07-01 | 2011-05-10 | Microsoft Corporation | Application security in an interactive media environment |
US20070006238A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Managing application states in an interactive media environment |
US8108787B2 (en) | 2005-07-01 | 2012-01-31 | Microsoft Corporation | Distributing input events to multiple applications in an interactive media environment |
KR20080027821A (ko) * | 2005-07-06 | 2008-03-28 | 마쯔시다덴기산교 가부시키가이샤 | 기록 및 재생 장치 |
JP5166036B2 (ja) * | 2005-11-22 | 2013-03-21 | パナソニック株式会社 | 再生装置、再生方法及び再生プログラム |
CA2631541A1 (en) * | 2005-12-19 | 2007-06-28 | Matsushita Electric Industrial Co. Ltd. | Content management system |
WO2007072957A1 (en) * | 2005-12-19 | 2007-06-28 | Matsushita Electric Industrial Co., Ltd. | Recording apparatus with remaining capacity detection unit |
WO2007072891A1 (en) * | 2005-12-19 | 2007-06-28 | Matsushita Electric Industrial Co., Ltd. | Recording and reproduction apparatus |
US7803998B2 (en) * | 2005-12-21 | 2010-09-28 | Pioneer Hi-Bred International, Inc. | Methods and compositions for modifying flower development |
KR20080006864A (ko) * | 2006-07-14 | 2008-01-17 | 엘지전자 주식회사 | 데이터 방송 어플리케이션을 제어하는 방법 및 이를수신하는 방송 수신기 |
US7861150B2 (en) * | 2006-11-07 | 2010-12-28 | Microsoft Corporation | Timing aspects of media content rendering |
JP2008135135A (ja) * | 2006-11-29 | 2008-06-12 | Matsushita Electric Ind Co Ltd | データ管理方法およびテーブル作成方法、データ管理装置、データ管理プログラムならびにこれを利用したデジタル音響機器 |
JP4902669B2 (ja) * | 2006-12-05 | 2012-03-21 | シャープ株式会社 | コンテンツの再生制御を行なう再生装置、制御プログラム、記録媒体および制御方法 |
JP5211569B2 (ja) * | 2007-07-26 | 2013-06-12 | ソニー株式会社 | コンテンツ再生装置、コンテンツ再生方法、およびプログラム |
JP5282383B2 (ja) * | 2007-09-06 | 2013-09-04 | ソニー株式会社 | コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム |
US20100218171A1 (en) * | 2009-02-26 | 2010-08-26 | Computer Measurement Laboratory, Inc. | Computer bus monitoring for the adaptive control of executing software processes |
US8369413B2 (en) * | 2009-04-23 | 2013-02-05 | Mediatek Inc. | Transport stream processing system and related method thereof |
JP2011165134A (ja) * | 2010-02-15 | 2011-08-25 | Sony Corp | コンテンツ再生装置、携帯機器、及び異常検知方法 |
KR20160018268A (ko) * | 2014-08-08 | 2016-02-17 | 삼성전자주식회사 | 라인 인터랙션을 이용하여 컨텐트를 제어하는 방법 및 장치 |
TWI606724B (zh) * | 2016-10-03 | 2017-11-21 | 和碩聯合科技股份有限公司 | 多媒體播放裝置及其播放方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US609210A (en) * | 1898-08-16 | John henry papps and louis frank papps | ||
US210949A (en) * | 1878-12-17 | Improvement in grain-binders | ||
US100321A (en) * | 1870-03-01 | Improvement in bottle-cocks | ||
US78296A (en) * | 1868-05-26 | Edwin leigh | ||
US67043A (en) * | 1867-07-23 | Levi gris | ||
ES2184793T3 (es) * | 1994-04-13 | 2003-04-16 | Rca Thomson Licensing Corp | Cinta magnetica con señal de video no normalizada. |
JP4726097B2 (ja) * | 1997-04-07 | 2011-07-20 | エイ・ティ・アンド・ティ・コーポレーション | 適応制御を行うことができるmpegコード化オーディオ・ビジュアル対象物をインターフェースで連結するためのシステムおよび方法 |
US6327418B1 (en) * | 1997-10-10 | 2001-12-04 | Tivo Inc. | Method and apparatus implementing random access and time-based functions on a continuous stream of formatted digital data |
US6654539B1 (en) * | 1998-10-26 | 2003-11-25 | Sony Corporation | Trick playback of digital video data |
JP2000358217A (ja) | 1999-06-14 | 2000-12-26 | Matsushita Electric Ind Co Ltd | デジタル放送システムおよびデジタルビデオ記録再生装置 |
ATE243401T1 (de) * | 1999-10-29 | 2003-07-15 | Opentv Corp | Abspielen von interaktiven programmen |
AR032904A1 (es) * | 2001-02-21 | 2003-12-03 | United Video Properties Inc | Disposicion y metodo para guias interactivas de programas con caracteristicas de grabacion de videos personales |
US7657152B2 (en) | 2002-05-28 | 2010-02-02 | Panasonic Corporation | Broadcast playback and/or recording apparatus |
US20040210949A1 (en) | 2003-04-21 | 2004-10-21 | Matsushita Electric Industrial Co., Ltd. | Data reception and playback apparatus, data reception and playback method, and data reception and playback processing program |
-
2006
- 2006-05-15 CN CN2006800169032A patent/CN101176341B/zh not_active Expired - Fee Related
- 2006-05-15 CA CA002607650A patent/CA2607650A1/en not_active Abandoned
- 2006-05-15 CN CN2010101367151A patent/CN101917580B/zh not_active Expired - Fee Related
- 2006-05-15 EP EP06732652A patent/EP1900206B1/en not_active Not-in-force
- 2006-05-15 DE DE602006017076T patent/DE602006017076D1/de active Active
- 2006-05-15 WO PCT/JP2006/310078 patent/WO2006123799A1/en active Application Filing
- 2006-05-15 JP JP2007552421A patent/JP2008546220A/ja not_active Withdrawn
- 2006-05-15 EP EP09165075A patent/EP2106135A3/en not_active Withdrawn
- 2006-05-15 KR KR1020077026444A patent/KR20080012293A/ko active IP Right Grant
- 2006-05-17 US US11/383,816 patent/US7962001B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019517219A (ja) * | 2016-05-24 | 2019-06-20 | ディビックス, エルエルシー | トリックプレイ再生の間にオーディオコンテンツを提供するためのシステムおよび方法 |
US10701417B2 (en) | 2016-05-24 | 2020-06-30 | Divx, Llc | Systems and methods for providing audio content during trick-play playback |
US11044502B2 (en) | 2016-05-24 | 2021-06-22 | Divx, Llc | Systems and methods for providing audio content during trick-play playback |
US11546643B2 (en) | 2016-05-24 | 2023-01-03 | Divx, Llc | Systems and methods for providing audio content during trick-play playback |
Also Published As
Publication number | Publication date |
---|---|
WO2006123799A1 (en) | 2006-11-23 |
CN101176341A (zh) | 2008-05-07 |
DE602006017076D1 (de) | 2010-11-04 |
EP1900206B1 (en) | 2010-09-22 |
CN101176341B (zh) | 2010-05-19 |
CA2607650A1 (en) | 2006-11-23 |
EP1900206A1 (en) | 2008-03-19 |
US7962001B2 (en) | 2011-06-14 |
KR20080012293A (ko) | 2008-02-11 |
CN101917580B (zh) | 2011-10-05 |
CN101917580A (zh) | 2010-12-15 |
EP2106135A2 (en) | 2009-09-30 |
US20060269221A1 (en) | 2006-11-30 |
EP2106135A3 (en) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008546220A (ja) | コンテンツ再生装置 | |
US8745632B2 (en) | Broadcast receiving terminal and program execution method for resource reservation | |
JP2008546221A (ja) | 放送録画再生装置および方法 | |
JP2009520381A (ja) | 残量検出部を有する記録装置 | |
US7590331B2 (en) | Broadcast recording apparatus | |
US20070022208A1 (en) | Recording and reproduction apparatus | |
US20070157263A1 (en) | Content management system | |
WO2006129813A1 (en) | Broadcast recording and reproduction apparatus with expiration date management unit | |
JP2008543121A (ja) | 記録再生装置および記録再生方法 | |
US20070011357A1 (en) | Recording and reproduction apparatus | |
US20070154172A1 (en) | Recording and reproduction apparatus | |
JP2008066764A (ja) | 放送記録装置 | |
JP2009094702A (ja) | 操作履歴を記憶する情報処理装置 | |
JP2006345505A (ja) | 放送蓄積端末 | |
MX2007013061A (es) | Aparato de reproduccion de contenido. | |
MX2007013537A (es) | Aparato y metodo para la grabacion y reproduccion de transmisiones. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090430 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091207 |