WO2014010444A1 - コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 - Google Patents

コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 Download PDF

Info

Publication number
WO2014010444A1
WO2014010444A1 PCT/JP2013/067983 JP2013067983W WO2014010444A1 WO 2014010444 A1 WO2014010444 A1 WO 2014010444A1 JP 2013067983 W JP2013067983 W JP 2013067983W WO 2014010444 A1 WO2014010444 A1 WO 2014010444A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
segment
content transmission
request
acquisition
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2013/067983
Other languages
English (en)
French (fr)
Inventor
徳毛 靖昭
渡部 秀一
琢也 岩波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to CN201380035385.9A priority Critical patent/CN104429090A/zh
Priority to JP2014524738A priority patent/JPWO2014010444A1/ja
Priority to US14/413,068 priority patent/US20150172762A1/en
Publication of WO2014010444A1 publication Critical patent/WO2014010444A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management e.g. creating a master electronic programme guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Definitions

  • the present invention relates to a content transmission apparatus that transmits content, a content reproduction apparatus that acquires and reproduces content, a content distribution system, a control method for the content transmission apparatus, a control method for the content reproduction apparatus, a data structure, a control program, and a recording medium. It is.
  • VOD Video On Demand
  • data is transmitted and received between a server (content providing apparatus) and a client (content reproducing apparatus) using HTTP (HyperText Transfer Protocol).
  • MPEG Motion Picture Experts Group
  • MPEG-DASH Dynamic Adaptive Streaming over HTTP
  • content is time-divided into a plurality of segments and transmitted in segment units.
  • Each segment is composed of one or a plurality of fragments.
  • the content is composed of one or a plurality of periods, and one period includes one or a plurality of segments.
  • a plurality of representations having different quality types are prepared for one content. For example, a plurality of segment data encoded at different bit rates for each segment is prepared. Accordingly, a client that receives and reproduces content can execute adaptive streaming by changing the bit rate of the requested content (segment) in accordance with the reception status of the content.
  • content having the same content and quality type may be provided by a plurality of servers.
  • the client can switch the content acquisition source in accordance with the content reception status or the like.
  • the first server 101 and the second server 102 are connected via a network to a segment storage device 106 that stores segment data that is a content data body, and MPD data that is content management information ( It is assumed that segment data and MPD data are respectively acquired from the MPD storage device 105 that stores the details).
  • the client 103 can switch the content request destination to the first server 101 or the second server 102 in accordance with the content reception status or the like.
  • the first server 101 and the second server 102 may locally hold segment data and MPD data, respectively.
  • MPD Media Presentation Description
  • MPD is content metadata and describes content management information in XML format.
  • MPD is information used by the client when acquiring / reproducing content.
  • FIG. 15 is a diagram illustrating a description example of MPD.
  • the MPD 200 describes acquisition destination information 201 indicating a content acquisition destination. More specifically, in the example illustrated in FIG. 15, the URL of the server is described as the acquisition destination information 201.
  • URLs of two servers cdn1 and cdn2 are described, and the client can select a content acquisition destination by referring to the MPD 200 as described above.
  • high-quality segment information 202 indicating a high-quality segment and low-quality segment information 203 indicating a low-quality segment are described as segments included in a certain period (from reproduction time 0 seconds to 600 seconds).
  • the high quality segment information 202 describes the ID and bit rate of the high quality representation included in the period.
  • the length and URL of each segment included in the period are described. The same applies to the low quality segment information 203.
  • the period is composed of 60 segments from the first segment to the 60th segment.
  • FIG. 16 is a diagram illustrating an example of an operation sequence in the case of switching servers based on content reception status.
  • FIG. 17 is a diagram illustrating an example of an HTTP message when a server is switched based on a content reception status.
  • the first server 101 and the second server 102 obtain the segment data and MPD data from the segment storage device 106 and the MPD storage device 105, respectively, and the client 103 determines the request destination of the content. It is possible to switch to the first server (cdn1) 101 or the second server (cdn2) 102. Further, it is assumed that the MPD 200 shown in FIG. 15 is associated with the content.
  • the client 103 refers to the MPD 200 and transmits a request message 301 for requesting transmission of the Nth segment to the first server 101.
  • the first server 101 transmits a response message 302 including the data body of the Nth segment to the client 103 as a response to the request message 301.
  • the client 103 searches for an alternative server with reference to the MPD 200 (process 304).
  • the client 103 refers to the MPD 200 and sends a request message 305 for requesting the second server 102 to transmit the next (N + 1) th segment. 2 to the server 102.
  • the second server 102 transmits a response message 306 including the data body of the (N + 1) th segment to the client 103.
  • FIG. 18 is a diagram illustrating an example of an operation sequence when the quality type of content to be acquired is switched based on the content reception status.
  • FIG. 19 is a diagram illustrating an example of an HTTP message when the quality type of content acquired based on the content reception status is switched.
  • the MPD 200 illustrated in FIG. 15 is associated with the content, and the client 103 receives a high-quality Representation (rep1) or a low-quality Representation (rep2) from the first server (cdn1) 101 depending on the reception status. ).
  • the client 103 refers to the MPD 200 and transmits a request message 311 for requesting transmission of the Nth segment of the high quality representation to the first server 101.
  • the first server 101 transmits a response message 312 including the data body of the Nth segment of high quality representation to the client 103.
  • the client 103 when the client 103 detects the deterioration of the reception status when receiving the Nth segment of the high quality representation (process 313), the client 103 searches for an alternative representation with reference to the MPD 200 (process 314).
  • the client 103 since the low-quality representation (rep2) is described as an alternative representation in the MPD 200, the client 103 refers to the MPD 200 and requests the first server 101 to transmit the (N + 1) th segment of the low-quality representation.
  • Request message 315 is transmitted to the first server 101.
  • the first server 101 transmits a response message 316 including the data body of the (N + 1) th segment of low quality representation to the client 103.
  • FIG. 20 is a diagram illustrating an example of an operation sequence when server switching is realized by updating the MPD.
  • FIG. 21 is a diagram illustrating MPD before MPD update, and
  • FIG. 22 is a diagram illustrating MPD after MPD update.
  • the first server 101 when requests concentrate and become a high load state, the first server 101 describes the URL of the second server 102 in the MPD, updates the MPD, and prompts the client 103 to switch to the second server 102. Shall.
  • the client 103 confirms whether the MPD is updated at a predetermined interval (every 60 seconds).
  • the client 103 performs confirmation (polling) of the presence or absence of MPD update to the first server 101 in parallel with the content acquisition processing based on the MPD shown in FIG. ).
  • the first server 101 since the first server 101 has not updated the MPD, the first server 101 notifies the client 103 that there is no MPD update (process 402).
  • the first server 101 since requests concentrated on the first server 101 and the load became high, the first server 101 generates the MPD shown in FIG. 22 in which the URL of the second server 102 is described, and updates the MPD ( Process 403).
  • the client 103 confirms whether or not the MPD is updated with respect to the first server 101 at the next update confirmation timing (process 404). At this time, since the MPD has been updated, the first server 101 transmits the updated MPD to the client 103 (process 405). Then, the client 103 refers to the updated MPD and changes the content acquisition destination to the second server 102.
  • the client 103 does not immediately switch to the second server 102, but a delay occurs according to the MPD update confirmation interval. Further, when the MPD update confirmation interval is shortened, the processing of the client 103 and the first server 101 increases, and even when there is no MPD update, exchange of data (for example, HTTP messages) accompanying polling is possible. Since it occurs frequently, there is a problem that the network bandwidth is compressed.
  • the present invention has been made in view of the above-described problems, and its object is to provide a content transmission device, a content reproduction device, a content distribution system, a content transmission device control method, and a content that execute adaptive streaming in real time.
  • a control method a data structure, a control program, and a recording medium of a playback device.
  • the content transmission device is a content transmission device that transmits content composed of a plurality of segments to the content reproduction device for each segment, and each segment from the content reproduction device.
  • a transmission unit that transmits a response including the segment to the content reproduction device, a processing amount measurement unit that measures a processing amount of the content transmission device, and a measurement amount measurement unit that measures Information generation means for generating acquisition destination switching instruction information for instructing to switch the content acquisition destination to another content transmission apparatus when the most recent processing amount is a predetermined value or more, and the transmission means includes the above
  • the information generation means generates acquisition destination switching instruction information
  • Is characterized by transmitting an acquisition destination switching instruction information is information generating means generates.
  • a content transmission device control method is a content transmission device control method for transmitting content composed of a plurality of segments to a content reproduction device for each segment in order to solve the above-described problem.
  • the transmission step includes the information generation step.
  • When generating the acquisition destination switching instruction information it has, together with the segment, is characterized by transmitting an acquisition destination switching instruction information generated in the information generating step.
  • the content transmission apparatus when the processing amount of the content transmission apparatus is a predetermined value or more (that is, in a high load state), the content transmission apparatus transmits the content to the content reproduction apparatus when the segment is acquired. Can be switched to another content transmission apparatus. Therefore, when the content transmission device is in a high load state, the content reproduction device can know the cause of the deterioration of the segment reception status in real time. Therefore, the content transmission apparatus has an effect that the content reproduction apparatus can execute optimum adaptive streaming in real time.
  • the information generation unit adds the acquisition destination switching instruction information to a header portion of the segment.
  • the information generation unit adds the acquisition destination switching instruction information to a header of the response.
  • the information generation unit may change the content acquisition destination according to the processing amount when the latest processing amount measured by the processing amount measurement unit is a predetermined value or more. It is preferable to generate acquisition destination switching instruction information for instructing timing for switching to the content transmission apparatus.
  • the content transmission device instructs the content playback device to switch to another content transmission device according to the processing amount of the device itself (that is, according to the level of the high load state). can do. For example, when the content transmission device is in a high load state but the degree is low (when the urgency is low), the content transmission device sends the content playback device to the next segment or at the next period. You may instruct
  • the content transmission device when the content transmission device is in a high load state and the degree is high (the urgency is high), the content transmission device interrupts the current request to the content reproduction device and immediately other content transmission devices May be instructed to switch to In this way, the content transmission device can cause the content reproduction device to execute more optimal adaptive streaming in real time according to the processing amount of the device itself.
  • a content transmission apparatus is a content transmission apparatus that transmits content composed of a plurality of segments to a content reproduction apparatus for each segment in order to solve the above-described problem.
  • a transmission unit that transmits a response including the segment to the content reproduction device, a processing amount measurement unit that measures the processing amount of the content transmission device, and the processing amount measurement unit
  • Information processing means for generating load state information indicating that the content transmission device is in a high load state when the processing amount measured by the information transmission device is greater than or equal to a predetermined value, the transmission means, together with the segment, the information The most recent load state information generated by the generation means is transmitted.
  • a content transmission device control method is a content transmission device control method for transmitting content composed of a plurality of segments to a content reproduction device for each segment in order to solve the above-described problem.
  • a transmission step of transmitting a response including the segment to the content reproduction device, and a processing amount measurement step of measuring the processing amount of the content transmission device As a response to the request for transmission of each segment from the content reproduction device, a transmission step of transmitting a response including the segment to the content reproduction device, and a processing amount measurement step of measuring the processing amount of the content transmission device;
  • An information generating step for generating load state information indicating that the content transmitting device is in a high load state when the processing amount measured in the processing amount measuring step is a predetermined value or more, wherein the transmitting step includes Along with the segment, the information generation step It is characterized by transmitting the last load status information.
  • the content transmission apparatus when the processing amount of the content transmission apparatus is greater than or equal to a predetermined value (that is, when the content reproduction apparatus is in a high load state), the content transmission apparatus automatically It can be notified that the device is in a high load state. Therefore, when the content transmission device is in a high load state, the content reproduction device can know the cause of the deterioration of the segment reception status in real time. Upon receiving the notification, the content reproduction device can switch the content acquisition destination to another content transmission device. Therefore, the content transmission apparatus has an effect that the content reproduction apparatus can execute optimum adaptive streaming in real time.
  • a predetermined value that is, when the content reproduction apparatus is in a high load state
  • the information generation unit adds the load state information to a header portion of the segment.
  • the information generation unit adds the load state information to a header of the response.
  • the information generation unit determines whether the content transmission device has a high load state according to the processing amount. It is preferable to generate load state information indicating the degree.
  • the content transmission device notifies the content reproduction device of the degree of the high load state of the own device according to the processing amount of the own device (that is, according to the degree of the high load state). can do. For example, when the content transmission device is in a high-load state but notifies that the degree is low (when it is notified that the urgency is low), the content reproduction device starts from the time of acquiring the next segment or the next period. May be switched to another content transmitting apparatus from the time of acquisition of the segment included in the. On the other hand, when the content transmission device is in a high load state and notifies that the degree is high (when notification is high urgency), the content playback device interrupts the current request and immediately transmits another content. You may make it switch to an apparatus. In this way, the content transmission device notifies the degree of the high load state of the device itself, so that the content reproduction device can execute more optimal adaptive streaming in real time.
  • the content playback apparatus is a content playback apparatus that acquires and plays back content composed of a plurality of segments from a content transmission device for each segment in order to solve the above-described problem.
  • An acquisition unit that transmits a request for transmitting each segment to the device and acquires a response including the segment as a response to the request.
  • the acquisition destination switching instruction information for instructing switching to another content transmission apparatus is acquired, the request is transmitted to another content transmission apparatus.
  • a method for controlling a content reproduction apparatus is a method for controlling a content reproduction apparatus that acquires and reproduces content composed of a plurality of segments from a content transmission apparatus for each segment in order to solve the above-described problem. And transmitting a request for requesting the transmission of each segment to the content transmission device, and obtaining a response including the segment as a response to the request, the obtaining step including the segment, When the acquisition destination switching instruction information for instructing to switch the content acquisition destination to another content transmission apparatus is acquired, the request is transmitted to the other content transmission apparatus.
  • the content reproduction device can switch the content acquisition destination to another content transmission device based on an instruction from the content transmission device when a segment is acquired from the content transmission device.
  • the content transmission device when the content transmission device is in a high load state, it is conceivable that the reception status of the segment of the content reproduction device deteriorates. Therefore, the content reproduction device can execute optimum adaptive streaming in real time by switching the acquisition source to another content transmission device different from the content transmission device based on the instruction of the content transmission device. Play.
  • the acquisition unit may transmit the request to another content transmission apparatus when the acquisition destination switching instruction information is added to a header portion of the segment. preferable.
  • the acquisition unit preferably transmits the request to another content transmission device when the acquisition destination switching instruction information is added to a header of the response.
  • the acquisition unit instructs the timing to switch the content acquisition destination to another content transmission apparatus when the acquisition source switching instruction information indicates other content transmission at the instructed timing.
  • the request is sent to the device.
  • the content reproduction device can switch the content acquisition destination to another content transmission device at the instructed timing based on the instruction from the content transmission device. For example, when the content transmission device is in a high load state but the degree is low (when the urgency is low), the content transmission device sends the content playback device to the next segment or at the next period. You may instruct
  • the content transmission device when the content transmission device is in a high load state and the degree is high (the urgency is high), the content transmission device interrupts the current request to the content reproduction device and immediately other content transmission devices May be instructed to switch to In this way, the content reproduction device can execute more optimal adaptive streaming in real time according to the processing amount of the content transmission device based on the instruction of the content transmission device.
  • the content playback apparatus is a content playback apparatus that acquires and plays back content composed of a plurality of segments from a content transmission device for each segment in order to solve the above-described problem.
  • An acquisition unit that transmits a request for transmission of each segment to the device and acquires a response including the segment as a response to the request, and the acquisition unit includes the segment and the content transmission device When load state information indicating a load state is acquired, the request is transmitted to another content transmission device.
  • a method for controlling a content reproduction apparatus is a method for controlling a content reproduction apparatus that acquires and reproduces content composed of a plurality of segments from a content transmission apparatus for each segment in order to solve the above-described problem. And transmitting a request for requesting the transmission of each segment to the content transmission device, and obtaining a response including the segment as a response to the request, the obtaining step including the segment, When the load state information indicating that the content transmission device is in a high load state is acquired, the request is transmitted to another content transmission device.
  • the content reproduction device can know whether or not the content transmission device is in a high load state when acquiring a segment from the content transmission device.
  • the content transmission device when the content transmission device is in a high load state, it is conceivable that the reception status of the segment of the content reproduction device deteriorates. Therefore, the content reproduction device can execute optimum adaptive streaming in real time by switching the acquisition source to another content transmission device different from the content transmission device based on the presence / absence of notification from the content transmission device. There is an effect.
  • the acquisition unit transmits the request to another content transmission apparatus when the load status information is added to a header portion of the segment.
  • the acquisition unit transmits the request to another content transmission apparatus when the load status information is added to a header of the response.
  • the acquisition unit transmits the content to another content transmission device at a predetermined timing according to the level. It is preferable to send the request to the server.
  • the content reproduction device can know the degree of the high load state of the content transmission device at the time of segment acquisition from the content transmission device. For example, when the content transmission device is in a high load state but the degree is low (when urgency is low), the content reproduction device starts from the time of acquiring the next segment or the time of acquiring the segment included in the next period. Alternatively, it may be switched to another content transmission device. On the other hand, when the content transmission device is in a high load state and the degree is high (the urgency is high), the content reproduction device may interrupt the current request and immediately switch to another content transmission device. . In this way, the content reproduction apparatus can execute more optimal adaptive streaming in real time according to the degree of the high load state of the content transmission apparatus.
  • the content distribution system preferably includes the content transmission device and the content reproduction device.
  • the content distribution system has the same effects as the content transmission device and the content reproduction device.
  • a data structure of a plurality of segments constituting content acquired by the content reproduction device from the content transmission device, and acquisition instructing the header portion of the segment to switch the content acquisition destination to another content transmission device A segment data structure including destination switching instruction information or load state information indicating that the content transmission device is in a high load state is also included in the scope of the present invention.
  • the content playback device is a response to a request for requesting transmission of each segment constituting the content to the content transmission device, the data structure of the response including the segment acquired by the content playback device,
  • the response header includes acquisition destination switching instruction information for instructing to switch the content acquisition destination to another content transmission apparatus, or load state information indicating that the content transmission apparatus is in a high load state.
  • the response data structure is also included in the scope of the present invention.
  • the content transmission device and the content reproduction device may be realized by a computer.
  • the content transmission device is operated by causing the computer to operate as each unit of the content transmission device and the content reproduction device.
  • a control program for realizing the content reproduction apparatus on a computer and a computer-readable recording medium on which the program is recorded also fall within the scope of the present invention.
  • the content transmission device includes, as a response to a request for requesting transmission of each segment from the content reproduction device, a transmission unit that transmits a response including the segment to the content reproduction device,
  • a transmission unit that transmits a response including the segment to the content reproduction device
  • the method for controlling a content transmission device includes a transmission step of transmitting a response including the segment to the content reproduction device as a response to a request for requesting transmission of each segment from the content reproduction device;
  • a processing amount measurement step for measuring the processing amount of the content transmission device, and an instruction to switch the content acquisition source to another content transmission device when the most recent processing amount measured in the processing amount measurement step is equal to or greater than a predetermined value
  • An information generation step for generating acquisition destination switching instruction information to be generated, and when the transmission step generates the acquisition destination switching instruction information in the information generation step, the acquisition generated in the information generation step together with the segment The destination switching instruction information is transmitted.
  • the content transmission device has an effect that the content reproduction device can execute optimum adaptive streaming in real time.
  • the content transmission device includes a transmission unit that transmits a response including the segment to the content reproduction device as a response to the request for transmission of each segment from the content reproduction device, and the content transmission device.
  • a processing amount measuring means for measuring the amount of processing, and information generation for generating load state information indicating that the content transmission device is in a high load state when the processing amount measured by the processing amount measuring means is equal to or greater than a predetermined value
  • the transmission means transmits the latest load state information generated by the information generation means together with the segment.
  • the method for controlling a content transmission device includes a transmission step of transmitting a response including the segment to the content reproduction device as a response to a request for requesting transmission of each segment from the content reproduction device; A processing amount measurement step for measuring a processing amount of the content transmission device; and load state information indicating that the content transmission device is in a high load state when the processing amount measured in the processing amount measurement step is equal to or greater than a predetermined value.
  • An information generating step for generating, and the transmitting step transmits the latest load state information generated in the information generating step together with the segment.
  • the content transmission device has an effect that the content reproduction device can execute optimum adaptive streaming in real time.
  • the content reproduction apparatus includes an acquisition unit that transmits a request for requesting transmission of each segment to the content transmission apparatus, and acquires a response including the segment as a response to the request.
  • the acquisition unit acquires the acquisition destination switching instruction information instructing switching of the content acquisition destination to another content transmission apparatus together with the segment, the acquisition unit transmits the request to the other content transmission apparatus.
  • the content playback apparatus control method includes an acquisition step of transmitting a request for requesting transmission of each segment to the content transmission apparatus and acquiring a response including the segment as a response to the request. And the acquisition step transmits the request to the other content transmission apparatus when acquiring the acquisition destination switching instruction information instructing to switch the content acquisition destination to another content transmission apparatus together with the segment. .
  • the content reproduction device can execute optimum adaptive streaming in real time by switching the acquisition source to another content transmission device different from the content transmission device based on the instruction of the content transmission device. Play.
  • the content reproduction apparatus includes an acquisition unit that transmits a request for requesting transmission of each segment to the content transmission apparatus, and acquires a response including the segment as a response to the request.
  • the acquisition unit transmits the request to another content transmission device when acquiring the load state information indicating that the content transmission device is in a high load state together with the segment.
  • the content playback apparatus control method includes an acquisition step of transmitting a request for requesting transmission of each segment to the content transmission apparatus and acquiring a response including the segment as a response to the request.
  • the acquisition step when the load state information indicating that the content transmission device is in a high load state is acquired together with the segment, the request is transmitted to another content transmission device.
  • the content reproduction device can execute optimum adaptive streaming in real time by switching the acquisition source to another content transmission device different from the content transmission device based on the presence / absence of notification from the content transmission device. There is an effect.
  • FIG. 1 is a block diagram illustrating an example of a configuration of a content distribution system.
  • FIG. It is a figure which shows an example of the principal part structure of the server and client which are contained in the said content delivery system. It is a flowchart which shows an example of the content transmission process of the said server. It is a flowchart which shows an example of the content acquisition process of the said client. It is a figure which shows an example of the operation
  • FIGS. 1 to 13 An embodiment of the present invention will be described with reference to FIGS. 1 to 13 as follows. First, an outline of the content distribution system of the present embodiment will be described based on FIG.
  • FIG. 2 is a diagram showing an outline of the content distribution system 6 according to the present embodiment.
  • the content distribution system 6 includes a first server 1a, a second server 1b, a client 2, a proxy 3, an MPD storage device 4, and a segment storage device 5.
  • the client 2 connects to the first server 1a and the second server 1b via the proxy 3.
  • the first server 1a and the second server 1b are connected to the MPD storage device 4 and the segment storage device 5, respectively.
  • Each device is connected by an arbitrary network of wired communication or wireless communication.
  • the first server 1a and the second server 1b are collectively referred to as the server 1.
  • the configuration of the content distribution system 6 is not limited to the example shown in FIG.
  • the content distribution system 6 may include three or more servers 1, and may include two or more clients 2.
  • the content distribution system 6 may include two or more proxies 3.
  • the content distribution system 6 may not include the proxy 3, and in this case, the client 2 is directly connected to the server 1.
  • HTTP which is widely used as a hypertext transfer protocol
  • the content distributed by the server 1 is video content, and the content is segmented ISOBFF data. That is, in the present embodiment, the content distribution system 6 distributes content based on the above-described MPEG-DASH standard.
  • FIG. 1 is a diagram illustrating an example of a main configuration of the first server 1 a, the second server 1 b, and the client 2.
  • the proxy 3 is omitted in FIG.
  • the server 1 is a content transmission device that receives a request message (request) requesting transmission of content from the client 2 and transmits a response message (response) to the received request message. Specifically, when a request for requesting transmission of content management information (MPD) is received from the client 2, a response including the MPD of the content is transmitted to the client 2. When a request for requesting transmission of a segment constituting the content is received from the client 2, a response including the segment is transmitted to the client 2.
  • MPD content management information
  • the server 1 acquires MPD data and segment data from the MPD storage device 4 and the segment storage device 5 on the network 7, but the present invention is not limited to this.
  • each server 1 may hold MPD data and segment data locally.
  • the first server 1a includes a first server control unit 11a, a first server storage unit 12a, and a first server communication unit 13a.
  • the first server control unit 11a includes a content acquisition unit 21a, a content transmission unit 22a, a processing amount measurement unit 23a, and an event information addition unit 24a as functional blocks.
  • the second server 1b has the same configuration as the first server 1a, and includes a second server control unit 11b, a second server storage unit 12b, and a second server communication unit 13b.
  • the second server control unit 11b includes a content acquisition unit 21b, a content transmission unit 22b, a processing amount measurement unit 23b, and an event information addition unit 24b as functional blocks.
  • the first server control unit 11a and the second server control unit 11b, the first server storage unit 12a and the second server storage unit 12b, and the first server communication unit 13a and the second server communication unit 13b are collectively referred to.
  • the content acquisition units 21a and 21b, the content transmission units 22a and 22b, the processing amount measurement units 23a and 23b, and the event information addition units 24a and 24b are collectively referred to as a content acquisition unit 21, a content transmission unit (transmission means). 22, a processing amount measuring unit (processing amount measuring unit) 23 and an event information adding unit (information generating unit) 24.
  • the server communication unit 13 communicates with other devices such as the client 2, the MPD storage device 4, and the segment storage device 5 by wireless communication means or wired communication means, and exchanges data according to instructions from the server control unit 11. Is.
  • the server control unit 11 performs various operations by executing a program read from the server storage unit 12 to a temporary storage unit (not shown), and comprehensively controls each unit included in the server 1. is there.
  • Each function block (21 to 24) of the server control unit 11 includes a program stored in a storage device realized by a CPU (central processing unit), such as a ROM (read only memory), and a random access memory (RAM). This can be realized by reading out and executing the temporary storage unit realized in the above.
  • a CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • the content acquisition unit 21 acquires MPD data from the MPD storage device 4 or segment data from the segment storage device 5 based on an instruction from the content transmission unit 22.
  • the content acquisition unit 21 outputs the acquired MPD data to the content transmission unit 22.
  • the content acquisition unit 21 outputs the acquired segment data to the event information addition unit 24.
  • the content acquisition unit 21 may acquire MPD data and / or segment data in advance regardless of whether there is an instruction from the content transmission unit 22.
  • the content acquisition unit 21 stores the MPD data and segment data acquired in advance in the server storage unit 12, and MPD data and segment data from the server storage unit 12 based on an instruction from the content transmission unit 22. Is read.
  • the content transmission unit 22 When the content transmission unit 22 receives a request from the client 2, the content transmission unit 22 transmits a response to the request to the client 2. Specifically, when a request for requesting transmission of content management information (MPD) is received from the client 2, the content acquisition unit 21 is instructed to acquire the MPD of the content, and the MPD data is acquired from the content acquisition unit 21. Then, a response including the acquired MPD data is transmitted to the client 2. Further, when a request for transmission of a segment constituting the content is received from the client 2, the content acquisition unit 21 is instructed to acquire the segment, and when the segment data is acquired from the event information addition unit 24, the segment data Is sent to the client 2.
  • MPD content management information
  • the processing amount measuring unit 23 measures the processing amount of the server 1.
  • the processing amount measuring unit 23 may measure an actual processing amount (absolute value) or a relative processing amount (CPU usage rate, etc.). Alternatively, the processing amount measurement unit 23 may use the number of requests from the client as the processing amount.
  • the processing amount measuring unit 23 notifies the event information adding unit 24 of the measured processing amount.
  • the event information adding unit 24 adds the event information to the segment data acquired from the content acquisition unit 21 and outputs it to the content transmission unit 22 when the processing amount notified from the processing amount measurement unit 23 is equal to or greater than a predetermined value. On the other hand, when the processing amount notified from the processing amount measurement unit 23 is less than the predetermined value, the event information addition unit 24 outputs the segment data acquired from the content acquisition unit 21 to the content transmission unit 22 as it is.
  • the event information adding unit 24 may add the event information to the segment data in the box format defined by ISO / IEC 14496-12 (ISOBFF) in the segment data body ( For example, event information may be added (inserted) to the header portion of the segment data), and event information may be added to the HTTP header of the HTTP response message that transmits the segment data body.
  • ISO / IEC 14496-12 ISO / IEC 14496-12
  • the event information added by the event information adding unit 24 may be server switching instruction information (acquisition destination switching instruction information) that causes the client 2 to (forcibly) switch the server from which the content is acquired, or simply It may be load state information indicating the processing amount of the server 1.
  • the event information may include alternative server information indicating an alternative server in addition to the server switching instruction information or the load state information.
  • the event information adding unit 24 may generate the content of the server switching instruction information according to the processing amount notified from the processing amount measuring unit 23. For example, it is assumed that the processing amount equal to or greater than a predetermined value is divided into three ranges of high load state A, high load state B, and high load state C (high load state A> high load state B> high load state C). ). In this case, if the processing amount is a high load state A, the event information adding unit 24 interrupts the current request, generates server switching instruction information for instructing switching of the server 1 immediately, and the processing amount is high. If it is in state B, server switching instruction information for instructing switching of server 1 is generated from the request for the next segment. If the processing amount is high load state C, switching of server 1 is instructed from the request for the next period. Server switching instruction information to be generated may be generated.
  • the event information adding unit 24 When the event information adding unit 24 generates the load state information as the event information, if the processing amount is the high load state A, the event information adding unit 24 generates the load state information indicating the high load state A, and the processing amount is the high load state. If B, the load state information indicating the high load state B may be generated, and if the processing amount is the high load state C, the load state information indicating the high load state C may be generated.
  • the server storage unit 12 stores programs, data, and the like that the server control unit 11 refers to.
  • the MPD data and segment data acquired by the content acquisition unit 21 may be stored.
  • the client 2 is a content reproduction device that reproduces content acquired from another device such as the server 1 or content stored in the own device.
  • the client 2 is, for example, a digital television, a recorder, an STB (Set Top Box), a PC, a mobile phone, a game machine, a PDA (Personal Digital Assistant), a digital camera, a digital video, or the like.
  • the client 2 includes a client control unit 41, a client storage unit 42, a client communication unit 43, a display unit 44, and an audio output unit 45.
  • the client 2 may include members such as an operation unit and a voice input unit, but the members are not shown because they are not related to the feature points of the invention.
  • the client communication unit 43 communicates with other devices such as the server 1 and the proxy 3 by wireless communication means or wired communication means, and exchanges data in accordance with instructions from the client control unit 41.
  • the display unit 44 displays an image according to an instruction from the client control unit 41.
  • the display unit 44 only needs to display an image in accordance with an instruction from the client control unit 41.
  • an LCD liquid crystal display
  • an organic EL display organic EL display
  • a plasma display or the like can be applied.
  • the audio output unit 45 receives an electrical signal from the client control unit 41, converts the received electrical signal into sound, and outputs the sound to the outside of the client 2.
  • the audio output unit 45 is a so-called speaker.
  • the client control unit 41 performs various operations by executing a program read from the client storage unit 42 to a temporary storage unit (not shown), and comprehensively controls each unit included in the client 2. is there.
  • the client control unit 41 includes a content acquisition unit (acquisition means) 51, a reception status measurement unit 52, a content analysis unit 53, a switching determination unit 54, and a content reproduction unit 55 as functional blocks.
  • the CPU reads a program stored in a storage device realized by a ROM or the like to a temporary storage unit realized by a RAM or the like and executes the program. Can be realized.
  • the content acquisition unit 51 transmits a request to the server 1 via the client communication unit 43, and acquires content (an MPD associated with the content and a segment constituting the content) from the server 1.
  • the content acquisition unit 51 issues a request for requesting transmission of management information (MPD) of the content. Send to server 1. Then, the content acquisition unit 51 receives the MPD data of the content as a response to the request. The content acquisition unit 51 refers to the received MPD data, and transmits a request to the server 1 for requesting transmission of a segment constituting the content. The content acquisition unit 51 acquires the segment data of the content as a response to the request. The content acquisition unit 51 outputs the acquired segment data to the content analysis unit 53 and the content reproduction unit 55.
  • MPD management information
  • the reception status measurement unit 52 measures the reception status of data received by the client communication unit 43.
  • the reception status measurement unit 52 notifies the switching determination unit 54 of the measured reception status.
  • the content analysis unit 53 When the content analysis unit 53 acquires segment data from the content acquisition unit 51, the content analysis unit 53 analyzes the acquired segment data, and extracts event information added to the segment data when event information is added to the segment data. is there. The content analysis unit 53 outputs the extracted event information to the switching determination unit 54.
  • the switching determination unit 54 determines whether or not the reception status is good. When it is determined that the reception status is not good, the switching determination unit 54 further determines whether or not event information has been received from the content analysis unit 53. When the event determination information is not received, the switching determination unit 54 determines that the cause of the deterioration of the reception state is a lack of network bandwidth, and acquires a lower quality segment from the content acquisition unit 51. Instruct. On the other hand, when the event information is received, the switching determination unit 54 determines that the reception status has deteriorated because the server 1 is in a high load state, and changes the server 1 that is the content acquisition destination to the content acquisition unit 51. To instruct.
  • the switching determination unit 54 instructs the content acquisition unit 51 to change the content acquisition destination to the server 1 indicated by the alternative server information.
  • the switching determination unit 54 causes the content acquisition unit 51 to change the server 1 from which the content is acquired, and at what timing to change the server 1. You may decide freely. For example, even when the load determination information (event information) is received, the switching determination unit 54 may not instruct the content acquisition unit 51 to change the server 1 from which the content is acquired. . In addition, when the switching determination unit 54 generates a random value and receives the load state information, the switch 1 determines whether the content acquisition unit 51 receives the server 1 from which the content is acquired only when the generated random value is a predetermined value. May be instructed to change. Further, when receiving the load state information indicating the high load state C, the switching determination unit 54 may instruct the content acquisition unit 51 to interrupt the current request and immediately switch the server. .
  • the switching determination unit 54 instructs the content acquisition unit 51 to change the server 1 from which the content is acquired, depending on whether or not event information is added to the segment data regardless of the reception status. May be.
  • the content playback unit 55 refers to the MPD data and plays back the content based on the acquired segment data.
  • the client storage unit 42 stores programs, data, and the like referred to by the client control unit 41, and may store MPD data, segment data, and the like acquired by the content acquisition unit 51, for example.
  • FIG. 3 is a flowchart illustrating an example of content transmission processing of the server 1.
  • the server 1 waits for a request to be transmitted from the client 2 (S1, S4).
  • the content transmission unit 22 receives a request for requesting transmission of content management information (MPD) from the client 2 (YES in S1), the content transmission unit 22 sends the received request to the content acquisition unit 21.
  • the MPD associated with the content indicated by is instructed to be acquired.
  • the content acquisition unit 21 Upon receipt of the instruction from the content transmission unit 22, the content acquisition unit 21 acquires MPD data from the MPD storage device 4 via the server communication unit 13 (S2). The content acquisition unit 21 outputs the acquired MPD data to the content transmission unit 22. Then, the content transmission unit 22 transmits a response including the MPD data acquired from the content acquisition unit 21 to the client 2 (S3).
  • the content transmission unit 22 when the content transmission unit 22 receives a request for transmitting a segment from the client 2 (YES in S4), the content transmission unit 22 acquires the segment indicated by the received request from the content acquisition unit 21. To instruct.
  • the content acquisition unit 21 that has received an instruction from the content transmission unit 22 acquires segment data from the segment storage device 5 via the server communication unit 13 (S5).
  • the content acquisition unit 21 outputs the acquired segment data to the event information addition unit 24.
  • the event information adding unit 24 determines whether or not the processing amount notified from the processing amount measuring unit 23 is a predetermined value or more (S6). When the processing amount is equal to or greater than the predetermined value (YES in S6), the event information adding unit 24 adds event information to the acquired segment data and outputs the event information to the content transmitting unit 22, and the content transmitting unit 22 includes the event information adding unit.
  • the response including the segment data to which the event information is added, acquired from 24, is transmitted to the client 2 (S7).
  • the event information adding unit 24 outputs the acquired segment data as it is to the content transmitting unit 22, and the content transmitting unit 22 acquires from the event information adding unit 24. A response including the segment data thus transmitted is transmitted to the client 2 (S8).
  • FIG. 4 is a flowchart showing an example of content acquisition processing of the client 2.
  • the client 2 first transmits a request to the first server 1a and switches to the second server 1b when switching the server 1.
  • the content acquisition unit 51 transmits a request for requesting transmission of content management information (MPD) to the first server 1a (S11). And the content acquisition part 51 receives the response with respect to this request, and acquires MPD data contained in a response (S12).
  • MPD content management information
  • the content acquisition unit 51 refers to the received MPD data, and transmits a request for requesting transmission of a segment constituting the content to the first server 1a (S13). And the content acquisition part 51 receives the response with respect to this request, and acquires the segment data contained in a response (S14).
  • the switching determination unit 54 determines whether or not event information has been received from the content analysis unit 53, that is, event information is included in the segment data. Whether or not is added is determined (S16). When event information is added to the segment data (YES in S16), the switching determination unit 54 instructs the content acquisition unit 51 to change the server 1 from which the content is acquired to the second server 1b. . Upon receiving the instruction, the content acquisition unit 51 transmits a request for transmission of the next segment to the second server 1b (S17).
  • the switching determination unit 54 determines whether or not the reception status is good based on the reception status notified from the reception status measurement unit 52. (S18). If the reception status is good (YES in S18), the content acquisition unit 51 transmits a request for transmission of the next segment to the first server 1a (S19). On the other hand, when the reception status is not good (NO in S18), the switching determination unit 54 instructs the content acquisition unit 51 to acquire a lower quality segment. Upon receiving the instruction, the content acquisition unit 51 transmits a request for requesting transmission of a low quality segment, which is the next segment, to the first server 1a (S20).
  • FIG. 5 is a diagram showing an example of an operation sequence when event information is added to the segment data body in a box format defined by ISOBFF, and switching to an alternative server is performed based on the event information.
  • FIG. 6 is a diagram illustrating an example of an HTTP message when event information is added to the segment data body in a box format defined by ISOBFF, and switching to an alternative server is performed based on the event information.
  • the first server 1a since the requests are concentrated on the first server 1a while the client 2 is acquiring content from the first server 1a, the first server 1a is in a high load state, and the client 2 is transferred from the first server 1a to the second server 1b. Indicates the case of switching.
  • the content acquisition unit 51 of the client 2 refers to the MPD data and transmits a request message 71 for requesting transmission of the Nth segment to the first server 1a.
  • the event information adding unit 24a detects that the first server 1a is in a high load state based on the processing amount measured by the processing amount measuring unit 23a (processing 72).
  • the event information adding unit 24a adds event information to the segment data acquired by the content acquisition unit 21a from the segment storage device 5 in a box format defined by ISOBFF, and outputs the event information to the content transmission unit 22a.
  • the content transmission unit 22a transmits a response message 73 including the data body of the Nth segment to which the event information is added to the client 2.
  • the content analysis unit 53 analyzes the segment data.
  • the content analysis unit 53 analyzes the segment data and detects event information, the content analysis unit 53 extracts the event information and outputs it to the switching determination unit 54. Since the switching determination unit 54 has received the event information, the switching determination unit 54 refers to the MPD data and executes a search for an alternative server different from the first server 1a (process 74).
  • the switching determination unit 54 determines the alternative server as the second server 1b and sets the content acquisition destination to the content acquisition unit 51 as the second server. Instruct to change to 1b.
  • the content acquisition unit 51 Upon receipt of the instruction, the content acquisition unit 51 refers to the MPD data and transmits a request message 75 for requesting the second server 1b to transmit the (N + 1) th segment to the second server 1a. Then, the content transmission unit 22b of the second server 1b transmits a response message 76 including the data body of the (N + 1) th segment to the client 2 as a response to the request message 75.
  • FIG. 7 is a diagram showing a data structure of conventional segment data.
  • the conventional segment data 80 includes one styp (Segment Box) 81, one sidx (Segment Box) 82, and moof (Movie Fragment Box) 83 and mdat (Media Box). It is composed of one or more sets of 84.
  • Styp81 is information indicating the segment type and / or version information.
  • the sidx 82 is information related to random access points in the segment.
  • the moof 83 and the mdat 84 are information regarding the fragments constituting the segment.
  • FIG. 8 is a diagram showing a data structure of segment data to which event information is added.
  • the segment data 85 to which the event information is added includes one sswi (Server Switching Box) 86 in addition to the conventional configuration.
  • Sswi86 is event information including server switching instruction information or load state information.
  • the sswi 86 is disposed immediately after the styp 81, but may be disposed immediately after the sidx 82, immediately before or after the moof 83 and mdat 84 corresponding to the time when the event occurs.
  • FIG. 9A is a diagram illustrating an example of the syntax of sswi86
  • FIG. 9B is a diagram illustrating an example of the syntax of styp81
  • FIG. 10 is a diagram illustrating an example of semantics of sswi86.
  • sswi86 defines “exec_type”, “alt_server_location_flag”, “reserved”, and “alt_server_location”.
  • Executec_type is a 3-bit flag and is server switching instruction information or load state information.
  • Alt_server_location_flag is a 1-bit flag and indicates the presence or absence of alternative server information.
  • Alt_server_location describes a character string such as the URL of the alternative server. That is, “alt_server_location_flag” and “alt_server_location” are alternative server information.
  • “exec_type” is server switching instruction information
  • the value of “exec_type” is “000 (binary notation)”
  • the current request is interrupted and the server is immediately 1 indicates that switching of 1 is instructed.
  • the value is “001”, it indicates that the server 1 is instructed to be switched from the next segment request.
  • the value is '010', it indicates that the server 1 is instructed to be switched from the request for the next period.
  • server switching may be instructed or a high load state may be notified by describing 'sswi' as one of compatible brands in the compatible_brands field of styp81.
  • event information is added to the segment data body, event information is not lost on the way, even if it passes through a proxy that ignores the HTTP header etc. You can be notified.
  • MPEG-DASH a plurality of representations having different quality types are prepared for one content, but event information is not necessarily added to all representations. Therefore, when there is a possibility of adding event information to the segment data body, the presence of the event information may be notified in advance by MPD.
  • FIG. 23 is a diagram showing a description example of MPD including notification of the presence of event information.
  • an EventInfo element indicating the presence of event information is described in the Representation element.
  • the EventInfo element includes a schemeIdUri attribute for identifying the event list, and a value attribute for identifying the content of the event added to the segment data body.
  • value “1”
  • event information indicating a server switching instruction is present in the representation.
  • the value of value and the content of the event may be newly defined in the event list.
  • EventInfo element is described in the Representation having a bit rate of 1024 kbps, there is a possibility that event information indicating a server switching instruction may be added.
  • EventInfo element is not described in the Representation having a bit rate of 512 kbps, it indicates that there is no possibility of adding event information indicating a server switching instruction.
  • FIG. 11 is a diagram illustrating an example of an operation sequence when event information is described in an HTTP header of an HTTP response message that transmits a segment data body, and switching to an alternative server is performed based on the event information.
  • FIG. 12 is a diagram illustrating an example of an HTTP message when event information is described in an HTTP header of an HTTP response message that transmits a segment data body, and switching to an alternative server is performed based on the event information.
  • the first server 1a since the requests are concentrated on the first server 1a while the client 2 is acquiring content from the first server 1a, the first server 1a is in a high load state, and the client 2 is transferred from the first server 1a to the second server 1b. Indicates the case of switching.
  • the content acquisition unit 51 of the client 2 refers to the MPD data and transmits a request message 91 for requesting transmission of the Nth segment to the first server 1a.
  • the event information adding unit 24a detects that the first server 1a is in a high load state based on the processing amount measured by the processing amount measuring unit 23a (processing 92).
  • the event information adding unit 24a instructs the content transmitting unit 22a to describe the event information in the HTTP header of the HTTP response message for transmitting the segment data body acquired by the content acquiring unit 21a from the segment storage device 5.
  • the content transmission unit 22a adds event information as a MIME type (media type) parameter to the Content-Type header of the HTTP response message that transmits the segment body.
  • the content transmission unit 22 a transmits, as a response to the request message 71, a response message 93 including the data body of the Nth segment and event information added to the HTTP header to the client 2.
  • the content analysis unit 53 analyzes the response message 93.
  • the content analysis unit 53 analyzes the response message 93 and detects event information from the HTTP header, the content analysis unit 53 extracts the event information and outputs it to the switching determination unit 54. Since the switching determination unit 54 has received the event information, the switching determination unit 54 refers to the MPD data and executes a search for an alternative server different from the first server 1a (process 94).
  • the switching determination unit 54 determines the alternative server as the second server 1b and sets the content acquisition destination to the content acquisition unit 51 as the second server. Instruct to change to 1b.
  • the content acquisition unit 51 Upon receiving the instruction, the content acquisition unit 51 refers to the MPD data, and transmits a request message 95 for requesting the second server 1b to transmit the (N + 1) th segment to the second server 1a. Then, the content transmission unit 22b of the second server 1b transmits a response message 96 including the data body of the (N + 1) th segment to the client 2 as a response to the request message 95.
  • a response message 97 shown in FIG. 13 in which the URL of the alternative server is added to the HTTP header may be transmitted.
  • a response message 98 shown in FIG. 13 in which the server switching timing is added to the header may be transmitted.
  • immediate is described in the “exec” value, it indicates that the server is switched immediately, and when “next_period” is described, it indicates that the server is switched from the next period.
  • response message 93 a response message 99 shown in FIG. 13 in which event information is described using an HTTP extension header may be transmitted.
  • each block of the server 1 and the client 2 may be configured by hardware logic, or may be realized by software using a CPU as follows. .
  • the server 1 and the client 2 have a CPU (central processing unit) that executes instructions of a control program that realizes each function, a ROM (read only memory) that stores the program, and a RAM (random access memory that expands the program). ),
  • a storage device such as a memory for storing the program and 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 server 1 and the client 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.
  • Card system such as IC card, IC card (including memory card) / optical card, or semiconductor memory system such as mask ROM / EPROM / EEPROM (registered trademark) / flash ROM.
  • the server 1 and the client 2 may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
  • the communication network is not particularly limited.
  • the Internet intranet, extranet, LAN, ISDN, VAN, CATV communication network, virtual private network, telephone line network, mobile communication network, satellite communication. A net or the like is available.
  • the transmission medium constituting the communication network is not particularly limited.
  • infrared rays such as IrDA and remote control, Bluetooth ( (Registered trademark), 802.11 wireless, HDR, mobile phone network, satellite line, terrestrial digital network, and the like can also be used.
  • 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 apparatus that transmits MPEG-DASH standard content and a content reproduction apparatus that acquires and reproduces the content.
  • processing amount measuring unit processing amount measuring means
  • Event information adding unit information generating means
  • Content acquisition unit acquisition means
  • reception status measurement unit content analysis unit
  • switching determination unit switching determination unit 55 content reproduction unit

Landscapes

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

Abstract

 MPEG-DASH規格のコンテンツをクライアント(2)に送信するサーバ(1)は、サーバ(1)の処理量を測定する処理量測定部(23)と、処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成するイベント情報付加部(24)と、セグメントデータと共に、取得先切替指示情報を送信するコンテンツ送信部(22)とを備える。これにより、リアルタイムで最適な適応ストリーミングを実行する。

Description

コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
 本発明は、コンテンツを送信するコンテンツ送信装置、コンテンツを取得・再生するコンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体に関するものである。
 インターネットの普及やコンピュータの高性能化に伴い、インターネットを介して動画像などの大容量コンテンツを配信することが広く行われている。例えば、ユーザの要求に応じて動画等のコンテンツを提供するVOD(Video On Demand)というサービスがある。VODでは、例えば、特許文献1に記載されているように、HTTP(HyperText Transfer Protocol)を用いて、サーバ(コンテンツ提供装置)とクライアント(コンテンツ再生装置)との間でデータを送受信する。
 ここで、HTTPによるコンテンツの配信に関して、様々な技術が開発されている。例えば、MPEG(Motion Picture Experts Group)は、HTTPを利用した適応ストリーミング技術をMPEG-DASH(Dynamic Adaptive Streaming over HTTP)規格として国際標準化を進めている。
 MPEG-DASHでは、コンテンツは、複数のセグメント(segment)に時分割され、セグメント単位で伝送される。また、各セグメントは、1または複数のフラグメント(fragment)で構成される。また、コンテンツは、1または複数のピリオド(period)で構成されており、1つのピリオドに1または複数のセグメントが含まれる。
 また、MPEG-DASHでは、1つのコンテンツに対して品質種別(ビットレート、画像解像度等の再生品質や、データフォーマット等の種別)が異なる複数のRepresentationが準備される。例えば、セグメント毎に異なるビットレートで符号化した複数のセグメントデータを準備する。これにより、コンテンツを受信して再生するクライアントは、コンテンツの受信状況等に応じて、要求するコンテンツ(セグメント)のビットレートを変えることにより、適応ストリーミングを実行することができる。
 また、MPEG-DASHでは、内容および品質種別が同一のコンテンツ(セグメント)を複数のサーバにより提供してもよい。これにより、クライアントは、コンテンツの受信状況等に応じてコンテンツの取得先を切り替えることが可能になる。
 例えば、図14に示すように、第1サーバ101および第2サーバ102が、ネットワークを介して、コンテンツのデータ本体であるセグメントデータを格納するセグメント記憶装置106、コンテンツの管理情報であるMPDデータ(詳細は後述)を格納するMPD記憶装置105からそれぞれセグメントデータおよびMPDデータを取得するとする。この場合、クライアント103は、コンテンツの受信状況等に応じて、コンテンツの要求先を第1サーバ101または第2サーバ102に切り替えることができる。なお、第1サーバ101および第2サーバ102は、それぞれ、ローカルでセグメントデータおよびMPDデータを保持していてもよい。
 また、MPEG-DASHでは、コンテンツにMPD(Media Presentation Description)が対応付けられており、MPDによってコンテンツを管理する。MPDは、コンテンツのメタデータであって、コンテンツの管理情報をXML形式で記述したものである。換言すると、MPDは、クライアントがコンテンツの取得・再生時に利用する情報である。
 MPDの具体的な記述例を図15に基づいて説明する。図15は、MPDの記述例を示す図である。図15に示すように、MPD200には、コンテンツの取得先を示す取得先情報201が記述されている。より具体的には、図15に示す例では、取得先情報201として、サーバのURLが記述されている。また、ここでは、2つのサーバ(cdn1およびcdn2)のURLが記述されており、上述のように、クライアントは、MPD200を参照することにより、コンテンツの取得先を選択可能である。
 また、ここでは、コンテンツとして、ビットレートが1024kbpsの高品質Representationと、ビットレートが512kbpsの低品質Representationが用意されているものとする。そのため、MPD200には、或るピリオド(再生時刻0秒から600秒まで)に含まれるセグメントとして、高品質セグメントを示す高品質セグメント情報202と、低品質セグメントを示す低品質セグメント情報203とが記述されている。高品質セグメント情報202には、当該ピリオドに含まれる高品質RepresentationのIDおよびビットレートが記述されている。また、当該ピリオドに含まれる各セグメントの長さおよびURLが記述されている。また、低品質セグメント情報203も同様である。なお、当該ピリオドは、第1セグメント~第60セグメントの60個のセグメントで構成されている。
 次に、コンテンツの受信状況に基づいてサーバを切り替える場合の動作シーケンスおよびHTTPメッセージについて図16および図17に基づいて説明する。図16は、コンテンツの受信状況に基づいてサーバを切り替える場合の動作シーケンスの一例を示す図である。また、図17は、コンテンツの受信状況に基づいてサーバを切り替える場合のHTTPメッセージの一例を示す図である。
 ここでは、図14に示すように、第1サーバ101および第2サーバ102が、セグメント記憶装置106およびMPD記憶装置105からそれぞれセグメントデータおよびMPDデータを取得し、クライアント103は、コンテンツの要求先を第1サーバ(cdn1)101または第2サーバ(cdn2)102に切り替えることができるものとする。また、図15に示すMPD200がコンテンツに対応付けられているものとする。
 図16および図17に示すように、まず、クライアント103は、MPD200を参照して、第Nセグメントの送信を要求するためのリクエストメッセージ301を第1サーバ101に送信する。第1サーバ101は、リクエストメッセージ301の応答として、第Nセグメントのデータ本体を含むレスポンスメッセージ302をクライアント103に送信する。
 ここで、クライアント103は、第Nセグメントを受信した際に受信状況の悪化を検出すると(処理303)、MPD200を参照して、代替サーバの検索を行う(処理304)。ここでは、MPD200に第2サーバ102が記述されているため、クライアント103は、MPD200を参照して、第2サーバ102に次の第(N+1)セグメントの送信を要求するためのリクエストメッセージ305を第2サーバ102に送信する。第2サーバ102は、リクエストメッセージ305の応答として、第(N+1)セグメントのデータ本体を含むレスポンスメッセージ306をクライアント103に送信する。
 次に、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合(取得するRepresentationを切り替える場合)の動作シーケンスおよびHTTPメッセージについて図18および図19に基づいて説明する。図18は、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合の動作シーケンスの一例を示す図である。また、図19は、コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合のHTTPメッセージの一例を示す図である。
 ここでは、図15に示すMPD200がコンテンツに対応付けられているものとし、クライアント103は、第1サーバ(cdn1)101から、受信状況に応じて、高品質Representation(rep1)または低品質Representation(rep2)を取得するものとする。
 図18および図19に示すように、まず、クライアント103は、MPD200を参照して、高品質Representationの第Nセグメントの送信を要求するためのリクエストメッセージ311を第1サーバ101に送信する。第1サーバ101は、リクエストメッセージ311の応答として、高品質Representationの第Nセグメントのデータ本体を含むレスポンスメッセージ312をクライアント103に送信する。
 ここで、クライアント103は、高品質Representationの第Nセグメントを受信した際に受信状況の悪化を検出すると(処理313)、MPD200を参照して、代替Representationの検索を行う(処理314)。ここでは、MPD200に代替Representationとして低品質Representation(rep2)が記述されているため、クライアント103は、MPD200を参照して、第1サーバ101に低品質Representationの第(N+1)セグメントの送信を要求するためのリクエストメッセージ315を第1サーバ101に送信する。第1サーバ101は、リクエストメッセージ315の応答として、低品質Representationの第(N+1)セグメントのデータ本体を含むレスポンスメッセージ316をクライアント103に送信する。
特開2005-110244号公報(2005年4月21日公開)
"ISO/IEC 23009-1"、[online]、2012年4月1日、ISO/IEC、[平成24年6月19日検索]、インターネット<URL:http://standards.iso.org/ittf/PubliclyAvailableStandards/c057623_ISO_IEC_23009-1_2012.zip> "ISO/IEC 14496-12"、2008年10月15日、ISO/IEC
 しかしながら、上述の動作シーケンスにおいて、クライアントがコンテンツの受信状況の悪化を検出した場合、その原因がサーバの処理遅延によるものであるか、ネットワークの帯域不足によるものであるかを判断することができない。そのため、コンテンツの受信状況の悪化に対する対応として、サーバ切り替え、または、Representation切り替えのどちらを行えばよいか適切に判断することができないという問題がある。
 また、MPDの更新(代替サーバのURLを追記した新たなMPDの配信、あるいは代替サーバのURLの記述順序を変更した新たなMPDの配信等)によって、サーバ切り替えを実現する場合、クライアントにおいてMPD更新処理に伴う遅延を避けることができない、すなわち、リアルタイム性が低いという問題がある。
 具体的に、図20~図22に基づいて、MPDの更新によって、サーバ切り替えを実現する場合を説明する。図20は、MPDの更新によって、サーバ切り替えを実現する場合の動作シーケンスの一例を示す図である。図21は、MPD更新前のMPDを示す図であり、図22は、MPD更新後のMPDを示す図である。
 ここでは、第1サーバ101は、リクエストが集中して高負荷状態となると、MPDに第2サーバ102のURLを記述して、MPDを更新し、クライアント103に第2サーバ102へ切り替えるように促すものとする。また、クライアント103は、MPDの更新の有無を所定の間隔(60秒ごと)に確認するものとする。
 図20~図22に示すように、クライアント103は、図21に示すMPDに基づくコンテンツの取得処理と平行して、MPD更新有無の確認(ポーリング)を第1サーバ101に対して行う(処理401)。ここでは、第1サーバ101は、MPDを更新していないため、クライアント103に対して、MPD更新なしと通知する(処理402)。
 その後、第1サーバ101にリクエストが集中し、高負荷状態となったため、第1サーバ101は、第2サーバ102のURLが記述された、図22に示すMPDを生成し、MPDを更新する(処理403)。
 クライアント103は、次の更新確認のタイミングで、MPD更新有無の確認を第1サーバ101に対して行う(処理404)。このとき、MPDは更新されているため、第1サーバ101は、更新したMPDをクライアント103に送信する(処理405)。そして、クライアント103は、更新されたMPDを参照して、コンテンツの取得先を第2サーバ102に変更する。
 このように、第1サーバ101が高負荷状態になってから、クライアント103は、直ぐに第2サーバ102に切り替えるのではなく、MPD更新確認間隔に応じて、遅延が生じる。また、MPD更新確認間隔を短くした場合は、クライアント103および第1サーバ101の処理が増大するという問題、および、MPDの更新が無い場合でも、ポーリングに伴うデータ(例えば、HTTPメッセージ)のやり取りが頻繁に発生するため、ネットワーク帯域が圧迫されるという問題がある。
 本発明は、上記の問題点に鑑みてなされたものであり、その目的は、リアルタイムで最適な適応ストリーミングを実行するコンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体を実現することにある。
 本発明に係るコンテンツ送信装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信することを特徴としている。
 また、本発明に係るコンテンツ送信装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信することを特徴としている。
 上記の構成によれば、コンテンツ送信装置は、自装置の処理量が所定値以上の場合(すなわち、高負荷状態の場合)、コンテンツ再生装置がセグメント取得時に、当該コンテンツ再生装置に対して、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示することができる。そのため、コンテンツ送信装置が高負荷状態になった場合に、コンテンツ再生装置は、セグメントの受信状況の悪化の原因をリアルタイムで知ることができる。よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。
 また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記取得先切替指示情報を、上記セグメントのヘッダ部分に付加することが好ましい。
 また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記取得先切替指示情報を、上記レスポンスのヘッダに付加することが好ましい。
 また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、当該処理量に応じて、コンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する取得先切替指示情報を生成することが好ましい。
 上記の構成によれば、コンテンツ送信装置は、自装置の処理量に応じて(すなわち、高負荷状態の程度に応じて)、コンテンツ再生装置に対して、他のコンテンツ送信装置に切り替えるタイミングを指示することができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合(緊急性が低い場合)、コンテンツ送信装置は、コンテンツ再生装置に対して、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるように指示してもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合(緊急性が高い場合)、コンテンツ送信装置は、コンテンツ再生装置に対して、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるように指示してもよい。このように、コンテンツ送信装置は、自装置の処理量に応じて、コンテンツ再生装置に対して、リアルタイムでより最適な適応ストリーミングを実行させることができる。
 また、本発明に係るコンテンツ送信装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信することを特徴としている。
 また、本発明に係るコンテンツ送信装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信することを特徴としている。
 上記の構成によれば、コンテンツ送信装置は、自装置の処理量が所定値以上の場合(すなわち、高負荷状態の場合)、コンテンツ再生装置がセグメント取得時に、当該コンテンツ再生装置に対して、自装置が高負荷状態であることを通知することができる。そのため、コンテンツ送信装置が高負荷状態になった場合に、コンテンツ再生装置は、セグメントの受信状況の悪化の原因をリアルタイムで知ることができる。コンテンツ再生装置は、上記通知を受けて、コンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。
 また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記負荷状態情報を、上記セグメントのヘッダ部分に付加することが好ましい。
 また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記負荷状態情報を、上記レスポンスのヘッダに付加することが好ましい。
 また、本発明に係るコンテンツ送信装置は、上記情報生成手段は、上記処理量測定手段が測定した処理量が所定値以上の場合、当該処理量に応じて、上記コンテンツ送信装置の高負荷状態の程度を示す負荷状態情報を生成することが好ましい。
 上記の構成によれば、コンテンツ送信装置は、自装置の処理量に応じて(すなわち、高負荷状態の程度に応じて)、コンテンツ再生装置に対して、自装置の高負荷状態の程度を通知することができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低いことを通知した場合(緊急性が低いことを通知した場合)、コンテンツ再生装置は、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるようにしてもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高いことを通知した場合(緊急性が高いことを通知した場合)、コンテンツ再生装置は、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるようにしてもよい。このように、コンテンツ送信装置が自装置の高負荷状態の程度を通知することにより、コンテンツ再生装置は、リアルタイムでより最適な適応ストリーミングを実行することができる。
 また、本発明に係るコンテンツ再生装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。
 また、本発明に係るコンテンツ再生装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。
 上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の指示に基づいて、コンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。ここで、コンテンツ送信装置が高負荷状態になった場合、コンテンツ再生装置の上記セグメントの受信状況が悪化することが考えられる。よって、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
 また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。
 また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。
 また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記取得先切替指示情報がコンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する場合、指示されたタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することが好ましい。
 上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の指示に基づいて、指示されたタイミングでコンテンツの取得先を他のコンテンツ送信装置に切り替えることができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合(緊急性が低い場合)、コンテンツ送信装置は、コンテンツ再生装置に対して、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるように指示してもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合(緊急性が高い場合)、コンテンツ送信装置は、コンテンツ再生装置に対して、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるように指示してもよい。このように、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、コンテンツ送信装置の処理量に応じて、リアルタイムでより最適な適応ストリーミングを実行することができる。
 また、本発明に係るコンテンツ再生装置は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。
 また、本発明に係るコンテンツ再生装置の制御方法は、上記課題を解決するために、複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴としている。
 上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置が高負荷状態であるか否かを知ることができる。ここで、コンテンツ送信装置が高負荷状態になった場合、コンテンツ再生装置の上記セグメントの受信状況が悪化することが考えられる。よって、コンテンツ再生装置は、コンテンツ送信装置からの通知の有無に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
 また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。
 また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することが好ましい。
 また、本発明に係るコンテンツ再生装置は、上記取得手段は、上記負荷状態情報が上記コンテンツ送信装置の高負荷状態の程度を示す場合、その程度に応じた所定のタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することが好ましい。
 上記の構成によれば、コンテンツ再生装置は、コンテンツ送信装置からセグメント取得時に、当該コンテンツ送信装置の高負荷状態の程度を知ることができる。例えば、コンテンツ送信装置が高負荷状態であるが程度が低い場合(緊急性が低い場合)、コンテンツ再生装置は、次のセグメントの取得時から、または、次のピリオドに含まれるセグメントの取得時から、他のコンテンツ送信装置に切り替えるようにしてもよい。一方、コンテンツ送信装置が高負荷状態であり、程度が高い場合(緊急性が高い場合)、コンテンツ再生装置は、現在のリクエストを中断し、即座に他のコンテンツ送信装置に切り替えるようにしてもよい。このように、コンテンツ再生装置は、コンテンツ送信装置の高負荷状態の程度に応じて、リアルタイムでより最適な適応ストリーミングを実行することができる。
 また、本発明に係るコンテンツ配信システムは、上記コンテンツ送信装置と、上記コンテンツ再生装置とを含むことが好ましい。
 上記の構成によれば、コンテンツ配信システムは、上記コンテンツ送信装置および上記コンテンツ再生装置と同様の効果を奏する。
 また、コンテンツ再生装置がコンテンツ送信装置から取得するコンテンツを構成する複数のセグメントのデータ構造であって、上記セグメントのヘッダ部分に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするセグメントのデータ構造も本発明の範疇に含まれる。
 また、コンテンツ再生装置がコンテンツ送信装置に対してコンテンツを構成する各セグメントの送信を要求するリクエストに対する応答である、当該コンテンツ再生装置が取得した、当該セグメントを含むレスポンスのデータ構造であって、上記レスポンスのヘッダに、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするレスポンスのデータ構造も本発明の範疇に含まれる。
 なお、上記コンテンツ送信装置および上記コンテンツ再生装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記コンテンツ送信装置および上記コンテンツ再生装置の各手段として動作させることにより、上記コンテンツ送信装置および上記コンテンツ再生装置をコンピュータにて実現させる制御プログラム、及びそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
 以上のように、本発明に係るコンテンツ送信装置は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信する。
 また、本発明に係るコンテンツ送信装置の制御方法は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信する。
 よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。
 また、本発明に係るコンテンツ送信装置は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、上記コンテンツ送信装置の処理量を測定する処理量測定手段と、上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信する。
 また、本発明に係るコンテンツ送信装置の制御方法は、上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信する。
 よって、コンテンツ送信装置は、コンテンツ再生装置に対して、リアルタイムで最適な適応ストリーミングを実行させることができるという効果を奏する。
 また、本発明に係るコンテンツ再生装置は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。
 また、本発明に係るコンテンツ再生装置の制御方法は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。
 よって、コンテンツ再生装置は、コンテンツ送信装置の指示に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
 また、本発明に係るコンテンツ再生装置は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。
 また、本発明に係るコンテンツ再生装置の制御方法は、上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信する。
 よって、コンテンツ再生装置は、コンテンツ送信装置からの通知の有無に基づいて、当該コンテンツ送信装置と異なる他のコンテンツ送信装置に取得先を切り替えることにより、リアルタイムで最適な適応ストリーミングを実行することができるという効果を奏する。
本発明の実施形態を示すものであり、コンテンツ配信システムの構成の一例を示すブロック図である。 上記コンテンツ配信システムに含まれるサーバおよびクライアントの要部構成の一例を示す図である。 上記サーバのコンテンツ送信処理の一例を示すフローチャートである。 上記クライアントのコンテンツ取得処理の一例を示すフローチャートである。 イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。 イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの一例を示す図である。 従来のセグメントデータのデータ構造を示す図である。 イベント情報が付加されたセグメントデータのデータ構造を示す図である。 上記イベント情報のシンタックスの一例を示す図である。 上記イベント情報のセマンティクスの一例を示す図である。 セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。 セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの一例を示す図である。 セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの他の一例を示す図である。 従来技術を示すものであり、コンテンツ配信システムの構成の一例を示すブロック図である。 MPDの記述例を示す図である。 コンテンツの受信状況に基づいてサーバを切り替える場合の動作シーケンスの一例を示す図である。 コンテンツの受信状況に基づいてサーバを切り替える場合のHTTPメッセージの一例を示す図である。 コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合の動作シーケンスの一例を示す図である。 コンテンツの受信状況に基づいて取得するコンテンツの品質種別を切り替える場合のHTTPメッセージの一例を示す図である。 MPDの更新によって、サーバ切り替えを実現する場合の動作シーケンスの一例を示す図である。 MPD更新前のMPDを示す図である。 MPD更新後のMPDを示す図である。 MPDの記述例を示す図である。 イベントリストを示す図である。
 本発明の一実施形態について図1から図13に基づいて説明すると以下の通りである。まず、本実施形態のコンテンツ配信システムの概要について、図2に基づいて説明する。
 〔コンテンツ配信システムの概要〕
 図2は、本実施形態に係るコンテンツ配信システム6の概要を示す図である。図2に示すように、コンテンツ配信システム6は、第1サーバ1a、第2サーバ1b、クライアント2、プロキシ3、MPD記憶装置4およびセグメント記憶装置5を含む。
 図2に示すように、クライアント2は、プロキシ3を介して、第1サーバ1aおよび第2サーバ1bと接続する。また、第1サーバ1aおよび第2サーバ1bは、それぞれMPD記憶装置4およびセグメント記憶装置5と接続する。各装置は、有線通信または無線通信の任意のネットワークで接続される。
 なお、以下では、第1サーバ1aおよび第2サーバ1bを総称してサーバ1と称する。
 また、コンテンツ配信システム6の構成は図2に示す例に限るものではない。例えば、コンテンツ配信システム6は、サーバ1を3つ以上含んでいてもよいし、クライアント2を2つ以上含んでいてもよい。また、コンテンツ配信システム6は、プロキシ3を2つ以上含んでいてもよい。さらに、コンテンツ配信システム6は、プロキシ3を備えていなくてもよく、この場合、クライアント2は、サーバ1と直接接続する。
 また、本実施形態では、コンテンツ配信システム6におけるネットワーク上の伝送プロトコルは、ハイパーテキスト転送プロトコルとして広く用いられているHTTPを用いるものとする。また、サーバ1が配信するコンテンツは、映像コンテンツであり、コンテンツは、セグメント化されたISOBFFデータであるものとする。すなわち、本実施形態では、コンテンツ配信システム6は、上述のMPEG-DASH規格に基づくコンテンツを配信するものである。
 〔各装置の構成〕
 次に、図1に基づいて、第1サーバ1a、第2サーバ1bおよびクライアント2の要部構成について説明する。図1は、第1サーバ1a、第2サーバ1bおよびクライアント2の要部構成の一例を示す図である。なお、説明の便宜のため、図1では、プロキシ3を省略している。
 (サーバについて)
 サーバ1は、クライアント2からコンテンツの送信を要求する要求メッセージ(リクエスト)を受信して、受信した要求メッセージに対する応答メッセージ(レスポンス)を送信するコンテンツ送信装置である。具体的には、クライアント2からコンテンツ管理情報(MPD)の送信を要求するリクエストを受信すると、当該コンテンツのMPDを含むレスポンスをクライアント2に送信する。また、クライアント2からコンテンツを構成するセグメントの送信を要求するリクエストを受信すると、当該セグメントを含むレスポンスをクライアント2に送信する。
 なお、サーバ1は、ネットワーク7上のMPD記憶装置4およびセグメント記憶装置5からMPDデータおよびセグメントデータを取得するものであるが、これに限るものではない。例えば、各サーバ1は、ローカルでMPDデータおよびセグメントデータを保持していてもよい。
 図1に示すように、第1サーバ1aは、第1サーバ制御部11a、第1サーバ記憶部12aおよび第1サーバ通信部13aを有する。また、第1サーバ制御部11aは、機能ブロックとして、コンテンツ取得部21a、コンテンツ送信部22a、処理量測定部23aおよびイベント情報付加部24aを備える構成である。
 また、第2サーバ1bも、第1サーバ1aと同じ構成であり、第2サーバ制御部11b、第2サーバ記憶部12bおよび第2サーバ通信部13bを有する。また、第2サーバ制御部11bは、機能ブロックとして、コンテンツ取得部21b、コンテンツ送信部22b、処理量測定部23bおよびイベント情報付加部24bを備える構成である。
 以下では、第1サーバ制御部11aおよび第2サーバ制御部11b、第1サーバ記憶部12aおよび第2サーバ記憶部12b、並びに、第1サーバ通信部13aおよび第2サーバ通信部13bを総称して、サーバ制御部11、サーバ記憶部12並びにサーバ通信部13と称する。また、コンテンツ取得部21aおよび21b、コンテンツ送信部22aおよび22b、処理量測定部23aおよび23b、並びに、イベント情報付加部24aおよび24bを総称して、コンテンツ取得部21、コンテンツ送信部(送信手段)22、処理量測定部(処理量測定手段)23並びにイベント情報付加部(情報生成手段)24と称する。
 サーバ通信部13は、無線通信手段または有線通信手段によって、クライアント2、MPD記憶装置4およびセグメント記憶装置5等の他の装置と通信を行い、サーバ制御部11の指示に従って、データのやりとりを行うものである。
 サーバ制御部11は、サーバ記憶部12から一時記憶部(不図示)に読み出されたプログラムを実行することにより、各種の演算を行うと共に、サーバ1が備える各部を統括的に制御するものである。
 サーバ制御部11の各機能ブロック(21~24)は、CPU(central processing unit)が、ROM(read only memory)等で実現された記憶装置に記憶されているプログラムをRAM(random access memory)等で実現された一時記憶部に読み出して実行することで実現できる。
 コンテンツ取得部21は、コンテンツ送信部22からの指示に基づいて、MPD記憶装置4からMPDデータまたはセグメント記憶装置5からセグメントデータを取得するものである。コンテンツ取得部21は、MPDデータを取得した場合、取得したMPDデータをコンテンツ送信部22に出力し、セグメントデータを取得した場合、取得したセグメントデータをイベント情報付加部24に出力する。
 なお、コンテンツ取得部21は、コンテンツ送信部22からの指示の有無に関わらず、事前に、MPDデータおよび/またはセグメントデータを取得していても良い。この場合、コンテンツ取得部21は、事前に取得したMPDデータおよびセグメントデータをサーバ記憶部12に格納しておき、コンテンツ送信部22からの指示に基づいて、サーバ記憶部12からMPDデータおよびセグメントデータを読み出す。
 コンテンツ送信部22は、クライアント2からリクエストを受信すると、リクエストに対するレスポンスを当該クライアント2に送信するものである。具体的には、クライアント2からコンテンツ管理情報(MPD)の送信を要求するリクエストを受信すると、当該コンテンツのMPDを取得するようにコンテンツ取得部21に指示し、コンテンツ取得部21からMPDデータを取得すると、取得したMPDデータを含むレスポンスをクライアント2に送信する。また、クライアント2からコンテンツを構成するセグメントの送信を要求するリクエストを受信すると、当該セグメントを取得するようにコンテンツ取得部21に指示し、イベント情報付加部24からセグメントデータを取得すると、当該セグメントデータを含むレスポンスをクライアント2に送信する。
 処理量測定部23は、サーバ1の処理量を測定するものである。処理量測定部23は、実際の処理量(絶対値)を測定しても良いし、相対的な処理量(CPUの使用率等)を測定しても良い。あるいは、処理量測定部23は、クライアントからのリクエストの数を処理量としてもよい。処理量測定部23は、測定した処理量をイベント情報付加部24に通知する。
 イベント情報付加部24は、処理量測定部23から通知された処理量が所定値以上の場合、コンテンツ取得部21から取得したセグメントデータにイベント情報を付加してコンテンツ送信部22に出力する。一方、イベント情報付加部24は、処理量測定部23から通知された処理量が所定値未満の場合、コンテンツ取得部21から取得したセグメントデータをそのままコンテンツ送信部22に出力する。
 詳細は後述するが、イベント情報付加部24は、セグメントデータにイベント情報を付加する場合、セグメントデータ本体にISO/IEC 14496-12(ISOBFF)で規定されるbox形式で付加してもよいし(例えば、セグメントデータのヘッダ部分にイベント情報を付加(挿入)する)、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を付加してもよい。
 また、イベント情報付加部24が付加するイベント情報は、クライアント2にコンテンツの取得先のサーバを(強制的に)切り替えさせるサーバ切替指示情報(取得先切替指示情報)であってもよいし、単にサーバ1の処理量を示す負荷状態情報であってもよい。また、イベント情報は、サーバ切替指示情報もしくは負荷状態情報に加えて、代替サーバを示す代替サーバ情報を含んでいてもよい。
 また、イベント情報付加部24は、サーバ切替指示情報の内容を処理量測定部23から通知された処理量に応じて生成してもよい。例えば、所定値以上の処理量を、高負荷状態A、高負荷状態B、高負荷状態Cの3つの範囲に区分したとする(高負荷状態A>高負荷状態B>高負荷状態Cとする)。この場合、イベント情報付加部24は、処理量が高負荷状態Aであれば、現在のリクエストを中断し、即座にサーバ1の切り替えを指示するサーバ切替指示情報を生成し、処理量が高負荷状態Bであれば、次のセグメントのリクエストからサーバ1の切り替えを指示するサーバ切替指示情報を生成し、処理量が高負荷状態Cであれば、次のピリオドのリクエストからサーバ1の切り替えを指示するサーバ切替指示情報を生成してもよい。
 なお、イベント情報付加部24は、イベント情報として負荷状態情報を生成する場合、処理量が高負荷状態Aであれば、高負荷状態Aを示す負荷状態情報を生成し、処理量が高負荷状態Bであれば、高負荷状態Bを示す負荷状態情報を生成し、処理量が高負荷状態Cであれば、高負荷状態Cを示す負荷状態情報を生成してもよい。
 サーバ記憶部12は、サーバ制御部11が参照するプログラムやデータ等を格納するものであり、例えば、コンテンツ取得部21が取得したMPDデータおよびセグメントデータ等を格納してもよい。
 (クライアントについて)
 クライアント2は、サーバ1等の他の装置から取得したコンテンツ、または、自装置に格納しているコンテンツを再生するコンテンツ再生装置である。クライアント2は、例えば、デジタルテレビ、レコーダ、STB(Set Top Box)、PC、携帯電話機、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、デジタルビデオ等である。
 図1に示すように、クライアント2は、クライアント制御部41、クライアント記憶部42、クライアント通信部43、表示部44および音声出力部45を備える。なお、クライアント2は、操作部、音声入力部等の部材を備えていてもよいが、発明の特徴点とは関係がないため当該部材を図示していない。
 クライアント通信部43は、無線通信手段または有線通信手段によって、サーバ1、プロキシ3等の他の装置と通信を行い、クライアント制御部41の指示に従って、データのやりとりを行うものである。
 表示部44は、クライアント制御部41の指示に従って画像を表示するものである。表示部44は、クライアント制御部41の指示に従って画像を表示するものであればよく、例えば、LCD(液晶ディスプレイ)、有機ELディスプレイ、プラズマディスプレイなどを適用することが可能である。
 音声出力部45は、クライアント制御部41から電気信号を受信し、受信した電気信号を音に変換し、クライアント2の外部に音を出力するものである。音声出力部45は、いわゆるスピーカである。
 クライアント制御部41は、クライアント記憶部42から一時記憶部(不図示)に読み出されたプログラムを実行することにより、各種の演算を行うと共に、クライアント2が備える各部を統括的に制御するものである。
 本実施形態では、クライアント制御部41は、機能ブロックとして、コンテンツ取得部(取得手段)51、受信状況測定部52、コンテンツ解析部53、切替判定部54およびコンテンツ再生部55を備える構成である。これらのクライアント制御部41の各機能ブロック(51~55)は、CPUが、ROM等で実現された記憶装置に記憶されているプログラムをRAM等で実現された一時記憶部に読み出して実行することで実現できる。
 コンテンツ取得部51は、サーバ1にクライアント通信部43を介してリクエストを送信し、サーバ1からコンテンツ(コンテンツに対応付けられたMPDおよびコンテンツを構成するセグメント)を取得するものである。
 具体的には、コンテンツ取得部51は、ユーザから操作部(不図示)を介してコンテンツの取得(再生)指示が入力されると、当該コンテンツの管理情報(MPD)の送信を要求するリクエストをサーバ1に送信する。そして、コンテンツ取得部51は、当該リクエストのレスポンスとして、上記コンテンツのMPDデータを受信する。コンテンツ取得部51は、受信したMPDデータを参照して、上記コンテンツを構成するセグメントの送信を要求するリクエストをサーバ1に送信する。そして、コンテンツ取得部51は、当該リクエストのレスポンスとして、上記コンテンツのセグメントデータを取得する。コンテンツ取得部51は、取得したセグメントデータをコンテンツ解析部53およびコンテンツ再生部55に出力する。
 受信状況測定部52は、クライアント通信部43が受信するデータの受信状況を測定するものである。受信状況測定部52は、測定した受信状況を切替判定部54に通知する。
 コンテンツ解析部53は、コンテンツ取得部51からセグメントデータを取得すると、取得したセグメントデータを解析し、セグメントデータにイベント情報が付加されている場合、セグメントデータに付加されたイベント情報を抽出するものである。コンテンツ解析部53は、抽出したイベント情報を切替判定部54に出力する。
 切替判定部54は、受信状況測定部52から受信状況を受信すると、受信状況が良好か否かを判定する。切替判定部54は、受信状況が良好でないと判定した場合、さらに、コンテンツ解析部53からイベント情報を受信したか否かを判定する。切替判定部54は、イベント情報を受信していない場合、受信状況の悪化の原因はネットワークの帯域不足であると判断し、コンテンツ取得部51に対して、より低品質のセグメントを取得するように指示する。一方、切替判定部54は、イベント情報を受信した場合、サーバ1が高負荷状態のために受信状況が悪化したと判断し、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更するように指示する。
 また、切替判定部54は、イベント情報に代替サーバ情報が含まれている場合、コンテンツ取得部51に対して、代替サーバ情報の示すサーバ1にコンテンツの取得先を変更するように指示する。
 なお、イベント情報が負荷状態情報の場合、切替判定部54は、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更させるか否か、および、どのタイミングでサーバ1を変更させるかを自由に決めてもよい。例えば、切替判定部54は、負荷状態情報(イベント情報)を受信した場合であっても、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更するように指示しなくてもよい。また、切替判定部54は、乱数値を生成し、負荷状態情報を受信した場合、生成した乱数値が所定の値の場合にのみ、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更するように指示してもよい。また、切替判定部54は、高負荷状態Cを示す負荷状態情報を受信した場合に、コンテンツ取得部51に対して、現在のリクエストを中断し、即座にサーバを切り替えるように指示してもよい。
 また、切替判定部54は、受信状況に関わらず、セグメントデータにイベント情報が付加されているか否かによって、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を変更するように指示してもよい。
 コンテンツ再生部55は、コンテンツ取得部51からセグメントデータを取得すると、MPDデータを参照して、取得したセグメントデータに基づいてコンテンツを再生するものである。
 クライアント記憶部42は、クライアント制御部41が参照するプログラムやデータ等を格納するものであり、例えば、コンテンツ取得部51が取得したMPDデータおよびセグメントデータ等を格納してもよい。
 〔サーバの処理〕
 次に、図3に基づいて、サーバ1のコンテンツ送信処理について説明する。図3は、サーバ1のコンテンツ送信処理の一例を示すフローチャートである。
 図3に示すように、サーバ1は、クライアント2からリクエストが送信されるのを待つ(S1、S4)。ここで、コンテンツ送信部22がクライアント2からコンテンツ管理情報(MPD)の送信を要求するリクエストを受信した場合(S1でYES)、コンテンツ送信部22は、コンテンツ取得部21に対して、受信したリクエストの示すコンテンツに対応付けられたMPDを取得するように指示する。
 コンテンツ送信部22から指示を受けたコンテンツ取得部21は、サーバ通信部13を介して、MPD記憶装置4からMPDデータを取得する(S2)。コンテンツ取得部21は、取得したMPDデータをコンテンツ送信部22に出力する。そして、コンテンツ送信部22は、コンテンツ取得部21から取得したMPDデータを含むレスポンスをクライアント2に送信する(S3)。
 また、コンテンツ送信部22がクライアント2からセグメントの送信を要求するリクエストを受信した場合(S4でYES)、コンテンツ送信部22は、コンテンツ取得部21に対して、受信したリクエストの示すセグメントを取得するように指示する。
 コンテンツ送信部22から指示を受けたコンテンツ取得部21は、サーバ通信部13を介して、セグメント記憶装置5からセグメントデータを取得する(S5)。コンテンツ取得部21は、取得したセグメントデータをイベント情報付加部24に出力する。
 イベント情報付加部24は、コンテンツ取得部21からセグメントデータを取得すると、処理量測定部23から通知された処理量が所定値以上であるか否かを判定する(S6)。処理量が所定値以上の場合(S6でYES)、イベント情報付加部24は、取得したセグメントデータにイベント情報を付加してコンテンツ送信部22に出力し、コンテンツ送信部22は、イベント情報付加部24から取得した、イベント情報が付加されたセグメントデータを含むレスポンスをクライアント2に送信する(S7)。一方、処理量が所定値未満の場合(S6でNO)、イベント情報付加部24は、取得したセグメントデータをそのままコンテンツ送信部22に出力し、コンテンツ送信部22は、イベント情報付加部24から取得したセグメントデータを含むレスポンスをクライアント2に送信する(S8)。
 〔クライアントの処理〕
 次に、図4に基づいて、クライアント2のコンテンツ取得処理について説明する。図4は、クライアント2のコンテンツ取得処理の一例を示すフローチャートである。ここでは、クライアント2が、まず、第1サーバ1aにリクエストを送信し、サーバ1を切り替える場合は第2サーバ1bに切り替えるものとする。
 図4に示すように、まず、コンテンツ取得部51は、第1サーバ1aにコンテンツ管理情報(MPD)の送信を要求するリクエストを送信する(S11)。そして、コンテンツ取得部51は、このリクエストに対するレスポンスを受信し、レスポンスに含まれるMPDデータを取得する(S12)。
 次に、コンテンツ取得部51は、受信したMPDデータを参照して、コンテンツを構成するセグメントの送信を要求するリクエストを第1サーバ1aに送信する(S13)。そして、コンテンツ取得部51は、このリクエストに対するレスポンスを受信し、レスポンスに含まれるセグメントデータを取得する(S14)。
 ここで、コンテンツを構成するすべてのセグメントデータを受信していない場合(S15でNO)、切替判定部54は、コンテンツ解析部53からイベント情報を受信したか否か、すなわち、セグメントデータにイベント情報が付加されているか否かを判定する(S16)。セグメントデータにイベント情報が付加されている場合(S16でYES)、切替判定部54は、コンテンツ取得部51に対して、コンテンツの取得先のサーバ1を第2サーバ1bに変更するように指示する。指示を受けたコンテンツ取得部51は、次のセグメントの送信を要求するリクエストを第2サーバ1bに送信する(S17)。
 一方、セグメントデータにイベント情報が付加されていない場合(S16でNO)、切替判定部54は、受信状況測定部52から通知された受信状況に基づいて、受信状況が良好か否かを判定する(S18)。受信状況が良好である場合(S18でYES)、コンテンツ取得部51は、次のセグメントの送信を要求するリクエストを第1サーバ1aに送信する(S19)。一方、受信状況が良好でない場合(S18でNO)、切替判定部54は、コンテンツ取得部51に対して、より低品質のセグメントを取得するように指示する。指示を受けたコンテンツ取得部51は、次のセグメントであって、低品質セグメントの送信を要求するリクエストを第1サーバ1aに送信する(S20)。
 〔実施例1〕
 次に、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える具体的な実施例を図5および図6に基づいて説明する。図5は、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。また、図6は、イベント情報をセグメントデータ本体にISOBFFで規定されるbox形式で付加し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの一例を示す図である。
 ここでは、クライアント2が第1サーバ1aからコンテンツを取得中に、第1サーバ1aにリクエストが集中したため、第1サーバ1aが高負荷状態となり、クライアント2が第1サーバ1aから第2サーバ1bに切り替える場合を示す。
 図5および図6に示すように、クライアント2のコンテンツ取得部51は、MPDデータを参照して、第Nセグメントの送信を要求するためのリクエストメッセージ71を第1サーバ1aに送信する。ここで、イベント情報付加部24aは、処理量測定部23aが測定した処理量に基づいて、第1サーバ1aが高負荷状態であることを検知する(処理72)。イベント情報付加部24aは、コンテンツ取得部21aがセグメント記憶装置5から取得したセグメントデータに、イベント情報をISOBFFで規定されるbox形式で付加して、コンテンツ送信部22aに出力する。そして、コンテンツ送信部22aは、リクエストメッセージ71の応答として、イベント情報が付加された第Nセグメントのデータ本体を含むレスポンスメッセージ73をクライアント2に送信する。
 クライアント2のコンテンツ取得部51がレスポンスメッセージ73を受信して、セグメントデータを取得すると、コンテンツ解析部53がセグメントデータを解析する。コンテンツ解析部53は、セグメントデータを解析し、イベント情報を検出すると、イベント情報を抽出し、切替判定部54に出力する。切替判定部54は、イベント情報を受信したため、MPDデータを参照して、第1サーバ1aと異なる代替サーバの検索を実行する(処理74)。ここでは、切替判定部54は、MPDデータに第2サーバ1bが記載されているため、代替サーバを第2サーバ1bに決定し、コンテンツ取得部51に対して、コンテンツの取得先を第2サーバ1bに変更するように指示する。
 指示を受けたコンテンツ取得部51は、MPDデータを参照して、第2サーバ1bに第(N+1)セグメントの送信を要求するためのリクエストメッセージ75を第2サーバ1aに送信する。そして、第2サーバ1bのコンテンツ送信部22bは、リクエストメッセージ75の応答として、第(N+1)セグメントのデータ本体を含むレスポンスメッセージ76をクライアント2に送信する。
 (セグメントデータのデータ構造)
 ここで、イベント情報がISOBFFで規定されるbox形式で付加されたセグメントデータのデータ構造について説明する。
 まず、従来の基本的なセグメントデータのデータ構造について図7に基づいて説明する。図7は、従来のセグメントデータのデータ構造を示す図である。図7に示すように、従来のセグメントデータ80は、1つのstyp(Segment Type Box)81、1つのsidx(Segment Index Box)82、並びに、moof(Movie Fragment Box)83およびmdat(Media Data Box)84の1つまたは複数の組から構成される。
 styp81は、セグメントの種別および/またはバージョン情報等を示す情報である。sidx82は、セグメント内のランダムアクセスポイントに関する情報である。moof83およびmdat84は、セグメントを構成するフラグメントに関する情報である。
 次に、イベント情報が付加されたセグメントデータのデータ構造について図8に基づいて説明する。図8は、イベント情報が付加されたセグメントデータのデータ構造を示す図である。図8に示すように、イベント情報が付加されたセグメントデータ85は、従来の構成に加えて、1つのsswi(Server Switching Box)86を備える。
 sswi86は、サーバ切替指示情報または負荷状態情報を含むイベント情報である。sswi86は、styp81の直後に配置されているが、sidx82の直後や、イベントが発生した時刻に対応するmoof83およびmdat84の直前、または直後に配置してもよい。
 また、sswi86のシンタックスおよびセマンティクスの一例を図9および図10に基づいて説明する。図9は、(a)がsswi86のシンタックスの一例を示す図であり、(b)がstyp81のシンタックスの一例を示す図である。図10は、sswi86のセマンティクスの一例を示す図である。
 図9の(a)に示すように、sswi86には、「exec_type」、「alt_server_location_flag」、「reserved」および「alt_server_location」が規定されている。「exec_type」は、3ビットのフラグであり、サーバ切替指示情報または負荷状態情報である。また、「alt_server_location_flag」は、1ビットのフラグであり、代替サーバ情報の有無を示すものである。また、「alt_server_location」は、代替サーバのURL等の文字列が記述されるものである。つまり、「alt_server_location_flag」および「alt_server_location」は、代替サーバ情報である。
 具体的に、図10に示すように、「exec_type」がサーバ切替指示情報の場合、「exec_type」の値が‘000(2進表記)’であれば、現在のリクエストを中断し、即座にサーバ1の切り替えを指示することを示す。また、値が‘001’であれば、次のセグメントのリクエストからのサーバ1の切り替えを指示することを示す。また、値が‘010’であれば、次のピリオドのリクエストからのサーバ1の切り替えを指示することを示す。
 また、「alt_server_location_flag」の値が‘0’の場合、イベント情報(sswi86)が代替サーバのURLを含まないこと(代替サーバ情報を含まないこと)を示す。また、値が‘1’の場合、イベント情報(sswi86)が代替サーバのURLを含むことを示す。
 あるいは、図9の(b)に示すように、styp81のcompatible_brandsフィールドにcompatible brandの1つとして‘sswi’を記述することによって、サーバの切替を指示、または高負荷状態を通知してもよい。
 このように、イベント情報をセグメントデータ本体に付加する場合、HTTPヘッダ等を無視するプロキシ等を経由した場合であっても、途中でイベント情報が失われることがないため、クライアントへ確実にイベントを通知することができる。
 また、MPEG-DASHでは、1つのコンテンツに対して品質種別が異なる複数のRepresentationが準備されるが、必ずしもすべてのRepresentationにイベント情報を付加するとは限らない。そのため、イベント情報をセグメントデータ本体に付加する可能性がある場合には、事前にMPDでイベント情報の存在を通知するようにしてもよい。
 図23は、イベント情報の存在の通知を含むMPDの記述例を示す図である。図23に示すように、Representation要素内にイベント情報の存在を示すEventInfo要素が記述されている。EventInfo要素は、イベントリストを識別するためのschemeIdUri属性と、セグメントデータ本体に付加されるイベントの内容を識別するためのvalue属性を含む。
 図24は、schemeIdUri=”urn:mpeg:dash:event:2012”で定義されるイベントリストを示す図である。value=”1”の場合、サーバ切替指示を示すイベント情報がRepresentationに存在することを示す。なお、イベントを追加する場合には、イベントリストにvalueの値とイベントの内容を新たに定義すればよい。
 図23の記述例では、ビットレートが1024kbpsのRepresentationには、EventInfo要素が記述されているため、サーバ切替指示を示すイベント情報が付加される可能性があることを示している。一方、ビットレートが512kbpsのRepresentationには、EventInfo要素が記述されていないため、サーバ切替指示を示すイベント情報が付加される可能性がないことを示している。
 〔実施例2〕
 次に、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える具体的な実施例を図11および図12に基づいて説明する。図11は、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合の動作シーケンスの一例を示す図である。また、図12は、セグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述し、そのイベント情報に基づいて、代替サーバへ切り替える場合のHTTPメッセージの一例を示す図である。
 ここでは、クライアント2が第1サーバ1aからコンテンツを取得中に、第1サーバ1aにリクエストが集中したため、第1サーバ1aが高負荷状態となり、クライアント2が第1サーバ1aから第2サーバ1bに切り替える場合を示す。
 図11および図12に示すように、クライアント2のコンテンツ取得部51は、MPDデータを参照して、第Nセグメントの送信を要求するためのリクエストメッセージ91を第1サーバ1aに送信する。ここで、イベント情報付加部24aは、処理量測定部23aが測定した処理量に基づいて、第1サーバ1aが高負荷状態であることを検知する(処理92)。イベント情報付加部24aは、コンテンツ取得部21aがセグメント記憶装置5から取得したセグメントデータ本体を送信するHTTPレスポンスメッセージのHTTPヘッダにイベント情報を記述するようにコンテンツ送信部22aに指示する。そして、コンテンツ送信部22aは、セグメント本体を送信するHTTPレスポンスメッセージのContent-TypeヘッダにMIME Type(メディアタイプ)のパラメータとしてイベント情報を付加する。そして、コンテンツ送信部22aは、リクエストメッセージ71の応答として、第Nセグメントのデータ本体を含み、HTTPヘッダにイベント情報が付加されたレスポンスメッセージ93をクライアント2に送信する。
 クライアント2のコンテンツ取得部51がレスポンスメッセージ93を受信して、セグメントデータを取得すると、コンテンツ解析部53がレスポンスメッセージ93を解析する。コンテンツ解析部53は、レスポンスメッセージ93を解析し、HTTPヘッダからイベント情報を検出すると、イベント情報を抽出し、切替判定部54に出力する。切替判定部54は、イベント情報を受信したため、MPDデータを参照して、第1サーバ1aと異なる代替サーバの検索を実行する(処理94)。ここでは、切替判定部54は、MPDデータに第2サーバ1bが記載されているため、代替サーバを第2サーバ1bに決定し、コンテンツ取得部51に対して、コンテンツの取得先を第2サーバ1bに変更するように指示する。
 指示を受けたコンテンツ取得部51は、MPDデータを参照して、第2サーバ1bに第(N+1)セグメントの送信を要求するためのリクエストメッセージ95を第2サーバ1aに送信する。そして、第2サーバ1bのコンテンツ送信部22bは、リクエストメッセージ95の応答として、第(N+1)セグメントのデータ本体を含むレスポンスメッセージ96をクライアント2に送信する。
 なお、変形例として、レスポンスメッセージ93の代わりに、HTTPヘッダに代替サーバのURLが追記された、図13に示すレスポンスメッセージ97を送信してもよい。
 また、レスポンスメッセージ93の代わりに、ヘッダにサーバ切替タイミングが追記された、図13に示すレスポンスメッセージ98を送信してもよい。レスポンスメッセージ98では、「exec=next_segment」と記述されており、これは次のセグメントからサーバを切り替えることを示す。「exec」の値に「immediate」が記述されている場合は、サーバを即座に切り替えることを示し、「next_period」が記述されている場合は、次のピリオドから切り替えることを示す。
 また、レスポンスメッセージ93の代わりに、HTTP拡張ヘッダを利用してイベント情報を記述した、図13に示すレスポンスメッセージ99を送信してもよい。
 このように、イベント情報をレスポンスメッセージのHTTPヘッダに付加する場合、サーバで複数のRepresentationを準備する場合であっても、Representation毎にイベント情報を付加したセグメントを生成する必要が無くなる。換言すると、イベント情報付加に伴う追加処理がRepresentationの数に依存しない。
 〔補足〕
 本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 最後に、サーバ1およびクライアント2の各ブロック、特にサーバ制御部11およびクライアント制御部41は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
 すなわち、サーバ1およびクライアント2は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納した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等の半導体メモリ系などを用いることができる。
 また、サーバ1およびクライアント2を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
 本発明は、MPEG-DASH規格のコンテンツを送信するコンテンツ送信装置、および、当該コンテンツを取得・再生するコンテンツ再生装置に利用することができる
 1  サーバ
 2  クライアント
 3  プロキシ
 4  MPD記憶装置
 5  セグメント記憶装置
 6  コンテンツ配信システム
21  コンテンツ取得部
22  コンテンツ送信部(送信手段)
23  処理量測定部(処理量測定手段)
24  イベント情報付加部(情報生成手段)
51  コンテンツ取得部(取得手段)
52  受信状況測定部
53  コンテンツ解析部
54  切替判定部
55  コンテンツ再生部

Claims (26)

  1.  複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、
     上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、
     上記コンテンツ送信装置の処理量を測定する処理量測定手段と、
     上記処理量測定手段が測定した直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成手段と、を備え、
     上記送信手段は、上記情報生成手段が取得先切替指示情報を生成した場合、上記セグメントと共に、上記情報生成手段が生成した取得先切替指示情報を送信することを特徴とするコンテンツ送信装置。
  2.  上記情報生成手段は、上記取得先切替指示情報を、上記セグメントのヘッダ部分に付加することを特徴とする請求項1に記載のコンテンツ送信装置。
  3.  上記情報生成手段は、上記取得先切替指示情報を、上記レスポンスのヘッダに付加することを特徴とする請求項1に記載のコンテンツ送信装置。
  4.  上記情報生成手段は、上記処理量測定手段が測定した直近の処理量が所定値以上の場合、当該処理量に応じて、コンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する取得先切替指示情報を生成することを特徴とする請求項1~3の何れか1項に記載のコンテンツ送信装置。
  5.  複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置であって、
     上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信手段と、
     上記コンテンツ送信装置の処理量を測定する処理量測定手段と、
     上記処理量測定手段が測定した処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成手段と、を備え、
     上記送信手段は、上記セグメントと共に、上記情報生成手段が生成した直近の負荷状態情報を送信することを特徴とするコンテンツ送信装置。
  6.  上記情報生成手段は、上記負荷状態情報を、上記セグメントのヘッダ部分に付加することを特徴とする請求項5に記載のコンテンツ送信装置。
  7.  上記情報生成手段は、上記負荷状態情報を、上記レスポンスのヘッダに付加することを特徴とする請求項5に記載のコンテンツ送信装置。
  8.  上記情報生成手段は、上記処理量測定手段が測定した処理量が所定値以上の場合、当該処理量に応じて、上記コンテンツ送信装置の高負荷状態の程度を示す負荷状態情報を生成することを特徴とする請求項5~7の何れか1項に記載のコンテンツ送信装置。
  9.  複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、
     上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、
     上記取得手段は、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置。
  10.  上記取得手段は、上記取得先切替指示情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項9に記載のコンテンツ再生装置。
  11.  上記取得手段は、上記取得先切替指示情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項9に記載のコンテンツ再生装置。
  12.  上記取得手段は、上記取得先切替指示情報がコンテンツの取得先を他のコンテンツ送信装置に切り替えるタイミングを指示する場合、指示されたタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することを特徴とする請求項9~11の何れか1項に記載のコンテンツ再生装置。
  13.  複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置であって、
     上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得手段を備え、
     上記取得手段は、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置。
  14.  上記取得手段は、上記負荷状態情報が上記セグメントのヘッダ部分に付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項13に記載のコンテンツ再生装置。
  15.  上記取得手段は、上記負荷状態情報が上記レスポンスのヘッダに付加されている場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とする請求項13に記載のコンテンツ再生装置。
  16.  上記取得手段は、上記負荷状態情報が上記コンテンツ送信装置の高負荷状態の程度を示す場合、その程度に応じた所定のタイミングで他のコンテンツ送信装置に対して上記リクエストを送信することを特徴とする請求項13~15の何れか1項に記載のコンテンツ再生装置。
  17.  請求項1~8の何れか1項に記載のコンテンツ送信装置と、
     請求項9~16の何れか1項に記載のコンテンツ再生装置とを含むコンテンツ配信システム。
  18.  複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、
     上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、
     上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、
     上記処理量測定ステップにおいて測定された直近の処理量が所定値以上の場合、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を生成する情報生成ステップと、を含み、
     上記送信ステップは、上記情報生成ステップにおいて取得先切替指示情報を生成した場合、上記セグメントと共に、当該情報生成ステップにおいて生成された取得先切替指示情報を送信することを特徴とするコンテンツ送信装置の制御方法。
  19.  複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ再生装置に送信するコンテンツ送信装置の制御方法であって、
     上記コンテンツ再生装置からの各セグメントの送信を要求するリクエストに対する応答として、当該セグメントを含むレスポンスを当該コンテンツ再生装置に送信する送信ステップと、
     上記コンテンツ送信装置の処理量を測定する処理量測定ステップと、
     上記処理量測定ステップにおいて測定された処理量が所定値以上の場合、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を生成する情報生成ステップと、を含み、
     上記送信ステップは、上記セグメントと共に、上記情報生成ステップにおいて生成された直近の負荷状態情報を送信することを特徴とするコンテンツ送信装置の制御方法。
  20.  複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、
     上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、
     上記取得ステップは、上記セグメントと共に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置の制御方法。
  21.  複数のセグメントから構成されるコンテンツをセグメント毎にコンテンツ送信装置から取得して再生するコンテンツ再生装置の制御方法であって、
     上記コンテンツ送信装置に対して各セグメントの送信を要求するリクエストを送信し、当該リクエストに対する応答として、当該セグメントを含むレスポンスを取得する取得ステップを含み、
     上記取得ステップは、上記セグメントと共に、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を取得した場合、上記リクエストを他のコンテンツ送信装置に対して送信することを特徴とするコンテンツ再生装置の制御方法。
  22.  コンテンツ再生装置がコンテンツ送信装置から取得するコンテンツを構成する複数のセグメントのデータ構造であって、
     上記セグメントのヘッダ部分に、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするセグメントのデータ構造。
  23.  コンテンツ再生装置がコンテンツ送信装置に対してコンテンツを構成する各セグメントの送信を要求するリクエストに対する応答である、当該コンテンツ再生装置が取得した、当該セグメントを含むレスポンスのデータ構造であって、
     上記レスポンスのヘッダに、コンテンツの取得先を他のコンテンツ送信装置に切り替えることを指示する取得先切替指示情報、または、上記コンテンツ送信装置が高負荷状態であることを示す負荷状態情報を含むことを特徴とするレスポンスのデータ構造。
  24.  請求項1~8の何れか1項に記載のコンテンツ送信装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
  25.  請求項9~16の何れか1項に記載のコンテンツ再生装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
  26.  請求項24および25の少なくとも1項に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
PCT/JP2013/067983 2012-07-10 2013-07-01 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体 Ceased WO2014010444A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201380035385.9A CN104429090A (zh) 2012-07-10 2013-07-01 内容发送装置、内容再生装置、内容分发系统、内容发送装置的控制方法、内容再生装置的控制方法、数据结构、控制程序以及记录介质
JP2014524738A JPWO2014010444A1 (ja) 2012-07-10 2013-07-01 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
US14/413,068 US20150172762A1 (en) 2012-07-10 2013-07-01 Content transmission device, content playback device, content delivery system, control method for content transmission device, control method for content playback device, data structure, control program, and recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012-155076 2012-07-10
JP2012155076 2012-07-10
JP2012-224169 2012-10-09
JP2012224169 2012-10-09

Publications (1)

Publication Number Publication Date
WO2014010444A1 true WO2014010444A1 (ja) 2014-01-16

Family

ID=49915908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/067983 Ceased WO2014010444A1 (ja) 2012-07-10 2013-07-01 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体

Country Status (4)

Country Link
US (1) US20150172762A1 (ja)
JP (1) JPWO2014010444A1 (ja)
CN (1) CN104429090A (ja)
WO (1) WO2014010444A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2558086A (en) * 2014-03-25 2018-07-04 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
JP2020080460A (ja) * 2018-11-12 2020-05-28 日本電信電話株式会社 システム制御装置、システム制御方法、及びプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106464985B (zh) * 2015-04-30 2019-04-12 华为技术有限公司 一种媒体流传输方法及装置
RU2728534C2 (ru) * 2016-02-12 2020-07-30 Сони Корпорейшн Устройство обработки информации и способ обработки информации
CN108668179B (zh) * 2017-03-27 2021-05-14 华为技术有限公司 媒体索引文件的传输方法及相关设备
US10587669B2 (en) * 2017-12-20 2020-03-10 Facebook, Inc. Visual quality metrics

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11187340A (ja) * 1997-12-22 1999-07-09 Hitachi Ltd 分散型ストリーム処理システム
JP2006113735A (ja) * 2004-10-13 2006-04-27 Nippon Hoso Kyokai <Nhk> 配信システム、配信サーバ、受信端末、配信プログラム、及び取得プログラム
JP2009260569A (ja) * 2008-04-15 2009-11-05 Canon Inc データ配信システム及びデータ配信方法
WO2012011490A1 (ja) * 2010-07-20 2012-01-26 シャープ株式会社 コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874775B2 (en) * 2008-10-15 2014-10-28 Aster Risk Management Llc Balancing a distributed system by replacing overloaded servers
US8589996B2 (en) * 2011-03-16 2013-11-19 Azuki Systems, Inc. Method and system for federated over-the-top content delivery
KR20120119790A (ko) * 2011-04-22 2012-10-31 삼성전자주식회사 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치
CN102291447B (zh) * 2011-08-05 2016-04-06 中国电信股份有限公司 内容分发网络负载调度方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11187340A (ja) * 1997-12-22 1999-07-09 Hitachi Ltd 分散型ストリーム処理システム
JP2006113735A (ja) * 2004-10-13 2006-04-27 Nippon Hoso Kyokai <Nhk> 配信システム、配信サーバ、受信端末、配信プログラム、及び取得プログラム
JP2009260569A (ja) * 2008-04-15 2009-11-05 Canon Inc データ配信システム及びデータ配信方法
WO2012011490A1 (ja) * 2010-07-20 2012-01-26 シャープ株式会社 コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2558086A (en) * 2014-03-25 2018-07-04 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
GB2558086B (en) * 2014-03-25 2019-02-20 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
US10862943B2 (en) 2014-03-25 2020-12-08 Canon Kabushiki Kaisha Methods, devices, and computer programs for improving streaming of partitioned timed media data
JP2020080460A (ja) * 2018-11-12 2020-05-28 日本電信電話株式会社 システム制御装置、システム制御方法、及びプログラム
US11463745B2 (en) 2018-11-12 2022-10-04 Nippon Telegraph And Telephone Corporation System control apparatus, system control method and program

Also Published As

Publication number Publication date
US20150172762A1 (en) 2015-06-18
CN104429090A (zh) 2015-03-18
JPWO2014010444A1 (ja) 2016-06-23

Similar Documents

Publication Publication Date Title
US11962835B2 (en) Synchronizing internet (over the top) video streams for simultaneous feedback
US11537562B2 (en) Auxiliary manifest file to provide timed metadata
KR102547539B1 (ko) 실시간 적응적 비트레이트 트랜스코딩 및 트랜스코딩된 미디어의 송신을 위한 시스템들 및 방법들
US10009659B2 (en) System and method for hybrid push-based streaming
CN104937583B (zh) 一种对媒体内容进行自适应的方法和装置
EP2646936B1 (en) Real-time or near real-time streaming
CN102308547B (zh) 通过非流化协议流化多媒体数据的方法
US8850054B2 (en) Hypertext transfer protocol live streaming
US9344517B2 (en) Downloading and adaptive streaming of multimedia content to a device with cache assist
JP2018186524A (ja) コンテンツ送信装置およびコンテンツ再生装置
US20180027264A1 (en) Selective media playing method and apparatus according to live streaming and recorded streaming
US20130198342A1 (en) Media format negotiation mechanism delivering client device media capabilities to a server
TW201618517A (zh) 藉由媒體播放器裝置在媒體串流中伺服器端通信期控制
CN103650523A (zh) 发送装置、发送装置的控制方法、控制程序以及记录介质
WO2014010444A1 (ja) コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
CN101651826A (zh) 发送和接收媒体的方法、装置以及系统
WO2021143360A1 (zh) 资源传输方法及计算机设备
KR20170141677A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
JP2014017741A (ja) コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体
CN115136609A (zh) 远程元素解析的基于客户端的存储
JPWO2014010445A1 (ja) コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
WO2011123821A1 (en) Real-time or near real-time streaming
KR20170141676A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
JP2006285586A (ja) コンテンツ配信システム、コンテンツ配信装置、コンテンツ配信プログラムおよびコンピュータプログラム
CN112887755A (zh) 用于播放视频的方法和装置

Legal Events

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

Ref document number: 13816085

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014524738

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14413068

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13816085

Country of ref document: EP

Kind code of ref document: A1