(57)【特許請求の範囲】
【請求項１】
コンテンツが挿入されたパケットが複数個多重化されたパケットシーケンスが連続しかつこれらのパケットシーケンス単位で暗号化されたストリームデータと、当該ストリームデータを管理するストリーム管理データとを相互に対応付けて記録媒体に記憶したコンテンツ編集装置であって、
前記記録媒体に記憶されたストリームデータの削除範囲を指定する情報を受け付ける手段と、
前記記録媒体に記憶されたストリームデータを、その先頭に位置するパケットシーケンスから前記指定された削除範囲の開始点を含むパケットシーケンスまでの第１のストリームデータと、前記指定された削除範囲の終了点を含むパケットシーケンスから前記ストリームデータの後端に位置するパケットシーケンスまでの第２のストリームデータに分割し、その他のパケットシーケンスを削除するストリームデータ分割手段と、
前記記録媒体に記憶されたストリーム管理データをもとに、前記分割された第１及び第２のストリームデータに対応する第１及び第２のストリーム管理データをそれぞれ生成し、当該生成された第１のストリーム管理データに、前記削除範囲の開始点を含むパケットの位置を表す情報を前記第１のストリームデータの終了ポイントとして記述し、前記生成された第２のストリーム管理データに、前記削除範囲の終了点を含むパケットの位置を表す情報を前記第２のストリームデータの開始ポイントとして記述すると共に、前記分割された第１及び第２のストリームデータ間の不整合を補正するための補正情報を追加記述する管理データ生成手段と
を具備することを特徴とするコンテンツ編集装置。
【請求項２】
前記管理データ生成手段は、前記第２のストリーム管理データを生成する際に、対応する第２のストリームデータに含まれるパケットのうち復号を開始するために必要な符号化データを含むパケットの番号を表すパケットインデックス情報を記述した複数の管理テーブルと、前記第２のストリームデータ全体を管理するヘッダとをそれぞれ生成し、この生成されたヘッダに、前記複数の管理テーブルに記述されたパケットインデックス情報により表されるパケットの番号を補正するためのインデックス基底値を、前記補正情報として追加記述することを特徴とする請求項１記載のコンテンツ編集装置。
【請求項３】
前記管理データ生成手段は、前記第２のストリーム管理データを生成する際に、対応する第２のストリームデータに含まれるパケットのうち復号を開始するために必要な符号化データを含むパケットの時間位置を表すタイムスタンプ情報を記述した管理テーブルと、前記第２のストリームデータ全体の属性を管理するヘッダとをそれぞれ生成し、このヘッダに、前記管理テーブルに記述されたタイムスタンプ情報により表される時間位置を補正するためのタイムスタンプ基底値を、前記補正情報として記述することを特徴とする請求項１記載のコンテンツ編集装置。
【請求項４】
前記ストリームデータ分割手段により分割された第１及び第２のストリームデータを復号手段により連続して復号させた場合の、当該復号手段のバッファのオーバフローとアンダフローの少なくとも一方を予測する手段と、
前記バッファがオーバフロー又はアンダフローすると予測される場合に、前記第１のストリーム管理データに記述された第１のストリームデータの終了ポイント情報の値を、それより時間的に上流側の位置に対応する値に変更する手段と
を、さらに具備することを特徴とする請求項１記載のコンテンツ編集装置。
【請求項５】
前記記録媒体に記憶された前記第２のストリームデータを復号する場合に、対応する第２のストリーム管理データの各管理テーブルに記述されたパケットインデックス情報の値から、当該第２のストリーム管理データのヘッダに追加記述されたインデックス基底値を減算し、この減算後のパケットインデックス情報により指定されるパケットから復号を開始することを特徴とする請求項２記載のコンテンツ編集装置。
【請求項６】
前記記録媒体に記憶された前記第２のストリームデータを復号する場合に、対応する第２のストリーム管理データの各管理テーブルに記述されたタイムスタンプ情報の値から、当該第２のストリーム管理データのヘッダに追加記述されたタイムスタンプ基底値を減算し、この減算後のタイムスタンプ情報により指定される時間位置に対応するパケットから復号を開始することを特徴とする請求項３記載のコンテンツ編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばフラッシュメモリを用いた記録媒体に記録された映像コンテンツを編集する機能を備えたコンテンツ編集装置に関する。
【背景技術】
【０００２】
地上デジタル放送に対応するテレビジョン受信機やビデオレコーダの中には、受信した番組コンテンツを、メモリカード等のフラッシュメモリを用いた可搬性を有する記録媒体に記憶する機能を備えた装置がある。この種の装置を使用して所望の番組コンテンツを記録媒体に記憶すれば、当該記録媒体を他のテレビジョン受像機やパーソナル・コンピュータに装着することにより、上記番組コンテンツを他の部屋や外出先等において再生することが可能となる。なお、当該記録媒体に記憶された番組コンテンツは著作権保護のために暗号化される。また、記録媒体に記憶された番組コンテンツを編集する機能を上記装置に持たせることも提案されている。この種の機能を備えることにより、例えば番組コンテンツの一部を削除して必要な部分のみを残すと云った編集処理が可能となる。
【０００３】
ところで、上記番組コンテンツの削除編集を行う場合、従来では例えば以下のような処理が行われる。すなわち、先ず記録媒体に記憶された暗号化番組コンテンツのストリームデータを復号し、この復号されたデータのうちユーザが指定した削除範囲に対応する部位を削除する。そして、この削除された部位の前後を再符号化し、さらにこの再符号化されたストリームデータに対し再暗号化を行ったのち、この再暗号化後の番組コンテンツのストリームデータを記録媒体に記憶し直す（例えば、特許文献１を参照。）。
【特許文献１】特開２００２−１４０８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、このような従来の削除編集機能では、記録媒体に記憶された番組コンテンツのデータに対し、上述したように暗号化番組コンテンツの復号、データの一部削除、削除後のデータの再符号化及び再暗号化と云った複数段階の処理が必要となる。このうち、特に映像データの復号、再符号化及び再暗号化処理は処理量が非常に多く、編集処理に多くの時間がかかる。この問題は、記録媒体としてフラッシュメモリを使用した場合、フラッシュメモリは読み出し及び書き込みの速度が遅いことから、特に顕著になる。
【０００５】
この発明は上記事情に着目してなされたもので、その目的とするところは、記録媒体に記憶されたコンテンツの編集を、複雑な処理を必要とすることなく短時間に行えるようにしたコンテンツ編集装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためにこの発明の一観点は、コンテンツが挿入されたパケットが複数個多重化されたパケットシーケンスが連続しかつこれらのパケットシーケンス単位で暗号化されたストリームデータと、当該ストリームデータを管理および制御するストリーム管理データとを相互に対応付けて記録媒体に記憶したコンテンツ編集装置にあって、
上記記録媒体に記憶されたストリームデータの削除範囲を指定する情報を受け付けた場合に、上記記録媒体に記憶されたストリームデータを、その先頭に位置するパケットシーケンスから上記指定された削除範囲の開始点を含むパケットシーケンスまでの第１のストリームデータと、上記指定された削除範囲の終了点を含むパケットシーケンスから上記ストリームデータの後端に位置するパケットシーケンスまでの第２のストリームデータに分割し、その他のパケットシーケンスを削除する。またそれと共に、上記記録媒体に記憶されたストリーム管理データをもとに、上記分割された第１及び第２のストリームデータに対応する第１及び第２のストリーム管理データをそれぞれ生成し、当該生成された第１のストリーム管理データに、上記削除範囲の開始点を含むパケットの位置を表す情報を上記第１のストリームデータの終了ポイント情報として記述する。さらに、上記生成された第２のストリーム管理データに、上記削除範囲の終了点を含むパケットの位置を表す情報を上記第２のストリームデータの再開ポイント情報として記述すると共に、上記分割された第１及び第２のストリームデータ間の不整合を補正するための補正情報を追加記述するように構成したものである。
【発明の効果】
【０００７】
したがってこの発明の一観点によれば、ストリームデータを暗号化したまま削除範囲の前後において分割することにより発生する不整合は、ストリーム管理データに追加記述された当該不整合の補正情報をもとに復号時に補正される。このため、ストリームデータ自体に対する復号、再符号化及び再暗号化の処理が不要となって編集処理は大幅に簡素化される。この結果、例えばフラッシュメモリのようにデータの書き込み及び読み出し速度が比較的遅い記録媒体を使用する場合でも、削除編集処理に要する時間を短縮することが可能となる。  
すなわち、記録媒体に記憶されたコンテンツの編集を、複雑な処理を必要とすることなく短時間に行うことが可能なコンテンツ編集装置を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照してこの発明の実施形態を説明する。  
図１は、この発明の一実施形態に係わるコンテンツ編集機能を備えたテレビジョン受像機の構成を示すブロック図である。このテレビジョン受像機は、放送受信ユニット１と、制御ユニット２とを備えている。
【０００９】
放送受信ユニット１は、衛星デジタル放送波や地上デジタル放送波等の放送波をアンテナ３を介して受信し、この受信された放送波から入力デバイス７により指定されたチャネルを選択する。そして、当該選択されたチャネルの放送信号を復調して得たベースバンドストリームを制御ユニット２へ出力する。
【００１０】
制御ユニット２は、この発明に係わる機能として、管理ファイル制御モジュール２１と、多重制御モジュール２２と、暗号制御モジュール２３と、ネットワーク・インタフェース２４と、オーディオデコーダ２５と、ビデオデコーダ２６と、入力インタフェース２７と、記録媒体入出力インタフェース２８を備えている。なお、これらの機能はＣＰＵ（Central Processing Unit）又はＤＳＰ（Digital Signal Processor）にアプリケーション・プログラムを実行させることにより実現される。ただし、これに限定される必要はなく、例えば、オーディオデコーダ、ビデオデコーダを専用の集積回路とすることも可能である。
【００１１】
ネットワーク・インタフェース２４は、例えばＬＡＮ（Local Area Network）と通信するためのインタフェースであり、ＬＡＮを介してインターネット上のサーバに接続することにより当該サーバからコンテンツを取得する場合に使用される。入力インタフェース２７は、入力デバイス７から操作情報を取り込む。入力デバイス７としては、テレビジョン受像機本体に設けられた各種スイッチや、リモートコントローラが使用される。記録媒体入出力インタフェース２８は、記録媒体４を着脱自在に挿着するためのスロットを有し、このスロットに挿着された記録媒体４との間で記憶データの書き込み及び読み出しを行う。なお、記録媒体４はフラッシュメモリを使用したメモリカードからなる。
【００１２】
多重制御モジュール２２は、上記放送受信ユニット１及びネットワーク・インタフェース２４からベースバンドストリームを取り込み、このベースバンドストリームからビデオ、オーディオ及びデータの各パケットを分離する。そして、この分離した各パケットをデパケットし、このうち符号化ビデオ情報及びデータをビデオデコーダ２６に、符号化オーディオ情報をオーディオデコーダ２５にそれぞれ供給する。また、上記分離により取得される制御情報や管理情報を管理ファイル制御モジュール２２に供給し、ストリーム管理データとして記憶媒体４に記憶する。
【００１３】
ビデオデコーダ２６は、上記多重制御モジュール２２から供給された、例えば、ＭＰＥＧ−２方式やＨ．２６４方式に従って符号化ビデオ情報を復号してビデオ信号を出力する。そして、このビデオ信号を上記ビデオ情報と共に供給されたデータと合成してディスプレイ６に供給し、表示させる。オーディオデコーダ２５は、上記多重制御モジュール２２から供給された、例えばＡＡＣ方式に従って符号化オーディオ情報を復号してオーディオ信号を出力する。そして、このオーディオ信号をスピーカ５から音として拡声出力させる。
【００１４】
暗号化モジュール２３は、上記放送受信ユニット１により受信されたベースバンドストリーム及びネットワーク・インタフェース２４により取得されたベースバンドストリームを記録媒体４に記憶させる場合に、当該ベースバンドストリームをそのＴＳパケットシーケンス単位で暗号化する。また、記録媒体４に記憶されたベースバンドストリームを再生する場合に、当該記録媒体４から記録媒体入出力モジュール２８により読み出されたベースバンドストリームの暗号を復号し、この復号されたベースバンドストリームを上記多重制御モジュール２２へ出力する。上記暗号化及びその復号処理に必要な暗号鍵等の管理情報は、記録媒体４に記憶されたストリーム管理データの情報を管理ファイル制御モジュール２１から取得する。
【００１５】
管理ファイル制御モジュール２１は、上記記録媒体４に記憶されるベースバンドストリームを管理するもので、ベースバンドストリームの記録再生制御機能と、記憶されたベースバンドストリームに対する削除編集機能とを備えている。  
このうち記録再生制御機能は、入力デバイス７により記録指示が入力された場合に、上記放送受信ユニット１により受信されたベースバンドストリーム及びネットワーク・インタフェース２４により取得されたベースバンドストリームを、予め定められた記録フォーマットに従い記録媒体４に記憶させる制御を実行する。また、入力デバイス７により再生指示が入力された場合に、上記記録媒体４から再生対象のベースバンドストリームを読み出して再生させるための制御を実行する。
【００１６】
ここで、上記ベースバンドストリームの記録フォーマットについて説明する。図３はこの記録フォーマットの一例を示す図である。  
すなわち、記録媒体４上のルートディレクトリ（root）には「VIDEO」と呼ばれるディレクトリが作成され、ここに複数のプログラム・ディレクトリが列挙された状態で格納される。プログラム・ディレクトリは「PROGxxx」という形式で命名され、「xxx」の部分は「001」、「002」…というように数字をインクリメントすることにより連続する番号で表される。「VIDEO」ディレクトリには、その他に「CONT_MGR」と呼ばれるファイルが生成され、ここにプログラム・ディレクトリに関する管理情報が格納される。
【００１７】
プログラム・ディレクトリには、プログラム（番組コンテンツ）を構成するファイル群が格納される。このファイル群には、ストリームデータ、ストリーム管理データ、プログラム管理データが含まれる。一つのプログラムにおいて、プログラム管理データは一つ、ストリームデータは一つ又は複数、ストリーム管理データはストリームデータと対をなす。ストリームデータは、「PRGxxx.STR」というファイル名の命名形式を有し、「xxx」の部分には例えば「001」、「002」…というように数字をインクリメントすることにより生成した番号により表現される。また、ストリーム管理データは、「PRGxxx.MOI」というファイル名の命名形式を持っており、「xxx」の部分は上記ストリームデータと同様に、「001」、「002」…というように数字をインクリメントすることにより生成した番号により表現される。なお、「PRG001.STR」と「PRG001.MOI」のように、数字の部分が同じものはストリームデータとストリーム管理データとが対になっていることを表す。
【００１８】
ストリームデータが予め定められたファイル長の上限に達した場合には、次のストリームデータが作成される。例えば、「PRG001.STR」となっているストリームデータの次に「PRG002.STR」が生成される。なお、ファイル名の番号部分は必ずしも連番にする必要はなく、対をなすストリーム管理データに記述された、当該ストリームデータに続くストリームデータの番号と直前のストリームデータの番号を参照することで、ストリームデータをシームレスに再生することが可能である。
【００１９】
ストリームデータは以下のように構成される。図４はその構成の一例を示す図である。すなわち、ストリームデータＳＴＲは、複数のＴＳパケットシーケンスＳＥＱ１〜ＳＥＱ５を時分割多重したもので、各ＴＳパケットシーケンスＳＥＱ１〜ＳＥＱ５にはそれぞれ複数のＴＳ（Transport Stream）パケットＴＳ１〜ＴＳｎが時分割多重される。このＴＳパケットの多重数ｎはストリームデータごとに設定され、例えばｎ＝３２、１２８、２５６に設定される。このＴＳパケットの多重数ｎは、後述するストリーム管理データに記述することで定義される。
【００２０】
また、ＴＳパケットＴＳ１〜ＴＳｎのうち、ＴＳパケットシーケンスＳＥＱ１〜ＳＥＱ５の先頭に位置するＴＳパケットＴＳ１には、その先頭に３２ビット（４バイト）のＡＴＳ（Arrival Time Stamp：到着時刻）が付与される。ＡＴＳには、２７MHzの周期で計測したＴＳパケットがテレビジョン受像機に受信された時刻が記述される。なお、放送以外の手段でストリームデータＳＴＲが機器に入力された場合には、予めＡＴＳが付与されている場合もある。ＴＳ方式はＭＰＥＧ−２システムで定められている方式であり、ＴＳパケットＴＳ１〜ＴＳｎにはビデオ、オーディオ及びデータの各メディアストリームが多重化されて挿入される。
【００２１】
また、ストリームデータはＴＳパケットシーケンスＳＥＱ１〜ＳＥＱ５ごとに暗号化される。暗号化方式としては、例えば共通鍵暗号化方式のＡＥＳ（Advanced Encryption Standard）方式のＣＢＣ（Cipher block Chaining）モードが用いられる。このとき、ＴＳパケットシーケンスＳＥＱ１〜ＳＥＱ５の先頭から暗号化するのではなく、一定のオフセットを持たせて暗号化する。このオフセットを上記ＡＴＳに相当する４バイトとすることで、ＴＳパケットシーケンスＳＥＱ１〜ＳＥＱ５のそれぞれ先頭に位置するＴＳパケットのＡＴＳを復号せずに参照することができる。なお、上記コンテンツを暗号化および復号化するための共通鍵は、記録媒体４の保護領域に格納される。この保護領域は、記録媒体４と相互認証が成功した機器のみがアクセス可能となっており、各ストリームデータに対応した鍵ファイル（図示せず）が格納される。
【００２２】
一方、ストリーム管理データは以下のように構成される。図５はその構成を示す図である。すなわち、ストリーム管理データＭＯＩは、例えば複数の管理テーブルＭＯＴと、１個のストリーム管理データヘッダＭＯＨとから構成される。  
ストリーム管理データヘッダＭＯＨには、ＴＳパケット数、参照ストリームデータ、開始パケットインデックス、終了パケットインデックス、開始時刻、終了時刻及びストリーム管理データテーブル数が格納され、さらにこの発明を実現するために新たに設定されたパケットインデックス基底値ＰＩＯ及びタイムスタンプ基底値ＴＳＯが格納される。
【００２３】
ＴＳパケット数は、ＴＳパケットシーケンスＳＥＱ１〜ＳＥＱ５を構成するＴＳパケットＴＳ１〜ＴＳｎの数を指定するフィールドである。参照ストリームデータは、プログラムが複数のストリームデータＳＴＲから構成されている場合に、その前後に再生されるストリームデータＳＴＲの番号を指定する。ストリームデータＳＴＲが単独の場合や、前後に続くストリームデータＳＴＲが存在しない場合は、「０」を指定する。
【００２４】
開始パケットインデックスは、対応するストリームデータＳＴＲにおいて再生する上で再生可能範囲となるＴＳパケットの開始位置を指定する。なお、この開始パケットインデックスで指定されたパケットより前のパケットは読み飛ばされることになる。ＴＳパケットＴＳ１〜ＴＳｎは、ストリームデータＳＴＲの先頭からインデックス番号が振られており、インデックス番号はストリームデータＳＴＲ中の絶対位置により決まる。
【００２５】
終了パケットインデックスは、対応するストリームデータＳＴＲで再生する上で再生可能範囲となる最後のＴＳパケットインデックス番号を指定する。なお、この終了パケットインデックスで指定されたパケットから後のパケットは読み飛ばされることになる。開始パケットインデックスが指定されている場合には、この指定されたパケットインデックス以降のＴＳパケットが再生有効範囲となる。これに対し、終了パケットインデックスが指定されている場合には、この指定されたパケットインデックス以前のＴＳパケットが再生有効範囲となる。
【００２６】
開始時刻および終了時刻は、上記した開始パケットインデックス及び終了パケットインデックスと同様にストリームデータＳＴＲ中の再生有効開始位置及び終了位置を指定するもので、それぞれその時刻で指定する。
【００２７】
なお、ストリームデータＳＴＲにおいての再生有効範囲は、上記の開始パケットインデックスと終了パケットインデックス、及び開始時刻と終了時刻の双方で指定して合ってもよいし、どちらか一方で指定するようにしてもよい。さらに、再生有効範囲は、開始パケットインデックスと終了時刻、もしくは開始時刻と終了パケットインデックスの組み合わせで指定してもよい。
【００２８】
パケットインデックス基底値ＰＩＯは、後述するストリーム管理データテーブルＭＯＴ内の指定パケットインデックスの基底値を指定する。詳細については後述する。また、タイムスタンプ基底値ＴＳＯは、後述のストリーム管理データテーブルＭＯＴ内の再生時刻オフセットの基底値を指定する。これについても詳細は後述する。
【００２９】
ストリーム管理データテーブルＭＯＴは、例えば図６に示すように、ビデオストリームＳＴＲ中でランダムアクセスが可能な位置ごとに生成される。例えば、ＭＰＥＧ−２方式の場合にはイントラフレーム（Ｉフレーム）ごとに生成される。このストリーム管理データテーブルＭＯＴによりＩフレームの位置を指し示すことにより、ランダムアクセスや早送り再生等のトリックプレーを行う場合に、ビデオストリームの復号開始点を探索しやすくしている。
【００３０】
ストリーム管理データテーブルＭＯＴには、図５に示すように指定パケットインデックス、パケット指定長、ＰＴＳ（Presentation Time Stamp）及び再生時刻オフセットが格納される。指定パケットインデックスは、上記したように復号開始点となるＩフレームを含むＴＳパケットの番号を格納する。この指定パケットインデックスは、前述したようにストリームデータＳＴＲの先頭から数えられて発番されている。ただし、上記ストリーム管理データヘッダＭＯＨにパケットインデックス基底値ＰＩＯが格納されている場合には、上記指定パケットインデックスの値は当該パケットインデックス基底値ＰＩＯを減算することにより補正され、この補正された値がストリームデータＳＴＲ内の実際のパケットインデックス値になる。パケット指定長は、上記指定パケットインデックスからいくつのＴＳパケットを取得すれば少なくともひとつのＩフレーム全体を復号できるかを指定する。
【００３１】
ＰＴＳは、指定パケットインデックスで示したパケットにおける再生時刻を格納する。再生時刻オフセットは、ストリームデータＳＴＲの先頭からの時刻タイミングを示す。ただし、上記ストリーム管理データヘッダＭＯＨにタイムスタンプ基底値が格納されている場合には、上記再生時刻オフセットは当該タイムスタンプ基底値を減算することにより補正され、この補正された値がストリーム再生時刻および時刻タイミングの概算再生時刻となる。
【００３２】
ところで、管理ファイル制御モジュール２１は、この発明に係わる処理機能として、図２に示すようにストリームデータ分割処理機能２１１と、ストリーム管理データ分割処理機能２１２と、エンドポイント変更処理機能２１３と、ストリームデータ再生処理機能２１４を有している。
【００３３】
ストリームデータ分割処理機能２１１は次のような処理を行う。すなわち、入力デバイス７において、記録媒体４に記憶されたストリームデータＳＴＲに対する削除編集指示とその削除範囲を示す情報が入力された場合に、上記記録媒体４から該当するストリームデータＳＴＲを読み出す。前述の削除範囲を示す情報とは、例えば削除開始点と削除終了点のフレーム番号や、削除開始点と削除終了点の再生時刻やＰＴＳである。そして、この読み出されたストリームデータＳＴＲ中の上記指定された削除範囲に完全に含まれるパケットシーケンスを、上記ストリームデータＳＴＲを暗号化したまま削除する。この削除処理により、上記読み出されたストリームデータＳＴＲは、その先頭に位置するパケットシーケンスから上記指定された削除範囲の開始点を含むパケットシーケンスまでの第１のストリームデータＳＴＲ１１と、上記指定された削除範囲の終了点を含むパケットシーケンスから上記ストリームデータの後端に位置するパケットシーケンスまでの第２のストリームデータＳＴＲ１２に分割される。
【００３４】
続いてストリームデータ分割処理機能２１１は、上記分割された第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２を、それまで記憶されていた削除編集処理前のストリームデータＳＴＲに代わって記録媒体４に記憶させる。上記分割された第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２を記録媒体４に記憶させる処理は、分割する前のストリームデータＳＴＲを削除し、第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２を別に記録してもよいし、分割する前のストリームデータＳＴＲが記憶媒体４に物理的に記録されている状態は変えずに、ファイルシステムの操作にて第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２に分割し、不必要な部分は削除するという処理を行ってもよい。
【００３５】
ストリーム管理データ分割処理機能２１２は、上記ストリームデータの分割処理に伴い次のような処理を行う。すなわち、上記削除編集処理の対象となったストリームデータＳＴＲに対応するストリーム管理データＭＯＩを記録媒体４から読み出し、当該ストリーム管理データＭＯＩをもとに、上記分割された第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２に対応する第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２をそれぞれ生成する。
【００３６】
なお、上記分割された第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２を記録媒体４に記憶させる処理は、分割する前のストリーム管理データＭＯＩを削除し、第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２を別に記録してもよい。また、分割する前のストリーム管理データＭＯＩが記憶媒体４に物理的に記録されている状態は変えずに、ファイルシステムの操作にてストリーム管理データＭＯＩの管理テーブルＭＯＴを第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２に応じて分割し、不必要な部分を削除した上で、前半部分を第１のストリーム管理データＭＯＩ１１として記録し、後半部分は新規に記録したストリーム管理データヘッダと連結して第２のストリームデータＭＯＩ１２として記録するようにしてもよい。
【００３７】
この場合、当該生成された第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１には、上記削除範囲の開始点を含むパケットのパケットインデックス値を終了パケットインデックス（終了ポイント）として記述する。また、第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１２には、上記削除範囲の終了点を含むパケットのパケットインデックス値を開始パケットインデックス（開始ポイント）として記述する。さらに、第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１２には、当該第２のストリーム管理データＭＯＩ１２の管理テーブルＭＯＴ１２に記述されたパケットインデックス値を補正するためのインデックス基底値ＰＩＯを記述する。
【００３８】
そして、以上のように生成された第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２を、それまで記憶されていたストリーム管理データＭＯＩに代わって記録媒体４に記憶させる。
【００３９】
なお、第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１に、上記削除範囲の開始点を含むパケットの時間位置を表すＰＴＳを終了時刻（終了ポイント）として記述し、第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１２に、上記削除範囲の終了点を含むパケットの時間位置を表すＰＴＳを開始時刻（再開ポイント）として記述すると共に、当該第２のストリーム管理データＭＯＩ１２の管理テーブルＭＯＴ１２に記述されたＰＴＳを補正するためのタイムスタンプ基底値ＴＳＯを記述するようにしてもよい。
【００４０】
エンドポイント変更処理機能２１３は、上記ストリームデータＳＴＲの分割処理と、上記第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２の生成処理の後に、以下のような処理を行う。すなわち、上記分割された第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２を、ビデオデコーダ２６において試験的に連続して復号させ、当該ビデオデコーダ２６のバッファの占有状況を計測する。そして、この計測結果に基づいて、ビデオデコーダのバッファがオーバフローするか又はアンダフローするかを判定する。この判定の結果、オーバフロー又はアンダフローする場合には、上記第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１に記述された終了パケットインデックス又は終了時刻の値を、それより時間的に上流側の位置に対応する値に変更する。
【００４１】
ストリームデータ再生制御機能２１４は、次のような処理を行う。すなわち、第１のストリームデータＳＴＲ１１に続いて第２のストリームデータＳＴＲ１２を各デコーダ２５、２６で復号させる場合に、第２のストリーム管理テーブルＭＯＴ１２に記述されたパケットインデックスの値から、当該第２のストリーム管理データヘッダＭＯＨ１２に記述されたパケットインデックス基底値ＰＩＯを減算し、この減算後のパケットインデックス値により指定されるパケットから復号を開始させる。
【００４２】
また、パケットインデックス基底値ＰＩＯの代わりにタイムスタンプ基底値ＴＳＯが記述されている場合には、第２のストリーム管理テーブルＭＯＴ１２に記述されたＰＴＳ値から、当該第２のストリーム管理データヘッダＭＯＨ１２に記述されたタイムスタンプ基底値ＴＳＯを減算し、この減算後のＰＴＳ値により指定されるパケットから復号を開始させる。
【００４３】
次に、以上のように構成されたテレビジョン受像機の動作を説明する。  
（１）記録媒体４に記憶されたストリームデータＳＴＲの部分削除  
記録媒体４に記憶された番組コンテンツのストリームデータＳＴＲに対し、ユーザが入力デバイス７により削除範囲を指定した上でその削除指示を入力したとする。そうすると管理ファイル制御モジュール２１のストリームデータ分割処理機能２１１が起動し、先ず上記削除対象として指定されたストリームデータＳＴＲが記録媒体４から読み出される。そして、この読み出されたストリームデータＳＴＲ中の上記指定された削除範囲に完全に含まれるパケットシーケンスが暗号化されたまま削除される。例えば、図７（ａ）に示すように、ストリームデータＳＴＲ中のパケットシーケンスＳＥＱ２からＳＥＱ４に跨る範囲が削除範囲として指定されたとすると、当該指定された削除範囲に完全に含まれるパケットシーケンスＳＥＱ３が削除される。
【００４４】
この削除処理により、上記読み出されたストリームデータＳＴＲは、図７（ｂ）に示すように、その先頭に位置するパケットシーケンスＳＥＱ１から上記指定された削除範囲の開始点を含むパケットシーケンスＳＥＱ２までの第１のストリームデータＳＴＲ１１と、上記指定された削除範囲の終了点を含むパケットシーケンスＳＥＱ４から上記ストリームデータＳＴＲの後端に位置するパケットシーケンスＳＥＱ５までの第２のストリームデータＳＴＲ１２に分割される。
【００４５】
（２）ストリームデータの部分削除に伴うストリーム管理データの生成  
次に、管理ファイル制御モジュール２１のストリーム管理データ分割処理機能２１２が起動し、上記削除編集処理の対象となったストリームデータＳＴＲに対応するストリーム管理データＭＯＩが記録媒体４から読み出される。そして、この読み出されたストリーム管理データＭＯＩをもとに、上記分割された第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２に対応する第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２がそれぞれ生成される。
【００４６】
例えば、いまストリーム管理データＭＯＩが図８（ａ）に示すように構成されていたとし、上記削除範囲の開始点に対応するＩフレームを指示する管理テーブルのパケットインデックス値がind [5] であり、かつ上記削除範囲の終了点に対応するＩフレームを指示する管理テーブルのパケットインデックス値がind [8] だったとする。この場合には、図８（ｂ）に示すように、上記削除範囲の開始点以前の範囲に対応するパケットインデックス値ind [1]〜ind [5] の管理テーブルＭＯＴ１１を備える第１のストリーム管理データＭＯＩ１１と、上記削除範囲の終了点以降の範囲に対応するパケットインデックス値ind [8]〜ind [z]の管理テーブルＭＯＴ１２を備える第２のストリーム管理データＭＯＩ１２がそれぞれ生成される。なお、このとき上記第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１には、ストリーム管理データＭＯＩのヘッダＭＯＨがそのまま使用される。これに対し、第２のストリーム管理データＭＯＩ１２にはヘッダＭＯＨ１２が新たに付与される。
【００４７】
続いて、上記生成された第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１に、上記削除範囲の開始点を含むパケットのパケットインデックス値が終了パケットインデックス（終了ポイント）として記述される。また、第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１２に、上記削除範囲の終了点を含むパケットのパケットインデックス値が開始パケットインデックス（開始ポイント）として記述される。
【００４８】
さらに、上記第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１２に、当該第２のストリーム管理データＭＯＩ１２の管理テーブルＭＯＴ１２に記述されたパケットインデックスを補正するためのパケットインデックス基底値ＰＩＯが記述される。例えば、図８（ｂ）に示すように、第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１２に、パケットインデックス基底値ＰＩＯとしてBase=8が記述される。  
以上のように生成された第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２は、それまで記憶されていたストリーム管理データＭＯＩに代わって記録媒体４に記憶される。
【００４９】
なお、パケットの位置をＰＴＳにより管理している場合には、第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１に、上記削除範囲の開始点を含むパケットの時間位置を表すＰＴＳが終了時刻（終了ポイント）として記述され、第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１２には、上記削除範囲の終了点を含むパケットの時間位置を表すＰＴＳを終了時刻（終了ポイント）として記述される。またそれと共に、当該第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１１には、管理テーブルＭＯＴ１２に記述されたＰＴＳを補正するためのタイムスタンプ基底値ＴＳＯが記述される。
【００５０】
（３）終了ポイントの変更処理  
以上述べたストリームデータＳＴＲの分割処理と、上記第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２の生成処理が終了すると、エンドポイント変更処理機能２１３が起動する。そして、上記分割された第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２がビデオデコーダ２６において試験的に連続して復号され、このときのビデオデコーダ２６のバッファの占有状況の変化をもとに、ビデオデコーダ２６のバッファがオーバフローするか又はアンダフローするかが判定される。そして、この判定結果に基づいて、オーバフロー又はアンダフローする場合には、上記第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１に記述された終了パケットインデックス又は終了時刻の値が、それより時間的に上流側の位置に対応する値に変更される。
【００５１】
例えば、先ず第１のストリーム管理データＭＯＩ１１において、ストリームデータＳＴＲ１１内で終了ポイントより時間的に前にあるＩフレームが探索される。これは、ストリーム管理データテーブルＭＯＴを探索して、終了ポイントの時刻（ＰＴＳ）の直前に存在するＩフレームを見つけることにより可能である。続いて、この探索されたＩフレームを指定しているパケットインデックスが含まれるパケットシーケンスがビデオデコーダ２６により復号される。これにより、Ｉフレームの先頭から終了ポイントまでのビデオストリームが復号される。その結果、当該区間のビデオデデコーダ２６のバッファの状況がフレーム単位で認識することが可能となる。
【００５２】
次に、第２のストリームデータＳＴＲ１２の開始ポイントにおけるビデオデコーダ２６のバッファの占有状況が確認される。開始ポイントは、第２のストリームデータＳＴＲ１２に対し指定された開始パケットインデックス以降のＩフレームを探索することに探索可能である。通常は、開始パケットインデックスはＩフレームが指定されているものである。したがって、この指定されたＩフレームが含まれるパケットインデックスからパケット指定長分だけビデオストリームが復号される。  
以上の試験的な復号処理により、第１のストリームデータＳＴＲ１１と第２のストリームデータＳＴＲ１２との連結点前後におけるビデオデコーダ２６のバッファの占有状況が把握できる。
【００５３】
図９に示した例では、終了ポイントとして指定されているＴＳパケットと開始ポイントとして指定されているＴＳパケットとを連結して連続して復号すると、ビデオデコーダ２６のバッファでは部分的にオーバフローを起こすことが分かる。そして、この場合には終了ポイントの位置を、先に指定されたポイントより時間的に上流側の位置に変更する。このようにすると、接続点以降でビデオデコーダ２６のバッファがオーバフローしないようにすることが可能となる。
【００５４】
一方、図１０に示した例では、ビデオデコーダ２６のバッファがアンダフローを起こしてしまう場合である。この場合には、上記オーバフローの場合と同様に連続点以降でアンダフローが発生しないように、終了ポイントを時間的に上流の位置へ変更する。なお、再開ポイントはイントラフレーム（Ｉフレーム）なのでポイントの調整は行えない。  
なお、シンタックスの解析だけでビデオデコーダ２６のバッファの占有状況を把握することが可能な場合には、ビデオストリームを復号せずにシンタックスの解析により、ビデオデコーダ２６のバッファのオーバフロー又はアンダフローを予測するようにしてもよい。
【００５５】
（４）部分削除後のストリームデータの再生  
入力デバイス７において、ユーザが再生対象のプログラムを指定した上で再生指示を入力したとする。そうすると、管理ファイル制御モジュール２１のストリームデータ再生処理機能２１４が起動し、先ず第１のストリーム管理データＭＯＩ１１に従い、第１のストリームデータＳＴＲ１１の復号再生が行われる。続いて、第２のストリーム管理データＭＯＩ１２に従い、第２のストリームデータＳＴＲ１２の復号再生が行われる。
【００５６】
ところで、この第２のストリームデータＳＴＲ１２の再生に際しては、対応する第２のストリーム管理テーブルＭＯＴ１２に記述されたパケットインデックス値から、当該第２のストリーム管理データヘッダＭＯＨ１２に記述されたパケットインデックス基底値ＰＩＯが減算される。そして、この減算後のパケットインデックス値がind [0]となるＴＳパケットから復号が開始される。
【００５７】
例えば図８（ｂ）の例では、先頭の管理テーブルに記述されたパケットインデックス値ind [8]が、パケットインデックス基底値ＰＩＯ（Base=8）を減算することによりind [0]となる。このため、第２のストリームデータＳＴＲ１２は、その先頭の管理テーブルに記述されたパケットインデックスにより指定されるＴＳパケットから復号再生処理が再開される。  
したがって、第１のストリームデータＳＴＲ１１に続いて、第２のストリームデータＳＴＲ１２をその先頭からシームレスに復号再生することが可能となる。
【００５８】
なお、Ｉフレームを含むＴＳパケットの位置を、パケットインデックス値ではなくＰＴＳにより指定している場合には、第２のストリームデータＳＴＲ１２の際に際し、対応する第２のストリーム管理テーブルＭＯＴ１２に記述されたＰＴＳ値から、当該第２のストリーム管理データヘッダＭＯＨ１２に記述されたタイムスタンプ基底値ＴＳＯが減算され、この減算後のＰＴＳ値により指定されるパケットから復号が開始される。
【００５９】
以上述べたようにこの実施形態では、記録媒体４に記憶されたストリームデータＳＴＲに対する削除編集を行う場合に、先ずストリームデータ分割処理機能２１１により、ストリームデータＳＴＲ中の指定された削除範囲に完全に含まれるパケットシーケンスを削除し、これにより上記ストリームデータＳＴＲを、その先頭に位置するパケットシーケンスから上記指定された削除範囲の開始点を含むパケットシーケンスまでの第１のストリームデータＳＴＲ１１と、上記指定された削除範囲の終了点を含むパケットシーケンスから上記ストリームデータの後端に位置するパケットシーケンスまでの第２のストリームデータＳＴＲ１２に分割する。
【００６０】
次に、ストリーム管理データ分割処理機能２１２により、上記削除編集処理の対象となったストリームデータＳＴＲに対応するストリーム管理データＭＯＩをもとに、上記分割された第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２に対応する第１及び第２のストリーム管理データＭＯＩ１１，ＭＯＩ１２をそれぞれ生成する。そして、この第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１に、上記削除範囲の開始点を含むパケットのパケットインデックス値を終了パケットインデックスとして記述する。また、第２のストリーム管理データＭＯＩ１２のヘッダＭＯＨ１２に、上記削除範囲の終了点を含むパケットのパケットインデックス値を開始パケットインデックス（開始ポイント）として記述すると共に、当該第２のストリーム管理データＭＯＩ１２の管理テーブルＭＯＴ１２に記述されたパケットインデックス値を補正するためのパケットインデックス基底値ＰＩＯを記述する。
【００６１】
一方、上記第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２を連続して再生する際には、第２のストリーム管理テーブルＭＯＴ１２に記述されたパケットインデックス値から、当該第２のストリーム管理データヘッダＭＯＨ１２に記述されたパケットインデックス基底値ＰＩＯを減算し、この減算後のパケットインデックス値により指定されるＴＳパケットから復号する。
【００６２】
したがってこの実施形態によれば、ストリームデータＳＴＲを暗号化したまま削除範囲の前後において分割することにより発生する不整合は、ストリーム管理データヘッダＭＯＨに記述されたインデックス基底値ＰＩＯをもとに復号時に補正される。このため、ストリームデータＳＴＲ自体に対する復号、再符号化及び再暗号化の処理が不要となって削除編集処理は大幅に簡素化される。この結果、例えばフラッシュメモリのようにデータの書き込み及び読み出し速度が比較的遅い記録媒体４を使用する場合でも、削除編集処理に要する時間を短縮することが可能となる。
【００６３】
また、この実施形態では、分割された第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２をビデオデコーダ２６において試験的に連続して復号させ、当該ビデオデコーダ２６のバッファの占有状況からビデオデコーダ２６のバッファがオーバフローするか又はアンダフローするかを判定する。そして、オーバフロー又はアンダフローする場合には、上記第１のストリーム管理データＭＯＩ１１のヘッダＭＯＨ１１に記述された終了パケットインデックス又は終了時刻の値を、それより時間的に上流側の位置に対応する値に変更するようにしている。したがって、第１及び第２のストリームデータＳＴＲ１１，ＳＴＲ１２を連続して復号再生する際に、その接続点以降でビデオデコーダ２６のバッファがオーバフロー及びアンダフローしないようにすることが可能となる。
【００６４】
この実施形態では、ストリームデータ中の部分的な削除について述べてきたが、ストリームデータの先頭部分の削除、さらにはストリームデータの最後部の削除についても適用することができる。さらに、二つ以上の既に独立して存在しているストリームデータをシームレスに連結編集することにも適用することができる。
【００６５】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態ではテレビジョン受像機を例にとって説明したが、この発明はコンテンツを記録再生する記録再生装置に適用してもよく、また記録媒体からコンテンツを読み込んで再生する再生専用機にも適用できる。その他、ストリームデータの分割処理、ストリーム管理データの生成処理、ストリームデータの再生処理の手順と内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００６６】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００６７】
【図１】この発明の一実施形態に係わるコンテンツ編集機能を備えたテレビジョン受像機の構成を示すブロック図である。
【図２】図１に示したテレビジョン受像機の要部構成を示す機能ブロック図である。
【図３】記録媒体における番組コンテンツの記録フォーマットの一例を示す図である。
【図４】図３に示した番組コンテンツのストリームデータファイルの構成を示す図である。
【図５】図３に示した番組コンテンツのストリーム管理データの構成を示す図である。
【図６】図４に示したストリームデータファイルと図５に示したストリーム管理データとの関係を示す図である。
【図７】ストリームデータファイルの部分削除に伴うストリームデータファイルの分割例を示す図である。
【図８】ストリームデータファイルの部分削除に伴うストリーム管理データの分割例を示す図である。
【図９】デコーダバッファのオーバフローを考慮したエンドポイントの変更処理を説明するための図である。
【図１０】デコーダバッファのアンダフローを考慮したエンドポイントの変更処理を説明するための図である。
【符号の説明】
【００６８】
１…放送受信ユニット、２…制御ユニット、３…アンテナ、４…記録媒体、５…スピーカ、６…ディスプレイ、２１…管理ファイル制御モジュール、２２…多重制御モジュール、２３…暗号制御モジュール、２４…ネットワーク・インタフェース、２５…オーディオデコーダ、２６…ビデオデコーダ、２７…入力インタフェース、２８…記録媒体入出力インタフェース、２１１…ストリームデータ分割処理機能、２１２…ストリーム管理データ分割処理機能、２１３…エンドポイント変更処理機能、２１４…再生制御機能、ＳＴＲ…ストリームデータ、ＳＴＲ１１，ＳＴＲ１２…分割されたストリームデータファイル、ＳＥＱ１〜ＳＥＱ５…ＴＳパケットシーケンス、ＭＯＩ…ストリーム管理データ、ＭＯＩ１１，ＭＯＩ１２…分割されたストリーム管理データ、ＭＯＨ，ＭＯＨ１１，ＭＯＨ１２…ヘッダ、ＭＯＴ，ＭＯＴ１１，ＭＯＴ１２…管理テーブル。
【図１】
0004445555.tif 000002
【図２】
0004445555.tif 000003
【図３】
0004445555.tif 000004
【図４】
0004445555.tif 000005
【図５】
0004445555.tif 000006
【図６】
0004445555.tif 000007
【図７】
0004445555.tif 000008
【図８】
0004445555.tif 000009
【図９】
0004445555.tif 000010
【図１０】
0004445555.tif 000011