WO2010087113A1 - 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置 - Google Patents

配信システム、配信方法、サーバ装置、プログラム及びクライアント装置 Download PDF

Info

Publication number
WO2010087113A1
WO2010087113A1 PCT/JP2010/000158 JP2010000158W WO2010087113A1 WO 2010087113 A1 WO2010087113 A1 WO 2010087113A1 JP 2010000158 W JP2010000158 W JP 2010000158W WO 2010087113 A1 WO2010087113 A1 WO 2010087113A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit rate
correction amount
time
target value
content data
Prior art date
Application number
PCT/JP2010/000158
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=42395379&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2010087113(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US13/145,083 priority Critical patent/US8909809B2/en
Priority to JP2010548388A priority patent/JP5494495B2/ja
Priority to EP10735585.1A priority patent/EP2393294B1/en
Publication of WO2010087113A1 publication Critical patent/WO2010087113A1/ja
Priority to US14/306,438 priority patent/US9319739B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate

Definitions

  • the present invention relates to a distribution system including a server device that transmits content data and a client device that reproduces content represented by the received content data.
  • a distribution system including a server device and a client device configured to communicate with each other is known.
  • the server device is configured to be able to transmit content data obtained by encoding one content at any one of a plurality of different bit rates to the client device.
  • the client device while receiving the content data transmitted by the server device, stores the received data of the content data in the storage device and reproduces the content based on the stored data.
  • the distribution system described in Patent Document 1 is a time during which content can be reproduced based on a portion of data stored in a storage device of a client device that has not yet been reproduced.
  • the bit rate of the content data transmitted by the server device is changed so that the remaining reproduction time approaches the target value.
  • the remaining reproduction time can be maintained in an appropriate range. Therefore, it is possible to prevent the content reproduction on the client device from being interrupted due to the remaining reproduction time being too short. Further, since the remaining reproduction time becomes excessive, it is possible to prevent the amount of data stored in the storage device of the client apparatus from becoming excessive.
  • an object of the present invention is to provide a distribution system capable of solving the above-mentioned problem “when the remaining reproduction time is maintained in an appropriate range, the user experience quality is excessively lowered”. It is to provide.
  • a distribution system is a system including a server device and a client device configured to be able to communicate with each other.
  • the server device is configured to be able to transmit content data obtained by encoding one content at any one of a plurality of different bit rates to the client device, While receiving the content data transmitted from the server device, the client device stores the received data of the content data in a storage device and reproduces the content based on the stored data. Configured as follows.
  • the distribution system Residual playback time acquisition means for acquiring a residual playback time that is a time during which the content can be played back based on a portion of the data stored in the storage device of the client device that has not been played back; Based on the acquired remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data transmitted by the server device so that the remaining reproduction time approaches the target value According to a predetermined correction amount calculation method, bit rate changing means for changing the bit rate based on the calculated correction amount, Is provided.
  • the bit rate changing means includes When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • a distribution method includes a server device configured to be able to transmit content data obtained by encoding one content at any one of a plurality of different bit rates, The method is applied to a distribution system including a client device configured to be communicable with the server device.
  • the server device transmits the content data to the client device, While receiving the content data transmitted by the server device, the client device stores the received data of the content data in a storage device and reproduces the content based on the stored data. , Obtaining a remaining playback time that is a time during which the content can be played back based on a portion of the data stored in the storage device of the client device that has not been played back; When the bit rate is not within a predetermined correction amount reduction range, the server device is configured to bring the remaining reproduction time closer to the target value based on the acquired remaining reproduction time and a preset target value.
  • a correction amount for correcting the bit rate of the content data to be transmitted is calculated according to a predetermined correction amount calculation method, and when the bit rate is within the correction amount reduction range, the acquired remaining reproduction time and Based on the target value, a correction amount for correcting the bit rate of the content data transmitted by the server device so that the remaining reproduction time approaches the target value, and is calculated according to the correction amount calculation method. Calculate a correction amount that is smaller than the correction amount In this method, the bit rate of the content data transmitted by the server device is changed based on the calculated correction amount.
  • a server device is a device configured to be able to communicate with a client device.
  • this server device Content data obtained by encoding one content at any one of a plurality of different bit rates can be transmitted to the client device, It is a time during which the content can be reproduced based on a portion of the data stored in the storage device that stores the data received by the client device of the content data that has not yet been reproduced by the client device.
  • a residual playback time receiving means for receiving the residual playback time from the client device; Based on the received remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data to be transmitted to the client device so that the remaining reproduction time approaches the target value
  • bit rate changing means for changing the bit rate based on the calculated correction amount, Is provided.
  • the bit rate changing means includes When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • the program which is the other form of this invention is: A server device configured to be communicable with a client device and configured to transmit content data obtained by encoding one content at an arbitrary one of a plurality of different bit rates to the client device , It is a time during which the content can be reproduced based on a portion of the data stored in the storage device that stores the data received by the client device of the content data that has not yet been reproduced by the client device.
  • a residual playback time receiving means for receiving the residual playback time from the client device; Based on the received remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data to be transmitted to the client device so that the remaining reproduction time approaches the target value According to a predetermined correction amount calculation method, bit rate changing means for changing the bit rate based on the calculated correction amount, It is a program for realizing.
  • the bit rate changing means includes When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • the client device communicates with a server device configured to be able to transmit content data obtained by encoding one content at an arbitrary one of a plurality of different bit rates. It is a device that can be configured.
  • this client device While receiving the content data transmitted by the server device, the received data of the content data is stored in a storage device and the content is reproduced based on the stored data, Residual playback time acquisition means for acquiring a residual playback time that is a time during which the content can be played back based on a portion of the data stored in the storage device that has not been played back; Based on the acquired remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data transmitted by the server device so that the remaining reproduction time approaches the target value A bit rate change request transmitting means for transmitting a bit rate change request for changing the bit rate to the server device based on the calculated correction amount, Is provided.
  • bit rate change request transmission means includes: When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • the program which is the other form of this invention is: It is configured to be communicable with a server device configured to be able to transmit content data obtained by encoding one content at any one of a plurality of different bit rates, and transmitted by the server device.
  • Residual playback time acquisition means for acquiring a residual playback time that is a time during which the content can be played back based on a portion of the data stored in the storage device that has not been played back; Based on the acquired remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data transmitted by the server device so that the remaining reproduction time approaches the target value
  • a bit rate change request transmitting means for transmitting a bit rate change request for changing the bit rate to the server device based on the calculated correction amount, It is a program for realizing.
  • bit rate change request transmission means includes: When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • the present invention is configured as described above, and can prevent the user experience quality from being excessively lowered while maintaining the remaining reproduction time within an appropriate range.
  • FIG. 1 It is a figure showing the schematic structure of the delivery system which concerns on 1st Embodiment of this invention. It is a block diagram showing the outline of the function of the delivery system which concerns on 1st Embodiment of this invention. It is explanatory drawing which showed notionally the relationship between four time constants, residual reproduction time, the target value of residual reproduction time, and the time change rate of a media flow rate. It is explanatory drawing which showed notionally the relationship between the time constant, the residual reproduction time, the target value of residual reproduction time, and the time change rate of a media flow rate. It is the flowchart which showed the receiving side information transmission program which CPU of the client apparatus which concerns on 1st Embodiment of this invention performs.
  • the distribution system 1 includes a server device 10 and a client device 20.
  • the server device 10 and the client device 20 are communicably connected to each other via a communication line (for example, the Internet) NW.
  • NW a communication line
  • the server apparatus 10 includes a central processing unit (CPU; Central Processing Unit) and a storage device (memory and hard disk drive (HDD)) (not shown).
  • the server device 10 is configured to realize functions to be described later when the CPU executes a program stored in the storage device.
  • the client device 20 is a personal computer.
  • the client device 20 may be a mobile phone device, a car navigation device, a television receiver, a set top box, a game machine, or the like.
  • the client device 20 includes a central processing unit (CPU), a storage device (memory), an input device (for example, a keyboard and a mouse) and an output device (for example, a display and a speaker) that are not shown.
  • the client device 20 is configured to realize functions to be described later when the CPU executes a program stored in the storage device.
  • FIG. 2 is a block diagram showing functions of the distribution system 1 configured as described above.
  • the functions of the server device 10 are a content data storage unit 11, a content transmission unit 12, a correction amount reduction range determination unit (part of a bit rate changing unit, a remaining reproduction time reception unit, a reception speed reception unit, a reproduction speed reception unit). ) 13 and a bit rate correction unit (a part of the bit rate changing means) 14.
  • the content data storage unit 11 is realized by a storage device of the server device 10.
  • the content transmission unit 12, the correction amount reduction range determination unit 13, and the bit rate correction unit 14 are executed by the CPU of the server device 10 executing a program or the like represented by the flowchart illustrated in FIG. Realized.
  • the functions of the client device 20 are a content reception unit 21, a content buffer unit 22, a content reproduction unit 23, a reception speed acquisition unit (reception speed acquisition means) 24, and a remaining reproduction time acquisition unit (remaining reproduction time acquisition). Means) 25 and a reproduction speed acquisition unit (reproduction speed acquisition means) 26. These functions are realized when the CPU of the client device 20 executes a program or the like represented by the flowchart shown in FIG.
  • the content data storage unit 11 of the server device 10 stores (accumulates) in advance content data obtained by encoding one content (for example, information representing video or audio) at each of a plurality of different bit rates.
  • the bit rate represents the size of data necessary for reproducing the content at a constant speed (reproduction at 1 ⁇ speed) for a unit time.
  • the content transmission unit 12 of the server device 10 transmits the content data stored in the content data storage unit 11 to the client device 20.
  • the content transmission unit 12 receives a content transmission request from the client device 20 and transmits content data specified by the received content transmission request to the client device 20.
  • the content transmission unit 12 may be configured to generate content data encoded at a bit rate different from the content data based on the content data stored in the content data storage unit 11.
  • the server device 10 is configured to be able to transmit to the client device 20 content data obtained by encoding one content at an arbitrary one of a plurality of different bit rates.
  • the content receiver 21 of the client device 20 receives the content data transmitted by the server device 10.
  • the content buffer unit 22 of the client device 20 stores the received data among the content data in the storage device while the content data is received by the content receiving unit 21.
  • the content reproduction unit 23 of the client device 20 reproduces the content based on the data stored in the storage device (outputs it via the output device).
  • the content playback unit 23 includes a function of changing a playback speed, which is a speed at which content is played in accordance with an instruction from the user.
  • the client device 20 while receiving the content data transmitted from the server device 10, the client device 20 stores the received data of the content data in the storage device and reproduces the content based on the stored data. (That is, streaming playback is performed).
  • reception speed acquisition unit 24 of the client device 20 acquires a reception speed that is the size (data amount or data size) of content data received per unit time by the content reception unit 21.
  • the reception speed acquisition unit 24 acquires an instantaneous reception speed that is a value obtained by dividing the data size of content data received within a predetermined measurement time by the measurement time, and is acquired at a plurality of different time points. A value obtained by averaging the instantaneous reception speed is obtained as the reception speed.
  • the reception speed acquisition unit 24 may be configured to acquire the instantaneous reception speed acquired at a certain time as the reception speed.
  • the reception speed acquisition unit 24 may be configured to acquire the reception speed based on the instantaneous reception speed acquired at a plurality of different time points and a filter (for example, a Kalman filter or the like).
  • reception speed acquisition unit 24 transmits the acquired reception speed to the server device 10 as a part of the reception side information.
  • the remaining playback time acquisition unit 25 of the client device 20 can play back the content by the content playback unit 23 based on the portion of the data stored in the storage device that has not been played (unplayed data). To get the remaining playback time.
  • the remaining reproduction time acquisition unit 25 acquires a value obtained by dividing the size of the unreproduced data by the bit rate of the unreproduced data as the remaining reproduction time. For example, when the size of unreproduced data is 1 [MB] (hereinafter, the unit of physical quantity is enclosed by []) and the bit rate of the unreproduced data is 1 [Mbps] The remaining reproduction time is 8 [seconds]. When the size of unreproduced data is 1 [MB] and the bit rate of the unreproduced data is 2 [Mbps], the remaining reproduction time is 4 [seconds].
  • the remaining playback time acquisition unit 25 transmits the acquired remaining playback time to the server device 10 as part of the receiving side information.
  • the playback speed acquisition unit 26 of the client device 20 acquires a playback speed that is the speed at which the content is played back by the content playback unit 23. Furthermore, the playback speed acquisition unit 26 transmits the playback speed magnification, which is a value obtained by dividing the acquired playback speed by the playback speed corresponding to the constant speed playback, to the server device 10 as part of the reception side information.
  • the playback speed magnification is 1 when the content is played back at a constant speed, and is 2 when the content is played back at a playback speed that is twice that of the constant speed playback (double speed).
  • double speed the playback speed magnification
  • the correction amount reduction range determination unit 13 of the server device 10 receives the receiving side information from the client device 20.
  • the reception side information is information including the reception speed, the remaining reproduction time, and the reproduction speed magnification.
  • the correction amount reduction range determination unit 13 determines an upper limit value and a lower limit value of the correction amount reduction range based on the received reception side information and a preset target value for the remaining reproduction time. The derivation of the formula and the meaning of each variable will be described later.
  • the correction amount reduction range determination unit 13 calculates a remaining reproduction time difference e p [second] based on the following equation (1).
  • e p T r ⁇ T p (1)
  • T r is a preset target value of the remaining playback time
  • T p is the remaining playback time included in the received reception-side information (that is, the current remaining playback acquired by the client device 20). Time).
  • the correction amount reducing range determining unit 13 and the remaining reproduction time difference e p which is the calculated, based formula (2) to Formula (5), the time rate of change of the remaining reproduction time (time differential value) ⁇ x max and ⁇ x min are calculated.
  • ⁇ x max e p / ⁇ min , + ( when e p ⁇ 0) ... (2 )
  • ⁇ x max e p / ⁇ max, ⁇ (when e p ⁇ 0) (3)
  • ⁇ x min e p / ⁇ max, + (when e p ⁇ 0) (4)
  • ⁇ x min e p / ⁇ min, ⁇ (when e p ⁇ 0) (5)
  • ⁇ min, + is a first shortage time constant (first shortage delay time)
  • ⁇ max, + is a second shortage time constant (second shortage delay time)
  • ⁇ min, ⁇ is a first surplus time constant (first surplus time delay time)
  • ⁇ max, ⁇ is a second surplus time constant (second surplus time delay time). It is.
  • the first short time constant ⁇ min, + , the second short time constant ⁇ max, + , the first surplus time constant ⁇ min, ⁇ and the second surplus time constant ⁇ max, ⁇ It is stored in advance in the storage device of the device 10.
  • the second shortage time constant ⁇ max, + is longer than the first shortage time constant ⁇ min , + .
  • the first surplus time constant ⁇ min, ⁇ is longer than the first short time constant ⁇ min, + .
  • the second surplus time constant ⁇ max, ⁇ is longer than the first surplus time constant ⁇ min, ⁇ and longer than the second surplus time constant ⁇ max, + .
  • the correction amount reduction range determination unit 13 calculates the media flow rates x max and x min based on the calculated time change rates ⁇ x max and ⁇ x min and the following formulas (6) and (7). To do.
  • the media flow speeds x max and x min represent time during which content can be reproduced based on content data received by the client device 20 per unit time, as will be described later.
  • x max p + ⁇ x max (6)
  • x min p + ⁇ x min (7)
  • p is a reproduction speed magnification (that is, a reproduction speed magnification according to the current reproduction speed acquired by the client device 20) included in the received reception side information.
  • the correction amount reduction range determination unit 13 determines the upper limit value b max of the correction amount reduction range based on the calculated media flow velocity x max , x min and the following equations (8) and (9).
  • a lower limit b min of the correction amount reduction range is calculated.
  • b max v / x min (8)
  • b min v / x max (9)
  • v is a reception speed (that is, a current reception speed acquired by the client device 20) included in the received reception side information.
  • the correction amount reduction range determination unit 13 includes the reproduction speed acquired by the reproduction speed acquisition unit 26 (the reproduction speed magnification corresponding thereto), the reception speed acquired by the reception speed acquisition unit 24, and the remaining reproduction time.
  • the correction amount reduction range is determined based on the remaining reproduction time acquired by the acquisition unit 25 and the target value. According to this, the correction amount reduction range can be set appropriately.
  • the correction amount reduction range determination unit 13 sets the remaining reproduction time T p to the target value after the first delay time (first short time constant ⁇ min, + or first surplus time constant ⁇ min, ⁇ ). A first bit rate that matches Tr , and a second delay time longer than the first delay time (second insufficient time constant ⁇ max, + or second surplus time constant ⁇ max, ⁇ ) Later, a second bit rate is calculated that causes the remaining reproduction time T p to coincide with the target value T r . Further, the correction amount reduction range determination unit 13 determines the larger one of the calculated first bit rate and second bit rate as the upper limit value b max of the correction amount reduction range, and the first bit rate. The smaller one of the second bit rates is determined as the lower limit b min of the correction amount reduction range.
  • the correction amount reduction range determination unit 13 is configured to narrow the correction amount reduction range as the acquired remaining reproduction time T p approaches the target value Tr . According to this, it is possible to reliably converged by remaining reproduction time T p the target value T r.
  • v (t) [bps] be the reception speed that is the size of the content data that the client device 20 receives per unit time at a certain time t [seconds]. Further, the bit rate of the content data received by the client device 20 at time t is set to b (t) [bps].
  • bit rate is high (high quality when the content is a video) and the content data has a low media density, while the bit rate is low (low quality when the content is a video).
  • Content data has a high media density.
  • the left side dT / dt of the above formula (12) is set as x, and this x is called a media flow velocity. Next, the meaning of the media flow rate will be described.
  • the media flow rate is a dimensionless amount representing a time during which content can be reproduced based on content data received by the client device 20 per unit time.
  • the time during which the client device 20 can play back the content at the playback speed corresponding to the playback speed magnification p is: It becomes equal to the unit time. Therefore, the remaining reproduction time does not change.
  • the client device 20 can reproduce the content at the reproduction speed corresponding to the reproduction speed magnification p based on the content data received by the client device 20 per unit time. The time is longer than the unit time. Therefore, the remaining reproduction time increases.
  • the client device 20 can reproduce the content at a reproduction speed corresponding to the reproduction speed magnification p based on the content data received by the client device 20 per unit time.
  • the time is shorter than the unit time. Therefore, the remaining reproduction time is reduced.
  • the media flow rate is a physical quantity that dominates the remaining reproduction time.
  • the remaining reproduction time is T p [seconds] at a certain time t
  • the remaining reproduction time T p is set to the target value T r [second] after the delay time ⁇ [seconds].
  • the above equation (15) corresponds to the above equations (6) and (7) by setting the right side e p / ⁇ of the above equation (15) as the time change rate ⁇ x of the remaining reproduction time.
  • setting e p / ⁇ to ⁇ x corresponds to the above equations (2) to (5).
  • bit rate b [bps] satisfying (realizing) the media flow velocity x is calculated based on the following equation (18).
  • v [bps] is the size (reception speed) of the content data that the client device 20 receives per unit time.
  • the following formula (18) is derived from the above formula (10) and formula (12). Further, the following formula (18) corresponds to the above formula (8) and formula (9).
  • b v / x (18)
  • the distribution system is configured to change the bit rate of the content data transmitted by the server device 10 to the bit rate calculated by the above equations (15) and (18), the remaining reproduction time Can be made closer to the target value.
  • the distribution system 1 determines the correction amount reduction range based on the above equations (2) to (9) based on the equations (15) and (18). Furthermore, the distribution system 1 changes the bit rate of the content data to be transmitted thereafter only when the bit rate of the content data currently transmitted by the server device 10 is outside the correction amount reduction range. In this way, the distribution system 1 can suppress excessive fluctuations in the bit rate by not changing the bit rate when the current bit rate is within the correction amount reduction range.
  • remaining reproduction time difference e p is positive (i.e., less than the remaining reproduction time T p is the target value T r) if the time constant ⁇ increases, the bit rate b Will grow.
  • remaining reproduction time difference e p is negative (i.e., greater than the remaining reproduction time T p is the target value T r) if the time constant ⁇ increases, the bit rate b is small.
  • the distribution system 1 sets the time constant so that the remaining reproduction time matches the target value earlier when the remaining reproduction time is larger than the target value when the remaining reproduction time is smaller than the target value. is doing. Specifically, as described above, the distribution system 1 sets the second shortage time constant ⁇ max, + to be larger than the second surplus time constant ⁇ max, ⁇ (second shortage time delay time). ⁇ max, + is set to a value longer than the second delay time ⁇ max, ⁇ .
  • the server device 10 has a range from the first shortage time constant ⁇ min, + to the second shortage time constant ⁇ max, + , or the first surplus time constant ⁇ min,
  • the bit rate of the content data transmitted by the server device 10 is set so that the remaining reproduction time T p matches the target value T r after a time in the range from ⁇ to the second surplus time constant ⁇ max, ⁇ .
  • a correction amount for correction is calculated.
  • the server device 10 sets the remaining reproduction time T p to the target value T earlier when the remaining reproduction time T p is smaller than the target value T r when the remaining reproduction time T p is larger than the target value T r.
  • the correction amount is calculated so as to match r .
  • the correction amount reducing range determining unit 13 when the remaining reproduction time T p is less than the target value T r, the first insufficiency delay time tau min, the target value remaining reproduction time T p after + T r Is calculated as the first bit rate. Further, in this case, the correction amount reduction range determination unit 13 sets the remaining reproduction time T p to the target value T after the second short delay time ⁇ max, + longer than the first short delay time ⁇ min, +. The bit rate that matches r is calculated as the second bit rate.
  • the correction amount reduction range determination unit 13 sets the larger one of the calculated first bit rate and second bit rate (here, the first bit rate) as the upper limit value b max of the correction amount reduction range. Further, the smaller one of the first bit rate and the second bit rate (here, the second bit rate) is determined as the lower limit value b min of the correction amount reduction range.
  • the correction amount reduction range determination unit 13 matches the remaining reproduction time T p with the target value T r after the first surplus delay time ⁇ min, ⁇ .
  • the bit rate to be calculated is calculated as the first bit rate.
  • the correction amount reduction range determination unit 13 sets the second surplus time longer than the first surplus delay time ⁇ min, ⁇ and longer than the second deficiency delay time ⁇ max, +.
  • a bit rate for causing the remaining reproduction time T p to coincide with the target value T r after the delay time ⁇ max, ⁇ is calculated as the second bit rate.
  • the correction amount reduction range determination unit 13 sets the larger one of the calculated first bit rate and second bit rate (here, the second bit rate) as the upper limit value b max of the correction amount reduction range. Further, the smaller one of the first bit rate and the second bit rate (here, the first bit rate) is determined as the lower limit value b min of the correction amount reduction range.
  • the bit rate correction unit 14 uses the content transmission unit 12 based on the upper limit value b max of the correction amount reduction range determined by the correction amount reduction range determination unit 13 and the lower limit value b min of the correction amount reduction range. A correction amount for correcting the bit rate of the content data to be transmitted is calculated.
  • bit rate correcting section 14 calculates a bit rate difference e b based on the following equation (19) to (21).
  • e b b max ⁇ b (when b> b max ) (19)
  • e b 0 (when b min ⁇ b ⁇ b max ) (20)
  • e b b min ⁇ b (when b ⁇ b min ) (21)
  • bit rate correction section 14 when the bit rate b of the content data being transmitted by the content transmission unit 12 at the present time is smaller than the lower limit value b min, reduce the bit rate b from the lower limit value b min
  • the bit rate correction unit 14 sets the bit rate difference eb to “0” when the bit rate b is not less than the lower limit value b min and not more than the upper limit value b max (that is, the bit rate is set). to calculate the "0" as the difference between e b).
  • the bit rate difference e b is set to "0" corresponds to the correction amount of the bit rate is set to "0". That is, it can be said that the bit rate correction unit 14 sets the correction amount to 0 when the bit rate is within the correction amount reduction range.
  • bit rate correcting section 14 calculates a bit rate difference e b calculated above, the following equation (22), the correction amount calculating basal value ⁇ b based on.
  • ⁇ b K p ⁇ e b (22)
  • Kp is a proportional gain (proportional coefficient).
  • the bit rate correction section 14, a correction amount calculating basal value [Delta] b, had been calculated as the only of values proportional term K p ⁇ e b in proportion to the bit rate difference e b, and the proportional term , the integral term is proportional to the time integral value of the bit rate difference e b, and / or, a derivative term which is proportional to the time derivative of the bit rate difference e b, or may be configured to calculate the sum of.
  • the bit rate correction unit 14 calculates the correction amount calculation basic value ⁇ b based on the following equation (23).
  • K i is an integral gain
  • K d is a differential gain.
  • ⁇ b K p ⁇ e b + K i ⁇ e b dt + K d (de b / dt) (23)
  • bit rate correction unit 14 calculates the bit rate b ′ of content data to be transmitted later by the server device 10 based on the calculated correction amount calculation basic value ⁇ b and the following equation (24).
  • b ′ b + w ⁇ ⁇ b (24)
  • w w ( ⁇ b) (25)
  • the correction amount calculation basic value ⁇ b when the correction amount calculation basic value ⁇ b is a negative value (that is, when the bit rate of the content data transmitted by the server device 10 is reduced thereafter), the correction amount calculation basic value ⁇ b is a positive value. This is a function having a positive value larger than that in the case where the bit rate of the content data transmitted by the server device 10 is increased thereafter.
  • the bit rate correction unit 14 uses a value obtained by halving the calculated correction amount calculation basic value ⁇ b as a correction amount.
  • the calculated correction amount calculation basic value ⁇ b is used as the correction amount as it is. The reason for adopting such a function w will be described.
  • the correction amount calculation basic value ⁇ b is a negative value
  • the function w is set to have a value of 1 or less, it is possible to avoid a decrease in the stability of the feedback control.
  • the function w is a function having two different values depending on whether the correction amount calculation basic value ⁇ b is positive or negative.
  • the function w may be an arbitrary function.
  • the bit rate correction unit 14 sets the value e b by subtracting the bit rate b from the upper limit value b max.
  • bit rate correction amount based on the above formulas (1) to (9), (19), (21), (22), and (24) to (27).
  • the method for calculating is also referred to as a correction amount calculation method.
  • the correction amount reduction range determination unit 13 and the bit rate correction unit 14 set the remaining reproduction time T p to the target value T based on the acquired remaining reproduction time T p and the preset target value Tr.
  • a correction amount for correcting the bit rate of the content data transmitted by the server device 10 so as to approach r is calculated according to the correction amount calculation method based on the equations (19) and (21), and the calculated correction amount The bit rate is changed based on this.
  • the correction amount reducing range determining unit 13 and the bit rate correction section 14 if the bit rate is within the correction amount reduction range, by setting the bit rate difference e b to "0" according to equation (20), corrected “0” is calculated as the quantity. That is, the correction amount reducing range determining unit 13 and the bit rate correction section 14, if the bit rate is within the correction amount reduction range, when calculating the bit rate difference e b according to the above formula (19) or (21) In other words, a correction amount that is smaller than the calculated correction amount is calculated (in accordance with the correction amount calculation method).
  • the client device 20 transmits a content transmission request including information for specifying content data to the server device 10 in accordance with an instruction from the user.
  • the server device 10 transmits content data specified by the content transmission request to the client device 20 (content data transmission step).
  • the client device 20 stores the received data of the content data in the storage device and reproduces the content based on the stored data. (Content reproduction process).
  • the CPU of the client device 20 is configured to execute the reception side information transmission program shown by the flowchart in FIG.
  • the CPU stands by in step 505 until a predetermined correction period elapses.
  • the CPU determines “Yes” and proceeds to step 510 to acquire the remaining reproduction time (residual reproduction time acquisition step).
  • the CPU acquires the reception speed (step 515, reception speed acquisition process), and subsequently acquires the reproduction speed (step 520, reproduction speed acquisition process). Then, the CPU transmits to the server device 10 the receiving side information including the acquired remaining reproduction time T p , the acquired reception speed v, and the reproduction speed magnification p corresponding to the acquired reproduction speed (step 525). Thereafter, the CPU returns to step 505, and repeatedly executes the processing of step 505 to step 525.
  • the CPU of the server device 10 is configured to execute the bit rate correction program shown by the flowchart in FIG. Note that the processing of this bit rate correction program corresponds to the bit rate changing step.
  • the CPU waits until reception side information is received from the client device 20 at step 605.
  • the CPU determines “Yes” and proceeds to step 610.
  • the CPU executes the correction amount reduction range determination program shown in the flowchart of FIG. 7 in order to determine the correction amount reduction range.
  • CPU calculates the remaining reproduction time T p received, and the target value T r that is set in advance, based on the remaining reproduction time difference e p.
  • the CPU calculates the time change rates ⁇ x max and ⁇ x min of the calculated remaining reproduction time. Then, based on the reproduction speed magnification p included in the received receiving side information, media flow rates x max and x min are calculated (step 715).
  • the CPU calculates the upper limit b max of the correction amount reduction range and the correction amount reduction range based on the calculated media flow speeds x max and x min and the reception speed v included in the received reception side information. Is calculated (step 720). Then, the CPU ends the execution of the correction amount reduction range determination program and proceeds to step 615 in FIG.
  • step 805 the CPU calculates the bit rate difference e b based on the bit rate b of the content data currently transmitted and the calculated upper limit value b max and lower limit value b min. Calculate (step 805).
  • CPU calculates the correction amount calculating basal value ⁇ b based on the bit rate difference e b that is the calculated (step 810).
  • the CPU based on the bit rate b of the content data currently transmitted and the correction amount calculation basic value ⁇ b calculated above, the bit rate b of the content data transmitted by the server device 10 thereafter. 'Is calculated (step 815).
  • the CPU ends the execution of the correction amount calculation program and proceeds to step 620 in FIG. Then, the CPU selects the maximum bit rate from among the bit rates of the content data stored in the content data storage unit 11 among the bit rates smaller than the bit rate b ′ calculated in step 815. select. Then, the CPU changes the bit rate of the content data transmitted to the client device 20 to the selected bit rate.
  • step 605 the CPU returns to step 605 and repeats the processing from step 605 to step 620.
  • FIG. 9 shows the bit rate (video bit rate) [kbps] (left axis) of video data when video data (content data) representing video is distributed according to TCP (Transmission Control Protocol) using the distribution system 1. It is the graph which showed the time change (one-dot chain line C2) of time change (dotted line C1) and residual reproduction time [second] (right axis). This graph is a simulation result when assuming a time change (solid line C3) of the communication speed (TCP usable bandwidth) [kbps] (left axis) shown in FIG.
  • TCP Transmission Control Protocol
  • FIG. 10 shows a time change (dotted line C4) of the bit rate [kbps] (left axis) of content data when content data is distributed according to TCP using the distribution system described in Patent Document 1.
  • FIG. 6 is a graph showing a time change (one-dot chain line C5) of the remaining reproduction time [seconds] (right axis). This graph is also a simulation result when the time change (solid line C3) of the communication speed [kbps] (left axis) shown in FIG. 10 is assumed.
  • the distribution system described in Patent Document 1 is a system that calculates an amount proportional to the difference between the remaining reproduction time and the target value as a correction amount for correcting the bit rate.
  • the distribution system 1 and the distribution system described in Patent Document 1 are 128 [kbps], 256 [kbps], 384 [kbps], 768 [kbps], and 1024 as a plurality of different bit rates. It is assumed that content data encoded in each of [kbps], 1536 [kbps], and 2048 [kbps] is stored in advance and can be transmitted.
  • the distribution system 1 and the distribution system described in Patent Document 1 are configured to correct the bit rate of the content data to be distributed every 1 [second]. Furthermore, in the simulation, the distribution system 1 and the distribution system described in Patent Document 1 calculate the bit rate of the content data to be distributed by calculating the corrected bit rate out of the seven transmittable bit rates. It is assumed that the bit rate is smaller and the maximum bit rate is changed.
  • the number of bit rate switching when the distribution system 1 is used is 12 [times], and the distribution system described in Patent Document 1 is used.
  • the bit rate switching frequency is 311 [times]. That is, the number of bit rate switching times when the distribution system 1 is used is extremely smaller than when the distribution system described in Patent Document 1 is used.
  • the average bit rate when using the distribution system 1 is 838.1 [kbps].
  • the average bit rate when the distribution system is used is 836.3 [kbps]. That is, the average bit rate when the distribution system 1 is used is approximately equal to the average bit rate when the distribution system described in Patent Document 1 is used.
  • the remaining reproduction time when using the distribution system 1 fluctuates relatively greatly. However, the remaining reproduction time does not become excessively short. Accordingly, interruption of content reproduction is avoided.
  • the distribution system 1 corrects the bit rate so that the residual playback time matches the target value quickly when the residual playback time falls below the target value of 30 [seconds], while the residual playback time. This is because the correction amount is calculated so as to further suppress the fluctuation of the bit rate when the value exceeds the target value of 30 [seconds].
  • the remaining playback time when the distribution system described in Patent Document 1 is used is always in the vicinity of the target value of 30 [seconds].
  • the fact that the remaining reproduction time is close to the target value does not affect the user experience quality. Therefore, as in the present invention, it is preferable to improve the user experience quality by reducing the number of times of bit rate switching within a range in which content reproduction is not interrupted.
  • the first embodiment of the distribution system of the present invention it is possible to reduce the amount of fluctuation of the bit rate. More specifically, in the first embodiment, when the bit rate is within the correction amount reduction range, the fluctuation of the bit rate can be avoided by calculating “0” as the correction amount. . As a result, it is possible to prevent the user experience quality from being excessively lowered.
  • the distribution system 1 changes the bit rate based on a sufficiently large correction amount, so that the remaining reproduction time can be prevented from becoming too short or too long. it can. That is, the remaining reproduction time can be properly maintained. As a result, it is possible to prevent the content reproduction from being interrupted and to prevent the amount of data stored in the storage device of the client device 20 from becoming excessive.
  • the first embodiment is configured to determine the correction amount reduction range based on the acquired reception speed. According to this, even when the reception speed varies, the correction amount reduction range can be appropriately set.
  • the first embodiment is configured to determine the correction amount reduction range based on the acquired reproduction speed.
  • a client capable of playing content at any one of a plurality of playback speeds (for example, a playback speed for slow playback, a playback speed for constant speed playback, a playback speed for double speed playback, etc.) Also in the distribution system 1 including the device 20, the correction amount reduction range can be appropriately set.
  • the distribution system 1 according to the first embodiment is configured to determine the correction amount reduction range based on the four time constants.
  • the delivery system 1 according to the first modification of the first embodiment is configured to determine the correction amount reduction range based on two time constants.
  • the correction amount reduction range determination unit 13 calculates time change rates (time differential values) ⁇ x max and ⁇ x min of the remaining reproduction time based on the following equations (28) to (31).
  • ⁇ x max e p / ⁇ min (when e p ⁇ 0) ... (28 )
  • ⁇ x max e p / ⁇ max (when e p ⁇ 0)
  • ⁇ x min e p / ⁇ max (when e p ⁇ 0)
  • ⁇ x min e p / ⁇ max (when e p ⁇ 0)
  • ⁇ x min e p / ⁇ min (when e p ⁇ 0) ... (31 )
  • ⁇ min is a first time constant (first delay time)
  • ⁇ max is a second time constant (second delay time).
  • the first time constant ⁇ min and the second time constant ⁇ max are stored in advance in the storage device of the server device 10.
  • the second time constant ⁇ max is longer than the first time constant ⁇ min .
  • the distribution system 1 according to the first embodiment is configured to determine the correction amount reduction range based on the four time constants.
  • the distribution system 1 according to the second modification of the first embodiment is configured to determine the correction amount reduction range based on one time constant.
  • the correction amount reduction range determination unit 13 calculates the reference value b 0 of the correction amount reduction range based on the following formulas (32) to (34).
  • ⁇ x 0 e p / ⁇ 0 ... (32)
  • x 0 p + ⁇ x 0 (33)
  • b 0 v / x 0 (34)
  • ⁇ 0 is a time constant (delay time) and is stored in advance in the storage device of the server device 10.
  • the correction amount reduction range determination unit 13 calculates the reference value b 0 of the calculated correction amount reduction range, a preset value b th [bps], the following formulas (35) and (36), Based on the above, the upper limit value b max and the lower limit value b min of the correction amount reduction range are calculated.
  • the value b th is a positive value stored in advance in the storage device of the server device 10.
  • b max b 0 + b th (35)
  • b min b 0 -b th (36)
  • the distribution system 1 has an arbitrary number (here, n) of correction amounts based on an arbitrary number of time constants (here, m).
  • n arbitrary number of correction amounts based on an arbitrary number of time constants (here, m).
  • a reference value for the reduction range may be calculated, and the correction amount reduction range may be determined based on the calculated reference value.
  • the distribution system 1 calculates m reference values by using Expression (15) and Expression (18) for each of the m time constants.
  • the distribution system 1 determines the correction amount reduction range based on the calculated n reference values.
  • n 1
  • the distribution system 1 determines the correction amount reduction range based on the calculated reference value and the predetermined value b th .
  • the distribution system 1 determines the maximum reference value among the calculated n reference values as the upper limit value b max of the correction amount reduction range, and calculates the calculated n number of reference values.
  • the minimum reference value among the reference values is determined as the lower limit value b min of the correction amount reduction range.
  • the delivery system 1 may be configured to calculate the bit rate difference e b based on the following equation (37) to (39).
  • e b F Sup (b) (b> b max ) (37)
  • e b F Inf (b) (b ⁇ b min ) (39)
  • B Lim (k) is a range defined by the following formula (40). Note that the calculated n reference values are sequentially set as b r (0), b r (1), b r (2),..., B r (n ⁇ 1) in ascending order.
  • B Lim (k) ⁇ b
  • b r (k) ⁇ b ⁇ b r (k + 1) ⁇ (K 0, 1,..., N ⁇ 2) (40)
  • the functions F Sup , F k , and F Inf are functions having values that increase as the bit rate b of the content data currently transmitted by the server device 10 deviates significantly from the correction amount reduction range. It is.
  • n 2
  • B Lim (0) ⁇ b
  • F Sup (b) b max ⁇ b
  • bit rate difference e b 0, and the bit rate b is outside the correction amount reduction range.
  • bit rate difference e b the difference between the bit rate b and the correction amount reducing bounds within.
  • the method for calculating the bit rate b 'of the content data to be transmitted in the following is as described above.
  • the distribution system 1 according to the first embodiment, a value obtained by dividing by the time constant ⁇ of the remaining reproduction time difference e p, the time rate of change of the remaining reproduction time (time differential value) was calculated as [Delta] x.
  • G (e p) is a function of the remaining reproduction time difference e p.
  • G (e p ) may be a function shown in the following formula (42).
  • G (e p) L p ⁇ e p + L i ⁇ ⁇ e p dt + L d ⁇ (de p / dt) ... (42)
  • L p is a proportional gain
  • L i is an integral gain
  • L d is a differential gain
  • ⁇ E p dt represents an integral value with respect to time t of e p in integral interval [0, t]
  • de p / dt denotes a differential value relating to time t e p at time t.
  • the distribution system according to the second embodiment is different from the distribution system according to the first embodiment in that the client device is configured to calculate a correction amount for correcting the bit rate. . Accordingly, the following description will focus on such differences.
  • the functions of the server device 10 according to the second embodiment include a content data storage unit 11 and a content transmission unit 12 as shown in FIG.
  • the content data storage unit 11 and the content transmission unit 12 have the same functions as the content data storage unit 11 and the content transmission unit 12 according to the first embodiment.
  • the function of the client device 20 according to the second embodiment includes a content reception unit 21, a content buffer unit 22, a content reproduction unit 23, a reception speed acquisition unit 24, a remaining reproduction time acquisition unit 25, and a reproduction speed.
  • An acquisition unit 26, a correction amount reduction range determination unit 27, a bit rate correction unit 28, and a bit rate change request transmission unit 29 are included.
  • the correction amount reduction range determining unit 27 to the bit rate change request transmitting unit 29 constitute a bit rate change request transmitting unit.
  • the content receiving unit 21 to the playback speed acquisition unit 26 have the same functions as the content receiving unit 21 to the playback speed acquisition unit 26 according to the first embodiment.
  • the correction amount reduction range determination unit 27 has the same function as the correction amount reduction range determination unit 13 according to the first embodiment.
  • the bit rate correction unit 28 has the same function as the bit rate correction unit 14 according to the first embodiment.
  • the bit rate change request transmission unit 29 transmits to the server device 10 a bit rate change request that is calculated by the bit rate correction unit 28 and includes the bit rate b ′ of the content data that the server device 10 subsequently transmits. That is, it can be said that the bit rate change request is information requesting to change the bit rate of the content data transmitted by the server device 10 based on the calculated correction amount.
  • the content transmission unit 12 is configured to transmit content data to the client device 20 according to RTP (Real-Time Transport Protocol).
  • the bit rate change request transmission unit 29 is configured to transmit a bit rate change request to the server device 10 in accordance with RTCP (RTP Control Protocol).
  • RTCP RTP Control Protocol
  • APP Application
  • the bit rate change request transmission unit 29 transmits a bit rate change request to the server device 10 according to a protocol other than RTCP. It may be configured to.
  • the content transmission unit 12 uses the bit rate b ′ included in the bit rate change request from the bit rates of the content data stored in the content data storage unit 11. The maximum bit rate is selected from among the smaller bit rates. Then, the content transmission unit 12 changes the bit rate of the content data transmitted to the client device 20 to the selected bit rate.
  • the distribution system 100 according to the third embodiment includes a server device 110 and a client device 120 configured to be able to communicate with each other.
  • the server apparatus 110 is configured to be able to transmit to the client apparatus 120 content data obtained by encoding one content at an arbitrary one of a plurality of different bit rates.
  • the client device 120 receives the content data transmitted from the server device 110, stores the received data of the content data in the storage device, and reproduces the content based on the stored data. Configured.
  • the functions of the distribution system 100 include a remaining playback time acquisition unit (residual playback time acquisition unit) 130 and a bit rate change unit (bit rate change unit) 140.
  • the remaining reproduction time acquisition unit 130 acquires a remaining reproduction time that is a time during which content can be reproduced based on a portion of the data stored in the storage device of the client device 120 that has not been reproduced yet.
  • the bit rate changing unit 140 Based on the remaining reproduction time acquired by the remaining reproduction time acquisition unit 130 and a preset target value, the bit rate changing unit 140 transmits the remaining reproduction time so as to approach the target value.
  • a correction amount for correcting the bit rate of the content data is calculated according to a predetermined correction amount calculation method.
  • the bit rate changing unit 140 calculates a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method. Composed. Then, the bit rate changing unit 140 changes the bit rate based on the calculated correction amount.
  • the amount of fluctuation of the bit rate can be reduced. For example, when the bit rate is within the correction amount reduction range, fluctuations in the bit rate can be avoided by calculating “0” as the correction amount. As a result, it is possible to prevent the user experience quality from being excessively lowered.
  • the distribution system 100 changes the bit rate based on a sufficiently large correction amount when the bit rate is outside the correction amount reduction range, the remaining reproduction time can be prevented from becoming too short or too large. . That is, the remaining reproduction time can be properly maintained. As a result, it is possible to prevent the content reproduction from being interrupted and to prevent the amount of data stored in the storage device of the client device 120 from becoming excessive.
  • the delivery system The client apparatus includes a reception speed acquisition unit that acquires a reception speed that is a data amount for receiving the content data per unit time from the server apparatus, and
  • the bit rate changing means is It is preferable that the correction amount reduction range is determined based on the acquired reception speed, the acquired remaining reproduction time, and the target value.
  • the correction amount reduction range can be set appropriately.
  • the bit rate changing means is It is preferable that the correction amount reduction range is narrowed as the acquired remaining reproduction time approaches the target value. According to this, the remaining reproduction time can be reliably converged with the target value.
  • the bit rate changing means is A first bit rate that matches the remaining reproduction time to the target value after a first delay time, and a residual reproduction time that matches the target value after a second delay time that is longer than the first delay time.
  • a second bit rate is calculated, the larger one of the calculated first bit rate and second bit rate is determined as the upper limit value of the correction amount reduction range, and the first bit is determined. It is preferable that the smaller of the rate and the second bit rate is determined as the lower limit value of the correction amount reduction range.
  • the bit rate changing means is When the remaining reproduction time is smaller than the target value, the correction amount is calculated so that the remaining reproduction time matches the target value earlier than when the remaining reproduction time is larger than the target value. It is preferable to be configured as described above. According to this, it is possible to reliably prevent the content reproduction from being interrupted.
  • the bit rate changing means is When the remaining reproduction time is smaller than the target value, a bit rate for making the remaining reproduction time coincident with the target value after the first short delay time is calculated as the first bit rate, and the first A bit rate for causing the remaining reproduction time to coincide with the target value after a second shortage delay time longer than the shortage delay time is calculated as the second bit rate, while the remaining reproduction time is calculated from the target value. Is greater than the first surplus delay time, and the bit rate for matching the remaining playback time with the target value after the first surplus delay time is calculated as the first bit rate. A bit rate at which the remaining reproduction time matches the target value after a second surplus delay time longer than a second short delay time is set to the second bit rate. It is preferably configured to calculate with.
  • the delivery system The client apparatus includes a reproduction speed acquisition unit that acquires a reproduction speed that is a speed at which the content is reproduced.
  • the bit rate changing means is It is preferable that the correction amount reduction range is determined based on the acquired reproduction speed.
  • a client capable of playing content at any one of a plurality of playback speeds (for example, a playback speed for slow playback, a playback speed for constant speed playback, a playback speed for double speed playback, etc.) Even in a distribution system including an apparatus, a correction amount reduction range can be set appropriately.
  • the bit rate changing means is A value obtained by dividing a value obtained by subtracting the acquired remaining reproduction time from the target value by the first delay time or the second delay time is estimated as a time differential value of the remaining reproduction time, and the estimation It is preferable that the first bit rate or the second bit rate is calculated based on the time differential value.
  • the bit rate changing means is
  • the correction amount may be calculated based on a difference between the upper limit value and the bit rate. Is preferred.
  • the bit rate changing means is When the bit rate of the content data transmitted by the server device is larger than the upper limit value, a value obtained by multiplying a value obtained by subtracting the bit rate from the upper limit value and a preset proportional coefficient is calculated as the correction amount. It is suitable to be configured.
  • the bit rate changing means is
  • the correction amount may be calculated based on a difference between the lower limit value and the bit rate. Is preferred.
  • the bit rate changing means is When the bit rate of the content data transmitted by the server device is smaller than the lower limit value, a value obtained by multiplying a value obtained by subtracting the bit rate from the lower limit value and a preset proportional coefficient is calculated as the correction amount. It is suitable to be configured.
  • the bit rate changing means is It is preferable that the correction amount is set to 0 when the bit rate of the content data transmitted by the server device is within the correction amount reduction range.
  • a server device configured to transmit content data obtained by encoding one content at any one of a plurality of different bit rates
  • a client device configured to be able to communicate with the server device
  • a method applied to a distribution system including
  • the server device transmits the content data to the client device, While receiving the content data transmitted by the server device, the client device stores the received data of the content data in a storage device and reproduces the content based on the stored data. , Obtaining a remaining playback time that is a time during which the content can be played back based on a portion of the data stored in the storage device of the client device that has not been played back; When the bit rate is not within a predetermined correction amount reduction range, the server device is configured to bring the remaining reproduction time closer to the target value based on the acquired remaining reproduction time and a preset target value.
  • a correction amount for correcting the bit rate of the content data to be transmitted is calculated according to a predetermined correction amount calculation method, and when the bit rate is within the correction amount reduction range, the acquired remaining reproduction time and Based on the target value, a correction amount for correcting the bit rate of the content data transmitted by the server device so that the remaining reproduction time approaches the target value, and is calculated according to the correction amount calculation method. Calculate a correction amount that is smaller than the correction amount In this method, the bit rate of the content data transmitted by the server device is changed based on the calculated correction amount.
  • the delivery method is The client device acquires a reception speed that is a data amount for receiving the content data per unit time from the server device, It is preferable that the correction amount reduction range is determined based on the acquired reception speed, the acquired remaining reproduction time, and the target value.
  • the delivery method is It is preferable that the correction amount reduction range is narrowed as the acquired remaining reproduction time approaches the target value.
  • the delivery method is A first bit rate that matches the remaining reproduction time to the target value after a first delay time, and a residual reproduction time that matches the target value after a second delay time that is longer than the first delay time.
  • a second bit rate is calculated, the larger one of the calculated first bit rate and second bit rate is determined as the upper limit value of the correction amount reduction range, and the first bit is determined. It is preferable that the smaller of the rate and the second bit rate is determined as the lower limit value of the correction amount reduction range.
  • a server device is a device configured to be able to communicate with a client device.
  • this server device Content data obtained by encoding one content at any one of a plurality of different bit rates can be transmitted to the client device, It is a time during which the content can be reproduced based on a portion of the data stored in the storage device that stores the data received by the client device of the content data that has not yet been reproduced by the client device.
  • a residual playback time receiving means for receiving the residual playback time from the client device; Based on the received remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data to be transmitted to the client device so that the remaining reproduction time approaches the target value
  • bit rate changing means for changing the bit rate based on the calculated correction amount, Is provided.
  • the bit rate changing means includes When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • the server device The client apparatus includes a reception speed receiving unit that receives from the client apparatus a reception speed that is a data amount for receiving the content data from the server apparatus per unit time.
  • the bit rate changing means is It is preferable that the correction amount reduction range is determined based on the received reception speed, the received residual reproduction time, and the target value.
  • the bit rate changing means is It is preferable that the correction amount reduction range is narrowed as the received remaining reproduction time approaches the target value.
  • the bit rate changing means is A first bit rate that matches the remaining reproduction time to the target value after a first delay time, and a residual reproduction time that matches the target value after a second delay time that is longer than the first delay time.
  • a second bit rate is calculated, the larger one of the calculated first bit rate and second bit rate is determined as the upper limit value of the correction amount reduction range, and the first bit is determined. It is preferable that the smaller of the rate and the second bit rate is determined as the lower limit value of the correction amount reduction range.
  • the program which is the other form of this invention is: A server device configured to be communicable with a client device and configured to transmit content data obtained by encoding one content at an arbitrary one of a plurality of different bit rates to the client device , It is a time during which the content can be reproduced based on a portion of the data stored in the storage device that stores the data received by the client device of the content data that has not yet been reproduced by the client device.
  • a residual playback time receiving means for receiving the residual playback time from the client device; Based on the received remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data to be transmitted to the client device so that the remaining reproduction time approaches the target value According to a predetermined correction amount calculation method, bit rate changing means for changing the bit rate based on the calculated correction amount, It is a program for realizing.
  • the bit rate changing means includes When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • the program is In addition to the server device,
  • the client device realizes a reception speed receiving means for receiving from the client device a reception speed that is a data amount for receiving the content data from the server device per unit time.
  • the bit rate changing means is It is preferable that the correction amount reduction range is determined based on the received reception speed, the received residual reproduction time, and the target value.
  • the bit rate changing means is It is preferable that the correction amount reduction range is narrowed as the received remaining reproduction time approaches the target value.
  • the bit rate changing means is A first bit rate that matches the remaining reproduction time to the target value after a first delay time, and a residual reproduction time that matches the target value after a second delay time that is longer than the first delay time.
  • a second bit rate is calculated, the larger one of the calculated first bit rate and second bit rate is determined as the upper limit value of the correction amount reduction range, and the first bit is determined. It is preferable that the smaller of the rate and the second bit rate is determined as the lower limit value of the correction amount reduction range.
  • a client device is It is an apparatus configured to be able to communicate with a server apparatus configured to be able to transmit content data obtained by encoding one content at an arbitrary one of a plurality of different bit rates.
  • this client device While receiving the content data transmitted by the server device, the received data of the content data is stored in a storage device and the content is reproduced based on the stored data, Residual playback time acquisition means for acquiring a residual playback time that is a time during which the content can be played back based on a portion of the data stored in the storage device that has not been played back; Based on the acquired remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data transmitted by the server device so that the remaining reproduction time approaches the target value A bit rate change request transmitting means for transmitting a bit rate change request for changing the bit rate to the server device based on the calculated correction amount, Is provided.
  • bit rate change request transmission means includes: When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • the client device includes a reception speed acquisition unit that acquires a reception speed that is a data amount for receiving the content data from the server apparatus per unit time
  • the bit rate change request transmission means includes: It is preferable that the correction amount reduction range is determined based on the acquired reception speed, the acquired remaining reproduction time, and the target value.
  • bit rate change request transmission means It is preferable that the correction amount reduction range is narrowed as the acquired remaining reproduction time approaches the target value.
  • the bit rate change request transmission means A first bit rate that matches the remaining reproduction time to the target value after a first delay time, and a residual reproduction time that matches the target value after a second delay time that is longer than the first delay time.
  • a second bit rate is calculated, the larger one of the calculated first bit rate and second bit rate is determined as the upper limit value of the correction amount reduction range, and the first bit is determined. It is preferable that the smaller of the rate and the second bit rate is determined as the lower limit value of the correction amount reduction range.
  • the program which is the other form of this invention is: It is configured to be communicable with a server device configured to be able to transmit content data obtained by encoding one content at any one of a plurality of different bit rates, and transmitted by the server device.
  • Residual playback time acquisition means for acquiring a residual playback time that is a time during which the content can be played back based on a portion of the data stored in the storage device that has not been played back; Based on the acquired remaining reproduction time and a preset target value, a correction amount for correcting the bit rate of the content data transmitted by the server device so that the remaining reproduction time approaches the target value
  • a bit rate change request transmitting means for transmitting a bit rate change request for changing the bit rate to the server device based on the calculated correction amount, It is a program for realizing.
  • bit rate change request transmission means includes: When the bit rate is within a predetermined correction amount reduction range, it is configured to calculate a correction amount that is smaller than the correction amount calculated according to the correction amount calculation method.
  • the program is In addition to the client device,
  • the client device realizes a reception speed acquisition unit that acquires a reception speed that is a data amount of the content data received from the server device per unit time
  • the bit rate change request transmission means includes: It is preferable that the correction amount reduction range is determined based on the acquired reception speed, the acquired remaining reproduction time, and the target value.
  • bit rate change request transmission means It is preferable that the correction amount reduction range is narrowed as the acquired remaining reproduction time approaches the target value.
  • the bit rate change request transmission means A first bit rate that matches the remaining reproduction time to the target value after a first delay time, and a residual reproduction time that matches the target value after a second delay time that is longer than the first delay time.
  • a second bit rate is calculated, the larger one of the calculated first bit rate and second bit rate is determined as the upper limit value of the correction amount reduction range, and the first bit is determined. It is preferable that the smaller of the rate and the second bit rate is determined as the lower limit value of the correction amount reduction range.
  • the server device 10 or the client device 20 is configured to calculate the correction amount of the bit rate, but an information processing device other than the server device 10 and the client device 20 calculates the correction amount. It may be configured to.
  • the correction amount when the bit rate of the content data transmitted by the server device 10 is within the correction amount reduction range, the correction amount is set to “0”. May be configured such that the magnitude (absolute value) is larger than “0”.
  • the distribution system 1 sets the correction amount calculated according to the correction amount calculation method used to calculate the correction amount when the bit rate of the content data transmitted by the server device 10 is outside the correction amount reduction range. A correction amount having a size smaller than the size is calculated.
  • each function of the distribution system 1 is realized by the CPU executing a program (software), but may be realized by hardware such as a circuit.
  • the program is stored in the storage device, but may be stored in a computer-readable recording medium.
  • the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.
  • the present invention can be applied to a content distribution system that distributes content data from a server device to a client device.

Landscapes

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

Abstract

 サーバ装置は複数のビットレートのうちの1つを有するコンテンツデータを送信可能に構成される。クライアント装置はコンテンツデータを受信しながら、受信された部分を記憶し記憶しているデータに基づいてコンテンツを再生する。配信システムは、記憶されているデータのうちの未だ再生していない部分に基づいてコンテンツを再生可能な時間(残余再生時間)を取得する。配信システムは残余再生時間に基づいて、ビットレートを補正するための補正量を所定の方式に従って算出し算出した補正量に基づいてビットレートを変更する。配信システムはビットレートが所定の範囲内にある場合、上記方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出する。

Description

配信システム、配信方法、サーバ装置、プログラム及びクライアント装置
 本発明は、コンテンツデータを送信するサーバ装置と、受信したコンテンツデータが表すコンテンツを再生するクライアント装置と、を含む配信システムに関する。
 互いに通信可能に構成されたサーバ装置及びクライアント装置を含む配信システムが知られている。サーバ装置は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータをクライアント装置へ送信可能に構成される。
 また、クライアント装置は、サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する。
 この種の配信システムの一つとして特許文献1に記載の配信システムは、クライアント装置の記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいてコンテンツを再生可能な時間である残余再生時間を目標値に近づけるように、サーバ装置が送信するコンテンツデータのビットレートを変更する。
 これによれば、残余再生時間を適切な範囲に維持することができる。従って、残余再生時間が過少となることによって、クライアント装置におけるコンテンツの再生が途切れることを防止することができる。また、残余再生時間が過大となることによって、クライアント装置の記憶装置に記憶されているデータ量が過大となることを防止することができる。
特開2004-172830号公報
 しかしながら、上記配信システムにおいては、クライアント装置が再生するコンテンツのビットレートが頻繁に変動してしまう。このため、コンテンツの視聴者が感じるサービス品質であるユーザ体感品質(QoE;Quality of Experience)が過度に低下してしまうという問題があった。
 このため、本発明の目的は、上述した課題である「残余再生時間を適切な範囲に維持した場合に、ユーザ体感品質が過度に低下してしまうこと」を解決することが可能な配信システムを提供することにある。
 かかる目的を達成するため本発明の一形態である配信システムは、互いに通信可能に構成されたサーバ装置及びクライアント装置を含むシステムである。
 更に、上記サーバ装置は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
 上記クライアント装置は、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成される。
 加えて、上記配信システムは、
 上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
 上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
 を備える。
 加えて、上記ビットレート変更手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 また、本発明の他の形態である配信方法は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、上記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される方法である。
 更に、この配信方法は、
 上記サーバ装置が上記コンテンツデータを上記クライアント装置へ送信し、
 上記クライアント装置が、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生し、
 上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得し、
 上記ビットレートが所定の補正量低減範囲内にない場合、上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、上記ビットレートが当該補正量低減範囲内にある場合、上記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
 上記算出された補正量に基づいて、上記サーバ装置が送信するコンテンツデータの上記ビットレートを変更する方法である。
 また、本発明の他の形態であるサーバ装置は、クライアント装置と通信可能に構成された装置である。
 更に、このサーバ装置は、
 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
 上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
 上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
 を備える。
 加えて、上記ビットレート変更手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 また、本発明の他の形態であるプログラムは、
 クライアント装置と通信可能に構成されるとともに、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成されたサーバ装置に、
 上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
 上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
 を実現させるためのプログラムである。
 加えて、上記ビットレート変更手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 また、本発明の他の形態であるクライアント装置は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成された装置である。
 更に、このクライアント装置は、
 上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成され、
 上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
 上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
 を備える。
 加えて、上記ビットレート変更要求送信手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 また、本発明の他の形態であるプログラムは、
 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成されたクライアント装置に、
 上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
 上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
 を実現させるためのプログラムである。
 加えて、上記ビットレート変更要求送信手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 本発明は、以上のように構成されることにより、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
本発明の第1実施形態に係る配信システムの概略構成を表す図である。 本発明の第1実施形態に係る配信システムの機能の概略を表すブロック図である。 4つの時定数、残余再生時間、残余再生時間の目標値、及び、メディア流速の時間変化率の関係を概念的に示した説明図である。 時定数、残余再生時間、残余再生時間の目標値、及び、メディア流速の時間変化率の関係を概念的に示した説明図である。 本発明の第1実施形態に係るクライアント装置のCPUが実行する受信側情報送信プログラムを示したフローチャートである。 本発明の第1実施形態に係るサーバ装置のCPUが実行するビットレート補正プログラムを示したフローチャートである。 本発明の第1実施形態に係るサーバ装置のCPUが実行する補正量低減範囲決定プログラムを示したフローチャートである。 本発明の第1実施形態に係るサーバ装置のCPUが実行する補正量算出プログラムを示したフローチャートである。 本発明の第1実施形態に係る配信システムを用いた場合のシミュレーション結果を示したグラフである。 特許文献1に記載の配信システムを用いた場合のシミュレーション結果を示したグラフである。 本発明の第2実施形態に係る配信システムの機能の概略を表すブロック図である。 本発明の第3実施形態に係る配信システムの機能の概略を表すブロック図である。
 以下、本発明に係る、配信システム、配信方法、サーバ装置、プログラム、及び、クライアント装置、の各実施形態について図1~図12を参照しながら説明する。
<第1実施形態>
 図1に示したように、第1実施形態に係る配信システム1は、サーバ装置10と、クライアント装置20と、を含む。サーバ装置10及びクライアント装置20は、通信回線(例えば、インターネット)NWを介して、互いに通信可能に接続されている。
 サーバ装置10は、図示しない中央処理装置(CPU;Central Processing Unit)、及び、記憶装置(メモリ及びハードディスク駆動装置(HDD;Hard Disk Drive))を備える。サーバ装置10は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
 クライアント装置20は、パーソナル・コンピュータである。なお、クライアント装置20は、携帯電話装置、カーナビゲーション装置、テレビ受像機、セットトップボックス、又は、ゲーム機等であってもよい。クライアント装置20は、図示しない中央処理装置(CPU)、記憶装置(メモリ)、入力装置(例えば、キーボード及びマウス等)及び出力装置(例えば、ディスプレイ及びスピーカ等)を備える。クライアント装置20は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
 図2は、上記のように構成された配信システム1の機能を表すブロック図である。
 サーバ装置10の機能は、コンテンツデータ蓄積部11と、コンテンツ送信部12と、補正量低減範囲決定部(ビットレート変更手段の一部、残余再生時間受信手段、受信速度受信手段、再生速度受信手段)13と、ビットレート補正部(ビットレート変更手段の一部)14と、を含む。コンテンツデータ蓄積部11は、サーバ装置10の記憶装置により実現される。また、コンテンツ送信部12、補正量低減範囲決定部13、及び、ビットレート補正部14は、サーバ装置10のCPUが後述する図6に示したフローチャートにより表されるプログラム等を実行することにより、実現される。
 一方、クライアント装置20の機能は、コンテンツ受信部21と、コンテンツバッファ部22と、コンテンツ再生部23と、受信速度取得部(受信速度取得手段)24と、残余再生時間取得部(残余再生時間取得手段)25と、再生速度取得部(再生速度取得手段)26と、を含む。これらの機能は、クライアント装置20のCPUが後述する図5に示したフローチャートにより表されるプログラム等を実行することにより、実現される。
 以下、各機能について説明する。
 サーバ装置10のコンテンツデータ蓄積部11は、1つのコンテンツ(例えば、映像又は音声等を表す情報)を、複数の異なるビットレートのそれぞれにて符号化したコンテンツデータを予め記憶(蓄積)している。ここで、ビットレートは、コンテンツを単位時間だけ等速再生(1倍速にて再生)するために必要なデータのサイズを表す。
 サーバ装置10のコンテンツ送信部12は、コンテンツデータ蓄積部11に記憶されているコンテンツデータをクライアント装置20へ送信する。本例では、コンテンツ送信部12は、クライアント装置20からコンテンツ送信要求を受信し、受信したコンテンツ送信要求により特定されるコンテンツデータをクライアント装置20へ送信する。
 なお、コンテンツ送信部12は、コンテンツデータ蓄積部11に記憶されているコンテンツデータに基づいて、そのコンテンツデータと異なるビットレートにて符号化したコンテンツデータを生成するように構成されていてもよい。
 このように、サーバ装置10は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータをクライアント装置20へ送信可能に構成されている。
 一方、クライアント装置20のコンテンツ受信部21は、サーバ装置10により送信されたコンテンツデータを受信する。
 クライアント装置20のコンテンツバッファ部22は、コンテンツ受信部21によりコンテンツデータが受信されている間に、そのコンテンツデータのうちの受信されたデータを記憶装置に記憶させる。
 更に、クライアント装置20のコンテンツ再生部23は、記憶装置に記憶されているデータに基づいてコンテンツを再生する(出力装置を介して出力する)。また、コンテンツ再生部23は、ユーザからの指示に応じてコンテンツを再生する速度である再生速度を変更する機能を含む。
 即ち、クライアント装置20は、サーバ装置10により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する(即ち、ストリーミング再生を行う)ように構成されている。
 また、クライアント装置20の受信速度取得部24は、コンテンツ受信部21によって、単位時間あたりに受信されるコンテンツデータのサイズ(データ量又はデータサイズ)である受信速度を取得する。
 本例では、受信速度取得部24は、所定の計測時間内に受信されたコンテンツデータのデータサイズを当該計測時間により除した値である瞬時受信速度を取得し、複数の異なる時点にて取得された瞬時受信速度を平均した値を受信速度として取得する。なお、受信速度取得部24は、ある時点にて取得された瞬時受信速度を受信速度として取得するように構成されていてもよい。また、受信速度取得部24は、複数の異なる時点にて取得された瞬時受信速度と、フィルタ(例えば、カルマンフィルタ等)と、に基づいて受信速度を取得するように構成されていてもよい。
 更に、受信速度取得部24は、取得した受信速度を受信側情報の一部としてサーバ装置10へ送信する。
 また、クライアント装置20の残余再生時間取得部25は、記憶装置に記憶されているデータのうちの未だ再生していない部分(未再生データ)に基づいてコンテンツ再生部23によりコンテンツを再生可能な時間である残余再生時間を取得する。
 本例では、残余再生時間取得部25は、当該未再生データのサイズを当該未再生データのビットレートにより除した値を残余再生時間として取得する。例えば、未再生データのサイズが1[MB](以下、物理量の単位を[]により囲んで表記する)であり、且つ、その未再生データのビットレートが1[Mbps]である場合には、残余再生時間は8[秒]となる。また、未再生データのサイズが1[MB]であり、且つ、その未再生データのビットレートが2[Mbps]である場合には、残余再生時間は4[秒]となる。
 なお、残余再生時間取得部25は、当該未再生データが互いに異なるビットレートを有する複数の部分から構成されている場合、各部分のサイズをその部分のビットレートにより除した値の和を残余再生時間として取得する。例えば、1[Mbps]のビットレートを有し且つサイズが1[MB]であるデータと、2[Mbps]のビットレートを有し且つサイズが1[MB]であるデータと、からなるコンテンツデータが、未再生データである場合、残余再生時間取得部25は、8[秒]+4[秒]=12[秒]を残余再生時間として取得する。
 更に、残余再生時間取得部25は、取得した残余再生時間を受信側情報の一部としてサーバ装置10へ送信する。
 加えて、クライアント装置20の再生速度取得部26は、コンテンツ再生部23によってコンテンツが再生されている速度である再生速度を取得する。更に、再生速度取得部26は、取得した再生速度を等速再生に対応する再生速度にて除した値である再生速度倍率を受信側情報の一部としてサーバ装置10へ送信する。
 ここで、再生速度倍率は、コンテンツが等速再生されている場合、1となり、等速再生の2倍の再生速度(2倍速)にてコンテンツが再生されている場合、2となり、等速再生の半分の再生速度にてコンテンツが再生(スロー再生)されている場合、0.5となる。
 一方、サーバ装置10の補正量低減範囲決定部13は、クライアント装置20から受信側情報を受信する。受信側情報は、上述したように、受信速度と、残余再生時間と、再生速度倍率と、を含む情報である。
 補正量低減範囲決定部13は、受信した受信側情報と、予め設定された残余再生時間の目標値と、に基づいて補正量低減範囲の上限値及び下限値を決定する。なお、式の導出、及び、各変数が有する意味については、後述する。
 具体的には、補正量低減範囲決定部13は、下記式(1)に基づいて、残余再生時間差e[秒]を算出する。
=T-T  …(1)
 ここで、Tは、予め設定された残余再生時間の目標値であり、Tは、受信された受信側情報に含まれる残余再生時間(即ち、クライアント装置20により取得された現時点の残余再生時間)である。
 次いで、補正量低減範囲決定部13は、上記算出された残余再生時間差eと、下記式(2)~式(5)と、に基づいて、残余再生時間の時間変化率(時間微分値)Δxmax,Δxminを算出する。
Δxmax=e/τmin,+ (e≧0のとき)  …(2)
Δxmax=e/τmax,- (e<0のとき)  …(3)
Δxmin=e/τmax,+ (e≧0のとき)  …(4)
Δxmin=e/τmin,- (e<0のとき)  …(5)
 ここで、τmin,+は、第1の不足時時定数(第1の不足時遅延時間)であり、τmax,+は、第2の不足時時定数(第2の不足時遅延時間)であり、τmin,-は、第1の余剰時時定数(第1の余剰時遅延時間)であり、τmax,-は、第2の余剰時時定数(第2の余剰時遅延時間)である。第1の不足時時定数τmin,+、第2の不足時時定数τmax,+、第1の余剰時時定数τmin,-及び第2の余剰時時定数τmax,-は、サーバ装置10の記憶装置に予め記憶されている。
 図3に示したように、第2の不足時時定数τmax,+は、第1の不足時時定数τmin,+よりも長い。また、第1の余剰時時定数τmin,-は、第1の不足時時定数τmin,+よりも長い。更に、第2の余剰時時定数τmax,-は、第1の余剰時時定数τmin,-よりも長く、且つ、第2の不足時時定数τmax,+よりも長い。
 そして、補正量低減範囲決定部13は、上記算出された時間変化率Δxmax,Δxminと、下記式(6)及び式(7)と、に基づいて、メディア流速xmax,xminを算出する。ここで、メディア流速xmax,xminは、後述するように、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表す。
max=p+Δxmax  …(6)
min=p+Δxmin  …(7)
 ここで、pは、受信された受信側情報に含まれる再生速度倍率(即ち、クライアント装置20により取得された現時点の再生速度に応じた再生速度倍率)である。
 次いで、補正量低減範囲決定部13は、上記算出されたメディア流速xmax,xminと、下記式(8)及び式(9)と、に基づいて、補正量低減範囲の上限値bmax及び補正量低減範囲の下限値bminを算出する。
max=v/xmin  …(8)
min=v/xmax  …(9)
 ここで、vは、受信された受信側情報に含まれる受信速度(即ち、クライアント装置20により取得された現時点の受信速度)である。
 このように、補正量低減範囲決定部13は、再生速度取得部26により取得された再生速度(に応じた再生速度倍率)と、受信速度取得部24により取得された受信速度と、残余再生時間取得部25により取得された残余再生時間と、目標値と、に基づいて補正量低減範囲を決定する。これによれば、適切に補正量低減範囲を設定することができる。
 また、補正量低減範囲決定部13は、第1の遅延時間(第1の不足時時定数τmin,+又は第1の余剰時時定数τmin,-)後に残余再生時間Tを目標値Tに一致させる第1のビットレートと、第1の遅延時間よりも長い第2の遅延時間(第2の不足時時定数τmax,+又は第2の余剰時時定数τmax,-)後に残余再生時間Tを目標値Tに一致させる第2のビットレートと、を算出する。更に、補正量低減範囲決定部13は、算出した第1のビットレート及び第2のビットレートのうちの大きい方を補正量低減範囲の上限値bmaxとして決定し、且つ、第1のビットレート及び第2のビットレートのうちの小さい方を補正量低減範囲の下限値bminとして決定する。
 ところで、上記式(1)~式(9)から、残余再生時間差eが0に近づくにつれて、上限値bmaxと下限値bminとの差が0に近づくことがわかる。即ち、補正量低減範囲決定部13は、取得された残余再生時間Tが目標値Tに近くなるほど、補正量低減範囲を狭くするように構成されている、と言うことができる。
 これによれば、残余再生時間Tを目標値Tにより確実に収束させることができる。
 次に、上記式(1)~式(9)の導出、及び、各変数が有する意味について説明する。
 以下、サーバ装置10からクライアント装置20へ送信されるデータの流れが連続体であることを仮定する。
 また、ある時刻t[秒]においてクライアント装置20が単位時間あたりに受信するコンテンツデータのサイズである受信速度をv(t)[bps]とする。更に、時刻tにて、クライアント装置20が受信しているコンテンツデータのビットレートをb(t)[bps]とおく。
 このとき、下記式(10)により算出されるρ(t)[秒/bit]をメディア密度と呼ぶ。
ρ=1/b  …(10)
 メディア密度ρは、時刻tにてクライアント装置20が受信しているコンテンツデータのうちの単位サイズのデータに基づいてコンテンツを再生可能な時間を表す。例えば、クライアント装置20が時刻tにてビットレートが1[Mbps]のコンテンツデータを受信しているとき、ρ=1×10-6[秒/bit]である。従って、この場合、クライアント装置20は、1[bit]のコンテンツデータに基づいて1×10-6[秒]のコンテンツを再生可能である。
 式(10)から明らかなように、ビットレートが高い(コンテンツが映像である場合、高画質)コンテンツデータはメディア密度が小さく、一方、ビットレートが低い(コンテンツが映像である場合、低画質)コンテンツデータはメディア密度が高い。
 ところで、極めて短い時間Δtの間にクライアント装置20が受信したコンテンツデータに基づいてコンテンツを再生可能な時間ΔT[秒]は、下記式(11)に基づいて算出される。
ΔT=ρvΔt  …(11)
 ここで、式(11)においてΔt→0とする(Δtを0に近づけた極限をとる)ことによって、下記式(12)に示したように、時刻tにて単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいてコンテンツを再生可能な時間dT/dt[無次元]が算出される。
dT/dt=ρv  …(12)
 上記式(12)の左辺dT/dtをxとおき、このxをメディア流速と呼ぶ。
 次に、このメディア流速の意味について説明する。
 メディア流速は、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表す無次元量である。
 メディア流速が再生速度倍率pと等しい場合、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいて、クライアント装置20が再生速度倍率pに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間と等しくなる。従って、残余再生時間は変化しない。
 また、メディア流速が再生速度倍率pよりも大きい場合、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいて、クライアント装置20が再生速度倍率pに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間よりも長くなる。従って、残余再生時間は増加する。
 一方、メディア流速が再生速度倍率pよりも小さい場合、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいて、クライアント装置20が再生速度倍率pに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間よりも短くなる。従って、残余再生時間は減少する。
 このように、メディア流速は、残余再生時間を支配する物理量であることがわかる。
 以下、メディア流速と残余再生時間との関係について説明する。
 前述したとおり、メディア流速は、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表している。従って、下記式(13)に示したように、残余再生時間Tの時間微分値dT/dtは、メディア流速xから再生速度倍率pを減じた値と等しくなる。
dT/dt=x-p  …(13)
 次に、図4を参照しながら、ある時刻tにて残余再生時間がT[秒]であった場合、遅延時間τ[秒]後に残余再生時間Tを目標値T[秒]に一致させるメディア流速xを求めることを考える。
 残余再生時間Tが線形的に増加又は減少して遅延時間τ後に目標値Tに一致するためには、Tは下記式(14)を満足する変化率にて増加又は減少する必要がある。なお、目標値Tから残余再生時間Tを減じた値T-Tを残余再生時間差eとしている。なお、T-Tをeと置くことは、上記式(1)に対応している。
dT/dt=(T-T)/τ=e/τ  …(14)
 上記式(13)の右辺と、上記式(14)の右辺と、が等しいことから、ある時刻tにて残余再生時間がT[秒]であった場合、遅延時間τ[秒]後に残余再生時間Tを目標値T[秒]に一致させるためのメディア流速xは、下記式(15)によって算出される。
x=p+e/τ  …(15)
 ここで、上記式(15)の右辺e/τを残余再生時間の時間変化率Δxと置くことにより、上記式(15)は、上記式(6)及び式(7)に対応している。また、e/τをΔxと置くことは、上記式(2)~式(5)に対応している。
 次に、上記式(14)における遅延時間τ[秒]が、残余再生時間Tの目標値Tへの追従速度を示す時定数であることを説明する。式(14)を変形し、下記式(16)のように書くと、式(16)がTについての1階常微分方程式になっていることがわかる。
dT/dt=-(T-T)/τ  …(16)
 上記式(16)を解くと、下記式(17)のようになる。ただし、式(17)におけるCは任意定数である。下記式(17)からτが時定数であることは明らかである。
=T+C・exp(-t/τ)  …(17)
 従って、上記式(15)を用いることにより、ある時刻における残余再生時間T[秒]と、残余再生時間の目標値T[秒]と、が与えられたとき、時定数τ[秒]の追従速度にて(即ち、時定数τ[秒]後に)残余再生時間Tを目標値Tに一致させるためのメディア流速x[無次元]を算出することができる。
 更に、そのメディア流速xを満足する(実現する)ビットレートb[bps]は、下記式(18)に基づいて算出される。ここで、v[bps]は、クライアント装置20が単位時間あたりに受信するコンテンツデータのサイズ(受信速度)である。なお、下記式(18)は、上記式(10)及び式(12)より導出される。また、下記式(18)は、上記式(8)及び式(9)に対応している。
b=v/x  …(18)
 仮に、サーバ装置10が送信しているコンテンツデータのビットレートを、上記式(15)及び式(18)によって算出されたビットレートに変更するように配信システムが構成されている場合、残余再生時間を目標値に近づけることができる。
 しかしながら、この場合において、特に、通信可用帯域が変動する通信回線を介してコンテンツデータを配信する(サーバ装置10からクライアント装置20へ送信する)場合、クライアント装置20が再生するコンテンツのビットレートが頻繁に変動してしまう。このため、コンテンツの視聴者が感じるサービス品質であるユーザ体感品質(QoE;Quality of Experience)が過度に低下してしまう虞がある。
 そこで、上記配信システム1は、式(15)及び式(18)に基づく上記式(2)~式(9)に基づいて補正量低減範囲を決定する。更に、配信システム1は、現時点にてサーバ装置10が送信しているコンテンツデータのビットレートがその補正量低減範囲外にあるときにのみ、以降において送信するコンテンツデータのビットレートを変更する。このように、配信システム1は、現時点のビットレートが補正量低減範囲内にある場合には、ビットレートを変更しないことにより、ビットレートの過度な変動を抑制することができる。
 次に、補正量低減範囲の上限値bmax及び下限値bminと、4つの時定数(第1の不足時時定数τmin,+、第2の不足時時定数τmax,+、第1の余剰時時定数τmin,-及び第2の余剰時時定数τmax,-)と、の関係について図3を参照しながら説明する。
 先ず、時定数τとビットレートbとの関係について説明する。
 上記式(15)及び式(18)から、残余再生時間差eが正である(即ち、残余再生時間Tが目標値Tよりも小さい)場合、時定数τが大きくなるほど、ビットレートbは大きくなる。一方、残余再生時間差eが負である(即ち、残余再生時間Tが目標値Tよりも大きい)場合、時定数τが大きくなるほど、ビットレートbは小さくなる。
 従って、上述したように、残余再生時間差eが正である場合、第1の不足時時定数τmin,+に基づいて補正量低減範囲の下限値bminが算出され(式(2)、式(6)及び式(9))、第1の不足時時定数τmin,+よりも大きい第2の不足時時定数τmax,+に基づいて補正量低減範囲の上限値bmaxが算出される(式(4)、式(7)及び式(8))。
 一方、残余再生時間差eが負である場合、第1の余剰時時定数τmin,-に基づいて補正量低減範囲の上限値bmaxが算出され(式(5)、式(7)及び式(8))、第1の余剰時時定数τmin,-よりも大きい第2の余剰時時定数τmax,-に基づいて補正量低減範囲の下限値bminが算出される(式(3)、式(6)及び式(9))。
 ところで、残余再生時間差eが正である場合、残余再生時間が不足することによりコンテンツの再生が途切れる可能性は、残余再生時間差eが負である場合よりも高い。そこで、上記配信システム1は、残余再生時間が目標値よりも小さい場合において、残余再生時間が目標値よりも大きい場合よりも早期に残余再生時間を目標値に一致させるように、時定数を設定している。具体的には、配信システム1は、上述したように、第2の不足時時定数τmax,+を、第2の余剰時時定数τmax,-よりも大きな(第2の不足時遅延時間τmax,+を、第2の余剰時遅延時間τmax,-よりも長い)値に設定している。
 ところで、後述するように、サーバ装置10は、第1の不足時時定数τmin,+から第2の不足時時定数τmax,+の範囲、又は、第1の余剰時時定数τmin,-から第2の余剰時時定数τmax,-の範囲内の時間後に、残余再生時間Tを目標値Tに一致させるように、サーバ装置10が送信しているコンテンツデータのビットレートを補正するための補正量を算出する。
 即ち、サーバ装置10は、残余再生時間Tが目標値Tよりも小さい場合において、残余再生時間Tが目標値Tよりも大きい場合よりも早期に残余再生時間Tを目標値Tに一致させるように、補正量を算出する。
 従って、配信システム1によれば、残余再生時間差eが正である場合、残余再生時間差eが負である場合よりも早期に残余再生時間Tを目標値Tに一致させることができる。
 これにより、残余再生時間差eが正である場合において、コンテンツの再生が途切れる可能性を小さくすることができる。一方、残余再生時間差eが負である場合において、補正量低減範囲を広げることができるので、ビットレートの変動をより一層低減することができる。
 このように、補正量低減範囲決定部13は、残余再生時間Tが目標値Tよりも小さい場合、第1の不足時遅延時間τmin,+後に残余再生時間Tを目標値Tに一致させるビットレートを第1のビットレートとして算出する。更に、この場合、補正量低減範囲決定部13は、当該第1の不足時遅延時間τmin,+よりも長い第2の不足時遅延時間τmax,+後に残余再生時間Tを目標値Tに一致させるビットレートを第2のビットレートとして算出する。
 そして、補正量低減範囲決定部13は、算出した第1のビットレート及び第2のビットレートのうちの大きい方(ここでは、第1のビットレート)を補正量低減範囲の上限値bmaxとして決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方(ここでは、第2のビットレート)を補正量低減範囲の下限値bminとして決定する。
 一方、補正量低減範囲決定部13は、残余再生時間Tが目標値Tよりも大きい場合、第1の余剰時遅延時間τmin,-後に残余再生時間Tを目標値Tに一致させるビットレートを第1のビットレートとして算出する。更に、この場合、補正量低減範囲決定部13は、当該第1の余剰時遅延時間τmin,-よりも長く且つ当該第2の不足時遅延時間τmax,+よりも長い第2の余剰時遅延時間τmax,-後に残余再生時間Tを目標値Tに一致させるビットレートを第2のビットレートとして算出する。
 そして、補正量低減範囲決定部13は、算出した第1のビットレート及び第2のビットレートのうちの大きい方(ここでは、第2のビットレート)を補正量低減範囲の上限値bmaxとして決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方(ここでは、第1のビットレート)を補正量低減範囲の下限値bminとして決定する。
 次に、配信システム1の他の機能について説明を続ける。
 ビットレート補正部14は、補正量低減範囲決定部13により決定された補正量低減範囲の上限値bmaxと、当該補正量低減範囲の下限値bminと、に基づいて、コンテンツ送信部12により送信されるコンテンツデータのビットレートを補正するための補正量を算出する。
 具体的には、ビットレート補正部14は、下記式(19)~式(21)に基づいてビットレート差eを算出する。
=bmax-b (b>bmaxのとき)  …(19)
=0 (bmin≦b≦bmaxのとき)  …(20)
=bmin-b (b<bminのとき)  …(21)
 即ち、ビットレート補正部14は、現時点にてコンテンツ送信部12により送信しているコンテンツデータのビットレートbが上記下限値bminよりも小さい場合、当該下限値bminから当該ビットレートbを減じた値bmin-bをビットレート差e(=bmin-b)として算出する。
 また、ビットレート補正部14は、上記ビットレートbが上記上限値bmaxよりも大きい場合、当該上限値bmaxから当該ビットレートbを減じた値bmax-bをビットレート差e(=bmax-b)として算出する。
 また、ビットレート補正部14は、上記ビットレートbが上記下限値bmin以上であり且つ上記上限値bmax以下である場合、ビットレート差eを「0」に設定する(即ち、ビットレート差eとして「0」を算出する)。なお、後述するように、ビットレート差eが「0」に設定されることは、ビットレートの補正量が「0」に設定されることに対応している。即ち、ビットレート補正部14は、ビットレートが補正量低減範囲内にある場合、補正量を0に設定する、と言うことができる。
 次いで、ビットレート補正部14は、上記算出したビットレート差eと、下記式(22)と、に基づいて補正量算出基礎値Δbを算出する。
Δb=K・e  …(22)
 ここで、Kは、比例ゲイン(比例係数)である。なお、本例では、ビットレート補正部14は、補正量算出基礎値Δbを、ビットレート差eに比例した比例項K・eのみからなる値として算出していたが、比例項と、ビットレート差eの時間積分値に比例した積分項、及び/又は、ビットレート差eの時間微分値に比例した微分項と、の和として算出するように構成されていてもよい。この場合、例えば、ビットレート補正部14は、下記式(23)に基づいて補正量算出基礎値Δbを算出する。ここで、Kは、積分ゲインであり、Kは、微分ゲインである。
Δb=K・e+K∫edt+K(de/dt)  …(23)
 そして、ビットレート補正部14は、上記算出した補正量算出基礎値Δbと、下記式(24)と、に基づいて、以降においてサーバ装置10が送信するコンテンツデータのビットレートb’を算出する。
b’=b+w・Δb  …(24)
 ここで、wは、下記式(25)に示したように、補正量算出基礎値Δbに応じて変化する関数である。
w=w(Δb)  …(25)
 関数wは、補正量算出基礎値Δbが負の値である(即ち、以降においてサーバ装置10が送信するコンテンツデータのビットレートを減少させる)場合、補正量算出基礎値Δbが正の値である(即ち、以降においてサーバ装置10が送信するコンテンツデータのビットレートを増加させる)場合よりも大きい正の値を有する関数である。
 本例では、関数wは、下記式(26)及び式(27)に従った関数である。
w=wup (Δb≧0のとき)  …(26)
w=wdown (Δb<0のとき)  …(27)
 ここで、wup=0.5であり、wdown=1である。即ち、ビットレート補正部14は、以降においてサーバ装置10が送信するコンテンツデータのビットレートを増加させる場合、算出された補正量算出基礎値Δbを半減させた値を補正量として用い、一方、以降においてサーバ装置10が送信するコンテンツデータのビットレートを減少させる場合、算出された補正量算出基礎値Δbをそのまま補正量として用いる。このような関数wを採用する理由について説明する。
 以降においてサーバ装置10が送信するコンテンツデータのビットレートを増加させることにより、残余再生時間の時間変化量は減少する。従って、以降においてサーバ装置10が送信するコンテンツデータのビットレートを増加させた場合、コンテンツの再生が途切れてしまう可能性が高くなる。そこで、この場合、比較的緩慢にビットレートを増加させることが好適であると考えられる。従って、本例では、補正量算出基礎値Δbが正の値である場合、関数wの値はwup(=0.5)に設定されている。
 一方、以降においてサーバ装置10が送信するコンテンツデータのビットレートを減少させる場合、既に、残余再生時間が目標値よりも小さいためにコンテンツの再生が途切れてしまう可能性が高い状態にある。従って、この場合、比較的迅速にビットレートを減少させることが好適であると考えられる。従って、本例では、補正量算出基礎値Δbが負の値である場合、関数wの値はwup(=0.5)よりも大きいwdown(=1)に設定されている。
 なお、本例では、関数wが1以下の値を有するように設定されているので、フィードバック制御の安定性が低下することを回避することができる。また、本例では、関数wは、補正量算出基礎値Δbが正の場合と負の場合とで、異なる2つの値を有する関数であったが、任意の関数であってもよい。
 このように、ビットレート補正部14は、サーバ装置10が送信しているコンテンツデータのビットレートbが上限値bmaxよりも大きい場合、上限値bmaxからビットレートbを減じた値eに予め設定された比例係数K・wを乗じた値K・w・e(=w・Δb)を補正量として算出している。
 また、ビットレート補正部14は、サーバ装置10が送信しているコンテンツデータのビットレートbが下限値bminよりも小さい場合、下限値bminからビットレートbを減じた値eに予め設定された比例係数K・wを乗じた値K・w・e(=w・Δb)を補正量として算出している。
 なお、本例では、上記式(1)~式(9)、式(19)、式(21)、式(22)及び式(24)~式(27)に基づいて、ビットレートの補正量を算出する方式は、補正量算出方式とも呼ばれる。
 このように、補正量低減範囲決定部13及びビットレート補正部14は、取得された残余再生時間Tと予め設定された目標値Tとに基づいて、残余再生時間Tを目標値Tに近づけるようにサーバ装置10が送信するコンテンツデータのビットレートを補正するための補正量を式(19)及び式(21)に基づいた補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更している。
 更に、補正量低減範囲決定部13及びビットレート補正部14は、ビットレートが補正量低減範囲内にある場合、式(20)に従ってビットレート差eを「0」に設定することにより、補正量として「0」を算出する。即ち、補正量低減範囲決定部13及びビットレート補正部14は、ビットレートが補正量低減範囲内にある場合、上記式(19)又は式(21)に従ってビットレート差eを算出した場合に(即ち、上記補正量算出方式に従って)算出される補正量の大きさよりも小さい大きさの補正量を算出する。
 次に、上述した配信システム1の作動について具体的に述べる。
 先ず、クライアント装置20は、ユーザからの指示に応じて、コンテンツデータを特定するための情報を含むコンテンツ送信要求をサーバ装置10へ送信する。
 一方、サーバ装置10は、クライアント装置20からコンテンツ送信要求を受信すると、そのコンテンツ送信要求により特定されるコンテンツデータをクライアント装置20へ送信する(コンテンツデータ送信工程)。
 そして、クライアント装置20は、サーバ装置10により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する(コンテンツ再生工程)。
 また、クライアント装置20のCPUは、図5にフローチャートにより示した受信側情報送信プログラムを、クライアント装置20の起動時に実行するようになっている。
 具体的に述べると、CPUは、受信側情報送信プログラムの処理を開始すると、ステップ505にて、所定の補正周期が経過するまで待機する。そして、CPUは、補正周期が経過すると、「Yes」と判定してステップ510へ進み、残余再生時間を取得する(残余再生時間取得工程)。
 次いで、CPUは、受信速度を取得し(ステップ515、受信速度取得工程)、続いて、再生速度を取得する(ステップ520、再生速度取得工程)。そして、CPUは、取得した残余再生時間T、取得した受信速度v、及び、取得した再生速度に応じた再生速度倍率pからなる受信側情報をサーバ装置10へ送信する(ステップ525)。その後、CPUは、ステップ505へ戻り、ステップ505~ステップ525の処理を繰り返し実行する。
 一方、サーバ装置10のCPUは、図6にフローチャートにより示したビットレート補正プログラムを、サーバ装置10の起動時に実行するようになっている。なお、このビットレート補正プログラムの処理は、ビットレート変更工程に対応している。
 具体的に述べると、CPUは、ビットレート補正プログラムの処理を開始すると、ステップ605にて、クライアント装置20から受信側情報を受信するまで待機する。そして、サーバ装置10が受信側情報を受信すると、CPUは、「Yes」と判定してステップ610へ進む。
 そして、CPUは、補正量低減範囲を決定するため、図7のフローチャートに示した補正量低減範囲決定プログラムを実行する。
 先ず、CPUは、ステップ705にて、受信した残余再生時間Tと、予め設定された目標値Tと、に基づいて、残余再生時間差eを算出する。
 次いで、CPUは、上記算出された残余再生時間差eと、予め設定された、第1の不足時時定数τmin,+、第2の不足時時定数τmax,+、第1の余剰時時定数τmin,-及び第2の余剰時時定数τmax,-と、に基づいて、残余再生時間の時間変化率Δxmax,Δxminを算出する(ステップ710)。
 そして、CPUは、上記算出された残余再生時間の時間変化率Δxmax,Δxmin
と、上記受信した受信側情報に含まれる再生速度倍率pと、に基づいて、メディア流速xmax,xminを算出する(ステップ715)。
 次いで、CPUは、上記算出されたメディア流速xmax,xminと、上記受信した受信側情報に含まれる受信速度vと、に基づいて、補正量低減範囲の上限値bmax及び補正量低減範囲の下限値bminを算出する(ステップ720)。
 そして、CPUは、この補正量低減範囲決定プログラムの実行を終了して図6のステップ615へ進む。
 次いで、CPUは、補正量を算出するため、図8のフローチャートに示した補正量算出プログラムを実行する。
 先ず、CPUは、ステップ805にて、現時点にて送信しているコンテンツデータのビットレートbと、上記算出された上限値bmax及び下限値bminと、に基づいて、ビットレート差eを算出する(ステップ805)。
 次いで、CPUは、上記算出されたビットレート差eに基づいて補正量算出基礎値Δbを算出する(ステップ810)。
 そして、CPUは、現時点にて送信しているコンテンツデータのビットレートbと、上記算出された補正量算出基礎値Δbと、に基づいて、以降においてサーバ装置10が送信するコンテンツデータのビットレートb’を算出する(ステップ815)。
 次いで、CPUは、この補正量算出プログラムの実行を終了して図6のステップ620へ進む。そして、CPUは、コンテンツデータ蓄積部11に記憶されているコンテンツデータが有するビットレートの中から、上記ステップ815にて算出されたビットレートb’よりも小さいビットレートのうちの最大のビットレートを選択する。そして、CPUは、クライアント装置20へ送信しているコンテンツデータのビットレートを、選択したビットレートに変更する。
 その後、CPUは、ステップ605へ戻り、ステップ605~ステップ620の処理を繰り返し実行する。
 次に、上述したように配信システム1が作動することによって生じる効果について図9及び図10を参照しながら説明する。
 図9は、配信システム1を用いて映像を表す映像データ(コンテンツデータ)をTCP(Transmission Control Protocol)に従って配信した場合における、映像データのビットレート(映像ビットレート)[kbps](左軸)の時間変化(点線C1)、及び、残余再生時間[秒](右軸)の時間変化(一点鎖線C2)を示したグラフである。このグラフは、図9に示した通信速度(TCP可用帯域)[kbps](左軸)の時間変化(実線C3)を仮定した場合のシミュレーション結果である。
 同様に、図10は、上記特許文献1に記載の配信システムを用いてコンテンツデータをTCPに従って配信した場合における、コンテンツデータのビットレート[kbps](左軸)の時間変化(点線C4)、及び、残余再生時間[秒](右軸)の時間変化(一点鎖線C5)を示したグラフである。このグラフも、図10に示した通信速度[kbps](左軸)の時間変化(実線C3)を仮定した場合のシミュレーション結果である。
 ここで、特許文献1に記載の配信システムは、残余再生時間と、目標値と、の差に比例した量をビットレートを補正するための補正量として算出するシステムである。
 また、上記シミュレーションにおいては、配信システム1及び特許文献1に記載の配信システムが、複数の異なるビットレートとしての、128[kbps]、256[kbps]、384[kbps]、768[kbps]、1024[kbps]、1536[kbps]、及び、2048[kbps]のそれぞれにて符号化したコンテンツデータを予め記憶し且つ送信可能に構成されている場合を想定している。
 なお、図10に示した通信速度の時間変化(実線C3)と、図9に示した通信速度の時間変化(実線C3)と、は同一である。この通信速度の時間変化は、ある広域無線網にて実測された600秒間(=10分間)のデータである。この通信速度は、数100[kbps]~2[Mbps]の範囲内で比較的激しく変動している。
 また、上記シミュレーションにおいては、配信システム1及び特許文献1に記載の配信システムが、配信するコンテンツデータのビットレートを1[秒]毎に補正するように構成されている場合を想定している。更に、上記シミュレーションにおいては、配信システム1及び特許文献1に記載の配信システムが、配信するコンテンツデータのビットレートを、上記送信可能な7つのビットレートのうちの、算出された補正後のビットレートよりも小さく且つ最大のビットレートに変更するように構成されている場合を想定している。
 更に、上記シミュレーションにおいては、配信システム1及び特許文献1に記載の配信システムが、残余再生時間の目標値を30[秒]に設定している場合を想定している。
 次に、配信システム1を用いた場合のシミュレーション結果と、特許文献1に記載の配信システムを用いた場合のシミュレーション結果と、を対比して説明する。
 先ず、ビットレートが変更された回数(ビットレート切り替え回数)に着目すると、配信システム1を用いた場合のビットレート切り替え回数は12[回]であり、特許文献1に記載の配信システムを用いた場合のビットレート切り替え回数は311[回]である。即ち、配信システム1を用いた場合のビットレート切り替え回数は、特許文献1に記載の配信システムを用いた場合よりも極めて少ない。
 このように、配信システム1を用いることにより、特許文献1に記載の配信システムを用いる場合よりも、ビットレートが変更される回数を低減することができる。この結果、配信システム1を用いることにより、特許文献1に記載の配信システムを用いる場合よりも、ユーザ体感品質を高くすることができる。
 次に、配信されるコンテンツデータのビットレートの平均値である平均ビットレートに着目すると、配信システム1を用いた場合の平均ビットレートは838.1[kbps]であり、特許文献1に記載の配信システムを用いた場合の平均ビットレートは836.3[kbps]である。即ち、配信システム1を用いた場合の平均ビットレートと、特許文献1に記載の配信システムを用いた場合の平均ビットレートと、は略等しい。
 このように、配信システム1を用いた場合、ビットレート切り替え回数が少ないにも関わらず、特許文献1に記載の配信システムを用いる場合と同様に比較的高いビットレートを有するコンテンツデータを配信することができる。
 次に、残余再生時間に着目する。配信システム1を用いた場合の残余再生時間は、比較的大きく変動している。しかしながら、残余再生時間が過度に少なくなることはない。従って、コンテンツの再生が途切れることが回避されている。
 更に、残余再生時間の目標値である30[秒]を下回った状態において、比較的大きく変動することはない。これは、配信システム1が、残余再生時間が目標値である30[秒]を下回った場合には迅速に残余再生時間を目標値に一致させるようにビットレートを補正し、一方、残余再生時間が目標値である30[秒]を上回った場合にはビットレートの変動をより一層抑制するように補正量を算出しているためである。
 一方、特許文献1に記載の配信システムを用いた場合の残余再生時間は、常に目標値である30[秒]付近にある。しかしながら、残余再生時間が目標値に近いことは、ユーザ体感品質に影響を及ぼさない。従って、本発明のように、コンテンツの再生を途切れさせない範囲において、ビットレートの切り替え回数を減少させることにより、ユーザ体感品質を向上させることが好適である。
 以上、説明したように、本発明による配信システムの第1実施形態によれば、ビットレートの変動量を低減することができる。より具体的に述べると、上記第1実施形態においては、ビットレートが補正量低減範囲内にある場合に、補正量として「0」を算出することにより、ビットレートの変動を回避することができる。この結果、ユーザ体感品質が過度に低下することを防止することができる。
 一方、上記配信システム1は、ビットレートが補正量低減範囲外にある場合、十分に大きな補正量に基づいてビットレートを変更するので、残余再生時間が過少又は過大となることを防止することができる。即ち、残余再生時間を適切に維持することができる。この結果、コンテンツの再生が途切れることを防止できるとともに、クライアント装置20の記憶装置に記憶されるデータ量が過大となることを防止することができる。
 このように、上記構成によれば、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
 また、上記第1実施形態は、取得された受信速度に基づいて補正量低減範囲を決定するように構成されている。
 これによれば、受信速度が変動する場合であっても、適切に補正量低減範囲を設定することができる。
 また、上記第1実施形態は、取得された再生速度に基づいて補正量低減範囲を決定するように構成されている。
 これによれば、複数の再生速度(例えば、スロー再生用の再生速度、等速再生用の再生速度、及び、倍速再生用の再生速度等)のいずれか1つにてコンテンツを再生可能なクライアント装置20を含む配信システム1においても、適切に補正量低減範囲を設定することができる。
 なお、上記第1実施形態に係る配信システム1は、4つの時定数に基づいて補正量低減範囲を決定するように構成されていた。ところで、上記第1実施形態の第1変形例に係る配信システム1は、2つの時定数に基づいて補正量低減範囲を決定するように構成されている。
 この配信システム1に係る補正量低減範囲決定部13は、下記式(28)~式(31)に基づいて、残余再生時間の時間変化率(時間微分値)Δxmax,Δxminを算出する。
Δxmax=e/τmin (e≧0のとき)  …(28)
Δxmax=e/τmax (e<0のとき)  …(29)
Δxmin=e/τmax (e≧0のとき)  …(30)
Δxmin=e/τmin (e<0のとき)  …(31)
 ここで、τminは、第1の時定数(第1の遅延時間)であり、τmaxは、第2の時定数(第2の遅延時間)である。第1の時定数τmin及び第2の時定数τmaxは、サーバ装置10の記憶装置に予め記憶されている。第2の時定数τmaxは、第1の時定数τminよりも長い。
 この第1変形例によっても、上記第1実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
 また、上記第1実施形態に係る配信システム1は、4つの時定数に基づいて補正量低減範囲を決定するように構成されていた。ところで、上記第1実施形態の第2変形例に係る配信システム1は、1つの時定数に基づいて補正量低減範囲を決定するように構成されている。
 この配信システム1に係る補正量低減範囲決定部13は、下記式(32)~式(34)に基づいて、補正量低減範囲の基準値bを算出する。
Δx=e/τ  …(32)
=p+Δx   …(33)
=v/x    …(34)
 ここで、τは、時定数(遅延時間)であり、サーバ装置10の記憶装置に予め記憶されている。
 そして、補正量低減範囲決定部13は、上記算出された補正量低減範囲の基準値bと、予め設定された値bth[bps]と、下記式(35)及び式(36)と、に基づいて、補正量低減範囲の上限値bmax及び下限値bminを算出する。ここで、値bthは、サーバ装置10の記憶装置に予め記憶された正の値である。
max=b+bth  …(35)
min=b-bth  …(36)
 この第2変形例によっても、上記第1実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
 また、上記第1実施形態の他の変形例に係る配信システム1は、任意の数の時定数(ここでは、m個)に基づいて、任意の数(ここでは、n個)の、補正量低減範囲の基準値を算出し、算出した基準値に基づいて補正量低減範囲を決定するように構成されていてもよい。
 m=nの場合、配信システム1は、m個の時定数のそれぞれに対して、式(15)及び式(18)を用いることにより、m個の基準値を算出する。
 一方、m>nの場合、配信システム1は、複数の時定数から1つの基準値を算出する。即ち、この場合、配信システム1は、1つの基準値を算出するために用いる時定数を残余再生時間差e(=T-T)の値に応じて変更することにより、複数の時定数と、式(15)及び式(18)と、に基づいて1つの基準値を算出する。
 そして、配信システム1は、算出されたn個の基準値に基づいて、補正量低減範囲を決定する。n=1の場合、上記第2変形例に係る説明の通り、配信システム1は、算出された基準値と所定値bthとに基づいて補正量低減範囲を決定する。
 また、n≧2の場合、配信システム1は、算出されたn個の基準値のうちの最大の基準値を、補正量低減範囲の上限値bmaxとして決定するとともに、算出されたn個の基準値のうちの最小の基準値を、補正量低減範囲の下限値bminとして決定する。
 更に、この場合、配信システム1は、下記式(37)~式(39)に基づいてビットレート差eを算出するように構成されていてもよい。
=FSup(b) (b>bmax)  …(37)
=F(b) (b∈BLim(k),k=1,2,…,n-2)  …(38)
=FInf(b) (b<bmin)  …(39)
 ここで、BLim(k)は、下記式(40)により定められる範囲である。なお、上記算出されたn個の基準値を小さい方から順に、b(0),b(1),b(2),…,b(n-1)とおく。
Lim(k)={b|b(k)≦b≦b(k+1)}
                  (k=0,1,…,n-2)  …(40)
 また、関数FSup,F,FInfは、現時点にてサーバ装置10が送信しているコンテンツデータのビットレートbが、補正量低減範囲から大きく外れるほど、大きさが大きくなる値を有する関数である。
 例えば、上記第1変形例に係る配信システム1においては、n=2であり、b(0)=bmin,b(1)=bmaxとなる。また、BLim(0)={b|bmin≦b≦bmax}であり、FSup(b)=bmax-b,F(b)=0,FInf(b)=bmin-bとなる。
 即ち、現時点にてサーバ装置10が送信しているコンテンツデータのビットレートbが補正量低減範囲内にある場合、ビットレート差e=0とし、ビットレートbが補正量低減範囲外にある場合、ビットレートbと補正量低減範囲の境界との差をビットレート差eとしている。
 なお、ビットレート差eに基づいて、以降において送信するコンテンツデータのビットレートb’を算出する方法については上述したとおりである。
 また、上記第1実施形態に係る配信システム1は、残余再生時間差eを時定数τにより除した値を、残余再生時間の時間変化率(時間微分値)Δxとして算出していた。ところで、上記第1実施形態の他の変形例に係る配信システム1は、下記式(41)に基づいて、残余再生時間の時間変化率Δxを算出するように構成されていてもよい。
Δx=G(e)  …(41)
 ここで、G(e)は残余再生時間差eの関数である。例えば、G(e)は、下記式(42)に示した関数であってもよい。
G(e)=L・e+L・∫edt+L・(de/dt)  …(42)
 ここで、Lは、比例ゲインであり、Lは、積分ゲインであり、Lは、微分ゲインである。また、∫edtは、積分区間[0,t]におけるeの時間tに関する積分値を表し、de/dtは、時刻tにおけるeの時間tに関する微分値を表す。
<第2実施形態>
 次に、本発明の第2実施形態に係る配信システムについて説明する。第2実施形態に係る配信システムは、上記第1実施形態に係る配信システムに対して、クライアント装置がビットレートを補正するための補正量を算出するように構成されている点において相違している。従って、以下、かかる相違点を中心として説明する。
 この第2実施形態に係るサーバ装置10の機能は、図11に示したように、コンテンツデータ蓄積部11と、コンテンツ送信部12と、を含む。コンテンツデータ蓄積部11及びコンテンツ送信部12は、上記第1実施形態に係るコンテンツデータ蓄積部11及びコンテンツ送信部12と同様の機能を有する。
 また、第2実施形態に係るクライアント装置20の機能は、コンテンツ受信部21と、コンテンツバッファ部22と、コンテンツ再生部23と、受信速度取得部24と、残余再生時間取得部25と、再生速度取得部26と、補正量低減範囲決定部27と、ビットレート補正部28と、ビットレート変更要求送信部29と、を含む。補正量低減範囲決定部27~ビットレート変更要求送信部29は、ビットレート変更要求送信手段を構成している。
 コンテンツ受信部21~再生速度取得部26は、上記第1実施形態に係るコンテンツ受信部21~再生速度取得部26と同様の機能を有する。また、補正量低減範囲決定部27は、上記第1実施形態に係る補正量低減範囲決定部13と同様の機能を有する。更に、ビットレート補正部28は、上記第1実施形態に係るビットレート補正部14と同様の機能を有する。
 ビットレート変更要求送信部29は、ビットレート補正部28により算出された、以降においてサーバ装置10が送信するコンテンツデータのビットレートb’を含むビットレート変更要求をサーバ装置10へ送信する。即ち、ビットレート変更要求は、算出された補正量に基づいて、サーバ装置10が送信するコンテンツデータのビットレートを変更する旨を要求する情報である、と言うことができる。
 本例では、コンテンツ送信部12は、RTP(Real-Time Transport Protocol)に従って、クライアント装置20へコンテンツデータを送信するように構成されている。更に、ビットレート変更要求送信部29は、RTCP(RTP Control Protocol)に従って、ビットレート変更要求をサーバ装置10へ送信するように構成されている。この場合、ビットレート変更要求送信部29は、任意の拡張を実施可能なAPP(Application)パケットを用いることが好適である。
 また、コンテンツ送信部12がRTP以外のプロトコルに従ってクライアント装置20へコンテンツデータを送信する場合には、ビットレート変更要求送信部29は、RTCP以外のプロトコルに従って、ビットレート変更要求をサーバ装置10へ送信するように構成されていてもよい。
 コンテンツ送信部12は、クライアント装置20からビットレート変更要求を受信すると、コンテンツデータ蓄積部11に記憶されているコンテンツデータが有するビットレートの中から、ビットレート変更要求に含まれるビットレートb’よりも小さいビットレートのうちの最大のビットレートを選択する。そして、コンテンツ送信部12は、クライアント装置20へ送信しているコンテンツデータのビットレートを、選択したビットレートに変更する。
 この第2実施形態に係る配信システム1によっても、上記第1実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
<第3実施形態>
 次に、本発明の第3実施形態に係る配信システムについて図12を参照しながら説明する。
 第3実施形態に係る配信システム100は、互いに通信可能に構成されたサーバ装置110及びクライアント装置120を含む。
 サーバ装置110は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータをクライアント装置120へ送信可能に構成される。
 クライアント装置120は、サーバ装置110により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生するように構成される。
 配信システム100の機能は、残余再生時間取得部(残余再生時間取得手段)130と、ビットレート変更部(ビットレート変更手段)140と、を含む。
 残余再生時間取得部130は、クライアント装置120の記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいてコンテンツを再生可能な時間である残余再生時間を取得する。
 ビットレート変更部140は、残余再生時間取得部130により取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるようにサーバ装置110が送信するコンテンツデータのビットレートを補正するための補正量を所定の補正量算出方式に従って算出する。このとき、ビットレート変更部140は、ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 そして、ビットレート変更部140は、算出した補正量に基づいて上記ビットレートを変更する。
 これによれば、ビットレートの変動量を低減することができる。例えば、ビットレートが補正量低減範囲内にある場合に、補正量として「0」を算出することにより、ビットレートの変動を回避することができる。この結果、ユーザ体感品質が過度に低下することを防止することができる。
 一方、配信システム100は、ビットレートが補正量低減範囲外にある場合、十分に大きな補正量に基づいてビットレートを変更するので、残余再生時間が過少又は過大となることを防止することができる。即ち、残余再生時間を適切に維持することができる。この結果、コンテンツの再生が途切れることを防止できるとともに、クライアント装置120の記憶装置に記憶されるデータ量が過大となることを防止することができる。
 このように、上記構成によれば、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
 この場合、上記配信システムは、
 上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
 上記ビットレート変更手段は、
 上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
 これによれば、受信速度が変動する場合であっても、適切に補正量低減範囲を設定することができる。
 この場合、上記ビットレート変更手段は、
 上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
 これによれば、残余再生時間を目標値により確実に収束させることができる。
 この場合、上記ビットレート変更手段は、
 第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
 上記構成のように、補正量低減範囲の上限値及び下限値を決定することにより、残余再生時間が目標値に近くなるほど狭くなる補正量低減範囲を容易に設定することができる。
 この場合、上記ビットレート変更手段は、
 上記残余再生時間が上記目標値よりも小さい場合において、上記残余再生時間が上記目標値よりも大きい場合よりも早期に上記残余再生時間を上記目標値に一致させるように、上記補正量を算出するように構成されることが好適である。
 これによれば、コンテンツの再生が途切れることを確実に防止することができる。
 この場合、上記ビットレート変更手段は、
 上記残余再生時間が上記目標値よりも小さい場合、第1の不足時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第1のビットレートとして算出するとともに、当該第1の不足時遅延時間よりも長い第2の不足時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第2のビットレートとして算出し、一方、上記残余再生時間が上記目標値よりも大きい場合、第1の余剰時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第1のビットレートとして算出するとともに、当該第1の余剰時遅延時間よりも長く且つ当該第2の不足時遅延時間よりも長い第2の余剰時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第2のビットレートとして算出するように構成されることが好適である。
 この場合、上記配信システムは、
 上記クライアント装置が上記コンテンツを再生する速度である再生速度を取得する再生速度取得手段を備えるとともに、
 上記ビットレート変更手段は、
 上記取得された再生速度に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
 これによれば、複数の再生速度(例えば、スロー再生用の再生速度、等速再生用の再生速度、及び、倍速再生用の再生速度等)のいずれか1つにてコンテンツを再生可能なクライアント装置を含む配信システムにおいても、適切に補正量低減範囲を設定することができる。
 この場合、上記ビットレート変更手段は、
 上記目標値から、上記取得された残余再生時間を減じた値を、上記第1の遅延時間又は上記第2の遅延時間により除した値を上記残余再生時間の時間微分値として推定し、当該推定した時間微分値に基づいて上記第1のビットレート又は上記第2のビットレートを算出するように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 上記サーバ装置が送信しているコンテンツデータのビットレートが上記上限値よりも大きい場合、当該上限値と、当該ビットレートと、の差に基づいて上記補正量を算出するように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 上記サーバ装置が送信しているコンテンツデータのビットレートが上記上限値よりも大きい場合、当該上限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を上記補正量として算出するように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 上記サーバ装置が送信しているコンテンツデータのビットレートが上記下限値よりも小さい場合、当該下限値と、当該ビットレートと、の差に基づいて上記補正量を算出するように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 上記サーバ装置が送信しているコンテンツデータのビットレートが上記下限値よりも小さい場合、当該下限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を上記補正量として算出するように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 上記サーバ装置が送信しているコンテンツデータのビットレートが上記補正量低減範囲内にある場合、上記補正量を0に設定するように構成されることが好適である。
 また、本発明の他の形態である配信方法は、
 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、上記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される方法である。
 更に、この配信方法は、
 上記サーバ装置が上記コンテンツデータを上記クライアント装置へ送信し、
 上記クライアント装置が、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生し、
 上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得し、
 上記ビットレートが所定の補正量低減範囲内にない場合、上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、上記ビットレートが当該補正量低減範囲内にある場合、上記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
 上記算出された補正量に基づいて、上記サーバ装置が送信するコンテンツデータの上記ビットレートを変更する方法である。
 この場合、上記配信方法は、
 上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得し、
 上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
 この場合、上記配信方法は、
 上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
 この場合、上記配信方法は、
 第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
 また、本発明の他の形態であるサーバ装置は、クライアント装置と通信可能に構成された装置である。
 更に、このサーバ装置は、
 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
 上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
 上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
 を備える。
 加えて、上記ビットレート変更手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 この場合、上記サーバ装置は、
 上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を備えるとともに、
 上記ビットレート変更手段は、
 上記受信された受信速度と、上記受信された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 上記受信された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
 また、本発明の他の形態であるプログラムは、
 クライアント装置と通信可能に構成されるとともに、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成されたサーバ装置に、
 上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
 上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
 を実現させるためのプログラムである。
 加えて、上記ビットレート変更手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 この場合、上記プログラムは、
 上記サーバ装置に、更に、
 上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を実現させるとともに、
 上記ビットレート変更手段は、
 上記受信された受信速度と、上記受信された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 上記受信された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
 この場合、上記ビットレート変更手段は、
 第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
 また、本発明の他の形態であるクライアント装置は、
 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成された装置である。
 更に、このクライアント装置は、
 上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成され、
 上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
 上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
 を備える。
 加えて、上記ビットレート変更要求送信手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 この場合、上記クライアント装置は、
 上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
 上記ビットレート変更要求送信手段は、
 上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
 この場合、上記ビットレート変更要求送信手段は、
 上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
 この場合、上記ビットレート変更要求送信手段は、
 第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
 また、本発明の他の形態であるプログラムは、
 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成されたクライアント装置に、
 上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
 上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
 を実現させるためのプログラムである。
 加えて、上記ビットレート変更要求送信手段は、
 上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
 この場合、上記プログラムは、
 上記クライアント装置に、更に、
 上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を実現させるとともに、
 上記ビットレート変更要求送信手段は、
 上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
 この場合、上記ビットレート変更要求送信手段は、
 上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
 この場合、上記ビットレート変更要求送信手段は、
 第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
 上述した構成を有する、配信方法、サーバ装置、プログラム、又は、クライアント装置、の発明であっても、上記配信システムと同様の作用を有するために、上述した本発明の目的を達成することができる。
 以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
 例えば、上記各実施形態においては、サーバ装置10又はクライアント装置20がビットレートの補正量を算出するように構成されていたが、サーバ装置10及びクライアント装置20以外の情報処理装置が補正量を算出するように構成されていてもよい。
 また、上記各実施形態は、サーバ装置10が送信しているコンテンツデータのビットレートが補正量低減範囲内にある場合、補正量を「0」に設定するように構成されていたが、補正量を大きさ(絶対値)が「0」よりも大きな値に設定するように構成されていてもよい。この場合、配信システム1は、サーバ装置10が送信しているコンテンツデータのビットレートが補正量低減範囲外にある場合に補正量を算出するために用いる補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出する。
 なお、上記各実施形態において配信システム1の各機能は、CPUがプログラム(ソフトウェア)を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
 また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
 また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
 なお、本発明は、日本国にて2009年1月27日に出願された特願2009-015262の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願にて開示された内容のすべてが本明細書に含まれるものとする。
 本発明は、サーバ装置からクライアント装置へコンテンツデータを配信するコンテンツ配信システム等に適用可能である。
1   配信システム
10  サーバ装置
11  コンテンツデータ蓄積部
12  コンテンツ送信部
13  補正量低減範囲決定部
14  ビットレート補正部
20  クライアント装置
21  コンテンツ受信部
22  コンテンツバッファ部
23  コンテンツ再生部
24  受信速度取得部
25  残余再生時間取得部
26  再生速度取得部
27  補正量低減範囲決定部
28  ビットレート補正部
29  ビットレート変更要求送信部
100 配信システム
110 サーバ装置
120 クライアント装置
130 残余再生時間取得部
140 ビットレート変更部
NW  通信回線
 

Claims (33)

  1.  互いに通信可能に構成されたサーバ装置及びクライアント装置を含む配信システムであって、
     前記サーバ装置は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成され、
     前記クライアント装置は、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成され、
     前記クライアント装置の前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
     前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
     を備えるとともに、
     前記ビットレート変更手段は、
     前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成された配信システム。
  2.  請求項1に記載の配信システムであって、
     前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
     前記ビットレート変更手段は、
     前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成された配信システム。
  3.  請求項1又は請求項2に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成された配信システム。
  4.  請求項3に記載の配信システムであって、
     前記ビットレート変更手段は、
     第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成された配信システム。
  5.  請求項1乃至請求項4のいずれか一項に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記残余再生時間が前記目標値よりも小さい場合において、前記残余再生時間が前記目標値よりも大きい場合よりも早期に前記残余再生時間を前記目標値に一致させるように、前記補正量を算出するように構成された配信システム。
  6.  請求項5に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記残余再生時間が前記目標値よりも小さい場合、第1の不足時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第1のビットレートとして算出するとともに、当該第1の不足時遅延時間よりも長い第2の不足時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第2のビットレートとして算出し、一方、前記残余再生時間が前記目標値よりも大きい場合、第1の余剰時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第1のビットレートとして算出するとともに、当該第1の余剰時遅延時間よりも長く且つ当該第2の不足時遅延時間よりも長い第2の余剰時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第2のビットレートとして算出するように構成された配信システム。
  7.  請求項1乃至請求項6のいずれか一項に記載の配信システムであって、
     前記クライアント装置が前記コンテンツを再生する速度である再生速度を取得する再生速度取得手段を備えるとともに、
     前記ビットレート変更手段は、
     前記取得された再生速度に基づいて前記補正量低減範囲を決定するように構成された配信システム。
  8.  請求項4乃至請求項7のいずれか一項に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記目標値から、前記取得された残余再生時間を減じた値を、前記第1の遅延時間又は前記第2の遅延時間により除した値を前記残余再生時間の時間微分値として推定し、当該推定した時間微分値に基づいて前記第1のビットレート又は前記第2のビットレートを算出するように構成された配信システム。
  9.  請求項1乃至請求項8のいずれか一項に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記サーバ装置が送信しているコンテンツデータのビットレートが前記上限値よりも大きい場合、当該上限値と、当該ビットレートと、の差に基づいて前記補正量を算出するように構成された配信システム。
  10.  請求項9に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記サーバ装置が送信しているコンテンツデータのビットレートが前記上限値よりも大きい場合、当該上限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を前記補正量として算出するように構成された配信システム。
  11.  請求項1乃至請求項10のいずれか一項に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記サーバ装置が送信しているコンテンツデータのビットレートが前記下限値よりも小さい場合、当該下限値と、当該ビットレートと、の差に基づいて前記補正量を算出するように構成された配信システム。
  12.  請求項11に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記サーバ装置が送信しているコンテンツデータのビットレートが前記下限値よりも小さい場合、当該下限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を前記補正量として算出するように構成された配信システム。
  13.  請求項1乃至請求項12のいずれか一項に記載の配信システムであって、
     前記ビットレート変更手段は、
     前記サーバ装置が送信しているコンテンツデータのビットレートが前記補正量低減範囲内にある場合、前記補正量を0に設定するように構成された配信システム。
  14.  1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、前記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される配信方法であって、
     前記サーバ装置が前記コンテンツデータを前記クライアント装置へ送信し、
     前記クライアント装置が、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生し、
     前記クライアント装置の前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得し、
     前記ビットレートが所定の補正量低減範囲内にない場合、前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、前記ビットレートが当該補正量低減範囲内にある場合、前記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
     前記算出された補正量に基づいて、前記サーバ装置が送信するコンテンツデータの前記ビットレートを変更する、配信方法。
  15.  請求項14に記載の配信方法であって、
     前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得し、
     前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成された配信方法。
  16.  請求項14又は請求項15に記載の配信方法であって、
     前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成された配信方法。
  17.  請求項16に記載の配信方法であって、
     第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成された配信方法。
  18.  クライアント装置と通信可能に構成されたサーバ装置であって、
     1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成され、
     前記コンテンツデータのうちの前記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
     前記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記クライアント装置へ送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
     を備えるとともに、
     前記ビットレート変更手段は、
     前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されたサーバ装置。
  19.  請求項18に記載のサーバ装置であって、
     前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を備えるとともに、
     前記ビットレート変更手段は、
     前記受信された受信速度と、前記受信された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたサーバ装置。
  20.  請求項18又は請求項19に記載のサーバ装置であって、
     前記ビットレート変更手段は、
     前記受信された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたサーバ装置。
  21.  請求項20に記載のサーバ装置であって、
     前記ビットレート変更手段は、
     第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたサーバ装置。
  22.  クライアント装置と通信可能に構成されるとともに、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成されたサーバ装置に、
     前記コンテンツデータのうちの前記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
     前記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記クライアント装置へ送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
     を実現させるとともに、
     前記ビットレート変更手段は、
     前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されたプログラム。
  23.  請求項22に記載のプログラムであって、
     前記サーバ装置に、更に、
     前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を実現させるとともに、
     前記ビットレート変更手段は、
     前記受信された受信速度と、前記受信された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたプログラム。
  24.  請求項22又は請求項23に記載のプログラムであって、
     前記ビットレート変更手段は、
     前記受信された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたプログラム。
  25.  請求項24に記載のプログラムであって、
     前記ビットレート変更手段は、
     第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたプログラム。
  26.  1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されたクライアント装置であって、
     前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成され、
     前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
     前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を前記サーバ装置へ送信するビットレート変更要求送信手段と、
     を備えるとともに、
     前記ビットレート変更要求送信手段は、
     前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されたクライアント装置。
  27.  請求項26に記載のクライアント装置であって、
     前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
     前記ビットレート変更要求送信手段は、
     前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたクライアント装置。
  28.  請求項26又は請求項27に記載のクライアント装置であって、
     前記ビットレート変更要求送信手段は、
     前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたクライアント装置。
  29.  請求項28に記載のクライアント装置であって、
     前記ビットレート変更要求送信手段は、
     第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたクライアント装置。
  30.  1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成されたクライアント装置に、
     前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
     前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を前記サーバ装置へ送信するビットレート変更要求送信手段と、
     を実現させるとともに、
     前記ビットレート変更要求送信手段は、
     前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されたプログラム。
  31.  請求項30に記載のプログラムであって、
     前記クライアント装置に、更に、
     前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を実現させるとともに、
     前記ビットレート変更要求送信手段は、
     前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたプログラム。
  32.  請求項30又は請求項31に記載のプログラムであって、
     前記ビットレート変更要求送信手段は、
     前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたプログラム。
  33.  請求項32に記載のプログラムであって、
     前記ビットレート変更要求送信手段は、
     第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたプログラム。
     
PCT/JP2010/000158 2009-01-27 2010-01-14 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置 WO2010087113A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/145,083 US8909809B2 (en) 2009-01-27 2010-01-14 Delivery system, delivery method, server device, program, and client device
JP2010548388A JP5494495B2 (ja) 2009-01-27 2010-01-14 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置
EP10735585.1A EP2393294B1 (en) 2009-01-27 2010-01-14 Delivery system, delivery method, server device, program and client device
US14/306,438 US9319739B2 (en) 2009-01-27 2014-06-17 Delivery system, delivery method, server device, program, and client device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009015262 2009-01-27
JP2009-015262 2009-01-27

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/145,083 A-371-Of-International US8909809B2 (en) 2009-01-27 2010-01-14 Delivery system, delivery method, server device, program, and client device
US14/306,438 Continuation US9319739B2 (en) 2009-01-27 2014-06-17 Delivery system, delivery method, server device, program, and client device

Publications (1)

Publication Number Publication Date
WO2010087113A1 true WO2010087113A1 (ja) 2010-08-05

Family

ID=42395379

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/000158 WO2010087113A1 (ja) 2009-01-27 2010-01-14 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置

Country Status (4)

Country Link
US (2) US8909809B2 (ja)
EP (1) EP2393294B1 (ja)
JP (1) JP5494495B2 (ja)
WO (1) WO2010087113A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2393294B1 (en) * 2009-01-27 2018-07-11 Nec Corporation Delivery system, delivery method, server device, program and client device
ES2734356T3 (es) * 2011-12-21 2019-12-05 Nec Corp Sistema de entrega de contenido
JP6354197B2 (ja) * 2013-03-15 2018-07-11 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
EP2806633A1 (en) * 2013-05-23 2014-11-26 Alcatel Lucent Method and apparatus for improved network optimization for providing video from a plurality of sources to a plurality of clients
JP2015115756A (ja) 2013-12-11 2015-06-22 ソニー株式会社 通信制御装置、通信制御方法及びプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09294267A (ja) * 1996-04-25 1997-11-11 Matsushita Electric Ind Co Ltd 画像圧縮符号化装置
JPH11262008A (ja) * 1997-12-08 1999-09-24 Sony Corp 符号化装置及び方法
JP2004172830A (ja) 2002-11-19 2004-06-17 Kddi Corp 動画像符号化ビットレート選択方式
JP2007312051A (ja) * 2006-05-18 2007-11-29 Matsushita Electric Ind Co Ltd セットトップボックス
WO2008108379A1 (ja) * 2007-02-28 2008-09-12 Nec Corporation メディア配信システム、配信サーバ装置及びそれらに用いるメディア配信方法並びにそのプログラム
JP2008301309A (ja) * 2007-06-01 2008-12-11 Panasonic Corp 符号化レート制御方法、符号化レートを制御する伝送装置、プログラム記憶媒体及び集積回路
JP2009015262A (ja) 2007-07-09 2009-01-22 Sharp Corp 表示制御装置、表示制御装置の制御方法、表示制御装置制御プログラム、および該プログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845107B1 (en) * 1997-10-15 2005-01-18 Sony Corporation Video data multiplexer, video data multiplexing control method, method and apparatus for multiplexing encoded stream, and encoding method and apparatus
US20020003941A1 (en) * 2000-06-26 2002-01-10 Eiichi Hatae Remaining recordable time calculation apparatus that converts amount of free area of recording medium into time
JP2004013283A (ja) * 2002-06-04 2004-01-15 Hitachi Ltd コンテンツ配信方法及びコンテンツ配信装置
US7450646B2 (en) * 2002-06-04 2008-11-11 Panasonic Corporation Image data transmitting apparatus and method and image data reproducing apparatus and method
CN1723702B (zh) * 2003-02-13 2010-04-28 松下电器产业株式会社 数据处理装置
US20060168632A1 (en) * 2004-02-20 2006-07-27 Yoshimasa Honda Video reception device, video transmission device, and video transmission system
US7536469B2 (en) 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
JP4207950B2 (ja) * 2005-10-27 2009-01-14 ソニー株式会社 番組予約システム、記録装置及びコントローラ装置
WO2007072957A1 (en) * 2005-12-19 2007-06-28 Matsushita Electric Industrial Co., Ltd. Recording apparatus with remaining capacity detection unit
JP2007294052A (ja) * 2006-04-27 2007-11-08 Hitachi Ltd 情報記録装置
JP5014344B2 (ja) * 2006-08-08 2012-08-29 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
US8275237B2 (en) * 2007-08-30 2012-09-25 Canon Kabushiki Kaisha Moving image reproducing apparatus
EP2393294B1 (en) * 2009-01-27 2018-07-11 Nec Corporation Delivery system, delivery method, server device, program and client device
WO2011018868A1 (ja) * 2009-08-10 2011-02-17 日本電気株式会社 配信システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09294267A (ja) * 1996-04-25 1997-11-11 Matsushita Electric Ind Co Ltd 画像圧縮符号化装置
JPH11262008A (ja) * 1997-12-08 1999-09-24 Sony Corp 符号化装置及び方法
JP2004172830A (ja) 2002-11-19 2004-06-17 Kddi Corp 動画像符号化ビットレート選択方式
JP2007312051A (ja) * 2006-05-18 2007-11-29 Matsushita Electric Ind Co Ltd セットトップボックス
WO2008108379A1 (ja) * 2007-02-28 2008-09-12 Nec Corporation メディア配信システム、配信サーバ装置及びそれらに用いるメディア配信方法並びにそのプログラム
JP2008301309A (ja) * 2007-06-01 2008-12-11 Panasonic Corp 符号化レート制御方法、符号化レートを制御する伝送装置、プログラム記憶媒体及び集積回路
JP2009015262A (ja) 2007-07-09 2009-01-22 Sharp Corp 表示制御装置、表示制御装置の制御方法、表示制御装置制御プログラム、および該プログラムを記録したコンピュータ読み取り可能な記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2393294A4

Also Published As

Publication number Publication date
US9319739B2 (en) 2016-04-19
US20140297730A1 (en) 2014-10-02
US20110276714A1 (en) 2011-11-10
EP2393294A1 (en) 2011-12-07
JP5494495B2 (ja) 2014-05-14
JPWO2010087113A1 (ja) 2012-07-26
US8909809B2 (en) 2014-12-09
EP2393294B1 (en) 2018-07-11
EP2393294A4 (en) 2014-10-08

Similar Documents

Publication Publication Date Title
JP5673538B2 (ja) 配信システム
US10200432B2 (en) HTTP streaming client adaptation algorithm based on proportional-integral control
US9313249B2 (en) Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
JP5339007B1 (ja) コンテンツ配信システム
JP5494495B2 (ja) 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置
KR101982290B1 (ko) 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법
JP2013135471A (ja) マルチパス環境におけるアダプティブストリーミングのためのシステムと方法
WO2013002828A2 (en) Systems and methods for determining available bandwidth and performing initial stream selection when commencing streaming using hypertext transfer protocol
JP5804060B2 (ja) パラメータ推定装置、パラメータ推定方法、及び、パラメータ推定プログラム
CN104022845A (zh) 调整数据块比特率的方法、装置和系统
JP2011061533A (ja) コンテンツ配信システム、体感品質推定装置、方法、及び、プログラム
Baik et al. VSync: Cloud based video streaming service for mobile devices
KR101491604B1 (ko) 다중 채널을 이용한 콘텐츠 제공 방법 및 시스템
Kim et al. Content-aware rate adaptation scheme to improve stability in HTTP Adaptive Streaming
JP2007312051A (ja) セットトップボックス
EP2715987B1 (en) Method and apparatus for streaming multimedia contents
JPWO2010109752A1 (ja) 通信システム
Iwamoto et al. Rate adaptation with Bayesian attractor model for MPEG-DASH
Riad et al. A channel variation-aware algorithm for enhanced video streaming quality
JP2011180810A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信装置、コンテンツ計測装置、及びプログラム
IWAMOTO et al. Adaptive rate control based on a human cognitive model toward individual user QoE improvement
JP2023004668A (ja) 配信装置、配信方法及び配信プログラム

Legal Events

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

Ref document number: 10735585

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010548388

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2010735585

Country of ref document: EP

Ref document number: 13145083

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE