JP2009520381A - 残量検出部を有する記録装置 - Google Patents

残量検出部を有する記録装置 Download PDF

Info

Publication number
JP2009520381A
JP2009520381A JP2008528690A JP2008528690A JP2009520381A JP 2009520381 A JP2009520381 A JP 2009520381A JP 2008528690 A JP2008528690 A JP 2008528690A JP 2008528690 A JP2008528690 A JP 2008528690A JP 2009520381 A JP2009520381 A JP 2009520381A
Authority
JP
Japan
Prior art keywords
recording
volume
shortage
remaining amount
handler
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.)
Pending
Application number
JP2008528690A
Other languages
English (en)
Inventor
敏史 橋本
茂晃 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JP2009520381A publication Critical patent/JP2009520381A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/7921Processing of colour television signals in connection with recording for more than one processing mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation 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/8042Transformation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation 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/806Transformation 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 with processing of the sound signal
    • H04N9/8063Transformation 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 with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals

Abstract

喪失されるコンテンツを最小限に抑制する放送録画再生装置を提供する。放送録画再生装置1300は、単位領域内に放送波に含まれるデータを記録するレコーディング生成部2801と、単位領域内の記録可能な残量を検出するボリューム残量検出部2813と、残量が予め定められた容量未満になったことを検知するボリューム残量不足検知部2802と、残量が予め定められた容量未満になったことが検知された場合に呼び出される残量不足時ハンドラと、その残量不足時ハンドラを登録する残量不足時ハンドラ登録部3301とを備え、その残量不足時ハンドラ登録部3301に登録されている残量不足時ハンドラが呼び出される。

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規格においては、記録領域はボリュームという単位に分割されて管理される。コンテンツ蓄積時において、アプリケーションプログラムは特定のボリュームを指定して、そのボリュームにコンテンツを蓄積させる。
上述したように、OCAP−DVR規格においては、記録領域はボリュームという単位に分割されて管理される。コンテンツ蓄積時において、アプリケーションプログラムは特定のボリュームを指定して、そのボリュームにコンテンツを蓄積させる。ボリュームはアプリケーションプログラムによって指定された容量分のみ確保される。現在蓄積中のコンテンツが、アプリケーションプログラムによって指定されたボリュームの容量を超過した場合は、当該コンテンツの蓄積は途中で停止させられる。
つまり、従来の記録装置では、コンテンツの全てを蓄積することができずに喪失させてしまうという問題がある。
しかしながら、記録領域にはいまだボリュームが割り当てられていない領域が存在する可能性がある。そのような記録領域におけるボリューム未割当の領域にコンテンツを蓄積するための枠組さえあれば、現在蓄積中のコンテンツが、アプリケーションプログラムによって指定されたボリュームの容量を超過した場合であっても、喪失されるコンテンツを最小限に抑制することが可能となる。
そこで本発明は、かかる問題に鑑みてなされたものであって、喪失されるコンテンツを最小限に抑制する記録装置を提供することを目的とする。
上記目的を達成するために、本発明の記録装置は、放送波に含まれるデータを記録する記録装置であって、前記放送波に含まれるデータから抽出されたアプリケーションプログラムを実行する仮想マシンと、記録領域内の予め定められた容量を単位領域とし、前記実行中のアプリケーションプログラムより指定された単位領域内に、前記放送波に含まれるデータのうち前記実行中のアプリケーションプログラムより指定されたデータを記録するレコーディング生成手段と、前記実行中のアプリケーションプログラムより指定された単位領域内の記録可能な残量を検出するボリューム残量検出手段と、前記ボリューム残量検出手段によって検出される、前記実行中のアプリケーションプログラムより指定された単位領域内の記録可能な残量が予め定められた容量未満になったことを検知するボリューム残量不足検知手段と、前記ボリューム残量不足検知手段により、記録している前記実行中のアプリケーションプログラムより指定された単位領域内の記録可能な前記残量が、前記予め定められた容量未満になったことが検知された場合に呼び出される、前記実行中のアプリケーションプログラムに実装された残量不足時ハンドラと、前記実行中のアプリケーションプログラムからの要求に応じて、前記実行中のアプリケーションプログラムに実装された前記残量不足時ハンドラを登録する残量不足時ハンドラ登録手段とを備え、前記ボリューム残量不足検知手段によって、前記単位領域内の記録可能な前記残量が前記予め定められた容量未満になったことが検知された場合に、前記残量不足時ハンドラ登録手段に登録されている前記残量不足時ハンドラが呼び出されることを特徴とする。
また、上記目的を達成するために、本発明の記録装置は、放送波に含まれるデータを記録する記録装置であって、記録領域内の予め定められた容量を単位領域とし、前記単位領域内に前記放送波に含まれるデータを記録するレコーディング生成手段と、前記単位領域内の記録可能な残量を検出するボリューム残量検出手段と、前記ボリューム残量検出手段によって検出される前記単位領域内の記録可能な残量が予め定められた容量未満になったことを検知するボリューム残量不足検知手段と、前記ボリューム残量不足検知手段により、記録している前記単位領域内の記録可能な前記残量が、前記予め定められた容量未満になったことが検知された場合に呼び出される残量不足時ハンドラと、前記残量不足時ハンドラを登録する残量不足時ハンドラ登録手段とを備え、前記ボリューム残量不足検知手段によって、前記単位領域内の記録可能な前記残量が前記予め定められた容量未満になったことが検知された場合に、前記残量不足時ハンドラ登録手段に登録されている前記残量不足時ハンドラが呼び出されることを特徴とする。
これにより、放送波の記録時に、放送波を記録する単位の残量不足を検知した場合、登録されている残量不足時ハンドラが呼び出されることで、残量不足時ハンドラに処理を委ねることが可能となるとともに、より柔軟な処理を実行することが可能となる。その結果、喪失されるコンテンツを最小限に抑制することができる。
また、上記目的を達成するために、本発明の記録装置は、放送波に含まれるデータを記録する記録装置であって、記録領域内の予め定められた容量を単位領域とし、前記単位領域内に前記放送波に含まれるデータを所定の時間だけ記録するレコーディング生成手段と、前記単位領域内の記録可能な残量を検出するボリューム残量検出手段と、前記ボリューム残量検出手段によって検出される前記単位領域内の記録可能な残量が、前記放送波を前記所定の時間だけ記録するために必要な最小限の容量未満になったことを検知するボリューム残量不足検知手段と、前記ボリューム残量不足検知手段によって、前記単位領域内の記録可能な残量が前記最小限の容量未満になったことが検知された場合に、前記記録領域内に他の単位領域を新規に生成し、前記放送波に含まれるデータを新規に生成した前記他の単位領域内へ記録する補足ボリューム生成手段とを備えることを特徴とする。
これにより、放送波の記録時に、放送波を記録する単位の残量不足が検知された場合、記録領域の余剰部分に補足単位を生成するとともに、放送波で記録不可とされた部分をその補足単位に記録することで、記録領域の余剰部分を活用して、放送波の記録を完了することが可能となる。その結果、喪失されるコンテンツを最小限に抑制することができる。
なお、本発明は、上記記録装置だけでなく、その記録装置が行う記録の方法、その記録装置が記録を行うためのプログラム、及びそのプログラムを格納する記憶媒体としても実現することができる。
2005年12月19日に出願された、明細書と図面と請求項とを含む米国仮出願番号60/751,321を本願に引用して援用する。
本発明は以下に示す特徴を有する。
第1の発明は、放送波を記録するとともに、記録された放送波を再生する記録再生装置であって、特定の前記放送波を記録領域の特定の単位内に記録するレコーディング生成手段と、前記記録領域に前記単位を生成するボリューム生成手段と、前記記録領域の特定の前記単位内の前記放送波が記録可能な残量を検出するボリューム残量検出手段と、特定の前記放送波を記録するために必要な容量と、前記ボリューム残量検出手段から取得される特定の前記単位内の前記放送波が記録可能な残量を比較して、特定の前記放送波を記録するために、特定の前記単位が不足することを検知するボリューム残量不足検知手段と、前記ボリューム残量不足検知手段によって、特定の前記放送波を記録するために、特定の前記単位が不足することが検知された場合に、前記ボリューム生成手段へ、特定の前記単位外に他の前記単位を生成することを要求するとともに、前記レコーディング生成手段へ、特定の前記放送波の記録を他の前記単位内へ移行することを要求する補足ボリューム生成手段と、を備えることを特徴とする。
上記第1の発明によれば、放送波の記録時に、放送波を記録する単位の残量不足を検知した場合、記録領域の余剰部分に補足単位を生成するとともに、放送波で記録不可とされた部分をその補足単位に記録することで、記録領域の余剰部分を活用して、放送波の記録を完了することが可能となる。
第2の発明は、放送波を記録するとともに、記録された放送波を再生する記録再生装置であって、特定の前記放送波を記録領域の特定の単位内に記録するレコーディング生成手段と、前記記録領域の特定の前記単位内の前記放送波が記録可能な残量を検出するボリューム残量検出手段と、特定の前記放送波を記録するために必要な容量と、前記ボリューム残量検出手段から取得される特定の前記単位内の前記放送波が記録可能な残量を比較して、特定の前記放送波を記録するために、特定の前記単位が不足することを検知するボリューム残量不足検知手段と、前記ボリューム残量不足検知手段によって、特定の前記放送波を記録するために、特定の前記単位が不足することが検知された場合に、登録されているハンドラを呼び出す残量不足時ハンドラ登録手段と、を備えることを特徴とする。
上記第2の発明によれば、放送波の記録時に、放送波を記録する単位の残量不足を検知した場合、登録されている残量不足時ハンドラが呼び出されることで、残量不足時ハンドラに処理を委ねることが可能となるとともに、より柔軟な処理を実行することが可能となる。
第3の発明は、第2の発明に従属する発明であって、前記残量不足時ハンドラ登録手段は、登録されているハンドラが返す結果に依存して、後処理を変化させることを特徴とする。
上記第3の発明によれば、放送波の記録時に、放送波を記録する単位の残量不足を検知した場合、登録されている残量不足時ハンドラが呼び出されるとともに、その戻り値によって単位の残量不足への対処が変化することで、残量不足時ハンドラがその戻り値によって、既定の処理を選択して実行することが可能となる。
第4の発明は、放送波を記録するとともに、記録された放送波を再生する記録再生方法であって、特定の前記放送波を記録領域の特定の単位内に記録するレコーディング生成ステップと、前記記録領域に前記単位を生成するボリューム生成ステップと、前記記録領域の特定の前記単位内の前記放送波が記録可能な残量を検出するボリューム残量検出ステップと、特定の前記放送波を記録するために必要な容量と、前記ボリューム残量検出ステップから取得される特定の前記単位内の前記放送波が記録可能な残量を比較して、特定の前記放送波を記録するために、特定の前記単位が不足することを検知するボリューム残量不足検知ステップと、前記ボリューム残量不足検知ステップによって、特定の前記放送波を記録するために、特定の前記単位が不足することが検知された場合に、前記ボリューム生成ステップへ、特定の前記単位外に他の前記単位を生成することを要求するとともに、前記レコーディング生成ステップへ、特定の前記放送波の記録を他の前記単位内へ移行することを要求する補足ボリューム生成ステップと、を備えることを特徴とする。
上記第4の発明によれば、放送波の記録時に、放送波を記録する単位の残量不足を検知した場合、記録領域の余剰部分に補足単位を生成するとともに、放送波で記録不可とされた部分をその補足単位に記録することで、記録領域の余剰部分を活用して、放送波の記録を完了することが可能となる。
第5の発明は、放送波を記録するとともに、記録された放送波を再生する記録再生方法であって、特定の前記放送波を記録領域の特定の単位内に記録するレコーディング生成ステップと、前記記録領域の特定の前記単位内の前記放送波が記録可能な残量を検出するボリューム残量検出ステップと、特定の前記放送波を記録するために必要な容量と、前記ボリューム残量検出ステップから取得される特定の前記単位内の前記放送波が記録可能な残量を比較して、特定の前記放送波を記録するために、特定の前記単位が不足することを検知するボリューム残量不足検知ステップと、前記ボリューム残量不足検知ステップによって、特定の前記放送波を記録するために、特定の前記単位が不足することが検知された場合に、登録されているハンドラを呼び出す残量不足時ハンドラ登録ステップと、を備えることを特徴とする。
上記第5の発明によれば、放送波の記録時に、放送波を記録する単位の残量不足を検知した場合、登録されている残量不足時ハンドラが呼び出されることで、残量不足時ハンドラに処理を委ねることが可能となるとともに、より柔軟な処理を実行することが可能となる。
第6の発明は、第5の発明に従属する発明であって、前記残量不足時ハンドラ登録ステップは、登録されているハンドラが返す結果に依存して、後処理を変化させることを特徴とする。
上記第6の発明によれば、放送波の記録時に、放送波を記録する単位の残量不足を検知した場合、登録されている残量不足時ハンドラが呼び出されるとともに、その戻り値によって単位の残量不足への対処が変化することで、残量不足時ハンドラがその戻り値によって、既定の処理を選択して実行することが可能となる。
(実施の形態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規格で定義されるディジタル化映像、音声の形式になっている。
一方、番組編成情報やデータ放送用のデータ等の情報は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から出力された映像を再生する。
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で表形式に変換され、ライブラリがアクセス可能な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規格に基づいてファイルを取り出して一次記憶部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は、MPEG2トランスポートストリームとチャンネル識別子を入力として、AITの更新状況を監視するとともに、AITが更新された場合は、そのAITにもとづいて、Javaプログラムを起動あるいは終了する等の処理を実行する。まず、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」、DSM−CC識別子「1」、プログラム名「a/TopXlet」の組である。同様に、行2212で定義されるJavaプログラムは、Javaプログラムの識別子「302」、制御情報「present」、DSM−CC識別子「1」、プログラム名「b/GameXlet」の組である。ここで、行2211、行2212、行2214で定義される3つのJavaプログラムは同一のDSM−CC識別子をもつが、これは1つのDSM−CC方式でエンコードされたファイルシステム内に3つのJavaプログラムが含まれていることを表す。ここでは、Javaプログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM1704bは、更新されたAITの内容を解析することで、Javaプログラムの実行状態を制御する。まず、AM1704bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSM−CC識別子およびJavaプログラム名を抽出する。図22を参照して、AM1704bは行2211のJavaプログラムを抽出し、DSM−CC識別子「1」およびJavaプログラム名「a/TopXlet」を取得する。次いで、AITから取得したDSM−CC識別子を用いて、JavaプログラムをDSM−CC方式で格納しているTSパケットのPIDをPMTから取得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSM−CC識別子が合致するエレメンタリストリームのPIDを取得する。ここで、DSM−CC識別子が「1」であり、PMTが図11とすると、行1114のエレメンタリストリームが合致し、PID「5014」を取り出す。
AM1704bは、SF1704eに、DSM−CC方式でデータが埋めこまれたMPEG2セクションを伝送するTSパケットのPIDおよびセクションフィルタ条件を指定する。ここでは、PID「5014」を与える。この結果、AM1704bは、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」である。
次いでAM1704bは、1次記憶部1308にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1703に引き渡す。ここで、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図23を参照して、ファイル2304が実行すべきJavaプログラムである。次いでAM1704bは、ファイル2304をJavaVM1703に引き渡すと、そのファイルはJavaプログラムとしてJava VM上で実行される。制御情報に「kill」が指定されていた場合は、Javaプログラムを終了させる。
AM1704bは、新しいAITバージョンを持つAITが来る度にそのAITを解析して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等の記録領域1504からのMPEG2トランスポートストリームの読出速度や読出位置を変更させることで、映像や音声の再生速度を変更させることができる。これにより早送りやスキップといった特殊再生が可能となる。例えば、通常速度の2倍の速度でMPEG2トランスポートストリームを読み出すようにすれば、映像や音声も2倍の速度で再生される。また、MPEG2トランスポートストリームの読出位置を特定間隔だけ飛ばして読み出せば、映像や音声はスキップ再生される。JMF1704aは、ライブラリ1701bの機能を利用することで、2次記憶部1307を制御し、MPEG2トランスポートストリームの読出速度や読出位置を変更させる。これらの特殊再生を高水準で滑らかに行う方法については本発明の範囲外であるため、説明を省略する。
ストレージマネージャ1704gは、ストレージすなわち記録領域1504を1つあるいは複数のボリュームという単位に分割して管理する。
図27は、ストレージとボリュームとの関係を表現した概念図である。1つのストレージには、ストレージマネージャ1704gによって、1つあるいは複数のボリュームが生成される。レコーディングマネージャ1704hは、サービスを記録するボリュームとして、あるボリュームを指定する。
ストレージマネージャ1704gは、図28に示すように、ボリューム生成部2811、ボリューム情報保持部2812、ボリューム残量検出部2813、および、ストレージ残量検出部2814で構成される。
ボリューム生成部2811は、Javaプログラムあるいは補足ボリューム生成部2804によって指定されるボリューム名およびボリューム容量にもとづいて、記録領域1504にボリュームを生成する。例えば、ボリューム名として“MEDIA”、ボリューム容量として“10240”と指定された場合は、10240キロバイトの“MEDIA”というボリュームを記録領域1504に生成する。ボリューム生成部2811が、ストレージ残量検出部2814からストレージすわなち記録領域1504の残量を取得して、記録領域1504に十分な空容量がない、あるいは、ボリューム情報保持部2812から記録領域1504に既存のボリューム情報を取得して、記録領域1504にすでに同名のボリュームが存在する場合は、ボリュームの生成に失敗する。ボリュームの生成に成功すれば、ボリュームを識別するためのボリューム識別子、ボリューム名、および、ボリューム容量等の情報が、ボリューム情報として、ボリューム情報保持部2812へ通知されて保持されるとともに、記録領域1504にも記録される。
Javaプログラムあるいは補足ボリューム生成部2804によって指定されたボリュームを生成するまでの動作の流れを図30に示す。
Javaプログラムあるいは補足ボリューム生成部2804からボリューム名およびボリューム容量が指定されて、ボリューム生成部2811へボリュームの生成が要求される(S3001)。ボリューム生成部2811は、ストレージ残量検出部2814からストレージの残量を取得して(S3002)、ストレージにボリュームを生成するための十分な残量があるか判定する(S3003)。ストレージに十分な残量がない場合は、ボリュームの生成に失敗する。ストレージに十分な残量がある場合は、ボリューム情報保持部2812からストレージに既存のボリューム情報を取得して(S3004)、ストレージに同名のボリュームがないか判定する(S3005)。ストレージにすでに同名のボリュームがある場合は、ボリュームの生成に失敗する。ストレージに同名のボリュームがない場合は、ボリュームを生成して(S3006)、生成したボリュームを識別するボリューム識別子を割り当てる。そのボリューム識別子、ボリューム名、および、ボリューム容量等の情報を、ボリューム情報として、ボリューム情報保持部2812に通知して保持させる(S3007)。
ボリューム情報保持部2812は、ボリューム生成時にボリューム生成部2811から通知されるボリュームを識別するためのボリューム識別子、ボリューム名、および、ボリューム容量等の情報を、ボリューム情報として、保持する。ボリューム情報保持部2812に保持されているボリューム情報は、Javaプログラムによって取得されて、サービスの記録時にサービスを記録するボリュームとして、あるボリューム識別子が指定される。
ボリューム残量検出部2813は、Javaプログラム、あるいは、ボリューム残量不足検知部2802からの問合せにもとづいて、その時点でコンテンツが記録されていないボリュームの容量を返す。
ストレージ残量検出部2814は、Javaプログラム、ボリューム生成部2811、あるいは、補足ボリューム生成部2804からの問合せにもとづいて、その時点でボリュームが割り当てられていないストレージすなわち記録領域1504の容量を返す。
本実施の形態においては、ストレージすなわち記録領域1504が1つである場合を挙げるが、複数であってもよい。その場合は、ボリューム生成部2811、ボリューム情報保持部2812、ボリューム残量検出部2813、および、ストレージ残量検出部2814に対して、ストレージを識別するためのストレージ識別子も併せて指定する。
レコーディングマネージャ1704hは、現在放送されているサービスを、指定された期間において、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。レコーディングマネージャ1704hは、図28に示すように、レコーディング生成部2801、ボリューム残量不足検知部2802、レコーディング情報保持部2803、補足ボリューム生成部2804で構成される。
レコーディング生成部2801は、Javaプログラムによって指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、チャンネル識別子によって識別されるサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。また、指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
さらに、レコーディング生成部2801は、ボリューム残量不足検知部2802によって指定されたレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、レコーディング識別子によって識別される現在記録されているサービスと等しいサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録と同様に、指定されたレコーディング識別子から導出されるサービスを識別するチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
まず、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、Javaプログラムからチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子を指定されると、それらの情報をレコーディング情報として識別するためのレコーディング識別子を割り当てて、開始時刻になるまで待機する。その後、開始時刻に至ると、まず、レコーディング生成部2801は、ボリューム残量不足検知部2802へ、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子を引き渡して、サービスを記録するボリュームの残量を監視させる。
次に、レコーディング生成部2801は、チャンネル識別子をキーとして、ライブラリ1701bが保有するチャンネル情報から当該チャンネル識別子に相当するチューニング情報を得る。その後、Tuner1704cにチューニング情報を与えると、Tuner1704cはチューニングを開始する。ここで、チューニング情報は、周波数や変調方式等が特定可能な情報である。すると図15に示されるように、アダプタ1311経由でMPEG2トランスポートストリームがTSデコーダに入力される。
また、レコーディング生成部2801は、SF1704eを利用して、チューニングで得られたMPEG2トランスポートストリームからPATを取得する。さらに、指定されたチャンネル識別子に対応するプログラムナンバーをライブラリ1701bから検索し、得られたプログラムナンバーに対応するPMTのPIDをPATから検索する。その後、SF1704eを利用して、実際のPMTを取得し、指定されたチャンネルを構成するESの全PIDを得る。レコーディング生成部2801は、得られたPIDをTSデコーダのPIDフィルタ1502に設定する。さらに、放送波に含まれるサービスを、記録領域1504の指定されたボリュームに指定されたビットレートで記録するように、ライブラリ1701bを通じて各ハードウェア構成要素の出力先を設定する。すると、図15で説明した流れに沿って、所望のチャンネルを構成する全ESが、記録領域1504の指定されたボリュームに指定されたビットレートで記録される。
その後、指定された終了時刻に至ると、レコーディング生成部2801はTuner1704cのチューニング動作を停止させ、記録領域1504の指定されたボリュームへのMPEG2トランスポートストリームの書込を終了させる。また、先ほど記録したMPEG2トランスポートストリームの管理情報として、図21に示すレコーディング情報管理テーブルを生成する。
図21はレコーディング情報保持部2803に保持されている、あるいは、2次記憶部1307等の記録領域1504に記録されているレコーディング情報を管理するためのレコーディング情報管理テーブルの一例である。レコーディング情報は表形式で記録されている。列2101は、レコーディング識別子である。列2102は、チャンネル識別子である。列2103はプログラムナンバーである。列2104はサービスの記録開始時刻、列2105はサービスの記録終了時刻である。列2106はサービスを記録するビットレートである。そして、列2107はサービスとして記録されたMPEG2トランスポートストリームを識別するメディア識別子である。
メディア識別子をキーとして、さらに図29におけるメディア情報管理テーブルを参照することで、そのメディア識別子と対応するコンテンツが記録されているストレージの識別子、ボリュームの識別子、および、コンテンツの識別子が導出される。行2111〜2113の各行は、各レコーディング識別子、チャンネル識別子、プログラムナンバー、開始時刻、終了時刻、ビットレート、および、メディア識別子の組となる。例えば、行2111はレコーディング識別子が「000」、チャンネル識別子が「2」、プログラムナンバーが「102」、開始時刻が「2005/03/30 11:00」、終了時刻が「2005/03/30 12:00」、ビットレート「HIGH」、および、メディア識別子が「000」であることを示す。
次に、ボリューム残量不足検知部2802が指定するレコーディング識別子によって識別されるサービスの記録に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、ボリューム残量不足検知部2802からレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子を指定されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在記録されているサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。
ただし、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録とは異なって、開始時刻に至っても、レコーディング生成部2801は、ボリューム残量不足検知部2802へ、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子を引き渡すことはなく、すなわち、サービスを記録するボリュームの残量を監視させることはない。
以下の動作の流れは、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録と同様であるので、ここでは省略する。
レコーディング情報保持部2803は、Javaプログラムからチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子が指定されてサービスの記録が要求された場合に、あるいは、ボリューム残量不足検知部2802からレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子が指定されてサービスの記録が要求された場合に、レコーディング生成部2801から通知されるレコーディング識別子、チャンネル識別子、プログラムナンバー、開始時刻、終了時刻、ビットレート、および、メディア識別子等の情報を、レコーディング情報として、保持する。レコーディング情報保持部2803に保持されているレコーディング情報は、Javaプログラムによって取得されて、サービスの再生時に再生対象サービスとして、レコーディング識別子が指定される。
ボリューム残量不足検知部2802は、あるサービスの記録開始時に、レコーディング生成部2801から、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子が引き渡されて、サービスが記録されるボリュームの残量を監視する。一定周期ごとにストレージマネージャ1704gのボリューム残量検出部2813にボリューム識別子を引き渡して、そのボリューム識別子によって識別されるボリュームの残量を取得する。また、サービスが記録されるボリュームの残量不足が検知された場合は、補足ボリューム生成部2804へ、ボリューム名およびボリューム容量を引き渡して、補足ボリュームの生成を要求する。ここで、ボリューム名はストレージに既存のボリューム名とは重複しないことが保証される。例えば、“SUB”を予約語、“000”を残量不足が検知されたボリューム識別子として、“SUB_000”等である。
また、ボリューム容量はレコーディング生成部2801から引き渡されたビットレートと終了時刻までの残り時間によって算出される値である。さらに、補足ボリュームの生成に成功した場合は、補足ボリューム生成部2804から生成された補足ボリューム識別子が返されるとともに、引き続いてレコーディング生成部2801へ、レコーディング生成部2801から引き渡されたレコーディング識別子、記録開始時刻、記録終了時刻、ビットレート、および、生成された補足ボリューム識別子を引き渡して、補足レコーディングの生成を要求する。ここで、記録開始時刻は現在記録されているボリュームの残量がなくなる時刻である。また、記録終了時刻、あるいは、ビットレートは生成された補足ボリュームにおいて記録可能なように設定される。よって、レコーディング生成部2801から引き渡された記録終了時刻、あるいは、ビットレートとは異なる可能性がある。
補足ボリューム生成部2804は、ボリューム残量不足検知部2802から引き渡された補足ボリューム名および補足ボリューム容量にもとづいて、補足ボリュームを生成するとともに、その補足ボリュームの生成に成功すれば、ボリューム残量不足検知部2802へ生成された補足ボリューム識別子を返す。補足ボリューム生成部2804は、ボリューム残量不足検知部2802から補足ボリューム名および補足ボリューム容量が引き渡されると、ストレージマネージャ1704gのストレージ残量検出部2814からボリュームが割り当てられていないストレージの容量を取得する。ストレージ残量検出部2814から取得されたストレージの残量が、ボリューム残量不足検知部2802から引き渡された補足ボリューム容量以上である場合は、ボリューム残量不足検知部2802から引き渡された補足ボリューム容量と補足ボリューム名を指定して、ボリューム生成部2811へ、ボリュームの生成を要求する。
しかし、ストレージ残量検出部2814から取得されたストレージの残量が、ボリューム残量不足検知部2802から引き渡された補足ボリューム容量未満である場合は、ストレージ残量検出部2814から取得されたストレージの残量と補足ボリューム名を指定して、ボリューム生成部2811へ、ボリュームの生成を要求する。ボリュームの生成に成功すれば、ボリューム生成部2811から生成されたボリューム識別子が返される。さらに、補足ボリューム生成部2804は、そのボリューム識別子を補足ボリューム識別子として、ボリューム残量不足検知部2802へ返す。
サービスマネージャ1704fは、2次記憶部1307等の記録領域1504のボリュームに記録済みのMPEG2トランスポートストリーム中のサービス、あるいはアダプタ1311から入力されるMPEG2トランスポートストリーム中のサービスの再生を管理する。
以下に、記録領域1504のボリュームに記録済みのMPEG2トランスポートストリーム中のサービスの再生を管理する場合の動作について述べる。これは記録済みサービスの再生に相当する。この場合、サービスマネージャ1704fは、レコーディング識別子を入力とする。そのレコーディング識別子で特定される、記録領域1504のボリュームに記録済みのサービスが、再生対象である。
サービスマネージャ1704fは、まず、レコーディングマネージャ1704hが生成したレコーディング情報管理テーブルを参照して、指定されたレコーディング識別子で再生されるべきチャンネル識別子と、メディア識別子を得る。
レコーディング情報管理テーブルを参照して、等しいレコーディング識別子が複数存在する場合は、記録開始時刻がより早い順序にもとづいて、再生されるべきチャンネル識別子と、メディア識別子を得る。そして、それらのメディア識別子によって識別されるコンテンツを連続で再生する。例えば、図21のレコーディング情報管理テーブルにおいては、行2112と行2113とは等しいレコーディング識別子“001”をもつ。再生するレコーディング識別子として、サービスマネージャ1704fへ“001”が指定された場合は、行2112における記録開始時刻“2005/04/01 21:00”と行2113における記録開始時刻“2005/04/01 22:00”とを比較して、より早い行2112からチャンネル識別子とメディア識別子を得て再生する。行2112の再生が終点へ達すれば、行2113からチャンネル識別子とメディア識別子を得て始点から再生する。また、巻戻しすることで、行2113の再生が始点へ達すれば、行2112からチャンネル識別子とメディア識別子を得て終点から再生する。
次いで、記録領域1504のボリュームに対して、今得られたメディア識別子で特定されるMPEG2トランスポートストリームをTSデコーダ1302に出力するように、ライブラリ1701bを通して指示する。また、ライブラリ1701bを通して各ハードウェア構成要素の出力先を図16に示す経路で流れるように設定する。その後、JMF1704aにMPEG2トランスポートストリームの所在として記録領域1504のボリュームを与え、また再生すべきチャンネル識別子を与える。すると、JMF1704aは、既に述べた動作によって、記録領域1504のボリュームから出力されるMPEG2トランスポートストリームに多重された映像と音声の再生を開始する。更に、AM1704bにもMPEG2トランスポートストリームの所在として記録領域1504のボリュームを与え、また再生すべきチャンネル識別子を与える。すると、AM1704bは記録領域1504のボリュームから出力されるMPEG2トランスポートストリームに多重されたAITに従って、記録領域1504のボリュームから出力されるMPEG2トランスポートストリームに多重されたJavaプログラムの実行および終了を開始する。その後、記録領域1504のボリュームから出力される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トランスポートストリームの終端まで、上述のサービスの再生を継続する。
EPG1702は、電子番組表(Electric Program Guideの略)であり、記録や再生の対象とする番組をユーザに選択させる機能である。放送波を受信しての通常の再生は本発明の趣旨から外れるため、説明を省略する。
番組を記録する場合は、EPG1702は、放送番組一覧を表示してユーザに希望の番組を選択させる。
図19は、記録対象とする番組を選択させるための画面表示の一例である。時刻1901とチャンネル1902と1903が格子状に表示され、各時刻で記録可能な各チャンネルの番組を一覧できる。ユーザは端末装置1300の入力部1310に備わっている上下左右カーソルボタン1401〜1404を用いて画面上のフォーカス1911を移動させることができる。更にOKボタン1405を押下すると、現在フォーカスが当たっている番組が記録対象として選択される。EPG1702は当該番組のチャンネル識別子をライブラリから取得して知っており、ユーザによって記録対象番組が選択されると、当該番組のチャンネル識別子、開始時刻、終了時刻をレコーディングマネージャ1704hに通知する。レコーディングマネージャ1704hは、その情報に基づいて、当該番組を2次記憶部1307に記録する。ここで、2次記憶部1307に記録するビットレートおよびボリュームを併せて指定することも可能であるが、ここでは省略する。2次記憶部1307に記録するビットレートおよびボリュームが指定されなかった場合、既定の値のビットレートで既定のボリュームに記録される。
一方、記録済みの番組を再生する場合は、EPG1702は、記録済み番組一覧を表示してユーザに希望の番組を選択させる。
図18は、記録済み番組を選択させるための画面表示の一例である。その時点で2次記憶部1307に記憶されている番組がすべて一覧表示される。ユーザは端末装置1300の入力部1310に備わっている上下カーソルボタン1401、1402を用いて画面上のフォーカス1801を移動させることができる。更にOKボタン1405を押下すると、現在フォーカスが当たっている番組が再生対象として選択される。EPG1702は当該番組のレコーディング識別子をレコーディングマネージャ1704hから取得して知っており、ユーザによって再生対象番組が選択されると、当該番組のレコーディング識別子をサービスマネージャ1704fに通知する。 サービスマネージャ1704fは、その情報に基づいて、当該番組を2次記憶部1307から読み出して再生する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図31は、サービスの記録が開始されてから、サービスを記録するボリュームの残量不足が検知されて、補足レコーディングが生成されるまでの動作の流れを示すフローチャートである。
レコーディング生成部2801は、サービスの記録開始時刻に至ると、ボリューム残量不足検知部2802へ、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子を引き渡す(S3101)。ボリューム残量不足検知部2802は、現在時刻がサービスの記録終了時刻を超過しているか判定して(S3102)、サービスの記録終了時刻を超過していれば、終了する。サービスの記録終了時刻を超過していなければ、ストレージマネージャ1704gのボリューム残量検出部2813へボリューム識別子を引き渡して、そのボリューム識別子によって識別されるボリュームの残量を取得する(S3103)。取得されたボリュームの残量と、サービスの記録を完了するまでに必要と見積もられるボリュームの容量とを比較して(S3104)、ボリュームの残量が必要なボリュームの容量以上ならば、一定期間が経過するまで待機する(S3105)。
そして、一定期間経過後に、再び現在時刻がサービスの記録終了時刻を超過しているか判定して(S3102)、超過していなければ、ストレージマネージャ1704gのボリューム残量検出部2813からボリュームの残量を取得して(S3103)、ボリュームの残量が必要なボリュームの容量以上か判定する(S3104)。ボリュームの残量が必要なボリュームの容量未満ならば、補足ボリューム生成部2804へ、ボリューム名およびボリューム容量を引き渡して、補足ボリュームの生成を要求する(S3106)。ここで、ボリューム名はストレージに既存のボリューム名とは重複しないことが保証される。例えば、“SUB”を予約語、“000”を残量不足が検知されたボリューム識別子として、“SUB_000”等である。また、ボリューム容量はレコーディング生成部2801から引き渡されたビットレートと終了時刻までの残り時間によって算出される値である。次いで、補足ボリュームの生成に成否を判定する(S3107)。
補足ボリュームの生成に失敗した場合は、終了する。補足ボリュームの生成に成功した場合は、補足ボリューム生成部2804から生成された補足ボリューム識別子が返されるとともに、引き続いてレコーディング生成部2801へ、レコーディング生成部2801から引き渡されたレコーディング識別子、記録開始時刻、記録終了時刻、ビットレート、および、生成された補足ボリューム識別子を引き渡して、補足レコーディングの生成を要求する(S3108)。ここで、記録開始時刻は現在記録されているボリュームの残量がなくなる時刻である。また、記録終了時刻、あるいは、ビットレートは生成された補足ボリュームにおいて記録可能なように設定される。よって、レコーディング生成部2801から引き渡された記録終了時刻、あるいは、ビットレートとは異なる可能性がある。
図32はボリューム残量不足検知部2802が補足ボリューム生成部2804へ補足ボリュームの生成を要求してから、補足ボリューム生成部2804が補足ボリュームの生成に成功、あるいは、失敗するまでの動作の流れを示すフローチャートである。
補足ボリューム生成部2804は、ボリューム残量不足検知部2802から補足ボリューム名および補足ボリューム容量が引き渡されると、ストレージマネージャ1704gのストレージ残量検出部2814からボリュームが割り当てられていないストレージの容量を取得する(S3201)。まず、ストレージ残量検出部2814から取得されたストレージの残量があるか判定する(S3202)。取得されたストレージの残量がない場合は、補足ボリュームの生成に失敗して、終了する。取得されたストレージの残量がある場合は、さらに、ストレージ残量検出部2814から取得されたストレージの残量が、ボリューム残量不足検知部2802から引き渡された補足ボリューム容量以上であるか判定する(S3203)。取得されたストレージの残量が、必要な補足ボリューム容量以上である場合は、ボリューム残量不足検知部2802から引き渡された補足ボリューム容量と補足ボリューム名を指定して、ボリューム生成部2811へ、ボリュームの生成を要求する(S3204)。
しかし、取得されたストレージの残量が、必要な補足ボリューム容量未満である場合は、ストレージ残量検出部2814から取得されたストレージの残量と補足ボリューム名を指定して、ボリューム生成部2811へ、ボリュームの生成を要求する(S3205)。ボリュームの生成に成功すれば、ボリューム生成部2811から生成されたボリューム識別子が返される。さらに、補足ボリューム生成部2804は、そのボリューム識別子を補足ボリューム識別子として、ボリューム残量不足検知部2802へ返す。
以上のようにして、サービスの記録時に、サービスを記録するボリュームの残量不足を検知した場合、ストレージの余剰部分に補足ボリュームを生成するとともに、サービスで記録不可とされた部分をその補足ボリュームに記録することで、ストレージの余剰部分を活用して、サービスの記録を完了することが可能となる。
(実施の形態2)
以下に、本発明の実施の形態2に係る装置および方法を、図面を参照しながら説明する。
実施の形態2に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。
実施の形態2のソフトウェア構成は、図17に示すものと同様である。ストレージマネージャ1704gおよびレコーディングマネージャ1704h以外の構成要素は、実施の形態1のソフトウェア構成の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。また、実施の形態2で用いる各種データ形式は、図20から図22までの図面、および、図29に示すものと同様であるため、再度の説明は省略する。
図33は、Javaライブラリ1704におけるストレージマネージャ1704g、および、レコーディングマネージャ1704hの詳細な構成を示す図である。
ストレージマネージャ1704gは、ストレージすなわち記録領域1504を1つあるいは複数のボリュームという単位に分割して管理する。ストレージマネージャ1704gは、ボリューム生成部2811、ボリューム情報保持部2812、ボリューム残量検出部2813、および、ストレージ残量検出部2814で構成される。ボリューム情報保持部2812、および、ボリューム残量検出部2813は、実施の形態1と同様の機能をもつため、再度の説明は省略する。
ボリューム生成部2811は、Javaプログラムによって指定されるボリューム名およびボリューム容量にもとづいて、記録領域1504にボリュームを生成する。ボリュームを生成する動作の流れは実施の形態1と同様であるため、再度の説明は省略する。
ストレージ残量検出部2814は、Javaプログラム、あるいは、ボリューム生成部2811からの問合せにもとづいて、その時点でボリュームが割り当てられていないストレージすなわち記録領域1504の容量を返す。
レコーディングマネージャ1704hは、現在放送されているサービスを、指定された期間において、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。レコーディングマネージャ1704hは、レコーディング生成部2801、ボリューム残量不足検知部2802、レコーディング情報保持部2803、残量不足時ハンドラ登録部3301、および、残量不足時ハンドラ登録特権判定部3302で構成される。
残量不足時ハンドラ登録部3301は、ボリューム残量不足検知部2802において現在実行されているサービスを記録するボリュームの残量不足が検知された場合に、現在実行されているサービスの記録を識別するレコーディング識別子を引き渡されて呼び出される、特権Javaプログラムによって事前に登録された、ボリュームの残量不足時に対処するための残量不足時ハンドラを保持する。
残量不足時ハンドラ登録特権判定部3302は、あるJavaプログラムが残量不足時ハンドラ登録部3301に残量不足時ハンドラを登録しようとした場合に、残量不足時ハンドラ登録部3301からそのJavaプログラム識別するJavaプログラム識別子を引き渡されて、そのJavaプログラムが残量不足時ハンドラを登録するために必要な特権を有するかどうかを判定する。Javaプログラムがその特権を有するJavaプログラムである場合は、残量不足時ハンドラは残量不足時ハンドラ登録部3301に保持される。例えば、あるJavaプログラムが残量不足時ハンドラ“lHandler”を残量不足時ハンドラ登録部3301に登録するためには、残量不足時ハンドラを登録するためのJavaメソッド“setLackHandler”によって、“setLackHandler(lHandler)”と呼び出す。ここで、残量不足時ハンドラ“lHanlder”の引数としては、現在実行されているサービスの記録を特定するレコーディング識別子“recID”等が挙げられる。
図34は、あるJavaプログラムがレコーディングマネージャ1704hの残量不足時ハンドラ登録部3301に残量不足時ハンドラを登録する場合のフローチャートである。
残量不足時ハンドラを登録しようとするJavaプログラムはまずレコーディングマネージャ1704hへ残量不足時ハンドラを登録するよう要求する(S3401)。残量不足時ハンドラの登録要求を受けたレコーディングマネージャ1704hは残量不足時ハンドラ登録特権判定部3302において、そのJavaプログラムが残量不足時ハンドラを登録するために必要な特権を有するか判別する(S3402)。そのJavaプログラムが残量不足時ハンドラを登録するために必要な特権を有すると判別された場合はそのJavaプログラムが要求する残量不足時ハンドラを残量不足時ハンドラ登録部3301へ登録する(S3403)。
レコーディング生成部2801は、Javaプログラムによって指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、チャンネル識別子によって識別されるサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。また、指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
さらに、レコーディング生成部2801は、Javaプログラムが実装する残量不足時ハンドラによって指定されたレコーディング識別子にもとづいて、レコーディング識別子によって識別される現在実行されているサービスの記録を停止する。
まず、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録に関して、その動作の流れは実施の形態1と同様であるため、再度の説明は省略する。
次に、Javaプログラムが実装する残量不足時ハンドラが指定するレコーディング識別子によって識別される現在実行されているサービスの記録の停止に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、Javaプログラムが実装する残量不足時ハンドラからレコーディング識別子を指定されて、そのレコーディング識別子によって識別される現在実行されているサービスの記録の停止を要求されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在実行されているサービスの記録を、停止する。具体的には、レコーディング生成部2801はTuner1704cのチューニング動作を停止させ、記録領域1504の指定されたボリュームへのMPEG2トランスポートストリームの書込を終了させる。また、先ほど記録したMPEG2トランスポートストリームの管理情報として、図21に示すレコーディング情報管理テーブルを生成する。
レコーディング情報保持部2803は、実施の形態1と同様の機能をもつため、再度の説明は省略する。
ボリューム残量不足検知部2802は、あるサービスの記録開始時に、レコーディング生成部2801から、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子が引き渡されて、サービスが記録されるボリュームの残量を監視する。一定周期ごとにストレージマネージャ1704gのボリューム残量検出部2813にボリューム識別子を引き渡して、そのボリューム識別子によって識別されるボリュームの残量を取得する。また、サービスが記録されるボリュームの残量不足が検知された場合は、残量不足時ハンドラ登録部3301へ、ボリュームの残量不足が検知された現在実行されているサービスの記録を識別するレコーディング識別子を引き渡して、特権Javaプログラムによって残量不足時ハンドラ登録部3301に登録された残量不足時ハンドラの呼出を要求する。
残量不足時ハンドラは、残量不足時ハンドラ登録部3301から、ボリュームの残量不足が検知された現在実行されているサービスの記録を識別するレコーディング識別子が引き渡されて、実行される。残量不足時ハンドラは、レコーディング生成部2801へ、そのレコーディング識別子を指定して、そのレコーディング識別子から導出されるサービスの記録の停止を要求する。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
図35は、サービスの記録が開始されてから、サービスを記録するボリュームの残量不足が検知されて、残量不足時ハンドラが呼び出されるまでの動作の流れを示すフローチャートである。
レコーディング生成部2801は、サービスの記録開始時刻に至ると、ボリューム残量不足検知部2802へ、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子を引き渡す(S3501)。ボリューム残量不足検知部2802は、現在時刻がサービスの記録終了時刻を超過しているか判定して(S3502)、サービスの記録終了時刻を超過していれば、終了する。サービスの記録終了時刻を超過していなければ、ストレージマネージャ1704gのボリューム残量検出部2813へボリューム識別子を引き渡して、そのボリューム識別子によって識別されるボリュームの残量を取得する(S3503)。取得されたボリュームの残量と、サービスの記録を完了するまでに必要と見積もられるボリュームの容量とを比較して(S3504)、ボリュームの残量が必要なボリュームの容量以上ならば、一定期間が経過するまで待機する(S3505)。
そして、一定期間経過後に、再び現在時刻がサービスの記録終了時刻を超過しているか判定して(S3502)、超過していなければ、ストレージマネージャ1704gのボリューム残量検出部2813からボリュームの残量を取得して(S3503)、ボリュームの残量が必要なボリュームの容量以上か判定する(S3504)。ボリュームの残量が必要なボリュームの容量未満ならば、残量不足時ハンドラ登録部3301へ、残量不足が検知されたボリュームに現在実行されているサービスの記録を識別するレコーディング識別子を引き渡して、残量不足時ハンドラの呼出を要求する(S3506)。
図36は、残量不足時ハンドラが呼び出された場合の動作の流れを示すフローチャートである。
ボリューム残量不足検知部2802から、残量不足時ハンドラ登録部3301へ、残量不足が検知されたボリュームに現在実行されているサービスの記録を識別するレコーディング識別子が引き渡されて、残量不足時ハンドラの呼出が要求された場合、残量不足時ハンドラ登録部は、そのレコーディング識別子とともに残量不足時ハンドラを呼び出す。残量不足時ハンドラは、レコーディング生成部2801へ、そのレコーディング識別子を引き渡して、そのレコーディング識別子から導出される現在実行されているサービスの記録の停止を要求する(S3601)。
以上のようにして、サービスの記録時に、サービスを記録するボリュームの残量不足を検知した場合、Javaプログラムが登録した残量不足時ハンドラを呼び出すとともに、現在実行されているサービスの記録を停止することで、不完全な状態でのサービスの記録の終了を防止することが可能となる。
(実施の形態3)
以下に、本発明の実施の形態3に係る装置および方法を、図面を参照しながら説明する。
実施の形態3に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。
実施の形態3のソフトウェア構成は、図33に示すものと同様である。レコーディングマネージャ1704h以外の構成要素は、実施の形態2のソフトウェア構成の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。また、実施の形態3で用いる各種データ形式は、図20から図22までの図面、および、図29に示すものと同様であるため、再度の説明は省略する。
レコーディングマネージャ1704hは、現在放送されているサービスを、指定された期間において、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。レコーディングマネージャ1704hは、レコーディング生成部2801、ボリューム残量不足検知部2802、レコーディング情報保持部2803、残量不足時ハンドラ登録部3301、および、残量不足時ハンドラ登録特権判定部3302で構成される。
残量不足時ハンドラ登録部3301、レコーディング生成部2801、および、ボリューム残量不足検知部2802以外の構成要素は、実施の形態2と同様の機能をもつため、再度の説明は省略する。
残量不足時ハンドラ登録部3301は、ボリューム残量不足検知部2802において現在実行されているサービスを記録するボリュームの残量不足が検知された場合に、現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801から引き渡されたビットレート、および、ボリュームの残量を引き渡されて呼び出される、特権Javaプログラムによって事前に登録された、ボリュームの残量不足時に対処するための残量不足時ハンドラを保持する。
レコーディング生成部2801は、Javaプログラムによって指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、チャンネル識別子によって識別されるサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。また、指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
さらに、レコーディング生成部2801は、Javaプログラムが実装する残量不足時ハンドラによって指定されたレコーディング識別子および終了時刻にもとづいて、レコーディング識別子によって識別される現在実行されているサービスの記録の終了時刻を修正する。
まず、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録に関して、その動作の流れは実施の形態1と同様であるため、再度の説明は省略する。
次に、Javaプログラムが実装する残量不足時ハンドラが指定するレコーディング識別子および終了時刻によって、識別される現在実行されているサービスの記録の終了時刻の修正に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、Javaプログラムが実装する残量不足時ハンドラから、レコーディング識別子、および、修正された終了時刻を指定されて、そのレコーディング識別子によって識別される現在実行されているサービスの記録の終了時刻の修正を要求されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在実行されているサービスの記録の終了時刻を修正する。
ボリューム残量不足検知部2802は、あるサービスの記録開始時に、レコーディング生成部2801から、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子が引き渡されて、サービスが記録されるボリュームの残量を監視する。一定周期ごとにストレージマネージャ1704gのボリューム残量検出部2813にボリューム識別子を引き渡して、そのボリューム識別子によって識別されるボリュームの残量を取得する。また、サービスが記録されるボリュームの残量不足が検知された場合は、残量不足時ハンドラ登録部3301へ、ボリュームの残量不足が検知された現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801から引き渡されたビットレート、および、ボリュームの残量を引き渡して、特権Javaプログラムによって残量不足時ハンドラ登録部3301に登録された残量不足時ハンドラの呼出を要求する。
残量不足時ハンドラは、残量不足時ハンドラ登録部3301から、ボリュームの残量不足が検知された現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡されたビットレート、および、ボリュームの残量が引き渡されて、実行される。残量不足時ハンドラは、レコーディング生成部2801へ、そのレコーディング識別子、および、記録終了時刻を引き渡して、そのレコーディング識別子から導出されるサービスの記録の終了時刻の修正を要求する。ここで、記録終了時刻は、ビットレートとボリュームの残量によって算出されるそのボリュームで記録可能と見積もられる記録終了時刻である。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
サービスの記録が開始されてから、サービスを記録するボリュームの残量不足が検知されて、残量不足時ハンドラが呼び出されるまでの動作の流れは、実施の形態2と同様であるため、図35のフローチャートを参照することとする。
図37は、残量不足時ハンドラが呼び出された場合の動作の流れを示すフローチャートである。
ボリューム残量不足検知部2802から、残量不足時ハンドラ登録部3301へ、残量不足が検知されたボリュームに現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801から引き渡されたビットレート、および、ボリュームの残量が引き渡されて、残量不足時ハンドラの呼出が要求された場合、残量不足時ハンドラ登録部は、そのレコーディング識別子、ビットレート、および、ボリュームの残量とともに残量不足時ハンドラを呼び出す。残量不足時ハンドラは、レコーディング生成部2801へ、そのレコーディング識別子および記録終了時刻を引き渡して、そのレコーディング識別子から導出される現在実行されているサービスの記録の終了時刻を修正する(S3701)。ここで、記録終了時刻は、ビットレートとボリュームの残量によって算出されるそのボリュームで記録可能と見積もられる記録終了時刻である。
以上のようにして、サービスの記録時に、サービスを記録するボリュームの残量不足を検知した場合、Javaプログラムが登録した残量不足時ハンドラを呼び出すとともに、現在実行されているサービスの記録の終了時刻を修正することで、ボリュームの残量を最大限活用しつつ、不完全な状態でのサービスの記録の終了を防止することが可能となる。
(実施の形態4)
以下に、本発明の実施の形態4に係る装置および方法を、図面を参照しながら説明する。
実施の形態4に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。
実施の形態4のソフトウェア構成は、図33に示すものと同様である。レコーディングマネージャ1704h以外の構成要素は、実施の形態2のソフトウェア構成の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。また、実施の形態4で用いる各種データ形式は、図20から図22までの図面、および、図29に示すものと同様であるため、再度の説明は省略する。
レコーディングマネージャ1704hは、現在放送されているサービスを、指定された期間において、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。レコーディングマネージャ1704hは、レコーディング生成部2801、ボリューム残量不足検知部2802、レコーディング情報保持部2803、残量不足時ハンドラ登録部3301、および、残量不足時ハンドラ登録特権判定部3302で構成される。
残量不足時ハンドラ登録部3301、レコーディング生成部2801、および、ボリューム残量不足検知部2802以外の構成要素は、実施の形態2と同様の機能をもつため、再度の説明は省略する。
残量不足時ハンドラ登録部3301は、ボリューム残量不足検知部2802において現在実行されているサービスを記録するボリュームの残量不足が検知された場合に、現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801から引き渡された終了時刻、および、ボリュームの残量を引き渡されて呼び出される、特権Javaプログラムによって事前に登録された、ボリュームの残量不足時に対処するための残量不足時ハンドラを保持する。
レコーディング生成部2801は、Javaプログラムによって指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、チャンネル識別子によって識別されるサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。また、指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
さらに、レコーディング生成部2801は、Javaプログラムが実装する残量不足時ハンドラによって指定されたレコーディング識別子およびビットレートにもとづいて、レコーディング識別子によって識別される現在実行されているサービスの記録のビットレートを修正する。
まず、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録に関して、その動作の流れは実施の形態1と同様であるため、再度の説明は省略する。
次に、Javaプログラムが実装する残量不足時ハンドラが指定するレコーディング識別子およびビットレートによって、識別される現在実行されているサービスの記録のビットレートの修正に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、Javaプログラムが実装する残量不足時ハンドラから、レコーディング識別子、および、修正されたビットレートを指定されて、そのレコーディング識別子によって識別される現在実行されているサービスの記録のビットレートの修正を要求されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在実行されているサービスの記録のビットレートを修正する。
ボリューム残量不足検知部2802は、あるサービスの記録開始時に、レコーディング生成部2801から、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子が引き渡されて、サービスが記録されるボリュームの残量を監視する。一定周期ごとにストレージマネージャ1704gのボリューム残量検出部2813にボリューム識別子を引き渡して、そのボリューム識別子によって識別されるボリュームの残量を取得する。また、サービスが記録されるボリュームの残量不足が検知された場合は、残量不足時ハンドラ登録部3301へ、ボリュームの残量不足が検知された現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801から引き渡された終了時刻、および、ボリュームの残量を引き渡して、特権Javaプログラムによって残量不足時ハンドラ登録部3301に登録された残量不足時ハンドラの呼出を要求する。
残量不足時ハンドラは、残量不足時ハンドラ登録部3301から、ボリュームの残量不足が検知された現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡された終了時刻、および、ボリュームの残量が引き渡されて、実行される。残量不足時ハンドラは、レコーディング生成部2801へ、そのレコーディング識別子、および、ビットレートを引き渡して、そのレコーディング識別子から導出されるサービスの記録のビットレートの修正を要求する。ここで、ビットレートは、終了時刻とボリュームの残量によって算出されるそのボリュームで記録可能と見積もられるビットレートである。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
サービスの記録が開始されてから、サービスを記録するボリュームの残量不足が検知されて、残量不足時ハンドラが呼び出されるまでの動作の流れは、実施の形態2と同様であるため、図35のフローチャートを参照することとする。
図38は、残量不足時ハンドラが呼び出された場合の動作の流れを示すフローチャートである。
ボリューム残量不足検知部2802から、残量不足時ハンドラ登録部3301へ、残量不足が検知されたボリュームに現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801から引き渡された終了時刻、および、ボリュームの残量が引き渡されて、残量不足時ハンドラの呼出が要求された場合、残量不足時ハンドラ登録部は、そのレコーディング識別子、終了時刻、および、ボリュームの残量とともに残量不足時ハンドラを呼び出す。残量不足時ハンドラは、レコーディング生成部2801へ、そのレコーディング識別子およびビットレートを引き渡して、そのレコーディング識別子から導出される現在実行されているサービスの記録のビットレートを修正する(S3801)。ここで、ビットレートは、終了時刻、および、ボリュームの残量によって算出されるそのボリュームで記録可能と見積もられるビットレートである。
以上のようにして、サービスの記録時に、サービスを記録するボリュームの残量不足を検知した場合、Javaプログラムが登録した残量不足時ハンドラを呼び出すとともに、現在実行されているサービスの記録のビットレートを修正することで、ボリュームの残量を最大限活用しつつ、不完全な状態でのサービスの記録の終了を防止することが可能となる。
(実施の形態5)
以下に、本発明の実施の形態5に係る装置および方法を、図面を参照しながら説明する。
実施の形態5に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。
実施の形態5のソフトウェア構成は、図33に示すものと同様である。レコーディングマネージャ1704h以外の構成要素は、実施の形態2のソフトウェア構成の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。また、実施の形態5で用いる各種データ形式は、図20から図22までの図面、および、図29に示すものと同様であるため、再度の説明は省略する。
レコーディングマネージャ1704hは、現在放送されているサービスを、指定された期間において、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。レコーディングマネージャ1704hは、レコーディング生成部2801、ボリューム残量不足検知部2802、レコーディング情報保持部2803、残量不足時ハンドラ登録部3301、および、残量不足時ハンドラ登録特権判定部3302で構成される。
残量不足時ハンドラ登録部3301、レコーディング生成部2801、および、ボリューム残量不足検知部2802以外の構成要素は、実施の形態2と同様の機能をもつため、再度の説明は省略する。
残量不足時ハンドラ登録部3301は、ボリューム残量不足検知部2802において現在実行されているサービスを記録するボリュームの残量不足が検知された場合に、現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡された終了時刻、ビットレート、および、ボリュームの残量を引き渡されて呼び出される、特権Javaプログラムによって事前に登録された、ボリュームの残量不足時に対処するための残量不足時ハンドラを保持する。
レコーディング生成部2801は、Javaプログラムによって指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、チャンネル識別子によって識別されるサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。また、指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
さらに、レコーディング生成部2801は、Javaプログラムが実装する残量不足時ハンドラによって指定されたレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、レコーディング識別子によって識別される現在記録されているサービスと等しいサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録と同様に、指定されたレコーディング識別子から導出されるサービスを識別するチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
まず、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録に関して、その動作の流れは実施の形態1と同様であるため、再度の説明は省略する。
次に、Javaプログラムが実装する残量不足時ハンドラが指定するレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子によって、識別されるサービスの記録に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、Javaプログラムが実装する残量不足時ハンドラからレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子を指定されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在記録されているサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。
ただし、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録とは異なって、開始時刻に至っても、レコーディング生成部2801は、ボリューム残量不足検知部2802へ、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子を引き渡すことはなく、すなわち、サービスを記録するボリュームの残量を監視させることはない。
以下の動作の流れは、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録と同様であるので、ここでは省略する。
ボリューム残量不足検知部2802は、あるサービスの記録開始時に、レコーディング生成部2801から、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子が引き渡されて、サービスが記録されるボリュームの残量を監視する。一定周期ごとにストレージマネージャ1704gのボリューム残量検出部2813にボリューム識別子を引き渡して、そのボリューム識別子によって識別されるボリュームの残量を取得する。また、サービスが記録されるボリュームの残量不足が検知された場合は、残量不足時ハンドラ登録部3301へ、ボリュームの残量不足が検知された現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801から引き渡された終了時刻、ビットレート、および、ボリュームの残量を引き渡して、特権Javaプログラムによって残量不足時ハンドラ登録部3301に登録された残量不足時ハンドラの呼出を要求する。
残量不足時ハンドラは、残量不足時ハンドラ登録部3301から、ボリュームの残量不足が検知された現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡された終了時刻、ビットレート、および、ボリュームの残量が引き渡されて、実行される。残量不足時ハンドラは、レコーディング生成部2801へ、そのレコーディング識別子、記録開始時刻、記録終了時刻、ビットレート、および、残量不足時ハンドラによって生成されたボリューム識別子を引き渡して、補足レコーディングの生成を要求する。ここで、記録開始時刻は現在記録されているボリュームの残量がなくなる時刻である。また、記録終了時刻、あるいは、ビットレートは生成されたボリュームにおいて記録可能なように設定される。よって、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡された終了時刻、あるいは、ビットレートとは異なる可能性がある。
以上説明した構成による本実施例において特徴的な動作を、以下にフローチャートを用いて説明する。
サービスの記録が開始されてから、サービスを記録するボリュームの残量不足が検知されて、残量不足時ハンドラが呼び出されるまでの動作の流れは、実施の形態2と同様であるため、図35のフローチャートを参照することとする。
図39は、残量不足時ハンドラが呼び出された場合の動作の流れを示すフローチャートである。
ボリューム残量不足検知部2802から、残量不足時ハンドラ登録部3301へ、残量不足が検知されたボリュームに現在実行されているサービスの記録を識別するレコーディング識別子、および、レコーディング生成部2801から引き渡された終了時刻、ビットレート、および、ボリュームの残量が引き渡されて、残量不足時ハンドラの呼出が要求された場合、残量不足時ハンドラ登録部は、そのレコーディング識別子、終了時刻、ビットレート、および、ボリュームの残量とともに残量不足時ハンドラを呼び出す。残量不足時ハンドラは、ストレージマネージャ1704gのストレージ残量検出部2814からボリュームが割り当てられていないストレージの容量を取得する(S3901)。
まず、ストレージ残量検出部2814から取得されたストレージの残量があるか判定する(S3902)。取得されたストレージの残量がない場合は、ボリュームの生成に失敗して、終了する。取得されたストレージの残量がある場合は、さらに、ストレージ残量検出部2814から取得されたストレージの残量が、終了時刻、ビットレート、および、ボリュームの残量によって算出される、サービスの記録の完了までに不足すると見積もられるボリューム容量以上であるか判定する(S3903)。取得されたストレージの残量が、不足するボリューム容量以上である場合は、不足するボリューム容量と既定されているボリューム名を指定して、ボリューム生成部2811へ、ボリュームの生成を要求する(S3904)。
しかし、取得されたストレージの残量が、不足するボリューム容量未満である場合は、ストレージ残量検出部2814から取得されたストレージの残量と既定されているボリューム名を指定して、ボリューム生成部2811へ、ボリュームの生成を要求する(S3905)。ボリュームの生成に成功すれば、ボリューム生成部2811から生成されたボリューム識別子が返される。ボリュームの生成に成功した場合は、レコーディング生成部2801へ、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡されたレコーディング識別子、記録開始時刻、記録終了時刻、ビットレート、および、生成されたボリューム識別子を引き渡して、補足レコーディングの生成を要求する(S3906)。
ここで、記録開始時刻は現在記録されているボリュームの残量がなくなる時刻である。また、記録終了時刻、あるいは、ビットレートは生成されたボリュームにおいて記録可能なように設定される。よって、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡された終了時刻、あるいは、ビットレートとは異なる可能性がある。
以上のようにして、サービスの記録時に、サービスを記録するボリュームの残量不足を検知した場合、Javaプログラムが登録した残量不足時ハンドラを呼び出すとともに、サービスの記録の完了までに不足すると見積もられる容量分のボリュームを生成して、そのボリュームに現在実行しているサービスの記録を移行することで、ストレージの余剰部分を活用して、サービスの記録を完了することが可能となる。
(実施の形態6)
以下に、本発明の実施の形態6に係る装置および方法を、図面を参照しながら説明する。
実施の形態6に用いるハードウェア構成等は、本発明の実施の形態1と同様であるので、図1から図16までを援用することとする。図中の構成要素は、実施の形態1の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。また、実施の形態6で用いる各種データ形式は、図20から図22までの図面、および、図29に示すものと同様であるため、再度の説明は省略する。
図40は、Javaライブラリ1704におけるストレージマネージャ1704g、および、レコーディングマネージャ1704hの詳細な構成を示す図である。ストレージマネージャ1704gおよびレコーディングマネージャ1704h以外の構成要素は、実施の形態2のソフトウェア構成の同一名称、同一符号の構成要素と同様の機能をもつため、再度の説明は省略する。
ストレージマネージャ1704gは、ストレージすなわち記録領域1504を1つあるいは複数のボリュームという単位に分割して管理する。ストレージマネージャ1704gは、ボリューム生成部2811、ボリューム情報保持部2812、ボリューム残量検出部2813、および、ストレージ残量検出部2814で構成される。
ボリューム生成部2811、および、ストレージ残量検出部2814以外の構成要素は、実施の形態5と同様の機能をもつため、再度の説明は省略する。
ボリューム生成部2811は、Javaプログラムあるいは残量不足時ハンドラ登録部3301によって指定されるボリューム名およびボリューム容量にもとづいて、記録領域1504にボリュームを生成する。例えば、ボリューム名として“MEDIA”、ボリューム容量として“10240”と指定された場合は、10240キロバイトの“MEDIA”というボリュームを記録領域1504に生成する。ボリューム生成部2811が、ストレージ残量検出部2814からストレージすわなち記録領域1504の残量を取得して、記録領域1504に十分な空容量がない、あるいは、ボリューム情報保持部2812から記録領域1504に既存のボリューム情報を取得して、記録領域1504にすでに同名のボリュームが存在する場合は、ボリュームの生成に失敗する。ボリュームの生成に成功すれば、ボリュームを識別するためのボリューム識別子、ボリューム名、および、ボリューム容量等の情報が、ボリューム情報として、ボリューム情報保持部2812へ通知されて保持されるとともに、記録領域1504にも記録される。
Javaプログラムあるいは残量不足時ハンドラ登録部3301によって指定されたボリュームを生成するまでの動作の流れを図30に示す。
Javaプログラムあるいは残量不足時ハンドラ登録部3301からボリューム名およびボリューム容量が指定されて、ボリューム生成部2811へボリュームの生成が要求される。ボリューム生成部2811は、ストレージ残量検出部2814からストレージの残量を取得して、ストレージにボリュームを生成するための十分な残量があるか判定する。ストレージに十分な残量がない場合は、ボリュームの生成に失敗する。ストレージに十分な残量がある場合は、ボリューム情報保持部2812からストレージに既存のボリューム情報を取得して、ストレージに同名のボリュームがないか判定する。ストレージにすでに同名のボリュームがある場合は、ボリュームの生成に失敗する。ストレージに同名のボリュームがない場合は、ボリュームを生成して、生成したボリュームを識別するボリューム識別子を割り当てる。そのボリューム識別子、ボリューム名、および、ボリューム容量等の情報を、ボリューム情報として、ボリューム情報保持部2812に通知して保持させる。
ストレージ残量検出部2814は、Javaプログラム、ボリューム生成部2811、あるいは、残量不足時ハンドラ登録部3301からの問合せにもとづいて、その時点でボリュームが割り当てられていないストレージすなわち記録領域1504の容量を返す。
レコーディングマネージャ1704hは、現在放送されているサービスを、指定された期間において、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。レコーディングマネージャ1704hは、レコーディング生成部2801、ボリューム残量不足検知部2802、レコーディング情報保持部2803、残量不足時ハンドラ登録部3301、および、残量不足時ハンドラ登録特権判定部3302で構成される。
残量不足時ハンドラ登録部3301、および、レコーディング生成部2801以外の構成要素は、実施の形態5と同様の機能をもつため、再度の説明は省略する。
残量不足時ハンドラ登録部3301は、ボリューム残量不足検知部2802において現在実行されているサービスを記録するボリュームの残量不足が検知された場合に、現在実行されているサービスの記録を識別するレコーディング識別子、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡された終了時刻、ビットレート、および、ボリュームの残量を引き渡されて呼び出される、特権Javaプログラムによって事前に登録された、ボリュームの残量不足時に対処するための残量不足時ハンドラを保持する。
残量不足時ハンドラ登録部3301が保持する残量不足時ハンドラが呼び出された場合、その戻り値によって残量不足時ハンドラ登録部3301はボリュームの残量不足への対処を変化させる。
残量不足時ハンドラからの戻り値が“STOP_RECORDING”であった場合は、残量不足時ハンドラ登録部3301は、レコーディング生成部2801へ、ボリュームの残量不足が検知されたサービスの記録を識別するレコーディング識別子を指定して、サービスの記録を停止させる。
残量不足時ハンドラからの戻り値が“TIME_FORWARD”であった場合は、残量不足時ハンドラ登録部3301は、レコーディング生成部2801へ、ボリュームの残量不足が検知されたサービスの記録を識別するレコーディング識別子、および、修正された記録終了時刻を指定して、サービスの記録の終了時刻を修正させる。ここで、修正された記録終了時刻は、ビットレートとボリュームの残量によって算出されるそのボリュームで記録可能と見積もられる記録終了時刻である。
残量不足時ハンドラからの戻り値が“RATE_DOWN”であった場合は、残量不足時ハンドラ登録部3301は、レコーディング生成部2801へ、ボリュームの残量不足が検知されたサービスの記録を識別するレコーディング識別子、および、修正されたビットレートを指定して、サービスの記録のビットレートを修正させる。ここで、修正されたビットレートは、終了時刻とボリュームの残量によって算出されるそのボリュームで記録可能と見積もられるビットレートである。
残量不足時ハンドラからの戻り値が“CREATE_VOLUME”であった場合は、残量不足時ハンドラ登録部3301は、ストレージマネージャ1704gのストレージ残量検出部2814からボリュームが割り当てられていないストレージの容量を取得する。まず、ストレージ残量検出部2814から取得されたストレージの残量があるか判定する。取得されたストレージの残量がない場合は、ボリュームの生成に失敗して、終了する。取得されたストレージの残量がある場合は、さらに、ストレージ残量検出部2814から取得されたストレージの残量が、終了時刻、ビットレート、および、ボリュームの残量によって算出される、サービスの記録の完了までに不足すると見積もられるボリューム容量以上であるか判定する。
取得されたストレージの残量が、不足するボリューム容量以上である場合は、残量不足時ハンドラ登録部3301は、不足するボリューム容量と既定されているボリューム名を指定して、ボリューム生成部2811へ、ボリュームの生成を要求する。しかし、取得されたストレージの残量が、不足するボリューム容量未満である場合は、残量不足時ハンドラ登録部3301は、ストレージ残量検出部2814から取得されたストレージの残量と既定されているボリューム名を指定して、ボリューム生成部2811へ、ボリュームの生成を要求する。ボリュームの生成に成功すれば、ボリューム生成部2811から生成されたボリューム識別子が返される。
ボリュームの生成に成功した場合は、残量不足時ハンドラ登録部3301は、レコーディング生成部2801へ、ボリュームの残量不足が検知されたサービスの記録を識別するレコーディング識別子、記録開始時刻、記録終了時刻、ビットレート、および、生成されたボリューム識別子を引き渡して、補足レコーディングの生成を要求する。ここで、記録開始時刻は現在記録されているボリュームの残量がなくなる時刻である。また、記録終了時刻、あるいは、ビットレートは生成されたボリュームにおいて記録可能なように設定される。よって、レコーディング生成部2801からボリューム残量不足検知部2802を経て引き渡された終了時刻、あるいは、ビットレートとは異なる可能性がある。
レコーディング生成部2801は、Javaプログラムによって指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、チャンネル識別子によって識別されるサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。また、指定されたチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
まず、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録に関して、その動作の流れは実施の形態1と同様であるため、再度の説明は省略する。
さらに、レコーディング生成部2801は、残量不足時ハンドラ登録部3301によって指定されたレコーディング識別子にもとづいて、レコーディング識別子によって識別される現在実行されているサービスの記録を停止する。
残量不足時ハンドラ登録部3301が指定するレコーディング識別子によって識別される現在実行されているサービスの記録の停止に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、残量不足時ハンドラ登録部3301からレコーディング識別子を指定されて、そのレコーディング識別子によって識別される現在実行されているサービスの記録の停止を要求されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在実行されているサービスの記録を、停止する。具体的には、レコーディング生成部2801はTuner1704cのチューニング動作を停止させ、記録領域1504の指定されたボリュームへのMPEG2トランスポートストリームの書込を終了させる。また、先ほど記録したMPEG2トランスポートストリームの管理情報として、図21に示すレコーディング情報管理テーブルを生成する。
また、レコーディング生成部2801は、残量不足時ハンドラ登録部3301によって指定されたレコーディング識別子および終了時刻にもとづいて、レコーディング識別子によって識別される現在実行されているサービスの記録の終了時刻を修正する。
残量不足時ハンドラ登録部3301が指定するレコーディング識別子および終了時刻によって、識別される現在実行されているサービスの記録の終了時刻の修正に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、残量不足時ハンドラ登録部3301から、レコーディング識別子、および、修正された終了時刻を指定されて、そのレコーディング識別子によって識別される現在実行されているサービスの記録の終了時刻の修正を要求されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在実行されているサービスの記録の終了時刻を修正する。
また、レコーディング生成部2801は、残量不足時ハンドラ登録部3301によって指定されたレコーディング識別子およびビットレートにもとづいて、レコーディング識別子によって識別される現在実行されているサービスの記録のビットレートを修正する。
残量不足時ハンドラ登録部3301が指定するレコーディング識別子およびビットレートによって、識別される現在実行されているサービスの記録のビットレートの修正に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、残量不足時ハンドラ登録部3301から、レコーディング識別子、および、修正されたビットレートを指定されて、そのレコーディング識別子によって識別される現在実行されているサービスの記録のビットレートの修正を要求されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在実行されているサービスの記録のビットレートを修正する。
また、レコーディング生成部2801は、残量不足時ハンドラ登録部3301によって指定されたレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子にもとづいて、レコーディング識別子によって識別される現在記録されているサービスと等しいサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録と同様に、指定されたレコーディング識別子から導出されるサービスを識別するチャンネル識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子等をレコーディング情報として、レコーディング情報保持部2803へ通知して保持させるとともに、記録領域1504にも記録する。
残量不足時ハンドラ登録部3301が指定するレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子によって、識別されるサービスの記録に関して、その動作の流れを以下に記述する。
レコーディング生成部2801は、残量不足時ハンドラ登録部3301からレコーディング識別子、開始時刻、終了時刻、ビットレート、および、ボリューム識別子を指定されると、保持するレコーディング情報から、指定されたレコーディング識別子をキーとして、対応するレコーディング情報を導出する。そして、そのレコーディング情報によって現在記録されているサービスを、指定された開始時刻と終了時刻の間だけ、指定されたビットレートで、記録領域1504の指定されたボリュームに記録する。
ただし、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録とは異なって、開始時刻に至っても、レコーディング生成部2801は、ボリューム残量不足検知部2802へ、レコーディング情報のうち、レコーディング識別子、終了時刻、ビットレート、および、ボリューム識別子を引き渡すことはなく、すなわち、サービスを記録するボリュームの残量を監視させることはない。
以下の動作の流れは、Javaプログラムが指定するチャンネル識別子によって識別されるサービスの記録と同様であるので、ここでは省略する。
以上のようにして、サービスの記録時に、サービスを記録するボリュームの残量不足を検知した場合、Javaプログラムが登録した残量不足時ハンドラを呼び出すとともに、その戻り値によってボリュームの残量不足への対処を変化させることで、サービスの記録時にボリュームの残量不足が発生したとしても、その場合に適当な対処を実行することが可能となる。
(実施の形態7)
以下に、本発明の実施の形態7に係る装置および方法を、図面を参照しながら説明する。
実施の形態7は、実施の形態1を実現するための異なるハードウェア構成の形態を提供するものである。実施の形態7で用いるハードウェア構成等は、図24および図25で示す。
図24は、サービスの記録時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。図中の構成要素のうち、図15と同一番号を付した構成要素は、実施の形態1で既に説明済であるため、再度の説明を省略する。図24のハードウェア構成では、図15と異なり、TSデコーダ1302でフィルタリングされたセクションが、1次記憶部1308を通った後、多重器を経由せずに、記録領域1504に記録される。ここで、セクションの記録領域1504への記録に関しては、セクションの形式に応じて記録方式が異なる。
DSMCCファイルシステムにてMPEG2トランスポートストリーム中に記録されたファイルシステムに関しては、端末固有の記録領域1504独自のファイルシステムフォーマットに変換して記録領域1504に記録する。
また、AITに関しては、図26に拡張したレコーディング情報管理テーブルの形式に変換して記録領域1504に記録する。図26に示したレコーディング情報管理テーブルは、図21に示したレコーディング情報管理テーブルを拡張したものであり、両図において同一の符号で識別される項目は、図21に示したレコーディング情報管理テーブルと同等の意味をもつため、説明を省略する。
各行2611〜2613はそれぞれ1つのサービスのレコーディング情報を示す。各行2611〜2613はそれぞれレコーディング識別子2101、チャンネル識別子2102、プログラムナンバー2103、サービスの記録を開始した時間2104、サービスの記録を終了した時間2105、サービスを記録するビットレート2106、メディア識別子2107、および、AIT情報管理テーブルへの参照をもつ。AIT情報管理テーブルはメディア時刻2621とそれに対応するAITバージョン2622をもつ。メディア時刻2621は対応するMPEG2トランスポートストリームの再生時の時刻であって、対応するMPEG2トランスポートストリーム上の位置を示す。AITバージョン2622は図22におけるAITバージョン2200に対応する。
例えば、レコーディング識別子2101として「001」をもつサービスのレコーディング情報は、メディア識別子2107として「001」をもち、参照されているAIT情報管理テーブルにおいてメディア時刻2621が「00:00:00」時には対応するAITバージョン2622は「1」となって、同様に、メディア時刻2621が「00:05:00」時には対応するAITバージョン2622は「2」、メディア時刻2621が「00:20:00」時には対応するAITバージョン2622は「3」となる。チャンネル識別子2601として「001」をもつサービスの再生時には、レコーディング情報管理テーブルを参照して、メディア識別子2107である「001」によって特定される映像および音声が多重化された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デコーダを経由せずに、一次記憶に読み込まれる。記録領域から読み出したMPEG2トランスポートストリームの現在再生時間に対応するメディア時間をレコーディング情報管理テーブルから検索し、そのメディア時間に相当するAITやDSMCCファイルシステムをファイルから読み出す。
ここで、図22に示すAITと、図26に示すレコーディング情報管理テーブルとによって、チャンネル識別子が「001」に対応するサービスを記録領域1504から再生する場合を一例として挙げる。
再生するサービスとして、チャンネル識別子が「001」に対応するサービスが指定されると、サービスの再生において前述したように、サービスに属する音声・映像、および、サービスに属するJavaプログラムがそれぞれ再生および起動される。
再生を開始するメディア時刻が指定されない場合は、メディア時刻2621が「00:00:00」から再生を開始する。すなわち、音声・映像としては、レコーディング識別子2101「001」に対応するメディア識別子2107「001」をもつMPEG2トランスポートストリームがメディア時刻2621「00:00:00」から再生される。AIT情報管理テーブルを参照して、メディア時刻2621「00:00:00」に対応するAITバージョン2622が「1」であるので、AITバージョン2200が「1」であるAITをファイルから読み出す。AITの内容に基づいて、制御情報2202が「autostart」であるプログラム名2204に対応するJavaプログラムが起動される。
次いで、サービスの再生が継続されて、メディア識別子「001」に対応する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プログラムは終了される。
次いで、サービスの再生が継続されて、メディア識別子2107「001」に対応する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プログラムが終了される。
以上のようにして、多重器によって多重化された映像および音声と、別途異なる形式で記録された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に引渡して実行するが、この場合でも本発明は適用可能である。
以上の実施例では、ストレージすなわち記録領域1504が1つである場合を挙げたが、複数であってもよい。その場合は、ボリューム生成部2811、ボリューム情報保持部2812、ボリューム残量検出部2813、および、ストレージ残量検出部2814に対して、ストレージを識別するためのストレージ識別子も併せて指定する。
以上の実施例では、トランスポートストリームがIn−bandから得られるとしてAITに関して実現方法を説明したが、AMが実行すべきJavaプログラムを参照する手法はAITによるものだけではない。米国ケーブルシステムで利用されることが想定されるOCAPでは図3に記載されるOOBにてアプリケーションプログラムの参照情報を記載するXAITが利用されている。その他、ROMに予め記録されているものを起動する、2次記憶にダウンロードして記憶したものを起動する、等の方法も考えられる。
本発明における録画再生装置、および、録画再生方法によれば、放送波の記録時に、放送波を記録する単位の残量不足を検知した場合、登録されている残量不足時ハンドラが呼び出されるとともに、その戻り値によって単位の残量不足への対処が変化することで、残量不足時ハンドラがその戻り値によって、既定の処理を選択して実行することが可能となる。
上記に詳細に説明した本発明の実施の形態は単なる例示にすぎず、本発明の新規な教示および効果から実質的に逸脱することなく例示として挙げた実施の形態において様々な変更が可能であることは、当業者であれば容易に理解するところである。したがって、かかる変更はすべて本発明の範囲内に含まれるものである。
本発明に係る記録装置(録画再生装置および録画再生方法)は、サービスの記録時に、サービスを記録するボリュームの残量不足を検知した場合、ストレージの余剰部分に補足ボリュームを生成するとともに、サービスで記録不可とされた部分をその補足ボリュームに記録することで、ストレージの余剰部分を活用して、サービスの記録を完了することを可能とするため、殊に放送録画再生装置に係る民生機器産業において利用される可能性が高い。例えば、ケーブルSTB、および、ディジタルTV等として利用可能である。さらに、例えば、携帯電話等の機器においても放送受信機能をもつ機器であれば利用可能である。
本願におけるこれらの目的および他の目的や、効果、特徴は、実施の形態を示す付属図面に関する以下の説明から明確になる。当該図面において、
本発明に係る放送システムの構成図である。 本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 MPEG2仕様で既定されるTSパケットの構成図である。 MPEG2トランスポートストリームの模式図である。 MPEG2仕様で既定されるPESパケットがTSパケットを用いて伝送される際の分割例を示す図である。 MPEG2仕様で既定されるMPEG2セクションがTSパケットを用いて伝送される際の分割例を示す図である。 MPEG2仕様で既定されるMPEG2セクションの構成図である。 MPEG2仕様で既定されるMPEG2セクションの利用例である。 MPEG2仕様で規定されるPMTの利用例を示す図である。 MPEG2仕様で規定されるPATの利用例を示す図である。 本発明に係る放送録画再生装置のハードウェア構成の構成例を示す図である。 本発明に係る端末装置1200のハードウェア構成における入力部1310のフロントパネル例を示す図である。 本発明に係る録画再生装置の記録時におけるデバイス接続例を示す図である。 本発明に係る録画再生装置の再生時におけるデバイス接続例を示す図である。 本発明に係る端末装置が保存するプログラム構成の構成図を示す図である。 本発明に係る端末装置が実行するEPGの一例を示す図である。 本発明に係る端末装置が実行するEPGの一例を示す図である。 本発明に係る2次記憶部が保存する情報の一例を示す図である。 本発明に係るレコーディング情報管理テーブルの一例を示す図である。 本発明に係るDVB−MHP規格が規定するAITの内容を表す模式図である。 本発明に係るDSMCC方式で送信されるファイルシステムを表す模式図である。 本発明に係る録画再生装置の記録時におけるデバイス接続例を示す図である。 本発明に係る録画再生装置の再生時におけるデバイス接続例を示す図である。 本発明に係るレコーディング情報管理テーブルの一例を示す図である。 本発明に係るストレージとボリュームとの関係を表現する概念図である。 本発明に係るレコーディングマネージャおよびストレージマネージャの構成の一例を示す図である。 本発明に係るメディア情報管理テーブルの一例を示す図である。 本発明に係るボリューム生成部において要求されたボリュームが生成されるフローチャートである。 本発明に係るレコーディング生成部において要求された補足レコーディングが生成されるフローチャートである。 本発明に係る補足ボリューム生成部において要求された補足ボリュームが生成されるフローチャートである。 本発明に係るレコーディングマネージャおよびストレージマネージャの構成の一例を示す図である。 本発明に係る残量不足時ハンドラ登録部において残量不足時ハンドラが登録されるフローチャートである。 本発明に係る残量不足時ハンドラ登録部において残量不足時ハンドラが呼び出されるフローチャートである。 本発明に係る残量不足時ハンドラによってサービス録画が停止されるフローチャートである。 本発明に係る残量不足時ハンドラによってサービス録画の終了時刻が修正されるフローチャートである。 本発明に係る残量不足時ハンドラによってサービス録画のビットレートが修正されるフローチャートである。 本発明に係る残量不足時ハンドラによって生成されたボリュームへサービス録画が移行されるフローチャートである。 本発明に係るレコーディングマネージャおよびストレージマネージャの構成の一例を示す図である。

Claims (9)

  1. 放送波に含まれるデータを記録する記録装置であって、
    記録領域内の予め定められた容量を単位領域とし、前記単位領域内に前記放送波に含まれるデータを記録するレコーディング生成手段と、
    前記単位領域内の記録可能な残量を検出するボリューム残量検出手段と、
    前記ボリューム残量検出手段によって検出される前記単位領域内の記録可能な残量が予め定められた容量未満になったことを検知するボリューム残量不足検知手段と、
    前記ボリューム残量不足検知手段により、記録している前記単位領域内の記録可能な前記残量が、前記予め定められた容量未満になったことが検知された場合に呼び出される残量不足時ハンドラと、
    前記残量不足時ハンドラを登録する残量不足時ハンドラ登録手段とを備え、
    前記ボリューム残量不足検知手段によって、前記単位領域内の記録可能な前記残量が前記予め定められた容量未満になったことが検知された場合に、前記残量不足時ハンドラ登録手段に登録されている前記残量不足時ハンドラが呼び出される
    ことを特徴とする記録装置。
  2. 放送波に含まれるデータから抽出され、実行されたアプリケーションプログラムが前記単位領域を特定する情報を指定して、前記残量不足時ハンドラ登録手段を呼び出すことにより、前記残量不足時ハンドラ登録手段は、前記残量不足時ハンドラを登録する
    ことを特徴とする請求項1記載の記録装置。
  3. 前記残量不足時ハンドラは、前記放送波に含まれるデータの前記単位領域内への記録を停止する
    ことを特徴とする請求項1または2に記載の記録装置。
  4. 前記残量不足時ハンドラは、前記放送波に含まれるデータの前記単位領域内への記録の終了予定時刻を修正する
    ことを特徴とする請求項1または2に記載の記録装置。
  5. 前記残量不足時ハンドラは、前記放送波に含まれるデータの前記単位領域内への記録のビットレートを修正する
    ことを特徴とする請求項1または2に記載の記録装置。
  6. 前記残量不足時ハンドラは、前記記録領域において、記録している前記単位領域とは別の単位領域を新規に生成し、前記新規に生成した別の単位領域内へ前記放送波に含まれるデータを記録する
    ことを特徴とする請求項1または2に記載の記録装置。
  7. 前記残量不足時ハンドラは、前記記録領域において、記録している前記単位領域とは異なる容量を有する領域を新規に生成し、前記新規に生成した別の領域内へ前記放送波に含まれるデータを記録する
    ことを特徴とする請求項1または2に記載の記録装置。
  8. 前記単位領域は、前記放送波に含まれるデータを所定のビットレートで記録するために必要な最小限の容量を有する
    ことを特徴とする請求項1または2に記載の記録装置。
  9. 放送波に含まれるデータを記録する記録装置であって、
    記録領域内の予め定められた容量を単位領域とし、前記単位領域内に前記放送波に含まれるデータを所定の時間だけ記録するレコーディング生成手段と、
    前記単位領域内の記録可能な残量を検出するボリューム残量検出手段と、
    前記ボリューム残量検出手段によって検出される前記単位領域内の記録可能な残量が、前記放送波を前記所定の時間だけ記録するために必要な最小限の容量未満になったことを検知するボリューム残量不足検知手段と、
    前記ボリューム残量不足検知手段によって、前記単位領域内の記録可能な残量が前記最小限の容量未満になったことが検知された場合に、前記記録領域内に他の単位領域を新規に生成し、前記放送波に含まれるデータを新規に生成した前記他の単位領域内へ記録する補足ボリューム生成手段とを備える
    ことを特徴とする記録装置。
JP2008528690A 2005-12-19 2006-12-18 残量検出部を有する記録装置 Pending JP2009520381A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75132105P 2005-12-19 2005-12-19
PCT/JP2006/325675 WO2007072957A1 (en) 2005-12-19 2006-12-18 Recording apparatus with remaining capacity detection unit

Publications (1)

Publication Number Publication Date
JP2009520381A true JP2009520381A (ja) 2009-05-21

Family

ID=37808198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008528690A Pending JP2009520381A (ja) 2005-12-19 2006-12-18 残量検出部を有する記録装置

Country Status (6)

Country Link
US (1) US20070140651A1 (ja)
JP (1) JP2009520381A (ja)
KR (1) KR20080078836A (ja)
CN (1) CN101341744A (ja)
CA (1) CA2633196A1 (ja)
WO (1) WO2007072957A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244653A (ja) * 2005-03-04 2006-09-14 Matsushita Electric Ind Co Ltd ストリームデータ記録装置、およびストリームデータ記録方法
KR100767682B1 (ko) * 2006-02-10 2007-10-17 엘지전자 주식회사 방송 프로그램 저장방법 및 그에 따른 텔레비전 방송수상기
KR101109598B1 (ko) * 2006-03-21 2012-01-31 삼성전자주식회사 디지털 케이블 방송에 있어서 패킷 전송 방법 및 장치,패킷 결합 방법 및 장치
US20090110375A1 (en) * 2006-03-24 2009-04-30 Pioneer Corporation Information recording device and method, and computer program
JP4891847B2 (ja) * 2007-06-29 2012-03-07 株式会社東芝 記録装置、記録再生システム、記録方法
US8687938B2 (en) * 2008-03-31 2014-04-01 Panasonic Corporation Video recording system, video recording apparatus, and video recording method
EP2393294B1 (en) * 2009-01-27 2018-07-11 Nec Corporation Delivery system, delivery method, server device, program and client device
JP5277009B2 (ja) * 2009-02-09 2013-08-28 株式会社日立製作所 光情報記録方法および記録装置
JP4489138B1 (ja) * 2009-02-25 2010-06-23 株式会社東芝 番組録画装置及び録画予約情報表示方法
TW201233173A (en) * 2011-01-18 2012-08-01 Hon Hai Prec Ind Co Ltd System and method for recording and sharing TV program
US8793463B2 (en) * 2011-09-12 2014-07-29 Microsoft Corporation Allocation strategies for storage device sets
US8872882B2 (en) 2012-02-29 2014-10-28 Logitech Europe S.A. Streaming a videoconference using distributed transcoding
WO2013157447A1 (ja) 2012-04-19 2013-10-24 ソニー株式会社 受信装置、受信方法、送信装置、送信方法、及びプログラム
US8970658B2 (en) 2012-04-20 2015-03-03 Logitech Europe S.A. User interface allowing a participant to rejoin a previously left videoconference
US10063922B2 (en) * 2014-09-15 2018-08-28 Vasona Networks Inc. Performance metrics for downloads of encrypted video
US11165680B2 (en) * 2014-09-15 2021-11-02 Vasona Networks, Inc. Bit-rate extraction for encrypted video
US10582266B2 (en) 2015-10-07 2020-03-03 Vasona Networks Inc. Rating video-download quality
CN107529089A (zh) * 2017-08-18 2017-12-29 四川长虹电器股份有限公司 时移和/或刻录的存储方法
US11363352B2 (en) 2017-09-29 2022-06-14 International Business Machines Corporation Video content relationship mapping

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0123754B1 (en) * 1993-09-24 1997-11-27 Samsung Electronics Co Ltd Method of reserved recording by automatic editing
EP1003301A3 (en) * 1998-11-19 2000-06-07 NEC Corporation Program information providing apparatus and record/playback control apparatus
US20020118954A1 (en) * 2001-12-07 2002-08-29 Barton James M. Data storage management and scheduling system
KR100647368B1 (ko) * 2000-01-26 2006-11-17 엘지전자 주식회사 광기록매체의 포맷팅 방법
JP3866611B2 (ja) * 2002-05-08 2007-01-10 株式会社東芝 記録停止処理方法及びデータ記録装置
JP3944122B2 (ja) * 2003-06-05 2007-07-11 株式会社東芝 情報記録媒体、情報記録方法、情報記録装置、情報再生方法、情報再生装置
JP2005312006A (ja) * 2004-03-26 2005-11-04 Denon Ltd 映像記録再生装置及び方法
JP3827162B2 (ja) * 2004-06-25 2006-09-27 ソニー株式会社 データ記録装置
WO2006123799A1 (en) * 2005-05-18 2006-11-23 Matsushita Electric Industrial Co., Ltd. Content reproduction apparatus
CN101208750B (zh) * 2005-05-31 2011-12-28 松下电器产业株式会社 记录和再现装置以及记录和再现方法
WO2006129813A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast recording and reproduction apparatus with expiration date management unit
WO2006129818A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal
CA2607860A1 (en) * 2005-06-06 2006-12-14 Matsushita Electric Industrial Co., Ltd. Recording and reproduction apparatus
CA2609827A1 (en) * 2005-06-23 2006-12-28 Matsushita Electric Industrial Co. Ltd. Program execution apparatus and execution method

Also Published As

Publication number Publication date
WO2007072957A1 (en) 2007-06-28
US20070140651A1 (en) 2007-06-21
KR20080078836A (ko) 2008-08-28
CN101341744A (zh) 2009-01-07
CA2633196A1 (en) 2007-06-28

Similar Documents

Publication Publication Date Title
JP2009520381A (ja) 残量検出部を有する記録装置
US8745632B2 (en) Broadcast receiving terminal and program execution method for resource reservation
JP2008546220A (ja) コンテンツ再生装置
US7840116B2 (en) Broadcast receiving terminal
JP2008546221A (ja) 放送録画再生装置および方法
US7590331B2 (en) Broadcast recording apparatus
JP2009520380A (ja) コンテンツ管理システム
US20070022208A1 (en) Recording and reproduction apparatus
US20070011357A1 (en) Recording and reproduction apparatus
US20070154172A1 (en) Recording and reproduction apparatus
JP2008066764A (ja) 放送記録装置
JP2009094702A (ja) 操作履歴を記憶する情報処理装置
JP2006345505A (ja) 放送蓄積端末
MX2007013537A (es) Aparato y metodo para la grabacion y reproduccion de transmisiones.
MX2007013880A (es) Aparato de grabacion y reproduccion.
MX2007013061A (es) Aparato de reproduccion de contenido.