WO2012011490A1 - コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体 - Google Patents

コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体 Download PDF

Info

Publication number
WO2012011490A1
WO2012011490A1 PCT/JP2011/066431 JP2011066431W WO2012011490A1 WO 2012011490 A1 WO2012011490 A1 WO 2012011490A1 JP 2011066431 W JP2011066431 W JP 2011066431W WO 2012011490 A1 WO2012011490 A1 WO 2012011490A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
fragment
transmission
quality
response
Prior art date
Application number
PCT/JP2011/066431
Other languages
English (en)
French (fr)
Inventor
靖昭 徳毛
真毅 高橋
琢也 岩波
義昭 荻澤
毅 金子
典男 伊藤
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2012011490A1 publication Critical patent/WO2012011490A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the present invention relates to a content acquisition apparatus that reproduces content acquired by transmitting a content request.
  • Patent Document 1 discloses a content streaming service system in which a request for content is transmitted from a client to a server by HTTP, and the content received as a response to the request by the client is streamed.
  • Japanese Patent Publication Japanese Patent Laid-Open No. 2005-110244 (published on April 21, 2005)”
  • the content transmitted in Patent Document 1 is an MP4 moving image
  • MP4 is characterized in that one file is composed of a plurality of fragments. With such fragmented content, it becomes possible to perform fine adaptation according to the network status and the like by making it possible to set the playback quality and content type in fragment units.
  • the present invention has been made in view of the above-described problems, and its purpose is a content acquisition device that makes it possible to handle content in which at least one of the reproduction quality and type of each fragment is set independently Is to provide.
  • a content acquisition device is a content acquisition device that acquires a content by transmitting a request message for requesting transmission of the content.
  • Transmission format information indicating that a part or all of the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content, and a plurality of fragments in which at least one of reproduction quality and type is independently set
  • a response receiving means for receiving a response message including quality / type information indicating at least one of the reproduction quality and type of each fragment, and the content from the transmission format information received by the response receiving means. If it is determined that it was received as The Ragumento is characterized by comprising a reproducing means for reproducing by referring to the quality / type information.
  • the content acquisition device control method of the present invention is a content acquisition device control method for acquiring content by transmitting a request message for requesting transmission of content, wherein the request message As a response to the transmission format information indicating that a part or all of the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content, and at least one of reproduction quality and type is independent.
  • a response reception step for receiving a response message including a plurality of fragments set in the above, and quality / type information indicating at least one of reproduction quality and type of each fragment, and the transmission format information received in the response reception step To receive the above content as a media segment If it is determined that the a plurality of the fragments, is characterized in that it comprises a reproduction step of reproducing by referring to the quality / type information.
  • the media segment constitutes part or all of the content composed of a plurality of fragments, and includes at least two fragments. That is, the content is composed of one or more media segments, and the media segment is composed of two or more fragments.
  • the content acquisition apparatus since the transmission format information indicates that the media segment is transmitted, the content acquisition apparatus that has received this response message can recognize that the media segment is received. This makes it possible to appropriately handle each fragment included in the received media segment.
  • At least one of the reproduction quality and type of the received fragment is set independently. For this reason, when the received fragment is reproduced, at least one of the reproduction quality and the type may be switched between the fragments.
  • This reproduction quality defines the quality (definition) of audio and images, such as resolution and bit rate, and the higher the reproduction quality, the larger the fragment data size.
  • the type affects the handling at the time of reproduction of the fragment, such as a speech language and a codec used.
  • fragments that differ in at least one of reproduction quality and type are common in that they constitute a part of one content, but any of audio and image quality and handling at the time of reproduction. Or both are different fragments.
  • the response message includes quality / type information indicating at least one of the reproduction quality and type of each fragment.
  • the content acquisition device refers to the quality / type information and specifies at least one of the reproduction quality and type of the fragment to be reproduced, thereby at least one of the reproduction quality and type between the fragments. Even if is switched, playback is possible.
  • the content transmission apparatus of the present invention is a content transmission apparatus that transmits the requested content in a response message including the content and additional information related to the content.
  • additional information generating means for generating transmission format information indicating that the information is transmitted as a media segment including at least two of a plurality of fragments constituting the content, and additional information generated by the additional information generating means
  • the content transmission apparatus control method of the present invention transmits the requested content in a response message including the content and additional information related to the content.
  • a response message including additional information generated in the step, a plurality of fragments in which at least one of reproduction quality and type is set independently, and quality / type information indicating at least one of the reproduction quality and type of each fragment A response message generating step for generating To have.
  • the device that has received this response message (the device that requested the content) recognizes that the media segment is received. This makes it possible to properly handle each fragment included in the received media segment.
  • At least one of the reproduction quality and type of the fragment to be transmitted is set independently. For this reason, when the received fragment is reproduced, at least one of the reproduction quality and the type may be switched between the fragments.
  • the response message includes quality / type information indicating at least one of the reproduction quality and type of each fragment.
  • the device that has received this response message refers to the quality / type information and specifies at least one of the playback quality and type of the fragment to be played back, so that the playback quality and type between fragments can be determined. Even if at least one of them is switched, it can be reproduced. That is, according to the above configuration, it is possible to handle a media segment in which at least one of reproduction quality and type is set independently.
  • the apparatus which received this response message reproduces those fragments. be able to.
  • the data structure of the present invention is generated by a content transmission device that transmits the content requested by the content acquisition device in a response message including the content and additional information related to the content.
  • a response message data structure including transmission format information indicating that a part or all of the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content, reproduction quality and type.
  • the content acquisition apparatus including the plurality of fragments, at least one of which is independently set, and quality / type information indicating at least one of reproduction quality and type of each fragment, and receiving the response message, Receive the above content as a media segment from information It is determined that the a plurality of the fragments, is characterized by reproducing while referring to the quality / type information.
  • the number of response messages for transmitting the entire content as compared with the case where one fragment is included in one response message. Is less.
  • the content acquisition apparatus since the additional information indicates that the media segment is transmitted, the content acquisition apparatus that has received this response message can recognize that the media segment is received, This makes it possible to properly handle each fragment included in the received media segment.
  • At least one of the reproduction quality and type of each fragment included in the media segment is set independently. For this reason, when a device that has received the response message reproduces a fragment included in the response message, there is a possibility that at least one of reproduction quality and type is switched between the fragments.
  • the response message includes quality / type information indicating at least one of the reproduction quality and type of each fragment. For this reason, when reproducing the content, by referring to the quality / type information and specifying at least one of the reproduction quality and type of the fragment to be reproduced, at least one of the reproduction quality and type between the fragments is determined. It can be played even if the camera is switched.
  • the content acquisition device of the present invention is a content acquisition device that acquires a content by transmitting a request message for requesting transmission of content, and a part or all of the content is transmitted as a response to the request message.
  • Transmission format information indicating transmission as a media segment including at least two of a plurality of fragments constituting the content, and a plurality of the fragments, and each of the plurality of fragments indicates a playback start time of the fragment
  • the time stamp is referred to. While each fragment above It is characterized in that it comprises a reproducing means for raw.
  • the entire requested content is obtained with a smaller number of response message receptions compared to the case where one fragment is received as one response message. be able to.
  • the content acquisition apparatus since the transmission format information indicates that the media segment is transmitted, the content acquisition apparatus that has received this response message can recognize that the media segment is received. This makes it possible to appropriately handle each fragment included in the received media segment.
  • each received fragment is associated with a time stamp, and each fragment is reproduced while referring to this time stamp.
  • the content transmission apparatus of the present invention is a content transmission apparatus that transmits the requested content in a response message including the content and additional information related to the content, and the content transmission apparatus includes a plurality of the contents constituting the content.
  • Additional information generating means for generating transmission format information indicating transmission as a media segment including at least two of the fragments as the additional information, additional information generated by the additional information generating means, and a plurality of the fragments
  • a response message generating means for generating a response message in which each of the plurality of fragments is associated with a time stamp indicating the reproduction start time of the fragment.
  • the entire requested content is transmitted with a smaller number of response message transmissions than when one fragment is transmitted as one response message. can do.
  • the content acquisition apparatus since the additional information indicates that the media segment is transmitted, the content acquisition apparatus that has received this response message can recognize that the media segment is received, This makes it possible to properly handle each fragment included in the received media segment.
  • a time stamp is associated with each received fragment.
  • the data structure of the present invention is a data structure of a response message generated by a content transmission device that transmits content requested by a content acquisition device using a response message including the content and additional information related to the content. , Including transmission format information indicating that a part or all of the content is transmitted as a media segment including at least two of the plurality of fragments constituting the content, and the plurality of the fragments. A time stamp indicating the playback start time of the fragment is associated with each, and the content acquisition apparatus that has received the response message determines that the content has been received as a media segment from the transmission format information. , Time stamp above With reference is characterized by reproducing the each fragment.
  • the entire requested content is transmitted with a smaller number of response message transmissions than when one fragment is transmitted as one response message. be able to.
  • the content acquisition apparatus since the transmission format information indicates that the media segment is transmitted, the content acquisition apparatus that has received this response message can recognize that the media segment is received. This makes it possible to appropriately handle each fragment included in the received media segment.
  • each fragment is associated with a time stamp.
  • the content acquisition device of the present invention transmits, as a response to the request message, a part or all of the content as a media segment including at least two of a plurality of fragments constituting the content.
  • a reproducing unit that reproduces the plurality of fragments with reference to the quality / type information when it is determined from the transmission format information received by the response receiving unit that the content is received as a media segment. It is the structure equipped with.
  • control method for the content acquisition apparatus of the present invention is a transmission indicating that a part or all of the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content as a response to the request message.
  • the content transmission apparatus of the present invention generates transmission format information indicating that the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content as the additional information.
  • the content transmission apparatus control method further includes additional information for generating transmission format information indicating that the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content as the additional information.
  • Generation step additional information generated in the additional information generation step, a plurality of fragments in which at least one of reproduction quality and type is set independently, and quality / at least one of reproduction quality and type of each fragment
  • a response message generating step for generating a response message including type information.
  • the device that has received the response message can play back a media segment in which at least one of playback quality and type is switched between fragments.
  • the data structure of the present invention includes transmission format information indicating that a part or all of content is transmitted as a media segment including at least two of a plurality of fragments constituting the content, and reproduction.
  • the content acquisition apparatus including a plurality of fragments in which at least one of quality and type is independently set and quality / type information indicating at least one of reproduction quality and type of each fragment, and receiving the response message Then, it is determined that the content is received as a media segment from the transmission format information, and a plurality of the fragments are reproduced while referring to the quality / type information.
  • the content acquisition apparatus that has received the response message having the data structure plays back a media segment in which at least one of playback quality and type is switched between fragments while referring to the quality / type information. There is an effect that can be done.
  • the content acquisition device of the present invention transmits a part or all of the content as a response to the request message as a media segment including at least two of the plurality of fragments constituting the content.
  • a response reception means for receiving a response message including a transmission format information to be indicated and a plurality of the fragments, each of which is associated with a time stamp indicating a reproduction start time of the fragment, and the response reception Start time specifying means for specifying the playback start time of each fragment with reference to the time stamp when it is determined from the transmission format information received by the means that the content is received as a media segment. It is the composition which is.
  • the content transmission apparatus of the present invention generates transmission format information indicating that the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content as the additional information.
  • the data structure of the present invention includes transmission format information indicating that part or all of content is transmitted as a media segment including at least two of a plurality of fragments constituting the content, Each of the plurality of fragments is associated with a time stamp indicating the reproduction start time of the fragment, and the content acquisition apparatus that has received the response message receives the response message from the transmission format information.
  • the playback start time of each fragment is specified with reference to the time stamp.
  • the apparatus that has received the response message can specify the reproduction start time of each fragment very easily without referring to the analysis of the fragment, and reproduce the fragment while referring to this.
  • the figure (a) is a block diagram which shows the principal part structure of the client, proxy, and server which comprise a communication system
  • b) is a diagram illustrating a configuration example of a communication system. It is a figure which shows the content handled with the said communication system, and has shown the example of the content comprised by three types of media files from which quality classification (bit rate) differs. It is a figure which shows the concept of the media segment which the said communication system handles as a transmission unit of content,
  • the figure (a) is an example which comprised the media segment by the movie fragment of the same bit rate (quality type), and the figure (b).
  • An example is shown in which media segments are composed of movie fragments of different bit rates (quality types). It is a figure which shows an example of the sequence in case the said server performs adaptation of content transmission. It is a figure which shows an example of the HTTP message transmitted / received as a request or a response, The figure (a) (c) shows the request
  • FIG. 7 shows details of the response processing performed in S905 of FIG. It is a figure which shows an example of the sequence in case the said client performs adaptation of content transmission.
  • FIG. 10 It is a figure which shows an example of the HTTP message transmitted / received as a request or a response
  • the figure (a) (c) shows the request
  • the figure (b) (d) shows the HTTP message of a response, respectively.
  • the figure (a) (c) shows the request
  • FIG. 1 is a diagram showing an outline of a communication system (content transmission / reception system) 1.
  • FIG. 1 (a) shows a client (content acquisition device) 11 and a proxy (content transmission device, relay device) constituting the communication system 1.
  • 12 is a block diagram showing a main part configuration of the server 12 and the server (content transmission device, content providing device) 13, and FIG.
  • NW1 and NW2 may be any devices that can communicate with each other, and may be a wired communication network or a wireless communication network.
  • the communication system 1 is a system in which the client 11 can acquire content such as a moving image from the server 13.
  • the server 13 has a plurality of pieces of data having different quality types such as a bit rate for each content.
  • the main feature is that each of the client 11, the proxy 12, and the server 13 can switch the quality of content transmitted and received within the system based on the status of the communicating NW. Since the client 11 is not directly connected to the server 13, the client 11 acquires content via the proxy 12.
  • the client 11 transmits a content request to the proxy 12 via the NW1.
  • the proxy 12 checks whether the requested content is stored in the cache storage unit 14, and if it is stored, transmits the content to the client 11.
  • a request for the content is transmitted to the server 13 via the NW2.
  • the server 13 reads the requested content from the content storage unit 15 and transmits it to the proxy 12, and the proxy 12 transmits this content to the client 11. Thereby, the client 11 can acquire the requested content.
  • FIG. 1A only one client 11 and proxy 12 are shown.
  • a plurality of proxies 12 may be connected to one server 13
  • a plurality of clients 11 may be connected to one proxy 12.
  • a plurality of proxies 12 (P 1 , P 2 ,...) Are connected to one server 13.
  • a plurality of clients 11 (C 11 , C 12 ,..., And C 21 , C 22 ,%) Are connected to P 1 and P 2 , respectively.
  • C 11, C 12, client 11 ... acquires the content via the proxy 12 of P 1, C 21, C 22 , ... client 11 of, P 2
  • the content is acquired through the proxy 12. 1A and 1B, all the clients 11 are connected to the NW1, but some clients 11 are connected to the NW2 and can communicate directly with the server 13. It doesn't matter.
  • the client 11 is a device that requests and acquires content. Although not shown in the figure, the client 11 includes an input unit that receives a user operation, and requests content based on the input operation received by the input unit.
  • the client 11 includes a client control unit 20 that controls the operation of the client 11 in an integrated manner, and a client communication unit 24 for the client 11 to communicate with an external device.
  • the client control unit 20 includes a client status determination unit (event detection unit, start time specifying unit) 21, a request execution unit (response reception unit, request message transmission unit) 22, and a content reproduction unit (reproduction unit) 23. include.
  • the client status determination unit 21 detects the occurrence of a predetermined event. Specifically, the client status determination unit 21 detects an event that the content requested by the client 11 is received sufficiently earlier than the schedule, and an event that the content is received with a delay from the schedule. These events are events indicating whether the communication status of the NW 1 to which the client 11 is connected is good or bad.
  • the request execution unit 22 generates a request message for requesting content transmission, transmits the request message to the proxy 12 via the client communication unit 24, and receives a response message as a response thereto. If the client 11 is connected to the NW 2 and can directly communicate with the server 13, the transmission destination of the request message may be the server 13.
  • the request message generated by the request execution unit 22 includes a header indicating that the content can be received in the MIME multipart format, and information specifying the multipartized content. It is a feature.
  • the request execution unit 22 sets the bit rate of the content to be subsequently requested based on the determination result of the client situation determination unit 21. Specifically, when the client status determination unit 21 detects an event indicating that the communication status is poor, the client status determination unit 21 switches the requested content quality to one having a low bit rate. On the other hand, when an event indicating that the communication status is good is detected, the quality of the requested content is switched to one having a high bit rate.
  • the content playback unit 23 plays back the content acquired by the request execution unit 22.
  • the content reproduction unit 23 decodes the acquired content, and outputs the video and audio obtained thereby to an external display device (not shown). .
  • the proxy 12 is a device that transmits the requested content, and a device that requests and acquires the content.
  • the proxy 12 is connected to a cache storage unit 14 that stores content received from the server 13. If the requested content is in the cache storage unit 14, the content is read from the cache storage unit 14 and transmitted to the client 11. If not, the request is sent to the server 13. Note that the cache storage unit 14 may be built in the proxy 12.
  • the proxy 12 includes a proxy control unit 25 that controls and controls the operation of the proxy 12, and a proxy communication unit 28 for the proxy 12 to communicate with an external device.
  • the proxy control unit 25 includes a proxy status determination unit (transmission event detection unit) 26 and a response / request execution unit (additional information generation unit, response message generation unit, request message transmission unit) 27.
  • the proxy status determination unit 26 detects the occurrence of a predetermined event. Specifically, the proxy status determination unit 26 detects an event that the content requested by the proxy 12 is received sufficiently earlier than the schedule, and an event that the content is received after the schedule. These events are events indicating whether the NW2 communication status is good or bad. Further, an event that the content requested by the client 11 is transmitted sufficiently earlier than the schedule and an event that the content is transmitted after the schedule are detected. These events are events indicating whether the communication status of NW1 is good or bad.
  • the response / request execution unit 27 reads the content specified by the request message received from the client 11 from the cache storage unit 14. Then, a response message for transmitting the read content in the MIME multi-part format is generated and transmitted to the client 11.
  • the response message generated by the response / request execution unit 27 includes a header indicating that the content is transmitted in the MIME multipart format, a fragment of the multipart content, and the reproduction quality of each fragment. And quality / type information indicating at least one of the types, and the reproduction quality of each fragment is set independently.
  • a request message for requesting the content is generated and transmitted to the server 13.
  • the response / request execution unit 27 sets the bit rate of the content to be subsequently requested / responseed based on the detection result of the proxy status determination unit 26. Specifically, when the proxy status determination unit 26 detects an event indicating that the communication status of the NW1 is bad, the content quality included in the response message is switched to one having a low bit rate. On the other hand, when an event indicating that the communication status is good is detected, the quality of the content included in the response message is switched to one having a high bit rate. Further, when the proxy status determining unit 26 detects an event indicating that the communication status of the NW 2 is bad, the content quality requested of the server 13 is switched to one having a low bit rate. On the other hand, when an event indicating that the communication status is good is detected, the quality of the requested content is switched to one having a high bit rate.
  • the server 13 is a device that transmits the requested content.
  • the server 13 is connected to a content storage unit 15 that stores content such as moving images.
  • the content storage unit 15 may be built in the server 13.
  • the server 13 includes a server control unit 29 that controls the operation of the server 13 in an integrated manner, and a server communication unit 32 that allows the server 13 to communicate with an external device. Further, the server control unit 29 includes a server status determination unit (transmission event detection unit) 30 and a response execution unit (additional information generation unit, response message generation unit) 31.
  • the server status determination unit 30 detects a predetermined event. Specifically, the server status determination unit 30 detects an event that the content requested by the proxy 12 is transmitted sufficiently earlier than the schedule, and an event that the content is transmitted with a delay from the schedule. These events are events indicating whether the NW2 communication status is good or bad.
  • the response execution unit 31 reads the content specified by the request message received from the proxy 12 from the content storage unit 15, generates a response message for transmitting the read content in the MIME multipart format, and transmits this to the proxy 12. .
  • the transmission source of the request message may be the client 11. In this case, the response message is directly transmitted to the client 11. This response message is the same as that generated and transmitted by the response / request execution unit 27.
  • the response execution unit 31 sets the bit rate of the content to be subsequently responded based on the detection result of the server status determination unit 30. Specifically, when the server status determination unit 30 detects an event indicating that the communication status of the NW 2 is poor, the quality of the content included in the response message is switched to one having a low bit rate. On the other hand, when an event indicating that the communication status is good is detected, the quality of the content included in the response message is switched to one having a high bit rate.
  • FIG. 2 shows an example in which contents shown in (a) to (c), which are composed of three types of media files 1, media files 2, and media files 3 having different quality types (here, bit rates) are stored. Is shown.
  • the quality type (bit rate) of each media file is 4 Mbps for media file 1, 2 Mbps for media file 2, and 1 Mbps for media file 3.
  • bit rate bit rate
  • content configured with media files having different quality types such as image resolution, audio language, codec, etc. It does not matter.
  • bit rate may be the same, and the content may be different in at least one of image resolution, audio language, codec, and the like.
  • the quality type refers to at least one of the reproduction quality of the content and the type of content
  • the content of the content is the same as that of the media file having a different quality type, but at least one of the reproduction quality and the type is different.
  • each media file constituting the content is fragmented in a predetermined unit.
  • This unit is common among media files constituting the content, and may be a time unit such as 1 second or a GOP (Group Of Picture) unit in image coding.
  • this fragment is referred to as a movie fragment, and is the smallest unit in which the quality of content reproduced by the client 11 can be switched in the communication system 1 of the present invention.
  • an MP4 file is used as a specific example of a media file composed of movie fragments.
  • the media file When the media file is an MP4 file, it is composed of “moof” storing header information for managing video / audio in the fragment and “mdat” storing video / audio data to be played back by the client.
  • a fragment corresponds to a movie fragment.
  • the MP4 file in addition to “moof” and “mdat”, information related to the entire media file, such as movie fragment image resolution and profile information, is initialized for the playback device (content playback unit 23) in the client 11.
  • Necessary information is stored in “moov” different from “moof” and “mdat” described above.
  • the reproduction information stored in “moov” needs to be notified to the client 11 before the reproduction is started.
  • the playback information stored in “moov” may be notified by a procedure different from that for the movie fragment, and “moov” does not necessarily need to be included in the movie fragment.
  • the first movie of each media file is not included.
  • An example in which the fragment includes “moov” will be described. That is, “information necessary for initialization of the playback device” in FIG. 2 is “moov”.
  • each media file is sequentially numbered as “movie fragment 1” and “movie fragment 2” in order from the first movie fragment.
  • Each movie fragment includes video data for one second.
  • HTTP widely used as a general-purpose file transmission protocol is used between the client 11 and the proxy 12 and between the proxy 12 and the server.
  • the usable transmission protocol in the communication system 1 is not limited to HTTP, and other similar transmission protocols can be applied.
  • both the client 11 and the proxy 12 and between the proxy 12 and the server 13 divide the content into units called media segments and perform transmission using HTTP.
  • FIG. 3 is a diagram showing a concept of a media segment handled as a content transmission unit by the communication system 1.
  • FIG. 3A shows an example in which a media segment is configured by movie fragments having the same bit rate (quality type).
  • FIG. 5B shows an example in which a media segment is composed of movie fragments having different bit rates (reproduction quality).
  • the media segment includes at least one movie fragment. From another point of view, it can be said that the content is composed of one or more media segments, and each media segment is composed of one or more movie fragments.
  • a media segment is configured to include two or more movie fragments having a continuous playback time in a predetermined content, but may be composed of one movie fragment or a movie fragment having a playback time that is not continuous. It may be configured.
  • the media segment may be composed of only movie fragments belonging to a single media file, or may be composed of movie fragments extending over a plurality of media files.
  • media segments may be configured by combining movie fragments having different playback quality included in different media files.
  • FIG. 4A is an example in which 4 Mbps movie fragments 1 to 3 belonging to a single media file are combined into one media segment.
  • FIG. 5B “media ⁇ ⁇ ⁇ ⁇ fragment1” with a bit rate of 4 Mbps and “movie fragment2” and “movie fragment3” with a bit rate of 2 Mbps are combined into one media segment. It is an example.
  • the media segment only needs to include two or more movie fragments having a continuous playback time in a predetermined content, and the number of movie fragments included in one media segment is not particularly limited.
  • Embodiment 1-1 Adaptation by Server
  • the content storage unit 15 connected to the server 13 stores content composed of three types of media files of 4 Mbps, 2 Mbps, and 1 Mbps, and a cache connected to the proxy 12.
  • the storage unit 14 is an example of a communication sequence that starts when there is no media segment cache received from the server 13, and the NW2 communication status deteriorates (increase in communication traffic) at the time shown in the figure. The example of adaptation to the case where this occurs is shown.
  • the client 11 requests “media segment 1”, which is the media segment at the beginning of the desired content, using the URL notified in advance (request 41).
  • the proxy 12 that has received the request 41 checks whether “media segment1” associated with the requested URL is stored in the cache storage unit 14.
  • the proxy 12 confirming that “media segment1” is not stored transmits a request 42 requesting “media segment1” to the server 13.
  • the server 13 Upon receipt of the request 42, the server 13 reads out each movie fragment constituting the requested “media segment 1” from the content storage unit 15 and transmits it to the proxy 12. At this point in time, since the communication status of NW2 is good, the server 13 responds by configuring “media segment1” with a 4 Mbps media file having the highest reproduction quality (high bit rate).
  • “media segment 1” corresponds to 0 to 60 seconds of data at the beginning of the content. As described above, since each movie fragment includes video data for one second, 60 movie fragments of 4 Mbps quality are included as movie fragments constituting the media segment. Further, “media segment1” includes one movie fragment of 2 Mbps quality and 1 Mbps quality each including information necessary for initialization of the playback device, and a total of 62 movie fragments are included. (Response 43).
  • the proxy 12 that has received the response 43 sequentially stores the movie fragments included in the media segment in the cache storage unit 14 and transfers them to the client 11 (response 44).
  • the client 11 specifies and requests the URL of the subsequent second media segment (60 seconds to 120 seconds of the predetermined content) (request 45).
  • the proxy 12 that has received the request 45 requests the media segment from the server 13 because the requested media segment does not exist in the cache storage unit 14 (request 46).
  • the server 13 When the server 13 receives the request 46, the server 13 does not detect the deterioration of the communication status of the NW2, and starts a response using a 4 Mbps quality movie fragment, as in the case of receiving the request 41. However, since the communication status of the NW 2 has deteriorated at this time, a response delay to the proxy 12 occurs.
  • the server 13 detects this response delay and determines that the communication status of the NW 2 has deteriorated, and switches the movie fragment to be transmitted thereafter to a low bit rate (2 Mbps in the example of FIG. 4) and transmits it (response 47). Details of the operation of the server 13 will be described later.
  • the proxy 12 that has received the response 47 sequentially stores the movie fragments in the cache storage unit 14 and transfers them to the client 11 (response 48). Similarly, the process is repeated until the entire content is acquired by the client 11.
  • FIG. 5 is a diagram showing an example of an HTTP message transmitted and received as a request message or a response message.
  • FIG. 5A shows requests 41 and 42 in FIG. 4, and
  • FIG. 5B shows responses 43 and 44.
  • FIG. 4C shows HTTP messages of requests 45 and 46
  • FIG. 4D shows HTTP messages of responses 47 and 48, respectively.
  • elements included in the HTTP message elements that are unique to the present invention will be mainly described, and descriptions of known elements will be omitted as appropriate.
  • the HTTP message corresponding to the requests 41 and 42 requesting “media segment 1” includes a request line and a header.
  • “GET” indicating a method for acquiring content and the URL of the target resource acquired from the server 13 are described.
  • This URL is an identifier assigned in advance for each resource (each media segment) that can be provided by the server 13.
  • “/ content name / media segment number” or “/ content name / media segment number / quality type identifier (reproduction quality designation information)” is provided for each media segment that can be provided by the server 13. Assume that a URL is assigned in a format. Each of the two types of URLs is used when the former determines the maximum quality of the designated media segment at the transmission side (server 13 or proxy 12), and the latter receives the maximum quality of the designated media segment. This is for use when specified on the side (client 11 or proxy 12).
  • the URL is “/ content1 / 1”, which indicates an acquisition request for the first media segment whose content name is “content1”.
  • the server 13 determines the maximum quality of the media segment transmitted in response to this request message.
  • the header of FIG. 9A includes an “Accept” header indicating a data format that can be processed by the client 11.
  • “multipart / media-segment” indicating a data format used when the server 13 or the proxy 12 transmits a media segment is described. This indicates that the client 11 can receive data in the data format.
  • the HTTP message corresponding to the responses 43 and 44 for transmitting “media segment 1” at the beginning of the content includes a status line, a header for notifying additional information, and “media segment 1”. Contains the message body to be stored.
  • a “Content-Type” header (transmission format information) indicating the type of content to be transmitted
  • an “X-Media-Segment-Index” header indicating the position of the media segment to be transmitted with respect to the entire content
  • a media segment to be transmitted An “X-Media-Segment-Timestamp” header indicating a time stamp of the “X” and a “X-Representation-List” header indicating a list of selectable quality types are included.
  • the leading “X” in the header name indicates that the header is newly defined in the present embodiment.
  • multipart / media-segment is described in the “Content-Type” header, and the media segment is stored in the MIME multipart format in the message body.
  • the device client 11 or proxy 12
  • This header includes information indicating that the boundary of each part of the multipart is “THIS_STRING_SEPARATES”.
  • an “X-Media-Segment-Index” header is included.
  • This header indicates the media segment number for the entire content.
  • “1/60” is described, and this indicates the first media segment out of 60 media segments in the entire content.
  • the URLs for acquiring media segments of each quality type are “/ content1 / $ index $ / 1”, “/ content1 / $ index $ / 2”, and “/ content1 / $ index $ / 3”, respectively. It is shown that.
  • “$ Index $” is a parameter indicating that it is used in place of a media segment number.
  • the media segment having the quality designated by the server 13 or the proxy 12 is not necessarily transmitted / received.
  • media segments composed of movie fragments of adaptively different quality are transmitted and received according to the communication status of the NW, with the designated quality as the upper limit.
  • the client 11 uses the information of the “X-Media-Segment-Index” header and the “X-Representation-List” header to grasp the URL of an arbitrary media segment of the content and access the desired media segment. Is possible. Therefore, in order for the client 11 to acquire the content on the server 13, if only the URL of the head media segment of the content is notified in advance, the subsequent media segment can be accessed using the information of the header. It is. In this way, by using the template URL, it is possible to design a content URL with a high degree of freedom in the server.
  • the relay device such as the proxy 12 does not require communication with the server 13 separately, and the quality type (bit rate) of the media segment that can be provided by the server 13 and the media segment. It becomes possible to grasp the access means (URL).
  • bit rate information is used as an example of quality type information in the “X-Representation-List” header.
  • a configuration using screen resolution information, language information, codec information, or the like in addition to the bit rate information or instead of the bit rate information may be used.
  • the “X-Media-Segment-Timestamp” header indicates the time stamp of the media segment, and the time stamp of the first movie fragment included in the media segment is described in milliseconds. This time stamp is used by each of the client 11, the proxy 12, and the server 13 for the purpose of detecting a change in the communication status of the NW.
  • multiple movie fragments that make up the media segment are stored in MIME multipart format.
  • Each part of the MIME multipart format stores each movie fragment constituting the media segment, and additional information is also described in the header of each part.
  • a “Content-Type” header indicating the content type of the movie fragment and an “X-Timestamp” header indicating the time stamp (unit: millisecond) of the movie fragment are described.
  • the playback time (playback start timing) of the movie fragment can be specified without analyzing the movie fragment.
  • an “X-Representation-Id” header quality / type information
  • X-Representation-Id describes one of the quality type identifiers shown in the above-mentioned “X-Representation-List”.
  • the quality type (bit rate) of the movie fragment can be specified. Therefore, the client 11 that has received this response message can detect and reproduce the switching of the bit rate of the movie fragments to be continuously reproduced.
  • Each part includes a data entity (binary data) of the movie fragment of the part.
  • the header included in each part is not limited to these examples, and arbitrary data related to movie fragments can be included in the header. For example, a header indicating the resolution of the movie fragment, a header indicating the language used for the movie fragment, a header indicating the codec used for the movie fragment, and the like may be added.
  • the HTTP message corresponding to the requests 45 and 46 is the same as the HTTP message format shown in FIG. 5A except that the URL (media segment) to be requested is changed. is there.
  • the requests 45 and 46 are requests transmitted after the first request shown in FIG. 5A, and the request URL is not notified to the client 11 in advance. This is generated by the client 11 based on the values of the “X-Representation-List” header and “X-Media-Segment-Index” header of the first response shown.
  • FIG. 6 is a flowchart illustrating an example of processing executed by the server 13.
  • the response execution unit 31 of the server 13 waits for reception of a request.
  • the received request is analyzed and a media segment is determined as a response (S602). ).
  • the response execution unit 31 determines the initial value of the quality type such as the bit rate of the media segment to be transmitted from the URL included in this message. To decide. If the quality type is specified in the URL, the quality type specified there is set as the initial value, and if the quality type is not specified, the highest quality is set as the initial value. Note that the initial value may be determined in consideration of the communication status of the NW 2 detected at the time of the previous response transmission.
  • the response execution unit 31 generates an HTTP message to be transmitted as a response, and transmits the header portion of the HTTP message to the request transmission source (client 11 or proxy 12) via the server communication unit 32 ( S603).
  • This HTTP message is, for example, a message as shown in FIG.
  • the response execution unit 31 notifies the server status determination unit 30 that the header portion has been transmitted.
  • the server status determination unit 30 initializes a timer together with the start of transmission of the media segment and starts counting the time in order to evaluate the transmission time of the movie fragment.
  • a value obtained by subtracting a predetermined threshold T init from the value of the “X-Media-Segment-Timestamp” header indicating the time stamp of the media segment is used.
  • the server status determination unit 30 evaluates the transmission time (S605). Specifically, the server status determination unit 30 compares the time t indicated by the timer that started counting in S604 with the time stamp T fr (value of X-Timestamp) of the movie fragment to be transmitted.
  • the server status determination unit 30 sets T fr as the time stamp value associated with the movie fragment to be transmitted, T th as a predetermined threshold value equal to or greater than zero, and T fr + T th > t. Determines that an event indicating that the communication status is bad is detected. On the other hand, if t ⁇ T fr ⁇ T th , it is determined that an event indicating that the communication status is good is detected.
  • the server status determination unit 30 notifies the response execution unit 31 that an event indicating that the communication status is good has been detected. Upon receiving this notification, the response execution unit 31 switches the movie fragment to be transmitted to a high bit rate within a range that does not exceed the requested bit rate specified by the quality type. Thereafter, the process proceeds to S608.
  • the server status determination unit 30 notifies the response execution unit 31 that an event indicating that the communication status is bad is detected. Then, the response execution unit 31 that has received this notification switches the movie fragment to be transmitted to one having a low bit rate. Thereafter, the process proceeds to S608.
  • the response execution unit 31 transmits the movie fragment as one part of the MIME multipart. Then, the response execution unit 31 confirms whether all the movie fragments included in the media segment determined in S602 have been transmitted (S609). If it is confirmed that all have been transmitted (YES in S609), the process proceeds to S610. If an untransmitted one is confirmed (NO in S609), the process returns to S605.
  • the response execution unit 31 confirms whether all media segments of the requested content have been transmitted. If it is confirmed that all have been transmitted (YES in S610), the process ends. If an untransmitted item is confirmed (NO in S610), the process returns to S601.
  • the bit rate is switched in units of movie fragments.
  • the bit rate may be switched in units of media segments.
  • the next transmission is performed based on the proportion of movie fragments included in the media segment transmitted immediately before that are determined to have a delay in transmission (or determined to be transmitted sufficiently early).
  • the bit rate of the media segment to be performed may be determined.
  • the server status determination unit 30 the number N 1 of movie fragment time required was from sufficiently early scheduled time for transmission, and the number N 2 of the movie fragment delay occurs in transmission, for example in S606,607 You may count it. If N 2 ⁇ N 1 > 0 after transmission of one media segment is completed, it is determined that there is a delay as a whole (determining that an event indicating that the communication status is bad is detected), and that is the case. To the response execution unit 31. On the other hand, if N 2 ⁇ N 1 ⁇ 0, it is determined that it is sufficiently earlier than the scheduled transmission time as a whole (determined that an event indicating that the communication status is good) has been detected, and that is the response execution unit 31. Can be notified.
  • the response execution unit 31 can determine that the media segment to be transmitted next is composed of a low-bit-rate movie fragment, and transmission is sufficient. If it is too early, it may be decided to send a media segment composed of high bit rate movie fragments.
  • Embodiment 1-2 Adaptation by Proxy >> Next, an example of a communication sequence performed in the communication system 1 will be described based on FIG. 7 with respect to an example in which the proxy 12 adapts content transmission according to the state of NW1 or NW2.
  • content composed of three types of media files of 4 Mbps, 2 Mbps, and 1 Mbps is stored in the content storage unit 15 connected to the server 13 and connected to the proxy 12.
  • the cache storage unit 14 is a communication sequence example that starts in a state where the initial part “media segment1” for each quality of the content is cached in advance communication, and at the time shown in FIG.
  • An example of adaptation to the case where the deterioration of communication status (increase in communication traffic) occurs is shown.
  • the client 11 requests the beginning portion (“media segment 1”) of the desired content using the URL notified in advance (request 71).
  • the proxy 12 that has received the request 71 checks whether or not “media segment1” associated with the requested URL is stored in the cache storage unit 14.
  • the proxy 12 since the requested “media segment1” is stored in the cache storage unit 14, the proxy 12 reads the media segment from the cache storage unit 14 without accessing the server 13, and the client 11 Transmission is started (response 72).
  • the communication status of the NW 1 deteriorates and a response delay occurs in the proxy 12.
  • the proxy 12 detects the response delay that has occurred and determines that the communication status of the NW 1 has deteriorated.
  • the proxy 12 corresponds to “media segment1” and a low-quality version (low bit rate) based on the description content of the “X-Representation-List” header of “media segment1” stored in the cache storage unit 14. It is confirmed whether or not the media segment associated with the URL to be stored (here 2 Mbps) is stored in the cache storage unit 14. Here, since the media segment is stored in the cache storage unit 14, the proxy 12 configures the subsequent movie fragment with the media segment (2 Mbps) and transmits it to the client 11. The detailed operation of the proxy 12 will be described later.
  • the client 11 that has received the response 72 requests by specifying the URL of the subsequent second media segment (60 seconds to 120 seconds of the predetermined content) (request 74).
  • the proxy 12 confirms whether “media segment 2” associated with the requested URL is stored in the cache storage unit 14. Then, the proxy 12 that has confirmed that the media segment does not exist has determined that the communication status of the NW 1 has deteriorated at this time, so the server 13 adds a quality type identifier indicating a quality type of 2 Mbps to the request URL. (Request 74).
  • the server 13 that has received this request 74 transmits “media segment 2” (2 Mbps) indicated by the request URL (response 75).
  • the proxy 12 that has received the response 75 stores each movie fragment in the cache storage unit 14 and transfers it to the client 11 (response 76). Similarly, the process is repeated until the entire content is acquired by the client 11.
  • the proxy 12 transmits the request 74 of the media segment after 60 seconds to the server 13 after completing the transmission of the response 72 to the client 11, but in parallel with the transmission of the response 72, A request 74 may be transmitted. Thereby, the timing when the proxy 12 acquires the media segment after 60 seconds can be advanced.
  • FIG. 8 is a diagram showing an example of an HTTP message transmitted and received as a request or a response.
  • FIG. 8A shows a request 71 in FIG. 7
  • FIG. 8B shows a response 72
  • FIG. (D) of the request 73 shows the HTTP message of the request 74
  • (e) of FIG. 7 shows the HTTP messages of the responses 75 and 76, respectively.
  • 5 (a) to (c) and (e) are the same as FIGS. 5 (a) to 5 (d), respectively, so that the description thereof is omitted here and FIGS. 5 (a) to 5 (d) are omitted. The difference will be mainly described.
  • FIG. 9 is a flowchart showing an example of processing executed by the proxy 12.
  • FIG. 9A shows the overall flow of the processing
  • FIG. 9B shows the request processing performed in S904 of FIG.
  • FIG. 4C shows details of the response processing performed in S905 of FIG.
  • the response / request execution unit 27 of the proxy 12 waits for reception of a request.
  • the received request is analyzed and a media segment is determined as a response. (S902).
  • the response / request execution unit 27 determines the quality type such as the bit rate of the media segment to be transmitted from the URL included in this message. Determine the initial value.
  • the response / request execution unit 27 receives the second and subsequent requests according to the quality type such as the bit rate of the media segment (movie fragment) according to the transmission status of the response transmitted in response to the previously received request. Determine the initial value.
  • the quality type such as the bit rate of the media segment (movie fragment)
  • the proxy status determination unit 26 determines the presence or absence of delay using N R1 , N R2 , N S1 , and N S2 obtained in S904 and 905 described later. That is, if N R2 ⁇ N R1 > 0 and / or N S2 ⁇ N S1 > 0, it is determined that there is a delay as a whole (determining that an event indicating that the communication status is bad is detected). Then, the response / request execution unit 27 is notified to that effect. Upon receiving this notification, the response / request execution unit 27 switches the movie fragment constituting the media segment to one having a low bit rate.
  • the proxy status determination unit 26 determines that the overall transmission / reception time is sufficiently earlier (the communication status is good). It is determined that an event indicating is detected). Then, the response / request execution unit 27 is notified to that effect. Upon receiving this notification, the response / request execution unit 27 switches the movie fragment constituting the media segment to one having a high bit rate.
  • the response / request execution unit 27 confirms whether the requested media segment is stored in the cache storage unit 14 (S903). Here, if it is confirmed that it is stored (YES in S903), the process proceeds to S905, and if it is confirmed that it is not stored (NO in S903), the process proceeds to S904.
  • the response / request execution unit 27 executes request processing. Although details will be described later, in the request process, the server 13 is requested for the media segment determined in S902, and the media segment received as a response to this request is stored in the cache storage unit 14.
  • the response / request execution unit 27 executes response processing. Although details will be described later, in the response process, the media segment read from the cache storage unit 14 is transmitted to the client 11.
  • response / request execution unit 27 confirms whether all media segments of the content requested from the client 11 have been transmitted. If it is confirmed that all have been transmitted (YES in S906), the process ends. If an untransmitted item is confirmed (NO in S906), the process returns to S901.
  • the response / request execution unit 27 transmits a request to the server 13 via the proxy communication unit 28 (S9041).
  • the request transmitted here is an HTTP message for requesting the media segment determined in S902 of FIG.
  • the server 13 that has received the request first transmits a header as a response to the request transmitted in S9041, so the response / request execution unit 27 receives this (S9042), and notifies the proxy status determination unit 26 accordingly. To do.
  • the server 13 transmits a body in which a plurality of movie fragments are converted into multiparts after the header as a response to the request transmitted in S9041. Therefore, the response / request execution unit 27 receives these movie fragments (S9044) and notifies the proxy status determination unit 26 to that effect.
  • the proxy status determination unit 26 evaluates the reception time of the movie fragment from the server 13 (S9045). Specifically, the proxy status determination unit compares the time t indicated by the timer that started counting in S9043 with the time stamp T fr (value of X-Timestamp) of the received movie fragment.
  • the proxy status determination unit 26 increments the N R1 is a counter of number of times of receiving a sufficiently fast movie fragment of schedule reception time. Thereafter, the process proceeds to S9048.
  • the proxy status determination unit 26 increments the N R2 is a counter number received with a delay movie fragment. Thereafter, the process proceeds to S9048.
  • the response / request execution unit 27 stores the movie fragment received from the server 13 in the cache storage unit 14. Then, it is confirmed whether or not all movie fragments included in the media segment determined in S902 of FIG. 9A have been transmitted (S9049). Then, when it is confirmed that all have been received (YES in S9049), the request processing is terminated, and when an unreceived item is confirmed (NO in S9049), the processing returns to S9044.
  • the response / request execution unit 27 generates an HTTP message to be transmitted as a response, and transmits the header part of the HTTP message to the client 11 that is the transmission source of the request via the proxy communication unit 28 (S9051).
  • This HTTP message may be a message as shown in FIG. 8B, for example.
  • the response / request execution unit 27 notifies the proxy status determination unit 26 that the header portion has been transmitted.
  • the proxy status determination unit 26 evaluates the reception time (S9053). Specifically, the proxy status determination unit 26 compares the time t indicated by the timer that started counting in S9052 with the time stamp T fr (value of X-Timestamp) of the movie fragment to be transmitted.
  • the proxy status determination unit 26 increments the N S1 is a counter of the number of times which transmitted the early enough movie fragment of schedule transmission time. Since it can be determined that a high-quality movie fragment can be transmitted at this stage, the movie fragment to be transmitted does not exceed the requested bit rate specified for the quality type if it is cached in the cache storage unit 14. The range may be switched to a higher bit rate. Thereafter, the process proceeds to S9056.
  • the proxy status determination unit 26 increments the N S2 is a counter number which is transmitted by delaying the movie fragment. At this stage, it can be determined that transmission of a high-quality movie fragment is difficult, so that the movie fragment to be transmitted may be switched to a low bit rate as long as it is cached in the cache storage unit 14. Thereafter, the process proceeds to S9056.
  • the response / request execution unit 27 transmits the movie fragment determined in S902 of FIG. 9A as one part of the multipart. Then, the response / request execution unit 27 confirms whether or not all movie fragments in the media segment determined in S902 of FIG. 9A have been transmitted (S9057). If it is confirmed that all have been transmitted (YES in S9057), the response process is terminated. If an untransmitted one is confirmed (NO in S9057), the process returns to S9053.
  • Embodiment 1-3 Adaptation by Client >> Next, an example in which the client 11 adapts content transmission according to the state of the NW 1 will be described with reference to FIGS.
  • FIG. 10 is a diagram illustrating an example of a sequence when the client 11 adapts content transmission.
  • content configured by three types of media files of 4 Mbps, 2 Mbps, and 1 Mbps is stored in the content storage unit 15 connected to the server 13, and the cache storage unit 14 of the proxy 12 is stored.
  • An example of adaptation to the case where (increase in communication traffic) occurs is shown.
  • the client 11 specifies the URL and requests the beginning of the content “media segment 1” (request 101).
  • the proxy 12 that has received the request 101 checks whether the requested “media segment1” is stored in the cache storage unit 14.
  • the proxy 12 reads the media segment from the cache storage unit 14 without accessing the server 13, and transmits it to the client 11 in the MIME multipart format (response 102).
  • the client 11 determines that the communication status of the NW 1 has deteriorated due to the reception delay of each movie fragment. Therefore, when requesting the subsequent “media segment 2”, the client 11 requests the proxy 12 for a bit rate lower than the previously requested bit rate (here, 1 Mbps) (request 103).
  • the proxy 12 confirms whether the requested “media segment 2” is stored in the cache storage unit 14, and since it is not stored here, transfers the request to the server 13 (request 104).
  • the server 13 that has received this request 104 transmits the requested “media segment 2”, that is, the 1 Mbps version of the 60-120 second portion of the content in the MIME multipart format (response 105).
  • the proxy 12 that has received the response 105 sequentially stores the movie fragments in the cache storage unit 14 and responds to the client 11 in the MIME multipart format (response 106). Similarly, the process is repeated until the entire content is acquired by the client 11.
  • FIG. 11 is a diagram showing an example of an HTTP message transmitted and received as a request or a response.
  • FIG. 11A shows the request 101 in FIG. 10
  • FIG. 11B shows the response 102
  • FIG. FIG. 4D of the requests 103 and 104 shows the HTTP messages of the responses 105 and 106, respectively.
  • FIGS. 5A and 5B are the same as FIGS. 5A and 5B, respectively, so the description thereof will be omitted here, and the differences from FIGS. 5A to 5D will be mainly described. explain.
  • the client 11 has three types of “content 1” of 4 Mbps, 2 Mbps, and 1 Mbps, and the template URL of 1 Mbps content is “ / content1 / $ index $ / 3 ”. Therefore, when requesting the content “media segment 2” after 60 seconds, “/ content1 / 2/3” in which the part of $ index $ is replaced with “2” is used. Therefore, in the HTTP message corresponding to the requests 103 and 104, as shown in FIG. 11C, the URL of the content to be requested described after “GET” is “/ content1 / 2/3”. It has become.
  • the “X-Representation-Id” header is described as “3” as shown in FIG.
  • FIG. 12 is a flowchart illustrating an example of processing executed by the client 11.
  • the request execution unit 22 of the client 11 decides to transmit a content request triggered by a user input operation or the like, first, it determines the media segment of the requested content (S1201). Specifically, since the request execution unit 22 transmits as an HTTP message as shown in FIG. 11A, the request execution unit 22 determines a URL (content name, bit rate, etc.) included in this message.
  • a URL content name, bit rate, etc.
  • the request execution unit 22 determines the bit rate of the media segment (movie fragment) according to the reception status of the response received in response to the previously transmitted request at the second and subsequent request transmissions.
  • the client status determination unit 21 uses N 1 and N 2 obtained in S1207 and 1208, which will be described later, and if N 2 ⁇ N 1 > 0, If there is a delay, it is determined that an event indicating that the communication status is bad is detected. Then, the request execution unit 22 is notified of this. Upon receiving this notification, the request execution unit 22 switches the requested media segment to one with a low bit rate.
  • the client status determination unit 21 determines that the overall reception time is sufficiently earlier (determined that an event indicating that the communication status is good) has been detected, and This is notified to the request execution unit 22. Upon receiving this notification, the request execution unit 22 switches the requested media segment to one having a high bit rate.
  • the request execution unit 22 transmits an HTTP request for requesting the media segment determined in S1201 to the proxy 12 via the client communication unit 24 (S1202). Since the proxy 12 first transmits a header as a response to this request, the request execution unit 22 receives this (S1203), and notifies the client status determination unit 21 accordingly.
  • the proxy 12 transmits a body in which a plurality of movie fragments are multiparted after the header as a response to the request transmitted in S1202. For this reason, the request execution unit 22 receives these movie fragments (S1205), and notifies the client status determination unit 21 to that effect.
  • the request execution unit 22 determines from the value of the “Content-Type” header included in the received header that the movie fragment has been received in the MIME multi-part format, and notifies the content reproduction unit 23 to that effect,
  • the received movie fragment is transmitted to the content reproduction unit 23.
  • the content reproduction unit 23 refers to the “X-Representation-Id” header of the received movie fragment, identifies the quality type (bit rate, etc.) of the movie fragment, and sets the quality type (bit rate, etc.). Playback is performed using the corresponding initialization information.
  • the client status determination unit 21 evaluates the reception time (S1206). Specifically, the client status determination unit 21 compares the time t indicated by the timer that started counting in S1204 with the time stamp T fr (X-Timestamp value) of the movie fragment received in S1205.
  • the client status determination unit 21 increments the N 1 a counter number which received the early enough movie fragment of schedule reception time. Thereafter, the process proceeds to S1209.
  • the client status determination unit 21 increments the N 2 is a counter of the number received with a delay movie fragment. Thereafter, the process proceeds to S1209.
  • the request execution unit 22 confirms whether all the movie fragments included in the media segment specified by the request transmitted in S1202 have been transmitted, and when an unreceived one is confirmed (NO in S1209). Returns to the processing of S1205.
  • the request execution unit 22 confirms whether or not all media segments of the content to be requested have been received (S1210). If it is confirmed that all have been received (YES in S1210), the process ends. If an unreceived one is confirmed (NO in S1210), the process returns to S1201.
  • the bit rate is switched in units of media segments (S1201).
  • the bit rate may be switched in units of movie fragments.
  • a request in which the request bit rate is changed (the quality type identifier part of the URL is changed) is newly transmitted according to the reception time evaluation result performed in S1206, and the request is transmitted based on the previously transmitted request.
  • the movie fragment transmitted in this way may be discarded.
  • the client 11 may be configured to perform adaptation not only for the communication status of the NW 1 but also for the reason that the display screen size being played is changed by a user operation. For example, it may be switched to a higher quality when the display screen size is largely changed, and may be switched to a lower quality when the display screen size is changed.
  • NW1 and NW2 are wide-area networks such as the Internet that are currently widely used, such a conventional client may be connected to the proxy 12 or server 13 of this system.
  • each device included in the communication system 1 is configured to adaptively control the movie fragment / media segment that responds or requests so that real-time playback is possible.
  • the proxy 12 and the server 13 are not limited to real-time playback, but also when performing normal download with no restriction on transmission time or high-speed download for special playback such as quick playback.
  • a communication system 1 that can be easily adaptively controlled will be described.
  • this adaptive control is performed by using the ratio of each bit rate as additional information instead of using each bit rate as additional information.
  • the system configuration (FIG. 1), content storage and transmission format (FIGS. 2 and 3), and operation sequence (FIG. 4) of the communication system 1 of the present embodiment are the same as those of the first embodiment.
  • the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
  • FIG. 13 is a diagram showing an example of an HTTP message transmitted and received as a request or a response.
  • FIG. 13A shows the requests 41 and 42 in FIG. 4, and
  • FIG. 13B shows the responses 43 and 44 in FIG.
  • C shows the HTTP messages of the requests 45 and 46
  • (d) shows the HTTP messages of the responses 47 and 48, respectively.
  • FIGS. 5B and 5D are the same as FIGS. 5B and 5D, respectively, so the description thereof will be omitted here, and the differences from FIGS. 5A to 5D will be mainly described. explain.
  • an HTTP message corresponding to the request 41, 42, 45, 46 requesting the content includes an “X-Transport-Speed” header (requested transfer rate) indicating the requested transmission rate. Information).
  • the ratio to the real time is described as the required transmission speed. That is, the value of “X-Transport-Speed” indicates how many times the transmission is requested with respect to the bit rate of the content itself. For example, when high-speed download is requested in order to perform fast-playback at 4 ⁇ speed, “X-Transport-Speed: 4”. On the other hand, if there is no need for real-time playback and the transmission time is not particularly concerned, a value smaller than 1 such as “X-Transport-Speed: 0.1” may be set.
  • the proxy 12 or the server 13 that has received the request including the “X-Transport-Speed” header transmits the content based on the requested bit rate of the content and the value of the “X-Transport-Speed” header. .
  • the count speed of the timer is set to a speed according to the value of the “X-Transport-Speed” header. For example, when the value of the “X-Transport-Speed” header is 4, the timer is operated at a speed four times the real time, and when the value of the “X-Transport-Speed” header is 0.1 The timer is operated at a speed 0.1 times the real time.
  • the count speed of the timer is set according to the value of the “X-Transport-Speed” header. Set to.
  • the timer count speed is set to a speed corresponding to the value of the “X-Transport-Speed” header in S1204 of FIG.
  • the proxy 12 and the server 13 optimize the processing order in consideration of the request contents such as normal download and high-speed download. You can also.
  • adaptive control accompanying the optimization of the processing order, it is only necessary to change the operation speed of the timer used for evaluating the transmission / reception time based on the required transmission speed information (X-Transport-Speed header). That is, adaptive control can be realized by the same method as in the first embodiment without adding special processing.
  • the required transmission rate may be set to a value larger than 1 only for the first request.
  • the request execution unit 22 determines whether the message to be transmitted is a request message for a media segment including the head portion of the requested content. For example, whether the number specifying the media segment is 1 in the request message. Judgment by When it is determined that the request message is for the media segment including the head part, the value of the “X-Transport-Speed” header of the request message may be set larger than 1. Thereby, the buffering time until the reproduction start in the client 11 can be shortened, and the waiting time from the request to the reproduction start can be shortened.
  • Embodiment 3 Applying a general proxy >>
  • the proxy 12 according to the first and second embodiments is adapted to change the request bit rate in the request transmitted from the client 11 and adapt the movie fragment in the response transmitted to the client 11 in addition to the operations performed by the conventional general proxy. Etc. are possible.
  • the proxy 12 included in the communication system 1 is not limited to the one having such an adaptation function, and may be a conventional proxy.
  • a communication system 1 capable of responding to a movie fragment adapted to a network situation by performing cache control while using a conventional proxy will be described with reference to FIGS.
  • the system configuration, content storage, and transmission format of the communication system 1 of the present embodiment are the same as those of the first embodiment (FIGS. 1 to 3).
  • the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
  • the proxy 12 of this embodiment does not include the proxy status determination unit 26 and has the same function as a general proxy.
  • FIG. 14 is a diagram illustrating an example of a sequence in which the server 13 adapts content transmission based on the NW2 status or the like when a general proxy is applied.
  • the content storage unit 15 connected to the server 13 stores content composed of three types of media files of 4 Mbps, 2 Mbps, and 1 Mbps.
  • the cache connected to the proxy 12 The storage unit 14 is an example of a communication sequence that is started in a state where there is no media segment cache received from the server 13. In the example of FIG. 14, there are two clients 11 (client A and client B).
  • client A specifies the URL and requests the beginning part of the content “media segment 1” (request 1401). Then, the proxy 12 that has received this request 1401 checks whether “media segment1” associated with the requested URL is stored in the cache storage unit 14.
  • the proxy 12 confirms that “media segment1” does not exist, and transmits a request 1402 to the server 13.
  • the server 13 that has received the request 1402 reads “media segment1” from the content storage unit 15 and transmits it to the proxy 12 in the MIME multipart format (response 1403).
  • the server 13 starts transmission using a 4 Mbps movie fragment as the response 1403, but detects the situation of the NW2 and confirms that a delay has occurred in the response processing.
  • the server 13 since the server 13 adapts to the NW2 situation, the subsequent movie fragment is switched to a lower bit rate (here, 1 Mbps). At this time, the server 13 designates the cache retention period of “media segment1” to be transmitted in consideration of the time during which the recovery of the communication status of NW2 is expected.
  • the proxy 12 that has received the response 1403 sequentially transfers the response 1403 to the client A (response 1404) and stores the response 1403 in the cache storage unit 14. In addition, the proxy 12 sets the cache retention period of the stored response 1403 to a period specified by the server 13. Note that conventional proxies do not handle each part of the MIME multipart format individually, but handle the entire response collectively.
  • Another client B requests the beginning part “media segment1” of the same content as the client A (request 1405).
  • “media segment 1” received in the response 1403 is stored in the cache storage unit 14 of the proxy 12. Therefore, access to the server 13 is not performed, and “media segment1” stored in the cache storage unit 14 is transmitted to the client B.
  • the cache has a cache retention period, and the cache retention period has already been exceeded. Therefore, it is determined that the requested content does not exist in the cache, and the server 13 is requested for the content (request 1406).
  • the server 13 that has received this request 1406 reads “media segment 1” from the content storage unit 15 and transmits it to the proxy 12 in the MIME multi-part format (response 1407).
  • the server 13 starts transmission using a 4 Mbps movie fragment as the response 1407. Note that when the response 1407 is transmitted, the NW2 delay is not detected. Therefore, the response 1407 does not set the cache retention period.
  • the proxy 12 that has received the response 1407 transfers the response 1407 to the client B (response 1408) and stores it in the cache storage unit 14.
  • FIG. 15 is a diagram illustrating an example of an HTTP message transmitted and received as a request or a response.
  • FIG. 15A shows the requests 1401, 1402, 1405, and 1406 in FIG. 14, and
  • FIG. 15B shows the responses 1403 and 1404.
  • FIG. 6C shows HTTP messages of responses 1407 and 1408, respectively.
  • FIG. 16 shows another example of the response 1403. Note that FIGS. 5A and 5C are the same as FIGS. 5A and 5B, respectively, so the description thereof will be omitted here, and the differences from FIGS. 5A to 5D will be mainly described. explain.
  • the body portion of the HTTP message includes a plurality of bit rate movie fragments.
  • the server 13 designates a short cache retention period when an adapted response is transmitted.
  • the server 13 may or may not be able to recognize at the start of header transmission that a response adapted to each movie fragment is transmitted.
  • the cache holding period can be specified short by the “Cache-Control” header which is control information for specifying the cache holding period. .
  • the value of the Cache-Control header is not limited to this example, and may be 60 seconds or less, or 60 seconds or more as long as the NW2 communication status can be recovered when the next request is received. Note that the value of the Cache-Control header may be set to “no-store” so as not to be cached.
  • control information for instructing the server 13 to revalidate whether the cache can be used (whether the cached data reflects the current network conditions). : No-cache) may be described in the header. In this case, the server 13 does not need special processing such as calculation of the cache period.
  • Cache-Control no-cache can be described in the header of the request, thereby allowing the server 13 to perform re-verification under control from the request side.
  • the client 11 can instruct the server 13 to re-verify the availability of the already cached response 1403 by describing Cache-Control: ⁇ no-cache in the request 1405.
  • the server 13 uses the chunk transfer in HTTP and caches the trailer as additional information described at the end of the message. -Control should be described.
  • an HTTP message as shown in FIG. 16 may be used.
  • “Transfer-Encoding: chunked” indicating chunk transfer
  • a “Trailer” header indicating a list of additional information described at the end of the message, and the like are described.
  • Cache-Control since it is assumed that Cache-Control is described at the end of the message, the value of the Trailer header is “Cache-Control”.
  • the body of the HTTP message in the figure includes a plurality of chunks.
  • the first chunk includes three movie fragments 1 corresponding to three bit rates, and the subsequent chunks include one movie fragment.
  • the 1st to 60th chunks corresponding to the movie fragments 1 to 60 are formed.
  • CHUNK_SIZE_N (N is a chunk number) that is information indicating the chunk size is described in each chunk. Note that “CHUNK_SIZE_N” is replaced with the number of bytes representing the file size of the Nth chunk in hexadecimal.
  • the cache holding time is 3600 seconds, that is, 2 hours.
  • the cache retention time is not limited to the above example.
  • the server 13 of the third embodiment performs cache control so that even if the proxy 12 is an existing one, the server 13 has the adaptation function as shown in the first and second embodiments. Even so, it is possible to respond to an appropriate movie fragment reflecting the current network status.
  • the existing proxy caches only media segments that are not adapted (all movie fragments are at the required bit rate) as usual.
  • adapted media segments mixed with multiple bit rate movie fragments cache or do not cache for a shorter period of time.
  • a media segment including a movie fragment having a lower bit rate for example, 1 Mbps
  • the proxy 12 transmits a request to the server 13, and the content adapted to the current network state is returned as a result of the determination of the server 13.
  • a movie fragment is selected from a plurality of media segments with different bit rates stored in the cache storage unit 14 according to the network conditions, and the media segment is selected. Can be reconfigured and sent to the client 11 adaptively. This is because media segments that are not adapted are not subject to cache control by the server 13 and are stored in the cache storage unit 14 for a sufficient period.
  • the time stamp of the media segment (X-Media-Segment-Timestamp header) and the time stamp of each movie fragment (X-Timestamp header) are used as information indicating time.
  • the present invention is not limited to this example.
  • the playback period of the media segment (X-Media-Segment-Duration header) and the playback period of each movie fragment constituting the media segment (X-Duration header) are described. May be. For example, in the case of the response message shown in FIG.
  • the playback period of the media segment is 60000 milliseconds, and the playback period of each movie fragment is 1000 milliseconds. Therefore, “X-Media-Segment-Duration: 60000” may be described in the header, and “X-Duration: 1000” may be described in the header of each part in the body. Thereby, the playback period of the current movie fragment can be acquired without acquiring the time stamp of the subsequent movie fragment.
  • a time scale (X-Timescale header) may be described separately, and values such as X-Timestamp and X-Duration may be described based on the time scale.
  • “X-Timescale: 1” if the unit is seconds
  • “X-Timescale: 1000” if it is milliseconds
  • “X-Timescale: 1000000” if it is microseconds, etc.
  • description may be made as “X-Timestamp: 2”, “X-Timestamp: 2000”, and “X-Timestamp: 2000000”, respectively.
  • the server 13 can describe the time stamp (X-Timestamp header) and the playback period (X-Duration header) on a time scale that matches the content storage format. No processing is required.
  • the format in which the media segment number is described in the URL such as “/ content1 / 1”, is used to indicate the playback position of the content.
  • a time stamp t indicating the reproduction start position may be described instead of the number.
  • each movie fragment can be described with a time stamp by the “X-Timestamp” header.
  • downloaded contents can be updated in units of movie fragments.
  • the downloaded content contains a low-quality part (for example, a movie fragment whose value of the “X-Representation-Id” header is 3, that is, 1 Mbps)
  • a low-quality part for example, a movie fragment whose value of the “X-Representation-Id” header is 3, that is, 1 Mbps
  • the time stamp of the movie fragment is used to By requesting a higher one, the part can be updated to a higher quality one.
  • the client 11 designates a desired quality type in the URL and “X-Transport-Speed” indicating the requested transmission speed described in the second embodiment.
  • the request may be transmitted with a small value set in the header.
  • bit rate of a movie fragment to be transmitted is switched according to the communication status of the network (NW1, 2).
  • the event that triggers the bit rate switching is limited to the communication status. I can't. This event may be an event indicating that transmission of large-capacity content is difficult or unnecessary, or an event indicating that transmission of large-capacity content is possible or necessary.
  • the bit rate of the content to be transmitted may be switched to a lower one.
  • the bit rate of the content to be transmitted may be switched to a higher one.
  • an event that triggers bit rate switching at the time of content request also indicates that it is difficult or unnecessary to request a large-capacity content, or that a request for a large-capacity content is possible or necessary. Any event may be used as long as it is shown, and the present invention is not limited to the communication status.
  • the requested bit rate may be switched to a higher one when an event that switching from normal screen display to full screen display is performed is detected. Similarly, when an event that switching from full screen display to normal screen display or small screen display is detected, the requested bit rate may be switched to a lower one.
  • MP4 is shown as an example of a media file composed of movie fragments.
  • content to be transmitted / requested is fragmented and is to be reproduced. (Sound, moving image, etc.) may be used, and the present invention is not limited to this example.
  • an MPEG-2 transport stream may be used, and a configuration in which MP4 and an MPEG-2 transport stream are mixed in movie fragments constituting a media segment may be used.
  • the example in which the bit rate is applied is shown as an example of the playback quality and type of content.
  • the playback quality or type other than the bit rate such as image resolution, audio language, codec type, etc. It may be settable in units.
  • each block of the client 11, the proxy 12, and the server 13, in particular, the client control unit 20, the proxy control unit 25, and the server control unit 29 is hardware by a logic circuit formed on an integrated circuit (IC chip).
  • IC chip integrated circuit
  • it may be realized by software, or may be realized by software using a CPU (Central Processing Unit).
  • the client 11, proxy 12, and server 13 include a CPU that executes program instructions for realizing the functions, 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 to enable a computer to read program codes (execution format program, intermediate code program, source program) of control programs for the client 11, the proxy 12, and the server 13, which are software for realizing the functions described above. This can also be achieved by supplying the recorded recording medium to the client 11, the proxy 12, and the server 13, and the computer (or CPU or MPU) reads and executes the program code recorded on the recording medium. .
  • Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, and disks including optical disks such as CD-ROM / MO / MD / DVD / CD-R.
  • IC cards including memory cards
  • semiconductor memories such as mask ROM / EPROM / EEPROM / flash ROM, or PLD (Programmable logic device) or FPGA (Field Programmable Gate Array) Logic circuits can be used.
  • the program code may be supplied to the client 11, the proxy 12, and the server 13 via a communication network.
  • the communication network is not particularly limited as long as it can transmit the program code.
  • the Internet intranet, extranet, LAN, ISDN, VAN, CATV communication network, virtual private network (Virtual Private Network), telephone line network, mobile communication network, satellite communication network, etc. can be used.
  • the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
  • wired lines such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared rays such as IrDA and remote control, Bluetooth (registered trademark), IEEE 802.11 wireless, HDR ( It can also be used by wireless such as High Data Rate, NFC (Near Field Communication), DLNA (Digital Living Network Alliance), mobile phone network, satellite line, and terrestrial digital network.
  • wired lines such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared rays such as IrDA and remote control, Bluetooth (registered trademark), IEEE 802.11 wireless, HDR ( It can also be used by wireless such as High Data Rate, NFC (Near Field Communication), DLNA (Digital Living Network Alliance), mobile phone network, satellite line, and terrestrial digital network.
  • wired lines such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line,
  • the content acquisition apparatus of the present invention transmits transmission format information indicating that part or all of the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content, and playback.
  • a response receiving means for receiving a response message including a plurality of fragments in which at least one of quality and type is set independently, and quality / type information indicating at least one of reproduction quality and type of each fragment; and the response A reproduction unit that reproduces the plurality of fragments with reference to the quality / type information when it is determined from the transmission format information received by the reception unit that the content is received as a media segment;
  • the content acquisition device specifies the playback quality of the content Preferably it includes a request message sending means for sending a request message including the raw quality designation information.
  • the user of the content acquisition device designates the desired reproduction quality by using the reproduction quality designation information, so that the content having the desired reproduction quality can be obtained. It becomes possible to get.
  • the content acquisition apparatus includes event detection means for detecting at least one of a predetermined first event and second event, and the request message transmission means detects the first event by the event detection means.
  • the reproduction quality designation information of the request message to be transmitted thereafter is switched to one that designates reproduction quality lower than that before the detection of the first event, and when the event detection means detects the second event, It is preferable to switch the reproduction quality designation information of the request message to be transmitted to one that designates a higher reproduction quality than before the detection of the second event.
  • the reproduction quality designation information of the request message to be transmitted thereafter is switched depending on whether or not the first and second events are detected. Therefore, it is possible to receive content of reproduction quality according to whether or not the first and second events are detected.
  • the first event it is desirable to apply an event for which it is appropriate to request content with low playback quality after the detection of the event. For example, an event indicating that the communication status between the content request destination device and the device itself is poor (such as a fragment reception being delayed from the scheduled reception time), and a screen for presenting the reproduced content to the user ( An event or the like that is switched to a smaller window may be used as the first event.
  • the second event it is desirable to apply an event for which it is appropriate to request content with high reproduction quality after the detection of the event.
  • An event or the like that has been switched to a larger (window) (for example, switched to full screen display) or the like may be used as the second event.
  • the response receiving means receives a response message in which a time stamp indicating the reproduction start time of each fragment is associated with each fragment, and the event detecting means is one of the fragments included in the response message.
  • the time t until the reception of the second fragment, which is the next received fragment is counted, the time stamp value associated with the first fragment, and the second
  • the difference between the time stamp value associated with the fragment is T fr , a predetermined threshold value of zero or more is T th , and if T fr + T th > t, the first event is detected. It is preferable to determine that the second event has been detected when t ⁇ T fr ⁇ T th .
  • T fr t
  • the reproduction of the second fragment can be started at the timing indicated by the time stamp by ignoring the time lag generated in the process up to the reproduction. That is, when T fr + T th > t, it can be said that the reception of the second fragment is delayed so that reproduction cannot be started at the timing indicated by the time stamp. Further, when t ⁇ T fr ⁇ T th , it can be said that the reception of the second fragment was sufficiently early.
  • the request message transmitting means preferably transmits a request message including request transfer rate information indicating the requested transfer rate of the content by a magnification with respect to the bit rate of the content.
  • the content can be received at a desired transfer rate specified by the requested transfer rate information.
  • the device that is requested to transmit the content uses this information to transmit the content. The situation can be easily judged.
  • the fragment transmission status (whether it is transmitted with a delay or sufficiently early) from the transmission time interval of each fragment. Can be judged. Then, by multiplying the speed of the counter that counts the transmission time interval by the magnification indicated by the requested transfer speed information, the same processing can be used to fragment the transfer speed requested by the content acquisition apparatus. Can be determined.
  • the request message transmitting means may set the request transfer rate information to a value greater than 1 when the request message to be transmitted is determined to be a request message for a media segment including the head portion of the requested content. preferable.
  • the requested transfer rate information of the request message for the media segment including the head portion of the requested content is set to a value greater than 1. Therefore, the media segment including the head portion of the requested content can be received earlier, and the waiting time until the start of reproduction can be shortened.
  • the content transmission apparatus of the present invention includes additional information generation means for generating transmission format information indicating that the content is transmitted as a media segment including at least two of a plurality of fragments constituting the content as the additional information.
  • the additional information generated by the additional information generating means a plurality of fragments in which at least one of reproduction quality and type is set independently, and quality / type information indicating at least one of the reproduction quality and type of each fragment;
  • Response message generating means for generating a response message including the playback message, and the response message generating means is adapted to receive the playback information for playing back the content of the playback quality corresponding to each of the playback quality. It is preferable to generate a response message included in the quality fragment
  • reproduction information for example, initialization information of the decoder
  • Such reproduction information often differs for each reproduction quality of content.
  • the response information for reproducing the content of each reproduction quality corresponding to each of the plurality of reproduction qualities is generated in the reproduction quality fragment.
  • the device that has received this response message can reproduce the fragment by using the reproduction information, and after that, even if any content of the plurality of reproduction qualities is received, This can be reproduced. Since the reproduction information is necessary before the reproduction of the content, it is more preferable to add the reproduction information to the fragment corresponding to the head portion of the content of each reproduction quality.
  • the response message generating unit generates a response message in which a time stamp indicating a reproduction start time of each fragment is associated with each fragment.
  • the time stamp indicating the playback start time of each fragment generates a response message associated with each fragment. For this reason, the apparatus which received this response message can specify the reproduction start time of each fragment without analyzing the fragment. Thus, for example, when it is desired to replace a part of the received fragment with one having a high reproduction quality, the apparatus that has received the response message can also request the fragment by specifying a time stamp value.
  • the additional information generating means generates information indicating the reproduction position with respect to the full length of the content of the media segment as the additional information.
  • information indicating the playback position with respect to the entire length of the content of the media segment is generated as additional information. For this reason, a device that has received a response message including this additional information can easily recognize the full length of the content and which playback position the received media segment corresponds to. Thereby, the apparatus which received the response message can also request
  • the additional information generating means generates information indicating at least one of reproduction quality and type of content that can be transmitted by the device as the additional information.
  • the device that has received the response message including the additional information It is possible to recognize what reproduction quality / type of content can be requested from the content transmission apparatus.
  • content transmission is performed by transmitting information indicating at least one of the reproduction quality and type of content that can be transmitted by the content transmission device. It is possible to make the relay device recognize at least one of the reproduction quality and type of content that can be transmitted by the device. Accordingly, it is possible to cause the relay device to perform appropriate relay processing according to at least one of the reproduction quality and type of content that can be transmitted by the content transmission device.
  • the content transmission device includes transmission time event detection means for detecting at least one of a predetermined third event and fourth event, and the response message generation means includes the transmission time event detection means.
  • the reproduction quality of the fragment included in the response message to be transmitted thereafter is switched to a lower quality than before the detection of the third event, and the transmission event detection means detects the fourth event In this case, it is preferable to switch the reproduction quality of the fragment included in the response message transmitted thereafter to a higher quality than that before the detection of the fourth event.
  • the reproduction quality of the fragment included in the response message to be transmitted thereafter is switched according to whether or not the third and fourth events are detected. Accordingly, it is possible to transmit content of reproduction quality according to whether or not the third and fourth events are detected.
  • the third event it is desirable to apply an event for which it is appropriate to transmit content with low reproduction quality after the detection of the event. For example, an event indicating that the communication status between the content transmission destination device and the device itself is poor (such as a fragment transmission being delayed from the scheduled transmission time) may be set as the third event.
  • the fourth event it is desirable to apply an event for which it is appropriate to transmit content of high reproduction quality after the detection of the event.
  • an event indicating that the communication status between the content transmission destination device and the device itself is good (fragment transmission completed earlier than the scheduled transmission time) or the like may be set as the fourth event.
  • the content transmitting apparatus sets the time stamp associated with the fragment being transmitted as the value T fr , sets the elapsed time counted from the start of transmission of the fragment as t, and sets a predetermined threshold value equal to or greater than T th
  • T fr + T th > t it is determined that the third event has occurred
  • t ⁇ T fr ⁇ T th it is determined that the fourth event has occurred.
  • the response message generation means indicates the reproduction quality of the fragment included in the response message to be transmitted after the transmission event detection means detects the third event before the detection of the third event.
  • the transmission event detection means detects the fourth event, the fragment included in the response message to be transmitted is reproduced. Quality, it is preferable to switch to higher than the previous detection of the fourth event.
  • the additional information generation means stores each fragment included in the media segment as additional information of a response message transmitted to a relay device that stores the content transmitted by the own device in a cache storage unit and transmits the content to another device.
  • Information instructing not to store in the cache storage unit information specifying a retention period for storing the fragment in the cache storage unit, or storing in the cache storage unit for a content request received thereafter by the relay device It is preferable to generate information instructing the device to inquire about whether or not the used fragment can be used.
  • the relay device that has received this response message does not store each fragment included in the media segment of the response message in the cache storage unit, holds it for a specified holding period, or receives a subsequent content request. If there is, the content transmission apparatus is inquired about whether or not the fragment stored in the cache storage unit can be used.
  • the content transmission device transmits a “media segment 1” including a 4 Mbps fragment and a 2 Mbps fragment.
  • the relay apparatus receives a request for “media segment1” of 4 Mbps.
  • the target of this second request is “media segment 1” of 4 Mbps as in the first request, but the communication status and the request source may be different from when the first request is received. For this reason, it may not be appropriate to transmit “media segment 1” including a 4 Mbps fragment and a 2 Mbps fragment for the second request.
  • the response message generation unit obtains the content from the cache storage unit, and the content transmission device transmits the requested content to the cache storage unit.
  • the content providing apparatus capable of providing the content preferably includes a request message transmission unit that transmits a request message for requesting transmission of the content.
  • the content providing apparatus when the requested content is stored in the cache storage unit, the content is acquired from the cache storage unit, and when the requested content is not stored in the cache storage unit, the content providing apparatus Send a request message to
  • the device that requested the content can acquire the content without going through the content providing device.
  • the content can be acquired via the content transmission device and the content providing device.
  • the content transmission device functions as a relay device that relays between the content requesting device and the content providing device.
  • the content requesting device can smoothly acquire the content.
  • the content transmission / reception system includes the content acquisition device and the content transmission device that transmits content in response to a request from the content acquisition device, the same effects as the content acquisition device or the content transmission device are achieved. .
  • the data structure of the present invention includes transmission format information indicating that part or all of content is transmitted as a media segment including at least two of a plurality of fragments constituting the content, at least reproduction quality and type.
  • the content acquisition device that includes the plurality of fragments, each of which is set independently, and the quality / type information indicating at least one of the reproduction quality and type of each fragment, and the content acquisition apparatus that has received the response message receives the transmission format information It is determined that the content is received as a media segment, and a plurality of the fragments are reproduced while referring to the quality / type information, and the response message includes each of the plurality of fragments as one part.
  • the content acquisition device and the content transmission device may be realized by a computer.
  • the computer by causing the computer to operate as each unit of the content acquisition device and the content transmission device, a control program for realizing the content acquisition device and the content transmission device by the computer, and a computer reading recorded therein Possible recording media also fall within the scope of the present invention.
  • the present invention can be used for an apparatus that transmits or receives content via a communication network.
  • Communication system content transmission / reception system
  • Client content acquisition device
  • Proxy content acquisition device
  • Server content transmission device
  • cache storage unit 15 content storage unit
  • client status determination unit event detection unit, start time identification unit
  • Request execution unit response message transmission means
  • Content playback unit playback means
  • Proxy status determination unit event detection means during transmission
  • Response / request execution unit additional information generation means, response message generation means, request message transmission means
  • Server status determination unit event detection means during transmission
  • Response execution unit additional information generation means, response message generation means, response message transmission means

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 クライアント(11)は、Content-Typeヘッダと、品質種別が独立に設定された複数のムービーフラグメントと、X-Representation-Idヘッダとを含む応答メッセージを受信し、受信したContent-Typeヘッダから、コンテンツをメディアセグメントとして受信したと判断した場合に、複数の上記ムービーフラグメントを、X-Representation-Idヘッダを参照しながら再生する。

Description

コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体
 本発明は、コンテンツ要求を送信して取得したコンテンツを再生するコンテンツ取得装置等に関する。
 従来から、通信ネットワークを介したコンテンツの提供を行う技術が広く用いられている。例えば、下記の特許文献1には、クライアントからサーバにHTTPでコンテンツのリクエストを送信し、クライアントがこのリクエストに対する応答として受信したコンテンツをストリーミング再生するコンテンツストリーミングサービスシステムが開示されている。
 また、近年では、パーソナルコンピュータ等のみならず、テレビジョン受像機や、携帯端末等の様々な機器によって、様々なネットワークを介してコンテンツの送受信が行われるようになっている。そして、ネットワークのトラフィックは、時間によって変化する。
 このため、コンテンツを送受信するときには、送受信に関わる機器の種類や性能、使用する通信手段、そのときのネットワークトラフィック等に応じた送受信態様とすることが望ましい。
 例えば、同じコンテンツに再生品質の異なる2つのバージョンが存在する場合、ネットワークトラフィックに余裕があれば、データの容量が大きくても再生品質の高いバージョンを送受信することが望まれる。一方、ネットワークトラフィックに余裕がなければ、データの容量の小さい再生品質の低いバージョンを送受信することが望まれる。
日本国公開特許公報「特開2005-110244号公報(2005年4月21日公開)」
 ここで、上記特許文献1で送信されるコンテンツは、MP4の動画像であり、MP4は、1つのファイルが複数のフラグメントで構成されているという特徴がある。このようなフラグメント化されたコンテンツであれば、フラグメント単位で再生品質やコンテンツの種別を設定可能とすることにより、ネットワーク状況等に応じたきめ細かい適応化を行うことが可能になる。
 しかしながら、従来は、各フラグメントの再生品質や種別が独立に設定されたコンテンツをネットワーク上で取り扱うための技術が確立されておらず、ネットワーク状況等に応じたきめ細かい適応化を行うことはできなかった。
 本発明は、上記の問題点に鑑みてなされたものであり、その目的は、各フラグメントの再生品質及び種別の少なくとも何れかが独立に設定されたコンテンツを取り扱うことを可能にするコンテンツ取得装置等を提供することにある。
 上記の課題を解決するために、本発明のコンテンツ取得装置は、コンテンツの送信を要求する要求メッセージを送信してコンテンツを取得するコンテンツ取得装置であって、上記要求メッセージに対する応答として、上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを受信する応答受信手段と、上記応答受信手段が受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生する再生手段とを備えていることを特徴としている。
 そして、本発明のコンテンツ取得装置の制御方法は、上記課題を解決するために、コンテンツの送信を要求する要求メッセージを送信してコンテンツを取得するコンテンツ取得装置の制御方法であって、上記要求メッセージに対する応答として、上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを受信する応答受信ステップと、上記応答受信ステップで受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生する再生ステップとを含むことを特徴としている。
 上記の構成によれば、複数のフラグメントを1つのメディアセグメントとして受信するので、1つのフラグメントを1つの応答メッセージで受信する場合と比べて、少ない応答メッセージの受信回数で要求するコンテンツ全体を取得することができる。なお、メディアセグメントは、上記の通り、複数のフラグメントで構成されたコンテンツの一部または全部を構成するものであり、少なくとも2つのフラグメントを含むものである。つまり、コンテンツは1つ以上のメディアセグメントで構成され、メディアセグメントは2つ以上のフラグメントで構成される。
 また、上記の構成によれば、送信形式情報にメディアセグメントを送信する旨が示されているので、この応答メッセージを受信したコンテンツ取得装置は、メディアセグメントが受信されることを認識することができ、これにより、受信したメディアセグメントに含まれる各フラグメントを適切に扱うことが可能になる。
 そして、上記の構成によれば、受信したフラグメントの再生品質及び種別の少なくとも何れかが独立に設定されている。このため、受信したフラグメントを再生するときには、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わる可能性がある。なお、この再生品質は、例えば解像度やビットレートのように、音声や画像の品質(精細さ)を規定するものであり、再生品質が高いほど、フラグメントのデータサイズが大きくなるものである。また、上記種別は、例えば音声言語や使用コーデック等のように、当該フラグメントの再生時の取り扱いに影響を与えるものである。つまり、再生品質及び種別の少なくとも何れかが異なるフラグメントとは、何れも1つのコンテンツの一部を構成している点で共通しているが、音声や画像の品質及び再生時の取り扱いの何れかまたは両方が異なっているフラグメントである。
 ここで、上記応答メッセージには、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報が含まれている。このため、上記コンテンツ取得装置は、この品質/種別情報を参照して、再生しようとするフラグメントの再生品質及び種別の少なくとも何れかを特定することにより、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わったとしても再生することができる。
 したがって、上記の構成によれば、各フラグメントの再生品質及び種別の少なくとも何れかが独立に設定されたメディアセグメントを取り扱うことを可能にすることができるという効果を奏する。
 また、本発明のコンテンツ送信装置は、上記課題を解決するために、要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置であって、上記コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成手段と、上記付加情報生成手段が生成した付加情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを生成する応答メッセージ生成手段とを備えていることを特徴としている。
 また、本発明のコンテンツ送信装置の制御方法は、上記課題を解決するために、要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置の制御方法であって、上記コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成ステップと、上記付加情報生成ステップで生成した付加情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを生成する応答メッセージ生成ステップとを含むことを特徴としている。
 上記の構成によれば、複数のフラグメントを1つのメディアセグメントとして送信するので、1つのフラグメントを1つの応答メッセージで送信する場合と比べて、1つのコンテンツを送信するために必要な応答メッセージの送信回数を減らすことができる。
 また、上記の構成によれば、付加情報にメディアセグメントを送信する旨が示されているので、この応答メッセージを受信した装置(コンテンツを要求した装置)は、メディアセグメントが受信されることを認識することができ、これにより、受信したメディアセグメントに含まれる各フラグメントを適切に扱うことが可能になる。
 そして、上記の構成によれば、送信するフラグメントの再生品質及び種別の少なくとも何れかが独立に設定されている。このため、受信したフラグメントを再生するときには、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わる可能性がある。
 そこで、上記の構成によれば、上記応答メッセージに、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報を含めている。このため、この応答メッセージを受信した装置は、この品質/種別情報を参照して、再生しようとするフラグメントの再生品質及び種別の少なくとも何れかを特定することにより、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わったとしても再生することができる。つまり、上記の構成によれば、再生品質及び種別の少なくとも何れかが独立に設定されたメディアセグメントを取り扱うことを可能にすることができるという効果を奏する。
 そして、上記の構成によれば、ネットワークのトラフィック等の状況に応じて、フラグメントの再生品質及び種別の少なくとも何れかを切り替えたとしても、この応答メッセージを受信した装置が、それらのフラグメントを再生することができる。
 また、本発明のデータ構造は、上記課題を解決するために、コンテンツ取得装置から要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置が生成する応答メッセージのデータ構造であって、上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含み、上記応答メッセージを受信した上記コンテンツ取得装置が、上記送信形式情報から上記コンテンツをメディアセグメントとして受信したと判断して、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生することを特徴としている。
 上記の構成によれば、1つの応答メッセージに複数のフラグメントを1つのメディアセグメントとして含めるので、1つの応答メッセージに1つのフラグメントを含める場合と比べて、コンテンツ全体を送信するための応答メッセージの数が少なくて済む。
 また、上記の構成によれば、付加情報にメディアセグメントを送信する旨が示されているので、この応答メッセージを受信したコンテンツ取得装置は、メディアセグメントが受信されることを認識することができ、これにより、受信したメディアセグメントに含まれる各フラグメントを適切に扱うことが可能になる。
 そして、上記の構成によれば、メディアセグメントに含まれる各フラグメントの再生品質及び種別の少なくとも何れかが独立に設定されている。このため、上記の応答メッセージを受信した装置が、その応答メッセージに含まれるフラグメントを再生するときには、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わる可能性がある。
 ここで、上記応答メッセージには、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報が含まれている。このため、上記コンテンツを再生するときには、この品質/種別情報を参照して、再生しようとするフラグメントの再生品質及び種別の少なくとも何れかを特定することにより、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わったとしても再生することができる。
 したがって、上記の構成によれば、各フラグメントの再生品質及び種別の少なくとも何れかが独立に設定されたメディアセグメントを取り扱うことを可能にすることができるという効果を奏する。
 また、本発明のコンテンツ取得装置は、コンテンツの送信を要求する要求メッセージを送信してコンテンツを取得するコンテンツ取得装置であって、上記要求メッセージに対する応答として、上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、複数の上記フラグメントとを含み、該複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられた応答メッセージを受信する応答受信手段と、上記応答受信手段が受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、上記タイムスタンプを参照しながら、上記各フラグメントを再生する再生手段とを備えていることを特徴としている。
 上記の構成によれば、複数のフラグメントを1つのメディアセグメントとして受信するので、1つのフラグメントを1つの応答メッセージで受信する場合と比べて、少ない応答メッセージの受信回数で要求するコンテンツ全体を取得することができる。
 また、上記の構成によれば、送信形式情報にメディアセグメントを送信する旨が示されているので、この応答メッセージを受信したコンテンツ取得装置は、メディアセグメントが受信されることを認識することができ、これにより、受信したメディアセグメントに含まれる各フラグメントを適切に扱うことが可能になる。
 そして、上記の構成によれば、受信したフラグメントのそれぞれにタイムスタンプが対応付けられており、このタイムスタンプを参照しながら、各フラグメントを再生する。
 したがって、上記の構成によれば、フラグメントの解析等を行うことなく、極めて容易に各フラグメントの再生開始時間を特定し、これを用いて再生を行うことができるという効果を奏する。
 なお、各フラグメントの再生開始時間を特定することにより、フラグメントがその再生時間より前に受信されたかを確認することができ、これによりフラグメントの受信遅延の有無を検出することもできる。また、ある再生開始時間のフラグメントの再生品質が低い場合に、その再生開始時間と所望の再生品質を指定して、より再生品質が高いバージョンのフラグメントを要求することも容易である。
 また、本発明のコンテンツ送信装置は、要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置であって、上記コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成手段と、上記付加情報生成手段が生成した付加情報と、複数の上記フラグメントとを含み、該複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられた応答メッセージを生成する応答メッセージ生成手段とを備えていることを特徴としている。
 上記の構成によれば、複数のフラグメントを1つのメディアセグメントとして送信するので、1つのフラグメントを1つの応答メッセージで送信する場合と比べて、少ない応答メッセージの送信回数で要求されたコンテンツ全体を送信することができる。
 また、上記の構成によれば、付加情報にメディアセグメントを送信する旨が示されているので、この応答メッセージを受信したコンテンツ取得装置は、メディアセグメントが受信されることを認識することができ、これにより、受信したメディアセグメントに含まれる各フラグメントを適切に扱うことが可能になる。
 そして、上記の構成によれば、受信したフラグメントのそれぞれにタイムスタンプが対応付けられている。
 したがって、上記の構成によれば、上記応答メッセージを受信した装置に、フラグメントの解析等を行うことなく、極めて容易に各フラグメントの再生開始時間を特定させることができるという効果を奏する。
 また、本発明のデータ構造は、コンテンツ取得装置から要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置が生成する応答メッセージのデータ構造であって、上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、複数の上記フラグメントとを含み、上記複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられており、上記応答メッセージを受信した上記コンテンツ取得装置が、上記送信形式情報から上記コンテンツをメディアセグメントとして受信したと判断した場合に、上記タイムスタンプを参照しながら上記各フラグメントを再生することを特徴としている。
 上記の構成によれば、複数のフラグメントを1つのメディアセグメントとしているので、1つのフラグメントを1つの応答メッセージで送信する場合と比べて、少ない応答メッセージの送信回数で要求されたコンテンツ全体を送信することができる。
 また、上記の構成によれば、送信形式情報にメディアセグメントを送信する旨が示されているので、この応答メッセージを受信したコンテンツ取得装置は、メディアセグメントが受信されることを認識することができ、これにより、受信したメディアセグメントに含まれる各フラグメントを適切に扱うことが可能になる。
 そして、上記の構成によれば、各フラグメントのそれぞれにタイムスタンプが対応付けられている。
 したがって、上記の構成によれば、上記応答メッセージを受信した装置に、フラグメントの解析等を行うことなく、極めて容易に各フラグメントの再生開始時間を特定させ、これを用いた再生を行わせることができるという効果を奏する。
 以上のように、本発明のコンテンツ取得装置は、要求メッセージに対する応答として、コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを受信する応答受信手段と、上記応答受信手段が受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生する再生手段とを備えている構成である。
 また、本発明のコンテンツ取得装置の制御方法は、要求メッセージに対する応答として、コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを受信する応答受信ステップと、上記応答受信ステップで受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生する再生ステップとを含む構成である。
 上記の構成によれば、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わっているメディアセグメントを再生することができるという効果を奏する。
 また、本発明のコンテンツ送信装置は、以上のように、コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成手段と、上記付加情報生成手段が生成した付加情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを生成する応答メッセージ生成手段とを備えている構成である。
 また、本発明のコンテンツ送信装置の制御方法は、コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成ステップと、上記付加情報生成ステップで生成した付加情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを生成する応答メッセージ生成ステップとを含む構成である。
 上記の構成によれば、上記応答メッセージを受信した装置が、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わっているメディアセグメントを再生することを可能にすることができるという効果を奏する。
 また、本発明のデータ構造は、以上のように、コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含み、上記応答メッセージを受信した上記コンテンツ取得装置が、上記送信形式情報から上記コンテンツをメディアセグメントとして受信したと判断して、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生する構成である。
 上記の構成によれば、上記データ構造の応答メッセージを受信したコンテンツ取得装置が、フラグメント間で再生品質及び種別の少なくとも何れかが切り替わっているメディアセグメントを、上記品質/種別情報を参照しながら再生することができるという効果を奏する。
 また、本発明のコンテンツ取得装置は、以上のように、要求メッセージに対する応答として、コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、複数の上記フラグメントとを含み、該複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられた応答メッセージを受信する応答受信手段と、上記応答受信手段が受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、上記タイムスタンプを参照して、上記各フラグメントの再生開始時間を特定する開始時間特定手段とを備えている構成である。
 したがって、フラグメントの解析等を行うことなく、極めて容易に各フラグメントの再生開始時間を特定し、これを参照しながら各フラグメントを再生することができるという効果を奏する。
 また、本発明のコンテンツ送信装置は、以上のように、コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成手段と、上記付加情報生成手段が生成した付加情報と、複数の上記フラグメントとを含み、該複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられた応答メッセージを生成する応答メッセージ生成手段とを備えている構成である。
 したがって、上記応答メッセージを受信した装置に、フラグメントの解析等を行うことなく、極めて容易に各フラグメントの再生開始時間を特定させることができるという効果を奏する。
 また、本発明のデータ構造は、以上のように、コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、複数の上記フラグメントとを含み、上記複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられており、上記応答メッセージを受信した上記コンテンツ取得装置が、上記送信形式情報から上記コンテンツをメディアセグメントとして受信したと判断した場合に、上記タイムスタンプを参照して、上記各フラグメントの再生開始時間を特定する構成である。
 したがって、上記応答メッセージを受信した装置に、フラグメントの解析等を行うことなく、極めて容易に各フラグメントの再生開始時間を特定させ、これを参照しながら再生させることができるという効果を奏する。
 本発明の他の目的、特徴、および優れた点は、以下に示す記載によって十分分かるであろう。また、本発明の利点は、添付図面を参照した次の説明で明白になるであろう。
本発明の一実施形態にかかる通信システムの概要を示す図であり、同図(a)は、通信システムを構成するクライアント、プロキシ、及びサーバの要部構成を示すブロック図であり、同図(b)は、通信システムの構成例を示す図である。 上記通信システムで取り扱うコンテンツを示す図であり、品質種別(ビットレート)の異なる3種類のメディアファイルで構成されるコンテンツの例を示している。 上記通信システムがコンテンツの伝送単位として扱うメディアセグメントの概念を示す図であり、同図(a)は同じビットレート(品質種別)のムービーフラグメントでメディアセグメントを構成した例、同図(b)は異なるビットレート(品質種別)のムービーフラグメントでメディアセグメントを構成した例を示す。 上記サーバがコンテンツ伝送の適応化を行う場合のシーケンスの一例を示す図である。 リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)(c)は図4のリクエストの、同図(b)(d)はレスポンスのHTTPメッセージをそれぞれ示している。 上記サーバの実行する処理の一例を示すフローチャートである。 上記プロキシがコンテンツ伝送の適応化を行う場合のシーケンスの一例を示す図である。 リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)(c)(d)は図7のリクエストの、同図(b)(e)はレスポンスのHTTPメッセージをそれぞれ示している。 上記プロキシの実行する処理の一例を示すフローチャートであり、同図(a)は処理の全体の流れを示し、同図(b)は同図(a)のS904で行われるリクエスト処理の詳細を示し、同図(c)は同図(a)のS905で行われるレスポンス処理の詳細を示している。 上記クライアントがコンテンツ伝送の適応化を行う場合のシーケンスの一例を示す図である。 リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)(c)は図10のリクエストの、同図(b)(d)はレスポンスのHTTPメッセージをそれぞれ示している。 上記クライアントの実行する処理の一例を示すフローチャートである。 リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)(c)は図4のリクエストの、同図(b)(d)はレスポンスのHTTPメッセージをそれぞれ示している。 一般的なプロキシを適用した場合に、上記サーバがNWの状況等に基づいてコンテンツ伝送の適応化を行うシーケンスの一例を示す図である。 リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)は図14のリクエストの、同図(b)(c)はレスポンスのHTTPメッセージをそれぞれ示している。 上記レスポンスの他の例を示す図である。
 <通信システムの概要>
 以下、本発明の実施の形態について、図1~図16に基づいて詳細に説明する。まず、本実施形態の通信システムの概要を図1に基づいて説明する。図1は、通信システム(コンテンツ送受信システム)1の概要を示す図であり、同図(a)は、通信システム1を構成するクライアント(コンテンツ取得装置)11、プロキシ(コンテンツ送信装置、中継装置)12、及びサーバ(コンテンツ送信装置、コンテンツ提供装置)13の要部構成を示すブロック図であり、同図(b)は、通信システム1の構成例を示す図である。
 図示のように、クライアント11は、NW1を介してプロキシ12に接続し、プロキシ12は、NW2を介してサーバ13に接続しており、これらの機器によって通信システム1が構成されている。なお、NW1及びNW2は、上記の各機器が相互に通信可能なものであればよく、有線通信のネットワークであってもよいし、無線通信のネットワークであってもよい。
 通信システム1は、クライアント11が、サーバ13から動画などのコンテンツを取得することのできるシステムである。本発明の通信システム1は、サーバ13がコンテンツ毎にビットレートなど品質種別の異なる複数のデータを有している。そして、通信中のNWの状況等に基づいて、システム内で送受信されるコンテンツの品質をクライアント11、プロキシ12、サーバ13のそれぞれが切り替えることができることを主な特徴としている。なお、クライアント11は、サーバ13と直接には接続されていないので、プロキシ12を介してコンテンツを取得する。
 通信システム1では、クライアント11は、NW1を介してプロキシ12にコンテンツのリクエストを送信する。このリクエストを受信したプロキシ12は、要求されたコンテンツがキャッシュ格納部14に格納されているか確認し、格納されていればそのコンテンツをクライアント11に送信する。
 一方、格納されていなければ、NW2を介してサーバ13にそのコンテンツのリクエストを送信する。そして、このリクエストを受信したサーバ13は、要求されたコンテンツをコンテンツ格納部15から読み出してプロキシ12に送信し、プロキシ12がこのコンテンツをクライアント11に送信する。これにより、クライアント11は、要求したコンテンツを取得することができる。
 なお、図1(a)では、クライアント11及びプロキシ12を1つのみ示しているが、同図(b)に示すように、1つのサーバ13に複数のプロキシ12が接続されていてもよく、1つのプロキシ12に複数のクライアント11が接続されていてもよい。同図(b)の例では、1つのサーバ13に複数のプロキシ12(P、P、…)が接続されている。そして、P及びPには複数のクライアント11(C11、C12、…、及び、C21、C22、…)がそれぞれ接続されている。
 つまり、同図(b)の例では、C11、C12、…のクライアント11は、Pのプロキシ12を介してコンテンツを取得し、C21、C22、…のクライアント11は、Pのプロキシ12を介してコンテンツを取得する。なお、図1(a)(b)では、全てのクライアント11がNW1に接続した構成となっているが、一部のクライアント11はNW2に接続しサーバ13と直接通信可能な構成であってもかまわない。
 クライアント11は、コンテンツを要求して取得する装置である。同図には示していないが、クライアント11は、ユーザ操作を受け付ける入力部を備えており、この入力部で受け付けた入力操作に基づき、コンテンツを要求する。
 図示のように、クライアント11は、クライアント11の動作を統括して制御するクライアント制御部20と、クライアント11が外部の装置と通信するためのクライアント通信部24を備えている。また、クライアント制御部20には、クライアント状況判断部(事象検出手段、開始時間特定手段)21、リクエスト実行部(応答受信手段、要求メッセージ送信手段)22、及びコンテンツ再生部(再生手段)23が含まれている。
 クライアント状況判断部21は、予め定められた事象の発生を検出する。具体的には、クライアント状況判断部21は、クライアント11が要求したコンテンツが、予定よりも十分に早く受信されたという事象、及び予定よりも遅延して受信されたという事象を検出する。これらの事象は、クライアント11が接続するNW1の通信状況の良し悪しを示す事象である。
 リクエスト実行部22は、コンテンツの送信を要求する要求メッセージを生成し、クライアント通信部24を介してプロキシ12に送信し、これに対する応答として応答メッセージを受信する。なお、クライアント11がNW2に接続されておりサーバ13と直接通信可能な場合には、要求メッセージの送信先は、サーバ13であってもよい。詳細については後述するが、リクエスト実行部22が生成する要求メッセージは、MIMEマルチパート形式でコンテンツを受信可能であることを示すヘッダと、マルチパート化されたコンテンツを指定する情報とを含む点を特徴としている。
 また、リクエスト実行部22は、クライアント状況判断部21の判断結果に基づき、その後要求するコンテンツのビットレートを設定する。具体的には、クライアント状況判断部21が、通信状況が悪いことを示す事象を検出した場合には、要求するコンテンツの品質をビットレートの低いものに切り替える。一方、通信状況が良いことを示す事象を検出した場合には、要求するコンテンツの品質をビットレートの高いものへ切り替える。
 コンテンツ再生部23は、リクエスト実行部22が取得したコンテンツを再生する。例えば、取得したコンテンツが動画像のコンテンツである場合には、コンテンツ再生部23は、取得したコンテンツをデコードし、これにより得られた映像及び音声を外部の表示装置(図示せず)に出力させる。
 プロキシ12は、要求されたコンテンツを送信する装置であると共に、コンテンツを要求して取得する装置である。プロキシ12は、サーバ13から受信したコンテンツ等を格納するキャッシュ格納部14と接続されている。そして、要求されたコンテンツがキャッシュ格納部14にあれば、キャッシュ格納部14から読み出してクライアント11に送信し、キャッシュ格納部14になければサーバ13に要求する。なお、キャッシュ格納部14は、プロキシ12に内蔵されていてもよい。
 図示のように、プロキシ12は、プロキシ12の動作を統括して制御するプロキシ制御部25と、プロキシ12が外部の装置と通信するためのプロキシ通信部28とを備えている。また、プロキシ制御部25には、プロキシ状況判断部(送信時事象検出手段)26及びレスポンス/リクエスト実行部(付加情報生成手段、応答メッセージ生成手段、要求メッセージ送信手段)27が含まれている。
 プロキシ状況判断部26は、予め定められた事象の発生を検出する。具体的には、プロキシ状況判断部26は、プロキシ12が要求したコンテンツが、予定よりも十分に早く受信されたという事象、及び予定よりも遅延して受信されたという事象を検出する。これらの事象は、NW2の通信状況の良し悪しを示す事象である。また、クライアント11に要求されたコンテンツが、予定よりも十分に早く送信されたという事象、及び予定よりも遅延して送信されたという事象を検出する。これらの事象は、NW1の通信状況の良し悪しを示す事象である。
 レスポンス/リクエスト実行部27は、クライアント11から受信した要求メッセージで指定されたコンテンツをキャッシュ格納部14から読み出す。そして、読み出したコンテンツをMIMEマルチパート形式で送信する応答メッセージを生成し、これをクライアント11に送信する。詳細については後述するが、レスポンス/リクエスト実行部27が生成する応答メッセージは、MIMEマルチパート形式でコンテンツを送信することを示すヘッダと、マルチパート化されたコンテンツのフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含み、各フラグメントの再生品質が独立に設定されている点を特徴としている。
 また、要求メッセージで指定されたコンテンツがキャッシュ格納部14に格納されていない場合には、そのコンテンツを要求する要求メッセージを生成し、これをサーバ13に送信する。
 さらに、レスポンス/リクエスト実行部27は、プロキシ状況判断部26の検出結果に基づき、その後要求・応答するコンテンツのビットレートを設定する。具体的には、プロキシ状況判断部26が、NW1の通信状況が悪いことを示す事象を検出した場合には、応答メッセージに含めるコンテンツの品質をビットレートの低いものに切り替える。一方、通信状況が良いことを示す事象を検出した場合には、応答メッセージに含めるコンテンツの品質をビットレートの高いものへ切り替える。また、プロキシ状況判断部26が、NW2の通信状況が悪いことを示す事象を検出した場合には、サーバ13に要求するコンテンツの品質をビットレートの低いものに切り替える。一方、通信状況が良いことを示す事象を検出した場合には、要求するコンテンツの品質をビットレートの高いものへ切り替える。
 サーバ13は、要求されたコンテンツを送信する装置である。サーバ13は、動画などのコンテンツを格納するコンテンツ格納部15と接続されている。なお、コンテンツ格納部15は、サーバ13に内蔵されていてもよい。
 図示のように、サーバ13は、サーバ13の動作を統括して制御するサーバ制御部29と、サーバ13が外部の装置と通信するためのサーバ通信部32とを備えている。また、サーバ制御部29には、サーバ状況判断部(送信時事象検出手段)30及びレスポンス実行部(付加情報生成手段、応答メッセージ生成手段)31が含まれている。
 サーバ状況判断部30は、予め定められた事象を検出する。具体的には、サーバ状況判断部30は、プロキシ12に要求されたコンテンツが、予定よりも十分に早く送信されたという事象、及び予定よりも遅延して送信されたという事象を検出する。これらの事象は、NW2の通信状況の良し悪しを示す事象である。
 レスポンス実行部31は、プロキシ12から受信した要求メッセージで指定されたコンテンツをコンテンツ格納部15から読み出し、読み出したコンテンツをMIMEマルチパート形式で送信する応答メッセージを生成し、これをプロキシ12に送信する。なお、要求メッセージの送信元は、クライアント11であってもよく、この場合にはクライアント11に直接応答メッセージを送信する。この応答メッセージは、レスポンス/リクエスト実行部27が生成、送信するものと同様である。
 また、レスポンス実行部31は、サーバ状況判断部30の検出結果に基づき、その後応答するコンテンツのビットレートを設定する。具体的には、サーバ状況判断部30が、NW2の通信状況が悪い事を示す事象を検出した場合には、応答メッセージに含めるコンテンツの品質をビットレートの低いものに切り替える。一方、通信状況が良いことを示す事象を検出した場合には、応答メッセージに含めるコンテンツの品質をビットレートの高いものへ切り替える。
 <コンテンツのフォーマット>
 続いて、サーバ13に接続されているコンテンツ格納部15に格納されているコンテンツのフォーマット(蓄積フォーマット)を、図2に基づいて説明する。図2では、(a)~(c)に示した、品質種別(ここではビットレート)の異なる3種類のメディアファイル1、メディアファイル2、メディアファイル3で構成されるコンテンツが格納されている例を示している。
 なお、各メディアファイルの品質種別(ビットレート)は、メディアファイル1が4Mbps、メディアファイル2が2Mbps、そしてメディアファイル3が1Mbpsである。ここでは、各メディアファイルの品質種別としてビットレートのみが異なる場合の例を説明するが、ビットレートの違いに加え、画像解像度、音声言語、コーデック等の品質種別が異なるメディアファイルで構成されるコンテンツであっても構わない。また、ビットレートは同じで、画像解像度、音声言語、及びコーデック等の少なくとも何れかが異なるコンテンツであってもよい。
 つまり、品質種別とは、コンテンツの再生品質及びコンテンツの種別の少なくとも何れかを指し、品質種別の異なるメディアファイルとは、コンテンツの内容は同じであるが、再生品質及び種別の少なくとも何れかが異なるメディアファイルを指す。
 図示のように、コンテンツを構成する各メディアファイルは、予め定められた単位でフラグメント化されている。この単位はコンテンツを構成するメディアファイル間で共通とし、例えば1秒といった時間単位や、画像符号化におけるGOP(Group Of Picture)単位などであれば構わない。
 以降の説明では、このフラグメントをムービーフラグメントと呼び、本発明の通信システム1において、クライアント11で再生されるコンテンツの品質切り替えを行うことができる最小単位である。また、以降の説明では、ムービーフラグメントで構成されるメディアファイルの具体例としてMP4ファイルを用いる。
 メディアファイルをMP4ファイルとする場合、フラグメント内の映像・音声を管理するヘッダ情報を格納した「moof」と、クライアントで再生される映像・音声などのデータが格納された「mdat」で構成されたフラグメントがムービーフラグメントに相当する。
 ここで、MP4ファイルにおいては、「moof」、「mdat」以外に、メディアファイル全体に係る情報、例えばムービーフラグメント画像解像度やプロファイル情報等、クライアント11における再生装置(コンテンツ再生部23)の初期化に必要な情報(再生情報)が前述の「moof」、「mdat」とは別の「moov」に格納されている。
 このため、「moov」に格納された再生情報は、再生開始前にクライアント11へ通知する必要がある。「moov」に格納された再生情報は、ムービーフラグメントとは別の手順で通知してもよく、必ずしも「moov」をムービーフラグメントに含める必要はないが、以降の説明では、各メディアファイルの先頭ムービーフラグメントが「moov」を含む例を説明する。つまり、図2の「再生装置の初期化に必要な情報」は、「moov」である。
 また、図2に示す通り、各メディアファイル内のムービーフラグメントには、先頭のムービーフラグメントから順に「movie fragment 1」、「movie fragment 2」と連番を付している。なお、各ムービーフラグメントには1秒分の映像データが含まれるものとする。
<コンテンツの伝送プロトコル及びコンテンツの伝送単位>
 次に、本発明の通信システム1において、コンテンツの送受信に用いる伝送プロトコル及びコンテンツの伝送単位について説明する。
 伝送プロトコルとしては、クライアント11~プロキシ12間、及びプロキシ12~サーバ間共に、汎用的なファイル伝送プロトコルとして広く用いられているHTTPを用いる。ただし、通信システム1において使用可能伝送プロトコルは、HTTPに限定されるものではなく、類似する他の伝送プロトコルを適用することも可能である。
 続いて、コンテンツの伝送単位を図3に基づいて説明する。通信システム1においては、クライアント11~プロキシ12間、およびプロキシ12~サーバ13間共に、コンテンツをメディアセグメントと呼ぶ単位に分割し、HTTPを用いて伝送を行う。
 図3は、通信システム1がコンテンツの伝送単位として扱うメディアセグメントの概念を示す図であり、同図(a)は同じビットレート(品質種別)のムービーフラグメントでメディアセグメントを構成した例を示し、同図(b)は異なるビットレート(再生品質)のムービーフラグメントでメディアセグメントを構成した例を示している。
 メディアセグメントは、少なくとも1つのムービーフラグメントを含んで構成されるものである。別の観点からは、コンテンツは1つ以上のメディアセグメントで構成されており、各メディアセグメントは1つ以上のムービーフラグメントで構成されていると言える。通常、メディアセグメントは、所定のコンテンツにおいて、再生時間の連続する2つ以上のムービーフラグメントを含んで構成されるが、1つのムービーフラグメントで構成されてもよいし、再生時間が連続しないムービーフラグメントで構成されていてもよい。
 メディアセグメントは、単独のメディアファイルに属するムービーフラグメントのみから構成されていてもよいし、複数のメディアファイルにまたがったムービーフラグメントから構成されていても構わない。つまり、異なるメディアファイルに含まれている、再生品質の異なるムービーフラグメントを組み合わせてメディアセグメントを構成してもよい。
 具体的には、同図(a)は、単独のメディアファイルに属する4Mbpsのムービーフラグメント1~3をまとめて、1つのメディアセグメントとしている例である。また、同図(b)は、複数のメディアファイルにまたがり、ビットレートが4Mbpsの「movie fragment1」と、ビットレートが2Mbpsの「movie fragment2」「movie fragment3」をまとめて、1つのメディアセグメントとしている例である。
 なお、メディアセグメントは、所定のコンテンツにおける再生時間の連続する2つ以上のムービーフラグメントを含むものであればよく、1つのメディアセグメントに含まれるムービーフラグメントの数は特に限定されない。
 ≪実施の形態1-1:サーバによる適応化≫
 ここでは、NW2の状況に応じて、サーバ13がコンテンツ伝送の適応化を行う例について、図4の通信シーケンス例を用いて説明する。なお、図4の通信シーケンス例は、サーバ13に接続されたコンテンツ格納部15に4Mbps、2Mbps、1Mbpsの3種類のメディアファイルで構成されるコンテンツが格納されており、プロキシ12に接続されたキャッシュ格納部14には、サーバ13から受信したメディアセグメントのキャッシュが存在していない状態で開始される通信シーケンス例であり、図中に示した時点でNW2の通信状況の悪化(通信トラフィックの増加)が生じた場合への適応例を示している。
 まず、クライアント11は、予め通知されたURLを用いて、所望するコンテンツの冒頭部分のメディアセグメントである「media segment1」を要求する(リクエスト41)。
 リクエスト41を受信したプロキシ12は、要求されたURLに紐づけられた「media segment1」がキャッシュ格納部14に格納されているかを確認する。この「media segment1」が格納されていないことを確認したプロキシ12は、「media segment1」を要求するリクエスト42をサーバ13に送信する。
 リクエスト42を受信したサーバ13は、要求された「media segment1」を構成する各ムービーフラグメントをコンテンツ格納部15から読み出してプロキシ12に送信する。この時点では、NW2の通信状況は良好であるため、サーバ13は、最も再生品質の高い(ビットレートの高い)4Mbpsのメディアファイルで「media segment1」を構成して応答する。
 なお、図4の例では「media segment1」はコンテンツ冒頭の0~60秒のデータに相当する。上述のように、各ムービーフラグメントには1秒分の映像データが含まれるため、このメディアセグメントを構成するムービーフラグメントとして、4Mbps品質のムービーフラグメントが60個含まれている。また、「media segment1」には、再生装置の初期化に必要な情報を含む2Mbps品質、及び1Mbps品質のムービーフラグメントが各1個含まれており、合計62個のムービーフラグメントが含まれる。(レスポンス43)。
 レスポンス43を受信したプロキシ12は、メディアセグメントに含まれる各ムービーフラグメントを順次キャッシュ格納部14に格納すると共に、クライアント11に転送する(レスポンス44)。
 クライアント11がレスポンス44を受信完了した後、NW2の通信状況が悪化したものとして、以降の処理を説明する。クライアント11は、続く2番目のメディアセグメント(所定コンテンツの60秒~120秒)のURLを指定して要求する(リクエスト45)。
 リクエスト45を受信したプロキシ12は、リクエスト41の場合と同様に、要求されたメディアセグメントがキャッシュ格納部14に存在しないため、サーバ13に当該メディアセグメントを要求する(リクエスト46)。
 サーバ13がリクエスト46を受信した時点では、サーバ13はNW2の通信状況の悪化を検知しておらず、リクエスト41を受信した場合と同様に、4Mbps品質のムービーフラグメントを用いて応答を開始する。しかし、この時点ではNW2の通信状況が悪化しているため、プロキシ12への応答遅延が発生する。
 サーバ13は、この応答遅延を検知してNW2の通信状況が悪化したと判断し、以降送信するムービーフラグメントを低ビットレート(図4の例では2Mbps)に切り替えて送信する(レスポンス47)。なお、サーバ13の動作詳細については後述する。
 レスポンス47を受信したプロキシ12は、各ムービーフラグメントを順次キャッシュ格納部14に格納するとともに、クライアント11に転送する(レスポンス48)。以降同様に、クライアント11にコンテンツ全体が取得されるまで処理を繰り返す。
 <HTTPメッセージ>
 続いて、図4のシーケンス図で使用されるリクエストメッセージ及びレスポンスメッセージの詳細を図5に基づいて説明する。図5は、リクエストメッセージまたはレスポンスメッセージとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)は図4のリクエスト41及び42の、同図(b)はレスポンス43及び44の、同図(c)はリクエスト45及び46の、そして同図(d)はレスポンス47及び48のHTTPメッセージをそれぞれ示している。なお、ここでは、HTTPメッセージに含まれる要素のうち、本発明に特有の要素を中心に説明し、公知の要素については適宜説明を省略する。
 (コンテンツを要求するリクエスト1)
 同図(a)に示すように、「media segment1」(コンテンツの0秒~60秒部分)を要求するリクエスト41及び42に対応するHTTPメッセージには、リクエストラインとヘッダが含まれる。
 同図(a)のリクエストラインには、コンテンツを取得するメソッドを示す「GET」と、サーバ13から取得する対象リソースのURLが記述されている。このURLは、予めサーバ13が提供可能なリソース(各メディアセグメント)毎に割り当てた識別子である。
 なお、以降の説明では、サーバ13が提供可能な各メディアセグメントに対し、「/コンテンツ名/メディアセグメント番号」、あるいは「/コンテンツ名/メディアセグメント番号/品質種別識別子(再生品質指定情報)」の形式でURLを割り当てているものとする。この2種類のURLの形式はそれぞれ、前者が指定されたメディアセグメントの最大品質を送信側(サーバ13あるいはプロキシ12)で決定する場合に使用し、後者は指定されたメディアセグメントの最大品質を受信側(クライアント11あるいはプロキシ12)で指定する場合に使用するためのものである。
 同図(a)では、URLが「/content1/1」であり、これは、コンテンツ名が「content1」の1番目のメディアセグメントに対する取得要求であることを示している。また、品質種別識別子が含まれていないので、このリクエストメッセージに対して送信されるメディアセグメントの最大品質は、サーバ13が決定する。
 また、同図(a)のヘッダには、クライアント11が処理可能なデータ形式を示す「Accept」ヘッダが含まれている。そして、この「Accept」ヘッダに、サーバ13あるいはプロキシ12がメディアセグメントを送信する際に用いるデータ形式を示す「multipart/media-segment」が記述されている。これにより、クライアント11が当該データ形式でのデータ受信可能であることを示している。
 (コンテンツを送信するレスポンス1)
 同図(b)に示すように、コンテンツの冒頭部分の「media segment1」を送信するレスポンス43及び44に対応するHTTPメッセージには、ステータスライン、付加情報を通知するヘッダ、及び「media segment1」を格納するメッセージボディが含まれる。
 ステータスラインには、リクエストを正常に受け付けたことを示すステータス番号「200」等が記述されている。
 ヘッダには、送信するコンテンツに関する情報が記述される。図示の例では、送信するコンテンツの種別を示す「Content-Type」ヘッダ(送信形式情報)、送信するメディアセグメントのコンテンツ全体に対する位置を示す「X-Media-Segment-Index」ヘッダ、送信するメディアセグメントのタイムスタンプを示す「X-Media-Segment-Timestamp」ヘッダ、及び選択可能な品質種別のリストを示す「X-Representation-List」ヘッダが含まれている。なお、ヘッダの名称中の先頭の「X」は、そのヘッダを本実施形態で新規に定義したことを示している。
 図示の例では、「Content-Type」ヘッダに「multipart/media-segment」が記述されており、メッセージボディにメディアセグメントがMIMEマルチパート形式で格納されていることを示している。これにより、このヘッダを受信した装置(クライアント11またはプロキシ12)は、このヘッダに続いて受信するデータが、MIMEマルチパート形式で送信されたメディアセグメントであることを認識することができる。そして、このヘッダには、マルチパートの各パートの境界が「THIS_STRING_SEPARATES」であることを示す情報が含まれている。
 さらに図示の例では、「X-Media-Segment-Index」ヘッダが含まれている。このヘッダは、コンテンツの全体に対する当該メディアセグメント番号を示すものである。同図では、「1/60」と記述されており、これは、コンテンツ全体で60のメディアセグメントがあるうち、1番目のメディアセグメントを示している。この情報により、コンテンツの全長及び現在の再生位置を把握できるので、この情報を参照して、コンテンツ中の任意のメディアセグメントにアクセスすることもできる。
 また、図示の例では、「X-Representation-List」ヘッダが含まれている。このヘッダは、当該コンテンツの品質種別の選択肢を示すものである。このヘッダには、品質種別識別子と、品質種別情報と、テンプレートURLとを含むリストが記述されている。図示の例では、「1; bitrate=4000000; url=”/content1/$index$/1”, 2; bitrate=2000000; url=”/content1/$index$/2”, 3; bitrate=1000000; url=”/content1/$index$/3”, *;bitrate=*; url=”/content1/$index$”」と記述されている。これは、品質種別識別子1~3で示される3種類の中から品質指定が可能であり、それぞれの品質種別情報としてビットレートが4Mbps、2Mbps、1Mbpsの品質であることを示している。また各品質種別のメディアセグメントを取得するためのURLがそれぞれ、「/content1/$index$/1」、「/content1/$index$/2」、「/content1/$index$/3」であることを示している。
 「$index$」はメディアセグメント番号に置き換えて用いることを示すパラメタであり、前述の通り、サーバ13が各メディアセグメントに「/コンテンツ名/メディアセグメント番号/品質種別識別子」の形式でURLを割り当てていることを示している。なお、当該ヘッダの「*;bitrate=*; url=”/content1/$index$”」は、品質種別を指定せずに当該コンテンツの各メディアセグメントへアクセスするためのURLを示している。そして、前述の通り、「/コンテンツ名/メディアセグメント番号」の形式でサーバ13がURLを割り当てていることを示している。
 ただし、通信システム1において、クライアント11、あるいはプロキシ12がURLで品質種別の指定を行った場合でも、サーバ13、あるいはプロキシ12が指定した品質のメディアセグメントが必ずしも送受信される訳ではない。通信システム1では、指定された品質を上限として、NWの通信状況に応じて、適応的に異なる品質のムービーフラグメントで構成されたメディアセグメントが送受信される。
 クライアント11は、「X-Media-Segment-Index」ヘッダ、及び「X-Representation-List」ヘッダの情報を用いることで、当該コンテンツの任意のメディアセグメントのURLを把握し、所望のメディアセグメントにアクセスすることが可能である。従って、クライアント11がサーバ13上のコンテンツを取得するには、事前に当該コンテンツの先頭メディアセグメントのURLのみ通知されていれば、以降のメディアセグメントには、当該ヘッダの情報を用いてアクセスが可能である。このように、テンプレートURLを使用することで、サーバにおいて自由度の高いコンテンツURLの設計が可能となる。
 また、これらのヘッダが存在することにより、プロキシ12のような中継装置が、別途サーバ13との通信を必要とせず、サーバ13の提供可能なメディアセグメントの品質種別(ビットレート)及び当該メディアセグメントへのアクセス手段(URL)を把握することが可能になる。なお、図示の例では、「X-Representation-List」ヘッダにおける品質種別情報の例として、ビットレート情報のみを用いている。しかし、ビットレート情報に加えて、またはビットレート情報の代わりに、画面解像度情報、言語情報、コーデック情報などを用いる構成でも構わない。
 また、「X-Media-Segment-Timestamp」ヘッダは、メディアセグメントのタイムスタンプを示すものであり、メディアセグメントに含まれる先頭のムービーフラグメントのタイムスタンプがミリ秒単位で記述されている。このタイムスタンプは、クライアント11、プロキシ12、サーバ13のそれぞれが、NWの通信状況の変化を検知する目的などで使用する。
 メッセージボディには、メディアセグメントを構成する複数のムービーフラグメントがMIMEマルチパート形式で格納されている。ここでは、4Mbps(品質種別識別子=1)の1番目~60番目までの60個のムービーフラグメントと、再生装置の初期化に必要な情報を含む2Mbps(品質種別識別子=1)及び1Mbps(品質種別識別子=2)の1番目のムービーフラグメントとでメディアセグメントが構成されている。このように構成にすることにより、再生装置の初期化に必要な情報を別途予めクライアント11に送信しておく必要がなくなる。
 MIMEマルチパート形式の各パートにはメディアセグメントを構成する各ムービーフラグメントが格納されており、この各パートのヘッダにも付加情報が記載されている。図示の例では、ムービーフラグメントのコンテンツ種別を示す「Content-Type」ヘッダ、当該ムービーフラグメントのタイムスタンプ(単位はミリ秒)を示す「X-Timestamp」ヘッダが記述されている。この「X-Timestamp」ヘッダの示すタイムスタンプを参照することにより、ムービーフラグメントを解析することなく、そのムービーフラグメントの再生時間(再生開始タイミング)を特定することができる。また、ムービーフラグメントの品質種別を示す「X-Representation-Id」ヘッダ(品質/種別情報)も記述されている。
 「X-Representation-Id」には、上述の「X-Representation-List」に示される品質種別識別子のいずれかが記述されている。この「X-Representation-Id」ヘッダ、及び「X-Representation-List」ヘッダを参照することにより、そのムービーフラグメントの品質種別(ビットレート)を特定することができる。このため、この応答メッセージを受信したクライアント11は、連続して再生するムービーフラグメントのビットレートが切り替わりを検出して再生することができる。そして、各パートには、そのパートのムービーフラグメントのデータ実体(バイナリデータ)が含まれる。
 なお、各パートに含まれるヘッダはこれらの例に限られず、ムービーフラグメントに関する任意のデータをヘッダに含めることができる。例えば、ムービーフラグメントの解像度を示すヘッダ、ムービーフラグメントの使用言語を示すヘッダ、ムービーフラグメントの使用コーデックを示すヘッダ等を追加してもよい。
 (コンテンツを要求するリクエスト2)
 同図(c)に示すように、リクエスト45及び46に対応するHTTPメッセージは、リクエスト対象のURL(メディアセグメント)が変わっている点を除けば、同図(a)のHTTPメッセージ形式と同様である。
 ここで、リクエスト45及び46は、同図(a)に示す1回目のリクエストの次に送信されるリクエストであり、リクエストURLは予めクライアント11に通知されたものではなく、同図(b)に示す1回目のレスポンスの「X-Representation-List」ヘッダ及び「X-Media-Segment-Index」ヘッダの値を基に、クライアント11が生成したものである。
 (コンテンツを送信するレスポンス2)
 同図(d)に示すように、レスポンス47及び48に対応するHTTPメッセージは、同図(b)のHTTPメッセージの形式と基本的に同様である。ただし、メディアセグメントレスポンス47及び48は、2つ目のメディアセグメントを送信するものである。このため、「X-Media-Segment-Index」ヘッダは「2/60」と記述されており、サーバがNW2の通信状況悪化を検知後に送信されたムービーフラグメントが2Mbps(品質種別識別子=2: 「X-Representation-Id」ヘッダが「2」)となっている。
 <サーバの動作フローチャート>
 次に、サーバ13が実行する処理の詳細を図6に基づいて説明する。図6は、サーバ13の実行する処理の一例を示すフローチャートである。
 サーバ13のレスポンス実行部31は、リクエストの受信を待ち受けており、リクエストの受信を確認する(S601)と、受信したリクエストを解析して、どのようなメディアセグメントで応答するかを決定する(S602)。具体的には、リクエストは図5(a)のようなHTTPメッセージとして受信するので、レスポンス実行部31は、このメッセージに含まれるURLから、送信するメディアセグメントのビットレートなどの品質種別の初期値を決定する。URLで品質種別の指定があれば、そこで指定された品質種別を初期値とし、指定が無い場合には最も品質の高いものを初期値とする。なお、直前のレスポンス送信時に検出したNW2の通信状況を考慮して初期値を決定しても構わない。
 続いて、レスポンス実行部31は、レスポンスとして送信するHTTPメッセージを生成し、このHTTPメッセージのヘッダ部分を、サーバ通信部32を介して、リクエストの送信元(クライアント11またはプロキシ12)に送信する(S603)。このHTTPメッセージは、例えば図5(b)のようなメッセージである。また、レスポンス実行部31は、ヘッダ部分を送信した旨をサーバ状況判断部30に通知する。
 この通知を受信したサーバ状況判断部30は、ムービーフラグメントの送信時間を評価するため、メディアセグメントの送信開始と共にタイマを初期化し、時間のカウントを開始させる。タイマの初期値としては、メディアセグメントのタイムスタンプを示す「X-Media-Segment-Timestamp」ヘッダの値から予め定めた閾値Tinitを引いた値を用いる。
 続いて、サーバ状況判断部30は、送信時間の評価を行う(S605)。具体的には、サーバ状況判断部30は、S604でカウントを開始したタイマの示す時間tと、送信するムービーフラグメントのタイムスタンプTfr(X-Timestampの値)とを比較する。
 この比較の結果、t<Tfr-Tthであった場合には、予定より十分に早くムービーフラグメントの送信が完了すると判断し、S606に進む。これに対し、Tfr+Tth>tであった場合には、遅延が生じると判断し、S607に進む。一方、上記の何れにも該当しない場合(|t-Tfr|≦Tthの場合)には、S608に進む。
 つまり、サーバ状況判断部30は、送信するムービーフラグメントに対応付けられたタイムスタンプの値をTfrとし、予め定めたゼロ以上の閾値をTthとして、Tfr+Tth>tであった場合には通信状況が悪いことを示す事象を検出したと判断する。一方、t<Tfr-Tthであった場合には通信状況が良いことを示す事象を検出したと判断する。
 S606では、サーバ状況判断部30は、通信状況が良いことを示す事象を検出した旨をレスポンス実行部31に通知する。そして、この通知を受信したレスポンス実行部31は、送信するムービーフラグメントを、要求された品質種別指定のビットレートを超えない範囲で高ビットレートのものに切り替える。この後、処理はS608に進む。
 S607では、サーバ状況判断部30は、通信状況が悪いことを示す事象を検出した旨をレスポンス実行部31に通知する。そして、この通知を受信したレスポンス実行部31は、送信するムービーフラグメントを低ビットレートのものに切り替える。この後、処理はS608に進む。
 S608では、レスポンス実行部31は、ムービーフラグメントを、MIMEマルチパートの1パートとして送信する。そして、レスポンス実行部31は、S602で決定したメディアセグメントに含まれる全てのムービーフラグメントを送信したかを確認する(S609)。そして、全て送信済みであることを確認した場合(S609でYES)にはS610の処理に進み、未送信のものが確認された場合(S609でNO)には、S605の処理に戻る。
 S610では、レスポンス実行部31は、要求されたコンテンツの全てのメディアセグメントを送信したかを確認する。そして、全て送信済みであることを確認した場合(S610でYES)には処理を終了し、未送信のものが確認された場合(S610でNO)には、S601の処理に戻る。
 なお、上記では、ムービーフラグメント単位でビットレートの切り替えを行う例を示したが、メディアセグメント単位でビットレートの切り替えを行ってもよい。この場合には、直前に送信したメディアセグメントに含まれるムービーフラグメントのうち、送信に遅延が生じると判断された(または十分に早く送信されると判断された)ものの割合に基づいて、次に送信するメディアセグメントのビットレートを決定してもよい。
 例えば、サーバ状況判断部30は、送信に要した時間が予定時間より十分に早かったムービーフラグメントの数Nと、送信に遅延が生じたムービーフラグメントの数Nとを、例えばS606、607でカウントしておいてもよい。そして、1つのメディアセグメントの送信完了後、N-N>0であれば、全体的に遅延があると判断(通信状況が悪いことを示す事象を検出したと判断)して、その旨をレスポンス実行部31に通知すればよい。一方、N-N<0であれば、全体的に予定送信時間より十分に早いと判断(通信状況が良いことを示す事象を検出したと判断)して、その旨をレスポンス実行部31に通知すればよい。
 これにより、レスポンス実行部31は、S602において、全体的に遅延がある場合には、次に送信するメディアセグメントを、低ビットレートのムービーフラグメントで構成することを決定することができ、送信が十分に早い場合には、高ビットレートのムービーフラグメントで構成されるメディアセグメントを送信することを決定することができる。
 ≪実施の形態1-2:プロキシによる適応化≫
 次に、NW1またはNW2の状況に応じて、プロキシ12がコンテンツ伝送の適応化を行う例について、通信システム1で行われる通信シーケンス例を図7に基づいて説明する。なお、図7の通信シーケンス例は、サーバ13に接続されたコンテンツ格納部15に4Mbps、2Mbps、1Mbpsの3種類のメディアファイルで構成されるコンテンツが格納されており、プロキシ12に接続されているキャッシュ格納部14には、上述のコンテンツの各品質別の冒頭部分「media segment1」 が事前の通信においてキャッシュされている状態で開始される通信シーケンス例であり、図中に示した時点でNW1の通信状況の悪化(通信トラフィックの増加)が生じた場合への適応例を示している。
 まずクライアント11は、予め通知されたURLを用いて所望のコンテンツの冒頭部分(「media segment1」)を要求する(リクエスト71)。リクエスト71を受信したプロキシ12は、要求されたURLに紐付けられた「media segment1」がキャッシュ格納部14に格納されているか確認する。
 ここでは、要求された「media segment1」がキャッシュ格納部14に格納されているため、プロキシ12は、サーバ13へのアクセスを行うことなく、キャッシュ格納部14から当該メディアセグメントを読み出して、クライアント11に送信を開始する(レスポンス72)。
 レスポンス72を構成する各ムービーフラグメントを順次送信する過程で、NW1の通信状況が悪化し、プロキシ12では、応答遅延が発生する。プロキシ12は、発生した応答遅延を検知して、NW1の通信状況が悪化したと判断する。
 そして、プロキシ12は、キャッシュ格納部14に格納されていた「media segment1」の「X-Representation-List」ヘッダの記載内容に基づき、当該「media segment1」と低品質版(低ビットレート)に相当するURL(ここでは2Mbps)に紐付けられたメディアセグメントがキャッシュ格納部14に格納されているかを確認する。ここでは、このメディアセグメントがキャッシュ格納部14に格納されているため、プロキシ12は、以降のムービーフラグメントを当該メディアセグメント(2Mbps)で構成してクライアント11に送信する。なお、プロキシ12の詳細動作については後述する。
 レスポンス72を受信したクライアント11は、続く2番目のメディアセグメント(所定コンテンツの60秒~120秒)のURLを指定して要求する(リクエスト74)。
 プロキシ12は、要求されたURLに紐付けられた「media segment2」がキャッシュ格納部14に格納されているか確認する。そして、このメディアセグメントが存在しないことを確認したプロキシ12は、この時点でNW1の通信状況が悪化したと判断しているため、リクエストURLに2Mbpsの品質種別を示す品質種別識別子を加えてサーバ13に要求する(リクエスト74)。
 このリクエスト74を受信したサーバ13は、リクエストURLで示された「media segment2」(2Mbps)を送信する(レスポンス75)。
 レスポンス75を受信したプロキシ12は、各ムービーフラグメントをキャッシュ格納部14に格納するとともに、クライアント11に転送する(レスポンス76)。
以降同様に、クライアント11にコンテンツ全体が取得されるまで処理を繰り返す。
 なお、上記では、プロキシ12が、クライアント11にレスポンス72を送信終了した後に、60秒以降のメディアセグメントのリクエスト74をサーバ13に送信する例を示したが、レスポンス72の送信と並行して、リクエスト74を送信してもよい。これにより、プロキシ12が60秒以降のメディアセグメントを取得するタイミングを早めることができる。
 <HTTPメッセージ>
 続いて、図7のシーケンス図で使用されるリクエスト及びメッセージの詳細を図8に基づいて説明する。図8は、リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)は図7のリクエスト71の、同図(b)はレスポンス72の、同図(c)はリクエスト73の、同図(d)はリクエスト74の、そして同図(e)はレスポンス75及び76のHTTPメッセージをそれぞれ示している。なお、同図(a)~(c)(e)は、それぞれ図5(a)~(d)と同じであるから、ここでは説明を省略し、図5(a)~(d)との相違点を中心に説明する。
 (コンテンツを要求するリクエスト)
 図8(d)に示すように、「media segment2」を要求するリクエスト74に対応するHTTPメッセージは、リクエスト対象のメディアセグメントが変わっている点を除けば、同図(c)のHTTPメッセージ(リクエスト73)と同様である。
 ここでは、図7で説明したように、プロキシ12は、品質種別の指定がないリクエスト73を受信しているが、NW1を介した応答処理に遅延が生じていると判断したため、サーバ13への要求転送時にURLに2Mbpsの品質種別指定を追加した、メディアセグメントを要求するリクエスト74を送信している。
<プロキシの動作フローチャート>
 次に、プロキシ12が実行する処理の詳細を図9に基づいて説明する。図9は、プロキシ12の実行する処理の一例を示すフローチャートであり、同図(a)は処理の全体の流れを示し、同図(b)は同図(a)のS904で行われるリクエスト処理の詳細を示し、同図(c)は同図(a)のS905で行われるレスポンス処理の詳細を示している。
 (処理全体の流れ:図9(a))
 プロキシ12のレスポンス/リクエスト実行部27は、リクエストの受信を待ち受けており、リクエストの受信を確認する(S901)と、受信したリクエストを解析して、どのようなメディアセグメントで応答するかを決定する(S902)。具体的には、リクエストは図8(a)のようなHTTPメッセージとして受信するので、レスポンス/リクエスト実行部27は、このメッセージに含まれるURLから、送信するメディアセグメントのビットレート等の品質種別の初期値を決定する。
 なお、レスポンス/リクエスト実行部27は、2回目以降のリクエスト受信時には、先に受信したリクエストに対して送信したレスポンスの送信状況に応じて、メディアセグメント(ムービーフラグメント)のビットレート等の品質種別の初期値を決定する。
 具体的には、2回目以降のリクエスト受信時には、プロキシ状況判断部26は、後述のS904、905で求めるNR1、NR2、NS1、NS2を用いて遅延の有無を判断する。すなわち、NR2-NR1>0および/またはNS2-NS1>0である場合には、全体的に遅延があると判断(通信状況が悪いことを示す事象を検出したと判断)する。そして、その旨をレスポンス/リクエスト実行部27に通知する。そして、この通知を受信したレスポンス/リクエスト実行部27は、メディアセグメントを構成するムービーフラグメントを低ビットレートのものに切り替える。
 一方、NR2-NR1<0および/またはNS2-NS1<0であれば、プロキシ状況判断部26は、全体的に予定送/受信時間より十分に早いと判断(通信状況が良いことを示す事象を検出したと判断)する。そして、その旨をレスポンス/リクエスト実行部27に通知する。そして、この通知を受信したレスポンス/リクエスト実行部27は、メディアセグメントを構成するムービーフラグメントを高ビットレートのものに切り替える。
 続いて、レスポンス/リクエスト実行部27は、要求されたメディアセグメントがキャッシュ格納部14に格納されているか確認する(S903)。ここで、格納されていることが確認された場合(S903でYES)には、S905に進み、格納されていないことが確認された場合(S903でNO)には、S904に進む。
 S904では、レスポンス/リクエスト実行部27は、リクエスト処理を実行する。詳細については後述するが、リクエスト処理では、S902で決定したメディアセグメントをサーバ13に要求し、このリクエストに対するレスポンスとして受信したメディアセグメントをキャッシュ格納部14に格納する。
 そして、S905では、レスポンス/リクエスト実行部27は、レスポンス処理を実行する。詳細については後述するが、レスポンス処理では、キャッシュ格納部14から読み出したメディアセグメントをクライアント11に送信する。
 最後に、レスポンス/リクエスト実行部27は、クライアント11から要求されたコンテンツの全てのメディアセグメントを送信したかを確認する。そして、全て送信済みであることを確認した場合(S906でYES)には処理を終了し、未送信のものが確認された場合(S906でNO)には、S901の処理に戻る。
 (リクエスト処理の流れ:図9(b))
 続いて、図9(a)のS904で行われるリクエスト処理の流れを、同図(b)に基づいて説明する。レスポンス/リクエスト実行部27は、プロキシ通信部28を介してサーバ13にリクエストを送信する(S9041)。ここで送信するリクエストは、同図(a)のS902で決定したメディアセグメントを要求するHTTPメッセージである。
 リクエストを受信したサーバ13は、S9041で送信したリクエストに対するレスポンスとして、まず、ヘッダを送信するので、レスポンス/リクエスト実行部27はこれを受信し(S9042)、その旨をプロキシ状況判断部26に通知する。
 この通知を受信したプロキシ状況判断部26は、ムービーフラグメントの受信時間を評価するため、タイマを初期化し、時間のカウントを開始させる。また、プロキシ状況判断部26は、この評価に用いる変数(カウンタ)を初期化(NR1=NR2=0)しておく(S9043)。
 サーバ13は、S9041で送信したリクエストに対するレスポンスとして、ヘッダの後に複数のムービーフラグメントをマルチパート化したボディを送信する。このため、レスポンス/リクエスト実行部27はこれらのムービーフラグメントを受信し(S9044)、その旨をプロキシ状況判断部26に通知する。
 ここで、プロキシ状況判断部26は、サーバ13からのムービーフラグメントの受信時間の評価を行う(S9045)。具体的には、プロキシ状況判断部は、S9043でカウントを開始したタイマの示す時間tと、受信したムービーフラグメントのタイムスタンプTfr(X-Timestampの値)とを比較する。
 この比較の結果、t<Tfr-Tthであった場合には、予定より十分に早く受信完了したと判断し、S9046に進む。これに対し、Tfr+Tth>tであった場合には、遅延が生じたと判断し、S9047に進む。一方、上記の何れにも該当しない場合(|t-Tfr|≦Tthの場合)には、S9048に進む。
 S9046では、プロキシ状況判断部26は、予定受信時間より十分に早くムービーフラグメントを受信した回数のカウンタであるNR1をインクリメントする。この後、処理はS9048に進む。
 S9047では、プロキシ状況判断部26は、ムービーフラグメントを遅延して受信した回数のカウンタであるNR2をインクリメントする。この後、処理はS9048に進む。
 S9048では、レスポンス/リクエスト実行部27は、サーバ13から受信したムービーフラグメントをキャッシュ格納部14に格納する。そして、図9(a)のS902で決定したメディアセグメントに含まれる全てのムービーフラグメントを送信したかを確認する(S9049)。そして、全て受信済みであることを確認した場合(S9049でYES)にはリクエスト処理を終了し、未受信のものが確認された場合(S9049でNO)には、S9044の処理に戻る。
 (レスポンス処理の流れ:図9(c))
 続いて、図9(a)のS905で行われるリクエスト処理の流れを、同図(c)に基づいて説明する。まず、レスポンス/リクエスト実行部27は、レスポンスとして送信するHTTPメッセージを生成し、このHTTPメッセージのヘッダ部分を、プロキシ通信部28を介して、リクエストの送信元であるクライアント11に送信する(S9051)。このHTTPメッセージは、例えば図8(b)のようなメッセージであってもよい。また、レスポンス/リクエスト実行部27は、ヘッダ部分を送信した旨をプロキシ状況判断部26に通知する。
 この通知を受信したプロキシ状況判断部26は、ムービーフラグメントの送信時間を評価するため、タイマを初期化し、時間のカウントを開始させる。また、プロキシ状況判断部26は、この評価に用いる変数(カウンタ)を初期化(NS1=NS2=0)しておく(S9052)。
 そして、プロキシ状況判断部26は、受信時間の評価を行う(S9053)。具体的には、プロキシ状況判断部26は、S9052でカウントを開始したタイマの示す時間tと、送信するムービーフラグメントのタイムスタンプTfr(X-Timestampの値)とを比較する。
 この比較の結果、t<Tfr-Tthであった場合には、予定送信時間より十分に早いと判断し、S9054に進む。これに対し、Tfr+Tth>tであった場合には、送信に遅延が発生していると判断し、S9055に進む。一方、上記の何れにも該当しない場合(|t-Tfr|≦Tthの場合)には、S9056に進む。
 S9054では、プロキシ状況判断部26は、予定送信時間より十分に早くムービーフラグメントを送信した回数のカウンタであるNS1をインクリメントする。なお、この段階で高品質のムービーフラグメントの送信が可能であると判断できるので、キャッシュ格納部14にキャッシュされていれば、送信するムービーフラグメントを、要求された品質種別指定のビットレートを超えない範囲で高ビットレートのものに切替えてもよい。この後、処理はS9056に進む。
 S9055では、プロキシ状況判断部26は、ムービーフラグメントを遅延して送信した回数のカウンタであるNS2をインクリメントする。なお、この段階で高品質のムービーフラグメントの送信が困難であると判断できるので、キャッシュ格納部14にキャッシュされていれば、送信するムービーフラグメントを低ビットレートのものに切替えてもよい。この後、処理はS9056に進む。
 S9056では、レスポンス/リクエスト実行部27は、図9(a)のS902で決定したムービーフラグメントをマルチパートの1パートとして送信する。そして、レスポンス/リクエスト実行部27は、図9(a)のS902で決定したメディアセグメント内のすべてのムービーフラグメントを送信したかを確認する(S9057)。そして、全て送信済みであることを確認した場合(S9057でYES)にはレスポンス処理を終了し、未送信のものが確認された場合(S9057でNO)には、S9053の処理に戻る。
 ≪実施の形態1-3:クライアントによる適応化≫
 次に、NW1の状況に応じて、クライアント11がコンテンツ伝送の適応化を行う例について、図10~12に基づいて説明する。
 本実施形態において、通信システム1で行われる通信シーケンスを図10に基づいて説明する。図10は、クライアント11がコンテンツ伝送の適応化を行う場合のシーケンスの一例を示す図である。なお、図10の通信シーケンス例は、サーバ13と接続されたコンテンツ格納部15に4Mbps、2Mbps、1Mbpsの3種類のメディアファイルで構成されるコンテンツが格納されており、プロキシ12のキャッシュ格納部14には、上述のコンテンツの各品質別の冒頭部分「media segment1」が事前の通信においてキャッシュされている状態で開始される通信シーケンス例であり、図中に示した時点でNW1の通信状況の悪化(通信トラフィックの増加)が生じた場合への適応例を示している。
 まず、クライアント11は、URLを指定してコンテンツの冒頭「media segment1」を要求する(リクエスト101)。このリクエスト101を受信したプロキシ12は、要求された「media segment1」がキャッシュ格納部14に格納されているか確認する。
 ここでは、要求されたコンテンツ(メディアセグメント)がキャッシュ格納部14に格納されている。このため、プロキシ12は、サーバ13へのアクセスを行うことなく、キャッシュ格納部14からそのメディアセグメントを読み出して、MIMEマルチパート形式でクライアント11に送信する(レスポンス102)。
 レスポンス102を受信する過程でクライアント11は、各ムービーフラグメントの受信遅延からNW1の通信状況が悪化したと判断する。そこで、クライアント11は、続く「media segment2」を要求する際には、前回要求したビットレートよりも低いビットレート(ここでは1Mbps)をプロキシ12に要求する(リクエスト103)。
 そして、プロキシ12は、要求された「media segment2」が、キャッシュ格納部14に格納されているかを確認し、ここでは格納されていないため、その要求をサーバ13に転送する(リクエスト104)。
 このリクエスト104を受信したサーバ13は、要求された「media segment2」、すなわちコンテンツの60~120秒部分の1Mbps版をMIMEマルチパート形式で送信する(レスポンス105)。
 レスポンス105を受信したプロキシ12は、各ムービーフラグメントをキャッシュ格納部14に順次格納するとともに、クライアント11にMIMEマルチパート形式で応答する(レスポンス106)。以降同様に、クライアント11にコンテンツ全体が取得されるまで処理を繰り返す。
 <HTTPメッセージ>
 続いて、図10のシーケンス図で使用されるリクエスト及びメッセージの詳細を図11に基づいて説明する。図11は、リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)は図10のリクエスト101の、同図(b)はレスポンス102の、同図(c)はリクエスト103、104の、同図(d)はレスポンス105、106のHTTPメッセージをそれぞれ示している。なお、同図(a)(b)は、それぞれ図5(a)(b)と同じであるから、ここでは説明を省略し、図5(a)~(d)との相違点を中心に説明する。
 (コンテンツを要求するリクエスト)
 図11(b)のレスポンス102における「X-Representation-List」ヘッダによって、クライアント11は、「content 1」は、ビットレートが4Mbps、2Mbps、1Mbpsの3種類あり、1MbpsのコンテンツのテンプレートURLが「/content1/$index$/3」であることを認識できる。そのため、60秒以降のコンテンツ「media segment2」を要求する際には、$index$の部分を「2」に置き換えた「/content1/2/3」を用いている。このため、リクエスト103、104に対応するHTTPメッセージでは、図11(c)に示すように、「GET」の後に記述される、リクエスト対象となるコンテンツのURLが「/content1/2/3」となっている。
 そして、上記リクエスト103、104に対して送信されるレスポンス105、106では、図11(d)に示すように、「X-Representation-Id」ヘッダは「3」と記述されている。
 <クライアントの動作フローチャート>
 次に、クライアント11が実行する処理の詳細を図12に基づいて説明する。図12は、クライアント11の実行する処理の一例を示すフローチャートである。
 クライアント11のリクエスト実行部22は、ユーザの入力操作等を契機として、コンテンツのリクエストを送信することを決定すると、まず、要求するコンテンツのメディアセグメントを決定する(S1201)。具体的には、リクエスト実行部22は図11(a)のようなHTTPメッセージとして送信するので、リクエスト実行部22は、このメッセージに含まれるURL(コンテンツ名、ビットレート等)を決定する。
 なお、リクエスト実行部22は、2回目以降のリクエスト送信時には、先に送信したリクエストに対して受信したレスポンスの受信状況に応じて、メディアセグメント(ムービーフラグメント)のビットレート等を決定する。
 具体的には、2回目以降のリクエスト送信時には、クライアント状況判断部21は、後述のS1207、1208で求めたN、Nを用い、N-N>0である場合には、全体的に遅延があると判断(通信状況が悪いことを示す事象を検出したと判断)する。そして、その旨をリクエスト実行部22に通知する。そして、この通知を受信したリクエスト実行部22は、要求するメディアセグメントを低ビットレートのものに切り替える。
 一方、N-N<0であれば、クライアント状況判断部21は、全体的に予定受信時間より十分に早いと判断(通信状況が良いことを示す事象を検出したと判断)し、その旨をリクエスト実行部22に通知する。そして、この通知を受信したリクエスト実行部22は、要求するメディアセグメントを高ビットレートのものに切り替える。
 続いて、リクエスト実行部22は、S1201で決定したメディアセグメントを要求するHTTPリクエストを、クライアント通信部24を介してプロキシ12に送信する(S1202)。プロキシ12は、このリクエストに対するレスポンスとして、まず、ヘッダを送信するので、リクエスト実行部22はこれを受信し(S1203)、その旨をクライアント状況判断部21に通知する。
 この通知を受信したクライアント状況判断部21は、ムービーフラグメントの受信時間を評価するため、タイマを初期化し、時間のカウントを開始させる。また、クライアント状況判断部21は、この評価に用いる変数(カウンタ)を初期化(N=N=0)しておく(S1204)。
 そして、プロキシ12は、S1202で送信したリクエストに対するレスポンスとして、ヘッダの後に複数のムービーフラグメントをマルチパート化したボディを送信する。このため、リクエスト実行部22はこれらのムービーフラグメントを受信し(S1205)、その旨をクライアント状況判断部21に通知する。
 また、リクエスト実行部22は、受信したヘッダに含まれる「Content-Type」ヘッダの値から、MIMEマルチパート形式でムービーフラグメントを受信したと判断し、その旨をコンテンツ再生部23に通知すると共に、受信したムービーフラグメントをコンテンツ再生部23に送信する。そして、コンテンツ再生部23は、受信したムービーフラグメントの「X-Representation-Id」ヘッダを参照して、そのムービーフラグメントの品質種別(ビットレート等)を特定し、その品質種別(ビットレート等)に応じた初期化情報を用いて再生を行う。
 ここで、クライアント状況判断部21は、受信時間の評価を行う(S1206)。具体的には、クライアント状況判断部21は、S1204でカウントを開始したタイマの示す時間tと、S1205で受信したムービーフラグメントのタイムスタンプTfr(X-Timestampの値)とを比較する。
 この比較の結果、t<Tfr-Tthであった場合には、予定受信時間より十分に早いと判断(通信状況が良いことを示す事象を検出したと判断)し、S1207に進む。これに対し、Tfr+Tth>tであった場合には、遅延が生じていると判断(通信状況が悪いことを示す事象を検出したと判断)し、S1208に進む。一方、上記の何れにも該当しない場合(|t-Tfr|≦Tthの場合)には、S1209に進む。
 S1207では、クライアント状況判断部21は、予定受信時間より十分に早くムービーフラグメントを受信した回数のカウンタであるNをインクリメントする。この後、処理はS1209に進む。
 S1208では、クライアント状況判断部21は、ムービーフラグメントを遅延して受信した回数のカウンタであるNをインクリメントする。この後、処理はS1209に進む。
 S1209では、リクエスト実行部22は、S1202で送信したリクエストで指定されるメディアセグメントに含まれる全てのムービーフラグメントを送信したかを確認し、未受信のものが確認された場合(S1209でNO)には、S1205の処理に戻る。
 一方、全て受信済みであることを確認した場合(S1209でYES)には、リクエスト実行部22は、リクエスト対象となっているコンテンツの全てのメディアセグメントを受信したかを確認(S1210)する。そして、全て受信済みであることを確認した場合(S1210でYES)には処理を終了し、未受信のものが確認された場合(S1210でNO)には、S1201の処理に戻る。
 なお、上記では、メディアセグメント単位でビットレートの切り替えを行う(S1201)例を示したが、ムービーフラグメント単位でビットレートの切り替えを行ってもよい。この場合には、例えば、S1206で行う受信時間の評価結果に応じて、要求ビットレートを変更(URLの品質種別識別子の部分を変更)したリクエストを新たに送信し、先に送信したリクエストに基づいて送信されるムービーフラグメントを破棄してもよい。また、クライアント11は、NW1の通信状況だけでなく、ユーザ操作により再生中の表示画面サイズが変更されたなどの理由により、適応化を行う構成であっても構わない。例えば、表示画面サイズが大きく変更されたときに品質の高いものに切り替え、小さく変更されたときに品質の低いものに切り替えてもよい。
 〔クライアントがMIMEマルチパート形式のデータを処理することができない場合〕
 上記実施形態1(1-1~1-3)では、クライアント11がMIMEマルチパート形式のデータを処理可能な場合について説明した。しかし、特許文献1に示されているような現在広く利用されている従来のクライアントにおいては、MIMEマルチパート形式のデータを処理できない。
 NW1及びNW2を現在広く利用されているインターネットなどの広域ネットワークとした場合、このような従来のクライアントが本システムのプロキシ12やサーバ13に接続する場合も考えられる。
 このような場合に、プロキシ12やサーバ13は、リクエストメッセージのAcceptヘッダの値に「multipart/media-segment」が含まれていないことを確認したときには、MIMEマルチパート形式で応答するのではなく、メディアセグメント内のすべてのムービーフラグメントを結合したものを1つのボディとして応答すればよい。これにより、MIMEマルチパート形式のデータを処理できないクライアントが、受信したコンテンツを再生することが可能となる。
 ≪実施の形態2:伝送速度を加味した適応制御≫
 上記実施形態では、リアルタイム再生が可能となるように、通信システム1に含まれる各機器が、応答または要求するムービーフラグメント/メディアセグメントを適応的に制御する構成とした。
 これに対し、本実施形態では、リアルタイム再生に限らず、伝送時間に制約のない通常のダウンロードや、早見再生等の特殊再生を目的とした高速ダウンロードなどを行う場合にも、プロキシ12やサーバ13が容易に適応制御できる通信システム1について説明する。
 ここで、伝送速度を加味した適応制御を行うためには、コンテンツのビットレートに加えて、伝送ビットレートに関する情報が必要である。本実施形態では、それぞれのビットレートを付加情報として用いるのではなく、それぞれのビットレートの比を付加情報として用いることによってこの適応制御を行う。
 なお、本実施形態の通信システム1の、システム構成(図1)、コンテンツの蓄積及び伝送フォーマット(図2、3)、動作シーケンス(図4)は、実施形態1と同様である。ここでは、実施形態1と同様の構成については同一の参照番号を付し、その説明を省略する。
 <HTTPメッセージ>
 まず、本実施形態の通信システム1で使用されるリクエスト及びメッセージの詳細を図13に基づいて説明する。図13は、リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)は図4のリクエスト41、42の、同図(b)はレスポンス43、44の、同図(c)はリクエスト45、46の、同図(d)はレスポンス47、48のHTTPメッセージをそれぞれ示している。なお、同図(b)(d)は、それぞれ図5(b)(d)と同じであるから、ここでは説明を省略し、図5(a)~(d)との相違点を中心に説明する。
 (コンテンツを要求するリクエスト)
 図13(a)(c)に示すように、コンテンツを要求するリクエスト41、42、45、46に対応するHTTPメッセージには、要求伝送速度を示す「X-Transport-Speed」ヘッダ(要求転送速度情報)が含まれている。
 「X-Transport-Speed」の値には、要求する伝送速度として、実時間(=コンテンツのビットレート)に対する比を記述する。つまり、「X-Transport-Speed」の値は、コンテンツ自身のビットレートに対して、何倍の速度での伝送を要求するかを示す。例えば、4倍速の早見再生等を行うために、高速ダウンロードを要求する場合には、「X-Transport-Speed: 4」となる。逆に、リアルタイム再生の必要がなく、伝送時間に特にこだわらない場合には、「X-Transport-Speed: 0.1」等、1より小さい値に設定してもよい。
 そして、「X-Transport-Speed」ヘッダを含むリクエストを受信したプロキシ12またはサーバ13は、要求されたコンテンツのビットレートと、「X-Transport-Speed」ヘッダの値とに基づいてコンテンツを送信する。
 <動作フローチャート>
 本実施形態の通信システム1における、サーバ13、プロキシ12、及びクライアント11の動作フローは、基本的に実施形態1(図6、図9、図12)と同様であるが、NW1または2の状況を評価するためのタイマのカウント速度を、「X-Transport-Speed」ヘッダの値に応じて変化させる点で異なる。
 すなわち、サーバ13が適応化する場合、図6のS604において、タイマのカウント速度を、「X-Transport-Speed」ヘッダの値に応じた速度に設定する。例えば、「X-Transport-Speed」ヘッダの値が4の場合には、タイマを実時間の4倍の速度で動作させ、「X-Transport-Speed」ヘッダの値が0.1の場合には、タイマを実時間の0.1倍の速度で動作させる。
 同様に、プロキシ12が適応化する場合には、図9(b)のS9043、図9(c)のS9052において、タイマのカウント速度を、「X-Transport-Speed」ヘッダの値に応じた速度に設定する。また、クライアント11が適応化する場合には、図12のS1204において、タイマのカウント速度を、「X-Transport-Speed」ヘッダの値に応じた速度に設定する。
 上記のように、リクエストに要求伝送速度情報(X-Transport-Speedヘッダ)を含めることで、プロキシ12やサーバ13は、通常ダウンロード、高速ダウンロード等の要求内容を考慮した処理順序の最適化を行うこともできる。
 また、処理順序の最適化に伴う適応制御については、要求伝送速度情報(X-Transport-Speedヘッダ)に基づき、送受信時間の評価に用いるタイマの動作速度を変更するのみでよい。すなわち、特別な処理を追加することなく実施形態1と同様の方法で適応制御を実現することができる。
 また、リアルタイム再生を行う場合には、最初のリクエストだけ要求伝送速度を1より大きな値にしておいてもよい。例えば、リクエスト実行部22は、送信するメッセージが、要求するコンテンツの先頭部分を含むメディアセグメントに対する要求メッセージであるか否かを、例えばその要求メッセージにおいてメディアセグメントを指定する番号が1であるか否かにより判断する。そして、先頭部分を含むメディアセグメントに対する要求メッセージであると判断した場合に、その要求メッセージの「X-Transport-Speed」ヘッダの値を1より大きくしてもよい。これにより、クライアント11における再生開始までのバッファリング時間を短縮して、要求から再生開始までの待ち時間を短くすることができる。
 ≪実施の形態3:一般的なプロキシを適用≫
 実施形態1及び2におけるプロキシ12は、従来の一般的なプロキシが行う動作に加えて、クライアント11から送信されたリクエストにおける要求ビットレートの変更や、クライアント11へ送信するレスポンスにおけるムービーフラグメントの適応化等の動作が可能である。
 しかしながら、通信システム1に含まれるプロキシ12は、このような適応化機能を有するものに限られず、従来のプロキシであってもよい。本実施形態では、従来のプロキシを用いつつ、キャッシュ制御を行うことで、ネットワーク状況に適応したなムービーフラグメントの応答を可能した通信システム1について、図14~16に基づいて説明する。
 なお、本実施形態の通信システム1の、システム構成、コンテンツの蓄積及び伝送フォーマットは、実施形態1と同様である(図1~3)。ここでは、実施形態1と同様の構成については同一の参照番号を付し、その説明を省略する。ただし、本実施形態のプロキシ12は、プロキシ状況判断部26を備えておらず、一般的なプロキシと同様の機能を有するものとする。
 <通信シーケンス>
 本実施形態において、通信システム1で行われる通信シーケンスを図14に基づいて説明する。図14は、一般的なプロキシを適用した場合に、サーバ13がNW2の状況等に基づいてコンテンツ伝送の適応化を行うシーケンスの一例を示す図である。なお、図14の通信シーケンス例は、サーバ13と接続されたコンテンツ格納部15に4Mbps、2Mbps、1Mbpsの3種類のメディアファイルで構成されるコンテンツが格納されており、プロキシ12と接続されたキャッシュ格納部14には、サーバ13から受信したメディアセグメントのキャッシュが存在していない状態で開始される通信シーケンス例である。また、図14の例では、2つのクライアント11(クライアントAとクライアントB)が存在している。
 まず、クライアントAは、URLを指定してコンテンツの冒頭部分「media segment1」を要求する(リクエスト1401)。そして、このリクエスト1401を受信したプロキシ12は、要求されたURLに紐付けられた「media segment1」がキャッシュ格納部14に格納されているか確認する。
 プロキシ12は、「media segment1」が存在しないことを確認し、リクエスト1402をサーバ13に送信する。リクエスト1402を受信したサーバ13は、「media segment1」をコンテンツ格納部15から読み出して、MIMEマルチパート形式でプロキシ12に送信する(レスポンス1403)。
 ここで、サーバ13は、レスポンス1403として、4Mbpsのムービーフラグメントを用いて送信を開始するが、NW2の状況を検出し、応答処理に遅延が発生したことを確認したとする。
 このような場合、サーバ13は、NW2の状況に適応するため、以降のムービーフラグメントは、より低いビットレートのもの(ここでは1Mbps)に切り替える。また、サーバ13は、このとき、送信する「media segment1」のキャッシュ保持期間をNW2の通信状況の回復が見込まれる時間を考慮して指定する。
 レスポンス1403を受信したプロキシ12は、クライアントAに順次レスポンス1403を転送する(レスポンス1404)と共に、レスポンス1403をキャッシュ格納部14に格納する。また、プロキシ12は、上記格納したレスポンス1403のキャッシュ保持期間を、サーバ13から指定された期間に設定する。なお、従来のプロキシでは、MIMEマルチパート形式の各パートを個別には扱わず、レスポンス全体をまとめて取り扱う。
 ここで、上記キャッシュ保持期間経過後、NW2の通信状況が回復したものとして、以降のシーケンスについて説明を続ける。別のクライアントBがクライアントAと同じコンテンツの冒頭部分「media segment1」を要求する(リクエスト1405)。
 通常であれば、レスポンス1403で受信した「media segment1」がプロキシ12のキャッシュ格納部14に格納されている。このため、サーバ13へのアクセスは行わず、キャッシュ格納部14に格納されている「media segment1」をクライアントBに送信する。しかし、ここでは上述のとおり、当該キャッシュには、キャッシュ保持期間が設定されており、すでにキャッシュ保持期間を超過している。このため、要求されたコンテンツがキャッシュに存在しないと判断し、サーバ13にコンテンツを要求する(リクエスト1406)。
 このリクエスト1406を受信したサーバ13は、「media segment1」をコンテンツ格納部15から読み出して、MIMEマルチパート形式でプロキシ12に送信する(レスポンス1407)。
 ここでサーバ13は、レスポンス1407として4Mbpsのムービーフラグメントを用いて、送信を開始する。なお、レスポンス1407の送信の際には、NW2の遅延は検出されなかったため、レスポンス1407ではキャッシュ保持期間の設定を行わない。
 レスポンス1407を受信したプロキシ12は、レスポンス1407をクライアントBに転送する(レスポンス1408)と共に、キャッシュ格納部14に格納する。
 <HTTPメッセージ>
 続いて、図14のシーケンス図で使用されるリクエスト及びメッセージの詳細を図15及び図16に基づいて説明する。図15は、リクエストまたはレスポンスとして送受信されるHTTPメッセージの一例を示す図であり、同図(a)は図14のリクエスト1401、1402、1405、1406の、同図(b)はレスポンス1403、1404の、同図(c)はレスポンス1407、1408のHTTPメッセージをそれぞれ示している。また、図16は、レスポンス1403の他の例を示している。なお、同図(a)(c)は、それぞれ図5(a)(b)と同じであるから、ここでは説明を省略し、図5(a)~(d)との相違点を中心に説明する。
 (キャッシュ保持期間を指定するレスポンス1)
 図15(b)に示すように、レスポンス1403及びこれをクライアントAに転送するレスポンス1404では、HTTPメッセージのボディ部分に、複数のビットレートのムービーフラグメントが含まれている。
 このように、リクエストとは異なる、適応化したレスポンスをプロキシ12に送信する場合には、一定時間経過後に同じリクエストをプロキシ12が受信したときには、NW2の状況が異なっている可能性がある。このため、この適応化したレスポンスがキャッシュ格納部14から読み出されて送信されないようにする必要がある。そこで、サーバ13は、適応化したレスポンスの送信時には、キャッシュ保持期間を短く指定している。
 ここで、サーバ13は、ムービーフラグメント単位で適応化したレスポンスを送信することを、ヘッダ送信開始時に認識できる場合と、そうでない場合がある。
 ヘッダ送信開始時に認識できる場合には、図15(b)に示すように、キャッシュ保持期間を指定するための制御情報である「Cache-Control」ヘッダによって、キャッシュ保持期間を短く指定することができる。図示の例では、Cache-Controlヘッダの値を「max-age=60」としており、これによりキャッシュ保持期間を60秒に指定している。無論、次のリクエスト受信時に、NW2の通信状況の回復が見込める時間であれば、Cache-Controlヘッダの値は、この例に限られず、60秒以下としてもよいし、60秒以上としてもよい。なお、Cache-Controlヘッダの値を「no-store」として、キャッシュさせないように設定してもよい。また、以降のリクエストに対して、キャッシュの使用可否(キャッシュされているデータが現在のネットワーク条件を反映したデータか否か)をサーバ13に再検証するよう指示するための制御情報(Cache-Control: no-cache)をヘッダに記述してもよい。この場合、サーバ13は、キャッシュ期間の計算などの特別な処理が不要となる。
 また、Cache-Control: no-cacheは、リクエストのヘッダにも記述可能であり、これにより、リクエスト側からの制御でサーバ13に再検証を行わせることができる。例えば、クライアント11は、リクエスト1405にCache-Control: no-cacheを記述することにより、既にキャッシュされているレスポンス1403の使用可否を、サーバ13に再検証するよう指示することができる。
 一方、サーバ13が、ムービーフラグメント単位で適応化したレスポンスを送信することを、ヘッダ送信開始時に認識できない場合、HTTPにおけるチャンク転送を用い、メッセージの末尾に記述される付加情報であるtrailerにてCache-Controlを記述すればよい。
 具体的には、図16のようなHTTPメッセージとしてもよい。同図のHTTPメッセージのヘッダには、チャンク転送であることを示す「Transfer-Encoding: chunked」、メッセージの末尾に記述される付加情報のリストを示す「Trailer」ヘッダ等が記述されている。ここでは、メッセージの末尾にCache-Controlを記述することを想定しているので、Trailerヘッダの値は「Cache-Control」となっている。
 また、同図のHTTPメッセージのボディには、複数のチャンクが含まれている。ここでは、1番目のチャンクに、3種のビットレートに対応する3つのムービーフラグメント 1を含むようにし、以降のチャンクには、それぞれ1つのムービーフラグメントを含むようにしている。これにより、ムービーフラグメント1~60にそれぞれ対応する1番目~60番目のチャンクが形成される。
 さらに、各チャンクには、チャンクサイズを示す情報である「CHUNK_SIZE_N」(Nはチャンク番号)が記述されている。なお、「CHUNK_SIZE_N」は、N番目のチャンクのファイルサイズを16進数で表したバイト数に置き換えられる。
 そして、メッセージの末尾には、Cache-Controlが記述される。これにより、チャンク転送後に、キャッシュ保持時間を設定することが可能になる。例えば、チャンク転送の結果、ムービーフラグメント単位で適応化された(複数のビットレートのムービーフラグメントが混在している)ことが分かった場合、キャッシュ保持期間を短く設定するか、あるいはキャッシュ保持させないようにする値(Cache-Control: max-age=60、Cache-Control: no-store等)を記述すればよい。
 また、ムービーフラグメントが適応化されていない(全てのムービーフラグメントが要求ビットレート通りである)ことが分かった場合、キャッシュ保持時間を十分長い期間とする値(Cache-Control: max-age=3600)を記述すればよい。この場合には、キャッシュ保持時間が3600秒、すなわち2時間となる。無論、キャッシュ保持時間は上述の例に限られない。
 <動作フローチャート>
 本実施形態のサーバ13及びクライアント11の動作は、基本的に実施形態1(図6、12)と同様である。ただし、チャンク転送を行う場合には、メディアセグメント内の全てのムービーフラグメントを送信した後に、trailer(メッセージ末尾に記述する付加情報。例えば、Cache-Control: max-age=60)を送信するステップが追加される(図16参照)。
 <まとめ>
 上記のように、実施形態3のサーバ13は、キャッシュ制御を行うことで、プロキシ12が、既存のものであっても、実施形態1、2で示したような適応化機能を有したものであっても、現在のネットワーク状況を反映した適切なムービーフラグメントの応答をすることを可能としている。
 すなわち、既存プロキシは、サーバ13の制御により、適応化されていない(すべてのムービーフラグメントが要求ビットレート通りである)メディアセグメントのみを通常通りキャッシュする。一方、適応化された(複数のビットレートのムービーフラグメントが混在している)メディアセグメントは、通常より短い期間キャッシュするかキャッシュしない。これにより、ネットワーク状況の変化に適切に対応することができる。
 例えば、サーバ13は、あるクライアントから4Mbpsのファイルに対するリクエストがあったときに、ネットワークの状況が悪いことを検出した場合には、要求よりも低いビットレート(例えば1Mbps)のムービーフラグメントを含むメディアセグメントでプロキシ12に応答する。
 このような場合であっても、プロキシ12において、キャッシュ保持期間が短く(max-age=60)、またはキャッシュしない(no-store)ように、サーバ13が制御する。このため、プロキシ12は、一定時間後にネットワークの状況が回復し、同じURLを指定するリクエスト(4Mbpsのファイルに対するリクエスト)を受信した場合であっても、キャッシュヒットすることがない。
 したがって、プロキシ12は、サーバ13にリクエストを送信することになり、サーバ13の判断により、現在のネットワーク状況に適応したコンテンツが応答されることになる。
 また、プロキシ12が適応化機能を有したものであれば、ネットワークの状況に応じて、キャッシュ格納部14に格納されているビットレートの異なる複数のメディアセグメントから、ムービーフラグメントを選択してメディアセグメントを再構成し、適応的にクライアント11に送信することができる。適応化されていないメディアセグメントについては、サーバ13のキャッシュ制御の対象外となり、十分な期間だけキャッシュ格納部14に格納されるからである。
 ≪実施形態1、2、3の変形例・応用例≫
 実施形態1、2、3におけるサーバ13からのレスポンスにおいて、時間を示す情報として、メディアセグメントのタイムスタンプ(X-Media-Segment-Timestampヘッダ)や、各ムービーフラグメントのタイムスタンプ(X-Timestampヘッダ)を記述した。しかし、この例に限られず、これらに加えて、メディアセグメントの再生期間(X-Media-Segment-Durationヘッダ)や、メディアセグメントを構成する各ムービーフラグメントの再生期間(X-Durationヘッダ)を記述してもよい。例えば、図5(b)のレスポンスメッセージの場合、メディアセグメントの再生期間は60000ミリ秒で、各ムービーフラグメントの再生期間は1000ミリ秒である。よって、ヘッダに「X-Media-Segment-Duration: 60000」、ボディにおける各パートのヘッダに「X-Duration: 1000」を記述すればよい。これにより、続くムービーフラグメントのタイムスタンプを取得することなく、現ムービーフラグメントの再生期間を取得することができる。
 また、タイムスタンプや再生期間の単位をミリ秒としたが、別途タイムスケール(X-Timescaleヘッダ)を記述し、タイムスケールに基づいてX-TimestampやX-Duration等の値を記述してもよい。例えば、単位を秒とする場合「X-Timescale: 1」、ミリ秒とする場合「X-Timescale: 1000」、マイクロ秒とする場合「X-Timescale: 1000000」などと記述し、「タイムスタンプ=2秒」を表す場合、それぞれ「X-Timestamp: 2」、「X-Timestamp: 2000」、「X-Timestamp: 2000000」のように記述すればよい。これにより、サーバ13は、コンテンツの蓄積フォーマットに合ったタイムスケールでタイムスタンプ(X-Timestampヘッダ)や再生期間(X-Durationヘッダ)を記述することができるため、伝送の際の時間単位の変換処理が不要になる。
 実施形態1、2、3におけるクライアントからの最初のリクエストでは、コンテンツの再生位置を示すために「/content1/1」のように、URLにメディアセグメント番号を記述する形式を用いたが、メディアセグメント番号の代わりに再生開始位置(再生開始時間)を示すタイムスタンプtを記述してもよい。例えば、URLクエリを用いて、「/content1?t=120.0」のような形式でコンテンツの再生位置を示すようにしてもよい。これにより、タイムスタンプtで指定した任意の時間位置から再生開始させることが可能である。
 また、上述のように、各ムービーフラグメントには、「X-Timestamp」ヘッダにより、タイムスタンプが記述可能になっている。これを利用することにより、ダウンロード済みのコンテンツをムービーフラグメント単位で更新することもできる。
 例えば、ダウンロードしたコンテンツに品質の低い部分(例えば、「X-Representation-Id」ヘッダの値が3、すなわち1Mbpsのムービーフラグメント)が含まれている場合、そのムービーフラグメントのタイムスタンプを用いて、品質の高いものをリクエストすることにより、当該部分を高品質なものに更新することができる。
 なお、このように、特定の品質のコンテンツを取得したい場合には、クライアント11は、URLに所望の品質種別を指定すると共に、実施形態2で説明した要求伝送速度を示す「X-Transport-Speed」ヘッダに小さい値を設定してリクエストを送信してもよい。
 また、上記各実施形態では、ネットワーク(NW1、2)の通信状況に応じて、送信するムービーフラグメントのビットレートを切り替える例を示したが、ビットレート切り替えの契機となる事象は、通信状況に限られない。この事象は、容量の大きいコンテンツの送信が困難または不要であることを示す事象、または容量の大きいコンテンツの送信が可能または必要であることを示す事象であればよい。
 例えば、コンテンツを要求するクライアント数が、所定の閾値を上回ったことを検出した場合に、送信するコンテンツのビットレートを低いものに切り替えてもよい。同様に所定の閾値を下回ったことを検出した場合に、送信するコンテンツのビットレートを高いものに切り替えてもよい。
 同様に、コンテンツの要求時のビットレート切り替えの契機となる事象も、容量の大きいコンテンツの要求が困難または不要であることを示す事象、または容量の大きいコンテンツの要求が可能または必要であることを示す事象であればよく、通信状況に限られない。
 例えば、要求したコンテンツを全画面表示している場合には、容量の大きいコンテンツの要求が必要と考えられる。そこで、通常画面表示から、全画面表示への切り替えが行われたという事象を検出したときに、要求するビットレートを高いものに切り替えてもよい。同様に、全画面表示から通常画面表示または小画面表示への切り替えが行われたという事象を検出したときに、要求するビットレートを低いものに切り替えてもよい。
 また、上記各実施形態では、HTTPメッセージを用いてコンテンツの要求及び送信を行う例を示したが、この例に限られず、コンテンツの要求及び送信に用いられる任意のメッセージが適用可能である。
 そして、上記各実施形態では、ムービーフラグメントで構成されるメディアファイルの例として、MP4を示したが、送信・要求の対象となるコンテンツは、フラグメント化されたものであり、再生の対象となるもの(音声、動画像等)であればよく、この例に限られない。例えば、MPEG-2トランスポートストリームを用いてもよく、メディアセグメントを構成するムービーフラグメントにMP4とMPEG-2トランスポートストリームが混在する構成でも構わない。
 また、上記各実施形態では、コンテンツの再生品質及び種別の例として、ビットレートを適用する例を示したが、画像解像度、音声言語、コーデック種別等、ビットレート以外の再生品質または種別をムービーフラグメント単位で設定可能としてもよい。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 最後に、クライアント11、プロキシ12、及びサーバ13の各ブロック、特にクライアント制御部20、プロキシ制御部25、及びサーバ制御部29は、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
 後者の場合、クライアント11、プロキシ12、及びサーバ13は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるクライアント11、プロキシ12、及びサーバ13の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記クライアント11、プロキシ12、及びサーバ13に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
 上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM/MO/MD/DVD/CD-R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
 また、上記プログラムコードは、通信ネットワークを介してクライアント11、プロキシ12、及びサーバ13に供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
 〔発明の作用効果〕
 本発明のコンテンツ取得装置は、要求メッセージに対する応答として、コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを受信する応答受信手段と、上記応答受信手段が受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生する再生手段とを備えており、上記コンテンツ取得装置は、コンテンツの再生品質を指定する再生品質指定情報を含む要求メッセージを送信する要求メッセージ送信手段を備えていることが好ましい。
 上記の構成によれば、再生品質指定情報を含む要求メッセージを送信するので、上記コンテンツ取得装置のユーザは、この再生品質指定情報で所望の再生品質を指定することにより、所望の再生品質のコンテンツを取得することが可能になる。
 また、上記コンテンツ取得装置は、予め定めた第1事象及び第2事象の少なくとも何れかを検出する事象検出手段を備え、上記要求メッセージ送信手段は、上記事象検出手段が上記第1事象を検出した場合に、その後送信する要求メッセージの再生品質指定情報を、上記第1事象の検出前よりも低い再生品質を指定するものに切り替え、上記事象検出手段が上記第2事象を検出した場合に、その後送信する要求メッセージの再生品質指定情報を、上記第2事象の検出前よりも高い再生品質を指定するものに切り替えることが好ましい。
 上記の構成によれば、第1・第2事象の検出の有無に応じて、その後送信する要求メッセージの再生品質指定情報を切り替える。したがって、第1・第2事象の検出の有無に応じた再生品質のコンテンツを受信することができる。
 このため、第1事象としては、その事象の検出後は、低い再生品質のコンテンツを要求することが適当であるような事象を適用することが望ましい。例えば、コンテンツ要求先の装置と自装置との間の通信状況が不良であることを示す事象(フラグメントの受信が予定受信時間よりも遅延した等)や、再生したコンテンツをユーザに提示する画面(ウィンドウ)が小さいものに切り替えられた事象等を第1事象としてもよい。
 同様に、第2事象としては、その事象の検出後は、高い再生品質のコンテンツを要求することが適当であるような事象を適用することが望ましい。例えば、コンテンツ要求先の装置と自装置との間の通信状況が良好であることを示す事象(フラグメントの受信が予定受信時間よりも早く完了した等)や、再生したコンテンツをユーザに提示する画面(ウィンドウ)が大きいものに切り替えられた(例えば全画面表示に切り替えられた)事象等を第2事象としてもよい。
 また、上記応答受信手段は、上記各フラグメントの再生開始時間を示すタイムスタンプが、各フラグメントに対応付けられた応答メッセージを受信し、上記事象検出手段は、上記応答メッセージに含まれるフラグメントの1つである第1フラグメントの受信開始後、その次に受信するフラグメントである第2フラグメントの受信開始までの時間tをカウントし、上記第1フラグメントに対応付けられたタイムスタンプの値と、上記第2フラグメントに対応付けられたタイムスタンプの値との差をTfrとし、予め定めたゼロ以上の閾値をTthとして、Tfr+Tth>tであった場合には上記第1事象を検出したと判断し、t<Tfr-Tthであった場合には上記第2事象を検出したと判断することが好ましい。
 ここで、Tfr=tとなるときには、再生までの処理で発生するタイムラグ等を無視すれば、第2フラグメントをそのタイムスタンプが示すタイミングで再生開始することができる。つまり、Tfr+Tth>tとなる場合は、第2フラグメントの受信が、そのタイムスタンプが示すタイミングで再生開始することができないほど遅延していると言える。また、t<Tfr-Tthとなる場合には、第2フラグメントの受信が十分に早かったと言える。
 そこで、上記の構成によれば、Tfr+Tth>tであった場合には上記第1事象が発生したと判断して、その後送信する要求メッセージの再生品質指定情報を、上記第1事象の検出前よりも低い再生品質を指定するものに切り替える。これにより、現在の悪い通信状況を反映させて、以後受信するコンテンツに遅延が発生することを防ぐことができる。
 また、上記の構成によれば、t<Tfr-Tthであった場合には上記第2事象が発生したと判断して、その後送信する要求メッセージの再生品質指定情報を、上記第2事象の検出前よりも高い再生品質を指定するものに切り替える。これにより、現在の余裕のある通信状況を反映させて、高品質のコンテンツを取得することができる。
 そして、上記要求メッセージ送信手段は、コンテンツの要求転送速度を、該コンテンツのビットレートに対する倍率で示す要求転送速度情報を含む要求メッセージを送信することが好ましい。
 上記の構成によれば、要求転送速度情報を含む要求メッセージを生成するので、この要求転送速度情報で指定した所望の転送速度でコンテンツを受信することができる。
 また、上記要求転送速度情報は、コンテンツの要求転送速度を該コンテンツの通常転送速度に対する倍率で示したものであるため、コンテンツの送信を要求された装置は、この情報を利用してコンテンツの送信状況を容易に判断することができる。
 つまり、コンテンツの送信を要求された装置は、複数のフラグメントを送信するので、各フラグメントの送信時間間隔から、フラグメントの送信状況(遅延して送信されているか、あるいは十分に早く送信されているか)を判断することができる。そして、この送信時間間隔をカウントするカウンタの速度に、上記要求転送速度情報の示す倍率を乗じることにより、上記コンテンツ取得装置の要求する転送速度がどのようなものであっても、同じ処理でフラグメントの送信状況を判断することができる。
 また、上記要求メッセージ送信手段は、送信する要求メッセージが、要求するコンテンツの先頭部分を含むメディアセグメントに対する要求メッセージであると判断した場合に、上記要求転送速度情報を1より大きい値とすることが好ましい。
 上記の構成によれば、要求するコンテンツの先頭部分を含むメディアセグメントに対する要求メッセージの要求転送速度情報を1より大きい値とする。したがって、要求するコンテンツの先頭部分を含むメディアセグメントをより早く受信することができ、これにより、再生開始までの待ち時間を短くすることができる。
 また、本発明のコンテンツ送信装置は、コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成手段と、上記付加情報生成手段が生成した付加情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを生成する応答メッセージ生成手段とを備えており、上記応答メッセージ生成手段は、複数の再生品質のそれぞれに対応する、該再生品質のコンテンツを再生するための再生情報が、当該再生品質のフラグメントに含まれている応答メッセージを生成することが好ましい。
 ここで、応答メッセージを受信した装置において、該応答メッセージに含まれるフラグメントを再生するためには、そのフラグメントを再生するための再生情報(例えばデコーダの初期化情報等)が必要となる。そして、このような再生情報は、コンテンツの再生品質毎に異なっていることが多い。
 そこで、上記の構成によれば、複数の再生品質のそれぞれに対応する、各再生品質のコンテンツを再生するための再生情報が、その再生品質のフラグメントに含まれている応答メッセージを生成する。
 これにより、この応答メッセージを受信した装置は、再生情報を用いることによりそのフラグメントを再生することができ、また、この後、上記複数の再生品質の何れのコンテンツを受信した場合であっても、これを再生することが可能となる。なお、再生情報は、コンテンツの再生前に必要になるものであるから、各再生品質のコンテンツの先頭部分に対応するフラグメントに付加しておくことがより好ましい。
 また、上記応答メッセージ生成手段は、上記各フラグメントの再生開始時間を示すタイムスタンプが、各フラグメントに対応付けられた応答メッセージを生成することが好ましい。
 上記の構成によれば、各フラグメントの再生開始時間を示すタイムスタンプが、各フラグメントに対応付けられた応答メッセージを生成する。このため、この応答メッセージを受信した装置に、フラグメントを解析することなく、各フラグメントの再生開始時間を特定させることができる。これにより、応答メッセージを受信した装置は、例えば、受信したフラグメントの一部を再生品質の高いものと置換したい場合に、タイムスタンプの値を指定してそのフラグメントを要求することもできる。
 また、上記付加情報生成手段は、上記メディアセグメントの上記コンテンツの全長に対する再生位置を示す情報を、上記付加情報として生成することが好ましい。
 上記の構成によれば、メディアセグメントのコンテンツの全長に対する再生位置を示す情報を付加情報として生成する。このため、この付加情報を含む応答メッセージを受信した装置は、コンテンツの全長及び受信したメディアセグメントがどの再生位置にあたるのかを容易に認識することができる。これにより、応答メッセージを受信した装置は、例えば、コンテンツの全長に対する別の再生位置のフラグメントを要求することもできる。つまり、コンテンツへのランダムアクセスが可能になる。
 また、上記付加情報生成手段は、自装置が送信可能なコンテンツの再生品質及び種別の少なくとも何れかを示す情報を、上記付加情報として生成することが好ましい。
 上記の構成によれば、コンテンツ送信装置が送信可能なコンテンツの再生品質及び種別の少なくとも何れかを示す情報を、上記付加情報として生成するので、この付加情報を含む応答メッセージを受信した装置は、上記コンテンツ送信装置に対して、どのような再生品質/種別のコンテンツを要求できるかを認識することができる。
 特に、コンテンツの要求元から中継装置を介してコンテンツの要求を受けた場合には、コンテンツ送信装置が送信可能なコンテンツの再生品質及び種別の少なくとも何れかを示す情報を送信することにより、コンテンツ送信装置が送信可能なコンテンツの再生品質及び種別の少なくとも何れかを中継装置に認識させることができる。これにより、コンテンツ送信装置が送信可能なコンテンツの再生品質及び種別の少なくとも何れかに応じた適切な中継処理を中継装置に行わせることができる。
 また、上記コンテンツ送信装置は、予め定めた第3事象及び第4事象の少なくとも何れかを検出する送信時事象検出手段を備え、上記応答メッセージ生成手段は、上記送信時事象検出手段が上記第3事象を検出した場合に、その後送信する応答メッセージに含まれる上記フラグメントの再生品質を、上記第3事象の検出前よりも低いものに切り替え、上記送信時事象検出手段が上記第4事象を検出した場合に、その後送信する応答メッセージに含まれる上記フラグメントの再生品質を、上記第4事象の検出前よりも高いものに切り替えることが好ましい。
 上記の構成によれば、第3・第4事象の検出の有無に応じて、その後送信する応答メッセージに含めるフラグメントの再生品質を切り替える。したがって、第3・第4事象の検出の有無に応じた再生品質のコンテンツを送信することができる。
 このため、第3事象としては、その事象の検出後は、低い再生品質のコンテンツを送信することが適当であるような事象を適用することが望ましい。例えば、コンテンツ送信先の装置と自装置との間の通信状況が不良であることを示す事象(フラグメントの送信が予定送信時間よりも遅延した等)事象等を第3事象としてもよい。
 同様に、第4事象としては、その事象の検出後は、高い再生品質のコンテンツを送信することが適当であるような事象を適用することが望ましい。例えば、コンテンツ送信先の装置と自装置との間の通信状況が良好であることを示す事象(フラグメントの送信が予定送信時間よりも早く完了した等)等を第4事象としてもよい。
 また、上記コンテンツ送信装置は、送信中のフラグメントに対応付けられたタイムスタンプのを値Tfrとし、該フラグメントの送信開始からカウントした経過時間をtとし、予め定めたゼロ以上の閾値をTthとして、Tfr+Tth>tであった場合には第3事象が発生したと判断し、t<Tfr-Tthであった場合には第4事象が発生したと判断する送信時事象検出手段を備え、上記応答メッセージ生成手段は、上記送信時事象検出手段が上記第3事象を検出した場合に、その後送信する応答メッセージに含まれる上記フラグメントの再生品質を、上記第3事象の検出前よりも低いものに切り替え、上記送信時事象検出手段が上記第4事象を検出した場合に、その後送信する応答メッセージに含まれる上記フラグメントの再生品質を、上記第4事象の検出前よりも高いものに切り替えることが好ましい。
 ここで、Tfr=tとなった時点で送信完了していない場合、当該送信中のフラグメントが送信相手装置に受信される時点では、すでにそのTfrが示す時刻を経過していることになる。つまり、Tfr+Tth>tとなる場合は、当該フラグメントの送信が、そのタイムスタンプが示すタイミングで再生開始することができないほど遅延すると判断される。また、t<Tfr-Tthとなる場合には、当該フラグメントの送信が十分に早いと言える。
 そこで、上記の構成によれば、Tfr+Tth>tであった場合には上記第3事象が発生したと判断して、その後送信する応答メッセージに含まれるフラグメントの再生品質を、第3事象の検出前よりも低いものに切り替える。これにより、現在の悪い通信状況を反映させて、以後送信するコンテンツに遅延が発生することを防ぐことができる。
 また、上記の構成によれば、t<Tfr-Tthであった場合には上記第4事象が発生したと判断して、その後送信する応答メッセージに含まれるフラグメントの再生品質を、第4事象の検出前よりも高いものに切り替える。これにより、現在の余裕のある通信状況を反映させて、高品質のコンテンツを送信することができる。
 また、上記付加情報生成手段は、自装置が送信するコンテンツをキャッシュ格納部に格納して他の装置に伝送する中継装置に送信する応答メッセージの付加情報として、上記メディアセグメントに含まれる各フラグメントを上記キャッシュ格納部に格納しないように指示する情報、該フラグメントを上記キャッシュ格納部に格納する保持期間を指定する情報、または上記中継装置がこれ以後に受信するコンテンツ要求に対する、上記キャッシュ格納部に格納されているフラグメントの使用可否を自装置に問い合わせるように指示する情報を生成することが好ましい。
 上記の構成によれば、中継装置に送信する応答メッセージの付加情報として、該応答メッセージのメディアセグメントに含まれる各フラグメントをキャッシュ格納部に格納しないように指示する情報、該フラグメントを上記キャッシュ格納部に格納する保持期間を指定する情報、または中継装置がこれ以後に受信するコンテンツ要求に対する、上記キャッシュ格納部に格納されているフラグメントの使用可否を自装置に問い合わせるように指示する情報を生成する。
 このため、この応答メッセージを受信した中継装置は、その応答メッセージのメディアセグメントに含まれる各フラグメントをキャッシュ格納部に格納しないか、指定された保持期間だけ保持するか、あるいはそれ以降のコンテンツ要求があったときにキャッシュ格納部に格納されているフラグメントの使用可否をコンテンツ送信装置に問い合わせる。
 これにより、コンテンツの要求元が、意図しない品質/種別のフラグメントを含むメディアセグメントを中継装置から取得することを防ぐことができる。
 例えば、中継装置がコンテンツ送信装置に、4Mbpsの「media segment1」を要求した場合に、コンテンツ送信装置が4Mbpsのフラグメントと2Mbpsのフラグメントとを含む「media segment1」を送信したとする。そして、次に、中継装置が4Mbpsの「media segment1」に対する要求を受信したとする。
 この2回目の要求の対象は、1回目の要求と同じく4Mbpsの「media segment1」であるが、1回目の要求を受信したときとは通信状況や要求元が異なっていることも考えられる。このため、2回目の要求に対しては、4Mbpsのフラグメントと2Mbpsのフラグメントとを含む「media segment1」を送信することが妥当でない場合がある。
 そこで、上記の構成のように、キャッシュ格納部に格納しないように指示する情報を含めることによって、上記のような場合に、複数のビットレートのフラグメントを含むメディアセグメントを送信することを防ぐことができる。また、保持期間を指定する情報によって、保持期間を短く設定することによっても、このようなメディアセグメントの送信を防ぐことができる。そして、キャッシュ格納部に格納されているフラグメントの使用可否をコンテンツ送信装置に問い合わせることを指示する情報を含めることによっても、このようなメディアセグメントの送信を防ぐことができる。
 また、上記応答メッセージ生成手段は、要求されたコンテンツがキャッシュ格納部に格納されている場合、上記コンテンツを上記キャッシュ格納部から取得し、上記コンテンツ送信装置は、要求されたコンテンツが上記キャッシュ格納部に格納されていない場合、該コンテンツを提供可能なコンテンツ提供装置に、該コンテンツの送信を要求する要求メッセージを送信する要求メッセージ送信手段を備えていることが好ましい。
 上記の構成によれば、要求されたコンテンツがキャッシュ格納部に格納されている場合、そのコンテンツをキャッシュ格納部から取得し、要求されたコンテンツがキャッシュ格納部に格納されていない場合、コンテンツ提供装置に要求メッセージを送信する。
 したがって、コンテンツを要求した装置は、要求したコンテンツがキャッシュ格納部に格納されている場合には、コンテンツ提供装置を介することなく、そのコンテンツを取得することができる。また、要求したコンテンツがキャッシュ格納部に格納されていない場合には、コンテンツ送信装置とコンテンツ提供装置とを介することによって、そのコンテンツを取得することができる。
 つまり、上記コンテンツ送信装置は、コンテンツの要求元の装置と、コンテンツ提供装置との中継を行う中継装置として機能する。これにより、コンテンツ提供装置の数に対して、コンテンツの要求元の装置の数が多い場合であっても、各コンテンツの要求元の装置がコンテンツをスムーズに取得することが可能になる。
 また、上記コンテンツ取得装置と、該コンテンツ取得装置の要求に応じてコンテンツを送信する上記コンテンツ送信装置とを含むコンテンツ送受信システムであれば、上記コンテンツ取得装置または上記コンテンツ送信装置と同様の効果を奏する。
 また、本発明のデータ構造は、コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含み、上記応答メッセージを受信した上記コンテンツ取得装置が、上記送信形式情報から上記コンテンツをメディアセグメントとして受信したと判断して、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生するものであり、上記応答メッセージは、上記複数のフラグメントをそれぞれ1つのパートとして含む、MIMEマルチパート形式のHTTPメッセージであることが好ましい。
 上記の構成によれば、ブラウザ等で広く利用されているHTTPにより、各フラグメントの再生品質及び種別の少なくとも何れかが独立に設定されたメディアセグメントを取り扱うことを可能にすることができる。
 なお、上記コンテンツ取得装置及び上記コンテンツ送信装置は、コンピュータによって実現してもよい。この場合には、コンピュータを上記コンテンツ取得装置及び上記コンテンツ送信装置の各手段として動作させることにより、上記コンテンツ取得装置及び上記コンテンツ送信装置をコンピュータにて実現させる制御プログラム、及びそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に入る。
 発明の詳細な説明の項においてなされた具体的な実施形態または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と次に記載する請求の範囲内で、いろいろと変更して実施することができるものである。
 本発明は、通信ネットワークを介したコンテンツの送信または受信を行う装置に利用することができる。
 1 通信システム(コンテンツ送受信システム)
11 クライアント(コンテンツ取得装置)
12 プロキシ(コンテンツ取得装置、コンテンツ送信装置)
13 サーバ(コンテンツ送信装置)
14 キャッシュ格納部
15 コンテンツ格納部
21 クライアント状況判断部(事象検出手段、開始時間特定手段)
22 リクエスト実行部(応答受信手段、要求メッセージ送信手段)
23 コンテンツ再生部(再生手段)
26 プロキシ状況判断部(送信時事象検出手段)
27 レスポンス/リクエスト実行部(付加情報生成手段、応答メッセージ生成手段、要求メッセージ送信手段)
30 サーバ状況判断部(送信時事象検出手段)
31 レスポンス実行部(付加情報生成手段、応答メッセージ生成手段)

Claims (26)

  1.  コンテンツの送信を要求する要求メッセージを送信してコンテンツを取得するコンテンツ取得装置であって、
     上記要求メッセージに対する応答として、上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを受信する応答受信手段と、
     上記応答受信手段が受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生する再生手段とを備えていることを特徴とするコンテンツ取得装置。
  2.  コンテンツの再生品質を指定する再生品質指定情報を含む要求メッセージを送信する要求メッセージ送信手段を備えていることを特徴とする請求項1に記載のコンテンツ取得装置。
  3.  予め定めた第1事象及び第2事象の少なくとも何れかを検出する事象検出手段を備え、
     上記要求メッセージ送信手段は、上記事象検出手段が上記第1事象を検出した場合に、その後送信する要求メッセージの再生品質指定情報を、上記第1事象の検出前よりも低い再生品質を指定するものに切り替え、上記事象検出手段が上記第2事象を検出した場合に、その後送信する要求メッセージの再生品質指定情報を、上記第2事象の検出前よりも高い再生品質を指定するものに切り替えることを特徴とする請求項2に記載のコンテンツ取得装置。
  4.  上記応答受信手段は、上記各フラグメントの再生開始時間を示すタイムスタンプが、各フラグメントに対応付けられた応答メッセージを受信し、
     上記事象検出手段は、上記応答メッセージに含まれるフラグメントの1つである第1フラグメントの受信開始後、その次に受信するフラグメントである第2フラグメントの受信開始までの時間tをカウントし、上記第1フラグメントに対応付けられたタイムスタンプの値と、上記第2フラグメントに対応付けられたタイムスタンプの値との差をTfrとし、予め定めたゼロ以上の閾値をTthとして、Tfr+Tth>tであった場合には上記第1事象を検出したと判断し、t<Tfr-Tthであった場合には上記第2事象を検出したと判断することを特徴とする請求項3に記載のコンテンツ取得装置。
  5.  上記要求メッセージ送信手段は、コンテンツの要求転送速度を、該コンテンツのビットレートに対する倍率で示す要求転送速度情報を含む要求メッセージを送信することを特徴とする2から4の何れか1項に記載のコンテンツ取得装置。
  6.  上記要求メッセージ送信手段は、送信する要求メッセージが、要求するコンテンツの先頭部分を含むメディアセグメントに対する要求メッセージであると判断した場合に、上記要求転送速度情報を1より大きい値とすることを特徴とする請求項5に記載のコンテンツ取得装置。
  7.  要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置であって、
     上記コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成手段と、
     上記付加情報生成手段が生成した付加情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを生成する応答メッセージ生成手段とを備えていることを特徴とするコンテンツ送信装置。
  8.  上記応答メッセージ生成手段は、複数の再生品質のそれぞれに対応する、該再生品質のコンテンツを再生するための再生情報が、当該再生品質のフラグメントに含まれている応答メッセージを生成することを特徴とする請求項7に記載のコンテンツ送信装置。
  9.  上記応答メッセージ生成手段は、上記各フラグメントの再生開始時間を示すタイムスタンプが、各フラグメントに対応付けられた応答メッセージを生成することを特徴とする請求項7または8に記載のコンテンツ送信装置。
  10.  上記付加情報生成手段は、上記メディアセグメントの上記コンテンツの全長に対する再生位置を示す情報を、上記付加情報として生成することを特徴とする請求項7から9の何れか1項に記載のコンテンツ送信装置。
  11.  上記付加情報生成手段は、自装置が送信可能なコンテンツの再生品質及び種別の少なくとも何れかを示す情報を、上記付加情報として生成することを特徴とする請求項7から10の何れか1項に記載のコンテンツ送信装置。
  12.  予め定めた第3事象及び第4事象の少なくとも何れかを検出する送信時事象検出手段を備え、
     上記応答メッセージ生成手段は、上記送信時事象検出手段が上記第3事象を検出した場合に、その後送信する応答メッセージに含まれる上記フラグメントの再生品質を、上記第3事象の検出前よりも低いものに切り替え、上記送信時事象検出手段が上記第4事象を検出した場合に、その後送信する応答メッセージに含まれる上記フラグメントの再生品質を、上記第4事象の検出前よりも高いものに切り替えることを特徴とする請求項7から11の何れか1項に記載のコンテンツ送信装置。
  13.  送信中のフラグメントに対応付けられたタイムスタンプのを値Tfrとし、該フラグメントの送信開始からカウントした経過時間をtとし、予め定めたゼロ以上の閾値をTthとして、Tfr+Tth>tであった場合には第3事象が発生したと判断し、t<Tfr-Tthであった場合には第4事象が発生したと判断する送信時事象検出手段を備え、
     上記応答メッセージ生成手段は、上記送信時事象検出手段が上記第3事象を検出した場合に、その後送信する応答メッセージに含まれる上記フラグメントの再生品質を、上記第3事象の検出前よりも低いものに切り替え、上記送信時事象検出手段が上記第4事象を検出した場合に、その後送信する応答メッセージに含まれる上記フラグメントの再生品質を、上記第4事象の検出前よりも高いものに切り替えることを特徴とする請求項9に記載のコンテンツ送信装置。
  14.  上記付加情報生成手段は、自装置が送信するコンテンツをキャッシュ格納部に格納して他の装置に伝送する中継装置に送信する応答メッセージの付加情報として、上記メディアセグメントに含まれる各フラグメントを上記キャッシュ格納部に格納しないように指示する情報、該フラグメントを上記キャッシュ格納部に格納する保持期間を指定する情報、または上記中継装置がこれ以後に受信するコンテンツ要求に対する、上記キャッシュ格納部に格納されているフラグメントの使用可否を自装置に問い合わせるように指示する情報を生成することを特徴とする請求項7から13の何れか1項に記載のコンテンツ送信装置。
  15.  上記応答メッセージ生成手段は、要求されたコンテンツがキャッシュ格納部に格納されている場合、上記コンテンツを上記キャッシュ格納部から取得し、
     要求されたコンテンツが上記キャッシュ格納部に格納されていない場合、該コンテンツを提供可能なコンテンツ提供装置に、該コンテンツの送信を要求する要求メッセージを送信する要求メッセージ送信手段を備えていることを特徴とする請求項7から14の何れか1項に記載のコンテンツ送信装置。
  16.  請求項1から6の何れか1項に記載のコンテンツ取得装置と、該コンテンツ取得装置の要求に応じてコンテンツを送信する、請求項7から15の何れか1項に記載のコンテンツ送信装置とを含むコンテンツ送受信システム。
  17.  コンテンツ取得装置から要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置が生成する応答メッセージのデータ構造であって、
     上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、
     再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、
     各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含み、
     上記応答メッセージを受信した上記コンテンツ取得装置が、上記送信形式情報から上記コンテンツをメディアセグメントとして受信したと判断して、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生することを特徴とするデータ構造。
  18.  上記応答メッセージは、上記複数のフラグメントをそれぞれ1つのパートとして含む、MIMEマルチパート形式のHTTPメッセージであることを特徴とする請求項17に記載のデータ構造。
  19.  コンテンツの送信を要求する要求メッセージを送信してコンテンツを取得するコンテンツ取得装置の制御方法であって、
     上記要求メッセージに対する応答として、上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを受信する応答受信ステップと、
     上記応答受信ステップで受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、複数の上記フラグメントを、上記品質/種別情報を参照しながら再生する再生ステップとを含むことを特徴とするコンテンツ取得装置の制御方法。
  20.  要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置の制御方法であって、
     上記コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成ステップと、
     上記付加情報生成ステップで生成した付加情報と、再生品質及び種別の少なくとも何れかが独立に設定された複数のフラグメントと、各フラグメントの再生品質及び種別の少なくとも何れかを示す品質/種別情報とを含む応答メッセージを生成する応答メッセージ生成ステップとを含むことを特徴とするコンテンツ送信装置の制御方法。
  21.  請求項1から6の何れか1項に記載のコンテンツ取得装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
  22.  請求項7から15の何れか1項に記載のコンテンツ送信装置を動作させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
  23.  請求項21または22に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
  24.  コンテンツの送信を要求する要求メッセージを送信してコンテンツを取得するコンテンツ取得装置であって、
     上記要求メッセージに対する応答として、上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、複数の上記フラグメントとを含み、該複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられた応答メッセージを受信する応答受信手段と、
     上記応答受信手段が受信した上記送信形式情報から、上記コンテンツをメディアセグメントとして受信したと判断した場合に、上記タイムスタンプを参照して、上記各フラグメントの再生開始時間を特定する開始時間特定手段とを備えていることを特徴とするコンテンツ取得装置。
  25.  要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置であって、
     上記コンテンツを、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報を上記付加情報として生成する付加情報生成手段と、
     上記付加情報生成手段が生成した付加情報と、複数の上記フラグメントとを含み、該複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられた応答メッセージを生成する応答メッセージ生成手段とを備えていることを特徴とするコンテンツ送信装置。
  26.  コンテンツ取得装置から要求されたコンテンツを、該コンテンツと、該コンテンツに関する付加情報とを含む応答メッセージで送信するコンテンツ送信装置が生成する応答メッセージのデータ構造であって、
     上記コンテンツの一部または全部を、該コンテンツを構成する複数のフラグメントの少なくとも2つを含むメディアセグメントとして送信することを示す送信形式情報と、複数の上記フラグメントとを含み、
     上記複数のフラグメントのそれぞれに、該フラグメントの再生開始時間を示すタイムスタンプが対応付けられており、
     上記応答メッセージを受信した上記コンテンツ取得装置が、上記送信形式情報から上記コンテンツをメディアセグメントとして受信したと判断した場合に、上記タイムスタンプを参照して、上記各フラグメントの再生開始時間を特定することを特徴とするデータ構造。
PCT/JP2011/066431 2010-07-20 2011-07-20 コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体 WO2012011490A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010163364 2010-07-20
JP2010-163364 2010-07-20

Publications (1)

Publication Number Publication Date
WO2012011490A1 true WO2012011490A1 (ja) 2012-01-26

Family

ID=45496909

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/066431 WO2012011490A1 (ja) 2010-07-20 2011-07-20 コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体

Country Status (1)

Country Link
WO (1) WO2012011490A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014010501A1 (ja) * 2012-07-10 2014-01-16 シャープ株式会社 再生装置、再生方法、配信装置、配信方法、配信プログラム、再生プログラム、記録媒体およびメタデータ
WO2014010445A1 (ja) * 2012-07-10 2014-01-16 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
WO2014010444A1 (ja) * 2012-07-10 2014-01-16 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
JP2014060684A (ja) * 2012-09-19 2014-04-03 Sharp Corp コンテンツ提供装置およびプログラム
WO2014141676A1 (ja) * 2013-03-12 2014-09-18 パナソニック株式会社 情報通信端末、対話提供方法
JP2015065493A (ja) * 2013-09-24 2015-04-09 日本電気株式会社 コンテンツ配信システム、コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
JP2016511954A (ja) * 2013-01-16 2016-04-21 華為技術有限公司Huawei Technologies Co.,Ltd. 適応型ストリーミングにおけるurlパラメータ挿入及び追加
EP2908535A4 (en) * 2012-10-09 2016-07-06 Sharp Kk Content transfer device, content playback device, content distribution system, method for controlling a content transfer device, method for controlling a content playback device, control program and recording medium
JP2017022769A (ja) * 2012-01-27 2017-01-26 インテル コーポレイション 改善されたマルチキャスト・コンテンツ配信のための技術

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0484587A (ja) * 1990-07-27 1992-03-17 Hitachi Ltd 蓄積型メールシステムの動画像通信方法
JP2009071668A (ja) * 2007-09-14 2009-04-02 Sharp Corp コンテンツを配信するシステム、配信装置および表示装置
JP2009081753A (ja) * 2007-09-27 2009-04-16 Hitachi Ltd 無線通信システム、送信機及び受信機

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0484587A (ja) * 1990-07-27 1992-03-17 Hitachi Ltd 蓄積型メールシステムの動画像通信方法
JP2009071668A (ja) * 2007-09-14 2009-04-02 Sharp Corp コンテンツを配信するシステム、配信装置および表示装置
JP2009081753A (ja) * 2007-09-27 2009-04-16 Hitachi Ltd 無線通信システム、送信機及び受信機

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017022769A (ja) * 2012-01-27 2017-01-26 インテル コーポレイション 改善されたマルチキャスト・コンテンツ配信のための技術
JPWO2014010445A1 (ja) * 2012-07-10 2016-06-23 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
WO2014010444A1 (ja) * 2012-07-10 2014-01-16 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
WO2014010501A1 (ja) * 2012-07-10 2014-01-16 シャープ株式会社 再生装置、再生方法、配信装置、配信方法、配信プログラム、再生プログラム、記録媒体およびメタデータ
CN104429090A (zh) * 2012-07-10 2015-03-18 夏普株式会社 内容发送装置、内容再生装置、内容分发***、内容发送装置的控制方法、内容再生装置的控制方法、数据结构、控制程序以及记录介质
CN104471947A (zh) * 2012-07-10 2015-03-25 夏普株式会社 内容发送装置、内容再现装置、内容发布***、内容发送装置的控制方法、内容再现装置的控制方法、数据结构、控制程序以及记录介质
JPWO2014010501A1 (ja) * 2012-07-10 2016-06-23 シャープ株式会社 再生装置、再生方法、配信装置、配信方法、配信プログラム、再生プログラム、記録媒体およびメタデータ
WO2014010445A1 (ja) * 2012-07-10 2014-01-16 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
JP2014060684A (ja) * 2012-09-19 2014-04-03 Sharp Corp コンテンツ提供装置およびプログラム
US9641906B2 (en) 2012-10-09 2017-05-02 Sharp Kabushiki Kaisha Content transmission device, content playback device, content distribution system, method for controlling content transmission device, method for controlling content playback device, control program, and recording medium
EP2908535A4 (en) * 2012-10-09 2016-07-06 Sharp Kk Content transfer device, content playback device, content distribution system, method for controlling a content transfer device, method for controlling a content playback device, control program and recording medium
US10148714B2 (en) 2013-01-16 2018-12-04 Futurewei Technologies, Inc. URL parameter insertion and addition in adaptive streaming
JP2016511954A (ja) * 2013-01-16 2016-04-21 華為技術有限公司Huawei Technologies Co.,Ltd. 適応型ストリーミングにおけるurlパラメータ挿入及び追加
US9749375B2 (en) 2013-01-16 2017-08-29 Futurewei Technologies, Inc. URL parameter insertion and addition in adaptive streaming
WO2014141676A1 (ja) * 2013-03-12 2014-09-18 パナソニック株式会社 情報通信端末、対話提供方法
US9405504B2 (en) 2013-03-12 2016-08-02 Panasonic Intellectual Property Management Co., Ltd. Information communication terminal and dialogue presentation method
JP2015065493A (ja) * 2013-09-24 2015-04-09 日本電気株式会社 コンテンツ配信システム、コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム

Similar Documents

Publication Publication Date Title
WO2012011490A1 (ja) コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体
KR101737325B1 (ko) 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
CN102232298B (zh) 媒体内容的传输处理方法、装置与***
US10326811B2 (en) Communication apparatus, communication data generation method, and communication data processing method
US20140137168A1 (en) Transmitting apparatus, control method for transmitting apparatus, control program, and recording medium
US20020161898A1 (en) Streaming of data
WO2012011449A1 (ja) プロキシサーバ、中継方法、通信システム、中継制御プログラム、および記録媒体
US11284135B2 (en) Communication apparatus, communication data generation method, and communication data processing method
TW200820777A (en) System and method of audio/video streaming
CN103329521A (zh) 用于暂停视频流传送内容的方法、设备和计算机程序产品
US10645463B2 (en) Efficient multicast ABR reception
US9866602B2 (en) Adaptive bit rates during broadcast transmission in distributed content delivery networks
WO2015107784A1 (ja) 通信装置、通信データ生成方法、および通信データ処理方法
KR101718127B1 (ko) 상황 인지 스트리밍 서비스를 위한 콘텐츠 패키징 시스템 및 스트리밍 방법
JP4526294B2 (ja) ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム
WO2014110670A1 (en) Media server
WO2012011466A1 (ja) 中継装置、中継方法、通信システム、中継制御プログラム、および記録媒体
US10298975B2 (en) Communication apparatus, communication data generation method, and communication data processing method
US11997366B2 (en) Method and apparatus for processing adaptive multi-view streaming
US20240223832A1 (en) Video stream bitrate adjustment method and apparatus, computer device, and storage medium

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11809660

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP