JP5209513B2 - recoding media - Google Patents
recoding media Download PDFInfo
- Publication number
- JP5209513B2 JP5209513B2 JP2009008701A JP2009008701A JP5209513B2 JP 5209513 B2 JP5209513 B2 JP 5209513B2 JP 2009008701 A JP2009008701 A JP 2009008701A JP 2009008701 A JP2009008701 A JP 2009008701A JP 5209513 B2 JP5209513 B2 JP 5209513B2
- Authority
- JP
- Japan
- Prior art keywords
- field
- angle
- playlist
- data
- file
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
この発明は、ブルーレイディスク(Blu-ray Disc)といった大容量の記録媒体に記録されたプログラムに対するユーザによるインタラクティブな操作を可能とする記録媒体に関する。 The present invention relates to a recording medium that enables a user to interactively operate a program recorded on a large-capacity recording medium such as a Blu-ray Disc.
近年、記録可能で記録再生装置から取り外し可能なディスク型記録媒体の規格として、Blu−ray Disc(ブルーレイディスク)規格が提案されている。Blu−ray Disc規格では、記録媒体として直径12cm、カバー層0.1mmのディスクを用い、光学系として波長405nmの青紫色レーザ、開口数0.85の対物レンズを用いて、最大で27GB(ギガバイト)の記録容量を実現している。これにより、日本のBSディジタルハイビジョン放送を、画質を劣化させることなく2時間以上記録することが可能である。 In recent years, the Blu-ray Disc (Blu-ray Disc) standard has been proposed as a standard for a disc-type recording medium that can be recorded and is removable from a recording / reproducing apparatus. In the Blu-ray Disc standard, a disk having a diameter of 12 cm and a cover layer of 0.1 mm is used as a recording medium, a blue-violet laser having a wavelength of 405 nm and an objective lens having a numerical aperture of 0.85 are used as an optical system, and the maximum size is 27 GB (gigabytes). ) Recording capacity. As a result, it is possible to record Japanese BS digital high-definition broadcasting for 2 hours or more without degrading the image quality.
この記録可能光ディスクに記録するAV(Audio/Video)信号のソース(供給源)としては、従来からの、例えばアナログテレビジョン放送によるアナログ信号によるものと、例えばBSディジタル放送をはじめとするディジタルテレビジョン放送によるディジタル信号によるものとが想定されている。Blu−ray Disc規格では、これらの放送によるAV信号を記録する方法を定めた規格は、既に作られている。 As a source (supply source) of an AV (Audio / Video) signal to be recorded on the recordable optical disc, a conventional analog signal by analog television broadcast, for example, digital television including BS digital broadcast, for example. It is assumed to be a digital signal by broadcasting. In the Blu-ray Disc standard, a standard that defines a method for recording AV signals by these broadcasts has already been created.
一方で、現状のBlu−ray Discのの派生規格として、映画や音楽などが予め記録された、再生専用の記録媒体を開発する動きが進んでいる。映画や音楽を記録するためのディスク状記録媒体としては、既にDVD(Digital Versatile Disc)が広く普及しているが、このBlu−ray Discの企画に基づいた再生専用光ディスクは、Blu−ray Discの大容量および高速な転送速度などを活かし、ハイビジョン映像を高画質なままで2時間以上収録できる点が、既存のDVDとは大きく異なり、優位である。 On the other hand, as a derivation standard of the current Blu-ray Disc, there is a movement to develop a read-only recording medium in which movies, music, and the like are recorded in advance. As a disc-shaped recording medium for recording movies and music, a DVD (Digital Versatile Disc) is already widely used, but a read-only optical disc based on the Blu-ray Disc project is Blu-ray Disc's. It differs from existing DVDs in that it can record high-definition video for 2 hours or more with high capacity and high transfer speed.
ところで、現状のBlu−ray Discの規格では、ディスクに記録されている映像コンテンツの一覧を画面表示する方法や、その一覧表上にカーソルを表示させ、再生したい映像コンテンツをユーザに選択させるなどといったユーザインターフェイスに関する機能が定められていない。これらの機能は、Blu−ray Discに対する記録再生を行う記録再生装置本体によって実現されている。そのため、同一の記録媒体を再生した場合でも、再生に用いた記録再生装置によってコンテンツ一覧画面のレイアウトが異なってしまい、ユーザインタフェースにも差が生じ、必ずしもユーザにとって使い易いものではない。再生専用ディスクとしては、再生機器によらず、ディスク(コンテンツ)制作者が意図した通りのメニュー画面などが表示され、意図通りのユーザインターフェイスが実現される必要がある。 By the way, in the current Blu-ray Disc standard, a method of displaying a list of video contents recorded on a disc on the screen, a cursor is displayed on the list, and a user selects a video content to be reproduced. Functions related to the user interface are not defined. These functions are realized by the main body of the recording / reproducing apparatus that performs recording / reproduction with respect to the Blu-ray Disc. Therefore, even when the same recording medium is reproduced, the layout of the content list screen differs depending on the recording / reproducing apparatus used for reproduction, and the user interface is also different, which is not always easy for the user to use. As a playback-only disc, a menu screen as intended by a disc (content) producer is displayed regardless of the playback device, and a user interface as intended is required to be realized.
さらに、映像コンテンツの再生中に選択画面が表示され、ユーザの選択によってストーリーが分岐していくマルチストーリーの機能は、一般にインタラクティブ機能とも呼ばれる。このインタラクティブ機能を実現するためには、ディスク制作者が再生順序や分岐を定めたシナリオを作り、そのシナリオをプログラム言語、スクリプト言語等を使って記述し、ディスクに記録しておく必要がある。再生装置側では、そのプログラムを読み込み、実行することで、制作者の意図に従った映像コンテンツの再生や、分岐のための選択画面提示を実現することになる。 Furthermore, a multi-story function in which a selection screen is displayed during video content reproduction and a story branches according to a user's selection is generally called an interactive function. In order to realize this interactive function, it is necessary for the disc creator to create a scenario in which the playback order and branching are determined, and to describe the scenario using a program language, a script language, etc., and record it on the disc. On the playback device side, by reading and executing the program, playback of video content according to the intention of the creator and selection screen presentation for branching are realized.
このように、現状のBlu−ray Disc規格(Blu-ray Disc Rewritable Format Ver1.0)では、この制作者の意図通りのユーザインターフェイスを実現するための、メニュー画面や分岐選択画面の構成方法、ユーザ入力に対する処理を記述する方法が定められていない。そのため、現状では、Blu−ray Discを用いて、制作者が意図したシナリオ通りの再生を、再生装置の製造メーカや機種に左右されることなく互換性を持たせた形で実現することが難しいという問題点があった。 As described above, in the current Blu-ray Disc standard (Blu-ray Disc Rewritable Format Ver1.0), the configuration method of the menu screen and the branch selection screen for realizing the user interface as intended by the producer, the user A method for describing processing for input is not defined. Therefore, at present, it is difficult to realize reproduction according to the scenario intended by the producer using Blu-ray Disc in a compatible manner without being influenced by the manufacturer and model of the reproduction apparatus. There was a problem.
また、再生専用ディスクにおいては、同一の被写体を複数のカメラで撮影し、ユーザが好みのアングルでの視聴を選択できるマルチアングル機能が制作者側より求められており、これを実現できる仕組みを用意する必要がある。 In addition, for playback-only discs, producers are demanding a multi-angle function that allows users to select the desired subject angle by shooting the same subject with multiple cameras, and there is a mechanism to achieve this. There is a need to.
一方、従来から、例えばDVD(Digital Versatile Disc)の規格においては、上述のようなインタラクティブな機能が既に実現されていた。例えば、DVDビデオにより動画を再生中に、リモートコントロールコマンダなどを用いてメニュー画面を呼び出し、例えばメニュー画面上に配置されたボタンを選択するなどして、再生場面を変更するなどの処理が可能であった。また、マルチアングル機能も実現されていた。 On the other hand, in the past, for example, in the DVD (Digital Versatile Disc) standard, the interactive function as described above has already been realized. For example, during playback of a video by DVD video, a menu screen can be called using a remote control commander, etc., and a playback scene can be changed by, for example, selecting a button arranged on the menu screen. there were. A multi-angle function was also realized.
このように、DVDといった従来の記録媒体で実現されていたようなユーザインターフェイスやインタラクティブな機能を、Blu−ray Discといった大容量の記録媒体を再生専用ディスクとして用いた場合にも実現できることが求められている。 As described above, it is required that the user interface and interactive function that are realized by a conventional recording medium such as a DVD can be realized even when a large-capacity recording medium such as a Blu-ray Disc is used as a read-only disk. ing.
したがって、この発明の目的は、大容量の記録済み媒体において自由度の高いユーザインターフェイスを実現するための記録媒体を提供することにある。 Accordingly, an object of the present invention is to provide a recording medium for realizing a user interface having a high degree of freedom in a large-capacity recorded medium.
また、この発明の他の目的は、大容量の記録済み媒体において、より表現豊かなユーザインターフェイスを実現する記録媒体を提供することにある。 Another object of the present invention is to provide a recording medium that realizes a more expressive user interface in a large-capacity recorded medium.
この発明は、上述した課題を解決するために、再生装置によって再生されるコンテンツデータが記録された所定のデータ構造を有する記録媒体であって、データ構造は、1または複数のフレームを単位としてエンコードされたビデオストリームと、ビデオストリームの再生単位毎に設けられた、再生単位が複数のアングルで再生できるものであるか否かを示す第1のフラグと、再生単位が含むアングル数と、アングルそれぞれに対応するビデオストリーム上での位置を示す位置情報と、エンコード単位毎に設けられた、アングルをエンコード単位の先頭で切り替え可能か否かを示す第2のフラグとを含み、再生装置に装填されてデータ構造が再生装置に読み込まれたとき、第1のフラグが、再生単位が複数のアングルで再生できるものであることを示す場合は、位置情報に基づきビデオストリームの再生位置を変更して、所定のアングルを構成するビデオストリームを読み出すことができるようにさせ、さらに第2のフラグに基づく位置で、アングル毎にインタリーブされて記録されたビデオストリームの再生位置を変更して、他のアングルを構成するビデオストリームを読み出すことができるようにさせる上記データ構造が用いられた処理を、再生装置が行う記録媒体である。 In order to solve the above-described problems, the present invention is a recording medium having a predetermined data structure in which content data to be played back by a playback device is recorded, and the data structure is encoded in units of one or more frames. A first flag indicating whether or not the playback unit can be played back at a plurality of angles, the number of angles included in the playback unit, and each of the angles provided for each playback unit of the video stream. wherein the position information indicating the position on the corresponding video stream, provided for encoding unit, and a second flag showing whether to switch the angle at the beginning of the encoding units in is loaded into the reproducing apparatus when the data structure is loaded into the reproducing apparatus Te, the first flag, in which the reproduction unit can be reproduced with a plurality of angles If showing the bets, change the reproduction position of the video stream based on the location information, to be able to read the video stream constituting a predetermined angle, in addition position based on the second flag, for each angle A recording medium in which a playback apparatus performs a process using the above data structure for changing the playback position of an interleaved recorded video stream so that a video stream constituting another angle can be read. .
上述したように、この発明は、記録媒体に、ビデオストリームと、ビデオストリームの再生単位毎に設けられた、再生単位が複数のアングルで再生できるものであるか否かを示す第1のフラグと、再生単位が含むアングル数と、アングルそれぞれのビデオストリーム上での位置を示す位置情報とが記録され、位置情報に基づきアングルを構成するビデオストリームを読み出すことができるようにしているため、再生単位のビデオストリームを再生中にアングルを切り替えることができる効果がある。 As described above, according to the present invention, a recording medium is provided with a video stream and a first flag provided for each playback unit of the video stream, which indicates whether the playback unit can be played back at a plurality of angles. The number of angles included in the playback unit and the position information indicating the position of each angle on the video stream are recorded, and the video stream constituting the angle can be read based on the position information. The angle can be switched during playback of the video stream.
また、この発明は、主として再生されるメインストリームと、メインストリームに対して従としてメインストリームと共に再生されるサブストリームと、サブストリームをメインストリームに対して非同期に繰り返し再生するか否かを示すフラグとが記録され、フラグに基づきサブストリームの再生を制御できるようにしているため、メインストリームを再生中に、サブストリームをメインストリームに対して非同期に繰り返し再生することができる効果がある。 The present invention also provides a main stream that is mainly played back, a substream that is played back with the main stream as a subordinate to the main stream, and a flag that indicates whether or not the substream is repeatedly played back asynchronously with respect to the main stream. Is recorded, and the reproduction of the substream can be controlled based on the flag, so that the substream can be repeatedly reproduced asynchronously with respect to the main stream during the reproduction of the main stream.
また、この発明は、ビデオデータとビデオデータに対応して再生されるオーディオデータと、ビデオデータとオーディオデータとが多重化されているか、それぞれ独立的なファイルとされているかを少なくとも示すフラグとが記録され、ビデオデータとオーディオデータとを、フラグに基づき再生できるようにしているため、ビデオデータおよびオーディオデータの記録媒体からの読み出し方法をフラグに基づき制御することができる効果がある。 The present invention also includes video data, audio data to be played back corresponding to the video data, and at least a flag indicating whether the video data and the audio data are multiplexed or independent files. Since the recorded video data and audio data can be reproduced based on the flag, the method of reading the video data and audio data from the recording medium can be controlled based on the flag.
以下、この発明の実施の一形態について説明する。この発明の実施の一形態では、記録再生規格であるBlu−ray Disc規格(Blu-ray Disc Rewritable Format Ver1.0)を元に、再生専用ディスクで必要となるインタラクティブ機能や、マルチアングル機能などの機能を実現できるようにした。 Hereinafter, an embodiment of the present invention will be described. In one embodiment of the present invention, based on the Blu-ray Disc standard (Blu-ray Disc Rewritable Format Ver1.0) which is a recording / playback standard, an interactive function required for a playback-only disc, a multi-angle function, etc. The function can be realized.
先ず、理解を容易とするために、Blu−ray Discに関し、"Blu-ray Disc Rewritable Format Ver1.0 part3 Audio Visual Specifications"で規定されている、コンテンツすなわちディスクに記録されたAV(Audio/Video)データの管理構造について説明する。以下では、この管理構造をBDAVフォーマットと称する。
First, in order to facilitate understanding, with regard to Blu-ray Disc, AV (Audio / Video) recorded on a content, that is, a disc specified in “Blu-ray Disc Rewritable Format Ver1.0
例えばMPEG(Moving Pictures Experts Group)ビデオやMPEGオーディオなどの符号化方式で符号化され、MPEG2システムに従い多重化されたビットストリームは、クリップAVストリーム(またはAVストリーム)と称される。クリップAVストリームは、Blu−ray Discに関する規格の一つである"Blu-ray Disc Rewritable Format Ver1.0 part2"で定義されたファイルシステムにより、ファイルとしてディスクに記録される。このファイルを、クリップAVストリームファイル(またはAVストリームファイル)と称する。
For example, a bit stream encoded by an encoding method such as MPEG (Moving Pictures Experts Group) video or MPEG audio and multiplexed according to the MPEG2 system is called a clip AV stream (or AV stream). The clip AV stream is recorded on the disc as a file by a file system defined by “Blu-ray Disc Rewritable Format Ver1.0
クリップAVストリームファイルは、ファイルシステム上での管理単位であり、ユーザにとって必ずしも分かりやすい管理単位であるとは限らない。ユーザの利便性を考えた場合、複数のクリップAVストリームファイルに分割された映像コンテンツを一つにまとめて再生する仕組みや、クリップAVストリームファイルの一部だけを再生する仕組み、さらには、特殊再生や頭出し再生を滑らかに行うための情報などをデータベースとしてディスクに記録しておく必要がある。Blu−ray Discに関する規格の一つである"Blu-ray Disc Rewritable Format Ver1.0 part3"で、このデータベースが規定される。 The clip AV stream file is a management unit on the file system, and is not necessarily a management unit that is easily understood by the user. When considering user convenience, a mechanism for playing video content divided into multiple clip AV stream files together, a mechanism for playing only part of a clip AV stream file, and special playback And information for smoothly performing cueing playback must be recorded on the disk as a database. This database is defined by "Blu-ray Disc Rewritable Format Ver1.0 part3", which is one of the standards related to Blu-ray Disc.
図1は、AVストリームファイルの一部または全部の範囲を指定して、必要な部分だけを並べて再生する再生順序指定の仕組みを模式的に示す。図1において、プレイリスト(PlayList)は、AVストリームファイルの一部または全部の範囲を指定して、必要な部分だけを再生する指示を与える。ユーザがコンテンツの再生を行う際には、このプレイリストの単位で選択する。つまり、プレイリストは、ユーザからみてひとまとまり、すなわち、再生が連続に行われることをユーザが暗黙に期待する、映像・音声の単位である。 FIG. 1 schematically shows a reproduction order designation mechanism for designating a part or all of an AV stream file and arranging and reproducing only necessary parts. In FIG. 1, a play list (PlayList) designates a part or the whole range of an AV stream file and gives an instruction to reproduce only a necessary part. When the user reproduces the content, it is selected in units of this playlist. That is, the playlist is a unit of video / audio that the user implicitly expects to be collected together, that is, to be played back continuously.
最も簡単なプレイリストの構成は、記録が開始されてから記録が終了されるまでの一繋がりのAVストリームファイルからなり、編集をしなければ、これが一つのプレイリストになる。 The simplest playlist structure consists of a series of AV stream files from the start of recording to the end of recording. If no editing is performed, this is one playlist.
プレイリストは、再生するAVストリームファイルの指定と、指定されたAVストリームファイルの再生箇所を指定する再生開始点と再生終了点の集まりとから構成される。この再生開始点と再生終了点の情報を一組としたものは、プレイアイテム(PlayItem)と称される。プレイアイテムは、一つの再生単位であると考えることができる。プレイリストは、プレイアイテムの集合で構成される。プレイアイテムを再生するということは、そのプレイアイテムに参照されるAVストリームファイルの一部分を再生するということになる。 The playlist includes a designation of an AV stream file to be reproduced, and a collection of a reproduction start point and a reproduction end point that designate a reproduction portion of the designated AV stream file. A set of information of the reproduction start point and the reproduction end point is referred to as a play item (PlayItem). A play item can be considered as one reproduction unit. A playlist is composed of a set of play items. Playing a play item means playing a part of an AV stream file referenced by the play item.
クリップAVストリームは、上述したように、ビデオデータやオーディオデータがMPEG2 TS(トランスポートストリーム)の形式などに多重化されたビットストリームである。このクリップAVストリームに関する情報がクリップ情報(Clip Information)としてファイルに記録される。 As described above, the clip AV stream is a bit stream in which video data and audio data are multiplexed in the MPEG2 TS (transport stream) format or the like. Information regarding the clip AV stream is recorded in a file as clip information (Clip Information).
クリップAVストリームファイルと、対応するクリップ情報が記録されたクリップ情報ファイルとをひとまとまりのオブジェクトと見なし、クリップ(Clip)と称する。すなわち、クリップは、クリップAVストリームとクリップ情報とから構成される、一つのオブジェクトである。 A clip AV stream file and a clip information file in which corresponding clip information is recorded are regarded as a group of objects, and are referred to as a clip. That is, a clip is one object composed of a clip AV stream and clip information.
ファイルは、一般的に、バイト列として扱われる。クリップAVストリームファイルのコンテンツは、時間軸上に展開され、クリップ中のエントリーポイントは、主に時間ベースで指定される。所定のクリップへのアクセスポイントのタイムスタンプが与えられた場合、クリップAVストリームファイルの中でデータの読み出しを開始すべきアドレス情報を見つけるために、クリップ情報ファイルを用いることができる。 A file is generally treated as a byte sequence. The content of the clip AV stream file is expanded on the time axis, and the entry point in the clip is designated mainly on a time basis. When a time stamp of an access point to a predetermined clip is given, the clip information file can be used to find address information to start reading data in the clip AV stream file.
1のディスク中に記録された全てのプレイリストおよびクリップは、ボリュームインフォメーション(Volume Information)で管理される。 All playlists and clips recorded in one disc are managed by volume information.
図2は、上述のようなクリップAVストリーム、クリップ情報(Stream Attributes)、クリップ、プレイアイテムおよびプレイリストの関係を示すUML(Unified Modeling Language)図である。プレイリストは、1または複数のプレイアイテムに対応付けられ、プレイアイテムは、1のクリップに対応付けられる。1のクリップに対して、それぞれ開始点および/または終了点が異なる複数のプレイアイテムを対応付けることができる。1のクリップから1のクリップAVストリームファイルが参照される。同様に、1のクリップから1のクリップ情報ファイルが参照される。また、クリップAVストリームファイルとクリップ情報ファイルとは、1対1の対応関係を有する。このような構造を定義することにより、クリップAVストリームファイルを変更することなく、任意の部分だけを再生する、非破壊の再生順序指定を行うことが可能となる。 FIG. 2 is a UML (Unified Modeling Language) diagram showing the relationship between the clip AV stream, the clip information (Stream Attributes), the clip, the play item, and the play list as described above. A play list is associated with one or a plurality of play items, and the play item is associated with one clip. A plurality of play items having different start points and / or end points can be associated with one clip. One clip AV stream file is referenced from one clip. Similarly, one clip information file is referenced from one clip. The clip AV stream file and the clip information file have a one-to-one correspondence. By defining such a structure, it is possible to specify a non-destructive reproduction order in which only an arbitrary part is reproduced without changing the clip AV stream file.
また、図3のように、複数のプレイリストから同一のクリップを参照することもできる。図3の例では、クリップ1が2つのプレイリスト2および3から参照されている。図3において、クリップ1は、横方向が時間軸を表す。プレイリスト2により、コマーシャル区間b−cとシーンeとを含むクリップ1の区間a〜fが参照される。一方、プレイリスト3により、シーンeを含むクリップ1の区間d−gが参照される。プレイリスト2を指定することで、クリップ1の区間a〜fを再生することができ、プレイリスト3を指定することで、クリップ1の区間d−gを再生することができる。
Also, as shown in FIG. 3, the same clip can be referenced from a plurality of playlists. In the example of FIG. 3,
次に、"Blu-ray Disc Rewritable Format Ver1.0 part3"で規定された、記録媒体に記録されるファイルの管理構造について、図4を用いて説明する。ファイルは、ディレクトリ構造により階層的に管理される。記録媒体上には、先ず、1つのディレクトリ(図4の例ではルートディレクトリ)が作成される。このディレクトリの下が、1つの記録再生システムで管理される範囲とする。 Next, the management structure of a file recorded on a recording medium defined by “Blu-ray Disc Rewritable Format Ver1.0 part3” will be described with reference to FIG. Files are managed hierarchically by a directory structure. On the recording medium, first, one directory (root directory in the example of FIG. 4) is created. Below this directory is a range managed by one recording / reproducing system.
ルートディレクトリの下に、ディレクトリBDAVが置かれる。ディレクトリBDAVは、図4のように、ディレクトリBDAV、BDAV1、BDAV2、・・・、BDAVnの如く、ルートディレクトリの下に複数を置くことができる。以下では、複数のディレクトリBDAV、BDAV1、BDAV2、・・・、BDAVnをディレクトリBDAVで代表させて説明する。 A directory BDAV is placed under the root directory. As shown in FIG. 4, a plurality of directories BDAV can be placed under the root directory, such as directories BDAV, BDAV1, BDAV2,... BDAVn. In the following description, a plurality of directories BDAV, BDAV1, BDAV2,.
ディレクトリBDAVの下には、以下の6種類のファイルが置かれる。
(1)info.bdav
(2)menu.tidx、mark.tidx
(3)menu.tdt1、menu.tdt2、mark.tdt1、mark.tdt2
(4)#####.rpls、#####.vpls
(5)%%%%%.clpi
(6)*****.m2ts
The following six types of files are placed under the directory BDAV.
(1) info.bdav
(2) menu.tidx, mark.tidx
(3) menu.tdt1, menu.tdt2, mark.tdt1, mark.tdt2
(4) #####. Rpls, #####. Vpls
(5) %%%%%. Clpi
(6) *****. M2ts
なお、(4)のファイル「#####.rpls」および「#####.vpls」において、「#####」は、任意の番号を示す。同様に、(5)のファイル「%%%%%.clpi」において、「%%%%%」は任意の番号を示す。また、(6)のファイル「*****.m2ts」において、「*****」は、ファイル「*****.m2ts」がファイル「%%%%%.clpi」と一対一で対応するような番号である。例えば、番号「*****」は、番号「%%%%%」と同一とすることができる。 In the files “#####. Rpls” and “#####. Vpls” in (4), “#####” indicates an arbitrary number. Similarly, in the file “%%%%%. Clpi” of (5), “%%%%%” indicates an arbitrary number. In the file “*****. M2ts” in (6), “*****” is a pair of the file “*****. M2ts” and the file “%%%%%. Clpi”. It is a number corresponding to one. For example, the number “*****” can be the same as the number “%%%%%”.
(1)のファイル「info.bdav」は、ディレクトリBDAV全体の情報が格納されるファイルである。(2)のファイル「menu.tidx」および「mark.tidx」は、サムネイル画像の情報が格納されるファイルである。(3)のファイル「menu.tdt1」、「menu.tdt2」、「mark.tdt1」および「mark.tdt2」は、サムネイル画像が格納されるファイルである。各ファイルの拡張子「tdt1」および「tdt2」は、当該ファイルに格納されているサムネイル画像データが暗号化されているか否かを示す。 The file “info.bdav” in (1) is a file in which information on the entire directory BDAV is stored. The files “menu.tidx” and “mark.tidx” in (2) are files storing thumbnail image information. The files “menu.tdt1”, “menu.tdt2”, “mark.tdt1”, and “mark.tdt2” in (3) are files that store thumbnail images. The extensions “tdt1” and “tdt2” of each file indicate whether the thumbnail image data stored in the file is encrypted.
(4)のファイル「#####.rpls」、「#####.vpls」は、プレイリストの情報が格納されるファイルである。ファイル「#####.rpls」、「#####.vpls」は、ディレクトリBDAVの下に設けられたディレクトリPLAYLISTのさらに下に置かれている。 The files “#####. Rpls” and “#####. Vpls” in (4) are files in which playlist information is stored. The files “#####. Rpls” and “#####. Vpls” are placed under the directory PLAYLIST provided under the directory BDAV.
(5)のファイル「%%%%%.clpi」は、クリップ情報が格納されるファイルである。ファイル「%%%%%.clpi」は、ディレクトリBDAVの下に設けられたディレクトリCLIPINFのさらに下に置かれている。(6)のファイル「*****.m2ts」は、クリップAVストリームが格納される、クリップAVストリームファイルである。このクリップAVストリームファイルは、ファイル名の番号「*****」により、1つのクリップ情報ファイル「%%%%%.clpi」に対応付けられる。ファイル「*****.m2ts」は、ディレクトリBDAVの下に設けられたディレクトリSTREAMのさらに下に置かれる。 The file “%%%%%. Clpi” in (5) is a file in which clip information is stored. The file “%%%%%. Clpi” is placed under a directory CLIPINF provided under the directory BDAV. The file “*****. M2ts” in (6) is a clip AV stream file in which the clip AV stream is stored. This clip AV stream file is associated with one clip information file “%%%%%. Clpi” by a file name number “*****”. The file “*****. M2ts” is placed under the directory STREAM provided under the directory BDAV.
各ファイルについて、より詳細に説明する。(1)のファイル「info.bdav」は、ディレクトリBDAVの下に唯一、設けられる。図5は、ファイル「info.bdav」の一例の構造を表すシンタクスを示す。ここでは、シンタクスをコンピュータ装置などのプログラムの記述言語として用いられるC言語の記述法に基づき示す。これは、他のシンタクスを表す図において、同様である。 Each file will be described in more detail. The file “info.bdav” of (1) is provided only under the directory BDAV. FIG. 5 shows syntax that represents an example of the structure of the file “info.bdav”. Here, the syntax is shown based on a description method in C language used as a program description language such as a computer device. This is the same in the diagrams representing other syntaxes.
図5において、ファイル「info.bdav」の内部は、機能別の情報毎にブロックが構成される。フィールドtype_indicatorは、文字列「BDAV」が格納され、このファイルがファイル「info.bdav」であることが示される。フィールドversion_numberは、このファイル「info.bdav」のバージョンが示される。ブロックUIAppInfoBDAV()は、ディレクトリBDAVの下に関する情報が格納される。ブロックTableOfPlayLists()は、プレイリストの並びに関する情報が格納される。ブロックMakersPrivateData()は、記録再生装置のメーカ固有の情報が格納される。 In FIG. 5, the file “info.bdav” has a block for each function-specific information. The field type_indicator stores a character string “BDAV” and indicates that this file is a file “info.bdav”. A field version_number indicates the version of this file “info.bdav”. The block UIAppInfoBDAV () stores information related to the directory BDAV. The block TableOfPlayLists () stores information related to the arrangement of playlists. The block MakersPrivateData () stores information unique to the manufacturer of the recording / reproducing apparatus.
ファイル「info.bdav」の先頭には、各ブロックの先頭を表すアドレスが記述される。例えば、フィールドTableOfPlayLists_Start_addressは、ブロック「TableOfPlayLists()」の開始する位置がファイル内の相対バイト数で示される。 At the head of the file “info.bdav”, an address indicating the head of each block is described. For example, in the field TableOfPlayLists_Start_address, the start position of the block “TableOfPlayLists ()” is indicated by the relative number of bytes in the file.
図6は、ブロックUIAppInfoBDAV()の一例の構造を表すシンタクスを示す。フィールドlengthは、フィールドlength直後のフィールドからこのブロックUIAppInfoBDAV()の最後までの長さがバイトで示される。フィールドBDAV_character_setは、このブロックUIAppInfoBDAV()内のフィールドBDAV_nameに記録されている文字列の文字セットが示される。文字セットとしては、ASCII、Unicodeなどが選択できる。 FIG. 6 shows syntax that represents an example of the structure of block UIAppInfoBDAV (). In the field length, the length from the field immediately after the field length to the end of the block UIAppInfoBDAV () is indicated in bytes. A field BDAV_character_set describes a character set of a character string recorded in the field BDAV_name in the block UIAppInfoBDAV (). ASCII, Unicode, etc. can be selected as the character set.
フラグBDAV_protect_flagは、ディレクトリBDAVの下に置かれるコンテンツを、ユーザに制限無しに見せて良いか否かを示す。例えば、このフラグが値「1」にセットされており、且つ、ユーザが正しく暗証番号PIN(Personal Identification Number)を入力できた場合に、ディレクトリBDAVの下に置かれたコンテンツをユーザに見せることができるものとする。一方、フラグBDAV_protect_flagが値「0」にセットされている場合には、ユーザによる暗証番号PINの入力が無くても、ディレクトリBDAVの下に置かれたコンテンツをユーザに見せることができる。 The flag BDAV_protect_flag indicates whether or not the content placed under the directory BDAV can be shown to the user without restriction. For example, when this flag is set to the value “1” and the user can correctly input a personal identification number PIN (Personal Identification Number), the content placed under the directory BDAV may be shown to the user. It shall be possible. On the other hand, when the flag BDAV_protect_flag is set to the value “0”, the content placed under the directory BDAV can be shown to the user without the input of the personal identification number PIN by the user.
暗証番号PINは、フィールドPINに記録される。暗証番号PINは、例えば4桁の0〜9の数字からなり、上述のように再生制御を有効にした場合に必要となる暗証番号を表す。暗証番号PINのそれぞれの数字は、例えばISO(International Organization for Standarization)/IEC(International Electrotechnical Commission)646の規定に従って符号化される。
The personal identification number PIN is recorded in the field PIN. The personal identification number PIN is composed of, for example, four
このブロックUIAppInfoBDAV()に示される以上の情報により、ディレクトリBDAVに対する再生制限が規定される。なお、詳細は後述するが、個々のプレイリストに対する再生制限については、ファイル「#####.rpls」、「#####.vpls」内に示されるブロックUIAppInfoPlayList()の中で定義されるフラグplayback_control_flagによって規定される。 With the above information shown in the block UIAppInfoBDAV (), playback restrictions on the directory BDAV are defined. Although details will be described later, playback restrictions for individual playlists are defined in the block UIAppInfoPlayList () shown in the files "#####. Rpls" and "#####. Vpls". Defined by the playback_control_flag flag.
この例では、ディレクトリBDAVの下のコンテンツの再生を再開する際に、優先して再生すべきプレイリストを指定する、レジューム機能を用いることができる。このレジューム機能は、前回視聴を中断した箇所から再生を再開したい場合などに使うことを想定している。 In this example, when the reproduction of the content under the directory BDAV is resumed, a resume function for designating a playlist to be preferentially reproduced can be used. This resume function is assumed to be used when it is desired to resume playback from the point where the previous viewing was interrupted.
図6において、フラグresume_valid_flagは、このレジューム機能の有効/無効を示す。例えば、このフラグが値「0」にセットされている場合には、レジューム機能は無効とされ、このフラグが値「1」にセットされている場合には、レジューム機能が有効とされ、その際、フィールドresume_PlayList_file_nameで指定されるプレイリストを、優先して再生すべきプレイリストとして扱う。 In FIG. 6, a flag resume_valid_flag indicates whether the resume function is valid / invalid. For example, when this flag is set to the value “0”, the resume function is disabled, and when this flag is set to the value “1”, the resume function is enabled. The playlist specified in the field resume_PlayList_file_name is handled as a playlist to be played back with priority.
フィールドref_to_menu_thumbnail_indexは、このディレクトリBDAVを代表するサムネイル画像が存在する場合、そのサムネイル画像を特定するサムネイル番号が格納される領域である。Blu−ray Discの規格では、ディレクトリBDAVを代表する静止画を特にメニューサムネイルと呼ぶ。フィールドref_to_menu_thumbnail_indexで指定されるインデックスthumbnail_indexを持つサムネイル画像がこのディレクトリBDAVのメニューサムネイルとなる。 A field ref_to_menu_thumbnail_index is an area for storing a thumbnail number for specifying a thumbnail image representing the directory BDAV. In the Blu-ray Disc standard, a still image representing the directory BDAV is particularly called a menu thumbnail. A thumbnail image having the index thumbnail_index specified by the field ref_to_menu_thumbnail_index becomes the menu thumbnail of this directory BDAV.
フィールドBDAV_name_lengthは、フィールドBDAV_nameに示されるディレクトリBDAV名のバイト長を示す。このフィールドBDAV_nameにおいて、左から、フィールドBDAV_name_lengthで示されるだけのバイト数が有効な文字列であり、それがこのディレクトリBDAVの名前を示す。なお、フィールドBDAV_nameの中で、フィールドBDAV_name_lengthで示された有効な文字列の後のバイト列には、どのような値が入っていても良い。 A field BDAV_name_length indicates the byte length of the directory BDAV name indicated in the field BDAV_name. In this field BDAV_name, from the left, the number of bytes indicated by the field BDAV_name_length is a valid character string, which indicates the name of this directory BDAV. In the field BDAV_name, any value may be contained in the byte string after the valid character string indicated by the field BDAV_name_length.
図7は、ブロックTableOfPlayLists()の一例の構造を表すシンタクスを示す。フィールドnumber_of_PlayListsは、このディレクトリBDAVの下に置かれたプレイリストの数が示される。このプレイリスト数をループ変数とする、次に続く「for」文のループにおいてフィールドPlayList_file_nameにより示されるプレイリストの並びが、プレイリスト一覧表示画面などに表示される際のプレイリストの順序を示す。プレイリストは、フィールドPlayList_file_nameにより、「#####.rpls」や「#####.vpls」といったファイル名で指定される。 FIG. 7 shows syntax that represents an example of the structure of the block TableOfPlayLists (). A field number_of_PlayLists indicates the number of playlists placed under this directory BDAV. This shows the order of playlists when the list of playlists indicated by the field PlayList_file_name is displayed on the playlist list display screen or the like in the subsequent “for” statement loop, in which the number of playlists is a loop variable. The playlist is specified by a file name such as “#####. Rpls” or “#####. Vpls” in the field PlayList_file_name.
ファイル「#####.rpls」および「#####.vpls」は、上述したように、ディレクトリPLAYLISTの下に置かれる。これらのファイルは、1つのプレイリストと一対一に対応している。 The files “#####. Rpls” and “#####. Vpls” are placed under the directory PLAYLIST as described above. These files have a one-to-one correspondence with one playlist.
図8は、ファイル「#####.rpls」および「#####.vpls」の一例の構造を表すシンタクスを示す。図8において、ファイル「#####.rpls」および「#####.vpls」の内部は、機能別の情報毎にブロックが構成される。フィールドtype_indicatorにこのファイルを示す文字列が格納され、フィールドversion_numberにこのファイルのバージョンが示される。 FIG. 8 shows syntax that represents an example structure of the files “#####. Rpls” and “#####. Vpls”. In FIG. 8, the files “#####. Rpls” and “#####. Vpls” have blocks for each function-specific information. A character string indicating this file is stored in the field type_indicator, and the version of this file is indicated in the field version_number.
ブロックUIAppInfoPlayList()は、このプレイリストに関する属性情報が格納される。ブロックPlayList()は、このプレイリストを構成するプレイアイテムに関する情報が格納される。ブロックPlayListMark()は、このプレイリストに付されるマークの情報が格納される。ブロックMakersPrivateData()は、このプレイリストファイルを記録した装置の、メーカ固有の情報が格納される。ファイル「#####.rpls」および「#####.vpls」の先頭に設けられるフィールドPlayList_start_address、PlayListMark_start_addressおよびMakersPrivateData_start_addressには、それぞれ対応するブロックの先頭アドレスが例えば32ビットのアドレス情報として示される。 The block UIAppInfoPlayList () stores attribute information related to this playlist. The block PlayList () stores information regarding play items that constitute the play list. The block PlayListMark () stores information on marks attached to this playlist. The block MakersPrivateData () stores information unique to the manufacturer of the device that recorded the playlist file. In the fields PlayList_start_address, PlayListMark_start_address and MakersPrivateData_start_address provided at the beginning of the files “#####. Rpls” and “#####. Vpls”, the start address of the corresponding block is indicated as 32-bit address information, for example. It is.
各ブロックの先頭アドレスがファイル「#####.rpls」および「#####.vpls」の先頭に示されるために、ブロックの前および/または後ろに、任意の長さのデータpadding_wordを挿入することができる。但し、ファイル「#####.rpls」および「#####.vpls」の最初のブロックであるブロックUIAppInfoPlayList()の開始位置は、ファイルの先頭から320バイト目に固定される。 Since the start address of each block is indicated at the beginning of the files "#####. Rpls" and "#####. Vpls", data padding_word of arbitrary length can be placed before and / or after the block. Can be inserted. However, the start position of the block UIAppInfoPlayList () that is the first block of the files “#####. Rpls” and “#####. Vpls” is fixed to the 320th byte from the beginning of the file.
図9は、ブロックUIAppInfoPlayList()の一例の構造を表すシンタクスを示す。ブロックUIAppInfoPlayList()は、プレイリストの再生において直接的に必要とされない、プレイリストに関する各種の属性情報が格納される。フィールドPlayList_character_setは、プレイリストに関する文字列情報の文字セットが指定される。 FIG. 9 shows syntax that represents an example of the structure of a block UIAppInfoPlayList (). The block UIAppInfoPlayList () stores various attribute information related to the playlist that is not directly required for playback of the playlist. In the field PlayList_character_set, a character set of character string information related to the playlist is specified.
フラグplayback_control_flagは、情報表示やプレイリストの再生を暗証番号PINに基づき制限するか否かが指定される。例えばフラグplayback_control_flagが値「1」であれば、ユーザにより正しい暗証番号PINが入力されなければ、プレイリストのサムネイル画像などの情報表示や、プレイリストの再生ができないとされる。フラグwrite_protect_flagは、消去禁止フラグである。例えばこのフラグwrite_protect_flagが値「1」であれば、ユーザが容易にプレイリストを消去できないようなユーザインタフェースにする必要がある。フラグis_played_flagは、このプレイリストが再生済みであることを示す。フラグis_edited_flagは、このプレイリストが編集されたことを示す。 The flag playback_control_flag specifies whether or not to restrict information display and playlist reproduction based on the PIN. For example, if the flag playback_control_flag is “1”, information display such as thumbnail images of the playlist and playback of the playlist cannot be performed unless the correct PIN number is input by the user. The flag write_protect_flag is an erasure prohibition flag. For example, if the flag write_protect_flag has a value “1”, it is necessary to make the user interface such that the user cannot easily delete the playlist. The flag is_played_flag indicates that this playlist has been played. The flag is_edited_flag indicates that this playlist has been edited.
フィールドtime_zoneは、このプレイリストが記録された地点のタイムゾーンを示す。フィールドrecord_time_and_dateは、プレイリストの記録日時を示す。フィールドPlayList_durationは、プレイリストの再生時間を示す。 A field time_zone indicates a time zone where the play list is recorded. A field record_time_and_date indicates the recording date and time of the playlist. A field PlayList_duration indicates the playback time of the playlist.
フィールドmaker_IDおよびmaker_model_codeは、このプレイリストを最終更新した記録機のメーカおよび記録機をそれぞれ特定する情報が例えば番号で示される。フィールドchannel_numberは、記録したクリップAVストリームのチャンネル番号が示され、フィールドchannel_nameは、当該チャンネル名が示される。フィールドchannel_nameに示されるチャンネル名の長さがフィールドchannel_name_lengthに示される。フィールドchannel_name の領域のうち、フィールドchannel_name_lengthで示される長さの文字列が有効となる。フィールドPlayList_nameは、フィールドPlayList_name_lengthに示される値を有効長としてプレイリスト名が示される。フィールドPlayList_detailは、フィールドPlayList_detail_lengthに示される値を有効長としてプレイリストの詳細情報が示される。 In the fields maker_ID and maker_model_code, for example, information specifying the manufacturer and the recorder of the recorder that last updated the playlist is indicated by a number. The field channel_number indicates the channel number of the recorded clip AV stream, and the field channel_name indicates the channel name. The length of the channel name indicated in the field channel_name is indicated in the field channel_name_length. Of the area of the field channel_name, the character string having the length indicated by the field channel_name_length is valid. In the field PlayList_name, the play list name is indicated with the value indicated in the field PlayList_name_length as the effective length. In the field PlayList_detail, detailed information of the play list is indicated with the value indicated in the field PlayList_detail_length as an effective length.
図10は、ブロックPlayList()の一例の構造を表すシンタクスを示す。フィールドlengthは、フィールドlengthの直後のフィールドからこのブロックPlayList()の終端までのバイト長を示す。フィールドPL_CPI_typeは、このプレイリストが持つCPI(Characteristic Point Information:特徴点情報)の種類を示す。フィールドnumber_of_PlayItemsは、このプレイリストを構成するプレイアイテムの数を示す。フィールドnumber_of_SubPlayItemsは、このプレイリストに付けられているアフレコオーディオ用のプレイアイテム(サブプレイアイテム)の数を示す。詳細は省略するが、プレイリストは、所定の条件を満たす場合にだけ、サブプレイアイテムを持つことができる。 FIG. 10 shows syntax that represents an example of the structure of a block PlayList (). The field length indicates the byte length from the field immediately after the field length to the end of the block PlayList (). A field PL_CPI_type indicates the type of CPI (Characteristic Point Information) that the playlist has. A field number_of_PlayItems indicates the number of play items constituting the play list. A field number_of_SubPlayItems indicates the number of post-audio recording play items (sub play items) attached to the play list. Although details are omitted, a playlist can have a sub play item only when a predetermined condition is satisfied.
ブロックPlayItem()は、プレイアイテムの情報が格納される。ブロックSubPlayItem()は、サブプレイアイテムの情報が格納される。 The block PlayItem () stores play item information. The block SubPlayItem () stores information on sub play items.
図11は、ブロックPlayItem()の一例の構造を表すシンタクスを示す。フィールドClip_Information_file_nameは、このプレイアイテムが参照しているクリップと一対一に対応するクリップ情報ファイル(拡張子がclpiであるファイル)のファイル名が文字列で示される。クリップ情報ファイルは、拡張子が「clpi」とされているファイルである。 FIG. 11 shows syntax that represents an example of the structure of a block PlayItem (). In the field Clip_Information_file_name, the file name of the clip information file (file whose extension is clpi) corresponding to the clip referred to by the play item is indicated by a character string. The clip information file is a file whose extension is “clpi”.
フィールドClip_codec_identifierは、このプレイアイテムにより参照されるクリップの符号化方式を示す。この例では、フィールドClip_codec_Identifierは、値「M2TS」に固定的とされる。フィールドconnection_conditionは、このプレイアイテムが次のプレイアイテムとの間でどのような接続がされているかを示す情報である。すなわち、フィールドconnection_conditionにより、プレイアイテムとプレイアイテムとの間が継ぎ目なくシームレスに再生できるか否かが示される。 A field Clip_codec_identifier indicates an encoding method of a clip referred to by the play item. In this example, the field Clip_codec_Identifier is fixed to the value “M2TS”. The field connection_condition is information indicating how this play item is connected to the next play item. That is, the field connection_condition indicates whether or not play items can be reproduced seamlessly between play items.
フィールドref_to_STC_idは、このプレイアイテムにより参照されるクリップ内のシーケンスSTC_sequenceを指定する。シーケンスSTC_sequenceは、MPEG2 TS(Transport Stream)における時間軸の基準であるPCR(Program Clock Reference)が連続な範囲を表すBlu−ray Disc規格独自の構造である。シーケンスSTC_sequenceには、クリップ内で一意な番号STC_idが割り当てられる。このシーケンスSTC_sequence内では、不連続の無い一貫した時間軸を定義できるので、プレイアイテムの開始時刻および終了時刻を一意に定めることができる。つまり、各プレイアイテムの開始点と終了点は、同一のシーケンスSTC_sequenceに存在していなければならない。フィールドref_to_STC_idでは、番号STC_idによりシーケンスSTC_sequenceが指定される。 A field ref_to_STC_id specifies a sequence STC_sequence in the clip referred to by this play item. The sequence STC_sequence is a structure unique to the Blu-ray Disc standard that represents a continuous range of PCR (Program Clock Reference), which is a time axis reference in MPEG2 TS (Transport Stream). A number STC_id unique within the clip is assigned to the sequence STC_sequence. In this sequence STC_sequence, a consistent time axis without discontinuity can be defined, so that the start time and end time of a play item can be uniquely determined. That is, the start point and the end point of each play item must exist in the same sequence STC_sequence. In the field ref_to_STC_id, a sequence STC_sequence is specified by a number STC_id.
フィールドIN_timeおよびOUT_Timeは、このプレイアイテムにおける開始点および終了点の、シーケンスSTC_sequence 上でのタイムスタンプpts(presentation_time_stamp)をそれぞれ示す。 Fields IN_time and OUT_Time indicate time stamps pts (presentation_time_stamp) on the sequence STC_sequence of the start point and end point of this play item, respectively.
ブロックBridgeSequnceInfo()は、ブリッジクリップ(Bridge-Clip)に関する情報が格納される。ブリッジクリップは、図12に一例が示されるように、プレイアイテム間を継ぎ目無く、シームレスに再生する機能を実現する際に作成されるビットストリームである。前のプレイアイテムと現在のプレイアイテムとの継ぎ目の部分で、本来再生すべきビットストリームとは異なるビットストリーム、すなわちブリッジクリップを代わりに再生することで、2つのプレイアイテムをシームレスに再生することができる。このブリッジクリップによる機能は、この発明と関連性が低いので、詳細は省略する。 The block BridgeSequnceInfo () stores information related to a bridge clip (Bridge-Clip). A bridge clip is a bit stream created when realizing a function of seamless playback between play items, as shown in an example in FIG. It is possible to play two play items seamlessly by playing a bit stream different from the bit stream that should originally be played, that is, a bridge clip instead, at the joint between the previous play item and the current play item. it can. Since the function of the bridge clip is not related to the present invention, the details are omitted.
図13は、ブロックPlayListMark()の一例の構造を表すシンタクスを示す。ブロックPlayListMark()は、マークの情報が格納されるデータ構造である。マークは、プレイリスト上の時刻を保持するための構造であって、マークを用いることにより、プレイリスト中への頭出し点の設定、プレイリストを細分化するチャプタの構造を設ける、などの機能が実現される。さらに、後述するグラフィクスプレーン上に描画された画像の表示開始/停止のタイミングを、マークを用いて指定することができる。 FIG. 13 shows syntax that represents an example of the structure of a block PlayListMark (). The block PlayListMark () has a data structure in which mark information is stored. The mark is a structure for holding the time on the playlist, and by using the mark, functions such as setting a cue point in the playlist and providing a chapter structure for subdividing the playlist Is realized. Furthermore, the display start / stop timing of an image drawn on a graphics plane to be described later can be specified using a mark.
フィールドlengthは、フィールドlengthの直後のフィールドからブロックPlayListMark()の終端までのバイト長を示す。フィールドnumber_of_PlayList_marksは、プレイリスト中のマークの数を表す。「for」文での1回のループが1つのマークの情報を示す。フラグmark_invalid_flagは、このマークが有効であるか否かを示す。例えば、フラグmark_invalid_flagが値「0」でそのマークが有効であることが示され、値「1」であれば、そのマークの情報がデータベース上に存在するが、当該マークがユーザには見えない無効マークとされていることを示す。 The field length indicates the byte length from the field immediately after the field length to the end of the block PlayListMark (). A field number_of_PlayList_marks represents the number of marks in the playlist. One loop in the “for” statement indicates information of one mark. The flag mark_invalid_flag indicates whether or not this mark is valid. For example, the flag mark_invalid_flag indicates that the mark is valid when the value is “0”. If the value is “1”, the mark information exists in the database, but the mark cannot be seen by the user. Indicates that it is marked.
フィールドmark_typeは、このマークの種類を表す。マークの種類としては、プレイリストのサムネイル画像(代表画)とする映像の位置を示すマーク、どこまで再生したかを示すレジュームマーク、頭出し点を示すチャプタマーク、ある区間の再生を飛ばして先に進むことを示すスキップマーク、グラフィクス画像の読み込み開始タイミングを示すマーク、グラフィクス画像の表示開始のタイミングを示すマーク、グラフィクス画像の表示停止のタイミングを示すマークなどがある。 A field mark_type represents the type of this mark. The types of marks include the mark indicating the position of the video as the thumbnail image (representative image) of the playlist, the resume mark indicating how far it has been played back, the chapter mark indicating the cue point, and skipping playback of a certain section first. There are a skip mark indicating progress, a mark indicating the timing to start reading the graphics image, a mark indicating the timing to start displaying the graphics image, a mark indicating the timing to stop displaying the graphics image, and the like.
フィールドmark_name_lengthは、後述するフィールドmark_nameのデータ長を示す。フィールドmaker_IDは、このマークを作成した記録機の製造者を示す。これは、製造者独自のマークを識別する際に用いられる。フィールドref_to_PlayItem_idは、このマークにより指示される時刻がどのプレイアイテム上に存在するかが示される。フィールドmark_time_stampは、このマークにより指示される時刻が示される。 A field mark_name_length indicates the data length of a field mark_name described later. The field maker_ID indicates the manufacturer of the recording machine that created this mark. This is used to identify the manufacturer's unique mark. Field ref_to_PlayItem_id indicates on which play item the time indicated by this mark exists. A field mark_time_stamp indicates the time indicated by this mark.
フィールドentry_ES_PIDは、このマークがどのエレメンタリストリームすなわち映像データおよび/または音声データが符号化されたストリームに対して付与されたものかが示される。フィールドref_to_menu_thumbnail_indexおよびフィールドref_to_mark_thumbnail_indexは、マークを視覚的に表すサムネイル画像を示す。サムネイル画像としては、例えばそのマークにより指定される時刻の映像を静止画として抜き出した画像が考えられる。 The field entry_ES_PID indicates which elementary stream, that is, the stream to which the video data and / or audio data is encoded. A field ref_to_menu_thumbnail_index and a field ref_to_mark_thumbnail_index indicate thumbnail images that visually represent marks. As the thumbnail image, for example, an image obtained by extracting a video at a time designated by the mark as a still image can be considered.
フィールドdurationは、マークが時間軸上で長さを持つ場合に使われる。例えばスキップマークであれば、どのくらいの時間ジャンプをするかがフィールドdurationにより指定される。 The field duration is used when the mark has a length on the time axis. For example, in the case of a skip mark, the field duration specifies how much time to jump.
フィールドmakers_informationは、製造者独自の情報を記録するための領域である。フィールドmark_nameは、マークに名前をつけた際、その名前を格納するための領域であり、サイズが上述のフィールドmark_name_lengthで指定される。 The field makers_information is an area for recording information unique to the manufacturer. The field mark_name is an area for storing a name when the mark is given a name, and the size is specified by the above-described field mark_name_length.
図14は、ファイル「%%%%%.clpi」の一例の構造を表すシンタクスを示す。上述したように、ファイル「%%%%%.clpi」は、ディレクトリCLIPINFの下に置かれ、各AVストリームファイル(ファイル「*****.m2ts」)毎に作られる。ファイル「%%%%%.clpi」の内部は、機能別の情報毎にブロックが構成される。フィールドtype_indicatorにこのファイルを示す文字列が格納され、フィールドversion_numberにこのファイルのバージョンが示される。 FIG. 14 shows syntax that represents an example of the structure of the file “%%%%%. Clpi”. As described above, the file “%%%%%. Clpi” is placed under the directory CLIPINF and is created for each AV stream file (file “*****. M2ts”). Inside the file “%%%%%. Clpi”, blocks are configured for each function-specific information. A character string indicating this file is stored in the field type_indicator, and the version of this file is indicated in the field version_number.
ブロックClipInfo()は、クリップに関する情報が格納される。ブロックSequenceInfo()は、MPEG2システムにおけるトランスポートストリームの時刻基準を表すPCRの不連続点に関する情報が格納される。ブロックProgramInfo()は、MPEG2システムのプログラムに関する情報が格納される。ブロックCPI()は、ランダムアクセス開始可能点などの、AVストリーム中の特徴的な箇所を表す特徴点情報CPIに関する情報が格納される。ブロックClipMark()は、クリップに付された頭出しのためのインデックス点やコマーシャルの開始および/または終了点などのマーク情報が格納される。ブロックMakersPrivateData()は、記録機の製造者独自の情報が格納される。 The block ClipInfo () stores information about the clip. The block SequenceInfo () stores information on the discontinuity point of the PCR that represents the time base of the transport stream in the MPEG2 system. The block ProgramInfo () stores information related to the MPEG2 system program. The block CPI () stores information on feature point information CPI that represents a characteristic part in the AV stream, such as a random access startable point. The block ClipMark () stores mark information such as an index point for cueing attached to a clip and a commercial start and / or end point. The block MakersPrivateData () stores information unique to the recorder manufacturer.
また、これら各ブロックのファイル「%%%%%.clpi」中での先頭を表すアドレス情報が、当該ファイルの先頭部分にフィールドSequenceInfo_start_address、ProgramInfo_start_address、CPI_start_address、ClipMark_start_addressおよびMakersPrivateData_start_addressとして示される。なお、このクリップファイル「%%%%%.clpi」自体は、この発明と関連性が低いので、詳細な説明を省略する。 Also, address information indicating the head of each block in the file “%%%%%. Clpi” is indicated as fields SequenceInfo_start_address, ProgramInfo_start_address, CPI_start_address, ClipMark_start_address, and MakersPrivateData_start_address at the head of the file. Note that the clip file “%%%%%. Clpi” itself has a low relevance to the present invention, and a detailed description thereof will be omitted.
BDAVフォーマットは、以上に概略的に説明したようなデータ構造を持つことにより、クリップAVストリーム中の再生したい部分を開始および終了点の組で指定したプレイアイテムの並びでプレイリストを構築し、ユーザが認識するひとまとまりの再生単位を管理することが可能となる。 The BDAV format has a data structure as schematically described above, so that a playlist is constructed with a sequence of play items in which a part to be reproduced in a clip AV stream is designated by a set of start and end points, and the user It is possible to manage a group of playback units recognized by.
次に、この発明の実施の一形態について説明する。この発明では、上述したBDAVフォーマットを拡張し、再生専用ディスクに適したフォーマットを構築する。まずディスクの内容を提示するメニュー画面を実現するためのプレーン構成を説明する、次に、コンテンツ制作者側がプレイリストの再生順序を指定できるようにするためのシナリオ構造を追加する。さらに、そのシナリオ構造において、再生専用ディスクに特徴的なスチル(一時停止)、ランダム・シャッフル再生、マルチアングルなどの機能を実現するために必要なデータと、その格納方法について説明する。 Next, an embodiment of the present invention will be described. In the present invention, the above-described BDAV format is expanded to construct a format suitable for a read-only disc. First, a plain configuration for realizing a menu screen for presenting the contents of the disc will be described, and then a scenario structure for allowing the content creator to specify the playback order of the playlist will be added. Furthermore, in the scenario structure, data necessary for realizing functions such as still (pause), random shuffle playback, and multi-angle, which are characteristic of a read-only disc, and a storage method thereof will be described.
この発明の実施の一形態では、画像の表示系について、図15に一例が示されるようなプレーン構成を取る。動画プレーン10は、最も後ろ側(ボトム)に表示され、プレイリストで指定された画像(主に動画データ)が扱われる。字幕プレーン11は、動画プレーン10の上に表示され、動画再生中に表示される字幕データが扱われる。グラフィクスプレーン12は、最も前面に表示され、メニュー画面を表示するための文字データやボタンを表すビットマップデータなどのグラフィクスデータが扱われる。1つの表示画面は、これら3つのプレーンが合成されて表示される。
In the embodiment of the present invention, the image display system has a plane configuration as shown in FIG. The moving
ここで、従来のDVDビデオと異なる特徴的な点は、従来の技術で説明した字幕やメニュー画面、ボタンなどが表示されるサブピクチャを、字幕プレーン11およびグラフィクスプレーン12とに分離し、字幕とボタンとをそれぞれ独立的に制御できるようにしたことである。上述したように、従来のDVDビデオでは、メニュー画面やボタンなどのグラフィクス表示と、字幕表示とを、同じ仕組みで制御しており、これらを同一プレーン上に表示していた。そして、同時に表示できるビットマップ画像は、1枚に限られていた。そのため、従来のDVDビデオでは、複数のビットマップ画像を同時に表示することができなかった。この発明では、字幕を表示する字幕プレーン11と、グラフィクス表示を行うグラフィクスプレーン12とをそれぞれ独立的に設けることで、この従来のDVDビデオの持つ問題点を解消している。
Here, a characteristic point different from the conventional DVD video is that the sub-picture on which the subtitle, the menu screen, the button, etc. described in the conventional technology are displayed is separated into the
なお、画像の表示系に関しては、字幕プレーン11およびグラフィクスプレーン12が、従来の"Blu-ray Disc Rewritable Format Ver1.0 part3"に対する拡張部分であると考えることができる。
Regarding the image display system, the
動画プレーン10、字幕プレーン11およびグラフィクスプレーン12は、それぞれ独立して表示が可能とされ、例えば、図16に一例が示されるような解像度および表示可能色を有する。動画プレーン10は、解像度が1920画素×1080ラインで1画素当たりに換算したデータ長が16ビットであって、輝度信号Y、色差信号Cb、Crが4:2:2のシステム(以下、YCbCr(4:2:2))とされる。なお、YCbCr(4:2:2)は、各画素当たり輝度信号Yが8ビット、色差信号Cb、Crがそれぞれ8ビットで、色差信号Cb、Crが水平2画素で一つの色データを構成すると見なすカラーシステムである。
The moving
グラフィクスプレーン12は、解像度が1920画素×1080ラインで各画素のサンプリング深さが8ビットとされ、カラーシステムは、256色のパレットを用いた8ビットカラーマップアドレスとされる。字幕プレーン11は、1920画素×1080ラインで各画素のサンプリング深さが8ビットとされ、カラーシステムは、256色のパレットを用いた8ビットカラーマップアドレスとされる。
The
グラフィクスプレーン12および字幕プレーン11は、256段階のアルファブレンディングが可能とされており、他のプレーンとの合成の際に、不透明度を256段階で設定することが可能とされている。不透明度の設定は、画素毎に行うことができる。以下では、不透明度αが(0≦α≦1)の範囲で表され、不透明度α=0で完全に透明、不透明度α=1で完全に不透明であるものとする。
The
字幕プレーン11では、PNG(Portable Network Graphics)形式の画像データが扱われる。また、グラフィクスプレーン12でも、PNG形式の画像データを扱うことができる。PNG形式は、1画素のサンプリング深さが1ビット〜16ビットとされ、サンプリング深さが8ビットまたは16ビットの場合に、アルファチャンネル、すなわち、それぞれの画素成分の不透明度情報(アルファデータと称する)を付加することができる。サンプリング深さが8ビットの場合には、256段階で不透明度を指定することができる。このアルファチャンネルによる不透明度情報を用いてアルファブレンディングが行われる。また、256色までのパレットイメージを用いることができ、予め用意されたパレットの何番目の要素(インデックス)であるかがインデックス番号により表現される。
The
なお、字幕プレーン11およびグラフィクスプレーン12で扱われる画像データは、PNG形式に限定されない。JPEG方式など他の圧縮符号化方式で圧縮符号化された画像データや、ランレングス圧縮された画像データ、圧縮符号化がなされていないビットマップデータなどを扱うようにしてもよい。
The image data handled by the
図17は、上述の図15および図16に従い3つのプレーンを合成する一例の構成を示す。動画プレーン10の動画データが422/444変換回路20に供給される。動画データは、422/444変換回路20でカラーシステムがYCbCr(4:2:2)からYCbCr(4:4:4)に変換され、乗算器21に入力される。
FIG. 17 shows an example configuration for synthesizing three planes according to FIGS. 15 and 16 described above. The moving image data of the moving
字幕プレーン11の画像データがパレット22に入力され、RGB(4:4:4)の画像データとして出力される。アルファブレンディングによる不透明度が指定されている場合には、指定された不透明度α1(0<=α1<=1)がパレット22から出力される。
The image data of the
図18は、パレット22の入出力データの一例を示す。パレット22は、例えばPNG形式のファイルに対応したパレット情報がテーブルとして格納される。パレット22は、入力された8ビットの画素データをアドレスとして、インデックス番号が参照される。このインデックス番号に基づき、それぞれ8ビットのデータからなるRGB(4:4:4)のデータが出力される。それと共に、パレット22では、不透明度を表すアルファチャンネルのデータが取り出される。
FIG. 18 shows an example of input / output data of the
図19は、パレット22に格納される一例のパレットテーブルを示す。256個のカラーインデックス値〔0x00〕〜〔0xFF〕(〔0x〕は16進表記であることを示す)のそれぞれに対して、各々8ビットで表現される三原色の値R、GおよびBと、不透明度αとが割り当てられる。パレット22は、入力されたPNG形式の画像データに基づきパレットテーブルが参照され、画像データにより指定されたインデックス値に対応する、それぞれ8ビットのデータからなるR、GおよびB各色のデータ(RGBデータ)と、不透明度αとを画素毎に出力する。
FIG. 19 shows an example pallet table stored in the
パレット22から出力されたRGBデータは、RGB/YCbCr変換回路29に供給され、各データ長が8ビットの輝度信号Yと色信号Cb、Crのデータに変換される(以下、まとめてYCbCrデータと称する)。これは、以降のプレーン間合成を共通のデータ形式で行う必要があるためで、動画データのデータ形式であるYCbCrデータに統一している。
The RGB data output from the
RGB/YCbCr変換回路29から出力されたYCbCrデータおよび不透明度データα1とがそれぞれ乗算器23に入力される。乗算器23では、入力されたYCbCrデータに不透明度データα1が乗ぜられる。乗算結果は、加算器24の一方の入力端に入力される。なお、乗算器23では、YCbCrデータにおける輝度信号Y、色差信号Cb、Crのそれぞれについて、不透明度データα1との乗算が行われる。また、不透明度データα1の補数(1−α1)が乗算器21に供給される。
The YCbCr data and the opacity data α1 output from the RGB /
乗算器21では、422/444変換回路20から入力された動画データに不透明度データα1の補数(1−α1)が乗ぜられる。乗算結果は、加算器24の他方の入力端に入力される。加算器24において、乗算器21および23の乗算結果が加算される。これにより、動画プレーン10と字幕プレーン11とが合成される。加算器24の加算結果が乗算器25に入力される。
In the
グラフィクスプレーン12の画像データも字幕プレーン11と同様に、パレットテーブル26によりRGB(4:4:4)のデータが出力され、RGB/YCbCr変換回路26に入力される。グラフィクスプレーン12の画像データのカラーシステムがRGB(4:4:4)である場合には、カラーシステムがYCbCr(4:4:4)に変換されてRGB/YCbCr変換回路27から出力される。RGB/YCbCr変換回路27から出力されたYCbCrデータが乗算器28に入力される。
Similarly to the
グラフィクスプレーン12で用いられる画像データがPNG形式である場合には、画像データ中に、画素毎に不透明度データα2(0≦α2≦1)を設定することができる。不透明度データα2は、乗算器28に供給される。乗算器28では、RGB/YCbCr変換回路27から入力されたYCbCrデータに対し、輝度信号Y、色差信号Cb、Crのそれぞれについて、不透明度データα2との乗算が行われる。乗算器28による乗算結果が加算器29の一方の入力端に入力される。また、不透明度データα2の補数(1−α2)が乗算器25に供給される。
When the image data used in the
乗算器25では、加算器24の加算結果に対して不透明度データα2の補数(1−α2)が乗ぜられる。乗算器25の乗算結果は、加算器27の他方の入力端に入力され、上述した乗算器28による乗算結果と加算される。これにより、動画プレーン10と字幕プレーン11との合成結果に対して、さらに、グラフィクスプレーン12が合成される。
In the
字幕プレーン11およびグラフィクスプレーン12において、例えば、表示すべき画像の無い領域の不透明度α=0と設定することで、そのプレーンの下に表示されるプレーンを透過表示させることができ、例えば動画プレーン10に表示されている動画データを、字幕プレーン11やグラフィクスプレーン12の背景として表示することができる。
In the
なお、この図17に示される構成は、ハードウェアおよびソフトウェアの何れでも実現可能なものである。 Note that the configuration shown in FIG. 17 can be realized by either hardware or software.
以上のようなプレーンを設定することで、再生専用規格に必要なメニュー画面とボタンの表示を可能とする。メニュー画面上のボタンが選択されると、そのボタンに対応したプレイリストが再生されることになる。このとき、プレイリスト間がどのように結び付けられているかという情報がディスク上に記録されていることが必要となる。次に、このプレイリスト間の結びつき(リンク)を定義するシナリオについて説明する。 By setting the plane as described above, it is possible to display menu screens and buttons necessary for the reproduction-only standard. When a button on the menu screen is selected, a playlist corresponding to the button is reproduced. At this time, it is necessary to record information on how the playlists are linked on the disc. Next, a scenario for defining a connection (link) between playlists will be described.
グラフィクスプレーン12には、ユーザに対して操作を促す画面、例えばメニュー画面を表示させることができる。図20は、グラフィクスプレーン12に表示されるメニュー画面60の一例を示す。メニュー画面60は、文字や画像を特定の位置に表示させ、ユーザが選択や実行を指示することで新たな動作が開始される「リンク」や「ボタン」を配置することができる。
On the
「リンク」は、例えば、文字列や画像データに対して所定のファイルへのアクセス方法を示す記述を設定し、ユーザがポインティングデバイスなどを用いて画面に表示された当該文字列や画像データ上を指定することで、当該文字列や画像データに設定されたアクセス方法に従って当該ファイルにアクセスできるようにしたものである。「ボタン」は、「リンク」において、例えば通常の状態、選択された状態および押された状態の3種類の画像データを用意し、ユーザにより当該ボタン画像が指定された際に、3種類の画像データの表示を切り換えて、ユーザが行った操作をユーザ自身に認識しやすくしたものである。 “Link” is, for example, a description indicating how to access a predetermined file for a character string or image data, and the user displays the character string or image data displayed on the screen using a pointing device or the like. By designating, the file can be accessed according to the access method set for the character string or image data. For the “button”, for example, three types of image data of a normal state, a selected state, and a pressed state are prepared in the “link”, and when the button image is designated by the user, the three types of image data are displayed. The data display is switched to make it easier for the user to recognize the operation performed by the user.
なお、「リンク」や「ボタン」に対する指定動作は、例えば、マウスを用いて画面上のカーソル表示を移動させ、「リンク」による文字列や画像、「ボタン」による画像上で、マウスボタンを1または複数回押すクリック動作を行うことで、なされる。マウス以外のポインティングデバイスによっても、同様の動作を行うことができる。また、これに限らず、リモートコントロールコマンダやキーボードのキー操作により、「リンク」や「ボタン」の指定を行うこともできる。例えば、方向キーなど所定のキーで指定を行いたい「リンク」や「ボタン」を選択し、決定キーなどにより選択された「リンク」や「ボタン」を指定する。 The designation operation for “link” or “button” is performed by, for example, moving the cursor display on the screen using a mouse, and moving the mouse button to 1 on a character string or image by “link” or an image by “button”. Or it is done by performing a click action that is pressed multiple times. The same operation can be performed by a pointing device other than the mouse. Further, the present invention is not limited to this, and “link” and “button” can be designated by operating the remote control commander or the keyboard. For example, a “link” or “button” to be designated by a predetermined key such as a direction key is selected, and a “link” or “button” selected by a decision key or the like is designated.
図20の例では、グラフィクスプレーン12上に表示されたメニュー画面60の上部に、画像データとしてタイトル61が表示される。タイトル61に続けて、リンクとしての選択項目62A、62B、62Cおよび62Dが表示される。例えばリモートコントロールコマンダのキー操作により、選択項目62A、62B、62Cおよび62Dのうち1つを選択し指定することで、指定された選択項目にリンクとして設定されたファイルがアクセスされる。
In the example of FIG. 20, a
メニュー画面60の下部に、字幕の表示の有無や、出力される音声を例えば英語および日本語から選択するためのボタン64および65が表示される。これらボタン64や65を上述のように操作することで、例えば、それぞれの設定を行う画面を表示するためのファイルがアクセスされ、所定の画面表示がなされる。
At the bottom of the
また、メニュー画面60の左下部分には、項目の選択方法を示す文字列63が表示される。この文字列63も、グラフィクスプレーン12上の表示である。
In the lower left part of the
この、図20に一例が示されるような画面を表示するためには、画面の表示方法やリンク情報などを記述可能な、何らかの記述言語が必要とされる。この発明の実施の一形態では、この記述言語として、DVDビデオのナビゲーションコマンドを基に変更を加えたものに、字幕、ボタン用の独自の表示制御コマンドを加えた命令群を使用することで、Blu−ray Discによるメニュー画面表示が可能なようにした。 In order to display the screen as shown in FIG. 20 as an example, some description language capable of describing the screen display method and link information is required. In one embodiment of the present invention, as this description language, by using a command group in which original display control commands for subtitles and buttons are added to those that are modified based on DVD video navigation commands, Menu screen display using Blu-ray Disc is now possible.
さて、上述したようなBlu−ray Discのメニュー画面60では、例えばプレイリストの一覧が画像データや文字列、ボタンなどで表示され、あるプレイリストを指定することで、指定されたプレイリストがディスクから読み出され再生されることが期待される。
Now, on the Blu-ray
上述した図20の例では、メニュー画面60に対してプレイリストの一覧が表示される。このメニュー画面60およびメニュー画面60上の選択項目を選択した際に再生される映像・音声は、実際には、複数のプレイリストが並んだ構造によって構成されている。メニューの一項目を構成する複数のプレイリスト内で、プレイリストの関連付けを行うことで、ストーリーを分岐させる仕組みを実現することができる。ストーリーを分岐できるようにすることで、ユーザの選択によってストーリーが変化していくマルチストーリー機能や、プレーヤの設定言語に従って自動的に適切な言語を再生する機能や、ユーザの年齢に応じてシーンを差し替えるパンタレル機能を実現することができる。
In the example of FIG. 20 described above, a list of play lists is displayed on the
このような機能は、記録済みのディスクにおいて特に有用であって、テレビジョン放送の記録/再生が主目的である現行のBlu−ray Disc規格では想定されていない。 Such a function is particularly useful for a recorded disc, and is not assumed in the current Blu-ray Disc standard, which is mainly used for recording / reproducing television broadcasts.
以下では、この複数のプレイリストが並べられた構造を、シナリオと称する。図21は、シナリオ70の一例の内部構造を示す。このシナリオ70は、複数のプレイリスト73A〜73Mを含む。また、シナリオ70は、グラフィクスプレーン12を用いて分岐選択画面を表示する箇所が2箇所(画面80Aおよび80B)設けられている。例えば画面80Aは、分岐選択画面を表示するためのグラフィクスデータ74Aとプレイリスト73Cを有する。同様に、画面80Bは、分岐選択画面を表示するためのグラフィクスデータ74Bとプレイリスト73Jを有する。
Hereinafter, the structure in which the plurality of playlists are arranged is referred to as a scenario. FIG. 21 shows an example internal structure of the
このように、シナリオは、プレイリストの並びを決めると共に、グラフィクスプレーン12に対する表示のタイミングを規定する。グラフィクスプレーン12への表示のタイミングは、グラフィックスプレーンに表示する画像に対して付加された表示制御命令によって規定することができる。
As described above, the scenario determines the arrangement of the playlist and defines the display timing for the
図21の例では、例えば上述のメニュー画面60はシナリオ70における80Aに対応する。メニュー画面60における選択項目(例えば選択項目62A)は、グラフィックス72Aによって構成されている。すなわち、メニュー画面60において選択項目62Aが指定されると、選択項目に対応したプレイリスト73Dが再生されることになる。
In the example of FIG. 21, for example, the
図21のシナリオ70では、先ず、ディスクがプレーヤに挿入されると、プレイリスト73Aが再生される。プレイリスト73Aの再生が終了されると、続けてプレイリスト73Bが再生され、プレイリスト73Bの再生が終了されると、プレイリスト73Cが再生され、グラフィクスデータ72Aが読み出されて、ユーザにストーリーの分岐選択を促す画面80Aが表示される。
In the
画面80Aが表示された以降は、ユーザの選択に基づきストーリーが分岐される。この図20の例では、第1の選択により、画面80Aの後、プレイリスト73D、73E、73Fの順に再生され、全体の再生が終了される。プレイリスト73Fの再生が終了された後、メインのメニュー画面(例えば上述したメニュー画面60)に戻るようにしても良い。
After the
画面80Aにおける第2の選択では、画面80Aの後、プレイリスト73Gが再生される。プレイリスト73Gは、例えば所定のタイミングにマークが設定されている。プレイリスト73Gが再生されると、再生装置自身の設定やユーザによる他のシナリオや分岐選択画面などでの選択に基づき、プレイリスト73Gのマーク位置で分岐するか、プレイリスト73Gを最後まで再生するかが制御される。プレイリスト73Gが最後まで再生される場合には、プレイリスト73Gの再生終了後、プレイリスト73M、73Iと再生され、プレイリスト73Jがさらに再生される。
In the second selection on the
一方、プレイリスト73Gにおいてマーク位置で分岐された場合には、次にプレイリスト73K、73Lと再生され、プレイリスト73Lの再生が終了されたら、次に、プレイリスト73Iに設定されたマーク位置から再生が継続される。
On the other hand, when the
プレイリスト73Jは、グラフィクスデータ72Bが読み出されて、ユーザにストーリーの分岐選択を促す画面80Bが表される。画面80Bにおける第1の選択では、上述したプレイリスト73Fが再生される。一方、画面80Bの第2の選択では、プレイリスト73Kに設定されているマーク位置からの再生が行われる。
In the
シナリオの再生において、マークの検出、ユーザからの入力、プレーヤの動作変更の検出がされた時の動作は、プレイリスト毎にコマンド列(プログラム)が用意されており、そのプログラムをプレーヤが実行することにより行われる。 In the scenario reproduction, a command sequence (program) is prepared for each playlist, and the player executes the program when the mark is detected, the input from the user, or the operation change of the player is detected. Is done.
例えば、シナリオ70内のプレイリスト73A〜73Mの何れが再生中であっても、リモートコントロールコマンダに設けられたメニューボタンが押されたら、シナリオの一覧が表示されるメニュー画面60が表示される、すなわち、メニュー画面60を表示するためのプレイリストに再生処理が移行される動作を実現したい場合について考える。この場合、リモートコントロールコマンダのメニューボタンが押されたときに発生するイベント(メニューボタン押下イベント)に対応するイベントハンドラとして、メニュー画面60を表示させるプレイリストに処理が移行される命令を、シナリオデータの一つとして記述しておく。
For example, when any of the
シナリオは、ディレクトリに一つ定義され、1または複数のプレイリストから構成される。ここでディレクトリとは、例えば上述した記録再生規格のBDAVディレクトリや、この発明の実施の一形態において再生専用のデータ領域として想定しているHDMVディレクトリ(詳細は後述する)である。 One scenario is defined in the directory and is composed of one or a plurality of playlists. Here, the directory is, for example, a BDAV directory of the above-described recording / playback standard, or an HDMV directory (details will be described later) assumed as a playback-only data area in the embodiment of the present invention.
ここで、シナリオの構成の分類について図22および図23を用いて説明する。シナリオの構成は、プレイリスト同士の接続を基に考えると、図22に示されるように、(1)シングルプレイリスト、(2)シーケンシャルプレイリスト、(3)マルチプレイリスト、の3種類に大別することができる。 Here, the classification of the scenario configuration will be described with reference to FIGS. 22 and 23. FIG. The scenario structure is roughly divided into three types: (1) single playlist, (2) sequential playlist, and (3) multi-playlist, as shown in FIG. can do.
(1)のシングルプレイリストは、図23Aに一例が示されるように、単一のプレイリストで構成されるシナリオである。タイムラインが定義可能で、シナリオ再生中の割り込みが無い。コンテンツが映画であれば、例えばディスクのローディング後に映画本編だけが再生されるようなシナリオである。 The single playlist of (1) is a scenario composed of a single playlist as shown in FIG. 23A. Timeline can be defined and there is no interruption during scenario playback. If the content is a movie, for example, the scenario is such that only the main movie is played after loading the disc.
(2)のシーケンシャルプレイリストは、図23Bに一例が示されるように、複数のプレイリストが分岐無しに直列的に並べられて構成されるシナリオである。各プレイリストは、プレイリストの末尾と次のプレイリストの先頭とが接続されるように並べられる。各プレイリストを通じてのタイムラインが定義可能である。コンテンツが映画であれば、例えばメニュー画面と映画本編との組み合わせからなるシナリオである。ディスクのローディング後にメニュー画面を表示させるプレイリストが実行され、メニュー画面に対して映画本編の再生が指示されると、次のプレイリストが実行され、映画の本編が再生される。 The sequential playlist of (2) is a scenario configured by arranging a plurality of playlists in series without branching, as shown in FIG. 23B as an example. Each playlist is arranged so that the end of the playlist and the beginning of the next playlist are connected. A timeline through each playlist can be defined. If the content is a movie, for example, the scenario is a combination of a menu screen and a movie main part. When the play list for displaying the menu screen is executed after loading the disc, and the reproduction of the main movie is instructed on the menu screen, the next play list is executed and the main movie is reproduced.
(3)のマルチプレイリストは、図23Cに一例が示されるように、プレイリストの分岐や収束による接続を含むシナリオである。プレイリストを通じてのタイムラインを定義することができず、例えば各プレイリスト内にタイムラインが定義される。マルチプレイリストによれば、ユーザ入力によって再生内容が変化するようなインタラクティブ性やゲーム性を実現することができる。コンテンツが映画の場合には、例えば同一シーンを様々なアングルで収録し、再生時にユーザの指示により選択して鑑賞できるようにしたマルチアングルを実現するシナリオである。 The multi-playlist of (3) is a scenario that includes connection due to branching or convergence of the playlist, as shown in FIG. 23C. A timeline through a playlist cannot be defined. For example, a timeline is defined in each playlist. According to the multi-playlist, it is possible to realize an interactive property or a game property in which the reproduction content is changed by a user input. In the case where the content is a movie, for example, the same scene is recorded at various angles, and this is a scenario for realizing a multi-angle that can be selected and watched according to a user instruction during playback.
再生専用メディアの場合、シナリオは、後述するように、HDMVディレクトリに一つ定義されるものとする。ユーザに対しては、シナリオをより細分化した単位を見せる必要がある。但し、プレイリストの単位がユーザの認識する単位と一致するとは限らない。例えば、一つのプレイリストに3本の映画が収録されているときには、各映画の頭出し点をユーザに見せる必要がある。このように、プレイリストの構造とは独立した頭出し点(エントリポイント)を、以下では、タイトルおよび/またはチャプタと呼ぶことにする。 In the case of read-only media, one scenario is defined in the HDMV directory as will be described later. It is necessary to show the user a more detailed unit of scenario. However, the unit of the playlist does not always match the unit recognized by the user. For example, when three movies are recorded in one playlist, it is necessary to show the cue point of each movie to the user. In this way, the cue point (entry point) independent of the playlist structure is hereinafter referred to as a title and / or chapter.
図24を用いてタイトルおよびチャプタについて説明する。タイトルは、シナリオ中の任意の再生開始点を表す。この図24の例では、プレイリスト470Aの先頭にタイトル1に設定されている。タイトル2は、プレイリスト470Dの途中に設定されている。プレイリスト470Aの先頭からタイトル2の直前までがタイトル1とされる。チャプタは、タイトルをさらに細分化した単位で、これもユーザが再生開始点として認識できる単位となる。タイトル1がチャプタによりさらに細分化される。図24の例では、タイトル1に対してチャプタ1、2および3が設定され、タイトル1が3つに細分化されている。また、図24に示されるように、タイトルおよびチャプタの位置は、プレイリストの途中を指定することもできる。
Titles and chapters will be described with reference to FIG. The title represents an arbitrary playback start point in the scenario. In the example of FIG. 24, the
次に、シナリオ記述に従って動作する再生装置のモデルを考える。以下では、このモデル化された再生装置をBD(Blu-ray disc)仮想プレーヤと称し、このBD仮想プレーヤの構成の定義をBD仮想プレーヤモデルと称する。 Next, consider a model of a playback device that operates according to a scenario description. Hereinafter, the modeled playback device is referred to as a BD (Blu-ray disc) virtual player, and the definition of the configuration of the BD virtual player is referred to as a BD virtual player model.
図25を用いて、BD仮想プレーヤモデルについて説明する。BD仮想プレーヤ30は、ディスクのローディング後、この発明で定義したシナリオ記述言語により記述されディスクに記録されたシナリオを、PBCプログラム40として読み込み、シナリオの記述に従い動作する。
The BD virtual player model will be described with reference to FIG. After loading the disc, the BD
BD仮想プレーヤ30は、この発明の実施の一形態により定義されるディスク状記録媒体を再生するもので、パーソナルコンピュータなどのコンピュータ環境上のオブジェクトである。コンピュータ環境は、汎用的なパーソナルコンピュータに限られず、例えば、この発明の実施の一形態により定義されるディスク状記録媒体などを再生するように専用的に構成された再生装置および/または記録再生装置に組み込まれたソフトウェア環境も含む。なお、以下、この発明の実施の一形態により定義されるディスク状記録媒体を、ディスクと略称する。
The BD
BD仮想プレーヤ30の状態は、概略的には、プレイリストおよびグラフィクスを再生する状態Aと、再生が停止された状態Bの2つの状態に分類できる。ある状態から別の状態への遷移や、ある状態の中での次の動作の指定は、BD仮想プレーヤ30のオブジェクトに対するコマンドにより行われる。
The state of the BD
なお、状態Aは、複数の動作を含む。状態Aに含まれる動作としては、高速再生、逆転再生といった変速再生や、ディスク上の任意の時刻から再生する飛び込み再生といった特殊再生などが考えられる。BD仮想プレーヤ30においてグラフィクスプレーン12による表示がなされているときは、これら変速再生や特殊再生が制限されることがある。
Note that state A includes a plurality of operations. As operations included in the state A, variable speed reproduction such as high-speed reproduction and reverse reproduction, special reproduction such as jump reproduction that reproduces from an arbitrary time on the disc, and the like can be considered. When the display on the
PBC(Play Back Control)プログラム40は、例えばディスクに記録されているシナリオに対応する。詳細は後述するが、シナリオは、ディスクに記録されたプレイリストの再生方法や、メニュー画面の表示を指示する。PBCプログラム40とBD仮想プレーヤ30とは、API(Application Programming Interface)41を介してメソッドのやりとりを行い、ディスクに記録されたプレイリストを再生する。
A PBC (Play Back Control)
シナリオには、プレーヤの動作を指示するコマンドが並んだプログラムを含むコマンドを配置する領域として、グローバルコマンド領域と、ローカルコマンド領域の二つがある。 There are two scenarios, a global command area and a local command area, in which commands including a program in which commands for instructing player operations are arranged are arranged.
グローバルコマンド領域は、シナリオ全体に有効なプログラムが格納されており、例えば、ディスクがプレーヤに挿入されたときに最初に自動にプレーヤによって実行されて、パラメータの初期化を行い、メニュー画面を構成するプレイリストにジャンプするようなプログラムを記述する領域である。ローカルコマンド領域は、各プレイリストに関係するプログラムを記述する領域である。ローカルコマンドは、さらにプレコマンド、プレイアイテムコマンド、ポストコマンド、ボタンコマンドの4種類に分類される。 The global command area stores a program effective for the entire scenario. For example, when a disc is inserted into the player, the global command area is automatically executed by the player first to initialize parameters and configure a menu screen. This area describes a program that jumps to a playlist. The local command area is an area for describing a program related to each playlist. Local commands are further classified into four types: pre-commands, play item commands, post commands, and button commands.
図26は、この発明の実施の一形態におけるシナリオで記述されるコマンドによるBD仮想プレーヤ30の動作を概略的に示す。図26Aは、ディスクのローディング時の動作の例を示す。上述したように、シナリオは、後述するHDMVディレクトリに対して一つが作られる。ディスクがプレーヤに挿入されディスクに対するイニシャルアクセスがなされると(ステップS30)、レジスタすなわち共通パラメータ32が初期化される(ステップS31)。そして、次のステップS32で、プログラムがディスクから読み込まれて実行される。なお、イニシャルアクセスは、ディスク挿入時のように、ディスクの再生が初めて行われることをいう。
FIG. 26 schematically shows the operation of the BD
この、ディスクローディング時に最初に読み込まれ、実行されるコマンド群(プログラム)を、グローバルコマンドと称する。グローバルコマンドは、例えば宣伝用映像(トレーラー)やメニュー画面を構成するプレイリストへのジャンプ命令が記述されており、その命令通りにプレーヤがプレイリストを再生していくことになる。 A command group (program) that is first read and executed at the time of disk loading is referred to as a global command. The global command describes, for example, an advertisement video (trailer) or a jump command to a playlist that constitutes a menu screen, and the player reproduces the playlist according to the command.
図26Bは、プレーヤ30が停止状態からユーザにより例えばプレイキーが押下され再生が指示された場合の動作の例を示す。これは、上述の図25における状態Bから状態Aへの状態遷移に相当する。最初の停止状態(ステップS40)に対して、ユーザにより、例えばリモコンなどを用いて再生が指示される(UOP:User Operation)。再生が指示されると、先ず、レジスタすなわち共通パラメータ32が初期化され(ステップS41)、次のステップS42で、プレイリストの再生フェイズに移行する。
FIG. 26B shows an example of the operation when the
プレイリストの再生フェイズにおけるプレイリストの再生について、図27を用いて説明する。図27Aは、プレイリストが単一のプレイアイテムからなる場合の例である。プレイリストは、プレコマンド領域、プレイアイテムコマンド領域およびポストコマンド領域の3箇所にプログラムが配される。プレイリストの再生フェイズに移行すると、先ずプレコマンド領域のプレコマンドが実行され(ステップS10)、プレコマンドの実行が終了されると、プレイリストを構成するプレイアイテムの再生フェイズに移行する(ステップS11)。プレイアイテムの再生フェイズでは、プレイアイテムにおいて開始点および終了点で指定されたストリームが再生される(ステップS110)。終了点までの再生が終了した時点で、プレイアイテムコマンドが実行される(ステップS111)。プレイアイテムコマンドが実行されると、次にポストコマンド領域のポストコマンドが実行され(ステップS12)、プレイリストの再生が終了される。 Playback of a playlist in the playlist playback phase will be described with reference to FIG. FIG. 27A is an example in the case where the play list includes a single play item. In the playlist, programs are arranged in three places: a pre-command area, a play item command area, and a post command area. When the play list shifts to the play phase, first, the pre-command in the pre-command area is executed (step S10). When the pre-command execution is finished, the play item shifts to the play item playback phase (step S11). ). In the play item playback phase, the stream specified by the start point and end point of the play item is played (step S110). When the reproduction up to the end point is completed, the play item command is executed (step S111). When the play item command is executed, the post command in the post command area is executed next (step S12), and the reproduction of the play list is ended.
なお、ポストコマンドは、一般的な使用においては、次に再生すべきプレイリストへのジャンプ命令や、メニュー画面を構成するプレイリストへのジャンプ命令が記述される。ジャンプ命令が無い場合には、そこで再生が停止し、プレーヤは、停止状態(図25の状態B)に遷移される。 Note that the post command describes a jump command to a playlist to be reproduced next and a jump command to a playlist constituting the menu screen in general use. If there is no jump command, playback stops there, and the player transitions to a stopped state (state B in FIG. 25).
図27Bは、プレイリストが複数のプレイアイテムを含む場合の例である。この場合でも、プレイリスト中にプレコマンド領域、プレイアイテムコマンド領域およびポストコマンド領域が配され、それぞれプログラムが格納される。複数のプレイアイテムを含む場合、プレイアイテムコマンド領域では、プレイアイテム数分のプレイアイテムストリームおよびプレイアイテムコマンドが、時系列に従って配置される。 FIG. 27B is an example when the playlist includes a plurality of play items. Even in this case, a pre-command area, a play item command area, and a post-command area are arranged in the play list, and programs are stored respectively. When a plurality of play items are included, play item streams and play item commands for the number of play items are arranged in time series in the play item command area.
プレイリストが複数のプレイアイテムを含む場合でも、プレイリストの再生フェイズに移行すると、先ず、プレコマンドが実行される(ステップS10)。次のプレイアイテムの再生フェイズでは、プレイアイテムの開始点から終了点までのストリームの再生と、プレイアイテムコマンドの実行とが、プレイリストが含むプレイアイテムの数だけ実行される。図27Bの例では、最初のプレイアイテムストリームが再生され(ステップS110−1)、対応するプレイアイテムコマンドが実行される(ステップS111−1)。次に、図示は省略するが、2番目のプレイアイテムストリームが再生され(ステップS110−2)、対応するプレイアイテムコマンドが実行される(ステップS111−2)。これをプレイアイテムの数だけ行い、最後のプレイアイテムストリームが再生され(ステップS110−n)、対応するプレイアイテムコマンドが実行されると(ステップS111−n)、プレイアイテムの再生フェイズが終了する。プレイアイテムの再生フェイズが終了すると、ポストコマンドが実行され(ステップS12)、このプレイリストの再生フェイズが終了される。 Even when the play list includes a plurality of play items, the pre-command is executed first when the play list shifts to the play phase (step S10). In the next play item playback phase, the playback of the stream from the start point to the end point of the play item and the execution of the play item command are executed by the number of play items included in the playlist. In the example of FIG. 27B, the first play item stream is reproduced (step S110-1), and the corresponding play item command is executed (step S111-1). Next, although not shown, the second play item stream is reproduced (step S110-2), and the corresponding play item command is executed (step S111-2). This is performed for the number of play items, the last play item stream is reproduced (step S110-n), and when the corresponding play item command is executed (step S111-n), the play item reproduction phase ends. When the play item playback phase ends, a post command is executed (step S12), and the play list playback phase ends.
図28は、コマンドの一部を示す。この図28に例示されるようなコマンドを、ポストコマンド領域や後述するボタンコマンド領域に書くことにより、特定のプレイリストへのジャンプを実現することができる。なお、コマンドは、この図28に例示されるに止まらず、さらに他のコマンドを定義することも可能である。 FIG. 28 shows a part of the command. By writing a command as illustrated in FIG. 28 in a post command area or a button command area described later, a jump to a specific playlist can be realized. The commands are not limited to those illustrated in FIG. 28, and other commands can be defined.
再生開始位置指定に関するコマンドについて説明する。コマンドLinkPlayList(playListNumber)で、"playListNumber"で指定されたプレイリストの再生開始が指示される。コマンドLinkPlayItem(playListNumber,playItemNumber)で、指定のプレイリストの指定のプレイアイテムからの再生開始が指示される。"playItemNumber"は、"PlayItem_id"であり、値が「0」から始まる。"playItemNumber"に値「0」を指定することで、当該プレイアイテムが属するプレイリストの先頭から再生される。 A command related to the reproduction start position designation will be described. The command LinkPlayList (playListNumber) instructs to start playing the playlist specified by “playListNumber”. The command LinkPlayItem (playListNumber, playItemNumber) instructs the start of playback from the specified play item of the specified playlist. “playItemNumber” is “PlayItem_id”, and its value starts from “0”. By specifying a value “0” for “playItemNumber”, the play item is played from the beginning.
コマンドLink(position)(object)で、シナリオ内での移動が指示される。すなわち、現在移動中の箇所から前後のプレイリスト、プレイアイテムおよびチャプタに移動することがこのコマンドで指示される。なお、パラメータ"position"は、"prev"、"next"、"top"、"Parent"または"tail"の何れかの値を取り、パラメータ"object"で示される移動対象(プレイリスト、プレイアイテムまたはチャプタ)に対する移動方法が指示される。 The command Link (position) (object) instructs movement within the scenario. That is, it is instructed by this command to move from the currently moving location to the previous or next playlist, play item, or chapter. The parameter “position” takes one of the values “prev”, “next”, “top”, “Parent”, or “tail”, and the movement target (playlist, play item) indicated by the parameter “object”. Or, a movement method for the chapter) is instructed.
コマンドExitで、シナリオ再生の停止が指示される。この場合、標準レジスタの値は、保持されない。コマンドRSMで、プレーヤ内のメモリに保存されているレジューム情報を呼び出し、レジスタにセットして再生を開始する。 The command Exit instructs to stop scenario playback. In this case, the value of the standard register is not retained. With the command RSM, the resume information stored in the memory in the player is called, set in the register, and playback is started.
プレーヤ状態の取得に関するコマンドについて説明する。コマンドgetMenuDescriptionLanguage()で、メニュー表示の際に用いられる言語が取得される。コマンドgetScenarioNumber()、コマンドgetPlayListNumber()およびコマンドgetChapterNumber()で、再生中のシナリオ番号、プレイリスト番号およびチャプタ番号がそれぞれ取得される。コマンドgetPlayerSupport()で、プレーヤのバージョン情報が取得される。 A command related to acquisition of the player state will be described. With the command getMenuDescriptionLanguage (), the language used for menu display is acquired. With the command getScenarioNumber (), the command getPlayListNumber (), and the command getChapterNumber (), the scenario number, the playlist number, and the chapter number that are being reproduced are respectively acquired. The player version information is acquired by the command getPlayerSupport ().
ビデオストリームに関するコマンドについて説明する。コマンドgetVideoStreamAvailability()で、指定のビデオストリームが含まれているか否かが取得される。コマンドsetVideoStreamNumber()で、デコードするビデオストリームが指定される。コマンドgetVideoStreamNumber()で、選択中のビデオストリームの番号が取得される。コマンドgetVideoStreamAttr()で、選択中のビデオストリームの属性が取得される。なお、ビデオストリームの属性は、例えば、そのビデオストリームの符号化方式、解像度、アスペクト比、アスペクト比が4:3のときのディスプレイモード、クローズドキャプションの有無である。コマンドsetAngleNumber()で、アングル番号が指定される。コマンドgetAngleNumber()で、選択中のアングル番号が取得される。コマンドgetMaxVideoStreams()で、ビデオストリームの最大数が取得される。 A command relating to a video stream will be described. Whether or not a specified video stream is included is acquired by a command getVideoStreamAvailability (). The video stream to be decoded is specified by the command setVideoStreamNumber (). The number of the currently selected video stream is acquired by the command getVideoStreamNumber (). With the command getVideoStreamAttr (), the attribute of the currently selected video stream is acquired. Note that the attributes of the video stream are, for example, the encoding mode of the video stream, the resolution, the aspect ratio, the display mode when the aspect ratio is 4: 3, and the presence or absence of closed captions. An angle number is specified by the command setAngleNumber (). The angle number being selected is acquired with the command getAngleNumber (). The maximum number of video streams is acquired with the command getMaxVideoStreams ().
次に、この発明の実施の一形態によるシナリオを記述するコマンドやデータベースの、ディスクへの格納方法について説明する。図29は、この実施の一形態による一例のファイルの管理構造を示す。ディスク上には、先ず、1つのルートディレクトリが作成される。このルートディレクトリの下が、1つの記録再生システムで管理される範囲とする。 Next, a method for storing a command or database describing a scenario according to an embodiment of the present invention on a disk will be described. FIG. 29 shows an example of a file management structure according to this embodiment. First, one root directory is created on the disk. The area under this root directory is a range managed by one recording / reproducing system.
ルートディレクトリの下に、ディレクトリBDMVが置かれる。なお、図示はされていないが、ディレクトリBDMVは、上述の図4の如く、ルートディレクトリの下に複数を置くことができる。なお、以下では、この発明の実施の一形態で定義される方式をBDMVと総称する。 A directory BDMV is placed under the root directory. Although not shown, a plurality of directories BDMV can be placed under the root directory as shown in FIG. Hereinafter, the methods defined in the embodiment of the present invention are collectively referred to as BDMV.
ディレクトリBDMVの下には、2つのファイルすなわちファイル「scenario.hdmv」およびファイル「entrylist.data」が置かれると共に、ディレクトリ「PLAYLIST」、ディレクトリ「CLIPINF」、ディレクトリ「STREAM」といった複数のディレクトリが置かれる。 Under the directory BDMV, two files, that is, a file “scenario.hdmv” and a file “entrylist.data” are placed, and a plurality of directories such as a directory “PLAYLIST”, a directory “CLIPINF”, and a directory “STREAM” are placed. .
図30は、ファイル「scenario.hdmv」の一例の構造を表すシンタクスを示す。このファイル「scenario.hdmv」は、ディスク挿入時などのイニシャルアクセス時に最初に読み込まれ実行されるファイルである。ファイル「scenario.hdmv」は、最初にファイル識別記号(フィールドtype_indicator)、バージョン番号(フィールドversion_number)が記述され、その後に、機能毎のデータを集めたブロックが並んでいる。 FIG. 30 shows syntax that represents an example of the structure of the file “scenario.hdmv”. This file “scenario.hdmv” is a file that is first read and executed at the time of initial access such as when a disc is inserted. In the file “scenario.hdmv”, a file identification symbol (field type_indicator) and a version number (field version_number) are first described, and then blocks collecting data for each function are arranged.
フィールドtype_indicatorは、32ビットのデータ長を有し、このファイルがファイル「scenario.hdmv」であることを表す特定の文字列が格納されている。フィールドversion_numberは、32ビットのデータ長を有し、バージョン番号が入る。フィールドScenario_start_addressは、32ビットのデータ長を有する符号無しの整数で、ブロックScenario()が開始される位置をファイル「scenario.hdmv」の先頭からの相対バイト数で表した値が格納される。 The field type_indicator has a data length of 32 bits and stores a specific character string indicating that this file is the file “scenario.hdmv”. A field version_number has a data length of 32 bits and contains a version number. The field Scenario_start_address is an unsigned integer having a data length of 32 bits, and stores a value representing the position where the block Scenario () is started as a relative number of bytes from the beginning of the file “scenario.hdmv”.
ブロックAutoplay()は、ファイルの先頭から41バイト目の固定位置から始まる。ブロックAutoplay()には、上述した、イニシャルアクセス時(ディスク挿入時のようにディスクの再生が始めて行われる時)に実行されるプログラムが記述される。上述したグローバルコマンドは、このブロックAutoplay()に格納される。Autoplay()の後には、任意の数のパディングワード(padding_word)が入り、ブロックの後に空きを持たせることができるようになっている。 The block Autoplay () starts from a fixed position of the 41st byte from the beginning of the file. In the block Autoplay (), the program to be executed at the time of initial access (when the disc is first played back as when the disc is inserted) is described. The global command described above is stored in this block Autoplay (). An arbitrary number of padding words (padding_word) are placed after Autoplay (), and a space can be provided after the block.
図31は、図30におけるブロックAutoplay()の一例のデータ構造を表すシンタクスを示す。フィールドlengthは、データ長が32ビットの符号無しの整数で、このフィールドlengthの直後からブロックAutoplay()の終わりまでのデータ長を、バイトで表したものが記述される。フィールドnumber_of_commandsは、その後に続くフィールドcommand(i)の数を表す。フィールドcommand(i)は、データ長が32ビットの値で、上述の図28に一例が記されている、プレーヤのパラメータのセット、指定のプレイリストの再生開始、演算などの命令が記述されている。 FIG. 31 shows syntax that represents an example of the data structure of the block Autoplay () shown in FIG. The field length is an unsigned integer having a data length of 32 bits, and describes the data length in bytes from immediately after the field length to the end of the block Autoplay (). Field number_of_commands represents the number of field command (i) that follows. The field command (i) is a value having a data length of 32 bits, and describes commands such as a set of player parameters, start of reproduction of a specified playlist, calculation, and the like described in FIG. Yes.
ブロックScenario()は、これまで説明してきた「シナリオ」が記述される。プレイリストの再生順序の情報およびプレイリスト毎に持つローカルコマンド領域などが、このブロックScenario()に記述される。 The block Scenario () describes the “scenario” described so far. Information on the playback order of the playlist and the local command area for each playlist are described in this block Scenario ().
図32は、ブロックScenario()の一例の構造を表すシンタクスを示す。ブロックScenario()は、シナリオの情報、すなわちプレイリスト間のリンクを定義するブロックであって、上述したプレコマンド、ポストコマンド、プレイアイテムコマンドなどの情報およびコマンドそのものが格納される。ブロックScenario()は、ブロックScenario()内に格納されるコマンドの情報を示すフィールドが記述される領域と、実際のコマンドが列挙される領域とから構成される。 FIG. 32 shows syntax that represents an example of the structure of block Scenario (). The block Scenario () is a block that defines scenario information, that is, a link between playlists, and stores information such as the above-mentioned pre-command, post-command, play item command, and the command itself. The block Scenario () includes an area in which a field indicating command information stored in the block Scenario () is described, and an area in which actual commands are listed.
フィールドlengthは、このフィールドlengthの直後からブロックScenario()の終わりまでの長さをバイトで表現した値が記述される。フィールドnumber_of_PlayListsは、シナリオを構成するプレイリストの数を表す。このフィールドnumber_of_PlayLists以降は、プレイリスト毎に持つデータである。すなわち、フィールドnumber_of_PlayListsの次行からのforループにより、フィールドnumber_of_PlayListsで示される値をループカウンタiの最大値として、プレイリスト毎のデータが記述される。 In the field length, a value expressing the length from immediately after the field length to the end of the block Scenario () in bytes is described. A field number_of_PlayLists represents the number of playlists constituting the scenario. This field number_of_PlayLists and subsequent data is data for each playlist. That is, data for each playlist is described by a for loop from the next line of field number_of_PlayLists, with the value indicated by field number_of_PlayLists being the maximum value of loop counter i.
フィールドPre_Command_start_idは、プレイリストを再生する前に実行されるプログラム(プレコマンド)の、コマンドテーブル中での開始番号を表す。すなわち、フィールドPre_Command_start_idにより示される番号は、後述するフィールドPL_Command(i)が列挙されるforループ内でのループカウンタjを表す。同様に、フィールドPost_Command_start_idは、プレイリストを再生した後に実行されるプログラム(ポストコマンド))の、コマンドテーブル中での開始番号を表す。すなわち、フィールドPost_Command_start_idにより示される番号は、後述するフィールドPL_Command(j)が列挙されるforループ内でのループカウンタjを表す。 A field Pre_Command_start_id represents a start number in a command table of a program (pre-command) executed before playing a playlist. That is, the number indicated by the field Pre_Command_start_id represents a loop counter j in a for loop in which a field PL_Command (i) described later is listed. Similarly, the field Post_Command_start_id represents the start number in the command table of the program (post command) executed after playing the playlist. That is, the number indicated by the field Post_Command_start_id represents a loop counter j in a for loop in which a field PL_Command (j) described later is listed.
フィールドnumber_of_Pre_Commandsは、このプレイリストを再生する前に実行されるプログラム(プレコマンド)を構成するコマンドの数を表す。同様に、フィールドnumber_of_Post_Commandsは、このプレイリストを再生した後に実行されるプログラム(ポストコマンド)を構成するコマンドの数を表す。これらのプログラムは、後述するコマンドテーブル内に記述される。 A field number_of_Pre_Commands represents the number of commands constituting a program (pre-command) that is executed before reproducing the playlist. Similarly, a field number_of_Post_Commands represents the number of commands constituting a program (post command) executed after reproducing this playlist. These programs are described in a command table described later.
次のフィールドnumber_of_PlayItemsは、このプレイリストを構成するプレイアイテムの数を表す。フィールドPI_Command_start_idは、プレイアイテムの再生後に実行するコマンドの、コマンドテーブル中の開始番号を表す。すなわち、フィールドPI_Command_start_idにより示される番号は、後述するコマンドテーブル内でのループカウンタjを表す。フィールドnumber_of_PI_Commandsは、プレイアイテムの再生後に実行するコマンド(プレイアイテムコマンド)の数を表す。すなわち、後述するコマンドテーブル内において、フィールドPI_Command_start_idで示される位置から始まり、フィールドnumber_of_PI_Commandsで表される数のコマンドを、プレイアイテムの再生後に実行する。 The next field number_of_PlayItems represents the number of play items constituting this play list. A field PI_Command_start_id represents a start number in the command table of a command to be executed after playing the play item. That is, the number indicated by the field PI_Command_start_id represents a loop counter j in a command table described later. A field number_of_PI_Commands represents the number of commands (play item commands) to be executed after the play item is reproduced. That is, in the command table described later, the number of commands starting from the position indicated by the field PI_Command_start_id and indicated by the field number_of_PI_Commands are executed after playing the play item.
フィールドnumber_of_PL_Commandsは、次行からのコマンドテーブル中のコマンドの数を表す。コマンドテーブルは、フィールドPL_Command(j)が列挙されるforループにより構成される。コマンドテーブル内のコマンドには、順に番号jが割り当てられている。番号jは、コマンドテーブルを記述するためのforループのループカウンタjに対応する。フィールドPL_Command(j)は、一つのコマンドを表し、番号jは、上述したフィールドPre_Command_start_id、フィールドPost_Command_start_idおよびフィールドPI_Command_start_idから参照される。 A field number_of_PL_Commands represents the number of commands in the command table from the next line. The command table is configured by a for loop in which a field PL_Command (j) is listed. Numbers j are sequentially assigned to the commands in the command table. The number j corresponds to the loop counter j of the for loop for describing the command table. The field PL_Command (j) represents one command, and the number j is referred to from the above-described field Pre_Command_start_id, field Post_Command_start_id, and field PI_Command_start_id.
図33は、ファイル「entrylist.data」の一例のデータ構造を表したシンタクスを示す。ファイル「entrylist.data」は、最初にファイル識別記号(フィールドtype_indicator)、バージョン番号(フィールドversion_number)、ブロックの開始アドレス(フィールドScenarioEntry_start_address)が記述され、その後に、機能毎のデータを集めたブロックが並んでいる。 FIG. 33 shows syntax that represents an example of the data structure of the file “entrylist.data”. In the file “entrylist.data”, a file identification symbol (field type_indicator), a version number (field version_number), and a block start address (field ScenarioEntry_start_address) are described first, followed by a block in which data for each function is collected. It is out.
フィールドtype_indicatorは、データ長が32ビットを有し、このファイルがタイトルやメニューのエントリポイントを記述したファイルであることを表す特定の文字列が格納されている。フィールドversion_numberは、データ長が32ビットを有し、バージョン番号が格納される。フィールドScenarioEntry_start_addressは、データ長が32ビットの符号無しの整数で、ブロックScenarioEntry()が開始される位置を、ファイル「entrylist.data」の先頭からの相対バイト数で表した値が格納される。 The field type_indicator has a data length of 32 bits and stores a specific character string indicating that this file is a file describing a title or a menu entry point. The field version_number has a data length of 32 bits and stores a version number. The field ScenarioEntry_start_address is an unsigned integer having a data length of 32 bits, and stores a value representing the position at which the block ScenarioEntry () starts with the relative number of bytes from the beginning of the file “entrylist.data”.
図34は、ブロックAppInfo()の一例の構造を表すシンタクスを示す。フィールドlengthは、データ長が32ビットの符号無しの整数で、このフィールドlengthの直後からブロックAppInfo()の終わりまでの長さをバイトで表したものが記述される。フィールドHDMV_name_character_setは、後述するフィールドHDMV_nameを記述する文字セットを表す。フィールドPIN_valid_flagは、再生時に暗証番号を設定するか否かを表し、設定有効の場合は、直後のフィールドPINが暗証番号を表す。フィールドHDMV_name_lengthは、次のフィールドHDMV_nameの有効部分の長さを表す。フィールドHDMV_nameは、このファイル「entrylist.data」が置かれるディレクトリHDMVに付けられた名称がテキスト形式で格納されている領域である。フィールドHDMV_nameは、データ長が255バイトの固定長とされる。実際に名称が格納される部分は、フィールドHDMV_nameの先頭からフィールドHDMV_name_lengthで指定されている長さまでとされる。 FIG. 34 shows syntax that represents an example of the structure of a block AppInfo (). The field length is an unsigned integer having a data length of 32 bits, and describes the length from immediately after this field length to the end of the block AppInfo () in bytes. A field HDMV_name_character_set represents a character set describing a field HDMV_name described later. A field PIN_valid_flag indicates whether or not a password is set at the time of reproduction. When the setting is valid, the immediately following field PIN indicates a password. A field HDMV_name_length represents the length of the effective part of the next field HDMV_name. A field HDMV_name is an area in which a name assigned to the directory HDMV in which the file “entrylist.data” is stored is stored in a text format. The field HDMV_name has a fixed data length of 255 bytes. The part where the name is actually stored is from the beginning of the field HDMV_name to the length specified by the field HDMV_name_length.
図35は、ブロックScenarioEntry()の一例の構造を表すシンタクスを示す。ブロックScenarioEntry()は、シナリオ内の頭出し点が羅列される。ここで、シナリオは、上述したようにディレクトリHDMVに対して一つ作られ、ディレクトリHDMVの下に置かれる複数のプレイリストを結び付けて再生順序を定義する。一方、ユーザから見た場合、シナリオは、必ずしも一つの映像・音声単位として見える訳ではなく、複数の「タイトル」から構成されているように見える。 FIG. 35 shows syntax that represents an example of the structure of the block ScenarioEntry (). The block ScenarioEntry () lists the cue points in the scenario. Here, as described above, one scenario is created for the directory HDMV, and a playback order is defined by connecting a plurality of playlists placed under the directory HDMV. On the other hand, when viewed from the user, the scenario does not necessarily appear as one video / audio unit, but appears to be composed of a plurality of “titles”.
例えば、一枚のディスクに映画が3本収録されている場合、再生順序を定義するシナリオは、ディスクに一つのみ存在するが、ユーザには当該ディスクに3つのタイトルが収録されているように見える。あるいは、その3つのタイトルのリストを表示し、ユーザに選択させるタイトルメニュー画面も含めて、4つのタイトルに分割されているように見える。なお、メニュー画面もユーザにとっては一まとまりの映像、音声単位であるので、この発明の実施の一形態では、タイトルの一種としてみなすことにする。 For example, if three movies are recorded on one disc, there is only one scenario that defines the playback order on the disc, but the user seems to have three titles recorded on the disc. appear. Alternatively, a list of the three titles is displayed, and it appears that the title menu screen is divided into four titles including a title menu screen that allows the user to select. Since the menu screen is also a unit of video and audio for the user, it is regarded as a kind of title in the embodiment of the present invention.
このように、プレイリストの結びつきを定義するシナリオという単位と、ユーザが一まとまりの映像、音声として認識する単位には違いがあるため、上述のように、シナリオ内に頭出し点を定義しておく必要がある。このシナリオ内の頭出し点を、タイトルエントリと称する。このブロックScenarioEntry()に、タイトルエントリの情報が記述される。 In this way, there is a difference between the unit called scenario that defines the connection of playlists and the unit that the user recognizes as a set of video and audio. Therefore, as described above, the cue point is defined in the scenario. It is necessary to keep. The cue point in this scenario is called a title entry. Information of the title entry is described in this block ScenarioEntry ().
図35の説明に戻り、フィールドlengthは、データ長が32ビットの符号無しの整数で、このフィールドlengthの直後からブロックScenarioEntry()の終わりまでの長さをバイトで表したものが格納される。フィールドname_character_setは、後述するフィールドTopMenu_nameとフィールドTitle_nameとを表現する文字セットを表す。 Returning to the description of FIG. 35, the field length is an unsigned integer having a data length of 32 bits, and stores the length immediately after this field length to the end of the block ScenarioEntry () in bytes. A field name_character_set represents a character set expressing a field TopMenu_name and a field Title_name which will be described later.
次のブロックTop Menu PL()は、ユーザがリモコンのタイトルメニューキーを押したときに表示されるメニューを構成しているプレイリストあるいはプレイリスト群へのエントリポイントを指定する。トップメニューは、シナリオに一つあり、例えばタイトルをユーザに提示するためのメニューとして利用される。トップメニューに対して、さらにオーディオや字幕を設定するサブメニューを下層メニューとして設けることができる。サブメニューは、ストリーム設定メニューとも称される。 The next block Top Menu PL () designates an entry point to a playlist or playlist group constituting a menu displayed when the user presses the title menu key of the remote controller. There is one top menu in the scenario, and for example, it is used as a menu for presenting a title to the user. A submenu for setting audio and subtitles can be provided as a lower menu for the top menu. The sub menu is also referred to as a stream setting menu.
フィールドflagsは、詳細は省略するが、トップメニューに関する属性情報を表す領域である。フィールドTopMenu_ref_to_PlayList_file_nameは、トップメニューを構成するプレイリストあるいはプレイリスト群の入り口となるプレイリストを指定する。フィールドTopMenu_ref_to_PlayItem_idは、フィールドTopMenu_ref_to_PlayList_file_nameで指定したプレイリスト中の特定のプレイアイテムからトップメニューが開始されている場合、そのプレイアイテムの番号を指定する。プレイリストの先頭からの再生であれば、フィールドTopMenu_ref_to_PlayItem_idの値は、「0」となる。フィールドTopMenu_name_lengthは、トップメニューに付された名前の長さを表す。フィールドTopMenu_nameは、トップメニューに付された名前の文字列が格納される。 The field flags is an area representing attribute information related to the top menu, although details are omitted. A field TopMenu_ref_to_PlayList_file_name designates a playlist that constitutes the top menu or a playlist that serves as an entrance to a playlist group. The field TopMenu_ref_to_PlayItem_id specifies the number of the play item when the top menu is started from a specific play item in the playlist specified by the field TopMenu_ref_to_PlayList_file_name. In the case of playback from the top of the playlist, the value of the field TopMenu_ref_to_PlayItem_id is “0”. A field TopMenu_name_length represents the length of the name assigned to the top menu. A field TopMenu_name stores a character string of a name assigned to the top menu.
ブロックTop Menu PL()の次に、タイトルに関する情報が記述される。フィールドnumber_of_Titlesは、その直後のforループ内のタイトル頭出し点(タイトルエントリ)の数を表す。フィールドflagsは、詳細は省略するが、タイトルに関する属性情報を表す領域である。フィールドTitle_ref_to_PlayList_file_nameは、タイトルエントリを含むプレイリストのファイル名を表す。フィールドTitle_ref_to_PlayItem_idは、フィールドTitle_ref_to_PlayList_file_nameで指定したプレイリストの中の特定のプレイアイテムからタイトルが始まる場合に用いる。フィールドTitle_name_lengthは、タイトルに付された名前の長さを表す。フィールドTitle_nameは、タイトルに付された名前の文字列が格納される。 Next to the block Top Menu PL (), information on the title is described. A field number_of_Titles represents the number of title cue points (title entries) in the for loop immediately after that. The field flags is an area representing attribute information related to the title, although details are omitted. A field Title_ref_to_PlayList_file_name represents a file name of a playlist including a title entry. The field Title_ref_to_PlayItem_id is used when a title starts from a specific play item in the playlist specified by the field Title_ref_to_PlayList_file_name. A field Title_name_length represents the length of the name given to the title. A field Title_name stores a character string of a name attached to a title.
次に、サブメニューに関する情報が記述される。「Stream Setup Menu」以下に、プレイアイテム毎に持つことができるストリーム設定メニュー(すなわちサブメニュー)を構成するプレイリストあるいはプレイリスト群へのエントリポイントが記述されている。ストリーム設定メニューは、オーディオ、字幕、アングルなどの切り替えなど、プレイリスト毎に個別にメニューを用意したい場合に利用することができる。例えば、上述の図20におけるボタン64、65を押すことで表示される画面がサブメニューである。
Next, information about the submenu is described. Below “Stream Setup Menu”, entry points to play lists or play list groups constituting stream setting menus (that is, sub-menus) that can be held for each play item are described. The stream setting menu can be used when a menu is individually prepared for each playlist, such as switching between audio, subtitles, and angles. For example, a screen displayed by pressing the
フィールドnumber_of_PlayListsは、ストリーム設定メニューに用いられるプレイリストの数を表す。このフィールドnumber_of_PlayListsの値が直後のforループのループ回数として用いられる。フィールドSSMenu_flagsは、詳細は省略するが、ストリーム設定メニューに関連する属性情報を格納する領域である。フィールドSSMenu_ref_to_PlayList_file_nameは、ストリーム設定メニューを構成するプレイリストあるいはプレイリスト群の入り口となるプレイリストを指定する。フィールドSSMenu_ref_to_PlayItem_idは、フィールドSSMenu_ref_to_PlayList_file_nameで指定したプレイリスト中の特定のプレイアイテムからストリーム設定メニューが開始されている場合、そのプレイアイテムの番号を指定する。プレイリストの先頭からの再生であれば、フィールドSSMenu_ref_to_PlayItem_idの値は、「0」となる A field number_of_PlayLists represents the number of playlists used for the stream setting menu. The value of this field number_of_PlayLists is used as the loop count of the immediately following for loop. The field SSMenu_flags is an area for storing attribute information related to the stream setting menu, although details are omitted. A field SSMenu_ref_to_PlayList_file_name designates a playlist that constitutes a stream setting menu or a playlist serving as an entrance to a playlist group. A field SSMenu_ref_to_PlayItem_id specifies the number of a play item when the stream setting menu is started from a specific play item in the playlist specified by the field SSMenu_ref_to_PlayList_file_name. If playback is from the beginning of the playlist, the value of the field SSMenu_ref_to_PlayItem_id is “0”.
図36は、ファイル「xxxxx.mpls」の一例の構造を表すシンタクスを示す。図36において、ファイル「xxxxx.mpls」の内部は、機能別の情報毎にブロックが構成される。フィールドtype_indicatorにこのファイルを示す文字列が格納され、フィールドversion_numberにこのファイルのバージョンが示される。また、フィールドPlayList_start_addressおよびPlayListMark_start_addressには、それぞれ対応するブロックの先頭アドレスが例えばデータ長が32ビットのアドレス情報として示される。 FIG. 36 shows syntax that represents an example of the structure of the file “xxxxx.mpls”. In FIG. 36, a file “xxxxx.mpls” includes blocks for each function-specific information. A character string indicating this file is stored in the field type_indicator, and the version of this file is indicated in the field version_number. In the fields PlayList_start_address and PlayListMark_start_address, the head address of the corresponding block is indicated as address information having a data length of 32 bits, for example.
ブロックPLControlInfo()は、このプレイリストに関する属性情報が格納される。ブロックPlayList()は、このプレイリストを構成するプレイアイテムに関する情報が格納される。ブロックPlayListMark()は、このプレイリストに付されるマークの情報が格納される。 The block PLControlInfo () stores attribute information related to this playlist. The block PlayList () stores information regarding play items that constitute the play list. The block PlayListMark () stores information on marks attached to this playlist.
ファイル「xxxxx.mpls」において、ブロックPLControlInfo()、PlayList()およびPlayListMark()の先頭アドレスがこれらのブロックより前に示されるために、各ブロックの前および/または後ろに、任意の長さのパディングデータpadding_wordを挿入することができる。但し、ファイル「xxxxx.mpls」の最初のブロックであるブロックPLControlInfo()の開始位置は、ファイルの先頭から41バイト目に固定される。 In the file “xxxxx.mpls”, since the head addresses of the blocks PLControlInfo (), PlayList () and PlayListMark () are indicated before these blocks, an arbitrary length is placed before and / or after each block. Padding data padding_word can be inserted. However, the start position of the block PLControlInfo () that is the first block of the file “xxxxx.mpls” is fixed to the 41st byte from the beginning of the file.
図37は、ブロックPLControlInfo()の一例の構造を表すシンタクスを示す。このブロックPLControlInfo()は、プレイリストの再生において直接的に必要とされない、プレイリストに関する各種の属性情報が格納される。フィールドPlayList_character_setは、プレイリストに関する文字列情報の文字セットが指定される。 FIG. 37 shows syntax that represents an example of the structure of the block PLControlInfo (). This block PLControlInfo () stores various attribute information relating to the playlist that is not directly required for playback of the playlist. In the field PlayList_character_set, a character set of character string information related to the playlist is specified.
フィールドPL_playback_typeは、図38に一例が示されるような値を取り、このプレイリストがシーケンシャルに再生される通常のプレイリストか、プレイアイテムをランダム再生するプレイリストか、プレイアイテムをシャッフル再生するプレイリストであるかを表す。ランダムシャッフルは、プレイリストの単位で指定する。すなわち、一つのプレイリストに通常再生のプレイアイテムとランダムシャッフルのプレイアイテムブロックを混在させない。再生専用の記録媒体の場合には、制作者の意図により、ランダム再生やシャッフル再生を指定されることがあるため、このような情報が必要とされる。 The field PL_playback_type takes a value as shown in FIG. 38 as an example, and a normal playlist in which this playlist is played sequentially, a playlist in which play items are played back randomly, or a playlist in which play items are shuffled played back. Represents whether or not Random shuffle is specified in units of playlists. That is, a play item for normal reproduction and a play item block for random shuffle are not mixed in one play list. In the case of a reproduction-only recording medium, random reproduction or shuffle reproduction may be designated depending on the creator's intention, so such information is required.
フィールドplayback_countは、このプレイリストがランダム再生あるいはシャッフル再生のプレイリストであるとき、プレイアイテムの再生回数を指定する。すなわち、このフィールドplayback_countにより、ランダム再生あるいはシャッフル再生に用いるプレイアイテムの数を指定できる。 The field playback_count specifies the number of times the play item is played when this play list is a play list of random play or shuffle play. That is, the number of play items used for random playback or shuffle playback can be specified by this field playback_count.
フィールドPL_UOP_mask_table()は、ユーザ操作を制限する情報が格納される。再生、早送り、早戻しなどのユーザ操作を、このプレイリストの再生中に禁止したい場合、この領域で適切な指定をする。例えば、このフィールドPL_UOP_mask_table()内の値を所定に設定することで、警告表示や著作権の表示を早送りなどで飛ばして再生されないようにできる。 A field PL_UOP_mask_table () stores information for restricting user operations. If user operations such as playback, fast forward, and fast reverse are to be prohibited during playback of this playlist, appropriate designation is made in this area. For example, by setting the value in this field PL_UOP_mask_table () to a predetermined value, warning display and copyright display can be skipped by fast-forwarding so that they are not reproduced.
フィールドPL_random_access_modeは、図39に一例が示される値を取り、このプレイリスト中の任意の箇所に飛び込み再生をするランダムアクセスが可能か否かを示す。例えば、必ずユーザに見せたいプレイリストがある場合に、フィールドPL_random_access_modeの値を〔0x1〕に設定する。これにより、このプレイリストを再生する際には、早送り、早戻し、任意時刻からの再生などが不可能になる。再生専用の記録媒体においては、制作会社のロゴ表示や注意事項など、ユーザに必ず見せたいシーンが収録されている場合がある。このフィールドPL_random_access_modeは、そのようなシーンを変速再生等で飛ばされないようにするために必要な情報である。 The field PL_random_access_mode takes a value as shown in FIG. 39 as an example, and indicates whether or not random access for jumping into and playing back at an arbitrary position in this playlist is possible. For example, when there is a playlist that the user always wants to show to the user, the value of the field PL_random_access_mode is set to [0x1]. As a result, when this play list is reproduced, fast forward, fast reverse, reproduction from an arbitrary time, and the like become impossible. On a playback-only recording medium, there are cases where scenes that the user wants to show to the user, such as production company logos and precautions, are recorded. This field PL_random_access_mode is information necessary for preventing such a scene from being skipped by variable speed reproduction or the like.
フィールドPlayList_durationは、プレイリストの再生時間を示す。フィールドPlayList_nameは、フィールドPlayList_name_lengthに示される値を有効長としてプレイリスト名が示される。フィールドPlayList_detailは、フィールドPlayList_detail_lengthに示される値を有効長としてプレイリストの詳細情報が示される。 A field PlayList_duration indicates the playback time of the playlist. In the field PlayList_name, the play list name is indicated with the value indicated in the field PlayList_name_length as the effective length. In the field PlayList_detail, detailed information of the play list is indicated with the value indicated in the field PlayList_detail_length as an effective length.
図40は、ブロックPlayList()の一例の構造を表すシンタクスを示す。フィールドlengthは、フィールドlengthの直後のフィールドからこのブロックPlayList()の終端までのバイト長を示す。フィールドnumber_of_PlayItemsは、このプレイリストを構成するプレイアイテムの数を示す。フィールドnumber_of_SubPlayItemsは、このメインのプレイアイテムと同時に再生される補助的なプレイアイテム(サブプレイアイテム)の数を示す。 FIG. 40 shows syntax that represents an example of the structure of a block PlayList (). The field length indicates the byte length from the field immediately after the field length to the end of the block PlayList (). A field number_of_PlayItems indicates the number of play items constituting the play list. A field number_of_SubPlayItems indicates the number of auxiliary play items (sub play items) reproduced simultaneously with the main play item.
ブロックPlayItem()は、プレイアイテムの情報が格納される。ブロックSubPlayItem()は、サブプレイアイテムの情報が格納される。 The block PlayItem () stores play item information. The block SubPlayItem () stores information on sub play items.
図41は、ブロックPlayItem()の一例の構造を表すシンタクスを示す。フィールドClip_Information_file_nameは、このプレイアイテムが参照しているクリップと1対1に対応するクリップ情報ファイル(拡張子が「clpi」であるファイル)のファイル名が文字列で示される。 FIG. 41 shows syntax that represents an example of the structure of a block PlayItem (). In the field Clip_Information_file_name, the file name of a clip information file (file whose extension is “clpi”) one-to-one with the clip referred to by the play item is indicated by a character string.
フィールドClip_codec_identifierは、このプレイアイテムにより参照されるクリップの符号化方式を示す。この実施の一形態では、フィールドClip_codec_Identifierは、値「M2TS」に固定的とされる。すなわち、この実施の一形態では、プレイアイテムにより参照されるクリップの符号化方式が値「M2TS」により示される方式に固定的とされる。 A field Clip_codec_identifier indicates an encoding method of a clip referred to by the play item. In this embodiment, the field Clip_codec_Identifier is fixed to the value “M2TS”. That is, in this embodiment, the clip encoding method referred to by the play item is fixed to the method indicated by the value “M2TS”.
フラグis_multi_angleは、このプレイアイテムが後述するマルチアングル構造であるかどうかを表す(第1のフラグ)。 The flag is_multi_angle represents whether or not this play item has a multi-angle structure to be described later (first flag).
フィールドconnection_conditionは、このプレイアイテムと次のプレイアイテムとがどのように接続されているかを示す情報である。すなわち、フィールドconnection_conditionにより、プレイアイテムとプレイアイテムとの間が継ぎ目なくシームレスに再生できるか否かが示される。 The field connection_condition is information indicating how this play item and the next play item are connected. That is, the field connection_condition indicates whether or not play items can be reproduced seamlessly between play items.
フィールドref_to_STC_idは、このプレイアイテムにより参照されるクリップ内のシーケンスSTC_sequenceを指定する。シーケンスSTC_sequenceは、MPEG2 TS(Transport Stream)における時間軸の基準であるPCR(Program Clock Reference)が連続な範囲を表すBlu−ray Disc規格独自の構造である。シーケンスSTC_sequenceには、クリップ内で一意な番号STC_idが割り当てられる。このシーケンスSTC_sequence内では、不連続の無い一貫した時間軸を定義できるので、プレイアイテムの開始時刻および終了時刻を一意に定めることができる。つまり、各プレイアイテムの開始点と終了点は、同一のシーケンスSTC_sequenceに存在していなければならない。フィールドref_to_STC_idでは、番号STC_idによりシーケンスSTC_sequenceが指定される。 A field ref_to_STC_id specifies a sequence STC_sequence in the clip referred to by this play item. The sequence STC_sequence is a structure unique to the Blu-ray Disc standard that represents a continuous range of PCR (Program Clock Reference), which is a time axis reference in MPEG2 TS (Transport Stream). A number STC_id unique within the clip is assigned to the sequence STC_sequence. In this sequence STC_sequence, a consistent time axis without discontinuity can be defined, so that the start time and end time of a play item can be uniquely determined. That is, the start point and the end point of each play item must exist in the same sequence STC_sequence. In the field ref_to_STC_id, a sequence STC_sequence is specified by a number STC_id.
フィールドIN_timeおよびOUT_Timeは、このプレイアイテムにおける開始点および終了点の、シーケンスSTC_sequence 上でのタイムスタンプpts(presentation_time_stamp)をそれぞれ示す。 Fields IN_time and OUT_Time indicate time stamps pts (presentation_time_stamp) on the sequence STC_sequence of the start point and end point of this play item, respectively.
フィールドPI_UOP_mask_table()は、ユーザ操作を制限するためのデータが格納される。ここで制限されたユーザ操作は、仮にユーザがその操作を行ったとしても、プレーヤは反応してはならない。例えばメニュー画面で早送りが実行されないようにする場合に、ここで早送りのユーザ操作を無効にするような設定をしておく。 A field PI_UOP_mask_table () stores data for restricting user operations. The user operation restricted here should not react even if the user performs the operation. For example, when fast-forwarding is not executed on the menu screen, a setting is made to disable the fast-forwarding user operation here.
なお、このプレイアイテム毎に設けられるフィールドPI_UOP_mask_table()は、上述したプレイリストの再生に関するブロックPLControlInfo()に設けられるフィールドPL_UOP_mask_table()と同様の目的の情報が格納される。プレイリストとプレイアイテムとの何方かで禁止となっていれば、そのユーザ操作は禁止となる。すなわち、プレイリストの情報と、プレイアイテムの情報とで和演算がなされ、あるプレイアイテム再生中でのユーザ操作の制限が決まることになる。 Note that the field PI_UOP_mask_table () provided for each play item stores the same purpose information as the field PL_UOP_mask_table () provided in the block PLControlInfo () related to the play list reproduction described above. If the play list or play item prohibits it, the user operation is prohibited. In other words, a sum operation is performed on the play list information and the play item information, and the restriction on the user operation during playback of a play item is determined.
フィールドPID_filter()は、詳細は省略するが、このプレイアイテムで再生するストリームの優先順位を決めるテーブルである。 The field PID_filter () is a table that determines the priority order of streams to be played back by this play item, although details are omitted.
フィールドPI_random_access_modeは、図42に一例が示されるような値を取り、このプレイアイテム中の任意の箇所に飛び込み再生をするランダムアクセスが可能か否かを示す。例えば、必ずユーザに見せたいプレイリストがある場合に、フィールドPI_random_access_modeの値を〔0x1〕に設定しておく。これにより、このプレイアイテムを再生する際に、早送り、早戻し、任意時刻からの再生などを不可能にできる。 The field PI_random_access_mode takes a value as shown in FIG. 42 as an example, and indicates whether or not random access for jumping into and playing back at an arbitrary position in the play item is possible. For example, if there is a playlist that the user always wants to show to the user, the value of the field PI_random_access_mode is set to [0x1]. Thereby, when this play item is reproduced, fast forward, fast reverse, reproduction from an arbitrary time, etc. can be made impossible.
フィールドstill_modeは、このプレイアイテム再生後に一時停止を行うかを決めるフィールドである。フィールドstill_modeは、図43に一例が示されるような値を取り、例えばフィールドstill_modeの値が〔0x1〕のときは一時停止することを表し、次のフィールドstill_timeのフィールドで指定された時間、一時停止を行う。これにより、スライドショーなどのような、静止画像を一定間隔で次々と表示するような再生を実現することができる。この場合には、静止画1枚ずつがそれぞれプレイアイテムとなっている。なお、フィールドstill_timeは、有限の時間だけでなく、ユーザが入力するまで一時停止し続けるという設定(ポーズ設定)も可能となっている。例えばフィールドstill_modeの値を〔0x2〕とすることで、ポーズ設定が可能とされる。 The field still_mode is a field for determining whether to pause after playing the play item. The field still_mode takes a value as shown in FIG. 43. For example, when the value of the field still_mode is [0x1], the field still_mode indicates that the pause is performed, and the pause is performed for the time specified in the field of the next field still_time. I do. Thereby, it is possible to realize a reproduction such as a slide show in which still images are displayed one after another at regular intervals. In this case, each still image is a play item. Note that the field still_time can be set not only for a finite time but also for pause (pause setting) until the user inputs it. For example, setting the field still_mode to [0x2] enables the pause setting.
上述したフラグis_multi_angleの値が例えば「1」とされていれば、このプレイアイテムがマルチアングルであるとされ、「Angle」以下に、マルチアングルのための情報が追加される。 If the value of the flag is_multi_angle described above is set to “1”, for example, the play item is determined to be multi-angle, and information for multi-angle is added below “Angle”.
フィールドnumber_of_anglesは、アングル数を表す。フィールドis_seamless_angle_changeは、図44に一例が示されるような値を取り、アングルがシームレスに切り替え可能なように、すなわち、アングル間をなめらかに切り替えることができる状態に各アングルがディスク上配置されているか否かを表す。 A field number_of_angles represents the number of angles. The field is_seamless_angle_change takes a value as shown in FIG. 44, and whether or not each angle is arranged on the disc so that the angles can be switched seamlessly, that is, between the angles can be switched smoothly. Represents
次のforループは、アングルを構成するクリップの情報が記述される。forループ中のフィールドClip_Information_file_nameは、このプレイアイテムが参照しているクリップと1対1に対応するクリップ情報ファイル(拡張子が「clpi」であるファイル)のファイル名が文字列で示される。フィールドref_to_STC_idは、このプレイアイテムにより参照されるクリップ内のシーケンスSTC_sequenceを指定する。 In the next for loop, information on a clip constituting an angle is described. In the field Clip_Information_file_name in the for loop, the file name of the clip information file (file whose extension is “clpi”) corresponding one-to-one with the clip referred to by the play item is indicated by a character string. A field ref_to_STC_id specifies a sequence STC_sequence in the clip referred to by this play item.
ここで、値angle_id=0に相当するアングルは、アングルを構成しない通常のプレイアイテムと同じように、このブロックPlayItem()の前半部分で既に定義されている。値angle_id=1以降のアングルがこのforループの中で定義されている。したがって、このforループの中には、値angle=0に相当するアングルは、含まれていない。 Here, the angle corresponding to the value angle_id = 0 is already defined in the first half of this block PlayItem (), as in the case of a normal play item that does not constitute an angle. Angles after the value angle_id = 1 are defined in this for loop. Therefore, the angle corresponding to the value angle = 0 is not included in this for loop.
図45は、ブロックSubPlayItem()の一例の構造を表すシンタクスを示す。フィールドlengthは、この直後のフィールドからSubPlayItem()の終わりまでの長さをバイトで表したものである。フィールドClip_Information_file_nameは、このサブプレイアイテムが参照しているクリップと1対1に対応するクリップ情報ファイル(拡張子が「clpi」であるファイル)のファイル名が文字列で示される。 FIG. 45 shows syntax that represents an example of the structure of a block SubPlayItem (). The field length represents the length from the field immediately after this to the end of SubPlayItem () in bytes. In the field Clip_Information_file_name, the file name of the clip information file (file whose extension is “clpi”) corresponding one-to-one with the clip referred to by this sub play item is indicated by a character string.
フィールドClip_codec_identifierは、このサブプレイアイテムにより参照されるクリップの符号化方式を示す。この実施の一形態では、フィールドClip_codec_Identifierは、値「M2TS」に固定的とされる。 A field Clip_codec_identifier indicates a coding scheme of a clip referenced by the sub play item. In this embodiment, the field Clip_codec_Identifier is fixed to the value “M2TS”.
フィールドis_repeat_flagは、図46に一例が示されるような値を取り、このサブプレイアイテムをメインのプレイアイテム(メインパス)と非同期に繰り返し再生するか否かを表すフラグである。例えば、このフィールドis_repeat_flagの値が「1」の場合は、メインのプレイアイテムの再生が終了するまで、メインのプレイアイテムとは非同期に、このサブプレイアイテムが繰り返し再生される。このフィールドis_repeat_flagの値が「0」の場合は、このサブプレイアイテムは、メインのプレイアイテムと同期して、一度だけ再生される。 The field is_repeat_flag takes a value as shown in FIG. 46, and indicates whether or not this sub play item is repeatedly reproduced asynchronously with the main play item (main path). For example, when the value of this field is_repeat_flag is “1”, this sub play item is repeatedly reproduced asynchronously with the main play item until the reproduction of the main play item is completed. When the value of this field is_repeat_flag is “0”, this sub play item is reproduced only once in synchronization with the main play item.
例えば、このサブプレイアイテムがオーディオのみのサブプレイアイテムである場合、フィールドis_repeat_flagの値を「1」とすることで、BGM(Back Ground Music)再生を行うことができる。 For example, when this sub play item is an audio-only sub play item, BGM (Back Ground Music) playback can be performed by setting the value of the field is_repeat_flag to “1”.
フィールドSubPlayItem_typeは、このサブプレイアイテムがどのような性質を持ったサブプレイアイテムであるかを表す。例えば、フィールドSubPlayItem_typeの値が「1」であれば、オーディオのみのサブプレイアイテムであることを表す。 A field SubPlayItem_type represents what kind of property the sub play item has. For example, if the value of the field SubPlayItem_type is “1”, it represents an audio-only sub play item.
フィールドref_to_STC_idは、このプレイアイテムにより参照されるクリップ内のシーケンスSTC_sequenceを指定する。フィールドSubPlayItem_IN_timeおよびSubPlayItem_OUT_Timeは、このサブプレイアイテムにおける開始点および終了点の、シーケンスSTC_sequence 上でのタイムスタンプpts(presentation_time_stamp)をそれぞれ示す。 A field ref_to_STC_id specifies a sequence STC_sequence in the clip referred to by this play item. Fields SubPlayItem_IN_time and SubPlayItem_OUT_Time indicate time stamps pts (presentation_time_stamp) on the sequence STC_sequence of the start point and end point of this sub play item, respectively.
上述のフィールドis_repeat_flagの値が例えば「0」であって、このサブプレイアイテムがメインのプレイアイテムと同期して再生されることを示す場合、フィールドsync_PlayItem_idとフィールドsync_start_PTS_of_PlayItemにより、サブプレイアイテムがメインのプレイアイテムのどの時刻から同期再生されるかが指定される。 When the value of the above-mentioned field is_repeat_flag is “0”, for example, indicating that this sub play item is played back in synchronization with the main play item, the sub play item is the main play item by the field sync_PlayItem_id and the field sync_start_PTS_of_PlayItem. The time at which the item is to be synchronized and played is specified.
図47に一例が示されるように、フィールドsync_PlayItem_idで、メインパスのプレイアイテムを指定し(PlayItem=1)、フィールドsync_start_PTS_of_PlayItemで、サブプレイアイテムが再生開始されるメインのプレイアイテム上の時刻を表す(t1)。また、サブプレイアイテムとして、対応するクリップがフィールドSubPlayItem_IN_timeおよびフィールドSubPlayItem_OUT_timeで指定される期間、再生されることが示されている。 As an example is shown in FIG. 47, the play item of the main path is designated by the field sync_PlayItem_id (PlayItem = 1), and the time on the main play item at which the sub play item starts to be reproduced is represented by the field sync_start_PTS_of_PlayItem ( t1). In addition, as a sub play item, it is indicated that a corresponding clip is reproduced for a period specified by a field SubPlayItem_IN_time and a field SubPlayItem_OUT_time.
図48は、ファイル「zzzzz.clpi」の一例の構造を表すシンタクスを示す。図48において、ファイル「zzzzz.clpi」の内部は、機能別の情報毎にブロックが構成される。フィールドtype_indicatorにこのファイルを示す文字列が格納され、フィールドversion_numberにこのファイルのバージョンが示される。また、フィールドSequenceInfo_start_address、フィールドProgramInfo_start_address、フィールドCPI_start_addressおよびフィールドClipMark_start_addressで、それぞれ対応するブロックの開始位置が示される。 FIG. 48 shows syntax that represents an example of the structure of the file “zzzzz.clpi”. In FIG. 48, the file “zzzzz.clpi” includes blocks for each function-specific information. A character string indicating this file is stored in the field type_indicator, and the version of this file is indicated in the field version_number. The field SequenceInfo_start_address, the field ProgramInfo_start_address, the field CPI_start_address, and the field ClipMark_start_address each indicate the start position of the corresponding block.
図49は、ブロックClipInfo()の一例の構造を表すシンタクスを示す。フィールドlengthは、この直後のフィールドからブロックClipInfo()の終わりまでの長さをバイトで表す。フィールドClip_stream_typeは、クリップAVストリームの種別を表す。再生専用の規格においては、通常のクリップであることを示す値、例えば値「1」に固定的としてよい。 FIG. 49 shows syntax that represents an example of the structure of the block ClipInfo (). The field length represents the length from the immediately following field to the end of the block ClipInfo () in bytes. A field Clip_stream_type represents the type of the clip AV stream. In the reproduction-only standard, a value indicating that the clip is a normal clip, for example, a value “1” may be fixed.
フィールドapplication_typeは、クリップAVストリーム(拡張子が「m2ts」のファイル)がどのような多重化によって作られているかを示す。フィールドapplication_typeは、図50に一例が示されるような値を取り、このクリップAVストリームが通常のビデオストリームであるか、静止画の表示に適した多重化がなされているストリームであるかを表す。 The field application_type indicates how the clip AV stream (file with extension “m2ts”) is created. The field application_type takes a value as shown in FIG. 50 as an example, and indicates whether this clip AV stream is a normal video stream or a stream that is multiplexed suitable for displaying a still image.
より具体的には、この例によれば、フィールドapplication_typeの値が「1」で、対応するクリップAVストリームのファイルがこの実施の一形態によるHDMVトランスポートストリームのルールに従っていることを示す。このとき、当該クリップAVストリームは、通常の動画が再生される。 More specifically, according to this example, the value of the field application_type is “1”, which indicates that the file of the corresponding clip AV stream complies with the rules of the HDMV transport stream according to this embodiment. At this time, a normal moving image is reproduced from the clip AV stream.
フィールドapplication_typeの値が「2」で、対応するクリップAVストリームのファイルがオーディオ再生に同期する静止画用の、HDMVトランスポートストリームのルールに従っていることを示す。このとき、当該クリップAVストリームは、例えばMPEG2形式のファイルであって、ビデオデータおよびオーディオデータがマルチプレクスされている。また、ビデオデータは、例えばMPEG2におけるIピクチャが静止画として並んでいるような構成とされる。これにより、例えばオーディオの時間軸に同期して表示されるスライドショーのような再生が可能とされる。このような再生を、タイムベーススライドショーと称する。 The value of the field application_type is “2”, which indicates that the corresponding clip AV stream file complies with the HDMV transport stream rules for still images synchronized with audio playback. At this time, the clip AV stream is, for example, an MPEG2 format file, and video data and audio data are multiplexed. The video data is configured such that, for example, I pictures in MPEG2 are arranged as still images. Thereby, for example, playback such as a slide show displayed in synchronization with the audio time axis is possible. Such reproduction is referred to as a time-based slide show.
フィールドapplication_typeの値が「3」で、対応するクリップAVストリームのファイルがオーディオとは非同期に再生される静止画用の、HDMVトランスポートストリームのルールに従っていることを示す。このとき、オーディオデータとビデオデータとは、別ファイルとされ、例えば、オーディオデータが再生されている間、ビデオデータは、静止画が任意の間隔またはユーザの指定に基づき切り換えられて表示される。ビデオデータは、上述と同様に、例えばMPEG2におけるIピクチャが静止画として並んでいるような構成とすることができる。このような再生を、ブラウザブルスライドショーと称する。 The value of the field application_type is “3”, which indicates that the corresponding clip AV stream file complies with the HDMV transport stream rules for still images that are reproduced asynchronously with the audio. At this time, the audio data and the video data are separate files. For example, while the audio data is being reproduced, the video data is displayed by switching the still image based on an arbitrary interval or user designation. Similar to the above, the video data can be configured such that, for example, MPEG2 I pictures are arranged as still images. Such reproduction is called a browsable slide show.
なお、フィールドapplication_typeの値が「0」のときは、対応するクリップAVストリームがHDMVトランスポートストリームのルールに従っていない場合である。 When the value of the field application_type is “0”, the corresponding clip AV stream does not comply with the rules of the HDMV transport stream.
ここで、静止画の表示に適した多重化とは、主として静止画スライドショーのようなアプリケーションの実現を容易にすることを想定している。このようなアプリケーションにおいては、静止画1枚と、その上に重ねる字幕やグラフィクスデータとをカプセル化して多重化すると、読み込みが容易となる。 Here, multiplexing suitable for still image display mainly assumes that an application such as a still image slide show is easily realized. In such an application, if one still image and subtitles or graphics data superimposed thereon are encapsulated and multiplexed, reading becomes easy.
通常の動画像と同様の多重化をしてしまうと、ある静止画と同時に表示されるべき字幕が、前の静止画の画像データ付近に多重化されているような状況(いわゆる多重化位相差)が発生し、より広範囲のストリームデータを読みださないと字幕とグラフィックスとが重ねられた静止画像1枚を表示することができない。 If multiplexing is performed in the same way as a normal moving image, the subtitles that should be displayed simultaneously with a certain still image are multiplexed near the image data of the previous still image (so-called multiplexing phase difference) If a wider range of stream data is not read, it is not possible to display one still image in which subtitles and graphics are superimposed.
すなわち、この発明の実施の一形態においては、ビデオデータや字幕を表示するためのグラフィクスデータは、MPEGにおけるTS(Transport Stream)パケットに格納されて伝送される。1つのTSパケットは、188バイトからなり、上述のビデオデータやグラフィクスデータは、それぞれTSパケットに収まるように分割されてTSパケットに格納される。このとき、ある静止画像データ(画像P1とする)に対応した字幕データのパケットが、次以降の静止画像データ(画像P2とする)のパケットの後ろに配置されてしまうと、画像P1に対応した字幕を表示するために、画像P2の後ろまでデータを読み込んでおかなければならない。 That is, in one embodiment of the present invention, graphics data for displaying video data or subtitles is stored and transmitted in a TS (Transport Stream) packet in MPEG. One TS packet consists of 188 bytes, and the video data and graphics data described above are divided so as to fit in each TS packet and stored in the TS packet. At this time, if a subtitle data packet corresponding to a certain still image data (referred to as image P1) is placed behind a packet of the subsequent still image data (referred to as image P2), it corresponds to the image P1. In order to display subtitles, data must be read to the end of the image P2.
ある静止画一枚とそれに付随する字幕およびグラフィックスだけを対象として多重化を行えば(カプセル化)、他のデータが混入しないストリームを作ることができる。それを静止画ごとに繰り返してストリームをつなげていくと、静止画(および当該静止画に付随する字幕、グラフィクスデータ)毎のデータが直列につながった一本のストリームが出来る。このような多重化を行ったストリームを、静止画用のHDMVストリームとしている。 If multiplexing is performed only for one still image and its accompanying subtitles and graphics (encapsulation), a stream in which no other data is mixed can be created. By repeating this process for each still image and connecting streams, a single stream in which data for each still image (and subtitles and graphics data attached to the still image) are connected in series can be created. The multiplexed stream is used as a still picture HDMV stream.
さらに、静止画用のHDMVストリームには、上述したように、タイムベーススライドショーと、ブラウザブルスライドショーとの2種類がある。この実施の一形態では、この2種類を、フィールドapplication_typeで別の番号を割り当てて、区別している。 Furthermore, as described above, there are two types of still picture HDMV streams: a time-based slide show and a browsable slide show. In this embodiment, the two types are distinguished by assigning different numbers in the field application_type.
このように、静止画とそれに付随する字幕やグラフィクスとをカプセル化して記録することで、静止画を切り替えながら再生する際のアクセス性が向上する。 Thus, by encapsulating and recording a still image and subtitles and graphics associated therewith, the accessibility when playing back while switching still images is improved.
図49の説明に戻り、フィールドTS_recording_rateは、クリップAVストリームファイルの記録レートをバイト/秒で表したものである。フィールドnum_of_source_packetsは、クリップAVストリームに含まれるパケット数を表す。フィールドBD_system_useおよびブロックTS_type_info_block()は、この発明と関連が低いので説明を省略する。 Returning to the description of FIG. 49, the field TS_recording_rate represents the recording rate of the clip AV stream file in bytes / second. A field num_of_source_packets represents the number of packets included in the clip AV stream. Since the field BD_system_use and the block TS_type_info_block () are not related to the present invention, their descriptions are omitted.
図51は、ブロックSequenceInfo()の一例の構造を表すシンタクスを示す。フィールドlengthは、この直後のフィールドからブロックSequenceInfo()の終わりまでの長さをバイトで表したものである。フィールドnum_of_ATC_sequencesは、連続した時間に記録されたことを表すシーケンスATC_sequenceの数を示す。再生専用の媒体の場合、シーケンスATC_sequenceの数は、「1」にすることができるため、詳細は省略する。フィールドSPN_ATC_startは、シーケンスATC_sequenceの開始をパケット番号で表したものであり、シーケンスATC_sequenceが1つの場合には、クリップAVストリームファイルの先頭と一致し、値が「0」となる。 FIG. 51 shows syntax that represents an example of the structure of block SequenceInfo (). The field length represents the length from the field immediately after this to the end of the block SequenceInfo () in bytes. A field num_of_ATC_sequences indicates the number of sequences ATC_sequence indicating that recording was performed at consecutive times. In the case of a read-only medium, the number of sequences ATC_sequence can be set to “1”, and the details are omitted. The field SPN_ATC_start indicates the start of the sequence ATC_sequence with a packet number. When the number of the sequence ATC_sequence is one, the field SPN_ATC_start coincides with the head of the clip AV stream file and the value is “0”.
フィールドnum_of_STC_sequencesは、シーケンスATC_sequence上のシーケンスSTC_sequenceの数を表す。再生専用の媒体の場合、シーケンスSTC_sequenceの数は、「1」にすることができるため、詳細は省略する。フィールドoffset_STC_idは、値が「0」に固定的とされる。フィールドPCR_PIDは、MPEG2 TSにおいて、PCR(Program Clock Reference)が含まれるTSパケットのPIDを表す。フィールドSPN_STC_startは、シーケンスSTC_sequenceの開始をパケット番号で表したものであり、シーケンスSTC_sequenceが1つの場合には、クリップAVストリームファイルの先頭と一致し、値が「0」となる。フィールドpresentation_start_timeおよびフィールドpresentation_end_timeは、クリップAVストリーム中の有効な範囲を表す。フィールドpresentation_start_timeおよびフィールドpresentation_end_timeで示される範囲がプレイアイテムから参照できる範囲となる。 A field num_of_STC_sequences represents the number of sequences STC_sequence on the sequence ATC_sequence. In the case of a read-only medium, the number of sequences STC_sequence can be set to “1”, and the details are omitted. The field offset_STC_id has a fixed value of “0”. A field PCR_PID represents the PID of a TS packet including a PCR (Program Clock Reference) in MPEG2 TS. The field SPN_STC_start indicates the start of the sequence STC_sequence with a packet number. When the number of the sequence STC_sequence is one, the field SPN_STC_start coincides with the head of the clip AV stream file and has a value “0”. A field presentation_start_time and a field presentation_end_time represent a valid range in the clip AV stream. The range indicated by the field presentation_start_time and the field presentation_end_time is a range that can be referred to from the play item.
図52は、ブロックProgramInfo()の一例の構造を表すシンタクスを示す。これは、記録再生媒体用のシンタックス構造を再生専用媒体に適用することができ、新規の構造は無いので詳細な説明は省略する。ただし、フィールドnum_of_program_sequencesの値が「1」であること、フィールドnum_of_groupsの値が「1」であるなどの制限を加えることができる。 FIG. 52 shows syntax that represents an example of the structure of the block ProgramInfo (). In this case, the syntax structure for the recording / reproducing medium can be applied to the reproduction-only medium, and since there is no new structure, a detailed description is omitted. However, restrictions such as the value of the field num_of_program_sequences being “1” and the value of the field num_of_groups being “1” can be added.
図53は、ブロックStreamCodingInfo()一例の構造を表すシンタクスを示す。これも、上述のブロックProgramInfo()と同様、記録再生媒体用のシンタックス構造と略同じ構造を有し、ビデオデータに関しては、ビデオデータのフォーマット、フレームレート、アスペクト比などの属性情報、オーディオデータに関しては、サンプリング周波数などの属性情報が記述される。ただし、再生専用媒体に適用する際には、この図53に示されるように、字幕、オーディオストリームの言語を表すフィールドlanguage_codeを追加する必要がある。この情報は、プレーヤの言語設定に従って最適な音声・字幕の言語を選択する際に有用である。 FIG. 53 shows syntax that represents an example of the structure of a block StreamCodingInfo (). This also has substantially the same structure as the recording / playback medium syntax structure, similar to the above-mentioned block ProgramInfo (), and for video data, attribute information such as the format of the video data, frame rate, aspect ratio, audio data As for, attribute information such as sampling frequency is described. However, when applied to a read-only medium, as shown in FIG. 53, it is necessary to add a field language_code representing the language of the caption and audio stream. This information is useful when selecting the optimal audio / subtitle language according to the language setting of the player.
図54は、ブロックCPI()の一例の構造を表すシンタクスを示す。一般に、MPEGストリームのような、フレーム間圧縮を行っている符号化ストリームにおいては、デコード開始可能な箇所は、GOP(Group Of Picture)の先頭など一部の箇所に限定されている。CPI(Characteristic Point Information)とは、そのデコード可能な開始点の位置の情報を集めたデータベースで、再生時刻と、ファイル内アドレスとが対応付けられたテーブルになっている。すなわち、CPIは、デコード単位の先頭位置を示す情報がテーブル化されている。 FIG. 54 shows syntax that represents an example of the structure of a block CPI (). In general, in an encoded stream such as an MPEG stream in which inter-frame compression is performed, a portion where decoding can be started is limited to a portion such as the top of a GOP (Group Of Picture). CPI (Characteristic Point Information) is a database that collects information on the position of a start point that can be decoded, and is a table in which a reproduction time is associated with an in-file address. That is, the CPI is a table of information indicating the head position of the decoding unit.
このようにデータベースを定めることで、例えば、任意の時刻から再生したい場合、再生時刻を元にCPIを参照することによって再生位置のファイル内アドレスがわかる。このアドレスは、デコード単位の先頭となっているため、プレーヤは、そこからデータを読み出してデコードし、素早く画像を表示することができる。 By defining the database in this way, for example, when reproduction is desired from an arbitrary time, the address in the file at the reproduction position can be known by referring to the CPI based on the reproduction time. Since this address is the head of the decoding unit, the player can read out the data from it and decode it to display the image quickly.
なお、このCPIに格納される、デコード単位の先頭位置(この例ではGOPの先頭位置)を、EP(Entry Point)エントリと称する。 Note that the start position of the decode unit (in this example, the start position of the GOP) stored in the CPI is referred to as an EP (Entry Point) entry.
フィールドCPI_typeは、CPIの種類を表し、図55に一例が示されるような値を取る。この発明の場合は、再生専用媒体用のCPIであることを示す値となる。具体的には、値が「8」とされ、HDMV用のEPエントリのマップ(EP_map_type_for_HDMV)が格納されることが示される A field CPI_type represents the type of CPI and takes a value as shown in FIG. In the case of the present invention, the value indicates that the CPI is for a read-only medium. Specifically, the value is set to “8”, indicating that an EP entry map (EP_map_type_for_HDMV) for HDMV is stored.
図56は、再生専用媒体用のEPエントリのマップEP_map、すなわち、上述のフィールドCPI_type内のブロックEP_map_for_HDMV()の一例のデータ構造を表すシンタクスを示す。マップEP_mapは、GOPの先頭位置について、再生時刻とファイル内アドレスを対応付けたテーブルである。図56の例では、GOPの先頭位置について、MPEGのPTS(Presentation Time Stamp)とSPN(Source Packet Number)とが対応付けられたテーブルとしてデータベースが作られている。なお、SPNは、ソースパケット番号を示し、ファイルの先頭からのバイトアドレスに相当する。 FIG. 56 shows a syntax representing an example data structure of the map EP_map of the EP entry for the read-only medium, that is, the block EP_map_for_HDMV () in the field CPI_type described above. The map EP_map is a table in which the reproduction time and the address in the file are associated with each other at the head position of the GOP. In the example of FIG. 56, a database is created as a table in which MPEG PTS (Presentation Time Stamp) and SPN (Source Packet Number) are associated with each other at the head position of GOP. SPN indicates a source packet number and corresponds to a byte address from the beginning of the file.
記録再生用のマップEP_mapの構造と、この再生専用媒体用のマップEP_mapの構造は、略同一とされている。この実施の一形態では、データ量の削減および検索の高速化のために、各値をcoarseとfineに分割し、大まかな単位での検索(coarse)と、より精密な単位での検索(fine)とを分けて行うことが可能なようにされている。そのため、内部構造がcoarseおよびfineのそれぞれに対応した二つのforループに分かれており、「GOPの最初のIピクチャのPTS 対 ファイル内アドレス」という単純なテーブルと比べて、多少複雑になっている。 The structure of the map EP_map for recording and reproduction and the structure of the map EP_map for this reproduction-only medium are substantially the same. In this embodiment, in order to reduce the amount of data and speed up the search, each value is divided into coarse and fine, and a search in coarse units (coarse) and a search in finer units (fine ) Can be performed separately. Therefore, the internal structure is divided into two for loops corresponding to coarse and fine, respectively, which is slightly more complicated than the simple table “PTS vs. file address of first I picture of GOP”. .
フィールドEP_fine_table_start_addressは、上述した、より精密な検索を行うためのテーブルの位置が示される。次のforループは、フィールドPTS_EP_coarseおよびSPN_EP_coarseにより、大まかな単位で検索を行う(coarse)ためのテーブルが格納され、フィールドref_to_EP_fine_idにより、大まかな単位から参照される精密な検索(fine)のためのテーブルの番号が記述される。フィールドPTS_EP_coarseおよびSPN_EP_coarseは、それぞれPTSおよびSPNの上位側のビットが示される。 A field EP_fine_table_start_address indicates the position of the table for performing the above-described finer search. In the next for loop, a table for coarse search (coarse) is stored by fields PTS_EP_coarse and SPN_EP_coarse, and a table for fine search (fine) referenced from rough units by field ref_to_EP_fine_id Is described. Fields PTS_EP_coarse and SPN_EP_coarse indicate the higher-order bits of PTS and SPN, respectively.
次に、パディングワードを挟んで、精密な検索を行うためのフィールドPTS_EP_fineおよびSPN_EP_fineが格納されるforループが配される。それと共に、フラグis_angle_change_pointおよびフィールドI_end_position_offsetが格納される。詳細は後述するが、フラグis_angle_change_pointは、クリップAVストリームがマルチアングルを構成している場合に、各EPエントリがアングル切り替え可能点に該当しているか否かを示す(第2のフラグ)。 Next, a for loop storing fields PTS_EP_fine and SPN_EP_fine for performing a precise search is arranged with a padding word interposed therebetween. In addition, a flag is_angle_change_point and a field I_end_position_offset are stored. Although details will be described later, a flag is_angle_change_point indicates whether each EP entry corresponds to an angle switchable point when the clip AV stream forms a multi-angle (second flag).
ここで、フラグis_angle_change_pointについて説明する。先ず、理解を容易とするために、クリップAVストリームがディスク上にどのように配置されているかについて説明する。 Here, the flag is_angle_change_point will be described. First, in order to facilitate understanding, how the clip AV stream is arranged on the disc will be described.
クリップAVストリームは、ディスク10上の論理アドレスが連続したデータのかたまり(ブロック)の並びで構成されている。以下、このクリップAVストリームによるディスク上の論理アドレスが連続したデータのブロックを、エクステントと称する。図57は、ディスク上にエクステントが配置された様子を模式的に示す。図57の例では、1つのクリップAVストリームが3つのエクステント601A、601B、601Cの並びで構成されている。エクステントの長さとその配置は、ディスク作成の際に適切に制御されている。
The clip AV stream is composed of an array of blocks (blocks) of data with continuous logical addresses on the
このとき、エクステントの最小サイズの規定を守るようにエクステント601A、601B、601Cが構成されて、クリップAVストリームがディスク600に記録されていれば、再生時にデータの連続供給が保証される。
At this time, if the
図57に示されるように、1つのファイルが複数のエクステント601A、601Bおよび601Cから構成されている場合、ファイルの読み出しのために、あるエクステント601Aから次のエクステント601Bへと、次々にエクステントを読む動作が繰り返される。あるエクステント601Aを読んだ後に次のエクステント601Bを読む場合、ディスク600の回転数を変化させ、プレーヤにおいてディスク600に対する読み出し部を構成する光ピックアップを移動させる必要がある。
As shown in FIG. 57, when one file is composed of a plurality of
ディスク600上での、光ピックアップを移動させてのアクセス時間は、最大で、約0.8秒とされ、光ピックアップの移動中は、ディスク読み出し部を構成するドライブからは、データを取り出すことができない。一方、映像および音声のデコードおよび再生は、連続に行われるため、このアクセス時間の影響を吸収するような仕組みが必要となる。
The access time when the optical pickup is moved on the
あるエクステント601Aと次のエクステント601Bとの間では、アクセスのジャンプが発生する。前のエクステント601Aのバイト長が大きい場合、ジャンプ前に十分な量のデータをエクステント601Aから読み出し、バッファに格納することができる。このため、ジャンプする間も、バッファに格納されたデータをデコーダに供給することで、連続的にデコードを行うことができる。
An access jump occurs between a
すなわち、ジャンプ前のエクステント601Aのサイズが十分大きければ、次のエクステント601Bにジャンプしている間も、ストリームの連続的な供給が保証できる。したがって、バッファに十分な量のデータを蓄積できるようにするには、エクステントのサイズの下限を制限すればよい。最小エクステントサイズは、ディスク600からの読み出しレートと、ドライブのアクセス時間から固有的な値として定められる。データ連続供給の条件は、このエクステントの最小サイズの規定を守ってデータが配置されているか否かにより判定できる。
That is, if the size of the
図58は、エクステント601Dおよび601Eのように、クリップAVストリームがディスク上に断片化して記録されている状態の例を示す。図58において、記録されたクリップAVストリームを、所定のビットレートで記録媒体から読み出せることを保証するためには、1つのエクステントの大きさ(サイズSとする)が、次式(1)に示されるような条件を満たす必要がある。
S×8/(S×8/Rud+Ts)>=Rmax・・・(1)
FIG. 58 shows an example of a state in which the clip AV stream is fragmented and recorded on the disc like the
S × 8 / (S × 8 / Rud + Ts)> = Rmax (1)
式(1)において、「S」は、エクステントのサイズをバイトで表わし、「Ts」は、1つのエクステント601Dから次のエクステント601Eへのフルストロークのアクセス時間すなわち最大アクセス時間を秒で表わす。「Rud」は、ディスクからの読み出しビットレートを表わし、「Rmax」は、クリップAVストリームのビットレートを表わす。「Rud」および「Rmax」の単位は、ビット/秒である。なお、エクステントサイズSに乗じられている「8」は、バイト/ビットの換算のためである。
In Expression (1), “S” represents the extent size in bytes, and “Ts” represents the full stroke access time from one extent 601D to the
すなわち、各エクステント601D、601EのサイズがSバイト以上になるように、クリップAVストリームのデータを連続して配置すれば、エクステント601Dおよび601Eの並びをシームレスに再生することが可能となる。
That is, if the data of the clip AV stream is continuously arranged so that the sizes of the
式(1)を変形すると、次式(2)のようになる。
S×8>=Rmax・Rud・Ts/(Rud−Rmax) ・・・(2)
この式(2)に基づき具体的な数値を計算すると、例えば、クリップAVストリームのビットレートRmax=28(ビット/秒)の場合において、Rud=35Mbps(Mega Bit per second)、Ts=0.8秒とすると、S>=14MB(Mega Byte)となる。つまり、この例では、最小エクステントサイズSは、 14MBとなる。
When the equation (1) is transformed, the following equation (2) is obtained.
S × 8> = Rmax · Rud · Ts / (Rud−Rmax) (2)
When specific numerical values are calculated based on the equation (2), for example, when the clip AV stream has a bit rate Rmax = 28 (bits / second), Rud = 35 Mbps (Mega Bit per second), Ts = 0.8 Assuming seconds, S> = 14 MB (Mega Byte). That is, in this example, the minimum extent size S is 14 MB.
以上のようにして、一つのファイルを連続に読み出す際のデータ連続供給の条件を決めることができる。これは、マルチアングル機能において読み出すアングルをシームレスに切り替える、シームレスアングル切り替え機能の実現にも適用できる。 As described above, it is possible to determine conditions for continuous data supply when continuously reading one file. This can also be applied to the realization of a seamless angle switching function that seamlessly switches the angle to be read in the multi-angle function.
図59を用いて、マルチアングル機能について説明する。マルチアングル機能は、図59Aに一例が示されるように、複数の再生経路が用意された区間(マルチアングルブロック)があり、ユーザは、その区間を再生している間、見たいアングルを自由に変えることができるという機能である。例えば、同一の対象物をアングルを変えて複数のカメラで並列的に撮影することによって、このようなマルチアングルブロックを構成することができる。 The multi-angle function will be described with reference to FIG. As shown in FIG. 59A, the multi-angle function has a section (multi-angle block) in which a plurality of playback paths are prepared, and the user can freely select an angle he / she wants to see while playing the section. It is a function that can be changed. For example, such a multi-angle block can be configured by photographing the same object in parallel with a plurality of cameras while changing the angle.
なお、マルチアングルを構成する映像は、同一シーンを対象にしたものに限られない。再生時系列上の同一時刻に選択的に表示されるように意図された複数の映像により、マルチアングルを構成することができる。 In addition, the image | video which comprises a multi angle is not restricted to what was targeting the same scene. A multi-angle can be constituted by a plurality of videos intended to be selectively displayed at the same time on the playback time series.
マルチアングルブロックは、1つのプレイアイテムから構成される。すなわち、1つのプレイアイテムが複数のアングルの映像を含むことになる。図59Aの例では、マルチアングルブロックにおいて、3つのアングル(アングル(0)、アングル(1)およびアングル(2))を選択可能とされている。 The multi-angle block is composed of one play item. That is, one play item includes videos of a plurality of angles. In the example of FIG. 59A, three angles (angle (0), angle (1), and angle (2)) can be selected in the multi-angle block.
マルチアングルブロックにおいては、アングル間を切り替える際のアクセス時間を短くするため、図59Bに一例が示されるように、マルチアングルを構成する各ストリームがディスク上に特殊な配置で記録される。これを、インタリーブブロックと呼び、一つの連続部分をインタリーブユニットと呼ぶ。インタリーブユニットは、ディスク上の連続的なアドレスに記録されており、最小エクステントサイズの条件を満たす。インタリーブブロックは、各々のアングルの時間的に対応するインタリーブユニットをアングル順に並べて纏め、それを、さらに時系列に従って並べたものである。 In the multi-angle block, in order to shorten the access time when switching between the angles, as shown in an example in FIG. 59B, each stream constituting the multi-angle is recorded in a special arrangement on the disc. This is called an interleave block, and one continuous portion is called an interleave unit. The interleave unit is recorded at continuous addresses on the disc and satisfies the condition of the minimum extent size. The interleave block is a group of interleave units corresponding to each angle in time, arranged in order of angle, and further arranged in time series.
インタリーブユニットを単位にしてアングルを切り替えれば、常に最小エクステントサイズを読み込んでからジャンプをするため、上述したデータ連続供給の条件が満たされる。さらに、インタリーブユニットの先頭にGOPの先頭を合わせ、常にインタリーブユニットの先頭からMPEGデコードが可能になるようにしておけば、シームレスなアングル切り替えを実現できる。 If the angle is switched in units of interleave units, jumps are always made after reading the minimum extent size, so that the above-mentioned conditions for continuous data supply are satisfied. Furthermore, seamless angle switching can be realized by aligning the head of the GOP with the head of the interleave unit so that MPEG decoding is always possible from the head of the interleave unit.
ここで、シームレスアングル切り替えが可能な位置について考える。フレーム間圧縮を行うMPEGストリームの性質と、ディスクからのデータ連続供給の条件から、アングル切り替えは、任意のバイト位置ではできないことがわかる。最も簡単なのは、最小エクステントのサイズを満たすインタリーブユニットの単位で切り替えられるようにする方法である。さらに、インタリーブユニットの先頭とGOPの先頭、すなわちEPエントリとを一致させれば、MPEGストリームのデコードも連続に行える。 Here, consider a position where seamless angle switching is possible. From the nature of the MPEG stream that performs inter-frame compression and the condition of continuous data supply from the disc, it can be seen that angle switching cannot be performed at any byte position. The simplest method is to enable switching in units of interleave units that satisfy the minimum extent size. Furthermore, if the head of the interleave unit and the head of the GOP, that is, the EP entry are matched, the MPEG stream can be decoded continuously.
ここで、例えばアングルの切り替え可能点を増やし、インタリーブによってインタリーブブロックの数が増えると、一つのファイルが細切れになり、ファイルシステムの管理情報が増える。例えばBlu−ray Discファイルシステムでは、ファイルが複数のエクステントに分割されると、ディスクリージョンの数が増えてファイルシステムのデータベースが肥大化し、記録できるファイル数の上限が小さくなるなどの問題が出てくる。 Here, for example, if the angle switchable points are increased and the number of interleave blocks is increased by interleaving, one file is cut into pieces, and the management information of the file system increases. For example, in the Blu-ray Disc file system, when a file is divided into a plurality of extents, the number of disk regions increases, the file system database becomes larger, and the upper limit of the number of files that can be recorded becomes smaller. come.
そこで、この発明の実施の一形態では、図60に一例が示されるように、一つのインタリーブユニットのサイズを大きくして、インタリーブブロック中のインタリーブユニットの数を減らし、一つのインタリーブユニット中に複数のアングル切り替え可能点を設ける。アングル切り替え可能点は、デコード可能な開始点でもあるため、何れかのEPエントリに一致する。 Therefore, in the embodiment of the present invention, as shown in an example in FIG. 60, the size of one interleave unit is increased, the number of interleave units in the interleave block is reduced, and a plurality of interleave units are included in one interleave unit. An angle switchable point is provided. Since the angle switchable point is also a start point that can be decoded, it matches any EP entry.
上述したフラグis_angle_change_pointは、GOPの先頭を指すEPエントリがアングル切り替え可能点に該当するか否かを表すものである。フラグis_angle_change_pointは、図61に一例が示されるような値を取り、フラグis_angle_change_pointが値「1」で、当該EPエントリがアングル切り替え可能点であることを示し、値「0」で、当該EPエントリがアングル切り替え可能点ではないことが示される。 The flag is_angle_change_point described above indicates whether or not the EP entry pointing to the head of the GOP corresponds to an angle switchable point. The flag is_angle_change_point takes a value as shown in FIG. 61, and the flag is_angle_change_point is “1”, indicating that the EP entry is an angle switchable point. The value “0” indicates that the EP entry is It is shown that it is not an angle switchable point.
あるEPエントリをシームレスなアングル切り替え点にできるかどうかは、基本的には、当該EPエントリと前のアングル切り替え可能点とが、最小エクステントのサイズ以上離れているか否かで決めることができる。すなわち、フラグis_angle_change_pointの値が「1」であるアングル切り替え可能なEPエントリの間隔は、最小エクステントサイズ以上離れている必要がある。 Whether or not a certain EP entry can be a seamless angle switching point can basically be determined by whether or not the EP entry and the previous angle switching point are at least the size of the minimum extent. That is, the interval between the angle-switchable EP entries whose flag is_angle_change_point value is “1” needs to be more than the minimum extent size.
次に、図60を用いて、このフラグis_angle_change_pointを利用したシームレスアングル切り替えの動作について説明する。図60において、上向きの矢印で示される点がアングル切り替え可能点である。ディスク上では、図60Bに一例が示されるように、上向きの矢印で示される点がアングル切り替え可能点とされるEPエントリであって、フラグis_angle_change_pointが値「1」とされる。 Next, a seamless angle switching operation using this flag is_angle_change_point will be described with reference to FIG. In FIG. 60, a point indicated by an upward arrow is an angle switchable point. On the disc, as shown in an example in FIG. 60B, a point indicated by an upward arrow is an EP entry in which the angle can be switched, and the flag is_angle_change_point is set to a value “1”.
図60Aを参照し、例えば、アングル再生中にユーザがアングル(0)からアングル(1)に切り替えたとする。そのとき、プレーヤは、アングル(0)の最寄りのEPエントリのうち、フラグis_angle_change_pointのが値「1」になっている箇所までそのアングルのストリームを読み続ける。次に、そのEPエントリの時刻と同時刻のアングル(1)中のEPエントリをクリップ情報ファイルから探し、ファイル内のバイト位置を取得し、そこから読み込みを開始する。以上の動作により、シームレスなアングル切り替えを実現できる。 Referring to FIG. 60A, for example, assume that the user switches from angle (0) to angle (1) during angle playback. At that time, the player continues to read the stream of the angle up to the point where the flag is_angle_change_point has the value “1” among the EP entries nearest to the angle (0). Next, the EP entry in the angle (1) at the same time as the time of the EP entry is searched from the clip information file, the byte position in the file is acquired, and reading is started therefrom. With the above operation, seamless angle switching can be realized.
このときのディスク上での再生経路は、図60Bに一例が示されるように、フラグis_angle_change_pointが値「1」となっている位置で、アングル間でのジャンプが行われている。 As an example of the playback path on the disc at this time, as shown in FIG. 60B, a jump between angles is performed at a position where the flag is_angle_change_point is “1”.
次に、ノンシームレスなアングル切り替えの場合を考える。ノンシームレスなアングル切り替えとは、アングルを切り替える際、映像に不連続が発生してもよいアングル切り替えのことをいう。シームレスアングル切り替えの場合、上述したように、アングルの切り替えが指定されると、アングル切り替え可能点まで再生してアングル切り替えが実行されるが、ノンシームレスアングル切り替えの場合は、データ連続供給やGOPの先頭の条件を考慮せずに、アングル切り替えの指定がなされて即座にアングルを切り替えることができるので、切り替えまでの時間が短いというメリットがある。 Next, consider the case of non-seamless angle switching. Non-seamless angle switching refers to angle switching in which discontinuity may occur in the video when the angle is switched. In the case of seamless angle switching, as described above, when angle switching is specified, playback is performed up to the point where the angle can be switched and the angle switching is executed. However, in the case of non-seamless angle switching, continuous data supply or GOP switching is performed. Since the angle switching is designated and the angle can be switched immediately without considering the first condition, there is an advantage that the time until the switching is short.
図62は、ノンシームレスのマルチアングルブロックの例を示す。ノンシームレスのアングル切り替えの場合、画像が不連続になってもよいため、必ずしも同時刻の他アングルに移動する必要はない。例えばGOPの再生途中でアングルを抜け出し、その時刻よりも前で、最も近いGOPの先頭にジャンプしてもよい。図62Aに例示されるように、アングル(0)からアングル(1)にジャンプしたときに、アングル(1)においてGOPの先頭を探し、この例では、時間的に少し戻った位置からアングル(1)が再生されている。図62Bは、このときのディスク上での再生経路を示す。 FIG. 62 shows an example of a non-seamless multi-angle block. In the case of non-seamless angle switching, since the image may be discontinuous, it is not always necessary to move to another angle at the same time. For example, the angle may be exited during GOP playback, and the jump may be made to the head of the nearest GOP before that time. As illustrated in FIG. 62A, when jumping from the angle (0) to the angle (1), the head of the GOP is searched for at the angle (1). In this example, the angle (1 ) Is playing. FIG. 62B shows a reproduction path on the disc at this time.
一方、ノンシームレスなマルチアングルブロックであっても、マルチアングルブロックの出口での接続は、シームレスであることが求められる。これは、一度もアングル切り替えを行わない場合には、通常の再生と同様にマルチアングルブロックの入口と出口で画像に不連続が発生しないようにすることが、再生品質を高める上で非常に効果的だからである。 On the other hand, even for a non-seamless multi-angle block, the connection at the exit of the multi-angle block is required to be seamless. This is a very effective way to improve the playback quality when the angle is never switched, so that there is no discontinuity in the image at the entrance and exit of the multi-angle block as in normal playback. Because it is.
この発明の実施の一形態では、フラグis_angle_change_pointの設定により、ノンシームレスのマルチアングルブロックにおいて、マルチアングルブロックと本編との接続点がシームレスに接続されるようにしている。 In the embodiment of the present invention, the connection point between the multi-angle block and the main part is seamlessly connected in the non-seamless multi-angle block by setting the flag is_angle_change_point.
先ず、本編からアングルブロックへの入口におけるシームレス接続は、比較的実現が容易である。すなわち、本編の終わり(すなわち、ノンシームレスのマルチアングルブロックの入り口の直前におけるプレイアイテムの後端)を、最小エクステントサイズの条件を満たすよう配置しておけば、本編からどのアングルにもシームレスに接続することができる。 First, seamless connection at the entrance from the main part to the angle block is relatively easy to realize. In other words, if the end of the main part (that is, the rear end of the play item immediately before the entrance of the non-seamless multi-angle block) is arranged so as to satisfy the conditions of the minimum extent size, it can be seamlessly connected to any angle from the main part. can do.
一方、アングルブロックを抜けて本編に接続する出口付近においては、例えば、図63Aに一例が示される経路のようなアングル切り替えが行われた場合、最後のアングル切り替えにおいて、切り替えを行った点からアングルの終わりまでのデータは、最小エクステントサイズを満たさない。そのため、マルチアングルブロックの出口でのジャンプにおいて、データ連続供給の条件が満たされず、映像が一時停止する、あるいは黒画面が出るなどの不連続が発生してしまう。図63Bは、このときのディスク上での再生経路を示す。 On the other hand, in the vicinity of the exit connecting through the angle block and connecting to the main part, for example, when angle switching is performed as shown in the route shown in FIG. Data up to the end of does not meet the minimum extent size. For this reason, in the jump at the exit of the multi-angle block, the condition for continuous data supply is not satisfied, and discontinuities such as a video pause or a black screen appear. FIG. 63B shows the playback path on the disc at this time.
図63Aの例では、アングル(2)からアングル(1)に移動した位置から当該マルチアングルブロックの出口までが、最小エクステントサイズを満たしていない。そのため、アングル(1)から本編に移動する際に、アングル(1)のデータ読み込み量が不足し、再生映像の不連続が発生する。 In the example of FIG. 63A, the position extending from the angle (2) to the angle (1) to the exit of the multi-angle block does not satisfy the minimum extent size. For this reason, when moving from the angle (1) to the main part, the amount of data read from the angle (1) is insufficient, and discontinuity of the reproduced video occurs.
この発明の実施の一形態では、このノンシームレスのアングル切り替えにおける問題を解決するために、ノンシームレスアングル切り替えのブロックにおいても、フラグis_angle_change_pointを活用する。ノンシームレスのマルチアングルブロックの再生中においては、アングル切り替え時に不連続が発生しても良いので、基本的にフラグis_angle_change_pointの値は、上述の図63Bに示されるように、全て「1」である。すなわち、任意の箇所で再生中のアングルから飛び出すことが可能であると共に、任意の箇所に飛び込んで再生をすることが許される。 In the embodiment of the present invention, the flag is_angle_change_point is also used in the non-seamless angle switching block in order to solve the problem in the non-seamless angle switching. During playback of a non-seamless multi-angle block, discontinuity may occur at the time of angle switching, so basically the values of the flags is_angle_change_point are all “1” as shown in FIG. 63B described above. . In other words, it is possible to jump out from the angle being reproduced at an arbitrary location, and to jump into an arbitrary location and perform reproduction.
ここで、ノンシームレスのマルチアングルブロック中のクリップにおける、フラグis_angle_change_pointの定義を定める。上述したように、フラグis_angle_change_pointの値が「0」の領域は、再生中における他のアングルへのアングル切り替え(飛び出し)や、切り替えが発生した元のアングルからの再生位置の割り込み(飛び込み)が禁止され、フラグis_angle_change_pointの値が「1」の領域は、飛び出しや飛び込みが可能であるものとする。そして、各アングルの出口付近の所定数のフラグis_angle_change_pointの値を「0」に設定し、この所定数のフラグis_angle_change_pointの値が「0」にされた領域での飛び出しや飛び込みを禁止する。このとき、この所定数のフラグis_angle_change_pointの値が「0」とされた領域のサイズは、最小エクステントサイズ以上とする。 Here, the definition of the flag is_angle_change_point in the clip in the non-seamless multi-angle block is defined. As described above, in an area where the value of the flag is_angle_change_point is “0”, angle switching (jumping) to another angle during reproduction and reproduction position interruption (jumping) from the original angle at which the switching occurred are prohibited. In addition, it is assumed that the area where the value of the flag is_angle_change_point is “1” can jump out and jump in. Then, the value of a predetermined number of flags is_angle_change_point near the exit of each angle is set to “0”, and jumping out or jumping in an area where the value of the predetermined number of flags is_angle_change_point is set to “0” is prohibited. At this time, the size of the area in which the value of the predetermined number of flags is_angle_change_point is “0” is equal to or larger than the minimum extent size.
このようにフラグis_angle_change_pointを設定することで、ノンシームレスのマルチアングルブロックにおいても、マルチアングルブロックの出口の直前での飛び込み、飛び出しを禁止することができる。 By setting the flag is_angle_change_point in this way, even in a non-seamless multi-angle block, jumping in and jumping out just before the exit of the multi-angle block can be prohibited.
例として、図64Bおよび図65Bに示されるように、各インタリーブユニットの後端側の6個のEPエントリをフラグis_angle_change_pointの値が「0」である領域とし、他のEPエントリは、フラグis_angle_change_pointの値が「1」であるように設定する。 As an example, as shown in FIG. 64B and FIG. 65B, the six EP entries on the rear end side of each interleave unit are set as areas where the value of the flag is_angle_change_point is “0”, and the other EP entries are set in the flag is_angle_change_point. Set the value to be “1”.
次に、このようにフラグis_angle_change_pointが設定されたノンシームレスのマルチアングルブロックの再生方法について説明する。第1の方法は、フラグis_angle_change_pointの値が「0」の領域でのアングル切り替えを禁止する方法である。 Next, a method for reproducing a non-seamless multi-angle block in which the flag is_angle_change_point is set as described above will be described. The first method is a method of prohibiting angle switching in an area where the value of the flag is_angle_change_point is “0”.
図64を用いて説明する。上述したように、各インタリーブユニットの後端側の6個のEPエントリにおいて、フラグis_angle_change_pointの値を「0」とする(図64B)。図64Aに一例が示されるように、再生位置がこのフラグis_angle_change_pointの値を「0」とした領域に入ったら、アングル切り替えが禁止される。例えば、ユーザによりこの領域でアングル切り替えを指示する操作が行われても、プレーヤでは、無視される。この例では、アングル切り替えが行われず、そのままマルチアングルブロックを抜けて本編のプレイアイテムに移行している。この場合のディスク上での再生経路が図64Bに示される。 This will be described with reference to FIG. As described above, the value of the flag is_angle_change_point is set to “0” in the six EP entries on the rear end side of each interleave unit (FIG. 64B). As shown in an example in FIG. 64A, when the playback position enters an area where the value of the flag is_angle_change_point is “0”, angle switching is prohibited. For example, even if the user performs an operation for instructing angle switching in this area, the player ignores it. In this example, the angle is not switched, and the multi-angle block is left as it is and the play item of the main part is transferred. The reproduction path on the disc in this case is shown in FIG. 64B.
第2の方法は、フラグis_angle_change_pointの値が「0」の領域でのアングル切り替えは許可されるが、切り替え後の飛び込み先は、フラグis_angle_change_pointの値が「1」の箇所とする方法である。 The second method is a method in which angle switching in an area where the value of the flag is_angle_change_point is “0” is permitted, but the jump destination after the switching is a place where the value of the flag is_angle_change_point is “1”.
図65を用いて説明する。上述したように、各インタリーブユニットの後端側の6EPエントリにおいて、フラグis_angle_change_pointの値を「0」とする(図65B)。図65Aに一例が示されるように、マルチアングルブロックにおいて、ブロックの出口から最小エクステントサイズ未満の位置、すなわち、フラグis_angle_change_pointの値が「0」とされた領域内でアングル切り替えが指定された場合、切り替えられた先のアングルにおいて、再生位置がフラグis_angle_change_pointの値が「1」の領域まで戻され、その位置から再生が継続される。この場合のディスク上での再生経路が図65Bに示される。 This will be described with reference to FIG. As described above, the value of the flag is_angle_change_point is set to “0” in the 6EP entries on the rear end side of each interleave unit (FIG. 65B). As an example shown in FIG. 65A, in the multi-angle block, when angle switching is designated within a position less than the minimum extent size from the block exit, that is, in an area where the value of the flag is_angle_change_point is “0”, At the switched angle, the playback position is returned to the area where the value of the flag is_angle_change_point is “1”, and playback is continued from that position. The reproduction path on the disc in this case is shown in FIG. 65B.
これら第1および第2の方法の何れを用いても、マルチアングルブロックの出口でのジャンプの際には、最小エクステントサイズ以上のデータを読み込んだ後に次のプレイアイテムの再生が行われる。これにより、アングルブロックの出口で再生が不連続(ノンシームレス)になることを防止できる。 Regardless of which of the first and second methods is used, when jumping at the exit of the multi-angle block, the next play item is reproduced after reading data of the minimum extent size or more. Thereby, it is possible to prevent the reproduction from becoming discontinuous (non-seamless) at the exit of the angle block.
なお、上述の図64では、ノンシームレスのマルチアングルブロックにおいてインタリーブブロックを構成したが、ノンシームレスのマルチアングルブロックにおいては、図65に示されるように、インタリーブ配置にしなくてもブロックを構成できる。 In FIG. 64 described above, the interleave block is configured by the non-seamless multi-angle block. However, in the non-seamless multi-angle block, as shown in FIG. 65, the block can be configured without the interleave arrangement.
図66は、この発明の実施の一形態に適用できるプレーヤデコーダ100’の一例の構成を示す機能ブロック図である。このプレーヤデコーダ100’は、図示されないドライブ装置に装填されたディスクから再生されたデータを解釈し、AVストリームを出力すると共に、出力されたAVストリームに対するユーザによるインタラクティブな操作を可能とする。 FIG. 66 is a functional block diagram showing a structure of an example of a player decoder 100 'applicable to the embodiment of the present invention. The player decoder 100 'interprets data reproduced from a disc loaded in a drive device (not shown), outputs an AV stream, and enables an interactive operation by the user on the output AV stream.
なお、プレーヤデコーダ100’は、図示されないCPUにより全体の動作が制御される。例えば、プレーヤデコーダ100’の各部におけるストリームやデータの流れは、CPUにより監視され、制御される。 Note that the overall operation of the player decoder 100 'is controlled by a CPU (not shown). For example, the stream and data flow in each part of the player decoder 100 'are monitored and controlled by the CPU.
図示されないドライブ装置にディスクが装填されると、上述したように、先ずファイル「scenario.hdmv」およびファイル「entrylist.data」が再生され、このファイル「scenario.hdmv」およびファイル「entrylist.data」の記述に基づき、必要な他のファイルが読み出され、ディスクに記録されたコンテンツが再生される。例えば、ファイル「scenario.hdmv」およびファイル「entrylist.data」の記述に基づき、動画プレーン10に表示するための動画データ、字幕プレーン11やグラフィクスプレーン12に表示するための画像データ、プレイリストファイルなどがディスクから読み出される。
When a disc is loaded in a drive device (not shown), as described above, first, the file “scenario.hdmv” and the file “entrylist.data” are played, and the file “scenario.hdmv” and the file “entrylist.data” Based on the description, other necessary files are read and the content recorded on the disc is reproduced. For example, based on the description of the file “scenario.hdmv” and the file “entrylist.data”, moving image data to be displayed on the moving
以下では、ディスクから読み出されるこれらのデータのうち、動画データ、サブピクチャ(字幕データ)や音声データといった、連続的に処理する必要があるストリームをリアルタイムストリームと称する。また、シナリオファイル、プレイリストファイルといった、連続的な処理を要求されない非リアルタイムなデータを、ストアオブジェクトと称する。ストアオブジェクトは、メモリ上などに蓄積、展開され、必要に応じて処理される。 Hereinafter, among these data read from the disc, a stream that needs to be continuously processed, such as moving image data, sub-picture (caption data), and audio data, is referred to as a real-time stream. Non-real-time data that does not require continuous processing, such as a scenario file and a playlist file, is referred to as a store object. Store objects are stored and expanded on a memory or the like and processed as necessary.
プレーヤデコーダ100’は、チャンネル(1)および(2)の2系統の入力チャンネルを有し、入力チャンネル(1)の入力端101に、ストアオブジェクトが入力される。入力チャンネル(2)の入力端202に、リアルタイムストリームが入力される。入力端202に、ストアオブジェクトを入力することも可能である。この実施の一形態では、入力端202に入力されるリアルタイムストリームおよび一部のストアオブジェクトは、MPEG2 TSである。
The player decoder 100 'has two input channels of channels (1) and (2), and the store object is input to the
なお、例えば、ドライブ装置においてディスクの回転速度を2倍速などの高速回転としてディスクからの読み出し転送レートを上げ、時分割で動作させることにより、ディスクからの、チャンネル(1)および(2)の2系統の読み出しが実現可能である。 For example, in the drive device, the rotation speed of the disk is set to a high speed such as double speed to increase the read transfer rate from the disk and operate in a time-sharing manner, so that channels (1) and (2) 2 System readout can be realized.
先ず、入力チャンネル(1)の系統について説明する。入力端101に入力されたストアオブジェクトは、スイッチ回路102に入力される。ストアオブジェクトとして、ファイル「scenario.hdmv」中のプログラムコードが入力された場合、スイッチ回路102において出力端102Aが選択され、入力されたプログラムコードがコードバッファ104に蓄えられる。他にプログラムとしては、HTML文書や、ECMAスクリプトなども考えられる。
First, the system of the input channel (1) will be described. The store object input to the
一方、ストアオブジェクトとして画像データや音声データが入力された場合、スイッチ回路102において出力端102Bが選択され、入力された画像データがスイッチ回路103に入力される。入力端202に入力されたリアルタイムストリームに、字幕プレーン11やグラフィクスプレーン12に表示するための画像データが含まれていない場合には、スイッチ回路103で入力端103Aが選択され、スイッチ回路102から入力された画像データや音声データがコンテンツバッファ105に蓄えられる。
On the other hand, when image data or audio data is input as a store object, the output terminal 102 B is selected in the
同様にして、入力端202に入力されたリアルタイムストリームに、字幕プレーン11やグラフィクスプレーン12に表示するための画像データや、効果音のための音声データが含まれている場合には、スイッチ回路103において入力端103Bが選択され、当該画像データ・音声データがコンテンツバッファ105に蓄えられる。コードバッファ104およびコンテンツバッファ105に蓄えられたストアオブジェクトは、必要に応じて読み出され、マルチメディアエンジン106に供給される。
Similarly, when the real-time stream input to the
コンテンツバッファ105に蓄えられたストアオブジェクトのうち画像データは、スイッチ回路107および108をそれぞれ介して、グラフィックデコーダA500およびグラフィックデコーダB301にも供給される。
Of the store objects stored in the
なお、この図66の例では、グラフィクスデコーダA300は、PNG形式の画像データをデコードし、グラフィクスデコーダB301は、JPEG形式の画像データをデコードする。なお、グラフィクスデコーダA300およびB301は、これに限らず、さらに他のデータ形式の画像データをデコードするものであってもよいし、複数の形式の画像データに対応するようにもできる。 In the example of FIG. 66, the graphics decoder A300 decodes PNG format image data, and the graphics decoder B301 decodes JPEG format image data. Note that the graphics decoders A300 and B301 are not limited to this, and may decode image data of other data formats, or may support image data of a plurality of formats.
マルチメディアエンジン106は、XMLパーサ106A、スクリプトインタプリタ106Bおよびグラフィクスレンダラ106C、効果音再生のためのサウンドプレーヤ106D、シナリオファイル解析エンジン106Eを含む。マルチメディアエンジン106は、独立的なハードウェアで構成してもよいし、上述した図示されないCPUの、所定のプログラムに基づく処理で実現することも可能である。
The
XMLパーサ106Aは、XML(Extensible Markup Language)文書を解析する機能を有し、HTML文書の解析も可能である。XMLパーサ106Aで解釈されたHTML文書は、このプレーヤデコーダ100で実行可能な形式に変換される。スクリプトインタプリタ106Bは、ECMAスクリプトを解析し、このプレーヤデコーダ100で実行可能な形式に変換される。また、グラフィクスレンダラ106Cは、画像データを、字幕プレーン11およびグラフィクスプレーン12に展開可能な形式にデコードする。サウンドプレーヤ106Dは、ボタンクリック音などに使われる音声データを再生する。
The
マルチメディアエンジン106において、バッファ109をワークメモリとして、これらXMLパーサ106A、スクリプトインタプリタ106Bおよびグラフィクスレンダラ106Cの処理が行われる。例えば、XMLパーサ106Aおよびスクリプトインタプリタ106Bにより、バッファ109のうちコードバッファ109Aが用いられる。また、グラフィクスレンダラ106Cにより、バッファ109のうちグラフィクスバッファ109Dが用いられる。バッファ109は、上述のコードバッファ109Aおよびグラフィクスバッファ109Dの他に、文字列の表示に用いるフォントデータが格納されるフォントバッファ109B、XMLパーサ106AでHTML文書を解析した結果を階層化された木構造で保持するためのツリーバッファ109Cなどが含まれる。サウンドプレーヤ106Dは、サウンドバッファ109Eに蓄積した音声データを再生する。
In the
マルチメディアエンジン106では、例えばコードバッファ104に蓄えられたシナリオファイル「scenario.hdmv」などを読み出し、読み出されたファイルの記述に基づきシナリオ解析エンジン106Eでシナリオを解析する。そして、解析されたシナリオの記述に基づき図示されないドライブ装置などを制御し、ドライブ装置に挿入されたディスクから、動画プレーン10に表示するための動画データ、字幕プレーン11やグラフィクスプレーン12に表示するための画像データ、音声データなど必要なファイルを読み出し、コンテンツを再生する。
In the
なお、コードバッファ104およびコンテンツバッファ105に格納されたデータは、当該データが不要になるまで、コードバッファ104やコンテンツバッファ105に保持しておくことができる。したがって、これらコードバッファ104やコンテンツバッファ105に格納されたデータは、必要に応じて何度でも読み出して使うことができる。
The data stored in the
さらに、マルチメディアエンジン106では、例えば、コードバッファ104に蓄えられたECMAスクリプトを読み出し、読み出されたECMAスクリプトの記述に基づき、必要に応じて、コードバッファ104からの他のECMAスクリプトやHTML文書の読み出し、コンテンツバッファ105からの画像データの読み出しなどを行う。
Further, in the
マルチメディアエンジン106では、上述の他にも、入力された複数種類のデータのデマルチプレクス処理、JavaVM(Java(登録商標)仮想マシン)機能などが行われる。さらに、マルチメディアエンジン106により、ユーザからの、リモートコントロールコマンダやポインティングデバイスなどによる図示されない操作手段からの入力が受け取られ、所定に処理される。ユーザ入力は、さらに、後述するグラフィックデコーダA300、グラフィックデコーダB301、オーディオデコーダ118、MPEGビデオデコーダ120およびシステムデコーダ121にも供給される。
In addition to the above, the
グラフィクスレンダラ106Cで処理された画像データは、スイッチ回路130および131をそれぞれ介してサブピクチャプレーン302およびグラフィックスプレーン303に供給される。なお、この例では、サブピクチャプレーン502およびグラフィクスプレーン303に供給される画像データは、PNG形式あるいはJPEG形式等の画像データをグラフィクスレンダラ106Cでデコードした後のビットマップデータであるものとする。これらの各プレーン302、303に画像データが供給されるタイミングは、マルチメディアエンジン106により制御される。
The image data processed by the
ここで、サブピクチャプレーン302およびグラフィクスプレーン303は、それぞれ上述した字幕プレーン11およびグラフィクスプレーン12に対応する。動画像プレーン135は、上述した動画プレーン10に対応する。なお、サブピクチャプレーン302、グラフィクスプレーン303および動画像プレーン135は、例えばフレームメモリからなる。
Here, the
マルチメディアエンジン106は、さらに、後述するプレゼンテーションプロセッサ139に対して、動画像プレーン135、サブピクチャプレーン302、ならびに、グラフィクスプレーン303を切り替えあるいは合成する制御信号を供給する。同様に、マルチメディアエンジン106は、後述するプレゼンテーションプロセッサ141に対して、オーディオストリーム出力を制御するような制御信号を供給する。
The
次に、入力チャンネル(2)の系統について説明する。入力端202にMPEG2 TSで入力されたリアルタイムストリームは、PIDフィルタ110に供給され、MPEG2 TSのトランスポートパケットに格納されるPID(Packet Identification)が抽出され、当該トランスポートパケットに格納されるストリームの属性が検出される。PIDフィルタ110では、このストリーム属性に基づき、入力されたリアルタイムストリームが、トランスポートパケット毎に対応する系統に振り分けられる。
Next, the system of the input channel (2) will be described. The real-time stream input in the MPEG2 TS to the
PIDに基づき、トランスポートパケットがストアオブジェクトに属する画像データが格納されているパケットであるとされれば、当該トランスポートパケットは、バッファTBn111Aに一旦溜め込まれ、所定のタイミングで読み出されて入力端103Bが選択されたスイッチ回路103に入力され、スイッチ回路103を介してコンテンツバッファ105に格納される。
If the transport packet is a packet in which image data belonging to the store object is stored based on the PID, the transport packet is temporarily stored in the buffer TBn 111A, read at a predetermined timing, and input to the input terminal. 103B is input to the selected
PIDフィルタ110において、PIDに基づき、トランスポートパケットがPNG形式のデータが格納されているパケットであるとされれば、当該トランスポートパケットは、バッファTBn111BおよびバッファBn112Bに一旦溜め込まれ、所定のタイミングで読み出されて入力端107Bが選択されたスイッチ回路107に入力され、スイッチ回路107を介してグラフィックデコーダA500に供給される。
In the
グラフィックデコーダA300では、供給されたトランスポートパケットのヘッダ情報を除去すると共に、当該トランスポートパケットに格納されたPNGデータがデコードされて字幕あるいはグラフィックスを表示するための画像データとされる。この画像データを字幕として用いる場合は、所定のタイミングでスイッチ回路130の入力端130Bに入力され、スイッチ回路130を介してサブピクチャプレーン302に展開される。同様に、ボタンとして用いる場合は、グラフィックスプレーン上に表示させるため、所定のタイミングでスイッチ回路131の入力端131Cに入力され、スイッチ回路131を介してグラフィックスプレーン303に展開される。
The graphic decoder A300 removes the header information of the supplied transport packet and decodes the PNG data stored in the transport packet into image data for displaying subtitles or graphics. When this image data is used as subtitles, it is input to the input terminal 130B of the
PIDフィルタ110において、PIDに基づき、トランスポートパケットが、JPEGデータが格納されているパケットであるとされれば、当該トランスポートパケットは、バッファTBn111CおよびバッファBn112Cに一旦溜め込まれ、所定のタイミングで読み出されて入力端108Bが選択されたスイッチ回路108に入力され、スイッチ回路108を介してグラフィックデコーダB500に供給される。
If the
グラフィックデコーダB301では、供給されたトランスポートパケットのヘッダ情報を除去すると共に、当該トランスポートパケットに格納されたJPEGデータがデコードされ、ビットマップの画像データとされる。この画像データを字幕として用いる場合は、所定のタイミングでスイッチ回路130の入力端130Cに入力され、スイッチ回路130を介してサブピクチャプレーン302に展開される。同様に、ボタンとして用いる場合は、グラフィックスプレーン上に表示させるため、所定のタイミングでスイッチ回路131の入力端131Bに入力され、スイッチ回路131を介してグラフィックスプレーン302に展開される。
The graphic decoder B301 removes the header information of the supplied transport packet and decodes the JPEG data stored in the transport packet into bitmap image data. When this image data is used as subtitles, it is input to the input terminal 130C of the
PIDフィルタ110において、PIDに基づき、トランスポートパケットが、オーディオデータが格納されているパケットであるとされれば、当該トランスポートパケットは、バッファTBn111DおよびバッファBn112Dに一旦溜め込まれ、所定のタイミングで読み出されてオーディオデコーダ118に供給される。このトランスポートパケットに格納されるオーディオデータは、例えばドルビーデジタルに準拠した方式で圧縮符号化されている。
In the
オーディオデコーダ118は、例えばリニアPCM(Pulse Code Modulation)オーディオデコーダ119を有し、入力されたトランスポートストリームのヘッダ情報を除去すると共に、当該トランスポートパケットに格納された圧縮符号化されたオーディオデータをデコードし、最終的にリニアPCMオーディオデータに変換する。当該トランスポートパケットに、圧縮符号化されていないリニアPCMオーディオデータが格納されている場合は、当該データは、例えばそのままリニアPCMオーディオデコーダ119に入力され、何も処理されずに出力される。
The
オーディオデコーダ118から出力されたリニアPCMオーディオデータは、オーディオ用のプレゼンテーションプロセッサ141に入力され、マルチメディアエンジン106の制御に基づき所定の音響効果などが付加されて、出力端142に導出される。
The linear PCM audio data output from the
PIDフィルタ110において、PIDに基づき、トランスポートパケットが動画像データが格納されているパケットであるとされれば、当該トランスポートパケットは、バッファTBn111E、バッファMBn113およびバッファEBn114に一旦溜め込まれ、所定のタイミングで読み出されてMPEGビデオデコーダ120に供給される。このトランスポートパケットに格納される動画像データは、MPEG2方式により圧縮符号化されている。
In the
MPEGビデオデコーダ120では、供給されたトランスポートパケットのヘッダ情報を除去すると共に、当該トランスポートパケットに格納された、MPEG2方式で圧縮符号化された動画像データをベースバンドの動画像データにデコードする。
The
MPEGデコーダ120から出力された動画像データは、スイッチ回路124の入力端124Aに入力されると共に、バッファ123を介してスイッチ回路124の入力端124Bに入力される。スイッチ回路124において、所定のタイミングで入力端124Aおよび124Bが選択され、出力された動画像データが動画像プレーン134に展開される。
The moving image data output from the
PIDフィルタ110において、PIDに基づき、トランスポートパケットがシステム情報が格納されているパケットであるとされれば、当該トランスポートパケットは、バッファTBn111FおよびBsys115を介してシステムデコーダ121に供給される。システムデコーダ121では、供給されたトランスポートパケットのヘッド情報が除去され、格納されているシステム情報が取り出される。システム情報は、例えば図示されないCPUに渡される。
In the
サブピクチャプレーン302上の画像データは、上述の図17におけるパレットテーブル22に対応するパレット304に供給され、256色からなるパレットに対してインデックスによる参照がなされ、RGBデータが出力されると共に、不透明度データα1が抜き出される。RGBデータは、上述の図17におけるRGB/YCbCr変換回路29に対応するRGB/YCbCr変換回路306によりYCbCrデータに変換される。YCbCrデータは、不透明度データα1と共にプレゼンテーションプロセッサ139に供給される。
The image data on the
グラフィクスプレーン303上の画像データは、上述の図17におけるパレットテーブル26Aに対応するパレット305に供給され、RGBデータと不透明データα2とが出力される。RGBデータは、上述の図17におけるRGB/YCbCr変換回路26Bに対応するRGB/YCbCr変換回路307に供給され、カラーシステムがRGB(4:4:4)からYCbCr(4:4:4)に変換される。RGB/YCbCr変換回路307から出力されたYCbCrデータは、不透明データα2と共に、プレゼンテーションプロセッサ139に供給される。
The image data on the
動画像プレーン135の出力は、アップ/ダウンコンバータ138を介してプレゼンテーションプロセッサ139に供給される。なお、アップ/ダウンコンバータ138は、画像の解像度を変換する回路であって、例えば高解像度のHD(High Definition)画像から通常の解像度を有するSD(Standard Definition)画像への変換を行う。
The output of the moving
プレゼンテーションプロセッサ139は、図17を用いて説明した、字幕プレーン11(サブピクチャプレーン302)の画像データによる不透明度α1と、グラフィクスプレーン12(グラフィクスプレーン303)による不透明度α2とを用いたアルファブレンディング処理を行う。
The
すなわち、プレゼンテーションプロセッサ139では、サブピクチャプレーン302の画像データに設定された不透明度α1に基づき、動画像プレーン135に対してサブピクチャプレーン302の画像データが合成される。さらに、グラフィクスプレーン303の画像データに設定された不透明度α2に基づき、動画像プレーン135およびサブピクチャプレーン302が合成された画像データに対してグラフィクスプレーン303の画像データが合成される。この、グラフィクスプレーン303の画像データ、サブピクチャプレーン302の画像データ(字幕データ)および動画像プレーン135の画像データが合成された画像データが出力端140に導出される。
That is, in the
なお、プレゼンテーションプロセッサ139は、画像データに対してリアルタイムでエフェクト処理を行うこともできる。
Note that the
このような構成において、この発明の実施の一形態に基づき記述およびデータ構成されたコンテンツが記録されたディスクが図示されないドライブ装置に挿入されると、ファイル「scenario.hdmv」などが読み込まれ、ファイル「scenario.hdmv」の記述に従い、ディスクに記録されたコンテンツが再生される。ユーザにより、図示されない操作手段により指示がなされると、この指示に基づき、マルチメディアエンジン106によりドライブ装置やプレーヤデコーダ100’の各部が制御され、指示に応じた再生がなされる。
In such a configuration, when a disc on which content described and data-structured according to an embodiment of the present invention is recorded is inserted into a drive device (not shown), a file “scenario.hdmv” or the like is read and the file The content recorded on the disc is played according to the description of “scenario.hdmv”. When an instruction is given by an operating means (not shown) by the user, the
例えば、図示されない操作手段によりアングル切り替え指示がなされると、この指示に基づくマルチメディアエンジン106の制御により、ファイル「scenario.hdmv」、「entrylist.data」など必要なファイルが参照され、クリップ切り替え可能点の情報に基づき図示されないドライブ装置が制御され、上述したようにして、ディスク上の読み出し位置が変更されてアングル切り替えがなされる。また、操作手段により、静止画表示の際のポーズ設定の解除などの指示を出すこともできる。
For example, when an angle switching instruction is made by an operation means not shown, the
上述では、プレーヤデコーダ100’の各部がハードウェアで構成されるように説明したが、これはこの例に限られない。例えば、プレーヤデコーダ100’をソフトウェア上の処理として実現することも可能である。この場合、プレーヤデコーダ100’をコンピュータ装置上で動作させることができる。また、プレーヤデコーダ100’をハードウェアおよびソフトウェアが混合された構成で実現することもできる。例えば、オーディオデコーダ118やMPEGビデオデコーダ120をハードウェアで構成し、その他をソフトウェアで構成することが考えられる。
In the above description, each part of the
プレーヤデコーダ100’をソフトウェアのみ、または、ハードウェアおよびソフトウェアの混合により構成し、コンピュータ装置で実行させるためのプログラムは、例えばCD−ROM(Compact Disc-Read Only Memory)といった記録媒体に記録されて提供される。このCD−ROMをコンピュータ装置のCD−ROMドライブに装填し、CD−ROMに記録されたプログラムを所定にコンピュータ装置にインストールすることで、上述の処理をコンピュータ装置上で実行可能な状態とすることができる。なお、コンピュータ装置の構成は、極めて周知であるため、説明は省略する。
The
以上説明したように、この発明は、記録済みの大容量ディスクにおいて、記録再生用のBlu−ray Disc規格を拡張することで、ユーザの入力に応じて再生が変化するインタラクティブ機能を実現することができるようになる。 As described above, the present invention can realize an interactive function in which reproduction changes according to user input by extending the Blu-ray Disc standard for recording and reproduction on a recorded large-capacity disc. become able to.
また、この発明の実施の一形態によれば、タイトルとトップメニューを構成するプレイリストの情報をデータベースに記述してあるため、画面上の選択によらず、リモコンキーなどで直接指定のタイトルを再生するしたり、トップメニュー画面を呼び出すことができるようになる。 In addition, according to the embodiment of the present invention, since the playlist and the information of the playlist that constitutes the top menu are described in the database, the designated title can be directly reproduced with a remote control key or the like, regardless of selection on the screen Or the top menu screen can be called.
また、この発明の実施の一形態によれば、デコード単位の先頭毎にアングル切り替え可能か否かを示すフラグを設けたので、アングル切り替え点で不連続が発生しないシームレスなアングル切り替え機能を実現することができる。 In addition, according to the embodiment of the present invention, since a flag indicating whether or not the angle can be switched is provided for each head of the decoding unit, a seamless angle switching function in which discontinuity does not occur at the angle switching point is realized. be able to.
さらに、この発明の実施の一形態によれば、サブプレイアイテムがメインのプレイアイテムと非同期で再生可能か否かを示すフラグを設けたので、メインパスに対して非同期に繰り返し再生されるBGMを実現することができる。 Furthermore, according to the embodiment of the present invention, since the flag indicating whether or not the sub play item can be reproduced asynchronously with the main play item is provided, the BGM that is repeatedly reproduced asynchronously with respect to the main path is provided. Can be realized.
さらにまた、この発明の実施の一形態によれば、静止画とそれに付随する字幕やグラフィクスとをカプセル化して記録しているため、静止画を切り替えながら再生する、スライドショーなどを行う場合のアクセス性が向上する。 Furthermore, according to an embodiment of the present invention, since still images and accompanying subtitles and graphics are encapsulated and recorded, the accessibility when performing a slide show or the like that is played while switching still images is performed. Will improve.
10 動画プレーン
11 字幕プレーン
12 グラフィクスプレーン
22 パレット
30 BD仮想プレーヤ
31 プレーヤコマンド
32 共通パラメータ
40 プレイバックコントロールプログラム
41 メソッド
60 メニュー画面
70 シナリオ
73A〜73M プレイリスト
100 プレーヤデコーダ
104 コードバッファ
105 コンテンツバッファ
106 マルチメディアエンジン
109 バッファ
110 PIDフィルタ
116 サブピクチャデコーダ
117 静止画像デコーダ
118 オーディオデコーダ
120 MPEGビデオデコーダ
132 サブピクチャプレーン
133 グラフィクスプレーン
134 静止画像プレーン
135 動画像プレーン
226 PNGデコーダバッファ
227 PNGデコーダ
228 オブジェクトバッファ
229 プレーンバッファ
231 オーディオミキサ
300 グラフィクスデコーダA
301 グラフィクスデコーダB
302 サブピクチャプレーン
303 グラフィクスプレーン
601A,601B,601C,601D,601E エクステント
10
301 Graphics decoder B
302
Claims (5)
上記データ構造は、1または複数のフレームを単位としてエンコードされたビデオストリームと、該ビデオストリームの再生単位毎に設けられた、該再生単位が複数のアングルで再生できるものであるか否かを示す第1のフラグと、該再生単位が含むアングル数と、該アングルそれぞれに対応する上記ビデオストリーム上での位置を示す位置情報と、上記エンコード単位毎に設けられた、上記アングルを該エンコード単位の先頭で切り替え可能か否かを示す第2のフラグとを含み、
上記再生装置に装填されて上記データ構造が上記再生装置に読み込まれたとき、
上記第1のフラグが、上記再生単位が複数のアングルで再生できるものであることを示す場合は、上記位置情報に基づき上記ビデオストリームの再生位置を変更して、所定のアングルを構成するビデオストリームを読み出すことができるようにさせ、さらに上記第2のフラグに基づく位置で、該アングル毎にインタリーブされて記録された上記ビデオストリームの再生位置を変更して他のアングルを構成するビデオストリームを読み出すことができるようにさせる上記データ構造が用いられた処理を、上記再生装置が行う
記録媒体。 A recording medium having a predetermined data structure on which content data to be played back by a playback device is recorded,
The data structure indicates a video stream encoded with one or a plurality of frames as a unit, and whether or not the reproduction unit provided for each reproduction unit of the video stream can be reproduced at a plurality of angles. The first flag, the number of angles included in the reproduction unit, the position information indicating the position on the video stream corresponding to each angle, and the angle provided for each encoding unit are set to the encoding unit. Including a second flag indicating whether switching is possible at the beginning,
When loaded into the playback device and the data structure is read into the playback device,
Video stream the first flag, indicating that those said reproduction unit can be reproduced with a plurality of angles, which change the reproduction position of the video stream on the basis of the position information, constituting a predetermined angle Can be read , and at the position based on the second flag, the playback position of the video stream interleaved and recorded for each angle is changed, and a video stream constituting another angle is read. The recording apparatus performs a process using the data structure so that the playback apparatus can perform the recording.
上記第2のフラグが上記アングルの終端側の所定領域に設けられている
記録媒体。 The recording medium according to claim 1,
A recording medium in which the second flag is provided in a predetermined area on the end side of the angle.
上記所定領域内で上記再生位置の切り替えが指示された場合、指示された該切り替えを行わない
記録媒体。 The recording medium according to claim 2,
When the switching of the playback position in the predetermined area has been designated, have such performed the switching instructed <br/> recording medium.
上記所定領域内で上記再生位置の切り替えが指示された場合、切り替え先の上記アングルで上記所定領域直前まで戻って該アングルの再生を行う
記録媒体。 The recording medium according to claim 2,
The predetermined when an area within the switching of the playback position has been instructed, the row intends <br/> recording medium reproduction of the angle back with the switching destination of the angle to the predetermined region immediately before.
上記所定領域の大きさは、第1の領域から第2の領域への最大アクセス時間と、上記ビデオストリームの読み出し速度と該ビデオストリームの再生速度との差分とに基づく
記録媒体。 The recording medium according to claim 2,
The size of the predetermined area is a recording medium based on a maximum access time from the first area to the second area, and a difference between the video stream read speed and the video stream playback speed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009008701A JP5209513B2 (en) | 2009-01-19 | 2009-01-19 | recoding media |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009008701A JP5209513B2 (en) | 2009-01-19 | 2009-01-19 | recoding media |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006076090A Division JP4277862B2 (en) | 2006-03-20 | 2006-03-20 | REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012088611A Division JP5187454B2 (en) | 2012-04-09 | 2012-04-09 | Data storage method |
JP2012088608A Division JP5187451B2 (en) | 2012-04-09 | 2012-04-09 | Data storage method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009135944A JP2009135944A (en) | 2009-06-18 |
JP5209513B2 true JP5209513B2 (en) | 2013-06-12 |
Family
ID=40867344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009008701A Expired - Lifetime JP5209513B2 (en) | 2009-01-19 | 2009-01-19 | recoding media |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5209513B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10110946B2 (en) | 2014-12-25 | 2018-10-23 | Echostar Uraine, L.L.C. | Simultaneously viewing multiple camera angles |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW335480B (en) * | 1995-09-29 | 1998-07-01 | Matsushita Electric Ind Co Ltd | Method and apparatus for encoding a bistream for multi-angle connection |
-
2009
- 2009-01-19 JP JP2009008701A patent/JP5209513B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2009135944A (en) | 2009-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4228767B2 (en) | REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM | |
JP4442564B2 (en) | REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM | |
JP2006230001A (en) | Reproducer, reproducing method, reproducing program and recording medium | |
JP5209515B2 (en) | recoding media | |
JP5209513B2 (en) | recoding media | |
JP5209516B2 (en) | recoding media | |
JP4277863B2 (en) | REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM | |
JP5494780B2 (en) | data structure | |
JP5494779B2 (en) | data structure | |
JP5494781B2 (en) | data structure | |
JP5209514B2 (en) | recoding media | |
JP5494782B2 (en) | data structure | |
JP5187451B2 (en) | Data storage method | |
JP5187452B2 (en) | Data storage method | |
JP5187454B2 (en) | Data storage method | |
JP5187453B2 (en) | Data storage method | |
JP4277864B2 (en) | REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM | |
JP4277865B2 (en) | REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM | |
JP4277862B2 (en) | REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110906 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120409 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120417 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20120511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130221 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160301 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5209513 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |