Nothing Special   »   [go: up one dir, main page]

JP2013115552A - 情報処理装置、情報処理方法、並びにプログラム - Google Patents

情報処理装置、情報処理方法、並びにプログラム Download PDF

Info

Publication number
JP2013115552A
JP2013115552A JP2011258887A JP2011258887A JP2013115552A JP 2013115552 A JP2013115552 A JP 2013115552A JP 2011258887 A JP2011258887 A JP 2011258887A JP 2011258887 A JP2011258887 A JP 2011258887A JP 2013115552 A JP2013115552 A JP 2013115552A
Authority
JP
Japan
Prior art keywords
information
playlist
file
stream
clip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011258887A
Other languages
English (en)
Inventor
Motoki Kato
元樹 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2011258887A priority Critical patent/JP2013115552A/ja
Priority to EP12189224.4A priority patent/EP2597643A1/en
Priority to US13/680,532 priority patent/US8917976B2/en
Priority to CN201210476204.3A priority patent/CN103137162A/zh
Publication of JP2013115552A publication Critical patent/JP2013115552A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Television Signal Processing For Recording (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

【課題】コンテンツを迅速に削除することができるようにする。
【解決手段】コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の再生情報ととともに、同じ実態情報を共有可能な再生情報と、再生情報が参照する実態情報との対応関係を、記録媒体に記録されている全ての再生情報に関して記述するテーブルが、1つのファイルに記録される。削除が指示された再生情報は削除される。再生情報が削除された場合、テーブルが更新される。
【選択図】図15

Description

本技術は情報処理装置、情報処理方法、並びにプログラムに関し、特にコンテンツを迅速に削除することができるようにした情報処理装置、情報処理方法、並びにプログラムに関する。
最近、記録再生装置が普及し、放送されたAV(Audio Visual)信号をディスクに記録し、ユーザが希望するタイミングで再生することが一般的に行われている。AV信号はデジタル化されており、圧縮が可能なので、長時間のAV信号をディスクに記録することができる。
ところでAV信号を含むコンテンツを記録する記録媒体としては、ブルーレイディスク、DVD(Digital Versatile Disk)、ハードディスク等のディスクの他、フラッシュメモリカードといった半導体メモリも利用される。
これらの記録媒体は、高容量化が進み、信号のデジタル化と相まって、ますます数多くのコンテンツを記録することができるようになってきた。その結果、1個の記録媒体に記録可能なコンテンツの数、より具体的にはPlayListの数は、いままで多くても200個程度であったがものが、10000個以上と、極めて多くなってきた。
記録媒体に記録されているコンテンツを、PlayListとClipにより管理することは、例えば特許文献1に開示されている。Clipはコンテンツの実態としてのデータであり、PlayListはClipの所定の期間を指定する。例えばユーザが再生するコンテンツを指示する場合、実際には、PlayListが指定される。そしてClipのPlayListにより参照されている範囲が再生される。
特開2002−158972号公報
1つのClipは2以上のPlayListにより参照されることがある。参照された範囲は共通する場合もあるし、異なる場合もある。このようにコンテンツの実態であるデータとしてのClipと、その再生範囲としてのPlayListを独立に管理することで、データ量が多い実態としてのコンテンツデータを重複して記録することが防止される。その結果、記録媒体の記録容量を効率的に利用することができるようになる。
その結果、1つのPlayListの削除が指示された場合、対応するClipを直ちに削除することはできない。そのClipが他のPlayListにより参照されているか否かを調べ、そのClipが他のPlayListにより参照されていない場合にのみ、そのClipを削除することができる。
しかしながら、PlayListの数が多くなると、記録媒体に記録されているPlayListの削除が指示された場合、対応するClipが他のPlayListにより参照されているか否かを調べるのに長い時間がかかる。その結果、PlayList、つまりコンテンツを迅速に削除することが困難になる。
本技術はこのような状況に鑑みてなされたものであり、コンテンツを迅速に削除することができるようにするものである。
本技術の一側面は、コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の前記再生情報ととともに、同じ前記実態情報を共有可能な前記再生情報と、前記再生情報が参照する前記実態情報との対応関係を、記録媒体に記録されている全ての前記再生情報に関して記述するテーブルを、1つのファイルに記録する記録部と、指示された前記再生情報を削除する削除部と、前記再生情報が削除された場合、前記テーブルを更新する更新部とを備える情報処理装置である。
前記再生情報はPlayListとし、前記実態情報はClipとすることができる。
前記記録部は、前記PlayListのファイル名、前記PlayListに含まれる再生区間を表すPlayItem、および前記PlayItemが参照するClip Information fileのファイル名であるClip_Information_file_nameをさらに記録することができる。
前記削除部は、削除が指示された前記PlayListがReal PlayListであり、他の前記Real PlayListが同じ前記Clip Information fileを参照している場合、削除が指示された前記Real PlayListを削除し、他の前記Real PlayListが同じ前記Clip Information fileを参照していない場合、削除が指示された前記Real PlayList以外に、前記Real PlayListに対応する前記Clip Information fileを削除することができる。
前記削除部は、削除が指示された前記PlayListがVertual PlayListである場合、前記Vertual PlayListを削除することができる。
本技術の他の側面は、前記情報処理装置に対応する情報処理方法およびプログラムである。
本技術の側面においては、コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の再生情報ととともに、同じ実態情報を共有可能な再生情報と、再生情報が参照する実態情報との対応関係が、記録媒体に記録されている全ての再生情報に関して記述するテーブルが、1つのファイルに記録され、指示された再生情報が削除された場合、テーブルが更新される。
以上のように、本技術の一側面によれば、コンテンツを迅速に削除することができる。
本技術を適用した情報処理装置の一実施の形態の構成を示す図である。 制御部の機能的構成を示すブロック図である。 記録再生装置により記録媒体に記録されるデータのフォーマットについて説明する図である。 Real PlayListとVirtual PlayListについて説明する図である。 Real PlayListの作成について説明する図である。 Real PlayListの削除について説明する図である。 アセンブル編集について説明する図である。 Virtual PlayListにサブパスを設ける場合について説明する図である。 PlayListの再生順序の変更について説明する図である。 PlayList上のマークとClip上のマークについて説明する図である。 メニューサムネイルについて説明する図である。 PlayListに付加されるマークについて説明する図である。 クリップに付加されるマークについて説明する図である。 PlayList、Clip、サムネイルファイルの関係について説明する図である。 ディレクトリ構造について説明する図である。 タイトル一覧の表示例を示す図である。 NDEX.BAVファイルのシンタクスを示す図である。 INFO.BAVファイルのシンタクスを示す図である。 ExtensionData()のシンタクスを示す図である。 ExtensionData()のシンタクスの例を示す図である。 PL_to_Clip_table()のシンタクスを示す図である。 xxxxx.RPLとxxxxx.VPLのシンタクスを示す図である。 PlayListについて説明する図である。 PlayListのシンタクスを示す図である。 UIAppinfoPlayListのシンタクスを示す図である。 PlayItemのシンタクスを示す図である。 PlayListMarkのシンタクスを示す図である。 mark_typeのテーブルを示す図である。 MENU.THM/MARK.THMのシンタクスを示す図である。 Thumbnailのシンタクスを示す図である。 記録処理を説明するフローチャートである。 削除処理を説明するフローチャートである。 Real PlayListの例を示す図である。 PL_to_Clip_table()の例を示す図である。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。なお、説明は以下の順序で行う。
1.記録再生装置の構成
2.AVストリームの編集
3.制御部の機能的構成
4.操作の説明
5.PlayList
6.Real PlayListの編集
7.Virtual PlayListに対する操作
8.Virtual PlayList の再編集
9.マーク
10.サムネイル
11.CPI
12. ディレクトリとファイル
13.INDEX.BAVファイル
14.INFO.BAV
15.ExtensionData()
16.PL_to_Clips_table()
17.Real PlayList fileとVirtual PlayList file
18.PlayListのシンタクス
19.UIAppInfoPlayList
20.PlayItemのシンタクス
21.PlayListMark()
22.MENU.THM
23.AVストリームファイル
24.記録処理
25.削除処理
26.削除の例
27.本技術のプログラムへの適用
28.その他
[記録再生装置の構成]
以下に、本技術の実施の形態について、図面を参照して説明する。図1は、本技術を適用した情報処理装置の一実施の形態の内部構成例を示す図である。まず、外部から入力された信号を記録媒体に記録する動作を行う部分の構成について説明する。情報の記録または再生の少なくとも一方を実行する情報処理装置としての記録再生装置1は、アナログデータ、または、デジタルデータを入力し、記録することができる構成とされている。
端子11には、アナログのビデオ信号が、端子12には、アナログのオーディオ信号が、それぞれ入力される。端子11に入力されたビデオ信号は、解析部14とAVエンコーダ15に、それぞれ出力される。端子12に入力されたオーディオ信号は、AVエンコーダ15に出力される。解析部14は、入力されたビデオ信号からシーンチェンジなどの特徴点を抽出する。
AVエンコーダ15は、入力されたビデオ信号とオーディオ信号を、それぞれ符号化し、符号化ビデオストリーム(V)、符号化オーディオストリーム(A)、およびAV同期等のシステム情報(S)をマルチプレクサ16に出力する。
符号化ビデオストリームは、例えば、MPEG(Moving Picture Expert Group)2方式により符号化されたビデオストリームであり、符号化オーディオストリームは、例えば、MPEG1方式により符号化されたオーディオストリームや、ドルビーAC3方式により符号化されたオーディオストリーム等である。マルチプレクサ16は、入力されたビデオおよびオーディオのストリームを、入力システム情報に基づいて多重化して、スイッチ17を介して多重化ストリーム解析部18とソースパケッタイザ19に出力する。
多重化ストリームは、例えば、MPEG2トランスポートストリームやMPEG2プログラムストリームである。ソースパケッタイザ19は、入力された多重化ストリームを、そのストリームを記録させる記録媒体100のアプリケーションフォーマットに従って、ソースパケットから構成されるAVストリームを符号化する。AVストリームは、ECC(誤り訂正)符号化部20、変調部21で所定の処理が施され、書き込み部22に出力される。書き込み部22は、制御部23から出力される制御信号に基づいて、記録媒体100にAVストリームファイルを書き込む(つまり記録する)。なお、記録媒体100は、ブルーレイディスク、DVD(Digital Versatile Disk)、ハードディスク等のディスクの他、フラッシュメモリカードといった半導体メモリにより構成することができる。
デジタルインタフェイスまたはデジタルテレビジョンチューナから入力されるデジタルテレビジョン放送等のトランスポートストリームは、端子13に入力される。端子13に入力されたトランスポートストリームの記録方式には、2通りあり、それらは、トランスペアレントに記録する方式と、記録ビットレートを下げるなどの目的のために再エンコードをした後に記録する方式である。記録方式の指示情報は、ユーザインタフェイス(図示せず)が接続されている端子24から制御部23へ入力される。
入力トランスポートストリームをトランスペアレントに記録する場合、端子13に入力されたトランスポートストリームは、多重化ストリーム解析部18と、ソースパケッタイザ19に出力される。これ以降の記録媒体100へAVストリームが記録されるまでの処理は、上述の入力オーディオ信号とビデオ信号を符号化して記録する場合と同一の処理なので、その説明は省略する。
入力トランスポートストリームを再エンコードした後に記録する場合、端子13に入力されたトランスポートストリームは、デマルチプレクサ26に入力される。デマルチプレクサ26は、入力されたトランスポートストリームに対してデマルチプレクス処理を施し、ビデオストリーム(V)、オーディオストリーム(A)、およびシステム情報(S)を抽出する。
デマルチプレクサ26により抽出されたストリーム(すなわち情報)のうち、ビデオストリームはAVデコーダ27に、オーディオストリームとシステム情報はマルチプレクサ16に、それぞれ出力される。AVデコーダ27は、入力されたビデオストリームを復号し、その再生ビデオ信号をAVエンコーダ15に出力する。AVエンコーダ15は、入力ビデオ信号を符号化し、符号化ビデオストリーム(V)をマルチプレクサ16に出力する。
一方、デマルチプレクサ26から出力され、マルチプレクサ16に入力されたオーディオストリームとシステム情報、および、AVエンコーダ15から出力されたビデオストリームは、入力システム情報に基づいて、多重化されて、多重化ストリームとして多重化ストリーム解析部18とソースパケットタイザ19にスイッチ17を介して出力される。これ以後の記録媒体100へAVストリームが記録されるまでの処理は、上述の入力オーディオ信号とビデオ信号を符号化して記録する場合と同一の処理なので、その説明は省略する。
本実施の形態の記録再生装置1は、AVストリームのファイルを記録媒体100に記録すると共に、そのファイルを説明するアプリケーションデータベース情報も記録する。アプリケーションデータベース情報は、制御部23により作成される。制御部23への入力情報は、解析部14からの動画像の特徴情報、多重化ストリーム解析部18からのAVストリームの特徴情報、および端子24から入力されるユーザからの指示情報である。
解析部14から供給される動画像の特徴情報は、入力動画像信号の中の特徴的な画像に関係する情報であり、例えば、プログラムの開始点、シーンチェンジ点、コマーシャル(CM)の開始・終了点などの指定情報(例えばマーク)であり、また、その指定場所の画像のサムネイル画像の情報も含まれる。
多重化ストリーム解析部18からのAVストリームの特徴情報は、記録されるAVストリームの符号化情報に関係する情報であり、例えば、AVストリーム内のIピクチャのアドレス情報、AVストリームの符号化パラメータ、AVストリームの中の符号化パラメータの変化点情報、ビデオストリームの中の特徴的な画像に関係する情報(例えばマーク)などである。
端子24からのユーザの指示情報は、AVストリームの中の、ユーザが指定した再生区間の指定情報、その再生区間の内容を説明するキャラクタ文字、ユーザが好みのシーンにセットするブックマークやリジューム点の情報などである。
例えばマイクロプロセッサユニットからなる制御部23は、所定の情報を記憶する記憶部23Aを有している。制御部23は、上記の入力情報に基づいて、AVストリームのデータベース(Clip)、 AVストリームの再生区間(PlayItem)をグループ化したもの(PlayList)のデータベース、記録媒体100の記録内容の管理情報(INFO.BAV)、およびサムネイル画像の情報を作成する。これらの情報から構成されるアプリケーションデータベース情報は、AVストリームと同様にして、ECC符号化部20、変調部21で処理されて、書き込み部22へ入力される。書き込み部22は、制御部23から出力される制御信号に基づいて、記録媒体100へデータベースファイルを記録する。
上述したアプリケーションデータベース情報についての詳細は後述する。
このようにして記録媒体100に記録されたAVストリームファイル(すなわち画像データと音声データのファイル)と、アプリケーションデータベース情報が再生される場合、次のように処理される。まず、制御部23は、読み出し部28に対して、記録媒体100からアプリケーションデータベース情報を読み出すように指示する。そして、読み出し部28は、記録媒体100からアプリケーションデータベース情報を読み出し、そのアプリケーションデータベース情報は、復調部29、ECC復号部30の処理を経て、制御部23へ入力される。
制御部23は、アプリケーションデータベース情報に基づいて、記録媒体100に記録されているPlayListの一覧(つまりコンテンツの一覧)を、ユーザインタフェイス入出力が接続されている端子24に出力する。勿論、PlayListの一覧をビデオ出力として端子32から図示せぬディスプレイに出力することもできる。ユーザが、PlayListの一覧から再生したいPlayList(つまりコンテンツ)を選択すると、再生を指定されたPlayListに関する情報が端子24のユーザインタフェイス入出力から制御部23へ入力される。制御部23は、そのPlayListの再生に必要なAVストリームファイルの読み出しを、読み出し部28に指示する。読み出し部28は、その指示に従い、記録媒体100から対応するAVストリームを読み出し復調部29に出力する。復調部29に入力されたAVストリームは、所定の処理が施されることにより復調され、さらにECC復号部30の処理を経て、ソースデパケッタイザ31出力される。
PlayListの一覧は、ユーザがPlayListの削除を指示した場合にも表示される。ユーザは表示された一覧の中から具体的に削除するPlayListを指定する。
ソースデパケッタイザ31は、記録媒体100から読み出され、所定の処理が施されたアプリケーションフォーマットのAVストリームを、デマルチプレクサ26に出力できるストリームに変換する。デマルチプレクサ26は、制御部23により指定されたAVストリームの再生区間(すなわちPlayItem)を構成するビデオストリーム(V)、オーディオストリーム(A)、およびAV同期等のシステム情報(S)を、AVデコーダ27に出力する。AVデコーダ27は、ビデオストリームとオーディオストリームを復号し、再生ビデオ信号と再生オーディオ信号を、それぞれ対応する端子32と端子33から出力する。
また、ユーザインタフェイスとしての端子24から、ランダムアクセス再生や特殊再生を指示する情報が入力された場合、制御部23は、AVストリームのデータベース(Clip)の内容に基づいて、記憶媒体100からのAVストリームの読み出し位置を決定し、そのAVストリームの読み出しを、読み出し部28に指示する。例えば、ユーザにより選択されたPlayListを、所定の時刻から再生する場合、制御部23は、指定された時刻に最も近いタイムスタンプを持つIピクチャからのデータを読み出すように読み出し部28に指示する。
また、ユーザによって高速再生(Fast-forward playback)が指示された場合、制御部23は、AVストリームのデータベース(Clip)に基づいて、AVストリームの中のI-ピクチャデータを順次連続して読み出すように読み出し部28に指示する。
読み出し部28は、指定されたランダムアクセスポイントからAVストリームのデータを読み出し、読み出されたデータは、後段の各部の処理を経て再生される。
[AVストリームの編集]
次に、ユーザが、記録媒体100に記録されているAVストリームの編集をする場合を説明する。ユーザが、記録媒体100に記録されているAVストリームの再生区間を指定して新しい再生経路を作成したい場合、例えば、番組Aという歌番組から歌手aの部分を再生し、その後続けて、番組Bという歌番組の歌手aの部分を再生したいといった再生経路を作成したい場合、ユーザインタフェイスとしての端子24から再生区間の開始点(イン点)と終了点(アウト点)の情報が制御部23に入力される。制御部23は、AVストリームの再生区間(PlayItem)をグループ化したもの(PlayList)のデータベースを作成する。
ユーザが、記録媒体100に記録されているAVストリームの一部を削除したい場合、ユーザインタフェイスとしての端子24から削除区間のイン点とアウト点の情報が制御部23に入力される。制御部23は、必要なAVストリーム部分だけを参照するようにPlayListのデータベースを変更する。また、AVストリームの不必要なストリーム部分を削除するように、書き込み部22に指示する。
ユーザが、記録媒体100に記録されているAVストリームの再生区間を指定して新しい再生経路を作成したい場合であり、かつ、それぞれの再生区間をシームレスに接続したい場合について説明する。このような場合、制御部23は、AVストリームの再生区間(PlayItem)をグループ化したもの(PlayList)のデータベースを作成し、さらに、再生区間の接続点付近のビデオストリームの部分的な再エンコードと再多重化を行う。
まず、端子24から再生区間のイン点のピクチャの情報と、アウト点のピクチャの情報が制御部23へ入力される。制御部23は、読み出し部28にイン点側ピクチャとアウト点側のピクチャを再生するために必要なデータの読み出しを指示する。そして、読み出し部28は、記録媒体100からデータを読み出し、そのデータは、復調部29、ECC復号部30、ソースデパケッタイザ31を経て、デマルチプレクサ26に出力される。
制御部23は、デマルチプレクサ26に入力されたデータを解析して、ビデオストリームの再エンコード方法(picture_coding_typeの変更、再エンコードする符号化ビット量の割り当て)と、再多重化方式を決定し、その方式をAVエンコーダ15とマルチプレクサ16に供給する。
次に、デマルチプレクサ26は、入力されたストリームをビデオストリーム(V)、オーディオストリーム(A)、およびシステム情報(S)に分離する。ビデオストリームは、「AVデコーダ27に入力されるデータ」と「マルチプレクサ16に入力されるデータ」がある。前者のデータは、再エンコードするために必要なデータであり、これはAVデコーダ27で復号され、復号されたピクチャはAVエンコーダ15で再エンコードされて、ビデオストリームにされる。後者のデータは、再エンコードをしないで、オリジナルのストリームからコピーされるデータである。オーディオストリーム、システム情報については、直接、マルチプレクサ16に入力される。
マルチプレクサ16は、制御部23から入力された情報に基づいて、入力ストリームを多重化し、多重化ストリームを出力する。多重化ストリームは、ECC符号化部20、変調部21で処理されて、書き込み部22に入力される。書き込み部22は、制御部23から供給される制御信号に基づいて、記録媒体100にAVストリームを記録する。
[制御部の機能的構成]
図2は、制御部23の機能的構成を示すブロック図である。この実施の形態においては、制御部23は、記録部201、取得部202、追加部203、判定部204、削除部205、更新部206、および表示部207を有している。これらの各部は、例えばハードウェアにより構成することもできるし、ソフトウェアにより構成することもできる。
記録部201は、各種の情報を記録する。取得部202は、各種の情報を取得する。追加部203は、所定の情報を追加する。判定部204は、判定処理を行う。削除部205は、所定の情報を削除する。更新部206は、所定の情報を更新する。表示部207は情報を表示する。
[操作の説明]
以下に、アプリケーションデータベース情報や、その情報に基づく再生、編集といった操作に関する説明をする。図3は、アプリケーションフォーマットの構造を説明する図である。アプリケーションフォーマットは、AVストリームの管理のためにPlayListとClipの2つのレイヤをもつ。Volume Informationは、ディスク内のすべてのClipとPlayListの管理をする。ここでは、1つのAVストリームとその付属情報のペアを1つのオブジェクトと考え、それをClipと称する。AVストリームファイルはClip AV stream fileと称し、その付属情報は、Clip Information fileと称する。つまり、Clipは、コンテンツの実態としての実態情報であり、PlayListはその実態情報の再生を指定する再生情報である。
1つのClip AV stream fileは、MPEG2トランスポートストリームをアプリケーションフォーマットによって規定される構造に配置したデータをストアする。一般的に、ファイルは、バイト列として扱われるが、Clip AV stream fileのコンテンツは、時間軸上に展開され、Clipの中のエントリポイントは、主に時間ベースで指定される。所定のClipへのアクセスポイントのタイムスタンプが与えられた時、Clip Information fileは、Clip AV stream fileの中でデータの読み出しを開始すべきアドレス情報を見つけるために役立つ。
[PlayList]
PlayListについて、図4を参照して説明する。PlayListは、Clipの中からユーザが見たい再生区間を選択し、それを簡単に編集することができるようにするために設けられている。1つのPlayListは、Clipの中の再生区間の集まりである。所定のClipの中の1つの再生区間は、PlayItemと呼ばれ、それは、時間軸上のイン点(IN)とアウト点(OUT)の対で表される。従って、PlayListは、複数のPlayItemが集まることにより構成される。
PlayListには、2つのタイプがある。1つは、Real PlayListであり、もう1つは、Virtual PlayListである。Real PlayListは、それが参照しているClipのストリーム部分を共有している。すなわち、Real PlayListは、それの参照しているClipのストリーム部分に相当するデータ容量をディスクの中で占め、Real PlayListが削除された場合、それが参照しているClipのストリーム部分もまたデータが削除される。
Virtual PlayListは、Clipのデータを共有していない。従って、Virtual PlayListが変更または削除されたとしても、Clipの内容には何も変化が生じない。
[Real PlayListの編集]
次に、Real PlayListの編集について説明する。図5(A)は、Real PlayListのクリエイト(create:作成)に関する図であり、AVストリームが新しいClipとして記録される場合、そのClip全体を参照するReal PlayListが新たに作成される操作である。
図5(B)は、Real PlayListのディバイド(divide:分割)に関する図であり、Real PlayListが所望な点で分けられて、2つのReal PlayListに分割される操作である。この分割という操作は、例えば、1つのPlayListにより管理される1つのクリップ内に、2つの番組が管理されているような場合に、ユーザが1つ1つの番組として登録(記録)し直したいといったようなときに行われる。この操作により、Clipの内容が変更される(Clip自体が分割される)ことはない。
図5(C)は、Real PlayListのコンバイン(combine:結合)に関する図であり、2つのReal PlayListを結合して、1つの新しいReal PlayListにする操作である。この結合という操作は、例えば、ユーザが2つの番組を1つの番組として登録し直したいといったようなときに行われる。この操作により、Clipが変更される(Clip自体が1つにされる)ことはない。
図6(A)は、Real PlayList全体のデリート(delete:削除)に関する図であり、所定のReal PlayList全体を削除する操作がされた場合、削除されたReal PlayListが参照するClipの、対応するストリーム部分も削除される。
図6(B)は、Real PlayListの部分的な削除に関する図であり、Real PlayListの所望な部分が削除された場合、対応するPlayItemが、必要なClipのストリーム部分だけを参照するように変更される。そして、Clipの対応するストリーム部分は削除される。
図6(C)は、Real PlayListのミニマイズ(Minimize:最小化)に関する図であり、RealPlayListに対応するPlayItemを、Virtual PlayListに必要なClipのストリーム部分だけを参照するようにする操作である。Virtual PlayList にとって不必要なClipの、対応するストリーム部分は削除される。
上述したような操作により、Real PlayListが変更されて、そのReal PlayListが参照するClipのストリーム部分が削除された場合、その削除されたClipを使用しているVirtual PlayListが存在し、そのVirtual PlayListにおいて、削除されたClipにより問題が生じる可能性がある。
そのようなことが生じないように、ユーザに、削除という操作に対して、「そのReal PlayListが参照しているClipのストリーム部分を参照しているVirtual PlayListが存在し、もし、そのReal PlayListが削除されると、そのVirtual PlayListもまた削除されることになるが、それでも良いか?」といったメッセージなどを表示させることにより、確認(警告)を促した後に、ユーザの指示により削除の処理を実行、または、キャンセルする。または、Virtual PlayListを削除する代わりに、Real PlayListに対してミニマイズの操作が行われるようにする。
[Virtual PlayListに対する操作]
次にVirtual PlayListに対する操作について説明する。Virtual PlayListに対して操作が行われたとしても、Clipの内容が変更されることはない。図7は、アセンブル(Assemble)編集 (IN-OUT 編集)に関する図であり、ユーザが見たいと所望した再生区間のPlayItemを作り、Virtual PlayListを作成するといった操作である。PlayItem間のシームレス接続が、アプリケーションフォーマットによりサポートされている。
図7(A)に示したように、2つのReal PlayList1,2と、それぞれのReal PlayListに対応するClip1,2が存在している場合に、ユーザがReal PlayList1内の所定の区間(In1乃至Out1までの区間:PlayItem1)を再生区間として指示し、続けて再生する区間として、Real PlayList2内の所定の区間(In2乃至Out2までの区間:PlayItem2)を再生区間として指示したとき、図7(B)に示すように、PlayItem1とPlayItem2から構成される1つのVirtual PlayListが作成される。
[Virtual PlayList の再編集]
次に、Virtual PlayList の再編集(Re-editing)について説明する。再編集には、VirtualPlayListの中のイン点やアウト点の変更、Virtual PlayListへの新しいPlayItemの挿入(insert)や追加(append)、Virtual PlayListの中のPlayItemの削除などがある。また、Virtual PlayListそのものを削除することもできる。
図8は、Virtual PlayListへのオーディオのアフレコ(Audio dubbing (post recording))に関する図であり、Virtual PlayListへのオーディオのアフレコをサブパスとして登録する操作のことである。このオーディオのアフレコは、アプリケーションフォーマットによりサポートされている。Virtual PlayListのメインパスのAVストリームに、付加的なオーディオストリームが、サブパスとして付加される。
Real PlayListとVirtual PlayListで共通の操作として、図9に示すようなPlayListの再生順序の変更(Moving)がある。この操作は、ディスク(ボリューム)の中でのPlayListの再生順序の変更であり、アプリケーションフォーマットにおいて定義されるTable Of PlayListによってサポートされる。この操作により、Clipの内容が変更されるようなことはない。
[マーク]
次に、マーク(Mark)について説明する。マークは、ClipおよびPlayListの中のハイライトや特徴的な時間を指定するために設けられている。Clipに付加されるマークは、AVストリームの内容に起因する特徴的なシーンを指定する、例えば、シーンチェンジ点などである。PlayListを再生する時、そのPlayListが参照するClipのマークを参照して、使用する事ができる。
PlayListに付加されるマークは、主にユーザによってセットされる、例えば、ブックマークやリジューム点などである。ClipまたはPlayListにマークをセットすることは、マークの時刻を示すタイムスタンプをマークリストに追加することにより行われる。また、マークを削除することは、マークリストの中から、そのマークのタイムスタンプを除去する事である。従って、マークの設定や削除により、AVストリームは何の変更もされない。
[サムネイル]
次にサムネイルについて説明する。サムネイルは、Volume、PlayList、およびClipに付加される静止画である。サムネイルには、2つの種類があり、1つは、内容を表す代表画としてのサムネイルである。これは主としてユーザがカーソル(不図示)などを操作して見たいものを選択するためのメニュー画面で使われるものである。もう1つは、マークが指しているシーンを表す画像である。
Volumeと各Playlistは代表画を持つことができるようにする必要がある。Volumeの代表画は、ディスク(記録媒体100、以下、記録媒体100はディスク状のものであるとし、適宜、ディスクと記述する)を記録再生装置1の所定の場所にセットした時に、そのディスクの内容を表す静止画を最初に表示する場合などに用いられることを想定している。Playlistの代表画は、Playlistを選択するメニュー画面(コンテンツの一覧の画面)において、Playlistの内容を表すための静止画として用いられることを想定している。
Playlistの代表画として、Playlistの最初の画像をサムネイル(代表画)にすることが考えられるが、必ずしも再生時刻0の先頭の画像が内容を表す上で最適な画像とは限らない。そこで、Playlistのサムネイルとして、任意の画像をユーザが設定できるようにする。以上2種類のサムネイルをメニューサムネイルと称する。メニューサムネイルは頻繁に表示されるため、ディスクから高速に読み出される必要がある。このため、すべてのメニューサムネイルを1つのファイルに格納することが効率的である。メニューサムネイルは、必ずしもボリューム内の動画から抜き出したピクチャである必要はなく、図11に示すように、パーソナルコンピュータやデジタルスチルカメラから取り込こまれた画像でもよい。
一方、ClipとPlaylistには、複数個のマークを打てる必要があり、マーク位置の内容を知るためにマーク点の画像を容易に見ることが出来るようにする必要がある。このようなマーク点を表すピクチャをマークサムネイル(Mark Thumbnails)と称する。従って、サムネイルの元となる画像は、外部から取り込んだ画像よりも、マーク点の画像を抜き出したものが主となる。
図12は、PlayListに付けられるマークと、そのマークサムネイルの関係について示す図であり、図13は、Clipに付けられるマークと、そのマークサムネイルの関係について示す図である。マークサムネイルは、メニューサムネイルと異なり、Playlistの詳細を表す時に、サブメニュー等で使われるため、短いアクセス時間で読み出されるようなことは要求されない。そのため、サムネイルが必要になる度に、記録再生装置1がファイルを開き、そのファイルの一部を読み出すことで多少時間がかかっても、問題にはならない。
また、ボリューム内に存在するファイル数を減らすために、すべてのマークサムネイルは1つのファイルに格納するのがよい。Playlistはメニューサムネイル1つと複数のマークサムネイルを有することができるが、Clipは直接ユーザが選択する必要性がない(通常、Playlist経由で指定する)ため、メニューサムネイルを設ける必要はない。
図14は、上述したことを考慮した場合のメニューサムネイル、マークサムネイル、PlayList、およびClipの関係について示した図である。メニューサムネイルファイルには、PlayList毎に設けられたメニューサムネイルがファイルされている。メニューサムネイルファイルには、ディスクに記録されているデータの内容を代表するボリュームサムネイルが含まれている。マークサムネイルファイルは、各PlayList毎と各Clip毎に作成されたサムネイルがファイルされている。
[CPI]
次に、CPI(Characteristic Point Information)について説明する。CPIは、Clipインフォメーションファイルに含まれるデータであり、主に、それはClipへのアクセスポイントのタイムスタンプが与えられた時、Clip AV stream fileの中でデータの読み出しを開始すべきデータアドレスを見つけるために用いられる。本実施の形態では、2種類のCPIを用いる。1つは、EP_mapであり、もう1つは、TU_mapである。
EP_mapは、エントリポイント(EP)データのリストであり、それはエレメンタリーストリームおよびトランスポートストリームから抽出されたものである。これは、AVストリームの中でデコードを開始すべきエントリポイントの場所を見つけるためのアドレス情報を持つ。1つのEPデータは、プレゼンテーションタイムスタンプ(PTS)と、そのPTSに対応するアクセスユニットのAVストリームの中のデータアドレスの対で構成される。
EP_mapは、主に2つの目的のために使用される。第1に、PlayListの中でプレゼンテーションタイムスタンプによって参照されるアクセスユニットのAVストリームの中のデータアドレスを見つけるために使用される。第2に、ファーストフォワード再生やファーストリバース再生のために使用される。記録再生装置1が、入力AVストリームを記録する場合、そのストリームのシンタクスを解析することができるとき、EP_mapが作成され、ディスクに記録される。
TU_mapは、デジタルインタフェースを通して入力されるトランスポートパケットの到着時刻に基づいたタイムユニット(TU)データのリストを持つ。これは、到着時刻ベースの時間とAVストリームの中のデータアドレスとの関係を与える。記録再生装置1が、入力AVストリームを記録する場合、そのストリームのシンタクスを解析することができないとき、TU_mapが作成され、ディスクに記録される。
STCInfoは、MPEG2トランスポートストリームをストアしているAVストリームファイルの中にあるSTCの不連続点情報をストアする。AVストリームがSTCの不連続点を持つ場合、そのAVストリームファイルの中で同じ値のPTSが現れるかもしれない。そのため、AVストリーム上のある時刻をPTSベースで指す場合、アクセスポイントのPTSだけではそのポイントを特定するためには不十分である。更に、そのPTSを含むところの連続なSTC区間のインデックスが必要である。連続なSTC区間を、このフォーマットでは STC-sequenceと呼び、そのインデックスをSTC-sequence-idと呼ぶ。STC-sequenceの情報は、Clip Information fileのSTCInfoで定義される。STC-sequence-idは、EP_mapを持つAVストリームファイルで使用するものであり、TU_mapを持つAVストリームファイルではオプションである。
プログラムは、エレメンタリーストリームの集まりであり、これらのストリームの同期再生のために、ただ1つのシステムタイムベースを共有するものである。再生装置(図1の記録再生装置1)にとって、AVストリームのデコードに先だち、そのAVストリームの内容がわかることは有用である。例えば、ビデオやオーディオのエレメンタリーストリームを伝送するトランスポートパケットのPIDの値や、ビデオやオーディオのコンポーネント種類(例えば、HDTVのビデオとMPEG-2 AACのオーディオストリームなど)などの情報である。この情報はAVストリームを参照するところのPlayListの内容をユーザに説明するところのメニュー画面を作成するのに有用であるし、また、AVストリームのデコードに先だって、再生装置のAVデコーダおよびデマルチプレクサの初期状態をセットするために役立つ。この理由のために、Clip Information fileは、プログラムの内容を説明するためのProgramInfoを持つ。
MPEG2トランスポートストリームをストアしているAVストリームファイルは、ファイルの中でプログラム内容が変化するかもしれない。例えば、ビデオエレメンタリーストリームを伝送するところのトランスポートパケットのPIDが変化したり、ビデオストリームのコンポーネント種類がSDTVからHDTVに変化するなどである。
ProgramInfoは、AVストリームファイルの中でのプログラム内容の変化点の情報をストアする。AVストリームファイルの中で、このフォーマットで定めるところのプログラム内容が一定である区間をProgram-sequenceと呼ぶ。Program-sequenceは、EP_mapを持つAVストリームファイルで使用するものであり、TU_mapを持つAVストリームファイルではオプションである。
本実施の形態では、セルフエンコードのストリームフォーマット(SESF)を定義する。SESFは、アナログ入力信号を符号化する目的、およびデジタル入力信号(例えばDV)をデコードしてからMPEG2トランスポートストリームに符号化する場合に用いられる。
SESFは、MPEG-2トランスポートストリームおよびAVストリームについてのエレメンタリーストリームの符号化制限を定義する。記録再生装置1が、SESFストリームをエンコードし、記録する場合、EP_mapが作成され、ディスクに記録される。
デジタル放送のストリームは、次に示す方式のうちのいずれかが用いられて記録媒体100に記録される。まず、デジタル放送のストリームをSESFストリームにトランスコーディングする。この場合、記録されたストリームは、SESFに準拠しなければならない。この場合、EP_mapが作成されて、ディスクに記録されなければならない。
あるいは、デジタル放送のストリームを構成するエレメンタリーストリームを新しいエレメンタリーストリームにトランスコーディングし、そのデジタル放送ストリームの規格化組織が定めるストリームフォーマットに準拠した新しいトランスポートストリームに再多重化する。この場合、EP_mapが作成されて、ディスクに記録されなければならない。
例えば、入力ストリームがISDB(日本のデジタルBS放送の規格名称)準拠のMPEG-2トランスポートストリームであり、それがHDTVビデオストリームとMPEG AACオーディオストリームを含むとする。HDTVビデオストリームをSDTVビデオストリームにトランスコーディングし、そのSDTVビデオストリームとオリジナルのAACオーディオストリームをTSに再多重化する。SDTVストリームと記録されるトランスポートストリームは、共にISDBフォーマットに準拠しなければならない。
デジタル放送のストリームが、記録媒体100に記録される際の他の方式として、入力トランスポートストリームをトランスペアレントに記録する(入力トランスポートストリームを何も変更しないで記録する)場合であり、ストリームのシンタクスを解析すること
ができるときに、EP_mapが作成されてディスクに記録される。
または、入力トランスポートストリームをトランスペアレントに記録する(入力トランスポートストリームを何も変更しないで記録する)場合であり、ストリームのシンタクスを解析することができないときに、TU_mapが作成されてディスクに記録される。
[ディレクトリとファイル]
次にディレクトリとファイルについて説明する。以下、記録再生装置1をDVR(Digital Video Recording)と適宜記述する。図15はディスク上のディレクトリ構造の一例を示す図である。DVRのディスク上に必要なディレクトリは、図15に示したように、"BDAV"ディレクトリを含むrootディレクトリ、"PLAYLIST"ディレクトリ、"CLIPINF"ディレクトリ、および"STREAM"ディレクトリである。rootディレクトリの下に、これら以外のディレクトリを作成されるようにしても良いが、それらは、本実施の形態のアプリケーションフォーマットでは、無視されるとする。
"BDAV"ディレクトリの下には、 DVRアプリケーションフォーマットによって規定される全てのファイルとディレクトリがストアされる。"BDAV"ディレクトリは、3個のディレクトリを含む。"PLAYLIST"ディレクトリの下には、Real PlayListとVirtual PlayListのデータベースファイルが置かれる。このディレクトリは、PlayListが1つもなくても存在する。
"CLIPINF"ディレクトリの下には、Clipのデータベースが置かれる。このディレクトリも、Clipが1つもなくても存在する。"STREAM"ディレクトリの下には、AVストリームファイルが置かれる。このディレクトリは、AVストリームファイルが1つもなくても存在する。
"BDAV"ディレクトリは、次に示すファイルをストアする。”INDEX.BAV”ファイルは、PLAYLISTディレクトリの下のすべてのPlayList filesについて、UIAppInfoPlayList()の情報の中で、タイトル一覧の表示に有用な表示情報を抜粋して集めたインデックスファイルである。ここには、追加で、PlayList fileファイル毎のメーカのプライベートデータも格納することができる。”INDEX.BAV”ファイルは、コンテンツを記録するPLAYLISTディレクトリと同じ親のディレクトリであるBDAVディレクトリの下に位置し、かつ、同じ並びに位置する。つまり両者は兄弟のディレクトリである。”INDEX.BAV”ファイルの詳細については図17を参照して後述する。
"INFO.BAV"ファイルは、 BDAVディレクトリの下に作られ、アプリケーションレイヤの全体的な情報をストアする。BDAVディレクトリの下には、ただ1つのINFO.BAVがなければならない。ファイル名は、INFO.BAVに固定される。"MENU.THM"ファイルは、メニューサムネイル画像(コンテンツ一覧のサムネイル画像)に関連する情報をストアする。BDAVディレクトリの下には、0または1つのメニューサムネイルがなければならない。ファイル名は、MENU.THMに固定される。メニューサムネイル画像が1つもない場合、このファイルは、存在しなくても良い。
"PLAYLIST"ディレクトリは、2種類のPlayListファイルをストアするものであり、それらは、Real PlayListとVirtual PlayListである。"xxxxx.RPL" ファイルは、1つのReal PlayListに関連する情報をストアする。それぞれのReal PlayList毎に、1つのファイルが作られる。ファイル名は、"xxxxx.RPL"である。ここで、"xxxxx"は、5個の0乃至9まで数字である。ファイル拡張子は、"RPL"でなければならないとする。
"yyyyy.VPL"ファイルは、1つのVirtual PlayListに関連する情報をストアする。それぞれのVirtual PlayList毎に、1つのファイルが作られる。ファイル名は、"yyyyy.VPL"である。ここで、"yyyyy"は、5個の0乃至9まで数字である。ファイル拡張子は、"VPL"でなければならないとする。
"CLIPINF"ディレクトリは、それぞれのAVストリームファイルに対応して、1つのファイルをストアする。"zzzzz.CPI" ファイルは、1つのAVストリームファイル(Clip AV stream file または Bridge-Clip AV stream file)に対応するClip Information fileである。ファイル名は、"zzzzz. CPI"であり、"zzzzz"は、5個の0乃至9までの数字である。ファイル拡張子は、"CPI"でなければならないとする。
"STREAM"ディレクトリは、AVストリームのファイルをストアする。"zzzzz.MTS"ファイルは、DVRシステムにより扱われるAVストリームファイルである。これは、Clip AV stream fileまたはBridge-Clip AV streamである。ファイル名は、"zzzzz. MTS"であり、"zzzzz"は、5個の0乃至9までの数字である。ファイル拡張子は、"MTS"でなければならないとする。
[INDEX.BAVファイル]
次に図15の”INDEX.BAV”ファイルについて説明する。記録媒体100に記録されたコンテンツである番組をユーザに選択させるために、番組のタイトル一覧(すなわちPlayList一覧)が生成され、そのうちの表示可能な範囲が抽出され、端子24からユーザインタフェイス入出力に出力され、表示される。または端子32から図示せぬディスプレイに出力され、表示される。図17を参照して後述するように、1つの”INDEX.BAV”ファイルには、タイトル一覧を表示するのに必要な全番組の表示情報がまとめて格納されている。その結果、タイトル一覧を迅速に作成し、表示することが可能になる。
図16は、タイトル一覧の表示例を示す図である。画面表示のデザインや表示内容は、記録再生装置1のメーカに依存する。この例においては、次の表示情報が表示されている。
番組のタイトル:朝のニュース。昼のニュース、昼のバラエティ、夜のニュース
夜の歌謡番組
記録日時:1月1日(月)7:00AM、1月1日(月)0:00PM
1月1日(月)1:00PM、1月1日(月)7:00PM
1月1日(月)9:00PM
番組の時間長:1時間30分、1時間00分、2時間00分、
チャンネル番号:1ch、2ch、3ch
チャンネル名:日本放送局、AAA放送局
記録モード:直接記録モード、標準記録モード、長時間記録モード
タイトル一覧には、ユーザが確実に所望の番組(すなわちタイトル)を選択することができるような情報である表示情報を表示する必要がある。この表示情報は、例えば次のような情報を含むことができる。
1 タイトル(番組)の名称 (PlayList_name)
2 記録日時 (time_zone, record_time_and_date)
3 タイトルの時間長 (PlayList_duration)
4 サムネイル参照情報 (ref_to_menu_thumbnail_index)
5 新着(未視聴)の記録かどうかの印 (is_played_flag)
6 チャンネル番号 (channel_number)
7 チャンネルの名称 (channel_name)
上記した7個の表示情報のうち、タイトル一覧に特に欠くことのできない情報は、番号1乃至3で示した3個の表示情報である。番号4の表示情報もユーザに迅速に番組の内容を理解させるのに重要である。
上記7個の表示情報の後のカッコの中に示すフィールドの名称は、ref_to_menu_thumbnail_indexを除き、UIAppInfoPlayList()(後述する図25)の中に現れるフィールドの名称である。ref_to_menu_thumbnail_indexだけは、UIAppInfoPlayList()に含まれていない。これは、PlayListファイル(後述する図22)の中のPlayListMark()(後述する図27)のmark_typeの値が0x01または0x02であり(後述する図28)、プレイリスト代表画像であることを示すときのref_thumbnail_index(後述する図27)の値が参照される。つまり、ref_thumbnail_indexの値がref_to_menu_thumbnail_indexの値として設定される。
図17は、INDEX.BAVのシンタクスを示す図である。同図に示されるように、”INDEX.BAV”ファイルは以下のような情報を含んでいる。
type_indicatorのフィールドには、"INDX" のキャラクタ文字が入る。version_numberのフィールドは、このINDEX.BAVファイルのバージョンナンバを示す4個のキャラクタ文字を表す。lengthのフィールドは、このlengthフィールドの直後からINDEX.BAVファイルの最後までのバイト数を示す。number_of_PlayListsの数字は、PLAYLISTディレクトリに記録されているPlayListの数に等しくなければならない。PlayList_file_name[k]のフィールドは、PlayListのファイル名を示す。なお[k]は、for-ループ中でインクリメントされる変数である。index_info_start_address[k]のフィールドは、INDEX.BAVファイルの先頭バイトからの相対バイト数を単位として、index_info[k]()の先頭バイトアドレスを示す。相対バイト数はゼロからカウントされる。
ref_to_menu_thumbnail_index[k]のフィールドは、PlayList_file_name[k]が示すPlayListを代表するサムネイル画像の情報を示す。ref_to_menu_thumbnail_index[k]フィールドが、”0xFFFF”以外の値の場合、そのPlayListには、PlayListを代表するサムネイル画像が付加されており、そのサムネイル画像は、MENU.THMファイルの中にストアされている。ref_to_menu_thumbnail_index[k]フィールドが、0xFFFF である場合、そのPlayListには、PlayListを代表するサムネイル画像が付加されていない。
PlayList_character_set[k]のフィールドは、channel_name[k], PlayList_name[k]フィールドに符号化されているキャラクタ文字の符号化方法を示す。is_played_flag[k]のフラグは再生の有無を表す。このフラグが'1'にセットされている場合、PlayList_file_name[k]が示すPlayListは、記録されてから一度は再生されている。このフラグが0にセットされている場合、そのPlayListは、記録されてから一度も再生されたことがない。time_zone[k]のフィールドは、record_time_and_date[k]が示す時間情報のタイムゾーン(例えば、日本、英国等)を示す。
record_time_and_date[k]のフィールドは、PlayList_file_name[k]が示すPlayListが記録された時の日時をストアする56ビットのフィールドである。このフィールドは、年/月/日/時/分/秒について、14個の数字を4ビットのBinary Coded Decimal(BCD)で符号化したものである。例えば、2001/12/23:01:02:03 は、"0x20011223010203"と符号化される。PlayList_duration[k]のフィールドは、 PlayList_file_name[k]が示すPlayListの総再生時間を時間/分/秒の単位で示した24ビットのフィールドである。このフィールドは、6個の数字を4ビットのBinary Coded Decimal(BCD)で符号化したものである。例えば、01:45:30は、"0x014530"と符号化される。
channel_number[k]のフィールドは、PlayList_file_name[k]が示すPlayListが記録されたときにユーザが選択をした放送のチャネル番号またはサービス番号を示す。このフィールドの値が0xFFFFであるときはこのフィールドは無効である。channel_name_length[k]のフィールドは、 channel_name[k]フィールドの示すチャネル名の長さのバイト数を示す。channel_name[k]: このフィールドは、 PlayList_file_name[k]が示すPlayListが記録されたときにユーザが選択した放送のチャネル名またはサービス名を示す。
PlayList_name_length[k]のフィールドは、 PlayList_name[k] フィールドの示すPlayList名の長さのバイト数を示す。PlayList_name[k]のフィールドは、PlayList_file_name[k]が示すPlayListののタイトル(番組)名を示す。
length_mpd[k]のフィールド値がゼロでないとき、mdp[k]()が存在し、その値はmdp[k]()のバイト数を示す。maker_ID[k]のフィールドは、mdp[k]()を記録したレコーダの製造者を示す。maker_idに符号化される値は、このフォーマットのライセンサによって割り当てられる。maker_model_code[k]のフィールドは、mdp[k]()を記録したレコーダのモデル番号を示す。maker_model_code[k]に符号化される値は、このフォーマットのライセンスを受けた製造者によって決められる。maker_private_data[k]のフィールドは、メーカプライベートデータがストアされる領域である。ここには、INDEX.BAVファイルで標準化された上記の情報のほかに、メーカ独自の記録情報を格納してよい。例えば、記録モード(標準記録モードや長時間記録モードといった情報)や番組のジャンル、などの情報を記録する。
これらのlength_mpd[k],maker_ID[k],maker_model_code[k],maker_private_data[k]は、メーカ独自情報を構成する。
X, Yは、任意の正の整数である。padding_wordの値は何でも良い。
[INFO.BAV]
図18は、"INFO.BAV"ファイルのシンタクスを示す図である。" INFO.BAV "ファイルは、3個のオブジェクトから構成され、それらは、UIAppInfoBDAV()、TableOfPlayLists()、およびExtensionData()である。
図18に示したINFO.BAVのシンタクスについて説明する。
type_indicatorのフィールドには、" INFO " のキャラクタ文字が入る。version_numberのフィールドは、 このINFO.BAVファイルのバージョンナンバを示す4個のキャラクタ文字を表す。TableOfPlayLists_Start_addressのフィールドは、INFO.BAVファイルの先頭のバイトからの相対バイト数を単位として、TableOfPlayList()の先頭アドレスを示す。相対バイト数はゼロからカウントされる。
ExtensionData_Start_addressのフィールドは、INFO.BAVファイルの先頭のバイトからの相対バイト数を単位として、ExtensionData ()の先頭アドレスを示す。相対バイト数はゼロからカウントされる。padding_word(パディングワード)は、info.dvrのシンタクスに従って挿入される。N1とN2は、ゼロまたは任意の正の整数である。それぞれのパディングワードは、任意の値を取るようにしても良い。
TableOfPlayLists()のフィールドは、PlayList(Real PlayListとVirtual PlayList)のファイル名をストアする。TableOfPlayLists()は、PlayListのデフォルトの再生順序を示す。
ExtensionData()のフィールドは、メーカ各社の特別なアプリケーションのためのプライベートデータか、または、BDAV規格により定義される拡張データベースを含む。レコーダーメーカは、各社の特別なアプリケーションのためにExtensionData()の中にメーカのプライベートデータを挿入してもよい。各メーカのプライベートデータは、それを定義したメーカを識別するために標準化されたメーカ識別子を持つ。また、INFO.BAVファイルのExtensionData()には、BDAV規格により定義される拡張データベースとして、後述するPL_to_Clips_table()を記録する。
[ExtensionData()]
図19は、ExtensionData()のシンタクスを示す図である。図19に示したExtensionData()のシンタクスを以下に説明する。
lengthのフィールドは、このlengthフィールドの直後からExtensionData()の最後までのバイト数を示す。data_block_start_addressのフィールドは、ExtensionData()の先頭のバイトからの相対バイト数を単位として、data_block()の先頭バイトアドレスを示す。相対バイト数はゼロからカウントされる。
number_of_ext_data_entriesのフィールドは、ExtensionData()の中に含まれているext_data_entry()のエントリ数を示す。ID1: ID1の値0x0000 〜 0x00FFは、BDAV規格により定義される拡張データベースの識別のために使われる。ID1の値が0x0000 〜 0x00FFの範囲外であるとき、それは、メーカプライベートデータを作成したレコーダの製造メーカを示す。メーカ識別の値は、このBDAVフォーマットのライセンサによって指定される。ID2: ID1の値が0x0000 〜 0x00FFの場合、ID2は、BDAV規格により定義される拡張データベースの識別のために使われる。ID1の値が0x0000 〜 0x00FFの範囲外であるとき、ID2は、そのメーカプライベートデータを作成したレコーダのモデルナンバーコードを示す。この場合、ID2に符号化される値は、このフォーマットのライセンスを受けた製造メーカによって決められる。PL_to_Clips_table()を識別するためのID1とID2の値は、それぞれ0x00F0と0x0001である。
ext_data_start_addressのフィールドは、ExtensionData()の先頭のバイトからの相対バイト数を単位として、extension dataが開始するバイトアドレスを示す。相対バイト数はゼロからカウントされる。ext_data_length: このフィールドは、extension dataのバイト単位でデータの大きさを示す。padding_wordの値は何でもよい。
図20は、ExtensionData()のシンタクスの例を示す図であり、ExtensionData()の中に記録されるPL_to_Clips_table()のイメージを示す。同図に示されるように、PL_to_Clips_table()はExtensionData()の中に記録される。
data_block_start_addressは、ExtensionData()の中でのdata_block()の先頭バイトのアドレスを示す。この例では、ExtensionData()の中にextension dataとしてのPL_to_Clips_table()を1個記録するだけなので、number_of_ext_data_entriesには1がセットされている。PL_to_Clips_table()を識別するためのID1とID2の値は、それぞれ0x00F0と0x0001とされている。
ext_data_start_addressは、ExtensionData()の中でのPL_to_Clips_table()の先頭バイトのアドレスを示す(この例ではdata_block()の先頭バイトのアドレスと同じ値である)。ext_data_lengthは、PL_to_Clips_table()のバイト長を示す。data_block()の中に、PL_to_Clips_table()が記録される。
[PL_to_Clips_table()]
INFO.BAVファイルのExtensionData()に記録されるPL_to_Clips_table()のシンタクスを図21に示す。PL_to_Clips_table()は、PLAYLISTディレクトリの下に記録されているすべてのPlayListファイルについて、個々のPlayListファイルが参照するClip Information file(s)が、リスト化されたテーブルである。
lengthのフィールドは、このlengthフィールドの直後からPL_to_Clips_table()の最後までのバイト数を示す。number_of_PlayListsのフィールドの数字は、PLAYLISTディレクトリに記録されているPlayListの数に等しくなければならない。PlayList_file_name[k]のフィールドは、PlayListのファイル名を示す。
Clips_table_start_address[k]のフィールドは、PL_to_Clips_table()の先頭バイトからの相対バイト数を単位として、clips_table[k]()の先頭バイトアドレスを示す。相対バイト数はゼロからカウントされる。number_of_PlayItems[k]のフィールドは、PlayList_file_name[k]が示すPlayListの中にあるPlayItemの数を示す。
Clip_Information_file_name[k][i]のフィールドは、PlayList_file_name[k]が示すPlayListの中にあるPlayItemsが参照するClip Information fileのファイル名を示す。padding_wordの値は何でも良い。
[Real PlayList fileとVirtual PlayList file]
次に、Real PlayList fileとVirtual PlayList fileについて、すなわち、図15の"PLAYLIST"ディレクトリのxxxxx.RPLとyyyyy.VPLについて説明する。図22は、xxxxx.RPL(Real PlayList)、または、yyyyy.VPL(Virtual PlayList)のシンタクスを示す図である。xxxxx.RPLとyyyyy.VPLは、同一のシンタクス構成をもつ。xxxxx.RPLとyyyyy.VPLは、それぞれ、3個のオブジェクトから構成され、それらは、PlayList()、PlayListMark()、およびMakerPrivateData()である。
PlayListMark_Start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayListMark()の先頭アドレスを示す。相対バイト数はゼロからカウントされる。
MakerPrivateData_Start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、MakerPrivateData()の先頭アドレスを示す。相対バイト数はゼロからカウントされる。
padding_word(パディングワード)は、PlayListファイルのシンタクスにしたがって挿入され、N1とN2は、ゼロまたは任意の正の整数である。それぞれのパディングワードは、任意の値を取るようにしても良い。
ここで、既に、簡便に説明したが、PlayListについてさらに説明する。記録媒体100内にあるすべてのReal PlayListによって、Bridge-Clipを除くすべてのClipの中の再生区間が参照されていなければならない。かつ、2つ以上のReal PlayListが、それらのPlayItemで示される再生区間を同一のClipの中でオーバーラップさせてはならない。
図23を参照してさらに説明するに、図23(A)に示したように、全てのClipは、対応するReal PlayListが存在する。この規則は、図23(B)に示したように、編集作業が行われた後においても守られる。従って、全てのClipは、どれかしらのReal PlayListを参照することにより、必ず視聴することが可能である。
図23(C)に示したように、Virtual PlayListの再生区間は、Real PlayListの再生区間またはBridge-Clipの再生区間の中に含まれていなければならない。どのVirtual PlayListにも参照されないBridge-Clipがディスクの中に存在してはならない。
RealPlayListは、PlayItemのリストを含むが、SubPlayItemを含んではならない。VirtualPlayListは、PlayItemのリストを含み、PlayList()の中に示されるCPI_typeがEP_map typeであり、かつPlayList_typeが0(ビデオとオーディオを含むPlayList)である場合、Virtual PlayListは、ひとつのSubPlayItemを含む事ができる。本実施の形態におけるPlayList()では、SubPlayItemはオーディオのアフレコの目的にだけに使用される。そして、1つのVirtual PlayListが持つSubPlayItemの数は、0または1でなければならない。
[PlayListのシンタクス]
次に、PlayListのシンタクスについて説明する。図24は、PlayListのシンタクスを示す図である。図24に示したPlayListのシンタクスを説明するに、version_numberは、このPlayList()のバージョンナンバを示す4個のキャラクタ文字である。version_numberは、ISO 646に従って、"0045"と符号化されなければならない。lengthは、このlengthフィールドの直後からPlayList()の最後までのPlayList()のバイト数を示す32ビットの符号なし整数である。PlayList_typeは、このPlayListのタイプを示す8ビットのフィールドである。
CPI_typeは、1ビットのフラグであり、PlayItem()およびSubPlayItem()によって参照されるClipのCPI_typeの値を示す。1つのPlayListによって参照される全てのClipは、それらのCPI()の中に定義されるCPI_typeの値が同じでなければならない。number_of_PlayItemsは、PlayListの中にあるPlayItemの数を示す16ビットのフィールドである。
所定のPlayItem()に対応するPlayItem_idは、PlayItem()を含むforループの中で、そのPlayItem()の現れる順番により定義される。PlayItem_idは、0から開始される。number_of_SubPlayItemsは、PlayListの中にあるSubPlayItemの数を示す16ビットのフィールドである。この値は、0または1である。付加的なオーディオストリームのパス(オーディオストリームパス)は、サブパスの一種である。
[UIAppInfoPlayList]
次に、図24に示したPlayListのシンタクスのUIAppInfoPlayListについて説明する。UIAppInfoPlayListは、PlayListについてのユーザインタフェイスアプリケーションのパラメータをストアする。図25は、UIAppInfoPlayListのシンタクスを示す図である。図25に示したUIAppInfoPlayListのシンタクスを以下に説明する。
PlayList_character_setのフィールドは、channel_name, PlayList_nameフィールドに符号化されているキャラクタ文字の符号化方法を示す。is_played_flagのフィールドは、このPlayListの再生の有無を表す。このフラグが'1'にセットされている場合、このPlayListは、記録されてから一度は再生されている。このフラグが0にセットされている場合、そのPlayListは、記録されてから一度も再生されたことがない。time_zoneのフィールドは、record_time_and_dateが示す時間情報のタイムゾーンを示す。
record_time_and_dateのフィールドは、このPlayListが記録された時の日時をストアする56ビットのフィールドである。このフィールドは、年/月/日/時/分/秒について、14個の数字を4ビットのBinary Coded Decimal(BCD)で符号化したものである。例えば、2001/12/23:01:02:03 は、"0x20011223010203"と符号化される。PlayList_durationのフィールドは、このPlayListの総再生時間を時間/分/秒の単位で示した24ビットのフィールドである。このフィールドは、6個の数字を4ビットのBinary Coded Decimal(BCD)で符号化したものである。例えば、01:45:30は、"0x014530"と符号化される。
channel_numberのフィールドは、このPlayListが記録されたときにユーザが選択をした放送のチャネル番号またはサービス番号を示す。このフィールドの値が0xFFFFであるときはこのフィールドは無効である。channel_name_lengthのフィールドは、 channel_nameフィールドの示すチャネル名の長さのバイト数を示す。channel_nameのフィールドは、このPlayListが記録されたときにユーザが選択をした放送のチャネル名またはサービス名を示す。PlayList_name_lengthのフィールドは、このPlayList名の長さのバイト数を示す。PlayList_nameのフィールドは、このPlayListのタイトル(番組)名を示す。
[PlayItemのシンタクス]
図26は、PlayItemのシンタクスを示す図である。図26に示したPlayItemのシンタクスを説明するに、Clip_Information_file_nameのフィールドは、Clip Information fileのファイル名を示す。このClip Information fileのClipInfo()において定義されるClip_stream_typeは、Clip AV streamを示していなければならない。
STC_sequence_idは、8ビットのフィールドであり、PlayItemが参照するSTC連続区間のSTC_sequence_idを示す。PlayList()の中で指定されるCPI_typeがTU_map typeである場合、この8ビットフィールドは何も意味を持たず、0にセットされる。IN_timeは、32ビットフィールドであり、PlayItemの再生開始時刻をストアする。IN_timeのセマンティクスは、PlayList()において定義されるCPI_typeによって異なる。
OUT_timeは、32ビットフィールドであり、PlayItemの再生終了時刻をストアする。OUT_timeのセマンティクスは、PlayList()において定義されるCPI_typeによって異なる。
Connection_Conditionは、先行するPlayItemと、現在のPlayItemとの間の接続状態を示す2ビットのフィールドである。
[PlayListMark()]
次に、図22に示したxxxxx.RPLとyyyyy.VPLのシンタクス内のPlayListMark()について説明する。PlayListについてのマーク情報は、このPlayListMarkにストアされる。図27は、PlayListMarkのシンタクスを示す図である。図27に示したPlayListMarkのシンタクスについて説明するに、version_numberは、このPlayListMark()のバージョンナンバを示す4個のキャラクタ文字である。version_numberは、ISO 646に従って、"0045"と符号化されなければならない。
lengthは、このlengthフィールドの直後からPlayListMark()の最後までのPlayListMark()のバイト数を示す32ビットの符号なし整数である。number_of_PlayList_marksは、PlayListMarkの中にストアされているマークの個数を示す16ビットの符号なし整数である。number_of_PlayList_marks は、0であってもよい。mark_typeは、マークのタイプを示す8ビットのフィールドである。
mark_time_stampの32ビットフィールドは、マークが指定されたポイントを示すタイムスタンプをストアする。mark_time_stampのセマンティクスは、PlayList()において定義されるCPI_typeによって異なる。PlayItem_idは、マークが置かれているところのPlayItemを指定する8ビットのフィールドである。所定のPlayItemに対応するPlayItem_idの値は、PlayList()において定義される(図24参照)。
character_setの8ビットのフィールドは、mark_nameフィールドに符号化されているキャラクタ文字の符号化方法を示す。name_lengthの8ビットフィールドは、mark_nameフィールドの中に示されるマーク名のバイト長を示す。mark_nameのフィールドは、マークの名称を示す。このフィールドの中の左からname_length数のバイト数が、有効なキャラクタ文字であり、それはマークの名称を示す。mark_nameフィールドの中で、それら有効なキャラクタ文字の後の値は、どのような値が設定されても良い。
ref_thumbnail_indexのフィールドは、マークに付加されるサムネイル画像の情報を示す。ref_thumbnail_indexフィールドが、0xFFFFでない値の場合、そのマークにはサムネイル画像が付加されており、そのサムネイル画像は、MENU.THMファイルの中にストアされている。その画像は、MENU.THMファイルの中でref_thumbnail_indexの値を用いて参照される。ref_thumbnail_indexフィールドが、0xFFFF である場合、そのマークにはサムネイル画像が付加されていない事を示す。
図28は、mark_typeのテーブルを示す図である。同図に示されるように、mark_typeの値によってマークのタイプが規定されている。mark_typeの値が0x01である場合、そのマークは、プレイリストの代表画像であり、その画像はPlayListが参照するビデオのピクチャから選択されたものである。
この場合、mark_time_stamp(図27)は、PlayListが参照するビデオの中のピクチャのPresentation time stampを示す。ref_thumbnail_index(図27)の値が、xFFFF以外のとき、後述する図29のMENU.THMの中に、サムネイル画像がストアされる。ref_thumbnail_indexの値が、xFFFFのとき、図29のMENU.THMの中に、サムネイル画像がストアされていない。この場合、プレーヤは、PlayListが参照するビデオの中のPresentation time stampによって指定されるピクチャをデコードしてよい。PlayListMark()のマークタイプの値0x01または0x02の数は、0または1である。
mark_typeの値が0x02である場合、そのマークは、プレイリスト代表画像であり、その画像は、PLayListが参照するビデオのピクチャから選択されたものではない。
この場合、ref_thumbnail_indexの値は、0xFFFF以外でなければならない。図29のMENU.THMの中に、サムネイル画像がストアされる。mark_time_stampとPlayItem_idにはゼロをセットする。PlayListMark()のマークタイプの値0x01または0x02の数は、0または1である。
mark_typeの値が0x03である場合、そのマークは、Resume-markである。これは再生リジュームポイントである。PlayListmark()において定義される再生リジュームポイントの数は、0または1でなければならない。
mark_typeの値が0x04である場合、そのマークは、PlayListの再生エントリポイントである。このマークは、ユーザがセットすることができ、例えばお気に入りのシーンの開始点を指定するマークに使う。
mark_typeの値が0x06である場合、そのマークは、スキップマークポイントである。このポイントからプログラムの最後まで、プレーヤはプログラムをスキップする。PlayListMark()において定義されるスキップマークポイントの数は、0または1でなければならない。
[MENU.THM]
図29は、図15のMENU.THM(またはMARK.THM)のシンタクスを示す図であり、MENU.THM ファイルはThumbnail()を有する。
図30は、図29に示したMENU.THM(またはMARK.THM)のシンタクス内のThumbnail()のシンタクスを示す図である。図29に示したThumbnail()のシンタクスについて説明するに、version_numberは、このThumbnail()のバージョンナンバを示す4個のキャラクタ文字である。version_numberは、ISO 646に従って、"0045"と符号化されなければならない。
lengthは、このlengthフィールドの直後からThumbnail()の最後までのThumbnail()のバイト数を示す32ビットの符号なし整数である。tn_blocks_start_addressは、Thumbnail()の先頭のバイトからの相対バイト数を単位として、最初のtn_blockの先頭バイトアドレスを示す32ビットの符号なし整数である。相対バイト数はゼロからカウントされる。number_of_thumbnailsは、Thumbnail()の中に含まれているサムネイル画像のエントリ数を与える16ビットの符号なし整数である。
tn_block_sizeは、1024バイトを単位として、1つのtn_blockの大きさを与える16ビットの符号なし整数である。例えば、tn_block_size=1ならば、それは1つのtn_blockの大きさが1024バイトであることを示す。number_of_tn_blocksは、このThumbnail()中のtn_blockのエントリ数を表す16ビットの符号なし整数である。thumbnail_indexは、このthumbnail_indexフィールドから始まるforループ1回分のサムネイル情報で表されるサムネイル画像のインデクス番号を表す16ビットの符号なし整数である。thumbnail_index として、0xFFFFという値を使用してはならない。thumbnail_index はUIAppInfoVolume()、UIAppInfoPlayList()、 PlayListMark()、およびClipMark()の中のref_thumbnail_indexによって参照される。
thumbnail_picture_formatは、サムネイル画像のピクチャフォーマットを表す8ビットの符号なし整数である。
picture_data_sizeは、サムネイル画像のバイト長をバイト単位で示す32ビットの符号なし整数である。start_tn_block_numberは、サムネイル画像のデータが始まるtn_blockのtn_block番号を表す16ビットの符号なし整数である。サムネイル画像データの先頭は、tb_blockの先頭と一致していなければならない。tn_block番号は、0から始まり、tn_blockのfor-ループ中の変数kの値に関係する。
x_picture_lengthは、サムネイル画像のフレーム画枠の水平方向のピクセル数を表す16ビットの符号なし整数である。y_picture_lengthは、サムネイル画像のフレーム画枠の垂直方向のピクセル数を表す16ビットの符号なし整数である。tn_blockは、 サムネイル画像がストアされる領域である。Thumbnail()の中のすべてのtn_blockは、同じサイズ(固定長)であり、その大きさはtn_block_sizeによって定義される。
[AVストリームファイル]
次に、AVストリームファイルについて説明する。AVストリームファイルは、"STREAM"ディレクトリ(図15)のMTSファイルにストアされる。AVストリームファイルには、2つのタイプがあり、それらは、Clip AVストリームとBridge-Clip AVストリームファイルである。両方のAVストリーム共に、DVR MPEG-2トランスポートストリームファイルの構造でなければならない。
[記録処理]
次に図31を参照して、PL_to_Clips_table()の記録媒体100への記録処理について説明する。図31は、記録処理を説明するフローチャートである。この処理は、ユーザの指示に基づきコンテンツとしての番組を記録媒体100に記録したとき、付随して実行される。
ステップS11において記録部201は、PlayListを記録する。つまり、コンテンツに対応する図22のxxxxx.RPLまたはyyyyy.VPLが記録媒体100に記録される。
ステップS12において取得部202は、PlayList()を取得する。つまり、ステップS11で記録されたPlayList(すなわち、図22のxxxxx.RPLまたはyyyyy.VPL)から、図24のPlayList()が読み出され、取得される。
ステップS13において取得部202は、number_of_PlayItemsの値とPlayItem()を取得する。つまり、ステップS12で取得されたPlayList()(図24)の中のnumber_of_PlayItemsの値と、number_of_PlayItems のループの中のPlayItem()(図26)が読み出される。
ステップS14において取得部202は、Clip_Information_file_nameを取得する。つまりステップS13で取得されたPlayItem()(図26)の中のClip_Information_file_nameが読み出される。
ステップS15において追加部203は、PlayListのファイル名、number_of_PlayItems、およびClip_Information_file_nameを追加する。すなわち、ステップS11で記録したPlayList ファイルの名称であるPlayList_file_name、ステップS13で取得されたnumber_of_PlayItems、並びにそのPlayListが参照するClip Information fileの名称であるClip_Information_file_nameが、PL_to_Clips_table()(図21)に追加される。
ステップS16において記録部201は、INFO.BAVを記録する。すなわちステップS15で各情報が追加されたPL_to_Clips_table()を有するINFO.BAVファイルが記録媒体100に記録される。
[削除処理]
次に図32を参照して、PL_to_Clips_table()の削除処理を説明する。図32は、削除処理を説明するフローチャートである。
ステップS51において取得部202は、INFO.BAVのPL_to_Clips_table()を取得する。つまり、図30のステップS16で記録媒体100に記録されたINFO.BAVファイル(図18)が読み出され、その中のExtensionData(図19)のdata_block()(図20)の、さらにその中のPL_to_Clips_table()(図21)が読み出される。
ステップS52において取得部202は、PlayListの削除の指示を取得する。つまり、ユーザがコンテンツの削除を指示するとき、コンテンツの一覧(図16)が表示される。ユーザはこの一覧の中から削除対象とするコンテンツ(PlayList)を指定する。この指定されたPlayListが取得される。
ステップS53において判定部204は、ステップS52において取得されたPlayListファイルがReal PlayListであるかを判定する。
取得されたPlayList(すなわち削除が指示されたPlayLiast)がReal PlayListである場合、ステップS55において判定部204は、Clip Information fileが他のPlayListにより参照されているかを判定する。つまり、削除対象のPlayList(いまの場合Real PlayList)が参照するClip Information fileが、他のPlayListファイルによっても参照されているかどうかが判定される。
この判定は、ステップS51で取得したPL_to_Clips_table()に基づいて行われる。すなわち、PL_to_Clips_table()には、PLAYLISTディレクトリの下に記録されているすべてのPlayListについて、個々のPlayListが参照するClip Information file(s)が、リスト化されている。従って、このPL_to_Clips_table()から、Clip Information fileが他のPlayListによっても参照されているかを迅速に判定することができる。つまり、コンテンツを削除する場合にチェックする必要がある情報は、1つのファイルINFO.BAV(具体的にはその中のPL_to_Clips_table())にまとめて保持されている。従ってコンテンツの数が多くても、迅速にコンテンツを削除することが可能になる。
削除対象のReal PlayListが参照するClip Information fileが、他のPlayListに参照されていない場合、ステップS56において削除部205は、Real PlayListと対応するClipとを削除する。つまり、削除が指定されたReal PlayListと、そのReal PlayListにより参照されているClip (Clip Information fileと対応するClip AV stream file)が削除される。削除したClipを参照するVirtual PlayListがあれば、それも削除することができる。
削除対象のReal PlayListが参照するClip Information fileが、他のPlayListにより参照されている場合、ステップS57において削除部205は、Real PlayListを削除する。つまり、削除が指定されたReal PlayListは削除されるが、そのReal PlayListが参照するClipは他のPlayListにより参照されているので削除されない。Clipを削除してしまうと、それを参照している他のPlayListに基づく再生ができなくなるからである。
ステップS53において削除が指示されたPlayListがReal PlayListではない、すなわちVertual PlayListであると判定された場合、ステップS54において削除部205は、そのVertual PlayList(削除が指示されたPlayList)を削除する。図4を参照して上述したように、Virtual PlayListは、Clipを共有していないので、Virtual PlayListが削除されたとしても、Clipの内容には何も変化が生じない。
ステップS54,S56,S57の削除処理の後、ステップS58において更新部206は、PL_to_Clips_table()を更新する。すなわち、ステップS54,S56,S57の削除処理に対応するようにPL_to_Clips_table()が更新される。
次にステップS59において記録部201は、INFO.BAVファイルを記録する。つまり、ステップS58で更新されたPL_to_Clips_table()を有するINFO.BAVファイルが記録媒体100に記録される。
[削除の例]
次に、PL_to_Clips_table()の効果について説明する。PLAYLISTディレクトリの下に記録されているすべてのPlayListについて、図33に示すようにPlayList filesがClipsを参照しているとする。図33の例においては、Real PlayList1がClip1の全部を参照し、Real PlayList2がClip2の一部を参照している。Real PlayList3は、Clip2のReal PlayList2が参照していない残りの部分を参照するとともに、Clip3の一部を参照している。Real PlayList4は、Clip3のReal PlayList3が参照していない残りの部分を参照するとともに、Clip4の全部を参照している。
いま、Real PlayList2を削除するものとする。Real PlayList2は、Clip2を参照している。もし、PL_to_Clips_table()が無い場合には、他のReal PlayList1, Real PlayList3, Real PlayList4を記録媒体100から読み出して、Clip2が他のPlayList filesから参照をされていないかどうかを調べる必要がある。
図33の例では、PLAYLISTディレクトリの下のPlayList filesの数が4個なので、高々3個のファイルを読み出す時間は長くは無い。しかし、記録媒体100に記録されているPlayListファイル数が非常に大きな数(たとえば、10000個以上)である場合、すべてのPlayList filesを読み出して、Clip2が他のPlayList filesから参照をされているかどうかを調べるには長い時間が必要となる。そこで、INFO.BAVの中のPL_to_Clips_table()を読み出すことにより、このPlayList filesとClipsの参照関係を調べる時間を、PL_to_Clips_table()が存在しない場合に較べて短縮することができる。
図34は、記録媒体100に図33に示されるようにReal PlayListファイルが記録されている場合におけるINFO.BAVのPL_to_Clips_table()のイメージを表している。PlayListの数(number_of_PlayLists)は4であることが記述されている。また、Real PlayList1はClip1、Real PlayList2はClip2、Real PlayList3はClip2,Clip3、Real PlayList4はClip3,Clip4を、それぞれ参照していることが記述されている。
Real PlayList2を削除したいとき、PL_to_Clips_table()を参照することにより、Clip2は、Real PlayList3からも参照されていることが即座にわかるので、Real PlayList2を削除してもよいが、Clip2を削除してはいけないことが判る。
このように、あるReal PlayListの削除時に、PL_to_Clips_table()を参照することにより、そのReal PlayListが参照するClip Information file(s)が他のPlayListに参照されているかどうかを高速に判定することができるようになる。そのReal PlayListと、そのReal PlayListだけが参照するClip (Clip Information fileと対応するClip AV stream file)を削除することができる。
[本技術のプログラムへの適用]
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることができる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
このようなプログラムを含む記録媒体は、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVDを含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているフラッシュROMやハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
[その他]
本技術は、以下のような構成もとることができる。
(1)
コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の前記再生情報ととともに、同じ前記実態情報を共有可能な前記再生情報と、前記再生情報が参照する前記実態情報との対応関係を、記録媒体に記録されている全ての前記再生情報に関して記述するテーブルを、1つのファイルに記録する記録部と、
指示された前記再生情報を削除する削除部と、
前記再生情報が削除された場合、前記テーブルを更新する更新部と
を備える情報処理装置。
(2)
前記再生情報はPlayListであり、前記実態情報はClipである
前記(1)に記載の情報処理装置。
(3)
前記記録部は、前記PlayListのファイル名、前記PlayListに含まれる再生区間を表すPlayItem、および前記PlayItemが参照するClip Information fileのファイル名であるClip_Information_file_nameをさらに記録する
前記(2)に記載の情報処理装置。
(4)
前記削除部は、削除が指示された前記PlayListがReal PlayListであり、他の前記Real PlayListが同じ前記Clip Information fileを参照している場合、削除が指示された前記Real PlayListを削除し、他の前記Real PlayListが同じ前記Clip Information fileを参照していない場合、削除が指示された前記Real PlayList以外に、前記Real PlayListに対応する前記Clip Information fileを削除する
前記(2)または(3)に記載の情報処理装置。
(5)
前記削除部は、削除が指示された前記PlayListがVertual PlayListである場合、前記Vertual PlayListを削除する
前記(2)、(3)または(4)に記載の情報処理装置。
(6)
コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の前記再生情報ととともに、同じ前記実態情報を共有可能な前記再生情報と、前記再生情報が参照する前記実態情報との対応関係を、記録媒体に記録されている全ての前記再生情報に関して記述するテーブルを、1つのファイルに記録する記録ステップと、
指示された前記再生情報を削除する削除ステップと、
前記再生情報が削除された場合、前記テーブルを更新する更新ステップと
を含む情報処理方法。
(7)
コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の前記再生情報ととともに、同じ前記実態情報を共有可能な前記再生情報と、前記再生情報が参照する前記実態情報との対応関係を、記録媒体に記録されている全ての前記再生情報に関して記述するテーブルを、1つのファイルに記録する記録ステップと、
指示された前記再生情報を削除する削除ステップと、
前記再生情報が削除された場合、前記テーブルを更新する更新ステップと
を含む処理をコンピュータに実行させるプログラム。
1 記録再生装置, 11乃至13 端子, 14 解析部, 15 AVエンコーダ, 16 マルチプレクサ, 17 スイッチ, 18 多重化ストリーム解析部, 19 ソースパケッタイザ, 20 ECC符号化部, 21 変調部, 22 書き込み部, 23 制御部, 24 ユーザインタフェイス, 26 デマルチプレクサ, 27 AVデコーダ, 28 読み出し部, 29 復調部, 30 ECC復号部, 31 ソースパケッタイザ, 32,33 端子,201 記録部, 202 取得部, 203 判定部, 204 表示部

Claims (7)

  1. コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の前記再生情報ととともに、同じ前記実態情報を共有可能な前記再生情報と、前記再生情報が参照する前記実態情報との対応関係を、記録媒体に記録されている全ての前記再生情報に関して記述するテーブルを、1つのファイルに記録する記録部と、
    指示された前記再生情報を削除する削除部と、
    前記再生情報が削除された場合、前記テーブルを更新する更新部と
    を備える情報処理装置。
  2. 前記再生情報はPlayListであり、前記実態情報はClipである
    請求項1に記載の情報処理装置。
  3. 前記記録部は、前記PlayListのファイル名、前記PlayListに含まれる再生区間を表すPlayItem、および前記PlayItemが参照するClip Information fileのファイル名であるClip_Information_file_nameをさらに記録する
    請求項2に記載の情報処理装置。
  4. 前記削除部は、削除が指示された前記PlayListがReal PlayListであり、他の前記Real PlayListが同じ前記Clip Information fileを参照している場合、削除が指示された前記Real PlayListを削除し、他の前記Real PlayListが同じ前記Clip Information fileを参照していない場合、削除が指示された前記Real PlayList以外に、前記Real PlayListに対応する前記Clip Information fileを削除する
    請求項3に記載の情報処理装置。
  5. 前記削除部は、削除が指示された前記PlayListがVertual PlayListである場合、前記Vertual PlayListを削除する
    請求項4に記載の情報処理装置。
  6. コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の前記再生情報ととともに、同じ前記実態情報を共有可能な前記再生情報と、前記再生情報が参照する前記実態情報との対応関係を、記録媒体に記録されている全ての前記再生情報に関して記述するテーブルを、1つのファイルに記録する記録ステップと、
    指示された前記再生情報を削除する削除ステップと、
    前記再生情報が削除された場合、前記テーブルを更新する更新ステップと
    を含む情報処理方法。
  7. コンテンツの実態としての実態情報の再生を指定する再生情報であって、他の前記再生情報ととともに、同じ前記実態情報を共有可能な前記再生情報と、前記再生情報が参照する前記実態情報との対応関係を、記録媒体に記録されている全ての前記再生情報に関して記述するテーブルを、1つのファイルに記録する記録ステップと、
    指示された前記再生情報を削除する削除ステップと、
    前記再生情報が削除された場合、前記テーブルを更新する更新ステップと
    を含む処理をコンピュータに実行させるプログラム。
JP2011258887A 2011-11-28 2011-11-28 情報処理装置、情報処理方法、並びにプログラム Pending JP2013115552A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011258887A JP2013115552A (ja) 2011-11-28 2011-11-28 情報処理装置、情報処理方法、並びにプログラム
EP12189224.4A EP2597643A1 (en) 2011-11-28 2012-10-19 Information processor, information processing method, and program
US13/680,532 US8917976B2 (en) 2011-11-28 2012-11-19 Information processor, information processing method, and program
CN201210476204.3A CN103137162A (zh) 2011-11-28 2012-11-21 信息处理器、信息处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011258887A JP2013115552A (ja) 2011-11-28 2011-11-28 情報処理装置、情報処理方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2013115552A true JP2013115552A (ja) 2013-06-10

Family

ID=47594235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011258887A Pending JP2013115552A (ja) 2011-11-28 2011-11-28 情報処理装置、情報処理方法、並びにプログラム

Country Status (4)

Country Link
US (1) US8917976B2 (ja)
EP (1) EP2597643A1 (ja)
JP (1) JP2013115552A (ja)
CN (1) CN103137162A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018016294A1 (ja) * 2016-07-20 2018-01-25 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043702B2 (en) * 2013-03-13 2015-05-26 Rovi Guides, Inc. Methods and systems for creating a shaped playlist
JP6323356B2 (ja) * 2015-02-03 2018-05-16 株式会社安川電機 処理システム、監視方法及びコンピュータプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4599740B2 (ja) 2000-04-21 2010-12-15 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体
CN1199446C (zh) * 2000-04-21 2005-04-27 索尼公司 信息处理设备和方法
JP4196283B2 (ja) * 2002-04-10 2008-12-17 ソニー株式会社 データ記録装置および方法、プログラム格納媒体、並びにプログラム
KR100521933B1 (ko) * 2002-06-05 2005-10-13 엘지전자 주식회사 재기록 가능 기록매체의 편집 요약정보 관리방법
JP2007124432A (ja) * 2005-10-31 2007-05-17 Funai Electric Co Ltd 映像情報処理装置、および映像情報処理方法
JP4591405B2 (ja) * 2006-05-10 2010-12-01 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
US8055684B2 (en) * 2006-11-24 2011-11-08 Victor Company Of Japan, Ltd. Contents-data editing apparatus, method of updating playlist of contents data, and recording medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018016294A1 (ja) * 2016-07-20 2018-01-25 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
CN109478412A (zh) * 2016-07-20 2019-03-15 索尼公司 信息处理设备、信息处理方法和程序
JPWO2018016294A1 (ja) * 2016-07-20 2019-05-09 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
CN109478412B (zh) * 2016-07-20 2021-07-16 索尼公司 信息处理设备、信息处理方法和程序
JP7031589B2 (ja) 2016-07-20 2022-03-08 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム
US11395018B2 (en) 2016-07-20 2022-07-19 Sony Corporation Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
US8917976B2 (en) 2014-12-23
US20130136417A1 (en) 2013-05-30
CN103137162A (zh) 2013-06-05
EP2597643A1 (en) 2013-05-29

Similar Documents

Publication Publication Date Title
JP4893842B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP4517267B2 (ja) 記録装置および方法、再生装置および方法、プログラム、並びに記録媒体
JP4919129B2 (ja) 情報処理装置、情報処理方法、記録媒体、およびプログラム、並びにデータ構造
JP4517266B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP4355988B2 (ja) 情報処理装置、情報処理方法、プログラム記録媒体、プログラム、および情報記録媒体
JP5999405B2 (ja) 情報処理装置、情報処理方法、並びにプログラム
US8917976B2 (en) Information processor, information processing method, and program
JP6010900B2 (ja) 情報処理装置、情報処理方法、並びにプログラム