WO2005101826A1 - データ処理装置、サーバおよびデータ処理方法 - Google Patents

データ処理装置、サーバおよびデータ処理方法 Download PDF

Info

Publication number
WO2005101826A1
WO2005101826A1 PCT/JP2005/007229 JP2005007229W WO2005101826A1 WO 2005101826 A1 WO2005101826 A1 WO 2005101826A1 JP 2005007229 W JP2005007229 W JP 2005007229W WO 2005101826 A1 WO2005101826 A1 WO 2005101826A1
Authority
WO
WIPO (PCT)
Prior art keywords
picture
data
stream
pictures
type
Prior art date
Application number
PCT/JP2005/007229
Other languages
English (en)
French (fr)
Inventor
Hiroshi Yahata
Tomoyuki Okada
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Publication of WO2005101826A1 publication Critical patent/WO2005101826A1/ja

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00072Time or data compression or expansion the compressed signal including a video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/7921Processing of colour television signals in connection with recording for more than one processing mode
    • H04N9/7925Processing of colour television signals in connection with recording for more than one processing mode for more than one standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Definitions

  • the present invention relates to processing of encoded video information that ensures appropriate random accessibility.
  • DVD media (hereinafter simply referred to as "DVD") has become very popular.
  • DVD-Video discs are already on the market as package software containing movies and the like.
  • FIG. 1 shows a data structure of a DVD.
  • a logical address is assigned to a region between the innermost lead-in and the outermost lead-out of the DVD, and logical data is recorded based on the logical address.
  • the volume information of the file system is recorded, followed by application data such as video and audio.
  • the file system represents ISO9660, UDF (Universal Disc Format), or the like, and is a system that manages data on a disc in units called directories or files. Even in the case of a PC (personal computer) that is used on a daily basis, data recorded on the hard disk in a data structure such as directories and files is represented on the computer by passing through a file system called FAT or NTFS, and user rights Is increasing.
  • FAT file system
  • DVDs use both UDF and ISO9660 file systems (both are sometimes referred to as "UDF bridges"), and data can be read by either UDF or ISO9660 file system drivers It is like that.
  • DVD-RAM / R / RW which are rewritable DVD media, can physically read, write, and delete data via these file systems.
  • Data recorded on a DVD can be viewed as a directory or a file as shown in the upper left of FIG. 1 through a UDF bridge.
  • the root directory (“ROOT” in the figure)
  • VIDEO-TS Below that is a directory called “VIDEO-TS”, where the application data of the DVD is recorded.
  • Application data is recorded as multiple files, and the following main files exist.
  • IFO Video title set # 1 Playback control information file
  • VOB Video title set # 1 stream file
  • the extension "IFO” indicates a file in which playback control information is recorded
  • the extension "VOB” indicates a file in which an MPEG stream, which is AV data, is recorded.
  • the playback control information is information for realizing the interactivity adopted in DVDs that dynamically changes the playback according to the user's operation, information attached to the title such as metadata, and attached to the stream. Including information. Further, in DVD, the reproduction control information is sometimes called navigation information.
  • the playback control information file is composed of “VIDEO—TS. IFO” that manages the entire disc, and individual video title sets (multiple titles in DVD, in other words, different movies or different versions of movies are stored on one disc).
  • VTS-01-0. IFO which is the playback control information for each (recordable).
  • “01” in the file name body indicates the number of the video title set. For example, in the case of video title set # 2, it is “VTS-02-0.IFO”.
  • the upper right part of FIG. 1 is a DVD navigation space in the DVD application layer, which is a logical structure space in which the above-described reproduction control information is expanded.
  • VIDEO—TS. Information in IFOJ is VMGI (Video Manager Information), and“ VTS-01-01. IFOJ or the playback control information that exists for each other video title set is VTSI (Video Title Set Information). ) Is developed in the DVD navigation space.
  • the VTSI describes PG CI (Program Chain Information), which is information of a reproduction sequence called PGC (Program Chain).
  • the PGCI is composed of a set of cells and a kind of programming information called a command.
  • the cell itself is a set of partial or all sections of the VOB (Video Object) corresponding to the MPEG stream, and playing a cell means playing the section specified by the cell of the VOB. are doing.
  • the command is a concept similar to a Java (registered trademark) script executed on a browser, and is processed by a DVD virtual machine.
  • the Java® script controls windows and browsers (eg, opens a new browser window) in addition to logical operations
  • DVD commands control AV title playback in addition to logical operations. (For example, to specify a chapter to be played).
  • the cell has the start and end addresses (logical recording addresses on the disc) of the VOBs recorded on the disc as its internal information, and the player can start and stop the VOB described in the cell.
  • the data is read and reproduced using the end address information.
  • FIG. 2 shows various types of information included in the navigation information embedded in the stream.
  • the interactivity featured by DVD is “VIDEO—TS. IFO” and “
  • NV_PCK navigation 'pack
  • buttons appear on the menu screen, and each button defines the processing when the button is selected and executed.
  • one button is selected on the menu (a semi-transparent color is overlaid on the selection button by a highlight to indicate to the user that the button is in a selected state), and the user operates the remote control up, down, left, right, and right.
  • the button in the selected state can be moved to any of the up, down, left, and right buttons. That is, the user moves the noise light to the button to be selected and executed using the up, down, left, and right keys of the remote controller, and presses the enter key to determine the program, thereby executing the corresponding command program.
  • the playback of the corresponding title or chapter is executed by a command.
  • NV The PCK contains highlight color information, individual button information, and the like.
  • the color palette information describes the color palette information, and specifies the translucent color of the color of the overlay or illite to be displayed.
  • the button information contains the position information of each button. Rectangular area information, the button power, movement information to other buttons (designation of the destination button corresponding to each of the user's up, down, left and right key operations), and button command information (executed when the button is determined Command) is described.
  • a highlight on the menu is created as an overlay image on the menu image. That is, the area corresponding to the rectangular area of the button information is colored based on the color palette information, and is superimposed on the rectangular area of the button information of the menu, thereby realizing the highlight on the menu. You. This overlay image is combined with the background image and displayed on the screen.
  • NV-PCK stores information to support special playback, and decodes and plays back AV data smoothly even during special playback such as fast forward and rewind, thereby improving user operability. It is to improve.
  • FIG. 3A to 3C show a VOB generation procedure
  • FIG. 3D shows a configuration of an apparatus for reproducing the generated VOB.
  • the moving images, audio, subtitles, etc. shown in FIG. 3A are packetized and packed based on the MPEG system standard (ISO / IEC13818-1) as shown in FIG. 3B.
  • the video is a high-definition video (hereinafter, referred to as “HD video”), and is packetized and packed while maintaining the video quality.
  • HD images include various types of high-definition images, such as moving images, still images, and text and graphics.
  • FIG. 3C each is multiplexed to generate one MPEG-2 program stream.
  • NV-PCKs containing button commands for realizing interactivity are also multiplexed together.
  • the multiplexing feature of the MPEG system is that, for each type of video, audio, and subtitles, the MPEG stream data is arranged in a bit sequence based on its decoding order.
  • bit strings are not necessarily formed in the order of data reproduction.
  • pack of video data and pack of subtitle data Are consecutively arranged, the moving image data and the subtitle data are not always decoded or reproduced at the same timing.
  • a decoder model defines a decoder buffer corresponding to each elementary stream, and the capacity of the buffer is different for each elementary stream. Specifically, it is 232 KB for video, 4 KB for audio, and 52 KB for subtitles, and temporarily stores video, audio, and other data until the decode timing arrives. Since the decoding timing differs according to the buffer capacity, even if adjacent multiplexing is performed, the timing of decoding etc. It will be different.
  • the demultiplexer 3100 receives the MPEG program stream, separates a pack including video data, subtitle data, and audio data, and sends the separated pack to the buffer 3101.
  • the buffer 3101 buffers the packed data and sends a part of the buffered data to the decoder.
  • the decoder 3102 decodes video data, subtitle data, and the like to construct a stream.
  • the buffer 3101 has a video buffer, a subtitle buffer, and an audio buffer, stores video data in a video buffer, stores subtitle data in a subtitle buffer, and stores audio data in an audio buffer. Is stored.
  • the decoder 3102 has a video decoder, a subtitle decoder, and an audio decoder. Each buffer also receives data, and constructs and outputs moving image data, subtitle data, and audio data based on knock data. The audio data is output to a speaker or the like after decoding, and reproduced as audio.
  • a program stream (MPEG-2 program stream) according to the MPEG-2 standard is adopted as a basic technology.
  • MPEG-2 program stream a program stream (MPEG-2 program stream) according to the MPEG-2 standard is adopted as a basic technology.
  • SD video standard definition video
  • SD video recording of analog broadcast
  • BD Blu-ray Disc
  • HD movie material As a next-generation optical disc, a BD ( Blu-ray Disc) is being standardized. On BD, it is possible to record HD movie material at the same quality. Standardization of the BD-ROM standard (B1 u-ray Disc Read-Only-Memory standard) as a playback-only standard is in progress.
  • MPEG-4 AVC Advanced Video Coding
  • HD video data can be stored on a BD at a very low bit rate.
  • AVC standard In order to support the MPEG-4 AVC standard (hereinafter referred to as "AVC standard"), there is a possibility that the same hardware and software as the conventional MPEG-2 encoder Z decoder may have insufficient processing capability. high.
  • the reason is that the AVC standard has a high degree of freedom regarding the encoding and Z-decoding processing, so that an encoder Z-decoder with much higher performance than previously required is required to support all processing. It is.
  • the amount of computation required by the AVC standard! Is much larger than the required amount of computation by the MPEG-2 standard! It becomes more complex and requires more memory. Therefore, the cost of the encoder Z decoder is relatively high. Therefore, it can be said that the AVC standard has a negative factor in implementation.
  • Patent Literature 1 discloses a technique for generating trick play support information (time map) to support processing related to trick play.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2000-228656 Disclosure of the invention
  • An object of the present invention relates to encoding and decoding of video such as the MPEG-4 AVC standard and the like, and supports data structures for facilitating trick play and supports such data structures. Is to provide equipment that performs
  • a data processing device includes an encoder that compresses and encodes video data displayed by switching a plurality of pictures to generate a data stream, and converts the data stream into a predetermined stream. And a processing unit for outputting in a format.
  • the video data includes picture data corresponding to each of the plurality of pictures.
  • the encoder is capable of decoding the plurality of pictures by referring to at least a first type of picture that can be self-decoded and a picture that has been encoded earlier in time.
  • the pictures are classified into two types of pictures, each picture data is compression-coded according to the classification, and two or more of the second types of pictures are placed after the pictures of the first type with respect to each picture data after compression coding. Generate a data stream in which pictures are arranged consecutively.
  • the encoder classifies the plurality of pictures into the first type picture, the second type picture, and the third type picture, and compresses and encodes each piece of picture data.
  • the type of picture may be decodable with reference to a picture displayed earlier in time and a picture displayed later in time.
  • the processing unit may write the data stream on the recording medium.
  • the processing unit is configured to arrange the head address of the first type picture on the recording medium and the head address last for each piece of the compressed and encoded picture data.
  • the management information for specifying the offset to the end address of the picture of the second type may be generated and written to the recording medium.
  • the processing unit is configured to convert a composite picture stream including each picture data of the first type picture and the second type picture and a single picture stream including each picture data of the third type picture. It may be generated and written to the recording medium.
  • the processing unit may encrypt the single picture stream and write the encrypted single picture stream to the recording medium.
  • the server according to the present invention is used in a distribution system that distributes a data stream related to video to Sanoku and to clients.
  • the server includes a processing unit that reads the data stream from a recording medium that stores the data stream, and a network control unit that transmits the data stream to the client via a network.
  • the video is displayed by switching a plurality of pictures.
  • the plurality of pictures are a first type of picture that can be self-decoded and a second type of picture that can be decoded by referring only to a picture that has been encoded earlier in time.
  • the picture data is classified into two types of pictures, each picture data is generated by compression coding according to the classification, and two or more second pictures are placed after the first type picture with respect to each picture data after compression coding.
  • Type pictures are arranged consecutively
  • the server further includes a central processing unit that issues an instruction regarding reading of the data stream based on performance information that specifies the processing performance of the decoding process of the client.
  • the plurality of pictures are classified into the first type picture, the second type picture, and the third type picture, and each picture data is compression-encoded, and the third picture
  • the type of picture can be decoded with reference to a picture displayed earlier in time and a picture displayed later in time.
  • the data stream is a composite picture stream including each picture data of the first type picture and the second type picture, and a single picture stream including each picture data of the third type picture. Being done.
  • the composite picture stream is stored in a first file, and the single picture stream is stored in a second file different from the first file.
  • the network control unit obtains performance information that specifies at least one of a decryption performance of the client and a communication speed via the network, and the central processing unit obtains the first information based on the performance information. It is also possible to transmit only the file or indicate the power to transmit the first file and the second file.
  • the central processing unit when the communication speed specified based on the performance information is equal to or greater than the sum of the transmission speed of the composite picture stream and the transmission speed of the single picture stream, Instructing transmission of one file and the second file, wherein the communication speed specified based on the performance information is smaller than the sum of the transmission speed of the composite picture stream and the transmission speed of the single picture stream If the transmission speed is equal to or higher than the transmission speed of the composite picture stream, the transmission of only the first file may be instructed.
  • the composite picture stream and the single picture stream are composed of a plurality of packets each storing the picture data after the compression encoding, and each of the plurality of packets is
  • the composite picture stream has a first counter value that changes according to the order in which the packets of the composite picture stream and the single picture stream are arranged according to the decoding order of the picture data.
  • the single picture stream may be encrypted.
  • the method according to the present invention refers to at least a plurality of pictures constituting a video with reference to at least a self-decodable first type picture and a picture that has been encoded earlier in time. Classifying the pictures into a second type of picture that can be decoded by the method, compressing each picture data according to the classification, and compressing and coding each picture data. Generating a data stream in which two or more pictures of the second type are consecutively arranged; Outputting in a fixed stream format.
  • FIG. 1 is a diagram showing a data structure of a DVD.
  • FIG. 2 is a diagram showing various types of information included in navigation information embedded in a stream.
  • FIGS. 3A to 3C are diagrams showing a VOB generation procedure
  • D is a diagram showing a configuration of an apparatus for reproducing the generated VOB.
  • FIG. 4 is a diagram showing a configuration of a BD 104 as a disk-shaped recording medium and recorded data 101, 102, and 103.
  • FIG. 5 is a diagram showing a directory 'file structure of logical data recorded on a BD.
  • FIG. 6 is a diagram showing a schematic functional configuration of a player that reads video data from a BD 201 and plays back the video.
  • FIG. 7 is a diagram showing a detailed functional block configuration of a player.
  • FIG. 8 is a diagram showing a concept of a BD application space.
  • FIG. 9 is a diagram showing a relationship between a picture of a video and a data structure of a transport stream.
  • FIG. 10 is a diagram showing a data structure of a TS packet.
  • FIG. 11 is a diagram showing a configuration of a VOB data file and the like, and functional blocks of a player for reading those files.
  • FIG. 12 is a diagram illustrating a VOB data continuous supply model using a track buffer.
  • FIG. 13 is a diagram showing the internal structure of a VOB management information file (“YYY. VOBI”).
  • Figure 14 Indicates the relationship between the playback start time (PTS #k) and addresses (I-start #k and I-end #k) that make up the VOBU information for VOBU #k, and the pictures contained in VOBU #k FIG.
  • FIG. 15 is a diagram showing a data structure of playlist information.
  • FIG. 16 is a diagram showing a data structure of an event handler table (“XXX. PROG”). [17] FIG. 17 is a diagram showing a data structure of information on the entire BD.
  • FIG. 18 is a diagram showing a table ("BD. PROG”) of a program of a global event handler.
  • FIG. 19 is a diagram showing the concept of a time event.
  • FIG. 20 is a diagram showing the concept of a user event for performing a menu operation.
  • FIG. 21 is a diagram showing the concept of a global event.
  • FIG. 22 is a diagram showing a configuration of functional blocks related to a program processor.
  • FIG. 2 is a diagram showing a list of system parameters (SPRM).
  • FIG. 24 is a diagram showing an example of a menu program having two selection buttons.
  • FIG. 25 is a diagram showing an example of an event handler program for a user event of menu selection.
  • FIG. 26 is a diagram showing a basic processing flow up to AV reproduction.
  • FIG. 27 is a diagram showing a processing flow from the start of play list reproduction to the start of VOB reproduction.
  • FIG. 28 is a diagram showing an event processing flow after the start of AV reproduction.
  • FIG. 29 is a diagram showing a flow of subtitle processing.
  • FIG. 30 (a) and (b) are diagrams showing examples of reference correlation of pictures according to the MPEG-2 standard, and (c) is a diagram showing pictures stored in a re-order buffer.
  • FIG. 2D is a diagram showing a configuration of a functional block related to a buffer of the decoder.
  • FIG. 31 is a diagram showing a hardware configuration of a recorder 100 according to an embodiment of the present invention.
  • FIG. 32 is a diagram showing a procedure of an encoding process of the recorder 100.
  • FIGS. 33 (a) and (b) are diagrams illustrating the concept of picture rearrangement relating to the encoding process of recorder 100.
  • FIG. FIG. 34 is a diagram showing a configuration of a decoder 3106.
  • FIG. 35] (a) to (c) are diagrams showing examples of reference correlation of pictures according to the AVC standard.
  • FIGS. 36 (a) to (c) are diagrams showing the relationship between the operation of the BD drive device during special reproduction and the picture read out and displayed for reproduction.
  • FIG. 37 (a) is a diagram showing the operation of the BD drive device during fast reverse playback, and (b) is a diagram showing the operation of the BD drive device during conventional fast reverse playback.
  • FIG. 38 is a diagram showing a BD3105a in which IP picture data and B picture data are recorded as separate files.
  • FIG. 39 is a diagram showing a system configuration of a content distribution system.
  • FIG. 40 is a diagram showing a procedure of processing performed in a server 390.
  • CPU Central processing unit
  • a video is encoded and recorded as a data stream of video data on a DVD or a high-density medium having a recording capacity several times larger than that of a DVD.
  • AVC standard the MPEG4-AVC standard
  • one picture can be constructed by referring to a maximum of 15 pictures.
  • a Blu-ray disc (hereinafter referred to as “BD”) is an example of a high-density medium.
  • a recording device that encodes a video and records it as a data stream, and a data structure of a data stream written to a BD by the recording device will be described.
  • a playback device capable of reading a BD stream of a data stream having such a data structure, decoding the data stream, and playing back a video will be described.
  • Video An image displayed by switching a plurality of pictures one after another at a predetermined vertical scanning frequency.
  • the video includes moving images, still images, subtitles, and other characters and graphics. Moving images and still images are called main images, and subtitles and the like superimposed and displayed in synchronization with the main image are also called sub-images.
  • Picture In the interlaced system, an image composed of two fields of odd lines and even lines, or an image composed of one of odd lines and even lines. In the progressive method, an image composed of one frame.
  • a picture is a concept that represents both frames and fields.
  • I picture A picture that has been compression-coded using only one digital picture data.
  • data of one picture can be decoded using only that data. This is also called self-decoding.
  • P picture One-way inter-picture prediction is performed from a past picture, and the difference value is Pictures.
  • the P picture is compression-coded with reference to one of the I picture or another P picture displayed earlier in time. Therefore, P pictures can be decoded by referring to an I picture or another P picture which is a reference picture.
  • B picture a picture in which a difference value is encoded by performing bidirectional inter-picture prediction from past and future pictures.
  • a B picture is compression-encoded with reference to at least two pictures: a picture displayed earlier in time and a picture displayed later in time.
  • the referenced picture is an I-picture or a P-picture. B pictures that refer to the past two pictures are allowed.
  • SD video Standard-definition video (480i video in NTSC format, 576i video in PAL format)!
  • HD video A high-definition video other than the SD video (for example, a vision video)!
  • the items are (1) BD logical data structure, (2) player configuration, (3) BD application space, (4) VOB details, (5) VOB interleaved recording, (6) navigation data Structure, (7) Playlist data structure, (8) Event generation mechanism, (9) Virtual player machine, (10) Program example, (11) Virtual player processing flow, (12) 1, P picture These are encoding processing for arranging data in a concentrated manner, (13) special playback processing based on centrally arranged I and P picture data, and (14) individual management of I, P and B pictures.
  • the characteristic processing according to the present invention mainly includes item (12) and item (14).
  • FIG. 4 shows a configuration of a BD 104 that is a disk-shaped recording medium and recorded data 101, 102, and 103.
  • the data recorded on the BD 104 is AV data 103, management information on the AV data and BD management information 102 such as an AV playback sequence, and a BD playback program 101 for realizing interactivity.
  • a BD will be described with a focus on an AV application for reproducing AV content of a movie. But it's not limited to this application.
  • FIG. 5 shows a directory 'file structure of logical data recorded on the BD.
  • a BD has a recording area spirally toward the inner and outer circumferences, like other optical discs, for example, DVDs and CDs, and has a data area (logical address space) accessible by a logical address like a DVD. Have. Also, inside the lead-in, there is a special area called BCA (Burst Cutting Area) that can be read only by the drive. Since this area cannot read application power, it may be used for copyright protection technology, for example.
  • BCA Burt Cutting Area
  • application data such as video data is recorded with file system information (volume) at the head.
  • the file system is UDF, ISO9660, etc., as described in the prior art, and the recorded logical data can be read out using the directory and file structure, just like a normal PC.
  • the directory and file structure on the BD are such that the BDVIDEO directory is located immediately below the root directory (ROOT).
  • This directory stores data such as AV content management information handled by BD (data 101, 102, and 103 described in FIG. 4). Directory.
  • BD management information is a file in which information on the entire BD is recorded. The BD player reads this file first.
  • the correspondence with the playlist is identified by the file body name ("XXX" matches).
  • VOB VOB
  • the correspondence with the VOB is identified by the file body name ("YYY" matches).
  • AV data It is a type of “AV data” and is a file in which image data PNG (which is an image format standardized by W3C and read as “bing”) for forming subtitles and menus is recorded.
  • image data PNG which is an image format standardized by W3C and read as “bing” for forming subtitles and menus is recorded.
  • PNG image has one file.
  • FIG. 6 shows a schematic functional configuration of a player that reads video data on the BD 201 and plays back the video.
  • the player has an optical pickup 202, various memories (program recording memory 203, management information recording memory 204, AV recording memory 205), a program processing unit 206, and a management information processing unit 207.
  • the optical pickup 202 reads data from the BD 201.
  • the program processing unit 206 receives the event information such as the information of the playlist to be reproduced and the execution timing of the program from the management information processing unit 207 and performs the process of the program.
  • the program can dynamically change the playlist to be reproduced.
  • the playlist is transmitted to the management information processing unit 207 by reproducing the playlist.
  • the program processing unit 206 receives an event from a user, that is, a request from a remote control key, and executes a program corresponding to the user event, if any.
  • the management information processing unit 207 receives an instruction from the program processing unit 206, analyzes management information of the corresponding playlist and VOB corresponding to the playlist, and instructs the presentation processing unit 208 to reproduce the target AV data. Instruct. Further, the management information processing unit 207 receives the reference time information from the presentation processing unit 208, instructs the presentation processing unit 208 to stop the reproduction of the AV data based on the time information, and executes the program processing unit 206. , An event indicating the program execution timing is generated.
  • the presentation processing unit 208 has a decoder corresponding to each of a moving image, audio, and a caption Z image (still image), and decodes and outputs AV data according to an instruction from the management information processing unit 207.
  • the moving image data and the caption Z image are rendered on the dedicated plane, video plane 210 and image plane 209 after decoding.
  • the synthesis processing unit 211 performs a video synthesis process and outputs the resultant to a display device such as a TV.
  • the processing flow of the player is as follows.
  • Data on the BD 201 is read through the optical pickup 202.
  • the read data corresponds to each data type. Is transferred to the dedicated memory.
  • the BD playback program (the contents of the “BD. PROG” or “XXX. PROG” file) is stored in the program recording memory 203, and the BD management information (“BD. INFO”, “XXX. PL” or “YYY. VOBI”)
  • the AV data (“ ⁇ . VOB” or “ZZZ. PNG”) is transferred to the management information recording memory 204, respectively.
  • the BD reproduction program recorded in the program recording memory 203 is processed by the program processing unit 206. Further, the BD management information recorded in the management information recording memory 204 is processed by the management information processing unit 207. The AV data recorded in the AV recording memory 205 is processed by the presentation processing unit 208.
  • Presentation processing section 208 decodes and outputs each of the moving image, audio, and caption Z image (still image). As a result, the moving image data and the subtitles are rendered on the Z image plane 210 and the image plane 209. Then, the synthesis processing unit 211 synthesizes the video and the subtitles and outputs the synthesized video.
  • the BD player is configured based on the data configuration recorded on the BD shown in FIG. 6.
  • FIG. 7 shows a detailed functional block configuration of the player.
  • the image memory 308 and the track buffer 309 in FIG. 7 correspond to the AV recording memory 205 in FIG. 6, and the program processor 302 and the UOP manager 303 correspond to the program processing unit 206.
  • the scenario processor 305 and the presentation controller 306 correspond to the management information processing unit 207 in FIG. 6, and the clock 307, the demultiplexer 310, the image processor 311, the video processor 312, and the sound processor 313 correspond to the presentation processing unit in FIG. It corresponds to 208.
  • the MPEG stream (VOB data) read from the BD 201 is recorded in the track buffer 309, and the image data (PNG) is recorded in the image memory 308.
  • the demultiplexer 310 extracts VOB data recorded in the track buffer 309 based on the time of the clock 307, sends video data to the video processor 312, and sends audio data to the sound processor 313.
  • the video processor 312 and the sound processor 313 are each composed of a decoder buffer and a decoder according to the MPEG system standard. In other words, the video and audio data sent from the demultiplexer 310 The data is temporarily recorded in each decoder buffer, and is decoded by each decoder according to the clock 307.
  • the PNG recorded in the image memory 308 is processed by one of the following two processing methods.
  • the presentation controller 306 instructs the decoding timing.
  • the time information from the clock 307 is received by the scenario processor 305 and the subtitle display time (start and end) is reached, the presentation controller 306 is instructed to display or not display subtitles so that appropriate subtitle display can be performed.
  • the image processor 311 that has received the decoding / display instruction from the presentation controller 306 extracts the corresponding PNG data from the image memory 308, decodes the data, and draws the data on the image plane 314.
  • the decode timing is instructed by the program processor 302.
  • the program processor 302 instructs the decoding of the image depends on the BD program that the program processor 302 processes!
  • the image data and the video data are output to the image plane 314 and the video plane 315 after decoding, respectively, as described with reference to Fig. 6, and output after being synthesized by the synthesis processing unit 316.
  • the management information (scenario, AV management information) read from BD201 is stored in management information recording memory 304.
  • Scenario information ("BD. INFO" and "XXX. PL"
  • Read processing is performed to 305.
  • the AV management information (“YYY. VOBI”) is read and processed by the presentation controller 306.
  • the scenario processor 305 analyzes the playlist information, instructs the VOB referenced by the playlist and its playback position to the presentation controller 306, and the presentation controller 306 manages the target VOB. Discuss the information (“YYY. VOBI”) and instruct the drive controller 317 to read the target VOB.
  • the drive controller 317 moves the optical pickup according to the instruction of the presentation controller 306, and reads out the target AV data.
  • Read AV data The data is read out to the image memory 308 or the track buffer 309 as described above.
  • the scenario processor 305 monitors the time of the clock 307 and sends an event to the program processor 302 at the timing set in the management information.
  • the BD program (“BD. PROGJ” or “XXX. PROG”) recorded in the program recording memory 301 is executed by the program processor 302.
  • the program processor 302 processes the BD program when an event is sent from the scenario processor 305 or when an event is sent from the UOP manager 303.
  • the UOP manager 303 generates an event for the program processor 302 when a request is sent from a user by a remote control key.
  • FIG. 8 illustrates the concept of the BD application space.
  • a playlist is one playback unit.
  • the playlist is a concatenation of cells, and has a static scenario, which is a playback sequence determined by the order of concatenation, and a dynamic scenario described by a program. Unless there is a dynamic scenario in the program, the playlist specifies only the procedure for playing individual cells in order. Playback with the playlist ends when all cells have been played.
  • the program it is possible to describe a reproduction path that straddles a playlist, and it is possible to dynamically change a reproduction target according to a user selection or a player state.
  • a typical example is a menu.
  • a menu can be defined as a scenario that is played by the user's selection, and represents a dynamic selection of a playlist by a program.
  • the program here refers to an event handler executed by a time event or a user event.
  • the time event is generated based on time information embedded in the playlist. This corresponds to the event output sent from the scenario processor 305 to the program processor 302 described in FIG.
  • the program processor 302 executes an event handler associated with the ID.
  • the program to be executed can direct the playback of another playlist, in which case the current playlist is Playback of the generated playlist is stopped, and transition to playback of the specified playlist is made.
  • a user event is generated by a user's remote control key operation.
  • User events can be broadly divided into two types.
  • the first user event is an event of a menu selection generated by operating a specific key.
  • the specific key is, for example, a cursor key (“up”, “down”, “left”, “right” key) of a BD play, a main body or a remote controller, and a “decision” key.
  • the event handler corresponding to the menu selection event is valid only for a limited period in the playlist.
  • the validity period of each event handler is set as playlist information. A valid event handler is searched when a specific key is pressed, and if there is a valid event handler, the event handler is executed. Otherwise, the menu selection event will be ignored.
  • the second user event is a menu call event generated by operating a specific key.
  • the specific key is, for example, a “menu” key of a BD play, a main body, or a remote control.
  • the global event handler is called.
  • the Glowno event handler is always a valid event handler, independent of playlists.
  • a cell which is a unit constituting a static scenario in a playlist, refers to all or a part of a playback section of a VOB (MPEG stream).
  • the cell has a playback section in the VOB as start and end time information.
  • the VOB management information (VOBI) which is paired with each VOB, has a time map (Time Map or TM), which is table information of recording addresses corresponding to the data reproduction time, inside the VOB management information (VOBI).
  • TM time map
  • FIG. 9 shows a relationship between a picture of a video and a data structure of a transport stream.
  • the bottom row shows the data structure of the VOB, which is composed of one or more VOBUs (Video Object Units).
  • Each VOBU has a video packet (V_PKT) and an audio knock (A-PKT) inside.
  • V_PKT video packet
  • A-PKT audio knock
  • the packet size of each packet is fixed at 188 bytes.
  • the VOBU is configured based on a GOP (Group Of Pictures) referred to in an MPEG-2 video stream, and is a unit of playback as a multiplexed stream including audio data and the like.
  • VOBU includes data within 1.0 seconds or less (usually about 0.5 seconds) of video playback time. In many cases, one GOP contains about 15 frames for NTSC.
  • the TS packet MPEG-2 Transport Stream Packet
  • the TS packet stores a sequence header, a GOP header following it, and I-picture (Intra-coded) data, and decodes from this I-picture. Have been able to start.
  • a "time map" (TMAP or TimeMap) is defined.
  • An entry in the time map is given for each TS packet at the beginning of the VOBU.
  • FIG. 9 shows that an entry (TimeMap Entry # n) is provided for each TS packet at the head of the VOBU.
  • the time map consists of the address (start address) of the TS packet including the head of the I picture data at the beginning of the VOBU, and the address (end) from this start address to the TS packet including the tail of the I picture data. Address) and a playback start time (PTS) of the I picture.
  • arrival time information (Arrival Time Stamp; ATS) indicating the relative decoder supply start time of the TS packet is added.
  • Arriv Time Stamp For the MPEG-2 TS written to the BD, the above-mentioned ATS is added to each TS packet.
  • ATS is assigned to each TS packet because the system rate of this MPEG-2TS is not a fixed rate but a variable rate. Generally, when the system rate is fixed, a dummy TS packet called a NULL packet is inserted. For high-quality recording with limited recording capacity, a variable rate is suitable. So MP EG—A TS is attached to each TS packet of 2TS and recorded on BD.
  • FIG. 10 shows the data structure of a TS packet.
  • the top row shows MPEG-2TS, and each unit shown in MPEG-2TS represents one TS packet!
  • the middle row shows the data structure of the TS packet.
  • the TS packet is composed of a TS packet header, an application field, and a pay port.
  • a packet ID Packet Identifier; PID
  • PID Packet Identifier
  • PCR program clock reference
  • PCR is a reference value of a reference clock (System Time Clock; STC) of a device that decodes the stream.
  • STC System Time Clock
  • the equipment demultiplexes system streams and reconstructs various streams such as video streams.
  • the PES packet is stored in the payload.
  • the bottom part of FIG. 10 shows the data structure of the PES packet.
  • the PES packet includes a packet header (PES Packet Header) and a payload (PES Packet Payload).
  • the packet header and payload together make up a packet (PES Packet).
  • the PES payload is a data storage area of a bucket (PES Packet).
  • the PES payload stores elementary data such as video data and audio data.
  • the PES packet header includes an ID (stream—id) for identifying which stream the data stored in the payload is, a time stamp for decoding and displaying the payload, and a DTS (Decoding Time Stamp). ) And PTS (Presentation Time Stamp). Note that PTSZDTS is not always recorded in all packet headers.
  • FIG. 11 shows the configuration of a VOB data file and the like and the functional blocks of the player for reading those files.
  • Fig. 11 shows the interleaved recording of the VOB data file and the PNG file on the BD.
  • the VOB data file is divided and distributed on the disk.
  • a seek operation is required to move from one continuous section to another, during which data reading stops. In other words, data supply may stop There is.
  • AV data as a series of continuous playback units is recorded continuously.
  • the drive only needs to read out the data sequentially and send it to the decoder, which is also a power that simplifies the processing. Therefore, it is desirable to record the VOB data file in a continuous area.
  • the reason why such a data structure is still used is that there is data such as subtitle data that is reproduced in synchronization with video data recorded in the VOB, and the subtitle data is also reproduced by some method like the VOB file. It is necessary to read BD power. Therefore, it is necessary to divide the VOB data file into several blocks and arrange the subtitle image data (PNG file) between them.
  • PNG file subtitle image data
  • VOB data files ie, MPEG streams
  • PNG ie, image data
  • the track buffer is a FIFO (First In First Out), and input VOB data is sent to the demultiplexer in the order of input.
  • the pack buffer capacity of each pack is also extracted according to the ATS described above, and the data is sent to a video processor or a sound processor via a demultiplexer.
  • the presentation controller specifies which image is to be rendered.
  • the image data used for drawing is deleted from the image memory at the same time if it is subtitle image data. If it is image data for a power menu, it is left in the image memory while the menu is being drawn. This is because menu drawing depends on user operation. There is a case where a part of the menu is redisplayed or replaced with a different image following the operation of the user, and in this case, the image data of the redisplayed part is easily decoded.
  • FIG. 12 shows a VOB data continuous supply model using a track buffer.
  • VOB data is accumulated in the track buffer, if a difference (Va> Vb) is provided between the data input rate to the track buffer (Va) and the data output rate from the track buffer (Vb).
  • Va data input rate to the track buffer
  • Vb data output rate from the track buffer
  • the lower part of FIG. 12 shows the amount of data stored in the track buffer.
  • the horizontal axis indicates time, and the vertical axis indicates the amount of data stored in the track buffer.
  • the time “tl” indicates the time when reading of “al”, which is the start point of the continuous recording area of the VOB, is started. After this time, data is accumulated in the track buffer at the rate Va-Vb.
  • Time “t2” is the time at which reading up to the data “a2”, which is the end point of the continuous recording area, is completed. From time “tl” to “t2", the amount of data in the track buffer increases at the rate Va-Vb, and the data storage amount B (t2) at time “t2” can be obtained by the following equation.
  • Equation 2 B (t2) ⁇ -Vb X (t3-t2) That is, the arrangement of image data (non-VOB data) may be determined so as to satisfy Equation 2.
  • the navigation data (BD management information) structure of the BD will be described with reference to FIGS.
  • FIG. 13 shows the internal structure of the VOB management information file (“YYY. VOBI”).
  • the VOB management information includes stream attribute information (Attribute) of the VOB and a time map (TMAP).
  • the stream attribute has a video attribute (Video) and an audio attribute (Audio # 0 to Audio #m) individually.
  • Video video attribute
  • Audio # 0 to Audio #m audio attribute
  • the time map (TMAP) is a table having information for each VOBU, and has the number of VOBUs (Number) of the VOB and each VOBU information (VOBU # l to VOBU # n).
  • Each piece of VOBU information consists of the start address (I-start) of I-picture data, the offset address (I-end) to the end address of the I-picture, and the playback start time (PTS) of the I-picture. Is done.
  • the address "I-end" is not an offset address to the end address of the I-picture, but is the end address of a specified P-picture among a plurality of P-pictures arranged after the I-picture by the processing described later. Is described.
  • the reference address of the offset is the start address of the I picture at the beginning of the VOBU.
  • an MPEG video stream is a variable bit stream for high quality recording.
  • compression coding is performed at a trait. Therefore, there is no simple correlation between the video playback time and the data size of the video data.
  • FIG. 14 shows the relationship between the playback start time (PTS # k) and addresses (I—start #k and I—end #k) that make up the VOBU information for VOBU #k, and the pictures contained in VOBU #k. Is shown.
  • the reproduction start time (PTS #k) indicates the reproduction start time of the first I picture of VOBU #k.
  • the address (I-start #k) indicates the start address (logical address or physical address of BD) of the I picture data, and the offset address (I-end) indicates the address from the address (I-start) to the end address. Shows the data amount.
  • the player can reproduce the picture power at the reproduction time corresponding to the time when the information at the certain time is given. Specifically, the player first searches which VOBU the time belongs to. This process is performed by referring to the VOBU information (playback start time (PTS) of the first I picture) of each VOBU and comparing it with the time.
  • PTS playback start time
  • I-start an address
  • decoding is started in the order of the I picture data power, and output of the picture power at the time is started. As a result, the picture power display at the specified time is started.
  • FIG. 15 shows a data structure of the playlist information.
  • the playlist information includes a cell list (Cell List) and an event list (EventList).
  • the cell list (CellList) is a reproduction cell sequence in the playlist, and the cells are reproduced in the order described in this list.
  • the contents of the cell list (CellList) are the number of cells (number) and cell information (cell #l to cell #n).
  • the cell information includes a VOB file name (VOBName) and a start time in the VOB.
  • the start time (In) and the end time (Out) are each represented by a frame number in the VOB, and the address of VOB data required for reproduction can be obtained by using the time map (TMAP) described above.
  • the subtitle table (SubtitleTable) has subtitle information to be reproduced in synchronization with the VOB.
  • Subtitles can have multiple languages as well as audio, and the first information in the subtitle table (SubtitleTable) consists of the number of languages (Number) followed by a table for each language (Language # 1 to Language #k). Being done.
  • the table (Language #) for each language includes the language information (Lang), the number of subtitles of individually displayed subtitles (Number), and the subtitle information (Speech #l to Sp subtitle information (Speech #) includes the corresponding image data file name (Name), subtitle display start time (In) and subtitle display end time (Out), and subtitle display position (Position) It is composed.
  • the event list is a table that defines events that occur in the playlist.
  • the event list consists of the number of events (Number) followed by individual events (Event #l to Event #m). Each individual event (Event #) has an event type (Type) and event ID (ID). ), Event occurrence time (Time) and valid period (Duration).
  • FIG. 16 shows the data structure of the event handler table (“XXX. PROG”).
  • the event handler table (“XXX. PROG”) has an event handler (time event and user event for menu selection) for each playlist.
  • the event handler table has a defined number of event handler Z programs (Number) and individual event handler Z programs (Program #l to Program #n).
  • the description in each event handler Z program (Program #) has an event handler ID (ID) that defines the start of the event handler (refer to the event—handler> tag) and the event ID described above.
  • the corresponding program is also described between the parentheses “ ⁇ ” and " ⁇ ” following Function.
  • the events (Event #l to Event #m) stored in the event list (EventList) of "XXX. PL" described above are ,, XXX. PROG "event handler ID (ID).
  • FIG. 17 shows a data structure of information on the entire BD.
  • Information on the entire BD includes a title list (TitleList) and an event table for global events (EventList).
  • the title list (TitleList) is composed of the number of titles (Number) in the disc and title information (Title #l to Title #n) following each title.
  • Each title information (Title #) includes a playlist table (PLTable) included in the title and a chapter list (ChapterList) in the title.
  • the playlist table (PLTable) has the number of playlists in the title (Number) and the playlist name (Name), that is, the playlist file name.
  • the chapter list (ChapterList) is composed of the number of chapters (Number) included in the title and individual chapter information (Chapter #l to Chapter #n).
  • the chapter information (Chapter #) has a table of cells (CellTable) included in the chapter, and the cell table (CellTable) has the number of cells (Number) and the entry information of each cell (CellEntry #l to CellEntry #k). It is configured.
  • the cell entry information (CellEntry #) is described by a playlist name including the cell and a cell number in the playlist.
  • the event list has information on the number of global events (Number) and individual global events. It should be noted here that the first global event defined is the first event (FirstEvent), which is called first when a BD is inserted into the player. Events for global events The information has only the event type (Type) and the ID of the event (ID)!
  • Fig. 18 shows a table ("BD. PROG") of the program of the global event handler. This table has the same contents as the event handler table described in FIG.
  • FIG. 19 illustrates the concept of a time event.
  • the time event is defined by the event list (EventList) of the playlist information ("XXX. PL").
  • EventList the event list of the playlist information
  • XXX. PL the event type
  • the time event having ID "Exl” at the event generation time becomes the scenario process.
  • the program processor searches for an event handler having the event ID "Exl” and executes the target event handler. For example, in the present embodiment, two button images can be drawn.
  • FIG. 20 shows the concept of a user event for performing a menu operation.
  • the user event for performing the menu operation is also defined by the event list (EventList) of the playlist information ("XXX. PL").
  • EventList the event list of the playlist information
  • XXX. PL the event list of the playlist information
  • a UOP event is generated by the UOP manager and transmitted to the program processor. Passed.
  • the program processor sends a UOP event to the scenario processor.
  • the scenario processor searches for a valid user event at the time of receiving the UOP event, and if there is a target user event, generates a user event and passes it to the program processor.
  • the program processor searches for an event handler having the event ID "Evl" and executes the target event handler. For example, in the present embodiment, the reproduction of the playlist # 2 is started.
  • the generated user event includes information on which remote control key was pressed by the user. No information is included.
  • the information of the selected remote control key is transmitted to the program processor by a UOP event, and is recorded and held in the register SPRM (8) of the virtual player.
  • the event handler program can check the value of this register and execute branch processing.
  • FIG. 21 shows the concept of a global event.
  • a global event is defined by an event list (EventList) of information about the entire BD ("BD. INFO").
  • EventList event list
  • Type event type
  • an event is generated only when a remote control key operation is performed by a user.
  • a UOP event is first generated by the UOP manager and sent to the program processor.
  • the program processor sends a UOP event to the scenario processor, and the scenario processor generates a corresponding global event and sends it to the program processor.
  • the program processor searches for an event handler having the event ID "me nu” and executes the target event handler. For example, in the present embodiment, the reproduction of the playlist # 3 is started.
  • menu keys such as a power DVD simply called a "menu" key. It is possible to correspond by defining the ID corresponding to each menu key.
  • FIG. 22 shows the configuration of functional blocks related to the program processor.
  • the program processor is a processing module having a virtual player machine inside.
  • the virtual player machine is a functional model defined in relation to the BD, and does not depend on the specific configuration of each BD player. Therefore, it is guaranteed that the same function can be executed in any BD player.
  • FIG. 6 and FIG. 7 are configurations premised on having the functions described below.
  • the virtual player machine has two main functions. Programming functions (ac) and player variables (registers).
  • the programming functions are, for example, «Java Scri Based on pt, the following three functions are defined as BD-specific functions.
  • (B) PNG rendering function renders the specified PNG data on the image plane.
  • Image plane clear function Clears the designated area of the image plane.
  • the player variables include a system parameter (SPRM) indicating the state of the player and a general parameter (GPRM) that can be used for general purposes.
  • SPRM system parameter
  • GPRM general parameter
  • FIG. 23 is a list of system parameters (SPRM).
  • SPRM (6) Program number SPRM (7): Cell number
  • SPRM (8) Selection key information
  • the programming function of the virtual player is based on Java (registered trademark) Script.
  • other programming functions such as B-Shell used in UNIX (registered trademark) OS and the like, Perl Script, etc. It may be a programming function.
  • the present invention ⁇ o ava (register Trademark) It is not limited to Script.
  • FIG. 24 is an example of a menu program having two selection buttons.
  • "1" is initially set in GPRM (O), one of the general parameters.
  • GPRM (O) is used to identify the button selected in the program.
  • the button 1 arranged on the left side is selected, and the state is defined as an initial value.
  • the drawing of PNG is performed for Button 1 and Button 2 using the drawing function Draw.
  • Button 1 draws a PNG image "lbl ack. Png" starting from the coordinates (10, 200) (left end).
  • Button 2 draws a PNG image "2white.png” starting at the coordinates (330, 200) (left end).
  • the program on the right side of FIG. 24 is executed using a time event.
  • the head force of the cell is also reproduced again by using the Link function.
  • FIG. 25 is an example of a program of an event handler for a user event of menu selection.
  • Condition 1 When button 1 is selected and the selection key is the "right" key: Reset GPRM (O) to 2 and change the selected button to right button 2 . Rewrite the images of Button 1 and Button 2.
  • 26 shows a basic processing flow up to AV reproduction.
  • BD When a BD is inserted (S101), the BD player reads and analyzes a BD. INFO file (S102) and reads a BD. PROG (S103). BD. INFO and BD. P
  • the ROG is both stored in the management information recording memory and analyzed by the scenario processor.
  • the scenario processor generates the first event according to the first event (First Event) information in the BD. INFO file (S104).
  • the generated first event is received by the program processor, and executes an event handler corresponding to the event (S105).
  • playlist playback (PL playback) is not instructed, the player simply waits to accept a user event without playing anything. (S201).
  • the UOP manager issues a UOP event to the program manager (S202).
  • the program manager determines whether the UOP event is a menu key (S203). If it is a menu key, the program manager sends the UOP event to the scenario processor, and the scenario processor generates a user event (S204). . The program processor executes an event handler corresponding to the generated user event (S205).
  • FIG. 27 shows a processing flow until the start of VOB playback is started.
  • the reproduction of the playlist is started by the first event handler or the global event handler (S301).
  • the scenario processor reads and analyzes the playlist information “XXX. PL” (S302) and reads the program information “XXX. PROG” corresponding to the playlist (S303) as information necessary for reproducing the playlist to be reproduced.
  • the scenario processor instructs cell reproduction based on the cell information registered in the playlist (S304).
  • Cell playback means that the scenario processor can make a request to the presentation controller, and the presentation controller starts AV playback (S305).
  • the presentation controller When AV playback is started (S401), the presentation controller reads and analyzes a VOB information file (XXX. VOBI) corresponding to a cell to be played back (S402). The presentation controller specifies the VOBU to start playback and its address using the time map, and instructs the drive controller to specify the read address. The drive controller reads the target VOB data (S403), and the VOB data is sent to the decoder to start playback (S404).
  • VOB information file XXXX. VOBI
  • the presentation controller specifies the VOBU to start playback and its address using the time map, and instructs the drive controller to specify the read address.
  • the drive controller reads the target VOB data (S403), and the VOB data is sent to the decoder to start playback (S404).
  • VOB playback is continued until the playback section of the VOB ends (S405), and when the playback ends, the process moves to the next cell playback S304. If there is no next cell, the reproduction ends (S406).
  • FIG. 28 shows a flow of event processing after the start of AV playback.
  • BD players are event driven.
  • the event processing processes for the time event system, the user event system, and the subtitle display system are started, and the event processing is executed in parallel.
  • the processing up to S501 force S505 is a processing flow of a time event system.
  • the scenario processor confirms whether or not the time event occurrence time has passed through a step (S502) of confirming whether or not the playlist playback has ended (S503). If the time of occurrence of the time event has come, the scenario processor generates a time event (S504), and the program processor receives the time event and executes the event handler (S505).
  • step S503 If the time event occurrence time has not come in step S503, or after the event handler execution processing in step S505, the process returns to step S502 again and repeats the same processing. On the other hand, if it is confirmed in step S502 that the reproduction of the playlist has been completed, the process of the time event system is forcibly terminated.
  • the processing from S601 to S608 is a user event-based processing flow.
  • playlist After the reproduction is started (S601), the process proceeds to a UOP reception confirmation step through a playlist reproduction end confirmation step (S602) (S603). If a UOP has been received, the UOP manager generates a UOP event (S604), and the program processor receiving the UOP event checks whether the UOP event is a menu call (S605). If it is a menu call, the program processor causes the scenario processor to generate an event (S607), and the program processor executes the event handler (S608).
  • step S605 If it is determined in step S605 that the UOP event is not a menu call, it indicates that the UOP event is an event by a cursor key or an “enter” key. In this case, the scenario processor determines whether the current time is within the user event validity period (S6
  • the scenario processor if it is within the validity period, the scenario processor generates a user event (S6
  • the program processor executes the target event handler (S608).
  • step S603 If there is no UOP reception in step S603, if the current time is not within the validity period of the user event in step S606, or after the event handler execution processing in step S608, the process returns to step S602 again and repeats the same processing. If it is confirmed in step S602 that the reproduction of the playlist has ended, the processing of the user event system is forcibly ended.
  • FIG. 29 shows a flow of subtitle processing.
  • the process proceeds to a subtitle rendering start time confirmation step via a playlist reproduction end confirmation step (S702) (S703).
  • the scenario processor instructs the presentation controller to caption drawing
  • the presentation controller instructs the image processor to caption drawing (S704). If it is determined in step S703 that the time is not the caption drawing start time, it is checked whether the time is the caption display end time (S705). If it is determined that it is the subtitle display end time, the presentation controller instructs the image processor to delete the subtitle, and deletes the rendered subtitle from the image plane (S706).
  • step S704 After completion of the subtitle drawing instruction (step S704), the end of the subtitle erasing instruction (step S706), or the confirmation of the subtitle display end time (step S705), it is determined that the time is not the time. Thereafter, the flow returns to step S702, and the same processing is repeated. If it is confirmed in step S702 that the reproduction of the playlist has ended, the processing is forcibly ended.
  • Figs. 30 (a) and 30 (b) show examples of reference correlation of pictures according to the MPEG-2 standard.
  • the MPEG-2 standard a plurality of types of pictures (I picture, P picture and B picture) are defined according to the encoding method.
  • the type of each picture of I, P and B is indicated as “I”, “P” and “B”, respectively.
  • the numbers after I, P, and B indicate the display order in the GOP, and the pictures with the smaller numbers (BO pictures in the figure) are played back in order.
  • the first three pictures B9, BIO, and P11 hatched in FIG. 30 (a) and the like belong to the immediately preceding GOP, and a new GOP is formed for the picture after 12 pictures.
  • Figures 30 (a) and (b) As can be understood from the power, the order of the coded pictures and the order of the displayed pictures (ie, the order of the input pictures) are consistent.
  • a B picture can refer to up to two other pictures.
  • the reference buffer is also called a re-order buffer.
  • FIG. 30 (c) shows a picture stored in the re-order buffer
  • (d) shows a functional block configuration related to the buffer of the decoder.
  • the elementary decoder buffer EB receives the video stream (video elementary stream) and sequentially inputs the video stream to the decoder D.
  • the decoder performs decoding according to the MPEG-2 standard and outputs the decoded data.
  • the decrypted data is temporarily stored in the re-order buffer O or output as it is. By being stored in the re-order buffer O, the picture is referred to when decoding the data later.
  • the B0 picture in Fig. 30 (b) is the P11 picture and the time displayed earlier in time. It is decoded with reference to two pictures of 12 pictures which are displayed later intermittently. Therefore, the encoded data of P11 and 12 pictures are arranged in the video stream before the encoded data of the BO picture. If a P picture is encoded next to an I picture, the reorder buffer becomes full at that point, and the next encoded picture will always be a B picture. As a result, it was not possible to encode two or more P pictures following an I picture.
  • the compression encoding method according to the AVC standard adopted by the recorder according to the present embodiment can also perform the compression encoding using the above-described concept of the I picture, the P picture, and the B picture.
  • the B picture of the AVC standard is allowed to refer to three or more other pictures.
  • FIG. 31 shows a hardware configuration of the recorder 100 according to the present embodiment.
  • the recorder 100 can write data not only to the BD 3105a as a recording medium but also to the hard disk 3105b and the memory card 3105c.
  • the recorder 100 includes a digital tuner 3101a and an analog tuner 3101b, an AD converter 3102, an encoder 3103, a stream processing unit 3104, a decoder 3106, a graphic control unit 3107, a memory 3108, and a CPU node 3113. , A network control unit 3114, an instruction receiving unit 3115, an interface (IZF) unit 3116, a memory card control unit 3117, and a system control unit 3150.
  • the optical disk 3105a is described in the recorder 100.
  • the optical disk 3105a is removable from the optical disk recorder 100, and is not a component of the recorder 100 itself.
  • the memory card 3105c is not a component of the recorder 100 itself.
  • the HDD 3105b is a component of the recorder 100 if it is built in the recorder 100. However, the HDD 3105b is externally connected to the recorder 100, and is not a component of the recorder 100 itself at that time.
  • the digital tuner 3101a receives a digital signal including one or more programs from an antenna.
  • a transport stream transmitted as a digital signal contains packets of multiple programs. Buckets of multiple programs The transport stream that includes the transport stream is called "full TS”.
  • the digital tuner 3101a performs channel selection, extracts only packets of a program that requires the full TS capability, and outputs it as a "partial TS”.
  • the procedure for extracting a packet of a desired channel from a full TS is as follows. Let X be the program number (channel number) of the desired program. First, the program guide packet is searched from the full TS. Since 0 is always given to the packet ID (PID) of the program guide packet, it is sufficient to search for a packet having that value.
  • the program table in the program guide packet stores each program number and the PID of the program correspondence table packet of each program corresponding to the program number. Thus, the packet HD (PID) of the program correspondence table PMT corresponding to the program number X can be specified.
  • Let XX be the PID of the program correspondence table PMT.
  • a program correspondence table PMT corresponding to program number X is obtained.
  • the program correspondence table PMT stores, for each program, the PID of a TS packet storing video / audio information and the like constituting each program to be viewed.
  • the PID of the video information of program number X is XV
  • the PID of the audio information is XA.
  • the analog tuner 3101b receives the analog signal with the antenna force, and selects a signal based on the frequency based on V to extract a signal of a necessary program. Then, the video and audio signals of the program are output to the AD converter 3102.
  • the signal system of the input digital signal and analog signal is one each, which can include not only video but also audio.
  • the AD converter 3102 converts the input signal into a digital signal and supplies it to the encoder 3103.
  • the encoder 3103 Upon receiving the recording start instruction, the encoder 3103 generates a stream (hereinafter referred to as an “AVC stream”) in which the supplied analog broadcast digital data is compressed and coded into an AVC standard format, and the stream processing is performed. Enter it in the part 3104. This process is continued until the encoder 3103 receives the recording end instruction.
  • the encoder 3103 has a buffer (not shown) for temporarily storing reference pictures and the like in order to perform compression encoding.
  • the stream processing unit 3104 also generates a TS using the AVC stream power received from the encoder 3103 when recording a moving image. Alternatively, the stream processing unit 3104 receives the partial TS from the digital tuner 310 la. Upon receiving the partial TS, the stream processing unit 3104 confirms that the AVC stream is not included in the partial TS, and outputs the partial TS to the decoder 3106. The reason is that the processing according to the present embodiment is applied to generate encoded video data and write it to a recording medium.
  • the stream processing unit 3104 When the stream processing unit 3104 receives the AVC stream that has been decoded by the decoder 3106 and then re-encoded by the encoder 3103 that performs the processing of the present embodiment, it generates the AVC stream power TS. I do. As a result, the stream processing unit 3104 can receive the AVC standard stream and record it on the recording medium as MPEG-2TS. Note that an AVC stream instead of a TS may be written to the memory card 3105c or the like.
  • the processing when a partial TS is input is called so-called re-encoding processing.
  • the recorder 100 may not perform the re-encoding process.
  • the stream processing unit 3104 can write the received TS or partial TS to the BD 3105a, the HDD 3105b, and / or the memory card 3105c as usual.
  • the stream processing unit 3104 reads a transport stream from the BD 3105a and Z or the HDD 3105b when playing a moving image, and outputs the transport stream to the decoder 3106.
  • the stream processing unit 3104 can receive the AVC stream stored in the memory card 3105c from the memory card control unit 3117 described below, and output it to the decoder 3106.
  • the stream processing unit 3104 includes the BD 3105a and the Z or the HDD 31 Forces described as recording transport streams or reading transport streams from them in 05b. This is for convenience of explanation.
  • the writing and reading of the transport stream to and from the BD3105a and the HDD3105b are actually performed by the drive controllers provided in each drive device as the disk rotates and the head moves.
  • the decoder 3106 analyzes the supplied transport stream to obtain compression encoded data. Then, the compressed code data is decompressed and converted into uncompressed data, and supplied to the traffic control unit 3107. Also, the decoder 3106 can convert not only AVC streams but also still image data according to the JPEG standard into uncompressed data.
  • the graphic control unit 3107 is connected to a memory 3108 for internal calculation, and can realize an on-screen display (OSD) function. For example, the Dallas control unit 3107 can combine various menu images and videos and output them to the TV 3229 connected to the outside of the BD recorder 100.
  • OSD on-screen display
  • the CPU bus 3113 is a path for transmitting signals in the recorder 100, and is connected to each functional block as illustrated. Further, each component of a system control unit 3150 described later is also connected to the CPU bus 3113.
  • the network control unit 3114 is an interface for connecting the recorder 100 to a network 3160 such as the Internet, and is, for example, a terminal and a controller compliant with the Ethernet (registered trademark) standard.
  • the network control unit 3114 sends and receives data via the network 3160.
  • This data is, for example, program table data relating to a broadcast program or update data of a software program for controlling the operation of the recorder 100.
  • the instruction receiving unit 3115 is an operation button provided on the main body of the recorder 100, or a light receiving unit that receives infrared rays even by a remote controller.
  • the instruction receiving unit 3115 gives an instruction from the user, for example, to start recording, to stop Z, to start playback of the recorded program, to stop Z, or to copy a still image of the loaded memory card 3105c to the BD 3105a or the HDD 3105b. .
  • the interface (IZF) unit 3116 is a core for the recorder 100 to communicate with other devices. Controls the nectar and its communication.
  • the 1 unit 3116 includes, for example, a USB 2.0 standard terminal, an IEEE 1394 standard terminal, and a controller that enables data communication according to each standard, and can transmit and receive data in a system conforming to each standard.
  • the recorder 100 is connected to a PC, a camcorder (not shown), or the like via a USB 2.0 standard terminal, and is connected to a digital Hi-Vision tuner, a camcorder (not shown), or the like via an IEE E1394 standard terminal. Connected.
  • the memory card control unit 3117 is a slot for loading the memory card 3105c into the recorder 100 and a controller for controlling data communication between the recorder 100 and the memory card 3105c.
  • the memory card control unit 3117 reads an AVC stream or the like from the loaded memory card 3105c, and transmits it to the CPU bus 3113.
  • the system control unit 3150 controls the overall processing including the flow of signals in the recorder 100.
  • the system control unit 3150 has a program ROM 3110, a central processing unit (CPU) 3111, and a RAM 3112. Each is connected to the CPU bus 3113.
  • the program ROM 3110 stores a software program for controlling the recorder 100.
  • the CPU 3111 is a central control unit that controls the entire operation of the recorder 100.
  • the CPU 3111 reads and executes the program to generate a control signal for implementing a process defined based on the program, and outputs the control signal to each component via the CPU bus 3113.
  • the memory 3112 has a work area for storing data necessary for the CPU 3111 to execute a program.
  • the CPU 3111 reads a program from the program ROM 3110 to the random access memory (RAM) 3112 by using the CPU bus 3113, and executes the program.
  • the computer program is recorded on a recording medium such as a CD-ROM and distributed on the market, or transmitted through a telecommunication line such as the Internet.
  • a computer system configured using a PC or the like can be operated as a data processing device having functions equivalent to those of the recorder 100 according to the present embodiment.
  • FIG. 32 shows the procedure of the encoding process of recorder 100.
  • the encoder 3103 receives the picture data of each picture constituting the video via the AD converter 3102. Then, each picture is classified as an I, P, or B picture, and each picture data is compression-coded according to the classification.
  • the I picture does not refer to other pictures, it is effective to use it when the correlation with other pictures is low. For example, when a video called a scene change is switched to V or video that has no correlation at all, it is often switched with an I picture!
  • the maximum number of reference pictures is two, and it is coded in a pattern consisting of one P-picture and two B-pictures It is often done.
  • step S802 the encoder 3103 outputs encoded picture data so that the I picture and two or more P pictures are arranged in order from the top of the GOP.
  • step S803 the encoder 3103 arranges and outputs B picture data after the picture data of the I and P pictures.
  • step S804 the encoder 3103 determines whether or not all the encoded picture data to be included in one GOP have been output. When all the encoded picture data have been output, the process proceeds to step S805, and when not completed, the process returns to step S802 to continue the encoding process.
  • step S805 when the video signal is continuously input, the process returns to step S801, recorder 100 continuously receives the video signal, and encoder 3103 compresses and encodes each picture data belonging to the next GOP. .
  • step S802 and step S803 Details of these processes will be described with reference to FIG.
  • FIGS. 33 (a) and 33 (b) show the concept of picture rearrangement for the encoding process of recorder 100.
  • FIG. 33 (a) shows each input picture.
  • the numbers attached indicate the order of the input pictures, in other words, the order of the pictures to be displayed.
  • Picture 0 In this order, each picture is sequentially switched at a predetermined vertical scanning frequency, so that a moving image is displayed.
  • picture 2 is encoded as an I picture (12) and pictures 5 and 8 are encoded as P pictures (P5 and P8).
  • Other pictures are coded as B pictures. Assume that one GOP is composed of pictures 0 to 8.
  • FIG. 33 (b) shows the order of pictures that are coded and written to the BD 3105a.
  • the encoder 3103 arranges the I picture (12) and the two P pictures (P5 and P8) of the coded picture in the order of the head of the GOP (n) as well, and places the remaining B pictures in the Has been placed. That is, the I picture and the P picture are collectively arranged at the head of the GOP.
  • the stream processing unit 3104 outputs encoded data in which pictures are arranged by the encoder 3103 in the order shown in FIG. 33 (b) to the BD 3105a as a transport stream while maintaining this order. As a result, the transport stream is written to BD3105a.
  • the encoded data is read, the I picture (12) and the P picture (P5 and P8) are read in order.
  • the encoded data is drawn continuously. This merely indicates that they are logically continuous, and is not limited to being written to physically continuous areas.
  • the recorder 100 has a re-order buffer capable of storing five pieces of picture data. Therefore, even if two or more P pictures (P5 and P8 pictures) are arranged successively after an I picture (12 pictures) as shown in the figure, decoding processing is possible.
  • the TMAP shown in Fig. 13 is generated.
  • VOBU information is described in the time map (TMAP).
  • the offset address from the start address (I-start) of the 12-picture data to the end address of the last P-picture (ie, P8 picture) of the succeeding P-pictures The address is described as "I-end".
  • the CPU 3111 instructs the stream processing unit 3104 to describe such an address. Based on the instruction, the stream processing unit 3104 describes the specified offset address in “I_end” in the VOBU information in TMAP * 5.
  • each I, P, and B picture as shown in FIG. 33 (b), it is possible to greatly reduce processing efficiency at the time of decoding and at the time of reproduction (particularly at the time of special reproduction). .
  • the configuration of the decoder 3106 will be described first with reference to FIG.
  • FIG. 34 is a diagram showing a configuration of the decoder 3106.
  • FIG. 34 also shows the configuration of a graphic control unit 3107 for synthesizing video.
  • the video data and audio data are individually input. This is because the optical head reads the transport stream in BD format, the transport stream is received by the demultiplexer, and the video data and audio data are input. This is a result of separating the data into stored packets and outputting the separated packets.
  • the demultiplexer has the same function as, for example, the demultiplexer 3100 in FIG.
  • the decoder 3106 of the recorder 100 is roughly divided into an input buffer 3121 and a decoder unit 3121.
  • the input canvas 3121 has a buffer for storing moving image data and audio data in a plurality of stages. Also, the decoder unit 3122 decodes video data and audio data that have been compression-encoded based on the AVC standard.
  • the output buffer unit 3123 controls the output of the picture data.
  • the output buffer unit 3123 includes a re-order buffer 3205.
  • the output buffer unit 3123 has a switch for switching between the output from the re-order buffer 3205 and the output from the video decoder 3204.
  • the re-order buffer 3205 has a capacity capable of storing data of five pictures.
  • the AVC standard has a high degree of freedom in coding. This is because it is permissible to refer to a maximum of 15 pictures to decode a texture. Note that the maximum number of reference pictures is determined according to the level specified in the AVC standard.
  • the re-order buffer 3205 holds the picture for the next picture in the encoding order, and It is read and referred to when decoding other pictures. On the other hand, if the reference is not made from another picture, the picture is not stored in the reorder buffer 3205 and is output as it is.
  • the decoder 3106 may be realized as one decoder chip. Therefore, the input buffer 3121, the decoder 3122, and the output buffer 3123 can be implemented on one chip.
  • the data of the AVC stream is transferred to the video decoder line, and is temporarily stored in the elementary buffer EB (3203) from the transport buffer TB (3201) through the multiplexing buffer MB (3202).
  • the picture data stored in the EB (3203) is transferred to the video decoder 3204 and decoded at the moment when the designated decoding time (DTS) comes.
  • the pictures (I-pictures, P-pictures) to which other picture powers are also referred are transferred to the reorder buffer 0 (3205) and used for decoding other pictures.
  • Each picture is sent to the TV3229 at the playback time (PTS).
  • Figs. 35 (a) to 35 (c) show examples of reference correlation of pictures according to the AVC standard.
  • the notation in each figure in FIG. 35 is the same as that in FIG. That is, the type of each picture of I, P and B is indicated as “I”, “P” and “B”, respectively.
  • the numbers after I, P, and B indicate the display order in the GOP, and the pictures are reproduced in order from the picture with the smallest number (B0 picture in the figure).
  • the first three pictures B4, B6, and B7 hatched in Fig. 35 (a) etc. belong to the previous GOP (k-1), and after the 12th picture, the new GOP (k) Assume that it is configured.
  • Fig. 35 (a) shows an arrangement of pictures of an AVC stream encoded based on an input picture. As described with reference to FIG. 32 and FIG. In other words, I picture (12) and P pictures (P5 and P8) are arranged in the order of GOP (n), followed by the remaining B pictures.
  • FIG. 35 (b) shows the order of pictures displayed during video playback. At the time of compression encoding, each picture is input in the order shown in FIG. Therefore, the video is played back in that order when it is played back. As shown by the solid arrows in FIG. 35 (b), the BO picture is decoded with reference to three pictures: P8 picture, 12 picture and P5 picture. Therefore, in the AVC stream, the referenced P8 picture, 12 picture, and P5 picture are arranged before the data of the BO picture.
  • the recorder 100 first decodes 12 pictures. After that, the P5 picture is decoded without referring to the immediately preceding 12 pictures. Then, it decodes the 12 pictures and the P8 picture that does not refer to the Z or P5 picture. No other picture data is required for decoding.
  • FIG. 35 (c) shows picture data stored in the re-order buffer 3205. It is understood that when the data of 12 pictures, P5 picture and P8 picture are read in the order shown in FIG. 35 (a), they are stored in the re-order buffer 3205 accordingly.
  • the read data is referred to when decoding a BO picture or the like later, and is output when the display order of each picture comes. Even after the I and P pictures have been reproduced and output, their data are retained in the re-order buffer 3205. These are colors that can be referenced by subsequent B pictures.
  • all P and B pictures in one GOP are constructed with reference to only I or P pictures in the same GOP. It may be done. In this case, even if data of a plurality of pictures to which different GOPs belong are stored in the 'order' buffer 3205, they are not particularly related to each other.
  • This trick play process is assumed to be fast-forward playback performed by the instruction receiving unit 3115 based on a command input by the user.
  • fast forward reproduction is realized by reproducing only an I picture and a P picture. Therefore, description will be made assuming that the recorder 100 according to the present embodiment also realizes fast-forward playback by playing back only I-pictures and P-pictures.
  • Figs. 36 (a) to 36 (c) show the relationship between the operation of the BD drive device during trick play and the pictures read out and displayed for reproduction.
  • (A) shows the operation state of the drive device, and
  • (b) shows the picture arrangement corresponding to the operation.
  • the CPU 3111 of the recorder 100 accesses the address (I-start) of the I picture shown in FIG. At this time, up to the address, the first seek shown in (a) is performed, and the pictures B4, B6 and B7 shown in (b) are skipped.
  • FIG. 36 (a) shows that the drive operation is read (“read”) for the 12, P5 and P8 pictures.
  • the address "I-end” indicates the last P picture. 1S It is not necessary to limit to this.
  • the value of N is described in the area such as the time map to control the precision of the special playback for each stream. You may.
  • FIG. 36 (c) shows a picture to be reproduced and displayed. It can be seen that 12 pictures, P5 and P8 pictures are being played. Since the second, fifth, and eighth pictures are displayed in order, it can be said that fast-forward playback is being performed. At the time of special playback, by reading I and P pictures that are centrally arranged, decoding and displaying them, High-speed playback (skip playback) becomes possible.
  • FIG. 37 (a) shows the operation of the BD drive device during fast reverse playback.
  • the picture group shown in FIG. 37 (a) is successively switched to the picture on the left side and the picture on the right side, so that a video is displayed.
  • fast-forward playback is also described as being realized by playing back only I-pictures and P-pictures.
  • the recorder 100 shows the information (I-start) of the address of the 12th picture located at the rightmost of the I pictures shown in Fig. 37 (a).
  • the VOB U information (VOBU # k) shown in Fig. 13 is also acquired.
  • seek (0) is performed to specify the address (I-star t).
  • the picture data is read by the data amount indicated by the address “I-end”.
  • This read processing is shown as read (1) in FIG.
  • the data of the three pictures targeted for reading (1) are stored in, for example, the input buffer 3121, so that once they are read, there is no need to read them again.
  • the decoder 3106 outputs pictures in the order of P8, P5 and 12 among the obtained picture data. As a result, these pictures are reproduced and displayed.
  • seek (2) is performed up to the address where the data of the twelve pictures arranged immediately before is stored in parallel with the above-described decoding and reproduction / display processing.
  • this seek (2) means a jump to the head position of the previous GOP.
  • the data of 12, P5 and P8 pictures are continuously read, decoded, and reproduced and output in the order of P8, P5 and 12 pictures.
  • seek (4) is performed up to the address where the previous I picture is stored, and the same processing is performed thereafter.
  • FIG. 37 (b) shows the operation of the BD drive during the conventional fast reverse playback.
  • the picture groups are arranged in the order of 12, BO, Bl, P5, B3, B4, P8, B6, B7 from the top of each GOP.
  • the I picture and the P picture are coded at positions separated from each other, and the playback device cannot specify the position of the P picture in advance. Therefore, it can be said that high-speed playback (IP playback) using I-pictures and P-pictures can be realized only by reading all pictures and displaying only I- and P-pictures among them.
  • the read position is moved to the head data position of the rightmost 12 pictures (seek (0)). Then, the reading of the position force data is started.
  • the fast reverse playback shown in Fig. 37 (b) it is necessary to start with the playback of the P5 picture first. Therefore, after reading the data of 12 pictures, the reading is continued as it is, and the data of the P5 picture is obtained ( Lead (1)).
  • data of BO and B1 pictures existing between 12 pictures and P5 pictures are also read continuously. Thereafter, the I2 picture is decoded and stored in the re-order buffer, and then the P5 picture is decoded and output with reference to the stored 12 pictures.
  • the read position is returned to the start position of the 12 pictures again (seek (2)), and 12 pictures are read again (read (3)).
  • the reason for reading the 12 pictures again is that after reading the P5 picture, the re-order buffer is reset and no data of 12 pictures remains! /.
  • the AVC stream according to the present embodiment is used to control the operation of the drive device by collectively reading the 12, P5 and P8 pictures arranged at the beginning of the GOP. Can be simplified. Of course, the access time can be reduced.
  • IP picture data an AVC stream including I-picture and P-picture data
  • B-picture data an AVC stream including B-picture data
  • the IP picture data is a composite picture stream including I-picture and P-picture data, and all pictures refer only to the composite picture.
  • B-picture data is a single-picture stream containing only B-picture data. If there is no IP picture data, B-picture data cannot be decoded.
  • FIG. 38 shows a BD3105a in which IP picture data and B picture data are recorded as separate files.
  • IP picture data is managed as file A
  • B picture data is managed as file B.
  • file A data of 12, P5 and P8 pictures belonging to GOP (n ⁇ 1) are arranged in order. After that, data of 12, P5 and P8 pictures belonging to GOP (n) are arranged in order.
  • file B the data of the B picture group (B0, B1, B3, B4, B6, B7) belonging to GOP (n-l) is arranged in order, and then the B picture belonging to GOP (n) The data of the picture group (B0, B1, B3, B4, B6, B7) is arranged.
  • the recording areas of the files A and B on the BD 3105a can be physically different.
  • file A for BD3105a The file B may be recorded in the area from the outer circumference and the file B may be recorded in the area from the inner circumference of the BD 3105a, or vice versa. Since it is required to always read the IP picture data, it is effective to record the file A in an easy-to-read area (for example, an area from the outer edge of the disc). Also, since the IP picture data has a relatively large amount of data, by recording in a region where the load exerted on the drive device for rotating the BD3105a is relatively small, the drive device can stably store the file A. It becomes possible to read.
  • the trick play process is simplified. That is, since decoding and playback output are possible only with I and P pictures in file A, reading only file A enables playback with only I and P pictures, that is, fast forward Z return playback, etc. Special reproduction can be easily realized.
  • a continuity counter is defined in a packet header placed at the head of each packet.
  • the ⁇ continuity '' counter is a value managed for each packet ID (PID). For a packet having the same packet ID (PID), it is sequentially counted from 1 according to the order in which the packets are arranged. This is the value to be added. When the specified value is reached, the value is reset to 1 and is increased again by 1. It is the device that generated the transport stream that manages the continuity 'counter and assigns it to each packet.
  • a continuous continuity 'counter is added to a series of packets storing picture data constituting one GOP distributed to files A and B.
  • the value of the continuity counter of the packet storing the data of 12, P5 and P8 pictures in file A increases in order.
  • file B
  • the first packet storing the picture data of the B0 picture stores a value obtained by adding 1 to the counter value of the last packet storing the data of the P8 picture.
  • a series of picture data stored only in file A is stored.
  • a counter similar to the continuity-utility counter is defined. Specifically, each packet is given a counter value that changes by one according to the order in which the packets are arranged according to the decoding order of each picture data.
  • This counter for only the packet group of file A is hereinafter referred to as “special playback counter”.
  • the special reproduction counter is represented by, for example, 5 bits (1 to 31), and is described in a field different from a normal continuity 'counter.
  • the recorder resets the counter value of the special playback counter of the next packet to 1 and increases it again by one.
  • the client confirms that the counter for special playback is increasing in order, so that the packet arrangement order can be specified and the presence or absence of packet loss can be confirmed. it can.
  • file A is placed in a state where the user of the system can download it without any restrictions.
  • file B the B picture data included in the file is encrypted! If the user downloads file A, the user can grasp the outline and image quality of the movie. Then, when the user purchases the content, obtains a decryption key or the like, and is authenticated, the user can decrypt and reproduce the encrypted B-picture data. Because the I and P pictures can be played along with the B picture, the contents can be played normally using files A and B. Since all data in the content cannot be copied in a reproducible manner, the copyright of the content can be reliably protected. It should be noted that when the encryption is performed is arbitrary.
  • the stream processing unit 3104 may perform encryption processing in real time. Alternatively, after writing the entire AVC stream to the BD 3105a or the like, the stream processing unit 3104 may perform encryption processing only on the B picture data and write the file B as a file. Furthermore, the ability to use any encryption technology is also arbitrary. For example, encryption can be performed using AES (Advanced Encryption Standard) technology. Details such as the principle of this encryption technology are well known. Therefore, the description is omitted.
  • AES Advanced Encryption Standard
  • Figure 39 shows the system configuration of the content distribution system.
  • the system includes Sano 390 and at least one client (clients 391 and 392 in FIG. 39).
  • Sano 390 and clients 391 and 392 are connected via a network.
  • the server 390 mainly has the same configuration as the recorder 100 shown in FIG.
  • the AVC stream of the content is stored separately for file A containing IP picture data and file B containing B picture data.
  • B picture data may be encrypted and stored in file B.
  • the server 390 may generate the AVC stream by itself and write the AVC stream on a recording medium, or another device (for example, the recorder 100) may generate the AVC stream.
  • the AVC stream exists on a recording medium accessible by the server 390.
  • One of the main features of this system is that, depending on the performance of the server, such as the server's 390 power and the communication speed, it is possible to change whether files A and B are transmitted or only file A is transmitted. It is in. For example, it is assumed that the performance of the communication line between the server 390 and the client is 100 Mbps, which is relatively high for the client 391, and 10 Mbps, which is relatively low for the client 392.
  • the server 390 transmits data of both files A and B.
  • data of only the file A is transmitted.
  • FIG. 40 shows a procedure of processing performed in server 390.
  • the CPU 3111 of the Sano 390 receives a content distribution request from a client via the network control unit 3114.
  • the network control unit 3114 specifies the performance of the client such as hardware performance and communication performance. That is, the performance information is acquired.
  • the server 390 when communication with the server 390 is started, a request is made to the user of the client to provide the information, and the resulting numerical value or the like is obtained as performance information.
  • the time is measured by the client. It can also be obtained as performance information integrating the performance (decoding ability) and communication speed.
  • step S903 the CPU 3111 of the server 390 determines whether or not all the pictures can be reproduced on the client side based on the performance of the client specified by the performance information. If it is determined that reproduction is possible, the process proceeds to step S904. If it is determined that reproduction is not possible, the process proceeds to step S905.
  • step S904 the network control unit 3114 of the server 390 transmits the picture data of all the pictures read out, that is, the data of both files A and B, based on the instruction of the CPU 3111.
  • the IP picture data of file A and the B picture data of file B may be transmitted alternately in GOP units.
  • step S905 the CPU 3111 of the SANO 390 further determines whether or not I and P pictures can be reproduced. If the I and P pictures can be reproduced, the process proceeds to step S906. If the I and P pictures cannot be reproduced, the process ends without transmitting the difference between the files A and B. The reason for including step S905 is to prevent the I / P picture from being transmitted even though it cannot be played back, since this would unnecessarily increase the processing load and communication load on the server 390. is there.
  • step S906 server 390 transmits the IP picture data, and upon completion of the transmission, the process ends.
  • step S903 and step S905 the determination in step S903 and step S905 is performed. Therefore, it can be said that the server 390 has at least two criteria in the program ROM 3110, for example. For example, suppose that the content to be transmitted is HD video, the transmission speed of IP picture data is 20 Mbps, and the transmission speed of B picture data is 10 Mbps. At this time, the transmission speed required to transmit both the IP picture data and the B picture data requires 30 Mbps, which is the sum of the transmission speeds. At this time, in step S903, it is based on whether communication is possible at 30 Mbps or more. In step S905, it is determined whether communication is possible at 20 Mbps or more (and less than 30 Mbps). Just fine.
  • these criteria are further separately defined according to whether the content to be transmitted is HD video or SD video.
  • the above-described criteria may be applied if the content is HD video, and if the content is SD video, communication may be performed at 15 Mbps and the processing capability may be determined.
  • it may be further defined separately depending on whether the client is a general home appliance, such as a mobile phone or a portable information device (Personal Digital Assistant; PDA). Since the screen of mobile phones is small, the display size of images can be reduced. Even if the picture is not switched at 30 pictures per second, the picture can be sufficiently viewed even if transmitted at a lower rate, for example, 15 pictures per second. Therefore, when the client is a mobile phone or the like, the above criteria can be set lower.
  • the client performance is determined before transmission, and the data to be transmitted (file to be transmitted) is determined based on the determination result!
  • the data to be transmitted may be dynamically changed according to the change in performance.
  • the communication speed generally fluctuates during communication. Therefore, the server 390 transmits the IP picture data (file A) and the B picture data (file B) while maintaining the communication speed equal to or higher than the predetermined criterion, and detects that the communication speed is lower than the criterion. Stop sending B picture data (File B) and send only IP picture data (File A)!). If B-picture data continues to be transmitted even though the communication speed is decreasing, transmission of IP picture data may fail.
  • the B picture data is decoded using the IP picture data, if transmission of the IP picture data fails, one GOP is all recovered. May not be able to issue. Therefore, it is very useful to change the data to be transmitted in response to a change in performance until the transmission is completed.
  • file A is transmitted to a client connected by a relatively low-speed communication line. However, only file A may be transmitted to a client connected with a relatively high-speed communication line. At this time, using a high-speed communication line, the file A storing the IP picture data of a plurality of video contents may be transmitted collectively, taking advantage of this advantage.
  • B picture data includes only B pictures.
  • the present invention is not limited to this, and may include B picture data (file B) and P pictures.
  • the configuration and processing of hardware suitable for application to the MPEG-4 AVC standard stream have been described.
  • the target to which the present invention is applied is not limited to the MPEG-4 AVC standard stream.
  • it is a coded stream generated using a video coding scheme having a high degree of freedom, the coding order and the reproduction order are significantly different from the coding scheme of the MPEG-2 standard. More specifically, it is encoded using I, P, and B pictures, and has a GOP (a group of pictures in which I picture data is arranged at the beginning and includes a finite number of picture data).
  • the present invention can be applied to a data stream that can be thought of as follows.
  • the reference buffer re-order buffer
  • one or more P pictures are placed after the I picture at the head of the GOP, and B pictures are placed after that. What is necessary is just to specify so that decoding is possible. As a result, trick play can be performed more efficiently.
  • the offset address to the end address of the last picture is described in the value of the "I-end" field of the VOBU information.
  • the VOBU information is part of the management information and is independent of the data stream. However, such information can also be described inside the data stream or in other management information fields.
  • the "I-end" field an address offset to the last position of the I picture data is described. The advantage of this is that the playback device The point is that the special playback method can be selected in advance, and I-picture only playback or I- and P-picture playback can be selected.
  • an "I-endl” field and an “I-end2" field are provided, and an address offset to the end position of the I picture data is described in the "I-endl” field.
  • the field may describe the address offset to the end position of the last picture data among the picture data of the I and P pictures arranged together by the above processing.
  • the playback device reads from I-start to I-endl when playing back only I-pictures, and reads up to I-end2 when playing back IP pictures. As a result, the playback device can select a different trick play method, and realize trick play according to the selection.
  • the embodiment has been described in which the AVC stream is used by using the MPEG-2TS system target decoder (T-STD).
  • T-STD MPEG-2TS system target decoder
  • this is an example, and the method of multiplexing elementary streams such as video and audio is arbitrary, and may be stored using MPEG-PS or other multiplexed streams of video and audio.
  • the data processing device of the present invention with respect to picture data after compression coding of video data, a picture encoded temporally before a picture of the first type that can be self-decoded. Only two or more pictures of the second type that can be decoded by referring to only one are arranged consecutively. Since decoding processing is possible if picture data exists continuously, it is possible to easily perform high-speed reproduction (e.g., at the time of decoding processing for special reproduction, by reading them all together and performing subsequent decoding processing). Skip playback) becomes possible. Special reproduction can be realized with good response according to the request from the user, and special reproduction can be supported.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

 映像の特殊再生を支援するデータ構造、そのようなデータ構造を提供する符号化処理およびそのようなデータ構造を利用した復号化処理を提供する。  データ処理装置は、複数のピクチャを切り替えて表示される映像のデータを圧縮符号化して、データストリームを生成するエンコーダと、データストリームを所定のストリーム形式で出力する処理部とを備えている。映像のデータは、複数のピクチャの各々に対応するピクチャデータを含んでいる。エンコーダは、複数のピクチャを、少なくとも、自己復号化可能な第1タイプのピクチャ、および、時間的に前に符号化されたピクチャのみを参照することによって復号化可能な第2タイプのピクチャに分類し、分類にしたがって各ピクチャデータを圧縮符号化する。そして、圧縮符号化後の各ピクチャデータに関し、第1タイプのピクチャの後に2以上の第2タイプのピクチャを連続して配置したデータストリームを生成する。

Description

明 細 書
データ処理装置、サーバおよびデータ処理方法
技術分野
[0001] 本発明は、適切なランダムアクセス性を確保した符号ィ匕映像情報の処理に関する。
背景技術
[0002] 近年、 DVDメディア(以下単に「DVD」と記す)は非常に普及してきて 、る。中でも 、 DVD— Videoディスクは映画等を収録したパッケージソフトとして既に市場に多く 出回っている。
[0003] 図 1は、 DVDのデータ構造を示す。図 1の下段に示すように、 DVDの最内周のリ ードインカ 最外周のリードアウトまでの間の領域には論理アドレスが割り当てられ、 その論理アドレスに基づ 、て論理データが記録される。論理アドレスに基づ 、てァク セス可能なデータ領域 (論理アドレス空間)の先頭以降には、ファイルシステムのボリ ユーム情報が記録され、続いて映像 '音声などのアプリケーションデータが記録され ている。
[0004] ファイルシステムとは、 ISO9660、 UDF (Universal Disc Format)等を表しており、 ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で管理するシステムで ある。 日常使って 、る PC (パーソナルコンピュータ)の場合でも、 FATまたは NTFSと 呼ばれるファイルシステムを通すことにより、ディレクトリ、ファイル等のデータ構造で ハードディスクに記録されたデータがコンピュータ上で表現され、ユーザピリティを高 めている。
[0005] DVDでは、 UDFおよび ISO9660の両方のファイルシステムが利用され(両方を合 わせて「UDFブリッジ」と呼ぶことがある)、 UDFまたは ISO9660どちらのファイルシ ステムドライバによってもデータの読み出しができるようになつている。いうまでもなぐ 書き換え型の DVDメディアである DVD—RAM/R/RWでは、これらファイルシス テムを介し、物理的にデータの読み、書き、削除が可能である。
[0006] DVD上に記録されたデータは、 UDFブリッジを通して、図 1左上に示すようなディ レクトリまたはファイルとして見ることができる。ルートディレクトリ(図中「ROOT」 )の直 下に「VIDEO— TS」と呼ばれるディレクトリが置かれ、ここに DVDのアプリケーション データが記録されている。アプリケーションデータは複数のファイルとして記録され、 以下の主なファイルが存在する。
[0007] VIDEO— TS . IFO:ディスク再生制御情報ファイル
VTS— 01— 0. IFO :ビデオタイトルセット # 1再生制御情報ファイル
VTS— 01— 0. VOB :ビデオタイトルセット # 1ストリームファイル
[0008] ファイルシステムでは 2種類の拡張子が規定されて 、る。拡張子「IFO」は再生制御 情報が記録されたファイルを示し、拡張子「VOB」は AVデータである MPEGストリー ムが記録されたファイルを示す。再生制御情報とは、 DVDで採用された、ユーザの 操作に応じて再生を動的に変化させるインタラクテイビティを実現するための情報、メ タデータのようなタイトルに付属する情報、ストリームに付属する情報等を含む。また、 DVDでは一般的に再生制御情報のことをナビゲーシヨン情報と呼ぶことがある。
[0009] 再生制御情報ファイルは、ディスク全体を管理する「VIDEO— TS. IFO」と、個々 のビデオタイトルセット(DVDでは複数のタイトル、言い換えれば異なる映画や異なる バージョンの映画を 1枚のディスクに記録することが可能である)毎の再生制御情報 である「VTS— 01— 0. IFO」がある。ここで、ファイル名ボディにある「01」はビデオタ ィトルセットの番号を示しており、例えば、ビデオタイトルセット # 2の場合は、「VTS —02—0. IFO」となる。
[0010] 図 1の右上部は、 DVDのアプリケーション層での DVDナビゲーシヨン空間であり、 前述した再生制御情報が展開された論理構造空間である。「VIDEO— TS. IFOJ 内の情報は、 VMGI (Video Manager Information)として、「VTS— 01— 0. IFOJま たは、他のビデオタイトルセット毎に存在する再生制御情報は VTSI (Video Title Set Information)として DVDナビゲーシヨン空間に展開される。
[0011] VTSIの中には PGC (Program Chain)と呼ばれる再生シーケンスの情報である PG CI (Program Chain Information)が記述されている。 PGCIは、セル(Cell)の集合とコ マンドと呼ばれる一種のプログラミング情報によって構成されている。セル自身は MP EGストリームに対応する VOB (Video Object)の一部区間または全部区間の集合で あり、セルの再生は、当該 VOBのセルによって指定された区間を再生することを意味 している。
[0012] コマンドは、ブラウザ上で実行される Java (登録商標)スクリプトなどに近い概念であ り、 DVDの仮想マシンによって処理される。ただし、 Java (登録商標)スクリプトが論理 演算の他にウィンドやブラウザの制御 (例えば、新しいブラウザのウィンドを開く等)を 行うのに対し、 DVDのコマンドは論理演算の他に AVタイトルの再生制御(例えば、 再生するチヤプタの指定等)を実行するに過ぎな ヽ点で異なって 、る。
[0013] セルはディスク上に記録されて!、る VOBの開始および終了アドレス(ディスク上で の論理記録アドレス)をその内部情報として有しており、プレーヤはセルに記述された VOBの開始および終了アドレス情報を使ってデータの読み出し、再生を実行する。
[0014] 図 2は、ストリーム中に埋め込まれているナビゲーシヨン情報に含まれる各種の情報 を示す。 DVDの特長であるインタラクテイビティは前述した「VIDEO— TS. IFO」、「
VTS— 01— 0. IFO」等に記録されているナビゲーシヨン情報のみによって実現され ているのではなぐ幾つかの重要な情報はナビゲーシヨン'パック(「ナビパック」また は「NV_PCK」と記す)と呼ばれる専用キャリアを使い VOB内に映像データ、音声 データと一緒に多重化されて ヽる。
[0015] ここでは簡単なインタラクテイビティの例としてメニューを説明する。メニュー画面上 には、幾つかのボタンが現れ、それぞれのボタンには当該ボタンが選択実行された 時の処理が定義されている。また、メニュー上では一つのボタンが選択されており(ハ イライトによって選択ボタン上に半透明色がオーバーレイされており該ボタンが選択 状態であることをユーザに示す)、ユーザは、リモコンの上下左右キーを使って、選択 状態のボタンを上下左右の何れかのボタンに移動させることが出来る。すなわち、ュ 一ザがリモコンの上下左右キーを使って選択実行したいボタンまでノヽイライトを移動 させ、決定キーを押して決定することにより、対応するコマンドのプログラムが実行さ れる。一般的には対応するタイトルやチヤプタの再生がコマンドによって実行されて いる。
[0016] NV— PCK内には、ハイライトカラー情報と個々のボタン情報などが含まれている。
ノ、イライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示される ノ、イライトの半透明色が指定される。ボタン情報には、個々のボタンの位置情報であ る矩形領域情報と、当該ボタン力 他のボタンへの移動情報 (ユーザの上下左右キ 一操作それぞれに対応する移動先ボタンの指定)と、ボタンコマンド情報(当該ボタン が決定された時に実行されるコマンド)が記述されて 、る。
[0017] メニュー上のハイライトは、メニュー画像へのオーバーレイ画像として作成される。す なわち、ボタン情報の矩形領域に対応する領域にカラーパレット情報に基づいて色 が付され、それがメニューのボタン情報の矩形領域に重ね合わせられることにより、メ ニュー上のハイライトが実現される。このオーバーレイ画像は背景画像と合成されて 画面上に表示される。
[0018] なお、 NV—PCKを使ってナビゲーシヨンデータの一部をストリーム中に埋め込ん でいる理由は、第 1には、ストリームと同期して動的にメニュー情報を更新したり(例え ば、映画再生の途中 5分〜 10分の間にだけメニューが表示される等)、同期タイミン グが問題となりやすいアプリケーションであっても確実に同期させるためである。また 、第 2には、 NV—PCKには特殊再生を支援するための情報を格納し、早送り、巻き 戻し等の特殊再生時にも円滑に AVデータをデコードし再生させる等、ユーザの操作 性を向上させるためである。
[0019] 図 3A〜3Cは、 VOBの生成手順を示し、図 3Dは生成された VOBを再生するため の装置の構成を示す。図 3Aに示す動画、音声、字幕等は、図 3Bに示すように MPE Gシステム規格(ISO/IEC13818-1)に基づいてパケット化およびパック化される。この とき、映像は高精彩映像 (以下、「HD映像」と記す)であり、その映像品質を保った状 態でパケットィ匕およびパック化される。 HD映像には、動画、静止画、文字図形等の 各種の高精彩画質の映像が含まれる。そして、図 3Cに示すようにそれぞれが多重化 されて 1本の MPEG— 2プログラムストリームが生成される。このとき、インタラクテイビ ティを実現するためのボタンコマンドを含んだ NV—PCKも一緒に多重化されている
[0020] MPEGシステムの多重化の特徴は、動画、音声、字幕の種別ごとにみると MPEG ストリームデータはそのデコード順に基づくビット列で配置されている力 多重化され ている動画、音声、字幕の各種別間ではデータは必ずしも再生順にビット列が形成さ れているとは限らないことにある。例えば、動画データのパックと字幕データのパック とが連続して配置されているとすると、その動画データと字幕データとは、必ずしも同 一タイミングでデコードまたは再生されるとは限らない。
[0021] このように多重化される理由は、 MPEGストリームは所定のデコーダモデル(一般に いうシステムターゲットデコーダ(System Target Decoder ; STD)においてデコードが 可能になるようにエンコードしなければならな 、、 t 、う制約が設けられて 、るからで ある。すなわち、デコーダモデルには個々のエレメンタリストリームに対応するデコー ダバッファが規定されており、そのバッファの容量は個々のエレメンタリストリーム毎に サイズが異なる。具体的には動画に対しては 232KB、音声に対しては 4KB、字幕に 対しては 52KBである。そして、映像、音声等の各データは、デコードタイミングが到 来するまで一時的に蓄積されている。デコードタイミングは、ノ ッファ容量に応じて異 なるため、隣接して多重化されてもデコード等のタイミングが異なることになる。
[0022] MPEGプログラムストリームを再生するときは、図 3Dに示す装置に入力される。デ マルチプレクサ 3100は MPEGプログラムストリームを受け取り、動画データ、字幕デ ータおよびオーディオデータを含むパックを分離して、バッファ 3101へ送る。ノッファ 3101は、パックデータをバッファし、バッファしたその一部のデータをデコーダに送る 。デコーダ 3102は動画データ、字幕データ等ごとにデコードしてストリームを構築す る。具体的には、ノ ッファ 3101は、ビデオバッファ、字幕用バッファおよびオーディオ ノ ッファを有しており、ビデオバッファに動画データを格納し、字幕用バッファに字幕 データを格納し、オーディオバッファに音声データを格納する。デコーダ 3102はビ デォデコーダ、字幕用デコーダおよびオーディオデコーダを有しており、各バッファ 力もデータを受け取って、ノ ックデータに基づいて動画データ、字幕データおよび音 声データを構築して出力する。音声データについては、デコード後にスピーカ等に出 力され、音声として再生される。
[0023] DVDでは、基本技術として MPEG— 2規格に従ったプログラムストリーム(MPEG —2プログラムストリーム)が採用されている。このストリームを用いて、標準解像度映 像 (以下、「SD映像」と記す)のパッケージ配信 (DVD— Video規格)やアナログ放 送の記録(DVD Video Recording規格)が実現されている。
[0024] 一方、次世代光ディスクとして、 MPEG— 2トランスポートストリームを利用した BD ( Blu-ray Disc)の標準化が進められている。 BDには、 HD映像の映画素材をその ままの品質で記録することが可能である。再生専用の規格として BD— ROM規格 (B1 u-ray Disc Read— Only— Memory規格)の標準化が進められている。
[0025] さらに、新しく標準化が進む MPEG— 4 AVC (Advanced Video Coding)規格(
ISO/IEC 14496-10)を用いると、非常に低いビットレートで HD映像のデータを BDに 蓄積することができる。
[0026] しかし、 MPEG— 4 AVC規格(以下「AVC規格」と記述する)に対応するために は、従来の MPEG— 2エンコーダ Zデコーダと同じハードウェアおよびソフトウェアで は処理能力が不足する恐れが高い。その理由は、 AVC規格では符号化 Z復号ィ匕 処理に関する自由度が高いため、全ての処理に対応するためには従来必要とされて いたよりもはるかに高い性能のエンコーダ Zデコーダが求められるからである。例え ば、 AVC規格にお!、て要求される演算量は MPEG— 2規格にお!、て要求される演 算量よりも非常に多く(数十倍ともいわれる)、それに伴って処理プログラムも複雑に なり、また要求されるメモリ量も多くなる。そのため、エンコーダ Zデコーダのコストが 割高になる。よって AVC規格は実装に関してはネガティブファクターを兼ね備えてい るといえる。
[0027] BDに記録された映像を再生するにあたっては、先頭からの通常の再生のみならず 、他の再生機能も求められる。例えば、早送り再生等の特殊再生、ストリームの途中 力 再生を開始するいわゆる飛び込み再生などは通常求められる機能である。また DVDで実現されているマルチアングル再生等の機能も要求される。よって、 AVC規 格に基づいて符号ィ匕 Z復号ィ匕処理を行う際には、さらなる負荷の増大を防止するた めにも、特殊再生等の処理のためにデコードが容易になるような支援が必要である。 例えば、 AVC規格による符号ィ匕処理を一部制限することによって実装への影響を低 減し、符号化処理に関する情報 (符号ィ匕情報)を管理情報に記述することによって、 復号時 (再生時)の処理を支援する必要がある。例えば特許文献 1は、特殊再生に 関する処理を支援するために、特殊再生支援情報 (タイムマップ)を生成する技術を 開示している。
特許文献 1:特開 2000 - 228656号公報 発明の開示
発明が解決しょうとする課題
[0028] 現在の DVDや BDでは、 MPEG— 2規格に基づく符号化処理および復号化処理 への対応は規格内では整っているといえる力 AVC規格に基づく符号ィ匕処理およ び復号ィ匕処理への対応は十分とはいえない。特に、特殊再生を容易にするための データ構造上の支援およびそのようなデータ構造に対応するための機器の処理の対 応は不十分である。
[0029] 本発明の目的は、 MPEG— 4 AVC規格等の映像の符号化処理および復号化処 理に関し、特殊再生を容易にするためのデータ構造上の支援およびそのようなデー タ構造に対応する機器を提供することである。
課題を解決するための手段
[0030] 本発明によるデータ処理装置は、複数のピクチャを切り替えることによって表示され る映像のデータを圧縮符号ィ匕して、データストリームを生成するエンコーダと、前記デ 一タストリームを、所定のストリーム形式で出力する処理部とを備えている。前記映像 のデータは、前記複数のピクチャの各々に対応するピクチャデータを含んでいる。前 記エンコーダは、前記複数のピクチャを、少なくとも、 自己復号化可能な第 1タイプの ピクチャ、および、時間的に前に符号ィ匕されたピクチャのみを参照することによって復 号ィ匕可能な第 2タイプのピクチャに分類し、分類にしたがって各ピクチャデータを圧 縮符号化し、かつ、圧縮符号ィ匕後の各ピクチャデータに関し、前記第 1タイプのピク チヤの後に 2以上の前記第 2タイプのピクチャを連続して配置したデータストリームを 生成する。
[0031] 前記エンコーダは、前記複数のピクチャを、前記第 1タイプのピクチャ、前記第 2タイ プのピクチャ、および、第 3タイプのピクチャに分類して各ピクチャデータを圧縮符号 化し、前記第 3タイプのピクチャは、時間的に前に表示されるピクチャおよび時間的 に後に表示されるピクチャを参照して復号ィ匕可能であってもよ 、。
[0032] 前記処理部は、前記データストリームを前記記録媒体に書き込んでもよい。
[0033] 前記処理部は、圧縮符号化後の各ピクチャデータに関し、前記記録媒体上の前記 第 1タイプのピクチャの先頭アドレス、および、前記先頭アドレス力 最後に配置され た前記第 2タイプのピクチャの終端アドレスまでのオフセットを特定する管理情報を生 成して、前記記録媒体に書き込んでもよい。
[0034] 前記処理部は、前記第 1タイプのピクチャおよび前記第 2タイプのピクチャの各ピク チヤデータを含む複合ピクチャストリーム、および、前記第 3タイプのピクチャの各ピク チヤデータを含む単一ピクチャストリームを生成し、前記記録媒体に書き込んでもよ い。
[0035] 前記処理部は、前記単一ピクチャストリームを暗号化して前記記録媒体に書き込ん でもよい。
[0036] 本発明によるサーバは、サーノくからクライアントに対して、映像に関するデータストリ ームを配信する配信システムにおいて利用される。前記サーバは、前記データストリ ームを格納した記録媒体から、前記データストリームを読み出す処理部と、ネットヮー クを介して前記データストリームを前記クライアントに送信するネットワーク制御部とを 備えている。前記映像は、複数のピクチャを切り替えることによって表示される。前記 データストリームにおいて、前記複数のピクチャは、 自己復号ィ匕可能な第 1タイプのピ クチャ、および、時間的に前に符号ィ匕されたピクチャのみを参照することによって復 号ィ匕可能な第 2タイプのピクチャに分類されて、分類にしたがって各ピクチャデータ が圧縮符号化して生成されており、かつ、圧縮符号ィ匕後の各ピクチャデータに関し、 第 1タイプのピクチャの後に 2以上の第 2タイプのピクチャが連続して配置されている
[0037] 前記サーバは、前記クライアントの復号化処理の処理性能を特定する性能情報に 基づいて、前記データストリームの読み出しに関する指示を出す中央処理部をさらに 備えている。前記データストリームにおいて、前記複数のピクチャは、前記第 1タイプ のピクチャ、前記第 2タイプのピクチャ、および、第 3タイプのピクチャに分類されて各 ピクチャデータが圧縮符号化されており、前記第 3タイプのピクチャは、時間的に前 に表示されるピクチャおよび時間的に後に表示されるピクチャを参照して復号ィ匕可能 である。前記データストリームは、前記第 1タイプのピクチャおよび前記第 2タイプのピ クチャの各ピクチャデータを含む複合ピクチャストリーム、および、前記第 3タイプのピ クチャの各ピクチャデータを含む単一ピクチャストリーム力 構成されて 、る。前記記 録媒体において、前記複合ピクチャストリームは第 1ファイルに格納され、前記単一ピ クチャストリームは前記第 1ファイルとは異なる第 2ファイルに格納されている。前記ネ ットワーク制御部は、前記クライアントの復号ィ匕性能および前記ネットワークを介した 通信速度の少なくとも一方を特定する性能情報を取得し、前記中央処理部は、前記 性能情報に基づいて、前記第 1ファイルのみを送信するか、前記第 1ファイルおよび 前記第 2ファイルを送信する力を指示してもよ 、。
[0038] 前記中央処理部は、前記性能情報に基づ!、て特定される前記通信速度が、前記 複合ピクチャストリームの伝送速度および前記単一ピクチャストリームの伝送速度の 和以上のときには、前記第 1ファイルおよび前記第 2ファイルの送信を指示し、前記 性能情報に基づいて特定される前記通信速度が、前記複合ピクチャストリームの伝 送速度および前記単一ピクチャストリームの伝送速度の和よりも小さぐかつ前記複 合ピクチヤストリームの伝送速度以上のときには、前記第 1ファイルのみの送信を指示 してちよい。
[0039] 前記記録媒体において、前記複合ピクチャストリームおよび前記単一ピクチヤストリ ームは、前記圧縮符号ィ匕後の各ピクチャデータを格納した複数のパケットから構成さ れ、前記複数のパケットの各々は、前記各ピクチャデータの復号順序に応じて、前記 複合ピクチャストリームおよび前記単一ピクチャストリームの各パケットを配列したとき の順序に応じて変化する第 1カウンタ値を有しており、前記複合ピクチャストリームを 構成する複数のパケットの各々は、前記複合ピクチャストリームのみに含まれる各ピク チヤデータの復号順序に応じて、前記複合ピクチャストリームの各パケットを配列した ときの順序に応じて変化する第 2カウンタ値を有していてもよい。
[0040] 前記記録媒体にお!、て、前記単一ピクチャストリームは暗号ィ匕されて 、てもよ 、。
[0041] 本発明による方法は、映像を構成する複数のピクチャを、少なくとも、自己復号化可 能な第 1タイプのピクチャ、および、時間的に前に符号ィ匕されたピクチャのみを参照 することによって復号ィ匕可能な第 2タイプのピクチャに分類するステップと、分類にし たがって各ピクチャデータを圧縮符号化するステップと、圧縮符号化後の各ピクチャ データに関し、前記第 1タイプのピクチャの後に 2以上の前記第 2タイプのピクチャを 連続して配置したデータストリームを生成するステップと、前記データストリームを、所 定のストリーム形式で出力するステップとを包含する。 発明の効果
[0042] 本発明によれば、映像データの圧縮符号ィ匕後のピクチャデータに関し、自己復号 化可能な第 1タイプのピクチャの後に、時間的に前に符号化されたピクチャのみを参 照することによって復号ィ匕可能な第 2タイプのピクチャを 2以上連続して配置する。ピ クチャデータが連続して存在すれば復号化処理が可能であるから、特に特殊再生の ための復号ィ匕処理時において、まとめて読み出し、その後の復号ィ匕処理を行うことに より、容易に高速再生 (スキップ再生)が可能となる。
図面の簡単な説明
[0043] [図 1]DVDのデータ構造を示す図である。
[図 2]ストリーム中に埋め込まれているナビゲーシヨン情報に含まれる各種の情報を示 す図である。
[図 3]A〜Cは VOBの生成手順を示す図であり、 Dは生成された VOBを再生するた めの装置の構成を示す図である。
[図 4]ディスク状の記録媒体である BD104と、記録されているデータ 101、 102、 103 の構成を示す図である。
[図 5]BDに記録されている論理データのディレクトリ 'ファイル構造を示す図である。
[図 6]BD201上の映像データを読み出し、映像を再生するプレーヤの概略的な機能 構成を示す図である。
[図 7]プレーヤの詳細な機能ブロックの構成を示す図である。
[図 8]BDのアプリケーション空間の概念を示す図である。
[図 9]映像のピクチャとトランスポートストリームのデータ構造との関係を示す図である [図 10]TSパケットのデータ構造を示す図である。
[図 11] VOBデータファイル等と、それらのファイルを読み出すためのプレーヤの機能 ブロックの構成を示す図である。
[図 12]トラックバッファを使った VOBデータ連続供給モデルを示す図である。
[図 13]VOB管理情報ファイル ("YYY. VOBI")の内部構造を示す図である。 [図 14]VOBU # kに関する VOBU情報を構成する再生開始時刻 (PTS # k)および アドレス(I— start # kおよび I— end # k)と、 VOBU # kに含まれるピクチャとの関係 を示す図である。
圆 15]プレイリスト情報のデータ構造を示す図である。
[図 16]イベントハンドラテーブル("XXX. PROG")のデータ構造を示す図である。 圆 17]BD全体に関する情報のデータ構造を示す図である。
[図 18]グローバルイベントハンドラのプログラムのテーブル("BD. PROG")を示す図 である。
[図 19]タイムイベントの概念を示す図である。
[図 20]メニュー操作を行うユーザイベントの概念を示す図である。
[図 21]グローバルイベントの概念を示す図である。
[図 22]プログラムプロセッサに関連する機能ブロックの構成を示す図である。
[図 2¾システムパラメータ(SPRM)の一覧を示す図である。
[図 24]2つの選択ボタンを持ったメニューのプログラムの例を示す図である。
[図 25]メニュー選択のユーザイベントのイベントハンドラのプログラムの例を示す図で ある。
[図 26]AV再生までの基本処理フローを示す図である。
[図 27]プレイリスト再生の開始から VOB再生が開始されるまでの処理フローを示す図 である。
[図 28]AV再生開始後からのイベント処理フローを示す図である。
[図 29]字幕処理のフローを示す図である。
[図 30] (a)および (b)は、 MPEG— 2規格によるピクチヤの参照相関関係の例を示す 図であり、(c)はリ'オーダ'バッファに格納されているピクチャを示す図であり、(d)は デコーダのバッファに関する機能ブロックの構成を示す図である。
[図 31]本発明の実施形態によるレコーダ 100のハードウェア構成を示す図である。
[図 32]レコーダ 100の符号化処理の手順を示す図である。
[図 33] (a)および (b)は、レコーダ 100の符号化処理に関するピクチャの並べ替えの 概念を示す図である。 [図 34]デコーダ 3106の構成を示す図である図である。
[図 35] (a)〜(c)は、 AVC規格によるピクチヤの参照相関関係の例を示す図である。
[図 36] (a)〜 (c)は、特殊再生時の BDドライブ装置の動作と、読み出されて再生表 示されるピクチャとの関係を示す図である。
[図 37] (a)は、早戻し再生時の BDドライブ装置の動作を示す図であり、(b)は、従来 の早戻し再生時の BDドライブ装置の動作を示す図である。
[図 38]IPピクチャデータと Bピクチャデータとが別個のファイルとして記録されている B D3105aを示す図である。
[図 39]コンテンツ配信システムのシステム構成を示す図である。
[図 40]サーバ 390において行われる処理の手順を示す図である。
符号の説明
100 レコーダ
3101a デジタルチューナ
3101b アナログチューナ
3102 ADコンバータ
3103 エンコーダ
3104 ストリーム処理部
3105a BD
3105b HDD
3105c メモリカード
3106 デコーダ
3110 プログラム ROM
3111 中央処理部(CPU)
3112 RAM
3113 CPUノ ス
3114 ネットワーク制御部
3115 指示受信部
3116 インターフェース(IZF)部 3117 メモリカード制御部
3150 システム制御部
3160 ネットワーク
3229 TV
発明を実施するための最良の形態
[0045] 以下、本発明の実施形態を説明する。本実施形態では、映像は符号化処理されて 、映像データのデータストリームとして DVDや DVDの数倍の記録容量を持つ高密 度メディアに記録される。符号化処理は、先行する 3以上のピクチャを参照することが 可能であるとし、ここでは MPEG4— AVC規格 (AVC規格)を例に挙げて説明する。 なお、 AVC規格では、最大 15ピクチャを参照して 1つのピクチャを構築することが可 能である。また高密度メディアの例としてブルーレイディスク(Blu— ray disc ;以下「 BD」と記す)を挙げる。以下、映像を符号ィ匕してデータストリームとして記録する記録 装置、および、記録装置が BDに書き込んだデータストリームのデータ構造を説明す る。また、そのようなデータ構造のデータストリームを BD力も読み出して復号ィ匕し、映 像を再生することが可能な再生装置の構成および動作を説明する。
[0046] まず、本実施形態における用語の意義を説明する。
[0047] 映像:複数のピクチャを所定の垂直走査周波数で次々と切り替えることによって表 示される画像。映像は、動画、静止画、字幕などの文字や図形等を含む。動画、静 止画は主映像と呼ばれ、主映像に同期して重畳表示される字幕等は副映像とも呼ば れる。
[0048] ピクチャ:インターレース方式では奇数ラインと偶数ラインの 2つのフィールドによつ て構成される画像または奇数ライン、偶数ラインのどちらか一方により構成される画像 。プログレッシブ方式では 1つのフレームによって構成される画像。ピクチャは、フレ ームおよびフィールドの両方を表す概念である。
[0049] Iピクチャ: 1枚のピクチヤのデジタルデータのみを用いて圧縮符号ィ匕されたピクチャ 。 Iピクチャは、そのデータのみで 1枚のピクチヤのデータが復号化可能である。これ を自己復号化可能ともいう。
[0050] Pピクチャ:過去のピクチャから一方向のピクチャ間予測が行われて、差分値が符号 化されたピクチャ。 Pピクチャは、時間的に前に表示される Iピクチャまたは他の Pピク チヤのいずれか 1つのピクチャを参照して圧縮符号ィ匕されている。したがって、 Pピク チヤは参照ピクチヤである Iピクチャまたは他の Pピクチャを参照して復号ィ匕が可能で ある。
[0051] Bピクチャ:過去および未来のピクチャから二方向のピクチャ間予測が行われて、差 分値が符号化されたピクチャ。 Bピクチャは、時間的に前に表示されるピクチャおよび 時間的に後に表示されるピクチャの少なくとも 2つのピクチャを参照して圧縮符号化さ れる。参照されるピクチャは、 Iピクチャまたは Pピクチャである。過去の 2つのピクチャ を参照した Bピクチャち許される。
[0052] 通常再生:記録された映像を、記録時の速度で再生することを!、う。
[0053] 特殊再生:通常再生以外の再生をいう。例えば、早送り再生、早戻し再生、コマ送り 再生、コマ戻し再生が該当する。なお、ストリームの途中力も再生を開始するいわゆる 飛び込み再生は、再生開始時は特殊再生である力 その後は通常再生である。
[0054] SD映像:標準画質の映像(NTSC方式の 480i映像、 PAL方式の 576i映像)を!、
[0055] HD映像:上記 SD映像以外の高精細の映像 (例えばノヽイビジョン映像)を!、う。
[0056] 以下では、理解を容易にするため、項目を分けて説明する。項目は、(1) BDの論 理データ構造、(2)プレーヤの構成、(3) BDのアプリケーション空間、(4)VOBの詳 細、(5) VOBのインターリーブ記録、(6)ナビゲーシヨンデータ構造、(7)プレイリスト のデータ構造、(8)イベント発生のメカニズム、(9)仮想プレーヤマシン、(10)プログ ラムの例、(11)仮想プレーヤの処理フロー、(12) 1、 Pピクチャデータを集中配置す る符号化処理、(13)集中配置した I、 Pピクチャデータに基づく特殊再生処理、(14) I、 Pピクチャと Bピクチャの個別管理である。なお、本発明による特徴的な処理は、主 として項目(12)力 項目(14)にある。
[0057] 以下、 AVC規格に従ったデータストリームを利用して、本実施形態による処理を説 明する。 AVC規格において規定される Iピクチャ、 Pピクチャおよび Bピクチャ等の概 念は、従来の MPEG— 2規格において規定される概念と重複する個所が多い。また 、 MPEGでは、映像、音声等のエレメンタリストリームの多重化方法を既存の MPEG システム規格に委ねているため、 AVC規格の映像データストリームを MPEG— 2トラ ンスポートストリーム(以下「トランスポートストリーム」または「TS」と記述する)によって 伝送することも可能である。そこで以下では、既存の Iピクチャ、 Pピクチャおよび Bピク チヤの概念を利用し、かつ、 AVC規格の映像データストリームがトランスポートストリ ームによって伝送され、そのデータ構造を利用して記録媒体に書き込まれるとして説 明する。なお、トランスポートストリームの詳細については ISO/IEC13818-1で規定さ れている。
[0058] (1) BDの論理データ構造
図 4は、ディスク状の記録媒体である BD104と、記録されているデータ 101、 102、 103の構成を示す。 BD104に記録されるデータは、 AVデータ 103と、 AVデータに 関する管理情報および AV再生シーケンスなどの BD管理情報 102と、インタラタティ ブを実現する BD再生プログラム 101である。本実施の形態では、映画の AVコンテ ンッを再生するための AVアプリケーションを主眼において BDを説明する。し力し、こ の用途に限られな 、ことは 、うまでもな!/、。
[0059] 図 5は、上述した BDに記録されている論理データのディレクトリ 'ファイル構造を示 す。 BDは、他の光ディスク、例えば DVDや CDなどと同様にその内周力 外周に向 けてらせん状に記録領域を持ち、 DVDと同様、論理アドレスによってアクセス可能な データ領域 (論理アドレス空間)を有する。また、リードインの内側には BCA (Burst Cutting Area)と呼ばれるドライブのみが読み出せる特別な領域がある。この領域は アプリケーション力もは読み出せないため、例えば著作権保護技術などに利用される ことがある。
[0060] 論理アドレス空間には、ファイルシステム情報 (ボリューム)を先頭に映像データなど のアプリケーションデータが記録されて 、る。ファイルシステムとは従来技術として説 明した通り、 UDFや ISO9660等のことであり、通常の PCと同じように、記録されてい る論理データをディレクトリ、ファイル構造を使って読み出すことができる。
[0061] 本実施形態では、 BD上のディレクトリ、ファイル構造は、ルートディレクトリ (ROOT) 直下に BDVIDEOディレクトリが置かれている。このディレクトリは BDで扱う AVコンテ ンッゃ管理情報などのデータ(図 4で説明したデータ 101、 102、 103)が格納されて いるディレクトリである。
[0062] BDVIDEOディレクトリの下には、次の(a)〜(g)の 7種類のファイルが記録されて いる。
[0063] (a) BD. INFO (ファイル名固定)
「BD管理情報」の一つであり、 BD全体に関する情報を記録したファイルである。 B Dプレーヤは最初にこのファイルを読み出す。
[0064] (b) BD. PROG (ファイル名固定)
「BD再生プログラム」の一つであり、 BD全体に関わる再生制御情報を記録したファ ィルである。
[0065] (c)XXX. ?1^ (「 ^¾は可変、拡張子「!^」は固定)
「BD管理情報」の一つであり、シナリオ (再生シーケンス)であるプレイリスト情報を 記録したファイルである。プレイリスト毎に 1つのファイルを持っている。
[0066] (d)XXX. PROG (「XXX」は可変、拡張子「PL」は固定)
「BD再生プログラム」の一つであり、前述したプレイリスト毎の再生制御情報を記録 したファイルである。プレイリストとの対応はファイルボディ名(「XXX」がー致する)に よって識別される。
[0067] (e)YYY. VOB (「YYY」は可変、拡張子「VOB」は固定)
「AVデータ」の一つであり、 VOB (従来例で説明した VOBと同じ)を記録したフアイ ルである。 VOB毎に 1つのファイルを持っている。
[0068] (f)YYY. VOBI (「YYY」は可変、拡張子「VOBI」は固定)
「BD管理情報」の一つであり、 AVデータである VOBに関わるストリーム管理情報 を記録したファイルである。 VOBとの対応はファイルボディ名(「YYY」が一致する) によって識別される。
[0069] (g) ZZZ. PNG (「ZZZ」は可変、拡張子「PNG」は固定)
「AVデータ」の一つであり、字幕およびメニューを構成するためのイメージデータ P NG (W3Cによって標準化された画像フォーマットであり「ビング」と読む)を記録した ファイルである。 1つの PNGイメージ毎に 1つのファイルを持つ。
[0070] (2)プレーヤの構成 次に、図 6および図 7を参照しながら、前述した BDを再生するプレーヤの構成を説 明する。ここで説明する再生処理は一般的な再生処理であり、通常再生および特殊 再生に共通する処理である。なお、後述の項目(13)においても再生処理を説明す る力 これは主にプレーヤの特殊再生処理に関している。
[0071] 図 6は、 BD201上の映像データを読み出し、映像を再生するプレーヤの概略的な 機能構成を示す。プレーヤは、光ピックアップ 202と、種々のメモリ(プログラム記録メ モリ 203、管理情報記録メモリ 204、 AV記録メモリ 205)と、プログラム処理部 206と、 管理情報処理部 207とを有する。
[0072] 光ピックアップ 202は、 BD201からデータを読み出す。
[0073] プログラム処理部 206は、管理情報処理部 207より再生するプレイリストの情報ゃプ ログラムの実行タイミングなどのイベント情報を受け取ってプログラムの処理を行う。ま た、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は 管理情報処理部 207に対してプレイリストの再生命令を送ることによって実現する。 プログラム処理部 206は、ユーザからのイベント、即ちリモコンキーからのリクエストを 受け、ユーザイベントに対応するプログラムがある場合は、それを実行する。
[0074] 管理情報処理部 207は、プログラム処理部 206の指示を受け、対応するプレイリス トおよびプレイリストに対応した VOBの管理情報を解析し、プレゼンテーション処理 部 208に対象となる AVデータの再生を指示する。また、管理情報処理部 207は、プ レゼンテーシヨン処理部 208より基準時刻情報を受け取り、時刻情報に基づ 、てプレ ゼンテーシヨン処理部 208に AVデータ再生の停止指示を行い、また、プログラム処 理部 206に対してプログラム実行タイミングを示すイベントを生成する。
[0075] プレゼンテーション処理部 208は、動画、音声、字幕 Zイメージ (静止画)のそれぞ れに対応するデコーダを持ち、管理情報処理部 207からの指示に従い、 AVデータ のデコードおよび出力を行う。動画データ、字幕 Zイメージは、デコード後にそれぞ れの専用プレーン、ビデオプレーン 210およびイメージプレーン 209に描画される。
[0076] 合成処理部 211は、映像の合成処理を行い TV等の表示デバイスへ出力する。
[0077] プレーヤの処理の流れは以下のとおりである。 BD201上のデータは、光ピックアツ プ 202を通して読み出される。読み出されたデータはそれぞれのデータの種類に応 じて専用のメモリに転送される。 BD再生プログラム(「BD. PROG」または「XXX. PR OG」ファイルの中身)はプログラム記録メモリ 203に、 BD管理情報(「BD. INFO」、 「 XXX. PL」または「YYY. VOBI」)は管理情報記録メモリ 204に、 AVデータ(「ΥΥΥ . VOB」または「ZZZ. PNG」)は AV記録メモリ 205にそれぞれ転送される。
[0078] そして、プログラム記録メモリ 203に記録された BD再生プログラムは、プログラム処 理部 206によって処理される。また、管理情報記録メモリ 204に記録された BD管理 情報は管理情報処理部 207によって処理される。 AV記録メモリ 205に記録された A Vデータはプレゼンテーション処理部 208によって処理される。
[0079] プレゼンテーション処理部 208は、動画、音声、字幕 Zイメージ (静止画)のそれぞ れをデコードして出力する。その結果、動画データ、字幕 Zイメージ力 ビデオプレ ーン 210およびイメージプレーン 209に描画される。そして、合成処理部 211は、動 画と字幕等を合成して出力する。
[0080] このように図 6に示すように、 BDプレーヤは図 4に示す BDに記録されているデータ 構成に基づ ヽて構成されて ヽる。
[0081] 図 7は、プレーヤの詳細な機能ブロックの構成を示す。図 7のイメージメモリ 308とト ラックバッファ 309は、図 6の AV記録メモリ 205に対応し、プログラムプロセッサ 302 および UOPマネージャ 303はプログラム処理部 206に対応する。また、シナリオプロ セッサ 305とプレゼンテーションコントローラ 306は図 6の管理情報処理部 207に対 応し、クロック 307、デマルチプレクサ 310、イメージプロセッサ 311、ビデオプロセッ サ 312とサウンドプロセッサ 313は図 6のプレゼンテーション処理部 208に対応してい る。
[0082] BD201から読み出された MPEGストリーム(VOBデータ)はトラックバッファ 309に 、イメージデータ(PNG)はイメージメモリ 308にそれぞれ記録される。デマルチプレク サ 310は、クロック 307の時刻に基づいてトラックバッファ 309に記録された VOBデ ータを抜き出し、映像データをビデオプロセッサ 312に送り、音声データをサウンドプ 口セッサ 313に送る。ビデオプロセッサ 312およびサウンドプロセッサ 313は MPEG システム規格にしたがって、それぞれデコーダバッファとデコーダから構成されて 、る 。即ち、デマルチプレクサ 310から送りこまれる映像、音声それぞれのデータは、それ ぞれのデコーダバッファに一時的に記録され、クロック 307に従い個々のデコーダで デコード処理される。
[0083] イメージメモリ 308に記録された PNGは、次の 2つの処理方法のいずれかによつて 処理される。
[0084] イメージデータが字幕用の場合は、プレゼンテーションコントローラ 306によってデ コードタイミングが指示される。クロック 307からの時刻情報をシナリオプロセッサ 305 がー且受け、適切な字幕表示が行えるように、字幕表示時刻(開始および終了)にな ればプレゼンテーションコントローラ 306に対して字幕の表示、非表示の指示を出す 。プレゼンテーションコントローラ 306からデコード/表示の指示を受けたイメージプ 口セッサ 311は対応する PNGデータをイメージメモリ 308から抜き出し、デコードし、 イメージプレーン 314に描画する。
[0085] 次に、イメージデータがメニュー用の場合は、プログラムプロセッサ 302によってデ コードタイミングが指示される。プログラムプロセッサ 302が何時イメージのデコードを 指示するかは、プログラムプロセッサ 302が処理して!/、る BDプログラムに依存しー概 には決まらない。
[0086] イメージデータおよび映像データは、図 6で説明したようにそれぞれデコード後にィ メージプレーン 314、ビデオプレーン 315に出力され、合成処理部 316によって合成 後出力される。
[0087] BD201から読み出された管理情報 (シナリオ、 AV管理情報)は、管理情報記録メ モリ 304に格納される力 シナリオ情報(「BD. INFO」および「XXX. PL」)はシナリ ォプロセッサ 305へ読み込み処理される。また、 AV管理情報(「YYY. VOBI」)はプ レゼンテーシヨンコントローラ 306によって読み出され処理される。
[0088] シナリオプロセッサ 305は、プレイリストの情報を解析し、プレイリストによって参照さ れている VOBとその再生位置をプレゼンテーションコントローラ 306に指示し、プレ ゼンテーシヨンコントローラ 306は対象となる VOBの管理情報(「YYY. VOBI」)を解 祈して、対象となる VOBを読み出すようにドライブコントローラ 317に指示を出す。
[0089] ドライブコントローラ 317はプレゼンテーションコントローラ 306の指示に従い、光ピ ックアップを移動させ、対象となる AVデータの読み出しを行う。読み出された AVデ ータは、前述したようにイメージメモリ 308またはトラックバッファ 309に読み出される。
[0090] また、シナリオプロセッサ 305は、クロック 307の時刻を監視し、管理情報で設定さ れているタイミングでイベントをプログラムプロセッサ 302に送る。
[0091] プログラム記録メモリ 301に記録された BDプログラム(「BD. PROGJまたは「XXX . PROG」)は、プログラムプロセッサ 302によって実行処理される。プログラムプロセ ッサ 302が BDプログラムを処理するのは、シナリオプロセッサ 305からイベントが送ら れてきた場合か、 UOPマネージャ 303からイベントが送られた場合である。 UOPマ ネージャ 303は、ユーザからリモコンキーによってリクエストが送られてきた場合に、プ ログラムプロセッサ 302に対するイベントを生成する。
[0092] (3) BDのアプリケーション空間
図 8は、 BDのアプリケーション空間の概念を示す。
[0093] BDのアプリケーション空間では、プレイリスト(PlayList)がーつの再生単位になつ ている。プレイリストはセル (Cell)の連結で、連結の順序により決定される再生シーケ ンスである静的なシナリオと、プログラムによって記述される動的なシナリオを有して いる。プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再 生する手順のみを規定する。プレイリストによる再生は全てのセルの再生を終了した 時点で終了する。一方、プログラムによれば、プレイリストをまたぐ再生経路を記述す ることができ、ユーザ選択またはプレーヤの状態によって再生する対象を動的に変え ることが可能である。典型的な例としてはメニューがあげられる。メニューはユーザの 選択によって再生するシナリオであると定義することができ、プログラムによってプレイ リストを動的に選択することを表す。
[0094] 以下、プログラムをより詳細に説明する。ここで言うプログラムとは、時間イベントまた はユーザイベントによって実行されるイベントハンドラを表す。
[0095] 時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成される。図 7で説明したシナリオプロセッサ 305からプログラムプロセッサ 302に送られるイベント 力 れに相当する。時間イベントが発行されると、プログラムプロセッサ 302は IDによ つて対応付けられるイベントハンドラを実行処理する。前述した通り、実行されるプロ グラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再 生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移 する。
[0096] ユーザイベントは、ユーザのリモコンキー操作によって生成される。ユーザイベント は大きく 2つのタイプに分けられる。
[0097] 第 1のユーザイベントは、特定のキーの操作によって生成されるメニュー選択のィべ ントである。特定のキーとは、例えば BDプレーや本体またはリモコンのカーソルキー( 「上」「下」「左」「右」キー)や「決定」キーである。メニュー選択のイベントに対応するィ ベントハンドラはプレイリスト内の限られた期間でのみ有効である。プレイリストの情報 として、個々のイベントハンドラの有効期間が設定されている。特定のキーが押された 時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該ィ ベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視される ことになる。
[0098] 第 2のユーザイベントは、特定のキーの操作によって生成されるメニュー呼び出しの イベントである。特定のキーとは、例えば BDプレーや本体またはリモコンの「メニュー 」キーである。メニュー呼び出しのイベントが生成されると、グローバルイベントハンド ラが呼ばれる。グローノ レイベントノヽンドラはプレイリストに依存せず、常に有効なィ ベントハンドラである。この機能を使うことにより、 DVDのメニューコール(タイトル再生 中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点 力ものタイトル再生を実行する機能等)と同等のメニューコールを実装することができ る。
[0099] プレイリストで静的シナリオを構成する単位であるセル(Cell)は VOB (MPEGストリ ーム)の全部または一部の再生区間を参照したものである。セルは VOB内の再生区 間を開始、終了時刻の情報として持っている。個々の VOBと一対になっている VOB 管理情報 (VOBI)は、その内部にデータの再生時刻に対応した記録アドレスのテー ブル情報であるタイムマップ(Time Mapまたは TM)を有しており、このタイムマップに よって前述した VOBの再生、終了時刻を VOB内(即ち対象となるファイル「YYY. V OBJ内)での読み出し開始アドレスおよび終了アドレスを導き出すことが可能である。 なおタイムマップの詳細は後述する。 [0100] (4)VOBの詳細
図 9は、映像のピクチャとトランスポートストリームのデータ構造との関係を示す。最 下段は VOBのデータ構造を示しており、 1以上の VOBU (Video Object Unit)によつ て構成されている。各 VOBUは、その内部にビデオパケット (V_PKT)とオーディオ ノケット(A— PKT)を有している。本実施形態では各パケットのパケットサイズは 188 バイトに固定されている。
[0101] VOBUは、 MPEG— 2ビデオストリームで言う GOP (Group Of Pictures)を基準とし て構成されており、音声データ等も含む、多重化ストリームとしての一再生単位である 。 VOBUは映像の再生時間にして 1. 0秒以下の範囲内(通常は 0. 5秒程度)のデ ータを含む。多くの場合、 1GOPには NTSCの場合には 15フレーム程度のフレーム が格納されている。
[0102] VOBU先頭の TSパケット(MPEG- 2 Transport Stream Packet)は、シーケンスへッ ダとそれに続く GOPヘッダと Iピクチャ(Intra-coded)のデータを格納しており、この Iピ クチャからの復号が開始できるようにされている。
[0103] このようなデータストリームには、「タイムマップ」(TMAPまたは TimeMap)が規定され る。タイムマップのエントリは VOBU先頭の TSパケットごとに与えられている。図 9で は、 VOBU先頭の TSパケットごとに、エントリ(TimeMap Entry#n)が与えられているこ とが示されている。具体的には、タイムマップは、 VOBU先頭の Iピクチャデータの先 頭部分を含む TSパケットのアドレス(開始アドレス)と、この開始アドレスから Iピクチャ データの末尾部分を含む TSパケットまでのアドレス(終了アドレス)と、 Iピクチャの再 生開始時刻 (PTS)とを管理するデータ構造を有している。
[0104] なお各 TSパケットの直前には、その TSパケットの相対的なデコーダ供給開始時刻 を示す到着時刻情報(Arrival Time Stamp ; ATS)が付与されている。 BDに書き込ま れる MPEG— 2TSに関しては、各 TSパケットごとに上述の ATSが付与される。 ATS を各 TSパケットごとに付与するのは、この MPEG— 2TSのシステムレートが固定レー トではなぐ可変レートだ力もである。一般的にシステムレートを固定にする場合には NULLパケットと呼ばれるダミーの TSパケットを挿入することになる。し力し、限られ た記録容量の中に高画質で記録するためには、可変レートが適している。そこで MP EG— 2TSの各 TSパケットには ATSが付されて BDに記録される。
[0105] 図 10は、 TSパケットのデータ構造を示す。最上段は MPEG— 2TSを示しており、 MPEG- 2TS中に示す各単位が 1つの TSパケットを表して!/、る。中段は TSパケット のデータ構造を示す。 TSパケットは、 TSパケットヘッダと、適用フィールドと、ペイ口 ード部から構成される。 TSパケットヘッダにはパケット ID (Packet Identifier; PID)が 格納され、これにより、 TSパケットがどのような情報を格納しているの力識別される。 適用フィールドには、プログラムクロック参照(Program Clock Reference; PCR)が格 納される。 PCRはストリームをデコードする機器の基準クロック(System Time Clock; STC)の参照値である。機器はシステムストリームをデマルチプレタスし、ビデオストリ ーム等の各種ストリームを再構築する。ペイロードには PESパケットが格納される。
[0106] 図 10の最下段は、 PESパケットのデータ構造を示す。 PESパケットは、パケットへッ ダ(PES Packet Header)、ペイロード(PES Packet Payload)を含む。パケットヘッダお よびペイロードはあわせてパケット(PES Packet)を構成する。 PESペイロードはバケツ ト(PES Packet)のデータ格納領域である。 PESペイロードには、ビデオデータおよび オーディオデータ等のエレメンタリデータが格納される。 PESパケットヘッダには、ぺ ィロードに格納してあるデータがどのストリームなのかを識別するための ID (stream —id)と、当該ペイロードのデコードおよび表示時刻情報であるタイムスタンプ、 DTS (Decoding Time Stamp)および PTS (Presentation Time Stamp) 己録 れる。なお、 PTSZDTSは必ずしも全てのパケットヘッダに記録されているとは限られない。
[0107] (5) VOBのインターリーブ記録
次に、図 11および図 12を参照しながら、インターリーブ記録された VOBファイルの 再生処理を説明する。
[0108] 図 11は、 VOBデータファイル等と、それらのファイルを読み出すためのプレーヤの 機能ブロックの構成を示す。
[0109] 図 11の下段は、 BD上での VOBデータファイルおよび PNGファイルのインターリー ブ記録を示す。図 11に示すように、 VOBデータファイルは分断されてディスク上に離 散的に配置されている。ある連続区間から他の区間への移動にはシーク動作が必要 になり、この間データの読み出しが止まる。すなわち、データの供給が止まる可能性 がある。
[0110] 一般的な ROM、例えば CD— ROMや DVD— ROMの場合、一連の連続再生単 位となる AVデータは連続記録されている。連続記録されている限り、ドライブは順次 データを読み出し、デコーダに送るだけでよく処理が簡単になる力もである。よって V OBデータファイルは連続領域に記録することが望ましい。しかし、それでもなおこの ようなデータ構造にする理由は、例えば字幕データのように VOBに記録されている 映像データと同期して再生されるデータがあり、 VOBファイルと同様に字幕データも 何らかの方法によって BD力 読み出す事が必要になる。よって、 VOBデータフアイ ルを幾つかのブロックに分けて、その間に字幕用のイメージデータ(PNGファイル)を 配置する必要があるからである。
[0111] なお、字幕データの読み出し方法の一方法として、 VOBの再生開始前に一まとめ で字幕用のイメージデータ (PNGファイル)を読み出してしまう方法がある。しかしな がら、この場合には大量のメモリが必要となり、非現実的である。
[0112] VOBファイルとイメージデータを適切にインターリーブ配置することで、前述したよう な大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリに 格納することが可能になる。
[0113] プレーヤの機能ブロックは、前述したプレーヤの一部である。 BD上のデータは、光 ピックアップを通して読み出される。 VOBデータファイルは(すなわち MPEGストリー ムは)トラックバッファへ入力され、 PNG (すなわちイメージデータ)ファイルはイメージ メモリへ入力される。
[0114] トラックバッファは FIFO (First In First Out)であり、入力された VOBのデータは入 力された順にデマルチプレクサへと送られる。この時、前述した ATSに従って個々の パックはトラックバッファ力も抽出され、そのデータはデマルチプレクサを介してビデ ォプロセッサまたはサウンドプロセッサへと送られる。一方、イメージデータについて は、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。 また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にィメー ジメモリから削除される力 メニュー用のイメージデータの場合は、そのメニュー描画 中はイメージメモリ内にそのまま残される。これはメニューの描画はユーザ操作に依 存しており、ユーザの操作に追従してメニューの一部分を再表示もしくは異なるィメー ジに置き換えることがあり、その際に再表示される部分のイメージデータのデコードを 容易にするためである。
[0115] 図 12は、トラックバッファを使った VOBデータ連続供給モデルを示す。まず、図 12 の上段に記すように VOBの一連続記録領域が論理アドレスの" al"から" a2"まで続 くとする。 "a2"から" a3"の間は、イメージデータが記録されていて、 VOBデータの読 み出しが行えない区間であるとする。
[0116] VOBのデータはー且トラックバッファに蓄積されるため、トラックバッファへのデータ 入力レート(Va)とトラックバッファからのデータ出力レート (Vb)の間に差 (Va>Vb) を設けると、 BD力もデータを読み出し続けている限りトラックバッファのデータ蓄積量 は増加し続ける。図 12の下段は、トラックバッファに格納されるデータのデータ量を示 す。横軸が時間、縦軸がトラックバッファ内部に蓄積されているデータ量を示している 。時刻" tl"が VOBの一連続記録領域の開始点である" al"の読み出しを開始した時 刻を示している。この時刻以降、トラックバッファにはレート Va—Vbでデータが蓄積さ れていく。このレートはトラックバッファの入出力レートの差である。時刻" t2"は一連 続記録領域の終了点である" a2"のデータまで読み込みが終了した時刻である。時 刻" tl"から" t2"の間レート Va—Vbでトラックバッファ内はデータ量が増加していき、 時刻" t2"でのデータ蓄積量 B (t2)は下式によって求めることができる。
[0117] (式 1) B (t2) = (Va-Vb) X (t2~tl)
[0118] この後、 BD上のアドレス" a3"まではイメージデータが続くため、トラックバッファへ の入力は 0となり、出力レートである " Vb"でトラックバッファ内のデータ量は減少す る。これは読み出し位置" a3" (時刻" t3")までになる。
[0119] ここで留意すべきは、時刻" t3"より前にトラックバッファに蓄積されているデータ量 力 SOになると、デコーダへ供給する VOBのデータが無くなり、 VOBの再生がストップ する可能性があることである。よって、時刻" t3"でトラックバッファにデータが残ってい る場合には、 VOBの再生がストップすることなく連続できる。
[0120] この条件は下式によって示すことができる。
(式 2) B (t2) ≥ -Vb X (t3-t2) [0121] 即ち、式 2を満たすようにイメージデータ(非 VOBデータ)の配置を決めればよい。
[0122] (6)ナビゲーシヨンデータ構造
図 13から図 19を参照しながら、 BDのナビゲーシヨンデータ (BD管理情報)構造を 説明をする。
[0123] 図 13は、 VOB管理情報ファイル("YYY. VOBI")の内部構造を示す。 VOB管理 情報は、当該 VOBのストリーム属性情報 (Attribute)とタイムマップ (TMAP)を有し ている。ストリーム属性は、ビデオ属性 (Video)、オーディオ属性 (Audio # 0〜Audi o # m)個々に有する。特にオーディオストリームの場合は、 VOBが複数本のオーデ ィォストリームを同時に持つことができるため、オーディオストリーム数 (Number)によ つてデータフィールドの有無を示して 、る。
[0124] 下記はビデオ属性 (Video)の持つフィールドとそれぞれが取り得る値である。
[0125] 圧縮方式 (Coding) :
MPEG1
MPEG2
MPEG4
MPEG4 - AVC (Advanced Video Coding)
解像度(Resolution):
1920x1080
1440x1080
1280x720
720x480
720x565
アスペクト比(Aspect)
4 : 3
16 : 9
~~ムレ1 ~~ト (Framerate)
60
59. 94 (60/1. 001) 50
30
29. 97 (30/1. 001)
25
24
23. 976 (24/1. 001)
[0126] 下記はオーディオ属性 (Audio)の持つフィールドとそれぞれが取り得る値である。
[0127] 圧縮方式 (Coding) :
AC 3
MPEG1
MPEG2
LPCM
チャンネル数(Ch):
1〜8
m 属性 (Language):
[0128] タイムマップ (TMAP)は VOBU毎の情報を持つテーブルであって、当該 VOBが 有する VOBU数(Number)と各 VOBU情報(VOBU # l〜VOBU # n)を持つ。個 々の VOBU情報は、 Iピクチャデータの先頭アドレス(I— start)と、その Iピクチャの終 端アドレスまでのオフセットアドレス (I— end)、およびその Iピクチャの再生開始時刻 ( PTS)から構成される。
[0129] ただし、本実施形態にぉ ヽてはオフセットアドレス (I— end)に関する拡張を行う。
具体的には、アドレス" I— end"には Iピクチャの終了アドレスまでのオフセットアドレス ではなぐ後述の処理によって Iピクチャの後に配置される複数の Pピクチャのうち、所 定の Pピクチヤの終了アドレスまでのオフセットアドレスが記述される。オフセットの基 準となるアドレスは、 VOBU先頭の Iピクチャの開始アドレスである。拡張に関する説 明は、例えば図 36の(a)から(c)、図 37の(a)等を参照しながら、後に詳述する。
[0130] 以下、タイムマップ (TMAP)を設けた理由を説明する。
[0131] 広く知られているように、 MPEGビデオストリームは高画質記録するために可変ビッ トレートで圧縮符号ィ匕されることがある。よって、映像の再生時間とその映像データの データサイズ間に単純な相関はな 、。
[0132] 音声の圧縮規格である AC3は固定ビットレートで圧縮符号ィ匕を行っているため、時 間とアドレスとの関係は 1次式によって求めることができる力 MPEGビデオストリーム に関しては、時間とアドレスの関係を一次式の形で表現することは不可能である。そ の理由を説明すると、 MPEGビデオストリームでは、映像の個々のピクチャの表示時 間は、例えば NTSCの場合は 1フレームは 1Z29. 97秒であり固定されている。とこ ろが、個々のフレームの圧縮後のデータサイズは、その映像の特性や圧縮に使った ピクチャタイプ、すなわち IZPZBピクチャの!/、ずれのピクチャタイプであるかによつ て大きく変動するからである。
[0133] そこで、 VOB内での時間とアドレスとの対応関係を規定するために、上述のタイム マップ (TMAP)が設けられている。図 14は、 VOBU # kに関する VOBU情報を構 成する再生開始時刻 (PTS#k)およびアドレス (I— start # kおよび I— end # k)と、 V OBU # kに含まれるピクチャとの関係を示す。図 14に示されるように、再生開始時刻 (PTS # k)は、 VOBU # kの先頭の Iピクチャの再生開始時刻を示している。そして、 アドレス(I— start # k)はその Iピクチャデータの先頭アドレス(BDの論理アドレスまた は物理アドレス)を示し、オフセットアドレス(I— end)は、アドレス(I— start)から終了 アドレスまでのデータ量を示す。
[0134] VOBU情報を利用すると、プレーヤは、ある時刻の情報が与えられたときにその時 刻に対応する再生時刻のピクチャ力も再生することが可能になる。具体的には、プレ ーャは先ず当該時刻がどの VOBUに属するのかを検索する。この処理は各 VOBU の VOBU情報 (先頭 Iピクチャの再生開始時刻 (PTS) )を参照して、当該時刻と比較 することによって行われる。そして、どの VOBUに属するかが特定されると、その VO BUの VOBU情報からアドレス(I— start)を取得して、そのアドレスから Iピクチャのデ ータを読み出す。そしてその Iピクチャデータ力 順に復号を開始し、当該時刻のピク チヤ力 出力を開始する。これにより、指定された時刻のピクチャ力 表示が開始され る。
[0135] (7)プレイリストのデータ構造 次に図 15を参照しながら、プレイリスト情報("XXX. PL")のデータ構造を説明する 。図 15は、プレイリスト情報のデータ構造を示す。プレイリスト情報は、セルリスト(Cell List)とイベントリスト(EventList)から構成されて 、る。
[0136] セルリスト(CellList)は、プレイリスト内の再生セルシーケンスであり、本リストの記述 順でセルが再生される事になる。セルリスト(CellList)の中身は、セルの数(Numbe r)と各セル情報(Cell # l〜Cell # n)である。
[0137] セル情報(Cell # )は、 VOBファイル名 (VOBName)、当該 VOB内での開始時刻
(In)および終了時刻 (Out)と、字幕テーブル (SubtitleTable)を持って!/、る。開始 時刻 (In)および終了時刻 (Out)は、それぞれ当該 VOB内でのフレーム番号で表現 され、前述したタイムマップ (TMAP)を使うことによって再生に必要な VOBデータの アドレスを得ることができる。
[0138] 字幕テーブル (SubtitleTable)は、当該 VOBと同期再生される字幕情報を持つ。
字幕は音声同様に複数の言語を持つことができ、字幕テーブル (SubtitleTable)最 初の情報も言語数 (Number)とそれに続く個々の言語ごとのテーブル(Language # 1〜: Language # k)から構成されて 、る。
[0139] 各言語のテーブル (Language # )は、言語情報 (Lang)と、個々に表示される字幕 の字幕情報数 (Number)と、個々に表示される字幕の字幕情報(Speech # l〜Sp eech # j)から構成され、字幕情報(Speech # )は対応するイメージデータファイル名 (Name)、字幕表示開始時刻 (In)および字幕表示終了時刻 (Out)と、字幕の表示 位置(Position)力 構成されて 、る。
[0140] イベントリスト(EventList)は、当該プレイリスト内で発生するイベントを定義したテ 一ブルである。イベントリストは、イベント数(Number)に続いて個々のイベント(Eve nt # l〜Event # m)から構成され、個々のイベント(Event # )は、イベントの種類 ( Type)、イベントの ID (ID)、イベント発生時刻(Time)と有効期間(Duration)から 構成されている。
[0141] 図 16は、イベントハンドラテーブル("XXX. PROG")のデータ構造を示す。ィベン トハンドラテーブル("XXX. PROG")は、個々のプレイリスト毎のイベントハンドラ(時 間イベントと、メニュー選択用のユーザイベント)を持つ。 [0142] イベントハンドラテーブルは、定義されているイベントハンドラ Zプログラム数 (Num ber)と個々のイベントハンドラ Zプログラム(Program # l〜Program # n)を有して いる。各イベントハンドラ Zプログラム(Program # )内の記述は、イベントハンドラ開 始の定義(く event— handler >タグ)と前述したイベントの IDと対になるイベントノヽ ンドラの ID (ID)を持ち、その後に当該プログラムも Functionに続く括弧 " {"ど '} "の 間に記述する。前述の" XXX. PL"のイベントリスト(EventList)に格納されたィベン ト(Event # l〜Event # m)は,, XXX. PROG"のイベントハンドラの ID (ID)を用い て特定される。
[0143] 次に、図 17を参照しながら BD全体に関する情報("BD. INFO")の内部構造を説 明する。図 17は、 BD全体に関する情報のデータ構造を示す。
[0144] BD全体に関する情報は、タイトルリスト(TitleList)とグローバルイベント用のィべ ントテーブル (EventList)とを有する。
[0145] タイトルリスト(TitleList)は、ディスク内のタイトル数(Number)と、これに続く各タ ィトル情報 (Title # l〜Title # n)力 構成されて 、る。個々のタイトル情報 (Title # )は、タイトルに含まれるプレイリストのテーブル(PLTable)とタイトル内のチヤプタリス ト(ChapterList)を含んで!/、る。プレイリストのテーブル (PLTable)はタイトル内のプ レイリストの数(Number)と、プレイリスト名(Name)即ちプレイリストのファイル名を有 している。
[0146] チヤプタリスト(ChapterList)は、当該タイトルに含まれるチヤプタ数(Number)と 個々のチヤプタ情報(Chapter # l〜Chapter # n)力ら構成されて 、る。チヤプタ情 報(Chapter# )は当該チヤプタが含むセルのテーブル(CellTable)を持ち、セルの テーブル (CellTable)はセル数 (Number)と個々のセルのエントリ情報(CellEntry # l〜CellEntry # k)力 構成されている。セルのエントリ情報(CellEntry # )は当 該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
[0147] イベントリスト(EventList)は、グローバルイベントの数(Number)と個々のグロ一 バルイベントの情報を持っている。ここで留意すべきは、最初に定義されるグローバ ルイベントはファーストイベント(FirstEvent)と呼ばれる、 BDがプレーヤに挿入され た時に最初に呼び出されるイベントであることである。グローバルイベント用イベント 情報はイベントタイプ (Type)とイベントの ID (ID)のみを持って!/、る。
[0148] 図 18は、グローバルイベントハンドラのプログラムのテーブル("BD. PROG")を示 す。このテーブルは、図 16で説明したイベントハンドラテーブルと同一内容である。
[0149] (8)イベント発生のメカニズム
続いて、図 19から図 21を参照しながらイベント発生のメカニズムを説明する。
[0150] 図 19はタイムイベントの概念を示す。前述のとおり、タイムイベントはプレイリスト情 報("XXX. PL")のイベントリスト(EventList)によって定義される。タイムイベントとし て定義されているイベント、即ちイベントタイプ (Type)力 S"TimeEvent"の場合、ィべ ント生成時刻 ("tl")になった時点で ID"Exl"を持つタイムイベントがシナリオプロセ ッサからプログラムプロセッサに渡される。プログラムプロセッサは、イベント ID"Exl" を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本 実施形態では、 2つのボタンイメージの描画を行うなどを行うことができる。
[0151] 図 20はメニュー操作を行うユーザイベントの概念を示す。
[0152] 前述のとおり、メニュー操作を行うユーザイベントもプレイリスト情報("XXX. PL") のイベントリスト(EventList)によって定義される。ユーザイベントとして定義されるィ ベント、即ちイベントタイプ(Type)力 "UserEvent"の場合、イベント生成時刻("tl" )になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生 成されてはいない。当該イベントは、有効期間情報 (Duration)で記される期間レデ ィ状態にある。
[0153] 図 20に示すように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」 キーを押した場合、まず UOPイベントが UOPマネージャによって生成されプログラム プロセッサに渡される。プログラムプロセッサは、シナリオプロセッサに対して UOPィ ベントを流す。そして、シナリオプロセッサは UOPイベントを受け取った時刻に有効な ユーザイベントが存在するかを検索し、対象となるユーザイベントがあった場合は、ュ 一ザイベントを生成し、プログラムプロセッサに渡す。プログラムプロセッサでは、ィべ ント ID"Evl"を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する 。例えば、本実施形態ではプレイリスト # 2の再生を開始する。
[0154] 生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情 報は含まれていない。選択されたリモコンキーの情報は、 UOPイベントによってプロ グラムプロセッサに伝えられ、仮想プレーヤが持つレジスタ SPRM (8)に記録保持さ れる。イベントハンドラのプログラムは、このレジスタの値を調べ分岐処理を実行する ことが可能である。
[0155] 図 21はグローバルイベントの概念を示す。前述したとおり、グローバルイベントは B D全体に関する情報("BD. INFO")のイベントリスト(EventList)によって定義され る。グローバルイベントとして定義されるイベント、即ちイベントタイプ (Type)が" Glob alEvent"の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成さ れる。
[0156] ユーザ力 S "メニュー"を押した場合、先ず UOPイベントが UOPマネージャによって 生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセ ッサに対して UOPイベントを流し、シナリオプロセッサは、該当するグローバルィベン トを生成し、プログラムプロセッサに送る。プログラムプロセッサでは、イベント ID"me nu"を持つイベントノヽンドラを探し、対象のイベントハンドラを実行処理する。例えば、 本実施形態ではプレイリスト # 3の再生を開始して 、る。
[0157] なお、ここでは単に "メニュー"キーと呼んでいる力 DVDのように複数のメニューキ 一があってもよい。各メニューキーに対応する IDをそれぞれ定義することで対応する ことが可能である。
[0158] (9)仮想プレーヤマシン
図 22を参照しながら、プログラムプロセッサの機能を説明する。図 22は、プログラム プロセッサに関連する機能ブロックの構成を示す。プログラムプロセッサは、内部に仮 想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンは BDに関連し て定義された機能モデルであって、各 BDプレーヤの具体的に実装された構成には 依存しな 、。よってどの BDプレーヤにお 、ても同様の機能を実行するできることを保 証している。例えば、図 6および図 7は、以下に説明する機能を有することを前提とし た構成である。
[0159] 仮想プレーヤマシンは大きく 2つの機能を持っている。プログラミング関数 (a〜c)と プレーヤ変数 (レジスタ)である。プログラミング関数は、例え «Java (登録商標) Scri ptをベースとして、以下に記す 3つの機能を BD固有関数として定義して 、る。
[0160] (a)リンク関数:現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を 開始する。
書式: Link (PL # , Cell # , time)
PL # : プレイリスト名
Cell # : セル番号
time : セル内での再生開始時刻
[0161] (b) PNG描画関数:指定 PNGデータをイメージプレーンに描画する。
書式: Draw (File, X, Y)
File : PNGファイル名
X : X座標位置
Y : Y座標位置
[0162] (c)イメージプレーンクリア関数:イメージプレーンの指定領域をクリアする。
書式: Clear (X, Y, W, H)
X : X座標位置
Y : Y座標位置
W : X方向幅
H : Y方向幅
[0163] プレーヤ変数は、プレーヤの状態を示すシステムパラメータ(SPRM)と一般用途と して使用可能なゼネラルパラメータ(GPRM)とがある。
[0164] 図 23はシステムパラメータ(SPRM)の一覧である。
SPRM (0) :言語コード
SPRM (l) :音声ストリーム番号
SPRM (2) :字幕ストリーム番号
SPRM (3) :アングル番号
SPRM (4) :タイトル番号
SPRM (5) :チヤプタ番号
SPRM (6) :プログラム番号 SPRM (7) :セル番号
SPRM (8) :選択キー情報
SPRM (9) :ナビゲーシヨンタイマー
SPRM (10) :再生時刻情報
SPRM (11) :カラオケ用ミキシングモード、
SPRM (12) :パレンタル用国情報
SPRM (13) :ノ レンタノレレべノレ
SPRM (14) :プレーヤ設定値 (ビデオ)
SPRM (15) :プレーヤ設定値 (オーディオ)
SPRM (16) :音声ストリーム用目口口"31 ~ -ド、
SPRM (17) :音声ストリーム用目口口"31 ~ -ド (拡張)
SPRM (18) :字幕ストリーム用目口口"31 ~ -ド、
SPRM (19) :字幕ストリーム用目口口"31 ~ -ド (拡張)
SPRM (20) :プレーヤリ、一ジョンコード
SPRM (21) :予備
SPRM (22) :予備
SPRM (23) :再生状態
SPRM (24) :予備
SPRM (25) :予備
SPRM (26) :予備
SPRM (27) :予備
SPRM (28) :予備
SPRM (29) :予備
SPRM (30) :予備
SPRM (31) :予備
本実施形態では、仮想プレーヤのプログラミング関数を Java (登録商標) Scriptベ ースとしたが、他に、 UNIX (登録商標) OS等で使われている B— Shellや、 Perl Sc riptなど他のプログラミング関数であってもよい。言い換えれば、本発明〖お ava (登録 商標) Scriptに限定されることはない。
[0167] (10)プログラムの例
図 24および図 25を参照しながら、イベントハンドラでのプログラムの例を説明する。
[0168] 図 24は、 2つの選択ボタンを持ったメニューのプログラムの例である。
[0169] セル(PlayList # 1. Cell# 1)先頭において、タイムイベントを使って、図 24中の" く event— handler ID = "pre" > "で始まるプログラムが実行される。ここでは、最 初にゼネラルパラメータの一つ GPRM (O)に" 1"がセットされている。 GPRM (O)は、 当該プログラムの中で選択されて!ヽるボタンを識別するのに用いられて ヽる。当初は 、左側に配置されたボタン 1が選択されて 、る状態が初期値として規定されて 、る。 次に、 PNGの描画を描画関数である Drawを使ってボタン 1、ボタン 2それぞれにつ いて行っている。ボタン 1は、座標(10、 200)を起点(左端)として PNGイメージ" lbl ack. png"を描画している。ボタン 2は、座標(330, 200)を起点(左端)として PNG イメージ" 2white. png"を描画している。
[0170] また、本セル最後ではタイムイベントを使って図 24右側のプログラムが実行される。
ここでは、 Link関数を使って当該セルの先頭力も再度再生するように指定している。
[0171] 図 25は、メニュー選択のユーザイベントのイベントハンドラのプログラムの例である。
[0172] 「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合それぞれ に対応するプログラムがイベントハンドラに記述されて 、る。ユーザがリモコンキーを 押した場合、図 20で説明したとおり、ユーザイベントが生成され、図 25のイベントハン ドラが起動される。本イベントハンドラは、選択ボタンを識別している GPRM (O)の値 と、選択されたリモコンキーを識別する SPRM (8)を使って分岐処理を行う。条件に 対する分岐および実行処理は以下のとおりである。
[0173] 条件 1)ボタン 1が選択されている、かつ、選択キーが「右」キーの場合: GPRM (O) を 2に再設定して、選択状態にあるボタンを右ボタン 2に変更する。ボタン 1、ボタン 2 のイメージをそれぞれ書き換える。
[0174] 条件 2)選択キーが「決定 (OK)」の場合で、ボタン 1が選択されて 、る場合:プレイ リスト # 2の再生を開始する。
[0175] 条件 3)選択キーが「決定 (OK)」の場合で、ボタン 2が選択されて 、る場合:プレイ リスト # 3の再生を開始する。
[0176] (11)仮想プレーヤの処理フロー
次に、図 26から図 29を参照しながら、プレーヤにおける処理フローを説明する。図
26は、 AV再生までの基本処理フローを示す。
[0177] BDを挿入すると(S101)、 BDプレーヤは BD. INFOファイルの読み込みおよび解 析(S102)、 BD. PROGの読み込みを実行する(S 103)。 BD. INFOおよび BD. P
ROGは共に管理情報記録メモリにー且格納され、シナリオプロセッサによって解析さ れる。
[0178] 続いて、シナリオプロセッサは、 BD. INFOファイル内のファーストイベント(FirstE vent)情報に従い、最初のイベントを生成する(S 104)。生成されたファーストイベン トは、プログラムプロセッサで受け取られ、当該イベントに対応するイベントハンドラを 実行処理する(S 105)。
[0179] ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト 情報が記録されていることが期待される。仮に、プレイリスト再生 (PL再生)が指示さ れていない場合には、プレーヤは何も再生することなぐユーザイベントを受け付ける のを待ち続けるだけになる。(S201)。 BDプレーヤはユーザからのリモコン操作を受 け付けると、 UOPマネージャはプログラムマネージャに対して UOPイベントを発行す る(S202)。
[0180] プログラムマネージャは、 UOPイベントがメニューキーかを判別し(S203)、メ-ュ 一キーの場合は、シナリオプロセッサに UOPイベントを流し、シナリオプロセッサがュ 一ザイベントを生成する(S204)。プログラムプロセッサは生成されたユーザイベント に対応するイベントハンドラを実行処理する(S205)。
[0181] 図 27は、プレイリスト再生の開始力 VOB再生が開始されるまでの処理フローを示 す。
[0182] 前述のように、ファーストイベントハンドラまたはグローバノレイベントハンドラによって プレイリスト再生が開始される(S301)。シナリオプロセッサは、再生対象のプレイリス ト再生に必要な情報として、プレイリスト情報" XXX. PL"の読み込みと解析 (S302) 、プレイリストに対応するプログラム情報" XXX. PROG"を読み込む(S303)。続い てシナリオプロセッサは、プレイリストに登録されているセル情報に基づいてセルの再 生を指示する(S304)。セル再生は、シナリオプロセッサからプレゼンテーションコン トローラに対して要求ができることを意味し、プレゼンテーションコントローラは AV再 生を開始する(S305)。
[0183] AV再生を開始すると(S401)、プレゼンテーションコントローラは再生するセルに 対応する VOBの情報ファイル (XXX. VOBI)を読み込み、解析する(S402)。プレ ゼンテーシヨンコントローラは、タイムマップを使って再生開始する VOBUとそのアド レスを特定し、ドライブコントローラに読み出しアドレスを指示する。ドライブコントロー ラは対象となる VOBデータを読み出し (S403)、 VOBデータがデコーダに送られ再 生が開始される(S404)。
[0184] VOB再生はその VOBの再生区間が終了するまで続けられ(S405)、終了すると次 のセル再生 S 304へ移行する。次のセルが存在しない場合は、再生が終了する(S4 06)。
[0185] 図 28は、 AV再生開始後力 のイベント処理フローを示す。 BDプレーヤはイベント ドリブン型である。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント 系、字幕表示系のイベント処理プロセスがそれぞれ起動され、並行してイベント処理 を実行する。
[0186] S501力 S505までの処理は、タイムイベント系の処理フローである。プレイリスト再 生開始後(S501)、プレイリスト再生が終了しているかを確認するステップ (S502)を 経て、シナリオプロセッサは、タイムイベント発生時刻になつたかを確認する(S503) 。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベント を生成し(S504)、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを 実行処理する(S505)。
[0187] ステップ S503でタイムイベント発生時刻になっていない場合、または、ステップ S5 05でイベントハンドラ実行処理後は、再度ステップ S502へ戻って同じ処理を繰り返 す。一方、ステップ S502でプレイリスト再生が終了したことが確認されると、タイムィべ ント系の処理は強制的に終了する。
[0188] S601力ら S608までの処理は、ユーザイベント系の処理フローである。プレイリスト 再生開始後(S601)、プレイリスト再生終了確認ステップ(S602)を経て、 UOP受付 確認ステップの処理に移る(S603)。 UOPの受付があった場合、 UOPマネージャは UOPイベントを生成し(S604)、 UOPイベントを受け取ったプログラムプロセッサは UOPイベントがメニューコールであるかを確認する(S605)。メニューコールであった 場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ(S607)、プ ログラムプロセッサはイベントハンドラを実行処理する(S608)。
[0189] ステップ S605で UOPイベントがメニューコールで無いと判断した場合には、 UOP イベントはカーソルキーまたは「決定」キーによるイベントであることを示す。この場合 、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサが判断し (S6
06)、有効期間内である場合には、シナリオプロセッサがユーザイベントを生成し (S6
07)、プログラムプロセッサが対象のイベントハンドラを実行処理する(S608)。
[0190] ステップ S603で UOP受付が無い場合、ステップ S606で現在時刻がユーザィベン ト有効期間に無い場合、または、ステップ S608でイベントハンドラ実行処理後は再度 ステップ S602へ戻り、同じ処理を繰り返す。また、ステップ S602でプレイリスト再生 が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
[0191] 図 29は字幕処理のフローを示す。プレイリスト再生が開始されると(S701)、プレイ リスト再生終了確認ステップ(S702)を経て、字幕描画開始時刻確認ステップに移る (S703)。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコント ローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに 字幕描画を指示する(S704)。ステップ S703で字幕描画開始時刻で無いと判断さ れた場合、字幕表示終了時刻であるかを確認する(S705)。字幕表示終了時刻であ ると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕 消去指示を行い、描画されている字幕をイメージプレーンから消去する(S706)。
[0192] 字幕描画の指示 (ステップ S704)の終了後、字幕消去の指示 (ステップ S706)の 終了後、または、字幕表示終了時刻の確認 (ステップ S705)において当該時刻でな いことが判断された後は、ステップ S702に戻り、同じ処理を繰り返す。ステップ S702 でプレイリスト再生が終了したことが確認されると、処理は強制的に終了される。
[0193] (12) 1、 Pピクチャデータを集中配置する符号化処理 以下では、 MPEG -4 AVC規格 (AVC規格)を利用した符号化処理を説明する 。 AVC規格の映像データの特徴をよりよく理解するために、まず MPEG— 2規格に 従った映像データのデータ構造を説明する。その後、 AVC規格従った映像データを 生成する機器 (レコーダ)のハードウェア構成、符号化処理の手順、符号化処理の結 果得られるピクチャデータの配置、および、そのようなピクチャデータを利用した再生 を説明する。
[0194] 図 30 (a)および (b)は、 MPEG— 2規格によるピクチヤの参照相関関係の例を示す 。 MPEG— 2規格では、符号ィ匕方法に応じて複数タイプのピクチャ (Iピクチャ、 Pピク チヤおよび Bピクチャ)が規定されている。図 30 (a)および (b)では、 I、 Pおよび Bの各 ピクチャのタイプを、「I」、「P」および「B」としてそれぞれ示している。また、 I、 P、 Bの 後に付された数字は GOP内での表示順序を示しており、番号の小さいピクチャ(図 では BOピクチャ)力も順に再生される。なお、図 30 (a)等においてハッチングされた 最初の 3つのピクチャ B9、 BIOおよび P11は、 1つ前の GOPに属し、 12ピクチャ以降 力も新たな GOPが構成されて 、るとする。図 30 (a)および (b)力も理解されるように、 符号化されたピクチャの順序と、表示されるピクチャの順序 (すなわち入力されたピク チヤの順序)とは一致して ヽな 、。
[0195] MPEG— 2規格では、 Bピクチャは最大 2枚の他のピクチャを参照できる。ある Bピ クチャを構築するためには、参照されるピクチャデータが既に入力されてデコードさ れていなければならない。そこで、デコーダ内には参照されるピクチャ 2枚分のデータ を格納するための参照バッファが用意されている。参照バッファは、リ'オーダ'バッフ ァ(Re- order buffer)とも呼ばれる。図 30 (c)はリ'オーダ'バッファに格納されているピ クチャを示し、(d)はデコーダのバッファに関する機能ブロックの構成を示す。エレメ ンタリデコーダバッファ EBは映像ストリーム(ビデオエレメンタリストリーム)を受け取り 、順次デコーダ Dに入力する。デコーダは MPEG— 2規格に従って復号ィ匕し、復号 化されたデータを出力する。復号化されたデータは、リ'オーダ'バッファ Oに一時的 に格納され、または、そのまま出力される。リ'オーダ'バッファ Oに格納されることによ り、後のデータの復号ィ匕に際してそのピクチヤが参照されることになる。
[0196] 例えば、図 30 (b)の B0ピクチャは、時間的に前に表示される P11ピクチャおよび時 間的に後に表示される 12ピクチャの 2つのピクチャを参照して復号ィ匕される。そのた め、 P11ピクチャおよび 12ピクチャの符号化データが BOピクチャの符号化データより も先に映像ストリームに配置される。 Iピクチャの次に Pピクチャを符号ィ匕すると、その 時点でリ ·オーダ ·バッファがフルになり、次に符号ィ匕されるのは必ず Bピクチャとなつ てしまう。その結果、 Iピクチャに続けて 2枚以上の Pピクチャを符号ィ匕することはでき なかった。
[0197] 次に、図 31を参照しながら本実施形態によるレコーダの構成を説明し、その後、レ コーダの符号化処理を説明する。本実施形態によるレコーダが採用する AVC規格 による圧縮符号化方法もまた、上述の Iピクチャ、 Pピクチャおよび Bピクチャの概念を 利用した圧縮符号ィ匕を行うことが可能である。なお AVC規格の Bピクチャは、 3以上 の他のピクチャを参照することが許容されて 、る。
[0198] 図 31は、本実施形態によるレコーダ 100のハードウェア構成を示す。レコーダ 100 は、記録媒体として BD3105aのみならず、ハードディスク 3105bおよびメモリカード 3105cにもデータを書き込むことができる。
[0199] レコーダ 100は、デジタルチューナ 3101aおよびアナログチューナ 3101bと、 AD コンバータ 3102と、エンコーダ 3103と、ストリーム処理部 3104と、デコーダ 3106と、 グラフィック制御部 3107と、メモリ 3108と、 CPUノ ス 3113と、ネットワーク制御部 31 14と、指示受信部 3115と、インターフェース (IZF)部 3116と、メモリカード制御部 3 117と、システム制御部 3150とを含む。なお、図 31には、光ディスク 3105aがレコー ダ 100内に記載されている力 光ディスク 3105aは光ディスクレコーダ 100から取り外 し可能であり、レコーダ 100自体の構成要素ではない。メモリカード 3105cについて も同様にレコーダ 100自体の構成要素ではない。一方の HDD3105bはレコーダ 10 0に内蔵されていればレコーダ 100の構成要素である。し力し、 HDD3105bはレコ ーダ 100に外部接続されて 、てもよぐそのときはレコーダ 100自体の構成要素では ない。
[0200] 以下、各構成要素の機能を説明する。デジタルチューナ 3101aは、アンテナから 1 以上の番組が含まれるデジタル信号を受け取る。デジタル信号として伝送されるトラ ンスポートストリームには複数の番組のパケットが混在している。複数の番組のバケツ トを含むトランスポートストリームは"フル TS"と呼ばれる。デジタルチューナ 3101aは 、選局を行ってフル TS力も必要な番組のパケットのみを取り出し、 "パーシャル TS"と して出力する。
[0201] フル TSから所望のチャンネルのパケットを取り出す手順は、以下のとおりである。い ま、希望の番組の番組番号 (チャンネル番号)を Xとする。まずはじめに、フル TSから 番組表パケットが検索される。番組表パケットのパケット ID (PID)には、必ず 0が与え られているので、その値を有するパケットを検索すればよい。番組表パケット内の番 組表には、各番組番号と、その番組番号に対応する各番組の番組対応表パケットの PIDが格納されている。これにより、番組番号 Xに対応する番組対応表 PMTのパケ ッ HD (PID)を特定できる。番組対応表 PMTの PIDを XXとする。
[0202] 次に、 PID=XXが付された番組対応表パケットを抽出すると、番組番号 Xに対応 する番組対応表 PMTが得られる。番組対応表 PMTには、番組ごとに、視聴の対象 として各番組を構成する映像 ·音声情報等が格納された TSパケットの PIDが格納さ れている。例えば、番組番号 Xの映像情報の PIDは XVであり、音声情報の PIDは X Aである。このようにして得られた映像情報を格納したパケットの PID (=XV)と、音声 情報を格納したパケットの PID (=XA)とを利用して、フル TS力 特定の番組に関す る映像 '音声のパケットを抽出できる。
[0203] なお、フル TSからパーシャル TSを生成する際には、必要な映像 ·音声情報を格納 したパケットを取り出すだけでなぐその他のパケットの修正も必要である。しかしその 処理は周知であり、本発明の説明上特に問題とはならないため、その説明は省略す る。
[0204] アナログチューナ 3101bは、アンテナ力もアナログ信号を受け取り、周波数に基づ V、て選局を行って必要な番組の信号を取り出す。そして番組の映像および音声信号 を ADコンバータ 3102に出力する。なお図 5では、入力されるデジタル信号およびァ ナログ信号の信号系統は各 1本である力 S、これらは映像のみならず音声をも含みうる
。デジタル信号に関しては、上述のパケット ID等により映像および音声のデータを分 けることが可能である。アナログ信号に関しては、信号の周波数等を利用して映像お よび音声のデータを分けることが可能である。 [0205] ADコンバータ 3102は入力された信号をデジタル変換してエンコーダ 3103に供給 する。エンコーダ 3103は、録画の開始指示を受け取ると、供給されたアナログ放送 のデジタルデータを AVC規格の形式に圧縮符号ィ匕したストリーム(以下「AVCストリ ーム」と記述する)を生成し、ストリーム処理部 3104に入力する。この処理は、ェンコ ーダ 3103が録画の終了指示を受け取るまで継続される。エンコーダ 3103は圧縮符 号ィ匕を行うために、参照ピクチャ等を一時的に保持するバッファ(図示せず)等を有し ている。
[0206] ストリーム処理部 3104は、動画の記録時にはエンコーダ 3103から受け取った AV Cストリーム力も TSを生成する。またはストリーム処理部 3104は、デジタルチューナ 3 10 laからパーシャル TSを受け取る。パーシャル TSを受け取ったストリーム処理部 3 104は、パーシャル TSに AVCストリームが含まれていないことを確認してパーシャル TSをデコーダ 3106に出力する。この理由は、本実施形態による処理を適用して符 号ィ匕映像データを生成し、記録媒体に書き込むためである。ストリーム処理部 3104 は、デコーダ 3106によってー且復号ィ匕され、その後、本実施形態の処理を行うェン コーダ 3103によって再度符号化された AVCストリームを受け取ると、その AVCストリ ーム力 TSを生成する。これにより、ストリーム処理部 3104は AVC規格のストリーム を受け取り、 MPEG— 2TSとして記録媒体に記録することができる。なお、メモリカー ド 3105c等に対しては TSではなく AVCストリームを書き込んでもよい。
[0207] パーシャル TSが入力されたときの処理は、いわゆる再エンコード処理と呼ばれてい る。レコーダ 100は、再エンコード処理を行わないことも可能である。再エンコード処 理を行わないときは、ストリーム処理部 3104は、受け取った TSまたはパーシャル TS を通常どおり BD3105a、 HDD3105bおよび/またはメモリカード 3105cに書き込 むことができる。
[0208] ストリーム処理部 3104は、動画の再生時には、 BD3105aおよび Zまたは HDD31 05bからトランスポートストリームを読み出し、デコーダ 3106に出力する。または、スト リーム処理部 3104は、後述するメモリカード制御部 3117からメモリカード 3105cに 格納された AVCストリームを受け取り、デコーダ 3106に出力することができる。
[0209] なお、本明細書では、ストリーム処理部 3104が BD3105aおよび Zまたは HDD31 05bにトランスポートストリームを記録し、またはそれらからトランスポートストリームを読 み出すとして説明している力 これは説明の便宜のためである。 BD3105aや HDD3 105bに対するトランスポートストリームの書き込みや読み出しは、実際には、ディスク の回転、ヘッドの移動とともに各々のドライブ装置に設けられたドライブコントローラが 行っている。
[0210] デコーダ 3106は、供給されたトランスポートストリームを解析して圧縮符号ィ匕データ を取得する。そして、その圧縮符号ィ匕データを伸長して非圧縮データに変換し、ダラ フィック制御部 3107に供給する。また、デコーダ 3106は、 AVCストリームのみならず 、例え «JPEG規格に従った静止画データも非圧縮データに変換することができる。 グラフィック制御部 3107には内部演算用のメモリ 3108が接続されており、オン'スク リーン'ディスプレイ(On Screen Display ;OSD)機能を実現できる。例えば、ダラ フィック制御部 3107は種々のメニュー画像と映像とを合成して BDレコーダ 100の外 部に接続された TV3229に出力することができる。
[0211] CPUバス 3113はレコーダ 100内の信号を伝送する経路であり、図示されるように 各機能ブロックと接続されている。また、 CPUバス 3113には、後述するシステム制御 部 3150の各構成要素も接続されて 、る。
[0212] ネットワーク制御部 3114は、レコーダ 100をインターネット等のネットワーク 3160に 接続するためのインターフェイスであり、例えば、イーサネット(登録商標)規格に準拠 した端子およびコントローラである。ネットワーク制御部 3114は、ネットワーク 3160を 介してデータを授受する。このデータは、例えば放送番組に関する番組表のデータ や、レコーダ 100の動作を制御するためのソフトウェアプログラムの更新データである
[0213] 指示受信部 3115は、レコーダ 100の本体部に設けられた操作ボタン、または、リモ ートコントローラ力もの赤外線を受光する受光部である。指示受信部 3115は、ユー ザから、例えば録画の開始 Z停止、録画した番組の再生の開始 Z停止等の指示や 、装填されたメモリカード 3105cの静止画を BD3105aまたは HDD3105bにコピー する指示を与える。
[0214] インターフェース(IZF)部 3116は、レコーダ 100が他の機器と通信するためのコ ネクタおよびその通信を制御する。 1 部3116は、例えば USB2. 0規格の端子、 I EEE1394規格の端子および各規格によるデータ通信を可能とするコントローラを含 み、各規格に準拠した方式でデータを授受することができる。例えば、レコーダ 100 は、 USB2. 0規格の端子を介して PCや、カムコーダ(図示せず)等と接続され、 IEE E1394規格の端子を介してデジタルハイビジョンチューナや、カムコーダ(図示せず )等と接続される。
[0215] メモリカード制御部 3117は、メモリカード 3105cをレコーダ 100に装填するための スロット、および、レコーダ 100とメモリカード 3105cとの間のデータ通信を制御するコ ントローラである。メモリカード制御部 3117は、装填されたメモリカード 3105cから AV Cストリーム等を読み出して、 CPUバス 3113に伝送する。
[0216] システム制御部 3150は、レコーダ 100内の信号の流れを含む全体的な処理を制 御する。システム制御部 3150は、プログラム ROM3110と、中央処理部(CPU) 311 1と、 RAM3112とを有している。それぞれは CPUバス 3113に接続されている。プロ グラム ROM3110にはレコーダ 100を制御するためのソフトウェアプログラムが格納さ れている。
[0217] CPU3111は、レコーダ 100の全体の動作を制御する中央制御ユニットである。 CP U3111は、プログラムを読み出して実行することにより、プログラムに基づいて規定さ れる処理を実現するための制御信号を生成し、 CPUバス 3113を介して各構成要素 に出力する。メモリ 3112は、 CPU3111がプログラムを実行するために必要なデータ を格納するためのワーク領域を有する。例えば、 CPU3111は、 CPUバス 3113を使 用してプログラム ROM3110からプログラムをランダムアクセスメモリ(RAM) 3112に 読み出し、そのプログラムを実行する。なお、コンピュータプログラムは、 CD— ROM 等の記録媒体に記録して巿場に流通され、または、インターネット等の電気通信回線 を通じて伝送される。これにより、 PC等を利用して構成されたコンピュータシステムを 、本実施形態によるレコーダ 100と同等の機能を有するデータ処理装置として動作さ せることができる。
[0218] 次に、図 32および図 33を参照しながら、本実施形態によるレコーダ 100の符号ィ匕 処理の手順を説明する。ここではレコーダ 100がアナログ信号を受信したときの符号 化処理を例に挙げて説明する。
[0219] 図 32は、レコーダ 100の符号化処理の手順を示す。ステップ S801において、アナ ログチューナ 3101bが映像信号を受け取ると、エンコーダ 3103は ADコンバータ 31 02を介して映像を構成する各ピクチャのピクチャデータを受け取る。そして各ピクチ ャを、 I、 Pおよび Bピクチャのいずれのピクチャとするか分類して、その分類に応じて 各ピクチャデータを圧縮符号化する。
[0220] Iピクチャは他ピクチャを参照しないため、他ピクチャとの相関が低い場合に使うと効 果的である。例えば、シーンチェンジと呼ばれるような今までの映像が全く相関のな V、映像に切り替わる場合には、 Iピクチャを伴って切り替えられることが多!、。
[0221] Pピクチャ、 Bピクチャについては、 MPEG2ビデオでの圧縮効率を上げるために最 大参照ピクチャ数の 2枚を使い、 Pピクチャ 1枚と Bピクチャ 2枚を一組としたパターン にて符号ィ匕されることが多 、。
[0222] ステップ S802において、エンコーダ 3103は GOPの先頭から順に Iピクチャおよび 2以上の Pピクチャが配置されるように、符号化されたピクチャデータを出力する。ステ ップ S803においては、エンコーダ 3103は Iおよび Pピクチャのピクチャデータの後に Bピクチャデータを配置して出力する。
[0223] ステップ S804において、エンコーダ 3103は 1つの GOPに含めるべきすべての符 号ィ匕ピクチャデータを出力した力否かを判定する。すべての符号ィ匕ピクチャデータを 出力したときには、処理はステップ S805に進み、終了していないときには処理はステ ップ S802に戻って、符号化処理を継続する。
[0224] ステップ S805において、映像信号が引き続き入力されているときには処理はステツ プ S801に戻り、レコーダ 100は引き続き映像信号を受け取り、エンコーダ 3103は次 の GOPに属する各ピクチャデータを圧縮符号ィ匕する。
[0225] 本実施形態によるレコーダ 100の処理の特徴の一つは、ステップ S802およびステ ップ S803の処理にある。これらの処理の詳細を、図 33を参照しながら説明する。
[0226] 図 33 (a)および(b)は、レコーダ 100の符号化処理に関するピクチャの並べ替えの 概念を示す。まず図 33 (a)は、入力された各ピクチャを示す。付された数字は入力さ れたピクチャの順序、換言すれば表示されるピクチャの順序を示している。ピクチャ 0 から順に、各ピクチャが所定の垂直走査周波数で次々と切り替えられることにより、動 画映像が表示される。これらのピクチャのうち、ピクチャ 2が Iピクチャ(12)、ピクチャ 5 および 8が Pピクチャ(P5および P8)として符号ィ匕されるとする。他のピクチャは Bピク チヤとして符号化されるとする。そして、ピクチャ 0から 8までのピクチャによって 1つの GOPが構成されるとする。
[0227] なお、本実施形態においては、 1つの GOP内の Pおよび Bピクチャ全て力 同じ GO P内の Iピクチャまたは Pピクチャのみを参照して構築されるとする。すなわち、いわゆ る" Closed GOP"であるとする。 " Closed GOP"であれば、 GOP (k)の先頭から順 に配置された 12ピクチャ、 P5ピクチヤおよび P8ピクチヤは、その 3つのピクチャを読み 込むだけで復号ィ匕が可能である。
[0228] 図 33 (b)は、符号化され、 BD3105aに書き込まれるピクチャの順序を示す。ェンコ ーダ 3103は、符号化されたピクチャのうち、 Iピクチャ(12)、 2枚の Pピクチャ(P5およ び P8)を GOP (n)の先頭力も順に配置し、残りの Bピクチャをその後に配置している 。すなわち、 Iピクチャおよび Pピクチャをまとめて GOPの先頭部分に配置している。 エンコーダ 3103によって図 33 (b)に示す順序でピクチャが配置された符号化データ を、ストリーム処理部 3104は、この順序を維持した状態でトランスポートストリームとし て BD3105aに対して出力する。その結果、トランスポートストリームが BD3105aに書 き込まれる。
[0229] 符号ィ匕データが読み出されるときも Iピクチャ (12)、 Pピクチャ (P5および P8)から順 に読み出されることになる。なお、図示される BD3105aにおいては、符号化データ は連続して描かれている。これは論理的に連続していることを示すに過ぎず、物理的 に連続した領域に書き込まれることに限定されることはない。
[0230] 後述のように、本実施形態によるレコーダ 100は、 5枚のピクチャデータを格納する ことが可能なリ'オーダ'バッファを有している。よって、図に示すように Iピクチャ (12ピ クチャ)の後に 2枚以上の Pピクチャ (P5、 P8ピクチヤ)を続けて配置しても、復号化処 理が可能である。
[0231] 上述の処理に伴い、図 13に示す TMAPが生成される。図 13に関連して説明した ように、タイムマップ (TMAP)には VOBU情報が記述される。このうちアドレス" I e nd"として、通常は Iピクチャの終了アドレスまでのオフセットアドレスが記述される。
[0232] しかし本実施形態にぉ 、ては、 12ピクチャデータの先頭アドレス(I— start)から、後 続の Pピクチャのうちの最後の Pピクチャ(すなわち P8ピクチヤ)の終端アドレスまでの オフセットアドレス力 アドレス" I— end"として記述される。 CPU3111は、そのような アドレスを記述するようストリーム処理部 3104に指示する。ストリーム処理部 3104は その指示に基づ 、て、指示されたオフセットアドレスを TMAP内の VOBU情報中の" I _ end"に已述 *5る。
[0233] 図 33 (b)に示すように各 I、 Pおよび Bピクチャを配置することによって、復号化時お よび再生時 (特に特殊再生時)において処理を大幅に効率ィ匕することができる。その 処理を説明するに先立って、まず図 34を参照しながら、デコーダ 3106の構成を説 明する。
[0234] 図 34は、デコーダ 3106の構成を示す図である。図 34にはまた、映像を合成するグ ラフィック制御部 3107の構成も示している。図 34では、動画データおよび音声デー タが個々に入力されている力 これは、光ヘッドがトランスポートストリームを BD力 読 み出し、そのトランスポートストリームをデマルチプレクサが受け取り、動画データおよ び音声データをそれぞれ格納したパケットに分離して出力した結果である。デマルチ プレクサは、例えば図 3のデマルチプレクサ 3100と同等の機能を有している。
[0235] レコーダ 100のデコーダ 3106は、大きく分けて入力バッファ 3121と、デコーダ部 3
122と、出カノくッファ咅 3123とを含む。
[0236] 入カノッファ 3121は、動画データおよび音声データのそれぞれを複数の段に分け て格納するバッファを有する。また、デコーダ部 3122は、 AVC規格に基づいて圧縮 符号化された映像データおよび音声データをデコードする。
[0237] 出力バッファ部 3123は、ピクチャデータの出力を制御する。出力バッファ部 3123 は、リ'オーダ'バッファ 3205を有している。また出力バッファ部 3123は、リ'オーダ' バッファ 3205からの出力と、ビデオデコーダ 3204からの出力とを切り替えるスィッチ を有する。
[0238] 本実施形態においては、リ'オーダ'バッファ 3205は 5枚のピクチヤのデータを格納 することが可能な容量を有する。 AVC規格は符号化方式の自由度が高ぐ 1つのピ クチャを復号するために最大 15枚のピクチャを参照することが許容されているからで ある。なお、最大参照ピクチャ数は AVC規格に規定されるレベルに応じて決定され る。
[0239] リ'オーダ'バッファ 3205は、復号化されたピクチャデータが他のピクチャ力 参照 されるピクチャである場合には、符号ィ匕順序で後のピクチヤのためにそのピクチャを 保持し、当該他のピクチャの復号ィ匕時に読み出して参照する。一方、他のピクチャか ら参照が行われな 、 ピクチャにつ ヽてはリ ·オーダ ·バッファ 3205に格納されず、そ のまま出力する。
[0240] なお、デコーダ 3106は 1つのデコーダチップとして実現されてもよい。よって、入力 ノ ッファ 3121、デコーダ部 3122および出力バッファ部 3123は 1つのチップ上に実 装され得る。
[0241] 以下、圧縮符号化データから映像を再生する機能を説明する。なお、圧縮符号ィ匕 データによって構成される AVCストリームは TSパケットに格納されて TSとして伝送さ れる。しかし、以下では理解を容易にするために、 AVCストリームが伝送されるとして 説明する。
[0242] まず AVCストリームのデータはビデオのデコーダラインへ転送され、トランスポート バッファ TB (3201)から、マルチプレキシングバッファ MB (3202)を通り、エレメンタ リバッファ EB (3203)に一時蓄積される。 EB (3203)に蓄積されたピクチャデータは 、指定されたデコード時刻(DTS)になった瞬間にビデオデコーダ 3204へ転送され デコードされる。他のピクチャ力も参照されるピクチャ (Iピクチャ、 Pピクチャ)はリ 'ォ 一ダ.バッファ 0 (3205)に転送され、他のピクチヤのデコードのために利用される。 各ピクチャは、再生時刻 (PTS)の時刻に TV3229に送られる。
[0243] 図 35 (a)〜(c)は、 AVC規格によるピクチヤの参照相関関係の例を示す。図 35の 各図の表記は、図 30と同様である。すなわち、 I、 Pおよび Bの各ピクチャのタイプを、 「I」、「P」および「B」としてそれぞれ示している。また、 I、 P、 Bの後に付された数字は GOP内での表示順序を示しており、番号の小さいピクチャ(図では B0ピクチャ)から 順に再生される。図 35 (a)等においてハッチングされた最初の 3つのピクチャ B4、 B 6および B7は、 1つ前の GOP (k— 1)に属し、 12ピクチャ以降力も新たな GOP (k)が 構成されているとする。
[0244] 図 35 (a)は、入力されたピクチャに基づいて符号ィ匕された AVCストリームのピクチ ャの配置を示す。図 32および図 33を参照しながら説明したように、 AVCストリームに お!、ては、 Iピクチャ(12)、 Pピクチャ(P5および P8)が GOP (n)の先頭力 順に配置 され、残りの Bピクチャがその後に配置されている。
[0245] 図 35 (b)は、映像再生時に表示されるピクチャの順序を示す。圧縮符号化された 時においては、各ピクチャは図 35 (a)に示される順序で入力されている。そのため、 映像再生時もその順序で再生される。図 35 (b)の実線の矢印に示すように、 BOピク チヤは、 P8ピクチヤ、 12ピクチャおよび P5ピクチヤの 3つのピクチャを参照して復号化 される。よって、 AVCストリームにおいては、参照される P8ピクチヤ、 12ピクチャおよ び P5ピクチヤは、 BOピクチャのデータよりも前に配置されて 、る。
[0246] レコーダ 100は、まず 12ピクチャを復号する。その後、直前の 12ピクチャを参照しな 力 P5ピクチャを復号する。そして、 12ピクチャおよび Zまたは P5ピクチヤを参照しな 力 P8ピクチャを復号する。復号ィ匕にはこれら以外のピクチャのデータは必要とされ ない。
[0247] 図 35 (c)は、リ'オーダ'バッファ 3205に蓄積されるピクチャデータを示す。図 35 (a )に示す順序で 12ピクチャ、 P5ピクチヤおよび P8ピクチヤのデータが読み込まれると 、それに応じてリ'オーダ'バッファ 3205に蓄積されていくことが理解される。読み込 まれたデータは後の BOピクチャ等の復号ィ匕時に参照され、各ピクチャの表示順序が 到来すると出力される。 Iおよび Pピクチャの再生出力後であっても、それらのデータ はリ'オーダ'バッファ 3205内には保持される。後続の Bピクチャによって参照され得 るカゝらである。
[0248] 符号ィ匕処理に関連して説明したように、本実施形態においては、 1つの GOP内の P および Bピクチャ全てが、同じ GOP内の Iピクチャまたは Pピクチャのみを参照して構 築されててもよい。この場合、属する GOPが異なる複数のピクチャのデータがリ 'ォー ダ 'バッファ 3205内に格納されていたとしても、それらは相互に特に関連はない。
[0249] (13) 1、 Pピクチャを集中配置した AVCストリームの特殊再生処理
次に、図 36を参照しながら、本実施形態による AVCストリームの特殊再生処理を 説明する。この特殊再生処理は、例えば指示受信部 3115がユーザ力 入力された コマンドに基づいて行われる早送り再生であるとする。なお従来の再生装置において は、 Iピクチャおよび Pピクチャのみを再生することにより早送り再生を実現して 、る。 そこで、本実施形態によるレコーダ 100もまた、 Iピクチャおよび Pピクチャのみを再生 することによって早送り再生を実現するとして説明する。
[0250] 図 36 (a)〜(c)は、特殊再生時の BDドライブ装置の動作と、読み出されて再生表 示されるピクチャとの関係を示す。(a)はドライブ装置の動作状態を示し、(b)はその 動作に対応するピクチャ配置を示す。早送り再生の開始が指示されると、レコーダ 10 0の CPU3111は図 13に示す Iピクチャのアドレス(I— start)にアクセスする。このと き、そのアドレスに至るまでは (a)に示す最初のシークが行われ、(b)に示すピクチャ B4、 B6および B7が読み飛ばされる。
[0251] その後、 12ピクチャのデータが、 TMAP内の VOBU情報のアドレス" I— end"に示 されるデータ量だけ読み出される。図 33に関連して説明したように、本実施形態にお いては、アドレス" I— end"には、 12ピクチャデータの先頭アドレス(I— start)から、最 後の Pピクチャ(P8ピクチャ)データの終端アドレスまでのオフセットアドレスが記述さ れている。よって、 12ピクチャ、 P5および P8ピクチヤの各データが読み出される。図 3 6 (a)には、 12、 P5および P8ピクチヤに対して、ドライブ動作は、読み出し(「リード」) になっていることが示されている。アドレス" I— end"は最後の Pピクチャを示すとした 1S これに限る必要はなぐ I— start力も数えて N枚目のピクチヤの終端アドレスまで のオフセット量としても良い。(図 36 (b)の例では、 N = 3の場合は P8ピクチヤの終端 までとなる)この Nの値をタイムマップ等の領域に記述するようにしてストリーム毎の特 殊再生の精度を制御しても良い。
[0252] 読み出された 12ピクチャ、 P5および P8ピクチヤのデータは、それらのみによって復 号ィ匕することが可能である。よって、 12ピクチャのデータが読み出されると、復号およ び再生が可能になる。図 36 (c)は、再生表示されるピクチャを示す。 12ピクチャ、 P5 および P8ピクチヤが再生されていることが理解される。 2番目、 5番目および 8番目の ピクチャが順に表示されているため、早送り再生が行われているといえる。特殊再生 時に、集中配置された I、 Pピクチャを読み込み、それらをデコードし表示することで、 高速再生 (スキップ再生)が可能となる。
[0253] 同様に逆方向の IP再生(早戻し再生)も可能である。図 37 (a)は、早戻し再生時の BDドライブ装置の動作を示す。図 37 (a)に示すピクチャ群は、通常再生においては 左側のピクチャ力 右側のピクチャにかけて次々と切り替えられ、それにより映像が表 示されるとする。早戻し再生に関しても、本実施形態においては Iピクチャおよび Pピ クチャのみを再生することによって実現するとして説明する。
[0254] 早戻し再生の開始が指示されると、レコーダ 100は、図 37 (a)に示す Iピクチャのう ち、最も右に配置された 12ピクチャのアドレス(I— start)の情報を図 13に示す VOB U情報 (VOBU # k)力も取得する。そしてシーク(0)を行って、そのアドレス(I— star t)を特定する。そして、そのアドレス力 アドレス" I— end"に示されるデータ量だけピ クチャデータを読み出す。この結果、 12、 P5および P8ピクチヤのデータが読み出され る。この読み出し処理を、図 37 (a)においてリード(1)として示す。
[0255] リード(1)の対象となった 3枚のピクチヤのデータは、例えば入力バッファ 3121に格 納されるため、一度読み出せば再度読み出す必要はない。また、これら 3枚のピクチ ャのデータは復号ィ匕処理には他のピクチヤのデータは必要とされないため、他のピク チヤのデータをこれ以上読み出す必要もない。デコーダ 3106は、取得したピクチャ データのうち、 P8、 P5および 12の順にピクチャを出力する。これによりこれらのピクチ ャが再生表示される。
[0256] リード(1)が終了すると、上述の復号化および再生表示処理と並行して、その直前 に配置された 12ピクチャのデータが格納されたアドレスまでシーク(2)が行われる。換 言すれば、このシーク(2)は前の GOPの先頭位置までのジャンプを意味している。そ の後、 12、 P5および P8ピクチヤのデータが連続して読み出され、復号化され、 P8、 P 5および 12ピクチャの順に再生出力される。その後、さらに前の Iピクチャが格納され たアドレスまでシーク (4)が行われ、以後同様の処理が行われる。
[0257] 早戻し再生を行う際にも、 VOBU情報を構成する" I— start"および" I— end"を参 照して、各 GOPの先頭に集中的に配置された Iおよび Pピクチャのデータをまとめて 読み出す。これにより、 BDドライブ装置のシーク動作およびリード動作が全体として 少なくなり、アクセス時間を低減できるとともに、ドライブ装置の動作の制御を簡単ィ匕 でき、同時に特殊再生のレスポンスを向上することができる。
[0258] この効果をよりわ力りやすく説明するために、図 37 (b)を参照しながら従来の BDド ライブ装置の動作を説明する。図 37 (b)は、従来の早戻し再生時の BDドライブ装置 の動作を示す。図 37 (b)においては、ピクチャ群は、各 GOP先頭から 12、 BO、 Bl、 P5、 B3、 B4、 P8、 B6、 B7という順序で配置されている。ただし、 MPEG— 2規格で は、 Iピクチャと Pピクチャが離れた位置に符号ィ匕されており、再生機器は予め Pピクチ ャの位置を特定することはできない。よって、 Iピクチャと Pピクチャを使った高速再生( IP再生)は、全てのピクチャを読み込み、そのうちの Iピクチャと Pピクチャだけを表示 することによってのみ実現されると 、える。
[0259] 早戻し再生処理が開始されると、最も右の 12ピクチャの先頭データ位置まで読み出 し位置を移動する(シーク (0) )。そしてその位置力 データの読み出しが開始される 。図 37 (b)に示す早戻し再生においては、まず P5ピクチヤの再生から開始する必要 があるため、 12ピクチャのデータを読み出した後もそのまま読み出しを継続し、 P5ピ クチャのデータを取得する(リード(1) )。読み出し効率を考慮して、 12ピクチャと P5ピ クチャとの間に存在する BO、 B1ピクチャのデータも連続して読み出される。その後、 I 2ピクチャが復号化されてリ'オーダ'バッファに蓄積され、その後、蓄積された 12ピク チヤを参照して P5ピクチャが復号ィ匕され出力される。次に、読み出し位置を再び 12ピ クチャの先頭位置に戻し (シーク(2) )、再度 12ピクチャを読み出す (リード(3) )。 12ピ クチャを再度読み出す理由は、 P5ピクチャを読み出した後、リ'オーダ'バッファがリ セットされ、 12ピクチャのデータが残らな!/、からである。
[0260] リード(3)によって 12ピクチャを読み出した後は、読み出し位置を 1つ前の GOPの 先頭 12ピクチャのデータ位置まで移動し (シーク (4) )、 P8ピクチヤまでのデータを読 み出す (リード(5) )。 P8ピクチャを復号ィ匕するためには P5ピクチヤが必要であり、 P5 ピクチャを復号ィ匕するためには 12ピクチャが必要である。そのため、リード(5)によつ て 12ピクチャおよび P5ピクチャのピクチャデータを取得する。これにより、 P8ピクチヤ を再生出力できる。その後、読み出し位置をその GOPの先頭 12ピクチャの位置まで 移動する(シーク(6) )。このシーク(6)は、先のシーク (0)に対応する。そして先のリ ード(1)、シーク(2)、リード(3)およびシーク (4)とまったく同様に、 以後のリード(7)、シーク(8)、リード(9)およびシーク(10)が行われ、その GOPの P 5ピクチャおよび 12ピクチャが出力される。
[0261] 上述のように、図 37 (b)に示す従来のデータストリームを用いた早戻し再生処理で はシーク動作およびリード動作が非常に多ぐアクセス時間が非常に長くなるとともに 、早戻し再生処理のための制御は非常に複雑である。よって、図 37 (a)に示すように 、本実施形態による AVCストリームを用いて、 GOPの先頭にまとめて配置された 12、 P5および P8ピクチヤをまとめて読み出すことにより、ドライブ装置の動作の制御を簡 単ィ匕できる。当然、アクセス時間を低減できる。
[0262] ( 14) IPピクチャデータおよび Bピクチャデータの個別管理
次に、図 38を参照しながら、 Iピクチャおよび Pピクチャのデータと、 Bピクチャのデ 一タとを個別に管理する態様を説明する。以下では、 Iピクチャおよび Pピクチャのデ ータを含む AVCストリームを単に「IPピクチャデータ」と記述し、 Bピクチャのデータを 含む AVCストリームを単に「Bピクチャデータ」と記述する。 IPピクチャデータは Iピク チヤおよび Pピクチャのデータを含む複合ピクチヤのストリームであり、全てのピクチャ が当該複合ピクチャだけを参照していることである。 Bピクチャデータは Bピクチヤの みのデータを含む単一ピクチヤのストリームであり、 IPピクチャデータが無ければ、 B ピクチャデータは復号できな 、。
[0263] 図 38は、 IPピクチャデータと Bピクチャデータとが別個のファイルとして記録されて いる BD3105aを示す。 IPピクチャデータはファイル Aとして管理され、 Bピクチャデー タはファイル Bとして管理されて 、る。
[0264] 図 38に示すように、ファイル Aにおいては、 GOP (n— 1)に属する 12、 P5および P8 ピクチャのデータが順に配列されている。そしてその後には、 GOP (n)に属する 12、 P5および P8ピクチヤのデータが順に配列されている。一方、ファイル Bにおいては、 GOP (n- l)に属する Bピクチャ群(B0、 Bl、 B3、 B4、 B6、 B7)のデータが順に配 列されており、その後、 GOP (n)に属する Bピクチャ群(B0、 Bl、 B3、 B4、 B6、 B7) のデータが配列されて 、る。
[0265] ファイル Aおよび Bとして別々に管理することにより、ファイル Aおよび Bの BD3105 a上の記録領域を物理的に相違させることができる。例えばファイル Aを BD3105aの 外周よりの領域に記録し、ファイル Bを BD3105aの内周よりの領域に記録してもよい し、その逆にしてもよい。 IPピクチャデータは必ず読み出すことが要求されるため、フ アイル Aを読み出しやす 、領域 (例えばディスクの外縁よりの領域)に記録することは 効果的である。また、 IPピクチャデータは相対的にみてデータ量が多いため、 BD31 05aを回転させるためにドライブ装置に力かる負荷が比較的小さい領域に記録するこ とにより、ドライブ装置が安定してファイル Aを読み出すことが可能になる。
[0266] ファイル Aおよび Bを別々に管理することにより、特殊再生処理が簡単化される。す なわち、ファイル A内の Iおよび Pピクチャのみで復号ィ匕および再生出力が可能である ため、ファイル Aのみを読み出せば Iおよび Pピクチャのみによる再生、すなわち早送 り Z戻し再生等の特殊再生が容易に実現できる。
[0267] 本実施形態においては、ファイル Aに対し、トランスポートストリームにおけるコンティ 二ユイティ'カウンタ(continuity counter)と同じ概念を利用して、ファイル Aのみの再 生を可能にしている。一般のトランスポートストリームでは、各パケットの先頭に配置さ れたパケットヘッダ内にコンティ-ユイティ.カウンタが規定されている。コンティ-ユイ ティ'カウンタとは、パケット ID (PID)ごとに管理される値であって、同じパケット ID (PI D)を有するパケットに対し、パケットを配列したときの順序に応じて 1から順に付加さ れる値である。所定の値に至ると値を 1に戻し、再び 1ずつ増加する。コンティ-ユイ ティ'カウンタを管理し、各パケットに割り当てるのは、そのトランスポートストリームを生 成した機器である。
[0268] 本実施形態においても、ファイル Aおよび Bに分散された 1つの GOPを構成するピ クチャデータを格納した一連のパケット群について、連続するコンティ-ユイティ'カウ ンタを付加する。すなわち、ファイル A内の 12、 P5および P8ピクチヤのデータを格納 したパケットのコンティ-ユイティ.カウンタの値が順に大きくなる。そして、ファイル Bの
B0ピクチャのピクチャデータを格納した最初のパケットには、 P8ピクチヤのデータを 格納した最後のパケットのカウンタ値に 1を加えた値が格納される。この結果、フアイ ル Aおよび Bの各ピクチャを、符号ィ匕時の順序と同じ順序で連続して再生することが できる。
[0269] さらに本実施形態では、ファイル Aのみに含まれるピクチャデータを格納した一連 のパケット群についても、コンティ-ユイティ'カウンタと類似のカウンタを規定する。具 体的には、各ピクチャデータの復号順序に応じてパケットを配列したときの順序に応 じて 1ずつ変化するカウンタ値を、各パケットに付与する。ファイル Aのパケット群のみ に関するこのカウンタを、以下、「特殊再生用カウンタ」と称する。特殊再生用カウンタ は、例えば 5ビット(1〜31)で表され、通常のコンティ-ユイティ'カウンタとは異なるフ ィールドに記述される。レコーダは、カウンタ値が 32になると、次のパケットの特殊再 生用カウンタのカウンタ値を 1に戻し、再び 1ずつ増加させる。ファイル Aのみのデー タを利用した特殊再生時には、特殊再生用カウンタが順に増カロしていることを受信し たクライアントが確認することにより、パケットの配置順序を規定できるとともにパケット ロスの有無を確認できる。
[0270] ファイル Aおよび Bとして別々に管理することにより、種々の応用を考えることができ る。例えば、映画等のコンテンツを AVCストリームとして圧縮符号ィ匕して配信するシス テムを例に挙げて、その応用例を説明する。
[0271] このシステムでは、ファイル Aは、システムの利用者が制限なくダウンロード可能な 状態におかれる。またファイル Bは、そのファイルに含まれる Bピクチャデータが暗号 化されて!/、る。利用者はファイル Aをダウンロードすればその映画の概要や画質等を 把握できる。そして、利用者がそのコンテンツを購入して暗号解読キー等を入手して 認証を受けることにより、その利用者は暗号ィ匕された Bピクチヤデータを復号ィ匕し再 生することができる。 Bピクチャの再生とともに Iおよび Pピクチャの再生も可能であるか ら、ファイル Aおよび Bを利用してそのコンテンツの通常再生が可能になる。コンテン ッのすべてのデータを再生可能にコピーすることはできなくなるため、そのコンテンツ の著作権を確実に保護することが可能になる。なお、暗号ィ匕をいつ行うかは任意で ある。例えば AVCストリームを BD3105a等に書き込む際に、ストリーム処理部 3104 力 Sリアルタイムで暗号化処理を行ってもよい。または、 AVCストリーム全体をー且 BD 3105a等に書き込んだ後、ストリーム処理部 3104が Bピクチヤデータのみに対して 暗号化処理を行い、ファイル Bとして書き込んでもよい。さら〖こ、どのような暗号ィ匕技 術を利用する力もまた任意である。例えば、 AES (Advanced Encryption Standard)技 術を利用して暗号ィ匕することができる。この暗号ィ匕技術の原理等の詳細は周知であ るため、説明は省略する。
[0272] さらに他の応用例を考えることができる。図 39は、コンテンツ配信システムのシステ ム構成を示す。このシステムは、サーノ 390と、少なくとも 1つのクライアント(図 39で はクライアント 391および 392)を含んでいる。サーノ 390と、クライアント 391および 3 92とは、ネットワークを介して接続されている。サーバ 390は主として図 31に示すレコ ーダ 100と同じ構成を有しているとする。サーバ 390の記録媒体には、コンテンツの AVCストリームが、 IPピクチャデータを含むファイル Aと、 Bピクチャデータを含むファ ィル Bとに分けて格納されている。上述のように、 Bピクチャデータを暗号ィ匕してフアイ ル Bに格納してもよい。なお、サーバ 390は自ら AVCストリームを生成し、記録媒体 に書き込んでもよいし、他の機器 (例えばレコーダ 100)が AVCストリームを生成して もよい。最終的にサーバ 390がアクセス可能な記録媒体に AVCストリームが存在して いればよい。
[0273] なお、一般に BD3105aと HDD3105bとを比較すると、現時点では、 HDD3105b の方が高速であり、記録容量も大きい。よってファイル Aおよび Bは HDD3105bに格 納されていると想定すればよい。ただし、この想定は BD315aやメモリカード 3105c 等の利用を排除するものではない。
[0274] このシステムの主要な特徴の 1つは、サーバ 390力 クライアントの処理能力や通信 速度等の性能に応じて、ファイル Aおよび Bを送信するか、ファイル Aのみを送信する かを変化させることにある。例えば、サーバ 390とクライアントとの間の通信回線の性 能が、クライアント 391については比較的高速な 100Mbpsであるとし、クライアント 39 2については比較的低速な 10Mbpsであるとする。サーバ 390は、コンテンツをクライ アント 391に対して送信するときは、ファイル Aおよび Bの両方のデータを送信する。 一方、クライアント 392に対して送信するときはファイル Aのみのデータを送信する。 ただし通信回線の性能が高くてもクライアント 391の処理性能が低いときには、クライ アント 391にはファイル Aのみのデータを送信する。クライアントの処理能力(復号ィ匕 能力)および通信速度等の性能に関する性能情報の取得や、データの送信および 受信を含むデータ通信は図 31に示すネットワーク制御部 3114によって行われると する。 [0275] 図 40は、サーバ 390において行われる処理の手順を示す。まずステップ S901に お!、て、サーノ 390の CPU3111はネットワーク制御部 3114を介してクライアントか らコンテンツの配信要求を受け取る。そしてステップ S902において、ネットワーク制 御部 3114は、クライアントのハードウ ア性能、通信性能等の性能を特定する。すな わち性能情報を取得する。例えば、サーバ 390との通信開始時にそのクライアントの 利用者に提供を要求し、その結果得られた数値等を性能情報として取得する。また は、サーバ 390からテスト用のデータを送信し、テスト用データの送信を開始した時 から、処理終了の通知をクライアントから受信した時までの時間を計測することにより 、その時間をクライアントの処理能力 (復号ィ匕能力)および通信速度等を総合した性 能情報として取得することもできる。
[0276] そしてステップ S903において、サーバ 390の CPU3111は性能情報によって特定 したクライアントの性能に基づ 、て、クライアント側で全てのピクチャの再生が可能か 否かを判断する。再生可能であると判断するとステップ S904に進み、再生不可能で あると判断するとステップ S905に進む。
[0277] ステップ S904において、サーバ 390のネットワーク制御部 3114は、 CPU3111の 指示に基づ 、て読み出された全ピクチャのピクチャデータ、すなわちファイル Aおよ び Bの両方のデータを送信する。このとき、 GOP単位でファイル Aの IPピクチャデー タと、ファイル Bの Bピクチヤデータとを交互に送信すればよい。送信が終了すると、 処理が終了する。
[0278] ステップ S905において、サーノ 390の CPU3111はさらに I、 Pピクチャの再生が 可能か否かを判断する。 I、 Pピクチャの再生が可能であればステップ S906に進み、 それらの再生もできな 、場合には、ファイル Aおよび Bの 、ずれを送信することなく処 理は終了する。ステップ S905を含めた理由は、 I、 Pピクチャの再生ができないにもか かわらず送信することは、サーバ 390の処理負荷および通信負荷を不要に高めるこ とになるため、それを回避するためである。
[0279] ステップ S906においては、サーバ 390は IPピクチャデータを送信し、その送信が 終了すると、処理が終了する。
[0280] 上述の処理から理解されるように、ステップ S903およびステップ S905の判断を行 うために、サーバ 390は例えばプログラム ROM3110等に少なくとも 2つの基準を保 持しているといえる。例えば送信するコンテンツが HD映像であって、 IPピクチャデー タの伝送速度が 20Mbps必要であり、 Bピクチャデータの伝送速度が 10Mbps必要 であるとする。このとき、 IPピクチャデータおよび Bピクチャデータの両方を伝送するた めに必要な伝送速度は、各伝送速度の和である 30Mbps必要である。このとき、ステ ップ S903においては、 30Mbps以上で通信できるか否かを基準とすればよぐステ ップ S905においては、 20Mbps以上(かつ 30Mbps未満)で通信できるか否かを基 準とすればよい。
[0281] これらの基準は、送信対象となるコンテンツが HD映像力 SD映像かに応じてさらに 別個に規定することが好ましい。例えばステップ S903の判断に際しては、コンテンツ が HD映像であれば上述の基準を適用し、コンテンツが SD映像であれば、 15Mbps で通信でき、かつその処理が可能力否かを基準とすればよい。また、クライアントがー 般の家電機器であるカゝ、携帯電話や携帯型情報機器 (Personal Digital Assistant ;P DA)であるかに応じてさらに別個に規定してもよい。携帯電話等は画面が小さいた め映像の表示サイズを小さくすることができる。また、画面を毎秒 30枚でピクチャを切 り替えなくても、それより低いレート、例えば毎秒 15枚で送信しても十分視聴に耐え 得る。よって、クライアントが携帯電話等のときは、上述の基準をさらに低く設定できる
[0282] なお図 40に示す処理は、送信前にクライアントの性能を判断し、その判断結果に 基づ ヽて送信するデータ (送信するファイル)を決定して!/ヽるが、送信完了までの性 能の変化に応じて送信するデータを動的に変化させてもよい。例えば、一般には通 信速度は通信中に変動することが多い。そこでサーバ 390は、所定の基準以上の通 信速度が保持されて 、る間は IPピクチャデータ(ファイル A)および Bピクチャデータ( ファイル B)を送信し、その基準を下回ったことを検出すれば Bピクチャデータ (フアイ ル B)の送信を止めて IPピクチャデータ(ファイル A)のみを送信すればよ!ヽ。通信速 度が低下しているにもかかわらず Bピクチャデータを送信しつづけると、 IPピクチャデ ータの送信が失敗する可能性がある。 Bピクチャデータは IPピクチャデータを利用し て復号ィ匕されるため、 IPピクチャデータの送信が失敗すると 1つの GOPがすべて復 号できなくなる可能性がある。よって、送信完了までの性能の変化に動的に対応して 送信するデータを変化させることは非常に有用である。
[0283] また、図 39および図 40に関連する説明では、比較的低速な通信回線で接続され ているクライアントにファイル Aを送信するとした。しかし、比較的高速な通信回線で 接続されているクライアントに対してファイル Aのみを送信してもよい。このとき、高速 な通信回線を利用して 、ると 、う利点を活力して、複数の映像コンテンツの IPピクチ ャデータを格納したファイル Aをまとめて送信してもよい。
[0284] なお、上述の説明にお!/、ては、 Bピクチャデータ(ファイル B)は Bピクチヤのみを含 むとして説明した。しかし本発明はこれに限られず、 Bピクチャデータ(ファイル B)力 , Pピクチャを含んでもよい。
[0285] なお、本実施形態では、 MPEG— 4 AVC規格のストリームへの適用に好適なハ 一ドウエアの構成および処理を説明した。しかし、本発明が適用される対象は MPEG 4 AVC規格のストリームに限られない。 MPEG— 2規格の符号化方式と比較して 、符号ィ匕順序と再生順序が大きく異なる自由度の高い映像符号ィ匕方式を用いて生 成された符号化ストリームであればよい。より具体的には、 I、 Pおよび Bピクチャを利 用して符号化され、かつ、 GOP (先頭に Iピクチャデータが配置され、有限の枚数の ピクチャデータが含まれて 、るピクチャのまとまり)を観念できるデータストリームであ れば、本発明を適用することができる。 Iピクチャと Pピクチャを参照バッファ(リ 'オーダ 'バッファ)の容量が許す限り、 GOP先頭の Iピクチャの次に 1以上の Pピクチャをまと めて配置し、その後に Bピクチャを配置して復号ィ匕できるように規定すればよい。これ により、より効率的に特殊再生が可能となる。
[0286] なお本実施形態においては、まとめて配置された Iおよび Pピクチャのうち、最後の ピクチャの終了アドレスまでのオフセットアドレスを、 VOBU情報の" I— end"フィール ドの値に記述することにより、本実施形態による符号化処理と一般的な符号化処理と の整合を図っている。 VOBU情報は管理情報の一部であり、データストリームとは独 立している。しかし、このような情報をデータストリームの内部、もしくは他の管理情報 のフィールドに記述することもできる。 "I— end"フィールドには、 Iピクチャデータの最 後の位置までのアドレスオフセットが記述される。このようにする利点は、再生機器が 予め特殊再生の方法し Iピクチャのみの再生、または、 Iおよび Pピクチャの再生)を 選択できる点にある。
[0287] また、例えば" I—endl"フィールドと" I—end2"フィールドとを設け、 "I— endl"フィ 一ルドに Iピクチャデータの終端位置までのアドレスオフセットを記述し、 "I— end2"フ ィールドには、上述の処理によってまとめて配置された Iおよび Pピクチャのピクチャデ ータのうち、最後のピクチャデータの終端位置までのアドレスオフセットを記述しても よい。再生機器は、 Iピクチャだけを再生する際には、 I— startカゝら I—endlまでを読 み込み、 IPピクチャの再生を行う際は、 I— start力も I— end2までを読み込む。これ により、再生機器は異なる特殊再生の方法を選択でき、その選択に従った特殊再生 を実現できる。
[0288] 本明細書においては、 AVCストリームを MPEG— 2TSのシステムターゲットデコー ダ (T—STD)を利用して実施形態を説明した。しかし、これは例であり、映像、音声 等のエレメンタリストリームの多重化方法は任意であり、 MPEG— PSや他の映像およ び音声の多重化ストリームを利用して格納してもよい。
産業上の利用可能性
[0289] 本発明のデータ処理装置によれば、映像データの圧縮符号ィ匕後のピクチャデータ に関し、自己復号ィ匕可能な第 1タイプのピクチャの後に、時間的に前に符号化された ピクチャのみを参照することによって復号ィ匕可能な第 2タイプのピクチャを 2以上連続 して配置する。ピクチャデータが連続して存在すれば復号化処理が可能であるから、 特に特殊再生のための復号ィ匕処理時において、まとめて読み出し、その後の復号化 処理を行うことにより、容易に高速再生 (スキップ再生)が可能となる。ユーザからの要 求に応じてレスポンス良く特殊再生を実現することが可能であり、特殊再生を支援で きる。

Claims

請求の範囲
[1] 複数のピクチャを切り替えることによって表示される映像のデータを圧縮符号ィ匕して
、データストリームを生成するエンコーダと、
前記データストリームを、所定のストリーム形式で出力する処理部と
を備えたデータ処理装置であって、
前記映像のデータは、前記複数のピクチャの各々に対応するピクチャデータを含ん でおり、
前記エンコーダは、前記複数のピクチャを、少なくとも、自己復号化可能な第 1タイ プのピクチャ、および、時間的に前に符号ィ匕されたピクチャのみを参照することによつ て復号ィ匕可能な第 2タイプのピクチャに分類し、分類にしたがって各ピクチャデータを 圧縮符号化し、かつ、圧縮符号ィ匕後の各ピクチャデータに関し、前記第 1タイプのピ クチャの後に 2以上の前記第 2タイプのピクチャを連続して配置したデータストリーム を生成する、データ処理装置。
[2] 前記エンコーダは、前記複数のピクチャを、前記第 1タイプのピクチャ、前記第 2タイ プのピクチャ、および、第 3タイプのピクチャに分類して各ピクチャデータを圧縮符号 化し、
前記第 3タイプのピクチャは、時間的に前に表示されるピクチャおよび時間的に後 に表示されるピクチャを参照して復号ィ匕可能である、請求項 1に記載のデータ処理装 置。
[3] 前記処理部は、前記データストリームを記録媒体に書き込む、請求項 1に記載のデ ータ処理装置。
[4] 前記処理部は、圧縮符号化後の各ピクチャデータに関し、前記記録媒体上の前記 第 1タイプのピクチャの先頭アドレス、および、前記先頭アドレス力 最後に配置され た前記第 2タイプのピクチャの終端アドレスまでのオフセットを特定する管理情報を生 成して、前記記録媒体に書き込む、請求項 3に記載のデータ処理装置。
[5] 前記処理部は、前記第 1タイプのピクチャおよび前記第 2タイプのピクチャの各ピク チヤデータを含む複合ピクチャストリーム、および、前記第 3タイプのピクチャの各ピク チヤデータを含む単一ピクチャストリームを生成する、請求項 2に記載のデータ処理 装置。
[6] 前記処理部は、前記単一ピクチャストリームを暗号化して前記記録媒体に書き込む
、請求項 5に記載のデータ処理装置。
[7] サーノくからクライアントに対して、映像に関するデータストリームを配信する配信シ ステムにおいて利用されるサーバであって、
前記データストリームを格納した記録媒体から、前記データストリームを読み出す処 理部と、
ネットワークを介して前記データストリームを前記クライアントに送信するネットワーク 制御部と
を備えており、
前記映像は、複数のピクチャを切り替えることによって表示され、
前記データストリームにおいて、前記複数のピクチャは、自己復号ィ匕可能な第 1タイ プのピクチャ、および、時間的に前に符号ィ匕されたピクチャのみを参照することによつ て復号ィ匕可能な第 2タイプのピクチャに分類されて、分類にしたがって各ピクチャデ ータが圧縮符号化して生成されており、かつ、圧縮符号ィ匕後の各ピクチャデータ〖こ 関し、第 1タイプのピクチャの後に 2以上の第 2タイプのピクチャが連続して配置され ている、サーバ。
[8] 前記クライアントの復号化処理の処理性能を特定する性能情報に基づ!/、て、前記 データストリームの読み出しに関する指示を出す中央処理部をさらに備え、
前記データストリームにおいて、前記複数のピクチャは、前記第 1タイプのピクチャ、 前記第 2タイプのピクチャ、および、第 3タイプのピクチャに分類されて各ピクチャデー タが圧縮符号化されており、前記第 3タイプのピクチャは、時間的に前に表示される ピクチャおよび時間的に後に表示されるピクチャを参照して復号ィヒ可能であり、 前記データストリームは、前記第 1タイプのピクチャおよび前記第 2タイプのピクチャ の各ピクチャデータを含む複合ピクチャストリーム、および、前記第 3タイプのピクチャ の各ピクチャデータを含む単一ピクチャストリーム力も構成され、
前記記録媒体において、前記複合ピクチャストリームは第 1ファイルに格納され、前 記単一ピクチャストリームは前記第 1ファイルとは異なる第 2ファイルに格納されており 前記ネットワーク制御部は、前記クライアントの復号化性能および前記ネットワーク を介した通信速度の少なくとも一方を特定する性能情報を取得し、
前記中央処理部は、前記性能情報に基づいて、前記第 1ファイルのみを送信する 力 前記第 1ファイルおよび前記第 2ファイルを送信するかを指示する、請求項 7に記 載のサーバ。
[9] 前記中央処理部は、
前記性能情報に基づ!、て特定される前記通信速度が、前記複合ピクチャストリーム の伝送速度および前記単一ピクチャストリームの伝送速度の和以上のときには、前記 第 1ファイルおよび前記第 2ファイルの送信を指示し、
前記性能情報に基づ!、て特定される前記通信速度が、前記複合ピクチャストリーム の伝送速度および前記単一ピクチャストリームの伝送速度の和よりも小さぐかつ前 記複合ピクチヤストリームの伝送速度以上のときには、前記第 1ファイルのみの送信を 指示する、請求項 8に記載のサーバ。
[10] 前記記録媒体において、前記複合ピクチャストリームおよび前記単一ピクチヤストリ ームは、前記圧縮符号ィ匕後の各ピクチャデータを格納した複数のパケットから構成さ れ、前記複数のパケットの各々は、前記各ピクチャデータの復号順序に応じて、前記 複合ピクチャストリームおよび前記単一ピクチャストリームの各パケットを配列したとき の順序に応じて変化する第 1カウンタ値を有しており、
前記複合ピクチャストリームを構成する複数のパケットの各々は、前記複合ピクチャ ストリームのみに含まれる各ピクチャデータの復号順序に応じて、前記複合ピクチヤス トリームの各パケットを配列したときの順序に応じて変化する第 2カウンタ値を有して いる、請求項 9に記載のサーバ。
[11] 前記記録媒体において、前記単一ピクチャストリームは暗号ィ匕されている、請求項 7に記載のサーバ。
[12] 映像を構成する複数のピクチャを、少なくとも、自己復号ィ匕可能な第 1タイプのピク チヤ、および、時間的に前に符号ィ匕されたピクチャのみを参照することによって復号 化可能な第 2タイプのピクチャに分類するステップと、 分類にしたがって各ピクチャデータを圧縮符号ィ匕するステップと、
圧縮符号ィ匕後の各ピクチャデータに関し、前記第 1タイプのピクチャの後に 2以上 の前記第 2タイプのピクチャを連続して配置したデータストリームを生成するステップ と、
前記データストリームを、所定のストリーム形式で出力するステップと
を包含するデータ処理方法。
PCT/JP2005/007229 2004-04-16 2005-04-14 データ処理装置、サーバおよびデータ処理方法 WO2005101826A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004121560A JP2007235185A (ja) 2004-04-16 2004-04-16 ランダムアクセスに適した情報記録媒体、およびその記録/再生装置、記録/再生方法
JP2004-121560 2004-04-16

Publications (1)

Publication Number Publication Date
WO2005101826A1 true WO2005101826A1 (ja) 2005-10-27

Family

ID=35150352

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/007229 WO2005101826A1 (ja) 2004-04-16 2005-04-14 データ処理装置、サーバおよびデータ処理方法

Country Status (2)

Country Link
JP (1) JP2007235185A (ja)
WO (1) WO2005101826A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039247A (ja) * 2010-08-04 2012-02-23 Mitsubishi Electric Corp 映像音声再生装置、および映像音声再生方法
CN106264460A (zh) * 2016-07-29 2017-01-04 北京好运到信息科技有限公司 基于自学习的脑活动多维时间序列信号的解码方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016081553A (ja) * 2014-10-17 2016-05-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 記録媒体、再生方法、および再生装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06261303A (ja) * 1993-01-11 1994-09-16 Sony Corp 画像信号符号化方法、復号化方法および画像信号記録媒体
JPH07107491A (ja) * 1993-10-04 1995-04-21 Matsushita Electric Ind Co Ltd 動画像記録装置と動画像再生装置とビデオディスク
JPH08331508A (ja) * 1995-06-02 1996-12-13 Matsushita Electric Ind Co Ltd 記録再生システムとそのスクランブル装置およびデスクランブル装置
JPH11177986A (ja) * 1997-12-08 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> Mpeg映像情報提供方法
JP2000156843A (ja) * 1997-09-17 2000-06-06 Matsushita Electric Ind Co Ltd 光ディスク、録画装置及び方法、再生装置及び方法並びにプログラム記憶媒体
JP2002044622A (ja) * 2000-03-13 2002-02-08 Sony Corp コンテンツ供給装置および方法、記録媒体、信号生成装置および方法、変換装置および方法、並びに再生端末および方法
JP2002330402A (ja) * 2001-04-27 2002-11-15 Matsushita Electric Ind Co Ltd 情報記録媒体、情報記録媒体に情報を記録、再生する装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06261303A (ja) * 1993-01-11 1994-09-16 Sony Corp 画像信号符号化方法、復号化方法および画像信号記録媒体
JPH07107491A (ja) * 1993-10-04 1995-04-21 Matsushita Electric Ind Co Ltd 動画像記録装置と動画像再生装置とビデオディスク
JPH08331508A (ja) * 1995-06-02 1996-12-13 Matsushita Electric Ind Co Ltd 記録再生システムとそのスクランブル装置およびデスクランブル装置
JP2000156843A (ja) * 1997-09-17 2000-06-06 Matsushita Electric Ind Co Ltd 光ディスク、録画装置及び方法、再生装置及び方法並びにプログラム記憶媒体
JPH11177986A (ja) * 1997-12-08 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> Mpeg映像情報提供方法
JP2002044622A (ja) * 2000-03-13 2002-02-08 Sony Corp コンテンツ供給装置および方法、記録媒体、信号生成装置および方法、変換装置および方法、並びに再生端末および方法
JP2002330402A (ja) * 2001-04-27 2002-11-15 Matsushita Electric Ind Co Ltd 情報記録媒体、情報記録媒体に情報を記録、再生する装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039247A (ja) * 2010-08-04 2012-02-23 Mitsubishi Electric Corp 映像音声再生装置、および映像音声再生方法
CN106264460A (zh) * 2016-07-29 2017-01-04 北京好运到信息科技有限公司 基于自学习的脑活动多维时间序列信号的解码方法及装置
CN106264460B (zh) * 2016-07-29 2019-11-19 北京医拍智能科技有限公司 基于自学习的脑活动多维时间序列信号的解码方法及装置

Also Published As

Publication number Publication date
JP2007235185A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
US8526797B2 (en) Moving image coding method, moving image coding device, moving image recording method, recording medium, moving image playback method, moving image playback device, and moving image playback system
KR101148701B1 (ko) 동화상 부호화 방법 및 장치
JP6291116B2 (ja) 再生装置および再生方法
JP2020119623A (ja) 再生方法及び再生装置
JP6466258B2 (ja) 再生装置、再生方法および記録媒体
JP6272533B2 (ja) 再生方法、および再生装置
WO2005101826A1 (ja) データ処理装置、サーバおよびデータ処理方法
WO2016038811A1 (ja) 記録媒体、再生装置、および再生方法
WO2016021120A1 (ja) 再生装置、再生方法および記録媒体

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 JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA 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
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP