US20210120067A1 - Quality prediction apparatus, quality prediction method and program - Google Patents
Quality prediction apparatus, quality prediction method and program Download PDFInfo
- Publication number
- US20210120067A1 US20210120067A1 US16/965,256 US201916965256A US2021120067A1 US 20210120067 A1 US20210120067 A1 US 20210120067A1 US 201916965256 A US201916965256 A US 201916965256A US 2021120067 A1 US2021120067 A1 US 2021120067A1
- Authority
- US
- United States
- Prior art keywords
- throughput
- data
- terminal
- video
- acquire
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000010586 diagram Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
Definitions
- the present invention relates to a quality prediction apparatus, a quality prediction method, and a program.
- ABR Adaptive Bitrate Selection
- a method for controlling the ABR scheme includes a technology in which a client terminal reproducing a video actually measures a throughput or buffer occupation amount of the video data that is downloaded while the video is being viewed to predict a throughput in the next downloading and determine a streaming bit rate (Non Patent Literature 1).
- a streaming server accessed by the client terminal may be switched halfway through the video data for some reasons, and such a situation may occur even when the ABR scheme is adopted.
- An object of the present invention which has been made in consideration of the above circumstance, is to enable an efficient prediction of a throughput for video data streaming.
- a quality prediction apparatus includes a first acquisition unit acquiring a first throughput for an access network of a terminal from the terminal, the terminal acquiring video data in a divided state from a plurality of video streaming servers, a second acquisition unit acquiring a second throughput for a core network to which the plurality of video streaming servers connect, the terminal being to acquire the video data from one of the video streaming servers, and a prediction unit selecting smaller one of the first throughput and the second throughput as a prediction value of a throughput for the video data to be acquired.
- the efficient prediction of the throughput for the video data streaming can be enabled.
- FIG. 1 is a diagram illustrating a network configuration example according to a first embodiment.
- FIG. 2 is a diagram illustrating a hardware configuration example of a quality prediction server 10 according to the first embodiment.
- FIG. 3 is a diagram illustrating a functional configuration example according to the first embodiment.
- FIG. 4 is a flowchart illustrating an example of a processing procedure performed by a client terminal 20 according to the first embodiment.
- FIG. 5 is a flowchart illustrating an example of a processing procedure performed by the quality prediction server 10 according to the first embodiment.
- FIG. 6 is a diagram illustrating a functional configuration example according to a fourth embodiment.
- FIG. 1 is a diagram illustrating a network configuration example according to a first embodiment.
- a plurality of video streaming servers 30 are connected with a quality prediction server 10 via a core network N 1 .
- a client terminal 20 is connected with the core network N 1 via an access network N 2 . Accordingly, the client terminal 20 is communicable with the respective video streaming servers 30 or the quality prediction server 10 via the access network N 2 .
- the video streaming servers 30 correspond to one or more computers that provide a video data (moving picture data) streaming service (hereinafter, referred to as “video streaming service”) to the client terminal 20 .
- the video data streaming in compliance with ABR (Adaptive Bitrate Streaming). Specifically, video data is re-encoded at some patterns of bit rates on a chunk basis and is stored in each of the video streaming servers 30 , the chunk being an example of a unit of division per a certain time period.
- ABR Adaptive Bitrate Streaming
- video data is re-encoded at some patterns of bit rates on a chunk basis and is stored in each of the video streaming servers 30 , the chunk being an example of a unit of division per a certain time period.
- the embodiments assume a situation where source video streaming servers 30 of all chunks are not necessarily the same. In other words, a situation may be assumed that the video streaming servers 30 are switched halfway.
- the client terminal 20 is a video data streaming destination in the video streaming service, and is a terminal that acquires and reproduces the streamed video data.
- a PC Personal Computer
- smartphone a tablet terminal, or the like may be used as the client terminal 20 .
- the quality prediction server 10 corresponds to one or more computers that predict the throughput for the video data streaming when the client terminal 20 receives the video streaming service.
- FIG. 2 is a diagram illustrating a hardware configuration example of the quality prediction server 10 according to the first embodiment.
- the quality prediction server 10 illustrated in FIG. 2 includes a drive device 100 , an auxiliary storage device 102 , a memory device 103 , a CPU 104 , an interface device 105 , and the like which are connected to each other via a bus B.
- Programs implementing processes performed in the quality prediction server 10 are provided through a recording medium 101 such as a CD-ROM.
- a recording medium 101 such as a CD-ROM.
- the programs are installed from the recording medium 101 via the drive device 100 into the auxiliary storage device 102 .
- the programs are not necessarily required to be installed from the recording medium 101 , and may be downloaded from another computer via a network.
- the auxiliary storage device 102 stores therein the installed programs as well as necessary files, data, and the like.
- the memory device 103 reads and stores therein a program from the auxiliary storage device 102 when instructed to start the program.
- the CPU 104 executes a function relating to the quality prediction server 10 in accordance with the program stored in the memory device 103 .
- the interface device 105 is used as an interface for connecting to the network.
- the client terminal 20 and the video streaming server 30 may also include hardware like those illustrated in FIG. 2 .
- the client terminal 20 desirably includes a display device, an input device receiving an input from a user, and the like.
- FIG. 3 is a diagram illustrating a functional configuration example according to the first embodiment.
- the client terminal 20 includes a reproduction unit 21 , an access throughput acquisition unit 22 , a service control unit 23 , and the like. These respective units are implemented through processes which one or more programs installed in the client terminal 20 cause a CPU in the client terminal 20 to execute.
- the client terminal 20 uses also a control condition DB 24 .
- the control condition DB 24 can be implemented using an auxiliary storage device in the client terminal 20 or a storage device connectible via a network to the client terminal 20 , for example.
- the quality prediction server 10 includes a server throughput acquisition unit 11 , a throughput prediction unit 12 , and the like. These respective units are implemented through processes which one or more programs installed in the quality prediction server 10 cause the CPU 104 to execute.
- the client terminal 20 may include the throughput prediction unit 12
- the video streaming server 30 may include the service control unit 23 and the control condition DB 24 .
- the reproduction unit 21 acquires (downloads) the video data in a divided state on a chunk basis from the video streaming server 30 to reproduce the acquired chunks (video data).
- the access throughput acquisition unit 22 measures a throughput in a download direction of the access network N 2 to which the client terminal 20 connects (hereinafter, referred to as an “access throughput”). Specifically, the access throughput acquisition unit 22 downloads data for measurement from the quality prediction server 10 via the access network N 2 to compute, based on a data size of the data for measurement and a time taken to download the data for measurement, a throughput for the download (hereinafter, referred to as an “access throughput”). Note that content of the data for measurement is not limited to those predetermined.
- the server throughput acquisition unit 11 measures a throughput in a download direction of the core network N 1 to which the video streaming server 30 connects, the client terminal 20 being to connect the video streaming server 30 (or, the client terminal 20 being to acquire the video data from the video streaming server 30 ) (hereinafter, referred to as a “server throughput”). Specifically, the server throughput acquisition unit 11 downloads the video data from that video streaming server 30 to compute, based on a data size of the video data and a time taken to download the video data, a throughput for the download (hereinafter, referred to as a “server throughput”).
- the throughput prediction unit 12 outputs, based on the access throughput and the server throughput, a prediction value of the throughput (hereinafter, referred to as a “predicted throughput”).
- the service control unit 23 receives, as input, the predicted throughput and a control condition group stored in the control condition DB 24 to select control conditions for maximizing or improving the quality of experience.
- control condition include a bit rate, resolution, frame rate, and compression ratio for the video streaming, for example.
- FIG. 4 is a flowchart illustrating an example of the processing procedure performed by the client terminal 20 according to the first embodiment.
- the reproduction unit 21 acquires from the video streaming server 30 a manifest file for receiving the video data in a divided state on a chunk basis in an intermittent manner (S 101 ).
- a manifest file for receiving the video data in a divided state on a chunk basis in an intermittent manner S 101 .
- an IP address of the source (download destination) video streaming server 30 of a chunk is described in the manifest file for each chunk. This is because the embodiment assumes a situation where the source video streaming servers 30 of all chunks are not necessarily the same.
- the reproduction unit 21 downloads and reproduces the video data chunk by chunk on the basis of the manifest file (S 102 ).
- the reproduction unit 21 grasps, on the basis of the IP address of the video streaming server 30 for each chunk included in the manifest file, that the video streaming server 30 is to be switched in the future (Yes at S 104 ) before all chunks of the video data are received (No at S 103 ).
- the access throughput acquisition unit 22 downloads the data for measurement from the quality prediction server 10 via the access network N 2 (S 105 ).
- the reproduction unit 21 inputs an IP address of a switching destination video streaming server 30 (hereinafter, referred to as a “switching destination address”) into the service control unit 23 .
- the reproduction unit 21 can grasp, based on the manifest file, the source video streaming servers 30 of all chunks after acquiring the manifest file. Therefore, when a video streaming server 30 of the last chunk is different from those of the chunks before the last chunk, it may be grasped that the video streaming server 30 is to be switched for the last chunk during reproduction of an initial chunk and the like, for example. That is, step S 105 and subsequent steps may be performed out of synchronization with download of each chunk. By doing so, a state that the predicted throughput is already obtained can be expected when a chunk as a target of the predicted throughput is downloaded.
- the access throughput acquisition unit 22 computes the access throughput by dividing the data size of the data for measurement by the time taken to download the data for measurement, and inputs the computed access throughput into the service control unit 23 (S 106 ).
- the service control unit 23 transmits the switching destination address and the access throughput to the throughput prediction unit 12 in the quality prediction server 10 (S 107 ), and waits for the predicted throughput to be returned from the throughput prediction unit 12 (S 108 ).
- the service control unit 23 selects any control condition from among the control condition group stored in the control condition DB 24 on the basis of the predicted throughput (S 109 ). For example, in a case of, in video reproduction, aiming at no reproduction interruption caused by depletion of data stored in the buffer and the most improvement in an image quality (bit rate), the control condition DB 24 stores therein minimum required throughputs (required throughputs) for smoothly performing reproduction corresponding to the image qualities without interruption with options as the image qualities. In this case, the service control unit 23 compares the predicted throughput with the required throughputs of the respective image qualities, and selects a control condition that the image quality is the highest in the options with the required throughput not exceeding the predicted throughput.
- the reproduction unit 21 downloads the video data from the video streaming server 3 in accordance with the selected control condition.
- the reproduction unit 21 specifies the bit rate relating to the selected control condition to download the video data from the video streaming server 30 .
- steps S 105 to S 109 in FIG. 4 may be performed also for the initial chunk (an initially connected video streaming server 30 ).
- the access throughput acquisition unit 22 may measure (compute) the access throughput only once at a start of viewing (when the viewing instruction is input) to store the measured (computed) access throughput in the auxiliary storage device or the like. In this case, the subsequent steps S 105 and S 106 may not be performed to use the stored access throughput.
- FIG. 5 is a flowchart illustrating an example of a processing procedure performed by the quality prediction server 10 according to the first embodiment.
- the throughput prediction unit 12 When the throughput prediction unit 12 receives the switching destination address and the access throughput (Yes at S 201 ), the throughput prediction unit 12 inputs that switching destination address and that access throughput into the server throughput acquisition unit 11 . Subsequently, the server throughput acquisition unit 11 downloads the video data from the video streaming server 30 relating to the switching destination server address via the core network N 1 (S 202 ).
- the relevant video data may be video data independent from the video data to be viewed, or data having a format different from the video data.
- the server throughput acquisition unit 11 computes the server throughput by dividing the data size of the video data by the time taken to download the video data, and outputs the computed server throughput to the throughput prediction unit 12 (S 203 ).
- the throughput prediction unit 12 compares the access throughput received in step S 201 with the server throughput, and selects the smaller one as the predicted throughput (S 204 ). Subsequently, the throughput prediction unit 12 transmits the predicted throughput to the service control unit 23 in the client terminal 20 transmitting the access throughput (S 205 ).
- the relevant predicted throughput is a prediction value of the throughput for the download of the chunk relating to the switching destination address from the video streaming server 30 relating to the switching destination address.
- server throughput acquisition unit 11 may perform steps S 202 and S 203 only once every certain time period to store the value of the server throughput, and for a certain time period after that, may use the stored value without performing steps S 202 and S 203 .
- the server throughput acquisition unit 11 acquires, as the server throughput, an upper limit value of the throughput that is limited in terms of design in the video streaming server 30 from the video streaming server 30 , instead of performing steps S 202 and S 203 in FIG. 5 .
- third embodiment differences from the first or second embodiment are described. Those not specifically described in the third embodiment may be similar to the first or second embodiment.
- the access throughput acquisition unit 22 acquires, as a value of the access throughput, an upper limit value of the throughput in the download direction of the access network N 2 , the throughput being limited in terms of service in the access network N 2 to which the client terminal 20 connects, from network information stored in the client terminal 20 , instead of performing steps S 105 and S 106 in FIG. 4 .
- differences from the first, second, or third embodiment are described. Those not specifically described in the fourth embodiment may be similar to the first, second, or third embodiment.
- FIG. 6 is a diagram illustrating a functional configuration example according to the fourth embodiment.
- the same component as in FIG. 3 is designated by the same reference numeral, and the description thereof is omitted.
- the quality prediction server 10 further includes a bottleneck throughput acquisition unit 13 .
- the bottleneck throughput acquisition unit 13 is implemented through processes which one or more programs installed in the quality prediction server 10 cause the CPU 104 to execute.
- the bottleneck throughput acquisition unit 13 acquires a throughput for a portion (bottleneck) where a band is limited in the core network N 1 (where a band is relatively narrower than other portion) (hereinafter, referred to as a “bottleneck throughput”) from inside the core network N 1 , and inputs the acquired bottleneck throughput into the throughput prediction unit 12 .
- the bottleneck throughput may be specified by the bottleneck throughput acquisition unit 13 inquiring of each of network devices (router and the like) in the core network N 1 about a throughput in the network device.
- the bottleneck throughput acquisition unit 13 may inquire of a network device set in advance as a portion to be experimentally a bottleneck about a throughput to use the throughput as the bottleneck throughput.
- the bottleneck throughput may be acquired in step S 202 and subsequent steps in FIG. 5 , or once every certain time period. In the latter case, the bottleneck throughput may be stored to use the stored value in a later certain time period.
- the throughput prediction unit 12 compares the access throughput, the server throughput, and the bottleneck throughput with each other, and selects the smallest one as the predicted throughput in step S 204 in FIG. 5 .
- the efficient prediction of the throughput for the video data streaming can be enabled even in the case that the video streaming server 30 is switched.
- the throughput can be predicted to select the proper streaming bit rate without actually measuring the throughput and the buffer occupation amount when the video streaming server 30 is switched.
- the quality prediction server 10 is an example of the quality prediction apparatus.
- the client terminal 20 is an example of the terminal.
- the throughput prediction unit 12 is an example of a first acquisition unit and the throughput prediction unit 12 .
- the server throughput acquisition unit 11 is an example of a second acquisition unit.
- the bottleneck throughput acquisition unit 13 is an example of a third acquisition unit.
- the data for measurement is an example of first data.
- the video data downloaded by the server throughput acquisition unit 11 is an example of second data.
- the access throughput is an example of a first throughput.
- the server throughput is an example of a second throughput.
- the bottleneck throughput is an example of a third throughput.
Abstract
Description
- The present invention relates to a quality prediction apparatus, a quality prediction method, and a program.
- It is important for a service provider involved in communication to predict a quality of communication for proper control operation to improve a quality of experience of a provided service. In a video streaming service, when high image quality video data with a high streaming bit rate is received (downloaded) and reproduced simultaneously in a low communication speed (throughput) environment, an event that reproduction is halfway stopped (reproduction interruption) occurs because the data does not arrive, and thus, the quality of experience is rather higher when downloading low image quality video data with a low streaming bit rate. Moreover, in a high throughput environment, the quality of experience is higher, when downloading video data having an image quality higher to such a degree that reproduction interruption does not occur.
- Here, in the video streaming, an ABR (Adaptive Bitrate Selection) scheme is widespread which enables dynamic selection and switching of a streaming bit rate appropriate to a communication environment. A method for controlling the ABR scheme includes a technology in which a client terminal reproducing a video actually measures a throughput or buffer occupation amount of the video data that is downloaded while the video is being viewed to predict a throughput in the next downloading and determine a streaming bit rate (Non Patent Literature 1).
- On the other hand, a streaming server accessed by the client terminal may be switched halfway through the video data for some reasons, and such a situation may occur even when the ABR scheme is adopted.
-
- Non Patent Literature 1: T. C. Thang, Q.-D. Ho, J. W. Kang, and A. T. Pham, “Adaptive streaming of audiovisual content using MPEG DASH,” IEEE Trans. Consum. Electron., vol. 58, no. 1, pp. 78-85, February 2012.
- However, in the ABR, even in a situation in which switching of the streaming server causes the throughput to obviously change, the throughput and buffer occupation amount after the change are actually measured, and then prediction is performed. Thus, it takes time to select a proper streaming bit rate. For this reason, when data with a high streaming bit rate is acquired in a situation where the throughput changes to become lower, reproduction interruption possibly occurs and the quality of experience may disadvantageously decrease. When data with a low streaming bit rate is continuously acquired in a situation where the throughput changes to become higher, it is disadvantageous that the quality of experience may not increase.
- An object of the present invention, which has been made in consideration of the above circumstance, is to enable an efficient prediction of a throughput for video data streaming.
- In order to solve the above problems, a quality prediction apparatus includes a first acquisition unit acquiring a first throughput for an access network of a terminal from the terminal, the terminal acquiring video data in a divided state from a plurality of video streaming servers, a second acquisition unit acquiring a second throughput for a core network to which the plurality of video streaming servers connect, the terminal being to acquire the video data from one of the video streaming servers, and a prediction unit selecting smaller one of the first throughput and the second throughput as a prediction value of a throughput for the video data to be acquired.
- The efficient prediction of the throughput for the video data streaming can be enabled.
-
FIG. 1 is a diagram illustrating a network configuration example according to a first embodiment. -
FIG. 2 is a diagram illustrating a hardware configuration example of aquality prediction server 10 according to the first embodiment. -
FIG. 3 is a diagram illustrating a functional configuration example according to the first embodiment. -
FIG. 4 is a flowchart illustrating an example of a processing procedure performed by aclient terminal 20 according to the first embodiment. -
FIG. 5 is a flowchart illustrating an example of a processing procedure performed by thequality prediction server 10 according to the first embodiment. -
FIG. 6 is a diagram illustrating a functional configuration example according to a fourth embodiment. - Hereinafter, a description is given of embodiments of the present invention on the basis of the drawings.
FIG. 1 is a diagram illustrating a network configuration example according to a first embodiment. InFIG. 1 , a plurality ofvideo streaming servers 30 are connected with aquality prediction server 10 via a core network N1. On the other hand, aclient terminal 20 is connected with the core network N1 via an access network N2. Accordingly, theclient terminal 20 is communicable with the respectivevideo streaming servers 30 or thequality prediction server 10 via the access network N2. - The
video streaming servers 30 correspond to one or more computers that provide a video data (moving picture data) streaming service (hereinafter, referred to as “video streaming service”) to theclient terminal 20. The video data streaming in compliance with ABR (Adaptive Bitrate Streaming). Specifically, video data is re-encoded at some patterns of bit rates on a chunk basis and is stored in each of thevideo streaming servers 30, the chunk being an example of a unit of division per a certain time period. The embodiments assume a situation where sourcevideo streaming servers 30 of all chunks are not necessarily the same. In other words, a situation may be assumed that thevideo streaming servers 30 are switched halfway. - The
client terminal 20 is a video data streaming destination in the video streaming service, and is a terminal that acquires and reproduces the streamed video data. For example, a PC (Personal Computer), a smartphone, a tablet terminal, or the like may be used as theclient terminal 20. - The
quality prediction server 10 corresponds to one or more computers that predict the throughput for the video data streaming when theclient terminal 20 receives the video streaming service. -
FIG. 2 is a diagram illustrating a hardware configuration example of thequality prediction server 10 according to the first embodiment. Thequality prediction server 10 illustrated inFIG. 2 includes adrive device 100, anauxiliary storage device 102, amemory device 103, aCPU 104, aninterface device 105, and the like which are connected to each other via a bus B. - Programs implementing processes performed in the
quality prediction server 10 are provided through arecording medium 101 such as a CD-ROM. when therecording medium 101 recording the programs is set in thedrive device 100, the programs are installed from therecording medium 101 via thedrive device 100 into theauxiliary storage device 102. However, the programs are not necessarily required to be installed from therecording medium 101, and may be downloaded from another computer via a network. Theauxiliary storage device 102 stores therein the installed programs as well as necessary files, data, and the like. - The
memory device 103 reads and stores therein a program from theauxiliary storage device 102 when instructed to start the program. TheCPU 104 executes a function relating to thequality prediction server 10 in accordance with the program stored in thememory device 103. Theinterface device 105 is used as an interface for connecting to the network. - Note that the
client terminal 20 and thevideo streaming server 30 may also include hardware like those illustrated inFIG. 2 . Theclient terminal 20 desirably includes a display device, an input device receiving an input from a user, and the like. -
FIG. 3 is a diagram illustrating a functional configuration example according to the first embodiment. - In
FIG. 3 , theclient terminal 20 includes areproduction unit 21, an access throughput acquisition unit 22, aservice control unit 23, and the like. These respective units are implemented through processes which one or more programs installed in theclient terminal 20 cause a CPU in theclient terminal 20 to execute. Theclient terminal 20 uses also acontrol condition DB 24. The control condition DB 24 can be implemented using an auxiliary storage device in theclient terminal 20 or a storage device connectible via a network to theclient terminal 20, for example. - The
quality prediction server 10 includes a serverthroughput acquisition unit 11, athroughput prediction unit 12, and the like. These respective units are implemented through processes which one or more programs installed in thequality prediction server 10 cause theCPU 104 to execute. - Note that an arrangement of the respective units illustrated in
FIG. 3 is an example, and not limited to that illustrated inFIG. 3 so long as proper receiving/sending of input/output can be made between the units. For example, theclient terminal 20 may include thethroughput prediction unit 12, and thevideo streaming server 30 may include theservice control unit 23 and thecontrol condition DB 24. - The
reproduction unit 21 acquires (downloads) the video data in a divided state on a chunk basis from thevideo streaming server 30 to reproduce the acquired chunks (video data). - The access throughput acquisition unit 22 measures a throughput in a download direction of the access network N2 to which the
client terminal 20 connects (hereinafter, referred to as an “access throughput”). Specifically, the access throughput acquisition unit 22 downloads data for measurement from thequality prediction server 10 via the access network N2 to compute, based on a data size of the data for measurement and a time taken to download the data for measurement, a throughput for the download (hereinafter, referred to as an “access throughput”). Note that content of the data for measurement is not limited to those predetermined. - The server
throughput acquisition unit 11 measures a throughput in a download direction of the core network N1 to which thevideo streaming server 30 connects, theclient terminal 20 being to connect the video streaming server 30 (or, theclient terminal 20 being to acquire the video data from the video streaming server 30) (hereinafter, referred to as a “server throughput”). Specifically, the serverthroughput acquisition unit 11 downloads the video data from thatvideo streaming server 30 to compute, based on a data size of the video data and a time taken to download the video data, a throughput for the download (hereinafter, referred to as a “server throughput”). - The
throughput prediction unit 12 outputs, based on the access throughput and the server throughput, a prediction value of the throughput (hereinafter, referred to as a “predicted throughput”). - The
service control unit 23 receives, as input, the predicted throughput and a control condition group stored in thecontrol condition DB 24 to select control conditions for maximizing or improving the quality of experience. Examples of the control condition include a bit rate, resolution, frame rate, and compression ratio for the video streaming, for example. - Hereinafter, a processing procedure performed in the first embodiment is described.
-
FIG. 4 is a flowchart illustrating an example of the processing procedure performed by theclient terminal 20 according to the first embodiment. - When a viewing instruction for video data is input by the user, the
reproduction unit 21 acquires from the video streaming server 30 a manifest file for receiving the video data in a divided state on a chunk basis in an intermittent manner (S101). In the embodiment, an IP address of the source (download destination)video streaming server 30 of a chunk is described in the manifest file for each chunk. This is because the embodiment assumes a situation where the sourcevideo streaming servers 30 of all chunks are not necessarily the same. - Subsequently, the
reproduction unit 21 downloads and reproduces the video data chunk by chunk on the basis of the manifest file (S102). when thereproduction unit 21 grasps, on the basis of the IP address of thevideo streaming server 30 for each chunk included in the manifest file, that thevideo streaming server 30 is to be switched in the future (Yes at S104) before all chunks of the video data are received (No at S103), the access throughput acquisition unit 22 downloads the data for measurement from thequality prediction server 10 via the access network N2 (S105). Note that thereproduction unit 21 inputs an IP address of a switching destination video streaming server 30 (hereinafter, referred to as a “switching destination address”) into theservice control unit 23. - Note that what the term “in the future” is targeted to is not limited to a chunk next to the last chunk among already downloaded chunks. Specifically, the
reproduction unit 21 can grasp, based on the manifest file, the sourcevideo streaming servers 30 of all chunks after acquiring the manifest file. Therefore, when avideo streaming server 30 of the last chunk is different from those of the chunks before the last chunk, it may be grasped that thevideo streaming server 30 is to be switched for the last chunk during reproduction of an initial chunk and the like, for example. That is, step S105 and subsequent steps may be performed out of synchronization with download of each chunk. By doing so, a state that the predicted throughput is already obtained can be expected when a chunk as a target of the predicted throughput is downloaded. - Subsequently, the access throughput acquisition unit 22 computes the access throughput by dividing the data size of the data for measurement by the time taken to download the data for measurement, and inputs the computed access throughput into the service control unit 23 (S106).
- Subsequently, the
service control unit 23 transmits the switching destination address and the access throughput to thethroughput prediction unit 12 in the quality prediction server 10 (S107), and waits for the predicted throughput to be returned from the throughput prediction unit 12 (S108). - When the
service control unit 23 receives the predicted throughput (Yes at S108), theservice control unit 23 selects any control condition from among the control condition group stored in thecontrol condition DB 24 on the basis of the predicted throughput (S109). For example, in a case of, in video reproduction, aiming at no reproduction interruption caused by depletion of data stored in the buffer and the most improvement in an image quality (bit rate), thecontrol condition DB 24 stores therein minimum required throughputs (required throughputs) for smoothly performing reproduction corresponding to the image qualities without interruption with options as the image qualities. In this case, theservice control unit 23 compares the predicted throughput with the required throughputs of the respective image qualities, and selects a control condition that the image quality is the highest in the options with the required throughput not exceeding the predicted throughput. - In subsequent step S102, when downloading a chunk from the
video streaming server 30 relating to the switching destination address, thereproduction unit 21 downloads the video data from the video streaming server 3 in accordance with the selected control condition. For example, thereproduction unit 21 specifies the bit rate relating to the selected control condition to download the video data from thevideo streaming server 30. - Note that steps S105 to S109 in
FIG. 4 may be performed also for the initial chunk (an initially connected video streaming server 30). - The access throughput acquisition unit 22 may measure (compute) the access throughput only once at a start of viewing (when the viewing instruction is input) to store the measured (computed) access throughput in the auxiliary storage device or the like. In this case, the subsequent steps S105 and S106 may not be performed to use the stored access throughput.
-
FIG. 5 is a flowchart illustrating an example of a processing procedure performed by thequality prediction server 10 according to the first embodiment. - When the
throughput prediction unit 12 receives the switching destination address and the access throughput (Yes at S201), thethroughput prediction unit 12 inputs that switching destination address and that access throughput into the serverthroughput acquisition unit 11. Subsequently, the serverthroughput acquisition unit 11 downloads the video data from thevideo streaming server 30 relating to the switching destination server address via the core network N1 (S202). The relevant video data may be video data independent from the video data to be viewed, or data having a format different from the video data. - Subsequently, the server
throughput acquisition unit 11 computes the server throughput by dividing the data size of the video data by the time taken to download the video data, and outputs the computed server throughput to the throughput prediction unit 12 (S203). - Subsequently, the
throughput prediction unit 12 compares the access throughput received in step S201 with the server throughput, and selects the smaller one as the predicted throughput (S204). Subsequently, thethroughput prediction unit 12 transmits the predicted throughput to theservice control unit 23 in theclient terminal 20 transmitting the access throughput (S205). The relevant predicted throughput is a prediction value of the throughput for the download of the chunk relating to the switching destination address from thevideo streaming server 30 relating to the switching destination address. - Note that the server
throughput acquisition unit 11 may perform steps S202 and S203 only once every certain time period to store the value of the server throughput, and for a certain time period after that, may use the stored value without performing steps S202 and S203. - Next, a description is given of a second embodiment. In the second embodiment, differences from the first embodiment are described. Those not specifically described in the second embodiment may be similar to the first embodiment.
- In the second embodiment, the server
throughput acquisition unit 11 acquires, as the server throughput, an upper limit value of the throughput that is limited in terms of design in thevideo streaming server 30 from thevideo streaming server 30, instead of performing steps S202 and S203 inFIG. 5 . - Next, a description is given of a third embodiment. In the third embodiment, differences from the first or second embodiment are described. Those not specifically described in the third embodiment may be similar to the first or second embodiment.
- In the third embodiment, the access throughput acquisition unit 22 acquires, as a value of the access throughput, an upper limit value of the throughput in the download direction of the access network N2, the throughput being limited in terms of service in the access network N2 to which the
client terminal 20 connects, from network information stored in theclient terminal 20, instead of performing steps S105 and S106 inFIG. 4 . - Next, a description is given of a fourth embodiment. In the fourth embodiment, differences from the first, second, or third embodiment are described. Those not specifically described in the fourth embodiment may be similar to the first, second, or third embodiment.
-
FIG. 6 is a diagram illustrating a functional configuration example according to the fourth embodiment. InFIG. 6 , the same component as inFIG. 3 is designated by the same reference numeral, and the description thereof is omitted. - In
FIG. 6 , thequality prediction server 10 further includes a bottleneckthroughput acquisition unit 13. The bottleneckthroughput acquisition unit 13 is implemented through processes which one or more programs installed in thequality prediction server 10 cause theCPU 104 to execute. - The bottleneck
throughput acquisition unit 13 acquires a throughput for a portion (bottleneck) where a band is limited in the core network N1 (where a band is relatively narrower than other portion) (hereinafter, referred to as a “bottleneck throughput”) from inside the core network N1, and inputs the acquired bottleneck throughput into thethroughput prediction unit 12. The bottleneck throughput may be specified by the bottleneckthroughput acquisition unit 13 inquiring of each of network devices (router and the like) in the core network N1 about a throughput in the network device. Alternatively, the bottleneckthroughput acquisition unit 13 may inquire of a network device set in advance as a portion to be experimentally a bottleneck about a throughput to use the throughput as the bottleneck throughput. - Note that the bottleneck throughput may be acquired in step S202 and subsequent steps in
FIG. 5 , or once every certain time period. In the latter case, the bottleneck throughput may be stored to use the stored value in a later certain time period. - The
throughput prediction unit 12 compares the access throughput, the server throughput, and the bottleneck throughput with each other, and selects the smallest one as the predicted throughput in step S204 inFIG. 5 . - As described above, according to the above embodiments, the efficient prediction of the throughput for the video data streaming can be enabled even in the case that the
video streaming server 30 is switched. In other words, the throughput can be predicted to select the proper streaming bit rate without actually measuring the throughput and the buffer occupation amount when thevideo streaming server 30 is switched. - Note that in the above embodiments, the
quality prediction server 10 is an example of the quality prediction apparatus. Theclient terminal 20 is an example of the terminal. Thethroughput prediction unit 12 is an example of a first acquisition unit and thethroughput prediction unit 12. The serverthroughput acquisition unit 11 is an example of a second acquisition unit. The bottleneckthroughput acquisition unit 13 is an example of a third acquisition unit. The data for measurement is an example of first data. The video data downloaded by the serverthroughput acquisition unit 11 is an example of second data. The access throughput is an example of a first throughput. The server throughput is an example of a second throughput. The bottleneck throughput is an example of a third throughput. - Hereinabove, the embodiments of the present invention are described, but the present invention is not limited to those specific embodiments, and various modifications and changes may be made within a scope of the gist of the present invention described in claims.
-
-
- 10 Quality prediction server
- 11 Server throughput acquisition unit
- 12 Throughput prediction unit
- 13 Bottleneck throughput acquisition unit
- 20 Client terminal
- 21 Reproduction unit
- 22 Access throughput acquisition unit
- 23 Service control unit
- 24 Control condition DB
- 30 Video streaming server
- 100 Drive device
- 101 Recording medium
- 102 Auxiliary storage device
- 103 Memory device
- 104 CPU
- 105 Interface device
- B Bus
Claims (18)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018017016A JP6885351B2 (en) | 2018-02-02 | 2018-02-02 | Quality prediction device, quality prediction method and program |
JP2018-017016 | 2018-02-02 | ||
JPJP2018-017016 | 2018-02-02 | ||
PCT/JP2019/003589 WO2019151473A1 (en) | 2018-02-02 | 2019-02-01 | Quality prediction device, quality prediction method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
US10986156B1 US10986156B1 (en) | 2021-04-20 |
US20210120067A1 true US20210120067A1 (en) | 2021-04-22 |
Family
ID=67478839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/965,256 Active US10986156B1 (en) | 2018-02-02 | 2019-02-01 | Quality prediction apparatus, quality prediction method and program |
Country Status (3)
Country | Link |
---|---|
US (1) | US10986156B1 (en) |
JP (1) | JP6885351B2 (en) |
WO (1) | WO2019151473A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11025987B2 (en) * | 2019-08-15 | 2021-06-01 | Hulu, LLC | Prediction-based representation selection in video playback |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1954565A (en) * | 2004-05-19 | 2007-04-25 | Kddi株式会社 | Content distribution control system, its distribution schedule creation method, communication terminal, and computer program |
US8792347B2 (en) * | 2012-06-01 | 2014-07-29 | Opera Software Ireland Limited | Real-time network monitoring and subscriber identification with an on-demand appliance |
US9647949B2 (en) * | 2012-06-22 | 2017-05-09 | University Of New Hampshire | Systems and methods for network transmission of big data |
JP2016521485A (en) * | 2013-04-08 | 2016-07-21 | トムソン ライセンシングThomson Licensing | Apparatus and method for adapting a manifest transmitted by at least one server |
KR101497232B1 (en) * | 2013-09-16 | 2015-02-27 | 경북대학교 산학협력단 | Adaptive multimedia streaming System and Method |
KR101924703B1 (en) * | 2014-02-13 | 2019-02-20 | 코닌클리즈케 케이피엔 엔.브이. | Requesting multiple chunks from a network node on the basis of a single request message |
US9444714B2 (en) * | 2014-08-07 | 2016-09-13 | Microsoft Technology Licensing, Llc | Estimating bandwidth in a network |
US20160142510A1 (en) * | 2014-11-14 | 2016-05-19 | Futurewei Technologies, Inc. | Cache-aware content-based rate adaptation mechanism for adaptive video streaming |
US9756112B2 (en) * | 2015-02-11 | 2017-09-05 | At&T Intellectual Property I, L.P. | Method and system for managing service quality according to network status predictions |
WO2017104121A1 (en) * | 2015-12-17 | 2017-06-22 | パナソニックIpマネジメント株式会社 | Information processing device and network switching method |
US10484308B2 (en) * | 2017-03-31 | 2019-11-19 | At&T Intellectual Property I, L.P. | Apparatus and method of managing resources for video services |
US10346277B2 (en) * | 2017-10-12 | 2019-07-09 | Cisco Technology, Inc. | Adaptive sampling to build accurate application throughput models |
-
2018
- 2018-02-02 JP JP2018017016A patent/JP6885351B2/en active Active
-
2019
- 2019-02-01 US US16/965,256 patent/US10986156B1/en active Active
- 2019-02-01 WO PCT/JP2019/003589 patent/WO2019151473A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019151473A1 (en) | 2019-08-08 |
JP2019134379A (en) | 2019-08-08 |
JP6885351B2 (en) | 2021-06-16 |
US10986156B1 (en) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230254357A1 (en) | Fast encoding of live streaming media content | |
US10116971B2 (en) | Method and system for fetching a portion of a live media stream before a first ad finishes playing to detect the subsequent ad indicator for live consecutive ad replacement | |
CN110268694A (en) | The system and method adaptively switched between multiple content delivery networks during adaptive bit rate stream transmission | |
US20200169735A1 (en) | System and method for optimal variable bit rate packing | |
US20170162229A1 (en) | Play method and device | |
US8725947B2 (en) | Cache control for adaptive stream player | |
US20130007863A1 (en) | Streaming video to cellular phones | |
EP3793201A1 (en) | Packager for segmenter fluidity | |
US11349887B2 (en) | Estimating network data streaming rate | |
EP3416391B1 (en) | Video fragment processing | |
US10986156B1 (en) | Quality prediction apparatus, quality prediction method and program | |
US9607002B2 (en) | File retrieval from multiple storage locations | |
JP6305738B2 (en) | Media playback control device, media playback control method, and program | |
WO2019085243A1 (en) | Audio and video data playback method and server and client terminal | |
EP3235258B1 (en) | Adjusting quality level of media streaming | |
EP3965466B1 (en) | Bitrate and pipeline preservation for content presentation | |
US11503354B2 (en) | Methods and apparatus for streaming data | |
JP6513054B2 (en) | Client device of content delivery system, method and program for acquiring content | |
CN112004132B (en) | Video synchronous playing method and device | |
US10652296B2 (en) | Method and apparatus to efficiently smooth adaptive content playback in HTTP live streaming | |
US10750246B2 (en) | Distributed architecture for mobile streaming content delivery | |
WO2018021950A1 (en) | Device and method for controlling media streaming from a server to a client | |
US10938939B2 (en) | Client-side quality-of-service (QOS) for viewing of adaptive bitrate (ABR) streams | |
WO2022253561A1 (en) | Buffer management for live video streaming | |
CN117793362A (en) | Stream transcoding method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: NIPPON TELEGRAPH AND TELEPHONE CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OKUYAMA, TAKAFUMI;YASUKAWA, SEISHOU;MASUDA, MASATAKA;AND OTHERS;SIGNING DATES FROM 20200623 TO 20200625;REEL/FRAME:053899/0633 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |