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

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

Info

Publication number
WO2015083354A1
WO2015083354A1 PCT/JP2014/005963 JP2014005963W WO2015083354A1 WO 2015083354 A1 WO2015083354 A1 WO 2015083354A1 JP 2014005963 W JP2014005963 W JP 2014005963W WO 2015083354 A1 WO2015083354 A1 WO 2015083354A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
data
information
unit
streams
Prior art date
Application number
PCT/JP2014/005963
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 JP2014235068A external-priority patent/JP2015109131A/ja
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Publication of WO2015083354A1 publication Critical patent/WO2015083354A1/ja

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
    • 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
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Definitions

  • This disclosure relates to a file generation method for generating an MP4 file.
  • the file format used in conventional optical discs is the MPEG2-TS (MPEG-2 Transport Stream) system defined by ISO / IEC 138181-1.
  • MPEG2-TS MPEG-2 Transport Stream
  • a file configured by multiplexing a video stream, an audio stream, and a subtitle stream in the MPEG2-TS file format is recorded on the optical disc.
  • a video stream, an audio stream, a subtitle stream, and the like are each divided into a plurality of 188-byte TS packets, multiplexed, and recorded on an optical disc.
  • This MPEG2-TS is optimized for media such as broadcast or optical discs that transmit or record data that is read and processed sequentially from the front. Therefore, even a consumer device having a relatively small buffer capacity can efficiently read, decode, and reproduce a stream.
  • the file format that is being used in the distribution of contents in the recent network is the MP4 system defined by ISO / IEC 14496-12.
  • MP4 employs an extremely flexible data structure on the premise that it is applied to a randomly accessible medium such as an HDD (Hard Disk Drive) or a flash memory.
  • streams such as a video stream, an audio stream, and a subtitle stream are divided into units of fragments of about several seconds, and these fragments are sequentially arranged to form one file.
  • a smartphone or tablet does not have an optical disk drive, but it is used as a terminal for receiving and playing back content distribution over a network by taking advantage of its high portability or the recent increase in screen size and definition. ing. For this reason, smartphones and tablets have many functions and processes corresponding to MP4, and their application to MPEG2-TS has not progressed much.
  • the file format of the content may be converted to MP4 (see, for example, Patent Document 1).
  • an MP4 file that is an MP4 file is generated.
  • a file generation method is a file generation method for generating an MP4 file, and a single MP4 file is obtained by integrating the two streams so that the two streams are continuously played back. Generated and stores information indicating a section in which the reproduction timing overlaps in each of the two streams in the generated MP4 file.
  • FIG. 1 is a diagram schematically showing an example of the structure of MPEG2-TS content stored on an optical disc.
  • FIG. 2 is a diagram for explaining a method of decrypting the aligned unit.
  • FIG. 3 is a diagram showing an internal structure of the aligned unit in a plain text state.
  • FIG. 4 is a diagram illustrating a method of creating an actual Elementary Stream from a plurality of TS Payloads.
  • FIG. 5 is a block diagram illustrating a configuration of the file generation device according to the first embodiment.
  • 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 in the first embodiment.
  • FIG. 7 is a diagram for explaining a method of generating a difference file and a copy manifest file in the first embodiment.
  • FIG. 8 is a flowchart of the file generation method according to the first embodiment.
  • FIG. 9 is a diagram for explaining a file generation method according to the first modification of the first embodiment.
  • FIG. 10A is a diagram for explaining data encryption in the AES-CTR mode in the first modification of the first embodiment.
  • FIG. 10B is a diagram for explaining data decoding in the AES-CTR mode in the first modification of the first embodiment.
  • FIG. 11 is a diagram illustrating an example in which the MPEG-4 AAC access unit stored in the transport stream is stored in the MP4 file in the second modification of the first embodiment.
  • FIG. 12 is a diagram illustrating an example in which the MPEG-4 AVC access unit stored in the transport stream is stored in MP4 in the second modification of the first embodiment.
  • FIG. 13A is a diagram illustrating a storage example of a LATM header and a LATM payload in a TS packet in the second modification of the first embodiment.
  • FIG. 13B is a diagram illustrating an example of syntax of the AU_info table in the second modification of the first embodiment.
  • FIG. 13C is a diagram illustrating another example of syntax of the AU_info table in the second modification of the first embodiment.
  • FIG. 14 is a block diagram illustrating a configuration of the file generation device according to the second modification of the first embodiment.
  • FIG. 15A is a diagram showing a schematic structure of a NAL unit in the second modification of the first embodiment.
  • FIG. 15B is a diagram illustrating an example of the storage format of the NAL unit in MPEG2-TS in the second modification of the first embodiment.
  • FIG. 15C is a diagram illustrating an example of the storage format of the NAL unit in MP4 in the second modification of the first embodiment.
  • FIG. 16A is a diagram illustrating a configuration example of an access unit in a transport stream according to the second modification of the first embodiment.
  • FIG. 16B is a diagram illustrating an example of the syntax of the size information included in the size information NAL unit in the second modification of the first embodiment.
  • FIG. 16C is a diagram illustrating another example of the syntax of the size information included in the size information NAL unit in the second modification of the first embodiment.
  • FIG. 17 is a flowchart illustrating a processing operation in which the file generation device according to the second modification of the first embodiment generates an MP4 file.
  • FIG. 18 is a diagram illustrating a specific example of address designation when mode 2 is used in the third modification of the first embodiment.
  • FIG. 19 is a diagram illustrating an example of reading a continuous area exceeding the upper limit value of the copy size in the third modification of the first embodiment.
  • FIG. 20 is a diagram for describing a process of generating an MP4 file by copying data from an elementary stream in the third modification of the first embodiment.
  • FIG. 21 is a diagram illustrating an example of audio and video playback sections of two MP4 files that are played back continuously in the second embodiment.
  • FIG. 22A is a diagram for describing a method of generating one MP4 file by integrating playback sections in the second embodiment.
  • FIG. 22B is a block diagram of a file generation device according to Embodiment 2.
  • FIG. 22C is a flowchart of the file generation method in the second embodiment.
  • FIG. 22D is a block diagram of the playback device in the second embodiment.
  • FIG. 22E is a flowchart of the reproduction method in the second embodiment.
  • FIG. 23A is a diagram showing an example of a menu screen when an MP4 file is generated from content stored on 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 showing the size of the NAL unit, the PTS, and the DTS in the third embodiment.
  • FIG. 25 is a diagram illustrating an example of caption data stored at the end of the MP4 file in the third embodiment.
  • FIG. 26 is a diagram illustrating a case where subtitles with 2K resolution are scaled to 4K and displayed in the third embodiment.
  • FIG. 1 is a diagram schematically showing an example of the structure of MPEG2-TS content stored on an optical disc.
  • a Stream File is stored as content.
  • Stream File is XXXXXX. It is recorded with a file name of M2TS. A number is described in XXXXXX. When a plurality of contents are stored, it is possible to individually manage these contents by this number.
  • the Stream File is divided into a plurality of units each called 6144-byte Aligned Unit.
  • Aligned Unit is a unit of encryption. Note that the data amount of the Stream File may not necessarily be a multiple of 6144 bytes. If it is not a multiple of 6144 bytes, it is desirable to make the data amount of the stream file a multiple of 6144 bytes by a method such as storing NULL Data at the end of the content.
  • FIG. 2 is a diagram for explaining a method of decrypting the aligned unit.
  • the content on the optical disc is encrypted using the unit key Ku which is data.
  • the 6144-byte data included in the aligned unit is separated into the first 16-byte data and the remaining 6128-byte data, and the remaining 6128-byte data is encrypted.
  • AES_E When decrypting the Aligned Unit, AES_E first encrypts the first 16 bytes of data using the AES (Advanced Encryption Standard) encryption method using the unit key Ku. Next, an exclusive OR operation is performed on the data obtained by this encryption and the leading 16-byte 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 first 16 bytes of data are added to the plaintext data obtained by this decryption. As a result, 6144 bytes of plaintext corresponding to the aligned unit is obtained.
  • AES Advanced Encryption Standard
  • FIG. 3 is a diagram showing the internal structure of the aligned unit in a plain text state.
  • Aligned Unit is composed of 32 source packets of 192 bytes each.
  • Each Source Packet is composed of a TP_extra_header that is a 4-byte header and a 188-byte Transport Packet that is a TS packet.
  • the 188-byte Transport Packet is composed of a 4-byte TS Header and a 184-byte TS Payload. Information indicating the attribute of TS Payload is described in TS Header.
  • TS Header from 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), and continuity_counter (4 bits) Composed.
  • the PID is information for identifying the type of elementary stream stored in the TS Payload, such as video or audio. Even when there are a plurality of types of audio, the type of audio of the elementary stream can be identified by this PID.
  • FIG. 4 is a diagram showing a method for creating an actual Elementary Stream from a plurality of TS Paloads.
  • a PES_Header and an Elementary Stream are configured by connecting a plurality of TS Payloads to which the same PID is assigned.
  • the first TS Payload of the plurality of TS Payloads is configured to include PES_Header.
  • a PES (Packetized Elementary Stream) or a PES packet is composed of at least a part of the PES_Header and 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, the above-described decryption is performed, and further re-encryption is performed.
  • a conversion device such as a smartphone or a tablet
  • plain text content is once created, there is a security problem.
  • a file generation method for generating an MP4 file, an original file configured in a file format different from MP4 is acquired, 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 included in the difference file 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 MPEG2-TS file format is acquired.
  • an 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, an MP4 file can be easily generated without returning an original file constituted by a file format such as MPEG2-TS to each stream such as a video stream or an audio stream. Even if the original file is encrypted, it is not necessary to decrypt and re-encrypt it. Therefore, it is possible to suppress the processing load for generating the MP4 file.
  • the acquisition of the original file, the difference file, and the procedure file may be acquired by reading the original file, the difference file, and the procedure file from an optical disc.
  • each of a plurality of parts included in the difference file is arranged so that a range of parts included in the difference file and a range of parts 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. As a result, the MP4 file may be generated.
  • each part included in the MP4 file can be generated in order from the beginning of the MP4 file, and the MP4 file can be generated more easily because there is no backtracking.
  • Each range of the plurality of parts included in the difference file is described in the procedure file according to a data size, and each range of the plurality of parts included in the original file includes the start position and the data size of the part. And may be described in the procedure file.
  • 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 there is enough free space on the medium.
  • the attribute of the MP4 file may be described in the procedure file, and the file generation method may further read the attribute described in the procedure file.
  • the MP4 file attribute is read from the procedure file before the MP4 file is generated, it can be determined in advance whether or not the desired MP4 file is generated.
  • the procedure file may describe a buffer size necessary for reproducing the MP4 file, and the file generation method may further read the buffer size described in the procedure file.
  • the buffer size necessary for reproducing the MP4 file is read from the procedure file, it is possible to easily determine whether or not the MP4 file can be reproduced without analyzing the MP4 file.
  • the file generation method further includes the procedure file
  • a file having a first file name described in a file may be specified as the original file, and a file having a second file name described in the procedure file may be specified as the difference file.
  • header information corresponding to MP4 that 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.
  • the confidentiality of the data can be secured while leaving the data included in the original file as an MP4 file.
  • the part of the MP4 file corresponding to the part is generated and encrypted, and the part 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 in succession. Are combined to generate one MP4 file, and information indicating an interval in which reproduction timing overlaps in each of the two streams is stored in the generated MP4 file. For example, in the integration of the two streams, the two streams that are at least part of the original file each configured in the MP4 file format are integrated. Further, for example, in the integration of the two streams, the two streams each including audio data are integrated.
  • the playback device that plays back the MP4 file can easily specify the data of the overlap section from the MP4 file using the information.
  • the playback apparatus can appropriately play back the data by combining the data in the overlapping section. That is, an MP4 file suitable for overlapping reproduction can be generated.
  • the two streams when the section exists over a plurality of samples included in any one of the two streams, after deleting at least one of the plurality of samples
  • the two streams may be integrated.
  • time information indicating the time length of the section may be stored in the MP4 file as the information.
  • a playback device that plays back an 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 by combining the data of the overlapping sections.
  • the time information may be stored in a traf in a moof in the MP4 file.
  • the playback device can appropriately acquire the stored time information.
  • the information may be acquired from a device or an optical disk that holds the information.
  • the playback method is a playback method for playing back an MP4 file, and extracts information indicating two sections in which playback timing overlaps in the playback target content from the MP4 file, The two sections in the content are specified based on the extracted information, and the decoding results for the data in the two sections are combined and output.
  • the playback device can easily specify the data of the overlap section from the MP4 file. As a result, the playback device can appropriately play back the data in the overlap section.
  • a recording medium is a recording medium that records an MP4 file, and the MP4 file is read by a computer and played back, and the playback timing of the content is Information indicating two overlapping sections.
  • a playback device that reads and plays back the MP4 file from the recording medium can easily identify the data of the above two sections from the MP4 file using the information. As a result, the playback device can appropriately play back the data by combining the data of those sections.
  • FIG. 5 is a block diagram showing a configuration of the 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 that is 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 an 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.
  • a stream file A (XXXX.M2TS) that is the above-mentioned original file and a copy manifest file (XXXX.X.) that is the above-described procedure file.
  • CMNF copy manifest file
  • XXXX.DMP4 difference file
  • the copy manifest file (XXXX.CMNF) describes a conversion procedure for processing the original file and converting it into an MP4 file.
  • the difference file (XXXX.DMP4) stores data necessary for conversion to an MP4 file.
  • the generating unit 14 converts the data of the stream file A (XXXX.M2TS) and the difference file (XXXX.M2TS) according to the description of the copy manifest file (XXXX.CMNF).
  • the stream file B (XXXX.MP4) which is an MP4 file is generated by alternately combining the data of XXXXX.DMP4). In other words, the generation unit 14 converts the stream file A (XXXX.M2TS) into the stream file B (XXXX.MP4).
  • the original file can be converted without being restored to an audio or video elementary stream (for example, a HE-AAC or MPEG-4 AVC stream). If the original file is encrypted, the conversion from the original file to the MP4 file can be easily performed without breaking the encryption.
  • an audio or video elementary stream for example, a HE-AAC or MPEG-4 AVC stream.
  • This copy manifest file (XXXX.CMNF) is “Input File A”, “Input File B”, “Output File”, “Output File Size”, “ATTRIBUTE”, “MP4 DECODER BUFFER SIZE” and “MP4 DECODER BUFFER SIZE”. including.
  • “Input File A” and “Input File B” indicate the file names of the two input files. The conversion process starts from a copy of the top part of the file indicated by “Input File A”.
  • “Output File” indicates an output file, that is, a file name of a generated MP4 file.
  • “Output File Size” indicates the data size of the output MP4 file. This data size is described with byte precision.
  • “ATTRIBUTE” indicates the attribute of each file, specifically, what kind of elementary stream is converted and what kind of file is generated.
  • “ATTRIBUTE” includes 4K video in which the converted MP4 file is compressed with HEVC (High Efficiency Video Coding) and 5.1ch English audio of AAC (Advanced Audio Coding). Indicates that Thus, before the conversion process, it is possible to confirm in advance what the converted file obtained when converting according to this copy manifest file is.
  • “ATTRIBUTE” may indicate the data structure of the MP4 file or the like, and may indicate the brand (that is, the type) of MP4 stored in “ftyp” of the MP4 file.
  • MP4 DECODER BUFFER SIZE indicates a minimum buffer size necessary for reproducing the converted stream file B (XXXX.MP4), which is an output MP4 file.
  • This buffer size is an amount that depends on what multiplexing rule is used to multiplex video and audio in the MP4 file that is the stream file B after conversion.
  • MP4 DECODER BUFFER SIZE may indicate what kind of decoder resources (memory amount and data transfer rate) are necessary to reproduce the stream file B after conversion.
  • “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 of these portions is a portion that is sequentially copied and pasted to generate an MP4 file indicated by “Output File”. The range of each part is indicated by the copy start position and the copy size, or only by the copy size.
  • “COPY MANIFEST” is a file part indicated by “Input File A” and a part of the file indicated by “Input File B” are alternately copied and pasted. Indicates the range of the part.
  • the difference file (XXXX.DMP4) is copied and pasted from the beginning of the difference file for each part of the specified size. Therefore, in “COPY MANIFEST”, it is not necessary to specify the copy start position in order to indicate each part of the difference file (XXXX.DMP4). That is, the range of each part of the difference file is indicated only by the copy size (data size) without using the copy start position.
  • the stream file A (XXXX.M2TS) includes data that is not necessary for the converted stream file B (XXXX.MP4). Therefore, in “COPY MANIFEST”, in order to indicate each part of the stream file A that is the original file, the range of each part is indicated by the copy start position and the copy size.
  • the copy start position is a byte position from the beginning of the file
  • the copy size is a data size in bytes.
  • the generation unit 14 repeats copying and pasting alternately the portion included in the original file and the portion included in the difference file indicated by “COPY MANIFEST” according to the copy manifest file. That is, the generation unit 14 repeats alternately combining the part included in the original file and the part included in the difference file, which are indicated by “COPY MANIFEST”. As a result, an MP4 file that is the stream file B after conversion is generated.
  • the same converted stream file B (XXXX.MP4) can be generated regardless of the device used to convert the original file. That is, it becomes easy to reproduce the stream file B after conversion without any trouble on any device.
  • the file generation apparatus 10 may obtain the difference file (XXXX.DMP4) and the copy manifest file (XXXX.CMNF) from an optical disk such as a Blu-ray (registered trademark) disk, or both of them or one of them.
  • the file may be obtained via the Internet.
  • it is a special change to the file generation apparatus 10 to present the user with various selections such as converting the original file into a file in the latest file format or an MP4 file including another video and audio. It is possible without requiring.
  • the file generation apparatus 10 may perform the conversion while the stream file A that is the original file is encrypted, and after the decryption of the original file is performed, the file is generated by performing the conversion to the MP4 file.
  • the MP4 file may be encrypted again.
  • the file stream (XXXX.M2TS) which is the original file may be plain text. Since the difference file is composed of header information, it is not necessary to encrypt the difference file. However, if stream file A (XXXX.M2TS), which is the original file, or stream file B (XXXX.MP4), which is an MP4 file, is plain text, the entire file is expanded in memory or temporarily saved on the hard disk Operations such as doing this may not be allowed for security reasons.
  • the file generation apparatus 10 may delete the areas of the stream file A (XXXX.M2TS), which is the plaintext original file, in order from the area where the conversion to the MP4 file is completed. Further, when encrypting the stream file B (XXXXXX.MP4) which is an MP4 file, the file generation apparatus 10 generates a portion such as “Movie fragment” included in the MP4 file or a predetermined number of MP4 samples. Each time it is done, the generated portions may be encrypted in sequence. If an encryption method in which the data size does not change before and after encryption is used, 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 or not the stream file A (XXXX.M2TS) that is the original file is encrypted.
  • the copy manifest file can be converted after the encoded data multiplexed in the stream file A is encrypted or converted into an MP4 file after converting the encrypted encoded data into plain text. It may indicate whether or not
  • FIG. 7 is a diagram for explaining a method of generating a difference file and a copy manifest file.
  • the difference file (XXXX.DMP4) and copy manifest file (XXXX.CMNF) can be generated as follows.
  • the stream file A (XXXX.M2TS), which is the original file, is converted in format to generate the converted stream file B (XXXX.MP4), which is an MP4 file.
  • XXXX.MP4 which is an MP4 file.
  • at least one portion including data matching each other is searched between the stream file A and the stream file B which are the original files. At this time, the search is performed so that the data size of each part becomes the largest.
  • a difference file is generated by concatenating the remaining parts included in the stream file B other than the part searched as described above according to 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 the data included in each of the stream file A and the stream file B in the direction from the top to the back of each file and comparing the data. And the comparison is performed without returning to the reverse 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 an I picture does not underflow. May be multiplexed earlier in time than a frame of the same PTS as the predetermined PTS included in the.
  • the PTS of the first picture of the video and the PTS of the first frame of the audio in “Movie fragment” should be multiplexed or close to each other. Is common.
  • the conversion process may not be performed sequentially. As a result, conversion may occur while the pointer for reading or writing is sequentially moved back and forth. Therefore, whether or not the conversion process can be performed by one continuous process, or when it cannot be performed by one continuous process, the maximum data size that needs to be returned may be registered in the copy manifest file.
  • a specific threshold value may be provided. For example, only a portion including data that matches 8 bytes or more is registered in the copy manifest file. Even if each of the remaining portions other than that portion included in the stream file B includes data of less than 8 bytes that matches the data of the stream file A, the data included in those remaining portions is stored in the difference file. Stored. Further, this threshold value may be described in the copy manifest file as “MIN COPY SIZE: 8 bytes”.
  • the MPEG-2TS file may be converted into the MP4 file by using a copy manifest file indicating a multiplexing unit in the MP4 file.
  • a copy manifest file indicating a multiplexing unit in the MP4 file.
  • audio, video, or text is multiplexed as different “Movie fragments”.
  • the first and last audio frame and video picture DTS in decoding order and the byte offset value from the beginning of the MPEG-2TS file are registered together with the media identification information. May be. It should be noted that the registration order of “Movie fragment” is the same as the order of appearance of “Movie fragment” in the MP4 file.
  • FIG. 8 is a flowchart of the file generation method in 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 that is 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).
  • generation part 14 produces
  • the original file acquisition unit 11 acquires an original file configured in the MPEG2-TS file format.
  • an 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, an MP4 file can be easily generated without returning an original file constituted by a file format such as MPEG2-TS to each stream such as a video stream or an audio stream. Even if the original file is encrypted, it is not necessary to decrypt and re-encrypt it. Therefore, it is possible to suppress the processing load for generating the MP4 file.
  • the original file acquisition unit 11, the difference file acquisition unit 12, and the procedure file acquisition unit 13 acquire the files by reading the original file, the difference file, and the procedure file from the optical disc, respectively.
  • the procedure file acquisition unit 13 acquires the files by reading the original file, the difference file, and the procedure file from the optical disc, respectively.
  • the ranges of the parts included in the difference file and the ranges of the parts included in the original file are alternately arranged so that the ranges of the parts included in the difference file, Each range of a plurality of parts included in the original file is described. Therefore, in step S14, the generation unit 14 generates an MP4 file by combining the parts indicated by the ranges in the order of the ranges described in the procedure file. Thereby, each part included in the MP4 file can be generated in order from the head side of the MP4 file, and the MP4 file can be generated more easily because it does not return.
  • each of the multiple parts included in the difference file is described in the procedure file according to the data size.
  • each range of the plurality of parts included in the original file is described in the procedure file by the start position and data size of the part.
  • step S14 the generation unit 14 further determines whether the medium has enough free space for recording the MP4 file based on the data size of the MP4 file described in the procedure file. Also good. Thus, since it is determined whether or not there is enough free space for recording the MP4 file on the medium, if there is no free space, processing such as canceling the generation of the MP4 file in advance may be performed. it can. That is, it is possible to prevent an error from occurring.
  • the MP4 file attributes are described in the procedure file. Therefore, the file generation apparatus 10 may further read out the attribute described in the procedure file.
  • the MP4 file attribute is read from the procedure file before the MP4 file is generated, it can be determined in advance whether or not the desired MP4 file is generated.
  • the procedure file describes the buffer size required for playing MP4 files. Therefore, the file generation device 10 may further read the buffer size described in the procedure file. Thus, if the buffer size necessary for reproducing the MP4 file is read from the procedure file, it is possible to easily determine whether or not the MP4 file can be reproduced without analyzing the MP4 file.
  • the file generation device 10 further specifies the file having the first file name described in the procedure file as the original file, and specifies the file having the second file name described in the procedure file as the difference file. May be. Thereby, the original file and difference file used for generating the MP4 file can be appropriately acquired.
  • step S14 the generation unit 14 combines header information corresponding to MP4 that is data included in the difference file with data included in the original file. Thereby, an MP4 file having appropriate header information of MP4 can be easily generated.
  • step S11 the original file acquisition unit 11 may acquire an original file in a plain text state, and in step S14, the generation unit 14 may encrypt the generated MP4 file.
  • the confidentiality of the data can be ensured while leaving the data contained in the original file as the MP4 file.
  • step S14 every time the part constituting the original file is acquired, the generation unit 14 generates and encrypts the part of the MP4 file corresponding to the part, and the part constituting the MP4 file is encrypted. Each time it is done, the portion of the original file corresponding to that portion may be deleted. Thereby, it is possible to prevent all the data included in the plaintext original file from being temporarily stored in the storage area, and to ensure the confidentiality of the data more reliably.
  • the MP4 file is generated using the difference file and the copy manifest file.
  • the MP4 file may be generated without using these files.
  • an MPEG2-TS stream file composed 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.
  • An MPEG2-TS stream file (that is, content) is composed of a plurality of source packets as described above.
  • the source packet is abbreviated as SP.
  • each source packet included in the MPEG2-TS stream file 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 plain text.
  • AES-CTR (CountTeR) mode is used for encryption.
  • encryption and decryption are performed using the counter value.
  • FIG. 9 using the value of the video counter (AES Counter for Video), multiple TS Payloads each containing video data are encrypted, and the value of the audio counter (AES Counter for Audio) is obtained.
  • AES Counter for Audio the value of the audio counter
  • the video counter counts only the video source packet data so that the count value increases in accordance with the arrow shown in FIG.
  • the audio counter counts only the audio source packet data so that the count value increases in accordance with the arrow shown in FIG. Details of encryption in the AES-CTR mode will be described later.
  • the file generation device can easily convert an MPEG2-TS stream file into an MP4 stream file by taking out 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 explaining data encryption in the AES-CTR mode.
  • a key and an initial value IV (Initial Vector) are used.
  • the ciphertext c1 corresponding to the first 16 bytes is generated by the exclusive OR operation between the value obtained by this encryption and the first 16 bytes of the data to be encrypted (m1 shown in FIG. 10A).
  • the ciphertext c2 corresponding to the next 16-byte data is generated.
  • a ciphertext is generated by performing an exclusive OR in bit units in the last block.
  • FIG. 10B is a diagram for explaining data decoding in the AES-CTR mode.
  • the same processing as that for encryption is performed on the data to be decrypted. That is, at the time of decryption, the process of encrypting the IV using the key is performed.
  • the file generation method is a file generation method for generating an MP4 file, which acquires an original file composed of a plurality of packets, and for each packet included in the original file, Among them, only the remaining encrypted payload portion excluding the header information in the plaintext state is acquired and combined to generate an MP4 file.
  • the original file configured in the MPEG2-TS file format is acquired.
  • an MP4 file can be easily generated without returning an original file constituted by a file format such as MPEG2-TS to each stream such as a video stream or an audio stream.
  • there is no need to decrypt and re-encrypt the original file Therefore, it is possible to suppress the processing load for generating the MP4 file.
  • the payloads of the plurality of packets including video data are encrypted using the counter value of the first counter for video
  • the audio data Each of the payloads of the plurality of packets including 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 video from the beginning of the original file to the back, and the second counter proceeds from the beginning of the original file to the back. Thus, only the data included in each of the plurality of packets corresponding to the audio is counted.
  • the first counter is used as a video-dedicated counter, it is possible to easily decode a video elementary configured by combining the 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 configured by combining the payloads of a plurality of packets corresponding to audio in the MP4 file. it can.
  • the original file is composed of a plurality of aligned units, and each of the plurality of aligned units is composed 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 TS Payload
  • the header information is composed of TP_extra_header and TS Header.
  • the MP4 file is generated using the difference file and the copy manifest file.
  • the MP4 file may be generated without using these files.
  • an MPEG2-TS stream file including auxiliary information is converted into an MP4 stream file using the auxiliary information. As a result, an MP4 stream file is generated.
  • an access unit in MPEG2-TS includes both initialization information essential for decoding a video picture or audio frame, and encoded data of a picture or frame.
  • an access unit (referred to as a sample or MP4 sample in MP4) in an MP4 file is composed only of encoded data of a picture or a frame, and initialization information necessary for decoding is encoded data as header information of the MP4 file. Stored separately.
  • auxiliary information for reducing the amount of processing related to the conversion and a method of converting a multiplexed format using the auxiliary information explain.
  • the encoded data is encrypted, the amount of processing when decrypting and re-encrypting is large.
  • conversion to an MP4 file can be performed only by copying data without decrypting the encoded data.
  • the MPEG2-TS stream file that is the original file before conversion may be another TS (transport stream).
  • the original file is used not only for the TS specified by the MPEG-2 system but also for a TS (for example, Blu-ray (registered trademark) disc or video distribution) in which header information of a predetermined number of bytes is added to the TS packet.
  • TS for example, Blu-ray (registered trademark) disc or video distribution
  • the MP4 file generated by the conversion may be an MP4 file using “Movie fragment”, or an MP4 file not using “Movie fragment”.
  • the format of the file generated by the conversion is DEFF (Digital Entertainment Content Ecosystem) CFF (Common File Format) or MPEG-DASH (Dynamic Adaptive Stream) such as MPEG4 based on MP4. Good.
  • DEFF Digital Entertainment Content Ecosystem
  • CFF Common File Format
  • MPEG-DASH Dynamic Adaptive Stream
  • FIG. 11 is a diagram showing an example in which an MPEG-4 AAC access unit stored in a transport stream is stored in an MP4 file.
  • the MPEG-4 AAC access unit in the transport stream is composed of three types of data: LATM (Low Overhead Audio Transport Multiplex) 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 AAC data is stored in PayloadMux ().
  • 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.
  • sample data is data stored in the sample.
  • sample data in mdat is referred to from moov, or when “Movie fragment” is used, sample data in mdat is referred to from moof.
  • an ADTS (Audio Data Transport Stream) header is used instead of a LATM header, and an access unit is composed of an ADTS header and AAC data (called raw_data_block ()).
  • the ADTS header is separated from the access unit, and at least ads_fixed_header () among the data included in the ADTS header is stored in the sample entry.
  • AAC data is stored in mdat as sample data.
  • FIG. 12 is a diagram illustrating an example in which an access unit of MPEG-4 AVC (Advanced Video Coding) stored in the transport stream is stored in MP4.
  • MPEG-4 AVC Advanced Video Coding
  • initialization information necessary 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 initialization information is stored as the header information of the MP4 file.
  • the access unit shown in FIG. 12 constitutes an IDR (Instantaneous Decoder Refresh) picture.
  • NPS Network Adaptation Layer
  • SPS Network Adaptation Layer
  • a mode in which initialization information such as SPS and PPS can be included in MPEG-4 AVC sample data can be selected.
  • 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 initialization information in the sample data. Therefore, when the transport stream is converted into an MP4 file, when the above-described identification information in the MP4 file is set to “avc1” or “avc2”, the data stored in the mdat from the access unit in the transport stream is set.
  • the NPS unit of SPS and PPS or the NAL unit of FillerData used for stuffing is deleted from the inside.
  • the identification information is set to “avc3” or “avc4”
  • the SPS or PPS NAL unit does not have to be deleted. Therefore, whether to delete SPS and PPS may be switched according to the setting value of the identification information in the MP4 file.
  • HEVC High Efficiency Video Coding
  • MPEG-4 AVC High Efficiency Video Coding
  • initialization information may be included in the sample data. Therefore, when converting the transport stream into an MP4 file, whether to delete the initialization information from the data stored in the mdat from the access unit in the transport stream is determined according to the type of encoding method. The processing may be performed according to the determination result.
  • LATM payload As described above, when storing MPEG-4 AAC encoded data in an MP4 file, the LATM header is separated from the access unit. Furthermore, only PayloadLengthInfo () and PayloadMux () are stored in mdat as sample data. Hereinafter, PayloadLengthInfo () and PayloadMux () are collectively referred to as LATM payload.
  • the LATM header and the LATM payload are stored in separate TS packets. Thereby, the LATM header can be easily separated.
  • FIG. 13A is a diagram showing an example of storing the LATM header and the LATM payload in the TS packet. Stuffing is performed as necessary so that the data of the LATM header and the LATM payload are not mixed in the payload of the same TS packet.
  • the LATM header of access unit 1 is stored in the payload of the first TS packet.
  • stuffing is performed on the remaining area of the TS payload.
  • the PES packet is not described, but 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 ensured that the LATM header is included in the payload of the TS packet in which payload_unit_start_indicator is set to 1, whether or not the LATM header is included in the TS packet can be determined based on the value of payload_unit_start_indicator.
  • an AU_info table as auxiliary information may be arranged at the head of the payload of the PES packet.
  • This AU_info table includes the number of access units included in the payload of the PES packet, the LATM header and the size of the LATM payload in each access unit.
  • FIG. 13B is a diagram illustrating an example of the syntax of the AU_info table.
  • the AU_info table includes AU_info_identification_code, number_of_AU indicating the number of access units, and a size_of_LengthInfo indicating the size of the LATM header and LATM payload in the access unit.
  • AU_info_identification_code is a bit string specific to the AU_info table. By searching this code, it can be determined whether or not the AU_info table exists.
  • the AU_info table may have a data structure in which the Box data size and the Box type are combined. However, if 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, the above code is omitted. Also good.
  • the AU_info table may also be used when storing one access unit in one PES packet.
  • a method for identifying data to be separated for conversion to an MP4 file by indicating the size or data offset of each component in the access unit is applied to MPEG-4 AVC encoded data. May be. That is, when storing MPEG-4 AVC encoded data in an MP4 file, the above-described method may be applied to separate the NPS units of SPS and PPS.
  • FIG. 13C is a diagram illustrating an example of the syntax of the AU_info table for indicating whether or not each constituent element in the access unit needs to be excluded from the sample data of the MP4 file.
  • 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.
  • the conversion_mode is a conversion mode indicating how to handle the data unit at the time of conversion to the MP4 file. If the conversion_mode is 0, the conversion_mode indicates that the data unit is copied as sample data of the MP4 file. If the 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 indicate the handling of the data unit after the data unit is excluded. For example, the conversion_mode indicates that the data unit is excluded from the sample data and then stored in the sample entry.
  • 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 NPS unit of SPS and PPS. Each of the LATM header and the LATM payload may be regarded as a data unit. In this case, by setting the conversion_mode to 1 for the data unit corresponding to the LATM header, this AU_info table can be applied to the MPEG-4 AAC. When a plurality of access units are stored in the PES packet, number_of_data_unit indicates the total number of data units included in all the access units in the PES packet.
  • the AU_info table may be stored in the adaptation_field of the TS packet header (TS Header in FIG. 3) including the start portion of the PES packet.
  • the AU_info table may be stored as a part of encoded data such as NAL unit in MPEG-4 AVC or HEVC or 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 leading in the decoding order in the random access unit.
  • a table may be stored.
  • the AU_info table stores information on all access units constituting the random access unit.
  • FIG. 14 is a block diagram showing a configuration of a file generation apparatus according to this modification.
  • the file generation apparatus 100 generates the MP4 file by converting the transport stream including the AU_info table into the 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 that is auxiliary information from the transport stream.
  • the auxiliary information analysis unit 103 determines whether or not an AU_info table exists based on the search result. Further, when the auxiliary information analysis unit 103 determines 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 from 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 LATM payload data or NAL units other than SPS and PPS as sample data in the mdat of the MP4 file.
  • the sample entry generation unit 104b stores the LATM header data or each NPS unit of SPS and PPS in the sample entry in stsd in the moov of the MP4 file.
  • Such a file generation device 100 can easily convert a transport stream including the AU_info table described above into an MP4 file.
  • MPEG2-TS and MP4 have different storage locations for initialization information required for decoding. Furthermore, the storage format of NAL units in MPEG-4 AVC or HEVC differs between MPEG2-TS and MP4. Therefore, conversion from a transport stream to an MP4 file requires conversion of the storage format.
  • the storage format of the NAL unit 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.
  • type information indicating the type of data stored in the payload is stored.
  • FIG. 15B is a diagram showing an example of the storage format of the NAL unit in MPEG2-TS.
  • MPEG2-TS a unique bit string called a start code is added to the NAL unit as identification information in order to identify the boundary of the NAL unit (hereinafter, the format of such identification information is called a start code format).
  • a decoding device or the like can separate a desired NAL unit by searching the start code and the type information stored in the header of the NAL unit.
  • FIG. 15C is a diagram showing an example of the storage format of the NAL unit 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 a NAL size format).
  • the field length of the field indicating the data size is stored in the AVCDecoderConfigurationRecord in the sample entry.
  • AVCDecoderConfigurationRecord is an area for storing initialization information at the time of decoding.
  • a decoding device or the like can separate a desired NAL unit based on the data size of the NAL unit.
  • MPEG2-TS and MP4 also differ in that the format of identification information indicating the boundary between NAL units is a start code format or a NAL size format. Therefore, when converting a transport stream into an MP4 file, it is necessary to convert identification information indicating the boundary of the NAL unit. Since the storage format of the NAL unit is defined for each encoding method, the conversion operation to the MP4 file may be switched with reference to the audio or video encoding method.
  • NAL unit data size is required. Therefore, it is desirable that the data size of the NAL unit constituting the access unit can be acquired in advance. By doing so, it is possible to reduce the processing amount when determining the data size of the NAL unit by searching the start code in the access unit of 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 head of the access unit in the transport stream in this modification.
  • FIG. 16A is a diagram illustrating a configuration example of an access unit in the transport stream according to the present modification.
  • size information indicating the data size of each NAL unit constituting the access unit multiplexed in the transport stream is stored at the head of the access unit.
  • this size information is stored in a newly defined size information NAL unit.
  • NAL unit types include private and user data. Therefore, one of these types is selected, and the selected type of NAL unit is used as the size information NAL unit. Since there is no need to encrypt the size information, this size information NAL unit is stored in plain text.
  • FIG. 16B is a diagram illustrating an example of the syntax of the 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 constituting the 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 arranged in front of the NAL unit for signaling the head of the access unit called Access Unit Delimiter (AUD), but is arranged immediately after the AUD. Also good.
  • AUD Access Unit Delimiter
  • the size information of the size information NAL unit indicates the size of each NAL unit after the AUD. Therefore, the size information does not indicate the data size of AUD. However, since the data size of the AUD is fixed, the file generation device 100 may store the data size in advance. Further, similarly to the AU_info table, the size information may be arranged at the head of the payload of the PES packet.
  • FIG. 16C is a diagram illustrating another example of the syntax of the size information included in the size information NAL unit.
  • a variable length code such as zero_byte may be included in front of the NAL unit in the transport stream in addition to the start code. Therefore, as shown in FIG. 16C, the data size of the identification information including the start code of the NAL unit (prefix_size shown in FIG. 16C) 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 MPEG2-TS descriptor or auxiliary data at the time of conversion to the MP4 file. Further, in the NAL size format, the field length of the field indicating the data size of the NAL unit after conversion into the MP4 file may be indicated.
  • the identification information may be regarded as a data unit, and the contents of Nal_size_info may be indicated by an AU_info table.
  • a mode of converting the data structure of the data unit may be added in addition to the two operations of deleting the data unit and leaving it as it is by making conversion_mode multi-valued.
  • identification information for identifying the type of the data unit may be added to the AU_info table.
  • the type of NAL unit such as an SPS NAL unit, a PPS NAL unit, or a slice NAL unit in MPEG-4 AVC or HEVC can be determined based on such identification information.
  • a field indicating whether or not the data unit is encrypted may be provided separately.
  • Data units with different conversion_modes may be stored in different TS packets.
  • the conversion_mode is 2
  • the data unit stored in the sample entry as header information may be stored in the TS packet as plain text.
  • NAL unit of the slice data may be encrypted, and the other parts may be plain text. Since encryption is performed in units of TS packets, plaintext and encrypted parts cannot be mixed in the payload of TS packets, AUD has a small data size, and if AUD is stored as an independent packet, stuffing increases and multiplexing This is because efficiency decreases. Further, stuffing is necessary when the boundary of the NAL unit data of the encrypted slice is not aligned with the end of the payload of the TS packet. When performing stuffing, there is a method of using adaptation_field of a TS packet header, or inserting Filler Data NAL unit or Filler Data SEI 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 in plain text, but switching the process of whether or not to encrypt a variable-length area is expensive. Therefore, when performing stuffing, it is desirable that the boundary of the NAL unit data is aligned with the end of the payload of the TS packet by using the stuffing data structure in the encoded data.
  • the user data storage SEI (User unregistered SEI) may be inserted into the adaptation field of the TS packet or the access unit, and the size information may be stored in the SEI.
  • the start code format can be converted to 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 size information is stored may be stored using a descriptor in MPEG2-TS.
  • FIG. 17 is a flowchart showing a processing operation in which the file generation device 100 according to this modification generates an MP4 file. Specifically, this flowchart shows an example of a processing operation for 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 device 100 searches the AU_info table arranged at the beginning of the payload of the PES packet (step S101).
  • the auxiliary information analysis unit 103 determines whether or not an AU_info table exists based on the search result (step S102).
  • the auxiliary information analysis unit 103 includes the data size of each data unit included in the AU_info table and the conversion of each data unit.
  • 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 the data unit. The data is copied and pasted on mdat (step S105).
  • the sample generation unit 104a regards the payload of the PES packet as data for one access unit and separates it.
  • the sample generation unit 104a searches for the boundary of each access unit in the encoded data. To separate those 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 the data unit corresponding to the conversion mode as sample data and pastes it to mdat (step S105). On the other hand, if it is determined that the conversion mode is not 0 (“No” in step S104), the auxiliary information analysis unit 103 determines whether or not the conversion mode is 1 (step S106). If 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 converted data structure to the data structure.
  • the stored data unit is stored in mdat as sample data (step S107).
  • the sample generation unit 104a converts the format of the identification information of the NAL unit boundary from the start code format to the NAL size format.
  • the sample entry generation unit 104b stores the data unit corresponding to the conversion mode in the mdat without storing the data unit.
  • the sample entry generation unit 104b stores NPS units of SPS and PPS in MPEG-4 AVC in the sample entry.
  • the sample entry generation unit 104b separates AudioSpecificConfig () from the MPEG-4 AAC LATM header and stores it in the sample entry.
  • the portion stored in the sample entry is defined in advance in the encoding method, but auxiliary data for specifying the storage portion in the sample entry may be indicated 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.
  • mode 1 data is copied alternately 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 (int32, int8), for example.
  • mode 2 if the copy size is 0, copy is skipped. Since data can be copied continuously from the same file, the data length of the address can be shortened compared to mode 1. For example, 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 (int16, int8), for example.
  • mode 3 instead of explicitly indicating the copy size in mode 2, data up to the end of the payload of the TS packet indicated by the address is copied.
  • the copy size field is omitted.
  • a difference value between index numbers of TS packets in the stream file may be used.
  • 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).
  • the copy mode indicates whether copying is skipped.
  • FIG. 18 is a diagram showing a specific example of address designation when mode 2 is used.
  • the start position 1 and the 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. Therefore, the difference value of the address cannot 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 so, it is possible to acquire 180 bytes of data after jumping to the start position 2.
  • FIG. 19 is a diagram illustrating an example of reading a continuous area exceeding the upper limit of the copy size.
  • the address or copy size indicating the copy start position may be described in units of 4 bytes instead of units of 1 byte.
  • identification information indicating whether to copy from a difference file or a stream file is separately provided, so that entries for one file are not consecutively described, but entries for one file are consecutive. May be described.
  • FIG. 20 is a diagram for explaining a process of creating an MP4 file by copying data from an elementary stream.
  • an MPEG2-TS file in which video is multiplexed is 10 GB and the size of a TS packet is 192 bytes
  • the number of packets is 55924053, 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 greatly reduced as compared with a case where an entry is generated for each packet.
  • an MPEG2-TS file is double-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 after decryption and separation of the encoded stream, so that the copying operation according to this method is possible.
  • AACS Advanced Access Content System
  • the entry consists of (file ID, copy start position address, copy size).
  • the bit length of each field is, for example, (int4, int22, int22 in 1-byte units).
  • 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 a value of 1 or more is assigned to the file of the elementary stream.
  • the maximum size of one frame is about 4 Mbytes.
  • the maximum difference value of the address at the copy start position may be the maximum size of one frame, and 4 Mbytes can be expressed by 22 bits.
  • the copy size is 22 bits in order to express the maximum size of one frame.
  • the entry consists of (file ID, copy start position address, copy size).
  • the bit length of each field is, for example, (int4, int12, int16 in 1-byte units).
  • 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 units of payload of the NAL unit. For this reason, a field for the address of the copy start position is provided, but if the elementary stream in the TS can be copied as it is, the field of the address for 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 into a NAL size format after copying. Also at this time, since the data can be read continuously, the address of the copy start position is unnecessary.
  • a plurality of MPEG2-TS files can be continuously reproduced by referring to a playlist, and a stream constraint condition at a file boundary is also defined. For example, when a plurality of files or playback sections are seamlessly connected, the playback sections of two audio to be connected may be overlapped.
  • MP4 it is possible to specify a plurality of MP4 files that are continuously played back using a playlist, and it is assumed that the same constraints are added.
  • FIG. 21 is a diagram showing an example of audio and video playback sections in two MP4 files that are played back continuously.
  • the audio playback sections overlap.
  • DTS Decode TimeStamp
  • PTS Physical Transport Stream
  • Information indicating whether or not the MP4 playback sections overlap or information indicating the overlapping playback sections is stored in the playlist or MP4 file.
  • the PTS of the first sample of audio and video in the MP4 file referred to by the play item in the playlist and the playback end time of the last sample are described.
  • the absolute time of the DTS or PTS of the first sample of the MP4 file may be stored in the moov of the MP4 file.
  • the absolute time of DTS or PTS of the first sample of Movie fragment or the first sample of each track in Movie fragment may be stored in moof or traf.
  • MP4 there is no overlap or gap in the video playback section, and it is guaranteed that PTS is continuous. In this case, it is only necessary to show the information about overlap only for audio or text.
  • XXX2. If the PTS of the first sample of the MP4 video is T0, XXX2.
  • An offset value between T0 and the reproduction end time of the last sample of the MP4 audio may be stored.
  • the offset value with the PTS of the first sample of MP4 is set to XXX2. You may store in MP4.
  • the playback device selects or synthesizes audio samples to be output based on these pieces of information related to overlap. Note that the video playback sections may be overlapped, or the audio or video playback sections may not be overlapped, but a gap may be
  • a plurality of files are continuously played using a playlist.
  • a single MP4 file may be generated by integrating playback sections that are played back continuously. .
  • FIG. 22A is a diagram for explaining a method of generating one MP4 file by integrating playback sections.
  • playback section 1 and playback section 2 are integrated to form XXX3.
  • MP4 is generated.
  • the audio in the playback section 1 is composed of, for example, 100 samples from sample 1-1 to sample 1-100.
  • the audio in the playback section 2 is composed of, for example, 100 samples from sample 2-1 to sample 2-100.
  • audio will be described as an example.
  • samples 2-1 to 2-100 are stored following samples 1-1 to 1-100, and each sample is played back in order during playback.
  • start time: PTS, end time: PTS + playback time length start time: PTS, end time: PTS + playback time length
  • sample 2-1 is deleted and XXX3.
  • An MP4 audio track is configured. Thereby, the overlap between samples is eliminated. The same applies to the case where the playback section of the plurality of samples included in the playback section 1 and the playback section of the plurality of samples included in the playback section 2 overlap.
  • ⁇ T be the time length of the overlapping playback sections.
  • the last sample in the playback section 1 and the first sample in the playback section 2 are different from each other, and ⁇ T is stored in the trof of the moof. This ⁇ T indicates that the playback section of ⁇ T from the beginning of the audio track in the movie fragment included in the playback section 2 overlaps with the playback section of the audio track of the immediately previous movie fragment.
  • a non-reproduction section corresponding to the gap section is generated by the edit list function in MP4 or the duration-is-empty flag set in the movie fragment.
  • an overlap section (overlapping playback section) or a gap section (a section where a gap exists) may be indicated in the metadata in the MP4 header or an external file.
  • MP4 including a gap section has higher affinity with conventional MP4 than MP4 including an overlap section. Therefore, when the MP4 file is generated by integrating the playback sections including the overlap sections, for example, in the playback section 2 of FIG. 22A, samples including at least a part of the overlap sections are deleted.
  • a non-reproduction section is generated. This method can be applied not only to audio but also to video and subtitles. Further, information indicating whether or not deletion is necessary, a sample that needs to be deleted, a time length of a gap generated as a result of deletion, and the like may be stored as auxiliary information such as a copy manifest.
  • Such a playback apparatus that plays back an MP4 file plays back audio data in 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 section, the playback apparatus synthesizes the decoding result of the audio sample including the data in each overlapped playback section, for example. Then, the playback device outputs the synthesized decoding result. Further, when integrating playback sections that are continuously played back, it is necessary to identify whether or not an overlap section or a gap section exists in the playback section to be integrated. Therefore, information indicating the presence / absence of an overlap section and the time length thereof may be acquired as auxiliary information in the optical disc or from the Internet.
  • FIG. 22B is a block diagram of the file generation apparatus according to the present embodiment.
  • the file generation apparatus 20 in the present embodiment is a file generation apparatus that generates 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 continuously reproduced.
  • the storage unit 22 stores, in the generated MP4 file, information indicating a section in which the playback timing overlaps in each of the two streams.
  • the above-mentioned two streams are the playback section 1 and the playback section 2 shown in FIG. 22A
  • the generated MP4 file is a file “XXX3.MP4” shown in FIG. 22A.
  • the section where the playback timing overlaps in each of the two streams is, for example, a section of ⁇ T shown in FIG. 22A.
  • FIG. 22C is a flowchart of the file generation method in the present embodiment.
  • the file generation method in the present embodiment is a file generation method for generating an MP4 file, and includes step S21 and step S22.
  • step S21 one MP4 file is generated by integrating the two streams so that the two streams are continuously reproduced.
  • step S21 information indicating a section where the reproduction timing overlaps in each of the two streams is stored in the generated MP4 file.
  • step S21 two streams that are at least part of the original file each configured in the MP4 file format are integrated.
  • two streams each including audio data are integrated.
  • the playback device that plays back the MP4 file can easily specify the data of the overlap section from the MP4 file using the information.
  • the playback apparatus can appropriately play back the data by combining the data in the overlapping section. That is, an MP4 file suitable for overlapping reproduction can be generated.
  • step S21 if the above-described section exists over a plurality of samples included in any one of the two streams, the two streams are deleted after deleting at least one of the plurality of samples. To integrate. Thereby, since the sample is deleted, the overlap section can be shortened. As a result, it is possible to reduce the burden of special processing by the playback device for the overlap section.
  • step S22 time information indicating the time length of the above-described section is stored in the MP4 file as the above-described information. That is, the time information indicating the above ⁇ T is stored in the MP4 file.
  • a playback apparatus that plays back an 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 by combining the data of the overlapping sections.
  • step S22 the time information is stored in the traf in the moof in the MP4 file. Thereby, the reproducing
  • 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 disk on which the above information is recorded. Accordingly, the information can be easily stored in the MP4 file without generating information indicating the overlap section.
  • FIG. 22D is a block diagram of the playback device in the present embodiment.
  • the playback device 30 in the present embodiment is a playback device that plays back an MP4 file, and includes an extraction unit 31 and a synthesis unit 32.
  • the extraction unit 31 extracts, from the MP4 file, information indicating two sections in which playback timing overlaps in a playback target content (for example, an audio track).
  • the synthesizing unit 32 specifies two sections in the content based on the extracted information, and synthesizes and outputs the decoding results for the respective data in the two sections.
  • FIG. 22E is a flowchart of the reproduction method according to the present embodiment.
  • the reproduction method in the present embodiment is a reproduction method for reproducing an MP4 file, and includes step S31 and step S32.
  • step S31 information indicating two sections where the playback timing overlaps in the content to be played (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 results for the respective data in the two sections are synthesized and output.
  • the playback device can easily specify the data of the overlap section from the MP4 file. As a result, the playback device can appropriately play back the data in the overlap section.
  • the recording medium in the present embodiment is a recording medium that records an MP4 file.
  • the MP4 file includes content (for example, an audio track) that is read and reproduced by a computer, and information indicating two sections in which reproduction timing overlaps.
  • the playback device that reads and plays back the MP4 file from the recording medium can easily specify the data of the two sections described above from the MP4 file using the information.
  • the playback device can appropriately play back the data by combining the data of those sections.
  • FIG. 23A is a diagram illustrating an example of a menu screen when an MP4 file is generated from content stored on an optical disc.
  • FIG. 23B is a diagram for explaining a method of generating an MP4 file using an optical disc and a network.
  • audio and subtitles in multiple languages are stored, and when the MP4 file is generated, the language stored in the MP4 file can be selected.
  • Japanese and English are selected for each of audio and subtitles from Japanese, English, Spanish, and Chinese stored in the disc.
  • the sample size in audio or subtitle differs for each language, the content of the copy manifest file depends on the sample size. For this reason, the number of copy manifest files increases in proportion to the combination of selected languages in audio or subtitles. Therefore, the MP4 file may always store audio and subtitle data in all languages, further store information indicating the language selected by the user, and select the user's desired language during playback. . By doing so, the copy manifest file can be made the same regardless of the selected language.
  • an audio encoding method such as AAC or AC3 may be selected depending on whether or not a device that plays back an MP4 file has support.
  • audio data of all encoding methods may be stored in the MP4 file. In the case of storing audio data of all encoding methods, at the time of reproduction, the encoding method is selected based on a user's selection operation or preset information of the reproduction device.
  • the audio and subtitles of all languages may be stored without selecting the language when generating the MP4 file, and the user may select it during playback.
  • the copy manifest file can be acquired via the network, it is not necessary to store the copy manifest file on the optical disc. In particular, when the number of copy manifest files increases to make it possible to select an arbitrary language, acquisition via a network is effective. Only the copy manifest file corresponding to the default language combination may be stored in the optical disc, and the copy manifest file corresponding to the other combination may be downloaded from the server.
  • audio or subtitles in a language that can be acquired from an optical disc or a network, and audio or subtitle languages included in the MP4 file are respectively acquired, and an external language out of the languages not included in the MP4 file is acquired.
  • the user may select and acquire a language that can be acquired from.
  • a list of externally obtainable audio is stored in an MP4 file or the like. If the playback apparatus cannot decode the audio encoding system in the MP4 file during playback of the MP4 file, the audio of the encoding system supported by the playback apparatus may be selected and acquired from the outside. At this time, the data acquired from the outside may be encoded data including only captions 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 reproduced synchronously. Alternatively, a complete MP4 file including all of video, audio, and subtitles may be acquired from the outside.
  • the content stored on the optical disc may be an MP4 file instead of an MPEG2-TS file.
  • the MP4 file data 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 performing the conversion process.
  • the key for encrypting the content may be changed.
  • a device that generates an MP4 file such as a BD player converts the content in the optical disc into the MP4 file 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.
  • An MP4 file may be generated by determining whether it is necessary.
  • auxiliary information such as a copy manifest file may indicate information indicating whether conversion to MP4 is necessary. Further, even if the content stored on the optical disc is in the MP4 format, the user may select a type such as audio or subtitles in a specific language in the content, a theater release version, or a director's cut version. Then, only the data selected from the MP4 file in the optical disk based on the selection result may be extracted to generate the MP4 file.
  • the file size can also be reduced by indicating the information for specifying the multiplexing unit of the output MP4 file in the copy manifest file, and the number of copy manifest files can be reduced. It is effective when there are many.
  • the information shown in the copy manifest it is possible to uniquely determine the unit of the movie fragment in the MP4 file and use language-independent information.
  • the information is, for example, the identification information of the PTS or DTS of the sample that is the head of the movie fragment, or the MPEG2-TS file from which the sample data is acquired.
  • the MP4 file header information cannot be included in a copy manifest file that can be used in common for different languages. Therefore, when converting to an MP4 file, the unit of the movie fragment is determined based on the copy manifest file, and the header information of the MP4 file is generated based on the PTS or DTS for each sample or the size of the sample. To do.
  • the size of the NAL unit constituting the access unit (corresponding to the sample of the MP4 file) and information indicating the PTS or DTS may be stored in the copy manifest.
  • FIG. 24 is a diagram showing an example of a copy manifest showing the NAL unit size, PTS, and DTS.
  • the MPEG2-TS start code format can be converted to the MP4 NAL size format using the size information.
  • the size information may indicate the size of the start code portion and the size of the NAL unit portion separately.
  • 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 into the NAL size format by replacing the data indicating the size of the NAL unit portion.
  • This start code corresponds to the identification information shown in FIG. 15B and includes zero_byte.
  • the PTS or DTS may be expressed not in the PTS or DTS value in the MPEG2-TS PES header but in the data format used in the MP4 header.
  • the difference value between the DTSs of two samples that are consecutive in decoding order can be shown, and for PTS, the difference value between DTS and PTS can be shown.
  • information indicating the absolute value of the PTS or DTS of the first sample may be stored. Further, information for identifying a NAL unit to be deleted at the time of conversion to an MP4 file may be added.
  • header information such as ADTS and LATM is deleted from the sample data.
  • size of the header information is fixed, only one of the total value of the header information and the size of the payload data and the size of the payload data may be indicated.
  • the frame rate is fixed, only the default value may be indicated in the DTS information.
  • the playback time length for each sample may also be different.
  • a copy manifest file may be prepared for each audio encoding method.
  • subtitle data when subtitle data is stored in the MP4 file, the subtitle data may be stored together at the end of the file.
  • FIG. 25 is a diagram showing an example of caption data stored at the end of the MP4 file.
  • the movie fragment of the AV (Advanced Video) data is the same.
  • the video or audio movie fragment and the subtitle movie fragment are interleaved and stored, it is necessary to change the contents of the moof. This is because the position of the movie fragment of the AV data changes when the size of the caption data changes.
  • caption data is smaller in size than AV data. Therefore, it is also possible to reproduce the subtitle data of the entire content or the subtitle data included in a unit such as a chapter obtained by dividing the content in a memory collectively. At this time, if subtitle data is stored together at the end of the file, there is an advantage that the subtitle data can be easily obtained.
  • the caption data may be based on a text font or image data in a PNG (Portable Network Graphics) format or the like.
  • trun may be generated for each unit such as a chapter to improve accessibility to subtitle data included in a predetermined unit.
  • the trun may be generated so that the size of the caption data constituting the trun is equal to or smaller than the buffer size in accordance with the buffer size that holds the text data during reproduction.
  • subtitle data in a specific language can be easily obtained by storing each language in a different movie fragment.
  • information for specifying the language stored in the movie fragment is required. Therefore, for example, each language may be handled as a different track, and the track ID may be associated with the language.
  • the track ID is indicated by a box in the traf.
  • the information that associates the track ID with the language may be stored in a metadata storage box or the like in MP4, or may be management information different from the MP4 file.
  • the correspondence between languages and movie fragments can be applied to audio.
  • a random accessible sample in video, audio or subtitle is indicated by mfra.
  • the playback sections of video and audio movie fragments that are continuous with each other match, only the video random access points need be shown.
  • an audio sample having the same PTS, immediately before or immediately after can be obtained from the immediately following movie fragment.
  • the PTS of the first sample of video (V-1) matches the first sample of audio (A-1).
  • the text is stored at the end of the file, it is necessary to indicate a random access point independently for the text.
  • audio or subtitle data in all languages in the optical disc content is stored in the MP4 file.
  • a random access point may be indicated in mfra only for a track corresponding to the selected language.
  • the content stored on the optical disc has different resolutions for video and graphics.
  • the resolution of video is 4K
  • the resolution of graphics such as captions is 2K in order to reduce the processing amount.
  • FIG. 26 is a diagram illustrating a case in which subtitles with 2K resolution are scaled to 4K and displayed.
  • information for specifying a subtitle display area is required together with subtitle data and its resolution.
  • the display area is specified using, for example, the size and display position of a 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.
  • the XML description part of the Timed Text is part of the XML (extensive data) that constitutes the 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 both are different, the subtitles are scaled and displayed so as to match the video resolution.
  • the caption is image data
  • the image data is enlarged, and if it is text data, a size that matches the video resolution is selected.
  • the display area is also determined by calculation according to the scaling coefficient. Information indicating the display area after scaling according to the video resolution may be stored.
  • 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 on a recording medium such as a hard disk or a semiconductor memory.
  • the software that realizes the file generation apparatus and the like in the above-described embodiment and each modification causes the computer to execute each step included in the flowchart shown in FIG. 8 or FIG.
  • the file generation device and the playback device have been described based on each embodiment and each modification.
  • the present disclosure is limited to these embodiments and each modification. It is not a thing. Unless it deviates from the gist of the present disclosure, various modifications conceived by those skilled in the art are applied to each embodiment and each modification, and a form constructed by combining the components in each embodiment and each modification is also possible. It may be included within the scope of one or more embodiments.
  • a file constituted by MPEG2-TS is used as the original file.
  • the original file may be any file or transport stream other than the MPEG2-TS file as long as the file is configured in a file format different from MP4.
  • each of these playback sections may be a movie fragment of an MP4 file, It may be a stream.
  • Each of the above 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 hard disk unit.
  • Each device achieves its functions by the microprocessor operating according to the computer program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions for the computer in order to achieve a predetermined function.
  • a part or all of the components constituting each of the above devices may be configured by one system LSI (Large Scale Integration).
  • the system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, a computer system including a microprocessor, ROM, RAM, and the like. .
  • a computer program is stored in the RAM.
  • the system LSI achieves its functions by the microprocessor operating according to the computer program.
  • a part or all of the constituent elements constituting each of the above devices may be constituted by an IC card or a single module that can be attached to and detached from each device.
  • 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 have tamper resistance.
  • 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 also relates to a computer-readable recording medium 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 ( (Registered trademark) Disc), or recorded in a semiconductor memory or the like.
  • the digital signal may be recorded on these recording media.
  • the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.
  • the present disclosure may be a computer system including a microprocessor and a memory, and the memory may store the computer program, and the microprocessor may operate according to the computer program.
  • program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like and executed by another independent computer system. You may do that.
  • the data transmission method and the data reproduction method according to one or more aspects of the present disclosure have been described based on the embodiments, but the present disclosure is not limited to the embodiments. Unless it deviates from the gist of the present disclosure, one or more of the present disclosure may be applied to various modifications conceived by those skilled in the art in the present embodiment, or forms configured by combining components in different embodiments. It may be included within the scope of the embodiments.
  • the present disclosure has an effect that the processing load can be suppressed, and can be applied to, for example, a device that converts a file format from MPEG2-TS to MP4, and can be used for a device such as a smartphone or a tablet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

 本開示の一態様に係るファイル生成方法は、MP4ファイルを生成するファイル生成方法であって、2つのストリームが連続して再生されるようにその2つのストリームを統合することによって1つのMP4ファイルを生成するステップと、その2つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成された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ファイルを生成するファイル生成方法であって、2つのストリームが連続して再生されるように前記2つのストリームを統合することによって1つのMP4ファイルを生成し、前記2つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成された前記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にスケーリングして表示するケースを示す図である。
 (本開示の基礎となった知見)
 本発明者は、「背景技術」の欄において記載した上記特許文献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 Paloadから実際の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)
 図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)
 上記実施の形態では、差分ファイルおよびコピーマニフェストファイルを用いて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 Paylordが暗号化され、オーディオ用のカウンタ(AES Counter for Audio)の値を用いて、それぞれオーディオのデータを含む複数のTS Paylordが暗号化される。ビデオ用のカウンタは、図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からなる。
 (変形例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テーブル内に示してもよい。
 (変形例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ファイルを再生する際には、ビデオと字幕の解像度を取得して、両者の解像度が異なる場合には、ビデオの解像度と一致するように字幕をスケーリングして表示する。このとき、字幕が画像データであれば、画像データを拡大するなどし、テキストデータであれば、ビデオの解像度と整合するサイズを選択する。表示領域についても、スケーリングの係数などに応じて計算して決定する。なお、ビデオの解像度に合わせてスケーリングした後の表示領域を示す情報を格納してもよい。
 なお、上記実施の形態および各変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態および各変形例におけるファイル生成装置などを実現するソフトウェアは、図8または図17などに示すフローチャートに含まれる各ステップを、コンピュータに実行させる。
 以上、一つまたは複数の態様に係るファイル生成装置および再生装置について、各実施の形態および各変形例に基づいて説明したが、本開示は、これらの実施の形態および各変形例に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態および各変形例に施したものや、各実施の形態および各変形例における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
 例えば、実施の形態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,100  ファイル生成装置
 11  元ファイル取得部
 12  差分ファイル取得部
 13  手順ファイル取得部
 14,104  生成部
 21  統合部
 22  格納部
 30  再生装置
 31  抽出部
 32  合成部
 101  補助情報サーチ部
 103  補助情報解析部
 104a  サンプル生成部
 104b  サンプルエントリ生成部

Claims (11)

  1.  MP4ファイルを生成するファイル生成方法であって、
     2つのストリームが連続して再生されるように前記2つのストリームを統合することによって1つのMP4ファイルを生成し、
     前記2つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成された前記MP4ファイルに格納する
     ファイル生成方法。
  2.  前記2つのストリームの統合では、
     それぞれMP4のファイルフォーマットで構成されている元ファイルの少なくとも一部である前記2つのストリームを統合する
     請求項1に記載のファイル生成方法。
  3.  前記2つのストリームの統合では、
     前記2つのストリームのうちの何れか一方のストリームに含まれる複数のサンプルにわたって前記区間が存在する場合、
     前記複数のサンプルのうちの少なくとも1つを削除した後に、前記2つのストリームを統合する
     請求項2に記載のファイル生成方法。
  4.  前記情報の格納では、
     前記区間の時間長を示す時間情報を前記情報として前記MP4ファイルに格納する
     請求項1~3の何れか1項に記載のファイル生成方法。
  5.  前記情報の格納では、
     前記MP4ファイルにおけるmoof内のtrafに前記時間情報を格納する
     請求項4に記載のファイル生成方法。
  6.  前記ファイル生成方法では、
     前記情報を保持している装置または光ディスクから前記情報を取得する
     請求項1~5の何れか1項に記載のファイル生成方法。
  7.  前記2つのストリームの統合では、
     それぞれオーディオのデータを含む前記2つのストリームを統合する
     請求項1~6の何れか1項に記載のファイル生成方法。
  8.  MP4ファイルを再生する再生方法であって、
     再生対象のコンテンツにおいて再生のタイミングがオーバーラップする2つの区間を示す情報を前記MP4ファイルから抽出し、
     抽出された前記情報に基づいて前記コンテンツにおける前記2つの区間を特定し、当該2つの区間のそれぞれのデータに対する復号結果を合成して出力する
     再生方法。
  9.  MP4ファイルを生成するファイル生成装置であって、
     2つのストリームが連続して再生されるように前記2つのストリームを統合することによって1つのMP4ファイルを生成する統合部と、
     前記2つのストリームのそれぞれにおいて再生のタイミングがオーバーラップする区間を示す情報を、生成された前記MP4ファイルに格納する格納部と
     を備えるファイル生成装置。
  10.  MP4ファイルを再生する再生装置であって、
     再生対象のコンテンツにおいて再生のタイミングがオーバーラップする2つの区間を示す情報を前記MP4ファイルから抽出する抽出部と、
     抽出された前記情報に基づいて前記コンテンツにおける前記2つの区間を特定し、当該2つの区間のそれぞれのデータに対する復号結果を合成して出力する合成部と
     を備える再生装置。
  11.  MP4ファイルを記録している記録媒体であって、
     前記MP4ファイルは、コンピュータに読み出されて再生されるコンテンツと、前記コンテンツにおいて再生のタイミングがオーバーラップする2つの区間を示す情報とを含む
     記録媒体。
PCT/JP2014/005963 2013-12-03 2014-11-28 ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体 WO2015083354A1 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201361911006P 2013-12-03 2013-12-03
US61/911,006 2013-12-03
US201361918131P 2013-12-19 2013-12-19
US61/918,131 2013-12-19
JP2014-235068 2014-11-19
JP2014235068A JP2015109131A (ja) 2013-12-03 2014-11-19 ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体

Publications (1)

Publication Number Publication Date
WO2015083354A1 true WO2015083354A1 (ja) 2015-06-11

Family

ID=53273139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/005963 WO2015083354A1 (ja) 2013-12-03 2014-11-28 ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体

Country Status (1)

Country Link
WO (1) WO2015083354A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3094083A4 (en) * 2014-01-10 2016-11-16 Panasonic Ip Man Co Ltd FILE POSITIONING METHOD, FILE POSITIONING DEVICE AND RECORDING MEDIUM
CN114143491A (zh) * 2021-11-17 2022-03-04 深蓝感知(杭州)物联科技有限公司 一个单编5g记录仪录像分片生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007610A (ja) * 2002-04-26 2004-01-08 Matsushita Electric Ind Co Ltd 逆多重化装置
WO2005015907A1 (ja) * 2003-08-08 2005-02-17 Matsushita Electric Industrial Co., Ltd. データ処理装置及びデータ処理方法
JP2005136503A (ja) * 2003-10-28 2005-05-26 Sony Corp ファイル記録装置及びビデオエフェクトの編集方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007610A (ja) * 2002-04-26 2004-01-08 Matsushita Electric Ind Co Ltd 逆多重化装置
WO2005015907A1 (ja) * 2003-08-08 2005-02-17 Matsushita Electric Industrial Co., Ltd. データ処理装置及びデータ処理方法
JP2005136503A (ja) * 2003-10-28 2005-05-26 Sony Corp ファイル記録装置及びビデオエフェクトの編集方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3094083A4 (en) * 2014-01-10 2016-11-16 Panasonic Ip Man Co Ltd FILE POSITIONING METHOD, FILE POSITIONING DEVICE AND RECORDING MEDIUM
US9818446B2 (en) 2014-01-10 2017-11-14 Panasonic Intellectual Property Management Co., Ltd. File producing method, file producing device, and recording medium
CN114143491A (zh) * 2021-11-17 2022-03-04 深蓝感知(杭州)物联科技有限公司 一个单编5g记录仪录像分片生成方法

Similar Documents

Publication Publication Date Title
JP6467680B2 (ja) ファイル生成方法およびファイル生成装置
WO2016027579A1 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP2019024229A (ja) ファイル生成方法およびファイル生成装置
JP2013093755A (ja) 映像記録装置及び映像記録方法
JP7052733B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
JP2015109131A (ja) ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体
JP2017183762A (ja) 映像ストリーム生成方法、再生装置及び記録媒体
JP6500895B2 (ja) 情報処理装置、情報生成装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2015083354A1 (ja) ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体
JP7215415B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2018190122A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
WO2015105037A1 (ja) ファイル生成方法、ファイル生成装置および記録媒体
WO2016027426A1 (ja) 映像ストリーム生成方法、再生装置及び記録媒体
CN110462735B (zh) 信息处理设备、信息记录介质、信息处理方法和程序
JP6982829B2 (ja) 記録装置、記録方法および記録媒体
WO2015072127A1 (ja) ファイル生成方法およびファイル生成装置
WO2016002127A1 (en) Mpeg-2-ts to mp4 format conversion without decryption
WO2015186479A1 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム

Legal Events

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

Ref document number: 14867098

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14867098

Country of ref document: EP

Kind code of ref document: A1