以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の再生装置(例えば、図2または図3の再生装置1)は、少なくとも1つのストリームを含むAVストリームファイル(例えば、図4のClip AV Stream)の再生時間軸上の位置を示す情報(例えば、IN_TimeおよびOUT_Time)を含むPlayItemを少なくとも1つ含んで構成され、前記AVストリームファイルの再生を管理するPlayListを取得し、これを基に、前記AVストリームファイルの再生を制御する再生制御手段(例えば、図3のコントローラ21)と、前記再生制御手段の制御に基づいて、前記AVストリームファイルを再生する再生手段(例えば図3のAVデコーダ部26)とを備え、前記PlayListは、再生位置のジャンプ先を示すPlayListMarkと、他のPlayListにより再生が管理されるストリームが再生されている状態から、前記PlayListが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayListランダムアクセスフラグ(例えば、PlayList_random_access_flag)と前記PlayListが再生を管理しているストリームの再生中に受付を禁止する変速再生に関するユーザ操作を規定するUO_MaskTableとを含み、前記PlayItemは、他のPlayItemにより再生が管理されるストリームが再生されている状態から、前記PlayItemが再生を管理するストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayItemランダムアクセスフラグ(例えば、PlayItem_random_access_flag)を含み、前記再生制御手段は、前記PlayListにより再生が管理されるストリームが再生されている状態において、前記UO_MaskTableにより受付が禁止されている前記変速再生に関するユーザ操作が入力された場合、前記ユーザ操作の受付を禁止し、前記PlayItemランダムアクセスフラグにより、途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていない、前記PlayItemが再生を管理しているストリームよりも、時間的に遅いストリームが再生されている状態において、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントである再生位置までの早戻しが指令された場合、前記時間的に遅いストリームにおける再生位置での早戻しは許可するが、前記PlayItemが再生を管理しているストリームにおける再生位置での早戻しは禁止して、前記時間的に遅いストリームの先頭部分から通常速度での再生を制御する。
前記再生制御手段は、前記PlayItemランダムアクセスフラグにより、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていなかった場合、ジャンプ元の再生位置が、前記PlayItemが再生を管理しているストリームよりも時間的に早い位置であるか、または、時間を変数として有さないジャンプの指令かの少なくともいずれかである(例えば、早送り(Forward Play)、チャプタサーチ(Chapter Search)、タイムサーチ(Time Search)、Skip to Next Point、または、Skip Back to Previous Point)とき、前記PlayItemが再生を管理しているストリームの先頭位置からの前記AVストリームファイルの再生を制御することができる。
前記再生制御手段は、前記PlayItemランダムアクセスフラグにより、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていなかった場合、時間を変数として有するジャンプの指令であり、かつ、ジャンプ元の再生位置が、前記PlayItemが再生を管理しているストリームよりも時間的に遅い位置である(例えば、早戻し(Backward Play))とき、前記PlayItemが再生を管理しているストリームの次に再生されるストリームの先頭位置からの前記AVストリームファイルの再生を制御することができる。
本発明の一側面の再生方法は、AVストリームファイルを再生する再生装置(例えば、図2または図3の再生装置1)の再生方法であって、少なくとも1つのストリームを含む前記AVストリームファイル(例えば、図4のClip AV Stream)の再生時間軸上の位置を示す情報(例えば、IN_TimeおよびOUT_Time)を含むPlayItemを少なくとも1つ含んで構成され、前記AVストリームファイルの再生を管理するPlayListを取得し(例えば、図22のステップS2の処理)、取得された前記第2の管理情報、および、前記第2の管理情報に含まれる前記第1の管理情報を基に、前記AVストリームファイルの再生を制御(例えば、図22のステップS3およびステップS4の処理、並びに、図23および図24のフローチャートの処理)するステップを含み、前記PlayListは、再生位置のジャンプ先を示すPlayListMarkと、他のPlayListにより再生が管理されるストリームが再生されている状態から、前記PlayListが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayListランダムアクセスフラグ(例えば、PlayList_random_access_flag)と、前記PlayListが再生を管理しているストリームの再生中に受付を禁止する変速再生に関するユーザ操作を規定するUO_MaskTableとを含み、前記PlayItemは、他のPlayItemにより再生が管理されるストリームが再生されている状態から、前記PlayItemが再生を管理するストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayItemランダムアクセスフラグ(例えば、PlayItem_random_access_flag)を含み、前記PlayListにより再生が管理されるストリームが再生されている状態において、前記UO_MaskTableにより受付が禁止されている前記変速再生に関するユーザ操作が入力された場合、前記ユーザ操作の受付を禁止し、前記PlayItemランダムアクセスフラグにより、途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていない、前記PlayItemが再生を管理しているストリームよりも、時間的に遅いストリームが再生されている状態において、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントである再生位置までの早戻しが指令された場合、前記時間的に遅いストリームにおける再生位置での早戻しは許可するが、前記PlayItemが再生を管理しているストリームにおける再生位置での早戻しは禁止して、前記時間的に遅いストリームの先頭部分から通常速度での再生を制御する。
本発明の一側面のプログラムは、AVストリームファイルを再生する処理をコンピュータに実行させるプログラムであって、前記AVストリームファイルを再生させるための情報として、PlayItemと、PlayListとが利用可能なようになされており、前記PlayListが、再生位置のジャンプ先を示すPlayListMarkと、他のPlayListにより再生が管理されるストリームが再生されている状態から、前記PlayListが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayListランダムアクセスフラグ(例えば、PlayList_random_access_flag)と前記PlayListが再生を管理しているストリームの再生中に受付を禁止する変速再生に関するユーザ操作を規定するUO_MaskTableとを含み、前記PlayItemが、他のPlayItemにより再生が管理されるストリームが再生されている状態から、前記PlayItemが再生を管理するストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayItemランダムアクセスフラグ(例えば、PlayItem_random_access_flag)を含んでいるとき、少なくとも1つのストリームを含む前記AVストリームファイル(例えば、図4のClip AV Stream)の再生時間軸上の位置を示す情報(例えば、IN_TimeおよびOUT_Time)を含む前記PlayItemを少なくとも1つ含んで構成され、前記AVストリームファイルの再生を管理する前記PlayListを取得し(例えば、図22のステップS2の処理)、取得された前記第2の管理情報に含まれる前記PlayListランダムアクセスフラグ、および、前記第1の管理情報に含まれる前記PlayItemランダムアクセスフラグを基に、前記AVストリームファイルの再生を制御(例えば、図23および図24のフローチャートの処理)し、前記PlayListにより再生が管理されるストリームが再生されている状態において、前記UO_MaskTableにより受付が禁止されている前記変速再生に関するユーザ操作が入力された場合、前記ユーザ操作の受付を禁止し、前記PlayItemランダムアクセスフラグにより、途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていない、前記PlayItemが再生を管理しているストリームよりも、時間的に遅いストリームが再生されている状態において、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントである再生位置までの早戻しが指令された場合、前記時間的に遅いストリームにおける再生位置での早戻しは許可するが、前記PlayItemが再生を管理しているストリームにおける再生位置での早戻しは禁止して、前記時間的に遅いストリームの先頭部分から通常速度での再生を制御するステップを含む処理をコンピュータに実行させる。
本発明の一側面の記録媒体は、少なくとも1つのストリームを含むAVストリームファイル(例えば、図4のClip AV Stream)の再生時間軸上の位置を示す情報(例えば、IN_TimeおよびOUT_Time)を含むPlayItemを少なくとも1つ含んで構成され、前記AVストリームファイルの再生を管理するPlayListを含むデータを記録する記録媒体であって、前記PlayListは、再生位置のジャンプ先を示すPlayListMarkと、他のPlayListにより再生が管理されるストリームが再生されている状態から、前記PlayListが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayListランダムアクセスフラグ(例えば、PlayList_ranom_access_flag)と、前記PlayListが再生を管理しているストリームの再生中に受付を禁止する変速再生に関するユーザ操作を規定するUO_MaskTableとを含み、前記PlayItemは、他のPlayItemにより再生が管理されるストリームが再生されている状態から、前記PlayItemが再生を管理するストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayItemランダムアクセスフラグ(例えば、PlayItem_random_access_flag)を含むデータであって、このデータを取得した装置が、取得した前記PlayListに含まれる前記PlayListランダムアクセスフラグ、および、前記PlayItemに含まれる前記PlayItemランダムアクセスフラグを基に、前記AVストリームファイルの再生を制御し、前記PlayListにより再生が管理されるストリームが再生されている状態において、前記UO_MaskTableにより受付が禁止されている前記変速再生に関するユーザ操作が入力された場合、前記ユーザ操作の受付を禁止し、前記PlayItemランダムアクセスフラグにより、途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていない、前記PlayItemが再生を管理しているストリームよりも、時間的に遅いストリームが再生されている状態において、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントである再生位置までの早戻しが指令された場合、前記時間的に遅いストリームにおける再生位置での早戻しは許可するが、前記PlayItemが再生を管理しているストリームにおける再生位置での早戻しは禁止して、前記時間的に遅いストリームの先頭部分から通常速度での再生を制御するデータを記録する。
本発明の一側面のデータ構造は、少なくとも1つのストリームを含むAVストリームファイル(例えば、図4のClip AV Stream)の再生時間軸上の位置を示す情報(例えば、IN_TimeおよびOUT_Time)を含むPlayItemを少なくとも1つ含んで構成され、前記AVストリームファイルの再生を管理するPlayListを含むデータ構造であって、前記PlayListは、再生位置のジャンプ先を示すPlayListMarkと、他のPlayListにより再生が管理されるストリームが再生されている状態から、前記PlayListが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayListランダムアクセスフラグ(例えば、PlayList_random_access_flag)と、前記PlayListが再生を管理しているストリームの再生中に受付を禁止する変速再生に関するユーザ操作を規定するUO_MaskTableとを含み、前記PlayItemは、他のPlayItemにより再生が管理されるストリームが再生されている状態から、前記PlayItemが再生を管理するストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayItemランダムアクセスフラグ(例えば、PlayItem_random_access_flag)を含むデータであって、このデータを取得した装置が、取得した前記PlayListに含まれる前記PlayListランダムアクセスフラグ、および、前記PlayItemに含まれる前記PlayItemランダムアクセスフラグを基に、前記AVストリームファイルの再生を制御し、前記PlayListにより再生が管理されるストリームが再生されている状態において、前記UO_MaskTableにより受付が禁止されている前記変速再生に関するユーザ操作が入力された場合、前記ユーザ操作の受付を禁止し、前記PlayItemランダムアクセスフラグにより、途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていない、前記PlayItemが再生を管理しているストリームよりも、時間的に遅いストリームが再生されている状態において、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントである再生位置までの早戻しが指令された場合、前記時間的に遅いストリームにおける再生位置での早戻しは許可するが、前記PlayItemが再生を管理しているストリームにおける再生位置での早戻しは禁止して、前記時間的に遅いストリームの先頭部分から通常速度での再生を制御するデータである。
本発明の一側面の記録媒体の製造方法は、再生装置(例えば、図2または図3の再生装置1)において再生可能なデータが記録される記録媒体の製造方法であって、少なくとも1つのストリームを含むAVストリームファイル(例えば、図4のClip AV Stream)の再生時間軸上の位置を示す情報(例えば、IN_TimeおよびOUT_Time)を含むPlayItemを少なくとも1つ含んで構成され、前記AVストリームファイルの再生を管理するPlayListを含み、前記PlayListは、再生位置のジャンプ先を示すPlayListMarkと、他のPlayListにより再生が管理されるストリームが再生されている状態から、前記PlayListが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayListランダムアクセスフラグ(例えば、PlayList_random_access_flag)と前記PlayListが再生を管理しているストリームの再生中に受付を禁止する変速再生に関するユーザ操作を規定するUO_MaskTableとを含み、前記PlayItemは、他のPlayItemにより再生が管理されるストリームが再生されている状態から、前記PlayItemが再生を管理するストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayItemランダムアクセスフラグ(例えば、PlayItem_random_access_flag)を含むデータであって、このデータを取得した装置が、取得した前記PlayListに含まれる前記PlayListランダムアクセスフラグ、および、前記PlayItemに含まれる前記PlayItemランダムアクセスフラグを基に、前記AVストリームファイルの再生を制御し、前記PlayListにより再生が管理されるストリームが再生されている状態において、前記UO_MaskTableにより受付が禁止されている前記変速再生に関するユーザ操作が入力された場合、前記ユーザ操作の受付を禁止し、前記PlayItemランダムアクセスフラグにより、途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていない、前記PlayItemが再生を管理しているストリームよりも、時間的に遅いストリームが再生されている状態において、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントである再生位置までの早戻しが指令された場合、前記時間的に遅いストリームにおける再生位置での早戻しは許可するが、前記PlayItemが再生を管理しているストリームにおける再生位置での早戻しは禁止して、前記時間的に遅いストリームの先頭部分から通常速度での再生を制御するデータ構造を有するデータを生成し、生成された前記データを前記記録媒体に記録するステップを含む。
本発明の一側面の記録装置は、再生装置において再生可能なデータを記録媒体に記録する記録装置であって、少なくとも1つのストリームを含むAVストリームファイル(例えば、図4のClip AV Stream)の再生時間軸上の位置を示す情報(例えば、IN_TimeおよびOUT_Time)を含むPlayItemを少なくとも1つ含んで構成され、前記AVストリームファイルの再生を管理するPlayListを含み、前記PlayListは、再生位置のジャンプ先を示すPlayListMarkと、他のPlayListにより再生が管理されるストリームが再生されている状態から、前記PlayListが再生を管理しているストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayListランダムアクセスフラグ(例えば、PlayList_random_access_flag)と前記PlayListが再生を管理しているストリームの再生中に受付を禁止する変速再生に関するユーザ操作を規定するUO_MaskTableとを含み、前記PlayItemは、他のPlayItemにより再生が管理されるストリームが再生されている状態から、前記PlayItemが再生を管理するストリームの途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作を許可するか否かを示すPlayItemランダムアクセスフラグ(例えば、PlayItem_random_access_flag)を含むデータであって、このデータを取得した装置が、取得した前記PlayListに含まれる前記PlayListランダムアクセスフラグ、および、前記PlayItemに含まれる前記PlayItemランダムアクセスフラグを基に、前記AVストリームファイルの再生を制御し、前記PlayListにより再生が管理されるストリームが再生されている状態において、前記UO_MaskTableにより受付が禁止されている前記変速再生に関するユーザ操作が入力された場合、前記ユーザ操作の受付を禁止し、前記PlayItemランダムアクセスフラグにより、途中のいずれかのポイントへの再生位置のジャンプを指令するユーザ操作が許可されていない、前記PlayItemが再生を管理しているストリームよりも、時間的に遅いストリームが再生されている状態において、前記PlayItemが再生を管理しているストリームの途中のいずれかのポイントである再生位置までの早戻しが指令された場合、前記時間的に遅いストリームにおける再生位置での早戻しは許可するが、前記PlayItemが再生を管理しているストリームにおける再生位置での早戻しは禁止して、前記時間的に遅いストリームの先頭部分から通常速度での再生を制御するデータ構造を有するデータを前記記録媒体に記録する。
以下、図を参照して、本発明の実施の形態について説明する。
図2を参照して、本発明を適用した再生装置1が利用されるシステムについて説明する。
再生装置1は、例えば、光ディスクなどの記録媒体11を装着することが可能なようになされており、ユーザにより操作入力されるリモートコマンダ12からの信号を受信して、ユーザの操作入力に基づいて、記録媒体11に記録されている、例えば、映画など、映像や音声などにより構成されたコンテンツデータを再生し、表示/音声出力装置4に出力して、表示および音声出力させることができる。
また、再生装置1は、ネットワーク2を介して、サーバ3との間で通信を行い、サーバ3からコンテンツデータをダウンロードすることが可能である。
図3は、本発明を適用した再生装置1の構成例を示すブロック図である。
コントローラ21は、予め用意されている制御プログラムを実行するか、または、ストレージドライブ22を制御して記録媒体11に記録されているナビゲーションプログラム(後述)を読み出し、メモリ23に展開して実行することで、再生装置1の全体の動作を制御する。例えば、コントローラ21は、記録媒体11が装着されたとき、所定のメニュー画面を外部の表示装置(表示/音声出力装置4)に表示させることができる。
ストレージドライブ22は、コントローラ21による制御に従って記録媒体11からデータを読み出し、読み出したデータを、コントローラ21、メモリ23、または、AVデコーダ部26に出力する。記録媒体11から読み出された情報が、ナビゲーションプログラムやPlayListなどであった場合、ストレージドライブ22により読み出された情報は、コントローラ21、または、メモリ23に出力される。記録媒体11から読み出された情報が、AVストリームやテキストデータであった場合、ストレージドライブ22により読み出された情報は、AVデコーダ部26に出力される。
図4は、図3の再生装置1によって再生可能な情報、すなわち、再生装置1に装着される記録媒体11に記録されているデータ、ネットワーク2を介して供給されるデータ、または、再生装置1の内部の記録媒体に記録されているデータのアプリケーションフォーマットの例を示す図である。
アプリケーションフォーマットは、AV(Audio Visual)ストリームの管理のために、PlayList(Movie PlayList)とClipの2つのレイヤを有している。ここでは、1つのAVストリームとそれに付随する情報であるClipインフォメーションのペアを1つのオブジェクトと考え、それらをまとめてClipと称する。以下、AVストリームをAVストリームファイルとも称する。また、ClipインフォメーションをClipインフォメーションファイルとも称する。
一般的に、コンピュータ等で用いられるファイルはバイト列として扱われるが、AVストリームファイルのコンテンツは時間軸(再生時間軸)上に展開され、Clipのアクセスポイントは、プレゼンテーションタイムスタンプ、又はアライバルタイムスタンプを用いてPlayListにより指定される。すなわち、PlayListとClipは、AVストリームの管理のためのレイヤである。
Clip中のアクセスポイントがタイムスタンプでPlayListにより示されている場合、Clip Informationファイルは、タイムスタンプから、AVストリームファイル中のデコードを開始すべきアドレス情報を見つけるために使用される。
PlayListは、AVストリームの再生区間の集まりである。あるAVストリーム中の1つの再生区間はPlayItemと呼ばれ、それは、時間軸上の再生区間のIN点(再生開始点)とOUT点(再生終了点)のペアで表される。従って、PlayListは、図に示されるように1つ、または複数のPlayItemにより構成される。
図4において、左側のPlayListは3つのPlayItemから構成され、その3つのPlayItemにより、Clipに含まれるAVストリームの前半部分、中央部分、後半部分がそれぞれ参照されている。また、右側のPlayListは2つのPlayItemから構成され、その2つのPlayItemにより、Clipに含まれるAVストリームのうちの所定の部分がそれぞれ参照されている。
IndexTable(インデックステーブル)は、コンテンツのタイトルやメニューの定義を行うものであり、各タイトルやメニューのエントリーポイントを保持している。ナビゲーションプログラムは、Index tableと、インデックステーブルにより読み出されるMovie ObjectやBD−J Objectにより構成される。
Movie ObjectやBD−J Objectは、PlayListの再生の順序や、PlayListのインタラクティブな再生をコントロールする機能を有する。また、Movie ObjectやBD−J Objectは、各種の再生の実行をユーザが指示するためのメニュー画面を表示する機能なども有する。このBD−J Objectは、例えば、Java(登録商標)などのプログラミング言語で記述される。
例えば、図4のMovie ObjectやBD−J Objectにより、そのときの再生位置を表す情報として、左のPlayListに含まれる一番左側のPlayItemが指定された場合、そのPlayItemが参照する、Clipに含まれるAVストリームの前半部分の再生が行われる。このように、PlayListは、AVストリームファイルの再生を管理するための再生管理情報として用いられる。
また、Movie ObjectやBD−J Objectには、ナビゲーションコマンドが含まれている場合がある。ナビゲーションコマンドは、AVストリームファイルの再生を制御するための各種のコマンドである。
なお、ナビゲーションコマンドは、ストリームデータとは個別に記録媒体11や内部のハードディスク(ローカルストレージ24)等に記録され、再生装置1によってプリロードされ、コントローラ21に供給されるようになされていてもよいし、ストリームデータに埋め込まれて記録媒体11や内部のハードディスク(ローカルストレージ24)等に記録され、再生装置1によってストリームデータが再生されるのに伴ってロードされ、コントローラ21に供給されるようになされていてもよい。
また、それぞれのPlayItemに対応するデータ(Clip)は、予め記録媒体11に記録されていても良いし、追加データ(アップロードデータ)として、ネットワーク2を介して、サーバ3からダウンロードされるものであっても良いし、または、リムーバブルメディア(例えば、図3のリムーバブルメディア28)を用いて取得することができるようにしても良い。
再び、図3の説明に戻る。
メモリ23は、コントローラ21が各種の処理を実行する上において必要なデータなどを適宜記憶する。ローカルストレージ24は、例えば、HDD(Hard Disk Drive)などより構成される。
インターネットインタフェース25は、有線または無線によりネットワーク2に接続されており、コントローラ21からの制御に従って、ネットワーク2を介して、サーバ3との間で通信を行い、サーバ3からダウンロードされたデータをローカルストレージ24に供給する。サーバ3からは、例えば、そのとき再生装置1に装着されている記録媒体11に記録されている、図4を用いて説明したデータをアップデートさせるデータがコンテンツとしてダウンロードされる。ローカルストレージ24は、サーバ3からネットワーク2経由でダウンロードしたコンテンツを記録することができる。
AVデコーダ部26は、ストレージドライブ22、または、ローカルストレージ24から供給されるAVストリーム、または、テキストデータをデコードし、得られたビデオ信号とオーディオ信号を外部の表示装置(表示/音声出力装置4)に出力する。表示装置においては、AVデコーダ部26によりデコードされた信号に基づいて、例えば、記録媒体11に記録されているコンテンツの出力(映像の表示、音声の出力)が行われる。
操作入力部29は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、リモートコマンダ12から送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ21に供給する。
また、コントローラ21には、必要に応じてドライブ27も接続されており、ドライブ27には、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD−ROM(Compact Disk−Read Only Memory),DVDを含む)、光磁気ディスク(MD(登録商標)(Mini−Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア28が装着される。
次に、再生装置1に装着された記録媒体11に記録されたデータ、および、ローカルストレージ24に記憶されたデータを再生する方法について説明する。
再生装置1はHDD(Hard Disk Drive)などよりなるローカルストレージ24を内部に備える。再生装置1は、有線または無線によりネットワーク2に接続されており、サーバ3からネットワーク2経由でダウンロードしたコンテンツを、このローカルストレージ24に記録することができる。サーバ3からは、例えば、そのとき再生装置1に装着されている記録媒体11に記録されている映画などのコンテンツをアップデートさせるデータをダウンロードすることができる。
ダウンロードされたコンテンツがローカルストレージ24に記録されている状態で、操作入力部29から、記録媒体11に記録されているコンテンツの再生が指示されたとき、コントローラ21は、記録媒体11に記録されているコンテンツと、ローカルストレージ24に記録されているコンテンツを関連付けて、コンテンツの再生処理を実行する。
すなわち、コントローラ21は、記録媒体11またはローカルストレージ24に記録されているPlayListを参照し、PlayListを構成するPlayItemにより参照されるClipのClip Informationを基に、記録媒体11またはローカルストレージ24に記録されているClip AV Streamを読み出し、AVデコーダ部26に供給してデコードさせ、表示/音声出力装置4に供給して、再生出力させる。
このように、実際の映像や音声などは、Clip AV Streamに入っているが、再生装置1に装着された記録媒体11に記録されたデータ、および、ローカルストレージ24に記憶されたデータは、階層構造をとっているため、この実データ(実際の映像、音声など再生出力されるデータ)を考慮せずとも、時間軸で実データの再生を管理しているPlayList、および、PlayItemにおいて、特殊再生の管理を行うことが出来る。
すなわち、例えば、図5に示されるように、ストリーム中に広告などの早送りを禁止したい映像(図5においては、PlayItem(2)により参照されるClip AV stream)がある場合に、PlayList、および、PlayItemにおいて、所定の情報を記載する(所定の設定を行う)ことができるようにすることにより、例えば、早送り、早戻し、所定のチャプタ位置からのジャンプ再生などの特殊再生を禁止し、早送りを禁止したい映像を早送り、またはスキップせずに再生させるようにすることができる。
図6に、PlayListファイルのデータ構造を示す。PlayListファイルは、再生装置1に装着された記録媒体11、または、ローカルストレージ24において、PLAYLISTディレクトリに格納される、拡張子「.mpls」を有するデータファイルである。
type_indicatorは、このファイルの種類を示す情報が記載されているものである。すなわち、このフィールドには、このファイルの種類が映像の再生を管理する再生管理情報であるPlayList(MoviePlayList)であることを示す情報が記載される。
version_numberは、このxxxxx.mpls(MoviePlayList)のバージョンナンバを示す4個のキャラクター文字を示すものである。
PlayList_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayList()の先頭アドレスを示すものである。
PlayListMark_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayListMark()の先頭アドレスを示すものである。
ExtensionData_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、ExtensionData()の先頭アドレスを示すものである。
AppInfoPlayList()には、例えば、再生制限など、PlayListの再生コントロールに関するパラメータが格納されている。AppInfoPlayList()の詳細については、図7を用いて後述する。
PlayList()には、PlayListのメインパスやサブパスなどに関するパラメータが格納されている。PlayList()の詳細は、図8を用いて後述する。
PlayListMark()には、PlayListのマーク情報、すなわち、チャプタジャンプなどを指令するユーザオペレーションまたはコマンドなどにおけるジャンプ先(ジャンプポイント)であるマークに関する情報が格納されている。マークは、PlayListやPlayItemのそれぞれの区間とはまったく独立して設定することが可能である。以下、ユーザオペレーションまたはコマンドなどにおけるジャンプ先(ジャンプポイント)であるマークを「Entry mark」とも称するものとする。PlayListMark()の詳細については、図10を用いて後述する。
ExtensionData()には、プライベートデータが挿入できるようになっている。
次に、図7を参照して、AppInfoPlayList()について説明する。
lengthは、length以下のシンタックスの長さ、すなわち、このlengthフィールドの直後からreserved_for_future_useの最後までのAppInfoPlayList()のバイト数を示すものである。このlengthの後には、8ビットのreserved_for_future_useが用意される。
Playlist_playback_typeは、連続再生、ランダムアクセス、シャッフルのいずれの再生を行なうPlaylistであるかを示す情報を記載するフィールドである。
Playback_countは、ランダムアクセス、シャッフルを行なうPlayListの場合、再生に用いるPlayItemの数を示す情報を記載するフィールドである。
そして、UO_mask_table()は、一時停止、チャプタサーチ、ジャンプ、早送り、早戻し(後方高速再生)等の特殊再生、または、表示等に関するユーザ操作の制限を決める情報である。
なお、ここでは、特殊再生として、例えば、ユーザの操作入力に基づいて実行される変速再生である早送り(Forward Play)および後方再生(早戻しを含む)(Backward Play)、並びに、ユーザの操作入力に基づいて、指定されたチャプタ番号に対応するチャプタの位置から再生を開始するチャプタサーチ(Chapter Search)、ユーザの操作入力に基づいて、指定された経過時間で示される再生位置(通常再生されていた場合に、例えば、何分何秒再生時間が経過した時点であるかを示す再生位置)から再生を開始するタイムサーチ(Time Search)、ユーザの操作入力に基づいて、現在の再生位置に対して時間的に次に現れるチャプタ位置から再生を開始するSkip to Next Point、および、ユーザの操作入力に基づいて、現在の再生位置に対して時間的に前に現れるチャプタ位置から再生を開始するSkip Back to Previous Pointが用意されている。
なお、例えば、「2倍速」再生や「−2倍速再生」等の時間を変数として有する変速前方再生や変速後方再生も、その再生速度に応じて、フレームを間引き再生しているので、実質的には、再生位置がジャンプしている。ここでは、変速前方再生や変速後方再生と、あるポイント(チャプタやPlayItemの先頭など)へのジャンプ(時間を変数として持たないジャンプ)をまとめて、「ジャンプ」と称するものとする。
また、再生装置1においては、更に、これ以外にも、装置独自で拡張的なユーザオペレーションを用意するようにしてもよい。
図7に示される、AppInfoPlayList()のUO_mask_table()には、図28に示されるように、このPlayListを参照してClip AV Streamが再生されているときに操作入力される上述したようなユーザオペレーションについて、それぞれ許可するか否かが設定されている。
ここで、図28を参照して、UO_mask_table()について説明する。
chapter_search_maskは、ユーザの操作入力に基づいて、指定されたチャプタ番号に対応するチャプタの位置から再生を開始するチャプタサーチ(Chapter Search)を許可するか否かを示す情報である。time_search_maskは、ユーザの操作入力に基づいて、指定された経過時間で示される再生位置(通常再生されていた場合に、例えば、何分何秒再生時間が経過した時点であるかを示す再生位置)から再生を開始するタイムサーチ(Time Search)を許可するか否かを示す情報である。
skip_to_next_point_maskは、ユーザの操作入力に基づいて、現在の再生位置に対して時間的に次に現れるチャプタ位置から再生を開始するSkip to Next Pointを許可するか否かを示す情報である。skip_back_to_previous_point_maskは、ユーザの操作入力に基づいて、現在の再生位置に対して時間的に前に現れるチャプタ位置から再生を開始するSkip Back to Previous Pointを許可するか否かを示す情報である。forward_play_maskは、早送り(Forward Play)を許可するか否かを示す情報である。backward_play_maskは、後方再生(早戻しを含む)(Backward Play)を許可するか否かを示す情報である。
図7の説明に戻る。
そして、PlayList_random_access_flagは、他のPlayListからのジャンプ再生を制御するためのフラグ情報である。ここでは、PlayList_random_access_flag=1に設定されている場合、他のPlayListからのジャンプ再生を禁止するものとする。
例えば、再生装置1においては、例えば、現在のPlayListにより参照されている再生位置から、他のPlayListにより参照される所定のPlayItemの先頭またはチャプタの位置への再生位置のジャンプを指令するユーザオペレーションなど、装置独自で拡張的なユーザオペレーションを用意することができる。PlayList_random_access_flagは、例えば、これらのユーザオペレーションにより、他のPlayListによって参照されるClip AV Streamのある再生位置から、このPlayListによって参照されるClip AV Streamへのジャンプ(再生位置の移動)が指令された場合、このユーザオペレーションを制限するか否かを設定するためのフラグ情報である。なお、ユーザオペレーションとPlayList_random_access_flagについての詳細な説明は後述する。
なお、ユーザオペレーションによりジャンプ(再生位置の移動)が指令されるのではなく、ナビゲーションコマンドによりジャンプ(再生位置の移動)が指令された場合、PlayList_random_access_flagは無視される(コマンドは実行され、コマンドの発生に伴って、再生位置が移動される)。
Audio_mix_app_flagは、このPlaylistが音声や効果音の合成を行なうか否かのフラグである。また、Lossless_may_bypass_mixer_flagは、ロスレスの音声の再生に関するフラグである。この後には、13ビットのreserved_for_future_useが用意される。
次に、図8を参照して、PlayList()のシンタクスについて説明する。
lengthは、このlengthフィールドの直後からPlayList()の最後までのバイト数を示す32ビットの符号なし整数である。すなわち、reserved_for_future_useからPlayListの最後までのバイト数を示すフィールドである。このlengthの後には、16ビットのreserved_for_future_useが用意される。number_of_PlayItemsは、PlayListの中にあるPlayItemの数を示す16ビットのフィールドである。例えば、図5の例の場合PlayItemの数は3個である。PlayItem_idの値は、PlayListの中でPlayItem()が現れる順番に0から割り振られる。
number_of_SubPathsは、PlayListの中にあるSubPathの数(エントリー数)を示す16ビットのフィールドである。PlayListの中で、1つ以上のPlayItemの並びによって(連続するPlayItemにより)作られる再生パスをメインパス(Main Path)と称し、PlayListの中で、Main Pathに並行(並列)して、1つ以上のSubPlayItemの並びによって(非連続でもよいし、連続してもよいSubPlayItemにより)作られる再生パスをサブパス(Sub Path)と称する。
その後のfor文では、PlayItemの数だけPlayItemが参照され、Sub Pathの数だけ、Sub Pathが参照される。
次に、図9を参照して、PlayItem()のシンタクスについて説明する。
lengthは、このlengthフィールドの直後からPlayItem()の最後までのバイト数を示す16ビットの符号なし整数である。Clip_Information_file_ name[0]は、PlayItemが参照するClipを指定するためのフィールドである。図9の例の場合、Clip_Information_file_ name[0]により、メインClipAVストリームファイルが参照される。また、PlayItem()には、Clipのコーデック方式を指定するClip_codec_identifier[0]、将来の拡張に備えるためにデータの記述内容が未設定とされているreserved_for_future_use、マルチアングル再生に対応しているか否かを示すフラグであるis_multi_angle、接続状態に関する情報であるconnection_condition、STC不連続点(システムタイムベースの不連続点)に関する情報であるref_to_STC_id[0]が含まれる。さらに、PlayItem()には、Clipの中のPlayItemの再生区間を指定するためのIN_timeとOUT_timeが含まれる。図9の例の場合、IN_timeとOUT_timeにより、メインClipAVストリームファイルの再生範囲が表される。
また、PlayItem()には、ユーザ入力の受付制限をするUO_mask_table()、他のPlayItemからのジャンプ再生を制御するPlayItem_random_access_flagが含まれる。
図9に示される、PlayItem()のUO_mask_table()には、図28を用いて説明した場合と同様にして、このPlayItemを参照してClip AV Streamが再生されているときに操作入力される上述したようなユーザオペレーションについて、それぞれ許可するか否かが設定されている。
そして、図9に示される、PlayItem()のPlayItem_random_access_flagは、ユーザオペレーションにより、他のPlayItemによって参照されるClip AV Streamのある再生位置から、このPlayItemによって参照されるClip AV Streamへのジャンプ(再生位置の移動)が指令された場合、このユーザオペレーションを制限するか否かを設定するためのフラグ情報である。ここでは、PlayItem_random_access_flag=1に設定されている場合、他のPlayItemからのジャンプ再生を禁止するものとする。このフラグについての詳細な説明は後述する。
なお、ユーザオペレーションによりジャンプ(再生位置の移動)が指令されるのではなく、ナビゲーションコマンドによりジャンプ(再生位置の移動)が指令された場合、PlayItem_random_access_flagは無視される(コマンドは実行され、コマンドの発生に伴って、再生位置が移動される)。
さらに、PlayItem()には、最後に表示をした映像を静止画として表示をさせるか否かを示すstill_modeが含まれる。なお、is_multi_angleが複数ある場合(is_multi_angle==1)については、本発明と直接的には関係ないのでその説明を省略する。
そして、STN_table()は、対象のPlayItemとそれに関連付けられて再生される1つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作が、そのPlayItemが参照するClipとこれらの1つ以上のSubPathが参照するClipsの中から選ぶことができる仕組みを提供するものである。
次に、図10を参照して、PlayListMark()のシンタクスについて説明する。
lengthは、このlengthフィールドの直後からPlayListMark()の最後までのバイト数を示す32ビットのフィールドである。
number_of_PlayList_marksは、このPlayListMark()においてエントリされているマーク(上述したチャプタに対応するものを含む)の数を示す16ビットの符号なし整数である。
その後のfor文では、マークの数だけPlayListMarkが参照される。
PL_Mark_idは、for文において、マークを個別に定義するための値であり、それぞれ0から順に割り振られる。
mark_typeには、このマークのタイプを規定するための8ビットのフィールドである。ここでは、マークのタイプのひとつとして、Entry Markを説明する。マークがEntry Markであるとき、このマークへの参照が、ユーザオペレーションまたはコマンドの発生によって行われる場合、このPlayListMarkにより定義されるEntry Markは、上述したチャプタサーチ(Chapter Search)、Skip to Next Point、および、Skip Back to Previous Pointが実行された場合にジャンプ先として参照される。
また、上述したチャプタサーチにおいてユーザにより指定される番号であるChapter Numberとして、それぞれのEntry Markに対して異なる1以上の値が定義される。
ref_to_PlayItem_idは、このマークが配置されているPLayItemのPLayItem_idを示す16ビットのフィールドである。
mark_time_stampは、このマークが配置されている位置を、該当するPlayItemのIn_timeからの経過時間(再生時間)で示す32ビットのフィールドである。なお、mark_time_stampは、PlayItemのIn_timeとOUT_Timeとの間で定義されていなければならないのは、言うまでもない。
すなわち、マーク(Entry Mark)は、PlayListやPlayItemのそれぞれの区間とはまったく独立して任意の位置に設定することが可能である。
そして、更に、PlayListMark()には、entry_ES_PIDおよびdurationが定義されている。
以上説明したようなデータ構造において、PlayListと実際の映像(Clip AV Stream)は1対1に対応しているわけではない。そのため、あるClipに対応するPlayItemでのみ特殊再生を禁止するフラグを設けたとしても、他のプレイリストから、いずれかのEntry Mark、または、いずれかのPlayItemの先頭へのジャンプを許可してしまう恐れがある。そのため、PlayItemにPlayItem_random_access_flagを設けるのみではなく、PlayListにも、他のPlayListからのジャンプをPlayListとして許可するか否かを規定するフラグであるPlayList_random_access_flagを設けて、2段階構造とした。
このように、Clip AV Streamの再生をPlayList, PlayItemによって管理するという階層構造がとられているため、この実データ(Clip AV Stream)を考慮せずとも、時間軸で管理しているPlayList, PlayItemにおいて、特殊再生を管理することが出来る。
次に、図11および図12を参照して、PlayItemのUO_mask(UO_mask_Table()に記述される、ユーザオペレーションの有効または無効を示す情報)による特殊再生の制限について説明する。
UO_maskは、上述したように、一時停止、チャプタサーチ、ジャンプ、早送り、巻き戻し(後方再生)等の特殊再生、または、表示等に関するユーザ操作の制限を決める情報である。
例えば、図11に示されるように、PlayItem(1)およびPlayItem(2)のUO_mask_tableにおいてSkip to next Pointが禁止される(ジャンプ制限される)設定がなされ、PlayItem(3)に次のEntry Markが設定されている場合、PlayItem(1)およびPlayItem(2)のいずれの再生位置からも、PlayItem(3)のEntry Markへのジャンプが禁止される。
また、例えば、図12に示されるように、PlayItem(2)において、早送り(Forward Play)が禁止される(ジャンプ制限される)設定がなされている場合、PlayItem(2)のいずれの再生位置からも、早送り再生は禁止される。
なお、図11および図12においては、PlayItemのUO_mask_tableによる特殊再生の制限について説明したが、PlayListのUO_maskによる特殊再生の制限についても、同様であり、該当するPlayListにより参照されるClip AV streamの再生中には、UO_mask_table()によって受付が禁止されるように設定された特殊再生(ジャンプ)は、たとえユーザの指令があっても、受け付けられないようになされている。
次に、図13を参照して、PlayList_random_access_flagについて説明する。
図13に示されるように、PlayList(1)のPlayList_random_access_flagが1に設定され、PlayItem(2)にEntry Markが設定されている場合、他のPlayListにより参照されるClip AV streamの再生中のユーザオペレーションにより、PlayItem(2)のEntry Markへのジャンプが指令された場合、PlayList(1)の途中に設定されているPlayItem(2)のEntry Markからではなく、PlayList(1)により参照されるClip AV streamの先頭から再生が開始される。
また、PlayListの途中に設定されているEntryMarkへのジャンプのみならず、例えば、いずれかのPlayItemの先頭へのジャンプが指令された場合においても、PlayList(1)のPlayList_random_access_flagが1に設定されている場合においては、PlayList(1)の途中のいずれかのPlayItemの先頭ではなく、PlayList(1)の先頭から再生が開始される。
なお、他のPlayListの再生中のユーザオペレーションによるジャンプのみならず、例えば、メニュー表示状態など、映像の再生をしていない状態においてPlayList_random_access_flagが1に設定されているPlayList(1) により参照されるClip AV streamの途中のいずれかの位置へのジャンプが指令された場合にも、同様に、PlayList(1) により参照されるClip AV streamの先頭から再生が開始される。
なお、早送りでMovie PlayList(1)の最後まで再生された場合には、次に再生するMovie PlayList(2)が連続して早送り再生されるか否かは、実装次第である。すなわち、index tableから呼び出されるMovie Object (BD−J Object)において、Movie PlayList(1)およびMovie PlayList(2)を連続して再生するように記載(例えば、記録媒体11のMovie Object (BD−J Object)に対応する部分に記録)されていても、Movie Playlist(1)の実行後に、Movie Objectのコマンド実行に動作が移るため、Movie PlayList(1)の最後まで早送りが行なわれた場合に、Movie PlayList(2)までの早送りがされるかどうかは実装次第である。
また、例えば、再生装置1が、その拡張機能として、あるPlayListの途中のポイントから再生できる機能を備えており、その機能が、UO_mask_table()によって制限されていないユーザ操作であっても、Playlist_random_access_flagを無視する事は許されない。すなわち、例えば、再生装置1が、再生時刻からどこのポイントにでもEntry Pointを打つことができ、そのEntry Pointを保存する機能を有するものであっても、PlayList_random_access_flag=1にセットされているPlayListに対して、途中から再生を行なうことは許されない。換言すれば、再生装置1が独自拡張により任意のPlayListの任意のPlayItemあるいはmark(Entry Point)にジャンプを指令するユーザオペレーションを受け付ける機能を実装した場合であっても、そのユーザオペレーションは、PlayList_random_access_flagによる制限を受けるものである。
つぎに、図14乃至図21を参照して、PlayItem_random_access_flagについて説明する。
なお、図14乃至図21においては、PlayItem(1)およびPlayItem(3)において、PlayItem_random_access_flag=0が設定されており、PlayItem(2)において、PlayItem_random_access_flag=1が設定されているものとして説明する。
図14に示されるように、PlayItem_random_access_flag=1が設定されているPlayItem(2)にEntry Markが設定され、PlayItem(1)により参照されるClip AV streamの再生中のユーザオペレーションにより、PlayItem(2)のEntry Markへのジャンプが指令された場合、PlayItem(2)のEntry Markからではなく、PlayItem(2)により参照されるClip AV streamの先頭から再生が開始される。
また、図15に示されるように、PlayItem_random_access_flag=1が設定されているPlayItem(2)にEntry Markが設定され、PlayItem(3)により参照されるClip AV streamの再生中のユーザオペレーションにより、PlayItem(2)のEntry Markへのジャンプが指令された場合、PlayItem(2)のEntry Markからではなく、PlayItem(2)により参照されるClip AV streamの先頭から再生が開始される。
一方、図16に示されるように、PlayItem_random_access_flag=0が設定されているPlayItem(3)にEntry Markが設定され、PlayItem_random_access_flag=1が設定されているPlayItem(2)により参照されるClip AV streamの再生中のユーザオペレーションにより、PlayItem(3)のEntry Markへのジャンプが指令された場合には、ジャンプの指令は許可され、PlayItem(3)のEntry Markに再生位置がジャンプする。
また、図17に示されるように、PlayItem_random_access_flag=0が設定されているPlayItem(3)にEntry Markが設定され、PlayItem_random_access_flag=0が設定されているPlayItem(1)により参照されるClip AV streamの再生中のユーザオペレーションにより、PlayItem(3)のEntry Markへのジャンプが指令された場合にも、ジャンプの指令は許可され、PlayItem(3)のEntry Markに再生位置がジャンプする。
また、同様に、図18に示されるように、PlayItem_random_access_flag=0が設定されているPlayItem(1)にEntry Markが設定され、PlayItem_random_access_flag=0が設定されているPlayItem(3)により参照されるClip AV streamの再生中のユーザオペレーションにより、PlayItem(1)のEntry Markへのジャンプが指令された場合にも、ジャンプの指令は許可され、PlayItem(1)のEntry Markに再生位置がジャンプする。
そして、図19に示されるように、PlayItem_random_access_flag=0が設定されているPlayItem(3)にEntry Markが設定され、PlayItem_random_access_flag=0が設定されているPlayItem(1)により参照されるClip AV streamの再生中のユーザオペレーションにより、早送りが指令された場合には、PlayItem(1)に該当する再生位置においては、早送りが許可されるが、再生位置が、PlayItem_random_access_flag=1が設定されているPlayItem(2)に進んだとき、早送り再生処理は許可されず、PlayItem(2)の先頭部分から、通常速度で(早送りでは無く)再生処理が実行される。
なお、図19において、PlayItem(1)により参照されるClip AV streamの再生中に、PlayItem_random_access_flag=0が設定されているPlayItem(3)のEntry Markへのジャンプが指令された場合、そのジャンプの指令は許可される。
そして、図20に示されるように、PlayItem_random_access_flag=0が設定されているPlayItem(1)にEntry Markが設定され、PlayItem_random_access_flag=0が設定されているPlayItem(3)により参照されるClip AV streamの再生中のユーザオペレーションにより、早戻しが指令された場合には、PlayItem(3)に該当する再生位置においては、早戻しが許可されるが、再生位置が、PlayItem_random_access_flag=1が設定されているPlayItem(2)に進んだ(戻った)とき、早送り再生処理は許可されず、PlayItem(3)の先頭部分から、通常速度で(早送りや巻き戻しでは無く)再生処理が実行される。
なお、図20において、PlayItem(3)により参照されるClip AV streamの再生中に、PlayItem_random_access_flag=0が設定されているPlayItem(1)のEntry Markへのジャンプが指令された場合、そのジャンプの指令は許可される。
また、これらに対して、図21に示されるように、PlayItem_random_access_flag=1が設定されているPlayItem(2)により参照されるClip AV streamの再生中のユーザオペレーションにより、早送りが指令された場合には、PlayItem(2)に該当する再生位置であっても、同一のPlayItemからのジャンプは許可されるので、早送りが許可される。また、再生位置が、PlayItem_random_access_flag=0が設定されているPlayItem(3)に進んだときも、当然に、早送り再生処理は許可される。
なお、図示はしないが、PlayItem_random_access_flag=1が設定されているPlayItem(2)により参照されるClip AV streamの再生中のユーザオペレーションにより、早戻しが指令された場合にも、PlayItem(2)に該当する再生位置であっても、同一のPlayItemからのジャンプは許可されるので、早戻しが許可される。また、再生位置が、PlayItem_random_access_flag=0が設定されているPlayItem(1)に進んだ(戻った)ときも、当然に、早戻し再生処理は許可される。
次に、図22のフローチャートを参照して、再生装置1において実行される再生処理について説明する。
ステップS1において、コントローラ21は、操作入力部29から供給されるユーザの操作入力を基に、ユーザから、記録媒体11およびローカルストレージ24に記録されているコンテンツの再生を指令する操作入力を受けたか否かを判断する。ステップS1において、コンテンツの再生を指令する操作入力を受けなかったと判断された場合、コンテンツの再生を指令する操作入力を受けたと判断されるまで、ステップS1の処理が繰り返される。
ステップS1において、コンテンツの再生を指令する操作入力を受けたと判断された場合、ステップS2において、コントローラ21は、記録媒体11およびローカルストレージ24に記録されているコンテンツの、ナビゲーションプログラムが再生区間として指定するPlayListを読み出す。
ステップS3において、コントローラ21は、読み出したPlayListが参照するClipを読み出して、Clip AV Streamを読み出し(PlayListに含まれるPlayItemにより表されるタイムスタンプがClip informationによりアドレスに変換され、Clip AV Streamに対してアクセスし)、読み出したClip AV StreamをAVデコーダ部26に供給する。
ステップS4において、コントローラ21は、読み出したPlayListを基に、AVデコーダ部26を制御して、PlayItemにより指定されるコンテンツをデコードして、順次再生出力させる。
ステップS5において、コントローラ21は、ジャンプを指令するユーザオペレーションが発生したか否かを判断する。ステップS5において、ジャンプを指令するユーザオペレーションが発生していないと判断された場合、処理は、後述するステップS7に進む。
ステップS5において、ジャンプを指令するユーザオペレーションが発生したと判断された場合、ステップS6において、図23および図24を用いて後述する、ジャンプを指令するユーザオペレーション発生時の処理が実行される。
ステップS5において、ジャンプを指令するユーザオペレーションが発生していないと判断された場合、または、ステップS6の処理の終了後、ステップS7において、コントローラ21は、ユーザの操作入力によりコンテンツの再生終了が指令されるか、または、コンテンツが最後まで再生終了したかによって、コンテンツの再生が終了されるか否かを判断する。
ステップS7において、コンテンツの再生が終了されないと判断された場合、処理は、ステップS2に戻り、それ以降の処理が繰り返される。ステップS7において、コンテンツの再生が終了されたと判断された場合、処理は終了される。
次に、図23および図24を参照して、図22のステップS6において実行される、ジャンプを指令するユーザオペレーション発生時の処理について説明する。
ステップS31において、コントローラ21は、ユーザオペレーションが発生して指令されたジャンプは、他のプレイリストへのジャンプであるか否かを判断する。ステップS31において、他のプレイリストへのジャンプではない、すなわち、同一のプレイリスト内におけるジャンプであると判断された場合、処理は、後述するステップS38に進む。
ステップS31において、他のプレイリストへのジャンプであると判断された場合、ステップS32において、コントローラ21は、ジャンプ元、すなわち、現在再生中のPlayListにおけるAppInfoPlaylist()のUO_mask_table()、または、現在再生中のPlayItemにおけるPlayItem()のUO_mask_table()により、ユーザオペレーションによるジャンプが制限されているか否かを判断する。
ステップS32において、AppInfoPlaylist()のUO_mask_table()、または、PlayItem()のUO_mask_table()により、ユーザオペレーションによるジャンプが制限されていると判断された場合、ステップS33において、コントローラ21は、ユーザオペレーションを受け付けず、ジャンプを実行しないものとして、処理は、図22のステップS6に戻り、ステップS7に進む。
ステップS32において、AppInfoPlaylist()のUO_mask_table()、または、PlayItem()のUO_mask_table()により、ユーザオペレーションによるジャンプが制限されていいないと判断された場合、ステップS34において、コントローラ21は、ジャンプ先のPlayListを参照する。
ステップS35において、コントローラ21は、ジャンプ先のPlayListにおいて、PlayList_random_access_flag=1であるか否かを判断する。
ステップS35において、ジャンプ先のPlayListにおいて、PlayList_random_access_flag=1であると判断された場合、ステップS36において、コントローラ21は、ジャンプ先のPlayListの先頭から再生を開始し、処理は、図22のステップS6に戻り、ステップS7に進む。
ステップS35において、ジャンプ先のPlayListにおいて、PlayList_random_access_flag=1ではないと判断された場合、ステップS37において、コントローラ21は、ジャンプ先のPlayListの、ジャンプ先として指定された箇所からの再生を開始する。ただし、PlayItemの再生開始前には、後述するPlayList内での指定された箇所からの再生開始と同様の処理が行われるため、ジャンプ先のPlayItemにおいて、PlayItem_random_access_flag=1の場合は、ジャンプ先として指定された箇所を含むPlayItemの先頭からの再生開始となる。この処理の終了後、処理は、図22のステップS6に戻り、ステップS7に進む。
ステップS31において、他のプレイリストへのジャンプではない、すなわち、同一のプレイリスト内におけるジャンプであると判断された場合、ステップS38において、コントローラ21は、ジャンプ元のAppInfoPlaylist()のUO_mask_table()、または、ジャンプ元のPlayItemにおけるPlayItem()のUO_mask_table()により、ユーザオペレーションによるジャンプが制限されているか否かを判断する。
ステップS38において、AppInfoPlaylist()のUO_mask_table()、または、PlayItem()のUO_mask_table()により、ユーザオペレーションによるジャンプが制限されていると判断された場合、ステップS39において、コントローラ21は、ユーザオペレーションを受け付けず、ジャンプを実行しないものとして、処理は、図22のステップS6に戻り、ステップS7に進む。
ステップS38において、AppInfoPlaylist()のUO_mask_table()、または、PlayItem()のUO_mask_table()により、ユーザオペレーションによるジャンプが制限されていないと判断された場合、ステップS40において、コントローラ21は、PlayItem間のジャンプであるか否かを判断する。
ステップS40において、PlayItem間のジャンプではないと判断された場合、図21を用いて説明したように、ジャンプ先のPlayItemにおいて、PlayItem_random_access_flag=1であっても、PlayItemの範囲内での早送り、早戻しなどのジャンプ処理は許可されるので、ステップS41において、コントローラ21は、PlayItemの範囲内での早送り、早戻しなどのジャンプ処理を実行し、処理は、図22のステップS6に戻り、ステップS7に進む。
ステップS40において、PlayItemの境界を越えるジャンプであると判断された場合、ステップS42において、コントローラ21は、ジャンプ先のPlayItemにおいて、PlayItem_random_access_flag=1であるか否かを判断する。
ステップS42において、ジャンプ先のPlayItemにおいて、PlayItem_random_access_flag=1ではない、すなわち、PlayItem_random_access_flag=0であると判断された場合、ステップS43において、コントローラ21は、例えば、図16、図17、または図18を用いて説明したように、PlayItem間のジャンプ処理を実行し、処理は、図22のステップS6に戻り、ステップS7に進む。
ステップS42において、ジャンプ先のPlayItemにおいて、PlayItem_random_access_flag=1であると判断された場合、ステップS44において、コントローラ21は、前方向のジャンプが指令されているか否かを判断する。
ステップS44において、前方向のジャンプが指令されていると判断された場合、ステップS45において、コントローラ21は、例えば、図14または図19を用いて説明したように、PlayItem_random_access_flag=1を有するPlayItemの先頭から再生を開始し、処理は、図22のステップS6に戻り、ステップS7に進む。
ステップS44において、前方向のジャンプが指令されていない、すなわち、後ろ方向のジャンプが指令されていると判断された場合、ステップS46において、コントローラ21は、指令されたのは、時間を変数として有するジャンプ(早戻し)であるか否かを判断する。
ステップS46において、時間を変数として有するジャンプ(早戻し)であると判断された場合、ステップS47において、コントローラ21は、例えば、図20を用いて説明したように、PlayItem_random_access_flag=1を有するPlayItemの次のPlayItemから通常速度による再生を開始し、処理は、図22のステップS6に戻り、ステップS7に進む。
ステップS46において、時間を変数として有するジャンプ(早戻し)ではないと判断された場合、ステップS48において、コントローラ21は、例えば、図15を用いて説明したように、PlayItem_random_access_flag=1を有するPlayItemの先頭から再生を開始し、処理は、図22のステップS6に戻り、ステップS7に進む。
このような処理により、AppInfoPlaylist()のUO_mask_table()、PlayItem()のUO_mask_table()、PlayList_random_access_flag、および、PlayItem_random_access_flagに基づいて、特殊再生が制限されたコンテンツの再生を実行することができる。
換言すれば、コンテンツの供給元(製作者、販売者、提供者など)は、少なくともPlayListとPlayItemの2階層にフラグを設け、PlayList_random_access_flagで、PlayList外からの飛び込み再生を制御し、PlayItem_random_access_flagで、PlayList内でのジャンプ・変速再生を制御することにより、所望の再生部分に対する特殊再生を制限することができる。
また、UO_mask_tableは、該当箇所を再生している最中に発行されたユーザ操作を制限する。これに対して、PlayList_random_access_flagおよびPlayItem_random_access_flagは、該当箇所以外の所から、該当箇所に飛び込み再生するユーザ操作を制限するフラグである。換言すれば、PlayList_random_access_flagおよびPlayItem_random_access_flagは、該当箇所(フラグが設けられているPlayListまたはPlayItem)のうちの一部をスキップして再生することに対して制限を設けるものである。
PlayList_random_access_flag=1に設定されたPlayListにおいては、PlayListの外部からのジャンプにより、該当するPlayListの先頭以外からの再生を開始を指令するユーザオペレーションを受けた場合、強制的に該当するPlayListの先頭からの再生処理を実行するようになされている。
また、PlayItem_random_access_flagでは、例えば、上述した"Chapter search", "Time search", "Skip to next point", "Skip back to previous point","Forward Play" "Backward Play"などの変速再生のユーザオペレーションの動作を制限する。
また、本発明を適用した再生装置1によって再生されるデータは、実際の映像や音声などのデータに対応するClip AV Streamを、PlayListおよびPlayItemを用いて再生管理するようになされているので、本発明を適用した再生装置1によって再生されるデータの特殊再生の制限方法も、従来のDVDビデオのaccess_restricted_cell(DVD−Video part3規格書参照)とは異なり、PlayList_random_access_flagとPlayItem_random_access_flagとの2階層になっている。
また、DVDビデオでは、早送りや早戻しなどの変速再生系のユーザオペレーションのみを制御しており、サーチ系(飛び込み再生系)のユーザオペレーションに対する制限はなされていなかった。そのため、DVDビデオでは、図1を用いて説明したように、通常再生させたい部分に対して早送りを禁止しても、次チャプタージャンプ等で飛ばせてしまうという「抜け道」が存在してしまっていた。これに対して、本発明を適用した再生装置1によって再生されるデータにおいては、PlayItem_random_access_flagによって、変速再生系((Forward PlayやBackward Play)のユーザオペレーションに加えて、チャプタサーチ(Chapter Search)、タイムサーチ(Time Search)、Skip to next point、または、Skip back to previous pointなどのサーチ系(飛び込み再生系)のユーザオペレーションに対する制限も行うことができるようになされている。
更に、本発明を適用した再生装置1によって再生されるデータにおいては、例えば、PlayItem_random_access_flag=1が設定されているPlayItem中にEntry markが打たれている場合、図14および図15を用いて説明したように、PlayItem_random_access_flag=1が設定されているPlayItem内のEntry markからの再生開始を指定するチャプタサーチ(Chapter Search)、PlayItem_random_access_flag=1が設定されているPlayItem内の特定時刻からの再生開始を指示するタイムサーチ(Time Search)、Skip to next point、または、Skip back to previous pointなどのサーチ系(飛び込み再生系)のユーザオペレーションにより、PlayItem_random_access_flag=1が設定されているPlayItemの先頭から再生が開始される。
なお、チャプタサーチ(Chapter Search)やタイムサーチ(Time Search)では、引数であるチャプター番号や再生開始時刻の指定次第でPlayItem_random_access_flag=1が設定されているPlayItemを飛び越えるジャンプが可能であるが、そのようなジャンプも禁止したい場合、AppInfoPlayList()のUO_mask_table()あるいは、PlayListに含まれるすべてのPlayItemのPlayItem()のUO_mask_table()でチャプタサーチおよびタイムサーチを禁止しておけば、PlayItemを飛び越えるジャンプも出来なくなる。
一方、PlayItem_random_access_flag=1が設定されているPlayItem中にEntry markが打たれていなければ、図17および図18を用いて説明したように、"Skip to next point"または"Skip back to previous point"により、PlayItem_random_access_flag=1が設定されているPlayItemを飛び越えて再生位置を変更することが可能である。これにより、コンテンツ供給元(製作者、販売者、提供者など)の意図をより細かく反映させることが可能となる。
このような構成とすることにより、例えば、コンテンツの再生の最初に表示される、著作権保護のための警告画面(いわゆるFBI warning)、成人向けコンテンツであることを知らせる画面、一般の広告などを、変速再生やスキップ再生などで飛ばしてしまうことができないようにすることができる。
また、例えば、本発明を適用した再生装置1によって再生されるデータが、例えば、好みの位置からの再生や好みの順番での再生の他、様々な角度から撮影された映像の再生を可能にするマルチアングル機能、複数の言語の中から好みの言語での再生を可能にするマルチランゲージ機能、暴力シーンなどの、あるシーンの再生を行わないようにするバレンタルコントロール機能など、いわゆるインタラクティブな再生が可能なようになされている場合、再生の分岐点をユーザに通知する分岐画面や通知のメッセージなどは、ユーザにより必ず確認されなければならない。
しかしながら、再生の分岐点をユーザに通知する分岐画面や通知のメッセージなどが、変速再生により確認できない、または、確認が困難なような場合、例えば、早送り再生などで再生の分岐点をユーザに通知する分岐画面や通知のメッセージなどを読み飛ばしてしまう恐れがある。
そのため、分岐点をユーザに通知する分岐画面や通知のメッセージなどの再生を指定するPlayItemにentry_markを打ち、PlayItem_random_access_flag=1としておくことにより、分岐画面や通知のメッセージが必ず表示されるようにしておくと好適である。このとき、分岐画面を含むPlayListのAppInfoPlayList()のUO_mask_table()では、チャプタサーチおよびタイムサーチだけを禁止し、"Skip to next point", "Skip back to previous point", "Forward Play", "Backward Play"を禁止しなものとしておけば、PlayItem_random_access_flag=1のPlayItemを再生しようとする以外では、"Skip to next point", "Skip back to previous point", "Forward Play", "Backward Play"は通常の動作をするため、ユーザの操作性を損なうことがない。
すなわち、本発明のPlayList_random_access_flagおよびPlayItem_random_access_flagが無いとすると、UO_mask_tableだけでUOを制限することになるが、その場合、必要以上にユーザの操作性を損なってしまう可能性がある。また、UO_maskは現在再生しているPlayList,PlayItem内でのUOの有効無効を規定するものであり、ジャンプ先における再生開始位置を制限することは出来ない。ジャンプ先での再生制限には、PlayList_random_access_flagおよびPlayItem_random_access_flagが有効である。
また、例えば、ある一定時間クイズを表示した後に答が表示されるようなコンテンツの場合、早送りやチャプター送りでクイズが飛ばされていきなり答が見えてしまうような不都合を、同様にして防止することも可能である。この場合も、UO_maskと併用して"Skip to next point", "Skip back to previous point","Forward Play" "Backward Play"を制限しておくようにすると好適である。
すなわち、本発明を適用した再生装置1により再生可能なデータにおいては、以上説明したように、特殊再生の禁止区間(あるPlayItemにより規定される区間)をチャプタ(PlayListMark()により規定されるEntry Point)とは別に管理すること、並びに、PlayItemでの変速再生、および、ジャンプ再生(飛び込みサーチ系の再生)を制限するフラグ(PlayItem_random_access_flag)を設けるとともに、複数のPlayItemにより構成されるPlayList間でのジャンプを制限するフラグ(PlayList_random_access_flag)を設けるようになされている。換言すれば、本発明を適用した再生装置1により再生可能なデータにおいては、特殊再生禁止に関するフラグが2段階構造で記載されている。
このため、特殊再生の禁止区間(あるPlayItemにより規定される区間)に対して、チャプタージャンプにより実質的に再生をスキップしてしまうことを制限するとともに、複数のプレイリストで一つのAVデータを管理する場合であっても、特殊再生の制限をすることが可能となる。
次に、図25および図26を参照して、再生装置1において再生可能なデータが記録された記録媒体11の製造方法について、記録媒体11がディスク状の記録媒体だった場合を例として説明する。
即ち、図25に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
そして、図26に示すように、ソフト製作処理部において、符号化装置(ビデオエンコーダ)で符号化された、再生装置1において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ(例えば、Indexes、PlayList、PlayItemなど)が一時バッファに記憶される。それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータは、多重化器(MPX)で同期信号と共に多重化され、誤り訂正符号回路(ECC)でエラー訂正用のコードが付加される。そして、変調回路(MOD)で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置1において再生可能な記録媒体11に記録されるソフトウェアが製作される。
このソフトウェアを必要に応じて編集(プリマスタリング)し、光ディスクに記録すべきフォーマットの信号が生成される。そして、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
この成形用金型に、例えばインジェクションなどによりPMMA(アクリル)またはPC(ポリカーボネート)などの材料を注入し、固定化させる。あるいは、金属スタンパ上に2P(紫外線硬化樹脂)などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
その後、このディスクに対して内外径の加工が施され、2枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置1によって再生可能なデータが記録された記録媒体11が完成する。
また、上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この場合、上述した処理は、図27に示されるようなパーソナルコンピュータ500により実行される。
図27において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または、記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU501、ROM502、およびRAM503は、内部バス504を介して相互に接続されている。この内部バス504にはまた、入出力インターフェース505も接続されている。
入出力インターフェース505には、キーボード、マウスなどよりなる入力部506、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、並びに、モデム、ターミナルアダプタなどより構成される通信部509が接続されている。通信部509は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
入出力インターフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア521が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
このように、一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、図3に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini−Disk)(商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア28、または、図27のリムーバブルメディア521などにより構成される。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 再生装置, 2 ネットワーク, 3 サーバ, 4 表示/音声出力装置, 11 記録媒体, 12 リモートコマンダ, 21 コントローラ, 22 ストレージドライブ, 23 メモリ, 24 ローカルストレージ, 26 AVデコーダ部