(57)【特許請求の範囲】
【請求項１】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置において、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成手段と、
前記ビデオデータ、前記リスト情報、および前記接続情報を前記情報記録媒体に記録する記録手段と
を備え、
前記ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として前記情報記録媒体に記録され、
前記生成手段は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成する
ことを特徴とするデータ記録装置。
【請求項２】
前記アイテム情報により接続される接続点に隣接する２つの前記第１の情報のデータ量が所定のデータ量を超えるか否かを検出する検出手段をさらに備え、
前記生成手段は、前記検出手段の検出結果に基づいて前記接続情報を生成する
ことを特徴とする請求の範囲第１項に記載のデータ記録装置。
【請求項３】
前記記録手段は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていない情報である場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して、新たな第２の情報を生成し、前記情報記録媒体の空き領域に記録する
ことを特徴とする請求の範囲第１項に記載のデータ記録装置。
【請求項４】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置のデータ記録方法において、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含み、
前記ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として前記情報記録媒体に記録され、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、前記接続情報を生成する
ことを特徴とするデータ記録方法。
【請求項５】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置を制御するコンピュータのプログラムであって、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含み、
前記ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として前記情報記録媒体に記録され、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、前記接続情報を生成する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されているプログラム格納媒体。
【請求項６】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置を制御するコンピュータに、前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含む処理を実行させ、
前記ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として前記情報記録媒体に記録され、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、前記接続情報を生成する
ことを特徴とするプログラム。
【請求項７】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置において、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成手段と、
前記ビデオデータ、前記リスト情報、および前記接続情報を前記情報記録媒体に記録する記録手段と
を備え、
前記ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として前記情報記録媒体に記録され、
前記生成手段は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成し、
前記記録手段は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して第２の情報を生成し、前記情報記録媒体の空き領域に記録し、
前記生成手段は、前記記録手段により前記第２の情報が記録された場合、前記接続情報を、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更する
ことを特徴とするデータ記録装置。
【請求項８】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置のデータ記録方法において、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含み、
前記ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として前記情報記録媒体に記録され、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成し、
前記記録制御ステップの処理は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して第２の情報を生成し、前記情報記録媒体の空き領域に記録し、
前記生成ステップの処理は、前記記録ステップの処理により前記第２の情報が記録された場合、前記接続情報を、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更する
ことを特徴とするデータ記録方法。
【請求項９】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置を制御するコンピュータのプログラムであって、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含み、
前記ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として前記情報記録媒体に記録され、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成し、
前記記録制御ステップの処理は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して第２の情報を生成し、前記情報記録媒体の空き領域に記録し、
前記生成ステップの処理は、前記記録ステップの処理により前記第２の情報が記録された場合、前記接続情報を、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されているプログラム格納媒体。
【請求項１０】
ビデオデータを所定の記録単位で情報記録媒体に記録するデータ記録装置を制御するコンピュータに、
前記情報記録媒体に記録されている前記ビデオデータが編集された場合、前記ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数の前記アイテム情報における各アイテム情報の接続情報を生成する生成ステップと、
前記ビデオデータ、前記リスト情報、および前記接続情報の前記情報記録媒体への記録を制御する記録制御ステップと
を含む処理を実行させ、
前記ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、
前記接続情報は、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として前記情報記録媒体に記録され、
前記生成ステップの処理は、前記情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成される前記ビデオデータのうち、前記アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、前記接続情報を生成し、
前記記録制御ステップの処理は、前記接続情報が、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つの前記アイテム情報の前記第１の情報を複製して第２の情報を生成し、前記情報記録媒体の空き領域に記録し、
前記生成ステップの処理は、前記記録ステップの処理により前記第２の情報が記録された場合、前記接続情報を、編集された前記ビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ記録装置および方法、プログラム格納媒体、並びにプログラムに関し、特に、情報記録媒体に記録されているデータが編集され、任意のビデオデータを任意の順序で再生する場合においても、再生を適切に制御することができるようにしたデータ記録装置および方法、データ再生装置および方法、情報記録媒体、プログラム格納媒体、並びにプログラムに関する。
【背景技術】
【０００２】
ＡＶ（Audio Visual）信号を情報量圧縮する高能率符号化方式の１つにＤＶ(Digital Video)方式がある。この符号化方式は、Specification of Consumer-Use Digital VCRs using 6.3mm magnetic tape, HD DIGITAL VCR CONFERENCEに開示されている。ＤＶは、ビデオカセットテープを用いるカムコーダ（カメラ一体型のビデオテープレコーダ）等に応用されている。
【０００３】
ＤＶ信号は、IEEE(Institute of Electrical and Electronic Engineers )1394ディジタルインターフェース（以下、IEEE1394 I/Fと称する）経由で入出力できる。このIEEE1394 I/Fを流れる信号のフォーマットを図１に示す。
【０００４】
IEEE1394 I/F上では、ＤＶ信号をDIFブロックと呼ばれる80バイトのブロック単位に扱い、150 DIF block（ブロック）で、1 DIF Sequence（シーケンス）を構成する。DIF Sequenceは、header section, subcode section, VAUX section,およびAudio&video sectionを持つ。SD-DVCR（スタンダードＴＶ（テレビジョン）信号の標準圧縮モード）の場合、１ビデオフレームは、例えば、NTSC(National Television System Committee)方式のような525-60システムでは、10 DIF sequenceで構成され、また、例えば、PAL(Phase Alternating Line)方式のような625-50システムでは、12 DIF sequenceで構成される。なお、SDL-DVCR（スタンダードＴＶ信号の高圧縮モード）の場合、１ビデオフレームは、525-60システムでは、5 DIF sequenceで構成され、また、625-50システムでは、6 DIF sequenceで構成される。
【０００５】
DIF blockは、先頭の３バイトのＩＤ(Identifier)と、７７バイトのデータから構成される。ＩＤには、section（セクション）のtype（タイプ）を表すDIF block type, カラーシーケンスを表すsequence number, DIF sequence number, およびDIF block numberがある。DIF sequenceの先頭はDIF blockのＩＤ内にあるDIF block typeを見て、Header sectionであれば、そこがDIF sequenceの先頭である。Header sectionのDIF Blockは、１バイト目の上位３bitが000である。
【０００６】
このようなフォーマットのＤＶ信号は、Isochronousパケットの形で、IEEE1394 I/F上を流れる。ＤＶ信号を伝送するIsochronousパケットのペイロードをsource packet（ソースパケット）と呼ぶ。１つのSource packetのサイズは、6 DIF block(480バイト)の固定長である。
【０００７】
525-60システムのDIF blockとソースパケットの関係を図２に示す。ＤＶストリームは、各フレームが、全て、フレーム内符号化され、１フレームが120,000バイトの固定ビットレートであるので、１ビデオフレーム当たりのsource packet数は固定である。SD-DVCRの１ビデオフレーム当たりのsource packet数は、525-60 systemでは250個であり、625-50 systemでは300個である。ＤＶ規格では、以上のようなDIF blockを、幅6.35mmのテープ記録媒体に記録している。
【０００８】
【特許文献１】特開２００１−１５７１４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、近年、記録再生装置から取り外し可能なディスク型の情報記録媒体として、各種の光ディスクが提案されつつある。このような記録可能な光ディスクは、数ギガバイトの大容量メディアと数十Mbpsの高転送ビットレートの特徴を持ち、ビデオ信号等のＡＶ(Audio Visual)信号を記録するメディアとしての期待が高い。今後は、カムコーダ等でテープに記録したＤＶ信号をIEEE1394 I/Fを経由して、光ディスクへ記録するＤＶ記録再生装置が求められると予想される。
【００１０】
上述したように、記録媒体の容量が増大することにより、その記録媒体には、多くのデータ（例えば、ビデオ素材に関する映像データや音声データなど）が記録できるようになる。従って、１枚のディスクに多くのＤＶビデオ素材が記録されることになり、ユーザが、それらのディスク内に記録されている多くのＤＶビデオ素材の中から、所望の画像を視聴できるように編集するといったような操作が必要になる。
【００１１】
しかしながら、編集されたデータを再生する（ディスク上に散らばるシーンを任意の順序で並べたものを再生する）場合、各シーン単体では、滑らかに再生する（元々、ディスクに連続的に記録されたシーンであるため、勿論滑らかに再生する）が、編集によって生じたシーンとシーンのつなぎ目においては、滑らかに再生されるとは限らない。
具体的には、シーンのつなぎ目において、光学ピックアップの移動や、ディスクの回転待ちが発生し、その間、データの読み込みが停止するため、読み込みバッファに蓄積されているデータがなくなると、データのデコード動作が停止してしまう。このため、表示画像が一時停止する、音声が途切れるなどの、再生の不連続が生じるという課題があった。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、記録媒体に記録されているＤＶビデオ素材の内容を編集した場合においても、記録媒体に記録されているデータの再生制御をより適切に行なうことができるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１のデータ記録装置は、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成手段と、ビデオデータ、リスト情報、および接続情報を情報記録媒体に記録する記録手段とを備え、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成手段は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成することを特徴とする。
【００１４】
第１のデータ記録装置は、記録専用の装置として構成しても良いし、記録と再生の両方を実行する装置の記録処理を行うブロックとして構成してもよい。
【００１５】
アイテム情報により接続される接続点に隣接する２つの第１の情報のデータ量が所定のデータ量を超えるか否かを検出する検出手段をさらに含み、生成手段は、検出手段の検出結果に基づいて接続情報を生成するようにすることができる。
【００１６】
記録手段は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていない情報である場合、隣接する２つのアイテム情報の第１の情報を複製して、新たな第２の情報を生成し、情報記録媒体の空き領域に記録するようにすることができる。
【００１７】
本発明の第１のデータ記録方法は、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含み、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、接続情報を生成することを特徴とする。
【００１８】
本発明の第１のプログラム格納媒体に格納されているプログラムは、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含み、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、接続情報を生成することを特徴とする。
【００１９】
本発明の第１のプログラムは、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含む処理を実行させ、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、接続情報を生成することを特徴とする。
【００２０】
本発明の第２のデータ記録装置は、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成手段と、ビデオデータ、リスト情報、および接続情報を情報記録媒体に記録する記録手段とを備え、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成手段は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成し、記録手段は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報を複製して第２の情報を生成し、情報記録媒体の空き領域に記録し、生成手段は、記録手段により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更することを特徴とする。
【００２１】
第２のデータ記録装置は、記録専用の装置として構成しても良いし、記録と再生の両方を実行する装置の記録処理を行うブロックとして構成してもよい。
【００２２】
本発明の第２のデータ記録方法は、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含み、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成し、記録制御ステップの処理は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報を複製して第２の情報を生成し、情報記録媒体の空き領域に記録し、生成ステップの処理は、記録ステップの処理により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更することを特徴とする。
【００２３】
本発明の第２のプログラム格納媒体に格納されているプログラムは、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含み、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成し、記録制御ステップの処理は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報を複製して第２の情報を生成し、情報記録媒体の空き領域に記録し、生成ステップの処理は、記録ステップの処理により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更することを特徴とする。
【００２４】
本発明の第２のプログラムは、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報を生成する生成ステップと、ビデオデータ、リスト情報、および接続情報の情報記録媒体への記録を制御する記録制御ステップとを含む処理を実行させ、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成ステップの処理は、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報を生成し、記録制御ステップの処理は、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報を複製して第２の情報を生成し、情報記録媒体の空き領域に記録し、生成ステップの処理は、記録ステップの処理により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更することを特徴とする。
【００２５】
本発明の第１のデータ記録装置および方法、第１のプログラム格納媒体、並びに第１のプログラムにおいては、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報が生成され、ビデオデータ、リスト情報、および接続情報が情報記録媒体に記録される。また、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成手段により、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した情報に基づいて、接続情報が生成される。
【００２６】
本発明の第２のデータ記録装置および方法、第２のプログラム格納媒体、並びに第２のプログラムにおいては、情報記録媒体に記録されているビデオデータが編集された場合、ビデオデータの所定の時間範囲を指定するアイテム情報を時間軸上に直列に並べて生成された１つの再生単位であるリスト情報に含まれる複数のアイテム情報における各アイテム情報の接続情報が生成され、ビデオデータ、リスト情報、および接続情報が情報記録媒体に記録される。また、ビデオデータは、全てのフレームのデータサイズが一定かつフレーム内符号化されたデータであり、接続情報は、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されているか、あるいは保証されていないかを表わす情報であって、アプリケーションデータベース情報として情報記録媒体に記録され、生成手段により、情報記録媒体の論理アドレスが連続したデータのブロックの並びにより構成されるビデオデータのうち、アイテム情報により読み込まれる実質データを抜き出した第１の情報に基づいて、接続情報が生成され、記録手段により、接続情報が、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていないことを表わす場合、隣接する２つのアイテム情報の第１の情報が複製され第２の情報が生成され、情報記録媒体の空き領域に記録される。さらに、生成手段により第２の情報が記録された場合、接続情報を、編集されたビデオデータの再生時間軸上において、再生が連続に行えることが保証されていることを表わす情報に変更される。
【発明の効果】
【００２７】
第１の本発明によれば、情報記録媒体に記録されているデータが編集され、任意のビデオデータを任意の順序で再生する場合においても、シームレス再生が可能であるかを知ることができる。また、再生を適切に制御することができる。
さらに、第２の本発明によれば、編集の結果、シームレス再生が不可能になったビデオデータを、シームレス再生可能にすることが可能になる。
【発明を実施するための最良の形態】
【００２８】
本発明において、映像および音声をディジタル符号化したデータ（ビデオデータ）を、ファイルシステムが扱うファイル形式にし、ディスクに記録したものをClip（クリップ）ＡＶストリームファイルと称する。
【００２９】
このようなClip AVストリームファイルの一部または全ての範囲を指定して、必要な部分だけを並べて再生する再生順序指定の仕組みを説明する。図３は、記録媒体（後述する図２６の記録媒体１０）上のアプリケーションフォーマットの簡単化された構造を示している。図３に示されるように、Clip AVストリームファイルの一部または全ての範囲を指定して、必要な部分だけを再生する再生順序指定がPlayList（プレイリスト）である。PlayListは、ユーザからみて、ひとまとまりの映像および音声の単位である。最も簡単なPlayListとしては、記録開始から記録終了までの単位で、編集をしない場合には、通常、これが１つのPlayListとなる。
【００３０】
PlayListは、どのＡＶストリームを再生するかという、Clip AVストリームファイルの指定と、そのファイル中の再生開始点(IN)と再生終了点(OUT)の集まりで構成される。このClip AVストリームファイルの指定と再生開始点(IN)・再生終了点（OUT）の情報を１組とし、これをPlayItem（プレイアイテム）と称する。PlayListはPlayItemの集合で構成される。PlayItemを再生するということは、そのPlayItemが参照するClip AVストリームの一部分を再生することと等価である。
【００３１】
PlayListには、2つのタイプがある。１つは、Real PlayList(リアルプレイリスト)であり、もう１つは、Virtual PlayList（バーチャルプレイリスト）である。Real PlayListは、Clip（クリップ）をユーザに提示する役割を持ち、通常、ClipはいずれかのReal PlayListから参照されている。このため、Real PlayListの再生時間の合計は、ディスク上に存在するClipの総再生時間と一致する。つまり、２つ以上のReal PlayListが、Clipの同一箇所を参照することはない。
【００３２】
Real PlayListは、Clipの一部または全部を排他的に参照している。ＡＶストリームが新しいClipとして記録される場合、そのClip全体の再生可能範囲を参照するReal PlayListが自動的に生成される。Real PlayListの再生範囲の一部分が消去された場合、それが参照しているClipのストリーム部分のデータもまた消去される。
【００３３】
Virtual PlayListは、Clipのデータを排他的に占有してはいないPlayListである。そのため、Clipの同一箇所を複数のVirtual PlayListが参照する状況も可能である。Virtual PlayListが変更または消去されたとしても、Virtual PlayListの構成情報が更新されるだけで、Clipは何も変化しない。
【００３４】
なお、以下の説明においては、Real PlayListとVirtual PlayListを総称して単に、PlayListと称する。
【００３５】
Clip AVストリームには、画像・音声を符号化したデータが記録されているが、このClip AVストリームに１対１に対応するファイル（クリップ情報ファイル（以下、Clip information fileと称する））も記録される。これは、再生、編集をより容易にするための付属情報が格納されたファイルである。このClip information fileと、Clip AVストリームの両方をひとまとまとりのオブジェクトとみなし、これをClip（クリップ）と称する。すなわち、ClipはClip AVストリームとそれに付随する情報から構成される１つのオブジェクトである。
【００３６】
このように、Clip、PlayItem、PlayListという図３に示されるような構造を定義することにより、ＡＶストリームファイルを変更せずに、任意の部分だけを再生する非破壊再生順序指定が可能となる。
【００３７】
図４は、PlayListファイルにストアされるPlayList()のシンタクスを示す。
【００３８】
lengthは、lengthの直後のフィールドから、PlayList()の終わりまでのバイト長を示す。PL_CPI_typeは、このPlayListが持つCPI（特長点情報）の種類を表す。number_of_PlayItemsは、このPlayListを構成するPlayItemの数を表す。number_of_SubPlayItemsは、このPlayListに付けられているアフレコオーディオ用のPlayItem(SubPlayItem)の数を表す。
【００３９】
また、PlayItem()はPlayItemの情報を、SubPlayItem()はSubPlayItemの情報を格納する。
【００４０】
PlayListがVirtual PlayListであり、かつ、CPIが図４に示されるような条件を満たす時だけ、SubPlayItemを持つことが出来るようなシンタクスである。
【００４１】
SubPlayItem()は、編集する場合、PlayListにアフレコ音声等を追加するときに用いる構造であるが、本発明と関連が低いため、詳細な説明は割愛する。
【００４２】
図５は、PlayItem()のシンタクスを示す。lengthは、lengthの直後のフィールドから、PlayItem()の終わりまでのバイト長を示す。Clip_Information_file_nameは、このPlayItemが参照しているClipのClip情報ファイル（後述する図１０において拡張子がclpiであるファイル）のファイル名が文字列で格納されている。
【００４３】
Clip_codec_identifierは、このPlayItemが参照しているClip ＡＶストリームが、どのような符号化方式により生成されたデータであるかを示す。DV方式で符号化されている場合は、ISO646で符号化された文字列"DVSD"が入る。
【００４４】
connection_conditionは、このPlayItemが次のPlayItemとの間でどのような接続がされているかを表す情報であり、PlayItemの間を継ぎ目なく再生できるかを表している。connection_conditionの詳細は後述する。
【００４５】
ref_to_STC_idは、ＤＶストリームの場合、CPI_typeが1ではないので、適用されない。
IN_timeは、このPlayItemの開始点（IN点）の、Clip内で一意の位置を指定するPTS (presentation_time_stamp:45kHzカウンタのカウンタ値)を表し、OUT_time はPlayItemの終了点（OUT点）の、Clip内で一意の位置を指定するPTSを表す。
【００４６】
図６は、Clip information file（Clip information ファイル）とClip AV stream file （Clip AVストリームファイル）の関係を示す図である。Clip information fileは、１対１に対応するClip AV stream fileのデータ形式を表す属性情報、およびＡＶストリーム上の時間軸情報を管理するデータベースが格納されたファイルである。このClip information fileには、データの内容を管理するためのDV_Clip情報と、ＡＶストリーム上の時間軸情報を管理するためのDVF-sequence情報が含まれている。
【００４７】
図７は、Clip Information Fileのシンタクスを示す。図７に示されるように、Clip全般の属性をあらわす構造としてDV_ClipInfo()があり、ＡＶストリーム上の時間軸情報を管理するDVF-Sequenceの情報を格納するために、DVF_SequecneInfo()がある。ClipMark()やMakersPrivateData()もClipに関連する情報を格納するデータ構造であるが、本発明とは関連が低いので、詳細は割愛する。
【００４８】
図８は、ClipInfo()のシンタクスを示す。lengthは、lengthの直後のフィールドから、DV_ClipInfo()の終わりまでのバイト長を示す。Clip_stream_typeは、値が1の時は、このClipに対応するＡＶストリームファイルのストリームが通常のAVストリームが格納されたClip AVストリームであることをあらわし、値が2の時は、後述するシームレス接続のためのブリッジClip AV ストリームであることを示す。DV_typeによって、１ＤＶフレームのバイトサイズがわかる。DV_format_typeには、SD-DVCR 525-60 system(120,000 byte), SD-DVCR 625-50 system(144,000 byte), SDL-DVCR 525-60 system(60,000 byte)またはSDL-DVCR 625-50 system(72,000 byte)などの種類がある（カッコの中は、それぞれの場合の１フレームのバイトサイズを表わす）。
【００４９】
図９は、DVF_SequenceInfo()のシンタクスを示す。num_of_DVF_sequencesは、ＡＶストリームファイルの中にあるDVF-sequenceの数を示す。offset_frame_number[dvsq_id]は、ＡＶストリームファイルのdvsq_idによって参照されるDVF-sequence上の最初のＤＶフレームに対するオフセットのフレーム番号を示す。このフレーム番号により、DVF-sequence上の最初に表示されるＤＶフレームの再生時刻presentation_start_time[dvsq_id]が決まり、その後に続く各DVフレームに対して連続な時刻が割り当てられる。offset_frame_number[dvsq_id]を適切に設定することで、各DVフレームの時刻はClip内で一意の時刻となる。この再生時刻は、PlayItemのIN_time,OUT_timeでの指定に使われる。再生時刻の値は、時間を45kHzでカウントしたときのカウント値（つまり1/45000[秒]の精度）とする。
【００５０】
presentation_start_time[dvsq_id]は、式（１）によって求められる。
【００５１】
presentation_start_time[dvsq_id] = offset_frame_number[dvsq_id]×(45000/29.97)・・・（１）
また、num_of_frames[dvsq_id]により、IN,OUT点で指定されるDVF_sequence上の、時刻範囲（PlayItem()のIN_time, OUT_timeがdvf_idで指定されるDVF_sequence上を指している場合の時刻範囲）は式（２）を参照して求められる。
presentation_start_time[dvsq_id] <= IN_time, OUT_time 
<= presentation_start_time[dvsq_id] ＋ num_of_frames[dvsq_id]×(45000/29.97)・・・（２）
式（２）において、num_of_frames[dvsq_id]は、dvsq_idによって参照されるDVF-sequence上にあるフレーム数を示す。これは、leading_data_size[dvsq_id]によって位置が決まる最初のＤＶフレームから、trailing_data_size[dvsq_id]によって決まる最後のＤＶフレームまでの区間に含まれるフレームの数である。
【００５２】
leading_data_size[dvsq_id]は、dvsq_idによって参照されるDVF-sequence上の最初のＤＶフレームの前にあるデータのバイト数を示す。
【００５３】
trailing_data_size[dvsq_id]は、dvsq_idによって参照されるDVF-sequence上の最後のＤＶフレームの後ろに続くデータのバイト数を示す。
【００５４】
DVF_SequenceInfo()の中でエントリーされるoffset_frame_number[dvsq_id]の値は、昇順に並んでいる。すなわち、DVF_SequenceInfo()の中でエントリーされるoffset_frame_number[dvsq_id]は、式（３）および式（４）に示される条件を満たす。
offset_frame_number[0] ≧ 0・・・（３）
0 < dvsq_id < num_of_DVF_sequences であるdvsq_id について、
offset_frame_number[dvsq_id] > offset_frame_number[dvsq_id - 1]+num_of_frames[dvsq_id - 1]・・・（４）
ただし、DV ClipがクリップAVストリームではなくブリッジクリップAVストリームの場合には別のルールが適用されるが、詳細は省略する。
【００５５】
以上が、DV記録用のデータ構造の概要である。このようなデータ構造により、ＤＶストリームをディスク状媒体にファイルの形で記録し、また、再生したい部分をIN点およびOUT点の組で指定したPlayItemの並びでPlayListを構築し、管理することが可能になる。
【００５６】
次に、図１０を参照して、各種の情報が記録再生される記録媒体（メディア）（後述する図２７の記録媒体１０）上のファイルについて説明する。まず、ディスク上にディレクトリBDAVを用意し、このディレクトリの下のディレクトリ・ファイルが、１つの記録再生システムで管理される範囲とする。ディレクトリBDAVは、ディスクのルートディレクトリにあっても良いし、あるディレクトリの下に存在していても良い。
【００５７】
ディレクトリBDAVには、info.bdavというファイルが置かれる。また、ディレクトリBDAVの下には、ディレクトリPLAYLIST, ディレクトリCLIPINF, ディレクトリSTREAMという各ディレクトリが置かれる。
【００５８】
ファイルxxxxx.rpls, yyyyy.vplsは、ディレクトリPLAYLISTの下に置かれ、ディレクトリCLIPINFにはファイルzzzzz.clpiが置かれ、ディレクトリSTREAMには、ファイルzzzzz.dvsdが置かれる。
【００５９】
以上をまとめると、図１０に示されるように、ディレクトリBDAVの下には、以下のファイルが記録される。
【００６０】
１番目のファイルは、ディレクトリ全体に関する情報を格納するファイルとしての、info.bdavファイルである。
【００６１】
２番目のファイルは、プレイリストの情報を格納するファイルとしてのxxxxx.rplsおよびyyyyy.vplsファイルである。
【００６２】
拡張子が"rpls"のファイルは、１個のReal PlayListに関連する情報をストアする。それぞれのReal PlayList毎に、１個のファイルが作られる。ここで、"xxxxx"は、5個の0から9までの数字である。
【００６３】
拡張子が"vpls"のファイルは、１個のVirtual PlayListに関連する情報をストアする。それぞれのVirtual PlayList毎に、１個のファイルが作られる。ここで、"yyyyy"は、5個の0から9までの数字である。
【００６４】
３番目のファイルは、クリップの情報を格納するファイルで、Clipに関する属性情報、DVF-sequenceに関する情報が格納されているzzzzz.clpiファイルである（図６参照）。このファイルは、１個のClip AVストリームファイルに対応するClip Information fileである。"zzzzz"は、5個の0から9までの数字である。
【００６５】
４番目のファイルは、Clip AVストリームが格納されているファイルとしてのzzzzz.dvsdファイルである。ここで、zzzzzは、各dvsdファイルがclpiファイルと１対１に対応する番号である。
【００６６】
ファイルinfo.bdavは、ディレクトリBDAVの下にだた１つある。info.bdavの内部は、機能別の情報ごとにブロックを構成しており、version_number、ディレクトリBDAVに関する情報、Playlistの並びに関する情報、記録再生装置のメーカ固有の情報から構成されている。info.bdavの内容は本発明とは関連が低いので、詳細については割愛する。
【００６７】
ファイルxxxxx.rplsおよびyyyyy.vplsは、ディレクトリPLAYLISTの下にあり、各PlayListに対してファイル１つが１対１に対応している。
【００６８】
xxxxx.rplsおよびyyyyy.vplsの構造を、図１１に示す。ファイルの内部は、機能別の情報ごとにブロックを構成しており、PlayListに関する属性情報はUIAppInfoPlayList()に、PlayListを構成するPlayItemに関する情報はPlayList()に格納される。また、プレイリスト内に頭出し点を設定すること、またチャプターなどのプレイリストを細分化する構造を設けることを可能にするマークの情報はPlayListMark()に、このPlayListファイルを記録した記録再生装置のメーカ固有の情報はMakersPrivateData() に、それぞれ格納される。
【００６９】
ファイルの先頭部分には、ブロックの先頭位置を表す32bitのアドレス(PlayListMark_start_address等)が記述されている。これにより、ブロックの前あるいは後ろに任意の長さのpadding_wordを挿入することが可能となる。
【００７０】
ただし、ファイル内で最初のブロックであるUIAppInfoPlayList()の開始位置は固定で、ファイルの先頭から320バイト目となっている。
【００７１】
UIAppInfoPlayList()、PlayListMark()、およびMakersPrivateData()の説明は、本発明とは関連が低いので詳細を割愛する。
【００７２】
次に、Clip AVストリームファイルの構造を説明する。Clip AVストリームファイルは、IEEE1394 I/F経由を流れるＤＶ信号フォーマットの１ビデオフレーム（図２参照）を単位として記録される。
【００７３】
図１２に示されるように、１フレームごとにＤＶストリームを入力し、新規に記録媒体に記録するようにすると、図１３に示されるように、ＡＶストリームファイル上では、入力されてきたＤＶフレームのデータが順次詰められ、論理的に連続なバイト列として（図１３の例の場合、フレーム番号０，１，２，３，４で示されるフレームのバイト列として）記録される。
【００７４】
図１４は、図１３のDVF-sequenceを説明する図である。横軸はファイルの先頭からのバイト位置を表わし、縦軸は、フレーム番号を表わす。図１２および図１３に示されるように、ＤＶストリームを新規に記録媒体に記録した場合、図１４に示されるように、ＤＶフレームの記録順にフレーム番号が割り当てられる。このように、ＡＶストリームファイルの中でフレーム番号が連続なＤＶフレームのバイト列をDVF-sequenceと呼ぶ。図１３の例の場合、フレーム番号０から４が割り当てられた５枚のフレームからなるバイト列は、１個のDVF-sequenceである（１個のDVF-sequenceに対応する期間Ｔでは、フレーム番号が連続している）。ＤＶストリームを新規に記録媒体に記録する時、そのClipはＤＶフレーム番号の不連続点を含まず、ただ１つのDVF-sequenceを持つ。
【００７５】
ファイルシステムはデータの記録と再生を、セクタと呼ばれるロジカルブロック単位に行うため、ＤＶストリームの記録と再生もセクタの倍数の単位で行われる。そのため、図１５に示されるように、ＡＶストリームファイルを新規に記録した時、DVF-sequenceの先頭はセクタ境界と整合するように記録される。図１５の上の段は、ＡＶストリームファイルを新規に記録した時のDVF-sequenceを表わし、下の段は、そのときの記録媒体に記録されるデータ配置の例を表す。
【００７６】
ところで、１つのセクタのサイズは2048バイトであることが多いが、ＤＶの１フレーム分のデータサイズ（120,000バイト）は、その2048バイトの整数倍ではない。よって、ファイル先頭のフレームデータ以外の、フレームデータの先頭バイトの位置は、必ずしもセクタの境界とは一致してはいない。そのため、ＡＶストリームファイルを１フレームのデータを単位として部分的に消去する場合でも、実際にはセクタの単位で消去をする必要がでてくる。
【００７７】
図１６は、図１５のDVF-sequenceのはじめと終わりのデータを部分的に消去したときのディスク上のデータ配置を示す。この場合、DVF-sequenceの先頭がセクタ境界にアラインするようにデータを消去する（データは、セクタ単位で消去される）。そのため、最初の完全なＤＶフレームの前に、"Leading_data_size"で示される大きさの、不完全なフレームデータ（削除されたフレームのデータ）が残る。また、DVF-sequenceの最後がセクタ境界にアラインするようにデータを消去する。そのため、最後の完全なＤＶフレームの後ろに、"Trailing_data_size"で示される大きさの、不完全なフレームデータ（削除されたフレームのデータ）が残る。
【００７８】
次に、上記のようにClip AVストリームのデータが部分的に消去され、複数のDVF-sequenceが生成される場合について説明する。
【００７９】
図１７は、ＤＶストリームを新規に記録媒体に記録する時にできるDVF-sequenceを示す。このフレーム番号FN=aからFN=bの再生区間と、FN=cからFN=dの再生区間を残して、不要な再生区間のデータを消去する場合を考える。図１８は、データを消去する前（編集前）の図１７のDVF-sequenceのフレーム番号(FN)を示す図である（図１４に対応する）。この場合、DVF-sequenceのフレーム番号は、DVFsequenceのバイト数に対して比例している。
【００８０】
図１９に、図１７において、フレーム番号FN=aからFN=bの再生区間と、FN=cからFN=dの再生区間を残して、不要な再生区間のデータを消去した結果を示す。このような編集が行なわれると、Clip（図１９）には２個のDVF-sequenceが生成される。１番目のDVF-sequence（図中のDVF-sequence#0）は、フレーム番号FN=aからFN=bの再生区間のフレームデータを含み、２番目のDVF-sequence（図中のDVF-sequence#1）は、フレーム番号FN=cからFN=dの再生区間のフレームデータを含む。
【００８１】
図２０は、図１９のDVF-sequenceのフレーム番号（FN）を示す図である。この場合、２つのDVF-sequenceの境界において、フレーム番号が不連続となる。図１９に示されるように、DVF-sequence#0は、Leading_data_size#0とTrailing_data_size#0で示されるデータを持つ。DVF-sequence#1は、Leading_data_size#1とTrailing_data_size#1で示されるデータを持つ。
【００８２】
次に、上述したようにClip AVストリームのデータが部分的に消去される時(編集された時)の、DVF-sequenceとPlayListの関係について説明する。
【００８３】
図２１に示されるような１つのDVF-sequenceを持つClip AVストリームの一部分DTPを消去する場合を考える。図２１に示されるように、編集前のDVF-sequenceについてのOffset_frame_number[0]（このDVF-sequence上の最初のフレームに対するオフセットのフレーム番号）はゼロである。Virtual PlayListのPlayItem1, PlayItem2, PlayItem3およびPlayItem4は、このDVF-sequenceを参照しているとする。いま、図２１に示されるように、DVF-sequenceのＡＶストリームデータについて、どのPlayItemにも使われていないＡＶストリームデータを消去したとする。
【００８４】
図２１において、Clip AVストリームの一部分DTPを消去した場合、図２２（編集後）に示されるように、DVF-sequenceは、DVF-sequence#0とDVF-sequence#1に分けられる。このように、編集後のClipは２個のDVF-sequenceを持つ。１番目のDVF-sequenceについてのOffset_frame_number[0]はゼロにセットされ、２番目のDVF-sequenceについてのOffset_frame_number[1]は値Xにセットされる。フレーム番号Xを時刻に変換したpresentation_start_time[1]は、PlayItem2のOUT_time2よりも大きく、PlayItem3のIN_time3と等しいか、それよりも小さい。すなわち、編集後にVirtual PlayListのPlayItem3とPlayItem4のIN_timeとOUT_timeの値を変更する必要がない。Clip AVストリームファイルの部分的なデータを消去する時に、その消去部分を使用していないVirtual PlayListについては何も変更しなくても良い。
【００８５】
PlayListを再生する場合、再生部はPlayItemのIN_timeとDVF-sequenceのOffset_frame_number[n]を時刻に変換したpresentation_start_timeの値を比較することにより、そのIN_timeとOUT_timeが指すところのDVF-sequenceを見つけることができる。例えば、図２２の場合、PlayItem3のIN_time3は２番目のDVF-sequenceのOffset_frame_number[1](=X)から求められるpresentation_start_time[1]よりも大きいので、PlayItem3のIN_time3とOUT_time3は、２番目のDVF-sequenceを指すことがわかる。
【００８６】
次に、本発明の目的である、PlayItem間の接続点における再生状況を示す情報について説明する。本発明に関係する情報は、PlayListの情報を格納するファイル#####.rpls, #####.vpls中にあるconnection_conditionである。
【００８７】
ここで、ＤＶストリーム中の任意のシーンをPlayItemで接続する場合の再生について説明する。
【００８８】
ＤＶが採用している符号化方式では、フレーム間の差分符号化をしていないため（全てのフレームがイントラフレーム（フレーム内符号化されたフレーム）とされるため）、ＤＶのストリームをフレーム単位で切断または接続しても、デコードの連続性は保たれる。
【００８９】
このため、ＤＶにおける接続点の連続性条件（シームレス再生条件）とは、接続点付近でディスクからの読み出しデータ速度がデコードの速度に間に合っているか否か、すなわち連続供給が保証できているか否かである。内容が同一のデータであっても、ディスクのどこに配置するかで、連続して供給できるか出来ないかが決まる。よって、連続供給が可能か否かは、ファイルシステム層が管理するディスク上のデータ配置の問題に帰着し、アプリケーション層のPlayItemのIN点およびOUT点の位置だけからは判別できない。このため、アプリケーション層に専用のフィールドを設けて接続点に関する情報を記録しておく必要がある。
【００９０】
このシームレス（連続供給が可能）か、または、ノンシームレス（連続供給が不可能）かを表す情報がconnection_conditionである。
【００９１】
connection_condition が取りうる値のうち、ＤＶストリームに対して適用できる値は、1、3、および4の3種類である。connection_condition=1はノンシームレス、connection_condition=3はバーチャルプレイリストでブリッジシーケンスを用いたシームレス、connection_condition=4はブリッジシーケンスを用いないシームレスを表わす。以下に、詳細を説明する。
【００９２】
最初に、connection_condition=1について説明する。これは、図２３に示されるように、注目しているPlayItem（このconnection_conditionを持つ現在のPlayItem）と、再生順で１つ前のPlayItem（前のPlayItem）との接続点において、シームレス再生が保証されていないことを表している。
【００９３】
このような状況は、データの再配置をせずに、単にOUT点とIN点を設定して接続を作ったときにできる。図２３の例では、現在のPlayItemのIN_pointと、前（１つ前）のPlayItemのOUT_pointを単に設定して接続しているため、シームレス再生が保証されなくなる。同一Clip上に前のPlayItemのOUT_pointと、注目しているPlayItemのIN_pointが存在する図２４の例においても、同様である。また、値1は、シームレス再生が可能かどうかチェックしない場合に、すべての接続に対して設定できる値（デフォルト値）でもある。
【００９４】
すなわち1とは、シームレスに再生が不可能な接続の状態を表わすだけではなく、実際にはシームレス再生が可能であるが、シームレス再生を明示的に保証してはいない状態も表わしている。例えば、以下に示す２つの条件が満たされている場合は、connection_conditionが1であっても、再生装置によってはシームレス接続状態であると判断し、シームレスに再生できる。
【００９５】
１つめの条件は、前（１つ前）のPlayItemのOUT点（前のPlayItemのOUT_point）と、注目している（現在の）PlayItemのIN点（現在のPlayItemのIN_point）の値が一致していることである。
【００９６】
２つめの条件は、前の（１つ前）PlayItemのOUT点（前のPlayItemのOUT_point）と、注目している（現在の）PlayItemのIN点（現在のPlayItemのIN_point）が、同一のDVF-sequence上にあることである。
【００９７】
上述した２つの条件を満たしている接続の例を図２５に示す。図２５の例では、前（１つ前）のPlayItemのOUT点（前のPlayItemのOUT_point）と、注目している（現在の）PlayItemのIN点（現在のPlayItemのIN_point）の値が一致しており、かつ、前の（１つ前）PlayItemのOUT点（前のPlayItemのOUT_point）と、注目している（現在の）PlayItemのIN点（現在のPlayItemのIN_point）が、同一のDVF-sequence上にある。この場合、シームレス接続となり、自動的にシームレス再生が可能となる。
【００９８】
次に、connection_condition=3および4について説明する。この値は、注目している（現在の）PlayItemと、１つ前のPlayItemの間がシームレス接続であることを表わす。データの配置が適切であるため、接続点において、ディスクドライブ装置からの読み出しが中断する前に、十分な量のデータを読み出しバッファ（後述する図２６のバッファ１４）に蓄積できているため、接続点においてデコーダ（図２６のＤＶ復号部１５）にデータを連続して供給できる場合、この値がセットされる。
【００９９】
次に、DVRアプリケーション構造のデータを記録再生するシステムについて、図２６のＤＶ記録再生装置１の構成例を示すブロック図を用いて説明する。このＤＶ記録再生装置１は、記録処理を実行する記録部２と再生処理を実行する再生部３とにより構成されている。
【０１００】
はじめに記録時の動作について説明する。
【０１０１】
端子２８から入力されるＡＶ信号をＤＶ符号化部１８でエンコードしてＤＶストリームを取得するか、または、端子２９からIEEE1394 I/F１９を介してＤＶストリームを取得する。当該ＤＶストリームは、ＤＶストリーム解析部２０での解析処理の後、バッファ２１を介して、ECC（誤り訂正）符号化部２２と変調部２３に入力され、そこでECC符号の付加処理と変調処理が行なわれた後、書き込み部２４へ入力される。書き込み部２４は、制御部１７から記録部２に供給される制御信号に基づいて、記録媒体１０へＡＶストリームファイルを記録する。
【０１０２】
このＤＶ記録再生装置１は、ＡＶストリームファイルを記録すると共に、そのファイルに関係するアプリケーションデータベース情報もまた記録する。アプリケーションデータベース情報は、制御部１７により作成される。制御部１７への入力情報は、ＤＶストリーム解析部２０からの情報と、端子２７から入力されるユーザの指示情報である。
【０１０３】
ＤＶストリーム解析部２０からの情報には、ＤＶ信号のタイプ(DV_type)、入力されるＤＶフレームのカウント数、およびプログラム情報がある。ＤＶストリームの記録終了時でのフレームのカウント数は、DVF-sequenceのフレーム数(num_of_frames)となる。ＡＶストリーム内のプログラム内容の変化情報は、ProgramInfoにストアされるデータとなる。ＤＶストリーム解析部２０からの情報は、ＡＶストリームのデータベース(Clip Information)にストアされるものである。
【０１０４】
端子２７から入力されてきたユーザの指示情報には、ＡＶストリームの中における再生区間の指定情報、その再生区間の内容を説明するキャラクター文字、ユーザが指定したシーンにセットされるブックマークやリジューム点のＡＶストリームの中のタイムスタンプなどが含まれる。これらのユーザの指示情報は、Play Listのデータベースにストアされるものである。
【０１０５】
制御部１７は、上記の入力情報に基づいて、ＡＶストリームのデータベース（Clip Information）、PlayListのデータベース、および記録媒体１０の記録内容の管理情報(info.bdav)を生成する。これらのデータベース情報は、ＡＶストリームと同様にして、ECC（誤り訂正）符号化部２２、および変調部２３で処理されて、書き込み部２４へ入力される。書き込み部２４は、制御部１７から供給される制御信号に基づいて、記録媒体１０へデータベースファイルを記録する。
【０１０６】
次に、再生時の動作について説明する。
【０１０７】
記録媒体１０には、ＡＶストリームファイルとアプリケーションデータベース情報が記録されている。
【０１０８】
はじめに制御部１７は、読み出し部１１に対して、アプリケーションデータベース情報を読み出すように指示する。読み出し部１１は、記録媒体１０からアプリケーションデータベース情報を読み出す。そのデータベース情報は、復調部１２とECC（誤り訂正）復号部１３による復調処理と誤り訂正処理を経て、制御部１７へ入力される。
【０１０９】
制御部１７は、アプリケーションデータベースに基づいて、記録媒体１０に記録されているPlayListの一覧を端子２７のユーザーインターフェース（ＵＩ）へ出力する。ユーザが、PlayListの一覧から再生したいPlayListを選択すると、制御部１７は、PlayListのこの選択を受け付ける。制御部１７は、そのPlayListの再生に必要なＡＶストリームファイルの読み出しを読み出し部１１に指示する。そして、読み出し部１１は、記録媒体１０からそのＡＶストリームを読み出し、復調部１２、ECC復号部１３の処理を経て、再生されたＤＶストリームはバッファ１４へ入力される。
【０１１０】
制御部１７は、ＡＶストリームの再生区間(PlayItem)に対応するＤＶフレームからなるストリームをバッファ１４から読み出すように制御する。バッファ１４から読み出されたＤＶフレームのデータは、ＤＶ復号部１５へ入力される。ＤＶ復号部１５は、ＤＶフレームのデータを復号し、再生ＡＶ信号を端子２６から出力する。また、バッファ１４から読み出されたＤＶフレームのデータは、IEEE1394 I/F １６を介して、端子２５からＤＶストリームとして出力される。
【０１１１】
次に、ＡＶストリームを編集する場合について説明する。
【０１１２】
ユーザにより、記録媒体１０に記録されているＡＶストリームの再生区間が指定され、新しい再生経路が作成される場合、端子２７のＵＩ（ユーザインターフェース）入力から、再生区間のイン点とアウト点の情報が制御部１７へ入力される。制御部１７は、ＡＶストリームの再生区間(PlayItem)をグループ化したもの（PlayList）のデータベースを作成する。
【０１１３】
ユーザが、記録媒体１０に記録されているＡＶストリームの一部を消去したい場合、端子２７のＵＩから、消去区間の情報が制御部１７へ入力される。制御部１７は、必要なＡＶストリーム部分だけを参照するようにPlayListのデータベースを変更する。また、ＡＶストリームの不必要なストリーム部分を消去するように、書き込み部２４に指示する。また、Clip AVストリームの変化に基づいて、そのClip Information fileの内容を変更する。
【０１１４】
次に、Clip AVストリームがディスク（記録媒体１０）上、どのように配置されているかを説明する。
【０１１５】
Clip AVストリームは、図２７に示されるように、ディスク上の論理アドレスが連続したデータのかたまり（ブロック）（以下、Extentと称する）の並びで構成されており、Extent１０１の長さとその配置は、Clip AVストリームがディスクへ記録される際にＤＶ記録再生装置１が適切に制御している。
【０１１６】
このとき、Extent１０１の最小サイズの規定を守るようClip AVストリームが記録媒体１０に記録されていれば、再生時に連続供給が保証される。
【０１１７】
図２７に示されるように、１つのファイルが複数のExtent（エクステント）１０１から構成されている場合、ファイルの読み出しのために、あるExtent１０１から次のExtent１０１へと、次々にExtent１０１を読む動作が繰り返される。次のExtent１０１を読む場合、ディスクの回転数を変化させ、読み出し部１１を構成する光ピックアップを移動させる必要がある。
【０１１８】
このアクセス時間は最大約0.8秒あり、この間、読み出し部１１を構成するドライブからはデータが取り出せない。一方、映像および音声のデコードおよび再生は連続に行われるため、このアクセス時間の影響を吸収するような仕組みが必要となる。
【０１１９】
あるExtent１０１と次のExtent１０１の間では、ジャンプが発生するが、前のExtent１０１のバイト長が大きい場合、ジャンプ前に十分な量のデータをバッファ１４に格納することができる。このため、ジャンプする間も、バッファに格納されたデータをデコーダに供給することで、デコードは連続に行われる。
【０１２０】
すなわち、ジャンプ前のExtent１０１のサイズが十分大きければ、次のExtent １０１にジャンプする間も連続供給が保証できる。バッファ１４に十分な量のデータを蓄積できるようにするには、Extent１０１のサイズの下限を制限すれば良い。最小Extentサイズは、ディスク（記録媒体１０）からの読み出しレートと、ドライブのアクセス時間から固有の値として定められる。
【０１２１】
連続供給の条件は、このExtentの最小サイズの規定を守っているか否かにより判定できる。
【０１２２】
図２８は、ディジタルＡＶ信号がディスク上に断片化して記録されている状態の例を示す。図２８において、記録されたディジタルＡＶ信号を、所定のビットレートで記録媒体から読み出せることを保証するためには、１つのExtentの大きさが、式（５）に示されるような条件を満たす必要がある。
【０１２３】
Ｓ×8 / (Ｓ×8/Rud + Ts) >= Rmax・・・（５）
【０１２４】
このとき、Ｓ[bytes]は、Extent１０１のサイズを表わし、Ts[second]は、１つのExtent１０１から次のExtent１０１へのフルストロークのアクセス時間を表わし、Rud[bits/second]は、ディスクからの読み出しビットレートを表わし、Rmax[bits/second]は、ＡＶストリームのビットレートを表わす。
【０１２５】
すなわち、各Extent１０１のサイズがＳバイト以上になるように、ＡＶストリームのデータを連続して配置すれば、Extent１０１の並びをシームレス再生することが可能となる。
【０１２６】
例えば、ＤＶストリームのビットレートが、Rmax = 28.7712[Mbps] (525/60システムの場合)において、Rud = 35[Mbps], Ts=0.8[sec]とすると、Ｓ >= 16.16[MB]となる。つまり最小Extentサイズ（Ｓ）は16.16[MB]となる。
【０１２７】
実際のシステムにおいては、ビットレートが異なるＡＶストリームや、MPEGなど符号化方式が異なるＡＶストリームも同一の記録媒体１０上に記録されることがあるため、それらに共通に適用できる最小Extentサイズを使う必要がある。
【０１２８】
以上は、Clip AVストリームファイルが連続読み出し可能となる条件について説明したが、これをPlayItem間の接続点にも応用することで、connection_conditionの値を決定することが可能である。その方法を以下に説明する。
【０１２９】
図２９は、Imaginary Extent（イマジナリエクステント）の例を示す図である。PlayItemは、IN点およびOUT点によって再生範囲を指定しているが、IN点およびOUT点を含むExtent１０１のうち、実際にPlayItemに基づいてデコードされる範囲（図１６におけるTrailing_data_sizeの部分やLeading_data_sizeの部分もデコードされないためImaginary Extentの作成においては除かれる）を"Imaginary Extent"１１１とする。"Imaginary Extent"１１１は、前のPlayItemのOUT点（前のPlayItemのOUT_point）と、注目しているPlayItemのIN点（現在のPlayItemのIN_point）の２箇所でできる。図２９では、前のPlayItemのOUT_pointを含むExtent（Special Extent（スペシャルエクステント））のうち、PlayItemに基づいて再生される範囲と、現在のPlayItemのIN_pointを含むExtent（Special Extent）のうち、PlayItemに基づいて再生される範囲が、それぞれ、Imaginary Extent１１１とされている。Imaginary Extent１１１の導入により、任意のPlayListは、図３０に示されるように、Extent１０１とImaginary Extent１１１という２種類のExtentの並びによって構成されていると抽象化することができる。
【０１３０】
PlayItem単体の再生では、PlayItemの最初のImaginary Extent１１１が小さく、次のExtent１０１へのジャンプ前に、十分な量のデータを読み出しバッファ１４に蓄積できないことが考えられる。その場合は、Imaginary Extent１１１の読み出しと同時に再生を開始するのではなく、Imaginary Extent１１１をすべて読み込んでジャンプをし、次のExtent１０１をある程度読み取り、十分な量のデータを読み出しバッファ１４に蓄積した後に再生を開始すればよい。このため、PlayItem単体の再生では、常にシームレス再生が保証されている。
【０１３１】
ところが、複数のPlayItemを並べてシームレス再生を実現したい場合（例えば、図２４に示されるデータを並べて連続再生したい場合）、一度再生を開始した後は、再生を中断してデータを読み出しバッファ１４に蓄積することはできない。そのため、再生の途中でバッファが破綻しないよう、各PlayItemの接続点で最小Extentの条件を満たしておく必要が出てくる。
【０１３２】
すなわち、PlayItemの並びで指定された通りに再生していく場合、接続点の前後にある"Imaginary Extent"１１１が最小Extent Sizeを満たしていることが、接続点でシームレスに再生できる条件となる。
【０１３３】
この判定方法をフローチャートにしたものを図３１に示す。図３１は、connection_conditionの値を決定する処理を説明するフローチャートである。
【０１３４】
ステップＳ１において、制御部１７は、前のPlayItemのOUT点（前のPlayItemのOUT_point）が指すフレームのデータを含むExtentのうち、前のPlayItemで再生される部分を図３２に示されるように、Imaginary Extent１１１Ｐとする。
【０１３５】
ステップＳ２において、制御部１７は、PlayItemのIN点（現在のPlayItemのIN_point）が指すフレームのデータを含むExtentのうち、現在のPlayItemで再生される部分を、図３２に示されるように、Imaginary Extent１１１Ｃとする。
【０１３６】
ステップＳ３において、制御部１７は、Imaginary Extent１１１Ｐが、上述した連続供給の条件である最小Extentサイズの条件を満たすか否かを判定する。すなわち、Imaginary Extent１１１ＰのサイズをＳ(P)とし、連続供給となる最小ExtentサイズをＳ(E)としたとき、式（６）を満たすか否かが判定される。
【０１３７】
Ｓ(P)  ＞＝  Ｓ(E)・・・（６）
【０１３８】
式（６）を満たすと判定された場合、処理は、ステップＳ４に進み、制御部１７は、Imaginary Extent１１１Ｃが、連続供給の条件である最小Extentサイズの条件を満たすか否かを判定する。すなわち、Imaginary Extent１１１ＣのサイズをＳ(I)とし、連続供給となる最小ExtentサイズをＳ(E)としたとき、式（７）を満たすか否かが判定される。
【０１３９】
Ｓ(I)  ＞＝  Ｓ(E)・・・（７）
【０１４０】
式（７）を満たすと判定された場合、処理は、ステップＳ５に進み、制御部１７は、connection_conditionを3または4と設定し（シームレス再生保証ありと設定し）、処理を終了する。なお、ここでは、ブリッジシーケンスか否かの判定は省略してある。
【０１４１】
ステップＳ３において、式（６）を満たさないと判定された場合、または、ステップＳ４において、式（７）を満たさないと判定された場合、処理は、ステップＳ６に進み、制御部１７は、connection_conditionを1（シームレス再生保証なし）と設定し、処理を終了する。
【０１４２】
図３１の処理により、connection_conditionの判定が行なわれる。
【０１４３】
次に、図３３のフローチャートを参照して、connection_conditionが記録されている記録媒体１０における、PlayListの再生処理を説明する。図３３のフローチャートは、ユーザによりPlayListが選択され、ユーザの指令によりPlayListを構成するPlayItemが次々に再生される流れをconnection_conditionに注目して示したものである。なお、この処理は、ユーザがPlayListの再生を指示したときに開始される。
【０１４４】
ステップＳ３１において、制御部１７は、ユーザから１つのPlayListの再生の指示を受け付ける。
【０１４５】
ステップＳ３２において、制御部１７は、選択されたPlayListの情報が書かれているファイルxxxxx.rplsおよびyyyyy.vplsを読み込み、再生しようとするPlayItemのIN_timeを取得する。例えば、図２１に示されるようなClip AのDVF-sequenceに対するPlayListの再生が指示された場合、現在のPlayItem1のIN_time1が取得される。
【０１４６】
ステップＳ３３において、制御部１７は、PlayItemが参照しているClipの情報ファイルzzzzz.clpiを読み込み、IN_timeに相当するClip AVストリームファイル中のフレーム番号（バイト位置）を取得する。
【０１４７】
Ｓ３４において、制御部１７は、ステップＳ３１において選択されたPlayListの最初のPlayItemであるか、または、次に再生するPlayItemが持つconnection_conditionの値が1であるか否かを判定する。例えば、図２１の例の場合、PlayItem1の次に再生するPlayItem2が持つconnection_condition情報が読み取られる。
【０１４８】
上述したように、PlayListの最初のPlayItemである場合、あらかじめ次のExtentを読み取り、十分な量のデータを読み出しバッファ１４に蓄積した後に再生を開始すれば、シームレスな再生をすることができる。また、connection_conditionの値が1（シームレス再生保証なし）である場合においては、一旦再生を中断して次のExtentを読み取り、十分な量のデータを読み出しバッファ１４に蓄積した後に再生を開始すれば、個々のPlayItemの再生中は、シームレスな再生を行なうことが可能となる。
【０１４９】
ステップＳ３４において、PlayListの最初のPlayItemであると判定された場合、または、次に再生するPlayItemが持つconnection_conditionの値が1であると判定された場合（次のPlayItemとの接続において、シームレス再生が保証されていない場合）、ステップＳ３７に進み、制御部１７は、読み出し部１１を制御して、ステップＳ３３において取得されたIN_timeが参照するフレームのアドレスからＡＶストリームのデータの読み込みを開始させる。読み込まれたデータは、復調部１２およびECC復号部１３による復調処理と誤り訂正処理を経て、バッファ１４に供給される。
【０１５０】
ステップＳ３８において、制御部１７は、読み出しバッファ１４が一杯になったか否かを判定する。読み出しバッファ１４が一杯でないと判定された場合、制御部１７は、読み出しバッファが一杯になるまで待機する。
【０１５１】
ステップＳ３８において、読み出しバッファ１４が一杯であると判定された場合、処理は、ステップＳ３９に進む。
【０１５２】
このように、ステップＳ３７において、データの読み込みを開始するが、ステップＳ３８において、読み出しバッファ１４が一杯になるまでデコードの開始を遅らせる。これは、読み出しバッファ１４が一杯になる前にデコードを開始してしまうと、PlayItemの再生途中にあるExtent間のジャンプでバッファ１４が空になり、PlayItem内の再生がシームレスにならない恐れがあるためである。
【０１５３】
Extentの境界は、ユーザには見えないため、PlayItemの再生中に不連続が発生すると、ユーザには不可解に見えてしまう。そのため、PlayItemの境界で意図的にデコードを停止し、読み出しバッファ１４にデータを蓄積してから再生を再開する。いわば、PlayItem再生中に発生する不連続を、すべてPlayItemの境界に移動させることで、不自然に見えないようにする。
【０１５４】
ステップＳ３４において、PlayListの最初のPlayItemでないと判定された場合、または、次に再生するPlayItemが持つconnection_conditionの値が1ではない（3または4である）と判定された場合（シームレス再生が可能である場合）、ステップＳ３５に進み、制御部１７は、読み出し部１１を制御して、ステップＳ３３において取得されたIN_timeが参照するフレームのアドレスからＡＶストリームのデータの読み込みを開始させる。読み込まれたデータは、復調部１２およびECC復号部１３による復調処理と誤り訂正処理を経て、バッファ１４に供給される。
【０１５５】
ステップＳ３６において、制御部１７は、読み出しバッファ１４に、ＡＶストリームのデータが供給されたか否かを判定する。読み出しバッファ１４に、ＡＶストリームのデータが供給されていないと判定された場合、供給されるまで待機する。
【０１５６】
ステップＳ３６において、読み出しバッファ１４にＡＶストリームのデータが供給されたと判定された場合、または、ステップＳ３８において、読み出しバッファ１４が一杯になったと判定された場合、処理は、ステップＳ３９に進み、制御部１７は、ＡＶストリームをＤＶ復号部１５にデコードさせ、再生させる。
【０１５７】
ステップＳ３６の処理では、ＡＶストリームのデータが読み出しバッファ１４に供給されてきたかが検出され、データが供給されてきた時点で、ステップＳ３９に進み、デコードされる。これは、ステップＳ３４の処理でシームレス再生が保証されており、デコード速度よりも十分高い速度で読み出しバッファ１４にデータが供給され、次のExtentへのジャンプの時、あるいはその前の段階で、読み出しバッファ１４に十分な量のデータが蓄積されることが保証されているためである。そのため、読み出しバッファ１４が一杯になる前にデコードを開始することができる。
【０１５８】
ステップＳ３９の処理の後、ステップＳ４０において、制御部１７は、ステップＳ３２において取得されたIN_timeに対応するOUT_timeのフレームの画像の再生が終了したか否かを判定する。OUT_timeのフレームの画像の再生が終了していないと判定された場合、処理は、ステップＳ３９に戻り、それ以降の処理が繰り返される。
【０１５９】
ステップＳ４０において、OUT_timeのフレームの画像の再生が終了したと判定された場合、処理は、ステップＳ４１に進み、制御部１７は、ステップＳ３１において選択されたPlayListの最後のPlayItemの再生が終了したか否かを判定する。最後のPlayItemの再生が終了していないと判定された場合、処理は、ステップＳ３２に戻り、次のPlayItemの再生が行なわれる。
【０１６０】
ステップＳ４１において、最後のPlayItemの再生が終了したと判定された場合、ステップＳ３１において、ユーザに選択されたPlayListの再生が終了したため、処理を終了する。
【０１６１】
なお、このフローチャートの処理では、connection_conditionが1(シームレス再生保証なし)のPlayItemの再生前には、読み出しバッファ１４が一杯になるまでデコード開始を遅らせているが、これはバッファ管理の最も簡単な例である。読み込もうとするExtentのサイズが大きい場合は、読み出しバッファが一杯になる前にデコードを開始しても、徐々に読み出しバッファにデータが蓄積され、次のExtentへのジャンプの前には、十分な量のデータを読み出しバッファ１４に蓄積できる場合がある。
【０１６２】
このように、Extentのサイズによって必要な待ち時間を算出できるシステムでは、ステップＳ３８の処理での再生中断時間を短縮することができる。
【０１６３】
以上が、PlayListの再生において、connection_conditionがどのように使われるかを示したフローチャートの説明である。このように、connection_condition は再生品質を高めるために利用できる情報である。
【０１６４】
以上においては、PlayItem間の接続がシームレスかどうかという判定方法について記載した。
【０１６５】
次に、PlayItem間の接続がシームレスでないと判定された場合に、PlayItem間の接続をシームレスな接続に変更する方法について説明する。PlayItem間の接続がシームレスでなくても規格上は違反にならないが、ユーザが再生品質を高めたいと望む場合に、次のような処理を記録部２が行うことで、シームレスではない接続を、シームレスな接続へ変換することができる。
【０１６６】
図３４は、PlayItem間の接続をシームレスな接続に変更する処理を説明するフローチャートである。なお、この処理は、ユーザによりPlayItem間の接続がシームレスでないと判定された場合に、PlayItem間の接続をシームレスな接続に変更する指示を指令されたときに開始される。
【０１６７】
ステップＳ５１において、制御部１７は、PlayItem間の接続がシームレスであるか否か（いま、選択したPlayItemが持つconnection_conditionの値が3または4である否か）を判定する。PlayItem間の接続がシームレスでない（選択したPlayItemが持つconnection_conditionの値が1である）と判定された場合、すなわち、例えば、図３５に示されるように、PlayItem間の接続において、最小ExtentサイズよりImaginary Extent１１１のサイズが小さい場合（最小Extentサイズの条件を満たせない場合）、処理はステップＳ５２に進み、シームレスでないと判定された接続点の両端からデータをコピーして、新しいClipを生成する。
【０１６８】
ステップＳ５３において、制御部１７は、記録媒体１０の最小Extentサイズ以上の空き領域に、ステップＳ５２において生成した新しいClipを記録する。
【０１６９】
ステップＳ５４において、制御部１７は、ステップＳ５３の処理において記録した新しいClipに基づいて、新しいPlayItemを生成し、記録媒体１０に記録する。
【０１７０】
具体的には、図３５において、IN点（現在のPlayItemのIN_point）およびOUT点（前のPlayItemのOUT_point）の位置により、最小Extentサイズを満たさないExtentができてしまう場合、図３６に示されるように、最小Extentサイズ以上の空き領域に、接続点の両端からデータをコピーして新たなClipが作られる。再生時には、この新しいClipを指すPlayItem（New PlayItem）を経由することで、最小Extentサイズの条件を満たすような再生パスを実現することができる。
【０１７１】
ステップＳ５５において、制御部１７は、ステップＳ５４において生成した新しいPlayItemのconnection_condition情報（connection_condition=4）を生成し、記録する。その後（ステップＳ５５の処理の後）、または、ステップＳ５１において、PlayItem間の接続がシームレスであると判定された場合、ステップＳ５２乃至ステップＳ５５の処理は不要であるのでスキップされ、処理を終了する。
【０１７２】
このように、新しいClipのデータは元のClipからコピーするので、元のClip上のIN点およびOUT点の位置は変更される。また、PlayListを構成するPlayItemの数が１つ増える（新しいPlayItemの分が増える）。そのため、実際には元のPla yListを残したまま、新たなPlayList（Virtual PlayList）が形成される。
【０１７３】
この方法によるシームレス接続は、PlayItemの接続点にシーンチェンジ用の画像を挿入して、滑らかにシーンが切り替わるように見せたい場合にも、用いることが可能である。
【０１７４】
以上の方法は、新たなClipを作成し、新たなPlayItemを挿入するすることで、シームレス再生を実現した例であるが、図３７のように、ブリッジClipを作成することで、PlayItemの数を増やさずにシームレスな接続を実現することもできる。図３７では、接続点の両端のExtent（エクステント）からデータをコピーして新たにClipを作成する点は図３６と同じであるが、新たに生成したClipを、独立した１つのClipではなく、Clip2に付属したClip、すなわちブリッジClipとみなしている。そして、前のPlayItemのOUT点であるOUT_time1と、現在のPlayItemのIN点であるIN_time2は、ブリッジClip上を指すものとし、PlayItemの数は増やさない。この新しいブリッジClipを経由しての再生は、前のPlayIteｍのExtent（エクステント）の途中の位置FN_exit_from_preceding_Clipから抜け出してブリッジClipを先頭から再生し、ブリッジClipを再生し終わると、現在のPlayItemのExtentの途中FN_enter_to_following_Clipに入る。このような経路をたどることで、シームレスな再生が可能となる。図３６と図３７の差異は、新たに作ったExtentを単独のClipとみなすかブリッジClipとみなすかという点、さらにはPlayItemのＩＮ点、ＯＵＴ点の位置の違いであり、最小Extentサイズを満たすよう接続点の両端からデータをコピーして新たにExtentを作るという方法自体には変わりはない。また、規格上、ブリッジClipはMPEGのＡＶストリームをシームレス接続するためにも使われている。そのため、ＭＰＥＧとＤＶの管理に共通性を持たせることができるメリットがある。connection_condition=3とは、ブリッジClipによってPlayItem間のシームレスな再生が保証されている接続点を表すものである。
【０１７５】
なお、FN_exit_from_preceding_ClipとFN_enter_to_following_Clipは、図８のデータ構造に記録されている。
【０１７６】
このようなシンタクス、データ構造、規則に基づく事により、記録媒体１０に記録されているデータの内容、再生情報などを適切に管理することができ、もって、ユーザが再生時に記録媒体に記録されているデータの内容を適切に確認したり、所望のデータを適切に再生することができる。
【０１７７】
なお、以上の例では、ＡＶストリームとしてＤＶストリームを例にして説明しているが、これに限らず、１ビデオフレームのバイトデータサイズが固定である他のストリームについても本発明は適用することが可能である。また、ディスクにおけるデータの記録（消去）または再生の単位は、セクタ以外であってもよい。
【０１７８】
また、ＤＶストリームのように１ビデオフレームのバイトサイズが固定であるストリームを、ロジカルセクタを最小のデータ記録単位として管理する記録媒体に記録し、これを再生するシステムにおいて、そのストリームの任意の箇所を任意の順序で再生するためのPlayList構造を表現する情報に、PlayListを構成する各PlayItemの間でシームレス再生ができることが保証されているか、保証されていないかを表すconnection_condition情報を設けることにより、シームレス再生が可能かどうか知ることが可能となる。
【０１７９】
connection_conditionの値は、PlayItemのIN点およびOUT点が指すフレームを含むExtentのうち、PlayItemによって再生される部分だけで構成される仮想的なExtent（Imaginary Extent）を考え、それがExtentの連続供給条件を満たしているかを調べることで決定され、PlayItemにこのconnection_condition情報を設けることで、再生装置は、ＤＶストリームを読み込む前に、PlayItemの接続点において、シームレス再生が可能かどうか知ることが可能となる。
【０１８０】
これにより、再生装置は、シームレス再生が保証されている接続点ではデータの読み込みやデコードを継続することが可能である。また、シームレス再生が保証されていない接続点であれば、不連続が目立たないようにするためのフェードイン、フェードアウト等の処理が必要かどうかを事前に知ることができ、接続点で一時停止してバッファに十分な量のデータを溜めることで、PlayItemの再生中に不連続が発生することを予防することができるため、再生品質の向上を図ることができる。
【０１８１】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０１８２】
このプログラム格納媒体は、図２６に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク４１（フロッピディスクを含む）、光ディスク４２（CD-ROM（Compact Disc-Read Only Memory）、DVD（Digital Versatile Disc）を含む）、光磁気ディスク４３（ＭＤ（Mini Disc）を含む）、半導体メモリ４４などによりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、ハードディスク（図示せず）などで構成される。
【０１８３】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【図面の簡単な説明】
【０１８４】
図１は、ＤＶの１ビデオフレームをIEEE1394によりデータ転送するときのデータの構造を示す図である。
図２は、IEEE1394上を流れるSource PacketとDIF Blockの関係を示す図である。
図３は、本発明が適用される記録再生システムで用いる記録媒体上のアプリケーションフォーマットの簡単化された構造を説明する図である。
図４は、PlayList()のシンタクスを示す図である。
図５は、PlayItem()のシンタクスを示す図である。
図６は、Clip Information fileとClip AV stream fileの関係を示す図である。
図７は、Clip Information fileのシンタクスを示す図である。
図８は、図７のDV_ClipInfo()のシンタクスを示す図である。
図９は、図７のDVF_sequenceInfo()のシンタクスを示す図である。
図１０は、ディスク上のディレクトリ構造の例を示す図である。
図１１は、xxxx.rplsおよびyyyy.vplsのシンタクスを示す図である。
図１２は、ＤＶストリームを新規に記録媒体に記録するとき入力するＤＶストリームを説明する図である。
図１３は、図１２のＤＶストリームを新規に記録媒体に記録するときにできるClip AV stream fileの構造を説明する図である。
図１４は、DVF-sequenceを説明する図である。
図１５は、ＤＶストリームを新規に記録媒体に記録するときにできるClip AV stream fileのディスク上のデータ配列を説明する図である。
図１６は、図１５のClip AV stream fileの一部のデータを消去したときのディスク上のデータ配置を説明する図である。
図１７は、ＤＶストリームを新規に記録媒体に記録する時にできるDVF sequenceを説明する図である。
図１８は、図１７のＤＶストリームを新規に記録媒体に記録する時のDVF-sequenceに対するフレーム番号を説明する図である。
図１９は、図１７のDVF-sequenceの一部を消去した後のDVF-sequenceを説明する図である。
図２０は、図１９のDVF-sequenceの一部を消去した後のDVF-sequenceに対するフレーム番号を説明する図である。
図２１は、Clip AVストリームの一部を消去する前のClipとPlaylistの関係を説明する図である。
図２２は、図２１において選択されたClip AVストリームの一部を消去したときのClipとPlaylistの関係を説明する図である。
図２３は、connection_condition=1による接続を説明する図である。
図２４は、connection_condition=1による他の接続を説明する図である。
図２５は、シームレス再生が可能となる接続の例を説明する図である。
図２６は、本発明を適用したＤＶ記録再生装置の構成例を示すブロック図である。
図２７は、エクステントを説明する図である。
図２８は、エクステントのサイズＳを説明する図である。
図２９は、Imaginary Extentの例を説明する図である。
図３０は、Imaginary ExtentによるPlayItemの表現を説明する図である。
図３１は、connection_conditionの値を決定する処理を説明するフローチャートである。
図３２は、Imaginary Extentによる接続点の評価を説明する図である。
図３３は、PlayListの再生処理を説明するフローチャートである。
図３４は、シームレス接続変更処理を説明するフローチャートである。
図３５は、PlayItem間の接続において最小ExtentサイズよりImaginary Extentのサイズが小さい例を示す図である。
図３６は、新たなClipとPlayItemを作成することにより、ノンシームレス接続からシームレス接続への変更を行う場合を説明する図である。
図３７は、ブリッジClipを作成することにより、ノンシームレス接続からシームレス接続への変更を行う場合を説明する図である。
【符号の説明】
【０１８５】
１  ＤＶ記録再生装置，  ２  記録部，  ３  再生部，  １０  記録媒体，  １７  制御部
【図１】
0004196283.tif 000002
【図２】
0004196283.tif 000003
【図３】
0004196283.tif 000004
【図４】
0004196283.tif 000005
【図５】
0004196283.tif 000006
【図６】
0004196283.tif 000007
【図７】
0004196283.tif 000008
【図８】
0004196283.tif 000009
【図９】
0004196283.tif 000010
【図１０】
0004196283.tif 000011
【図１１】
0004196283.tif 000012
【図１２】
0004196283.tif 000013
【図１３】
0004196283.tif 000014
【図１４】
0004196283.tif 000015
【図１５】
0004196283.tif 000016
【図１６】
0004196283.tif 000017
【図１７】
0004196283.tif 000018
【図１８】
0004196283.tif 000019
【図１９】
0004196283.tif 000020
【図２０】
0004196283.tif 000021
【図２１】
0004196283.tif 000022
【図２２】
0004196283.tif 000023
【図２３】
0004196283.tif 000024
【図２４】
0004196283.tif 000025
【図２５】
0004196283.tif 000026
【図２６】
0004196283.tif 000027
【図２７】
0004196283.tif 000028
【図２８】
0004196283.tif 000029
【図２９】
0004196283.tif 000030
【図３０】
0004196283.tif 000031
【図３１】
0004196283.tif 000032
【図３２】
0004196283.tif 000033
【図３３】
0004196283.tif 000034
【図３４】
0004196283.tif 000035
【図３５】
0004196283.tif 000036
【図３６】
0004196283.tif 000037
【図３７】
0004196283.tif 000038