Receiving device and program
The receiving device uses time series analysis to predict bandwidth fluctuations based on viewing environment, improving stability by accurately forecasting available network bandwidth without additional hardware.
Patent Information
- Application Number
- JP2021136661
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-02-03
- Filing Date
- 2021-08-24
- Publication Date
- 2025-10-23
- Estimated Expiration
- 2041-08-24
AI Technical Summary
Existing bandwidth prediction methods, such as those using a moving average, fail to accurately utilize available network bandwidth during streaming playback, leading to potential buffer depletion and playback interruptions, while methods involving separate devices increase transmission and reception frequency.
A receiving device that measures current bandwidth, estimates viewing environment, constructs and selects a bandwidth prediction model using time series analysis, and corrects predictions to improve accuracy without requiring a separate device.
Accurately predicts available network bandwidth, enhancing viewing stability by reducing buffer depletion and playback interruptions.
Smart Images

Figure 0007759210000003 
Figure 0007759210000004 
Figure 0007759210000005
Abstract
Description
[Technical Field]
[0001] The present invention relates to a receiving device and a program. [Background technology]
[0002] In recent years, streaming video distribution on the Internet has become mainstream using a general-purpose web server with the HTTP protocol. One example of such a streaming distribution method using the HTTP protocol (adaptive streaming) is the international standard MPEG-DASH (ISO / IEC23009-1).
[0003] In MPEG-DASH, a web server prepares media segments, each of which is a stream of video content encoded at one or more qualities (parameters such as screen size and bit rate) and divided into files of several to several tens of seconds each, as well as a manifest file that describes the attributes, URLs, etc. of the video content. A receiving device selects the appropriate quality from the manifest file, taking into account the screen size and network bandwidth status of the receiving device, receives the segments one after another, and splices them together into a single video content for playback (see, for example, Non-Patent Document 1).
[0004] A common method for selecting video quality in adaptive streaming is to predict the available bandwidth for receiving the next segment based on the data volume and reception time each time a segment is received, and then select the video with the closest quality from the bitrates of the respective videos based on this prediction. However, if the bitrate of the selected video is higher than the predicted available bandwidth, the next segment may not be received in time for playback, causing the receiving device's buffer to run out and playback to stop. Therefore, to improve viewing stability, it is important to predict the available bandwidth for receiving the next segment as accurately as possible.
[0005] As a method for predicting available bandwidth, a method for predicting bandwidth fluctuations using a moving average based on bandwidth measurement by a receiving device has been proposed (see, for example, Non-Patent Document 2). Patent Document 1 also discloses a method for transmitting bandwidth prediction data representing the situation when a content file is received to an external bandwidth prediction device, receiving bandwidth prediction value data corresponding to the bandwidth prediction data from the bandwidth prediction device, and receiving the content file based on the bandwidth prediction data. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Application Publication No. 2019-220839 [Non-patent literature]
[0007] [Non-Patent Document 1] "Next-generation video distribution technology 'MPEG-DASH': Technical overview and trends in standardization and related technologies," Journal of the Institute of Image Information and Television Engineers, Vol. 67, No. 2, 2013, pp. 109-115 [Non-patent document 2] From Theory to Practice: Improving Bitrate Adaptation in the DASH Reference Player,MMSys 9th ACM Multimedia Systems Conference Amsterdam Netherlands,June 2018,pp.123-137. Summary of the Invention [Problem to be solved by the invention]
[0008] However, in the bandwidth fluctuation prediction using a moving average as described in Non-Patent Document 2, the original bandwidth cannot be fully used because of simple smoothing. Also, in the method described in Patent Document 1, there is a risk that transmission and reception between the receiving device and the bandwidth prediction device will occur frequently.
[0009] In view of the above circumstances, the object of the present invention is to provide a receiving device and a program that can accurately predict the available network bandwidth (bandwidth fluctuations) during streaming playback of content without the need for a separate bandwidth prediction device. [Means for solving the problem]
[0010] In order to solve the above problem, according to one embodiment Reception the apparatus includes: a bandwidth measurement unit that sequentially measures a current network bandwidth and outputs the measured bandwidth value each time a segment is received during streaming playback of content; a viewing environment estimation unit that estimates a viewing environment including a moving speed or a position of the receiving apparatus; a bandwidth measurement value list management unit that manages a bandwidth measurement value list in which a bandwidth measurement value sequence indicating time fluctuations of the bandwidth measurement value is associated with each of the viewing environments; a bandwidth prediction model construction unit that constructs a bandwidth prediction model for each of the viewing environments using the bandwidth measurement value list; a bandwidth prediction model selection unit that selects a bandwidth prediction model according to the viewing environment from the bandwidth prediction models constructed by the bandwidth prediction model construction unit; a bandwidth prediction unit that inputs the bandwidth measurement value into the bandwidth prediction model selected by the bandwidth prediction model selection unit and predicts a bandwidth prediction value, which is a network bandwidth available for receiving the next segment; and a segment acquisition unit that receives the segment according to the predicted bandwidth value. The band prediction model can set a credible interval for a predicted value, and the band prediction unit corrects the band prediction value to the lower limit value when the band measurement value becomes smaller than the lower limit value of the credible interval for the predicted band prediction value. do.
[0011] Furthermore, in one embodiment, the audio-visual environment estimation unit may estimate the moving speed of the receiving device using an acceleration sensor.
[0012] Furthermore, in one embodiment, the audio-visual environment estimation unit may estimate the position of the receiving device using a GPS.
[0013] Furthermore, in one embodiment, the band prediction model construction unit may determine parameters that fit the sequence of band measurement values for each of the viewing environments using a time series prediction method, and construct the band prediction model.
[0014] Furthermore, in one embodiment, each time the viewing environment changes during playback of content, the bandwidth prediction model selection unit may change the bandwidth prediction model corresponding to the viewing environment.
[0016] In order to solve the above problem, a program according to the present invention causes a computer to function as the above receiving device. [Effects of the Invention]
[0017] According to the present invention, in streaming playback of content, it is possible to improve the accuracy of prediction of available network bandwidth without providing a separate bandwidth prediction device, thereby improving viewing stability. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a diagram illustrating an overview of a content distribution system according to an embodiment. [Figure 2] 1 is a block diagram illustrating an example of a configuration of a content generation device according to an embodiment. [Figure 3] FIG. 1 is a block diagram illustrating an example of the configuration of a receiving device according to an embodiment. [Figure 4] 10 is a flowchart illustrating an example of a segment receiving method of a receiving device according to an embodiment. [Figure 5] 10 is a graph showing a comparison result between a band prediction of a receiving device according to an embodiment and a conventional method. [Figure 6] 10 is a histogram showing a comparison result between a band prediction of a receiving device according to an embodiment and a conventional method. [Figure 7] 10 is a graph showing an example of correction of band prediction in a receiving device according to an embodiment. [Figure 8] 8 is a table showing the absolute mean error and the time average of the negative prediction error for each predicted value in the example shown in FIG. 7. DETAILED DESCRIPTION OF THE INVENTION
[0019] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0020] 1 shows an overview of a content distribution system including a receiving device according to one embodiment of the present invention. The receiving device 1 and a distribution server 2 are connected via the Internet. The content generation device 3 and the distribution server 2 may be connected via a dedicated local network or via the Internet.
[0021] The receiving device 1 receives segments of video content and a manifest file from the distribution server 2 and performs streaming playback.
[0022] The content generator 3 generates segments of video content and a manifest file, and provides them to the distribution server 2.
[0023] The distribution server 2 is a server that distributes the manifest file and segments of the URL specified by the receiving device 1 to the receiving device 1, and can be, for example, a general web server.
[0024] (Content generation device) Next, details of the content generation device 3 will be described. Fig. 2 is a block diagram showing an example configuration of the content generation device 3. The content generation device 3 shown in Fig. 2 includes a raw video output unit 31, an encoding unit 32, a segmentation unit 33, a manifest generation unit 34, a content transmission unit 35, and a communication I / F 36.
[0025] The raw video output unit 31 outputs to the encoding unit 32 a raw video signal of the content to be generated from raw video input from the outside or from raw video stored in advance.
[0026] The encoding unit 32 encodes the raw video signal input from the raw video output unit 31 using an existing encoding method (e.g., H.264|MPEG-4 AVC (Advanced Video Coding), H.265|MPEG-H HEVC (High Efficiency Video Coding) etc.) or encrypts it using an existing encryption method (e.g., AES (Advanced Encryption Standard)). The encoding unit 32 then outputs the encoded stream to the segmentation unit 33. Note that audio can also be processed in the same way as video.
[0027] The segmentation unit 33 segments the encoded stream input from the encoding unit 32 in, for example, ISO-BMFF (ISO-Base Media File Format) format. Then, the segmentation unit 33 outputs the segments to the manifest generation unit .
[0028] The manifest generation unit 34 receives the segments from the segmentation unit 33 and generates a manifest file in, for example, the MPD (Media Presentation Description) format of MPEG-DASH (ISO / IEC23009-1). The manifest generation unit 34 then outputs the manifest file and the segments to the content transmission unit 35. The manifest file describes the playback time, URL, etc. of the segments. The manifest file may be generated by updating it sequentially each time a segment is input, or may be generated after all segments have been input.
[0029] The content transmission unit 35 transmits the manifest file and segments input from the manifest generation unit 34 to the distribution server 2 via the communication I / F 36.
[0030] (receiving device) Next, a description will be given of the details of the receiving device 1. Fig. 3 is a block diagram showing an example configuration of the receiving device 1. The receiving device 1 shown in Fig. 3 includes a communication I / F 10, a manifest acquisition unit 11, a segment list storage unit 12, a viewing environment estimation unit 13, a bandwidth measurement unit 14, a bandwidth measurement value list management unit 15, a bandwidth prediction model construction unit 16, a bandwidth prediction model storage unit 17, a bandwidth prediction model selection unit 18, a bandwidth prediction unit 19, a segment acquisition unit 20, a buffer 21, and a playback unit 22.
[0031] The manifest acquisition unit 11, the viewing environment estimation unit 13, the bandwidth measurement unit 14, the bandwidth measurement value list management unit 15, the bandwidth prediction model construction unit 16, the bandwidth prediction model selection unit 18, the bandwidth prediction unit 19, the segment acquisition unit 20, and the playback unit 22 constitute a control and arithmetic circuit (controller). The control and arithmetic circuit may be configured with dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array), or may be configured with a processor, or may include both. The segment list storage unit 12, the bandwidth prediction model storage unit 17, and the buffer 21 constitute a storage unit. The storage unit includes one or more memories, and may include, for example, a semiconductor memory, a magnetic memory, or the like. Each memory included in the storage unit may function as, for example, a main storage unit, an auxiliary storage unit, or a cache memory.
[0032] The manifest acquisition unit 11 receives a manifest file of a desired program from the distribution server 2 via the communication I / F 10. Then, the manifest acquisition unit 11 analyzes the received manifest file, generates a segment URL list in which playback times and segment URLs are associated for each stream bit rate, and stores the list in the segment list storage unit 12.
[0033] The viewing environment estimation unit 13 estimates and classifies the viewing environment including the moving speed or position of the receiving device 1. Then, the viewing environment estimation unit 13 outputs the classified viewing environment to the bandwidth measurement value list management unit 15 and the bandwidth prediction model selection unit 18. The viewing environment estimation unit 13 may estimate the viewing environment when content playback starts, or may periodically perform the estimation while content is being played back.
[0034] For example, the audio-visual environment estimation unit 13 estimates the moving speed using an acceleration sensor built into the receiving device 1. The estimation of the moving speed may include estimating whether or not the receiving device 1 is moving. Examples of classifications of the moving speed include not moving, moving on foot (moving at a predetermined speed or less), moving by vehicle (moving at a predetermined speed or more), etc.
[0035] Furthermore, the viewing environment estimation unit 13 may estimate the position of the receiving device 1 (longitude and latitude coordinates indicating the current location) using a GPS (Global Positioning System). The position estimation may include estimating whether the receiving device 1 is located outdoors or indoors. Examples of classification of positions include home, work, school, shop, and on the move. If there are multiple places that are frequently visited, they may all be distinguished and classified.
[0036] Furthermore, the viewing environment estimation unit 13 may use a clock built into the receiving device 1 or time information obtained from an external source to estimate whether the current time is in a busy time period on the Internet. The viewing environment estimation unit 13 may also estimate the type of line currently being used. Examples of line type classifications include FTTH, Wi-Fi (registered trademark), and LTE. A combination of these classifications can be used as the viewing environment.
[0037] The bandwidth measurement unit 14 sequentially measures the current network bandwidth each time a segment is input from the segment acquisition unit 20 (i.e., each time a segment is received from the distribution server 2), and outputs the measured bandwidth value to the measured bandwidth value list management unit 15 and the bandwidth prediction unit 19. For example, the bandwidth measurement unit 14 measures the measured bandwidth value (unit: bps) by dividing the number of bytes of the segment by the time from the request for the segment to the end of reception.
[0038] The bandwidth measurement value list management unit 15 generates and manages a bandwidth measurement value list in which a bandwidth measurement value sequence indicating time fluctuations of the bandwidth measurement values input from the bandwidth measurement unit 14 is associated with each viewing environment classified by the viewing environment estimation unit 13. The bandwidth measurement value list management unit 15 may input the bandwidth measurement values sequentially from the bandwidth measurement unit 14, or may input the bandwidth measurement values all at once when the playback of the content ends. Then, the bandwidth measurement value list management unit 15 outputs the generated bandwidth measurement value list to the bandwidth prediction model construction unit 16.
[0039] The bandwidth prediction model construction unit 16 inputs the bandwidth measurement value list from the bandwidth measurement value list management unit 15. Then, periodically or at a predetermined timing, the bandwidth prediction model construction unit 16 determines parameters suitable for the bandwidth measurement value sequence for each viewing environment using a time series prediction method such as an ARIMA (AutoRegressive Integrated Moving Average) model, and constructs a bandwidth prediction model. Then, the bandwidth prediction model construction unit 16 stores the multiple bandwidth prediction models constructed for each viewing environment in the bandwidth prediction model storage unit 17. By inputting the bandwidth measurement values into the bandwidth prediction model, it is possible to calculate a bandwidth prediction value (network bandwidth available for receiving the next segment). As an example, the ARIMA model is expressed by the following equation (1).
[0040]
number
[0041] In the model shown in equation (1), the autoregressive order p, the difference order d, and the moving average order q are parameters. Furthermore, y is the actual measured value of the bandwidth, ε is a normal random number, and φ and θ are coefficients. For example, the bandwidth prediction model construction unit 16 performs fitting on the bandwidth measurement value sequence and determines parameters that minimize the AIC (Akaike's Information Criterion) value or are equal to or less than a predetermined threshold. The ranges of the parameters p, d, and q may be narrowed in advance, for example, to 0≦p, d, q<10.
[0042] The bandwidth prediction model may be constructed periodically or at a predetermined timing such as when the playback of the content ends. In this embodiment, the ARIMA model is applied as the time series prediction method, but the SARIMA (Seasonal AutoRegressive Integrated Moving Average) model, the ARIMAX (AutoRegressive Integrated Moving Average with eXogenous variables) model, the SARIMAX (Seasonal AutoRegressive Integrated Moving Average with eXogenous variables) model, etc. may also be applied in the same way.
[0043] Alternatively, the band prediction model construction unit 16 may construct a standard band prediction model. For example, when the viewing environment estimated by the viewing environment estimation unit 13 is a new one, the band prediction model construction unit 16 may perform band prediction using the standard band prediction model.
[0044] The band prediction model storage unit 17 stores band prediction models in association with each audio-visual environment.
[0045] The band prediction model selection unit 18 selects a band prediction model corresponding to the current viewing environment input from the viewing environment estimation unit 13 from among a plurality of band prediction models constructed by the band prediction model construction unit 16 and stored in the band prediction model storage unit 17. The band prediction model selection unit 18 may select a band prediction model when playback of the content starts, or may select a band prediction model corresponding to the viewing environment each time the viewing environment changes during streaming playback of the content.
[0046] The bandwidth prediction unit 19 predicts a bandwidth prediction value, which is a network bandwidth available for receiving the next segment, by inputting the bandwidth measurement value measured by the bandwidth measurement unit 14 into the bandwidth prediction model selected by the bandwidth prediction model selection unit 18. Then, the bandwidth prediction unit 19 outputs the bandwidth prediction value to the segment acquisition unit 20. The unit of the bandwidth prediction value is, for example, Mbps.
[0047] The segment acquisition unit 20 determines a segment to be acquired according to the bandwidth prediction value input from the bandwidth prediction unit 19 and the segment URL list input from the segment list storage unit 12. Then, it sends a request including the URL of the segment to the distribution server 2 via the communication I / F 10, receives the segment from the distribution server 2 via the communication I / F 10 as a response to the request, and outputs it to the buffer 21.
[0048] The buffer 21 sequentially outputs to the playback unit 22 the segments at the playback times requested by the playback unit 22 .
[0049] The playback unit 22 decodes and plays back the segments input from the buffer 21 in accordance with the media format (video, audio, text, etc.) of the segments, and displays them on a display provided in the receiving device 1.
[0050] (Segment reception method) Next, a segment reception method of the receiving device 1 will be described with reference to the flowchart in Fig. 4. The flowchart in Fig. 4 starts from a state in which streams of multiple bit rates are described in the manifest file, the manifest file has already been acquired by the manifest acquisition unit 11 from the distribution server 2, and a segment URL list for each stream bit rate has already been created. Also, the bandwidth measurement unit 14 temporarily stores the bandwidth measurement value measured each time a segment is received as a temporary bandwidth measurement value sequence.
[0051] In step S001, when a user of the receiving device 1 executes playback of an application, the current viewing environment is estimated by the viewing environment estimation unit 13. Then, it is determined whether the current viewing environment is identical to a known viewing environment estimated in the past. If it is identical to the known viewing environment (step S001-YES), the process proceeds to step S002, and if it is not identical to the known viewing environment (step S001-NO), the process proceeds to step S014.
[0052] The receiving device 1 may be configured to ask the user whether or not to optimize the bandwidth prediction model when reproducing an application. In this case, in step S001, it is also determined whether or not the user has requested optimization of the bandwidth prediction model. That is, if the viewing environment is the same as that estimated previously and the user has not requested optimization of the bandwidth prediction model (step S001-YES), the process proceeds to step S002. If the viewing environment is different from that estimated previously or the user has requested optimization of the bandwidth prediction model (step S001-NO), the process proceeds to step S014.
[0053] In step S002, the receiving device 1 determines whether or not it is time to start playing the application. If it is time to start playing (step S002-YES), the process proceeds to step S005, and if it is not time to start playing (step S002-NO), the process proceeds to step S003.
[0054] In step S005, the band prediction model selection unit 18 selects from the band prediction model storage unit 17 a band prediction model that corresponds to the current viewing environment (the viewing environment estimated by the viewing environment estimation unit 13).
[0055] In step S006, the bandwidth prediction unit 19 calculates a bandwidth prediction value, which is the network bandwidth available for receiving the next segment, using the temporary bandwidth measurement value sequence held by the bandwidth measurement unit 14 and the bandwidth prediction model selected in step S005. Note that if the bandwidth prediction value cannot be obtained, for example, if there is no value in the bandwidth measurement value temporary list, the bandwidth prediction value may be set to 0.
[0056] In step S007, the segment acquisition unit 20 compares the bandwidth prediction value determined in step S006 with the bit rate of the stream stored in the segment URL list, and extracts a segment URL list with a maximum bit rate that is equal to or less than the bandwidth prediction value, or if the bandwidth prediction value is smaller than all bit rates, extracts a segment URL list with a minimum bit rate.
[0057] In step S008, the segment acquisition unit 20 extracts the URL of the segment following the previously received segment (the first segment URL when playback starts) from the segment URL list extracted in step S007.
[0058] In step S009, the bandwidth measurement unit 14 starts bandwidth measurement.
[0059] In step S010, the segment acquisition unit 20 transmits a segment request including the URL of the segment extracted in step S008 to the distribution server 2, and receives the segment corresponding to the URL from the distribution server 2. Then, the playback unit 22 plays the video.
[0060] In step S011, the bandwidth measurement unit 14 calculates a bandwidth measurement value from the time taken to receive the segment and the number of bytes of the segment. Then, the bandwidth measurement unit 14 ends the bandwidth measurement and adds the calculated bandwidth measurement value to the temporary bandwidth measurement value string.
[0061] In step S012, the segment acquisition unit 20 determines whether all segments described in the segment URL have been acquired. Also, the receiving device 1 determines whether the user has stopped the application. If all segments described in the segment URL have been acquired or the user has stopped the application (step S012-YES), the process proceeds to step S013. If acquisition of the segments described in the segment URL has not been completed and the user has not stopped the application (step S012-NO), the process returns to step S001.
[0062] In step S013, the bandwidth measurement unit 14 outputs the bandwidth measurement value from the time when the viewing environment changed to the current one from the temporary bandwidth measurement value sequence to the bandwidth measurement value list management unit 15, and the receiving device 1 ends the segment reception process. The bandwidth measurement value list management unit 15 manages the bandwidth measurement value list by associating the temporary bandwidth measurement value sequence input from the bandwidth measurement unit 14 with the current viewing environment.
[0063] In step S003, it is determined whether or not the viewing environment has changed by the viewing environment estimation unit 13. If the viewing environment has changed from the previous viewing environment N-1 to the current viewing environment N (step S003-YES), the process proceeds to step S004, and if the viewing environment has not changed (step S003-NO), the process proceeds to step S006.
[0064] In step S004, the bandwidth measurement unit 14 outputs the bandwidth measurement values from the previous time when the viewing environment changed to N-1 to the present, from the temporary bandwidth measurement value sequence, to the bandwidth measurement value list management unit 15. The bandwidth measurement value list management unit 15 manages the bandwidth measurement value list by associating the temporary bandwidth measurement value sequence input from the bandwidth measurement unit 14 with the previous viewing environment N-1.
[0065] In step S014, the bandwidth prediction unit 19 determines a bandwidth prediction value using a standard bandwidth prediction model that has been constructed in advance. Then, the segment acquisition unit 20 acquires a segment, and the playback unit 22 plays back the video.
[0066] In step S015, the bandwidth measurement unit 14 calculates and collects bandwidth measurement values.
[0067] In step S016, when the amount of collected bandwidth measurement values exceeds a predetermined amount, the bandwidth measurement value list management unit 15 generates a bandwidth measurement value list, and the bandwidth prediction model construction unit 16 constructs a bandwidth prediction model.
[0068] In step S017, the band prediction model is stored in association with the viewing environment by the band prediction model storage unit 17. After that, the process proceeds to step S006.
[0069] Figures 5 and 6 show comparison results of bandwidth prediction by the receiving device 1 with conventional methods. Here, the receiving device 1 constructs a bandwidth prediction model using a sequence of bandwidth measurement values associated with the viewing environment "walking," and selects an ARIMA model with third-order autoregression (p=3), first-order difference (d=1), and ninth-order moving average (q=9). In Figure 5, the solid line indicates the actual measured bandwidth value, the dashed line indicates the bandwidth prediction result using the (3,1,9) ARIMA model, and the dashed-dotted line indicates the bandwidth prediction result using the conventional three-point moving average. Figure 6(a) shows an error histogram for the actual measured value of the prediction result using the (3,1,9) ARIMA model. Figure 6(b) shows an error histogram for the actual measured value of the prediction result using the three-point moving average. Figures 5 and 6 confirm that the prediction using the ARIMA model has higher prediction accuracy for the actual measured value than the prediction using the conventional three-point moving average.
[0070] In this way, according to the present invention, by using a bandwidth prediction model in content streaming playback, it is possible to accurately predict the bandwidth available for receiving the next segment without providing a separate bandwidth prediction device. In other words, since it is possible to accurately predict bandwidth fluctuations, it is possible to improve viewing stability.
[0071] It has also been proposed to use deep learning to predict bandwidth fluctuations, as disclosed in the following references. However, while deep learning-based bandwidth fluctuation predictions have high prediction accuracy, they require a large amount of calculations and a high load, making them difficult to implement in a receiving device. In this regard, the present invention incorporates time series analysis, making it possible to improve prediction accuracy with low-load processing without significantly increasing the calculation processing. Reference: A Machine Learning Approach to TCP Throughput Prediction SIGMETRICS, Proceedings of the 2007 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, June 2007, p.97-108.
[0072] (Variation) Next, a modified example of the bandwidth prediction unit 19 will be described. It is believed that in predicting bandwidth fluctuations, a positive prediction error, in which the predicted value of the available bandwidth falls below the actual measured value of the network, and a negative prediction error, in which the predicted value of the available bandwidth exceeds the actual measured value of the network, occur to the same extent. When a negative prediction error occurs, the bit rate of the selected video exceeds the actual used bandwidth, which may cause the next segment to not be received in time for playback, resulting in the buffer 21 of the receiving device 1 becoming depleted and playback halting. To improve viewing stability, it is desirable to predict the bandwidth available for receiving the next segment as accurately as possible without exceeding the actual measured value.
[0073] The band prediction model construction unit 16 constructs a band prediction model using a time series prediction method, but when the band suddenly drops, the band is overpredicted, resulting in a negative prediction error. Therefore, the band prediction unit 19 uses the lower limit of the credible interval of the predicted value to determine whether the band has suddenly dropped, and corrects the predicted value if the band suddenly drops. Note that in band prediction models such as the ARIMA model, SARIMA model, ARIMAX model, and SARIMAX model, a credible interval can be set for the predicted value. Specifically, the band prediction unit 19 uses the band measurement value y measured by the band measurement unit 14 as a t If the predicted value is smaller than the lower limit of the credible interval of the bandwidth prediction value predicted using the bandwidth prediction model, the bandwidth prediction value is corrected to the lower limit for a predetermined time (e.g., 3 seconds) or until the bandwidth exceeds a predetermined reference value. The algorithm for correcting the bandwidth prediction value to the lower limit for a predetermined time is shown in Equation (2).
[0074]
number
[0075] Y^ in equation (2) t+k is the predicted value after correction. t and σ^ t are the expected value and standard deviation of the band prediction value. n is a parameter that represents the width of the credible interval of the prediction value. In other words, y^ t -nσ^ t denotes the lower limit of the credible interval of the band prediction value. Note that when n = 1, it becomes a 68% credible interval, and when n = 2, it becomes a 95% credible interval. K is the number of prediction values to which correction is applied consecutively.
[0076] In the modified example, in step S006 shown in FIG. 4, the band prediction unit 19 temporarily uses the lower limit of the credible interval of the predicted value so that the predicted value of the band does not exceed the actual measured value, thereby reducing the negative prediction error.
[0077] Figure 7 shows an example of a bandwidth prediction value using the ARIMA model and a bandwidth prediction value corrected using equation (2). In Figure 7, the sampling period is set to 1 second and K = 3. In Figure 7, the solid line indicates the actual measured value of bandwidth, the dashed line indicates the bandwidth prediction result using the ARIMA model, the one-dot chain line indicates the bandwidth prediction result when n = 2 in equation (2), the two-dot chain line indicates the bandwidth prediction result when n = 1 in equation (2), and the dotted line indicates the bandwidth prediction result when n = 0.7 in equation (2).
[0078] FIG. 8 shows the mean absolute error (MAE) and mean negative prediction error (MNE) of each predicted value in the example shown in FIG. 7. The results show that correcting the bandwidth prediction value reduces the MAE and MNE. In this example, the MNE can be reduced, especially when n=1. Thus, according to this modification, it is possible to further improve the prediction accuracy of the available network bandwidth and reduce negative prediction errors.
[0079] (program) A computer capable of executing program instructions can also be used to function as the above-described receiving device 1. Here, the computer may be a general-purpose computer, a special-purpose computer, a workstation, a PC (Personal Computer), an electronic notepad, etc. The program instructions may be program code, code segments, etc. for performing the necessary tasks.
[0080] The computer includes a processor, a storage unit, an input unit, an output unit, and a communication interface. The processor may be a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an SoC (System on a Chip), or the like, and may be configured with multiple processors of the same or different types. The processor reads and executes programs from the storage unit to control the above components and perform various arithmetic processing. Note that at least a portion of these processing contents may be implemented by hardware. The input unit is an input interface that accepts user input operations and acquires information based on the user operations, such as a pointing device, keyboard, or mouse. The output unit is an output interface that outputs information, such as a display or speaker. The communication interface is an interface for communicating with external devices.
[0081] The program may be recorded on a computer-readable recording medium. Using such a recording medium, the program can be installed on a computer. Here, the recording medium on which the program is recorded may be a non-transitory recording medium. The non-transitory recording medium is not particularly limited, and may be, for example, a CD-ROM, a DVD-ROM, or a USB (Universal Serial Bus) memory. Furthermore, the program may be downloaded from an external device via a network.
[0082] Although the above-described embodiments have been described as typical examples, it will be apparent to those skilled in the art that many modifications and substitutions can be made within the spirit and scope of the present invention. Therefore, the present invention should not be construed as being limited by the above-described embodiments, and various modifications and changes can be made without departing from the scope of the claims. For example, with regard to the constituent blocks or processing steps described in the embodiments, multiple blocks or processing steps can be combined into one, or one block or processing step can be divided into multiple blocks. [Explanation of symbols]
[0083] 1. Receiving device 2. Distribution Server 3 Content Generation Device 10 Communication I / F 11 Manifest Acquisition Department 12 Segment list storage section 13. Viewing environment estimation unit 14 Bandwidth measurement unit 15 Bandwidth measurement value list management section 16 Bandwidth prediction model construction section 17 Bandwidth prediction model memory section 18 Bandwidth prediction model selection section 19 Bandwidth Prediction Unit 20 Segment Acquisition Unit 21 buffers 22 Playback Department 31 Raw video output section 32 Encoding section 33 Segmentation Unit 34 Manifest Generation Unit 35 Content Transmission Unit 36 Communication I / F
Claims
1. A receiving device, a bandwidth measurement unit that sequentially measures the current network bandwidth each time a segment is received during streaming playback of content and outputs the measured bandwidth; a viewing environment estimation unit that estimates a viewing environment including a moving speed or a position of the receiving device; a bandwidth measurement value list management unit that manages a bandwidth measurement value list in which a bandwidth measurement value sequence indicating a time variation of the bandwidth measurement value is associated with each of the audio-visual environments; a bandwidth prediction model construction unit that constructs a bandwidth prediction model for each of the audio-visual environments using the bandwidth measurement value list; a band prediction model selection unit that selects a band prediction model according to the viewing environment from the band prediction models constructed by the band prediction model construction unit; a bandwidth prediction unit that inputs the bandwidth measurement value into the bandwidth prediction model selected by the bandwidth prediction model selection unit and predicts a bandwidth prediction value that is a network bandwidth available for receiving the next segment; a segment acquisition unit that receives segments according to the bandwidth prediction value; Equipped with The bandwidth prediction model can set a credible interval for a predicted value, When the measured bandwidth value becomes smaller than a lower limit value of a credible interval of the predicted bandwidth prediction value, the bandwidth prediction unit corrects the predicted bandwidth value to the lower limit value.
2. The receiving device according to claim 1 , wherein the audio-visual environment estimating unit estimates a moving speed of the receiving device using an acceleration sensor.
3. The receiving device according to claim 1 , wherein the audio-visual environment estimation unit estimates the location of the receiving device using a GPS.
4. The receiving device according to claim 1 , wherein the band prediction model construction unit determines parameters that match the band measurement value sequence for each of the viewing environments using a time series prediction method, and constructs the band prediction model.
5. The receiving device according to claim 1 , wherein the bandwidth prediction model selection unit changes the bandwidth prediction model corresponding to the viewing environment each time the viewing environment changes during playback of the content.
6. A program for causing a computer to function as the receiving device according to any one of claims 1 to 5.
Citation Information
Patent Citations
Adaptive streaming of multimedia
JP2013509040A
Method and client device for receiving HTTP adaptive streaming video
JP2016506644A
Client device for acquiring content, content acquisition method and program
JP2018025939A
Terminal device, band prediction device, and program
JP2019220839A
Adaptive streamimg apparatus and method
KR1020050047920A