(57)【要約】【課題】複数のビデオデータを他の記録媒体にダビングする際に、ダビング先でシームレス接続の状態を維持できるようにする。【解決手段】他の記録媒体にストリームデータをダビングする際に、ダビング箇所をチャプタ単位で指定すると共に、複数のチャプタをダビングする際に、当該複数のチャプタがシームレス接続されるか否かを判断し、シームレス接続の管理情報をダビング先に生成する。ダビングするチャプタのそれぞれについて、対応するプレイアイテムが示す再生区間、対応するクリップインフォメーションが示すストリームの位置情報を、チャプタの始点および終点が示す範囲に一致させる。対象チャプタの始点と再生区間の開始点が一致するか、直前および対象チャプタでプレイアイテムの連続性、直前のチャプタの終点と再生区間の終了点が一致するかで、直前のチャプタと対象チャプタのシームレス接続の可否を決定する。【選択図】図２７
2008299948.tif 000002
【特許請求の範囲】
【請求項１】
第１の記録媒体に対して第２の記録媒体に記録されたストリームデータをダビングするようにした編集装置において、
データを第１の記録媒体に記録する記録部と、
少なくとも、所定サイズのパケットからなるストリームデータが格納されるストリームファイルが記録されると共に、該ストリームデータの再生時刻情報とアドレス情報とを対応付けたストリーム情報が格納されるストリーム情報ファイルと、該ストリームデータに対して再生開始点と再生終了点とを設定することにより再生区間を指定する１以上の再生区間データが格納され、該ストリームデータに対する再生時刻情報を示すマーク情報が格納可能な再生リストファイルとが上記ストリームデータの管理情報として記録された第２の記録媒体に記録される該管理情報に基づき、該ストリームファイルに格納される上記ストリームデータ中の指定範囲を上記第１の記録媒体に対してストリームファイルとして記録するように上記記録部を制御する記録制御部と、
上記記録制御部により上記第１の記録媒体に記録される上記ストリームファイルに対する上記管理情報を生成する管理情報生成部と
を有し、
上記管理情報生成部は、
上記第１の記録媒体に記録されるストリームファイルに対する管理情報を、上記第２の記録媒体に記録された上記ストリームファイルに対応する上記指定範囲と、該指定範囲に対応する上記再生区間データおよび上記ストリーム情報との関係に基づき生成する
ようにした
ことを特徴とする編集装置。
【請求項２】
請求項１に記載の編集装置において、
上記指定範囲は、上記マーク情報に基づき指定される
ことを特徴とする編集装置。
【請求項３】
請求項２に記載の編集装置において、
上記管理情報生成部は、
上記ストリーム情報を上記指定範囲に一致するように生成する
ことを特徴とする編集装置。
【請求項４】
請求項３に記載の編集装置において、
上記管理情報生成部は、
上記再生区間データを、上記再生区間と上記指定範囲とが一致するように生成する
ことを特徴とする編集装置。
【請求項５】
請求項１に記載の編集装置において、
上記管理情報生成部は、
複数の上記指定範囲で示されるストリームデータをそれぞれストリームファイルとして上記第１の記録媒体に対して記録する際に、第１の上記指定範囲と第２の上記指定範囲との間でシームレス接続を行うか否かを判断し、判断結果に基づき、上記第１の指定範囲に対応する上記再生区間と上記第２の指定範囲に対応する上記再生区間との接続状態を示す情報を生成し、
上記記録制御部は、
上記接続状態を示す情報を上記管理情報に含めて上記第１の記録媒体に記録する
ことを特徴とする編集装置。
【請求項６】
請求項５に記載の編集装置において、
上記管理情報生成部は、
上記第１の指定範囲の始点と該第１の指定範囲が対応する上記再生区間データの上記再生開始点とが一致しているか否かに基づき、上記第１の指定範囲と上記第２の指定範囲との間でシームレス接続を行うか否かを判断する
ことを特徴とする編集装置。
【請求項７】
請求項５に記載の編集装置において、
上記管理情報生成部は、
上記第２の指定範囲に対応する上記再生区間データが、上記第１の指定範囲に対応する上記再生区間データが示す再生区間の直前の再生区間を示すデータであるか否かに基づき、上記第１の指定範囲と上記第２の指定範囲との間でシームレス接続を行うか否かを判断する
ことを特徴とする編集装置。
【請求項８】
請求項５に記載の編集装置において、
上記管理情報生成部は、
上記第２の指定範囲の終点と該第２の指定範囲が対応する上記再生区間データの上記再生終了点とが一致しているか否かに基づき、上記第１の指定範囲と上記第２の指定範囲との間でシームレス接続を行うか否かを判断する
ことを特徴とする編集装置。
【請求項９】
請求項１に記載の編集装置において、
上記第２の記録媒体は、筐体に対して固定的に用いられる
ことを特徴とする編集装置。
【請求項１０】
請求項１に記載の編集装置において、
上記第１の記録媒体は、筐体に対して脱着可能とされている
ことを特徴とする編集装置。
【請求項１１】
請求項１に記載の編集装置において、
上記記録制御部は、
上記第２の記録媒体に記録される上記ストリームファイルに格納される上記ストリームデータ中の指定範囲を上記第１の記録媒体に対してストリームファイルとして記録するか否かを、該第２の記録媒体に記録されるストリームファイルに対応する上記管理情報に基づき判断する
ことを特徴とする編集装置。
【請求項１２】
請求項１１に記載の編集装置において、
上記管理情報には、対応するストリームファイルに格納されるストリームデータのビットレートを示す情報が含まれ、
上記記録制御部は、
上記管理情報に含まれる上記ビットレートを示す情報に基づき上記判断を行う
ことを特徴とする編集装置。
【請求項１３】
第１の記録媒体に対して第２の記録媒体に記録されたストリームデータをダビングするようにした編集方法において、
データを第１の記録媒体に記録する記録のステップと、
少なくとも、所定サイズのパケットからなるストリームデータが格納されるストリームファイルが記録されると共に、該ストリームデータの再生時刻情報とアドレス情報とを対応付けたストリーム情報が格納されるストリーム情報ファイルと、該ストリームデータに対して再生開始点と再生終了点とを設定することにより再生区間を指定する１以上の再生区間データが格納され、該ストリームデータに対する再生時刻情報を示すマーク情報が格納可能な再生リストファイルとが上記ストリームデータの管理情報として記録された第２の記録媒体に記録される該管理情報に基づき、該ストリームファイルに格納される上記ストリームデータ中の指定範囲を上記第１の記録媒体に対してストリームファイルとして記録するように上記記録のステップを制御する記録制御のステップと、
上記記録制御のステップにより上記第１の記録媒体に記録される上記ストリームファイルに対する上記管理情報を生成する管理情報生成のステップと
を有し、
上記管理情報生成のステップは、
上記第１の記録媒体に記録されるストリームファイルに対する管理情報を、上記第２の記録媒体に記録された上記ストリームファイルに対応する上記指定範囲と、該指定範囲に対応する上記再生区間データおよび上記ストリーム情報との関係に基づき生成する
ようにした
ことを特徴とする編集方法。
【請求項１４】
第１の記録媒体に対して第２の記録媒体に記録されたストリームデータをダビングするようにした編集方法をコンピュータに実行させる編集プログラムにおいて、
上記編集方法は、
データを第１の記録媒体に記録する記録のステップと、
少なくとも、所定サイズのパケットからなるストリームデータが格納されるストリームファイルが記録されると共に、該ストリームデータの再生時刻情報とアドレス情報とを対応付けたストリーム情報が格納されるストリーム情報ファイルと、該ストリームデータに対して再生開始点と再生終了点とを設定することにより再生区間を指定する１以上の再生区間データが格納され、該ストリームデータに対する再生時刻情報を示すマーク情報が格納可能な再生リストファイルとが上記ストリームデータの管理情報として記録された第２の記録媒体に記録される該管理情報に基づき、該ストリームファイルに格納される上記ストリームデータ中の指定範囲を上記第１の記録媒体に対してストリームファイルとして記録するように上記記録のステップを制御する記録制御のステップと、
上記記録制御のステップにより上記第１の記録媒体に記録される上記ストリームファイルに対する上記管理情報を生成する管理情報生成のステップと
を有し、
上記管理情報生成のステップは、
上記第１の記録媒体に記録されるストリームファイルに対する管理情報を、上記第２の記録媒体に記録された上記ストリームファイルに対応する上記指定範囲と、該指定範囲に対応する上記再生区間データおよび上記ストリーム情報との関係に基づき生成する
ようにした
ことを特徴とする編集プログラム。
【請求項１５】
第１の記録媒体に記録されたストリームファイルおよび該ストリームファイルの第１の管理情報について、該ストリームファイルに格納されるストリームデータ中の指定範囲を第２の記録媒体に対してストリームファイルとして記録するように記録制御を行う記録制御部と、
上記記録制御部により上記第２の記録媒体に記録される上記ストリームファイルに対する第２の管理情報を、上記第１の記録媒体に記録された上記ストリームファイルに対応する上記指定範囲と、上記第１の管理情報との関係に基づき生成する管理情報生成部と
を有する
ことを特徴とするデータ処理装置。
【請求項１６】
請求項１５に記載のデータ処理装置において、
上記第２の管理情報は、第１の上記指定範囲と第２の上記指定範囲との接続状態を示す情報が含まれる
ことを特徴とするデータ処理装置。
【請求項１７】
請求項１６に記載のデータ処理装置において、
上記管理情報生成部は、
複数の上記指定範囲で示されるストリームデータをそれぞれストリームファイルとして上記第２の記録媒体に対して記録する際に、第１の上記指定範囲と第２の上記指定範囲との間でシームレス接続を行うか否かを、上記第１の記録媒体に記録された上記ストリームファイルに対応する上記指定範囲と、上記第１の管理情報との関係に基づき判断し、判断結果に基づき上記第１の指定範囲に対応する再生区間と上記第２の指定範囲に対応する再生区間との接続状態を示す情報を生成し、該接続情報を示す情報を上記第２の管理情報に含めるようにした
ことを特徴とするデータ処理装置。
【請求項１８】
第１の記録媒体に記録されたストリームファイルおよび該ストリームファイルの第１の管理情報について、該ストリームファイルに格納されるストリームデータ中の指定範囲を第２の記録媒体に対してストリームファイルとして記録するように記録制御を行う記録制御のステップと、
上記記録制御のステップにより上記第２の記録媒体に記録される上記ストリームファイルに対する第２の管理情報を、上記第１の記録媒体に記録された上記ストリームファイルに対応する上記指定範囲と、上記第１の管理情報との関係に基づき生成する管理情報生成のステップと
を有する
ことを特徴とするデータ処理方法。
【請求項１９】
第１の記録媒体に記録されたストリームファイルおよび該ストリームファイルの第１の管理情報について、該ストリームファイルに格納されるストリームデータ中の指定範囲を第２の記録媒体に対してストリームファイルとして記録するように記録制御を行う記録制御のステップと、
上記記録制御のステップにより上記第２の記録媒体に記録される上記ストリームファイルに対する第２の管理情報を、上記第１の記録媒体に記録された上記ストリームファイルに対応する上記指定範囲と、上記第１の管理情報との関係に基づき生成する管理情報生成のステップと
を有するデータ処理方法をコンピュータに実行させる
ことを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記録媒体に記録されたストリームデータを他の記録媒体にダビングする際に用いて好適な編集装置、編集方法および編集プログラム、ならびに、データ処理装置、データ処理方法およびデータ処理プログラムに関する。
【背景技術】
【０００２】
近年では、例えばビデオカメラなどにおいて、撮像素子で撮像された映像信号をディジタルビデオデータに変換し、圧縮符号化して記録する記録装置に用いられる記録媒体として、従来から用いられる磁気テープに代わり、記録可能なタイプのＤＶＤ(Digital Versatile Disc)を用いるようにした製品が多く出現している。記録可能なタイプのＤＶＤとしては、直径１２ｃｍ、４．７ＧＢ(Giga Byte)以上の記録容量を有する標準的なタイプの他に、直径が８ｃｍで記録容量が１．４ＧＢ程度（単層）とされたタイプのものも、多く用いられる。特に、直径が８ｃｍのタイプのものは、携帯可能なビデオカメラなど小型化を要求される装置に用いられる例が多い。
【０００３】
この記録可能なタイプのＤＶＤは、ファイルシステムにＵＤＦ(Universal Disk Format)が用いられており、ＵＤＦに対応するコンピュータでアクセスが可能となっている。ＵＤＦは、ＩＳＯ(International Organization for Standarization)９６６０によるフォーマットを含んでおり、コンピュータに用いられる様々なファイルシステムでアクセス可能なようになっている。この記録可能なタイプのＤＶＤに対し、ビデオデータおよびオーディオデータをファイルとして記録することで、コンピュータなどの他の装置との親和性が増し、記録されたデータをより有効に活用することが可能となる。
【０００４】
さらに、近年では、数１０ＧＢ以上の記録容量を有するハードディスクドライブをビデオカメラに内蔵し、撮影して得られたビデオデータおよびオーディオデータを、このハードディスクドライブにファイルとして記録するような装置も出現している。さらにまた、記録媒体として、このような筐体に内蔵されるタイプと、上述したような脱着可能なタイプとを共に利用可能な装置も出現している。この、内蔵タイプの記録媒体と、脱着可能なタイプの記録媒体とを共に利用可能な装置を、以下では、ハイブリッドタイプの装置と呼ぶ。
【０００５】
特許文献１には、記録媒体としてＤＶＤと内蔵ハードディスクとを用いるようにしたハイブリッドタイプの記録装置が記載されている。
【特許文献１】特開２００６−３４４３２１号公報
【０００６】
このような、筐体に内蔵された記録媒体と、脱着可能な記録媒体とを利用可能なハイブリッドタイプの記録再生装置では、例えば、入力されたビデオデータなどの記録を内蔵された記録媒体に対して行い、内蔵された記録媒体に記録されたビデオデータを、必要に応じて脱着可能な記録媒体にダビングして装置外へ持ち出すような利用方法が考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここで、記録媒体に記録された２のビデオデータを、フレームタイミングで連続的に再生する場合について考える。一例として、ビデオカメラで撮影時に一旦記録を中断し再び記録を開始した際に、記録を中断した位置でファイルを分割し、２つのファイルを生成する場合を考える。これら２ファイルは、再生時には、フレームタイミングで連続的に再生可能となっていることが望まれる。また、編集により、２ファイルがフレームタイミングで連続的に再生されるようにする場合も考えられる。
【０００８】
なお、２つのビデオデータがフレームタイミングで連続的に再生されるようにビデオデータ間の再生制御を行うことを、シームレス接続と呼ぶ。シームレス接続を行うためには、少なくとも接続位置直前および直後のフレームをデコードする際に、デコーダのバッファモデルを満足している必要がある。
【０００９】
このような場合、対象となる第１および第２のファイルがシームレス接続されることを示す情報を記録時に所定に生成し、保持しておく必要がある。再生時にデコーダは、この情報に基づき、これら第１および第２のファイルがシームレスに再生されるように再生制御を行う。これら第１および第２のファイルの記録を行った記録再生装置においては、これら第１および第２のファイルのシームレス接続を、例えば装置に独自の管理情報を用いて可能とすることができる。
【００１０】
次に、これらシームレス接続される第１および第２のファイルを、他の記録媒体、例えば記録可能なタイプのＤＶＤといった脱着可能な記録媒体にダビングする場合について、さらに考える。これら第１および第２のファイルが記録された脱着可能な記録媒体は、例えば、他の再生装置によって再生される。この場合、これら第１および第２のファイルとシームレス接続を行うことを示す管理情報とを共に当該脱着可能な記録媒体に記録する必要がある。
【００１１】
しかしながら、従来では、シームレス接続を管理するための管理情報をダビング先の記録媒体に記録するようにはなっていなかったという問題点があった。
【００１２】
また、仮に当該管理情報をダビング先の記録媒体に記録するようになっていたとしても、ダビング先の記録媒体を再生する再生装置がこの管理情報に対応していなければ、これら第１および第２のファイルのシームレスな再生を実現することができないという問題点があった。
【００１３】
一方、内蔵の記録媒体に記録されたファイルに格納されるビデオデータに対して、再生位置の区切りを示すマークが設定されている場合がある。マークは、記録時に所定の条件に基づき自動的に設定されたり、ユーザによる編集処理により設定されたりする。このマークとマークとの間を、チャプタと呼ぶことにする。再生時に、再生位置をチャプタ単位で指定することができる。ダビング時にも、チャプタ単位でダビング箇所を指定することが考えられる。例えば編集などにより、元来は時間的に連続していないチャプタ間で、シームレス接続を行うように指定されることも有り得る。
【００１４】
このように、シームレス接続を管理するための管理情報を作成する際に、チャプタ単位でダビングを行うような場合に再生時にシームレス接続を行う否かを自動的に判別し、設定する機能がさらに求められている。
【００１５】
したがって、この発明の目的は、記録媒体に記録される複数のビデオデータを他の記録媒体にダビングする際に、シームレス接続すべきビデオデータについて、ダビング先でシームレス接続を可能とするような編集装置、編集方法および編集プログラム、ならびに、データ処理装置、データ処理方法およびデータ処理プログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上述した課題を解決するために、第１の発明は、第１の記録媒体に対して第２の記録媒体に記録されたストリームデータをダビングするようにした編集装置において、データを第１の記録媒体に記録する記録部と、少なくとも、所定サイズのパケットからなるストリームデータが格納されるストリームファイルが記録されると共に、ストリームデータの再生時刻情報とアドレス情報とを対応付けたストリーム情報が格納されるストリーム情報ファイルと、ストリームデータに対して再生開始点と再生終了点とを設定することにより再生区間を指定する１以上の再生区間データが格納され、ストリームデータに対する再生時刻情報を示すマーク情報が格納可能な再生リストファイルとがストリームデータの管理情報として記録された第２の記録媒体に記録される管理情報に基づき、ストリームファイルに格納されるストリームデータ中の指定範囲を第１の記録媒体に対してストリームファイルとして記録するように記録部を制御する記録制御部と、記録制御部により第１の記録媒体に記録されるストリームファイルに対する管理情報を生成する管理情報生成部とを有し、管理情報生成部は、第１の記録媒体に記録されるストリームファイルに対する管理情報を、第２の記録媒体に記録されたストリームファイルに対応する指定範囲と、指定範囲に対応する再生区間データおよびストリーム情報との関係に基づき生成するようにしたことを特徴とする編集装置である。
【００１７】
また、第２の発明は、第１の記録媒体に対して第２の記録媒体に記録されたストリームデータをダビングするようにした編集方法において、データを第１の記録媒体に記録する記録のステップと、少なくとも、所定サイズのパケットからなるストリームデータが格納されるストリームファイルが記録されると共に、ストリームデータの再生時刻情報とアドレス情報とを対応付けたストリーム情報が格納されるストリーム情報ファイルと、ストリームデータに対して再生開始点と再生終了点とを設定することにより再生区間を指定する１以上の再生区間データが格納され、ストリームデータに対する再生時刻情報を示すマーク情報が格納可能な再生リストファイルとがストリームデータの管理情報として記録された第２の記録媒体に記録される管理情報に基づき、ストリームファイルに格納されるストリームデータ中の指定範囲を第１の記録媒体に対してストリームファイルとして記録するように記録のステップを制御する記録制御のステップと、記録制御のステップにより第１の記録媒体に記録されるストリームファイルに対する管理情報を生成する管理情報生成のステップとを有し、管理情報生成のステップは、第１の記録媒体に記録されるストリームファイルに対する管理情報を、第２の記録媒体に記録されたストリームファイルに対応する指定範囲と、指定範囲に対応する再生区間データおよびストリーム情報との関係に基づき生成するようにしたことを特徴とする編集方法である。
【００１８】
また、第３の発明は、第１の記録媒体に対して第２の記録媒体に記録されたストリームデータをダビングするようにした編集方法をコンピュータに実行させる編集プログラムにおいて、編集方法は、データを第１の記録媒体に記録する記録のステップと、少なくとも、所定サイズのパケットからなるストリームデータが格納されるストリームファイルが記録されると共に、ストリームデータの再生時刻情報とアドレス情報とを対応付けたストリーム情報が格納されるストリーム情報ファイルと、ストリームデータに対して再生開始点と再生終了点とを設定することにより再生区間を指定する１以上の再生区間データが格納され、ストリームデータに対する再生時刻情報を示すマーク情報が格納可能な再生リストファイルとがストリームデータの管理情報として記録された第２の記録媒体に記録される管理情報に基づき、ストリームファイルに格納されるストリームデータ中の指定範囲を第１の記録媒体に対してストリームファイルとして記録するように記録のステップを制御する記録制御のステップと、記録制御のステップにより第１の記録媒体に記録されるストリームファイルに対する管理情報を生成する管理情報生成のステップとを有し、管理情報生成のステップは、第１の記録媒体に記録されるストリームファイルに対する管理情報を、第２の記録媒体に記録されたストリームファイルに対応する指定範囲と、指定範囲に対応する再生区間データおよびストリーム情報との関係に基づき生成するようにしたことを特徴とする編集プログラムである。
【００１９】
また、第４の発明は、第１の記録媒体に記録されたストリームファイルおよびストリームファイルの第１の管理情報について、ストリームファイルに格納されるストリームデータ中の指定範囲を第２の記録媒体に対してストリームファイルとして記録するように記録制御を行う記録制御部と、記録制御部により第２の記録媒体に記録されるストリームファイルに対する第２の管理情報を、第１の記録媒体に記録されたストリームファイルに対応する指定範囲と、第１の管理情報との関係に基づき生成する管理情報生成部とを有することを特徴とするデータ処理装置である。
【００２０】
また、第５の発明は、第１の記録媒体に記録されたストリームファイルおよびストリームファイルの第１の管理情報について、ストリームファイルに格納されるストリームデータ中の指定範囲を第２の記録媒体に対してストリームファイルとして記録するように記録制御を行う記録制御のステップと、記録制御のステップにより第２の記録媒体に記録されるストリームファイルに対する第２の管理情報を、第１の記録媒体に記録されたストリームファイルに対応する指定範囲と、第１の管理情報との関係に基づき生成する管理情報生成のステップとを有することを特徴とするデータ処理方法である。
【００２１】
また、第６の発明は、第１の記録媒体に記録されたストリームファイルおよびストリームファイルの第１の管理情報について、ストリームファイルに格納されるストリームデータ中の指定範囲を第２の記録媒体に対してストリームファイルとして記録するように記録制御を行う記録制御のステップと、記録制御のステップにより第２の記録媒体に記録されるストリームファイルに対する第２の管理情報を、第１の記録媒体に記録されたストリームファイルに対応する指定範囲と、第１の管理情報との関係に基づき生成する管理情報生成のステップとを有するデータ処理方法をコンピュータに実行させることを特徴とするデータ処理プログラムである。
【００２２】
第１、第２および第３の発明は、上述したように、少なくとも、所定サイズのパケットからなるストリームデータが格納されるストリームファイルが記録されると共に、ストリームデータの再生時刻情報とアドレス情報とを対応付けたストリーム情報が格納されるストリーム情報ファイルと、ストリームデータに対して再生開始点と再生終了点とを設定することにより再生区間を指定する１以上の再生区間データが格納され、ストリームデータに対する再生時刻情報を示すマーク情報が格納可能な再生リストファイルとがストリームデータの管理情報として記録された第２の記録媒体に記録される管理情報に基づき、ストリームファイルに格納されるストリームデータ中の指定範囲を第１の記録媒体に対してストリームファイルとして記録するように制御し、第１の記録媒体に記録されるストリームファイルに対する管理情報を、第２の記録媒体に記録されたストリームファイルに対応する指定範囲と、指定範囲に対応する再生区間データおよびストリーム情報との関係に基づき生成するようにしているため、第２の記録媒体に記録されたストリームファイルに格納されるストリームデータを指定範囲単位で第１の記録媒体にダビングすることができ、第１の記録媒体にダビングされたストリームデータを管理情報に基づき再生制御することができる。
【００２３】
第４、第５および第６の発明は、上述したように、第１の記録媒体に記録されたストリームファイルおよびストリームファイルの第１の管理情報について、ストリームファイルに格納されるストリームデータ中の指定範囲を第２の記録媒体に対してストリームファイルとして記録するように記録制御を行い、第２の記録媒体に記録されるストリームファイルに対する第２の管理情報を、第１の記録媒体に記録されたストリームファイルに対応する指定範囲と、第１の管理情報との関係に基づき生成するようにしているため、第１の記録媒体に記録されたストリームファイルに格納されるストリームデータを指定範囲単位で第２の記録媒体にダビングすることができ、第２の記録媒体にダビングされたストリームデータを第２の管理情報に基づき再生制御することができる。
【発明の効果】
【００２４】
上述したように、第１、第２および第３の発明は、少なくとも、所定サイズのパケットからなるストリームデータが格納されるストリームファイルが記録されると共に、ストリームデータの再生時刻情報とアドレス情報とを対応付けたストリーム情報が格納されるストリーム情報ファイルと、ストリームデータに対して再生開始点と再生終了点とを設定することにより再生区間を指定する１以上の再生区間データが格納され、ストリームデータに対する再生時刻情報を示すマーク情報が格納可能な再生リストファイルとがストリームデータの管理情報として記録された第２の記録媒体に記録される管理情報に基づき、ストリームファイルに格納されるストリームデータ中の指定範囲を第１の記録媒体に対してストリームファイルとして記録するように制御し、第１の記録媒体に記録されるストリームファイルに対する管理情報を、第２の記録媒体に記録されたストリームファイルに対応する指定範囲と、指定範囲に対応する再生区間データおよびストリーム情報との関係に基づき生成するようにしているため、第２の記録媒体に記録されたストリームファイルに格納されるストリームデータを指定範囲単位で第１の記録媒体にダビングすることができ、第１の記録媒体にダビングされたストリームデータを管理情報に基づき再生制御することができる効果がある。
【００２５】
また、第４、第５および第６の発明は、第１の記録媒体に記録されたストリームファイルおよびストリームファイルの第１の管理情報について、ストリームファイルに格納されるストリームデータ中の指定範囲を第２の記録媒体に対してストリームファイルとして記録するように記録制御を行い、第２の記録媒体に記録されるストリームファイルに対する第２の管理情報を、第１の記録媒体に記録されたストリームファイルに対応する指定範囲と、第１の管理情報との関係に基づき生成するようにしているため、第１の記録媒体に記録されたストリームファイルに格納されるストリームデータを指定範囲単位で第２の記録媒体にダビングすることができ、第２の記録媒体にダビングされたストリームデータを第２の管理情報に基づき再生制御することができる効果がある。
【発明を実施するための最良の形態】
【００２６】
以下、この発明の実施の形態について、下記の順序に従って説明する。
１．発明に適用可能な一例のフォーマットについて
１−１．データモデルについて
１−２．ファイルの管理構造について
１−２−１．光ディスク以外の記録媒体に適用されるファイルの管理構造について
１−３．各ファイルの構造について
１−３−１．拡張データの構造について
１−３−２．拡張データの具体的な例
１−４．仮想プレーヤについて
２．発明に適用可能な記録装置について
３．発明に適用可能なデータ構造について
４．発明の施の第１の形態について
４−１．実施の第１の形態によるダビング処理について
４−１−１．ダビング処理の具体的な例について
４−１−２．ダビング先のプレイアイテムおよびクリップインフォメーションの作成について
４−１−３．シームレス情報の決定処理の例について
４−２．補足
５．発明の実施の第１の形態の変形例について
６．発明の実施の第２の形態について
６−１．実施の第２の形態に適用可能な装置の構成例について
６−２．実施の第２の形態による一例のダビング処理について
【００２７】
１．発明に適用可能な一例のフォーマットについて
先ず、理解を容易とするために、この発明に適用可能な一例のフォーマット（以下、ＡＶＣＨＤフォーマットと呼ぶ）について説明する。ＡＶＣＨＤフォーマットは、ビデオデータとオーディオデータとが所定に多重化されたＡＶ(Audio/Video)ストリームを記録可能な記録媒体に記録する記録フォーマットとして現在提案されているもので、記録媒体に記録されたＡＶストリームを、クリップ単位でプレイリストを用いて管理可能としている。
【００２８】
例えばＩＴＵ−Ｔ(International Telecommunication Union-Telecommunication Standarization Sector)勧告Ｈ．２６４あるいはＩＳＯ(International Organization for Standarization)／ＩＥＣ(International Electrotechnical Commission)国際標準１４４９６−１０（ＭＰＥＧ−４パート１０）Advanced Video Coding（以下、Ｈ．２６４｜ＡＶＣと略称する）に規定される符号化方式や、ＭＰＥＧ(Moving Pictures Experts Group)ビデオやＭＰＥＧオーディオといった符号化方式で符号化され、ＭＰＥＧ２システムズに従い多重化されたビットストリームは、クリップＡＶストリーム（またはＡＶストリーム）と称される。クリップＡＶストリームは、所定のファイルシステムによりファイルとしてディスクに記録される。このファイルを、クリップＡＶストリームファイル（またはＡＶストリームファイル）と称する。
【００２９】
クリップＡＶストリームファイルは、ファイルシステム上での管理単位であり、ユーザにとって必ずしも分かりやすい管理単位であるとは限らない。ユーザの利便性を考えた場合、複数のクリップＡＶストリームファイルに分割された映像コンテンツを一つにまとめて再生する仕組みや、クリップＡＶストリームファイルの一部だけを再生する仕組み、さらには、特殊再生や頭出し再生を滑らかに行うための情報などをデータベースとしてディスクに記録しておく必要がある。
【００３０】
１−１．データモデルについて
図１は、この発明に適用可能なＡＶＣＨＤフォーマットに規定されるデータモデルを概略的に示す。このＡＶＣＨＤフォーマットによれば、データ構造は、図１に示されるように４層のレイヤよりなる。最も最下層のレイヤは、クリップＡＶストリームが配置されるレイヤである（便宜上、クリップレイヤと呼ぶ）。その上のレイヤは、クリップＡＶストリームに対する再生箇所を指定するための、プレイリスト(PlayList)と、プレイアイテム(PlayItem)とが配置されるレイヤである（便宜上、プレイリストレイヤと呼ぶ）。さらにその上のレイヤは、プレイリストに対して再生順などを指定するコマンドからなるムービーオブジェクト(Movie Object)などが配置されるレイヤである（便宜上、オブジェクトレイヤと呼ぶ）。最上層のレイヤは、記録媒体に格納されるタイトルなどを管理するインデックステーブルが配置される（便宜上、インデックスレイヤと呼ぶ）。
【００３１】
クリップレイヤについて説明する。クリップＡＶストリームは、ビデオデータやオーディオデータがＭＰＥＧ２  ＴＳ（トランスポートストリーム）の形式などに多重化されたビットストリームである。このクリップＡＶストリームに関する情報がクリップ情報(Clip Information)としてファイルに記録される。
【００３２】
また、クリップＡＶストリームには、字幕を表示するグラフィクスストリームであるＯＢストリーム(Overlay Bitmap stream)や、メニュー表示などに用いられるデータ（ボタン画像データなど）をストリームにしたＭＢストリーム(Menu Bitmap stream)ストリームを多重化することができる。
【００３３】
クリップＡＶストリームファイルと、対応するクリップ情報が記録されたクリップ情報ファイルとをひとまとまりのオブジェクトと見なし、クリップ(Clip)と称する。すなわち、クリップは、クリップＡＶストリームとクリップ情報とから構成される、一つのオブジェクトである。
【００３４】
ファイルは、一般的に、バイト列として扱われる。クリップＡＶストリームファイルのコンテンツは、時間軸上に展開され、クリップ中のエントリーポイントは、主に時間ベースで指定される。所定のクリップへのアクセスポイントのタイムスタンプが与えられた場合、クリップＡＶストリームファイルの中でデータの読み出しを開始すべきアドレス情報を見つけるために、クリップ情報ファイルを用いることができる。
【００３５】
プレイリストレイヤについて説明する。プレイリストは、再生するＡＶストリームファイルの指定と、指定されたＡＶストリームファイルの再生箇所を指定する再生開始点（ＩＮ点）と再生終了点（ＯＵＴ点）の集まりとから構成される。この再生開始点と再生終了点の情報を一組としたものは、プレイアイテム(PlayItem)と称される。プレイリストは、プレイアイテムの集合で構成される。プレイアイテムを再生するということは、そのプレイアイテムに参照されるＡＶストリームファイルの一部分を再生するということになる。すなわち、プレイアイテム中のＩＮ点およびＯＵＴ点情報に基づき、クリップ中の対応する区間が再生される。
【００３６】
オブジェクトレイヤについて説明する。ムービーオブジェクトは、ナビゲーションコマンドプログラムと、ムービーオブジェクトとを連携するターミナルインフォメーションを含む。ナビゲーションプログラムは、プレイリストの再生を制御するためのコマンド（ナビゲーションコマンド：navigation command）である。ターミナルインフォメーションは、ユーザのプレーヤに対するインタラクティブな操作を許可するための情報を含んでいる。このターミナルインフォメーションに基づき、メニュー画面の呼び出しや、タイトルサーチといったユーザオペレーションが制御される。
【００３７】
インデックスレイヤについて説明する。インデックスレイヤは、インデックステーブル(Index Table)からなる。インデックステーブルは、記録媒体に記録されたコンテンツのタイトルを定義する、トップレベルのテーブルである。インデックステーブルに格納されているタイトル情報に基づき、プレーヤに常駐されるシステムソフトウェア中のモジュールマネージャにより記録媒体の再生が制御される。
【００３８】
すなわち、図２に概略的に示されるように、インデックステーブル中の任意のエントリは、タイトルと称され、インデックステーブルにエントリされるファーストプレイバックタイトル(First PlaybackTitle)、メニュータイトル(MenuTitle)およびムービータイトル(MovieTitle)＃１、＃２、・・・は、全てタイトルである。各タイトルは、ムービーオブジェクトに対するリンクを示す。
【００３９】
理解を容易とするため再生専用の記録媒体を例にとると、例えば、ファーストプレイバックタイトルは、当該記録媒体に格納されるコンテンツが映画であれば、映画本編に先立って映出される映画会社の宣伝用映像（トレーラ）に対応する。メニュータイトルは、例えばコンテンツが映画である場合、本編再生、チャプタサーチ、字幕や言語設定、特典映像再生などを選択するためのメニュー画面に対応する。また、ムービータイトルは、メニュータイトルから選択される各映像である。タイトルがさらにメニュー画面であるような構成も可能である。
【００４０】
図３は、上述のようなクリップＡＶストリーム、クリップ情報(Stream Attributes)、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ(Unified Modeling Language)図である。プレイリストは、１または複数のプレイアイテムに対応付けられ、プレイアイテムは、１のクリップに対応付けられる。１のクリップに対して、それぞれ開始点および／または終了点が異なる複数のプレイアイテムを対応付けることができる。１のクリップから１のクリップＡＶストリームファイルが参照される。同様に、１のクリップから１のクリップ情報ファイルが参照される。また、クリップＡＶストリームファイルとクリップ情報ファイルとは、１対１の対応関係を有する。このような構造を定義することにより、クリップＡＶストリームファイルを変更することなく、任意の部分だけを再生する、非破壊の再生順序指定を行うことが可能となる。
【００４１】
また、図４のように、複数のプレイリストから同一のクリップを参照することもできる。また、１のプレイリストから複数のクリップを指定することもできる。クリップは、プレイリスト中のプレイアイテムに示されるＩＮ点およびＯＵＴ点により、参照される。図４の例では、クリップ３００は、プレイリスト３１０のプレイアイテム３２０から参照されると共に、プレイリスト３１１を構成するプレイアイテム３２１および３２２のうちプレイアイテム３２１から、ＩＮ点およびＯＵＴ点で示される区間が参照される。また、クリップ３０１は、プレイリスト３１１のプレイアイテム３２２からＩＮ点およびＯＵＴ点で示される区間が参照されると共に、プレイリスト３１２のプレイアイテム３２３および３２４のうち、プレイアイテム３２３のＩＮ点およびＯＵＴ点で示される区間が参照される。
【００４２】
１−２．ファイルの管理構造について
次に、ＡＶＣＨＤフォーマットによる、記録媒体に記録されるファイルの管理構造について、図５を用いて説明する。この図５に示される管理構造は、記録可能なタイプのＤＶＤといった光ディスクを記録媒体として適用した際に用いて好適なものである。ファイルは、ディレクトリ構造により階層的に管理される。記録媒体上には、先ず、１つのディレクトリ（図５の例ではルート(root)ディレクトリ）が作成される。このディレクトリの下が、１つの記録再生システムで管理される範囲とする。
【００４３】
ルートディレクトリの下に、ディレクトリ"BDMV"およびディレクトリ"AVCHDTN"が置かれる。ディレクトリ"AVCHDTN"には、例えばクリップの代表画像を所定サイズに縮小したサムネイルファイルが置かれる。ディレクトリ"BDMV"に、図１を用いて説明したデータ構造が格納される。
【００４４】
ディレクトリ"BDMV"の直下には、ファイルは、ファイル"index.bdmv"およびファイル"MovieObject.bdmv"の２つのみを置くことができる。また、ディレクトリ"BDMV"の下に、ディレクトリ"PLAYLIST"、ディレクトリ"CLIPINF"、ディレクトリ"STREAM"およびディレクトリ"BACKUP"が置かれる。ディレクトリ"BACKUP"は、各ディレクトリおよびファイルのバックアップが格納される。
【００４５】
ファイル"index.bdmv"は、ディレクトリ"BDMV"の内容について記述される。すなわち、このファイル"index.bdmv"が上述した最上層のレイヤであるインデックスレイヤにおけるインデックステーブルに対応する。また、ファイル"MovieObject.bdmv"は、１つ以上のムービーオブジェクトの情報が格納される。すなわち、このファイル"MovieObject.bdmv"が上述したオブジェクトレイヤに対応する。
【００４６】
ディレクトリ"PLAYLIST"は、プレイリストのデータベースが置かれるディレクトリである。すなわち、ディレクトリ"PLAYLIST"は、プレイリストに関するファイルであるファイル"xxxxx.mpls"を含む。ファイル"xxxxx.mpls"は、プレイリストのそれぞれに対して作成されるファイルである。ファイル名において、"."（ピリオド）の前の"xxxxx"は、５桁の数字とされ、ピリオドの後ろの"mpls"は、このタイプのファイルに固定的とされた拡張子である。
【００４７】
ディレクトリ"CLIPINF"は、クリップのデータベースが置かれるディレクトリである。すなわち、ディレクトリ"CLIPINF"は、クリップＡＶストリームファイルのそれぞれに対するクリップインフォメーションファイルであるファイル"zzzzz.clpi"を含む。ファイル名において、"."（ピリオド）の前の"zzzzz"は、５桁の数字とされ、ピリオドの後ろの"clpi"は、このタイプのファイルに固定的とされた拡張子である。
【００４８】
ディレクトリ"STREAM"は、実体としてのＡＶストリームファイルが置かれるディレクトリである。すなわち、ディレクトリ"STREAM"は、クリップインフォメーションファイルのそれぞれに対応するクリップＡＶストリームファイルを含む。クリップＡＶストリームファイルは、ＭＰＥＧ２(Moving Pictures Experts Group 2)のトランスポートストリーム（以下、ＭＰＥＧ２  ＴＳと略称する）からなり、ファイル名が"zzzzz.m2ts"とされる。ファイル名において、ピリオドの前の"zzzzz"は、対応するクリップインフォメーションファイルと同一することで、クリップインフォメーションファイルとこのクリップＡＶストリームファイルとの対応関係を容易に把握することができる。
【００４９】
なお、ディレクトリ"AVCHDTN"は、２種類のサムネイルファイル"thumbnail.tidx"および"thumbnail.tdt2"を置くことができる。サムネイルファイル"thumbnail.tidx"は、所定の方式で暗号化されたサムネイル画像が格納される。サムネイルファイル"thumbnail.tdt2"は、暗号化されていないサムネイル画像が格納される。例えばビデオカメラでユーザが撮影したクリップに対応するサムネイル画像は、コピーフリーであって暗号化する必要が無いと考えられるため、このサムネイルファイル"thumbnail.tdt2"に格納される。
【００５０】
１−２−１．光ディスク以外の記録媒体に適用されるファイルの管理構造について
なお、光ディスク以外の記録媒体（例えば記録装置に内蔵されるハードディスクやフラッシュメモリ、記録装置に脱着可能なフラッシュメモリなど）にストリームデータファイルを記録する場合、この図５に示される管理構造とは若干異なった管理構造が適用される。図６は、ＡＶＣＨＤフォーマットによる、この光ディスク以外の記録媒体に適用可能な一例の管理構造を示す。
【００５１】
この図６の例では、ルートディレクトリの下にディレクトリ"AVCHD"が置かれ、このディレクトリ"AVCHD"の下に、ディレクトリ"BDMV"が置かれる。そして、このディレクトリ"BDMV"の直下に、２つのファイル、インデックスファイル"INDEX.BDM"およびムービーオブジェクトファイル"MOVIEOBJ.BDM"が置かれると共に、プレイリストファイルが格納されるディレクトリ"PLAYLIST"、クリップインフォメーションファイルが格納されるディレクトリ"CLIPINFO"およびストリームデータファイルが格納されるディレクトリ"STREAM"がそれぞれ置かれる。
【００５２】
なお、図６では省略されているが、サムネイルファイルを格納するディレクトリは、ディレクトリ"AVCHD"の下に、上述のディレクトリ"BDMV"と並列的に置かれる。
【００５３】
また、各ディレクトリにおいて、格納されるファイル名が、図５に示す、光ディスクに適用される管理構造の例とは異ならされる。例えばファイル名は、大文字を用いると共に"."（ピリオド）の後ろの部分が３文字とされる。図６の例では、インデックスファイルがファイル"INDEX.BDM"、ムービーオブジェクトファイルがファイル"MOVIEOBJ.BDM"、プレイリストファイルがファイル"XXXXX.MPL"、クリップインフォメーションファイルがファイル"ZZZZZ.CPI"、クリップＡＶストリームファイルがファイル"ZZZZZ.MTS"とされている。
【００５４】
これらファイル"INDEX.BDM"、ファイル"MOVIEOBJ.BDM"、ファイル"XXXXX.MPL"、ファイル"ZZZZZ.CPI"、ファイル"ZZZZZ.MTS"は、それぞれ図５のファイル"index.bdmv"、ファイル"MovieObject.bdmv"、ファイル"xxxxx.mpls"、ファイル"zzzzz.clpi"、ファイル"zzzzz.m2ts"に対応する。
【００５５】
１−３．各ファイルの構造について
図５および図６で示した各ファイルのうち、この発明に関わりの深いものについて、より詳細に説明する。なお、図６に示す各ファイルの説明は、図５に示す対応するファイルの説明で読み替えるものとする。先ず、ディレクトリ"BDMV"の直下に置かれるファイル"index.bdmv"について説明する。図７は、このファイル"index.bdmv"の一例の構造を表すシンタクスを示す。ここでは、シンタクスをコンピュータ装置などのプログラムの記述言語として用いられるＣ言語の記述法に基づき示す。これは、他のシンタクスを表す図において、同様である。
【００５６】
図７において、フィールドTypeIndicatorは、３２ビットのデータ長を有し、このファイルがインデックステーブルであることを示す。フィールドTypeIndicator2は、３２ビットのデータ長を有し、このファイル"index.bdmv"のバージョンを示す。フィールドIndexesStartAddressは、３２ビットのデータ長を有し、このシンタクス内にあるブロックblkIndexes()の開始アドレスを示す。
【００５７】
フィールドExtensionDataStartAddressは、３２ビットのデータ長を有し、このシンタクス内にあるブロックblkExtensionData()の開始アドレスを示す。ブロックblkExtensionData()は、所定の拡張データを格納可能とするためのブロックである。フィールドExtensionDataStartAddressは、このファイル"index.bdmv"の最初のバイトからの相対バイト数で、ブロックblkExtensionData()の開始アドレスを示す。相対バイト数は、"０"から開始される。若し、このフィールドExtensionDataStartAddressの値が"０"であれば、このファイル"index.bdmv"内に、ブロックblkExtensionData()が存在しないことを示す。
【００５８】
フィールドExtensionDataStartAddressに続けて、データ長が１９２バイトの領域reservedが配される。なお、領域reservedは、バイトアライメントや、将来的なフィールドの追加などのための領域である。これは、以下の説明においても同様である。ブロックblkAppInfoBDMV()は、コンテンツ制作者が任意の情報を記述できるブロックであって、プレーヤの動作などには影響を与えない。
【００５９】
ブロックblkIndexes()は、このファイル"index.bdmv"の実質的な内容であって、このブロックblkIndexes()に記述された内容により、ディスクをプレーヤに装填した際に再生されるファーストプレイバックや、トップメニューから呼び出されるタイトル（ムービーオブジェクト）が指定される。インデックステーブルにより呼び出されたムービーオブジェクト等に記述されたコマンドに基づき、後述するプレイリストファイルが読み込まれる。
【００６０】
図８は、ブロックblkIndexes()の一例の構造を表すシンタクスを示す。フィールドLengthは、３２ビットのデータ長を有し、このフィールドLength直後からこのブロックblkIndexes()の終わりまでのデータ長を示す。続けて、ブロックFirstPlaybackTitle()およびブロックMenuTitle()が配される。
【００６１】
ブロックFirstPlaybackTitle()は、ファーストプレイバックで用いられるオブジェクトに関する情報が記述される。ブロックFirstPlaybackTitle()は、１ビットのデータ長を有する領域reservedに続けて固定値"1"が記述される。さらに３１ビットのデータ長を有する領域reservedを介して固定値"1"が記述される。そして、１４ビットのデータ長を有する領域reservedを介して、１６ビットのデータ長を有するフィールドFirstPlaybackTitleMobjIDRefが配される。このフィールドFirstPlaybackTitleMobjIDRefにより、ファーストプレイバックタイトルで用いられるムービーオブジェクトのＩＤを示す。
【００６２】
ムービーオブジェクトのＩＤは、例えば、図９および図１０を用いて後述するムービーオブジェクトのシンタクスに基づき、ムービーオブジェクトのforループ文においてループ変数として用いられる値mobj_idで示される。この例では、フィールドFirstPlaybackTitleMobjIDRefは、参照するムービーオブジェクトに対応する値mobj_idが格納される。
【００６３】
なお、ブロックblkIndexes()におけるブロックFirstPlaybackTitle()内のフィールドFirstPlaybackTitleMobjIDRefは、トップメニューのムービーオブジェクトを指していてもよいし、タイトルを指していてもよい。
【００６４】
ブロックMenuTitle()は、トップメニューで用いられるオブジェクトに関する情報が記述される。ブロックMenuTitle()は、１ビットのデータ長を有する領域reservedに続けて固定値"1"が記述される。さらに３１ビットのデータ長を有する領域reservedを介して固定値"1"が記述される。そして、１４ビットのデータ長を有する領域reservedを介して、１６ビットのデータ長を有するフィールドMenuTitleMobjIDRefが配される。フィールドMenuTitleMobjIDRefは、メニュータイトルで用いられるムービーオブジェクトのＩＤを示す。
【００６５】
ブロックMenuTitle()の次のフィールドNumberOfTitlesは、１６ビットのデータ長を有し、ユーザが選択、再生可能なタイトルの数を示す。次のforループ文に従い、このフィールドNumberOfTitlesに示される回数だけ、値title_idを引数として、ブロックMovieTitle[title_id]()が記述される。ブロックMovieTitle[title_id]()は、タイトル毎の情報が記述される。値title_idは、"０"からフィールドNumberOfTitlesで示される値までの数値であり、タイトルを識別する。
【００６６】
ブロックMovieTitle[title_id]()において、１ビットのデータ長を有する領域reservedを介して固定値"1"が記述され、さらに、４６ビットのデータ長を有する領域reservedを介してフィールドMovieTitleMobjIDRefが記述される。フィールドMovieTitleMobjIDRefは、１６ビットのデータ長を有し、このタイトルで用いられるムービーオブジェクトのＩＤを示す。フィールドMovieTitleMobjIDRefの後ろに、３２ビットのデータ長を有する領域reservedが配される。
【００６７】
図９は、ディレクトリ"BDMV"の直下に置かれるファイル"MovieObject.bdmv"の一例の構造を表すシンタクスを示す。フィールドTypeIndicatorは、３２ビット（４バイト）のデータ長を有し、このファイルがファイル"MovieObject.bdmv"であることを示す。フィールドTypeIndicatorは、ＩＳＯ(International Organization for Standarization)６４６に規定された符号化方式で符号化した４文字からなる文字列が記述される。この図９の例では、フィールドtype_indicatiorにＩＳＯ６４６に既定の方式で符号化された４文字の文字列"MOBJ"が記述され、このファイルがファイル"MovieObject.bdmv"であることが示される。
【００６８】
フィールドTypeIndicator2は、３２ビット（４バイト）のデータ長を有し、このファイル"MovieObject.bdmv"のバージョン番号を示す。このファイル"MovieObject.bdmv"では、フィールドTypeIndicator2は、ＩＳＯ６４６に規定された符号化方式で符号化した４文字の文字列"0100"でなければならない。
【００６９】
フィールドExtensionDataStartAddressは、３２ビットのデータ長を有し、このシンタクス内にあるブロックblkExtensionData()の開始アドレスを示す。フィールドExtensionDataStartAddressは、このファイル"MovieObject.bdmv"の最初のバイトからの相対バイト数で、ブロックblkExtensionData()の開始アドレスを示す。相対バイト数は、"０"から開始される。若し、このフィールドExtensionDataStartAddressの値が"０"であれば、このファイル"MovieObject.bdmv"内に、ブロックblkExtensionData()が存在しないことを示す。
【００７０】
なお、この図９に示すシンタクス内のフィールドpadding_wordは、１６ビットのデータ長を有し、このファイル"MovieObject.bdmv"のシンタクスに従いforループ文に値N1または値N2で示される回数だけ挿入される。値N1または値N2は、０または任意の正の整数である。また、フィールドpadding_wordは、任意の値を用いることができる。
【００７１】
フィールドExtensionDataStartAddressに続けてデータ長が２２４ビットの領域reservedが配され、その次に、このファイル"MovieObject.bdmv"の本体であるブロックblkMovieObjects()が格納される。
【００７２】
図１０は、ブロックblkMovieObjects()の一例の構造を表すシンタクスを示す。フィールドLengthは、３２ビットのデータ長を有し、このフィールドLengthの直後からこのブロックblkMovieObjects()の終わりまでのデータ長を示す。３２ビットのデータ長を有する領域reservedを介してフィールドNumberOfMobjsが配される。フィールドNumberOfMobjsは、直後のforループ文に従い格納されるムービーオブジェクトの数を示す。forループ文のループ変数として用いられる値mobj_idで、ムービーオブジェクトが一意に特定される。値mobj_idは、"０"から始まる値で、ムービーオブジェクトは、forループ文中に記述される順序により定義される。
【００７３】
forループ文中のブロックTerminalInfo()は、固定値"1"が記述され、次に１５ビットのデータ長を有する領域reservedが配される。その次に、１６ビットのデータ長を有するフィールドNumberOfNavigationCommands[mobj_id]が配される。このフィールドNumberOfNavigationCommands[mobj_id]は、値mobj_idによって指し示されるムービーオブジェクトMovieObject[mobj_id]()に含まれるナビゲーションコマンド(NavigationCommand)の数を表す。
【００７４】
次の、値command_idをループ変数とするforループ文により、フィールドNumberOfNavigationCommands[mobj_id]に示される数だけ、ナビゲーションコマンドが記述される。すなわち、このforループ文中に配されるフィールドNavigationCommand[mobj_id][command_id]は、値mobj_idによって指し示されるブロックMovieObject[mobj_id]()に含まれる、値command_idで示される順番のナビゲーションコマンドNavigationCommandを格納する。値command_idは、０から始まる値で、ナビゲーションコマンドNavigationCommandは、このforループ文中に記述される順序で定義される。
【００７５】
図１１は、プレイリストファイル"xxxxx.mpls"の一例の構造を表すシンタクスを示す。フィールドTypeIndicatorは、３２ビット（４バイト）のデータ長を有し、このファイルがプレイリストファイルであることを示す。フィールドTypeIndicator2は、３２ビット（４バイト）のデータ長を有し、このプレイリストファイルのバージョンを示す。フィールドPlayListStartAddressは、３２ビットのデータ長を有し、このシンタクス中のブロックblkPlayList()の開始アドレスを示す。
【００７６】
フィールドPlayListMarkStartAddressは、３２ビットのデータ長を有し、このシンタクス中のブロックblkPlayListMark()の開始アドレスを示す。フィールドExtensionDataStartAddressは、３２ビットのデータ長を有し、このシンタクス中のブロックblkExtensionData()の開始アドレスを示す。フィールドExtensionDataStartAddressは、ブロックblkExtensionData()の開始アドレスを、ファイル"xxxxx.mpls"の最初のバイトからの相対バイト数を表した値である。相対バイト数は、"０"から開始される。若し、このフィールドExtensionDataStartAddressの値が"０"であれば、このファイル"xxxxx.mpls"内に、ブロックblkExtensionData()が存在しないことを示す。
【００７７】
１６０ビットのデータ長を有する領域reservedを介してブロックblkAppInfoPlayList()が配される。ブロックblkAppInfoPlayList()は、次のブロックblkPlayList()に記述されるプレイリストのタイプ、再生制限などの情報が記述される。ブロックblkPlayList()は、プレイリストが記述される。ブロックblkPlayListMark()は、チャプタジャンプなどでジャンプされるポイントが記述される。ブロックblkExtensionData()は、所定の拡張データを格納可能とするためのブロックである。
【００７８】
なお、この図１１に示すシンタクス内のフィールドpadding_wordは、１６ビットのデータ長を有し、このファイル"xxxxx.mpls"のシンタクスに従いforループ文に値N1、値N2および値N3で示される回数だけ挿入される。値N1、値N2または値N3は、０または任意の正の整数である。また、フィールドpadding_wordは、任意の値を用いることができる。
【００７９】
図１２は、ブロックblkPlayList()の一例の構造を表すシンタクスを示す。フィールドLengthは、３２ビットのデータ長を有し、このフィールドLengthの直後からブロックblkPlayList()の最後までのデータ長を示す。フィールドLengthに続けて１６ビットのデータ長を有する領域reservedが配され、次にフィールドNumberOfPlayItemsが配される。フィールドNumberOfPlayItemsは、１６ビットのデータ長を有し、このブロックblkPlayList()に含まれるプレイアイテムの数を示す。フィールドNumberOfSubPathは、このブロックblkPlayList()に含まれるサブパスの数を示す。
【００８０】
次のforループ文に従い、フィールドNumberOfPlayItemsで示される数だけ、プレイアイテムが記述されるブロックblkPlayItem()が記述される。forループ文に基づくカウント数がブロックblkPlayItem()の識別子PlayItem_idとなる。さらに次のforループ文に従い、フィールドNumberOfSubPathで示される数だけ、ブロックblkSubPath()が記述される。forループ文に基づくカウント数がブロックblkSubPath()の識別子SubPath_idとなる。
【００８１】
なお、サブパスは、主として再生されるプレイアイテムに対応するメインパスに対して、サブプレイアイテムに対応して持つことができる。サブパスは、例えば、アフレコ用のオーディオデータの指定や、２枚の映像を合成する際に、プレイアイテムで指定されるクリップと同期して再生する副映像を指定するといった目的で用いられる。
【００８２】
図１３は、ブロックblkPlayItem()の一例の構造を表すシンタクスを示す。フィールドLengthは、１６ビットのデータ長を有し、このフィールドLengthの直後からブロックblkPlayItem()の最後までのデータ長を示す。
【００８３】
フィールドClipInformationFileName[0]は、４０ビット（５バイト）のデータ長を有し、このブロックblkPlayItem()が参照するクリップインフォメーションファイルのファイル名が示される。このプレイアイテムにおいて、フィールドClipInformationFileName[0]で示されるファイル名のクリップインフォメーションファイルが読み出される。フィールドClipCodecIdentifier[0]は、３２ビット（４バイト）のデータ長を有し、このブロックblkPlayItem()によるプレイアイテムにおいて用いられるクリップＡＶストリームのコーデック方式を示す。
【００８４】
１２ビットのデータ長を有する領域reservedを介して、フィールドConnectionConditionが配される。フィールドConnectionConditionは、４ビットのデータ長を有し、クリップ間の接続状態に関する情報を示す。記録用途の記録媒体に対しては、フィールドConnectionConditionの値として"１"、"５"または"６"が用いられる。フィールドConnectionConditionの値が"１"で、そのクリップと直前のクリップとがシームレス接続しないことを示し、フィールドConnectionConditionの値が"５"または"６"で、そのクリップと直前のクリップとがシームレス接続することを示す。なお、シームレス接続とは、クリップとクリップとがフレームタイミングで連続的に再生されるように、クリップ間の再生制御を行うことをいう。
【００８５】
フィールドConnectionConditionの値が"５"で、当該プレイアイテムが参照するクリップにおいて、オーディオデータの記録長がビデオデータの記録長に対して長くされる（図１４Ａ参照）。これにより、クリップとクリップとを接続する際に、オーディオデータのフェイドアウト処理が可能とされる。例えば、ユーザによる記録停止操作によりクリップがクローズされる場合に、フィールドConnectionConditionの値が"５"とされる。以下、このフィールドConnectionConditionの値が"５"で示されるクリップの接続方法を、第１のシームレス接続と呼ぶ。
【００８６】
フィールドConnectionConditionの値が"６"で、当該プレイアイテムが参照するクリップにおいて、オーディオデータの記録長がビデオデータの記録長に対して同じか若しくは短くされる（図１４Ｂ参照）。これにより、クリップとクリップとの接続をシームレスに行うことが可能とされる。例えば、ユーザ操作に応じた記録停止以外の理由、例えばシステム要因に基づきクリップがクローズされる場合に、フィールドConnectionConditionの値が"６"とされる。以下、このフィールドConnectionConditionの値が"６"で示されるクリップの接続方法を、第２のシームレス接続と呼ぶ。
【００８７】
なお、この第２のシームレス接続は、ファイルブレイク(File Break)と称され、フィールドConnectionConditionの値が"６"で以て、一続きのストリームファイルを複数のストリームファイルに分割して記録する際の境界の状態または条件が示される。
【００８８】
フィールドRefToSTCID[0]は、８ビットのデータ長を有し、ＳＴＣ(System Time Clock)の不連続点に関する情報を示す。フィールドINTimeおよびフィールドOUTTimeは、それぞれ３２ビットのデータ長を有し、メインクリップＡＶストリームの再生範囲を示す。フィールドINTimeが開始点（ＩＮ点）を示し、フィールドOUTTimeが終了点（ＯＵＴ点）を示す。
【００８９】
ブロックblkUOMaskTable()は、ユーザ入力の受付制限が設定されるテーブルである。１ビットのデータ長を有するフラグPlayItemRandomAccessFlagは、このブロックblkPlayItem()によるプレイアイテムに対してランダムアクセスを許可するか否かを規定する。続けて、７ビットのデータ長を有する領域reservedを介してフィールドStillModeが配される。フィールドStillModeは、８ビットのデータ長を有し、ブロックblkPlayItem()によるプレイアイテムにおいて、最後に表示した映像を静止画として表示させるか否かを示す。フィールドStillModeの値が"0x01"（バイナリ）であれば、if文に基づき、１６ビットのデータ長を有するフィールドStillTimeにより静止時間が示される。フィールドStillModeの値が"0x01"以外であれば、当該１６ビットのデータ長を有する領域がワードアライメントのために予約された領域reservedとされる。
【００９０】
ブロックblkSTNTable()は、このブロックblkPlayItem()によるプレイアイテムが管理しているクリップＡＶストリームの属性、ＰＩＤ番号、記録媒体上での記録位置などが管理される。
【００９１】
図１５は、ブロックblkPlayListMark()の一例の構造を表すシンタクスを示す。フィールドLengthは、３２ビットのデータ長を有し、このフィールドLengthの直後からブロックblkPlayListMark()の最後までのデータ長を示す。
【００９２】
フィールドNumberOfPlayListMarksは、１６ビットのデータ長を有し、このブロックblkPlayListMark()に含まれるプレイリストマークの数を示す。次のforループ文に従い、フィールドNumberOfPlayListMarksで示される数だけプレイリストマークの情報が記述される。それぞれのプレイリストマークは、forループ文におけるループ変数PL_mark_idによって識別される。
【００９３】
forループ文内において、８ビットのデータ長を有する領域reserveに続けてフィールドMarkTypeが配される。フィールドMarkTypeは、８ビットのデータ長を有し、マークのタイプを示す。プレイリストマークには、エントリマーク(Entry Mark)およびリンクポイント(Link Point)の２タイプが定義されており、このフィールドMarkTypeにより、何れのタイプであるかが示される。チャプタを定義するためには、エントリマークを用いる。すなわち、チャプタは、２つのプレイリストマークの間の区間として定義される。リンクポイントは、この発明と関連性が薄いので、説明を省略する。上述したフィールドNumberOfPlayListMarksは、エントリマークおよびリンクポイントを合計した値を示す。
【００９４】
フィールドRefToPlayItemIDは、１６ビットのデータ長を有し、マークが打たれるプレイアイテムを参照する識別情報PlayItem_idが記述される。フィールドMarkTimeStampは、３２ビットのデータ長を有し、マークが打たれるポイントを示すタイムスタンプが記述される。フィールドEntryESPIDは、１６ビットのデータ長を有し、マークによって指し示されるエレメンタリストリームを含んでいるＴＳパケットのＰＩＤの値を示す。フィールドDurationは、４５ｋＨｚのクロックを単位とした計測による、３２ビットのデータ長を有する符号無し整数である。このフィールドDurationに格納される値が"０"であれば、このフィールドDurationは、意味を成さない。
【００９５】
図１６は、クリップインフォメーションファイルの一例の構造を表すシンタクスを示す。フィールドTypeIndicatorは、３２ビット（４バイト）のデータ長を有し、このファイルがクリップインフォメーションファイルであることを示す。フィールドTypeIndicator2は、３２ビット（４バイト）のデータ長を有し、このクリップインフォメーションファイルのバージョンを示す。
【００９６】
このクリップインフォメーションファイルは、ブロックblkClipInfo()、ブロックblkSequenceInfo()、ブロックblkProgramInfo()、ブロックblkCPI()、ブロックblkClipMark()およびブロックblkExtensionData()を有し、それぞれ３２ビットのデータ長を有するフィールドSequenceInfoStartAddress、フィールドProgramInfoStartAddress、フィールドCPIStartAddress、フィールドClipMarkStartAddressおよびフィールドExtensionDataStartAddressは、各々対応するブロックの開始アドレスを示す。
【００９７】
フィールドExtensionDataStartAddressは、このクリップインフォメーションファイルの最初のバイトからの相対バイト数で、ブロックblkExtensionData()の開始アドレスを示す。相対バイト数は、"０"から開始される。若し、このフィールドExtensionDataStartAddressの値が"０"であれば、このファイル"index.bdmv"内に、ブロックblkExtensionData()が存在しないことを示す。
【００９８】
ブロックblkClipInfo()は、これらの開始アドレスを示すフィールドに続く、９６ビットのデータ長を有する領域reservedの次から開始される。ブロックblkClipInfo()は、このクリップインフォメーションファイルが管理するクリップＡＶストリームに関する情報が記述される。ブロックblkSequenceInfo()は、ＳＴＣやＡＴＣ（アライバルタイムベース）が連続しているシーケンスをまとまりとして管理する情報が記述される。ブロックblkProgramInfo()は、このクリップインフォメーションファイルに管理されるクリップＡＶストリームの符号化方式、クリップＡＶストリーム中のビデオデータのアスペクト比などの情報が記述される。ブロックblkClipMark()は、チャプタ位置などの、クリップに付された頭出しのためのインデックス点（ジャンプポイント）が記述される。ブロックblkCPI()は、ランダムアクセス開始点などの、ＡＶストリーム中の特徴的な箇所を表す特徴点情報ＣＰＩに関する情報が格納される。
【００９９】
図１７は、ブロックblkClipInfo()の一例の構造を表すシンタクスを示す。フィールドLengthは、３２ビットのデータ長を有し、このフィールドLengthの直後からブロックblkClipInfo()の最後までのデータ長を示す。１６ビットのデータ長を有する領域reservedを介して、フィールドClipStreamTypeが配される。
【０１００】
フィールドClipStreamTypeは、８ビットのデータ長を有し、クリップＡＶストリームの種別を表す。このフィールドClipStreamTypeの値は、例えば"１"に固定的とされる。フィールドApplicationTypeは、８ビットのデータ長を有し、クリップＡＶストリーム（拡張子が「m2ts」のファイル）がどのような多重化によって作られているかを示す。フィールドApplicationTypeの値が"１"で、対応するクリップＡＶストリームは、通常の動画が再生される。続けて３１ビットのデータ長を有する領域reservedが配される。
【０１０１】
データ長が１ビットのフラグIsCC5は、プレイリストにおけるブロックblkPlayItem()によって、対応するクリップと次のクリップとの接続を、上述した第１のシームレス接続、すなわちフィールドConnectionConditionの値が"５"で示される方法で行うか否かを示す。フラグIsCC5の値が"１"（バイナリ値）であれば、クリップ間の接続が第１のシームレス接続によりなされていることを示す。
【０１０２】
フィールドTSRecordingRateは、クリップＡＶストリームファイルの記録レートをバイト／秒で表したものである。フィールドNumberOfSourcePacketsは、クリップＡＶストリームに含まれるパケット数を表す。システムにより予約された１０２４ビットのデータ長の領域reservedを介してブロックTSTypeInfoBlock()が配される。ブロックTSTypeInfoBlock()は、クリップＡＶストリームが格納されるパケットのタイプを示す情報が格納される。このブロックTSTypeInfoBlock()は、この発明との関連性が薄いので、詳細な説明を省略する。
【０１０３】
次のif文以下の情報は、上述のフラグIsCC5の値が"１"、すなわち、対応するクリップと次のクリップとの接続を第１のシームレス接続で行うとされた場合に記述される。if文の次の８ビットのデータ長を有する領域reservedを介してフィールドFollowingClipStreamTypeが配されるフィールドFollowingClipStreamTypeは、８ビットのデータ長を有し、このクリップインフォメーションファイルに対応するクリップの次のクリップのタイプが記述される。８ビットのデータ長を有する領域reservedを介してフィールドFollowingClipInformationFileNameが配される。
【０１０４】
フィールドFollowingClipInformationFileNameは、４０ビット（５バイト）のデータ長を有し、このクリップインフォメーションファイルに対応するクリップの次のクリップに対応するクリップインフォメーションファイルのファイル名が記述される。次のフィールドClipCodecIdentifierは、３２ビット（４バイト）のデータ長を有し、当該次のクリップの符号化方式を示す。この例では、フィールドClipCodecIdentifierは、ＩＳＯ６４６に既定の方式で符号化された４文字の文字列値"M2TS"に固定的とされる。次に８ビットのデータ長を有する領域reservedが配される。
【０１０５】
図１８は、クリップインフォメーションファイルにおけるブロックblkCPI()の一例の構造を表すシンタクスを示す。ＭＰＥＧストリームのような、フレーム間圧縮を行っている符号化ストリームにおいては、デコード開始可能な箇所は、ＧＯＰ(Group Of Picture)の先頭など一部の箇所に限定されていることが多い。ＣＰＩ(Characteristic Point Information)とは、そのデコード可能な開始点の位置の情報を集めたデータベースで、再生時刻と、ファイル内アドレスとが対応付けられたテーブルになっている。すなわち、ＣＰＩは、デコード単位の先頭位置を示す情報がテーブル化されている。
【０１０６】
このようにデータベースを定めることで、例えば、任意の時刻から再生したい場合、再生時刻を元にＣＰＩを参照することによって再生位置のファイル内アドレスがわかる。このアドレスは、デコード単位の先頭となっているため、プレーヤは、そこからデータを読み出してデコードし、素早く画像を表示することができる。
【０１０７】
なお、このＣＰＩに格納される、デコード単位の先頭位置（この例ではＧＯＰの先頭位置）を、ＥＰ(Entry Point)エントリと称する。
【０１０８】
図１８において、フィールドLengthは、３２ビットのデータ長を有し、このフィールドLengthの直後からブロックblkCPI()の最後までのデータ長を示す。次のif文に従い、フィールドLengthの値が０でなければ、１２ビットのデータ長を有する領域reservedを介してフィールドCPITypeが配される。フィールドCPITypeは、４ビットのデータ長を有し、ＣＰＩの種類を示す。次のブロックblkEPMap()は、対応するクリップＡＶストリームファイルにおけるＰＴＳ値とバイトアドレスとの関連付けを行うテーブルが格納される。
【０１０９】
図１９は、ブロックblkEPMap()の一例の構造を表すシンタクスを示す。８ビットのデータ長を有する領域reservedを介してフィールドNumberOfStreamPIDEntriesが配される。フィールドNumberOfStreamPIDEntriesは、８ビットのデータ長を有し、ブロックblkEPMap()におけるブロックblkEPMapForOneStreamPIDのエントリ数を示す。第１のforループ文に従い、値[k]をループ変数として、フィールドNumberOfStreamPIDEntriesに示される数だけ、エントリポイントに関する情報が記述される。
【０１１０】
第１のforループ文内において、フィールドStreamPID[k]は、１６ビットのデータ長を有し、ブロックblkEPMap()の中で[k]番目にエントリされるブロックblkEPMapForOneStreamPID（以下、[k]番目のブロックblkEPMapForOneStreamPIDと記述する）によって参照されるエレメンタリストリームを伝送するトランスポートパケットのＰＩＤの値を示す。
【０１１１】
１０ビットのデータ長を有する領域reservedを介してフィールドEPStreamType[k]が配される。フィールドEPStreamType[k]は、４ビットのデータ長を有し、[k]番目のブロックblkEPMapForOneStreamPIDによって参照されるエレメンタリストリームのタイプを示す。フィールドNumberOfEPCoarseEntries[k]は、１６ビットのデータ長を有し、[k]番目のブロックblkEPMapForOneStreamPIDの中にある粗い検索用のサブテーブル(EP coarse table)のエントリ数を示す。フィールドNumberOfEPFineEntries[k]は、１８ビットのデータ長を有し、[k]番目のブロックblkEPMapForOneStreamPIDの中にある精密な検索用のサブテーブル(EP fine table)のエントリ数を示す。フィールドEPMapForOneStreamPIDStartAddress[k]は、３２ビットのデータ長を有し、ブロックblkEPMap()の中で[k]番目のブロックblkEPMapForOneStreamPIDが始まる相対バイト位置を示す。この値は、ブロックblkEPMap()の第１バイト目からのバイト数で示される。
【０１１２】
上述の第１のforループ文による記述の後、１６ビットの整数倍のデータ長を有するパディングワード（第２のforループ文）を挟んで記述される第３のforループ文に従い、値[k]をループ変数として、フィールドNumberOfStreamPIDEntriesに示される数だけ、ブロックblkEPMapForOneStreamPID(EPStreamType[k], NumberOfEPCoarseEntries[k], NumberOfEPFineEntries[k])が格納される。すなわち、引数NumberOfEPCoarseEntries[k]は、サブテーブル(EP coarse table)に格納されるエントリPTSEPCoarseおよびエントリSPNEPCoarseの数を示す。同様に、引数NumberOfEPFineEntries[k]は、サブテーブル(EP fine table)に格納されるエントリPTSEPFineおよびエントリSPNEPFineの数を示す。以下では、引数NumberOfEPCoarseEntries[k]および引数NumberOfEPFineEntries[k]を、それぞれ適宜、エントリ数Ncおよびエントリ数Nfと呼ぶ。
【０１１３】
図２０は、ブロックblkEPMapForOneStreamPID(EP_stream_type, Nc, Nf)の一例の構造を表すシンタクスを示す。ブロックblkEPMapForOneStreamPID(EP_stream_type, Nc, Nf)のセマンティクスを説明するために、先ず、ブロックblkEPMapForOneStreamPID(EP_stream_type, Nc, Nf)に格納されるデータの元となるエントリである、エントリPTSEPStartおよびエントリSPNEPStartの意味について説明する。
【０１１４】
エントリPTSEPStartと、エントリPTSEPStartに関連付けられたエントリSPNEPStartは、それぞれＡＶストリーム上のエントリポイントを指す。そして、エントリPTSEPFineと、エントリPTSEPFineに関連付けられたエントリPTSEPCoarseは、同一のエントリPTSEPStartから導かれる。また、エントリSPNEPFineと、エントリSPNEPFineに関連付けられたエントリSPNEPCoarseは、同一のエントリSPNEPStartから導かれる。
【０１１５】
図２１は、エントリPTSEPCoarseおよびエントリPTSEPFineの一例のフォーマットについて示す。ＰＴＳすなわちエントリPTSEPStartは、データ長が３３ビットの値である。ＭＳＢのビットを第３２ビット、ＬＳＢのビットを第０ビットとするとき、この図２１の例では、大まかな単位で検索を行う際に用いられるエントリPTSEPCoarseは、エントリPTSEPStartの第３２ビットから第１９ビットまでの１４ビットが用いられる。エントリPTSEPCoarseにより、解像度が５．８秒で、２６．５時間までの範囲で検索が可能である。また、より精密な検索を行うためのエントリPTSEPFineは、エントリPTSEPStartの第１９ビットから第９ビットまでの１１ビットが用いられる。エントリPTSEPFineにより、解像度が５．７ミリ秒で、１１．５秒までの範囲で検索が可能である。なお、第１９ビットは、エントリPTSEPCoarseとエントリPTSEPFineとで共通して用いられる。また、ＬＳＢ側の第０ビットから第８ビットまでの９ビットは、用いられない。
【０１１６】
図２２は、エントリSPNEPCoarseおよびエントリSPNEPFineの一例のフォーマットについて示す。ソースパケット番号すなわちエントリSPNEPStartは、データ長が３２ビットの値である。ＭＳＢのビットを第３１ビット、ＬＳＢのビットを第０ビットとするとき、この図２２の例では、大まかな単位で検索を行う際に用いられるエントリSPNEPCoarseは、エントリSPNEPStartの第３１ビットから第０ビットまでの全てのビットが用いられる。また、より精密な検索を行うためのエントリSPNEPFineは、エントリSPNEPStartの第１６ビットから第０ビットまでの１７ビットが用いられる。エントリSPNEPFineにより、例えば略２５ＭＢ(Mega Byte)のＡＶストリームファイルまでの範囲で、検索が可能である。
【０１１７】
なお、ソースパケット番号の場合でも、エントリSPNEPCoarseとしてＭＳＢ側の所定ビット数の値だけ用いるようにしてもよい。例えば、エントリSPNEPCoarseとして、エントリSPNEPStartの第３１ビットから第１６ビットまでの１７ビットを用い、エントリSPNEPFineは、エントリSPNEPStartの第１６ビットから第０ビットまでの１７ビットを用いる。
【０１１８】
上述に基づき、エントリPTSEPStartおよびエントリSPNEPStartは、次のように定義される。
【０１１９】
エントリPTSEPStartは、図２１で示したように、データ長が３３ビットの符号無し整数であり、ＡＶストリーム中で、ランダムアクセスが可能なピクチャ（例えばＩＤＲ(Instantaneous Decoding Refresh)ピクチャやＩ(Intra)ピクチャ）から開始するビデオアクセスユニットの３３ビット長のＰＴＳを示す。
【０１２０】
エントリSPNEPStartは、図２２で示したように、３２ビットの符号無し整数であり、エントリPTSEPStartに関連付けられたビデオアクセスユニットの第１バイト目を含むソースパケットの、ＡＶストリームの中でのアドレスを示す。エントリSPNEPStartは、ソースパケット番号の単位で表され、ＡＶストリームファイル中の最初のソースパケットから、値"０"を初期値として、ソースパケット毎に１ずつ増加する値としてカウントされる。
【０１２１】
図２０を参照し、ブロックblkEPMapForOneStreamPID(EP_stream_type, Nc, Nf)は、第１のforループ文により大まかな単位での検索を行うためのサブテーブル(EP coarse table)が記述され、第２のforループ文によりサブテーブル(EP coarse table)の検索結果に基づきより詳細な検索を行うためのサブテーブル(EP fine table)が記述される。
【０１２２】
第１のforループ文の直前に、フィールドEPFineTableStartAddressが配される。フィールドEPFineTableStartAddressは、３２ビットのデータ長を有し、最初の第２のforループにおけるフィールドReservedEPFine[EP_fine_id]の第１バイト目の開始アドレスを、ブロックblkEPMapForOneStreamPID(EP_stream_type, Nc, Nf)の第１バイト目からの相対バイト数で示す。相対バイト数は、値"０"から開始する。
【０１２３】
第１のforループ文は、ループ変数[i]で以て、サブテーブル(EP coarse table)のエントリ数Ncまで繰り返され、エントリ数Ncの組数だけフィールドRefToEPFineID[i]、エントリPTSEPCoarse[i]およびエントリSPNEPCoarse[i]が格納される。第１のforループ文において、フィールドRefToEPFineID[i]は、１８ビットのデータ長を有し、フィールドRefToEPFineID[i]に続くフィールドPTSEPCoarse[i]が示すエントリPTSEPCoarseに関連付けられるエントリPTSEPFineを持つ、サブテーブル(EP fine table)内のエントリ番号を示す。エントリPTSEPFineと、このエントリPTSEPFineに関連付けられるエントリPTSEPCoarseとは、同一のエントリPTSEPStartから導かれる。フィールドRefToEPFineID[i]は、第２のforループ文中で記述される順番で定義されるループ変数[EP_fine_id]の値により与えられる。
【０１２４】
第１のforループ文の後に、パディングワードを挟んで第２のforループ文による記述がなされる。第２のforループ文は、ループ変数[EP_fine_id]で以て、サブテーブル(EP fine table)のエントリ数Nfまで繰り返され、エントリ数Nfの組数だけ、１ビットのデータ長を有するフィールドReservedEPFine[EP_fine_id]と、３ビットのデータ長を有するフィールドIEndPositionOffset[EP_fine_id]と、１１ビットのデータ長を有するフィールドPTSEPFine[EP_fine_id]と、１７ビットのデータ長を有するフィールドSPNEPFine[EP_fine_id]とが格納される。これらのうち、フィールドPTSEPFine[EP_fine_id]およびフィールドSPNEPFine[EP_fine_id]は、ループ変数[EP_fine_id]に基づきサブテーブル(EP fine table)から参照されるエントリPTSEPFineおよびエントリSPNEPFineそれぞれが格納される。
【０１２５】
エントリPTSEPCoarseおよびエントリPTSEPFine、ならびに、エントリSPNEPCoarseおよびエントリSPNEPFineは、次のように導かれる。サブテーブル(EP fine table)に、関連するデータSPNEPStartの値の昇順に並んでいるNf個のエントリがあるとする。それぞれのエントリPTSEPFineは、対応するエントリPTSEPStartから、次式（１）のように導かれる。
PTSEPFine[EP_fine_id]＝（PTSEPStart[EP_fine_id] >>９）／２11  ・・（１）
【０１２６】
エントリPTSEPCoarseと、対応するエントリPTSEPFineとの関係は、次式（２）、（３）の通りである。
PTSEPCoarse[i]＝（PTSEPStart[RefToEPFineID[i]] >>１９）／２14  ・・（２）
PTSEPFine[RefToEPFineID[i]]＝（PTSEPStart[RefToEPFineID[i]] >>９）／２11  ・・（３）
【０１２７】
それぞれのエントリSPNEPFineは、対応するエントリSPNEPStartから、次式（４）のように導かれる。
SPNEPFine[EP_fine_id]＝SPNEPStart[EP_fine_id]／２17  ・・（４）
【０１２８】
エントリSPNEPCoarseと、対応するエントリSPNEPFineとの関係は、次式（５）、（６）の通りである。
SPNEPCoarse[i]＝SPNEPStart[RefToEPFineID[i]]  ・・（５）
SPNEPFine[RefToEPFineID[i]]＝SPNEPStart[RefToEPFineID[i]]／２17  ・・（６）
【０１２９】
なお、上述の式（１）〜（６）において、記号「>>ｘ」は、データのＬＳＢ側からｘビットを超える桁からビットを用いることを意味する。
【０１３０】
１−４．仮想プレーヤについて
次に、仮想プレーヤについて、概略的に説明する。上述したようなデータ構造を有するディスクがプレーヤに装填されると、プレーヤは、ディスクから読み出されたムービーオブジェクトなどに記述されたコマンドを、プレーヤ内部のハードウェアを制御するための固有のコマンドに変換する必要がある。プレーヤは、このような変換を行うためのソフトウェアを、プレーヤに内蔵されるＲＯＭ(Read Only Memory)に予め記憶している。このソフトウェアは、ディスクとプレーヤを仲介してプレーヤにＡＶＣＨＤフォーマットの規定に従った動作をさせることから、仮想プレーヤと称される。
【０１３１】
図２３は、この仮想プレーヤの動作を概略的に示す。図２３Ａは、ディスクのローディング時の動作の例を示す。ディスクがプレーヤに装填されディスクに対するイニシャルアクセスがなされると（ステップＳ３０）、１のディスクにおいて共有的に用いられる共有パラメータが記憶されるレジスタが初期化される（ステップＳ３１）。そして、次のステップＳ３２で、ムービーオブジェクトなどに記述されたプログラムがディスクから読み込まれて実行される。なお、イニシャルアクセスは、ディスク装填時のように、ディスクの再生が初めて行われることをいう。
【０１３２】
図２３Ｂは、プレーヤが停止状態からユーザにより例えばプレイキーが押下され再生が指示された場合の動作の例を示す。最初の停止状態（ステップＳ４０）に対して、ユーザにより、例えばリモートコントロールコマンダなどを用いて再生が指示される（ＵＯ：User Operation）。再生が指示されると、先ず、レジスタすなわち共通パラメータが初期化され（ステップＳ４１）、次のステップＳ４２で、ムービーオブジェクト実行フェイズに移行する。
【０１３３】
ムービーオブジェクトの実行フェイズにおけるプレイリストの再生について、図２４を用いて説明する。ＵＯなどにより、タイトル番号＃１のコンテンツを再生開始する指示があった場合について考える。プレーヤは、コンテンツの再生開始指示に応じて、上述した図２に示されるインデックステーブル(Index Table)を参照し、タイトル＃１のコンテンツ再生に対応するオブジェクトの番号を取得する。例えばタイトル＃１のコンテンツ再生を実現するオブジェクトの番号が＃１であったとすると、プレーヤは、ムービーオブジェクト＃１の実行を開始する。
【０１３４】
この図２４の例では、ムービーオブジェクト＃１に記述されたプログラムは２行からなり、１行目のコマンドが"Play PlayList(1)"であるとすると、プレーヤは、プレイリスト＃１の再生を開始する。プレイリスト＃１は、１以上のプレイアイテムから構成され、プレイアイテムが順次再生される。プレイリスト＃１中のプレイアイテムの再生が終了すると、ムービーオブジェクト＃１の実行に戻り、２行目のコマンドが実行される。図２４の例では、２行目のコマンドが"jump MenuTitle"であって、このコマンドが実行されインデックステーブルに記述されたメニュータイトル(MenuTitle)を実現するムービーオブジェクトの実行が開始される。
【０１３５】
２．発明に適用可能な記録装置について
次に、この発明に適用可能な記録装置について説明する。図２５は、この発明に適用可能な記録再生装置１００の一例の構成を示す。この図２５に例示される記録再生装置１００は、外部から入力されるビデオデータおよびオーディオデータを記録媒体に記録し、記録媒体に記録されたビデオデータおよびオーディオデータを再生するように構成されている。
【０１３６】
適用可能な圧縮符号化や多重化の方式としては、様々に考えられる。例えば、Ｈ．２６４｜ＡＶＣに規定される方式を、この発明の実施の一形態の圧縮符号化として適用することができる。また、多重化方式は、例えばＭＰＥＧ２システムズが適用される。
【０１３７】
制御部３０は、例えば図示されないＣＰＵ(Central Processing Unit)上で動作するプログラムであって、ＣＰＵに接続されるＲＯＭ(Read Only Memory)に予め記憶されたプログラムやデータに基づき、同じくＣＰＵに接続されるＲＡＭ(Random Access Memory)をワークメモリとして用いてこの記録再生装置の記録再生部５０の各部を制御する。なお、制御部３０と記録再生部５０の各部とを接続する経路は、繁雑さを避けるために、図２５では省略している。
【０１３８】
制御部３０上で動作するプログラムにより、この記録再生装置で用いられるファイルシステムが提供される。例えば、制御部３０は、このファイルシステムに基づき、後述する各記録媒体にデータが記録される際の、記録媒体の物理的なアドレスと当該データが格納されるファイルとの関連付けを行うと共に、各データが格納されるファイルの論理的な管理情報を生成する。上述した図５および図６に示すディレクトリ構造は、ファイルの論理的な管理情報の一例である。新規ファイルの作成やファイルオープン、クローズは、ファイルシステム基づき制御部３０により制御される。
【０１３９】
ＵＩ(User Interface)部３１は、この記録装置の動作をユーザが操作するための操作子が所定に設けられ、操作子に対する操作に応じた制御信号を出力する。この制御信号は、制御部３０に供給される。制御部３０は、ユーザ操作に応じてＵＩ部３１から供給された制御信号に基づきなされるプログラムの処理により、記録再生部５０の各部の動作を制御する。また、ＵＩ部３１は、簡易的な表示部を有し、所定の表示、例えばダビングを行うチャプタを示す情報などを表示することができるようになっている。
【０１４０】
例えば、ＵＩ部３１に対してなされた操作に応じて、記録再生装置によるハードディスク２１に対してデータを記録する動作の開始および停止の動作や、ハードディスク２１からデータを再生する再生動作が制御部３０により制御される。また例えば、ＵＩ部３１に対してなされた操作に応じて、クリップに対してマークが打たれ、チャプタが設定される。
【０１４１】
信号処理部１０は、ビデオコーデック部１１、オーディオコーデック部１２、マルチプレクサ１３およびデマルチプレクサ１４とを含む。ビデオコーデック部１１は、入力されたベースバンドのビデオデータを圧縮符号化して出力するビデオエンコード部と、圧縮符号化されて入力された圧縮ビデオデータを復号化してベースバンドのビデオデータとして出力するビデオデコード部とを有する。また、ビデオコーデック部１１は、複数フレームのビデオデータを格納可能なバッファメモリを有する。このバッファメモリは、ビデオエンコード部およびビデオデコード部とで共用して用いられる。
【０１４２】
ビデオエンコード部は、端子４０から供給されたベースバンドのディジタルビデオデータをバッファメモリに溜め込んで、所定の方式で以て圧縮符号化する。Ｈ．２６４｜ＡＶＣに規定される方式に準じて圧縮符号化がなされるこの例では、例えば、ＤＣＴ(Discrete Cosine Transform)と画面内予測とによりフレーム内圧縮を行うと共に、動きベクトルを用いたフレーム間圧縮を行い、さらにエントロピー符号化を行い圧縮効率を高める。ビデオエンコード部で圧縮符号化されたディジタルビデオデータは、Ｈ．２６４｜ＡＶＣエレメンタリストリーム（ＥＳ）として出力される。
【０１４３】
ビデオデコード部は、供給された圧縮ビデオデータをバッファメモリに溜め込んで、圧縮符号化方式に対応した復号化方式でデコードし、ベースバンドのディジタルビデオデータとして出力する。例えば、ビデオエンコード部がＨ．２６４｜ＡＶＣに規定される方式に準じて圧縮符号化を行うこの例では、ビデオデコード部もビデオエンコード部に対応して、Ｈ．２６４｜ＡＶＣに規定される方式に準じてデコード処理を行う。ビデオデコード部は、後述するデマルチプレクサ１４で抽出される、ＤＴＳ(Decoding Time Stamp)およびＰＴＳ(Presentation Time Stamp)で示される時刻に基づき、デコードおよび出力を行うことができる。ビデオデコード部でデコードされて得られたベースバンドのディジタルビデオデータは、端子４１から出力される。
【０１４４】
オーディオコーデック部１２は、入力されたベースバンドのオーディオデータを圧縮符号化して出力するオーディオエンコード部と、圧縮符号化されて入力された圧縮オーディオデータを復号化してベースバンドのオーディオデータとして出力するオーディオデコード部とを有する。
【０１４５】
オーディオエンコード部は、端子４２から供給されたベースバンドのディジタルオーディオデータを所定の圧縮符号化方式、例えばドルビーディジタル方式により圧縮符号化する。オーディオデータの圧縮符号化方式は、ドルビーディジタル方式に限られるものではない。オーディオデータを圧縮符号化せず、ベースバンドのデータのまま用いることも考えられる。オーディオデコード部は、供給された圧縮オーディオデータを圧縮符号化方式に対応した復号化方式でデコードし、ベースバンドのオーディオデータとして出力する。オーディオエンコード部がドルビーディジタル方式により圧縮符号化されるこの例では、オーディオデコード部もオーディオエンコード部に対応して、ドルビーディジタル方式に準じた復号化方式でデコードがなされる。デコードされたオーディオデータは、ビデオコーデック部１１のビデオデコード部から出力されるビデオデータと同期的に、端子４３から出力される。
【０１４６】
マルチプレクサ１３は、例えば、ＭＰＥＧ２システムズに準じて多重化が行われるこの例では、ＭＰＥＧ２のトランスポートストリームを用いて、供給された圧縮ビデオデータおよび圧縮オーディオデータを時分割で多重化する。例えば、マルチプレクサ１３は、バッファメモリを有し、供給された圧縮ビデオデータおよび圧縮オーディオデータを一旦バッファメモリに格納する。バッファメモリに格納された圧縮ビデオデータは、所定サイズ毎に分割されヘッダが付加されて、ＰＥＳ(Packetized Elementary Stream)パケット化される。圧縮オーディオデータも同様に、所定サイズ毎に分割されヘッダが付加されてＰＥＳパケット化される。ヘッダには、パケットに格納されるデータの再生時刻を示すＰＴＳや復号時刻を示すＤＴＳといった、ＭＰＥＧ２システムズに規定される所定の情報が格納される。ＰＥＳパケットは、さらに分割されて固定長のトランスポートパケット（ＴＳパケット）のペイロードに詰め込まれる。ＴＳパケットのヘッダには、ペイロードに詰め込まれたデータ種別などを識別するためのＰＩＤ(Packet Identification)が格納される。ＴＳパケットに対してさらに所定データ長のヘッダが付加され、ソースパケットが形成される。
【０１４７】
デマルチプレクサ１４は、マルチプレクサ１３と逆の処理を行い、パケットから圧縮ビデオデータおよび圧縮オーディオデータを抽出する。例えば、供給されたソースパケットからヘッダを分離してＴＳパケットとし、ＴＳパケットのヘッダからＰＩＤを検出し、ＴＳパケットをペイロードに格納されるデータ種別毎に振り分ける。そして、振り分けられたＴＳパケットのそれぞれについて、ペイロードに格納されたデータを取り出し、ＰＥＳパケットを再構築する。さらに、ＰＥＳパケットのペイロードに格納された圧縮ビデオデータや圧縮オーディオデータを取り出し、ＰＥＳヘッダに格納された情報などに基づきヘッダ情報などを付加し、それぞれ１本のエレメンタリストリームとして出力する。
【０１４８】
ストリームバッファ１５は、マルチプレクサ１３（記録時）または記録再生制御部２０（再生時）から供給されたソースパケットを一時的に格納する。ストリームバッファ１５に対するソースパケットの読み書きのタイミングを所定に制御することで、後述する各記録媒体に対するアクセス速度と、オーディオおよびビデオデータのエンコードやデコードなどの信号処理速度との間の整合性をとる。
【０１４９】
記録再生制御部２０は、複数の記録媒体に対するデータの記録および再生を制御する。この図２５の例では、記録再生制御部２０に対して固定的にハードディスク２１が接続される。さらに、記録再生制御部２０は、記録可能なタイプのＤＶＤ２３（以下、ＤＶＤ２３と略称する）に対する記録再生に対応するドライブ装置２２が接続されると共に、記憶内容が書き換え可能で、且つ、記憶内容が不揮発性の、脱着可能なメモリ２４が装着可能とされている。記録再生制御部２０は、例えば制御部３０といった上位からの命令に基づき、指定された記録媒体について、指定されたアドレスに対するデータの書き込みや、指定されたアドレスからのデータの読み出しを行う。
【０１５０】
なお、ここでは、記録再生成制御部１６にハードディスク２１と、ドライブ装置２２と、メモリ２４とが接続されるように説明したが、これはこの例に限定されない。ハードディスク２１、ドライブ装置２２およびメモリ２４のうち何れか１つが省略されていてもよい。また、ドライブ装置２２を複数台接続するようにしてもよいし、同様に複数のメモリ２４を同時に装着可能としてもよい。さらに、上述ではドライブ装置２２が記録可能なタイプのＤＶＤに対応するものとして説明したが、これはこの例に限定されず、例えばより大容量を実現したＢｌｕ−ｒａｙ  Ｄｉｓｃ（ブルーレイディスク：登録商標）に対応するようにしてもよい。
【０１５１】
なお、脱着可能な記録媒体であるＤＶＤ２３や、メモリ２４は、少なくとも排出動作は、制御部３０の制御に基づきなされる。例えば、ＵＩ部３１や、記録再生装置の筐体の他の部分に設けられたイジェクトボタンの操作に応じて、制御部３０によりドライブ装置２２やメモリ２４の排出機構（図示しない）が制御され、記録媒体が排出される。
【０１５２】
管理情報処理部１６は、上述したインデックスファイル（"index.bdmv"）、ムービーオブジェクトファイル（"MovieObject.bdmv"）、プレイリストファイル（"xxxxx.mpls"）およびクリップインフォメーションファイル（"zzzzz.clpi"）に関する処理を行う。
【０１５３】
管理情報処理部１６は、例えば、上述した制御部３０と共に、ＣＰＵ上で動作するプログラムにより機能が実現される。勿論、管理情報処理部１６を制御部３０とは異なるハードウェアで構成することも可能である。管理情報処理部１６が制御部３０上で動作するプログラムで実現される場合、制御部３０および管理情報処理部１６を構成するＣＰＵに接続されるＲＡＭが、メモリ１７に対応する。
【０１５４】
このような構成を有する記録再生装置における、記録時の動作について説明する。なお、ここでは、端子４０および４２から供給されたビデオデータおよびオーディオデータを、ハードディスク２１に記録するものとして説明する。
【０１５５】
ベースバンドのビデオデータが端子４０から記録再生部５０に入力され、信号処理部１０に供給される。そして、このビデオデータは、ビデオコーデック部１１内のビデオエンコード部に供給される。例えば制御部３０による記録開始の命令に応じて、ビデオエンコード部は、供給されたビデオデータの圧縮符号化を開始する。ビデオエンコード部は、ベースバンドのディジタルビデオデータを圧縮符号化してＨ．２６４｜ＡＶＣのエレメンタリストリーム（ＥＳ）として出力する。このエレメンタリストリームは、マルチプレクサ１３に供給される。
【０１５６】
ベースバンドのオーディオデータが端子４２から記録再生部５０に入力され、信号処理部１０に供給される。そして、このオーディオデータは、オーディオコーデック部１２内のオーディオエンコード部に供給される。オーディオエンコード部は、上述の制御部３０による記録開始命令に応じて、供給されたオーディオデータの圧縮符号化を開始する。オーディオエンコード部で圧縮符号化されたオーディオデータは、マルチプレクサ１３に供給される。
【０１５７】
マルチプレクサ１３は、それぞれ圧縮符号化されて供給されたディジタルビデオデータおよびディジタルオーディオデータを所定の方式で多重化し、１本のデータストリームとして出力する。例えば、マルチプレクサ１３は、バッファメモリを有し、供給された圧縮ビデオデータおよび圧縮オーディオデータを一旦バッファメモリに格納する。
【０１５８】
バッファメモリに格納された圧縮ビデオデータは、所定構造毎に分割されヘッダが付加されて、ＰＥＳパケット化される。圧縮オーディオデータも同様に、所定サイズ毎に分割されヘッダが付加されてＰＥＳパケット化される。ヘッダには、ＰＴＳやＤＴＳといった、ＭＰＥＧ２システムズに規定される所定の情報が格納される。ＰＥＳパケットは、さらに分割されてトランスポートパケット（ＴＳパケット）のペイロードに詰め込まれ、ペイロードに詰め込まれたデータを識別するためのＰＩＤがヘッダに格納される。ＴＳパケットに対して、ソースパケットを識別するためのソースパケット番号などが格納される所定長のヘッダがさらに付加され、ソースパケットが形成される。マルチプレクサ１３から出力されたソースパケットは、ストリームバッファ１５に一旦溜め込まれる。
【０１５９】
記録再生制御部２０は、ストリームバッファ１５に溜め込まれたデータのデータ量を監視し、ストリームバッファ１５に所定量以上のデータが溜め込まれると、ストリームバッファ１５からハードディスク２１の記録単位毎にデータを読み出してハードディスク２１に書き込む。
【０１６０】
管理情報処理部１６は、記録データに基づき、メモリ１７をワークメモリとして用いて、管理情報、すなわち上述したインデックスファイル、ムービーオブジェクトファイル、プレイリストファイルおよびクリップインフォメーションファイルに格納するための情報を生成する。
【０１６１】
一例として、管理情報処理部１６は、制御部３０の制御に従い、制御部３０、マルチプレクサ１３および記録再生制御部２０から供給される情報に基づき、メモリ１７をワークメモリとして用いながら、記録中のクリップＡＶストリームファイルに対応するクリップ情報を生成する。クリップ情報は、換言すれば、クリップインフォメーションファイルを作成するために必要な情報である。生成された情報は、メモリ１７上に保持される。
【０１６２】
ここで、クリップインフォメーションファイルに格納される情報のうちブロックblkCPI()内のＥＰエントリは、記録に対して動的な情報であって、記録の経過に伴い順次、生成される情報である。管理情報処理部１６は、マルチプレクサ１３から、ビデオアクセスユニットのＰＴＳと、ビデオアクセスユニットの第１バイト目を含むソースパケットのソースパケット番号とを取得し、揮発性メモリ１７をワークメモリとして用いてエントリPTSEPStartおよびエントリSPNEPStartを生成する。生成されたエントリPTSEPStartおよびエントリSPNEPStartは、メモリ１７上に保持される。
【０１６３】
この記録再生装置１００が記録開始に伴い記録開始位置にプレイリストマークを設けるようにされている場合、ＵＩ部３１に対する記録開始操作に応じて生成される先頭のフレームに対応する再生時刻をフィールドMarkTimeStampの値として持つプレイリストマークが、管理情報処理部１６において作成される。作成されたプレイリストマークは、揮発性メモリ１７上のプレイリストファイルに格納される情報に対して追加され保持される。
【０１６４】
メモリ１７に記憶された管理情報は、所定のタイミングでハードディスク２１に書き込まれる。例えば、ＵＩ部３１に対する記録終了操作に応じて、メモリ１７に記憶された管理情報がハードディスク２１に書き込まれる。また、メモリ１７に記憶された管理情報のハードディスク２１への書き出しを、電源ＯＦＦ操作時にも行うようにできる。
【０１６５】
再生時の動作について説明する。ここでは、上述のようにしてハードディスク２１に記録されたクリップを再生する場合について説明する。例えば、記録再生装置１００の電源がＯＮとされると、ハードディスク２１から、インデックスファイル、ムービーオブジェクトファイルが読み込まれ、管理情報処理部１６に渡される。管理情報処理部１６は、これらのファイルに格納される情報を、メモリ１７に記憶する。
【０１６６】
制御部３０は、管理情報処理部１６からメモリ１７に記憶された情報を取得し、取得された情報に基づき、例えば、ＵＩ部３１が有する表示部に対してハードディスク２１に記録されているクリップに関する情報を表示させる。ユーザは、この表示に基づきＵＩ部３１に対して所定の操作を行うことで、ハードディスク２１に記録されているクリップの再生を指示することができる。
【０１６７】
制御部３０は、ＵＩ部３１に対する操作に応じて管理情報処理部１６および記録再生制御部２０を制御し、メモリ１７に記憶されているインデックスファイルの情報を参照してムービーオブジェクトファイルに記述されるコマンドを呼び出し、コマンドに記述されるプレイリストファイルをハードディスク２１から読み出す。そして、読み出されたプレイリストファイルに基づき当該プレイリストファイルに格納されるプレイアイテムに参照されるクリップインフォメーションファイルをハードディスク２１から読み出す。ハードディスク２１から読み出されたこれらプレイリストファイルおよびクリップインフォメーションファイルに格納される情報は、メモリ１７に記憶される。
【０１６８】
制御部３０は、メモリ１７上に記憶されたクリップインフォメーションファイルに基づき、対応するクリップＡＶストリームファイルを読み出すように命令を出す。記録再生制御部２０は、この命令に従い、ハードディスク２１からクリップインフォメーションファイルとクリップＡＶストリームファイルとを読み出す。クリップＡＶストリームファイルは、ハードディスク２１からソースパケット単位で読み出され、記録再生制御部２０を介してストリームバッファ１５に溜め込まれる。
【０１６９】
デマルチプレクサ１４は、ストリームバッファ１５に溜め込まれたデータ量を監視し、ストリームバッファ１５に所定量以上のソースパケットが溜め込まれると、ストリームバッファ１５からビデオコーデック部１１のビデオでコード部がデコードに必要とする分のデータを、ソースパケット単位で読み出す。読み出されたソースパケットは、デマルチプレクサ１４に供給されバッファメモリに一旦格納され、ヘッダを分離されＴＳパケットとされる。そして、ＴＳパケットのＰＩＤに基づきデータ種類毎に振り分けられペイロードに格納されたデータからＰＥＳパケットが再構築される。さらに、ＰＥＳパケットのペイロードからデータが取り出されると共に、ＰＥＳヘッダの情報に基づき、ＤＴＳやＰＴＳといったデコードや再生の時刻を指定する情報など、所定にヘッダ情報などが付加され、圧縮符号化されたビデオデータおよびオーディオデータのエレメンタリストリームがそれぞれ生成される。
【０１７０】
圧縮ビデオデータは、ビデオコーデック部１１のビデオでコード部に供給される。ビデオでコード部は、供給された圧縮ビデオデータをバッファメモリに溜め込み、所定ピクチャ分のデータが溜め込まれたら、バッファメモリに溜め込まれたデータに対してデコード処理を開始する。デコードされたビデオデータは、例えば図示されないシステムクロックから供給されるＳＴＣ(System Time Clock)に基づき、ＰＴＳに従いフレームタイミングで順次出力される。
【０１７１】
一方、圧縮オーディオデータは、オーディオコーデック部１２のオーディオデコード部に供給され、所定にデコード処理がなされる。デコードされたオーディオデータは、ビデオコーデック部１１からデコードされて出力されるビデオデータと同期的に、オーディオコーデック部１２から出力される。
【０１７２】
３．発明に適用可能なデータ構造について
図２６は、この発明に適用可能な一例のデータ構造を示す。インデックスファイル"index.bdmv"は、１乃至複数のタイトルを有する。ムービーオブジェクトファイル"MovieObject.bdmv"は、インデックスファイル"index.bdmv"が有するタイトルに対応して、１乃至複数のムービーオブジェクトを含む。ムービーオブジェクトのそれぞれは、１つのプレイリストファイル"xxxxx.mpls"を呼び出す。プレイリストファイル"xxxxx.mpls"は、１乃至複数のプレイアイテムを含み、プレイアイテムのそれぞれは、クリップインフォメーションファイル"zzzzz.clpi"を参照する。クリップインフォメイションファイル"zzzzz.clpi"は、クリップの実体であるクリップＡＶストリームファイル"zzzzz.m2ts"と１対１の関係にある。
【０１７３】
このような構造において、ユーザには、インデックスファイル"index.bdmv"が有するタイトル単位で、記録媒体に記録されたクリップが見えることになる。ユーザが所望のタイトルを選択すると、ムービーオブジェクトファイル"MovieObject.bdmv"から当該タイトルに対応するムービーオブジェクトが参照される。そして、参照されたムービーオブジェクトに記述されたプレイリストファイル"xxxxx.mpls"が呼び出され、プレイリストファイルに含まれるプレイアイテムに従いクリップインフォメーションファイル"zzzzz.clpi"が参照され対応するクリップＡＶストリームファイル"zzzzz.m2ts"が再生される。
【０１７４】
プレイリストファイル"xxxxx.mpls"に対して時刻情報を示すマーク（プレイリストマーク）を設けることで、ジャンプ位置を設定することができる。マークによってチャプタが定義される。チャプタは、ユーザから見えるタイトル内の再生単位である。すなわち、ユーザは、再生位置をチャプタ単位で指定することができる。記録開始位置には、必ずマークが設けられる。記録開始位置以外の位置にマークを設けることもできる。
【０１７５】
すなわち、プレイリストファイル"xxxxx.mpls"に対して、例えば記録開始に伴いプレイリストマークを設定すると共に、クリップを参照するプレイアイテムを登録することで、当該プレイリストファイルに対してチャプタが形成される。換言すれば、プレイリストファイルに対してプレイリストマークを記録すると共に、プレイアイテムを記録することで、当該プレイリストファイルに対してチャプタが記録されるといえる。
【０１７６】
上述したように、リアルプレイリストは、クリップと共に生成される。図２６の例では、プレイリストファイル"00000.mpls"、"00200.mpls"および"00018.mpls"がリアルプレイリストの属性を有する。
【０１７７】
これらのうち、プレイリストファイル"00000.mpls"は、新規に生成されたクリップの情報をプレイリストに追記記録していく例である。例えば、クリップＡＶストリームファイル"00001.m2ts"に対応するクリップインフォメーションファイル"00001.clpi"を参照するプレイアイテム＃０が既に格納されているプレイリストファイル"00000.mpls"に対して、新規に記録されたクリップＡＶストリームファイル"00125.m2ts"に対応するクリップインフォメーションファイル"00125.m2ts"を参照するプレイアイテム＃１が追記記録される。プレイアイテムが示す先頭の時刻には、それぞれマークが設けられる。このプレイリストファイル"00000.mpls"を再生すると、ますプレイアイテム＃０に基づきクリップＡＶストリームファイル"00001.m2ts"が再生され、続けてプレイアイテム＃１に基づきクリップＡＶストリームファイル"00125.m2ts"が再生される。
【０１７８】
プレイリストファイル"00200.mpls"は、１のクリップに対して１のプレイリストファイルが生成され、プレイリストファイルが唯一つのプレイアイテムのみを含む例である。
【０１７９】
さらに、プレイリストファイル"00018.mpls"は、複数のプレイアイテムが１のクリップを参照する例である。例えば、記録開始および停止によりプレイアイテムが生成されると共に、１のクリップに対してデータが追記されていくような制御が考えられる。プレイアイテム＃０の先頭にマークが設けられ、プレイアイテム＃０およびプレイアイテム＃１を連続的に再生することで、クリップＡＶストリームファイル"00002.m2ts"の全体が再生される。
【０１８０】
一方、バーチャルプレイリストは、図２６にプレイリストファイル"00005.mpls"として示されるように、既に存在するクリップに対して再生区間を指定する。この例では、プレイリストファイル"00005.mpls"に含まれるプレイアイテム＃０がクリップインフォメーションファイル"00028.clpi"を参照して区間を指定し、プレイアイテム＃１がクリップインフォメーションファイル"00002.clpi"を参照して区間を指定している。また、プレイアイテム＃０およびプレイアイテム＃１の先頭に、マークが設けられている。プレイリストファイル"00005.mpls"を再生すると、先ずプレイアイテム＃０に基づきクリップＡＶストリームファイル"00028.m2ts"の指定区間が再生され、続けて、プレイアイテム＃１に基づきクリップＡＶストリームファイル"00002.m2ts"が再生される。
【０１８１】
上述したように、マーク（プレイリストマーク）は、記録開始位置以外の位置にも設けることができる。例えば、クリップを再生中や一時停止動作（ポーズ）中などに、ＵＩ部３１に対して所定の操作を行うことで、再生中であれば操作のタイミングに応じた位置に、ポーズ中であればポーズされている位置に、マークが設けられる。マークが設けられることで、チャプタが新たに定義される。例えば、マークＡおよびマークＢの間に新たにマークＣを設けると、マークＡおよびマークＣにより定義されるチャプタと、マークＣおよびマークＢにより定義されるチャプタとが新たに定義される。マークＡおよびマークＢにより定義されるチャプタが、マークＣの設定により、マークＡおよびマークＣにより定義されるチャプタと、マークＣおよびマークＢにより定義されるチャプタとに分割されること考えることもできる。
【０１８２】
４．発明の実施の第１の形態について
４−１．実施の第１の形態によるダビング処理について
次に、この発明の実施の第１の形態について説明する。この発明は、概略的には、上述したようにして記録媒体に記録されたクリップを他の記録媒体にダビングする際の処理に関するものである。このダビングの際に、ダビング先記録媒体に記録されるクリップの管理情報を、ダビング元のクリップに対してダビング範囲を指定する指定範囲とダビング元のクリップに対する管理情報とに基づき生成するようにしている。より具体的には、ダビング箇所をチャプタ単位で指定すると共に、複数のチャプタをダビングする際に、当該複数のチャプタがシームレス接続されるか否かを判断し、シームレス接続を管理するための管理情報をダビング先に生成する。
【０１８３】
なお、上述もしたように、チャプタは、２つのプレイリストマークとプレイリストマークとの間の区間として定義される。より具体的には、チャプタは、プレイリストファイル内のブロックblkPlayListMark()において（図１５参照）、フィールドMarkTypeがエントリマークであるループ変数PL_mark_idにより示されるプレイリストマークのうち、時間的に隣り合う２つのプレイリストマークの間の区間として定義される。
【０１８４】
４−１−１．ダビング処理の具体的な例について
この実施の第１の形態による一例のダビング処理について、図２７のフローチャートを用いて説明する。なお、ここでは、ダビング処理が図２５を用いて説明した記録再生装置１００を用いて行われるものとし、ハードディスク２１に記録されたクリップをチャプタ単位で指定して、ドライブ装置２２に装填されたＤＶＤ２３にダビングするものとして説明を行う。また、図２７のフローチャートにおける各処理は、所定のプログラムに基づく制御部３０および管理情報処理部１６による制御に従いなされる。
【０１８５】
ダビング処理を行うにあたり、先ず、ダビング元となる記録媒体（この例ではハードディスク２１）と、ダビング先となる記録媒体（この例ではドライブ装置２２に装填されたＤＶＤ２３）のそれぞれから管理情報、すなわち、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルおよび各クリップインフォメーションファイルを読み出す（ステップＳ１００）。
【０１８６】
例えば、制御部３０は、ＵＩ部３１に対してなされたハードディスク２１からＤＶＤ２３へのダビング開始を指示する操作に応じて、記録再生制御部２０に対してハードディスク２１に記録される、管理情報を構成するこれらのファイルを読み出すように命令を出す。記録再生制御部２０は、この命令に従いハードディスク２１からこれらのファイルを読み出す。また、記録再生制御部２０は、ダビング先記録媒体であるＤＶＤ２３に当該管理情報が存在するとき、ＤＶＤ２３からこれらのファイルを読み出す。読み出された管理情報は、管理情報処理部１６を介してメモリ１７に書き込まれる。なお、クリップインフォメーションファイルは、指定された時点でハードディスク２１やＤＶＤ２３から読み出すようにしてもよい。
【０１８７】
次のステップＳ１０１で、ハードディスク２１に記録されるコンテンツから、ＤＶＤ２３へのダビングを行うコンテンツがユーザにより選択される。コンテンツは、チャプタ単位で選択することができる。制御部３０は、コンテンツすなわちチャプタの選択結果に基づきダビングを行うチャプタのリストDubbingListを作成する。リストDubbingListは、例えばチャプタの始点および終点のタイムスタンプと、当該チャプタに対応するプレイアイテムを示す情報とを含む。
【０１８８】
チャプタの始点および終点のタイムスタンプは、チャプタを定義するプレイリストマーク、すなわち、プレイリストファイル中のブロックblkPlayListMark()におけるforループ文内に記述される、エントリマークを示すフィールドMarkTypeに対応するフィールドMarkTimeStampの値を用いることができる（図１５参照）。また、プレイアイテムを示す情報は、当該エントリマークを示すフィールドMarkTypeに対応するフィールドRefToPlayItemIDの値を用いることができる（図１５参照）。これらの情報は、メモリ１７に書き込まれた管理情報中のプレイリストファイル中のブロックblkPlayListMark()を検索することで得られる。
【０１８９】
ここで、ダビングを行うとして選択されたチャプタの数をＮ個とし、リストDubbingList中、ｎ番目にダビングを行うチャプタを、チャプタDubbingList[n]として表すものとする。なお、リストDubbingListにおいて、チャプタのダビングの順番は、例えばチャプタが対応するプレイアイテムの、プレイリストファイルに定義される再生順に従うものとする。
【０１９０】
一例として、制御部３０は、ステップＳ１００で読み出された管理情報に基づき、ハードディスク２１に記録されるクリップに対して定義されているチャプタの情報を抽出し、抽出されたチャプタ情報に基づき、ＵＩ部３１に対してＵＩ部３１が有する表示部にチャプタの一覧を表示するように命令を出す。ユーザは、このチャプタの一覧表示に基づきＵＩ部３１に対して所定の操作を行い、ＤＶＤ２３にダビングしたいチャプタを選択する。
【０１９１】
なお、ステップＳ１０１における、ダビングを行うコンテンツのユーザによる選択時に、選択されたコンテンツの情報に基づき当該コンテンツがダビング可能か否かを判断するようにできる。例えば、選択されたコンテンツの特性に応じてダビング可能なコンテンツを制限することができる。
【０１９２】
一例として、コンテンツに含まれるクリップＡＶストリームファイルの記録ビットレートに基づきダビング制限を行うことが考えられる。例えば、アクセス速度が高速な記録媒体をダビング元記録媒体とし、アクセス速度がダビング元記録媒体より遅い記録媒体をダビング先記録媒体とした場合、ダビング元記録媒体に対して、ダビング先記録媒体のアクセス速度を超える記録ビットレートでクリップＡＶストリームファイルが記録されている場合が有り得る。この場合、当該クリップＡＶストリームファイルをダビング元の記録媒体からダビング先の記録媒体ダビングしても、ダビング先の記録媒体から当該ダビングされたクリップＡＶストリームファイルを正常に再生できないことになる。
【０１９３】
より具体的な例として、記録再生制御部２０に装着されたメモリ２４をダビング元の記録媒体とし、ドライブ装置２２に装填されたＤＶＤ２３をダビング先の記録媒体とした場合が考えられる。すなわち、メモリ２４およびＤＶＤ２３の記録可能なビデオデータの最大ビットレートが、例えばそれぞれ２４Ｍｂｐｓ(Mega bits per second)および１８Ｍｂｐｓである場合、メモリ２４に対して記録ビットレートが２４Ｍｂｐｓで記録されたクリップＡＶストリームファイルをＤＶＤ２３にダビングしても、ＤＶＤ２３にダビングされたクリップＡＶストリームファイルは、正常に再生されないことになる。
【０１９４】
図２８は、ステップＳ１０１におけるダビングを行うコンテンツのユーザによる選択時に、選択されたコンテンツの情報に基づき当該コンテンツがダビング可能か否かを判断する場合の一例の処理を示すフローチャートである。先ず、ステップＳ１３０で、選択されたチャプタ数を示す値Ｎが０とされ、ステップＳ１３１で、ユーザにより例えばＵＩ部３１が所定に操作され、Ｎ番目のダビング元のコンテンツ（チャプタ）が選択される。
【０１９５】
次のステップＳ１３２で、ユーザが選択したコンテンツに含まれる全てのクリップインフォメーションファイルが存在するか否かが判断される。例えば、チャプタ単位で選択されたコンテンツについて、チャプタの始点および終点のタイムスタンプに基づき対応するプレイアイテムを求め、求められたプレイアイテムから参照されるクリップインフォメーションファイルが存在するか否かが判断される。プレイアイテムから参照されるクリップインフォメーションファイルは、例えばプレイリストファイル中のブロックPlayItem()内のフィールドClipInformationFileNameに基づき参照できる（図１３参照）。
【０１９６】
若し、ユーザが選択したコンテンツに含まれるクリップインフォメーションファイルのうち存在しないものがあると判断されたら、選択されたコンテンツはダビング不可であるとされ、処理がステップＳ１３１に戻される。一方、ユーザが選択したコンテンツに含まれる全てのクリップインフォメーションファイルが存在すると判断されたら、処理はステップＳ１３３に移行される。
【０１９７】
ステップＳ１３３では、ユーザが選択したコンテンツに含まれる全てのクリップＡＶストリームファイルが存在するか否かが判断される。例えば、ステップＳ１３２の判断処理の際に求められたクリップインフォメーションファイルのファイル名に基づき、対応するクリップＡＶストリームファイルが存在するか否かが判断される。
【０１９８】
若し、ユーザが選択したコンテンツに含まれる全てのクリップＡＶストリームファイルのうち存在しないものがあると判断されたら、選択されたコンテンツはダビング不可であるとされ、処理がステップＳ１３１に戻される。一方、ユーザが選択したコンテンツに含まれる全てのクリップＡＶストリームファイルが存在すると判断されれば、処理はステップＳ１３４に移行される。
【０１９９】
ステップＳ１３４では、ユーザが選択したコンテンツに含まれる全てのクリップＡＶストリームファイルのビットレートが所定値以下であるか否かが判断される。例えば、当該クリップＡＶストリームファイルに対応するクリップインフォメーションファイルにおいて、ブロックClipInfo()内のフィールドTSRecordingRateを参照することで、当該クリップＡＶストリームファイルのビットレートを取得することができる（図１７参照）。
【０２００】
なお、ステップＳ１３４における判断基準となるビットレートの所定値は、ダビング先の記録媒体に応じて設定することが考えられる。一例として、ダビング先の記録媒体がＤＶＤ２３であれば、当該ＤＶＤ２３に規定される記録ビットレートの上限に基づき当該ビットレートの所定値が１８Ｍｂｐｓとされ、ビットレートが１８Ｍｂｐｓを超えるクリップＡＶストリームファイルのダビングを制限する。
【０２０１】
若し、ステップＳ１３４において、ユーザが選択したコンテンツに含まれる全てのクリップＡＶストリームファイルのうちビットレートが所定値以下ではないものがあると判断されれば、選択されたコンテンツはダビング不可であるとされ、処理がステップＳ１３１に戻される。一方、ユーザが選択したコンテンツに含まれる全てのクリップＡＶストリームファイルのビットレートが所定値以下であると判断されれば、選択されたコンテンツがダビング可能であるとされ、当該コンテンツすなわちチャプタを、Ｎ番目にダビングを行うチャプタDubbingList[N]としてリストDubbingListに含める。
【０２０２】
そして、処理がステップＳ１３５に移行され、チャプタ数Ｎが１だけインクリメントされる。次のステップＳ１３６でコンテンツの選択が終了されたか否かが判断される。コンテンツの選択が終了されたか否かは、例えばＵＩ部３１に対するユーザの所定の操作に応じた制御信号に基づき、制御部３０により判断される。コンテンツの選択が終了したと判断されれば、処理は図２７のステップＳ１０２に移行される。一方、未だコンテンツの選択が終了されていないと判断されれば、処理はステップＳ１３１に戻される。
【０２０３】
説明は図２７のフローチャートに戻り、ステップＳ１０２で変数ｎの値が０にセットされ、ステップＳ１０３での変数ｎと値Ｎの比較結果に基づく判断により、ステップＳ１０４〜ステップＳ１０８の処理がＮ回繰り返される。
【０２０４】
ステップＳ１０４で、チャプタDubbingList[n]の始点および終点のプレイリストマーク情報に基づき、当該チャプタの構成に応じてダビング先におけるクリップインフォメーションおよびプレイリストを作成する。作成されたクリップインフォメーションおよびプレイリストは、メモリ１７に記憶される。
【０２０５】
例えば、ステップＳ１０４では、チャプタDubbingList[n]の始点および終点が対応するプレイアイテムのＩＮ点およびＯＵＴ点と一致しているか否か、当該チャプタが対応するプレイアイテムのＩＮ点およびＯＵＴ点が当該プレイアイテムに参照されるクリップインフォメーションファイルに示される、対応するクリップＡＶストリームファイルの先頭位置および／または終端位置と一致しているか否かを判断する。この判断結果に基づき、当該チャプタDubbingList[n]をダビング先の記録媒体（この例ではＤＶＤ２３）にダビングした際の、当該チャプタDubbingList[n]に対応する、ダビング先の記録媒体におけるクリップインフォメーションおよびプレイリストを作成する。この場合には、チャプタDubbingList[n]により参照される範囲に一致するように、ダビング先のプレイアイテムおよび／またはクリップインフォメーションを作成する。
【０２０６】
また、当該チャプタDubbingList[n]が複数のプレイアイテムおよび複数のクリップインフォメーションを参照しているか否かの判断も行う。複数のプレイアイテムおよび複数のクリップインフォメーションを１のチャプタが参照している場合、これら複数のプレイアイテムおよび複数のクリップインフォメーションのそれぞれについて、上述のような、チャプタの始点および／または終点がプレイアイテムのＩＮ点および／またはＯＵＴ点に一致しているか否か、プレイアイテムのＩＮ点および／またはＯＵＴ点が対応するクリップＡＶストリームファイルの先頭位置および／または終端位置と一致しているか否かをそれぞれ判断し、判断結果に応じて、ダビング先のプレイアイテムおよびクリップインフォメーションを作成する。
【０２０７】
このように作成されたプレイアイテムの情報が、図１２に例示されるブロックblkPlayList()における、識別子PlayItem_idをループ変数とするforループ文内のブロックblkPlayItem()として順次、追加されることで、プレイリストが作成される。また、ステップＳ１０１で選択されたチャプタ数を示す値Ｎが、ブロックblkPlayList()におけるフィールドNumberOfPlayListの値とされる。
【０２０８】
４−１−２．ダビング先のプレイアイテムおよびクリップインフォメーションの作成について
チャプタとプレイアイテムとクリップインフォメーションとの関係に応じてダビング先のプレイアイテムおよびクリップインフォメーションを作成する例について、図２９〜図３２を用いてより具体的に説明する。図２９Ａは、ダビング元のチャプタが対応するプレイアイテムの全体を参照し、当該プレイアイテムが、対応するクリップインフォメーションファイルに示されるエレメンタリストリームの範囲の全体を参照している例である。この場合、図２９Ｂに例示されるように、ダビング元のプレイアイテムおよびクリップインフォメーションを、ダビング先のプレイアイテムおよびクリップインフォメーションとしてそのまま用いることができる。
【０２０９】
チャプタとプレイアイテムとの参照関係は、例えば次のようにして求められる。リストDubbingListから、対象とされているチャプタDubbingList[n]ついて、当該チャプタDubbingList[n]を定義する、始点および終点それぞれのプレイリストマークが示すタイムスタンプと、当該チャプタDubbingList[n]に対応するプレイアイテムを示す情報とが取り出される。プレイアイテムを示す情報に基づきプレイアイテムを特定し、特定されたプレイアイテムのＩＮ点およびＯＵＴ点のタイムスタンプを抽出する。すなわち、プレイアイテムを示す情報に基づきプレイリストファイル中のブロックblkPlayList()におけるブロックblkPlayItem()が特定され（図１２参照）、特定されたブロックblkPlayItem()中のフィールドINTimeおよびOUTTimeの値がそれぞれ抽出される。これらフィールドINTimeおよびOUTTimeの値と、上述のチャプタを定義する始点および終点それぞれのプレイリストマークが示すタイムスタンプとが比較される。
【０２１０】
また、プレイアイテムとクリップインフォメーションとの参照関係は、例えば次のようにして求められる。上述のようにしてチャプタDubbingList[n]のプレイアイテムを示す情報に基づき特定されたブロックblkPlayItem()において、フィールドClipInformationFileNameの値に基づきクリップインフォメーションファイルが特定される（図１３参照）。このクリップインフォメーションファイルが例えばメモリ１７上の管理情報から参照され、当該ファイル中のブロックblkCPI()が抽出される（図１６参照）。そして、抽出されたブロックblkCPI()中のブロックbklEPMap()において、第３のforループ文のループ変数を０としたときのＰＴＳ（先頭ＰＴＳと呼ぶ）と、ループ変数を最大値すなわちフィールドNumberOfStreamPIDEntriesに示される値としたときのＰＴＳ（終端ＰＴＳと呼ぶ）とを抽出する（図１９および図２０参照）。そして、これら先頭および終端ＰＴＳと、上述した、参照元のプレイアイテムにおけるこれらフィールドINTimeおよびOUTTimeの値とを比較する。
【０２１１】
図３０Ａは、ダビング元のチャプタが、対応するプレイアイテムの一部分を参照し、当該プレイアイテムが、対応するクリップインフォメーションに示されるエレメンタリストリームの範囲の全体を参照している例である。この場合、図３０Ｂに例示されるように、プレイアイテムについては、ＩＮ点およびＯＵＴ点をチャプタの始点および終点にそれぞれ一致するように変更してダビング先のプレイアイテムとして用い、クリップインフォメーションについても、参照されるエレメンタリストリームの範囲をチャプタの始点および終点に一致させるように変更する。プレイアイテムおよびクリップインフォメーションにおいて、チャプタの始点および終点で示される範囲外の部分については、削除される。
【０２１２】
より具体的には、プレイアイテムについては、ＩＮ点およびＯＵＴ点の値を、チャプタの始点および終点のタイムスタンプの値に変更し、ダビング先のプレイアイテムとする。クリップインフォメーションについては、チャプタの始点に対応するＰＴＳをエントリPTSEPStartの値とし、エントリSPNEPStartが示すソースパケット番号を０として、ダビング先のクリップインフォメーションを作成する。
【０２１３】
図３１Ａは、ダビング元のチャプタが、対応するプレイアイテムの全体を参照し、当該プレイアイテムが、対応するクリップインフォメーションに示されるエレメンタリストリームの範囲の一部分を参照している例である。この場合、図３１Ｂに例示されるように、プレイアイテムについては、ダビング元のプレイアイテムをそのままダビング先のプレイアイテムとして用いることができる。一方、クリップインフォメーションについては、参照されるエレメンタリストリームの範囲をチャプタの始点および終点（または対応するプレイアイテムのＩＮ点およびＯＵＴ点）に一致させるように変更する。クリップインフォメーションの、チャプタの始点および終点で指定される範囲外の部分については、図３０Ｂを用いて既に説明した処理と同様に削除される。
【０２１４】
図３２Ａは、ダビング元のチャプタが複数のプレイアイテムを参照している例である。この場合は、図２９、図３０および図３１を用いて説明した処理のそれぞれを組み合わせて、ダビング先のプレイアイテムおよびクリップインフォメーションを作成する。例えば、ダビング元において、チャプタが対応する複数のプレイアイテムのそれぞれについて全体を参照し、これら複数のプレイアイテムのそれぞれが、対応するクリップインフォメーションに示されるエレメンタリストリームの範囲の全体をそれぞれ参照している場合、図３２Ｂに例示されるように、ダビング元のプレイアイテムおよびクリップインフォメーションを、ダビング先のプレイアイテムおよびクリップインフォメーションとしてそのまま用いることができる。
【０２１５】
また、チャプタが複数のプレイアイテムを参照している場合に、上述の図３０や図３１に例示されるように、チャプタがプレイアイテムの一部分を参照している場合や、チャプタはプレイアイテムの全体を参照しているが、当該プレイアイテムがクリップインフォメーションに示されるエレメンタリストリームの一部分を参照していない場合も有り得る（図示しない）。これらの場合にも、上述と同様にして、複数のプレイアイテムや複数のクリップインフォメーションについて、それぞれチャプタにより参照されている範囲に一致するように、ダビング先のプレイアイテムやクリップインフォメーションが作成される。
【０２１６】
説明は図２７のフローチャートに戻り、ステップＳ１０４で上述したようにしてダビング先のプレイアイテムやクリップインフォメーションが作成されメモリ１７に記憶されると、処理はステップＳ１０５に移行される。
【０２１７】
なお、クリップインフォメーションの作成に当たり、上述の図３０Ｂや図３１Ｂの例のように、参照されるエレメンタリストリームの範囲が変更される場合には、チャプタの始点および終点（チャプタがプレイアイテムの一部を参照している場合）、あるいは、プレイアイテムのＩＮ点およびＯＵＴ点（プレイアイテムがエレメンタリストリームの一部を参照している場合）のタイムスタンプに基づきＥＰエントリの情報が再構築される。一例として、図３０Ｂの場合には、ダビング元のクリップインフォメーションファイル中のブロックblkCPI()におけるブロックblkEPMap()から、チャプタの始点のタイムスタンプに対応するエントリが検索される。そして、このエントリで示されるソースパケットの番号を０として、チャプタの終点のタイムスタンプに対応するエントリまで、ＥＰエントリの情報が再構築される。
【０２１８】
次のステップＳ１０５では、対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]が参照するプレイアイテムのシームレス接続を示す情報が決定される。
【０２１９】
例えば、ダビング先において、対象のチャプタDubbingList[n]が参照するプレイアイテムと、当該チャプタDubbingList[n]の直前に再生されるチャプタDubbingList[n-1]が参照するプレイアイテムとがシームレス接続されるか否か、また、シームレス接続される場合には、上述した第１のシームレス接続と第２のシームレス接続のうち何れの接続方法で接続されるかが決定される。換言すれば、このステップＳ１０５では、チャプタDubbingList[n]に対応するブロックblkPlayItem()内のフィールドConnectionCondition（図１３および図１４参照）の値を"１"、"５"および"６"のうち何れにするかが決定される。
【０２２０】
ダビング先におけるプレイアイテムに関するシームレス接続の可否およびシームレス接続の方法は、ダビングを行うチャプタDubbingList[n]およびチャプタDubbingList[n-1]と、ダビング先での当該チャプタDubbingList[n]およびチャプタDubbingList[n-1]にそれぞれ対応するプレイアイテムとの関係に基づき決定される。
【０２２１】
４−１−３．シームレス情報の決定処理の例について
ステップＳ１０５による、対象のチャプタが参照するプレイアイテムのシームレス接続を示す情報を決定するための一例の処理を、図３３のフローチャートを用いて説明する。最初のステップＳ１２０で、対象のチャプタDubbingList[n]の始点と、当該チャプタDubbingList[n]が参照するプレイアイテムの先頭すなわちＩＮ点とが一致するか否かが判断される。若し、一致しないと判断されたら、シームレス接続を行わないとされ、処理はステップＳ１２７に移行される。
【０２２２】
一方、ステップＳ１２０で、対象のチャプタDubbingList[n]の始点と、当該チャプタDubbingList[n]が参照するプレイアイテムの先頭すなわちＩＮ点とが一致すると判断されたら、処理はステップＳ１２１に移行される。ステップＳ１２１では、対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]が参照するプレイアイテムが、対象チャプタDubbingList[n]が参照するプレイアイテムの直前のプレイアイテムであるか否かが判断される。
【０２２３】
すなわち、ステップＳ１２１では、対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]が参照するプレイアイテムが、対象のチャプタDubbingList[n]が参照するプレイアイテムに対し、プレイリスト上の記述におけるプレイアイテム順の直前のプレイアイテムであるか否かが判断される。この判断は、対象のチャプタDubbingList[n]の始点に対応するプレイリストマークと、当該対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]の終点に対応するプレイリストマークとについて、例えば図１５に示すブロックblkPlayListMark()中のフィールドRefToPlayItemIDの値が連続しているか否かで判断することができる。
【０２２４】
若し、ステップＳ１２１で、対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]が参照するプレイアイテムが、対象チャプタDubbingList[n]が参照するプレイアイテムの直前のプレイアイテムではないと判断されたら、シームレス接続を行わないとされ、処理はステップＳ１２７に移行される。
【０２２５】
一方、ステップＳ１２１で、対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]が参照するプレイアイテムが、対象チャプタDubbingList[n]が参照するプレイアイテムの直前のプレイアイテムであると判断されたら、処理はステップＳ１２２に移行される。ステップＳ１２２では、対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]の終点と、当該直前のチャプタDubbingList[n-1]が参照しているプレイアイテムのＯＵＴ点とが一致するか否かが判断される。若し、一致しないと判断されれば、シームレス接続を行わないとされ、処理はステップＳ１２７に移行される。
【０２２６】
一方、ステップＳ１２２で、対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]の終点と、当該直前のチャプタDubbingList[n-1]が参照しているプレイアイテムのＯＵＴ点とが一致すると判断されたら、処理はステップＳ１２３に移行される。ステップＳ１２３では、対象チャプタDubbingList[n]が参照するプレイアイテムのフィールドConnectionConditionの値が"５"であるか否か、すなわち、対象チャプタDubbingList[n]と直前のチャプタDubbingList[n-1]とを第１のシームレス接続で接続するか否かが判断される。
【０２２７】
若し、値が"５"であると判断されれば、処理はステップＳ１２４に移行され、当該チャプタが参照するプレイアイテムのフィールドConnectionConditionの値が"５"に決定される。この決定に応じて、メモリ１７上に記憶される当該プレイアイテムにおけるフィールドConnectionConditionの値が"５"に設定される。
【０２２８】
一方、ステップＳ１２３で、対象チャプタDubbingList[n]が参照するプレイアイテムのフィールドConnectionConditionの値が"５"ではないと判断されれば、処理はステップＳ１２５に移行される。ステップＳ１２５では、当該チャプタDubbingList[n]が参照するプレイアイテムのフィールドConnectionConditionの値が"６"であるか否か、すなわち、対象チャプタDubbingList[n]と直前のチャプタDubbingList[n-1]とを第２のシームレス接続で接続する否かが判断される。
【０２２９】
若し、値が"６"であると判断されれば、処理はステップＳ１２６に移行され、当該チャプタDubbingList[n]が参照するプレイアイテムのフィールドConnectionConditionの値が"６"に決定される。この決定に応じて、メモリ１７上に記憶される当該プレイアイテムにおけるフィールドConnectionConditionの値が"６"に設定される。
【０２３０】
一方、ステップＳ１２６で、当該チャプタDubbingList[n]が参照するプレイアイテムのフィールドConnectionConditionの値が"６"ではないと判断されれば、シームレス接続を行わないとされ、処理はステップＳ１２７に移行される。
【０２３１】
ステップＳ１２７では、対象のチャプタDubbingList[n]の直前のチャプタDubbingList[n-1]に対応するプレイアイテムにおけるフィールドConnectionConditionの値が"１"に決定される。この決定に応じて、メモリ１７上に記憶される当該プレイアイテムにおけるフィールドConnectionConditionの値が"１"に設定される。
【０２３２】
説明は図２７のフローチャートに戻り、上述のようにして、ステップＳ１０５により対象のチャプタが参照するプレイアイテムのシームレス接続を示す情報が決定されると、処理はステップＳ１０６に移行される。ステップＳ１０６では、上述のステップＳ１０４で作成されたクリップインフォメーションに基づいて、ダビング先の記録媒体に対してクリップインフォメーションファイルが記録される。例えば、管理情報制御部１６は、制御部３０の命令に従い、メモリ１７に記憶されるクリップインフォメーションに基づき、対象チャプタDubbingList[n]のクリップインフォメーションファイルを作成する。作成されたクリップインフォメーションファイルは、記録再生制御部２０に供給され、ドライブ装置２２によりダビング先の記録媒体であるＤＶＤ２３に記録される。
【０２３３】
次のステップＳ１０７では、ストリームの実体、すなわちダビング元のクリップＡＶストリームファイルについて、どの範囲をダビング先の記録媒体にコピーするかを算出する。算出結果は、ステップＳ１０１で選択されたチャプタに対応するコピー範囲を示す情報からなるリストCopyListにおける、チャプタDubbingList[n]に関するコピー範囲情報CopyList[n]としてメモリ１７に記憶される。すなわち、コピー範囲情報CopyList[n]は、チャプタDubbingList[n]をダビング先へコピーする際の、ダビング元のクリップＡＶストリームファイルのコピー範囲を示す情報である。コピー範囲情報CopyList[n]は、例えばダビング元のクリップＡＶストリームファイル名と、当該クリップＡＶストリームファイルにおけるコピー開始および終了位置をバイト位置で示した情報とを含む。
【０２３４】
一例として、チャプタDubbingList[n]の始点および終点（またはプレイアイテムのＩＮ点およびＯＵＴ点）のタイムスタンプの情報に基づきダビング元のクリップインフォメーションファイルからＥＰエントリを検索し、チャプタDubbingList[n]の始点および終点にそれぞれ対応するソースパケット番号を取得する。ソースパケットは、既に説明したようにデータサイズが固定長なので、ソースパケット番号に基づきクリップＡＶストリームファイル内のバイト位置を算出することができる。
【０２３５】
ステップＳ１０７でコピー範囲情報CopyList[n]が作成されたら、処理は次のステップＳ１０８に移行され、変数ｎが１だけインクリメントされる。そして、処理がステップＳ１０３に戻され、次のチャプタDubbingList[n]に対する処理がなされる。
【０２３６】
一方、上述のステップＳ１０３で、ステップＳ１０１で作成されたリストDubbingList中の全てのチャプタに関するステップＳ１０４〜ステップＳ１０７による処理が終了したと判断されれば、処理はステップＳ１０９に移行される。ステップＳ１０９では、プレイリストファイルが作成され、ダビング先の記録媒体に対して記録される。ここで作成されるプレイリストファイルは、上述のステップＳ１０１で作成されたリストDubbingListに示される全てのチャプタに対するプレイリストであって、ステップＳ１０４で作成された全てのプレイアイテムを含む。
【０２３７】
例えば、管理情報処理部１６は、制御部３０の命令に従い、上述のステップＳ１０４およびステップＳ１０５で作成されメモリ１７に記憶されたプレイリストに基づきプレイリストファイルが作成される。作成されたプレイリストファイルは、記録再生制御部２０に供給され、ドライブ装置２２によりダビング先の記録媒体であるＤＶＤ２３に記録される。
【０２３８】
さらに、次のステップＳ１１０で、ムービーオブジェクトおよびインデックステーブルが作成される。例えば、管理情報制御部１６は、ステップＳ１０９で作成されたプレイリストファイルに基づきメモリ１７上にムービーオブジェクトを作成する。そして、メモリ１７上のムービーオブジェクトに基づきムービーオブジェクトファイルを作成し、記録再生制御部２０に供給し、ダビング先の記録媒体であるＤＶＤ２３に記録する。また、管理情報制御部１６は、図８を参照し、このムービーオブジェクトを呼び出すブロックblkIndexes()をメモリ１７上に作成し、このブロックblkIndexes()に基づきインデックスファイルを作成する。インデックスファイルは、記録再生制御部２０に供給され、ドライブ装置２２によりダビング先の記録媒体であるＤＶＤ２３に記録される。
【０２３９】
次のステップＳ１１１で変数ｎが０に設定され、以下のステップＳ１１２〜ステップＳ１１４により、上述したステップＳ１０７で作成されたコピー範囲情報CopyList[n]で示される情報に従い、ダビング元のクリップＡＶストリームファイルの指定範囲がダビング先の記録媒体であるＤＶＤ２３にコピーされ、当該ＤＶＤ２３上にクリップＡＶストリームファイルが作成される（ステップＳ１１３）。このステップＳ１１３の処理を、変数ｎを１ずつインクリメント（ステップＳ１１４）しながらＮ回行うことで、ステップＳ１０１で選択されたチャプタのダビング先の記録媒体であるＤＶＤ２３に対するダビングが終了する。
【０２４０】
なお、ステップＳ１１３で、ダビング先の記録媒体であるＤＶＤ２３に対して作成されるクリップＡＶストリームファイルのファイル名は、上述のステップＳ１０７でＤＶＤ２３に記録されるクリップインフォメーションファイルのファイル名と対応するように決められる。
【０２４１】
上述したように、この発明の実施の第１の形態では、ダビング元の記録媒体から選択されたチャプタをダビング先の記録媒体にダビングする際に、選択されたダビング元のチャプタと、当該チャプタに対応するダビング元のプレイアイテムおよびクリップインフォメーションとの関係に基づき、ダビング先の記録媒体におけるプレイアイテムおよびクリップインフォメーションを作成するようにしているので、ＡＶＣＨＤ規格に準じたコンテンツのダビング処理を容易に行うことができる。
【０２４２】
またその際、選択されたダビング元のチャプタと、当該チャプタに対応するダビング元のプレイアイテムおよびクリップインフォメーションとの関係に基づきシームレス接続を行うか否か、また、シームレス接続を行うとされた場合には、第１および第２のシームレス接続のうち何方の方法でシームレス接続を行うようにするかを自動的に判断し、判断結果に基づきシームレス接続を管理するための管理情報をダビング先の記録媒体に記録するようにしている。そのため、ダビング元におけるチャプタ間のシームレス接続の状態を、容易にダビング先に引き継ぐことができる。
４−２．補足
【０２４３】
また、上述では、ダビング元の記録媒体をハードディスク２１とし、ダビング先の記録媒体をＤＶＤ２３としたが、これはこの例に限られない。例えば、ダビング先の記録媒体を、着脱可能なメモリ２４としてもよい。さらに、上述では、ダビング先の記録媒体にディスク状記録媒体を用いる例として、当該記録媒体にＤＶＤ２３を採用したが、これはこの例に限られず、例えばＢｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）をダビング先の記録媒体として用いることもできる。
【０２４４】
さらにまた、上述では、ダビング元の記録媒体として、記録再生装置１００に内蔵されるハードディスク２１を用いたが、これはこの例に限られず、ダビング元の記録媒体として着脱可能な記録媒体を用いることもできる。図２５の例では、メモリ２４をダビング元の記録媒体とし、ＤＶＤ２３をダビング先の記録媒体としたり、その逆の組み合わせとすることが考えられる。また、記録再生装置１００に他の機器とのデータ通信が可能な通信Ｉ／Ｆを設け、この通信Ｉ／Ｆを介して接続される他の機器の記録媒体に対してダビングを行うことも考えられる。
【０２４５】
５．発明の実施の第１の形態の変形例について
次に、この発明の実施の第１の形態の変形例について説明する。この実施の第１の形態の変形例では、この発明を、撮像素子と、被写体からの光を撮像素子に入射させる光学系とを有し、撮像素子で撮像された撮像信号に基づきビデオデータを記録媒体に記録するようにした、ビデオカメラ装置に適用した。
【０２４６】
図３４は、この発明の実施の第１の形態の変形例によるビデオカメラ装置４００の一例の構成を示す。記録系、再生系および制御系の構成は、図２５を用いて説明した記録再生装置１００の構成を略そのまま適用できるので、図２５と共通する部分には同一の符号を付し、詳細な説明を省略する。
【０２４７】
図３４の構成において、カメラ部４１０は、映像信号に関する構成として、光学系３１１、撮像素子４１２、撮像信号処理部４１３、カメラ制御部４１４および表示部４１５を有し、音声信号に関する構成として、マイクロフォン（ＭＩＣ）４１６および音声信号処理部４１７を有する。制御部３０は、カメラ部４１０の各部との間で各種制御信号や情報のやりとりを行い、カメラ部４１０の動作を制御する。また、制御部３０は、ユーザ操作に応じてＵＩ部３１から供給される制御信号に基づき、カメラ部４１０の動作を制御する。なお、ビデオカメラ装置４００として構成される場合、記録開始操作および記録停止操作は、例えば、ＵＩ部３１に設けられた単一の記録スイッチを用い、当該記録スイッチが押下される毎に記録開始および記録停止が交互に指示されるようになされるのが一般的である。
【０２４８】
カメラ部４１０において、光学系４１１は、被写体からの光を撮像素子４１２に導くためのレンズ系、絞り調整機構、フォーカス調整機構、ズーム機構、シャッタ機構などを備える。絞り調整機構、フォーカス調整機構、ズーム機構およびシャッタ機構の動作は、制御部３０から供給される制御信号に基づき、カメラ制御部４１４により制御される。
【０２４９】
撮像素子４１２は、例えばＣＣＤ(Charge Coupled Device)からなり、光学系４１１を介して照射された光を光電変換により電気信号に変換し、所定の信号処理を施し撮像信号として出力する。撮像信号処理部４１３は、撮像素子から出力された撮像信号に対して所定の信号処理を施し、ベースバンドのディジタルビデオデータとして出力する。撮像素子４１２をＣＭＯＳ(Complementary Metal-Oxide Semiconductor)イメージャを用いて構成することも可能である。
【０２５０】
例えば撮像信号処理部４１３は、撮像素子４１２から出力された撮像信号に対して、ＣＤＳ(Correlated Double Sampling)回路により画像情報を有する信号だけをンプリングすると共に、ノイズを除去し、ＡＧＣ(Auto Gain Control)回路によりゲインを調整する。そして、Ａ／Ｄ変換によりディジタル信号に変換する。また、撮像信号処理部４１３は、このディジタル信号に対して検波系の信号処理を施し、Ｒ（赤色）、Ｇ（緑色）およびＢ（青色）各色の成分を取り出し、γ補正やホワイトバランス補正などの処理を行い、最終的に１本のベースバンドのディジタルビデオデータとして出力する。
【０２５１】
また、撮像信号処理部４１３は、撮像素子４１２から出力された撮像信号の情報を制御部３０に送る。制御部３０は、この情報に基づき光学系４１１を制御するための制御信号を生成し、カメラ制御部４１４に供給する。カメラ制御部４１４は、この制御信号に基づきフォーカス調整機構や絞り調整機構などの制御を行う。
【０２５２】
さらに、撮像信号処理部４１３は、撮像素子４１２から出力された撮像信号に基づき、例えばＬＣＤ(Liquid Crystal Display)を表示素子として用いた表示部４１５に映出させる映像信号を生成する。
【０２５３】
一方、マイクロフォン４１６は、周囲の音声を収音して電気信号に変換して出力する。マイクロフォン４１６から出力された音声信号は、音声信号処理部４１７に供給される。音声信号処理部４１７は、供給された音声信号を、リミッタを介してからＡ／Ｄ変換を施してディジタルオーディオデータとし、ノイズ除去や音質補正など所定の音声信号処理を施してベースバンドのディジタルオーディオデータとして出力する。
【０２５４】
カメラ部４１０の撮像信号処理部４１３から出力されたベースバンドのディジタルビデオデータは、端子４０を介して記録再生部５０に供給され、ビデオコーデック部１１に入力される。また、音声信号処理部４１７から出力されたベースバンドのディジタルオーディオデータは、端子４２を介して記録再生部５０に供給され、オーディオコーデック部１２に入力される。
【０２５５】
記録停止状態からＵＩ部３１に設けられた記録スイッチが押下されると、記録開始を指示する制御信号がＵＩ部３１から制御部３０に供給され、制御部３０の制御に基づきカメラ部３１０から出力されたベースバンドのディジタルビデオ信号およびディジタルオーディオデータのハードディスク２１への記録が開始される。
【０２５６】
すなわち、既に説明したように、ビデオデータおよびオーディオデータは、ビデオコーデック部１１およびオーディオコーデック部１２でそれぞれ所定に圧縮符号化される。圧縮符号化されたビデオデータおよびオーディオデータは、マルチプレクサ１３で固定長のソースパケットに所定にパケット化され、多重化されてＡＶストリームデータとされる。ＡＶストリームデータは、ストリームバッファ１５を介して記録再生制御部２０に供給され、ハードディスク２１に対してクリップＡＶストリームとして記録される。
【０２５７】
ＵＩ部３１の記録スイッチが押下されると、記録が停止され、ハードディスク２１に記録されたクリップＡＶストリームファイルに対応する管理情報が所定に生成され、ハードディスク２１に記録される。例えば制御部３０は、信号処理部１０や記録再生制御部２０からの情報に基づき、ハードディスク２１に記録されるクリップＡＶストリームファイルに対応するクリップインフォメーションファイルを作成する。また、制御部３０は、当該クリップインフォメーションファイルを参照するプレイアイテムを生成し、既にプレイリストが存在する場合には、生成されたプレイアイテムを当該プレイリストに対して追加すると共に、プレイリストに対してプレイリストマークを打つ。
【０２５８】
ハードディスク２１に記録されたクリップの、他の記録媒体、例えばＤＶＤ２３やメモリ２４へのダビング処理は、上述した実施の第１の形態によるダビング処理と何ら変わるところがないため、ここでの詳細な説明を省略する。
【０２５９】
６．発明の実施の第２の形態について
次に、この発明の実施の第２の形態について説明する。この実施の第２の形態は、この発明によるダビング処理を、図３５に概略的に示されるような一般的な構成のコンピュータ２００で実現する例である。すなわち、この発明によるダビング処理は、上述した実施の第１の形態による記録再生装置１００のような、ビデオコーデック部１１、オーディオコーデック部１２、マルチプレクサ１３およびデマルチプレクサ１４といった、ビデオデータやオーディオデータに対する信号処理系の構成を有していなくても、実現可能である。
【０２６０】
６−１．実施の第２の形態に適用可能な装置の構成例について
図３５において、バス２１０に対してＣＰＵ２１１、ＲＡＭ２１２、ＲＯＭ２１３、表示制御部２１４および通信インターフェース（Ｉ／Ｆ）２１５がそれぞれ接続される。さらに、バス２１０に対して、入力Ｉ／Ｆ２２０、メモリＩ／Ｆ２２２、リード／ライト制御部２２３およびデータＩ／Ｆ２２５がそれぞれ接続される。入力Ｉ／Ｆ２２０には、例えばキーボード２２１Ａやマウス２２１Ｂといった入力デバイスが接続される。リード／ライト制御部２２３は、ハードディスク２３０といったストレージ装置や、装填されたディスク状記録媒体に対するデータの読み書きを行うドライブ装置２２４が接続される。
【０２６１】
ＣＰＵ２１１は、ＲＯＭ２１３に記憶される基本プログラムや、ハードディスク２３０に格納されるプログラムに従い、ＲＡＭ２１２をワークメモリとして用い、このコンピュータ２００全体の制御を行ったり、アプリケーションソフトウェアを実行したりする。表示制御部２１４は、ＣＰＵ２１１で所定のプログラムに従い生成された表示制御信号に基づき、ディスプレイ２１５に表示可能な形式の信号を生成し、ディスプレイ２１５に供給する。通信Ｉ／Ｆ２１６は、所定のプロトコルに基づき、ＣＰＵ２１１の命令に従い外部との通信を制御する。例えば、通信Ｉ／Ｆ２１６は、通信プロトコルとしてＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)などを実装し、ＣＰＵ２１１の命令に従いインターネットとの通信を制御する。
【０２６２】
リード／ライト制御部２２３は、ＣＰＵ２１１の命令に従い、ハードディスク２３０に対するデータの読み書きや、ドライブ装置２２４に装填された記録媒体に対するデータの読み書きを制御する。ここで、ドライブ装置２２４は、例えば記録可能なタイプのＤＶＤ２３１に対応し、ＤＶＤ２３１に対するデータの読み書きが可能とされているものとする。リード／ライト制御部２２３は、ＣＰＵ２１１から指定されたアドレスに従いハードディスク２３０の動作を制御し、当該アドレスにアクセスする。同様に、リード／ライト制御部２２３は、ＣＰＵ２１１から指定されたアドレスに従いドライブ装置２２４を制御し、ＤＶＤ２３１上の当該アドレスにアクセスする。
【０２６３】
メモリＩ／Ｆ２２２は、脱着可能且つ不揮発性のメモリ２３２に対するデータの読み書きを制御する。メモリＩ／Ｆ２２２は、ＣＰＵ２１１から指定されたアドレスに従い、メモリ２３２上の当該アドレスにアクセスする。
【０２６４】
データＩ／Ｆ２２５は、外部の機器と有線または無線で接続され、所定のプロトコルで以て接続された機器との間でデータのやりとりを行う。データＩ／Ｆ２２５に適用可能なインターフェイス規格としては、ＵＳＢ(Universal Serial Bus)やＩＥＥＥ１３９４(Institute Electrical and Electronics Engineers 1394)などのシリアルインターフェイスが考えられる。勿論、これらのインターフェイスに限らず、他のインターフェイス規格を採用してもよい。
【０２６５】
ファイルシステムやＧＵＩ(Graphical User Interface)など、このコンピュータ２００における基本的な機能を提供するためのソフトウェアであるＯＳ(Operating System)や、この発明によるダビング処理を実行するためのアプリケーションソフトウェアなど、各種のプログラムは、ハードディスク２３０に格納される。これらのプログラムは、例えばＣＤ−ＲＯＭ(Compact Disc-Read Only Memory)やＤＶＤ−ＲＯＭといった記録媒体に記録されて提供され、ドライブ装置２２４により読み出されてハードディスク２３０上に所定に格納されることで、実行可能とされる。ダビング処理を行うアプリケーションソフトウェアは、図示されないインターネット上のサーバにより提供されるようにしてもよい。ＣＰＵ２１１の命令に従い通信Ｉ／Ｆ２１６によりインターネットを介してサーバにアクセスし、当該アプリケーションソフトウェアをダウンロードする。ダウンロードされたアプリケーションソフトウェアは、ハードディスク２３０上に所定に格納される。
【０２６６】
例えばキーボード２２１Ａやマウス２２１Ｂなどの入力デバイスに対する所定の操作によりアプリケーションソフトウェアの起動が指示されると、ＯＳは、ハードディスク２３０からアプリケーションソフトウェアのプログラムを読み出し、ＲＡＭ２１２上に所定に展開する。ＣＰＵ２１１は、ＲＡＭ２１２上に展開されたこのプログラムに従い、表示制御信号の生成、リード／ライト制御部２２３やメモリＩ／Ｆ２２２に対する読み出しや書き込み命令の生成、入力デバイスによる入力の受け付けなどを行い、アプリケーションソフトウェアを実行する。
【０２６７】
６−２．実施の第２の形態による一例のダビング処理について
このような構成のコンピュータ２００に対し、ＡＶＣＨＤの規格に準じたコンテンツデータが入力される。入力されたコンテンツデータは、例えばハードディスク２３０に格納される。なお、ＡＶＣＨＤ規格によれば、データは、上述した図５または図６に示す管理構造を持つ必要がある。例えば、ハードディスク２３０上に所定のディレクトリを作成し、そのディレクトリに対し、図５または図６の構造を構築することが考えられる。
【０２６８】
データは、例えばＤＶＤ２３１に図６に示される構造で記録されて供給されることが考えられる。この場合、当該ＤＶＤ２３１の記録内容をそのままハードディスク２３０にコピーすることが考えられる。これに限らず、データＩ／Ｆ２２５に対して所定のインターフェイスを介して接続された外部の機器からデータ通信により供給されるようにしてもよいし、通信Ｉ／Ｆ２１６によりインターネットを介して供給されるようにもできる。
【０２６９】
ここで、ドライブ装置２２４に対して例えば新規のＤＶＤ２３１を装填し、ハードディスク２３０に格納されているクリップをチャプタ単位で選択し、ＤＶＤ２３１にダビングさせることができる。ダビング処理は、所定のアプリケーションソフトウェアを起動し、そのアプリケーションソフトウェアに従いＣＰＵ２１１の制御により行う。このアプリケーションソフトウェアは、ダビング処理の制御を行うと共に、ダビング処理に関わる操作などをユーザに促すためのＧＵＩを構成する。
【０２７０】
ダビング処理は、上述の実施の第１の形態で説明した方法と、略同一に実行することができる。すなわち、図２７のフローチャートを参照し、アプリケーションソフトウェア（以下、アプリケーション）によりハードディスク２３０上の所定のディレクトリが参照され、管理情報、すなわちインデックスファイル、ムービーオブジェクトファイル、プレイリストファイルおよびクリップインフォメーションファイルが読み出される（ステップＳ１００）。読み出された管理情報は、ＲＡＭ２１２に記憶される。
【０２７１】
次に、読み出されＲＡＭ２１２に記憶された管理情報に基づきチャプタのリストが作成され、このチャプタのリストを表示させるための表示制御信号がＣＰＵ２１１により生成される。表示制御信号は、表示制御部２１４に供給され、ディスプレイ２１５に対して選択可能なチャプタのリストが表示される。ユーザは、ディスプレイ２１５の表示に基づき、キーボード２２１やマウス２２１Ｂなど入力デバイスを用いてチャプタのリストからダビングを行いたいチャプタを選択する。このとき、例えば上述の図２８のフローチャートを用いて説明したようにして、選択されたチャプタがダビング可能か否かを判断することができる。選択されたチャプタの情報に基づき、ダビングするチャプタのリストDubbingListが作成され、例えばＲＡＭ２１２に記憶される。
【０２７２】
以下、ステップＳ１０３〜ステップＳ１０８のループにより、チャプタDubbingListに示されるチャプタ毎に、ＲＡＭ２１２に記憶された管理情報に基づきクリップインフォメーションおよびプレイリストが作成され（ステップＳ１０４）、プレイアイテムのシームレス情報が決定される（ステップＳ１０５および図３３の各ステップ）。そして、ステップＳ１０６で、ＤＶＤ２３１に対してチャプタDubbingList[n]に対応するクリップインフォメーションファイルが記録される。また、対応するクリップＡＶストリームファイルのどの部分をＤＶＤ２３１にコピーするかが算出され、コピー範囲情報CopyList[n]が生成される（ステップＳ１０７）。コピー範囲情報CopyList[n]は、リストCopyListを構成する情報としてＲＡＭ２１２上に記憶される。
【０２７３】
選択された全てのチャプタについて、ステップＳ１０４〜ステップＳ１０７の処理が終了したら、プレイリストファイルが作成されてＤＶＤ２３１に記録され（ステップＳ１０９）、ムービーオブジェクトおよびインデックステーブルが作成され、ムービーオブジェクトファイルおよびインデックスファイルがＤＶＤ２３１に記録される（ステップＳ１１０）。
【０２７４】
そして、ＲＡＭ２１２に記憶されているリストCopyListに格納されるコピー範囲情報CopyList[n]に従い、ハードディスク２３０に格納されるクリップＡＶストリームファイルの指定範囲がＤＶＤ２３１にコピーされる（ステップＳ１１３）。クリップＡＶストリームファイルのコピー範囲は、コピー範囲情報CopyList[n]によりファイル中のバイト位置として指定される。アプリケーションは、ＯＳのファイルシステムに基づきバイト位置をハードディスク２３０上のアドレスに変換し、そのアドレスからデータを読み出す。読み出されたデータは、ドライブ装置２２４に転送され、ＤＶＤ２３１に記録される。選択された全てのチャプタについてコピーが終了したら、一連のダビング処理が終了される。
【０２７５】
なお、上述では、ダビング先の記録媒体をドライブ装置２２４に装填されるＤＶＤ２３１としたが、これはこの例に限定されない。例えばメモリＩ／Ｆ２２２に装填されるメモリ２３２をダビング先の記録媒体とすることができる。また、データＩ／Ｆ２２５により所定のインターフェイスを介して接続された他の機器を、ダビング先として指定することもできる。例えば、所定のインターフェイスを介して制御可能なハードディスクを、ダビング先の記録媒体として指定できる。さらに、通信Ｉ／Ｆ２１６によりインターネットを介して接続される他の機器をダビング先に指定することも考えられる。
【図面の簡単な説明】
【０２７６】
【図１】この発明に適用可能なＡＶＣＨＤフォーマットに規定されるデータモデルを概略的に示す略線図である。
【図２】インデックステーブルを説明するための略線図である。
【図３】クリップＡＶストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すＵＭＬ図である。
【図４】複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。
【図５】記録媒体に記録されるファイルの管理構造を説明するための略線図である。
【図６】光ディスク以外の記録媒体に適用可能な一例の管理構造を示す略線図である。
【図７】ファイル"index.bdmv"の一例の構造を表すシンタクスを示す略線図である。
【図８】ブロックblkIndexes()の一例の構造を表すシンタクスを示す略線図である。
【図９】ファイル"MovieObject.bdmv"の一例の構造を表すシンタクスを示す略線図である。
【図１０】ブロックblkMovieObjects()の一例の構造を表すシンタクスを示す略線図である。
【図１１】プレイリストファイル"xxxxx.mpls"の一例の構造を表すシンタクスを示す略線図である。
【図１２】ブロックblkPlayList()の一例の構造を表すシンタクスを示す略線図である。
【図１３】ブロックblkPlayItem()の一例の構造を表すシンタクスを示す略線図である。
【図１４】第１および第２のシームレス接続を説明するための略線図である。
【図１５】ブロックblkPlayListMark()の一例の構造を表すシンタクスを示す略線図である。
【図１６】クリップインフォメーションファイルの一例の構造を表すシンタクスを示す略線図である。
【図１７】ブロックblkClipInfo()の一例の構造を表すシンタクスを示す略線図である。
【図１８】ブロックblkCPI()の一例の構造を表すシンタクスを示す略線図である。
【図１９】ブロックblkEPMap()の一例の構造を表すシンタクスを示す略線図である。
【図２０】ブロックblkEPMapForOneStreamPID(EP_stream_type, Nc, Nf)の一例の構造を表すシンタクスを示す略線図である。
【図２１】エントリPTSEPCoarseおよびエントリPTSEPFineの一例のフォーマットについて示す略線図である。
【図２２】エントリSPNEPCoarseおよびエントリSPNEPFineの一例のフォーマットについて示す略線図である。
【図２３】仮想プレーヤの動作を概略的に示すフローチャートである。
【図２４】仮想プレーヤの動作を概略的に示す略線図である。
【図２５】この発明に適用可能な記録再生装置の一例の構成を示すブロック図である。
【図２６】この発明に適用可能な一例のデータ構造を示す略線図である。
【図２７】この実施の第１の形態による一例のダビング処理を示すフローチャートである。
【図２８】選択されたコンテンツの情報に基づき当該コンテンツがダビング可能か否かを判断する場合の一例の処理を示すフローチャートである。
【図２９】チャプタとプレイアイテムとクリップインフォメーションとの関係に応じてダビング先のプレイアイテムおよびクリップインフォメーションを作成する例について説明するための略線図である。
【図３０】チャプタとプレイアイテムとクリップインフォメーションとの関係に応じてダビング先のプレイアイテムおよびクリップインフォメーションを作成する例について説明するための略線図である。
【図３１】チャプタとプレイアイテムとクリップインフォメーションとの関係に応じてダビング先のプレイアイテムおよびクリップインフォメーションを作成する例について説明するための略線図である。
【図３２】チャプタとプレイアイテムとクリップインフォメーションとの関係に応じてダビング先のプレイアイテムおよびクリップインフォメーションを作成する例について説明するための略線図である。
【図３３】対象のチャプタが参照するプレイアイテムのシームレス接続を示す情報を決定するための一例の処理を示すフローチャートである。
【図３４】この発明の実施の第１の形態の変形例によるビデオカメラ装置の一例の構成を示すブロック図である。
【図３５】一般的なコンピュータの一例の構成を示すブロック図である。
【符号の説明】
【０２７７】
１１  ビデオコーデック部
１２  オーディオコーデック部
１３  マルチプレクサ
１４  デマルチプレクサ
１５  ストリームバッファ
１６  管理情報処理部
１７  メモリ
２０  記録再生制御部
２１  ハードディスク
２２  ドライブ装置
２３  ＤＶＤ
２４  メモリ
３０  制御部
１００  記録再生装置
２００  コンピュータ
２１０  バス
２１１  ＣＰＵ
２１２  ＲＡＭ
２２３  リード／ライト制御部
２２４  ドライブ装置
２３０  ハードディスク
２３１  ＤＶＤ
【図１】
2008299948.tif 000003
【図２】
2008299948.tif 000004
【図３】
2008299948.tif 000005
【図４】
2008299948.tif 000006
【図５】
2008299948.tif 000007
【図６】
2008299948.tif 000008
【図７】
2008299948.tif 000009
【図８】
2008299948.tif 000010
【図９】
2008299948.tif 000011
【図１０】
2008299948.tif 000012
【図１１】
2008299948.tif 000013
【図１２】
2008299948.tif 000014
【図１３】
2008299948.tif 000015
【図１４】
2008299948.tif 000016
【図１５】
2008299948.tif 000017
【図１６】
2008299948.tif 000018
【図１７】
2008299948.tif 000019
【図１８】
2008299948.tif 000020
【図１９】
2008299948.tif 000021
【図２０】
2008299948.tif 000022
【図２１】
2008299948.tif 000023
【図２２】
2008299948.tif 000024
【図２３】
2008299948.tif 000025
【図２４】
2008299948.tif 000026
【図２５】
2008299948.tif 000027
【図２６】
2008299948.tif 000028
【図２７】
2008299948.tif 000029
【図２８】
2008299948.tif 000030
【図２９】
2008299948.tif 000031
【図３０】
2008299948.tif 000032
【図３１】
2008299948.tif 000033
【図３２】
2008299948.tif 000034
【図３３】
2008299948.tif 000035
【図３４】
2008299948.tif 000036
【図３５】
2008299948.tif 000037