(57)【要約】本発明は、情報記録媒体に記録されているデータが編集された場合において、再生を適切に制御することができるようにしたデータ記録装置および方法、プログラム格納媒体、並びにプログラムに関する。ＡＶストリームファイルが編集された場合、ＤＶ記録再生装置の制御部は、前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔが指すフレームのデータを含むＥｘｔｅｎｔのうち、前のＰｌａｙＩｔｅｍで再生されるＩｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１Ｐと、現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔが指すフレームのデータを含むＥｘｔｅｎｔのうち、現在のＰｌａｙＩｔｅｍで再生されるＩｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１Ｃのサイズを、最小Ｅｘｔｅｎｔサイズと比較して、ｃｏｎｎｃｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ情報を設定する。本発明は、光ディスクにビデオデータを記録するＤＶ記録再生装置に適用することができる。
2003085972.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置において、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成手段と、
前記ビデオデータ、前記リスト情報、および前記接続情報を前記情報記録媒体に記録する記録手段と
を備え、
前記生成手段は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成する
ことを特徴とするデータ記録装置。
【請求項２】
前記アイテム情報により接続される接続点に隣接する２つの前記第１の情報のデータ量が所定のデータ量を超えるか否かを検出する検出手段をさらに備え、
前記生成手段は、前記検出手段の検出結果に基づいて前記接続情報を生成する
ことを特徴とする請求の範囲第１項に記載のデータ記録装置。
【請求項３】
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報である
ことを特徴とする請求の範囲第２項に記載のデータ記録装置。
【請求項４】
前記記録手段は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていない情報である場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して、新たな第２の情報を生成し、前記情報記録媒体の空き領域に記録する
ことを特徴とする請求の範囲第３項に記載のデータ記録装置。
【請求項５】
前記ビデオデータは、全てのフレームがフレーム内符号化されたデータである
ことを特徴とする請求の範囲第１項に記載のデータ記録装置。
【請求項６】
前記ビデオデータは、全てのフレームが固定のデータ量とされているデータである
ことを特徴とする請求の範囲第１項に記載のデータ記録装置。
【請求項７】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置のデータ記録方法において、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含み、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、前記接続情報を生成する
ことを特徴とするデータ記録方法。
【請求項８】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置を制御するコンピュータのプログラムであって、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含み、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、前記接続情報を生成する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されているプログラム格納媒体。
【請求項９】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置を制御するコンピュータに、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含む処理を実行させ、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、前記接続情報を生成する
ことを特徴とするプログラム。
【請求項１０】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置において、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成手段と、
前記ビデオデータ、前記リスト情報、および前記接続情報を前記情報記録媒体に記録する記録手段と
を備え、
前記生成手段は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成し、
前記記録手段は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して第２の情報を生成し、前記情報記録媒体の空き領域に記録し、
前記生成手段は、前記記録手段により前記第２の情報が記録された場合、前記接続情報を、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更する
ことを特徴とするデータ記録装置。
【請求項１１】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置のデータ記録方法において、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含み、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成し、
前記記録制御ステップの処理は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して第２の情報を生成し、前記情報記録媒体の空き領域に記録し、
前記生成ステップの処理は、前記記録ステップの処理により前記第２の情報が記録された場合、前記接続情報を、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更する
ことを特徴とするデータ記録方法。
【請求項１２】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置を制御するコンピュータのプログラムであって、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含み、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成し、
前記記録制御ステップの処理は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して第２の情報を生成し、前記情報記録媒体の空き領域に記録し、
前記生成ステップの処理は、前記記録ステップの処理により前記第２の情報が記録された場合、前記接続情報を、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されているプログラム格納媒体。
【請求項１３】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置を制御するコンピュータに、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含む処理を実行させ、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成し、
前記記録制御ステップの処理は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して第２の情報を生成し、前記情報記録媒体の空き領域に記録し、
前記生成ステップの処理は、前記記録ステップの処理により前記第２の情報が記録された場合、前記接続情報を、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更する
ことを特徴とするプログラム。
【発明の詳細な説明】
技術分野
本発明はデータ記録装置および方法、プログラム格納媒体、並びにプログラムに関し、特に、情報記録媒体に記録されているデータが編集され、任意のビデオデータを任意の順序で再生する場合においても、再生を適切に制御することができるようにしたデータ記録装置および方法、データ再生装置および方法、情報記録媒体、プログラム格納媒体、並びにプログラムに関する。
背景技術
ＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）信号を情報量圧縮する高能率符号化方式の１つにＤＶ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ）方式がある。この符号化方式は、Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  Ｃｏｎｓｕｍｅｒ−Ｕｓｅ  Ｄｉｇｉｔａｌ  ＶＣＲｓ  ｕｓｉｎｇ  ６．３ｍｍ  ｍａｇｎｅｔｉｃ  ｔａｐｅ，ＨＤ  ＤＩＧＩＴＡＬ  ＶＣＲ  ＣＯＮＦＥＲＥＮＣＥに開示されている。ＤＶは、ビデオカセットテープを用いるカムコーダ（カメラ一体型のビデオテープレコーダ）等に応用されている。
ＤＶ信号は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）１３９４ディジタルインターフェース（以下、ＩＥＥＥ１３９４  Ｉ／Ｆと称する）経由で入出力できる。このＩＥＥＥ１３９４  Ｉ／Ｆを流れる信号のフォーマットを図１に示す。
ＩＥＥＥ１３９４  Ｉ／Ｆ上では、ＤＶ信号をＤＩＦブロックと呼ばれる８０バイトのブロック単位に扱い、１５０ＤＩＦ  ｂｌｏｃｋ（ブロック）で、１ＤＩＦ  Ｓｅｑｕｅｎｃｅ（シーケンス）を構成する。ＤＩＦ  Ｓｅｑｕｅｎｃｅは、ｈｅａｄｅｒ  ｓｅｃｔｉｏｎ，ｓｕｂｃｏｄｅ  ｓｅｃｔｉｏｎ，ＶＡＵＸ  ｓｅｃｔｉｏｎ，およびＡｕｄｉｏ＆ｖｉｄｅｏ  ｓｅｃｔｉｏｎを持つ。ＳＤ−ＤＶＣＲ（スタンダードＴＶ（テレビジョン）信号の標準圧縮モード）の場合、１ビデオフレームは、例えば、ＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ）方式のような５２５−６０システムでは、１０ＤＩＦ  ｓｅｑｕｅｎｃｅで構成され、また、例えば、ＰＡＬ（Ｐｈａｓｅ  Ａｌｔｅｒｎａｔｉｎｇ  Ｌｉｎｅ）方式のような６２５−５０システムでは、１２ＤＩＦ  ｓｅｑｕｅｎｃｅで構成される。なお、ＳＤＬ−ＤＶＣＲ（スタンダードＴＶ信号の高圧縮モード）の場合、１ビデオフレームは、５２５−６０システムでは、５ＤＩＦ  ｓｅｑｕｅｎｃｅで構成され、また、６２５−５０システムでは、６ＤＩＦ  ｓｅｑｕｅｎｃｅで構成される。
ＤＩＦ  ｂｌｏｃｋは、先頭の３バイトのＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）と、７７バイトのデータから構成される。ＩＤには、ｓｅｃｔｉｏｎ（セクション）のｔｙｐｅ（タイプ）を表すＤＩＦ  ｂｌｏｃｋ  ｔｙｐｅ，カラーシーケンスを表すｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒ，ＤＩＦ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒ，およびＤＩＦ  ｂｌｏｃｋ  ｎｕｍｂｅｒがある。ＤＩＦ  ｓｅｑｕｅｎｃｅの先頭はＤＩＦ  ｂｌｏｃｋのＩＤ内にあるＤＩＦ  ｂｌｏｃｋ  ｔｙｐｅを見て、Ｈｅａｄｅｒ  ｓｅｃｔｉｏｎであれば、そこがＤＩＦ  ｓｅｑｕｅｎｃｅの先頭である。Ｈｅａｄｅｒ  ｓｅｃｔｉｏｎのＤＩＦ  Ｂｌｏｃｋは、１バイト目の上位３ｂｉｔが０００である。
このようなフォーマットのＤＶ信号は、Ｉｓｏｃｈｒｏｎｏｕｓパケットの形で、ＩＥＥＥ１３９４  Ｉ／Ｆ上を流れる。ＤＶ信号を伝送するＩｓｏｃｈｒｏｎｏｕｓパケットのペイロードをｓｏｕｒｃｅ  ｐａｃｋｅｔ（ソースパケット）と呼ぶ。１つのＳｏｕｒｃｅ  ｐａｃｋｅｔのサイズは、６ＤＩＦ  ｂｌｏｃｋ（４８０バイト）の固定長である。
５２５−６０システムのＤＩＦ  ｂｌｏｃｋとソースパケットの関係を図２に示す。ＤＶストリームは、各フレームが、全て、フレーム内符号化され、１フレームが１２０，０００バイトの固定ビットレートであるので、１ビデオフレーム当たりのｓｏｕｒｃｅ  ｐａｃｋｅｔ数は固定である。ＳＤ−ＤＶＣＲの１ビデオフレーム当たりのｓｏｕｒｃｅ  ｐａｃｋｅｔ数は、５２５−６０ｓｙｓｔｅｍでは２５０個であり、６２５−５０ｓｙｓｔｅｍでは３００個である。ＤＶ規格では、以上のようなＤＩＦ  ｂｌｏｃｋを、幅６．３５ｍｍのテープ記録媒体に記録している。
ところで、近年、記録再生装置から取り外し可能なディスク型の情報記録媒体として、各種の光ディスクが提案されつつある。このような記録可能な光ディスクは、数ギガバイトの大容量メディアと数十Ｍｂｐｓの高転送ビットレートの特徴を持ち、ビデオ信号等のＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）信号を記録するメディアとしての期待が高い。今後は、カムコーダ等でテープに記録したＤＶ信号をＩＥＥＥ１３９４  Ｉ／Ｆを経由して、光ディスクへ記録するＤＶ記録再生装置が求められると予想される。
上述したように、記録媒体の容量が増大することにより、その記録媒体には、多くのデータ（例えば、ビデオ素材に関する映像データや音声データなど）が記録できるようになる。従って、１枚のディスクに多くのＤＶビデオ素材が記録されることになり、ユーザが、それらのディスク内に記録されている多くのＤＶビデオ素材の中から、所望の画像を視聴できるように編集するといったような操作が必要になる。
しかしながら、編集されたデータを再生する（ディスク上に散らばるシーンを任意の順序で並べたものを再生する）場合、各シーン単体では、滑らかに再生する（元々、ディスクに連続的に記録されたシーンであるため、勿論滑らかに再生する）が、編集によって生じたシーンとシーンのつなぎ目においては、滑らかに再生されるとは限らない。
具体的には、シーンのつなぎ目において、光学ピックアップの移動や、ディスクの回転待ちが発生し、その間、データの読み込みが停止するため、読み込みバッファに蓄積されているデータがなくなると、データのデコード動作が停止してしまう。このため、表示画像が一時停止する、音声が途切れるなどの、再生の不連続が生じるという課題があった。
発明の開示
本発明はこのような状況に鑑みてなされたものであり、記録媒体に記録されているＤＶビデオ素材の内容を編集した場合においても、記録媒体に記録されているデータの再生制御をより適切に行なうことができるようにすることを目的とする。
本発明の第１のデータ記録装置は、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成手段と、ビデオデータ、リスト情報、および接続情報を情報記録媒体に記録する記録手段とを備え、生成手段は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成することを特徴とする。
第１のデータ記録装置は、記録専用の装置として構成しても良いし、記録と再生の両方を実行する装置の記録処理を行うブロックとして構成してもよい。
アイテム情報により接続される接続点に隣接する２つの第１の情報のデータ量が所定のデータ量を超えるか否かを検出する検出手段をさらに含み、生成手段は、検出手段の検出結果に基づいて接続情報を生成するようにすることができる。
接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であるようにすることができる。
記録手段は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていない情報である場合、隣接する２つのアイテム情報の第１の情報を複製して、新たな第２の情報を生成し、情報記録媒体の空き領域に記録するようにすることができる。
ビデオデータは、全てのフレームがフレーム内符号化されたデータであるようにすることができる。
ビデオデータは、全てのフレームが固定のデータ量とされているデータであるようにすることができる。
本発明の第１のデータ記録方法は、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含み、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、接続情報を生成することを特徴とする。
本発明の第１のプログラム格納媒体に格納されているプログラムは、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含み、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、接続情報を生成することを特徴とする。
本発明の第１のプログラムは、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含む処理を実行させ、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、接続情報を生成することを特徴とする。
本発明の第２のデータ記録装置は、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成手段と、ビデオデータ、リスト情報、および接続情報を情報記録媒体に記録する記録手段とを備え、生成手段は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成し、記録手段は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報を複製して第２の情報を生成し、情報記録媒体の空き領域に記録し、生成手段は、記録手段により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更することを特徴とする。
第２のデータ記録装置は、記録専用の装置として構成しても良いし、記録と再生の両方を実行する装置の記録処理を行うブロックとして構成してもよい。
本発明の第２のデータ記録方法は、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含み、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成し、記録制御ステップの処理は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報を複製して第２の情報を生成し、情報記録媒体の空き領域に記録し、生成ステップの処理は、記録ステップの処理により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更することを特徴とする。
本発明の第２のプログラム格納媒体に格納されているプログラムは、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含み、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成し、記録制御ステップの処理は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報を複製して第２の情報を生成し、情報記録媒体の空き領域に記録し、生成ステップの処理は、記録ステップの処理により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更することを特徴とする。
本発明の第２のプログラムは、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含む処理を実行させ、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成し、記録制御ステップの処理は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報を複製して第２の情報を生成し、情報記録媒体の空き領域に記録し、生成ステップの処理は、記録ステップの処理により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更することを特徴とする。
本発明の第１のデータ記録装置および方法、第１のプログラム格納媒体、並びに第１のプログラムにおいては、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報が生成され、ビデオデータ、リスト情報、および接続情報が情報記録媒体に記録される。また、生成手段により、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、接続情報が生成される。
本発明の第２のデータ記録装置および方法、第２のプログラム格納媒体、並びに第２のプログラムにおいては、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報が生成され、ビデオデータ、リスト情報、および接続情報が情報記録媒体に記録される。また、生成手段により、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報が生成され、記録手段により、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報が複製され第２の情報が生成され、情報記録媒体の空き領域に記録される。さらに、生成手段により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更される。
発明を実施するための最良の形態
本発明において、映像および音声をディジタル符号化したデータ（ビデオデータ）を、ファイルシステムが扱うファイル形式にし、ディスクに記録したものをＣｌｉｐ（クリップ）ＡＶストリームファイルと称する。
このようなＣｌｉｐ  ＡＶストリームファイルの一部または全ての範囲を指定して、必要な部分だけを並べて再生する再生順序指定の仕組みを説明する。図３は、記録媒体（後述する図２６の記録媒体１０）上のアプリケーションフォーマットの簡単化された構造を示している。図３に示されるように、Ｃｌｉｐ  ＡＶストリームファイルの一部または全ての範囲を指定して、必要な部分だけを再生する再生順序指定がＰｌａｙＬｉｓｔ（プレイリスト）である。ＰｌａｙＬｉｓｔは、ユーザからみて、ひとまとまりの映像および音声の単位である。最も簡単なＰｌａｙＬｉｓｔとしては、記録開始から記録終了までの単位で、編集をしない場合には、通常、これが１つのＰｌａｙＬｉｓｔとなる。
ＰｌａｙＬｉｓｔは、どのＡＶストリームを再生するかという、Ｃｌｉｐ  ＡＶストリームファイルの指定と、そのファイル中の再生開始点（ＩＮ）と再生終了点（ＯＵＴ）の集まりで構成される。このＣｌｉｐ  ＡＶストリームファイルの指定と再生開始点（ＩＮ）・再生終了点（ＯＵＴ）の情報を１組とし、これをＰｌａｙＩｔｅｍ（プレイアイテム）と称する。ＰｌａｙＬｉｓｔはＰｌａｙＩｔｅｍの集合で構成される。ＰｌａｙＩｔｅｍを再生するということは、そのＰｌａｙＩｔｅｍが参照するＣｌｉｐ  ＡＶストリームの一部分を再生することと等価である。
ＰｌａｙＬｉｓｔには、２つのタイプがある。１つは、Ｒｅａｌ  ＰｌａｙＬｉｓｔ（リアルプレイリスト）であり、もう１つは、Ｖｉｒｔｕａｌ  ＰｌａｙＬｉｓｔ（バーチャルプレイリスト）である。Ｒｅａｌ  ＰｌａｙＬｉｓｔは、Ｃｌｉｐ（クリップ）をユーザに提示する役割を持ち、通常、ＣｌｉｐはいずれかのＲｅａｌ  ＰｌａｙＬｉｓｔから参照されている。このため、Ｒｅａｌ  ＰｌａｙＬｉｓｔの再生時間の合計は、ディスク上に存在するＣｌｉｐの総再生時間と一致する。つまり、２つ以上のＲｅａｌ  ＰｌａｙＬｉｓｔが、Ｃｌｉｐの同一箇所を参照することはない。
Ｒｅａｌ  ＰｌａｙＬｉｓｔは、Ｃｌｉｐの一部または全部を排他的に参照している。ＡＶストリームが新しいＣｌｉｐとして記録される場合、そのＣｌｉｐ全体の再生可能範囲を参照するＲｅａｌ  ＰｌａｙＬｉｓｔが自動的に生成される。Ｒｅａｌ  ＰｌａｙＬｉｓｔの再生範囲の一部分が消去された場合、それが参照しているＣｌｉｐのストリーム部分のデータもまた消去される。
Ｖｉｒｔｕａｌ  ＰｌａｙＬｉｓｔは、Ｃｌｉｐのデータを排他的に占有してはいないＰｌａｙＬｉｓｔである。そのため、Ｃｌｉｐの同一箇所を複数のＶｉｒｔｕａｌ  ＰｌａｙＬｉｓｔが参照する状況も可能である。Ｖｉｒｔｕａｌ  ＰｌａｙＬｉｓｔが変更または消去されたとしても、Ｖｉｒｔｕａｌ  ＰｌａｙＬｉｓｔの構成情報が更新されるだけで、Ｃｌｉｐは何も変化しない。
なお、以下の説明においては、Ｒｅａｌ  ＰｌａｙＬｉｓｔとＶｉｒｔｕａｌ  ＰｌａｙＬｉｓｔを総称して単に、ＰｌａｙＬｉｓｔと称する。
Ｃｌｉｐ  ＡＶストリームには、画像・音声を符号化したデータが記録されているが、このＣｌｉｐ  ＡＶストリームに１対１に対応するファイル（クリップ情報ファイル（以下、Ｃｌｉｐ  ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅと称する））も記録される。これは、再生、編集をより容易にするための付属情報が格納されたファイルである。このＣｌｉｐ  ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅと、Ｃｌｉｐ  ＡＶストリームの両方をひとまとまとりのオブジェクトとみなし、これをＣｌｉｐ（クリップ）と称する。すなわち、ＣｌｉｐはＣｌｉｐ  ＡＶストリームとそれに付随する情報から構成される１つのオブジェクトである。
このように、Ｃｌｉｐ、ＰｌａｙＩｔｅｍ、ＰｌａｙＬｉｓｔという図３に示されるような構造を定義することにより、ＡＶストリームファイルを変更せずに、任意の部分だけを再生する非破壊再生順序指定が可能となる。
図４は、ＰｌａｙＬｉｓｔファイルにストアされるＰｌａｙＬｉｓｔ（）のシンタクスを示す。
ｌｅｎｇｔｈは、ｌｅｎｇｔｈの直後のフィールドから、ＰｌａｙＬｉｓｔ（）の終わりまでのバイト長を示す。ＰＬ＿ＣＰＩ＿ｔｙｐｅは、このＰｌａｙＬｉｓｔが持つＣＰＩ（特長点情報）の種類を表す。ｎｕｍｂｅｒ＿ｏｆ＿ＰｌａｙＩｔｅｍｓは、このＰｌａｙＬｉｓｔを構成するＰｌａｙＩｔｅｍの数を表す。ｎｕｍｂｅｒ＿ｏｆ＿ＳｕｂＰｌａｙＩｔｅｍｓは、このＰｌａｙＬｉｓｔに付けられているアフレコオーディオ用のＰｌａｙＩｔｅｍ（ＳｕｂＰｌａｙＩｔｅｍ）の数を表す。
また、ＰｌａｙＩｔｅｍ（）はＰｌａｙＩｔｅｍの情報を、ＳｕｂＰｌａｙＩｔｅｍ（）はＳｕｂＰｌａｙＩｔｅｍの情報を格納する。
ＰｌａｙＬｉｓｔがＶｉｒｔｕａｌ  ＰｌａｙＬｉｓｔであり、かつ、ＣＰＩが図４に示されるような条件を満たす時だけ、ＳｕｂＰｌａｙＩｔｅｍを持つことが出来るようなシンタクスである。
ＳｕｂＰｌａｙＩｔｅｍ（）は、編集する場合、ＰｌａｙＬｉｓｔにアフレコ音声等を追加するときに用いる構造であるが、本発明と関連が低いため、詳細な説明は割愛する。
図５は、ＰｌａｙＩｔｅｍ（）のシンタクスを示す。ｌｅｎｇｔｈは、ｌｅｎｇｔｈの直後のフィールドから、ＰｌａｙＩｔｅｍ（）の終わりまでのバイト長を示す。
Ｃｌｉｐ＿Ｉｎｆｏｒｍａｔｉｏｎ＿ｆｉｌｅ＿ｎａｍｅは、このＰｌａｙＩｔｅｍが参照しているＣｌｉｐのＣｌｉｐ情報ファイル（後述する図１０において拡張子がｃｌｐｉであるファイル）のファイル名が文字列で格納されている。
Ｃｌｉｐ＿ｃｏｄｅｃ＿ｉｄｅｎｔｉｆｉｅｒは、このＰｌａｙＩｔｅｍが参照しているＣｌｉｐ  ＡＶストリームが、どのような符号化方式により生成されたデータであるかを示す。ＤＶ方式で符号化されている場合は、ＩＳＯ６４６で符号化された文字列″ＤＶＳＤ″が入る。
ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎは、このＰｌａｙＩｔｅｍが次のＰｌａｙＩｔｅｍとの間でどのような接続がされているかを表す情報であり、ＰｌａｙＩｔｅｍの間を継ぎ目なく再生できるかを表している。ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの詳細は後述する。
ｒｅｆ＿ｔｏ＿ＳＴＣ＿ｉｄは、ＤＶストリームの場合、ＣＰＩ＿ｔｙｐｅが１ではないので、適用されない。
ＩＮ＿ｔｉｍｅは、このＰｌａｙＩｔｅｍの開始点（ＩＮ点）の、Ｃｌｉｐ内で一意の位置を指定するＰＴＳ（ｐｒｅｓｅｎｔａｔｉｏｎ＿ｔｉｍｅ＿ｓｔａｍｐ：４５ｋＨｚカウンタのカウンタ値）を表し、ＯＵＴ＿ｔｉｍｅはＰｌａｙＩｔｅｍの終了点（ＯＵＴ点）の、Ｃｌｉｐ内で一意の位置を指定するＰＴＳを表す。
図６は、Ｃｌｉｐ  ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅ（Ｃｌｉｐ  ｉｎｆｏｒｍａｔｉｏｎファイル）とＣｌｉｐ  ＡＶ  ｓｔｒｅａｍ  ｆｉｌｅ（Ｃｌｉｐ  ＡＶストリームファイル）の関係を示す図である。Ｃｌｉｐ  ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅは、１対１に対応するＣｌｉｐ  ＡＶ  ｓｔｒｅａｍ  ｆｉｌｅのデータ形式を表す属性情報、およびＡＶストリーム上の時間軸情報を管理するデータベースが格納されたファイルである。このＣｌｉｐ  ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅには、データの内容を管理するためのＤＶ＿Ｃｌｉｐ情報と、ＡＶストリーム上の時間軸情報を管理するためのＤＶＦ−ｓｅｑｕｅｎｃｅ情報が含まれている。
図７は、Ｃｌｉｐ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｆｉｌｅのシンタクスを示す。図７に示されるように、Ｃｌｉｐ全般の属性をあらわす構造としてＤＶ＿ＣｌｉｐＩｎｆｏ（）があり、ＡＶストリーム上の時間軸情報を管理するＤＶＦ−Ｓｅｑｕｅｎｃｅの情報を格納するために、ＤＶＦ＿ＳｅｑｕｅｃｎｅＩｈｆｏ（）がある。ＣｌｉｐＭａｒｋ（）やＭａｋｅｒｓＰｒｉｖａｔｅＤａｔａ（）もＣｌｉｐに関連する情報を格納するデータ構造であるが、本発明とは関連が低いので、詳細は割愛する。
図８は、ＣｌｉｐＩｎｆｏ（）のシンタクスを示す。ｌｅｎｇｔｈは、ｌｅｎｇｔｈの直後のフィールドから、ＤＶ＿ＣｌｉｐＩｎｆｏ（）の終わりまでのバイト長を示す。
Ｃｌｉｐ＿ｓｔｒｅａｍ＿ｔｙｐｅは、値が１の時は、このＣｌｉｐに対応するＡＶストリームファイルのストリームが通常のＡＶストリームが格納されたＣｌｉｐ  ＡＶストリームであることをあらわし、値が２の時は、後述するシームレス接続のためのブリッジＣｌｉｐ  ＡＶストリームであることを示す。ＤＶ＿ｔｙｐｅによって、１ＤＶフレームのバイトサイズがわかる。ＤＶ＿ｆｏｒｍａｔ＿ｔｙｐｅには、ＳＤ−ＤＶＣＲ  ５２５−６０  ｓｙｓｔｅｍ（１２０，０００ｂｙｔｅ），ＳＤ−ＤＶＣＲ  ６２５−５０  ｓｙｓｔｅｍ（１４４，０００ｂｙｔｅ），ＳＤＬ−ＤＶＣＲ  ５２５−６０  ｓｙｓｔｅｍ（６０，０００ｂｙｔｅ）またはＳＤＬ−ＤＶＣＲ  ６２５−５０  ｓｙｓｔｅｍ（７２，０００ｂｙｔｅ）などの種類がある（カッコの中は、それぞれの場合の１フレームのバイトサイズを表わす）。
図９は、ＤＶＦ＿ＳｅｑｕｅｎｃｅＩｎｆｏ（）のシンタクスを示す。ｎｕｍ＿ｏｆ＿ＤＶＦ＿ｓｅｑｕｅｎｃｅｓは、ＡＶストリームファイルの中にあるＤＶＦ−ｓｅｑｕｅｎｃｅの数を示す。
ｏｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［ｄｖｓｑ＿ｉｄ］は、ＡＶストリームファイルのｄｖｓｑ＿ｉｄによって参照されるＤＶＦ−ｓｅｑｕｅｎｃｅ上の最初のＤＶフレームに対するオフセットのフレーム番号を示す。このフレーム番号により、ＤＶＦ−ｓｅｑｕｅｎｃｅ上の最初に表示されるＤＶフレームの再生時刻ｐｒｅｓｅｎｔａｔｉｏｎ＿ｓｔａｒｔ＿ｔｉｍｅ［ｄｖｓｑ＿ｉｄ］が決まり、その後に続く各ＤＶフレームに対して連続な時刻が割り当てられる。
ｏｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［ｄｖｓｑ＿ｉｄ］を適切に設定することで、各ＤＶフレームの時刻はＣｌｉｐ内で一意の時刻となる。この再生時刻は、ＰｌａｙＩｔｅｍのＩＮ＿ｔｉｍｅ，ＯＵＴ＿ｔｉｍｅでの指定に使われる。再生時刻の値は、時間を４５ｋＨｚでカウントしたときのカウント値（つまり１／４５０００［秒］の精度）とする。
ｐｒｅｓｅｎｔａｔｉｏｎ＿ｓｔａｒｔ＿ｔｉｍｅ［ｄｖｓｑ＿ｉｄ］は、式（１）によって求められる。
ｐｒｅｓｅｎｔａｔｉｏｎ＿ｓｔａｒｔ＿ｔｉｍｅ［ｄｖｓｑ＿ｉｄ］＝ｏｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［ｄｖｓｑ＿ｉｄ］×（４５０００／２９．９７）・・・（１）
また、ｎｕｍ＿ｏｆ＿ｆｒａｍｅｓ［ｄｖｓｑ＿ｉｄ］により、ＩＮ，ＯＵＴ点で指定されるＤＶＦ＿ｓｅｑｕｅｎｃｅ上の、時刻範囲（ＰｌａｙＩｔｅｍ（）のＩＮ＿ｔｉｍｅ，ＯＵＴ＿ｔｉｍｅがｄｖｆ＿ｉｄで指定されるＤＶＦ＿ｓｅｑｕｅｎｃｅ上を指している場合の時刻範囲）は式（２）を参照して求められる。
ｐｒｅｓｅｎｔａｔｉｏｎ＿ｓｔａｒｔ＿ｔｉｍｅ［ｄｖｓｑ＿ｉｄ］〈＝ＩＮ＿ｔｉｍｅ，ＯＵＴ＿ｔｉｍｅ
〈＝ｐｒｅｓｅｎｔａｔｉｏｎ＿ｓｔａｒｔ＿ｔｉｍｅ［ｄｖｓｑ＿ｉｄ］＋ｎｕｍ＿ｏｆ＿ｆｒａｍｅｓ［ｄｖｓｑ＿ｉｄ］×（４５０００／２９．９７）・・・（２）
式（２）において、ｎｕｍ＿ｏｆ＿ｆｒａｍｅｓ［ｄｖｓｑ＿ｉｄ］は、ｄｖｓｑ＿ｉｄによって参照されるＤＶＦ−ｓｅｑｕｅｎｃｅ上にあるフレーム数を示す。これは、ｌｅａｄｉｎｇ＿ｄａｔａ＿ｓｉｚｅ［ｄｖｓｑ＿ｉｄ］によって位置が決まる最初のＤＶフレームから、ｔｒａｉｌｉｎｇ＿ｄａｔａ＿ｓｉｚｅ［ｄｖｓｑ＿ｉｄ］によって決まる最後のＤＶフレームまでの区間に含まれるフレームの数である。
ｌｅａｄｉｎｇ＿ｄａｔａ＿ｓｉｚｅ［ｄｖｓｑ＿ｉｄ］は、ｄｖｓｑ＿ｉｄによって参照されるＤＶＦ−ｓｅｑｕｅｎｃｅ上の最初のＤＶフレームの前にあるデータのバイト数を示す。
ｔｒａｉｌｉｎｇ＿ｄａｔａ＿ｓｉｚｅ［ｄｖｓｑ＿ｉｄ］は、ｄｖｓｑ＿ｉｄによって参照されるＤＶＦ−ｓｅｑｕｅｎｃｅ上の最後のＤＶフレームの後ろに続くデータのバイト数を示す。
ＤＶＦ＿ＳｅｑｕｅｎｃｅＩｎｆｏ（）の中でエントリーされるｏｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［ｄｖｓｑ＿ｉｄ］の値は、昇順に並んでいる。すなわち、ＤＶＦ＿ＳｅｑｕｅｎｃｅＩｎｆｏ（）の中でエントリーされるｏｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［ｄｖｓｑ＿ｉｄ］は、式（３）および式（４）に示される条件を満たす。
ｏｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［０］≧０・・・（３）
０〈ｄｖｓｑ＿ｉｄ〈ｎｕｍ＿ｏｆ＿ＤＶＦ＿ｓｅｑｕｅｎｃｅｓであるｄｖｓｑ＿ｉｄについて、ｏｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［ｄｖｓｑ＿ｉｄ］〉ｏｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［ｄｖｓｑ＿ｉｄ−１］＋ｎｕｍ＿ｏｆ＿ｆｒａｍｅｓ［ｄｖｓｑ＿ｉｄ−１］・・・（４）
ただし、ＤＶ  ＣｌｉｐがクリップＡＶストリームではなくブリッジクリップＡＶストリームの場合には別のルールが適用されるが、詳細は省略する。
以上が、ＤＶ記録用のデータ構造の概要である。このようなデータ構造により、ＤＶストリームをディスク状媒体にファイルの形で記録し、また、再生したい部分をＩＮ点およびＯＵＴ点の組で指定したＰｌａｙＩｔｅｍの並びでＰｌａｙＬｉｓｔを構築し、管理することが可能になる。
次に、図１０を参照して、各種の情報が記録再生される記録媒体（メディア）（後述する図２７の記録媒体１０）上のファイルについて説明する。まず、ディスク上にディレクトリＢＤＡＶを用意し、このディレクトリの下のディレクトリ・ファイルが、１つの記録再生システムで管理される範囲とする。ディレクトリＢＤＡＶは、ディスクのルートディレクトリにあっても良いし、あるディレクトリの下に存在していても良い。
ディレクトリＢＤＡＶには、ｉｎｆｏ．ｂｄａｖというファイルが置かれる。また、ディレクトリＢＤＡＶの下には、ディレクトリＰＬＡＹＬＩＳＴ，ディレクトリＣＬＩＰＩＮＦ，ディレクトリＳＴＲＥＡＭという各ディレクトリが置かれる。
ファイルｘｘｘｘｘ．ｒｐｌｓ，ｙｙｙｙｙ．ｖｐｌｓは、ディレクトリＰＬＡＹＬＩＳＴの下に置かれ、ディレクトリＣＬＩＰＩＮＦにはファイルｚｚｚｚｚ．ｃｌｐｉが置かれ、ディレクトリＳＴＲＥＡＭには、ファイルｚｚｚｚｚ．ｄｖｓｄが置かれる。
以上をまとめると、図１０に示されるように、ディレクトリＢＤＡＶの下には、以下のファイルが記録される。
１番目のファイルは、ディレクトリ全体に関する情報を格納するファイルとしての、ｉｎｆｏ．ｂｄａｖファイルである。
２番目のファイルは、プレイリストの情報を格納するファイルとしてのｘｘｘｘｘ．ｒｐｌｓおよびｙｙｙｙｙ．ｖｐｌｓファイルである。
拡張子が″ｒｐｌｓ″のファイルは、１個のＲｅａｌ  ＰｌａｙＬｉｓｔに関連する情報をストアする。それぞれのＲｅａｌ  ＰｌａｙＬｉｓｔ毎に、１個のファイルが作られる。ここで、″ｘｘｘｘｘ″は、５個の０から９までの数字である。
拡張子が″ｖｐｌｓ″のファイルは、１個のＶｉｒｔｕａｌ  ＰｌａｙＬｉｓｔに関連する情報をストアする。それぞれのＶｉｒｔｕａｌ  ＰｌａｙＬｉｓｔ毎に、１個のファイルが作られる。ここで、″ｙｙｙｙｙ″は、５個の０から９までの数字である。
３番目のファイルは、クリップの情報を格納するファイルで、Ｃｌｉｐに関する属性情報、ＤＶＦ−ｓｅｑｕｅｎｃｅに関する情報が格納されているｚｚｚｚｚ．ｃｌｐｉファイルである（図６参照）。このファイルは、１個のＣｌｉｐ  ＡＶストリームファイルに対応するＣｌｉｐ  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅである。″ｚｚｚｚｚ″は、５個の０から９までの数字である。
４番目のファイルは、Ｃｌｉｐ  ＡＶストリームが格納されているファイルとしてのｚｚｚｚｚ．ｄｖｓｄファイルである。ここで、ｚｚｚｚｚは、各ｄｖｓｄファイルがｃｌｐｉファイルと１対１に対応する番号である。
ファイルｉｎｆｏ．ｂｄａｖは、ディレクトリＢＤＡＶの下にだた１つある。ｉｎｆｏ．ｂｄａｖの内部は、機能別の情報ごとにブロックを構成しており、ｖｅｒｓｉｏｎ＿ｎｕｍｂｅｒ、ディレクトリＢＤＡＶに関する情報、Ｐｌａｙｌｉｓｔの並びに関する情報、記録再生装置のメーカ固有の情報から構成されている。ｉｎｆｏ．ｂｄａｖの内容は本発明とは関連が低いので、詳細については割愛する。
ファイルｘｘｘｘｘ．ｒｐｌｓおよびｙｙｙｙｙ．ｖｐｌｓは、ディレクトリＰＬＡＹＬＩＳＴの下にあり、各ＰｌａｙＬｉｓｔに対してファイル１つが１対１に対応している。
ｘｘｘｘｘ．ｒｐｌｓおよびｙｙｙｙｙ．ｖｐｌｓの構造を、図１１に示す。ファイルの内部は、機能別の情報ごとにブロックを構成しており、ＰｌａｙＬｉｓｔに関する属性情報はＵＩＡｐｐＩｎｆｏＰｌａｙＬｉｓｔ（）に、ＰｌａｙＬｉｓｔを構成するＰｌａｙＩｔｅｍに関する情報はＰｌａｙＬｉｓｔ（）に格納される。また、プレイリスト内に頭出し点を設定すること、またチャプターなどのプレイリストを細分化する構造を設けることを可能にするマークの情報はＰｌａｙＬｉｓｔＭａｒｋ（）に、このＰｌａｙＬｉｓｔファイルを記録した記録再生装置のメーカ固有の情報はＭａｋｅｒｓＰｒｉｖａｔｅＤａｔａ（）に、それぞれ格納される。
ファイルの先頭部分には、ブロックの先頭位置を表す３２ｂｉｔのアドレス（ＰｌａｙＬｉｓｔＭａｒｋ＿ｓｔａｒｔ＿ａｄｄｒｅｓｓ等）が記述されている。これにより、ブロックの前あるいは後ろに任意の長さのｐａｄｄｉｎｇ＿ｗｏｒｄを挿入することが可能となる。
ただし、ファイル内で最初のブロックであるＵＩＡｐｐＩｎｆｏＰｌａｙＬｉｓｔ（）の開始位置は固定で、ファイルの先頭から３２０バイト目となっている。
ＵＩＡｐｐＩｎｆｏＰｌａｙＬｉｓｔ（）、ＰｌａｙＬｉｓｔＭａｒｋ（）、およびＭａｋｅｒｓＰｒｉｖａｔｅＤａｔａ（）の説明は、本発明とは関連が低いので詳細を割愛する。
次に、Ｃｌｉｐ  ＡＶストリームファイルの構造を説明する。Ｃｌｉｐ  ＡＶストリームファイルは、ＩＥＥＥ１３９４  Ｉ／Ｆ経由を流れるＤＶ信号フォーマットの１ビデオフレーム（図２参照）を単位として記録される。
図１２に示されるように、１フレームごとにＤＶストリームを入力し、新規に記録媒体に記録するようにすると、図１３に示されるように、ＡＶストリームファイル上では、入力されてきたＤＶフレームのデータが順次詰められ、論理的に連続なバイト列として（図１３の例の場合、フレーム番号０，１，２，３，４で示されるフレームのバイト列として）記録される。
図１４は、図１３のＤＶＦ−ｓｅｑｕｅｎｃｅを説明する図である。横軸はファイルの先頭からのバイト位置を表わし、縦軸は、フレーム番号を表わす。図１２および図１３に示されるように、ＤＶストリームを新規に記録媒体に記録した場合、図１４に示されるように、ＤＶフレームの記録順にフレーム番号が割り当てられる。このように、ＡＶストリームファイルの中でフレーム番号が連続なＤＶフレームのバイト列をＤＶＦ−ｓｅｑｕｅｎｃｅと呼ぶ。図１３の例の場合、フレーム番号０から４が割り当てられた５枚のフレームからなるバイト列は、１個のＤＶＦ−ｓｅｑｕｅｎｃｅである（１個のＤＶＦ−ｓｅｑｕｅｎｃｅに対応する期間Ｔでは、フレーム番号が連続している）。ＤＶストリームを新規に記録媒体に記録する時、そのＣｌｉｐはＤＶフレーム番号の不連続点を含まず、ただ１つのＤＶＦ−ｓｅｑｕｅｎｃｅを持つ。
ファイルシステムはデータの記録と再生を、セクタと呼ばれるロジカルブロック単位に行うため、ＤＶストリームの記録と再生もセクタの倍数の単位で行われる。そのため、図１５に示されるように、ＡＶストリームファイルを新規に記録した時、ＤＶＦ−ｓｅｑｕｅｎｃｅの先頭はセクタ境界と整合するように記録される。図１５の上の段は、ＡＶストリームファイルを新規に記録した時のＤＶＦ−ｓｅｑｕｅｎｃｅを表わし、下の段は、そのときの記録媒体に記録されるデータ配置の例を表す。
ところで、１つのセクタのサイズは２０４８バイトであることが多いが、ＤＶの１フレーム分のデータサイズ（１２０，０００バイト）は、その２０４８バイトの整数倍ではない。よって、ファイル先頭のフレームデータ以外の、フレームデータの先頭バイトの位置は、必ずしもセクタの境界とは一致してはいない。そのため、ＡＶストリームファイルを１フレームのデータを単位として部分的に消去する場合でも、実際にはセクタの単位で消去をする必要がでてくる。
図１６は、図１５のＤＶＦ−ｓｅｑｕｅｎｃｅのはじめと終わりのデータを部分的に消去したときのディスク上のデータ配置を示す。この場合、ＤＶＦ−ｓｅｑｕｅｎｃｅの先頭がセクタ境界にアラインするようにデータを消去する（データは、セクタ単位で消去される）。そのため、最初の完全なＤＶフレームの前に、″Ｌｅａｄｉｎｇ＿ｄａｔａ＿ｓｉｚｅ″で示される大きさの、不完全なフレームデータ（削除されたフレームのデータ）が残る。また、ＤＶＦ−ｓｅｑｕｅｎｃｅの最後がセクタ境界にアラインするようにデータを消去する。そのため、最後の完全なＤＶフレームの後ろに、″Ｔｒａｉｌｉｎｇ＿ｄａｔａ＿ｓｉｚｅ″で示される大きさの、不完全なフレームデータ（削除されたフレームのデータ）が残る。
次に、上記のようにＣｌｉｐ  ＡＶストリームのデータが部分的に消去され、複数のＤＶＦ−ｓｅｑｕｅｎｃｅが生成される場合について説明する。
図１７は、ＤＶストリームを新規に記録媒体に記録する時にできるＤＶＦ−ｓｅｑｕｅｎｃｅを示す。このフレーム番号ＦＮ＝ａからＦＮ＝ｂの再生区間と、ＦＮ＝ｃからＦＮ＝ｄの再生区間を残して、不要な再生区間のデータを消去する場合を考える。図１８は、データを消去する前（編集前）の図１７のＤＶＦ−ｓｅｑｕｅｎｃｅのフレーム番号（ＦＮ）を示す図である（図１４に対応する）。この場合、ＤＶＦ−ｓｅｑｕｅｎｃｅのフレーム番号は、ＤＶＦｓｅｑｕｅｎｃｅのバイト数に対して比例している。
図１９に、図１７において、フレーム番号ＦＮ＝ａからＦＮ＝ｂの再生区間と、ＦＮ＝ｃからＦＮ＝ｄの再生区間を残して、不要な再生区間のデータを消去した結果を示す。このような編集が行なわれると、Ｃｌｉｐ（図１９）には２個のＤＶＦ−ｓｅｑｕｅｎｃｅが生成される。１番目のＤＶＦ−ｓｅｑｕｅｎｃｅ（図中のＤＶＦ−ｓｅｑｕｅｎｃｅ＃０）は、フレーム番号ＦＮ＝ａからＦＮ＝ｂの再生区間のフレームデータを含み、２番目のＤＶＦ−ｓｅｑｕｅｎｃｅ（図中のＤＶＦ−ｓｅｑｕｅｎｃｅ＃１）は、フレーム番号ＦＮ＝ｃからＦＮ＝ｄの再生区間のフレームデータを含む。
図２０は、図１９のＤＶＦ−ｓｅｑｕｅｎｃｅのフレーム番号（ＦＮ）を示す図である。この場合、２つのＤＶＦ−ｓｅｑｕｅｎｃｅの境界において、フレーム番号が不連続となる。図１９に示されるように、ＤＶＦ−ｓｅｑｕｅｎｃｅ＃０は、Ｌｅａｄｉｎｇ＿ｄａｔａ＿ｓｉｚｅ＃０とＴｒａｉｌｉｎｇ＿ｄａｔａ＿ｓｉｚｅ＃０で示されるデータを持つ。ＤＶＦ−ｓｅｑｕｅｎｃｅ＃１は、Ｌｅａｄｉｎｇ＿ｄａｔａ＿ｓｉｚｅ＃１とＴｒａｉｌｉｎｇ＿ｄａｔａ＿ｓｉｚｅ＃１で示されるデータを持つ。
次に、上述したようにＣｌｉｐ  ＡＶストリームのデータが部分的に消去される時（編集された時）の、ＤＶＦ−ｓｅｑｕｅｎｃｅとＰｌａｙＬｉｓｔの関係について説明する。
図２１に示されるような１つのＤＶＦ−ｓｅｑｕｅｎｃｅを持つＣｌｉｐ  ＡＶストリームの一部分ＤＴＰを消去する場合を考える。図２１に示されるように、編集前のＤＶＦ−ｓｅｑｕｅｎｃｅについてのＯｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［０］（このＤＶＦ−ｓｅｑｕｅｎｃｅ上の最初のフレームに対するオフセットのフレーム番号）はゼロである。Ｖｉｒｔｕａｌ  ＰｌａｙＬｉｓｔのＰｌａｙＩｔｅｍ１，ＰｌａｙＩｔｅｍ２，ＰｌａｙＩｔｅｍ３およびＰｌａｙＩｔｅｍ４は、このＤＶＦ−ｓｅｑｕｅｎｃｅを参照しているとする。いま、図２１に示されるように、ＤＶＦ−ｓｅｑｕｅｎｃｅのＡＶストリームデータについて、どのＰｌａｙＩｔｅｍにも使われていないＡＶストリームデータを消去したとする。
図２１において、Ｃｌｉｐ  ＡＶストリームの一部分ＤＴＰを消去した場合、図２２（編集後）に示されるように、ＤＶＦ−ｓｅｑｕｅｎｃｅは、ＤＶＦ−ｓｅｑｕｅｎｃｅ＃０とＤＶＦ−ｓｅｑｕｅｎｃｅ＃１に分けられる。このように、編集後のＣｌｉｐは２個のＤＶＦ−ｓｅｑｕｅｎｃｅを持つ。１番目のＤＶＦ−ｓｅｑｕｅｎｃｅについてのＯｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［０］はゼロにセットされ、２番目のＤＶＦ−ｓｅｑｕｅｎｃｅについてのＯｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［１］は値Ｘにセットされる。フレーム番号Ｘを時刻に変換したｐｒｅｓｅｎｔａｔｉｏｎ＿ｓｔａｒｔ＿ｔｉｍｅ［１］は、ＰｌａｙＩｔｅｍ２のＯＵＴ＿ｔｉｍｅ２よりも大きく、ＰｌａｙＩｔｅｍ３のＩＮ＿ｔｉｍｅ３と等しいか、それよりも小さい。すなわち、編集後にＶｉｒｔｕａｌ  ＰｌａｙＬｉｓｔのＰｌａｙＩｔｅｍ３とＰｌａｙＩｔｅｍ４のＩＮ＿ｔｉｍｅとＯＵＴ＿ｔｉｍｅの値を変更する必要がない。Ｃｌｉｐ  ＡＶストリームファイルの部分的なデータを消去する時に、その消去部分を使用していないＶｉｒｔｕａｌ  ＰｌａｙＬｉｓｔについては何も変更しなくても良い。
ＰｌａｙＬｉｓｔを再生する場合、再生部はＰｌａｙＩｔｅｍのＩＮ＿ｔｉｍｅとＤＶＦ−ｓｅｑｕｅｎｃｅのＯｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［ｎ］を時刻に変換したｐｒｅｓｅｎｔａｔｉｏｎ＿ｓｔａｒｔ＿ｔｉｍｅの値を比較することにより、そのＩＮ＿ｔｉｍｅとＯＵＴ＿ｔｉｍｅが指すところのＤＶＦ−ｓｅｑｕｅｎｃｅを見つけることができる。例えば、図２２の場合、ＰｌａｙＩｔｅｍ３のＩＮ＿ｔｉｍｅ３は２番目のＤＶＦ−ｓｅｑｕｅｎｃｅのＯｆｆｓｅｔ＿ｆｒａｍｅ＿ｎｕｍｂｅｒ［１］（＝Ｘ）から求められるｐｒｅｓｅｎｔａｔｉｏｎ＿ｓｔａｒｔ＿ｔｉｍｅ［１］よりも大きいので、ＰｌａｙＩｔｅｍ３のＩＮ＿ｔｉｍｅ３とＯＵＴ＿ｔｉｍｅ３は、２番目のＤＶＦ−ｓｅｑｕｅｎｃｅを指すことがわかる。
次に、本発明の目的である、ＰｌａｙＩｔｅｍ間の接続点における再生状況を示す情報について説明する。本発明に関係する情報は、ＰｌａｙＬｉｓｔの情報を格納するファイル＃＃＃＃＃．ｒｐｌｓ，＃＃＃＃＃．ｖｐｌｓ中にあるｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎである。
ここで、ＤＶストリーム中の任意のシーンをＰｌａｙＩｔｅｍで接続する場合の再生について説明する。
ＤＶが採用している符号化方式では、フレーム間の差分符号化をしていないため（全てのフレームがイントラフレーム（フレーム内符号化されたフレーム）とされるため）、ＤＶのストリームをフレーム単位で切断または接続しても、デコードの連続性は保たれる。
このため、ＤＶにおける接続点の連続性条件（シームレス再生条件）とは、接続点付近でディスクからの読み出しデータ速度がデコードの速度に間に合っているか否か、すなわち連続供給が保証できているか否かである。内容が同一のデータであっても、ディスクのどこに配置するかで、連続して供給できるか出来ないかが決まる。よって、連続供給が可能か否かは、ファイルシステム層が管理するディスク上のデータ配置の問題に帰着し、アプリケーション層のＰｌａｙＩｔｅｍのＩＮ点およびＯＵＴ点の位置だけからは判別できない。このため、アプリケーション層に専用のフィールドを設けて接続点に関する情報を記録しておく必要がある。
このシームレス（連続供給が可能）か、または、ノンシームレス（連続供給が不可能）かを表す情報がｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎである。
ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎが取りうる値のうち、ＤＶストリームに対して適用できる値は、１、３、および４の３種類である。ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝１はノンシームレス、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝３はバーチャルプレイリストでブリッジシーケンスを用いたシームレス、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝４はブリッジシーケンスを用いないシームレスを表わす。以下に、詳細を説明する。
最初に、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝１について説明する。これは、図２３に示されるように、注目しているＰｌａｙＩｔｅｍ（このｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎを持つ現在のＰｌａｙＩｔｅｍ）と、再生順で１つ前のＰｌａｙＩｔｅｍ（前のＰｌａｙＩｔｅｍ）との接続点において、シームレス再生が保証されていないことを表している。
このような状況は、データの再配置をせずに、単にＯＵＴ点とＩＮ点を設定して接続を作ったときにできる。図２３の例では、現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔと、前（１つ前）のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔを単に設定して接続しているため、シームレス再生が保証されなくなる。同一Ｃｌｉｐ上に前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔと、注目しているＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔが存在する図２４の例においても、同様である。また、値１は、シームレス再生が可能かどうかチェックしない場合に、すべての接続に対して設定できる値（デフォルト値）でもある。
すなわち１とは、シームレスに再生が不可能な接続の状態を表わすだけではなく、実際にはシームレス再生が可能であるが、シームレス再生を明示的に保証してはいない状態も表わしている。例えば、以下に示す２つの条件が満たされている場合は、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎが１であっても、再生装置によってはシームレス接続状態であると判断し、シームレスに再生できる。
１つめの条件は、前（１つ前）のＰｌａｙＩｔｅｍのＯＵＴ点（前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔ）と、注目している（現在の）ＰｌａｙＩｔｅｍのＩＮ点（現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔ）の値が一致していることである。
２つめの条件は、前の（１つ前）ＰｌａｙＩｔｅｍのＯＵＴ点（前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔ）と、注目している（現在の）ＰｌａｙＩｔｅｍのＩＮ点（現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔ）が、同一のＤＶＦ−ｓｅｑｕｅｎｃｅ上にあることである。
上述した２つの条件を満たしている接続の例を図２５に示す。図２５の例では、前（１つ前）のＰｌａｙＩｔｅｍのＯＵＴ点（前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔ）と、注目している（現在の）ＰｌａｙＩｔｅｍのＩＮ点（現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔ）の値が一致しており、かつ、前の（１つ前）ＰｌａｙＩｔｅｍのＯＵＴ点（前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔ）と、注目している（現在の）ＰｌａｙＩｔｅｍのＩＮ点（現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔ）が、同一のＤＶＦ−ｓｅｑｕｅｎｃｅ上にある。この場合、シームレス接続となり、自動的にシームレス再生が可能となる。
次に、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝３および４について説明する。この値は、注目している（現在の）ＰｌａｙＩｔｅｍと、１つ前のＰｌａｙＩｔｅｍの間がシームレス接続であることを表わす。データの配置が適切であるため、接続点において、ディスクドライブ装置からの読み出しが中断する前に、十分な量のデータを読み出しバッファ（後述する図２６のバッファ１４）に蓄積できているため、接続点においてデコーダ（図２６のＤＶ復号部１５）にデータを連続して供給できる場合、この値がセットされる。
次に、ＤＶＲアプリケーション構造のデータを記録再生するシステムについて、図２６のＤＶ記録再生装置１の構成例を示すブロック図を用いて説明する。このＤＶ記録再生装置１は、記録処理を実行する記録部２と再生処理を実行する再生部３とにより構成されている。
はじめに記録時の動作について説明する。
端子２８から入力されるＡＶ信号をＤＶ符号化部１８でエンコードしてＤＶストリームを取得するか、または、端子２９からＩＥＥＥ１３９４  Ｉ／Ｆ１９を介してＤＶストリームを取得する。当該ＤＶストリームは、ＤＶストリーム解析部２０での解析処理の後、バッファ２１を介して、ＥＣＣ（誤り訂正）符号化部２２と変調部２３に入力され、そこでＥＣＣ符号の付加処理と変調処理が行なわれた後、書き込み部２４へ入力される。書き込み部２４は、制御部１７から記録部２に供給される制御信号に基づいて、記録媒体１０へＡＶストリームファイルを記録する。
このＤＶ記録再生装置１は、ＡＶストリームファイルを記録すると共に、そのファイルに関係するアプリケーションデータベース情報もまた記録する。アプリケーションデータベース情報は、制御部１７により作成される。制御部１７への入力情報は、ＤＶストリーム解析部２０からの情報と、端子２７から入力されるユーザの指示情報である。
ＤＶストリーム解析部２０からの情報には、ＤＶ信号のタイプ（ＤＶ＿ｔｙｐｅ）、入力されるＤＶフレームのカウント数、およびプログラム情報がある。ＤＶストリームの記録終了時でのフレームのカウント数は、ＤＶＦ−ｓｅｑｕｅｎｃｅのフレーム数（ｎｕｍ＿ｏｆ＿ｆｒａｍｅｓ）となる。ＡＶストリーム内のプログラム内容の変化情報は、ＰｒｏｇｒａｍＩｎｆｏにストアされるデータとなる。ＤＶストリーム解析部２０からの情報は、ＡＶストリームのデータベース（Ｃｌｉｐ  Ｉｎｆｏｒｍａｔｉｏｎ）にストアされるものである。
端子２７から入力されてきたユーザの指示情報には、ＡＶストリームの中における再生区間の指定情報、その再生区間の内容を説明するキャラクター文字、ユーザが指定したシーンにセットされるブックマークやリジューム点のＡＶストリームの中のタイムスタンプなどが含まれる。これらのユーザの指示情報は、Ｐｌａｙ  Ｌｉｓｔのデータベースにストアされるものである。
制御部１７は、上記の入力情報に基づいて、ＡＶストリームのデータベース（Ｃｌｉｐ  Ｉｎｆｏｒｍａｔｉｏｎ）、ＰｌａｙＬｉｓｔのデータベース、および記録媒体１０の記録内容の管理情報（ｉｎｆｏ．ｂｄａｖ）を生成する。これらのデータベース情報は、ＡＶストリームと同様にして、ＥＣＣ（誤り訂正）符号化部２２、および変調部２３で処理されて、書き込み部２４へ入力される。書き込み部２４は、制御部１７から供給される制御信号に基づいて、記録媒体１０へデータベースファイルを記録する。
次に、再生時の動作について説明する。
記録媒体１０には、ＡＶストリームファイルとアプリケーションデータベース情報が記録されている。
はじめに制御部１７は、読み出し部１１に対して、アプリケーションデータベース情報を読み出すように指示する。読み出し部１１は、記録媒体１０からアプリケーションデータベース情報を読み出す。そのデータベース情報は、復調部１２とＥＣＣ（誤り訂正）復号部１３による復調処理と誤り訂正処理を経て、制御部１７へ入力される。
制御部１７は、アプリケーションデータベースに基づいて、記録媒体１０に記録されているＰｌａｙＬｉｓｔの一覧を端子２７のユーザーインターフェース（ＵＩ）へ出力する。ユーザが、ＰｌａｙＬｉｓｔの一覧から再生したいＰｌａｙＬｉｓｔを選択すると、制御部１７は、ＰｌａｙＬｉｓｔのこの選択を受け付ける。制御部１７は、そのＰｌａｙＬｉｓｔの再生に必要なＡＶストリームファイルの読み出しを読み出し部１１に指示する。そして、読み出し部１１は、記録媒体１０からそのＡＶストリームを読み出し、復調部１２、ＥＣＣ復号部１３の処理を経て、再生されたＤＶストリームはバッファ１４へ入力される。
制御部１７は、ＡＶストリームの再生区間（ＰｌａｙＩｔｅｍ）に対応するＤＶフレームからなるストリームをバッファ１４から読み出すように制御する。バッファ１４から読み出されたＤＶフレームのデータは、ＤＶ復号部１５へ入力される。ＤＶ復号部１５は、ＤＶフレームのデータを復号し、再生ＡＶ信号を端子２６から出力する。また、バッファ１４から読み出されたＤＶフレームのデータは、ＩＥＥＥ１３９４  Ｉ／Ｆ  １６を介して、端子２５からＤＶストリームとして出力される。
次に、ＡＶストリームを編集する場合について説明する。
ユーザにより、記録媒体１０に記録されているＡＶストリームの再生区間が指定され、新しい再生経路が作成される場合、端子２７のＵＩ（ユーザインターフェース）入力から、再生区間のイン点とアウト点の情報が制御部１７へ入力される。制御部１７は、ＡＶストリームの再生区間（ＰｌａｙＩｔｅｍ）をグループ化したもの（ＰｌａｙＬｉｓｔ）のデータベースを作成する。
ユーザが、記録媒体１０に記録されているＡＶストリームの一部を消去したい場合、端子２７のＵＩから、消去区間の情報が制御部１７へ入力される。制御部１７は、必要なＡＶストリーム部分だけを参照するようにＰｌａｙＬｉｓｔのデータベースを変更する。また、ＡＶストリームの不必要なストリーム部分を消去するように、書き込み部２４に指示する。また、Ｃｌｉｐ  ＡＶストリームの変化に基づいて、そのＣｌｉｐ  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅの内容を変更する。
次に、Ｃｌｉｐ  ＡＶストリームがディスク（記録媒体１０）上、どのように配置されているかを説明する。
Ｃｌｉｐ  ＡＶストリームは、図２７に示されるように、ディスク上の論理アドレスが連続したデータのかたまり（ブロック）（以下、Ｅｘｔｅｎｔと称する）の並びで構成されており、Ｅｘｔｅｎｔ１０１の長さとその配置は、Ｃｌｉｐ  ＡＶストリームがディスクへ記録される際にＤＶ記録再生装置１が適切に制御している。
このとき、Ｅｘｔｅｎｔ１０１の最小サイズの規定を守るようＣｌｉｐ  ＡＶストリームが記録媒体１０に記録されていれば、再生時に連続供給が保証される。
図２７に示されるように、１つのファイルが複数のＥｘｔｅｎｔ（エクステント）１０１から構成されている場合、ファイルの読み出しのために、あるＥｘｔｅｎｔ１０１から次のＥｘｔｅｎｔ１０１へと、次々にＥｘｔｅｎｔ１０１を読む動作が繰り返される。次のＥｘｔｅｎｔ１０１を読む場合、ディスクの回転数を変化させ、読み出し部１１を構成する光ピックアップを移動させる必要がある。
このアクセス時間は最大約０．８秒あり、この間、読み出し部１１を構成するドライブからはデータが取り出せない。一方、映像および音声のデコードおよび再生は連続に行われるため、このアクセス時間の影響を吸収するような仕組みが必要となる。
あるＥｘｔｅｎｔ１０１と次のＥｘｔｅｎｔ１０１の間では、ジャンプが発生するが、前のＥｘｔｅｎｔ１０１のバイト長が大きい場合、ジャンプ前に十分な量のデータをバッファ１４に格納することができる。このため、ジャンプする間も、バッファに格納されたデータをデコーダに供給することで、デコードは連続に行われる。
すなわち、ジャンプ前のＥｘｔｅｎｔ１０１のサイズが十分大きければ、次のＥｘｔｅｎｔ１０１にジャンプする間も連続供給が保証できる。バッファ１４に十分な量のデータを蓄積できるようにするには、Ｅｘｔｅｎｔ１０１のサイズの下限を制限すれば良い。最小Ｅｘｔｅｎｔサイズは、ディスク（記録媒体１０）からの読み出しレートと、ドライブのアクセス時間から固有の値として定められる。
連続供給の条件は、このＥｘｔｅｎｔの最小サイズの規定を守っているか否かにより判定できる。
図２８は、ディジタルＡＶ信号がディスク上に断片化して記録されている状態の例を示す。図２８において、記録されたディジタルＡＶ信号を、所定のビットレートで記録媒体から読み出せることを保証するためには、１つのＥｘｔｅｎｔの大きさが、式（５）に示されるような条件を満たす必要がある。
Ｓ×８／（Ｓ×８／Ｒｕｄ＋Ｔｓ）〉＝Ｒｍａｘ・・・（５）
このとき、Ｓ［ｂｙｔｅｓ］は、Ｅｘｔｅｎｔ１０１のサイズを表わし、Ｔｓ［ｓｅｃｏｎｄ］は、１つのＥｘｔｅｎｔ１０１から次のＥｘｔｅｎｔ１０１へのフルストロークのアクセス時間を表わし、Ｒｕｄ［ｂｉｔｓ／ｓｅｃｏｎｄ］は、ディスクからの読み出しビットレートを表わし、Ｒｍａｘ［ｂｉｔｓ／ｓｅｃｏｎｄ］は、ＡＶストリームのビットレートを表わす。
すなわち、各Ｅｘｔｅｎｔ１０１のサイズがＳバイト以上になるように、ＡＶストリームのデータを連続して配置すれば、Ｅｘｔｅｎｔ１０１の並びをシームレス再生することが可能となる。
例えば、ＤＶストリームのビットレートが、Ｒｍａｘ＝２８．７７１２［Ｍｂｐｓ］（５２５／６０システムの場合）において、Ｒｕｄ＝３５［Ｍｂｐｓ］，Ｔｓ＝０．８［ｓｅｃ］とすると、Ｓ〉＝１６．１６［ＭＢ］となる。つまり最小Ｅｘｔｅｎｔサイズ（Ｓ）は１６．１６［ＭＢ］となる。
実際のシステムにおいては、ビットレートが異なるＡＶストリームや、ＭＰＥＧなど符号化方式が異なるＡＶストリームも同一の記録媒体１０上に記録されることがあるため、それらに共通に適用できる最小Ｅｘｔｅｎｔサイズを使う必要がある。
以上は、Ｃｌｉｐ  ＡＶストリームファイルが連続読み出し可能となる条件について説明したが、これをＰｌａｙＩｔｅｍ間の接続点にも応用することで、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値を決定することが可能である。その方法を以下に説明する。
図２９は、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ（イマジナリエクステント）の例を示す図である。ＰｌａｙＩｔｅｍは、ＩＮ点およびＯＵＴ点によって再生範囲を指定しているが、ＩＮ点およびＯＵＴ点を含むＥｘｔｅｎｔ１０１のうち、実際にＰｌａｙＩｔｅｍに基づいてデコードされる範囲（図１６におけるＴｒａｉｌｉｎｇ＿ｄａｔａ＿ｓｉｚｅの部分やＬｅａｄｉｎｇ＿ｄａｔａ＿ｓｉｚｅの部分もデコードされないためＩｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔの作成においては除かれる）を″Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ″１１１とする。″Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ″１１１は、前のＰｌａｙＩｔｅｍのＯＵＴ点（前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔ）と、注目しているＰｌａｙＩｔｅｍのＩＮ点（現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔ）の２箇所でできる。図２９では、前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔを含むＥｘｔｅｎｔ（Ｓｐｅｃｉａｌ  Ｅｘｔｅｎｔ（スペシャルエクステント））のうち、ＰｌａｙＩｔｅｍに基づいて再生される範囲と、現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔを含むＥｘｔｅｎｔ（Ｓｐｅｃｉａｌ  Ｅｘｔｅｎｔ）のうち、ＰｌａｙＩｔｅｍに基づいて再生される範囲が、それぞれ、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１とされている。Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１の導入により、任意のＰｌａｙＬｉｓｔは、図３０に示されるように、Ｅｘｔｅｎｔ１０１とＩｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１という２種類のＥｘｔｅｎｔの並びによって構成されていると抽象化することができる。
ＰｌａｙＩｔｅｍ単体の再生では、ＰｌａｙＩｔｅｍの最初のＩｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１が小さく、次のＥｘｔｅｎｔ１０１へのジャンプ前に、十分な量のデータを読み出しバッファ１４に蓄積できないことが考えられる。その場合は、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１の読み出しと同時に再生を開始するのではなく、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１をすべて読み込んでジャンプをし、次のＥｘｔｅｎｔ１０１をある程度読み取り、十分な量のデータを読み出しバッファ１４に蓄積した後に再生を開始すればよい。このため、ＰｌａｙＩｔｅｍ単体の再生では、常にシームレス再生が保証されている。
ところが、複数のＰｌａｙＩｔｅｍを並べてシームレス再生を実現したい場合（例えば、図２４に示されるデータを並べて連続再生したい場合）、一度再生を開始した後は、再生を中断してデータを読み出しバッファ１４に蓄積することはできない。そのため、再生の途中でバッファが破綻しないよう、各ＰｌａｙＩｔｅｍの接続点で最小Ｅｘｔｅｎｔの条件を満たしておく必要が出てくる。
すなわち、ＰｌａｙＩｔｅｍの並びで指定された通りに再生していく場合、接続点の前後にある″Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ″１１１が最小Ｅｘｔｅｎｔ  Ｓｉｚｅを満たしていることが、接続点でシームレスに再生できる条件となる。
この判定方法をフローチャートにしたものを図３１に示す。図３１は、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値を決定する処理を説明するフローチャートである。
ステップＳ１において、制御部１７は、前のＰｌａｙＩｔｅｍのＯＵＴ点（前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔ）が指すフレームのデータを含むＥｘｔｅｎｔのうち、前のＰｌａｙＩｔｅｍで再生される部分を図３２に示されるように、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１Ｐとする。
ステップＳ２において、制御部１７は、ＰｌａｙＩｔｅｍのＩＮ点（現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔ）が指すフレームのデータを含むＥｘｔｅｎｔのうち、現在のＰｌａｙＩｔｅｍで再生される部分を、図３２に示されるように、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１Ｃとする。
ステップＳ３において、制御部１７は、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１Ｐが、上述した連続供給の条件である最小Ｅｘｔｅｎｔサイズの条件を満たすか否かを判定する。すなわち、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１ＰのサイズをＳ（Ｐ）とし、連続供給となる最小ＥｘｔｅｎｔサイズをＳ（Ｅ）としたとき、式（６）を満たすか否かが判定される。
Ｓ（Ｐ）  ＞＝  Ｓ（Ｅ）・・・（６）
式（６）を満たすと判定された場合、処理は、ステップＳ４に進み、制御部１７は、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１Ｃが、連続供給の条件である最小Ｅｘｔｅｎｔサイズの条件を満たすか否かを判定する。すなわち、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１ＣのサイズをＳ（Ｉ）とし、連続供給となる最小ＥｘｔｅｎｔサイズをＳ（Ｅ）としたとき、式（７）を満たすか否かが判定される。
Ｓ（Ｉ）  ＞＝  Ｓ（Ｅ）・・・（７）
式（７）を満たすと判定された場合、処理は、ステップＳ５に進み、制御部１７は、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎを３または４と設定し（シームレス再生保証ありと設定し）、処理を終了する。なお、ここでは、ブリッジシーケンスか否かの判定は省略してある。
ステップＳ３において、式（６）を満たさないと判定された場合、または、ステップＳ４において、式（７）を満たさないと判定された場合、処理は、ステップＳ６に進み、制御部１７は、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎを１（シームレス再生保証なし）と設定し、処理を終了する。
図３１の処理により、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの判定が行なわれる。
次に、図３３のフローチャートを参照して、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎが記録されている記録媒体１０における、ＰｌａｙＬｉｓｔの再生処理を説明する。図３３のフローチャートは、ユーザによりＰｌａｙＬｉｓｔが選択され、ユーザの指令によりＰｌａｙＬｉｓｔを構成するＰｌａｙＩｔｅｍが次々に再生される流れをｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎに注目して示したものである。なお、この処理は、ユーザがＰｌａｙＬｉｓｔの再生を指示したときに開始される。
ステップＳ３１において、制御部１７は、ユーザから１つのＰｌａｙＬｉｓｔの再生の指示を受け付ける。
ステップＳ３２において、制御部１７は、選択されたＰｌａｙＬｉｓｔの情報が書かれているファイルｘｘｘｘｘ．ｒｐｌｓおよびｙｙｙｙｙ．ｖｐｌｓを読み込み、再生しようとするＰｌａｙＩｔｅｍのＩＮ＿ｔｉｍｅを取得する。例えば、図２１に示されるようなＣｌｉｐ  ＡのＤＶＦ−ｓｅｑｕｅｎｃｅに対するＰｌａｙＬｉｓｔの再生が指示された場合、現在のＰｌａｙＩｔｅｍ１のＩＮ＿ｔｉｍｅ１が取得される。
ステップＳ３３において、制御部１７は、ＰｌａｙＩｔｅｍが参照しているＣｌｉｐの情報ファイルｚｚｚｚｚ．ｃｌｐｉを読み込み、ＩＮ＿ｔｉｍｅに相当するＣｌｉｐ  ＡＶストリームファイル中のフレーム番号（バイト位置）を取得する。
Ｓ３４において、制御部１７は、ステップＳ３１において選択されたＰｌａｙＬｉｓｔの最初のＰｌａｙＩｔｅｍであるか、または、次に再生するＰｌａｙＩｔｅｍが持つｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値が１であるか否かを判定する。例えば、図２１の例の場合、ＰｌａｙＩｔｅｍ１の次に再生するＰｌａｙＩｔｅｍ２が持つｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ情報が読み取られる。
上述したように、ＰｌａｙＬｉｓｔの最初のＰｌａｙＩｔｅｍである場合、あらかじめ次のＥｘｔｅｎｔを読み取り、十分な量のデータを読み出しバッファ１４に蓄積した後に再生を開始すれば、シームレスな再生をすることができる。また、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値が１（シームレス再生保証なし）である場合においては、一旦再生を中断して次のＥｘｔｅｎｔを読み取り、十分な量のデータを読み出しバッファ１４に蓄積した後に再生を開始すれば、個々のＰｌａｙＩｔｅｍの再生中は、シームレスな再生を行なうことが可能となる。
ステップＳ３４において、ＰｌａｙＬｉｓｔの最初のＰｌａｙＩｔｅｍであると判定された場合、または、次に再生するＰｌａｙＩｔｅｍが持つｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値が１であると判定された場合（次のＰｌａｙＩｔｅｍとの接続において、シームレス再生が保証されていない場合）、ステップＳ３７に進み、制御部１７は、読み出し部１１を制御して、ステップＳ３３において取得されたＩＮ＿ｔｉｍｅが参照するフレームのアドレスからＡＶストリームのデータの読み込みを開始させる。読み込まれたデータは、復調部１２およびＥＣＣ復号部１３による復調処理と誤り訂正処理を経て、バッファ１４に供給される。
ステップＳ３８において、制御部１７は、読み出しバッファ１４が一杯になったか否かを判定する。読み出しバッファ１４が一杯でないと判定された場合、制御部１７は、読み出しバッファが一杯になるまで待機する。
ステップＳ３８において、読み出しバッファ１４が一杯であると判定された場合、処理は、ステップＳ３９に進む。
このように、ステップＳ３７において、データの読み込みを開始するが、ステップＳ３８において、読み出しバッファ１４が一杯になるまでデコードの開始を遅らせる。これは、読み出しバッファ１４が一杯になる前にデコードを開始してしまうと、ＰｌａｙＩｔｅｍの再生途中にあるＥｘｔｅｎｔ間のジャンプでバッファ１４が空になり、ＰｌａｙＩｔｅｍ内の再生がシームレスにならない恐れがあるためである。
Ｅｘｔｅｎｔの境界は、ユーザには見えないため、ＰｌａｙＩｔｅｍの再生中に不連続が発生すると、ユーザには不可解に見えてしまう。そのため、ＰｌａｙＩｔｅｍの境界で意図的にデコードを停止し、読み出しバッファ１４にデータを蓄積してから再生を再開する。いわば、ＰｌａｙＩｔｅｍ再生中に発生する不連続を、すべてＰｌａｙＩｔｅｍの境界に移動させることで、不自然に見えないようにする。
ステップＳ３４において、ＰｌａｙＬｉｓｔの最初のＰｌａｙＩｔｅｍでないと判定された場合、または、次に再生するＰｌａｙＩｔｅｍが持つｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値が１ではない（３または４である）と判定された場合（シームレス再生が可能である場合）、ステップＳ３５に進み、制御部１７は、読み出し部１１を制御して、ステップＳ３３において取得されたＩＮ＿ｔｉｍｅが参照するフレームのアドレスからＡＶストリームのデータの読み込みを開始させる。読み込まれたデータは、復調部１２およびＥＣＣ復号部１３による復調処理と誤り訂正処理を経て、バッファ１４に供給される。
ステップＳ３６において、制御部１７は、読み出しバッファ１４に、ＡＶストリームのデータが供給されたか否かを判定する。読み出しバッファ１４に、ＡＶストリームのデータが供給されていないと判定された場合、供給されるまで待機する。
ステップＳ３６において、読み出しバッファ１４にＡＶストリームのデータが供給されたと判定された場合、または、ステップＳ３８において、読み出しバッファ１４が一杯になったと判定された場合、処理は、ステップＳ３９に進み、制御部１７は、ＡＶストリームをＤＶ復号部１５にデコードさせ、再生させる。
ステップＳ３６の処理では、ＡＶストリームのデータが読み出しバッファ１４に供給されてきたかが検出され、データが供給されてきた時点で、ステップＳ３９に進み、デコードされる。これは、ステップＳ３４の処理でシームレス再生が保証されており、デコード速度よりも十分高い速度で読み出しバッファ１４にデータが供給され、次のＥｘｔｅｎｔへのジャンプの時、あるいはその前の段階で、読み出しバッファ１４に十分な量のデータが蓄積されることが保証されているためである。そのため、読み出しバッファ１４が一杯になる前にデコードを開始することができる。
ステップＳ３９の処理の後、ステップＳ４０において、制御部１７は、ステップＳ３２において取得されたＩＮ＿ｔｉｍｅに対応するＯＵＴ＿ｔｉｍｅのフレームの画像の再生が終了したか否かを判定する。ＯＵＴ＿ｔｉｍｅのフレームの画像の再生が終了していないと判定された場合、処理は、ステップＳ３９に戻り、それ以降の処理が繰り返される。
ステップＳ４０において、ＯＵＴ＿ｔｉｍｅのフレームの画像の再生が終了したと判定された場合、処理は、ステップＳ４１に進み、制御部１７は、ステップＳ３１において選択されたＰｌａｙＬｉｓｔの最後のＰｌａｙＩｔｅｍの再生が終了したか否かを判定する。最後のＰｌａｙＩｔｅｍの再生が終了していないと判定された場合、処理は、ステップＳ３２に戻り、次のＰｌａｙＩｔｅｍの再生が行なわれる。
ステップＳ４１において、最後のＰｌａｙＩｔｅｍの再生が終了したと判定された場合、ステップＳ３１において、ユーザに選択されたＰｌａｙＬｉｓｔの再生が終了したため、処理を終了する。
なお、このフローチャートの処理では、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎが１（シームレス再生保証なし）のＰｌａｙＩｔｅｍの再生前には、読み出しバッファ１４が一杯になるまでデコード開始を遅らせているが、これはバッファ管理の最も簡単な例である。読み込もうとするＥｘｔｅｎｔのサイズが大きい場合は、読み出しバッファが一杯になる前にデコードを開始しても、徐々に読み出しバッファにデータが蓄積され、次のＥｘｔｅｎｔへのジャンプの前には、十分な量のデータを読み出しバッファ１４に蓄積できる場合がある。
このように、Ｅｘｔｅｎｔのサイズによって必要な待ち時間を算出できるシステムでは、ステップＳ３８の処理での再生中断時間を短縮することができる。
以上が、ＰｌａｙＬｉｓｔの再生において、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎがどのように使われるかを示したフローチャートの説明である。このように、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎは再生品質を高めるために利用できる情報である。
以上においては、ＰｌａｙＩｔｅｍ間の接続がシームレスかどうかという判定方法について記載した。
次に、ＰｌａｙＩｔｅｍ間の接続がシームレスでないと判定された場合に、ＰｌａｙＩｔｅｍ間の接続をシームレスな接続に変更する方法について説明する。ＰｌａｙＩｔｅｍ間の接続がシームレスでなくても規格上は違反にならないが、ユーザが再生品質を高めたいと望む場合に、次のような処理を記録部２が行うことで、シームレスではない接続を、シームレスな接続へ変換することができる。
図３４は、ＰｌａｙＩｔｅｍ間の接続をシームレスな接続に変更する処理を説明するフローチャートである。なお、この処理は、ユーザによりＰｌａｙＩｔｅｍ間の接続がシームレスでないと判定された場合に、ＰｌａｙＩｔｅｍ間の接続をシームレスな接続に変更する指示を指令されたときに開始される。
ステップＳ５１において、制御部１７は、ＰｌａｙＩｔｅｍ間の接続がシームレスであるか否か（いま、選択したＰｌａｙＩｔｅｍが持つｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値が３または４である否か）を判定する。ＰｌａｙＩｔｅｍ間の接続がシームレスでない（選択したＰｌａｙＩｔｅｍが持つｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値が１である）と判定された場合、すなわち、例えば、図３５に示されるように、ＰｌａｙＩｔｅｍ間の接続において、最小ＥｘｔｅｎｔサイズよりＩｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ１１１のサイズが小さい場合（最小Ｅｘｔｅｎｔサイズの条件を満たせない場合）、処理はステップＳ５２に進み、シームレスでないと判定された接続点の両端からデータをコピーして、新しいＣｌｉｐを生成する。
ステップＳ５３において、制御部１７は、記録媒体１０の最小Ｅｘｔｅｎｔサイズ以上の空き領域に、ステップＳ５２において生成した新しいＣｌｉｐを記録する。
ステップＳ５４において、制御部１７は、ステップＳ５３の処理において記録した新しいＣｌｉｐに基づいて、新しいＰｌａｙＩｔｅｍを生成し、記録媒体１０に記録する。
具体的には、図３５において、ＩＮ点（現在のＰｌａｙＩｔｅｍのＩＮ＿ｐｏｉｎｔ）およびＯＵＴ点（前のＰｌａｙＩｔｅｍのＯＵＴ＿ｐｏｉｎｔ）の位置により、最小Ｅｘｔｅｎｔサイズを満たさないＥｘｔｅｎｔができてしまう場合、図３６に示されるように、最小Ｅｘｔｅｎｔサイズ以上の空き領域に、接続点の両端からデータをコピーして新たなＣｌｉｐが作られる。再生時には、この新しいＣｌｉｐを指すＰｌａｙＩｔｅｍ（Ｎｅｗ  ＰｌａｙＩｔｅｍ）を経由することで、最小Ｅｘｔｅｎｔサイズの条件を満たすような再生パスを実現することができる。
ステップＳ５５において、制御部１７は、ステップＳ５４において生成した新しいＰｌａｙＩｔｅｍのｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ情報（ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝４）を生成し、記録する。その後（ステップＳ５５の処理の後）、または、ステップＳ５１において、ＰｌａｙＩｔｅｍ間の接続がシームレスであると判定された場合、ステップＳ５２乃至ステップＳ５５の処理は不要であるのでスキップされ、処理を終了する。
このように、新しいＣｌｉｐのデータは元のＣｌｉｐからコピーするので、元のＣｌｉｐ上のＩＮ点およびＯＵＴ点の位置は変更される。また、ＰｌａｙＬｉｓｔを構成するＰｌａｙＩｔｅｍの数が１つ増える（新しいＰｌａｙＩｔｅｍの分が増える）。そのため、実際には元のＰｌａｙＬｉｓｔを残したまま、新たなＰｌａｙＬｉｓｔ（Ｖｉｒｔｕａｌ  ＰｌａｙＬｉｓｔ）が形成される。
この方法によるシームレス接続は、ＰｌａｙＩｔｅｍの接続点にシーンチェンジ用の画像を挿入して、滑らかにシーンが切り替わるように見せたい場合にも、用いることが可能である。
以上の方法は、新たなＣｌｉｐを作成し、新たなＰｌａｙＩｔｅｍを挿入するすることで、シームレス再生を実現した例であるが、図３７のように、ブリッジＣｌｉｐを作成することで、ＰｌａｙＩｔｅｍの数を増やさずにシームレスな接続を実現することもできる。図３７では、接続点の両端のＥｘｔｅｎｔ（エクステント）からデータをコピーして新たにＣｌｉｐを作成する点は図３６と同じであるが、新たに生成したＣｌｉｐを、独立した１つのＣｌｉｐではなく、Ｃｌｉｐ２に付属したＣｌｉｐ、すなわちブリッジＣｌｉｐとみなしている。そして、前のＰｌａｙＩｔｅｍのＯＵＴ点であるＯＵＴ＿ｔｉｍｅ１と、現在のＰｌａｙＩｔｅｍのＩＮ点であるＩＮ＿ｔｉｍｅ２は、ブリッジＣｌｉｐ上を指すものとし、ＰｌａｙＩｔｅｍの数は増やさない。この新しいブリッジＣｌｉｐを経由しての再生は、前のＰｌａｙＩｔｅｍのＥｘｔｅｎｔ（エクステント）の途中の位置ＦＮ＿ｅｘｉｔ＿ｆｒｏｍ＿ｐｒｅｃｅｄｉｎｇ＿Ｃｌｉｐから抜け出してブリッジＣｌｉｐを先頭から再生し、ブリッジＣｌｉｐを再生し終わると、現在のＰｌａｙＩｔｅｍのＥｘｔｅｎｔの途中ＦＮ＿ｅｎｔｅｒ＿ｔｏ＿ｆｏｌｌｏｗｉｎｇ＿Ｃｌｉｐに入る。このような経路をたどることで、シームレスな再生が可能となる。図３６と図３７の差異は、新たに作ったＥｘｔｅｎｔを単独のＣｌｉｐとみなすかブリッジＣｌｉｐとみなすかという点、さらにはＰｌａｙＩｔｅｍのＩＮ点、ＯＵＴ点の位置の違いであり、最小Ｅｘｔｅｎｔサイズを満たすよう接続点の両端からデータをコピーして新たにＥｘｔｅｎｔを作るという方法自体には変わりはない。また、規格上、ブリッジＣｌｉｐはＭＰＥＧのＡＶストリームをシームレス接続するためにも使われている。そのため、ＭＰＥＧとＤＶの管理に共通性を持たせることができるメリットがある。ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝３とは、ブリッジＣｌｉｐによってＰｌａｙＩｔｅｍ間のシームレスな再生が保証されている接続点を表すものである。
なお、ＦＮ＿ｅｘｉｔ＿ｆｒｏｍ＿ｐｒｅｃｅｄｉｎｇ＿ＣｌｉｐとＦＮ＿ｅｎｔｅｒ＿ｔｏ＿ｆｏｌｌｏｗｉｎｇ＿Ｃｌｉｐは、図８のデータ構造に記録されている。
このようなシンタクス、データ構造、規則に基づく事により、記録媒体１０に記録されているデータの内容、再生情報などを適切に管理することができ、もって、ユーザが再生時に記録媒体に記録されているデータの内容を適切に確認したり、所望のデータを適切に再生することができる。
なお、以上の例では、ＡＶストリームとしてＤＶストリームを例にして説明しているが、これに限らず、１ビデオフレームのバイトデータサイズが固定である他のストリームについても本発明は適用することが可能である。また、ディスクにおけるデータの記録（消去）または再生の単位は、セクタ以外であってもよい。
また、ＤＶストリームのように１ビデオフレームのバイトサイズが固定であるストリームを、ロジカルセクタを最小のデータ記録単位として管理する記録媒体に記録し、これを再生するシステムにおいて、そのストリームの任意の箇所を任意の順序で再生するためのＰｌａｙＬｉｓｔ構造を表現する情報に、ＰｌａｙＬｉｓｔを構成する各ＰｌａｙＩｔｅｍの間でシームレス再生ができることが保証されているか、保証されていないかを表すｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ情報を設けることにより、シームレス再生が可能かどうか知ることが可能となる。
ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値は、ＰｌａｙＩｔｅｍのＩＮ点およびＯＵＴ点が指すフレームを含むＥｘｔｅｎｔのうち、ＰｌａｙＩｔｅｍによって再生される部分だけで構成される仮想的なＥｘｔｅｎｔ（Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔ）を考え、それがＥｘｔｅｎｔの連続供給条件を満たしているかを調べることで決定され、ＰｌａｙＩｔｅｍにこのｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ情報を設けることで、再生装置は、ＤＶストリームを読み込む前に、ＰｌａｙＩｔｅｍの接続点において、シームレス再生が可能かどうか知ることが可能となる。
これにより、再生装置は、シームレス再生が保証されている接続点ではデータの読み込みやデコードを継続することが可能である。また、シームレス再生が保証されていない接続点であれば、不連続が目立たないようにするためのフェードイン、フェードアウト等の処理が必要かどうかを事前に知ることができ、接続点で一時停止してバッファに十分な量のデータを溜めることで、ＰｌａｙＩｔｅｍの再生中に不連続が発生することを予防することができるため、再生品質の向上を図ることができる。
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
このプログラム格納媒体は、図２６に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク４１（フロッピディスクを含む）、光ディスク４２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク４３（ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）を含む）、半導体メモリ４４などによりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭや、ハードディスク（図示せず）などで構成される。
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
産業上の利用可能性
以上の如く、第１の本発明によれば、情報記録媒体に記録されているデータが編集され、任意のビデオデータを任意の順序で再生する場合においても、シームレス再生が可能であるかを知ることができる。また、再生を適切に制御することができる。
さらに、第２の本発明によれば、編集の結果、シームレス再生が不可能になったビデオデータを、シームレス再生可能にすることが可能になる。
【図面の簡単な説明】
図１は、ＤＶの１ビデオフレームをＩＥＥＥ１３９４によりデータ転送するときのデータの構造を示す図である。
図２は、ＩＥＥＥ１３９４上を流れるＳｏｕｒｃｅ  ＰａｃｋｅｔとＤＩＦ  Ｂｌｏｃｋの関係を示す図である。
図３は、本発明が適用される記録再生システムで用いる記録媒体上のアプリケーションフォーマットの簡単化された構造を説明する図である。
図４は、ＰｌａｙＬｉｓｔ（）のシンタクスを示す図である。
図５は、ＰｌａｙＩｔｅｍ（）のシンタクスを示す図である。
図６は、Ｃｌｉｐ  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅとＣｌｉｐ  ＡＶ  ｓｔｒｅａｍ  ｆｉｌｅの関係を示す図である。
図７は、Ｃｌｉｐ  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｅのシンタクスを示す図である。
図８は、図７のＤＶ＿ＣｌｉｐＩｎｆｏ（）のシンタクスを示す図である。
図９は、図７のＤＶＦ＿ｓｅｑｕｅｎｃｅＩｎｆｏ（）のシンタクスを示す図である。
図１０は、ディスク上のディレクトリ構造の例を示す図である。
図１１は、ｘｘｘｘ．ｒｐｌｓおよびｙｙｙｙ．ｖｐｌｓのシンタクスを示す図である。
図１２は、ＤＶストリームを新規に記録媒体に記録するとき入力するＤＶストリームを説明する図である。
図１３は、図１２のＤＶストリームを新規に記録媒体に記録するときにできるＣｌｉｐ  ＡＶ  ｓｔｒｅａｍ  ｆｉｌｅの構造を説明する図である。
図１４は、ＤＶＦ−ｓｅｑｕｅｎｃｅを説明する図である。
図１５は、ＤＶストリームを新規に記録媒体に記録するときにできるＣｌｉｐ  ＡＶ  ｓｔｒｅａｍ  ｆｉｌｅのディスク上のデータ配列を説明する図である。
図１６は、図１５のＣｌｉｐ  ＡＶ  ｓｔｒｅａｍ  ｆｉｌｅの一部のデータを消去したときのディスク上のデータ配置を説明する図である。
図１７は、ＤＶストリームを新規に記録媒体に記録する時にできるＤＶＦ  ｓｅｑｕｅｎｃｅを説明する図である。
図１８は、図１７のＤＶストリームを新規に記録媒体に記録する時のＤＶＦ−ｓｅｑｕｅｎｃｅに対するフレーム番号を説明する図である。
図１９は、図１７のＤＶＦ−ｓｅｑｕｅｎｃｅの一部を消去した後のＤＶＦ−ｓｅｑｕｅｎｃｅを説明する図である。
図２０は、図１９のＤＶＦ−ｓｅｑｕｅｎｃｅの一部を消去した後のＤＶＦ−ｓｅｑｕｅｎｃｅに対するフレーム番号を説明する図である。
図２１は、Ｃｌｉｐ  ＡＶストリームの一部を消去する前のＣｌｉｐとＰｌａｙｌｉｓｔの関係を説明する図である。
図２２は、図２１において選択されたＣｌｉｐ  ＡＶストリームの一部を消去したときのＣｌｉｐとＰｌａｙｌｉｓｔの関係を説明する図である。
図２３は、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝１による接続を説明する図である。
図２４は、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎ＝１による他の接続を説明する図である。
図２５は、シームレス再生が可能となる接続の例を説明する図である。
図２６は、本発明を適用したＤＶ記録再生装置の構成例を示すブロック図である。
図２７は、エクステントを説明する図である。
図２８は、エクステントのサイズＳを説明する図である。
図２９は、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔの例を説明する図である。
図３０は、Ｉｍａｇｉｎａｒｙ  ＥｘｔｅｎｔによるＰｌａｙＩｔｅｍの表現を説明する図である。
図３１は、ｃｏｎｎｅｃｔｉｏｎ＿ｃｏｎｄｉｔｉｏｎの値を決定する処理を説明するフローチャートである。
図３２は、Ｉｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔによる接続点の評価を説明する図である。
図３３は、ＰｌａｙＬｉｓｔの再生処理を説明するフローチャートである。
図３４は、シームレス接続変更処理を説明するフローチャートである。
図３５は、ＰｌａｙＩｔｅｍ間の接続において最小ＥｘｔｅｎｔサイズよりＩｍａｇｉｎａｒｙ  Ｅｘｔｅｎｔのサイズが小さい例を示す図である。
図３６は、新たなＣｌｉｐとＰｌａｙＩｔｅｍを作成することにより、ノンシームレス接続からシームレス接続への変更を行う場合を説明する図である。
図３７は、ブリッジＣｌｉｐを作成することにより、ノンシームレス接続からシームレス接続への変更を行う場合を説明する図である。
【図１】
2003085972.tif 000003
【図２】
2003085972.tif 000004
【図３】
2003085972.tif 000005
【図４】
2003085972.tif 000006
【図５】
2003085972.tif 000007
【図６】
2003085972.tif 000008
【図７】
2003085972.tif 000009
【図８】
2003085972.tif 000010
【図９】
2003085972.tif 000011
【図１０】
2003085972.tif 000012
【図１１】
2003085972.tif 000013
【図１２】
2003085972.tif 000014
【図１３】
2003085972.tif 000015
【図１４】
2003085972.tif 000016
【図１５】
2003085972.tif 000017
【図１６】
2003085972.tif 000018
【図１７】
2003085972.tif 000019
【図１８】
2003085972.tif 000020
【図１９】
2003085972.tif 000021
【図２０】
2003085972.tif 000022
【図２１】
2003085972.tif 000023
【図２２】
2003085972.tif 000024
【図２３】
2003085972.tif 000025
【図２４】
2003085972.tif 000026
【図２５】
2003085972.tif 000027
【図２６】
2003085972.tif 000028
【図２７】
2003085972.tif 000029
【図２８】
2003085972.tif 000030
【図２９】
2003085972.tif 000031
【図３０】
2003085972.tif 000032
【図３１】
2003085972.tif 000033
【図３２】
2003085972.tif 000034
【図３３】
2003085972.tif 000035
【図３４】
2003085972.tif 000036
【図３５】
2003085972.tif 000037
【図３６】
2003085972.tif 000038
【図３７】
2003085972.tif 000039
【国際調査報告】
2003085972.tif 000040
2003085972.tif 000041