(57)【要約】【課題】受信中の放送番組の全内容を蓄積するため、ユーザによる特別の操作なしに、動的にタイムシフトバッファのサイズ調整を行えるようにする。【解決手段】電子機器は、放送受信機能を備え、放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報に応じて、放送番組のコンテンツデータを保持するリングバッファのサイズを変更する。また、電子機器は、放送番組の管理情報を取得する取得手段と、管理情報を用いて、リングバッファのサイズを、受信された放送番組のコンテンツデータの保持の開始前又は開始後に、該放送番組全体のコンテンツデータを保持するのに必要なサイズに変更するサイズ変更手段と、を有する。【選択図】図１
2010232850.tif 000002
【特許請求の範囲】
【請求項１】
放送受信機能を備え、放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報に応じて、前記放送番組のコンテンツデータを保持するリングバッファのサイズを変更することを特徴とした電子機器。
【請求項２】
放送受信機能及び放送番組のコンテンツデータを保持するリングバッファを備えた電子機器であって、
放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報を取得する取得手段と、
前記管理情報を用いて、前記リングバッファのサイズを、受信された放送番組のコンテンツデータの保持の開始前又は開始後に、前記放送番組全体のコンテンツデータを保持するのに必要なサイズに変更するサイズ変更手段と、
を有することを特徴とする電子機器。
【請求項３】
前記サイズ変更手段は、放送番組の受信開始時に取得された前記放送番組の管理情報に含まれる放送時間情報を用いて、前記放送番組全体のコンテンツデータを保持するのに必要なリングバッファのサイズを求め、該サイズにバッファサイズを変更してリングバッファを確保することを特徴とする請求項２に記載の電子機器。
【請求項４】
前記サイズ変更手段は、放送番組の受信中に取得された前記放送番組の管理情報に含まれる番組識別情報を用いて、放送番組の切り替わりを判断し、同一の放送番組が受信されている間バッファサイズを拡大するサイズ変更を行ってリングバッファを確保することを特徴とする請求項２又は３に記載の電子機器。
【請求項５】
前記リングバッファに、受信された放送番組のコンテンツデータを書き込む記録手段と、
前記リングバッファに書き込まれた放送番組のコンテンツデータを読み出す再生手段と、
を有し、
前記記録手段は、前記再生手段により読み出しが開始され終了した放送番組のコンテンツデータを前記リングバッファから削除することを特徴とする請求項２から４のいずれか１項に記載の電子機器。
【請求項６】
前記リングバッファに、受信された放送番組のコンテンツデータを書き込む記録手段と、
前記リングバッファに書き込まれた放送番組のコンテンツデータを読み出す再生手段と、
を有し、
前記記録手段は、前記再生手段により読み出しが開始され終了していない放送番組のコンテンツデータを削除せず、該コンテンツデータが書き込まれている記憶領域以外の記憶領域に別の放送番組のコンテンツデータを書き込むことを特徴とする請求項２から５のいずれか１項に記載の電子機器。
【請求項７】
放送受信機能及び放送番組のコンテンツデータを保持するリングバッファを備えた電子機器のバッファサイズ調整方法であって、
放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報の管理情報を取得するステップと、
前記管理情報を用いて、受信された放送番組のコンテンツデータの保持の開始前又は開始後に、前記放送番組全体のコンテンツデータを保持するのに必要なリングバッファのサイズを求めるステップと、
前記求めたサイズにリングバッファのサイズを変更するステップと、
を有することを特徴とする電子機器のバッファサイズ調整方法。
【請求項８】
放送受信機能及び放送番組のコンテンツデータを保持するリングバッファを備えた電子機器に用いられるプログラムであって、
コンピュータに、
放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報の管理情報を取得するステップと、
前記管理情報を用いて、受信された放送番組のコンテンツデータの保持の開始前又は開始後に、前記放送番組全体のコンテンツデータを保持するのに必要なリングバッファのサイズを求めるステップと、
前記求めたサイズにリングバッファのサイズを変更するステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、そのバッファサイズ調整方法及びプログラムに関し、特に、放送を受信する機能を備え、受信した放送の番組データをリングバッファに保持する電子機器に好ましく適用される技術に関するものである。
【背景技術】
【０００２】
近年、ハードディスクレコーダ、番組録画再生機能の付いたテレビや携帯電話機等の電子機器では、現在放送されている番組を所定時間あるいは番組の開始時点まで遡らせて再生するタイムシフト機能を装備しているものも多い。このような電子機器が実装するタイムシフト用のバッファ（タイムシフトバッファ）は、単純なリングバッファで構成されている場合が多い。
【０００３】
一般に、タイムシフトバッファは、そのサイズ（蓄積時間）が機器設定によって固定となっている。つまり、一定時間を超える過去の番組のデータは消去されてしまい、例えばタイムシフトバッファの最も古い時点を再生し続けている場合には、その再生ポイントから遡って巻き戻すことができなかった。このため、上述したタイムシフトバッファのサイズの固定性が、タイムシフト機能を利用して視聴している番組を任意の時点から視聴したいと考えるユーザから利便性を奪っていた。
【０００４】
一方で、タイムシフトバッファは、その都度ユーザ側でサイズ調整を行うことができ、バッファサイズに可変性があるようにも見える。しかし、ユーザ側で任意のサイズに変更して一旦設定した後は、その設定されたバッファサイズで番組のデータが蓄積されることになり、結局のところ、上記の状況は変わらない。つまり、タイムシフトバッファへのデータ蓄積の最中にバッファサイズを動的に変えることができないため、一旦設定されたサイズを超える長時間の番組のデータを全て蓄積しておくことができず、ユーザが視聴しているタイムシフトバッファ内の番組を任意の時点から視聴することはできない。
【０００５】
例えば特許文献１には、保障された最小リプレイ時間をタイムシフトユーザへ提供することを目的として、サイズの固定されていないタイムシフトバッファを持つＰＶＲ（Personal Video Recorder）装置が開示されている。特許文献１の発明は、再生ポイントより一定時間過去のデータに遡れるように、一定時間過去分のサイズバッファを確保する。バッファのトータル容量がシステムの許容範囲内であれば、一定時間過去分のサイズを上書きせずに保持するかわりにサイズを拡大する。逆に、バッファ容量がシステム許容範囲を超えるときは、一定時間過去分のサイズを維持するために任意の記録ファイルを削除してバッファを縮小する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００６−５１１１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の発明は、タイムシフトバッファに番組のデータを蓄積しながらバッファサイズを変えるものであり、その意味においては確かに、動的なサイズ変更が可能なタイムシフトバッファといえる。しかし、あくまでも再生ポイントより一定時間過去のデータ記憶領域を保持しておくものであり、記録した番組全部のデータを保持しようとするものではない。したがって、特許文献１の発明によっても、タイムシフト機能を利用して視聴している番組を任意の時点から視聴したいというユーザのニーズを満たすことができない。
【０００８】
さらに、上記ニーズを満たすとともに、ユーザビリティの観点から、ユーザによる格別の操作なしに、番組ごとに全体の放送内容を蓄積できるようにタイムシフトバッファのサイズを変更、調整してデータ蓄積を行えるようにすることが望ましい。すなわち、事前にユーザにより逐一サイズ設定を行うのではなく、受信する放送内容に応じて動的にバッファサイズを変更できれば、ユーザの利便性はさらに向上する。
【０００９】
そこで、本発明は、受信中の放送番組の全内容を蓄積するため、ユーザによる特別の操作なしに、動的にタイムシフトバッファのサイズ調整を行えるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
かかる目的を達成するために、本発明の一側面である電子機器は、放送受信機能を備え、放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報に応じて、放送番組のコンテンツデータを保持するリングバッファのサイズを変更することを特徴としたものである。具体的には、放送受信機能及び放送番組のコンテンツデータを保持するリングバッファを備えた電子機器であって、放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報を取得する取得手段と、管理情報を用いて、リングバッファのサイズを、受信された放送番組のコンテンツデータの保持の開始前又は開始後に、該放送番組全体のコンテンツデータを保持するのに必要なサイズに変更するサイズ変更手段と、を有する。
【００１１】
また、本発明の一側面である電子機器は、サイズ変更手段が、放送番組の受信開始時に取得された放送番組の管理情報に含まれる放送時間情報を用いて、放送番組全体のコンテンツデータを保持するのに必要なリングバッファのサイズを求め、該サイズにバッファサイズを変更してリングバッファを確保するように構成したものであってもよい。
【００１２】
また、本発明の一側面である電子機器は、サイズ変更手段が、放送番組の受信中に取得された放送番組の管理情報に含まれる番組識別情報を用いて、放送番組の切り替わりを判断し、同一の放送番組が受信されている間バッファサイズを拡大するサイズ変更を行ってリングバッファを確保するように構成したものであってもよい。
【００１３】
また、本発明の一側面である電子機器は、リングバッファに、受信された放送番組のコンテンツデータを書き込む記録手段と、リングバッファに書き込まれた放送番組のコンテンツデータを読み出す再生手段と、を有し、記録手段が、再生手段により読み出しが開始され終了した放送番組のコンテンツデータをリングバッファから削除するように構成したものであってもよい。
【００１４】
また、本発明の一側面である電子機器は、リングバッファに、受信された放送番組のコンテンツデータを書き込む記録手段と、リングバッファに書き込まれた放送番組のコンテンツデータを読み出す再生手段と、を有し、記録手段は、再生手段により読み出しが開始され終了していない放送番組のコンテンツデータを削除せず、該コンテンツデータが書き込まれている記憶領域以外の記憶領域に別の放送番組のコンテンツデータを書き込むように構成したものであってもよい。
【００１５】
本発明の他の一側面である電子機器のバッファサイズ調整方法は、放送受信機能及び放送番組のコンテンツデータを保持するリングバッファを備えた電子機器のバッファサイズ調整方法であって、放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報を取得するステップと、管理情報を用いて、受信された放送番組のコンテンツデータの保持の開始前又は開始後に、該放送番組全体のコンテンツデータを保持するのに必要なリングバッファのサイズを求めるステップと、求めたサイズにリングバッファのサイズを変更するステップと、を有することを特徴とするものである。
【００１６】
本発明の他の一側面であるプログラムは、放送受信機能及び放送番組のコンテンツデータを保持するリングバッファを備えた電子機器に用いられるプログラムであって、コンピュータに、放送番組のコンテンツデータの保持に必要なサイズを示す情報を含む放送番組の管理情報を取得するステップと、管理情報を用いて、受信された放送番組のコンテンツデータの保持の開始前又は開始後に、該放送番組全体のコンテンツデータを保持するのに必要なリングバッファのサイズを求めるステップと、求めたサイズにリングバッファのサイズを変更するステップと、を実行させることを特徴とするものである。
【発明の効果】
【００１７】
本発明によれば、受信中の放送番組の全内容を蓄積するため、ユーザによる特別の操作なしに、動的にタイムシフトバッファのサイズ調整を行うことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るパーソナルコンピュータのハードウエア構成図である。
【図２】本発明の実施形態に係るパーソナルコンピュータの機能ブロック図である。
【図３】本発明の実施形態における管理用データベースの一例を示した図である。
【図４】本発明の実施形態におけるリングバッファのサイズ調整制御の流れを示したフローチャートである。
【図５】本発明の実施形態におけるリングバッファのサイズ調整制御の流れを示したフローチャートである。
【図６】本発明の実施形態におけるリングバッファでのデータ削除制御の流れを示したフローチャートである。
【図７】本実施形態におけるリングバッファでのデータ上書き制御の流れを示したフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら、本発明の実施形態について説明する。なお、以下の述べる実施形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００２０】
図１は、本発明の実施形態であるパーソナルコンピュータのハードウエア構成図である。本実施形態のパーソナルコンピュータは、地上デジタル波等の放送を受信する機能を備え、受信した地上デジタル放送の番組の番組内容データ（コンテンツデータ）をリングバッファに保持し、リングバッファに蓄積されたデータをタイムシフトで再生するタイムシフト機能を装備する。
【００２１】
本実施形態のパーソナルコンピュータは、ＣＰＵ１、メモリ２、ハードディスク３、チューナ４、入力装置５、出力装置６を備える。ＣＰＵ１は、メモリ２に格納されたＯＳや本実施形態特有のプログラムに従って、パーソナルコンピュータの全体動作制御を行うとともに、バッファサイズ調整の制御を行う。メモリ２は、ＯＳや本実施形態特有のプログラムを格納する記憶領域（ＲＯＭ）、ＣＰＵ１の各種処理等で用いる作業用の記憶領域（ＲＡＭ）を持つ。ハードディスク３は、各種データを保持する外部記憶装置で、タイムシフト用リングバッファ３１に割り当てる領域、管理データベース３２を保持する領域を持つ。チューナ４は、出力装置６に出力するためのデジタル放送信号を受信する。入力装置５は、操作情報の入力を行う装置で、例えばユーザからの再生位置変更要求を受け付けてＣＰＵ１に通知する。出力装置６は、番組のコンテンツデータの出力を行う装置で、例えばＣＰＵ１から番組のコンテンツデータを取得し、映像音声として表示出力する。
【００２２】
本実施形態では、タイムシフト用リングバッファ３１はハードディスク３の記憶領域を用いて構成するものとしているが、これに限られるものではなく、メモリ２（ＲＡＭ）内に設けるようにしてもよい。管理用データベース３２についても同様で、ハードディスク３以外の記憶装置に保持するように構成することもできる。また、放送は、地上デジタル以外のテレビ放送（例えば地上アナログ、衛星デジタル（ＢＳ、ＣＳ）でもよく、またテレビ放送のほかにはラジオ放送も考えられる。
【００２３】
図２は、本実施形態のパーソナルコンピュータの機能ブロック図である。本実施形態のパーソナルコンピュータは、ＣＰＵ１がメモリ２に格納された本実施形態特有のプログラムを読み込んで、タイムシフトバッファのサイズ調整制御を行うための機能部である制御部１０を構成する。制御部１０は、取得手段１１、サイズ変更手段１２、記録手段１３、再生手段１４を論理的に有する。
【００２４】
取得手段１１は、請求項に記載した取得手段に相当し、チューナ４が受信した放送信号から番組のコンテンツデータ及び番組の管理情報を取得する。コンテンツデータは、先に述べたとおり放送番組の内容を示すデータで、タイムシフト用リングバッファに書き込まれるものである。管理情報は、例えばＰＳＩ（Program Specific Information）／ＳＩ（Service Information）で、蓄積位置や再生状態の情報に関連付けられて管理用データベース３２に保持される。
【００２５】
ＰＳＩ／ＳＩについて補足する。ＰＳＩは、所要の番組を選択するために必要な情報で、ＰＡＴ（Program Association Table）、ＰＭＴ（Program Map Table）等が含まれる。ＳＩは、番組選択の利便性のために規定された各種情報で、ＥＩＴ（Event Information Table）、ＮＩＴ（Network Information Table）等が含まれる。本実施形態のサイズ調整制御で用いられるＥＩＴには、番組名、放送日時、番組内容といった番組に関する情報、具体的には、ｅｖｅｎｔ＿ｉｄ（イベント識別（番組ＩＤ））、ｓｔａｒｔ＿ｔｉｍｅ（開始時間）、ｄｕｒａｔｉｏｎ（継続時間）等が含まれる。
【００２６】
サイズ変更手段１２は、請求項に記載したサイズ変更手段に相当し、取得手段１１で取得された管理情報を用いて、タイムシフト用リングバッファ３１のサイズを、受信した放送番組全体のコンテンツデータを蓄積するのに必要なサイズに変更する制御を行う。制御内容の詳細については後述する。
【００２７】
記録手段１３は、請求項に記載した記録手段に相当し、チューナ４から受信して取得した放送番組のコンテンツデータをタイムシフト用リングバッファ３１に書き込む。再生手段１４は、請求項に記載した再生手段に相当し、タイムシフト用リングバッファ３１に書き込まれた放送番組のコンテンツデータを読み出す。
【００２８】
図３は、本実施形態における管理用データベースの一例を示した図である。本実施形態では、取得手段１１で取得されたＥＩＴから番組名及び放送時間を導き出して、番組ごとのＣＨ・番組名、放送開始時刻、放送終了時刻を番組関連情報として生成する。また、受信した番組のコンテンツデータの蓄積が開始されると、タイムシフト用リングバッファ３１への書き込み開始時間、書き込み開始位置、再生状態を蓄積情報として取得し、書き込みが行われている番組の番組関連情報と蓄積情報とを対応付けて、管理用データとして管理用データベース３２に保持する。本実施形態では、取得手段１１が管理用データの生成や更新を行うものとするが、サイズ変更手段１２等の他の手段が行うようにしてもよい。
【００２９】
続いて、本実施形態におけるリングバッファのサイズ調整制御について説明する。制御の方法としては大きく分けて２つある。第１の方法は、事前にリングバッファのサイズを決定しておき、そのサイズに変更するものである。これは、コンテンツデータの書き込みを開始する時点で、書き込む番組全ての蓄積に必要なバッファサイズを確保しておく方法である。第２の方法は、放送の受信中にリングバッファのサイズを決定して変更するものである。これは、１つの番組が放送されている間はリングバッファに蓄積し続け、バッファ容量（サイズ）の不足が発生しても、その番組が終了するまでは不足した分のバッファを拡大するものである。
【００３０】
第１の制御方法について述べる。図４は、本実施形態におけるリングバッファのサイズ調整制御（第１の方法）の流れを示したフローチャートである。ここでは、リングバッファサイズのデフォルト値を一定時間（例えば６０分）としておくものとする。
【００３１】
まず、チューナ４が電源ＯＮとなると、チューナ４は放送受信機能により放送波の受信が開始する（ステップＳ１０１）。次に、取得手段１１は、受信したデジタル放送信号からＰＳＩ／ＳＩを取得し（ステップＳ１０２）、このＰＳＩ／ＳＩを用いて放送時間の情報を取得する（ステップＳ１０３）。具体的には、ＳＩ中のＥＩＴに含まれるＥＩＴ［ｓｃｈｅｄｕｌｅ］から番組放送時間を取得する。また一方で、取得手段１１は、受信したデジタル放送信号から番組のコンテンツデータを取得し（ステップＳ１０４）、記録手段１３は、該コンテンツデータをタイムシフト用リングバッファ３１に書き込む（ステップＳ１０５）。
【００３２】
なお、第２の方法においても共通するが、取得手段１１は、受信した放送波からＰＳＩ／ＳＩ及びコンテンツデータを取得したとき、ＥＩＴに含まれる諸データを用いて、番組関連情報と蓄積情報からなる管理データを管理用データベース３２に保持しておく。この管理データは、番組蓄積に必要なバッファサイズの算出や番組切り替わりの判定に用いられる。
【００３３】
図４のフローに戻ると、受信している放送番組が切り替わるまで、コンテンツデータの取得、リングバッファへの書き込みを行う（ステップＳ１０６／ＮＯ、ステップＳ１０４、ステップＳ１０５）。放送番組が次の番組の変わったとき（ステップＳ１０６／ＹＥＳ）、サイズ変更手段１２は、次の番組の放送時間分のバッファサイズ（バッファサイズＡとする）を算出する（ステップＳ１０７）。また、前の番組が終了した時点での残りのバッファサイズ（バッファサイズＢとする）を算出する（ステップＳ１０８）。
【００３４】
ここで、放送番組を保持するのに必要なバッファサイズの算出について補足して説明する。ユーザがパラメータ設定する際に提示するバッファサイズとしては上述したように時間を用いるが、バッファのサイズを示すのは実際にはバイト単位のものである（何バイトのデータを保持できるか）。そして、放送番組のコンテンツデータのデータ量は、番組放送時間（ＥＩＴ［ｓｃｈｅｄｕｌｅ］から取得した時間情報）と放送チャンネル（地上波やＢＳ等、あるいは、ＨＤやＳＤ等）から導き出されるビットレートとを用いて、バイト単位で求められる。つまり、サイズ変更手段１２で行う管理情報（放送時間情報）を用いたバッファサイズの変更は、上記のようにして時間情報とビットレートから求めたバイト単位のサイズ（データ量）を用いて、求めたデータ量を保持できるだけのサイズにリングバッファのサイズを変更するということになる。
【００３５】
図４のフローに戻ると、サイズ変更手段１２は、バッファサイズＡとバッファサイズＢとを比較し、バッファサイズＡの方が大きい場合（ステップＳ１０９／ＹＥＳ）には、その差分を新たに割り当て、次の番組を蓄積するためのリングバッファを確保する（ステップＳ１１０）。そして、記録手段１３は、番組全体を蓄積するのに必要なサイズを確保したリングバッファに次の番組のコンテンツデータを書き込む（ステップＳ１１１）。
【００３６】
逆に、サイズ変更手段１２は、バッファサイズＢの方が大きい場合（ステップＳ１０９／ＮＯ）は、現在の残りのバッファサイズで次の番組全体を蓄積できるため、バッファサイズの変更は行わない。そして、記録手段１３は、そのまま次の番組のコンテンツデータのリングバッファへの書き込みを継続する（ステップＳ１１１）。放送が受信されている間、上述したステップＳ１０１からステップＳ１１１の動作を繰り返す。
【００３７】
上記フローでは、１番組ごとに、番組全体の蓄積に必要なバッファサイズがあるかどうかを判断して可変バッファサイズを決定しているが、ＥＩＴ［ｓｃｈｅｄｕｌｅ］から番組放送時間を取得した時点で、そこに含まれる全ての番組分（１週間分）のバッファを確保するようにしてもよい。あるいは、任意の番組分（例えば１日分）のバッファを事前に確保するようにしてもよい。
【００３８】
次に第２の制御方法について述べる。図５は、本実施形態におけるリングバッファのサイズ調整制御（第２の方法）の流れを示したフローチャートである。ここでも、図４の場合と同様に、リングバッファサイズのデフォルト値を一定時間（例えば６０分）としておくものとする。
【００３９】
まず、チューナ４が電源ＯＮとなると、チューナ４は放送受信機能により放送波の受信が開始する（ステップＳ２０１）。次に、取得手段１１は、受信したデジタル放送信号からＰＳＩ／ＳＩを取得し（ステップＳ２０２）、このＰＳＩ／ＳＩを用いて番組の識別情報を取得する（ステップＳ２０３）。具体的には、ＳＩ中のＥＩＴに含まれるＥＩＴ［ｐ／ｆ（present/following）］から番組ＩＤを取得する。
【００４０】
第１の方法（図４のフロー）では、サイズ調整制御に番組放送時間を用いていたが、第２の方法（図５のフロー）では、番組ＩＤを用いてサイズ調整を行っている。これは２つの制御方法の特徴によるものである。つまり、第１の方法では、データ蓄積前（あるいはデータ蓄積開始時）に、１番組全体の蓄積に必要なバッファサイズを確保する必要があるため、その必要サイズを番組放送時間から求める。また、第２の方法では、１番組が終了した時点で、その番組の蓄積に必要なバッファ容量を確定させるため、番組が切り替わるポイントを番組ＩＤから求めている。
【００４１】
図５のフローに戻ると、一方で取得手段１１は、受信したデジタル放送信号から番組のコンテンツデータを取得する（ステップＳ２０４）。そして、記録手段１３は、その時点でバッファ残量がある場合（ステップＳ２０５／ＹＥＳ）、該コンテンツデータをタイムシフト用リングバッファ３１に書き込む（ステップＳ２０６）。番組のコンテンツデータの記録に使用されていないバッファが存在する限り、受信した番組の蓄積を継続する。
【００４２】
コンテンツデータの書き込み時点でバッファ残量がない場合（ステップＳ２０５／ＮＯ）、サイズ変更手段１２は、取得した番組ＩＤを用いて、受信している番組の切り替えがあったか否かを判断する（ステップＳ２０７）。サイズ変更手段１２は、受信中の放送番組が切り替わるまで、バッファサイズを拡大し、該番組のコンテンツデータの書き込みを継続する（ステップＳ２０７／ＹＥＳ、ステップＳ２０８、ステップＳ２０２〜ステップＳ２０６）。受信中の放送番組が切り替わった場合（ステップＳ２０７／ＮＯ）、サイズ変更手段１２はバッファサイズを確定させる（ステップＳ２０９）。放送が受信されている間、上述したステップＳ２０１からステップＳ２０９の動作を繰り返す。
【００４３】
第１の方法のメリットは、番組開始タイミングで、事前に番組終了まで蓄積するのに必要なリングバッファを確保するため、データ書き込み途中で記憶領域の枯渇が判明することがないということである。第２の方法のメリットは、番組終了まで（次の番組に切り替わるまで）バッファへ蓄積するため、放送時間の延長や急な番組編成の変更に対応し、番組終了時点の追従が可能となることである。なお、図で示すことは省略するが、第１の方法と第２の方法を組み合わせ、リングバッファのサイズ調整制御を行うように構成することも可能である。この場合、事前に番組の蓄積バッファを確保しつつ、データ蓄積後においても番組の終了ポイントを追跡し、放送時間の変更に対応したバッファサイズ調整が可能となる。
【００４４】
また、上述したサイズ調整制御では、リングバッファサイズのデフォルト値を一定時間（例えば６０分）としていたが、デフォルト値は０でもよい。この場合、受信した放送番組ごとに必要なバッファを確保することになり、必要最小限のメモリリソースをリングバッファに割り当てるため、パーソナルコンピュータ全体としてメモリリソースを効果的に活用することができる。
【００４５】
従来の固定サイズのリングバッファでは、バッファサイズが増加しないことから、データ蓄積を継続していくために、最古のデータから順に上書きしていく。一方、本実施形態では、バッファサイズを動的に変更することができるため、蓄積した番組データを保持しながら受信した番組を書き込み続ける限り、バッファサイズが拡大していくことになる。システムや装置として許容しているバッファサイズがそれほど大きくない場合には、本実施形態のサイズ調整制御をうまく活用できないことになる。そこで、再生済みのコンテンツデータを削除するようにして、バッファサイズの拡大を抑制することができる。図６を参照して説明する。
【００４６】
図６は、本実施形態におけるデータ削除制御の流れを示したフローチャートである。まず、入力装置５はユーザから操作入力を受け付ける（ステップＳ３０１）。次に、再生手段１４は、入力装置５から操作入力内容を受け取り、指定された放送番組のコンテンツデータを読み出す（ステップＳ３０２）。コンテンツデータの読み出しが開始されたとき、取得手段１１は、管理用データベース３２を更新し、再生されている番組について再生中フラグを立てる。コンテンツ読み出しの具体的処理は以下のとおりである。
【００４７】
初めて再生する場合（再生履歴がない場合）、再生手段１４は、管理用データベース３２を参照して、指定された放送番組の蓄積開始位置を取得し、その蓄積開始位置からコンテンツデータを読み出して番組を再生する。再生履歴がある場合には、再生取得手段１４は、管理用データベース３２を参照して、再生中断位置（図示しないが、再生中フラグとともに保持されている）を取得し、その再生中断位置からコンテンツデータを読み出して番組を再生する。同一の番組が再生されている間（ステップＳ３０３／ＮＯ）、コンテンツデータの読み出しを行う（ステップＳ３０２）。
【００４８】
図６のフローに戻ると、再生中の放送番組が切り替わったとき（ステップＳ３０３／ＹＥＳ）、記録手段１３は、再生済みの放送番組（現在再生中の前の番組）のコンテンツデータをリングバッファから削除する（ステップＳ３０４）。そして、取得手段１１は、管理用データベース３２を更新し、削除された再生済み番組の管理用データを削除するとともに、再生されている番組について再生中フラグを立てる（ステップＳ３０５）。
【００４９】
上述したバッファサイズ拡大の問題に対して、図６のデータ削除制御を示したが、リングバッファのサイズがシステムや装置の許容サイズと等しくなってしまった場合には、いずれかのコンテンツデータに受信中の番組データを上書きし、環状的にデータ蓄積を行う必要がある。問題は、リングバッファに蓄積されているデータの優先順位であり、どのデータから上書きするかである。そこで、再生済みとなっておらず視聴途中の番組データ以外で最先に書き込まれた蓄積データとして、最新の視聴中番組データの次に蓄積されている番組のデータを上書き対象とすることができる。図７を参照して説明する。
【００５０】
図７は、本実施形態におけるデータ上書き制御の流れを示したフローチャートである。まず、チューナ４が電源ＯＮとなると、チューナ４は放送受信機能により放送波の受信が開始する（ステップＳ４０１）。次に、記録手段１３は、取得手段１１で取得された受信中の番組のコンテンツデータをタイムシフト用リングバッファ３１に書き込む（ステップＳ４０２）。なお、図４や図５のフローと同様、放送波を受信したらコンテンツデータの取得とともに、ＰＳＩ／ＳＩの取得を行う。
【００５１】
そして、記録手段１３は、タイムシフト用リングバッファ３１の使用済みサイズ（データ蓄積に使われている容量）がシステム許容量を超えたか否かを判断し、システム許容量を超えていなければ（ステップＳ４０３／ＮＯ）リングバッファへの書き込みを継続する（ステップＳ４０２）。使用済みサイズがシステム許容量を超えた場合（ステップＳ４０３／ＹＥＳ）は、データ書き込みを中断する（ステップＳ４０４）。
【００５２】
そして、記録手段１３は、再生途中かつ最も後にデータ書き込みがなされた番組のコンテンツデータを管理用データベース３２から検索する。ここでの再生途中とは、再生開始後に番組の終わりまで再生がされていないことを意味し、再生していた番組を停止や一時停止をして視聴を中断する場合も含む。続いて、再生途中データ以外で記録されたコンテンツデータの最も古い記憶領域の蓄積開始位置を管理用データから取得する（ステップＳ４０６）。具体的に、例えば図３に示した管理用データベースでは、再生中フラグと蓄積開始時間を見て、再生途中かつ最新の番組データを特定し、その番組データの蓄積開始位置を取得する。
【００５３】
上書きを行う蓄積データを特定した後、記録手段１３は、検索して取得した蓄積開始位置から、中断していたデータの書き込みを再開する（ステップＳ４０７）。また、一方で取得手段１３は、記録手段１３によるデータ上書きに伴って、管理用データベース３２で保持された管理用データの内容を更新する（ステップＳ４０８）。
【００５４】
このように、本実施形態では、放送番組データのリングバッファへの蓄積は受信ポイントが動作のトリガになり、蓄積データの削除（上書き含む）は再生ポイントが動作のトリガになる。すなわち、データ蓄積は受信している番組が切り替わることで開始し、データ削除は番組の最後まで再生終了した後に行う。
【００５５】
また、上記の実施形態では、１つのチューナ、１つのリングバッファを想定して種々の制御について説明したが、この装備では、蓄積中の受信番組の再生を中断して別の番組を受信するような場合に、上記の制御フローを実行するうえで不都合を生じる場合がある。そこで、このような場合にも対応するために、例えばチューナ２つ、リングバッファ２つを実装することが考えられる。この実装により、再生を中断した番組を１つ目のチューナで受信しながら１つ目のリングバッファへ書き込みを継続することができ、また２つ目のチューナで別の番組を受信し画面に表示して視聴することが可能である。
【００５６】
なお、上述してきた実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。すなわち、デジタル放送等のテレビ放送に限らず、ラジオ放送についても適用可能である。また、パーソナルコンピュータのほか、記録再生機能付きのテレビ受信機や携帯電話機、ＰＤＡ等の携帯情報端末に適用することもできる。
【００５７】
また、本実施形態におけるパーソナルコンピュータで実行されるプログラムは、先に述べた各手段（取得手段、サイズ変更手段、記録手段、再生手段）を含むモジュール構成となっており、実際のハードウエアを用いて具体的手段を実現する。すなわち、コンピュータ（ＣＰＵ）が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされ、取得手段、サイズ変更手段、記録手段、再生手段が主記憶装置上に生成される。
【００５８】
本実施形態におけるパーソナルコンピュータで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
【００５９】
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルで、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、不揮発性のメモリカード等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、上記プログラムは、ＲＯＭ等にあらかじめ組み込んで提供するように構成してもよい。
【００６０】
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
【符号の説明】
【００６１】
１    ＣＰＵ
２    メモリ
３    ハードディスク
４    チューナ
５    入力装置
６    出力装置
１０    制御部
１１    取得手段
１２    サイズ変更手段
１３    記録手段
１４    再生手段
３１    タイムシフト用リングバッファ
３２    管理用データベース
【図１】
2010232850.tif 000003
【図２】
2010232850.tif 000004
【図３】
2010232850.tif 000005
【図４】
2010232850.tif 000006
【図５】
2010232850.tif 000007
【図６】
2010232850.tif 000008
【図７】
2010232850.tif 000009