JP2007280515A - 記録装置、記録方法および記録プログラム - Google Patents

記録装置、記録方法および記録プログラム Download PDF

Info

Publication number
JP2007280515A
JP2007280515A JP2006105536A JP2006105536A JP2007280515A JP 2007280515 A JP2007280515 A JP 2007280515A JP 2006105536 A JP2006105536 A JP 2006105536A JP 2006105536 A JP2006105536 A JP 2006105536A JP 2007280515 A JP2007280515 A JP 2007280515A
Authority
JP
Japan
Prior art keywords
playlist
recording
title
data
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.)
Granted
Application number
JP2006105536A
Other languages
English (en)
Other versions
JP4765733B2 (ja
Inventor
Toshiya Hamada
俊也 浜田
Kenichiro Aritome
憲一郎 有留
Atsushi Mae
篤 前
Naoki Morimoto
森本  直樹
Yukio Isobe
幸雄 磯部
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 JP2006105536A priority Critical patent/JP4765733B2/ja
Priority to EP07105127A priority patent/EP1843347A1/en
Priority to US11/695,205 priority patent/US8472784B2/en
Priority to CN200710138872.4A priority patent/CN101086889B/zh
Publication of JP2007280515A publication Critical patent/JP2007280515A/ja
Application granted granted Critical
Publication of JP4765733B2 publication Critical patent/JP4765733B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/34Indicating arrangements 
    • 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
    • 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
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • 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/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/216Rewritable discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Abstract

【課題】BD−ROM規格を記録可能な記録媒体に対して拡張した場合に、メニュー画面の編集を容易とする。
【解決手段】プレイリストに、メニュー、リアル及びバーチャルの属性を付与する。また、メニュー画面を再生するためのメニュープレイリストと他のプレイリストとは、互いに独立的とすると共に、メニューから選択されるタイトルは、一つのムービーオブジェクトを介して一つのプレイリストを呼び出す。タイトルを追加した場合には、インデックステーブル内のファーストプレイバック及びトップメニュー、並びに、メニューを再生するためのムービーオブジェクト及びプレイリストを削除し、削除されたこれらの情報を、追加されたタイトルを含むタイトル情報に基づき新規に作成する。メニュー及びタイトルを再生するためのプレイリストの参照関係が明確となり、メニューの編集が容易となる。
【選択図】図24

Description

この発明は、AV(Audio/Video)ストリームと、その再生区間や再生順序を示す再生制御情報と、その再生制御情報を指定するオブジェクトと、ソノオブジェクトを呼び出すタイトルが記述されるテーブルとを有するフォーマットを用いて記録される記録媒体と互換性を持たせるようにデータを記録するようにした記録装置、記録方法および記録プログラムに関する。
例えばブルーレイディスク(Blu−ray Disc:登録商標)の再生専用フォーマットである「Blu-ray Disc Read-Only Format」と互換性を持たせるようにデータを記録するようにした記録装置、記録方法および記録プログラムに適用することができる。
近年、記録可能で記録再生装置から取り外し可能なディスク型記録媒体の規格として、Blu−ray Disc規格が提案されている。Blu−ray Disc規格では、記録媒体として直径12cm、カバー層0.1mmのディスクを用い、光学系として波長405nmの青紫色レーザ、開口数0.85の対物レンズを用いて、最大で27GB(ギガバイト)の記録容量を実現している。これにより、日本のBSディジタルハイビジョン放送を、画質を劣化させることなく2時間以上記録することが可能である。
この記録可能光ディスクに記録するAV(Audio/Video)信号のソース(供給源)としては、従来からの、例えばアナログテレビジョン放送によるアナログ信号によるものと、例えばBSディジタル放送をはじめとするディジタルテレビジョン放送によるディジタル信号によるものとが想定されている。Blu−ray Disc規格では、これらの放送によるAV信号を記録する方法を定めた規格は、既に作られている。
一方で、現状のBlu−ray Discの派生規格として、映画や音楽などが予め記録された、再生専用の記録媒体を開発する動きが進んでいる。映画や音楽を記録するためのディスク状記録媒体としては、既にDVD(Digital Versatile Disc)が広く普及しているが、このBlu−ray Discの規格に基づいた再生専用光ディスクは、Blu−ray Discの大容量および高速な転送速度などを活かし、ハイビジョン映像を高画質なままで2時間以上収録できる点が、既存のDVDとは大きく異なり、優位である。
このBlu−ray Discにおける再生専用の記録媒体の規格を、以下では、BD−ROM(Blu-ray Disc-Read Only Memory)規格と呼ぶ。また、Blu−ray Discにおける記録可能な記録媒体の規格を、BD−REと呼ぶ。特許文献1には、再生専用タイプのBlu−ray DiscであるBD−ROMの規格に関して記載されている。
特願2004−21886号
BD−ROM規格においては、ビデオデータはクリップ(Clip)を単位として記録され、クリップに対してムービープレイリスト(MoviePlayList)を用いて再生区間を指定することができる。ここで、連続同期再生、すなわち実時間再生が保障された再生が必要な単位となるデータのまとまりを、クリップと呼ぶ。例えば、記録媒体上に1つのファイルとして存在するビデオデータがクリップとされる。ムービープレイリストは、複数のクリップに対してそれぞれ再生開始点(IN点)および再生終了点(OUT点)を指定し、当該複数のクリップそれぞれの再生区間および再生順序を指定することができる。
ムービープレイリスト(以下、プレイリストと略称する)は、ムービーオブジェクト(MovieObject)内のナビゲーションコマンドにより指定され、再生が行われる。ムービーオブジェクトへの参照がタイトルの入口としてインデックステーブルに列挙される。インデックステーブルは、ディスクをプレーヤに装填した際に最初に読み込まれるデータであって、ユーザは、ディスク装填時には、インデックステーブルに記述されたタイトルが見えることになる。
また、BD−ROM規格においては、クリップおよびプレイリスト間での参照関係を自由に設定できるようにされている。例えば、あるクリップにする参照を、それぞれIN点およびOUT点の異なる2つのプレイリストから行うことができる。さらに、タイトルおよびムービーオブジェクト間での参照関係も、自由に設定することができる。
図28は、BD−ROM規格によるタイトル、ムービーオブジェクトおよびプレイリストの一例の関係を概略的に示す。ディスクがプレーヤに装填されると、最初にインデックステーブル上のファーストプレイバック(FirstPlayBack)およびトップメニュー(TopMenu)が読み込まれ、これらに記述されるムービーオブジェクトに基づきトレーラやトップメニューが再生されることになる。ユーザは、トップメニューから、ディスクに記録されている各タイトルの再生を指示することができる。
この図28の例では、ファーストプレイバックおよびトップメニューによりムービーオブジェクト#4が指定され、ムービーオブジェクト#4からプレイリスト#100およびプレイリスト#101が参照され、ファーストプレイバックおよびトップメニューのメニュー画面が表示される。
すなわち、この図28の例は、最初にムービーオブジェクト#4によるメニュー画面が表示され、メニュー画面の表示が終了すると、ムービーオブジェクト#0の再生が開始され、メニュー画面の表示中に例えばタイトルジャンプを選択すると、タイトル#1にジャンプしてそこからムービーオブジェクト#0の再生が開始されるようなシナリオ構成となっている。
トップメニューは、6個のタイトル#1〜タイトル#6の再生をナビゲーションする。タイトル#1およびタイトル#3は、それぞれムービーオブジェクト#0の再生を指示し、タイトル#4およびタイトル#6は、それぞれムービーオブジェクト#2の再生を指示する。また、トップメニューを再生するためのムービーオブジェクト#4は、タイトル#1にジャンプすると共に、タイトル#1に参照されるムービーオブジェクト#0にジャンプされる。さらに、ムービーオブジェクト#0は、プレイリスト#100およびプレイリスト#101の2つのプレイリストを再生するコマンドが記述され、ムービーオブジェクト#3は、プレイリスト#4、プレイリスト#5およびプレイリスト#6の3つのプレイリストを再生するコマンドが記述される。
上述したように、BD−ROM規格においては、1つのムービーオブジェクトに対する複数のタイトルからの再生指示や、1つのムービーオブジェクトからのタイトルおよびムービーオブジェクトに対するジャンプ、1つのムービーオブジェクトから複数のプレイリストに対する再生指示などを行わせることができる。このように、タイトルやムービーオブジェクト、プレイリストなどの間での自由な参照関係を可能とすることで、コンテンツ制作者の意図の実現が容易となる利点がある。また、メニュー画面をムービーオブジェクト内のナビゲーションコマンドを用いて構成しているため、メニュー画面の構成が機器に依らない利点がある。
ところで、従来から存在する、再生専用の記録媒体に対して規定されたDVD−Video(Digital Versatile Disc-Video)規格を用いて、記録可能なDVDに対してAV(Audio/Video)データを記録するようにしたDVDレコーダが普及している。このことから、現状では再生専用の記録媒体に対する規格として開発されているBD−ROM規格も、将来的には、民生用レコーダの記録方式の一つとして用いられることが想定される。このため、BD−ROM規格を記録可能な記録媒体に拡張するような規格の開発が進められている。
BD−ROM規格を記録可能な記録媒体に対して拡張する場合でも、ディスクに記録されるクリップは、インデックステーブルの記述に従い再生されるトップメニューからタイトルとして指定されて再生が開始されるようになっている必要がある。また、記録可能な記録媒体では、タイトルの削除や追加といった、タイトルの編集が可能とされていることが要求される。例えば記録媒体に対して新たにクリップが記録されると、当該クリップに基づくタイトルが追加されることになる。タイトルが編集されると、それに伴いトップメニューの構成も更新される必要がある。
しかしながら、BD−ROM規格を記録可能な記録媒体に対して適用した場合、タイトルの編集によってプレイリストやクリップを変更した際に、変更内容をメニュー画面に反映させることが極めて困難になってしまうという問題点があった。
すなわち、BD−ROM規格では、上述したように、ムービーオブジェクト内のナビゲーションコマンドを用いてメニュー画面を構成する。換言すれば、BD−ROM規格は、ディスクに対して、メニュー画面の設計図すなわちプログラムが記録されており、プレーヤは、このプログラムの指示に従いメニュー画面を構成するようになっている。このような仕組みを持つことにより、プレーヤに依らず統一的なメニュー画面を表示させることができる。その一方で、メニュー画面を変更するためには、このプログラムを解析する必要がある。
上述のように、BD−ROM規格では、タイトルやムービーオブジェクト、プレイリスト間の参照関係を高い自由度で設計できるようにされているため、ナビゲーションコマンドも複雑なものとなっている。
常に同じ機種のレコーダや編集機を用いるのであれば、メニュー画面の設計思想が固定的となるので、メニュー画面の変更は、比較的容易であると考えられる。しかしながら、異なる機種で任意に作成されたメニュー画面を変更する場合には、当該メニュー画面を構成するコマンドなどを解析する必要があり、このコマンド解析は、一般的なプログラムコードを解析してソースコードを生成するのと同等の困難を伴うという問題点があった。
他の例として、メニュー画面上に設けられるボタンは、グラフィクスデータによって構成される。BD−ROM規格では、ボタンを表示するためのグラフィクスデータは、ビデオデータなどと多重化されたストリームとして、ディスクに予め記録されて提供される。新規にタイトルを追加する場合、対応するボタンを新規に追加することが考えられる。新規に追加するボタンを、既存のボタンと類似のデザインで作成する場合、一般的には、元になるボタン画像を表示するビットマップデータが必要となる。さらに、メニュー画面における既存のボタンのレイアウトを変更しなければならない場合があり得る。また、メニュー画面のページを追加しなければならない場合もあり得る。
このように、既存のBD−ROM規格をそのまま記録可能な記録媒体に拡張した場合、メニュー画面の更新は、現実的ではないという問題点があった。
したがって、この発明の目的は、BD−ROM規格を記録可能な記録媒体に対して拡張した場合に、メニュー画面の編集が容易な記録装置、記録方法および記録プログラムを提供することにある。
この発明は、上述した課題を解決するために、少なくともコンテンツデータと、コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録装置において、コンテンツデータを記録媒体に記録する記録部と、記録媒体に記録されるコンテンツデータに対し、コンテンツデータの属性情報を示すクリップ情報と、クリップ情報を呼び出すプレイリストと、プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、オブジェクトを呼び出すインデックステーブルとを生成するように制御する制御部とを有し、制御部は、プレイリストを生成する目的に基づく種類をプレイリストの属性情報としてプレイリストに対して付加するように制御することを特徴とする記録装置である。
また、この発明は、少なくともコンテンツデータと、コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録方法において、記録媒体に記録されるコンテンツデータに対し、コンテンツデータの属性情報を示すクリップ情報と、クリップ情報を呼び出すプレイリストと、プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、オブジェクトを呼び出すインデックステーブルとを生成するように制御され、プレイリストを生成する目的に基づく種類をプレイリストの属性情報としてプレイリストに対して付加するように制御することを特徴とする記録方法である。
また、この発明は、少なくともコンテンツデータと、コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録方法をコンピュータ装置に実行させる記録プログラムにおいて、記録方法は、記録媒体に記録されるコンテンツデータに対し、コンテンツデータの属性情報を示すクリップ情報と、クリップ情報を呼び出すプレイリストと、プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、オブジェクトを呼び出すインデックステーブルとを生成するように制御され、プレイリストを生成する目的に基づく種類をプレイリストの属性情報としてプレイリストに対して付加するように制御することを特徴とする記録プログラムである。
上述したように、この発明は、記録媒体に記録されるコンテンツデータに対し、コンテンツデータの属性情報を示すクリップ情報と、クリップ情報を呼び出すプレイリストと、プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、オブジェクトを呼び出すインデックステーブルとを生成するように制御され、プレイリストを生成する目的に基づく種類をプレイリストの属性情報としてプレイリストに対して付加するように制御しているため、例えばプレイリストに対して編集を行うような場合において、プレイリスト毎に適切な処理を施すことができる。
この発明は、上述したように、記録媒体に記録されるコンテンツデータに対し、コンテンツデータの属性情報を示すクリップ情報と、クリップ情報を呼び出すプレイリストと、プレイリストを呼び出すコンテンツデータの再生方法を示すオブジェクトと、オブジェクトを呼び出すインデックステーブルとを生成するように制御され、プレイリストを生成する目的に基づく種類をプレイリストの属性情報としてプレイリストに対して付加するように制御しているため、例えばプレイリストに対して編集を行うような場合において、プレイリスト毎に、プレイリストの種類に応じた適切な処理を施すことができる効果がある。
以下、この発明の実施の一形態を、図面を参照しながら説明する。先ず、理解を容易とするために、Blu−ray Discに関し、"Blu-ray Disc Read Only Format Ver1.0 part3 Audio Visual Specifications"で規定されている、読み出し専用タイプのBlu−ray DiscであるBD−ROMに記録されたコンテンツすなわちAV(Audio/Video)データの管理構造について、BD−ROM規格を記録可能な記録媒体に拡張した際に適用可能な部分を概略的に説明する。以下では、このBD−ROMにおける管理構造をBDMVフォーマットと称する。また、BDMVフォーマットを記録可能な記録媒体に対して拡張したフォーマットを、便宜上、拡張BDMVフォーマットと呼ぶ。
例えばMPEG(Moving Pictures Experts Group)ビデオやMPEGオーディオなどの符号化方式で符号化され、MPEG2システムに従い多重化されたビットストリームは、クリップAVストリーム(またはAVストリーム)と称される。クリップAVストリームは、Blu−ray Discに関する規格の一つである"Blu-ray Disc Read Only Format part2"で定義されたファイルシステムにより、ファイルとしてディスクに記録される。このファイルを、クリップAVストリームファイル(またはAVストリームファイル)と称する。
クリップAVストリームファイルは、ファイルシステム上での管理単位であり、ユーザにとって必ずしも分かりやすい管理単位であるとは限らない。ユーザの利便性を考えた場合、複数のクリップAVストリームファイルに分割された映像コンテンツを一つにまとめて再生する仕組みや、クリップAVストリームファイルの一部だけを再生する仕組み、さらには、特殊再生や頭出し再生を滑らかに行うための情報などをデータベースとしてディスクに記録しておく必要がある。Blu−ray Discに関する規格の一つである"Blu-ray Disc Read Only Format part3"で、このデータベースが規定される。
図1は、BD−ROMのデータモデルを概略的に示す。BD−ROMのデータ構造は、図1に示されるように4層のレイヤよりなる。最も最下層のレイヤは、クリップAVストリームが配置されるレイヤである(便宜上、クリップレイヤと呼ぶ)。その上のレイヤは、クリップAVストリームに対する再生箇所を指定するための、ムービープレイリスト(Movie PlayList)と、プレイアイテム(PlayItem)とが配置されるレイヤである(便宜上、プレイリストレイヤと呼ぶ)。さらにその上のレイヤは、ムービープレイリストに対して再生順などを指定するコマンドからなるムービーオブジェクト(Movie Object)などが配置されるレイヤである(便宜上、オブジェクトレイヤと呼ぶ)。最上層のレイヤは、このBD−ROMに格納されるタイトルなどを管理するインデックステーブルが配置される(便宜上、インデックスレイヤと呼ぶ)。
クリップレイヤについて説明する。クリップAVストリームは、ビデオデータやオーディオデータがMPEG2 TS(トランスポートストリーム)の形式などに多重化されたビットストリームである。このクリップAVストリームに関する情報がクリップ情報(Clip Information)としてファイルに記録される。
また、クリップAVストリームには、字幕を表示するグラフィクスストリームであるプレゼンテーショングラフィクス(PG)ストリームや、メニュー表示などに用いられるデータ(ボタン画像データなど)をストリームにしたインタラクティブグラフィクス(IG)ストリームも多重化される。
クリップAVストリームファイルと、対応するクリップ情報が記録されたクリップ情報ファイルとをひとまとまりのオブジェクトと見なし、クリップ(Clip)と称する。すなわち、クリップは、クリップAVストリームとクリップ情報とから構成される、一つのオブジェクトである。
ファイルは、一般的に、バイト列として扱われる。クリップAVストリームファイルのコンテンツは、時間軸上に展開され、クリップ中のエントリーポイントは、主に時間ベースで指定される。所定のクリップへのアクセスポイントのタイムスタンプが与えられた場合、クリップAVストリームファイルの中でデータの読み出しを開始すべきアドレス情報を見つけるために、クリップ情報ファイルを用いることができる。
プレイリストレイヤについて説明する。ムービープレイリストは、再生するAVストリームファイルの指定と、指定されたAVストリームファイルの再生箇所を指定する再生開始点(IN点)と再生終了点(OUT点)の集まりとから構成される。この再生開始点と再生終了点の情報を一組としたものは、プレイアイテム(PlayItem)と称される。ムービープレイリストは、プレイアイテムの集合で構成される。プレイアイテムを再生するということは、そのプレイアイテムに参照されるAVストリームファイルの一部分を再生するということになる。すなわち、プレイアイテム中のIN点およびOUT点情報に基づき、クリップ中の対応する区間が再生される。
オブジェクトレイヤについて説明する。ムービーオブジェクトは、HDMVナビゲーションコマンドプログラムと、ムービーオブジェクトとを連携するターミナルインフォメーションを含む。HDMVナビゲーションプログラムは、プレイリストの再生を制御するためのコマンドである。以下、HDMVナビゲーションコマンドを、適宜、ナビゲーションコマンド(navigation command)と略称する。ターミナルインフォメーションは、ユーザのBD−ROMプレーヤに対するインタラクティブな操作を許可するための情報を含んでいる。このターミナルインフォメーションに基づき、メニュー画面の呼び出しや、タイトルサーチといったユーザオペレーションが制御される。
BD−Jオブジェクトは、Javaプログラム(Javaは登録商標)によるオブジェクトからなる。BD−Jオブジェクトは、この発明と関わりが薄いので、詳細な説明を省略する。
インデックスレイヤについて説明する。インデックスレイヤは、インデックステーブルからなる。インデックステーブルは、BD−ROMディスクのタイトルを定義する、トップレベルのテーブルである。インデックステーブルに格納されているタイトル情報に基づき、BD−ROM常駐システムソフトウェア中のモジュールマネージャによりBD−ROMディスクの再生が制御される。
すなわち、図2に概略的に示されるように、インデックステーブル中の任意のエントリは、タイトルと称され、インデックステーブルにエントリされるファーストプレイバック(First Playback)、トップメニュー(Top Menu)およびタイトル(Title)#1、#2、・・・は、全てタイトルである。各タイトルは、ムービーオブジェクトあるいはBD−Jオブジェクトに対するリンクを示し、各タイトルは、HDMVタイトルあるいはBD−Jタイトルの何れかを示す。
例えば、ファーストプレイバックは、当該BD−ROMに格納されるコンテンツが映画であれば、映画本編に先立って映出される映画会社の宣伝用映像(トレーラ)である。トップメニューは、例えばコンテンツが映画である場合、本編再生、チャプタサーチ、字幕や言語設定、特典映像再生などを選択するためのメニュー画面である。また、タイトルは、トップメニューから選択される各映像である。タイトルがさらにメニュー画面であるような構成も可能である。
図3は、上述のようなクリップAVストリーム、クリップ情報(Stream Attributes)、クリップ、プレイアイテムおよびプレイリストの関係を示すUML(Unified Modeling Language)図である。プレイリストは、1または複数のプレイアイテムに対応付けられ、プレイアイテムは、1のクリップに対応付けられる。1のクリップに対して、それぞれ開始点および/または終了点が異なる複数のプレイアイテムを対応付けることができる。1のクリップから1のクリップAVストリームファイルが参照される。同様に、1のクリップから1のクリップ情報ファイルが参照される。また、クリップAVストリームファイルとクリップ情報ファイルとは、1対1の対応関係を有する。このような構造を定義することにより、クリップAVストリームファイルを変更することなく、任意の部分だけを再生する、非破壊の再生順序指定を行うことが可能となる。
また、図4のように、複数のプレイリストから同一のクリップを参照することもできる。また、1のプレイリストから複数のクリップを指定することもできる。クリップは、プレイリスト中のプレイアイテムに示されるIN点およびOUT点により、参照される。図4の例では、クリップ300は、プレイリスト310のプレイアイテム320から参照されると共に、プレイリスト311を構成するプレイアイテム321および322のうちプレイアイテム321から、IN点およびOUT点で示される区間が参照される。また、クリップ301は、プレイリスト311のプレイアイテム322からIN点およびOUT点で示される区間が参照されると共に、プレイリスト312のプレイアイテム323および324のうち、プレイアイテム323のIN点およびOUT点で示される区間が参照される。
なお、プレイリストは、図5に一例が示されるように、主として再生されるプレイアイテムに対応するメインパスに対して、サブプレイアイテムに対応するサブパスを持つことができる。例えば、このプレイリストに付けられているアフレコオーディオ用のプレイアイテムをサブプレイアイテムとして、プレイリストに持たせることができる。詳細は省略するが、プレイリストは、所定の条件を満たす場合にだけ、サブプレイアイテムを持つことができる。
次に、"Blu-ray Disc Read Only Format part3"で規定された、BD−ROMに記録されるファイルの管理構造について、図6を用いて説明する。ファイルは、ディレクトリ構造により階層的に管理される。記録媒体上には、先ず、1つのディレクトリ(図6の例ではルート(root)ディレクトリ)が作成される。このディレクトリの下が、1つの記録再生システムで管理される範囲とする。
ルートディレクトリの下に、ディレクトリ"BDMV"、ディレクトリ"CERTIFICATE"およびディレクトリ"HDAVCTN"が置かれる。ディレクトリ"CERTIFICATE"は、著作権に関する情報が格納される。ディレクトリ"HDAVCTN"には、例えばクリップの代表画像を所定サイズに縮小したサムネイルファイルが置かれる。ディレクトリ"BDMV"に、図1を用いて説明したデータ構造が格納される。
ディレクトリ"BDMV"の直下には、ファイルは、ファイル"index.bdmv"およびファイル"MovieObject.bdmv"の2つのみを置くことができる。また、ディレクトリ"BDMV"の下に、ディレクトリ"PLAYLIST"、ディレクトリ"CLIPINF"、ディレクトリ"STREAM"、ディレクトリ"AUXDATA"、ディレクトリ"META"、ディレクトリ"BDJO"、ディレクトリ"JAR"、およびディレクトリ"BACKUP"が置かれる。
ファイル"index.bdmv"は、ディレクトリBDMVの内容について記述される。すなわち、このファイル"index.bdmv"が上述した最上層のレイヤであるインデックスレイヤにおけるインデックステーブルに対応する。また、ファイルMovieObject.bdmvは、1つ以上のムービーオブジェクトの情報が格納される。すなわち、このファイル"MovieObject.bdmv"が上述したオブジェクトレイヤに対応する。
ディレクトリ"PLAYLIST"は、プレイリストのデータベースが置かれるディレクトリである。すなわち、ディレクトリ"PLAYLIST"は、ムービープレイリストに関するファイルであるファイル"xxxxx.mpls"を含む。ファイル"xxxxx.mpls"は、ムービープレイリストのそれぞれに対して作成されるファイルである。ファイル名において、"."(ピリオド)の前の"xxxxx"は、5桁の数字とされ、ピリオドの後ろの"mpls"は、このタイプのファイルに固定的とされた拡張子である。
ディレクトリ"CLIPINF"は、クリップのデータベースが置かれるディレクトリである。すなわち、ディレクトリCLIPINF"は、クリップAVストリームファイルのそれぞれに対するクリップインフォメーションファイルであるファイル"zzzzz.clpi"を含む。ファイル名において、"."(ピリオド)の前の"zzzzz"は、5桁の数字とされ、ピリオドの後ろの"clpi"は、このタイプのファイルに固定的とされた拡張子である。
ディレクトリ"STREAM"は、実体としてのAVストリームファイルが置かれるディレクトリである。すなわち、ディレクトリ"STREAM"は、クリップインフォメーションファイルのそれぞれに対応するクリップAVストリームファイルを含む。クリップAVストリームファイルは、MPEG2(Moving Pictures Experts Group 2)のトランスポートストリーム(以下、MPEG2 TSと略称する)からなり、ファイル名が"zzzzz.m2ts"とされる。ファイル名において、ピリオドの前の"zzzzz"は、対応するクリップインフォメーションファイルと同一することで、クリップインフォメーションファイルとこのクリップAVストリームファイルとの対応関係を容易に把握することができる。
ディレクトリ"AUXDATA"は、メニュー表示などに用いられる、サウンドファイル、フォントファイル、フォントインデックスファイルおよびビットマップファイルなどが置かれる。ファイル"sound.bdmv"は、HDMVのインタラクティブなグラフィクスストリームのアプリケーションに関連したサウンドデータが格納される。ファイル名は、"sound.bdmv"に固定的とされる。ファイル"aaaaa.otf"は、字幕表示や上述したBD−Jアプリケーションなどで用いられるフォントデータが格納される。ファイル名において、ピリオドの前の"aaaaa"は、5桁の数字とされ、ピリオドの後ろの"otf"は、このタイプのファイルに固定的とされた拡張子である。ファイル"bdmv.fontindex"は、フォントのインデックスファイルである。
ディレクトリ"META"は、メタデータファイルが格納される。ディレクトリ"BDJO"およびディレクトリ"JAR"は、上述のBD−Jオブジェクトに関連するファイルが格納される。また、ディレクトリ"BACKUP"は、上述までの各ディレクトリおよびファイルのバックアップが格納される。これらディレクトリ"META"、ディレクトリ"BDJO"、ディレクトリ"JAR"およびディレクトリ"BACKUP"は、この発明の主旨と直接的な関わりがないので、詳細な説明を省略する。
なお、ディレクトリ"HDAVCTN"は、2種類のサムネイルファイルthumbnail.tidxおよびthumbnail.tdt2を置くことができる。サムネイルファイルthumbnail.tidxは、サムネイルファイルthumbnail.tdt2に格納されるサムネイル画像を管理する情報が格納される。
図6で示した各ファイルのうち、この発明に関わりの深いものについて、より詳細に説明する。先ず、ディレクトリ"BDMV"の直下に置かれるファイル"index.bdmv"について説明する。図7は、このファイル"index.bdmv"の一例の構造を表すシンタクスを示す。ここでは、シンタクスをコンピュータ装置などのプログラムの記述言語として用いられるC言語の記述法に基づき示す。これは、他のシンタクスを表す図において、同様である。
図7において、フィールドtype_indicatorは、32ビットのデータ長を有し、このファイルがインデックステーブルであることを示す。フィールドversion_numberは、32ビットのデータ長を有し、このファイル"index.bdmv"のバージョンを示す。フィールドIndexes_start_addressは、32ビットのデータ長を有し、このシンタクス内にあるブロックIndexes()の開始アドレスを示す。
フィールドExtensionData_start_addressは、32ビットのデータ長を有し、このシンタクス内にあるブロックExtensionData()の開始アドレスを示す。フィールドExtensionData_start_addressは、このファイル"index.bdmv"の最初のバイトからの相対バイト数で、ブロックExtensionData()の開始アドレスを示す。相対バイト数は、"0"から開始される。若し、このフィールドExtensionData_start_addressの値が"0"であれば、このファイル"index.bdmv"内に、ブロックExtensionData()が存在しないことを示す。
フィールドExtensionData_start_addressに続くデータ長が192バイトの領域は、将来の使用のために予約されている領域である。ブロックAppInfoBDMV()は、コンテンツ制作者が任意の情報を記述できるブロックであって、プレーヤの動作などには影響を与えない。
ブロックIndexes()は、このファイル"index.bdmv"の実質的な内容であって、このファイル"index.bdmv"に記述された内容により、ディスクをプレーヤに装填した際に再生されるファーストプレイバックや、トップメニューから呼び出されるタイトル(ムービーオブジェクトやBD−Jオブジェクト)が指定される。なお、以下では、ムービーオブジェクトおよびBD−Jオブジェクトを纏めて、ムービーオブジェクト等と記述する。インデックステーブルにより呼び出されたムービーオブジェクト等に記述されたコマンドに基づき、後述するムービープレイリストファイルが読み込まれる。
図8は、ブロックIndexes()の一例の構造を表すシンタクスを示す。なお、図8において、この発明と直接的に関わりのない部分は、領域Reservedとして記されている。すなわち、図8の表記は、記録可能な記録媒体のための拡張BDMVフォーマットに適用される記述に限定的とされている。フィールドlengthは、32ビットのデータ長を有し、このフィールドlength直後からこのブロックIndexes()の終わりまでのデータ長を示す。続けて、ブロックFirstPlayback()およびブロックTopMenu()が配される。
ブロックFirstPlayback()は、ファーストプレイバックで用いられるオブジェクトに関する情報が記述される。ブロックFirstPlayback()の最初のフィールドには、固定値"01"が記述され、ファーストプレイバックで用いられるオブジェクトがムービーオブジェクトであることが示される。そして、2ビットのデータ長を有するフィールドHDAVC_Title_playback_typeによりHDAVCタイトルの再生タイプが示され、16ビットのデータ長を有するフィールドFirstPlaybak_mobj_id_refにより、ファーストプレイバックで用いられるムービーオブジェクトのIDを示す。
ムービーオブジェクトのIDは、例えば、図9および図10を用いて後述するムービーオブジェクトのシンタクスに基づき、ムービーオブジェクトのforループ文においてループ変数として用いられる値mobj_idで示される。この例では、フィールドFirstPlayback_mobj_id_refは、参照するムービーオブジェクトに対応する値mobj_idが格納される。
なお、ブロックIndexes()におけるブロックFirstPlayback()内のフィールドFirstPlayback_mobj_id_refは、トップメニューのムービーオブジェクトを指していてもよいし、タイトルを指していてもよい。
ブロックTopMenu()は、トップメニューで用いられるオブジェクトに関する情報が記述される。ブロックTopMenu()の最初のフィールドには、固定値"01"が記述され、30ビットのデータ長を有する領域Reservedを介してさらに固定値"01"が記述される。フィールドTopMenu_mobj_id_refは、16ビットのデータ長を有し、トップメニューで用いられるムービーオブジェクトのIDを示す。
ブロックTopMenu()の次のフィールドnumber_of_Titlesは、16ビットのデータ長を有し、ユーザが選択、再生可能なタイトルの数を示す。次のforループ文に従い、このフィールドnumber_of_Titlesに示される回数だけ、値title_idを引数として、ブロックTitle[title_id]()が記述される。ブロックTitle[title_id]()は、タイトル毎の情報が記述される。値title_idは、"0"からフィールドnumber_of_Titlesで示される値までの数値であり、タイトルを識別する。
ブロックTitle[title_id]()において、最初のフィールドには固定値"01"が記述され、46ビットのデータ長を有する領域Reservedを介してフィールドTitle_mobj_id_refが記述される。フィールドTitle_mobj_id_refは、16ビットのデータ長を有し、このタイトルで用いられるムービーオブジェクトのIDを示す。
図9は、ディレクトリ"BDMV"の直下に置かれるファイル"MovieObject.bdmv"の一例の構造を表すシンタクスを示す。フィールドtype_indicatorは、32ビット(4バイト)のデータ長を有し、このファイルがファイル"MovieObject.bdmv"であることを示す。フィールドtype_indicatorは、ISO(International Organization for Standarization)646に規定された符号化方式で符号化した4文字からなる文字列が記述される。この図9の例では、フィールドtype_indicatorにISO646に既定の方式で符号化された4文字の文字列"MOBJ"が記述され、このファイルがファイル"MovieObject.bdmv"であることが示される。
フィールドversion_numberは、32ビット(4バイト)のデータ長を有し、このファイル"MovieObject.bdmv"のバージョン番号を示す。このファイル"MovieObject.bdmv"では、フィールドversion_numberは、ISO646に規定された符号化方式で符号化した4文字の文字列"0100"でなければならない。
フィールドExtensionData_start_addressは、32ビットのデータ長を有し、このシンタクス内にあるブロックExtensionData()の開始アドレスを示す。フィールドExtensionData_start_addressは、このファイル"MovieObject.bdmv"の最初のバイトからの相対バイト数で、ブロックExtensionData()の開始アドレスを示す。相対バイト数は、"0"から開始される。若し、このフィールドExtensionData_start_addressの値が"0"であれば、このファイル"MovieObject.bdmv"内に、ブロックExtensionData()が存在しないことを示す。
なお、この図9に示すシンタクス内のフィールドpadding_wordは、16ビットのデータ長を有し、このファイル"MovieObject.bdmv"のシンタクスに従いforループ文に値N1または値N2で示される回数だけ挿入される。値N1または値N2は、0または任意の正の整数である。また、フィールドpadding_wordは、任意の値を用いることができる。
フィールドExtensionData_start_addressに続くデータ長が224ビットの領域は、将来の使用のために予約されている領域である。この領域の次に、このファイル"MovieObject.bdmv"の本体であるブロックMovieObjects()が格納される。
図10は、ブロックMovieObjects()の一例の構造を表すシンタクスを示す。フィールドlengthは、32ビットのデータ長を有し、このフィールドlengthの直後からこのブロックMovieObject()の終わりまでのデータ長を示す。32ビットのデータ長を有する予約領域を介してフィールドnumber_of_mobjsが配される。フィールドnumber_of_mobjsは、直後のforループ文に従い格納されるムービーオブジェクトの数を示す。forループ文のループ変数として用いられる値mobj_idで、ムービーオブジェクトが一意に特定される。値mobj_idは、0から始まる値で、ムービーオブジェクトは、forループ文中に記述される順序により定義される。
forループ文中のブロックTerminalInfo()は、それぞれ1ビットのデータ長を有するフィールドにより、固定値"1"、固定値"0"および固定値"0"が格納され、データ長が13ビットの予約領域を介してフィールドnumber_of_navigation_commands[mobj_id]が配される。このフィールドnumber_of_navigation_commands[mobj_id]は、値mobj_idによって指し示されるムービーオブジェクトMovieObject[mobj_id]()に含まれるナビゲーションコマンド(navigation_command)の数を表す。
次の、値command_idをループ変数とするforループ文により、フィールドnumber_of_navigation_commands[mobj_id]に示される数だけ、ナビゲーションコマンドが記述される。すなわち、このforループ文中に配されるフィールドnavigation_command[mobj_id][command_id]は、値mobj_idによって指し示されるブロックMovieObject[mobj_id]()に含まれる、値command_idで示される順番のナビゲーションコマンドnavigation_commandを格納する。値command_idは、0から始まる値で、ナビゲーションコマンドnavigation_commandは、このforループ文中に記述される順序で定義される。
次に、BD−ROM規格を記録可能な記録媒体に適用できるように拡張した際に定義される、ブロックExtensionData()について説明する。このブロックExtensionData()は、インデックステーブルが格納されるファイル"index.bdmv"、プレイリストが格納されるファイル"xxxxx.mpls"およびクリップインフォメーションファイル"zzzzz.clpi"の各ファイルに記述することができる。この発明の実施の一形態では、ファイル"index.bdmv"のブロックExtensionData()が用いられる。
図11は、ブロックExtensionData()の一例の構造を表すシンタクスを示す。フィールドlengthは、32ビットのデータ長を有し、このフィールドlengthの直後からブロックExtensionData()の終わりまでのデータ長をバイト数で示す。このフィールドlengthの示すデータ長が"0"でなければ、if文以下の記述がなされる。
フィールドdata_block_start_addressは、32ビットのデータ長を有し、このシンタクス中の、拡張データext_dataの本体が格納されるブロックdata_block()の開始アドレスを、このブロックExtensionData()の先頭バイトからの相対バイト数で示す。すなわち、相対バイト数は、"0"から開始される。なお、フィールドdata_block_start_addressは、次に示す32ビットアライメントの条件を満たさなければならない。
data_block_start_address%4=0
フィールドnumber_of_ext_data_entriesは、8ビットのデータ長を有し、このブロックExtensionData()のブロックdata_block()に格納される拡張データのエントリ数を示す。拡張データのエントリは、拡張データの本体を取得するための情報が格納される。より具体的には、拡張データのエントリは、例えばフィールドID1、フィールドID2、フィールドext_data_start_addressおよびフィールドext_data_lengthからなるブロックext_data_entry()であって、ブロックExtensionData()において、このフィールドnumber_of_ext_data_entriesに示される個数だけ、このブロックext_data_entry()が存在する。
フィールドID1は、16ビットのデータ長を有し、このブロックExtensionData()に記述される拡張データが記録装置用の拡張データであることを表す。このフィールドID1の値は、拡張データを識別する第1の値であり、このブロックExtensionData()を含む規格書のライセンサ(使用認可者)が割り当てると定義することができる。フィールドID2は、拡張データを識別する第2の値であり、この拡張データのバージョン番号を表すものと定義することができる。なお、このブロックExtensionData()において、フィールドID1およびフィールドID2の値が同一のブロックext_data_entry()が2以上、存在してはならない。
フィールドext_data_start_addressは、32ビットのデータ長を有し、このフィールドext_data_start_addressが含まれる拡張データのエントリ(ブロックext_data_entry())に対応する拡張データext_dataの開始アドレスを示す。フィールドext_data_start_addressは、ブロックExtensionData()の先頭バイトからの相対バイト数で、拡張データext_dataの開始アドレスを示す。なお、フィールドext_data_start_addressは、次に示す32ビットアライメントの条件を満たさなければならない。
ext_data_start_address%4=0
フィールドext_data_lengthは、32ビットのデータ長を有し、このフィールドext_data_start_addressが含まれる拡張データのエントリ(ブロックext_data_entries())に対応する拡張データext_dataのデータ長を示す。データ長は、バイト数で示される。
フィールドnumber_of_ext_data_entriesで示された個数だけ、拡張データのエントリ(ブロックext_data_entry())が記述されると、それぞれ16ビットのデータ長を有し任意のデータ列からなるフィールドpadding_wordが、2フィールドを組として任意の回数L1だけ繰り返される。その後、拡張データの本体が格納されるブロックdata_block()が記述される。ブロックdata_block()は、1以上の拡張データext_dataが格納される。それぞれの拡張データext_dataは、上述したフィールドext_data_start_addressフィールドext_data_lengthに基づき、ブロックdata_block()から取り出される。
図12は、ブロックExtensionData()における各データの参照関係を模式的に示す。フィールドlengthにより、フィールドlength直後の位置からブロックExtensionData()の最後までのデータ長が示される。フィールドdata_block_start_addressにより、ブロックdata_block()の開始位置が示される。フィールドnumber_of_ext_data_entriesで示される個数だけ、ブロックext_data_entryが記述される。最後のブロックext_data_entryからブロックdata_block()の間には、任意の長さでフィールドpadding_wordが置かれる。
ブロックdata_block()内には、ブロックext_data_entry()で示される拡張データext_dataが置かれる。それぞれの拡張データext_dataの位置およびデータ長は、対応するブロックext_data_entry()内のフィールドext_data_start_addressおよびフィールドext_data_lengthにより示される。したがって、ブロックdata_block()内での拡張データext_dataの並び順は、対応するブロックext_data_entry()の並び順と一致していなくてもよい。
このように、拡張データを、拡張データの本体が格納されるブロックdata_block()と、ブロックdata_block()内の拡張データに対するアクセス情報などが格納されるブロックext_data_entry()とによる2層構造とすることで、複数の拡張データを格納することが可能となる。
次に、この発明の実施の一形態による拡張データの一例の作成方法および読み出し方法について説明する。図13は、ブロックExtensionData()にデータを書き込む際の一例の処理を示すフローチャートである。この図13は、ブロックExtensionData()中の(n+1)番目のエントリとして、拡張データを追加し、ブロックExtensionData()を書き換える場合の例である。
先ず、ステップS10で、書き込もうとしている拡張データのデータ長を取得し、フィールドext_data_length[n+1]の値にセットする。なお、「[n+1]」の記述は、(n+1)番目のエントリの番号に対応する。次に、ステップS11で、現在のブロックExtensionData()に列挙されているブロックext_data_entry()のフィールドext_data_lengthおよびフィールドext_data_start_addressの値を調べ、ブロックdata_block()の使用状況を取得する。
そして、次のステップS12で、ブロックdata_block()中に、書き込もうとしている拡張データのデータ長であるフィールドext_data_length[n+1]に示されるデータ長以上の、連続した空き領域があるか否かが判断される。若し、あると判断されれば、処理はステップS14に移行される。
一方、フィールドext_data_length[n+1]に示されるデータ長以上の連続した空き領域が無いと判断されれば、処理はステップS13に移行され、ブロックExtensionData()におけるフィールドlengthの値を大きくし、フィールドext_data_length[n+1]に示されるデータ長以上の連続した空き領域をブロックdata_block()内に作る。空き領域ができたら、処理がステップS14に移行される。
ステップS14では、拡張データを書き込む領域の先頭アドレスを決め、その先頭アドレスの値をフィールドext_data_start_address[n+1]とする。次のステップS15で、フィールドext_data_start_address[n+1]から、上述のステップS10でセットされたフィールドext_data_length[n+1]の長さの拡張データext_data[n+1]を書き込む。
データの書き込みが終了したら、ステップS16で、ブロックext_data_entry()に対して、フィールドext_data_length[n+1]と、フィールドext_data_start_address[n+1]とを追加する。
なお、上述において、書き換えを行うブロックExtensionData()は、すでにディスクなどの記録媒体から読み出されて記録装置のメモリに記憶されているものとする。そのため、ステップS13における、フィールドlengthの値の変更によるブロックExtensionData()の拡大は、システムに任され、システムがメモリアロケーションを適切に行うことでなされる。
図14は、ブロックExtensionData()から拡張データを読み出す際の一例の処理を示すフローチャートである。なお、この図14のフローチャートによる処理は、再生専用の記録媒体(例えばBD−ROM)と、記録可能な記録媒体(例えばBD−RE)との両方に適用可能なものである。
先ず、最初のステップS20で、読み込もうとする拡張データが準拠する規格から、フィールドID1の値を取得し、ステップS21で、読み込もうとする拡張データの種別から、フィールドID2の値を取得する。
次のステップS22で、ブロックExtensionData()に列挙されているブロックext_data_entry()を1つずつ順次、読み込む。そして、ステップS23で、読み込んだブロックext_data_entry()に含まれるフィールドID1およびフィールドID2の値が、上述のステップS20およびステップS21で取得したフィールドID1およびフィールドID2の値と一致するか否かが判断される。
一致していないと判断されれば、処理はステップS26に移行され、ブロックExtensionData()内に列挙されるブロックext_data_entry()を全て読み終えたか否かが判断される。全て読み終えたと判断されれば、処理はステップS27に移行され、このブロックExtensionData()には、読み込もうとした拡張データが存在しないとして、一連の処理が終了される。全て読み終えていないと判断されれば、処理はステップS22に戻され、次のブロックext_data_entry()が読み込まれる。
上述のステップS23において、ブロックext_data_entry()に含まれるフィールドID1およびフィールドID2の値が、取得したフィールドID1およびフィールドID2の値と一致していると判断されれば、処理はステップS24に移行される。ここでは、ブロックExtensionData()中の[i]番目のエントリで一致したものとする。
ステップS24では、[i]番目のエントリのブロックext_data_entry()からフィールドext_data_length[i]の値と、フィールドext_data_start_address[i]の値とを読み込む。そして、ステップS25で、ステップS24で読み込んだフィールドext_data_start_address[i]で示されるアドレスから、フィールドext_data_length[i]で示されるデータ長だけ、データを読み出す。
次に、この発明の実施の一形態について説明する。この発明の実施の一形態では、プレイリストに対して、当該プレイリストの種類を示す属性を付与する。それと共に、この実施の一形態では、タイトルの追加や削除などの編集を行った場合には、メニュー画面を表示するためのデータを全て削除し、プレイリストの情報に基づき新規にメニュー画面を構成するようにしている。さらに、メニューの構成において、タイトルとプレイリストとの対応関係に制限を設ける。こうすることで、タイトルの追加や削除を行った場合にも、矛盾のないメニュー画面を構成することができる。
先ず、プレイリストの属性について説明する。この実施の一形態では、プレイリストを、その生成される目的に基づき以下に説明する第1、第2および第3の種類の3種類のプレイリストに大別する。
第1の種類のプレイリストは、例えばクリップの生成と共に生成され、ディスクに記録される。この第1の種類のプレイリストに対して、属性「Real」を付与する。この属性「Real」を付与されたプレイリストを、以下適宜、リアルプレイリストと呼ぶ。素材を指す最初のプレイリストとなることから、オリジナルのプレイリストとも呼ばれる。一例として、リアルプレイリストは、生成されたクリップの先頭をIN点、最後尾をOUT点としてそれぞれ指定する。
リアルプレイリストは、ストリーム実体であるクリップを参照したプレイリストであって、新規にクリップが作成されると、作成されたクリップを参照するリアルプレイリストが必ず作成される。換言すれば、ディスク上において、どのリアルプレイリストからも参照されていないクリップは存在しない。したがって、ディスク上におけるリアルプレイリストの総再生時間は、当該ディスク上に記録されたクリップの総再生時間に一致することになる。すなわち、ディスク上における記録可能な残り時間は、ユーザから見ると、リアルプレイリストまたはリアルプレイリストのみから構成されるタイトルの記録可能時間に一致する。
リアルプレイリストは、素材であるクリップと常に1対1の対応関係を有し、リアルプレイリストを編集などにより削除すると、対応するクリップも、ディスク上から削除される。また、リアルプレイリストにおいて、クリップの参照区間の一部を削除すると、削除された部分に応じて、当該リアルプレイリストに対応するクリップの一部も削除される。このように、リアルプレイリストに対する編集は、ディスク上に記録されるクリップの実体の改変を伴う編集であるため、実体編集あるいはリアル編集などと呼ばれる。
第2の種類のプレイリストは、既存のタイトルあるいはプレイリストの一部または全部を用いて作成されるプレイリストである。この第2の種類のプレイリストに対して、属性「Virtual」を付与する。この属性「Virtual」が付与されたプレイリストを、以下適宜、バーチャルプレイリストと呼ぶ。バーチャルプレイリストは、既存のクリップに対してIN点およびOUT点を設定し、IN点およびOUT点で定義される区間を参照して作成したプレイリストである。
一例として、バーチャルプレイリストは、上述したリアルプレイリストに対してIN点およびOUT点を指定する。例えば、複数のリアルプレイリストに対し、それぞれIN点およびOUT点を指定すると共に、それぞれIN点およびOUT点で指定される複数の区間の再生順を指定する。バーチャルプレイリストを元にして、さらにバーチャルプレイリストを作成することもできる。すなわち、1または複数のバーチャルプレイリストに対して、IN点およびOUT点を指定するバーチャルプレイリストを作成することができる。
バーチャルプレイリストは、編集において、例えばサイズの大きなクリップ(ストリーム実体)を変更すること無しに、高速に作成可能である。また、バーチャルプレイリストは、削除する際も、クリップに対する参照関係のみを削除すればよく、クリップ実体に対して変更を加える必要が無い。このように、バーチャルプレイリストの編集は、クリップの実体の改変を伴わない編集であるため、仮想編集あるいはバーチャル編集などと呼ばれる。
第3の種類のプレイリストは、メニューを再生するために用いるプレイリストであり、メニューの作成および更新時に生成される。この第3の種類のプレイリストに対して属性「Menu」を付与する。この属性「Menu」を付与したプレイリストを、以下適宜、メニュープレイリストと呼ぶ。メニュープレイリストは、すなわち、トップメニューを再生するためのムービーオブジェクトから呼び出されるプレイリストである。
このように、この発明の実施の一形態では、プレイリストの種類がその生成される目的に応じて3種類に分類される。また、別の観点から見れば、プレイリストの生成された原因あるいはプレイリストの成因に基づき、プレイリストの種類を分類したとも考えることができる。
この発明の実施の一形態では、メニューの再生に用いるプレイリストに属性「Menu」を付与することで、メニューの再生に用いるプレイリストを容易に識別することができ、メニューの編集を簡単に行えるようになる。また、プレイリストにこれらの属性「Real」および属性「Virtual」を付与することで、例えばあるプレイリストの削除に伴い当該プレイリストから参照されているクリップを削除するか否かを容易に判断することができる。
これらプレイリストの種類は、ファイル"index.bdmv"に埋め込まれる拡張データにおいて、プレイリストの属性情報として定義され、ファイル"index.bdmv"のフィールドExtensionData()内のブロックTableOfPlayLists()に記述される。図15は、このプレイリスト属性を記述するための、ファイル"index.bdmv"内のフィールドExtensionData()におけるブロックdata_block()(図11参照)の一例の構造を表すシンタクスを示す。この図15の例では、ブロックdata_block()がブロックIndexExtensionData()として記述されている。
先ず、上述の図11を参照して、ブロックExtensionData()においてフィールドID1を値"0x1000"、フィールドID2を値"0x0100"とする。これらフィールドID1およびフィールドID2に記述された値は、例えば再生装置側において、予めROM(Read Only Memory)などに記憶されたテーブルが参照されて識別される。ブロックdata_block()内のフィールドext_data_start_addressおよびフィールドext_data_lengthで示される領域に、ブロックIndexExtensionData()が格納される。なお、数値の記述において"0x"は、その数値が16進表記されていることを示す。
ブロックIndexExtensionData()において、フィールドtype_indicatorは、次に続くデータの種類を示す、ISO646に規定された符号化方式で符号化した4文字からなる文字列が記述される。この図15の例では、フィールドtype_indicatorにISO646に既定の方式で符号化された4文字の文字列"IDEX"が記述され、次に続くデータ種類が「IndexExtensionData」であることが示される。
フィールドtype_indicatorに続けて32ビットのデータ長を有する予約領域が配され、その次に、32ビットのデータ長を有するフィールドTableOfPlayLists_start_addressが配される。フィールドTableOfPlayLists_start_addressは、ブロックTableOfPlayLists()の、このブロックIndexExtensionData()先頭を基準とした開始アドレスが示される。
フィールドTableOfPlayLists_start_addressの次に、32ビットのデータ長を有するフィールドMakersPrivateData_start_addressが配されブロックMakersPrivateData()のこのブロックIndexExtensionData()先頭を基準とした開始アドレスが示され、192ビットのデータ長を有する予約領域を介してブロックUIAppInfoHDAVC()が配される。16ビットのデータ長を有するパディングワードpadding_wordを介して、次に、上述したブロックTableOfPlayLists()が配される。さらに続けて、16ビットのデータ長を有するパディングワードpadding_wordを介してブロックMakersPrivateData()が配される。
なお、ブロックUIAppInfoHDAVC()およびブロックMakersPrivateData()は、この発明と関わりが薄いので、説明を省略する。
図16は、上述したブロックTableOfPlayLists()の一例の構造を表すシンタクスを示す。フィールドlengthは、32ビットのデータ長を有し、このフィールドlengthの直後からブロックTableOfPlayLists()の最後のバイトまでのデータ長をバイト数で示す。フィールドnumber_of_PlayListsは、16ビットのデータ長を有し、プレイリストの数を示す。すなわち、フィールドnumber_of_PlayListsにより、ディスク上に存在するプレイリストの総数が示される。
次のforループ文に従い、フィールドnumber_of_PlayListsで示される数だけ、フィールドPlayList_file_name、フィールドPlayList_attributeおよびフィールドtitle_id_refがそれぞれ記述される。すなわち、このforループ文で示される1回分のループが1のプレイリストに対応し、当該プレイリストのファイル名、当該プレイリストに付与された属性、ならびに、当該プレイリストの参照タイトルIDからなるプレイリストの情報が記述される。
このforループ文による並び順は、記録順とされる。すなわち、1のプレイリストが追加されると、フィールドnumber_of_PlayListsの値が1だけインクリメントされ、既存のプレイリストの情報の後ろに、追加されたプレイリストの情報が追記される。すなわち、このforループ文に基づき記述されるプレイリストの情報は、属性「Real」、属性「Virtua」および属性「Menu」の各属性が混在した状態で並べられることになる。
このようにプレイリストの情報の並び順を決めることで、最後に記録または作成したプレイリストの番号を容易に知ることができる。また、フィールドPlayList_attributeの情報と併用することで、最後に記録された、すなわち、記録された日時が最も新しいリアルプレイリストを知ることができる。この最新のリアルプレイリストの情報は、既存のプレイリストに対して追加して記録を行う際に有効とされる。
なお、このforループ文で定義されるループ内のそれぞれ6ビット、16ビットのデータ長を有するフィールドreserved_for_future_useは、将来の使用のために予約されている領域である。
フィールドPlayList_file_nameは、プレイリストのファイル名がISO646に規定された符号化方式で符号化されて記述される。フィールドPlayList_attributeは、この発明の実施の一形態に関わるもので、当該プレイリストに付与された属性を示す。
フィールドtitle_id_refは、同一ループ内のフィールドPlayList_file_nameに示されるプレイリストが属するタイトルのID(番号)が記述される。当該プレイリストがタイトルとして再生されず、ファーストプレイバックのみから再生される場合、フィールドtitle_id_refの値は、"0xFFFF"とされる。また、当該プレイリストがタイトルとして再生されず、トップメニューから再生される場合は、フィールドtitle_id_refの値は、"0xFFFE"とされる。
プレイリストの属性について、より詳細に説明する。図17は、プレイリストのそれぞれ属性について、一例の意味を示す。上述したように、この発明の実施の一形態では、プレイリストの生成される目的に基づき、プレイリストに対して属性「Real」、属性「Virtual」および属性「Menu」の何れかを付与し、フィールドPlayList_attributeは、値"1"で属性「Real」を、値"2"で属性「Virtual」を、値"3"で属性「Menu」をそれぞれ示す。
図17の例では、それぞれの属性に対して、(1)用途、(2)タイトル構成、(3)IG(インタラクティブグラフィクス)、(4)プレイアイテムが参照するクリップのアプリケーションタイプ(Application_type)、(5)プレイアイテムに参照されるクリップについて、1のプレイリスト内で混在が許可されるか否か、(6)サブパス(SubPath)が許可されるか否か、(7)サブプレイアイテム(SubPlayItem)が参照するクリップのアプリケーションタイプ、(8)互換性の項目について、定義がなされている。なお、(8)の、互換性は、プレイリストを、当該プレイリストを記録した記録装置以外の他機で編集する場合の処理に関する。
フィールドPlayList_attributeが値"1"とされ当該プレイリストが属性「Real」のリアルプレイリストである場合について説明する。この場合、用途は、当該プレイリストが実記録に伴い生成されたものであって、動画撮影や記録用であるとされている。また、リアルプレイリストでは、静止画も動画として記録される。タイトル構成では、リアルプレイリストは、ムービータイトルとして構成されるものとされている。すなわち、リアルプレイリストは、ムービーオブジェクトから呼び出される。また、インタラクティブグラフィクスの使用は、リアルプレイリストでは禁止される。
さらに、(4)の、プレイアイテムが参照するクリップのアプリケーションタイプによれば、リアルプレイリスト内のプレイアイテムが参照するクリップは、動画に限られる。また、リアルプレイリスト内において、動画を参照する以外のプレイアイテムを混在させることができない。サブパスの使用は、リアルプレイリストでは禁止され、(5)の、プレイアイテムに参照されるクリップについて、1のプレイリスト内で混在が許可されるか否か、サブプレイアイテムに関する項目は、定義されない。また、(8)の互換性によれば、リアルプレイリストは、他機での編集時には削除されない。
フィールドPlayList_attributeが値"2"とされ当該プレイリストが属性「Virtual」のバーチャルプレイリストである場合について説明する。この場合、用途は、当該プレイリストが非破壊編集時に生成されたものであるとされる。また、バーチャルプレイリストでは、ムービータイトルとして構成されるものとされている。インタラクティブグラフィクスの使用は、許可される。この場合、インタラクティブグラフィクスの使用は、クリップAVストリームに多重化された形態と、多重化されていない形態の何れであっても許可される。
(4)の、プレイアイテムが参照するクリップのアプリケーションタイプによれば、バーチャルプレイリスト内のプレイアイテムが参照するクリップは、動画またはスライドショートされる。また、バーチャルプレイリスト内において、動画を参照するプレイアイテムと、スライドショーを参照するプレイアイテムとを混在させることができる。サブパスは、バーチャルプレイリストにおいては、所定のタイプのものを使用することができ、サブプレイアイテムが参照するクリップは、非多重のインタラクティブグラフィクスとされる。
また、互換性については、リアルプレイリストは、他機での編集時には削除されない。例えば、バーチャルプレイリストは、他機で編集を行う度に追加される。サブパスは、他機では再生されない可能性がある。
フィールドPlayList_attributeが値"3"とされ当該プレイリストが属性「Menu」のメニュープレイリストである場合について説明する。この場合、用途は、当該プレイリストがメニューを表示するためのものであるとされる。メニュープレイリストは、ファーストプレイバックおよびトップメニューから呼び出される場合以外でも、使用することができる。また、メニュープレイリストは、ムービータイトルまたはインタラクティブタイトルとして構成することができる。インタラクティブグラフィクスの使用は、クリップAVストリームに多重化された形態と、多重化されていない形態の何れであっても許可される。
(4)の、プレイアイテムが参照するクリップのアプリケーションタイプによれば、メニュープレイリスト内のプレイアイテムが参照するクリップは、動画、スライドショーまたはブラウザブルスライドショーのメインパスとされる。また、メニュープレイリスト内において、動画を参照するプレイアイテムと、スライドショーを参照するプレイアイテムとを混在させることができる。サブパスは、バーチャルプレイリストにおいては、所定の2種類のタイプのものを使用することができ、サブプレイアイテムが参照するクリップは、非多重のインタラクティブグラフィクス、若しくは、ブラウザブルスライドショー用のBGM(Back Ground Music)とされる。
また、互換性については、メニュープレイリストは、他機での編集時において削除される可能性がある。
なお、プレイリストに付与されるこれらの属性は、変更が可能である。すなわち、既存のプレイリストに対して編集を行った結果の状態がそれぞれの属性の特性を満たしていれば、編集操作により属性を変更することが可能である。例えば、あるリアルプレイリストに対して所望の部分だけをバーチャルプレイリストで参照し、当該バーチャルプレイリストで参照しているクリップの部分だけを残してリアルプレイリストを削除する。その後、当該バーチャルプレイリストの属性をリアルプレイリストに変更することができる。このような操作で、所望の部分だけが残ったリアルプレイリストを作成することが可能である。
次に、この発明の実施の一形態によるメニューの一例の編集および作成方法について説明する。この発明の実施の一形態では、BD−ROM規格に対して次のような制約を設けることで、BD−ROM規格を記録可能な記録媒体に拡張した場合のメニュー更新を可能とする。
タイトル、ムービーオブジェクトおよびプレイリストの関係に関して、以下の通り制約を設ける。なお、ここでいう「タイトル」は、トップメニューにおいて選択され再生されるタイトルであるものとする。
(A)トップメニュー用のプレイリストと、通常のタイトルを再生するためのプレイリストとは、互いに独立とする。
(B)各タイトルは、ムービータイトルであること。すなわち、各タイトルは、インタラクティブタイトルであってはいけない。
(C)各タイトルは、1つのムービーオブジェクトを介して1つのプレイリストから構成する。
また、タイトルおよびプレイリストの並び順に関して、下記の通り制約を設ける。
(D)ブロックTableOfPlayLists()におけるプレイリストの並び順は、記録順とする。
(E)各タイトルから再生されるプレイリストは、ファイル"index.bdmv"内のブロックIndexes()におけるタイトルの並びと、ファーストプレイバックおよびトップメニューを構成するプレイリストを除いた残りのプレイリストの、ブロックTableOfPlayLists()における並びとを対応させて決める。
この発明の実施の一形態では、上述した項目(A)、(B)および(C)による、タイトル、ムービーオブジェクトおよびプレイリストの関係に関する制約に基づき、メニューの構成を行う。図18を用いて、より具体的に説明する。この図18の例では、ディスク上には既に6個のタイトル#1〜#6が記録されているものとする。各タイトルは、図8を用いて既に説明したように、ファイル"index.bdmv"内のブロックIndexes()において、ループ変数として用いられる値title_idで識別されるフィールドTitle[title_id]として登録され、フィールドTitle_mobj_id_ref[title_id]によりムービーオブジェクトを参照する。なお、タイトル番号は、値title_idに1を加えた値として定義されるものとする。ムービーオブジェクトは、ファイル"MovieObject.bdmv"内に値title_idの順に格納され、再生するプレイリストの情報が記述される。
プレイリストは、例えばプレイリストが生成された順に連番でファイル名が"00001.mpls"、"00002.mpls"、"00003.mpls"、"00004.mpls"、"00005.mpls"および"00006.mpls"のように付され、ディレクトリ"PLAYLIST"の下に格納される。
この発明の実施の一形態においては、上述した項目(B)の、「各タイトルはムービータイトルであること」の制約に従い、各タイトルは、それぞれ一つのムービーオブジェクトを呼び出す。また、上述の項目(C)の「各タイトルは、1つのムービーオブジェクトを介して1つのプレイリストから構成する」の制約に従い、各ムービーオブジェクトは、それぞれ一つのプレイリストを参照する。すなわち、タイトル、ムービーオブジェクトおよびプレイリストは、互いに1対1の関係とされる。
図18の例では、値title_idが1で、タイトル番号#2のタイトルは、値title_idが対応するムービーオブジェクト#1のみを参照し、ムービーオブジェクト#1は、ファイル名"00002.mpls"のプレイリストのみを参照する。この例では、ファイル名"00002.mpls"のプレイリストは、属性「Virtual」が付与されたバーチャルプレイリストである。また、タイトル番号#3のタイトルは、値title_idが対応するムービーオブジェクト#2のみを参照し、この例では、ムービーオブジェクト#2は、ファイル名"00003.mpls"のプレイリストのみを参照する。このファイル名"00003.mpls"のプレイリストは、属性「Real」が付与されたリアルプレイリストであり、クリップに対して1対1の対応関係がある。
ディスク上に記録されているタイトルの再生を指示するためのメニュー画面は、インデックステーブル内のファーストプレイバックおよびトップメニューに基づき再生される。ファイル"index.bdmv"内のブロックIndexes()におけるブロックFirstPlayback()のフィールドFirstPlayback_mobj_id_refと、ブロックTopMenu()のフィールドTopMenu_mobj_id_refとに、メニュー画面を再生するために参照するムービーオブジェクトが記述される。この図18の例では、これらフィールドFirstPlayback_mobj_id_refおよびフィールドTopMenu_mobj_id_refは、共に同一のムービーオブジェクト#6を参照するようにされている。
なお、詳細は後述するが、メニュー画面を再生するための構成は、タイトルの記録の後に、記録されたタイトルに基づき生成される。そのため、メニュー画面を再生するために参照するムービーオブジェクトは、タイトルの記録に伴い、ファイル"MovieObject.bdmv"のブロックMovieObject()において、最後に生成されたムービーオブジェクトの次に記述される。
ムービーオブジェクト#6は、メニュー画面を実際に再生するための、属性「Menu」を付与されたメニュープレイリストを参照する。この図18の例では、ムービーオブジェクト#6は、それぞれ属性「Menu」を付与された、ファイル名"01000.mpls"およびファイル名"01001.mpls"のプレイリストを参照している。
メニュー画面を再生するためのプレイリストに属性「Menu」を付与し、ファーストプレイバックおよびトップメニューから参照されるムービーオブジェクトは、属性「Menu」を付与されたメニュープレイリストのみを参照するようにし、また、ファーストプレイバックおよびトップメニューから参照されるムービーオブジェクトは、トップメニューから呼び出される各タイトルの参照および当該各タイトルから参照されるムービーオブジェクトの参照も行わないようにする。このように規定することで、上述した項目(A)の、「トップメニュー用のプレイリストと、通常のタイトルを再生するためのプレイリストとは、互いに独立とする」旨の制約を実現することができる。
さらに、メニュープレイリストから参照されるクリップと、トップメニューから呼び出される各タイトルに対応するプレイリストから参照されるクリップとは、互いに独立とする。
上述したように、この発明の実施の一形態においては、タイトルの追加や削除を行う際に、インデックステーブルのファーストプレイバックおよびトップメニューと、当該ファーストプレイバックおよびトップメニューから呼び出されるムービーオブジェクトと、当該ムービーオブジェクトから再生されるプレイリストとを削除する。そして、インデックステーブルにおいて残ったタイトル情報に基づき、ファーストプレイバックおよびトップメニューと、当該ファーストプレイバックおよびトップメニューから呼び出されるムービーオブジェクトと、当該ムービーオブジェクトから再生されるプレイリストとを新規に作成する。
背景技術の項で図28を用いて既に説明したように、再生専用の記録媒体のためのBD−ROM規格では、複数の異なるタイトルが同一のムービーオブジェクトを参照することや、複数の異なるムービーオブジェクトが同一のプレイリストを参照することなどが可能とされている。さらに、BD−ROM規格では、複数の異なるプレイリストが同一のクリップを参照することも可能とされている。このようなBD−ROM規格におけるタイトル、ムービーオブジェクト、プレイリストおよびクリップの参照関係は、記録機にとっては冗長な関係と考えられるものも含まれており、この冗長な関係を編集の前後で維持することは、記録機にとって管理の負担が大きくなるおそれがある。
そこで、この発明の実施の一形態では、各タイトルが単一のプレイリストから参照されるように制約する。また、この発明の実施の一形態では、トップメニューから参照されるプレイリストと、タイトルから参照されるプレイリストとの共有を禁止する。トップメニューから参照されるプレイリストと、タイトルから参照されるプレイリストとを互いに独立とすることで、トップメニューから参照されるプレイリストの削除を容易としている。
図19〜図24を用いて、この発明の実施の一形態によるメニューの編集処理について、より具体的に説明する。ここでは、既に幾つかのクリップが記録され複数のタイトルが形成されたディスクに対して、クリップを追加して記録した際の処理について説明する。図19は、クリップを追加して記録する直前の一例のメニュー画面100と、当該メニュー画面100に関わるタイトル、ムービーオブジェクトおよびプレイリストの構成例を示す。なお、図19において、タイトル、ムービーオブジェクトおよびプレイリストの構成は、メニュー画面100を再生するムービーオブジェクト#6が単一のプレイリストを参照している以外は上述の図18と同一であるので、詳細な説明を省略する。
図19において、ファーストプレイバックおよびトップメニューからムービーオブジェクト#6を介して参照されるプレイリストにより、メニュー画面100が表示される。この図19の例では、メニュー画面100に対して、6個のタイトルそれぞれの再生を指示するためのボタン101A〜101Fが所定のボタン画像データを用いて表示されると共に、このメニュー画面100の題名102が表示される。例えば、ボタン101Aを所定の方法で指示することで、値title_idが0、タイトル番号#1のタイトルが指定され、ムービーオブジェクト#0が参照され、このムービーオブジェクト#0に記述されるナビゲーションコマンドにより、ファイル名"00001.mpls"のプレイリストが参照されると共に当該プレイリストの再生が命令され、当該プレイリストに対応するクリップが再生される。
図20は、上述の図19の状態に対してクリップを追加して記録した際の、メニュー画面の一例の作成処理を示すフローチャートである。フローチャートに基づき、新たなクリップの記録が開始されるところから説明を行う。なお、このフローチャートの説明においては、新たなクリップがn番目のタイトルとしてディスクに記録されるものとする。例えばこの発明の実施の一形態が適用可能なビデオカメラにより、撮影が開始され、それに伴い、撮影された映像に基づく新たなクリップ(クリップ#nとする)が生成される。生成されたクリップ#nは、ディスクに記録される(ステップS50)。
クリップが記録媒体に記録されると、次のステップS51で、当該クリップ#nを参照するプレイリスト#nが生成され当該プレイリストの属性が「Real」とされる。プレイリストは、属性により当該プレイリストがトップメニューに用いられるものか、タイトルに用いられるものかが判別できる。生成されたプレイリストファイルのファイル名は、ディスク上に既に存在するプレイリストファイルのうち属性が「Menu」とされたプレイリストを除いたプレイリストのファイル名と重複しないように決められ、例えば"00007.mpls"とされる。
プレイリスト#nの生成に伴い、インデックスファイル"index.bdmv"における拡張データブロックExtensionData()内のブロックTableOfPlayLists()を更新する。すなわち、ブロックTableOfPlayLists()において、フィールドnumber_of_PlayListsの値を、生成されたプレイリストの数だけ増加させ、生成されたプレイリスト毎に、フィールドPlayList_file_name、フィールドPlayList_attributeおよびフィールドtitle_id_refの情報がそれぞれ記述される。そして、フィールドlengthの値が追加された内容に基づき更新される。
より具体的には、フィールドnumber_of_PlayListsの値が1だけ増加され、生成されたファイル名が"00007.mpls"であるプレイリストについて、当該ファイル名がフィールドPlayList_file_nameとして記述されると共に、当該プレイリストの属性が「Real」とされ、属性「Real」を示す値がフィールドPlayList_attributeとして記述される。フィールドtitle_id_refは、プレイリストの属性が「Real」または「Virtual」の場合には、プレイリストの生成時に属しているタイトルの値title_idが記述される。
さらに、次のステップS52で、当該プレイリスト#nの再生を指示するムービーオブジェクト#nが生成される。このムービーオブジェクト#nは、インデックスファイル"index.bdmv"中のブロックIndexes()に対し、値が"n"のフィールドTitle_mobj_id_ref[n]として登録され、n番目のタイトル#nとされる(ステップS53)。このステップS53までの処理で、タイトル#nのディスクへの記録が完了される。
図21は、上述の図19に示される構成に対して、ステップS53までの処理によりタイトル#nが追加された場合の一例の構成を示す。なお、図21において、追加された部分は斜線を付して示す。この図21の例では、タイトル#nは、既に記録されている6個のタイトルに対して追加されるので、値title_idが6、タイトル番号#7とされる。追加されたタイトル#7が参照するムービーオブジェクトは、既存のムービーオブジェクト#6の次に、ムービーオブジェクト#7として作成される。また、追加されるファイル名"00007.mpls"のプレイリストは、クリップの記録に伴い当該クリップに対して最初に生成されるプレイリストなので、属性が「Real」とされる。
ステップS55以降は、タイトルの追加に応じたメニュー画面100の作成処理である。ステップS56で、インデックスファイル"index.bdmv"内のブロックIndexes()が参照され、タイトルを構成するムービーオブジェクト以外のムービーオブジェクトが削除される。すなわち、ファーストプレイバックおよびトップメニューから参照されるムービーオブジェクトが削除される。図8の例でいえば、ブロックIndexes()内において、ブロックFirstPlayback()内のフィールドFirstPlayback_mojb_id_refで参照されるムービーオブジェクトと、ブロックTopMenu()内のフィールドTopMenu_mobj_id_refで参照されるムービーオブジェクトが、ファイル"MovieObject.bdmv"から削除される。
次に、ステップS57で、プレイリストの属性が参照され、タイトルを構成するプレイリスト以外のプレイリストが削除される。すなわち、図7、図15および図16を参照し、インデックスファイル"index.bdmv"内のエクステンションデータ(ブロックExtensionData():図7)から、フィールドTableOfPlayLists_start_addressに基づきブロックTableOfPlayLists()(図15)が参照され、ブロックTableOfPlayLists()においてプレイリスト毎のフィールドPlayList_attributeが参照される。このフィールドPlayList_attributeの情報に基づき、属性が「Real」および「Virtual」以外、すなわち、属性が「Menu」であるプレイリストファイル名が検索される。検索されたプレイリストのファイル名に従い、ディレクトリ"PLAYLIST"に格納されるプレイリストが削除される。
図22は、ステップS56およびステップS57の処理により、ムービーオブジェクトおよびプレイリストが削除される様子を模式的に示す。なお、図22において、削除される部分は斜線を付して示す。インデックステーブルにおいてファーストプレイバックおよびトップメニューから参照されるムービーオブジェクト#6が削除される(ステップS56)。また、ムービーオブジェクト#6は、属性「Menu」が付与されたプレイリストを参照している。ステップS57により、属性が「Menu」であるプレイリストファイル名が検索され、削除が行われることで、ムービーオブジェクト#6から参照されるプレイリストが削除されることになる。
図23は、これら、メニュー画面を再生するためのプレイリストと、当該プレイリストを参照するムービーオブジェクトとが削除された様子を模式的に示す。削除処理直前のムービーオブジェクト#7は、ムービーオブジェクトの削除後に値title_idが変更され、ムービーオブジェクト#6とされている。この削除後のムービーオブジェクト#6の実体は、削除前のムービーオブジェクト#7と同一であって、番号だけが変更されたものである。
上述したように、ムービーオブジェクトは、ムービーオブジェクトファイル"MovieObject.bdmv"内のブロックMovieObject()において、forループ文に従いループ変数である値title_idの順番で記述される。したがって、ムービーオブジェクトに対応する値title_idに抜けがあってはならない。そのため、新たにムービーオブジェクト#7が追加されると共に、メニュー画面再生のためのムービーオブジェクト#6が削除されると、追加されたムービーオブジェクト#7が、削除されたムービーオブジェクト#6を削除の直前まで参照していた値title_idで参照されることになる。
また、インデックステーブルにおいても、ファーストプレイバックおよびトップメニューが削除される。
次のステップS58で、トップメニューを表示するためのクリップ、ムービーオブジェクトおよびプレイリストが生成される。この処理は、例えば次のようにしてなされる。先ず、メニュー画面を表示するためのクリップが生成される。このクリップは、例えば所定のプログラムに従い自動的に生成された画像データを用いることができる。これに限らず、ディスク上や記録機においてメニュー画面用の画像データを予め用意しておき、これを用いるようにしてもよい。また、メニュー画面に用いる画像データは、動画像データであっても、静止画像データであってもよい。さらに、タイトルの再生を指示するために用いるボタン画像データを、同様にして生成することができる。タイトルに使用されるクリップに対応するサムネイル画像をさらに用いることもできる。このようにして生成されたデータは、例えば所定に多重化され、クリップAVストリームファイルとしてディスク上に記録される。
次に、このクリップAVストリームファイルに対応するクリップインフォメーションファイルが生成され、さらに、当該クリップインフォメーションファイルを参照するプレイリストが生成される。プレイリストのファイル名は、例えば既存のプレイリストのファイル名および今まで存在していたプレイリストのファイル名と重複しないように決められる。この例では、当該プレイリストのファイル名を、"01002.mpls"とする。
プレイリストが生成されると、当該プレイリストを参照するためのムービーオブジェクトが生成される。このムービーオブジェクトは、上述のステップS56によるムービーオブジェクトの削除処理および当該削除処理に伴い番号が変更されたムービーオブジェクトの次のムービーオブジェクトとされる。
次のステップS59で、上述のステップS58で作成された、トップメニューを再生するためのムービーオブジェクトがインデックスファイル"index.bdmv"内のブロックIndexes()におけるブロックTopMenu()に登録される。すなわち、図8を参照し、当該ムービーオブジェクトを示すデータがブロックTopMenu()内のフィールドTopMenu_mobj_id_refとして記述される。
次のステップS60では、インデックスファイル"index.bdmv"内のブロックIndexes()におけるブロックFirstPlayback()が更新される。すなわち、ブロックFirstPlayback()において、フィールドHDAVC_Title_playback_typeの値が所定の値とされ、上述のステップS58で作成された、トップメニューを再生するためのムービーオブジェクトを示すデータがフィールドFirstPlayback_mobj_id_refとして記述される。
そして、次のステップS61で、インデックスファイル"index.bdmv"における拡張データブロックExtensionData()内のブロックTableOfPlayLists()を更新する。すなわち、このステップS61では、上述のステップS58で生成された、トップメニューを再生するためのプレイリストの情報を、ブロックTableOfPlayLists()に対して記述する。
より具体的には、ブロックTableOfPlayLists()において、フィールドnumber_of_PlayListsの値が1だけ増加され、トップメニューを構成する新規に生成されたプレイリストについて、ファイル名がフィールドPlayList_file_nameとして記述されると共に、当該プレイリストの属性が「Menu」とされ、属性「Menu」を示す値がフィールドPlayList_attributeとして記述される。フィールドtitle_id_refは、プレイリストの属性が「Menu」であって、トップメニューから参照される場合には、値が"0xFFFE"に固定的とされる。そして、フィールドlengthの値が追加された内容に基づき更新される。
図24は、ステップS61の処理後の一例のインデックステーブル、ムービーオブジェクトおよびプレイリストの構成と、メニュー画面110とを示す。ステップS58〜ステップS61の処理により、上述した図23の状態に対して、トップメニューを再生するための構成が追加される。すなわち、インデックステーブルにおいて、ファーストプレイバックおよびトップメニューが追加される。これらファーストプレイバックおよびトップメニューから参照されるムービーオブジェクト#7が追加され、さらに、ムービーオブジェクト#7から参照される、属性「Menu」が付与されたプレイリストが追加される。なお、図24において、追加された部分は斜線を付して示す。
メニュー画面110は、例えば、タイトル追加前の図19に例示したメニュー画面100に対して、新規に作成される。例えば、タイトルが1つ追加されたのに伴い、タイトルの再生を指示するためのボタンが1個、追加される。この図24の例では、ボタン表示するためのボタン画像を新規に生成し、タイトルの再生を指示するためのボタンを新規のボタン画像による新たなボタン111A〜111Gに作り直して用いている。また、このメニュー画面110の題名112も、新規に作成されている。勿論、これに限らず、タイトル追加前のメニュー画面100に用いられていたボタン画像や題名を再び用いるように構成することも可能である。
なお、上述した図20のフローチャートにおけるファイル"index.bdmv"、ファイル"MovieObject.bdmv"などに対する更新処理は、実際には、CPU(Central Processing Unit)のワークメモリ上での処理とされる。例えば、記録機は、ディスクが装填されると、先ず、ディスクからインデックスファイル"index.bdmv"やムービーオブジェクトファイル"MovieObject.bdmv"を読み出し、CPUのワークメモリに記憶する。CPUは、メニューの編集の命令を受けると、このワークメモリ上に記憶されたこれらのファイルに対して上述のようにして処理を行う。更新されたこれらのファイルは、例えばディスクの排出時や、記録機の電源OFF時など所定のタイミングで、ディスクに書き戻される。
次に、この発明の実施の一形態を適用可能な記録再生装置について説明する。先ず、仮想プレーヤについて、概略的に説明する。上述したようなデータ構造を有するディスクがプレーヤに装填されると、プレーヤは、ディスクから読み出されたムービーオブジェクトなどに記述されたコマンドを、プレーヤ内部のハードウェアを制御するための固有のコマンドに変換する必要がある。プレーヤは、このような変換を行うためのソフトウェアを、プレーヤに内蔵されるROM(Read Only Memory)にあらかじめ記憶している。このソフトウェアは、ディスクとプレーヤを仲介してプレーヤにBD−ROMの規格に従った動作をさせることから、BD仮想プレーヤと称される。
図25は、このBD仮想プレーヤの動作を概略的に示す。図25Aは、ディスクのローディング時の動作の例を示す。ディスクがプレーヤに装填されディスクに対するイニシャルアクセスがなされると(ステップS30)、1のディスクにおいて共有的に用いられる共有パラメータが記憶されるレジスタが初期化される(ステップS31)。そして、次のステップS32で、ムービーオブジェクトなどに記述されたプログラムがディスクから読み込まれて実行される。なお、イニシャルアクセスは、ディスク装填時のように、ディスクの再生が初めて行われることをいう。
図25Bは、プレーヤが停止状態からユーザにより例えばプレイキーが押下され再生が指示された場合の動作の例を示す。最初の停止状態(ステップS40)に対して、ユーザにより、例えばリモートコントロールコマンダなどを用いて再生が指示される(UO:User Operation)。再生が指示されると、先ず、レジスタすなわち共通パラメータが初期化され(ステップS41)、次のステップS42で、ムービーオブジェクト実行フェイズに移行する。
ムービーオブジェクトの実行フェイズにおけるプレイリストの再生について、図26を用いて説明する。UOなどにより、タイトル番号#1のコンテンツを再生開始する指示があった場合について考える。プレーヤは、コンテンツの再生開始指示に応じて、上述した図2に示されるインデックステーブル(Index Table)を参照し、タイトル#1のコンテンツ再生に対応するオブジェクトの番号を取得する。例えばタイトル#1のコンテンツ再生を実現するオブジェクトの番号が#1であったとすると、プレーヤは、ムービーオブジェクト#1の実行を開始する。
この図26の例では、ムービーオブジェクト#1に記述されたプログラムは2行からなり、1行目のコマンドが"Play PlayList(1)"であるとすると、プレーヤは、プレイリスト#1の再生を開始する。プレイリスト#1は、1以上のプレイアイテムから構成され、プレイアイテムが順次再生される。プレイリスト#1中のプレイアイテムの再生が終了すると、ムービーオブジェクト#1の実行に戻り、2行目のコマンドが実行される。図26の例では、2行目のコマンドが"jump TopMenu"であって、このコマンドが実行されインデックステーブルに記述されたトップメニュー(Top Menu)を実現するムービーオブジェクトの実行が開始される。
図27は、この発明の実施の一形態に適用可能な記録再生装置の一例の構成を示す。この記録再生装置は、例えばビデオカメラ装置の記録再生部として用いることができる。これに限らず、この記録再生装置は、単体で使用する構成とすることもできる。ここでは、この記録再生装置がビデオカメラ装置の記録再生部として用いられるものとして説明する。
制御部17は、例えばCPU、ROM(Read Only Memory)およびRAM(Random Access Memory)などからなる。ROMは、CPU上で動作されるプログラムや動作のために必要なデータが予め記憶される。RAMは、CPUのワークメモリとして用いられる。CPUは、ROMに記憶されたプログラムやデータを必要に応じて読み出し、RAMをワークメモリに用いながら、この記録再生装置の全体を制御する。上述したBD仮想プレーヤは、例えば予めROMに記憶されたプログラムにより、制御部17により実現される。
この記録再生装置に対して、図示されないビデオカメラ部から出力される、機器特有の情報や記録に関するデータなどが入力出力端子28から入力される。入出力端子28に入力されたこれらのデータは、制御部17に供給される。
各種のスイッチなどの操作子や、簡易的に表示を行う表示素子を有する図示されないユーザインタフェースから出力されたデータがデータ入出力端子28から入力される。また、制御部17で生成された表示制御信号がデータ入力出力端子28を介してユーザインターフェイスに供給される。ユーザインターフェイスは、この表示制御信号をテレビジョン受像器などのモニタ装置に供給し、表示させることもできる。
先ず、記録時の動作について説明する。図示されないビデオカメラ部から、撮像により得られたビデオ信号が入力端30に入力され、このビデオ信号に伴い出力されたオーディオ信号が入力端31に入力される。入力されたビデオ信号およびオーディオ信号は、AVエンコーダ23に供給される。ビデオ信号は、ビデオ解析部24にも供給される。AVエンコーダ23は、入力されたビデオ信号およびオーディオデータを、例えばMPEG2方式で符号化し、符号化ビデオストリームV、符号化オーディオストリームAおよびシステム情報Sをそれぞれ出力する。
AVエンコーダ23は、オーディオ信号を、例えばMPEG1オーディオストリームやドルビーAC3オーディオストリームなどの形式に符号化する。システム情報Sは、符号化ピクチャやオーディオフレームのバイトサイズ、ピクチャの符号化タイプといった、ビデオ信号やオーディオ信号の符号化情報や、ビデオおよびオーディオの同期などに関する時間情報からなる。
AVエンコーダ23のこれらの符号化出力は、マルチプレクサ22に供給される。マルチプレクサ22は、供給された符号化ビデオストリームV、符号化オーディオストリームAを、システム情報Sに基づき多重化し、MPEG2トランスポートストリームによる多重化ストリームを出力する。すなわち、符号化ビデオストリームV、符号化オーディオストリームAおよびシステム情報Sは、それぞれトランスポートパケットのペイロードのサイズに分割され、所定のヘッダを付加されて、トランスポートパケット化される。ヘッダには、それぞれのデータ種類などを識別可能なように、PIDが所定に格納される。
マルチプレクサ22から出力された多重化ストリームは、端子50Aが選択されたスイッチ50を介してソースパケッタイザ21および上述した多重化ストリーム解析部25に供給される。ソースパケッタイザ21は、供給された多重化ストリームを、記録媒体のアプリケーションフォーマットに従って符号化する。
ソースパケッタイザ21で符号化されたクリップAVストリームは、ECC(Error Correction Coding)符号化部20でエラー訂正符号化され、変調部19で記録符号に変調され、書き込み部18に供給される。書き込み部18は、制御部17から供給される制御信号の指示に基づき、変調部19で記録符号に変調されたクリップAVストリームを、記録可能な記録媒体10に対して記録する。
この記録再生装置は、クリップAVストリームが多重化されたトランスポートストリームを直接的に入力して、記録媒体に記録することができるようになっている。例えば、ディジタルインターフェイスまたはディジタルテレビジョンチューナから出力される、ディジタルテレビジョン放送などによるトランスポートストリームが入力端子32に対して入力される。
入力されたトランスポートストリームの記録方法としては、トランスペアレントに記録する方法と、記録ビットレートを下げるなどの目的のために再エンコードして記録する方法とが考えられる。この2通りの記録方法のうち何方を用いて記録を行うかを指示は、例えばユーザのユーザインターフェイスに対する操作によりなされ、この操作に応じた制御信号がデータ入力出力端子28を介して制御部17に供給される。制御部17は、この制御信号に基づきこの記録再生装置の各部を制御し、記録方法の制御を行う。
入力トランスポートストリームをトランスペアレントに記録する場合、スイッチ50において端子50Bが選択されると共に、スイッチ51において端子51Aが選択され、入力端32から入力されたトランスポートストリームは、スイッチ51および50を介してソースパケッタイザ21および多重化ストリーム解析部25にそれぞれ供給される。これ以降の処理は、上述した、入力端30および31に入力されたビデオ信号およびオーディオ信号を符号化して記録する場合と同一である。
一方、入力トランスポートストリームを再エンコードして記録する場合、スイッチ51において端子51Bが選択され、入力端32から入力されたトランスポートストリームは、デマルチプレクサ15に供給される。デマルチプレクサ15は、供給されたトランスポートストリームに多重化されている符号化ビデオストリームV、符号化オーディオストリームAおよびシステム情報Sを分離し、符号化ビデオストリームVをAVデコーダ16に供給すると共に、符号化オーディオストリームAおよびシステム情報Sをマルチプレクサ22に供給する。
AVデコーダ16は、デマルチプレクサ15から供給された符号化ビデオストリームVを復号し、復号されたビデオ信号をAVエンコーダ23に供給する。AVエンコーダ23は、供給されたこのビデオ信号を符号化して符号化ビデオストリームVとする。この符号化ビデオストリームVは、マルチプレクサ22に供給される。
マルチプレクサ22は、AVエンコーダ23で符号化され供給された符号化ビデオストリームVと、デマルチプレクサ15で分離された符号化オーディオストリームAとを、同じくデマルチプレクサ15で分離されたシステム情報Sに基づき多重化して多重化ストリームを出力する。これ以降の処理は、上述した、入力端30および31に入力されたビデオ信号およびオーディオ信号を符号化して記録する場合と同一である。
この記録再生装置は、例えばBD−RE規格に準じた記録媒体10に対して上述のようにしてクリップAVストリームファイルを記録すると共に、記録するクリップAVストリームファイルに関連するアプリケーションデータベース情報をさらに記録する。アプリケーションデータベース情報は、ビデオ解析部24からの動画像の特徴情報と、多重化ストリーム解析部25からのクリップAVストリームの特徴情報と、端子28から入力されるユーザの指示情報とに基づき、制御部17により作成される。
ビデオ解析部24から得られる、動画像の特徴情報は、AVエンコーダ23によりビデオ信号を符号化して記録する場合に、この記録再生装置内において生成される情報である。ビデオ解析部24は、入力端30から入力されたビデオ信号または入力端32から入力されたトランスポートストリームからデマルチプレクサ15で分離されAVデコーダ16で復号されたビデオ信号が供給される。ビデオ解析部24は、供給されたビデオ信号の内容を解析し、入力されたビデオ信号中の特徴的なマーク点の画像に関する情報を生成する。例えば、ビデオ解析部24は、入力ビデオ信号中のプログラムの開始点、シーンチェンジ点や、CM(コマーシャル)放映の開始、終了点などの特徴的なマーク点を検出し、検出されたマーク点の画像の指示情報を得る。また、マーク点の画像のサムネイル画像を生成するようにしてもよい。サムネイル画像は、実際の画像データを間引き処理などにより縮小した画像である。また、サムネイル画像のクリップAVストリーム上の位置は、PTSで示すことができる。
これらの画像の指示情報、サムネイル画像およびサムネイル画像の位置情報(例えばPTS)は、制御部17を介してマルチプレクサ22に供給される。マルチプレクサ22は、制御部17から指示されるマーク点の画像を符号化した符号化ピクチャを多重化する際に、当該符号化ピクチャのクリップAVストリーム上でのアドレス情報を制御部17に返す。制御部17は、特徴的な画像の種類と、対応する符号化ピクチャのクリップAVストリーム上でのアドレス情報とを関連付けて、例えばRAMに記憶する。
多重化ストリーム解析部25から得られる、クリップAVストリームの特徴情報は、記録されるクリップAVストリームの符号化情報に関連する情報であり、この動画像記録再生装置内において生成される。例えば、クリップAVストリームについて、エントリポイントのタイムスタンプと対応するアドレス情報とをクリップAVストリームの特徴情報として含む。この他にも、クリップAVストリームについて、STC(System Time Clock)の不連続情報、プログラム内容の変化情報、アライバルタイムと対応するアドレス情報などが、クリップAVストリームの特徴情報として含まれる。
また、多重化ストリーム解析部25は、入力端32から入力されるトランスポートストリームをトランスペアレントに記録する場合、クリップAVストリーム中の特徴的なマーク点画像を検出し、検出された画像の種類とアドレス情報とを生成する。この情報は、クリップインフォメーションファイル中のブロックClipMarkに格納されるデータとなる。このように、多重化ストリーム解析部25により得られたクリップAVストリームの特徴情報は、クリップAVストリームのデータベースであるクリップインフォメーションファイルに格納されることになる。多重化ストリーム解析部25で得られたこれらの情報は、例えば、制御部17のRAMに一旦記憶される。
図示されないユーザインターフェイスに対してなされたユーザの指示情報は、データ入力出力端子28から制御部17に供給される。この指示情報は、例えば、クリップAVストリーム中でユーザが気に入った再生区間の指定情報、当該再生区間の内容を説明するためのキャラクタ文字、ユーザが気に入ったシーンにセットするブックマーク点やリジューム点のクリップAVストリーム中のタイムスタンプなどが含まれる。これらのユーザの指示情報は、一旦、制御部17のRAMに記憶される。これらの指示情報は、記録媒体10上においては、プレイリストが有するデータベースに格納される。
制御部17は、RAM上に記憶された上述した入力情報、すなわち、ビデオ解析部24から得られる動画像の特徴情報、多重化ストリーム解析部25から得られるクリップAVストリームの特徴情報、ならびに、データ入力出力端子28から入力されたユーザ指示情報に基づき、クリップAVストリームのデータベース(クリップインフォメーション)、プレイリストのデータベース(プレイリストファイル)、記録媒体の記録内容に対する管理情報(インデックスファイル)およびサムネイル情報を作成する。
ここで、制御部17は、インデックスファイルを作成する際に、上述した、データ入出力端子28から入力された、機器特有のデータや記録に関する情報に基づき、インデックスファイル、プレイリストファイルおよび/またはクリップインフォメーションファイルを拡張するための拡張データを作成することができる。すなわち、制御部17は、データ入出力端子28から入力されたデータに基づき、拡張データを、図13のフローチャートを用いて説明したような処理によりファイルに埋め込む。
これらのデータベース情報は、制御部17のRAMから読み出され、クリップAVストリームと同様にして、制御部17からECC符号化部20に供給されエラー訂正符号化され、変調部19で記録符号に変調され、書き込み部18に供給される。書き込み部18は、制御部17から供給される制御信号に基づき、記録符号化されたデータベース情報を記録媒体10に記録する。
なお、この記録再生装置において、クリップAVストリームが新規に記録されると、新規記録されたクリップに対するリアルプレイリストが生成されると共に、図19〜図24を用いて説明した手順により、ファイル"index.bdmv"およびファイル"MovieObject.bdmv"の更新処理がなされ、クリップの新規記録を反映するようにメニューが更新される。これらの処理は、例えばクリップの新規記録に伴い、自動的に行われる。
次に、再生時の動作について説明する。記録媒体10は、記録時の動作で説明したようにして作成された、クリップAVストリームファイルと、プレイリストファイルおよびインデックスファイルからなるアプリケーションデータベース情報と、ムービーオブジェクトファイルとが記録されている。記録媒体10が図示されないドライブ装置に装填されると、先ず、制御部17は、読み出し部11に対して、記録媒体10上に記録されたアプリケーションデータベース情報とムービーオブジェクトファイルとを読み出すように指示する。読み出し部11は、この指示を受けて、記録媒体10からアプリケーションデータベース情報とムービーオブジェクトファイルとを読み出す。読み出し部11の出力は、復調部12に供給する。
復調部12は、読み出し部11の出力を復調し、記録符号を復号してディジタルデータとする。復調部12の出力は、ECC復号部13に供給され、エラー訂正符号が復号されエラー訂正処理が行われる。エラー訂正処理されたアプリケーションデータベース情報は、制御部17に供給される。
制御部17は、アプリケーションデータベース情報とムービーオブジェクトファイルとに基づいて、記録媒体10に記録されているタイトルの一覧を表示するためのメニュー画面を、ユーザインターフェイス入力出力端子28を介してユーザインターフェイスに出力する。このメニュー画面は、例えばユーザインターフェイスに設けられた表示部に所定に表示される。ユーザにより、このメニュー画面に基づき再生したいタイトルが選択され、選択したタイトルを再生するような操作がユーザインターフェイスに対してなされる。この操作に応じた制御信号がユーザインターフェイスから出力され、端子28を介して制御部17に供給される。
制御部17は、この制御信号に応じて、インデックスファイルやムービーオブジェクトファイルの内容に基づき、選択されたタイトルの再生に必要なクリップAVストリームファイルの読み出しを読み出し部11に指示する。読み出し部11は、この指示に従い、記録媒体10からクリップAVストリームファイルを読み出す。読み出し部11の出力は、復調部12に供給される。復調部12は、供給された信号を復調し、記録符号を復号してディジタルデータとして出力し、ECC復号部13に供給する。ECC復号部13は、供給されたディジタルデータのエラー訂正符号を復号し、エラー訂正を行う。エラー訂正されたクリップAVストリームファイルは、制御部17により提供される図示されないファイルシステム部の処理を受け、ソースデパケッタイザ14に供給される。
ソースデパケッタイザ14は、制御部17の制御に基づき、記録媒体10におけるアプリケーションフォーマットで記録されていたクリップAVストリームファイルを、デマルチプレクサ15に入力できる形式のストリームに変換する。例えば、ソースデパケッタイザ14は、記録媒体10から再生されたMPEG2トランスポートストリームをソースパケット単位に分解し、ソースパケットからヘッダを取り除きトランスポートパケット化する。このトランスポートパケット化されたクリップAVストリームを、デマルチプレクサ15に供給する。
デマルチプレクサ15は、制御部17の制御に基づき、ソースデパケッタイザ14から供給されたクリップAVストリームの、制御部17により指定された再生区間(PlayItem)を構成するビデオストリームV、オーディオストリームAおよびシステム情報Sを出力し、AVデコーダ16に供給する。例えば、デマルチプレクサ15は、供給されたトランスポートパケットをPIDに基づき選別し、選別されたそれぞれについて、トランスポートパケットヘッダを取り除いて出力する。AVデコーダ16は、供給されたビデオストリームVおよびオーディオストリームAを復号し、復号された再生ビデオ信号および再生オーディオ信号をビデオ出力端26およびオーディオ出力端27にそれぞれ導出する。
上述では、図27に示す記録再生装置がビデオカメラなどから出力されたビデオデータおよびオーディオデータを記録媒体10に記録するようにした装置であるように説明したが、これはこの例に限られない。例えば、入力されたビデオデータに対して編集処理を行い、編集されたビデオデータを出力するようにした編集装置にこの発明の実施の一形態を適用することもできる。さらに、上述の図27の構成を、再生部側の構成を省略した記録装置とすることもできる。さらにまた、記録媒体10は、BD−RE規格に準じたディスク状記録媒体であるように説明したが、これはこの例に限定されず、この発明の実施の一形態は、半導体メモリ、ハードディスクといった他の記録媒体にも適用可能である。
なお、上述では、図27に示す記録再生装置がハードウェア的に構成されるように説明したが、これはこの例に限定されない。すなわち、記録再生装置は、実際に記録媒体10が装填されるドライブ部などの機構部分以外の部分を、ソフトウェアとして構成することも可能である。この場合、ソフトウェアは、例えば制御部17が有するROMに予め記憶される。これに限らず、動画像記録再生装置を、パーソナルコンピュータなどのコンピュータ装置上に構成することも可能である。この場合には、動画像記録再生装置をコンピュータ装置に実行させるソフトウェアは、CD−ROMやDVD−ROMといった記録媒体に記録されて提供される。コンピュータ装置がネットワーク接続可能な場合、インターネットなどのネットワークを介して当該ソフトウェアを提供することも可能である。
BD−ROMのデータモデルを概略的に示す略線図である。 インデックステーブルを説明するための略線図である。 クリップAVストリーム、クリップ情報、クリップ、プレイアイテムおよびプレイリストの関係を示すUML図である。 複数のプレイリストから同一のクリップを参照する方法を説明するための略線図である。 サブパスについて説明するための略線図である。 記録媒体に記録されるファイルの管理構造を説明するための略線図である。 ファイル"index.bdmv"の一例の構造を表すシンタクスを示す略線図である。 ブロックIndexes()の一例の構造を表すシンタクスを示す略線図である。 ファイル"MovieObject.bdmv"の一例の構造を表すシンタクスを示す略線図である。 ブロックMovieObject()の一例の構造を表すシンタクスを示す略線図である。 ブロックExtensionData()の一例の構造を表すシンタクスを示す略線図である。 ブロックExtensionData()における各データの参照関係を模式的に示す略線図である。 ブロックExtensionData()にデータを書き込む際の一例の処理を示すフローチャートである。 ブロックExtensionData()から拡張データを読み出す際の一例の処理を示すフローチャートである。 ファイル"index.bdmv"内のフィールドExtensionData()におけるブロックdata_block()の一例の構造を表すシンタクスを示す略線図である。 ブロックTableOfPlayLists()の一例の構造を表すシンタクスを示す略線図である。 プレイリストのそれぞれ属性について、一例の意味を示す。 タイトル、ムービーオブジェクトおよびプレイリストの関係に関する制約に基づきメニューを構成することを説明するための略線図である。 クリップを追加して記録する直前の一例のメニュー画面と、当該メニュー画面に関わるタイトル、ムービーオブジェクトおよびプレイリストの構成例を示す略線図である。 クリップを追加して記録した際のメニュー画面の一例の作成処理を示すフローチャートである。 クリップを追加して記録した際のメニュー画面の一例の作成処理を説明するための略線図である。 クリップを追加して記録した際のメニュー画面の一例の作成処理を説明するための略線図である。 クリップを追加して記録した際のメニュー画面の一例の作成処理を説明するための略線図である。 クリップを追加して記録した際のメニュー画面の一例の作成処理を説明するための略線図である。 BD仮想プレーヤの動作を概略的に示すフローチャートである。 BD仮想プレーヤの動作を概略的に示す略線図である。 この発明の実施の一形態に適用可能な記録再生装置の一例の構成を示すブロック図である。 BD−ROM規格によるタイトル、ムービーオブジェクトおよびプレイリストの一例の関係を概略的に示す略線図である。
符号の説明
10 記録媒体
11 読み出し部
17 制御部
18 書き込み部
28 データ入出力端子
100,110 メニュー画面

Claims (14)

  1. 少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録装置において、
    コンテンツデータを記録媒体に記録する記録部と、
    上記記録媒体に記録される上記コンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出す上記コンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御する制御部と
    を有し、
    上記制御部は、
    上記プレイリストを生成する目的に基づく種類を該プレイリストの属性情報として該プレイリストに対して付加するように制御する
    ことを特徴とする記録装置。
  2. 請求項1に記載の記録装置において、
    上記制御部は、
    上記種類を、上記コンテンツデータを再生させるためのタイトルを選択するメニューを構成するためのプレイリストに対応するように制御する
    ことを特徴とする記録装置。
  3. 請求項2に記載の記録装置において、
    上記制御部は、
    上記メニューを構成するためのプレイリストと、該メニューから呼び出される上記タイトルを構成するプレイリストとを、互いに独立的とするように制御する
    ことを特徴とする記録装置。
  4. 請求項3に記載の記録装置において、
    上記制御部は、
    上記メニューを構成するためのプレイリストが呼び出す上記クリップ情報と、上記タイトルを構成するプレイリストが呼び出す上記クリップ情報とを、互いに独立的とするように制御する
    ことを特徴とする記録装置。
  5. 請求項2に記載の記録装置において、
    上記制御部は、
    上記メニューから呼び出される上記タイトルが唯一つの上記プレイリストを呼び出すように制御する
    ことを特徴とする記録装置。
  6. 請求項5に記載の記録装置において、
    上記制御部は、
    上記タイトルが唯一つの上記オブジェクトを介して上記唯一つのプレイリストを呼び出すように制御する
    ことを特徴とする記録装置。
  7. 請求項2に記載の記録装置において、
    上記制御部は、
    上記タイトルの追加または削除が行われる際に、上記メニューを再生するための上記プレイリストおよび上記オブジェクトを削除し、該タイトルの追加または削除が行われた結果に基づき上記メニューを再生するための上記プレイリストおよび上記オブジェクトを新たに作成するように制御する
    ことを特徴とする記録装置。
  8. 請求項1に記載の記録装置において、
    上記制御部は、
    上記種類を、上記コンテンツデータの記録媒体への記録に伴い該コンテンツデータの全体を参照するために生成されるプレイリストに対応するように制御する
    ことを特徴とする記録装置。
  9. 請求項8に記載の記録装置において、
    上記制御部は、
    上記種類の上記プレイリストが削除されると、該プレイリストの削除に伴い、該プレイリストから呼び出されるクリップ情報と、該クリップ情報に対応する上記コンテンツデータとを削除するように制御する
    ことを特徴とする記録装置。
  10. 請求項8に記載の記録装置において、
    上記制御部は、
    上記種類の上記プレイリストに示される再生区間の一部を削除すると、該プレイリストから呼び出されるクリップ情報に対応する上記コンテンツデータの、該プレイリストで削除された区間に対応する区間が削除されるように制御する
    ことを特徴とする記録装置。
  11. 請求項1に記載の記録装置において、
    上記制御部は、
    上記種類を、既に他のプレイリストから参照されている上記コンテンツデータを参照するプレイリストに対応するように制御する
    ことを特徴とする記録装置。
  12. 請求項11に記載の記録装置において、
    上記制御部は、
    上記種類の上記プレイリストが削除されても、該プレイリストに参照される上記コンテンツデータを削除しないように制御する
    ことを特徴とする記録装置。
  13. 少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録方法において、
    記録媒体に記録されるコンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出す上記コンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御され、上記プレイリストを生成する目的に基づく種類を該プレイリストの属性情報として該プレイリストに対して付加するように制御する
    ことを特徴とする記録方法。
  14. 少なくともコンテンツデータと、該コンテンツデータの再生を制御するための再生制御情報とを記録媒体に記録する記録方法をコンピュータ装置に実行させる記録プログラムにおいて、
    上記記録方法は、
    記録媒体に記録されるコンテンツデータに対し、該コンテンツデータの属性情報を示すクリップ情報と、該クリップ情報を呼び出すプレイリストと、該プレイリストを呼び出す上記コンテンツデータの再生方法を示すオブジェクトと、該オブジェクトを呼び出すインデックステーブルとを生成するように制御され、上記プレイリストの成因に基づく種類を該プレイリストの属性情報として該プレイリストに対して付加するように制御する
    ことを特徴とする記録プログラム。
JP2006105536A 2006-04-06 2006-04-06 記録装置、記録方法および記録プログラム Expired - Fee Related JP4765733B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006105536A JP4765733B2 (ja) 2006-04-06 2006-04-06 記録装置、記録方法および記録プログラム
EP07105127A EP1843347A1 (en) 2006-04-06 2007-03-28 Recording apparatus, recording method, and recording program
US11/695,205 US8472784B2 (en) 2006-04-06 2007-04-02 Recording apparatus, recording method, and recording program
CN200710138872.4A CN101086889B (zh) 2006-04-06 2007-04-06 记录设备和记录方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006105536A JP4765733B2 (ja) 2006-04-06 2006-04-06 記録装置、記録方法および記録プログラム

Publications (2)

Publication Number Publication Date
JP2007280515A true JP2007280515A (ja) 2007-10-25
JP4765733B2 JP4765733B2 (ja) 2011-09-07

Family

ID=38229346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006105536A Expired - Fee Related JP4765733B2 (ja) 2006-04-06 2006-04-06 記録装置、記録方法および記録プログラム

Country Status (4)

Country Link
US (1) US8472784B2 (ja)
EP (1) EP1843347A1 (ja)
JP (1) JP4765733B2 (ja)
CN (1) CN101086889B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262694A (ja) * 2009-04-30 2010-11-18 Sony Corp 情報処理装置及び編集方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4784371B2 (ja) * 2006-04-06 2011-10-05 ソニー株式会社 記録装置、記録方法および記録プログラム
JP5121234B2 (ja) * 2007-01-12 2013-01-16 キヤノン株式会社 データ管理装置および方法、ならびにプログラム
US8744118B2 (en) * 2007-08-03 2014-06-03 At&T Intellectual Property I, L.P. Methods, systems, and products for indexing scenes in digital media
WO2010058547A1 (ja) * 2008-11-18 2010-05-27 パナソニック株式会社 特殊再生を考慮した再生装置、集積回路、再生方法
JP4984181B2 (ja) * 2009-06-22 2012-07-25 ソニー株式会社 再生装置および再生方法
US9025933B2 (en) * 2010-02-12 2015-05-05 Sony Corporation Information processing device, information processing method, playback device, playback method, program and recording medium
JP2012074105A (ja) * 2010-09-29 2012-04-12 Hitachi Consumer Electronics Co Ltd 記録装置/方法/媒体、再生装置/方法
CN102622371B (zh) * 2011-01-28 2015-06-03 成都致远诺亚舟教育科技有限公司 一种历史关联库系统及其实现方法和电子学习设备
CN103155547B (zh) * 2011-08-10 2017-04-12 松下知识产权经营株式会社 能够以高帧率记录逐行图片的记录介质、再现装置、记录装置、再现方法、记录方法
JP2016081553A (ja) * 2014-10-17 2016-05-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 記録媒体、再生方法、および再生装置
US11714928B2 (en) * 2020-02-27 2023-08-01 Maxon Computer Gmbh Systems and methods for a self-adjusting node workspace
US11373369B2 (en) 2020-09-02 2022-06-28 Maxon Computer Gmbh Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005045840A1 (ja) * 2003-11-10 2005-05-19 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法、システム集積回路
WO2005050528A2 (en) * 2003-11-20 2005-06-02 Lg Electronic Inc. Method of creating playback control file for recording medium and method and apparatus for reproducing data using the playback control file
JP2005149638A (ja) * 2003-11-17 2005-06-09 Sony Corp 情報記録再生装置および方法、プログラム格納媒体、並びにプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4599740B2 (ja) * 2000-04-21 2010-12-15 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体
US6718425B1 (en) * 2000-05-31 2004-04-06 Cummins Engine Company, Inc. Handheld computer based system for collection, display and analysis of engine/vehicle data
KR100521933B1 (ko) * 2002-06-05 2005-10-13 엘지전자 주식회사 재기록 가능 기록매체의 편집 요약정보 관리방법
US7136874B2 (en) * 2002-10-16 2006-11-14 Microsoft Corporation Adaptive menu system for media players
WO2004049710A1 (ja) * 2002-11-28 2004-06-10 Sony Corporation 再生装置、再生方法、再生プログラムおよび記録媒体
JP4715094B2 (ja) * 2003-01-30 2011-07-06 ソニー株式会社 再生装置、再生方法、再生プログラムおよび記録媒体
KR20040083632A (ko) * 2003-03-24 2004-10-06 엘지전자 주식회사 고밀도 광디스크의 멀티 타이틀 관리 및 재생방법
JP4651277B2 (ja) * 2003-11-13 2011-03-16 ソニー株式会社 情報記録再生装置および方法、プログラム格納媒体、並びにプログラム
NZ541096A (en) * 2003-11-28 2008-07-31 Sony Corp Complex interactive function in a reproduction-dedicated optical disk via a virtual player model corresponding to a player function built and described by java
KR20050052790A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 고밀도 광디스크 및 고밀도 광디스크의 파일 관리방법 및재생방법과 기록재생장치
US7551843B2 (en) * 2004-03-10 2009-06-23 Panasonic Corporation Authoring system, program, and authoring method
US7613384B2 (en) * 2004-08-17 2009-11-03 Lg Electronics Inc. Method for configuring composite file structure for data reproduction, and method and apparatus for reproducing data using the composite file structure
EP1854287B2 (en) * 2005-03-02 2021-03-24 Rovi Guides, Inc. Playlists and bookmarks in an interactive media guidance application system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005045840A1 (ja) * 2003-11-10 2005-05-19 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法、システム集積回路
JP2005149638A (ja) * 2003-11-17 2005-06-09 Sony Corp 情報記録再生装置および方法、プログラム格納媒体、並びにプログラム
WO2005050528A2 (en) * 2003-11-20 2005-06-02 Lg Electronic Inc. Method of creating playback control file for recording medium and method and apparatus for reproducing data using the playback control file

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262694A (ja) * 2009-04-30 2010-11-18 Sony Corp 情報処理装置及び編集方法

Also Published As

Publication number Publication date
US20070248321A1 (en) 2007-10-25
CN101086889B (zh) 2014-09-24
US8472784B2 (en) 2013-06-25
EP1843347A1 (en) 2007-10-10
CN101086889A (zh) 2007-12-12
JP4765733B2 (ja) 2011-09-07

Similar Documents

Publication Publication Date Title
JP4765733B2 (ja) 記録装置、記録方法および記録プログラム
JP4765734B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム、ならびに、表示制御装置
KR100780153B1 (ko) 기록 장치 및 방법, 재생 장치 및 방법, 및 기록 매체
JP4972933B2 (ja) データ構造、記録装置、記録方法、記録プログラム、再生装置、再生方法および再生プログラム
JP4264617B2 (ja) 記録装置および方法、再生装置および方法、記録媒体、プログラム、並びに記録媒体
US8260110B2 (en) Recording medium having data structure for managing reproduction of multiple playback path video data recorded thereon and recording and reproducing methods and apparatuses
JP4784371B2 (ja) 記録装置、記録方法および記録プログラム
US7912338B2 (en) Recording medium having data structure for managing random/shuffle reproduction of video data recorded thereon and recording and reproducing methods and apparatuses
EP1873783B1 (en) Apparatus and method for processing information
US8276075B2 (en) Apparatus, method, and computer program for processing information
US7606463B2 (en) Recording medium having data structure for managing playback control and recording and reproducing methods and apparatuses
US7809775B2 (en) Recording medium having data structure for managing playback control recorded thereon and recording and reproducing methods and apparatuses
AU2004214200B2 (en) Recording medium having data structure for managing playback control and recording and reproducing methods and apparatuses

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110530

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees