WO2005122570A1 - データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、データ記録媒体並びにデータ構造 - Google Patents
データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、データ記録媒体並びにデータ構造 Download PDFInfo
- Publication number
- WO2005122570A1 WO2005122570A1 PCT/JP2005/009435 JP2005009435W WO2005122570A1 WO 2005122570 A1 WO2005122570 A1 WO 2005122570A1 JP 2005009435 W JP2005009435 W JP 2005009435W WO 2005122570 A1 WO2005122570 A1 WO 2005122570A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- stream
- data
- video
- control module
- audio
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
- G11B27/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/206—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/206—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
- A63F2300/207—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards for accessing game resources from local storage, e.g. streaming content from DVD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2562—DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
Definitions
- the present invention relates to a data processing device and a data processing method, a program, a program recording medium, a data recording medium, and a data structure, and in particular, for example, a data processing device and a data that enable highly convenient data processing.
- the present invention relates to a processing method, a program, a program recording medium, a data recording medium, and a data structure.
- a DVD Digital Versatile Disc
- a DVD apparatus that performs various kinds of processing using a DVD has also become widespread. ing.
- Examples of the DVD device include a DVD recorder that records and reproduces data of a television broadcast program and the like on a DVD, and a car navigation system that records map information and the like on a DVD and displays the map information.
- a DVD recorder that records and reproduces data of a television broadcast program and the like on a DVD
- a car navigation system that records map information and the like on a DVD and displays the map information.
- game systems that record game programs and the like on DVDs and execute the programs.
- Non-Patent Document 1 DVD Specifications for Read-Only Disc Part 3; Version 1.1 Dcecmber
- a recording medium such as a DVD capable of recording a large amount of data, and a DVD device that performs various processes using the medium are highly convenient for such a large amount of data. It is requested to perform data processing.
- the present invention has been made in view of such a situation, and is intended to perform data processing with high convenience and the like.
- the data processing device of the present invention is arranged immediately before each of the encoded data in the access unit and one or more decoding startable points in the encoded video data in the access unit.
- video decoder control means for controlling a video decoder for decoding encoded video data.
- a supply unit for reading out the encoded video data in units of access units based on the size information included in the usage information and supplying the video data to the video decoder.
- the coded video data in access unit units and the one or more decoding start possible points in the coded video data in access unit units are arranged immediately before each, A search step of searching for usage information from encoded data including usage information used for decoding encoded video data; and a request from video decoder control means for controlling a video decoder for decoding the encoded video data.
- the encoding step includes a step of reading the encoding video data on an access unit basis and supplying the video data to a video decoder.
- the program of the present invention is characterized in that the encoded video data in access unit units and the encoded video data arranged immediately before each of one or more decoding start points in the encoded data in access units are respectively arranged.
- the method further comprises a step of reading encoded video data in units of access units based on the size information included in the information, and supplying the encoded video data to a video decoder.
- the program recorded on the program recording medium of the present invention is arranged immediately before each of encoded video data in access unit units and one or more decoding startable points in encoded video data in access unit units.
- the video decoder control means for controlling the video decoder that decodes the coded video data.
- the coded data power is coded on an access unit basis. And supplying the video data to a video decoder.
- the data recording medium and the data structure of the present invention are characterized in that encoded data is obtained by encoding video data in a predetermined unit, and encoded video data in an access unit, and encoded data in an access unit. And utilization information used for decoding the encoded video data, which is arranged immediately before each one or more decoding start possible points in the video data. And size information indicating the size of each of one or more access units arranged between the access units.
- encoded data is searched for usage information. Then, based on the size information included in the usage information, the coding data is also converted in units of access units according to the request of the video decoder control means for controlling the video decoder that decodes the coded video data. Is read and supplied to the video decoder.
- an access obtained by encoding video data in a predetermined unit includes encoded video data in units of units and usage information used for decoding encoded video data, which is arranged immediately before each of one or more decoding start possible points in the encoded video data in units of access units.
- the use information is arranged between the next use information and includes size information indicating the size of each of one or more access units.
- data processing can be performed with high convenience and the like.
- FIG. 1 is a block diagram showing a hardware configuration example of an embodiment of a disk device to which the present invention is applied.
- FIG. 2 is a block diagram illustrating a configuration example of a software module group executed by the CPU 112.
- FIG. 3 is a block diagram illustrating a configuration example of a buffer control module 215.
- FIG. 4 is a diagram showing an example of a directory configuration on a disk 101.
- FIG. 5 is a diagram showing the syntax of the “PLAYLIST.DAT” file.
- FIG. 6 is a diagram showing the syntax of PlayItemO.
- FIG. 7 is a diagram showing the syntax of PlayListMarkO.
- FIG. 8 is a diagram showing the relationship between the value of mark_type and the type of MarkO.
- FIG. 9 is a diagram showing the relationship between PlayListO, PlayItemO, clips, and program streams stored in clip stream files.
- FIG. 10 is a diagram showing the syntax of a clip information file ClipO.
- FIG. 11 is a diagram showing a relationship between streamjd and private_stream_id for identifying an elementary stream, and an elementary stream.
- FIG. 12 is a diagram showing the syntax of StaticInfoO.
- FIG. 13 is a diagram showing the syntax of DynamicInfo ().
- FIG. 14 is a diagram showing the syntax of EP_mapO.
- FIG. 15 is a diagram illustrating the syntax of an MPEG-2 System program stream, a program stream pack, and a program stream pack header.
- FIG. 16 is a diagram illustrating the syntax of the MPEG-2 System PES packet.
- FIG. 17 is a diagram illustrating the syntax of a PES packet of the MPEG-2 System.
- FIG. 18 is a diagram showing the syntax of the MPEG-2 System PES packet.
- FIG. 19 is a diagram showing the relationship between values described in streamjd of PES_packet () in the MPEG-2 System and attributes (types) of elementary streams.
- FIG. 20 is a diagram showing streamjd adopted by the disk device.
- FIG. 21 is a diagram illustrating the syntax of private_streaml_PES_payloadO.
- Figure 22 Private_stream_id value and elementary stream stored in private_payloadO It is a figure showing the relation with an attribute.
- FIG. 23 is a diagram illustrating the syntax of private_stream2_PES_payloadO.
- FIG. 24 is a diagram showing the syntax of aujnformation0.
- FIG. 25 is a diagram showing a specific example of a “PLAYLIST.DAT ⁇ file.
- FIG. 26 is a diagram showing a specific example of clip information files “00001.CLP”, “00002.CLP”, and “00003.CLP”.
- FIG. 27 is a diagram showing a specific example of EPjnapO in the clip information file “00001.CLP”.
- FIG. 28 is a diagram showing a specific example of PlayListMarkO in PlayList # 0 and PlayList # 1.
- FIG. 29 is a flowchart illustrating a pre-playback process.
- FIG. 30 is a flowchart illustrating a reproduction process.
- FIG. 31 is a flowchart illustrating a PlayItem transfer process.
- FIG. 32 is a flowchart illustrating a time code display process.
- FIG. 33 is a flowchart illustrating a stream switching process.
- FIG. 34 is a flowchart illustrating a process of a buffer control module 215.
- FIG. 35 is a flowchart illustrating a process of a buffer control module 215.
- FIG. 36 is a flowchart illustrating a process of reading a video stream.
- FIG. 37 is a flowchart illustrating a process of reading an audio stream.
- FIG. 38 is a flowchart illustrating a process of reading a subtitle stream.
- FIG. 39 is a flowchart illustrating a resynchronization process.
- FIG. 40 is a flowchart illustrating a mark process.
- FIG. 41 is a flowchart illustrating a control process of an output attribute.
- FIG. 42 is a diagram showing a specific example of a set of pts_change_point and Dynami clnfoO described in the clip information file “00003.CLP”.
- FIG. 43 is a flowchart illustrating caption display control processing.
- FIG. 44 is a flowchart illustrating a capture control process and a background Z screen saver process.
- FIG. 45 is a diagram illustrating another syntax of private_stream2_PES_payloadO.
- FIG. 46 is a diagram illustrating another syntax of aujnformation0. Explanation of reference numerals
- FIG. 1 is a block diagram illustrating a hardware configuration example of an embodiment of a disk device to which the present invention is applied.
- the disc device of FIG. 1 can be applied to, for example, a disc player, a game device, a car navigation system, and the like.
- the disk 101 is, for example, an optical disk such as a DVD, or a magneto-optical disk, a magnetic disk, or the like.
- Content data such as subtitle data and data necessary for reproducing the content data are recorded.
- the data (recorded data) recorded on the disk 101 includes a program that can be executed by a computer as necessary.
- the disk 101 which is a disk-shaped recording medium is adopted as the recording medium, but other recording media may be, for example, a semiconductor memory or a tape-shaped recording medium.
- data read and transmitted from a distant disk 101 can be input to the disk device of FIG. That is, the reading of data from the disk 101 is performed by another device connected to the disk device, and the data read by the other device can be received and processed by the disk device.
- the same data as the data recorded on the disk 101 can be stored in the storage, and the data can be received and processed from a server or the like via a network such as the Internet. It is. Further, in the disk device, it is also possible to receive data from a server or other device, record the data on the disk 101, and then process the data recorded on the disk 101.
- the disk 101 is detachable from the disk drive 102.
- the disk drive 102 has a built-in interface (not shown), and is connected to the drive interface 114 through the interface.
- the disk drive 102 drives the disk 101 mounted thereon, and performs processing such as reading data from the disk 101 and supplying the data to the drive interface 114 according to a command such as reading from the drive interface 114. .
- a CPU Central Processing Unit
- a memory 113 a drive interface 114, an input interface 115, a video decoder 116, an audio decoder 117, a video output interface 118, and an audio output interface 119 are connected. ing.
- a CPU Central Processing Unit
- the CPU 112 and the memory 113 form a computer system. That is, the CPU 112 executes a software module group, which will be described later, which is a program stored in the memory 113, controls the entire disk device, and performs various processes described later.
- the memory 113 stores a group of software modules executed by the CPU 112. Also, memory 113 And temporarily store data necessary for the operation of the CPU 112.
- the memory 113 can be configured using only a nonvolatile memory or a combination of a volatile memory and a nonvolatile memory. In the case where a hard disk is provided in the disk device of FIG. 1 and the software modules to be executed by the CPU 112 are recorded (installed) on the hard disk, the memory 113 may be composed of only volatile memory. It is possible.
- the program (software module group) executed by the CPU 112 can be recorded (stored) in advance in the memory 113 as a recording medium built in the disk device.
- the program may be a removable disk such as a disk 101, or a flexible disk other than the disk 101, a compact disk read only memory (CD-ROM), a magnetic disk (MO) disk, a magnetic disk, a memory card, or the like. It can be stored (recorded) temporarily or permanently on a recording medium. Such a removable recording medium can be provided as so-called package software.
- a removable recording medium can be provided as so-called package software.
- the program can be stored in the memory 113 as it is, or the above-described removable recording medium can be installed in the disk device. Also, the program can be transferred wirelessly from the download site to the disk device via a satellite for digital satellite broadcasting, or by wire to the disk device via a network such as LAN (Local Area Network) or the Internet. In the disk device, the program transferred in this manner can be received by the input interface 115 and installed in the built-in memory 113.
- LAN Local Area Network
- the program may be processed by one CPU, or may be processed in a distributed manner by a plurality of CPUs.
- the drive interface 114 controls the disk drive 102 under the control of the CPU 112, whereby the data read from the disk 101 by the disk drive 102 is transferred to the CPU 112, the memory 113, and the video via the node 111. Decoder 116 and audio decoder 117 are supplied.
- the input interface 115 receives a key (button) (not shown) or a signal supplied by a user operating a remote controller (remote controller), and receives the signal via the bus 111. To the CPU 112.
- the input interface 115 also functions as a communication interface such as a modem (including an ADSL (Asymmetric Digital Subscriber Line) modem) and a NIC (Network Interface Card).
- a modem including an ADSL (Asymmetric Digital Subscriber Line) modem
- NIC Network Interface Card
- the video decoder 116 decodes encoded data (encoded audio data) of video data read from the disk 101 by the disk drive 102 and supplied via the drive interface 114 and the bus 111. The resulting video data is supplied to the CPU 112 and the video output interface 118 via the bus 111.
- the audio decoder 117 decodes encoded data of audio data (encoded audio data) read from the disk 101 by the disk drive 102 and supplied via the drive interface 114 and the bus 111, The resulting audio data is supplied to the CPU 112 and the audio output interface 119 via the bus 111.
- the video output interface 118 performs necessary processing on video data supplied via the bus 111 and outputs the processed data from the video output terminal 120.
- the audio output interface 119 performs necessary processing on audio data supplied via the bus 111 and outputs the processed audio data from the audio output terminal 121.
- the video output terminal 120 is connected to a video output device such as a CRT (Cathode Ray Tube) or a liquid crystal panel (not shown). It is supplied to the output device and displayed.
- the audio output terminal 121 is connected to an audio output device such as a speaker or an amplifier (not shown). Therefore, audio data output from the audio output terminal 121 is supplied to the audio output device and output.
- the supply of video data and audio data from the disk device to the video output device and the audio output device can be performed by a wired or wireless shift.
- FIG. 2 shows a configuration example of a software module group executed by the CPU 112 of FIG.
- the software modules executed by the CPU 112 are roughly classified into an operating system (OS) 201 and a video content playback program 210 as an application program.
- OS operating system
- video content playback program 210 video content playback program
- the operating system 201 starts first when the power of the disk device is turned on (the CPU 112 executes the operating system 201), performs necessary processing such as initialization, and starts the video content reproduction program 210, which is an application program. Call out.
- the operating system 201 provides the video content reproduction program 210 with an infrastructure (infrastructure) -like service such as reading of a file. That is, for example, regarding the file reading, the operating system 201 operates the disk drive 102 via the drive interface 114 in response to the file reading request from the video content reproducing program 210, and A service is provided that reads out the data of 101 and passes it to the video content reproduction program 210.
- the operating system 201 also performs interpretation of a file system and the like.
- the operating system 201 has a multi-task processing function, and can operate a plurality of software modules simultaneously (apparently) in a time-division manner. That is, the video content reproduction program 210 is composed of several software modules. Each software module can operate in parallel.
- Video content playback program 210
- the video content reproduction program 210 includes a script control module 211, a player control module 212, a content data supply module 213, a decode control module 214, a buffer control module 215, a video decoder control module 216, an audio decoder control module 217, and a subtitle decoder control module. 218, a graphics processing module 219, a video output module 220, and an audio output module 221.
- the video content playback program 210 is software that plays a central role in playing the disc 101, and the disc 101 is loaded (inserted) into the disc drive 102. Then, it is confirmed whether the disc 101 is a disc of a format described later in which the content is recorded. Further, the video content reproduction program 210 reads and executes a script file (described later) from the disc 101, and generates metadata (database information) necessary for reproducing the content recorded on the disc 101 from the disc 101. ) Is read, and the reproduction of the content is controlled based on the metadata.
- FIG. 2 in principle, a solid arrow indicates content data, and a dotted arrow indicates control data.
- the script control module 211 interprets and executes a script program (script) described in the script file recorded on the disk 101.
- a script program for example, “manipulate the graphics processing module 219 to create and display an image such as a menu”, or change the display of the menu according to a signal from a “UK User Interface such as a remote controller” (for example, Movement of a cursor on a menu, etc.) "and" controlling the player control module 212 "can be described.
- the player control module 212 refers to the metadata (database information) and the like recorded on the disc 101 and controls the playback of the content. That is, the player control module 212 analyzes, for example, PlayListO and Clip (), which will be described later, recorded on the disc 101, and according to the analysis result, the content data supply module 213, the decode control module 214, the buffer control Controls module 215. Further, the player control module 212 performs control such as switching of streams to be played back, switching of streams to be reproduced, and the like, which will be described later, etc. Further, the player control module 214 acquires the time from the decode control module 214, and performs time display, processing of a mark (MarkO) described later, and the like.
- MarkO mark
- the content data supply module 213 is controlled by the player control module 212 or based on the amount of data stored in the buffer control module 215. It requests the operating system 201 to read content data, metadata, and the like from the disc 101.
- Metadata and the like read from the disk 101 by the operating system 201 in response to a request from the content data supply module 213 are supplied to necessary modules.
- the content data read from the disk 101 by the operating system 201 in response to a request from the content data supply module 213 is supplied to the buffer control module 215.
- the decode control module 214 controls the operations of the video decoder control module 216, the audio decoder control module 217, and the subtitle decoder control module 218 according to the control from the player control module 212. Also, the decode control module 214 has a built-in clock section 214A for measuring the time, and the video data output under the control of the video decoder control module 216 and the video data should be output in synchronization with the video data. Output of data (output data), that is, synchronization with output of audio data output under the control of the audio decoder control module 217 is managed here.
- the buffer control module 215 has a built-in buffer 215A which is a part of the storage area of the memory 113 in FIG. 1, and the content data supply module 213 makes a request to the operating system 201 from the disk 101 by sending a request to the buffer 215A.
- the data of the read content is temporarily stored.
- the buffer control module 215 converts the data stored in the notifier 215A into the video decoder control module according to the request of the video decoder control module 216, the audio decoder control module 217, or the subtitle decoder control module 218. 216, audio decoder control module 217, or subtitle decoder control module 218.
- the buffer control module 215 includes a video reading function unit 233, an audio reading function unit 234, and a subtitle reading function unit 235 described later with reference to Fig. 3. are doing. Then, the buffer control module 215 processes the data request from the video decoder control module 216 by the video read function unit 233, and transfers the data stored in the buffer 215A to the video decoder control module 216. Supply. Similarly, the buffer control module 215 processes the data request from the audio decoder control module 217 in the audio read function section 234, and thereby, the data stored in the buffer 215A is processed by the audio decoder control module 217. In addition, the data request from the subtitle decoder control module 218 is processed by the subtitle reading function unit 235, so that the data stored in the buffer 215A is supplied to the subtitle decoder control module 218.
- Video decoder control module 216
- the video decoder control module 216 operates the video reading function unit 233 (FIG. 3) in the buffer control module 215 to convert the video data encoded data (video encoded data) into video access units.
- the data is read from the buffer 215A of the buffer control module 215 and supplied to the video decoder 116 of FIG. Further, the video decoder control module 216 controls the video decoder 116 to decode data in video access unit units. Further, the video decoder control module 216 supplies the video data obtained as a result of decoding by the video decoder 116 to the graphics processing module 219.
- the video access unit is, for example, one picture (one frame or one field) of video data.
- the audio decoder control module 217 operates the audio read function unit 234 (FIG. 3) in the buffer control module 215 to convert the encoded audio data (audio encoded data) in units of audio access units.
- the data is read from the buffer 215A of the buffer control module 215 and supplied to the audio decoder 117 shown in FIG. Further, the audio decoder control module 217 controls the audio decoder 117 to decode data in units of an audio access unit. Further, the audio decoder control module 217 obtains the decoding result of the audio decoder 117.
- the supplied audio data is supplied to an audio output module 221.
- the audio access unit is a predetermined data amount of audio data (for example, an amount output in synchronization with one picture). In the present embodiment, it is assumed that the audio access unit has a known fixed length, for example.
- the caption decoder control module 218 operates the caption reading function unit 235 (FIG. 3) in the buffer control module 215 to convert the data obtained by coding the caption data (caption coded data) in units of subtitle access units. , Read from the buffer 215A of the buffer control module 215. Also, the subtitle decoder control module 218 includes therein subtitle decoding software (not shown), and decodes data read from the notifier 215A. Further, the caption decoder control module 218 supplies the caption data (caption image data) obtained as a result of the decoding to the graphics processing module 219.
- the subtitle access unit is a predetermined amount of subtitle data (for example, an amount output in synchronization with one picture).
- the size of the subtitle access unit is described, for example, at the head of the subtitle access unit.
- the graphics processing module 219 controls (instructs) the player control module 212. However, the graphics processing module 219 enlarges or reduces the caption data from the caption decoder control module 218, and adds the caption data to the video data from the video decoder control module 216 (overlay). In addition, the graphics processing module 219 enlarges the size (frame) of the video data after addition with the subtitle data to fit the display screen of the video output device connected to the video output terminal 120 in FIG. Alternatively, reduction or the like is performed, and the resulting video data is output to the video output module 220.
- the graphics processing module 219 generates a menu, a message, and the like according to an instruction (control) of the script control module 211 or the player control module 212, and overlays the menu or the message on the output video data.
- the graphics processing module 219 is connected to the video output terminal 120 of FIG.
- the aspect ratio of the video data to be output to the video output module 220 is converted based on the aspect ratio of the video output device and information indicating the aspect ratio of the video data recorded on the disk 101.
- the Dallax processing module 219 The video data output to the video output module 220 is squeezed (reduced) in the horizontal direction (horizontal direction), and output with blackness on the left and right.
- the graphics processing module 219 outputs the video data.
- the video data to be output to the output module 220 is squeezed (reduced) in the vertical direction (vertical direction), and is output with blackness at the top and bottom.
- the graphics processing module 219 outputs the video data to be output to the video output module 220 without any squeezing processing.
- the graphics processing module 219 captures video data currently being processed, for example, in response to a request from the player control module 212. Further, the graphics processing module 219 stores the captured video data or supplies the captured video data to the player control module 212.
- the video output module 220 occupies a part of the memory 113 of FIG. 1 exclusively and uses it as a FIFO (First In First Out) 220A (buffer), and temporarily stores the video data from the graphics processing module 219. Then, the video data stored in the FIFO 220A is read out and output to the video output terminal 120 (FIG. 1).
- FIFO First In First Out
- the audio output module 221 exclusively occupies a part of the memory 113 in FIG. 1 and uses it as a FIF 0221A (buffer), and temporarily stores audio data of the audio decoder control module 217 (audio decoder 117). , Also its FIF0221A The audio data stored in the audio output terminal 121 is read out as appropriate and output to the audio output terminal 121 (FIG. 1).
- the audio output module 221 has a dual channel configuration in which the audio data from the audio decoder control module 217 is audio data of "main audio" on the left channel and audio data of "sub audio” on the right channel. If the audio data is in the Dual) (Nike language) mode, the audio data from the audio decoder control module 217 is output to the audio output terminal 121 according to the audio output mode specified in advance.
- the audio output module 221 transmits the left channel audio data of the audio data from the audio decoder control module 217 to the audio output mode.
- the audio data is copied as right channel audio data, and the left channel and right channel audio data (audio data of “main audio”) are output to the audio output terminal 121.
- “sub-audio” is specified as the audio output mode
- the audio output module 221 converts audio data of the right channel of the audio data from the audio decoder control module 217 into audio data of the left channel.
- the audio data of the left channel and the right channel (“sub-audio” audio data) are output to the audio output terminal 121.
- the audio output module 221 outputs the audio data from the audio decoder control module 217 to the audio output terminal 121 as it is.
- the audio output module 221 sends the audio data from the audio decoder control module 217 regardless of the designation of the audio output mode. Is output to the audio output terminal 121 as it is.
- the audio output mode can be specified interactively, for example, by a user operating a remote controller or the like on a screen or the like on which a menu generated by the video content reproduction program 210 is displayed. it can.
- FIG. 3 shows a configuration example of the buffer control module 215 of FIG.
- the buffer control module 215 exclusively uses a part of the memory 113 of FIG. 1 as the buffer 215A, and temporarily stores the data read from the disk 101 in the buffer 215A. Also, the buffer control module 215 reads the data stored in the buffer 215A and supplies the data to the video decoder control module 216, the audio decoder control module 217, or the subtitle decoder control module 218 in FIG.
- the buffer control module 215 has a data head pointer storage unit 231 and a data write pointer storage unit 232 which are a part of the memory 113, in addition to the buffer 215A, and has a video read function unit 233 as an internal module. , An audio reading function unit 234 and a subtitle reading function unit 235.
- the knocker 215A is, for example, a ring buffer, sequentially stores data read from the disk 101, and after storing data of the storage capacity, overwrites the oldest data. The latest data is stored in an infinite loop.
- the data head pointer storage unit 231 is still read from the buffer 215A, and is the oldest! Is stored.
- the data write pointer storage unit 232 stores a write pointer indicating the position (address) of the buffer 215A where the latest data read from the disk 101 is written.
- the position pointed to by the data write pointer is updated clockwise (clockwise) in the figure each time data read from the disk 101 is stored in the buffer 215A.
- the position pointed by the pointer is updated clockwise in the figure according to the reading of data from the buffer 215A. Therefore, of the data stored in the buffer 215A, the effective data is data stored from the position indicated by the data head pointer to the position indicated by the data write pointer clockwise.
- the video read function unit 233 reads a video stream (elementary stream related to video data) from the buffer 215A and supplies the video stream to the video decoder control module 216.
- audio In response to a request from the audio decoder control module 217 in FIG. 2, the read function unit 234 also reads the audio stream (elementary stream related to audio data) and supplies it to the audio decoder control module 217.
- the caption reading function unit 235 also reads a caption stream (elementary stream related to caption data) from the notifier 215A in response to a request from the caption decoder control module 218 in FIG.
- a program stream (MPEG2-System Program Stream) conforming to the standard of the Moving Picture Experts Group (MPEG) 2 is recorded on the optical disc 101, and the optical disc 101 reads out the optical disc 101 from the optical disc 101.
- the stored program stream is stored.
- one or more elementary streams such as a video stream, an audio stream, and a subtitle stream are time-division multiplexed.
- the video reading function unit 233 has a function of demultiplexing a program stream, and separates and reads a video stream from the program stream stored in the buffer 215A.
- the audio reading function unit 234 also has a function of demultiplexing the program stream, and separates and reads the audio stream from the program stream stored in the buffer 215A.
- the subtitle reading function unit 235 also has a function of demultiplexing the program stream, and separates and reads the subtitle stream from the program stream stored in the buffer 215A.
- the video reading function unit 233 has a video reading pointer storage unit 241, a streamjd register 242, and an aujnformationO register 243 that are part of the memory 113 in FIG.
- the video read pointer storage unit 241 stores a video read pointer pointing to the position (address) of the buffer 215A where the video stream is stored, and the video read function unit 233 stores the video read pointer of the buffer 215A.
- the data stored at the pointed position is read as a video stream.
- the streamjd register 242 analyzes the program stream stored in the buffer 215A, and stores a streamjd described later for identifying (identifying) a video stream from which the program stream is also read.
- the aujnformationO register 243 is used to read the video stream from the buffer 215A ( AujnformationO, which will be described later, is stored as data (used for reading the video stream).
- the audio read function unit 234 has an audio read pointer storage unit 251, a streamjd register 252, and a private_stream_id register 253 that are part of the memory 113 in FIG.
- the audio read pointer storage unit 251 stores an audio read pointer indicating the position (address) of the buffer 215A where the audio stream is stored, and the audio read function unit 234 stores the audio read pointer of the buffer 215A.
- the data stored at the location indicated by is read as an audio stream.
- the streamjd register 252 and the private_stream_id register 253 analyze a program stream stored in the buffer 215A, and store a later-described streamjd and a private_stream_id for identifying an audio stream to be read from the program stream.
- the subtitle reading function unit 235 includes a subtitle reading function flag storage unit 261, a subtitle reading pointer storage unit 262, a streamjd register 263, and a private_stream jd register 264, which are part of the memory 113 in FIG. ! /
- the subtitle read function flag storage unit 261 stores a subtitle read function flag. If the subtitle read function flag stored in the subtitle read function flag storage unit 261 is, for example, 0, the subtitle read function unit 235 does not operate and the subtitle read function flag stored in the subtitle read function flag storage unit 261 is For example, if it is 1, the subtitle reading function unit 235 functions.
- the subtitle read pointer storage unit 262 stores a subtitle read pointer indicating the position (address) of the buffer 215A where the subtitle stream is stored, and the subtitle read function unit 235 stores the subtitle read pointer of the buffer 215A.
- the data stored at the position indicated by is read out as a subtitle stream.
- the streamjd register 263 and the private_stream_id register 264 analyze the program stream stored in the buffer 215A and store a streamjd and a private_stream amjd described later for identifying a subtitle stream to be read out of the program stream.
- FIG. 4 schematically shows the directory structure of the disk 101.
- the file system of the disc 101 for example, a file system defined by ISOdnternational Organization for Standardization (9660) -9, UDF (Universai DISK Format: http://www.osta.org/specs/), etc. Data files recorded on the disk 101 are hierarchically managed by a directory structure.
- the file system is not limited to the file system described above! /.
- the "VIDEO" directory is located in the root directory indicating the base of the file system, and the "VIDEO" directory has two directories, the "CLIP” directory and the "STREAM” directory. There are two directories.
- the "SCRIPT.DAT ⁇ file is a script file in which a script program is described. That is, the" SCRIPT.DAT "file contains a script used to make the playback mode of the disc 101 interactive.
- the script program described in the “SCRIPT.DAT” file is interpreted and executed by the script control module 211 in FIG.
- the “PLAYLIST.DAT” file stores one or more playlists (PlayListO in FIG. 5 described later) in which a procedure for reproducing content such as video data recorded on the disc 101 is described.
- One or more clip information files are stored in the "CLIP” directory, and one or more clip stream files are stored in the "STREAM” directory. That is, in FIG. 4, three clip information files “00001. CLP”, “00002.CLP”, and “00003.CLP” are placed in the “CLIP” directory, and “3” is stored in the “STREAM” directory. Clip stream files "0000 LPS", "00002.PS”, and "00003.PS”.
- the clip stream file includes one or more elementary lists obtained by compressing and encoding one or more data (streams) such as video data, audio data, and subtitle data.
- a time-division multiplexed program stream is stored.
- the clip stream file and the clip information file have a one-to-one correspondence.
- the clip stream file is given a file name in accordance with the naming rule of 5 characters + period + "PS", and the clip information file has the same name as the corresponding clip stream file.
- the file name is given according to the naming convention of 5 characters + period + "CLP”.
- a file is a clip stream file or a clip information file can be identified by the file name extension (the part on the right side of the period), and furthermore, the corresponding clip stream file can be identified.
- a file and a clip information file can be identified by whether or not a part other than the file name extension (the part to the left of the period) matches.
- FIG. 5 shows the internal structure (syntax) of the “PLAYLIST.DAT” file under the “VIDEO” directory in FIG.
- the description in the "Syntax” column indicates the data structure
- the description in the "No. of bits” column indicates the bit length of the data in the "Syntax” column of the corresponding row.
- “ ⁇ bslb bit string left bit first) in the description of the“ Mnemonic ”column means that the data of the“ Syntax ”column of the corresponding line is sent from the left bit
- the most significant bit first) is the unsigned integer value of the data in the "Syntax” column of the corresponding line, meaning that it is sent out from the most significant bit. Even if it is, it is the same.
- namejength represents the size of the name_string that is placed after that in bytes.
- name_string represents the name (file name) of the “PLAYLIST.DAT” file.
- name_string up to the number of bytes represented by namejength from the top is used as a valid name. For example, if namejength has the value 10, the first 10 bytes of name_string are interpreted as a valid name.
- Number.of PlayLists (16 bits) is arranged after name_string. number_of_Play Lists represents the number of subsequent PlayListOs. After number_of_PlayLists, PlayListOs equal to the number_of_PlayLists are arranged.
- PlayListO is a playlist in which the playback procedure of the clip stream file recorded on the disc 101 is described, and has the following internal structure.
- PlayList_data_length 32 bits
- PlayList_datajength represents the size of the PlayListO.
- reserved-for-word-alignment (15 bits) and capture-enable_flag_PlayList (1 bit) are sequentially arranged.
- the 15-bit reserved_for_word_alignment is arranged at the position of the 1-bit capture_enable_flag_PlayList that is arranged after that, so as to take a so-called word alignment (to align with the 16-bit position).
- capture_enable_flag_PlayList indicates whether or not the secondary use of the video data (video data belonging to PlayListO) corresponding to the video stream played by PlayListO in the disk device of FIG. Represents a 1-bit flag.
- capture_enable_flag_PlayList is 0 or 1, for example, 1, it indicates that secondary use of video data belonging to PlayListO is permitted, and capture_enable_flag_PlayList is 0 or 1, for example, 0. Indicates that the secondary use of the video data belonging to PlayListO is permitted and is prohibited (prohibited).
- capture_enable_flag_PlayList is 1 bit.
- capture_enable_flag_PlayList is composed of a plurality of bits, and secondary use of video data belonging to PlayListO is allowed stepwise. It is possible. That is, capture_enable_flag_PlayList can be composed of, for example, 2 bits. If the value of capture_enable_flag_PlayList is 00B (B indicates that the number before it is a binary number), Secondary use of video data is prohibited, and if the value of capture_enable_flag_PlayList is 1 ⁇ , only secondary use of video data reduced to a size of 64 x 64 pixels or less can be permitted. If the value of capture_enable_flag_PlayList is 10B, secondary use of video data can be permitted without any size restriction.
- capture_enable_flag_PlayList is 2 bits as described above, reserved_for_word_alignment placed before it is 14 bits to take a word line.
- the video data is, for example, detachable to a recording medium removable to the disk device or another device connectable to the disk device. It is recorded on a recording medium or transmitted (distributed) to another device via a network such as the Internet. In this case, information limiting the number of times the video data is recorded on the recording medium and the number of times the video data is distributed can be added to the video data.
- PlayList_name_length 8 bits
- PlayList-name_string 255 bytes
- PlayList_name_length represents the size of the PlayList_name_string placed after that in bytes
- PlayList_name_string represents the name of PlayListO.
- PlayList_name_string After PlayList_name_string, number_of_PlavItems (16 bits) is arranged. numbe r_of_PlayItems represents the number of subsequent PlayltemOs.
- PlayltemO structures corresponding to the number_of_PlayItems are described.
- PlayListO a content reproduction procedure can be described in units of PlayltemO.
- a unique ID (Identification) in the PlayListO is assigned to each of the PlayltemOs of the number_of_PlayItems in the PlayListO. That is, the first PlayltemO in the PlayListO is numbered 0 as an ID, and the subsequent PlayltemOs are sequentially numbered 1, 2, and so on in the order of appearance.
- PlayListMarkO is arranged after PlayltemO for the number of number_of_PlayItems.
- PlayListMarkO is a set of MarkOs, which will be described later, serving as marks on the time axis of reproduction performed according to the PlayListOs, and the details thereof will be described later with reference to FIG.
- FIG. 6 shows an internal structure of PlayltemO included in PlayListO of FIG.
- PlayltemO At the beginning of PlayltemO, a length (16 bits) is arranged, and length represents the size of Playltem () including the length.
- Clipjnformationjilejiamejength indicates the size of Clip_Information_file_name that is placed after that, in bytes.
- Clip_Information_file-name indicates the file name of the clip information file (the file with the extension CLP in Fig. 4) corresponding to the clip stream file (the file with the extension PS in Fig. 4) played by PlayltemO.
- the file names of the clip stream file and the clip information file can be recognized from the Clip_Information_file_name based on the naming rule described above, and the clip stream file to be played back by PlayltemO can be identified and the clip stream file can be specified.
- IN_time and OUT_time are clips specified by ClipJnformation_file_name, respectively. This is time information for specifying a playback start position and a playback end position of the stream file.
- a position in the middle of the clip stream file (including the beginning) can be specified as the playback start position.
- a position in the middle of the clip stream file (including the end) can be specified. It can be specified as the playback end position.
- PlayltemO the content of the clip stream file specified by Clip_Information_file_name from IN_time to OUT_time is reproduced.
- the content reproduced by the Playlt emO is appropriately referred to as a clip.
- FIG. 7 shows an internal structure of PlayListMarkO included in PlayListO of FIG.
- PlayListMarkO is a set of 0 or more MarkOs that serve as marks on the time axis of reproduction performed according to PlayListO (Fig. 5) including PlayListMarkO.
- One MarkO represents time information that represents one time (position) on the time axis of playback performed according to PlayListO, type information that represents the type of MarkO, and type information. It represents the type that generates an S event. At least, it has argument information that becomes the argument of the event when it exists.
- length (32 bits) is placed at the head of PlayListMarkO.
- length indicates the size of PlayListMarkO including it.
- number-of-PlayList-marks (16 bits) is arranged, and number-of-PlayListstjnarks represents the number of MarkOs arranged subsequently.
- number_of_PlayList_marks the structure of MarkO is described by the number_of_PlayList_marks.
- mark_type 8 bits is arranged.
- mark_type is the above-mentioned type information, and represents the type of MarkO including it.
- MarkO of type "chapter” is a mark of the head position of the chapter, which is a unit for cueing out PlayListO.
- MarkO of type indexes (hereinafter, appropriately referred to as an index mark) is a mark of the head position of the index, which is a unit obtained by subdividing the chapter.
- MarkO of the event type (hereinafter referred to as the event ) Is a mark of a position where an event is generated during reproduction of the content according to PlayListO. The occurrence of the event by the event mark is notified to the script control module 211 as described later.
- mark_type the relationship between the value of mark_type and the type of MarkO is shown in FIG. According to FIG. 8, one force is set in the mark mark of the chapter mark. Also, 2 is set to mark_type of the index mark, and 3 is set to markjpe of the event mark. In FIG. 8, 0 and 4 to 255 of the 8-bit value represented by mark_type are reserved for future expansion.
- mark_type is followed by mark_name_length (8 bits).
- mark—name—string (24 knots) is placed.
- mark—name—length and mark—name_string are used to describe the name of MarkO, mark_name_length represents the effective size of mark_name_string, and mark_name_string represents the name of MarkO. Accordingly, mark-name-lengths to the number of knots represented by mark-name-lengths; ⁇ , represents the effective name of MarkO.
- the o_PlayItem_id describes the ID assigned to the PlayltemO to which MarkO belongs by a serial number.
- the o_PlayItemjd specifies PlayltemO (FIG. 6) to which MarkO belongs, and, as described with reference to FIG. 6, specifies a clip information file and a clip stream file.
- mark_time_stamp represents the position (time) represented by MarkO in the clip stream file specified by ref_to_PlayItemjd.
- Fig. 9 shows the relationship among PlayListO, PlayItemO, clips, and program streams stored in clip stream files.
- PlayListO is composed of three PlayltemOs, and each of the three PlayltemOs is assigned ID # 0, # 1, # 2 assigned with a serial number.
- PlayltemO with IDffi is described as Playltem # i.
- clip powers which are contents reproduced by Playltem # 0, Playltem #l, and Playltem # 2, are shown as clip A, clip B, and clip C, respectively.
- the substance of the clip is the program stream from IN_time to OUT_time of the program stream stored in the clip stream file specified from the Clip_Information_file_name in PlayltemO in Fig. 6 (further specified from the clip information file). is there.
- program streams as entities of clip A, clip B, and clip C are shown as program stream A, program stream B, and program stream C, respectively.
- entry_ES_stream_id and entry_ES_private_stream_id are used to specify the elementary stream when MarkO is associated with a specific elementary stream. That is, the entry_ES_stream_id is the stream-id described later of the elementary stream (PES_packet0 shown in FIGS. 16 to 18 described later in which MarkO is associated).
- the elementary stream that associates J, L, and Mar k0 as needed is placed in the entry—ES—private—stream—id, and the private_st reaml—PE3 ⁇ 4—private in the payloadO shown in Fig. 21 described later. — PrivateO stream- id described later in headerO).
- entry_ES_streamjd and entry_ES_private_stream_id of MarkO that is not associated with a specific elementary stream.
- mark.data (32 bits) is arranged after entry_ES_private_stream_id.
- mark_data is argument information that becomes an argument of an event generated by the event mark when MarkO is an event mark.
- mark_data can be used as the number of the chapter or index indicated by the chapter mark or index mark.
- FIG. 10 shows the internal structure of such a clip information file ClipO.
- presentation_start_time and presentation_end_time are placed next to each other.
- presentation—start—time and presentation—end_time represent the start and end times of (the program stream stored in) the clip stream file corresponding to the clip information file ClipO.
- the time of the clip stream file is used as the time of MPEG2-System and is described in multiples of 90 kHz.
- reserved-for-word-alignment (7 hits) and capture-enable_flag_Clip (1 bit) are sequentially arranged.
- 7-bit reserved_for_word_alignment is for taking a word line
- capture_enable_flag_Clip is a flag indicating whether or not secondary use of video data is permitted, as in the case of capture_enable_flag_PlayList in FIG. 5 described above. It is a lag.
- capture_enable_flag_PlayList in Fig. 5 indicates whether the secondary use of video data (video data belonging to PlayListO) corresponding to the video stream reproduced by PlayListO is permitted or not, as shown in Fig. 10.
- “Capture_enable_flag_Clip” indicates whether the secondary use of video data corresponding to the video stream (video elementary stream) stored in the clip stream file corresponding to the clip information file ClipO is permitted or not. Therefore, the unit (range) of video data permitted for secondary use differs between capture-enable-flag-PlayList in Fig. 5 and capture-enable-flag-Clip in Fig. 10.
- capture_enable_flag_Clip in Fig. 10 can also be a plurality of bits instead of 1 bit, as described in capture_enable_flag_PlayList in Fig. 5.
- Number_of_streams (8 bits) is arranged after capture_enable_flag_Clip, and the number_of_streams describes the number of StreamlnfoO structures following it. Therefore, following number_of_streams, the structure of StreamlnfoO is described by the number_of_Streams.
- a length (16 bits) is arranged at the head of the StreamlnfoO, and the length represents the size of the StreamlnfoO including the length. Following the length, stream_id (8 bits) and private_stream_id (8 bits) are assigned. The streamjd and private_stream_id specify (identify) the elementary stream to be associated with StreamlnfoO.
- Fig. 11 shows a relationship between streamjd and private_stream_id for identifying an elementary stream, and the elementary stream.
- the streamjd is the same as that specified in the MPEG2-System standard, and its value is determined in advance for each attribute (type) of elementary stream (data) in the MPEG2-System standard. Has been. Therefore, an elementary stream having the attribute defined by the MPEG2-System standard can be specified only by streamjd.
- Fig. 11 an elementary stream of video encoded by the encoding (decoding) method specified by MPEG and an elementary stream of audio encoded by ATRAC (Adaptive TRansform Acoustic Coding) (hereinafter referred to as "elementary stream”) are shown. Audio stream), audio elementary stream encoded by LPCM (Linear Pulse Code Modulation) method (hereinafter referred to as LPCM audio stream), and subtitle elementary stream (hereinafter referred to as appropriate). , Called a subtitle stream), showing the relationship between streamjd and private_stream_id.
- LPCM Linear Pulse Code Modulation
- an elementary stream of a video encoded by an encoding method specified by MPEG has a value in the range of OxEO to OxEF (Ox is a character string following the hexadecimal number). Multiplexing using streamjd to identify elementary streams. Therefore, for an elementary stream of a video encoded by the encoding method specified by MPEG, an elementary stream of 16 videos that can be identified by stream jd having a value in the range of OxEO to OxEF Can be multiplexed into the program stream.
- streamjd is not defined for ATRAC audio streams, LPCM audio streams, and subtitle streams.
- streamjd is defined in the MPEG2-System!
- attribute private_stream_l in the MPEG2-System is added to the streamjd.
- OxBD which is a value to represent is adopted, and further, as shown in FIG. 11, identification (specification) is performed using private_stream amjd.
- private_streamjd having a value in the range of 0x00 to OxOF is used for identification of an ATRAC audio stream. Therefore, 16 ATRAC audio streams can be multiplexed in the program stream.
- a value private_stream_id in the range from 0x10 to OxlF is used for identification of the LPCM audio stream. Therefore, 16 LPCM audio streams can be multiplexed in the program stream.
- subtitles Private_stream_id having a value in the range of 0x80 to 0x9F is used for stream identification. Therefore, 32 subtitle streams can be multiplexed in the program stream.
- StaticInfoO reserved-for-word-alignment (8 bits).
- StaticInfoO information that does not change during playback of the elementary stream specified by streamjd and private_stream_id (described in StreamlnfoO including StaticInfoO) is described. The details of StaticInfoO will be described later with reference to FIG.
- reserved_for_word_alignment is used for taking a word line.
- the pts_change_point represents a time when information of DynamicInfoO becomes effective as a set with it.
- pts_change_point representing the time at the beginning of the elementary stream is equal to presentation_start_time described at the beginning of the clip information file ClipO corresponding to the clip stream file in which the elementary stream is stored.
- DynamicInfoO describes so-called dynamic information that changes during the playback of the elementary stream specified by the streamjd and the private_stream_id.
- the information described in DynamicInfoO becomes effective when paired with! /, The playback time indicated by pts_change_point.
- the details of DynamicInfoO will be described later with reference to FIG.
- EP_map0 is placed after pts_change_point and DynamicInfoO of the set of number_of_DynamicInfo. Note that EP_map0 will be described later with reference to FIG.
- Fig. 12 shows the syntax of StaticInfoO.
- StaticInfoO has different contents depending on the attribute (type) of the corresponding elementary stream. The attribute of the elementary stream corresponding to StaticInfoO is determined by streamjd and private_stream_id included in StreamlnfoO of FIG. 10 including the StaticInfoO.
- picture_size represents the size of (the image displayed by) the video data corresponding to the video stream.
- frame_rate represents the frame frequency of video data corresponding to the video stream.
- cc_flag indicates whether or not the video stream includes closed caption data. That is, for example, if the video stream includes closed caption data, cc_flag is set to 1, and if the video stream includes closed caption data, otherwise, ccjkg is set to 0. .
- audio_language_code a code representing the language of audio data included in the audio stream is described.
- channeLconfiguration represents the attributes of audio data included in the audio stream, such as mono / mono / stereo / multi-channel.
- lfe_existence represents the power of the audio stream including the low-frequency emphasis channel, and is 1 if it is included and 0 if it is not.
- the sampling frequency is information indicating the sampling frequency of audio data included in the audio stream.
- subtitle_language_code a code representing the language of the subtitle data included in the subtitle stream is described.
- con figurable_flag is the subtitle data included in the subtitle stream.
- the display method of the caption data includes a display size of the caption data, a display position, a display color, a display pattern (for example, blinking display), a display direction (for example, a vertical direction and a horizontal direction).
- Fig. 13 illustrates the syntax of DynamidnfoO.
- DynamidnfoO describes dynamic information that changes during playback of the elementary stream, as described with reference to FIG. Although this dynamic information is not particularly limited, in the embodiment of FIG. 13, the data corresponding to the elementary stream corresponding to DynamidnfoO, that is, the dynamic information is output by processing the elementary stream. Data output attribute (elementary stream power obtained data output attribute) power Described in DynamidnfoO.
- DynamidnfoO uses display-aspect-ratio (4 bits) and the 7th reserved wordword.
- the play-aspect-ratio describes, for example, the aspect ratio of the video data as an output attribute (display method) of the video data corresponding to the video stream. That is, in the diplay_aspect_ratio, for example, information indicating whether the aspect ratio is 16: 9 or 4: 3 is described.
- the DynamidnfoO of the video stream in addition to the aspect ratio, for example, the size of an image displayed by the video data (X pixels and XY pixels) can be described.
- DynamicInfoO includes reserved_for_word_alingitem for taking a word line. That is, in the embodiment of FIG. 13, the output attribute as dynamic information is defined for the subtitle stream.
- Fig. 14 shows the syntax of EPjnapO.
- EPjnapO decoding of each elementary stream is performed for each elementary stream multiplexed with the program stream stored in the clip stream file corresponding to the clip information file ClipO in Fig. 10 including EPjnapO.
- the information of the decoding start point (entry point) that can be started is described.
- a decoding start possible point can be obtained by calculation.
- a video access access point such as a variable-rate stream or a video stream encoded according to the MPEG standard is used.
- a decoding start possible point cannot be obtained by calculation, and cannot be found unless the stream is actually analyzed.
- Quickly recognizing the decoding start possible point is important for random access. According to EPjnapO, the decoding start possible point can be quickly recognized.
- the starting point of intra-working including Sequence-headerO is a point where decoding can be started.
- number_of_stream_id_entries information for identifying an elementary stream, information on a decoding start point of the elementary stream, and a number represented by number_of_stream_id_entries are repeatedly arranged.
- stream_id (8 bits) and private_stream_id (8 bits) as information for identifying an elementary stream are arranged, followed by number_of_EP_entries (32 bits).
- number_of_EP_entries indicates the number of points at which decoding of the elementary stream identified (specified) by the previous streamjd and private_stream_id is possible.
- the set of PTS_EP_start (32 bits) and RPN_EP_start (32 bits) as information of the decoding start point of the elementary stream specified by the immediately preceding streamjd and private_stream_id is the number represented by number_of_EP_entries. Are repeatedly arranged.
- PTS_EP_start which is one of the information about the decoding start possible point, is included in the clip stream file storing the program stream in which the elementary streams specified by the stream_j and the private_stream_id are multiplexed as described above. This indicates the time (playback time) at which decoding can be started.
- RPN_EP_start which is another piece of information on the decoding start possible point, includes a clip stream in which a program stream in which the elementary streams specified by the stream_id and the private_stream_id are multiplexed as described above is stored.
- the value when the position of the decoding start possible point in the file is counted in packO units of the program stream is described.
- the size of packO is fixed at 2048 bytes.
- one sector capacity of the disk 101 (FIG. 1) is 2048 bytes.
- the video stream immediately before the decode startable point (entry point), which is (PES_packet () of the attribute of private_stream_2) force s arrangement described below private_stream_2 packets.
- private_stream_2 packet is The information used to decode the video stream located between the private_stream_2 packet and the private_stream_2 packet is stored. For this reason, for the video stream, RPN_EP_start as information on the decoding start possible point is not the actual decoding start possible point itself, but is placed immediately before the actual decoding start possible point! Private_stream_2 packet Is described.
- the set of PTS_EP_start and RPN_E P_start as information of decoding start possible points is sorted in ascending order for each elementary stream specified by streamjd and private_stream_id. ing.
- the set of PTS_EP_start and RPN_EP_start as the information on the decoding startable point can be subjected to a binary search.
- a clip stream file is an MP-2 file defined by the MPEG-2 System (ISO / IEC 13818-1).
- FIG. 15 shows Table 2-31, Table 2-32, and Table 2-33 described in the MPEG-2 System (ISO / IEC 13818-1: 2000) standard.
- the program stream stored in the clip stream file is MPEG2_Program_Stream () defined in Table 2-31 of the MPEG-2 System standard, and is composed of one or more packOs and one MPEG_program_end_code. You. The description of MPEG2_Program_Stream () is also described in Japanese Patent No. 2785220 or the like.
- One packO consists of one packO as defined in Table 2-32 of the MPEG-2 System standard.
- Pack_header0 It consists of Pack_header0 and any number of PES_packet (). For more information on Pack_header0,
- the size of packO is defined as a variable length.
- the power is fixed at 2048 bytes.
- the number of PES_packetO of one packO is one, two, or three.
- PackO power Starts with private_stream_2 packet! /
- PES_packetO in which content data such as video, audio and subtitles is stored is placed at the beginning of PackO.
- padding_packet (padding packet) can be placed as the second PES_packetO.
- Figs. 16 to 18 show PES_packet 0 defined in Table 2-17 of the MPEG-2 System standard.
- PTS Presentation Time Stamp
- DTS Decoding Time Stamp
- Information indicating the decode timing can be arranged.
- a PTS is added to all access units (decoding units that constitute an elementary stream defined in MPEG2-System), and a DTS is added when defined in MPEG2-System.
- the elementary stream multiplexed with the program stream is stored in PES_packet_data_byte (Fig. 18) of PES_packet0. Then, in streamjd of PES_packet0, a value corresponding to the attribute of the elementary stream is described in order to identify the elementary stream stored in the PES_packet_data_byte.
- the stream_name of the PES_packetO of the elementary stream having the attribute called private_stream_l is set to 10111101B according to Fig. 20.
- the streamjd of the PES_packet () of the padding_packet is the force ⁇ , 10111110B shown in FIG.
- the streamjd of the PES_packetO of the elementary stream having the attribute called private_stream_2 is set to 10111111B according to FIG.
- the streamjd of PES_packet () of a video stream (video elementary stream) defined by MPEG is set to ⁇ .
- Video streams (video streams defined by MPEG) can be multiplexed.
- PES_packetO whose streamjd is ⁇ is used to store a video stream defined by MPEG
- PES_packet () whose streamjd is llOxxxxxB is used to store an audio stream defined by MPEG.
- the streamjd of PES_packetO used to store an elementary stream of an encoding system (for example, ATRAC system), which is not defined in MPEG, is not defined in MPEG, and therefore, The elementary stream of the encoding system defined by G !, na! /, Is stored in PES_packetO simply by specifying streamjd, like the video stream and audio stream defined by MPEG. I can't.
- PES_packet_data_byte of PES_packetO of private_stream_l is extended to store an elementary stream of the coded format defined by MPEG.
- the extended PES_packet_data_byte of the PES_packetO of the private_stream_l is used as private-streaml- PES-payloadO.
- FIG. 21 shows the syntax of private_streaml_PES_payloadO.
- private—streaml—PES—payloadO is composed of private—headerO and private—payloadO.
- private—PayloadO stores an elementary stream of the encoding system not defined by MPEG, such as an ATRAC audio stream, an LPCM audio stream, and a subtitle stream.
- Private_stream_id (8 bits) is placed at the head of private_header ().
- private_stream_id is identification information for identifying an elementary stream stored in private_payload0, and has, for example, the following values according to its attribute (type).
- FIG. 22 shows the relationship between the value of private_stream_id and the attribute of the elementary stream stored in private_payload0.
- the private-stream-id of the private-streaml- PES-payloadO in which the ATRAC audio stream is stored in private_payload () is OOOOxxxxB.
- the lower 4 bits xxxx of OOOOxxxx B are the audio stream number that distinguishes the ATRAC audio stream, and the program stream (MPEG2_Program_Stream ()) is a number that can be distinguished by this audio stream number.
- MPEG2_Program_Stream () is a number that can be distinguished by this audio stream number.
- the private_streaml_id of the private_streaml_PES_payloadO stored in the LPCM audio stream power ⁇ private_payloadO is 000 ⁇ xxxxB.
- the private_stream_id of private_stream l_PES_payload () in which the subtitle stream is stored in private_payloadO is lOOxxxxxB.
- private-streaml-PES-payloadO in private-streaml-PES-payloadO, the element following private-stream-id has a different content depending on the attribute of the elementary stream stored in private_payload0.
- the attribute of the elementary stream stored in private_payload0 is determined by private_stream_id at the head of private_header ().
- AU_locator indicates the head position of the audio access unit (ATRAC audio access unit) (audio frame) of the ATRAC audio stream stored in private_payload0 with reference to the position immediately after the AUJocator. If there is no audio access unit in private_payload0, for example, OxFFFF is described in AlUocator.
- fs_flag indicates the sampling frequency of the LPCM audio stream stored in private_payload0. That is, for example, if the sampling frequency is 48KHz, fsjkg is set to 0. If the sampling frequency is 44. ⁇ , fsjlag is set to 1.
- ch_flag indicates the number of channels of the LPCM audio stream stored in private_payload (). For example, if the LPCM audio stream is monaural, ch_flag is set to 1 and LPC
- chjlag is set to 2.
- the AUJocator indicates the head position of the audio access unit (LPCM audio access unit) (audio frame) of the LPCM audio stream stored in private_payload () with reference to the position immediately after the AU_locator. If no audio access unit exists in private_payloadO, for example, OxFFFF is described in AU_locator.
- AU_locator indicates the head position of the subtitle access unit of the subtitle stream stored in private_payload0 with reference to the position immediately after the AU_locator.
- AU_locator indicates the head position of the subtitle access unit of the subtitle stream stored in private_payload0 with reference to the position immediately after the AU_locator.
- FIG. 23 shows the syntax of private_stream2_PES_payload ().
- PES_packet0 of private_stream_2 is arranged immediately before a decoding start possible point in the video stream. Therefore, in the present embodiment, if PES_packet () of private_stream_2 is found from the program stream, the video stream decoding immediately after that can be started.
- RPN_EP_start of EP_map0 in Fig. 14 indicates the start position of PES_packet0 of private_stream_2 for the video stream.
- private_stream2_PES_pavloadO starts with reserved_for JUture_use for future expansion. (8 bits), followed by video_stream_id (8 bits), lstRef_picture (16 bits), 2n dRef—picture (16h, 3dRef—picture (16 hits), 4thRef—picture (16t, /), au — infor mationO, and VBlO are arranged sequentially.
- the streamjd of the PES_packetO of the video stream arranged immediately after the PES_packet () of the private_stream_2 is described.
- the private-stream-2 PE3 ⁇ 4-packetO private-stream2-PE3 ⁇ 4-payload ()] [video stream that is decoded using the information contained in this thread is stored. PES_packetO) is specified.
- IstRef— picture, 2ndRef— picture, jrdRef— picture, 4tnRef— picture is from PES_packet () of private_stream_2 to PES_packet () of next private_stream_2 of the video stream identified by video— stream— id.
- the relative position of the last pac k0 including the first, second, third, and fourth reference images.
- the details of lstRef_picture, 2ndRef_picture, 3rdRef_picture, and 4thRef_picture are disclosed in, for example, Japanese Unexamined Patent Application Publication No. 09-46712 (Japanese Patent Application No. 07-212420) as bytes_to_first_P_pic bytes_to_second_P_pic.
- au-informationO information on the video access unit in the video stream from PES-packet0 of private-stream-2 to PES_packet0 of the next private-stream-2 is described. Details of aujnformationO will be described later with reference to FIG.
- VBI0 is used to describe Closed Caption information.
- FIG. 24 shows the syntax of aujnformationO in FIG.
- Length (16 bits) is placed at the beginning of aujnformationO.
- length represents the au-informationO service that includes it.
- length [reserved] reserved—for—word—alignment (8 bits), and number—of—access—unit (8 bits). reserved—for—word— The alignment is used to take word lines.
- number_of_access_unit is the number of video access units (pictures) included from PES_packet0 of private_stream_2 containing it to PES_packet () of the next private_stream_2. Represents a number.
- the private-stream2-PES-payloadO of FIG. The access unit (picture) included in the video stream indicated by video_s treamjd from the informatnioO force to the time immediately before the next aujnformationO (or to the end of the clip stream file if this aujnfromationO is the last aujnformationO in the clip stream file) Indicates the number of
- the number of the number-of-access-unit is seven.
- the information (information about the video access unit) arranged in the for loop is as follows.
- pic_struct_copy when the video stream is MPEG4-AVC (ISO / IEC 14496-10), defined in ISO / IEC 14496-10, D.2.2 set for the corresponding video access unit A copy of pic_struct () is described.
- pic_struct () is information indicating, for example, displaying a picture as a frame, or displaying a top field of a picture, and then displaying a bottom field.
- au_ref_flag represents whether or not the corresponding access unit power is a reference image which is referred to when decoding another access unit (picture of), and is set to 1 if the reference image is used, and is set to 1 if the reference image is used. Otherwise, it is set to 0.
- AUJength represents the size of the corresponding access unit in bytes.
- FIGS. 25 to 28 show specific examples of the above-described format data recorded on the disk 101 of FIG.
- MPEG2_Video is adopted as the video stream
- the ATRAC audio stream is used as one stream.
- the video stream and the audio stream are not limited to these. That is, for example, MPEG4-Visual or MPEG4-AVC can be adopted as the video stream.
- MPEG4-Visual or MPEG4-AVC can be adopted as the video stream.
- MPEG1 / 2/4 audio, LPCM audio stream, or the like can be adopted as the audio stream.
- a subtitle stream is not always subjected to continuous decoding (display) at the same interval. That is, the subtitle stream is sometimes supplied from the buffer control module 215 of FIG. 2 to the subtitle decoder control module 218 and decoded.
- FIG. 25 to FIG. 28 show three clip information files “00001. CLP”, “00002.CLP”, and “00003.CLP” in the “CLIP” directory on the disc 101 as shown in FIG. Are recorded in the "STREAM” directory, and the three clip stream files "00001.PS” and "00001.PS” corresponding to the three clip information files "00001. CLP”, “00002. CLP”, and “00003.CLP”, respectively.
- 00002.PS "and” 00003.PS are recorded, such as” PLAYLIST.DAT ⁇ file, TIP information file "00001. CLP”, “00002.CLP”, and "00003.CLP” A specific example is shown.
- FIG. 25 shows a specific example of the “PLAYLIST.DAT ⁇ file described with reference to FIG.
- number_of_PlayLists is 2, and therefore, the number of PlayListOs included in the “PLAYLIST.DAT” file is 2.
- the first of the two PlayListOs is described as PlayList # 0, and the second as PlayList # 1.
- PlayList # 0 which is the first PlayListO
- capture_enable_flag_PlayList is 1, and therefore secondary use of video data reproduced according to PlayList # 0 is permitted.
- number_of_PlayItems is 2, and therefore, the number of PlayltemOs included in PlayList # 0 is 2.
- FIG. 25 specific examples of PlayItem # 0 and Playltem # l, which are the two Playltems O, are described below the column “PlayList # 0”.
- Playltem # l which is the second PlayltemO included in PlayList # 0
- Clip_Information_file_name described in FIG. 6 becomes "00002.CLP”
- In_time becomes 90,000
- OUT_time becomes 27,090,00 00, respectively.
- the clip played by Playltem # l of PlayList # 0 is a clip stream file "0000" corresponding to the clip information file "00002. CLP".
- PlayList # 1 which is the second PlayListO! /
- the capture.enable_flag_PlayList is 0, and therefore, playback according to PlayList # 1 Secondary use of video data is not permitted (prohibited).
- number_of_PlayItems is 1, and therefore, the number of PlayltemOs included in PlayList # 1 is 1.
- FIG. 25 a specific example of PlayItem # 0, which is one PlayltemO, is described below the column of “PlayList # l”.
- PlayItem # 0 which is one PlayltemO included in PlayList # 1
- the ClipJ nformation— file—name described in FIG. 6 is “00003.CLP”
- the In—time is 90,000
- the OUT—time is 81 , 090,000, respectively. Therefore, the clip reproduced by PlayItem # 0 of PlayList # 1 is from time 90,000 to time 81,090,000 of the clip stream file "00003.PS #" corresponding to the clip information file "00003.CLP”.
- FIG. 26 shows a specific example of the clip information file ClipO described in FIG.
- FIG. 26 shows a specific example of the clip information files “00001. CLP”, “00002. CLP”, and “00003.CLP” in FIG.
- the presentation_start_time is 90,000 and the presentation_end_time is 27,990,000. Therefore, according to the program stream stored in the clip stream file “00001.PS” corresponding to the clip information file “00001.CLP”, the content of 310 seconds ((27,990,000-90,000) / 90 kHz) is used. Is available.
- capture_enable_flag_Clip is set to 1, and therefore, a clip stream file "00001.PS" corresponding to the clip information file "00001.CLP".
- the secondary use of the video stream (video data corresponding to) multiplexed with the program stream stored in "" is permitted.
- the number_of_streams of the clip information file "00001.CLP" is 4, and accordingly, the program stream stored in the corresponding clip stream file "00001.PS” includes four streams.
- Elementary streams are multiplexed! /
- the streamjd is OxEO, and therefore, this elementary stream stream # 0 is shown in Figs. As described in (or FIG. 11), it is a video stream.
- the private_stream_id is irrelevant for the video stream as described above, but is 0x00 in FIG.
- the picture_size of the StaticInfoO (Fig. 12) included in the StreamlnfoO is "720X480".
- the frame_rate is set to '29 .97Hz 'and the cc_flag is set to' Yes'. Therefore, this video stream stream # 0 is 720 ⁇ 480 pixel video data having a frame cycle of 29.97 Hz, and further includes closed caption data.
- this elementary stream stream # l is an ATRAC audio stream as described with reference to FIGS. 20 and 22.
- this elementary stream stream # 2 is a caption stream as described with reference to FIGS.
- this subtitle stream stream # 2 is Japanese subtitle data, and it is permitted to change the display method, and it is prohibited (prohibited).
- Private_stream_id is 0x80 and 0x81.
- this subtitle stream stream # 3 is Japanese subtitle data, and its display method is permitted to be changed.
- capture_enable_flag_Clip is 0, and accordingly, the capture_enable_flag_Clip is stored in the clip stream file "00002.PS" corresponding to the clip information file "00002.CLP". Secondary use of video streams (video data corresponding to) multiplexed with the program stream is not permitted (prohibited).
- the number_of_streams of the clip information file "00002.CLP" is 4, and therefore, the program stream stored in the corresponding clip stream file "00002.PS" As in the case of the clip stream file “00001.PS”, four elementary streams are multiplexed.
- the contents of the StreamlnfoO of the first to fourth elementary streams stream # 0 to # 3 of the clip stream file "00002.PS" are the clip stream file "00001.PS”.
- the first elementary stream stream # 0 of the clip stream file “00002.PS” is the same as the contents of the first to fourth elementary streams stream # 0 to stream # 3 of the respective streams.
- the second elementary stream, stream # l is an ATRAC audio stream.
- the third elementary stream stream # 2 and the fourth elementary stream stream # 3 are both subtitle streams.
- the presentation start_time power is set to ⁇ 0,000 and the presentation_end_time is set to 81,090,000. Therefore, according to the program stream stored in the clip stream file "00003.PS" corresponding to the clip information file "00003.CLP", the content of 900 seconds ((81,090,000-90,000) / 90 kHz) is available. It is.
- capture_enable_flag_Clip is set to 1 in the clip information file "00003.CLP", and therefore, the clip stream file "00003.PS” corresponding to the clip information file "00003.CLP".
- the secondary use of the video stream multiplexed with the program stream stored in "" is permitted.
- the streamjd is OxEO, and therefore, this elementary stream stream # 0 is shown in Figs. As described in (or FIG. 11), it is a video stream. As in the case of the first elementary stream stream # 0 of the clip stream file “00001.PS”, the stream becomes private-stream- ⁇ [0x00].
- the picture_size of the StaticInfoO (Fig. 12) included in the StreamlnfoO is "720X480".
- frame_rate is set to '29 .97Hz 'and cc_flag is set to' No '. Therefore, this video stream stream # 0 is 720 ⁇ 480 pixel video data having a frame period of 29.97 Hz, and does not include closed caption data.
- the number_of_Dynamidnfo of StreamlnfoO (FIG. 10) is 2, and StreamlnfoO describes two sets of pts_change_point and DynamicInfoO!
- the streamjd is OxEl, and therefore, this elementary stream stream # 1 is shown in Figs. As described in 22 (or FIG. 11), it is a video stream. Note that, in order to distinguish the video stream stream # 0 as the first elementary stream of the clip stream file “00003.PS” from the video stream strea m # l as the second elementary stream, Streamjd is OxEO and OxEl. Also, like the first elementary stream stream # 0 of the clip stream file "00001.PS", the stream becomes private-stream- ⁇ [0x00].
- the video stream stream # l which is the second elementary stream of the clip stream file “00003.PS”
- picture_size, frame.rate, cc_flag of StaticInfoO (Fig. 12) included in the StreamlnfoO Are the same as those for the video stream stream # 0, which is the first elementary stream. Therefore, clip stream fire
- the video stream stream # l which is the second elementary stream of the file “00003.PS”, is video data of 720 ⁇ 480 pixels with a frame period of 29.97 Hz, and further includes closed caption data.
- this elementary stream stream # 2 is an ATRAC audio stream as described with reference to FIGS.
- the audio-language of the StaticlnfoO (Fig. 12) included in the StreamlnfoO — Code, channel—configuration, lfe—existence, sampling—frequency are the same as those of the ATRAC audio stream stream # 1, which is the second elementary stream of the clip stream file “00001.PS”. Therefore, the ATRAC audio stream stream # 2 which is the third elementary stream of the clip stream file "00003.PS" is Japanese and stereo audio data.
- a low-frequency emphasis channel is not included, and the sampling frequency is 48 kHz.
- the ATRAC audio stream stream # 2 which is the third elementary stream of the clip stream file "00003.PS" is referred to as number-of-DynamicInfo ⁇ of StreamlnfoO (FIG. 10).
- StreamlnfoO three sets of pts-cnange-point and DynamicInfoO are described.
- FIG. 27 shows a specific example of EP_map () in the clip information file ClipO described in FIG. That is, FIG. 27 shows a specific example of EPjnapO of FIG. 14 in the clip information file “00001.CLP” of FIG.
- EP_mapO in Fig. 27, streamjd is OxEO. Therefore, as described in FIGS. 20 and 22, EP_map () contains information on decoding start possible points (PTS_EP_start and RPN_EP_start art (FIG. 14) for the video stream specified by streamjd of OxEO. )) Is described. That is, FIG. 27 shows EP_map0 of the clip information file “00001.CLP”.
- the elementary stream whose streamxd is OxEO is As described with reference to FIG. 26, the first video stream stream # 0 of the clip stream file “00001. CLP”, the information described in EPjnapO in FIG. PTS_EP_start and RPN_EP_start, which are the decoding start possible points.
- private_stream_id is 0x00. If streamjd represents a video stream, private_stream_id is irrelevant (ignored) as described above.
- Fig. 28 shows a specific example of PlayListMarkO in PlayList # 0 and PlayList # 1 (PlayListO in Fig. 5) described in Fig. 25.
- Fig. 28 shows PlayListMarkO (Fig. 7) of PlayList # 0!
- Mark # 0 which is the first MarkO of the seven MarkOs included in PlayList # 0 has a mark Chapter (Fig. 7) of "Chapter". It is a chapter mark. Further, since Mark_0 has o_PlayItem_id (FIG. 7) of 0, it belongs to PlayItem # 0 of the two PlayItems # 0 and # 1 of FIG. 25 included in PlayList # 0. Mark # 0 is a mark on the time (reproduction time) 180,090 of the clip stream file reproduced by PlayItem # 0 included in PlayList # 0 since mark_time_stamp is 180,090. In addition, Mark # 0 is entry-ES-stream-id and entry-ES-private-stream-id Is also 0, and is not associated with any elementary stream. Mark_0 represents a chapter with a number of 1 because mark_data is 1.
- the clip stream file reproduced by PlayItem # 0 included in PlayList # 0 is identified from "00001. CLP" described in Clip_Infomation_file_name of PlayItem # 0 described in FIG. Therefore, the above-mentioned time 180,090 represented by the mark_time_stamp of Mark # 0 is the time of the clip stream file “00001.PS”.
- Mark # 4 which is the fifth MarkO among the seven MarkOs included in PlayList # 0 is a chapter mark similar to the first Mark # 0.
- Mark # 4 which is the fifth MarkO, is a chapter mark because markjpe (Fig. 7) is "Chapter". Further, Mark # 4 is a replay o_PlayItem_id (FIG. 7), and therefore belongs to Playltem # l of the two PlayItems # 0 and # 1 of FIG. 25 included in PlayList # 0. Also, since Mark_time_stamp is 90,000 for Mark # 4, it is indicated by a mark on time 90,000 of the clip stream file reproduced by Playltem # l included in PlayList # 0. In addition, Mark # 4 is also associated with entry-ES-stream-id and entry-ES-private-stream-id, and the deviation is also 0! /, So V is also associated with the deviation elementary stream. !/,Absent. Mark # 4 has a mark_data of 2, and thus represents a chapter with a number of 2.
- the clip stream file reproduced by Playltem # l included in PlayList # 0 is specified from "00002.CLP" described in Clip_Infomation_file_name of Playltem # l described in FIG. Therefore, the time 90,000 described above, which is represented by the mark_time_stamp of Mark # 4, is the time of the clip stream file "00002.PS".
- Mark # l which is the second MarkO of the seven MarkOs included in PlayList # 0 has "Index" in markj pe (Fig. 7). It is an index mark. Further, since Mark_l has o_PlayItem_id (FIG. 7) of 0, it belongs to PlayItem # 0 among the two PlayItems # 0 and # 1 of FIG. 25 included in PlayList # 0. Mark_l is mark on time 5,580,090 of the clip stream file reproduced by Playltem # 0 included in PlayList # 0 because mark_time_stamp is 5,580,090. Further , Mark # l [entry-ES-stream-id and entry-ES-private-stream-id], and the deviation is also 0, so it is not associated with any elementary stream. Mark_l has an index of 1 because mark_data is 1.
- the clip stream file reproduced by PlayItem # 0 included in PlayList # 0 is the clip stream file "00001.PS" as described above, and therefore, the mark_time_stamp of Mark #l is The above described times 5, 580, 090 are times of the clip stream file “00001.PS”.
- Mark # 3 which is the fourth MarkO of the seven MarkOs included in PlayList # 0 is markj pe (FIG. 7) because the force is S'Event '. , An event mark. Further, since Mark # 3 has a power o_PlayItem_id (FIG. 7), it belongs to PlayItem # 0 of the two PlayItems # 0 and # 1 of FIG. 25 included in PlayList # 0. Mark_3 is a mark on time 16,380,090 of the clip stream file reproduced by Playltem # 0 included in PlayList # 0 because mark_time_stamp is 16,380,090.
- Markftji and entry-ES-stream-id and entry-ES-private-stream-id3 ⁇ 4 and CH are different, they are not associated with any elementary stream.
- Mark # 3 since mark_data is 0, an event with 0 as an argument is generated.
- the clip stream file reproduced by PlayItem # 0 included in PlayList # 0 is the clip stream file "00001.PS" as described above, and therefore, the mark_time_stamp of Mark # 3 is The times 16,380,090 described above are the times of the clip stream file “00001.PS”.
- FIG. 28 shows PlayListMarkO (FIG. 7) of PlayList # l.
- Mark # 0 which is the first MarkO of the three MarkOs included in PlayList # l, has a mark Chapter (Fig. 7) of "Chapter", , The chapter mark. Further, Mark_0 belongs to one PlayItem # 0 in FIG. 25 included in PlayList # l because o_PlayItem_id (FIG. 7) is 0. Mark # 0 is a mark on time 90,000 of the clip stream file reproduced by PlayItem # 0 included in PlayList # l because mark_time_stamp is 90,000. In addition, since Mark_0 has entry_ES_stream_id and entry_ES_private_stream_id with a deviation of 0, V is not associated with the elementary stream of V or deviation. Mark_0 represents a chapter with a number of 0 because mark_data is 0.
- the clip stream file reproduced by PlayItem # 0 included in PlayList # l is "00003.CLP" described in Clip_Infomation_file_name of PlayItem # 0 described in FIG.
- the above-mentioned time 90,000 represented by the mark_time_stamp of Mark # 0 is the time of the clip stream file “00003.PS”.
- Mark # l which is the second MarkO among the three MarkOs included in PlayList # l is markj pe (Fig. 7). It is. Further, Mark_l belongs to one PlayItem # 0 in FIG. 25 included in PlayList # l because o_PlayItem_id (FIG. 7) is 0. Mark_l is a mark on time 27,090,000 of the clip stream file reproduced by PlayItem # 0 included in PlayList # l because mark_time_stamp is 27,090,000.
- streamjd is an elementary stream identified (identified) by OxEO, that is, as described in FIGS. Associated with the stream. Mark_l generates an event with 1 as an argument because mark_data is 1.
- the clip stream file reproduced by PlayItem # 0 included in PlayList # l is the clip stream file "00003.PS" as described above.
- the above-mentioned time 27,090,000 represented by mark_time_stamp of ark # l is the time of the clip stream file ⁇ 00003.PS ⁇ .
- a video stream with a streamjd of OxEO associated with Mark # l is associated with the Mark # 1 and a Clip Jnfomation of PlayItem # 0 included in PlayList # 1 of Fig. 25 to which the Mark # 1 belongs.
- “00003.CLP” described in the name
- the video stream whose stream_id is 0xE0, that is, the clip stream file "00003.PS" specified from the clip information file "00003.CLP" in FIG. Is the first elementary stream (video stream) stream # 0 of the three elementary streams stream # 0 to # 2 multiplexed into the stream.
- Mark # 2 which is the third Mark 0 of the three MarkOs included in PlayList # l becomes markj pe (Fig. 7) as a force S'Event '. This is an event mark.
- Mark # 2 has a ref_to_PlayItem_id (FIG. 7), it belongs to one PlayItem # 0 in FIG. 25 included in PlayList # 1.
- Mark # l is 111 10: ⁇ 6_3 &] 1 ⁇ is 27,54,000, so the mark on time 27,540,000 of the clip stream file played by PlayItem # 0 included in PlayList # l is there.
- streamjd is an elementary stream identified (identified) by OxEl, that is, as described in FIGS. 20 and 22, Associated with the video stream.
- mark_data is 2, an event with 2 as an argument is generated.
- the clip stream file reproduced by PlayItem # 0 included in PlayList # l is the clip stream file "00003.PS" as described above.
- the time 27,540,000 described above is the time of the clip stream file “00003.PS”.
- a video stream having stream # d of OxEl associated with Mark # 2 is a ClipJnfomation-file of PlayItem # 0 included in PlayList # 1 of Fig. 25 to which the Mark # 2 belongs.
- Streamjd described in “00003.CLP” described in name is an OxEl video stream, that is, a clip stream file “00003.PS” recognized from the clip information file “00003.CLP” in FIG. Is the second elementary stream (video stream) stream # l among the three elementary streams stream # 0 to # 2 multiplexed into the stream.
- the time from the beginning of PlayltemO to which Mark () belongs is shown on the right side outside the column of the PlayListMarkO list of PlayList # l.
- the number of the chapter index indicated by the chapter mark or the index mark is different from the number of the chapter index indicated by the mark mark_data in the mark_data. For example, it can be recognized by counting the number of chapter marks and index marks in PlayList MarkO.
- FIG. 29 is a flowchart illustrating the pre-reproduction processing performed by the video content reproduction program 210.
- the operation or processing of the disk device described with reference to the flowchart is not necessarily required to be performed in chronological order in the order described in the flowchart, but may be performed in parallel or individually. However, in this specification, for convenience, the operation or processing of the disk device will be described along a flowchart.
- step S101 the video content playback program 210 checks the disc 101 using the file system function of the operating system 201, and checks whether the disc 101 has a normal Determine whether the disc is a disc.
- step S101 when it is determined that the disk 101 is not a normal disk, that is, for example, the file system power used for the disk 101 corresponds to the! /, Na! /, Type of the operating system 201. If it is found, or if the 'VIDEO' directory is placed in the root directory, and if not, the video content playback program 210 determines that the disc 101 is not supported, the process proceeds to step S102, and the graphics processing module 219 , Perform error processing, and end the pre-playback processing.
- the graphics processing module 219 generates an error message (video data of) that the disk 101 is not normal and outputs the output of the video output module 220 as an error processing, thereby displaying the error message.
- the error processing for example, it is possible to output a warning sound from the audio output module 221 or discharge the disc 101 from the disc drive 102.
- step S101 determines whether the disc 101 is a normal disc. If it is determined in step S101 that the disc 101 is a normal disc, the process proceeds to step S103, where the video content playback program 210 sends the operating system 201
- the two data files, the "SCRIPT.DAT” file and the "PLAYLIST.DAT” file, are requested and read in the "VIDEO" directory of the disk 101 (FIG. 4), and the process proceeds to step S104.
- step S104 the "SCRIPT.DAT” file power is supplied to the script control module 211, and the "PLAYLIST.DAT” file power is supplied to the player control module 212.
- step S104 proceeds from step S104 to steps S105 to S107, and the player control module 212 performs an initialization process.
- the script control module 211 waits until the initialization processing of the player control module 212 ends.
- step S105 the player control module 212 power "PLA
- the "PLAYLIST.DAT" file is as shown in FIG. Since the number_of_PlayLists is 2 in the “PLAYLIST.DAT” file of FIG. 25, the player control module 212 has two PlayListOs, the first PlayList # 0 and the second PlayList # l. Recognize that there is. Furthermore, since the number_of_Playltems of the first PlayList # 0 in the “PLAYLIST.DAT” file in FIG. 25 is 2, the player control module 212 includes the first PlayItem # 0 in the PlayList # 0. It recognizes that there are two PlayltemOs, and a second Playltem # l.
- the player control module 212 refers to the Clip_Information_file_name of each of the first PlayItem # 0 and the second Playltem # l included in PlayList # 0 in the “PLAYLIST.DAT” file of FIG. It recognizes that the clip information file (file name) of the first PlayItem # 0 included in 0 is “00001. CLP” and the clip information file power of the second PlayItem # 1 is 00002.CLP ”.
- the player control module 212 also performs the same for the second PlayList # l, since its number_of_PlayItems is 1, there is one PlayltemO (PlayItem # 0), and further, It recognizes from the Clip_Information_file_name in that the clip information file of that PlayItem # 0 is “00003.CLP”.
- step S105 the player control module 212 executes the clip information file recognized in step S105, that is, the "CLIP” directory in the "VID EO” directory of the disc 101. Loads three clip information files "00001.CLP”, "00002. CLP”, and "00003. CLP".
- step S106 the reading of the clip information file in step S106 is performed only with the clip information file of the Playltem of the P1 ayListO that is played first.
- the clip information file of PlayltemO of PlayListO is pre-read.
- step S107 the player control module 212 determines whether or not the force has succeeded in reading the clip information file recognized in step S105. It is determined (checked) whether or not the corresponding clip stream filler disk 101 exists. That is, in step S107, the clip information files "00001. CLP”, “00002. CLP”, and “00003. CLP” are read. The clip information files "00001.CLP”, “00002.CLP”, “00003.CLP”, and the clip stream files "00001.PS”, "00” It is determined whether “002.PS” and “00003.PS” exist in the “STREAM” directory under the “VIDEO” directory on the disk 101.
- step S107 it is determined that the reading of the clip information file recognized in step S105 has failed, or that the clip stream file corresponding to the clip information file does not exist in the disc 101. In other words, if the clip information file or clip stream file required for playback according to the “PLAY LIST.DAT” file is not recorded on the disc 101, the video content playback program 210 If it is determined that they do not correspond, the process proceeds to step S102, the above-described error process is performed, and the pre-playback process ends.
- step S107 if it is determined in step S107 that the clip information file recognized in step S105 has been successfully read and that a clip stream file corresponding to the clip information file exists on the disc 101, the player The control module 212 ends the initialization processing, and proceeds to step S108.
- step S108 the script control module 211 starts interpreting and executing the "SCRIPT.DAT" file.
- FIG. 30 is a flowchart illustrating the reproduction processing performed by the video content reproduction program 210.
- the player control module 212 performs playback preparation processing of PlayList () instructed to be played back from the script control module 211, that is, the first PlayListO (PlayList # 0). .
- the player control module 212 determines in step S121 that the first PlayList # Check the IN_time of the first PlayItem # 0 included in the first PlayItem # 0 (Fig. 6) and proceed to step S122 to proceed to the clip stream file played by the first PlayItem # 0 included in the first PlayList # 0
- the playback start position corresponding to the IN_time of the PlayItem # 0 on “00001.PS” is checked to start playback.
- the program stream may be read from the beginning of the clip stream file. If it points to something other than the beginning, it is necessary to find (investigate) the position corresponding to IN_time and read the program stream accordingly.
- the IN_time of the first Playltem # 0 included in the first PlayList # 0 is 180,090.
- the player control module 212 Find a playback start position suitable for IN_time of 180,090.
- the player control module 212 performs, for example, a binary search (binary search) or the like of the maximum PTS_EP_start that satisfies the expression PTS_EP_start ⁇ IN_time among the PTS_EP_starts described in EPjnapO and indicating the decoding startable points.
- a binary search binary search
- the search for PTS_EP_start that is equal to or shorter than IN_time is because the position decoding start point represented by IN_time is not always a possible point.
- IN_time is 180,090 as described above.
- the maximum PTS_EP_start that satisfies the expression PTS_EP_start ⁇ IN_time 180,090 is described. Therefore, in the player control module 212, the PTS_EP_start which is 180,090 of the EPjnapO power shown in FIG. 27 is searched.
- 305 which is the RPN_EP_start corresponding to the searched PTS_EP_start, is read out, and a clip stream file represented by the 305, RPN_EP_start "00001. Position on PS "Determined as playback start position Determined.
- the player control module 212 proceeds to step S122 to step S123, and controls the graphics processing module 219 to display the time code.
- the graphics processing module 219 generates (the video data of) the time and the time code controlled by the player control module 212, and outputs the generated video data to the video output module 220. Thus, the display of the time code is started.
- the time code to be displayed in step S123 is, for example, a value obtained by converting the beginning of PlayListO into 00:00:00 (hour: minute: second). Note that the number of the chapter / index may be displayed together with the time code or instead of the time code.
- step S123 After the display of the time code is started in step S123, the process proceeds to step S124, in which the player control module 212 receives the P1 ayListO instructed to play from the script control module 211, that is, the first PlayListO (PlayList # 0). Performs analysis processing to analyze PlayListMarkO (FIG. 7) described in.
- the player control module 212 sets number_of_PlayList_marks to 7 in the PlayListMarkO shown in the upper part of Fig. 28 of the first PlayList # 0 in the "PLAYLIST.DATA" file already read. Therefore, it is recognized that the number of Mark () included in PlayList # 0 is 7.
- the player control module 212 analyzes the seven MarkOs shown in the upper part of Fig. 28 included in PlayList # 0, and from the re-recorded o_PlayItem_id, the four MarkOs from the first to the fourth of the seven MarkOs. One MarkO recognizes that it belongs to the first PlayltemO (PlayItem # 0) of PlayList # 0.
- the player control module 212 extracts the mark_time_stamp of the four MarkOs belonging to the first PlayItem # 0 of PlayList # 0, and passes the mark_time_stamp to the decode control module 214 as an array of the number of elements. That is, by this, the mark_time_stamp of each of the four MarkOs from the first to the fourth of the seven MarkOs in the upper part of FIG. 28 is ⁇ 180,090 ⁇ , ⁇ 5,580,090 ⁇ , ⁇ 10,980,090 ⁇ , ⁇ 16,380,090 ⁇ . The time is transferred from the player control module 212 to the decode control module 214.
- the attribute of these times is "mark processing” Is also transmitted from the player control module 212 to the decode control module 214.
- the decode control module 214 when the time measured by the timer 214A matches the time of the attribute of “mark processing”, a message indicating the fact, and the time of matching the time of the attribute of “mark processing”. , And the attribute of “mark processing” are transmitted to the player control module 212.
- step S125 the process proceeds to step S125 from step S124, and the player control module 212 determines an elementary stream to be reproduced.
- the player control module 212 sends the first PlayList # 0 in the first PlayList # 0, which is the PlayListO instructed to be played back from the script control module 211 (Fig. 25) (the file name is described in DC Since number_of_streams is 4 in the clip information file “00001.CLP” in FIG. 26, four elementary streams are included in the corresponding lip stream file “00001.PS”. Further, the player control module 212 recognizes, in order, the streamjd and the necessary private_stream_id of the StaticInfoO of the clip information file “00001.CLP” in FIG. 26 for the four elementary streams. Investigating, the four elementary streams were converted into one video stream, one ATRAC audio stream, and two subtitle streams. That is, the number of elementary streams of each attribute multiplexed in the clip stream file “00001.PS” is recognized.
- the player control module 212 selects and determines the elementary stream to be reproduced based on the result of the StaticInfoO investigation described above.
- the elementary stream is multiplexed with the clip stream file "00001.PS”.
- Te! /, Ru In the four elementary streams, "Video Since there is only one elementary stream with the attributes “stream” and “audio stream”, the elementary stream with the attributes “video stream” and “audio stream” has only one elementary stream.
- Video stream and audio stream (ATRAC audio stream) are determined as elementary streams to be played.
- each of the four elementary streams is identified.
- the player control module 212 needs to specify the four elementary streams that are multiplexed in the clip stream file "00001.PS", the stream-id and the required private-stream-id. T.
- the player control module 212 generates a video stream that is an elementary stream having the attribute of "video stream” among the four elementary streams multiplexed in the clip stream file "00001.PS". As described for the clip information file “00001.CLP” in FIG. 26, OxEO! /
- the player control module 212 is an elementary stream having an attribute of "audio stream” among the four elementary streams multiplexed into the clip stream file "00001.PS". As described for the clip information file “00001.CLP” in FIG. 26, the ATRAC audio stream is provided with a stream_id of OxBD and a private—stream—id “0x00”.
- the player control module 212 multiplexes the clip stream file "00001.PS" into the two elementary streams having the attribute of "subtitle stream” in the four elementary streams.
- each of the subtitle streams is a stream_id of OxBD and 0x80. , Private_stream_id, OxBD, stream_id, and 0x81, and private_stream_id.
- the elementary stream multiplexed in the clip stream file is specified. be able to.
- the combination of streamjd and private_streamjd is a mechanism provided to extend the multiplexing of the MPEG2-System.
- metadata database
- the meaning of private_stream_id is extended and the number and types (attributes) of the corresponding elementary streams are increased, the current mechanism can be used as it is.
- the sub_stream_id that defines a sub_stream_id similar to the private_stream_id is not allowed to be described on the database to specify the stream. Alternatively, it can only be described in a fixed area describing 32 stream information (for example, VI4-49, Table 4.2.1-2 (VTS-AST—ATRT), VI4-52, Table 4.2 .1-3 (VTS-SPST-ATRT) etc.), poor expandability.
- the number of combinations of streamjd and private_streamjd can be described as many as the number that can be represented by number_of_streams in the clip information file ClipO in Fig. 10, for example.
- the stream elementary streams described in the clip information file ClipO as stre amjd It can be specified from the combination of private_stream_id.
- the combination of streamjd and private_stream_id is multiplexed with the corresponding clip stream file in the clip information file in FIG. Besides being used to specify an elementary stream, for example, it is also used to specify an elementary stream to be associated with PlayListMarkO in FIG. Furthermore, the combination of streamjd and private_streammd is also used to specify an elementary stream that describes the information of the decodable start point, for example, in EPjnapO in FIG.
- step S125 the process proceeds to step S126, in which the player control module 212 performs control processing of the output attribute of the elementary stream to be reproduced, that is, the elementary stream determined to be reproduced in step S125.
- the player control module 212 first sets the output attribute of each of the elementary stream to be played, that is, the video stream, ATRAC audio stream, and subtitle stream determined to be played back in step S125.
- Investigate number_of_DynamicInfo ( Figure 10), which represents the number of DynamicInfoOs ( Figure 13) to be described.
- the video stream, ATRAC audio stream, and subtitle stream to be played back are elementary streams multiplexed in the clip stream file "00001.PS", and their number_of_Dynamidnfo is As described for “00001. CLP” in FIG. 26, all are 0.
- the player control module 212 does not perform any particular processing for controlling the output attribute of the elementary stream to be played. .
- step S126 After the processing of step S126, the process proceeds to step S127, where the player control module 212
- the player control module 212 multiplexes the elementary stream to be played back with the content data supply module 213 to create a clip stream file "0". 0001.
- the player control module 212 starts supplying the program stream stored in the clip stream file "00001.PS" in which the elementary stream to be reproduced is multiplexed to the buffer control module 215. Before starting, the buffer control module 215 is initialized.
- the data head pointer stored in the data head pointer storage unit 231, the data write pointer stored in the data write pointer storage unit 232, and the video read pointer storage are stored.
- the same value is assigned to the video read pointer stored in the unit 241, the audio read pointer stored in the audio read pointer storage unit 251, and the subtitle read pointer stored in the subtitle read pointer storage unit 262.
- the data head pointer stored in the data head pointer storage unit 231 and the data write pointer stored in the data write pointer 232 are located at the same position in the buffer 215A of the knocker control module 215. Point. This indicates that valid data has been accumulated in the buffer 215A, and that the state has not yet been reached.
- the player control module 212 supplies the buffer control module 215 with a stream_id as identification information for identifying (identifying) the elementary stream to be reproduced, and further, as necessary, a private_strea mjd. .
- the video stream having the attribute of "video stream” is specified by the streamjd of OxEO, and the attribute of "audio stream” is specified.
- ATRAC audio stream is identified by OxBD! /, Streamjd, and private_streamjd of 0x00, and the subtitle stream of the attribute of “subtitle stream” is stream jd of OxBD, and Specified by private_s treamjd which is 0x80.
- the player control module 212 supplies these streamjd and private_streamjd to the buffer control module 215.
- the video read function unit 233 outputs the streamjd from the player control module 212 as OxEO for the video stream. Is stored in the streamjd register 242. Also, the audio reading function unit 234 stores the streamjd of OxBD and the private_stream_id of 0x00 from the player control module 212 in the streamjd register 252 and the private_stream_id register 253, respectively. Further, the subtitle reading function unit 235 stores the stream-id of OxBD, the private-stream-id of 0x80, the streamjd register 263 and the private_stream_id register 264 from the player control module 212, respectively.
- the audio reading function unit 234 stores the streamjd of OxBD and the private_stream_id of 0x00 from the player control module 212 in the streamjd register 252 and the private_stream_id register 253, respectively.
- the subtitle reading function unit 235 stores the stream-id of OxBD, the private-stream-id of 0x80, the streamjd register 263
- the player control module 212 stores the streamjd and private_stream_id of the elementary stream to be played back supplied to the buffer control module 215 for future processing.
- the player control module 212 uses these streamjd and private_stream_id when a message requesting a stream switching described later occurs, and for specifying a stream that is currently being reproduced in mark processing described later.
- the player control module 212 initializes the buffer control module 215 (Fig. 3) and further sets a subtitle read function flag of a value corresponding to the clip stream file in which the elementary stream to be reproduced is multiplexed. Is set in the subtitle reading function flag storage unit 261.
- the subtitle reading function unit 235 functions. Therefore, a subtitle reading function flag having a value of 1 is set in the subtitle reading function flag storage unit 261. If the elementary stream to be played back is multiplexed and the subtitle stream is included in the clip stream file, the subtitle read function flag storage unit 261 stores a subtitle read function with a value of 0. The flag is set. In this case, the caption reading function unit 235 does not function (in particular, no processing is performed).
- the player control module 212 has IN_time of 180,090 which is the IN_time of the first Playltem # 0 (FIG. 25) included in the first PlayList # 0 instructed to be reproduced by the script control module 211, Ding_1: ⁇ 6, 27,180,090 is given to the decoding control module 214.
- IN_time is used to control the start of decoding of a clip reproduced by PlayltemO
- OUT_time is used to control the end of decoding of the clip and control of Playltem switching, which will be described later.
- the player control module 212 initializes a subtitle stream display method instruction to the graphics processing module 219. That is, the player control module 212 controls the graphics processing module 219 so that the display method of the subtitle stream is, for example, the default display method.
- step S127 the process proceeds to step S128, in which the player control module 212 controls the content data supply module 213, whereby the content data supply module 213 uses the function of the operating system 201 to perform the elementary playback.
- the content data supply module 213 specifies the clip stream file “00001.PS” in the “STREAM” directory under the “VIDEO” directory on the disk 101 (FIG. 4), and further determines the content in the clip stream file determined in step S122.
- a file read request is issued to the operating system 201 by designating the 305 sector which is the playback start position, and the content data supply module 213 supplies the data read from the disc 101 to the buffer control module 215. To be specified.
- the buffer control module 215 (Fig. 3) writes the program stream read from the disk 101 and supplied to the data write pointer storage unit 232 of the buffer 215A at the position indicated by the data write pointer, and writes the written data.
- the data write pointer is incremented by the size of.
- the content data supply module 213 reads data from the disk 101 if there is free space in the buffer 215A of the knocker control module 215, and stores the data in the buffer 215A of the knocker control module 215. It will be supplied and memorized. Therefore, it is assumed that sufficient data is always stored in the buffer 215A.
- the reading of the data from the disk 101 is started, and the data is read.
- the process proceeds from step S128 to S129, where the decode control module 214 controls the video decoder control module 216, the audio decoder control module 217, and the subtitle decoder control module 218, As a stage prior to the decoding operation, data reading from the buffer 215A is started.
- the video decoder control module 216 requests data from the video reading function unit 233 of the buffer control module 215 (Fig. 3), and the buffer transferred from the buffer control module 215 in response to the request.
- One video access unit stored in the 215A, PTS and DTS added to the video access unit (hereinafter referred to as time stamp as appropriate), and PES_packet () of private_stream_2 placed immediately before the point where decoding can be started ) (Hereinafter referred to as additional information as appropriate), au_ref_flag, AUJength, and the like.
- the time stamp is passed from the video decoder control module 216 to the decode control module 214 each time the video decoder control module 216 obtains a video access unit.
- the audio decoder control module 217 also requests data from the audio reading function unit 234 of the buffer control module 215 (Fig. 3), and stores the data in the buffer 215A passed from the buffer control module 215 in response to the request.
- the other (ATRAC) audio access unit and the time stamp (PTS, DTS) added to the audio access unit are obtained.
- the time stamp is passed from the audio decoder control module 217 to the decode control module 214 each time the audio decoder control module 217 obtains an audio access unit.
- the caption decoder control module 218 requests data from the caption reading function unit 235 of the buffer control module 215 (Fig. 3), and sends the data to the buffer 215A passed from the buffer control module 215 in response to the request.
- One stored subtitle access unit and the time stamp added to the subtitle access unit are obtained.
- the time stamp is passed from the subtitle decoder control module 218 to the decode control module 214 each time the subtitle decoder control module 218 obtains a subtitle access unit.
- no data is passed from the buffer control module 215 to the caption decoder control module 218.
- step S129 where the data is transmitted. Is started.
- the decoding control module 214 provides the IN_time of the first PlayItem # 0 included in PlayList # 0, which is given from the player control module 2 12 in step S127, 180,090, Based on the time stamps passed from the video decoder control module 216, the audio decoder control module 217, and the subtitle decoder control module 218 as described in step S129, the timing is shifted if necessary to ensure synchronization, and decoding is performed. The start is commanded to the video decoder control module 216, the audio decoder control module 217, and the subtitle decoder control module 218.
- the video decoder control module 216 receives the instruction to start decoding from the decode control module 214, and receives the instruction from the video read function unit 233 of the buffer control module 215 (Fig. 3) in response to the instruction.
- One video access unit is passed to a video decoder 116 (FIG. 1) for decoding. Further, the video decoder control module 216 supplies the video data obtained as a result of the decoding by the video decoder 116 to the graphics processing module 219.
- the video decoder control module 216 sequentially decodes one video access unit obtained from the video read function unit 233 of the buffer control module 215 by the video decoder 116, and obtains a video obtained as a result of the decoding.
- the data is supplied to the graphics processing module 219!
- the audio decoder control module 217 also receives the instruction to start decoding from the decode control module 214, and in response to the instruction, also obtains the audio readout function 234 of the knocker control module 215 (Fig. 3).
- One audio access unit is passed to the audio decoder 117 (FIG. 1) for decoding. Further, the audio decoder control module 217 supplies the audio data obtained as a result of the decoding by the audio decoder 117 to the audio output module 221.
- the audio decoder control module 217 sequentially decodes one audio access unit obtained from the audio read function unit 234 of the buffer control module 215 by the audio decoder 117, and outputs audio data obtained as a result of the decoding. Then, supply it to the audio output module 221.
- the subtitle decoder control module 218 receives the instruction to start decoding from the decode control module 214, and obtains from the subtitle reading function unit 235 of the buffer control module 215 (Fig. 3) in response to the instruction.
- One subtitle access unit is decoded by subtitle decoding software contained therein, and subtitle data (subtitle image data) obtained as a result of the decoding is supplied to the graphics processing module 219.
- the subtitle decoder control module 218 has a subtitle access unit obtained from the subtitle reading function unit 235 of the buffer control module 215, and has a subtitle access unit inside. Decode sequentially with the code software, and supply the subtitle data obtained as a result of the decoding to the Dallafix processing module 219!
- step S130 the graphics processing module 219 transmits the video data supplied from the video decoder control module 216 and, if necessary, the subtitle decoder control module 218 as described above. Graphics processing is performed on the supplied subtitle data.
- the graphics processing module 219 first performs subtitle processing for enlarging or reducing subtitle data from the subtitle decoder control module 218 in accordance with a display mode instruction from the player control module 212.
- the graphics processing module 219 stores the caption data from the caption decoder control module 218 as it is.
- the graphics processing module 219 adds the video data from the video decoder control module 216 to the subtitle data from the subtitle decoder control module 218 or the subtitle data after the subtitle processing, and The output video data in which the subtitle data is overlaid on the video data from 216 is obtained and supplied to the video output module 220.
- the graphics processing module 219 receives an instruction to display information such as a menu, a message, a time code, a chapter, or an index number, for example, from the script control module 211 or the player control module 212. If so, the information is generated, overlaid on the output video data, and provided to the video output module 220.
- step S132 the video output module 220 sequentially stores the output video data supplied from the graphics processing module 219 in the FIFO 220A as described in step S131, and stores the output video data in the FIFO 220A.
- the output video data is sequentially output at a predetermined output rate.
- the video output module 220 If there is not enough capacity to receive the output video data from the graphics processing module 219, a request is made to the graphics processing module 219 to stop accepting the output video data. Accordingly, the graphics processing module 219 stops the processing and requests the video decoder control module 216 and the subtitle decoder control module 218 to stop the processing. As a result, the video decoder control module 216 and the subtitle decoder control module 218 stop processing.
- the video output module 220 requests the graphics processing module 219 to stop accepting the output video data
- the output video data output from the FIFO 220A advances, and when the FIFO 220A has room, the output video data is output.
- This request is transmitted from the graphics processing module 219 to the video decoder control module 216 and the subtitle decoder control module 218, similarly to the request to stop accepting the output video data.
- the graphics processing module 219, and further, the video decoder control module 216 and the subtitle decoder control module 218 stop and restart the processing.
- the audio output module 221 also sequentially stores the audio data supplied from the audio decoder control module 217 in the FIF0221A as described in step S130, and stores the audio data stored in the FIF0221A in advance. Outputs sequentially at the determined output rate (sampling frequency).
- the audio output module 221 accepts audio data from the audio decoder control module 217 as long as the storage capacity (remaining capacity) of the FIF0221A has room, but stops accepting audio data if there is no room. To the audio decoder control module 217. As a result, the audio decoder control module 217 stops the processing.
- the audio output module 221 After requesting the audio decoder control module 217 to stop accepting audio data, the audio output module 221 proceeds to output audio data from the FIF0221A, and when the FIF0221A has room, Is requested to the audio decoder control module 217. As a result, the audio decoder control module 217 stops and restarts the process. [0434] As described above, as data is output from the video output module 220 and the audio output module 221, the elementary stream is decoded.
- the reproduction of the first PlayItem # 0 of the first PlayList # 0 in FIG. 25 starts, but according to PlayList # 0, the reproduction of the first PlayItem # 0 starts.
- the playback of the second Playltem # l starts. That is, a Playltem transfer is performed in which the Playltem is transferred from PlayItem # 0 to PlayItem # l.
- the decoding control module 214 (Fig. 2) During the playback of the first PlayItem # 0, the built-in clock unit 214A keeps checking the time when the playback is performed.
- step S151 decoding interruption control is performed, and the reproduction of PlayItem # 0 ends.
- the decode control module 214 operates the video decoder control module 216, the audio decoder control module 217, and the subtitle decoder control module 218 to stop the decoding operation. Further, the decode control module 214 controls the video output module 220 to continue outputting the output video data currently being output.
- the decode control module 214 transmits a message to the effect that the reproduction of the first PlayItem # 0 has been completed to the player control module 212. [0442] "Start playback of PlayItem # l"
- the player control module 212 recognizes that the first PlayList # 0 includes the first PlayItem # 0 and the second Playltem #l in step S105 in FIG.
- the process proceeds to step S151 and step S152, and the reproduction of the second PlayItem # 1 is performed by the above-described first PlayItem # 1. Start as in 0.
- the player control module 212 performs the EP_map for the second Playltem # l in the same manner as in step S122 of FIG.
- One of RPN_EP_start described in () is determined as the playback start position.
- the player control module 212 recognizes the MarkO belonging to the second Playltem # l as described in step S124 in FIG. 30 and performs processing as described in step S125 in FIG. Recognition of the number of elementary streams of each attribute multiplexed in the clip stream file “00002.PS” reproduced by Playltem # l, determination of the elementary stream to be reproduced (to be reproduced), and the like. Done.
- the player control module 212 performs the same processing as in step S127 of FIG.
- the player control module 212 determines the RPN_EP_start of EPjnapO determined as the reproduction start position and the file name of the clip stream file in which the elementary stream to be reproduced is multiplexed, that is, in this case, the second The file name of the clip stream file “00002.PS” corresponding to “00002. CLP” described in Clipjnformation_file_name of Playltem # 1 (FIG. 25) of the content data supply module 213 is provided.
- the player control module 212 starts supplying the program stream stored in the clip stream file "00002.PS" in which the elementary stream to be reproduced is multiplexed to the buffer control module 215. Before starting, the buffer control module 215 is initialized.
- the player control module 212 supplies the buffer control module 215 with a stream_id as identification information for identifying an elementary stream to be reproduced, and further, as necessary, a private_stream_id.
- the video read function unit 233 stores, in the streamjd register 242, the stream jd from the player control module 212 for the video stream among the elementary streams to be reproduced. Let it. Also, the stream-id, private-stream-id, and stream-id registers 252 and private_stream_id registers 253 of the genius streams of the elementary streams to be reproduced from the audio reading function unit 234 , Respectively.
- the subtitle reading function unit 235 Is supplied with the streamjd and private_stream_id of the subtitle stream of the elementary stream to be reproduced, and the subtitle reading function unit 235 outputs the stream— ⁇ and private—stream—id, and the stream— ⁇ lens star 2o3 and private.
- the player control module 212 initializes the buffer control module 215 (Fig. 3), and further sets a subtitle read function flag of a value corresponding to the clip stream file in which the elementary stream to be reproduced is multiplexed. Is set in the subtitle reading function flag storage unit 261.
- the subtitle read function unit 235 functions. Therefore, a subtitle reading function flag having a value of 1 is set in the subtitle reading function flag storage unit 261.
- the player control module 212 transmits the second Playltem # l (see FIG. The IN_time of 25) and the OUT_time of 27,090,000 are given to the decode control module 214.
- the player control module 212 initializes a subtitle stream display method instruction to the graphics processing module 219. That is, the player control module 212 controls the graphics processing module 219 so that the display method of the subtitle stream is the default display method.
- the reproduction of the second Playltem # l is performed in the same manner as the reproduction of the first PlayItem # 0. Then, while the playback of the second Playltem # l is being performed, the decode control module 214 continues to check the time being counted by the built-in timer 214A. If the time becomes equal to 27,090,000 (FIG. 25), which is the OUT_time of the second Playltem # 1 given by the player control module 212 in step S152 (FIG. 31), decoding similar to that in step S151 is performed. The interruption control is performed, and the reproduction of Playltem # l ends.
- the decode control module 214 (Fig. 2) measures the time by the timer unit 214A together with a message indicating that one second has elapsed in step S171.
- the current time is supplied to the player control module 212, and the process proceeds to step S172.
- the player control module 212 receives the message from the decode control module 214 and the current time, converts the current time into a time code, and proceeds to step S173.
- the player control module 212 controls the graphics processing module 219 to display the time code obtained in step S172, and returns to step S171.
- the time code is updated every second.
- the time code update interval is not limited to one second.
- the elementary stream to be reproduced is converted into a plurality of elementary streams having the same attribute.
- Stream switching can be performed to switch from one of the elementary streams to the other.
- the stream switching request is issued, for example, when the stream switching instruction is described as a script program in the "SCRIPT.DAT" file (Fig. 4), the script control module 211 executes the script program. Is given to the player control module 212 by operating the remote controller.
- the script control module 211 executes a script program in which a stream switching instruction is described, the script control module 211 supplies a stream switching request message to the player control module 212.
- the input interface 115 supplies a stream switching request message to the player control module 212.
- step S191 the player control module 212 checks the number of subtitle streams recognized when the playback target elementary stream is determined in step S125 in FIG.
- the process proceeds to steps S192 to S194, and the subtitle stream to be reproduced is switched from the currently reproduced subtitle stream to another subtitle stream.
- step S192 the player control module 212 specifies the currently reproduced subtitle stream on the clip information file. Specifically, for example, the stream jd multiplexed with the clip stream file “00002.PS” by the second Playltem # l constituting the first PlayList # 0 described in FIG. Assuming that a subtitle stream with a private_stream_id of 0x80 is being played back in OxBD, in step S192, the currently playing subtitle stream is divided into two subtitle streams multiplexed into a clip stream file "00002.PS". Among them, stream # 2, which is the third subtitle stream, is specified in the clip information file “00002.CLP” in FIG.
- step S193 the player control module 212 recognizes (specifies) the next subtitle stream in the clip information file of the subtitle stream specified in step S192 as the subtitle stream to be reproduced next.
- the next subtitle stream after the third subtitle stream stream # 2 is the fourth subtitle stream stream # 3.
- First subtitle stream stream # 3 Power Recognized as the next subtitle stream to be played.
- the currently reproduced subtitle stream is the fourth of the two subtitle streams multiplexed to the clip stream file "00002.PS" on the clip information file "00002. CLP" in FIG. If it is specified that the stream is a stream # 3 which is a subtitle stream of, for example, the third subtitle stream stream # 2 is recognized as a subtitle stream to be reproduced next.
- step S194 the player control module 212 proceeds to step S193.
- the streamjd and private_streamjd of the recognized subtitle stream to be reproduced next are provided to the subtitle reading function unit 235 of the buffer control module 215 (FIG. 3), and the streamjd and private_stream_id are supplied to the buffer 215A of the subtitle access unit from the next time. Instruct to use.
- the streamjd and private_stream_id provided from the player control module 212 in step S194 are newly set in the stream_id register 263 and private_stream_id register 264, respectively.
- subsequent reading from the buffer 215A is performed for the subtitle access unit specified by the streamjd newly set in the streamjd register 263 and the private_stream_id register 264, respectively.
- the subtitle stream to be reproduced is switched from the currently reproduced subtitle stream to another subtitle stream.
- the buffer control module 215 has five pointers for reading and writing data from / to the buffer 215A.
- the buffer control module 215 includes a data head pointer stored in the data head pointer storage unit 231, a data write pointer stored in the data write pointer storage unit 232, and a video write pointer. It has a video read pointer stored in the read pointer storage unit 241, an audio read pointer stored in the audio read pointer storage unit 251, and a subtitle read pointer stored in the subtitle read pointer storage unit 262.
- the data head pointer stored in the data head pointer storage unit 231 is the oldest data remaining in the buffer 215A (the data that needs to be read and has not been read yet! , Data).
- the data write pointer stored in the data write pointer storage unit 232 indicates the position of writing data to the buffer 215A, and this position is the position where the newest data is written in the buffer 215A.
- the video read pointer stored in the video read pointer storage unit 241 indicates the position of the video stream from which the buffer 215A is also read.
- the audio read pointer stored in the audio read pointer storage unit 251 indicates the position of the audio stream from which the buffer 215A also reads
- the subtitle read pointer stored in the subtitle read pointer storage unit 262 is read from the knocker 215A. Indicates the position of the subtitle stream.
- the data head pointer, the data write pointer, the video read pointer, the audio read pointer, and the subtitle read pointer all move clockwise in the buffer 215A.
- the data head pointer points to the position of the oldest data among the video read pointer, the audio read pointer, and the subtitle read pointer. It shall always be updated to point to the same location as the one.
- the audio read pointer points to the position of the oldest data
- the data start pointer indicates the audio read pointer. Matches.
- the data write pointer reads new data from the disk 101.
- the data is updated clockwise so as to point to a position immediately after the new data written.
- the video read pointer, the audio read pointer, or the subtitle read pointer is respectively increased by an amount corresponding to the read amount. Is updated clockwise.
- the amount corresponding to the read amount is included between the portion corresponding to the actually read video, audio, and subtitle data and the read data, and the skip is included in the read. Done, combined with the data part of the other stream
- the data head pointer is the oldest of the video read pointer, audio read pointer, or subtitle read pointer. It is updated to point to the same location that points to the data location.
- the buffer control module 215 controls writing of data to the buffer 215A so that the data write pointer does not overtake the data head pointer.
- the buffer control module 215 determines the position of the buffer 215A indicated by the data force data write pointer read from the disk 101. And the data write pointer is updated. On the other hand, when the data write pointer is about to overtake the data head pointer, the buffer control module 215 requests the content data supply module 213 to stop (interrupt) the reading of data from the disk 101, and furthermore, Then, the writing of data to the buffer 215A is stopped. As a result, overflow of the buffer 215A can be prevented.
- writing of data read from the disk 101 to the buffer 215A is controlled only by the positional relationship between the two pointers, the data head pointer and the data write pointer.
- the buffer control module 215 when reading data from the buffer 215A, the buffer control module 215 does not overtake the video read pointer, the audio read pointer, and the subtitle read pointer, and thus the data head pointer data write pointer. Thus, the reading of data from the buffer 215A is controlled.
- the buffer control module 215 causes the video decoder control module 216, the audio decoder control module 217, or the subtitle decoder.
- the required power from the control module 218 is, for example, frozen and waited until sufficient data is prepared. Thus, underflow of the buffer 215A can be prevented.
- the range from the position indicated by the data head pointer to the position indicated by the data write pointer in the clockwise direction is indicated by the buffer 215A (the shaded portions in Figs. 34 and 35).
- the data to be supplied to the video decoder control module 216, the audio decoder control module 217, and the subtitle decoder control module 218 are stored therein, and the video read pointer, the audio read pointer, and the A subtitle read pointer exists.
- the data head pointer is updated so as to point to the position of the oldest data among the positions indicated by the video read pointer, the audio read pointer, or the subtitle read pointer.
- the data head pointer can be updated, for example, to point to the position of data that is a predetermined time (for example, 1 second) from the position of the oldest data. is there.
- the video read pointer, the audio read pointer, and the subtitle read pointer among the video read pointer, the audio read pointer, and the subtitle read pointer often indicate the oldest data position.
- the data head pointer is updated from the oldest data position pointed to by the video read pointer or audio read pointer to, for example, one second worth of past data position, as shown in FIG.
- the position of the oldest data pointed to by the video read pointer or the audio read pointer can be left in the buffer 215A for the past one second.
- the audio read pointer points to the position of the oldest data
- the data head pointer points to the position of the data one second past the position.
- the responsiveness of the disk device can be improved by updating the data head pointer to point to the position of the data one second in the past.
- the data start pointer is updated so as to point to the position of the data one second earlier than the position of the oldest data pointed by the audio read pointer.
- step S127 of FIG. 30 playback of the clip stream file starts.
- the data start pointer, the data write pointer, the video read pointer, the audio read pointer, and the subtitle read pointer are all initialized to point to the same position on the buffer 215A. Be converted to
- the video read function unit 233 analyzes the program stream stored in the buffer 215A, and responds to a request from the video decoder control module 216. , from the stored program string over arm in buffer 215 a, it extracts the video stream (video access unit) (separation) and reads and supplies the bi Dodekoda control module 2 16.
- the audio reading function unit 234 also performs syntax analysis of the program stream stored in the buffer 215A, and responds to a request from the audio decoder control module 217 from the program stream stored in the buffer 215A.
- the audio stream (audio access unit) is extracted and read, and supplied to the audio decoder control module 217.
- the caption reading function unit 235 also analyzes the syntax of the program stream stored in the buffer 215A, and, in response to a request from the caption decoder control module 218, converts the program stream stored in the Access unit) is extracted and read out and supplied to the subtitle decoder control module 218.
- the elementary stream multiplexed with the program stream stored in the clip stream file "00001.PS" is an elementary stream to be played back
- the decoding start described in the EP_map () (FIG. 27) of the clip stream file “00001.PS” can be started in step S122 in FIG. From the point information, 305 sectors are determined as the playback start position. Further, in step S128 in FIG. 30, 305 sectors as the playback start position are designated, and the clip stream file “00001. Reading of the program stream stored in PS "is required.
- the information on the decoding start possible point described in EPjnapO indicates the position of the PES_packetO of private_stream_2 arranged immediately before the actual decoding start possible point.
- step S211 when the PES_packetO of private_stream_2 is found in step S211, the video reading function unit 233 proceeds to step S212, where the PE_packetO of the PES_packetO of the private_stream_2 is a private_stream2_PE3 ⁇ 4—payloadO (
- the video_stream_id is extracted according to FIG. 23, and it is determined whether or not the video_stream_id matches the streamjd of the video stream to be reproduced stored in the streamjd register 242 (FIG. 3) in step S127 of FIG. 30. judge.
- step S212 when it is determined that the video_stream amjd described in private_stream2_PES_payloadO does not match the streamjd stored in the streamjd register 242, that is, the private_stream_2 found in the immediately previous step S211 If the PES_packet () of the program stream is not located at the decoding start point of the video stream to be played back, the process returns to step S211 and returns to another private_str in the program stream stored in the buffer 215A. The search for PES_packetO of eam_2 is performed, and the same processing is repeated thereafter.
- step S212 when it is determined that the value matches the streamjd described in private_stream2_PES_payload () and stored in the video_streamjd force stream jd register 242, that is, the stream If the PES_packet () power of the private_stream_2 is set at the decoding start point of the video stream to be reproduced, the process proceeds to step S213, and the video reading function unit 233 sets the private_stream2—PES of the PES_packetO of the private_stream_2. — Au— informationO described in payloadO is read from the buffer 215A, stored in the aujnformationO register 243 (FIG. 3), and the process proceeds to step S214.
- step S214 the video read function unit 233 checks the PES-packetO (video-stream-id (Fig. 23)) of the private-stream-2 found in the immediately preceding step S211.
- the video read pointer stored in the video read pointer storage unit 231 is updated by the size of PES_packet0 of private_stream_2 that matches the streamjd stored in (FIG. 3).
- step S214 the video read pointer is set to the video read pointer. It is updated to point to the actual decoding start point of the stream.
- step S215 the video readout function unit 233 determines whether or not a request for data has been received from the video decoder control module 216. The same processing is repeated.
- step S215 If it is determined in step S215 that the data request has been received from the video decoder control module 216, the process proceeds to step S216, where the video reading function unit 233 determines the position of the buffer 215A indicated by the video reading pointer. While parsing the powerful program stream, the data of the number of bytes described in the AUJength of aujnformation () stored in the aujnformationO register 243, that is, one video access unit, is read from the Nofa 215A, and the video is read. One video access that feeds the decoder readout module to the decoder control module 216 and also reads out the video read pointer Update by the size of the unit.
- aujnformationO describes number_of_access_unit indicating the number of video access units (pictures) included from PES_packetO of private_stream_2 including it to PES_packetO of the next private_stream_2. Te ru.
- aujnformationO has 7 numbers of of access-units, ti; ⁇ , AU-length, as described in Fig. 24, from PES_packet0 of private_stream_2 containing Since the size of each video access unit of number_of_access_unit included between private_stream_2 and PES_packet0 is shown, the video reading function unit 233 uses the AUJength to access the video stream without parsing the video stream. Knitting can be cut out.
- the program stream stored in the clip stream file is a PES_packet of private_stream_2 in which AUJ ength indicating the size of the video access unit is described immediately before each of one or more actual decoding start points in the video stream of the video access unit.
- the video read function 233 is based on the AU_length described in PES_packet0 of the private_stream_2, and the video access cut (from the buffer 215A that does not perform the parsing of the video stream). Read out the video stream of each unit) and the video decoder control module 21 6 can be supplied.
- step S216 when supplying the video access unit to the video decoder control module 216 in step S216, the video reading function unit 233 is described in aujnformationO as information on the video access unit.
- the pic_struct_copy, au_ref_flag, AUJength, and the time stamp (PTS, DTS) attached to each video access unit are also supplied to the video decoder control module 216.
- step S216 after one video access unit is read from the buffer 215A and supplied to the video decoder control module 216, the process proceeds to step S217, where the video read function unit 233 stores the video access unit in the aujnformationO register 243. It is determined whether or not the number of access units represented by number_of_access_unit of aujnformationO (Fig. 24) has been processed.
- step S217 if the number of access units represented by number_of_access_unit is still processed, and it is determined that the access unit is not available, that is, the number of access units represented by number_of_access_unit is still buffered. If it is not read from 215A and not supplied to the video decoder control module 216, the process returns to step S215, and the same processing is repeated thereafter.
- step S217 if it is determined that the number of access units represented by number_of_access_unit has been processed, that is, the number of access units represented by number_of_access_unit is read from the buffer 215A. If the PES-packetO is supplied to the video decoder control module 216, the process returns to step S211 to search for the next private-stream-2 PES-packetO, and thereafter the same processing is repeated.
- step S230 the audio reading function unit 234 outputs the PES_packet () of the stream_d private_stream_l of the audio stream to be reproduced, which is stored in the streamjd register 252 (FIG. 3) in step S127 of FIG. It is determined whether or not it is represented.
- step S230 when it is determined that the PES_packet0 of the streamjd force private.stream_l stored in the streamjd register 252 is not represented, that is, the streamjd stored in the streamjd register 252 is, as described with reference to FIG.
- the audio stream is assigned to an audio stream encoded according to the MPEG standard
- the process proceeds to step S231, and the audio reading function unit 234 causes the program stream stored in the Search for the synchronization code that indicates the beginning of the audio frame specified by MPEG Audio. Since the position of the synchronization code is at the head of the audio frame, the audio read function unit 234 updates the audio read pointer to indicate the position of the head of the audio frame, and proceeds to step S231.
- step S232 the audio reading function unit 234 determines, in the program stream stored in the buffer 215A, the PES_packet () that matches the streamjd stored in the stream jd register 252, and the position indicated by the audio reading pointer. Search and find out, and proceed to step S233.
- step S233 the audio read function unit 234 determines the audio read pointer stored in the audio read pointer storage unit 251 in the PES_packet_data_byte (Figs. 16 to 18) of the PES_packet () found in the immediately preceding step S232. Point to the beginning. [Change ff and go to step S237.
- step S237 the audio read function unit 234 determines whether or not a data request has been received from the audio decoder control module 217. If it is determined that there is no data request, the process returns to step S237 and repeats the same processing.
- step S237 If it is determined in step S237 that the data request has been received from the audio decoder control module 217, the process proceeds to step S238, where the audio reading function unit 234 causes the buffer 215A to which the audio reading pointer points. While parsing the program stream from the position, one audio access unit of known fixed length is read from the buffer 215A, and the time stamp (PTS, DTS) attached to the audio access unit is read out. Supply to audio decoder control module 217.
- the audio read function unit 234 updates the audio read pointer by the size of one audio access unit read from the buffer 215A, and returns to step S237. Repeated.
- the read function unit 234 searches for and finds PES_packetO of private_stream_l in the program stream stored in the buffer 215A. That is, the audio reading function unit 234 searches for and finds 1 ⁇ 3_ & 011 ⁇ 21: 0 where streamjd is 101111018.
- step S234 if the PE_packet0 of private_stream_l is found, the audio reading function unit 234 proceeds to step S235. withdrawn ⁇ Ru private_stream_id, its private_streamjd is stored in the pri Vate_stream_id register 2 53 at step S 127 of FIG. 30 (FIG. 3), or a semi-IJ constant if it matches the p Rivate_stream_id the playback target audio stream.
- step S235 it is determined that the private_stream_id described in private_streaml_PES_payloadO and the private-stream-id that the private-stream-id considered by the register 25d do not match the private-stream-id.
- the process returns to step S234, and the PES_packetO of another private_stream_l in the program stream stored in the buffer 215A. , And the same processing is repeated thereafter.
- step S235 it is determined that the private_streaml_PES_payload () describes a private_stream-id that is considered in the private_stream-id »and private-stream-id lender 25d described in private_streaml_PES_payload (). If it is performed, that is, if the PES_packet () power of the private_stream_1 found in the previous step S234 is the audio stream to be reproduced, the process proceeds to step S236, and the audio reading function unit 234 outputs the private_streaml_PES_payloadO of the PES_packetO of the private_stream_l.
- the AU_locator described in (FIG. 21) is read from the knowler 215A, and the position immediately after the AU_locator and the value represented by the AU_locator are added to determine the head position of the audio access unit.
- the AU_locator is based on the position immediately after the AU_locator as a reference, and the audio access unit stored in private-payloadO of private-streaml- PES-payloadO Access unit), the audio access unit is added by adding the value indicated by the AlUocator to the position immediately after AU_locator.
- the (absolute) starting position of the knit can be determined.
- step S236 the audio read function unit 234 further updates the audio read pointer stored in the audio read pointer storage unit 251 so as to indicate the head position of the audio access unit obtained as described above. Then, the process proceeds to step S237.
- step S237 the audio reading function unit 234 determines whether or not a data request has been received from the audio decoder control module 217, and if not, returns to step S237 and repeats the same processing.
- step S237 If it is determined in step S237 that the data has been requested by the audio decoder control module 217, the process proceeds to step S238, where the audio read function unit 234 sets the buffer pointed to by the audio read pointer. While parsing the program stream from the position of 215A, one audio access unit of known fixed length is read from buffer 215A and the audio decoder control module is read, along with the time stamp attached to the audio access unit. Supply 217.
- the audio read function unit 234 updates the audio read pointer by the size of one audio access unit read from the buffer 215A, and returns to step S237. Repeated.
- step S251 the subtitle reading function unit 235 determines the subtitle reading function flag stored in the subtitle reading function flag storage unit 261 in step S127 of FIG.
- step S251 when it is determined that the subtitle read function flag is ⁇ , that is, for example, the subtitle stream is not included in the clip stream file in which the elementary stream to be reproduced is multiplexed, and When 0 is set in the subtitle read function flag storage unit 261 in step S127 of 30, the subtitle read function unit 235 does not perform any processing.
- the subtitle read function flag is 1, that is, for example, the subtitle stream is included in the clip stream file in which the elementary stream to be reproduced is multiplexed.
- step S252 the subtitle reading function unit 235 stores the subtitle in the streamjd register 263 (FIG. 3).
- the PES_packetO matching the streamjd of the subtitle stream to be reproduced is searched for the program stream power stored in the buffer 215A.
- the streamjd register 263 (Fig. 3) stores the streamjd of the subtitle stream to be reproduced.
- the streamjd of the subtitle stream is described in Fig. 20.
- step S252 PES_packetO of private_stream_l in the program stream stored in the buffer 215A is searched.
- step S252 a search for the PES_packetO of the private_stream_l is performed, and if PES_packet () of the private_stream_l is found, the process proceeds to step S253, where the subtitle reading function unit 235 sets the PE3 ⁇ 4 of the private_stream-1 to —PES of packetO—packet—data—byte private—stream_ml_PES_payloadO (FIG. 21) is extracted and the private_stream_id is stored in private_stream_id register 264 (FIG. 3) in step S127 of FIG. The subtitle stream to be reproduced matches the private_stream_id.
- step S253 if it is determined that the private_st_reamjd and private_stream_id described in private_streaml_PES_payloadO do not match the private_stream_id considered by the register 264, that is, it is found in the previous step S252. If the PES_packetO of private_stream_l is not the subtitle stream to be played back, return to step S252 to search for the PES_packetO of another private_stream_l in the program stream stored in the buffer 215A, and thereafter, the same processing is repeated. .
- step S253 if the private_streaml_id and private_streaml_id described in private_streaml_PES_payload () match the private_stream-id If it is determined, that is, the private_stream_l If PES_packetO is the subtitle stream to be played, the process proceeds to step S254, and the subtitle read function unit 235 reads the AU_locator described in private_streaml_PES_payloadO (FIG. 21) of PES_packetO of the private_stream_l from the buffer 215A, and reads the AUJocator.
- the head position of the subtitle access unit is obtained by calculating the position immediately after the subtitle and the value represented by the AU_locator.
- the AU_locator indicates the head position of the subtitle access unit (or audio access unit) stored in private_payload0 of private_streaml_PES_payloadO with reference to the position immediately after the AU_locator.
- the AlUocator By adding the value indicated by the AlUocator to the position immediately after the, the (absolute) head position of the subtitle access unit can be obtained.
- step S254 the subtitle read function unit 235 further stores the subtitle read pointer stored in the subtitle read pointer storage unit 262 so as to point to the head position of the subtitle access unit obtained as described above. Update and proceed to step S255.
- step S255 the subtitle reading function unit 235 determines whether or not there is a request for data from the subtitle decoder control module 218. If not, the process returns to step S255 and the same processing is performed. repeat.
- step S255 when it is determined from the subtitle decoder control module 218 that the request for data has been made, the process proceeds to step S256, where the subtitle reading function unit 235 sets the buffer pointed to by the subtitle reading pointer.
- the subtitle access unit of the size described at the head of the subtitle access unit is read from the buffer 215A, and the time stamp added to the subtitle access unit is read.
- the data is supplied to the subtitle decoder control module 218. That is, the size of the subtitle access unit is described at the beginning of the subtitle access unit, as described in FIG. 2, and the subtitle read function unit 235 points data of the size to the subtitle read pointer.
- the subtitle access unit, which is the read data is also supplied to the subtitle decoder control module 218 together with the time stamp attached to the subtitle access unit.
- the subtitle reading function unit 235 reads one subtitle file read from the Knofer 215A.
- the subtitle read pointer is updated by the size of the access unit, the process returns to step S255, and the same processing is repeated thereafter.
- the decode control module 214 starts the decoding by shifting the timing if necessary to ensure synchronization, and starts the decoding of the video decoder control module 216 and the audio decoder control module 217. For example, depending on the progress of the decoding process of the video decoder 116 and the audio decoder 117, the video data output and the video data are output in synchronization with the subtitle decoder control module 218. The output of audio data as power data to be output may be shifted.
- the decode control module 214 corrects the difference between the output of the video data and the output of the audio data to be output in synchronization with the video data, and synchronizes the video data with the audio data. A resynchronization process is performed to output the data.
- step S271 the decode control module 214 checks the time stamp of the video access unit from the video decoder control module 216 and the time stamp of the audio access unit from the audio control module 217. It is determined whether or not the deviation from is large.
- Supply module 214 each time the audio control module 217 obtains an audio access unit from the buffer control module 215, it supplies the time stamp of the audio access unit to the decode control module 214.
- step S271 the decode control module 214 sends the video decoder control module
- the time stamps supplied from each of the audio control module 217 and the audio control module 217 at the same timing are compared, and the time stamps are greatly shifted. Is determined.
- step S271 it is determined that the difference between the time stamp of the video access unit from the video decoder control module 216 and the time stamp of the audio access unit from the audio control module 217 is not large. That is, the difference between the time stamp of the video access unit and the time stamp of the audio access unit is within a range in which it can be considered that a predetermined synchronization is obtained.For example, 2 video frames ( If it is about 66 milliseconds), the process returns to step S271, and the determination (monitoring) of the deviation between the time stamps is continued.
- step S271 it is determined that the difference between the time stamp of the video access unit from the video decoder control module 216 and the time stamp of the audio access unit from the audio control module 217 is large. In other words, if the difference between the time stamp of the video access unit and the time stamp of the audio access unit is out of the range in which it can be considered that a predetermined synchronization is obtained, step S272
- the decode control module 214 compares the time stamp of the video access unit from the video decoder control module 216 with the time stamp of the audio access unit from the audio control module 217 to output the video data. (Decode) Determines which has been delayed out of the output of Iodeta.
- step S272 If it is determined in step S272 that the output of the video data is later than the output of the audio data, the process proceeds to step S273, and the decoding control module 214 determines that one video access unit is In order to proceed with the processing, an instruction to the video decoder control module 216 not to decode and output (display) the video access unit, that is, an instruction to skip the processing of the video access unit, is output. Proceed to step S274.
- step S274 the video decoder control module 216 receives the skip instruction from the decode control module 214, and responds to the skip instruction by using the buffer control module.
- aujnformationO (Fig. 24) allocated to private-stream2- PES-payloadO of private-stream-2 PES-packetO (Fig. 23) includes au_ref_flag as information on an access unit.
- the buffer control module 215 supplies the video access unit and the au ref flag of the video access unit to the video decoder control module 216. .
- step S274 the au ref flag of the access unit supplied together with the access unit is checked in this way.
- step S275 the video decoder control module 216 determines, based on the result of the detection of the au_ref_flag of the video access unit supplied from the buffer control module 215, that video access unit has another picture access unit. It is determined whether or not the image is a non-reference image that is not referred to when decoding.
- au_ref_flag of the video access unit indicates whether or not the access unit is a reference image, and is 1 when the access unit is a reference image, and is not a reference image. In this case, that is, if the image is a non-reference image, it is set to 0.
- step S275 when it is determined that the video access unit supplied from the buffer control module 215 is not a (non-reference image) video access unit, that is, the video access unit supplied from the buffer control module 215 If the unit is a reference image, the process proceeds to step S276, where the video decoder control module 216 causes the video access unit to process the video access unit as usual, and the next video access unit sets the buffer control module 215 Then, the process returns to step S274.
- step S275 If it is determined in step S275 that the video access unit supplied from the buffer control module 215 is a non-reference image, the process proceeds to step S277, and the video decoder control module 216 The process by the video decoder 116 is skipped, and the process returns to step S271 after waiting for the next video access unit to be supplied from the buffer control module 215.
- step S277 By skipping the processing of the video access unit, the processing power of the video access unit is advanced by almost one video access unit (processing time is shortened). As a result, the output of the video data which has been delayed from the output of the audio data is hastened.
- step S272 when it is determined in step S272 that the output of the video data is not behind the output of the audio data, that is, the output of the audio data is behind the output of the video data Proceeding to step S278, the decode control module 214 instructs the video decoder control module 216 to wait for the video access unit to process the video data corresponding to the V or V! An instruction to output the data repeatedly is output, and the process proceeds to step S279.
- step S279 the video decoder control module 216 receives the instruction for repeated output from the decode control module 214, and in accordance with the instruction for repeated output, is now decoded by the video decoder 116!
- the video data corresponding to the video access unit is repeatedly output to the graphics processing module 219, and the process returns to step S271 after waiting for the next video access unit to be supplied from the buffer control module 215.
- the decode control module 214 determines whether or not the output of the video data is behind the output of the audio data, and determines whether or not the output of the video data is behind the output of the audio data. In this case, the video decoder control module 216 is instructed to skip the processing of one access unit. Then, the video decoder control module 216 determines whether the access unit is a reference image or a non-reference image based on the au_ref_flag of the access unit specified to be skipped. Then, it causes the video decoder 116 to skip the processing of the access unit instructed to be skipped. Therefore, it is possible to easily synchronize the output of the video data with the output of the audio data.
- a video access unit is provided separately from PES_packet () (Figs. 16 to 18) arranged in PES_packet_data_byte.
- Au_ref_flag that indicates whether the image is a force or a non-reference image is described. Then, the au_ref_flag is supplied from the buffer control module 215 to the video decoder control module 216 together with the corresponding video access unit.
- the video decoder control module 216 can, at little cost, determine whether the video access unit is a reference image or a non-reference image. Can be recognized.
- the decode control module 214 constantly checks the current time measured by the built-in clock unit 214A. In step S301, the current time is described in the PlayListMarkO (Fig. 7)! Judge whether or not it matches the mark_time_stamp of any MarkO The
- step S124 of FIG. 30 when trying to reproduce the first PlayItem # 0 of the first PlayList # 0 shown in FIG. Recognizes that the first to fourth of the seven MarkOs included in the PlayListMarkO shown above belong to the first PlayItem # 0 of PlayList # 0, and recognizes the four MarkOs.
- the mark_time_stamp of ⁇ 180,090 ⁇ , ⁇ 5,580,090 ⁇ , ⁇ 10,980,090 ⁇ , ⁇ 16,380,090 ⁇ is passed to the decode control module 214 along with the fact that the attribute of the time represented by the mark_time_stamp is “mark processing”. I have.
- step S301 in the decode control module 214, the current time matches any one of the times (mark_time_stamp) of the attribute of the "mark processing" supplied from the player control module 212 as described above. Is determined.
- step S301 if it is determined that the current time does not match any of the times of the “mark processing” attribute, the process returns to step S301, and the same processing is repeated.
- step S301 when it is determined that the current time matches any one of the times of the attribute of "mark processing", the decode control module 214 determines that the current time is of the attribute of "mark processing". The message indicating that the time has come and the time of the attribute of “mark processing” that matches the current time are supplied to the player control module 212, and the process proceeds to step S302.
- step S302 the player control module 212 generates a message indicating that the current time has become the time of the attribute of "mark processing", and the time (mark_time_stamp) of the attribute of "mark processing” that matches the current time. Is received from the decode control module 214, and MarkO whose mark_time_stamp matches the current time is recognized as MarkO to be subjected to mark processing (hereinafter, appropriately referred to as mark to be processed).
- the player control module 212 recognizes the PlayltemO of the PlayListO currently being played, and the PlayListO and the PlayltemO and the attribute of the "mark processing" from the decode control module 214 that match the current time.
- Time hereafter, mark time, etc., as appropriate
- power hereafter, mark time, etc., as appropriate
- PlayListMarkO Fig. 7
- the mark to be processed is recognized by referring to the mark.
- the player control module 212 thereby determines the mark time It is recognized that the mark_time_stamp is one of the four MarkOs of the first to fourth of the seven MarkOs included in the PlayListMarkO shown in the upper part of FIG. 28.
- the player control module 212 determines whether the mark time is from the first to the fourth included in the PlayListMarkO shown in the upper part of FIG. Of the four Marks (), the fourth Mark0 whose mark_time_stamp matches the mark time of 16,380,090 is recognized as the processing target mark.
- the player control module 212 Upon recognizing the processing target mark as described above, the player control module 212 proceeds from step S302 to step S303, and in the processing target mark, entry_ES_stream_id and entry_ES_private_stream_id (Fig. 7) for specifying an elementary stream are changed. The written power is determined.
- step S303 when it is determined that entry_ES_stream_id and entry_ES_private_stream_id (Fig. 7) for specifying an elementary stream are described in the mark to be processed, that is, the entry_ES_stream_id and entry_ES_private_stream_id are both 0x00.
- step S304 is skipped and the process proceeds to step S305, and thereafter, processing corresponding to the processing target mark is performed.
- step S303 when it is determined that entry_ES_stream_id and entry_ES_private_stream_id (Fig. 7) for specifying an elementary stream are described in the processing target mark, the process proceeds to step S304, and the player control module 212 The elementary stream being played back, its entry_ES_stream_id, and further, if necessary, determine whether or not the elementary stream specified by entry_ES_private_streammjd is included.
- step S304 when it is determined that the elementary stream being reproduced does not include the elementary stream specified by the entry_ES_stream_id and entry_ES_private_stream_id of the processing target mark, the process returns to step S301. That is, entry_E of the mark to be processed If the elementary stream specified by S_stream_id and entry_ES_private_stream_id has not been played, the processing target mark is ignored.
- step S304 when it is determined in step S304 that the elementary stream being played back includes the elementary list stream specified by the entry_ES_stream_id and entry_ES_private_stream_id of the processing target mark, that is, the entry_ES_stream_id of the processing target mark If the elementary stream specified by the entry_ES_private_stream_id is being played, the processing target mark is determined to be valid, and the process proceeds to step S305. Thereafter, processing according to the processing target mark is performed.
- step S305 the player control module 212 determines the mark to be processed by referring to the mark_type of the mark to be processed (FIG. 7).
- step S305 when it is determined that the mark to be processed is a chapter mark or an index mark, that is, when the mark_type of the mark to be processed is 'Chapter' or 'Inde x', the process proceeds to step S306.
- the player control module 212 instructs the graphics processing module 219 to update the display of the number of the chapter or index to the number of the chapter or index indicated by the chapter mark or index mark that is the processing target mark, and proceeds to step S301.
- step S305 when it is determined that the processing target mark is an event mark, that is, when the markjpe of the processing target mark is "Event”, the process proceeds to step S307, and the player control module 212 notifies (supplies) the event message indicating the occurrence of the event and the mark_data of the mark to be processed to the script control module 211, and proceeds to step S308.
- step S308 the script control module 211 receives the event message and the mark_data from the player control module 212, sets the event message as an interrupt request, and executes a series of operations described in the "SCRIPT.DATD file in advance. The process is performed using mark_data as an argument, and the process returns to step S301.
- the script control module 211 performs a process corresponding to mark_data.
- the script control module 211 receives the event message corresponding to the second MarkO and the event message corresponding to the third MarkO, and in any case, receives the event message.
- the same event handler interrupt processing routine
- the script control module 211 controls the graphics processing module 219 to display the first type of icon. Also, for example, when mark_data is 2, the script processing module 211 controls the Dallax processing module 219 to display the second type of icon.
- mark_data is not limited to 1 or 2
- the processing performed in response to mark_data is not limited to the display of simple icons as described above.
- the script control module 211 controls the graphics processing module 219 to change the display of the first type of icon from mark_data to 2 Is performed at a brightness corresponding to the value obtained by subtracting (a numerical value from 1 to 16). Also, for example, if mark_data is a value in the range of 19 to 34, the script control module 211 controls the graphics processing module 219 to change the display of the second type of icon to 18 from mark_data. The brightness is adjusted according to the subtracted value (1 to 16).
- a controller operated by a user is connected to the input interface 115 (Fig. 1), and the controller power is a DC (Direct Current) motor with an eccentric weight attached to its axis.
- the vibration motor When a built-in vibration motor that generates vibration when the motor is operated is used, when mark_data is a value in the range of 35 to 42, the vibration motor is replaced by a value obtained by subtracting 34 from mark_data (1 to 8). Can be operated only for the operation time according to
- mark_data is a numerical value, and its usage and algorithm can be described by a script program executed by the script control module 211. Therefore, mark_data is used by the disc 101 manufacturer or disc It can be used by rules set independently by a content pronoider or the like that provides the data recorded in step 101.
- the mark to be processed is recognized from the mark time that is the time of the attribute of “mark processing”. Is done. Furthermore, entry_ES_streamamd and entry_ES_private_stream_id that specify an elementary stream are described in the processing target mark. In other cases, processing according to the mark_type of the processing target mark is performed.
- entry_ES_stream_id and entry_ES_private_stream_id for specifying the elementary stream are described in the mark to be processed, even if te, “Ir entry—ES—stream—id and entry—E3 ⁇ 4—private—stream—id If the elementary stream specified by this is being played, processing is performed according to the mark_type of the processing target mark.
- the first MarkO (Mark # 0) and the first MarkO (Mark # 0) in which the mark_time_stamp is specified are 90,000, 27,090,000, 27,540,000, respectively.
- the third MarkO (Mark # l) and the third MarkO (Mark # 2) are described.
- the player control module 212 performs the processing shown in the lower part of Fig. 28. Recognize that the three MarkOs included in the PlayListMarkO belong to PlayItem # 0 of PlayList # l! /, And change the mark_time_stamp of the three MarkOs, ⁇ 90,000 ⁇ , ⁇ 27,090,000 ⁇ , ⁇ 27,540,000 ⁇ .
- the attribute of the time represented by the mark_time_stamp is “mark processing”, and is passed to the decode control module 214.
- the decode control module 214 determines that the current time force attributed by the timer 214A is "mark processing" at the time ⁇ 90,000 ⁇ , ⁇ 27,090,000k ⁇ 27,540,000 ⁇ is always checked to see if it matches (Step S301), and if the current time attribute matches the time of “Mark processing”, the “Mark” that matches the current time A mark time that is a time of the attribute of “processing” and a message indicating that the current time has become a time of the attribute of “mark processing” are supplied to the player control module 212.
- the decoding control module 2 14 indicates to the player control module 212 the mark time 27,090,000, which is the time of the “mark processing” attribute that matches the current time, and a message indicating that the current time has become the time of the “mark processing” attribute. Supply.
- the player control module 212 recognizes that PlayItem # 0 of PlayList # l is currently being played back, and Mark () described in PlayListMarkO of PlayList # l shown in the lower part of Fig. 28 of Fig. 28. 90,000, 27,0 90,000, 27,540,000, which are the mark_time_stamps of the three MarkOs belonging to PlayItem # 0, and the mark time from the decode control module 214. At the mark time 27,090,000, Mark0 where mark_time_stamp matches, that is, the second MarkO (Mark # l) described in the PlayListMarkO in the lower part of FIG. 28 is set as the processing target mark. Recognize (step S302).
- OxEO is specified as entry_ES_stream_id in the second MarkO described in PlayListMarkO on the lower side of Fig. 28, which is the processing target mark.
- the entry_ES_stream_id of OxEO is multiplexed into the clip stream file “00003.PS”, and the streamjd becomes OxEO! /, The video stream stream # 0 (FIG. 26). ), And the player control module 212 determines whether or not the video stream stream # 0 is included in the elementary stream being reproduced (steps S303 and S304).
- step S305 when the video stream stream # 0 is included in the elementary stream being reproduced, the processing target mark is determined to be valid, and processing according to the processing target mark is performed (step S305). To S308).
- the second MarkO described in the PlayListMarkO on the lower side of Fig. 28, which is the processing target mark is an event mark because its mark_type is "Event".
- the player control module 212 supplies an event message indicating the occurrence of the event and mark_data of the processing target mark to the script control module 211 (steps S305 and S307).
- the script control module 211 performs a series of processing described in advance in the “SCRIPT.DAT” file with the mark_data supplied together with the event message as an argument, with the event message of the player control module 212 as an interrupt request. (Step S308).
- mark_time_stamp representing one playback time on the time axis of PlayListO
- mark_type representing the type of MarkO
- the mark_type of the processing target mark indicates a type that generates an event, that is, when the processing target mark is an event mark, the mark_data and the event message of the processing target mark are notified, Processing corresponding to the mark_data is executed. Therefore, it is possible to execute processing corresponding to mark_data in accordance with the playback time of the clip stream file.
- the player control module 212 first starts at least one elementary stream to be played, that is, one or more elements determined to be reproduced in step S125 in Fig. 30. For each mental stream, investigate number_of_Dynamidnfo (Fig. 10), which indicates the number of DynamicInfoO (Fig. 13) in which the output attribute is described.
- the player control module 212 performs output attribute control processing according to the flowchart in FIG.
- step S320 the player control module 212 sets the pts_change_point described in the clip information file ClipO (FIG. 10) corresponding to the clip stream file to be played back. And the time of the attribute of "DynamicInfoO processing", and also passes to the decode control module 214, and the decode control module 214 receives the pts_change_point which is the time of the attribute of "DynamidnfoO processing" from the player control module 212. To step S321.
- step S321 it is determined whether or not the current time measured by the decode control module 214 force timer 214A matches the pts_change_point (one of the times) of the attribute of the "DynamicInfo () process". If it is determined that they do not match, the process returns to step S321.c
- step S321 if it is determined that the current time matches the time (any of) of the attribute of the "DynamicInfoO process", the decode control module 214 sets the current time to To the player control module 212, a message indicating that the time of the attribute of “DynamicInfoO processing” has been reached, and the time of the attribute of “DynamicInfo () processing” that matches the current time (hereinafter, appropriately referred to as Dynamiclnfo time). Then, the process proceeds to step S322.
- step S332 the player control module 212 decodes the message indicating that the current time has become the time of the attribute of "DynamidnfoO processing" and the Dynamiclnfo time,
- the DynamicInfoO received from the module 214 and set with the pts_change_point (FIG. 10) that matches the Dynamiclnfo time is recognized as the DynamicInfoO to be processed, which is the DynamicInfoO to be processed, and the process proceeds to step S323.
- step S323 the player control module 212 supplies the output attribute described in the DynamicInfoO (Fig. 13) serving as the processing target DynamicInfoO to the graphics processing module 219 or the audio output module 221. Proceed to 324.
- step S324 the control of the output of the video data or the audio data is performed according to the output attribute supplied from the player control module 212 in the immediately preceding step S323 in the graphics processing module 219 or the audio output module 221. Start each and return to step S321.
- the video data is described as an output attribute (display method), for example, is output according to an aspect ratio, or the audio data is described as an output attribute (output method). For example, it is output according to stereo or dual (Nike language).
- FIG. 42 shows a set of pts_channel_point and DynamicInfoO described in the clip information file "00003.CLP" of FIG. 26 (FIG. 10).
- the first elementary stream is the first elementary stream.
- number_of_Dynamidnfo is 2 and 3, respectively, in the clip information file “00003. CLP” in FIG. Therefore, in the clip information file “00003.CLP”, two sets of pts_change_point and DynamicInfoO are described for the first video stream stream # 0 of the clip stream file “00003.PS”, and the third audio stream For stream stream # 2, three sets of pts_change_point and DynamicInfoO are described.
- FIG. 42 shows two sets of pts_change_point and DynamicInfoO described with respect to the first video stream stream # 0 of the clip stream file "00003.PS". Is the third audio stream in the clip stream file "00003.PS”. It shows three sets of pts_change_point and DynamicInfoO described for stream # 2.
- the first video stream stream # 0 is described as! /
- the video stream stream # 0 is also described.
- step S125 of Fig. 30 the first video stream stream # 0 specified by the streamjd of OxEO of the clip stream file "00003.PS" and the OxBD
- the third audio stream streams identified by streamjd and private_stream_id of 0x00 are determined as the streams to be played.
- the player control module 212 is identified by the streamjd of OxEO.
- the following three sets of pts_change_point and DynamicInfoO pts_change_point are checked and the initial value is recognized.
- pts-change-point is 90,00.
- the time of 90,000 corresponds to the clip stream file “00003.CLP” in FIG. 26 corresponding to the clip stream file “00003.PS” in which the audio stream stream # 2 is multiplexed. This matches the time 90,000 described in presentation_start_time, which indicates the time at the beginning of "PS".
- the player control module 212 recognizes, as an initial value, a pts_change_point that matches the time 90,000 described in the presentation_start_time representing the start time of the clip stream file "00003.PS". Therefore, the pts_change_point of the first two sets of pts_change_point and DynamicInfoO in Fig. 42 and the pts_change_point of the first three sets of pts_change_point and DynamicInfoO in the lower part of Fig. 42 are recognized as the initial values. Is done.
- the player control module 212 sets the pts_change_point recognized as the initial value and sets it. According to DynamicInfoO, the corresponding elementary stream Specify output attributes.
- the video stream stream # 0 specified by streamjd becomes OxEO! /
- the initial value becomes 90,000 at the upper side of FIG. 42! /
- And pts_change_point and Display_aspect_ratio is '4: 3' in DynamicInfoO as a set!
- the player control module 212 outputs output attribute information indicating that the display_aspect_ratio is “4: 3”, that is, that the video stream stream # 0 is video data having an aspect ratio of 4: 3. Control the graphics processing module 219.
- DynamicInfoO has channel-assistment set to 'Dual'.
- the player control module 212 sends the information of the output attribute indicating that the channel.as signment is “Dual”, that is, the audio stream stream # 2 is the audio data of the duanore, to the audio output module 221. To supply.
- step S126 of Fig. 30 the output attribute control processing for pts_change_point as the initial value as described above is performed.
- the player control module 212 uses the two pts_change_points of 90,000 and 54,090,000 on the upper side in FIG. 42 for the video stream stream # 0 and the three pts_change_points on the lower side in FIG. 42 for the audio stream stream # 2.
- the decode control module 214 receives the time ⁇ 27,090,000 ⁇ , ⁇ 32,490,000 ⁇ , ⁇ 54,090,000 ⁇ of the attribute of "DynamicInfo () processing" from the player control module 212, and furthermore, the video stream stream # After the start of playback of the audio stream stream # 2 (playback of PlayItem # 0 of the second PlayList # 1 that plays back the clip stream file "00003.PS"), monitoring of the current time being measured by the timer 214A To start.
- the decoding control module 214 determines that the current time is an attribute of "DynamicInfo0 processing". Of the times ⁇ 27,090,000 ⁇ , ⁇ 32,490,000 ⁇ , and ⁇ 54,090,000 ⁇ , if they match, the Dynamiclnfo time, which is the time of the attribute of “DynamicInfoO processing” that matches the current time, is added to the player control module 212. (Step S321).
- the decode control module 214 sets 27,090,000, which is the same as the current time, of the attribute of the "DynamicInfoO process" as the Dynamiclnfo time, Supply to player control module 212
- the player control module 212 receives the Dynamiclnfo time of 27,090,000 from the decode control module 214, and the two pts_change_points and the audio streams stream # 2 on the upper side in FIG. From the three lower pts_change_points in Figure 42, the pts_change_point that matches the Dynamiclnfo time of 27,090,000 is investigated, and Dyna miclnfo0, which is set with the pts_change_point that matches the 27,090,000, that is, the audio stream stream.
- the second Dyna midnfoO on the lower side of FIG. 42 for # 2 is recognized as the DynamidnfoO to be processed (step S322).
- the player control module 212 supplies the output attribute described in the processing target DynamidnfoO to the graphics processing module 219 (step S323). If the processing target DynamicInfoO is the DynamidnfoO for the audio stream, the player control module 212 supplies the output attribute described in the processing target DynamidnfoO to the audio output module 221 (step S323).
- the graphics processing module 219 Upon receiving the output attribute from the player control module 212, the graphics processing module 219 starts controlling the output of the video data according to the output attribute (step S324).
- the graphics processing module 219 connects to the video data aspect ratio instruction (display_aspect_ratio (Fig. 13)) indicated by the output attribute from the player control module 212 and the video output terminal 120 of Fig. 1, for example.
- the aspect ratio of the video data output to the video output module 220 is converted based on the aspect ratio of the video output device.
- the graphics processing module 219 squeezes the video data to be output to the video output module 220 in the horizontal direction, and Is output with a black tint.
- the graphics processing module 219 The video data to be output to the video output module 220 is squeezed in the vertical direction, and output with blackness at the top and bottom.
- the graphics processing module 219 outputs the video data output to the video output module 220 without performing squeezing processing.
- the graphics processing module 219 outputs the time immediately before the time 54,090,000 from the time 90,000.
- the video data of 4: 3 aspect ratio obtained from the video stream stream # 0 is supplied to the video output device of 4: 3 aspect ratio and displayed.
- the video data having an aspect ratio of 16: 9 obtained from the video stream stream # 0 is squeezed in the vertical direction, and furthermore, blackness is added to the top and bottom.
- the video signal is converted to a video signal with an aspect ratio of 3: 3 and supplied to a video output device with an aspect ratio of 4: 3 for display.
- the audio output module 221 starts controlling the output of the audio data according to the output attribute. Start (step S324).
- the audio output module 221 receives an instruction for channel assignment of audio data (channeLassignment (Fig. 13)) indicated by an output attribute from the player control module 212, and the user operates the remote controller.
- the audio data from the audio decoder control module 217 is processed based on the audio output mode supplied from the player control module 212 via the input interface 115 (FIG. 1), and the audio output terminal 121 (FIG. 1) Output to
- the indication of the channel assignment of the audio data represented by the output attribute is such that the left channel is the audio data of "main audio” and the right channel is the audio data of "sub audio”.
- the audio output module 221 represents the (Dual) (Nike language) mode
- the audio output module 221 processes the audio data from the audio decoder control module 217 according to the audio output mode supplied from the player control module 212, Output to audio output terminal 121.
- the audio output module 221 transmits the left channel audio data of the audio data from the audio decoder control module 217 to the audio output mode.
- the audio data is copied as right channel audio data, and the left channel and right channel audio data (audio data of “main audio”) are output to the audio output terminal 121.
- “sub-audio” is specified as the audio output mode
- the audio output module 221 converts audio data of the right channel of the audio data from the audio decoder control module 217 into audio data of the left channel.
- the audio data of the left channel and the right channel (“sub-audio” audio data) are output to the audio output terminal 121.
- the audio output module 221 outputs the audio data from the audio decoder control module 217 to the audio output terminal 121 as it is.
- the audio output module 221 switches to the audio output mode supplied from the player control module 212. Regardless, audio decoding The audio data from the audio control module 217 is output to the audio output terminal 121 as it is.
- the audio output output module 221 starts from time 90,000 and ends immediately before time 27,090,000 from audio stream stream # 2.
- the audio data of the left channel of the obtained dual audio data is copied as the audio data of the right channel, and the audio data of the left and right channels is output to the audio output terminal 121.
- the left channel audio data of the dual audio data obtained from audio stream stream # 2 is copied as right channel audio data, and the left channel and right channel audio data are copied.
- the audio data is output to the audio output terminal 121.
- the output attribute control process for each elementary stream multiplexed in the clip stream file, the pts_change_point indicating the playback time of the elementary stream, and the output of the elementary stream Based on the description of the clip information file ClipO (Fig. 10) containing 0 or more sets with DynamicInfoO including the attribute, it is determined whether or not the playback time of the elementary stream being played matches the pts_change_point. So Then, if the playback time of the elementary stream being played matches the pts_change_point, the DynamicInfoO that is set with the pts_change_point is recognized, and according to the output attributes included in the recognized DynamicInfoO, The output of the elementary stream is controlled. Therefore, it is possible to control the output of the elementary stream according to the reproduction time and the output attribute of the elementary stream.
- the player control module 212 When playback of PlayListO (Fig. 5) (PlayltemO) is started, the player control module 212 initializes a subtitle data display method instruction to the graphics processing module 219 in step S341. That is, the player control module 212 controls the graphics processing module 219 so that the subtitle data display mode is set to the default display mode. Note that the initialization of the display method instruction performed in step S341 corresponds to the initialization of the display method instruction described in 127 of FIG.
- step S342 the player operates the remote controller to operate the remote controller to input a new display method for the display of subtitle data from the input interface 115. Determine whether
- step S342 when it is determined that a new display method has been instructed, the process proceeds to step S343, and the player control module 212 transmits the subtitle stream (subtitle data corresponding to) to the current subtitle stream. Determine if it is playing.
- step S343 If it is determined in step S343 that the subtitle stream is not being reproduced, the process returns to step S342.
- step S343 when it is determined that the subtitle stream is being reproduced, the process proceeds to step S345, and the player control module 212 determines whether the instruction of the new display method is the instruction of the default display method. Determine whether If it is determined in step S343 that the new display method instruction is the default display method instruction, the process returns to step S341, and the player control module 212 displays the subtitle data as described above. Controls graphics processing module 219 to make the default display method To do.
- step S345 when it is determined that the instruction of the new display method is not the instruction of the default display method, that is, the instruction of the new display method is, for example, to enlarge or reduce the subtitle data. If the instruction is for a non-default display method, such as displaying the subtitle stream by changing the brightness or making it easier to see, the process proceeds to step S346, and the player control module 212 proceeds to step S346. From the StaticInfoO (FIG. 12) of the clip information file ClipO (FIG. 10) corresponding to the file, the StaticInfoO for the currently reproduced subtitle stream is obtained, and the process proceeds to step S347.
- the StaticInfoO (FIG. 12) of the clip information file ClipO (FIG. 10) corresponding to the file
- step S347 the player control module 212 determines the configurable_flag of the Sta_tidnfoO acquired in step S346.
- step S347 when it is determined that configurable_flag is 0 indicating that the change of the display method of the subtitle data is not permitted, the process proceeds to step S348, and the player control module 212 sets the graphics processing module 219 to By controlling, the output video data is overlaid with an error message indicating that the display method of the subtitle data cannot be changed, and the process returns to step S342. Error message is displayed
- step S347 if it is determined that the value is set to 1 to permit the change of the display method of the configurable jlag caption data, the process proceeds to step S349, and the player control module 212 Then, the user operates the remote controller to supply the new display mode instruction supplied from the input interface 115 to the graphics processing module 219, and the process proceeds to step S350.
- step S350 the graphics processing module 219 enlarges the subtitle data supplied from the subtitle decoder control module 218 in accordance with the display mode instruction supplied from the player control module 212 in the immediately preceding step S349. Alternatively, processing such as reduction or change in brightness is started, and the flow returns to step S342. As a result, the caption data can be displayed in a display size or in accordance with the display method specified by the user operating the remote controller.
- step S342 determines whether or not the transfer of Playitem m0 described in FIG. 31 has been performed. If it is determined that the transfer has not been performed, the process returns to step S342.
- step S351 if it is determined that the transfer of PlayltemO has been performed, the process returns to step S341, and as described above, the player control module 212 sets the display method of the subtitle data to the default.
- the graphics processing module 219 is controlled so that the display method is set. That is, in this case, when the transfer of PlayltemO is performed, the display method of the subtitle data is returned to the default display method.
- the subtitle display control processing only when the configurable_flag of the subtitle stream is set to 1 indicating that the display method can be changed, the subtitle stream is supported.
- the display method of the subtitle data is changed according to, for example, a display method instruction input by the user operating the remote controller.
- the configurable _flag of the subtitle stream stream # 3 which is the fourth elementary stream of the four elementary streams multiplexed in the clip stream file "00001.PS" Becomes 1 indicating that the display method can be changed! /, So if the user operates the remote controller to change the display of the subtitles while the subtitle stream stream # 3 is displayed, The subtitle display size and the like are changed according to the operation.
- the display mode instruction is also supplied to the input interface 115 (Fig. 1) to the player control module 212. Is done.
- the player control module 212 also searches for the StatidnfoO (FIG. 10) corresponding to the subtitle stream being played back in the clip information file (step S346).
- the subtitle stream being reproduced is the third subtitle stream stream # 2 multiplexed in the clip stream file "00001.PS”, and the player control module 212 From the clip information file "00001. CLP", find the StatidnfoO for the third subtitle stream stream # 2!
- the player control module 212 determines the configurable_flag described in the third subtitle stream strea m # 2 in FIG. (Step S347) With this, it is recognized that the change of the display method is permitted for the third subtitle stream stream # 2.
- the player control module 212 determines that (the subtitle data corresponding to) the subtitle stream being reproduced does not correspond to enlargement / reduction, etc., and controls the graphics processing module 219 to control the Is generated (step S348), and is overlaid on the video data and output.
- the player control module 212 determines the configurable_flag described in StatidnfoO for the fourth subtitle stream strea m # 3 in FIG. Then (step S347), it is recognized that the change of the display method is permitted for the fourth subtitle stream stream # 3.
- the player control module 212 determines that the subtitle stream being reproduced (caption data corresponding to) corresponds to enlargement / reduction, etc., and is supplied by the user operating the remote controller.
- the instruction of the display method is supplied to the graphics processing module 219 (step S349).
- the graphics processing control module 219 then enlarges or reduces the force indicated by the display method from the player control module 212, the caption data from the caption decoder control module 218, and the like.
- the video data from the video decoder control module 216 is overlaid and output.
- the player control module 212 initializes a subtitle data display method instruction to the graphics processing module 219 at the start of playback of the first PlayltemO of PlayListO (step S341). That is, the player control module 212 controls the graphics processing module 219 such that the display method of the subtitle data is the default display method.
- the player control module 212 also initializes the subtitle data display method instruction to the graphics processing module 219 when the PlayltemO is changed (steps S341 and S351).
- the configurable_flag of a new subtitle stream to be reproduced according to PlayltemO newly reproduced thereafter is checked. If the configurable_flag is 0, the graphics Initializes the subtitle data display method instruction to the processing module 219, and if the configurable_flag is 1, the display method instruction to the graphics processing module 219 can be maintained as it was before the transfer of PlayltemO It is.
- the new display method instruction is sent to the graphics processing module 219.
- the instruction of the display method is stored in, for example, a non-volatile memory constituting the memory 113 (FIG. 1).
- the stored indication of the display mode can be supplied to the graphics processing module 219.
- an instruction of a display method set by a user is stored in a non-volatile memory, and a new display method is operated by a user operating a remote controller.
- the instruction of the display method is input, the instruction of the display method stored in the nonvolatile memory is updated to the instruction of the new display method, and the instruction of the display method stored in the nonvolatile memory is updated by the graphics processing. It is possible to feed module 219.
- the user since the instruction of the display method at the end of the previous reproduction is held in the non-volatile memory, the user operates the remote controller at the next reproduction of the PlayListO to operate the display method at the end of the previous reproduction. Even if the user does not input the instruction, the display of subtitle data is started in the display method.
- the indication of the display method to be stored in the nonvolatile memory includes, for example, an enlargement ratio or a reduction ratio when enlarging or reducing subtitle data.
- the V ⁇ StaticInfoO that does not change during the reproduction of the elementary stream is included.
- the subtitle data StaticInfoO of the subtitle data is acquired, and the display of the subtitle data being played back is performed based on the configurable_flag included in the StaticInfoO, which indicates whether the display of subtitle data is allowed to be changed from the default display method. It is determined whether changing the default display method is also permitted. Then, the display of the subtitle data being reproduced is also allowed to be changed by the default display method.
- the display processing of the subtitle data is performed according to the instruction to change the display method of the subtitle data. That is, for example, processing for displaying the caption data by enlarging or reducing it, or changing the display color is performed. Therefore, it is possible to control the change of the subtitle data display method.
- FIG. 44 shows a flowchart describing the capture control process, and a background Z scan as an example of the process of secondary use of the video data captured by the capture control process.
- a flowchart describing the clean saver process is also illustrated.
- the video data is supplied to the player control module 212 via the capture instruction input interface 115 (Fig. 1) for instructing the capture of video data. Be started.
- step S371 the player control module 212 determines whether or not the video stream is being played back. The control process ends.
- step S371 when it is determined in step S371 that the video stream is being reproduced, the process proceeds to step S372, and the player control module 212 sets capture_enable_flag_PlayList from PlayListO (Fig. 5) corresponding to the video stream being reproduced. At the same time, capture.enable_flag_Clip is obtained from the clip information file ClipO (Fig. 10) corresponding to the video stream being played.
- capture_enable_flag_PlayList in PlayListO indicates whether secondary use of video data (video data belonging to PlayListO) corresponding to the video stream reproduced by PlayListO is permitted, as described in FIG.
- capture_enable_flag_Clip in the clip information file ClipO is, as described in FIG. 10, the secondary use of video data corresponding to the video stream stored in the clip stream file corresponding to the clip information file ClipO. Represents the power to allow.
- step S372 After the process in step S372, the process proceeds to step S373, in which the player control module 212 receives a capture instruction based on the capture_enable_flag_PlayList and the capture_enable_flag_Clip acquired in the previous step S373, and the input interface 115 (Fig. 1). It is determined whether or not the picture of the video data being reproduced at that time can be captured.
- step S373 when it is determined that the capture of the picture of the video data being reproduced when the capture instruction is input from the input interface 115 is not possible, that is, when the capture is performed in the immediately preceding step S373. If at least one of capture_enable_flag_PlayList or capture_enable_flag_Clip is set to 0 indicating that secondary use of video data is not permitted, the process proceeds to step S374, and the player control module 212 controls the graphics processing module 219 to control Data capture Is overlaid with an error message indicating that is impossible, and the capture control process ends. As a result, an error message is displayed.
- step S373 when it is determined that it is possible to capture the picture of the video data that was being reproduced when the capture instruction was input from the input interface 115, that is, in step S373, it was obtained in the immediately preceding step S373. If the captured capture_enable_flag_PlayList and capture_enable_flag_Clip are both set to 1 indicating that the secondary use of video data is permitted, the process proceeds to step S375, and the player control module 212 executes the process when the capture instruction is input from the input interface 115. The instruction of the capture of the picture of the video data that has been reproduced in the above is supplied to the graphics processing module 219, and the process proceeds to step S376.
- step S376 the graphics processing module 219 captures the force ⁇ instructed by the capture from the player control module 212 and the picture of the video data from the video decoder control module 216, and stores it in the memory 113 (Fig. 1). And the capture control process ends.
- capture_enable_flag has a multi-bit configuration, and the use conditions are restricted. That is, if there is a limit on the size of the captured image, the reduced image is captured at this point.
- the video stream is reproduced, that is, multiplexed into the clip stream file "00001.PS".
- a capture instruction from the user is issued. If there is, the capture_enable_flag_PlayList in the first PlayList # 0 is 1, and the clip information file “00001.CLP” in FIG.
- the reproduction of the video stream that is, the reproduction of the video stream multiplexed into the clip stream file "00002.PS"
- the capture_enable_flag_PlayList in the first PlayList # 0 is 1
- the clip stream file played by the second Playltem # l "00002.” Since the capture_enable_flag_Clip in the clip information file “00002.CLP” in FIG. 26 corresponding to “PS” is 0, the video data being reproduced (corresponding to the video stream multiplexed to the clip stream file “00002.PS”) It was determined that secondary use of video data) was not possible, and no caption was taken.
- the picture captured by the capture control process and stored in the memory 113 can be used secondarily in the background Z screen saver process.
- the background Z screen saver process is performed, for example, when the player control module 212 is operating and the elementary stream is not being played back, that is, when the disk 101 is inserted into the disk drive 102 (Fig. 1). This is performed when no playback has been performed or when playback of the elementary stream has ended.
- step S381 the player control module 212 controls the graphics processing module 219 so as to display the picture stored in the memory 113 by the capture control process.
- the graphics processing module 219 displays the force controlled by the player control module 212 and the picture stored in the memory 113 by the capture control processing.
- step S376 the force S instructed by the capture from the graphics processing module 219, the player control module 212, the picture of the video data from the video decoder control module 216, that is,
- the ability to capture only one picture is possible, and it is also possible to capture multiple pictures. That is, it is possible to capture a plurality of time-series pictures (a sequence of a plurality of pictures as a moving image) output from the video decoder control module 216.
- the number of pictures captured at a time can be predetermined, for example.
- use permission information indicating whether or not the power to permit the secondary use of the video data
- capture—enable—flag—PlayList capture—enable—flag—Clip
- PlayListO clip ⁇ Described in the blue information file ClipO
- the use permission information describes the video data in any other unit
- the use permission information describes whether the secondary use of the video data in any unit is possible. Can be determined.
- FIG. 45 shows the syntax of private_stream2_PES_payloadO in which the use permission information is arranged
- FIG. 46 shows the syntax of aujnformationO in which the use permission information is arranged.
- Private_stream2_PES_payloadO in Fig. 45 has the same configuration as that in Fig. 23 except that capture_enable_flag_ps2 as usage permission information is arranged immediately before video_stream_id!
- the aujnformationO in FIG. 46 is configured similarly to the case in FIG. 24 except that capture_enable_flag_AU as usage permission information is placed immediately before pic_struct_copy!
- the capture_enable_flag_ps2 located in private_stream2_PES_payloadO in Fig. 45 is the private-stream2- PES- payloadO. Indicates whether secondary use of video data corresponding to the stream is permitted. Therefore, according to capture_enable_flag_ps2 allocated to private_stream2_PES_payloadO in Fig. 45, whether or not to allow secondary use of video data between a certain decoding start possible point and the next decoding start possible point Can be determined.
- capture_enable_flag_AU arranged in aujnformationO in Fig. 46 indicates whether or not the secondary use of the video data of the video access unit corresponding to capture_enable_flag_AU is permitted. Therefore, according to capture_enable_flag_AU arranged in aujnformationO in FIG. 46, it is possible to determine whether or not to permit the secondary use of video data in units of video access units, that is, in units of pictures.
- capture_enable_flag_PlayList as use permission information in PlayListO (Fig. 5)
- capture_enable_flag_Clip as use permission information in clip information file ClipO (Fig. 10)
- capture_enable_flag_ps2 as use permission information in private_stream2_PES_payloadO (Fig. 45)
- the capture_enable_flag_AU as the permission information for ⁇ lj in aujnformationO (Fig. 46) can use two or more of them, and in this case, the secondary use of a picture
- the determination can be made on the basis of the logical product of two or more use permission information that are adopted in duplicate.
- private_stream2_PES in FIG. 23 or FIG. 45 where aujnformationO in FIG. 46 is placed As described in step S211 of FIG. 36, the PES_packetO of private_stream_2 including _payload0 also causes the video read function unit 233 of the buffer control module 215 (FIG. 3) to search for a program stream stored in the buffer 215A. Therefore, when the private_stream2—PES—payloadO in FIG. 45 in which capture_enable_flag—ps2 is arranged and the aujnformationO in FIG.
- the player control module 212 In determining whether or not secondary use of video data is possible, it is necessary to query capture_enable_flag_ps2 and capture_enable_flag_AU to the video reading function unit 233 and match them.
- the above-described series of processing is performed by software.
- the above-described series of processing may be performed by dedicated hardware.
- a hardware decoder is used as video decoder 116 (FIG. 1).
- a software decoder can be used as video decoder 116. The same applies to the audio decoder 117 (FIG. 1).
- a software decoder is employed as the subtitle decoder, but a hardware decoder may be employed as the subtitle decoder.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
Description
Claims
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020077000625A KR101169488B1 (ko) | 2004-06-11 | 2005-05-24 | 데이터 처리 장치, 데이터 처리 방법, 프로그램 기록 매체 및 데이터 기록 매체 |
CN2005800272857A CN101002467B (zh) | 2004-06-11 | 2005-05-24 | 数据处理设备和方法 |
EP05743603A EP1768403A4 (en) | 2004-06-11 | 2005-05-24 | DATA PROCESSING DEVICE, DATA PROCESSING METHOD, PROGRAM, PROGRAM RECORDING MEDIUM, DATA RECORDING MEDIUM, AND DATA STRUCTURE |
HK08107869.5A HK1112778A1 (en) | 2004-06-11 | 2005-05-24 | A detecting method for memory |
BRPI0511918-9A BRPI0511918A (pt) | 2004-06-11 | 2005-05-24 | aparelho de processamento de dados e programa para permitir que um computador execute processamento de dados para processar dados codificados, meio de gravação de programa, meio de gravação de dados, e estrutura de dados de dados codificados |
US11/629,078 US8213781B2 (en) | 2004-06-11 | 2005-05-24 | Data processing device, data processing method, program, program recording medium, data recording medium, and data structure |
HK07109878.1A HK1101950A1 (en) | 2004-06-11 | 2007-09-12 | Data processing device and data processing method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004174548A JP4586429B2 (ja) | 2004-06-11 | 2004-06-11 | データ処理装置およびデータ処理方法、並びに、プログラムおよびプログラム記録媒体 |
JP2004-174548 | 2004-06-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005122570A1 true WO2005122570A1 (ja) | 2005-12-22 |
Family
ID=35503507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2005/009435 WO2005122570A1 (ja) | 2004-06-11 | 2005-05-24 | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、データ記録媒体並びにデータ構造 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8213781B2 (ja) |
EP (1) | EP1768403A4 (ja) |
JP (1) | JP4586429B2 (ja) |
CN (1) | CN101002467B (ja) |
BR (1) | BRPI0511918A (ja) |
HK (2) | HK1112778A1 (ja) |
TW (1) | TW200606827A (ja) |
WO (1) | WO2005122570A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2051254A4 (en) * | 2007-06-06 | 2012-10-03 | Panasonic Corp | PLAYING DEVICE, PLAY PROCESS AND CORRESPONDING PROGRAM |
TW201032597A (en) * | 2009-01-28 | 2010-09-01 | Nokia Corp | Method and apparatus for video coding and decoding |
CN102222077A (zh) * | 2010-04-14 | 2011-10-19 | 中兴通讯股份有限公司 | 一种语音频数据的存储方法和装置 |
US10019395B2 (en) * | 2013-11-08 | 2018-07-10 | Nxp Usa, Inc. | Processing system with stack management and method for stack management |
JP6855348B2 (ja) * | 2017-07-31 | 2021-04-07 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびダウンロード処理方法 |
US11206244B2 (en) * | 2018-12-21 | 2021-12-21 | ARRIS Enterprise LLC | Method to preserve video data obfuscation for video frames |
CN110246467B (zh) * | 2019-06-19 | 2021-06-15 | 深圳市康冠商用科技有限公司 | 一种液晶显示器屏幕保护方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09139915A (ja) * | 1995-11-16 | 1997-05-27 | Matsushita Electric Ind Co Ltd | 圧縮動画像復号・表示装置および圧縮動画像簡易編集装置 |
JPH09200695A (ja) * | 1995-12-11 | 1997-07-31 | Samsung Electron Co Ltd | 高速再生のためのビデオデータの復号化方法及びその装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0176134B1 (ko) * | 1995-10-25 | 1999-05-01 | 김광호 | 압축 부호화 비디오 데이타 재생방법 |
JPH10322665A (ja) * | 1997-05-07 | 1998-12-04 | Lsi Logic Corp | Gopデータの反復読出し制御方法および装置 |
KR100247978B1 (ko) * | 1997-08-08 | 2000-03-15 | 윤종용 | 픽쳐 디코딩 동기화 회로 및 그 방법 |
JP4150083B2 (ja) * | 1997-09-25 | 2008-09-17 | ソニー株式会社 | 符号化ストリーム生成装置及び方法、ならびに編集システム及び方法 |
KR100308034B1 (ko) * | 1998-12-31 | 2001-11-02 | 구자홍 | 포맷변환장치 |
US6771196B2 (en) * | 1999-12-14 | 2004-08-03 | Broadcom Corporation | Programmable variable-length decoder |
ITTO20010525A1 (it) * | 2001-06-01 | 2002-12-01 | Telecom Italia Lab Spa | Procedimento di trasmissione, ad esempio per la trasmissione ripartita di flussi audiovisivi o multimediali, sistema di trasmissione, trasme |
MXPA05000674A (es) | 2002-07-16 | 2005-03-31 | Thomson Licensing Sa | Intercalacion de capas, base de aumento, para hd-dvd utilizando identificacion de corriente alterna para capa de aumento. |
CN100369481C (zh) * | 2003-02-04 | 2008-02-13 | 松下电器产业株式会社 | 代码变换方法及其装置 |
WO2005043915A1 (ja) * | 2003-10-31 | 2005-05-12 | Kddi Media Will Corporation | 映像解析装置及び映像障害検出装置 |
-
2004
- 2004-06-11 JP JP2004174548A patent/JP4586429B2/ja not_active Expired - Fee Related
-
2005
- 2005-05-24 BR BRPI0511918-9A patent/BRPI0511918A/pt not_active IP Right Cessation
- 2005-05-24 WO PCT/JP2005/009435 patent/WO2005122570A1/ja active Application Filing
- 2005-05-24 EP EP05743603A patent/EP1768403A4/en not_active Withdrawn
- 2005-05-24 US US11/629,078 patent/US8213781B2/en not_active Expired - Fee Related
- 2005-05-24 CN CN2005800272857A patent/CN101002467B/zh not_active Expired - Fee Related
- 2005-05-24 HK HK08107869.5A patent/HK1112778A1/xx not_active IP Right Cessation
- 2005-05-26 TW TW094117303A patent/TW200606827A/zh not_active IP Right Cessation
-
2007
- 2007-09-12 HK HK07109878.1A patent/HK1101950A1/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09139915A (ja) * | 1995-11-16 | 1997-05-27 | Matsushita Electric Ind Co Ltd | 圧縮動画像復号・表示装置および圧縮動画像簡易編集装置 |
JPH09200695A (ja) * | 1995-12-11 | 1997-07-31 | Samsung Electron Co Ltd | 高速再生のためのビデオデータの復号化方法及びその装置 |
Also Published As
Publication number | Publication date |
---|---|
HK1112778A1 (en) | 2008-09-12 |
EP1768403A1 (en) | 2007-03-28 |
TW200606827A (en) | 2006-02-16 |
JP2005354520A (ja) | 2005-12-22 |
US20080292285A1 (en) | 2008-11-27 |
TWI330357B (ja) | 2010-09-11 |
HK1101950A1 (en) | 2007-11-02 |
CN101002467A (zh) | 2007-07-18 |
JP4586429B2 (ja) | 2010-11-24 |
EP1768403A4 (en) | 2010-04-28 |
US8213781B2 (en) | 2012-07-03 |
CN101002467B (zh) | 2010-05-26 |
BRPI0511918A (pt) | 2008-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2005122170A1 (ja) | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、データ記録媒体並びにデータ構造 | |
US7584511B2 (en) | Data processing apparatus, data processing method, program, program recording medium, data recording medium, and data structure | |
EP1761057A1 (en) | Data processing device, data processing method, program, program recording medium, data recording medium, and data structure | |
JP4575129B2 (ja) | データ処理装置およびデータ処理方法、並びにプログラムおよびプログラム記録媒体 | |
WO2005122570A1 (ja) | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、データ記録媒体並びにデータ構造 | |
JP2006164337A (ja) | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体 | |
US8340495B2 (en) | Data processing device, data processing method, program, program recording medium, data recording medium, and data structure | |
WO2005122168A1 (ja) | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、データ記録媒体並びにデータ構造 | |
JP4536497B2 (ja) | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体 | |
AU2005253423B2 (en) | Data processing device, data processing method, program, program recording medium, data recording medium, and data structure | |
KR20070020503A (ko) | 데이터 처리 장치 및 데이터 처리 방법, 프로그램 및프로그램 기록 매체, 데이터 기록 매체, 및, 데이터 구조 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 7433/DELNP/2006 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2005743603 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020077000625 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11629078 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 200580027285.7 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 1020077000625 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2005743603 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: PI0511918 Country of ref document: BR |