JP2008545284A - 記録再生装置 - Google Patents
記録再生装置 Download PDFInfo
- Publication number
- JP2008545284A JP2008545284A JP2007558383A JP2007558383A JP2008545284A JP 2008545284 A JP2008545284 A JP 2008545284A JP 2007558383 A JP2007558383 A JP 2007558383A JP 2007558383 A JP2007558383 A JP 2007558383A JP 2008545284 A JP2008545284 A JP 2008545284A
- Authority
- JP
- Japan
- Prior art keywords
- program
- special playback
- special
- java program
- playback speed
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/432—Content retrieval operation from a local storage medium, e.g. hard-disk
- H04N21/4325—Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- 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
-
- 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
- H04N9/8045—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 using predictive coding
Abstract
記録再生装置は、録画した映像を通常再生速度とは異なる再生速度で特殊再生させる場合に、実行中のアプリケーションプログラムを一時停止状態へ遷移させる、あるいは、アプリケーションプログラムによるグラフィックスの描画状態を一時的に非表示状態にすることで、アプリケーションプログラムが時間のかかる処理を実行していたとしても、予期しない挙動を抑制することを可能とする。
Description
本発明は、コンテンツを蓄積するとともに、蓄積されたコンテンツを再生する記録再生装置に関する。殊に、映像、音声およびプログラム等のデータから構成されるコンテンツが相互に同期をとって放送波に多重されて送信され、その放送波を受信して映像、音声、データを蓄積するための仕組み、および、映像、音声とプログラム等のデータの同期を保持しつつコンテンツの早送り、巻戻し等の特殊再生を実行する仕組みに関する。
放送局から送信される放送波は、多種多様なコンテンツを含んでいる。コンテンツは、通常の番組で用いられる映像、音声の他に、データを含む場合がある。データの送信方法にはいくつかの方式があり、大別して時系列に送信する方式と、一定の間隔ごとに繰り返し送信する方式がある。前者の時系列に送信する方式では、例えば、時間経過に合わせて連続するデータを順次送信していく。大量のデータを長時間かけて送信する場合に適しているが、送信タイミングで受信しなかった場合は二度と受信できないという欠点がある。一方、後者の一定の間隔ごとに繰り返し送信する方式では、同じデータを一定の期間何度も繰り返し送信する。同一データを送信している期間内に、繰り返し送信されているデータのいずれかひとつを受信すればよいので、受信タイミングが限定されないというメリットがある。
例えば、BMLに代表されるデータ放送や、DSM−CCデータカルーセルによるファイル送信がこの方式である。特に放送においては、受信者がいつ選局して受信を開始するかわからない。時系列に送信する方式では、受信開始が送信タイミングよりも遅れてしまって、データ取得に失敗した場合、二度と再取得できない。よって、放送波で映像、音声とともにアプリケーションプログラム等のデータを送信したい場合には、一定の間隔ごとに繰り返し送信される方式が好適である。
現在、上記のような方式で、映像、音声とアプリケーションプログラムとを含む放送波を受信し、アプリケーションプログラムを映像、音声と同期して実行するための仕様が策定され、運用されている。通常の映像、音声を見るだけでなく、送信されたアプリケーションプログラムを受信して端末に取り込み、それを実行して様々な付加機能を実現することができる。
このようにアプリケーションプログラムを送信して端末に取り込む方法はダウンロードとも呼ばれている。例えば、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規格等においては、端末はその録画したコンテンツを特殊再生させる場合に、その特殊再生による映像および音声の再生に同期させてアプリケーションプログラムを実行させる必要がある。例えば、端末がコンテンツを早送りさせる場合に、その早送りする再生速度に合わせて、適切な時機にアプリケーションプログラムの起動/終了処理、および、アプリケーションプログラムによるグラフィックの描画処理等を実行する必要がある。
上述したように、OCAP−DVR規格等においては、端末はその録画したコンテンツを特殊再生させる場合に、その特殊再生による映像および音声の再生に同期させてアプリケーションプログラムを実行させる必要がある。
しかしながら、端末がその録画したコンテンツの特殊再生映像および音声の再生に同期させてアプリケーションプログラムを実行させるのは、困難な場合がある。例えば、端末がその録画したコンテンツを早送りする場合に、映像および音声の再生速度に合わせて、適切な時機にアプリケーションプログラムの起動/終了処理、および、アプリケーションプログラムによるグラフィックの描画処理等を実行することは、一般に困難である。アプリケーションプログラムには、このような実行に時間を要する処理が一般的に含まれる。また、アプリケーションプログラムが処理速度の低速な端末上で実行される場合は、例えば、アプリケーションプログラムの起動/終了処理、および、アプリケーションプログラムによるグラフィックス描画処理は遅延してしまって、アプリケーションプログラムは予期しない挙動を示すこととなる。
本発明は、上述の課題を解決するために、端末がその録画したコンテンツの特殊再生による映像および音声の再生に同期させてアプリケーションプログラムを実行させる場合であっても、アプリケーションプログラムの予期しない挙動を抑制するための記録再生装置を提供することを目的とする。
上記目的を達成するために、本発明の記録再生装置は、記録媒体に記録されたコンテンツを再生するコンテンツ再生手段と、プログラムを実行するとともに、前記プログラムの状態を制御するプログラム実行手段と、前記コンテンツの再生速度を前記実行中のプログラムからの指示にもとづいて変更するコンテンツ再生速度変更手段と、前記再生速度が通常再生速度から前記通常再生速度とは異なる再生速度になったこと、または前記通常再生速度とは異なる再生速度から前記通常再生速度になったことを検知する特殊再生検知手段と、前記特殊再生検知手段の検知にもとづいて前記プログラム実行手段へ前記プログラムの状態の変更を指示する特殊再生時処理手段とを備え、前記プログラム実行手段は、前記プログラムが前記特殊再生時処理手段から指示された状態となるように、前記プログラムの状態を制御することを特徴とする。
例えば、前記特殊再生検知手段が、前記再生速度が通常再生速度とは異なる再生速度になったことを検知した場合、前記特殊再生時処理手段は、前記プログラム実行手段へ前記実行中のプログラムの状態を一時停止状態へ変更するよう指示するとともに、前記プログラム実行手段は、前記プログラムの状態が一時停止状態となるように前記プログラムの実行を一時停止する。
このように、録画されたコンテンツが特殊再生される場合に、アプリケーションプログラムが一時停止状態へ遷移されるため、アプリケーションプログラムの予期しない挙動を抑制することが可能となる。また、殊に早送り、および、巻戻し時において、ハードディスク、BD(Blu−ray Disc)、DVD(Digital Versatile Disc)、SD(Secure Digital)メモリカード等に代表される半導体メモリ等に対する高負荷なアクセスを低減し、記録媒体の劣化を低減することが可能となる。
また、前記特殊再生検知手段が、前記再生速度が前記通常再生とは異なる再生速度から通常再生速度になったことを検知した場合、前記特殊再生時処理手段は、前記プログラム実行手段へ前記一時停止状態にされているプログラムの状態を実行状態へ変更するよう指示するとともに、前記プログラム実行手段は、前記プログラムの状態が実行状態となるように前記プログラムの実行を再開することを特徴としてもよい。
また、前記特殊再生時処理手段は、前記プログラム実行手段へ、前記プログラムのうち特定のプログラムのみの状態の変更を指示することを特徴としてもよい。
また、前記特定のプログラムは、前記コンテンツに多重化されている情報にもとづいて特定されることを特徴としてもよい。
また、前記特定のプログラムは、前記プログラムのうち特権をもつプログラムによって事前に登録された情報にもとづいて特定されることを特徴としてもよい。
また、上記目的を達成するために、本発明の記録再生装置は、記録媒体に記録されたコンテンツを再生するコンテンツ再生手段と、プログラムを実行するとともに、前記プログラムの実行状態を制御するプログラム実行手段と、プログラム実行手段にて実行されるプログラムにより描画されるグラフィックスの表示状態と非表示状態を制御するグラフィックス表示手段と、前記コンテンツの再生速度を前記プログラムからの指示にもとづいて変更するコンテンツ再生速度変更手段と、前記再生速度が通常再生速度から前記通常再生速度とは異なる再生速度になったこと、または前記通常再生速度とは異なる再生速度から前記通常再生速度になったことを検知する特殊再生検知手段と、前記特殊再生検知手段の検知にもとづいて前記グラフィックス表示手段へ前記グラフィックスの状態の変更を指示する特殊再生時処理手段とを備えることを特徴とする。
例えば、前記特殊再生検知手段が、前記再生速度が通常再生速度から前記通常再生速度とは異なる再生速度になったことを検知した場合、前記特殊再生時処理手段は、前記グラフィックス表示手段へ前記グラフィックスの状態を表示状態から非表示状態へ変更するよう指示する。
このように、録画されたコンテンツが特殊再生される場合に、アプリケーションプログラムによるグラフィックス描画が一時的に無効にされるため、アプリケーションプログラムの予期しない挙動を抑制することが可能となる。また、殊に早送り、および、巻戻し時において、ハードディスク、BD(Blu−ray Disc)、DVD(Digital Versatile Disc)、SD(Secure Digital)メモリカード等に代表される半導体メモリ等に対する高負荷なアクセスを低減し、記録媒体の劣化を低減することが可能となる。
また、前記特殊再生検知手段が、前記再生速度が前記通常再生速度とは異なる再生速度から前記通常再生速度になったことを検知した場合、前記特殊再生時処理手段は、前記グラフィックス表示手段へ前記グラフィックスの状態を非表示状態から表示状態へ変更するよう指示することを特徴としてもよい。
また、前記特殊再生時処理手段は、前記グラフィックス表示手段へ、前記プログラムのうち特定のプログラムにより描画されるグラフィックスのみの状態の変更を指示することを特徴としてもよい。
また、前記特定のプログラムは、前記コンテンツに多重化されている情報にもとづいて特定されることを特徴としてもよい。
また、前記特定のプログラムは、前記プログラムのうち特権をもつプログラムによって事前に登録された情報にもとづいて特定されることを特徴としてもよい。
また、前記コンテンツおよび前記プログラムは、放送波から前記記録媒体に記録された情報であることを特徴としてもよい。
なお、本発明は、上記記録再生装置として実現することができるだけでなく、記録再生方法やプログラム、そのプログラムを格納する記憶媒体としても実現することができる。
明細書と図面と請求項とを含む、2005年7月6日に出願された、米国仮出願番号60/696503を本願に引用して援用する。
第1の発明は、放送波を記録するとともに、記録された放送波を再生する録画再生装置であって、記録された放送波の通常再生から特殊再生への移行、あるいは、特殊再生から通常再生への復帰を判定する特殊再生開始/終了判定手段と、特殊再生区間において一時停止状態へ移行させるプログラム、あるいは、一時停止状態から復帰させるプログラムを特定する特殊再生区間処理管理手段と、前記プログラムを前記一時停止状態へ移行させるように、あるいは、前記一時停止状態から復帰させるように要求する特殊再生区間処理手段と、を備え、前記特殊再生開始/終了判定手段は、前記特殊再生区間処理管理手段へ、通常再生から特殊再生への移行、あるいは、特殊再生から通常再生への復帰を通知して、前記特殊再生区間処理管理手段は、前記特殊再生区間処理手段へ、前記一時停止状態へ移行させる前記プログラム、あるいは、前記一時停止状態から復帰させる前記プログラムを通知する、ことを特徴とする、録画再生装置である。
第2の発明は、放送波を記録するとともに、記録された放送波を再生する録画再生装置であって、記録された放送波の通常再生から特殊再生への移行、あるいは、特殊再生から通常再生への復帰を判定する特殊再生開始/終了判定手段と、特殊再生区間において非表示状態へ移行させるプログラム、あるいは、非表示状態から復帰させるプログラムを特定する特殊再生区間処理管理手段と、前記プログラムを前記非表示状態へ移行させるように、あるいは、前記非表示状態から復帰させるように要求する特殊再生区間処理手段と、を備え、前記特殊再生開始/終了判定手段は、前記特殊再生区間処理管理手段へ、通常再生から特殊再生への移行、あるいは、特殊再生から通常再生への復帰を通知して、前記特殊再生区間処理管理手段は、前記特殊再生区間処理手段へ、前記非表示状態へ移行させる前記プログラム、あるいは、前記非表示状態から復帰させる前記プログラムを通知する、ことを特徴とする、録画再生装置である。
第3の発明は、放送波を記録するとともに、記録された放送波を再生する録画再生方法であって、記録された放送波の通常再生から特殊再生への移行、あるいは、特殊再生から通常再生への復帰を判定する特殊再生開始/終了判定ステップと、特殊再生区間において一時停止状態へ移行させるプログラム、あるいは、一時停止状態から復帰させるプログラムを特定する特殊再生区間処理管理ステップと、前記プログラムを前記一時停止状態へ移行させるように、あるいは、前記一時停止状態から復帰させるように要求する特殊再生区間処理ステップと、を備え、前記特殊再生開始/終了判定ステップは、前記特殊再生区間処理管理ステップへ、通常再生から特殊再生への移行、あるいは、特殊再生から通常再生への復帰を通知して、前記特殊再生区間処理管理ステップは、前記特殊再生区間処理ステップへ、前記一時停止状態へ移行させる前記プログラム、あるいは、前記一時停止状態から復帰させる前記プログラムを通知する、ことを特徴とする、録画再生方法である。
第4の発明は、放送波を記録するとともに、記録された放送波を再生する録画再生方法であって、記録された放送波の通常再生から特殊再生への移行、あるいは、特殊再生から通常再生への復帰を判定する特殊再生開始/終了判定ステップと、特殊再生区間において非表示状態へ移行させるプログラム、あるいは、非表示状態から復帰させるプログラムを特定する特殊再生区間処理管理ステップと、前記プログラムを前記非表示状態へ移行させるように、あるいは、前記非表示状態から復帰させるように要求する特殊再生区間処理ステップと、を備え、前記特殊再生開始/終了判定ステップは、前記特殊再生区間処理管理ステップへ、通常再生から特殊再生への移行、あるいは、特殊再生から通常再生への復帰を通知して、前記特殊再生区間処理管理ステップは、前記特殊再生区間処理ステップへ、前記非表示状態へ移行させる前記プログラム、あるいは、前記非表示状態から復帰させる前記プログラムを通知する、ことを特徴とする、録画再生方法である。
(実施の形態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パケットのペイロードに格納される。図7はPESパケットを伝送する際の分割例を表す。PESパケット701は一つのTSパケット内のペイロードに格納して伝送するには大きいため、PESパケット分割A702a、PESパケット分割B702b、PESパケット分割C702cに分割され、同一PIDをもつ三つのTSパケット703〜705によって伝送される。実際には、映像や音声は、複数のPESパケットのペイロードに含まれるデータを結合して得られるエレメンタリストリーム(ES)として得られる。このエレメンタリストリームは、MPEG2 Video規格やMPEG1、2 Audio規格で定義されるディジタル化映像、音声の形式になっている。
映像および音声は、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、グラフィックスプレーン1314で構成される。なお本実施例は、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から出力された映像を再生するとともに、CPUによって描画されたグラフィックスプレーン1314上のグラフィックスを表示する。
ディスプレイ1305は、AVデコーダ1303から出力された映像を再生するとともに、CPUによって描画されたグラフィックスプレーン1314上のグラフィックスを表示する。
CPU1306は放送録画再生装置上で動作するプログラムを実行する。CPU1306は、ROM1309に内蔵されるプログラムを実行する。あるいは、放送信号やネットワークよりダウンロードされ1次記憶部1308に保持されているプログラムも実行する。あるいは、放送信号やネットワークよりダウンロードされ2次記憶部1307に保存されているプログラムも実行する。そして実行するプログラムの指示に従い、チューナ1301、TSデコーダ1302、AVデコーダ1303、スピーカ1304、ディスプレイ1305、2次記憶部1307、1次記憶部1308、ROM1309、入力部1310、アダプタ1311、AVエンコーダ1312、多重器1313、グラフィックスプレーン1314を制御する。また、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トランスポートストリームへ多重化する機能をもつデバイスである。
グラフィックスプレーン1314は、CPUによって描画されるグラフィックスを一時的に保持する機能を有するデバイスである。グラフィックスプレーン1314上に描画されたグラフィックスは、CPUによってディスプレイ1305への転送が指示されることで、AVデコーダ1303によって出力された映像と合成されて、ディスプレイ1305上に表示される。
以上説明した放送録画再生装置が、放送波に含まれるサービスを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で表形式に変換され、ライブラリがアクセス可能な1次記憶部に格納される。列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(登録商標)言語で記述されたプログラムを逐次解析し実行する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−CC1704dは、Javaプログラム等から指定されたファイル識別子等を元に、SF1704eを利用してMPEG2セクションを取得し、ISO/IEC13818−6規格に基づいてファイルを取り出して1次記憶部1308に出力する。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の詳細な構成を図27に示す。AM1704bは、AIT監視部2711と、アプリケーション状態管理部2712で構成される。
AIT監視部2711は、MPEG2トランスポートストリームとチャンネル識別子を入力として、AITの更新状況を監視するとともに、AITが更新された場合は、アプリケーション状態管理部2712、および、特殊再生区間処理管理部2703へ更新された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プログラムのプログラム名である。
列2205は、各Javaプログラムに対応する一時停止フラグである。一時停止フラグは、特殊再生中にその対応するJavaプログラムを一時停止状態にするかどうかを表すフラグである。一時停止フラグ値が“true”である場合は特殊再生状態になれば、対応するJavaプログラムを一時停止させて、その後、特殊再生が解除されて通常再生状態になれば、一時停止させたJavaプログラムの実行を再開することを意味する。また、一時停止フラグ値が“false”である場合は特殊再生状態になったとしても、対応するJavaプログラムを一時停止させずに、実行し続けることを意味する。図22においては、Javaプログラム識別子“301”に対応するJavaプログラム“/a/TopXlet”は、一時停止フラグ値が“true”であるので、特殊再生中に一時停止させる。
行2211、行2212、行2213、行2214は、Javaプログラムの情報の組である。行2211で定義されるJavaプログラムは、Javaプログラムの識別子「301」、制御情報「autostart」、DSM−CC識別子「1」、プログラム名「a/TopXlet」、一時停止フラグ「true」の組である。同様に、行2212で定義されるJavaプログラムは、Javaプログラムの識別子「302」、制御情報「present」、DSM−CC識別子「1」、プログラム名「b/GameXlet」、一時停止フラグ「false」の組である。ここで、行2211、行2212、行2214で定義される3つのJavaプログラムは同一のDSM−CC識別子をもつが、これは1つのDSM−CC方式でエンコードされたファイルシステム内に3つのJavaプログラムが含まれていることを表す。ここでは、Javaプログラムに対して5つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
アプリケーション状態管理部2712は、特殊再生区間処理部2702から要求されることで、あるいは、AIT監視部2711から引き渡された更新されたAITの内容を解析することで、Javaプログラムの実行状態を管理する。
まず、AIT監視部2711からAITが引き渡された場合の動作を以下に述べる。
アプリケーション状態管理部2712は、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSM−CC識別子およびJavaプログラム名を抽出する。図22を参照して、アプリケーション状態管理部2712は行2211のJavaプログラムを抽出し、DSM−CC識別子「1」およびJavaプログラム名「a/TopXlet」を取得する。次いでアプリケーション状態管理部2712は、AITから取得したDSM−CC識別子を用いて、JavaプログラムをDSM−CC方式で格納しているTSパケットのPIDをPMTから取得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSM−CC識別子が合致するエレメンタリストリームのPIDを取得する。ここで、DSM−CC識別子が「1」であり、PMTが図11とすると、行1114のエレメンタリストリームが合致し、PID「5014」を取り出す。
アプリケーション状態管理部2712は、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSM−CC識別子およびJavaプログラム名を抽出する。図22を参照して、アプリケーション状態管理部2712は行2211のJavaプログラムを抽出し、DSM−CC識別子「1」およびJavaプログラム名「a/TopXlet」を取得する。次いでアプリケーション状態管理部2712は、AITから取得したDSM−CC識別子を用いて、JavaプログラムをDSM−CC方式で格納しているTSパケットのPIDをPMTから取得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSM−CC識別子が合致するエレメンタリストリームのPIDを取得する。ここで、DSM−CC識別子が「1」であり、PMTが図11とすると、行1114のエレメンタリストリームが合致し、PID「5014」を取り出す。
アプリケーション状態管理部2712は、SF1704eに、DSM−CC方式でデータが埋めこまれたMPEG2セクションを伝送するTSパケットのPIDおよびセクションフィルタ条件を指定する。ここでは、PID「5014」を与える。この結果、アプリケーション状態管理部2712は、DSM−CC1704dを用いて、DSM−CC方式に従ってファイルシステムを復元し、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」である。
次いでアプリケーション状態管理部2712は、1次記憶部1308にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1703に引き渡す。ここで、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図23を参照して、ファイル2304が実行すべきJavaプログラムである。次いでアプリケーション状態管理部2712は、ファイル2304をJavaVM1703に引き渡すと、そのファイルはJavaプログラムとしてJava VM上で実行される。制御情報に「kill」が指定されていた場合は、Javaプログラムを終了させる。
アプリケーション状態管理部2712は、新しいAITバージョンを持つAITが来る度にそのAITを解析してJavaプログラムの実行状態を変更させる。
次に、特殊再生区間処理部2702からJavaプログラムの状態変更を要求された場合の動作を以下に述べる。
アプリケーション状態管理部2712は、Javaプログラムの実行状態を管理する機能として、指定されたJavaプログラム識別子に対応するJavaプログラムを一時停止させる機能、および、一時停止させるJavaプログラムを再開する機能を提供する。具体的には、アプリケーション状態管理部2712は、Javaプログラムを一時停止させるpause(int appID)というメソッドと、一時停止中のJavaプログラムを再び実行させるresume(int appID)というメソッドを提供する。ここで、appIDはJavaプログラム識別子である。特殊再生区間処理部2702がpauseメソッドを呼び出すと、アプリケーション状態管理部2712は、引数として指定されたJavaプログラム識別子に対応するJavaプログラムを一時停止させる。例えば、pause(503)と呼び出されれば、Javaプログラム識別子“503”に対応するJavaプログラムを一時停止させる。また、特殊再生区間処理部2702がresumeメソッドを呼び出すと、アプリケーション状態管理部2712は、引数として指定されたJavaプログラム識別子に対応するJavaプログラムを再開する。例えば、resume(503)と呼び出されれば、Javaプログラム識別子“503”に対応する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を通じて特殊再生を指示した場合、その特殊再生の指示前における再生速度、および、指示後における再生速度を特殊再生マネージャ1704gの特殊再生開始/終了判定部2701へ引き渡す。
レコーディングマネージャ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に示す経路で流れるように設定する。まず、サービスマネージャ1704fは、チャンネル識別子をキーとして、ライブラリ1701bが保有するチャンネル情報から当該チャンネル識別子に相当するチューニング情報を得る。その後、Tuner1704cにチューニング情報を与えると、Tuner1704cはチューニングを開始する。ここで、チューニング情報は、周波数や変調方式などが特定可能な情報である。その後、JMF1704aにMPEG2トランスポートストリームの所在としてアダプタ1311を与え、また再生すべきチャンネル識別子を与える。すると、JMF1704aは、既に述べた動作によって、アダプタ1311から出力されるMPEG2トランスポートストリームに多重された映像と音声の再生を開始する。
更に、AM1704bにもMPEG2トランスポートストリームの所在としてアダプタ1311を与え、また再生すべきチャンネル識別子を与える。すると、AM1704bはアダプタ1311から出力されるMPEG2トランスポートストリームに多重されたAITに従って、2次記憶部1307から出力されるMPEG2トランスポートストリームに多重されたJavaプログラムの実行および終了を開始する。その後、2次記憶部1307から出力されるMPEG2トランスポートストリームの終端まで、上述のサービスの再生を継続する。
グラフィックス1704iは、サービスに含まれるJavaプログラムによって描画を指示されたグラフィックスを、ライブラリ1701bを介して、グラフィックスプレーン1314上に描画するための機能を提供する。これは、Java AWT(Abstract Window Toolkit)の機能で実現される。グラフィックスプレーン1314上に描画されたグラフィックスは、CPUによって指示される適当な頻度でディスプレイ1305へ転送されて表示される。
特殊再生マネージャ1704gは、現在再生中のサービスに関して、特殊再生の状態を監視するとともに、その変更に応じて、AM1704bへそのサービスに含まれるJavaプログラムの制御を指示する。
図27は、特殊再生マネージャ1704gの詳細な構成を示した図である。
特殊再生開始/終了判定部2701は、早送り、巻戻し、スロー再生、あるいは、一時停止などの特殊再生の開始、および、終了を判定する。JMF1704aがJavaプログラムから要求されてMPEG2トランスポートストリームの読出速度を変更した場合に、JMF1704aからその変更前の読出速度、および、その変更後の読出速度が通知されることで、特殊再生開始/終了判定部2701は、特殊再生の開始、あるいは、終了を判定する。読出速度が1.0倍速から1.0倍速以外の倍速へ変更された場合は、特殊再生の開始と判定する一方、読出速度が1.0倍速以外の倍速から1.0倍速へ変更された場合は、特殊再生の終了と判定する。例えば、MPEG2トランスポートストリームの読出速度が1.0倍速から2.0倍速へ変更した場合は、特殊再生が開始したと判定する。逆にMPEG2トランスポートストリームの読出速度が2.0倍速から1.0倍速へ変更した場合は、特殊再生が終了したと判定する。その判定結果が特殊再生の開始、あるいは、終了のいずれかの場合は、特殊再生区間処理管理部2703へその判定結果を引き渡す。
特殊再生開始/終了判定部2701は、早送り、巻戻し、スロー再生、あるいは、一時停止などの特殊再生の開始、および、終了を判定する。JMF1704aがJavaプログラムから要求されてMPEG2トランスポートストリームの読出速度を変更した場合に、JMF1704aからその変更前の読出速度、および、その変更後の読出速度が通知されることで、特殊再生開始/終了判定部2701は、特殊再生の開始、あるいは、終了を判定する。読出速度が1.0倍速から1.0倍速以外の倍速へ変更された場合は、特殊再生の開始と判定する一方、読出速度が1.0倍速以外の倍速から1.0倍速へ変更された場合は、特殊再生の終了と判定する。例えば、MPEG2トランスポートストリームの読出速度が1.0倍速から2.0倍速へ変更した場合は、特殊再生が開始したと判定する。逆にMPEG2トランスポートストリームの読出速度が2.0倍速から1.0倍速へ変更した場合は、特殊再生が終了したと判定する。その判定結果が特殊再生の開始、あるいは、終了のいずれかの場合は、特殊再生区間処理管理部2703へその判定結果を引き渡す。
特殊再生区間処理管理部2703は、特殊再生開始/終了判定部2701による判定結果にもとづいて、あるいは、AIT監視部2711によって通知される更新されたAITにもとづいて、特殊再生区間処理部2702へJavaプログラムに対する特殊再生開始/終了時の処理を指示する。具体的には、特殊再生区間処理部2702へ処理対象となるJavaプログラム識別子、および、特殊再生フラグ値を引き渡して処理させる。
まず、特殊再生開始/終了判定部2701による判定結果にもとづいて、特殊再生区間処理部2702へJavaプログラムに対する特殊再生開始/終了時の処理を指示する場合を以下に説明する。
特殊再生区間処理管理部2703は、その内部にフラグ等のデータを一覧にした特殊再生区間処理情報を一時的に格納するためのバッファをもつ。
特殊再生開始/終了判定部2701からその判定結果が通知されると、まず特殊再生区間処理管理部2703は、自身が保持する特殊再生区間処理情報を参照して、処理すべきJavaプログラムに対応するJavaプログラム識別子を特定する。
図41は特殊再生区間処理管理部2703が保持する特殊再生区間処理情報の一例である。図41において、列2201、列2204、列2805、列4101は、それぞれJavaプログラム識別子、それに対応するプログラム名、一時停止フラグ、特殊再生フラグである。
特殊再生フラグは、現時点においてMPEG2トランスポートストリームの再生が特殊再生状態にあるかどうかを表すフラグである。特殊再生フラグ値が“on”である場合は現時点で特殊再生状態にあって、特殊再生フラグ値が“off”である場合は現時点で特殊再生状態にはないことを意味する。特殊再生フラグは、特殊再生開始/終了判定部2701が通知する結果によって更新される。すなわち、特殊再生開始/終了判定部2701によって特殊再生が開始したと判定された場合は特殊再生フラグ値が“on”と更新されて、特殊再生が終了したと判定された場合は特殊再生フラグ値が“off”と更新される。
一時停止フラグは、特殊再生中にその対応するJavaプログラムを一時停止状態にするかどうかを表すフラグである。一時停止フラグ値が“true”である場合は特殊再生中に対応するJavaプログラムを一時停止させることを意味する。例えば、図41を参照して、Javaプログラム識別子“301”に対応するJavaプログラム“/a/TopXlet”は、一時停止フラグ値が“true”であるので、特殊再生中に一時停止させる。
特殊再生区間処理管理部2703は、上述の一時停止フラグにもとづいて、特殊再生区間処理部2702へ引き渡すJavaプログラム識別子を特定する。具体的には、一時停止フラグ値が“true”と設定されているJavaプログラム識別子を、特殊再生区間処理部2702へ特殊再生フラグ値とともに引き渡す。例えば、ここで、図41を参照すれば、一時停止フラグ値が“true”であるJavaプログラム識別子は“301”となる。特殊再生開始/終了判定部2701が特殊再生開始と判定した場合、特殊再生区間処理管理部2703は、そのJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止させる処理を指示する。また、特殊再生開始/終了判定部2701が特殊再生終了と判定した場合、特殊再生区間処理管理部2703は、そのJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止から再開する処理を指示する。
次いで、AIT監視部2711によって通知される更新されたAITにもとづいて、特殊再生区間処理部2702へJavaプログラムに対する特殊再生開始/終了時の処理を指示する場合を以下に説明する。
図28Aあるいは図28Bは、それぞれAM1704bのAIT監視部2711から通知されるAITの一例である。AITが更新されるごとに、AIT監視部2711から特殊再生区間処理管理部2703へ更新されたAITが通知される。まず、特殊再生区間処理管理部2703は、一時停止フラグ値が変更されたか判定するために、更新前にその時点における一時停止フラグ値を含めた特殊再生区間処理情報をバッファに退避させておく。次に、通知されたAITを解析することで、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報中の各Javaプログラムに対応する一時停止フラグを更新する。例えば、AIT監視部2711において図28Aで示されるAITが検出された後に、図28Bで示されるAITが検出された場合は、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報中のJavaプログラム識別子“301”に対応する一時停止フラグ値が“true”から“false”へ更新される。
特殊再生区間処理情報が更新された場合は、特殊再生区間処理管理部2703はバッファ上に退避された一時停止フラグ値と、特殊再生区間処理情報中の一時停止フラグ値とを比較することで、更新前後でどのJavaプログラムの一時停止フラグ値が変更されたか判定する。一時停止フラグ値が変更されていない場合は、何もしない。一時停止フラグ値が変更されている場合は、特殊再生区間処理管理部2703は変更後の値を保持して、その後、特殊再生区間処理情報の特殊再生フラグによって、現時点において特殊再生中であるか判定する。特殊再生フラグ値が“off”、すなわち、現時点で特殊再生中でない場合は、何もしない。特殊再生フラグ値が“on”、すなわち、現時点で特殊再生中である場合は、一時停止フラグ値が“true”から“false”へ変更されたか、あるいは、“false”から“true”へ変更されたか判定する。
前者の場合、すなわち、一時停止フラグ値が“true”から“false”へ変更された場合は、その一時停止フラグに対応するJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止から再開する処理を指示する。
後者の場合、すなわち、一時停止フラグ値が“false”から“true”へ変更された場合は、その一時停止フラグに対応するJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止させる処理を指示する。
特殊再生区間処理部2702は、特殊再生区間処理管理部2703から処理すべきJavaプログラム識別子、および、特殊再生フラグ値を受け取って、そのJavaプログラム識別子に対応するJavaプログラムに対して適切な処理を実行する。特殊再生フラグ値が“on”である場合は、そのJavaプログラム識別子を引数として、アプリケーション状態管理部2712が提供するpauseメソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムの一時停止を指示する。一方、特殊再生フラグ値が“off”である場合は、そのJavaプログラム識別子を引数として、アプリケーション状態管理部2712が提供するresumeメソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムの再開を指示する。
例えば、図41を参照して、Javaプログラム識別子“301”、および、特殊再生フラグ値“on”を特殊再生区間処理管理部2703が特殊再生区間処理部2702へ引き渡した場合は、特殊再生区間処理部2702は、Javaプログラム識別子“301”に対応するJavaプログラム“/a/TopXlet”を一時停止させるために、Javaプログラム識別子“301”を引数として、AM1704bにおけるアプリケーション状態管理部2712が提供するpauseメソッドを呼び出すことで、Javaプログラム識別子“301”に対応するJavaプログラム“/a/TopXlet”を一時停止させるように指示する。また、Javaプログラム識別子“301”、および、特殊再生フラグ値“off”を特殊再生区間処理管理部2703が特殊再生区間処理部2702へ引き渡した場合は、特殊再生区間処理部2702は、Javaプログラム識別子“301”に対応するJavaプログラム“/a/TopXlet”を再開するために、Javaプログラム識別子“301”を引数として、AM1704bにおけるアプリケーション状態管理部2712が提供するresumeメソッドを呼び出すことで、Javaプログラム識別子“301”に対応するJavaプログラム“/a/TopXlet”を再開するように指示する。
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から読み出して再生する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図29は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示する(S2901)。それによって、サービスマネージャ1704fに2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生の指示、および、そのサービスを特定するレコード識別子が与えられる。次いで、サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示することで、JMF1704aが映像と音声の再生を開始する(S2902)。また、サービスマネージャ1704fは、AM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定することで、AM1704bのAIT監視部2711はAIT検出を開始する(S2903)。
ここで、更新されたAITが検出された場合は、AITにおける制御情報にもとづいて対応するJavaプログラムを制御する(S2904)。AITに「autostart」の制御情報が指定されたJavaプログラムに対しては、AM1704bのアプリケーション状態管理部2712はそのJavaプログラムを起動する(S2905)。AITに「kill」の制御情報が指定されたJavaプログラムに対しては、AM1704bのアプリケーション状態管理部2712はそのJavaプログラムを終了する(S2906)。次いで、AM1704bのAIT監視部2711は、その更新されたAITを特殊再生マネージャ1704gの特殊再生区間処理管理部2703へ通知する(S2907)。
図28Aあるいは図28BはそれぞれAITの一例である。AITが更新されるごとに、AIT監視部2711から特殊再生区間処理管理部2703へ更新されたAITが通知される。特殊再生区間処理管理部2703は、通知されたAITを解析することで、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報中の各Javaプログラムに対応する一時停止フラグを更新する。例えば、AIT監視部2711において図28Aで示されるAITが検出された後に、図28Bで示されるAITが検出された場合は、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報中のJavaプログラム識別子“301”に対応する一時停止フラグ値が“true”から“false”へ更新される。
そして、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報の更新に応じて、特殊再生マネージャ1704gにおいて処理がなされる(S2908)。その処理に関しては後述する。その後、AIT監視部2711によるAIT検出へ戻る(S2903)。
更新されたAITが検出されなかった場合は、Javaプログラムが特殊再生を指示したか判定する(S2909)。ここで、Javaプログラムがfactorを“2.0”としてsetRate()を呼び出した、すなわち、特殊再生が指示された場合は、JMF1704aは、2次記憶部1307からのMPEG2トランスポートストリームの読出速度を通常の2倍に設定する(S2910)。特殊再生が指示されなかった場合は、AIT監視部2711によるAIT検出へ戻る(S2903)。次いで、JMF1704aは、変更前後のMPEG2トランスポートストリームの読出速度の値を特殊再生マネージャ1704gの特殊再生開始/終了判定部2701へ通知する(S2911)。
そして、MPEG2トランスポートストリームの再生速度の変更に応じて、特殊再生マネージャ1704gにおいて処理がなされる(S2912)。その処理に関しては後述する。その後、AIT監視部2711によるAIT検出へ戻る(S2903)。
図30は、MPEG2トランスポートストリームの再生速度の変更に応じて、特殊再生マネージャ1704gにおいて処理される流れを示したフローチャートである。
JavaプログラムによってsetRate()を呼び出されてMPEG2トランスポートストリームの再生速度が変更された場合に、JMF1704aから変更前後の再生速度が特殊再生マネージャ1704gの特殊再生開始/終了判定部2701へ通知されると、まず特殊再生開始/終了判定部2701は変更前の再生速度が“1.0”か判定する(S3001)。変更前の再生速度が“1.0”ならば、さらに変更後の再生速度が“1.0”か判定して(S3002)、変更後の再生速度が“1.0”でなければ、特殊再生が開始されたと判定する。そして、その判定結果を特殊再生区間処理管理部2703へ引き渡す。変更後の再生速度が“1.0”ならば、何もしない。
特殊再生区間処理管理部2703は、特殊再生が開始されたとの結果を受けると、保持されている特殊再生区間処理情報において、一時停止フラグ値が“true”であるJavaプログラム識別子があるか判定する(S3003)。ここで、図41を参照すれば、一時停止フラグ値が“true”であるJavaプログラム識別子は“301”となる。特殊再生区間処理管理部2703は、そのJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止させる処理を指示する(S3004)。特殊再生区間処理部2702は、Javaプログラム識別子“301”を引数として、AM1704bにおけるアプリケーション状態管理部2712が提供するpauseメソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムの一時停止させる処理を指示する(S3005)。
また、特殊再生開始/終了判定部2701において、変更前の再生速度が“1.0”でなければ、さらに変更後の再生速度が“1.0”か判定して(S3006)、変更後の再生速度が“1.0”であれば、特殊再生が終了されたと判定する。そして、その判定結果を特殊再生区間処理管理部2703へ引き渡す。変更後の再生速度が“1.0”でなければ、何もしない。
特殊再生区間処理管理部2703は、特殊再生が終了されたとの結果を受けると、保持されている特殊再生区間処理情報において、一時停止フラグ値が“true”であるJavaプログラム識別子があるか判定する(S3007)。ここで、図41を参照すれば、一時停止フラグ値が“true”であるJavaプログラム識別子は“301”となる。特殊再生区間処理管理部2703は、そのJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止から再開する処理を指示する(S3008)。特殊再生区間処理部2702は、Javaプログラム識別子“301”を引数として、AM1704bにおけるアプリケーション状態管理部2712が提供するresumeメソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムの一時停止から再開する処理を指示する(S3009)。
図31は、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報の更新に応じて、特殊再生マネージャ1704gにおいて処理される流れを示したフローチャートである。
更新されたAITが検出された場合に特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報が更新されると、特殊再生区間処理管理部2703はいずれかのJavaプログラムに対応する一時停止フラグ値が変更されたか判定する(S3101)。ここで、一時停止フラグ値が変更されたか判定するために、更新前にその時点における一時停止フラグ値を含めた特殊再生区間処理情報をバッファに退避させておく。バッファ上に退避された一時停止フラグ値と、特殊再生区間処理情報中の一時停止フラグ値とを比較することで、更新前後で一時停止フラグ値が変更されたか判定する。一時停止フラグ値が変更されていない場合は、何もしない。一時停止フラグ値が変更されている場合は、特殊再生区間処理管理部2703は変更後の値を保持して(S3102)、その後、特殊再生区間処理情報の特殊再生フラグによって、現時点において特殊再生中であるか判定する(S3103)。
特殊再生フラグ値が“off”、すなわち、現時点で特殊再生中でない場合は、何もしない。特殊再生フラグ値が“on”、すなわち、現時点で特殊再生中である場合は、一時停止フラグ値が“true”から“false”へ変更されたか、あるいは、“false”から“true”へ変更されたか判定する(S3104)。後者の場合、すなわち、一時停止フラグ値が“false”から“true”へ変更された場合は、その一時停止フラグに対応するJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止させる処理を指示する(S3105)。特殊再生区間処理部2702は、Javaプログラム識別子“301”を引数として、AM1704bにおけるアプリケーション状態管理部2712が提供するpauseメソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムの一時停止させる処理を指示する(S3106)。
前者の場合、すなわち、一時停止フラグ値が“true”から“false”へ変更された場合は、その一時停止フラグに対応するJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止から再開する処理を指示する(S3107)。特殊再生区間処理部2702は、Javaプログラム識別子“301”を引数として、AM1704bにおけるアプリケーション状態管理部2712が提供するresumeメソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムの一時停止から再開する処理を指示する(S3108)。
以上説明したように、実施の形態1によれば、特殊再生中には一時停止フラグが設定されているJavaプログラムを一時停止状態にすることで、特殊再生中におけるJavaプログラムの予期しない挙動を未然に防止することが可能となる。
(実施の形態2)
以下に、本発明の実施の形態2に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態2に係る装置および方法を、図面を参照しながら説明する。
実施の形態2に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。
実施の形態2のソフトウェア構成は、図17に示すものと同様である。AM1704b、および、特殊再生マネージャ1704g以外の構成要素は、実施の形態1のソフトウェア構成の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。また、実施の形態2で用いる各種データ形式は、図20から図22までの図面、および、図41に示すものと同様であるため、再度の説明は省略する。
図32は、Javaライブラリ1704におけるAM1704b、および、特殊再生マネージャ1704gの詳細な構成を示す図である。
AM1704bは、AIT監視部2711と、アプリケーション状態管理部2712で構成される。アプリケーション状態管理部2712は、実施の形態1と同様の機能をもつため、再度の説明は省略する。
AIT監視部2711は、実施の形態1と同様に、MPEG2トランスポートストリームとチャンネル識別子を入力として、AITの更新状況を監視する。実施の形態1においては、AITが更新された場合に、特殊再生区間処理管理部2703、および、アプリケーション状態管理部2712へ更新されたAITを通知するが、本実施の形態においては、アプリケーション状態管理部2712のみへ更新されたAITを通知する。特殊再生区間処理管理部2703へ更新されたAITを通知する動作を除いて、本実施の形態におけるAIT監視部2711の動作は、実施の形態1におけるAIT監視部2711の動作と同様である。
特殊再生マネージャ1704gは、特殊再生開始/終了判定部2701、特殊再生区間処理部2702、特殊再生区間処理管理部2703、および、特殊再生区間処理情報登録特権判定部3201で構成される。特殊再生開始/終了判定部2701、および、特殊再生区間処理部2702は、それぞれ実施の形態1と同様の機能をもつため、再度の説明は省略する。
特殊再生区間処理管理部2703は、実施の形態1と同様に、各Javaプログラムに対する特殊再生開始/終了時の処理を記述する特殊再生区間処理情報を保持するとともに、その特殊再生区間処理情報にもとづいて、特殊再生区間処理部2702へ適切なJavaプログラムに対する特殊再生開始/終了時の処理を指示する。実施の形態1においては、AITが更新された場合に、AIT監視部2711から更新されたAITが通知されて、そのAITにもとづいて保持する特殊再生区間処理情報中の一時停止フラグが更新されるが、本実施の形態においては、AITが更新された場合であっても、AIT監視部2711から更新されたAITは通知されない。特殊再生区間処理管理部2703は、一時停止フラグ値を引数としてもつsetPausingFlag(int appID,boolean pausingFlag)メソッドをJavaAPIとして提供する。
ここで、引数appIDは一時停止フラグ値を設定する対象のJavaプログラム識別子であって、引数pausingFlagは一時停止フラグ値である。あるJavaプログラムからsetPausingFlagメソッドが呼び出されることで、保持する特殊再生区間処理情報中の一時停止フラグが更新される。例えば、JavaプログラムからsetPausingFlag(301,true)と呼び出されれば、Javaプログラム識別子“301”をもつJavaプログラムに対応する一時停止フラグは“true”と設定される。一方、JavaプログラムからsetPausingFlag(301,false)と呼び出されれば、Javaプログラム識別子“301”をもつJavaプログラムに対応する一時停止フラグは“false”と設定される。
特殊再生区間処理管理部2703は、setPausingFlagメソッドが呼び出されると、まず呼出元のJavaプログラムが一時停止フラグを更新する特権、すなわち、パーミッションをもつか判定するために、特殊再生区間処理情報登録特権判定部3201へ、呼出元のJavaプログラム識別子を引き渡す。特殊再生区間処理情報登録特権判定部3201からは、引き渡したJavaプログラムが一時停止フラグを更新する特権をもつか判定した結果が返される。
特殊再生区間処理情報登録特権判定部3201からの判定結果が、呼出元のJavaプログラムは一時停止フラグを更新する特権をもたないことを示す場合は、呼出元のJavaプログラムへその旨を返す。一方、呼出元のJavaプログラムは一時停止フラグを更新する特権をもつことを示す場合は、その時点における一時停止フラグ値を含めた特殊再生区間処理情報をバッファに退避させておいて、そのJavaプログラムが指定した一時停止フラグ値を設定する。次に、Javaプログラムに対応する一時停止フラグ値が変更されたか判定する。バッファ上に退避された一時停止フラグ値と、特殊再生区間処理情報中の一時停止フラグ値とを比較することで、更新前後でどのJavaプログラムの一時停止フラグ値が変更されたか判定する。ここで、一時停止フラグ値が変更されていない場合は、何もしない。一時停止フラグ値が変更されている場合は、特殊再生区間処理管理部2703は変更後の値を保持して、その後、特殊再生区間処理情報の特殊再生フラグによって、現時点において特殊再生中であるか判定する。特殊再生フラグ値が“off”、すなわち、現時点で特殊再生中でない場合は、何もしない。特殊再生フラグ値が“on”、すなわち、現時点で特殊再生中である場合は、一時停止フラグ値が“true”から“false”へ変更されたか、あるいは、“false”から“true”へ変更されたか判定する。
前者の場合、すなわち、一時停止フラグ値が“true”から“false”へ変更された場合は、その一時停止フラグに対応するJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止から再開する処理を指示する。
後者の場合、すなわち、一時停止フラグ値が“false”から“true”へ変更された場合は、その一時停止フラグに対応するJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止させる処理を指示する。
特殊再生区間処理情報登録特権判定部3201は、指定されたJavaプログラム識別子に対応するJavaプログラムが、特殊再生区間処理情報中の一時停止フラグを更新する特権をもつかどうか判定する。特殊再生区間処理管理部2703からJavaプログラム識別子が引き渡されると、そのJavaプログラム識別子に対応するJavaプログラムが特殊再生区間処理情報中の一時停止フラグを更新するためのパーミッションをもつかどうか判定して、その後、そのパーミッションをもつ場合は、特殊再生区間処理管理部2703へ特殊再生区間処理情報中の一時停止フラグの更新を許可する。
ここで、特殊再生区間処理情報中の一時停止フラグを更新する特権、すなわち、パーミッションは、例えば、OCAP仕様書におけるMonitorAppPermissionなどで設定できる。これは、Javaプログラムが格納されているディレクトリ中にパーミッション記述ファイルをあわせて格納しておき、そのパーミッション記述ファイルに許可された特権の一覧を持つ方式である。例えば、ocap.application名.permという名前のファイルに、<ocap:monitorapplication name=“setPausingFlag” value=true></ocap:monitorapplication>のような形式で記述すると、application名で指定されたJavaプログラムは特殊再生区間処理情報中の一時停止フラグを更新する特権を持つことができる。
まずJavaプログラムが特殊再生マネージャ1704gの特殊再生区間処理管理部2703が提供するsetPausingFlagメソッドを呼び出して、特殊再生区間処理情報中の一時停止フラグ値の設定を要求する。特殊再生区間処理管理部2703は、特殊再生区間処理情報登録特権判定部3201へ、setPausingFlagメソッドを呼び出したJavaプログラムに対応するJavaプログラム識別子を引き渡して、そのJavaプログラムが一時停止フラグを更新する特権をもつかどうか判定する。ここで、そのJavaプログラムが一時停止フラグを更新する特権をもたない場合は、特殊再生区間処理管理部2703へその旨を返して終了する。そのJavaプログラムが一時停止フラグを更新する特権をもつ場合は、特殊再生区間処理管理部2703へその旨を返す。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図33は、Javaプログラムが特殊再生マネージャ1704gへ特殊再生区間処理情報中の一時停止フラグの更新を指示する場合のフローチャートである。
まずJavaプログラムが特殊再生マネージャ1704gの特殊再生区間処理管理部2703が提供するsetPausingFlagメソッドを呼び出して、特殊再生区間処理情報中の一時停止フラグ値の設定を要求する(S3301)。特殊再生区間処理管理部2703は、特殊再生区間処理情報登録特権判定部3201へ、setPausingFlagメソッドを呼び出したJavaプログラムに対応するJavaプログラム識別子を引き渡して、そのJavaプログラムが一時停止フラグを更新する特権をもつかどうか判定する(S3302)。ここで、そのJavaプログラムが一時停止フラグを更新する特権をもたない場合は、特殊再生区間処理管理部2703へその旨を返して終了する。そのJavaプログラムが一時停止フラグを更新する特権をもつ場合は、特殊再生区間処理管理部2703へその旨を返して、そのJavaプログラムが指定した一時停止フラグ値を設定する(S3303)。ここで、Javaプログラムに対応する一時停止フラグ値が変更されたか判定する(S3304)。ここで、一時停止フラグ値が変更されたか判定するために、更新前にその時点における一時停止フラグ値を含めた特殊再生区間処理情報をバッファに退避させておく。バッファ上に退避された一時停止フラグ値と、特殊再生区間処理情報中の一時停止フラグ値とを比較することで、更新前後で一時停止フラグ値が変更されたか判定する。
ここで、一時停止フラグ値が変更されていない場合は、何もしない。一時停止フラグ値が変更されている場合は、特殊再生区間処理管理部2703は変更後の値を保持して(S3305)、その後、特殊再生区間処理情報の特殊再生フラグによって、現時点において特殊再生中であるか判定する(S3306)。特殊再生フラグ値が“off”、すなわち、現時点で特殊再生中でない場合は、何もしない。特殊再生フラグ値が“on”、すなわち、現時点で特殊再生中である場合は、一時停止フラグ値が“true”から“false”へ変更されたか、あるいは、“false”から“true”へ変更されたか判定する(S3307)。後者の場合、すなわち、一時停止フラグ値が“false”から“true”へ変更された場合は、その一時停止フラグに対応するJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止させる処理を指示する(S3308)。特殊再生区間処理部2702は、Javaプログラム識別子“301”を引数として、AM1704bにおけるアプリケーション状態管理部2712が提供するpauseメソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムの一時停止させる処理を指示する(S3309)。
前者の場合、すなわち、一時停止フラグ値が“true”から“false”へ変更された場合は、その一時停止フラグに対応するJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムを一時停止から再開する処理を指示する(S3310)。特殊再生区間処理部2702は、Javaプログラム識別子“301”を引数として、AM1704bにおけるアプリケーション状態管理部2712が提供するresumeメソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムの一時停止から再開する処理を指示する(S3311)。
図34は、2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合のフローチャートである。
まず、ユーザがEPG1702にMPEG2トランスポートストリームからのサービス再生を指示する(S3401)。それによって、サービスマネージャ1704fに2次記憶部1307に記録されたMPEG2トランスポートストリームからのサービス再生の指示、および、そのサービスを特定するレコード識別子が与えられる。次いで、サービスマネージャ1704fは、JMF1704aに2次記憶部1307に記録されたMPEG2トランスポートストリームからの映像と音声の再生を指示することで、JMF1704aが映像と音声の再生を開始する(S3402)。また、サービスマネージャ1704fは、AM1704bに対して、2次記憶部1307に記録されたMPEG2トランスポートストリームを指定することで、AM1704bのAIT監視部2711はAIT検出を開始する(S3403)。
ここで、更新されたAITが検出された場合は、AITにおける制御情報にもとづいて対応するJavaプログラムを制御する(S3404)。AITに「autostart」の制御情報が指定されたJavaプログラムに対しては、AM1704bのアプリケーション状態管理部2712はそのJavaプログラムを起動する(S3405)。AITに「kill」の制御情報が指定されたJavaプログラムに対しては、AM1704bのアプリケーション状態管理部2712はそのJavaプログラムを終了する(S3406)。その後、AIT監視部2711によるAIT検出へ戻る(S3403)。
更新されたAITが検出されなかった場合は、Javaプログラムが特殊再生を指示したか判定する(S3407)。ここで、Javaプログラムがfactorを“2.0”としてsetRate()を呼び出した、すなわち、特殊再生が指示された場合は、JMF1704aは、2次記憶部1307からのMPEG2トランスポートストリームの読出速度を通常の2倍に設定する(S3408)。特殊再生が指示された場合は、AIT監視部2711によるAIT検出へ戻る(S3403)。次いで、JMF1704aは、変更前後のMPEG2トランスポートストリームの読出速度の値を特殊再生マネージャ1704gの特殊再生開始/終了判定部2701へ通知する(S3409)。
そして、MPEG2トランスポートストリームの再生速度の変更に応じて、特殊再生マネージャ1704gにおいて処理がなされる(S3410)。その処理に関しては実施の形態1と同様であるので、図30を参照して再度の説明は省略する。その後、AIT監視部2711によるAIT検出へ戻る(S3403)。
以上説明したように、実施の形態2によれば、特殊再生中には一時停止フラグが設定されているJavaプログラムを一時停止状態にすることで、特殊再生中におけるJavaプログラムの予期しない挙動を未然に防止することが可能となる。また、Javaプログラムによって一時停止フラグを設定することで、AITによる一時停止フラグの制御よりも柔軟な制御が可能となる。
(実施の形態3)
以下に、本発明の実施の形態3に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態3に係る装置および方法を、図面を参照しながら説明する。
実施の形態3に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。
実施の形態3のソフトウェア構成は、図17に示すものと同様である。AM1704b、特殊再生マネージャ1704g、および、グラフィックス1704i以外の構成要素は、実施の形態1のソフトウェア構成の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。また、実施の形態3で用いる各種データ形式は、図22および図41以外は図20から図21までの図面と同様であるため、再度の説明は省略する。
図35は、Javaライブラリ1704におけるAM1704b、特殊再生マネージャ1704g、および、グラフィックス1704iの詳細な構成を示す図である。
AM1704bは、実施の形態1と同様に、AIT監視部2711と、アプリケーション状態管理部2712で構成される。AIT監視部2711は、実施の形態1と同様の機能をもつため、再度の説明は省略する。
アプリケーション状態管理部2712は、実施の形態1においては、特殊再生区間処理部2702から要求されることで、あるいは、AIT監視部2711から引き渡された更新されたAITの内容を解析することで、Javaプログラムの実行状態を管理したが、本実施の形態においては、AIT監視部2711から引き渡された更新されたAITの内容を解析することのみで、Javaプログラムの実行状態を管理する。特殊再生区間処理部2702から要求された場合の動作を除いて、本実施の形態におけるアプリケーション状態管理部2712の動作は、実施の形態1におけるアプリケーション状態管理部2712の動作と同様である。
特殊再生マネージャ1704gは、特殊再生開始/終了判定部2701、特殊再生区間処理部2702、および、特殊再生区間処理管理部2703で構成される。特殊再生開始/終了判定部2701は、実施の形態1と同様の機能をもつため、再度の説明は省略する。
特殊再生区間処理管理部2703は、特殊再生開始/終了判定部2701からの判定結果にもとづいて、あるいは、AIT監視部2711によって通知される更新されたAITにもとづいて、特殊再生区間処理部2702へJavaプログラムに対する特殊再生開始/終了時の処理を指示する。具体的には、特殊再生区間処理部2702へ処理対象となるJavaプログラム識別子、および、特殊再生フラグ値を引き渡して処理させる。
まず、特殊再生開始/終了判定部2701からの判定結果にもとづいて、特殊再生区間処理部2702へJavaプログラムに対する特殊再生開始/終了時の処理を指示する場合を以下に説明する。
特殊再生開始/終了判定部2701からその判定結果が通知されると、まず特殊再生区間処理管理部2703は、自身が保持する特殊再生区間処理情報を参照して、処理すべきJavaプログラムに対応するJavaプログラム識別子を特定する。
図42は特殊再生区間処理管理部2703が保持する特殊再生区間処理情報の一例である。図42において、列2201、列2204、列3605、列4101は、それぞれJavaプログラム識別子、それに対応するプログラム名、非表示フラグ、特殊再生フラグである。
特殊再生フラグは、実施の形態1と同様に、現時点においてMPEG2トランスポートストリームの再生が特殊再生状態にあるかどうかを表すフラグである。
非表示フラグは、特殊再生中にJavaプログラムが描画するグラフィックスを非表示にするかどうかを表すフラグである。非表示フラグ値が“true”である場合は特殊再生状態になれば、対応するJavaプログラムが描画するグラフィックスを非表示として、その後、特殊再生が解除されて通常再生状態になれば、非表示としたJavaプログラムが描画するグラフィックスを再び表示することを意味する。また、非表示フラグ値が“false”である場合は特殊再生状態になったとしても、対応するJavaプログラムが描画するグラフィックスを非表示とせずに、表示し続けることを意味する。例えば、図42を参照して、Javaプログラム識別子“301”に対応するJavaプログラム“/a/TopXlet”は、非表示フラグ値が“true”であるので、特殊再生中に描画するグラフィックスを非表示とする。
特殊再生区間処理管理部2703は、上述の非表示フラグにもとづいて、特殊再生区間処理部2702へ引き渡すJavaプログラム識別子を特定する。具体的には、非表示フラグ値が“true”と設定されているJavaプログラム識別子を、特殊再生区間処理部2702へ特殊再生フラグ値とともに引き渡す。例えば、ここで、図42を参照すれば、非表示フラグ値が“true”であるJavaプログラム識別子は“301”となる。特殊再生開始/終了判定部2701が特殊再生開始と判定した場合、特殊再生区間処理管理部2703は、そのJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラムによって描画されるグラフィックスを非表示とする処理を指示する。また、特殊再生を終了した場合、特殊再生区間処理管理部2703は、そのJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラムによって描画されるグラフィックスを再び表示する処理を指示する。
次いで、AIT監視部2711によって通知される更新されたAITにもとづいて、特殊再生区間処理部2702へJavaプログラムに対する特殊再生開始/終了時の処理を指示する場合を説明する。
図36Aあるいは図36Bはそれぞれ、AM1704bのAIT監視部2711から通知されるAITの一例である。図36Aあるいは図36BにおけるJavaプログラム識別子2201、制御情報2202、DSM−CC識別子2203、および、プログラム名2204は、それぞれ図22におけるAITと同様であるので、再度の説明を省略する。列3605は、各Javaプログラムに対応する非表示フラグである。
AITが更新されるごとに、AIT監視部2711から特殊再生区間処理管理部2703へ更新されたAITが通知される。まず、特殊再生区間処理管理部2703は、非表示フラグ値が変更されたか判定するために、更新前にその時点における非表示フラグ値を含めた特殊再生区間処理情報をバッファに退避させておく。次に、通知されたAITを解析することで、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報中の各Javaプログラムに対応する非表示フラグを更新する。例えば、AIT監視部2711において図36Aで示されるAITが検出された後に、図36Bで示されるAITが検出された場合は、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報中の各Javaプログラム識別子“301”に対応する非表示フラグ値が“true”から“false”へ更新される。
特殊再生区間処理情報が更新された場合は、特殊再生区間処理管理部2703は、バッファ上に退避された非表示フラグ値と、特殊再生区間処理情報中の非表示フラグ値とを比較することで、更新前後でどのJavaプログラムの非表示フラグ値が変更されたか判定する。ここで、非表示フラグ値が変更されていない場合は、何もしない。非表示フラグ値が変更されている場合は、特殊再生区間処理管理部2703は変更後の値を保持して、その後、特殊再生区間処理情報の特殊再生フラグによって、現時点において特殊再生中であるか判定する。特殊再生フラグ値が“off”、すなわち、現時点で特殊再生中でない場合は、何もしない。特殊再生フラグ値が“on”、すなわち、現時点で特殊再生中である場合は、非表示フラグ値が“true”から“false”へ変更されたか、あるいは、“false”から“true”へ変更されたか判定する。
前者の場合、すなわち、非表示フラグ値が“true”から“false”へ変更された場合は、その非表示フラグに対応するJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムが描画するグラフィックスを再び表示する処理を指示する。
後者の場合、すなわち、非表示フラグ値が“false”から“true”へ変更された場合は、その非表示フラグに対応するJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムが描画するグラフィックスを非表示とする処理を指示する。
特殊再生区間処理部2702は、特殊再生区間処理管理部2703から処理すべきJavaプログラム識別子、および、特殊再生フラグ値を受け取って、そのJavaプログラム識別子に対応するJavaプログラムに対して適切な処理を実行する。特殊再生フラグ値が“on”である場合は、そのJavaプログラム識別子を引数として、グラフィックスプレーンフィルタ部3502が提供するinvalidate(int appID)メソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画の非表示を指示する。ここで、引数appIDはJavaプログラム識別子である。例えば、invalidate(301)と呼び出されれば、Javaプログラム識別子“301”に対応するJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画の非表示とする。一方、特殊再生フラグ値が“off”である場合は、そのJavaプログラム識別子を引数として、グラフィックスプレーンフィルタ部3502が提供するvalidate(int appID)メソッドを呼び出すことで、そのJavaプログラム識別子に対応するJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画の再表示を指示する。
ここで、引数appIDはJavaプログラム識別子である。例えば、validate(301)と呼び出されれば、Javaプログラム識別子“301”に対応するJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画を再び表示する。
例えば、図42を参照して、Javaプログラム識別子“301”、および、特殊再生フラグ値“on”を特殊再生区間処理管理部2703が特殊再生区間処理部2702へ引き渡した場合は、特殊再生区間処理部2702は、Javaプログラム識別子“301”に対応するJavaプログラムが描画するグラフィックスを非表示とするために、invalidate(301)と呼び出すことで、そのJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画を無効にするように指示する。また、Javaプログラム識別子“301”、および、特殊再生フラグ値“off”を特殊再生区間処理管理部2703が特殊再生区間処理部2702へ引き渡した場合は、特殊再生区間処理部2702は、Javaプログラム識別子“301”に対応するJavaプログラムが描画するグラフィックスを再び表示するために、validate(301)と呼び出すことで、グラフィックスプレーン1314へのそのJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画を有効にするように指示する。
グラフィックス1704iは、グラフィックスプレーン描画部3501、および、グラフィックスプレーンフィルタ部3502で構成される。
グラフィックスプレーン描画部3501は、Javaプログラムによって描画を指示されたグラフィックスを、ライブラリ1701bを介してグラフィックスプレーン1314上に描画する機能を有する。これは、Java AWT(Abstract Window Toolkit)の機能で実現される。グラフィックスプレーン1314上に描画されたグラフィックスはCPU1306からの指示によって適当な頻度でディスプレイ1305上へ転送されて表示される。
グラフィックスプレーンフィルタ部3502は、特殊再生区間処理部2702から引き渡されるJavaプログラム識別子にもとづいて、その対応するJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画を無効化あるいは有効化する機能を提供する。
具体的には、指定されたJavaプログラムが描画するグラフィックスの表示をディスプレイ1305上から消去する。特殊再生区間処理部2702からJavaプログラム識別子を引数としてinvalidateメソッドの呼出があれば、そのJavaプログラム識別子に対応するJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画を無効化する。また、特殊再生区間処理部2702からJavaプログラム識別子を引数としてvalidateメソッドの呼出があれば、そのJavaプログラム識別子に対応するJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画を有効化する。特殊再生区間処理部2702から指示されて、特定のJavaプログラムによるグラフィックスプレーン1314上へのグラフィックス描画を特殊再生中は無効に、通常再生中は有効にすることで、ディスプレイ1305上へはそのJavaプログラムが描画を指示したグラフィックスが特殊再生中に表示されないようになる。
2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合の処理の流れは、実施の形態1において図29で示したフローチャートと同様であるので、図29を援用することとして、再度の説明を省略する。
図37はMPEG2トランスポートストリームの再生速度の変更に応じて、特殊再生マネージャ1704gにおいて処理される流れを示したフローチャートである。
JavaプログラムによってsetRate()を呼び出されてMPEG2トランスポートストリームの再生速度が変更された場合に、JMF1704aから変更前後の再生速度が特殊再生マネージャ1704gの特殊再生開始/終了判定部2701へ通知されると、まず特殊再生開始/終了判定部2701は変更前の再生速度が“1.0”か判定する(S3701)。変更前の再生速度が“1.0”ならば、さらに変更後の再生速度が“1.0”か判定して(S3702)、変更後の再生速度が“1.0”でなければ、特殊再生が開始されたと判定する。そして、その判定結果を特殊再生区間処理管理部2703へ引き渡す。変更後の再生速度が“1.0”ならば、何もしない。
特殊再生区間処理管理部2703は、特殊再生が開始されたとの結果を受けると、保持されている特殊再生区間処理情報において、非表示フラグ値が“true”であるJavaプログラム識別子があるか判定する(S3703)。ここで、図42を参照すれば、非表示フラグ値が“true”であるJavaプログラム識別子は“301”となる。特殊再生区間処理管理部2703は、そのJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラムによって描画されるグラフィックスを非表示とする処理を指示する(S3704)。特殊再生区間処理部2702は、Javaプログラム識別子を引数としてグラフィックスプレーンフィルタ部3502が提供するinvalidateメソッドを呼び出すことで、そのJavaプログラムによるグラフィックスプレーン1314へのグラフィックス描画を無効とする処理を指示する(S3705)。
また、特殊再生開始/終了判定部2701において、変更前の再生速度が“1.0”でなければ、さらに変更後の再生速度が“1.0”か判定して(S3706)、変更後の再生速度が“1.0”であれば、特殊再生が終了されたと判定する。そして、その判定結果を特殊再生区間処理管理部2703へ引き渡す。変更後の再生速度が“1.0”でなければ、何もしない。
特殊再生区間処理管理部2703は、特殊再生が終了されたとの結果を受けると、保持されている特殊再生区間処理情報において、非表示フラグ値が“true”であるJavaプログラム識別子があるか判定する(S3707)。ここで、図42を参照すれば、非表示フラグ値が“true”であるJavaプログラム識別子は“301”となる。特殊再生区間処理管理部2703は、そのJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラムによって描画されるグラフィックスを再び表示する処理を指示する(S3708)。特殊再生区間処理部2702は、Javaプログラム識別子を引数としてグラフィックスプレーンフィルタ部3502が提供するvalidateメソッドを呼び出すことで、そのJavaプログラムによるグラフィックスプレーン1314へのグラフィックス描画を再び有効にする処理を指示する(S3709)。
図38は、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報の更新に応じて、特殊再生マネージャ1704gにおいて処理される流れを示したフローチャートである。
図36Aあるいは図36Bはそれぞれ、AM1704bのAIT監視部2711から通知されるAITの一例である。図36Aあるいは図36BにおけるJavaプログラム識別子2201、制御情報2202、DSM−CC識別子2203、および、プログラム名2204は、それぞれ図22におけるAITと同様であるので、再度の説明を省略する。列3605は、各Javaプログラムに対応する非表示フラグである。非表示フラグは、特殊再生中にJavaプログラムが描画するグラフィックスを非表示にするかどうかを表すフラグである。非表示フラグ値が“true”である場合は特殊再生中にJavaプログラムが描画するグラフィックスを非表示とすることを意味する。例えば、図36Aを参照して、Javaプログラム識別子“301”に対応するJavaプログラム“/a/TopXlet”は、非表示フラグ値が“true”であるので、特殊再生中に描画するグラフィックスを非表示とする。
AITが更新されるごとに、AIT監視部2711から特殊再生区間処理管理部2703へ更新されたAITが通知される。特殊再生区間処理管理部2703は、通知されたAITを解析することで、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報中の各Javaプログラムに対応する非表示フラグを更新する。例えば、AIT監視部2711において図36Aで示されるAITが検出された後に、図36Bで示されるAITが検出された場合は、特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報中の各Javaプログラム識別子“301”に対応する非表示フラグ値が“true”から“false”へ更新される。
図36Aから図36Bへと更新されたAITが検出された場合に特殊再生区間処理管理部2703に保持されている特殊再生区間処理情報が更新されると、特殊再生区間処理管理部2703は非表示フラグ値が変更されたか判定する(S3801)。ここで、非表示フラグ値が変更されたか判定するために、更新前にその時点における非表示フラグ値を含めた特殊再生区間処理情報をバッファに退避させておく。バッファ上に退避された非表示フラグ値と、特殊再生区間処理情報中の非表示フラグ値とを比較することで、更新前後で非表示フラグ値が変更されたか判定する。ここで、非表示フラグ値が変更されていない場合は、何もしない。非表示フラグ値が変更されている場合は、特殊再生区間処理管理部2703は変更後の値を保持して(S3802)、その後、特殊再生区間処理情報の特殊再生フラグによって、現時点において特殊再生中であるか判定する(S3803)。
特殊再生フラグ値が“off”、すなわち、現時点で特殊再生中でない場合は、何もしない。特殊再生フラグ値が“on”、すなわち、現時点で特殊再生中である場合は、非表示フラグ値が“true”から“false”へ変更されたか、あるいは、“false”から“true”へ変更されたか判定する(S3804)。後者の場合、すなわち、非表示フラグ値が“false”から“true”へ変更された場合は、その非表示フラグに対応するJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムが描画するグラフィックスを非表示とする処理を指示する(S3805)。特殊再生区間処理部2702は、Javaプログラム識別子を引数としてグラフィックスプレーンフィルタ部3502が提供するinvalidateメソッドを呼び出すことで、そのJavaプログラムによるグラフィックスプレーン1314へのグラフィックス描画を無効とする処理を指示する(S3806)。
前者の場合、すなわち、非表示フラグ値が“true”から“false”へ変更された場合は、その非表示フラグに対応するJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムが描画するグラフィックスを再び表示する処理を指示する(S3807)。特殊再生区間処理部2702は、Javaプログラム識別子を引数としてグラフィックスプレーンフィルタ部3502が提供するvalidateメソッドを呼び出すことで、そのJavaプログラムによるグラフィックスプレーン1314へのグラフィックス描画を再び有効にする処理を指示する(S3808)。
以上説明したように、実施の形態3によれば、非表示フラグが設定されている場合の特殊再生中には、Javaプログラムが描画するグラフィックスを非表示とすることで、特殊再生中に描画されるグラフィックスの乱れを未然に防止することが可能となる。
(実施の形態4)
以下に、本発明の実施の形態4に係る装置および方法を、図面を参照しながら説明する。
以下に、本発明の実施の形態4に係る装置および方法を、図面を参照しながら説明する。
実施の形態4に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。
実施の形態4のソフトウェア構成は、図17に示すものと同様である。AM1704b、および、特殊再生マネージャ1704g以外の構成要素は、実施の形態3のソフトウェア構成の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。また、実施の形態4で用いる各種データ形式は、図20から図21までの図面、図36A、図36B、および、図42に示すものと同様であるため、再度の説明は省略する。
図39は、Javaライブラリ1704におけるAM1704b、および、特殊再生マネージャ1704gの詳細な構成を示す図である。
AM1704bは、実施の形態1と同様に、AIT監視部2711と、アプリケーション状態管理部2712で構成される。AIT監視部2711は、実施の形態2と同様の機能をもつため、再度の説明は省略する。また、アプリケーション状態管理部2712は、実施の形態3と同様の機能をもつため、再度の説明は省略する。
特殊再生マネージャ1704gは、特殊再生開始/終了判定部2701、特殊再生区間処理部2702、特殊再生区間処理管理部2703、および、特殊再生区間処理情報登録特権判定部3201で構成される。特殊再生開始/終了判定部2701、および、特殊再生区間処理部2702は、それぞれ実施の形態3と同様の機能をもつため、再度の説明は省略する。
特殊再生区間処理管理部2703は、実施の形態3と同様に、Javaプログラムに対する特殊再生開始/終了時の処理を記述する特殊再生区間処理情報を保持するとともに、その特殊再生区間処理情報にもとづいて、特殊再生区間処理部2702へ適切な特殊再生開始/終了時の処理を指示する。実施の形態3においては、AITが更新された場合に、AIT監視部2711から更新されたAITが通知されて、そのAITにもとづいて保持する特殊再生区間処理情報中の非表示フラグが更新されるが、本実施の形態においては、AITが更新された場合であっても、AIT監視部2711から更新されたAITは通知されない。特殊再生区間処理管理部2703は、非表示フラグ値を引数としてもつsetInvisibleFlag(int appID,boolean invisibleFlag)メソッドをJavaAPIとして提供する。
ここで、引数appIDは非表示フラグ値を設定する対象のJavaプログラム識別子であって、引数invisibleFlagは非表示フラグ値である。あるJavaプログラムからsetInvisibleFlagメソッドが呼び出されることで、保持する特殊再生区間処理情報中の非表示フラグが更新される。例えば、JavaプログラムからsetInvisibleFlag(301,true)と呼び出されれば、Javaプログラム識別子“301”をもつJavaプログラムに対応する非表示フラグは“true”と設定される。一方、JavaプログラムからsetInvisibleFlag(301,false)と呼び出されれば、Javaプログラム識別子“301”をもつJavaプログラムに対応する非表示フラグフラグは“false”と設定される。
特殊再生区間処理管理部2703は、setInvisibleFlagメソッドが呼び出されると、まず呼出元のJavaプログラムが非表示フラグを更新する特権、すなわち、パーミッションをもつか判定するために、特殊再生区間処理情報登録特権判定部3201へ、呼出元のJavaプログラム識別子を引き渡す。特殊再生区間処理情報登録特権判定部3201からは、引き渡したJavaプログラムが非表示フラグを更新する特権をもつか判定した結果が返される。
特殊再生区間処理情報登録特権判定部3201からの判定結果が、呼出元のJavaプログラムは非表示フラグを更新する特権をもたないことを示す場合は、呼出元のJavaプログラムへその旨を返す。一方、呼出元のJavaプログラムは非表示フラグを更新する特権をもつことを示す場合は、その時点における非表示フラグ値を含めた特殊再生区間処理情報をバッファに退避させておいて、そのJavaプログラムが指定した非表示フラグ値を設定する。次に、Javaプログラムに対応する非表示フラグ値が変更されたか判定する。バッファ上に退避された非表示フラグ値と、特殊再生区間処理情報中の非表示フラグ値とを比較することで、更新前後で非表示フラグ値が変更されたか判定する。ここで、非表示フラグ値が変更されていない場合は、何もしない。非表示フラグ値が変更されている場合は、特殊再生区間処理管理部2703は変更後の値を保持して、その後、特殊再生区間処理情報の特殊再生フラグによって、現時点において特殊再生中であるか判定する。特殊再生フラグ値が“off”、すなわち、現時点で特殊再生中でない場合は、何もしない。特殊再生フラグ値が“on”、すなわち、現時点で特殊再生中である場合は、非表示フラグ値が“true”から“false”へ変更されたか、あるいは、“false”から“true”へ変更されたか判定する。
前者の場合、すなわち、非表示フラグ値が“true”から“false”へ変更された場合は、その非表示フラグに対応するJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値“off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムが描画するグラフィックスを再び表示する処理を指示する。
後者の場合、すなわち、非表示フラグ値が“false”から“true”へ変更された場合は、その非表示フラグに対応するJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値“on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムが描画するグラフィックスを非表示とする処理を指示する。
特殊再生区間処理情報登録特権判定部3201は、指定されたJavaプログラム識別子に対応するJavaプログラムが、特殊再生区間処理情報中の非表示フラグを更新する特権をもつかどうか判定する。特殊再生区間処理管理部2703からJavaプログラム識別子が引き渡されると、そのJavaプログラム識別子に対応するJavaプログラムが特殊再生区間処理情報中の非表示フラグを更新するためのパーミッションをもつかどうか判定して、その後、そのパーミッションをもつ場合は、特殊再生区間処理管理部2703へ特殊再生区間処理情報中の非表示フラグの更新を許可する。
ここで、特殊再生区間処理情報中の非表示フラグを更新する特権、すなわち、パーミッションは、例えば、OCAP仕様書におけるMonitorAppPermissionなどで設定できる。これは、Javaプログラムが格納されているディレクトリ中にパーミッション記述ファイルをあわせて格納しておき、そのパーミッション記述ファイルに許可された特権の一覧を持つ方式である。例えば、ocap.application名.permという名前のファイルに、<ocap:monitorapplication name=“setInvisibleFlag” value=true></ocap:monitorapplication>のような形式で記述すると、application名で指定されたJavaプログラムは特殊再生区間処理情報中の非表示フラグを更新する特権を持つことができる。
まずJavaプログラムが特殊再生マネージャ1704gの特殊再生区間処理管理部2703が提供するsetInvisibleFlagメソッドを呼び出して、特殊再生区間処理情報中の非表示フラグ値の設定を要求する。特殊再生区間処理管理部2703は、特殊再生区間処理情報登録特権判定部3201へ、setInvisibleFlagメソッドを呼び出したJavaプログラムに対応するJavaプログラム識別子を引き渡して、そのJavaプログラムが非表示フラグを更新する特権をもつかどうか判定する。ここで、そのJavaプログラムが非表示フラグを更新する特権をもたない場合は、特殊再生区間処理管理部2703へその旨を返して終了する。そのJavaプログラムが非表示フラグを更新する特権をもつ場合は、特殊再生区間処理管理部2703へその旨を返す。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図40は、Javaプログラムが特殊再生マネージャ1704gへ特殊再生区間処理情報中の非表示フラグの更新を指示する場合のフローチャートである。
まずJavaプログラムが特殊再生マネージャ1704gの特殊再生区間処理管理部2703が提供するsetInvisibleFlagメソッドを呼び出して、特殊再生区間処理情報中の非表示フラグ値の設定を要求する(S4001)。特殊再生区間処理管理部2703は、特殊再生区間処理情報登録特権判定部3201へ、setInvisibleFlagメソッドを呼び出したJavaプログラムに対応するJavaプログラム識別子を引き渡して、そのJavaプログラムが非表示フラグを更新する特権をもつかどうか判定する(S4002)。ここで、そのJavaプログラムが非表示フラグを更新する特権をもたない場合は、特殊再生区間処理管理部2703へその旨を返して終了する。そのJavaプログラムが非表示フラグを更新する特権をもつ場合は、特殊再生区間処理管理部2703へその旨を返して、そのJavaプログラムが指定した非表示フラグ値を設定する(S4003)。
ここで、Javaプログラムに対応する非表示フラグ値が変更されたか判定する(S4004)。ここで、非表示フラグ値が変更されたか判定するために、更新前にその時点における非表示フラグ値を含めた特殊再生区間処理情報をバッファに退避させておく。バッファ上に退避された非表示フラグ値と、特殊再生区間処理情報中の非表示フラグ値とを比較することで、更新前後で非表示フラグ値が変更されたか判定する。ここで、非表示フラグ値が変更されていない場合は、何もしない。非表示フラグ値が変更されている場合は、特殊再生区間処理管理部2703は変更後の値を保持して(S4005)、その後、特殊再生区間処理情報の特殊再生フラグによって、現時点において特殊再生中であるか判定する(S4006)。
特殊再生フラグ値が“off”、すなわち、現時点で特殊再生中でない場合は、何もしない。特殊再生フラグ値が“on”、すなわち、現時点で特殊再生中である場合は、非表示フラグ値が“true”から“false”へ変更されたか、あるいは、“false”から“true”へ変更されたか判定する(S4007)。後者の場合、すなわち、非表示フラグ値が“false”から“true”へ変更された場合は、その非表示フラグに対応するJavaプログラム識別子とともに、特殊再生が開始されたとの結果、すなわち、特殊再生フラグ値 “on”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムが描画するグラフィックスを非表示とする処理を指示する(S4008)。特殊再生区間処理部2702は、Javaプログラム識別子を引数としてグラフィックスプレーンフィルタ部3502が提供するinvalidateメソッドを呼び出すことで、そのJavaプログラムによるグラフィックスプレーン1314へのグラフィックス描画を無効にする処理を指示する(S4009)。
前者の場合、すなわち、非表示フラグ値が“true”から“false”へ変更された場合は、その非表示フラグに対応するJavaプログラム識別子とともに、特殊再生が終了されたとの結果、すなわち、特殊再生フラグ値 “off”を特殊再生区間処理部2702へ引き渡して、そのJavaプログラム識別子に対応するJavaプログラムが描画するグラフィックスを再び表示する処理を指示する(S4010)。特殊再生区間処理部2702は、Javaプログラム識別子を引数としてグラフィックスプレーンフィルタ部3502が提供するvalidateメソッドを呼び出すことで、そのJavaプログラムによるグラフィックスプレーン1314へのグラフィックス描画を再び有効にする処理を指示する(S4011)。
2次記憶部1307に記録されたMPEG2トランスポートストリームからサービスを再生する場合の処理の流れは、図34に示すフローチャートと同様であるので、図34を援用することとして、再度の説明を省略する。また、MPEG2トランスポートストリームの再生速度の変更に応じて、特殊再生マネージャ1704gにおいてなされる処理の流れは、実施の形態3と同様であるので、図37を参照して再度の説明は省略する。
以上説明したように、実施の形態4によれば、非表示フラグが設定されている場合の特殊再生中には、Javaプログラムが描画するグラフィックスを非表示とすることで、特殊再生中に描画されるグラフィックスの乱れを未然に防止することが可能となる。また、Javaプログラムによって非表示フラグを設定することで、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にてJavaプログラムの参照情報を記載するXAITが利用されている。その他、ROMに予め記録されているものを起動する、2次記憶にダウンロードして記憶したものを起動する、等の方法も考えられる。
上記に詳細に説明した本発明の実施の形態は単なる例示にすぎず、本発明の新規な教示および効果から実質的に逸脱することなく例示として挙げた実施の形態において様々な変更が可能であることは、当業者であれば容易に理解するところである。したがって、かかる変更はすべて本発明の範囲内に含まれるものである。
本発明に係る録画再生装置(記録再生装置)および録画再生方法は、端末がその録画したコンテンツを特殊再生させる場合に、アプリケーションプログラムが時間のかかる処理を実行していた場合であっても、また、アプリケーションプログラムが処理速度の低い端末上で実行されていた場合であっても、アプリケーションプログラムを一時停止状態へ遷移させる、あるいは、アプリケーションプログラムによるグラフィックス描画を一時的に無効にすることで、アプリケーションプログラムの予期しない挙動を抑制することが可能とする。また、殊に早送り、および、巻戻し時において、ハードディスク、BD(Blu−ray Disc)、DVD(Digital Versatile Disc)、SD(Secure Digital)メモリカード等に代表される半導体メモリ等に対する高負荷なアクセスを低減し、記録媒体の劣化を低減することが可能とするため、殊に放送録画再生装置に係る民生機器産業において利用される可能性が高い。例えば、ケーブル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は、本発明に係るDSM−CC方式で送信されるファイルシステムを表す模式図である。
図24は、本発明に係る録画再生装置の録画時におけるデバイス接続例を示す図である。
図25は、本発明に係る録画再生装置の再生時におけるデバイス接続例を示す図である。
図26は、本発明に係るレコード情報管理テーブルの一例を示す図である。
図27は、本発明に係る特殊再生マネージャおよびAMの構成の一例を示す図である。
図28Aは、本発明に係るDVB−MHP規格を拡張するAITの内容を表す模式図である。
図28Bは、本発明に係るDVB−MHP規格を拡張するAITの内容を表す模式図である。
図29は、本発明に係るサービス再生時におけるフローチャートである。
図30は、本発明に係るサービス再生速度の変更時におけるフローチャートである。
図31は、本発明に係るAITの更新時におけるフローチャートである。
図32は、本発明に係る特殊再生マネージャおよびAMの構成の一例である。
図33は、本発明に係るJavaプログラムによる一時停止フラグの更新時におけるフローチャートである。
図34は、本発明に係るサービス再生時におけるフローチャートである。
図35は、本発明に係る特殊再生マネージャおよびその他の構成の一例を示す図である。
図36Aは、本発明に係るDVB−MHP規格を拡張するAITの内容を表す模式図である。
図36Bは、本発明に係るDVB−MHP規格を拡張するAITの内容を表す模式図である。
図37は、本発明に係るサービス再生速度の変更時におけるフローチャートである。
図38は、本発明に係るAITの更新時におけるフローチャートである。
図39は、本発明に係る特殊再生マネージャおよびその他の構成の一例を示す図である。
図40は、本発明に係るJavaプログラムによる非表示フラグの更新時におけるフローチャートである。
図41は、本発明に係る特殊再生区間処理情報の内容を表す模式図である。
図42は、本発明に係る特殊再生区間処理情報の内容を表す模式図である。
Claims (13)
- 記録媒体に記録されたコンテンツを再生するコンテンツ再生手段と、
プログラムを実行するとともに、前記プログラムの状態を制御するプログラム実行手段と、
前記コンテンツの再生速度を前記実行中のプログラムからの指示にもとづいて変更するコンテンツ再生速度変更手段と、
前記再生速度が通常再生速度から前記通常再生速度とは異なる再生速度になったこと、または前記通常再生速度とは異なる再生速度から前記通常再生速度になったことを検知する特殊再生検知手段と、
前記特殊再生検知手段の検知にもとづいて前記プログラム実行手段へ前記プログラムの状態の変更を指示する特殊再生時処理手段とを備え、
前記プログラム実行手段は、前記プログラムが前記特殊再生時処理手段から指示された状態となるように、前記プログラムの状態を制御する
ことを特徴とする記録再生装置。 - 前記特殊再生検知手段が、前記再生速度が通常再生速度とは異なる再生速度になったことを検知した場合、
前記特殊再生時処理手段は、前記プログラム実行手段へ前記実行中のプログラムの状態を一時停止状態へ変更するよう指示するとともに、
前記プログラム実行手段は、前記プログラムの状態が一時停止状態となるように前記プログラムの実行を一時停止する
ことを特徴とする請求項1記載の記録再生装置。 - 前記特殊再生検知手段が、前記再生速度が前記通常再生とは異なる再生速度から通常再生速度になったことを検知した場合、
前記特殊再生時処理手段は、前記プログラム実行手段へ前記一時停止状態にされているプログラムの状態を実行状態へ変更するよう指示するとともに、
前記プログラム実行手段は、前記プログラムの状態が実行状態となるように前記プログラムの実行を再開する
ことを特徴とする請求項2記載の記録再生装置。 - 前記特殊再生時処理手段は、前記プログラム実行手段へ、前記プログラムのうち特定のプログラムのみの状態の変更を指示する
ことを特徴とする請求項1記載の記録再生装置。 - 前記特定のプログラムは、前記コンテンツに多重化されている情報にもとづいて特定される
ことを特徴とする請求項4記載の記録再生装置。 - 前記特定のプログラムは、前記プログラムのうち特権をもつプログラムによって事前に登録された情報にもとづいて特定される
ことを特徴とする請求項4記載の記録再生装置。 - 記録媒体に記録されたコンテンツを再生するコンテンツ再生手段と、
プログラムを実行するとともに、前記プログラムの実行状態を制御するプログラム実行手段と、
プログラム実行手段にて実行されるプログラムにより描画されるグラフィックスの表示状態と非表示状態を制御するグラフィックス表示手段と、
前記コンテンツの再生速度を前記プログラムからの指示にもとづいて変更するコンテンツ再生速度変更手段と、
前記再生速度が通常再生速度から前記通常再生速度とは異なる再生速度になったこと、または前記通常再生速度とは異なる再生速度から前記通常再生速度になったことを検知する特殊再生検知手段と、
前記特殊再生検知手段の検知にもとづいて前記グラフィックス表示手段へ前記グラフィックスの状態の変更を指示する特殊再生時処理手段と
を備えることを特徴とする記録再生装置。 - 前記特殊再生検知手段が、前記再生速度が通常再生速度から前記通常再生速度とは異なる再生速度になったことを検知した場合、
前記特殊再生時処理手段は、前記グラフィックス表示手段へ前記グラフィックスの状態を表示状態から非表示状態へ変更するよう指示する
ことを特徴とする請求項7記載の記録再生装置。 - 前記特殊再生検知手段が、前記再生速度が前記通常再生速度とは異なる再生速度から前記通常再生速度になったことを検知した場合、
前記特殊再生時処理手段は、前記グラフィックス表示手段へ前記グラフィックスの状態を非表示状態から表示状態へ変更するよう指示する
ことを特徴とする請求項8記載の記録再生装置。 - 前記特殊再生時処理手段は、前記グラフィックス表示手段へ、前記プログラムのうち特定のプログラムにより描画されるグラフィックスのみの状態の変更を指示する
ことを特徴とする請求項7記載の記録再生装置。 - 前記特定のプログラムは、前記コンテンツに多重化されている情報にもとづいて特定される
ことを特徴とする請求項10記載の記録再生装置。 - 前記特定のプログラムは、前記プログラムのうち特権をもつプログラムによって事前に登録された情報にもとづいて特定される
ことを特徴とする請求項10記載の記録再生装置。 - 前記コンテンツおよび前記プログラムは、放送波から前記記録媒体に記録された情報である
ことを特徴とする請求項1または7記載の記録再生装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69650305P | 2005-07-06 | 2005-07-06 | |
PCT/JP2006/313805 WO2007004744A1 (en) | 2005-07-06 | 2006-07-05 | Recording and reproduction apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008545284A true JP2008545284A (ja) | 2008-12-11 |
Family
ID=37074810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007558383A Withdrawn JP2008545284A (ja) | 2005-07-06 | 2006-07-05 | 記録再生装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070022208A1 (ja) |
EP (1) | EP1900203A1 (ja) |
JP (1) | JP2008545284A (ja) |
KR (1) | KR20080027821A (ja) |
CN (1) | CN101218817A (ja) |
BR (1) | BRPI0614065A2 (ja) |
CA (1) | CA2614217A1 (ja) |
WO (1) | WO2007004744A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5912175B2 (ja) * | 2012-08-21 | 2016-04-27 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラムおよびサーバ装置 |
JP2017508208A (ja) * | 2014-03-26 | 2017-03-23 | インテル・コーポレーション | 協調設計されたプロセッサ用動的言語アクセラレータ |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577397B2 (en) * | 2005-10-27 | 2009-08-18 | International Business Machines Corporation | System and method for reducing data loss over radio frequencies to roving digital receivers |
US7803998B2 (en) * | 2005-12-21 | 2010-09-28 | Pioneer Hi-Bred International, Inc. | Methods and compositions for modifying flower development |
US8428443B2 (en) * | 2007-03-12 | 2013-04-23 | At&T Intellectual Property I, L.P. | Systems and methods of providing modified media content |
JP5211569B2 (ja) * | 2007-07-26 | 2013-06-12 | ソニー株式会社 | コンテンツ再生装置、コンテンツ再生方法、およびプログラム |
JP5282383B2 (ja) * | 2007-09-06 | 2013-09-04 | ソニー株式会社 | コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム |
US8687938B2 (en) * | 2008-03-31 | 2014-04-01 | Panasonic Corporation | Video recording system, video recording apparatus, and video recording method |
US8055784B2 (en) * | 2008-07-07 | 2011-11-08 | Disney Enterprises, Inc. | Content navigation module for managing delivery of content to computing devices and method therefor |
KR101530195B1 (ko) * | 2008-12-03 | 2015-06-29 | 엘지전자 주식회사 | 디스플레이장치 및 그의 데이터 방송 제공 방법 |
CN102595196A (zh) * | 2012-01-12 | 2012-07-18 | 华为技术有限公司 | 一种应用数据的接收方法及装置 |
JP6455212B2 (ja) * | 2015-02-19 | 2019-01-23 | アイコム株式会社 | 無線通信システム、無線機、無線通信方法、パケットの生成方法およびパケットからのデータ再生方法 |
JP6507704B2 (ja) * | 2015-02-19 | 2019-05-08 | アイコム株式会社 | 無線通信システム、無線機、無線通信方法、パケットの生成方法およびパケットからのデータ再生方法 |
JP6418000B2 (ja) * | 2015-02-19 | 2018-11-07 | アイコム株式会社 | 無線通信システム、無線機、無線通信方法、パケットの生成方法およびパケットからのデータ再生方法 |
TWI569638B (zh) * | 2015-03-10 | 2017-02-01 | 晨星半導體股份有限公司 | 應用於電視節目資訊分享網絡之管理方法及管理裝置及非暫態電腦可讀取儲存媒體 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570728B2 (en) * | 1992-12-28 | 2003-05-27 | Sony Corporation | Tape cassette including memory unit storing reproduction control instructions |
US6622171B2 (en) * | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
JP2000358217A (ja) * | 1999-06-14 | 2000-12-26 | Matsushita Electric Ind Co Ltd | デジタル放送システムおよびデジタルビデオ記録再生装置 |
US20030037330A1 (en) * | 2001-08-20 | 2003-02-20 | General Instrument Corporation | Methods and apparatus for the display of advertising material during personal versatile recorder trick play modes |
EP1286349A1 (en) * | 2001-08-21 | 2003-02-26 | Canal+ Technologies Société Anonyme | File and content management |
US7657152B2 (en) * | 2002-05-28 | 2010-02-02 | Panasonic Corporation | Broadcast playback and/or recording apparatus |
ES2277150T3 (es) * | 2002-10-10 | 2007-07-01 | Koninklijke Philips Electronics N.V. | Reproduccion trucada de television interactiva por interfaz digital. |
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 |
US8484308B2 (en) * | 2004-07-02 | 2013-07-09 | MatrixStream Technologies, Inc. | System and method for transferring content via a network |
WO2006074093A2 (en) * | 2005-01-05 | 2006-07-13 | Divx, Inc. | Media transfer protocol |
WO2006085667A1 (en) * | 2005-02-10 | 2006-08-17 | Matsushita Electric Industrial Co., Ltd. | Broadcast recording apparatus |
WO2006123799A1 (en) * | 2005-05-18 | 2006-11-23 | Matsushita Electric Industrial Co., Ltd. | Content reproduction apparatus |
-
2006
- 2006-07-05 CA CA002614217A patent/CA2614217A1/en not_active Abandoned
- 2006-07-05 US US11/428,631 patent/US20070022208A1/en not_active Abandoned
- 2006-07-05 CN CNA2006800245835A patent/CN101218817A/zh active Pending
- 2006-07-05 JP JP2007558383A patent/JP2008545284A/ja not_active Withdrawn
- 2006-07-05 WO PCT/JP2006/313805 patent/WO2007004744A1/en active Application Filing
- 2006-07-05 BR BRPI0614065-3A patent/BRPI0614065A2/pt not_active Application Discontinuation
- 2006-07-05 EP EP06780976A patent/EP1900203A1/en not_active Withdrawn
- 2006-07-05 KR KR1020087000308A patent/KR20080027821A/ko not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5912175B2 (ja) * | 2012-08-21 | 2016-04-27 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラムおよびサーバ装置 |
JP2016154363A (ja) * | 2012-08-21 | 2016-08-25 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP2018148568A (ja) * | 2012-08-21 | 2018-09-20 | サターン ライセンシング エルエルシーSaturn Licensing LLC | 情報処理装置、情報処理方法およびプログラム |
US10390066B2 (en) | 2012-08-21 | 2019-08-20 | Saturn Licensing Llc | Information processing apparatus, information processing method, program, and server apparatus |
JP2017508208A (ja) * | 2014-03-26 | 2017-03-23 | インテル・コーポレーション | 協調設計されたプロセッサ用動的言語アクセラレータ |
Also Published As
Publication number | Publication date |
---|---|
CN101218817A (zh) | 2008-07-09 |
KR20080027821A (ko) | 2008-03-28 |
EP1900203A1 (en) | 2008-03-19 |
BRPI0614065A2 (pt) | 2011-03-09 |
US20070022208A1 (en) | 2007-01-25 |
CA2614217A1 (en) | 2007-01-11 |
WO2007004744A1 (en) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008545284A (ja) | 記録再生装置 | |
JP2008546221A (ja) | 放送録画再生装置および方法 | |
US8745632B2 (en) | Broadcast receiving terminal and program execution method for resource reservation | |
JP2009520381A (ja) | 残量検出部を有する記録装置 | |
JP2008546220A (ja) | コンテンツ再生装置 | |
CN101208750B (zh) | 记录和再现装置以及记录和再现方法 | |
JP2009520380A (ja) | コンテンツ管理システム | |
KR20080015096A (ko) | 기록 및 재생 장치 | |
WO2007072891A1 (en) | Recording and reproduction apparatus | |
JP2009094702A (ja) | 操作履歴を記憶する情報処理装置 | |
JP2008294638A (ja) | 伝送システム、記録装置、伝送方法、記録方法、およびプログラム | |
MX2007016502A (es) | Aparato de grabacion y reproduccion. | |
JP2006345505A (ja) | 放送蓄積端末 | |
MX2007013537A (es) | Aparato y metodo para la grabacion y reproduccion de transmisiones. | |
JP2010011115A (ja) | 放送受信装置 | |
MX2007013880A (es) | Aparato de grabacion y reproduccion. | |
MX2007013716A (es) | Aparato de grabacion y reproduccion y metodo de grabacion y reproduccion. | |
MX2007014724A (es) | Terminal de recepcion de transmisiones y metodo de ejecucion de programas. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090701 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091019 |