以下、本発明の実施形態を、図面を参照しながら説明する。先ず、図1を参照して、本発明の各実施形態に適用可能な一例の記録装置500の一例の構成について説明する。記録装置500において、バス501に対して、チューナ部511、CPU512、ROM513、RAM514、エンコーダ(ENC)515およびデコーダ(DEC)516が接続される。また、バス501に対して、さらに、ハードディスク517、ドライブ部518、操作部519、出力部520およびインターフェイス521が接続される。バス501に接続される各部は、バス501を介して互いにデータのやりとりを行うことができるようにされている。
CPU512は、ROM513やハードディスク517に予め記憶されたプログラムに従い、RAM514をワークメモリとして用いて、各種信号処理やこの記録装置500の全体の動作の制御を行う。また、操作部519は、キーやダイアル、ボタンなどの各種操作子が設けられ、ユーザの操作子に対する操作に応じた制御信号を出力する。CPU512は、この操作部519から出力された制御信号に応じて、プログラムに従い各種信号処理や記録装置500の各部の制御を行うことで、記録装置500のユーザ操作に応じた動作を実現する。
インターフェイス521は、例えばUSBやIEEE1394に対応し、他の機器とデータなどの通信を行うことができる。また、インターフェイス521がUSBに対応している場合に、USBインターフェイスとメモリとが一体的に構成された所謂USBメモリをインターフェイス521に挿入することで、当該USBメモリを記録媒体として用いることができる。
ハードディスク517は、例えばCPU512上で動作するプログラムが記録されると共に、各種データの記録を行うことができる。ハードディスク517に対するデータの記録およびハードディスク517からのデータの読み出しは、CPU512によって制御される。ドライブ部518は、例えばDVDといった脱着可能なディスク記録媒体530が装填される。ドライブ部518は、CPU512の制御に従い、ディスク記録媒体530に対するデータの書き込みおよび当該ディスク記録媒体530からのデータの読み出しを行う。
エンコーダ515は、ベースバンドの映像データおよび音声データをそれぞれ圧縮符号化して映像データおよび音声データそれぞれのエレメンタリストリームを生成する。映像データの圧縮符号化方式としては、例えばMPEG2方式が用いられ、15フレームを1GOPとして符号化する。また、音声データの圧縮符号化方式としては、例えばMPEG2 AACが用いられる。なお、MPEG2は、Moving Pictures Experts Group 2の略称である。GOPは、Group Of Pictureの略称である。また、AACは、Advanced Audio Codingの略称である。
デコーダ516は、映像データのエレメンタリストリームを復号してベースバンドの映像データを生成すると共に、音声データのエレメンタリストリームを復号してベースバンドの音声データを生成する。これらベースバンドの映像データおよび音声データは、例えば出力部520に供給され、映像表示装置や音声出力装置に送出される。
チューナ部511は、アンテナ510で受信されたデジタルテレビ放送信号を復調して得られたデジタル信号を映像データ、音声データおよび補助データがトランスポートパケット単位で時分割多重されたトランスポートストリームに変換する。そして、トランスポートパケットのPIDに基づき映像データ、音声データおよび補助データを分離する。さらに、分離されたパケットのペイロードに格納されるデータに基づき、映像データおよび音声データそれぞれのエレメンタリストリームと、セクション形式のデータとを再構築する。
なお、エレメンタリストリームによっては、MULTI2方式でスクランブルされているため、デスクランブル処理を行なう必要がある。チューナ部511は、セクション形式のデータに含まれるECMおよびEMMと、図示されないカードI/Fに挿入された受信制御カードに記憶されるスクランブル鍵や番組契約などの情報に基づき、エレメンタリストリームのスクランブルを解除する。
チューナ部511で生成された映像データおよび音声データそれぞれのエレメンタリストリームは、デコーダ516に供給される。デコーダ516は、供給されたエレメンタリストリームを復号し、ベースバンドの映像データおよび音声データとして出力する。
また、この記録装置500では、チューナ部511で生成された映像データおよび音声データそれぞれのエレメンタリストリームを、ハードディスク517に記録することができる。例えば、CPU512は、チューナ部511で生成された映像データおよび音声データそれぞれのエレメンタリストリームをファイルに格納してハードディスク517に記録する。
さらに、この記録装置500では、チューナ部511で生成された映像データおよび音声データそれぞれのエレメンタリストリームを、ドライブ部518に装填されたディスク記録媒体530に記録することができる。例えば、CPU512は、チューナ部511で生成された映像データおよび音声データそれぞれのエレメンタリストリームを、ディスク記録媒体530に規定されたフォーマットに変換して、ディスク記録媒体530に記録する。
デジタルテレビジョン放送信号は、ダビング10によるコピー制御を行うためのコピー制御信号がトランスポートパケットのヘッダに埋め込まれている。この記録装置500から、デジタルテレビジョン放送信号に基づき出力される映像データおよび音声データは、ダビング10のルールに従ってコピー制御される必要がある。例えば、CPU512は、チューナ部511でデジタルテレビジョン放送信号から変換されて得られたトランスポートパケットのヘッダから、このコピー制御信号を取り出して、対応するエレメンタリストリームと関連付けて管理する。
例えば、CPU512は、出力部520に供給された映像データおよび音声データに対して、対応するコピー制御信号を付加する。出力部520は、コピー制御信号が付加された映像データおよび音声データを外部に出力する。
また例えば、CPU512は、映像データおよび音声データそれぞれのエレメンタリストリームをディスク記録媒体530に対して記録する場合、コピー制御信号を、ディスク記録媒体530に規定された方式に従いディスク記録媒体530に書き込む。
さらに例えば、CPU512は、チューナ部511から出力されハードディスク517に記録される映像データおよび音声データそれぞれのエレメンタリストリームに対して、コピー制御信号を関連付けて管理する。CPU512は、ハードディスク517に記録される映像データおよび音声データそれぞれのエレメンタリストリームに対するコピーの要求に応じて、対応するコピー制御信号を更新する。また、コピー先の記録媒体に対して、所定の状態とされたコピー制御信号を、コピーされた映像データおよび音声データそれぞれのエレメンタリストリームに関連付けて所定の形式で記録する。
記録装置500は、操作部519に対する操作に応じて、例えばハードディスク517に記録される映像データおよび音声データそれぞれのエレメンタリストリームに対して、一部分のコピーやマージといった編集を行うことができる。なお、以下では、映像データのエレメンタリストリームと、当該映像データに対応する音声データのエレメンタリストリームとを、纏めて、コンテンツデータと呼ぶ。
例えば、操作部519に対する操作によりコンテンツデータの一部区間を指定し、コピーの指示を行うことで、指定された区間のコンテンツデータを、コピー指示により指定された記録媒体にコピーすることができる。一例として、設定手段としてのCPU512は、操作部519の操作に応じて、コピーを行う区間を、映像データのエレメンタリストリームにおけるPTSなどを用いて指定する。PTSは、Presentation Time Stampの略称である。コピー区間の指定は、実際には、GOP単位で行われる。例えば、指定区間の先頭位置を含むGOPの先端から、指定区間の終端位置を含むGOPの終端までがコピー区間として指定される。コピー対象のコンテンツデータのコピー制御信号を参照し、コピー可能回数が1以上であれば、コピー処理が実行される。コピー処理が完了すると、例えばコピー可能回数管理手段としてのCPU512により、行われたコピー処理に応じてコピー制御信号が更新される。
なお、コピー区間の指定は、GOP単位で行うのに限られない。例えば、ハードディスク517からコピー対象のコンテンツデータを読み出してデコーダ516で復号することで、コピー区間をフレーム単位で指定することができる。コピーされたデータは、エンコーダ515で圧縮符号化されてからコピー先の記録媒体に記録される。
記録装置500は、操作部519に対する操作に応じて、例えばハードディスク517に記録されるコンテンツデータに対してチャプタを設定することができる。チャプタは、例えばコンテンツデータにおけるPTSなどの時間情報を用いたチャプタマークによって設定される。また、チャプタは、GOPの境界に対して指定される。フレーム単位でチャプタを指定するようにもできる。チャプタマークは、コンテンツデータと関連付けられて、チャプタ情報として例えばチャプタ管理手段としてのCPU512によりハードディスク517に記録される。チャプタは、操作部519に対する操作のみならず、プログラムに従い自動的に設定することもできる。
また、チャプタ情報に対して、上述のコピー可能回数が関連付けられて管理される。例えば、チャプタ管理手段としてのCPU512は、チャプタ情報とコピー可能回数とを関連付けて、ハードディスク517に記録する。
<第1の実施形態>
次に、本発明の第1の実施形態を、図面を参照しながら説明する。本第1の実施形態では、部分コンテンツのコピー処理を、コンテンツデータに設定されたチャプタを考慮して行うようにしている。図2〜図4を用いて、本第1の実施形態によるコンテンツデータのコピー処理について説明する。
先ず、図2を用いて、コンテンツデータに対して一部区間のコピーを要求する例について説明する。図2に例示されるように、コピー対象のコンテンツデータに対して、チャプタChp#1〜Chp#4の4つのチャプタが設定され、チャプタChp#1〜Chp#4それぞれのコピー可能回数CPが7回、4回、2回および3回であるものとする。このようなコンテンツデータに対して、時刻Aから時刻Bで示される区間を、コピーを要求するコピー要求区間に指定したものとする。
なお、ここでいう時刻とは、コンテンツデータの先頭を基準とした、コンテンツデータの相対的な再生時刻を示すものとする。すなわち、時刻は、コンテンツデータを先頭から再生させた場合の、コンテンツデータ上の位置に対応する。また、図2および以下の同様の図において、コンテンツデータは、図の左側から右側に向けて再生されるものとし、コンテンツデータの左端が先頭、右端を終端とする。
先ず、コピー要求区間を包含するチャプタ集合を求める。この例では、チャプタChp#2、Chp#3およびChp#4が、当該チャプタ集合として求められる。そして、チャプタ集合の端とコピー要求区間の端との位置関係を求める。より具体的には、チャプタ集合の開始時刻とコピー要求区間の開始時刻Aとの時間差分ΔTsと、チャプタ集合の終了時刻とコピー要求区間の終了時刻Bとの時間差分ΔTeとを求める。次に、これら時間差分ΔTsおよびΔTeのそれぞれと、閾値とを比較し、比較結果に応じてチャプタ分割の必要性を判定する。
閾値は、記録装置500の操作部519に対するユーザ操作によって設定してもよいし、予め決められた値を用いてもよい。これに限らず、コピー対象のコンテンツデータ全体の再生時間や、コピー要求区間の開始時刻Aや終了時刻Bを含むチャプタの再生時間に基づき、閾値を動的に設定することもできる。
図3は、コピー要求区間およびチャプタ集合の開始時刻および終了時刻の時間差分ΔTsおよびΔTeがそれぞれ閾値以下であった場合の、仮想コピー区間を示す。本第1の実施形態では、開始時刻Aおよび終了時刻Bの時間差分ΔTsおよびΔTeがそれぞれ閾値以下の場合、コピー要求区間を包含するチャプタChp#1、Chp#2およびChp#3からなるチャプタ集合の先頭から終端までの範囲を、仮想コピー区間とする。コピー処理に伴うコピー可能回数の変更は、この仮想コピー区間に対して行われる。図3の例では、仮想コピー区間内の各チャプタChp#1、Chp#2およびChp#3のコピー可能回数は、コピー処理に伴い1回減少し、それぞれ6回、3回および1回とされる。
図4は、コピー要求区間およびチャプタ集合の開始時刻および終了時刻の時間差分ΔTsおよびΔTeがそれぞれ閾値以上であった場合の、仮想コピー区間を示す。本第1の実施形態では、図4(a)に例示されるように開始時刻および終了時刻の時間差分ΔTsおよびΔTeがそれぞれ閾値以上の場合、コピー要求区間の開始時刻Aおよび終了時刻Bのそれぞれでチャプタを分割する。
この例では、図4(b)に例示されるように、コピー要求区間の開始時刻Aを含むチャプタChp#1が開始時刻Aで分割されチャプタChp#1AおよびChp#1B生成される。それと共に、コピー要求区間の終了時刻Bを含むチャプタChp#3が終了時刻Bで分割され、チャプタChp#3AおよびChp#Bが生成される。
仮想コピー区間は、分割されたチャプタを含むチャプタChp#1B、Chp#2およびChp#3Aとなる。また、仮想コピー区間内の各チャプタのコピー可能回数は、それぞれのチャプタが含まれていた元のチャプタのコピー可能回数より1回減少する。すなわち、チャプタChp#1Bのコピー可能回数は、元のチャプタChp#1のコピー可能回数の7回から1回減少し、6回となる。チャプタChp#2のコピー可能回数は、コピー可能回数が1回減少し、3回となる。また、チャプタChp#3Aのコピー可能回数は、元のチャプタChp#3のコピー可能回数の2回から1回減少し、1回となる。
なお、開始時刻の差分時間ΔTsおよび終了時刻の差分時間ΔTeの何れか一方が閾値以下の場合も有り得る。この場合、差分時間が閾値以上の側では、コピー要求区間の端でチャプタ分割を行いその位置を仮想コピー区間の一端とする。そして、差分時間が閾値以下の側では、コピー要求区間の端を含むチャプタにおけるコピー要求区間の外側の端を仮想コピー区間の他端とする。
なお、仮想コピー区間は、コピー可能回数の管理を行うために仮想的に設定される区間であって、実際のデータのコピーは、コピー要求区間に従い行われる。換言すれば、コピー要求区間は、実際のコピー処理が行われる処理区間といえる。以下では、実際にデータのコピーを行う区間をコピー実行区間と呼ぶ。
このようにコピー対象のコンテンツデータのチャプタ情報を用いることで、区間の短い不要なチャプタの新たな設定を回避しつつ、コンテンツに予め設定されたチャプタのコピーによりコピー可能回数が減少するチャプタを最小限に抑えることが可能となる。
図5は、本第1の実施形態における上述の処理を実現するための記録装置500の機能を示す一例の機能ブロック図を示す。記録装置500は、チューナ102、記録部103、記録媒体104、通信部105、表示部106、制御部107およびユーザ入力部108の各機能部を備える。記録装置500は、さらに、チャプタ分割判定部109、閾値格納部110、ドライブ部111、コピーチャプタ検出部112、要求区間調整部113、チャプタ設定部114およびコンテンツコピー部115の各機能部を備える。
アンテナ510で放送局からの電波が受信され、その電波に基づいた信号がチューナ102に出力される。チューナ102は、上述のチューナ部511に対応し、アンテナ510からの信号を記録媒体に記録可能な形式のコンテンツデータに変換する。記録部103は、チューナ102から出力されたコンテンツデータと、当該コンテンツデータを管理する管理情報とを、ハードディスク517に対応する記録媒体104に記録する。管理情報は、当該コンテンツデータに関するコピー管理情報を含む。記録部103は、例えばCPU512上で動作するファイルシステムである。
記録媒体104は、放送データなどの複数のコンテンツデータと、当該コンテンツデータに対応する管理情報と、当該コンテンツデータに設定されたチャプタ情報とが、互いに関連付けられて記録される。
チャプタ情報は、コンテンツデータに設定されたチャプタを識別するための識別子と、チャプタのコンテンツデータ内での開始時刻や終了時刻を示す情報(例えばチャプタマーク)とを含む。チャプタは、ユーザの指定や、記録装置500の自動設定に基づきコンテンツデータを分割して得られる、コンテンツデータの一部である。管理情報は、記録媒体104に記録されたコンテンツデータのチャプタに対するコピー可能回数を示すコピー管理情報を含む、コンテンツデータの属性情報である。コピー管理情報は、コンテンツデータ毎のコピー可能回数を管理する。
チャプタ設定部114は、制御部107からの通知により記録媒体104に記録されているコンテンツデータに対して新たにチャプタを設定する。
通信部105は、上述のインターフェイス521に対応し、USBやIEEE1394で接続した他の記録装置との間でデータ通信を行なう。表示部106は、上述した出力部520に対応し、制御部107からの指示に従いユーザに対してディスプレイなどの表示用機器に情報を表示する。
ユーザ入力部108は、上述の操作部519に対応し、ユーザからの入力を受け付ける。制御部107は、ユーザ入力部108に対するユーザからの入力に従いコピーするチャプタ集合を検出する為にコピーチャプタ検出部112に通知する。また、制御部107は、表示部106を用いて所定の表示を行わせ、ユーザに対して情報を示す処理を行なう。
閾値格納部110は、ユーザ入力部108より、ユーザが設定したチャプタ集合とコピー要求区間の開始と終了時間の差分時間ΔTsおよびΔTeに対する閾値を格納する。チャプタ分割判定部109は、コピー要求区間の情報とチャプタ集合の情報から、それぞれの開始時間と終了時間の差分時間ΔTsおよびΔTeと、閾値格納部110から取得した閾値とを比較し、結果を制御部107へ通知する。
ドライブ部111は、上述したドライブ部518に対応し、記録媒体104に記録されたコンテンツデータをチャプタ単位またはコンテンツ単位でDVDなどのディスク記録媒体530に記録する。また、ドライブ部111は、ディスク記録媒体530に記録されたデータを読み出すこともできる。
コピーチャプタ検出部112は、制御部107からの指示によりコンテンツデータに対するコピー要求区間を包含するチャプタの集合を求める。また、コピーチャプタ検出部112は、チャプタ分割判定部109に対して、コピー要求区間を示す情報とチャプタ集合を示す情報とを送る。
コンテンツコピー部115は、制御部107からの指示に従い記録媒体104に記録されているコンテンツデータのコピーを取得する。取得されたコンテンツデーのたコピーは、要求区間調整部113に送信される。要求区間調整部113は、コンテンツコピー部115からの指示に従い、コンテンツコピー部115から送信されたコンテンツデータに対して、コピーを行うコピー実行区間がコピー要求区間と等しくなるようにコピーの開始時刻と終了時刻とを調整する。そして、調整されたコピー実行区間のコンテンツデータを、ドライブ部111や通信部105に送信する。
なお、上述した構成のうち、制御部107、チャプタ分割判定部109、コピーチャプタ検出部112、要求区間調整部113、チャプタ設定部114およびコンテンツコピー部115は、例えばCPU512上で動作するプログラムによって実現可能である。勿論、これに限らず、これらの構成をハードウェアで実現することもできる。さらには、これらの構成のうち一部をCPU512上で動作するプログラムで実現し、他をハードウェアで構成することもできる。
図6は、本第1の実施形態によるコンテンツデータのコピーの一例の処理を示すフローチャートである。フローチャートの処理に先立って、例えば、ユーザ入力部108に対する入力に応じて部分区間のコピーの要求が発生する。コピー要求には、コピー元のコンテンツデータを示す情報、コピー要求区間を示す情報およびコピー先となる記録媒体を指定する情報などが含まれる。このコピー要求は、制御部107に渡される。制御部107は、コピーチャプタ検出部112に対して、コピーを要求されたコピー要求区間の情報と、コピー対象のコンテンツデータの情報とを送信する。
ステップS201で、コピーチャプタ検出部112は、制御部107から渡されたコンテンツデータ情報に基づき、コピー先のコンテンツデータのチャプタ情報を記録媒体104から取得する。そして、取得したチャプタ情報に基づき、コピー要求区間を包含するチャプタの集合を検出する。コピーチャプタ検出部112は、検出されたチャプタ集合に関する情報と、コピー要求区間を示す情報とをチャプタ分割判定部109に通知する。
チャプタ分割判定部109は、コピーチャプタ検出部112から通知されたチャプタ集合に関する情報とコピー要求区間を示す情報とに基づき、チャプタ集合およびコピー要求区間について、開始時刻の差分時間ΔTsと、終了時刻の差分時刻ΔTeとを求める。そして、ステップS202〜ステップS207で、これら差分時間ΔTsおよびΔTeと、閾値格納部110に格納されている閾値とを比較し、仮想コピー区間を決定する。
ステップS202では、開始時刻の差分時間ΔTsと閾値とが比較される。比較の結果、若し、差分時間ΔTsが閾値以上であると判定されたら、処理はステップS203に移行され、コピー要求区間の開始時刻の位置を仮想コピー区間の先頭に決定し、その位置でチャプタ分割を行う。一方、差分時間ΔTsが閾値より小さいと判定されたら、処理はステップS204に移行され、コピー要求区間の開始時刻の位置を含むチャプタの先頭を仮想コピー区間の先頭に決定する。換言すれば、ステップS204では、コピー要求区間の開始時刻の位置を含むチャプタの、コピー要求区間に対して外側の端を、仮想コピー区間の先頭に決定する。ステップS203またはステップS204の処理が終了したら、処理はステップS205に移行される。
ステップS205では、終了時刻の差分時間ΔTeと閾値とが比較される。比較の結果、若し、差分時間ΔTeが閾値以上であると判定されたら、処理はステップS206に移行され、コピー要求区間の終了時刻の位置を仮想コピー区間の後端に決定し、その位置でチャプタ分割を行う。一方、差分時間ΔTeが閾値より小さいと判定されたら、処理はステップS207に移行され、コピー要求区間の終了時刻の位置を含むチャプタの終端を仮想コピー区間の後端に決定する。換言すれば、ステップS207では、コピー要求区間の終了時刻の位置を含むチャプタの、コピー要求区間に対して外側の端を、仮想コピー区間の先頭に決定する。ステップS206またはステップS207の処理が終了したら、処理はステップS208に移行される。
なお、上述のステップS203およびステップS206のうち少なくとも一方でチャプタ分割を行った場合には、記録媒体104に記録されているチャプタ情報を、チャプタ分割の結果に応じて更新する。
ステップS208において、決定手段としてのチャプタ分割判定部109は、上述のステップS202〜ステップS207の判定結果に基づき、仮想コピー区間に含まれるチャプタを決定し、決定されたチャプタの集合を示す情報を制御部107へ通知する。
次のステップS209で、制御部107は、チャプタ分割判定部109より通知された、仮想コピー区間に含まれるチャプタ集合の情報を取得する。そして、取得したチャプタ集合の情報に基づき、コンテンツコピー部115へチャプタのコピーを要求する。コンテンツコピー部115は、記録媒体104に記録されたコンテンツデータから、制御部107からコピーを要求されたチャプタ集合のコピーを取得し、要求区間調整部113へ送る。なお、ここでいうコピーの取得とは、例えば記録媒体104からデータを読み出しRAM514などに一時的に記憶する動作をいう。
要求区間調整部113は、コンテンツコピー部115から送られたチャプタ集合を、開始時刻と終了時刻とがコピー実行区間に等しくなるように調整する。そして、この調整されたチャプタ集合を、コピーを行うコンテンツデータとして、コピー先として指定された記録媒体に送信する。例えば、コピー先としてディスク記録媒体530が指定されていれば、ドライブ部518に対して当該コンテンツデータが送信される。ハードディスク517をコピー先として送信することもできる。
このとき、コピー先に送信されるコンテンツデータに対し、コピー禁止を示すコピー制御情報が付加される。また、コピー元となるコンテンツデータに関し、コピーが行われたチャプタのコピー可能回数を1回減らすように、例えば制御手段としての制御部107の指示に応じてコンテンツコピー部115により、記録媒体104に記録されるコピー管理情報が更新される。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本第2の実施形態においては、部分コンテンツのマージ処理を、コンテンツデータに設定されたチャプタを考慮して行うようにする。図7〜図11を用いて、本第2の実施形態によるコンテンツデータのマージ処理について説明する。
先ず、図7を用いて、コンテンツデータに対して一部区間のマージを要求する例について説明する。マージ先(対象)のコンテンツデータに対して、チャプタChp#1〜Chp#4の4つのチャプタが設定され、チャプタChp#1〜Chp#4のコピー可能回数CPがそれぞれ6回であるものとする。このようなコンテンツデータに対して、マージ要求区間に対してマージ処理を行う。
ここで、マージ処理は、マージ先(対象)のコンテンツデータにおける、マージ要求区間に対応する区間(時刻Cから時刻Dの区間)のデータと同一内容のデータがマージ元データとして記録媒体上に存在することを前提としている。さらに、このマージ元データは、マージ対象のコンテンツデータと共に、ダビング10のルールに従ったコピー制限情報の管理が行われているものとする。
一例として、コンテンツデータから上述の第1の実施形態の処理によりコピーして生成したコンテンツデータを、元のコンテンツデータに戻すような場合が考えられる。この場合、「戻す」とは、コピー元のコンテンツデータにおけるコピーで生成したデータの対応部分を含むチャプタのコピー可能回数を1回増加すると共に、コピーで生成したデータを削除するような処理に相当する。例えば、CPU512は、上述の第1の実施形態のようにしてコンテンツデータの部分コピーを行う際に、コピー元のコンテンツデータと、コピーで生成したデータとの対応関係を管理する。
図7において、マージ要求区間は、マージ先のコンテンツデータにおけるチャプタChp#2を包含する。この場合、マージ要求区間の開始時刻とチャプタChp#2の開始時刻との時間差分ΔTsと、マージ要求区間の終了時刻とチャプタChp#2の終了時刻との時間差分ΔTeとを求める。そして、これら時間差分ΔTsおよびΔTeのそれぞれと、閾値とを比較し、比較結果に応じてチャプタ分割の必要性を判定する。
閾値は、記録装置500の操作部519に対するユーザ操作によって設定してもよいし、予め決められた値を用いてもよい。これに限らず、マージ先のコンテンツデータ全体の再生時間や、マージ要求区間に包含されるチャプタの再生時間に基づき、閾値を動的に設定することもできる。
図8は、マージ要求区間と、マージ要求区間が包含するチャプタChp#2の開始時刻および終了時刻の時間差分ΔTsおよびΔTeがそれぞれ閾値以下であった場合の、仮想マージ区間を示す。この場合、マージに伴うコピー可能回数が管理される仮想マージ区間は、マージ要求区間が包含するチャプタChp#2となる。マージ処理により、仮想マージ区間内にあるチャプタChp#2のコピー可能回数が1回増加される。
なお、マージ処理では、マージ先のコンテンツデータにおける、マージ処理に対応するチャプタのコピー可能回数が増加されると共に、マージ元のコンテンツデータにおけるマージ実行区間(すなわちマージ要求区間)に対応する部分が削除される。マージ要求区間のデータがマージ元のコンテンツデータそのものである場合には、当該コンテンツデータが削除される。
図9は、マージ要求区間と、マージ要求区間が包含するチャプタChp#2の開始時刻および終了時刻の時間差分ΔTsおよびΔTeがそれぞれ閾値以上であった場合の、仮想マージ区間を示す。本第2の実施形態では、図9(a)に例示されるように開始時刻および終了時刻の時間差分ΔTsおよびΔTeがそれぞれ閾値以上の場合、マージ要求区間の開始時刻Cおよび終了時刻Dでそれぞれチャプタが分割される。
この例では、図9(b)に例示されるように、マージ要求区間の開始時刻Cを含むチャプタChp#1が開始時刻Aで分割されチャプタChp#1AおよびChp#1Bが生成される。それと共に、マージ要求区間の終了時刻Dを含むチャプタChp#3が終了時刻Dで分割され、チャプタChp#3AおよびChp#Bが生成される。
仮想マージ区間は、分割されたチャプタを含むチャプタChp#1B、Chp#2およびChp#3Aとなる。また、仮想マージ区間に含まれる各チャプタのマージ可能回数は、それぞれのチャプタが含まれていた元のチャプタのコピー可能回数より1回増加する。すなわち、チャプタChp#1B、Chp#2およびChp#3Aのコピー可能回数は、元のチャプタChp#1、Chp#2およびChp#3のコピー可能回数の6回から1回増加し、それぞれ7回となる。
なお、開始時刻の差分時間ΔTsおよび終了時刻の差分時間ΔTeの何れか一方が閾値以下の場合も有り得る。この場合、差分時間が閾値以上の側では、マージ要求区間の端でチャプタ分割を行いその位置を仮想マージ区間の一端とする。そして、差分時間が閾値以下の側では、マージ要求区間の端を含むチャプタにおけるマージ要求区間の内側の端を、仮想マージ区間の他端とする。
上述の、マージ要求区間がチャプタを包含する例では、差分時間ΔTsおよびΔTeは、それぞれマージ要求区間とマージ要求区間が包含するチャプタとの開始時刻および終了時刻の差分時間として説明した。これに対して、マージ要求区間に包含されるチャプタが存在しない場合も考えられる。以下、マージ要求区間に包含されるチャプタが存在しない場合の差分時間ΔTsおよびΔTeの定義について説明する。
先ず、図10に例示されるように、マージ要求区間に包含されるチャプタが存在せず、且つ、マージ要求区間内にチャプタ境界300が存在する場合について説明する。この場合、差分時間ΔTsを、マージ要求区間の開始時刻からチャプタ境界までの時間と定義し、差分時間ΔTeを、マージ要求区間の終了時間からチャプタ境界までの時間と定義する。
次に、図11に例示されるように、マージ要求区間に包含されるチャプタが存在せず、且つ、マージ要求区間内にチャプタ境界も存在しない場合について説明する。この場合には、差分時間ΔTsおよびΔTeは、共にマージ要求区間の時間と等しいと定義する。この場合には、マージ要求区間が閾値以下であれば、マージ先のコンテンツデータにおける、マージ要求区間に対応するチャプタのコピー可能回数は、マージ処理により変化することがない。
なお、仮想マージ区間は、マージ可能回数の管理を行うために仮想的に設定される区間であって、実際のデータのマージは、マージ要求区間に従い行われる。以下では、実際にデータのマージを行う区間をマージ実行区間と呼ぶ。
このように、マージ先のコンテンツデータのチャプタ情報を用いることで、区間の短い不要なチャプタの新たな設定を回避しつつ、マージ処理によりコンテンツデータに予め設定されたチャプタのコピー可能回数の増加を実現することが可能となる。
図12は、本第2の実施形態における上述の処理を実現するための記録装置500の機能を示す一例の機能ブロック図を示す。本第2の実施形態では、記録装置500は、上述した第1の実施形態の構成に対して、コピーチャプタ検出部112およびコンテンツコピー部115の替わりに、マージチャプタ検出部116およびコンテンツマージ部117がそれぞれ設けられる。これらマージチャプタ検出部116およびコンテンツマージ部117は、CPU512上で動作するプログラムにより実現できる。勿論、これらをハードウェアで構成してもよい。なお、図12において、上述の図5と共通する部分には同一の符号を付し、詳細な説明を省略する。
マージチャプタ検出部116は、制御部107からの指示により、コンテンツデータに対してマージ要求区間が包含するチャプタの集合を求める。求められたチャプタ集合を示す情報は、マージ要求区間を示す情報と共に、マージチャプタ検出部116からチャプタ分割判定部109に対して送られる。
コンテンツマージ部117は、制御部107からの指示に従い、例えば記録媒体104からマージ要求区間のコンテンツデータを取得し、要求区間調整部113を通じて、記録媒体104に記録されたマージ先のコンテンツデータへのマージを行なう。要求区間調整部113は、コンテンツマージ部117からの通知により、マージ要求区間を、マージ実行区間となるチャプタ集合に等しい大きさに調整する。
図13は、本第2の実施形態によるコンテンツデータのマージの一例の処理を示すフローチャートである。フローチャートの処理に先立って、例えばユーザ入力部108に対する入力に応じてコンテンツデータの部分区間のマージの要求が発生する。マージ要求には、マージ要求区間を示す情報、マージ元およびマージ先のコンテンツデータに関する情報などが含まれる。このマージ要求は、制御部107に渡される。制御部107は、マージチャプタ検出部116に対して、マージを要求されたマージ要求区間の情報と、マージ先のコンテンツデータの情報とを送信する。
なお、ここでは、マージ元のコンテンツデータは、マージ先のコンテンツデータと共に記録媒体104に記録されているものとする。なお、これはこの例に限定されず、マージ元のコンテンツデータは、マージ先のコンテンツデータとの関連付けがなされていれば、通信部105から取得してもよいし、ディスク記録媒体530から取得することもできる。
ステップS301で、マージチャプタ検出部116は、制御部107から渡されたコンテンツデータ情報に基づき、マージ先のコンテンツデータのチャプタ情報を記録媒体104から取得する。そして、取得したチャプタ情報に基づき、マージ要求区間が包含するチャプタの集合を検出する。マージチャプタ検出部116は、検出されたチャプタ集合に関する情報と、マージ要求区間を示す情報とをチャプタ分割判定部109に通知する。
チャプタ分割判定部109は、マージチャプタ検出部116から通知されたチャプタ集合に関する情報とマージ要求区間情報とに基づき、チャプタ集合およびマージ要求区間について、開始時刻の差分時間ΔTsと、終了時刻の差分時刻ΔTeとを求める。そして、ステップS302〜ステップS307で、これら差分時間ΔTsおよびΔTeと、閾値格納部110に格納されている閾値とを比較し、仮想マージ区間を決定する。
ステップS302では、開始時刻の差分時間ΔTsと閾値とが比較される。比較の結果、若し、差分時間ΔTsが閾値以上であると判定されたら、処理はステップS303に移行され、マージ要求区間の開始時刻の位置を仮想マージ区間の先頭に決定し、その位置でチャプタ分割を行う。一方、差分時間ΔTsが閾値より小さいと判定されたら、処理はステップS304に移行され、マージ要求区間の開始時刻の位置を含むチャプタの後端を仮想マージ区間の先頭に決定する。換言すれば、ステップS304では、マージ要求区間の開始時刻の位置を含むチャプタの、マージ要求区間に対して内側の端を、仮想マージ区間の先頭に決定する。ステップS303またはステップS304の処理が終了したら、処理はステップS305に移行される。
ステップS305では、終了時刻の差分時間ΔTeと閾値とが比較される。比較の結果、若し、差分時間ΔTeが閾値以上であると判定されたら、処理はステップS306に移行され、マージ要求区間の終了時刻の位置を仮想マージ区間の後端に決定し、その位置でチャプタ分割を行う。一方、差分時間ΔTeが閾値より小さいと判定されたら、処理はステップS307に移行され、マージ要求区間の終了時刻の位置を含むチャプタの先頭を仮想マージ区間の後端に決定する。換言すれば、ステップS307では、マージ要求区間の終了時刻の位置を含むチャプタの、マージ要求区間に対して内側の端を、仮想マージ区間の先頭に決定する。ステップS306またはステップS307の処理が終了したら、処理はステップS308に移行される。
なお、上述のステップS303およびステップS306のうち少なくとも一方でチャプタ分割を行った場合には、記録媒体104に記録されているチャプタ情報を、チャプタ分割の結果に応じて更新する。
ステップS308において、チャプタ分割判定部109は、上述のステップS302〜ステップS307の判定結果に基づき、仮想マージ区間に含まれるチャプタを決定し、決定されたチャプタの集合を示す情報を制御部107へ通知する。
次のステップS309で、制御部107は、チャプタ分割判定部109より通知された、仮想マージ区間に含まれるチャプタ集合の情報を取得する。そして、取得したチャプタ集合の情報に基づき、コンテンツマージ部117に対してマージ命令を通知する。コンテンツマージ部117は、この通知に応じて、記録媒体104から仮想マージ区間のコンテンツデータを取得し、マージ要求区間の情報と共に要求区間調整部113に渡す。要求区間調整部113は、コンテンツマージ部117から送られた仮想マージ区間のコンテンツデータを、マージ要求区間に開始時刻と終了時刻とが等しくなるように編集し、記録媒体104に記録されたマージ先のコンテンツデータに対してマージする。
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。本第3の実施形態では、マージ元のコンテンツデータに設定されたチャプタを考慮して、コンテンツデータのマージ処理を行う。
図14は、本第3の実施形態における処理を実現するための記録装置500の機能を示す一例の機能ブロック図を示す。本第3の実施形態では、記録装置500は、図12を用いて説明した第2の実施形態の構成に対して、コピー可能回数判定部118が追加されている。なお、図14において、上述の図12と共通する部分には同一の符号を付し、詳細な説明を省略する。
コピー可能回数判定部118は、コンテンツデータの全チャプタそれぞれのコピー可能回数から、最小のコピー可能回数を持つチャプタを探す。このコピー可能回数判定部118は、CPU512上で動作するプログラムにより実現できる。勿論、コピー可能回数判定部118をハードウェアで構成してもよい。
図15は、本第3の実施形態によるコンテンツデータのマージの一例の処理を示すフローチャートである。ユーザ入力部108または通信部105において、コンテンツデータのマージ要求が生じると、コピー可能回数判定部118において、マージ元のコンテンツデータの全チャプタに対する処理が終了したか否かが判定される(ステップS401)。若し、全チャプタに対する処理が終了したと判定されたら、この図15のフローチャートによる一連の処理が終了される。
ステップS401で、全チャプタに対する処理が終了していないと判断されたら、処理はステップS402に移行される。ステップS402では、マージ元のコンテンツデータにおける、1回以上のコピー可能回数を有する全てのチャプタのうち、最小のコピー可能回数が例えば検出手段としての制御部107により検出される。そして、次のステップS403で、1回以上のコピー可能回数を有する全てのチャプタについて、隣接するチャプタ同士で纏めてチャプタ集合とする。このチャプタ集合に対してコピー可能回数として上述の最小コピー可能回数を設定すると共に、このチャプタ集合の区間をマージ要求区間として設定する。
ステップS403で決定されたマージ要求区間に基づき、次のステップS404で、チャプタ集合をマージ元としてコンテンツデータのマージ処理が行われる。このステップS404で行われるマージ処理は、上述の第2の実施形態で図7〜図11および図13を用いて説明した処理と同一となるので、ここでの説明を省略する。
コンテンツのマージ処理が終了すると、処理がステップS401に戻され、マージ元のコンテンツデータにおける1回以上のコピー可能回数を有するチャプタに対して、上述と同様にしてマージ処理が行われる。
図16〜図19を用いて、本第3の実施形態のマージ処理をより具体的に説明する。一例として、図16(a)に例示されるマージ元のコンテンツデータ400を、図16(b)に例示されるマージ先のコンテンツデータ410にマージする場合について考える。この場合、マージ先コンテンツデータ410のチャプタ構成は、できるだけ変更したくない。
マージ元コンテンツデータ400は、それぞれコピー可能回数CPが5回、3回、7回および2回であるチャプタ#Chp1、#2、#3および#4にチャプタ分割されているものとする。また、マージ先コンテンツデータ410は、それぞれコピー可能回数CPが3回、2回および1回であるチャプタ#Chp11、#12および#13にチャプタ分割されているものとする。ここで、マージ元コンテンツデータ400のチャプタ分割位置と、マージ先コンテンツデータ410のチャプタ分割位置とは、互いに関連性がないものとする。
ステップS402で、制御部107によりマージ元コンテンツデータ400の全チャプタから、1回以上のコピー可能回数で最小のコピー可能回数が検出される。図16の例では、チャプタ#Chp4のコピー可能回数CPの2回が最小コピー可能回数として検出される。
次のステップS403で、マージ元コンテンツデータ400におけるコピー可能回数が1回以上の全チャプタが纏められてチャプタ集合とされ、このチャプタ集合のコピー可能回数として、検出された最小コピー可能回数が設定される。すなわち、図17(a)に例示されるように、マージ元コンテンツデータ400に基づくチャプタ集合401に対して、コピー可能回数として最小コピー可能回数(この例では2回)が設定される。
次のステップS404で、チャプタ集合401がマージ先コンテンツデータ410に対してマージされる。ここでは、マージ要求区間すなわちチャプタ集合401の両端と、マージ先コンテンツデータ410の両端とが一致するため、マージ要求区間は、マージ先コンテンツデータ401の全チャプタ#Chp11、#12および#13を包含する。したがって、マージ要求区間とマージ要求区間が包含するチャプタの開始時刻および終了時刻の時間差分ΔTsおよびΔTeは、それぞれ0であり、閾値以下となる。そのため、図17(b)に例示されるように、マージ先コンテンツデータ401の全チャプタ#Chp11、#12および#13のコピー可能回数CPが、マージ元であるチャプタ集合401に設定されたコピー可能回数に応じてそれぞれ増加される。
図17(b)の例では、マージ先コンテンツデータ410の各チャプタ#Chp11、#12および#13のコピー可能回数CPが図16(b)の状態から2回増加され、それぞれ5回、4回および3回とされる。一方、マージ元コンテンツデータ400は、各チャプタ#Chp1、#2、#3および#4のコピー可能回数CPがチャプタ集合401に設定されたコピー可能回数に応じて減少され、それぞれ3回、1回、2回および0回とされる。
マージ元コンテンツデータ400の全チャプタについて処理が終了していないので、処理がステップS401からステップS402に移行され、マージ元コンテンツデータ400の全チャプタから、1回以上のコピー可能回数で最小のコピー可能回数が検出される。図17(b)の例では、チャプタ#Chp2のコピー可能回数の1回が最小コピー可能回数として検出される。
次のステップS403で、マージ元コンテンツデータ400におけるコピー可能回数が1回以上の全チャプタが纏められて、図18(a)に例示されるチャプタ集合402とされる。そして、このチャプタ集合402に対して、コピー可能回数として検出された最小コピー可能回数(この例では1回)が設定される。
次のステップS404で、チャプタ集合402がマージ先コンテンツデータ410に対してマージされる。ここでは、マージ要求区間すなわちチャプタ集合402は、マージ先コンテンツデータ401の全チャプタ#Chp11および#12を包含するものとする。また、マージ要求区間とマージ要求区間が包含するチャプタの開始時刻および終了時刻の時間差分ΔTsおよびΔTeがそれぞれ閾値以上であるものとする。
この場合、図18(b)に例示されるように、マージ先コンテンツデータ401の全チャプタ#Chp11および#12のコピー可能回数が、マージ元であるチャプタ集合402に設定されたコピー可能回数に応じてそれぞれ増加される。その結果、マージ先コンテンツデータ401のチャプタ#Chp11および#12のコピー可能回数CPが図17(b)の状態から1回増加され、それぞれ6回および5回とされる。チャプタ#Chp13のコピー可能回数は、変化しない。一方、マージ元コンテンツデータ400は、各チャプタ#Chp1、#2および#3のコピー可能回数CPがチャプタ集合402に設定されたコピー可能回数に応じて減少され、それぞれ2回、0回および4回とされる。
マージ元コンテンツデータ400の全チャプタについて処理が終了していないので、処理がステップS401からステップS402に移行され、マージ元コンテンツデータ400の全チャプタから、1回以上のコピー可能回数で最小のコピー可能回数が検出される。図18(b)の例では、チャプタ#Chp1のコピー可能回数CPの2回が最小コピー可能回数として検出される。
ここで、図18(b)の例では、マージ元コンテンツデータ400において、コピー可能回数CPが1回以上のチャプタ#Chp1および#3は、互いに隣接していない。そのため、ステップS403ではチャプタ集合が形成されず、マージ処理は、チャプタ#Chp1および#3それぞれをマージ要求区間として行われる。この場合、チャプタ#Chp1および#3それぞれのコピー可能回数CPは、ステップS401で検出された最小のコピー可能回数(この例では1回)に設定される。
次のステップS404で、チャプタ#Chp1および#3のそれぞれが、マージ先コンテンツデータ410に対してマージされる。ここでは、マージ要求区間であるチャプタ#Chp1は、その区間がマージ先コンテンツデータ401のチャプタ#Chp11の区間と一致するものとする。したがって、マージ要求区間とマージ要求区間が包含するチャプタの開始時刻および終了時刻の時間差分ΔTsおよびΔTeは、それぞれ0であり、閾値以下となる。そのため、マージ先コンテンツデータ401のチャプタ#Chp11のコピー可能回数CPが、マージ元であるチャプタ#Chp1に設定されたコピー可能回数CPに応じて増加され、8回となる。
一方、他のマージ要求区間であるチャプタ#Chp3は、マージ先コンテンツデータ401のチャプタ#Chp12および#13の境界411を包含し、チャプタを包含しないものとする。また、ここでは、チャプタ#Chp3の先頭および後端と、境界411との差分ΔTsおよびΔTeは、それぞれ閾値以下であるものとする。この場合、上述した図13のフローチャートのステップS304およびステップS307によれば、仮想マージ区間の先頭および後端がそれぞれ境界411に一致することになり、マージ処理は実質的に行われない。したがって、マージ先コンテンツデータ401のチャプタ#Chp12および#13のコピー可能回数CPは、変化しない。
図19は、本第3の実施形態の方法に従い、図16に示したマージ元コンテンツデータ400のマージ先コンテンツデータ410へのマージ処理を、上述のようにして行った一例の結果を示す。マージ先コンテンツデータ401において、チャプタ#Chp11、#12および#13のコピー可能回数CPがそれぞれ8回、5回および3回とされ、マージ前の各チャプタ#Chp11、#12および#13のコピー可能回数CPに対して増加されている。
ここで、図18において、チャプタ#Chp3の先頭と境界411との差分ΔTsが閾値以上である場合について考える。この場合、マージ先コンテンツデータ410においてチャプタ#Chp3の先頭が包含されるチャプタ#Chp12は、チャプタ#Chp3の先頭に対応する位置で分割されることになる。この場合の本第3の実施形態に従ったマージ処理の一例の結果を図20に示す。マージ先コンテンツデータ410のチャプタ#Chp12がチャプタ#Chp12Aおよび#12Bに分割される。そして、チャプタ#Chp3のコピー可能回数CPに応じてチャプタ#Chp12Bのコピー可能回数CPが増加され、9回とされる。このような場合であっても、マージ先コンテンツデータ410のチャプタ分割が1箇所で済む。
このように、本第3の実施形態では、マージ要求元のコンテンツデータに設定されたのチャプタ情報を用いてマージ処理を行うようにしている。そのため、区間の短い不要なチャプタが新たに設定されることを回避しつつ、マージによりコンテンツデータに予め設定されたチャプタ毎のコピー可能回数の増加を実現する。
<他の実施形態>
上述の各実施形態は、システム或は装置のコンピュータ(或いはCPU、MPU等)によりソフトウェア的に実現することも可能である。
従って、上述の各実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の各実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
なお、上述の各実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
上述の各実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線/無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、MO、CD、DVD等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。
有線/無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムファイル)をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、上述の各実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
また、上述の各実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
また、上述の各実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するOSの機能を利用するものであってもよい。
さらに、上述の各実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるCPUで実行するようにしてもよい。