US20210120067A1 - Quality prediction apparatus, quality prediction method and program - Google Patents

Quality prediction apparatus, quality prediction method and program Download PDF

Info

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
Application number
US16/965,256
Other versions
US10986156B1 (en
Inventor
Takafumi Okuyama
Seishou Yasukawa
Masataka Masuda
Kenichi Endou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Assigned to NIPPON TELEGRAPH AND TELEPHONE CORPORATION reassignment NIPPON TELEGRAPH AND TELEPHONE CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MASUDA, MASATAKA, YASUKAWA, Seishou, ENDOU, KENICHI, OKUYAMA, Takafumi
Application granted granted Critical
Publication of US10986156B1 publication Critical patent/US10986156B1/en
Publication of US20210120067A1 publication Critical patent/US20210120067A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • 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/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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

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

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, and therefore, an efficient prediction of the throughput for the video data streaming can be enabled.

Description

    TECHNICAL FIELD
  • The present invention relates to a quality prediction apparatus, a quality prediction method, and a program.
  • BACKGROUND ART
  • 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.
  • CITATION LIST Non Patent Literature
    • 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.
    SUMMARY OF THE INVENTION Technical Problem
  • 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.
  • Means for Solving the Problem
  • 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.
  • Effects of the Invention
  • The efficient prediction of the throughput for the video data streaming can be enabled.
  • BRIEF DESCRIPTION OF DRAWINGS
  • 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.
  • DESCRIPTION OF EMBODIMENTS
  • 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. In FIG. 1, a plurality of video streaming servers 30 are connected with a quality prediction server 10 via a core network N1. On the other hand, a client terminal 20 is connected with the core network N1 via an access network N2. Accordingly, the client terminal 20 is communicable with the respective video streaming servers 30 or the quality 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 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. 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. For example, a PC (Personal Computer), a 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. when the recording medium 101 recording the programs is set in the drive device 100, the programs are installed from the recording medium 101 via the drive device 100 into the auxiliary storage device 102. However, 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.
  • Note that 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.
  • In FIG. 3, 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.
  • Note that an arrangement of the respective units illustrated in FIG. 3 is an example, and not limited to that illustrated in FIG. 3 so long as proper receiving/sending of input/output can be made between the units. For example, the client terminal 20 may include the throughput prediction unit 12, and 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 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 the quality 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 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. 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 the client 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 source video 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 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 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 the quality prediction server 10 via the access network N2 (S105). Note that 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.
  • 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 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 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 the throughput 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), 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 (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), 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.
  • In subsequent step S102, when downloading a chunk from the video streaming server 30 relating to the switching destination address, the reproduction unit 21 downloads the video data from the video streaming server 3 in accordance with the selected control condition. For example, 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.
  • 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 the quality 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), 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 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, the throughput prediction unit 12 transmits the predicted throughput to the service control unit 23 in the client 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 the video 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 the video streaming server 30 from the video streaming server 30, instead of performing steps S202 and S203 in FIG. 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 the client terminal 20, instead of performing steps S105 and S106 in FIG. 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. In FIG. 6, the same component as in FIG. 3 is designated by the same reference numeral, and the description thereof is omitted.
  • In FIG. 6, 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 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 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 N1 about a throughput in the network device. Alternatively, 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.
  • 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 in FIG. 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 the video streaming server 30 is switched.
  • Note that in the above embodiments, 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.
  • 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.
  • REFERENCE SIGNS LIST
      • 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)

1. A quality prediction apparatus comprising:
a first acquisition unit, including one or more processors, adapted to acquire a first throughput for an access network of a terminal from the terminal, the terminal adapted to acquire video data in a divided state from a plurality of video streaming servers;
a second acquisition unit, including one or more processors, adapted to acquire a second throughput for a core network to which the plurality of video streaming servers connect, the terminal adapted to acquire the video data from one of the video streaming servers; and
a prediction unit including one or more processors, adapted to select smaller one of the first throughput and the second throughput as a prediction value of a throughput for the video data to be acquired.
2. The quality prediction apparatus according to claim 1, wherein
the first acquisition unit is adapted to acquire a throughput as the first throughput by the terminal downloading first data via the access network to compute based on a data size of the first data and a time taken to download the first data.
3. The quality prediction apparatus according to claim 1, wherein
the second acquisition unit is adapted to download second data from one of the video streaming servers from which the terminal is to acquire the video data via the core network, and is adapted to compute the second throughput based on a data size of the second data and a time taken to download the second data.
4. The quality prediction apparatus according to claim 1, wherein
the first acquisition unit is adapted to acquire, as the first throughput, an upper limit value of a throughput in the access network.
5. The quality prediction apparatus according to claim 1, wherein
the second acquisition unit is adapted to acquire, as the second throughput, an upper limit value of a throughput limited in one of the video streaming servers from which the terminal is to acquire the video data.
6. The quality prediction apparatus according to claim 1, further comprising:
a third acquisition unit adapted to acquire a third throughput for a portion where a band is limited in the core network, wherein
the prediction unit is adapted to select, as a prediction value of the throughput for the video data to be acquired, a minimum value among the first throughput, the second throughput, and the third throughput.
7. A quality prediction method comprising:
a first acquisition procedure 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 procedure 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 procedure 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,
wherein the first acquisition procedure, the second acquisition procedure, and the prediction procedure are executed by a computer.
8. A non-transitory computer readable medium storing one or more instructions causing a computer to execute:
a first acquisition procedure 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 procedure 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 procedure 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.
9. The quality prediction method according to claim 7, wherein
the first acquisition procedure acquires a throughput as the first throughput by the terminal downloading first data via the access network to compute based on a data size of the first data and a time taken to download the first data.
10. The quality prediction method according to claim 7, wherein
the second acquisition procedure downloads second data from one of the video streaming servers from which the terminal is to acquire the video data via the core network, and computes the second throughput based on a data size of the second data and a time taken to download the second data.
11. The quality prediction method according to claim 7, wherein
the first acquisition procedure acquires, as the first throughput, an upper limit value of a throughput in the access network.
12. The quality prediction method according to claim 7, wherein
the second acquisition procedure acquires, as the second throughput, an upper limit value of a throughput limited in one of the video streaming servers from which the terminal is to acquire the video data.
13. The quality prediction method according to claim 7, further comprising:
a third acquisition procedure acquiring a third throughput for a portion where a band is limited in the core network, wherein
the prediction procedure selects, as a prediction value of the throughput for the video data to be acquired, a minimum value among the first throughput, the second throughput, and the third throughput.
14. The non-transitory computer readable medium according to claim 8, wherein
the first acquisition procedure acquires a throughput as the first throughput by the terminal downloading first data via the access network to compute based on a data size of the first data and a time taken to download the first data.
15. The non-transitory computer readable medium according to claim 8, wherein
the second acquisition procedure downloads second data from one of the video streaming servers from which the terminal is to acquire the video data via the core network, and computes the second throughput based on a data size of the second data and a time taken to download the second data.
16. The non-transitory computer readable medium according to claim 8, wherein
the first acquisition procedure acquires, as the first throughput, an upper limit value of a throughput in the access network.
17. The non-transitory computer readable medium according to claim 8, wherein
the second acquisition procedure acquires, as the second throughput, an upper limit value of a throughput limited in one of the video streaming servers from which the terminal is to acquire the video data.
18. The non-transitory computer readable medium according to claim 8, wherein the one or more instructions further cause the computer to execute:
a third acquisition procedure acquiring a third throughput for a portion where a band is limited in the core network, wherein
the prediction procedure selects, as a prediction value of the throughput for the video data to be acquired, a minimum value among the first throughput, the second throughput, and the third throughput.
US16/965,256 2018-02-02 2019-02-01 Quality prediction apparatus, quality prediction method and program Active US10986156B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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