WO2015020069A1 - データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システム - Google Patents

データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システム Download PDF

Info

Publication number
WO2015020069A1
WO2015020069A1 PCT/JP2014/070655 JP2014070655W WO2015020069A1 WO 2015020069 A1 WO2015020069 A1 WO 2015020069A1 JP 2014070655 W JP2014070655 W JP 2014070655W WO 2015020069 A1 WO2015020069 A1 WO 2015020069A1
Authority
WO
WIPO (PCT)
Prior art keywords
combined
stream
video stream
header
multiplexed
Prior art date
Application number
PCT/JP2014/070655
Other languages
English (en)
French (fr)
Inventor
笠井 裕之
Original Assignee
国立大学法人電気通信大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立大学法人電気通信大学 filed Critical 国立大学法人電気通信大学
Priority to JP2015530912A priority Critical patent/JP6355634B2/ja
Priority to US14/909,812 priority patent/US10104142B2/en
Priority to EP14833803.1A priority patent/EP3032835B1/en
Priority to CN201480055441.XA priority patent/CN105612756B/zh
Publication of WO2015020069A1 publication Critical patent/WO2015020069A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Definitions

  • the present invention relates to a data processing device, a data processing method, a program, a recording medium, and a data processing system.
  • video streams a plurality of video encoded bitstreams (hereinafter referred to as “video streams”) are combined into a single stream (hereinafter referred to as “combined stream”) to control an audio stream, synchronized playback information, and the like.
  • video streams a plurality of video encoded bitstreams
  • combined stream a single stream
  • Patent Document 1 describes that a single stream obtained by combining a plurality of video streams is transmitted from a server to a client terminal.
  • a video stream is generally transmitted as a multiplexed stream as described above.
  • MPEG-2 TS Transport Stream
  • MPEG-2 PS Program Stream
  • MP4 file format is generally used in a moving image distribution service via the Internet, which has become popular in recent years.
  • the MP4 file format is a file format originally defined for storing a video stream and an audio stream in a file, and a header is usually arranged at the head of the file.
  • the header includes position information of each picture constituting the video stream in the file, information on the data size (code amount) of each picture, and the like.
  • a process of extracting a picture data portion of a picture to be combined from a plurality of video streams is performed.
  • the position in the video stream where the picture data is present cannot be known unless the video stream is analyzed from the beginning to the end. Therefore, first, the video stream is analyzed, and then the picture data is extracted. Thereafter, a process of combining a plurality of extracted picture data portions to generate one combined picture is performed for the required number of combined pictures. Due to such processing, it takes a very long time to generate the combined video stream.
  • the header of the multiplexed stream cannot be generated until the combined video stream generating process that requires a long processing time is completed. That is, the time from when the generation of the multiplexed stream is requested until the generation of the header of the multiplexed stream is very long. This delay becomes more noticeable when the amount of data in the video stream itself or the amount of data in the combined video stream is large.
  • the present invention has been made in view of such a point, and an object thereof is to enable generation of a multiplexed stream header earlier.
  • the data processing apparatus of the present invention has a configuration including a data size calculation unit, a header generation unit, a combined video stream generation unit, and a multiplexed stream output unit, and the configuration and function of each unit are as follows. That is, the data size calculation unit includes a first frame that is a frame to be combined in a first video stream in which a first video signal is encoded by a predetermined encoding method, a first video stream, Is assumed to combine a second frame that is a frame to be combined in a different second video stream. In this case, the data size of the combined frame that is finally generated is calculated.
  • the header generation unit generates a header of a multiplexed stream that is a stream including a combined video stream composed of combined frames, using information on the data size of the combined frames.
  • the combined video stream generation unit generates a combined video stream.
  • the multiplexed stream output unit performs a process of outputting a multiplexed stream header or a process of outputting a multiplexed stream including a combined video stream.
  • a first frame that is a frame to be combined in a first video stream obtained by encoding a first video signal with a coding method to be combined It is assumed that a second frame that is a predetermined frame in a second video stream different from the one video stream is combined. Then, the data size of the combined frame generated in that case is calculated.
  • a header of a multiplexed stream which is a stream including a combined video stream composed of combined frames, is generated using information on the data size of the combined frames. A combined video stream is then generated.
  • a process of outputting a multiplexed stream header or a process of outputting a multiplexed stream including a combined video stream is performed.
  • the program of the present invention is a program for causing a computer to realize the following processing procedures (a) to (d).
  • A a first frame which is a frame to be combined in a first video stream obtained by encoding a first video signal by a predetermined encoding method, and a second frame different from the first video stream
  • B A procedure for generating a header of a multiplexed stream, which is a stream including a combined video stream composed of combined frames, using information on the data size of the combined frames.
  • C A procedure for generating a combined video stream.
  • (D) A procedure for performing a process of outputting a multiplexed stream header or a process of outputting a multiplexed stream including a combined video stream.
  • the recording medium of the present invention records a program for causing a computer to implement the processing procedures (a) to (d).
  • the data processing system includes a data size calculation device, a header generation device, a combined video stream generation device, and a multiplexed stream output device.
  • the configuration and function of each device are as follows. To do.
  • the data size calculation device is different from the first video stream and the first frame which is a frame to be combined in the first video stream obtained by encoding the first video signal by a predetermined encoding method. Assume that the second frame that is the frame to be combined in the second video stream is combined. Then, the data size of the combined frame generated in that case is calculated.
  • the header generation device generates a header of a multiplexed stream that is a stream including a combined video stream composed of combined frames, using information on the data size of the combined frames.
  • the combined video stream generating device generates a combined video stream.
  • the multiplexed stream output apparatus performs a process of outputting a multiplexed stream header or a process of outputting a multiplexed stream including a combined video stream.
  • the data size of the combined frame obtained by combining the video streams is calculated, and the information on the data size of the combined frame obtained by the calculation is obtained.
  • the header of the multiplexed stream is generated. Therefore, it is possible to start the generation of the multiplexed stream header earlier than the conventional method in which the combined frame is generated and then the multiplexed stream header is generated.
  • FIG. 10A is a flowchart showing a multiplexed stream generating process according to the first embodiment of the present invention.
  • 10B is an example of a multiplexed stream header generating process according to the first embodiment of the present invention. It is a flowchart which shows. It is a block diagram which shows the structural example of the data processor which concerns on the 2nd Embodiment of this invention. It is a flowchart which shows an example of a process of the data processor which concerns on the 2nd Embodiment of this invention. It is a flowchart which shows an example of a process of the data processor which concerns on the 2nd Embodiment of this invention. It is a block diagram which shows the structural example of the data processing system which concerns on the 3rd Embodiment of this invention.
  • the header is previously set prior to the combination processing of the video stream with the largest processing amount. create.
  • the delay of the streaming (transmission) start time is realized.
  • the present invention it is not necessary to store the temporarily combined video stream in a memory or the like. For this reason, the present invention eliminates the need for a write process to a memory, a disk, etc., which is the most bottleneck of signal processing delay.
  • the “combined video stream composed of a plurality of video streams” targeted in the present invention is determined only when there is a viewing request dynamically from a user (viewer) or the like and the video stream to be combined is determined. For this reason, there is no “combined video stream consisting of a plurality of video streams” to be multiplexed in advance, and as a result, the information (material information) constituting the header does not exist at hand.
  • the present invention makes it possible to estimate (predict) the header size and the like in advance, depending on the “combining algorithm (encoding method)”.
  • various processes such as correction and addition of a compressed code and insertion of a corrected macroblock code are performed in the “compression space” or “uncompressed space”.
  • the code amount of each combined picture of the “combined video stream including a plurality of video streams” can be estimated “in advance”.
  • “preliminary” means that after a plurality of video streams to be combined are determined.
  • the “joining algorithm” has already been disclosed in Japanese Patent Nos. 5089658, 2013-93656, and 2013-98596 by the present inventors. By applying these “joining algorithms” and other algorithms, it is possible to estimate the header size and the like.
  • the present invention does not define the combination algorithm or other algorithm types. As a result, since the code amount of each combined picture of the combined video stream is determined, code amount information (for example, stsz box) which is the first information in the header can be created “in advance”.
  • the point of the present invention is to first determine the “relative position” from the beginning of the media part excluding the header with respect to the start position of the combined picture, and create information on the start position of the temporary combined picture. Then, the entire temporary header part is created including all other information (header group) including them. At this point, the header part cannot be transmitted to the receiving side yet.
  • the size (length) of the entire header part is determined. Then, based on the size information of the entire header part, “correction processing” for “information indicating where the combined picture is located in the final“ multiplexed stream ”” in the header is started. Specifically, a process of correcting the previous “relative position” information to “absolute position” information is performed. At the end of this process, the header part finally becomes “completed”. Thereafter, the header part can be transmitted to the receiving side. At this stage, the final “combined video stream including a plurality of video streams” has not yet been created.
  • the process of creating a “combined video stream composed of a plurality of video streams” is finally started. Then, as soon as the combining process for each corresponding picture of the plurality of video streams is completed, it is multiplexed as a media part and transmitted for each combined picture. Then, the transmission of the multiplexed stream is completed when the last combined picture is transmitted.
  • the data processing device 100 includes a storage unit 1, a control unit 2, a video stream analysis unit 3, a multiplexed stream header information calculation unit 4, a multiplexed stream header generation unit 5 as a header generation unit, A combined video stream generation unit 6 and a multiplexed stream output unit 7 are provided.
  • the storage unit 1 includes an HDD (Hard Disk Drive) or the like, and the storage unit 1 stores a video stream Vs, an audio stream As, and multiplexing setting information Cf.
  • the video stream Vs is a video bit stream in which a video signal shot by the camera 10 is encoded by the video signal encoding unit 11.
  • the encoding methods are MPEG-1, MPEG-2, MPEG-4, H.264, and so on. Any method such as H.264 / AVC may be used.
  • the audio stream As is an audio bit stream in which the audio signal generated by the microphone 12 is encoded by the audio signal encoding unit 13.
  • the multiplexing setting information Cf is a setting file in which a plurality of video streams Vs are combined to generate a combined video stream, that is, a setting file in which design information of the combined video stream is described.
  • the multiplexing setting information Cf may be generated manually by the user, or may be automatically generated when the user selects a desired video stream Vs to be combined. . Details of the combined video stream will be described later with reference to FIGS. Details of the multiplexing setting information Cf will also be described later.
  • the control unit 2 includes a CPU (Central Processing Unit) and the like, and controls each block constituting the data processing apparatus 100. Specifically, a process for reading out the video stream Vs selected as a combination target from the storage unit 1, a data transfer process between each block, a process for instructing each block to execute various processes, and the like are performed.
  • a CPU Central Processing Unit
  • the video stream analysis unit 3 analyzes each video stream Vs extracted as a combination target based on a command from the control unit 2. Thereafter, the video stream analysis unit 3 outputs the analysis result to the control unit 2. Details of the processing of the video stream analysis unit 3 will be described later with reference to FIG.
  • the multiplexed stream header information calculation unit 4 calculates information necessary for header generation of the multiplexed stream based on the information obtained by the analysis by the video stream analysis unit 3.
  • the multiplexed stream refers to a stream in which a combined video stream obtained by combining a plurality of video streams Vs and an audio stream As are multiplexed.
  • the multiplexed stream including such a combined video stream is a state in which a plurality of video streams Vs are multiplexed.
  • multiplexing of the combined video stream and the audio stream As is performed by a method compliant with the MP4 format standard, for example. Details of the processing of the multiplexed stream header information calculation unit 4 will be described later with reference to FIG. Note that a stream including at least the combined video stream is included in a multiplexed stream in a broad sense. That is, the multiplexed stream may be a stream including only the combined video stream.
  • the multiplexed stream header generation unit 5 generates a multiplexed stream header using information necessary for generating a multiplexed stream header calculated by the multiplexed stream header information calculation unit 4. Details of the processing of the multiplexed stream header generation unit 5 will be described later with reference to FIGS.
  • the combined video stream generation unit 6 performs a process of actually combining the video streams Vs extracted as a combination target and generating a combined video stream based on the control of the control unit 2.
  • the multiplexed stream output unit 7 outputs the header generated by the multiplexed stream header generation unit 5 based on the control of the control unit 2.
  • the multiplexed stream output unit 7 multiplexes the combined video stream generated by the combined video stream generation unit 6 and the audio stream As, and outputs the multiplexed stream.
  • the present invention is not limited to this.
  • a combined video stream obtained by combining only the video streams Vs may be output as a multiplexed stream.
  • the combined video stream Ms includes N combined pictures (combined frames) Pcm.
  • N combined pictures are indicated by a combined picture Pcm1 to a combined picture PcmN.
  • the combined picture Pcm1 to the combined picture PcmN are referred to as a combined picture Pcm unless otherwise distinguished.
  • Each of the combined pictures Pcm is generated by combining mutually corresponding pictures Pc in the plurality of video streams Vs shown in (2-2) of FIG.
  • the combined picture Pcmn in the combined video stream Ms shown in (2-1) is generated by combining the pictures Pcn in the video stream Vs1 to VsM shown in (2-2).
  • the screen displayed by the combined picture Pcmn is a screen divided into a plurality of small screens corresponding to a plurality of video streams to be combined.
  • the association of the pictures Pc to be combined in the plurality of video streams Vs is automatically determined by the head position of each video stream Vs or the like or selectively determined by the user or the like.
  • the video stream Vs is, for example, a video stream (travel, sports, cooking, etc.) having different contents (contents).
  • the travel video stream is displayed on the small screen at the left end of the first row of the nine-divided screen.
  • the sports video stream is displayed on the small screen at the center of the first row.
  • the video stream is displayed on the small screen at the left end of the third row.
  • a plurality of moving images are combined into one moving image (video), and are appropriately distributed as necessary. Therefore, since a plurality of videos are distributed as one video (video), the receiving side that receives this video uses a general PC-equipped video player, TV set box, smartphone, web browser, etc. Can be played simultaneously.
  • FIG. 3 is a diagram showing details of the configurations of a plurality of video streams Vs extracted as a combination target and a combined video stream Ms.
  • (3-1) and (3-2) in FIG. 3 show configuration examples of the video stream Vs1 and the video stream Vs2 extracted as the combination targets. Note that (3-1) and (3-2) in FIG. 3 illustrate only the picture Pc1 to the picture Pc9 among the pictures Pc constituting the video stream Vs1 and the video stream Vs2.
  • (3-3) in FIG. 3 shows a picture Pc3 (first frame) of the video stream Vs1 (first video stream) and a picture Pc3 (second frame) of the video stream Vs2 (second video stream). The image of the joint process in the case of joining together is shown.
  • the left diagram of (3-3) in FIG. 3 shows the picture Pc3_Vs1 of the video stream Vs1, and the central diagram shows the picture Pc3_Vs2 of the video stream Vs2.
  • the pictures Pc are connected to each other in units of one macroblock line Ln in which macroblocks (MB_0, MB_1,...) Are arranged.
  • the left end of the first macroblock line Ln1 of the picture Pc3_Vs2 in the picture Pc3_Vs2 in the central diagram is connected to the right end of the first macroblock line Ln1 in the picture Pc3_Vs1 in the left diagram.
  • the left end of the first macroblock line Ln1 of the picture Pc3_Vs3 of the video stream Vs3 in the right diagram is connected to the right end of the first macroblock line Ln1 of the picture Pc3_Vs2 in the center diagram.
  • the unit of coupling between the pictures Pc is not limited to this example, and may be performed in other units such as a plurality of macroblock units, a unit of a plurality of macroblock lines Ln, the entire picture Pc, or the like. Good.
  • FIG. 3 (3-4) shows an example in which the combined picture Pcm3 is composed of nine pictures (picture Pc3_Vs1 to picture Pc3_Vs9).
  • the other combined pictures Pcm are generated in the same manner, and finally, as shown in (3-5) of FIG. 3, a plurality of combined pictures Pcm (in the example shown in (3-5) of FIG. 3) A combined video stream Ms composed of the combined picture Pcm1 to the combined picture Pcm9) is generated.
  • the video stream Vs extracted as a combination target is H.264.
  • Intra-screen predictive coding is a method in which a predicted image is generated from pixel values of encoded adjacent blocks and a difference from the predicted image is encoded.
  • a coding method with a special contrivance is adopted for the purpose of suppressing image quality degradation that may occur when video streams Vs coded according to a standard that employs intra prediction coding are combined. In such a case, additional encoded information necessary for realizing image quality deterioration suppression is also combined.
  • the picture Pc is composed of a plurality of slices (macroblock lines Ln), and the macroblocks (MB_0, MB_1,...) Constituting the slice are in order from left to right and from top to bottom.
  • An example of continuous arrangement is shown.
  • the unit of encoding becomes the unit of the combined picture Pcm after the generation of the combined picture Pcm.
  • a picture Pc having a structure other than such a structure may be a combination target. For example, H.M.
  • a picture Pc having a tile structure in H.265 When the pictures Pc encoded in the mode of “Flexible Macroblock ordering” in H.264 are joined together, the structure possessed by each picture Pc before joining is inherited as it is after the joining. That is, when the pictures Pc having such a structure are to be combined, it is only necessary to combine the pictures Pc as a unit.
  • the combined video stream Vs generation process described with reference to FIGS. 2 and 3 is performed by the combined video stream generation unit 6 after completion of the multiplexed stream header generation process by the multiplexed stream header generation unit 5.
  • the multiplexing setting information Cf describes information necessary for generating the finally generated multiplexed stream or information necessary for generating the header of the multiplexed stream. More specifically, the multiplexing setting information Cf is composed of the following items, for example.
  • (1) is information written in the header of the multiplexed stream. This information is also used to define in what unit each chunk constituting the media data (actual data portion) of the multiplexed stream is generated.
  • a chunk is a logical unit of data that is a group of a plurality of pictures (or audio data). For example, assume that the length of one chunk is set to 0.5 seconds, and the frame rate described in (1) is 30 fps. In this case, the number of pictures constituting one chunk is 15. That is, it is only necessary to generate 15 chunks by collecting 15 pictures.
  • (2) is information written in the header of the multiplexed stream.
  • the information on the intra picture rate of each video stream Vs described in (2) is referred to when the random access is performed on the receiving device side that has received the multiplexed stream.
  • (1) and (2) described above may not be described as multiplexing setting information Cf, but may be acquired each time by the video stream analysis unit 3 analyzing the video stream Vs to be combined. .
  • (3) to (8) are information to be referred to when the combined video stream generating unit 6 generates the combined video stream Ms.
  • (3) to (5) are information that defines which part of which video stream Vs is extracted from where and in which position of the combined video stream Ms.
  • (6) to (8) are information defining the size of the combined video stream Ms in the horizontal direction, the vertical direction, and the time direction.
  • the multiplexing setting information Cf (3) is not described in advance as the multiplexing setting information Cf, but the video stream analysis unit 3 analyzes the video stream Vs to be combined so that it is acquired each time. Good. However, if the information of (3) is described in the multiplexing setting information Cf in advance, when the video stream Vs including the abnormality is input, the abnormality can be detected with reference to the information of (3). It becomes possible.
  • (9) is information indicating the output destination location of the finally generated multiplexed stream.
  • the multiplexed stream is stored in a storage device or storage medium, a path to the storage location is described. Further, when the multiplexed stream is transmitted to a predetermined receiving device via the network, the network address of the receiving device is described.
  • the information described in the multiplexing setting information Cf is not limited to (1) to (8), and other information may be added.
  • information specifying the range of the picture Pc of the video stream Vs to be extracted as a combination target may be described.
  • the pictures Pc at arbitrary positions in the video stream Vs are extracted, and the combined video stream It is also possible to generate Ms.
  • the video stream analysis unit 3 analyzes each video stream Vs extracted as a combination target, and obtains the picture type (type of picture such as I picture, P picture, B picture) of each picture constituting the video stream Vs. To do. Further, the video stream analysis unit 3 calculates the code amount (data size) of each picture (frame) constituting the video stream Vs. That is, that is, the video stream analysis unit 3 functions as a data size calculation unit.
  • FIG. 4 shows a configuration example of the video stream Vs.
  • the video stream Vs is composed of a plurality of pictures Pc (pictures Pc1 to PcN), and each picture Pc includes a picture header Hp (picture header Hp1 to picture header HpN) and picture data Dp (picture data Dp1 to picture data DpN). Composed.
  • the video stream analysis unit 3 searches the picture header Hp while moving one byte at a time from the head of the file for each video stream Vs. By searching for the picture header Hp, for example, when the picture header Hp2 of the picture Pc2 of the video stream Vs1 is detected, the code amount b (see FIGS. 1 and 2) of the picture Pc1 of the video stream Vs1 is determined.
  • the video stream analysis unit 3 obtains the code amount b of all the pictures Pc constituting the video stream Vs by performing this header search process from the beginning to the end of the video stream Vs.
  • the multiplexed stream header information calculation unit 4 uses the information obtained as a result of the analysis by the video stream analysis unit 3 to calculate information necessary for header generation of the multiplexed stream.
  • the information necessary for header generation of the multiplexed stream includes the code amount B of the combined picture Pcm obtained when it is assumed that the pictures Pc of different video streams Vs are combined, and the finally generated multiplexed stream. This is information on the position of each chunk in the media data part.
  • FIG. 5 shows a configuration example of the multiplexed stream S.
  • the multiplexed stream S includes a header H and media data D.
  • the media data D is composed of a plurality of chunks Ck (chunks Ck1 to Ck3 in the example of FIG. 5).
  • Each chunk Ck is composed of a plurality of combined pictures Pcm. Note that FIG. 5 illustrates an example in which each chunk Ck is configured by only the combined picture Pcm of the combined video stream Ms that does not include the audio stream As, in order to simplify the description.
  • the multiplexed stream header information calculation unit 4 sums up the code amount b of each picture Pc calculated by the video stream analysis unit 3 to thereby add the code amount B of each combined picture Pcm constituting each chunk Ck (see FIG. 2). That is, the multiplexed stream header information calculation unit 4 also functions as a data size calculation unit.
  • the combined picture Pcmn in the combined video stream Ms shown in (2-1) of FIG. 2 is obtained by combining the pictures Pcn of the video stream Vs1 to VsM shown in (2-2) of FIG. Generated. Therefore, the sum of the code amounts b of the pictures Pcn of the video stream Vs1 to VsM shown in (2-2) of FIG. 2, that is, the code amount of the combined picture Pcmn shown in (2-1) of FIG. B.
  • the code amount obtained by adding the code amount of the additional coding information to the code amount b of the picture Pcn is as follows.
  • the code amount B That is, the code amount B is calculated in consideration of the code amount that is increased by video code correction and code addition processing at the time of code combination in addition to the code amount of the picture Pcn of the video stream before combination.
  • H.C. Since H.264 / AVC responds to viewing requests from hundreds to 1000 or more users, one of the targets is to combine video codes compressed at ultra high speed in real time by a single core CPU.
  • H.264 / AVC a special video code (corresponding to a video stream before being combined) is created by various encoding mode control and variable length code control that becomes a byte unit stream (not a bit unit).
  • H.C. the generated video code is dynamically compressed in accordance with a user request, and the code is corrected or a new code is added in a compressed state, so that the H.264 / AVC can be used without bit manipulation.
  • a combined video code stream (corresponding to a combined stream) compliant with H.264 / AVC is created.
  • the head position of each combined picture Pcm in the media data D of the combined video stream Ms is also found. Further, as described above, by referring to the frame rate information described in the multiplexing setting information Cf, how many combined pictures Pcm should be formed as a group for each chunk Ck constituting the multiplexed stream S. Information is also obtained. That is, by calculating the code amount B of each combined picture Pcm constituting the combined video stream Ms, it is also possible to calculate the start position of each chunk Ck in the media data D of the multiplexed stream S that does not include the header H. .
  • the start position of each chunk Ck in the media data D is represented by an offset position (first position) indicating a difference (offset amount) from the start position of the media data D.
  • FIG. 5 shows, as an example, an offset position Rp_Ck2 of the start position of the chunk Ck2 from the start position of the media data D.
  • the information necessary for generating the header H of the multiplexed stream S without actually combining the pictures Pc of the plurality of video streams Vs to generate the combined video stream Ms that is, Information about the code amount B of each combined picture Pcm and the head position of each chunk Ck can be calculated.
  • the multiplexed stream header generation unit 5 uses the information calculated by the multiplexed stream header information calculation unit 4 to generate configuration information (structure) of the header H of the multiplexed stream S.
  • FIG. 6 is a diagram illustrating an example of the data structure of the multiplexed stream S.
  • the multiplexed stream S is generated as a file conforming to the MP4 file format as described above.
  • the multiplexed stream S is configured as an aggregate of a lot of BOX (box) information (components). Each box information is hierarchized by category.
  • the header information of the multiplexed stream S is stored in the moov box Bx2 below.
  • the mdat box Bx3 stores media data D, that is, the combined video stream Ms and the audio stream As.
  • FIG. 7 shows an example of the data structure of the stsz box Bx4.
  • the size of each picture Pcm constituting each chunk is as much as the number of pictures Pcm described as sample_count (sample count) E1 as entry_size (entry size) E2. Described.
  • FIG. 8 shows an example of the data structure of the stco box Bx5.
  • the head position information of each chunk configuring the media data D is described as chunk_offset (chunk offset) E4 for the entry_count (entry count) E3.
  • the start position of each chunk Ck is described by an offset position from the start position of the entire file including the header H of the multiplexed stream S.
  • the head position of each chunk Ck can be calculated only after the data size of the header H is known. Also, the data size of the header H is not known until after each component constituting the header H is described.
  • the video stream Vs is actually combined to generate a combined video stream Ms, and the generated combined video stream Ms is analyzed to obtain information necessary for generating the header H, and then the header To produce H.
  • the multiplexed stream header generation unit 5 is used by using the code amount B of each combined picture Pcm constituting each chunk Ck calculated by the multiplexed stream header information calculation unit 4. Generates the configuration information of the header H of the multiplexed stream S. At this time, an offset position (first position) from the head position of the media data D not including the header H is temporarily substituted in the stco box Bx5 in the moov box Bx2 described above as the head position of each chunk. . Then, when the configuration information of the header H is generated, when the data size of the header H is obtained, the true head position (absolute position) of each chunk in the multiplexed stream is determined.
  • the start position of each chunk that has been temporarily assigned to the stco box Bx5 that is, the offset position (first position) from the start position of the media data D that does not include the header H
  • the start position of the entire file that includes the header H is the start position of the entire file that includes the header H.
  • Rewriting to the absolute position (second position) from the position is performed.
  • the absolute position from the head position of the entire file including the header H to the head position of the chunk Ck2 is shown as a position Ap_Ck2.
  • the control unit 2 acquires the multiplexing setting information Cf from the storage unit 1 (step S1). Thereafter, similarly, the control unit 2 acquires a plurality of video streams Vs to be combined based on the information described in the acquired multiplexing setting information Cf (step S2). Next, the control unit 2 transmits an analysis request for the video stream Vs to the video stream analysis unit 3 (step S3). At this time, the control unit 2 also transmits a plurality of video streams Vs together with the analysis request for the video stream to be combined. It should be noted that the transmission of the plurality of video streams Vs may be the data itself, or only the path information of the storage location of the video stream Vs may be transmitted.
  • the video stream analysis unit 3 When the video stream analysis unit 3 receives the analysis request for the combination target video stream transmitted from the control unit 2, the video stream analysis unit 3 analyzes each video stream Vs extracted as the combination target (step S4).
  • the video stream analyzing unit 3 analyzes each video stream Vs extracted as a combination target to obtain a picture type of each picture Pc constituting each video stream Vs and each picture constituting each video stream Vs.
  • the code amount b of Pc is calculated.
  • the video stream analysis unit 3 After obtaining the picture type and code amount b of each picture Pc constituting each video stream Vs, the video stream analysis unit 3 transmits these pieces of information to the control unit 2 as the analysis result of the video stream to be combined. (Step S5).
  • a request for calculating multiplexed stream header information is transmitted from the control unit 2 to the multiplexed stream header information calculating unit 4 (step S6).
  • the analysis result of the video stream analyzing unit 3 the code amount b of each picture Pc constituting each video stream Vs
  • the multiplexing setting information Cf (1), (2), (6), (7), (8) are included.
  • the multiplexed stream header information calculating unit 4 Upon receiving the multiplexed stream header information calculation request transmitted from the control unit 2, the multiplexed stream header information calculating unit 4 calculates multiplexed stream header information (step S7).
  • the multiplexed stream header information calculation unit 4 uses, as the multiplexed stream header information, the code amount B of each combined picture Pcm constituting the multiplexed stream S and each chunk in the media data D of the multiplexed stream S. Information on the head position of Ck is calculated. Thereafter, the multiplexed stream header information calculation unit 4 transmits the generated multiplexed stream header information to the control unit 2 (step S8).
  • a request for generating a multiplexed stream header is transmitted from the control unit 2 to the multiplexed stream header generating unit 5 (step S9).
  • the control unit 2 transmits the multiplexed stream header information calculated by the multiplexed stream header information calculation unit 4 together with the request for generating the multiplexed stream header.
  • the multiplexed stream header generation unit 5 When the multiplexed stream header generation unit 5 receives the multiplexed stream header generation request transmitted from the control unit 2, the multiplexed stream header generation unit 5 generates a header H for the multiplexed stream S (step S10).
  • the multiplexed stream header generation process will be described later with reference to FIG. 10B.
  • the multiplexed stream header generation unit 5 When the multiplexed stream header generation unit 5 finishes generating the multiplexed stream header, the multiplexed stream header generation unit 5 transmits the generated header H for the multiplexed stream S to the control unit 2 (step S11).
  • an output request for the multiplexed stream header is transmitted from the control unit 2 to the multiplexed stream output unit 7 (step S12).
  • the control unit 2 also transmits the header H for the multiplexed stream S generated by the multiplexed stream header generation unit 5 together with the output request for the multiplexed stream header.
  • the multiplexed stream output unit 7 Upon receiving the multiplexed stream header output request transmitted from the control unit 2, the multiplexed stream output unit 7 outputs a header H for the multiplexed stream S (step S13).
  • the header H for the multiplexed stream S output from the multiplexed stream output unit 7 is transmitted to a receiving device or the like.
  • the multiplexed stream output unit 7 finishes outputting the header H for the multiplexed stream S, the multiplexed stream output unit 7 notifies the control unit 2 that the output of the multiplexed stream header has been completed (step S14).
  • a request for combining the video stream Vs is transmitted from the control unit 2 to the combined video stream generating unit 6 (step S15).
  • the request for combining the video stream Vs includes the video stream Vs and the multiplexing setting information Cf (4), (6) to (8).
  • the combined video stream generation unit 6 When the combined video stream generation unit 6 receives the request for combining the video streams Vs transmitted from the control unit 2, the combined video stream generation unit 6 combines the plurality of video streams Vs in units of pictures Pc, thereby generating the combined video stream Ms (step). S16). Thereafter, the combined video stream generation unit 6 transmits the generated combined video stream Ms to the control unit 2 (step S17). It should be noted that the transmission process of the combination request in step S15 and the generation process of the combined video stream Ms in step S16 are repeatedly performed until the combination of all the pictures Pc to be combined is completed.
  • an output request for the multiplexed stream S is transmitted from the control unit 2 to the multiplexed stream output unit 7 (step S18).
  • the multiplexed stream output unit 7 receives the output request for the multiplexed stream S transmitted from the control unit 2, the multiplexed stream output unit 7 multiplexes the combined video stream Ms and the audio stream As. Then, the combined video stream Ms and audio stream As subjected to the multiplexing process are output as a multiplexed stream S (step S19).
  • the multiplexed stream output unit 7 notifies the control unit 2 that the output of the multiplexed stream S has been completed (step S20).
  • FIG. 10A is a flowchart showing an overall processing procedure of a multiplexed stream.
  • FIG. 10B is a flowchart showing an example of the multiplexed stream header generation process (step S31) of FIG. 10A.
  • the multiplexed stream header generation unit 5 performs generation and insertion (multiplexing) processing of a multiplexing stream header (step S31).
  • the combined video stream generating unit 6 performs processing for combining a plurality of video streams based on the multiplexed stream header generated by the multiplexed stream header generating unit 5 (step S32).
  • the multiplexed stream output unit 7 performs combined video stream insertion (multiplexing) processing (step S33). That is, in the present embodiment, after the multiplexed stream header generation process (step S31), a combination process (step S32) of a plurality of video streams is performed.
  • the above-described insertion (multiplexing) processing refers to multiplexing the generated header or combined video stream as a multiplexed stream to be finally output or into the multiplexed stream.
  • the multiplexed stream is constructed in order according to a certain order of headers and media data, and headers and combined video streams are added to the back of the multiplexed stream one after another.
  • the header and the combined video stream previously added to the multiplexed stream are sequentially transmitted to the network.
  • the header and media data (combined video stream) are sequentially inserted after the first header (first byte). It will be added.
  • the multiplexed stream header generation process (step S31 in FIG. 10A) by the multiplexed stream header generation unit 5 will be described with reference to FIG. 10B.
  • the multiplexed stream header generation unit 5 uses the code amount B of each combined picture Pcm constituting the combined video stream Ms calculated as the multiplexed stream header information, and uses the header H of the multiplexed stream S.
  • the stsz box Bx4 (see FIG. 6) is generated (step S311). That is, a process of writing the code amount B of each combined picture Pcm into the entry size E2 of the stsz box Bx4 shown in FIG.
  • the multiplexed stream header generation unit 5 uses the information on the offset position from the start position of the media data D of the multiplexed stream S to each chunk Ck calculated as multiplexed stream header information.
  • the stco box Bx5 in the header H of the encrypted stream S is generated (step S312). That is, the processing of writing the offset position from the head position of the media data D of the multiplexed stream S at the head position of each chunk Ck is performed in the chunk offset E4 of the stco box Bx5 shown in FIG.
  • the multiplexed stream header generation unit 5 also generates the configuration information of the header H for the multiplexed stream S by generating other boxes constituting the header H (step S313). At this time, the size of the header H of the multiplexed stream S is determined.
  • the multiplexed stream header generation unit 5 rewrites the value of the chunk offset E4 (see FIG. 8) of the stco box Bx5 in the header configuration information, using the size information of the header H for the multiplexed stream S.
  • the multiplexed stream header generation unit 5 generates a header H for the multiplexed stream S (step S315). That is, the header H is converted into binary data.
  • the first embodiment it is possible to generate and output the header H of the multiplexed stream S without performing the process of actually combining the video streams Vs to generate the combined video stream Ms. . That is, even if the combined video stream Ms constituting the part of the media data D of the multiplex stream S is not generated, only the header H can be transmitted to the receiving device side first. As a result, it is possible to prepare for the decoding process at an early stage on the receiving apparatus side, and the reproduction of the video can be started at an early stage on the receiving apparatus side.
  • the header H of the multiplexed stream S when the header H of the multiplexed stream S is created, it is not necessary to generate the combined video stream Ms first. Therefore, it is not necessary to temporarily store the combined video stream Ms created for generating the header H in the storage medium or the storage device until the header H is generated.
  • the burden on the CPU itself when reading / writing the combined video stream Ms to / from the storage medium or the storage device does not occur.
  • the time for reading / writing the combined video stream Ms from / to the storage medium or the storage device does not occur, the processing time can be greatly shortened.
  • the capacity of the storage unit 1 can be greatly reduced. Therefore, the cost of the data processing apparatus 100 can be reduced.
  • the analysis result of the video stream Vs by the video stream analysis unit 3 may be stored in a text file, a database, or the like as metadata of the video stream Vs.
  • FIG. 11 is a block diagram illustrating a configuration example of the data processing device 100 ⁇ according to the second embodiment. 11, portions corresponding to those in FIG. 1 are denoted by the same reference numerals, and redundant description is omitted.
  • the configuration shown in FIG. 11 is obtained by adding a video stream metadata DB (database) 8 to the configuration shown in FIG.
  • the video stream metadata DB 8 is a database that accumulates the analysis results by the video stream analysis unit 3 as metadata of the video stream Vs.
  • FIG. 12 is a flowchart showing an example of data processing by the data processing apparatus 100 ⁇ .
  • the video stream Vs is transmitted from the video signal encoding unit 11 and the like illustrated in FIG. 11 and is input to the storage unit 1 (step S41)
  • the video stream Vs is transmitted from the storage unit 1 to the control unit 2.
  • An input notification is made (step S42). That is, the storage unit 1 notifies the control unit 2 that a new video stream Vs that may be combined as a combined video stream Ms in the future is input.
  • the storage unit 1 transmits the position information of the newly input video stream Vs together with the input notification of the video stream Vs.
  • the position information of the video stream Vs indicates, for example, the path to the storage location of the video stream Vs, the identifier of the video stream Vs, and the like.
  • an analysis request for the video stream Vs is transmitted from the control unit 2 to the video stream analysis unit 3 (step S43).
  • the control unit 2 requests the video stream analysis unit 3 to calculate the picture type of each picture Pc and the code amount b of each picture Pc constituting the video stream Vs as an analysis request of the video stream Vs.
  • the control unit 2 also transmits the identifier of the video stream Vs.
  • the video stream analysis unit 3 When the video stream analysis unit 3 receives the analysis request for the video stream Vs transmitted from the control unit 2, the video stream analysis unit 3 analyzes the video stream Vs (step S44). The video stream analysis unit 3 analyzes the video stream Vs, thereby acquiring the picture type of each picture Pc constituting the video stream Vs and the code amount of each picture Pc.
  • the video stream analysis unit 3 registers the analysis result of the video stream Vs in the video stream metadata DB 8 as metadata of the video stream Vs (step S45).
  • the video stream metadata DB 8 completes registration of the video stream Vs in the database
  • the video stream metadata DB 8 notifies the video stream analysis unit 3 of the completion of registration (step S46).
  • the video stream analysis unit 3 notifies the control unit 2 of the completion of analysis of the video stream Vs (step S47).
  • Steps described so far the processing from S41 to S47 in FIG. 12 is performed for all newly input video streams Vs each time a new video stream Vs is input to the storage unit 1.
  • FIG. 13 is a flowchart showing an example of multiplexing processing by the data processing apparatus 100 ⁇ .
  • the process shown in FIG. 13 is a process that is performed at the timing when a request for performing a multiplexing process is made by a user or the like, and is performed asynchronously with the metadata registration process described with reference to FIG.
  • control unit 2 acquires the multiplexing setting information Cf from the storage unit 1 (step S51). Thereafter, similarly, the control unit 2 acquires a plurality of video streams Vs to be combined based on the information described in the acquired multiplexing setting information Cf (step S52). The control unit 2 further acquires the metadata of the video stream Vs to be combined from the video stream metadata DB 8 (step S53).
  • control unit 2 transmits a request for calculating multiplexed stream header information to the multiplexed stream header information calculating unit 4 (step S54). At this time, the control unit 2 also transmits the metadata of the video stream Vs to be combined together with the request for calculating the multiplexed stream header information.
  • the multiplexed stream header information calculation unit 4 Upon receiving the multiplexed stream header information calculation request transmitted from the control unit 2, the multiplexed stream header information calculation unit 4 calculates the multiplexed stream header information (step S55).
  • the multiplexed stream header information calculation unit 4 uses, as the multiplexed stream header information, the code amount B of each combined picture Pcm constituting the multiplexed stream S and each chunk in the media data D of the multiplexed stream S. Information on the head position of Ck is calculated. Thereafter, the multiplexed stream header information calculation unit 4 transmits the generated multiplexed stream header information to the control unit 2 (step S56).
  • a request for generating a multiplexed stream header is transmitted from the control unit 2 to the multiplexed stream header generating unit 5 (step S57).
  • the control unit 2 transmits the multiplexed stream header information calculated by the multiplexed stream header information calculation unit 4 together with the request for generating the multiplexed stream header.
  • the multiplexed stream header generation unit 5 Upon receiving the multiplexed stream header generation request transmitted from the control unit 2, the multiplexed stream header generation unit 5 performs generation processing of the multiplexed stream S header H (step S58). Since the multiplexed stream header generation process is as described with reference to FIG. 10B, the description thereof is omitted here.
  • the multiplexed stream header generation unit 5 When the multiplexed stream header generation unit 5 finishes generating the multiplexed stream header, the multiplexed stream header generation unit 5 transmits the generated header H for the multiplexed stream S to the control unit 2 (step S59). Next, an output request for the multiplexed stream header is transmitted from the control unit 2 to the multiplexed stream output unit 7 (step S60). At this time, the control unit 2 also transmits the header H for the multiplexed stream S generated by the multiplexed stream header generation unit 5 together with the output request for the multiplexed stream header.
  • the multiplexed stream output unit 7 Upon receiving the multiplexed stream header output request transmitted from the control unit 2, the multiplexed stream output unit 7 outputs a header H for the multiplexed stream S (step S61).
  • the header H for the multiplexed stream S output from the multiplexed stream output unit 7 is transmitted to a receiving device or the like.
  • the multiplexed stream output unit 7 finishes outputting the header H for the multiplexed stream S, the multiplexed stream output unit 7 notifies the control unit 2 that the output of the multiplexed stream header has been completed (step S62).
  • a request for combining the video stream Vs is transmitted from the control unit 2 to the combined video stream generating unit 6 (step S63).
  • the request for combining the video stream Vs includes the video stream Vs, the position information of the video stream Vs, and the configuration information of the combined video stream Ms (scheduled combined position of each video stream Vs, etc.).
  • the combined video stream generating unit 6 When the combined video stream generating unit 6 receives the request for combining the video streams Vs transmitted from the control unit 2, the combined video stream generating unit 6 generates a combined video stream Ms by combining the pictures Pc of the plurality of video streams Vs (step S64). ). Thereafter, the combined video stream generation unit 6 transmits the generated combined video stream Ms to the control unit 2 (step S65).
  • an output request for the multiplexed stream S is transmitted from the control unit 2 to the multiplexed stream output unit 7 (step S66).
  • the multiplexed stream output unit 7 receives the output request for the multiplexed stream S transmitted from the control unit 2, the multiplexed stream output unit 7 multiplexes the combined video stream Ms and the audio stream As. Then, the combined video stream Ms and audio stream As subjected to the multiplexing process are output as a multiplexed stream S (step S67).
  • the multiplexed stream output unit 7 notifies the control unit 2 that the output of the multiplexed stream S has been completed (step S68).
  • the second embodiment it is possible to obtain the same effect as that obtained by the first embodiment described above. Further, according to the second embodiment, it is not necessary to analyze the video stream Vs to be combined every time the multiplexing process is performed. Therefore, it is possible to reduce the time for analyzing the video stream Vs after the second time.
  • FIG. 14 is a block diagram illustrating a configuration example of a data processing system 50 including a combined server 200 that generates a combined video stream Ms, a multiplexing control server 300 that performs multiplexing processing, and a multiplexed stream output unit 40. is there.
  • the combined server 200 includes a video stream storage unit 21, a combined control unit 22, a video stream analysis unit 23, a video stream metadata DB 24, and a combined video stream generation unit 25.
  • the data processing system 50 shown in FIG. 14 has a configuration in which only the video stream Vs is combined and multiplexed for the sake of simplicity.
  • the video stream storage unit 21 includes an HDD or the like, and stores a video stream Vs input from the outside.
  • the combination control unit 22 includes a CPU and the like, and controls each unit configuring the combination server 200. Similar to the video stream analysis unit 3 in each of the above-described embodiments, the video stream analysis unit 23 analyzes the video stream Vs, acquires the picture type of each picture constituting the video stream Vs, and encodes each picture. The quantity b is calculated.
  • the video stream metadata DB 24 is the same as the video stream metadata DB 8 shown in FIG. 11, and the analysis result of the video stream Vs is registered as metadata of the video stream Vs.
  • the combined video stream generation unit 25 is the same as the combined video stream generation unit 6 in each embodiment described above, and generates a combined video stream Ms by combining a plurality of video streams Vs.
  • the multiplexing control server 300 includes a multiplexing setting information storage unit 31, a video stream metadata access information DB 32, a multiplexing control unit 33, a multiplexed stream header information calculation unit 34, and a multiplexed stream header generation. Part 35.
  • the multiplexing setting information storage unit 31 is composed of an HDD or the like, and stores multiplexing setting information Cf.
  • the video stream metadata access information DB 32 is a database in which access information for accessing the video stream metadata DB 24 is registered.
  • the access information for example, information such as an address of the video stream metadata DB 24, a table identifier assigned to each table constituting the video stream metadata DB 24, and an identifier of the video stream Vs are registered.
  • the multiplexing control unit 33 includes a CPU and the like, and controls each unit constituting the multiplexing control server 300.
  • the multiplexed stream header information calculation unit 34 is the same as the multiplexed stream header information calculation unit 4 in each of the embodiments described above, and calculates information necessary for generating the multiplexed stream S header H.
  • the multiplexed stream header generation unit 35 is the same as the multiplexed stream header generation unit 5 in each of the above-described embodiments, and generates a header H for the multiplexed stream S.
  • the multiplexed stream output unit 40 is the same as the multiplexed stream output unit 7 in each embodiment described above, and outputs the header H for the multiplexed stream S or the multiplexed stream S.
  • a plurality of combined servers 200 may be provided, and the combined video streams Ms output from the plurality of combined servers 200 may be multiplexed by the multiplexed stream output unit 40 and output.
  • the multiplexed stream output unit 40 is provided outside the combined server 200 and the multiplexed control server 300 is described, but the present invention is not limited to this.
  • the multiplexed stream output unit 40 may be provided in the combined server 200 or the multiplexed control server 300.
  • the video stream storage unit 21 and the video stream metadata DB 24 are provided in the combined server 200, and the video stream metadata access information DB 32 is provided in the multiplexing control server 300.
  • this invention is not limited to this.
  • Each of these databases may be provided in any server, or may be provided in another server independent of the combined server 200 or the multiplexing control server 300.
  • FIG. 15 is a flowchart illustrating an example of processing by the combining server 200
  • FIG. 16 is a flowchart illustrating an example of processing of the multiplexing control server 300 and generation processing of the combined video stream Ms by the combining server 200.
  • the video stream storage unit 21 connects to the combination control unit 22.
  • an input notification of the video stream Vs is made (step S72).
  • the video stream storage unit 21 transmits not only the input notification of the video stream Vs but also the positional information of the newly input video stream Vs.
  • the position information of the video stream Vs indicates, for example, the path to the storage location of the video stream Vs, the identifier of the video stream Vs, and the like.
  • an analysis request for the video stream Vs is transmitted from the combination control unit 22 to the video stream analysis unit 23 (step S73).
  • the combination control unit 22 requests the video stream analysis unit 23 to calculate the picture type of each picture Pc and the code amount b of each picture Pc constituting the video stream Vs.
  • the combination control unit 22 also transmits the identifier of the video stream Vs and the position information of the video stream Vs.
  • the video stream analysis unit 23 When the video stream analysis unit 23 receives the analysis request for the video stream Vs transmitted from the combination control unit 22, the video stream analysis unit 23 analyzes the video stream Vs (step S74). The video stream analysis unit 23 analyzes the video stream Vs to obtain the picture type of each picture constituting the video stream Vs and the code amount b of each picture.
  • the video stream analysis unit 23 registers the analysis result of the video stream Vs in the video stream metadata DB 24 as metadata of the video stream Vs (step S75).
  • the video stream metadata DB 24 notifies the video stream analysis unit 23 of the completion of registration (step S76).
  • the video stream analysis unit 23 Upon receiving the registration completion notification transmitted from the video stream metadata DB 24, the video stream analysis unit 23 notifies the combination control unit 22 of the completion of analysis of the video stream Vs (step S77).
  • the combination control unit 22 accesses the video stream metadata DB 24 in the video stream metadata access information DB 32 in the multiplexing control server 300.
  • the access information for registration is registered (step S78).
  • the video stream metadata access information DB 32 notifies the connection control unit 22 of the registration completion of the access information of the video stream metadata (step S79).
  • step S71 to step S79 in FIG. 15 The above-described processing from step S71 to step S79 in FIG. 15 is performed for all newly input video streams Vs each time a new video stream Vs is input to the storage unit 1.
  • FIG. 16 is a flowchart showing an example of header generation processing and multiplexing processing by the data processing system 50.
  • the process shown in FIG. 16 is a process performed at the timing when the multiplexing request is made by the user or the like, and is performed asynchronously with the metadata registration process of the video stream Vs described with reference to FIG. Is called.
  • the multiplexing control unit 33 of the multiplexing control server 300 acquires the multiplexing setting information Cf from the multiplexing setting information storage unit 31 (step S91). Thereafter, similarly, the multiplexing control unit 33 acquires, from the video stream metadata access information DB 32, access information to the metadata of the plurality of video streams Vs that are to be combined in the multiplexing setting information Cf (step S92). ). The multiplexing control unit 33 further acquires the metadata of the video stream Vs to be combined from the video stream metadata DB 24 based on the acquired access information (step S93).
  • the multiplexing control unit 33 transmits a request for calculating multiplexed stream header information to the multiplexed stream header information calculating unit 34 (step S94).
  • the multiplexing control unit 33 also transmits metadata of the video stream Vs to be combined together with a request for calculating multiplexed stream header information.
  • the multiplexed stream header information calculating unit 34 Upon receiving the multiplexed stream header information calculation request transmitted from the multiplexing control unit 33, the multiplexed stream header information calculating unit 34 calculates multiplexed stream header information (step S95).
  • the multiplexed stream header information calculation unit 34 uses, as multiplexed stream header information, the code amount B of each combined picture Pcm constituting the multiplexed stream S and each chunk in the media data D of the multiplexed stream S. Information on the head position of Ck is calculated. Thereafter, the multiplexed stream header information calculation unit 34 transmits the generated multiplexed stream header information to the multiplexing control unit 33 (step S96).
  • a request for generating a multiplexed stream header is transmitted from the multiplexing control unit 33 to the multiplexed stream header generating unit 35 (step S97).
  • the multiplexing control unit 33 also transmits the multiplexed stream header information calculated by the multiplexed stream header information calculation unit 34 together with the request for generating the multiplexed stream header.
  • the multiplexed stream header generating unit 35 Upon receiving the multiplexed stream header generation request transmitted from the multiplexing control unit 33, the multiplexed stream header generating unit 35 generates a multiplexed stream S header H (step S98). Since the multiplexed stream header generation process is as described with reference to FIG. 10B, the description thereof is omitted here.
  • the multiplexed stream header generation unit 35 When the multiplexed stream header generation unit 35 finishes generating the multiplexed stream header, the multiplexed stream header generation unit 35 transmits the generated multiplexed stream S header H to the multiplexing control unit 33 (step S59). Next, an output request for the multiplexed stream header is transmitted from the multiplexing control unit 33 to the multiplexed stream output unit 40 (step S100). At this time, the multiplexing control unit 33 transmits the header H for the multiplexed stream S generated by the multiplexed stream header generation unit 35 together with the output request for the multiplexed stream header.
  • the multiplexed stream output unit 40 Upon receiving the multiplexed stream header output request transmitted from the multiplexing control unit 33, the multiplexed stream output unit 40 outputs a header H for the multiplexed stream S (step S101).
  • the header H for the multiplexed stream S output from the multiplexed stream output unit 40 is transmitted to a receiving device or the like.
  • the multiplexed stream output unit 40 finishes outputting the header H for the multiplexed stream S, the multiplexed stream output unit 40 notifies the multiplexing control unit 33 of the completion of outputting the multiplexed stream header (step S102).
  • a request for combining and outputting the video stream Vs is transmitted from the multiplexing control unit 33 to the combining control unit 22 in the combining server 200 (step S103).
  • the combination and output request of the video stream Vs includes the video stream Vs, the position information of the video stream Vs, and the configuration information of the combined video stream Ms (scheduled combination position of each video stream Vs, etc.).
  • the combining control unit 22 Upon receiving the request for combining the video stream Vs transmitted from the multiplexing control unit 33, the combining control unit 22 receives the video stream Vs to be combined from the video stream storage unit 21 based on the position information of the video stream Vs. Is acquired (step S104). Subsequently, the combination control unit 22 transmits a request for combining video streams to the combined video stream generation unit 25 (step S105). At this time, the combination control unit 22 also transmits the position information of the video stream Vs and the configuration information of the combined video stream Ms (such as the combination position of each video stream Vs) to the combined video stream generation unit 25.
  • the combined video stream generating unit 25 Upon receiving the video stream combining request transmitted from the combining control unit 22, the combined video stream generating unit 25 acquires a plurality of video streams Vs from the video stream storage unit 21 (step S106). Subsequently, the combined video stream generation unit 25 generates a combined video stream Ms by combining a plurality of video streams Vs in units of pictures Pc (step S107). Thereafter, the combined video stream generation unit 25 transmits the generated combined video stream Ms to the combination control unit 22 (step S108).
  • an output request for the multiplexed stream S is transmitted from the combination control unit 22 to the multiplexed stream output unit 40 (step S109).
  • the multiplexed stream output unit 40 receives the output request for the multiplexed stream S transmitted from the combination control unit 22, the multiplexed stream output unit 40 multiplexes the combined video stream Ms.
  • the combined video stream Ms subjected to the multiplexing process is output as a multiplexed stream S (step S110).
  • the multiplexed stream output unit 40 notifies the combination control unit 22 of the completion of the output of the multiplexed stream S (step S111).
  • the same effect as that obtained by the first embodiment described above can be obtained. Further, according to the third embodiment, since processing can be distributed to a plurality of servers, processing time can be shortened.
  • a plurality of combined servers 200 may be provided in the data processing system 50.
  • the combined server 200A generates a combined video stream Ms arranged in the upper half area, and combines the combined video stream Ms arranged in the lower half area.
  • the server 200B generates.
  • step S100 when the multiplexing control unit 33 transmits an output request for the multiplexed stream header to the multiplexed stream output unit 40, the configuration information (each of the combined video streams Ms) is transmitted. Also, the video stream Vs is scheduled to be transmitted. That is, among the four combined video streams Ms, the combined video stream Ms arranged in the upper half area is output from the combined server 200A, and the combined video stream Ms arranged in the lower half area is Information indicating that the data is output from the combined server 200B is transmitted.
  • step S103 the configuration information of the combined video stream Ms that is transmitted when the combination control unit 22 transmits the combination and output request of the video stream Vs to the combination control unit 22 in the combination server 200A (combination server 200B). Also, similar information is described.
  • a plurality of multiplexed stream output units 40 may be provided.
  • the identifier of the multiplexed stream output unit 40 is included in the video stream Vs combination and output request transmitted from the combination control unit 22 to the combination control unit 22 in the combination server 200A (combination server 200B). And send it.
  • the combined server 200 and the multiplexing control server 300 in the third embodiment are not limited to those configured as server devices.
  • a digital still camera or video camera equipped with an imaging unit data image processing used in an image processing service that processes and develops a captured image Po transmitted via a network, or processes it into a photo book or the like You may apply to an apparatus etc.
  • the combination server 200 includes the combination control unit 22, the video stream analysis unit 23, and the combination video stream generation unit 25.
  • the multiplexing control server 300 includes the multiplexing control unit 33, Although the configuration including the multiplexed stream header information calculation unit 34 and the multiplexed stream header generation unit 35 has been described as an example, the present invention is not limited to this. Each of these units may be provided in any server, and these units are independent devices (video stream analysis device (data size calculation device), combined video stream generation device, multiplexed stream header information calculation). Apparatus, multiplexed stream header generation device (header generation device), and multiplexed stream output device).
  • the present invention is not limited to this.
  • a process such as changing the configuration of the video stream Vs encoded in the standard format in advance may be performed.
  • information necessary for generating the header H code amount b of each picture, etc.
  • the video stream analysis unit 3 it is only necessary to read the position information when the header H is generated. That is, it is not necessary for the video stream analysis unit 3 to perform the process of analyzing the entire file, so that the header H generation process can be further accelerated.
  • Information necessary for generating the header H may be described in another file different from the video stream Vs or managed in a database, instead of being described in the video stream Vs.
  • a combined video stream obtained by combining at least a plurality of video streams Vs is output as a multiplexed stream. Therefore, for example, only the combined video stream may be multiplexed with the header information and output as a multiplexed stream.
  • FIG. 2 shows an example in which one screen is divided into nine small screens, other division numbers may be used.
  • the size of a small screen corresponding to a certain video stream may be larger or smaller than the size of a small screen corresponding to another video stream.
  • the series of processes in the above-described embodiment can be executed by software.
  • the processing can be executed by a computer in which a program constituting the software is incorporated in dedicated hardware or a computer in which programs for executing various functions are installed.
  • a program constituting desired software may be installed and executed on a general-purpose personal computer or the like.
  • the present invention may be applied to software placed on a server connected to a network or in a cloud computing environment.
  • a recording medium storing software program codes for realizing the functions of the above-described embodiments may be supplied to the system or apparatus. It goes without saying that the function is also realized by reading and executing the program code stored in the recording medium by a computer (or a control device such as a CPU) of the system or apparatus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 第1のビデオストリーム内の第1のフレームと、第2のビデオストリーム内の第2のフレームとを結合したと想定した場合に生成される結合フレームのデータサイズを算出するデータサイズ算出部と、結合フレームのデータサイズの情報を用いて、結合ビデオストリームを含む多重化ストリームのヘッダを生成するヘッダ生成部と、結合ビデオストリームを生成する結合ビデオストリーム生成部と、多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う多重化ストリーム出力部とを備える。

Description

データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システム
 本発明は、データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システムに関する。
 近年、MPEG(Moving Picture Experts Group)-4をはじめとする動画像符号化技術の革新や、通信技術の発展に伴って、高精細な映像を携帯端末等のクライアント端末に伝送することが可能となった。例えば、複数の映像符号化ビットストリーム(以下「ビデオストリーム」と称する)を結合して単一のストリームとしたもの(以下、「結合ストリーム」と称する)を、オーディオストリームや同期再生情報等の制御情報、伝送用ヘッダ情報等と多重化した上で、サーバからクライアント端末に送信することも行われている。
 サーバ側で複数のビデオストリームを結合して結合ストリームを生成し、その結合ストリームを多重化ストリームとして送信することで、受信装置側で、複数のビデオストリームの受信時にサーバ側と同期をとる必要がなくなる。また、表示画面の分割領域のそれぞれの位置に、複数の画像を同時に表示させたい場合にも、復号処理と表示処理とを同時に行ったり、複数の画像間で表示の同期を取り合ったりする必要がなくなる。したがって、処理能力の高いコンピュータだけでなく、携帯端末や組み込み機器等、様々な種類の受信装置で、ビデオストリームの復号及び表示を容易に行うことが可能となる。
 例えば特許文献1には、複数のビデオストリームを結合して得た単一のストリームを、サーバからクライアント端末に送信することが記載されている。
特開2011-24018号公報
 ところで、ビデオストリームは、上述したように多重化ストリームとして伝送されるのが一般的である。多重化ストリームのファイルフォーマットとしては、放送・通信用にはMPEG-2 TS(Transport Stream)が、蓄積用にはMPEG-2 PS(Program Stream)やMP4ファイルフォーマットが広く使用されている。近年盛んに行われるようになった、インターネットを経由した動画配信サービスにおいては、MP4ファイルフォーマットが使用されることが一般的である。
 MP4ファイルフォーマットは、元々ビデオストリームやオーディオストリームをファイルに格納するために規定されたファイルフォーマットであり、ファイルの先頭にヘッダが配置されるのが通常である。ヘッダ内には、ビデオストリームを構成する各ピクチャのファイル内における位置情報や、各ピクチャのデータサイズ(符号量)の情報等が含まれる。
 したがって、特許文献1に記載の技術のように複数のビデオストリームを結合して単一のストリームとそのヘッダを生成する場合には、多重化処理を行う前に、一旦複数のビデオストリームを結合することにより結合ビデオストリームを生成する必要がある。なぜなら、実際に結合ビデオストリームを生成してみないと、ビデオストリームを構成する各ピクチャのファイル内における位置の情報や各ピクチャの符号量等の、ヘッダに含むべき情報が、判明しないからである。
 結合ビデオストリームの生成処理では、まず、複数のビデオストリームから、結合の対象となるピクチャのピクチャデータ部分を抜き出す処理を行う。ところが、ビデオストリームの中のどの位置にピクチャデータが存在するかは、ビデオストリームをその先頭から終端まで解析してみないと分からない。したがって、まずはビデオストリームの解析を行い、その後ピクチャデータを抽出する処理を行う。その後、抜き出した複数のピクチャデータ部分を結合して一枚の結合ピクチャを生成する処理を、必要な結合ピクチャの枚数分だけ行う。このような処理を経るために、結合ビデオストリームの生成処理には、非常に長い時間を要する。
 従来の手法では、このように長い処理時間を要する結合ビデオストリームの生成処理が終わってからでないと、多重化ストリームのヘッダを生成することができなかった。すなわち、多重化ストリームの生成が要求されてから、多重化ストリームのヘッダの生成が開始されるまでの時間が、非常に長くなっていた。ビデオストリーム自体のデータ量、又は結合ビデオストリームのデータ量が多い場合には、この遅延はより顕著なものとなる。
 本発明はかかる点に鑑みてなされたものであり、多重化ストリームのヘッダの生成をより早期に開始できるようにすることを目的とする。
 本発明のデータ処理装置は、データサイズ算出部と、ヘッダ生成部と、結合ビデオストリーム生成部と、多重化ストリーム出力部とを備える構成とし、各部の構成及び機能を次のようにする。すなわち、データサイズ算出部は、第1の映像信号が所定の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、第1のビデオストリームとは異なる第2のビデオストリーム内の結合対象のフレームである第2のフレームと、を結合するものと想定する。そして、その場合に最終的に生成される結合フレームのデータサイズを算出する。ヘッダ生成部は、結合フレームのデータサイズの情報を用いて、結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成する。結合ビデオストリーム生成部は、結合ビデオストリームを生成する。多重化ストリーム出力部は、多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う。
 また、本発明のデータ処理方法は、まず、第1の映像信号が結合対象の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、第1のビデオストリームとは異なる第2のビデオストリーム内の所定のフレームである第2のフレームと、を結合するものと想定する。そして、その場合に生成される結合フレームのデータサイズを算出する。次いで、結合フレームのデータサイズの情報を用いて、結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成する。次いで、結合ビデオストリームを生成する。次いで、多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う。
 また、本発明のプログラムは、以下の処理手順(a)~(d)をコンピュータに実現させるプログラムである。
(a)第1の映像信号が所定の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、第1のビデオストリームとは異なる第2のビデオストリーム内の結合対象のフレームである第2のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出する手順。
(b)結合フレームのデータサイズの情報を用いて、結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成する手順。
(c)結合ビデオストリームを生成する手順。
(d)多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う手順。
 また、本発明の記録媒体には、(a)~(d)の処理手順をコンピュータに実現させるためのプログラムが記録される。
 また、本発明のデータ処理システムは、データサイズ算出装置と、ヘッダ生成装置と、結合ビデオストリーム生成装置と、多重化ストリーム出力装置とを備える構成とし、各装置の構成及び機能を次のようにする。データサイズ算出装置は、第1の映像信号が所定の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、第1のビデオストリームとは異なる第2のビデオストリーム内の結合対象のフレームである第2のフレームと、を結合するものと想定する。そして、その場合に生成される結合フレームのデータサイズを算出する。ヘッダ生成装置は、結合フレームのデータサイズの情報を用いて、結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成する。結合ビデオストリーム生成装置は、結合ビデオストリームを生成する。多重化ストリーム出力装置は、多重化ストリームのヘッダの出力処理、又は、結合ビデオストリームを含む多重化ストリームを出力する処理を行う。
 本発明によれば、複数のビデオストリームを実際に結合するのではなく、それらを結合した場合に得られる結合フレームのデータサイズを算出し、算出して得られた結合フレームのデータサイズの情報を用いて、多重化ストリームのヘッダが生成される。したがって、実際に結合フレームを生成してから多重化ストリームのヘッダを生成する従来の方式と比較して、多重化ストリームのヘッダの生成をより早期に開始することが可能となる。
本発明の第1の実施形態に係るデータ処理装置の構成例を示すブロック図である。 本発明の第1の実施形態に係る結合ビデオストリームの構成例を示す説明図である。 本発明の第1の実施形態に係る結合対象のビデオストリームの構成例、及び結合ビデオストリームの構成例を示す説明図である。 本発明の第1の実施形態に係るビデオストリームの構成例を示す説明図である。 本発明の第1の実施形態に係る多重化ストリームの構成例を示す説明図である。 本発明の第1の実施形態に係る多重化ストリームのデータ構造の例を示す説明図である。 本発明の第1の実施形態に係る多重化ストリームのヘッダ内のstszボックスの構成例を示す説明図である。 本発明の第1の実施形態に係る多重化ストリームのヘッダ内のstcoボックスの構成例を示す説明図である。 本発明の第1の実施形態に係るデータ処理装置の処理の一例を示すフローチャートである。 図10Aは、本発明の第1の実施形態に係る多重化ストリームの生成処理を示すフローチャートであり、図10Bは、本発明の第1の実施形態に係る多重化ストリーム用ヘッダの生成処理の一例を示すフローチャートである。 本発明の第2の実施形態に係るデータ処理装置の構成例を示すブロック図である。 本発明の第2の実施形態に係るデータ処理装置の処理の一例を示すフローチャートである。 本発明の第2の実施形態に係るデータ処理装置の処理の一例を示すフローチャートである。 本発明の第3の実施形態に係るデータ処理システムの構成例を示すブロック図である。 本発明の第3の実施形態に係るデータ処理システムの処理の一例を示すフローチャートである。 本発明の第3の実施形態に係るデータ処理システムの処理の一例を示すフローチャートである。
 本発明は、複数のビデオストリーム(ビデオ信号)から結合ビデオストリームを作成し、結合ビデオストリームをヘッダ情報とともに多重化する場合において、最も処理量が多いビデオストリームの結合処理に先駆けて、予めヘッダを作成する。これにより、ストリーミング(伝送)開始時刻の低遅延化が実現される。また、本発明では、一時的に結合したビデオストリームをメモリ等に保管する必要がない。そのため、本発明は、信号処理遅延の最もボトルネックとなるメモリやディスク等への書き込み処理が不要となる。
 ここで、ビデオストリームの結合処理に先駆けて「ヘッダ」を作成することは、原理的には、多重化対象となる「複数のビデオストリームからなる結合ビデオストリーム」が無いと不可能である。なぜならば、ヘッダの中には、「複数のビデオストリームからなる結合ビデオストリーム」の中に含まれる結合ピクチャ毎の符号量情報(例えば、MP4形式におけるstszボックス)や、その結合ピクチャが最終の「多重化ストリーム内」のどこに位置するかの情報(例えば、MP4形式におけるstcoボックス)が含まれ、これらを「先(結合前)」に知る必要があるためである。
 従来であれば、そもそも「複数のビデオストリームからなる結合ビデオストリーム」という概念(要求)がなかった。なぜならば、既に、「単一ビデオストリーム」が配信サーバ内の手元(ローカル)に存在しており、上記のヘッダを構成する情報は手元にあるからである。また、そもそも多重化したビデオストリームを伝送する目的でファイルを用意するのであれば、事前に、多重化したビデオストリームを格納したMP4形式等のファイルを作成しておくのが一般的(YouTube(登録商標)等)である。それゆえ、動的にそのような形式のストリームを作成する必要がなかった。
 しかし、本発明で対象とする「複数のビデオストリームからなる結合ビデオストリーム」は、動的にユーザ(視聴者)等からの視聴要求があって、はじめて結合対象となるビデオストリームが決定される。そのため、事前に、多重化対象となる「複数のビデオストリームからなる結合ビデオストリーム」は存在せず、その結果、上記のヘッダを構成する情報(素材情報)は手元に存在しない。
 故に、存在しないヘッダを構成する「素材情報」を、「複数のビデオストリームからなる結合ビデオストリーム」を得る前にどのようにして取得するかが最大の課題となる。この課題に対し、本発明では、そのヘッダのサイズなどを、「結合アルゴリズム(符号化方式)」に依存して、予め見積もり(予測)算出することを可能とする。
 結合アルゴリズムでは、圧縮された符号の修正や追加、修正マクロブロック符号の挿入など、様々な処理が「圧縮空間」内あるいは「非圧縮空間」で行われる。結合アルゴリズムが明確な場合には「複数のビデオストリームからなる結合ビデオストリーム」の各結合ピクチャの符号量を「事前に」見積もることが可能となる。ここで、「事前」とは、あくまで結合する対象となる複数のビデオストリームが決定した後でという意味である。
 なお、この「結合アルゴリズム」については、本発明者らによる特許第5089658号、特開2013-93656号公報、特開2013-98596号公報で既に公開されている。これらの「結合アルゴリズム」や他のアルゴリズムを適用して、ヘッダのサイズなどを見積もることが可能となる。本発明では、結合アルゴリズムや他のアルゴリズムの種類に関しては規定しない。
 これにより、結合ビデオストリームの各結合ピクチャの符号量が判明するので、ヘッダ内の一つ目の情報である符号量情報(例えばstszボックス)が「事前に」作成可能となる。
 一方、結合ピクチャが、最終の「多重化ストリーム内」のどこに位置するかを示す情報(例えばstcoボックス)をどのように作成するかも課題となる。この「どこに位置するかを示す情報」として、最終の多重化ストリームの先頭からのオフセット位置を記述する必要がある。しかし、MP4形式等の「ヘッダパート+メディアパート」から構成される多重化ストリームにおいて、ヘッダパートのサイズ(長さ)が判明しないと、先のオフセット位置が最終的に決定しないという問題がある。
 ここで、結合ピクチャが最終の「多重化ストリーム内」のどこに位置するかを示す情報のサイズが、MP4形式のように「全結合ピクチャフレーム数×固定長バイト」で構成される場合を想定する。本発明のポイントは、まずは、結合ピクチャの先頭位置に関して、ヘッダを除外したメディアパート先頭からの「相対位置」を決定し、仮の結合ピクチャの先頭位置の情報を作成する。そして、それらを含む他の全ての情報(ヘッダ群)を含めて、仮のヘッダパート全体を作成しておく。この時点では、まだヘッダパートは受信側へ送信できない。
 仮のヘッダパートの最後尾までの作成が完了した段階で、ヘッダパート全体のサイズ(長さ)が判明する。そして、ヘッダパート全体のサイズ情報をもとに、ヘッダ内における「結合ピクチャが最終の「多重化ストリーム内」のどこに位置するかを示す情報」に対する「修正処理」が開始される。具体的には、先の「相対位置」情報を「絶対位置」情報に修正する処理が行われる。
 この処理が終了した段階で、ヘッダパートも最終的に「作成完了」となる。そして、その後に、ヘッダパートを受信側へ送信することが可能となる。なお、この段階で、まだ最終的な「複数のビデオストリームからなる結合ビデオストリーム」は作成されていない。そのため、ここまでの処理は非常に簡易に実施することが可能であり、かつ従来方式では必要であった結合ビデオストリームの生成を行っていないため、結合ビデオストリームをメモリ等に保管する必要がなく、メモリやディスク等への書き込み処理を行う必要がない。
 本発明では、ヘッダパートの送信が完了次第、「複数のビデオストリームからなる結合ビデオストリーム」の作成処理がようやく開始される。そして、複数のビデオストリームの対応するピクチャ毎の結合処理が完了次第、メディアパートとして多重化され、結合ピクチャ毎に送信される。
 そして、最後の結合ピクチャが送信された段階で、多重化ストリームの送信が完了する。
 以下、本発明の各種実施形態に係るデータ処理装置及びデータ処理方法の例を、図面を参照しながら説明する。
〔第1の実施形態〕
<データ処理装置の構成例>
 まず、図1を参照して、第1の実施形態に係るデータ処理装置100の構成例について説明する。データ処理装置100は、記憶部1と、制御部2と、ビデオストリーム解析部3と、多重化ストリーム用ヘッダ用情報算出部4と、ヘッダ生成部としての多重化ストリーム用ヘッダ生成部5と、結合ビデオストリーム生成部6と、多重化ストリーム出力部7とを備える。
 記憶部1は、HDD(Hard Disk Drive)等よりなり、この記憶部1に、ビデオストリームVsと、オーディオストリームAsと、多重化設定情報Cfとが記憶される。ビデオストリームVsとは、カメラ10で撮影された映像信号が、映像信号符号化部11によって符号化された、映像のビットストリームである。符号化の方式は、MPEG-1、MPEG-2、MPEG-4、H.264/AVC等、どのような方式であってもよい。
 オーディオストリームAsとは、マイクロフォン12で生成された音声信号が、音声信号符号化部13によって符号化されてなる、音声のビットストリームである。
 多重化設定情報Cfとは、複数のビデオストリームVs同士を結合して結合ビデオストリームを生成する場合の設定ファイル、すなわち、結合ビデオストリームの設計情報等が記載された設定ファイルである。多重化設定情報Cfは、ユーザが手動で生成するようにしてもよいし、ユーザによって所望のビデオストリームVsが結合する対象として選択された場合等に、自動的に生成されるようにしてもよい。結合ビデオストリームの詳細については図2及び図3を参照して後述する。また、多重化設定情報Cfの詳細についても後述する。
 制御部2は、CPU(Central Processing Unit)等よりなり、データ処理装置100を構成する各ブロックを制御する。具体的には、結合対象として選択されたビデオストリームVsを記憶部1より読み出す処理、各ブロック間でのデータの受け渡し処理、及び各ブロックに対して各種処理の実行を指令する処理等を行う。
 ビデオストリーム解析部3は、制御部2からの指令に基づいて、結合対象として抽出された各ビデオストリームVsを解析する。その後、ビデオストリーム解析部3は、解析の結果を制御部2に出力する。ビデオストリーム解析部3の処理の詳細については、図4を参照して後述する。
 多重化ストリーム用ヘッダ用情報算出部4は、ビデオストリーム解析部3による解析によって得られた情報に基づいて、多重化ストリームのヘッダ生成に必要な情報を算出する。多重化ストリームとは、複数のビデオストリームVsが結合された結合ビデオストリームと、オーディオストリームAsとが、多重化されたストリームを指す。このような結合ビデオストリームを含んだ多重化ストリームは、複数のビデオストリームVsが多重化された状態である。本実施形態では、結合ビデオストリームとオーディオストリームAsとの多重化は、例えばMP4フォーマット規格に準拠した方式で行われる。多重化ストリーム用ヘッダ用情報算出部4の処理の詳細については、図5を参照して後述する。なお、少なくとも結合ビデオストリームを含んだストリームは、広義の多重化ストリームに含まれる。すなわち、多重化ストリームは、結合ビデオストリームのみを含むストリームであってもよい。
 多重化ストリーム用ヘッダ生成部5は、多重化ストリーム用ヘッダ用情報算出部4で算出された、多重化ストリームのヘッダ生成に必要な情報を用いて、多重化ストリームのヘッダを生成する。なお、多重化ストリーム用ヘッダ生成部5の処理の詳細については、図6~図8を参照して後述する。
 結合ビデオストリーム生成部6は、制御部2の制御に基づいて、結合対象として抽出された各ビデオストリームVsを実際に結合して、結合ビデオストリームを生成する処理を行う。
 多重化ストリーム出力部7は、制御部2の制御に基づいて、多重化ストリーム用ヘッダ生成部5で生成されたヘッダを出力する。また、多重化ストリーム出力部7は、結合ビデオストリーム生成部6で生成された結合ビデオストリームとオーディオストリームAsを多重化して、多重化ストリームとして出力する。なお、本実施形態では、ビデオストリームVs及びオーディオストリームAsを多重化する例を挙げたが、本発明はこれに限定されない。上述したように、ビデオストリームVsのみを結合した結合ビデオストリームを多重化ストリームとして出力する構成としてもよい。
[結合ビデオストリームについて]
 次に、図2及び図3を参照して、結合ビデオストリームについて説明する。図2の(2-1)として示すように、結合ビデオストリームMsは、N個の結合ピクチャ(結合フレーム)Pcmよりなる。(2-1)では、N個の結合ピクチャを、結合ピクチャPcm1~結合ピクチャPcmNで示している。以降の説明において、結合ピクチャPcm1~結合ピクチャPcmNを特に区別しない場合には、結合ピクチャPcmと表記する。結合ピクチャPcmのそれぞれは、図2の(2-2)に示す複数のビデオストリームVs内の相互に対応するピクチャPc同士が結合されることにより生成される。例えば、(2-1)に示す結合ビデオストリームMs内の結合ピクチャPcmnは、(2-2)に示すビデオストリームVs1~ビデオストリームVsM内の各ピクチャPcn同士が結合されることにより生成される。結合ピクチャPcmnにより表示される画面は、結合対象の複数のビデオストリームに対応して複数の小画面に分割された画面である。複数のビデオストリームVs内の結合されるピクチャPcの対応づけは、各ビデオストリームVsの先頭位置等により自動的に、又はユーザ等により選択的に決定される。
 図2の(2-3)に示すように、ビデオストリームVsは、例えば各々異なる内容(コンテンツ)のビデオストリーム(旅行、スポーツ、料理等)である。図2の(2-1)では、旅行のビデオストリームが9分割された画面の1段目左端の小画面に表示され、同様にスポーツのビデオストリームが1段目中央の小画面に、料理のビデオストリームが3段目左端の小画面に表示されている。このように、本実施形態では、複数の動画を一つの動画(映像)に結合し、必要に応じて適宜配信する。したがって、複数の動画が一つの動画(映像)として配信されるので、この映像を受信した受信側では、一般的なPC搭載のビデオプレイヤーやTVセットボックス、スマートフォン、Webブラウザ等を用いて各動画を同時に再生することができる。
 図3は、結合対象として抽出された複数のビデオストリームVs、及び結合ビデオストリームMsの構成の詳細を示す図である。図3の(3-1),(3-2)には、結合対象として抽出されたビデオストリームVs1とビデオストリームVs2の構成例を示す。なお、図3の(3-1),(3-2)には、ビデオストリームVs1とビデオストリームVs2を構成するピクチャPcのうち、ピクチャPc1~ピクチャPc9のみを図示している。
 図3の(3-3)は、ビデオストリームVs1(第1のビデオストリーム)のピクチャPc3(第1のフレーム)と、ビデオストリームVs2(第2のビデオストリーム)のピクチャPc3(第2のフレーム)とを結合させる場合の結合処理のイメージを示したものである。図3の(3-3)の左図には、ビデオストリームVs1のピクチャPc3_Vs1を示し、中央図には、ビデオストリームVs2のピクチャPc3_Vs2を示す。
 本実施形態では、ピクチャPc同士の結合を、マクロブロック(MB_0,MB_1,・・・)が配列されたマクロブロックラインLnの1ライン単位で行う。(3-3)において、左図のピクチャPc3_Vs1の1ライン目のマクロブロックラインLn1の右端には、中央図のビデオストリームVs2のピクチャPc3_Vs2の1ライン目のマクロブロックラインLn1の左端が接続される。同様に、中央図のピクチャPc3_Vs2の1ライン目のマクロブロックラインLn1の右端には、右図のビデオストリームVs3のピクチャPc3_Vs3の1ライン目のマクロブロックラインLn1の左端が接続される。
 なお、ピクチャPc同士の結合の単位はこの例に限定されるものではなく、複数のマクロブロック単位や、複数のマクロブロックラインLnの単位、ピクチャPc全体等、他の単位で行うようにしてもよい。
 このようにして、複数のビデオストリームVsのピクチャPc3同士が結合されることにより、図3の(3-4)に示すように、結合ビデオストリームMsの結合ピクチャPcm3(結合フレーム)が生成される。図3の(3-4)では、結合ピクチャPcm3が、9枚のピクチャ(ピクチャPc3_Vs1~ピクチャPc3_Vs9)より構成される例を示している。
 他の結合ピクチャPcmも同様に生成されることにより、最終的に、図3の(3-5)に示すような、複数の結合ピクチャPcm(図3の(3-5)に示した例では結合ピクチャPcm1~結合ピクチャPcm9)よりなる、結合ビデオストリームMsが生成される。
 なお、結合対象として抽出されたビデオストリームVsが、H.264/AVC等の、画面内予測符号化を採用している規格によって符号化されたものである場合には、画面内予測符号化で参照されるブロックも含めて結合する必要がある。画面内予測符号化とは、符号化済みの隣接ブロックの画素値から予測画像を生成し、その予測画像との差分を符号化する方式である。また、画面内予測符号化を採用した規格で符号化されたビデオストリームVs同士を結合させる場合に生じうる画質劣化を抑える目的で、特別の工夫がなされた符号化方式を採用する場合があるが、そのような場合には、画質劣化抑制の実現のため必要となる付加的な符号化情報も、併せて結合するようにする。
 また、図3には、ピクチャPcが複数のスライス(マクロブロックラインLn)で構成され、スライスを構成する各マクロブロック(MB_0,MB_1,・・・)が、左から右、上から下の順に連続的に配置されている例を示した。このような構造を有するピクチャPc同士を結合して結合ピクチャPcmを生成することで、結合ピクチャPcmの生成後は、符号化の単位は結合ピクチャPcm単位となる。しかし、このような構造以外の構造を有するピクチャPcを結合の対象としてもよい。例えば、H.265におけるタイル構造を有するピクチャPcや、H.264における“Flexible Macroblock ordering”というモードで符号化されたピクチャPc同士を結合する場合には、結合前の各ピクチャPcが持っていた構造が、結合後にもそのまま受け継がれる。すなわち、このような構造を有するピクチャPc同士を結合させる場合には、ピクチャPc全体を単位として結合を行うようにすればよい。
 図2及び図3を参照して説明した結合ビデオストリームVsの生成処理は、結合ビデオストリーム生成部6によって、多重化ストリーム用ヘッダ生成部5による多重化ストリームのヘッダ生成処理の完了後に行われる。
[多重化設定情報の詳細]
 多重化設定情報Cfには、最終的に生成される多重化ストリームの生成に必要な情報、又は多重化ストリームのヘッダの生成に必要な情報が記述される。より詳細には、多重化設定情報Cfは、例えば以下のような項目で構成される。
(1)結合対象のビデオストリームVsとして抽出された各ビデオストリームVsのフレームレート情報
(2)各ビデオストリームVsのイントラピクチャレート(例えば、ビデオストリームVsがH.264/AVCの規格で符号化されたものであれば、「IDR(Instantaneous Decoding Refresh)フレームレート」が相当)
(3)各ビデオストリームVsの解像度(横方向のピクセル数,縦方向のピクセル数)
(4)結合ビデオストリームMs内での、各ビデオストリームVsの座標位置(横方向の座標位置,縦方向の座標位置)
(5)結合ビデオストリームMsを構成する各ビデオストリームVsのパス(保存場所)
(6)結合ビデオストリームMsの横方向におけるビデオストリームVsのピクチャPcの数
(7)結合ビデオストリームMsの縦方向におけるビデオストリームVsのピクチャPcの数
(8)結合ビデオストリームMsの総フレーム数
(9)最終的に生成される多重化ストリームの出力先(保存場所へのパス又はネットワークアドレス)
 多重化設定情報Cfに含まれる項目のうち、(1)は、多重化ストリームのヘッダに書き込まれる情報である。この情報は、多重化ストリームのメディアデータ(実データ部分)を構成する各チャンクを、どのような単位で生成するかを規定するためにも使用される。チャンクとは、複数のピクチャ(又はオーディオデータ)をひとまとまりとする、データの論理的な単位である。例えば、1つのチャンクの長さが0.5秒に設定されており、(1)に記述されたフレームレートが30fpsであるとする。この場合、1つのチャンクを構成するピクチャの数は15となる。すなわち、15枚分のピクチャをひとまとまりとして、1つのチャンクを生成すればよいことになる。
 多重化設定情報Cfに含まれる項目のうち、(2)は、多重化ストリームのヘッダに書き込まれる情報である。(2)に記載された各ビデオストリームVsのイントラピクチャレートの情報は、多重化ストリームを受信した受信装置側で、ランダムアクセスの実行時に参照される。
 なお、上述した(1)及び(2)は、多重化設定情報Cfとして記述しないで、ビデオストリーム解析部3が結合対象のビデオストリームVsを解析することによって、その都度取得するようにしてもよい。
 多重化設定情報Cfに含まれる項目のうち、(3)~(8)は、結合ビデオストリーム生成部6が結合ビデオストリームMsを生成する際に参照する情報である。(3)~(5)は、どのビデオストリームVsのどの部分をどこから抽出して、結合ビデオストリームMsのどの位置に配置するかを規定する情報である。(6)~(8)は、結合ビデオストリームMsの横方向、縦方向、及び時間方向のサイズを規定する情報である。
 多重化設定情報Cfの(3)も、予め多重化設定情報Cfとして記述しておかずに、ビデオストリーム解析部3が結合対象のビデオストリームVsを解析することによって、その都度取得するようにしてもよい。ただし、(3)の情報を予め多重化設定情報Cfに記述しておけば、異常が含まれるビデオストリームVsが入力された際に、(3)の情報を参照して異常を検知することが可能となる。
 多重化設定情報Cfに含まれる項目のうち、(9)は、最終的に生成される多重化ストリームの出力先の場所を示す情報である。多重化ストリームを記憶装置や記憶媒体に保存する場合には、保存場所へのパスが記載される。また、多重化ストリームがネットワークを介して所定の受信装置に送信される場合には、受信装置のネットワークアドレスが記載される。
 なお、多重化設定情報Cfに記述する情報は(1)~(8)に限定されるものではなく、その他の情報を追加してもよい。例えば、結合対象として抽出するビデオストリームVsのピクチャPcの範囲を指定する情報を記載してもよい。例えば、結合ビデオストリームMsの生成用に抽出するピクチャ群における、抽出開始フレーム番号、及び抽出ピクチャ数を記載することで、ビデオストリームVsの任意の位置のピクチャPc同士を抽出して、結合ビデオストリームMsを生成することも可能となる。
[ビデオストリーム解析部の処理の詳細]
 ビデオストリーム解析部3は、結合対象として抽出された各ビデオストリームVsを解析して、ビデオストリームVsを構成する各ピクチャのピクチャタイプ(Iピクチャ、Pピクチャ、Bピクチャ等のピクチャの種別)を取得する。また、ビデオストリーム解析部3は、ビデオストリームVsを構成する各ピクチャ(フレーム)の符号量(データサイズ)を算出する。すなわち、つまり、ビデオストリーム解析部3は、データサイズ算出部として機能する。
 図4に、ビデオストリームVsの構成例を示す。ビデオストリームVsは、複数のピクチャPc(ピクチャPc1~ピクチャPcN)よりなり、各ピクチャPcは、ピクチャヘッダHp(ピクチャヘッダHp1~ピクチャヘッダHpN)及びピクチャデータDp(ピクチャデータDp1~ピクチャデータDpN)で構成される。
 ビデオストリーム解析部3は、各ビデオストリームVsを対象として、ファイルの先頭から1バイトずつ移動しながらピクチャヘッダHpを探索する。ピクチャヘッダHpの探索を行うことにより、例えば、ビデオストリームVs1のピクチャPc2のピクチャヘッダHp2を検出した時点で、ビデオストリームVs1のピクチャPc1の符号量b(図1及び図2参照)が判明する。
 ビデオストリーム解析部3は、このヘッダ探索の処理をビデオストリームVsの先頭から終端まで行うことにより、ビデオストリームVsを構成するすべてのピクチャPcの符号量bを取得する。
[多重化ストリーム用ヘッダ用情報算出部の処理の詳細]
 多重化ストリーム用ヘッダ用情報算出部4は、ビデオストリーム解析部3による解析の結果得られた情報を用いて、多重化ストリームのヘッダ生成に必要な情報を算出する。多重化ストリームのヘッダ生成に必要な情報とは、異なるビデオストリームVsのピクチャPc同士を結合したと想定した場合に得られる結合ピクチャPcmの符号量Bと、最終的に生成される多重化ストリームのメディアデータ部分における、各チャンクの位置の情報である。
 図5に、多重化ストリームSの構成例を示す。多重化ストリームSは、ヘッダH及びメディアデータDで構成される。メディアデータDは、複数のチャンクCk(図5の例ではチャンクCk1~チャンクCk3)よりなる。各チャンクCkは、複数の結合ピクチャPcmで構成される。なお、図5には、説明を簡略化するため、オーディオストリームAsを含まない、結合ビデオストリームMsの結合ピクチャPcmのみで、各チャンクCkが構成される例を示している。
 多重化ストリーム用ヘッダ用情報算出部4は、ビデオストリーム解析部3で算出された各ピクチャPcの符号量bを合計することで、各チャンクCkを構成する各結合ピクチャPcmの符号量B(図2参照)を算出する。すなわち、多重化ストリーム用ヘッダ用情報算出部4も、データサイズ算出部として機能する。例えば、図2の(2-1)に示した結合ビデオストリームMsにおける結合ピクチャPcmnは、図2の(2-2)に示すビデオストリームVs1~ビデオストリームVsMの各ピクチャPcnが結合されることにより生成される。したがって、図2の(2-2)に示すビデオストリームVs1~ビデオストリームVsMの各ピクチャPcnの符号量bを合計した値が、すなわち図2の(2-1)に示す結合ピクチャPcmnの符号量Bとなる。
 なお、ピクチャPcn同士を結合させる際に付加的な符号化情報も追加する符号化方式を用いる場合には、ピクチャPcnの符号量bに付加的な符号化情報の符号量を追加した符号量が、符号量Bとなる。すなわち、符号量Bは、結合前のビデオストリームのピクチャPcnの符号量に加えて,符号結合時の映像符号修正や符号追加処理により増加する符号量を考慮して算出される。例えばH.264/AVCは、数百から1000以上のユーザからの視聴要求に対応するため、1コアのCPUにより、リアルタイムに超高速に圧縮された映像符号を結合する処理を目標の一つとしている。H.264/AVCでは、様々な符号化モード制御や(ビット単位ではなく)バイト単位ストリームとなるような可変長符号制御などにより、特殊な映像符号(結合前のビデオストリームに相当)が作成される。そして、上記目標を達成するため、H.264/AVCでは、生成した映像符号に対して、ユーザ要求に応じて、動的に、圧縮した状態で符号を修正あるいは新しい符号を追加することにより、ビット操作することなく、H.264/AVCに準拠した結合映像符号ストリーム(結合ストリームに相当)を作成する。
 結合ビデオストリームMsを構成する各結合ピクチャPcmの符号量Bが判明すれば、結合ビデオストリームMsのメディアデータDにおける各結合ピクチャPcmの先頭位置も判明する。また、上述したように、多重化設定情報Cfに記載のフレームレート情報を参照することで、多重化ストリームSを構成する各チャンクCkを、何枚の結合ピクチャPcmをひとまとまりとして形成すべきかの情報も求まる。すなわち、結合ビデオストリームMsを構成する各結合ピクチャPcmの符号量Bが算出されることで、ヘッダHを含まない多重ストリームSのメディアデータDにおける、各チャンクCkの先頭位置も算出することができる。
 本実施形態では、メディアデータDにおける各チャンクCkの先頭位置は、メディアデータDの先頭位置との差分(オフセット量)を示すオフセット位置(第1の位置)で表される。図5には、一例として、チャンクCk2の先頭位置の、メディアデータDの先頭位置からのオフセット位置Rp_Ck2を記載している。
 つまり、本実施形態によれば、複数のビデオストリームVsのピクチャPc同士を実際に結合して結合ビデオストリームMsを生成することなく、多重化ストリームSのヘッダHの生成に必要な情報、すなわち、各結合ピクチャPcmの符号量Bと各チャンクCkの先頭位置に関する情報を算出することができる。
[多重化ストリーム用ヘッダ生成部の処理の詳細]
 続いて、図6~図8を参照して、多重化ストリーム用ヘッダ生成部5の処理の詳細について説明する。多重化ストリーム用ヘッダ生成部5は、多重化ストリーム用ヘッダ用情報算出部4で算出された情報を用いて、多重化ストリームSのヘッダHの構成情報(構造体)を生成する。
 図6は、多重化ストリームSのデータ構造の例を示す図である。多重化ストリームSは、上述のように、MP4ファイルフォーマットに準拠したファイルとして生成される。多重化ストリームSは、多くのBOX(ボックス)情報(構成要素)の集合体として構成される。各ボックス情報は、カテゴリーごとに階層化されている。
 一番上にあるftypボックスBx1には、ファイルの互換性を示す情報が格納される。その下のmoovボックスBx2に、多重化ストリームSのヘッダ情報が格納される。mdatボックスBx3には、メディアデータD、すなわち、結合ビデオストリームMs及びオーディオストリームAsが格納される。
 moovボックスBx2内のstszボックスBx4には、メディアデータD内の各チャンクを構成する各ピクチャPcmのサイズ情報が格納される。図7に、stszボックスBx4のデータ構造の例を示す。図7に示すように、stszボックスBx4には、各チャンクを構成する各ピクチャPcmのサイズが、entry_size(エントリーサイズ)E2として、sample_count(サンプルカウント)E1として記述されるピクチャPcmの数の分だけ記述される。
 図6に戻って説明を続ける。moovボックスBx2内のstcoボックスBx5には、mdatボックスBx3に格納されたメディアデータDを構成する各チャンクの先頭位置情報が格納される。図8に、stcoボックスBx5のデータ構造の例を示す。図8に示すように、stcoボックスBx5には、メディアデータDを構成する各チャンクの先頭位置情報が、chunk_offset(チャンクオフセット)E4として、entry_count(エントリーカウント)E3の分だけ記述される。
 各チャンクCkの先頭位置は、多重化ストリームSのヘッダHを含むファイル全体の先頭位置からのオフセット位置で記述される。しかし、各チャンクCkの先頭位置は、ヘッダHのデータサイズが判明してからでないと算出することができない。また、ヘッダHのデータサイズは、ヘッダHを構成する各構成要素が記述されてからでないと判明しない。
 したがって、従来は、ビデオストリームVsを実際に結合して結合ビデオストリームMsを生成し、生成された結合ビデオストリームMsを解析することによって、ヘッダHの生成に必要な情報を取得してから、ヘッダHを生成することを行っていた。
 これに対して本実施形態では、多重化ストリーム用ヘッダ用情報算出部4で算出された、各チャンクCkを構成する各結合ピクチャPcmの符号量Bを用いて、多重化ストリーム用ヘッダ生成部5が、多重化ストリームSのヘッダHの構成情報を生成する。このとき、上述したmoovボックスBx2内のstcoボックスBx5には、各チャンクの先頭位置として、ヘッダHを含まないメディアデータDの先頭位置からのオフセット位置(第1の位置)を仮に代入しておく。そして、ヘッダHの構成情報が生成されることによって、ヘッダHのデータサイズが求まった時点で、多重化ストリームにおける各チャンクの本当の先頭位置(絶対位置)が決定される。すなわち、stcoボックスBx5に仮に代入しておいた各チャンクの先頭位置、すなわちヘッダHを含まないメディアデータDの先頭位置からのオフセット位置(第1の位置)を、ヘッダHを含むファイル全体の先頭位置からの絶対位置(第2の位置)に書き替えることを行う。図5には、ヘッダHを含むファイル全体の先頭位置からチャンクCk2の先頭位置までの絶対位置を、位置Ap_Ck2として示している。
<データ処理の例>
 続いて、第1の実施形態によるデータ処理の例について、図9のフローチャートを参照しながら説明する。まず、制御部2が、記憶部1から多重化設定情報Cfを取得する(ステップS1)。その後、同じく制御部2が、取得した多重化設定情報Cfに記載の情報に基づいて、結合対象とされた複数のビデオストリームVsを取得する(ステップS2)。次いで、制御部2は、ビデオストリーム解析部3に対して、ビデオストリームVsの解析依頼を送信する(ステップS3)。このとき、制御部2は、結合対象ビデオストリームの解析依頼とともに、複数のビデオストリームVsも送信する。なお、複数のビデオストリームVsの送信は、データそのものを送信してもよいが、ビデオストリームVsの保存場所のパスの情報のみを送信してもよい。
 ビデオストリーム解析部3は、制御部2から送信された結合対象ビデオストリームの解析依頼を受信すると、結合対象として抽出された各ビデオストリームVsの解析を行う(ステップS4)。ビデオストリーム解析部3は、結合対象として抽出された各ビデオストリームVsを解析することで、各ビデオストリームVsを構成する各ピクチャPcのピクチャタイプを取得するとともに、各ビデオストリームVsを構成する各ピクチャPcの符号量bを算出する。
 各ビデオストリームVsを構成する各ピクチャPcのピクチャタイプ、及び符号量bを取得した後は、ビデオストリーム解析部3は、これらの情報を、結合対象ビデオストリームの解析結果として制御部2に送信する(ステップS5)。
 次いで、制御部2から多重化ストリーム用ヘッダ用情報算出部4に対して、多重化ストリーム用ヘッダ用情報の算出依頼が送信される(ステップS6)。多重化ストリーム用ヘッダ用情報の算出依頼には、ビデオストリーム解析部3の解析結果(各ビデオストリームVsを構成する各ピクチャPcの符号量b等)、及び多重化設定情報Cfの(1),(2),(6),(7),(8)が含まれる。
 多重化ストリーム用ヘッダ用情報算出部4は、制御部2から送信された多重化ストリーム用ヘッダ用情報の算出依頼を受信すると、多重化ストリーム用ヘッダ用情報を算出する(ステップS7)。多重化ストリーム用ヘッダ用情報算出部4は、多重化ストリーム用ヘッダ用情報として、多重化ストリームSを構成する各結合ピクチャPcmの符号量B、及び、多重化ストリームSのメディアデータDにおける各チャンクCkの先頭位置の情報を算出する。その後、多重化ストリーム用ヘッダ用情報算出部4は、生成した多重化ストリーム用ヘッダ用情報を、制御部2に送信する(ステップS8)。
 次いで、制御部2から多重化ストリーム用ヘッダ生成部5に対して、多重化ストリーム用ヘッダの生成依頼が送信される(ステップS9)。制御部2は、多重化ストリーム用ヘッダの生成依頼とともに、多重化ストリーム用ヘッダ用情報算出部4で算出された多重化ストリーム用ヘッダ用情報も送信する。
 多重化ストリーム用ヘッダ生成部5は、制御部2から送信された多重化ストリーム用ヘッダの生成依頼を受信すると、多重化ストリームS用のヘッダHの生成処理を行う(ステップS10)。多重化ストリーム用ヘッダの生成処理については、図10Bを参照して後述する。
 多重化ストリーム用ヘッダ生成部5は、多重化ストリーム用ヘッダの生成処理を終えると、生成した多重化ストリームS用のヘッダHを、制御部2に送信する(ステップS11)。
 次いで、制御部2から多重化ストリーム出力部7に対して、多重化ストリーム用ヘッダの出力依頼が送信される(ステップS12)。このとき、制御部2は、多重化ストリーム用ヘッダの出力依頼とともに、多重化ストリーム用ヘッダ生成部5で生成された多重化ストリームS用のヘッダHも送信する。
 多重化ストリーム出力部7は、制御部2から送信された多重化ストリーム用ヘッダの出力依頼を受信すると、多重化ストリームS用のヘッダHを出力する(ステップS13)。多重化ストリーム出力部7から出力された多重化ストリームS用のヘッダHは、受信装置等に送信される。多重化ストリーム出力部7は、多重化ストリームS用のヘッダHの出力を終えると、制御部2に対して、多重化ストリーム用ヘッダの出力完了を通知する(ステップS14)。
 次いで、制御部2から結合ビデオストリーム生成部6に対して、ビデオストリームVsの結合依頼が送信される(ステップS15)。ビデオストリームVsの結合依頼には、ビデオストリームVs、及び多重化設定情報Cfの(4),(6)~(8)が含まれる。
 結合ビデオストリーム生成部6は、制御部2から送信されたビデオストリームVsの結合依頼を受信すると、複数のビデオストリームVsをピクチャPcの単位で結合することにより、結合ビデオストリームMsを生成する(ステップS16)。その後、結合ビデオストリーム生成部6は、生成した結合ビデオストリームMsを、制御部2に送信する(ステップS17)。なお、ステップS15の結合依頼の送信処理、及びステップS16の結合ビデオストリームMsの生成処理は、結合の対象となっているすべてのピクチャPcの結合が完了するまでの間、繰り返し行われる。
 次いで、制御部2から多重化ストリーム出力部7に対して、多重化ストリームSの出力依頼が送信される(ステップS18)。多重化ストリーム出力部7は、制御部2から送信された多重化ストリームSの出力依頼を受信すると、結合ビデオストリームMs及びオーディオストリームAsの多重化処理を行う。そして、多重化処理が行われた結合ビデオストリームMs及びオーディオストリームAsを多重化ストリームSとして出力する(ステップS19)。多重化ストリーム出力部7は、多重化ストリームSの出力が終わると、制御部2に対して、多重化ストリームSの出力完了を通知する(ステップS20)。
[多重化ストリームの生成処理]
 ここで、図10A及び図10Bを参照して、多重化ストリームの生成処理について説明する。図10Aは、多重化ストリームの全体的な処理手順を示すフローチャートである。図10Bは、図10Aの多重化ストリーム用ヘッダの生成処理(ステップS31)の一例を示すフローチャートである。
 図10Aにおいて、まず多重化ストリーム用ヘッダ生成部5は、多重化用ストリーム用ヘッダの生成及び挿入(多重化)処理を行う(ステップS31)。次に、結合ビデオストリーム生成部6は、多重化ストリーム用ヘッダ生成部5により生成された多重化用ストリーム用ヘッダに基づいて、複数のビデオストリームを結合する処理を行う(ステップS32)。そして、多重化ストリーム出力部7は、結合ビデオストリームの挿入(多重化)処理を行う(ステップS33)。すなわち、本実施形態では、多重化ストリーム用ヘッダの生成処理(ステップS31)の後で、複数のビデオストリームの結合処理(ステップS32)を行う。
 なお、上述の挿入(多重化)処理とは、生成したヘッダ又は結合ビデオストリームを最終的に出力する多重化ストリームとして、あるいは多重化ストリームに多重化することを指す。多重化ストリームは、ヘッダやメディアデータがある順序に従って順々に構成されているものであり、その多重化ストリームの後ろにヘッダや結合ビデオストリームが次から次へと追加されていくことになる。そして、ストリーミング中は、このような追加が行われながら、多重化ストリームに先に追加されたヘッダや結合ビデオストリームから順次、ネットワークへ送信されていく。ただし、ヘッダの生成初期には挿入(多重化)の対象となる多重化ストリームが存在しないため、最初のヘッダの先頭(1バイト目)の後に、順次、ヘッダやメディアデータ(結合ビデオストリーム)が追加されていく。
[多重化ストリーム用ヘッダの生成処理の詳細]
 次に、図10Bを参照して、多重化ストリーム用ヘッダ生成部5による多重化ストリーム用ヘッダの生成処理(図10AのステップS31)について説明する。
 まず、多重化ストリーム用ヘッダ生成部5は、多重化ストリーム用ヘッダ用情報として算出された、結合ビデオストリームMsを構成する各結合ピクチャPcmの符号量Bを用いて、多重化ストリームSのヘッダH内のstszボックスBx4(図6参照)を生成する(ステップS311)。つまり、図7に示したstszボックスBx4のエントリーサイズE2に、各結合ピクチャPcmの符号量Bを書き込む処理を行う。
 次いで、多重化ストリーム用ヘッダ生成部5は、多重化ストリーム用ヘッダ用情報として算出された、多重化ストリームSのメディアデータDの先頭位置から各チャンクCkまでのオフセット位置の情報を用いて、多重化ストリームSのヘッダH内のstcoボックスBx5を生成する(ステップS312)。すなわち、図8に示したstcoボックスBx5のチャンクオフセットE4に、各チャンクCkの先頭位置における、多重化ストリームSのメディアデータDの先頭位置からのオフセット位置を書き込む処理を行う。
 続いて、多重化ストリーム用ヘッダ生成部5は、ヘッダHを構成する他の各ボックスの生成も行うことで、多重化ストリームS用のヘッダHの構成情報を生成する(ステップS313)。この時点で、多重化ストリームSのヘッダHのサイズが確定する。
 次いで、多重化ストリーム用ヘッダ生成部5は、多重化ストリームS用のヘッダHのサイズの情報を用いて、ヘッダ構成情報内のstcoボックスBx5のチャンクオフセットE4(図8参照)の値を書き替える処理を行う。より詳細には、チャンクオフセットE4として記述された、各チャンクCkにおけるメディアデータDの先頭位置からのオフセット位置を、ヘッダHを含む多重化ストリームS全体の先頭位置からの絶対位置に書き替える処理を行う(ステップS314)。
 その後、多重化ストリーム用ヘッダ生成部5は、多重化ストリームS用のヘッダHを生成する(ステップS315)。すなわち、ヘッダHをバイナリデータ化する処理を行う。
 上記第1の実施形態によれば、ビデオストリームVs同士を実際に結合させて結合ビデオストリームMsを生成する処理を行うことなく、多重化ストリームSのヘッダHを生成及び出力することが可能となる。すなわち、多重ストリームSのメディアデータDの部分を構成する結合ビデオストリームMsが生成されていなくても、ヘッダHのみを先に受信装置側に送信することができる。これにより、受信装置側で、復号処理の準備を早期に行うことが可能となり、受信装置側において、映像の再生を早い段階で開始できるようになる。
 また、上記第1の実施形態によれば、多重化ストリームSのヘッダHを作成するにあたって、先に結合ビデオストリームMsを生成しておく必要がなくなる。したがって、ヘッダHの生成用に作成した結合ビデオストリームMsを、ヘッダHが生成されるまでの間、記憶媒体又は記憶装置等に一時的に記憶させる処理も、行わなくて済む。
 これにより、結合ビデオストリームMsを記憶媒体又は記憶装置等に読み書きする場合にかかるCPUへの負担自体が、発生しなくなる。また、結合ビデオストリームMsを記憶媒体又は記憶装置等に読み書きする時間も発生しなくなるため、処理の時間を大幅に短縮することができる。さらに、多重化ストリームSを記憶部1等に記憶させずに、ネットワークに出力する実施形態においては、多重化処理が行われる前の結合ビデオストリームMsを記憶部1に記憶させておく必要がないため、記憶部1の容量を大幅に節減できる。したがって、データ処理装置100の低コスト化も図ることができる。
[第2の実施形態]
 上記第1の実施形態では、ビデオストリーム解析部3によるビデオストリームVsの解析を、多重化処理を行う毎に実施する例を挙げたが、本発明はこれに限定されない。ビデオストリーム解析部3によるビデオストリームVsの解析結果を、ビデオストリームVsのメタデータとして、テキストファイルやデータベース等に蓄積しておくようにしてもよい。
 図11は、第2の実施形態に係るデータ処理装置100αの構成例を示すブロック図である。図11において、図1と対応する箇所には同一の符号を付してあり、重複する説明は省略する。図11に示す構成は、図1に示した構成に、ビデオストリームメタデータDB(データベース)8を追加したものである。ビデオストリームメタデータDB8は、ビデオストリーム解析部3による解析結果を、ビデオストリームVsのメタデータとして蓄積するデータベースである。
 図12は、データ処理装置100αによるデータ処理の例を示すフローチャートである。まず、図11に示した映像信号符号化部11等よりビデオストリームVsが送信され、記憶部1に入力されると(ステップS41)、記憶部1から制御部2に対して、ビデオストリームVsの入力通知が行われる(ステップS42)。つまり、記憶部1は、今後結合ビデオストリームMsとして結合される可能性のある新しいビデオストリームVsが入力されたことを、制御部2に通知する。このとき、記憶部1は、ビデオストリームVsの入力通知とともに、新たに入力されたビデオストリームVsの位置情報も併せて送信する。ビデオストリームVsの位置情報とは、例えば、ビデオストリームVsの保存場所へのパス、ビデオストリームVsの識別子等を指す。
 次いで、制御部2からビデオストリーム解析部3に対して、ビデオストリームVsの解析依頼が送信される(ステップS43)。制御部2は、ビデオストリームVsの解析依頼として、ビデオストリーム解析部3に、ビデオストリームVsを構成する各ピクチャPcのピクチャタイプ、及び各ピクチャPcの符号量bの算出を依頼する。このとき、制御部2は、ビデオストリームVsの識別子も一緒に送信する。
 ビデオストリーム解析部3は、制御部2から送信されたビデオストリームVsの解析依頼を受信すると、ビデオストリームVsの解析を行う(ステップS44)。ビデオストリーム解析部3は、ビデオストリームVsを解析することにより、ビデオストリームVsを構成する各ピクチャPcのピクチャタイプ、及び各ピクチャPcの符号量を取得する。
 続いて、ビデオストリーム解析部3は、ビデオストリームVsの解析結果を、ビデオストリームVsのメタデータとして、ビデオストリームメタデータDB8に登録する(ステップS45)。ビデオストリームメタデータDB8は、ビデオストリームVsのデータベースへの登録が完了すると、ビデオストリーム解析部3に対して登録完了の通知を行う(ステップS46)。ビデオストリーム解析部3は、ビデオストリームメタデータDB8から送信された登録完了通知を受信すると、制御部2に対して、ビデオストリームVsの解析の完了を通知する(ステップS47)。
 ここまで説明したステップ図12のS41~ステップS47までの処理は、記憶部1に新しいビデオストリームVsが入力される都度、新たに入力されたすべてのビデオストリームVsを対象として行われる。
 図13は、データ処理装置100αによる多重化処理の例を示すフローチャートである。図13に示す処理は、ユーザ等より多重化処理の実施依頼が行われたタイミングで行われる処理であり、図12を参照して説明したメタデータの登録処理とは非同期に行われる。
 まず、制御部2が、記憶部1から多重化設定情報Cfを取得する(ステップS51)。その後、同じく制御部2が、取得した多重化設定情報Cfに記載の情報に基づいて、結合対象とされた複数のビデオストリームVsを取得する(ステップS52)。制御部2は、さらに、ビデオストリームメタデータDB8より、結合対象のビデオストリームVsのメタデータも取得する(ステップS53)。
 次いで、制御部2は、多重化ストリーム用ヘッダ用情報算出部4に対して、多重化ストリーム用ヘッダ用情報の算出依頼を送信する(ステップS54)。このとき、制御部2は、多重化ストリーム用ヘッダ用情報の算出依頼とともに、結合対象のビデオストリームVsのメタデータも送信する。
 多重化ストリーム用ヘッダ用情報算出部4は、制御部2から送信された多重化ストリーム用ヘッダ用情報の算出依頼を受信すると、多重化ストリーム用ヘッダ用情報を算出する(ステップS55)。多重化ストリーム用ヘッダ用情報算出部4は、多重化ストリーム用ヘッダ用情報として、多重化ストリームSを構成する各結合ピクチャPcmの符号量B、及び、多重化ストリームSのメディアデータDにおける各チャンクCkの先頭位置の情報を算出する。その後、多重化ストリーム用ヘッダ用情報算出部4は、生成した多重化ストリーム用ヘッダ用情報を、制御部2に送信する(ステップS56)。
 次いで、制御部2から多重化ストリーム用ヘッダ生成部5に対して、多重化ストリーム用ヘッダの生成依頼が送信される(ステップS57)。制御部2は、多重化ストリーム用ヘッダの生成依頼とともに、多重化ストリーム用ヘッダ用情報算出部4で算出された多重化ストリーム用ヘッダ用情報も送信する。
 多重化ストリーム用ヘッダ生成部5は、制御部2から送信された多重化ストリーム用ヘッダの生成依頼を受信すると、多重化ストリームS用ヘッダHの生成処理を行う(ステップS58)。多重化ストリーム用ヘッダの生成処理については、図10Bを参照して説明した通りであるから、ここでは説明を省略する。
 多重化ストリーム用ヘッダ生成部5は、多重化ストリーム用ヘッダの生成処理を終えると、生成した多重化ストリームS用のヘッダHを、制御部2に送信する(ステップS59)。次いで、制御部2から多重化ストリーム出力部7に対して、多重化ストリーム用ヘッダの出力依頼が送信される(ステップS60)。このとき、制御部2は、多重化ストリーム用ヘッダの出力依頼とともに、多重化ストリーム用ヘッダ生成部5で生成された多重化ストリームS用のヘッダHも送信する。
 多重化ストリーム出力部7は、制御部2から送信された多重化ストリーム用ヘッダの出力依頼を受信すると、多重化ストリームS用のヘッダHを出力する(ステップS61)。多重化ストリーム出力部7から出力された多重化ストリームS用のヘッダHは、受信装置等に送信される。多重化ストリーム出力部7は、多重化ストリームS用のヘッダHの出力を終えると、制御部2に対して、多重化ストリーム用ヘッダの出力完了を通知する(ステップS62)。
 次いで、制御部2から結合ビデオストリーム生成部6に対して、ビデオストリームVsの結合依頼が送信される(ステップS63)。ビデオストリームVsの結合依頼には、ビデオストリームVs、及び、ビデオストリームVsの位置情報、結合ビデオストリームMsの構成情報(各ビデオストリームVsの結合予定位置等)も含まれる。
 結合ビデオストリーム生成部6は、制御部2から送信されたビデオストリームVsの結合依頼を受信すると、複数のビデオストリームVsのピクチャPc同士を結合することにより、結合ビデオストリームMsを生成する(ステップS64)。その後、結合ビデオストリーム生成部6は、生成した結合ビデオストリームMsを、制御部2に送信する(ステップS65)。
 次いで、制御部2から多重化ストリーム出力部7に対して、多重化ストリームSの出力依頼が送信される(ステップS66)。多重化ストリーム出力部7は、制御部2から送信された多重化ストリームSの出力依頼を受信すると、結合ビデオストリームMs及びオーディオストリームAsの多重化処理を行う。そして、多重化処理が行われた結合ビデオストリームMs及びオーディオストリームAsを、多重化ストリームSとして出力する(ステップS67)。多重化ストリーム出力部7は、多重化ストリームSの出力が終わると、制御部2に対して、多重化ストリームSの出力完了を通知する(ステップS68)。
 上記第2の実施形態によれば、前述した第1の実施形態によって得られる効果と同様の効果を得ることができる。また、上記第2の実施形態によれば、多重化処理を行う毎に、結合対象となったビデオストリームVsの解析を毎回行う必要がなくなる。したがって、2回目以降にビデオストリームVsの解析を行う時間を削減することができる。
〔第3の実施形態〕
 上述した各実施形態では、ひとつのデータ処理装置100(100α)が結合ビデオストリームMsの生成も多重化処理も行う例を挙げたが、本発明はこれに限定されない。例えば、複数のサーバに処理を分散して行わせてもよい。
 図14は、結合ビデオストリームMsの生成を行う結合サーバ200と、多重化処理を行う多重化制御サーバ300と、多重化ストリーム出力部40とを有するデータ処理システム50の構成例を示すブロック図である。結合サーバ200は、ビデオストリーム記憶部21と、結合制御部22と、ビデオストリーム解析部23と、ビデオストリームメタデータDB24と、結合ビデオストリーム生成部25とを備える。なお、図14に示すデータ処理システム50は、説明を簡略化するため、ビデオストリームVsのみを結合及び多重化する構成を例にあげている。
 ビデオストリーム記憶部21は、HDD等よりなり、外部より入力されたビデオストリームVsが記憶される。結合制御部22は、CPU等よりなり、結合サーバ200を構成する各部の制御を行う。ビデオストリーム解析部23は、上述した各実施形態におけるビデオストリーム解析部3と同様に、ビデオストリームVsの解析を行い、ビデオストリームVsを構成する各ピクチャのピクチャタイプを取得するとともに、各ピクチャの符号量bを算出する。
 ビデオストリームメタデータDB24は、図11に示したビデオストリームメタデータDB8と同一のものであり、ビデオストリームVsの解析結果がビデオストリームVsのメタデータとして登録される。結合ビデオストリーム生成部25は、上述した各実施形態における結合ビデオストリーム生成部6と同一であり、複数のビデオストリームVsを結合することにより結合ビデオストリームMsを生成する。
 多重化制御サーバ300は、多重化設定情報記憶部31と、ビデオストリームメタデータアクセス情報DB32と、多重化制御部33と、多重化ストリーム用ヘッダ用情報算出部34と、多重化ストリーム用ヘッダ生成部35とを備える。
 多重化設定情報記憶部31は、HDD等よりなり、多重化設定情報Cfが記憶される。ビデオストリームメタデータアクセス情報DB32は、ビデオストリームメタデータDB24にアクセスするためのアクセス情報が登録されるデータベースである。アクセス情報としては、例えば、ビデオストリームメタデータDB24のアドレス、ビデオストリームメタデータDB24を構成する各テーブルに付与されたテーブル識別子、ビデオストリームVsの識別子等の情報が登録される。
 多重化制御部33は、CPU等よりなり、多重化制御サーバ300を構成する各部の制御を行う。多重化ストリーム用ヘッダ用情報算出部34は、上述した各実施形態における多重化ストリーム用ヘッダ用情報算出部4と同一であり、多重化ストリームS用のヘッダHの生成に必要な情報を算出する。多重化ストリーム用ヘッダ生成部35は、上述した各実施形態における多重化ストリーム用ヘッダ生成部5と同一であり、多重化ストリームS用のヘッダHを生成する。
 多重化ストリーム出力部40は、上述した各実施形態における多重化ストリーム出力部7と同一であり、多重化ストリームS用のヘッダH、又は多重化ストリームSを出力する。
 なお、図14に示した例では、結合サーバ200が1つのみである例を挙げたが、本発明はこれに限定されない。結合サーバ200を複数設け、複数の結合サーバ200から出力された各結合ビデオストリームMsを、多重化ストリーム出力部40で多重化して出力する構成としてもよい。
 また、図14に示した例では、多重化ストリーム出力部40を、結合サーバ200及び多重化制御サーバ300の外に設けた例を挙げたが、本発明はこれに限定されない。多重化ストリーム出力部40を、結合サーバ200の中や、多重化制御サーバ300の中に設けてもよい。
 また、図14に示した例では、ビデオストリーム記憶部21及びビデオストリームメタデータDB24を結合サーバ200の中に設け、ビデオストリームメタデータアクセス情報DB32を多重化制御サーバ300の中に設けた例を挙げたが、本発明はこれに限定されない。これらの各データベースは、いずれのサーバ内に設けてもよく、結合サーバ200又は多重化制御サーバ300とは独立した他のサーバ内に設けてもよい。
 次に、第3の実施形態に係るデータ処理システム50の処理の例について、図15及び図16のフローチャートを参照して説明する。図15は、結合サーバ200による処理の例を示すフローチャートであり、図16は、多重化制御サーバ300の処理、及び結合サーバ200による結合ビデオストリームMsの生成処理の例を示すフローチャートである。
 まず、図15を参照して、結合サーバ200による処理の例を説明する。まず、図1又は図11に示した映像信号符号化部11等よりビデオストリームVsが送信され、ビデオストリーム記憶部21に入力されると(ステップS71)、ビデオストリーム記憶部21から結合制御部22に対して、ビデオストリームVsの入力通知が行われる(ステップS72)。このとき、ビデオストリーム記憶部21は、ビデオストリームVsの入力通知とともに、新たに入力されたビデオストリームVsの位置情報も併せて送信する。ビデオストリームVsの位置情報とは、例えば、ビデオストリームVsの保存場所へのパス、ビデオストリームVsの識別子等を指す。
 次いで、結合制御部22からビデオストリーム解析部23に対して、ビデオストリームVsの解析依頼が送信される(ステップS73)。結合制御部22は、ビデオストリームVsの解析依頼として、ビデオストリーム解析部23に、ビデオストリームVsを構成する各ピクチャPcのピクチャタイプ、及び各ピクチャPcの符号量bの算出を依頼する。このとき、結合制御部22は、ビデオストリームVsの識別子、及びビデオストリームVsの位置情報も一緒に送信する。
 ビデオストリーム解析部23は、結合制御部22から送信されたビデオストリームVsの解析依頼を受信すると、ビデオストリームVsの解析を行う(ステップS74)。ビデオストリーム解析部23は、ビデオストリームVsを解析することにより、ビデオストリームVsを構成する各ピクチャのピクチャタイプ、及び各ピクチャの符号量bを取得する。
 続いて、ビデオストリーム解析部23は、ビデオストリームVsの解析結果を、ビデオストリームVsのメタデータとして、ビデオストリームメタデータDB24に登録する(ステップS75)。ビデオストリームメタデータDB24は、ビデオストリームVsのデータベースへの登録が完了すると、ビデオストリーム解析部23に対して登録完了の通知を行う(ステップS76)。ビデオストリーム解析部23は、ビデオストリームメタデータDB24から送信された登録完了通知を受信すると、結合制御部22に対して、ビデオストリームVsの解析の完了を通知する(ステップS77)。
 結合制御部22は、ビデオストリーム解析部23から送信されたビデオストリームVsの解析完了通知を受信すると、多重化制御サーバ300内のビデオストリームメタデータアクセス情報DB32に、ビデオストリームメタデータDB24にアクセスするためのアクセス情報を登録する(ステップS78)。
 ビデオストリームメタデータアクセス情報DB32は、アクセス情報のデータベースへの登録が完了すると、結合制御部22に対して、ビデオストリームメタデータのアクセス情報の登録完了を通知する(ステップS79)。
 以上説明した図15のステップS71~ステップS79までの処理は、記憶部1に新しいビデオストリームVsが入力される都度、新たに入力されたすべてのビデオストリームVsを対象として行われる。
 図16は、データ処理システム50による、ヘッダ生成処理及び多重化処理の例を示すフローチャートである。図16に示す処理は、ユーザ等より多重化処理の実施依頼が行われたタイミングで行われる処理であり、図15を参照して説明したビデオストリームVsのメタデータの登録処理とは非同期に行われる。
 まず、多重化制御サーバ300の多重化制御部33が、多重化設定情報記憶部31から多重化設定情報Cfを取得する(ステップS91)。その後、同じく多重化制御部33が、多重化設定情報Cf内において結合対象とされた複数のビデオストリームVsの、メタデータへのアクセス情報を、ビデオストリームメタデータアクセス情報DB32より取得する(ステップS92)。多重化制御部33は、さらに、取得したアクセス情報に基づいて、ビデオストリームメタデータDB24より、結合対象のビデオストリームVsのメタデータを取得する(ステップS93)。
 次いで、多重化制御部33は、多重化ストリーム用ヘッダ用情報算出部34に対して、多重化ストリーム用ヘッダ用情報の算出依頼を送信する(ステップS94)。多重化制御部33は、多重化ストリーム用ヘッダ用情報の算出依頼とともに、結合対象のビデオストリームVsのメタデータも送信する。
 多重化ストリーム用ヘッダ用情報算出部34は、多重化制御部33から送信された多重化ストリーム用ヘッダ用情報の算出依頼を受信すると、多重化ストリーム用ヘッダ用情報を算出する(ステップS95)。多重化ストリーム用ヘッダ用情報算出部34は、多重化ストリーム用ヘッダ用情報として、多重化ストリームSを構成する各結合ピクチャPcmの符号量B、及び、多重化ストリームSのメディアデータDにおける各チャンクCkの先頭位置の情報を算出する。その後、多重化ストリーム用ヘッダ用情報算出部34は、生成した多重化ストリーム用ヘッダ用情報を、多重化制御部33に送信する(ステップS96)。
 次いで、多重化制御部33から多重化ストリーム用ヘッダ生成部35に対して、多重化ストリーム用ヘッダの生成依頼が送信される(ステップS97)。多重化制御部33は、多重化ストリーム用ヘッダの生成依頼とともに、多重化ストリーム用ヘッダ用情報算出部34で算出された多重化ストリーム用ヘッダ用情報も送信する。
 多重化ストリーム用ヘッダ生成部35は、多重化制御部33から送信された多重化ストリーム用ヘッダの生成依頼を受信すると、多重化ストリームS用ヘッダHの生成処理を行う(ステップS98)。多重化ストリーム用ヘッダの生成処理については、図10Bを参照して説明した通りであるから、ここでは説明を省略する。
 多重化ストリーム用ヘッダ生成部35は、多重化ストリーム用ヘッダの生成処理を終えると、生成した多重化ストリームS用のヘッダHを、多重化制御部33に送信する(ステップS59)。次いで、多重化制御部33から多重化ストリーム出力部40に対して、多重化ストリーム用ヘッダの出力依頼が送信される(ステップS100)。このとき、多重化制御部33は、多重化ストリーム用ヘッダの出力依頼とともに、多重化ストリーム用ヘッダ生成部35で生成された多重化ストリームS用のヘッダHも送信する。
 多重化ストリーム出力部40は、多重化制御部33から送信された多重化ストリーム用ヘッダの出力依頼を受信すると、多重化ストリームS用のヘッダHを出力する(ステップS101)。多重化ストリーム出力部40から出力された多重化ストリームS用のヘッダHは、受信装置等に送信される。多重化ストリーム出力部40は、多重化ストリームS用のヘッダHの出力を終えると、多重化制御部33に対して、多重化ストリーム用ヘッダの出力完了を通知する(ステップS102)。
 次いで、多重化制御部33から、結合サーバ200内の結合制御部22に対して、ビデオストリームVsの結合及び出力依頼が送信される(ステップS103)。ビデオストリームVsの結合及び出力依頼には、ビデオストリームVs、及び、ビデオストリームVsの位置情報、結合ビデオストリームMsの構成情報(各ビデオストリームVsの結合予定位置等)も含まれる。
 結合制御部22は、多重化制御部33から送信されたビデオストリームVsの結合依頼を受信すると、ビデオストリームVsの位置情報に基づいて、ビデオストリーム記憶部21より、結合対象となったビデオストリームVsを取得する(ステップS104)。続いて、結合制御部22は、結合ビデオストリーム生成部25に対して、ビデオストリームの結合依頼を送信する(ステップS105)。このとき、結合制御部22は、結合ビデオストリーム生成部25に対して、ビデオストリームVsの位置情報、及び結合ビデオストリームMsの構成情報(各ビデオストリームVsの結合予定位置等)も送信する。
 結合ビデオストリーム生成部25は、結合制御部22から送信されたビデオストリームの結合依頼を受信すると、複数のビデオストリームVsを、ビデオストリーム記憶部21より取得する(ステップS106)。続いて、結合ビデオストリーム生成部25は、複数のビデオストリームVs同士をピクチャPcの単位で結合することにより、結合ビデオストリームMsを生成する(ステップS107)。その後、結合ビデオストリーム生成部25は、生成した結合ビデオストリームMsを、結合制御部22に送信する(ステップS108)。
 次いで、結合制御部22から多重化ストリーム出力部40に対して、多重化ストリームSの出力依頼が送信される(ステップS109)。多重化ストリーム出力部40は、結合制御部22から送信された重化ストリームSの出力依頼を受信すると、結合ビデオストリームMsの多重化処理を行う。そして、多重化処理が行われた結合ビデオストリームMsを多重化ストリームSとして出力する(ステップS110)。多重化ストリーム出力部40は、多重化ストリームSの出力が終わると、結合制御部22に対して、多重化ストリームSの出力完了を通知する(ステップS111)。
 上記第3の実施形態によれば、前述した第1の実施形態によって得られる効果と同様の効果を得ることができる。また、上記第3の実施形態によれば、複数のサーバに処理を分散させることができるため、処理時間の短縮を図ることができる。
 なお、前述したように、データ処理システム50内に、結合サーバ200を複数設けてもよい。例えば、結合ビデオストリームMsが、縦方向2ピクチャ×横方向2ピクチャ=4ピクチャで構成されるとする。また、結合ビデオストリームMsを構成する4つのピクチャPcmのうち、上半分の領域に配置される結合ビデオストリームMsを結合サーバ200Aが生成し、下半分の領域に配置される結合ビデオストリームMsを結合サーバ200Bが生成するとする。
 このような場合には、上記ステップS100において、多重化制御部33から多重化ストリーム出力部40に対して多重化ストリーム用ヘッダの出力依頼を送信する際に、結合ビデオストリームMsの構成情報(各ビデオストリームVsの結合予定位置等)も送信するようにする。すなわち、4つの結合ビデオストリームMsのうち、上半分の領域に配置される結合ビデオストリームMsは、結合サーバ200Aから出力されるものであり、下半分の領域に配置される結合ビデオストリームMsは、結合サーバ200Bから出力されるものであることを示す情報を送信する。
 ステップS103において、結合制御部22から結合サーバ200A(結合サーバ200B)内の結合制御部22に対して、ビデオストリームVsの結合及び出力依頼を送信する際に送信する、結合ビデオストリームMsの構成情報にも、同様の情報を記述しておく。
 このような処理を行うことにより、結合サーバ200が複数存在する形態においても、ビデオストリームVsの結合処理及び多重化処理を行うことが可能となる。また、結合サーバ200を複数設けることで、結合ビデオストリームMsの生成処理が、複数の結合サーバ200間で並行して行われるようになる。すなわち、全体の処理時間を短縮することが可能となる。
 また、結合サーバ200だけでなく、多重化ストリーム出力部40も、複数設けてもよい。この場合は、結合制御部22から結合サーバ200A(結合サーバ200B)内の結合制御部22に対して送信するビデオストリームVsの結合及び出力依頼の中に、多重化ストリーム出力部40の識別子も含めて送信すればよい。
 また、上記第3の実施形態における結合サーバ200及び多重化制御サーバ300は、サーバ装置として構成されるものに限定されない。例えば、撮像部を備えたデジタルスチルカメラ又はビデオカメラ、ネットワークを介して送信された撮影画像Poを加工して現像したり、フォトブック等に加工したりする画像処理サービスで使用されるデータ画像処理装置等に適用してもよい。
 また、上記第3の実施形態においては、結合サーバ200が、結合制御部22、ビデオストリーム解析部23及び結合ビデオストリーム生成部25を有し、多重化制御サーバ300が、多重化制御部33、多重化ストリーム用ヘッダ用情報算出部34及び多重化ストリーム用ヘッダ生成部35を有する構成を例に挙げたが、本発明はこれに限定されない。これらの各部はいずれのサーバ内に設けてもよく、また、これらの各部をそれぞれ独立した装置(ビデオストリーム解析装置(データサイズ算出装置)、結合ビデオストリーム生成装置、多重化ストリーム用ヘッダ用情報算出装置、多重化ストリーム用ヘッダ生成装置(ヘッダ生成装置)、多重化ストリーム出力装置)として設けてもよい。
 上述した各種実施形態では、MPEG-4等の標準的なフォーマットで符号化されたビデオストリームVsを、結合及び多重化する例を挙げたが、本発明はこれに限定されない。多重化ストリームS用のヘッダHの生成処理をより高速化する目的で、標準的なフォーマットで符号化されたビデオストリームVsの構成を、予め変更しておく等の処理を行ってもよい。例えば、ヘッダHの生成に必要な情報(各ピクチャの符号量b等)をファイルの先頭に配置しておけば、ヘッダHの生成時にはその位置の情報を読み込む処理を行うだけで済む。すなわち、ビデオストリーム解析部3がファイル全体を解析する処理を行う必要が無くなるため、ヘッダHの生成処理をより高速化することができる。なお、ヘッダHの生成に必要な情報は、ビデオストリームVsの中に記述するのではなく、ビデオストリームVsとは異なる他のファイルに記述したり、データベースで管理したりしてもよい。
 また、上述した各種実施形態では、上述したように、少なくとも複数のビデオストリームVsを結合した結合ビデオストリームを多重化ストリームとして出力する構成を有する。したがって、例えば結合ビデオストリームのみをヘッダ情報と多重化して、多重化ストリームとして出力するようにしてもよい。また、図2の(2-1)では、1画面を9個の小画面に分割する例を示したが、その他の分割数でもよい。また、1画面を均等に分割するのではなく、例えばあるビデオストリームに対応する小画面の大きさが、他のビデオストリームに対応する小画面の大きさより大きい又は小さくてもよい。
 また、上述した実施の形態例における一連の処理は、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、又は各種の機能を実行するためのプログラムをインストールしたコンピュータにより実行可能である。例えば汎用のパーソナルコンピュータ等に所望のソフトウェアを構成するプログラムをインストールして実行させればよい。また、ネットワークに接続されたサーバ上や、クラウドコンピューティング環境下に置かれるソフトウェアに適用してもよい。
 また、上述した実施の形態例の機能を実現するソフトウェアのプログラムコードを記憶させた記録媒体を、システムあるいは装置に供給してもよい。また、そのシステムあるいは装置のコンピュータ(又はCPU等の制御装置)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、機能が実現されることは言うまでもない。
 1…記憶部、2…制御部、3…ビデオストリーム解析部、4…多重化ストリーム用ヘッダ用情報算出部、5…多重化ストリーム用ヘッダ生成部、6…結合ビデオストリーム生成部、7…多重化ストリーム出力部、8…ビデオストリームメタデータDB、21…ビデオストリーム記憶部、22…結合制御部、23…ビデオストリーム解析部、24…ビデオストリームメタデータDB、25…結合ビデオストリーム生成部、31…多重化設定情報記憶部、32…ビデオストリームメタデータアクセス情報DB、33…多重化制御部、34…多重化ストリーム用ヘッダ用情報算出部、35…多重化ストリーム用ヘッダ生成部、40…多重化ストリーム出力部、50…データ処理システム、100…データ処理装置、200…結合サーバ、300…多重化制御サーバ

Claims (11)

  1.  第1の映像信号が所定の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、前記第1のビデオストリームとは異なる第2のビデオストリーム内の結合対象のフレームである第2のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出するデータサイズ算出部と、
     前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである、多重化ストリームのヘッダを生成するヘッダ生成部と、
     前記結合ビデオストリームを生成する結合ビデオストリーム生成部と、
     前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行う多重化ストリーム出力部とを備えた
     データ処理装置。
  2.  前記多重化ストリーム出力部は、前記多重化ストリームのヘッダが前記多重化ストリームのメディアデータ部分より前に配置されるファイルフォーマットを用いて、前記多重化を行う
     請求項1に記載のデータ処理装置。
  3.  前記ヘッダ生成部は、前記結合フレームのデータサイズの情報を用いて前記多重化ストリームのヘッダを構造体として生成することで、前記多重化ストリームのヘッダのサイズを算出する
     請求項2に記載のデータ処理装置。
  4.  前記多重化ストリーム出力部は、前記複数の結合フレームを1つのデータ単位として多重化して前記多重化ストリームを生成し、
     前記データサイズ算出部は、前記多重化される各データ単位の先頭位置の、前記多重化ストリームの前記メディアデータ部分内での位置を表す第1の位置を、前記結合フレームのデータサイズの情報より算出し、
     前記ヘッダ生成部は、前記データサイズ算出部で算出された前記第1の位置の情報を、前記構造体として生成される前記多重化ストリームのヘッダ内の、所定の構成要素に記述することで、前記ヘッダのサイズを確定させ、前記ヘッダのサイズの確定後に、前記ヘッダ内の所定の構成要素に記述された前記第1の位置を、前記多重化される各データ単位の先頭位置の、前記ヘッダを含む前記多重化ストリーム全体における位置を表す第2の位置に書き換える
     請求項3に記載のデータ処理装置。
  5.  前記多重化ストリーム出力部は、前記多重化ストリームの出力に先立って、前記多重化ストリームのヘッダの出力処理を行う
     請求項4に記載のデータ処理装置。
  6.  前記多重化ストリーム出力部が前記多重化を行う際に用いる前記ファイルフォーマットとは、MP4ファイルフォーマットであり、前記多重化ストリームのヘッダ内の所定の構成要素とは、stcoボックスである
     請求項4に記載のデータ処理装置。
  7.  前記データサイズ算出部で算出された前記結合フレームのデータサイズの情報を、前記第1のビデオストリーム又は前記第2のビデオストリームのメタデータとして記憶する、ビデオストリームメタデータデータベースをさらに備え、
     前記結合ビデオストリーム生成部及び前記多重化ストリーム出力部は、前記ビデオストリームメタデータデータベースに記憶された前記メタデータの情報を用いて、前記結合ビデオストリームの生成処理、又は前記結合ビデオストリームの多重化処理を行う
     請求項4に記載のデータ処理装置。
  8.  第1の映像信号が所定の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、前記第1のビデオストリームとは異なる第2のビデオストリーム内の結合対象のフレームである第2のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出することと、
     前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成することと、
     前記結合ビデオストリームを生成することと、
     前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行うこととを含む
     データ処理方法。
  9.  第1の映像信号が所定の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、前記第1のビデオストリームとは異なる第2のビデオストリーム内の結合対象のフレームである第2のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出することと、
     前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成することと、
     前記結合ビデオストリームを生成することと、
     前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行うこととをコンピュータに実行させるための
     プログラム。
  10.  第1の映像信号が所定の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、前記第1のビデオストリームとは異なる第2のビデオストリーム内の結合対象のフレームである第2のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出することと、
     前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成することと、
     前記結合ビデオストリームを生成することと、
     前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行うこととをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な
     記録媒体。
  11.  第1の映像信号が所定の符号化方式で符号化されてなる第1のビデオストリーム内の結合対象のフレームである第1のフレームと、前記第1のビデオストリームとは異なる第2のビデオストリーム内の結合対象のフレームである第2のフレームと、を結合したと想定した場合に生成される結合フレームのデータサイズを算出するデータサイズ算出装置と、
     前記結合フレームのデータサイズの情報を用いて、前記結合フレームからなる結合ビデオストリームを含むストリームである多重化ストリームのヘッダを生成するヘッダ生成装置と、
     前記結合ビデオストリームを生成する結合ビデオストリーム生成装置と、
     前記多重化ストリームのヘッダの出力処理、又は、前記結合ビデオストリームを含む前記多重化ストリームを出力する処理を行う多重化ストリーム出力装置とを備えた
     データ処理システム。
PCT/JP2014/070655 2013-08-08 2014-08-05 データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システム WO2015020069A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015530912A JP6355634B2 (ja) 2013-08-08 2014-08-05 データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システム
US14/909,812 US10104142B2 (en) 2013-08-08 2014-08-05 Data processing device, data processing method, program, recording medium, and data processing system
EP14833803.1A EP3032835B1 (en) 2013-08-08 2014-08-05 Data processing device, data processing method, program, recording medium, and data processing system
CN201480055441.XA CN105612756B (zh) 2013-08-08 2014-08-05 数据处理装置、数据处理方法和计算机可读取的记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013165066 2013-08-08
JP2013-165066 2013-08-08

Publications (1)

Publication Number Publication Date
WO2015020069A1 true WO2015020069A1 (ja) 2015-02-12

Family

ID=52461400

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/070655 WO2015020069A1 (ja) 2013-08-08 2014-08-05 データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システム

Country Status (6)

Country Link
US (1) US10104142B2 (ja)
EP (1) EP3032835B1 (ja)
JP (1) JP6355634B2 (ja)
CN (1) CN105612756B (ja)
TW (1) TW201519641A (ja)
WO (1) WO2015020069A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016135962A1 (ja) * 2015-02-27 2016-09-01 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10481749B1 (en) * 2014-12-01 2019-11-19 Google Llc Identifying and rendering content relevant to a user's current mental state and context
CN109429073B (zh) * 2017-09-01 2021-07-02 杭州海康威视数字技术股份有限公司 发送多媒体数据、播放多媒体数据的方法、装置及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008199387A (ja) * 2007-02-14 2008-08-28 Hitachi Software Eng Co Ltd 動画部分配信システム
US20100169390A1 (en) * 2008-12-30 2010-07-01 Samsung Electronics Co., Ltd. File transfer method and terminal adapted thereto
JP2011024018A (ja) 2009-07-16 2011-02-03 Gunzoo Inc 送信装置、受信装置、送信方法、受信方法及び伝送システム
JP2013093656A (ja) 2011-10-24 2013-05-16 Gnzo Co Ltd 映像信号の符号化システム及び符号化方法
JP2013098596A (ja) 2011-10-28 2013-05-20 Gnzo Co Ltd バイトアラインメント装置及びバイトアラインメント方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003173625A (ja) * 2001-12-04 2003-06-20 Hitachi Ltd ファイル変換方法、ファイル変換装置、及びファイル生成装置
US8400497B2 (en) * 2007-09-07 2013-03-19 Samsung Electronics Co., Ltd Method and apparatus for generating stereoscopic file
EP2150059A1 (en) * 2008-07-31 2010-02-03 Vodtec BVBA A method and associated device for generating video
JPWO2012153450A1 (ja) * 2011-05-11 2014-07-31 パナソニック株式会社 動画像送信装置および動画像送信方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008199387A (ja) * 2007-02-14 2008-08-28 Hitachi Software Eng Co Ltd 動画部分配信システム
US20100169390A1 (en) * 2008-12-30 2010-07-01 Samsung Electronics Co., Ltd. File transfer method and terminal adapted thereto
JP2011024018A (ja) 2009-07-16 2011-02-03 Gunzoo Inc 送信装置、受信装置、送信方法、受信方法及び伝送システム
JP5089658B2 (ja) 2009-07-16 2012-12-05 株式会社Gnzo 送信装置及び送信方法
JP2013093656A (ja) 2011-10-24 2013-05-16 Gnzo Co Ltd 映像信号の符号化システム及び符号化方法
JP2013098596A (ja) 2011-10-28 2013-05-20 Gnzo Co Ltd バイトアラインメント装置及びバイトアラインメント方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016135962A1 (ja) * 2015-02-27 2016-09-01 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
TWI559243B (zh) * 2015-02-27 2016-11-21 Rakuten Inc Information processing device, information processing method, memory media

Also Published As

Publication number Publication date
EP3032835B1 (en) 2019-12-04
CN105612756B (zh) 2018-09-28
JP6355634B2 (ja) 2018-07-11
CN105612756A (zh) 2016-05-25
EP3032835A4 (en) 2017-04-05
JPWO2015020069A1 (ja) 2017-03-02
TW201519641A (zh) 2015-05-16
US20160308926A1 (en) 2016-10-20
EP3032835A1 (en) 2016-06-15
US10104142B2 (en) 2018-10-16

Similar Documents

Publication Publication Date Title
US8914835B2 (en) Streaming encoded video data
RU2652099C2 (ru) Устройство передачи, способ передачи, устройство приема и способ приема
EP3100464B1 (en) Establishing a streaming presentation of an event
US10225528B2 (en) Media processing apparatus for multi-display system and method of operation thereof
US20120016965A1 (en) Video switching for streaming video data
TW201810998A (zh) 在圖像中最感興趣之區域
CN111372145B (zh) 一种多视点视频的视点切换方法和***
RU2767300C2 (ru) Высокоуровневая передача служебных сигналов для видеоданных типа "рыбий глаз"
JP2005094168A (ja) ファイル構造及びそれを用いる画像記録装置並びに画像再生装置
JP6686541B2 (ja) 情報処理システム
US20200314509A1 (en) Video Processing Method, Terminal and Server
KR101905638B1 (ko) 동영상 재생 장치 및 방법
CN111542862A (zh) 用于处理和分发直播虚拟现实内容的方法和设备
JP2011228862A (ja) データ構造、画像処理装置、画像処理方法、およびプログラム
JP6355634B2 (ja) データ処理装置、データ処理方法、プログラム、記録媒体及びデータ処理システム
US9491447B2 (en) System for providing complex-dimensional content service using complex 2D-3D content file, method for providing said service, and complex-dimensional content file therefor
JP2020524450A (ja) 多チャネル映像のための伝送システム及びその制御方法、多チャネル映像再生方法及びその装置
US20110276662A1 (en) Method of constructing multimedia streaming file format, and method and apparatus for servicing multimedia streaming using the multimedia streaming file format
JP2010011287A (ja) 映像伝送方法および端末装置
JP6224522B2 (ja) 映像配信装置、映像配信方法及び映像配信プログラム
JP7304096B2 (ja) 動画配信装置
KR101827967B1 (ko) 비디오 컨텐츠 제공서버 및 제공방법
CN117061813A (zh) 媒体回放方法与相关媒体回放装置

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: 14833803

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015530912

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2014833803

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14909812

Country of ref document: US