WO2015105037A1 - ファイル生成方法、ファイル生成装置および記録媒体 - Google Patents

ファイル生成方法、ファイル生成装置および記録媒体 Download PDF

Info

Publication number
WO2015105037A1
WO2015105037A1 PCT/JP2015/000007 JP2015000007W WO2015105037A1 WO 2015105037 A1 WO2015105037 A1 WO 2015105037A1 JP 2015000007 W JP2015000007 W JP 2015000007W WO 2015105037 A1 WO2015105037 A1 WO 2015105037A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
data
elementary stream
section
information
Prior art date
Application number
PCT/JP2015/000007
Other languages
English (en)
French (fr)
Inventor
遠間 正真
智輝 小川
洋 矢羽田
小塚 雅之
村瀬 薫
山本 雅哉
Original Assignee
パナソニックIpマネジメント株式会社
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
Priority claimed from JP2014255477A external-priority patent/JP6467680B2/ja
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to CN201580000514.XA priority Critical patent/CN105103540B/zh
Priority to EP15735544.7A priority patent/EP3094083B1/en
Publication of WO2015105037A1 publication Critical patent/WO2015105037A1/ja
Priority to US15/003,745 priority patent/US9818446B2/en

Links

Images

Classifications

    • 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
    • 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
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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/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
    • 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/806Transformation 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 with processing of the sound signal
    • 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/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • 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/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8233Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a character code signal

Definitions

  • the present disclosure relates to a file generation method for generating an MP4 file.
  • the file format used in the conventional optical disc is the MPEG2-TS (MPEG-2 Transport Stream) system defined by ISO / IEC 138181-1.
  • MPEG2-TS MPEG-2 Transport Stream
  • the MPEG2-TS system is simply referred to as MPEG2-TS. That is, a file configured by multiplexing a video stream, an audio stream, and a subtitle stream in the file format of MPEG2-TS is recorded on the optical disc.
  • a video stream, an audio stream, a subtitle stream, and the like are divided into a plurality of TS packets of 188 bytes each, multiplexed, and recorded on an optical disc.
  • the MPEG2-TS is optimized for media such as broadcast or optical disc, which transmit or record data sequentially read and processed from before. Therefore, even a consumer device with a relatively small buffer capacity can efficiently read, decode and reproduce a stream.
  • MP4 adopts an extremely flexible data structure on the premise of application to randomly accessible media such as HDD (Hard Disk Drive) and flash memory.
  • HDD Hard Disk Drive
  • a stream such as a video stream, an audio stream, and a subtitle stream is divided into units of fragments of about several seconds, and these fragments are sequentially arranged to constitute one file.
  • the file format of the content may be converted to MP4 (see, for example, Patent Document 1).
  • an MP4 file which is an MP4 file is generated.
  • a file generation method is a file generation method for generating an MP4 file from an elementary stream, and acquires and acquires a playlist including identification information indicating each of a plurality of elementary streams.
  • An elementary stream indicated by predetermined identification information included in the playlist is selected, and a manifest file corresponding to the selected elementary stream, the file format being converted based on a predetermined rule
  • the MP4 file is generated by converting data included in the elementary stream into an MP4 file format based on a manifest file required for the above.
  • FIG. 1 is a view schematically showing an example of the structure of the content of MPEG2-TS stored in an optical disc.
  • FIG. 2 is a diagram for explaining a method of decoding Aligned Units.
  • FIG. 3 is a diagram showing an internal structure of Aligned Unit in a plaintext state.
  • FIG. 4 is a diagram showing a method of creating an actual Elementary Stream from a plurality of TS Payloads.
  • FIG. 5 is a block diagram showing the configuration of the file generation apparatus according to the first embodiment.
  • FIG. 6 is a diagram for describing a method of generating an MP4 stream file from the MPEG2-TS stream file, the difference file, and the copy manifest file in the first embodiment.
  • FIG. 7 is a diagram for describing a method of generating a difference file and a copy manifest file in the first embodiment.
  • FIG. 8 is a flowchart of a file generation method according to the first embodiment.
  • FIG. 9 is a diagram for explaining a file generation method in the first modification of the first embodiment.
  • FIG. 10A is a diagram for describing encryption of data in the AES-CTR mode in the first modification of the first embodiment.
  • FIG. 10B is a diagram for describing decryption of data in the AES-CTR mode in the first modification of the first embodiment.
  • FIG. 11 is a diagram showing an example of storing an access unit of MPEG-4 AAC stored in a transport stream in an MP4 file in the second modification of the first embodiment.
  • FIG. 12 is a diagram showing an example of storing the access unit of MPEG-4 AVC stored in the transport stream in MP4 in the second modification of the first embodiment.
  • FIG. 13A is a diagram showing an example of storage of an LATM header and an LATM payload in a TS packet according to the second modification of the first embodiment.
  • FIG. 13B is a diagram showing an example of a syntax of an AU_info table in the second modification of the first embodiment.
  • FIG. 13C is a diagram showing another example of syntax of an AU_info table in the second modification of the first embodiment.
  • FIG. 14 is a block diagram showing a configuration of a file generation apparatus in the second modification of the first embodiment.
  • FIG. 15A is a diagram showing a schematic structure of the NAL unit in the second modification of the first embodiment.
  • FIG. 15B is a diagram showing an example of a storage format of NAL units in MPEG2-TS in the second modification of the first embodiment.
  • FIG. 15C is a diagram showing an example of a storage format of the NAL unit in MP4 in the second modification of the first embodiment.
  • FIG. 16A is a diagram showing an example of a configuration of an access unit in a transport stream in the second variation of the first embodiment.
  • FIG. 16B is a diagram showing an example of a syntax of size information included in the size information NAL unit in the second modification of the first embodiment.
  • 16C is a diagram showing another example of a syntax of size information included in the size information NAL unit in the second modification of the first embodiment.
  • FIG. 17 is a flowchart showing a processing operation of generating an MP4 file by the file generation device in the second modification of the first embodiment.
  • FIG. 18 is a diagram showing a specific example of addressing in the case of using mode 2 in the third modification of the first embodiment.
  • FIG. 19 is a diagram showing an example of reading a continuous region exceeding the upper limit value of copy size in the third modification of the first embodiment.
  • FIG. 20 is a diagram for describing a process of copying data from an elementary stream to generate an MP4 file according to the third modification of the first embodiment.
  • FIG. 21 is a diagram showing an example of audio and video playback sections of two continuously played MP4 files in the second embodiment.
  • FIG. 22A is a diagram for describing a method of integrating playback sections and generating one MP4 file in Embodiment 2.
  • FIG. 22B is a block diagram of a file generation device in the second embodiment.
  • FIG. 22C is a flowchart of a file generation method according to the second embodiment.
  • FIG. 22D is a block diagram of a playback device in a second embodiment.
  • FIG. 22E is a flowchart of a reproduction method in Embodiment 2.
  • FIG. 23A is a diagram showing an example of a menu screen in the case of generating an MP4 file from content stored in an optical disc in the third embodiment.
  • FIG. 23B is a diagram for describing a method of generating an MP4 file using an optical disc and a network in the third embodiment.
  • FIG. 24 is a diagram illustrating an example of a copy manifest indicating the size of the NAL unit, the PTS, and the DTS in the third embodiment.
  • FIG. 25 is a diagram showing an example of subtitle data stored at the end of the MP4 file in the third embodiment.
  • FIG. 26 is a diagram showing a case where subtitles of 2K resolution are scaled to 4K and displayed in the third embodiment.
  • FIG. 27 is a diagram showing a storage method of export data in the fourth embodiment.
  • FIG. 28A is a diagram showing an example of a playlist for export in the fourth embodiment.
  • FIG. 28B is a diagram showing an example of a copy manifest file in the fourth embodiment.
  • FIG. 29A is a diagram for describing an example of a file generation method in the case where a plurality of versions of main content is stored in the fourth embodiment.
  • FIG. 29B is a diagram showing a copy manifest file in the case of generating an MP4 file in the director's cut reproduction path in the fourth embodiment.
  • FIG. 30 is a diagram for describing another example of the file generation method in the case where main content contents of a plurality of versions are stored according to the fourth embodiment.
  • FIG. 31 is a diagram showing an example of the relationship between the export audio MP4 file and the video MP4 file separated from the M2TS in the fourth embodiment.
  • FIG. 32A is a block diagram of a file generation device in a fourth embodiment.
  • 32B is a flowchart of a file generation method according to Embodiment 4.
  • FIG. FIG. 33 is a block diagram of a file generation device in the modification 4-1.
  • FIG. 34 is a diagram showing an example in the case of dividing and generating the MP4 file into a plurality of pieces in the modification example 4-1.
  • FIG. 35 is a diagram showing another example of the case where the MP4 file is divided into a plurality of parts and generated in the modification example 4-1.
  • FIG. 36 is a diagram showing another example of the case of dividing the MP4 file into a plurality of pieces and generating them in the modification example 4-1.
  • FIG. 37 is a diagram showing storage positions when data used at the time of export is stored in the optical disc in the modification 4-2.
  • FIG. 34 is a diagram showing an example in the case of dividing and generating the MP4 file into a plurality of pieces in the modification example 4-1.
  • FIG. 35 is a diagram showing another example of the case where the MP4 file is divided into a plurality of parts and generated in the modification example 4-1.
  • FIG. 36 is
  • FIG. 38 is a diagram showing an example of a playlist showing the sizes of elementary streams in a playlist for export in the modification 4-3.
  • FIG. 39 is a view showing an example of a play list showing information on gaps generated at an audio connection between play items in the modification 4-4.
  • FIG. 40A is a diagram for describing an exemplary method of generating an audio gap at the time of export in the modified example 4-5.
  • FIG. 40B is a diagram showing an example of a playlist in which frames that need to be deleted when generating a gap are shown in Modification 4-5.
  • FIG. 41 is a diagram showing a storage example when video data including the luminance in the luminance range of HDR (High Dynamic Range) in the modification example 4-6 is stored in the MP4 file.
  • FIG. 42 is a diagram for describing an operation at the time of viewing the exported DMP data on the mobile terminal based on the Digital Living Network Alliance (DLNA) standard or the like in the modification 4-7.
  • DLNA Digital Living Network Alliance
  • the content multiplexed by MPEG2-TS is once returned to each stream such as a video stream, an audio stream, or a subtitle stream, and the file format of the content is converted to MP4. Need to convert. Also, in general, commercial content distributed on an optical disc is encrypted. Therefore, at the time of conversion, it is necessary to temporarily decrypt the file, convert the file format, and then re-encrypt.
  • the structure of the content of MPEG2-TS will be described in detail below.
  • FIG. 1 is a view schematically showing an example of the structure of the content of MPEG2-TS stored in an optical disc.
  • the optical disk stores Stream File as content.
  • Stream File is XXXXX. It is recorded with the file name M2TS.
  • XXXXX a number is written. When a plurality of contents are stored, it is possible to manage the contents individually by this number.
  • the Stream File is divided into a plurality of units called Aligned Units of 6144 Bytes each.
  • Aligned Unit is a unit of encryption. Note that the amount of data in the Stream File may not necessarily be a multiple of 6144 Bytes. If it does not become a multiple of 6144 Bytes, it is desirable to make the amount of data of the Stream File a multiple of 6144 Bytes by storing NULL Data at the end of the content.
  • FIG. 2 is a diagram for explaining a method of decoding Aligned Units.
  • the content on the optical disc is encrypted using a unit key Ku which is data.
  • the 6144 bytes of data included in the Aligned Unit are separated into the first 16 bytes of data and the remaining 6128 bytes of data, and the remaining 6128 bytes of data are encrypted.
  • AES_E At the time of decryption of Aligned Unit, AES_E first performs AES (Advanced Encryption Standard) encryption using the unit key Ku for the first 16 bytes of data. Next, an exclusive OR operation is performed on the data obtained by this encryption and the first 16 bytes of data. AES_DCBC uses the result of this exclusive OR operation as a key, and decrypts the remaining 6128 bytes of data in AES-CBC (Cipher Block Chaining) mode. The leading 16 Bytes data is added to the plaintext data obtained by this decryption. As a result, plaintext of 6144 bytes corresponding to Aligned Unit is obtained.
  • AES Advanced Encryption Standard
  • FIG. 3 is a diagram showing an internal structure of Aligned Unit in a plaintext state.
  • the Aligned Unit is composed of 32 Source Packets of 192 bytes each.
  • Each Source Packet is composed of TP_extra_header, which is a 4 Bytes header, and Transport Packet of 188 Bytes, which is a TS packet.
  • the Transport Packet of 188 Bytes is composed of a TS Header of 4 Bytes and a TS Payload of 184 Bytes.
  • TS Header information indicating an attribute of TS Payload is described.
  • TS Header includes sync_byte (8 bits), transport_error_indicator (1 bit), payload_unit_start_indicator (1 bit), transport_priority (1 bit), PID (13 bits), transport_scrambling_control (2 bits), adaptation_field_control (2 bits), and continuity_counter4 Configured
  • the PID is information for identifying the type of elementary stream stored in the TS Payload, such as video or audio.
  • the type of audio of the elementary stream can be identified by this PID.
  • FIG. 4 is a diagram showing a method of creating an actual Elementary Stream from a plurality of TS Payloads.
  • PES_Header and Elementary Stream are configured by connecting a plurality of TS Payloads assigned the same PID.
  • the first TS Payload of the plurality of TS Payloads is configured to include PES_Header.
  • a PES Packetized Elementary Stream
  • a PES packet is configured from the PES_Header and at least a part of the Elementary Stream.
  • the MPEG2-TS file (Stream File) is encrypted for each Aligned Unit. Therefore, in order to convert the file into an MP4 file, decryption as described above is performed, and further re-encryption is performed. In conversion devices such as smartphones or tablets, there is a problem that this decryption and encryption take time. In addition, there is also a security problem because once the plaintext content is created.
  • a file generation method for generating an MP4 file, and acquires an original file configured in a file format different from MP4.
  • a difference file including data not included in the original file is acquired, a procedure file indicating a procedure for generating the MP4 file is acquired, and the difference file is included according to the procedure indicated in the procedure file
  • the MP4 file is generated by combining data and data included in the original file. For example, in the acquisition of the original file, the original file configured in the file format of MPEG2-TS is acquired.
  • the MP4 file is generated by combining the data included in the difference file and the data included in the original file according to a predetermined procedure. Therefore, the MP4 file can be easily generated without returning the original file configured by the file format such as MPEG2-TS to each stream such as the video stream or the audio stream. Also, even if the original file is encrypted, there is no need to decrypt and re-encrypt it. Therefore, the processing load for generating the MP4 file can be reduced.
  • the acquisition may be performed by reading the original file, the difference file, and the procedure file from an optical disc.
  • each of a plurality of portions included in the difference file is arranged such that the range of the portion included in the difference file and the range of the portion included in the original file are alternately arranged.
  • a range and each range of a plurality of parts included in the original file are described, and in the generation of the MP4 file, the parts indicated by the ranges are combined in the order of the ranges described in the procedure file May generate the MP4 file.
  • the parts included in the MP4 file can be generated sequentially from the top side of the MP4 file, and there is no backtracking, so the MP4 file can be generated more easily.
  • Each range of the plurality of parts included in the difference file is described in the procedure file by data size, and each range of the plurality of parts included in the original file is the start position and data size of the part And may be described in the procedure file.
  • the data size of the MP4 file is described in the procedure file, and the file generation method further records the MP4 file based on the data size of the MP4 file described in the procedure file. It may be determined whether the medium has enough free space.
  • an attribute of the MP4 file is described in the procedure file, and the file generation method may further read out the attribute described in the procedure file.
  • the attributes of the MP4 file are read from the procedure file before the generation of the MP4 file, it can be determined in advance whether or not the desired MP4 file is generated.
  • a buffer size necessary for reproducing the MP4 file is described in the procedure file, and the file generation method may further read the buffer size described in the procedure file.
  • a first file name which is the name of the original file
  • a second file name which is the name of the difference file
  • the file of the first file name described in the file may be specified as the original file
  • the file of the second file name described in the procedure file may be specified as the difference file.
  • the original file and the difference file used to generate the MP4 file can be properly acquired.
  • header information corresponding to MP4 which is data included in the difference file, may be combined with data included in the original file.
  • the original file in a plain text state may be acquired, and in the generation of the MP4 file, the generated MP4 file may be encrypted.
  • each time a portion constituting the original file is acquired a portion of the MP4 file corresponding to the portion is generated and encrypted, and the portion constituting the MP4 file is encrypted
  • the part of the original file corresponding to the part may be deleted.
  • a file generation method for generating an MP4 file, wherein the two streams are played back continuously.
  • To generate one MP4 file and store information indicating the section where the reproduction timings overlap in each of the two streams in the generated MP4 file.
  • the two streams that are at least a part of the original file configured in the file format of MP4 are integrated.
  • the two streams each including audio data are integrated.
  • the MP4 file stores information indicating a section of overlap. Therefore, the playback apparatus that plays back the MP4 file can easily specify the data of the overlap section from the MP4 file using the information. As a result, the reproducing apparatus can appropriately reproduce the data by combining the data of the overlapping section. That is, it is possible to generate an MP4 file suitable for overlap reproduction.
  • the two streams when the section exists over a plurality of samples included in any one stream of the two streams, at least one of the plurality of samples is deleted.
  • the two streams may be integrated.
  • the overlap interval can be shortened. As a result, it is possible to reduce the burden of special processing by the playback device on the overlapping section.
  • time information indicating a time length of the section may be stored in the MP4 file as the information.
  • the playback device that plays back the MP4 file can easily specify the time length of the overlap section using the information.
  • the reproducing apparatus can appropriately reproduce the data within the specified time length, for example, by combining the data of the overlapping section.
  • the time information may be stored in traf in the moof of the MP4 file.
  • the playback device can appropriately acquire the stored time information.
  • the information may be acquired from an apparatus or an optical disc holding the information.
  • a reproduction method is a reproduction method for reproducing an MP4 file, and extracting information indicating two sections where reproduction timings overlap in the content to be reproduced from the MP4 file, The two sections in the content are identified based on the extracted information, and the decoding results for the respective data of the two sections are combined and output.
  • the playback apparatus can easily identify the data of the overlap section from the MP4 file.
  • the reproduction device can appropriately reproduce the data of the overlapping section.
  • a recording medium is a recording medium recording an MP4 file
  • the MP4 file is a content read and reproduced by a computer
  • a reproduction timing of the content is And information indicating two overlapping sections.
  • the reproducing apparatus for reading out the MP4 file from the recording medium and reproducing it can easily specify the data of the above two sections from the MP4 file using the information.
  • the reproducing apparatus can appropriately reproduce the data by combining the data of the sections.
  • the file generation method concerning one mode of this indication is a file generation method which generates MP4 file from an elementary stream, and the identification information which shows each of a plurality of elementary streams is It is a manifest file corresponding to the selected elementary stream obtained by acquiring the playlist included and selecting the elementary stream indicated by the predetermined identification information included in the acquired playlist, wherein the manifest file corresponds to the selected elementary stream
  • the MP4 file is generated by converting data included in the elementary stream into an MP4 file format, based on a manifest file required to convert the file format based on.
  • the data included in the elementary stream selected from the playlist can be converted to the file format of MP4 based on the manifest file corresponding to the elementary stream.
  • the manifest file for example, since an elementary stream indicated by predetermined identification information of a playlist can be identified without calculation, processing load can be suppressed.
  • the playlist further includes section information indicating a section of the elementary stream indicated by the predetermined identification information, and in the selection, the elementary stream indicated by the section information further includes: A section may be selected, and in the conversion, the section of the selected elementary stream may be converted into an MP4 file format.
  • the data of the section of the elementary stream selected from the play list can be converted into the file format of MP4 based on the manifest file corresponding to the elementary stream.
  • the manifest file By using the manifest file, the section of the elementary stream indicated by the section information of the playlist can be specified without calculation, so that the processing load can be suppressed.
  • the section information is indicated by time information indicating a time of decoding or display of the elementary stream
  • the manifest file is information in which the time and a position in the elementary stream are associated with each other.
  • the position of the section in the elementary stream corresponding to the time information indicated by the section information of the playlist is specified from the manifest file, and the section of the specified elementary stream is extracted
  • the section of the extracted elementary stream may be converted to the file format of MP4.
  • the position of the elementary stream section is easily determined from the section information indicated in the playlist. It can be identified. Thereby, the processing load can be suppressed.
  • the play list may use first identification information indicating a first elementary stream and second identification information indicating a second elementary stream as the predetermined identification information, and the first elementary stream
  • the first section information indicating one section and the second section information indicating the second section of the second elementary stream are included as the section information, and in the selection, the first identification information is acquired from the acquired playlist.
  • the data including the second section of the serial second elementary stream may be converted into MP4 file format.
  • the first section of the selected first elementary stream is extracted based on the first manifest file corresponding to the first elementary stream, and the second elementary stream is supported.
  • the second section of the selected second elementary stream is extracted based on the second manifest file, and data including the extracted first section and the second section is converted into the file format of MP4. May be
  • an MP4 file of audio corresponding to the elementary stream is further obtained, and a video corresponding to the elementary stream is obtained based on the manifest file corresponding to the selected elementary stream.
  • the MP4 file may be generated by extracting the elementary stream of and the elementary stream of the extracted video and the MP4 file of the selected audio.
  • a menu for receiving an input from the user is generated, an input to the generated menu is received, and an elementary stream is selected from a playlist determined according to the input to the received menu. It is also good.
  • the playlist can reflect the user's intention.
  • a file generation device is a file generation device that generates an MP4 file from an elementary stream, and acquires a playlist including identification information indicating each of a plurality of elementary streams.
  • a selection unit for selecting an elementary stream indicated by predetermined identification information included in the acquired playlist, and a manifest file corresponding to the selected elementary stream based on a predetermined rule.
  • a generation unit configured to generate the MP4 file by converting data included in the elementary stream into an MP4 file format based on a manifest file required to convert the file format.
  • a recording medium includes: a plurality of MPEG2-TS files; and a playlist including identification information indicating each of a plurality of elementary streams included in the plurality of MPEG2-TS files; And a manifest file corresponding to the elementary stream, the manifest file necessary for converting the format of the file based on a predetermined rule.
  • FIG. 5 is a block diagram showing the configuration of a file generation apparatus according to the present embodiment.
  • the file generation apparatus 10 in the present embodiment is an apparatus that generates an MP4 file, and includes an original file acquisition unit 11, a difference file acquisition unit 12, a procedure file acquisition unit 13, and a generation unit 14.
  • the original file acquisition unit 11 acquires an original file configured in a file format different from MP4.
  • the difference file acquisition unit 12 acquires a difference file including data not included in the original file.
  • the procedure file acquisition unit 13 acquires a procedure file indicating a procedure for generating an MP4 file.
  • the generation unit 14 generates the MP4 file by combining the data included in the difference file and the data included in the original file according to the procedure indicated in the procedure file. In other words, the generation unit 14 converts the original file into an MP4 file.
  • FIG. 6 is a diagram for explaining a method of generating an MP4 stream file from an MPEG2-TS stream file, a difference file, and a copy manifest file.
  • stream file A (XXXXX.M2TS), which is the above-mentioned original file
  • copy manifest file (XXXXX.exe), which is the above-mentioned procedure file, on an optical disc (for example, Blu-ray (registered trademark) disc).
  • CMNF copy manifest file
  • XXXXX.DMP4 the above-mentioned difference file
  • the copy manifest file (XXXXX. CMNF) describes a conversion procedure of how to process this original file and convert it into an MP4 file.
  • the difference file (XXXXX.DMP4) stores data necessary for conversion into an MP4 file.
  • the generation unit 14 When converting the stream file A (XXXXX.M2TS) of MPEG2-TS, the generation unit 14 follows the description of the copy manifest file (XXXXX.CMNF), the data of the stream file A (XXXXX.M2TS), and the difference file (XXXX.M2TS). By alternately combining the data of XXXXX.DMP4), a stream file B (XXXXX.MP4) which is an MP4 file is generated. In other words, the generation unit 14 converts the stream file A (XXXXX.M2TS) into the stream file B (XXXXX.MP4).
  • the conversion can be performed without restoring the original file into an audio or video elementary stream (for example, a stream of HE-AAC or MPEG-4 AVC). Also, if the original file is encrypted, the conversion from the original file to the MP4 file can be simplified without decrypting the encryption.
  • This copy manifest file (XXXXX.CMNF) is "Input File A”, “Input File B”, “Output File”, “Output File Size”, “ATTRIBUTE”, “MP4 DECODER BUFFER SIZE”, and “COPY MANIFEST” including.
  • “Input File A” and “Input File B” indicate file names of two files to be input. The conversion process starts with the copy of the beginning of the file indicated by "Input File A”.
  • “Output File” indicates the file to be output, that is, the file name of the generated MP4 file.
  • “Output File Size” indicates the data size of the output MP4 file. This data size is described in byte precision.
  • “ATTRIBUTE” indicates the attribute of each file, and specifically, indicates what elementary stream is converted and what file is generated.
  • “ATTRIBUTE” includes the converted MP4 file including 4K video compressed by HEVC (High Efficiency Video Coding) and 5.1ch English audio of AAC (Advanced Audio Coding). Show that By this, before conversion processing, it is possible to confirm in advance what kind of file the converted file obtained when converted according to this copy manifest file is.
  • “ATTRIBUTE” may indicate the data structure of the MP4 file or the like, and may indicate the MP4 brand (that is, the type) stored in “ftyp” of the MP4 file.
  • MP4 DECODER BUFFER SIZE indicates a buffer size that is the minimum required to reproduce the converted stream file B (XXXXX. MP4), which is an output MP4 file. This buffer size is an amount depending on what multiplexing rule is used to multiplex video and audio in the MP4 file which is the stream file B after conversion. “MP4 DECODER BUFFER SIZE” may indicate what kind of decoder resources (memory amount and data transfer speed) are necessary to reproduce the stream file B after conversion other than the buffer size.
  • “COPY MANIFEST” indicates the range of each part of the file indicated by “Input File A” and the range of each part of the file indicated by “Input File B”. Each part of this is a part that is sequentially copied and pasted to generate the MP4 file indicated by "Output File”. Also, the range of each part is indicated by the copy start position and the copy size, or only by the copy size. In addition, “COPY MANIFEST” is used to alternately copy and paste the portion of the file indicated by “Input File A” and the portion of the file indicated by “Input File B” alternately. Indicates the range of the part.
  • the difference file (XXXXX.DMP4) is copied and pasted from the top of the difference file for each portion of the designated size. Therefore, in "COPY MANIFEST", it is not necessary to specify the copy start position to indicate each part of the difference file (XXXXX.DMP4). That is, the range of each portion of the difference file is indicated only by the copy size (data size) without using the copy start position.
  • stream file A (XXXXX.M2TS) contains unnecessary data in stream file B (XXXXX.MP4) after conversion. Therefore, in "COPY MANIFEST", the range of each part is indicated by the copy start position and the copy size in order to indicate each part of the stream file A which is the original file.
  • the copy start position is the byte position from the beginning of the file
  • the copy size is the data size in bytes.
  • the generation unit 14 repeats copying and pasting alternately the part included in the original file and the part included in the difference file indicated by “COPY MANIFEST” according to the copy manifest file. That is, the generation unit 14 repeats combining the portion included in the original file and the portion included in the difference file, which is indicated by "COPY MANIFEST", alternately. As a result, an MP4 file, which is the stream file B after conversion, is generated.
  • the file generation apparatus 10 may obtain the difference file (XXXXX.DMP4) and the copy manifest file (XXXXX.CMNF) from an optical disc such as a Blu-ray (registered trademark) disc, or both or one of them. Files may be obtained via the Internet. In this case, the file generation apparatus 10 is specially changed to present various choices such as converting the original file into a file of the latest file format or an MP4 file containing another video and audio. This can be done without the need for
  • the file generation device 10 may perform conversion in a state where the stream file A, which is the original file, is encrypted, and after decrypting the original file, performs conversion to an MP4 file and generates MP4 files may be encrypted again.
  • the file stream (XXXXX.M2TS) which is the original file may be plain text. Note that since the difference file is composed of header information, encryption of the difference file is unnecessary. However, if the stream file A (XXXXX.M2TS) which is the original file or the stream file B (XXXX.MP4) which is the MP4 file is plain text, the entire file is expanded in the memory or temporarily stored in the hard disk For example, operations such as may not be acceptable in terms of security.
  • the file generation apparatus 10 may delete the area of the stream file A (XXXXX.M2TS), which is a plain text original file, in order from the area where conversion to the MP4 file is completed.
  • the file generation apparatus 10 when encrypting the stream file B (XXXXX.MP4) which is an MP4 file, the file generation apparatus 10 generates a "Movie fragment" or a portion such as a predetermined number of MP4 samples included in the MP4 file.
  • the generated part may be sequentially encrypted each time it is done. If an encryption method is used in which the data size does not change before and after encryption, the area of the data to be copied does not change regardless of the presence or absence of encryption.
  • the copy manifest file may indicate whether the stream file A (XXXXX.M2TS), which is the original file, is encrypted.
  • the encoded data multiplexed in the stream file A may be converted while being encrypted, or the encrypted encoded data may be converted into an MP4 file after converted to plain text and then encrypted again. You may indicate whether you want to
  • FIG. 7 is a diagram for explaining a method of generating a difference file and a copy manifest file.
  • the difference file (XXXXX.DMP4) and the copy manifest file (XXXXX.CMNF) can be generated as follows.
  • the stream file A (XXXXX.M2TS) which is the original file is subjected to format conversion to generate a converted stream file B (XXXXX.MP4) which is an MP4 file.
  • XXXX.MP4 which is an MP4 file.
  • at least one portion including mutually matching data is searched between each of the stream file A, which is the original file, and the stream file B.
  • the search is performed so that the data size of each part becomes the largest.
  • a difference file is generated by connecting each of the remaining parts included in the stream file B other than the parts searched as described above in the order included in the stream file B.
  • the correlation result of each file at this time is recorded in the copy manifest file as "COPY MANIFEST".
  • the above-described search is performed by sequentially acquiring data included in each of the stream file A and the stream file B in the direction from the top of each file to the rear and comparing the data. And the comparison is made without going back in the opposite direction to the above-mentioned direction.
  • the above-described conversion process (copy process) can be performed sequentially, that is, by one continuous process, and speeding up or memory reduction can be realized.
  • a picture of a predetermined PTS (Presentation TimeStamp) included in the video is audio so that data of a picture having a large code amount such as I picture does not underflow.
  • the frame may be multiplexed in time earlier than a frame of a PTS identical to the predetermined PTS included in the.
  • the video should be multiplexed so that the PTS of the first picture of the video in "Movie fragment" and the PTS of the first frame of the audio coincide or become close to each other. Is common.
  • conversion processing may not be performed sequentially. As a result, conversion may be performed while sequentially moving the read or write pointer back and forth. Therefore, it may be registered in the copy manifest file whether the conversion process can be performed by one continuous process or, if it can not be performed by one continuous process, the maximum data size that needs backtracking, and the like.
  • a specific threshold may be provided. For example, only a portion including data that matches each other by 8 bytes or more is registered in the copy manifest file. Even if each of the remaining parts included in stream file B other than that part contains less than 8 bytes of data that matches the data in stream file A, the data contained in those remaining parts is a difference file Stored. Further, this threshold may be described in the copy manifest file as "MIN COPY SIZE: 8 bytes".
  • the MPEG-2 TS file may be converted to an MP4 file using a copy manifest file indicating a multiplexing unit in the MP4 file without using a difference file.
  • a copy manifest file indicating a multiplexing unit in the MP4 file without using a difference file.
  • audio, video or text is multiplexed as different "Movie fragments”.
  • DTS of each audio frame and video picture that becomes the beginning and end of “Movie fragment” in decoding order, or byte offset value from the beginning of the file of MPEG-2 TS, etc. are registered together with the identification information of the media. May be Note that the registration order of "Movie fragment" is the same as the appearance order of "Movie fragment" in the MP4 file.
  • FIG. 8 is a flowchart of a file generation method according to the present embodiment.
  • the file generation method in the present embodiment is a method in which the file generation device 10 generates an MP4 file.
  • the original file acquisition unit 11 of the file generation device 10 acquires an original file configured in a file format different from MP4 (step S11).
  • the difference file acquisition unit 12 acquires a difference file including data not included in the original file (step S12).
  • the procedure file acquisition unit 13 acquires a procedure file indicating a procedure for generating an MP4 file (step S13).
  • the generation unit 14 generates the above-described MP4 file by combining the data included in the difference file and the data included in the original file according to the procedure indicated in the procedure file (step S14).
  • the original file acquisition unit 11 acquires an original file configured in the file format of MPEG2-TS.
  • the MP4 file is generated by combining the data included in the difference file and the data included in the original file according to a predetermined procedure. Therefore, the MP4 file can be easily generated without returning the original file configured by the file format such as MPEG2-TS to each stream such as the video stream or the audio stream. Also, even if the original file is encrypted, there is no need to decrypt and re-encrypt it. Therefore, the processing load for generating the MP4 file can be reduced.
  • the original file acquisition unit 11, the difference file acquisition unit 12, and the procedure file acquisition unit 13 respectively acquire the original file, the difference file, and the procedure file from the optical disc by acquiring them.
  • the procedure file acquisition unit 13 since all the files necessary for generating the MP4 file are acquired from one optical disk, it is possible to save the trouble of searching for those files, and it is possible to generate the MP4 file more easily.
  • the ranges of the plurality of portions included in the difference file are arranged so that the range of the portion included in the difference file and the range of the portion included in the original file are alternately arranged;
  • Each range of a plurality of parts included in the original file is described. Therefore, in step S14, the generation unit 14 generates the MP4 file by combining the portions indicated by the ranges in the order of the ranges described in the procedure file.
  • the parts included in the MP4 file can be generated sequentially from the top side of the MP4 file, and there is no backtracking, so the MP4 file can be generated more easily.
  • the range of each of the plurality of parts included in the difference file is described in the procedure file by the data size.
  • the range of each of a plurality of parts included in the original file is described in the procedure file by the start position of the part and the data size.
  • step S14 the generation unit 14 further determines, based on the data size of the MP4 file described in the procedure file, whether the medium has enough free space for recording the MP4 file or not. It is also good. As a result, it is determined whether or not the medium has enough free space for recording the MP4 file, so if there is no free space, processing such as canceling generation of the MP4 file may be performed in advance. it can. That is, the occurrence of an error can be prevented in advance.
  • the file generation device 10 may further read out the attribute described in the procedure file.
  • the attributes of the MP4 file are read from the procedure file before the generation of the MP4 file, it can be determined in advance whether or not the desired MP4 file is generated.
  • the procedure file also describes the buffer size required to play the MP4 file. Therefore, the file generation device 10 may further read the buffer size described in the procedure file. As a result, if the buffer size necessary for reproducing the MP4 file is read from the procedure file, it can be easily determined whether the MP4 file can be reproduced without analyzing the MP4 file.
  • the file generation device 10 further identifies the file of the first file name described in the procedure file as the original file, and identifies the file of the second file name described in the procedure file as the difference file. You may thus, the original file and the difference file used to generate the MP4 file can be properly acquired.
  • step S14 the generation unit 14 combines header information corresponding to MP4, which is data included in the difference file, with data included in the original file. This makes it possible to easily generate an MP4 file having appropriate header information of MP4.
  • step S11 the original file acquisition unit 11 may acquire an original file in a plaintext state, and in step S14, the generation unit 14 may encrypt the generated MP4 file.
  • the original file is deleted after conversion to MP4, it is possible to secure the secrecy of the data while leaving the data contained in the original file as the MP4 file.
  • step S14 every time the part that constitutes the original file is acquired, the generation unit 14 generates and encrypts the part of the MP4 file corresponding to that part, and the part that constitutes the MP4 file is encrypted. Each time, the part of the original file corresponding to that part may be deleted. As a result, it is possible to prevent all the data contained in the plaintext original file from being temporarily stored in the storage area, and the confidentiality of the data can be ensured more reliably.
  • the MP4 file is generated using the difference file and the copy manifest file, but the MP4 file may be generated without using these files.
  • an MPEG2-TS stream file consisting of a plurality of Source Packets each having a plaintext header is converted into an MP4 stream file using a counter.
  • an MP4 stream file is generated.
  • the MPEG2-TS stream file is an original file
  • the MP4 stream file is an MP4 file.
  • FIG. 9 is a diagram for explaining a file generation method in the present modification.
  • the MPEG2-TS stream file (that is, content) is composed of a plurality of Source Packets as described above.
  • Source Packet is shown as SP for short.
  • each Source Packet included in the stream file of MPEG2-TS in this modification only the TS Payload portion of the data included in the Source Packet is encrypted. That is, among the data included in the Source Packet, TS_extra_header and TS Header are not encrypted and are plaintext.
  • the AES-CTR (CounTeR) mode is used for encryption.
  • encryption and decryption using the value of the counter are performed.
  • the value of the video counter (AES Counter for Video) is used to encrypt a plurality of TS Payloads each including video data
  • the value of the audio counter (AES Counter for Audio) Are used to encrypt multiple TS Payloads, each containing audio data.
  • the counter for video counts only data of source packet of video so that the count value increases according to the arrow shown in FIG.
  • the audio counter counts only the data of the audio source packet so that the count value increases according to the arrow shown in FIG.
  • the details of the encryption in the AES-CTR mode will be described later.
  • the file generation apparatus can easily convert an MPEG2-TS stream file into an MP4 stream file by extracting only TS Payload from each of a plurality of Source Packets included in the MPEG2-TS stream file. it can.
  • FIG. 10A is a diagram for describing encryption of data in the AES-CTR mode.
  • a key and an initial value IV are used.
  • encrypt the IV using the key By performing an exclusive OR operation on the value obtained by this encryption and the first 16 Bytes (m1 shown in FIG. 10A) of the data to be encrypted, a ciphertext c1 corresponding to the first 16 Bytes is generated .
  • a ciphertext c2 corresponding to the next 16 bytes of data is generated.
  • a ciphertext can be created even for long data of 16 bytes or more. If the length of the data to be encrypted is not a multiple of 16 Bytes, a ciphertext is generated by performing an exclusive OR in units of bits in the last block.
  • FIG. 10B is a diagram for describing decryption of data in the AES-CTR mode.
  • the file generation method is a file generation method for generating an MP4 file, and acquires an original file consisting of a plurality of packets, and for each packet included in the original file, Among them, except for the header information in the plaintext state, only the remaining encrypted payload portion is acquired and combined to generate an MP4 file.
  • the original file configured in the file format of MPEG2-TS is acquired.
  • the MP4 file can be easily generated without returning the original file configured by the file format such as MPEG2-TS to each stream such as the video stream or the audio stream.
  • there is no need to decrypt and re-encrypt the original file can be reduced.
  • payloads of a plurality of packets including video data are encrypted using a counter value of a first video counter, and audio data is encrypted.
  • Each of the payloads of the plurality of packets including H. is encrypted using a counter value of a second counter for audio different from the first counter.
  • the first counter counts only data included in each of a plurality of packets corresponding to a video, from the top of the original file, and the second counter counts from the top of the original file. Only the data contained in each of the plurality of packets corresponding to the audio.
  • the first counter is used as a video-only counter, it is possible to easily decode a video elementary composed of a combination of payloads of a plurality of packets corresponding to video in the MP4 file. it can.
  • the second counter is used as an audio-only counter, it is possible to easily decode an audio elementary composed of the respective payloads of a plurality of packets corresponding to audio in the MP4 file. it can.
  • the original file consists of a plurality of Aligned Units, and each of the plurality of Aligned Units consists of a plurality of Source Packets.
  • the plurality of packets included in the original file are a plurality of Source Packets included in each of the plurality of Aligned Units.
  • the payload is a TS Payload
  • the header information is composed of a TP_extra_header and a TS Header.
  • the MP4 file is generated using the difference file and the copy manifest file, but the MP4 file may be generated without using these files.
  • a stream file of MPEG2-TS including auxiliary information is converted into an MP4 stream file using the auxiliary information.
  • an MP4 stream file is generated.
  • the access unit in the MPEG2-TS includes both initialization information that is essential for decoding a picture or audio frame of a video and coded data of the picture or frame.
  • the access unit (called as a sample or MP4 sample in MP4) in the MP4 file consists only of encoded data of a picture or frame, and the initialization information necessary for decoding is encoded data as header information of the MP4 file Are stored separately from
  • auxiliary information for reducing the amount of processing involved in conversion, and a conversion method of a multiplexed format using the auxiliary information explain.
  • encoded data is encrypted, the amount of processing at the time of decrypting and re-encrypting is large.
  • conversion to an MP4 file can be performed only by copying data without decrypting the encoded data.
  • the stream file of MPEG2-TS which is the original file before conversion, may be another TS (transport stream). That is, the original file is used not only for TS defined in the MPEG-2 system, but also for TS in which header information of a predetermined number of bytes is added to TS packet (for example, Blu-ray (registered trademark) disc or video delivery etc. TS).
  • the MP4 file generated by the conversion may be an MP4 file using "Movie fragment” or may be an MP4 file not using "Movie fragment”.
  • the format of the file generated by the conversion may be the MP4 based extended Digital Entertainment Content Ecosystem (DCE) Common File Format (CFF) or MPEG-DASH (Dynamic Adaptive Streaming over HTTP). Good.
  • DCE Digital Entertainment Content Ecosystem
  • CFF Common File Format
  • MPEG-DASH Dynamic Adaptive Streaming over HTTP
  • FIG. 11 is a diagram showing an example of storing an access unit of MPEG-4 AAC stored in a transport stream in an MP4 file.
  • the access unit of MPEG-4 AAC in the transport stream is composed of three types of data: Low Overhead Audio Transport Multiplex (LATM) header, PayloadLengthInfo (), and PayloadMux ().
  • LATM header includes initialization information necessary for decoding MPEG-4 AAC encoded data (also referred to as AAC data), such as the number of channels and sampling frequency. More specifically, the initialization information is stored in AudioSpecificConfig () in the LATM header.
  • PayloadLengthInfo () stores the size of PayloadMux (), and PayloadMux () stores AAC data.
  • AudioSpecificConfig () in the LATM header is stored in the sample entry in stsd in the moov of the MP4 file.
  • PayloadLengthInfo () and PayloadMux () are stored in mdat as sample data.
  • the sample data is data stored in the sample.
  • sample data in mdat is referenced from moov, or when using "Movie fragment", sample data in mdat is referenced from moof.
  • MPEG-2 AAC not a LATM header but an ADTS (Audio Data Transport Stream) header is used, and an access unit is configured of an ADTS header and AAC data (called raw_data_block ()).
  • the ADTS header is separated from the access unit, and at least adts_fixed_header () of the data included in the ADTS header is stored in the sample entry.
  • AAC data is stored as sample data in mdat.
  • FIG. 12 is a diagram illustrating an example in which an access unit of MPEG-4 AVC (Advanced Video Coding) stored in a transport stream is stored in MP4.
  • MPEG-4 AVC Advanced Video Coding
  • initialization information required for decoding such as Sequence Parameter Set (SPS) and Picture Parameter Set (PPS) is stored as part of the access unit.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • the access unit shown in FIG. 12 configures an Instantaneous Decoder Refresh (IDR) picture.
  • the Network Adaptation Layer (NAL) unit of each of SPS and PPS is separated from the access unit and stored in the sample entry in stsd in moov of the MP4 file.
  • Other data included in the access unit are stored as sample data in mdat.
  • initialization information such as SPS and PPS can be included in sample data of MPEG-4 AVC.
  • the mode is indicated by the identification information of the sample entry.
  • the identification information is "avc1" or "avc2”, it is prohibited to include the initialization information in the sample data.
  • the identification information is "avc3" or "avc4", it is permitted to include the initialization information in the sample data.
  • the identification information in the MP4 file is set to “avc1” or “avc2”, the data stored in mdat from the access unit in the transport stream Among them, SPS and PPS NAL units or FillerData NAL units used for stuffing are deleted.
  • the identification information is set to "avc3" or "avc4", the SPS or PPS NAL unit may not be deleted. Therefore, whether to delete the SPS and PPS may be switched according to the set value of the identification information in the MP4 file.
  • HEVC High Efficiency Video Coding
  • MPEG-4 AVC data of High Efficiency Video Coding
  • initialization information may be included in sample data. Therefore, when converting a transport stream into an MP4 file, it is determined according to the type of coding method whether initialization information is to be deleted among data stored in mdat from an access unit in the transport stream. Alternatively, processing may be performed according to the determination result.
  • the LATM header is separated from the access unit. Furthermore, only PayloadLengthInfo () and PayloadMux () are stored in mdat as sample data.
  • PayloadLengthInfo () and PayloadMux () are collectively referred to as a LATM payload.
  • the LATM header and the LATM payload are stored in separate TS packets. This allows the LATM header to be easily separated.
  • FIG. 13A is a diagram showing an example of storing an LATM header and an LATM payload in a TS packet. Stuffing is performed as necessary so that each data of the LATM header and the LATM payload is not mixed in the payload of the same TS packet.
  • the LATM header of the access unit 1 is stored in the payload of the leading TS packet.
  • stuffing is performed on the remaining area of the TS payload.
  • the PES packet is not described in the example shown in FIG. 13A, actually, the data of the access unit is stored in the payload of the PES packet, and the data of the PES packet is stored in the payload of the TS packet.
  • the payload_unit_start_indicator of the TS header is set to 1 in the TS packet including the head data of the PES packet. If it is guaranteed that the payload of the TS packet in which the payload_unit_start_indicator is set to 1 includes the LATM header, it can be determined based on the value of the payload_unit_start_indicator whether the LATM header is included in the TS packet.
  • the AU_info table which is auxiliary information, may be placed at the beginning of the payload of the PES packet.
  • the AU_info table includes the number of access units included in the payload of the PES packet, and the sizes of LATM headers and LATM payloads in each access unit.
  • FIG. 13B is a diagram illustrating an example of a syntax of the AU_info table.
  • the AU_info table includes AU_info_identification_code, number_of_AU indicating the number of access units, size_of_LengthInfo indicating the size of LATM headers and LATM payloads in the access units.
  • AU_info_identification_code is a bit string specific to the AU_info table. By searching this code, it can be determined whether the AU_info table exists.
  • the AU_info table may be a data structure combining the Box data size and the Box type.
  • the AU_info table may be used when the presence of the AU_info table is signaled by a descriptor in the transport stream or auxiliary data for conversion to an MP4 file prepared separately from the transport stream. It is also good.
  • the AU_info table may be used.
  • a technique for identifying data to be separated for conversion to an MP4 file by indicating the size or data offset of each component in such an access unit is applied to encoded data of MPEG-4 AVC You may That is, when storing encoded data of MPEG-4 AVC in an MP4 file, the above-described method may be applied to separate NAL units of SPS and PPS.
  • FIG. 13C is a diagram showing an example of a syntax of an AU_info table for indicating whether or not it is necessary to exclude the component from the sample data of the MP4 file for each component in the access unit.
  • the AU_info table includes AU_info_identification_code, number_of_data_unit, size_of_data_unit, and conversion_mode.
  • number_of_data_unit indicates the number of data units included in the access unit.
  • size_of_data_unit indicates the size of the data unit.
  • conversion_mode is a conversion mode indicating how to handle data units at the time of conversion to an MP4 file. If conversion_mode is 0, the conversion_mode indicates that the data unit is copied as sample data of the MP4 file. If conversion_mode is 1, the conversion_mode indicates that the data unit is excluded from the sample data, that is, the data unit is not copied as the sample data.
  • the conversion_mode may show the handling of the data unit after excluding a data unit.
  • the conversion_mode indicates that the data unit is to be stored in the sample entry after excluding the data unit from the sample data.
  • information of each of the plurality of data units is stored in ascending order in the decoding order. For example, when one access unit of MPEG-4 AVC is stored as one PES packet, the data unit corresponds to a NAL unit, and the number of NAL units constituting the access unit is indicated by num_of_data_unit. Then, conversion_mode is set to 1 for each NAL unit of SPS and PPS. Also, each of the LATM header and LATM payload may be regarded as a data unit. In this case, the AU_info table can be applied to the MPEG-4 AAC by setting conversion_mode to 1 for the data unit corresponding to the LATM header. When storing a plurality of access units in a PES packet, number_of_data_unit indicates the total number of data units included in all access units in the PES packet.
  • the AU_info table may be stored in the adaptation_field of the header (TS Header in FIG. 3) of the TS packet including the start portion of the PES packet.
  • the AU_info table may be stored as part of encoded data such as a NAL unit or SEI (Supplemental Enhancement Information) in MPEG-4 AVC or HEVC.
  • SEI Supplemental Enhancement Information
  • the AU_info table can be stored for each access unit or for each random access.
  • the AU_info table may be stored for each PES packet, and only in the PES packet including the access unit that becomes the head in decoding order in the random access unit You may store a table.
  • the AU_info table stores information on all the access units constituting the random access unit.
  • FIG. 14 is a block diagram showing the configuration of a file generation apparatus according to this modification.
  • the file generation device 100 generates the MP4 file by converting a transport stream including the AU_info table into an MP4 file.
  • the file generation apparatus 100 includes an auxiliary information search unit 101, an auxiliary information analysis unit 103, and a generation unit 104.
  • the auxiliary information search unit 101 searches the AU_info table, which is auxiliary information, from the transport stream.
  • the auxiliary information analysis unit 103 determines whether the AU_info table exists based on the search result. Furthermore, when it is determined that the AU_info table exists, the auxiliary information analysis unit 103 analyzes the AU_info table.
  • the generation unit 104 generates an MP4 file based on the analysis result by the auxiliary information analysis unit 103.
  • the generation unit 104 includes a sample generation unit 104a and a sample entry generation unit 104b.
  • the sample generation unit 104a stores, as sample data, data of LATM payload, SPS and NAL unit other than PPS in mdat of MP4 file.
  • the sample entry generation unit 104b stores the data of the LATM header, or the NAL unit of each of the SPS and the PPS, etc. in the sample entry in stsd in the moov of the MP4 file.
  • Such a file generation apparatus 100 can easily convert a transport stream including the above-mentioned AU_info table into an MP4 file.
  • MPEG2-TS and MP4 have different storage locations of initialization information required for decoding. Furthermore, the storage format of the NAL unit in MPEG-4 AVC or HEVC differs between MPEG2-TS and MP4. Therefore, conversion of transport format to MP4 file requires conversion of storage format.
  • storage formats of NAL units in MPEG2-TS and MP4 will be described with reference to FIGS. 15A to 15C.
  • FIG. 15A is a diagram showing a schematic structure of a NAL unit.
  • the NAL unit is composed of a header and a payload.
  • the header stores type information indicating the type of data stored in the payload.
  • FIG. 15B is a diagram illustrating an example of a storage format of NAL units in MPEG2-TS.
  • a unique bit string called a start code is added to the NAL unit as identification information to identify the boundary of the NAL unit (hereinafter, such a format of identification information is referred to as a start code format) .
  • the decoding apparatus or the like can separate the desired NAL unit by searching for the start code and the type information stored in the header of the NAL unit.
  • FIG. 15C is a diagram illustrating an example of a storage format of NAL units in MP4.
  • MP4 in order to identify the boundary of the NAL unit, a field indicating the data size of the NAL unit as identification information is added to the NAL unit (hereinafter, the format of such identification information is referred to as NAL size format).
  • the field length of the field indicating the data size is stored in AVCDecoderConfigurationRecord in the sample entry.
  • AVCDdecoderConfigurationRecord is an area in which initialization information at the time of decryption is stored.
  • the decoding device or the like can separate the desired NAL unit based on the data size of the NAL unit.
  • MPEG2-TS and MP4 also differ in whether the format of identification information indicating the boundary of the NAL unit is the start code format or the NAL size format. Therefore, when converting a transport stream into an MP4 file, it is necessary to convert identification information indicating the boundaries of NAL units.
  • the storage format of the NAL unit is defined for each coding method, the operation of conversion to the MP4 file may be switched with reference to the audio or video coding method.
  • the data size of the NAL unit is required. Therefore, it is desirable that the data size of the NAL unit constituting the access unit can be obtained in advance. By doing this, the amount of processing when determining the data size of the NAL unit can be reduced by searching the start code in the access unit in the start code format and detecting the NAL unit boundary.
  • size information indicating the data size of each NAL unit included in the access unit is stored at the beginning of the access unit in the transport stream in this modification.
  • FIG. 16A is a diagram showing a configuration example of an access unit in a transport stream according to the present modification.
  • size information indicating the data size of each NAL unit constituting an access unit to be multiplexed into a transport stream is stored at the top of the access unit. For example, this size information is stored in the newly defined size information NAL unit.
  • NAL unit There are two types of NAL units, one for private and one for user data. Therefore, one of these types is selected, and the selected type of NAL unit is used as the size information NAL unit.
  • the size information NAL unit is stored in plaintext, since the size information does not need to be encrypted.
  • FIG. 16B is a diagram illustrating an example of a syntax of size information included in the size information NAL unit.
  • the size information includes number_of_nalu and nal_size.
  • number_of_nalu indicates the number of NAL units that constitute an access unit
  • nal_size indicates the data size of each NAL unit. Since the size information NAL unit is not stored in the MP4 file, the size information may not indicate the data size of the size information NAL unit itself.
  • the size information NAL unit is disposed in front of the NAL unit for signaling the beginning of the access unit called Access Unit Delimiter (AUD), but is disposed immediately after AUD. It is also good.
  • AUD Access Unit Delimiter
  • the size information of the size information NAL unit indicates the size of each NAL unit after AUD. Therefore, the size information does not indicate the data size of AUD. However, since the data size of AUD is fixed, the file generation apparatus 100 may store the data size in advance. Also, as in the AU_info table, size information may be placed at the beginning of the payload of the PES packet.
  • FIG. 16C is a diagram showing another example of a syntax of size information included in the size information NAL unit.
  • a NAL unit in the transport stream may include a variable-length code such as zero_byte. Therefore, as shown in FIG. 16C, the data size (prefix_size shown in FIG. 16C) of identification information including the start code of the NAL unit may be stored in the size information. If the data size of the identification information is fixed, the data size of the identification information may be stored in the descriptor of the MPEG2-TS or the auxiliary data at the time of conversion into the MP4 file. Furthermore, in the NAL size format, the field length of the field indicating the data size of the NAL unit after conversion to the MP4 file may also be shown.
  • the identification information may be regarded as a data unit, and the contents of Nal_size_info may be indicated by the AU_info table.
  • conversion_mode by setting conversion_mode to multiple values, in addition to the two operations of deleting and leaving the data unit, a mode of converting the data structure of the data unit may be added.
  • identification information for identifying the type of data unit may be added to the AU_info table. For example, with such identification information, it is possible to determine the type of NAL unit, such as NAL unit of SPS in MPEG-4 AVC or HEVC, NAL unit of PPS, or NAL unit of slice. Alternatively, it is possible to determine the LATM header or LATM payload of MPEG-4 AAC. Furthermore, a field may be additionally provided to indicate whether the data unit is encrypted.
  • Data units with different conversion_mode may be stored in different TS packets.
  • conversion_mode is 2
  • a data unit stored in a sample entry as header information may be stored in a TS packet as plain text.
  • NAL unit of slice data For encryption, only the NAL unit of slice data may be encrypted, and the other part may be plaintext. Since encryption is performed in TS packet units, plaintext and encrypted portions can not be mixed in the payload of TS packets, and the data size of AUD etc. is small. If AUD is stored as an independent packet, stuffing increases and multiplexing is performed. This is because the efficiency is reduced. Also, if the boundary of NAL unit data of the encrypted slice is not aligned with the end of the payload of the TS packet, stuffing is required. When stuffing is performed, there is a method of using the adaptation_field of the TS packet header or inserting a Filler Data NAL unit or SEI for Filler Data into encoded data.
  • the adaptation_field of the TS packet header When the adaptation_field of the TS packet header is used, the adaptation_field needs to be plaintext, but it is expensive to switch processing of whether to encrypt or not to a variable-length area. Therefore, when performing stuffing, it is desirable to align the boundary of NAL unit data to the payload end of the TS packet using a data structure for stuffing in the encoded data.
  • SEI User unregistered SEI
  • SEI User unregistered SEI
  • the size information may be stored in the SEI.
  • the start code format can be converted into the NAL size format based on the size information of the NAL unit stored by any one or more of these methods. Further, information indicating whether or not size information is stored may be stored using a descriptor or the like in the MPEG2-TS.
  • FIG. 17 is a flowchart showing the processing operation of the file generation apparatus 100 according to the present modification to generate an MP4 file. Specifically, this flowchart shows an example of the processing operation of changing a transport stream into an MP4 file with reference to the AU_info table shown in FIG. 13C.
  • the auxiliary information search unit 101 of the file generation apparatus 100 searches for an AU_info table placed at the beginning of the payload of the PES packet or the like (step S101).
  • the auxiliary information analysis unit 103 determines whether the AU_info table exists based on the result of the search (step S102). Here, if it is determined that the AU_info table exists ("Yes" in step S102), the auxiliary information analysis unit 103 converts the data size of each data unit and the conversion of each data unit included in the AU_info table. The mode is acquired (step S103).
  • the sample generation unit 104a of the generation unit 104 regards the access unit separated from the PES packet as a data unit and samples that data unit. Copy as data and paste to mdat (step S105).
  • the sample generation unit 104 a regards the payload of the PES packet as data for one access unit and separates it.
  • the sample generation unit 104a searches the boundary of each access unit in the encoded data. And separate their access units.
  • the auxiliary information analysis unit 103 determines whether the conversion mode is 0 (step S104). If it is determined that the conversion mode is 0 ("YES" in step S104), the sample generation unit 104a copies a data unit corresponding to the conversion mode as sample data and pastes it to mdat (step S105). On the other hand, when it is determined that the conversion mode is not 0 ("No" in step S104), the auxiliary information analysis unit 103 determines whether the conversion mode is 1 (step S106). Here, when it is determined that the conversion mode is 1 ("Yes" in step S106), the sample generation unit 104a converts the data structure of the data unit corresponding to the conversion mode, and converts the data structure after conversion.
  • the data unit to be stored is stored in mdat as sample data (step S107).
  • the sample generation unit 104a converts the format of identification information of the NAL unit boundary from the start code format to the NAL size format.
  • the sample entry generation unit 104b does not store the data unit corresponding to the conversion mode in mdat.
  • At least a part of the data of is stored in the sample entry (step S108).
  • the sample entry generation unit 104b stores NAL units of SPS and PPS in MPEG-4 AVC in a sample entry.
  • the sample entry generation unit 104 b separates AudioSpecificConfig () from the LATM header of the MPEG-4 AAC and stores it in the sample entry.
  • the portion of the data unit data stored in the sample entry is predefined in the encoding method, but auxiliary data for specifying the storage portion in the sample entry may be shown in the AU_info table.
  • the address indicating the copy start position of the stream file described in the copy manifest file in the above embodiment may not be an absolute value from the beginning of the stream file.
  • the address indicating the copy start position may be a difference value from the address indicating the copy start position of the immediately preceding entry.
  • the following three methods (modes 1 to 3) are possible as a description method of the address of the copy start position and the copy size, for example.
  • data is alternately copied from the stream file and the difference file.
  • the range of data to be copied is described as (address of copy start position, copy size), and the bit length of each field is, for example, (int32, int8).
  • mode 2 when the copy size is 0, copying is skipped. Since data can be copied continuously from the same file, the data length of the address can be shortened as compared with mode 1.
  • the range of data to be copied is described as (address of copy start position, copy size), and the bit length of each field is, for example, (int16, int8).
  • mode 3 instead of explicitly indicating the copy size in mode 2, the data to the end of the payload of the TS packet indicated by the address is copied. Copy size fields are omitted. Also, instead of specifying an address, a difference value of index numbers of TS packets in the stream file may be used. For example, the range of data to be copied is described as (packet number, copy mode), and the bit length of each field is, for example, (int7, int1). Copy mode indicates whether to skip copying.
  • FIG. 18 is a diagram showing a specific example of address specification when mode 2 is used.
  • start position 1 and start position 2 which are copy start positions are the 210th byte and the 91428th byte, respectively.
  • the maximum value of the field length is 65535, so the difference value of the address can not be expressed by one entry. Therefore, when jumping from the start position 1 to the start position 2, two entries (65535, 0) and (25683, 180) are used. By doing this, it is possible to obtain 180 bytes of data after jumping to the start position 2.
  • FIG. 19 is a diagram showing an example of reading out a continuous area exceeding the copy size upper limit value.
  • the address indicating the copy start position or the copy size may be described not in units of 1 byte but in units of 4 bytes. Also, by separately providing identification information indicating which file of the differential file or the stream file to copy in each entry, the entries for one of the files are continuous instead of alternately describing the entries for both files. May be described.
  • FIG. 20 is a diagram for describing a process of copying data from an elementary stream to generate an MP4 file.
  • the number of packets is 5592,405, and the same number of entries is required.
  • the playback time length of this video is 2 hours and the frame rate is 30 Hz, the total number of frames is 216000. Therefore, when an entry is generated for each frame, the number of entries can be significantly reduced as compared to the case where an entry is generated for each packet.
  • a file of MPEG2-TS is doubly encrypted by AACS (Advanced Access Content System) and BD +, and data is interleaved and rearranged by BD +. Even in such a case, the order of the data constituting the encoded stream can be uniquely determined if the encoding stream is separated after the decryption is performed, so that the copy operation according to the present method is possible.
  • AACS Advanced Access Content System
  • the entry is composed of (file ID, address of copy start position, copy size).
  • the bit length of each field is, for example, (int4, 1 byte unit int22, int22).
  • the file ID is identification information of a file including data to be copied. For example, 0 is assigned to the difference file as the file ID, and one or more values are assigned to the elementary stream file.
  • the maximum size of one frame is about 4 Mbytes.
  • the maximum value of the difference value at the address of the copy start position may be the maximum size of one frame, and 4 M bytes can be expressed by 22 bits.
  • the copy size is also 22 bits in order to express the maximum size of one frame.
  • the entry is composed of (file ID, address of copy start position, copy size).
  • the bit length of each field is, for example, (int4, 1 byte unit int12, int16).
  • AVC or HEVC it is necessary to convert the header of the NAL unit from the start code format to the NAL size format, and it is necessary to copy data in payload units of the NAL unit. Therefore, although the field of the address of the copy start position is provided, when the elementary stream in the TS can be copied as it is, the field of the address of the copy start position may be omitted.
  • one entry may indicate the entire NAL unit, and the header of the NAL unit may be converted to the NAL size format after copying. Also at this time, since the data can be read out continuously, the address of the copy start position is unnecessary.
  • a plurality of MPEG2-TS files can be continuously reproduced with reference to a playlist, and stream restrictions at file boundaries and the like are also defined. For example, when a plurality of files or playback sections are connected seamlessly, the playback sections of two audios to be connected may be overlapped.
  • MP4 it is possible to specify a plurality of MP4 files to be continuously reproduced using a playlist, and it is assumed that similar restrictions be added.
  • FIG. 21 is a diagram showing an example of audio and video playback sections in two MP4 files played back in succession.
  • audio playback sections overlap.
  • DTS Decode Time Stamp
  • Information indicating whether or not the playback section of the MP4 is overlapped, or the playback section overlapping is stored in the playlist or the MP4 file.
  • the PTS of the leading sample of each of the audio and video in the MP4 file to which the play item in the playlist refers and the reproduction end time of the final sample are described.
  • the absolute time of the DTS or PTS of the leading sample of the MP4 file may be stored in the moov of the MP4 file.
  • moof or traf may store the absolute time of DTS or PTS of the first sample of Movie fragment or the first sample of each track in Movie fragment.
  • the playback section of the video has no overlap and no gap, and it is guaranteed that the PTS is continuous.
  • the information on the audio or the text may indicate the information on the overlap.
  • XXX2. Assuming that the PTS of the first sample of the MP4 video is T0, XXX2. Offset value between PTS of the first sample of audio in MP4 and T0, or XXX1. An offset value between the reproduction end time of the final sample of MP4 audio and T0 may be stored.
  • the offset value with the PTS of the first sample of MP4 is XXX2. It may be stored in MP4.
  • the playback device selects and synthesizes audio samples to be output based on the information on the overlap. Note that video playback sections may be overlapped, or gaps may be provided instead of overlapping audio or video playback sections.
  • one MP4 file may be generated by integrating reproduction sections reproduced continuously.
  • FIG. 22A is a diagram for describing a method of integrating playback sections to generate one MP4 file.
  • playback section 1 and playback section 2 are integrated to form XXX3.
  • the audio of the playback section 1 is composed of, for example, 100 samples from sample 1-1 to sample 1-100.
  • the audio of the playback section 2 is composed of, for example, 100 samples from sample 2-1 to sample 2-100. The audio will be described below as an example.
  • samples 1 to 100 and samples 2 to 1 are stored together, and then information indicating overlapping playback sections is stored.
  • ⁇ T be the time length of the overlapping reproduction section.
  • the final sample of reproduction section 1 and the leading sample of reproduction section 2 are made to be different movie fragments, and ⁇ T is stored in moof's traf or the like. This ⁇ T indicates that the reproduction section of ⁇ T from the beginning of the audio track in the movie fragment included in the reproduction section 2 overlaps with the reproduction section of the audio track of the immediately preceding movie fragment.
  • a non-playback interval corresponding to the gap interval is generated by the function of the edit list in MP4, the set of the duration-is-empty flag in the movie fragment, or the like.
  • an overlap section (overlapping reproduction section) or a gap section (section in which a gap exists) may be shown in the metadata or the external file in the MP4 header.
  • MP4 including the gap section has higher affinity to the conventional MP4 than MP4 including the overlap section. Therefore, when generating the MP4 file by integrating playback sections including overlap sections with each other, for example, in playback section 2 of FIG. 22A, a sample including at least a part of the overlap sections is deleted. Then, when a gap occurs, a non-playback interval is generated.
  • This method is applicable not only to audio but also to video and subtitles. Further, information indicating whether or not deletion is necessary, a sample which needs to be deleted, and a time length of a gap generated as a result of deletion may be stored as auxiliary information such as a copy manifest.
  • a playback apparatus that plays back such an MP4 file plays audio data of the overlap section based on information such as the overlap section included in the MP4 file. That is, if the audio data to be reproduced is data in the overlap period, the reproduction apparatus synthesizes, for example, decoding results of audio samples including data in respective reproduction periods overlapping each other. Then, the playback device outputs the combined decoding result.
  • the playback device when integrating playback sections to be played back continuously, it is necessary to identify whether an overlap section or a gap section exists in the playback section to be integrated. Therefore, information indicating the presence or absence of an overlap section and the like and the time length thereof may be acquired as auxiliary information from within the optical disc or from the Internet or the like.
  • FIG. 22B is a block diagram of a file generation apparatus according to the present embodiment.
  • the file generation device 20 in the present embodiment is a file generation device for generating an MP4 file, and includes an integration unit 21 and a storage unit 22.
  • the integration unit 21 generates one MP4 file by integrating the two streams so that the two streams are reproduced consecutively.
  • the storage unit 22 stores, in the generated MP4 file, information indicating a section in which the reproduction timings overlap in each of the two streams.
  • the above-described two streams are the playback section 1 and the playback section 2 shown in FIG. 22A
  • the generated MP4 file is a file of “XXX3.MP4” shown in FIG. 22A.
  • an interval in which the reproduction timings overlap in each of the two streams is, for example, an interval of ⁇ T shown in FIG. 22A.
  • FIG. 22C is a flowchart of a file generation method according to the present embodiment.
  • the file generation method is a file generation method for generating an MP4 file, and includes steps S21 and S22.
  • step S21 one MP4 file is generated by integrating the two streams so that the two streams are reproduced in succession.
  • step S21 information indicating a section in which the reproduction timings overlap in each of the two streams is stored in the generated MP4 file.
  • step S21 two streams which are at least a part of the original file configured in the file format of MP4 are integrated.
  • two streams each including audio data are integrated.
  • the MP4 file stores information indicating an overlapping section. Therefore, the playback apparatus that plays back the MP4 file can easily specify the data of the overlap section from the MP4 file using the information. As a result, the reproducing apparatus can appropriately reproduce the data by combining the data of the overlapping section. That is, it is possible to generate an MP4 file suitable for overlap reproduction.
  • step S21 when the above section exists over a plurality of samples included in one of two streams, after removing at least one of the plurality of samples, the two streams are deleted. Integrate. As a result, since the sample is deleted, the overlap interval can be shortened. As a result, it is possible to reduce the burden of special processing by the playback device on the overlapping section.
  • step S22 time information indicating the time length of the above section is stored in the MP4 file as the above information. That is, the time information indicating the above-mentioned ⁇ T is stored in the MP4 file.
  • the playback device that plays back the MP4 file can easily specify the time length of the overlap section using the information.
  • the reproducing apparatus can appropriately reproduce the data within the specified time length, for example, by combining the data of the overlapping section.
  • step S22 the time information is stored in traf in the moof of the MP4 file.
  • the playback device can appropriately acquire the stored time information.
  • the information may be acquired from a device holding the above information via a communication network such as the Internet.
  • the information may be obtained from an optical disc recording the above information.
  • FIG. 22D is a block diagram of a playback device in the present embodiment.
  • the playback apparatus 30 in the present embodiment is a playback apparatus that plays back an MP4 file, and includes an extraction unit 31 and a combining unit 32.
  • the extraction unit 31 extracts, from the MP4 file, information indicating two sections in which the reproduction timing overlaps in the content to be reproduced (for example, an audio track).
  • the combining unit 32 specifies two sections in the content based on the extracted information, and combines and outputs a decoding result for each data of the two sections.
  • FIG. 22E is a flowchart of the reproduction method in the present embodiment.
  • the reproduction method according to the present embodiment is a reproduction method for reproducing an MP4 file, and includes steps S31 and S32.
  • step S31 information indicating two sections where the reproduction timing overlaps in the content to be reproduced (for example, an audio track) is extracted from the MP4 file.
  • step S32 two sections in the content are specified based on the extracted information, and the decoding result for each data of the two sections is synthesized and output.
  • the playback apparatus can easily identify the data of the overlap section from the MP4 file.
  • the reproduction device can appropriately reproduce the data of the overlapping section.
  • the recording medium in the present embodiment is a recording medium in which an MP4 file is recorded.
  • the MP4 file includes content (for example, an audio track) to be read and reproduced by the computer, and information indicating two sections in the content whose reproduction timings overlap.
  • the reproducing apparatus for reading out the MP4 file from the recording medium and reproducing it can easily specify the data of the above two sections from the MP4 file using the information.
  • the reproducing apparatus can appropriately reproduce the data by combining the data of the sections.
  • FIG. 23A is a diagram showing an example of a menu screen in the case of generating an MP4 file from content stored in an optical disc.
  • FIG. 23B is a diagram for describing a method of generating an MP4 file using an optical disc and a network.
  • Audio and subtitles of multiple languages are stored in the optical disk, and when an MP4 file is generated, the language to be stored in the MP4 file can be selected.
  • Japanese and English are selected for audio and subtitle from Japanese, English, Spanish and Chinese stored in the disc.
  • the size of the sample in the audio or subtitle is different for each language, the content of the copy manifest file depends on the size of the sample. For this reason, the types of copy manifest file increase in proportion to the combination of the selected language in audio or subtitles. Therefore, audio and subtitle data of all languages may always be stored in the MP4 file, and information indicating the language selected by the user may be further stored, and the user's desired language may be selectable at the time of reproduction. .
  • the copy manifest file can be made the same regardless of the selected language.
  • copy manifest files corresponding to two cases of storing only one of the languages and storing all of the languages may be prepared.
  • the audio encoding method such as AAC or AC3 may be selected.
  • audio data of all encoding methods may be stored in an MP4 file. When audio data of all encoding methods is stored, the encoding method is selected based on the user's selection operation or preset information of the reproducing device at the time of reproduction.
  • audio and subtitles of all languages may be stored without selecting a language at the time of generation of the MP4 file, and may be selected by the user at the time of reproduction.
  • the copy manifest file can be obtained via the network, there is no need to store the copy manifest file on the optical disc.
  • acquisition via a network is effective. Only the copy manifest file corresponding to the default language combination may be stored on the optical disk, and the copy manifest file corresponding to other combinations may be downloaded from the server.
  • the audio or subtitle of the language that can be acquired from the optical disk or the network, and the language of the audio or subtitle included in the MP4 file are acquired respectively, and the language out of the languages not included in the MP4 file is external.
  • the user may select and acquire a language that can be acquired from.
  • a list of audio that can be acquired from the outside is stored in an MP4 file or the like. Then, when playing back the MP4 file, if the playback device can not decode the audio coding method in the MP4 file, the audio of the coding method supported by the playback device may be selected and acquired from the outside. At this time, the data acquired from the outside may be encoded data including only subtitles or audio, or an MP4 file. At this time, at the time of reproduction, the video etc. included in the original MP4 file and the newly acquired data are synchronously reproduced. Alternatively, a complete MP4 file, including all video, audio and subtitles, may be obtained externally.
  • the content stored in the optical disc may be not an MPEG2-TS file but an MP4 file.
  • the data of the MP4 file stored in the optical disc may be copied or exported as it is to a device-bound or media-bound recording medium or device without conversion processing.
  • the key for encrypting the content may be changed.
  • Devices that generate MP4 files such as BD players, convert MP4 files by determining whether the content in the optical disc is in the MPEG2-TS format or the MP4 format based on the identification information of the data format, etc. It may be determined whether it is necessary to generate an MP4 file.
  • auxiliary information such as a copy manifest file may indicate information indicating whether conversion to MP4 is necessary.
  • the user may select a type such as audio or subtitle of a specific language in the content, or theatrical version or director's cut version. Then, based on the selection result, only the selected data may be extracted from the MP4 file in the optical disc to generate the MP4 file.
  • the file size can also be reduced by showing information for specifying the multiplexing unit of the output MP4 file in the copy manifest file, and the number of copy manifest files is It is effective when there are many.
  • unit of movie fragment in the MP4 file can be uniquely determined, and language independent information can be used.
  • the information is, for example, PTS or DTS of a sample to be a head of a movie fragment, or identification information of a file of MPEG2-TS from which sample data is acquired.
  • the size of the sample of the MP4 file is different, the contents of the header information of the MP4 file, such as Box contained in stbl in moov or trun in moof, differ.
  • the header information of the MP4 file can not be included. Therefore, when converting to an MP4 file, the unit of movie fragments is determined based on the copy manifest file, and header information of the MP4 file is generated based on PTS or DTS for each sample, or the size of the sample, etc. Do.
  • access unit data When acquiring PTS, DTS or size for each sample, access unit data may be acquired from data such as audio, video or subtitles multiplexed in MPEG2-TS or stored in another area without multiplexing. You need to search the boundaries. Alternatively, processing such as parsing of the PES packet header is required. These required processing loads are high for high bit rate video. Therefore, at least for video, the size of the NAL unit constituting the access unit (corresponding to the sample of the MP4 file), and information indicating PTS or DTS may be stored in the copy manifest.
  • FIG. 24 is a diagram illustrating an example of a copy manifest indicating the size of NAL unit, PTS, and DTS.
  • the copy manifest stores, for each access unit, information indicating the size, PTS, and DTS of each NAL unit constituting the access unit. These pieces of information can significantly reduce the process of searching for video streams. Furthermore, there is also an advantage that the start code format of MPEG2-TS can be converted to the NAL size format of MP4 using size information.
  • the size information may separately indicate the size of the start code portion and the size of the NAL unit portion.
  • the byte length of the field indicating the size of the NAL unit may be the same as the byte length of the size portion in the NAL size format.
  • the data in the start code portion can be converted to the NAL size format by replacing the data indicating the size of the NAL unit portion.
  • the start code corresponds to the identification information shown in FIG. 15B and includes zero_byte.
  • PTS or DTS may not be represented by the value of PTS or DTS in the PES header of MPEG2-TS, but may be represented in the data format used in the header of MP4.
  • DTS the difference value of DTS of two consecutive samples in decoding order can be indicated
  • PTS the difference value of DTS and PTS can be indicated.
  • the time scale of these pieces of information may be converted to the time scale in MP4.
  • information indicating the absolute value of PTS or DTS of the leading sample may be stored.
  • information for identifying the NAL unit to be deleted at the time of conversion into the MP4 file may be added.
  • header information such as ADTS and LATM is deleted from sample data.
  • size of the header information is fixed, only one of the sum of the sizes of the header information and the payload data and the size of the payload data may be shown.
  • the DTS information may only indicate the default value.
  • the reproduction time length for each sample may also be different.
  • a copy manifest file may be prepared for each audio encoding method.
  • the subtitle data when the subtitle data is stored in the MP4 file, the subtitle data may be collectively stored at the end of the file.
  • FIG. 25 is a diagram showing an example of subtitle data stored at the end of the MP4 file.
  • subtitle data even if the language of subtitle data is changed, movie fragments of AV (Advanced Video) data are the same.
  • AV Advanced Video
  • the video or audio movie fragment and the subtitle movie fragment are interleaved and stored, it is necessary to change the content of the moof. This is because the position of the movie fragment of the AV data changes as the size of the subtitle data changes.
  • subtitle data is smaller in size than AV data. Therefore, subtitle data of the entire content, or subtitle data included in a unit such as chapters into which the content is divided can be collectively developed in the memory and reproduced. At this time, if the subtitle data is stored collectively at the end of the file, there is also an advantage that the subtitle data can be easily acquired.
  • the subtitle data may be based on a text font or may be image data such as PNG (Portable Network Graphics) format.
  • image data since the data size is larger than that of the text format, trun may be generated for each unit such as a chapter to enhance accessibility to subtitle data included in a predetermined unit. Alternatively, trun may be generated so that the size of the subtitle data constituting trun becomes equal to or less than the buffer size in accordance with the buffer size that holds text data at the time of reproduction.
  • subtitle data of multiple languages when subtitle data of multiple languages are stored, subtitle data of a specific language can be easily acquired by storing each language in different movie fragments.
  • information for specifying the language stored in the movie fragment is required. Therefore, for example, each language may be treated as different tracks, and track IDs may be associated with languages.
  • the ID of the track is indicated by Box in traf.
  • the information for associating the track ID and the language may be stored in a box for storing metadata in MP4 or the like, or may be management information different from the MP4 file. Also, the correspondence between languages and movie fragments can be applied to audio.
  • Random accessible samples in video, audio or subtitles are indicated by mfra.
  • the playback sections of consecutive video and audio movie fragments match each other, only the random access point of the video may be shown.
  • audio samples with the same PTS, immediately before or after can be obtained from the immediately following movie fragment.
  • the PTS of the leading sample of video (V-1) and the leading sample of audio (A-1) match.
  • text is stored at the end of the file, it is necessary to independently indicate a random access point to the text.
  • audio or subtitle data of all languages in the content of the optical disc is stored in the MP4 file.
  • the random access point may be indicated in mfra only for the track corresponding to the selected language.
  • the contents stored on the optical disc have different resolutions of video and graphics.
  • the resolution of video is 4K
  • the resolution of graphics such as subtitles is 2K to reduce the amount of processing.
  • FIG. 26 is a diagram showing a case where subtitles of 2K resolution are scaled to 4K and displayed.
  • information for specifying a subtitle display area is required.
  • the display area is specified using, for example, the size and display position of the rectangular display area.
  • the information indicating the resolution of the track can indicate that the subtitle track is 2K and the video track is 4K.
  • SMPTE Society of Motion Picture and Television Engineers
  • W3C World Wide Web Consortium
  • Timed Text etc.
  • the information of the display area is described as a part of XML (extensible markup language) data configuring Timed Text. It may be stored in a Box indicating metadata in the MP4 file.
  • the resolutions of the video and subtitles are acquired, and if the resolutions of the two are different, the subtitles are scaled and displayed so as to match the resolution of the video.
  • the subtitle is image data
  • the image data is enlarged, etc., and if it is text data, a size matching the resolution of the video is selected.
  • the display area is also calculated and determined according to the scaling factor and the like. Note that information indicating the display area after scaling according to the resolution of the video may be stored.
  • Embodiment 4 When generating an MP4 file, data such as audio, video, subtitles, etc. is acquired from the content stored on the optical disk, and multiplexed into one MP4 file, or multiple MP4 files are generated as DMP format be able to.
  • the video elementary stream is separated from the M2TS data stored on the optical disc to generate a video MP4.
  • an MP4 file including audio and subtitles stored separately from the M2TS is acquired.
  • the MP4 file of the generated video and the MP4 file including the acquired audio and subtitles can be put together into the DMP format.
  • the audio and subtitle MP4 files may be independent files of the audio and subtitle, or may be multiplexed files of both.
  • audio and subtitles may be multiplexed into the same MP4 file for each of the plurality of languages.
  • the export playlist is determined with reference to the export playlist.
  • the export playlist may be stored in advance in the disk or may be downloaded via the network.
  • FIG. 27 is a diagram showing a method of storing export data.
  • FIG. 28A is a diagram showing an example of a playlist for export.
  • FIG. 28B is a diagram showing an example of a copy manifest file.
  • two M2TS files (XXX1.M2TS and XXX2.M2TS) multiplexed with AV and an MP4 file (YYY1.MP4) multiplexed with audio for export are stored in the disc.
  • subtitles can also be handled in the same manner as audio.
  • the playlist example 1 is composed of two play items, and in each play item, the video is XXX1. M2TS and XXX2.
  • the audio from the M2TS is YYY1. MP4 and YYY2. It is shown to obtain each from MP4. YYY1. MP4 and YYY2.
  • start_adr the start position of the file can be indicated by the logical address in the disc by start_adr. Note that the logical address may be identified only by the file name without explicitly indicating it. Also, out_mux may indicate whether the data is multiplexed in the M2TS or stored as a separate file from the M2TS.
  • the MP4 file is composed of a single track (hereinafter referred to as single track MP4) like DMP, TrackID You may omit the field.
  • single track MP4 it may be possible to identify the type of media stored in the file, such as audio, video, subtitles, etc. based on the file name, and may further indicate the language and the encoding method.
  • the encoding scheme does not indicate the encoding scheme itself, and in the case of audio, the sound quality may be distinguishable. For example, lossless compressed audio has high sound quality, and audio compressed with AAC of MPEG-2 or MPEG-4 has medium sound quality.
  • the audio is stored by the MP4 file, but the videos indicated by the play item 1 and the play item 2 are YYY.
  • regeneration area in MP4 is shown.
  • the playlist example 3 is also an example similar to the playlist example 2, but YYY.
  • MP4 is a single track MP4 and the TrackID field is omitted.
  • the playlists for export as shown in the playlist example 1 to the playlist example 3 may be distinguishable from the playlists used when reproducing the content in the disc by a file name or the like. Also, the export playlist and the in-disc content playback playlist may be stored in different directories in the file system.
  • PinP Picture in Picture
  • multi-angle, 3D or sub path, browsable, slide show, etc. may be prohibited, but the file name may or may not be restricted.
  • it may be indicated by metadata for managing the export playlist.
  • the playlist for export includes a function whose use is prohibited, it may be determined that the playlist is illegal, and error processing may be performed such as not generating the MP4 for export.
  • the export playlist may be downloaded and acquired via the network, or M2TS or MP4 data referenced in the export playlist may be downloaded via the network.
  • M2TS or MP4 When downloading M2TS or MP4 via a network, the IP address or URL of the download destination may be separately indicated in the playlist.
  • the URL of the directory is indicated in the metadata regarding the export playlist, and only the file name may be described in the playlist Good.
  • the URL indicated by the metadata and the file name are connected to construct a complete URL, and then the file is downloaded.
  • time information indicating the decoding or display time of an elementary stream corresponding to each of two M2TS files (XXX1.M2TS and XXX2.M2TS) is associated with position information of the elementary stream. Contains information. This associated information is similar to the copy manifest file described in FIG.
  • FIG. 29A is a diagram for describing an example of a file generation method in the case where main content contents of a plurality of versions are stored.
  • FIG. 29B is a diagram illustrating a copy manifest file in the case of generating an MP4 file in the playback path of the director's cut version.
  • optical discs such as BDs
  • a plurality of versions of the main content is stored, such as a director's cut version and a theatrical release version.
  • a director's cut version playback is performed in the order of playback sections (1), (2), and (4)
  • the theater release version playback is performed in the order of playback sections (1), (3), and (4).
  • the audio for export is stored as a single track MP4.
  • an MP4 file is generated by connecting video elementary streams separated from three M2TSs, but audio elementary streams are stored in advance in one MP4 file. That is, in MPs 4 for the director's cut version, elementary streams corresponding to playback sections (1), (2) and (4) are continuously stored, and in MP4 for the theater release version, playback sections (1), The elementary streams corresponding to (2) and (4) are continuously stored. In this way, by making the elementary stream of the audio for export in advance one elementary stream, connection portions such as the playback sections (2) and (4) or the playback sections (3) and (4) There is an advantage in that audio overlap and gaps do not occur. Therefore, the playback device does not have to perform processing for audio overlap and gaps.
  • FIG. 30 is a diagram for describing another example of the file generation method in the case where main content contents of a plurality of versions are stored.
  • FIG. 29 describes the case where the audio for export is one MP4 file, as shown in FIG. 30, a plurality of MP4 files corresponding to a video playback section may be stored. At this time, audio overlap and gaps occur in the connection portion of the playback section, but it is assumed that the processing is performed according to the method described above.
  • FIG. 31 is an example showing the relationship between the audio MP4 file for export and the video MP4 file separated from the M2TS.
  • the unit of Movie Fragment in different media such as audio, video, subtitles be consistent.
  • the PTS of the random access point is determined based on the video random access point, and the audio and subtitles are the same as the PTS of the video random access point Play from the frame with PTS immediately before and after.
  • the data of these MP4 files are exported without change.
  • the video MP4 file generated based on the video elementary stream separated from the M2TS be generated so that the unit of Movie Fragment matches the audio for export and subtitles. That is, it is desirable to generate a video MP4 file of playback time corresponding to the playback time of the audio or subtitle MP4 file based on the elementary stream separated from the M2TS. In this way, at random access, playback can be started from Movie Fragments having the same index number in each medium.
  • a sample whose DTS comes first is an I picture in MPEG-4 AVC or HEVC, or a randomly accessible picture such as an IDR picture.
  • FIG. 32A is a block diagram of a file generation apparatus according to this embodiment.
  • the file generation device 40 in the present embodiment is a file generation device that generates an MP4 file from an elementary stream, and includes an acquisition unit 41, a selection unit 42, and a generation unit 43.
  • the acquisition unit 41 acquires a playlist including identification information indicating each of the plurality of elementary streams.
  • the selection unit 42 selects an elementary stream indicated by predetermined identification information from the acquired playlist.
  • the generation unit 43 is a manifest file corresponding to the selected elementary stream, and the data included in the elementary stream based on the manifest file necessary to convert the file format based on a predetermined rule Generate an MP4 file by converting it into an MP4 file format.
  • the predetermined identification information is, for example, a file name of a stream file such as “XXX1.M2TS” or “XXX2.M2TS” shown in each playlist example of FIG.
  • the playlist may further include section information indicating a section of the elementary stream indicated by the predetermined identification information.
  • the playlist uses the first identification information indicating the first elementary stream and the second identification information indicating the second elementary stream as predetermined identification information, and the first section of the first elementary stream
  • the first section information indicating the second section information indicating the second section of the second elementary stream may be included as section information.
  • an elementary stream obtained from the stream file (XXX1.M2TS) in FIG. 27 corresponds to the first elementary stream
  • an elementary stream obtained from the stream file (XXX2.M2TS) is the second elementary stream It corresponds to Further, as shown in FIG. 28A, “XXX1.M2TS” of the play item 1 corresponds to the first identification information, and “XXX2.M2TS” of the play item 2 corresponds to the second identification information. Further, as shown in FIG.
  • the manifest file is a copy manifest file as shown in FIG. 24 or 28B, and is information in which the time of decoding or display is associated with the position in the elementary stream. Also, the manifest file is in one-to-one correspondence with each of the plurality of elementary streams. For example, the manifest file may be associated by attaching a file name corresponding to the file name of the elementary stream (M2TS file), and the association between the manifest file and the elementary stream by the table may be performed. May be done.
  • M2TS file file name corresponding to the file name of the elementary stream
  • FIG. 32B is a flowchart of a file generation method in the present embodiment.
  • the file generation method is a file generation method for generating an MP4 file from an elementary stream, and includes steps S41, S42 and S43.
  • step S41 a playlist including identification information indicating each of the plurality of elementary streams is acquired.
  • step S42 an elementary stream indicated by predetermined identification information is selected from the acquired playlist.
  • step S43 the manifest file corresponding to the selected elementary stream, the data included in the elementary stream based on the manifest file required to convert the file format based on the predetermined rule Generate MP4 file by converting to MP4 file format.
  • data included in the elementary stream selected from the playlist can be converted to the file format of MP4 based on the manifest file corresponding to the elementary stream.
  • the manifest file for example, since an elementary stream indicated by predetermined identification information of a playlist can be identified without calculation, processing load can be suppressed.
  • step S42 when the playlist includes section information indicating a section of an elementary stream indicated by predetermined identification information, in step S42, the section of the elementary stream indicated by section information is further selected. In step S43, the section of the selected elementary stream may be converted into the file format of MP4.
  • the data of the section of the elementary stream selected from the playlist can be converted to the file format of MP4 based on the manifest file corresponding to the elementary stream.
  • the manifest file By using the manifest file, the section of the elementary stream indicated by the section information of the playlist can be specified without calculation, so that the processing load can be suppressed.
  • the section information is indicated by time information indicating the time of decoding or display of the elementary stream
  • the manifest file is information in which the time and the position in the elementary stream are associated with each other in step S43. Identifying the position of the section in the elementary stream corresponding to the time information indicated by the section information of the playlist from the manifest file, extracting the section of the identified elementary stream, and extracting the section of the extracted elementary stream It may be converted to the MP4 file format.
  • the time of decoding or display and the position in the elementary stream are associated in advance in the manifest file, it is easy to obtain elementary stream information from the section information indicated in the playlist.
  • the location of the section can be identified. Thereby, the processing load can be suppressed.
  • the playlist uses the first identification information indicating the first elementary stream and the second identification information indicating the second elementary stream as predetermined identification information, and the first section of the first elementary stream
  • the first identification information indicated by the first identification information Select a first section indicated by the first section information of one elementary stream and a second section indicated by the second section information of the second elementary stream indicated by the second identification information;
  • data including the first section of the selected first elementary stream and the second section of the second elementary stream It may be converted to the MP4 file format.
  • step S43 the first section of the selected first elementary stream is extracted based on the first manifest file corresponding to the first elementary stream, and the second section corresponds to the second elementary stream.
  • the second section of the selected second elementary stream may be extracted based on the second manifest file, and data including the extracted first section and second section may be converted into the file format of MP4.
  • step S42 when there is a stream file for export (MP4 file of audio), in step S42, an MP4 file of audio corresponding to the elementary stream is further selected, and in step S43, selection is made.
  • the elementary stream of the video corresponding to the elementary stream is extracted based on the manifest file corresponding to the elementary stream, and the elementary stream of the extracted video and the MP4 file of the selected audio are It may be used to generate an MP4 file.
  • FIG. 33 is a block diagram of a file generation apparatus in the present modification.
  • the file generation apparatus 200 includes a playlist analysis unit 201, an export target selection unit 202, an M2TS separation unit 203, an export file acquisition unit 204, a remultiplexing unit 205, and a copy manifest analysis unit 206. .
  • the file generation device 200 generates and outputs MP4 including audio, video, or subtitles, based on the elementary stream separated from the M2TS and the single track MP4 for export.
  • the output MP4 may be in the form of storing elementary streams of multiple media in one file, or may be in the DMP format.
  • the playlist analysis unit 201 corresponds to the acquisition unit 41 and the selection unit 42 of the file generation device 40, acquires playlists in a disc or via a network, and acquires one or a plurality of play for export Parse the list.
  • the export target selection unit 202 corresponds to the selection unit 42 of the file generation device 40, and based on the analysis result of the playlist analysis unit 201, the content provided by the playlist to be exported by the user, or the content Generates a menu for selecting language settings and whether to export subtitle data, etc., receives an input to the generated menu, and selects a user selection result (playlist determined according to the input to the received menu)
  • the playlist etc. to be exported are determined based on that.
  • M2TS separation section 203 is provided by copy manifest analysis section 206 when the data in which the elementary stream constituting the content selected by the user is stored is determined and the elementary stream is stored in M2TS. Separate elementary streams based on copy manifest information.
  • the export file acquisition unit 204 acquires the MP4 file.
  • the export file acquisition unit 204 may acquire the MP4 file.
  • the re-multiplexing unit 205 generates an output MP4 file using the elementary stream acquired from the M2TS separation unit 203 and the MP4 file acquired by the export file acquisition unit 204.
  • the elementary stream is separated from the MP4 data for export, and then the elementary stream of audio, video or subtitle is multiplexed into one MP4 file.
  • the DMP format When outputting in the DMP format, a single track MP4 is generated from the elementary stream output by the M2TS separation unit, and DMP content is generated together with the export MP4 data output from the EXPT file acquisition unit.
  • metadata for managing a plurality of MP4 files included in the DMP is separately generated.
  • the re-multiplexing unit 205 may output the video MP4 file, the audio MP4 file, and the subtitle MP4 file as independent files without multiplexing.
  • the M2TS separation unit 203, the export file acquisition unit 204, the remultiplexing unit 205, and the copy manifest analysis unit 206 correspond to the generation unit 43 of the file generation apparatus 40.
  • FIG. 34 is a diagram showing an example of the case where an MP4 file is divided into a plurality of parts and generated. Specifically, an example is shown in which an MP4 file having a size corresponding to the entire content of 11.40 GB is divided into three files so as to be 4 GB or less in order to be recorded on the SD card.
  • An MP4 file generated from data such as M2TS is recorded in a recording medium to which the MP4 file is taken out, such as removable media such as an SD card, an HDD such as a smartphone or a tablet.
  • a recording medium to which the MP4 file is taken out such as removable media such as an SD card, an HDD such as a smartphone or a tablet.
  • the upper limit of the file size that can be handled is limited. For example, it is 4 GB for an SD card and 32 GB for an SDHC card. Therefore, if the size of the MP4 file corresponding to the entire content exceeds the upper limit of the file system of the recording device, it is necessary to divide the MP4 file.
  • Movie Fragments having the same or adjacent playback section in audio, video or subtitles be stored in the same file.
  • audio or video data in the same playback section is stored in different files, it is necessary to access data of two MP4 files simultaneously at the time of playback, and it depends on the data read speed and seek speed in the recording device This is because, as compared with the case of reproducing from one file, there is a problem such as that data has to be buffered after reproduction and then reproduced.
  • the MP4 file is generated such that audio, video, and subtitle Movie Fragments whose playback sections are the same or in the vicinity are included in the same MP4 file and the file size is 4 GB or less.
  • the number of files generated can be minimized by storing as many Movie Fragments as 4 GB bytes or less in the same file.
  • FIG. 35 is a diagram showing another example in the case of generating an MP4 file by dividing it into a plurality of pieces.
  • the SampleEntry of the original MP4 file contains all the initialization information required for the entire content, so the contents of stsd need not be changed. Also for the other boxes, although basically no change is necessary, the playback time length of the entire file is stored for each track in tkhd or mvhd of each track. Therefore, these playback time lengths may be changed to correspond to the playback time length of the divided MP4 file. Alternatively, when it is indicated by some auxiliary information that the file is a divided file, the change of the playback time may be unnecessary.
  • the contents of mfra may be changed to indicate random access points in each MP4 file.
  • the random access information of mfra indicates the offset from the beginning of the file of moov to which the sample to be a random access point belongs. If you do not change the contents of mfra, the offset value corresponds to the original MP4 and will not be the offset value of the file after splitting. Therefore, when searching for random access points in the divided files, the sum of the sizes of the MP4 files whose reproduction order is earlier is added to the second and subsequent files, and the file offset value of the original MP4 file is obtained. By reproducing, sample data to be a random access point is acquired.
  • the size of moov or mfra in the original MP4 file is updated by changing the contents of moov or mfra in each file after division, the size of the file after update will be less than the maximum size in the file system Divide into
  • reproduction order of the file after division can be identified by the file name or the management information of the content storing the information indicating the reproduction order of the file.
  • information for identifying a divided file including the subtitle data is used as content management information or the like.
  • content management information or the like include.
  • a divided file in which subtitle data is stored is accessed to acquire subtitle data.
  • subtitle data is small in size, so it is desirable that all subtitle data be included in the same file.
  • initialization information at the time of decoding subtitle data is stored in moov like audio and video.
  • the MP4 generation module mainly performs the acquisition request of the MP4 such as making an acquisition request for information indicating the maximum file size in the file system of the output destination recording medium.
  • the original MP4 file may be notified to the output destination device, and if the division is necessary, the output destination device may transmit information indicating the maximum file size to the MP4 generation module.
  • meta information describing content meta information such as selectable language, acquisition destination of MP4 file, URL of management server of DRM (Digital Right Management), etc. It is possible to first acquire the file and request the acquisition of the MP4 file based on the analysis result of the metafile. In such a case, information indicating the maximum file size may be described in an MP4 file acquisition request message or command.
  • the default metafile is acquired from within the optical disk, and if there is an update, the updated metafile is acquired via the network.
  • the URL of the management server to which the playback device first accesses is described, and based on the version number of the metafile in the optical disc, the management server determines whether the metafile is the latest or not. If not, it is possible to notify the playback device of the latest metafile acquisition destination.
  • the DRM or content acquisition destination described in the default metafile may differ, or the content of the content may be different, as with the metafile update, there is also a playback device
  • the meta server can be processed in the same manner as the meta file update. The same applies to the case where the updated contents of the meta file differ depending on the country or region.
  • FIG. 36 is a diagram showing another example of the case where the MP4 file is divided into a plurality of parts and generated.
  • MP4 files When MP4 files are generated, it is common to multiplex data of different media such as audio, video or subtitles into the same file, but as shown in FIG. 36, each media is independent. There is also a format that makes it an MP4 file. This format is called DMP (Digital Media Package), and at the time of reproduction, the media data acquired from a plurality of MP4 files are synchronously reproduced. DMP archives MP4 files and content management files in ZIP format, etc., but if the archived file exceeds the maximum file size of the file system of the output destination, it needs to be split. At the time of division, division can be performed in the same manner as the division method described in FIGS. 34 and 35.
  • DMP Digital Media Package
  • the reproduction sections of the MP4 files of the respective media constituting the same DMP are divided so as to be the same or in the vicinity.
  • one movie fragment is prohibited from being stored across multiple DMPs in the MP4 of each medium.
  • the same applies to the treatment of moov and mfra.
  • audio and subtitles since audio and subtitles have a smaller data size than video, only video may be divided into a plurality of files, and audio and subtitles may store all data in the first divided file.
  • attribute information related to the entire content can be stored in the content management file stored in the leading DMP after division. Further, in the content management file stored in the leading DMP, identification information of the divided subsequent DMP file and information indicating the reproduction order may be stored. In the content management file in the subsequent DMP, archive information of the file in the DMP or identification information of the DMP may be described, and information related to the entire content may not be described. Note that instead of generating a plurality of DMPs, data of a single DMP may be divided into a plurality of files.
  • the DMP As described with reference to FIGS. 21 and 22, it is possible to continuously reproduce the MP4 files constituting the plurality of reproduction sections by referring to the playlist or the like.
  • the connection destination and the connection source are one file each, but in DMP, the connection destination and the connection source are each multiple files, and the playlists Describe the identification information of the file.
  • audio gaps and overlaps at connection points of continuously reproduced files can be handled similarly by the above-described processing.
  • FIG. 37 is a diagram showing storage positions when data used at the time of export, such as MP4 for export, is stored in the optical disc. Since it is desirable that data for export can be read or copied at high speed, it is stored in a continuous area in the outer peripheral portion of the optical disc. On the other hand, with M2TS, when jumping between layers of an optical disc, it is essential to arrange data in the outer peripheral portion that can guarantee that data such as audio, video, or graphics will not underflow.
  • the time required to jump from layer 0 to layer 1 is T1
  • the time from jumping to layer 1 to the time when video data can be acquired is T2
  • the video bit rate is R, at least R * (T1 + T2) Only video data needs to be buffered just before jumping from layer 0.
  • the bit rate R may be the maximum value of the bit rate defined by the profile or level at which the video is encoded, or the average bit rate of actual encoded data.
  • the average rate indicates the average rate of the section from T_dec1 to (Tdec1 + T1 + t2).
  • FIG. 38 is a diagram showing an example of a playlist showing sizes of elementary streams in a playlist for export.
  • the size of an elementary stream multiplexed in M2TS or MP4 is shown.
  • the size of the header part of the MP4 can be determined, so the data size of the exported MP4 is determined together with the size of the elementary stream it can.
  • the audio when the audio is composed of a base part and an extension part (such as an extension for lossless), the sum of the sizes of the base part and the extension part
  • the size of output data at the time of exporting only the basic part, only the extended part, or the basic part and the extended part can be determined.
  • the present invention is applicable not only to audio but also to the case where video is encoded by layer structure.
  • FIG. 39 is a view showing an example of a play list showing information on gaps generated at an audio connection between play items in a play list. If the connection_condition is seamless_w_gap, it indicates that the video is connected seamlessly in the connection of the play item, but a gap occurs in the audio. Also, if there is a gap, gap_duration can also indicate the time length of the gap.
  • FIG. 40A is a diagram for describing an exemplary method of generating an audio gap at the time of export.
  • the playback section of the audio frame is discontinuous at the seamless connection, the playback section of the audio is overlapped between the play items.
  • two audio streams that overlap with each other are connected in MP4, it is necessary to delete audio frames at the connection to generate a gap.
  • FIG. 40B is a diagram showing an example of a playlist in which frames that need to be deleted when generating a gap are shown.
  • PTS of the last frame of the audio referred from play item 1 is indicated by last_frame_pts.
  • the last_frame_pts is set to 30.1 s.
  • the frame to be deleted may be specified based on information other than the PTS, such as the index number of the frame that needs to be deleted, the storage destination address, and the like.
  • the audio frame may be deleted such that an overlap exists (remains) between audio 1 and audio 2. That is, after the audio frame is deleted, an overlap may exist between the final frame of audio 1 and the leading frame of audio 2.
  • the time length of the gap may be shown together.
  • auxiliary information used at the time of export is stored in the playlist, but may be stored in reproduction management metadata different from the playlist.
  • FIG. 40A and FIG. 40B an example of generating a gap between the frame 97 of audio 1 and the frame 0 of audio 2 by deleting three frames from the frame 98 to the frame 100 in the audio 1
  • the frame of audio 2 may be deleted to create a gap between audio 1 and audio 2.
  • a gap is generated between frame 100 of audio 1 and frame 3 of audio 2 May be In this case, in the playlist example shown in FIG.
  • first_frame_pts indicating the PTS of the first frame of the audio of the play item 2 is provided instead of last_frame_pts indicating the PTS of the final frame of the audio of the play item 1 If the PTS of is 30.4 s, first_frame_pts may be set to 30.4 s.
  • FIG. 41 shows a BT. 4 called HDR (High Dynamic Range). It is a figure which shows the storage example at the time of storing the video data containing the brightness
  • SDR Standard Dyanmic Range
  • the reproduction of the HDR content requires a display compatible with the HDR, and when reproducing on the SDR display, processing such as mapping the luminance range of the HDR to the luminance range of the SDR is required.
  • the 0th play item to be reproduced first in the export playlist contains HDR content, and stores a content indicating a warning message indicating that the display can not be correctly displayed if the display is not compatible with HDR. Keep it.
  • the reproduction section corresponding to the 0th play item is stored as the head data of MP4, so when reproducing MP4, this warning message is displayed first.
  • the warning message may be composed of subtitles only.
  • whether or not HDR content is stored in the MP4 file may be signaled in header information of MP4. For example, it is possible to indicate in moov whether at least part of the playback section of the video track is using HDR and in moof it can indicate whether the video samples that make up the Movie Fragment use HDR. .
  • the luminance information may be stored as header information of MP4.
  • luminance information When luminance information is fixed in the MP4 file, it may be set as information in the moov, and when variable in the MP4 file, it may be set as information in the moof. At this time, it is assumed that the luminance information is the same in the Movie Fragment.
  • the use or nonuse of HDR is visually noticeable when the use or nonuse of HDR is switched, or the luminance information is switched, causing discomfort to the user, so in a section where seamless reproduction is continuously performed, use or nonuse of HDR,
  • the luminance information may be fixed.
  • information indicating that the HDR related information is fixed between the play items may be stored, and also in the MP4, the HDR related information in the video track is It may store information indicating that it is fixed.
  • HDR related information may be stored as meta-data for managing the MP4 file, instead of directly storing the information in the MP4 file.
  • FIG. 42 is for explaining the operation when viewing DMP data exported from an optical disk to an SD card or portable hard disk using a mobile terminal such as a smartphone or tablet based on the Digital Living Network Alliance (DLNA) standard or the like FIG.
  • DLNA Digital Living Network Alliance
  • a recording medium or the like storing DMP data is a DLNA server, and a smartphone or a tablet is a DLNA client.
  • a smartphone or a tablet is a DLNA client.
  • the entire DMP data can be played back while being downloaded rather than being downloaded and then played back.
  • DMP data stores multiple MP4 files in uncompressed ZIP format
  • MP4 file data is not interleaved with each other
  • it synchronizes audio, video or subtitle data while downloading DMP data. It is difficult to reproduce. Therefore, in the DLNA server, MP4 files of audio, video or subtitles are separated from the DMP, and independent sessions are established for the MP4 files, and then sent to the DLNA client.
  • the DLNA client elementary streams are separated from MP4 files of a plurality of media received by a plurality of independent sessions, and synchronized reproduction is performed.
  • each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded in a recording medium such as a hard disk or a semiconductor memory.
  • software for realizing the file generation apparatus and the like in the above-described embodiment and each modification executes, on a computer, each step included in the flowcharts shown in FIGS. 8, 17, 22B, 22D, 32B, etc.
  • a file configured by MPEG2-TS is used as an original file.
  • the original file may be any file or transport stream other than the file of MPEG2-TS, as long as the file is configured by a file format different from MP4.
  • the playback section 1 and the playback section 2 are integrated, but even if each of these playback sections is a movie fragment of an MP4 file, other than that It may be a stream.
  • Each of the above-described devices is specifically a computer system including a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse and the like.
  • a computer program is stored in the RAM or the hard disk unit.
  • Each device achieves its function by the microprocessor operating according to the computer program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions to the computer in order to achieve a predetermined function.
  • the system LSI is a super-multifunctional LSI manufactured by integrating a plurality of components on one chip, and more specifically, a computer system including a microprocessor, a ROM, a RAM, and the like. . A computer program is stored in the RAM. The system LSI achieves its functions as the microprocessor operates in accordance with the computer program.
  • the IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may be tamper resistant.
  • the present disclosure may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of the computer program.
  • the present disclosure relates to a recording medium that can read the computer program or the digital signal from a computer, such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray It may be recorded in a registered trademark) Disc), a semiconductor memory or the like. Further, the present invention may be the digital signal recorded on these recording media.
  • the present disclosure may transmit the computer program or the digital signal via a telecommunication line, a wireless or wired communication line, a network represented by the Internet, data broadcasting, and the like.
  • the present disclosure may be a computer system including a microprocessor and a memory, the memory storing the computer program, and the microprocessor operating according to the computer program.
  • the present disclosure has the effect of being able to reduce the processing load, and can be applied to, for example, an apparatus that converts a file format from MPEG2-TS to MP4, and can be used, for example, in devices such as smartphones or tablets.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

 本開示の一態様に係るファイル生成方法は、エレメンタリーストリームからMP4ファイルを生成するファイル生成方法であって、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得するステップと、取得したプレイリストから所定の識別情報によって示されるエレメンタリーストリームを選択するステップと、選択したエレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、エレメンタリーストリームに含まれるデータをMP4のファイルフォーマットに変換することによって、MP4ファイルを生成するステップと、を含む。

Description

ファイル生成方法、ファイル生成装置および記録媒体
 本開示は、MP4ファイルを生成するファイル生成方法などに関する。
 従来の光ディスクで利用されているファイルフォーマットは、ISO/IEC 138181-1で規定されるMPEG2-TS(MPEG-2 Transport Stream)方式である。以下、MPEG2-TS方式を単にMPEG2-TSと称する。つまり、映像ストリーム、音声ストリーム、および字幕ストリームをMPEG2-TSのファイルフォーマットで多重化することによって構成されるファイルが、光ディスクに記録されている。具体的には、MPEG2-TSでは、映像ストリーム、音声ストリーム、および字幕ストリームなどは、それぞれ188Bytesの複数のTSパケットに分割された上で多重化され、光ディスクに記録される。このMPEG2-TSは、前からシーケンシャルに読み込まれて処理されるデータを伝送または記録する、放送または光ディスクのようなメディアに対して最適化されている。したがって、比較的バッファ容量の少ない民生機でも、効率的にストリームを読み込んで復号して再生することが可能である。
 これに対して、昨今のネットワークでのコンテンツ配信において利用されつつあるファイルフォーマットは、ISO/IEC 14496-12で規定されるMP4方式である。以下、MP4方式を単にMP4と称する。MP4は、HDD(Hard Disk Drive)やフラッシュメモリのようなランダムアクセス可能なメディアへの適用を前提に、極めて柔軟なデータ構造を採用している。このMP4の一般的な利用形態では、映像ストリーム、音声ストリーム、および字幕ストリームなどのストリームが、数秒程度のフラグメントという単位に分割され、これらのフラグメントが順次並べられることによって、一つのファイルが構成される。
 今後、普及が見込まれる4Kなどの高品質なコンテンツを配布するためのメディアとしては、ビット単価の問題からまだまだ光ディスクを活用することが多いと考えられている。一方、スマートフォンまたはタブレットは、光ディスクドライブを持たないが、その携帯性の高さ、または昨今の大画面化および高精細化を活かして、ネットワークでのコンテンツ配信の受信および再生用の端末として利用されている。このため、スマートフォンまたはタブレットでは、MP4に対応する機能および処理が多く、MPEG2-TSへの適用はあまり進んでいない。
 したがって、光ディスクで配布されたMPEG2-TSのファイルであるコンテンツをスマートフォンまたはタブレットにコピーする際には、そのコンテンツのファイルフォーマットをMP4に変換することがある(例えば、特許文献1参照)。このような変換によって、MP4のファイルであるMP4ファイルが生成される。
特開2012-175608号公報
 本開示の一態様に係るファイル生成方法は、エレメンタリーストリームからMP4ファイルを生成するファイル生成方法であって、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得し、取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択し、選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをMP4のファイルフォーマットに変換することによって、前記MP4ファイルを生成する。
 なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
図1は、光ディスクに格納されているMPEG2-TSのコンテンツの構造の一例を模式的に示す図である。 図2は、Aligned Unitの復号方法を説明するための図である。 図3は、平文の状態のAligned Unitの内部構造を示す図である。 図4は、複数のTS Payloadから実際のElementary Streamを作成する方法を示す図である。 図5は、実施の形態1におけるファイル生成装置の構成を示すブロック図である。 図6は、実施の形態1における、MPEG2-TSのストリームファイル、差分ファイルおよびコピーマニフェストファイルから、MP4のストリームファイルを生成する方法を説明するための図である。 図7は、実施の形態1における、差分ファイルおよびコピーマニフェストファイルを生成する方法を説明するための図である。 図8は、実施の形態1におけるファイル生成方法のフローチャートである。 図9は、実施の形態1の変形例1におけるファイル生成方法を説明するための図である。 図10Aは、実施の形態1の変形例1における、AES-CTRモードによるデータの暗号化を説明するための図である。 図10Bは、実施の形態1の変形例1における、AES-CTRモードによるデータの復号を説明するための図である。 図11は、実施の形態1の変形例2における、トランスポートストリームに格納されるMPEG-4 AACのアクセスユニットをMP4ファイルに格納する例を示す図である。 図12は、実施の形態1の変形例2における、トランスポートストリームに格納されるMPEG-4 AVCのアクセスユニットをMP4に格納する例を示す図である。 図13Aは、実施の形態1の変形例2における、LATMヘッダとLATMペイロードとのTSパケットへの格納例を示す図である。 図13Bは、実施の形態1の変形例2におけるAU_infoテーブルのシンタックスの一例を示す図である。 図13Cは、実施の形態1の変形例2におけるAU_infoテーブルのシンタックスの他の例を示す図である。 図14は、実施の形態1の変形例2におけるファイル生成装置の構成を示すブロック図である。 図15Aは、実施の形態1の変形例2における、NALユニットの概略構造を示す図である。 図15Bは、実施の形態1の変形例2における、MPEG2-TSにおけるNALユニットの格納フォーマットの例を示す図である。 図15Cは、実施の形態1の変形例2における、MP4におけるNALユニットの格納フォーマットの例を示す図である。 図16Aは、実施の形態1の変形例2におけるトランスポートストリームにおけるアクセスユニットの構成例を示す図である。 図16Bは、実施の形態1の変形例2における、サイズ情報NALユニットに含まれるサイズ情報のシンタックスの一例を示す図である。 図16Cは、実施の形態1の変形例2における、サイズ情報NALユニットに含まれるサイズ情報のシンタックスの他の例を示す図である。 図17は、実施の形態1の変形例2におけるファイル生成装置がMP4ファイルを生成する処理動作を示すフローチャートである。 図18は、実施の形態1の変形例3における、モード2を使用した場合のアドレス指定の具体例を示す図である。 図19は、実施の形態1の変形例3における、コピーサイズの上限値を超える連続領域を読み出す例を示す図である。 図20は、実施の形態1の変形例3における、エレメンタリーストリームからデータをコピーしてMP4ファイルを生成する処理を説明するための図である。 図21は、実施の形態2における、連続して再生される2つのMP4ファイルのオーディオとビデオの再生区間の例を示す図である。 図22Aは、実施の形態2における、再生区間を統合して1つのMP4ファイルを生成する方法を説明するための図である。 図22Bは、実施の形態2におけるファイル生成装置のブロック図である。 図22Cは、実施の形態2におけるファイル生成方法のフローチャートである。 図22Dは、実施の形態2における再生装置のブロック図である。 図22Eは、実施の形態2における再生方法のフローチャートである。 図23Aは、実施の形態3における、光ディスクに格納されたコンテンツからMP4ファイルを生成する場合のメニュー画面の一例を示す図である。 図23Bは、実施の形態3における、光ディスクおよびネットワークを利用したMP4ファイルの生成方法を説明するための図である。 図24は、実施の形態3における、NALユニットのサイズ、PTSおよびDTSを示すコピーマニフェストの一例を示す図である。 図25は、実施の形態3における、MP4ファイルの末尾に格納されている字幕データの一例を示す図である。 図26は、実施の形態3における、2Kの解像度の字幕を4Kにスケーリングして表示するケースを示す図である。 図27は、実施の形態4におけるエクスポート用データの格納方法について示す図である。 図28Aは、実施の形態4におけるエクスポート用のプレイリストの例について示す図である。 図28Bは、実施の形態4におけるコピーマニフェストファイルの例について示す図である。 図29Aは、実施の形態4における、複数のバージョンの本編コンテンツが格納されている場合のファイル生成方法の一例について説明するための図である。 図29Bは、実施の形態4における、ディレクターズカット版の再生経路におけるMP4ファイルを生成する場合のコピーマニフェストファイルを示す図である。 図30は、実施の形態4における、複数のバージョンの本編コンテンツが格納されている場合のファイル生成方法の他の一例について説明するための図である。 図31は、実施の形態4における、エクスポート用のオーディオのMP4ファイルとM2TSから分離したビデオのMP4ファイルとの関係を示す一例を示す図である。 図32Aは、実施の形態4におけるファイル生成装置のブロック図である。 図32Bは、実施の形態4におけるファイル生成方法のフローチャートである。 図33は、変形例4-1におけるファイル生成装置のブロック図である。 図34は、変形例4-1における、MP4ファイルを複数に分割して生成する場合の一例を示す図である。 図35は、変形例4-1における、MP4ファイルを複数に分割して生成する場合の他の一例を示す図である。 図36は、変形例4-1における、MP4ファイルを複数に分割して生成する場合の他の一例を示す図である。 図37は、変形例4-2における、エクスポート時に使用されるデータを光ディスクに格納する際の格納位置について示す図である。 図38は、変形例4-3における、エクスポート用のプレイリスト内にエレメンタリーストリームのサイズを示すプレイリスト例を示す図である。 図39は、変形例4-4における、プレイアイテム間のオーディオの接続部に発生するギャップの情報をプレイリスト内に示すプレイリスト例を示す図である。 図40Aは、変形例4-5における、エクスポート時にオーディオのギャップを生成する方法例について説明するための図である。 図40Bは、変形例4-5における、ギャップを生成する際に削除する必要があるフレームが示されたプレイリスト例を示す図である。 図41は、変形例4-6における、HDR(High Dynamic Range)の輝度範囲の輝度を含むビデオデータをMP4ファイルに格納する際の格納例を示す図である。 図42は、変形例4-7における、エクスポートしたDMPデータを、DLNA(Digital Living Network Alliance)規格などに基づいて、モバイル端末で視聴する際の動作を説明するための図である。
 (本開示の基礎となった知見)
 本発明者は、「背景技術」の欄において記載した上記特許文献1のファイル生成方法に関し、以下の課題が生じることを見出した。
 上記特許文献1のファイル生成方法では、MPEG2-TSで多重化されたコンテンツを、一度、映像ストリーム、音声ストリーム、または字幕ストリームなどの各ストリームに戻した上で、そのコンテンツのファイルフォーマットをMP4に変換する必要がある。また、一般的に、光ディスクで配布される商用コンテンツは暗号化されている。したがって、変換の際には、一旦、暗号を解いてからファイルフォーマットを変換し、その後に、再度暗号化を行う必要がある。以下、MPEG2-TSのコンテンツの構造などについて詳細に説明する。
 図1は、光ディスクに格納されているMPEG2-TSのコンテンツの構造の一例を模式的に示す図である。光ディスクには、コンテンツとしてStream Fileが格納される。図1に示す例では、光ディスクにはStream Fileが1つしか格納されていないが、複数格納されていてもよい。またここでは、Stream FileはXXXXX.M2TSというファイル名で記録されている。XXXXXには、番号が記載される。複数のコンテンツが格納される場合には、この番号によって、それらのコンテンツを個別に管理することが可能である。
 Stream Fileは、それぞれ6144BytesのAligned Unitと呼ばれる複数の単位に区分される。Aligned Unitは暗号化の単位である。なお、Stream Fileのデータ量は、必ずしも6144Bytesの倍数にならない可能性がある。6144Bytesの倍数にならない場合には、コンテンツの末尾にNULL Dataを格納する等の方法によって、Stream Fileのデータ量を6144Bytesの倍数にすることが望ましい。
 図2は、Aligned Unitの復号方法を説明するための図である。
 光ディスク上のコンテンツは、データであるユニット鍵Kuを用いて暗号化されている。暗号化の際には、Aligned Unitに含まれる6144Bytesのデータは、先頭の16Bytesのデータと、残る6128Bytesのデータとに分離され、その残りの6128Bytesのデータが暗号化される。
 Aligned Unitの復号の際には、AES_Eは、まず、先頭の16Bytesのデータに対して、ユニット鍵Kuを用いたAES(Advanced Encryption Standard)暗号方式の暗号化を行う。次に、この暗号化によって得られたデータと、先頭の16Bytesのデータとの排他的論理和の演算が行われる。AES_DCBCは、この排他的論理和の演算の結果を鍵として利用し、残る6128BytesのデータをAES-CBC(Cipher Block Chaining)モードで復号する。この復号によって得られる平文のデータに、先頭の16Bytesのデータが付け加えられる。その結果、Aligned Unitに対応する6144Bytesの平文が得られる。
 図3は、平文の状態のAligned Unitの内部構造を示す図である。
 Aligned Unitは、それぞれ192Bytesの32個のSource Packetから構成される。各Source Packetは、4BytesのヘッダであるTP_extra_headerと、TSパケットである188BytesのTransport Packetとから構成される。さらに188BytesのTransport Packetは、4BytesのTS Headerと、184BytesのTS Payloadとから構成される。TS Headerには、TS Payloadの属性を示す情報が記載されている。具体的には、TS Headerは、sync_byte(8bits)、transport_error_indicator(1bit)、payload_unit_start_indicator(1bit)、transport_priority(1bit)、PID(13bits)、transport_scrambling_control(2bits)、adaptation_field_control(2bits)、およびcontinuity_counter(4bits)から構成される。ここで、PIDは、TS Payload内に格納されるエレメンタリーストリームの種別、例えばビデオまたは音声などを識別するための情報である。また、音声が複数種類ある場合でも、このPIDによって、エレメンタリーストリームの音声の種類を識別することができる。
 図4は、複数のTS Payloadから実際のElementary Streamを作成する方法を示す図である。同じPIDが割り当てられた複数のTS Payloadをつなぎ合わせることによって、PES_HeaderとElementary Streamが構成される。ここで、複数のTS Payloadのうちの最初のTS Payloadは、PES_Headerを含むように構成されている。なお、PES_HeaderとElementary Streamの少なくとも一部とからPES(Packetized Elementary Stream)またはPESパケットが構成される。
 以上のように、MPEG2-TSのファイル(Stream File)は、Aligned Unitごとに暗号化されている。したがって、そのファイルをMP4のファイルに変換するためには、上述のような復号が行われ、さらに再暗号化が行われる。スマートフォンまたはタブレットなどの変換機器では、この復号および暗号化に時間がかかるという課題がある。さらに、一旦、平文のコンテンツを作成することとなるため、セキュリティ上の問題もある。
 このような課題を解決するために、本開示の一態様に係るファイル生成方法は、MP4ファイルを生成するファイル生成方法であって、MP4と異なるファイルフォーマットで構成されている元ファイルを取得し、前記元ファイルに含まれていないデータを含む差分ファイルを取得し、前記MP4ファイルを生成するための手順を示す手順ファイルを取得し、前記手順ファイルに示される手順にしたがって、前記差分ファイルに含まれるデータと、前記元ファイルに含まれるデータとを組み合わせることによって、前記MP4ファイルを生成する。例えば、前記元ファイルの取得では、MPEG2-TSのファイルフォーマットで構成されている前記元ファイルを取得する。
 これにより、予め定められた手順にしたがって、差分ファイルに含まれるデータと、元ファイルに含まれるデータとを組み合わせることによってMP4ファイルが生成される。したがって、MPEG2-TSなどのファイルフォーマットによって構成される元ファイルを、映像ストリームまたは音声ストリームなどの各ストリームに戻すことなく、MP4ファイルを簡単に生成することができる。また、元ファイルが暗号化されていてもそれを復号して再暗号化する必要がない。したがって、MP4ファイルを生成するための処理負荷を抑えることができる。
 また、前記元ファイル、前記差分ファイルおよび前記手順ファイルの取得では、光ディスクから前記元ファイル、前記差分ファイルおよび前記手順ファイルを読み出すことによって取得してもよい。
 これにより、MP4ファイルの生成に必要となる全てのファイルが1つの光ディスクから取得されるため、それらのファイルを探す手間を省くことができ、MP4ファイルをより簡単に生成することができる。
 また、前記手順ファイルには、前記差分ファイルに含まれる部分の範囲と、前記元ファイルに含まれる部分の範囲とが交互に配列されるように、前記差分ファイルに含まれる複数の部分のそれぞれの範囲と、前記元ファイルに含まれる複数の部分のそれぞれの範囲とが記述され、前記MP4ファイルの生成では、前記手順ファイルに記述されている各範囲の順に、前記各範囲によって示される部分を組み合わせることによって、前記MP4ファイルを生成してもよい。
 これにより、MP4ファイルに含まれる各部分をそのMP4ファイルの先頭側から順に生成することができ、後戻りすることがないため、MP4ファイルをより簡単に生成することができる。
 また、前記差分ファイルに含まれる複数の部分のそれぞれの範囲は、データサイズによって前記手順ファイルに記述され、前記元ファイルに含まれる複数の部分のそれぞれの範囲は、当該部分の開始位置とデータサイズとによって前記手順ファイルに記述されていてもよい。
 これにより、手順ファイルの記述に基づいて、差分ファイルおよび元ファイルから適切な部分をコピーまたは取得して組み合わせることができる。また、差分ファイルに含まれる部分の範囲の記述に開始位置が用いられないため、手順ファイルのデータサイズを抑えることができる。
 また、前記手順ファイルには前記MP4ファイルのデータサイズが記述されてあり、前記ファイル生成方法は、さらに、前記手順ファイルに記述されている前記MP4ファイルのデータサイズに基づいて、前記MP4ファイルを記録するだけの空き容量がメディアにあるか否かを判定してもよい。
 これにより、メディアにMP4ファイルを記録するだけの空き容量があるか否かが判定されるため、空き容量がない場合には、そのMP4ファイルの生成を事前に中止するなどの処理を行うことができる。つまり、エラーの発生を未然に防ぐことができる。
 また、前記手順ファイルには前記MP4ファイルの属性が記述されてあり、前記ファイル生成方法は、さらに、前記手順ファイルに記述されている前記属性を読み出してもよい。
 これにより、MP4ファイルの生成前にMP4ファイルの属性を手順ファイルから読み出せば、所望のMP4ファイルが生成されるか否かを事前に判断することができる。
 また、前記手順ファイルには前記MP4ファイルの再生に必要なバッファサイズが記述されてあり、前記ファイル生成方法は、さらに、前記手順ファイルに記述されている前記バッファサイズを読み出してもよい。
 これにより、MP4ファイルの再生に必要なバッファサイズを手順ファイルから読み出せば、MP4ファイルを解析することなく、そのMP4ファイルが再生可能か否かを簡単に判断することができる。
 また、前記手順ファイルには、前記元ファイルの名称である第1のファイル名と前記差分ファイルの名称である第2のファイル名とが記述されてあり、前記ファイル生成方法は、さらに、前記手順ファイルに記述されている第1のファイル名のファイルを前記元ファイルとして特定し、前記手順ファイルに記述されている第2のファイル名のファイルを前記差分ファイルとして特定してもよい。
 これにより、MP4ファイルの生成に用いられる元ファイルおよび差分ファイルを適切に取得することができる。
 また、前記MP4ファイルの生成では、前記差分ファイルに含まれるデータであるMP4に対応するヘッダ情報を、前記元ファイルに含まれるデータと組み合わせてもよい。
 これにより、MP4の適切なヘッダ情報を有するMP4ファイルを簡単に生成することができる。
 また、前記元ファイルの取得では、平文の状態の前記元ファイルを取得し、前記MP4ファイルの生成では、生成された前記MP4ファイルを暗号化してもよい。
 これにより、MP4への変換後に元ファイルを削除しておけば、その元ファイルに含まれていたデータをMP4ファイルとして残しておきながら、そのデータの秘匿性を確保することができる。
 また、前記MP4ファイルの生成では、前記元ファイルを構成する部分が取得されるごとに、当該部分に対応する前記MP4ファイルの部分を生成して暗号化し、前記MP4ファイルを構成する部分が暗号化されるごとに、当該部分に対応する前記元ファイルの部分を削除してもよい。
 これにより、平文の元ファイルに含まれる全てのデータが一時的にも記憶領域に格納されることを防ぐことができ、そのデータの秘匿性をより確実に確保することができる。
 さらに、上記特許文献1のファイル生成方法では、2つのストリームを連続して再生することが考慮されていない。さらに、その2つのストリームのそれぞれの一部の再生のタイミングをオーバーラップさせことも考慮されていない。したがって、オーバーラップの再生に適したMP4ファイルを生成することができない。
 このような課題を解決するために、本開示の一態様に係るファイル生成方法は、MP4ファイルを生成するファイル生成方法であって、2つのストリームが連続して再生されるように前記2つのストリームを統合することによって1つのMP4ファイルを生成し、前記2つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成された前記MP4ファイルに格納する。例えば、前記2つのストリームの統合では、それぞれMP4のファイルフォーマットで構成されている元ファイルの少なくとも一部である前記2つのストリームを統合する。また、例えば、前記2つのストリームの統合では、それぞれオーディオのデータを含む前記2つのストリームを統合する。
 これにより、MP4ファイルには、オーバーラップの区間を示す情報が格納されている。したがって、そのMP4ファイルを再生する再生装置は、その情報を用いて、MP4ファイルから、オーバーラップの区間のデータを容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを合成するなどによってそのデータを適切に再生することができる。つまり、オーバーラップの再生に適したMP4ファイルを生成することができる。
 また、前記2つのストリームの統合では、前記2つのストリームのうちの何れか一方のストリームに含まれる複数のサンプルにわたって前記区間が存在する場合、前記複数のサンプルのうちの少なくとも1つを削除した後に、前記2つのストリームを統合してもよい。
 これにより、サンプルが削除されるため、オーバーラップの区間を短くすることができる。その結果、オーバーラップの区間に対する再生装置による特別な処理の負担を軽減することができる。
 また、前記情報の格納では、前記区間の時間長を示す時間情報を前記情報として前記MP4ファイルに格納してもよい。
 これにより、MP4ファイルを再生する再生装置は、その情報を用いて、オーバーラップの区間の時間長を容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを合成するなどによって、特定された時間長内でそのデータを適切に再生することができる。
 また、前記情報の格納では、前記MP4ファイルにおけるmoof内のtrafに前記時間情報を格納してもよい。
 これにより、再生装置は、格納されている時間情報を適切に取得することができる。
 また、前記ファイル生成方法では、前記情報を保持している装置または光ディスクから前記情報を取得してもよい。
 これにより、わざわざオーバーラップの区間を示す情報を生成することなく、MP4ファイルにその情報を簡単に格納することができる。
 また、本開示の一態様に係る再生方法は、MP4ファイルを再生する再生方法であって、再生対象のコンテンツにおいて再生のタイミングがオーバーラップする2つの区間を示す情報を前記MP4ファイルから抽出し、抽出された前記情報に基づいて前記コンテンツにおける前記2つの区間を特定し、当該2つの区間のそれぞれのデータに対する復号結果を合成して出力する。
 これにより、再生装置は、MP4ファイルから、オーバーラップの区間のデータを容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを適切に再生することができる。
 また、本開示の一態様に係る記録媒体は、MP4ファイルを記録している記録媒体であって、前記MP4ファイルは、コンピュータに読み出されて再生されるコンテンツと、前記コンテンツにおいて再生のタイミングがオーバーラップする2つの区間を示す情報とを含む。
 これにより、記録媒体からそのMP4ファイルを読み出して再生する再生装置は、その情報を用いて、MP4ファイルから上述の2つの区間のデータを容易に特定することができる。その結果、再生装置は、それらの区間のデータを合成するなどによってそのデータを適切に再生することができる。
 さらに、上記特許文献1のファイル生成方法では、エレメンタリーストリームからプレイリストを用いてMP4ファイルを生成する際に、エレメンタリーストリームをプレイリストの情報を用いた演算を行うことで特定する必要がある。このため、特定する演算処理にかかる負荷が発生してしまう。
 このような課題を解決するために、本開示の一態様に係るファイル生成方法は、エレメンタリーストリームからMP4ファイルを生成するファイル生成方法であって、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得し、取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択し、選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをMP4のファイルフォーマットに変換することによって、前記MP4ファイルを生成する。
 これによれば、プレイリストから選択したエレメンタリーストリームに含まれるデータについて、当該エレメンタリーストリームに対応しているマニフェストファイルに基づいて、MP4のファイルフォーマットに変換することができる。マニフェストファイルを用いることにより、例えば、プレイリストの所定の識別情報によって示されるエレメンタリーストリームを、演算することなく特定できるため、処理負荷を抑えることができる。
 また、前記プレイリストは、さらに、前記所定の識別情報によって示されるエレメンタリーストリームの一部の区間を示す区間情報を含み、前記選択では、さらに、前記区間情報で示される前記エレメンタリーストリームの前記区間を選択し、前記変換では、選択された前記エレメンタリーストリームの前記区間をMP4のファイルフォーマットに変換してもよい。
 これによれば、プレイリストから選択したエレメンタリーストリームの区間のデータについて、当該エレメンタリーストリームに対応しているマニフェストファイルに基づいて、MP4のファイルフォーマットに変換することができる。マニフェストファイルを用いることにより、プレイリストの区間情報によって示されるエレメンタリーストリームの区間を、演算することなく特定できるため、処理負荷を抑えることができる。
 また、前記区間情報は、前記エレメンタリーストリームの復号または表示の時刻を示す時刻情報で示されており、前記マニフェストファイルは、前記時刻と前記エレメンタリーストリームにおける位置とが対応付けられた情報であり、前記変換では、前記マニフェストファイルから、前記プレイリストの前記区間情報により示される時刻情報に対応した、前記エレメンタリーストリームにおける前記区間の位置を特定し、特定した前記エレメンタリーストリームの前記区間を抽出し、抽出した前記エレメンタリーストリームの前記区間をMP4のファイルフォーマットに変換してもよい。
 これによれば、マニフェストファイルには、復号または表示の時刻と、エレメンタリーストリームにおける位置とが予め関連付けられているため、プレイリストに示される区間情報から、容易にエレメンタリーストリームの区間の位置を特定できる。これにより、処理負荷を抑えることができる。
 また、前記プレイリストは、第1エレメンタリーストリームを示す第1識別情報と、第2エレメンタリーストリームを示す第2識別情報とを前記所定の識別情報として、かつ、前記第1エレメンタリーストリームの第1区間を示す第1区間情報と、前記第2エレメンタリーストリームの第2区間を示す第2区間情報とを前記区間情報として含み、前記選択では、取得した前記プレイリストから、前記第1識別情報によって示される前記第1エレメンタリーストリームのうちの前記第1区間情報で示される前記第1区間と、前記第2識別情報によって示される前記第2エレメンタリーストリームのうちの前記第2区間情報で示される前記第2区間と、を選択し、前記変換では、選択した前記第1エレメンタリーストリームの前記第1区間と、前記第2エレメンタリーストリームの前記第2区間とを含むデータをMP4のファイルフォーマットに変換してもよい。
 これによれば、プレイリストによって2つのエレメンタリーストリームのそれぞれの区間が選択されていても、容易に2つの区間を特定することができる。これにより、処理負荷を抑えることができる。
 また、前記変換では、前記第1エレメンタリーストリームに対応している第1マニフェストファイルに基づいて、選択した前記第1エレメンタリーストリームの前記第1区間を抽出し、前記第2エレメンタリーストリームに対応している第2マニフェストファイルに基づいて、選択した前記第2エレメンタリーストリームの前記第2区間を抽出し、抽出した前記第1区間及び前記第2区間を含むデータをMP4のファイルフォーマットに変換してもよい。
 これによれば、プレイリストによって2つのエレメンタリーストリームのそれぞれの区間が選択されていても、2つのエレメンタリーストリームのそれぞれに対応するマニフェストファイルを用いるため、容易に2つの区間を特定することができる。これにより、処理負荷を抑えることができる。
 また、前記変換では、さらに、前記エレメンタリーストリームに対応する音声のMP4ファイルを取得し、選択した前記エレメンタリーストリームに対応しているマニフェストファイルに基づいて、当該エレメンタリーストリームに対応している映像のエレメンタリーストリームを抽出し、抽出した前記映像のエレメンタリーストリームと、選択した前記音声のMP4ファイルとを用いて、前記MP4ファイルを生成してもよい。
 これによれば、音声のMP4ファイルをエレメンタリーストリームから変換して生成する必要がないため、処理負荷を抑えることができる。
 また、前記選択では、ユーザーからの入力を受け付けるためのメニューを生成し、生成したメニューへの入力を受け付け、受け付けたメニューへの入力に応じて決定されたプレイリストからエレメンタリーストリームを選択してもよい。
 これによれば、プレイリストにユーザーの意図を反映することができる。
 また、本開示の一態様に係るファイル生成装置は、エレメンタリーストリームからMP4ファイルを生成するファイル生成装置であって、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得する取得部と、取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択する選択部と、選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをMP4のファイルフォーマットに変換することによって、前記MP4ファイルを生成する生成部と、を備える。
 また、本開示の一態様に係る記録媒体は、複数のMPEG2-TSファイルと、前記複数のMPEG2-TSファイルに含まれる複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストと、選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルと、を記録している。
 以下、実施の形態について、図面を参照しながら具体的に説明する。
 なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態1)
 図5は、本実施の形態におけるファイル生成装置の構成を示すブロック図である。
 本実施の形態におけるファイル生成装置10は、MP4ファイルを生成する装置であって、元ファイル取得部11と、差分ファイル取得部12と、手順ファイル取得部13と、生成部14とを備える。元ファイル取得部11は、MP4と異なるファイルフォーマットで構成されている元ファイルを取得する。差分ファイル取得部12は、その元ファイルに含まれていないデータを含む差分ファイルを取得する。手順ファイル取得部13は、MP4ファイルを生成するための手順を示す手順ファイルを取得する。生成部14は、その手順ファイルに示される手順にしたがって、差分ファイルに含まれるデータと、元ファイルに含まれるデータとを組み合わせることによって、MP4ファイルを生成する。言い換えれば、生成部14は、元ファイルをMP4ファイルに変換する。
 以下、このファイル生成装置10による処理動作について詳細に説明する。
 図6は、MPEG2-TSのストリームファイル、差分ファイルおよびコピーマニフェストファイルから、MP4のストリームファイルを生成する方法を説明するための図である。
 本実施の形態では、例えば、光ディスク(例えばBlu-ray(登録商標)ディスク)に、上述の元ファイルであるストリームファイルA(XXXXX.M2TS)と、上述の手順ファイルであるコピーマニフェストファイル(XXXXX.CMNF)と、上述の差分ファイル(XXXXX.DMP4)とが記録されている。コピーマニフェストファイル(XXXXX.CMNF)には、この元ファイルをどのように処理してMP4ファイルに変換するのかの変換手順が記述されている。差分ファイル(XXXXX.DMP4)は、MP4ファイルへ変換するために必要となるデータを格納している。
 生成部14は、MPEG2-TSのストリームファイルA(XXXXX.M2TS)を変換する際には、コピーマニフェストファイル(XXXXX.CMNF)の記述に従って、ストリームファイルA(XXXXX.M2TS)のデータと差分ファイル(XXXXX.DMP4)のデータとを交互に組み合わせることにより、MP4ファイルであるストリームファイルB(XXXXX.MP4)を生成する。言い換えれば、生成部14は、ストリームファイルA(XXXXX.M2TS)をストリームファイルB(XXXXX.MP4)に変換する。
 これにより、元ファイルを音声または映像のエレメンタリーストリーム(例えば、HE-AACまたはMPEG-4 AVCのストリーム)に復元することなく、その変換を行うことができる。また、元ファイルが暗号化されていれば、その暗号化も解くことなく、元ファイルからMP4ファイルへの変換が簡単にできる。
 このコピーマニフェストファイル(XXXXX.CMNF)は、“Input File A”、“Input File B”、“Output File”、“Output File Size”、“ATTRIBUTE”、“MP4 DECODER BUFFER SIZE”、および“COPY MANIFEST”を含む。“Input File A”および“Input File B”は、入力される2つのファイルのファイル名を示す。“Input File A”によって示されるファイルの先頭部分のコピーから変換処理が始められる。“Output File”は、出力されるファイル、つまり生成されるMP4ファイルのファイル名を示す。“Output File Size”は、その出力されるMP4ファイルのデータサイズを示す。このデータサイズは、バイト精度で記述されている。このデータサイズを確認することで、出力されるMP4ファイルが記録されるメディアに、十分な空き容量があるか否かを変換処理の前に確認することができる。“ATTRIBUTE”は、各ファイルの属性を示し、具体的には、どのようなエレメンタリーストリームが変換されてどのようなファイルが生成されるのかを示す。図6に示す例では、“ATTRIBUTE”は、変換後のMP4ファイルが、HEVC(High Efficiency Video Coding)で圧縮された4K映像と、AAC(Advanced Audio Coding)の5.1ch英語音声とを含んでいることを示す。これによって、変換処理の前に、このコピーマニフェストファイルに従って変換した際に得られる変換後のファイルがどのようなファイルかを事前に確認することができる。また、“ATTRIBUTE”は、MP4ファイルのデータ構造などを示してもよく、MP4ファイルの“ftyp”に格納されるMP4のブランド(つまり種類)を示してもよい。
 また、“MP4 DECODER BUFFER SIZE”は、出力されるMP4ファイルである変換後のストリームファイルB(XXXXX.MP4)を再生するために、最低必要となるバッファサイズを示す。このバッファサイズは、変換後のストリームファイルBであるMP4ファイルにおいて、どのような多重化規則で映像と音声などが多重化されているかに依存する量である。“MP4 DECODER BUFFER SIZE”は、バッファサイズ以外にも、変換後のストリームファイルBを再生するために、どのようなデコーダリソース(メモリ量やデータ転送速度)が必要かを示してもよい。
 “COPY MANIFEST”は、“Input File A”によって示されるファイルの各部分の範囲と、“Input File B”によって示されるファイルの各部分の範囲とを示す。これの各部分は、“Output File”によって示されるMP4ファイルを生成するために順次コピーして貼り付けられる部分である。また、それぞれの部分の範囲は、コピー開始位置とコピーサイズとによって、またはコピーサイズのみによって示される。また、“COPY MANIFEST”は、“Input File A”によって示されるファイルの部分と、“Input File B”によって示されるファイルの部分とが交互に繰り返しコピーおよび貼り付けられるように、それらのファイルの各部分の範囲を示す。
 差分ファイル(XXXXX.DMP4)は、その差分ファイルの先頭から、指定のサイズの部分ごとに、コピーされて貼り付けられる。したがって、“COPY MANIFEST”では、差分ファイル(XXXXX.DMP4)の各部分を示すために、コピー開始位置を指定する必要がない。つまり、コピー開始位置を用いずに、コピーサイズ(データサイズ)のみによって、差分ファイルの各部分の範囲が示される。
 一方、ストリームファイルA(XXXXX.M2TS)は、変換後のストリームファイルB(XXXXX.MP4)に必要のないデータを含む。したがって、“COPY MANIFEST”では、元ファイルであるストリームファイルAの各部分を示すために、コピー開始位置およびコピーサイズによって、その各部分の範囲が示される。コピー開始位置は、ファイルの先頭からのバイト位置であり、コピーサイズはバイト単位のデータサイズである。
 生成部14は、コピーマニフェストファイルにしたがって、“COPY MANIFEST”によって示される、元ファイルに含まれる部分と、差分ファイルに含まれる部分とを、交互にコピーして貼り付けることを繰り返す。つまり、生成部14は、“COPY MANIFEST”によって示される、元ファイルに含まれる部分と、差分ファイルに含まれる部分とを、交互に組み合わせることを繰り返す。これにより、変換後のストリームファイルBであるMP4ファイルが生成される。
 したがって、コピーマニフェストファイルにしたがえば、どのような機器で元ファイルを変換したとしても、同一の変換後のストリームファイルB(XXXXX.MP4)を生成することが可能となる。つまり、変換後のストリームファイルBを、どのような機器においても不具合無く再生することが容易となる。
 なお、ファイル生成装置10は、差分ファイル(XXXXX.DMP4)とコピーマニフェストファイル(XXXXX.CMNF)を、Blu-ray(登録商標)ディスクなどの光ディスクから取得してもよく、これらの両方もしくは片方のファイルをインターネット経由で取得してもよい。この場合は、元ファイルを、最新のファイルフォーマットのファイル、または別の映像および音声を含むMP4ファイルなどへ変換するなどの様々な選択をユーザーに提示することが、ファイル生成装置10に特段の変更を要することなく可能となる。
 また、ファイル生成装置10は、元ファイルであるストリームファイルAが暗号化されたままの状態で変換を行ってもよく、元ファイルの暗号を解いた後に、MP4ファイルへの変換を行い、生成されたMP4ファイルを再び暗号化してもよい。また、元ファイルであるファイルストリーム(XXXXX.M2TS)は平文であってもよい。なお、差分ファイルは、ヘッダ情報から構成されるため、差分ファイルの暗号化は不要である。ただし、元ファイルであるストリームファイルA(XXXXX.M2TS)、あるいは、MP4ファイルであるストリームファイルB(XXXXX.MP4)が平文である場合に、ファイル全体をメモリに展開する、あるいは、ハードディスクに一旦保存するなどの動作は、セキュリティ面から許容されないことがある。
 したがって、ファイル生成装置10は、平文の元ファイルであるストリームファイルA(XXXXX.M2TS)のうち、MP4ファイルへの変換が終了した領域から順に、その領域を削除してもよい。また、ファイル生成装置10は、MP4ファイルであるストリームファイルB(XXXXXX.MP4)を暗号化するときには、そのMP4ファイルに含まれる“Movie fragment”、あるいは、所定の数のMP4サンプルなどの部分が生成される度に、その生成された部分を順に暗号化してもよい。なお、暗号化の前後でデータサイズが変化しないような暗号化方式を用いれば、暗号化の有無に関わらず、コピーされるデータの領域は変化しない。
 また、コピーマニフェストファイルは、元ファイルであるストリームファイルA(XXXXX.M2TS)が暗号化されているかどうかを示してもよい。あるいは、コピーマニフェストファイルは、そのストリームファイルAに多重化された符号化データを暗号化されたまま変換するのか、その暗号化された符号化データを平文にしてからMP4ファイルに変換した後に再び暗号化するのかなどを示してもよい。
 図7は、差分ファイルおよびコピーマニフェストファイルを生成する方法を説明するための図である。
 差分ファイル(XXXXX.DMP4)とコピーマニフェストファイル(XXXXX.CMNF)は次のようにして生成することが可能である。オーサリングの段階で、元ファイルであるストリームファイルA(XXXXX.M2TS)をフォーマット変換することにより、MP4ファイルである変換後のストリームファイルB(XXXXX.MP4)を生成する。次に、元ファイルであるストリームファイルAと、ストリームファイルBとのそれぞれの間で、互いに一致するデータを含む少なくとも1つの部分を検索する。このとき、それぞれの部分のデータサイズが最も大きくなるように検索する。次に、ストリームファイルBに含まれる、上述のように検索された部分以外の残りの部分のそれぞれを、ストリームファイルBに含まれている順番にしたがって連結することにより、差分ファイルを生成する。このときの、各ファイルの相関関係結果を、“COPY MANIFEST”としてコピーマニフェストファイルに記録する。
 なお、上述の検索は、ストリームファイルAとストリームファイルBとのそれぞれに含まれるデータを、それぞれのファイルの先頭から後方へ向かう方向に順次取得し、それらのデータを比較することによって行われる。そして、その比較は、上述の方向と逆方向に戻ることなく行われる。これにより、上述の変換処理(コピー処理)を、シーケンシャルに、つまり1つの連続した処理によって行うことが可能となり、高速化または少メモリ化を実現することができる。
 なお、ビデオおよびオーディオをMPEG2-TSで多重化する際には、Iピクチャなど符号量の大きいピクチャのデータがアンダーフローしないように、ビデオに含まれる所定のPTS(Presentation TimeStamp)のピクチャが、オーディオに含まれるその所定のPTSと同一のPTSのフレームに比べて時間的に前に多重化されることがある。一方で、ビデオおよびオーディオをMP4で多重化する際には、“Movie fragment”におけるビデオの先頭ピクチャのPTSとオーディオの先頭フレームのPTSとが一致、あるいは近傍となるように、多重化されることが一般的である。
 このように、ストリームファイルAとストリームファイルBにおいて、オーディオ、ビデオ、またはテキストの多重化単位が異なると、変換処理をシーケンシャルに行うことができないことがある。その結果、読出し、あるいは、書き込みのポインタを順次、前後に移動させながら変換することも生じる。したがって、変換処理が1つの連続した処理で行えるかどうか、あるいは、1つの連続した処理で行えない場合に、後戻りが必要な最大データサイズなどを、コピーマニフェストファイルに登録してもよい。
 なお、ストリームファイルAとストリームファイルBとに対して行われる、一致するデータを含む部分の検索が、小さいデータの単位で行われると、コピーマニフェストファイルのデータサイズが大きくなったり、変換処理が煩雑になったりする。このため、特定の閾値を設けてもよい。例えば、互いに8バイト以上一致するデータを含む部分のみをコピーマニフェストファイルに登録する。ストリームファイルBに含まれる、その部分以外の残りの部分のそれぞれが、ストリームファイルAのデータと一致する8バイト未満のデータを含んでいても、それらの残りの部分に含まれるデータは差分ファイルに格納される。また、この閾値を、コピーマニフェストファイルに“MIN COPY SIZE:8 bytes”のように記述しても良い。
 また、差分ファイルを用いずに、MP4ファイルにおける多重化単位を示すコピーマニフェストファイルを用いて、MPEG-2TSのファイルをMP4のファイルに変換してもよい。例えば、MP4では、オーディオ、ビデオ、あるいは、テキストがそれぞれ異なる“Movie fragment”として多重化される。このとき、復号順で“Movie fragment”の先頭および最終となるオーディオフレームおよびビデオピクチャのそれぞれのDTS、あるいは、MPEG-2TSのファイルの先頭からのバイトオフセット値などを、メディアの識別情報と共に登録してもよい。なお、“Movie fragment”の登録順は、MP4のファイルにおける“Movie fragment”の出現順と一致するものとする。
 図8は、本実施の形態におけるファイル生成方法のフローチャートである。
 本実施の形態におけるファイル生成方法は、ファイル生成装置10がMP4ファイルを生成する方法である。このファイル生成方法では、まず、ファイル生成装置10の元ファイル取得部11は、MP4と異なるファイルフォーマットで構成されている元ファイルを取得する(ステップS11)。次に、差分ファイル取得部12は、その元ファイルに含まれていないデータを含む差分ファイルを取得する(ステップS12)。次に、手順ファイル取得部13は、MP4ファイルを生成するための手順を示す手順ファイルを取得する(ステップS13)。そして、生成部14は、その手順ファイルに示される手順にしたがって、差分ファイルに含まれるデータと、元ファイルに含まれるデータとを組み合わせることによって、上述のMP4ファイルを生成する(ステップS14)。例えば、ステップS11では、元ファイル取得部11は、MPEG2-TSのファイルフォーマットで構成されている元ファイルを取得する。
 これにより、予め定められた手順にしたがって、差分ファイルに含まれるデータと、元ファイルに含まれるデータとを組み合わせることによってMP4ファイルが生成される。したがって、MPEG2-TSなどのファイルフォーマットによって構成される元ファイルを、映像ストリームまたは音声ストリームなどの各ストリームに戻すことなく、MP4ファイルを簡単に生成することができる。また、元ファイルが暗号化されていてもそれを復号して再暗号化する必要がない。したがって、MP4ファイルを生成するための処理負荷を抑えることができる。
 また、ステップS11~S13では、元ファイル取得部11、差分ファイル取得部12、および手順ファイル取得部13はそれぞれ、光ディスクから元ファイル、差分ファイルおよび手順ファイルを読み出すことによってそれらのファイルを取得する。これにより、MP4ファイルの生成に必要となる全てのファイルが1つの光ディスクから取得されるため、それらのファイルを探す手間を省くことができ、MP4ファイルをより簡単に生成することができる。
 ここで、手順ファイルには、差分ファイルに含まれる部分の範囲と、元ファイルに含まれる部分の範囲とが交互に配列されるように、差分ファイルに含まれる複数の部分のそれぞれの範囲と、元ファイルに含まれる複数の部分のそれぞれの範囲とが記述されている。そこで、ステップS14では、生成部14は、手順ファイルに記述されている各範囲の順に、その各範囲によって示される部分を組み合わせることによって、MP4ファイルを生成する。これにより、MP4ファイルに含まれる各部分をそのMP4ファイルの先頭側から順に生成することができ、後戻りすることがないため、MP4ファイルをより簡単に生成することができる。
 また、差分ファイルに含まれる複数の部分のそれぞれの範囲は、データサイズによって手順ファイルに記述されている。一方、元ファイルに含まれる複数の部分のそれぞれの範囲は、その部分の開始位置とデータサイズとによって手順ファイルに記述されている。これにより、手順ファイルの記述に基づいて、差分ファイルおよび元ファイルから適切な部分をコピーまたは取得して組み合わせることができる。また、差分ファイルに含まれる部分の範囲の記述に開始位置が用いられないため、手順ファイルのデータサイズを抑えることができる。
 また、手順ファイルにはMP4ファイルのデータサイズが記述されている。そこで、ステップS14では、さらに、生成部14は、手順ファイルに記述されているMP4ファイルのデータサイズに基づいて、そのMP4ファイルを記録するだけの空き容量がメディアにあるか否かを判定してもよい。これにより、メディアにMP4ファイルを記録するだけの空き容量があるか否かが判定されるため、空き容量がない場合には、そのMP4ファイルの生成を事前に中止するなどの処理を行うことができる。つまり、エラーの発生を未然に防ぐことができる。
 また、手順ファイルにはMP4ファイルの属性が記述されている。そこで、ファイル生成装置10は、さらに、手順ファイルに記述されているその属性を読み出してもよい。
 これにより、MP4ファイルの生成前にMP4ファイルの属性を手順ファイルから読み出せば、所望のMP4ファイルが生成されるか否かを事前に判断することができる。
 また、手順ファイルにはMP4ファイルの再生に必要なバッファサイズが記述されている。そこで、ファイル生成装置10は、さらに、手順ファイルに記述されているそのバッファサイズを読み出してもよい。これにより、MP4ファイルの再生に必要なバッファサイズを手順ファイルから読み出せば、MP4ファイルを解析することなく、そのMP4ファイルが再生可能か否かを簡単に判断することができる。
 また、手順ファイルには、元ファイルの名称である第1のファイル名と差分ファイルの名称である第2のファイル名とが記述されている。そこで、ファイル生成装置10は、さらに、手順ファイルに記述されている第1のファイル名のファイルを元ファイルとして特定し、手順ファイルに記述されている第2のファイル名のファイルを差分ファイルとして特定してもよい。これにより、MP4ファイルの生成に用いられる元ファイルおよび差分ファイルを適切に取得することができる。
 また、ステップS14では、生成部14は、差分ファイルに含まれるデータであるMP4に対応するヘッダ情報を、元ファイルに含まれるデータと組み合わせる。これにより、MP4の適切なヘッダ情報を有するMP4ファイルを簡単に生成することができる。
 また、ステップS11では、元ファイル取得部11は、平文の状態の元ファイルを取得し、ステップS14では、生成部14は、生成されたMP4ファイルを暗号化してもよい。これにより、MP4への変換後に元ファイルを削除しておけば、その元ファイルに含まれていたデータをMP4ファイルとして残しておきながら、そのデータの秘匿性を確保することができる。
 ここで、ステップS14では、生成部14は、元ファイルを構成する部分が取得されるごとに、その部分に対応するMP4ファイルの部分を生成して暗号化し、MP4ファイルを構成する部分が暗号化されるごとに、その部分に対応する元ファイルの部分を削除してもよい。これにより、平文の元ファイルに含まれる全てのデータが一時的にも記憶領域に格納されることを防ぐことができ、そのデータの秘匿性をより確実に確保することができる。
 (変形例1-1)
 上記実施の形態では、差分ファイルおよびコピーマニフェストファイルを用いてMP4ファイルを生成したが、これらのファイルを用いずにMP4ファイルを生成してもよい。本変形例に係るファイル生成方法では、それぞれ平文のヘッダを有する複数のSource PacketからなるMPEG2-TSのストリームファイルを、カウンタを用いてMP4のストリームファイルに変換する。これにより、MP4のストリームファイルが生成される。なお、MPEG2-TSのストリームファイルは元ファイルであり、MP4のストリームファイルはMP4ファイルである。
 図9は、本変形例におけるファイル生成方法を説明するための図である。
 MPEG2-TSのストリームファイル(つまりコンテンツ)は、上述のように複数のSource Packetから構成されている。なお、図9において、Source Packetは、SPと略して示されている。
 本変形例におけるMPEG2-TSのストリームファイルに含まれる各Source Packetでは、Source Packetに含まれるデータのうち、TS Payload部分のみが暗号化されている。つまり、Source Packetに含まれるデータのうち、TS_extra_headerと、TS Headerとは暗号化されておらず、平文である。
 暗号化には、AES-CTR(CounTeR)モードが用いられる。なお、AES-CTRモードでは、カウンタの値を使った暗号化および復号が行われる。図9に示すように、ビデオ用のカウンタ(AES Counter for Video)の値を用いて、それぞれビデオのデータを含む複数のTS Payloadが暗号化され、オーディオ用のカウンタ(AES Counter for Audio)の値を用いて、それぞれオーディオのデータを含む複数のTS Payloadが暗号化される。ビデオ用のカウンタは、図9に示す矢印にしたがってカウント値が増加するように、ビデオのSource Packetのデータのみをカウントする。オーディオ用のカウンタは、図9に示す矢印にしたがってカウント値が増加するように、オーディオのSource Packetのデータのみをカウントする。なお、AES-CTRモードでの暗号化の詳細については後述する。
 ファイル生成装置は、MPEG2-TSのストリームファイルに含まれる複数のSource Packetのそれぞれのうち、TS Payloadのみを取り出すことによって、MPEG2-TSのストリームファイルを、MP4のストリームファイルに簡単に変換することができる。
 図10Aは、AES-CTRモードによるデータの暗号化を説明するための図である。
 暗号化の際には、鍵と初期値であるIV(Initial Vector)とが用いられる。まず、鍵を用いてIVを暗号化する。この暗号化によって得られた値と、暗号化対象のデータの先頭の16Bytes(図10Aに示すm1)との排他的論理和の演算によって、その先頭の16Bytesに対応する暗号文c1が生成される。暗号化対象のデータに含まれる次の16Bytes(図10Aに示すm2)のデータ(ブロック)に対しては、IV=IV+1のように、IVを更新した後に、上述の先頭の16Bytesに対する処理と同じ処理を行う。これにより、次の16Bytesのデータに対応する暗号文c2が生成される。上述のように更新されるIVは上述のカウンタ値であって、図9に示すビデオ用のカウンタおよびオーディオ用のカウンタはそれぞれIV=IV+1の演算を行う。
 このような処理を連続して行うことで、16Bytes以上の長いデータに対しても暗号文を作成することができる。なお、暗号化対象のデータの長さが16Bytesの倍数になっていない場合には、末尾のブロックにおいて、排他的論理和をビット単位で行うことによって暗号文が生成される。
 図10Bは、AES-CTRモードによるデータの復号を説明するための図である。
 復号の際には、復号対象のデータに対して、暗号化の場合と全く同じ処理が行われる。つまり、復号の際にも、鍵を用いてIVを暗号化する処理が行われる。
 このように、本変形例に係るファイル生成方法は、MP4ファイルを生成するファイル生成方法であって、複数のパケットからなる元ファイルを取得し、前記元ファイルに含まれるパケットごとに、当該パケットのうち、平文の状態にあるヘッダ情報を除く、残りの暗号化されているペイロード部分のみを取得して組み合わせてMP4ファイルを生成する。例えば、前記元ファイルの取得では、MPEG2-TSのファイルフォーマットで構成されている前記元ファイルを取得する。これにより、MPEG2-TSなどのファイルフォーマットによって構成される元ファイルを、映像ストリームまたは音声ストリームなどの各ストリームに戻すことなく、MP4ファイルを簡単に生成することができる。また、元ファイルを復号して再暗号化する必要がない。したがって、MP4ファイルを生成するための処理負荷を抑えることができる。
 ここで、前記元ファイルに含まれる前記複数のパケットのうち、ビデオのデータを含む複数のパケットのそれぞれのペイロードは、ビデオ用の第1のカウンタのカウンタ値を用いて暗号化され、オーディオのデータを含む複数のパケットのそれぞれのペイロードは、前記第1のカウンタと異なるオーディオ用の第2のカウンタのカウンタ値を用いて暗号化されている。前記第1のカウンタは、前記元ファイルの先頭から後に向かって、ビデオに対応する複数のパケットのそれぞれに含まれるデータのみをカウントし、前記第2のカウンタは、前記元ファイルの先頭から後に向かって、オーディオに対応する複数のパケットのそれぞれに含まれるデータのみをカウントする。これにより、第1のカウンタがビデオ専用のカウンタとして用いられるため、MP4ファイルにおいて、ビデオに対応する複数のパケットのそれぞれのペイロードが組み合わされて構成されるビデオエレメンタリーを、簡単に復号することができる。同様に、第2のカウンタがオーディオ専用のカウンタとして用いられるため、MP4ファイルにおいて、オーディオに対応する複数のパケットのそれぞれのペイロードが組み合わされて構成されるオーディオエレメンタリーを、簡単に復号することができる。
 なお、前記元ファイルは複数のAligned Unitからなり、前記複数のAligned Unitのそれぞれは複数のSource Packetからなる。前記元ファイルに含まれる前記複数のパケットは、前記複数のAligned Unitのそれぞれに含まれる複数のSource Packetである。また、前記ペイロードはTS Payloadであり、前記ヘッダ情報は、TP_extra_headerおよびTS Headerからなる。
 (変形例1-2)
 上記実施の形態では、差分ファイルおよびコピーマニフェストファイルを用いてMP4ファイルを生成したが、これらのファイルを用いずにMP4ファイルを生成してもよい。本変形例に係るファイル生成方法では、補助情報を含むMPEG2-TSのストリームファイルを、その補助情報を用いてMP4のストリームファイルに変換する。これにより、MP4のストリームファイルが生成される。
 MPEG2-TSとMP4においては、アクセスユニットのデータの多重化方法が一部異なるため、MPEG2-TSのデータをMP4ファイルに格納する際には、アクセスユニットを複数の部分に分離してそれらの部分を別々に格納する必要がある。基本的には、MPEG2-TSにおけるアクセスユニットは、ビデオのピクチャまたはオーディオのフレームの復号に必須となる初期化情報と、ピクチャまたはフレームの符号化データとを共に含む。一方、MP4ファイルにおけるアクセスユニット(MP4では、サンプルまたはMP4サンプルと呼ばれる)は、ピクチャまたはフレームの符号化データのみから構成され、復号に必要な初期化情報は、MP4ファイルのヘッダ情報として符号化データとは別に格納される。
 以下に、MPEG2-TSによって多重化された符号化データをMP4ファイルに変換する際に、変換に係る処理量を低減させるための補助情報、および、補助情報を使用した多重化フォーマットの変換方法について説明する。特に、符号化データが暗号化されている場合には、暗号化を解いて再暗号化する際の処理量が大きい。本変形例では、符号化データの暗号化を解かずに、データのコピーのみでMP4ファイルへの変換を行うことができる。
 なお、変換前の元ファイルであるMPEG2-TSのストリームファイルは、他のTS(トランスポートストリーム)であってもよい。つまり、元ファイルは、MPEG-2システムで規定されたTSだけでなく、TSパケットに所定のバイト数のヘッダ情報を付加したTS(例えばBlu-ray(登録商標)discまたは映像配信などで使用されるTS)であってもよい。また、変換によって生成されるMP4ファイルは、“Movie fragment”を使用したMP4ファイルであってもよく、“Movie fragment”を使用しないMP4ファイルであってもよい。さらに、変換によって生成されるファイルのフォーマットは、MP4をベースに拡張されたDECE(Digital Entertainment Content Ecosystem)のCFF(Common File Format)、またはMPEG-DASH(Dynamic Adaptive Streaming over HTTP)などであってもよい。以下では、元ファイルをトランスポートストリームとして説明する。
 図11は、トランスポートストリームに格納されるMPEG-4 AACのアクセスユニットをMP4ファイルに格納する例を示す図である。
 トランスポートストリームにおけるMPEG-4 AACのアクセスユニットは、LATM(Low Overhead Audio Transport Multiplex)ヘッダ、PayloadLengthInfo()、および、PayloadMux()の3種類のデータから構成される。LATMヘッダには、チャネル数およびサンプリング周波数などの、MPEG-4 AACの符号化データ(AACデータともいう)の復号に必要な初期化情報が含まれる。より詳細には、LATMヘッダ内のAudioSpecificConfig()に、その初期化情報が格納される。PayloadLengthInfo()には、PayloadMux()のサイズが格納され、PayloadMux()に、AACデータが格納される。
 このアクセスユニットのデータをMP4ファイルに格納する際には、LATMヘッダ内のAudioSpecificConfig()が、MP4ファイルのmoov内のstsdにおけるサンプルエントリに格納される。さらに、PayloadLengthInfo()とPayloadMux()とが、サンプルデータとしてmdatに格納される。なお、サンプルデータはサンプルに格納されるデータである。また、mdat内のサンプルデータはmoovから参照される、あるいは、“Movie fragment”を使用する場合には、mdat内のサンプルデータはmoofから参照される。MPEG-2 AACでは、LATMヘッダではなくADTS(Audio Data Transport Stream)ヘッダが用いられ、アクセスユニットは、ADTSヘッダとAACデータ(raw_data_block()と呼ばれる)から構成される。このときも、ADTSヘッダがアクセスユニットから分離され、ADTSヘッダに含まれるデータのうち、少なくともadts_fixed_header()は、サンプルエントリに格納される。さらに、AACデータがサンプルデータとしてmdatに格納される。
 図12は、トランスポートストリームに格納されるMPEG-4 AVC(Advanced Video Coding)のアクセスユニットをMP4に格納する例を示す図である。
 MPEG-4 AACの場合と同様に、トランスポートストリームでは、Sequence Parameter Set(SPS)およびPicture Parameter Set(PPS)などの、復号時に必要となる初期化情報は、アクセスユニットの一部として格納される。一方、MP4ファイルでは、これらの初期化情報は、MP4ファイルのヘッダ情報として格納される。図12に示すアクセスユニットは、IDR(Instantaneous Decoder Refresh)ピクチャを構成する。SPSおよびPPSのそれぞれのNAL(Network Adaptation Layer)ユニットは、アクセスユニットから分離されて、MP4ファイルのmoov内のstsdにおけるサンプルエントリに格納される。アクセスユニットに含まれるその他のデータは、サンプルデータとしてmdatに格納される。
 なお、MP4では、MPEG-4 AVCのサンプルデータに、SPSおよびPPSなどの初期化情報を含めることが可能なモードを選択することができる。モードは、サンプルエントリの識別情報によって示される。識別情報が“avc1”または“avc2”の場合には、初期化情報をサンプルデータに含めることは禁止される。一方、識別情報が“avc3”または“avc4”の場合には、初期化情報をサンプルデータに含めることが許可される。したがって、トランスポートストリームをMP4ファイルに変換する際に、MP4ファイルにおける上述の識別情報を“avc1”または“avc2”に設定する場合には、トランスポートストリームにおけるアクセスユニットからmdatに格納されるデータの中から、SPSおよびPPSのNALユニット、あるいは、スタッフィング用に用いるFillerDataのNALユニットは削除される。また、識別情報を“avc3”または“avc4”に設定する場合には、SPSまたはPPSのNALユニットを削除しなくてもよい。したがって、MP4ファイルにおける識別情報の設定値に応じて、SPSおよびPPSを削除するかどうかを切替えてもよい。
 また、次世代の動画像符号化方式であるHEVC(High Efficiency Video Coding)のデータは、MPEG-4 AVCと同様に、NALユニットによって構造され、SPSおよびPPSなどの初期化情報を有する。HEVCのデータをMP4ファイルに格納する際には、初期化情報をサンプルデータに含めてもよい。したがって、トランスポートストリームをMP4ファイルに変換する際に、トランスポートストリームにおけるアクセスユニットからmdatに格納されるデータのうち、初期化情報を削除するかどうかを、符号化方式の種類に応じて判定し、その判定結果に応じて処理してもよい。
 上述のように、MPEG-4 AACの符号化データをMP4ファイルに格納する際には、LATMヘッダはアクセスユニットから分離される。さらに、PayloadLengthInfo()およびPayloadMux()のみがサンプルデータとしてmdatに格納される。以降、PayloadLengthInfo()とPayloadMux()とを合わせて、LATMペイロードと呼ぶ。
 そこで、本変形例では、MPEG-4 AACのアクセスユニットのデータを複数のTSパケットに格納する際には、LATMヘッダとLATMペイロードとを別々のTSパケットに格納する。これにより、LATMヘッダを容易に分離することができる。
 図13Aは、LATMヘッダとLATMペイロードとのTSパケットへの格納例を示す図である。LATMヘッダとLATMペイロードとのそれぞれのデータが同一TSパケットのペイロード内に混在しないように、必要に応じてスタッフィングが行われる。例えば、アクセスユニット1のLATMヘッダが先頭のTSパケットのペイロードに格納される。このとき、LATMヘッダのサイズがTSペイロードのサイズに満たない場合には、TSペイロードの残りの領域に対してスタッフィングが行われる。なお、図13Aに示す例では、PESパケットは記載されていないが、実際には、アクセスユニットのデータはPESパケットのペイロードに格納され、PESパケットのデータがTSパケットのペイロードに格納される。
 次に、LATMヘッダが格納されたTSパケットと、LATMペイロードが格納されたTSパケットの識別方法について説明する。1アクセスユニットを1PESパケットとして格納する際には、PESパケットの先頭データを含むTSパケットにおいて、TSヘッダのpayload_unit_start_indicatorが1にセットされる。payload_unit_start_indicatorが1にセットされたTSパケットのペイロードにLATMヘッダが含まれることを保証すれば、payload_unit_start_indicatorの値に基づいて、TSパケット内にLATMヘッダが含まれるかどうかを判定することができる。複数のアクセスユニットを1つのPESパケットに格納する際には、補助情報であるAU_infoテーブルをPESパケットのペイロードの先頭に配置してもよい。このAU_infoテーブルは、PESパケットのペイロード内に含まれるアクセスユニットの個数と、各アクセスユニットにおけるLATMヘッダとLATMペイロードのサイズとを含む。
 図13Bは、AU_infoテーブルのシンタックスの一例を示す図である。
 AU_infoテーブルは、AU_info_identification_codeと、アクセスユニットの個数を示すnumber_of_AUと、アクセスユニットにおけるLATMヘッダとLATMペイロードのサイズを示すsize_of_LengthInfoとを含む。AU_info_identification_codeは、AU_infoテーブルに固有のビット列である。本コードをサーチすることで、AU_infoテーブルが存在するかどうかを判定することができる。あるいは、MP4のBox構造のように、AU_infoテーブルを、BoxのデータサイズとBoxのタイプとを組み合わせたデータ構造としてもよい。ただし、トランスポートストリームにおけるデスクリプタ、あるいは、トランスポートストリームとは別に用意されたMP4ファイルへの変換用の補助データなどによって、AU_infoテーブルの存在がシグナリングされる場合には、上述のコードを省略してもよい。また、1アクセスユニットを1PESパケットに格納する際にも、AU_infoテーブルを使用してもよい。
 このようなアクセスユニット内の各構成要素のサイズまたはデータオフセットを示すことにより、MP4ファイルへの変換のために分離されるデータを特定する手法を、MPEG-4 AVCの符号化データに対して適用してもよい。つまり、MPEG-4 AVCの符号化データをMP4ファイルに格納する際に、SPSおよびPPSのそれぞれのNALユニットを分離するために、上述の手法を適用してもよい。
 図13Cは、アクセスユニット内の構成要素毎に、MP4ファイルのサンプルデータからその構成要素を除外する必要があるかどうかを示すためのAU_infoテーブルのシンタックスの一例を示す図である。
 AU_infoテーブルは、AU_info_identification_codeと、number_of_data_unitと、size_of_data_unitと、conversion_modeとを含む。number_of_data_unitは、アクセスユニットに含まれるデータユニットの個数を示す。size_of_data_unitは、データユニットのサイズを示す。conversion_modeは、MP4ファイルへの変換時におけるデータユニットの扱い方を示す変換モードである。conversion_modeが0であれば、そのconversion_modeは、MP4ファイルのサンプルデータとしてデータユニットをコピーすることを示す。また、conversion_modeが1であれば、そのconversion_modeは、サンプルデータからデータユニットを除外すること、つまりサンプルデータとしてデータユニットをコピーしないことを示す。
 なお、conversion_modeが1である場合には、そのconversion_modeは、データユニットを除外した後のそのデータユニットの取り扱いを示してもよい。例えば、そのconversion_modeは、サンプルデータからデータユニットを除外したうえで、そのデータユニットをサンプルエントリに格納することなどを示す。
 また、複数のデータユニットのそれぞれの情報は復号順で昇順となるように格納される。例えば、MPEG-4 AVCの1アクセスユニットを1PESパケットとして格納する場合には、データユニットがNALユニットに相当し、アクセスユニットを構成するNALユニットの個数がnum_of_data_unitによって示される。そして、SPSおよびPPSのそれぞれのNALユニットに対して、conversion_modeが1にセットされる。また、LATMヘッダとLATMペイロードのそれぞれをデータユニットとみなしてもよい。この場合、LATMヘッダに対応するデータユニットに対して、conversion_modeを1にセットすることで、このAU_infoテーブルをMPEG-4 AACに対しても適用することができる。PESパケット内に複数のアクセスユニットを格納する場合には、number_of_data_unitは、PESパケット内の全アクセスユニットに含まれるデータユニットの総数を示す。
 なお、PESパケットの開始部分を含むTSパケットのヘッダ(図3のTS Header)のadaptation_field内に、AU_infoテーブルを格納してもよい。MPEG-4 AVCまたはHEVCにおけるNALユニットあるいはSEI(Supplemental Enhancement Information)などの符号化データの一部として、AU_infoテーブルを格納してもよい。AU_infoテーブルを符号化データの一部として格納する際には、アクセスユニット毎あるいはランダムアクセス毎にAU_infoテーブルを格納することができる。また、AU_infoテーブルをTSパケットまたはPESパケットに格納する場合にも、PESパケット毎にAU_infoテーブルを格納してもよく、ランダムアクセスユニット内の復号順で先頭となるアクセスユニットを含むPESパケットにのみAU_infoテーブルを格納してもよい。ランダムアクセスユニット毎にAU_infoテーブルを格納する場合には、AU_infoテーブルには、ランダムアクセスユニットを構成する全てのアクセスユニットに関する情報が格納される。
 図14は、本変形例に係るファイル生成装置の構成を示すブロック図である。
 本変形例に係るファイル生成装置100は、AU_infoテーブルを含むトランスポートストリームをMP4ファイルに変換することによって、そのMP4ファイルを生成する。このファイル生成装置100は、補助情報サーチ部101と、補助情報解析部103と、生成部104とを備える。補助情報サーチ部101は、トランスポートストリームから補助情報であるAU_infoテーブルをサーチする。補助情報解析部103は、そのサーチ結果に基づいて、AU_infoテーブルが存在するか否かを判定する。さらに、補助情報解析部103は、AU_infoテーブルが存在すると判定すると、そのAU_infoテーブルを解析する。生成部104は、補助情報解析部103による解析結果に基づいてMP4ファイルを生成する。
 生成部104は、具体的には、サンプル生成部104aとサンプルエントリ生成部104bとを備える。サンプル生成部104aは、LATMペイロードのデータ、またはSPSおよびPPS以外のNALユニットなどを、サンプルデータとしてMP4ファイルのmdatに格納する。サンプルエントリ生成部104bは、LATMヘッダのデータ、またはSPSおよびPPSのそれぞれのNALユニットなどを、MP4ファイルのmoov内のstsdにおけるサンプルエントリに格納する。
 このようなファイル生成装置100によって、上述のAU_infoテーブルを含むトランスポートストリームをMP4ファイルに簡単に変換することができる。
 上述のように、MPEG2-TSとMP4とでは、オーディオまたはビデオの符号化データを格納する際に、復号時に必要となる初期化情報の格納場所が異なる。さらに、MPEG2-TSとMP4とでは、MPEG-4 AVCまたはHEVCにおけるNALユニットの格納フォーマットが異なる。したがって、トランスポートストリームからMP4ファイルへの変換には、格納フォーマットの変換が必要である。以下、図15Aから図15Cを用いて、MPEG2-TSとMP4におけるNALユニットの格納フォーマットについて説明する。
 図15Aは、NALユニットの概略構造を示す図である。
 NALユニットは、ヘッダとペイロードとから構成される。そのヘッダには、ペイロードに格納されるデータの種別を示すタイプ情報が格納されている。
 図15Bは、MPEG2-TSにおけるNALユニットの格納フォーマットの例を示す図である。MPEG2-TSにおいては、NALユニットの境界を識別するために、スタートコードと呼ばれる固有のビット列が識別情報としてNALユニットに付加される(以降、このような識別情報の形式をスタートコード形式と呼ぶ)。復号装置などは、そのスタートコード、及び、NALユニットのヘッダに格納されているタイプ情報をサーチすることで、所望のNALユニットを分離することができる。
 図15Cは、MP4におけるNALユニットの格納フォーマットの例を示す図である。MP4においては、NALユニットの境界を識別するために、NALユニットのデータサイズを識別情報として示すフィールドがNALユニットに付加される(以降、このような識別情報の形式をNALサイズ形式と呼ぶ)。ここで、データサイズを示すフィールドのフィールド長は、サンプルエントリ内におけるAVCDecoderConfigurationRecordの中に格納される。AVCDecoderConfigurationRecordは、復号時の初期化情報などが格納される領域である。復号装置などは、NALユニットのデータサイズに基づいて所望のNALユニットを分離することができる。
 以上のように、MPEG2-TSとMP4とでは、NALユニットの境界を示す識別情報の形式が、スタートコード形式であるか、NALサイズ形式であるかという点についても異なる。したがって、トランスポートストリームをMP4ファイルへ変換する際には、NALユニットの境界を示す識別情報を変換する必要がある。なお、NALユニットの格納フォーマットは符号化方式毎に規定されるため、オーディオまたはビデオの符号化方式を参照して、MP4ファイルへの変換の動作を切替えればよい。
 MP4ファイルに変換する際に、NALサイズ形式の符号化方式のデータを扱う場合には、NALユニットのデータサイズが必要となる。したがって、アクセスユニットを構成するNALユニットのデータサイズが予め取得できることが望ましい。こうすることで、スタートコード形式のアクセスユニットにおいてスタートコードをサーチし、NALユニット境界を検出することによって、NALユニットのデータサイズを決定する際の処理量を削減することができる。
 つまり、本変形例におけるトランスポートストリームにおけるアクセスユニットの先頭には、そのアクセスユニットに含まれる各NALユニットのデータサイズを示すサイズ情報が格納されている。
 図16Aは、本変形例に係るトランスポートストリームにおけるアクセスユニットの構成例を示す図である。この図16Aに示すように、トランスポートストリームに多重化されるアクセスユニットを構成する各NALユニットのデータサイズを示すサイズ情報が、アクセスユニットの先頭に格納されている。例えば、このサイズ情報は、新規に定義されたサイズ情報NALユニットに格納される。NALユニットのタイプには、プライベート用およびユーザーデータ用が存在する。そこで、これらの中からいずれかのタイプを選択し、その選択されたタイプのNALユニットをサイズ情報NALユニットとして使用する。サイズ情報については暗号化の必要がないため、このサイズ情報NALユニットは平文で格納される。
 図16Bは、サイズ情報NALユニットに含まれるサイズ情報のシンタックスの一例を示す図である。サイズ情報は、number_of_naluおよびnal_sizeを含む。number_of_naluはアクセスユニットを構成するNALユニットの個数を示し、nal_sizeによって各NALユニットのデータサイズが示される。サイズ情報NALユニットはMP4ファイルには格納されないため、サイズ情報は、サイズ情報NALユニット自体のデータサイズを示さなくてもよい。なお、図16Aに示す例では、サイズ情報NALユニットは、Access Unit Delimiter(AUD)と呼ばれるアクセスユニットの先頭をシグナリングするためのNALユニットの前に配置されているが、AUDの直後に配置されてもよい。AUDの直後にサイズ情報NALユニットを配置する場合には、サイズ情報NALユニットのサイズ情報は、AUDの後の各NALユニットのサイズを示す。そのため、サイズ情報はAUDのデータサイズを示さない。しかし、AUDのデータサイズは固定であるため、ファイル生成装置100はそのデータサイズを予め記憶しておけばよい。また、AU_infoテーブルと同様に、サイズ情報をPESパケットのペイロードの先頭に配置してもよい。
 図16Cは、サイズ情報NALユニットに含まれるサイズ情報のシンタックスの他の例を示す図である。
 図16Aに示すように、トランスポートストリームにおけるNALユニットの前には、スタートコードに加えて、zero_byteなど可変長のコードが含まれることがある。したがって、図16Cに示すように、NALユニットのスタートコードを含む識別情報のデータサイズ(図16Cに示すprefix_size)をサイズ情報に格納してもよい。なお、識別情報のデータサイズが固定であれば、MPEG2-TSのデスクリプタ、またはMP4ファイルへの変換時の補助データに、その識別情報のデータサイズを格納してもよい。さらに、NALサイズ形式では、MP4ファイルへの変換後のNALユニットのデータサイズを示すフィールドのフィールド長も示してもよい。
 また、識別情報をデータユニットとみなし、AU_infoテーブルによってNal_size_infoの内容を示してもよい。このとき、conversion_modeを多値とすることにより、データユニットを削除する、そのまま残す、の2つの動作に加えて、データユニットのデータ構造を変換するというモードを追加してもよい。さらに、AU_infoテーブルに、データユニットの種類を識別するための識別情報を追加してもよい。例えば、このような識別情報によって、MPEG-4 AVCまたはHEVCにおけるSPSのNALユニット、PPSのNALユニットあるいはスライスのNALユニットなど、NALユニットのタイプを判別することができる。あるいは、MPEG-4 AACのLATMヘッダまたはLATMペイロードなどを判別することなどが可能である。さらに、データユニットが暗号化されているかどうかを示すフィールドを別途設けてもよい。
 conversion_modeが異なるデータユニットを、異なるTSパケットに格納してもよい。また、conversion_modeが2である場合に、ヘッダ情報としてサンプルエントリに格納されるデータユニットを平文としてTSパケットに格納しておいてもよい。
 暗号化については、スライスデータのNALユニットのみを暗号化し、それ以外の部分は平文としてもよい。暗号化はTSパケット単位で行われるため、TSパケットのペイロードにおいて平文と暗号化部分とは混在できず、AUDなどはデータサイズが小さく、AUDを独立したパケットとして格納するとスタッフィングが増加して多重化効率が低下するためである。また、暗号化されたスライスのNALユニットデータの境界がTSパケットのペイロードの終端にアラインされない場合には、スタッフィングが必要となる。スタッフィングを行う場合には、TSパケットヘッダのadaptation_fieldを用いるか、符号化データに、Filler Data NALユニット、またはFiller Data用のSEIなどを挿入する方法がある。TSパケットヘッダのadaptation_fieldを用いる場合には、adaptation_fieldは平文にする必要があるが、可変長の領域に対して暗号化するか否かの処理を切替えることは負荷が高い。したがって、スタッフィングを行う際には、符号化データにおけるスタッフィング用のデータ構造を用いて、NALユニットデータの境界がTSパケットのペイロード終端にアラインさせることが望ましい。
 また、TSパケットのAdaptation field、あるいは、アクセスユニット内に、ユーザーデータ格納用のSEI(User unregistered SEI)を挿入して、そのSEIにサイズ情報を格納してもよい。MP4ファイルに変換する際には、これらのいずれか1つ以上の方法により格納されたNALユニットのサイズ情報に基づいて、スタートコード形式をNALサイズ形式に変換することができる。また、サイズ情報が格納されているかどうかを示す情報を、MPEG2-TSにおけるデスクリプタなどを用いて格納してもよい。
 図17は、本変形例に係るファイル生成装置100がMP4ファイルを生成する処理動作を示すフローチャートである。具体的には、このフローチャートは、図13Cに示すAU_infoテーブルを参照してトランスポートストリームをMP4ファイルに変化する処理動作の例を示す。
 ファイル生成装置100の補助情報サーチ部101は、PESパケットのペイロードの先頭などに配置されるAU_infoテーブルをサーチする(ステップS101)。次に、補助情報解析部103は、そのサーチの結果に基づいて、AU_infoテーブルが存在するかどうかを判定する(ステップS102)。ここで、AU_infoテーブルが存在すると判定されると(ステップS102の「はい」)、補助情報解析部103は、AU_infoテーブルに含まれている、各データユニットのデータサイズと、その各データユニットの変換モードとを取得する(ステップS103)。一方、AU_infoテーブルが存在しないと判定されると(ステップS102の「いいえ」)、生成部104のサンプル生成部104aは、PESパケットから分離されたアクセスユニットをデータユニットとみなし、そのデータユニットをサンプルデータとしてコピーしてmdatに貼り付ける(ステップS105)。1アクセスユニットが1PESパケットに格納されている場合には、サンプル生成部104aは、PESパケットのペイロードを1アクセスユニット分のデータとみなして分離する。複数アクセスユニットが1PESパケットに格納されている場合、あるいは、アクセスユニットがフラグメント化されてPESパケットに格納されている場合には、サンプル生成部104aは、符号化データにおける各アクセスユニットの境界をサーチしてそれらのアクセスユニットを分離する。
 ステップS103の後、補助情報解析部103は、変換モードが0であるか否かを判定する(ステップS104)。変換モードが0であると判定されると(ステップS104の「はい」)、サンプル生成部104aは、その変換モードに対応するデータユニットをサンプルデータとしてコピーしてmdatに貼り付ける(ステップS105)。一方、変換モードが0ではないと判定されると(ステップS104の「いいえ」)、補助情報解析部103は、その変換モードが1であるか否かを判定する(ステップS106)。ここで、変換モードが1であると判定されると(ステップS106の「はい」)、サンプル生成部104aは、その変換モードに対応するデータユニットのデータ構造を変換し、変換後のデータ構造を有するデータユニットをサンプルデータとしてmdatに格納する(ステップS107)。例えば、サンプル生成部104aは、NALユニット境界の識別情報の形式をスタートコード形式からNALサイズ形式に変換する。一方、変換モードが1ではなく2であると判定されると(ステップS106の「いいえ」)、サンプルエントリ生成部104bは、その変換モードに対応するデータユニットをmdatに格納することなく、データユニットの少なくとも一部のデータをサンプルエントリに格納する(ステップS108)。例えば、サンプルエントリ生成部104bは、MPEG-4 AVCにおけるSPSおよびPPSのそれぞれのNALユニットをサンプルエントリに格納する。あるいは、サンプルエントリ生成部104bは、MPEG-4 AACのLATMヘッダからAudioSpecificConfig()を分離してサンプルエントリに格納する。データユニットのデータのうち、サンプルエントリに格納される部分については、符号化方式に予め規定されるが、サンプルエントリへの格納部分を特定するための補助データをAU_infoテーブル内に示してもよい。
 (変形例1-3)
 上記実施の形態におけるコピーマニフェストファイルに記述される、ストリームファイルのコピー開始位置を示すアドレスは、ストリームファイルの先頭からの絶対値ではなくてもよい。例えば、コピー開始位置を示すアドレスは、直前のエントリのコピー開始位置を示すアドレスからの差分値であってもよい。
 図7に示すストリームファイルAに含まれる2番目のエントリは、(コピー開始位置のアドレス,コピーサイズ)=(577,180)ではなく、(コピー開始位置のアドレス,コピーサイズ)=(367,180)のように記述される。また、コピー開始位置のアドレスとコピーサイズの記述方法としては、例えば以下の3通り(モード1~3)が可能である。
 モード1では、ストリームファイルと差分ファイルから交互にデータをコピーする。例えば、コピーされるデータの範囲は(コピー開始位置のアドレス,コピーサイズ)として記述され、各フィールドのビット長は例えば(int32,int8)である。
 モード2では、コピーサイズが0である場合には、コピーをスキップする。同一ファイルから連続してデータをコピーできるため、モード1と比較してアドレスのデータ長を短くすることができる。例えば、コピーされるデータの範囲は、(コピー開始位置のアドレス,コピーサイズ)として記述され、各フィールドのビット長は例えば(int16,int8)である。
 モード3では、モード2においてコピーサイズを明示的に示すのではなく、アドレスによって示されるTSパケットのペイロードの最終までのデータをコピーする。コピーサイズのフィールドは省略される。また、アドレスを指定する代わりに、ストリームファイルにおけるTSパケットのインデックス番号の差分値を用いてもよい。例えば、コピーされるデータの範囲は、(パケット番号、コピーモード)として記述され、各フィールドのビット長は例えば(int7,int1)である。コピーモードは、コピーをスキップするかどうかを示す。
 図18は、モード2を使用した場合のアドレス指定の具体例を示す図である。
 図18に示すように、コピー開始位置である開始位置1と開始位置2はそれぞれ210バイト目と91428バイト目である。アドレスの差分値のフィールド長を16bitとすると、フィールド長の最大値は65535であるため、そのアドレスの差分値を1つのエントリでは表現できない。そこで、開始位置1から開始位置2までジャンプする場合には、(65535,0)と(25683,180)の2つのエントリを用いる。こうすることで、開始位置2までジャンプしてから180バイトのデータを取得することができる。
 図19は、コピーサイズの上限値を超える連続領域を読み出す例を示す図である。
 この場合は、(255),(0,0),(182)のように記述することで、差分ファイルにおける領域1と領域2を連続的にコピーすることができる。
 なお、コピー開始位置を示すアドレスまたはコピーサイズは、1バイト単位ではなく、4バイト単位で記述してもよい。また、各エントリにおいて、差分ファイルとストリームファイルとのどちらのファイルからコピーするかを示す識別情報を別途設けることで、両ファイルのエントリを交互に記述するのではなく、一方のファイルに対するエントリを連続して記述できるようにしてもよい。
 ここまでは、MPEG2-TSのファイルからデータをコピーしてMP4ファイルを生成する処理を説明したが、TSパケットに多重化されたPESパケットのペイロードから分離されたエレメンタリーストリームに基づいてデータをコピーしてもよい。
 図20は、エレメンタリーストリームからデータをコピーしてMP4ファイルを生成する処理を説明するための図である。
 MPEG2-TSのファイルでは、188バイト、あるいは、BD(Blu-ray(登録商標)ディスク)などにおいて用いられるタイムスタンプ付TSの192バイトのパケット毎に、コピー情報が必要になる。したがって、ビットレートが高いコンテンツでは、TSパケットの数が増大し、コピーマニフェストファイルのサイズが増加する。そこで、MPEG2-TSのファイルから分離されたエレメンタリーストリームを用いることにより、フレーム単位、あるいは、HEVCまたはAVCにおけるNALユニットなどの単位で、データのコピーが可能となる。その結果、コピーマニフェストファイルの“COPY MANIFEST”に含まれるエントリ数を大幅に削減することができる。例えば、ビデオを多重化したMPEG2-TSのファイルのサイズが10GBであり、TSパケットのサイズが192バイトである場合、パケット数は55924053個となり、同数のエントリが必要となる。一方で、このビデオの再生時間長が2時間で、フレームレートが30Hzであれば、フレームの総数は216000枚となる。したがって、フレームごとにエントリを生成する場合には、パケットごとにエントリを生成する場合に比べてエントリ数を大幅に低減できる。また、MPEG2-TSのファイルがAACS(Advanced Access Content System)とBD+によって2重に暗号化されており、BD+によってデータがインタリーブして再配置されるようなケースがある。このようなケースにおいても、暗号化を解いて符号化ストリームを分離した後であれば符号化ストリームを構成するデータの順序は一意に決定できるため、本手法によるコピー動作が可能である。
 エレメンタリーストリームからデータをコピーする場合、エレメンタリーストリームは複数存在するため、それらの識別情報が必要となる。“COPY MANIFEST”では、上述のモード1またはモード2に対応して以下のような記述が可能である。ここで、コピー開始位置のアドレスは、直前のエントリからの差分値によって示される。
 モード1では、エントリは(ファイルID,コピー開始位置のアドレス,コピーサイズ)から構成される。各フィールドのビット長は例えば(int4,1バイト単位でint22,int22)である。ファイルIDは、コピーされるデータを含むファイルの識別情報であり、例えば、ファイルIDとして0が差分ファイルに割り当てられ、1以上の値がエレメンタリーストリームのファイルに割り当てられる。解像度が4KのHEVCまたはAVCの符号化データにおいては、Minimum Compression Ratioを4とすると1フレームの最大サイズは約4Mバイトである。符号化ストリームからデータをコピーする場合、コピー開始位置のアドレスの差分値の最大値は1フレームの最大サイズとしてもよく、4Mバイトは22ビットで表現できる。このとき、コピーサイズとしても1フレームの最大サイズを表現するために22ビットとしている。
 モード2では、エントリは(ファイルID、コピー開始位置のアドレス、コピーサイズ)から構成される。各フィールドのビット長は例えば(int4、1バイト単位でint12、int16)である。なお、AVCまたはHEVCでは、NALユニットのヘッダをスタートコード形式からNALサイズ形式に変換する必要があり、NALユニットのペイロード単位でデータをコピーする必要がある。そのため、コピー開始位置のアドレスのフィールドが設けられているが、TS内のエレメンタリーストリームをそのままコピーできる場合には、コピー開始位置のアドレスのフィールドを省略してもよい。あるいは、1つのエントリがNALユニット全体を示すこととし、コピー後にNALユニットのヘッダをNALサイズ形式に変換してもよい。このときも、データを連続的に読み出すことができるため、コピー開始位置のアドレスは不要である。
 (実施の形態2)
 BD-ROM規格では、複数のMPEG2-TSのファイルをプレイリストから参照して連続的に再生することができ、ファイルの境界におけるストリームの制約条件なども規定されている。例えば、複数のファイルあるいは再生区間がシームレスに接続される場合には、接続対象となる2本のオーディオの再生区間をオーバーラップさせてもよい。
 MP4においても、プレイリストを用いて連続再生される複数のMP4ファイルを指定することは可能であり、また、同様の制約条件を加えることが想定される。
 図21は、連続して再生される2つのMP4ファイルにおけるオーディオとビデオの再生区間の例を示す図である。この図21に示すように、オーディオの再生区間はオーバーラップする。しかしながら、MP4におけるDTS(Decode TimeStamp)またはPTSは、ファイル内の先頭サンプルのDTSを基準(=0)とした相対時刻によって表現され、絶対時刻で表現できない。したがって、再生区間が互いにオーバーラップする2つのMP4ファイル(XXX1.MP4とXXX2.MP4)を連続して再生すると、XXX1.MP4の最終サンプルの直後にXXX2.MP4の先頭サンプルが再生される。その結果として、それぞれのオーバーラップ部分が連続して再生されることになる。
 そのため、本実施の形態では、XXX1.MP4とXXX2.MP4の再生区間がオーバーラップしているかどうか、あるいは、オーバーラップしている再生区間を示す情報をプレイリスト、あるいは、MP4ファイル内に格納する。図21に示す例では、プレイリスト内のプレイアイテムが参照するMP4ファイルにおけるオーディオとビデオのそれぞれの先頭サンプルのPTSと最終サンプルの再生終了時刻とが記述される。また、MP4ファイルのmoov内に、MP4ファイルの先頭サンプルのDTSまたはPTSの絶対時刻を格納してもよい。あるいは、moofまたはtrafに、Movie fragmentの先頭サンプルまたはMovie fragment内のトラック毎の先頭サンプルの、DTSまたはPTSの絶対時刻を格納してもよい。
 例えば、XXX1.MP4とXXX2.MP4において、ビデオの再生区間はオーバーラップもギャップも無く、PTSが連続することが保証される。この場合、オーディオあるいはテキストについてのみ、オーバーラップに関する情報を示せばよい。XXX2.MP4のビデオの先頭サンプルのPTSをT0とすると、XXX2.MP4におけるオーディオの先頭サンプルのPTSとT0とのオフセット値、あるいは、XXX1.MP4のオーディオの最終サンプルの再生終了時刻とT0とのオフセット値を格納してもよい。また、XXX1.MP4の最終オーディオサンプルの再生終了時刻とXXX2.MP4の先頭サンプルのPTSとのオフセット値をXXX2.MP4に格納してもよい。再生装置は、オーバーラップに関するこれらの情報に基づいて、出力するオーディオサンプルの選択や合成などを行う。なお、ビデオの再生区間をオーバーラップさせてもよいし、オーディオまたはビデオの再生区間をオーバーラップさせるのではなく、ギャップを設けてもよい。
 図21に示す例では、プレイリストを用いて複数のファイルが連続再生されるが、本実施の形態では、連続して再生される再生区間を統合して1つのMP4ファイルを生成してもよい。
 図22Aは、再生区間を統合して1つのMP4ファイルを生成する方法を説明するための図である。
 本実施の形態では、図22Aに示すように、例えば再生区間1と再生区間2を統合してXXX3.MP4を生成する。再生区間1のオーディオは、例えば、サンプル1-1からサンプル1-100までの100個のサンプルから構成される。再生区間2のオーディオは、例えば、サンプル2-1からサンプル2-100までの100個のサンプルから構成される。以下、オーディオを例に説明する。
 まず、再生区間1と再生区間2のそれぞれの再生区間にオーバーラップもギャップも存在しなければ、XXX3.MP4のオーディオトラックには、サンプル1-1からサンプル1-100に続いて、サンプル2-1からサンプル2-100が格納され、再生時には、各サンプルが順に再生される。次に、サンプル1-100とサンプル2-1の再生区間がオーバーラップする場合について説明する。サンプル1-100とサンプル2-1の再生区間(開始時刻:PTS、終了時刻:PTS+再生時間長)が同一である場合には、サンプル2-1を削除してXXX3.MP4のオーディオトラックを構成する。これにより、サンプル間のオーバーラップは解消される。これは、再生区間1に含まれる複数のサンプルの再生区間と、再生区間2に含まれる複数のサンプルの再生区間とがオーバーラップする場合も同様である。
 一方、サンプル1-100とサンプル2-1の再生区間がオーバーラップし、かつ、それぞれのサンプルの再生区間が同一ではない場合には、サンプルの削除によっては対応できない。
 そこで、オーバーラップがある場合、XXX3.MP4のオーディオトラックにはサンプル1-100とサンプル2-1を共に格納した上で、オーバーラップした再生区間を示す情報を格納する。オーバーラップしている再生区間の時間長をΔTとする。この場合、例えば、再生区間1の最終サンプルと再生区間2の先頭サンプルが互いに異なるムービーフラグメントとされ、ΔTをmoofのtraf内などに格納する。このΔTは、再生区間2に含まれるムービーフラグメントにおけるオーディオトラックの先頭からΔTの再生区間が、直前のムービーフラグメントのオーディオトラックの再生区間とオーバーラップすることを示す。
 ギャップが存在する場合には、MP4におけるエディットリストの機能または、ムービーフラグメントにおけるduration-is-empty flagのセットなどによって、ギャップ区間に対応する無再生区間を生成する。
 また、オーバーラップ区間(オーバーラップしている再生区間)またはギャップ区間(ギャップが存在する区間)を、MP4ヘッダにおけるメタデータまたは外部ファイルに示してもよい。なお、オーバーラップ区間を含むMP4よりも、ギャップ区間を含むMP4のほうが、従来のMP4との親和性が高い。したがって、互いにオーバーラップ区間を含む再生区間を統合してMP4ファイルを生成する際には、例えば、図22Aの再生区間2において、オーバーラップ区間の少なくとも一部を含むサンプルを削除する。その上で、ギャップが発生した場合には、無再生区間を生成する。この方法は、オーディオだけでなく、ビデオや字幕などに対しても適用できる。また、削除が必要であるかどうか、及び、削除が必要なサンプル、削除した結果発生するギャップの時間長などを示す情報を、コピーマニフェストなどの補助情報として格納してもよい。
 このようなMP4ファイルを再生する再生装置は、MP4ファイル内に含まれるオーバーラップ区間などの情報に基づいて、そのオーバーラップ区間のオーディオデータを再生する。つまり、再生装置は、再生対象のオーディオデータがオーバーラップ区間のデータであれば、例えば、オーバーラップしているそれぞれの再生区間のデータを含むオーディオサンプルの復号結果を合成する。そして、再生装置は、その合成された復号結果を出力する。また、連続して再生される再生区間を統合する際には、統合対象の再生区間においてオーバーラップ区間やギャップ区間が存在するかどうかを識別する必要がある。そこで、オーバーラップ区間などの有無、及び、その時間長を示す情報を、補助情報として光ディスク内、あるいは、インターネットなどから取得してもよい。
 図22Bは、本実施の形態におけるファイル生成装置のブロック図である。
 本実施の形態におけるファイル生成装置20は、MP4ファイルを生成するファイル生成装置であって、統合部21および格納部22を備えている。統合部21は、2つのストリームが連続して再生されるようにその2つのストリームを統合することによって1つのMP4ファイルを生成する。格納部22は、その2つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成されたMP4ファイルに格納する。例えば、上述の2つのストリームは、図22Aに示す再生区間1および再生区間2であって、生成されるMP4ファイルは、図22Aに示す“XXX3.MP4”のファイルである。さらに、2つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間は、例えば、図22Aに示すΔTの区間である。
 図22Cは、本実施の形態におけるファイル生成方法のフローチャートである。
 本実施の形態におけるファイル生成方法は、MP4ファイルを生成するファイル生成方法であって、ステップS21およびステップS22を含む。ステップS21では、2つのストリームが連続して再生されるようにその2つのストリームを統合することによって1つのMP4ファイルを生成する。次に、ステップS21では、その2つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成されたMP4ファイルに格納する。ここで、ステップS21では、それぞれMP4のファイルフォーマットで構成されている元ファイルの少なくとも一部である2つのストリームを統合する。また、ステップS21では、それぞれオーディオのデータを含む2つのストリームを統合する。
 これにより、本実施の形態では、MP4ファイルには、オーバーラップの区間を示す情報が格納されている。したがって、そのMP4ファイルを再生する再生装置は、その情報を用いて、MP4ファイルから、オーバーラップの区間のデータを容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを合成するなどによってそのデータを適切に再生することができる。つまり、オーバーラップの再生に適したMP4ファイルを生成することができる。
 また、ステップS21では、2つのストリームのうちの何れか一方のストリームに含まれる複数のサンプルにわたって上述の区間が存在する場合、その複数のサンプルのうちの少なくとも1つを削除した後に、2つのストリームを統合する。これにより、サンプルが削除されるため、オーバーラップの区間を短くすることができる。その結果、オーバーラップの区間に対する再生装置による特別な処理の負担を軽減することができる。
 また、ステップS22では、上述の区間の時間長を示す時間情報を上述の情報としてMP4ファイルに格納する。つまり、上述のΔTを示す時間情報をMP4ファイルに格納する。これにより、MP4ファイルを再生する再生装置は、その情報を用いて、オーバーラップの区間の時間長を容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを合成するなどによって、特定された時間長内でそのデータを適切に再生することができる。
 また、ステップS22では、MP4ファイルにおけるmoof内のtrafにその時間情報を格納する。これにより、再生装置は、格納されている時間情報を適切に取得することができる。
 また、本実施の形態におけるファイル生成方法では、上述の情報を保持している装置から、インターネットなどの通信ネットワークを介してその情報を取得してもよい。あるいは、上述の情報を記録している光ディスクからその情報を取得してもよい。これにより、わざわざオーバーラップの区間を示す情報を生成することなく、MP4ファイルにその情報を簡単に格納することができる。
 図22Dは、本実施の形態における再生装置のブロック図である。
 本実施の形態における再生装置30は、MP4ファイルを再生する再生装置であって、抽出部31および合成部32を備えている。抽出部31は、再生対象のコンテンツ(例えばオーディオトラック)において再生のタイミングがオーバーラップする2つの区間を示す情報をMP4ファイルから抽出する。合成部32は、抽出された情報に基づいてそのコンテンツにおける2つの区間を特定し、その2つの区間のそれぞれのデータに対する復号結果を合成して出力する。
 図22Eは、本実施の形態における再生方法のフローチャートである。
 本実施の形態における再生方法は、MP4ファイルを再生する再生方法であって、ステップS31およびステップS32を含む。ステップS31では、再生対象のコンテンツ(例えばオーディオトラック)において再生のタイミングがオーバーラップする2つの区間を示す情報をMP4ファイルから抽出する。次に、ステップS32では、抽出された情報に基づいてそのコンテンツにおける2つの区間を特定し、その2つの区間のそれぞれのデータに対する復号結果を合成して出力する。
 これにより、再生装置は、MP4ファイルから、オーバーラップの区間のデータを容易に特定することができる。その結果、再生装置は、そのオーバーラップの区間のデータを適切に再生することができる。
 また、本実施の形態における記録媒体は、MP4ファイルを記録している記録媒体である。そのMP4ファイルは、コンピュータに読み出されて再生されるコンテンツ(例えばオーディオトラック)と、そのコンテンツにおいて再生のタイミングがオーバーラップする2つの区間を示す情報とを含む。これにより、記録媒体からそのMP4ファイルを読み出して再生する再生装置は、その情報を用いて、MP4ファイルから上述の2つの区間のデータを容易に特定することができる。その結果、再生装置は、それらの区間のデータを合成するなどによってそのデータを適切に再生することができる。
 (実施の形態3)
 図23Aは、光ディスクに格納されたコンテンツからMP4ファイルを生成する場合のメニュー画面の一例を示す図である。図23Bは、光ディスクおよびネットワークを利用したMP4ファイルの生成方法を説明するための図である。
 光ディスク内には、複数言語のオーディオや字幕が格納されており、MP4ファイルの生成時には、MP4ファイルに格納する言語を選択することができる。本例においては、ディスク内に格納される日本語、英語、スペイン語、および中国語から、オーディオ、字幕のそれぞれに対して、日本語と英語とが選択されている。ここで、オーディオあるいは字幕におけるサンプルのサイズが言語毎に異なると、コピーマニフェストファイルの内容はサンプルのサイズに依存する。このため、オーディオまたは字幕における選択言語の組合せに比例してコピーマニフェストファイルの種類が増加する。したがって、MP4ファイルには、常に全言語のオーディオと字幕のデータを格納して、ユーザーが選択した言語を示す情報をさらに格納しておき、再生時には、ユーザーの所望の言語を選択可能としてもよい。こうすることで、コピーマニフェストファイルは選択言語に依らず同一にすることができる。あるいは、各言語の1つだけを格納するケース、及び、全言語を格納するケースの2つのケースに対応するコピーマニフェストファイルを用意しておいてもよい。また、MP4ファイルを再生する機器におけるサポートの有無などに応じて、AACまたはAC3などのオーディオの符号化方式を選択できるようにしてもよい。あるいは、全ての符号化方式のオーディオデータをMP4ファイルに格納してもよい。全ての符号化方式のオーディオデータを格納する場合、再生時には、ユーザーの選択操作、あるいは、再生装置のプリセット情報などに基づいて、符号化方式が選択される。
 あるいは、MP4ファイルの生成時には言語の選択を行わずに、全ての言語のオーディオと字幕を格納しておき、再生時にユーザーが選択してもよい。また、図23Bに示すように、コピーマニフェストファイルをネットワーク経由で取得できるようにしておけば、コピーマニフェストファイルを光ディスクに格納する必要がない。特に、任意の言語を選択可能とするなどのために、コピーマニフェストファイルの個数が増加する場合において、ネットワーク経由での取得は有効である。デフォルトの言語組合せに対応するコピーマニフェストファイルのみ光ディスクに格納しておき、その他の組合せに対応するコピーマニフェストファイルはサーバからダウンロードしてもよい。また、光ディスク、あるいは、ネットワークから取得可能な言語のオーディオまたは字幕と、MP4ファイル内に含まれるオーディオまたは字幕の言語とを、それぞれ取得しておき、MP4ファイル内に含まれない言語のうち、外部から取得可能な言語をユーザーが選択して取得してもよい。
 あるいは、外部から取得可能なオーディオのリストをMP4ファイル内などに格納しておく。そして、MP4ファイルの再生時に、再生装置がMP4ファイル内のオーディオの符号化方式を復号できない場合には、再生装置がサポートする符号化方式のオーディオを選択して、外部から取得してもよい。このとき、外部から取得するデータは、字幕またはオーディオのみを含む符号化データ、あるいは、MP4ファイルであってもよい。このとき、再生時には元々のMP4ファイルに含まれるビデオなどと、新規に取得したデータとを同期再生する。または、ビデオ、オーディオ、および字幕を全て含む完全なMP4ファイルを外部から取得してもよい。
 また、光ディスクに格納されるコンテンツがMPEG2-TSのファイルではなく、MP4ファイルであってもよい。この場合には、変換処理を行わずに、光ディスク内に格納されたMP4ファイルのデータを、デバイスバインドあるいはメディアバインドされた記録媒体または機器に対して、そのままコピー、あるいは、エクスポートしてもよい。コピーあるいはエクスポート時には、コンテンツを暗号化する鍵を変更してもよい。BDプレーヤなどのMP4ファイルを生成する機器では、光ディスク内のコンテンツがMPEG2ーTS形式あるいはMP4形式のどちらであるかを、データ形式の識別情報などに基づいて判断することによって、MP4ファイルに変換する必要があるかどうかを判定して、MP4ファイルを生成してもよい。あるいは、コピーマニフェストファイルなどの補助情報において、MP4への変換が必要であるかどうかを示す情報を示してもよい。また、光ディスクに格納されるコンテンツがMP4形式であっても、コンテンツ内の特定言語のオーディオまたは字幕、あるいは、劇場公開版またはディレクターズカット版などの種別をユーザーが選択してもよい。そして、選択結果に基づいて光ディスク内のMP4ファイルから選択されたデータのみを抽出してMP4ファイルを生成してもよい。
 ここで、図7を用いて説明したように、出力されるMP4ファイルの多重化単位を特定するための情報をコピーマニフェストファイルに示すことによっても、ファイルサイズを削減でき、コピーマニフェストファイルの個数が多い場合には有効である。このとき、コピーマニフェストに示される情報としては、MP4ファイルにおけるムービーフラグメントの単位を一意に決定でき、かつ、言語に依存しない情報を用いることができる。その情報は、例えば、ムービーフラグメントの先頭となるサンプルのPTSあるいはDTS、または、サンプルデータが取得されるMPEG2-TSのファイルの識別情報などである。ここで、MP4ファイルのサンプルのサイズが異なると、MP4ファイルのヘッダ情報のうち、moov内のstbl内に含まれるBox、またはmoof内のtrunなどの内容が異なる。このため、異なる言語に対して共通に用いることができるコピーマニフェストファイルにおいては、MP4ファイルのヘッダ情報を含めることができない。したがって、MP4ファイルに変換する際には、コピーマニフェストファイルに基づいてムービーフラグメントの単位を決定すると共に、MP4ファイルのヘッダ情報を、サンプル毎のPTSあるいはDTS、または、サンプルのサイズなどに基づいて生成する。
 サンプル毎のPTS、DTSまたはサイズを取得する際には、MPEG2-TSに多重化された、あるいは、多重化されずに別領域に格納されたオーディオ、ビデオまたは字幕などのデータから、アクセスユニットの境界をサーチする必要がある。または、PESパケットヘッダを解析するなどの処理が必要となる。これらの必要とされる処理負荷は、ビットレートの高いビデオに対しては高い。従って、少なくともビデオに対しては、アクセスユニット(MP4ファイルのサンプルに相当)を構成するNALユニットのサイズ、及び、PTSまたはDTSを示す情報をコピーマニフェストに格納してもよい。
 図24は、NALユニットのサイズ、PTSおよびDTSを示すコピーマニフェストの一例を示す図である。
 コピーマニフェストには、アクセスユニットごとに、そのアクセスユニットを構成する各NALユニットのサイズ、PTSおよびDTSを示す情報が格納されている。これらの情報により、ビデオストリームをサーチする処理を大幅に低減することができる。さらに、サイズ情報を用いて、MPEG2-TSのスタートコード形式をMP4のNALサイズ形式に変換できるという利点もある。サイズ情報は、スタートコード部分のサイズとNALユニット部分のサイズとを別々に示してもよい。NALユニットのサイズを示すフィールドのバイト長とNALサイズ形式におけるサイズ部分のバイト長とを同一としてもよい。これにより、スタートコード部分のデータをNALユニット部分のサイズを示すデータで置き換えることにより、NALサイズ形式に変換できる。なお、このスタートコードは、図15Bに示す識別情報に相当し、zero_byteを含む。
 また、スタートコード部分のサイズが全て同一である場合には、デフォルト値のみを設定してもよい。また、PTSまたはDTSは、MPEG2-TSのPESヘッダにおけるPTSまたはDTSの値で表現されるのではなく、MP4のヘッダにおいて使用されるデータ形式で表現されてもよい。例えば、DTSについては、復号順で連続する2つのサンプルのDTSの差分値を示し、PTSについては、DTSとPTSの差分値を示すことができる。これらの情報のタイムスケールを、MP4におけるタイムスケールに変換しておいてもよい。さらに、先頭サンプルのPTSまたはDTSの絶対値を示す情報を格納しておいてもよい。また、MP4ファイルへの変換時に削除するNALユニットを識別するための情報を追加してもよい。また、AACの符号化ストリームに対して同様の補助情報を格納する場合には、ADTSやLATMなどのヘッダ情報はサンプルデータから削除される。しかし、これらヘッダ情報のサイズが固定であれば、ヘッダ情報とペイロードデータのサイズの合計値、および、ペイロードデータのサイズのうちのいずれか一方のみを示してもよい。また、オーディオの場合は、固定フレームレートとなるため、DTS情報はデフォルト値のみ示してもよい。
 なお、オーディオの符号化方式が異なると、サンプル毎の再生時間長も異なることがある。結果として、サンプル毎のPTSまたはDTSも異なるため、オーディオの符号化方式毎にコピーマニフェストファイルを用意してもよい。
 ここで、MP4ファイルに字幕データを格納する場合には、字幕データをファイルの末尾にまとめて格納してもよい。
 図25は、MP4ファイルの末尾に格納されている字幕データの一例を示す図である。
 この場合、字幕データの言語を変更しても、AV(Advanced Video)データのムービーフラグメントは同一である。一方で、ビデオまたはオーディオのムービーフラグメントと字幕のムービーフラグメントとをインタリーブして格納すると、moofの内容を変更する必要がある。これは、字幕データのサイズが変化するとAVデータのムービーフラグメントの位置が変化するためである。また、字幕データはAVデータと比較してサイズが小さい。したがって、コンテンツ全体の字幕データ、あるいは、コンテンツを分割したチャプターなどの単位に含まれる字幕データを、一括してメモリに展開して再生することも可能である。この時、ファイルの末尾にまとめて字幕データが格納されていると、その字幕データを取得し易いという利点もある。
 ここで字幕データは、テキストフォントに基づくものであってもよいし、PNG(Portable Network Graphics)形式などの画像データであってもよい。画像データの場合にはテキスト形式よりもデータサイズが大きくなるため、チャプターなどの単位毎にtrunを生成して、所定の単位に含まれる字幕データへのアクセス性を高めるなどしてもよい。あるいは、再生時にテキストデータを保持するバッファサイズに応じて、trunを構成する字幕データのサイズがバッファサイズ以下となるようにtrunを生成してもよい。
 さらに、複数言語の字幕データを格納する際には、各言語を異なるムービーフラグメントに格納することで、特定言語の字幕データを容易に取得できる。このとき、ムービーフラグメントに格納される言語を特定するための情報が必要である。そこで、例えば、各言語を異なるトラックとして扱い、トラックのIDと言語とを対応付けてもよい。トラックのIDは、traf内のBoxにより示される。なお、トラックのIDと言語を対応付ける情報は、MP4におけるメタデータ格納用のBoxなどに格納してもよいし、MP4ファイルとは異なる管理情報としてもよい。また、言語とムービーフラグメントとの対応付けは、オーディオに対しても適用できる。
 ビデオ、オーディオあるいは字幕におけるランダムアクセス可能なサンプルは、mfraによって示される。ここで、互いに連続するビデオとオーディオのムービーフラグメントの再生区間が整合する場合には、ビデオのランダムアクセスポイントのみを示せばよい。この場合、PTSが同一、直前または直後となるオーディオのサンプルを、直後のムービーフラグメントから取得することができる。例えば、図25において、ビデオ(V-1)の先頭サンプルと、オーディオ(A-1)の先頭サンプルのPTSが整合する。一方、テキストをファイル末尾に格納する場合には、テキストに対しては独立にランダムアクセスポイントを示す必要がある。
 また、光ディスクのコンテンツにおける全ての言語のオーディオまたは字幕のデータがMP4ファイルに格納される。ここで、MP4ファイルの生成時にユーザーが所望の言語を選択している場合には、選択された言語に対応するトラックについてのみ、mfraにおいてランダムアクセスポイントを示してもよい。
 ここで、光ディスクに格納されるコンテンツでは、ビデオとグラフィックスの解像度が異なることが想定される。例えば、ビデオの解像度は4Kであり、字幕などのグラフィックスの解像度は処理量を抑えるために2Kとされる。
 図26は、2Kの解像度の字幕を4Kにスケーリングして表示するケースを示す図である。字幕の表示にあたっては、字幕データ及びその解像度と共に、字幕の表示領域を指定するための情報が必要である。表示領域は、例えば、矩形の表示領域のサイズ及び表示位置を用いて指定される。例えば、トラックの解像度を示す情報は、字幕のトラックが2Kであり、ビデオのトラックが4Kであることを示すことができる。また、SMPTE(Society of Motion Picture and Television Engineers)またはW3C(World Wide Web Consortium)のTimed Textなどでは、Timed Textを構成するXML(extensible markup language)データの一部として表示領域の情報を記述してもよいし、MP4ファイル内のメタデータを示すBoxに格納してもよい。
 MP4ファイルを再生する際には、ビデオと字幕の解像度を取得して、両者の解像度が異なる場合には、ビデオの解像度と一致するように字幕をスケーリングして表示する。このとき、字幕が画像データであれば、画像データを拡大するなどし、テキストデータであれば、ビデオの解像度と整合するサイズを選択する。表示領域についても、スケーリングの係数などに応じて計算して決定する。なお、ビデオの解像度に合わせてスケーリングした後の表示領域を示す情報を格納してもよい。
 (実施の形態4)
 MP4ファイルを生成する際には、光ディスクに格納されたコンテンツからオーディオ、ビデオ、字幕などのデータを取得して、1つのMP4ファイルに多重化する、あるいは、DMP形式として複数のMP4ファイルを生成することができる。例えば、光ディスクに格納されたM2TSデータからビデオのエレメンタリーストリームを分離して、ビデオのMP4を生成する。また、オーディオ及び字幕については、M2TSとは別途格納されたオーディオ及び字幕を含むMP4ファイルを取得する。そして、これらの生成したビデオのMP4ファイルと取得したオーディオ及び字幕を含むMP4ファイルとをまとめてDMP形式とすることができる。このとき、オーディオ及び字幕のMP4ファイルは、オーディオ及び字幕のそれぞれが独立したファイルであってもよいし、両者が多重化されたものであってもよい。言語が複数存在する場合には、複数の言語毎にオーディオ及び字幕を同一のMP4ファイルに多重化しておくなども可能である。エクスポート時には、エクスポート用のプレイリストを参照してエクスポート対象を決定する。エクスポート用のプレイリストは予めディスク内に格納しておいてもよいし、ネットワーク経由でダウンロードしてもよい。
 図27は、エクスポート用データの格納方法について示す図である。図28Aは、エクスポート用のプレイリストの例について示す図である。図28Bは、コピーマニフェストファイルの例について示す図である。ここでは、AVが多重化された2つのM2TSファイル(XXX1.M2TS及びXXX2.M2TS)、及び、エクスポート用のオーディオが多重化されたMP4ファイル(YYY1.MP4)がディスク内に格納されている。図示していないが、字幕についても、オーディオと同様に扱うことが可能である。
 プレイリスト例1は、2つのプレイアイテムから構成されており、それぞれのプレイアイテムでは、ビデオはXXX1.M2TSとXXX2.M2TSとから、オーディオはYYY1.MP4とYYY2.MP4とからそれぞれ取得することが示される。YYY1.MP4とYYY2.MP4ファイルとについては、start_adrにより、ファイルの先頭位置をディスク内の論理アドレスにより示すことができる。なお、論理アドレスを明示的に示さずに、ファイル名のみにより識別してもよい。また、out_muxにより、当該データがM2TS内に多重化されているか、あるいは、M2TSとは別ファイルとして格納されているかを示してもよい。さらに、オーディオのデータが格納されるMP4のトラックとTrackIDにより示しているが、DMPのように、MP4ファイルが単一のトラックから構成される(以降、シングルトラックMP4と呼ぶ)場合には、TrackIDフィールドを省略してもよい。シングルトラックMP4においては、ファイル名に基づいて、オーディオ、ビデオ、字幕などファイル内に格納されるメディアの種別を識別できるようにしてもよいし、さらには、言語や符号化方式を示してもよい。符号化方式については、符号化方式そのものを示すのではなく、オーディオの場合であれば、音質が区別できるようにしてもよい。例えば、ロスレス圧縮されたオーディオは高音質、MPEG-2やMPEG-4のAACで圧縮されたオーディオは中音質とするなどである。
 プレイリスト例2は、オーディオはMP4ファイルにより格納されるが、プレイアイテム1とプレイアイテム2により示されるビデオが、YYY.MP4における連続した再生区間として提供されるケースを示す。プレイリスト例3も、プレイリスト例2と同様の例であるが、YYY.MP4がシングルトラックMP4であり、TrackIDフィールドを省略している。
 プレイリスト例1からプレイリスト例3に示したようなエクスポート用のプレイリストは、ディスク内のコンテンツを再生する際に使用されるプレイリストと、ファイル名などにより区別できるようにしてもよい。また、エクスポート用のプレイリストと、ディスク内コンテンツ再生用のプレイリストとを、ファイルシステムにおける異なるディレクトリに格納してもよい。
 さらに、エクスポートされるMP4においては、PinP(Picture in Picture)、マルチアングル、3D、あるいは、サブパス、ブラウザブル・スライドショーなどを禁止してもよいが、機能制限が課されるかどうかをファイル名、あるいは、エクスポート用のプレイリストを管理するメタデータなどにより示してもよい。エクスポート用のプレイリストにおいて、使用が禁止されている機能が含まれる場合には、プレイリストが不正であると判定し、エクスポート用のMP4を生成しないなどのエラー処理を行ってもよい。
 また、エクスポート用のプレイリストは、ネットワーク経由でダウンロードして取得してもよいし、エクスポート用のプレイリストに参照されるM2TSやMP4のデータをネットワーク経由でダウンロードしてもよい。M2TSやMP4をネットワーク経由でダウンロードする場合には、ダウンロード先のIPアドレスやURLなどを別途プレイリスト内に示してもよい。あるいは、エクスポート時に使用されるコンテンツがサーバの同一ディレクトリにまとめて格納される場合には、エクスポート用プレイリストに関するメタデータにおいて当該ディレクトリのURLを示し、プレイリスト内にはファイル名のみ記述してもよい。コンテンツを取得する際には、メタデータにより示されるURLとファイル名とを連結して完全なURLを構成したうえで、ファイルをダウンロードする。
 コピーマニフェストファイルは、2つのM2TSファイル(XXX1.M2TS及びXXX2.M2TS)のそれぞれに対応するエレメンタリーストリームの復号または表示の時刻を示す時刻情報と、当該エレメンタリーストリームの位置情報とが関連付けられた情報を含む。この関連付けられた情報は、図24で説明したコピーマニフェストファイルと同様である。
 図29Aは、複数のバージョンの本編コンテンツが格納されている場合のファイル生成方法の一例について説明するための図である。図29Bは、ディレクターズカット版の再生経路におけるMP4ファイルを生成する場合のコピーマニフェストファイルを示す図である。
 BDなどの光ディスクでは、ディレクターズカット版、劇場公開版など、複数のバージョンの本編コンテンツが格納されることがある。例えば、図29Aにおいて、ディレクターズカット版では再生区間(1)、(2)、(4)の順に再生され、劇場公開版では再生区間(1)、(3)、(4)の順に再生される。エクスポート用のオーディオはシングルトラックMP4として格納されるものとする。
 図29Bに示すように、ディレクターズカット版の再生経路が選択された場合のコピーマニフェストファイルには、“Input File A”によって示されるファイルの各部分の範囲と、“Input File B”によって示されるファイルの各部分の範囲と、“Input File C”によって示されるファイルの各部分の範囲とが示されており、各ファイルの部分の範囲に対して、“Output File”、“Output File Size”、および“ATTRIBUTE”で示されるMP4ファイルへの変換を繰り返し行う。
 エクスポートする際には、ビデオは3つのM2TSから分離したエレメンタリーストリームを連結することで、MP4ファイルを生成するが、オーディオのエレメンタリーストリームは予め1つのMP4ファイルに格納される。つまり、ディレクターズカット版向けのMP4では、再生区間(1)、(2)、(4)に対応するエレメンタリーストリームが連続して格納され、劇場公開版向けのMP4では、再生区間(1)、(2)、(4)に対応するエレメンタリーストリームが連続して格納される。このように、エクスポート用のオーディオのエレメンタリーストリームを予め1本のエレメンタリーストリームとしておくことで、再生区間(2)及び(4)、あるいは、再生区間(3)及び(4)などの接続部分においてオーディオのオーバーラップやギャップが発生しないというメリットがある。このため、オーディオのオーバーラップやギャップについての処理を再生装置が行わなくてもよい。
 図30は、複数のバージョンの本編コンテンツが格納されている場合のファイル生成方法の他の一例について説明するための図である。
 図29では、エクスポート用のオーディオを1つのMP4ファイルとするケースについて説明したが、図30に示すようにビデオの再生区間に対応するMP4ファイルを複数格納してもよい。このとき、再生区間の接続部分ではオーディオのオーバーラップやギャップが発生するが、前述した方法により処理するものとする。
 図31は、エクスポート用のオーディオのMP4ファイルとM2TSから分離したビデオのMP4ファイルとの関係を示す一例である。
 DMP形式のコンテンツを作成する場合には、オーディオやビデオ、字幕など異なるメディアにおけるMovie Fragmentの単位が整合していることが望ましい。一般に、コンテンツの途中からランダムアクセスして再生する場合には、ビデオのランダムアクセスポイントに基づいてランダムアクセスポイントのPTSを決定し、オーディオや字幕については、ビデオのランダムアクセスポイントのPTSと同一、あるいは、直前、直後となるPTSを持つフレームから再生する。オーディオや字幕については、予め格納されたエクスポート用のシングルトラックMP4ファイルを使用する場合には、これらのMP4ファイルのデータは変更することなくエクスポートされる。
 従って、M2TSから分離したビデオのエレメンタリーストリームに基づいて生成するビデオのMP4ファイルは、Movie Fragmentの単位が、エクスポート用のオーディオや字幕と整合するように生成されることが望ましい。つまり、M2TSから分離したエレメンタリーストリームに基づいて、オーディオや字幕のMP4ファイルの再生時間に対応させた再生時間のビデオのMP4ファイルを生成することが望ましい。こうすることで、ランダムアクセス時には、各メディアにおいて同一のインデックス番号を持つMovie Fragmentから再生を開始することができる。なお、Movie FragmentにおいてDTSが先頭となるサンプルはMPEG-4 AVCやHEVCにおけるIピクチャ、あるいは、IDRピクチャなどのランダムアクセス可能なピクチャとするものとする。
 図32Aは、本実施の形態におけるファイル生成装置のブロック図である。
 本実施の形態におけるファイル生成装置40は、エレメンタリーストリームからMP4ファイルを生成するファイル生成装置であって、取得部41、選択部42及び生成部43を備えている。取得部41は、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得する。選択部42は、取得したプレイリストから所定の識別情報によって示されるエレメンタリーストリームを選択する。生成部43は、選択したエレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、エレメンタリーストリームに含まれるデータをMP4のファイルフォーマットに変換することによって、MP4ファイルを生成する。なお、所定の識別情報とは、例えば、図28の各プレイリスト例に示す“XXX1.M2TS”や“XXX2.M2TS”などのストリームファイルのファイル名である。
 なお、ここで、プレイリストは、さらに、所定の識別情報によって示されるエレメンタリーストリームの一部の区間を示す区間情報を含んでいてもよい。区間情報は、例えば、図28Aの“PTS_begin=10.0s,PTS_end=30.3s”などのように、エレメンタリーストリームの復号または表示の時刻を示す時刻情報で示されている。
 また、プレイリストは、第1エレメンタリーストリームを示す第1識別情報と、第2エレメンタリーストリームを示す第2識別情報とを所定の識別情報として、かつ、第1エレメンタリーストリームの第1区間を示す第1区間情報と、第2エレメンタリーストリームの第2区間を示す第2区間情報とを区間情報として含んでいてもよい。具体的には、図27のストリームファイル(XXX1.M2TS)から得られるエレメンタリーストリームが第1エレメンタリーストリームに相当し、ストリームファイル(XXX2.M2TS)から得られるエレメンタリーストリームが第2エレメンタリーストリームに相当する。また、図28Aに示すように、プレイアイテム1の“XXX1.M2TS”が第1識別情報に相当し、プレイアイテム2の“XXX2.M2TS”が第2識別情報に相当する。また、図28Aに示すように、プレイアイテム1の“PTS_begin=10.0s,PTS_end=30.3s”が第1区間情報に相当し、プレイアイテム2の“PTS_begin=30.3s,PTS_end=60.3s”に相当する。
 また、マニフェストファイルは、図24や図28Bに示すようなコピーマニフェストファイルであり、復号または表示の時刻とエレメンタリーストリームにおける位置とが対応付けられた情報である。また、マニフェストファイルは、複数のエレメンタリーストリームのそれぞれに対して1対1で対応している。例えば、マニフェストファイルは、エレメンタリーストリーム(M2TSファイル)のファイル名と対応するファイル名が付けられることにより、対応付けが行われていてもよいし、テーブルによりマニフェストファイルとエレメンタリーストリームとの対応付けが行われていてもよい。
 図32Bは、本実施の形態におけるファイル生成方法のフローチャートである。
 本実施の形態におけるファイル生成方法は、エレメンタリーストリームからMP4ファイルを生成するファイル生成方法であってステップS41、ステップS42及びステップS43を含む。ステップS41では、複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得する。ステップS42では、取得したプレイリストから所定の識別情報によって示されるエレメンタリーストリームを選択する。ステップS43では、選択したエレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、エレメンタリーストリームに含まれるデータをMP4のファイルフォーマットに変換することによって、MP4ファイルを生成する。
 これにより、本実施の形態では、プレイリストから選択したエレメンタリーストリームに含まれるデータについて、当該エレメンタリーストリームに対応しているマニフェストファイルに基づいて、MP4のファイルフォーマットに変換することができる。マニフェストファイルを用いることにより、例えば、プレイリストの所定の識別情報によって示されるエレメンタリーストリームを、演算することなく特定できるため、処理負荷を抑えることができる。
 また、プレイリストが、所定の識別情報によって示されるエレメンタリーストリームの一部の区間を示す区間情報を含んでいる場合、ステップS42では、さらに、区間情報で示されるエレメンタリーストリームの前記区間を選択し、ステップS43では、選択されたエレメンタリーストリームの区間をMP4のファイルフォーマットに変換してもよい。
 これにより、本実施の形態では、プレイリストから選択したエレメンタリーストリームの区間のデータについて、当該エレメンタリーストリームに対応しているマニフェストファイルに基づいて、MP4のファイルフォーマットに変換することができる。マニフェストファイルを用いることにより、プレイリストの区間情報によって示されるエレメンタリーストリームの区間を、演算することなく特定できるため、処理負荷を抑えることができる。
 また、区間情報は、エレメンタリーストリームの復号または表示の時刻を示す時刻情報で示されており、マニフェストファイルは、時刻とエレメンタリーストリームにおける位置とが対応付けられた情報である場合、ステップS43では、マニフェストファイルから、プレイリストの区間情報により示される時刻情報に対応した、エレメンタリーストリームにおける区間の位置を特定し、特定した前記エレメンタリーストリームの区間を抽出し、抽出したエレメンタリーストリームの区間をMP4のファイルフォーマットに変換してもよい。
 これにより、本実施の形態では、マニフェストファイルには、復号または表示の時刻と、エレメンタリーストリームにおける位置とが予め関連付けられているため、プレイリストに示される区間情報から、容易にエレメンタリーストリームの区間の位置を特定できる。これにより、処理負荷を抑えることができる。
 また、プレイリストは、第1エレメンタリーストリームを示す第1識別情報と、第2エレメンタリーストリームを示す第2識別情報とを所定の識別情報として、かつ、第1エレメンタリーストリームの第1区間を示す第1区間情報と、第2エレメンタリーストリームの第2区間を示す第2区間情報とを区間情報として含んでいる場合、ステップS42では、取得したプレイリストから、第1識別情報によって示される第1エレメンタリーストリームのうちの第1区間情報で示される第1区間と、第2識別情報によって示される第2エレメンタリーストリームのうちの第2区間情報で示される第2区間と、を選択し、変換では、選択した第1エレメンタリーストリームの第1区間と、第2エレメンタリーストリームの第2区間とを含むデータをMP4のファイルフォーマットに変換してもよい。
 これにより、本実施の形態では、プレイリストによって2つのエレメンタリーストリームのそれぞれの区間が選択されていても、容易に2つの区間を特定することができる。これにより、処理負荷を抑えることができる。
 また、この場合、ステップS43では、第1エレメンタリーストリームに対応している第1マニフェストファイルに基づいて、選択した第1エレメンタリーストリームの第1区間を抽出し、第2エレメンタリーストリームに対応している第2マニフェストファイルに基づいて、選択した第2エレメンタリーストリームの第2区間を抽出し、抽出した第1区間及び第2区間を含むデータをMP4のファイルフォーマットに変換してもよい。
 これにより、本実施の形態では、プレイリストによって2つのエレメンタリーストリームのそれぞれの区間が選択されていても、2つのエレメンタリーストリームのそれぞれに対応するマニフェストファイルを用いるため、容易に2つの区間を特定することができる。これにより、処理負荷を抑えることができる。
 また、図27に示すようにエクスポート用のストリームファイル(音声のMP4ファイル)がある場合には、ステップS42では、さらに、エレメンタリーストリームに対応する音声のMP4ファイルを選択し、ステップS43では、選択したエレメンタリーストリームに対応しているマニフェストファイルに基づいて、当該エレメンタリーストリームに対応している映像のエレメンタリーストリームを抽出し、抽出した映像のエレメンタリーストリームと、選択した音声のMP4ファイルとを用いて、MP4ファイルを生成してもよい。
 これにより、本実施の形態では、音声のMP4ファイルをエレメンタリーストリームから変換して生成する必要がないため、処理負荷を抑えることができる。
 (変形例4-1)
 図33は、本変形例におけるファイル生成装置のブロック図である。
 ファイル生成装置200は、プレイリスト解析部201と、エクスポート対象選択部202と、M2TS分離部203と、エクスポートファイル取得部204と、再多重化部205と、コピーマニフェスト解析部206とを備えている。ファイル生成装置200は、M2TSから分離したエレメンタリーストリーム、及び、エクスポート用のシングルトラックMP4に基づいて、オーディオ、ビデオ、あるいは、字幕を含むMP4を生成して出力する。出力されるMP4は、複数メディアのエレメンタリーストリームを1つのファイルに格納する形式であってもよいし、DMP形式であってもよい。
 プレイリスト解析部201は、ファイル生成装置40の取得部41及び選択部42に相当し、ディスク内、あるいは、ネットワーク経由でプレイリストを取得し、取得した1つ、あるいは、複数のエクスポート用のプレイリストを解析する。
 エクスポート対象選択部202は、ファイル生成装置40の選択部42に相当し、プレイリスト解析部201の解析結果に基づいて、ユーザーがエクスポート対象となるプレイリストにより提供されるコンテンツ、あるいは、コンテンツ内の言語設定や字幕データのエクスポートの有無などを選択するためのメニューを生成し、生成したメニューへの入力を受け付け、ユーザーの選択結果(受け付けたメニューへの入力に応じて決定されたプレイリスト)に基づいてエクスポート対象となるプレイリストなどを決定する。
 次に、ユーザーが選択したコンテンツを構成するエレメンタリーストリームが格納されるデータを決定し、エレメンタリーストリームがM2TSに格納される場合には、M2TS分離部203が、コピーマニフェスト解析部206により提供されるコピーマニフェスト情報に基づいてエレメンタリーストリームを分離する。エレメンタリーストリームがエクスポート用のMP4により提供される場合には、エクスポートファイル取得部204において当該MP4ファイルを取得する。エクスポートファイル取得部204は、音声のエレメンタリーストリームが、エクスポート用のMP4ファイルにより提供される場合には、当該MP4ファイルを取得してもよい。最後に、再多重化部205は、M2TS分離部203から取得したエレメンタリーストリーム、及び、エクスポートファイル取得部204により取得したMP4ファイルを用いて、出力用のMP4ファイルを生成する。複数メディアを1つのMP4ファイルに格納する場合には、エクスポート用MP4データからエレメンタリーストリームを分離したうえで、オーディオ、ビデオ、あるいは、字幕のエレメンタリーストリームを1つのMP4ファイルに多重化する。DMP形式で出力する場合には、M2TS分離手段により出力されたエレメンタリーストリームからシングルトラックMP4を生成し、EXPTファイル取得手段から出力されるエクスポート用MP4データと合わせて、DMPコンテンツを生成する。このとき、DMPに含まれる複数のMP4ファイルを管理するためのメタデータは、別途生成するものとする。なお、再多重化部205は、映像のMP4ファイル、音声のMP4ファイル、及び字幕のMP4ファイルのそれぞれを多重化することなく、独立したファイルで出力してもよい。
 なお、M2TS分離部203、エクスポートファイル取得部204、再多重化部205及びコピーマニフェスト解析部206は、ファイル生成装置40の生成部43に相当する。
 図34は、MP4ファイルを複数に分割して生成する場合の一例を示す図である。具体的には、コンテンツ全体に対応するサイズが11.40GBとなるMP4ファイルを、SDカードに記録するために、4GB以下となるように3つのファイルに分割する例について示している。
 M2TSなどのデータから生成されたMP4ファイルは、SDカードなどのリムーバブルメディアや、スマートフォンあるいはタブレットなどのHDDなど、MP4ファイルを持ち出す先の記録デバイスに記録される。このとき、記録デバイスのファイルシステムに依存して、扱うことのできるファイルサイズの上限値が制限される。例えば、SDカードであれば4GBであるし、SDHCカードであれば32GBとなる。従って、コンテンツ全体に対応するMP4ファイルのサイズが記録デバイスにおけるファイルシステムの上限値を超える場合には、MP4ファイルを分割する必要がある。
 Movie Fragmentを用いたMP4においては、オーディオ、ビデオ、あるいは、字幕などにおいて再生区間が同一、あるいは、近傍となるMovie Fragmentは、同一ファイルに格納されることが望ましい。再生区間が同一であるオーディオやビデオのデータが異なるファイルに格納される場合には、再生時には同時に2つのMP4ファイルのデータにアクセスする必要があり、記録デバイスにおけるデータの読出し速度やシーク速度に依存して、1つのファイルから再生する場合に比べて、データを余分にバッファリングしてから再生しなければならないなどの課題があるためである。
 従って、再生区間が同一あるいは近傍となるオーディオ、ビデオ、及び、字幕のMovie Fragmentが同一のMP4ファイルに含まれ、かつ、ファイルサイズが4GB以下となるようにMP4ファイルを生成する。このように、4GBバイト以下であって、かつ、できるだけ多くのMovie Fragmentを同一ファイルに格納することで、生成されるファイル数を最小化できる。
 なお、オーディオや字幕のデータサイズはビデオと比較して小さいため、より長時間分のデータをバッファリングしておくことができる。従って、再生区間が同一である異なるメディアのMovie Fragmentを全て同一ファイルに格納するのではなく、少なくともビデオのMovie Fragmentについては、同一ファイルとなるように分割することにしてもよい。ビデオ以外のメディアについても、同一Movie Fragmentのデータを異なるファイルに分割することを禁止してもよい。
 図35は、MP4ファイルを複数に分割して生成する場合の他の一例を示す図である。
 図34の例のように、オリジナルのMP4ファイルのデータをそのまま分割すると、2番目以降のファイルにおいてはmoovが存在せず、SampleEntryに格納される各メディアの復号時に必要となる初期化情報を取得するために、1番目のファイルを参照する必要がある。また、mfraは最終のファイルにおいてのみ含まれるため、最終以外のMP4ファイルのランダムアクセスを行う場合には、最終のMP4ファイルに格納されるmfraを参照する必要があるなど、それぞれのMP4ファイルに完結した再生を行うことができない。従って、ファイル毎に、moov、あるいは、mfraを付加してもよい。
 moovについては、オリジナルのMP4ファイルのSampleEntryには、コンテンツ全体で必要となる初期化情報が全て含まれるためstsdの内容は変更不要である。また、他のBoxについても、基本的には変更不要であるが、各トラックのtkhd、あるいは、mvhdには、それぞれ、トラック毎、ファイル全体の再生時間長が格納される。従って、これらの再生時間長は、分割後のMP4ファイルの再生時間長に対応するように変更してもよい。あるいは、分割されたファイルであることが何らかの補助情報により示される場合には、再生時間長の変更も不要としてもよい。
 一方、mfraについても、各MP4ファイル内のランダムアクセスポイントを示すように内容を変更してもよい。mfraのランダムアクセス情報には、ランダムアクセスポイントとなるサンプルが属するmoovのファイル先頭からのオフセットが示される。mfraの内容を変更しない場合、オフセット値はオリジナルのMP4に対応するため、分割後のファイルのオフセット値とはならない。従って、分割されたファイルにおけるランダムアクセスポイントの探索時には、2番目以降のファイルに対しては、再生順が前となるMP4ファイルのサイズの総和を加算して、オリジナルのMP4ファイルのファイルオフセット値を再現することにより、ランダムアクセスポイントとなるサンプルデータを取得する。
 分割後の各ファイルにおいてmoovやmfraの内容を変更することにより、オリジナルのMP4ファイルにおけるmoovやmfraのサイズが更新される場合には、更新後のファイルサイズがファイルシステムにおける最大サイズ以下となるように分割する。
 なお、分割後のファイルの再生順はファイル名、あるいは、ファイルの再生順を示す情報を格納したコンテンツの管理情報により識別できるものとする。
 また、図25の例のように、字幕データをインタリーブせずにMP4ファイルの終端にまとめて格納する際には、字幕データが含まれる分割ファイルを識別するための情報をコンテンツの管理情報などに含める。再生時には、字幕データが格納される分割ファイルにアクセスして字幕データを取得する。一般に、字幕データはサイズが小さいため、全ての字幕データが同一ファイル内に含まれることが望ましい。ここで、字幕データを復号する際の初期化情報は、オーディオやビデオと同様にmoovに格納される。
 MP4ファイルの生成時には、オリジナルのMP4ファイルを出力先のファイルシステムにおけるファイルサイズの上限値を予め取得する必要がある。従って、出力先がタブレットなど他のデバイスである場合には、接続先のデバイスとの間で、また、出力先が、BDプレーヤなど光ディスクが存在するデバイスと同一のデバイスに接続されたSDカード、HDDなどの記録媒体である場合には、デバイス内において、何らかの通信手段に基づいて通信を行い、出力先のファイルシステムの最大ファイルサイズを示す情報、又は、オリジナルのMP4ファイルを分割する必要があるかを示す情報を取得する。
 例えば、MP4ファイルの生成に先立って、MP4の生成モジュールが出力先の記録媒体のファイルシステムにおける最大ファイルサイズを示す情報の取得要求を行うなどMP4の生成モジュール主体で取得する。あるいは、オリジナルのMP4ファイルを出力先のデバイスに通知し、分割が必要な場合には出力先のデバイスからMP4の生成モジュールに対して最大ファイルサイズを示す情報を送信するなども可能である。
 他のデバイスが通信ネットワーク経由でMP4ファイルを取得する場合には、選択可能な言語、あるいは、MP4ファイルの取得先やDRM(Digital Right Management)の管理サーバのURLなどコンテンツのメタ情報を記述したメタファイルを先ず取得し、メタファイルの解析結果に基づいてMP4ファイルの取得要求を行うことが可能である。このような場合には、MP4ファイルの取得要求メッセージやコマンドにおいて、最大ファイルサイズを示す情報を記述してもよい。
 また、これらのメタファイルの更新に対応できるようにしてもよい。デフォルトのメタファイルは光ディスク内から取得して、更新があれば更新後のメタファイルをネットワーク経由で取得する。メタファイル内に、再生装置が最初にアクセスする管理サーバのURLを記述しておき、光ディスク内のメタファイルのバージョン番号などに基づいて、メタファイルが最新かどうかを管理サーバが判定し、最新でなければ最新のメタファイルの取得先を再生装置に通知するなどが可能である。また、国や地域に依存して、デフォルトのメタファイルに記述されたDRMやコンテンツの取得先、あるいは、コンテンツの内容が異なることがあり、これらもメタファイルの更新と同様に、再生装置が存在する国や地域の識別情報に基づいて、メタファイルの更新と同様に管理サーバにおいて処理することができる。国や地域毎に、メタファイルの更新内容が異なる場合も同様である。
 図36は、MP4ファイルを複数に分割して生成する場合の他の一例を示す図である。
 MP4ファイルを生成する際には、オーディオ、ビデオ、あるいは、字幕などの異なるメディアのデータを同一ファイルに多重化するのが一般的であるが、図36に示すように、メディア毎にそれぞれ独立したMP4ファイルとする形式もある。本形式はDMP(Digital Media Package)と呼ばれ、再生時には、複数のMP4ファイルから取得したメディアデータを同期再生する。DMPでは、MP4ファイルやコンテンツの管理ファイルをZIP形式などでアーカイブするが、アーカイブ後のファイルが出力先のファイルシステムの最大ファイルサイズを超える場合には分割の必要がある。分割する際には、図34および図35において説明した分割方法と同様に分割を行える。つまり、同一DMPを構成する各メディアのMP4ファイルの再生区間は同一、あるいは、近傍となるように分割する。あるいは、各メディアのMP4において、1つのMovie Fragmentが複数のDMPに跨って格納されることを禁止するなどである。moovやmfraの扱いについても同様である。また、オーディオや字幕はビデオに対してデータサイズが小さいため、複数ファイルに分割するのはビデオのみとして、オーディオや字幕は先頭の分割ファイルに全てのデータを格納してもよい。
 また、コンテンツ管理ファイルの内容については、コンテンツ全体に関わる属性情報は分割後の先頭のDMP内に格納されるコンテンツ管理ファイルに格納できる。また、先頭のDMPに格納されるコンテンツ管理ファイルにおいて、分割された後続のDMPファイルの識別情報、及び、再生順を示す情報を格納してもよい。後続のDMPにおけるコンテンツ管理ファイルでは、DMP内のファイルのアーカイブ情報、あるいは、DMPの識別情報などを記述して、コンテンツ全体に関わる情報は記述しなくてもよい。なお、DMPを複数生成するのではなく、単一のDMPのデータを複数ファイルに分割してもよい。
 なお、DMPにおいても、図21や図22で説明したように、複数の再生区間を構成するMP4ファイルをプレイリストなどにより参照して連続再生することは可能である。複数メディアを同一ファイルに多重化する際には、接続先と接続元はそれぞれ1つのファイルであるが、DMPでは、接続先と接続元がそれぞれ複数のファイルとなり、プレイリストには、それら複数のファイルの識別情報を記述する。また、連続して再生されるファイルの接続点におけるオーディオのギャップやオーバーラップも、前述した処理により同様に扱える。
 (変形例4-2)
 図37は、エクスポート用のMP4など、エクスポート時に使用されるデータを光ディスクに格納する際の格納位置について示す図である。エクスポート用のデータは、高速に読出し、あるいは、コピーできることが望ましいため、光ディスクの外周部における連続領域に格納する。一方、M2TSについては、光ディスクのレイヤ間をジャンプする際にオーディオやビデオ、あるいは、グラフィックスなどのデータがアンダーフローしないことを保証できるだけのデータを外周部に配置することが必須である。
 例えば、レイヤ0からレイヤ1へのジャンプに要する時間をT1、レイヤ1にジャンプしてからビデオのデータを取得できるまでの時間をT2、ビデオのビットレートをRとすると、少なくともR*(T1+T2)だけのビデオデータがレイヤ0からジャンプする直前にバッファリングされる必要がある。ビットレートRは、ビデオが符号化されるプロファイルやレベルにより規定されるビットレートの最大値、あるいは、実際の符号化データにおける平均ビットレートなどであってもよい。ここでの平均レートとは、ジャンプする直前の時刻に相当するビデオのDTSをT_dec1とすると、DTSがT_dec1から(Tdec1+T1+t2)までの区間の平均レートを示す。
 また、エクスポート用のデータが配置される領域においても、M2TSの再生時にはジャンプが発生する。従って、エクスポート用データの格納領域をジャンプする際にM2TSのデータがアンダーフローしないように、エクスポート用データの格納領域を決定する必要がある。このように、ジャンプ再生時にM2TSのデータがアンダーフローしないことを保証したうえで、できるだけ最外周に近い領域にエクスポート用のデータを配置する。
 なお、エクスポート用のMP4については、同一ファイルが同一レイヤ内に格納されることが望ましい。
 (変形例4-3)
 図38は、エクスポート用のプレイリスト内にエレメンタリーストリームのサイズを示すプレイリスト例を示す図である。
 図38の(a)のプレイリスト例1では、M2TSやMP4に多重化されたエレメンタリーストリームのサイズが示される。エクスポート時には、これらのサイズに基づいてエクスポートされるMP4のデータサイズを概算できるため、エクスポート先の記録媒体においてエクスポートされるMP4を格納するために十分な空き領域があるかどうかを判定できる。あるいは、コピーマニフェストにおいて、エクスポートするMP4におけるヘッダ部のデータが含まれる場合には、MP4のヘッダ部のサイズを決定できるため、エレメンタリーストリームのサイズと合わせて、エクスポートされるMP4のデータサイズが決定できる。
 図38の(b)のプレイリスト例2は、オーディオが基本部分と拡張部分(ロスレスとするための拡張など)から構成される場合に、基本部分と拡張部分のサイズの和、及び、基本部分のみのサイズを示すものであり、基本部分のみ、拡張部分のみ、あるいは、基本部分と拡張部分とを合わせてエクスポートする際の出力データのサイズを決定できる。オーディオだけでなく、ビデオがレイヤ構造により符号化される場合においても適用できる。
 (変形例4-4)
 図39は、プレイアイテム間のオーディオの接続部に発生するギャップの情報をプレイリスト内に示すプレイリスト例を示す図である。connection_conditionがseamless_w_gapであれば、プレイアイテムの接続においてビデオはシームレスに接続されるが、オーディオにはギャップが発生することを示す。また、ギャップが存在する場合には、gap_durationによりギャップの時間長を示すこともできる。
 MP4においては、複数ファイルを連結する際には、オーディオのギャップを設ける必要があるが、これらの情報により、ギャップが存在するかどうかを判定し、ギャップが存在する場合にはギャップの時間長を取得して、MP4ファイルの連結部におけるギャップの時間長をMP4のヘッダ情報として設定することができる。
 光ディスク内のコンテンツにおいては、プレイアイテム間ではオーディオのオーバーラップのみ許容するため、seamless_w_gapに相当するモードは、エクスポート専用となる。
 (変形例4-5)
 図40Aは、エクスポート時にオーディオのギャップを生成する方法例について説明するための図である。M2TS内のストリームにおいては、シームレス接続部においてオーディオフレームの再生区間が不連続となる場合には、プレイアイテム間でオーディオの再生区間をオーバーラップさせる。互いにオーバーラップが発生する2つのオーディオストリームをMP4において連結する際には、接続部分におけるオーディオフレームを削除してギャップを生成する必要がある。
 図40Aにおいて、オーディオ1とオーディオ2とを連結する際には、オーディオ1のフレーム98からフレーム100までの3枚のフレーム(フレーム群A)を削除して、オーディオ1のフレーム97とオーディオ2のフレーム0との間にギャップを生成する。ここで、エクスポート時には、ギャップを生成する際に削除する必要があるフレームを特定できることが望ましい。
 図40Bは、ギャップを生成する際に削除する必要があるフレームが示されたプレイリスト例を示す図である。図40Bのプレイリスト例では、プレイアイテム1とプレイアイテム2とを連結する場合においてプレイアイテム1から参照されるオーディオの最終フレームのPTSがlast_frame_ptsにより示される。例えば、図40Aにおけるオーディオ1のフレーム97のPTSが30.1sであるとすると、last_frame_ptsが30.1sと設定される。なお、削除が必要となるフレームのインデックス番号、格納先アドレスなど、PTS以外の情報により削除するフレームを特定してもよい。
 なお、オーディオ1と、オーディオ2との間にオーバーラップが存在する(残る)ようにオーディオフレームを削除してもよい。つまり、オーディオフレームを削除した後において、オーディオ1の最終フレームとオーディオ2の先頭フレームとの間にオーバーラップが存在してもよい。
 また、図39のプレイリスト例のように、ギャップの時間長などを合わせて示しても良い。
 以上の説明においては、エクスポート時に使用する補助情報をプレイリストに格納するものとしたが、プレイリストとは異なる再生管理のメタデータに格納してもよい。
 なお、図40A及び図40Bでは、オーディオ1のうちのフレーム98からフレーム100までの3枚のフレームを削除して、オーディオ1のフレーム97とオーディオ2のフレーム0との間にギャップを生成する例であるが、オーディオ2のフレームを削除してオーディオ1とオーディオ2との間にギャップを生成してもよい。例えば、図40Aのオーディオ2のうちのフレーム0からフレーム2までの3枚のフレーム(フレーム群B)を削除して、オーディオ1のフレーム100とオーディオ2のフレーム3との間にギャップを生成してもよい。この場合、図40Bで示すプレイリスト例において、プレイアイテム1のオーディオの最終フレームのPTSを示すlast_frame_ptsの代わりに、プレイアイテム2のオーディオの先頭フレームのPTSを示すfirst_frame_ptsを設け、オーディオ2のフレーム3のPTSが30.4sであるとすると、first_frame_ptsを30.4sに設定してもよい。
 (変形例4-6)
 図41は、HDR(High Dynamic Range)と呼ばれる、BT.709規格で使用される輝度範囲(SDR:Standard Dyanmic Range)よりも高輝度領域の輝度を含むビデオデータをMP4ファイルに格納する際の格納例を示す図である。
 HDRコンテンツの再生には、HDRに対応したディスプレイが必要であり、SDRのディスプレイで再生する際にはHDRの輝度範囲をSDRの輝度範囲にマッピングするなどの処理が必要となる。本例では、エクスポート用のプレイリストにおいて最初に再生される0番目のプレイアイテムにおいて、HDRコンテンツが含まれ、HDR対応のディスプレイでない場合には正しく表示できない旨を示す警告メッセージを示すコンテンツを格納しておく。
 エクスポート時にMP4を生成する際には、0番目のプレイアイテムに対応する再生区間がMP4の先頭データとして格納されるため、MP4を再生する際には、この警告メッセージが最初に表示される。なお、警告メッセージは字幕のみで構成してもよい。あるいは、MP4ファイル内にHDRコンテンツが格納されるかどうかを、MP4のヘッダ情報においてシグナリングしてもよい。例えば、moovにおいて、ビデオトラックの少なくとも一部の再生区間がHDRを使用しているかどうかを示し、moofにおいて、Movie Fragmentを構成するビデオサンプルがHDRを使用しているかどうかを示すことが可能である。
 HDRコンテンツを再生する際には、ストリーム単位、あるいは、シーン単位などで切替えることができるピーク輝度や白レベルの輝度などの輝度情報を用いて、出力先ディスプレイの最高輝度に応じたガンマカーブの調整を行う。従って、輝度情報についても、MP4のヘッダ情報として格納してもよい。輝度情報がMP4ファイル内で固定の場合にはmoov内の情報として設定し、MP4ファイル内で可変となる場合にはmoof内の情報として設定してもよい。このとき、Movie Fragment内では輝度情報は同一であるものとする。
 なお、HDRの使用、不使用が切替わる、あるいは、輝度情報が切替わると視覚的に目立ち、ユーザーに不快感を与えるため、シームレスに連続再生される区間においては、HDRの使用、不使用、あるいは、輝度情報は固定としてもよい。例えば、M2TSを再生する際のプレイリストにおいては、プレイアイテム間でHDR関連の情報が固定であることを示す情報を格納してもよいし、MP4においても、ビデオトラック内でHDR関連の情報が固定であることを示す情報を格納してもよい。
 また、HDR関連の情報などは、MP4ファイルに直接格納せずに、MP4ファイルを管理するメタ―データとして格納してもよい。
 (変形例4-7)
 図42は、光ディスクからSDカードやポータブルハードディスクなどにエクスポートしたDMPデータを、DLNA(Digital Living Network Alliance)規格などに基づいて、スマートフォンやタブレットなどのモバイル端末で視聴する際の動作を説明するための図である。
 例えば、DLNAを例にとると、DMPデータを格納する記録媒体などがDLNAサーバとなり、スマートフォンやタブレットなどがDLNAクライアントとなる。DLNAクライアントにおいてコンテンツを視聴する際には、DMPデータの全体をダウンロードしてから再生するのではなく、ダウンロードしながら再生できることが望ましい。
 しかしながら、DMPのデータは非圧縮ZIP形式で複数のMP4ファイルを格納しており、MP4ファイルのデータは互いにインタリーブされていないため、DMPデータをダウンロードしながら、オーディオ、ビデオ、あるいは字幕のデータを同期再生するのは困難である。従って、DLNAサーバにおいては、DMPからオーディオ、ビデオ、あるいは、字幕のMP4ファイルを分離し、それらのMP4ファイルに対してそれぞれ独立のセッションを確立した上で、DLNAクライアントに送出する。DLNAクライアントにおいては、独立した複数のセッションにより受信する複数のメディアのMP4ファイルから、エレメンタリーストリームを分離して、同期再生を行う。
 なお、上記実施の形態および各変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態および各変形例におけるファイル生成装置などを実現するソフトウェアは、図8、図17、図22B、図22D、図32Bなどに示すフローチャートに含まれる各ステップを、コンピュータに実行させる。
 以上、一つまたは複数の態様に係るファイル生成装置および再生装置について、各実施の形態および各変形例に基づいて説明したが、本開示は、これらの実施の形態および各変形例に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態および各変形例に施したものや、各実施の形態および各変形例における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
 例えば、実施の形態1およびその変形例では、MPEG2-TSによって構成されたファイルを元ファイルとして用いた。しかし、元ファイルは、MP4と異なるファイルフォーマットによって構成されているファイルであれば、MPEG2-TSのファイル以外のどのようなファイルまたはトランスポートストリームであってもよい。
 また、実施の形態2では、図22Aに示すように、再生区間1と再生区間2とを統合したが、これらの再生区間のそれぞれはMP4ファイルのムービーフラグメントであっても、それ以外の他のストリームであってもよい。
 また、以下のような場合も本開示に含まれてもよい。
 (1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 (3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標)Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
 また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 以上、本開示の一つまたは複数の態様に係るデータ送信方法およびデータ再生方法などについて、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の一つまたは複数の態様の範囲内に含まれてもよい。
 本開示は、処理負荷を抑えることができるという効果を奏し、例えば、ファイルフォーマットをMPEG2-TSからMP4に変換する装置に適用することができ、例えばスマートフォンまたはタブレットなどの機器に利用可能である。
 10,20,40,100,200  ファイル生成装置
 11  元ファイル取得部
 12  差分ファイル取得部
 13  手順ファイル取得部
 14,104  生成部
 21  統合部
 22  格納部
 30  再生装置
 31  抽出部
 32  合成部
 41  取得部
 42  選択部
 43  生成部
 101  補助情報サーチ部
 103  補助情報解析部
 104a  サンプル生成部
 104b  サンプルエントリ生成部
 201  プレイリスト解析部
 202  エクスポート対象選択部
 203  M2TS分離部
 204  エクスポートファイル取得部
 205  再多重化部
 206  コピーマニフェスト解析部

Claims (9)

  1.  エレメンタリーストリームからMP4ファイルを生成するファイル生成方法であって、
     複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得し、
     取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択し、
     選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをMP4のファイルフォーマットに変換することによって、前記MP4ファイルを生成する
     ファイル生成方法。
  2.  前記プレイリストは、さらに、前記所定の識別情報によって示されるエレメンタリーストリームの一部の区間を示す区間情報を含み、
     前記選択では、さらに、前記区間情報で示される前記エレメンタリーストリームの前記区間を選択し、
     前記変換では、選択された前記エレメンタリーストリームの前記区間をMP4のファイルフォーマットに変換する
     請求項1に記載のファイル生成方法。
  3.  前記区間情報は、前記エレメンタリーストリームの復号または表示の時刻を示す時刻情報で示されており、
     前記マニフェストファイルは、前記時刻と前記エレメンタリーストリームにおける位置とが対応付けられた情報であり、
     前記変換では、
     前記マニフェストファイルから、前記プレイリストの前記区間情報により示される時刻情報に対応した、前記エレメンタリーストリームにおける前記区間の位置を特定し、
     特定した前記エレメンタリーストリームの前記区間を抽出し、
     抽出した前記エレメンタリーストリームの前記区間をMP4のファイルフォーマットに変換する
     請求項2に記載のファイル生成方法。
  4.  前記プレイリストは、
     第1エレメンタリーストリームを示す第1識別情報と、第2エレメンタリーストリームを示す第2識別情報とを前記所定の識別情報として、かつ、
     前記第1エレメンタリーストリームの第1区間を示す第1区間情報と、前記第2エレメンタリーストリームの第2区間を示す第2区間情報とを前記区間情報として含み、
     前記選択では、取得した前記プレイリストから、前記第1識別情報によって示される前記第1エレメンタリーストリームのうちの前記第1区間情報で示される前記第1区間と、前記第2識別情報によって示される前記第2エレメンタリーストリームのうちの前記第2区間情報で示される前記第2区間と、を選択し、
     前記変換では、選択した前記第1エレメンタリーストリームの前記第1区間と、前記第2エレメンタリーストリームの前記第2区間とを含むデータをMP4のファイルフォーマットに変換する
     請求項2または3に記載のファイル生成方法。
  5.  前記変換では、
     前記第1エレメンタリーストリームに対応している第1マニフェストファイルに基づいて、選択した前記第1エレメンタリーストリームの前記第1区間を抽出し、
     前記第2エレメンタリーストリームに対応している第2マニフェストファイルに基づいて、選択した前記第2エレメンタリーストリームの前記第2区間を抽出し、
     抽出した前記第1区間及び前記第2区間を含むデータをMP4のファイルフォーマットに変換する
     請求項4に記載のファイル生成方法。
  6.  前記変換では、
     さらに、前記エレメンタリーストリームに対応する音声のMP4ファイルを取得し、
     選択した前記エレメンタリーストリームに対応しているマニフェストファイルに基づいて、当該エレメンタリーストリームに対応している映像のエレメンタリーストリームを抽出し、
     抽出した前記映像のエレメンタリーストリームと、選択した前記音声のMP4ファイルとを用いて、前記MP4ファイルを生成する
     請求項1から5のいずれか1項に記載のファイル生成方法。
  7.  前記選択では、
     ユーザーからの入力を受け付けるためのメニューを生成し、
     生成したメニューへの入力を受け付け、
     受け付けたメニューへの入力に応じて決定されたプレイリストからエレメンタリーストリームを選択する
     請求項1から6のいずれか1項に記載のファイル生成方法。
  8.  エレメンタリーストリームからMP4ファイルを生成するファイル生成装置であって、
     複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストを取得する取得部と、
     取得した前記プレイリストに含まれる所定の識別情報によって示されるエレメンタリーストリームを選択する選択部と、
     選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルに基づいて、前記エレメンタリーストリームに含まれるデータをMP4のファイルフォーマットに変換することによって、前記MP4ファイルを生成する生成部と、を備える
     ファイル生成装置。
  9.  複数のMPEG2-TSファイルと、
     前記複数のMPEG2-TSファイルに含まれる複数のエレメンタリーストリームのそれぞれを示す識別情報が含まれるプレイリストと、
     選択した前記エレメンタリーストリームに対応しているマニフェストファイルであって、所定のルールに基づいてファイルのフォーマットを変換するために必要なマニフェストファイルと、を記録している
     記録媒体。
PCT/JP2015/000007 2014-01-10 2015-01-05 ファイル生成方法、ファイル生成装置および記録媒体 WO2015105037A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201580000514.XA CN105103540B (zh) 2014-01-10 2015-01-05 文件生成方法、文件生成装置及记录介质
EP15735544.7A EP3094083B1 (en) 2014-01-10 2015-01-05 File generation method, file generation device and recording medium
US15/003,745 US9818446B2 (en) 2014-01-10 2016-01-21 File producing method, file producing device, and recording medium

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201461925699P 2014-01-10 2014-01-10
US61/925,699 2014-01-10
US201461944280P 2014-02-25 2014-02-25
US61/944,280 2014-02-25
JP2014-255477 2014-12-17
JP2014255477A JP6467680B2 (ja) 2014-01-10 2014-12-17 ファイル生成方法およびファイル生成装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/003,745 Continuation US9818446B2 (en) 2014-01-10 2016-01-21 File producing method, file producing device, and recording medium

Publications (1)

Publication Number Publication Date
WO2015105037A1 true WO2015105037A1 (ja) 2015-07-16

Family

ID=53523867

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/000007 WO2015105037A1 (ja) 2014-01-10 2015-01-05 ファイル生成方法、ファイル生成装置および記録媒体

Country Status (1)

Country Link
WO (1) WO2015105037A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017061071A1 (ja) * 2015-10-07 2017-04-13 パナソニックIpマネジメント株式会社 映像送信方法、映像受信方法、映像送信装置及び映像受信装置
JP2017073760A (ja) * 2015-10-07 2017-04-13 パナソニックIpマネジメント株式会社 映像送信方法、映像受信方法、映像送信装置及び映像受信装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11205750A (ja) * 1998-01-14 1999-07-30 Matsushita Electric Ind Co Ltd 映像音声多重化装置、及び映像と音声の多重化方法、並びに映像と音声を多重化するプログラムを記録した記録媒体
JP2003151215A (ja) * 2001-11-09 2003-05-23 Toshiba Corp フォーマット変換を行う情報記録装置及び情報処理装置
JP2003199057A (ja) * 2001-12-27 2003-07-11 Toshiba Corp 画像編集装置および方法
JP2005142901A (ja) * 2003-11-07 2005-06-02 Matsushita Electric Ind Co Ltd 編集装置および編集システム
JP2012175608A (ja) 2011-02-24 2012-09-10 Nec Personal Computers Ltd 変換装置、情報配信装置、通信システム、制御方法及びプログラム
JP2013093755A (ja) * 2011-10-26 2013-05-16 Canon Inc 映像記録装置及び映像記録方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11205750A (ja) * 1998-01-14 1999-07-30 Matsushita Electric Ind Co Ltd 映像音声多重化装置、及び映像と音声の多重化方法、並びに映像と音声を多重化するプログラムを記録した記録媒体
JP2003151215A (ja) * 2001-11-09 2003-05-23 Toshiba Corp フォーマット変換を行う情報記録装置及び情報処理装置
JP2003199057A (ja) * 2001-12-27 2003-07-11 Toshiba Corp 画像編集装置および方法
JP2005142901A (ja) * 2003-11-07 2005-06-02 Matsushita Electric Ind Co Ltd 編集装置および編集システム
JP2012175608A (ja) 2011-02-24 2012-09-10 Nec Personal Computers Ltd 変換装置、情報配信装置、通信システム、制御方法及びプログラム
JP2013093755A (ja) * 2011-10-26 2013-05-16 Canon Inc 映像記録装置及び映像記録方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017061071A1 (ja) * 2015-10-07 2017-04-13 パナソニックIpマネジメント株式会社 映像送信方法、映像受信方法、映像送信装置及び映像受信装置
JP2017073760A (ja) * 2015-10-07 2017-04-13 パナソニックIpマネジメント株式会社 映像送信方法、映像受信方法、映像送信装置及び映像受信装置
JP2022087351A (ja) * 2015-10-07 2022-06-09 パナソニックIpマネジメント株式会社 映像送信方法、映像受信方法、映像送信装置及び映像受信装置
JP7281759B2 (ja) 2015-10-07 2023-05-26 パナソニックIpマネジメント株式会社 映像送信方法、映像受信方法、映像送信装置及び映像受信装置

Similar Documents

Publication Publication Date Title
JP6467680B2 (ja) ファイル生成方法およびファイル生成装置
JP7033537B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
US11636877B2 (en) Content recording apparatus, content editing apparatus, content reproduction apparatus, content recording method, content editing method, and content reproduction method
WO2016027579A1 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP2019024229A (ja) ファイル生成方法およびファイル生成装置
JP7052733B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP2013093755A (ja) 映像記録装置及び映像記録方法
WO2016132836A1 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP2017183762A (ja) 映像ストリーム生成方法、再生装置及び記録媒体
JP2015109131A (ja) ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体
WO2015105037A1 (ja) ファイル生成方法、ファイル生成装置および記録媒体
JP7215415B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP7024787B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
WO2015083354A1 (ja) ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体
WO2015178112A1 (ja) 情報処理装置、情報生成装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2016027426A1 (ja) 映像ストリーム生成方法、再生装置及び記録媒体
JP6982829B2 (ja) 記録装置、記録方法および記録媒体
WO2015072127A1 (ja) ファイル生成方法およびファイル生成装置
JP2016027512A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP2015153440A (ja) 情報処理装置、情報記録装置、情報記録媒体、および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201580000514.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15735544

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015735544

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015735544

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE