WO2019216001A1 - 受信装置、送信装置、受信方法、送信方法、およびプログラム - Google Patents

受信装置、送信装置、受信方法、送信方法、およびプログラム Download PDF

Info

Publication number
WO2019216001A1
WO2019216001A1 PCT/JP2019/007451 JP2019007451W WO2019216001A1 WO 2019216001 A1 WO2019216001 A1 WO 2019216001A1 JP 2019007451 W JP2019007451 W JP 2019007451W WO 2019216001 A1 WO2019216001 A1 WO 2019216001A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream data
audio
metadata
data
segment
Prior art date
Application number
PCT/JP2019/007451
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 US17/049,697 priority Critical patent/US20210243485A1/en
Publication of WO2019216001A1 publication Critical patent/WO2019216001A1/ja

Links

Images

Classifications

    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/233Processing of audio elementary streams
    • 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/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/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/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Definitions

  • the present disclosure relates to a reception device, a transmission device, a reception method, a transmission method, and a program.
  • the server device distributes video stream data and audio stream data in units of segments, and the client device selects a desired segment, thereby providing video content and audio content. Reproduce.
  • the client device can switch between video stream data having no continuity as video representation (for example, video stream data having different resolutions and bit rates).
  • the client device can also switch between audio stream data having no correlation as audio (for example, audio stream data with different languages (Japanese, English, etc.) and different bit rates).
  • MPEG-DASH Dynamic Adaptive Streaming HTTP HTTP
  • URL http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html
  • the video stream data and the audio stream data are not aligned with each other (in other words, the video stream data and the audio stream data exist separately), and basically the segment lengths are also mutually different. Because of the difference, it is difficult to match the switching timing of the video stream data and the audio stream data. This is a problem because the interest and the sense of presence received by the viewer are impaired when the switching timing of each of the video stream data and the audio stream data is shifted.
  • the present disclosure has been made in view of the above, and the present disclosure provides a new and improved receiving device, transmitting device, receiving method, which can realize switching of a plurality of stream data more flexibly.
  • a transmission method and a program are provided.
  • a receiving device that includes a receiving unit that receives first stream data that is object data and that corresponds to first stream data that is bit stream data.
  • a reception method executed by a computer which includes receiving second stream data that is object data corresponding to first stream data that is bit stream data.
  • a transmission device that includes a transmission unit that corresponds to the first stream data that is the bit stream data and that transmits the second stream data that is the object data to the external device.
  • a transmission method executed by a computer which corresponds to the first stream data that is bit stream data and includes transmitting the second stream data that is object data to an external device. Is provided.
  • a plurality of stream data can be switched more flexibly.
  • FIG. 3 is a block diagram illustrating an exemplary functional configuration of a server apparatus 100.
  • FIG. 3 is a block diagram illustrating a functional configuration example of a client device 200.
  • FIG. 3 is a block diagram illustrating a functional configuration example of a server apparatus 100.
  • FIG. 2 is a block diagram illustrating a hardware configuration example of an information processing apparatus 900 that implements a server apparatus 100 or a client apparatus 200.
  • FIG. 1 is a block diagram illustrating a hardware configuration example of an information processing apparatus 900 that implements a server apparatus 100 or a client apparatus 200.
  • FIG. 1 is a block diagram illustrating a hardware configuration example of an information processing apparatus 900 that implements a server apparatus 100 or a client apparatus 200.
  • the client apparatus switches the video stream data having no continuity as the video representation (for example, video stream data having different resolutions and bit rates). be able to.
  • the client device can also switch between audio stream data having no correlation as audio (for example, audio stream data with different languages (Japanese, English, etc.) and different bit rates).
  • the client device when the video segment is switched, the client device not only switches the voice segment (voice Representation 2) after switching but also the voice representation (voice) before switching.
  • the audio segment of Representation 1) is also acquired in duplicate.
  • the client device can perform playback processing using the audio segment before switching until the switching timing of the video segment, and can perform playback processing using the audio segment after switching after the switching timing of the video segment.
  • techniques such as dissolve are used for video, and techniques such as crossfade are used for audio, thereby reducing the user's uncomfortable feeling.
  • MPEG-H 3D Audio (ISO / IEC 23008-3) defines a method of attaching pre-roll data to each audio segment as shown in FIG.
  • the client device can perform playback processing using the audio segment after the switching after the switching timing of the video segment, the switching shift can be eliminated (or the switching shift can be made smaller). It can.
  • the use of techniques such as video dissolve and audio crossfade is the same as described above.
  • the present disclosure person has created the present disclosure in view of the above circumstances.
  • the server apparatus 100 transmitting apparatus
  • the server apparatus 100 generates second stream data that is object data corresponding to the first stream data that is bit stream data, and the second stream data is transmitted to the client apparatus 200 ( To the receiving device.
  • the server apparatus 100 includes information on the switching timing of the first stream data (hereinafter referred to as “timing information”) in an MPD (Media Presentation Description) file used for reproducing the second stream data. .
  • timing information information on the switching timing of the first stream data
  • MPD Media Presentation Description
  • the client device 200 receives the second stream data and performs reproduction processing of the second stream data based on the metadata corresponding to the data. Based on the timing information included in the MPD file or the like, The second stream data (strictly speaking, metadata used for reproduction of the second stream data) can be switched at the timing when the first stream data is switched.
  • the first stream data and the second stream data may be video stream data or audio stream data, respectively. More specifically, the first stream data may be video stream data, the second stream data may be audio stream data, the first stream data may be audio stream data, and the second stream data may be video. It may be stream data. Further, the first stream data may be video stream data, and the second stream data may be video stream data different from the first stream data. Further, the first stream data may be audio stream data, and the second stream data may be audio stream data different from the first stream data.
  • the case where the first stream data is video stream data and the second stream data is audio stream data will be described as an example (in other words, the audio stream data is object-based audio data).
  • MPEG-DASH is a technology developed for streaming distribution of video data and audio data via the Internet.
  • the client device 200 reproduces the content by selecting and acquiring the content having a different bit rate in accordance with the change in the transmission band. Therefore, for example, the server apparatus 100 prepares a plurality of audio stream data having the same content that is different only in the language to be used, and the client apparatus 200 generates the audio stream data to be downloaded according to the operation input by the user. It is possible to change the language in the content by switching.
  • An outline of object-based audio is as follows. For example, by using MPEG-H 3D Audio (ISO / IEC 23008-3) described in Non-Patent Document 2 above, the conventional 2-channel stereo system, 5.1 channel, etc. In addition to enabling playback using the multi-channel stereo system, it is also possible to treat moving sound sources as independent audio objects, and encode audio object position information as metadata along with audio object audio data. . This makes it possible to easily perform various processes during playback (for example, adjusting the volume or adding effects).
  • Non-Patent Document 3 described above describes a rendering method of an audio object.
  • an output setting of a speaker existing in a reproduction environment can be performed by a rendering method called VBAP (Vector (Amplitude Panning).
  • VBAP is a technology that adjusts the output of three or more speakers closest to the spatial position of each audio object to localize the sound to the spatial position of the audio object, and changes the spatial position of the audio object ( In other words, the audio object can be moved).
  • object-based audio has the feature that audio frames can be time-divided into a plurality of times and data compression processing (such as differential transmission) can be performed to improve transmission efficiency.
  • sound object refers to a material sound that is a component for generating a sound field.
  • the sound object indicates a sound of an instrument (for example, a guitar or a drum) or a singer's singing voice.
  • the content of the material sound used as the sound object is not particularly limited, and is determined by the content creator.
  • the audio object is called “object” or “the component” objects in MPEG-4 Audio.
  • Object-based audio refers to digital audio data generated by encoding position information of a sound object as metadata together with the sound object.
  • a playback device that plays back object-based audio does not directly output the decoding results of the individual audio objects to the speakers, but dynamically calculates the output of each speaker according to the number and position of the speakers.
  • the audio encoding method defined by MPEG-4 Audio is described in the standard as “MPEG-4 Audio is an object-based coding standard with multiple tools.
  • Multi-channel audio is a general term for 2-channel stereo systems and multi-channel stereo systems such as 5.1 channel.
  • a fixed audio signal is assigned to each channel.
  • the playback device outputs an audio signal assigned to each channel to a predetermined speaker (for example, an audio signal assigned to channel 1 is output to the left speaker, and an audio signal assigned to channel 2 is output to the right speaker.
  • these audio signals are digital audio obtained by the content producer mixing down the above-mentioned audio object before distribution.
  • MPEG-4 Audio can store both multi-channel audio data and audio object data in one bit stream.
  • the object-based audio bitstream includes a header () block, an object_metadata () block, and an audio_frames () block.
  • the object_metadata () block is transmitted. Blocks and audio_frames () blocks are alternately transmitted until reaching the end of the bitstream.
  • the object_metadata () block includes metadata (object_metadatum () block), and the audio_frames () block includes audio objects (audio_frame () block).
  • the header () block is shown in line numbers 2-8 in FIG. 6, the object_metadata () block is shown in line numbers 10-14, and the audio_frames () block is shown in line numbers 15-19. .
  • num_metadata described in line number 3 indicates the number of metadata (the number of object_metadatum () blocks) included in the bitstream.
  • num_objects described in line number 4 indicates the number of audio objects (the number of audio_frame () blocks) included in the bitstream.
  • Representation_index described in line number 6 indicates an index of video representation in the video stream data (first stream data). Since the id attribute of the Representation element of the MPD file used for reproduction of the video stream data and the audio stream data can be specified by an arbitrary character string, an integer value starting from 0 is assigned to the representation_index in the order of description in the MPD file. I will do it. Note that the value of representation_index is not limited to this.
  • the metadata_index described in the row number 2 in FIG. 7 indicates the index of the object_metadata () block.
  • the object_metadatum () block has a video representation of representation_index [i].
  • the metadata for generating the sound field corresponding to the station is stored.
  • the audio_frames () block to which the metadata stored in the object_metadatum () block is applied can be time-divided, and num_points described in line number 6 and the like indicates the number of divisions.
  • num_points metadata dividing points are evenly generated (in other words, the playback time of the audio_frames () block is divided into “num_points + 1”).
  • each of the azimuth described in line number 9, the elevation described in line number 16, and the radius described in line number 23 indicate position information of each audio object.
  • azimuth is a spherical coordinate system
  • the elevation indicates the elevation angle in the spherical coordinate system
  • radius indicates the radius in the spherical coordinate system.
  • the gain described in the line number 30 indicates the gain of each sound object.
  • the client device 200 can derive the value of each metadata indicated by the difference value as described above by storing the last derived metadata value each time the object_metadatum () block is processed. it can.
  • the length described in line number 2 indicates the data length of the following audio object.
  • data_bytes described in line number 4 stores data of the sound object.
  • an audio frame (1024 audio samples) encoded by the MPEG4-AAC format can be stored in data_bytes.
  • data required for the reproduction time is stored in data_bytes with a certain reproduction time as a unit.
  • the object-based audio bitstream For video presentation, for example, three bit streams encoded in H.265 (ISO / IEC 23008-2 HEVC) are prepared. On the other hand, one object-based audio bit stream is prepared for audio representation.
  • the client device 200 can generate different sound fields by applying different metadata to the common sound object, it can express the sound field following the switching of the video angle. More specifically, since the client apparatus 200 can switch metadata at an arbitrary timing, for example, when the video angle is switched by a user operation input, the client apparatus 200 can switch the video angle. The metadata can be switched at the same time. As a result, the client device 200 can express the sound field following the switching of the video angle.
  • FIG. 13 shows a configuration example of the MP4 container in the case where the Initialization Segment and the Media Segment are stored in the same MP4 container.
  • FIG. 14 shows a configuration example of each MP4 container in the case where the Initialization Segment and the Media Segment are stored in different MP4 containers.
  • FIG. 15 shows the structure of a Movie box (moov).
  • the Sample under the Movie box (moov) Assume that the header () block of the bit stream of object-based audio is stored in the Description box (stsd). More specifically, as shown in FIG. 16, object_based_audio_SampleEntry generated by adding a length field indicating the data length of the entire header () block to the header () block is Sample. It is stored in the Description box (stsd) (it is assumed that one object_based_audio_SampleEntry is stored in one Sample Description box (stsd)).
  • FIG. 17 shows the structure of Movie Fragment box (moof) and Media box (mdat).
  • Media Data box (mdat) stores the part other than the header () block of the object-based audio bit stream
  • Movie Fragment box (moof) is used for random access to Media Data box (mdat).
  • Information hereinafter referred to as “random access information”.
  • FIG. 18 shows the configuration of the Media Data box (mdat).
  • Media Data The box (mdat) stores object_based_audio_sample generated by adding a size field indicating the entire data length to the object_metadata () block and the audio_frame () block.
  • the client device 200 can access the object-based audio data efficiently by referring to the random access information during the reproduction process. .
  • the client device 200 checks the random access information stored in the Track Fragment Run box (trun) in the Movie Fragment box (moof) and then supports the Track Fragment Run box (trun).
  • the object_based_audio_sample is played back.
  • the playback time of one audio_frame () is about 21 milliseconds.
  • the server apparatus 100 can transmit the voice representation in various patterns, and the transmission patterns of Case 1 to Case 3 will be described below.
  • FIG. 20 and FIG. 21 show an outline of the configuration of object_based_audio_SampleEntry and object_based_audio_sample for audio presentation.
  • FIG. 22 shows a specific example of an MPD file in the case where all metadata corresponding to video representation that can be switched during one audio presentation is recorded and transmitted.
  • 23 and 24 show the structures of object_based_audio_SampleEntry and object_based_audio_sample.
  • case 2 a voice object and default metadata required at the start of playback are transmitted during one voice presentation, and other metadata is transmitted by another voice representation.
  • case 2 At least one metadata used for reproduction processing of audio stream data (second stream data) and an audio object (object data) are stored in the same segment. Note that it can be done).
  • FIG. 25 and FIG. 26 show an outline of the configuration of object_based_audio_SampleEntry and object_based_audio_sample for audio presentation in which an audio object and default metadata are recorded.
  • FIG. 27 and FIG. 28 show the outlines of the structures of object_based_audio_SampleEntry and object_based_audio_sample, respectively, for audio presentation in which only metadata is recorded.
  • a plurality of object_metadatum () blocks may be stored in one MP4 container, and one object_metadatum () block may be stored in one MP4 container.
  • FIG. 29 shows a specific example of the MPD file used in this case.
  • the server apparatus 100 associates the audio object with the metadata using the associationId attribute and the associationType attribute in the MPD file. More specifically, the server device 100 describes “a3aM” in the associationType attribute described in line number 9 in FIG. 29, so that the audio representation relates to the association between the audio object and the metadata. Indicates that there is. Further, the server apparatus 100 describes “a2” in the associationId attribute of the line number 9 so that the voice representation is associated with the voice object in the voice representation having the Representation id attribute “a2”.
  • the client apparatus 200 can appropriately recognize the correspondence between the audio object and the metadata also in Case 2 and Case 3.
  • the server apparatus 100 may associate the audio object and the metadata using an attribute other than the associationId attribute or the associationType attribute.
  • 30 and 31 show the structure of object_based_audio_SampleEntry and object_based_audio_sample for an audio representation in which an audio object and default metadata are recorded.
  • 32 and 33 show the structure of object_based_audio_SampleEntry and object_based_audio_sample for audio presentation in which only metadata is recorded.
  • the case where two types of voice representations are transmitted has been described.
  • the number of types of voice representations to be transmitted is not particularly limited. For example, there may be three types of voice representations to be transmitted.
  • FIG. 34 shows a specific example of an MPD file used when three types of audio representations are transmitted.
  • FIG. 35 and FIG. 36 show the structure of object_based_audio_SampleEntry and object_based_audio_sample for audio presentation in which an audio object and default metadata are recorded.
  • 39 and 40 show the structure of object_based_audio_SampleEntry and object_based_audio_sample for the second type of audio presentation in which only metadata is recorded.
  • 41 and 42 show an outline of the configuration of object_based_audio_SampleEntry and object_based_audio_sample for an audio presentation in which only an audio object is recorded.
  • 43 and 44 show an outline of the configuration of object_based_audio_SampleEntry and object_based_audio_sample for audio presentation in which only metadata is recorded.
  • FIG. 45 shows a specific example of the MPD file used in this case.
  • 46 and 47 show the structure of object_based_audio_SampleEntry and object_based_audio_sample for audio presentation in which only audio objects are recorded.
  • 50 and 51 show the structure of object_based_audio_SampleEntry and object_based_audio_sample for the second type of audio presentation in which only metadata is recorded.
  • 52 and 53 show configurations of object_based_audio_SampleEntry and object_based_audio_sample for the third type of audio presentation in which only metadata is recorded.
  • the cases 1 to 3 have been described above.
  • the case 3 in which the audio representation in which only the audio object is recorded and the audio representation in which only the metadata is recorded is most preferably transmitted is one audio representation.
  • Case 1 in which all metadata is recorded during the evaluation is most undesirable.
  • the case 1 is the most preferable and the case 3 is the least preferable.
  • the client device 200 since all audio objects and default metadata are recorded in the same Media Segment, the client device 200 does not fail to render while maintaining high transmission efficiency ( The client device 200 has a feature that even if acquisition of other metadata fails, rendering can be performed using default metadata.
  • ConnectionPoint is the time at which the first frame of each video segment is displayed, so “first frame of video segment” is the first frame of the video segment in the presentation order. .
  • the audio segment length is set shorter than the video segment length
  • the maximum number of metadata switching times in one audio segment is one. Note that even when the audio segment length is set longer than the video segment length, the present disclosure can be applied (the number of times of switching metadata in a single audio segment is only multiple). .
  • connectionPoint the switching timing of the video stream data (first stream data) is referred to as ConnectionPoint.
  • the server device 100 uses the timing information related to ConnectionPoint to reproduce audio stream data (second stream data). Include in the metadata used. More specifically, the server apparatus 100 includes connectionPointTimescale, connectionPointOffset, and connectionPointCTS as timing information in an MPD file used for reproducing audio stream data.
  • the connectionPointTimescale is a time scale value (for example, a value indicating a unit time).
  • connectionPointOffset is the media offset value set in elst box or the presentationTimeOffset value described in the MPD file.
  • connectionPointCTS is a value indicating the switching timing CTS (time when the first frame of the video segment is displayed).
  • connectionPointTimescale connectionPointTimescale
  • connectionPointOffset connectionPointOffset
  • connectionPointCTS connectionPointCTS
  • the client device 200 can derive the switching timing (ConnectionPoint) of the video stream data with high accuracy (for example, in milliseconds).
  • the server apparatus 100 can describe timing information in the MPD file by various methods. For example, when the Representation element is described in the SegmentList format, the server apparatus 100 can generate an MPD file as shown in FIG. More specifically, the server apparatus 100 describes connectionPointTimescale in the line number 7, describes connectionPointOffset in the line number 8, and describes connectionPointCTS as the segment URL attribute of each audio object in the line numbers 9 to 12. can do.
  • the server apparatus 100 can generate an MPD file as shown in FIG. More specifically, the server apparatus 100 can provide SegmentTimelines at line numbers 6 to 10 and describe connectionPointTimescale, connectionPointOffset, and connectionPointCTS therein.
  • the server apparatus 100 can generate an MPD file as shown in FIG. More specifically, the server apparatus 100 sets the Segment number 5 to Segment Describe indexRange as information about the data position of the Index box (sidx). A Segment Index box is recorded at the data position indicated by indexRange starting from the beginning of the MP4 container. Describe connectionPointTimescale, connectionPointOffset, and connectionPointCTS in the Index box.
  • FIG. 58 shows a specific example of Segment Index box.
  • the server apparatus 100 can describe connectionPointTimescale in line number 4, connectionPointOffset in line number 5, and connectionPointCTS in line number 9. When there is no ConnectionPoint in the corresponding voice segment, the server apparatus 100 can indicate this by setting a predetermined data string (for example, “0xFFFFFFFFFFFFFF”) as the connectionPointCTS.
  • the information processing system includes a server device 100 and a client device 200.
  • the server device 100 and the client device 200 are connected to each other via the Internet 300.
  • the server apparatus 100 is an information processing apparatus (transmission apparatus) that distributes various contents to the client apparatus 200 based on MPEG-DASH. More specifically, the server apparatus 100 receives an MPD file, video stream data (first stream data), audio stream data (second stream data), and the like in response to a request from the client apparatus 200. Send to.
  • the client device 200 is an information processing device (receiving device) that reproduces various contents based on MPEG-DASH. More specifically, the client device 200 acquires an MPD file from the server device 100, acquires video stream data, audio stream data, and the like from the server device 100 based on the MPD file, and performs decoding processing to acquire video. Play content and audio content.
  • the configuration example of the information processing system according to the present embodiment has been described above.
  • the configuration described above with reference to FIG. 60 is merely an example, and the configuration of the information processing system according to the present embodiment is not limited to the example.
  • all or part of the functions of the server apparatus 100 may be provided in the client apparatus 200 or other external apparatus.
  • software that provides all or part of the functions of the server apparatus 100 for example, a WEB application using a predetermined API (Application Programming Interface)
  • all or part of the functions of the client device 200 may be provided in the server device 100 or other external device.
  • the configuration of the information processing system according to the present embodiment can be flexibly modified according to specifications and operations.
  • the point of the present embodiment is particularly the processing relating to the audio stream data which is the second stream data, the processing relating to the audio stream data will be described below with emphasis.
  • the server device 100 includes a generation unit 110, a control unit 120, a communication unit 130, and a storage unit 140.
  • the generation unit 110 has a functional configuration for generating audio stream data (second stream data). As shown in FIG. 61, the generation unit 110 includes a data acquisition unit 111, an encoding processing unit 112, a segment file generation unit 113, and an MPD file generation unit 114, and controls these functional configurations. Thus, the generation of the audio stream data is realized.
  • the data acquisition unit 111 has a functional configuration for acquiring an audio object (material sound) used for generating the second stream data.
  • the data acquisition unit 111 may acquire a sound object from the server device 100 or may acquire a sound object from an external device connected to the server device 100.
  • the data acquisition unit 111 supplies the acquired audio object to the encoding processing unit 112.
  • the encoding processing unit 112 has a functional configuration for generating audio stream data by encoding metadata including the audio object supplied from the data acquisition unit 111 and the position information of each audio object input from the outside. is there.
  • the encoding processing unit 112 supplies the audio stream data to the segment file generation unit 113.
  • the segment file generation unit 113 has a functional configuration for generating an audio segment (Initialization Segment, Media Segment, etc.) that is a unit of data that can be distributed as audio content. More specifically, the segment file generation unit 113 generates an audio segment by converting the audio stream data supplied from the encoding processing unit 112 into a file in units of segments. In addition, the segment file generation unit 113 includes timing information related to the switching timing of the video stream data (first stream data) and the like in the Segment Index box (sidx) of the audio stream data (second stream data).
  • the MPD file generation unit 114 has a functional configuration for generating an MPD file.
  • the MPD file generation unit 114 uses the MPD file (second stream data) used for reproducing the audio stream data (second stream data), such as timing information regarding the switching timing of the video stream data (first stream data). It is a kind of metadata).
  • the control unit 120 has a functional configuration that comprehensively controls the overall processing performed by the server device 100.
  • the control unit 120 can control starting and stopping of each component based on request information from the client device 200 received via the communication unit 130.
  • the control content of the control unit 120 is not particularly limited.
  • the control unit 120 may control processing generally performed in a general-purpose computer, a PC, a tablet PC, or the like.
  • the communication unit 130 has a functional configuration for performing various communications with the client device 200 (also functions as a transmission unit). For example, the communication unit 130 receives request information from the client device 200 or transmits an MPD file, audio stream data, video stream data, or the like to the client device 200 as a response to the request information.
  • the communication content of the communication part 130 is not limited to these.
  • the storage unit 140 is a functional configuration that stores various types of information.
  • the storage unit 140 stores MPD files, audio objects, metadata, audio stream data, video stream data, and the like, and stores programs and parameters used by each functional configuration of the server device 100. .
  • the information stored in the storage unit 140 is not limited to these.
  • the functional configuration example of the server device 100 has been described above. Note that the functional configuration described above with reference to FIG. 61 is merely an example, and the functional configuration of the server apparatus 100 is not limited to such an example. For example, the server apparatus 100 does not necessarily have all the functional configurations illustrated in FIG. Further, the functional configuration of the server apparatus 100 can be flexibly modified according to specifications and operations.
  • the client device 200 includes a reproduction processing unit 210, a control unit 220, a communication unit 230, and a storage unit 240.
  • the reproduction processing unit 210 has a functional configuration for performing reproduction processing of audio stream data based on metadata corresponding to audio stream data (second stream data). As shown in FIG. 62, the playback processing unit 210 includes an audio segment analysis unit 211, an audio object decoding unit 212, a metadata decoding unit 213, a metadata selection unit 214, an output gain calculation unit 215, and audio data. And a generation unit 216, and the reproduction process of the audio stream data is realized by controlling these functional configurations.
  • the voice segment analysis unit 211 has a functional configuration for analyzing a voice segment. As described above, an initialization segment and a media segment are present in the audio segment, and each will be described.
  • the audio segment analysis unit 211 reads the list of num_objects, num_metadata, and representation_index by analyzing the header () block from the Sample Description box (stsd) under the Movie box (moov). In addition, the audio segment analysis unit 211 performs a pairing of representation_index and metadata_index. Furthermore, when the Representation element is described in the SegmentBase format in the MPD file, the audio segment analysis unit 211 reads a value (timing information) related to ConnectionPoint from the Segment Index box (sidx).
  • the audio segment analysis unit 211 performs a process of reading one audio_frame () block in the audio_frames () block and supplying the block to the audio object decoding unit 212 (ie, num_objects ).
  • the audio segment analysis unit 211 repeats the process of reading the object_metadatum () block in the object_metadata () block and supplying it to the metadata decoding unit 213 by the number of metadata (that is, the value of num_metadata). At this time, for example, the audio segment analysis unit 211 searches for the representation_index in the header () block based on the index of the video representation selected by the user of the client device 200, thereby obtaining the corresponding metadata_index. The object_metadata () block having the metadata_index is selectively read out.
  • the voice object decoding unit 212 has a functional configuration for decoding a voice object.
  • the audio object decoding unit 212 performs a process of decoding an audio signal encoded by the MPEG4-AAC method, outputting PCM data, and supplying the PCM data to the audio data generation unit 216 (i.e., the number of audio objects (ie, num_objects). Value)).
  • the decoding method of the audio object decoding unit 212 corresponds to the encoding method of the server apparatus 100 and is not particularly limited.
  • the metadata decryption unit 213 has a functional configuration for decrypting metadata. More specifically, The metadata decoding unit 213 analyzes the object_metadatum () block and reads position information (for example, azimuth, elevation, radius, and gain).
  • position information for example, azimuth, elevation, radius, and gain.
  • the metadata selection unit 214 corresponds to the video stream data after switching the metadata used for reproducing the audio stream data (second stream data) at the timing when the video stream data (first stream data) is switched. This is a functional configuration for switching to metadata to be performed. More specifically, the metadata selection unit 214 confirms whether or not the playback time (playback time) is before ConnectionPoint, and if the playback time is before ConnectionPoint, the metadata used for playback is checked. Select metadata before switching as data. On the other hand, when the reproduction time is later than ConnectionPoint, the metadata after switching is selected as the metadata used for reproduction. The metadata selection unit 214 supplies the selected metadata (position information, etc.) to the output gain calculation unit 215.
  • the output gain calculation unit 215 is a functional configuration that calculates the speaker output gain for each audio object based on the metadata (position information and the like) supplied from the metadata decoding unit 213.
  • the output gain calculation unit 215 supplies information regarding the calculated speaker output gain to the audio data generation unit 216.
  • the audio data generation unit 216 has a functional configuration for generating audio data output from each speaker. More specifically, the audio data generation unit 216 applies the speaker output gain calculated by the output gain calculation unit 215 to the PCM data for each audio object supplied from the audio object decoding unit 212. Audio data output from each speaker is generated.
  • the control unit 220 has a functional configuration that comprehensively controls the overall processing performed by the client device 200. For example, the control unit 220 acquires an MPD file from the server device 100 via the communication unit 230. Then, the control unit 220 analyzes the MPD file and supplies the analysis result to the reproduction processing unit 210. In particular, when the Representation element of the MPD file is described in the SegmentTemplate format or the SegmentList format, the control unit 220 acquires a value (timing information) related to ConnectionPoint and supplies it to the playback processing unit 210. In addition, the control unit 220 acquires audio stream data (second stream data) and video stream data (first stream data) from the server device 100 via the communication unit 230, and reproduces the representation_index and the like in the reproduction processing unit 210. To supply.
  • the control unit 220 acquires an MPD file from the server device 100 via the communication unit 230. Then, the control unit 220 analyzes the MPD file and supplies the analysis result to the reproduction processing unit 210. In particular, when
  • control unit 220 acquires an instruction to switch between audio stream data and video stream data based on an input performed by the user using an input unit (not shown) such as a mouse or a keyboard. In particular, when the video stream data is switched, the control unit 220 acquires representation_index and supplies it to the reproduction processing unit 210.
  • control content of the control part 220 is not specifically limited.
  • the control unit 220 may control processing generally performed in a general-purpose computer, a PC, a tablet PC, or the like.
  • the communication unit 230 has a functional configuration for performing various communications with the server device 100 (also functions as a reception unit). For example, the communication unit 230 transmits request information to the server apparatus 100 based on a user input or the like, or receives an MPD file, audio stream data, video stream data, or the like from the server apparatus 100 as a response to the request information. Or, the communication content of the communication part 230 is not limited to these.
  • the storage unit 240 is a functional configuration that stores various types of information.
  • the storage unit 240 stores an MPD file, audio stream data, video stream data, and the like provided from the server device 100, and stores programs and parameters used by each functional configuration of the client device 200. To do.
  • the information stored in the storage unit 240 is not limited to these.
  • the functional configuration example of the client device 200 has been described above. Note that the functional configuration described above with reference to FIG. 62 is merely an example, and the functional configuration of the client device 200 is not limited to the example. For example, the client device 200 does not necessarily have all the functional configurations illustrated in FIG. In addition, the functional configuration of the client device 200 can be flexibly modified according to specifications and operations.
  • step S1000 the control unit 220 of the client device 200 acquires an MPD file from the server device 100 via the communication unit 230.
  • step S1004 the control unit 220 analyzes the acquired MPD file.
  • Each functional configuration of the client device 200 ends the series of processes by repeatedly performing the processes in steps S1008 to S1012 for each voice segment. More specifically, each functional configuration of the client device 200 performs a process of acquiring an audio segment in step S1008, and completes a series of processes by performing a process of reproducing the acquired audio segment in step S1012. .
  • step S1100 the control unit 220 of the client device 200 acquires a representation_index corresponding to the video presentation.
  • step S1104 the control unit 220 searches for metadata_index included in the object_metadatum () block based on the acquired representation_index.
  • step S1108, the control unit 220 supplies the metadata_index acquired by the search to the reproduction processing unit 210.
  • step S ⁇ b> 1112 the control unit 220 acquires an audio segment that transmits the audio_frames () block and supplies it to the reproduction processing unit 210. If metadata_index is listed in SupplementalProperty of the MPD file (step S1116 / Yes), in step S1120, the control unit 220 acquires the audio segment that transmits the object_metadata () block indicated by metadata_index, and the playback processing unit 210 The audio segment acquisition process ends. If metadata_index is not listed in the SupplementalProperty of the MPD file (step S1116 / No), the series of processing ends without performing the audio segment acquisition processing described in step S1120.
  • step S1200 the audio segment analysis unit 211 of the client device 200 confirms the type of the audio segment acquired by the control unit 220.
  • the audio segment analysis unit 211 selects a sample under the Movie box (moov).
  • a list of num_objects, num_metadata, and representation_index is read by reading and analyzing the header () block from the Description box (stsd).
  • the audio segment analysis unit 211 performs a pairing of representation_index and metadata_index.
  • the audio segment analysis unit 211 separates data from Media Data box (mdat) in Media Segment.
  • the audio segment analysis unit 211 confirms the type of the separated data.
  • the audio segment analysis unit 211 reads the audio_frame () block in the audio_frames () block and supplies it to the audio object decoding unit 212 in step S 1216.
  • the sound object decoding unit 212 decodes the sound object.
  • the audio segment analysis unit 211 reads the object_metadatum () block in the object_metadata () block in step S 1220, and the metadata decoding unit 213.
  • the metadata decoding unit 213 decodes the metadata.
  • the output gain calculation unit 215 calculates a speaker output gain for each audio object based on the position information supplied from the metadata decoding unit 213.
  • step S1228 the audio data generation unit 216 applies the speaker output gain calculated by the output gain calculation unit 215 to the PCM data for each audio object supplied from the audio object decoding unit 212. By generating audio data output from each speaker, the audio segment reproduction processing is completed.
  • step S1300 the control unit 220 of the client device 200 acquires a representation_index corresponding to the video presentation.
  • step S1304 the control unit 220 derives metadata_index and ConnectionPoint based on the acquired representation_index.
  • step S1308 the control unit 220 supplies the derived metadata_index and ConnectionPoint to the reproduction processing unit 210.
  • step S1312 the control unit 220 acquires an audio segment for transmitting the audio_frames () block and supplies it to the reproduction processing unit 210.
  • the control unit 220 acquires the audio segment that transmits the object_metadata () block indicated by the metadata_index before switching in step S1320. And supplied to the reproduction processing unit 210.
  • the process of step S1320 is omitted.
  • step S1324 / Yes the control unit 220 acquires the audio segment that transmits the object_metadata () block indicated by the metadata_index after switching in step S1328. Then, the audio segment acquisition process is completed by supplying the reproduction processing unit 210. If the metadata_index after switching is not listed in the SupplementalProperty of the MPD file (step S1324 / No), the process of step S1328 is omitted and the series of processes ends.
  • step S ⁇ b> 1400 the voice segment analysis unit 211 of the client device 200 confirms the type of the voice segment acquired by the control unit 220. If the type of the audio segment acquired by the control unit 220 is an initialization segment, in step S1404, Movie Sample Description under box (moov) A list of num_objects, num_metadata, and representation_index is read by reading and analyzing the header () block from the box (stsd). In addition, the audio segment analysis unit 211 performs a pairing of representation_index and metadata_index.
  • the audio segment analysis unit 211 separates data from the Media Data box (mdat) in the Media Segment.
  • the voice segment analysis unit 211 confirms the type of the separated data.
  • the audio segment analysis unit 211 reads out the audio_frame () block in the audio_frames () block and supplies it to the audio object decoding unit 212 in step S 1416.
  • the sound object decoding unit 212 decodes the sound object.
  • the speech segment analysis unit 211 reads the object_metadatum () block before switching and supplies it to the metadata decoding unit 213 in step S 1420.
  • the metadata decoding unit 213 decodes the metadata.
  • step S1428 the audio segment analysis unit 211 acquires the audio including the metadata after switching acquired by the control unit 220. Read the segment.
  • step S1432 the voice segment analysis unit 211 separates data from the Media Data box (mdat) in the Media Segment.
  • step S1436 the audio segment analysis unit 211 reads the object_metadatum () block in the object_metadata () block and supplies it to the metadata decoding unit 213, so that the metadata decoding unit 213 decodes the metadata after switching.
  • step S1440 the metadata selection unit 214 selects metadata by a predetermined method (a specific example of the method will be described later).
  • step S1444 the output gain calculation unit 215 calculates a speaker output gain for each audio object based on the position information supplied from the metadata decoding unit 213.
  • step S1448 the audio data generation unit 216 applies the speaker output gain calculated by the output gain calculation unit 215 to the PCM data for each audio object supplied from the audio object decoding unit 212. By generating audio data output from each speaker, the audio segment reproduction processing is completed.
  • step S1500 the metadata selection unit 214 of the client device 200 confirms whether or not the playback time (playback time) is before ConnectionPoint. If the playback time is before ConnectionPoint (step S1500 / Yes), in step S1504, the metadata selection unit 214 selects metadata by selecting the metadata before switching as metadata used for playback processing. The processing flow ends. When the reproduction time is later than ConnectionPoint (step S1500 / No), in step S1508, the metadata selection unit 214 selects the metadata after switching as the metadata used for the reproduction process. The selection process flow ends.
  • steps in the flowcharts of FIGS. 63 to 70 described above do not necessarily have to be processed in time series in the order described. That is, each step in the flowchart may be processed in an order different from the order described or may be processed in parallel.
  • FIG. 71 is a block diagram illustrating a hardware configuration example of the information processing apparatus 900 that embodies the server apparatus 100 or the client apparatus 200.
  • the information processing apparatus 900 includes a CPU (Central Processing Unit) 901 and a ROM (Read Only). Memory) 902, RAM (Random Access Memory) 903, host bus 904, bridge 905, external bus 906, interface 907, input device 908, output device 909, storage device (HDD) 910, A drive 911 and a communication device 912 are provided.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • HDMI storage device
  • a drive 911 and a communication device 912 A drive 911 and a communication device 912 are provided.
  • the CPU 901 functions as an arithmetic processing unit and a control unit, and controls the overall operation in the information processing apparatus 900 according to various programs. Further, the CPU 901 may be a microprocessor.
  • the ROM 902 stores programs used by the CPU 901, calculation parameters, and the like.
  • the RAM 903 temporarily stores programs used in the execution of the CPU 901, parameters that change as appropriate during the execution, and the like. These are connected to each other by a host bus 904 including a CPU bus. With the cooperation of the CPU 901, the ROM 902, and the RAM 903, each function of the generation unit 110 or the control unit 120 of the server device 100, or the reproduction processing unit 210 or the control unit 220 of the client device 200 is realized.
  • the host bus 904 is connected via a bridge 905 to an external bus 906 such as a PCI (Peripheral Component Interconnect / Interface) bus.
  • an external bus 906 such as a PCI (Peripheral Component Interconnect / Interface) bus.
  • PCI Peripheral Component Interconnect / Interface
  • the host bus 904, the bridge 905, and the external bus 906 are not necessarily configured separately, and these functions may be mounted on one bus.
  • the input device 908 includes input means for inputting information such as a mouse, keyboard, touch panel, button, microphone, switch, and lever, and an input control circuit that generates an input signal based on the input by the user and outputs the input signal to the CPU 901. Etc.
  • a user who uses the information processing apparatus 900 can input various data and instruct a processing operation to each apparatus by operating the input apparatus 908.
  • the output device 909 includes, for example, a display device such as a CRT (Cathode Ray Tube) display device, a liquid crystal display (LCD) device, an OLED (Organic Light Emitting Diode) device, and a lamp. Furthermore, the output device 909 includes an audio output device such as a speaker and headphones. The output device 909 outputs the played content, for example. Specifically, the display device displays various information such as reproduced video data as text or images. On the other hand, the audio output device converts reproduced audio data or the like into audio and outputs it.
  • a display device such as a CRT (Cathode Ray Tube) display device, a liquid crystal display (LCD) device, an OLED (Organic Light Emitting Diode) device, and a lamp.
  • the output device 909 includes an audio output device such as a speaker and headphones.
  • the output device 909 outputs the played content, for example. Specifically, the display device displays various information such as reproduced video data as text or images
  • the storage device 910 is a device for storing data.
  • the storage device 910 may include a storage medium, a recording device that records data on the storage medium, a reading device that reads data from the storage medium, a deletion device that deletes data recorded on the storage medium, and the like.
  • the storage device 910 is composed of, for example, an HDD (Hard Disk Drive).
  • the storage device 910 drives a hard disk and stores programs executed by the CPU 901 and various data.
  • the storage device 910 implements the functions of the storage unit 140 of the server device 100 or the storage unit 240 of the client device 200.
  • the drive 911 is a storage medium reader / writer, and is built in or externally attached to the information processing apparatus 900.
  • the drive 911 reads information recorded in a removable storage medium 913 such as a mounted magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and outputs the information to the RAM 903.
  • the drive 911 can also write information to the removable storage medium 913.
  • the communication device 912 is a communication interface configured by a communication device for connecting to the communication network 914, for example.
  • the function of the communication unit 130 of the server device 100 or the communication unit 230 of the client device 200 is realized by the communication device 912.
  • the server apparatus 100 (transmission apparatus) according to the present disclosure generates the second stream data that is object data corresponding to the first stream data that is bit stream data, and the second stream data.
  • the stream data is transmitted to the client device 200 (receiving device).
  • the server apparatus 100 includes the timing information for switching the first stream data in an MPD file used for reproducing the second stream data.
  • the client device 200 receives the second stream data and performs reproduction processing of the second stream data based on the metadata corresponding to the data. Based on the timing information included in the MPD file or the like, The second stream data (strictly speaking, metadata used for reproduction of the second stream data) can be switched at the timing when the first stream data is switched.
  • a receiving unit which receives the second stream data which is object data is provided.
  • Receiver device (2) A playback processing unit that performs playback processing of the second stream data based on metadata corresponding to the second stream data; The receiving device according to (1).
  • the reproduction processing unit switches the metadata used for reproduction of the second stream data in accordance with switching of the first stream data.
  • the reproduction processing unit switches the metadata used for reproduction of the second stream data at a timing when the first stream data is switched.
  • the reproduction processing unit switches the metadata used for reproduction of the second stream data to the metadata corresponding to the first stream data after switching.
  • the receiving device according to (3) or (4).
  • the first stream data is video stream data
  • the second stream data is audio stream data.
  • the receiving device according to any one of (1) to (5).
  • the second stream data is MPEG-DASH (Dynamic Adaptive Streaming over Http)
  • the receiving device according to any one of (1) to (6).
  • (11) A generator for generating the second stream data; The generation unit includes information on the switching timing of the first stream data in metadata used for reproduction of the second stream data.
  • the transmission device according to (10) above. (12) The generation unit stores at least one metadata used for reproduction processing of the second stream data and object data in the same segment.
  • the generation unit stores metadata used for reproduction processing of the second stream data and object data in different segments.
  • the first stream data is video stream data
  • the second stream data is audio stream data.
  • the transmission device according to any one of (10) to (13).
  • the second stream data is MPEG-DASH (Dynamic Adaptive Streaming over Http)
  • the transmission device according to any one of (10) to (14).
  • (16) Corresponding to the first stream data which is the bit stream data, and transmitting the second stream data which is the object data to the external device, A transmission method executed by a computer.
  • (17) A program for causing a computer to realize transmission of second stream data, which is object data, to external devices corresponding to first stream data, which is bit stream data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】複数のストリームデータの切り替えをより柔軟に実現することを可能にする。 【解決手段】ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信する受信部を備える、受信装置が提供される。

Description

受信装置、送信装置、受信方法、送信方法、およびプログラム
 本開示は、受信装置、送信装置、受信方法、送信方法、およびプログラムに関する。
 近年、インターネット上のストリーミングサービスの主流がOTT-V(Over The Top Video)となっている。この基盤技術として普及し始めているのがMPEG-DASH(Moving Picture Experts Group phase
- Dynamic Adaptive Streaming over HTTP)である(例えば、非特許文献1参照)。
 MPEG-DASHなどを用いて行われるコンテンツの配信においては、サーバ装置がセグメントという単位で映像ストリームデータおよび音声ストリームデータを配信し、クライアント装置が所望のセグメントを選択することで映像コンテンツおよび音声コンテンツを再生する。MPEG-DASHなどによってストリームデータの配信が行われることによって、クライアント装置は、映像表現として連続性の無い映像ストリームデータ(例えば、解像度やビットレートの異なる映像ストリームデータなど)を互いに切り替えることができる。また、クライアント装置は、音声として相関の無い音声ストリームデータ(例えば、言語(日本語や英語など)やビットレートの異なる音声ストリームデータなど)を互いに切り替えることもできる。
MPEG-DASH(Dynamic Adaptive Streaming over HTTP)(URL: http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html) INTERNATIONAL STANDARD ISO/IEC 23008-3First edition 2015-10-15 Information technology High efficiency coding andmedia delivery in heterogeneous environments Part 3: 3D audio Virtual Sound Source Positioning UsingVector Base Amplitude Panning, AES Volume 45 Issue 6 pp.456-466, June 1997
 しかしながら、映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングを合せることは困難であった。より具体的には、映像ストリームデータと音声ストリームデータは互いにアラインしておらず(換言すると、映像ストリームデータと音声ストリームデータとは別々に存在するストリームデータであり)、基本的にセグメント長も互いに異なるため、映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングを合せることは困難であった。映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングがずれることによって、視聴者が受ける興趣感や臨場感が損なわれてしまうため問題である。
 そこで、本開示は上記に鑑みてなされたものであり、本開示は、複数のストリームデータの切り替えをより柔軟に実現することが可能な、新規かつ改良された受信装置、送信装置、受信方法、送信方法、およびプログラムを提供する。
 本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信する受信部を備える、受信装置が提供される。
 また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信することを有する、コンピュータにより実行される受信方法が提供される。
 また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信すること、をコンピュータに実現させるためのプログラムが提供される。
 また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信する送信部を備える、送信装置が提供される。
 また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信することを有する、コンピュータにより実行される送信方法が提供される。
 また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信することをコンピュータに実現させるためのプログラムが提供される。
 以上説明したように本開示によれば、複数のストリームデータの切り替えをより柔軟に実現することが可能になる。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の課題について説明するための図である。 本開示の課題について説明するための図である。 本開示の課題について説明するための図である。 本開示の課題について説明するための図である。 オブジェクトベースオーディオのビットストリームの構成例を示す図である。 オブジェクトベースオーディオのビットストリームの構成例を示す図である。 object_metadatum()ブロックの構成例を示す図である。 object_metadatum()ブロックの構成例を示す図である。 object_metadatum()ブロックにて示される位置情報について説明するための図である。 object_metadatum()ブロックにて示される位置情報(差分値と直接値)について説明するための図である。 audio_frame()ブロックの構成例を示す図である。 オブジェクトベースオーディオを用いたMPEG-DASHの配信の例について説明するための図である。 Initialization SegmentとMedia Segmentが同一のMP4コンテナに格納される場合のMP4コンテナの構成例を示す図である。 Initialization SegmentとMedia Segmentが互いに異なるMP4コンテナに格納される場合の各MP4コンテナの構成例を示す図である。 Movie box(moov)の構成を示す図である。 object_based_audio_SampleEntryの構成例、およびobject_based_audio_SampleEntryがSample Description box(stsd)に格納される旨を示す図である。 Movie Fragment box(moof)の構成、およびMedia Data box(mdat)を示す図である。 Media Data box(mdat)の構成を示す図である。 クライアント装置200が、TrackFragment Run box(trun)に格納されたランダムアクセス情報に基づいてobject_based_audio_sampleの再生処理を行う旨を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるMPDファイルの具体例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるMPDファイルの具体例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるMPDファイルの具体例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるMPDファイルの具体例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成例を示す図である。 メタデータの切り替えについて説明するための図である。 Representation要素がSegmentList形式で記述される場合のMPDファイルの具体例を示す図である。 Representation要素がSegmentTemplate形式で記述される場合のMPDファイルの具体例を示す図である。 Representation要素がSegmentBase形式で記述される場合のMPDファイルの具体例を示す図である。 Segment Index boxの具体例を示す図である。 メタデータを圧縮する際の制約について説明するための図である。 本開示の一実施形態に係る情報処理システムの構成例を示すブロック図である。 サーバ装置100の機能構成例を示すブロック図である。 クライアント装置200の機能構成例を示すブロック図である。 切り替わりが発生しない場合における音声ストリームデータの再生処理フローの具体例を示すフローチャートである。 切り替わりが発生しない場合における、音声セグメントを取得する処理フローの具体例を示すフローチャートである。 切り替わりが発生しない場合における、音声セグメントを再生する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、音声セグメントを取得する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、音声セグメントを取得する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、音声セグメントを再生する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、音声セグメントを再生する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、メタデータの選択処理フローの具体例を示すフローチャートである。 サーバ装置100、またはクライアント装置200を具現する情報処理装置900のハードウェア構成例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.本開示の概要
 2.本開示の詳細
 3.本開示の実施形態
 4.まとめ
  <1.本開示の概要>
 まず、本開示の概要について説明する。
 上記のとおり、MPEG-DASHなどによってストリームデータの配信が行われることによって、クライアント装置は、映像表現として連続性の無い映像ストリームデータ(例えば、解像度やビットレートの異なる映像ストリームデータなど)を互いに切り替えることができる。また、クライアント装置は、音声として相関の無い音声ストリームデータ(例えば、言語(日本語や英語など)やビットレートの異なる音声ストリームデータなど)を互いに切り替えることもできる。
 しかしながら、映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングを合せることは困難であった。より具体的には、映像ストリームデータと音声ストリームデータは互いにアラインしておらず、基本的にセグメント長も互いに異なるため、映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングを合せることは困難であった。映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングがずれることによって、視聴者が受ける興趣感や臨場感が損なわれてしまうため問題である。
 この課題を解決する方法として「セグメントの重複取得」や「プリロールデータ伝送」などの方法が提案されている。
 「セグメントの重複取得」について説明すると、例えば、図1に示すように、映像セグメントの切り替わりタイミングよりも音声セグメントの切り替わりタイミングの方が先になる場合(図1では、映像Representation1から映像Representation2への切り替わりタイミングよりも、音声Representation1から音声Representation2への切り替わりタイミングの方が先になっている)、切り替わりのずれが生じている。
 このとき、図2に示すように、クライアント装置が、映像セグメントの切り替わりが行われる際に、切り替わり後の音声レプリゼンテーション(音声Representation2)の音声セグメントだけでなく切り替わり前の音声レプリゼンテーション(音声Representation1)の音声セグメントも重複して取得する。これによって、クライアント装置は、映像セグメントの切り替わりタイミングまでは切り替わり前の音声セグメントを用いて再生処理を行い、映像セグメントの切り替わりタイミング以降は切り替わり後の音声セグメントを用いて再生処理を行うことができるため、切り替わりのずれを解消(または、切り替わりのずれをより小さく)することができる。なお、切り替わりの際に、映像についてはディゾルブなど、音声についてはクロスフェードなどの技法が併せて用いられることで、ユーザが受ける違和感が軽減されていた。
 「プリロールデータ伝送」について説明すると、例えば、図3に示すように、音声セグメントの切り替わりタイミングよりも映像セグメントの切り替わりタイミングの方が先になる場合(図3では、音声Representation1から音声Representation2への切り替わりタイミングよりも、映像Representation1から映像Representation2への切り替わりタイミングの方が先になっている)、切り替わりのずれが生じている。
 このとき、MPEG-H 3D Audio(ISO/IEC 23008-3)には、図4に示すように、各音声セグメントにプリロールデータを付す方法が規定されている。これによって、クライアント装置は、映像セグメントの切り替わりタイミング以降は、切り替わり後の音声セグメントを用いて再生処理を行うことができるため、切り替わりのずれを解消(または、切り替わりのずれをより小さく)することができる。映像についてのディゾルブ、音声についてのクロスフェードなどの技法が併せて用いられることに関しては上記と同様である。
 しかし、「セグメントの重複取得」については、重複データの取得(ダウンロードなど)に余分な時間を要するため、例えば、切り替えが実行されるタイミングが所望のタイミングよりも遅れる場合がある(例えば、切り替えが実行されるタイミングより前に重複データの取得が完了しなかった場合など)。また、「セグメントの重複取得」と「プリロールデータ伝送」の両方について、再生に使用されないデータが取得(ダウンロードなど)されることになるため、取得に使用される帯域に無駄が生じる。特に、「プリロールデータ伝送」については、基本的に全セグメントにプリロールデータが付されることになるため無駄がより多いと言える。
 本件の開示者は上記事情に鑑みて本開示を創作するに至った。本開示に係るサーバ装置100(送信装置)は、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを生成し、第2のストリームデータをクライアント装置200(受信装置)へ送信する。さらに、サーバ装置100は、第1のストリームデータの切り替わりのタイミングに関する情報(以降、「タイミング情報」と呼称する)を第2のストリームデータの再生に用いられるMPD(Media Presentation Description)ファイルなどに含める。
 これによって、クライアント装置200は、第2のストリームデータを受信し、当該データに対応するメタデータに基づいて第2のストリームデータの再生処理を行うところ、MPDファイルなどに含まれるタイミング情報に基づいて、第1のストリームデータが切り替わるタイミングに、第2のストリームデータ(厳密には、第2のストリームデータの再生に用いられるメタデータ)を切り替えることができる。
 ここで、上記の第1のストリームデータおよび第2のストリームデータは、それぞれ映像ストリームデータでもよいし音声ストリームデータでもよい。より具体的には、第1のストリームデータが映像ストリームデータであり、第2のストリームデータが音声ストリームデータでもよいし、第1のストリームデータが音声ストリームデータであり、第2のストリームデータが映像ストリームデータでもよい。また、第1のストリームデータが映像ストリームデータであり、第2のストリームデータが第1のストリームデータとは異なる映像ストリームデータであってもよい。また、第1のストリームデータが音声ストリームデータであり、第2のストリームデータが第1のストリームデータとは異なる音声ストリームデータであってもよい。以降では、一例として、第1のストリームデータが映像ストリームデータであり、第2のストリームデータが音声ストリームデータである場合について説明する(換言すると、音声ストリームデータはオブジェクトベースオーディオデータである)。
  <2.本開示の詳細>
 上記では、本開示の概要について説明した。続いて、本開示の詳細について説明していくところ、まず、MPEG-DASHやオブジェクトベースオーディオについて説明する。
 MPEG-DASH(上記の非特許文献1参照)について概説すると、MPEG-DASHは、映像データや音声データを、インターネットを介してストリーミング配信するために開発された技術である。MPEG-DASHによる配信では、クライアント装置200が、伝送帯域の変動などに応じてビットレートの異なるコンテンツを選択し取得することでコンテンツの再生を行う。したがって、例えば、サーバ装置100が、用いられる言語のみが互いに異なる同一内容の音声ストリームデータを複数用意しておき、クライアント装置200がユーザによる操作入力などに応じてダウンロードの対象となる音声ストリームデータを切り替えることによってコンテンツにおける言語を変更することが可変となる。
 オブジェクトベースオーディオについて概説すると、例えば、上記の非特許文献2に記載のMPEG-H 3D Audio(ISO/IEC 23008-3)が用いられることによって、従来の2チャンネルステレオ方式や、5.1チャンネルなどのマルチチャンネルステレオ方式による再生が可能になるだけでなく、移動する音源などを独立した音声オブジェクトとして扱い、音声オブジェクトの音声データとともに音声オブジェクトの位置情報をメタデータとして符号化することも可能になる。これによって、再生時に様々な加工を行うこと(例えば、音量を調節することや、エフェクトを追加することなど)が容易に実現可能になった。
 また、上記の非特許文献3には、音声オブジェクトのレンダリング方式が記載されており、例えば、VBAP(Vector Base Amplitude Panning)というレンダリング方式によって、再生環境に存在するスピーカの出力設定が行われ得る。VBAPは、個々の音声オブジェクトの空間位置に最も近い3台以上のスピーカの出力を調節することで、音声オブジェクトの空間位置に音を定位させる技術であり、音声オブジェクトの空間位置を変更すること(換言すると、音声オブジェクトを移動させること)もできる。
 加えて、オブジェクトベースオーディオは、オーディオフレームを複数に時分割したり、伝送効率を向上させるためにデータの圧縮処理(差分伝送など)をしたりすることができるという特長を有する。
 ここで、本書で使用する用語の定義を以下に記載する。ISO/IEC 23008-3(MPEG-H 3D Audio)で用いられる用語は、ISO/IEC
14496-3(MPEG-4 Audio)に準ずるため、MPEG-4 Audioとの対比も併せて示す。
 まず、「音声オブジェクト」とは、音場を生成するための構成要素となる素材音を指す。例えば、再生されるコンテンツが音楽に関するものである場合、音声オブジェクトは、楽器(例えば、ギターやドラムなど)音や歌手の歌声などを指す。なお、音声オブジェクトとして用いられる素材音の内容は特に限定されず、コンテンツ製作者によって決定されることとなる。音声オブジェクトは、MPEG-4 Audioでは「object」や「the component objects」などと呼称される。
 「オブジェクトベースオーディオ」とは、音声オブジェクトと共に、音声オブジェクトの位置情報をメタデータとして符号化することで生成されたデジタルオーディオデータを指す。オブジェクトベースオーディオを再生する再生機器は、個々の音声オブジェクトの復号結果をそのままスピーカに出力するのではなく、スピーカの台数や位置に応じて動的にスピーカそれぞれの出力を算出する。MPEG-4 Audioで規定されたオーディオ符号化方式は、当該規格の中で「MPEG-4
Audio is an object-based coding standard with multiple tools.」と説明されている。
 「マルチチャンネルオーディオ(チャンネルベースオーディオ)」とは、2チャンネルステレオ方式や、5.1チャンネルなどのマルチチャンネルステレオ方式の総称である。各チャンネルには、固定の音声信号が割り当てられる。再生機器は、チャンネルごとに割り当てられた音声信号を予め決められたスピーカに出力する(例えば、チャンネル1に割り当てられた音声信号は左スピーカへ出力し、チャンネル2に割り当てられた音声信号は右スピーカへ出力するなど)。また、これらの音声信号は、上述の音声オブジェクトをコンテンツ製作者が配信前にミックスダウンすることで得られるデジタル音声であるとも言える。なお、MPEG-4 Audioは、マルチチャンネルオーディオのデータと、音声オブジェクトのデータの双方を一つのビットストリーム中に格納することが可能である。
 (2.1.オブジェクトベースオーディオのビットストリーム)
 続いて、図5を参照して、オブジェクトベースオーディオのビットストリームの構成例について説明する。図5に示すように、オブジェクトベースオーディオのビットストリームは、header()ブロックと、object_metadata()ブロックと、audio_frames()ブロックと、を有し、header()ブロックが伝送された後に、object_metadata()ブロックとaudio_frames()ブロックが交互にビットストリームの最後に至るまで伝送される。また、図5に示すように、object_metadata()ブロックにはメタデータ(object_metadatum()ブロック)が含まれ、audio_frames()ブロックには音声オブジェクト(audio_frame()ブロック)が含まれている。
 ビットストリームの構成例の詳細を、図6を参照して説明する。図6の行番号2~8にheader()ブロックが示されており、行番号10~14にobject_metadata()ブロックが示されており、行番号15~19にaudio_frames()ブロックが示されている。
 header()ブロックにおいて、行番号3に記載されたnum_metadataは、ビットストリームに含まれるメタデータの数(object_metadatum()ブロックの数)を示す。また、行番号4に記載されたnum_objectsは、ビットストリームに含まれる音声オブジェクトの数(audio_frame()ブロックの数)を示す。また、行番号6に記載されたrepresentation_indexは、映像ストリームデータ(第1のストリームデータ)における映像レプリゼンテーションのインデックスを示す。映像ストリームデータと音声ストリームデータの再生に用いられるMPDファイルのRepresentation要素のid属性は任意の文字列で指定され得るため、representation_indexには、MPDファイル内での記載順に0から始まる整数値が割り当てられることとする。なお、representation_indexの値はこれに限定されない。
 続いて、object_metadata()ブロックにおいて、行番号12に記載のobject_metadatum()ブロックの構成例を、図7および図8を参照して説明する。
 図7の行番号2に記載のmetadata_indexは、object_metadata()ブロックのインデックスを示しており、metadata_indexがmetadata_index=iという関係を満たす場合、当該object_metadatum()ブロックには、representation_index[i]の映像レプリゼンテーションに対応する音場を生成するためのメタデータが格納されている。
 また、当該object_metadatum()ブロックに格納されたメタデータが適用されるaudio_frames()ブロックは時分割され得るところ、行番号6などに記載のnum_pointsは、その分割数を示す。audio_frames()ブロックの再生時間において、num_points個のメタデータの分割点が均等に生成される(換言すると、audio_frames()ブロックの再生時間が「num_points+1」に分割されることになる)。
 また、行番号9に記載のazimuth、行番号16に記載のelevation、行番号23に記載のradiusそれぞれは各音声オブジェクトの位置情報を示しており、図9に示すように、azimuthは球面座標系における方位角を示し、elevationは球面座標系における仰角を示し、radiusは球面座標系における半径を示す。また、行番号30に記載のgainは各音声オブジェクトのゲインを示す。
 行番号3に記載のis_rawは、azimuth、elevation、radius、およびgainの値が差分値であるか否かを示す情報である。例えば、is_rawがis_raw=0という関係を満たす場合、これらの値は差分値であり、is_rawがis_raw=1という関係を満たす場合、これらの値は差分値ではない(真の値(直接値)である)。
 差分値は音声オブジェクトごとに導出される。また、差分値の導出にあたり、起点となる値は、is_rawがis_raw=1という関係を満たす直前のobject_metadatum()ブロックの最後のメタデータの値である。ここで、図10を用いてより具体的に説明する。図10の、m[i](i=1,2,…,9)は、各メタデータ(azimuth、elevation、radius、およびgain)を総称しており、m[1]からm[4]の値は直接値(換言すると、is_rawがis_raw=1という関係を満たす)であり、m[5]からm[9]の値は差分値(換言すると、is_rawがis_raw=0という関係を満たす)であるとする。
 このとき、m[5]からm[9]の差分値の導出の起点となる値は、is_rawがis_raw=1という関係を満たす直前のobject_metadatum()ブロックの最後のメタデータであるm[4]の値である。したがって、m[5]はm[4]からの差分値であり、同様に、m[6]はm[5]からの差分値であり、m[9]はm[8]からの差分値である。
 クライアント装置200は、object_metadatum()ブロックを処理する度に最後に導出したメタデータの値を記憶しておくことで、上記のように、差分値で示される各メタデータの値を導出することができる。
 続いて、audio_frames()ブロックにおいて、図6の行番号17に記載のaudio_frame()ブロックの構成例を、図11を参照して説明する。
 行番号2に記載のlengthは、以降に続く音声オブジェクトのデータ長を示す。また、行番号4に記載のdata_bytesは音声オブジェクトのデータを格納するものである。例えば、MPEG4-AAC方式によって符号化されたオーディオフレーム(1024個のオーディオサンプル)がdata_bytesに格納され得る。リニアPCM方式のように特定のオーディオフレームが規定されていない場合には、ある再生時間を単位として、その再生時間に必要となるデータがdata_bytesに格納される。
 (2.2.オブジェクトベースオーディオを用いたMPEG-DASHの配信の例)
 続いて、図12を参照して、上記で説明してきたオブジェクトベースオーディオのビットストリームを用いてMPEG-DASHの配信が行われる場合の例について説明する。
 例えば、ある対象物に対して左アングル、正面アングル、および右アングルの3種類の映像音声が提供されるコンテンツについて考える。映像中に複数の音源が存在する場合、各アングルによってユーザから各音源までの距離などが異なるため、アングルに応じてユーザに提供される音声も異なることが好ましい。
 映像レプリゼンテーションには、例えばH.265 (ISO/IEC 23008-2 HEVC)で符号化された3つのビットストリームが用意される。対する音声レプリゼンテーションには、1つのオブジェクトベースオーディオのビットストリームが用意される。また、オブジェクトベースオーディオのビットストリームは、3つのメタデータ(すなわち、num_metadataがnum_metadata=3という関係を満たす)、および4つの音声オブジェクト(すなわち、num_objectsがnum_objects=4という関係を満たす)を含んでいるとする。また、図12の例では、各メタデータが適用されるオーディオフレームは8つに時分割されている(すなわち、num_pointsがnum_points=7という関係を満たす)。
 このとき、クライアント装置200は、共通の音声オブジェクトに対して異なるメタデータを適用することで異なる音場を生成することができるため、映像アングルの切り替えに追随した音場を表現することができる。より具体的に説明すると、クライアント装置200はメタデータの切り替えを任意のタイミングで行うことができるため、例えばユーザの操作入力によって映像アングルが切り替えられた場合、クライアント装置200は、映像アングルが切り替えられたタイミングに、メタデータを切り替えることができる。これによって、クライアント装置200は、映像アングルの切り替えに追随した音場を表現することができる
 (2.3.セグメント化方式)
 続いて、オブジェクトベースオーディオのビットストリームのセグメント化方式について説明する。以降では、MP4(ISO/IEC 14496 Part 12 ISO Base Media
File Format)コンテナを使用してセグメント化を実現する場合を一例として説明するが、セグメント化方式はこれに限定されない。
 図13には、Initialization SegmentとMedia Segmentが同一のMP4コンテナに格納される場合のMP4コンテナの構成例が示されている。
 図14には、Initialization SegmentとMedia Segmentが互いに異なるMP4コンテナに格納される場合の各MP4コンテナの構成例が示されている。
 図15には、Movie box(moov)の構成が示されている。図13および図14のいずれの場合においても、Movie box(moov)配下のSample
Description box(stsd)にオブジェクトベースオーディオのビットストリームのheader()ブロックが格納されるとする。より具体的には、図16に示すように、header()ブロック全体のデータ長を示すlengthフィールドがheader()ブロックに追加されることによって生成されたobject_based_audio_SampleEntryがSample
Description box(stsd)に格納される(なお、1つのSample Description box(stsd)には、1つのobject_based_audio_SampleEntryが格納されることを想定している)。
 図17には、Movie Fragment box(moof)の構成、およびMedia Data box(mdat)が示されている。Media SegmentにおけるMedia Data box(mdat)にはオブジェクトベースオーディオのビットストリームのheader()ブロック以外の部分が格納され、Movie Fragment box(moof)にはMedia Data box(mdat)へのランダムアクセスのための情報(以降、「ランダムアクセス情報」と呼称する)が格納される。
 図18には、Media Data box(mdat)の構成が示されている。Media Data
box(mdat)にはobject_metadata()ブロックおよびaudio_frame()ブロックに対して全体のデータ長を示すsizeフィールドが追加されて生成されたobject_based_audio_sampleが格納される。
 図17に示したMovie Fragment box(moof)におけるTrack Fragment Run box(trun)には、ランダムアクセス情報として、Media Data box(mdat)に格納されている各object_based_audio_sampleのデータ開始位置およびデータ長が格納されている。また、音声オブジェクトが出力される時刻をCTS(Composition Time Stamp)と呼称するところ、Track Fragment Run box(trun)には、ランダムアクセス情報として、CTSも格納される。
 上記のランダムアクセス情報がMovie Fragment box(moof)に格納されることによって、クライアント装置200は、再生処理時に、これらのランダムアクセス情報を参照し、効率的にオブジェクトベースオーディオデータにアクセスすることができる。例えば、図19に示すように、クライアント装置200は、Movie Fragment box(moof)におけるTrack Fragment Run box(trun)に格納されたランダムアクセス情報を確認した上で、Track Fragment Run box(trun)に対応するobject_based_audio_sampleの再生処理を行う。なお、例えば、48000HzのMPEG4-AAC方式で符号化された音声データでは1つのaudio_frame()の再生時間は約21ミリ秒になる。
 (2.4.音声レプリゼンテーションの伝送パターン)
 続いて、音声レプリゼンテーションの伝送パターンについて説明する。本開示に係るサーバ装置100は、様々なパターンで音声レプリゼンテーションを伝送することができるところ、以下ではケース1~ケース3の伝送パターンについて説明する。
 (ケース1)
 まず、ケース1として、1つの音声レプリゼンテーション中に切り替え可能な、映像レプリゼンテーションに対応する全てのメタデータが記録されて伝送される場合について説明する。
 図20、および図21には、音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要が示されている。
 また、クライアント装置200は、再生処理に先立って制御情報であるMPDファイルを取得し、当該MPDファイルに基づいてオブジェクトベースオーディオのビットストリームの再生処理を行う。図22には、1つの音声レプリゼンテーション中に切り替え可能な、映像レプリゼンテーションに対応する全てのメタデータが記録されて伝送される場合におけるMPDファイルの具体例が示されている。図22の例では、行番号2~行番号5に音声レプリゼンテーションが定義されている(Representation id=“a1”、num_objects=4、num_metadata=3(metadata_index=0,1,2))。図23および図24には、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 (ケース2)
 続いて、ケース2として、1つの音声レプリゼンテーション中に音声オブジェクトと、再生開始時に必要となるデフォルトのメタデータが伝送され、それ以外のメタデータは他の音声レプリゼンテーションにて伝送される場合について説明する(なお、ケース1とケース2によって、音声ストリームデータ(第2のストリームデータ)の再生処理に用いられる少なくとも1つのメタデータと、音声オブジェクト(オブジェクトデータ)と、が同一セグメントに格納され得ると言える点に留意されたい)。
 図25、および図26には、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要が示されている。
 図27および図28には、メタデータだけが記録された音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要がそれぞれ示されている。なお、複数のobject_metadatum()ブロックが1つのMP4コンテナに格納されてもよいし、1つのobject_metadatum()ブロックが1つのMP4コンテナに格納されてもよい。
 図29には、この場合に用いられるMPDファイルの具体例が示されている。図29の例では、行番号2~行番号5に、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションが定義されている(Representation id=“a2”、num_objects=4、num_metadata=1(metadata_index=0))。また、行番号8~行番号12に、メタデータだけが記録された音声レプリゼンテーションが定義されている(Representation id=“ameta”、num_objects=0、num_metadata=2(metadata_index=1,2))。
 ここで、ケース2と、後段で説明するケース3については、音声オブジェクトと少なくとも一部のメタデータとが互いに異なる音声レプリゼンテーションによって伝送されるため、音声オブジェクトとメタデータとを対応付ける仕組みが必要である。そこで、サーバ装置100は、MPDファイルにおけるassociationId属性、およびassociationType属性を用いて音声オブジェクトとメタデータとを対応付ける。より具体的には、サーバ装置100は、図29の行番号9に記載のassociationType属性に“a3aM”を記述することによって、当該音声レプリゼンテーションが音声オブジェクトとメタデータとの対応付けに関するものであることを示す。さらに、サーバ装置100は、行番号9のassociationId属性に“a2”を記述することによって、当該音声レプリゼンテーションが、Representation id属性“a2”を有する音声レプリゼンテーションにおける音声オブジェクトと対応付けられていることを示す。これによって、クライアント装置200は、ケース2およびケース3においても、音声オブジェクトとメタデータとの対応関係を適切に認識することができる。なお、上記はあくまで一例であり、サーバ装置100は、associationId属性、またはassociationType属性以外の属性を用いて音声オブジェクトとメタデータとを対応付けてもよい。
 図30および図31には、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 図32および図33には、メタデータだけが記録された音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 図29~図33では、2種類の音声レプリゼンテーションが伝送される場合について説明したところ、伝送される音声レプリゼンテーションの種類の数は特に限定されない。例えば、伝送される音声レプリゼンテーションは3種類であってもよい。
 図34には、3種類の音声レプリゼンテーションが伝送される場合に用いられるMPDファイルの具体例が示されている。図34の例では、行番号2~行番号5に、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションが定義されている(Representation id=“a2”、num_objects=4、num_metadata=1(metadata_index=0))。また、行番号8~行番号12に、メタデータだけが記録された1種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta1”、num_objects=0、num_metadata=1(metadata_index=1))。さらに、行番号13~行番号17に、メタデータだけが記録された2種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta2”、num_objects=0、num_metadata=1(metadata_index=2))。
 図35および図36には、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 図37および図38には、メタデータだけが記録された1種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 図39および図40には、メタデータだけが記録された2種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 (ケース3)
 続いて、ケース3として、音声オブジェクトだけが記録された音声レプリゼンテーションと、メタデータだけが記録された音声レプリゼンテーションが別々に伝送される場合について説明する(なお、ケース3によって、音声ストリームデータ(第2のストリームデータ)の再生処理に用いられるメタデータと、音声オブジェクト(オブジェクトデータ)と、が互いに異なるセグメントに格納され得ると言える点に留意されたい)。
 図41、および図42には、音声オブジェクトだけが記録された音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要が示されている。
 図43、および図44には、メタデータだけが記録された音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要が示されている。
 図45には、この場合に用いられるMPDファイルの具体例が示されている。図45の例では、行番号2~行番号4に、音声オブジェクトだけが記録された音声レプリゼンテーションが定義されている(Representation id=“a3”、num_objects=4、num_metadata=0)。また、行番号7~行番号11に、メタデータだけが記録された1種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta0”、num_objects=0、num_metadata=1(metadata_index=0))。また、行番号12~行番号16に、メタデータだけが記録された2種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta1”、num_objects=0、num_metadata=1(metadata_index=1))。さらに、行番号17~行番号21に、メタデータだけが記録された3種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta2”、num_objects=0、num_metadata=1(metadata_index=2))。
 図46および図47には、音声オブジェクトだけが記録された音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 図48および図49には、メタデータだけが記録された1種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 図50および図51には、メタデータだけが記録された2種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 図52および図53には、メタデータだけが記録された3種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
 以上で、ケース1~ケース3についてそれぞれ説明してきた。伝送効率の観点から評価すると、音声オブジェクトだけが記録される音声レプリゼンテーションと、メタデータだけが記録される音声レプリゼンテーションとが別々に伝送されるケース3が最も好ましく、1つの音声レプリゼンテーション中に全てのメタデータが記録されるケース1が最も好ましくない。一方で、クライアント装置200がメタデータの取得に失敗する可能性という観点から評価すると、逆に、ケース1が最も好ましく、ケース3が最も好ましくない。また、ケース2については、同一のMedia Segment内に全ての音声オブジェクト、およびデフォルトのメタデータが記録されているため、クライアント装置200は、伝送効率を高く維持しつつレンダリングに失敗することがない(クライアント装置200は、他のメタデータの取得に失敗した場合であっても、デフォルトのメタデータを用いてレンダリングを行うことが可能)という特長がある。
 (2.5.メタデータの切り替えタイミングのシグナリング方式)
 続いて、メタデータの切り替えタイミングのシグナリング方式について説明する。上記のとおり、音声レプリゼンテーションごとに映像セグメントが切り替わる可能性があるタイミングのことをConnectionPoint と呼称する。なお、ConnectionPoint は、個々の映像セグメントの最初のフレームが表示される時刻であるところ、「映像セグメントの最初のフレーム」とは、プレゼンテーションオーダーでの映像セグメントの最初のフレームである点に留意されたい。
 ここで、以降では、図54に示すように、音声セグメント長が映像セグメント長よりも短く設定された場合を一例として説明する。この場合、1つの音声セグメント中でのメタデータの切り替え回数は、最大で1回となる。なお、音声セグメント長が映像セグメント長よりも長く設定された場合であっても本開示の適用は可能である(1つの音声セグメント中でのメタデータの切り替え回数が複数回になるだけである)。
 本書では、映像ストリームデータ(第1のストリームデータ)の切り替わりのタイミングのことをConnectionPointと呼称するところ、サーバ装置100は、ConnectionPointに関するタイミング情報を、音声ストリームデータ(第2のストリームデータ)の再生に用いられるメタデータに含める。より具体的には、サーバ装置100は、タイミング情報として、connectionPointTimescale、connectionPointOffset、およびconnectionPointCTSを、音声ストリームデータの再生に用いられるMPDファイルに含める。connectionPointTimescaleとは、タイムスケール値(例えば、単位時間を示す値など)である。connectionPointOffsetとは、elst boxに設定されたmedia offsetの値、またはMPDファイルに記述されたpresentationTimeOffsetの値である。connectionPointCTSは、切り替わりタイミングのCTS(映像セグメントの最初のフレームが表示される時刻)を示す値である。
 そして、MPDファイルを受信したクライアント装置200は、connectionPointTimescale、connectionPointOffset、およびconnectionPointCTSを以下の式1へ入力することによってConnectionPointを導出する。これによって、クライアント装置200は、映像ストリームデータの切り替わりタイミング(ConnectionPoint)を高精度(例えば、ミリ秒単位)で導出することができる。
Figure JPOXMLDOC01-appb-M000001
 ここで、サーバ装置100は、様々な方法でタイミング情報をMPDファイルに記述することができる。例えば、Representation要素がSegmentList形式で記述される場合、サーバ装置100は、図55に示すようなMPDファイルを生成することができる。より具体的には、サーバ装置100は、行番号7にconnectionPointTimescaleを記述し、行番号8にconnectionPointOffsetを記述し、行番号9~行番号12に各音声オブジェクトそれぞれのsegment URLの属性としてconnectionPointCTSを記述することができる。
 また、Representation要素がSegmentTemplate形式で記述される場合、サーバ装置100は、図56に示すようなMPDファイルを生成することができる。より具体的には、サーバ装置100は、行番号6~行番号10にSegmentTimelineを設け、その中にconnectionPointTimescale、connectionPointOffset、およびconnectionPointCTSを記述することができる。
 また、Representation要素がSegmentBase形式で記述される場合、サーバ装置100は、図57に示すようなMPDファイルを生成することができる。より具体的には、サーバ装置100は、行番号5に、Segment
Index box(sidx)のデータ位置に関する情報としてindexRangeを記述する。MP4コンテナの先頭を起点としてindexRangeによって示されるデータ位置にSegment Index boxが記録されており、サーバ装置100は、Segment
Index box中にconnectionPointTimescale、connectionPointOffset、およびconnectionPointCTSを記述する。
 図58は、Segment Index boxの具体例である。サーバ装置100は、行番号4にconnectionPointTimescaleを記述し、行番号5にconnectionPointOffsetを記述し、行番号9にconnectionPointCTSを記述することができる。該当の音声セグメントにConnectionPointが存在しない場合、サーバ装置100は、connectionPointCTSとして所定のデータ列(例えば、“0xFFFFFFFFFFFFFFFF”など)を設定することでその旨を示すことができる。
 なお、サーバ装置100は、図59に示すように、音声セグメントの先頭に該当するobject_metadatum()ブロック、およびConnectionPointが示すCTSを含む時刻に該当するobject_metadatum()ブロックでは、metadata_indexが切り替わる可能性があるため、メタデータを直接値とする(is_raw=1)。
  <3.本開示の実施形態>
 上記では、本開示の詳細について説明した。続いて、本開示の一実施形態について説明する。
 (3.1.システム構成例)
 まず、図60を参照して、本開示の一実施形態に係る情報処理システムの構成例について説明する。
 図60に示すように、本実施形態に係る情報処理システムは、サーバ装置100と、クライアント装置200と、を備える。そして、サーバ装置100とクライアント装置200は、インターネット300によって互いに接続されている。
 サーバ装置100は、MPEG-DASHに基づいて各種コンテンツをクライアント装置200に配信する情報処理装置(送信装置)である。より具体的には、サーバ装置100は、クライアント装置200からの要求に応じて、MPDファイル、映像ストリームデータ(第1のストリームデータ)および音声ストリームデータ(第2のストリームデータ)などをクライアント装置200へ送信する。
 クライアント装置200は、MPEG-DASHに基づいて各種コンテンツを再生する情報処理装置(受信装置)である。より具体的には、クライアント装置200は、サーバ装置100からMPDファイルを取得し、当該MPDファイルに基づいてサーバ装置100から映像ストリームデータおよび音声ストリームデータなどを取得し、復号処理を行うことで映像コンテンツおよび音声コンテンツを再生する。
 以上、本実施形態に係る情報処理システムの構成例について説明した。なお、図60を参照して説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システムの構成は係る例に限定されない。例えば、サーバ装置100の機能の全部または一部は、クライアント装置200またはその他の外部装置に備えられてもよい。例えば、サーバ装置100の機能の全部または一部を提供するソフトウェア(例えば、所定のAPI(Application Programming Interface)が使用されたWEBアプリケーション等)がクライアント装置200上で実行されてもよい。また、逆に、クライアント装置200の機能の全部または一部は、サーバ装置100またはその他の外部装置に備えられてもよい。本実施形態に係る情報処理システムの構成は、仕様や運用に応じて柔軟に変形可能である。
 ここで、本実施形態のポイントは、特に第2のストリームデータである音声ストリームデータに関する処理にあるため、以降では、音声ストリームデータに関する処理について重点的に説明していく。
 (3.2.サーバ装置100の機能構成例)
 上記では、本実施形態に係る情報処理システムのシステム構成例について説明した。続いて、図61を参照して、サーバ装置100の機能構成例について説明する。
 図61に示すように、サーバ装置100は、生成部110と、制御部120と、通信部130と、記憶部140と、を備える。
 生成部110は、音声ストリームデータ(第2のストリームデータ)を生成する機能構成である。図61に示すように、生成部110は、データ取得部111と、符号化処理部112と、セグメントファイル生成部113と、MPDファイル生成部114と、を備え、これらの機能構成を制御することによって音声ストリームデータの生成を実現する。
 データ取得部111は、第2のストリームデータの生成に用いられる音声オブジェクト(素材音)を取得する機能構成である。データ取得部111は、サーバ装置100内から音声オブジェクトを取得してもよいし、サーバ装置100に接続している外部装置から音声オブジェクトを取得してもよい。データ取得部111は、取得した音声オブジェクトを符号化処理部112に供給する。
 符号化処理部112は、データ取得部111から供給された音声オブジェクト、および外部から入力された各音声オブジェクトの位置情報などを含むメタデータを符号化することで音声ストリームデータを生成する機能構成である。符号化処理部112は、音声ストリームデータをセグメントファイル生成部113に供給する。
 セグメントファイル生成部113は、音声コンテンツとして配信可能な単位のデータである音声セグメント(Initialization SegmentやMedia Segmentなど)を生成する機能構成である。より具体的には、セグメントファイル生成部113は、符号化処理部112から供給される音声ストリームデータをセグメント単位でファイル化することで音声セグメントを生成する。また、セグメントファイル生成部113は、映像ストリームデータ(第1のストリームデータ)の切り替わりのタイミングに関するタイミング情報などを、音声ストリームデータ(第2のストリームデータ)のSegment Index box(sidx)に含める。
 MPDファイル生成部114は、MPDファイルを生成する機能構成である。本実施形態において、MPDファイル生成部114は、映像ストリームデータ(第1のストリームデータ)の切り替わりのタイミングに関するタイミング情報などを、音声ストリームデータ(第2のストリームデータ)の再生に用いられるMPDファイル(メタデータの一種である)に含める。
 制御部120は、サーバ装置100が行う処理全般を統括的に制御する機能構成である。例えば、制御部120は、通信部130を介して受信されるクライアント装置200からの要求情報等に基づいて各構成の起動や停止を制御することができる。なお、制御部120の制御内容は特に限定されない。例えば、制御部120は、汎用コンピュータ、PC、タブレットPCなどにおいて一般的に行われる処理を制御してもよい。
 通信部130は、クライアント装置200との各種通信を行う機能構成である(送信部としても機能する)。例えば、通信部130は、クライアント装置200からの要求情報を受信したり、当該要求情報への応答としてMPDファイル、音声ストリームデータ、または映像ストリームデータなどをクライアント装置200へ送信したりする。なお、通信部130の通信内容はこれらに限定されない。
 記憶部140は、各種情報を記憶する機能構成である。例えば、記憶部140は、MPDファイル、音声オブジェクト、メタデータ、音声ストリームデータ、または映像ストリームデータなどを記憶したり、サーバ装置100の各機能構成によって使用されるプログラムやパラメータなどを記憶したりする。なお、記憶部140が記憶する情報はこれらに限定されない。
 以上、サーバ装置100の機能構成例について説明した。なお、図61を用いて説明した上記の機能構成はあくまで一例であり、サーバ装置100の機能構成は係る例に限定されない。例えば、サーバ装置100は、図61に示す機能構成の全てを必ずしも備えなくてもよい。また、サーバ装置100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
 (3.3.クライアント装置200の機能構成例)
 上記では、サーバ装置100の機能構成例について説明した。続いて、図62を参照して、クライアント装置200の機能構成例について説明する。
 図62に示すように、クライアント装置200は、再生処理部210と、制御部220と、通信部230と、記憶部240と、を備える。
 再生処理部210は、音声ストリームデータ(第2のストリームデータ)に対応するメタデータに基づいて音声ストリームデータの再生処理を行う機能構成である。図62に示すように、再生処理部210は、音声セグメント解析部211と、音声オブジェクト復号部212と、メタデータ復号部213と、メタデータ選択部214と、出力ゲイン計算部215と、音声データ生成部216と、を備え、これらの機能構成を制御することによって音声ストリームデータの再生処理を実現する。
 音声セグメント解析部211は、音声セグメントを解析する機能構成である。音声セグメントには、上記のとおり、Initialization SegmentおよびMedia Segmentが存在するのでそれぞれについて説明する。
 Initialization
Segmentの解析処理について説明すると、音声セグメント解析部211は、Movie box(moov)配下のSample Description box(stsd)からheader()ブロックを解析することで、num_objects、num_metadata、およびrepresentation_indexのリストを読み出す。また、音声セグメント解析部211は、representation_indexとmetadata_indexのペアリングを行う。さらに、MPDファイルにてRepresentation要素がSegmentBase形式で記述されている場合、音声セグメント解析部211は、Segment Index box(sidx)からConnectionPointに関する値(タイミング情報)を読み出す。
 Media
Segmentの解析処理について説明すると、音声セグメント解析部211は、audio_frames()ブロックの中の1つのaudio_frame()ブロックを読み出して音声オブジェクト復号部212へ供給する処理を、音声オブジェクトの数(すなわち、num_objectsの値)だけ繰り返す。
 また、音声セグメント解析部211は、object_metadata()ブロックの中のobject_metadatum()ブロックを読み出してメタデータ復号部213に供給する処理を、メタデータの数(すなわち、num_metadataの値)だけ繰り返す。このとき、音声セグメント解析部211は、例えば、クライアント装置200のユーザによって選択されている映像レプリゼンテーションのインデックスに基づいてheader()ブロックにてrepresentation_indexを検索することで、これに対応するmetadata_indexを求め、そのmetadata_indexを有するobject_metadata()ブロックを選択的に読み出す。
 音声オブジェクト復号部212は、音声オブジェクトを復号する機能構成である。例えば、音声オブジェクト復号部212は、MPEG4-AAC方式で符号化された音声信号を復号してPCMデータを出力し、音声データ生成部216へ供給する処理を、音声オブジェクトの数(すなわち、num_objectsの値)だけ繰り返す。なお、音声オブジェクト復号部212の復号方式は、サーバ装置100の符号化方式に対応し、特に限定されるものではない。
 メタデータ復号部213は、メタデータを復号する機能構成である。より具体的には、
メタデータ復号部213は、object_metadatum()ブロックを解析して、位置情報(例えば、azimuth、elevation、radius、およびgain)を読み出す。
 このとき、is_rawがis_raw=1という関係を満たす場合、これらの値は差分値ではない(真の値(直接値)である)ため、メタデータ復号部213は、読み出したazimuth、elevation、radius、およびgainをそのまま出力ゲイン計算部215へ供給する。一方、is_rawがis_raw=0という関係を満たす場合、これらの値は差分値であるため、メタデータ復号部213は、読み出したazimuth、elevation、radius、およびgainを、前回読み出した値に合算することで得られた値を出力ゲイン計算部215へ供給する。
 メタデータ選択部214は、映像ストリームデータ(第1のストリームデータ)が切り替わるタイミングに、音声ストリームデータ(第2のストリームデータ)の再生に用いられるメタデータを、切り替わった後の映像ストリームデータに対応するメタデータに切り替える機能構成である。より具体的には、メタデータ選択部214は、再生が行われる時刻(再生時刻)がConnectionPoint以前であるか否かを確認し、再生時刻がConnectionPoint以前である場合には、再生に用いられるメタデータとして、切り替え前のメタデータを選択する。一方、再生時刻がConnectionPointよりも後である場合には、再生に用いられるメタデータとして、切り替え後のメタデータを選択する。メタデータ選択部214は、選択したメタデータ(位置情報など)を出力ゲイン計算部215に供給する。
 出力ゲイン計算部215は、メタデータ復号部213から供給されたメタデータ(位置情報など)に基づいて音声オブジェクトごとにスピーカ出力ゲインを算出する機能構成である。出力ゲイン計算部215は、算出したスピーカ出力ゲインに関する情報を音声データ生成部216へ供給する。
 音声データ生成部216は、各スピーカから出力される音声データを生成する機能構成である。より具体的には、音声データ生成部216は、音声オブジェクト復号部212から供給された音声オブジェクトごとのPCMデータに対して、出力ゲイン計算部215によって算出されたスピーカ出力ゲインを適用することで、各スピーカから出力される音声データを生成する。
 制御部220は、クライアント装置200が行う処理全般を統括的に制御する機能構成である。例えば、制御部220は、通信部230を介してサーバ装置100からMPDファイルを取得する。そして、制御部220は、MPDファイルを解析し、解析結果を再生処理部210に供給する。特に、MPDファイルのRepresentation要素がSegmentTemplate形式、またはSegmentList形式で記述される場合、制御部220は、ConnectionPointに関する値(タイミング情報)を取得し、再生処理部210に供給する。また、制御部220は、通信部230を介してサーバ装置100から音声ストリームデータ(第2のストリームデータ)、および映像ストリームデータ(第1のストリームデータ)を取得し、representation_indexなどを再生処理部210に供給する。
 さらに、制御部220は、ユーザによってマウスやキーボードなどの入力部(図示なし)を用いて行われる入力に基づいて音声ストリームデータおよび映像ストリームデータの切り替え指示を取得する。特に、映像ストリームデータが切り替えられるときに、制御部220はrepresentation_indexを取得し、再生処理部210に供給する。
 なお、制御部220の制御内容は特に限定されない。例えば、制御部220は、汎用コンピュータ、PC、タブレットPCなどにおいて一般的に行われる処理を制御してもよい。
 通信部230は、サーバ装置100との各種通信を行う機能構成である(受信部としても機能する)。例えば、通信部230は、ユーザ入力などに基づいてサーバ装置100へ要求情報を送信したり、当該要求情報への応答としてMPDファイル、音声ストリームデータ、および映像ストリームデータなどをサーバ装置100から受信したりする。なお、通信部230の通信内容はこれらに限定されない。
 記憶部240は、各種情報を記憶する機能構成である。例えば、記憶部240は、サーバ装置100から提供されたMPDファイル、音声ストリームデータ、および映像ストリームデータなどを記憶したり、クライアント装置200の各機能構成によって使用されるプログラムやパラメータなどを記憶したりする。なお、記憶部240が記憶する情報はこれらに限定されない。
 以上、クライアント装置200の機能構成例について説明した。なお、図62を用いて説明した上記の機能構成はあくまで一例であり、クライアント装置200の機能構成は係る例に限定されない。例えば、クライアント装置200は、図62に示す機能構成の全てを必ずしも備えなくてもよい。また、クライアント装置200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
 (3.4.クライアント装置200の処理フロー例)
 上記では、クライアント装置200の機能構成例について説明した。続いて、クライアント装置200の処理フロー例について説明する。
 (切り替わりが発生しない場合の処理フロー例)
 まず、図63を参照して、映像ストリームデータ、および音声ストリームデータの切り替わりが発生しない場合のクライアント装置200による音声ストリームデータの再生処理フローの具体例について説明する。
 ステップS1000では、クライアント装置200の制御部220が通信部230を介してサーバ装置100からMPDファイルを取得する。ステップS1004では、制御部220が、取得したMPDファイルを解析する。
 そして、クライアント装置200の各機能構成は、ステップS1008~ステップS1012の処理を音声セグメントごとに繰り返し行うことで一連の処理が終了する。より具体的には、クライアント装置200の各機能構成は、ステップS1008では、音声セグメントを取得する処理を行い、ステップS1012では、取得した音声セグメントを再生する処理を行うことで一連の処理が終了する。
 続いて、図63のステップS1008にて行われる、音声セグメントを取得する処理フローの具体例を、図64を参照して説明する。
 ステップS1100では、クライアント装置200の制御部220が映像レプリゼンテーションに対応するrepresentation_indexを取得する。ステップS1104では、制御部220が、取得したrepresentation_indexに基づいてobject_metadatum()ブロックに含まれるmetadata_indexを検索する。ステップS1108では、制御部220が、検索によって取得したmetadata_indexを再生処理部210に供給する。
 ステップS1112では、制御部220が、audio_frames()ブロックを伝送する音声セグメントを取得し再生処理部210に供給する。そして、metadata_indexがMPDファイルのSupplementalPropertyにリストされている場合(ステップS1116/Yes)、ステップS1120にて、metadata_indexが示すobject_metadata()ブロックを伝送する音声セグメントを制御部220が取得し、再生処理部210に供給することで、音声セグメントの取得処理が終了する。metadata_indexがMPDファイルのSupplementalPropertyにリストされていない場合(ステップS1116/No)には、ステップS1120に記載の音声セグメントの取得処理が行われることなく一連の処理が終了する。
 続いて、図63のステップS1012にて行われる、音声セグメントを再生する処理フローの具体例を、図65を参照して説明する。
 ステップS1200では、クライアント装置200の音声セグメント解析部211が制御部220によって取得された音声セグメントの種別を確認する。制御部220によって取得された音声セグメントの種別がInitialization Segmentである場合、ステップS1204にて、音声セグメント解析部211は、Movie box(moov)配下のSample
Description box(stsd)からheader()ブロックを読出し、解析することで、num_objects、num_metadata、およびrepresentation_indexのリストを読み出す。また、音声セグメント解析部211は、representation_indexとmetadata_indexのペアリングを行う。
 制御部220によって取得された音声セグメントの種別がMedia Segmentである場合、ステップS1208にて、音声セグメント解析部211は、Media SegmentにおけるMedia Data box(mdat)からデータの分離を行う。ステップS1212では、音声セグメント解析部211が分離されたデータの種別を確認する。分離されたデータの種別がaudio_frames()ブロックである場合、ステップS1216にて、音声セグメント解析部211がaudio_frames()ブロックの中のaudio_frame()ブロックを読み出して音声オブジェクト復号部212に供給することで、音声オブジェクト復号部212が音声オブジェクトを復号する。
 ステップS1212にて、分離されたデータの種別がobject_metadata()ブロックである場合、ステップS1220にて、音声セグメント解析部211がobject_metadata()ブロックの中のobject_metadatum()ブロックを読み出してメタデータ復号部213に供給することで、メタデータ復号部213がメタデータを復号する。ステップS1224では、出力ゲイン計算部215がメタデータ復号部213から供給された位置情報に基づいて音声オブジェクトごとにスピーカ出力ゲインを算出する。
 そして、ステップS1228では、音声データ生成部216が、音声オブジェクト復号部212から供給された音声オブジェクトごとのPCMデータに対して、出力ゲイン計算部215によって算出されたスピーカ出力ゲインを適用することで、各スピーカから出力される音声データを生成することで、音声セグメントの再生処理が終了する。
 (切り替わりが発生する場合の処理フロー例)
 続いて、映像ストリームデータ、および音声ストリームデータの切り替わりが発生する場合の処理フローについて説明する。映像ストリームデータ、および音声ストリームデータの切り替わりが発生する場合であっても、クライアント装置200による音声ストリームデータの再生処理フローは、図63に示した具体例と同様であり得るため説明を省略する。
 図63のステップS1008にて行われる、音声セグメントを取得する処理フローの具体例を、図66を参照して説明する。
 ステップS1300では、クライアント装置200の制御部220が映像レプリゼンテーションに対応するrepresentation_indexを取得する。ステップS1304では、制御部220が、取得したrepresentation_indexに基づいてmetadata_indexおよびConnectionPointを導出する。ステップS1308では、制御部220が、導出したmetadata_indexおよびConnectionPointを再生処理部210に供給する。
 ステップS1312では、制御部220が、audio_frames()ブロックを伝送する音声セグメントを取得し再生処理部210に供給する。そして、切り替え前のmetadata_indexがMPDファイルのSupplementalPropertyにリストされている場合(ステップS1316/Yes)、ステップS1320にて、切り替え前のmetadata_indexが示すobject_metadata()ブロックを伝送する音声セグメントを制御部220が取得し、再生処理部210に供給する。切り替え前のmetadata_indexがMPDファイルのSupplementalPropertyにリストされていない場合(ステップS1316/No)には、ステップS1320の処理は省略される。
 そして、切り替え後のmetadata_indexがMPDファイルのSupplementalPropertyにリストされている場合(ステップS1324/Yes)、ステップS1328にて、切り替え後のmetadata_indexが示すobject_metadata()ブロックを伝送する音声セグメントを制御部220が取得し、再生処理部210に供給することで、音声セグメントの取得処理が終了する。切り替え後のmetadata_indexがMPDファイルのSupplementalPropertyにリストされていない場合(ステップS1324/No)には、ステップS1328の処理は省略されて一連の処理が終了する。
 続いて、図63のステップS1012にて行われる、音声セグメントを再生する処理フローの具体例を、図68を参照して説明する。
 ステップS1400では、クライアント装置200の音声セグメント解析部211が制御部220によって取得された音声セグメントの種別を確認する。制御部220によって取得された音声セグメントの種別がInitialization Segmentである場合、ステップS1404にて、Movie
box(moov)配下のSample Description
box(stsd)からheader()ブロックを読出し、解析することで、num_objects、num_metadata、およびrepresentation_indexのリストを読み出す。また、音声セグメント解析部211は、representation_indexとmetadata_indexのペアリングを行う。
 制御部220によって取得された音声セグメントの種別がMedia Segmentである場合、ステップS1408にて、音声セグメント解析部211は、Media SegmentにおけるMedia Data box(mdat)からデータの分離を行う。ステップS1412では、音声セグメント解析部211が分離されたデータの種別を確認する。分離されたデータの種別がaudio_frames()ブロックである場合、ステップS1416にて、音声セグメント解析部211がaudio_frames()ブロックの中のaudio_frame()ブロックを読み出して音声オブジェクト復号部212に供給することで、音声オブジェクト復号部212が音声オブジェクトを復号する。
 ステップS1412にて、分離されたデータの種別がobject_metadata()ブロックである場合、ステップS1420にて、音声セグメント解析部211が切り替え前のobject_metadatum()ブロックを読み出してメタデータ復号部213に供給することで、メタデータ復号部213がメタデータを復号する。
 切り替え後のメタデータが同一の音声セグメント内に存在しない場合(ステップS1424/No)、ステップS1428にて、音声セグメント解析部211は、制御部220によって取得された、切り替え後のメタデータを含む音声セグメントの読み出しを行う。
 ステップS1432にて、音声セグメント解析部211は、Media SegmentにおけるMedia Data box(mdat)からデータの分離を行う。ステップS1436では、音声セグメント解析部211がobject_metadata()ブロックの中のobject_metadatum()ブロックを読み出してメタデータ復号部213に供給することで、メタデータ復号部213が切り替え後のメタデータを復号する。
 ステップS1440では、メタデータ選択部214が所定の方法でメタデータの選択を行う(当該方法の具体例については後述する)。ステップS1444では、出力ゲイン計算部215がメタデータ復号部213から供給された位置情報に基づいて音声オブジェクトごとにスピーカ出力ゲインを算出する。
 そして、ステップS1448では、音声データ生成部216が、音声オブジェクト復号部212から供給された音声オブジェクトごとのPCMデータに対して、出力ゲイン計算部215によって算出されたスピーカ出力ゲインを適用することで、各スピーカから出力される音声データを生成することで、音声セグメントの再生処理が終了する。
 続いて、図69のステップS1440にて行われる、メタデータの選択処理フローの具体例を、図70を参照して説明する。
 ステップS1500では、クライアント装置200のメタデータ選択部214が、再生が行われる時刻(再生時刻)がConnectionPoint以前であるか否かを確認する。再生時刻がConnectionPoint以前である場合(ステップS1500/Yes)、ステップS1504にて、メタデータ選択部214は、再生処理に用いられるメタデータとして、切り替え前のメタデータを選択することでメタデータの選択処理フローが終了する。再生時刻がConnectionPointよりも後である場合(ステップS1500/No)、ステップS1508にて、メタデータ選択部214は、再生処理に用いられるメタデータとして、切り替え後のメタデータを選択することでメタデータの選択処理フローが終了する。
 なお、上記で説明した図63~図70のフローチャートにおける各ステップは、必ずしも記載された順序に沿って時系列に処理される必要はない。すなわち、フローチャートにおける各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
 (3.5.各装置のハードウェア構成例)
 上記では、クライアント装置200の処理フロー例について説明した。続いて、図71を参照して、サーバ装置100、またはクライアント装置200のハードウェア構成例について説明する。
 図71は、サーバ装置100、またはクライアント装置200を具現する情報処理装置900のハードウェア構成例を示すブロック図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only
Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置(HDD)910と、ドライブ911と、通信装置912とを備える。
 CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス904により相互に接続されている。当該CPU901、ROM902およびRAM903の協働により、サーバ装置100の生成部110もしく制御部120、またはクライアント装置200の再生処理部210もしくは制御部220の各機能が実現される。
 ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
 入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置900を使用するユーザは、該入力装置908を操作することにより、各装置に対して各種のデータを入力したり処理動作を指示したりすることができる。
 出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置を含む。さらに、出力装置909は、スピーカおよびヘッドホンなどの音声出力装置を含む。出力装置909は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
 ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。当該ストレージ装置910によって、サーバ装置100の記憶部140、またはクライアント装置200の記憶部240の機能が実現される。
 ドライブ911は、記憶媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ911は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体913に記録されている情報を読み出して、RAM903に出力する。また、ドライブ911は、リムーバブル記憶媒体913に情報を書き込むこともできる。
 通信装置912は、例えば、通信網914に接続するための通信デバイス等で構成された通信インタフェースである。通信装置912によって、サーバ装置100の通信部130、またはクライアント装置200の通信部230の機能が実現される。
  <4.まとめ>
 以上で説明してきたように、本開示に係るサーバ装置100(送信装置)は、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを生成し、第2のストリームデータをクライアント装置200(受信装置)へ送信する。さらに、サーバ装置100は、第1のストリームデータの切り替わりのタイミング情報を第2のストリームデータの再生に用いられるMPDファイルなどに含める。
 これによって、クライアント装置200は、第2のストリームデータを受信し、当該データに対応するメタデータに基づいて第2のストリームデータの再生処理を行うところ、MPDファイルなどに含まれるタイミング情報に基づいて、第1のストリームデータが切り替わるタイミングに、第2のストリームデータ(厳密には、第2のストリームデータの再生に用いられるメタデータ)を切り替えることができる。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信する受信部を備える、
 受信装置。
(2)
 前記第2のストリームデータに対応するメタデータに基づいて前記第2のストリームデータの再生処理を行う再生処理部をさらに備える、
 前記(1)に記載の受信装置。
(3)
 前記再生処理部は、前記第1のストリームデータの切り替わりに応じて、前記第2のストリームデータの再生に用いられる前記メタデータを切り替える、
 前記(2)に記載の受信装置。
(4)
 前記再生処理部は、前記第1のストリームデータが切り替わるタイミングに、前記第2のストリームデータの再生に用いられる前記メタデータを切り替える、
 前記(3)に記載の受信装置。
(5)
 前記再生処理部は、前記第2のストリームデータの再生に用いられる前記メタデータを、切り替わった後の前記第1のストリームデータに対応する前記メタデータに切り替える、
 前記(3)または(4)に記載の受信装置。
(6)
 前記第1のストリームデータは映像ストリームデータであり、前記第2のストリームデータは音声ストリームデータである、
 前記(1)から(5)のいずれか1項に記載の受信装置。
(7)
 前記第2のストリームデータは、MPEG-DASH(Dynamic
Adaptive Streaming over Http)によって規定されたデータである、
 前記(1)から(6)のいずれか1項に記載の受信装置。
(8)
 ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信することを有する、
 コンピュータにより実行される受信方法。
(9)
 ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信すること、
 をコンピュータに実現させるためのプログラム。
(10)
 ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信する送信部を備える、
 送信装置。
(11)
 前記第2のストリームデータを生成する生成部をさらに備え、
 前記生成部は、前記第1のストリームデータの切り替わりのタイミングに関する情報を、前記第2のストリームデータの再生に用いられるメタデータに含める、
 前記(10)に記載の送信装置。
(12)
 前記生成部は、前記第2のストリームデータの再生処理に用いられる少なくとも1つのメタデータと、オブジェクトデータと、を同一セグメントに格納する、
 前記(11)に記載の送信装置。
(13)
 前記生成部は、前記第2のストリームデータの再生処理に用いられるメタデータと、オブジェクトデータと、を互いに異なるセグメントに格納する、
 前記(11)に記載の送信装置。
(14)
 前記第1のストリームデータは映像ストリームデータであり、前記第2のストリームデータは音声ストリームデータである、
 前記(10)から(13)のいずれか1項に記載の送信装置。
(15)
 前記第2のストリームデータは、MPEG-DASH(Dynamic
Adaptive Streaming over Http)によって規定されたデータである、
 前記(10)から(14)のいずれか1項に記載の送信装置。
(16)
 ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信することを有する、
 コンピュータにより実行される送信方法。
(17)
 ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信すること
 をコンピュータに実現させるためのプログラム。
 100  サーバ装置
 110  生成部
 111  データ取得部
 112  符号化処理部
 113  セグメントファイル生成部
 114  MPDファイル生成部
 120  制御部
 130  通信部
 140  記憶部
 200  クライアント装置
 210  再生処理部
 211  音声セグメント解析部
 212  音声オブジェクト復号部
 213  メタデータ復号部
 214  メタデータ選択部
 215  出力ゲイン計算部
 216  音声データ生成部
 220  制御部
 230  通信部
 240  記憶部
 300  インターネット

Claims (17)

  1.  ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信する受信部を備える、
     受信装置。
  2.  前記第2のストリームデータに対応するメタデータに基づいて前記第2のストリームデータの再生処理を行う再生処理部をさらに備える、
     請求項1に記載の受信装置。
  3.  前記再生処理部は、前記第1のストリームデータの切り替わりに応じて、前記第2のストリームデータの再生に用いられる前記メタデータを切り替える、
     請求項2に記載の受信装置。
  4.  前記再生処理部は、前記第1のストリームデータが切り替わるタイミングに、前記第2のストリームデータの再生に用いられる前記メタデータを切り替える、
     請求項3に記載の受信装置。
  5.  前記再生処理部は、前記第2のストリームデータの再生に用いられる前記メタデータを、切り替わった後の前記第1のストリームデータに対応する前記メタデータに切り替える、
     請求項3に記載の受信装置。
  6.  前記第1のストリームデータは映像ストリームデータであり、前記第2のストリームデータは音声ストリームデータである、
     請求項1に記載の受信装置。
  7.  前記第2のストリームデータは、MPEG-DASH(Dynamic
    Adaptive Streaming over Http)によって規定されたデータである、
     請求項1に記載の受信装置。
  8.  ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信することを有する、
     コンピュータにより実行される受信方法。
  9.  ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信すること、
     をコンピュータに実現させるためのプログラム。
  10.  ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信する送信部を備える、
     送信装置。
  11.  前記第2のストリームデータを生成する生成部をさらに備え、
     前記生成部は、前記第1のストリームデータの切り替わりのタイミングに関する情報を、前記第2のストリームデータの再生に用いられるメタデータに含める、
     請求項10に記載の送信装置。
  12.  前記生成部は、前記第2のストリームデータの再生処理に用いられる少なくとも1つのメタデータと、オブジェクトデータと、を同一セグメントに格納する、
     請求項11に記載の送信装置。
  13.  前記生成部は、前記第2のストリームデータの再生処理に用いられるメタデータと、オブジェクトデータと、を互いに異なるセグメントに格納する、
     請求項11に記載の送信装置。
  14.  前記第1のストリームデータは映像ストリームデータであり、前記第2のストリームデータは音声ストリームデータである、
     請求項10に記載の送信装置。
  15.  前記第2のストリームデータは、MPEG-DASH(Dynamic
    Adaptive Streaming over Http)によって規定されたデータである、
     請求項10に記載の送信装置。
  16.  ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信することを有する、
     コンピュータにより実行される送信方法。
  17.  ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信すること
     をコンピュータに実現させるためのプログラム。
PCT/JP2019/007451 2018-05-08 2019-02-27 受信装置、送信装置、受信方法、送信方法、およびプログラム WO2019216001A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/049,697 US20210243485A1 (en) 2018-05-08 2019-02-27 Receiving apparatus, transmission apparatus, receiving method, transmission method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018089795A JP2021129127A (ja) 2018-05-08 2018-05-08 受信装置、送信装置、受信方法、送信方法、およびプログラム
JP2018-089795 2018-05-08

Publications (1)

Publication Number Publication Date
WO2019216001A1 true WO2019216001A1 (ja) 2019-11-14

Family

ID=68467914

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/007451 WO2019216001A1 (ja) 2018-05-08 2019-02-27 受信装置、送信装置、受信方法、送信方法、およびプログラム

Country Status (3)

Country Link
US (1) US20210243485A1 (ja)
JP (1) JP2021129127A (ja)
WO (1) WO2019216001A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3095245A4 (en) * 2014-01-13 2017-11-08 LG Electronics Inc. Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks
US20230224557A1 (en) * 2022-01-12 2023-07-13 Tencent America LLC Auxiliary mpds for mpeg dash to support prerolls, midrolls and endrolls with stacking properties

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013535886A (ja) * 2010-07-15 2013-09-12 クゥアルコム・インコーポレイテッド ビデオ構成要素を多重化するためのデータを信号伝達すること
WO2017096023A1 (en) * 2015-12-01 2017-06-08 Qualcomm Incorporated Selection of coded next generation audio data for transport
JP2017108217A (ja) * 2015-12-07 2017-06-15 日本放送協会 受信装置、再生時刻制御方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9502073B2 (en) * 2010-03-08 2016-11-22 Magisto Ltd. System and method for semi-automatic video editing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013535886A (ja) * 2010-07-15 2013-09-12 クゥアルコム・インコーポレイテッド ビデオ構成要素を多重化するためのデータを信号伝達すること
WO2017096023A1 (en) * 2015-12-01 2017-06-08 Qualcomm Incorporated Selection of coded next generation audio data for transport
JP2017108217A (ja) * 2015-12-07 2017-06-15 日本放送協会 受信装置、再生時刻制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2021129127A (ja) 2021-09-02
US20210243485A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
KR100868475B1 (ko) 객체기반 오디오 서비스를 위한 다중객체 오디오 콘텐츠파일의 생성, 편집 및 재생 방법과, 오디오 프리셋 생성방법
CN106471574B (zh) 信息处理装置和信息处理方法
TW201924355A (zh) 用於高品質體驗的音頻信息的有效傳遞和使用的方法和裝置
CN102800320A (zh) 多对象音频信号的附加信息比特流产生方法和装置
WO2016056411A1 (ja) 符号化装置および方法、再生装置および方法、並びにプログラム
WO2021065277A1 (ja) 情報処理装置、再生処理装置及び情報処理方法
JPWO2016171002A1 (ja) 送信装置、送信方法、受信装置および受信方法
JP2023053131A (ja) 情報処理装置および情報処理方法
WO2019216001A1 (ja) 受信装置、送信装置、受信方法、送信方法、およびプログラム
JP6809463B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
KR20180122451A (ko) 대화형 오디오 메타데이터 취급
WO2021065605A1 (ja) 情報処理装置および情報処理方法
KR101114431B1 (ko) 실시간 스트리밍을 위한 오디오 생성장치, 오디오 재생장치 및 그 방법
KR101040086B1 (ko) 오디오 생성방법, 오디오 생성장치, 오디오 재생방법 및 오디오 재생장치
JP2019121037A (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

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

Ref document number: 19800525

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19800525

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP