WO2013008867A1 - 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 - Google Patents

送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 Download PDF

Info

Publication number
WO2013008867A1
WO2013008867A1 PCT/JP2012/067755 JP2012067755W WO2013008867A1 WO 2013008867 A1 WO2013008867 A1 WO 2013008867A1 JP 2012067755 W JP2012067755 W JP 2012067755W WO 2013008867 A1 WO2013008867 A1 WO 2013008867A1
Authority
WO
WIPO (PCT)
Prior art keywords
reproduction
data
information
content
period
Prior art date
Application number
PCT/JP2012/067755
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 CN201280034339.2A priority Critical patent/CN103650523B/zh
Priority to EP12811869.2A priority patent/EP2733936A4/en
Priority to US14/130,730 priority patent/US20140137168A1/en
Publication of WO2013008867A1 publication Critical patent/WO2013008867A1/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/23439Processing 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 for generating different versions
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26603Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for automatically generating descriptors from content, e.g. when it is not made available by its provider, using content analysis techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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

Definitions

  • the present invention relates to a system for transmitting content from a server to a client, wherein the server performs a plurality of encodings with different encoding parameters, and the client receives the content according to conditions such as a communication environment when receiving and reproducing the content.
  • the present invention relates to a technique for selecting an appropriate playback target from an encoding parameter and appropriately switching the playback target according to a change in the communication environment during playback of the content.
  • Patent Document 1 discloses a content streaming service system in which a request for content is transmitted from a client to a server by HTTP and the content received as a response to the request by the client is streamed.
  • Non-Patent Document 1 DASH (Dynamic Adaptive Streaming HTTP over HTTP) shown in Non-Patent Document 1, which is currently being standardized by MPEG (Moving Picture Experts Group).
  • MPEG Motion Picture Experts Group
  • description information metadata
  • MPD data Media Presentation Description
  • the MPD data describes content attributes, the playback order of resources that constitute the content, and the like.
  • the client receives the MPD data in advance or during the service of the streaming service, refers to the MPD data, and determines a resource requested from the server.
  • the reproduction period of the target content is divided into a plurality of reproduction periods, and information in the divided reproduction periods is described as a period. Also, a representation (Representation) indicating information on resources to be reproduced for each period is described. A plurality of representations can be described in one period. That is, the client selects one representation selected from a plurality of representations as a reproduction target in one reproduction period.
  • the client selects a bit rate representation according to the communication status at that time and the playback capability of the device itself.
  • the resource specified by the representation can be acquired and reproduced.
  • FIG. 17 is a diagram illustrating an example in which representations are dynamically switched during streaming playback using DASH
  • FIG. 17A is a timing chart illustrating an example of server and client processing.
  • FIG. 5B shows an example of MPD data used by the client.
  • MPD data is metadata described in XML.
  • MPD data uses an MPD element that describes information related to the entire streaming distribution as a root element, and the attributes of the MPD element include the streaming distribution form (type), the minimum buffer time (minBufferTime) required to start streaming playback, and the start of streaming distribution. The time (availabilityStartTime) is described. Further, the MPD element has a Period element (one in the illustrated example) indicating the above-described period as a child element.
  • the period has Representation elements (two in the illustrated example) indicating the above-described representation.
  • a plurality of representations included in one period indicate options to be reproduced in the period. In other words, a plurality of representations included in the same period can be selected and reproduced.
  • each representation has a reproduction target attribute corresponding to the representation.
  • the attributes that can be included in the replication can describe information related to the encoding conditions of the playback target such as codec, bit rate, frame rate, resolution, etc. (especially information related to content playback). Representation is selected with reference to the attribute of.
  • the client can reproduce the codec, bit rate, frame rate, Representation according to resolution etc. is selected.
  • the representation identifier (id), the MIME type (mimeType) indicating the data format, and the bit rate (in the figure, the network bandwidth required for streaming reproduction of the representation: bandwidth) is described.
  • segment data is an access unit of the constituent resource of the content to be reproduced specified by one URL (Uniform Resource Locator).
  • the SegmentInfoDefault element describes a specified value of a parameter that is applied to all segment data included in the period, and describes the reproduction period (duration) of each segment data.
  • a SegmentInfo element is described, and the URL of each segment data is described in the Url element that is a child element of the SegmentInfo element.
  • the client accesses the selected representation by accessing the URL.
  • the segment data to be configured can be acquired.
  • the reproduction period of the segment data acquired by each URL is 10 seconds by applying the reproduction period described in the SegmentInfoDefault element described above. is there. That is, the first URL described in the SegmentInfo element corresponds to segment data of 10 seconds (0 to 10 seconds) immediately after the start of streaming playback, and the second URL has a playback period of 10 to 20 seconds.
  • the third URL corresponds to the segment data from the playback period of 20 seconds to 30 seconds.
  • the client can select either the MPEG2-TS with a bandwidth of “1024000” or a representation consisting of an MPEG2-TS with a bandwidth of “102400”. Since the contents of these representations are the same video content, there is room in the bandwidth. If you want to obtain high-quality video, select the first representation, and if there is no room in the bandwidth, etc. Select the second representation. In the illustrated example, the case where MPEG2-TS is used as the segment data is illustrated, but MP4 can be used as the segment data in DASH.
  • (A) in the figure shows the flow of processing for reproducing content using this MPD data.
  • the client transmits an MPD data acquisition request to the server, and the server transmits MPD data to the client in response to this request.
  • the client that acquired the MPD data selects one representation from the representations described in the MPD data, and acquires the segment data using the URL included in the selected representation. Make a request.
  • the first representation is selected, and “Sample-div1.ts” is requested using the first URL.
  • the segment data acquisition request is made in accordance with the streaming distribution start time (availabilityStartTime). That is, in the illustrated example, an acquisition request for “Sample-div1.ts” is made at 12:00 on May 1, 2011.
  • the server that has received this request transmits the requested segment data to the client.
  • the segment data is divided into a plurality of IP packets and sequentially transmitted to the client.
  • the time required from the start of transmission to the completion of transmission varies depending on the traffic of the network connecting the client and the server.
  • the client when reception of “Sample-div1.ts” is completed, the client makes a subsequent acquisition request for “Sample-div2.ts”, and the server responds to this request with the data of “Sample-div2.ts”. To the client. Then, the client reproduces the received segment data after completion of reproduction of “Sample-div1.ts”.
  • the client determines that the segment data needs to be switched. Since the MPD data in (b) of the figure includes segment data having a smaller bandwidth required for the second representation, the client switches the reproduction target to the second representation. to decide.
  • DASH enables adaptive streaming in which representations are dynamically switched in units of segment data according to network conditions.
  • the segment data playback period which is a unit for switching the representation, needs to be sufficiently short (for example, 2 seconds).
  • segment data is divided into a plurality of subsegment data, and index information for referring to each subsegment data is described.
  • a method has been proposed.
  • the sub-segment data is not obtained by physically dividing the segment data, but a part of the segment data can be referred to as sub-segment data by the index information. That is, the index information can be said to be control information indicating the logical division position of the segment data.
  • FIG. 18 is an example of MPD data that realizes the streaming illustrated in FIG. 17 using the index information.
  • the segment data “sample1.ts” is data obtained by concatenating “sample1-div180.ts” from the segment data “sample1-div1.ts” in FIG. 17, and the segment data “sample2.ts” is the segment data in FIG.
  • Data “sample2-div1.ts” to “sample2-div180.ts” are concatenated, and a playback period of 30 minutes is set as indicated by the duration attribute of the SegmentInfoDefault element.
  • the Index element described for referring to the index information of each segment data is described in a pair with the SegmentInfo element. In this Index element, a URL for accessing index information is described.
  • index information that identifies a subsegment obtained by logically dividing segment data.
  • FIG. 19 is a diagram for explaining details of the paired segment data “sample1.ts” and index information “index1.mp4” and the segment data “sample2.ts” and index information “index2.mp4” illustrated in FIG. It is.
  • the segment data is composed of sub-segments 1 to N.
  • the subsegments 1 to N of the segment data “sample1.ts” correspond to the segment data “sample1-div1.ts” to “sample1-div180.ts” in FIG. 17, respectively, and the subsegments of the segment data “sample2.ts” 1 to N correspond to the segment data “sample2-div1.ts” to “sample2-div180.ts” in FIG.
  • the data sizes of the sub-segments 1, 2,... N in the segment data “sample1.ts” are S1_1, S1_2,.
  • the data sizes are S2_1, S2_2,..., S2_N, respectively, and each sub-segment playback period is 10 seconds.
  • index information “index1.mp4” and “index2.mp4” the data size, playback period, and head of each subsegment of the target segment data “Sample1.ts” and “Sample2.ts” are random.
  • the MP4 format is used as the data format of the index information regardless of the data format of the segment data, and the entry information management area for managing the entry information is provided at the top of the index information.
  • the data size Si of the entire index information and the number of entries included in the index information (the number of sub-segments included in the target segment data) N are recorded.
  • the client can reproduce the sub segments 1 to N in the target segment data for 0 to 10 seconds, 10 seconds to 20 seconds, respectively. ... 1790 seconds to 1800 seconds, and the byte offset of sub-segments 1 to N in the segment data can be obtained.
  • a byte range (byte position) as shown in sub-segment 2 of segment data “sample2.ts” or as shown in FIG. Sub-segment 3 and later can be acquired by the designated HTTP request, and representation switching in units of sub-segments can be realized.
  • Japanese Patent Publication Japanese Patent Laid-Open No. 2005-110244 (published on April 21, 2005)”
  • the above-described conventional technology has a problem in that it cannot be delivered with low delay when used for live streaming.
  • index information related to segment data being live-distributed is required to switch representations in units of sub-segments using index information.
  • the index information includes the data size of the entire index information, the number of sub-segments included in the target segment data, the data size of each sub-segment, etc., and the segment data encoding is completed. Until then, it could not be generated.
  • the present invention has been made in view of the above-described problems, and an object of the present invention is not to wait for completion of live encoding of one segment data in a system that performs live streaming with low delay, but to segment data and index data. It is an object of the present invention to provide a transmission device or the like that can start distribution and enables switching of representation (adaptive streaming).
  • the transmission device of the present invention encodes a plurality of contents corresponding to the same reproduction period, and transmits the content selected as a reproduction target among the encoded contents to the reproduction device.
  • the reference for generating reference information for switching the content to be reproduced in the partial reproduction period up to the reproduction position in the reproduction period It is characterized by comprising information generating means and reference information providing means for causing the reproduction apparatus to acquire reference information generated by the reference information generating means.
  • the transmission device control method of the present invention encodes a plurality of contents corresponding to the same reproduction period, and reproduces the content selected as a reproduction target among the encoded contents.
  • the method of controlling the transmitting apparatus for transmitting to the content, wherein when the encoding proceeds to a predetermined reproduction position for the plurality of contents, the content to be reproduced is switched in the partial reproduction period up to the reproduction position in the reproduction period.
  • the playback apparatus acquires the reference information.
  • the playback apparatus can switch the content to be played back during the partial playback period until the content encoding is completed. That is, according to the above configuration, the content to be reproduced can be switched in the middle of one reproduction period by the reproduction device during the period until the content encoding is completed.
  • the content being played back by the playback device is a portion where encoding has been completed, and such a portion can be switched by reference information. Therefore, according to the above configuration, the switching of the content at the reproduction position where the reproduction device is reproducing is ensured.
  • the transmission device and the playback device may be realized by a computer.
  • the transmission device and the playback device are operated by causing the computer to operate as each unit of the transmission device and the playback device.
  • a control program realized by a computer and a computer-readable recording medium on which the control program is recorded also fall within the scope of the present invention.
  • the transmission apparatus switches the content to be played back during the partial playback period up to the playback position in the playback period when encoding proceeds to a predetermined playback position for a plurality of contents.
  • Reference information generating means for generating reference information and reference information providing means for causing the playback apparatus to acquire the reference information generated by the reference information generating means.
  • control method of the transmission apparatus of the present invention is a method for switching content to be reproduced in a partial reproduction period up to the reproduction position in a reproduction period when encoding proceeds to a predetermined reproduction position for a plurality of contents.
  • a reference information generating step for generating reference information and a reference information providing step for causing the playback apparatus to acquire the reference information generated in the reference information generating step are configured.
  • the playback device can switch the content to be played back during the partial playback period until the content encoding is completed.
  • the content to be reproduced can be switched in the middle of one reproduction period by the reproduction apparatus during the period until the content encoding is completed.
  • FIG. 1 It is a block diagram which shows the principal part structure of the client and server which are contained in the content transmission / reception system concerning one Embodiment of this invention.
  • 2 shows an example of MPD data used in the content transmission / reception system. It is a figure which shows the relationship between index information and segment data. It is a flowchart which shows operation
  • 6 is a timing chart for explaining MPD data generation timing and MPD data distribution possible timing in the server. It is a timing chart for explaining the segment data generation timing and segment data distribution possible timing in the server. It is a timing chart for demonstrating the subsegment production
  • FIG. 1 It is a figure which shows an example of the index information which described the information which shows whether the entry to each entry of index information is effective. It is a figure which shows an example of the index information which described the information which shows a valid entry in the management area. It is a figure which shows an example of adaptive streaming reproduction
  • FIG. 1 shows an embodiment of the present invention, and is a block diagram showing a main configuration of a client (playback apparatus) 1 and a server (transmission apparatus) 2 included in a content transmission / reception system 3.
  • the client 1 includes a client communication unit 11, a description information analysis unit 12, a content reproduction unit 13, and an index information analysis unit 14 for the client 1 to communicate with an external device via a network. ing.
  • the client communication unit 11 transmits an acquisition request for segment data or sub-segments constituting the representation selected by the description information analysis unit 12 to the server 2, thereby acquiring segment data or sub-segments. Further, the index information requested by the index information analysis unit 14 is acquired. Here, it is assumed that the client communication unit 11 transmits a request by HTTP.
  • the description information analysis unit 12 acquires content description information including information indicating resources that can be requested from the server 2 for each content playback period (period), and selects a reproduction target representation according to the acquired description information. To do. Specifically, the description information analysis unit 12 receives MPD data as description information from the server 2 and determines a representation to be reproduced. In addition, when a content reproduction unit 13 is reproducing segment data of a representation, when a predetermined event that requires switching of the representation is detected, another representation corresponding to the detected event is performed. Decide to switch the playback target to the station.
  • the content playback unit 13 sequentially plays back the segment data or sub-segments received in response to the request from the client communication unit 11.
  • the reproduced content may be output from a display, a speaker, or the like included in the client 1, or may be output from a display, a speaker, or the like that is wired or wirelessly connected to the client 1.
  • the index information analysis unit 14 analyzes the index information received via the client communication unit 11 and notifies the description information analysis unit 12 of the analysis result.
  • the server 2 includes a server communication unit (reference information providing unit, description information providing unit) 21, a server storage unit 22, an encoder 23, an index information generation unit (reference information generation unit) 24, and a description information generation unit. (Description information generating means) 25 and a server control unit 26 are provided.
  • the server storage unit 22 stores segment data 27, index information 28, and description information 29 generated and distributed by the server 2.
  • the server communication unit 21 transmits description information 29 to the client 1 in response to a description information acquisition request from the client 1. Specifically, the description information 29 stored in the server storage unit 22 is read and transmitted to the client 1. As described above, MPD data is used here as the description information 29.
  • the server communication unit 21 reads the segment data 27 or the index information 28 stored in the server storage unit 22 in response to an acquisition request for the segment data 27 from the client 1 or an acquisition request for the index information 28. To the client 1.
  • the server control unit 26 instructs the encoder 23, the index information generation unit 24, and the description information generation unit 25 to generate information such as a generation timing of data generated and distributed by the server 2 and a distribution parameter necessary for data generation.
  • the encoder 23 encodes content that is shot by a camera or the like (not shown) and live-input from the outside according to the encoding condition (encoding parameter) for each representation instructed by the server control unit 26. Segment data 27 is generated and stored in the server storage unit 22. A plurality of representations in the same period are live-encoded in parallel, and one segment data 27 is generated for each representation.
  • the index information generation unit 24 generates, for each segment data 27, index information 28 for switching in units of sub-segments included in the segment data 27. Details of the index information 28 and its generation method will be described later.
  • the segment data 27 is data obtained by encoding content that can be provided to the client 1 according to a predetermined encoding condition and dividing the content in units of a predetermined reproduction period.
  • the index information 28 is information for enabling switching with sub-segment data.
  • the client 1 can identify the position of the sub-segment data by referring to the index information 28, and can switch the reproduction target in units of sub-segment data.
  • the description information 29 is information related to content that can be provided from the server 2 to the client 1 (here, segment data 27 stored in the server storage unit 22). Specifically, the description information 29 is MPD data in which a representation indicating a selection candidate is described for each period. Details of the MPD data will be described later.
  • At least one of the segment data 27, the index information 28, and the description information 29 may be recorded on an external recording medium that can be attached to and detached from the server 2, or stored in an external device accessible by the server 2. May be. That is, the segment data 27, the index information 28, and the description information 29 may be stored in a state that can be acquired by the server 2, and the storage destination is not particularly limited.
  • the content transmission / reception system may be configured by a plurality of servers 2, and the segment data 27, index information 28, and description information 29 may be provided from different servers 2.
  • FIG. 2 is an example of MPD data used in the content transmission / reception system 3. Except for the fact that the Type attribute of the MPD element indicating the distribution form of streaming is live streaming, it is the same as the MPD data of FIG.
  • FIG. 3 is a diagram showing an example of segment data and index information used in the content transmission / reception system 3 together with the MPD data shown in FIG.
  • the sub-segment playback period is the same as in FIG. 19 except that the playback period of the sub-segment is set to 2 seconds shorter than the example shown in FIG. .
  • FIG. 4 is a flowchart showing the operation of the index information generation unit 24 that generates index information for realizing adaptive streaming in the content transmission / reception system 3.
  • the index information generation unit 24 When live streaming is started in the content transmission / reception system 3, the index information generation unit 24 generates an entry information management area in the index information (S1). As described above, it is necessary to describe the data size Si and the number of entries (number of sub-segments) N of the entire index information in the entry information management area. Since the data size of the entry information management area and the data size of each entry have a fixed length, the entry information management area can be generated if the number of sub-segments included in the segment data is determined.
  • a segment data playback period of 30 minutes and a sub-segment playback period of 2 seconds are input from the server control unit 26 as delivery parameters at the start of live streaming.
  • the number of sub-segments is fixed to 1800, so that the entry information management area is immediately generated.
  • the index information generation unit 24 waits for the completion of sub-segment encoding in the encoder 23 to generate an entry (S2).
  • the index information generation unit 24 When the encoder 23 notifies the encoder 23 that the sub-segment has been encoded, the index information generation unit 24 generates a new entry for the sub-segment (reference information generation step) and adds it to the index information (S3). ).
  • the entry describes the data size of the sub-segment, the playback period, and the RAP flag.
  • the data size of the sub segment is set to the value notified from the encoder 23 when the sub segment encoding completion is notified. For the sub-segment reproduction period, 2 seconds given by the delivery parameter from the server control unit 26 is set.
  • the sub-segment is a representation switching point when realizing adaptive streaming, encoding is always performed as a random access point, so the RAP flag is always set to Yes.
  • FIG. 5 is a timing chart for explaining operations related to the MPD data generation timing and MPD data distribution possible timing in the server 2.
  • time t0 is the generation start time of MPD data.
  • the server control unit 26 instructs the description information generation unit 25 to generate description information with a predetermined distribution parameter.
  • the description information generation unit 25 receives the description information generation instruction, and describes the description information based on the specified distribution parameters (representation number, distribution start time, segment reproduction period, subsegment reproduction period, minimum buffer time, etc.). Generate.
  • the server control unit 26 controls distribution parameters so that a plurality of sub-segments are included in the minimum buffer time in order to realize adaptive streaming at the client. For example, in the case of the data structures of FIGS. 2 and 3, the minimum buffer time is set to 6 seconds, and the reproduction period of the sub-segment is set to 2 seconds.
  • the description information generation unit 25 immediately generates MPD data and stores the generated MPD data in the server storage unit 22.
  • the time t0 is also a time when the client 1 can acquire MPD data.
  • the server communication unit 21 receives an MPD acquisition request from the client 1 at time t0, the server storage unit 22 is searched for whether the requested MPD data exists. As shown in FIG. 5, at the time of executing the search, the generation of MPD data has already been completed, and the server communication unit 21 reads the MPD data from the server storage unit 22 and transmits it to the client 1.
  • ⁇ t time lag
  • the client 1 can acquire MPD data at any time t after t0.
  • FIG. 6 is a timing chart for explaining operations related to segment data generation timing and segment data distribution possible timing in the server 2.
  • time t1 is the start time of live encoding in the server 2.
  • segment data [n, m] in the drawing represents the mth data in the subsegment n in the segment data.
  • the segment data [n, m] is an encoding result of the input content [n, m] by the encoder 23.
  • the server control unit 26 instructs the encoder 23 to start encoding with a predetermined distribution parameter.
  • the encoder 23 starts encoding based on designated delivery parameters (codec, bit rate, image size, segment playback period, sub-segment playback period, etc.).
  • the distribution parameter is given to the encoder 23 for each representation.
  • Encoder 23 encodes segment data in parallel with a plurality of distribution parameters when content is input. In the example of FIG. 2, since there are two representations, the encoder 23 encodes two segment data in parallel. As illustrated, when content [1,1] is input to the encoder 23, it is live-encoded into immediate segment data [1,1] and stored in the server storage unit 22. Thereafter, each time the content [1, 2], content [1, 3], content [1, 4],... Are sequentially input to the encoder 23, the segment data [1, 2], the segment data [1, 3], segment data [1,4],... Are encoded and added to the segment data in the server storage unit 22.
  • the time t1 is also the segment data delivery start time (in the MPD data of FIG. 2, “1 May 2011 12:00” set in the availabilityStartTime attribute).
  • the server communication unit 21 that has received a segment data acquisition request from the client 1 after time t1 searches the server storage unit 22 for the requested segment data. As shown in FIG. 6, the server communication unit 21 starts transmission to the client 1 if even a part of the segment data exists (in the figure, segment data [1, 1] exists at the time of retrieval). Thereafter, each time the remaining segment data is added, it is sequentially transmitted to the client 1.
  • FIG. 7 is a timing chart for explaining operations related to the sub-segment generation timing and the sub-segment delivery possible timing in the server 2.
  • time tn is the time when generation of subsegment n is started.
  • content [n, 1] which is the head data of subsegment n
  • the content [n, 1] is received by encoder 23 at the head data (segment data [n, 1]) and is added to the segment data stored in the server storage unit 22.
  • time tn is the delivery start time of subsegment n.
  • the server communication unit 21 that has received a segment data partial acquisition request starting from the subsegment data n from the client 1 after time tn receives the segment data requested from the server storage unit 22. Search whether or not exists.
  • the segment data partial acquisition request is made by specifying the acquisition start byte position of the segment data as shown in the example of FIG. Therefore, if the requested segment data exists, the server communication unit 21 further checks whether there is data at the designated acquisition start byte position, and if there is data at the designated byte position, transmits to the client 1. Start.
  • FIG. 8 is a timing chart for explaining operations related to the index information generation timing and index information distribution possible timing in the server 2.
  • time t1 indicates the same time as time t1 described in FIG. 6, and is the time when generation of index information is started.
  • the server control unit 26 instructs the index information generation unit 24 to generate index information based on a predetermined distribution parameter.
  • the index information generation unit 24 starts generating index information based on the specified distribution parameters (segment playback period, sub-segment playback period).
  • the entry information management area is generated and stored in the server storage unit 22.
  • the index information is also generated in parallel according to the number of representations to be distributed.
  • time t1 is the index information distribution start time. That is, at time t1, the client 1 can receive both segment data and index information.
  • the server communication unit 21 that has received an index information acquisition request from the client 1 after time t1 searches the server storage unit 22 for the requested index information. As shown in FIG. 8, the server communication unit 21 starts transmission to the client 1 if even part of the index information exists (in the figure, only the entry information management area exists at the time of search). Thereafter, each time an entry is added to the index information, it is sequentially transmitted to the client 1.
  • FIG. 9 is a timing chart for explaining the operation related to the generation timing of each entry information of the index information and the distribution timing of each entry information in the server 2.
  • time tn indicates the same time as time tn described in FIG. 7 (subsegment n generation start time), and is the time when index information entry n-1 is generated.
  • the encoder 23 completes the generation of the subsegment n-1 and starts the generation of the subsegment n at time tn.
  • the encoder 23 that has completed the generation of the subsegment n-1 notifies the index information generation unit 24 of the completion of the generation of the subsegment n-1.
  • the index information generation unit 24 Upon receipt of the notification of the completion of the generation of the subsegment n-1, the index information generation unit 24 generates an index information entry n-1 and adds it to the index information stored in the server storage unit 22.
  • the time tn is also the delivery start time of the index information entry n-1.
  • the segment data starting from the sub-segment data n from the client 1 after the time tn is the same as the case of the segment data received from the client 1 at the time t where tn> t.
  • the server communication unit 21 that has received the partial acquisition request searches whether or not the requested index information exists in the server storage unit 22. If a part of the index information exists, the server communication unit 21 sequentially transmits data to the client 1.
  • entry n-2 is stored in the server storage unit 22 as index information, transmission up to entry n-2 is possible.
  • the entry n ⁇ 1 is generated and immediately added to the server storage unit 22.
  • the server communication unit 21 transmits the added entry n-1 to the immediate client 1.
  • the server 2 can distribute information from the subsegment 1 to subsegment n-1 of the segment data to the client 1 as index information at the distribution start time tn of the subsegment n in the segment data. is there.
  • FIG. 10 is a timing chart showing the operation of the client 1 when representation switching occurs during streaming playback.
  • the description information analysis unit 12 instructs the client communication unit 11 to acquire MPD data, and the client communication unit 11 Issues an MPD data acquisition request to the server 2.
  • the description information analysis unit 12 instructs the content reproduction unit 13 on the buffer time based on the minimum buffer time described in the MPD data.
  • the minimum buffer time is set to 6 seconds, so this value is indicated.
  • the segment data “sample1.ts” received from the server 2 is sequentially input to the content playback unit 13.
  • the content reproduction unit 13 performs buffering without starting reproduction until the reproduction period of the received segment data reaches the instructed buffer time of 6 seconds.
  • the content playback unit 13 starts playback when the playback period of the received segment data reaches a buffer time of 6 seconds.
  • live encoding of content is started at time t1, and at the start of playback of the content playback unit 13, a buffering delay of at least 6 seconds occurs regardless of network conditions.
  • the following description will be made assuming that reproduction is started with the minimum buffering delay (6 seconds).
  • the content playback unit 13 During playback of rep1 (sample1.ts), if the network status between the client and server is good and the throughput required for streaming playback is secured, the content playback unit 13 always corresponds to a buffer time of 6 seconds. The segment data to be buffered. On the other hand, when the throughput between the client and the server decreases and a delay in receiving segment data occurs, the amount of segment data buffered in the content reproduction unit 13 decreases. For example, when the buffered segment data reaches the playback period of 4 seconds, the content playback unit 13 detects the playback delay and notifies the description information analysis unit 12 of the delay.
  • the description information analysis unit 12 selects rep2, which has a smaller bandwidth required for streaming playback than rep1, and instructs the client communication unit 11 to stop acquiring rep1 (sample1.ts) and simultaneously describe the description information.
  • the analysis unit 12 instructs the client communication unit 11 to acquire the index information “index2.mp4” of rep2 in order to identify the sub-segment to be switched to.
  • the index information index2.mp4 acquired from the server 2 is analyzed by the index information analysis unit 14, and the data size and reproduction period regarding each subsegment are notified to the description information analysis unit 12 as an analysis result.
  • the acquired index information includes up to the entry n-1. That is, the description information analysis unit 12 is notified of the analysis results up to the subsegment n-1.
  • the content reproduction unit 13 reproduces the sub-segment n-3 that is delayed for 6 seconds from the distribution of the server 2. Further, since the segment data for 4 seconds is buffered in the content reproduction unit 13, the subsegment n-2 and a part of the subsegment n-1 are buffered.
  • the description information analysis unit 12 instructs the client communication unit 11 to stop acquiring the index information “index2.mp4” at the same time when receiving the notification of the analysis result of the index information related to the subsegment n ⁇ 1, and at the same time, rep2 Instructs partial acquisition of the segment data “sample2.ts” to be configured.
  • the acquisition range of the segment data is data after the sub-segment n-1, and the byte offset of the sub-segment n-1 is indicated by the analysis result of the index information.
  • sample2.ts When reception of “sample2.ts” after sub-segment n-1 is started, data in a reproduction period that is sequentially input to the content reproduction unit 13 and overlaps with rep1 (“sample1.ts”) that has already been buffered Only the decoding process is performed in parallel, and the display is discarded without being displayed. Thereafter, when playback of the buffered rep1 (“sample1.ts”) is completed, streaming playback is continued by switching to rep2 playback, and the user can comfortably view the content.
  • the data of the reproduction period that is duplicately received by rep1 and rep2 is configured to be decoded in parallel. Requires a plurality of decoders. Therefore, instead of decoding both re1 and rep2 data for the overlapping playback period, some buffered rep1 subsegment data n-1 is discarded, and rep2 is decoded and displayed for subsegment n-1 data. It may be configured to perform.
  • the content to be switched is not limited to such an example.
  • the content when the content is composed of multi-angle video, the content may be seamlessly switched to content of different angles.
  • the example which switches to a corresponding reproduction position was shown in said example, as long as it is the range which can be specified from index information, you may switch to other reproduction positions. That is, time shift reproduction within a range that can be specified from the index information may be performed.
  • the client since the client requests acquisition of the index information and segment data only when the presentation is switched, the number of HTTP requests and communication traffic generated during streaming can be reduced, and the network status between the client and the server can be reduced. If the presentation is good and the presentation is not switched, no HTTP request is required after the streaming reproduction is started.
  • a client that does not have an MPD data or index information analysis function that does not have an adaptive streaming function
  • a Web browser has the URL of the segment data. It is also possible to perform playback upon receiving this notification.
  • Distribution method distributed method in the above-described embodiment
  • a distribution method that makes it possible to distribute such data at the timing when generation (encoding) of sub-segments and / or entries is completed, and all sub-segments included in the segment data
  • FIG. 21 is a diagram illustrating an example of MPD data including a flag for identifying a distribution method.
  • the MPD data shown is different from the MPD data in FIG. 2 in that a partialAvailability attribute indicating a delivery method is added to the SegmentInfo element.
  • This partialAvailability attribute can take “true” or “false” as a value.
  • the partialAvailability attribute is described as an attribute of the SegmentInfo element, but is not limited thereto.
  • the server control unit 26 instructs the description information generation unit 25 to execute the predetermined distribution parameters (representation number, distribution start time, segment reproduction period, sub-segment reproduction). In addition to the period, minimum buffer time, etc.), the value of the partialAvailability attribute is specified to instruct generation of description information.
  • the description information generation unit 25 includes an MPD including a partialAvailability attribute that is information indicating whether or not the sub-segment (content in the partial playback period) can be transmitted before the encoding of the segment data (entire playback period) is completed. Generate data.
  • the MPD data is stored in the server storage unit 22 as description information 29.
  • the server communication unit 21 reads the MPD data generated as described above from the server storage unit 22 and transmits it to the client 1 in response to the MPD acquisition request from the client 1.
  • the method for causing the client 1 to acquire MPD data is not limited to this.
  • the client 1 that has received such MPD data can transmit an HTTP request according to the above-described two types of distribution methods when switching the representation by referring to the MPD data. Specifically, if the value of the partialAvailability attribute of the acquired MPD data is “true”, the client communication unit 11 of the client 1 makes all entries included in all sub-segments and / or index information included in the segment. Since the entry corresponding to the sub-segment for which generation (encoding) has been completed can be acquired even before the generation (encoding) is completed, an HTTP request specifying a byte range (byte position) as shown in FIG. By transmitting, it is possible to acquire data after the designated sub-segment in the representation after switching. Therefore, it is possible to realize distribution with low delay.
  • the client 1 can transmit an appropriate HTTP request according to the distribution method.
  • the description information generating unit 25 sets the MP that sets the value of the partialAvailability attribute to “true”.
  • the degree of design freedom can be increased by generating MPD data in which the value of the partialAvailability attribute is set to “false”.
  • the index information 28 has the data structure shown in FIG. 3 .
  • the index information having the data structure shown in FIG. 11 is also used in order to realize trick play such as double speed play. be able to.
  • the index information shown in FIG. 11 has a data structure in which hierarchical index information necessary for realizing trick reproduction is added to the latter half of the data structure shown in FIG.
  • the hierarchy index information also has entry information in sub-segment units, and has information for trick reproduction for each entry and the number of hierarchies.
  • a portion having the same data structure as the index information shown in FIG. 3 except for the hierarchical index information shown in FIG. 11 is referred to as normal index information in the following description and is distinguished.
  • the index information having a configuration in which the information included in each entry of the normal index information and the hierarchical index information is described in one entry for each subsegment. It is good also as a structure using.
  • a field “isValid” indicating whether or not a valid value is set for the entry may be provided in each entry of the normal index information and the hierarchical index information. Good.
  • the index information generating unit 24 describes the entry information in the entry corresponding to the encoded sub-segment, and that “isValid” indicates that the entry is a valid entry. While “Yes” is set, the entire index information is generated and immediately distributed for entries related to unencoded sub-segments by setting “isValid” to “No” to indicate invalid entries. It is good also as a possible structure. In this case, by referring to the value of “isValid”, it is possible to specify which of the predetermined number of entries is valid (including entry information).
  • the data structure shown in FIG. 11 is used as the data structure of normal index information and hierarchical index information, and index management information that describes the number of valid entries included in the index information is provided at the head of the entire index information.
  • the index information having the data structure shown in FIG. 16 may be generated every time the sub-segment encoding is completed.
  • the timing at which generation (encoding) of sub-segments and / or entries is completed.
  • the distribution method that makes it possible to distribute such data, and the generation (encoding) of all sub-segments included in segment data and / or all entries included in normal index information and all entries included in hierarchical index information It may be possible to select a delivery method that enables delivery of the data at the completion of the process, and to identify these delivery methods by MPD data.
  • FIG. 22 is a diagram illustrating another example of MPD data including a flag for identifying a distribution method.
  • the MPD data shown is different from the MPD data in FIG. 13 in that a partialAvailability attribute indicating a delivery method is added to the SegmentInfo element.
  • This partialAvailability attribute can take “true” or “false” as a value.
  • partialAvailability “false” indicates segment data and / or index information (including normal index information and hierarchical index information). Indicates that distribution is possible in units of. If the description of the partialAvailability attribute is omitted, it will be interpreted in the same way as in the case of "false”.
  • the partialAvailability attribute is described as an attribute of the SegmentInfo element, but is not limited thereto. For example, you may describe as an attribute of elements higher than SegmentInfo, such as Representation element and Period element. Further, for example, it may be described as an attribute of an element lower than SegmentInfo, such as an Index element, an ExtIndex element, or a Url element.
  • the server control unit 26 instructs the description information generation unit 25 to execute the predetermined distribution parameters (representation number, distribution start time, segment reproduction period, sub-segment reproduction). In addition to the period, minimum buffer time, etc.), the value of the partialAvailability attribute is specified to instruct generation of description information.
  • the description information generation unit 25 includes an MPD including a partialAvailability attribute that is information indicating whether or not the sub-segment (content in the partial playback period) can be transmitted before the encoding of the segment data (entire playback period) is completed. Generate data.
  • the MPD data is stored in the server storage unit 22 as description information 29.
  • the server communication unit 21 reads the MPD data generated as described above from the server storage unit 22 and transmits it to the client 1 in response to the MPD acquisition request from the client 1.
  • the method for causing the client 1 to acquire MPD data is not limited to this.
  • the client 1 that has received such MPD data can transmit an HTTP request according to the above-described two types of distribution methods when switching the representation by referring to the MPD data. Specifically, if the value of the partialAvailability attribute of the acquired MPD data is “true”, the client communication unit 11 of the client 1 is included in all sub-segments and / or normal / hierarchical index information included in the segment. Even before generation (encoding) of all entries is completed, an entry corresponding to the sub-segment for which generation (encoding) has been completed can be acquired, so the byte range (byte position) as shown in FIG. 20 is designated. By transmitting the HTTP request, it is possible to acquire data after the designated subsegment in the representation after switching.
  • the client 1 can transmit an appropriate HTTP request according to the distribution method.
  • the description information generating unit 25 when the HTTP request corresponding to the byte range is specified, the description information generating unit 25 generates MPD data in which the value of the partialAvailability attribute is set to “true” and specifies the byte range.
  • the degree of design freedom can be increased by generating MPD data in which the value of the partialAvailability attribute is set to “false”.
  • the transmission device of the present invention encodes a plurality of contents corresponding to the same reproduction period, and transmits the content selected as a reproduction target among the encoded contents to the reproduction device.
  • Reference information generating means for generating reference information for switching content to be played back during a partial playback period up to the playback position in the playback period when encoding has progressed to a predetermined playback position for the plurality of contents;
  • a reference information providing means for causing the reproduction apparatus to acquire the reference information generated by the reference information generating means.
  • the transmission apparatus control method of the present invention encodes a plurality of contents corresponding to the same reproduction period, and transmits the contents selected as a reproduction target among the encoded contents to the reproduction apparatus.
  • a method for controlling an apparatus wherein when a plurality of contents are encoded up to a predetermined reproduction position, reference information for switching content to be reproduced in a partial reproduction period up to the reproduction position in the reproduction period.
  • the playback apparatus acquires the reference information.
  • the playback apparatus can switch the content to be played back during the partial playback period until the content encoding is completed. That is, according to the above configuration, the content to be reproduced can be switched in the middle of one reproduction period by the reproduction device during the period until the content encoding is completed.
  • the content being played back by the playback device is a portion where encoding has been completed, and such a portion can be switched by reference information. Therefore, according to the above configuration, the switching of the content at the reproduction position where the reproduction device is reproducing is ensured.
  • the reference information generation means generates reference information indicating the data size of the partial reproduction period up to the reproduction position of the content when the encoding of the content proceeds to a predetermined reproduction position, and then follows Each time encoding progresses to a predetermined reproduction position, it is preferable to add information indicating the data size of the partial reproduction period between the reproduction position of the content and the predetermined reproduction position immediately before it to the reference information.
  • the reference information indicating the data size of the partial reproduction period of the content is generated, and then the encoding is performed to the subsequent predetermined reproduction position.
  • information indicating the data size of the partial playback period is added to the reference information.
  • the generated reference information is information indicating the data size of each encoded partial reproduction period.
  • the playback device may request Sz1 and subsequent contents when switching in the second partial playback period.
  • the reference information is information including a predetermined number of entries and a description area describing valid information indicating valid entries among the entries.
  • the playback apparatus that has acquired such reference information identifies which one of the entries included in the reference information is valid from the valid information, and uses the information included in the valid entry to determine the entry.
  • the content can be switched in the partial playback period corresponding to. That is, according to the above configuration, it is possible to cause the playback device to switch the content to be played back during one playback period using the reference information including the valid entry and the invalid entry.
  • the transmitting device includes description information generating means for generating description information including information indicating whether or not the content of the partial playback period can be transmitted before the entire encoding of the playback period is completed, and the description It is preferable to further include description information providing means for causing the reproduction apparatus to acquire description information generated by the information generating means.
  • the description information including information indicating whether or not the content in the partial playback period can be transmitted before the entire encoding of the playback period is completed is generated, and the generated description information is acquired by the playback device.
  • the client appropriately recognizes whether the distribution method can switch the content to be reproduced in the partial reproduction period or the distribution method that enables the content to be distributed when encoding of the entire reproduction period is completed. Can do.
  • the transmission device and the playback device may be realized by a computer.
  • the transmission device and the playback device are operated by causing the computer to operate as each unit of the transmission device and the playback device.
  • a control program realized by a computer and a computer-readable recording medium on which the control program is recorded also fall within the scope of the present invention.
  • each block of the client 1 and the server 2 may be realized by hardware by a logic circuit formed on an integrated circuit (IC chip), or by software using a CPU (Central Processing Unit). It may be realized.
  • IC chip integrated circuit
  • CPU Central Processing Unit
  • the client 1 and the server 2 include a CPU that executes instructions of a program that realizes each function, a ROM (Read Memory) that stores the program, a RAM (Random Access Memory) that expands the program, and the program And a storage device (recording medium) such as a memory for storing various data.
  • An object of the present invention is a recording medium in which program codes (execution format program, intermediate code program, source program) of control programs for the client 1 and the server 2 which are software for realizing the functions described above are recorded so as to be readable by a computer Can also be achieved by reading the program code recorded on the recording medium and executing it by the computer (or CPU or MPU).
  • Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, and disks including optical disks such as CD-ROM / MO / MD / DVD / CD-R.
  • IC cards including memory cards) / optical cards, semiconductor memories such as mask ROM / EPROM / EEPROM (registered trademark) / flash ROM, or PLD (Programmable logic device) and FPGA (Field Programmable Gate Logic circuits such as (Array) can be used.
  • the program code may be supplied via the communication network.
  • the communication network is not particularly limited as long as it can transmit the program code.
  • the Internet intranet, extranet, LAN, ISDN, VAN, CATV communication network, virtual private network (Virtual Private Network), telephone line network, mobile communication network, satellite communication network, etc. can be used.
  • the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
  • wired lines such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared rays such as IrDA and remote control, Bluetooth (registered trademark), IEEE 802.11 wireless, HDR ( It can also be used by radio such as High Data (Rate), NFC (Near Field Communication), DLNA (Digital Living Network Alliance), mobile phone network, satellite line, and terrestrial digital network.
  • the present invention can also be realized in the form of a computer data signal embedded in a carrier wave in which the program code is embodied by electronic transmission.
  • the present invention can be used for a content transmission / reception system via a network.
  • Index information analysis part 1 Client (playback device) 2 Server (Transmitter) DESCRIPTION OF SYMBOLS 11 Client communication part 12 Description information analysis part 13 Content reproduction part 14 Index information analysis part 21 Server communication part (reference information provision means, description information provision means) 22 Server storage unit 23 Encoder 24 Index information generation unit (reference information generation means) 25 Description information generation part (Description information generation means) 26 Server control unit 27 Segment data 28 Index information (reference information) 29 Description information

Landscapes

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

Abstract

 サーバ(2)は、複数のセグメントデータ(27)について予め定めたサブセグメントデータまでエンコードが進んだときに、該サブセグメントデータで再生対象のコンテンツを切り替えるためのインデックス情報(28)を生成するインデックス情報生成部(24)と、インデックス情報生成部(24)が生成したインデックス情報(28)をクライアント(1)に取得させるエンコーダ(23)とを備えている。

Description

送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
 本発明は、コンテンツをサーバからクライアントに送信するシステムにおいて、サーバは、異なる符号化パラメータで複数のエンコードを行い、クライアントは、当該コンテンツの受信・再生にあたり、通信環境等の条件に応じて、前記符号化パラメータから適切な再生対象を選択し、当該コンテンツの再生中、前記通信環境の変化に応じて、適切に再生対象を切り替えることを可能とする技術に関する。
 従来から、通信ネットワークを介してコンテンツの提供を行う技術が広く用いられている。例えば、下記の特許文献1には、クライアントからサーバにHTTPでコンテンツの要求を送信し、クライアントがこの要求に対する応答として受信したコンテンツをストリーミング再生するコンテンツストリーミングサービスシステムが開示されている。
 また、このようなシステムの1つとして、現在、MPEG(Moving Picture Experts Group)にて標準化作業が進められている、非特許文献1に示されるDASH(Dynamic Adaptive Streaming over HTTP)があげられる。DASHでは、MPDデータ(Media Presentation Description)と呼ばれる記述情報(メタデータ)をストリーミング制御に用いる。MPDデータには、コンテンツの属性、コンテンツを構成するリソースの再生順序などが記述される。クライアントは、ストリーミングサービスの事前あるいはサービス途中に、MPDデータを受信し、当該MPDデータを参照して、サーバに要求するリソースを決定する。
 このMPDデータは、対象コンテンツの再生期間を複数の再生期間に分割し、分割された再生期間における情報をピリオド(Period)として記述する。また、ピリオド毎に再生されるリソースの情報を示すリプリゼンテーション(Representation)を記述する。1つのピリオドには複数のリプリゼンテーションを記述することができる。つまり、クライアントは、1つの再生期間において、複数のリプリゼンテーションから選択した1つのリプリゼンテーションを再生対象とする。
 これにより、例えばビットレートの異なる複数のリプリゼンテーションをMPDデータに記述しておくことにより、クライアントはそのときの通信状況や、自装置の再生能力に応じたビットレートのリプリゼンテーションを選択し、そのリプリゼンテーションで特定されるリソースを取得して再生することができる。
 DASHを用いたストリーミング再生動作の詳細について、図17の例を用いて説明する。図17は、DASHを用いたストリーミング再生中に、動的にリプリゼンテーションの切り替えを行う例を示す図であり、同図の(a)はサーバとクライアントの処理の一例を示すタイミングチャートであり、同図の(b)はクライアントが使用するMPDデータの一例を示している。
 まず同図の(b)を用いて、MPDデータの詳細について説明する。MPDデータはXMLにて記述されるメタデータである。MPDデータは、ストリーミング配信全体に係る情報を記述するMPDエレメントをルート要素とし、MPDエレメントの属性として、ストリーミング配信形態(type)、ストリーミング再生開始に必要な最小バッファ時間(minBufferTime)、ストリーミング配信の開始時刻(availabilityStartTime)が記述されている。さらに、MPDエレメントは子要素として前述のピリオドを示すPeriodエレメントを(図示の例では1つ)有している。
 ピリオドは、前述のリプリゼンテーションを示すRepresentationエレメントを(図示の例では2つ)有している。1つのピリオド中に含まれる複数のリプリゼンテーションは、当該ピリオドにおける再生対象の選択肢を示す。言い換えれば、同一ピリオドに含まれる複数のリプリゼンテーションは、その何れかを選択して再生可能であることを示している。
 また、各リプリゼンテーションは、そのリプリゼンテーションに対応する再生対象の属性を有する。リプリゼーションが持つことのできる属性には、コーデック、ビットレート、フレームレート、解像度等の当該再生対象の符号化条件に関する情報(特にコンテンツの再生に関する情報)を記述することができ、クライアントは、これらの属性を参照して、リプリゼンテーションを選択する。
 例えば、ある映像コンテンツについて、コーデック、ビットレート、フレームレート、解像度等が異なる複数のリプリゼンテーションが記述されている場合には、クライアントは、自機の再生可能なコーデック、ビットレート、フレームレート、解像度等に応じたリプリゼンテーションを選択する。
 図示の例では、属性として、そのリプリゼンテーションの識別子(id)、データ形式を示すMIMEタイプ(mimeType)、及びビットレート(図では当該リプリゼンテーションをストリーミング再生するために必要なネットワークバンド幅:bandwidth)が記述されている。
 またピリオドには、SegmentInfoDefaultエレメントおよびSegmentInfoエレメントを用いてセグメントデータに関する情報が記述される。なお、セグメントデータとは、1つのURL(Uniform Resource Locator)で指定される再生対象コンテンツの構成リソースのアクセス単位である。図示の例では、SegmentInfoDefaultエレメントに、当該ピリオドに含まれる全てのセグメントデータに対して適用されるパラメータの規定値が記述されており、各セグメントデータの再生期間(duration)が記述されている。また、前述のリプレゼンテーション毎に、SegmentInfoエレメントが記述され、SegmentInfoエレメントの子要素であるUrlエレメントに各セグメントデータのURLが記述されており、クライアントは当該URLにアクセスすることで選択したリプレゼンテーションを構成するセグメントデータを取得することができる。
 図示の例では、各リプリゼンテーションのそれぞれに複数のURLが記述されており、各URLで取得されるセグメントデータの再生期間は、前述のSegmentInfoDefaultエレメントに記載された再生期間が適用され10秒である。つまり、SegmentInfoエレメント内に記述された一番目のURLは、ストリーミング再生開始直後からの10秒間(0秒から10秒)のセグメントデータに対応し、二番目のURLは再生期間が10秒から20秒までのセグメントデータに対応し、三番目のURLは再生期間20秒から30秒までのセグメントデータに対応している。
 ここで、図示のように、各リプリゼンテーションの属性には異なる値が記述されている。すなわち、一番目のリプリゼンテーションでは、MIMEタイプにMPEG2-TS(ISO/IEC 13818)を示す“video/mpeg2ts”が記述され、バンド幅が“1024000”と記述されているのに対し、二番目のリプリゼンテーションでは、MIMEタイプは一番目のリプリゼンテーションと同じ“video/mpeg2ts”が記述されているが、バンド幅が“102400”と記述されている。
 したがって、クライアントは、このMPDデータを用いた場合、バンド幅が“1024000”のMPEG2-TS、またはバンド幅が“102400”のMPEG2-TSからなるリプリゼンテーションの何れかを選択することができる。これらのリプリゼンテーションの内容は同一の映像コンテンツあるため、バンド幅に余裕があり、高品質な映像を取得したいときは一番目のリプリゼンテーションを選択し、バンド幅に余裕がないとき等は二番目のリプリゼンテーションを選択すればよい。なお、図示の例では、セグメントデータとして、MPEG2-TSを用いる場合について例示したが、DASHでは、セグメントデータとして、MP4を用いることも可能である。
 同図の(a)は、このMPDデータを用いてコンテンツを再生する処理の流れを示している。図示のように、まずクライアントは、サーバにMPDデータの取得要求を送信し、サーバはこの要求に応じてクライアントにMPDデータを送信する。
 次に、このMPDデータを取得したクライアントは、MPDデータに記述されているリプリゼンテーションの中から1つのリプリゼンテーションを選択し、選択したリプリゼンテーションに含まれるURLを用いてセグメントデータの取得要求を行う。この例では、一番目のリプリゼンテーションを選択し、その一番目のURLを用いて“Sample-div1.ts”を要求する。なお、MPDデータに記載されたとおり、ストリーミング配信の開始時刻(availabilityStartTime)に合わせて、当該セグメントデータの取得要求は行われる。つまり図示の例では、2011年5月1日12:00に、“Sample-div1.ts”の取得要求が行われる。
 この要求を受信したサーバは、要求されたセグメントデータをクライアントに送信する。
なお、セグメントデータは、複数のIPパケットに分割されて、順次クライアントに送信され、送信開始から送信完了に要する時間は、クライアントとサーバを結ぶネットワークのトラフィック等で変化する。
 クライアントは、セグメントデータの受信を開始し、MPDデータに記述されているストリーミング再生開始に必要な最小バッファ時間(minBufferTime)、図示の例では再生期間6秒に相当するセグメントデータを受信した時点で、再生を開始する。
 また、“Sample-div1.ts”の受信が完了した時点で、クライアントは後続の“Sample-div2.ts”の取得要求を行い、サーバはこの要求に応じて“Sample-div2.ts”のデータをクライアントに送信する。そして、クライアントはこの受信したセグメントデータを、“Sample-div1.ts”の再生完了後に再生する。
 ここで、トラフィックの増大等の要因により、クライアント、サーバ間のスループットが低下し、セグメントデータ受信が遅延したとする。遅延が長時間に渡ると、バッファリングによる再生中断が頻発するようになり、コンテンツの視聴が困難になるので、クライアントは、セグメントデータの切り替えが必要と判断する。同図の(b)のMPDデータには、二番目のリプリゼンテーションに必要なバンド幅のより小さいセグメントデータが含まれているので、クライアントは2番目のリプリゼンテーションに再生対象を切り替えることを判断する。
 クライアントは、再生期間0秒から20秒に相当する、“Sample1-div1.ts”、“Sample1-div2.ts”の取得要求を既に行っているため、“Sample1-div2.ts”の受信完了後、2番目のリプリゼンテーションの再生期間20秒から30秒のセグメントに相当する、“Sample2-div3.ts”を取得して“sample1-div2.ts”の再生完了後、再生する。以降、2番目のリプリゼンテーションを構成するセグメントデータを順次、受信し再生する。
 このようにDASHでは、ネットワーク状況に応じて、動的にセグメントデータ単位でリプリゼンテーションを切り替える、アダプティブストリーミングが可能である。
 しかしながら、上述のアダプティブストリーミングを実現するためには、時々刻々と変化するネットワークトラフィックの変化に対応するため、変化の大きいネットワークでは、短期間でリプリゼンテーションの切り替えが可能である必要がある。言い換えれば、リプリゼンテーションの切り替え単位である、セグメントデータの再生期間は、充分に短い(例えば2秒)必要がある。
 なお、セグメントデータの再生期間を短く設定することは、MPDデータのデータ量が増大する問題がある。また、コンテンツを再生する際、セグメント取得要求によって生じるネットワークトラフィックが増大する問題がある。
 このような問題を解決するために、1つのセグメントデータの再生期間を短く設定する代わりに、セグメントデータを複数のサブセグメントデータに分割し、各サブセグメントデータを参照するためのインデックス情報を記述する方法が提案されている。なお、サブセグメントデータは、セグメントデータを物理的に分割したものではなく、セグメントデータの一部分を、インデックス情報によってサブセグメントデータとして参照可能にしたものである。つまり、インデックス情報はセグメントデータの論理的な分割位置を示す制御情報と言える。
 これについて、図18から図20に基づいて説明する。図18は、インデックス情報を用いて、前述の図17で例示したストリーミングを実現するMPDデータの例である。図17の(b)のMPDデータと同様、2つのリプリゼンテーションが含まれているが、それぞれのリプリゼンテーションには、セグメントデータが1つだけ含まれている。セグメントデータ“sample1.ts”は、図17のセグメントデータ“sample1-div1.ts”から“sample1-div180.ts”が連結されたデータであり、セグメントデータ“sample2.ts”は、図17のセグメントデータ“sample2-div1.ts”から“sample2-div180.ts”が連結されたデータであり、SegmentInfoDefaultエレメントのduration属性が示す通り、再生期間30分が設定されている。また、各セグメントデータのインデックス情報を参照するために記述されたIndexエレメントがSegmentInfoエレメントと対になる形で記述されている。このIndexエレメントには、インデックス情報にアクセスするためのURLが記述されている。
 そして、Indexエレメントに記述されたURLにアクセスすることによって、セグメントデータを論理的に分割したサブセグメントを特定するインデックス情報を取得することができる。
 図19は、図18で例示した対になるセグメントデータ“sample1.ts”とインデックス情報“index1.mp4”、及びセグメントデータ“sample2.ts”とインデックス情報“index2.mp4”の詳細を説明する図である。図示のように、セグメントデータは、サブセグメント1~Nからなる。セグメントデータ“sample1.ts”のサブセグメント1~Nはそれぞれ、図17のセグメントデータ“sample1-div1.ts”~“sample1-div180.ts”に相当し、セグメントデータ“sample2.ts”のサブセグメント1~Nはそれぞれ、図17のセグメントデータ“sample2-div1.ts”~“sample2-div180.ts”に相当する。
 またセグメントデータ“sample1.ts”におけるサブセグメント1、2、…Nのデータサイズはそれぞれ、S1_1,S1_2,…,S1_Nであり、セグメントデータ“sample2.ts”におけるサブセグメント1、2、…Nのデータサイズはそれぞれ、S2_1,S2_2,…,S2_Nであり、各サブセグメント再生期間は10秒である。
 一方、インデックス情報“index1.mp4”、“index2.mp4”には、対象セグメントデータ“Sample1.ts”、“Sample2.ts”のサブセグメント毎のデータサイズ、再生期間、各サブセグメントの先頭がランダムアクセスポイントであるか否かを示すRAPフラグがエントリー情報(図中のエントリー1~N)としてそれぞれ記録されている。
 なお、DASHにおいて、インデックス情報のデータフォーマットは、セグメントデータのデータフォーマットによらず、MP4形式が用いられ、上述のエントリー情報を管理するエントリー情報管理領域が、インデックス情報先頭に設けられている。
 エントリー情報管理領域には、インデックス情報全体のデータサイズSiおよび、当該インデックス情報に含まれるエントリー数(対象セグメントデータに含まれるサブセグメント数)Nが記録されている。
 したがって、インデックス情報“index1.mp4”、“index2.mp4”を取得することで、クライアントは、対象セグメントデータ内のサブセグメント1~Nの再生期間がそれぞれ、0~10秒、10秒~20秒、…1790秒~1800秒であること、セグメントデータ内のサブセグメント1~Nのバイトオフセットを求めることが可能である。
 これにより、例えば図20の(a)に示すようなHTTPリクエストによって、セグメントデータ“sample2.ts”のサブセグメント2以降、あるいは同図の(b)に示すような、バイトレンジ(バイト位置)を指定したHTTPリクエストによって、サブセグメント3以降を取得することが可能であり、サブセグメント単位でのリプリゼンテーション切り替えを実現できる。
 上述のインデックス情報を用いてサブセグメント単位でのリプリゼンテーション切り替え(アダプティブストリーミング)を実現する従来技術においては、(1)MPDデータを用いたセグメント単位でリプリゼンテーション切り替え(アダプティブストリーミング)を実現する従来技術に比べ、MPDデータの記述が簡素化される、(2)リプリゼンテーション切り替え時にのみ、インデックス情報およびセグメントデータ(あるいはサブセグメント)の取得要求が発生し、ストリーミング中に生じるHTTPリクエストによる通信トラフィックを軽減することができる、(3)リプリゼンテーションの切り替えが発生しない場合には、インデックス情報を取得する必要がない等の利点がある。
日本国公開特許公報「特開2005-110244号公報(2005年4月21日公開)」
"Information technology-MPEG systems technologies - Part6:Dynamic Adaptive streaming over HTTP(DASH)"、[online]、2011年1月28日、[2011年6月3日検索]、ISO/IEC、インターネット<http://www.itscj.ipsj.or.jp/sc29/open/29view/29n11873t.doc>
 その一方で、上記従来技術には、ライブストリーミングに用いた場合に、低遅延での配信を実現できないという問題があった。
 具体的には、インデックス情報を利用したサブセグメント単位でのリプリゼンテーション切り替えには、ライブ配信中のセグメントデータに関するインデックス情報が必要となる。しかしながら、前述の通り、インデックス情報には、当該インデックス情報全体のデータサイズや、対象セグメントデータに含まれるサブセグメント数、各サブセグメントのデータサイズ等が含まれており、セグメントデータのエンコードが完了するまでは、生成することができなかった。
 したがって、セグメントデータのライブエンコード開始からセグメントデータのライブエンコード完了および当該セグメントデータに対するインデックス情報の生成が完了するまで、セグメントデータおよびインデックス情報の配信開始を遅らせる必要があった。なお、インデックス情報の生成にはほとんど時間を要さないが、セグメントデータのライブエンコード完了には、そのセグメントデータの再生と同じだけの時間を要するので、セグメントデータの再生期間に相当する時間、配信開始を遅らせる必要があったとも言える。
 本発明は、上記の問題点に鑑みてなされたものであり、その目的は、低遅延でのライブストリーミングを行うシステムにおいて、1つのセグメントデータのライブエンコード完了を待たず、セグメントデータおよびインデックスデータの配信を開始でき、リプリゼンテーションの切り替え(アダプティプストリーミング)を可能にする送信装置等を提供することにある。
 上記の課題を解決するために、本発明の送信装置は、同一の再生期間に対応する複数のコンテンツをエンコードし、エンコードしたコンテンツのうち再生対象として選択されたコンテンツを再生装置に送信する送信装置であって、上記複数のコンテンツについて予め定めた再生位置までエンコードが進んだときに、上記再生期間のうち上記再生位置までの部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成する参照情報生成手段と、上記参照情報生成手段が生成した参照情報を上記再生装置に取得させる参照情報提供手段とを備えていることを特徴としている。
 また、本発明の送信装置の制御方法は、上記の課題を解決するために、同一の再生期間に対応する複数のコンテンツをエンコードし、エンコードしたコンテンツのうち再生対象として選択されたコンテンツを再生装置に送信する送信装置の制御方法であって、上記複数のコンテンツについて予め定めた再生位置までエンコードが進んだときに、上記再生期間のうち上記再生位置までの部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成する参照情報生成ステップと、上記参照情報生成ステップで生成した参照情報を上記再生装置に取得させる参照情報提供ステップとを含むことを特徴としている。
 上記の構成によれば、複数のコンテンツについて部分再生期間のエンコードが進んだときに、部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成し、これを再生装置に取得させる。
 したがって、再生装置は、コンテンツのエンコードが完了するまでの期間に、部分再生期間で再生対象のコンテンツを切り替えることが可能になる。つまり、上記の構成によれば、コンテンツのエンコードが完了するまでの期間に、再生装置に1つの再生期間の途中で再生対象のコンテンツを切り替えさせることができる。
 また、再生装置が再生しているコンテンツはエンコードが完了している部分であり、このような部分については参照情報による切り替えが可能となる。よって、上記の構成によれば、再生装置が再生している再生位置におけるコンテンツの切り替えが保証される。
 なお、上記送信装置及び上記再生装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記送信装置及び上記再生装置の各手段として動作させることにより、上記送信装置及び上記再生装置をコンピュータにて実現させる制御プログラム、及びそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
 以上のように、本発明の送信装置は、複数のコンテンツについて予め定めた再生位置までエンコードが進んだときに、再生期間のうち上記再生位置までの部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成する参照情報生成手段と、上記参照情報生成手段が生成した参照情報を再生装置に取得させる参照情報提供手段とを備えている構成である。
 また、本発明の送信装置の制御方法は、複数のコンテンツについて予め定めた再生位置までエンコードが進んだときに、再生期間のうち上記再生位置までの部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成する参照情報生成ステップと、上記参照情報生成ステップで生成した参照情報を再生装置に取得させる参照情報提供ステップとを含む構成である。
 上記の構成によれば、再生装置は、コンテンツのエンコードが完了するまでの期間に、部分再生期間で再生対象のコンテンツを切り替えることが可能になる。つまり、上記の構成によれば、コンテンツのエンコードが完了するまでの期間に、再生装置に1つの再生期間の途中で再生対象のコンテンツを切り替えさせることができるという効果を奏する。
本発明の一実施形態にかかるコンテンツ送受信システムに含まれるクライアントとサーバの要部構成を示すブロック図である。 上記コンテンツ送受信システムで使用するMPDデータの一例を示している。 インデックス情報とセグメントデータの関係を示す図である。 サーバにおけるインデックス情報生成部の動作を示すフローチャートである。 サーバにおけるMPDデータ生成タイミングおよびMPDデータ配信可能タイミングを説明するためのタイミングチャートである。 サーバにおけるセグメントデータ生成タイミングおよびセグメントデータ配信可能タイミングを説明するためのタイミングチャートである。 サーバにおけるサブセグメント生成タイミングおよびサブセグメント配信可能タイミングを説明するためのタイミングチャートである。 サーバにおけるインデックス情報生成タイミングおよびインデックスデータ配信可能タイミングを説明するためのタイミングチャートである。 サーバにおけるインデックス情報の各エントリー情報の生成タイミングおよび各エントリー情報配信可能タイミングを説明するためのタイミングチャートである。 アダプティブストリーミング再生の一例を示すクライアントのタイミングチャートである。 通常インデックス情報、階層インデックス情報からなるインデックス情報の構造を示す図である。 通常インデックス情報、階層インデックス情報をそれぞれ個別のデータ構造に分離した例を示す図である。 通常インデックス情報、階層インデックス情報をそれぞれ独立に参照可能としたMPDデータの記述例である。 通常インデックス情報、階層インデックス情報の各エントリーを纏めて記録するデータ構造を持つインデックス情報の例を示す図である。 インデックス情報の各エントリーにのエントリーが有効であるか否かを示す情報を記述したインデックス情報の一例を示す図である。 有効なエントリーを示す情報を管理領域に記述したインデックス情報の一例を示す図である。 アダプティプストリーミング再生の一例を示す図であり、同図の(a)はサーバとクライアントの処理の一例を示すタイミングチャートであり、同図の(b)は当該ストリーミングを制御に用いるMPDデータの一例を示している。 インデックス情報を利用可能にするMPDデータの例を示す図である。 インデックス情報とセグメントデータの関係を示す図である。 インデックス情報を用いたサブセグメント単位でのセグメントデータの部分取得のためのHTTPリクエストの一例を示す図である。 配信方式を識別するためのフラグを含むMPDデータの一例を示す図である。 配信方式を識別するためのフラグを含むMPDデータの他の一例を示す図である。
 〔実施の形態1〕
 以下、本発明の一実施形態について、図1~図10に基づいて詳細に説明する。
 〔システムの概要〕
 まず、本実施形態のコンテンツ送受信システムの概要を図1に基づいて説明する。図1は、本発明の一実施形態を示すものであり、コンテンツ送受信システム3に含まれるクライアント(再生装置)1とサーバ(送信装置)2の要部構成を示すブロック図である。
 〔クライアントの構成〕
 図示のように、クライアント1は、クライアント1が外部の装置とネットワークを介して通信するためのクライアント通信部11と、記述情報解析部12と、コンテンツ再生部13と、インデックス情報解析部14を備えている。
 クライアント通信部11は、記述情報解析部12が選択したリプリゼンテーションを構成するセグメントデータあるいはサブセグメントの取得要求をサーバ2に送信し、これによりセグメントデータあるいはサブセグメントを取得する。また、インデックス情報解析部14の要求するインデックス情報を取得する。ここでは、クライアント通信部11が、HTTPで要求を送信するものとする。
 記述情報解析部12は、サーバ2に要求可能なリソースを示す情報をコンテンツの再生期間(ピリオド)毎に含むコンテンツの記述情報を取得し、取得した記述情報に従って、再生対象のリプリゼンテーションを選択する。具体的には、記述情報解析部12は、サーバ2から記述情報としてMPDデータを受信し、再生対象のリプリゼンテーションを決定する。また、コンテンツ再生部13があるリプリゼンテーションのセグメントデータを再生しているときに、リプリゼンテーションの切り替えが必要となる所定の事象を検出した場合に、検出した事象に応じた他のリプリゼンテーションへ再生対象を切り替える決定を行う。
 コンテンツ再生部13は、クライアント通信部11の要求によって受信されたセグメントデータあるいはサブセグメントを順に再生する。なお、再生したコンテンツは、クライアント1が備えるディスプレイやスピーカ等から出力してもよいし、クライアント1に有線または無線接続されているディスプレイやスピーカ等から出力してもよい。
 インデックス情報解析部14は、クライアント通信部11を介して受信したインデックス情報を解析し、解析結果を記述情報解析部12に通知する。
 〔サーバの構成〕
 一方、サーバ2は、サーバ通信部(参照情報提供手段、記述情報提供手段)21と、サーバ記憶部22と、エンコーダ23と、インデックス情報生成部(参照情報生成手段)24と、記述情報生成部(記述情報生成手段)25と、サーバ制御部26とを備える。
 また、サーバ記憶部22には、サーバ2にて生成、配信される、セグメントデータ27と、インデックス情報28と、記述情報29とが格納される。
 サーバ通信部21は、クライアント1からの記述情報の取得要求に応じて、記述情報29をクライアント1に送信する。具体的には、サーバ記憶部22に格納されている記述情報29を読み出して、クライアント1に送信する。上述のように、ここでは記述情報29としてMPDデータを用いる。
 またサーバ通信部21は、同様に、クライアント1からのセグメントデータ27の取得要求、あるいはインデックス情報28の取得要求に応じて、サーバ記憶部22に格納されたセグメントデータ27あるいはインデックス情報28を読み出して、クライアント1に送信する。
 サーバ制御部26は、サーバ2にて生成、配信されるデータの生成タイミングおよびデータ生成に必要な配信パラメータ等の情報を、エンコーダ23、インデックス情報生成部24、記述情報生成部25に指示する。
 エンコーダ23は、カメラ等(図示せず)で撮影され、外部からライブ入力されるコンテンツを、サーバ制御部26にて指示されたリプリゼンテーション毎のエンコード条件(符号化パラメータ)に従って、それぞれエンコードしてセグメントデータ27を生成し、サーバ記憶部22に格納する。なお、同一ピリオドにおける複数のリプリゼンテーションは、同時並行でライブエンコードが行われ、リプリゼンテーション毎に1つのセグメントデータ27が生成される。
 インデックス情報生成部24は、各セグメントデータ27について、そのセグメントデータ27に含まれるサブセグメント単位で切り替えを行うためのインデックス情報28を生成する。なお、インデックス情報28及びその生成方法の詳細については後述する。
 セグメントデータ27は、前述の通り、クライアント1に提供可能なコンテンツを所定のエンコード条件に従ってエンコードし、所定の再生期間単位で分割したデータである。
 インデックス情報28は、サブセグメントデータでの切り替えを可能にするための情報である。クライアント1は、インデックス情報28を参照することによってサブセグメントデータの位置を特定し、サブセグメントデータ単位で再生対象を切り替えることができる。
 記述情報29は、サーバ2からクライアント1に提供可能なコンテンツ(ここでは、サーバ記憶部22に格納されるセグメントデータ27)に関する情報である。具体的には、記述情報29は、選択候補を示すリプリゼンテーションがピリオド毎に記述されたMPDデータである。MPDデータの詳細は後述する。
 なお、セグメントデータ27、インデックス情報28、及び記述情報29の少なくとも1つは、サーバ2に着脱可能な外部の記録媒体に記録されていてもよいし、サーバ2がアクセス可能な外部の装置に記憶されていてもよい。すなわち、セグメントデータ27、インデックス情報28、及び記述情報29は、サーバ2が取得可能な状態で格納されていればよく、格納先は特に限定されない。
 また、コンテンツ送受信システムが複数のサーバ2によって構成され、セグメントデータ27、インデックス情報28、及び記述情報29のそれぞれが異なるサーバ2から提供される構成であっても構わない。
 〔システムで用いるデータの詳細〕
 図2はコンテンツ送受信システム3で用いるMPDデータの一例である。ストリーミングの配信形態を示すMPDエレメントのType属性がライブストリーミングである点を除けば前述の図18のMPDデータと同じであり、詳細な説明を省略する。
 図3は図2に示すMPDデータと共にコンテンツ送受信システム3で用いるセグメントデータ及びインデックス情報の一例を示す図である。ライブストリーミングでのアダプティブストリーミングを実現するために、サブセグメントの再生期間が前述の図19に示す例より短い2秒に設定されている点を除き図19と同じであり、詳細な説明を省略する。
 〔サーバ2で行われる処理の詳細〕
 次に、コンテンツ送受信システム3におけるサーバ2の動作について、詳細を図4~9に基づいて説明する。
 図4は、コンテンツ送受信システム3において、アダプティブストリーミングを実現するためのインデックス情報を生成するインデックス情報生成部24の動作を示すフローチャートである。
 コンテンツ送受信システム3においてライブストリーミングが開始されると、インデックス情報生成部24は、インデックス情報におけるエントリー情報管理領域を生成する(S1)。前述の通り、エントリー情報管理領域には、インデックス情報全体のデータサイズSiとエントリー数(サブセグメント数)Nを記述する必要がある。エントリー情報管理領域のデータサイズおよび各エントリーのデータサイズは固定長であるため、セグメントデータに含まれるサブセグメント数が確定していれば、エントリー情報管理領域を生成することができる。
 例えば、図2に示したMPDデータを用いたライブ配信を行う場合、ライブストリーミング開始時点で、セグメントデータの再生期間30分、サブセグメントの再生期間2秒が配信パラメータとして、サーバ制御部26から入力されることにより、サブセグメント数が1800に確定されるので、エントリー情報管理領域は即時生成される。
 次に、インデックス情報生成部24は、エントリー生成のため、エンコーダ23でのサブセグメントエンコード完了を待つ(S2)。
 エンコーダ23にてサブセグメントのエンコードが完了したことがエンコーダ23から通知されると、インデックス情報生成部24は当該サブセグメントに対する新規エントリーを生成(参照情報生成ステップ)し、インデックス情報に追加する(S3)。なお、エントリーには、サブセグメントのデータサイズ、再生期間、RAPフラグを記載する。サブセグメントのデータサイズは、サブセグメントのエンコード完了通知時にエンコーダ23から通知された値が設定される。サブセグメントの再生期間については、サーバ制御部26からの配信パラメータで与えられた2秒が設定される。なお本システムにおいてサブセグメントは、アダプティブストリーミングを実現する際の、リプリゼンテーションの切り替えポイントであるため、常にランダムアクセスポイントとしてエンコードが行われることから、RAPフラグは常にYesが設定される。
 生成したエントリー数がS1で求めたエントリー数N未満の場合(S4でYesの場合)、S2に戻って処理を継続し、生成したエントリー数がNに達した場合(S4でNoの場合、インデックス情報の生成を終了する。
 次に、サーバにおける各データの生成タイミングと、当該データの配信可能タイミングに係るサーバ動作を図5~9を用いて説明する。図5は、サーバ2におけるMPDデータ生成タイミングおよびMPDデータ配信可能タイミングに係る動作を説明するためのタイミングチャートである。
 図5において、時刻t0はMPDデータの生成開始時刻である。時刻t0になると、MPDデータの生成開始のため、サーバ制御部26が記述情報生成部25に対し、所定の配信パラメータにて記述情報生成を指示する。記述情報生成部25は、記述情報生成指示を受け、指定された配信パラメータ(リプリゼンテーション数、配信開始時刻、セグメントの再生期間、サブセグメントの再生期間、最小バッファ時間等)に基づき記述情報を生成する。なお、サーバ制御部26は、クライアントでのアダプティブストリーミングを実現するため、最小バッファ時間に複数のサブセグメントが含まれるよう配信パラメータを制御する。例えば、図2、図3のデータ構成の場合、最小バッファ時間は6秒に設定されており、サブセグメントの再生期間は2秒に設定されている。記述情報生成部25は、即時、MPDデータを生成し、サーバ記憶部22に生成したMPDデータを格納する。
 時刻t0は、クライアント1がMPDデータを取得可能となる時刻でもある。時刻t0に、サーバ通信部21がクライアント1からのMPD取得要求を受けると、サーバ記憶部22に、要求されたMPDデータが存在するか否かを検索する。図5に示す通り、当該検索実行時には、既にMPDデータの生成が完了しており、サーバ通信部21は、当該MPDデータをサーバ記憶部22から読み出し、クライアント1へ送信する。なお、図5において、MPD取得要求から応答までに、タイムラグ(Δt)が生じているが、このタイムラグΔtは、ユーザが遅延を体感できるほどに大きなものでなく、充分短い時間である。
 なお、サーバ2において、生成されたMPDデータはサーバ記憶部22に保存されているため、t0以降の任意の時刻tにおいてクライアント1はMPDデータの取得が可能である。
 図6は、サーバ2におけるセグメントデータ生成タイミングおよびセグメントデータ配信可能タイミングに係る動作を説明するためのタイミングチャートである。
 図6において、時刻t1は、サーバ2におけるライブエンコードの開始時刻である。また図中のセグメントデータ[n,m]は、セグメントデータ内のサブセグメントnにおけるm番目のデータを表している。なおセグメントデータ[n,m]は、入力コンテンツ[n,m]のエンコーダ23によるエンコード結果である。
 時刻t1になると、セグメントデータのライブエンコードのため、サーバ制御部26がエンコーダ23に対し、所定の配信パラメータにてエンコード開始を指示する。エンコーダ23は、指定された配信パラメータ(コーデック、ビットレート、画像サイズ、セグメントの再生期間、サブセグメントの再生期間等)に基づきエンコードを開始する。なお、配信パラメータはリプリゼンテーション毎にエンコーダ23に与えられる。
 エンコーダ23は、コンテンツの入力があると、複数の配信パラメータで並行してセグメントデータのエンコードを行う。図2の例では、2つのリプリゼンテーションが存在するため、エンコーダ23は、2つのセグメントデータについて並行してエンコードを行う。なお、図示の通り、コンテンツ[1,1]がエンコーダ23に入力されると、即時セグメントデータ[1,1]へライブエンコードされ、サーバ記憶部22に格納される。以降、エンコーダ23にコンテンツ[1,2]、コンテンツ[1,3]、コンテンツ[1,4]、…と順次コンテンツが入力される毎に、セグメントデータ[1,2]、セグメントデータ[1,3]、セグメントデータ[1,4]、…がエンコードされ、サーバ記憶部22のセグメントデータに追加される。
 また、時刻t1は、セグメントデータの配信開始時刻(図2のMPDデータにおいては、availabilityStartTime属性に設定された、“2011年5月1日12:00”)でもある。前述のMPDデータの場合と同様、時刻t1以降にクライアント1からセグメントデータの取得要求を受けたサーバ通信部21は、サーバ記憶部22に要求されたセグメントデータが存在するか否かを検索する。図6に示す通り、サーバ通信部21は、当該セグメントデータが一部でも存在していれば(図中では検索時にセグメントデータ[1,1]存在)、クライアント1に送信を開始する。以降、残りのセグメントデータが追加される毎に、順次クライアント1に送信する。
 図7は、サーバ2におけるサブセグメント生成タイミングおよびサブセグメント配信可能タイミングに係る動作を説明するためのタイミングチャートである。
 図7において、時刻tnは、サブセグメントnを生成開始される時刻である。図示のとおり、時刻tnにおいて、カメラからサブセグメントnの先頭データであるコンテンツ[n,1]が入力され、当該コンテンツ[n,1]は、エンコーダ23にてサブセグメントnの先頭データ(セグメントデータ[n,1])としてエンコードされ、サーバ記憶部22に格納されたセグメントデータに追記される。
 また、時刻tnは、サブセグメントnの配信開始時刻でもある。前述のセグメントデータの場合と同様に、時刻tn以降にクライアント1からサブセグメントデータnで開始されるセグメントデータの部分取得要求を受けたサーバ通信部21は、サーバ記憶部22に要求されたセグメントデータが存在するか否かを検索する。なお、セグメントデータの部分取得要求は、図20の例で示した通り、セグメントデータの取得開始バイト位置指定によって行われる。従ってサーバ通信部21は、要求されたセグメントデータが存在する場合、さらに指定された取得開始バイト位置のデータが存在するかを確認し、指定バイト位置のデータが存在すれば、クライアント1に送信を開始する。
 図8は、サーバ2におけるインデックス情報生成タイミングおよびインデックス情報配信可能タイミングに係る動作を説明するためのタイミングチャートである。
 図8において、時刻t1は図6で説明した時刻t1と同時刻を示しており、インデックス情報の生成が開始される時刻である。時刻t1になると、インデックス情報の生成のため、サーバ制御部26がインデックス情報生成部24に対し、所定の配信パラメータに基づきインデックス情報生成を指示する。インデックス情報生成部24は、前述の通り、指定された配信パラメータ(セグメントの再生期間、サブセグメントの再生期間)に基づきインデックス情報の生成を開始する。時刻t1においては、エントリー情報管理領域のみが生成され、サーバ記憶部22に格納される。なお、インデックス情報もまた、セグメントデータと同様、配信されるリプリゼンテーション数に応じて、複数のインデックス情報が並行して生成される。
 また時刻t1は、インデックス情報の配信開始時刻でもある。つまり時刻t1において、クライアント1は、セグメントデータ、インデックス情報共に受信可能となる。時刻t1以降にクライアント1からインデックス情報の取得要求を受けたサーバ通信部21は、サーバ記憶部22に要求されたインデックス情報が存在するか否かを検索する。図8に示す通り、サーバ通信部21は、当該インデックス情報が一部でも存在していれば(図中では検索時にエントリー情報管理領域のみ存在)、クライアント1に送信を開始する。以降、インデックス情報にエントリーが追加される毎に、順次クライアント1に送信する。
 図9は、サーバ2におけるインデックス情報の各エントリー情報の生成タイミングおよび各エントリー情報配信可能タイミングに係る動作を説明するためのタイミングチャートである。
 図9において、時刻tnは、図7で説明した時刻tnと同時刻(サブセグメントnの生成開始時刻)を示しており、インデックス情報のエントリーn-1が生成される時刻である。
 図示のとおり、エンコーダ23は、時刻tnにおいて、サブセグメントn-1の生成を完了し、サブセグメントnの生成を開始する。サブセグメントn-1の生成を完了したエンコーダ23は、インデックス情報生成部24にサブセグメントn-1の生成完了を通知する。
 サブセグメントn-1の生成完了の通知を受けたインデックス情報生成部24は、インデックス情報のエントリーn-1を生成し、サーバ記憶部22に格納されたインデックス情報に追加する。
 また時刻tnは、インデックス情報のエントリーn-1の配信開始時刻でもある。図示の通り、tn>tである時刻tにクライアント1からインデックス情報の取得要求を受けた前述のセグメントデータの場合と同様、時刻tn以降にクライアント1からサブセグメントデータnで開始されるセグメントデータの部分取得要求を受けたサーバ通信部21は、サーバ記憶部22に要求されたインデックス情報が存在するか否かを検索する。インデックス情報の一部が存在すれば、サーバ通信部21は、順次データをクライアント1に送信する。
 時刻tnの直前では、インデックス情報としてエントリーn-2までがサーバ記憶部22に格納されているため、エントリーn-2までの送信が可能である。前述のとおり、時刻tnにおいて、エントリーn-1が生成されサーバ記憶部22に即時追加される。サーバ通信部21は、追加されたエントリーn-1を即時クライアント1に送信する。
 以上説明した通り、サーバ2はセグメントデータにおけるサブセグメントnの配信開始時刻tnにおいて、インデックス情報として当該セグメントデータのサブセグメント1~サブセグメントn-1までの情報をクライアント1に配信することが可能である。
 〔クライアント1で行われる処理の詳細〕
 次に、インデックス情報を用いたアダプティブストリーミング再生の詳細について図10に基づいて説明する。
 図10は、ストリーミング再生中にリプリゼンテーション切り替えが発生した場合におけるクライアント1の動作を示すタイミングチャートである。
 まずクライアント1は、MPDデータの配信開始時刻t0(図5に示したt0と同時刻)において、記述情報解析部12が、クライアント通信部11に対しMPDデータの取得を指示し、クライアント通信部11が、サーバ2に対し、MPDデータの取得要求を発行する。
 記述情報解析部12は、クライアント通信部11を介して図2に示したMPDデータを受信する。ストリーミング開始時の再生対象として,id=“rep1”で示されるリプリゼンテーションを選択し、ストリーミング開始時刻(t0: 2011年5月1日12:00)になるまで待機する。
 ストリーミング開始時刻t1において、記述情報解析部12は、クライアント通信部11に対し、id=“rep1”で示されるリプリゼンテーションを構成するセグメントデータ“sample1.ts”の取得を指示し、クライアント通信部11が、サーバ2に対し、セグメントデータ“sample1.ts”の取得要求を発行する。
 また記述情報解析部12は、MPDデータに記載された最小バッファ時間に基づき、バッファ時間をコンテンツ再生部13に指示する。図2のMPDデータでは、最小バッファ時間が6秒に設定されているため、この値を指示する。
 サーバ2から受信したセグメントデータ“sample1.ts”は、順次コンテンツ再生部13に入力される。コンテンツ再生部13は、受信したセグメントデータの再生期間が指示されたバッファ時間6秒に達するまで、再生を開始せず、バッファリングを行う。
 コンテンツ再生部13は、受信したセグメントデータの再生期間がバッファ時間6秒に達した時点で、再生を開始する。なおサーバ2においては、時刻t1にコンテンツのライブエンコードが開始されており、コンテンツ再生部13の再生開始には、ネットワーク状況に関わらず、少なくとも6秒間のバッファリング遅延が発生する。ここでは、最小のバッファリング遅延(6秒)で再生が開始されたものとして以下説明する。
 rep1(sample1.ts)の再生中、クライアントとサーバ間のネットワーク状況が良好で、ストリーミング再生に必要なスループットが確保されている場合には、コンテンツ再生部13には、常にバッファ時間6秒に相当するセグメントデータがバッファされる。一方、クライアント、サーバ間のスループットが低下し、セグメントデータの受信の遅延が発生した場合、コンテンツ再生部13にバッファされたセグメントデータ量が減少する。例えば、バッファされたセグメントデータが再生期間4秒分になった時点で、コンテンツ再生部13は再生遅延を検出し、記述情報解析部12に通知する。
 遅延の通知を受けた記述情報解析部12は、rep1よりもストリーミング再生に必要なバンド幅の小さいrep2を選択し、クライアント通信部11にrep1(sample1.ts)の取得中止を指示すると同時に記述情報解析部12は、切り替え先のサブセグメントを特定するため、rep2のインデックス情報“index2.mp4”の取得をクライアント通信部11に指示する。
 サーバ2から取得されたインデックス情報index2.mp4は、インデックス情報解析部14にて解析され、各サブセグメントに関するデータサイズ、再生期間が解析結果として記述情報解析部12に通知される。なおインデックス情報取得要求を行った時刻tにおいて、サーバ2では、サブセグメントnのライブエンコード及びライブ配信中であるとき、取得されるインデックス情報にはエントリーn-1までが含まれる。つまり記述情報解析部12には、サブセグメントn-1までの解析結果が通知される。一方、時刻tにおいてコンテンツ再生部13では、サーバ2の配信から6秒遅延したサブセグメントn-3の再生が行われている。また、コンテンツ再生部13には、4秒分のセグメントデータがバッファされていることから、サブセグメントn-2およびサブセグメントn-1の一部がバッファされている。
 記述情報解析部12は、サブセグメントn-1に関するインデックス情報の解析結果の通知を受けた時点で、クライアント通信部11に対し、インデックス情報“index2.mp4”の取得中止を指示すると同時に、rep2を構成するセグメントデータ“sample2.ts”の部分取得を指示する。なおセグメントデータの取得範囲は、サブセグメントn-1以降のデータであり、インデックス情報の解析結果により、サブセグメントn-1のバイトオフセットが指示される。
 サブセグメントn-1以降の“sample2.ts”の受信が開始されると、コンテンツ再生部13に順次入力され、既にバッファ済みのrep1(“sample1.ts”)と重複する再生期間のデータについては、デコード処理のみが並行して行われ、表示は行わず破棄される。その後、バッファ済みのrep1(“sample1.ts”)の再生完了時点で、rep2の再生に切り替えストリーミング再生が継続され、ユーザは快適にコンテンツを視聴することができる。
 なお、上述の説明では、高品質なリプリゼンテーションの再生を優先するため、rep1、rep2で重複受信した再生期間のデータについて、並行してデコードする構成としたが、このような構成ではクライアント1には複数のデコーダが必要である。したがって、重複再生期間のデータをre1、rep2共にデコードする代わりに、一部のバッファ済みのrep1のサブセグメントデータn-1を破棄し、サブセグメントn-1のデータについては、rep2のデコードおよび表示を行う構成であっても構わない。
 なお、上記の例では、バンド幅の異なるコンテンツに切り替える例を示したが、切り替え対象となるコンテンツはこのような例に限られない。例えば、コンテンツがマルチアングルの映像で構成される場合、異なるアングルのコンテンツにシームレスに切り替えを行ってもよい。また、上記の例では、対応する再生位置に切り替える例を示したが、インデックス情報から特定できる範囲であれば、これ以外の再生位置に切り替えてもよい。つまり、インデックス情報から特定できる範囲におけるタイムシフト再生を行ってもよい。
 以上説明したように、本実施形態のコンテンツ配信システムにおいては、インデックス情報を用いたアダプティブストリーミングが可能であり、MPDデータの簡素化が実現できる。
 またクライアントは、リプリゼンテーションの切り替え発生時にのみ、インデックス情報及びセグメントデータの取得要求を行うので、ストリーミング中に生じるHTTPリクエスト回数および通信トラフィックを軽減することができ、クライアント、サーバ間のネットワーク状況が良好で、リプリゼンテーションの切り替えが発生しない場合には、ストリーミング再生開始以降、一切のHTTPリクエストが不要である。
 またコンテンツはリプリゼンテーション毎に単一のセグメントデータとして提供されるので、MPDデータやインデックス情報の解析機能を有しない(アダプティブストリーミング機能を有しない)クライアント、例えばWebブラウザが、当該セグメントデータのURLの通知を受け、再生を行うことも可能である。
 〔配信方式の選択〕
 また、サブセグメント及び/又はエントリーの生成(エンコード)が完了したタイミングでそれらのデータを配信可能とする配信方式(上述の実施形態での配信方式)と、セグメントデータに含まれる全てのサブセグメント及び/又はインデックス情報に含まれる全てのエントリーの生成(エンコード)が完了したタイミングでそれらのデータを配信可能とする配信方式とを選択可能にし、MPDデータによってこれらの配信方式を識別できるようにしてもよい。
 ここでは、複数の配信方式を識別する方法について、図21に基づいて説明する。図21は、配信方式を識別するためのフラグを含むMPDデータの一例を示す図である。
 図示のMPDデータは、SegmentInfoエレメントに、配信方式を示すpartialAvailability属性が付加されている点が、図2のMPDデータと異なる。このpartialAvailability属性は、値として"true"または"false"をとることができる。partialAvailability="true"は、サブセグメント及び/又はエントリーの単位で配信可能であることを示し、partialAvailability="false"は、セグメントデータ及び/又はインデックス情報の単位で配信可能であることを示す。partialAvailability属性の記述が省略された場合、"false"の場合と同様に解釈されるものとする。
 なお、図21の例では、partialAvailability属性は、SegmentInfoエレメントの属性として記述されているが、これに限られない。例えば、RepresentationエレメントやPeriodエレメント等、SegmentInfoより上位のエレメントの属性として記述してもよい。また、例えばIndexエレメントやUrlエレメント等、SegmentInfoより下位のエレメントの属性として記述してもよい。
 このようなMPDデータを生成する場合、サーバ制御部26は、記述情報生成部25に対して、上述の所定の配信パラメータ(リプリゼンテーション数、配信開始時刻、セグメントの再生期間、サブセグメントの再生期間、最小バッファ時間等)に加えて、partialAvailability属性の値を指定して、記述情報生成を指示する。
 これにより、記述情報生成部25は、サブセグメント(部分再生期間のコンテンツ)を、セグメントデータ(再生期間全体)のエンコードが完了する前に送信可能か否かを示す情報であるpartialAvailability属性を含むMPDデータを生成する。このMPDデータは、記述情報29としてサーバ記憶部22に格納される。
 そして、サーバ通信部21は、クライアント1からのMPD取得要求に応じて、上記のようにして生成されたMPDデータを、サーバ記憶部22から読み出してクライアント1に送信する。なお、MPDデータをクライアント1に取得させる方法はこれに限られない。
 このようなMPDデータを受信したクライアント1は、これを参照することによって、リプリゼンテーションの切り替えを行う場合、上記2種類の配信方式に応じたHTTPリクエストを送信することができる。具体的には、クライアント1のクライアント通信部11は、取得したMPDデータのpartialAvailability属性の値が"true"であれば、セグメントに含まれる全てのサブセグメント及び/又はインデックス情報に含まれる全てのエントリーの生成(エンコード)が完了する前であっても、生成(エンコード)が完了したサブセグメントに対応するエントリーを取得できるため、図20に示すようなバイトレンジ(バイト位置)を指定したHTTPリクエストを送信することによって、切り替え後のリプリゼンテーションにおける指定したサブセグメント以降のデータを取得することができる。したがって、低遅延での配信を実現することができる。一方、取得したMPDデータのpartialAvailability属性の値が"false"であれば、セグメントに含まれる全てのサブセグメント及び/又はインデックス情報に含まれる全てのエントリーの生成(エンコード)が完了するまでは、それらのデータを取得できない。そのため、該データの生成(エンコード)の完了後に、バイトレンジを指定したHTTPリクエストを送信する必要があることを認識することができる。
 このように、partialAvailability属性をMPDデータに記述することにより、クライアント1は配信方式に応じた適切なHTTPリクエストを送信することができる。
 また、サーバ2においても、バイトレンジを指定したHTTPリクエストに対応する場合には、記述情報生成部25は、partialAvailability属性の値に"true"を設定したMP
Dデータを生成し、バイトレンジを指定したHTTPリクエストに対応しない場合には、partialAvailability属性の値に"false"を設定したMPDデータを生成することで、設計の自由度を高めることができる。
 〔その他の構成例〕
 上述の説明では、インデックス情報28が図3に記載のデータ構造である場合について説明したが、DASHでは、倍速再生等のトリック再生を実現するために、図11に示すデータ構造のインデックス情報も用いることができる。図11に示したインデックス情報は、図3に記載のデータ構造の後半部分に、トリック再生を実現するために必要な階層インデックス情報を付与したデータ構造となっている。階層インデックス情報も、サブセグメント単位でエントリー情報を持ち、エントリー毎に、階層数および階層毎にトリック再生のための情報を有している。なお、図11に示した階層インデックス情報を除く、図3に記載のインデックス情報と同じデータ構造をした部分は、以降の説明では通常インデックス情報と呼び、区別する。
 図11に示すデータ構造を持つインデックス情報をコンテンツ送受信システム3で用いる場合、通常インデックス情報の配信完了は、前述の通り、ライブストリーミング完了時であるため、クライアント1が、ライブストリーミング中に階層インデックス情報を取得し、トリック再生を実現できない問題がある。この問題を解決するためには、図12に示すように、通常インデックス情報と、階層インデックス情報をそれぞれ独立のデータとして生成し、図13のMPDデータに示すように、IndexエレメントとExtIndexエレメントとを記述すればよい。そして、Indexエレメントに通常インデックス情報を参照するためのURLを記載し、ExtIndexエレメントに階層インデックス情報を参照するためのURLを記載することで、それぞれ独立に取得できる構成とすればよい。
 あるいは、図14のインデックス情報のデータ構造例に示すように、通常インデックス情報および、階層インデックス情報のそれぞれのエントリーに含まれる情報を、サブセグメント毎に1つのエントリーに纏めて記載する構成のインデックス情報を用いる構成としてもよい。
 あるいは、図15のインデックス情報のデータ構造例に示すように、通常インデックス情報および、階層インデックス情報の各エントリーに当該エントリーに有効値が設定されているか否かを示すフィールド“isValid”を設けてもよい。そして、サブセグメントのエンコードが完了する毎に、インデックス情報生成部24が、エンコード済みのサブセグメントに対応するエントリーにエントリー情報を記述すると共に、“isValid”にそのエントリーが有効なエントリーであることを示す“Yes”を設定する一方、未エンコードのサブセグメントに関するエントリーについては、“isValid”に“No”を設定して無効なエントリーであることを示すことで、インデックス情報全体を生成し、即時配信可能な構成としてもよい。この場合、“isValid”の値を参照することにより、予め定められた数のエントリーのうち、何れのエントリーが有効であるか(エントリー情報を含むか)を特定することができる。
 あるいは、通常インデックス情報、階層インデックス情報のデータ構造は図11に記載のデータ構造を用い、インデックス情報全体の先頭部分に、当該インデックス情報に含まれる有効エントリー数を記載したインデックス管理情報を備えた図16に示すデータ構造のインデックス情報を、サブセグメントのエンコード完了毎に生成する構成であってもかまわない。
 また、階層インデックス情報を用いない場合(図21の例)と同様に、サブセグメント及び/又はエントリー(通常インデックス情報のエントリーと階層インデックス情報のエントリーとを含む)の生成(エンコード)が完了したタイミングでそれらのデータを配信可能とする配信方式と、セグメントデータに含まれる全てのサブセグメント、及び/又は通常インデックス情報に含まれる全てのエントリーと階層インデックス情報に含まれる全てのエントリーの生成(エンコード)が完了したタイミングでそれらのデータを配信可能とする配信方式とを選択可能にし、MPDデータによってこれらの配信方式を識別できるようにしてもよい。
 これについて、図22に基づいて説明する。図22は、配信方式を識別するためのフラグを含むMPDデータの他の一例を示す図である。
 図示のMPDデータは、SegmentInfoエレメントに、配信方式を示すpartialAvailability属性が付加されている点が、図13のMPDデータと異なる。このpartialAvailability属性は、値として"true"または"false"をとることができる。partialAvailability="true"は、サブセグメント及び/又はエントリーの単位で配信可能であることを示し、partialAvailability="false"は、セグメントデータ、及び/又はインデックス情報(通常インデックス情報と階層インデックス情報を含む)の単位で配信可能であることを示す。partialAvailability属性の記述が省略された場合、"false"の場合と同様に解釈されるものとする。
 なお、図22の例では、partialAvailability属性は、SegmentInfoエレメントの属性として記述されているが、これに限られない。例えば、RepresentationエレメントやPeriodエレメント等、SegmentInfoより上位のエレメントの属性として記述してもよい。また、例えばIndexエレメント、ExtIndexエレメント、Urlエレメント等、SegmentInfoより下位のエレメントの属性として記述してもよい。
 このようなMPDデータを生成する場合、サーバ制御部26は、記述情報生成部25に対して、上述の所定の配信パラメータ(リプリゼンテーション数、配信開始時刻、セグメントの再生期間、サブセグメントの再生期間、最小バッファ時間等)に加えて、partialAvailability属性の値を指定して、記述情報生成を指示する。
 これにより、記述情報生成部25は、サブセグメント(部分再生期間のコンテンツ)を、セグメントデータ(再生期間全体)のエンコードが完了する前に送信可能か否かを示す情報であるpartialAvailability属性を含むMPDデータを生成する。このMPDデータは、記述情報29としてサーバ記憶部22に格納される。
 そして、サーバ通信部21は、クライアント1からのMPD取得要求に応じて、上記のようにして生成されたMPDデータを、サーバ記憶部22から読み出してクライアント1に送信する。なお、MPDデータをクライアント1に取得させる方法はこれに限られない。
 このようなMPDデータを受信したクライアント1は、これを参照することによって、リプリゼンテーションの切り替えを行う場合、上記2種類の配信方式に応じたHTTPリクエストを送信することができる。具体的には、クライアント1のクライアント通信部11は、取得したMPDデータのpartialAvailability属性の値が"true"であれば、セグメントに含まれる全てのサブセグメント及び/又は通常・階層インデックス情報に含まれる全てのエントリーの生成(エンコード)が完了する前であっても、生成(エンコード)が完了したサブセグメントに対応するエントリーを取得できるため、図20に示すようなバイトレンジ(バイト位置)を指定したHTTPリクエストを送信することによって、切り替え後のリプリゼンテーションにおける指定したサブセグメント以降のデータを取得することができる。したがって、低遅延での配信を実現することができる。一方、取得したMPDデータのpartialAvailability属性の値が"false"であれば、セグメントに含まれる全てのサブセグメント及び/又は通常・階層インデックス情報に含まれる全てのエントリーの生成(エンコード)が完了するまでは、それらのデータは取得できない。そのため、該データの生成(エンコード)の完了後に、バイトレンジを指定したHTTPリクエストを送信する必要があることを認識することができる。
 このように、partialAvailability属性をMPDデータに記述することにより、クライアント1は配信方式に応じた適切なHTTPリクエストを送信することができる。
 また、サーバ2においても、バイトレンジを指定したHTTPリクエストに対応する場合には、記述情報生成部25は、partialAvailability属性の値に"true"を設定したMPDデータを生成し、バイトレンジを指定したHTTPリクエストに対応しない場合には、partialAvailability属性の値に"false"を設定したMPDデータを生成することで、設計の自由度を高めることができる。
 〔付記事項〕
 本発明の送信装置は、上述したように、同一の再生期間に対応する複数のコンテンツをエンコードし、エンコードしたコンテンツのうち再生対象として選択されたコンテンツを再生装置に送信する送信装置であって、上記複数のコンテンツについて予め定めた再生位置までエンコードが進んだときに、上記再生期間のうち上記再生位置までの部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成する参照情報生成手段と、上記参照情報生成手段が生成した参照情報を上記再生装置に取得させる参照情報提供手段とを備えていることを特徴としている。
 また、本発明の送信装置の制御方法は、上述したように、同一の再生期間に対応する複数のコンテンツをエンコードし、エンコードしたコンテンツのうち再生対象として選択されたコンテンツを再生装置に送信する送信装置の制御方法であって、上記複数のコンテンツについて予め定めた再生位置までエンコードが進んだときに、上記再生期間のうち上記再生位置までの部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成する参照情報生成ステップと、上記参照情報生成ステップで生成した参照情報を上記再生装置に取得させる参照情報提供ステップとを含むことを特徴としている。
 上記の構成によれば、複数のコンテンツについて部分再生期間のエンコードが進んだときに、部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成し、これを再生装置に取得させる。
 したがって、再生装置は、コンテンツのエンコードが完了するまでの期間に、部分再生期間で再生対象のコンテンツを切り替えることが可能になる。つまり、上記の構成によれば、コンテンツのエンコードが完了するまでの期間に、再生装置に1つの再生期間の途中で再生対象のコンテンツを切り替えさせることができる。
 また、再生装置が再生しているコンテンツはエンコードが完了している部分であり、このような部分については参照情報による切り替えが可能となる。よって、上記の構成によれば、再生装置が再生している再生位置におけるコンテンツの切り替えが保証される。
 また、上記参照情報生成手段は、コンテンツのエンコードが予め定めた再生位置まで進んだときに、該コンテンツの該再生位置までの部分再生期間のデータサイズを示す参照情報を生成し、その後、後続する予め定めた再生位置までエンコードが進む毎に、該コンテンツの該再生位置とその直前の予め定めた再生位置の間の部分再生期間のデータサイズを示す情報を上記参照情報に追加することが好ましい。
 上記の構成によれば、コンテンツのエンコードが予め定めた再生位置まで進んだときに、コンテンツの部分再生期間のデータサイズを示す参照情報を生成し、その後、後続する予め定めた再生位置までエンコードが進む毎に、部分再生期間のデータサイズを示す情報を上記参照情報に追加する。
 上記の構成では、エンコードの進行に応じて部分再生期間のデータサイズを示す情報を追加するので、生成された参照情報はエンコード済みの各部分再生期間のデータサイズが示された情報となる。
 したがって、上記の構成によって生成された参照情報を用いることによって、部分再生期間で再生対象のコンテンツを切り替えることが可能になる。例えば、1~3番目までの部分再生期間のデータサイズがそれぞれSz1~Sz3である場合、2番目の部分再生期間で切り替えるときには、再生装置はSz1以降を指定してコンテンツの要求を行えばよい。
 また、上記参照情報は、予め定められた数のエントリーと、該エントリーのうち有効なエントリーを示す有効情報を記述する記述領域とを含む情報であり、上記参照情報生成手段は、コンテンツのエンコードが予め定めた再生位置まで進んだときに、該再生位置までの部分再生期間に対応するエントリーに、該部分再生期間で再生対象のコンテンツを切り替えるための情報を追加すると共に、該エントリーが有効であることを示す有効情報を上記記述領域に記述するものであってもよい。
 上記の構成によれば、コンテンツのエンコードが予め定めた再生位置まで進んだときに、該再生位置までの部分再生期間に対応するエントリーに、該部分再生期間で再生対象のコンテンツを切り替えるための情報を追加すると共に、該エントリーが有効であることを示す有効情報を記述領域に記述する。
 このような参照情報を取得した再生装置は、その参照情報に含まれているエントリーのうち、何れが有効であるかを有効情報から特定し、有効なエントリーに含まれる情報を用いて、そのエントリーに対応する部分再生期間でコンテンツを切り替えることができる。つまり、上記の構成によれば、有効なエントリーと有効ではないエントリーとを含む参照情報を用いて、再生装置に1つの再生期間の途中で再生対象のコンテンツを切り替えさせることができる。
 また、上記送信装置は、上記部分再生期間のコンテンツを、上記再生期間の全体のエンコードが完了する前に送信可能か否かを示す情報を含む記述情報を生成する記述情報生成手段と、上記記述情報生成手段が生成した記述情報を上記再生装置に取得させる記述情報提供手段とをさらに備えていることが好ましい。
 上記の構成によれば、部分再生期間のコンテンツを、再生期間の全体のエンコードが完了する前に送信可能か否かを示す情報を含む記述情報を生成し、生成した記述情報を再生装置に取得させる。
 したがって、部分再生期間で再生対象のコンテンツを切り替えることのできる配信方式であるか、再生期間全体のエンコードが完了した時点でコンテンツを配信可能にする配信方式であるかをクライアントに適切に認識させることができる。
 なお、上記送信装置及び上記再生装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記送信装置及び上記再生装置の各手段として動作させることにより、上記送信装置及び上記再生装置をコンピュータにて実現させる制御プログラム、及びそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
 〔ソフトウェアによる構成例〕
 最後に、クライアント1及びサーバ2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
 後者の場合、クライアント1及びサーバ2は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるクライアント1及びサーバ2の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、クライアント1及びサーバ2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
 上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM/MO/MD/DVD/CD-R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM(登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
 また、クライアント1及びサーバ2は通信ネットワークと接続可能に構成されているので、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(HighData Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
 本発明は、ネットワークを介したコンテンツの送受信システムに利用することができる。
 1 クライアント(再生装置)
 2 サーバ(送信装置)
11 クライアント通信部
12 記述情報解析部
13 コンテンツ再生部
14 インデックス情報解析部
21 サーバ通信部(参照情報提供手段、記述情報提供手段)
22 サーバ記憶部
23 エンコーダ
24 インデックス情報生成部(参照情報生成手段)
25 記述情報生成部(記述情報生成手段)
26 サーバ制御部
27 セグメントデータ
28 インデックス情報(参照情報)
29 記述情報

Claims (7)

  1.  同一の再生期間に対応する複数のコンテンツをエンコードし、エンコードしたコンテンツのうち再生対象として選択されたコンテンツを再生装置に送信する送信装置であって、
     上記複数のコンテンツについて予め定めた再生位置までエンコードが進んだときに、上記再生期間のうち上記再生位置までの部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成する参照情報生成手段と、
     上記参照情報生成手段が生成した参照情報を上記再生装置に取得させる参照情報提供手段とを備えていることを特徴とする送信装置。
  2.  上記参照情報生成手段は、コンテンツのエンコードが予め定めた再生位置まで進んだときに、該コンテンツの該再生位置までの部分再生期間のデータサイズを示す参照情報を生成し、その後、後続する予め定めた再生位置までエンコードが進む毎に、該コンテンツの該再生位置とその直前の予め定めた再生位置の間の部分再生期間のデータサイズを示す情報を上記参照情報に追加することを特徴とする請求項1に記載の送信装置。
  3.  上記参照情報は、予め定められた数のエントリーと、該エントリーのうち有効なエントリーを示す有効情報を記述する記述領域とを含む情報であり、
     上記参照情報生成手段は、コンテンツのエンコードが予め定めた再生位置まで進んだときに、該再生位置までの部分再生期間に対応するエントリーに、該部分再生期間で再生対象のコンテンツを切り替えるための情報を追加すると共に、該エントリーが有効であることを示す有効情報を上記記述領域に記述することを特徴とする請求項1に記載の送信装置。
  4.  上記部分再生期間のコンテンツを、上記再生期間の全体のエンコードが完了する前に送信可能か否かを示す情報を含む記述情報を生成する記述情報生成手段と、
     上記記述情報生成手段が生成した記述情報を上記再生装置に取得させる記述情報提供手段とをさらに備えていることを特徴とする請求項1から3の何れか1項に記載の送信装置。
  5.  同一の再生期間に対応する複数のコンテンツをエンコードし、エンコードしたコンテンツのうち再生対象として選択されたコンテンツを再生装置に送信する送信装置の制御方法であって、
     上記複数のコンテンツについて予め定めた再生位置までエンコードが進んだときに、上記再生期間のうち上記再生位置までの部分再生期間で再生対象のコンテンツを切り替えるための参照情報を生成する参照情報生成ステップと、
     上記参照情報生成ステップで生成した参照情報を上記再生装置に取得させる参照情報提供ステップとを含むことを特徴とする送信装置の制御方法。
  6.  請求項1から4の何れか1項に記載の送信装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
  7.  請求項6に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
PCT/JP2012/067755 2011-07-12 2012-07-11 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 WO2013008867A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201280034339.2A CN103650523B (zh) 2011-07-12 2012-07-11 发送装置以及发送装置的控制方法
EP12811869.2A EP2733936A4 (en) 2011-07-12 2012-07-11 TRANSMISSION DEVICE, METHOD FOR CONTROLLING THE TRANSMISSION DEVICE, CONTROL PROGRAM AND RECORDING MEDIUM
US14/130,730 US20140137168A1 (en) 2011-07-12 2012-07-11 Transmitting apparatus, control method for transmitting apparatus, control program, and recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011154350 2011-07-12
JP2011-154350 2011-07-12
JP2012099296A JP2013038766A (ja) 2011-07-12 2012-04-24 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
JP2012-099296 2012-04-24

Publications (1)

Publication Number Publication Date
WO2013008867A1 true WO2013008867A1 (ja) 2013-01-17

Family

ID=47506146

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/067755 WO2013008867A1 (ja) 2011-07-12 2012-07-11 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体

Country Status (5)

Country Link
US (1) US20140137168A1 (ja)
EP (1) EP2733936A4 (ja)
JP (1) JP2013038766A (ja)
CN (2) CN109194980A (ja)
WO (1) WO2013008867A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112187A1 (ja) * 2013-01-18 2014-07-24 ソニー株式会社 コンテンツサーバ、コンテンツ配信方法、コンテンツ配信システム、クライアント装置、およびコンテンツ取得方法
WO2014171473A1 (ja) * 2013-04-19 2014-10-23 ソニー株式会社 サーバ装置、クライアント装置、コンテンツ配信方法およびコンピュータプログラム
WO2014196393A1 (ja) * 2013-06-06 2014-12-11 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
JP2015056879A (ja) * 2013-09-13 2015-03-23 富士通株式会社 コンテンツ配信装置、コンテンツ配信方法およびコンテンツ配信プログラム
US9426543B1 (en) * 2015-12-18 2016-08-23 Vuclip (Singapore) Pte. Ltd. Server-based video stitching
JPWO2014112186A1 (ja) * 2013-01-18 2017-01-19 ソニー株式会社 コンテンツサーバおよびコンテンツ配信方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120034550A (ko) 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9467493B2 (en) 2010-09-06 2016-10-11 Electronics And Telecommunication Research Institute Apparatus and method for providing streaming content
US9986009B2 (en) 2010-10-06 2018-05-29 Electronics And Telecommunications Research Institute Apparatus and method for providing streaming content
US9357275B2 (en) * 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
JP6097840B2 (ja) 2012-10-18 2017-03-15 ヴィド スケール インコーポレイテッド 移動マルチメディアストリーミングに対する復号複雑度
US20140156865A1 (en) * 2012-11-30 2014-06-05 Futurewei Technologies, Inc. Generic Substitution Parameters in DASH
US9647818B2 (en) 2013-01-03 2017-05-09 Intel IP Corporation Apparatus and method for single-tone device discovery in wireless communication networks
WO2014158264A1 (en) * 2013-03-29 2014-10-02 Intel IP Corporation Quality-aware rate adaptation techniques for dash streaming
JP2014239278A (ja) * 2013-06-06 2014-12-18 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、およびコンテンツ供給システム
JP6571314B2 (ja) * 2013-06-18 2019-09-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法
JP6173085B2 (ja) * 2013-07-18 2017-08-02 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
JP6257197B2 (ja) * 2013-07-18 2018-01-10 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
EP2849437B1 (en) * 2013-09-11 2015-11-18 Axis AB Method and apparatus for selecting motion videos
WO2015064383A1 (ja) * 2013-10-30 2015-05-07 ソニー株式会社 送信装置、送信方法、受信装置、及び、受信方法
JP6289076B2 (ja) * 2013-12-18 2018-03-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US9787751B2 (en) 2014-08-06 2017-10-10 At&T Intellectual Property I, L.P. Method and apparatus for delivering media content utilizing segment and packaging information
US9398330B2 (en) * 2014-08-22 2016-07-19 Sony Corporation Information processing device, information recording medium, information processing method, and program
CN104301743B (zh) * 2014-09-11 2018-02-23 华为技术有限公司 传输视频的方法、网关设备和视频传输系统
JP6258168B2 (ja) * 2014-09-12 2018-01-10 株式会社東芝 配信装置、再生装置および配信システム
JP2016123097A (ja) * 2014-12-24 2016-07-07 沖電気工業株式会社 配信サーバ、配信方法、配信プログラム、及び配信システム
US20170054780A1 (en) * 2015-03-24 2017-02-23 ART19, Inc. Real-time file generation and delivery
US20180069909A1 (en) * 2016-09-08 2018-03-08 Sonic Ip, Inc. Systems and Methods for Adaptive Buffering for Digital Video Streaming
CN109787983A (zh) 2019-01-24 2019-05-21 北京百度网讯科技有限公司 直播流切片方法、装置和系统
GB2603751A (en) * 2021-01-28 2022-08-17 Openwave Mobility Inc A Method for Determining a Play Duration Estimate of an Adaptive Bit Rate Media Presentation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000228669A (ja) * 1999-02-08 2000-08-15 Hitachi Ltd ストリーム配送システムにおけるストリームデータ配送方法
JP2005110244A (ja) 2003-09-27 2005-04-21 Lg Electronics Inc マルチメディアストリーミングサービスシステム及びその方法
WO2006003814A1 (ja) * 2004-07-01 2006-01-12 Mitsubishi Denki Kabushiki Kaisha ランダムアクセス可能な映像情報記録媒体、及び記録方法、及び再生装置及び再生方法
WO2012096372A1 (ja) * 2011-01-14 2012-07-19 シャープ株式会社 コンテンツ再生装置、コンテンツ再生方法、配信システム、コンテンツ再生プログラム、記録媒体、およびデータ構造

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4275611B2 (ja) * 2004-12-02 2009-06-10 ソニー株式会社 再生装置、再生方法および再生プログラム、記録媒体、ならびに、データ構造体
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
AR064274A1 (es) * 2006-12-14 2009-03-25 Panasonic Corp Metodo de codificacion de imagenes en movimiento, dispositivo de codificacion de imagenes en movimiento, metodo de grabacion de imagenes en movimiento, medio de grabacion, metodo de reproduccion de imagenes en movimiento, dispositivo de reproduccion de imagenes en movimiento, y sistema de reproducci
US9497290B2 (en) * 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000228669A (ja) * 1999-02-08 2000-08-15 Hitachi Ltd ストリーム配送システムにおけるストリームデータ配送方法
JP2005110244A (ja) 2003-09-27 2005-04-21 Lg Electronics Inc マルチメディアストリーミングサービスシステム及びその方法
WO2006003814A1 (ja) * 2004-07-01 2006-01-12 Mitsubishi Denki Kabushiki Kaisha ランダムアクセス可能な映像情報記録媒体、及び記録方法、及び再生装置及び再生方法
WO2012096372A1 (ja) * 2011-01-14 2012-07-19 シャープ株式会社 コンテンツ再生装置、コンテンツ再生方法、配信システム、コンテンツ再生プログラム、記録媒体、およびデータ構造

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Information technology - MPEG systems technologies - Part 6: Dynamic adaptive streaming over HTTP (DASH)", STD VERSION 2.1C2, ISO/IEC, 28 January 2011 (2011-01-28), pages 6 - 48, XP062177031, Retrieved from the Internet <URL:http://www.itscj.ipsj.or.jp/sc29/open/29view/29n11873t.doc> [retrieved on 20110128] *
INFORMATION TECHNOLOGY-MPEG SYSTEMS TECHNOLOGIES - PART 6: DYNAMIC ADAPTIVE STREAMING OVER HTTP (DASH, 28 January 2011 (2011-01-28)
See also references of EP2733936A4

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112187A1 (ja) * 2013-01-18 2014-07-24 ソニー株式会社 コンテンツサーバ、コンテンツ配信方法、コンテンツ配信システム、クライアント装置、およびコンテンツ取得方法
JPWO2014112186A1 (ja) * 2013-01-18 2017-01-19 ソニー株式会社 コンテンツサーバおよびコンテンツ配信方法
CN104904224A (zh) * 2013-01-18 2015-09-09 索尼公司 内容服务器、内容分发方法、内容分发系统、客户端设备及内容获取方法
JPWO2014112187A1 (ja) * 2013-01-18 2017-01-19 ソニー株式会社 コンテンツサーバ、コンテンツ配信方法、コンテンツ配信システム、クライアント装置、およびコンテンツ取得方法
EP2988516A4 (en) * 2013-04-19 2016-12-07 Sony Corp SERVER DEVICE, CLIENT DEVICE, CONTENT DISTRIBUTION METHOD AND COMPUTER PROGRAM
WO2014171473A1 (ja) * 2013-04-19 2014-10-23 ソニー株式会社 サーバ装置、クライアント装置、コンテンツ配信方法およびコンピュータプログラム
EP3591979A1 (en) * 2013-04-19 2020-01-08 SONY Corporation Server device, client device, content distribution method, and computer program
JPWO2014171473A1 (ja) * 2013-04-19 2017-02-23 ソニー株式会社 サーバ装置、クライアント装置、コンテンツ配信方法およびコンピュータプログラム
CN104509121A (zh) * 2013-06-06 2015-04-08 索尼公司 内容供应设备、内容供应方法、程序、终端设备和内容供应系统
EP3007451A4 (en) * 2013-06-06 2016-12-21 Sony Corp CONTENT PROCESSING DEVICE, CONDITIONAL PROCESSING, PROGRAM, FINISHING DEVICE AND CONTENT PROCESSING SYSTEM
US20150156540A1 (en) * 2013-06-06 2015-06-04 Sony Corporation Content supply device, content supply method, program, terminal device and content supply system
US9554181B2 (en) 2013-06-06 2017-01-24 Sony Corporation Content supply device, content supply method, program, terminal device and content supply system
US10057635B2 (en) 2013-06-06 2018-08-21 Saturn Licensing Llc Content supply device, content supply method, program, terminal device and content supply system
CN104509121B (zh) * 2013-06-06 2019-04-09 索尼公司 内容供应设备、内容供应方法、程序、终端设备和内容供应系统
WO2014196393A1 (ja) * 2013-06-06 2014-12-11 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
JP2015056879A (ja) * 2013-09-13 2015-03-23 富士通株式会社 コンテンツ配信装置、コンテンツ配信方法およびコンテンツ配信プログラム
US9426543B1 (en) * 2015-12-18 2016-08-23 Vuclip (Singapore) Pte. Ltd. Server-based video stitching

Also Published As

Publication number Publication date
EP2733936A1 (en) 2014-05-21
EP2733936A4 (en) 2014-12-03
JP2013038766A (ja) 2013-02-21
CN103650523A (zh) 2014-03-19
CN109194980A (zh) 2019-01-11
CN103650523B (zh) 2018-08-24
US20140137168A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
JP6404505B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
KR101868280B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
US10123059B2 (en) Fast start of streaming digital media playback with deferred license retrieval
CN105814900B (zh) 用于在自适应流播环境中管理相邻频道的系统和方法
US8850054B2 (en) Hypertext transfer protocol live streaming
JP6105936B2 (ja) 再生装置
US20100166387A1 (en) Method and apparatus for playing video data of high bit rate format by a player capable of playing video data of low bit rate format
KR20170141677A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
JP4526294B2 (ja) ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム
JP4315914B2 (ja) 画像再生装置及び画像再生方法
JP6294527B2 (ja) 送信装置、送信方法、再生装置、及び再生方法
JP2017098706A (ja) 受信装置、セグメント取得方法、及びプログラム
WO2014171385A1 (ja) サーバ装置、コンテンツ提供方法及びコンピュータプログラム
JP5144771B2 (ja) 画像処理装置、画像再生装置、画像記録装置、画像処理方法、画像再生方法、及び画像記録方法
KR20170141676A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
WO2013039042A1 (ja) 再生装置、再生方法、配信装置、配信システム、再生プログラムおよび記録媒体
JP2014131307A (ja) 情報処理装置、情報処理方法およびプログラム
JP2009060353A (ja) コンテンツ配信装置、及び移動端末装置、並びにコンテンツ配信システム、コンテンツ配信方法、コンテンツ受信方法、及びコンテンツ配信プログラム
JP2016040919A (ja) 情報処理装置、情報処理方法およびプログラム
WO2015072020A1 (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: 12811869

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14130730

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012811869

Country of ref document: EP